@ecoma-io/loom 0.5.0 → 0.6.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/README.md +188 -101
- package/dist/a11y.js +4 -3
- package/dist/composition/center/src/Center.js.map +1 -0
- package/dist/composition/center/src/Center.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/dashboard-grid/src/DashboardGrid.js +7 -0
- package/dist/composition/dashboard-grid/src/DashboardGrid.js.map +1 -0
- package/dist/composition/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js +45 -0
- package/dist/composition/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/frame/src/Frame.js.map +1 -0
- package/dist/composition/frame/src/Frame.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/grid/src/Grid.js.map +1 -0
- package/dist/composition/grid/src/Grid.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/inline/src/Inline.js.map +1 -0
- package/dist/composition/inline/src/Inline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/scroll-reel/src/ScrollReel.js.map +1 -0
- package/dist/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/sidebar/src/Sidebar.js.map +1 -0
- package/dist/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/split/src/Split.js.map +1 -0
- package/dist/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/composition/stack/src/Stack.js.map +1 -0
- package/dist/composition/stack/src/Stack.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/core/src/a11y-contract.js +558 -0
- package/dist/core/src/a11y-contract.js.map +1 -0
- package/dist/core/src/a11y-scope.js +151 -0
- package/dist/core/src/a11y-scope.js.map +1 -0
- package/dist/core/src/attrs.js.map +1 -0
- package/dist/core/src/cn.js +61 -0
- package/dist/core/src/cn.js.map +1 -0
- package/dist/core/src/icon-defaults.js.map +1 -0
- package/dist/core/src/index.js +9 -0
- package/dist/core/src/motion.js +31 -0
- package/dist/core/src/motion.js.map +1 -0
- package/dist/core/src/props.js.map +1 -0
- package/dist/core/src/theme.js.map +1 -0
- package/dist/index.js +287 -285
- package/dist/labels/src/ancestor-disabled.js.map +1 -0
- package/dist/labels/src/count-labels.js.map +1 -0
- package/dist/labels/src/date-labels.js +206 -0
- package/dist/labels/src/date-labels.js.map +1 -0
- package/dist/labels/src/field-context.js.map +1 -0
- package/dist/labels/src/labels.js.map +1 -0
- package/dist/layouts/app-shell/src/AppShell.js.map +1 -0
- package/dist/layouts/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/centered/src/Centered.js.map +1 -0
- package/dist/layouts/centered/src/Centered.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/dashboard/src/Dashboard.js.map +1 -0
- package/dist/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/desktop-app-shell/src/DesktopAppShell.js +7 -0
- package/dist/layouts/desktop-app-shell/src/DesktopAppShell.js.map +1 -0
- package/dist/layouts/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +76 -0
- package/dist/layouts/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/form-layout/src/FormLayout.js.map +1 -0
- package/dist/layouts/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/master-detail/src/MasterDetail.js.map +1 -0
- package/dist/layouts/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/reading/src/Reading.js.map +1 -0
- package/dist/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/settings/src/Settings.js.map +1 -0
- package/dist/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/layouts/split-layout/src/SplitLayout.js.map +1 -0
- package/dist/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/packages/composition/dashboard-grid/src/DashboardGrid.vue.d.ts +26 -0
- package/dist/packages/composition/dashboard-grid/src/DashboardGrid.vue.d.ts.map +1 -0
- package/dist/packages/composition/dashboard-grid/src/index.d.ts.map +1 -0
- package/dist/packages/composition/split/src/Split.vue.d.ts.map +1 -1
- package/dist/packages/core/src/a11y-contract.d.ts +417 -0
- package/dist/packages/core/src/a11y-contract.d.ts.map +1 -0
- package/dist/packages/core/src/a11y-scope.d.ts +5 -3
- package/dist/packages/core/src/a11y-scope.d.ts.map +1 -1
- package/dist/packages/core/src/index.d.ts +7 -1
- package/dist/packages/core/src/index.d.ts.map +1 -1
- package/dist/packages/core/src/motion.d.ts +15 -6
- package/dist/packages/core/src/motion.d.ts.map +1 -1
- package/dist/packages/core/src/responsive-contract.d.ts +155 -0
- package/dist/packages/core/src/responsive-contract.d.ts.map +1 -0
- package/dist/packages/labels/src/component-shapes.d.ts +2 -0
- package/dist/packages/labels/src/component-shapes.d.ts.map +1 -1
- package/dist/packages/layouts/dashboard/src/Dashboard.vue.d.ts.map +1 -1
- package/dist/packages/layouts/desktop-app-shell/src/DesktopAppShell.vue.d.ts +103 -0
- package/dist/packages/layouts/desktop-app-shell/src/index.d.ts.map +1 -0
- package/dist/packages/loom/src/a11y.d.ts +2 -1
- package/dist/packages/loom/src/index.d.ts +23 -23
- package/dist/packages/patterns/app-header/src/AppHeader.vue.d.ts +82 -0
- package/dist/packages/patterns/app-header/src/AppHeader.vue.d.ts.map +1 -0
- package/dist/packages/patterns/app-header/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/empty-state/src/EmptyState.vue.d.ts +54 -0
- package/dist/packages/patterns/empty-state/src/EmptyState.vue.d.ts.map +1 -0
- package/dist/packages/patterns/empty-state/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/error-state/src/ErrorState.vue.d.ts +44 -0
- package/dist/packages/patterns/error-state/src/ErrorState.vue.d.ts.map +1 -0
- package/dist/packages/patterns/error-state/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/form-actions/src/FormActions.vue.d.ts +56 -0
- package/dist/packages/patterns/form-actions/src/FormActions.vue.d.ts.map +1 -0
- package/dist/packages/patterns/form-actions/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/form-section/src/FormSection.vue.d.ts +85 -0
- package/dist/packages/patterns/form-section/src/FormSection.vue.d.ts.map +1 -0
- package/dist/packages/patterns/form-section/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/loading-state/src/LoadingState.vue.d.ts.map +1 -0
- package/dist/packages/patterns/loading-state/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/metric-card/src/MetricCard.vue.d.ts +77 -0
- package/dist/packages/patterns/metric-card/src/MetricCard.vue.d.ts.map +1 -0
- package/dist/packages/patterns/metric-card/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/page-header/src/PageHeader.vue.d.ts.map +1 -0
- package/dist/packages/patterns/page-header/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/row-actions/src/RowActions.vue.d.ts.map +1 -0
- package/dist/packages/patterns/row-actions/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/sidebar-nav/src/SidebarNav.vue.d.ts.map +1 -0
- package/dist/packages/patterns/sidebar-nav/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/title-bar/src/TitleBar.vue.d.ts +83 -0
- package/dist/packages/patterns/title-bar/src/index.d.ts.map +1 -0
- package/dist/packages/patterns/toast-stack/src/index.d.ts.map +1 -0
- package/dist/packages/primitives/list/src/ListItem.vue.d.ts +1 -1
- package/dist/packages/primitives/list/src/ListItem.vue.d.ts.map +1 -1
- package/dist/packages/primitives/surface/src/Surface.vue.d.ts +2 -2
- package/dist/packages/primitives/surface/src/Surface.vue.d.ts.map +1 -1
- package/dist/packages/primitives/table/src/TableRow.vue.d.ts +2 -2
- package/dist/packages/primitives/table/src/TableRow.vue.d.ts.map +1 -1
- package/dist/patterns/app-header/src/AppHeader.js +7 -0
- package/dist/patterns/app-header/src/AppHeader.js.map +1 -0
- package/dist/patterns/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js +96 -0
- package/dist/patterns/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/empty-state/src/EmptyState.js +7 -0
- package/dist/patterns/empty-state/src/EmptyState.js.map +1 -0
- package/dist/patterns/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/patterns/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/error-state/src/ErrorState.js +7 -0
- package/dist/patterns/error-state/src/ErrorState.js.map +1 -0
- package/dist/patterns/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/patterns/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/error-summary/src/ErrorSummary.js +7 -0
- package/dist/patterns/error-summary/src/ErrorSummary.js.map +1 -0
- package/dist/patterns/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js +90 -0
- package/dist/patterns/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/form-actions/src/FormActions.js +7 -0
- package/dist/patterns/form-actions/src/FormActions.js.map +1 -0
- package/dist/patterns/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js +22 -0
- package/dist/patterns/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/form-section/src/FormSection.js +7 -0
- package/dist/patterns/form-section/src/FormSection.js.map +1 -0
- package/dist/patterns/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/patterns/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/loading-state/src/LoadingState.js +7 -0
- package/dist/patterns/loading-state/src/LoadingState.js.map +1 -0
- package/dist/patterns/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/patterns/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/metric-card/src/MetricCard.js +7 -0
- package/dist/patterns/metric-card/src/MetricCard.js.map +1 -0
- package/dist/patterns/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js +87 -0
- package/dist/patterns/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/page-header/src/PageHeader.js +7 -0
- package/dist/patterns/page-header/src/PageHeader.js.map +1 -0
- package/dist/patterns/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/patterns/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/row-actions/src/RowActions.js +7 -0
- package/dist/patterns/row-actions/src/RowActions.js.map +1 -0
- package/dist/patterns/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/patterns/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/sidebar-nav/src/SidebarNav.js +7 -0
- package/dist/patterns/sidebar-nav/src/SidebarNav.js.map +1 -0
- package/dist/patterns/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js +129 -0
- package/dist/patterns/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/title-bar/src/TitleBar.js +7 -0
- package/dist/patterns/title-bar/src/TitleBar.js.map +1 -0
- package/dist/patterns/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js +69 -0
- package/dist/patterns/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/patterns/toast-stack/src/ToastStack.js +7 -0
- package/dist/patterns/toast-stack/src/ToastStack.js.map +1 -0
- package/dist/patterns/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/patterns/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/accordion/src/Accordion.js.map +1 -0
- package/dist/primitives/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/alert/src/Alert.js.map +1 -0
- package/dist/primitives/alert/src/Alert.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/alert-dialog/src/AlertDialog.js.map +1 -0
- package/dist/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/avatar/src/Avatar.js.map +1 -0
- package/dist/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/avatar-group/src/AvatarGroup.js.map +1 -0
- package/dist/primitives/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/badge/src/Badge.js.map +1 -0
- package/dist/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/breadcrumb/src/Breadcrumb.js.map +1 -0
- package/dist/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/button/src/Button.js.map +1 -0
- package/dist/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/calendar/src/Calendar.js.map +1 -0
- package/dist/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js +202 -0
- package/dist/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/card/src/Card.js.map +1 -0
- package/dist/primitives/card/src/Card.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/carousel/src/Carousel.js.map +1 -0
- package/dist/primitives/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/checkbox/src/Checkbox.js.map +1 -0
- package/dist/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/chip/src/Chip.js.map +1 -0
- package/dist/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/collapse/src/Collapse.js.map +1 -0
- package/dist/primitives/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/color-picker/src/ColorPicker.js.map +1 -0
- package/dist/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/combobox/src/Combobox.js.map +1 -0
- package/dist/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/command/src/Command.js.map +1 -0
- package/dist/primitives/command/src/Command.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/context-menu/src/ContextMenu.js.map +1 -0
- package/dist/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/copy-button/src/CopyButton.js.map +1 -0
- package/dist/primitives/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/copy-button/src/index.js +3 -0
- package/dist/primitives/data-grid/src/DataGrid.js.map +1 -0
- package/dist/primitives/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/date-picker/src/DatePicker.js.map +1 -0
- package/dist/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js +292 -0
- package/dist/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/date-range-picker/src/DateRangePicker.js.map +1 -0
- package/dist/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js +417 -0
- package/dist/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/date-time-picker/src/DateTimePicker.js.map +1 -0
- package/dist/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js +359 -0
- package/dist/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/date-time-range-picker/src/DateTimeRangePicker.js.map +1 -0
- package/dist/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +563 -0
- package/dist/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/dialog/src/Dialog.js.map +1 -0
- package/dist/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/drawer/src/Drawer.js.map +1 -0
- package/dist/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/dropdown-menu/src/DropdownMenu.js.map +1 -0
- package/dist/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/editable/src/Editable.js.map +1 -0
- package/dist/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/field/src/Field.js.map +1 -0
- package/dist/primitives/field/src/Field.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/fieldset/src/Fieldset.js.map +1 -0
- package/dist/primitives/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/file-upload/src/FileUpload.js.map +1 -0
- package/dist/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/hover-card/src/HoverCard.js.map +1 -0
- package/dist/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/icon-button/src/IconButton.js.map +1 -0
- package/dist/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/indicator/src/Indicator.js.map +1 -0
- package/dist/primitives/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/inline-error/src/InlineError.js.map +1 -0
- package/dist/primitives/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/kbd/src/Kbd.js.map +1 -0
- package/dist/primitives/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/link/src/Link.js.map +1 -0
- package/dist/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/list/src/List.js.map +1 -0
- package/dist/primitives/list/src/List.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/list/src/ListItem.js.map +1 -0
- package/dist/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/live-region/src/LiveRegion.js.map +1 -0
- package/dist/primitives/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/live-region/src/context.js.map +1 -0
- package/dist/primitives/live-region/src/useAnnounce.js.map +1 -0
- package/dist/primitives/menubar/src/Menubar.js.map +1 -0
- package/dist/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/meter/src/Meter.js.map +1 -0
- package/dist/primitives/meter/src/Meter.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/navigation-menu/src/NavigationMenu.js.map +1 -0
- package/dist/primitives/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/number-field/src/NumberField.js.map +1 -0
- package/dist/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/otp-input/src/OtpInput.js.map +1 -0
- package/dist/primitives/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/pagination/src/Pagination.js.map +1 -0
- package/dist/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/popover/src/Popover.js.map +1 -0
- package/dist/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/progress/src/Progress.js.map +1 -0
- package/dist/primitives/progress/src/Progress.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/radial-progress/src/RadialProgress.js.map +1 -0
- package/dist/primitives/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/radio-group/src/RadioGroup.js.map +1 -0
- package/dist/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/rating/src/Rating.js.map +1 -0
- package/dist/primitives/rating/src/Rating.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/scroll-area/src/ScrollArea.js.map +1 -0
- package/dist/primitives/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/segmented-control/src/SegmentedControl.js.map +1 -0
- package/dist/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/select/src/Select.js.map +1 -0
- package/dist/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/separator/src/Separator.js.map +1 -0
- package/dist/primitives/separator/src/Separator.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/skeleton/src/Skeleton.js.map +1 -0
- package/dist/primitives/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/skip-link/src/SkipLink.js.map +1 -0
- package/dist/primitives/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/slider/src/Slider.js.map +1 -0
- package/dist/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/speed-dial/src/SpeedDial.js.map +1 -0
- package/dist/primitives/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/spinner/src/Spinner.js.map +1 -0
- package/dist/primitives/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/stepper/src/Stepper.js.map +1 -0
- package/dist/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/surface/src/Surface.js.map +1 -0
- package/dist/primitives/surface/src/Surface.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/switch/src/Switch.js.map +1 -0
- package/dist/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/table/src/Table.js.map +1 -0
- package/dist/primitives/table/src/Table.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/table/src/TableCell.js.map +1 -0
- package/dist/primitives/table/src/TableCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/table/src/TableHead.js.map +1 -0
- package/dist/primitives/table/src/TableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/table/src/TableRow.js.map +1 -0
- package/dist/primitives/table/src/TableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/tabs/src/Tabs.js.map +1 -0
- package/dist/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/tags-input/src/TagsInput.js.map +1 -0
- package/dist/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/text-field/src/TextField.js.map +1 -0
- package/dist/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/textarea/src/Textarea.js.map +1 -0
- package/dist/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/time-picker/src/TimePicker.js.map +1 -0
- package/dist/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js +189 -0
- package/dist/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/timeline/src/Timeline.js.map +1 -0
- package/dist/primitives/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/timeline/src/TimelineItem.js.map +1 -0
- package/dist/primitives/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/timeline/src/index.js +5 -0
- package/dist/primitives/toast/src/Toast.js.map +1 -0
- package/dist/primitives/toast/src/Toast.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/toast/src/ToastItem.js.map +1 -0
- package/dist/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/toggle-group/src/ToggleGroup.js.map +1 -0
- package/dist/primitives/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/toolbar/src/Toolbar.js.map +1 -0
- package/dist/primitives/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/toolbar/src/ToolbarSeparator.js.map +1 -0
- package/dist/primitives/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/tooltip/src/Tooltip.js.map +1 -0
- package/dist/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/tree-view/src/TreeView.js.map +1 -0
- package/dist/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/tree-view/src/TreeViewNode.js.map +1 -0
- package/dist/primitives/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/tree-view/src/context.js.map +1 -0
- package/dist/primitives/visually-hidden/src/VisuallyHidden.js.map +1 -0
- package/dist/primitives/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/primitives/window-controls/src/WindowControls.js.map +1 -0
- package/dist/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js +127 -0
- package/dist/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/styles/theme.css +30 -6
- package/dist/theme.js +2 -2
- package/package.json +5 -4
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/CalendarDate.js +0 -236
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/CalendarDate.js.map +0 -1
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +0 -117
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js.map +0 -1
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/conversion.js +0 -142
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/conversion.js.map +0 -1
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/manipulation.js +0 -280
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/manipulation.js.map +0 -1
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/queries.js +0 -40
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/queries.js.map +0 -1
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/string.js +0 -69
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/string.js.map +0 -1
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/utils.js +0 -8
- package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/utils.js.map +0 -1
- package/dist/packages/blocks/app-header/src/AppHeader.js +0 -7
- package/dist/packages/blocks/app-header/src/AppHeader.js.map +0 -1
- package/dist/packages/blocks/app-header/src/AppHeader.vue.d.ts +0 -82
- package/dist/packages/blocks/app-header/src/AppHeader.vue.d.ts.map +0 -1
- package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js +0 -96
- package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/app-header/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.js +0 -7
- package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.js.map +0 -1
- package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue.d.ts +0 -42
- package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue.d.ts.map +0 -1
- package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js +0 -45
- package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/dashboard-grid/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.js +0 -7
- package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.js.map +0 -1
- package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue.d.ts +0 -102
- package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +0 -76
- package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/desktop-app-shell/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/empty-state/src/EmptyState.js +0 -7
- package/dist/packages/blocks/empty-state/src/EmptyState.js.map +0 -1
- package/dist/packages/blocks/empty-state/src/EmptyState.vue.d.ts +0 -50
- package/dist/packages/blocks/empty-state/src/EmptyState.vue.d.ts.map +0 -1
- package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js +0 -70
- package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/empty-state/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/error-state/src/ErrorState.js +0 -7
- package/dist/packages/blocks/error-state/src/ErrorState.js.map +0 -1
- package/dist/packages/blocks/error-state/src/ErrorState.vue.d.ts +0 -44
- package/dist/packages/blocks/error-state/src/ErrorState.vue.d.ts.map +0 -1
- package/dist/packages/blocks/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js +0 -60
- package/dist/packages/blocks/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/error-state/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/error-summary/src/ErrorSummary.js +0 -7
- package/dist/packages/blocks/error-summary/src/ErrorSummary.js.map +0 -1
- package/dist/packages/blocks/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js +0 -90
- package/dist/packages/blocks/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/form-actions/src/FormActions.js +0 -7
- package/dist/packages/blocks/form-actions/src/FormActions.js.map +0 -1
- package/dist/packages/blocks/form-actions/src/FormActions.vue.d.ts +0 -51
- package/dist/packages/blocks/form-actions/src/FormActions.vue.d.ts.map +0 -1
- package/dist/packages/blocks/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js +0 -22
- package/dist/packages/blocks/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/form-actions/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/form-section/src/FormSection.js +0 -7
- package/dist/packages/blocks/form-section/src/FormSection.js.map +0 -1
- package/dist/packages/blocks/form-section/src/FormSection.vue.d.ts +0 -85
- package/dist/packages/blocks/form-section/src/FormSection.vue.d.ts.map +0 -1
- package/dist/packages/blocks/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js +0 -64
- package/dist/packages/blocks/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/form-section/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/loading-state/src/LoadingState.js +0 -7
- package/dist/packages/blocks/loading-state/src/LoadingState.js.map +0 -1
- package/dist/packages/blocks/loading-state/src/LoadingState.vue.d.ts.map +0 -1
- package/dist/packages/blocks/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js +0 -59
- package/dist/packages/blocks/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/loading-state/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/metric-card/src/MetricCard.js +0 -7
- package/dist/packages/blocks/metric-card/src/MetricCard.js.map +0 -1
- package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts +0 -77
- package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts.map +0 -1
- package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js +0 -87
- package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/metric-card/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/page-header/src/PageHeader.js +0 -7
- package/dist/packages/blocks/page-header/src/PageHeader.js.map +0 -1
- package/dist/packages/blocks/page-header/src/PageHeader.vue.d.ts.map +0 -1
- package/dist/packages/blocks/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js +0 -68
- package/dist/packages/blocks/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/page-header/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/row-actions/src/RowActions.js +0 -7
- package/dist/packages/blocks/row-actions/src/RowActions.js.map +0 -1
- package/dist/packages/blocks/row-actions/src/RowActions.vue.d.ts.map +0 -1
- package/dist/packages/blocks/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js +0 -47
- package/dist/packages/blocks/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/row-actions/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/sidebar-nav/src/SidebarNav.js +0 -7
- package/dist/packages/blocks/sidebar-nav/src/SidebarNav.js.map +0 -1
- package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue.d.ts.map +0 -1
- package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js +0 -129
- package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/sidebar-nav/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/title-bar/src/TitleBar.js +0 -7
- package/dist/packages/blocks/title-bar/src/TitleBar.js.map +0 -1
- package/dist/packages/blocks/title-bar/src/TitleBar.vue.d.ts +0 -83
- package/dist/packages/blocks/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js +0 -69
- package/dist/packages/blocks/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/title-bar/src/index.d.ts.map +0 -1
- package/dist/packages/blocks/toast-stack/src/ToastStack.js +0 -7
- package/dist/packages/blocks/toast-stack/src/ToastStack.js.map +0 -1
- package/dist/packages/blocks/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js +0 -52
- package/dist/packages/blocks/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/blocks/toast-stack/src/index.d.ts.map +0 -1
- package/dist/packages/composition/center/src/Center.js.map +0 -1
- package/dist/packages/composition/center/src/Center.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/frame/src/Frame.js.map +0 -1
- package/dist/packages/composition/frame/src/Frame.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/grid/src/Grid.js.map +0 -1
- package/dist/packages/composition/grid/src/Grid.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/inline/src/Inline.js.map +0 -1
- package/dist/packages/composition/inline/src/Inline.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/scroll-reel/src/ScrollReel.js.map +0 -1
- package/dist/packages/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/sidebar/src/Sidebar.js.map +0 -1
- package/dist/packages/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/split/src/Split.js.map +0 -1
- package/dist/packages/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/composition/stack/src/Stack.js.map +0 -1
- package/dist/packages/composition/stack/src/Stack.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/core/src/a11y-scope.js +0 -149
- package/dist/packages/core/src/a11y-scope.js.map +0 -1
- package/dist/packages/core/src/attrs.js.map +0 -1
- package/dist/packages/core/src/cn.js +0 -61
- package/dist/packages/core/src/cn.js.map +0 -1
- package/dist/packages/core/src/icon-defaults.js.map +0 -1
- package/dist/packages/core/src/index.js +0 -8
- package/dist/packages/core/src/motion.js +0 -27
- package/dist/packages/core/src/motion.js.map +0 -1
- package/dist/packages/core/src/props.js.map +0 -1
- package/dist/packages/core/src/theme.js.map +0 -1
- package/dist/packages/labels/src/ancestor-disabled.js.map +0 -1
- package/dist/packages/labels/src/count-labels.js.map +0 -1
- package/dist/packages/labels/src/date-labels.js +0 -206
- package/dist/packages/labels/src/date-labels.js.map +0 -1
- package/dist/packages/labels/src/field-context.js.map +0 -1
- package/dist/packages/labels/src/labels.js.map +0 -1
- package/dist/packages/layouts/app-shell/src/AppShell.js.map +0 -1
- package/dist/packages/layouts/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/centered/src/Centered.js.map +0 -1
- package/dist/packages/layouts/centered/src/Centered.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/dashboard/src/Dashboard.js.map +0 -1
- package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js +0 -65
- package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/form-layout/src/FormLayout.js.map +0 -1
- package/dist/packages/layouts/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/master-detail/src/MasterDetail.js.map +0 -1
- package/dist/packages/layouts/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/reading/src/Reading.js.map +0 -1
- package/dist/packages/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/settings/src/Settings.js.map +0 -1
- package/dist/packages/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/layouts/split-layout/src/SplitLayout.js.map +0 -1
- package/dist/packages/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/accordion/src/Accordion.js.map +0 -1
- package/dist/packages/primitives/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/alert/src/Alert.js.map +0 -1
- package/dist/packages/primitives/alert/src/Alert.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/alert-dialog/src/AlertDialog.js.map +0 -1
- package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/avatar/src/Avatar.js.map +0 -1
- package/dist/packages/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/avatar-group/src/AvatarGroup.js.map +0 -1
- package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/badge/src/Badge.js.map +0 -1
- package/dist/packages/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/breadcrumb/src/Breadcrumb.js.map +0 -1
- package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/button/src/Button.js.map +0 -1
- package/dist/packages/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/calendar/src/Calendar.js.map +0 -1
- package/dist/packages/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js +0 -204
- package/dist/packages/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/card/src/Card.js.map +0 -1
- package/dist/packages/primitives/card/src/Card.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/carousel/src/Carousel.js.map +0 -1
- package/dist/packages/primitives/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/checkbox/src/Checkbox.js.map +0 -1
- package/dist/packages/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/chip/src/Chip.js.map +0 -1
- package/dist/packages/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/collapse/src/Collapse.js.map +0 -1
- package/dist/packages/primitives/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/color-picker/src/ColorPicker.js.map +0 -1
- package/dist/packages/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/combobox/src/Combobox.js.map +0 -1
- package/dist/packages/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/command/src/Command.js.map +0 -1
- package/dist/packages/primitives/command/src/Command.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/context-menu/src/ContextMenu.js.map +0 -1
- package/dist/packages/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/copy-button/src/CopyButton.js.map +0 -1
- package/dist/packages/primitives/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/copy-button/src/index.js +0 -3
- package/dist/packages/primitives/data-grid/src/DataGrid.js.map +0 -1
- package/dist/packages/primitives/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/date-picker/src/DatePicker.js.map +0 -1
- package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js +0 -294
- package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/date-range-picker/src/DateRangePicker.js.map +0 -1
- package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js +0 -419
- package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/date-time-picker/src/DateTimePicker.js.map +0 -1
- package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js +0 -361
- package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.js.map +0 -1
- package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +0 -565
- package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/dialog/src/Dialog.js.map +0 -1
- package/dist/packages/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/drawer/src/Drawer.js.map +0 -1
- package/dist/packages/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.js.map +0 -1
- package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/editable/src/Editable.js.map +0 -1
- package/dist/packages/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/field/src/Field.js.map +0 -1
- package/dist/packages/primitives/field/src/Field.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/fieldset/src/Fieldset.js.map +0 -1
- package/dist/packages/primitives/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/file-upload/src/FileUpload.js.map +0 -1
- package/dist/packages/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/hover-card/src/HoverCard.js.map +0 -1
- package/dist/packages/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/icon-button/src/IconButton.js.map +0 -1
- package/dist/packages/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/indicator/src/Indicator.js.map +0 -1
- package/dist/packages/primitives/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/inline-error/src/InlineError.js.map +0 -1
- package/dist/packages/primitives/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/kbd/src/Kbd.js.map +0 -1
- package/dist/packages/primitives/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/link/src/Link.js.map +0 -1
- package/dist/packages/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/list/src/List.js.map +0 -1
- package/dist/packages/primitives/list/src/List.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/list/src/ListItem.js.map +0 -1
- package/dist/packages/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js +0 -101
- package/dist/packages/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/live-region/src/LiveRegion.js.map +0 -1
- package/dist/packages/primitives/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/live-region/src/context.js.map +0 -1
- package/dist/packages/primitives/live-region/src/useAnnounce.js.map +0 -1
- package/dist/packages/primitives/menubar/src/Menubar.js.map +0 -1
- package/dist/packages/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/meter/src/Meter.js.map +0 -1
- package/dist/packages/primitives/meter/src/Meter.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/navigation-menu/src/NavigationMenu.js.map +0 -1
- package/dist/packages/primitives/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/number-field/src/NumberField.js.map +0 -1
- package/dist/packages/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/otp-input/src/OtpInput.js.map +0 -1
- package/dist/packages/primitives/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/pagination/src/Pagination.js.map +0 -1
- package/dist/packages/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/popover/src/Popover.js.map +0 -1
- package/dist/packages/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/progress/src/Progress.js.map +0 -1
- package/dist/packages/primitives/progress/src/Progress.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/radial-progress/src/RadialProgress.js.map +0 -1
- package/dist/packages/primitives/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/radio-group/src/RadioGroup.js.map +0 -1
- package/dist/packages/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/rating/src/Rating.js.map +0 -1
- package/dist/packages/primitives/rating/src/Rating.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/scroll-area/src/ScrollArea.js.map +0 -1
- package/dist/packages/primitives/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/segmented-control/src/SegmentedControl.js.map +0 -1
- package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/select/src/Select.js.map +0 -1
- package/dist/packages/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/separator/src/Separator.js.map +0 -1
- package/dist/packages/primitives/separator/src/Separator.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/skeleton/src/Skeleton.js.map +0 -1
- package/dist/packages/primitives/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/skip-link/src/SkipLink.js.map +0 -1
- package/dist/packages/primitives/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/slider/src/Slider.js.map +0 -1
- package/dist/packages/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/speed-dial/src/SpeedDial.js.map +0 -1
- package/dist/packages/primitives/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/spinner/src/Spinner.js.map +0 -1
- package/dist/packages/primitives/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/stepper/src/Stepper.js.map +0 -1
- package/dist/packages/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/surface/src/Surface.js.map +0 -1
- package/dist/packages/primitives/surface/src/Surface.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/switch/src/Switch.js.map +0 -1
- package/dist/packages/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/table/src/Table.js.map +0 -1
- package/dist/packages/primitives/table/src/Table.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/table/src/TableCell.js.map +0 -1
- package/dist/packages/primitives/table/src/TableCell.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/table/src/TableHead.js.map +0 -1
- package/dist/packages/primitives/table/src/TableHead.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/table/src/TableRow.js.map +0 -1
- package/dist/packages/primitives/table/src/TableRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/tabs/src/Tabs.js.map +0 -1
- package/dist/packages/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/tags-input/src/TagsInput.js.map +0 -1
- package/dist/packages/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/text-field/src/TextField.js.map +0 -1
- package/dist/packages/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/textarea/src/Textarea.js.map +0 -1
- package/dist/packages/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/time-picker/src/TimePicker.js.map +0 -1
- package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js +0 -189
- package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/timeline/src/Timeline.js.map +0 -1
- package/dist/packages/primitives/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/timeline/src/TimelineItem.js.map +0 -1
- package/dist/packages/primitives/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/timeline/src/index.js +0 -5
- package/dist/packages/primitives/toast/src/Toast.js.map +0 -1
- package/dist/packages/primitives/toast/src/Toast.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/toast/src/ToastItem.js.map +0 -1
- package/dist/packages/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/toggle-group/src/ToggleGroup.js.map +0 -1
- package/dist/packages/primitives/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/toolbar/src/Toolbar.js.map +0 -1
- package/dist/packages/primitives/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/toolbar/src/ToolbarSeparator.js.map +0 -1
- package/dist/packages/primitives/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/tooltip/src/Tooltip.js.map +0 -1
- package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/tree-view/src/TreeView.js.map +0 -1
- package/dist/packages/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/tree-view/src/TreeViewNode.js.map +0 -1
- package/dist/packages/primitives/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/tree-view/src/context.js.map +0 -1
- package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.js.map +0 -1
- package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/packages/primitives/window-controls/src/WindowControls.js.map +0 -1
- package/dist/packages/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js +0 -124
- package/dist/packages/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js.map +0 -1
- /package/dist/{packages/composition → composition}/center/src/Center.js +0 -0
- /package/dist/{packages/composition → composition}/center/src/Center.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/center/src/index.js +0 -0
- /package/dist/{packages/blocks → composition}/dashboard-grid/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/frame/src/Frame.js +0 -0
- /package/dist/{packages/composition → composition}/frame/src/Frame.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/frame/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/grid/src/Grid.js +0 -0
- /package/dist/{packages/composition → composition}/grid/src/Grid.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/grid/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/inline/src/Inline.js +0 -0
- /package/dist/{packages/composition → composition}/inline/src/Inline.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/inline/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/scroll-reel/src/ScrollReel.js +0 -0
- /package/dist/{packages/composition → composition}/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/scroll-reel/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/sidebar/src/Sidebar.js +0 -0
- /package/dist/{packages/composition → composition}/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/sidebar/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/split/src/Split.js +0 -0
- /package/dist/{packages/composition → composition}/split/src/Split.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/split/src/index.js +0 -0
- /package/dist/{packages/composition → composition}/stack/src/Stack.js +0 -0
- /package/dist/{packages/composition → composition}/stack/src/Stack.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/composition → composition}/stack/src/index.js +0 -0
- /package/dist/{packages/core → core}/src/attrs.js +0 -0
- /package/dist/{packages/core → core}/src/icon-defaults.js +0 -0
- /package/dist/{packages/core → core}/src/props.js +0 -0
- /package/dist/{packages/core → core}/src/theme.js +0 -0
- /package/dist/{packages/labels → labels}/src/ancestor-disabled.js +0 -0
- /package/dist/{packages/labels → labels}/src/count-labels.js +0 -0
- /package/dist/{packages/labels → labels}/src/field-context.js +0 -0
- /package/dist/{packages/labels → labels}/src/index.js +0 -0
- /package/dist/{packages/labels → labels}/src/labels.js +0 -0
- /package/dist/{packages/layouts → layouts}/app-shell/src/AppShell.js +0 -0
- /package/dist/{packages/layouts → layouts}/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/app-shell/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/centered/src/Centered.js +0 -0
- /package/dist/{packages/layouts → layouts}/centered/src/Centered.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/centered/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/dashboard/src/Dashboard.js +0 -0
- /package/dist/{packages/layouts → layouts}/dashboard/src/index.js +0 -0
- /package/dist/{packages/blocks → layouts}/desktop-app-shell/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/form-layout/src/FormLayout.js +0 -0
- /package/dist/{packages/layouts → layouts}/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/form-layout/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/master-detail/src/MasterDetail.js +0 -0
- /package/dist/{packages/layouts → layouts}/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/master-detail/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/reading/src/Reading.js +0 -0
- /package/dist/{packages/layouts → layouts}/reading/src/Reading.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/reading/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/settings/src/Settings.js +0 -0
- /package/dist/{packages/layouts → layouts}/settings/src/Settings.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/settings/src/index.js +0 -0
- /package/dist/{packages/layouts → layouts}/split-layout/src/SplitLayout.js +0 -0
- /package/dist/{packages/layouts → layouts}/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/layouts → layouts}/split-layout/src/index.js +0 -0
- /package/dist/packages/{blocks → composition}/dashboard-grid/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → layouts}/desktop-app-shell/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/app-header/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/empty-state/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/error-state/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/error-summary/src/ErrorSummary.vue.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/error-summary/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/form-actions/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/form-section/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/loading-state/src/LoadingState.vue.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/loading-state/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/metric-card/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/page-header/src/PageHeader.vue.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/page-header/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/row-actions/src/RowActions.vue.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/row-actions/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/sidebar-nav/src/SidebarNav.vue.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/sidebar-nav/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/title-bar/src/index.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/toast-stack/src/ToastStack.vue.d.ts +0 -0
- /package/dist/packages/{blocks → patterns}/toast-stack/src/index.d.ts +0 -0
- /package/dist/{packages/blocks → patterns}/app-header/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/empty-state/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/error-state/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/error-summary/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/form-actions/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/form-section/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/loading-state/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/metric-card/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/page-header/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/row-actions/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/sidebar-nav/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/title-bar/src/index.js +0 -0
- /package/dist/{packages/blocks → patterns}/toast-stack/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/accordion/src/Accordion.js +0 -0
- /package/dist/{packages/primitives → primitives}/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/accordion/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/alert/src/Alert.js +0 -0
- /package/dist/{packages/primitives → primitives}/alert/src/Alert.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/alert/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/alert-dialog/src/AlertDialog.js +0 -0
- /package/dist/{packages/primitives → primitives}/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/alert-dialog/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/avatar/src/Avatar.js +0 -0
- /package/dist/{packages/primitives → primitives}/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/avatar/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/avatar-group/src/AvatarGroup.js +0 -0
- /package/dist/{packages/primitives → primitives}/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/avatar-group/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/badge/src/Badge.js +0 -0
- /package/dist/{packages/primitives → primitives}/badge/src/Badge.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/badge/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/breadcrumb/src/Breadcrumb.js +0 -0
- /package/dist/{packages/primitives → primitives}/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/breadcrumb/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/button/src/Button.js +0 -0
- /package/dist/{packages/primitives → primitives}/button/src/Button.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/button/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/calendar/src/Calendar.js +0 -0
- /package/dist/{packages/primitives → primitives}/calendar/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/card/src/Card.js +0 -0
- /package/dist/{packages/primitives → primitives}/card/src/Card.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/card/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/carousel/src/Carousel.js +0 -0
- /package/dist/{packages/primitives → primitives}/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/carousel/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/checkbox/src/Checkbox.js +0 -0
- /package/dist/{packages/primitives → primitives}/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/checkbox/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/chip/src/Chip.js +0 -0
- /package/dist/{packages/primitives → primitives}/chip/src/Chip.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/chip/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/collapse/src/Collapse.js +0 -0
- /package/dist/{packages/primitives → primitives}/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/collapse/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/color-picker/src/ColorPicker.js +0 -0
- /package/dist/{packages/primitives → primitives}/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/color-picker/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/combobox/src/Combobox.js +0 -0
- /package/dist/{packages/primitives → primitives}/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/combobox/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/command/src/Command.js +0 -0
- /package/dist/{packages/primitives → primitives}/command/src/Command.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/command/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/context-menu/src/ContextMenu.js +0 -0
- /package/dist/{packages/primitives → primitives}/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/context-menu/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/copy-button/src/CopyButton.js +0 -0
- /package/dist/{packages/primitives → primitives}/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/data-grid/src/DataGrid.js +0 -0
- /package/dist/{packages/primitives → primitives}/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/data-grid/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-picker/src/DatePicker.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-picker/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-range-picker/src/DateRangePicker.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-range-picker/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-time-picker/src/DateTimePicker.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-time-picker/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-time-range-picker/src/DateTimeRangePicker.js +0 -0
- /package/dist/{packages/primitives → primitives}/date-time-range-picker/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/dialog/src/Dialog.js +0 -0
- /package/dist/{packages/primitives → primitives}/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/dialog/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/drawer/src/Drawer.js +0 -0
- /package/dist/{packages/primitives → primitives}/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/drawer/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/dropdown-menu/src/DropdownMenu.js +0 -0
- /package/dist/{packages/primitives → primitives}/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/dropdown-menu/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/editable/src/Editable.js +0 -0
- /package/dist/{packages/primitives → primitives}/editable/src/Editable.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/editable/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/field/src/Field.js +0 -0
- /package/dist/{packages/primitives → primitives}/field/src/Field.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/field/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/fieldset/src/Fieldset.js +0 -0
- /package/dist/{packages/primitives → primitives}/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/fieldset/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/file-upload/src/FileUpload.js +0 -0
- /package/dist/{packages/primitives → primitives}/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/file-upload/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/hover-card/src/HoverCard.js +0 -0
- /package/dist/{packages/primitives → primitives}/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/hover-card/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/icon-button/src/IconButton.js +0 -0
- /package/dist/{packages/primitives → primitives}/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/icon-button/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/indicator/src/Indicator.js +0 -0
- /package/dist/{packages/primitives → primitives}/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/indicator/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/inline-error/src/InlineError.js +0 -0
- /package/dist/{packages/primitives → primitives}/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/inline-error/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/kbd/src/Kbd.js +0 -0
- /package/dist/{packages/primitives → primitives}/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/kbd/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/link/src/Link.js +0 -0
- /package/dist/{packages/primitives → primitives}/link/src/Link.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/link/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/list/src/List.js +0 -0
- /package/dist/{packages/primitives → primitives}/list/src/List.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/list/src/ListItem.js +0 -0
- /package/dist/{packages/primitives → primitives}/list/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/live-region/src/LiveRegion.js +0 -0
- /package/dist/{packages/primitives → primitives}/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/live-region/src/context.js +0 -0
- /package/dist/{packages/primitives → primitives}/live-region/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/live-region/src/useAnnounce.js +0 -0
- /package/dist/{packages/primitives → primitives}/menubar/src/Menubar.js +0 -0
- /package/dist/{packages/primitives → primitives}/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/menubar/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/meter/src/Meter.js +0 -0
- /package/dist/{packages/primitives → primitives}/meter/src/Meter.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/meter/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/navigation-menu/src/NavigationMenu.js +0 -0
- /package/dist/{packages/primitives → primitives}/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/navigation-menu/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/number-field/src/NumberField.js +0 -0
- /package/dist/{packages/primitives → primitives}/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/number-field/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/otp-input/src/OtpInput.js +0 -0
- /package/dist/{packages/primitives → primitives}/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/otp-input/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/pagination/src/Pagination.js +0 -0
- /package/dist/{packages/primitives → primitives}/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/pagination/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/popover/src/Popover.js +0 -0
- /package/dist/{packages/primitives → primitives}/popover/src/Popover.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/popover/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/progress/src/Progress.js +0 -0
- /package/dist/{packages/primitives → primitives}/progress/src/Progress.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/progress/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/radial-progress/src/RadialProgress.js +0 -0
- /package/dist/{packages/primitives → primitives}/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/radial-progress/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/radio-group/src/RadioGroup.js +0 -0
- /package/dist/{packages/primitives → primitives}/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/radio-group/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/rating/src/Rating.js +0 -0
- /package/dist/{packages/primitives → primitives}/rating/src/Rating.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/rating/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/scroll-area/src/ScrollArea.js +0 -0
- /package/dist/{packages/primitives → primitives}/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/scroll-area/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/segmented-control/src/SegmentedControl.js +0 -0
- /package/dist/{packages/primitives → primitives}/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/segmented-control/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/select/src/Select.js +0 -0
- /package/dist/{packages/primitives → primitives}/select/src/Select.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/select/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/separator/src/Separator.js +0 -0
- /package/dist/{packages/primitives → primitives}/separator/src/Separator.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/separator/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/skeleton/src/Skeleton.js +0 -0
- /package/dist/{packages/primitives → primitives}/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/skeleton/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/skip-link/src/SkipLink.js +0 -0
- /package/dist/{packages/primitives → primitives}/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/skip-link/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/slider/src/Slider.js +0 -0
- /package/dist/{packages/primitives → primitives}/slider/src/Slider.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/slider/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/speed-dial/src/SpeedDial.js +0 -0
- /package/dist/{packages/primitives → primitives}/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/speed-dial/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/spinner/src/Spinner.js +0 -0
- /package/dist/{packages/primitives → primitives}/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/spinner/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/stepper/src/Stepper.js +0 -0
- /package/dist/{packages/primitives → primitives}/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/stepper/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/surface/src/Surface.js +0 -0
- /package/dist/{packages/primitives → primitives}/surface/src/Surface.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/surface/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/switch/src/Switch.js +0 -0
- /package/dist/{packages/primitives → primitives}/switch/src/Switch.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/switch/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/Table.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/Table.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/TableCell.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/TableCell.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/TableHead.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/TableHead.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/TableRow.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/TableRow.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/table/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/tabs/src/Tabs.js +0 -0
- /package/dist/{packages/primitives → primitives}/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/tabs/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/tags-input/src/TagsInput.js +0 -0
- /package/dist/{packages/primitives → primitives}/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/tags-input/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/text-field/src/TextField.js +0 -0
- /package/dist/{packages/primitives → primitives}/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/text-field/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/textarea/src/Textarea.js +0 -0
- /package/dist/{packages/primitives → primitives}/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/textarea/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/time-picker/src/TimePicker.js +0 -0
- /package/dist/{packages/primitives → primitives}/time-picker/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/timeline/src/Timeline.js +0 -0
- /package/dist/{packages/primitives → primitives}/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/timeline/src/TimelineItem.js +0 -0
- /package/dist/{packages/primitives → primitives}/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/toast/src/Toast.js +0 -0
- /package/dist/{packages/primitives → primitives}/toast/src/Toast.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/toast/src/ToastItem.js +0 -0
- /package/dist/{packages/primitives → primitives}/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/toast/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/toggle-group/src/ToggleGroup.js +0 -0
- /package/dist/{packages/primitives → primitives}/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/toggle-group/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/toolbar/src/Toolbar.js +0 -0
- /package/dist/{packages/primitives → primitives}/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/toolbar/src/ToolbarSeparator.js +0 -0
- /package/dist/{packages/primitives → primitives}/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/toolbar/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/tooltip/src/Tooltip.js +0 -0
- /package/dist/{packages/primitives → primitives}/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/tooltip/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/tree-view/src/TreeView.js +0 -0
- /package/dist/{packages/primitives → primitives}/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/tree-view/src/TreeViewNode.js +0 -0
- /package/dist/{packages/primitives → primitives}/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/tree-view/src/context.js +0 -0
- /package/dist/{packages/primitives → primitives}/tree-view/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/visually-hidden/src/VisuallyHidden.js +0 -0
- /package/dist/{packages/primitives → primitives}/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js +0 -0
- /package/dist/{packages/primitives → primitives}/visually-hidden/src/index.js +0 -0
- /package/dist/{packages/primitives → primitives}/window-controls/src/WindowControls.js +0 -0
- /package/dist/{packages/primitives → primitives}/window-controls/src/index.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolbarSeparator.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/primitives/toolbar/src/ToolbarSeparator.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport type { ToolbarContext, ToolbarOrientation } from \"./Toolbar.vue\";\nimport { TOOLBAR_CONTEXT } from \"./Toolbar.vue\";\n\n/**\n * ToolbarSeparator — the divider between groups of controls inside a\n * Toolbar. It reads the toolbar's own orientation through the context the\n * toolbar provides and draws along the perpendicular axis, so a horizontal\n * toolbar gets vertical hairlines and a vertical one gets horizontal. Its\n * `role=\"separator\"` is the one an APG toolbar wants between its groups —\n * which is why `decorative` is not offered here: inside a toolbar the line\n * is never merely visual, it IS the group boundary.\n *\n * Composing the `Separator` primitive instead of drawing the hairline here\n * was considered and rejected: the primitive binds `h-full w-px` for its\n * vertical axis, and the short, centered divider a toolbar wants would fight\n * that on Tailwind's emitted order — a coin flip, not a decision. Four lines\n * of divider here beat a class-order lottery.\n */\nconst props = defineProps<{\n /** Only for standalone use — inside a Toolbar the axis is inherited. */\n orientation?: ToolbarOrientation;\n}>();\n\nconst inherited = inject<ToolbarContext | null>(TOOLBAR_CONTEXT, null);\nconst axis = computed(\n () => props.orientation ?? (inherited ? inherited.orientation : \"horizontal\"),\n);\n</script>\n\n<template>\n <div\n role=\"separator\"\n :aria-orientation=\"axis === 'vertical' ? 'horizontal' : 'vertical'\"\n :class=\"axis === 'vertical' ? 'mx-2 h-px w-4 self-center' : 'h-4 w-px self-center'\"\n class=\"shrink-0 bg-border\"\n />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAoBA,MAAM,QAAQ;EAKd,MAAM,YAAY,OAA8B,iBAAiB,IAAI;EACrE,MAAM,OAAO,eACL,MAAM,gBAAgB,YAAY,UAAU,cAAc,aAClE;;GAIE,OAAA,UAAA,GAAA,mBAKE,OAAA;IAJA,MAAK;IACJ,oBAAkB,KAAA,UAAI,aAAA,eAAA;IACtB,OAAK,eAAA,CAAE,KAAA,UAAI,aAAA,8BAAA,wBACN,oBAAoB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":[],"sources":["../../../../../packages/primitives/tooltip/src/Tooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Which edge of the trigger the tip prefers, before collision flipping. The\n * members mirror Reka's own `Side`, and the template binding is what enforces\n * that: a member Reka does not accept stops `:side=\"side\"` type-checking.\n * Declared here rather than aliased so the generated props table prints the\n * four values instead of a name that tells the reader nothing.\n */\nexport type TooltipSide = \"top\" | \"right\" | \"bottom\" | \"left\";\n</script>\n\n<script setup lang=\"ts\">\nimport {\n TooltipProvider,\n TooltipRoot,\n TooltipTrigger,\n TooltipPortal,\n TooltipContent,\n TooltipArrow,\n} from \"reka-ui\";\nimport { cn } from \"@ecoma-io/loom-core\";\nimport { optional } from \"@ecoma-io/loom-core\";\n\n/**\n * Tooltip — a short, non-interactive hint on hover or keyboard focus of its\n * trigger: the label for an icon-only button, or one terse explanation.\n *\n * A tooltip is not a small dialog, and the difference is the whole contract.\n * It never takes focus — focus stays on the trigger the entire time it is\n * shown, which is what lets a keyboard user read it and keep going. Hovering\n * the trigger or focusing it opens the tip; Esc, blur and moving the pointer\n * away close it; the page behind never stops scrolling. Nothing inside it can\n * be reached, so nothing interactive belongs inside it. The moment a hint\n * needs a link or a button, it is a `Popover`.\n *\n * It is wired as `aria-describedby`, never `aria-labelledby`: it *supplements*\n * an accessible name and must never be the only source of one. An icon-only\n * button still carries its own `aria-label` — a screen reader user who never\n * hovers would otherwise meet an unnamed button.\n *\n * The provider is bundled in so a single tooltip works with no setup. An\n * application with many can hoist one Reka `TooltipProvider` higher later,\n * which is what shares the hover delay across them.\n */\nwithDefaults(\n defineProps<{\n /** The hint text. The default slot overrides it where the hint needs markup. */\n content?: string;\n /** The edge of the trigger to anchor against, before collision flipping. */\n side?: TooltipSide;\n /** Gap in pixels between the trigger and the tip. */\n sideOffset?: number;\n /** Milliseconds of hover before the tip appears. Keyboard focus is always immediate. */\n delay?: number;\n /** Drive the tip from the host with `v-model:open` — an onboarding hint, say. Omit it for hover and focus alone. */\n open?: boolean | undefined;\n }>(),\n // `open: undefined` is load-bearing, not a redundant default — it is what\n // keeps the uncontrolled third state reachable past Vue's absent-Boolean\n // casting. `optional()` in the template is the other half; its docblock\n // carries the reasoning for both. `content` needs no such entry: a string\n // prop is already `undefined` when absent.\n { open: undefined, side: \"top\", sideOffset: 6, delay: 300 },\n);\n\ndefineEmits<{ \"update:open\": [value: boolean] }>();\n</script>\n\n<template>\n <TooltipProvider :delay-duration=\"delay\">\n <TooltipRoot v-bind=\"optional({ open })\" @update:open=\"$emit('update:open', $event)\">\n <!-- @slot The element the hint describes. Rendered `as-child`, so the\n caller's own element *is* the trigger and keeps its own accessible\n name. -->\n <TooltipTrigger as-child>\n <slot name=\"trigger\" />\n </TooltipTrigger>\n\n <TooltipPortal>\n <TooltipContent\n :side=\"side\"\n :side-offset=\"sideOffset\"\n :class=\"\n cn(\n 'z-overlay max-w-[16rem] rounded-md bg-foreground px-2 py-1 text-xs font-medium text-background shadow-md',\n // Scoped to the open state, never unconditional. Reka's Presence\n // keeps closed content mounted until an animationend arrives, and\n // a mount-only animation never fires a second one — so an\n // unconditional animation class leaves a stray tip in the page.\n // Scoped, the closed element computes `animation-name: none` and\n // Presence unmounts it at once; the paired exit is precisely what\n // Presence is waiting to hold it for.\n //\n // `delayed-open` rather than `open`: the animation belongs to the\n // hover path, which the user waited for. A tip opened by keyboard\n // focus appears instantly, because a keyboard user asked for it\n // deliberately and has nothing to wait through. The exit needs no\n // such split — Reka reports both open flavours as plain `closed`\n // on the way out, so one class answers them both.\n 'data-[state=delayed-open]:animate-scale-in data-[state=closed]:animate-scale-out',\n )\n \"\n style=\"transform-origin: var(--reka-popper-transform-origin)\"\n >\n <!-- @slot The hint, where markup is needed. Takes precedence over\n `content`. Nothing interactive belongs here — a tooltip cannot be\n reached by keyboard or pointer. -->\n <slot>{{ content }}</slot>\n <TooltipArrow class=\"fill-foreground\" :width=\"10\" :height=\"5\" />\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n </TooltipProvider>\n</template>\n"],"mappings":""}
|
package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../../../packages/primitives/tooltip/src/Tooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Which edge of the trigger the tip prefers, before collision flipping. The\n * members mirror Reka's own `Side`, and the template binding is what enforces\n * that: a member Reka does not accept stops `:side=\"side\"` type-checking.\n * Declared here rather than aliased so the generated props table prints the\n * four values instead of a name that tells the reader nothing.\n */\nexport type TooltipSide = \"top\" | \"right\" | \"bottom\" | \"left\";\n</script>\n\n<script setup lang=\"ts\">\nimport {\n TooltipProvider,\n TooltipRoot,\n TooltipTrigger,\n TooltipPortal,\n TooltipContent,\n TooltipArrow,\n} from \"reka-ui\";\nimport { cn } from \"@ecoma-io/loom-core\";\nimport { optional } from \"@ecoma-io/loom-core\";\n\n/**\n * Tooltip — a short, non-interactive hint on hover or keyboard focus of its\n * trigger: the label for an icon-only button, or one terse explanation.\n *\n * A tooltip is not a small dialog, and the difference is the whole contract.\n * It never takes focus — focus stays on the trigger the entire time it is\n * shown, which is what lets a keyboard user read it and keep going. Hovering\n * the trigger or focusing it opens the tip; Esc, blur and moving the pointer\n * away close it; the page behind never stops scrolling. Nothing inside it can\n * be reached, so nothing interactive belongs inside it. The moment a hint\n * needs a link or a button, it is a `Popover`.\n *\n * It is wired as `aria-describedby`, never `aria-labelledby`: it *supplements*\n * an accessible name and must never be the only source of one. An icon-only\n * button still carries its own `aria-label` — a screen reader user who never\n * hovers would otherwise meet an unnamed button.\n *\n * The provider is bundled in so a single tooltip works with no setup. An\n * application with many can hoist one Reka `TooltipProvider` higher later,\n * which is what shares the hover delay across them.\n */\nwithDefaults(\n defineProps<{\n /** The hint text. The default slot overrides it where the hint needs markup. */\n content?: string;\n /** The edge of the trigger to anchor against, before collision flipping. */\n side?: TooltipSide;\n /** Gap in pixels between the trigger and the tip. */\n sideOffset?: number;\n /** Milliseconds of hover before the tip appears. Keyboard focus is always immediate. */\n delay?: number;\n /** Drive the tip from the host with `v-model:open` — an onboarding hint, say. Omit it for hover and focus alone. */\n open?: boolean | undefined;\n }>(),\n // `open: undefined` is load-bearing, not a redundant default — it is what\n // keeps the uncontrolled third state reachable past Vue's absent-Boolean\n // casting. `optional()` in the template is the other half; its docblock\n // carries the reasoning for both. `content` needs no such entry: a string\n // prop is already `undefined` when absent.\n { open: undefined, side: \"top\", sideOffset: 6, delay: 300 },\n);\n\ndefineEmits<{ \"update:open\": [value: boolean] }>();\n</script>\n\n<template>\n <TooltipProvider :delay-duration=\"delay\">\n <TooltipRoot v-bind=\"optional({ open })\" @update:open=\"$emit('update:open', $event)\">\n <!-- @slot The element the hint describes. Rendered `as-child`, so the\n caller's own element *is* the trigger and keeps its own accessible\n name. -->\n <TooltipTrigger as-child>\n <slot name=\"trigger\" />\n </TooltipTrigger>\n\n <TooltipPortal>\n <TooltipContent\n :side=\"side\"\n :side-offset=\"sideOffset\"\n :class=\"\n cn(\n 'z-overlay max-w-[16rem] rounded-md bg-foreground px-2 py-1 text-xs font-medium text-background shadow-md',\n // Scoped to the open state, never unconditional. Reka's Presence\n // keeps closed content mounted until an animationend arrives, and\n // a mount-only animation never fires a second one — so an\n // unconditional animation class leaves a stray tip in the page.\n // Scoped, the closed element computes `animation-name: none` and\n // Presence unmounts it at once; the paired exit is precisely what\n // Presence is waiting to hold it for.\n //\n // `delayed-open` rather than `open`: the animation belongs to the\n // hover path, which the user waited for. A tip opened by keyboard\n // focus appears instantly, because a keyboard user asked for it\n // deliberately and has nothing to wait through. The exit needs no\n // such split — Reka reports both open flavours as plain `closed`\n // on the way out, so one class answers them both.\n 'data-[state=delayed-open]:animate-scale-in data-[state=closed]:animate-scale-out',\n )\n \"\n style=\"transform-origin: var(--reka-popper-transform-origin)\"\n >\n <!-- @slot The hint, where markup is needed. Takes precedence over\n `content`. Nothing interactive belongs here — a tooltip cannot be\n reached by keyboard or pointer. -->\n <slot>{{ content }}</slot>\n <TooltipArrow class=\"fill-foreground\" :width=\"10\" :height=\"5\" />\n </TooltipContent>\n </TooltipPortal>\n </TooltipRoot>\n </TooltipProvider>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;GAqEE,OAAA,UAAA,GAAA,YA2CkB,MAAA,eAAA,GAAA,EA3CA,kBAAgB,QAAA,MAAK,GAAA;IACrC,SAAA,cAyCc,CAzCd,YAyCc,MAAA,WAAA,GAzCd,WAAqB,MAyCP,QAAA,CAzCe,CAAA,EAAA,MAAG,QAAA,KAAI,CAAA,GAAA,EAAM,iBAAW,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,eAAgB,MAAM,GAAA,CAAA,GAAA;KAIhF,SAAA,cAEiB,CAFjB,YAEiB,MAAA,cAAA,GAAA,EAFD,YAAA,GAAQ,GAAA;MACtB,SAAA,cAAuB,CAAvB,WAAuB,KAAA,QAAA,SAAA,CAAA,CAAA;;KAGzB,CAAA,GAAA,YAgCgB,MAAA,aAAA,GAAA,MAAA;MA/Bd,SAAA,cA8BiB,CA9BjB,YA8BiB,MAAA,cAAA,GAAA;OA7Bd,MAAM,QAAA;OACN,eAAa,QAAA;OACb,OAAK,eAAe,MAAA,EAAA,CAAE,CAAA,4GAAA,kFAAA,CAAA;OAoBvB,OAAA,EAAA,oBAAA,sCAAA;;OAKA,SAAA,cAA0B,CAA1B,WAA0B,KAAA,QAAA,WAAA,CAAA,SAAA,CAAjB,gBAAA,gBAAA,QAAA,OAAO,GAAA,CAAA,CAAA,CAAA,GAChB,YAAgE,MAAA,YAAA,GAAA;QAAlD,OAAM;QAAmB,OAAO;QAAK,QAAQ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.js","names":[],"sources":["../../../../../packages/primitives/tree-view/src/TreeView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { LabelOverrides, TreeViewLabels } from \"@ecoma-io/loom-labels\";\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it.\n * Everything else a tree renders is a node's own label, so the bag is one\n * string — but it is a string a reader waits on.\n */\nexport const TREE_VIEW_LABELS: TreeViewLabels = {\n loading: \"Loading…\",\n};\n\n/**\n * One node of the tree. `children`'s shape is the contract for expansion: an\n * array of any length (including empty — a known leaf) is static data the\n * tree renders directly, while a node *without* one under a `loadChildren`\n * tree is treated as a branch still to fetch.\n */\nexport interface TreeNode {\n /** The value bound to `v-model` when this node is chosen. Unique within the tree. */\n value: string | number;\n /** The text shown on the row and matched by the typeahead. */\n label: string;\n /** This node's children. Their presence is what makes the row expandable. */\n children?: TreeNode[];\n /** Present but unchoosable: visible, arrow-reachable, refuses selection and expansion. */\n disabled?: boolean;\n}\n\n/** Whether one node or several can be chosen at once. */\nexport type TreeViewSelectionMode = \"single\" | \"multiple\";\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onScopeDispose, provide, ref, watch } from \"vue\";\nimport { useAncestorDisabled, useLabels } from \"@ecoma-io/loom-labels\";\nimport { TREE_VIEW_CONTEXT, type TreeViewContext, type TreeViewNodeState } from \"./context\";\nimport TreeViewNode from \"./TreeViewNode.vue\";\n\nconst props = withDefaults(\n defineProps<{\n /** The nodes, in the order they are shown, parents before children. */\n nodes: TreeNode[];\n /**\n * The chosen node's `value` — or every chosen value, when `selectionMode`\n * is \"multiple\". The union, not two generic shapes, for the same reason\n * Combobox is: `v-model` needs one binding whose type does not depend on\n * another prop's value, and a scalar/array mismatch is caught the same\n * place the tree catches it — at the render.\n */\n modelValue?: string | number | Array<string | number> | undefined;\n /** Whether one node or several can be chosen at once. */\n selectionMode?: TreeViewSelectionMode;\n /**\n * Fetch a branch's children the first time it is expanded. A node with no\n * `children` of its own is treated as lazily loadable; one that resolves\n * to an empty array becomes a leaf, and a rejected fetch leaves the node\n * collapsed so the next activation retries rather than caching failure.\n */\n loadChildren?: (node: TreeNode) => Promise<TreeNode[]>;\n /** Node values expanded on mount. After mount the tree owns the state. */\n defaultExpanded?: Array<string | number>;\n /**\n * Unavailable: the rows dim, refuse selection and expansion, and drop out\n * of the tab order. Unset defers to an enclosing `<fieldset disabled>`\n * read straight off the DOM.\n */\n disabled?: boolean | undefined;\n /** Names for the strings this control supplies itself. */\n labels?: LabelOverrides<TreeViewLabels> | undefined;\n }>(),\n {\n modelValue: undefined,\n selectionMode: \"single\",\n defaultExpanded: () => [],\n disabled: undefined,\n labels: undefined,\n },\n);\n\nconst emit = defineEmits<{\n /** The chosen node's `value` — or the whole chosen list, when `selectionMode` is \"multiple\". */\n \"update:modelValue\": [value: string | number | Array<string | number>];\n}>();\n\n/**\n * A row as the keyboard sees it: one step of the depth-first walk of the\n * visible tree, with everything the key map needs resolved once per change\n * instead of per keystroke.\n */\ninterface FlatRow {\n value: string | number;\n node: TreeNode;\n level: number;\n setsize: number;\n posinset: number;\n parentId: string | number | null;\n expandable: boolean;\n expanded: boolean;\n selected: boolean;\n busy: boolean;\n disabled: boolean;\n}\n\nconst rootEl = ref<HTMLUListElement | null>(null);\n\nconst ancestorDisabled = useAncestorDisabled(() => rootEl.value);\nconst controlDisabled = computed(() => (props.disabled ?? false) || ancestorDisabled.value);\n\nconst text = useLabels(\"treeView\", TREE_VIEW_LABELS, () => props.labels);\n\n// Seeded once from `defaultExpanded`, then the tree owns it — a prop the user\n// edits after mount silently losing their edits is worse than a seed.\nconst expandedKeys = ref(new Set<string | number>(props.defaultExpanded));\nconst loadingKeys = ref(new Set<string | number>());\nconst lazyChildren = ref(new Map<string | number, TreeNode[]>());\nconst focusValue = ref<string | number | null>(null);\n\nfunction toKeySet(\n model: string | number | Array<string | number> | undefined,\n): Set<string | number> {\n if (model == null) return new Set();\n return new Set(Array.isArray(model) ? model : [model]);\n}\n\n// A mirror rather than a read-through, so the tree works uncontrolled (`v-model`\n// absent, `modelValue` never supplied) exactly as it does controlled — the same\n// contract Combobox keeps.\nconst selectedKeys = ref(toKeySet(props.modelValue));\nwatch(\n () => props.modelValue,\n (next) => {\n selectedKeys.value = toKeySet(next);\n },\n);\n\nfunction childrenOf(node: TreeNode): TreeNode[] {\n if (Array.isArray(node.children)) return node.children;\n return lazyChildren.value.get(node.value) ?? [];\n}\n\n/**\n * A row can open when it has children to show: a non-empty `children` array,\n * or a fetch already resolved beneath it — an empty resolution *is* the\n * answer, and the row collapses back to a leaf rather than offering a branch\n * that opens onto nothing.\n */\nfunction isExpandable(node: TreeNode): boolean {\n if (Array.isArray(node.children)) return node.children.length > 0;\n const loaded = lazyChildren.value.get(node.value);\n if (loaded) return loaded.length > 0;\n return props.loadChildren != null;\n}\n\nconst flatRows = computed<FlatRow[]>(() => {\n const rows: FlatRow[] = [];\n const walk = (nodes: TreeNode[], level: number, parentId: string | number | null): void => {\n for (let index = 0; index < nodes.length; index++) {\n const node = nodes[index];\n if (!node) continue;\n const expandable = isExpandable(node);\n const expanded = expandable && expandedKeys.value.has(node.value);\n rows.push({\n value: node.value,\n node,\n level,\n setsize: nodes.length,\n posinset: index + 1,\n parentId,\n expandable,\n expanded,\n selected: selectedKeys.value.has(node.value),\n busy: loadingKeys.value.has(node.value),\n disabled: (node.disabled ?? false) || controlDisabled.value,\n });\n if (expanded) walk(childrenOf(node), level + 1, node.value);\n }\n };\n walk(props.nodes, 1, null);\n return rows;\n});\n\nconst rowByValue = computed(() => new Map(flatRows.value.map((row) => [row.value, row])));\n\n// The roving tab stop: wherever the reader last was, or — before the first\n// arrow key — the first row a Tab is allowed to land on. A disabled row is\n// reachable from inside the tree but never *entered* from outside it.\nconst tabStopValue = computed<string | number | null>(() => {\n // The stop answers \"where Tab would land\", not \"where the reader is\": the\n // arrows deliberately rest on disabled rows, but entering the tree from\n // outside must land on the first enabled one.\n const focused = focusValue.value != null ? rowByValue.value.get(focusValue.value) : undefined;\n if (focused && !focused.disabled) return focusValue.value;\n const firstEnabled = flatRows.value.find((row) => !row.disabled);\n return firstEnabled?.value ?? null;\n});\n\nfunction stateFor(node: TreeNode): TreeViewNodeState {\n const row = rowByValue.value.get(node.value);\n return {\n expandable: row?.expandable ?? false,\n expanded: row?.expanded ?? false,\n selected: row?.selected ?? false,\n busy: row?.busy ?? false,\n disabled: row?.disabled ?? false,\n focusable: !controlDisabled.value && row?.value === tabStopValue.value,\n };\n}\n\nasync function expandRow(row: FlatRow): Promise<void> {\n const value = row.node.value;\n if (\n row.disabled ||\n !row.expandable ||\n expandedKeys.value.has(value) ||\n loadingKeys.value.has(value)\n ) {\n return;\n }\n const isLazy =\n !Array.isArray(row.node.children) &&\n props.loadChildren != null &&\n !lazyChildren.value.has(value);\n if (isLazy && props.loadChildren) {\n loadingKeys.value = new Set(loadingKeys.value).add(value);\n try {\n const children = await props.loadChildren(row.node);\n const next = new Map(lazyChildren.value);\n next.set(value, children);\n lazyChildren.value = next;\n } catch {\n // The fetch failed: leave the row collapsed and still expandable, so\n // the next activation retries rather than caching a broken branch.\n return;\n } finally {\n const settled = new Set(loadingKeys.value);\n settled.delete(value);\n loadingKeys.value = settled;\n }\n }\n expandedKeys.value = new Set(expandedKeys.value).add(value);\n}\n\nfunction collapseRow(value: string | number): void {\n const next = new Set(expandedKeys.value);\n next.delete(value);\n expandedKeys.value = next;\n}\n\nfunction selectRow(node: TreeNode): void {\n if (controlDisabled.value || node.disabled) return;\n if (props.selectionMode === \"multiple\") {\n const next = new Set(selectedKeys.value);\n if (next.has(node.value)) next.delete(node.value);\n else next.add(node.value);\n selectedKeys.value = next;\n emit(\"update:modelValue\", [...next]);\n return;\n }\n selectedKeys.value = new Set([node.value]);\n emit(\"update:modelValue\", node.value);\n}\n\nfunction rowElement(value: string | number): HTMLElement | null {\n const root = rootEl.value;\n if (!root) return null;\n return root.querySelector<HTMLElement>(`[data-tree-value=\"${CSS.escape(String(value))}\"]`);\n}\n\nfunction focusRow(row: FlatRow | undefined): void {\n if (!row) return;\n focusValue.value = row.node.value;\n void nextTick(() => {\n rowElement(row.value)?.focus();\n });\n}\n\nfunction onRowFocus(node: TreeNode): void {\n focusValue.value = node.value;\n}\n\nfunction onRowActivate(node: TreeNode): void {\n const row = rowByValue.value.get(node.value);\n if (!row || controlDisabled.value) return;\n focusRow(row);\n selectRow(node);\n}\n\nfunction onChevronActivate(node: TreeNode): void {\n const row = rowByValue.value.get(node.value);\n if (!row || controlDisabled.value || row.disabled) return;\n focusRow(row);\n if (row.expanded) collapseRow(node.value);\n else void expandRow(row);\n}\n\nfunction currentRowIndex(): number {\n if (focusValue.value == null) return -1;\n return flatRows.value.findIndex((row) => row.value === focusValue.value);\n}\n\n/*\n * The typeahead. APG trees match a prefix of the row's label, starting after\n * the current row and wrapping; the same character typed again cycles to that\n * character's next match rather than extending a prefix to itself. The buffer\n * is 500 ms, and the timer is released with the scope so a tree torn down\n * mid-typeahead leaves nothing pending.\n */\nconst TYPEAHEAD_RESET_MS = 500;\nlet typeaheadBuffer = \"\";\nlet typeaheadTimer: ReturnType<typeof setTimeout> | undefined;\n\nfunction handleTypeahead(event: KeyboardEvent): void {\n if (event.key.length !== 1 || event.altKey || event.ctrlKey || event.metaKey) return;\n if (flatRows.value.length === 0) return;\n const char = event.key.toLowerCase();\n // Repeat detection reads the buffer's LAST character: a multi-character\n // prefix must survive a repeated final character so the walk cycles to\n // the next match instead of extending the prefix to a non-match.\n if (typeaheadBuffer.slice(-1) !== char) typeaheadBuffer += char;\n const query = typeaheadBuffer;\n const start = currentRowIndex() + 1;\n for (let step = 0; step < flatRows.value.length; step++) {\n const row = flatRows.value[(start + step) % flatRows.value.length];\n // Typeahead is a jump made from outside the walk, like the entry tab\n // stop: it lands on a row the reader can act on. The arrows remain the\n // way to deliberately rest on a disabled row.\n if (row && !row.disabled && row.node.label.toLowerCase().startsWith(query)) {\n focusRow(row);\n break;\n }\n }\n event.preventDefault();\n if (typeaheadTimer !== undefined) clearTimeout(typeaheadTimer);\n typeaheadTimer = setTimeout(() => {\n typeaheadBuffer = \"\";\n typeaheadTimer = undefined;\n }, TYPEAHEAD_RESET_MS);\n}\n\nonScopeDispose(() => {\n if (typeaheadTimer !== undefined) clearTimeout(typeaheadTimer);\n});\n\n/**\n * One keydown on the root, reached from every row by bubbling: the key map is\n * written once against the flat visible walk instead of duplicated per row.\n * Disabled rows stay in the arrow walk — present and reachable, per the APG —\n * but Enter, Space and the disclosure keys refuse them.\n */\nfunction onKeydown(event: KeyboardEvent): void {\n if (controlDisabled.value) return;\n const rows = flatRows.value;\n if (rows.length === 0) return;\n const index = currentRowIndex();\n const row = index >= 0 ? rows[index] : undefined;\n\n switch (event.key) {\n case \"ArrowDown\": {\n const next = rows[index + 1];\n if (next) focusRow(next);\n break;\n }\n case \"ArrowUp\": {\n const previous = index > 0 ? rows[index - 1] : undefined;\n if (previous) focusRow(previous);\n break;\n }\n case \"Home\":\n focusRow(rows[0]);\n break;\n case \"End\":\n focusRow(rows[rows.length - 1]);\n break;\n case \"ArrowRight\": {\n if (!row) break;\n if (row.disabled) break;\n if (row.expandable && !row.expanded) {\n void expandRow(row);\n break;\n }\n if (row.expanded) {\n const child = rows[index + 1];\n if (child && child.level === row.level + 1) focusRow(child);\n }\n break;\n }\n case \"ArrowLeft\": {\n if (!row) break;\n if (row.disabled) break;\n if (row.expandable && row.expanded) {\n collapseRow(row.value);\n break;\n }\n if (row.parentId != null) {\n const parent = rowByValue.value.get(row.parentId);\n if (parent) focusRow(parent);\n }\n break;\n }\n case \"Enter\":\n case \" \":\n if (row) selectRow(row.node);\n break;\n default:\n handleTypeahead(event);\n return;\n }\n event.preventDefault();\n}\n\nprovide(TREE_VIEW_CONTEXT, {\n stateFor,\n childrenOf,\n loadingText: computed(() => text.value.loading),\n onRowFocus,\n onRowActivate,\n onChevronActivate,\n} satisfies TreeViewContext);\n</script>\n\n<!--\n The tree is a plain `<ul>`, so the caller's `aria-label`, `aria-labelledby`\n and `id` fall through to it untouched — naming the tree is naming the\n element, exactly as the APG example does. Rows render one tab stop at a\n time (roving tabindex); the keydown above is the only keyboard listener.\n-->\n<template>\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -- the container is deliberately not focusable: focus roves across the rows (APG tree view), so exactly one row holds the tab stop and the `<ul>` itself never takes one. -->\n <ul\n ref=\"rootEl\"\n role=\"tree\"\n :aria-multiselectable=\"selectionMode === 'multiple' ? 'true' : undefined\"\n :aria-disabled=\"controlDisabled ? 'true' : undefined\"\n class=\"m-0 list-none select-none p-0 text-sm text-foreground\"\n @keydown=\"onKeydown\"\n >\n <TreeViewNode\n v-for=\"(node, index) in nodes\"\n :key=\"node.value\"\n :node=\"node\"\n :level=\"1\"\n :setsize=\"nodes.length\"\n :posinset=\"index + 1\"\n />\n </ul>\n</template>\n"],"mappings":""}
|
package/dist/packages/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/primitives/tree-view/src/TreeView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { LabelOverrides, TreeViewLabels } from \"@ecoma-io/loom-labels\";\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it.\n * Everything else a tree renders is a node's own label, so the bag is one\n * string — but it is a string a reader waits on.\n */\nexport const TREE_VIEW_LABELS: TreeViewLabels = {\n loading: \"Loading…\",\n};\n\n/**\n * One node of the tree. `children`'s shape is the contract for expansion: an\n * array of any length (including empty — a known leaf) is static data the\n * tree renders directly, while a node *without* one under a `loadChildren`\n * tree is treated as a branch still to fetch.\n */\nexport interface TreeNode {\n /** The value bound to `v-model` when this node is chosen. Unique within the tree. */\n value: string | number;\n /** The text shown on the row and matched by the typeahead. */\n label: string;\n /** This node's children. Their presence is what makes the row expandable. */\n children?: TreeNode[];\n /** Present but unchoosable: visible, arrow-reachable, refuses selection and expansion. */\n disabled?: boolean;\n}\n\n/** Whether one node or several can be chosen at once. */\nexport type TreeViewSelectionMode = \"single\" | \"multiple\";\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onScopeDispose, provide, ref, watch } from \"vue\";\nimport { useAncestorDisabled, useLabels } from \"@ecoma-io/loom-labels\";\nimport { TREE_VIEW_CONTEXT, type TreeViewContext, type TreeViewNodeState } from \"./context\";\nimport TreeViewNode from \"./TreeViewNode.vue\";\n\nconst props = withDefaults(\n defineProps<{\n /** The nodes, in the order they are shown, parents before children. */\n nodes: TreeNode[];\n /**\n * The chosen node's `value` — or every chosen value, when `selectionMode`\n * is \"multiple\". The union, not two generic shapes, for the same reason\n * Combobox is: `v-model` needs one binding whose type does not depend on\n * another prop's value, and a scalar/array mismatch is caught the same\n * place the tree catches it — at the render.\n */\n modelValue?: string | number | Array<string | number> | undefined;\n /** Whether one node or several can be chosen at once. */\n selectionMode?: TreeViewSelectionMode;\n /**\n * Fetch a branch's children the first time it is expanded. A node with no\n * `children` of its own is treated as lazily loadable; one that resolves\n * to an empty array becomes a leaf, and a rejected fetch leaves the node\n * collapsed so the next activation retries rather than caching failure.\n */\n loadChildren?: (node: TreeNode) => Promise<TreeNode[]>;\n /** Node values expanded on mount. After mount the tree owns the state. */\n defaultExpanded?: Array<string | number>;\n /**\n * Unavailable: the rows dim, refuse selection and expansion, and drop out\n * of the tab order. Unset defers to an enclosing `<fieldset disabled>`\n * read straight off the DOM.\n */\n disabled?: boolean | undefined;\n /** Names for the strings this control supplies itself. */\n labels?: LabelOverrides<TreeViewLabels> | undefined;\n }>(),\n {\n modelValue: undefined,\n selectionMode: \"single\",\n defaultExpanded: () => [],\n disabled: undefined,\n labels: undefined,\n },\n);\n\nconst emit = defineEmits<{\n /** The chosen node's `value` — or the whole chosen list, when `selectionMode` is \"multiple\". */\n \"update:modelValue\": [value: string | number | Array<string | number>];\n}>();\n\n/**\n * A row as the keyboard sees it: one step of the depth-first walk of the\n * visible tree, with everything the key map needs resolved once per change\n * instead of per keystroke.\n */\ninterface FlatRow {\n value: string | number;\n node: TreeNode;\n level: number;\n setsize: number;\n posinset: number;\n parentId: string | number | null;\n expandable: boolean;\n expanded: boolean;\n selected: boolean;\n busy: boolean;\n disabled: boolean;\n}\n\nconst rootEl = ref<HTMLUListElement | null>(null);\n\nconst ancestorDisabled = useAncestorDisabled(() => rootEl.value);\nconst controlDisabled = computed(() => (props.disabled ?? false) || ancestorDisabled.value);\n\nconst text = useLabels(\"treeView\", TREE_VIEW_LABELS, () => props.labels);\n\n// Seeded once from `defaultExpanded`, then the tree owns it — a prop the user\n// edits after mount silently losing their edits is worse than a seed.\nconst expandedKeys = ref(new Set<string | number>(props.defaultExpanded));\nconst loadingKeys = ref(new Set<string | number>());\nconst lazyChildren = ref(new Map<string | number, TreeNode[]>());\nconst focusValue = ref<string | number | null>(null);\n\nfunction toKeySet(\n model: string | number | Array<string | number> | undefined,\n): Set<string | number> {\n if (model == null) return new Set();\n return new Set(Array.isArray(model) ? model : [model]);\n}\n\n// A mirror rather than a read-through, so the tree works uncontrolled (`v-model`\n// absent, `modelValue` never supplied) exactly as it does controlled — the same\n// contract Combobox keeps.\nconst selectedKeys = ref(toKeySet(props.modelValue));\nwatch(\n () => props.modelValue,\n (next) => {\n selectedKeys.value = toKeySet(next);\n },\n);\n\nfunction childrenOf(node: TreeNode): TreeNode[] {\n if (Array.isArray(node.children)) return node.children;\n return lazyChildren.value.get(node.value) ?? [];\n}\n\n/**\n * A row can open when it has children to show: a non-empty `children` array,\n * or a fetch already resolved beneath it — an empty resolution *is* the\n * answer, and the row collapses back to a leaf rather than offering a branch\n * that opens onto nothing.\n */\nfunction isExpandable(node: TreeNode): boolean {\n if (Array.isArray(node.children)) return node.children.length > 0;\n const loaded = lazyChildren.value.get(node.value);\n if (loaded) return loaded.length > 0;\n return props.loadChildren != null;\n}\n\nconst flatRows = computed<FlatRow[]>(() => {\n const rows: FlatRow[] = [];\n const walk = (nodes: TreeNode[], level: number, parentId: string | number | null): void => {\n for (let index = 0; index < nodes.length; index++) {\n const node = nodes[index];\n if (!node) continue;\n const expandable = isExpandable(node);\n const expanded = expandable && expandedKeys.value.has(node.value);\n rows.push({\n value: node.value,\n node,\n level,\n setsize: nodes.length,\n posinset: index + 1,\n parentId,\n expandable,\n expanded,\n selected: selectedKeys.value.has(node.value),\n busy: loadingKeys.value.has(node.value),\n disabled: (node.disabled ?? false) || controlDisabled.value,\n });\n if (expanded) walk(childrenOf(node), level + 1, node.value);\n }\n };\n walk(props.nodes, 1, null);\n return rows;\n});\n\nconst rowByValue = computed(() => new Map(flatRows.value.map((row) => [row.value, row])));\n\n// The roving tab stop: wherever the reader last was, or — before the first\n// arrow key — the first row a Tab is allowed to land on. A disabled row is\n// reachable from inside the tree but never *entered* from outside it.\nconst tabStopValue = computed<string | number | null>(() => {\n // The stop answers \"where Tab would land\", not \"where the reader is\": the\n // arrows deliberately rest on disabled rows, but entering the tree from\n // outside must land on the first enabled one.\n const focused = focusValue.value != null ? rowByValue.value.get(focusValue.value) : undefined;\n if (focused && !focused.disabled) return focusValue.value;\n const firstEnabled = flatRows.value.find((row) => !row.disabled);\n return firstEnabled?.value ?? null;\n});\n\nfunction stateFor(node: TreeNode): TreeViewNodeState {\n const row = rowByValue.value.get(node.value);\n return {\n expandable: row?.expandable ?? false,\n expanded: row?.expanded ?? false,\n selected: row?.selected ?? false,\n busy: row?.busy ?? false,\n disabled: row?.disabled ?? false,\n focusable: !controlDisabled.value && row?.value === tabStopValue.value,\n };\n}\n\nasync function expandRow(row: FlatRow): Promise<void> {\n const value = row.node.value;\n if (\n row.disabled ||\n !row.expandable ||\n expandedKeys.value.has(value) ||\n loadingKeys.value.has(value)\n ) {\n return;\n }\n const isLazy =\n !Array.isArray(row.node.children) &&\n props.loadChildren != null &&\n !lazyChildren.value.has(value);\n if (isLazy && props.loadChildren) {\n loadingKeys.value = new Set(loadingKeys.value).add(value);\n try {\n const children = await props.loadChildren(row.node);\n const next = new Map(lazyChildren.value);\n next.set(value, children);\n lazyChildren.value = next;\n } catch {\n // The fetch failed: leave the row collapsed and still expandable, so\n // the next activation retries rather than caching a broken branch.\n return;\n } finally {\n const settled = new Set(loadingKeys.value);\n settled.delete(value);\n loadingKeys.value = settled;\n }\n }\n expandedKeys.value = new Set(expandedKeys.value).add(value);\n}\n\nfunction collapseRow(value: string | number): void {\n const next = new Set(expandedKeys.value);\n next.delete(value);\n expandedKeys.value = next;\n}\n\nfunction selectRow(node: TreeNode): void {\n if (controlDisabled.value || node.disabled) return;\n if (props.selectionMode === \"multiple\") {\n const next = new Set(selectedKeys.value);\n if (next.has(node.value)) next.delete(node.value);\n else next.add(node.value);\n selectedKeys.value = next;\n emit(\"update:modelValue\", [...next]);\n return;\n }\n selectedKeys.value = new Set([node.value]);\n emit(\"update:modelValue\", node.value);\n}\n\nfunction rowElement(value: string | number): HTMLElement | null {\n const root = rootEl.value;\n if (!root) return null;\n return root.querySelector<HTMLElement>(`[data-tree-value=\"${CSS.escape(String(value))}\"]`);\n}\n\nfunction focusRow(row: FlatRow | undefined): void {\n if (!row) return;\n focusValue.value = row.node.value;\n void nextTick(() => {\n rowElement(row.value)?.focus();\n });\n}\n\nfunction onRowFocus(node: TreeNode): void {\n focusValue.value = node.value;\n}\n\nfunction onRowActivate(node: TreeNode): void {\n const row = rowByValue.value.get(node.value);\n if (!row || controlDisabled.value) return;\n focusRow(row);\n selectRow(node);\n}\n\nfunction onChevronActivate(node: TreeNode): void {\n const row = rowByValue.value.get(node.value);\n if (!row || controlDisabled.value || row.disabled) return;\n focusRow(row);\n if (row.expanded) collapseRow(node.value);\n else void expandRow(row);\n}\n\nfunction currentRowIndex(): number {\n if (focusValue.value == null) return -1;\n return flatRows.value.findIndex((row) => row.value === focusValue.value);\n}\n\n/*\n * The typeahead. APG trees match a prefix of the row's label, starting after\n * the current row and wrapping; the same character typed again cycles to that\n * character's next match rather than extending a prefix to itself. The buffer\n * is 500 ms, and the timer is released with the scope so a tree torn down\n * mid-typeahead leaves nothing pending.\n */\nconst TYPEAHEAD_RESET_MS = 500;\nlet typeaheadBuffer = \"\";\nlet typeaheadTimer: ReturnType<typeof setTimeout> | undefined;\n\nfunction handleTypeahead(event: KeyboardEvent): void {\n if (event.key.length !== 1 || event.altKey || event.ctrlKey || event.metaKey) return;\n if (flatRows.value.length === 0) return;\n const char = event.key.toLowerCase();\n // Repeat detection reads the buffer's LAST character: a multi-character\n // prefix must survive a repeated final character so the walk cycles to\n // the next match instead of extending the prefix to a non-match.\n if (typeaheadBuffer.slice(-1) !== char) typeaheadBuffer += char;\n const query = typeaheadBuffer;\n const start = currentRowIndex() + 1;\n for (let step = 0; step < flatRows.value.length; step++) {\n const row = flatRows.value[(start + step) % flatRows.value.length];\n // Typeahead is a jump made from outside the walk, like the entry tab\n // stop: it lands on a row the reader can act on. The arrows remain the\n // way to deliberately rest on a disabled row.\n if (row && !row.disabled && row.node.label.toLowerCase().startsWith(query)) {\n focusRow(row);\n break;\n }\n }\n event.preventDefault();\n if (typeaheadTimer !== undefined) clearTimeout(typeaheadTimer);\n typeaheadTimer = setTimeout(() => {\n typeaheadBuffer = \"\";\n typeaheadTimer = undefined;\n }, TYPEAHEAD_RESET_MS);\n}\n\nonScopeDispose(() => {\n if (typeaheadTimer !== undefined) clearTimeout(typeaheadTimer);\n});\n\n/**\n * One keydown on the root, reached from every row by bubbling: the key map is\n * written once against the flat visible walk instead of duplicated per row.\n * Disabled rows stay in the arrow walk — present and reachable, per the APG —\n * but Enter, Space and the disclosure keys refuse them.\n */\nfunction onKeydown(event: KeyboardEvent): void {\n if (controlDisabled.value) return;\n const rows = flatRows.value;\n if (rows.length === 0) return;\n const index = currentRowIndex();\n const row = index >= 0 ? rows[index] : undefined;\n\n switch (event.key) {\n case \"ArrowDown\": {\n const next = rows[index + 1];\n if (next) focusRow(next);\n break;\n }\n case \"ArrowUp\": {\n const previous = index > 0 ? rows[index - 1] : undefined;\n if (previous) focusRow(previous);\n break;\n }\n case \"Home\":\n focusRow(rows[0]);\n break;\n case \"End\":\n focusRow(rows[rows.length - 1]);\n break;\n case \"ArrowRight\": {\n if (!row) break;\n if (row.disabled) break;\n if (row.expandable && !row.expanded) {\n void expandRow(row);\n break;\n }\n if (row.expanded) {\n const child = rows[index + 1];\n if (child && child.level === row.level + 1) focusRow(child);\n }\n break;\n }\n case \"ArrowLeft\": {\n if (!row) break;\n if (row.disabled) break;\n if (row.expandable && row.expanded) {\n collapseRow(row.value);\n break;\n }\n if (row.parentId != null) {\n const parent = rowByValue.value.get(row.parentId);\n if (parent) focusRow(parent);\n }\n break;\n }\n case \"Enter\":\n case \" \":\n if (row) selectRow(row.node);\n break;\n default:\n handleTypeahead(event);\n return;\n }\n event.preventDefault();\n}\n\nprovide(TREE_VIEW_CONTEXT, {\n stateFor,\n childrenOf,\n loadingText: computed(() => text.value.loading),\n onRowFocus,\n onRowActivate,\n onChevronActivate,\n} satisfies TreeViewContext);\n</script>\n\n<!--\n The tree is a plain `<ul>`, so the caller's `aria-label`, `aria-labelledby`\n and `id` fall through to it untouched — naming the tree is naming the\n element, exactly as the APG example does. Rows render one tab stop at a\n time (roving tabindex); the keydown above is the only keyboard listener.\n-->\n<template>\n <!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -- the container is deliberately not focusable: focus roves across the rows (APG tree view), so exactly one row holds the tab stop and the `<ul>` itself never takes one. -->\n <ul\n ref=\"rootEl\"\n role=\"tree\"\n :aria-multiselectable=\"selectionMode === 'multiple' ? 'true' : undefined\"\n :aria-disabled=\"controlDisabled ? 'true' : undefined\"\n class=\"m-0 list-none select-none p-0 text-sm text-foreground\"\n @keydown=\"onKeydown\"\n >\n <TreeViewNode\n v-for=\"(node, index) in nodes\"\n :key=\"node.value\"\n :node=\"node\"\n :level=\"1\"\n :setsize=\"nodes.length\"\n :posinset=\"index + 1\"\n />\n </ul>\n</template>\n"],"mappings":";;;;;;;;;;;;;AAQA,IAAa,mBAAmC,EAC9C,SAAS,WACX;;;;;;;;;;;;;;;;;EA6BA,MAAM,QAAQ;EAyCd,MAAM,OAAO;;;;;;EAwBb,MAAM,SAAS,IAA6B,IAAI;EAEhD,MAAM,mBAAmB,0BAA0B,OAAO,KAAK;EAC/D,MAAM,kBAAkB,gBAAgB,MAAM,YAAY,UAAU,iBAAiB,KAAK;EAE1F,MAAM,OAAO,UAAU,YAAY,wBAAwB,MAAM,MAAM;EAIvE,MAAM,eAAe,IAAI,IAAI,IAAqB,MAAM,eAAe,CAAC;EACxE,MAAM,cAAc,oBAAI,IAAI,IAAqB,CAAC;EAClD,MAAM,eAAe,oBAAI,IAAI,IAAiC,CAAC;EAC/D,MAAM,aAAa,IAA4B,IAAI;EAEnD,SAAS,SACP,OACsB;GACtB,IAAI,SAAS,MAAM,uBAAO,IAAI,IAAI;GAClC,OAAO,IAAI,IAAI,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;EACvD;EAKA,MAAM,eAAe,IAAI,SAAS,MAAM,UAAU,CAAC;EACnD,YACQ,MAAM,aACX,SAAS;GACR,aAAa,QAAQ,SAAS,IAAI;EACpC,CACF;EAEA,SAAS,WAAW,MAA4B;GAC9C,IAAI,MAAM,QAAQ,KAAK,QAAQ,GAAG,OAAO,KAAK;GAC9C,OAAO,aAAa,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC;EAChD;;;;;;;EAQA,SAAS,aAAa,MAAyB;GAC7C,IAAI,MAAM,QAAQ,KAAK,QAAQ,GAAG,OAAO,KAAK,SAAS,SAAS;GAChE,MAAM,SAAS,aAAa,MAAM,IAAI,KAAK,KAAK;GAChD,IAAI,QAAQ,OAAO,OAAO,SAAS;GACnC,OAAO,MAAM,gBAAgB;EAC/B;EAEA,MAAM,WAAW,eAA0B;GACzC,MAAM,OAAkB,CAAC;GACzB,MAAM,QAAQ,OAAmB,OAAe,aAA2C;IACzF,KAAK,IAAI,QAAQ,GAAG,QAAQ,MAAM,QAAQ,SAAS;KACjD,MAAM,OAAO,MAAM;KACnB,IAAI,CAAC,MAAM;KACX,MAAM,aAAa,aAAa,IAAI;KACpC,MAAM,WAAW,cAAc,aAAa,MAAM,IAAI,KAAK,KAAK;KAChE,KAAK,KAAK;MACR,OAAO,KAAK;MACZ;MACA;MACA,SAAS,MAAM;MACf,UAAU,QAAQ;MAClB;MACA;MACA;MACA,UAAU,aAAa,MAAM,IAAI,KAAK,KAAK;MAC3C,MAAM,YAAY,MAAM,IAAI,KAAK,KAAK;MACtC,WAAW,KAAK,YAAY,UAAU,gBAAgB;KACxD,CAAC;KACD,IAAI,UAAU,KAAK,WAAW,IAAI,GAAG,QAAQ,GAAG,KAAK,KAAK;IAC5D;GACF;GACA,KAAK,MAAM,OAAO,GAAG,IAAI;GACzB,OAAO;EACT,CAAC;EAED,MAAM,aAAa,eAAe,IAAI,IAAI,SAAS,MAAM,KAAK,QAAQ,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;EAKxF,MAAM,eAAe,eAAuC;GAI1D,MAAM,UAAU,WAAW,SAAS,OAAO,WAAW,MAAM,IAAI,WAAW,KAAK,IAAI,KAAA;GACpF,IAAI,WAAW,CAAC,QAAQ,UAAU,OAAO,WAAW;GAEpD,OADqB,SAAS,MAAM,MAAM,QAAQ,CAAC,IAAI,QAChD,CAAA,EAAc,SAAS;EAChC,CAAC;EAED,SAAS,SAAS,MAAmC;GACnD,MAAM,MAAM,WAAW,MAAM,IAAI,KAAK,KAAK;GAC3C,OAAO;IACL,YAAY,KAAK,cAAc;IAC/B,UAAU,KAAK,YAAY;IAC3B,UAAU,KAAK,YAAY;IAC3B,MAAM,KAAK,QAAQ;IACnB,UAAU,KAAK,YAAY;IAC3B,WAAW,CAAC,gBAAgB,SAAS,KAAK,UAAU,aAAa;GACnE;EACF;EAEA,eAAe,UAAU,KAA6B;GACpD,MAAM,QAAQ,IAAI,KAAK;GACvB,IACE,IAAI,YACJ,CAAC,IAAI,cACL,aAAa,MAAM,IAAI,KAAK,KAC5B,YAAY,MAAM,IAAI,KAAK,GAE3B;GAMF,IAHE,CAAC,MAAM,QAAQ,IAAI,KAAK,QAAQ,KAChC,MAAM,gBAAgB,QACtB,CAAC,aAAa,MAAM,IAAI,KAAK,KACjB,MAAM,cAAc;IAChC,YAAY,QAAQ,IAAI,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,KAAK;IACxD,IAAI;KACF,MAAM,WAAW,MAAM,MAAM,aAAa,IAAI,IAAI;KAClD,MAAM,OAAO,IAAI,IAAI,aAAa,KAAK;KACvC,KAAK,IAAI,OAAO,QAAQ;KACxB,aAAa,QAAQ;IACvB,QAAQ;KAGN;IACF,UAAU;KACR,MAAM,UAAU,IAAI,IAAI,YAAY,KAAK;KACzC,QAAQ,OAAO,KAAK;KACpB,YAAY,QAAQ;IACtB;GACF;GACA,aAAa,QAAQ,IAAI,IAAI,aAAa,KAAK,CAAC,CAAC,IAAI,KAAK;EAC5D;EAEA,SAAS,YAAY,OAA8B;GACjD,MAAM,OAAO,IAAI,IAAI,aAAa,KAAK;GACvC,KAAK,OAAO,KAAK;GACjB,aAAa,QAAQ;EACvB;EAEA,SAAS,UAAU,MAAsB;GACvC,IAAI,gBAAgB,SAAS,KAAK,UAAU;GAC5C,IAAI,MAAM,kBAAkB,YAAY;IACtC,MAAM,OAAO,IAAI,IAAI,aAAa,KAAK;IACvC,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,KAAK,OAAO,KAAK,KAAK;SAC3C,KAAK,IAAI,KAAK,KAAK;IACxB,aAAa,QAAQ;IACrB,KAAK,qBAAqB,CAAC,GAAG,IAAI,CAAC;IACnC;GACF;GACA,aAAa,wBAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;GACzC,KAAK,qBAAqB,KAAK,KAAK;EACtC;EAEA,SAAS,WAAW,OAA4C;GAC9D,MAAM,OAAO,OAAO;GACpB,IAAI,CAAC,MAAM,OAAO;GAClB,OAAO,KAAK,cAA2B,qBAAqB,IAAI,OAAO,OAAO,KAAK,CAAC,EAAE,GAAG;EAC3F;EAEA,SAAS,SAAS,KAAgC;GAChD,IAAI,CAAC,KAAK;GACV,WAAW,QAAQ,IAAI,KAAK;GAC5B,eAAoB;IAClB,WAAW,IAAI,KAAK,CAAC,EAAE,MAAM;GAC/B,CAAC;EACH;EAEA,SAAS,WAAW,MAAsB;GACxC,WAAW,QAAQ,KAAK;EAC1B;EAEA,SAAS,cAAc,MAAsB;GAC3C,MAAM,MAAM,WAAW,MAAM,IAAI,KAAK,KAAK;GAC3C,IAAI,CAAC,OAAO,gBAAgB,OAAO;GACnC,SAAS,GAAG;GACZ,UAAU,IAAI;EAChB;EAEA,SAAS,kBAAkB,MAAsB;GAC/C,MAAM,MAAM,WAAW,MAAM,IAAI,KAAK,KAAK;GAC3C,IAAI,CAAC,OAAO,gBAAgB,SAAS,IAAI,UAAU;GACnD,SAAS,GAAG;GACZ,IAAI,IAAI,UAAU,YAAY,KAAK,KAAK;QACnC,UAAe,GAAG;EACzB;EAEA,SAAS,kBAA0B;GACjC,IAAI,WAAW,SAAS,MAAM,OAAO;GACrC,OAAO,SAAS,MAAM,WAAW,QAAQ,IAAI,UAAU,WAAW,KAAK;EACzE;EASA,MAAM,qBAAqB;EAC3B,IAAI,kBAAkB;EACtB,IAAI;EAEJ,SAAS,gBAAgB,OAA4B;GACnD,IAAI,MAAM,IAAI,WAAW,KAAK,MAAM,UAAU,MAAM,WAAW,MAAM,SAAS;GAC9E,IAAI,SAAS,MAAM,WAAW,GAAG;GACjC,MAAM,OAAO,MAAM,IAAI,YAAY;GAInC,IAAI,gBAAgB,MAAM,EAAE,MAAM,MAAM,mBAAmB;GAC3D,MAAM,QAAQ;GACd,MAAM,QAAQ,gBAAgB,IAAI;GAClC,KAAK,IAAI,OAAO,GAAG,OAAO,SAAS,MAAM,QAAQ,QAAQ;IACvD,MAAM,MAAM,SAAS,OAAO,QAAQ,QAAQ,SAAS,MAAM;IAI3D,IAAI,OAAO,CAAC,IAAI,YAAY,IAAI,KAAK,MAAM,YAAY,CAAC,CAAC,WAAW,KAAK,GAAG;KAC1E,SAAS,GAAG;KACZ;IACF;GACF;GACA,MAAM,eAAe;GACrB,IAAI,mBAAmB,KAAA,GAAW,aAAa,cAAc;GAC7D,iBAAiB,iBAAiB;IAChC,kBAAkB;IAClB,iBAAiB,KAAA;GACnB,GAAG,kBAAkB;EACvB;EAEA,qBAAqB;GACnB,IAAI,mBAAmB,KAAA,GAAW,aAAa,cAAc;EAC/D,CAAC;;;;;;;EAQD,SAAS,UAAU,OAA4B;GAC7C,IAAI,gBAAgB,OAAO;GAC3B,MAAM,OAAO,SAAS;GACtB,IAAI,KAAK,WAAW,GAAG;GACvB,MAAM,QAAQ,gBAAgB;GAC9B,MAAM,MAAM,SAAS,IAAI,KAAK,SAAS,KAAA;GAEvC,QAAQ,MAAM,KAAd;IACE,KAAK,aAAa;KAChB,MAAM,OAAO,KAAK,QAAQ;KAC1B,IAAI,MAAM,SAAS,IAAI;KACvB;IACF;IACA,KAAK,WAAW;KACd,MAAM,WAAW,QAAQ,IAAI,KAAK,QAAQ,KAAK,KAAA;KAC/C,IAAI,UAAU,SAAS,QAAQ;KAC/B;IACF;IACA,KAAK;KACH,SAAS,KAAK,EAAE;KAChB;IACF,KAAK;KACH,SAAS,KAAK,KAAK,SAAS,EAAE;KAC9B;IACF,KAAK;KACH,IAAI,CAAC,KAAK;KACV,IAAI,IAAI,UAAU;KAClB,IAAI,IAAI,cAAc,CAAC,IAAI,UAAU;MACnC,UAAe,GAAG;MAClB;KACF;KACA,IAAI,IAAI,UAAU;MAChB,MAAM,QAAQ,KAAK,QAAQ;MAC3B,IAAI,SAAS,MAAM,UAAU,IAAI,QAAQ,GAAG,SAAS,KAAK;KAC5D;KACA;IAEF,KAAK;KACH,IAAI,CAAC,KAAK;KACV,IAAI,IAAI,UAAU;KAClB,IAAI,IAAI,cAAc,IAAI,UAAU;MAClC,YAAY,IAAI,KAAK;MACrB;KACF;KACA,IAAI,IAAI,YAAY,MAAM;MACxB,MAAM,SAAS,WAAW,MAAM,IAAI,IAAI,QAAQ;MAChD,IAAI,QAAQ,SAAS,MAAM;KAC7B;KACA;IAEF,KAAK;IACL,KAAK;KACH,IAAI,KAAK,UAAU,IAAI,IAAI;KAC3B;IACF;KACE,gBAAgB,KAAK;KACrB;GACJ;GACA,MAAM,eAAe;EACvB;EAEA,QAAQ,mBAAmB;GACzB;GACA;GACA,aAAa,eAAe,KAAK,MAAM,OAAO;GAC9C;GACA;GACA;EACF,CAA2B;;GAWzB,OAAA,UAAA,GAAA,mBAgBK,MAAA;IAfC,SAAA;IAAJ,KAAI;IACJ,MAAK;IACJ,wBAAsB,QAAA,kBAAa,aAAA,SAA2B,KAAA;IAC9D,iBAAe,gBAAA,QAAe,SAAY,KAAA;IAC3C,OAAM;IACI;GAEV,GAAA,EAAA,UAAA,IAAA,GAAA,mBAOE,UAAA,MAAA,WANwB,QAAA,QAAhB,MAAM,UAAK;IADrB,OAAA,UAAA,GAAA,YAOE,sBAAA;KALC,KAAK,KAAK;KACJ;KACN,OAAO;KACP,SAAS,QAAA,MAAM;KACf,UAAU,QAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewNode.js","names":[],"sources":["../../../../../packages/primitives/tree-view/src/TreeViewNode.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport { cn } from \"@ecoma-io/loom-core\";\nimport type { TreeNode } from \"./TreeView.vue\";\nimport { TREE_VIEW_CONTEXT } from \"./context\";\n\nconst props = defineProps<{\n /** The node this row renders, with its subtree beneath it. */\n node: TreeNode;\n /** One-based depth — what `aria-level` says. */\n level: number;\n /** How many siblings this row has — what `aria-setsize` says. */\n setsize: number;\n /** This row's one-based position among those siblings — what `aria-posinset` says. */\n posinset: number;\n}>();\n\nconst ctx = inject(TREE_VIEW_CONTEXT);\nif (!ctx) throw new Error(\"TreeViewNode must be rendered inside a TreeView.\");\n\nconst state = computed(() => ctx.stateFor(props.node));\nconst children = computed(() => ctx.childrenOf(props.node));\n// `aria-expanded` and `aria-selected` want the literal strings \"true\"/\"false\";\n// `String()` widens to `string`, which the ARIA types refuse.\nconst ariaExpanded = computed(() =>\n state.value.expandable ? (state.value.expanded ? \"true\" : \"false\") : undefined,\n);\nconst ariaSelected = computed(() => (state.value.selected ? \"true\" : \"false\"));\n</script>\n\n<template>\n <!--\n The role carrier and the focus carrier are different elements on purpose.\n ARIA attributes belong on the `li` the tree grammar expects; the tab stop,\n the focus ring and the highlight sit on the inner row `div`, so the ring\n wraps the row the reader is on and not the whole open branch beneath it.\n -->\n <li\n role=\"treeitem\"\n :aria-level=\"level\"\n :aria-setsize=\"setsize\"\n :aria-posinset=\"posinset\"\n :aria-expanded=\"ariaExpanded\"\n :aria-selected=\"ariaSelected\"\n :aria-disabled=\"state.disabled ? 'true' : undefined\"\n :aria-busy=\"state.busy ? 'true' : undefined\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/click-events-have-key-events, vuejs-accessibility/no-static-element-interactions -- the row answers the keyboard through the one keydown on the root `<ul>` every keydown bubbles to; a per-row listener would duplicate it. -->\n <div\n :data-tree-value=\"String(node.value)\"\n :tabindex=\"state.focusable ? 0 : -1\"\n :class=\"\n cn(\n 'flex cursor-pointer select-none items-center gap-1.5 rounded-sm px-2 py-1.5 text-sm outline-none',\n 'transition-colors duration-fast ease-out',\n 'hover:bg-subtle',\n 'focus-visible:bg-subtle focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring',\n state.selected && 'bg-primary-muted text-primary-text',\n state.disabled && 'cursor-not-allowed',\n )\n \"\n @focusin=\"ctx.onRowFocus(node)\"\n @click=\"ctx.onRowActivate(node)\"\n >\n <!--\n The disclosure control is a glyph, not a button: a real `<button>`\n would be a second tab stop inside every openable row, which is the one\n thing the roving-tabindex contract cannot afford. Pointer users click\n it; keyboard users reach the same behaviour with ArrowRight and\n ArrowLeft, so nothing is keyboard-only because of this.\n -->\n <span\n v-if=\"state.expandable\"\n class=\"flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground\"\n aria-hidden=\"true\"\n @click.stop=\"ctx.onChevronActivate(node)\"\n >\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n :class=\"\n cn(\n 'h-3.5 w-3.5 transition-transform duration-fast ease-out',\n state.expanded && 'rotate-90',\n )\n \"\n >\n <path\n d=\"m6 4 4 4-4 4\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n <!-- The same slot, left empty on a leaf, keeps every label on one axis. -->\n <span v-else class=\"h-4 w-4 shrink-0\" aria-hidden=\"true\"></span>\n\n <span class=\"truncate\" :class=\"state.disabled && 'text-muted-foreground'\">{{\n node.label\n }}</span>\n <span v-if=\"state.busy\" class=\"shrink-0 text-small text-muted-foreground\">{{\n ctx.loadingText.value\n }}</span>\n </div>\n\n <ul v-if=\"state.expanded\" role=\"group\" class=\"m-0 list-none p-0 pl-4\">\n <TreeViewNode\n v-for=\"(child, index) in children\"\n :key=\"child.value\"\n :node=\"child\"\n :level=\"level + 1\"\n :setsize=\"children.length\"\n :posinset=\"index + 1\"\n />\n </ul>\n </li>\n</template>\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeViewNode.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/primitives/tree-view/src/TreeViewNode.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from \"vue\";\nimport { cn } from \"@ecoma-io/loom-core\";\nimport type { TreeNode } from \"./TreeView.vue\";\nimport { TREE_VIEW_CONTEXT } from \"./context\";\n\nconst props = defineProps<{\n /** The node this row renders, with its subtree beneath it. */\n node: TreeNode;\n /** One-based depth — what `aria-level` says. */\n level: number;\n /** How many siblings this row has — what `aria-setsize` says. */\n setsize: number;\n /** This row's one-based position among those siblings — what `aria-posinset` says. */\n posinset: number;\n}>();\n\nconst ctx = inject(TREE_VIEW_CONTEXT);\nif (!ctx) throw new Error(\"TreeViewNode must be rendered inside a TreeView.\");\n\nconst state = computed(() => ctx.stateFor(props.node));\nconst children = computed(() => ctx.childrenOf(props.node));\n// `aria-expanded` and `aria-selected` want the literal strings \"true\"/\"false\";\n// `String()` widens to `string`, which the ARIA types refuse.\nconst ariaExpanded = computed(() =>\n state.value.expandable ? (state.value.expanded ? \"true\" : \"false\") : undefined,\n);\nconst ariaSelected = computed(() => (state.value.selected ? \"true\" : \"false\"));\n</script>\n\n<template>\n <!--\n The role carrier and the focus carrier are different elements on purpose.\n ARIA attributes belong on the `li` the tree grammar expects; the tab stop,\n the focus ring and the highlight sit on the inner row `div`, so the ring\n wraps the row the reader is on and not the whole open branch beneath it.\n -->\n <li\n role=\"treeitem\"\n :aria-level=\"level\"\n :aria-setsize=\"setsize\"\n :aria-posinset=\"posinset\"\n :aria-expanded=\"ariaExpanded\"\n :aria-selected=\"ariaSelected\"\n :aria-disabled=\"state.disabled ? 'true' : undefined\"\n :aria-busy=\"state.busy ? 'true' : undefined\"\n >\n <!-- eslint-disable-next-line vuejs-accessibility/click-events-have-key-events, vuejs-accessibility/no-static-element-interactions -- the row answers the keyboard through the one keydown on the root `<ul>` every keydown bubbles to; a per-row listener would duplicate it. -->\n <div\n :data-tree-value=\"String(node.value)\"\n :tabindex=\"state.focusable ? 0 : -1\"\n :class=\"\n cn(\n 'flex cursor-pointer select-none items-center gap-1.5 rounded-sm px-2 py-1.5 text-sm outline-none',\n 'transition-colors duration-fast ease-out',\n 'hover:bg-subtle',\n 'focus-visible:bg-subtle focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring',\n state.selected && 'bg-primary-muted text-primary-text',\n state.disabled && 'cursor-not-allowed',\n )\n \"\n @focusin=\"ctx.onRowFocus(node)\"\n @click=\"ctx.onRowActivate(node)\"\n >\n <!--\n The disclosure control is a glyph, not a button: a real `<button>`\n would be a second tab stop inside every openable row, which is the one\n thing the roving-tabindex contract cannot afford. Pointer users click\n it; keyboard users reach the same behaviour with ArrowRight and\n ArrowLeft, so nothing is keyboard-only because of this.\n -->\n <span\n v-if=\"state.expandable\"\n class=\"flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground\"\n aria-hidden=\"true\"\n @click.stop=\"ctx.onChevronActivate(node)\"\n >\n <svg\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n :class=\"\n cn(\n 'h-3.5 w-3.5 transition-transform duration-fast ease-out',\n state.expanded && 'rotate-90',\n )\n \"\n >\n <path\n d=\"m6 4 4 4-4 4\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </span>\n <!-- The same slot, left empty on a leaf, keeps every label on one axis. -->\n <span v-else class=\"h-4 w-4 shrink-0\" aria-hidden=\"true\"></span>\n\n <span class=\"truncate\" :class=\"state.disabled && 'text-muted-foreground'\">{{\n node.label\n }}</span>\n <span v-if=\"state.busy\" class=\"shrink-0 text-small text-muted-foreground\">{{\n ctx.loadingText.value\n }}</span>\n </div>\n\n <ul v-if=\"state.expanded\" role=\"group\" class=\"m-0 list-none p-0 pl-4\">\n <TreeViewNode\n v-for=\"(child, index) in children\"\n :key=\"child.value\"\n :node=\"child\"\n :level=\"level + 1\"\n :setsize=\"children.length\"\n :posinset=\"index + 1\"\n />\n </ul>\n </li>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAWd,MAAM,MAAM,OAAO,iBAAiB;EACpC,IAAI,CAAC,KAAK,MAAM,IAAI,MAAM,kDAAkD;EAE5E,MAAM,QAAQ,eAAe,IAAI,SAAS,MAAM,IAAI,CAAC;EACrD,MAAM,WAAW,eAAe,IAAI,WAAW,MAAM,IAAI,CAAC;EAG1D,MAAM,eAAe,eACnB,MAAM,MAAM,aAAc,MAAM,MAAM,WAAW,SAAS,UAAW,KAAA,CACvE;EACA,MAAM,eAAe,eAAgB,MAAM,MAAM,WAAW,SAAS,OAAQ;;;GAU3E,OAAA,UAAA,GAAA,mBAiFK,MAAA;IAhFH,MAAK;IACJ,cAAY,QAAA;IACZ,gBAAc,QAAA;IACd,iBAAe,QAAA;IACf,iBAAe,aAAA;IACf,iBAAe,aAAA;IACf,iBAAe,MAAA,MAAM,WAAQ,SAAY,KAAA;IACzC,aAAW,MAAA,MAAM,OAAI,SAAY,KAAA;GAGlC,GAAA,CAAA,mBA0DM,OAAA;IAzDH,mBAAiB,OAAO,QAAA,KAAK,KAAK;IAClC,UAAU,MAAA,MAAM,YAAS,IAAA;IACzB,OAAK,eAAW,MAAA,EAAA,CAAE,CAAA,oGAAA,4CAAA,mBAAA,8GAAqU,MAAA,MAAM,YAAQ,sCAAoD,MAAA,MAAM,YAAQ,oBAAA,CAAA;IAUva,WAAO,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,GAAA,CAAG,CAAC,WAAW,QAAA,IAAI;IAC5B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,GAAA,CAAG,CAAC,cAAc,QAAA,IAAI;;IAUtB,MAAA,MAAM,cADd,UAAA,GAAA,mBAyBO,QAAA;;KAvBL,OAAM;KACN,eAAY;KACX,SAAK,OAAA,OAAA,OAAA,KAAA,eAAA,WAAO,MAAA,GAAA,CAAG,CAAC,kBAAkB,QAAA,IAAI,GAAA,CAAA,MAAA,CAAA;IAEvC,GAAA,EAAA,UAAA,GAAA,mBAkBM,OAAA;KAjBJ,SAAQ;KACR,MAAK;KACL,eAAY;KACX,OAAK,eAAe,MAAA,EAAA,CAAE,CAAA,2DAAyF,MAAA,MAAM,YAAQ,WAAA,CAAA;IAO9H,GAAA,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,mBAME,QAAA;KALA,GAAE;KACF,QAAO;KACP,gBAAa;KACb,kBAAe;KACf,mBAAgB;IAKtB,GAAA,MAAA,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,CAAA,MAAA,UAAA,GAAA,mBAAgE,QAAhE,UAAgE;IAEhE,mBAES,QAAA,EAFH,OAAK,eAAA,CAAC,YAAmB,MAAA,MAAM,YAAQ,uBAAA,CAAA,EAC3C,GAAA,gBAAA,QAAA,KAAK,KAAK,GAAA,CAAA;IAEA,MAAA,MAAM,QAAlB,UAAA,GAAA,mBAES,QAFT,YAES,gBADP,MAAA,GAAA,CAAG,CAAC,YAAY,KAAK,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;GAIf,GAAA,IAAA,UAAA,GAAA,MAAA,MAAM,YAAhB,UAAA,GAAA,mBASK,MATL,YASK,EARH,UAAA,IAAA,GAAA,mBAOE,UAAA,MAAA,WANyB,SAAA,QAAjB,OAAO,UAAK;IADtB,OAAA,UAAA,GAAA,YAOE,yBAAA;KALC,KAAK,MAAM;KACX,MAAM;KACN,OAAO,QAAA,QAAK;KACZ,SAAS,SAAA,MAAS;KAClB,UAAU,QAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","names":[],"sources":["../../../../../packages/primitives/tree-view/src/context.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from \"vue\";\nimport type { TreeNode } from \"./TreeView.vue\";\n\n/**\n * What a row needs to know about itself, resolved by the tree that owns the\n * state. The node component stays presentational: it computes nothing about\n * expandability, selection or focus and renders what it is handed.\n */\nexport interface TreeViewNodeState {\n /** The row can open and close — it has children to show. */\n expandable: boolean;\n /** The row is open, so its subtree is in the DOM beneath it. */\n expanded: boolean;\n /** The row is one of the chosen ones. */\n selected: boolean;\n /** The row's children are being fetched by `loadChildren` right now. */\n busy: boolean;\n /** The row, or the whole tree it stands in, is unavailable. */\n disabled: boolean;\n /** The row holds the roving tab stop — the one row Tab reaches. */\n focusable: boolean;\n}\n\n/**\n * The seam between the tree (which owns every bit of state and the keyboard)\n * and its rows. Provided once by the tree and injected at every depth, which\n * is what lets the recursion be a plain SFC: events go up through these\n * handlers, state comes down through these getters, and neither side carries\n * the other's props through N levels of re-emission.\n */\nexport interface TreeViewContext {\n stateFor(node: TreeNode): TreeViewNodeState;\n childrenOf(node: TreeNode): TreeNode[];\n /** The localised string shown while a row's children are being fetched. */\n loadingText: ComputedRef<string>;\n onRowFocus(node: TreeNode): void;\n onRowActivate(node: TreeNode): void;\n onChevronActivate(node: TreeNode): void;\n}\n\nexport const TREE_VIEW_CONTEXT: InjectionKey<TreeViewContext> = Symbol(\"loom.tree-view\");\n"],"mappings":";AAwCA,IAAa,oBAAmD,OAAO,gBAAgB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VisuallyHidden.js","names":[],"sources":["../../../../../packages/primitives/visually-hidden/src/VisuallyHidden.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Which element tag carries the visually-hidden content. */\nexport type VisuallyHiddenElement = \"span\" | \"div\";\n</script>\n\n<script setup lang=\"ts\">\n/**\n * VisuallyHidden — content assistive technology reads that the page never\n * paints. The clip technique: a 1×1 box pulled out of flow and clipped to\n * nothing, which keeps the content in the accessibility tree and reachable\n * by in-page find. Deliberately not `display: none`, which would remove it\n * from screen readers too, and never focusable in its own right — if the\n * content should take focus, the caller puts a focusable element in the\n * slot and this wrapper stays inert.\n */\nwithDefaults(\n defineProps<{\n /** `span` keeps the markup valid inside phrasing content — labels, buttons, paragraphs. `div` when the hidden content is a block of its own. */\n as?: VisuallyHiddenElement;\n }>(),\n { as: \"span\" },\n);\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"absolute -m-px h-px w-px overflow-hidden whitespace-nowrap border-0 p-0 [clip:rect(0,0,0,0)] [clip-path:inset(50%)]\"\n >\n <slot />\n </component>\n</template>\n"],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VisuallyHidden.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/primitives/visually-hidden/src/VisuallyHidden.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Which element tag carries the visually-hidden content. */\nexport type VisuallyHiddenElement = \"span\" | \"div\";\n</script>\n\n<script setup lang=\"ts\">\n/**\n * VisuallyHidden — content assistive technology reads that the page never\n * paints. The clip technique: a 1×1 box pulled out of flow and clipped to\n * nothing, which keeps the content in the accessibility tree and reachable\n * by in-page find. Deliberately not `display: none`, which would remove it\n * from screen readers too, and never focusable in its own right — if the\n * content should take focus, the caller puts a focusable element in the\n * slot and this wrapper stays inert.\n */\nwithDefaults(\n defineProps<{\n /** `span` keeps the markup valid inside phrasing content — labels, buttons, paragraphs. `div` when the hidden content is a block of its own. */\n as?: VisuallyHiddenElement;\n }>(),\n { as: \"span\" },\n);\n</script>\n\n<template>\n <component\n :is=\"as\"\n class=\"absolute -m-px h-px w-px overflow-hidden whitespace-nowrap border-0 p-0 [clip:rect(0,0,0,0)] [clip-path:inset(50%)]\"\n >\n <slot />\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;GAyBE,OAAA,UAAA,GAAA,YAKY,wBAJL,QAAA,EAAE,GAAA,EACP,OAAM,sHAAqH,GAAA;IAE3H,SAAA,cAAQ,CAAR,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowControls.js","names":[],"sources":["../../../../../packages/primitives/window-controls/src/WindowControls.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { WindowControlsLabels } from \"@ecoma-io/loom-labels\";\n/**\n * WindowControls — the minimize / maximize / close cluster for a frameless\n * (custom-chrome) window. Presentational only: it emits intents; the host wires\n * them to the platform (the desktop shell's window bridge). Windows-style layout —\n * on macOS the OS draws native traffic-lights, so hide this there.\n *\n * `platform` tells the cluster whether to render at all: on macOS the operating\n * system owns the traffic-light buttons, so a second set drawn by Loom would be\n * redundant and confusing. The host decides which platform it is on — Loom never\n * sniffs the OS at runtime, because a Tauri or Electron host already knows its\n * platform and a PWA has no native window controls to compete with.\n *\n * The close button is the one place `destructive` is allowed without a confirm:\n * OS window-close is an expected, reversible-by-reopen affordance.\n */\n\n/** The desktop platform that owns the window chrome. */\nexport type WindowPlatform = \"windows\" | \"macos\" | \"linux\";\n\n/**\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it, and\n * exported so a host can build a partial vocabulary against the real thing.\n */\nexport const WINDOW_CONTROLS_LABELS: WindowControlsLabels = {\n minimize: \"Minimize\",\n maximize: \"Maximize\",\n restore: \"Restore\",\n close: \"Close\",\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { useLabels, type LabelOverrides } from \"@ecoma-io/loom-labels\";\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The desktop platform the window is running on. On macOS the OS draws its\n * own traffic-light buttons, so this cluster renders nothing there. The host\n * decides — Loom does not sniff the OS, because the host already knows its\n * platform and a PWA has no native controls to avoid.\n */\n platform?: WindowPlatform;\n /** Swaps the middle button between its Maximize and Restore glyph and label. */\n isMaximized?: boolean;\n /**\n * Names for the three buttons, as any subset of `WindowControlsLabels` —\n * the rest stay as the host's `provideLoomLabels` vocabulary left them, and\n * then as Loom's English.\n *\n * This took a whole object before the seam existed, which meant a host that\n * wanted one word in their own language had to restate the other three in\n * English and keep them in step by hand.\n */\n labels?: LabelOverrides<WindowControlsLabels>;\n }>(),\n { platform: \"windows\", isMaximized: false },\n);\n\nconst emit = defineEmits<{\n (e: \"minimize\"): void;\n (e: \"maximize\"): void;\n (e: \"close\"): void;\n}>();\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves, and a template reading the raw prop would be reading the overrides\n// rather than the answer.\nconst text = useLabels(\"windowControls\", WINDOW_CONTROLS_LABELS, () => props.labels);\n</script>\n\n<template>\n <!-- On macOS the OS owns the traffic-light buttons; rendering a second set\n would be redundant. The host can also choose \"linux\" if their desktop\n environment handles window buttons natively. -->\n <div\n v-if=\"platform !== 'macos'\"\n class=\"flex h-full items-stretch\"\n style=\"-webkit-app-region: no-drag\"\n >\n <button\n type=\"button\"\n class=\"flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\"\n :aria-label=\"text.minimize\"\n data-testid=\"win-minimize\"\n @click=\"emit('minimize')\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect y=\"4.5\" width=\"10\" height=\"1\" fill=\"currentColor\" />\n </svg>\n </button>\n\n <button\n type=\"button\"\n class=\"flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\"\n :aria-label=\"isMaximized ? text.restore : text.maximize\"\n data-testid=\"win-maximize\"\n @click=\"emit('maximize')\"\n >\n <svg v-if=\"!isMaximized\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"0.5\" y=\"0.5\" width=\"9\" height=\"9\" fill=\"none\" stroke=\"currentColor\" />\n </svg>\n <svg v-else width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"0.5\" y=\"2.5\" width=\"7\" height=\"7\" fill=\"none\" stroke=\"currentColor\" />\n <path d=\"M2.5 2.5 V0.5 H9.5 V7.5 H7.5\" fill=\"none\" stroke=\"currentColor\" />\n </svg>\n </button>\n\n <button\n type=\"button\"\n class=\"flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-destructive hover:text-destructive-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\"\n :aria-label=\"text.close\"\n data-testid=\"win-close\"\n @click=\"emit('close')\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M0 0 L10 10 M10 0 L0 10\" stroke=\"currentColor\" />\n </svg>\n </button>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { useLabels } from "../../../labels/src/labels.js";
|
|
2
|
-
import "../../../labels/src/index.js";
|
|
3
|
-
import { createCommentVNode, createElementBlock, createElementVNode, defineComponent, openBlock, unref } from "vue";
|
|
4
|
-
//#region packages/primitives/window-controls/src/WindowControls.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
-
var _hoisted_1 = {
|
|
6
|
-
key: 0,
|
|
7
|
-
class: "flex h-full items-stretch",
|
|
8
|
-
style: { "-webkit-app-region": "no-drag" }
|
|
9
|
-
};
|
|
10
|
-
var _hoisted_2 = ["aria-label"];
|
|
11
|
-
var _hoisted_3 = ["aria-label"];
|
|
12
|
-
var _hoisted_4 = {
|
|
13
|
-
key: 0,
|
|
14
|
-
width: "10",
|
|
15
|
-
height: "10",
|
|
16
|
-
viewBox: "0 0 10 10",
|
|
17
|
-
"aria-hidden": "true"
|
|
18
|
-
};
|
|
19
|
-
var _hoisted_5 = {
|
|
20
|
-
key: 1,
|
|
21
|
-
width: "10",
|
|
22
|
-
height: "10",
|
|
23
|
-
viewBox: "0 0 10 10",
|
|
24
|
-
"aria-hidden": "true"
|
|
25
|
-
};
|
|
26
|
-
var _hoisted_6 = ["aria-label"];
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Loom's English, co-located with the component so it tree-shakes with it, and
|
|
31
|
-
* exported so a host can build a partial vocabulary against the real thing.
|
|
32
|
-
*/
|
|
33
|
-
var WINDOW_CONTROLS_LABELS = {
|
|
34
|
-
minimize: "Minimize",
|
|
35
|
-
maximize: "Maximize",
|
|
36
|
-
restore: "Restore",
|
|
37
|
-
close: "Close"
|
|
38
|
-
};
|
|
39
|
-
var WindowControls_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
40
|
-
__name: "WindowControls",
|
|
41
|
-
props: {
|
|
42
|
-
platform: { default: "windows" },
|
|
43
|
-
isMaximized: {
|
|
44
|
-
type: Boolean,
|
|
45
|
-
default: false
|
|
46
|
-
},
|
|
47
|
-
labels: {}
|
|
48
|
-
},
|
|
49
|
-
emits: [
|
|
50
|
-
"minimize",
|
|
51
|
-
"maximize",
|
|
52
|
-
"close"
|
|
53
|
-
],
|
|
54
|
-
setup(__props, { emit: __emit }) {
|
|
55
|
-
const props = __props;
|
|
56
|
-
const emit = __emit;
|
|
57
|
-
const text = useLabels("windowControls", WINDOW_CONTROLS_LABELS, () => props.labels);
|
|
58
|
-
return (_ctx, _cache) => {
|
|
59
|
-
return __props.platform !== "macos" ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
60
|
-
createElementVNode("button", {
|
|
61
|
-
type: "button",
|
|
62
|
-
class: "flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring",
|
|
63
|
-
"aria-label": unref(text).minimize,
|
|
64
|
-
"data-testid": "win-minimize",
|
|
65
|
-
onClick: _cache[0] || (_cache[0] = ($event) => emit("minimize"))
|
|
66
|
-
}, [..._cache[3] || (_cache[3] = [createElementVNode("svg", {
|
|
67
|
-
width: "10",
|
|
68
|
-
height: "10",
|
|
69
|
-
viewBox: "0 0 10 10",
|
|
70
|
-
"aria-hidden": "true"
|
|
71
|
-
}, [createElementVNode("rect", {
|
|
72
|
-
y: "4.5",
|
|
73
|
-
width: "10",
|
|
74
|
-
height: "1",
|
|
75
|
-
fill: "currentColor"
|
|
76
|
-
})], -1)])], 8, _hoisted_2),
|
|
77
|
-
createElementVNode("button", {
|
|
78
|
-
type: "button",
|
|
79
|
-
class: "flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring",
|
|
80
|
-
"aria-label": __props.isMaximized ? unref(text).restore : unref(text).maximize,
|
|
81
|
-
"data-testid": "win-maximize",
|
|
82
|
-
onClick: _cache[1] || (_cache[1] = ($event) => emit("maximize"))
|
|
83
|
-
}, [!__props.isMaximized ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[4] || (_cache[4] = [createElementVNode("rect", {
|
|
84
|
-
x: "0.5",
|
|
85
|
-
y: "0.5",
|
|
86
|
-
width: "9",
|
|
87
|
-
height: "9",
|
|
88
|
-
fill: "none",
|
|
89
|
-
stroke: "currentColor"
|
|
90
|
-
}, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[5] || (_cache[5] = [createElementVNode("rect", {
|
|
91
|
-
x: "0.5",
|
|
92
|
-
y: "2.5",
|
|
93
|
-
width: "7",
|
|
94
|
-
height: "7",
|
|
95
|
-
fill: "none",
|
|
96
|
-
stroke: "currentColor"
|
|
97
|
-
}, null, -1), createElementVNode("path", {
|
|
98
|
-
d: "M2.5 2.5 V0.5 H9.5 V7.5 H7.5",
|
|
99
|
-
fill: "none",
|
|
100
|
-
stroke: "currentColor"
|
|
101
|
-
}, null, -1)])]))], 8, _hoisted_3),
|
|
102
|
-
createElementVNode("button", {
|
|
103
|
-
type: "button",
|
|
104
|
-
class: "flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-destructive hover:text-destructive-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring",
|
|
105
|
-
"aria-label": unref(text).close,
|
|
106
|
-
"data-testid": "win-close",
|
|
107
|
-
onClick: _cache[2] || (_cache[2] = ($event) => emit("close"))
|
|
108
|
-
}, [..._cache[6] || (_cache[6] = [createElementVNode("svg", {
|
|
109
|
-
width: "10",
|
|
110
|
-
height: "10",
|
|
111
|
-
viewBox: "0 0 10 10",
|
|
112
|
-
"aria-hidden": "true"
|
|
113
|
-
}, [createElementVNode("path", {
|
|
114
|
-
d: "M0 0 L10 10 M10 0 L0 10",
|
|
115
|
-
stroke: "currentColor"
|
|
116
|
-
})], -1)])], 8, _hoisted_6)
|
|
117
|
-
])) : createCommentVNode("", true);
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
//#endregion
|
|
122
|
-
export { WINDOW_CONTROLS_LABELS, WindowControls_vue_vue_type_script_setup_true_lang_default as default };
|
|
123
|
-
|
|
124
|
-
//# sourceMappingURL=WindowControls.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowControls.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/primitives/window-controls/src/WindowControls.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { WindowControlsLabels } from \"@ecoma-io/loom-labels\";\n/**\n * WindowControls — the minimize / maximize / close cluster for a frameless\n * (custom-chrome) window. Presentational only: it emits intents; the host wires\n * them to the platform (the desktop shell's window bridge). Windows-style layout —\n * on macOS the OS draws native traffic-lights, so hide this there.\n *\n * `platform` tells the cluster whether to render at all: on macOS the operating\n * system owns the traffic-light buttons, so a second set drawn by Loom would be\n * redundant and confusing. The host decides which platform it is on — Loom never\n * sniffs the OS at runtime, because a Tauri or Electron host already knows its\n * platform and a PWA has no native window controls to compete with.\n *\n * The close button is the one place `destructive` is allowed without a confirm:\n * OS window-close is an expected, reversible-by-reopen affordance.\n */\n\n/** The desktop platform that owns the window chrome. */\nexport type WindowPlatform = \"windows\" | \"macos\" | \"linux\";\n\n/**\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it, and\n * exported so a host can build a partial vocabulary against the real thing.\n */\nexport const WINDOW_CONTROLS_LABELS: WindowControlsLabels = {\n minimize: \"Minimize\",\n maximize: \"Maximize\",\n restore: \"Restore\",\n close: \"Close\",\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { useLabels, type LabelOverrides } from \"@ecoma-io/loom-labels\";\n\nconst props = withDefaults(\n defineProps<{\n /**\n * The desktop platform the window is running on. On macOS the OS draws its\n * own traffic-light buttons, so this cluster renders nothing there. The host\n * decides — Loom does not sniff the OS, because the host already knows its\n * platform and a PWA has no native controls to avoid.\n */\n platform?: WindowPlatform;\n /** Swaps the middle button between its Maximize and Restore glyph and label. */\n isMaximized?: boolean;\n /**\n * Names for the three buttons, as any subset of `WindowControlsLabels` —\n * the rest stay as the host's `provideLoomLabels` vocabulary left them, and\n * then as Loom's English.\n *\n * This took a whole object before the seam existed, which meant a host that\n * wanted one word in their own language had to restate the other three in\n * English and keep them in step by hand.\n */\n labels?: LabelOverrides<WindowControlsLabels>;\n }>(),\n { platform: \"windows\", isMaximized: false },\n);\n\nconst emit = defineEmits<{\n (e: \"minimize\"): void;\n (e: \"maximize\"): void;\n (e: \"close\"): void;\n}>();\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves, and a template reading the raw prop would be reading the overrides\n// rather than the answer.\nconst text = useLabels(\"windowControls\", WINDOW_CONTROLS_LABELS, () => props.labels);\n</script>\n\n<template>\n <!-- On macOS the OS owns the traffic-light buttons; rendering a second set\n would be redundant. The host can also choose \"linux\" if their desktop\n environment handles window buttons natively. -->\n <div\n v-if=\"platform !== 'macos'\"\n class=\"flex h-full items-stretch\"\n style=\"-webkit-app-region: no-drag\"\n >\n <button\n type=\"button\"\n class=\"flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\"\n :aria-label=\"text.minimize\"\n data-testid=\"win-minimize\"\n @click=\"emit('minimize')\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect y=\"4.5\" width=\"10\" height=\"1\" fill=\"currentColor\" />\n </svg>\n </button>\n\n <button\n type=\"button\"\n class=\"flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\"\n :aria-label=\"isMaximized ? text.restore : text.maximize\"\n data-testid=\"win-maximize\"\n @click=\"emit('maximize')\"\n >\n <svg v-if=\"!isMaximized\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"0.5\" y=\"0.5\" width=\"9\" height=\"9\" fill=\"none\" stroke=\"currentColor\" />\n </svg>\n <svg v-else width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <rect x=\"0.5\" y=\"2.5\" width=\"7\" height=\"7\" fill=\"none\" stroke=\"currentColor\" />\n <path d=\"M2.5 2.5 V0.5 H9.5 V7.5 H7.5\" fill=\"none\" stroke=\"currentColor\" />\n </svg>\n </button>\n\n <button\n type=\"button\"\n class=\"flex w-11 items-center justify-center text-muted-foreground transition-colors duration-fast ease-out hover:bg-destructive hover:text-destructive-foreground active:brightness-90 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-ring\"\n :aria-label=\"text.close\"\n data-testid=\"win-close\"\n @click=\"emit('close')\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" aria-hidden=\"true\">\n <path d=\"M0 0 L10 10 M10 0 L0 10\" stroke=\"currentColor\" />\n </svg>\n </button>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,IAAa,yBAA+C;CAC1D,UAAU;CACV,UAAU;CACV,SAAS;CACT,OAAO;AACT;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAyBd,MAAM,OAAO;EASb,MAAM,OAAO,UAAU,kBAAkB,8BAA8B,MAAM,MAAM;;GAQzE,OAAA,QAAA,aAAQ,WADhB,UAAA,GAAA,mBA4CM,OA5CN,YA4CM;IAvCJ,mBAUS,UAAA;KATP,MAAK;KACL,OAAM;KACL,cAAY,MAAA,IAAA,CAAI,CAAC;KAClB,eAAY;KACX,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAA;IAEZ,GAAA,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,mBAEM,OAAA;KAFD,OAAM;KAAK,QAAO;KAAK,SAAQ;KAAY,eAAY;IAC1D,GAAA,CAAA,mBAA0D,QAAA;KAApD,GAAE;KAAM,OAAM;KAAK,QAAO;KAAI,MAAK;;IAI7C,mBAcS,UAAA;KAbP,MAAK;KACL,OAAM;KACL,cAAY,QAAA,cAAc,MAAA,IAAA,CAAI,CAAC,UAAU,MAAA,IAAA,CAAI,CAAC;KAC/C,eAAY;KACX,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAA;IAEA,GAAA,CAAA,CAAA,QAAA,eAAZ,UAAA,GAAA,mBAEM,OAFN,YAEM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CADJ,mBAA+E,QAAA;KAAzE,GAAE;KAAM,GAAE;KAAM,OAAM;KAAI,QAAO;KAAI,MAAK;KAAO,QAAO;IAEhE,GAAA,MAAA,EAAA,CAAA,EAAA,CAAA,MAAA,UAAA,GAAA,mBAGM,OAHN,YAGM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAFJ,mBAA+E,QAAA;KAAzE,GAAE;KAAM,GAAE;KAAM,OAAM;KAAI,QAAO;KAAI,MAAK;KAAO,QAAO;IAC9D,GAAA,MAAA,EAAA,GAAA,mBAA2E,QAAA;KAArE,GAAE;KAA+B,MAAK;KAAO,QAAO;;IAI9D,mBAUS,UAAA;KATP,MAAK;KACL,OAAM;KACL,cAAY,MAAA,IAAA,CAAI,CAAC;KAClB,eAAY;KACX,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,OAAA;IAEZ,GAAA,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,mBAEM,OAAA;KAFD,OAAM;KAAK,QAAO;KAAK,SAAQ;KAAY,eAAY;IAC1D,GAAA,CAAA,mBAA0D,QAAA;KAApD,GAAE;KAA0B,QAAO"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|