@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
package/README.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
<!-- The README's structure is ten sections, in this order: what Loom is, install,
|
|
2
|
+
your first component, tokens and theming, the accessibility bar, evidence
|
|
3
|
+
tiers, templates, module boundaries, governance and contributing,
|
|
4
|
+
compatibility and requirements. A section exists because a consumer must
|
|
5
|
+
learn that thing to use Loom — prose that answers none of the ten questions
|
|
6
|
+
does not earn a section, however fond of it we are. The checklist, with the
|
|
7
|
+
referent each section must cite, lives in the governing issue
|
|
8
|
+
(ecoma-io/loom#338). -->
|
|
9
|
+
|
|
1
10
|
<p align="center">
|
|
2
11
|
<a href="https://github.com/ecoma-io/loom/actions/workflows/ci.yml"><img src="https://github.com/ecoma-io/loom/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
3
12
|
<a href="https://github.com/ecoma-io/loom/actions/workflows/analysis.yml"><img src="https://img.shields.io/badge/analysis-semgrep-purple.svg" alt="Analysis" /></a>
|
|
@@ -10,25 +19,25 @@
|
|
|
10
19
|
</p>
|
|
11
20
|
|
|
12
21
|
<p align="center">
|
|
13
|
-
<img src=".github/assets/banner.png" alt="Loom — an
|
|
22
|
+
<img src=".github/assets/banner.png" alt="Loom — an Application Interface System for Vue" width="100%" />
|
|
14
23
|
</p>
|
|
15
24
|
|
|
16
25
|
<h1 align="center">Loom</h1>
|
|
17
26
|
|
|
18
27
|
<p align="center">
|
|
19
|
-
<strong>
|
|
28
|
+
<strong>An Application Interface System for Vue.</strong><br />
|
|
20
29
|
An open-source, accessibility-first component library and design-token system —
|
|
21
|
-
Vue 3, TypeScript and Tailwind CSS
|
|
22
|
-
<em>Build the interface once.
|
|
30
|
+
Vue 3, TypeScript and Tailwind CSS.<br />
|
|
31
|
+
<em>Build the interface once. Never re-decide what a button is.</em>
|
|
23
32
|
</p>
|
|
24
33
|
|
|
25
34
|
<p align="center">
|
|
26
|
-
<a href="https://
|
|
35
|
+
<a href="https://ecoma.io/docs/contribute/design-system/"><strong>Documentation →</strong></a>
|
|
27
36
|
</p>
|
|
28
37
|
|
|
29
38
|
---
|
|
30
39
|
|
|
31
|
-
##
|
|
40
|
+
## What Loom is
|
|
32
41
|
|
|
33
42
|
A design system is not a folder of components. It is a decision, made once, that
|
|
34
43
|
every screen inherits — how far apart two things sit, how a dialog gives focus
|
|
@@ -38,133 +47,211 @@ differently, every sprint, by whoever is closest to the deadline.
|
|
|
38
47
|
|
|
39
48
|
**Loom is where that decision lives.** One vocabulary of design tokens, one set
|
|
40
49
|
of accessible UI primitives, one motion language — consumed by every surface,
|
|
41
|
-
owned by none of them.
|
|
42
|
-
your own product on the same terms.
|
|
43
|
-
|
|
44
|
-
## Built for cross-platform web applications
|
|
45
|
-
|
|
46
|
-
Loom is designed for applications that run everywhere the web does: browsers,
|
|
47
|
-
progressive web apps, Electron, and Tauri (desktop and mobile). A component
|
|
48
|
-
library for products that need desktop window chrome, responsive layouts that
|
|
49
|
-
stretch from phone to ultrawide, and an opinionated visual language that is
|
|
50
|
-
ready to ship — not a skeleton to assemble.
|
|
51
|
-
|
|
52
|
-
That premise demands more than a component dump. It demands:
|
|
53
|
-
|
|
54
|
-
- **Responsive composition**, not just responsive CSS — layout primitives that
|
|
55
|
-
adapt to viewport and container, so a sidebar collapses at the right width
|
|
56
|
-
and a master-detail panel stacks on mobile without the host writing a
|
|
57
|
-
breakpoint.
|
|
58
|
-
- **Desktop awareness** — title bars, window controls, safe-area insets. A
|
|
59
|
-
Tauri or Electron window has chrome a web page does not, and the components
|
|
60
|
-
that live in it need to know that.
|
|
61
|
-
- **Content never stretches to infinity** — on an ultrawide monitor, readable
|
|
62
|
-
content is bounded and the extra viewport goes to intentional whitespace,
|
|
63
|
-
side panels, or supplementary content. Never to stretching.
|
|
64
|
-
- **Same design language on every viewport** — a button is the same button at
|
|
65
|
-
320px and 3440px. The layout around it changes; the button does not.
|
|
66
|
-
|
|
67
|
-
Loom originated within the [Ecoma](https://ecoma.io) ecosystem and is developed
|
|
68
|
-
as an independent open-source UI system.
|
|
50
|
+
owned by none of them.
|
|
69
51
|
|
|
70
|
-
|
|
52
|
+
**Loom owns interface decisions, not application decisions.** What it standardises
|
|
53
|
+
is the reusable layer — visual language, accessibility, interaction semantics,
|
|
54
|
+
responsive behaviour, composition, patterns, templates. What requires knowing
|
|
55
|
+
what your product _is_ belongs to your product. That split is the one rule that
|
|
56
|
+
decides most questions about what belongs here.
|
|
71
57
|
|
|
72
58
|
| | |
|
|
73
59
|
| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
74
60
|
| **Design tokens** | Colour, spacing, radius, elevation, typography and motion — one source that light mode and dark mode both read from, so a rebrand is an edit rather than an audit. |
|
|
75
61
|
| **UI primitives** | The generic controls every product needs and no product should own: buttons, inputs, selects, dialogs, menus, toasts, tooltips, skeletons, switches, progress. |
|
|
76
62
|
| **Composition primitives** | Layout building blocks — Stack, Grid, Split, Center, Sidebar — that express spatial intent and adapt to viewport without the host writing breakpoint queries. |
|
|
77
|
-
| **
|
|
63
|
+
| **Patterns** | Compositions worth standardising once — empty states, page headers, title bars, sidebar navigation — assembled from primitives, never from scratch. |
|
|
78
64
|
| **Showcase** | Demonstrations, in this documentation site, of what the parts produce when they compose — for discovery and teaching. A showcase is read; it is not a starting point to copy. |
|
|
79
|
-
| **Templates** | Copyable prebuilt pages —
|
|
65
|
+
| **Templates** | Copyable prebuilt pages — Starter, Analytics, Workspace settings — to take into an application and build on. One page each; routing, auth and backend stay with the consumer. |
|
|
80
66
|
| **Accessibility, built in** | Keyboard paths, focus restoration, accessible names and reduced-motion behaviour ship inside the component. WCAG is the acceptance bar, not a checklist run afterwards. |
|
|
81
67
|
| **Theming that survives** | Every visual decision is a token reference, so white-labelling a tenant is configuration rather than a fork. |
|
|
82
68
|
| **Typed and tree-shakeable** | Ships ES modules with TypeScript types. Consumers bundle what they import and nothing more. |
|
|
83
69
|
|
|
84
|
-
|
|
70
|
+
It is for teams building Vue applications who want the interface layer decided:
|
|
71
|
+
design-system maintainers who want the token model, the artifact conventions and
|
|
72
|
+
the accessibility bar readable in the open, and anyone tired of re-deciding what
|
|
73
|
+
a button is — ship the defaults, override the tokens that don't fit, leave the
|
|
74
|
+
rest alone. Loom originated within the [Ecoma](https://ecoma.io) ecosystem and is
|
|
75
|
+
developed as an independent open-source UI system.
|
|
85
76
|
|
|
86
|
-
|
|
87
|
-
targeting desktop (Electron, Tauri) alongside browser and mobile, where
|
|
88
|
-
existing component libraries assume a web page, not an application window.
|
|
89
|
-
- **Design-system maintainers** — the token model, the artifact-per-primitive
|
|
90
|
-
convention and the accessibility bar are all readable in the open, Apache-2.0,
|
|
91
|
-
and free to borrow.
|
|
92
|
-
- **Anyone tired of re-deciding what a button is** — Loom is opinionated so
|
|
93
|
-
you don't have to be. Ship the defaults, override the tokens that don't fit,
|
|
94
|
-
and leave the rest alone.
|
|
77
|
+
## Install
|
|
95
78
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Requirements: **Node ≥ 24** and **pnpm 11** (pinned in `package.json`, so
|
|
99
|
-
Corepack fetches the right one for you).
|
|
79
|
+
Loom ships as one npm package — the components, the theme composable and the
|
|
80
|
+
stylesheet entry behind a single install:
|
|
100
81
|
|
|
101
82
|
```bash
|
|
102
|
-
|
|
103
|
-
cd loom
|
|
104
|
-
pnpm install
|
|
83
|
+
pnpm add @ecoma-io/loom
|
|
105
84
|
```
|
|
106
85
|
|
|
107
|
-
|
|
108
|
-
|
|
86
|
+
One import is the whole styling surface a normal host needs — tokens, the
|
|
87
|
+
self-hosted fonts, base element styling and the motion library ride along:
|
|
109
88
|
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
pnpm typecheck # tsc --noEmit
|
|
113
|
-
pnpm test # Vitest
|
|
114
|
-
pnpm e2e # Playwright
|
|
115
|
-
pnpm format # Prettier, in place
|
|
89
|
+
```css
|
|
90
|
+
@import "@ecoma-io/loom/styles/global.css";
|
|
116
91
|
```
|
|
117
92
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
93
|
+
It needs Vue 3.5 or newer as a peer and Tailwind CSS 4 in your build; the
|
|
94
|
+
[compatibility table](#compatibility-and-requirements) has the full list. The
|
|
95
|
+
[documentation site](https://ecoma.io/docs/contribute/design-system/) walks an
|
|
96
|
+
empty Vue application to a rendered, themed component.
|
|
121
97
|
|
|
122
|
-
##
|
|
98
|
+
## Your first component
|
|
123
99
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
100
|
+
```vue
|
|
101
|
+
<script setup lang="ts">
|
|
102
|
+
import { Button } from "@ecoma-io/loom";
|
|
103
|
+
</script>
|
|
128
104
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
105
|
+
<template>
|
|
106
|
+
<Button variant="primary" @click="save">Save</Button>
|
|
107
|
+
</template>
|
|
108
|
+
```
|
|
133
109
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
110
|
+
Everything importable lives behind the one package: [packages/loom/src/index.ts](packages/loom/src/index.ts)
|
|
111
|
+
is the complete export list, and says so in its own docblock. The generic controls
|
|
112
|
+
sit beside composition primitives that adapt to viewport and container — a
|
|
113
|
+
sidebar collapses at the right width, a master-detail panel stacks on mobile,
|
|
114
|
+
and on an ultrawide monitor content is bounded at readable widths, the extra
|
|
115
|
+
viewport going to intentional whitespace rather than stretching.
|
|
116
|
+
|
|
117
|
+
A `class` you pass merges with the component's own instead of replacing it —
|
|
118
|
+
`cn` ships from the same package and is Tailwind-aware, so your `px-4` resolves
|
|
119
|
+
against the component's `px-6` rather than both shipping and stylesheet order
|
|
120
|
+
deciding the winner.
|
|
121
|
+
|
|
122
|
+
Each component's page on the documentation site carries an API table generated
|
|
123
|
+
from the component's own `defineProps`, so the documented surface cannot drift
|
|
124
|
+
from the shipped one.
|
|
125
|
+
|
|
126
|
+
## Tokens and theming
|
|
127
|
+
|
|
128
|
+
Every visual decision is a token reference, and the tokens have one home:
|
|
129
|
+
[packages/theme-core/src/theme.css](packages/theme-core/src/theme.css) is the
|
|
130
|
+
source of truth. Light mode and dark mode both derive from that one set — dark
|
|
131
|
+
is not a second theme anyone maintains, which is why the two cannot drift apart.
|
|
132
|
+
A `useTheme` composable switches between light, dark and system preference.
|
|
133
|
+
|
|
134
|
+
Because a token is a CSS custom property rather than a Tailwind class, the token
|
|
135
|
+
layer is framework-neutral and usable anywhere; the components that consume it
|
|
136
|
+
are Vue. Rebranding is editing tokens; white-labelling a tenant is configuration,
|
|
137
|
+
not a fork.
|
|
138
|
+
|
|
139
|
+
## The accessibility bar
|
|
140
|
+
|
|
141
|
+
Accessibility ships inside the component, not as a follow-up: keyboard operation
|
|
142
|
+
with visible focus, focus restored to the trigger when an overlay closes,
|
|
143
|
+
accessible names, no state conveyed by colour alone, and a
|
|
144
|
+
`prefers-reduced-motion` path through the motion library.
|
|
145
|
+
|
|
146
|
+
The bar is defined, not aspirational. `WCAG_TAGS` in
|
|
147
|
+
[packages/core/src/a11y-scope.ts](packages/core/src/a11y-scope.ts) is the closed
|
|
148
|
+
rule set the library holds itself to — the axe rules mapping to a WCAG Level A
|
|
149
|
+
or AA success criterion — and the browser gate that enforces it carries no
|
|
150
|
+
excludes. Every component also declares an `a11y.json` claim beside its source,
|
|
151
|
+
held by a gate against the role → requirement matrix in
|
|
152
|
+
[packages/core/src/a11y-contract.ts](packages/core/src/a11y-contract.ts), so a
|
|
153
|
+
requirement nothing answers yet is recorded as a named exception rather than
|
|
154
|
+
silently missing. An accessibility bug is a bug, and it is filed and fixed as one.
|
|
155
|
+
|
|
156
|
+
## Evidence tiers
|
|
157
|
+
|
|
158
|
+
The claims above are pinned at three runtimes — the same three the
|
|
159
|
+
accessibility contract names (`browserless`, `harness`, `sweep`):
|
|
160
|
+
|
|
161
|
+
- **browserless** — the jsdom sweep mounts every demo and holds it to its
|
|
162
|
+
component's accessibility claim, no browser required.
|
|
163
|
+
- **harness** — a Vite dev server mounts one demo at a time, so a component's
|
|
164
|
+
browser specs run in seconds without paying for a site build.
|
|
165
|
+
- **sweep** — the site-wide suite over the built documentation site: axe,
|
|
166
|
+
contrast, target size, keyboard, focus-not-obscured, motion, responsive.
|
|
167
|
+
|
|
168
|
+
Beside them, unit and integration tests live next to each component's source and
|
|
169
|
+
the browser tier lives apart; [CONTRIBUTING.md](CONTRIBUTING.md) holds the
|
|
170
|
+
contract for all of it. The documentation is held to the same honesty: token
|
|
171
|
+
tables are generated from `theme.css` and API tables from the components
|
|
172
|
+
themselves — generated, never transcribed, so a page cannot quietly disagree
|
|
173
|
+
with the code it describes.
|
|
174
|
+
|
|
175
|
+
## Templates
|
|
176
|
+
|
|
177
|
+
An Official Template is a copyable prebuilt **page** — a starting point composed
|
|
178
|
+
from Loom components and patterns, taken into an application and built on:
|
|
179
|
+
Starter, Analytics, Workspace settings. Where a pattern is a component you
|
|
180
|
+
compose with and the showcase is a demonstration you read, a template is a page
|
|
181
|
+
you start from. Routing, auth and backend stay with the consumer.
|
|
182
|
+
|
|
183
|
+
Templates consume the public `@ecoma-io/loom` package exactly as an external
|
|
184
|
+
consumer would — no internal imports, nothing the published package does not
|
|
185
|
+
have — because if a template cannot build against the published surface, that is
|
|
186
|
+
a defect in the surface. [docs/templates/contract.md](docs/templates/contract.md)
|
|
187
|
+
states the artifact kind's law, and the template suite holds every template to
|
|
188
|
+
smoke, axe in light and dark, keyboard and responsive gates.
|
|
189
|
+
|
|
190
|
+
## Module boundaries
|
|
191
|
+
|
|
192
|
+
Loom is layered, and the direction is one way: core → labels → primitives →
|
|
193
|
+
composition → patterns → layouts → facade. The facade — the `@ecoma-io/loom`
|
|
194
|
+
package you install — is the only import surface: its exports map offers the
|
|
195
|
+
components, the `./a11y` and `./theme` entries, and the stylesheet files, and
|
|
196
|
+
nothing inside the monorepo is public API.
|
|
197
|
+
|
|
198
|
+
The boundary is enforced twice, by two readers that see different things:
|
|
199
|
+
[tools/check-architecture.ts](tools/check-architecture.ts) matches the import
|
|
200
|
+
specifier text, and [archkeep](https://github.com/ecoma-io/archkeep) resolves
|
|
201
|
+
each specifier through the TypeScript config and judges the resolved target
|
|
202
|
+
against [module-boundaries.config.mjs](module-boundaries.config.mjs). The
|
|
203
|
+
[architecture contract](docs/architecture/contract.md) records which invariant
|
|
204
|
+
each reader owns.
|
|
205
|
+
|
|
206
|
+
## Governance and contributing
|
|
207
|
+
|
|
208
|
+
What Loom takes is decided by the one rule: Loom holds what is **generic** — an
|
|
209
|
+
affordance more than one product reaches for the same way. Everything else about
|
|
210
|
+
working here is the contract, and the contract is
|
|
211
|
+
[CONTRIBUTING.md](CONTRIBUTING.md): the commit format, the test tiers, the
|
|
212
|
+
Semgrep rules, the accessibility bar, and how a pull request lands.
|
|
213
|
+
|
|
214
|
+
To work on Loom itself:
|
|
137
215
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
216
|
+
```bash
|
|
217
|
+
git clone https://github.com/ecoma-io/loom.git
|
|
218
|
+
cd loom
|
|
219
|
+
pnpm install
|
|
220
|
+
```
|
|
142
221
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
222
|
+
`pnpm install` also installs the Git hooks, so formatting, linting and commit
|
|
223
|
+
message checks run before anything reaches a branch. The component surface is
|
|
224
|
+
landing in the open, one artifact at a time — follow along or ask for something
|
|
225
|
+
specific in [the issues](https://github.com/ecoma-io/loom/issues).
|
|
146
226
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
second theme, which is why the two cannot drift apart. A `useTheme` composable
|
|
150
|
-
switches between light, dark, and system preference.
|
|
227
|
+
Everyone taking part is held to the [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
228
|
+
Security issues go through [SECURITY.md](SECURITY.md) — never a public issue.
|
|
151
229
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
and
|
|
155
|
-
|
|
230
|
+
Loom is [Apache-2.0](LICENSE) — an explicit patent grant, which for a component
|
|
231
|
+
library that ends up embedded in commercial products is the difference between
|
|
232
|
+
"probably fine" and "written down" — with no runtime dependency on any Ecoma
|
|
233
|
+
platform, so consuming it as an ordinary npm package includes consuming it
|
|
234
|
+
outside Ecoma. Use it, ship it, fork it, sell what you build with it.
|
|
156
235
|
|
|
157
|
-
|
|
158
|
-
Loom provides composition primitives (Stack, Grid, Split, Center, Sidebar) that
|
|
159
|
-
express layout intent and adapt to viewport width. Content is bounded at
|
|
160
|
-
readable widths on ultrawide screens — extra viewport goes to whitespace, not
|
|
161
|
-
stretching.
|
|
236
|
+
## Compatibility and requirements
|
|
162
237
|
|
|
163
|
-
|
|
238
|
+
| Requirement | Version |
|
|
239
|
+
| ------------ | ---------------------------------------------- |
|
|
240
|
+
| Node | ≥ 24 (`engines` in `package.json`) |
|
|
241
|
+
| pnpm | 11 — pinned, so Corepack fetches the right one |
|
|
242
|
+
| Vue | ≥ 3.5, as a peer dependency |
|
|
243
|
+
| Tailwind CSS | 4, in your build (`@tailwindcss/vite`) |
|
|
164
244
|
|
|
165
|
-
|
|
245
|
+
Types ship strict, and the package ships ES modules that tree-shake: consumers
|
|
246
|
+
bundle what they import and nothing more.
|
|
166
247
|
|
|
167
|
-
|
|
248
|
+
Cross-platform is a design constraint, not the product category. Loom's
|
|
249
|
+
interface decisions are made so they can survive a change of rendering target —
|
|
250
|
+
a browser tab, an installed PWA, an Electron or Tauri desktop shell, a mobile
|
|
251
|
+
webview — and the platform-specific parts stay at the boundary, passed in by the
|
|
252
|
+
host rather than sniffed at runtime: window chrome, safe-area insets, PWA
|
|
253
|
+
overlays. Loom today is a Vue-facing interface system, not a cross-platform
|
|
254
|
+
framework.
|
|
168
255
|
|
|
169
256
|
---
|
|
170
257
|
|
|
@@ -172,7 +259,7 @@ Use it, ship it, fork it, sell what you build with it.
|
|
|
172
259
|
<img src=".github/assets/logo.png" alt="" width="56" /><br />
|
|
173
260
|
<sub>
|
|
174
261
|
An <a href="https://ecoma.io">Ecoma</a> open-source project ·
|
|
175
|
-
<a href="https://
|
|
262
|
+
<a href="https://ecoma.io/docs/contribute/design-system/">Documentation</a> ·
|
|
176
263
|
<a href="https://github.com/ecoma-io">Organisation</a> ·
|
|
177
264
|
<a href="CONTRIBUTING.md">Contribute</a>
|
|
178
265
|
</sub>
|
package/dist/a11y.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, WCAG_TAGS } from "./
|
|
2
|
-
import "./
|
|
3
|
-
|
|
1
|
+
import { BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, WCAG_TAGS } from "./core/src/a11y-scope.js";
|
|
2
|
+
import { A11Y_EVIDENCE_MATRIX, A11Y_EVIDENCE_REQUIREMENTS, A11Y_EVIDENCE_TIERS, A11Y_ROLES, ARIA_ROLES, NON_ROLE_MEMBERS } from "./core/src/a11y-contract.js";
|
|
3
|
+
import "./core/src/index.js";
|
|
4
|
+
export { A11Y_EVIDENCE_MATRIX, A11Y_EVIDENCE_REQUIREMENTS, A11Y_EVIDENCE_TIERS, A11Y_ROLES, ARIA_ROLES, BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, NON_ROLE_MEMBERS, WCAG_TAGS };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Center.js","names":[],"sources":["../../../../packages/composition/center/src/Center.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Center — centered content with a max-width constraint.\n *\n * A horizontally centered block that caps its own width and widens its\n * gutters at wider breakpoints. Critical for ultra-wide viewports, where\n * content that stretches to infinity is unreadable: the extra viewport goes\n * to intentional whitespace, never to stretching lines of text or card grids.\n *\n * A Center is a component, not `mx-auto max-w-3xl px-4`, because the\n * gutters step up at breakpoints (the component's job, not every call\n * site's) and the `maxWidth` prop names readable intent rather than a\n * Tailwind size.\n */\nexport type CenterMaxWidth = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"prose\";\n\nconst maxWidthClass: Record<CenterMaxWidth, string> = {\n sm: \"max-w-sm\",\n md: \"max-w-md\",\n lg: \"max-w-lg\",\n xl: \"max-w-xl\",\n prose: \"max-w-prose\",\n} as const;\n\nexport { maxWidthClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Maximum content width — names intent rather than a pixel value. */\n maxWidth?: CenterMaxWidth;\n /** Whether to add horizontal gutters that widen at wider breakpoints. */\n gutter?: boolean;\n }>(),\n { maxWidth: \"lg\", gutter: true },\n);\n</script>\n\n<template>\n <!--\n Gutters step up at `sm` and `3xl`: narrow viewports need less margin\n because the viewport itself is margin, and ultra-wide viewports need more\n so the gap between content and screen edge stays proportional.\n -->\n <div\n :class=\"cn(maxWidthClass[maxWidth], 'mx-auto', gutter ? 'px-4 sm:px-6 3xl:px-8' : undefined)\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Center.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/center/src/Center.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Center — centered content with a max-width constraint.\n *\n * A horizontally centered block that caps its own width and widens its\n * gutters at wider breakpoints. Critical for ultra-wide viewports, where\n * content that stretches to infinity is unreadable: the extra viewport goes\n * to intentional whitespace, never to stretching lines of text or card grids.\n *\n * A Center is a component, not `mx-auto max-w-3xl px-4`, because the\n * gutters step up at breakpoints (the component's job, not every call\n * site's) and the `maxWidth` prop names readable intent rather than a\n * Tailwind size.\n */\nexport type CenterMaxWidth = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"prose\";\n\nconst maxWidthClass: Record<CenterMaxWidth, string> = {\n sm: \"max-w-sm\",\n md: \"max-w-md\",\n lg: \"max-w-lg\",\n xl: \"max-w-xl\",\n prose: \"max-w-prose\",\n} as const;\n\nexport { maxWidthClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Maximum content width — names intent rather than a pixel value. */\n maxWidth?: CenterMaxWidth;\n /** Whether to add horizontal gutters that widen at wider breakpoints. */\n gutter?: boolean;\n }>(),\n { maxWidth: \"lg\", gutter: true },\n);\n</script>\n\n<template>\n <!--\n Gutters step up at `sm` and `3xl`: narrow viewports need less margin\n because the viewport itself is margin, and ultra-wide viewports need more\n so the gap between content and screen edge stays proportional.\n -->\n <div\n :class=\"cn(maxWidthClass[maxWidth], 'mx-auto', gutter ? 'px-4 sm:px-6 3xl:px-8' : undefined)\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;AAgBA,IAAM,gBAAgD;CACpD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;AACT;;;;;;;;;;;;GAyBE,OAAA,UAAA,GAAA,mBAIM,OAAA,EAHH,OAAK,eAAE,MAAA,EAAA,CAAE,CAAC,cAAc,QAAA,WAAQ,WAAc,QAAA,SAAM,0BAA6B,KAAA,CAAS,CAAA,EAAA,GAAA,CAE3F,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import DashboardGrid_vue_vue_type_script_setup_true_lang_default from "./DashboardGrid.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region packages/composition/dashboard-grid/src/DashboardGrid.vue
|
|
3
|
+
var DashboardGrid_default = DashboardGrid_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { DashboardGrid_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=DashboardGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardGrid.js","names":[],"sources":["../../../../packages/composition/dashboard-grid/src/DashboardGrid.vue"],"sourcesContent":["<script lang=\"ts\">\n/** The gutter step — the same scale Stack's gap steps mirror. */\nexport type DashboardGridGap = \"sm\" | \"md\" | \"lg\";\n</script>\n\n<script setup lang=\"ts\">\n/**\n * DashboardGrid — the reflowing tile grid a dashboard's panels sit in: a CSS\n * grid that fits as many `minTileWidth`-wide tracks as the container allows,\n * so a KPI row and a couple of wider panels share one layout without the\n * host authoring a single breakpoint.\n *\n * `auto-fit` + `minmax` (never fixed `grid-cols-N` breakpoints) is the\n * deliberate choice: a fixed column count needs one breakpoint per host\n * viewport, while auto-fit recomputes the column count from the container's\n * own width — it reflows identically inside a sidebar-narrowed workspace and\n * full-bleed on an ultra-wide monitor, with zero Tailwind breakpoints\n * authored here or at the call site. The `minmax` lower bound is wrapped in\n * `min(100%, …)` so a tile never forces horizontal overflow on a container\n * narrower than `minTileWidth` itself.\n *\n * Presentational only: panels arrive through the default slot, and a panel\n * spans multiple tracks with its own `col-span-*` utility at the call\n * site — the grid does not know or count how many panels it holds.\n */\nwithDefaults(\n defineProps<{\n /** Narrowest a tile may get before the grid drops to fewer columns. Any valid CSS length (e.g. \"14rem\"). */\n minTileWidth?: string;\n /** Row/column gap step — mirrors Surface's `pad` scale at `sm` and up (sm 12px · md 16px · lg 24px); each step drops one notch below `sm`. */\n gap?: \"sm\" | \"md\" | \"lg\";\n }>(),\n { minTileWidth: \"16rem\", gap: \"md\" },\n);\n\n// One notch tighter below the `sm` breakpoint. A gutter is spent viewport, and\n// on a phone the grid is already single-column — 24px of air between stacked\n// tiles buys no separation the tile borders do not already give, it just\n// pushes the second tile off screen. From `sm` up each step is its\n// documented value.\nconst gapClass: Record<DashboardGridGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n</script>\n\n<template>\n <div\n class=\"grid\"\n :class=\"gapClass[gap]\"\n :style=\"{ gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, ${minTileWidth}), 1fr))` }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
package/dist/composition/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createElementBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot } from "vue";
|
|
2
|
+
//#region packages/composition/dashboard-grid/src/DashboardGrid.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var DashboardGrid_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
4
|
+
__name: "DashboardGrid",
|
|
5
|
+
props: {
|
|
6
|
+
minTileWidth: { default: "16rem" },
|
|
7
|
+
gap: { default: "md" }
|
|
8
|
+
},
|
|
9
|
+
setup(__props) {
|
|
10
|
+
/**
|
|
11
|
+
* DashboardGrid — the reflowing tile grid a dashboard's panels sit in: a CSS
|
|
12
|
+
* grid that fits as many `minTileWidth`-wide tracks as the container allows,
|
|
13
|
+
* so a KPI row and a couple of wider panels share one layout without the
|
|
14
|
+
* host authoring a single breakpoint.
|
|
15
|
+
*
|
|
16
|
+
* `auto-fit` + `minmax` (never fixed `grid-cols-N` breakpoints) is the
|
|
17
|
+
* deliberate choice: a fixed column count needs one breakpoint per host
|
|
18
|
+
* viewport, while auto-fit recomputes the column count from the container's
|
|
19
|
+
* own width — it reflows identically inside a sidebar-narrowed workspace and
|
|
20
|
+
* full-bleed on an ultra-wide monitor, with zero Tailwind breakpoints
|
|
21
|
+
* authored here or at the call site. The `minmax` lower bound is wrapped in
|
|
22
|
+
* `min(100%, …)` so a tile never forces horizontal overflow on a container
|
|
23
|
+
* narrower than `minTileWidth` itself.
|
|
24
|
+
*
|
|
25
|
+
* Presentational only: panels arrive through the default slot, and a panel
|
|
26
|
+
* spans multiple tracks with its own `col-span-*` utility at the call
|
|
27
|
+
* site — the grid does not know or count how many panels it holds.
|
|
28
|
+
*/
|
|
29
|
+
const gapClass = {
|
|
30
|
+
sm: "gap-2 sm:gap-3",
|
|
31
|
+
md: "gap-3 sm:gap-4",
|
|
32
|
+
lg: "gap-4 sm:gap-6"
|
|
33
|
+
};
|
|
34
|
+
return (_ctx, _cache) => {
|
|
35
|
+
return openBlock(), createElementBlock("div", {
|
|
36
|
+
class: normalizeClass(["grid", gapClass[__props.gap]]),
|
|
37
|
+
style: normalizeStyle({ gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, ${__props.minTileWidth}), 1fr))` })
|
|
38
|
+
}, [renderSlot(_ctx.$slots, "default")], 6);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
//#endregion
|
|
43
|
+
export { DashboardGrid_vue_vue_type_script_setup_true_lang_default as default };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=DashboardGrid.vue_vue_type_script_setup_true_lang.js.map
|
package/dist/composition/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardGrid.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/dashboard-grid/src/DashboardGrid.vue"],"sourcesContent":["<script lang=\"ts\">\n/** The gutter step — the same scale Stack's gap steps mirror. */\nexport type DashboardGridGap = \"sm\" | \"md\" | \"lg\";\n</script>\n\n<script setup lang=\"ts\">\n/**\n * DashboardGrid — the reflowing tile grid a dashboard's panels sit in: a CSS\n * grid that fits as many `minTileWidth`-wide tracks as the container allows,\n * so a KPI row and a couple of wider panels share one layout without the\n * host authoring a single breakpoint.\n *\n * `auto-fit` + `minmax` (never fixed `grid-cols-N` breakpoints) is the\n * deliberate choice: a fixed column count needs one breakpoint per host\n * viewport, while auto-fit recomputes the column count from the container's\n * own width — it reflows identically inside a sidebar-narrowed workspace and\n * full-bleed on an ultra-wide monitor, with zero Tailwind breakpoints\n * authored here or at the call site. The `minmax` lower bound is wrapped in\n * `min(100%, …)` so a tile never forces horizontal overflow on a container\n * narrower than `minTileWidth` itself.\n *\n * Presentational only: panels arrive through the default slot, and a panel\n * spans multiple tracks with its own `col-span-*` utility at the call\n * site — the grid does not know or count how many panels it holds.\n */\nwithDefaults(\n defineProps<{\n /** Narrowest a tile may get before the grid drops to fewer columns. Any valid CSS length (e.g. \"14rem\"). */\n minTileWidth?: string;\n /** Row/column gap step — mirrors Surface's `pad` scale at `sm` and up (sm 12px · md 16px · lg 24px); each step drops one notch below `sm`. */\n gap?: \"sm\" | \"md\" | \"lg\";\n }>(),\n { minTileWidth: \"16rem\", gap: \"md\" },\n);\n\n// One notch tighter below the `sm` breakpoint. A gutter is spent viewport, and\n// on a phone the grid is already single-column — 24px of air between stacked\n// tiles buys no separation the tile borders do not already give, it just\n// pushes the second tile off screen. From `sm` up each step is its\n// documented value.\nconst gapClass: Record<DashboardGridGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n</script>\n\n<template>\n <div\n class=\"grid\"\n :class=\"gapClass[gap]\"\n :style=\"{ gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, ${minTileWidth}), 1fr))` }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCA,MAAM,WAA6C;GACjD,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;;GAIE,OAAA,UAAA,GAAA,mBAMM,OAAA;IALJ,OAAK,eAAA,CAAC,QACE,SAAS,QAAA,IAAG,CAAA;IACnB,OAAK,eAAA,EAAA,qBAAA,qCAA8D,QAAA,aAAY,UAAA,CAAA;GAEhF,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Frame.js","names":[],"sources":["../../../../packages/composition/frame/src/Frame.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Frame — fixed-ratio container.\n *\n * A container that maintains a consistent aspect ratio regardless of its\n * width, using CSS `aspect-ratio`. Useful for media embeds, image thumbnails,\n * and any content that needs a fixed ratio (video players, avatar crops,\n * card illustrations).\n *\n * A Frame is a component, not `aspect-video`, because the `ratio` prop\n * names the intent (\"16:9\", \"1:1\") rather than requiring the caller to\n * compute the `aspect-ratio` value, and the component handles the\n * `overflow: hidden` that prevents content from distorting the frame.\n */\nexport type FrameRatio = \"16:9\" | \"4:3\" | \"1:1\" | \"3:4\";\n\nconst aspectRatioValue: Record<FrameRatio, string> = {\n \"16:9\": \"16 / 9\",\n \"4:3\": \"4 / 3\",\n \"1:1\": \"1 / 1\",\n \"3:4\": \"3 / 4\",\n} as const;\n\nexport { aspectRatioValue };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** The aspect ratio to maintain. Named ratios or any valid CSS `aspect-ratio` value (e.g. \"21 / 9\"). */\n ratio?: FrameRatio | string;\n }>(),\n { ratio: \"16:9\" },\n);\n\n/** Resolve a named ratio or pass through a raw CSS value. */\nfunction resolveRatio(r: FrameRatio | string): string {\n return r in aspectRatioValue ? aspectRatioValue[r as FrameRatio] : r;\n}\n</script>\n\n<template>\n <div :class=\"cn('relative overflow-hidden w-full')\" :style=\"{ aspectRatio: resolveRatio(ratio) }\">\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Frame.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/frame/src/Frame.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Frame — fixed-ratio container.\n *\n * A container that maintains a consistent aspect ratio regardless of its\n * width, using CSS `aspect-ratio`. Useful for media embeds, image thumbnails,\n * and any content that needs a fixed ratio (video players, avatar crops,\n * card illustrations).\n *\n * A Frame is a component, not `aspect-video`, because the `ratio` prop\n * names the intent (\"16:9\", \"1:1\") rather than requiring the caller to\n * compute the `aspect-ratio` value, and the component handles the\n * `overflow: hidden` that prevents content from distorting the frame.\n */\nexport type FrameRatio = \"16:9\" | \"4:3\" | \"1:1\" | \"3:4\";\n\nconst aspectRatioValue: Record<FrameRatio, string> = {\n \"16:9\": \"16 / 9\",\n \"4:3\": \"4 / 3\",\n \"1:1\": \"1 / 1\",\n \"3:4\": \"3 / 4\",\n} as const;\n\nexport { aspectRatioValue };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** The aspect ratio to maintain. Named ratios or any valid CSS `aspect-ratio` value (e.g. \"21 / 9\"). */\n ratio?: FrameRatio | string;\n }>(),\n { ratio: \"16:9\" },\n);\n\n/** Resolve a named ratio or pass through a raw CSS value. */\nfunction resolveRatio(r: FrameRatio | string): string {\n return r in aspectRatioValue ? aspectRatioValue[r as FrameRatio] : r;\n}\n</script>\n\n<template>\n <div :class=\"cn('relative overflow-hidden w-full')\" :style=\"{ aspectRatio: resolveRatio(ratio) }\">\n <slot />\n </div>\n</template>\n"],"mappings":";;;;AAgBA,IAAM,mBAA+C;CACnD,QAAQ;CACR,OAAO;CACP,OAAO;CACP,OAAO;AACT;;;;;;EAiBA,SAAS,aAAa,GAAgC;GACpD,OAAO,KAAK,mBAAmB,iBAAiB,KAAmB;EACrE;;GAIE,OAAA,UAAA,GAAA,mBAEM,OAAA;IAFA,OAAK,eAAE,MAAA,EAAA,CAAE,CAAA,iCAAA,CAAA;IAAsC,OAAK,eAAA,EAAA,aAAiB,aAAa,QAAA,KAAK,EAAA,CAAA;GAC3F,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.js","names":[],"sources":["../../../../packages/composition/grid/src/Grid.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Grid — CSS Grid with responsive column count.\n *\n * A grid that derives its column count from the container's own width\n * (`auto-fit` + `minmax`, never fixed `grid-cols-N` breakpoints), so the same\n * grid reflows inside a sidebar-narrowed workspace and full-bleed on an\n * ultra-wide monitor alike.\n *\n * A Grid is a component, not `grid grid-cols-3 gap-4`, because the responsive\n * column count is the component's job (a fixed count needs one breakpoint per\n * viewport and is already wrong the moment the grid sits in a sidebar narrower\n * than the viewport), and the gap tightens one step below `sm` like Stack and\n * DashboardGrid.\n */\nexport type GridGap = \"sm\" | \"md\" | \"lg\";\n\nconst gapClass: Record<GridGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nexport { gapClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Narrowest a column may get before the grid drops to fewer columns. Any valid CSS length (e.g. \"14rem\"). */\n minColWidth?: string;\n /** Column/row gap step — mirrors Stack's scale. Tightens one notch below `sm`. */\n gap?: GridGap;\n }>(),\n { minColWidth: \"16rem\", gap: \"md\" },\n);\n</script>\n\n<template>\n <div\n class=\"grid\"\n :class=\"cn(gapClass[gap])\"\n :style=\"{ gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, ${minColWidth}), 1fr))` }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grid.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/grid/src/Grid.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Grid — CSS Grid with responsive column count.\n *\n * A grid that derives its column count from the container's own width\n * (`auto-fit` + `minmax`, never fixed `grid-cols-N` breakpoints), so the same\n * grid reflows inside a sidebar-narrowed workspace and full-bleed on an\n * ultra-wide monitor alike.\n *\n * A Grid is a component, not `grid grid-cols-3 gap-4`, because the responsive\n * column count is the component's job (a fixed count needs one breakpoint per\n * viewport and is already wrong the moment the grid sits in a sidebar narrower\n * than the viewport), and the gap tightens one step below `sm` like Stack and\n * DashboardGrid.\n */\nexport type GridGap = \"sm\" | \"md\" | \"lg\";\n\nconst gapClass: Record<GridGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nexport { gapClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Narrowest a column may get before the grid drops to fewer columns. Any valid CSS length (e.g. \"14rem\"). */\n minColWidth?: string;\n /** Column/row gap step — mirrors Stack's scale. Tightens one notch below `sm`. */\n gap?: GridGap;\n }>(),\n { minColWidth: \"16rem\", gap: \"md\" },\n);\n</script>\n\n<template>\n <div\n class=\"grid\"\n :class=\"cn(gapClass[gap])\"\n :style=\"{ gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, ${minColWidth}), 1fr))` }\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;AAiBA,IAAM,WAAoC;CACxC,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;;;;;GAoBE,OAAA,UAAA,GAAA,mBAMM,OAAA;IALJ,OAAK,eAAA,CAAC,QACE,MAAA,EAAA,CAAE,CAAC,SAAS,QAAA,IAAG,CAAA,CAAA;IACtB,OAAK,eAAA,EAAA,qBAAA,qCAA8D,QAAA,YAAW,UAAA,CAAA;GAE/E,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Inline.js","names":[],"sources":["../../../../packages/composition/inline/src/Inline.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Inline — horizontal flow with wrap, consistent gap.\n *\n * A flex row that wraps naturally at the container edge and tightens its gutter\n * one step below the `sm` breakpoint. The gap steps mirror Stack's and\n * DashboardGrid's: the value each step names applies from `sm` up, and drops\n * one notch below it.\n *\n * An Inline is a component, not `flex flex-row flex-wrap gap-4`, because the\n * responsive gap is the component's job, the `align` prop maps cross-axis\n * intent to a class, and the `wrap` prop controls line-wrapping behaviour.\n */\nexport type InlineGap = \"sm\" | \"md\" | \"lg\";\n\nexport type InlineAlign = \"start\" | \"center\" | \"end\" | \"stretch\" | \"baseline\";\n\nconst gapClass: Record<InlineGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nconst alignClass: Record<InlineAlign, string> = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n stretch: \"items-stretch\",\n baseline: \"items-baseline\",\n} as const;\n\nexport { gapClass, alignClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Horizontal gap step — mirrors Stack's scale. Tightens one notch below `sm`. */\n gap?: InlineGap;\n /** Cross-axis alignment of children. */\n align?: InlineAlign;\n /** Whether items wrap to new lines when they exceed the container width. */\n wrap?: boolean;\n }>(),\n { gap: \"md\", align: \"stretch\", wrap: true },\n);\n</script>\n\n<template>\n <div\n :class=\"\n cn('flex flex-row', gapClass[gap], alignClass[align], wrap ? 'flex-wrap' : 'flex-nowrap')\n \"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Inline.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/inline/src/Inline.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Inline — horizontal flow with wrap, consistent gap.\n *\n * A flex row that wraps naturally at the container edge and tightens its gutter\n * one step below the `sm` breakpoint. The gap steps mirror Stack's and\n * DashboardGrid's: the value each step names applies from `sm` up, and drops\n * one notch below it.\n *\n * An Inline is a component, not `flex flex-row flex-wrap gap-4`, because the\n * responsive gap is the component's job, the `align` prop maps cross-axis\n * intent to a class, and the `wrap` prop controls line-wrapping behaviour.\n */\nexport type InlineGap = \"sm\" | \"md\" | \"lg\";\n\nexport type InlineAlign = \"start\" | \"center\" | \"end\" | \"stretch\" | \"baseline\";\n\nconst gapClass: Record<InlineGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nconst alignClass: Record<InlineAlign, string> = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n stretch: \"items-stretch\",\n baseline: \"items-baseline\",\n} as const;\n\nexport { gapClass, alignClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Horizontal gap step — mirrors Stack's scale. Tightens one notch below `sm`. */\n gap?: InlineGap;\n /** Cross-axis alignment of children. */\n align?: InlineAlign;\n /** Whether items wrap to new lines when they exceed the container width. */\n wrap?: boolean;\n }>(),\n { gap: \"md\", align: \"stretch\", wrap: true },\n);\n</script>\n\n<template>\n <div\n :class=\"\n cn('flex flex-row', gapClass[gap], alignClass[align], wrap ? 'flex-wrap' : 'flex-nowrap')\n \"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;AAiBA,IAAM,WAAsC;CAC1C,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,aAA0C;CAC9C,OAAO;CACP,QAAQ;CACR,KAAK;CACL,SAAS;CACT,UAAU;AACZ;;;;;;;;;;;;;GAsBE,OAAA,UAAA,GAAA,mBAMM,OAAA,EALH,OAAK,eAAS,MAAA,EAAA,CAAE,CAAA,iBAAkB,SAAS,QAAA,MAAM,WAAW,QAAA,QAAQ,QAAA,OAAI,cAAA,aAAA,CAAA,EAAA,GAAA,CAIzE,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollReel.js","names":[],"sources":["../../../../packages/composition/scroll-reel/src/ScrollReel.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * ScrollReel — horizontal scrolling strip with scroll-snap.\n *\n * A touch-friendly, keyboard-navigable horizontal scroll container with\n * optional scroll-snap alignment. Arrow keys scroll to the next or previous\n * snap point; the `Home` and `End` keys jump to the start or end of the\n * strip.\n *\n * A ScrollReel is a component, not `overflow-x-auto snap-x snap-mandatory`,\n * because keyboard accessibility for scroll-snap requires JavaScript (arrow\n * keys must find the next snap-aligned child and scroll it into view), and\n * the gap tightens one step below `sm` like Stack and DashboardGrid.\n */\nexport type ScrollReelSnap = \"start\" | \"center\" | \"end\" | \"none\";\n\nexport type ScrollReelGap = \"sm\" | \"md\" | \"lg\";\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it,\n * and exported so a host can build a partial vocabulary against the real\n * thing rather than a transcription of it. The type itself lives in the\n * labels registry (`ScrollReelLabels`) like every other slot's, so\n * `provideLoomLabels({ scrollReel: … })` reaches this component exactly as\n * it reaches every primitive — composition sits above labels in the layer\n * direction, and a host localising one reel should not have to learn a\n * second seam to do it.\n */\nexport const SCROLL_REEL_LABELS: ScrollReelLabels = {\n region: \"Scrollable content\",\n};\n\nconst snapClass: Record<ScrollReelSnap, string> = {\n start: \"snap-x snap-mandatory snap-start\",\n center: \"snap-x snap-mandatory snap-center\",\n end: \"snap-x snap-mandatory snap-end\",\n // `none` means no snap alignment — items scroll freely.\n none: \"\",\n} as const;\n\nconst gapClass: Record<ScrollReelGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nexport { snapClass, gapClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { cn, smoothScrollBehavior } from \"@ecoma-io/loom-core\";\nimport { useLabels, type LabelOverrides, type ScrollReelLabels } from \"@ecoma-io/loom-labels\";\n\nconst props = withDefaults(\n defineProps<{\n /** Scroll-snap alignment. \"none\" disables snap entirely. */\n snap?: ScrollReelSnap;\n /** Gap between items — mirrors Stack's scale. Tightens one notch below `sm`. */\n gap?: ScrollReelGap;\n /**\n * Names for what the reel says out loud, as any subset of\n * `ScrollReelLabels` — the per-instance correction over\n * `SCROLL_REEL_LABELS`, in the same shape a primitive's `labels` prop\n * takes.\n */\n labels?: LabelOverrides<ScrollReelLabels>;\n }>(),\n { snap: \"start\", gap: \"md\" },\n);\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves (own prop, then the host vocabulary from `provideLoomLabels`, then\n// these English defaults), and a template reading the raw prop would be\n// reading the overrides rather than the answer.\nconst text = useLabels(\"scrollReel\", SCROLL_REEL_LABELS, () => props.labels);\n\nconst reel = ref<HTMLDivElement | null>(null);\n\n// The reduced-motion softening lives in core (`smoothScrollBehavior`): an\n// explicit `\"smooth\"` in a scrollTo dictionary overrides the stylesheet's\n// kill-switch, so the question has to be answered at the call site — and\n// Carousel asks it too, which is why the answer is shared rather than owned.\nconst scrollBehavior = smoothScrollBehavior;\n\n/**\n * Keyboard navigation for scroll-snap: arrow keys scroll to the next or\n * previous snap-aligned child. Without this, the browser's default arrow-key\n * behaviour scrolls by a fixed pixel amount that rarely aligns with snap\n * points, leaving the strip between two items.\n */\nfunction onKeydown(event: KeyboardEvent) {\n const el = reel.value;\n if (!el) return;\n\n // A keypress inside a nested editable (search field, combobox, contenteditable\n // chip) bubbles up to this listener: the arrows and Home/End are the caret's\n // keys there, not the reel's. Step aside so the text control keeps them —\n // the same boundary Toolbar draws at its own listener.\n if ((event.target as HTMLElement).closest(\"input, select, textarea, [contenteditable]\")) return;\n\n const direction = event.key === \"ArrowRight\" ? 1 : event.key === \"ArrowLeft\" ? -1 : 0;\n if (direction === 0 && event.key !== \"Home\" && event.key !== \"End\") return;\n\n event.preventDefault();\n\n const behavior = scrollBehavior();\n if (event.key === \"Home\") {\n el.scrollTo({ left: 0, behavior });\n return;\n }\n if (event.key === \"End\") {\n el.scrollTo({ left: el.scrollWidth, behavior });\n return;\n }\n\n // Find the next snap-aligned child in the scroll direction.\n const children = [...el.children] as HTMLElement[];\n const scrollEdge = direction === 1 ? el.scrollLeft + el.clientWidth : el.scrollLeft;\n\n for (const child of direction === 1 ? children : children.reverse()) {\n const childEdge = direction === 1 ? child.offsetLeft : child.offsetLeft + child.offsetWidth;\n const isNext = direction === 1 ? childEdge > scrollEdge - 1 : childEdge < scrollEdge + 1;\n if (isNext) {\n child.scrollIntoView({ behavior, block: \"nearest\", inline: \"start\" });\n break;\n }\n }\n}\n</script>\n\n<template>\n <!-- `role=\"region\"` + `tabindex=\"0\"` + an accessible name make this a named,\n focusable landmark region. The keyboard handler is what makes the\n scroll-snap strip navigable by arrow keys — a genuine interaction on\n a genuinely interactive element. The rule does not account for\n non-interactive ARIA roles with an explicit tabindex. -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"reel\"\n class=\"overflow-x-auto\"\n :class=\"cn('flex flex-row', snapClass[snap], gapClass[gap])\"\n tabindex=\"0\"\n role=\"region\"\n :aria-label=\"text.region\"\n @keydown=\"onKeydown\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":""}
|
package/dist/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollReel.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/scroll-reel/src/ScrollReel.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * ScrollReel — horizontal scrolling strip with scroll-snap.\n *\n * A touch-friendly, keyboard-navigable horizontal scroll container with\n * optional scroll-snap alignment. Arrow keys scroll to the next or previous\n * snap point; the `Home` and `End` keys jump to the start or end of the\n * strip.\n *\n * A ScrollReel is a component, not `overflow-x-auto snap-x snap-mandatory`,\n * because keyboard accessibility for scroll-snap requires JavaScript (arrow\n * keys must find the next snap-aligned child and scroll it into view), and\n * the gap tightens one step below `sm` like Stack and DashboardGrid.\n */\nexport type ScrollReelSnap = \"start\" | \"center\" | \"end\" | \"none\";\n\nexport type ScrollReelGap = \"sm\" | \"md\" | \"lg\";\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it,\n * and exported so a host can build a partial vocabulary against the real\n * thing rather than a transcription of it. The type itself lives in the\n * labels registry (`ScrollReelLabels`) like every other slot's, so\n * `provideLoomLabels({ scrollReel: … })` reaches this component exactly as\n * it reaches every primitive — composition sits above labels in the layer\n * direction, and a host localising one reel should not have to learn a\n * second seam to do it.\n */\nexport const SCROLL_REEL_LABELS: ScrollReelLabels = {\n region: \"Scrollable content\",\n};\n\nconst snapClass: Record<ScrollReelSnap, string> = {\n start: \"snap-x snap-mandatory snap-start\",\n center: \"snap-x snap-mandatory snap-center\",\n end: \"snap-x snap-mandatory snap-end\",\n // `none` means no snap alignment — items scroll freely.\n none: \"\",\n} as const;\n\nconst gapClass: Record<ScrollReelGap, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nexport { snapClass, gapClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { ref } from \"vue\";\nimport { cn, smoothScrollBehavior } from \"@ecoma-io/loom-core\";\nimport { useLabels, type LabelOverrides, type ScrollReelLabels } from \"@ecoma-io/loom-labels\";\n\nconst props = withDefaults(\n defineProps<{\n /** Scroll-snap alignment. \"none\" disables snap entirely. */\n snap?: ScrollReelSnap;\n /** Gap between items — mirrors Stack's scale. Tightens one notch below `sm`. */\n gap?: ScrollReelGap;\n /**\n * Names for what the reel says out loud, as any subset of\n * `ScrollReelLabels` — the per-instance correction over\n * `SCROLL_REEL_LABELS`, in the same shape a primitive's `labels` prop\n * takes.\n */\n labels?: LabelOverrides<ScrollReelLabels>;\n }>(),\n { snap: \"start\", gap: \"md\" },\n);\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves (own prop, then the host vocabulary from `provideLoomLabels`, then\n// these English defaults), and a template reading the raw prop would be\n// reading the overrides rather than the answer.\nconst text = useLabels(\"scrollReel\", SCROLL_REEL_LABELS, () => props.labels);\n\nconst reel = ref<HTMLDivElement | null>(null);\n\n// The reduced-motion softening lives in core (`smoothScrollBehavior`): an\n// explicit `\"smooth\"` in a scrollTo dictionary overrides the stylesheet's\n// kill-switch, so the question has to be answered at the call site — and\n// Carousel asks it too, which is why the answer is shared rather than owned.\nconst scrollBehavior = smoothScrollBehavior;\n\n/**\n * Keyboard navigation for scroll-snap: arrow keys scroll to the next or\n * previous snap-aligned child. Without this, the browser's default arrow-key\n * behaviour scrolls by a fixed pixel amount that rarely aligns with snap\n * points, leaving the strip between two items.\n */\nfunction onKeydown(event: KeyboardEvent) {\n const el = reel.value;\n if (!el) return;\n\n // A keypress inside a nested editable (search field, combobox, contenteditable\n // chip) bubbles up to this listener: the arrows and Home/End are the caret's\n // keys there, not the reel's. Step aside so the text control keeps them —\n // the same boundary Toolbar draws at its own listener.\n if ((event.target as HTMLElement).closest(\"input, select, textarea, [contenteditable]\")) return;\n\n const direction = event.key === \"ArrowRight\" ? 1 : event.key === \"ArrowLeft\" ? -1 : 0;\n if (direction === 0 && event.key !== \"Home\" && event.key !== \"End\") return;\n\n event.preventDefault();\n\n const behavior = scrollBehavior();\n if (event.key === \"Home\") {\n el.scrollTo({ left: 0, behavior });\n return;\n }\n if (event.key === \"End\") {\n el.scrollTo({ left: el.scrollWidth, behavior });\n return;\n }\n\n // Find the next snap-aligned child in the scroll direction.\n const children = [...el.children] as HTMLElement[];\n const scrollEdge = direction === 1 ? el.scrollLeft + el.clientWidth : el.scrollLeft;\n\n for (const child of direction === 1 ? children : children.reverse()) {\n const childEdge = direction === 1 ? child.offsetLeft : child.offsetLeft + child.offsetWidth;\n const isNext = direction === 1 ? childEdge > scrollEdge - 1 : childEdge < scrollEdge + 1;\n if (isNext) {\n child.scrollIntoView({ behavior, block: \"nearest\", inline: \"start\" });\n break;\n }\n }\n}\n</script>\n\n<template>\n <!-- `role=\"region\"` + `tabindex=\"0\"` + an accessible name make this a named,\n focusable landmark region. The keyboard handler is what makes the\n scroll-snap strip navigable by arrow keys — a genuine interaction on\n a genuinely interactive element. The rule does not account for\n non-interactive ARIA roles with an explicit tabindex. -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-static-element-interactions -->\n <div\n ref=\"reel\"\n class=\"overflow-x-auto\"\n :class=\"cn('flex flex-row', snapClass[snap], gapClass[gap])\"\n tabindex=\"0\"\n role=\"region\"\n :aria-label=\"text.region\"\n @keydown=\"onKeydown\"\n >\n <slot />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;AA4BA,IAAa,qBAAuC,EAClD,QAAQ,qBACV;AAEA,IAAM,YAA4C;CAChD,OAAO;CACP,QAAQ;CACR,KAAK;CAEL,MAAM;AACR;AAEA,IAAM,WAA0C;CAC9C,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;;;;;EAUA,MAAM,QAAQ;EAqBd,MAAM,OAAO,UAAU,cAAc,0BAA0B,MAAM,MAAM;EAE3E,MAAM,OAAO,IAA2B,IAAI;EAM5C,MAAM,iBAAiB;;;;;;;EAQvB,SAAS,UAAU,OAAsB;GACvC,MAAM,KAAK,KAAK;GAChB,IAAI,CAAC,IAAI;GAMT,IAAK,MAAM,OAAuB,QAAQ,4CAA4C,GAAG;GAEzF,MAAM,YAAY,MAAM,QAAQ,eAAe,IAAI,MAAM,QAAQ,cAAc,KAAK;GACpF,IAAI,cAAc,KAAK,MAAM,QAAQ,UAAU,MAAM,QAAQ,OAAO;GAEpE,MAAM,eAAe;GAErB,MAAM,WAAW,eAAe;GAChC,IAAI,MAAM,QAAQ,QAAQ;IACxB,GAAG,SAAS;KAAE,MAAM;KAAG;IAAS,CAAC;IACjC;GACF;GACA,IAAI,MAAM,QAAQ,OAAO;IACvB,GAAG,SAAS;KAAE,MAAM,GAAG;KAAa;IAAS,CAAC;IAC9C;GACF;GAGA,MAAM,WAAW,CAAC,GAAG,GAAG,QAAQ;GAChC,MAAM,aAAa,cAAc,IAAI,GAAG,aAAa,GAAG,cAAc,GAAG;GAEzE,KAAK,MAAM,SAAS,cAAc,IAAI,WAAW,SAAS,QAAQ,GAAG;IACnE,MAAM,YAAY,cAAc,IAAI,MAAM,aAAa,MAAM,aAAa,MAAM;IAEhF,IADe,cAAc,IAAI,YAAY,aAAa,IAAI,YAAY,aAAa,GAC3E;KACV,MAAM,eAAe;MAAE;MAAU,OAAO;MAAW,QAAQ;KAAQ,CAAC;KACpE;IACF;GACF;EACF;;GAUE,OAAA,UAAA,GAAA,mBAUM,OAAA;IATA,SAAA;IAAJ,KAAI;IACJ,OAAK,eAAA,CAAC,mBACE,MAAA,EAAA,CAAE,CAAA,iBAAkB,UAAU,QAAA,OAAO,SAAS,QAAA,IAAG,CAAA,CAAA;IACzD,UAAS;IACT,MAAK;IACJ,cAAY,MAAA,IAAA,CAAI,CAAC;IACR;GAEV,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,IAAA,UAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sidebar.js","names":[],"sources":["../../../../packages/composition/sidebar/src/Sidebar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Sidebar — content + sidebar with intrinsic CSS collapse.\n *\n * The Every Layout \"Sidebar\" pattern: the sidebar gets a fixed `flex-basis`\n * and the content gets `flex-grow: 999`, so the layout wraps and both panels\n * go full-width the moment the content can't fit its `contentMin` percentage.\n * No media query, no JavaScript — the layout derives its own breakpoint from\n * the container's width.\n *\n * A Sidebar is a component because the `calc()` technique for intrinsic\n * sidebar width is non-obvious and easy to get wrong, and Loom wrapping it\n * prevents footguns. It differs from Split in that the content area is the\n * star — it grows to fill all available space — and the sidebar has a\n * preferred, not a minimum, width.\n */\nexport type SidebarSide = \"left\" | \"right\";\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Which side the sidebar sits on. Controls flex direction and stacking order. */\n side?: SidebarSide;\n /** Preferred width for the sidebar (e.g. \"16rem\"). The sidebar does not grow. */\n sideWidth?: string;\n /** Minimum percentage of the container the content demands before the layout wraps. Default: `\"50%\"`. */\n contentMin?: string;\n /** Whether to add a gap between the two panels. Default: `true`. */\n gap?: boolean;\n }>(),\n { side: \"left\", sideWidth: \"16rem\", contentMin: \"50%\", gap: true },\n);\n</script>\n\n<template>\n <!--\n `flex-wrap: wrap` is the intrinsic collapse mechanism. When the content\n can't fit its `contentMin`, it wraps to a new line and both panels take\n full width — the sidebar becomes a full-width section above or below the\n content, depending on `side`.\n\n The sidebar's `flex-basis` is its preferred width. The content's\n `flex-grow: 999` ensures it takes all remaining space when there is room,\n but its `flex-basis: 0` and `min-width: contentMin` trigger wrapping\n when there isn't.\n -->\n <div\n :class=\"cn('flex flex-row', gap ? 'gap-3 sm:gap-4' : undefined)\"\n :style=\"{ flexWrap: 'wrap' }\"\n >\n <!--\n Document order follows `side`, so the wrapped stack never contradicts\n the side-by-side row and screen-reader order matches the visual one:\n content first when `side=\"right\"`, sidebar first when `side=\"left\"`.\n flex-row (never reverse) plus this ordering is what makes the wrap\n produce content-above-sidebar for `side=\"right\"`.\n -->\n <template v-if=\"side === 'right'\">\n <!-- Content: fills all remaining space (flex-grow: 999), but its\n min-width: contentMin triggers wrapping when there isn't room. -->\n <div\n :style=\"{\n flexBasis: 0,\n flexGrow: 999,\n flexShrink: 1,\n minWidth: contentMin,\n }\"\n >\n <slot />\n </div>\n <!-- Sidebar: preferred width as flex-basis, does not grow. -->\n <div\n :style=\"{\n flexBasis: sideWidth,\n flexGrow: 0,\n flexShrink: 1,\n }\"\n >\n <slot name=\"side\" />\n </div>\n </template>\n <template v-else>\n <!-- Sidebar: preferred width as flex-basis, does not grow. -->\n <div\n :style=\"{\n flexBasis: sideWidth,\n flexGrow: 0,\n flexShrink: 1,\n }\"\n >\n <slot name=\"side\" />\n </div>\n <!-- Content: fills all remaining space (flex-grow: 999), but its\n min-width: contentMin triggers wrapping when there isn't room. -->\n <div\n :style=\"{\n flexBasis: 0,\n flexGrow: 999,\n flexShrink: 1,\n minWidth: contentMin,\n }\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sidebar.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../packages/composition/sidebar/src/Sidebar.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Sidebar — content + sidebar with intrinsic CSS collapse.\n *\n * The Every Layout \"Sidebar\" pattern: the sidebar gets a fixed `flex-basis`\n * and the content gets `flex-grow: 999`, so the layout wraps and both panels\n * go full-width the moment the content can't fit its `contentMin` percentage.\n * No media query, no JavaScript — the layout derives its own breakpoint from\n * the container's width.\n *\n * A Sidebar is a component because the `calc()` technique for intrinsic\n * sidebar width is non-obvious and easy to get wrong, and Loom wrapping it\n * prevents footguns. It differs from Split in that the content area is the\n * star — it grows to fill all available space — and the sidebar has a\n * preferred, not a minimum, width.\n */\nexport type SidebarSide = \"left\" | \"right\";\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** Which side the sidebar sits on. Controls flex direction and stacking order. */\n side?: SidebarSide;\n /** Preferred width for the sidebar (e.g. \"16rem\"). The sidebar does not grow. */\n sideWidth?: string;\n /** Minimum percentage of the container the content demands before the layout wraps. Default: `\"50%\"`. */\n contentMin?: string;\n /** Whether to add a gap between the two panels. Default: `true`. */\n gap?: boolean;\n }>(),\n { side: \"left\", sideWidth: \"16rem\", contentMin: \"50%\", gap: true },\n);\n</script>\n\n<template>\n <!--\n `flex-wrap: wrap` is the intrinsic collapse mechanism. When the content\n can't fit its `contentMin`, it wraps to a new line and both panels take\n full width — the sidebar becomes a full-width section above or below the\n content, depending on `side`.\n\n The sidebar's `flex-basis` is its preferred width. The content's\n `flex-grow: 999` ensures it takes all remaining space when there is room,\n but its `flex-basis: 0` and `min-width: contentMin` trigger wrapping\n when there isn't.\n -->\n <div\n :class=\"cn('flex flex-row', gap ? 'gap-3 sm:gap-4' : undefined)\"\n :style=\"{ flexWrap: 'wrap' }\"\n >\n <!--\n Document order follows `side`, so the wrapped stack never contradicts\n the side-by-side row and screen-reader order matches the visual one:\n content first when `side=\"right\"`, sidebar first when `side=\"left\"`.\n flex-row (never reverse) plus this ordering is what makes the wrap\n produce content-above-sidebar for `side=\"right\"`.\n -->\n <template v-if=\"side === 'right'\">\n <!-- Content: fills all remaining space (flex-grow: 999), but its\n min-width: contentMin triggers wrapping when there isn't room. -->\n <div\n :style=\"{\n flexBasis: 0,\n flexGrow: 999,\n flexShrink: 1,\n minWidth: contentMin,\n }\"\n >\n <slot />\n </div>\n <!-- Sidebar: preferred width as flex-basis, does not grow. -->\n <div\n :style=\"{\n flexBasis: sideWidth,\n flexGrow: 0,\n flexShrink: 1,\n }\"\n >\n <slot name=\"side\" />\n </div>\n </template>\n <template v-else>\n <!-- Sidebar: preferred width as flex-basis, does not grow. -->\n <div\n :style=\"{\n flexBasis: sideWidth,\n flexGrow: 0,\n flexShrink: 1,\n }\"\n >\n <slot name=\"side\" />\n </div>\n <!-- Content: fills all remaining space (flex-grow: 999), but its\n min-width: contentMin triggers wrapping when there isn't room. -->\n <div\n :style=\"{\n flexBasis: 0,\n flexGrow: 999,\n flexShrink: 1,\n minWidth: contentMin,\n }\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;GAiDE,OAAA,UAAA,GAAA,mBA2DM,OAAA;IA1DH,OAAK,eAAE,MAAA,EAAA,CAAE,CAAA,iBAAkB,QAAA,MAAG,mBAAsB,KAAA,CAAS,CAAA;IAC7D,OAAO,EAAA,UAAA,OAAA;GASQ,GAAA,CAAA,QAAA,SAAI,WAApB,UAAA,GAAA,mBAuBW,UAAA,EAAA,KAAA,EAAA,GAAA,CApBT,mBASM,OAAA,EARH,OAAK,eAAA;;;;IAAkG,UAAA,QAAA;GAOxG,CAAA,EAAA,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA,GAGV,mBAQM,OAAA,EAPH,OAAK,eAAA;IAAyB,WAAA,QAAA;;;GAM/B,CAAA,EAAA,GAAA,CAAA,WAAoB,KAAA,QAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EAAA,MAGxB,UAAA,GAAA,mBAuBW,UAAA,EAAA,KAAA,EAAA,GAAA,CArBT,mBAQM,OAAA,EAPH,OAAK,eAAA;IAAyB,WAAA,QAAA;;;GAM/B,CAAA,EAAA,GAAA,CAAA,WAAoB,KAAA,QAAA,MAAA,CAAA,GAAA,CAAA,GAItB,mBASM,OAAA,EARH,OAAK,eAAA;;;;IAAkG,UAAA,QAAA;GAOxG,CAAA,EAAA,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Split.js","names":[],"sources":["../../../../packages/composition/split/src/Split.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Split — two-panel layout with intrinsic collapse.\n *\n * A flex row that places a side panel and a content area side by side, and\n * stacks them vertically once the container is too narrow for both. The side\n * panel gets a fixed minimum width; the content area grows to fill the\n * remaining space.\n *\n * This is the Every Layout \"Sidebar\" pattern, simplified for the common\n * two-panel case. The intrinsic collapse — panels stack when the container is\n * too narrow — avoids a breakpoint per viewport, and works identically inside\n * a sidebar-narrowed workspace and full-bleed on an ultra-wide monitor.\n *\n * A Split is a component, not a hand-rolled flex row with a media query,\n * because the wrap-and-floor technique is non-obvious and easy to get wrong,\n * and the stacking order (side above or below) is an intent the `side` prop\n * expresses.\n */\nexport type SplitSide = \"left\" | \"right\";\n\nexport type SplitGap = \"sm\" | \"md\" | \"lg\" | \"none\";\n\nconst gapClass: Record<Exclude<SplitGap, \"none\">, string> = {\n sm: \"gap-2 sm:gap-3\",\n md: \"gap-3 sm:gap-4\",\n lg: \"gap-4 sm:gap-6\",\n} as const;\n\nexport { gapClass };\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"@ecoma-io/loom-core\";\n\nwithDefaults(\n defineProps<{\n /** The side the panel sits on. Controls stacking order when collapsed: \"left\" stacks the panel above, \"right\" stacks it below. */\n side?: SplitSide;\n /** Minimum width for the side panel (e.g. \"16rem\"). The content area takes the rest. */\n minSideWidth?: string;\n /** Gap between the two panels. Tightens one notch below `sm` (except \"none\"). */\n gap?: SplitGap;\n }>(),\n { side: \"left\", minSideWidth: \"16rem\", gap: \"md\" },\n);\n</script>\n\n<template>\n <!--\n `flex-wrap` is the intrinsic collapse mechanism: when the combined\n `min-width` of both panels exceeds the container, the second panel wraps\n to a new line. Where that happens is decided by the panels' own minimum\n widths — there is no breakpoint prop to set it with.\n -->\n <div\n :class=\"cn('flex flex-row', gap !== 'none' ? gapClass[gap] : undefined)\"\n :style=\"{\n flexWrap: 'wrap',\n }\"\n >\n <!--\n Document order follows `side`, so the wrapped stack never contradicts\n the side-by-side row and screen-reader order matches the visual one:\n content first when `side=\"right\"`, side first when `side=\"left\"`.\n flex-row (never reverse) plus this ordering is what makes the wrap\n produce content-above-panel for `side=\"right\"`.\n -->\n <template v-if=\"side === 'right'\">\n <!-- Content area: fills remaining space, but demands at least 50% of\n the container before wrapping. Wrapped onto a line of its own it\n takes that whole line: flex-basis 0 starts from nothing and\n flex-grow 999 absorbs every free pixel on the line. -->\n <div\n :style=\"{\n flexBasis: 0,\n flexGrow: 999,\n flexShrink: 1,\n minWidth: '50%',\n }\"\n >\n <slot />\n </div>\n <!-- Side panel: fixed minimum width, does not grow. Wrapped onto a\n line of its own it keeps exactly that declared width — flex-grow 0\n with an explicit basis never widens, so the full-line stretch is\n the content side's alone. -->\n <div\n :style=\"{\n flexBasis: minSideWidth,\n flexGrow: 0,\n flexShrink: 0,\n minWidth: minSideWidth,\n }\"\n >\n <slot name=\"side\" />\n </div>\n </template>\n <template v-else>\n <!-- Side panel: fixed minimum width, does not grow. Wrapped onto a\n line of its own it keeps exactly that declared width — flex-grow 0\n with an explicit basis never widens, so the full-line stretch is\n the content side's alone. -->\n <div\n :style=\"{\n flexBasis: minSideWidth,\n flexGrow: 0,\n flexShrink: 0,\n minWidth: minSideWidth,\n }\"\n >\n <slot name=\"side\" />\n </div>\n <!-- Content area: fills remaining space, but demands at least 50% of\n the container before wrapping. Wrapped onto a line of its own it\n takes that whole line: flex-basis 0 starts from nothing and\n flex-grow 999 absorbs every free pixel on the line. -->\n <div\n :style=\"{\n flexBasis: 0,\n flexGrow: 999,\n flexShrink: 1,\n minWidth: '50%',\n }\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n"],"mappings":""}
|