@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.
Files changed (1023) hide show
  1. package/README.md +188 -101
  2. package/dist/a11y.js +4 -3
  3. package/dist/composition/center/src/Center.js.map +1 -0
  4. package/dist/composition/center/src/Center.vue_vue_type_script_setup_true_lang.js.map +1 -0
  5. package/dist/composition/dashboard-grid/src/DashboardGrid.js +7 -0
  6. package/dist/composition/dashboard-grid/src/DashboardGrid.js.map +1 -0
  7. package/dist/composition/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js +45 -0
  8. package/dist/composition/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  9. package/dist/composition/frame/src/Frame.js.map +1 -0
  10. package/dist/composition/frame/src/Frame.vue_vue_type_script_setup_true_lang.js.map +1 -0
  11. package/dist/composition/grid/src/Grid.js.map +1 -0
  12. package/dist/composition/grid/src/Grid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  13. package/dist/composition/inline/src/Inline.js.map +1 -0
  14. package/dist/composition/inline/src/Inline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  15. package/dist/composition/scroll-reel/src/ScrollReel.js.map +1 -0
  16. package/dist/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +1 -0
  17. package/dist/composition/sidebar/src/Sidebar.js.map +1 -0
  18. package/dist/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  19. package/dist/composition/split/src/Split.js.map +1 -0
  20. package/dist/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js.map +1 -0
  21. package/dist/composition/stack/src/Stack.js.map +1 -0
  22. package/dist/composition/stack/src/Stack.vue_vue_type_script_setup_true_lang.js.map +1 -0
  23. package/dist/core/src/a11y-contract.js +558 -0
  24. package/dist/core/src/a11y-contract.js.map +1 -0
  25. package/dist/core/src/a11y-scope.js +151 -0
  26. package/dist/core/src/a11y-scope.js.map +1 -0
  27. package/dist/core/src/attrs.js.map +1 -0
  28. package/dist/core/src/cn.js +61 -0
  29. package/dist/core/src/cn.js.map +1 -0
  30. package/dist/core/src/icon-defaults.js.map +1 -0
  31. package/dist/core/src/index.js +9 -0
  32. package/dist/core/src/motion.js +31 -0
  33. package/dist/core/src/motion.js.map +1 -0
  34. package/dist/core/src/props.js.map +1 -0
  35. package/dist/core/src/theme.js.map +1 -0
  36. package/dist/index.js +287 -285
  37. package/dist/labels/src/ancestor-disabled.js.map +1 -0
  38. package/dist/labels/src/count-labels.js.map +1 -0
  39. package/dist/labels/src/date-labels.js +206 -0
  40. package/dist/labels/src/date-labels.js.map +1 -0
  41. package/dist/labels/src/field-context.js.map +1 -0
  42. package/dist/labels/src/labels.js.map +1 -0
  43. package/dist/layouts/app-shell/src/AppShell.js.map +1 -0
  44. package/dist/layouts/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  45. package/dist/layouts/centered/src/Centered.js.map +1 -0
  46. package/dist/layouts/centered/src/Centered.vue_vue_type_script_setup_true_lang.js.map +1 -0
  47. package/dist/layouts/dashboard/src/Dashboard.js.map +1 -0
  48. package/dist/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js +65 -0
  49. package/dist/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  50. package/dist/layouts/desktop-app-shell/src/DesktopAppShell.js +7 -0
  51. package/dist/layouts/desktop-app-shell/src/DesktopAppShell.js.map +1 -0
  52. package/dist/layouts/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +76 -0
  53. package/dist/layouts/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  54. package/dist/layouts/form-layout/src/FormLayout.js.map +1 -0
  55. package/dist/layouts/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  56. package/dist/layouts/master-detail/src/MasterDetail.js.map +1 -0
  57. package/dist/layouts/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
  58. package/dist/layouts/reading/src/Reading.js.map +1 -0
  59. package/dist/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js.map +1 -0
  60. package/dist/layouts/settings/src/Settings.js.map +1 -0
  61. package/dist/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  62. package/dist/layouts/split-layout/src/SplitLayout.js.map +1 -0
  63. package/dist/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  64. package/dist/packages/composition/dashboard-grid/src/DashboardGrid.vue.d.ts +26 -0
  65. package/dist/packages/composition/dashboard-grid/src/DashboardGrid.vue.d.ts.map +1 -0
  66. package/dist/packages/composition/dashboard-grid/src/index.d.ts.map +1 -0
  67. package/dist/packages/composition/split/src/Split.vue.d.ts.map +1 -1
  68. package/dist/packages/core/src/a11y-contract.d.ts +417 -0
  69. package/dist/packages/core/src/a11y-contract.d.ts.map +1 -0
  70. package/dist/packages/core/src/a11y-scope.d.ts +5 -3
  71. package/dist/packages/core/src/a11y-scope.d.ts.map +1 -1
  72. package/dist/packages/core/src/index.d.ts +7 -1
  73. package/dist/packages/core/src/index.d.ts.map +1 -1
  74. package/dist/packages/core/src/motion.d.ts +15 -6
  75. package/dist/packages/core/src/motion.d.ts.map +1 -1
  76. package/dist/packages/core/src/responsive-contract.d.ts +155 -0
  77. package/dist/packages/core/src/responsive-contract.d.ts.map +1 -0
  78. package/dist/packages/labels/src/component-shapes.d.ts +2 -0
  79. package/dist/packages/labels/src/component-shapes.d.ts.map +1 -1
  80. package/dist/packages/layouts/dashboard/src/Dashboard.vue.d.ts.map +1 -1
  81. package/dist/packages/layouts/desktop-app-shell/src/DesktopAppShell.vue.d.ts +103 -0
  82. package/dist/packages/layouts/desktop-app-shell/src/index.d.ts.map +1 -0
  83. package/dist/packages/loom/src/a11y.d.ts +2 -1
  84. package/dist/packages/loom/src/index.d.ts +23 -23
  85. package/dist/packages/patterns/app-header/src/AppHeader.vue.d.ts +82 -0
  86. package/dist/packages/patterns/app-header/src/AppHeader.vue.d.ts.map +1 -0
  87. package/dist/packages/patterns/app-header/src/index.d.ts.map +1 -0
  88. package/dist/packages/patterns/empty-state/src/EmptyState.vue.d.ts +54 -0
  89. package/dist/packages/patterns/empty-state/src/EmptyState.vue.d.ts.map +1 -0
  90. package/dist/packages/patterns/empty-state/src/index.d.ts.map +1 -0
  91. package/dist/packages/patterns/error-state/src/ErrorState.vue.d.ts +44 -0
  92. package/dist/packages/patterns/error-state/src/ErrorState.vue.d.ts.map +1 -0
  93. package/dist/packages/patterns/error-state/src/index.d.ts.map +1 -0
  94. package/dist/packages/patterns/form-actions/src/FormActions.vue.d.ts +56 -0
  95. package/dist/packages/patterns/form-actions/src/FormActions.vue.d.ts.map +1 -0
  96. package/dist/packages/patterns/form-actions/src/index.d.ts.map +1 -0
  97. package/dist/packages/patterns/form-section/src/FormSection.vue.d.ts +85 -0
  98. package/dist/packages/patterns/form-section/src/FormSection.vue.d.ts.map +1 -0
  99. package/dist/packages/patterns/form-section/src/index.d.ts.map +1 -0
  100. package/dist/packages/patterns/loading-state/src/LoadingState.vue.d.ts.map +1 -0
  101. package/dist/packages/patterns/loading-state/src/index.d.ts.map +1 -0
  102. package/dist/packages/patterns/metric-card/src/MetricCard.vue.d.ts +77 -0
  103. package/dist/packages/patterns/metric-card/src/MetricCard.vue.d.ts.map +1 -0
  104. package/dist/packages/patterns/metric-card/src/index.d.ts.map +1 -0
  105. package/dist/packages/patterns/page-header/src/PageHeader.vue.d.ts.map +1 -0
  106. package/dist/packages/patterns/page-header/src/index.d.ts.map +1 -0
  107. package/dist/packages/patterns/row-actions/src/RowActions.vue.d.ts.map +1 -0
  108. package/dist/packages/patterns/row-actions/src/index.d.ts.map +1 -0
  109. package/dist/packages/patterns/sidebar-nav/src/SidebarNav.vue.d.ts.map +1 -0
  110. package/dist/packages/patterns/sidebar-nav/src/index.d.ts.map +1 -0
  111. package/dist/packages/patterns/title-bar/src/TitleBar.vue.d.ts +83 -0
  112. package/dist/packages/patterns/title-bar/src/index.d.ts.map +1 -0
  113. package/dist/packages/patterns/toast-stack/src/index.d.ts.map +1 -0
  114. package/dist/packages/primitives/list/src/ListItem.vue.d.ts +1 -1
  115. package/dist/packages/primitives/list/src/ListItem.vue.d.ts.map +1 -1
  116. package/dist/packages/primitives/surface/src/Surface.vue.d.ts +2 -2
  117. package/dist/packages/primitives/surface/src/Surface.vue.d.ts.map +1 -1
  118. package/dist/packages/primitives/table/src/TableRow.vue.d.ts +2 -2
  119. package/dist/packages/primitives/table/src/TableRow.vue.d.ts.map +1 -1
  120. package/dist/patterns/app-header/src/AppHeader.js +7 -0
  121. package/dist/patterns/app-header/src/AppHeader.js.map +1 -0
  122. package/dist/patterns/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js +96 -0
  123. package/dist/patterns/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  124. package/dist/patterns/empty-state/src/EmptyState.js +7 -0
  125. package/dist/patterns/empty-state/src/EmptyState.js.map +1 -0
  126. package/dist/patterns/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js +73 -0
  127. package/dist/patterns/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  128. package/dist/patterns/error-state/src/ErrorState.js +7 -0
  129. package/dist/patterns/error-state/src/ErrorState.js.map +1 -0
  130. package/dist/patterns/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js +60 -0
  131. package/dist/patterns/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  132. package/dist/patterns/error-summary/src/ErrorSummary.js +7 -0
  133. package/dist/patterns/error-summary/src/ErrorSummary.js.map +1 -0
  134. package/dist/patterns/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js +90 -0
  135. package/dist/patterns/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js.map +1 -0
  136. package/dist/patterns/form-actions/src/FormActions.js +7 -0
  137. package/dist/patterns/form-actions/src/FormActions.js.map +1 -0
  138. package/dist/patterns/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js +22 -0
  139. package/dist/patterns/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  140. package/dist/patterns/form-section/src/FormSection.js +7 -0
  141. package/dist/patterns/form-section/src/FormSection.js.map +1 -0
  142. package/dist/patterns/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js +64 -0
  143. package/dist/patterns/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  144. package/dist/patterns/loading-state/src/LoadingState.js +7 -0
  145. package/dist/patterns/loading-state/src/LoadingState.js.map +1 -0
  146. package/dist/patterns/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js +59 -0
  147. package/dist/patterns/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  148. package/dist/patterns/metric-card/src/MetricCard.js +7 -0
  149. package/dist/patterns/metric-card/src/MetricCard.js.map +1 -0
  150. package/dist/patterns/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js +87 -0
  151. package/dist/patterns/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  152. package/dist/patterns/page-header/src/PageHeader.js +7 -0
  153. package/dist/patterns/page-header/src/PageHeader.js.map +1 -0
  154. package/dist/patterns/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js +68 -0
  155. package/dist/patterns/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  156. package/dist/patterns/row-actions/src/RowActions.js +7 -0
  157. package/dist/patterns/row-actions/src/RowActions.js.map +1 -0
  158. package/dist/patterns/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js +47 -0
  159. package/dist/patterns/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  160. package/dist/patterns/sidebar-nav/src/SidebarNav.js +7 -0
  161. package/dist/patterns/sidebar-nav/src/SidebarNav.js.map +1 -0
  162. package/dist/patterns/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js +129 -0
  163. package/dist/patterns/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +1 -0
  164. package/dist/patterns/title-bar/src/TitleBar.js +7 -0
  165. package/dist/patterns/title-bar/src/TitleBar.js.map +1 -0
  166. package/dist/patterns/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js +69 -0
  167. package/dist/patterns/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  168. package/dist/patterns/toast-stack/src/ToastStack.js +7 -0
  169. package/dist/patterns/toast-stack/src/ToastStack.js.map +1 -0
  170. package/dist/patterns/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js +52 -0
  171. package/dist/patterns/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js.map +1 -0
  172. package/dist/primitives/accordion/src/Accordion.js.map +1 -0
  173. package/dist/primitives/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  174. package/dist/primitives/alert/src/Alert.js.map +1 -0
  175. package/dist/primitives/alert/src/Alert.vue_vue_type_script_setup_true_lang.js.map +1 -0
  176. package/dist/primitives/alert-dialog/src/AlertDialog.js.map +1 -0
  177. package/dist/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  178. package/dist/primitives/avatar/src/Avatar.js.map +1 -0
  179. package/dist/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  180. package/dist/primitives/avatar-group/src/AvatarGroup.js.map +1 -0
  181. package/dist/primitives/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  182. package/dist/primitives/badge/src/Badge.js.map +1 -0
  183. package/dist/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -0
  184. package/dist/primitives/breadcrumb/src/Breadcrumb.js.map +1 -0
  185. package/dist/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -0
  186. package/dist/primitives/button/src/Button.js.map +1 -0
  187. package/dist/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js.map +1 -0
  188. package/dist/primitives/calendar/src/Calendar.js.map +1 -0
  189. package/dist/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js +202 -0
  190. package/dist/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  191. package/dist/primitives/card/src/Card.js.map +1 -0
  192. package/dist/primitives/card/src/Card.vue_vue_type_script_setup_true_lang.js.map +1 -0
  193. package/dist/primitives/carousel/src/Carousel.js.map +1 -0
  194. package/dist/primitives/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js.map +1 -0
  195. package/dist/primitives/checkbox/src/Checkbox.js.map +1 -0
  196. package/dist/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  197. package/dist/primitives/chip/src/Chip.js.map +1 -0
  198. package/dist/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  199. package/dist/primitives/collapse/src/Collapse.js.map +1 -0
  200. package/dist/primitives/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js.map +1 -0
  201. package/dist/primitives/color-picker/src/ColorPicker.js.map +1 -0
  202. package/dist/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  203. package/dist/primitives/combobox/src/Combobox.js.map +1 -0
  204. package/dist/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  205. package/dist/primitives/command/src/Command.js.map +1 -0
  206. package/dist/primitives/command/src/Command.vue_vue_type_script_setup_true_lang.js.map +1 -0
  207. package/dist/primitives/context-menu/src/ContextMenu.js.map +1 -0
  208. package/dist/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  209. package/dist/primitives/copy-button/src/CopyButton.js.map +1 -0
  210. package/dist/primitives/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  211. package/dist/primitives/copy-button/src/index.js +3 -0
  212. package/dist/primitives/data-grid/src/DataGrid.js.map +1 -0
  213. package/dist/primitives/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  214. package/dist/primitives/date-picker/src/DatePicker.js.map +1 -0
  215. package/dist/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js +292 -0
  216. package/dist/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  217. package/dist/primitives/date-range-picker/src/DateRangePicker.js.map +1 -0
  218. package/dist/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js +417 -0
  219. package/dist/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  220. package/dist/primitives/date-time-picker/src/DateTimePicker.js.map +1 -0
  221. package/dist/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js +359 -0
  222. package/dist/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  223. package/dist/primitives/date-time-range-picker/src/DateTimeRangePicker.js.map +1 -0
  224. package/dist/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +563 -0
  225. package/dist/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  226. package/dist/primitives/dialog/src/Dialog.js.map +1 -0
  227. package/dist/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  228. package/dist/primitives/drawer/src/Drawer.js.map +1 -0
  229. package/dist/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  230. package/dist/primitives/dropdown-menu/src/DropdownMenu.js.map +1 -0
  231. package/dist/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  232. package/dist/primitives/editable/src/Editable.js.map +1 -0
  233. package/dist/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -0
  234. package/dist/primitives/field/src/Field.js.map +1 -0
  235. package/dist/primitives/field/src/Field.vue_vue_type_script_setup_true_lang.js.map +1 -0
  236. package/dist/primitives/fieldset/src/Fieldset.js.map +1 -0
  237. package/dist/primitives/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js.map +1 -0
  238. package/dist/primitives/file-upload/src/FileUpload.js.map +1 -0
  239. package/dist/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -0
  240. package/dist/primitives/hover-card/src/HoverCard.js.map +1 -0
  241. package/dist/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  242. package/dist/primitives/icon-button/src/IconButton.js.map +1 -0
  243. package/dist/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  244. package/dist/primitives/indicator/src/Indicator.js.map +1 -0
  245. package/dist/primitives/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  246. package/dist/primitives/inline-error/src/InlineError.js.map +1 -0
  247. package/dist/primitives/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js.map +1 -0
  248. package/dist/primitives/kbd/src/Kbd.js.map +1 -0
  249. package/dist/primitives/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js.map +1 -0
  250. package/dist/primitives/link/src/Link.js.map +1 -0
  251. package/dist/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js.map +1 -0
  252. package/dist/primitives/list/src/List.js.map +1 -0
  253. package/dist/primitives/list/src/List.vue_vue_type_script_setup_true_lang.js.map +1 -0
  254. package/dist/primitives/list/src/ListItem.js.map +1 -0
  255. package/dist/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js +101 -0
  256. package/dist/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  257. package/dist/primitives/live-region/src/LiveRegion.js.map +1 -0
  258. package/dist/primitives/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  259. package/dist/primitives/live-region/src/context.js.map +1 -0
  260. package/dist/primitives/live-region/src/useAnnounce.js.map +1 -0
  261. package/dist/primitives/menubar/src/Menubar.js.map +1 -0
  262. package/dist/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  263. package/dist/primitives/meter/src/Meter.js.map +1 -0
  264. package/dist/primitives/meter/src/Meter.vue_vue_type_script_setup_true_lang.js.map +1 -0
  265. package/dist/primitives/navigation-menu/src/NavigationMenu.js.map +1 -0
  266. package/dist/primitives/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  267. package/dist/primitives/number-field/src/NumberField.js.map +1 -0
  268. package/dist/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  269. package/dist/primitives/otp-input/src/OtpInput.js.map +1 -0
  270. package/dist/primitives/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  271. package/dist/primitives/pagination/src/Pagination.js.map +1 -0
  272. package/dist/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
  273. package/dist/primitives/popover/src/Popover.js.map +1 -0
  274. package/dist/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js.map +1 -0
  275. package/dist/primitives/progress/src/Progress.js.map +1 -0
  276. package/dist/primitives/progress/src/Progress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  277. package/dist/primitives/radial-progress/src/RadialProgress.js.map +1 -0
  278. package/dist/primitives/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  279. package/dist/primitives/radio-group/src/RadioGroup.js.map +1 -0
  280. package/dist/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  281. package/dist/primitives/rating/src/Rating.js.map +1 -0
  282. package/dist/primitives/rating/src/Rating.vue_vue_type_script_setup_true_lang.js.map +1 -0
  283. package/dist/primitives/scroll-area/src/ScrollArea.js.map +1 -0
  284. package/dist/primitives/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  285. package/dist/primitives/segmented-control/src/SegmentedControl.js.map +1 -0
  286. package/dist/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +1 -0
  287. package/dist/primitives/select/src/Select.js.map +1 -0
  288. package/dist/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js.map +1 -0
  289. package/dist/primitives/separator/src/Separator.js.map +1 -0
  290. package/dist/primitives/separator/src/Separator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  291. package/dist/primitives/skeleton/src/Skeleton.js.map +1 -0
  292. package/dist/primitives/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  293. package/dist/primitives/skip-link/src/SkipLink.js.map +1 -0
  294. package/dist/primitives/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
  295. package/dist/primitives/slider/src/Slider.js.map +1 -0
  296. package/dist/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  297. package/dist/primitives/speed-dial/src/SpeedDial.js.map +1 -0
  298. package/dist/primitives/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +1 -0
  299. package/dist/primitives/spinner/src/Spinner.js.map +1 -0
  300. package/dist/primitives/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js.map +1 -0
  301. package/dist/primitives/stepper/src/Stepper.js.map +1 -0
  302. package/dist/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  303. package/dist/primitives/surface/src/Surface.js.map +1 -0
  304. package/dist/primitives/surface/src/Surface.vue_vue_type_script_setup_true_lang.js.map +1 -0
  305. package/dist/primitives/switch/src/Switch.js.map +1 -0
  306. package/dist/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -0
  307. package/dist/primitives/table/src/Table.js.map +1 -0
  308. package/dist/primitives/table/src/Table.vue_vue_type_script_setup_true_lang.js.map +1 -0
  309. package/dist/primitives/table/src/TableCell.js.map +1 -0
  310. package/dist/primitives/table/src/TableCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  311. package/dist/primitives/table/src/TableHead.js.map +1 -0
  312. package/dist/primitives/table/src/TableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
  313. package/dist/primitives/table/src/TableRow.js.map +1 -0
  314. package/dist/primitives/table/src/TableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  315. package/dist/primitives/tabs/src/Tabs.js.map +1 -0
  316. package/dist/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
  317. package/dist/primitives/tags-input/src/TagsInput.js.map +1 -0
  318. package/dist/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  319. package/dist/primitives/text-field/src/TextField.js.map +1 -0
  320. package/dist/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  321. package/dist/primitives/textarea/src/Textarea.js.map +1 -0
  322. package/dist/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  323. package/dist/primitives/time-picker/src/TimePicker.js.map +1 -0
  324. package/dist/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js +189 -0
  325. package/dist/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  326. package/dist/primitives/timeline/src/Timeline.js.map +1 -0
  327. package/dist/primitives/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  328. package/dist/primitives/timeline/src/TimelineItem.js.map +1 -0
  329. package/dist/primitives/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  330. package/dist/primitives/timeline/src/index.js +5 -0
  331. package/dist/primitives/toast/src/Toast.js.map +1 -0
  332. package/dist/primitives/toast/src/Toast.vue_vue_type_script_setup_true_lang.js.map +1 -0
  333. package/dist/primitives/toast/src/ToastItem.js.map +1 -0
  334. package/dist/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  335. package/dist/primitives/toggle-group/src/ToggleGroup.js.map +1 -0
  336. package/dist/primitives/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  337. package/dist/primitives/toolbar/src/Toolbar.js.map +1 -0
  338. package/dist/primitives/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  339. package/dist/primitives/toolbar/src/ToolbarSeparator.js.map +1 -0
  340. package/dist/primitives/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  341. package/dist/primitives/tooltip/src/Tooltip.js.map +1 -0
  342. package/dist/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  343. package/dist/primitives/tree-view/src/TreeView.js.map +1 -0
  344. package/dist/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js.map +1 -0
  345. package/dist/primitives/tree-view/src/TreeViewNode.js.map +1 -0
  346. package/dist/primitives/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js.map +1 -0
  347. package/dist/primitives/tree-view/src/context.js.map +1 -0
  348. package/dist/primitives/visually-hidden/src/VisuallyHidden.js.map +1 -0
  349. package/dist/primitives/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js.map +1 -0
  350. package/dist/primitives/window-controls/src/WindowControls.js.map +1 -0
  351. package/dist/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js +127 -0
  352. package/dist/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js.map +1 -0
  353. package/dist/styles/theme.css +30 -6
  354. package/dist/theme.js +2 -2
  355. package/package.json +5 -4
  356. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/CalendarDate.js +0 -236
  357. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/CalendarDate.js.map +0 -1
  358. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +0 -117
  359. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js.map +0 -1
  360. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/conversion.js +0 -142
  361. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/conversion.js.map +0 -1
  362. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/manipulation.js +0 -280
  363. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/manipulation.js.map +0 -1
  364. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/queries.js +0 -40
  365. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/queries.js.map +0 -1
  366. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/string.js +0 -69
  367. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/string.js.map +0 -1
  368. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/utils.js +0 -8
  369. package/dist/node_modules/.pnpm/@internationalized_date@3.12.4/node_modules/@internationalized/date/dist/private/utils.js.map +0 -1
  370. package/dist/packages/blocks/app-header/src/AppHeader.js +0 -7
  371. package/dist/packages/blocks/app-header/src/AppHeader.js.map +0 -1
  372. package/dist/packages/blocks/app-header/src/AppHeader.vue.d.ts +0 -82
  373. package/dist/packages/blocks/app-header/src/AppHeader.vue.d.ts.map +0 -1
  374. package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js +0 -96
  375. package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  376. package/dist/packages/blocks/app-header/src/index.d.ts.map +0 -1
  377. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.js +0 -7
  378. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.js.map +0 -1
  379. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue.d.ts +0 -42
  380. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue.d.ts.map +0 -1
  381. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js +0 -45
  382. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map +0 -1
  383. package/dist/packages/blocks/dashboard-grid/src/index.d.ts.map +0 -1
  384. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.js +0 -7
  385. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.js.map +0 -1
  386. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue.d.ts +0 -102
  387. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +0 -76
  388. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  389. package/dist/packages/blocks/desktop-app-shell/src/index.d.ts.map +0 -1
  390. package/dist/packages/blocks/empty-state/src/EmptyState.js +0 -7
  391. package/dist/packages/blocks/empty-state/src/EmptyState.js.map +0 -1
  392. package/dist/packages/blocks/empty-state/src/EmptyState.vue.d.ts +0 -50
  393. package/dist/packages/blocks/empty-state/src/EmptyState.vue.d.ts.map +0 -1
  394. package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js +0 -70
  395. package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js.map +0 -1
  396. package/dist/packages/blocks/empty-state/src/index.d.ts.map +0 -1
  397. package/dist/packages/blocks/error-state/src/ErrorState.js +0 -7
  398. package/dist/packages/blocks/error-state/src/ErrorState.js.map +0 -1
  399. package/dist/packages/blocks/error-state/src/ErrorState.vue.d.ts +0 -44
  400. package/dist/packages/blocks/error-state/src/ErrorState.vue.d.ts.map +0 -1
  401. package/dist/packages/blocks/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js +0 -60
  402. package/dist/packages/blocks/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js.map +0 -1
  403. package/dist/packages/blocks/error-state/src/index.d.ts.map +0 -1
  404. package/dist/packages/blocks/error-summary/src/ErrorSummary.js +0 -7
  405. package/dist/packages/blocks/error-summary/src/ErrorSummary.js.map +0 -1
  406. package/dist/packages/blocks/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js +0 -90
  407. package/dist/packages/blocks/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js.map +0 -1
  408. package/dist/packages/blocks/form-actions/src/FormActions.js +0 -7
  409. package/dist/packages/blocks/form-actions/src/FormActions.js.map +0 -1
  410. package/dist/packages/blocks/form-actions/src/FormActions.vue.d.ts +0 -51
  411. package/dist/packages/blocks/form-actions/src/FormActions.vue.d.ts.map +0 -1
  412. package/dist/packages/blocks/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js +0 -22
  413. package/dist/packages/blocks/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js.map +0 -1
  414. package/dist/packages/blocks/form-actions/src/index.d.ts.map +0 -1
  415. package/dist/packages/blocks/form-section/src/FormSection.js +0 -7
  416. package/dist/packages/blocks/form-section/src/FormSection.js.map +0 -1
  417. package/dist/packages/blocks/form-section/src/FormSection.vue.d.ts +0 -85
  418. package/dist/packages/blocks/form-section/src/FormSection.vue.d.ts.map +0 -1
  419. package/dist/packages/blocks/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js +0 -64
  420. package/dist/packages/blocks/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js.map +0 -1
  421. package/dist/packages/blocks/form-section/src/index.d.ts.map +0 -1
  422. package/dist/packages/blocks/loading-state/src/LoadingState.js +0 -7
  423. package/dist/packages/blocks/loading-state/src/LoadingState.js.map +0 -1
  424. package/dist/packages/blocks/loading-state/src/LoadingState.vue.d.ts.map +0 -1
  425. package/dist/packages/blocks/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js +0 -59
  426. package/dist/packages/blocks/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js.map +0 -1
  427. package/dist/packages/blocks/loading-state/src/index.d.ts.map +0 -1
  428. package/dist/packages/blocks/metric-card/src/MetricCard.js +0 -7
  429. package/dist/packages/blocks/metric-card/src/MetricCard.js.map +0 -1
  430. package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts +0 -77
  431. package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts.map +0 -1
  432. package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js +0 -87
  433. package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  434. package/dist/packages/blocks/metric-card/src/index.d.ts.map +0 -1
  435. package/dist/packages/blocks/page-header/src/PageHeader.js +0 -7
  436. package/dist/packages/blocks/page-header/src/PageHeader.js.map +0 -1
  437. package/dist/packages/blocks/page-header/src/PageHeader.vue.d.ts.map +0 -1
  438. package/dist/packages/blocks/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js +0 -68
  439. package/dist/packages/blocks/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  440. package/dist/packages/blocks/page-header/src/index.d.ts.map +0 -1
  441. package/dist/packages/blocks/row-actions/src/RowActions.js +0 -7
  442. package/dist/packages/blocks/row-actions/src/RowActions.js.map +0 -1
  443. package/dist/packages/blocks/row-actions/src/RowActions.vue.d.ts.map +0 -1
  444. package/dist/packages/blocks/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js +0 -47
  445. package/dist/packages/blocks/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js.map +0 -1
  446. package/dist/packages/blocks/row-actions/src/index.d.ts.map +0 -1
  447. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.js +0 -7
  448. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.js.map +0 -1
  449. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue.d.ts.map +0 -1
  450. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js +0 -129
  451. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +0 -1
  452. package/dist/packages/blocks/sidebar-nav/src/index.d.ts.map +0 -1
  453. package/dist/packages/blocks/title-bar/src/TitleBar.js +0 -7
  454. package/dist/packages/blocks/title-bar/src/TitleBar.js.map +0 -1
  455. package/dist/packages/blocks/title-bar/src/TitleBar.vue.d.ts +0 -83
  456. package/dist/packages/blocks/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js +0 -69
  457. package/dist/packages/blocks/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  458. package/dist/packages/blocks/title-bar/src/index.d.ts.map +0 -1
  459. package/dist/packages/blocks/toast-stack/src/ToastStack.js +0 -7
  460. package/dist/packages/blocks/toast-stack/src/ToastStack.js.map +0 -1
  461. package/dist/packages/blocks/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js +0 -52
  462. package/dist/packages/blocks/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js.map +0 -1
  463. package/dist/packages/blocks/toast-stack/src/index.d.ts.map +0 -1
  464. package/dist/packages/composition/center/src/Center.js.map +0 -1
  465. package/dist/packages/composition/center/src/Center.vue_vue_type_script_setup_true_lang.js.map +0 -1
  466. package/dist/packages/composition/frame/src/Frame.js.map +0 -1
  467. package/dist/packages/composition/frame/src/Frame.vue_vue_type_script_setup_true_lang.js.map +0 -1
  468. package/dist/packages/composition/grid/src/Grid.js.map +0 -1
  469. package/dist/packages/composition/grid/src/Grid.vue_vue_type_script_setup_true_lang.js.map +0 -1
  470. package/dist/packages/composition/inline/src/Inline.js.map +0 -1
  471. package/dist/packages/composition/inline/src/Inline.vue_vue_type_script_setup_true_lang.js.map +0 -1
  472. package/dist/packages/composition/scroll-reel/src/ScrollReel.js.map +0 -1
  473. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +0 -1
  474. package/dist/packages/composition/sidebar/src/Sidebar.js.map +0 -1
  475. package/dist/packages/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  476. package/dist/packages/composition/split/src/Split.js.map +0 -1
  477. package/dist/packages/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js.map +0 -1
  478. package/dist/packages/composition/stack/src/Stack.js.map +0 -1
  479. package/dist/packages/composition/stack/src/Stack.vue_vue_type_script_setup_true_lang.js.map +0 -1
  480. package/dist/packages/core/src/a11y-scope.js +0 -149
  481. package/dist/packages/core/src/a11y-scope.js.map +0 -1
  482. package/dist/packages/core/src/attrs.js.map +0 -1
  483. package/dist/packages/core/src/cn.js +0 -61
  484. package/dist/packages/core/src/cn.js.map +0 -1
  485. package/dist/packages/core/src/icon-defaults.js.map +0 -1
  486. package/dist/packages/core/src/index.js +0 -8
  487. package/dist/packages/core/src/motion.js +0 -27
  488. package/dist/packages/core/src/motion.js.map +0 -1
  489. package/dist/packages/core/src/props.js.map +0 -1
  490. package/dist/packages/core/src/theme.js.map +0 -1
  491. package/dist/packages/labels/src/ancestor-disabled.js.map +0 -1
  492. package/dist/packages/labels/src/count-labels.js.map +0 -1
  493. package/dist/packages/labels/src/date-labels.js +0 -206
  494. package/dist/packages/labels/src/date-labels.js.map +0 -1
  495. package/dist/packages/labels/src/field-context.js.map +0 -1
  496. package/dist/packages/labels/src/labels.js.map +0 -1
  497. package/dist/packages/layouts/app-shell/src/AppShell.js.map +0 -1
  498. package/dist/packages/layouts/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  499. package/dist/packages/layouts/centered/src/Centered.js.map +0 -1
  500. package/dist/packages/layouts/centered/src/Centered.vue_vue_type_script_setup_true_lang.js.map +0 -1
  501. package/dist/packages/layouts/dashboard/src/Dashboard.js.map +0 -1
  502. package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js +0 -65
  503. package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  504. package/dist/packages/layouts/form-layout/src/FormLayout.js.map +0 -1
  505. package/dist/packages/layouts/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js.map +0 -1
  506. package/dist/packages/layouts/master-detail/src/MasterDetail.js.map +0 -1
  507. package/dist/packages/layouts/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +0 -1
  508. package/dist/packages/layouts/reading/src/Reading.js.map +0 -1
  509. package/dist/packages/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js.map +0 -1
  510. package/dist/packages/layouts/settings/src/Settings.js.map +0 -1
  511. package/dist/packages/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js.map +0 -1
  512. package/dist/packages/layouts/split-layout/src/SplitLayout.js.map +0 -1
  513. package/dist/packages/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +0 -1
  514. package/dist/packages/primitives/accordion/src/Accordion.js.map +0 -1
  515. package/dist/packages/primitives/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js.map +0 -1
  516. package/dist/packages/primitives/alert/src/Alert.js.map +0 -1
  517. package/dist/packages/primitives/alert/src/Alert.vue_vue_type_script_setup_true_lang.js.map +0 -1
  518. package/dist/packages/primitives/alert-dialog/src/AlertDialog.js.map +0 -1
  519. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
  520. package/dist/packages/primitives/avatar/src/Avatar.js.map +0 -1
  521. package/dist/packages/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  522. package/dist/packages/primitives/avatar-group/src/AvatarGroup.js.map +0 -1
  523. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  524. package/dist/packages/primitives/badge/src/Badge.js.map +0 -1
  525. package/dist/packages/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js.map +0 -1
  526. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.js.map +0 -1
  527. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +0 -1
  528. package/dist/packages/primitives/button/src/Button.js.map +0 -1
  529. package/dist/packages/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js.map +0 -1
  530. package/dist/packages/primitives/calendar/src/Calendar.js.map +0 -1
  531. package/dist/packages/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js +0 -204
  532. package/dist/packages/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  533. package/dist/packages/primitives/card/src/Card.js.map +0 -1
  534. package/dist/packages/primitives/card/src/Card.vue_vue_type_script_setup_true_lang.js.map +0 -1
  535. package/dist/packages/primitives/carousel/src/Carousel.js.map +0 -1
  536. package/dist/packages/primitives/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js.map +0 -1
  537. package/dist/packages/primitives/checkbox/src/Checkbox.js.map +0 -1
  538. package/dist/packages/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js.map +0 -1
  539. package/dist/packages/primitives/chip/src/Chip.js.map +0 -1
  540. package/dist/packages/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js.map +0 -1
  541. package/dist/packages/primitives/collapse/src/Collapse.js.map +0 -1
  542. package/dist/packages/primitives/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js.map +0 -1
  543. package/dist/packages/primitives/color-picker/src/ColorPicker.js.map +0 -1
  544. package/dist/packages/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  545. package/dist/packages/primitives/combobox/src/Combobox.js.map +0 -1
  546. package/dist/packages/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js.map +0 -1
  547. package/dist/packages/primitives/command/src/Command.js.map +0 -1
  548. package/dist/packages/primitives/command/src/Command.vue_vue_type_script_setup_true_lang.js.map +0 -1
  549. package/dist/packages/primitives/context-menu/src/ContextMenu.js.map +0 -1
  550. package/dist/packages/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
  551. package/dist/packages/primitives/copy-button/src/CopyButton.js.map +0 -1
  552. package/dist/packages/primitives/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  553. package/dist/packages/primitives/copy-button/src/index.js +0 -3
  554. package/dist/packages/primitives/data-grid/src/DataGrid.js.map +0 -1
  555. package/dist/packages/primitives/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js.map +0 -1
  556. package/dist/packages/primitives/date-picker/src/DatePicker.js.map +0 -1
  557. package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js +0 -294
  558. package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  559. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.js.map +0 -1
  560. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js +0 -419
  561. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  562. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.js.map +0 -1
  563. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js +0 -361
  564. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  565. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.js.map +0 -1
  566. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +0 -565
  567. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  568. package/dist/packages/primitives/dialog/src/Dialog.js.map +0 -1
  569. package/dist/packages/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
  570. package/dist/packages/primitives/drawer/src/Drawer.js.map +0 -1
  571. package/dist/packages/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js.map +0 -1
  572. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.js.map +0 -1
  573. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
  574. package/dist/packages/primitives/editable/src/Editable.js.map +0 -1
  575. package/dist/packages/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js.map +0 -1
  576. package/dist/packages/primitives/field/src/Field.js.map +0 -1
  577. package/dist/packages/primitives/field/src/Field.vue_vue_type_script_setup_true_lang.js.map +0 -1
  578. package/dist/packages/primitives/fieldset/src/Fieldset.js.map +0 -1
  579. package/dist/packages/primitives/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js.map +0 -1
  580. package/dist/packages/primitives/file-upload/src/FileUpload.js.map +0 -1
  581. package/dist/packages/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js.map +0 -1
  582. package/dist/packages/primitives/hover-card/src/HoverCard.js.map +0 -1
  583. package/dist/packages/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  584. package/dist/packages/primitives/icon-button/src/IconButton.js.map +0 -1
  585. package/dist/packages/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  586. package/dist/packages/primitives/indicator/src/Indicator.js.map +0 -1
  587. package/dist/packages/primitives/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  588. package/dist/packages/primitives/inline-error/src/InlineError.js.map +0 -1
  589. package/dist/packages/primitives/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js.map +0 -1
  590. package/dist/packages/primitives/kbd/src/Kbd.js.map +0 -1
  591. package/dist/packages/primitives/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js.map +0 -1
  592. package/dist/packages/primitives/link/src/Link.js.map +0 -1
  593. package/dist/packages/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js.map +0 -1
  594. package/dist/packages/primitives/list/src/List.js.map +0 -1
  595. package/dist/packages/primitives/list/src/List.vue_vue_type_script_setup_true_lang.js.map +0 -1
  596. package/dist/packages/primitives/list/src/ListItem.js.map +0 -1
  597. package/dist/packages/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js +0 -101
  598. package/dist/packages/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  599. package/dist/packages/primitives/live-region/src/LiveRegion.js.map +0 -1
  600. package/dist/packages/primitives/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js.map +0 -1
  601. package/dist/packages/primitives/live-region/src/context.js.map +0 -1
  602. package/dist/packages/primitives/live-region/src/useAnnounce.js.map +0 -1
  603. package/dist/packages/primitives/menubar/src/Menubar.js.map +0 -1
  604. package/dist/packages/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  605. package/dist/packages/primitives/meter/src/Meter.js.map +0 -1
  606. package/dist/packages/primitives/meter/src/Meter.vue_vue_type_script_setup_true_lang.js.map +0 -1
  607. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.js.map +0 -1
  608. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
  609. package/dist/packages/primitives/number-field/src/NumberField.js.map +0 -1
  610. package/dist/packages/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js.map +0 -1
  611. package/dist/packages/primitives/otp-input/src/OtpInput.js.map +0 -1
  612. package/dist/packages/primitives/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  613. package/dist/packages/primitives/pagination/src/Pagination.js.map +0 -1
  614. package/dist/packages/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js.map +0 -1
  615. package/dist/packages/primitives/popover/src/Popover.js.map +0 -1
  616. package/dist/packages/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js.map +0 -1
  617. package/dist/packages/primitives/progress/src/Progress.js.map +0 -1
  618. package/dist/packages/primitives/progress/src/Progress.vue_vue_type_script_setup_true_lang.js.map +0 -1
  619. package/dist/packages/primitives/radial-progress/src/RadialProgress.js.map +0 -1
  620. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +0 -1
  621. package/dist/packages/primitives/radio-group/src/RadioGroup.js.map +0 -1
  622. package/dist/packages/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  623. package/dist/packages/primitives/rating/src/Rating.js.map +0 -1
  624. package/dist/packages/primitives/rating/src/Rating.vue_vue_type_script_setup_true_lang.js.map +0 -1
  625. package/dist/packages/primitives/scroll-area/src/ScrollArea.js.map +0 -1
  626. package/dist/packages/primitives/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +0 -1
  627. package/dist/packages/primitives/segmented-control/src/SegmentedControl.js.map +0 -1
  628. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +0 -1
  629. package/dist/packages/primitives/select/src/Select.js.map +0 -1
  630. package/dist/packages/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js.map +0 -1
  631. package/dist/packages/primitives/separator/src/Separator.js.map +0 -1
  632. package/dist/packages/primitives/separator/src/Separator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  633. package/dist/packages/primitives/skeleton/src/Skeleton.js.map +0 -1
  634. package/dist/packages/primitives/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  635. package/dist/packages/primitives/skip-link/src/SkipLink.js.map +0 -1
  636. package/dist/packages/primitives/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js.map +0 -1
  637. package/dist/packages/primitives/slider/src/Slider.js.map +0 -1
  638. package/dist/packages/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js.map +0 -1
  639. package/dist/packages/primitives/speed-dial/src/SpeedDial.js.map +0 -1
  640. package/dist/packages/primitives/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +0 -1
  641. package/dist/packages/primitives/spinner/src/Spinner.js.map +0 -1
  642. package/dist/packages/primitives/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js.map +0 -1
  643. package/dist/packages/primitives/stepper/src/Stepper.js.map +0 -1
  644. package/dist/packages/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js.map +0 -1
  645. package/dist/packages/primitives/surface/src/Surface.js.map +0 -1
  646. package/dist/packages/primitives/surface/src/Surface.vue_vue_type_script_setup_true_lang.js.map +0 -1
  647. package/dist/packages/primitives/switch/src/Switch.js.map +0 -1
  648. package/dist/packages/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js.map +0 -1
  649. package/dist/packages/primitives/table/src/Table.js.map +0 -1
  650. package/dist/packages/primitives/table/src/Table.vue_vue_type_script_setup_true_lang.js.map +0 -1
  651. package/dist/packages/primitives/table/src/TableCell.js.map +0 -1
  652. package/dist/packages/primitives/table/src/TableCell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  653. package/dist/packages/primitives/table/src/TableHead.js.map +0 -1
  654. package/dist/packages/primitives/table/src/TableHead.vue_vue_type_script_setup_true_lang.js.map +0 -1
  655. package/dist/packages/primitives/table/src/TableRow.js.map +0 -1
  656. package/dist/packages/primitives/table/src/TableRow.vue_vue_type_script_setup_true_lang.js.map +0 -1
  657. package/dist/packages/primitives/tabs/src/Tabs.js.map +0 -1
  658. package/dist/packages/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js.map +0 -1
  659. package/dist/packages/primitives/tags-input/src/TagsInput.js.map +0 -1
  660. package/dist/packages/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  661. package/dist/packages/primitives/text-field/src/TextField.js.map +0 -1
  662. package/dist/packages/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js.map +0 -1
  663. package/dist/packages/primitives/textarea/src/Textarea.js.map +0 -1
  664. package/dist/packages/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js.map +0 -1
  665. package/dist/packages/primitives/time-picker/src/TimePicker.js.map +0 -1
  666. package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js +0 -189
  667. package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  668. package/dist/packages/primitives/timeline/src/Timeline.js.map +0 -1
  669. package/dist/packages/primitives/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js.map +0 -1
  670. package/dist/packages/primitives/timeline/src/TimelineItem.js.map +0 -1
  671. package/dist/packages/primitives/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  672. package/dist/packages/primitives/timeline/src/index.js +0 -5
  673. package/dist/packages/primitives/toast/src/Toast.js.map +0 -1
  674. package/dist/packages/primitives/toast/src/Toast.vue_vue_type_script_setup_true_lang.js.map +0 -1
  675. package/dist/packages/primitives/toast/src/ToastItem.js.map +0 -1
  676. package/dist/packages/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  677. package/dist/packages/primitives/toggle-group/src/ToggleGroup.js.map +0 -1
  678. package/dist/packages/primitives/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  679. package/dist/packages/primitives/toolbar/src/Toolbar.js.map +0 -1
  680. package/dist/packages/primitives/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  681. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.js.map +0 -1
  682. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  683. package/dist/packages/primitives/tooltip/src/Tooltip.js.map +0 -1
  684. package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map +0 -1
  685. package/dist/packages/primitives/tree-view/src/TreeView.js.map +0 -1
  686. package/dist/packages/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js.map +0 -1
  687. package/dist/packages/primitives/tree-view/src/TreeViewNode.js.map +0 -1
  688. package/dist/packages/primitives/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js.map +0 -1
  689. package/dist/packages/primitives/tree-view/src/context.js.map +0 -1
  690. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.js.map +0 -1
  691. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js.map +0 -1
  692. package/dist/packages/primitives/window-controls/src/WindowControls.js.map +0 -1
  693. package/dist/packages/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js +0 -124
  694. package/dist/packages/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js.map +0 -1
  695. /package/dist/{packages/composition → composition}/center/src/Center.js +0 -0
  696. /package/dist/{packages/composition → composition}/center/src/Center.vue_vue_type_script_setup_true_lang.js +0 -0
  697. /package/dist/{packages/composition → composition}/center/src/index.js +0 -0
  698. /package/dist/{packages/blocks → composition}/dashboard-grid/src/index.js +0 -0
  699. /package/dist/{packages/composition → composition}/frame/src/Frame.js +0 -0
  700. /package/dist/{packages/composition → composition}/frame/src/Frame.vue_vue_type_script_setup_true_lang.js +0 -0
  701. /package/dist/{packages/composition → composition}/frame/src/index.js +0 -0
  702. /package/dist/{packages/composition → composition}/grid/src/Grid.js +0 -0
  703. /package/dist/{packages/composition → composition}/grid/src/Grid.vue_vue_type_script_setup_true_lang.js +0 -0
  704. /package/dist/{packages/composition → composition}/grid/src/index.js +0 -0
  705. /package/dist/{packages/composition → composition}/inline/src/Inline.js +0 -0
  706. /package/dist/{packages/composition → composition}/inline/src/Inline.vue_vue_type_script_setup_true_lang.js +0 -0
  707. /package/dist/{packages/composition → composition}/inline/src/index.js +0 -0
  708. /package/dist/{packages/composition → composition}/scroll-reel/src/ScrollReel.js +0 -0
  709. /package/dist/{packages/composition → composition}/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js +0 -0
  710. /package/dist/{packages/composition → composition}/scroll-reel/src/index.js +0 -0
  711. /package/dist/{packages/composition → composition}/sidebar/src/Sidebar.js +0 -0
  712. /package/dist/{packages/composition → composition}/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js +0 -0
  713. /package/dist/{packages/composition → composition}/sidebar/src/index.js +0 -0
  714. /package/dist/{packages/composition → composition}/split/src/Split.js +0 -0
  715. /package/dist/{packages/composition → composition}/split/src/Split.vue_vue_type_script_setup_true_lang.js +0 -0
  716. /package/dist/{packages/composition → composition}/split/src/index.js +0 -0
  717. /package/dist/{packages/composition → composition}/stack/src/Stack.js +0 -0
  718. /package/dist/{packages/composition → composition}/stack/src/Stack.vue_vue_type_script_setup_true_lang.js +0 -0
  719. /package/dist/{packages/composition → composition}/stack/src/index.js +0 -0
  720. /package/dist/{packages/core → core}/src/attrs.js +0 -0
  721. /package/dist/{packages/core → core}/src/icon-defaults.js +0 -0
  722. /package/dist/{packages/core → core}/src/props.js +0 -0
  723. /package/dist/{packages/core → core}/src/theme.js +0 -0
  724. /package/dist/{packages/labels → labels}/src/ancestor-disabled.js +0 -0
  725. /package/dist/{packages/labels → labels}/src/count-labels.js +0 -0
  726. /package/dist/{packages/labels → labels}/src/field-context.js +0 -0
  727. /package/dist/{packages/labels → labels}/src/index.js +0 -0
  728. /package/dist/{packages/labels → labels}/src/labels.js +0 -0
  729. /package/dist/{packages/layouts → layouts}/app-shell/src/AppShell.js +0 -0
  730. /package/dist/{packages/layouts → layouts}/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js +0 -0
  731. /package/dist/{packages/layouts → layouts}/app-shell/src/index.js +0 -0
  732. /package/dist/{packages/layouts → layouts}/centered/src/Centered.js +0 -0
  733. /package/dist/{packages/layouts → layouts}/centered/src/Centered.vue_vue_type_script_setup_true_lang.js +0 -0
  734. /package/dist/{packages/layouts → layouts}/centered/src/index.js +0 -0
  735. /package/dist/{packages/layouts → layouts}/dashboard/src/Dashboard.js +0 -0
  736. /package/dist/{packages/layouts → layouts}/dashboard/src/index.js +0 -0
  737. /package/dist/{packages/blocks → layouts}/desktop-app-shell/src/index.js +0 -0
  738. /package/dist/{packages/layouts → layouts}/form-layout/src/FormLayout.js +0 -0
  739. /package/dist/{packages/layouts → layouts}/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js +0 -0
  740. /package/dist/{packages/layouts → layouts}/form-layout/src/index.js +0 -0
  741. /package/dist/{packages/layouts → layouts}/master-detail/src/MasterDetail.js +0 -0
  742. /package/dist/{packages/layouts → layouts}/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js +0 -0
  743. /package/dist/{packages/layouts → layouts}/master-detail/src/index.js +0 -0
  744. /package/dist/{packages/layouts → layouts}/reading/src/Reading.js +0 -0
  745. /package/dist/{packages/layouts → layouts}/reading/src/Reading.vue_vue_type_script_setup_true_lang.js +0 -0
  746. /package/dist/{packages/layouts → layouts}/reading/src/index.js +0 -0
  747. /package/dist/{packages/layouts → layouts}/settings/src/Settings.js +0 -0
  748. /package/dist/{packages/layouts → layouts}/settings/src/Settings.vue_vue_type_script_setup_true_lang.js +0 -0
  749. /package/dist/{packages/layouts → layouts}/settings/src/index.js +0 -0
  750. /package/dist/{packages/layouts → layouts}/split-layout/src/SplitLayout.js +0 -0
  751. /package/dist/{packages/layouts → layouts}/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js +0 -0
  752. /package/dist/{packages/layouts → layouts}/split-layout/src/index.js +0 -0
  753. /package/dist/packages/{blocks → composition}/dashboard-grid/src/index.d.ts +0 -0
  754. /package/dist/packages/{blocks → layouts}/desktop-app-shell/src/index.d.ts +0 -0
  755. /package/dist/packages/{blocks → patterns}/app-header/src/index.d.ts +0 -0
  756. /package/dist/packages/{blocks → patterns}/empty-state/src/index.d.ts +0 -0
  757. /package/dist/packages/{blocks → patterns}/error-state/src/index.d.ts +0 -0
  758. /package/dist/packages/{blocks → patterns}/error-summary/src/ErrorSummary.vue.d.ts +0 -0
  759. /package/dist/packages/{blocks → patterns}/error-summary/src/index.d.ts +0 -0
  760. /package/dist/packages/{blocks → patterns}/form-actions/src/index.d.ts +0 -0
  761. /package/dist/packages/{blocks → patterns}/form-section/src/index.d.ts +0 -0
  762. /package/dist/packages/{blocks → patterns}/loading-state/src/LoadingState.vue.d.ts +0 -0
  763. /package/dist/packages/{blocks → patterns}/loading-state/src/index.d.ts +0 -0
  764. /package/dist/packages/{blocks → patterns}/metric-card/src/index.d.ts +0 -0
  765. /package/dist/packages/{blocks → patterns}/page-header/src/PageHeader.vue.d.ts +0 -0
  766. /package/dist/packages/{blocks → patterns}/page-header/src/index.d.ts +0 -0
  767. /package/dist/packages/{blocks → patterns}/row-actions/src/RowActions.vue.d.ts +0 -0
  768. /package/dist/packages/{blocks → patterns}/row-actions/src/index.d.ts +0 -0
  769. /package/dist/packages/{blocks → patterns}/sidebar-nav/src/SidebarNav.vue.d.ts +0 -0
  770. /package/dist/packages/{blocks → patterns}/sidebar-nav/src/index.d.ts +0 -0
  771. /package/dist/packages/{blocks → patterns}/title-bar/src/index.d.ts +0 -0
  772. /package/dist/packages/{blocks → patterns}/toast-stack/src/ToastStack.vue.d.ts +0 -0
  773. /package/dist/packages/{blocks → patterns}/toast-stack/src/index.d.ts +0 -0
  774. /package/dist/{packages/blocks → patterns}/app-header/src/index.js +0 -0
  775. /package/dist/{packages/blocks → patterns}/empty-state/src/index.js +0 -0
  776. /package/dist/{packages/blocks → patterns}/error-state/src/index.js +0 -0
  777. /package/dist/{packages/blocks → patterns}/error-summary/src/index.js +0 -0
  778. /package/dist/{packages/blocks → patterns}/form-actions/src/index.js +0 -0
  779. /package/dist/{packages/blocks → patterns}/form-section/src/index.js +0 -0
  780. /package/dist/{packages/blocks → patterns}/loading-state/src/index.js +0 -0
  781. /package/dist/{packages/blocks → patterns}/metric-card/src/index.js +0 -0
  782. /package/dist/{packages/blocks → patterns}/page-header/src/index.js +0 -0
  783. /package/dist/{packages/blocks → patterns}/row-actions/src/index.js +0 -0
  784. /package/dist/{packages/blocks → patterns}/sidebar-nav/src/index.js +0 -0
  785. /package/dist/{packages/blocks → patterns}/title-bar/src/index.js +0 -0
  786. /package/dist/{packages/blocks → patterns}/toast-stack/src/index.js +0 -0
  787. /package/dist/{packages/primitives → primitives}/accordion/src/Accordion.js +0 -0
  788. /package/dist/{packages/primitives → primitives}/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js +0 -0
  789. /package/dist/{packages/primitives → primitives}/accordion/src/index.js +0 -0
  790. /package/dist/{packages/primitives → primitives}/alert/src/Alert.js +0 -0
  791. /package/dist/{packages/primitives → primitives}/alert/src/Alert.vue_vue_type_script_setup_true_lang.js +0 -0
  792. /package/dist/{packages/primitives → primitives}/alert/src/index.js +0 -0
  793. /package/dist/{packages/primitives → primitives}/alert-dialog/src/AlertDialog.js +0 -0
  794. /package/dist/{packages/primitives → primitives}/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js +0 -0
  795. /package/dist/{packages/primitives → primitives}/alert-dialog/src/index.js +0 -0
  796. /package/dist/{packages/primitives → primitives}/avatar/src/Avatar.js +0 -0
  797. /package/dist/{packages/primitives → primitives}/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js +0 -0
  798. /package/dist/{packages/primitives → primitives}/avatar/src/index.js +0 -0
  799. /package/dist/{packages/primitives → primitives}/avatar-group/src/AvatarGroup.js +0 -0
  800. /package/dist/{packages/primitives → primitives}/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js +0 -0
  801. /package/dist/{packages/primitives → primitives}/avatar-group/src/index.js +0 -0
  802. /package/dist/{packages/primitives → primitives}/badge/src/Badge.js +0 -0
  803. /package/dist/{packages/primitives → primitives}/badge/src/Badge.vue_vue_type_script_setup_true_lang.js +0 -0
  804. /package/dist/{packages/primitives → primitives}/badge/src/index.js +0 -0
  805. /package/dist/{packages/primitives → primitives}/breadcrumb/src/Breadcrumb.js +0 -0
  806. /package/dist/{packages/primitives → primitives}/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js +0 -0
  807. /package/dist/{packages/primitives → primitives}/breadcrumb/src/index.js +0 -0
  808. /package/dist/{packages/primitives → primitives}/button/src/Button.js +0 -0
  809. /package/dist/{packages/primitives → primitives}/button/src/Button.vue_vue_type_script_setup_true_lang.js +0 -0
  810. /package/dist/{packages/primitives → primitives}/button/src/index.js +0 -0
  811. /package/dist/{packages/primitives → primitives}/calendar/src/Calendar.js +0 -0
  812. /package/dist/{packages/primitives → primitives}/calendar/src/index.js +0 -0
  813. /package/dist/{packages/primitives → primitives}/card/src/Card.js +0 -0
  814. /package/dist/{packages/primitives → primitives}/card/src/Card.vue_vue_type_script_setup_true_lang.js +0 -0
  815. /package/dist/{packages/primitives → primitives}/card/src/index.js +0 -0
  816. /package/dist/{packages/primitives → primitives}/carousel/src/Carousel.js +0 -0
  817. /package/dist/{packages/primitives → primitives}/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js +0 -0
  818. /package/dist/{packages/primitives → primitives}/carousel/src/index.js +0 -0
  819. /package/dist/{packages/primitives → primitives}/checkbox/src/Checkbox.js +0 -0
  820. /package/dist/{packages/primitives → primitives}/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -0
  821. /package/dist/{packages/primitives → primitives}/checkbox/src/index.js +0 -0
  822. /package/dist/{packages/primitives → primitives}/chip/src/Chip.js +0 -0
  823. /package/dist/{packages/primitives → primitives}/chip/src/Chip.vue_vue_type_script_setup_true_lang.js +0 -0
  824. /package/dist/{packages/primitives → primitives}/chip/src/index.js +0 -0
  825. /package/dist/{packages/primitives → primitives}/collapse/src/Collapse.js +0 -0
  826. /package/dist/{packages/primitives → primitives}/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js +0 -0
  827. /package/dist/{packages/primitives → primitives}/collapse/src/index.js +0 -0
  828. /package/dist/{packages/primitives → primitives}/color-picker/src/ColorPicker.js +0 -0
  829. /package/dist/{packages/primitives → primitives}/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js +0 -0
  830. /package/dist/{packages/primitives → primitives}/color-picker/src/index.js +0 -0
  831. /package/dist/{packages/primitives → primitives}/combobox/src/Combobox.js +0 -0
  832. /package/dist/{packages/primitives → primitives}/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js +0 -0
  833. /package/dist/{packages/primitives → primitives}/combobox/src/index.js +0 -0
  834. /package/dist/{packages/primitives → primitives}/command/src/Command.js +0 -0
  835. /package/dist/{packages/primitives → primitives}/command/src/Command.vue_vue_type_script_setup_true_lang.js +0 -0
  836. /package/dist/{packages/primitives → primitives}/command/src/index.js +0 -0
  837. /package/dist/{packages/primitives → primitives}/context-menu/src/ContextMenu.js +0 -0
  838. /package/dist/{packages/primitives → primitives}/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js +0 -0
  839. /package/dist/{packages/primitives → primitives}/context-menu/src/index.js +0 -0
  840. /package/dist/{packages/primitives → primitives}/copy-button/src/CopyButton.js +0 -0
  841. /package/dist/{packages/primitives → primitives}/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js +0 -0
  842. /package/dist/{packages/primitives → primitives}/data-grid/src/DataGrid.js +0 -0
  843. /package/dist/{packages/primitives → primitives}/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js +0 -0
  844. /package/dist/{packages/primitives → primitives}/data-grid/src/index.js +0 -0
  845. /package/dist/{packages/primitives → primitives}/date-picker/src/DatePicker.js +0 -0
  846. /package/dist/{packages/primitives → primitives}/date-picker/src/index.js +0 -0
  847. /package/dist/{packages/primitives → primitives}/date-range-picker/src/DateRangePicker.js +0 -0
  848. /package/dist/{packages/primitives → primitives}/date-range-picker/src/index.js +0 -0
  849. /package/dist/{packages/primitives → primitives}/date-time-picker/src/DateTimePicker.js +0 -0
  850. /package/dist/{packages/primitives → primitives}/date-time-picker/src/index.js +0 -0
  851. /package/dist/{packages/primitives → primitives}/date-time-range-picker/src/DateTimeRangePicker.js +0 -0
  852. /package/dist/{packages/primitives → primitives}/date-time-range-picker/src/index.js +0 -0
  853. /package/dist/{packages/primitives → primitives}/dialog/src/Dialog.js +0 -0
  854. /package/dist/{packages/primitives → primitives}/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js +0 -0
  855. /package/dist/{packages/primitives → primitives}/dialog/src/index.js +0 -0
  856. /package/dist/{packages/primitives → primitives}/drawer/src/Drawer.js +0 -0
  857. /package/dist/{packages/primitives → primitives}/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js +0 -0
  858. /package/dist/{packages/primitives → primitives}/drawer/src/index.js +0 -0
  859. /package/dist/{packages/primitives → primitives}/dropdown-menu/src/DropdownMenu.js +0 -0
  860. /package/dist/{packages/primitives → primitives}/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js +0 -0
  861. /package/dist/{packages/primitives → primitives}/dropdown-menu/src/index.js +0 -0
  862. /package/dist/{packages/primitives → primitives}/editable/src/Editable.js +0 -0
  863. /package/dist/{packages/primitives → primitives}/editable/src/Editable.vue_vue_type_script_setup_true_lang.js +0 -0
  864. /package/dist/{packages/primitives → primitives}/editable/src/index.js +0 -0
  865. /package/dist/{packages/primitives → primitives}/field/src/Field.js +0 -0
  866. /package/dist/{packages/primitives → primitives}/field/src/Field.vue_vue_type_script_setup_true_lang.js +0 -0
  867. /package/dist/{packages/primitives → primitives}/field/src/index.js +0 -0
  868. /package/dist/{packages/primitives → primitives}/fieldset/src/Fieldset.js +0 -0
  869. /package/dist/{packages/primitives → primitives}/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js +0 -0
  870. /package/dist/{packages/primitives → primitives}/fieldset/src/index.js +0 -0
  871. /package/dist/{packages/primitives → primitives}/file-upload/src/FileUpload.js +0 -0
  872. /package/dist/{packages/primitives → primitives}/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js +0 -0
  873. /package/dist/{packages/primitives → primitives}/file-upload/src/index.js +0 -0
  874. /package/dist/{packages/primitives → primitives}/hover-card/src/HoverCard.js +0 -0
  875. /package/dist/{packages/primitives → primitives}/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js +0 -0
  876. /package/dist/{packages/primitives → primitives}/hover-card/src/index.js +0 -0
  877. /package/dist/{packages/primitives → primitives}/icon-button/src/IconButton.js +0 -0
  878. /package/dist/{packages/primitives → primitives}/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js +0 -0
  879. /package/dist/{packages/primitives → primitives}/icon-button/src/index.js +0 -0
  880. /package/dist/{packages/primitives → primitives}/indicator/src/Indicator.js +0 -0
  881. /package/dist/{packages/primitives → primitives}/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js +0 -0
  882. /package/dist/{packages/primitives → primitives}/indicator/src/index.js +0 -0
  883. /package/dist/{packages/primitives → primitives}/inline-error/src/InlineError.js +0 -0
  884. /package/dist/{packages/primitives → primitives}/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js +0 -0
  885. /package/dist/{packages/primitives → primitives}/inline-error/src/index.js +0 -0
  886. /package/dist/{packages/primitives → primitives}/kbd/src/Kbd.js +0 -0
  887. /package/dist/{packages/primitives → primitives}/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js +0 -0
  888. /package/dist/{packages/primitives → primitives}/kbd/src/index.js +0 -0
  889. /package/dist/{packages/primitives → primitives}/link/src/Link.js +0 -0
  890. /package/dist/{packages/primitives → primitives}/link/src/Link.vue_vue_type_script_setup_true_lang.js +0 -0
  891. /package/dist/{packages/primitives → primitives}/link/src/index.js +0 -0
  892. /package/dist/{packages/primitives → primitives}/list/src/List.js +0 -0
  893. /package/dist/{packages/primitives → primitives}/list/src/List.vue_vue_type_script_setup_true_lang.js +0 -0
  894. /package/dist/{packages/primitives → primitives}/list/src/ListItem.js +0 -0
  895. /package/dist/{packages/primitives → primitives}/list/src/index.js +0 -0
  896. /package/dist/{packages/primitives → primitives}/live-region/src/LiveRegion.js +0 -0
  897. /package/dist/{packages/primitives → primitives}/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js +0 -0
  898. /package/dist/{packages/primitives → primitives}/live-region/src/context.js +0 -0
  899. /package/dist/{packages/primitives → primitives}/live-region/src/index.js +0 -0
  900. /package/dist/{packages/primitives → primitives}/live-region/src/useAnnounce.js +0 -0
  901. /package/dist/{packages/primitives → primitives}/menubar/src/Menubar.js +0 -0
  902. /package/dist/{packages/primitives → primitives}/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js +0 -0
  903. /package/dist/{packages/primitives → primitives}/menubar/src/index.js +0 -0
  904. /package/dist/{packages/primitives → primitives}/meter/src/Meter.js +0 -0
  905. /package/dist/{packages/primitives → primitives}/meter/src/Meter.vue_vue_type_script_setup_true_lang.js +0 -0
  906. /package/dist/{packages/primitives → primitives}/meter/src/index.js +0 -0
  907. /package/dist/{packages/primitives → primitives}/navigation-menu/src/NavigationMenu.js +0 -0
  908. /package/dist/{packages/primitives → primitives}/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js +0 -0
  909. /package/dist/{packages/primitives → primitives}/navigation-menu/src/index.js +0 -0
  910. /package/dist/{packages/primitives → primitives}/number-field/src/NumberField.js +0 -0
  911. /package/dist/{packages/primitives → primitives}/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js +0 -0
  912. /package/dist/{packages/primitives → primitives}/number-field/src/index.js +0 -0
  913. /package/dist/{packages/primitives → primitives}/otp-input/src/OtpInput.js +0 -0
  914. /package/dist/{packages/primitives → primitives}/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js +0 -0
  915. /package/dist/{packages/primitives → primitives}/otp-input/src/index.js +0 -0
  916. /package/dist/{packages/primitives → primitives}/pagination/src/Pagination.js +0 -0
  917. /package/dist/{packages/primitives → primitives}/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js +0 -0
  918. /package/dist/{packages/primitives → primitives}/pagination/src/index.js +0 -0
  919. /package/dist/{packages/primitives → primitives}/popover/src/Popover.js +0 -0
  920. /package/dist/{packages/primitives → primitives}/popover/src/Popover.vue_vue_type_script_setup_true_lang.js +0 -0
  921. /package/dist/{packages/primitives → primitives}/popover/src/index.js +0 -0
  922. /package/dist/{packages/primitives → primitives}/progress/src/Progress.js +0 -0
  923. /package/dist/{packages/primitives → primitives}/progress/src/Progress.vue_vue_type_script_setup_true_lang.js +0 -0
  924. /package/dist/{packages/primitives → primitives}/progress/src/index.js +0 -0
  925. /package/dist/{packages/primitives → primitives}/radial-progress/src/RadialProgress.js +0 -0
  926. /package/dist/{packages/primitives → primitives}/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js +0 -0
  927. /package/dist/{packages/primitives → primitives}/radial-progress/src/index.js +0 -0
  928. /package/dist/{packages/primitives → primitives}/radio-group/src/RadioGroup.js +0 -0
  929. /package/dist/{packages/primitives → primitives}/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -0
  930. /package/dist/{packages/primitives → primitives}/radio-group/src/index.js +0 -0
  931. /package/dist/{packages/primitives → primitives}/rating/src/Rating.js +0 -0
  932. /package/dist/{packages/primitives → primitives}/rating/src/Rating.vue_vue_type_script_setup_true_lang.js +0 -0
  933. /package/dist/{packages/primitives → primitives}/rating/src/index.js +0 -0
  934. /package/dist/{packages/primitives → primitives}/scroll-area/src/ScrollArea.js +0 -0
  935. /package/dist/{packages/primitives → primitives}/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js +0 -0
  936. /package/dist/{packages/primitives → primitives}/scroll-area/src/index.js +0 -0
  937. /package/dist/{packages/primitives → primitives}/segmented-control/src/SegmentedControl.js +0 -0
  938. /package/dist/{packages/primitives → primitives}/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js +0 -0
  939. /package/dist/{packages/primitives → primitives}/segmented-control/src/index.js +0 -0
  940. /package/dist/{packages/primitives → primitives}/select/src/Select.js +0 -0
  941. /package/dist/{packages/primitives → primitives}/select/src/Select.vue_vue_type_script_setup_true_lang.js +0 -0
  942. /package/dist/{packages/primitives → primitives}/select/src/index.js +0 -0
  943. /package/dist/{packages/primitives → primitives}/separator/src/Separator.js +0 -0
  944. /package/dist/{packages/primitives → primitives}/separator/src/Separator.vue_vue_type_script_setup_true_lang.js +0 -0
  945. /package/dist/{packages/primitives → primitives}/separator/src/index.js +0 -0
  946. /package/dist/{packages/primitives → primitives}/skeleton/src/Skeleton.js +0 -0
  947. /package/dist/{packages/primitives → primitives}/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js +0 -0
  948. /package/dist/{packages/primitives → primitives}/skeleton/src/index.js +0 -0
  949. /package/dist/{packages/primitives → primitives}/skip-link/src/SkipLink.js +0 -0
  950. /package/dist/{packages/primitives → primitives}/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js +0 -0
  951. /package/dist/{packages/primitives → primitives}/skip-link/src/index.js +0 -0
  952. /package/dist/{packages/primitives → primitives}/slider/src/Slider.js +0 -0
  953. /package/dist/{packages/primitives → primitives}/slider/src/Slider.vue_vue_type_script_setup_true_lang.js +0 -0
  954. /package/dist/{packages/primitives → primitives}/slider/src/index.js +0 -0
  955. /package/dist/{packages/primitives → primitives}/speed-dial/src/SpeedDial.js +0 -0
  956. /package/dist/{packages/primitives → primitives}/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js +0 -0
  957. /package/dist/{packages/primitives → primitives}/speed-dial/src/index.js +0 -0
  958. /package/dist/{packages/primitives → primitives}/spinner/src/Spinner.js +0 -0
  959. /package/dist/{packages/primitives → primitives}/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js +0 -0
  960. /package/dist/{packages/primitives → primitives}/spinner/src/index.js +0 -0
  961. /package/dist/{packages/primitives → primitives}/stepper/src/Stepper.js +0 -0
  962. /package/dist/{packages/primitives → primitives}/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js +0 -0
  963. /package/dist/{packages/primitives → primitives}/stepper/src/index.js +0 -0
  964. /package/dist/{packages/primitives → primitives}/surface/src/Surface.js +0 -0
  965. /package/dist/{packages/primitives → primitives}/surface/src/Surface.vue_vue_type_script_setup_true_lang.js +0 -0
  966. /package/dist/{packages/primitives → primitives}/surface/src/index.js +0 -0
  967. /package/dist/{packages/primitives → primitives}/switch/src/Switch.js +0 -0
  968. /package/dist/{packages/primitives → primitives}/switch/src/Switch.vue_vue_type_script_setup_true_lang.js +0 -0
  969. /package/dist/{packages/primitives → primitives}/switch/src/index.js +0 -0
  970. /package/dist/{packages/primitives → primitives}/table/src/Table.js +0 -0
  971. /package/dist/{packages/primitives → primitives}/table/src/Table.vue_vue_type_script_setup_true_lang.js +0 -0
  972. /package/dist/{packages/primitives → primitives}/table/src/TableCell.js +0 -0
  973. /package/dist/{packages/primitives → primitives}/table/src/TableCell.vue_vue_type_script_setup_true_lang.js +0 -0
  974. /package/dist/{packages/primitives → primitives}/table/src/TableHead.js +0 -0
  975. /package/dist/{packages/primitives → primitives}/table/src/TableHead.vue_vue_type_script_setup_true_lang.js +0 -0
  976. /package/dist/{packages/primitives → primitives}/table/src/TableRow.js +0 -0
  977. /package/dist/{packages/primitives → primitives}/table/src/TableRow.vue_vue_type_script_setup_true_lang.js +0 -0
  978. /package/dist/{packages/primitives → primitives}/table/src/index.js +0 -0
  979. /package/dist/{packages/primitives → primitives}/tabs/src/Tabs.js +0 -0
  980. /package/dist/{packages/primitives → primitives}/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js +0 -0
  981. /package/dist/{packages/primitives → primitives}/tabs/src/index.js +0 -0
  982. /package/dist/{packages/primitives → primitives}/tags-input/src/TagsInput.js +0 -0
  983. /package/dist/{packages/primitives → primitives}/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js +0 -0
  984. /package/dist/{packages/primitives → primitives}/tags-input/src/index.js +0 -0
  985. /package/dist/{packages/primitives → primitives}/text-field/src/TextField.js +0 -0
  986. /package/dist/{packages/primitives → primitives}/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js +0 -0
  987. /package/dist/{packages/primitives → primitives}/text-field/src/index.js +0 -0
  988. /package/dist/{packages/primitives → primitives}/textarea/src/Textarea.js +0 -0
  989. /package/dist/{packages/primitives → primitives}/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js +0 -0
  990. /package/dist/{packages/primitives → primitives}/textarea/src/index.js +0 -0
  991. /package/dist/{packages/primitives → primitives}/time-picker/src/TimePicker.js +0 -0
  992. /package/dist/{packages/primitives → primitives}/time-picker/src/index.js +0 -0
  993. /package/dist/{packages/primitives → primitives}/timeline/src/Timeline.js +0 -0
  994. /package/dist/{packages/primitives → primitives}/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js +0 -0
  995. /package/dist/{packages/primitives → primitives}/timeline/src/TimelineItem.js +0 -0
  996. /package/dist/{packages/primitives → primitives}/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js +0 -0
  997. /package/dist/{packages/primitives → primitives}/toast/src/Toast.js +0 -0
  998. /package/dist/{packages/primitives → primitives}/toast/src/Toast.vue_vue_type_script_setup_true_lang.js +0 -0
  999. /package/dist/{packages/primitives → primitives}/toast/src/ToastItem.js +0 -0
  1000. /package/dist/{packages/primitives → primitives}/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js +0 -0
  1001. /package/dist/{packages/primitives → primitives}/toast/src/index.js +0 -0
  1002. /package/dist/{packages/primitives → primitives}/toggle-group/src/ToggleGroup.js +0 -0
  1003. /package/dist/{packages/primitives → primitives}/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js +0 -0
  1004. /package/dist/{packages/primitives → primitives}/toggle-group/src/index.js +0 -0
  1005. /package/dist/{packages/primitives → primitives}/toolbar/src/Toolbar.js +0 -0
  1006. /package/dist/{packages/primitives → primitives}/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js +0 -0
  1007. /package/dist/{packages/primitives → primitives}/toolbar/src/ToolbarSeparator.js +0 -0
  1008. /package/dist/{packages/primitives → primitives}/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js +0 -0
  1009. /package/dist/{packages/primitives → primitives}/toolbar/src/index.js +0 -0
  1010. /package/dist/{packages/primitives → primitives}/tooltip/src/Tooltip.js +0 -0
  1011. /package/dist/{packages/primitives → primitives}/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js +0 -0
  1012. /package/dist/{packages/primitives → primitives}/tooltip/src/index.js +0 -0
  1013. /package/dist/{packages/primitives → primitives}/tree-view/src/TreeView.js +0 -0
  1014. /package/dist/{packages/primitives → primitives}/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js +0 -0
  1015. /package/dist/{packages/primitives → primitives}/tree-view/src/TreeViewNode.js +0 -0
  1016. /package/dist/{packages/primitives → primitives}/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js +0 -0
  1017. /package/dist/{packages/primitives → primitives}/tree-view/src/context.js +0 -0
  1018. /package/dist/{packages/primitives → primitives}/tree-view/src/index.js +0 -0
  1019. /package/dist/{packages/primitives → primitives}/visually-hidden/src/VisuallyHidden.js +0 -0
  1020. /package/dist/{packages/primitives → primitives}/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js +0 -0
  1021. /package/dist/{packages/primitives → primitives}/visually-hidden/src/index.js +0 -0
  1022. /package/dist/{packages/primitives → primitives}/window-controls/src/WindowControls.js +0 -0
  1023. /package/dist/{packages/primitives → primitives}/window-controls/src/index.js +0 -0
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
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. When collapsed it also takes full\n width. -->\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. When collapsed the\n panel takes full width (flex-basis: 100%). -->\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. When collapsed the\n panel takes full width (flex-basis: 100%). -->\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. When collapsed it also takes full\n width. -->\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":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Split.vue_vue_type_script_setup_true_lang.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. When collapsed it also takes full\n width. -->\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. When collapsed the\n panel takes full width (flex-basis: 100%). -->\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. When collapsed the\n panel takes full width (flex-basis: 100%). -->\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. When collapsed it also takes full\n width. -->\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":";;;;;;;;;;;;;;;;AAuBA,IAAM,WAAsD;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;;;;;;GA4BE,OAAA,UAAA,GAAA,mBAmEM,OAAA;IAlEH,OAAK,eAAE,MAAA,EAAA,CAAE,CAAA,iBAAkB,QAAA,QAAG,SAAc,SAAS,QAAA,OAAO,KAAA,CAAS,CAAA;IACrE,OAAO,EAAA,UAAA,OAEP;GASe,GAAA,CAAA,QAAA,SAAI,WAApB,UAAA,GAAA,mBA0BW,UAAA,EAAA,KAAA,EAAA,GAAA,CAtBT,mBASM,OATN,YASM,CADJ,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA,GAIV,mBASM,OAAA,EARH,OAAK,eAAA;IAAyB,WAAA,QAAA;;;IAAkF,UAAA,QAAA;GAOjH,CAAA,EAAA,GAAA,CAAA,WAAoB,KAAA,QAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,EAAA,MAGxB,UAAA,GAAA,mBA0BW,UAAA,EAAA,KAAA,EAAA,GAAA,CAvBT,mBASM,OAAA,EARH,OAAK,eAAA;IAAyB,WAAA,QAAA;;;IAAkF,UAAA,QAAA;GAOjH,CAAA,EAAA,GAAA,CAAA,WAAoB,KAAA,QAAA,MAAA,CAAA,GAAA,CAAA,GAKtB,mBASM,OATN,YASM,CADJ,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stack.js","names":[],"sources":["../../../../../packages/composition/stack/src/Stack.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Stack — vertical flow with consistent, responsive gap.\n *\n * A flex column that tightens its gutter one step below the `sm` breakpoint,\n * where stacked items have no room to waste on air. The gap steps mirror\n * DashboardGrid's: the value each step names applies from `sm` up, and drops\n * one notch below it.\n *\n * A Stack is a component, not `flex flex-col gap-4`, for three reasons: the\n * responsive gap is the component's job (not every call site's), the\n * `separator` slot avoids a repeated `v-for` + `v-if` pattern, and the\n * `align` prop maps cross-axis intent to a Tailwind class without the caller\n * remembering which flex utility is which.\n */\nexport type StackGap = \"sm\" | \"md\" | \"lg\";\n\nexport type StackAlign = \"start\" | \"center\" | \"end\" | \"stretch\";\n\nconst gapClass: Record<StackGap, 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<StackAlign, string> = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n stretch: \"items-stretch\",\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 /** Vertical gap step — mirrors DashboardGrid's scale. Tightens one notch below `sm`. */\n gap?: StackGap;\n /** Cross-axis alignment of children. */\n align?: StackAlign;\n }>(),\n { gap: \"md\", align: \"stretch\" },\n);\n</script>\n\n<template>\n <div :class=\"cn('flex flex-col', gapClass[gap], alignClass[align])\">\n <!-- Each direct child is a stack item. The separator slot, if filled,\n is rendered between every pair of children — a <Separator /> or a\n thin <div class=\"border-t border-border\">, for example. -->\n <slot />\n </div>\n</template>\n"],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Stack.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/composition/stack/src/Stack.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Stack — vertical flow with consistent, responsive gap.\n *\n * A flex column that tightens its gutter one step below the `sm` breakpoint,\n * where stacked items have no room to waste on air. The gap steps mirror\n * DashboardGrid's: the value each step names applies from `sm` up, and drops\n * one notch below it.\n *\n * A Stack is a component, not `flex flex-col gap-4`, for three reasons: the\n * responsive gap is the component's job (not every call site's), the\n * `separator` slot avoids a repeated `v-for` + `v-if` pattern, and the\n * `align` prop maps cross-axis intent to a Tailwind class without the caller\n * remembering which flex utility is which.\n */\nexport type StackGap = \"sm\" | \"md\" | \"lg\";\n\nexport type StackAlign = \"start\" | \"center\" | \"end\" | \"stretch\";\n\nconst gapClass: Record<StackGap, 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<StackAlign, string> = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n stretch: \"items-stretch\",\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 /** Vertical gap step — mirrors DashboardGrid's scale. Tightens one notch below `sm`. */\n gap?: StackGap;\n /** Cross-axis alignment of children. */\n align?: StackAlign;\n }>(),\n { gap: \"md\", align: \"stretch\" },\n);\n</script>\n\n<template>\n <div :class=\"cn('flex flex-col', gapClass[gap], alignClass[align])\">\n <!-- Each direct child is a stack item. The separator slot, if filled,\n is rendered between every pair of children — a <Separator /> or a\n thin <div class=\"border-t border-border\">, for example. -->\n <slot />\n </div>\n</template>\n"],"mappings":";;;;AAmBA,IAAM,WAAqC;CACzC,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAM,aAAyC;CAC7C,OAAO;CACP,QAAQ;CACR,KAAK;CACL,SAAS;AACX;;;;;;;;;GAoBE,OAAA,UAAA,GAAA,mBAKM,OAAA,EALA,OAAK,eAAE,MAAA,EAAA,CAAE,CAAA,iBAAkB,SAAS,QAAA,MAAM,WAAW,QAAA,MAAK,CAAA,EAAA,GAAA,CAI9D,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
@@ -1,149 +0,0 @@
1
- //#region packages/core/src/a11y-scope.ts
2
- /**
3
- * The WCAG scope Loom holds itself to: the assistive-technology and keyboard
4
- * rules, not axe's SEO and document-structure best-practice set. A component
5
- * library cannot know what document it will be rendered into, so a rule about
6
- * the document is the consumer's to answer, not ours.
7
- *
8
- * Single source for every axe run against this package, and there is more
9
- * than one, in different processes: the jsdom demo sweep, the harness gate,
10
- * the root gate that scans the built site, and the pin tests that hold the
11
- * partition exact. All import this. The list must never be restated, or the
12
- * tier a contributor reads and the gate that blocks the merge drift into
13
- * disagreeing about what counts as a violation.
14
- *
15
- * Exported from the narrow `@ecoma-io/loom/a11y` entry so a tool that only
16
- * needs this array — a Playwright run, a CI script — can read it without
17
- * pulling in a single Vue component.
18
- *
19
- * The array is partitioned into BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, and
20
- * TAGGED_BUT_DISABLED_RULES. The split line between the first two is whether a rule's
21
- * checks read layout geometry, hit-testing, pseudo-element or computed-color resolution,
22
- * cascade-dependent font metrics, canvas, or media state — none of which the jsdom demo
23
- * tier provides. TAGGED_BUT_DISABLED holds the WCAG-tagged rules that axe-core 4.12.1
24
- * ships with enabled:false; a tag-type runOnly (the old gate: withTags([...WCAG_TAGS]))
25
- * excludes them, so they were never part of the tag-selected rule set. A rule-type
26
- * runOnly (the gates that consume these lists: withRules([...list])) RUNS any named
27
- * rule regardless of enabled status.
28
- *
29
- * Loom's bar is that a rule mapping to a Level A or AA success criterion stays out of
30
- * the runtime tiers only when it is SUPERSEDED (another rule in the tiers already
31
- * judges the same criterion) or OUT-OF-REACH (the criterion needs something this
32
- * repository cannot supply) — "axe ships it disabled" is not a reason. The partition
33
- * below is the result of that review, 2026-08-26: of the 7 disabled rules, 5 were
34
- * adopted (aria-roledescription browserless; label-content-name-mismatch, p-as-heading,
35
- * table-fake-caption and td-has-header browser-required — the findings on loom's own
36
- * markup were fixed in the same change) and 2 remain out, each with its criterion and
37
- * its reason written below.
38
- *
39
- * The runtime tiers hold 68 of the 70 WCAG-tagged rules: BROWSERLESS_RULES (51) ∪
40
- * BROWSER_REQUIRED_RULES (17). The union of all three sets equals the full 70, which
41
- * is pinned by packages/core/tests/a11y-scope.test.ts.
42
- */
43
- var WCAG_TAGS = [
44
- "wcag2a",
45
- "wcag2aa",
46
- "wcag21a",
47
- "wcag21aa",
48
- "wcag22aa"
49
- ];
50
- /**
51
- * Rules that can be judged in jsdom — semantic checks that read only the DOM,
52
- * attributes, and cascade (no layout geometry, hit-testing, pseudo-elements,
53
- * computed colors, canvas, or media state).
54
- *
55
- * These 51 rules are verified to produce identical verdicts in jsdom 30 and
56
- * Chromium on violation fixtures, and to agree on all 94 demos. Each entry
57
- * was classified by scanning its check helpers for browser-API dependencies;
58
- * the partition is pinned by packages/core/tests/a11y-scope.test.ts.
59
- */
60
- var BROWSERLESS_RULES = [
61
- "area-alt",
62
- "aria-allowed-attr",
63
- "aria-braille-equivalent",
64
- "aria-command-name",
65
- "aria-conditional-attr",
66
- "aria-deprecated-role",
67
- "aria-hidden-body",
68
- "aria-input-field-name",
69
- "aria-meter-name",
70
- "aria-progressbar-name",
71
- "aria-prohibited-attr",
72
- "aria-required-attr",
73
- "aria-required-children",
74
- "aria-required-parent",
75
- "aria-roledescription",
76
- "aria-roles",
77
- "aria-tab-name",
78
- "aria-toggle-field-name",
79
- "aria-tooltip-name",
80
- "aria-valid-attr",
81
- "aria-valid-attr-value",
82
- "autocomplete-valid",
83
- "blink",
84
- "button-name",
85
- "definition-list",
86
- "dlitem",
87
- "document-title",
88
- "duplicate-id-aria",
89
- "form-field-multiple-labels",
90
- "frame-title",
91
- "frame-title-unique",
92
- "html-has-lang",
93
- "html-lang-valid",
94
- "html-xml-lang-mismatch",
95
- "image-alt",
96
- "input-button-name",
97
- "input-image-alt",
98
- "label",
99
- "link-name",
100
- "list",
101
- "listitem",
102
- "meta-refresh",
103
- "meta-viewport",
104
- "nested-interactive",
105
- "role-img-alt",
106
- "select-name",
107
- "server-side-image-map",
108
- "summary-name",
109
- "svg-img-alt",
110
- "valid-lang",
111
- "video-caption"
112
- ];
113
- /**
114
- * Rules that require a rendering engine — their checks (or, for the table
115
- * rules, their `matches` predicate) read layout geometry, hit-test results,
116
- * pseudo-element styles, computed color pipelines, cascade-dependent font
117
- * metrics, canvas, or media state (src, currentSrc, plays), which jsdom does
118
- * not provide — or which the jsdom demo tier cannot judge because it mounts
119
- * demos with no stylesheet loaded.
120
- *
121
- * These 17 rules are what the browser gates run. The split is:
122
- * - 11 rendering-dependent (geometry, hit-testing, computed colors, canvas, media, iframe content)
123
- * - 2 conservative-partial (table rules whose `matches` predicate uses border
124
- * geometry; kept in browser until Table semantic markup is pinned)
125
- * - 4 adopted 2026-08-26 from TAGGED_BUT_DISABLED (see their own comments)
126
- */
127
- var BROWSER_REQUIRED_RULES = [
128
- "aria-hidden-focus",
129
- "avoid-inline-spacing",
130
- "bypass",
131
- "color-contrast",
132
- "frame-focusable-content",
133
- "link-in-text-block",
134
- "marquee",
135
- "no-autoplay-audio",
136
- "object-alt",
137
- "scrollable-region-focusable",
138
- "target-size",
139
- "td-headers-attr",
140
- "th-has-data-cells",
141
- "label-content-name-mismatch",
142
- "p-as-heading",
143
- "table-fake-caption",
144
- "td-has-header"
145
- ];
146
- //#endregion
147
- export { BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, WCAG_TAGS };
148
-
149
- //# sourceMappingURL=a11y-scope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"a11y-scope.js","names":[],"sources":["../../../../packages/core/src/a11y-scope.ts"],"sourcesContent":["/**\n * The WCAG scope Loom holds itself to: the assistive-technology and keyboard\n * rules, not axe's SEO and document-structure best-practice set. A component\n * library cannot know what document it will be rendered into, so a rule about\n * the document is the consumer's to answer, not ours.\n *\n * Single source for every axe run against this package, and there is more\n * than one, in different processes: the jsdom demo sweep, the harness gate,\n * the root gate that scans the built site, and the pin tests that hold the\n * partition exact. All import this. The list must never be restated, or the\n * tier a contributor reads and the gate that blocks the merge drift into\n * disagreeing about what counts as a violation.\n *\n * Exported from the narrow `@ecoma-io/loom/a11y` entry so a tool that only\n * needs this array — a Playwright run, a CI script — can read it without\n * pulling in a single Vue component.\n *\n * The array is partitioned into BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, and\n * TAGGED_BUT_DISABLED_RULES. The split line between the first two is whether a rule's\n * checks read layout geometry, hit-testing, pseudo-element or computed-color resolution,\n * cascade-dependent font metrics, canvas, or media state — none of which the jsdom demo\n * tier provides. TAGGED_BUT_DISABLED holds the WCAG-tagged rules that axe-core 4.12.1\n * ships with enabled:false; a tag-type runOnly (the old gate: withTags([...WCAG_TAGS]))\n * excludes them, so they were never part of the tag-selected rule set. A rule-type\n * runOnly (the gates that consume these lists: withRules([...list])) RUNS any named\n * rule regardless of enabled status.\n *\n * Loom's bar is that a rule mapping to a Level A or AA success criterion stays out of\n * the runtime tiers only when it is SUPERSEDED (another rule in the tiers already\n * judges the same criterion) or OUT-OF-REACH (the criterion needs something this\n * repository cannot supply) — \"axe ships it disabled\" is not a reason. The partition\n * below is the result of that review, 2026-08-26: of the 7 disabled rules, 5 were\n * adopted (aria-roledescription browserless; label-content-name-mismatch, p-as-heading,\n * table-fake-caption and td-has-header browser-required — the findings on loom's own\n * markup were fixed in the same change) and 2 remain out, each with its criterion and\n * its reason written below.\n *\n * The runtime tiers hold 68 of the 70 WCAG-tagged rules: BROWSERLESS_RULES (51) ∪\n * BROWSER_REQUIRED_RULES (17). The union of all three sets equals the full 70, which\n * is pinned by packages/core/tests/a11y-scope.test.ts.\n */\nexport const WCAG_TAGS = [\"wcag2a\", \"wcag2aa\", \"wcag21a\", \"wcag21aa\", \"wcag22aa\"] as const;\n\n/**\n * Rules that can be judged in jsdom — semantic checks that read only the DOM,\n * attributes, and cascade (no layout geometry, hit-testing, pseudo-elements,\n * computed colors, canvas, or media state).\n *\n * These 51 rules are verified to produce identical verdicts in jsdom 30 and\n * Chromium on violation fixtures, and to agree on all 94 demos. Each entry\n * was classified by scanning its check helpers for browser-API dependencies;\n * the partition is pinned by packages/core/tests/a11y-scope.test.ts.\n */\nexport const BROWSERLESS_RULES = [\n \"area-alt\",\n \"aria-allowed-attr\",\n \"aria-braille-equivalent\",\n \"aria-command-name\",\n \"aria-conditional-attr\",\n \"aria-deprecated-role\",\n \"aria-hidden-body\",\n \"aria-input-field-name\",\n \"aria-meter-name\",\n \"aria-progressbar-name\",\n \"aria-prohibited-attr\",\n \"aria-required-attr\",\n \"aria-required-children\",\n \"aria-required-parent\",\n // Adopted 2026-08-26 from TAGGED_BUT_DISABLED. Deprecated by axe-core\n // 4.7.0 with NO successor — the axe-core change that deprecated it states\n // there is no other rule testing aria-roledescription usage — so WCAG 4.1.2\n // (Level A) had nothing judging it.\n // The check reads only the element's role (axe commons getRole), no\n // browser API: identical verdicts measured jsdom vs Chromium on five\n // fixtures including two violations (aria-roledescription on a roleless\n // div, and on role=\"presentation\"), and clean on all 94 demos in both\n // engines. Loom ships this attribute through Reka (NumberField's\n // spinbutton, ColorPicker's slider surfaces) — all on roled elements,\n // which the rule passes.\n \"aria-roledescription\",\n \"aria-roles\",\n \"aria-tab-name\",\n \"aria-toggle-field-name\",\n \"aria-tooltip-name\",\n \"aria-valid-attr\",\n \"aria-valid-attr-value\",\n \"autocomplete-valid\",\n \"blink\",\n \"button-name\",\n \"definition-list\",\n \"dlitem\",\n \"document-title\",\n \"duplicate-id-aria\",\n \"form-field-multiple-labels\",\n \"frame-title\",\n \"frame-title-unique\",\n \"html-has-lang\",\n \"html-lang-valid\",\n \"html-xml-lang-mismatch\",\n \"image-alt\",\n \"input-button-name\",\n \"input-image-alt\",\n \"label\",\n \"link-name\",\n \"list\",\n \"listitem\",\n \"meta-refresh\",\n \"meta-viewport\",\n \"nested-interactive\",\n \"role-img-alt\",\n \"select-name\",\n \"server-side-image-map\",\n \"summary-name\",\n \"svg-img-alt\",\n \"valid-lang\",\n \"video-caption\",\n] as const;\n\n/**\n * Rules that require a rendering engine — their checks (or, for the table\n * rules, their `matches` predicate) read layout geometry, hit-test results,\n * pseudo-element styles, computed color pipelines, cascade-dependent font\n * metrics, canvas, or media state (src, currentSrc, plays), which jsdom does\n * not provide — or which the jsdom demo tier cannot judge because it mounts\n * demos with no stylesheet loaded.\n *\n * These 17 rules are what the browser gates run. The split is:\n * - 11 rendering-dependent (geometry, hit-testing, computed colors, canvas, media, iframe content)\n * - 2 conservative-partial (table rules whose `matches` predicate uses border\n * geometry; kept in browser until Table semantic markup is pinned)\n * - 4 adopted 2026-08-26 from TAGGED_BUT_DISABLED (see their own comments)\n */\nexport const BROWSER_REQUIRED_RULES = [\n // Rendering-dependent (11): each checks geometry/hit-test/computed styles/canvas/media/iframe\n \"aria-hidden-focus\", // isModalOpen → elementsFromPoint, cantTell in jsdom\n \"avoid-inline-spacing\", // letter-spacing unresolved + Range.getClientRects gate → false-pass\n \"bypass\", // same modal-open throw; also pageLevel (page-scoped, wrong in component harness)\n \"color-contrast\", // computed color pipeline — jsdom cantTell on every node\n \"frame-focusable-content\", // iframe content inspection — requires browser to load frame\n \"link-in-text-block\", // innerText + color + rects\n \"marquee\", // jsdom default overflow:hidden + zero rect → false-pass\n \"no-autoplay-audio\", // currentSrc empty → never runs\n \"object-alt\", // matches throws on getClientRects\n \"scrollable-region-focusable\", // content-vs-container rects zero → never matches, silent false-pass\n \"target-size\", // zero rects read compliant — silent false-pass on real violations\n // Conservative-partial (2): table rules using border geometry; jsdom skips border-only tables\n \"td-headers-attr\", // border heuristic (offsetWidth !== clientHeight)\n \"th-has-data-cells\", // same border heuristic\n // Adopted 2026-08-26 (4), each with the measured reason jsdom cannot judge it:\n \"label-content-name-mismatch\", // WCAG 2.5.3 (A). Measured: 12 violations on\n // the stepper demo in Chromium, incomplete in jsdom — the visible-text half\n // of the check reads on-screen geometry (axe's hiddenMethods: opacity, clip,\n // coords) and icon-ligature detection needs a 2d canvas context, which jsdom\n // returns null without the `canvas` package. Its stepper/app-header findings\n // were fixed in the same change as this adoption.\n \"p-as-heading\", // WCAG 1.3.1 (A). The check reads computed font-weight/-size/\n // font-style; the jsdom demo tier mounts demos with no stylesheet, so\n // class-styled emphasis reads as default weight there — the card/empty-state\n // findings existed only in Chromium. Theme-invariant (font metrics do not\n // depend on data-theme), so the dark pass gains nothing from re-running it.\n \"table-fake-caption\", // WCAG 1.3.1 (A). The check itself is DOM-only (toGrid),\n // but data-table-matches → isDataTable classifies border-only tables through\n // offsetWidth/clientWidth geometry. Measured: a border-only table whose\n // first row is one colspanning cell violates in Chromium and never matches\n // in jsdom — same conservative-partial profile as td-headers-attr above.\n \"td-has-header\", // WCAG 1.3.1 (A). Same isDataTable dependency. Measured:\n // a 3x3 border-only table violates in Chromium and never matches in jsdom —\n // a silent false-pass if this were browserless.\n] as const;\n\n/**\n * WCAG-tagged rules that axe-core 4.12.1 ships with enabled: false and that\n * stay OUT of the runtime tiers — each with its success criterion and the\n * OUT-OF-REACH reason, per the review of 2026-08-26. A disabled rule may only\n * sit here if the criterion needs something this repository cannot supply;\n * \"axe ships it disabled\" is not a reason, and neither is a finding on loom's\n * own markup (that gets fixed and the rule adopted — the other five disabled\n * rules went exactly that way).\n *\n * Naming one of these in a rule-type runOnly would run it anyway (enabled\n * status does not gate withRules), which is why they live in their own list\n * rather than being deleted: the union pin in packages/core/tests/\n * a11y-scope.test.ts keeps the 70-rule partition exact, and a future\n * component that reaches one of these criteria re-adjudicates here.\n */\nexport const TAGGED_BUT_DISABLED_RULES = [\n // WCAG 1.2.1 (Audio-only and Video-only, Level A). OUT-OF-REACH: the\n // criterion needs real audio media — loom ships no <audio> element in any\n // component, demo or docs page (zero grep hits in packages/ and docs/),\n // and a component library supplies structure, not media. Even if one\n // appeared, this rule could never redden a gate: its caption check\n // (axe-core 4.12.1 source) returns false when a captions track exists and\n // void 0 otherwise — pass or incomplete, never a violation. axe-core\n // deprecated it in 3.1.0 because WebVTT caption tracks on <audio> do not\n // function in any browser (\"Audio captions do not work\", per the\n // deprecation change itself); the text alternative 1.2.1 actually asks for\n // is host content, not markup.\n \"audio-caption\",\n // WCAG 1.3.4 (Orientation, Level AA). OUT-OF-REACH: the criterion needs an\n // orientation-locked app shell — CSS orientation media queries with fixed\n // extents, or the Screen Orientation API — and loom ships neither in any\n // component, demo, docs page or the harness's own stylesheet (zero grep\n // hits; theme.css is orientation-agnostic by design, tokens not layout).\n // Locking orientation is the host application's decision; measured 2026-08-26\n // the rule passes every one of the 94 demos in Chromium, where it reads the\n // preloaded CSSOM jsdom does not provide.\n \"css-orientation-lock\",\n] as const;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,IAAa,YAAY;CAAC;CAAU;CAAW;CAAW;CAAY;AAAU;;;;;;;;;;;AAYhF,IAAa,oBAAoB;CAC/B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAYA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;;;;;;;;;;;;;;;AAgBA,IAAa,yBAAyB;CAEpC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA;CACA;CAEA;CAMA;CAKA;CAKA;AAGF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"attrs.js","names":[],"sources":["../../../../packages/core/src/attrs.ts"],"sourcesContent":["import { computed, useAttrs, type ComputedRef } from \"vue\";\n\n/**\n * Split `useAttrs()` into the raw fallthrough attributes — read `.class` off\n * `attrs` for a `cn()` merge — and the same attributes minus `class` (`rest`,\n * for `v-bind` onto whichever node is not the `class` target).\n *\n * Every caller pairs this with `defineOptions({ inheritAttrs: false })`.\n * NumberField's input, Slider's thumb and Select's trigger each route `class`\n * onto one specific rendered node rather than taking Vue's default\n * single-root fallthrough, because `class` needs a Tailwind-aware merge while\n * the rest of the fallthrough — aria-*, data-testid — only needs to land\n * somewhere real.\n */\nexport function useSplitAttrs(): {\n attrs: Record<string, unknown>;\n rest: ComputedRef<Record<string, unknown>>;\n} {\n const attrs = useAttrs();\n const rest = computed(() => {\n const { class: _class, ...others } = attrs;\n return others;\n });\n return { attrs, rest };\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,SAAgB,gBAGd;CACA,MAAM,QAAQ,SAAS;CAKvB,OAAO;EAAE;EAAO,MAJH,eAAe;GAC1B,MAAM,EAAE,OAAO,QAAQ,GAAG,WAAW;GACrC,OAAO;EACT,CACgB;CAAK;AACvB"}
@@ -1,61 +0,0 @@
1
- import { clsx } from "clsx";
2
- import { extendTailwindMerge } from "tailwind-merge";
3
- //#region packages/core/src/cn.ts
4
- var twMerge = extendTailwindMerge({ extend: { classGroups: {
5
- "font-size": [
6
- "text-display",
7
- "text-heading",
8
- "text-title",
9
- "text-body",
10
- "text-small",
11
- "text-micro"
12
- ],
13
- animate: [
14
- "animate-fade",
15
- "animate-fade-rise",
16
- "animate-fade-out",
17
- "animate-fade-fall",
18
- "animate-scale-in",
19
- "animate-scale-out",
20
- "animate-shimmer",
21
- "animate-progress-indeterminate",
22
- "animate-toast-in",
23
- "animate-slide-out-to-left",
24
- "animate-slide-out-to-right",
25
- "animate-slide-out-to-top",
26
- "animate-slide-out-to-bottom"
27
- ],
28
- duration: [
29
- "duration-instant",
30
- "duration-fast",
31
- "duration-slow",
32
- "duration-slower"
33
- ],
34
- ease: ["ease-spring"],
35
- z: [
36
- "z-raised",
37
- "z-sticky",
38
- "z-chrome",
39
- "z-overlay",
40
- "z-toast"
41
- ],
42
- opacity: [
43
- "opacity-disabled",
44
- "opacity-scrim",
45
- "opacity-scrim-light"
46
- ],
47
- scale: ["scale-press"]
48
- } } });
49
- /**
50
- * Merge conditional class names, resolving Tailwind conflicts so the last
51
- * utility in a group wins. Every component routes its `class` through this,
52
- * which is what lets a consumer override any utility from the outside without
53
- * reaching for `!important`.
54
- */
55
- function cn(...inputs) {
56
- return twMerge(clsx(inputs));
57
- }
58
- //#endregion
59
- export { cn };
60
-
61
- //# sourceMappingURL=cn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cn.js","names":[],"sources":["../../../../packages/core/src/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\n/**\n * Loom's named type scale, as tailwind-merge knows it.\n *\n * `theme.css` declares the scale under Tailwind's `--text-*` namespace, which\n * makes `text-body` a font-size utility exactly like `text-sm`. tailwind-merge\n * cannot see that: it resolves conflicts from a static table of Tailwind's own\n * value names, and every unrecognised `text-<x>` falls through to the colour\n * group. So `text-micro` and `text-primary-foreground` looked like two colours,\n * the later one won, and the size was dropped on the floor.\n *\n * The failure is silent and it is not hypothetical — Indicator's count pill was\n * shipping without its 11px size, and it was found by reading a diff rather\n * than by anything failing. It also reached further than any one component:\n * `cn()` is the documented way a consumer overrides a class from outside, so\n * `<PageHeader class=\"text-small\">` had its size swallowed by the component's\n * own `text-foreground` and there was nothing to notice.\n *\n * Registering the six names restores the property they actually set. Both\n * directions then merge correctly against Tailwind's built-ins, because they\n * are one group rather than two: `text-xs text-body` keeps `text-body`, and\n * `text-body text-xs` keeps `text-xs`.\n */\nconst TYPE_SCALE = [\n \"text-display\",\n \"text-heading\",\n \"text-title\",\n \"text-body\",\n \"text-small\",\n \"text-micro\",\n];\n\n/**\n * The rest of the named vocabulary, registered for the same reason and found by\n * probing rather than by reading — every one of these was returning *both*\n * classes, leaving the winner to stylesheet order instead of to what the\n * component wrote.\n *\n * A registration here is the precondition for adding a name to `theme.css`, not\n * a follow-up to it. Anything Loom names under a namespace tailwind-merge\n * resolves by value table — durations, easings, animations — is invisible to it\n * until it appears below, and the defect it produces is the silent one this\n * file already exists to document.\n */\nconst ANIMATIONS = [\n \"animate-fade\",\n \"animate-fade-rise\",\n \"animate-fade-out\",\n \"animate-fade-fall\",\n \"animate-scale-in\",\n \"animate-scale-out\",\n \"animate-shimmer\",\n \"animate-progress-indeterminate\",\n \"animate-toast-in\",\n \"animate-slide-out-to-left\",\n \"animate-slide-out-to-right\",\n \"animate-slide-out-to-top\",\n \"animate-slide-out-to-bottom\",\n];\n\n// The four `@utility` blocks at the foot of `theme.css`. They exist because\n// Tailwind's generated `duration-*` takes a millisecond count and not a token\n// name, which is the same reason tailwind-merge cannot see them either.\nconst DURATIONS = [\"duration-instant\", \"duration-fast\", \"duration-slow\", \"duration-slower\"];\n\n// `ease-out`, `ease-in` and `ease-in-out` are Tailwind's own names and already\n// resolve; only the restrained overshoot is ours.\nconst EASINGS = [\"ease-spring\"];\n\nconst twMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n \"font-size\": TYPE_SCALE,\n animate: ANIMATIONS,\n duration: DURATIONS,\n ease: EASINGS,\n z: [\"z-raised\", \"z-sticky\", \"z-chrome\", \"z-overlay\", \"z-toast\"],\n opacity: [\"opacity-disabled\", \"opacity-scrim\", \"opacity-scrim-light\"],\n scale: [\"scale-press\"],\n },\n },\n});\n\n/**\n * Merge conditional class names, resolving Tailwind conflicts so the last\n * utility in a group wins. Every component routes its `class` through this,\n * which is what lets a consumer override any utility from the outside without\n * reaching for `!important`.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;AAuEA,IAAM,UAAU,oBAAoB,EAClC,QAAQ,EACN,aAAa;CACX,aAAa;EAhDjB;EACA;EACA;EACA;EACA;EACA;CA2CiB;CACb,SAAS;EA5Bb;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAgBa;CACT,UAAU;EAXG;EAAoB;EAAiB;EAAiB;CAWzD;CACV,MAAM,CARK,aAQL;CACN,GAAG;EAAC;EAAY;EAAY;EAAY;EAAa;CAAS;CAC9D,SAAS;EAAC;EAAoB;EAAiB;CAAqB;CACpE,OAAO,CAAC,aAAa;AACvB,EACF,EACF,CAAC;;;;;;;AAQD,SAAgB,GAAG,GAAG,QAA8B;CAClD,OAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon-defaults.js","names":[],"sources":["../../../../packages/core/src/icon-defaults.ts"],"sourcesContent":["import { setLucideProps } from \"@lucide/vue\";\n\n/**\n * Apply the Loom icon defaults once at a host's root: size 16, stroke 1.5 —\n * hairline-first, matching the 1px border language. Every `@lucide/vue` icon\n * rendered after this call inherits them, so an individual icon declares\n * `size` or `strokeWidth` only where it deliberately diverges.\n *\n * The one standing divergence: a glyph rendered at 12px or below declares\n * `stroke-width` 2.5 exactly. Stroke lives on the 24 grid and scales with\n * size, so 1.5 at 12px renders 0.75 device pixels against 1.0 at 16px; 2.5\n * restores the optical weight.\n *\n * The numbers live here, not in each host.\n *\n * Call it from the `setup()` of the host's root component — `App.vue`, or the\n * component a documentation theme wraps its layout in. It resolves to Vue's\n * `provide()`, so it needs an active component instance: called from a plain\n * entry module it silently provides nothing, and every icon keeps Lucide's own\n * 24/2 defaults. There is no app-level alternative, because the injection key\n * Lucide provides under is not part of its public surface.\n */\nexport function applyLoomIconDefaults(): void {\n setLucideProps({ size: 16, strokeWidth: 1.5 });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,wBAA8B;CAC5C,eAAe;EAAE,MAAM;EAAI,aAAa;CAAI,CAAC;AAC/C"}
@@ -1,8 +0,0 @@
1
- import { cn } from "./cn.js";
2
- import { optional } from "./props.js";
3
- import { useSplitAttrs } from "./attrs.js";
4
- import { listStaggerDelay, smoothScrollBehavior } from "./motion.js";
5
- import { BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, WCAG_TAGS } from "./a11y-scope.js";
6
- import { themeScript, useTheme } from "./theme.js";
7
- import { applyLoomIconDefaults } from "./icon-defaults.js";
8
- export { BROWSERLESS_RULES, BROWSER_REQUIRED_RULES, WCAG_TAGS, applyLoomIconDefaults, cn, listStaggerDelay, optional, smoothScrollBehavior, themeScript, useSplitAttrs, useTheme };
@@ -1,27 +0,0 @@
1
- /** The inline `animation-delay` for the i-th revealed row. */
2
- function listStaggerDelay(i) {
3
- return `${String(Math.min(i, 5) * 24)}ms`;
4
- }
5
- /**
6
- * The behaviour a scripted scroll should ask for, given the reader's motion
7
- * preference: `"smooth"` normally, `"auto"` under
8
- * `prefers-reduced-motion`.
9
- *
10
- * It has to exist because the stylesheet's kill-switch cannot reach this
11
- * path: an explicit `"smooth"` in a `scrollTo` dictionary *overrides* the
12
- * CSS `scroll-behavior` property — that is what the spec defines a
13
- * non-`"auto"` behaviour value to mean. Every component that scrolls by
14
- * script (ScrollReel, Carousel) asks this instead of deciding alone, which
15
- * is why it lives here and not in either of them.
16
- */
17
- function smoothScrollBehavior() {
18
- try {
19
- return window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "auto" : "smooth";
20
- } catch {
21
- return "smooth";
22
- }
23
- }
24
- //#endregion
25
- export { listStaggerDelay, smoothScrollBehavior };
26
-
27
- //# sourceMappingURL=motion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"motion.js","names":[],"sources":["../../../../packages/core/src/motion.ts"],"sourcesContent":["/**\n * The list-reveal stagger vocabulary — one source for every overlay that\n * reveals rows (DropdownMenu, Menubar, Select) and for the Motion\n * documentation page. Each revealed row is delayed one step after the\n * previous, capped so a long list does not tail off indefinitely.\n *\n * It lives here rather than in each template because it was written into\n * three of them independently once, which is how the three drifted.\n */\nexport const LIST_STAGGER_STEP_MS = 24;\nexport const LIST_STAGGER_CAP = 5;\n\n/** The inline `animation-delay` for the i-th revealed row. */\nexport function listStaggerDelay(i: number): string {\n return `${String(Math.min(i, LIST_STAGGER_CAP) * LIST_STAGGER_STEP_MS)}ms`;\n}\n\n/**\n * The behaviour a scripted scroll should ask for, given the reader's motion\n * preference: `\"smooth\"` normally, `\"auto\"` under\n * `prefers-reduced-motion`.\n *\n * It has to exist because the stylesheet's kill-switch cannot reach this\n * path: an explicit `\"smooth\"` in a `scrollTo` dictionary *overrides* the\n * CSS `scroll-behavior` property — that is what the spec defines a\n * non-`\"auto\"` behaviour value to mean. Every component that scrolls by\n * script (ScrollReel, Carousel) asks this instead of deciding alone, which\n * is why it lives here and not in either of them.\n */\nexport function smoothScrollBehavior(): \"auto\" | \"smooth\" {\n try {\n return window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? \"auto\" : \"smooth\";\n } catch {\n // matchMedia may be unavailable; smooth is the behaviour being replaced.\n return \"smooth\";\n }\n}\n"],"mappings":";AAaA,SAAgB,iBAAiB,GAAmB;CAClD,OAAO,GAAG,OAAO,KAAK,IAAI,GAAA,CAAmB,IAAA,EAAwB,EAAE;AACzE;;;;;;;;;;;;;AAcA,SAAgB,uBAA0C;CACxD,IAAI;EACF,OAAO,OAAO,WAAW,kCAAkC,CAAC,CAAC,UAAU,SAAS;CAClF,QAAQ;EAEN,OAAO;CACT;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"props.js","names":[],"sources":["../../../../packages/core/src/props.ts"],"sourcesContent":["/**\n * Drops the keys whose value is `undefined`, so a `v-bind` passes only the\n * props that were actually set.\n *\n * Two rules collide to make this necessary, and neither is avoidable.\n *\n * Vue treats a prop that is absent and a prop explicitly set to `undefined` as\n * the same thing — both resolve to the child's default. TypeScript, under\n * `exactOptionalPropertyTypes`, does not: passing `undefined` to a `foo?: T` is\n * an error, because the flag exists precisely to tell \"missing\" apart from\n * \"present and undefined\". A Vue template always emits every key it binds, so\n * forwarding an optional prop straight through (`:open=\"open\"`) hands a child's\n * `open?: boolean` an explicit `undefined` and fails to compile, while behaving\n * correctly at run time.\n *\n * That distinction is not academic for the components underneath. Reka reads\n * `undefined` as \"no value supplied — manage this yourself\", and any concrete\n * value, `false` included, as \"the host owns this\". So a control whose\n * `modelValue` is coerced to `false` on its way through stops being\n * uncontrolled and becomes permanently, silently off: it still emits its update\n * event, and its rendered state never moves. That failure has no error and no\n * warning; it looks like a component that ignores clicks.\n *\n * A cast (`open as boolean`) silences the compiler and is the reason to prefer\n * this: it states that a value is there when the whole point is that one may\n * not be. Omitting the key says what is true.\n */\nexport function optional<T extends Record<string, unknown>>(\n values: T,\n): { [K in keyof T]?: Exclude<T[K], undefined> } {\n const set: Record<string, unknown> = {};\n for (const key of Object.keys(values)) {\n if (values[key] !== undefined) set[key] = values[key];\n }\n return set as { [K in keyof T]?: Exclude<T[K], undefined> };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,SAAgB,SACd,QAC+C;CAC/C,MAAM,MAA+B,CAAC;CACtC,KAAK,MAAM,OAAO,OAAO,KAAK,MAAM,GAClC,IAAI,OAAO,SAAS,KAAA,GAAW,IAAI,OAAO,OAAO;CAEnD,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.js","names":[],"sources":["../../../../packages/core/src/theme.ts"],"sourcesContent":["/**\n * Theme switching for Loom.\n *\n * The single source of truth is the `data-theme` attribute on `<html>`.\n * This composable reads and writes it, persists the preference to\n * `localStorage`, and resolves `\"system\"` mode from the OS preference.\n *\n * SSR-safe: every DOM access is guarded. On the server, `theme` returns\n * the persisted or default preference, `resolvedTheme` resolves `\"system\"`\n * to `\"light\"` (the only safe default without a DOM), and the setter and\n * toggler are no-ops.\n *\n * Flash prevention: `themeScript` is a string of inline JavaScript that\n * reads `localStorage` and sets `data-theme` before the first paint.\n * Consumers rendering SSR inject it into `<head>`:\n *\n * <script>${themeScript}</script>\n */\n\nimport { type Ref, EffectScope, computed, getCurrentScope, onScopeDispose, ref, watch } from \"vue\";\n\n/** The preference a user expresses — `\"system\"` defers to the OS. */\nexport type ThemePreference = \"light\" | \"dark\" | \"system\";\n\n/** The actual theme applied — `\"system\"` is resolved away. */\nexport type ResolvedTheme = \"light\" | \"dark\";\n\nconst STORAGE_KEY = \"loom:theme\";\nconst DATA_ATTR = \"data-theme\";\nconst MEDIA_QUERY = \"(prefers-color-scheme: dark)\";\n\n/** Default preference when nothing is stored and no OS signal exists. */\nconst DEFAULT_PREFERENCE: ThemePreference = \"system\";\n\n// --- Shared state (one per Vue app, not one per composable call) ---------\n\ninterface ThemeState {\n preference: Ref<ThemePreference>;\n systemIsDark: Ref<boolean>;\n mediaQuery: MediaQueryList | null;\n listener: ((e: MediaQueryListEvent) => void) | null;\n /** Consumers that can be released — see `useTheme` for who does not count. */\n scopeCount: number;\n /**\n * The detached scope that owns the apply/persist watcher below. The side\n * effects are the shared state's, not the first consumer's: owned by a\n * consumer's scope they would die the day that component unmounted while\n * later ones stayed mounted, leaving an app whose theme button had gone\n * silent. Detached so creation inside a component setup does not link it\n * into that component's own scope.\n */\n owner: EffectScope;\n /**\n * The preference last written to `localStorage`. `\"system\"` resolves away,\n * so OS dark-mode flips fire the watcher with a preference that has not\n * changed — without this, every flip rewrites storage with the same value.\n */\n lastPersisted: ThemePreference;\n}\n\n/**\n * Reactive shared state, lazily initialised on the first `useTheme()` call\n * and torn down with the effect scope that owns it. Multiple components\n * calling `useTheme()` in the same app share the same refs and the same\n * `matchMedia` listener.\n */\nlet sharedState: ThemeState | null = null;\n\n/** Fired once, at the first `useTheme()` call made outside any active effect scope. */\nlet warnedOutsideScope = false;\n\n/**\n * Reset the shared state. Intended for test isolation only — a real app\n * never needs this because the state lives for the app's lifetime.\n */\nexport function _resetThemeState(): void {\n if (sharedState) {\n sharedState.owner.stop();\n if (sharedState.mediaQuery && sharedState.listener) {\n sharedState.mediaQuery.removeEventListener(\"change\", sharedState.listener);\n }\n }\n sharedState = null;\n warnedOutsideScope = false;\n}\n\nfunction getSharedState(): ThemeState {\n // A consumer is released by the effect scope it was called from, so a call\n // from outside any scope is one that could never be released — counting it\n // would pin the matchMedia listener open forever. It still gets the state,\n // but it does not count toward teardown, and development is told once so\n // the eventual leak is attributed to a call site instead of discovered as\n // an immortal listener.\n const scoped = getCurrentScope() !== undefined;\n if (!scoped && !warnedOutsideScope) {\n warnedOutsideScope = true;\n console.warn(\n \"[loom] useTheme() called outside an active effect scope; the shared theme state can never be released. Call it from setup() or inside an effectScope().\",\n );\n }\n\n if (sharedState) {\n if (scoped) sharedState.scopeCount++;\n return sharedState;\n }\n\n // Read the stored preference, defaulting to \"system\".\n let stored: ThemePreference = DEFAULT_PREFERENCE;\n try {\n const raw = localStorage.getItem(STORAGE_KEY);\n if (raw === \"light\" || raw === \"dark\" || raw === \"system\") {\n stored = raw;\n }\n } catch {\n // localStorage may be unavailable (SSR, private browsing).\n }\n\n // Apply the initial theme to the DOM so the very first render is correct.\n const initial = resolveTheme(stored, getSystemIsDark());\n applyToDOM(initial);\n\n const preference = ref<ThemePreference>(stored);\n const systemIsDark = ref<boolean>(getSystemIsDark());\n\n // Listen for OS dark-mode changes.\n let mediaQuery: MediaQueryList | null = null;\n let listener: ((e: MediaQueryListEvent) => void) | null = null;\n\n try {\n mediaQuery = window.matchMedia(MEDIA_QUERY);\n listener = (e: MediaQueryListEvent) => {\n systemIsDark.value = e.matches;\n };\n mediaQuery.addEventListener(\"change\", listener);\n } catch {\n // matchMedia may be unavailable.\n }\n\n const owner = new EffectScope(true);\n const state: ThemeState = {\n preference,\n systemIsDark,\n mediaQuery,\n listener,\n scopeCount: scoped ? 1 : 0,\n owner,\n lastPersisted: stored,\n };\n sharedState = state;\n\n // The apply/persist watcher is created exactly once, here in the detached\n // scope that owns the shared state — never per consumer. N components\n // calling `useTheme()` must not mean N writes to `data-theme` and\n // `localStorage` on every change.\n owner.run(() => {\n watch([preference, systemIsDark], () => {\n // Applied even when the preference itself has not moved: an OS flip\n // under `\"system\"` resolves differently without any user action.\n applyToDOM(resolveTheme(preference.value, systemIsDark.value));\n if (preference.value !== state.lastPersisted) {\n state.lastPersisted = preference.value;\n persist(state.lastPersisted);\n }\n });\n });\n\n return state;\n}\n\nfunction releaseSharedState(): void {\n if (!sharedState) return;\n sharedState.scopeCount--;\n if (sharedState.scopeCount > 0) return;\n\n // Last counted consumer gone — stop the side effects, then the listener.\n sharedState.owner.stop();\n if (sharedState.mediaQuery && sharedState.listener) {\n sharedState.mediaQuery.removeEventListener(\"change\", sharedState.listener);\n }\n sharedState = null;\n}\n\n// --- DOM helpers --------------------------------------------------------\n\nfunction getSystemIsDark(): boolean {\n try {\n return window.matchMedia(MEDIA_QUERY).matches;\n } catch {\n return false;\n }\n}\n\nfunction resolveTheme(pref: ThemePreference, systemDark: boolean): ResolvedTheme {\n return pref === \"system\" ? (systemDark ? \"dark\" : \"light\") : pref;\n}\n\nfunction applyToDOM(theme: ResolvedTheme): void {\n try {\n document.documentElement.setAttribute(DATA_ATTR, theme);\n } catch {\n // document may be unavailable (SSR).\n }\n}\n\nfunction persist(preference: ThemePreference): void {\n try {\n localStorage.setItem(STORAGE_KEY, preference);\n } catch {\n // localStorage may be unavailable.\n }\n}\n\n// --- Public API ---------------------------------------------------------\n\n/**\n * Read and control the active Loom theme.\n *\n * Call it from a component `setup()` or inside an `effectScope()` — that\n * scope is what releases the shared state when its last real consumer\n * unmounts. A call from outside any effect scope still works, but it can\n * never be released, so it is not counted and development warns once; the\n * shared state simply lives as long as whatever creates it next counts for.\n * The DOM-apply and persistence side effects are created once per app in a\n * detached scope of their own — never once per consumer — and storage is\n * only written when the stored preference actually changes.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useTheme } from \"@ecoma-io/loom/theme\"\n * const { theme, resolvedTheme, setTheme, toggleTheme } = useTheme()\n * </script>\n *\n * <template>\n * <button @click=\"toggleTheme\">\n * {{ resolvedTheme === \"dark\" ? \"☀️\" : \"🌙\" }}\n * </button>\n * </template>\n * ```\n */\nexport function useTheme(): {\n readonly theme: Ref<ThemePreference>;\n readonly resolvedTheme: Readonly<Ref<ResolvedTheme>>;\n readonly setTheme: (preference: ThemePreference) => void;\n readonly toggleTheme: () => void;\n} {\n const state = getSharedState();\n\n // Clean up the shared state when the consuming scope disposes. Only a call\n // from inside an active scope is registered — and only such a call was\n // counted by `getSharedState()` in the first place; outside one,\n // `onScopeDispose` would silently do nothing and the count would never\n // come back down.\n if (getCurrentScope() !== undefined) onScopeDispose(releaseSharedState);\n\n /** The user's preference — `\"system\"` defers to the OS. */\n const theme = computed<ThemePreference>({\n get: () => state.preference.value,\n set: (value: ThemePreference) => {\n state.preference.value = value;\n },\n });\n\n /** The actual active theme, with `\"system\"` resolved to `\"light\"` or `\"dark\"`. */\n const resolvedTheme = computed<ResolvedTheme>(() =>\n resolveTheme(state.preference.value, state.systemIsDark.value),\n );\n\n /** Set the theme preference explicitly. */\n function setTheme(preference: ThemePreference): void {\n state.preference.value = preference;\n }\n\n /** Toggle between light and dark. System preference stays system. */\n function toggleTheme(): void {\n if (state.preference.value === \"system\") {\n // Toggle the resolved theme and lock to it, so the user can override\n // the OS preference with one click.\n state.preference.value = resolvedTheme.value === \"dark\" ? \"light\" : \"dark\";\n } else {\n state.preference.value = state.preference.value === \"dark\" ? \"light\" : \"dark\";\n }\n }\n\n return { theme, resolvedTheme, setTheme, toggleTheme } as const;\n}\n\n/**\n * Inline script to prevent flash-of-wrong-theme on SSR pages.\n *\n * Paste it into `<head>` before any stylesheet links:\n *\n * ```html\n * <script><%= themeScript %></script>\n * ```\n *\n * It reads `localStorage` and sets `data-theme` on `<html>` synchronously,\n * before the browser paints, so the first frame is already in the right\n * theme. When no preference is stored, it follows the OS preference.\n *\n * The script is deliberately tiny and has no dependencies.\n */\nexport const themeScript = `(() => {\n const t = localStorage.getItem(\"${STORAGE_KEY}\");\n const d = window.matchMedia(\"${MEDIA_QUERY}\").matches;\n document.documentElement.setAttribute(\"${DATA_ATTR}\", (t === \"dark\" || (!t && d)) ? \"dark\" : \"light\");\n})()`;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BA,IAAM,cAAc;AACpB,IAAM,YAAY;AAClB,IAAM,cAAc;;AAGpB,IAAM,qBAAsC;;;;;;;AAkC5C,IAAI,cAAiC;;AAGrC,IAAI,qBAAqB;AAiBzB,SAAS,iBAA6B;CAOpC,MAAM,SAAS,gBAAgB,MAAM,KAAA;CACrC,IAAI,CAAC,UAAU,CAAC,oBAAoB;EAClC,qBAAqB;EACrB,QAAQ,KACN,yJACF;CACF;CAEA,IAAI,aAAa;EACf,IAAI,QAAQ,YAAY;EACxB,OAAO;CACT;CAGA,IAAI,SAA0B;CAC9B,IAAI;EACF,MAAM,MAAM,aAAa,QAAQ,WAAW;EAC5C,IAAI,QAAQ,WAAW,QAAQ,UAAU,QAAQ,UAC/C,SAAS;CAEb,QAAQ,CAER;CAIA,WADgB,aAAa,QAAQ,gBAAgB,CAC1C,CAAO;CAElB,MAAM,aAAa,IAAqB,MAAM;CAC9C,MAAM,eAAe,IAAa,gBAAgB,CAAC;CAGnD,IAAI,aAAoC;CACxC,IAAI,WAAsD;CAE1D,IAAI;EACF,aAAa,OAAO,WAAW,WAAW;EAC1C,YAAY,MAA2B;GACrC,aAAa,QAAQ,EAAE;EACzB;EACA,WAAW,iBAAiB,UAAU,QAAQ;CAChD,QAAQ,CAER;CAEA,MAAM,QAAQ,IAAI,YAAY,IAAI;CAClC,MAAM,QAAoB;EACxB;EACA;EACA;EACA;EACA,YAAY,SAAS,IAAI;EACzB;EACA,eAAe;CACjB;CACA,cAAc;CAMd,MAAM,UAAU;EACd,MAAM,CAAC,YAAY,YAAY,SAAS;GAGtC,WAAW,aAAa,WAAW,OAAO,aAAa,KAAK,CAAC;GAC7D,IAAI,WAAW,UAAU,MAAM,eAAe;IAC5C,MAAM,gBAAgB,WAAW;IACjC,QAAQ,MAAM,aAAa;GAC7B;EACF,CAAC;CACH,CAAC;CAED,OAAO;AACT;AAEA,SAAS,qBAA2B;CAClC,IAAI,CAAC,aAAa;CAClB,YAAY;CACZ,IAAI,YAAY,aAAa,GAAG;CAGhC,YAAY,MAAM,KAAK;CACvB,IAAI,YAAY,cAAc,YAAY,UACxC,YAAY,WAAW,oBAAoB,UAAU,YAAY,QAAQ;CAE3E,cAAc;AAChB;AAIA,SAAS,kBAA2B;CAClC,IAAI;EACF,OAAO,OAAO,WAAW,WAAW,CAAC,CAAC;CACxC,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAS,aAAa,MAAuB,YAAoC;CAC/E,OAAO,SAAS,WAAY,aAAa,SAAS,UAAW;AAC/D;AAEA,SAAS,WAAW,OAA4B;CAC9C,IAAI;EACF,SAAS,gBAAgB,aAAa,WAAW,KAAK;CACxD,QAAQ,CAER;AACF;AAEA,SAAS,QAAQ,YAAmC;CAClD,IAAI;EACF,aAAa,QAAQ,aAAa,UAAU;CAC9C,QAAQ,CAER;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,WAKd;CACA,MAAM,QAAQ,eAAe;CAO7B,IAAI,gBAAgB,MAAM,KAAA,GAAW,eAAe,kBAAkB;;CAGtE,MAAM,QAAQ,SAA0B;EACtC,WAAW,MAAM,WAAW;EAC5B,MAAM,UAA2B;GAC/B,MAAM,WAAW,QAAQ;EAC3B;CACF,CAAC;;CAGD,MAAM,gBAAgB,eACpB,aAAa,MAAM,WAAW,OAAO,MAAM,aAAa,KAAK,CAC/D;;CAGA,SAAS,SAAS,YAAmC;EACnD,MAAM,WAAW,QAAQ;CAC3B;;CAGA,SAAS,cAAoB;EAC3B,IAAI,MAAM,WAAW,UAAU,UAG7B,MAAM,WAAW,QAAQ,cAAc,UAAU,SAAS,UAAU;OAEpE,MAAM,WAAW,QAAQ,MAAM,WAAW,UAAU,SAAS,UAAU;CAE3E;CAEA,OAAO;EAAE;EAAO;EAAe;EAAU;CAAY;AACvD;;;;;;;;;;;;;;;;AAiBA,IAAa,cAAc;oCACS,YAAY;iCACf,YAAY;2CACF,UAAU"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ancestor-disabled.js","names":[],"sources":["../../../../packages/labels/src/ancestor-disabled.ts"],"sourcesContent":["import { onScopeDispose, readonly, ref, watchPostEffect, type Ref } from \"vue\";\n\n/**\n * Whether an enclosing `<fieldset disabled>` has made this control unavailable\n * — read off the element itself, not off anything a wrapper told us.\n *\n * The platform already answers this for `<input>`, `<button>`, `<select>` and\n * `<textarea>`: a disabled fieldset makes every such descendant *actually\n * disabled*, so `:disabled` matches, the tab stop goes and the control refuses\n * input. Nothing in Loom has to help — native roots inherit a fieldset's\n * disabling and composites call this composable instead, which is the house\n * rule stated in CONTRIBUTING.md's accessibility section.\n *\n * That answer stops at the boundary of that short list,\n * and Reka builds several controls out of elements that are not on it — a\n * `<span role=\"slider\">`, a `<div role=\"spinbutton\">`. Those keep their\n * `tabindex=\"0\"` and their arrow-key handlers inside a disabled group: measured\n * in jsdom, a Slider in a `<fieldset disabled>` still took Home/End and moved\n * its value, and a DatePicker segment still typed. A control that looks\n * unavailable and still answers the keyboard is worse than one that looks\n * available, so the appearance cannot be fixed on its own.\n *\n * **This is a read of the native attribute, not a second copy of it.**\n * `Fieldset.vue`'s docblock rules out publishing `disabled` through the Field\n * context, and the reason is precedence: a context is a claim a control may\n * beat with `:disabled=\"false\"`, while the native attribute disables it anyway,\n * leaving a control that renders enabled and silently refuses input. Nothing\n * here can drift that way, because there is nothing to beat — the answer is\n * recomputed from the same DOM the browser is reading, so a control cannot\n * disagree with the fieldset it is standing in. It also needs no Loom wrapper\n * at all: a raw `<fieldset disabled>` a consumer wrote works exactly as one of\n * ours does.\n *\n * The result is `false` on the server and until the effect first runs, which is\n * deliberate. `watchPostEffect` does not run during SSR, so the markup a server\n * emits matches the markup the client hydrates and the state settles in the\n * same tick as mount — a hydration-time correction rather than a mismatch.\n */\nexport function useAncestorDisabled(\n target: () => Element | null | undefined,\n): Readonly<Ref<boolean>> {\n const disabled = ref(false);\n\n // Kept rather than chained off the constructor: an observer holds a strong\n // reference to everything it watches, and `disconnect()` is the only thing\n // that releases them.\n let observer: MutationObserver | undefined;\n\n function sync(): void {\n const start = target();\n if (!start) {\n observer?.disconnect();\n disabled.value = false;\n return;\n }\n\n const fieldsets = enclosingFieldsets(start);\n observer ??= new MutationObserver(sync);\n // Re-observed wholesale rather than diffed. The set is an element's\n // ancestor fieldsets — one or two of them in any real form — and the\n // attribute filter means nothing else in the document wakes this up.\n observer.disconnect();\n for (const fieldset of fieldsets) {\n observer.observe(fieldset, { attributes: true, attributeFilter: [\"disabled\"] });\n }\n\n disabled.value = fieldsets.some((fieldset) => fieldset.disabled);\n }\n\n watchPostEffect(sync);\n onScopeDispose(() => {\n observer?.disconnect();\n });\n\n return readonly(disabled);\n}\n\n/**\n * The `<fieldset>` ancestors whose `disabled` would reach `start`, outermost\n * last, whether or not any of them currently carries the attribute — they are\n * what has to be watched for the attribute arriving.\n *\n * The walk climbs child-by-child rather than calling `closest(\"fieldset\")`\n * because of the exemption in the \"actually disabled\" rule: controls inside a\n * disabled fieldset's **first** `<legend>` stay available, which is what makes\n * a switch in the legend that re-enables its own group possible. Reaching a\n * fieldset through that legend is reaching a fieldset that does not disable\n * you, so it is skipped — and the walk continues past it, since a fieldset\n * further out may still disable the legend itself.\n */\nfunction enclosingFieldsets(start: Element): HTMLFieldSetElement[] {\n const found: HTMLFieldSetElement[] = [];\n let node: Element | null = start;\n\n while (node) {\n const parent: Element | null = node.parentElement;\n if (parent instanceof HTMLFieldSetElement && node !== parent.querySelector(\":scope > legend\")) {\n found.push(parent);\n }\n node = parent;\n }\n\n return found;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,SAAgB,oBACd,QACwB;CACxB,MAAM,WAAW,IAAI,KAAK;CAK1B,IAAI;CAEJ,SAAS,OAAa;EACpB,MAAM,QAAQ,OAAO;EACrB,IAAI,CAAC,OAAO;GACV,UAAU,WAAW;GACrB,SAAS,QAAQ;GACjB;EACF;EAEA,MAAM,YAAY,mBAAmB,KAAK;EAC1C,aAAa,IAAI,iBAAiB,IAAI;EAItC,SAAS,WAAW;EACpB,KAAK,MAAM,YAAY,WACrB,SAAS,QAAQ,UAAU;GAAE,YAAY;GAAM,iBAAiB,CAAC,UAAU;EAAE,CAAC;EAGhF,SAAS,QAAQ,UAAU,MAAM,aAAa,SAAS,QAAQ;CACjE;CAEA,gBAAgB,IAAI;CACpB,qBAAqB;EACnB,UAAU,WAAW;CACvB,CAAC;CAED,OAAO,SAAS,QAAQ;AAC1B;;;;;;;;;;;;;;AAeA,SAAS,mBAAmB,OAAuC;CACjE,MAAM,QAA+B,CAAC;CACtC,IAAI,OAAuB;CAE3B,OAAO,MAAM;EACX,MAAM,SAAyB,KAAK;EACpC,IAAI,kBAAkB,uBAAuB,SAAS,OAAO,cAAc,iBAAiB,GAC1F,MAAM,KAAK,MAAM;EAEnB,OAAO;CACT;CAEA,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"count-labels.js","names":[],"sources":["../../../../packages/labels/src/count-labels.ts"],"sourcesContent":["import type { LabelOf } from \"./labels\";\n\n/**\n * The five counter keys shared by TextField and Textarea — the ones a host\n * worded for one can copy across unchanged to the other. The keys match by\n * name and by argument shape; the slots are separate in `LoomLabels` only\n * because `textField` also carries `reveal`.\n *\n * The four counting keys take the **numbers**, never a formatted string, for\n * the reason `./labels.ts` gives at length: `${count}/${max}` is a punctuation\n * choice made in one language, and \"3 characters left\" has one plural form in\n * Vietnamese, two in English and six in Arabic. A host handed the integers\n * reaches `Intl.PluralRules` for the category and `Intl.NumberFormat` for the\n * digits; a host handed \"3/20\" can do neither.\n *\n * There are three visible counter strings rather than one with a conditional\n * inside it, because the three say different things: a running total against\n * no limit, a total against a limit, and a limit already passed. The last is\n * the one that must not read as merely a redder version of the second — see\n * `countOverMax`.\n */\nexport interface CountLabels {\n /** The counter when the field has no maximum: a running total, nothing more. */\n readonly count: LabelOf<{ count: number }>;\n /** The counter when the field has a maximum and is within it. */\n readonly countOfMax: LabelOf<{ count: number; max: number }>;\n /**\n * The counter once the value is past the maximum.\n *\n * Loom's English adds words rather than only digits, and that is the\n * accessibility requirement rather than a flourish: over-limit is painted\n * `text-destructive`, and a state carried by colour alone fails WCAG 1.4.1.\n * An override that returns the same shape as `countOfMax` puts that failure\n * back.\n */\n readonly countOverMax: LabelOf<{ count: number; max: number; over: number }>;\n /**\n * Announced **once**, as the value crosses into the last stretch of its\n * allowance — not on every keystroke after it. The numbers are true at the\n * moment it is spoken; the visible counter is what carries them afterwards.\n */\n readonly approachingLimit: LabelOf<{ remaining: number; max: number }>;\n /** Announced once, as the value crosses the maximum. */\n readonly limitExceeded: LabelOf<{ over: number; max: number }>;\n}\n\n/**\n * Loom's English defaults for the counter vocabulary, co-located here so the\n * two components that share it tree-shake together and an importing host can\n * build a partial vocabulary against the real thing rather than a transcription.\n */\nexport const COUNT_LABELS: CountLabels = {\n count: ({ count }) => String(count),\n countOfMax: ({ count, max }) => `${String(count)}/${String(max)}`,\n countOverMax: ({ count, max }) => `${String(count)}/${String(max)} over limit`,\n approachingLimit: ({ remaining }) =>\n `${String(remaining)} ${remaining === 1 ? \"character\" : \"characters\"} left`,\n limitExceeded: ({ over, max }) =>\n `${String(over)} ${over === 1 ? \"character\" : \"characters\"} over the limit of ${String(max)}`,\n};\n\n/**\n * How close to the maximum the warning fires: the last quarter of a short\n * allowance, or the last ten characters of a long one, whichever is smaller.\n *\n * Ten is about a word, and a warning is only worth anything while there is\n * still room to act on it — a fixed tenth would give a 280-character field\n * twenty-eight characters of notice and a twenty-character field two, which is\n * either too early to mean anything or too late to be a warning.\n */\nexport function warningWindow(max: number): number {\n return Math.min(10, Math.ceil(max / 4));\n}\n\n/** Where the value sits against its maximum, and the only thing the announcement watches. */\nexport type CountBand = \"under\" | \"near\" | \"over\";\n"],"mappings":";;;;;;AAmDA,IAAa,eAA4B;CACvC,QAAQ,EAAE,YAAY,OAAO,KAAK;CAClC,aAAa,EAAE,OAAO,UAAU,GAAG,OAAO,KAAK,EAAE,GAAG,OAAO,GAAG;CAC9D,eAAe,EAAE,OAAO,UAAU,GAAG,OAAO,KAAK,EAAE,GAAG,OAAO,GAAG,EAAE;CAClE,mBAAmB,EAAE,gBACnB,GAAG,OAAO,SAAS,EAAE,GAAG,cAAc,IAAI,cAAc,aAAa;CACvE,gBAAgB,EAAE,MAAM,UACtB,GAAG,OAAO,IAAI,EAAE,GAAG,SAAS,IAAI,cAAc,aAAa,qBAAqB,OAAO,GAAG;AAC9F;;;;;;;;;;AAWA,SAAgB,cAAc,KAAqB;CACjD,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC;AACxC"}