@nonoun/native-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +105 -0
- package/dist/a2ui/a2ui-adapter.d.ts +50 -0
- package/dist/a2ui/a2ui-adapter.d.ts.map +1 -0
- package/dist/a2ui/a2ui-component-map.d.ts +41 -0
- package/dist/a2ui/a2ui-component-map.d.ts.map +1 -0
- package/dist/a2ui/a2ui-converter.d.ts +34 -0
- package/dist/a2ui/a2ui-converter.d.ts.map +1 -0
- package/dist/a2ui/a2ui-surface.d.ts +33 -0
- package/dist/a2ui/a2ui-surface.d.ts.map +1 -0
- package/dist/a2ui/a2ui-transport.d.ts +80 -0
- package/dist/a2ui/a2ui-transport.d.ts.map +1 -0
- package/dist/a2ui/a2ui-types.d.ts +104 -0
- package/dist/a2ui/a2ui-types.d.ts.map +1 -0
- package/dist/a2ui/index.d.ts +13 -0
- package/dist/a2ui/index.d.ts.map +1 -0
- package/dist/components/ui-accordion/index.d.ts +4 -0
- package/dist/components/ui-accordion/index.d.ts.map +1 -0
- package/dist/components/ui-accordion/ui-accordion-element.d.ts +18 -0
- package/dist/components/ui-accordion/ui-accordion-element.d.ts.map +1 -0
- package/dist/components/ui-accordion/ui-accordion-item-element.d.ts +18 -0
- package/dist/components/ui-accordion/ui-accordion-item-element.d.ts.map +1 -0
- package/dist/components/ui-accordion/ui-accordion.d.ts +4 -0
- package/dist/components/ui-accordion/ui-accordion.d.ts.map +1 -0
- package/dist/components/ui-avatar/index.d.ts +3 -0
- package/dist/components/ui-avatar/index.d.ts.map +1 -0
- package/dist/components/ui-avatar/ui-avatar-element.d.ts +20 -0
- package/dist/components/ui-avatar/ui-avatar-element.d.ts.map +1 -0
- package/dist/components/ui-avatar/ui-avatar.d.ts +3 -0
- package/dist/components/ui-avatar/ui-avatar.d.ts.map +1 -0
- package/dist/components/ui-badge/index.d.ts +3 -0
- package/dist/components/ui-badge/index.d.ts.map +1 -0
- package/dist/components/ui-badge/ui-badge-element.d.ts +13 -0
- package/dist/components/ui-badge/ui-badge-element.d.ts.map +1 -0
- package/dist/components/ui-badge/ui-badge.d.ts +3 -0
- package/dist/components/ui-badge/ui-badge.d.ts.map +1 -0
- package/dist/components/ui-breadcrumb/index.d.ts +4 -0
- package/dist/components/ui-breadcrumb/index.d.ts.map +1 -0
- package/dist/components/ui-breadcrumb/ui-breadcrumb-element.d.ts +8 -0
- package/dist/components/ui-breadcrumb/ui-breadcrumb-element.d.ts.map +1 -0
- package/dist/components/ui-breadcrumb/ui-breadcrumb-item-element.d.ts +15 -0
- package/dist/components/ui-breadcrumb/ui-breadcrumb-item-element.d.ts.map +1 -0
- package/dist/components/ui-breadcrumb/ui-breadcrumb.d.ts +4 -0
- package/dist/components/ui-breadcrumb/ui-breadcrumb.d.ts.map +1 -0
- package/dist/components/ui-button/index.d.ts +3 -0
- package/dist/components/ui-button/index.d.ts.map +1 -0
- package/dist/components/ui-button/ui-button-element.d.ts +391 -0
- package/dist/components/ui-button/ui-button-element.d.ts.map +1 -0
- package/dist/components/ui-button/ui-button.d.ts +3 -0
- package/dist/components/ui-button/ui-button.d.ts.map +1 -0
- package/dist/components/ui-calendar/calendar-store.d.ts +61 -0
- package/dist/components/ui-calendar/calendar-store.d.ts.map +1 -0
- package/dist/components/ui-calendar/index.d.ts +5 -0
- package/dist/components/ui-calendar/index.d.ts.map +1 -0
- package/dist/components/ui-calendar/ui-calendar-element.d.ts +400 -0
- package/dist/components/ui-calendar/ui-calendar-element.d.ts.map +1 -0
- package/dist/components/ui-calendar/ui-calendar.d.ts +3 -0
- package/dist/components/ui-calendar/ui-calendar.d.ts.map +1 -0
- package/dist/components/ui-chat/index.d.ts +3 -0
- package/dist/components/ui-chat/index.d.ts.map +1 -0
- package/dist/components/ui-chat/ui-chat-input-element.d.ts +21 -0
- package/dist/components/ui-chat/ui-chat-input-element.d.ts.map +1 -0
- package/dist/components/ui-chat/ui-chat-input.d.ts +3 -0
- package/dist/components/ui-chat/ui-chat-input.d.ts.map +1 -0
- package/dist/components/ui-checkbox/index.d.ts +3 -0
- package/dist/components/ui-checkbox/index.d.ts.map +1 -0
- package/dist/components/ui-checkbox/ui-checkbox-element.d.ts +402 -0
- package/dist/components/ui-checkbox/ui-checkbox-element.d.ts.map +1 -0
- package/dist/components/ui-checkbox/ui-checkbox.d.ts +3 -0
- package/dist/components/ui-checkbox/ui-checkbox.d.ts.map +1 -0
- package/dist/components/ui-combobox/index.d.ts +4 -0
- package/dist/components/ui-combobox/index.d.ts.map +1 -0
- package/dist/components/ui-combobox/ui-combobox-element.d.ts +408 -0
- package/dist/components/ui-combobox/ui-combobox-element.d.ts.map +1 -0
- package/dist/components/ui-combobox/ui-combobox.d.ts +3 -0
- package/dist/components/ui-combobox/ui-combobox.d.ts.map +1 -0
- package/dist/components/ui-command/index.d.ts +13 -0
- package/dist/components/ui-command/index.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-element.d.ts +21 -0
- package/dist/components/ui-command/ui-command-element.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-empty-element.d.ts +5 -0
- package/dist/components/ui-command/ui-command-empty-element.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-empty.d.ts +3 -0
- package/dist/components/ui-command/ui-command-empty.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-group-element.d.ts +6 -0
- package/dist/components/ui-command/ui-command-group-element.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-group.d.ts +3 -0
- package/dist/components/ui-command/ui-command-group.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-input-element.d.ts +14 -0
- package/dist/components/ui-command/ui-command-input-element.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-input.d.ts +3 -0
- package/dist/components/ui-command/ui-command-input.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-item-element.d.ts +25 -0
- package/dist/components/ui-command/ui-command-item-element.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-item.d.ts +3 -0
- package/dist/components/ui-command/ui-command-item.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-list-element.d.ts +6 -0
- package/dist/components/ui-command/ui-command-list-element.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command-list.d.ts +3 -0
- package/dist/components/ui-command/ui-command-list.d.ts.map +1 -0
- package/dist/components/ui-command/ui-command.d.ts +8 -0
- package/dist/components/ui-command/ui-command.d.ts.map +1 -0
- package/dist/components/ui-controller/index.d.ts +3 -0
- package/dist/components/ui-controller/index.d.ts.map +1 -0
- package/dist/components/ui-controller/ui-controller-element.d.ts +18 -0
- package/dist/components/ui-controller/ui-controller-element.d.ts.map +1 -0
- package/dist/components/ui-controller/ui-controller.d.ts +2 -0
- package/dist/components/ui-controller/ui-controller.d.ts.map +1 -0
- package/dist/components/ui-dialog/index.d.ts +3 -0
- package/dist/components/ui-dialog/index.d.ts.map +1 -0
- package/dist/components/ui-dialog/ui-dialog-element.d.ts +17 -0
- package/dist/components/ui-dialog/ui-dialog-element.d.ts.map +1 -0
- package/dist/components/ui-dialog/ui-dialog.d.ts +3 -0
- package/dist/components/ui-dialog/ui-dialog.d.ts.map +1 -0
- package/dist/components/ui-drawer/index.d.ts +3 -0
- package/dist/components/ui-drawer/index.d.ts.map +1 -0
- package/dist/components/ui-drawer/ui-drawer-element.d.ts +18 -0
- package/dist/components/ui-drawer/ui-drawer-element.d.ts.map +1 -0
- package/dist/components/ui-drawer/ui-drawer.d.ts +3 -0
- package/dist/components/ui-drawer/ui-drawer.d.ts.map +1 -0
- package/dist/components/ui-field/index.d.ts +3 -0
- package/dist/components/ui-field/index.d.ts.map +1 -0
- package/dist/components/ui-field/ui-field-element.d.ts +14 -0
- package/dist/components/ui-field/ui-field-element.d.ts.map +1 -0
- package/dist/components/ui-field/ui-field.d.ts +3 -0
- package/dist/components/ui-field/ui-field.d.ts.map +1 -0
- package/dist/components/ui-input/index.d.ts +3 -0
- package/dist/components/ui-input/index.d.ts.map +1 -0
- package/dist/components/ui-input/ui-input-element.d.ts +404 -0
- package/dist/components/ui-input/ui-input-element.d.ts.map +1 -0
- package/dist/components/ui-input/ui-input.d.ts +3 -0
- package/dist/components/ui-input/ui-input.d.ts.map +1 -0
- package/dist/components/ui-input-otp/index.d.ts +3 -0
- package/dist/components/ui-input-otp/index.d.ts.map +1 -0
- package/dist/components/ui-input-otp/ui-input-otp-element.d.ts +399 -0
- package/dist/components/ui-input-otp/ui-input-otp-element.d.ts.map +1 -0
- package/dist/components/ui-input-otp/ui-input-otp.d.ts +3 -0
- package/dist/components/ui-input-otp/ui-input-otp.d.ts.map +1 -0
- package/dist/components/ui-listbox/index.d.ts +9 -0
- package/dist/components/ui-listbox/index.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-listbox-element.d.ts +29 -0
- package/dist/components/ui-listbox/ui-listbox-element.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-listbox.d.ts +5 -0
- package/dist/components/ui-listbox/ui-listbox.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-option-element.d.ts +23 -0
- package/dist/components/ui-listbox/ui-option-element.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-option-group-element.d.ts +6 -0
- package/dist/components/ui-listbox/ui-option-group-element.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-option-group-header-element.d.ts +7 -0
- package/dist/components/ui-listbox/ui-option-group-header-element.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-option-group-header.d.ts +3 -0
- package/dist/components/ui-listbox/ui-option-group-header.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-option-group.d.ts +3 -0
- package/dist/components/ui-listbox/ui-option-group.d.ts.map +1 -0
- package/dist/components/ui-listbox/ui-option.d.ts +3 -0
- package/dist/components/ui-listbox/ui-option.d.ts.map +1 -0
- package/dist/components/ui-nav/index.d.ts +6 -0
- package/dist/components/ui-nav/index.d.ts.map +1 -0
- package/dist/components/ui-nav/ui-nav-element.d.ts +20 -0
- package/dist/components/ui-nav/ui-nav-element.d.ts.map +1 -0
- package/dist/components/ui-nav/ui-nav-group-element.d.ts +16 -0
- package/dist/components/ui-nav/ui-nav-group-element.d.ts.map +1 -0
- package/dist/components/ui-nav/ui-nav-group-header-element.d.ts +7 -0
- package/dist/components/ui-nav/ui-nav-group-header-element.d.ts.map +1 -0
- package/dist/components/ui-nav/ui-nav-item-element.d.ts +23 -0
- package/dist/components/ui-nav/ui-nav-item-element.d.ts.map +1 -0
- package/dist/components/ui-nav/ui-nav.d.ts +2 -0
- package/dist/components/ui-nav/ui-nav.d.ts.map +1 -0
- package/dist/components/ui-pagination/index.d.ts +3 -0
- package/dist/components/ui-pagination/index.d.ts.map +1 -0
- package/dist/components/ui-pagination/ui-pagination-element.d.ts +29 -0
- package/dist/components/ui-pagination/ui-pagination-element.d.ts.map +1 -0
- package/dist/components/ui-pagination/ui-pagination.d.ts +5 -0
- package/dist/components/ui-pagination/ui-pagination.d.ts.map +1 -0
- package/dist/components/ui-radio/index.d.ts +4 -0
- package/dist/components/ui-radio/index.d.ts.map +1 -0
- package/dist/components/ui-radio/ui-radio-element.d.ts +21 -0
- package/dist/components/ui-radio/ui-radio-element.d.ts.map +1 -0
- package/dist/components/ui-radio/ui-radio-group-element.d.ts +397 -0
- package/dist/components/ui-radio/ui-radio-group-element.d.ts.map +1 -0
- package/dist/components/ui-radio/ui-radio.d.ts +4 -0
- package/dist/components/ui-radio/ui-radio.d.ts.map +1 -0
- package/dist/components/ui-range/index.d.ts +3 -0
- package/dist/components/ui-range/index.d.ts.map +1 -0
- package/dist/components/ui-range/ui-range-element.d.ts +403 -0
- package/dist/components/ui-range/ui-range-element.d.ts.map +1 -0
- package/dist/components/ui-range/ui-range.d.ts +3 -0
- package/dist/components/ui-range/ui-range.d.ts.map +1 -0
- package/dist/components/ui-segmented-control/index.d.ts +4 -0
- package/dist/components/ui-segmented-control/index.d.ts.map +1 -0
- package/dist/components/ui-segmented-control/ui-segment-element.d.ts +21 -0
- package/dist/components/ui-segmented-control/ui-segment-element.d.ts.map +1 -0
- package/dist/components/ui-segmented-control/ui-segmented-control-element.d.ts +395 -0
- package/dist/components/ui-segmented-control/ui-segmented-control-element.d.ts.map +1 -0
- package/dist/components/ui-segmented-control/ui-segmented-control.d.ts +4 -0
- package/dist/components/ui-segmented-control/ui-segmented-control.d.ts.map +1 -0
- package/dist/components/ui-select/index.d.ts +4 -0
- package/dist/components/ui-select/index.d.ts.map +1 -0
- package/dist/components/ui-select/select-controller.d.ts +12 -0
- package/dist/components/ui-select/select-controller.d.ts.map +1 -0
- package/dist/components/ui-select/ui-select-element.d.ts +408 -0
- package/dist/components/ui-select/ui-select-element.d.ts.map +1 -0
- package/dist/components/ui-select/ui-select.d.ts +4 -0
- package/dist/components/ui-select/ui-select.d.ts.map +1 -0
- package/dist/components/ui-slideshow/index.d.ts +4 -0
- package/dist/components/ui-slideshow/index.d.ts.map +1 -0
- package/dist/components/ui-slideshow/ui-slide-element.d.ts +6 -0
- package/dist/components/ui-slideshow/ui-slide-element.d.ts.map +1 -0
- package/dist/components/ui-slideshow/ui-slideshow-element.d.ts +28 -0
- package/dist/components/ui-slideshow/ui-slideshow-element.d.ts.map +1 -0
- package/dist/components/ui-slideshow/ui-slideshow.d.ts +4 -0
- package/dist/components/ui-slideshow/ui-slideshow.d.ts.map +1 -0
- package/dist/components/ui-switch/index.d.ts +3 -0
- package/dist/components/ui-switch/index.d.ts.map +1 -0
- package/dist/components/ui-switch/ui-switch-element.d.ts +396 -0
- package/dist/components/ui-switch/ui-switch-element.d.ts.map +1 -0
- package/dist/components/ui-switch/ui-switch.d.ts +3 -0
- package/dist/components/ui-switch/ui-switch.d.ts.map +1 -0
- package/dist/components/ui-table/column-resize-controller.d.ts +13 -0
- package/dist/components/ui-table/column-resize-controller.d.ts.map +1 -0
- package/dist/components/ui-table/index.d.ts +12 -0
- package/dist/components/ui-table/index.d.ts.map +1 -0
- package/dist/components/ui-table/table-drag-controller.d.ts +12 -0
- package/dist/components/ui-table/table-drag-controller.d.ts.map +1 -0
- package/dist/components/ui-table/table-store.d.ts +24 -0
- package/dist/components/ui-table/table-store.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table-body-element.d.ts +7 -0
- package/dist/components/ui-table/ui-table-body-element.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table-cell-element.d.ts +7 -0
- package/dist/components/ui-table/ui-table-cell-element.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table-element.d.ts +22 -0
- package/dist/components/ui-table/ui-table-element.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table-head-element.d.ts +7 -0
- package/dist/components/ui-table/ui-table-head-element.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table-header-element.d.ts +19 -0
- package/dist/components/ui-table/ui-table-header-element.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table-row-element.d.ts +18 -0
- package/dist/components/ui-table/ui-table-row-element.d.ts.map +1 -0
- package/dist/components/ui-table/ui-table.d.ts +8 -0
- package/dist/components/ui-table/ui-table.d.ts.map +1 -0
- package/dist/components/ui-tabs/index.d.ts +6 -0
- package/dist/components/ui-tabs/index.d.ts.map +1 -0
- package/dist/components/ui-tabs/ui-tab-element.d.ts +21 -0
- package/dist/components/ui-tabs/ui-tab-element.d.ts.map +1 -0
- package/dist/components/ui-tabs/ui-tab-panel-element.d.ts +14 -0
- package/dist/components/ui-tabs/ui-tab-panel-element.d.ts.map +1 -0
- package/dist/components/ui-tabs/ui-tab-panels-element.d.ts +7 -0
- package/dist/components/ui-tabs/ui-tab-panels-element.d.ts.map +1 -0
- package/dist/components/ui-tabs/ui-tabs-element.d.ts +21 -0
- package/dist/components/ui-tabs/ui-tabs-element.d.ts.map +1 -0
- package/dist/components/ui-tabs/ui-tabs.d.ts +6 -0
- package/dist/components/ui-tabs/ui-tabs.d.ts.map +1 -0
- package/dist/components/ui-textarea/index.d.ts +3 -0
- package/dist/components/ui-textarea/index.d.ts.map +1 -0
- package/dist/components/ui-textarea/ui-textarea-element.d.ts +406 -0
- package/dist/components/ui-textarea/ui-textarea-element.d.ts.map +1 -0
- package/dist/components/ui-textarea/ui-textarea.d.ts +3 -0
- package/dist/components/ui-textarea/ui-textarea.d.ts.map +1 -0
- package/dist/components/ui-tooltip/index.d.ts +3 -0
- package/dist/components/ui-tooltip/index.d.ts.map +1 -0
- package/dist/components/ui-tooltip/ui-tooltip-element.d.ts +22 -0
- package/dist/components/ui-tooltip/ui-tooltip-element.d.ts.map +1 -0
- package/dist/components/ui-tooltip/ui-tooltip.d.ts +3 -0
- package/dist/components/ui-tooltip/ui-tooltip.d.ts.map +1 -0
- package/dist/components/ui-tree/index.d.ts +4 -0
- package/dist/components/ui-tree/index.d.ts.map +1 -0
- package/dist/components/ui-tree/ui-tree-element.d.ts +16 -0
- package/dist/components/ui-tree/ui-tree-element.d.ts.map +1 -0
- package/dist/components/ui-tree/ui-tree-item-element.d.ts +18 -0
- package/dist/components/ui-tree/ui-tree-item-element.d.ts.map +1 -0
- package/dist/components/ui-tree/ui-tree.d.ts +5 -0
- package/dist/components/ui-tree/ui-tree.d.ts.map +1 -0
- package/dist/components-lean.css +5107 -0
- package/dist/components.css +5183 -0
- package/dist/containers/ui-card/index.d.ts +3 -0
- package/dist/containers/ui-card/index.d.ts.map +1 -0
- package/dist/containers/ui-card/ui-card-element.d.ts +13 -0
- package/dist/containers/ui-card/ui-card-element.d.ts.map +1 -0
- package/dist/containers/ui-card/ui-card.d.ts +3 -0
- package/dist/containers/ui-card/ui-card.d.ts.map +1 -0
- package/dist/containers/ui-layout-chat/index.d.ts +3 -0
- package/dist/containers/ui-layout-chat/index.d.ts.map +1 -0
- package/dist/containers/ui-layout-chat/ui-layout-chat-element.d.ts +14 -0
- package/dist/containers/ui-layout-chat/ui-layout-chat-element.d.ts.map +1 -0
- package/dist/containers/ui-layout-chat/ui-layout-chat.d.ts +3 -0
- package/dist/containers/ui-layout-chat/ui-layout-chat.d.ts.map +1 -0
- package/dist/containers/ui-layout-inspector/index.d.ts +3 -0
- package/dist/containers/ui-layout-inspector/index.d.ts.map +1 -0
- package/dist/containers/ui-layout-inspector/ui-layout-inspector-element.d.ts +14 -0
- package/dist/containers/ui-layout-inspector/ui-layout-inspector-element.d.ts.map +1 -0
- package/dist/containers/ui-layout-inspector/ui-layout-inspector.d.ts +3 -0
- package/dist/containers/ui-layout-inspector/ui-layout-inspector.d.ts.map +1 -0
- package/dist/containers/ui-layout-sidebar/index.d.ts +4 -0
- package/dist/containers/ui-layout-sidebar/index.d.ts.map +1 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-element.d.ts +8 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-element.d.ts.map +1 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-trigger-element.d.ts +8 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-trigger-element.d.ts.map +1 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-trigger.d.ts +3 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar-trigger.d.ts.map +1 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar.d.ts +4 -0
- package/dist/containers/ui-layout-sidebar/ui-layout-sidebar.d.ts.map +1 -0
- package/dist/containers/ui-section/index.d.ts +3 -0
- package/dist/containers/ui-section/index.d.ts.map +1 -0
- package/dist/containers/ui-section/ui-section-element.d.ts +14 -0
- package/dist/containers/ui-section/ui-section-element.d.ts.map +1 -0
- package/dist/containers/ui-section/ui-section.d.ts +3 -0
- package/dist/containers/ui-section/ui-section.d.ts.map +1 -0
- package/dist/containers/ui-toolbar/index.d.ts +3 -0
- package/dist/containers/ui-toolbar/index.d.ts.map +1 -0
- package/dist/containers/ui-toolbar/ui-toolbar-element.d.ts +9 -0
- package/dist/containers/ui-toolbar/ui-toolbar-element.d.ts.map +1 -0
- package/dist/containers/ui-toolbar/ui-toolbar.d.ts +3 -0
- package/dist/containers/ui-toolbar/ui-toolbar.d.ts.map +1 -0
- package/dist/core/context.d.ts +731 -0
- package/dist/core/context.d.ts.map +1 -0
- package/dist/core/data-list.d.ts +42 -0
- package/dist/core/data-list.d.ts.map +1 -0
- package/dist/core/data-options.d.ts +18 -0
- package/dist/core/data-options.d.ts.map +1 -0
- package/dist/core/define.d.ts +2 -0
- package/dist/core/define.d.ts.map +1 -0
- package/dist/core/effects.d.ts +5 -0
- package/dist/core/effects.d.ts.map +1 -0
- package/dist/core/form-associable.d.ts +391 -0
- package/dist/core/form-associable.d.ts.map +1 -0
- package/dist/core/gesture-router.d.ts +36 -0
- package/dist/core/gesture-router.d.ts.map +1 -0
- package/dist/core/index.d.ts +21 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/reactive-prop.d.ts +62 -0
- package/dist/core/reactive-prop.d.ts.map +1 -0
- package/dist/core/trait-options.d.ts +18 -0
- package/dist/core/trait-options.d.ts.map +1 -0
- package/dist/core/trait-registry.d.ts +11 -0
- package/dist/core/trait-registry.d.ts.map +1 -0
- package/dist/core/trait-runtime.d.ts +37 -0
- package/dist/core/trait-runtime.d.ts.map +1 -0
- package/dist/core/types.d.ts +9 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/ui-element.d.ts +17 -0
- package/dist/core/ui-element.d.ts.map +1 -0
- package/dist/core/uid.d.ts +2 -0
- package/dist/core/uid.d.ts.map +1 -0
- package/dist/custom-elements.json +21202 -0
- package/dist/dialog-controller.js +754 -0
- package/dist/events.d.ts +168 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/foundation.css +2003 -0
- package/dist/icons/icons.d.ts +30 -0
- package/dist/icons/icons.d.ts.map +1 -0
- package/dist/icons/index.d.ts +4 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/registry.d.ts +4 -0
- package/dist/icons/registry.d.ts.map +1 -0
- package/dist/icons/ui-icon-element.d.ts +15 -0
- package/dist/icons/ui-icon-element.d.ts.map +1 -0
- package/dist/icons/ui-icon.d.ts +3 -0
- package/dist/icons/ui-icon.d.ts.map +1 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/kernel/accessibility.d.ts +15 -0
- package/dist/kernel/accessibility.d.ts.map +1 -0
- package/dist/kernel/command-bus.d.ts +13 -0
- package/dist/kernel/command-bus.d.ts.map +1 -0
- package/dist/kernel/command-history.d.ts +18 -0
- package/dist/kernel/command-history.d.ts.map +1 -0
- package/dist/kernel/components.d.ts +26 -0
- package/dist/kernel/components.d.ts.map +1 -0
- package/dist/kernel/data-binding.d.ts +33 -0
- package/dist/kernel/data-binding.d.ts.map +1 -0
- package/dist/kernel/data-runtime.d.ts +43 -0
- package/dist/kernel/data-runtime.d.ts.map +1 -0
- package/dist/kernel/executor.d.ts +16 -0
- package/dist/kernel/executor.d.ts.map +1 -0
- package/dist/kernel/focus-router.d.ts +13 -0
- package/dist/kernel/focus-router.d.ts.map +1 -0
- package/dist/kernel/index.d.ts +32 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/kernel.d.ts +44 -0
- package/dist/kernel/kernel.d.ts.map +1 -0
- package/dist/kernel/observability.d.ts +58 -0
- package/dist/kernel/observability.d.ts.map +1 -0
- package/dist/kernel/overlay-manager.d.ts +21 -0
- package/dist/kernel/overlay-manager.d.ts.map +1 -0
- package/dist/kernel/patch.d.ts +59 -0
- package/dist/kernel/patch.d.ts.map +1 -0
- package/dist/kernel/planner.d.ts +151 -0
- package/dist/kernel/planner.d.ts.map +1 -0
- package/dist/kernel/policy.d.ts +58 -0
- package/dist/kernel/policy.d.ts.map +1 -0
- package/dist/kernel/schema-catalog.d.ts +54 -0
- package/dist/kernel/schema-catalog.d.ts.map +1 -0
- package/dist/kernel/schema.d.ts +6 -0
- package/dist/kernel/schema.d.ts.map +1 -0
- package/dist/kernel/types.d.ts +81 -0
- package/dist/kernel/types.d.ts.map +1 -0
- package/dist/kernel/workflow-templates.d.ts +22 -0
- package/dist/kernel/workflow-templates.d.ts.map +1 -0
- package/dist/kernel/workflow.d.ts +70 -0
- package/dist/kernel/workflow.d.ts.map +1 -0
- package/dist/kernel.d.ts +27 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +4137 -0
- package/dist/native-ui-lean.css +7111 -0
- package/dist/native-ui.css +7187 -0
- package/dist/native-ui.js +75 -0
- package/dist/reactivity/batch.d.ts +2 -0
- package/dist/reactivity/batch.d.ts.map +1 -0
- package/dist/reactivity/computed.d.ts +3 -0
- package/dist/reactivity/computed.d.ts.map +1 -0
- package/dist/reactivity/debug.d.ts +5 -0
- package/dist/reactivity/debug.d.ts.map +1 -0
- package/dist/reactivity/effect.d.ts +3 -0
- package/dist/reactivity/effect.d.ts.map +1 -0
- package/dist/reactivity/graph.d.ts +35 -0
- package/dist/reactivity/graph.d.ts.map +1 -0
- package/dist/reactivity/index.d.ts +8 -0
- package/dist/reactivity/index.d.ts.map +1 -0
- package/dist/reactivity/signal.d.ts +3 -0
- package/dist/reactivity/signal.d.ts.map +1 -0
- package/dist/reactivity/types.d.ts +18 -0
- package/dist/reactivity/types.d.ts.map +1 -0
- package/dist/reactivity/untrack.d.ts +2 -0
- package/dist/reactivity/untrack.d.ts.map +1 -0
- package/dist/register-all.d.ts +11 -0
- package/dist/register-all.d.ts.map +1 -0
- package/dist/register-all.js +3 -0
- package/dist/register-all2.js +1244 -0
- package/dist/traits/adapters/clippable-adapter.d.ts +4 -0
- package/dist/traits/adapters/clippable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/collapsible-adapter.d.ts +4 -0
- package/dist/traits/adapters/collapsible-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/copyable-adapter.d.ts +4 -0
- package/dist/traits/adapters/copyable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/dialogable-adapter.d.ts +4 -0
- package/dist/traits/adapters/dialogable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/dismissable-adapter.d.ts +4 -0
- package/dist/traits/adapters/dismissable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/draggable-adapter.d.ts +4 -0
- package/dist/traits/adapters/draggable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/droppable-adapter.d.ts +4 -0
- package/dist/traits/adapters/droppable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/editable-adapter.d.ts +4 -0
- package/dist/traits/adapters/editable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/focus-trappable-adapter.d.ts +4 -0
- package/dist/traits/adapters/focus-trappable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/hoverable-adapter.d.ts +4 -0
- package/dist/traits/adapters/hoverable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/index.d.ts +25 -0
- package/dist/traits/adapters/index.d.ts.map +1 -0
- package/dist/traits/adapters/intersectable-adapter.d.ts +4 -0
- package/dist/traits/adapters/intersectable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/list-navigable-adapter.d.ts +4 -0
- package/dist/traits/adapters/list-navigable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/popoverable-adapter.d.ts +4 -0
- package/dist/traits/adapters/popoverable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/pressable-adapter.d.ts +4 -0
- package/dist/traits/adapters/pressable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/range-selectable-adapter.d.ts +4 -0
- package/dist/traits/adapters/range-selectable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/resizable-adapter.d.ts +4 -0
- package/dist/traits/adapters/resizable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/roving-focusable-adapter.d.ts +4 -0
- package/dist/traits/adapters/roving-focusable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/searchable-adapter.d.ts +4 -0
- package/dist/traits/adapters/searchable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/selectable-adapter.d.ts +4 -0
- package/dist/traits/adapters/selectable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/sortable-adapter.d.ts +4 -0
- package/dist/traits/adapters/sortable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/swipeable-adapter.d.ts +4 -0
- package/dist/traits/adapters/swipeable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/toastable-adapter.d.ts +4 -0
- package/dist/traits/adapters/toastable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/validatable-adapter.d.ts +4 -0
- package/dist/traits/adapters/validatable-adapter.d.ts.map +1 -0
- package/dist/traits/adapters/virtualizable-adapter.d.ts +4 -0
- package/dist/traits/adapters/virtualizable-adapter.d.ts.map +1 -0
- package/dist/traits/clipboard-controller.d.ts +24 -0
- package/dist/traits/clipboard-controller.d.ts.map +1 -0
- package/dist/traits/collapsible-controller.d.ts +17 -0
- package/dist/traits/collapsible-controller.d.ts.map +1 -0
- package/dist/traits/copy-controller.d.ts +15 -0
- package/dist/traits/copy-controller.d.ts.map +1 -0
- package/dist/traits/dialog-controller.d.ts +14 -0
- package/dist/traits/dialog-controller.d.ts.map +1 -0
- package/dist/traits/dismiss-controller.d.ts +10 -0
- package/dist/traits/dismiss-controller.d.ts.map +1 -0
- package/dist/traits/drag-controller.d.ts +22 -0
- package/dist/traits/drag-controller.d.ts.map +1 -0
- package/dist/traits/drop-zone-controller.d.ts +18 -0
- package/dist/traits/drop-zone-controller.d.ts.map +1 -0
- package/dist/traits/edit-controller.d.ts +22 -0
- package/dist/traits/edit-controller.d.ts.map +1 -0
- package/dist/traits/focus-trap-controller.d.ts +10 -0
- package/dist/traits/focus-trap-controller.d.ts.map +1 -0
- package/dist/traits/hover-controller.d.ts +18 -0
- package/dist/traits/hover-controller.d.ts.map +1 -0
- package/dist/traits/index.d.ts +71 -0
- package/dist/traits/index.d.ts.map +1 -0
- package/dist/traits/intersect-controller.d.ts +22 -0
- package/dist/traits/intersect-controller.d.ts.map +1 -0
- package/dist/traits/list-navigate-controller.d.ts +36 -0
- package/dist/traits/list-navigate-controller.d.ts.map +1 -0
- package/dist/traits/popover-controller.d.ts +10 -0
- package/dist/traits/popover-controller.d.ts.map +1 -0
- package/dist/traits/press-controller.d.ts +14 -0
- package/dist/traits/press-controller.d.ts.map +1 -0
- package/dist/traits/range-select-controller.d.ts +19 -0
- package/dist/traits/range-select-controller.d.ts.map +1 -0
- package/dist/traits/register-all.d.ts +6 -0
- package/dist/traits/register-all.d.ts.map +1 -0
- package/dist/traits/resize-controller.d.ts +25 -0
- package/dist/traits/resize-controller.d.ts.map +1 -0
- package/dist/traits/roving-focus-controller.d.ts +20 -0
- package/dist/traits/roving-focus-controller.d.ts.map +1 -0
- package/dist/traits/search-controller.d.ts +26 -0
- package/dist/traits/search-controller.d.ts.map +1 -0
- package/dist/traits/selection-controller.d.ts +28 -0
- package/dist/traits/selection-controller.d.ts.map +1 -0
- package/dist/traits/sort-controller.d.ts +19 -0
- package/dist/traits/sort-controller.d.ts.map +1 -0
- package/dist/traits/swipe-controller.d.ts +24 -0
- package/dist/traits/swipe-controller.d.ts.map +1 -0
- package/dist/traits/toast-controller.d.ts +12 -0
- package/dist/traits/toast-controller.d.ts.map +1 -0
- package/dist/traits/validate-controller.d.ts +24 -0
- package/dist/traits/validate-controller.d.ts.map +1 -0
- package/dist/traits/virtual-scroll-controller.d.ts +19 -0
- package/dist/traits/virtual-scroll-controller.d.ts.map +1 -0
- package/dist/traits-entry.d.ts +15 -0
- package/dist/traits-entry.d.ts.map +1 -0
- package/dist/traits.js +4 -0
- package/dist/ui-icon-element.js +4405 -0
- package/dist/uid.js +147 -0
- package/package.json +86 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ReadonlySignal } from '../reactivity/types.ts';
|
|
2
|
+
import type { Command, CommandSource } from './types.ts';
|
|
3
|
+
export interface LogEntry {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly timestamp: number;
|
|
6
|
+
readonly category: 'command' | 'plan' | 'patch' | 'overlay' | 'focus' | 'error';
|
|
7
|
+
readonly source: CommandSource;
|
|
8
|
+
readonly summary: string;
|
|
9
|
+
readonly data?: unknown;
|
|
10
|
+
readonly planId?: string;
|
|
11
|
+
readonly commandId?: string;
|
|
12
|
+
readonly duration?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface LogFilter {
|
|
15
|
+
readonly category?: LogEntry['category'];
|
|
16
|
+
readonly source?: CommandSource;
|
|
17
|
+
readonly planId?: string;
|
|
18
|
+
readonly since?: number;
|
|
19
|
+
readonly limit?: number;
|
|
20
|
+
}
|
|
21
|
+
export declare class EventLog {
|
|
22
|
+
#private;
|
|
23
|
+
readonly entries: ReadonlySignal<readonly LogEntry[]>;
|
|
24
|
+
readonly size: ReadonlySignal<number>;
|
|
25
|
+
log(entry: Omit<LogEntry, 'id' | 'timestamp'>): LogEntry;
|
|
26
|
+
query(filter: LogFilter): readonly LogEntry[];
|
|
27
|
+
clear(): void;
|
|
28
|
+
setMaxSize(n: number): void;
|
|
29
|
+
logCommand(command: Command): LogEntry;
|
|
30
|
+
logPlan(planId: string, action: 'execute' | 'teardown' | 'patch', source: CommandSource, data?: unknown): LogEntry;
|
|
31
|
+
logError(error: Error, context?: {
|
|
32
|
+
readonly planId?: string;
|
|
33
|
+
readonly commandId?: string;
|
|
34
|
+
}): LogEntry;
|
|
35
|
+
}
|
|
36
|
+
export declare function createEventLog(maxSize?: number): EventLog;
|
|
37
|
+
export interface PerfSample {
|
|
38
|
+
readonly label: string;
|
|
39
|
+
readonly duration: number;
|
|
40
|
+
readonly timestamp: number;
|
|
41
|
+
}
|
|
42
|
+
export declare class PerfMetrics {
|
|
43
|
+
#private;
|
|
44
|
+
readonly samples: ReadonlySignal<readonly PerfSample[]>;
|
|
45
|
+
measure<T>(label: string, fn: () => T): T;
|
|
46
|
+
measureAsync<T>(label: string, fn: () => Promise<T>): Promise<T>;
|
|
47
|
+
getSummary(label: string): {
|
|
48
|
+
count: number;
|
|
49
|
+
min: number;
|
|
50
|
+
max: number;
|
|
51
|
+
avg: number;
|
|
52
|
+
p95: number;
|
|
53
|
+
} | null;
|
|
54
|
+
clear(): void;
|
|
55
|
+
setMaxSamples(n: number): void;
|
|
56
|
+
}
|
|
57
|
+
export declare function createPerfMetrics(maxSamples?: number): PerfMetrics;
|
|
58
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/kernel/observability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ReadonlySignal } from '../reactivity/types.ts';
|
|
2
|
+
import type { OverlayType, OverlayEntry } from './types.ts';
|
|
3
|
+
export declare class OverlayManager {
|
|
4
|
+
#private;
|
|
5
|
+
readonly stack: ReadonlySignal<readonly OverlayEntry[]>;
|
|
6
|
+
readonly topOverlay: ReadonlySignal<OverlayEntry | null>;
|
|
7
|
+
open(opts: {
|
|
8
|
+
type: OverlayType;
|
|
9
|
+
element: HTMLElement;
|
|
10
|
+
owner?: HTMLElement;
|
|
11
|
+
}): string;
|
|
12
|
+
close(id: string): void;
|
|
13
|
+
closeAll(): void;
|
|
14
|
+
closeType(type: OverlayType): void;
|
|
15
|
+
isOpen(id: string): boolean;
|
|
16
|
+
getEntry(id: string): OverlayEntry | null;
|
|
17
|
+
getNextZIndex(): number;
|
|
18
|
+
destroy(): void;
|
|
19
|
+
}
|
|
20
|
+
export declare function createOverlayManager(): OverlayManager;
|
|
21
|
+
//# sourceMappingURL=overlay-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay-manager.d.ts","sourceRoot":"","sources":["../../src/kernel/overlay-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAU,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK5D,qBAAa,cAAc;;IAIzB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,YAAY,EAAE,CAAC,CAAqC;IAC5F,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAGrD;IAEH,IAAI,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,WAAW,CAAC;QAAC,KAAK,CAAC,EAAE,WAAW,CAAA;KAAE,GAAG,MAAM;IAgBpF,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQvB,QAAQ,IAAI,IAAI;IAKhB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAKlC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIzC,aAAa,IAAI,MAAM;IAKvB,OAAO,IAAI,IAAI;CAuChB;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CommandBus } from './command-bus.ts';
|
|
2
|
+
import type { PlanExecutor } from './executor.ts';
|
|
3
|
+
import type { UINode, CommandSource } from './types.ts';
|
|
4
|
+
export type PatchOp = {
|
|
5
|
+
readonly type: 'add';
|
|
6
|
+
readonly parentId: string;
|
|
7
|
+
readonly node: UINode;
|
|
8
|
+
readonly index?: number;
|
|
9
|
+
} | {
|
|
10
|
+
readonly type: 'remove';
|
|
11
|
+
readonly targetId: string;
|
|
12
|
+
} | {
|
|
13
|
+
readonly type: 'replace';
|
|
14
|
+
readonly targetId: string;
|
|
15
|
+
readonly node: UINode;
|
|
16
|
+
} | {
|
|
17
|
+
readonly type: 'set-attribute';
|
|
18
|
+
readonly targetId: string;
|
|
19
|
+
readonly name: string;
|
|
20
|
+
readonly value: string;
|
|
21
|
+
} | {
|
|
22
|
+
readonly type: 'remove-attribute';
|
|
23
|
+
readonly targetId: string;
|
|
24
|
+
readonly name: string;
|
|
25
|
+
} | {
|
|
26
|
+
readonly type: 'set-property';
|
|
27
|
+
readonly targetId: string;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly value: unknown;
|
|
30
|
+
} | {
|
|
31
|
+
readonly type: 'set-text';
|
|
32
|
+
readonly targetId: string;
|
|
33
|
+
readonly text: string;
|
|
34
|
+
} | {
|
|
35
|
+
readonly type: 'set-event';
|
|
36
|
+
readonly targetId: string;
|
|
37
|
+
readonly event: string;
|
|
38
|
+
readonly commandType: string;
|
|
39
|
+
} | {
|
|
40
|
+
readonly type: 'remove-event';
|
|
41
|
+
readonly targetId: string;
|
|
42
|
+
readonly event: string;
|
|
43
|
+
};
|
|
44
|
+
export interface UIPatch {
|
|
45
|
+
readonly planId: string;
|
|
46
|
+
readonly ops: readonly PatchOp[];
|
|
47
|
+
readonly source: CommandSource;
|
|
48
|
+
readonly timestamp: number;
|
|
49
|
+
}
|
|
50
|
+
export interface PatchResult {
|
|
51
|
+
readonly applied: number;
|
|
52
|
+
readonly errors: readonly PatchError[];
|
|
53
|
+
}
|
|
54
|
+
export interface PatchError {
|
|
55
|
+
readonly op: PatchOp;
|
|
56
|
+
readonly message: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function applyPatch(patch: UIPatch, executor: PlanExecutor, bus?: CommandBus): PatchResult;
|
|
59
|
+
//# sourceMappingURL=patch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../src/kernel/patch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAWxD,MAAM,MAAM,OAAO,GACf;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5G;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACvF;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC5G;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/G;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAIzF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAID,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA0BD,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,UAAU,GACf,WAAW,CA6Bb"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GenUI Planner
|
|
3
|
+
*
|
|
4
|
+
* Takes structured UIIntent objects and produces validated UIPlan objects.
|
|
5
|
+
* Bridge between "what the AI wants to create" and the deterministic kernel execution.
|
|
6
|
+
*
|
|
7
|
+
* Intent → UINode tree → UIPlan → schema validation → accessibility audit → PlanResult
|
|
8
|
+
*/
|
|
9
|
+
import type { UIPlan, CommandSource, ComponentRegistration, ValidationResult } from './types.ts';
|
|
10
|
+
import type { A11yResult } from './accessibility.ts';
|
|
11
|
+
export interface UIIntent {
|
|
12
|
+
readonly type: 'form' | 'display' | 'action' | 'layout' | 'composite';
|
|
13
|
+
readonly elements: readonly ElementIntent[];
|
|
14
|
+
readonly id?: string;
|
|
15
|
+
readonly title?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ElementIntent {
|
|
18
|
+
readonly component: string;
|
|
19
|
+
readonly label?: string;
|
|
20
|
+
readonly attributes?: Readonly<Record<string, string>>;
|
|
21
|
+
readonly properties?: Readonly<Record<string, unknown>>;
|
|
22
|
+
readonly events?: Readonly<Record<string, string>>;
|
|
23
|
+
readonly children?: readonly ElementIntent[];
|
|
24
|
+
readonly slot?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface PlanResult {
|
|
27
|
+
readonly plan: UIPlan;
|
|
28
|
+
readonly validation: ValidationResult;
|
|
29
|
+
readonly accessibility: A11yResult;
|
|
30
|
+
readonly warnings: readonly string[];
|
|
31
|
+
}
|
|
32
|
+
export interface FormFieldIntent {
|
|
33
|
+
readonly name: string;
|
|
34
|
+
readonly type?: 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select';
|
|
35
|
+
readonly placeholder?: string;
|
|
36
|
+
readonly required?: boolean;
|
|
37
|
+
readonly options?: readonly {
|
|
38
|
+
value: string;
|
|
39
|
+
label: string;
|
|
40
|
+
}[];
|
|
41
|
+
}
|
|
42
|
+
export interface ButtonIntent {
|
|
43
|
+
readonly label: string;
|
|
44
|
+
readonly command: string;
|
|
45
|
+
readonly variant?: string;
|
|
46
|
+
readonly intent?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface CardIntent {
|
|
49
|
+
readonly heading?: string;
|
|
50
|
+
readonly body: string;
|
|
51
|
+
readonly footer?: readonly ButtonIntent[];
|
|
52
|
+
readonly media?: {
|
|
53
|
+
src: string;
|
|
54
|
+
alt: string;
|
|
55
|
+
height?: string;
|
|
56
|
+
};
|
|
57
|
+
readonly interactive?: boolean;
|
|
58
|
+
readonly href?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface DialogIntent {
|
|
61
|
+
readonly title: string;
|
|
62
|
+
readonly body: string;
|
|
63
|
+
readonly confirmLabel?: string;
|
|
64
|
+
readonly cancelLabel?: string;
|
|
65
|
+
readonly confirmCommand: string;
|
|
66
|
+
readonly cancelCommand?: string;
|
|
67
|
+
readonly intent?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface SettingIntent {
|
|
70
|
+
readonly label: string;
|
|
71
|
+
readonly description?: string;
|
|
72
|
+
readonly name: string;
|
|
73
|
+
readonly checked?: boolean;
|
|
74
|
+
readonly command?: string;
|
|
75
|
+
}
|
|
76
|
+
export interface TabIntent {
|
|
77
|
+
readonly label: string;
|
|
78
|
+
readonly value: string;
|
|
79
|
+
readonly content: string;
|
|
80
|
+
readonly disabled?: boolean;
|
|
81
|
+
}
|
|
82
|
+
export interface NavItemIntent {
|
|
83
|
+
readonly label: string;
|
|
84
|
+
readonly value: string;
|
|
85
|
+
readonly icon?: string;
|
|
86
|
+
readonly group?: string;
|
|
87
|
+
}
|
|
88
|
+
export declare class Planner {
|
|
89
|
+
#private;
|
|
90
|
+
constructor(registry?: Map<string, ComponentRegistration>);
|
|
91
|
+
generate(intent: UIIntent, source?: CommandSource): PlanResult;
|
|
92
|
+
/**
|
|
93
|
+
* Build a form plan from field descriptors.
|
|
94
|
+
* Produces a `<form>` with `ui-field` + `ui-input`/`ui-select`/`ui-textarea` per field,
|
|
95
|
+
* plus a submit `ui-button` at the end.
|
|
96
|
+
*/
|
|
97
|
+
static form(fields: readonly FormFieldIntent[], options?: {
|
|
98
|
+
title?: string;
|
|
99
|
+
submitLabel?: string;
|
|
100
|
+
submitCommand?: string;
|
|
101
|
+
registry?: Map<string, ComponentRegistration>;
|
|
102
|
+
}): PlanResult;
|
|
103
|
+
/**
|
|
104
|
+
* Build a simple action bar from button descriptors.
|
|
105
|
+
* Produces a horizontal `<div>` with `ui-button` children.
|
|
106
|
+
*/
|
|
107
|
+
static actions(buttons: readonly ButtonIntent[], options?: {
|
|
108
|
+
registry?: Map<string, ComponentRegistration>;
|
|
109
|
+
}): PlanResult;
|
|
110
|
+
/**
|
|
111
|
+
* Build a content card with optional heading, body, media, and footer actions.
|
|
112
|
+
* Produces a `<ui-card>` with slotted children.
|
|
113
|
+
*/
|
|
114
|
+
static card(card: CardIntent, options?: {
|
|
115
|
+
registry?: Map<string, ComponentRegistration>;
|
|
116
|
+
}): PlanResult;
|
|
117
|
+
/**
|
|
118
|
+
* Build a confirmation/alert dialog.
|
|
119
|
+
* Produces a `<ui-dialog>` with a styled panel containing title, body, and action buttons.
|
|
120
|
+
*/
|
|
121
|
+
static dialog(dialog: DialogIntent, options?: {
|
|
122
|
+
registry?: Map<string, ComponentRegistration>;
|
|
123
|
+
}): PlanResult;
|
|
124
|
+
/**
|
|
125
|
+
* Build a settings toggle list.
|
|
126
|
+
* Produces a vertical list of `ui-switch` elements with labels and optional descriptions.
|
|
127
|
+
*/
|
|
128
|
+
static settings(settings: readonly SettingIntent[], options?: {
|
|
129
|
+
title?: string;
|
|
130
|
+
registry?: Map<string, ComponentRegistration>;
|
|
131
|
+
}): PlanResult;
|
|
132
|
+
/**
|
|
133
|
+
* Build a tabbed interface.
|
|
134
|
+
* Produces a `<ui-tabs>` with `<ui-tab>` triggers + `<ui-tab-panels>` container.
|
|
135
|
+
*/
|
|
136
|
+
static tabs(tabs: readonly TabIntent[], options?: {
|
|
137
|
+
defaultValue?: string;
|
|
138
|
+
orientation?: 'horizontal' | 'vertical';
|
|
139
|
+
registry?: Map<string, ComponentRegistration>;
|
|
140
|
+
}): PlanResult;
|
|
141
|
+
/**
|
|
142
|
+
* Build a navigation list.
|
|
143
|
+
* Produces a `<ui-listbox>` with `<ui-option>` items, optionally grouped with `<ui-option-group>`.
|
|
144
|
+
*/
|
|
145
|
+
static nav(items: readonly NavItemIntent[], options?: {
|
|
146
|
+
title?: string;
|
|
147
|
+
registry?: Map<string, ComponentRegistration>;
|
|
148
|
+
}): PlanResult;
|
|
149
|
+
}
|
|
150
|
+
export declare function createPlanner(registry?: Map<string, ComponentRegistration>): Planner;
|
|
151
|
+
//# sourceMappingURL=planner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.d.ts","sourceRoot":"","sources":["../../src/kernel/planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ReadonlySignal } from '../reactivity/types.ts';
|
|
2
|
+
import type { Command, CommandMiddleware } from './types.ts';
|
|
3
|
+
export interface Capability {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly patterns: readonly string[];
|
|
7
|
+
readonly scopes?: readonly CapabilityScope[];
|
|
8
|
+
readonly expiresAt?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface CapabilityScope {
|
|
11
|
+
readonly type: 'source' | 'planId' | 'custom';
|
|
12
|
+
readonly value: string;
|
|
13
|
+
}
|
|
14
|
+
export type PolicyEffect = 'allow' | 'deny';
|
|
15
|
+
export interface PolicyRule {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly effect: PolicyEffect;
|
|
18
|
+
readonly patterns: readonly string[];
|
|
19
|
+
readonly priority: number;
|
|
20
|
+
readonly conditions?: readonly PolicyCondition[];
|
|
21
|
+
readonly description?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface PolicyCondition {
|
|
24
|
+
readonly field: 'source' | 'planId' | 'capability';
|
|
25
|
+
readonly op: 'eq' | 'neq' | 'in' | 'matches';
|
|
26
|
+
readonly value: string | readonly string[];
|
|
27
|
+
}
|
|
28
|
+
export interface RateLimit {
|
|
29
|
+
readonly pattern: string;
|
|
30
|
+
readonly maxPerWindow: number;
|
|
31
|
+
readonly windowMs: number;
|
|
32
|
+
}
|
|
33
|
+
export interface PolicyDecision {
|
|
34
|
+
readonly allowed: boolean;
|
|
35
|
+
readonly reason: string;
|
|
36
|
+
readonly matchedRule?: string;
|
|
37
|
+
readonly missingCapabilities?: readonly string[];
|
|
38
|
+
}
|
|
39
|
+
export declare class PolicyEngine {
|
|
40
|
+
#private;
|
|
41
|
+
readonly capabilities: ReadonlySignal<readonly Capability[]>;
|
|
42
|
+
readonly rules: ReadonlySignal<readonly PolicyRule[]>;
|
|
43
|
+
readonly lastDecision: ReadonlySignal<PolicyDecision | null>;
|
|
44
|
+
readonly deniedCount: ReadonlySignal<number>;
|
|
45
|
+
grant(capability: Omit<Capability, 'id'>): string;
|
|
46
|
+
revoke(capabilityId: string): void;
|
|
47
|
+
revokeAll(): void;
|
|
48
|
+
hasCapability(name: string): boolean;
|
|
49
|
+
addRule(rule: Omit<PolicyRule, 'id'>): string;
|
|
50
|
+
removeRule(ruleId: string): void;
|
|
51
|
+
addRateLimit(limit: RateLimit): void;
|
|
52
|
+
removeRateLimit(pattern: string): void;
|
|
53
|
+
evaluate(command: Command): PolicyDecision;
|
|
54
|
+
middleware(): CommandMiddleware;
|
|
55
|
+
destroy(): void;
|
|
56
|
+
}
|
|
57
|
+
export declare function createPolicyEngine(): PolicyEngine;
|
|
58
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/kernel/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema Catalog
|
|
3
|
+
*
|
|
4
|
+
* Metadata registry describing what each native-ui component accepts:
|
|
5
|
+
* allowed attributes, properties, children, slots, events, and ARIA
|
|
6
|
+
* requirements. Used by the GenUI planner to generate valid plans.
|
|
7
|
+
*
|
|
8
|
+
* All public data is frozen with Object.freeze.
|
|
9
|
+
*/
|
|
10
|
+
export interface ComponentSchema {
|
|
11
|
+
readonly tag: string;
|
|
12
|
+
readonly category: 'form' | 'display' | 'navigation' | 'overlay' | 'container' | 'layout';
|
|
13
|
+
readonly description: string;
|
|
14
|
+
readonly attributes: readonly AttributeSchema[];
|
|
15
|
+
readonly properties: readonly PropertySchema[];
|
|
16
|
+
readonly slots: readonly SlotSchema[];
|
|
17
|
+
readonly events: readonly EventSchema[];
|
|
18
|
+
readonly aria: AriaRequirements;
|
|
19
|
+
readonly allowedChildren?: readonly string[];
|
|
20
|
+
readonly formAssociated: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface AttributeSchema {
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly type: 'string' | 'enum' | 'boolean';
|
|
25
|
+
readonly values?: readonly string[];
|
|
26
|
+
readonly default?: string;
|
|
27
|
+
readonly description: string;
|
|
28
|
+
}
|
|
29
|
+
export interface PropertySchema {
|
|
30
|
+
readonly name: string;
|
|
31
|
+
readonly type: 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
32
|
+
readonly description: string;
|
|
33
|
+
readonly required?: boolean;
|
|
34
|
+
}
|
|
35
|
+
export interface SlotSchema {
|
|
36
|
+
readonly name: string;
|
|
37
|
+
readonly description: string;
|
|
38
|
+
readonly allowedTags?: readonly string[];
|
|
39
|
+
}
|
|
40
|
+
export interface EventSchema {
|
|
41
|
+
readonly name: string;
|
|
42
|
+
readonly description: string;
|
|
43
|
+
readonly detail?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface AriaRequirements {
|
|
46
|
+
readonly role?: string;
|
|
47
|
+
readonly requiredAttributes?: readonly string[];
|
|
48
|
+
readonly autoLabeled?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export declare const SCHEMA_CATALOG: ReadonlyMap<string, ComponentSchema>;
|
|
51
|
+
export declare function getSchema(tag: string): ComponentSchema | undefined;
|
|
52
|
+
export declare function getSchemasForCategory(category: ComponentSchema['category']): readonly ComponentSchema[];
|
|
53
|
+
export declare function getSchemaAttribute(tag: string, attrName: string): AttributeSchema | undefined;
|
|
54
|
+
//# sourceMappingURL=schema-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-catalog.d.ts","sourceRoot":"","sources":["../../src/kernel/schema-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC1F,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AA8iBD,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAE/D,CAAC;AAIF,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAElE;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,GACpC,SAAS,eAAe,EAAE,CAE5B;AAED,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CAI7B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { UINode, UIPlan, ValidationResult, ValidationError, ComponentRegistration } from './types.ts';
|
|
2
|
+
export declare function validatePlan(plan: UIPlan, registry: Map<string, ComponentRegistration>, options?: {
|
|
3
|
+
allowUnregistered?: boolean;
|
|
4
|
+
}): ValidationResult;
|
|
5
|
+
export declare function validateNode(node: UINode, registry: Map<string, ComponentRegistration>, path?: string): ValidationError[];
|
|
6
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/kernel/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAsBpB,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC5C,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,gBAAgB,CAOlB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,EAC5C,IAAI,SAAS,GACZ,eAAe,EAAE,CAKnB"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Dispose } from '../reactivity/types.ts';
|
|
2
|
+
export interface Command<T = unknown> {
|
|
3
|
+
readonly type: string;
|
|
4
|
+
readonly payload: T;
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly timestamp: number;
|
|
7
|
+
readonly source: CommandSource;
|
|
8
|
+
readonly meta?: CommandMeta;
|
|
9
|
+
}
|
|
10
|
+
export type CommandSource = 'human' | 'generated' | 'replay';
|
|
11
|
+
export interface CommandMeta {
|
|
12
|
+
readonly undoType?: string;
|
|
13
|
+
readonly undoPayload?: unknown;
|
|
14
|
+
readonly capabilities?: readonly string[];
|
|
15
|
+
readonly planId?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface CommandHandler<T = unknown> {
|
|
18
|
+
(command: Command<T>): void | Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface CommandMiddleware {
|
|
21
|
+
(command: Command, next: () => void | Promise<void>): void | Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export type CommandFilter = (command: Command) => boolean;
|
|
24
|
+
export type OverlayType = 'popover' | 'dialog' | 'drawer' | 'toast';
|
|
25
|
+
export interface OverlayEntry {
|
|
26
|
+
readonly id: string;
|
|
27
|
+
readonly type: OverlayType;
|
|
28
|
+
readonly element: HTMLElement;
|
|
29
|
+
readonly zIndex: number;
|
|
30
|
+
readonly owner?: HTMLElement;
|
|
31
|
+
}
|
|
32
|
+
export interface Shortcut {
|
|
33
|
+
readonly key: string;
|
|
34
|
+
readonly mod?: ShortcutMod;
|
|
35
|
+
readonly handler: (e: KeyboardEvent) => void;
|
|
36
|
+
readonly scope?: string;
|
|
37
|
+
readonly description?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface ShortcutMod {
|
|
40
|
+
readonly ctrl?: boolean;
|
|
41
|
+
readonly meta?: boolean;
|
|
42
|
+
readonly shift?: boolean;
|
|
43
|
+
readonly alt?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface UINode {
|
|
46
|
+
readonly id: string;
|
|
47
|
+
readonly tag: string;
|
|
48
|
+
readonly attributes?: Readonly<Record<string, string>>;
|
|
49
|
+
readonly properties?: Readonly<Record<string, unknown>>;
|
|
50
|
+
readonly children?: readonly UINode[];
|
|
51
|
+
readonly textContent?: string;
|
|
52
|
+
readonly events?: Readonly<Record<string, string>>;
|
|
53
|
+
readonly slot?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface UIPlan {
|
|
56
|
+
readonly id: string;
|
|
57
|
+
readonly version: number;
|
|
58
|
+
readonly root: UINode;
|
|
59
|
+
readonly source: CommandSource;
|
|
60
|
+
readonly timestamp: number;
|
|
61
|
+
}
|
|
62
|
+
export interface ValidationResult {
|
|
63
|
+
readonly valid: boolean;
|
|
64
|
+
readonly errors: readonly ValidationError[];
|
|
65
|
+
}
|
|
66
|
+
export interface ValidationError {
|
|
67
|
+
readonly path: string;
|
|
68
|
+
readonly code: string;
|
|
69
|
+
readonly message: string;
|
|
70
|
+
}
|
|
71
|
+
export interface ComponentRegistration {
|
|
72
|
+
readonly tag: string;
|
|
73
|
+
readonly elementClass: CustomElementConstructor;
|
|
74
|
+
readonly formAssociated?: boolean;
|
|
75
|
+
}
|
|
76
|
+
export interface KernelOptions {
|
|
77
|
+
readonly allowUnregistered?: boolean;
|
|
78
|
+
readonly logCommands?: boolean;
|
|
79
|
+
}
|
|
80
|
+
export type { Dispose };
|
|
81
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kernel/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { WorkflowDefinition } from './workflow.ts';
|
|
2
|
+
export declare function formWizard(config: {
|
|
3
|
+
readonly id?: string;
|
|
4
|
+
readonly steps: readonly string[];
|
|
5
|
+
}): WorkflowDefinition;
|
|
6
|
+
export declare function confirmFlow(config?: {
|
|
7
|
+
readonly id?: string;
|
|
8
|
+
readonly requireDoubleConfirm?: boolean;
|
|
9
|
+
}): WorkflowDefinition;
|
|
10
|
+
export declare function crudLifecycle(config?: {
|
|
11
|
+
readonly id?: string;
|
|
12
|
+
readonly allowDelete?: boolean;
|
|
13
|
+
}): WorkflowDefinition;
|
|
14
|
+
export declare function authFlow(config?: {
|
|
15
|
+
readonly id?: string;
|
|
16
|
+
readonly mfaRequired?: boolean;
|
|
17
|
+
}): WorkflowDefinition;
|
|
18
|
+
export declare function toggleFlow(config?: {
|
|
19
|
+
readonly id?: string;
|
|
20
|
+
readonly initialState?: 'on' | 'off';
|
|
21
|
+
}): WorkflowDefinition;
|
|
22
|
+
//# sourceMappingURL=workflow-templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-templates.d.ts","sourceRoot":"","sources":["../../src/kernel/workflow-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAqC,MAAM,eAAe,CAAC;AAsB3F,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,GAAG,kBAAkB,CAwDrB;AAID,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE;IACnC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC,GAAG,kBAAkB,CA0CrB;AAID,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE;IACrC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,kBAAkB,CA4CrB;AAID,wBAAgB,QAAQ,CAAC,MAAM,CAAC,EAAE;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,GAAG,kBAAkB,CA2CrB;AAID,wBAAgB,UAAU,CAAC,MAAM,CAAC,EAAE;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;CACtC,GAAG,kBAAkB,CAoBrB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { ReadonlySignal } from '../reactivity/types.ts';
|
|
2
|
+
import type { CommandBus } from './command-bus.ts';
|
|
3
|
+
export interface WorkflowState {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
readonly onEntry?: string;
|
|
6
|
+
readonly onExit?: string;
|
|
7
|
+
readonly initial?: string;
|
|
8
|
+
readonly children?: readonly WorkflowState[];
|
|
9
|
+
}
|
|
10
|
+
export interface WorkflowTransition {
|
|
11
|
+
readonly from: string;
|
|
12
|
+
readonly event: string;
|
|
13
|
+
readonly to: string;
|
|
14
|
+
readonly guard?: (context: WorkflowContext) => boolean;
|
|
15
|
+
readonly action?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface WorkflowDefinition {
|
|
18
|
+
readonly id: string;
|
|
19
|
+
readonly initial: string;
|
|
20
|
+
readonly states: readonly WorkflowState[];
|
|
21
|
+
readonly transitions: readonly WorkflowTransition[];
|
|
22
|
+
readonly context?: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface WorkflowContext {
|
|
25
|
+
readonly [key: string]: unknown;
|
|
26
|
+
}
|
|
27
|
+
export interface TransitionRecord {
|
|
28
|
+
readonly id: string;
|
|
29
|
+
readonly timestamp: number;
|
|
30
|
+
readonly event: string;
|
|
31
|
+
readonly from: string;
|
|
32
|
+
readonly to: string;
|
|
33
|
+
readonly guardsPassed: readonly string[];
|
|
34
|
+
readonly guardsBlocked: readonly string[];
|
|
35
|
+
readonly action?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface WorkflowSnapshot {
|
|
38
|
+
readonly definitionId: string;
|
|
39
|
+
readonly currentState: string;
|
|
40
|
+
readonly context: WorkflowContext;
|
|
41
|
+
readonly history: readonly TransitionRecord[];
|
|
42
|
+
readonly timestamp: number;
|
|
43
|
+
}
|
|
44
|
+
export interface TransitionExplanation {
|
|
45
|
+
readonly would: boolean;
|
|
46
|
+
readonly from: string;
|
|
47
|
+
readonly to: string | null;
|
|
48
|
+
readonly blockedGuards: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
export declare class WorkflowEngine {
|
|
51
|
+
#private;
|
|
52
|
+
readonly currentState: ReadonlySignal<string>;
|
|
53
|
+
readonly context: ReadonlySignal<WorkflowContext>;
|
|
54
|
+
readonly history: ReadonlySignal<readonly TransitionRecord[]>;
|
|
55
|
+
readonly running: ReadonlySignal<boolean>;
|
|
56
|
+
constructor(definition: WorkflowDefinition, bus?: CommandBus);
|
|
57
|
+
start(): void;
|
|
58
|
+
send(event: string, data?: unknown): TransitionRecord | null;
|
|
59
|
+
stop(): void;
|
|
60
|
+
setContext(key: string, value: unknown): void;
|
|
61
|
+
getContext<T = unknown>(key: string): T | undefined;
|
|
62
|
+
getAvailableEvents(): readonly string[];
|
|
63
|
+
canSend(event: string): boolean;
|
|
64
|
+
explain(event: string): TransitionExplanation;
|
|
65
|
+
snapshot(): WorkflowSnapshot;
|
|
66
|
+
static restore(snapshot: WorkflowSnapshot, definition: WorkflowDefinition, bus?: CommandBus): WorkflowEngine;
|
|
67
|
+
destroy(): void;
|
|
68
|
+
}
|
|
69
|
+
export declare function createWorkflowEngine(definition: WorkflowDefinition, bus?: CommandBus): WorkflowEngine;
|
|
70
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/kernel/workflow.ts"],"names":[],"mappings":"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"}
|