147 Commits

Author SHA1 Message Date
Chris Tate 3c03182503 Add native list item view kind
- Add list_item to manifest, runtime, platform enums, and desktop host rendering.

- Route list_item commands like native row selections across macOS, Linux, and Windows.

- Document the new view kind and expose it through TypeScript view APIs.
2026-06-27 19:42:30 -05:00
Chris Tate 95827f9c6b Fix package mirror check in CI 2026-06-27 02:27:49 -05:00
Chris Tate 3270b8a9f4 Add package framework sync check 2026-06-27 01:44:04 -05:00
Chris Tate b5fb32c4a9 Accept string selectors for view helpers
- Allow JS views.focus("label") and views.close("label") across desktop host bridges.

- Update TypeScript, docs, and build checks for injected helper parity.
2026-06-25 04:07:38 -05:00
Chris Tate d7c67cdec4 Support label-first view updates
- Add window.zero.views.update(label, patch) across injected host bridges

- Type and document the label-first helper form

- Guard the injected helper contract in build checks
2026-06-25 03:48:49 -05:00
Chris Tate 48b0235643 Add stable generic view ids
- Add ViewId to generic ViewInfo and bridge JSON

- Preserve runtime view identity across list and update paths

- Document and guard the public view identity contract
2026-06-25 03:46:56 -05:00
Chris Tate db9154fad1 Tighten generic WebView view types
- Require url and frame for WebView-backed view creation

- Guard the package type surface for generic view contracts
2026-06-25 03:35:19 -05:00
Chris Tate f96059b5bd Type command catalog bridge API
- Add package types for window.zero.commands.list

- Guard command catalog types in the root package check
2026-06-25 03:33:39 -05:00
Chris Tate 57e9259036 Add native view focus traversal
- Add runtime and bridge focusNext/focusPrevious traversal for visible enabled views
- Let system hosts focus WebView-backed generic view labels
- Document traversal commands and TypeScript helpers
2026-06-25 02:09:18 -05:00
Chris Tate a51707276d Reserve GPU surface support
- Add an explicit gpu_surfaces support query that returns false on current hosts
- Reject reserved gpu_surface view creation in the null runtime path
- Document the support selector in docs and TypeScript types
2026-06-25 02:01:53 -05:00
Chris Tate 5fdd0e63d4 Add native view accessibility labels
- Add explicit accessibility label metadata to manifests, runtime views, and WebView bridge helpers.

- Apply native labels through AppKit and GTK while preserving role/text fallback behavior.

- Update docs, examples, and public JS typings for the new field.
2026-06-25 01:52:36 -05:00
Chris Tate 7c038fa00e Refresh package positioning
- Align npm metadata with native-first framework positioning
2026-06-25 01:21:03 -05:00
Chris Tate 11f7605cfc Type platform support aliases
- Add camelCase platform feature aliases to the published TypeScript union

- Document the snake_case and camelCase support-query forms
2026-06-25 01:01:44 -05:00
Chris Tate 8034dd6b53 Refresh native-first positioning
- Reframe README around native surfaces

- Add native shell and capability concepts

- Align npm README with public docs
2026-06-25 00:13:08 -05:00
Chris Tate 7a4d40447e Expose WebView focus in JS types
- Add focused to WebView info typing

- Keep TypeScript surface aligned with bridge JSON
2026-06-25 00:11:10 -05:00
Chris Tate f561e62f12 Report focused native views
- Track focused view state per window

- Expose focus in view JSON and automation snapshots

- Update docs, types, and tests
2026-06-24 23:56:07 -05:00
Chris Tate 673a12ff0a Add icon button native controls
- Add icon_button view kind

- Implement desktop host mappings

- Cover docs, types, example, and tests
2026-06-24 23:46:37 -05:00
Chris Tate 4499e04729 Add segmented native controls
- Add segmented_control view kind

- Implement desktop native host mappings

- Cover docs, types, example, and layout tests
2026-06-24 23:40:23 -05:00
Chris Tate 497660f578 Add platform support discovery
- Add typed platform feature checks

- Expose support checks to the bridge

- Document runtime support queries
2026-06-24 23:31:48 -05:00
Chris Tate 916c4900b0 Route tray items through commands
- Add command names to tray menu items

- Preserve tray item ids on command events

- Validate and test tray command routing
2026-06-24 23:17:02 -05:00
Chris Tate 87caccaa76 Add native progress indicator view
- Adds progress_indicator to generic view kinds, shell manifests, TypeScript declarations, and bridge parsing aliases.

- Implements macOS system-WebView support with an indeterminate AppKit progress indicator.

- Documents the supported kind and covers shell layout/default sizing in runtime tests and the native-shell example.
2026-06-24 21:35:43 -05:00
Chris Tate fed7c7789c Add explicit native view text
- Adds a text field to generic native view create/update/list flows while preserving role fallback semantics.

- Wires text through AppKit native controls and all injected window.zero view helpers.

- Updates types, docs, examples, and runtime coverage for visible native labels/placeholders.
2026-06-24 21:30:48 -05:00
Chris Tate 01e1684fe8 Add native file drop events
- Add platform and runtime file-drop events with trusted window.zero drop:files emission.

- Implement macOS system WebView file URL drag/drop delivery through AppKit.

- Update TypeScript declarations, docs, native-shell handling, and runtime tests.
2026-06-24 21:19:40 -05:00
Chris Tate f1edbb098b Add typed clipboard capability
- Add MIME-aware clipboard runtime and guarded bridge commands alongside text clipboard compatibility.

- Implement macOS pasteboard support for text, HTML, and RTF while preserving text fallbacks on other hosts.

- Update TypeScript declarations, product docs, and unit coverage for clipboard policy and data handling.
2026-06-24 21:14:08 -05:00
Chris Tate 1aa2267b69 Advance native-first app model
- Add generic native view/shell APIs with command routing, automation snapshots, and a native-shell example.

- Add native OS capability coverage for notifications, external links, recent documents, and credentials with guarded bridge APIs.

- Update manifests, TypeScript declarations, product docs, and platform hosts for the new native-first surface.
2026-06-24 21:06:24 -05:00
Chris Tate 5400f35ade Prepare v0.3.0 release
- Bump zero-native package and CLI versions to 0.3.0

- Mark the 0.3.0 changelog entry for release automation
2026-06-24 18:14:21 -05:00
Chris Tate 670e8a488d Add keyboard shortcut support
- Add shortcut API, app.zon parsing, and runtime dispatch to Zig and JS listeners.

- Register app.zon shortcuts automatically from generated and example runners, with Zig overrides for dynamic lists.

- Document shortcut configuration and update package JavaScript typings.
2026-06-24 12:19:29 -05:00
Chris Tate 5b86c81088 Prepare 0.2.0 release 2026-05-13 11:30:40 -05:00
Chris Tate 5b5482d1d0 Add zero-native skills command
Serve richer built-in agent guidance from the CLI and expand the zero-native skills into a broader knowledge base for app architecture, native capabilities, packaging, debugging, and automation workflows.

Co-authored-by: EdwardXie <185573060+EdwardJoke@users.noreply.github.com>
2026-05-13 10:51:01 -05:00
Chris Tate 621aac75c9 Fix layered WebView review issues
Tighten backend error handling and WebView metadata so layered WebViews behave predictably across supported hosts.
2026-05-13 01:12:02 -05:00
Chris Tate 6696ba025b Fix layered WebView main routing 2026-05-12 17:40:50 -05:00
Chris Tate caf7f4e7d2 Add layered WebView stack support
Replace the overlay-specific API with named layered WebViews so trusted app chrome and isolated page content can compose cleanly in one native window.
2026-05-12 17:04:36 -05:00
Chris Tate f170efe046 fixes 2026-05-12 16:00:38 -05:00
Chris Tate 0bf993ccf6 Refine overlay WebView defaults and harden platform backends
Default windowId to the calling window instead of hardcoding 1,
cap overlay slots globally, document backend support matrix, and
polish the browser example with tab management and keyboard nav.
2026-05-12 15:41:35 -05:00
Chris Tate 750456ed13 Polish overlay WebView support and add browser example
Tighten overlay validation, backend behavior, and documentation so overlay WebViews behave consistently across supported hosts. Add a vanilla no-build browser example that uses overlay WebViews for page content.
2026-05-12 14:22:00 -05:00
Chris Tate e8616c246a Add first-class overlay WebView support
Expose overlay WebViews through the typed JS API, docs, examples, and runtime validation while wiring the native platform services so the feature behaves consistently across backends.
2026-05-12 13:51:36 -05:00
Chris Tate a478deed2c prepare v0.1.9 release 2026-05-08 21:15:32 -05:00
Chris Tate 8f80aab2f0 prepare v0.1.8 release 2026-05-08 20:19:48 -05:00
Chris Tate aacf40260f prepare v0.1.7 release 2026-05-08 20:09:05 -05:00
Chris Tate 14ccf1e39c prepare v0.1.6 release 2026-05-08 19:24:20 -05:00
Chris Tate dafa3f6360 prepare v0.1.5 release 2026-05-08 19:15:06 -05:00
Chris Tate 01260fb6fe prepare v0.1.4 release 2026-05-08 19:07:13 -05:00
Chris Tate ff195763ff prepare v0.1.3 release 2026-05-08 18:44:48 -05:00
Chris Tate f2d16737fd fix npm install native asset flow 2026-05-08 18:35:57 -05:00
Chris Tate 043d1f5606 prepare v0.1.1 release 2026-05-08 18:31:25 -05:00
Chris Tate 0dbd3e4bcf fix main CI failures 2026-05-08 18:07:03 -05:00
Chris Tate aba572866d init 2026-05-08 17:54:42 -05:00