@ecoma-io/loom 0.2.0 → 0.3.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 (1365) hide show
  1. package/README.md +1 -1
  2. package/dist/a11y.js +2 -1
  3. package/dist/index.js +218 -124
  4. package/dist/packages/blocks/app-header/src/AppHeader.js +7 -0
  5. package/dist/packages/blocks/app-header/src/AppHeader.js.map +1 -0
  6. package/dist/packages/blocks/app-header/src/AppHeader.vue.d.ts.map +1 -0
  7. package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js +95 -0
  8. package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  9. package/dist/packages/blocks/app-header/src/index.d.ts +2 -0
  10. package/dist/packages/blocks/app-header/src/index.d.ts.map +1 -0
  11. package/dist/packages/blocks/app-header/src/index.js +2 -0
  12. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.js +7 -0
  13. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.js.map +1 -0
  14. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue.d.ts.map +1 -0
  15. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js +45 -0
  16. package/dist/packages/blocks/dashboard-grid/src/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  17. package/dist/packages/blocks/dashboard-grid/src/index.d.ts +2 -0
  18. package/dist/packages/blocks/dashboard-grid/src/index.d.ts.map +1 -0
  19. package/dist/packages/blocks/dashboard-grid/src/index.js +2 -0
  20. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.js +7 -0
  21. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.js.map +1 -0
  22. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue.d.ts +102 -0
  23. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue.d.ts.map +1 -0
  24. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +76 -0
  25. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  26. package/dist/packages/blocks/desktop-app-shell/src/index.d.ts +2 -0
  27. package/dist/packages/blocks/desktop-app-shell/src/index.d.ts.map +1 -0
  28. package/dist/packages/blocks/desktop-app-shell/src/index.js +2 -0
  29. package/dist/packages/blocks/empty-state/src/EmptyState.js +7 -0
  30. package/dist/packages/blocks/empty-state/src/EmptyState.js.map +1 -0
  31. package/dist/packages/blocks/empty-state/src/EmptyState.vue.d.ts.map +1 -0
  32. package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js +71 -0
  33. package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  34. package/dist/packages/blocks/empty-state/src/index.d.ts +2 -0
  35. package/dist/packages/blocks/empty-state/src/index.d.ts.map +1 -0
  36. package/dist/packages/blocks/empty-state/src/index.js +2 -0
  37. package/dist/packages/blocks/error-state/src/ErrorState.js +7 -0
  38. package/dist/packages/blocks/error-state/src/ErrorState.js.map +1 -0
  39. package/dist/packages/blocks/error-state/src/ErrorState.vue.d.ts.map +1 -0
  40. package/dist/packages/blocks/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js +60 -0
  41. package/dist/packages/blocks/error-state/src/ErrorState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  42. package/dist/packages/blocks/error-state/src/index.d.ts +2 -0
  43. package/dist/packages/blocks/error-state/src/index.d.ts.map +1 -0
  44. package/dist/packages/blocks/error-state/src/index.js +2 -0
  45. package/dist/packages/blocks/form-actions/src/FormActions.js +7 -0
  46. package/dist/packages/blocks/form-actions/src/FormActions.js.map +1 -0
  47. package/dist/packages/blocks/form-actions/src/FormActions.vue.d.ts.map +1 -0
  48. package/dist/packages/blocks/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js +22 -0
  49. package/dist/packages/blocks/form-actions/src/FormActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  50. package/dist/packages/blocks/form-actions/src/index.d.ts +3 -0
  51. package/dist/packages/blocks/form-actions/src/index.d.ts.map +1 -0
  52. package/dist/packages/blocks/form-actions/src/index.js +2 -0
  53. package/dist/packages/blocks/form-section/src/FormSection.js +7 -0
  54. package/dist/packages/blocks/form-section/src/FormSection.js.map +1 -0
  55. package/dist/packages/blocks/form-section/src/FormSection.vue.d.ts.map +1 -0
  56. package/dist/packages/blocks/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js +64 -0
  57. package/dist/packages/blocks/form-section/src/FormSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  58. package/dist/packages/blocks/form-section/src/index.d.ts +3 -0
  59. package/dist/packages/blocks/form-section/src/index.d.ts.map +1 -0
  60. package/dist/packages/blocks/form-section/src/index.js +2 -0
  61. package/dist/packages/blocks/loading-state/src/LoadingState.js +7 -0
  62. package/dist/packages/blocks/loading-state/src/LoadingState.js.map +1 -0
  63. package/dist/packages/blocks/loading-state/src/LoadingState.vue.d.ts.map +1 -0
  64. package/dist/packages/blocks/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js +59 -0
  65. package/dist/packages/blocks/loading-state/src/LoadingState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  66. package/dist/packages/blocks/loading-state/src/index.d.ts +2 -0
  67. package/dist/packages/blocks/loading-state/src/index.d.ts.map +1 -0
  68. package/dist/packages/blocks/loading-state/src/index.js +2 -0
  69. package/dist/packages/blocks/metric-card/src/MetricCard.js +7 -0
  70. package/dist/packages/blocks/metric-card/src/MetricCard.js.map +1 -0
  71. package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts +59 -0
  72. package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts.map +1 -0
  73. package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js +64 -0
  74. package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  75. package/dist/packages/blocks/metric-card/src/index.d.ts +3 -0
  76. package/dist/packages/blocks/metric-card/src/index.d.ts.map +1 -0
  77. package/dist/packages/blocks/metric-card/src/index.js +2 -0
  78. package/dist/packages/blocks/page-header/src/PageHeader.js +7 -0
  79. package/dist/packages/blocks/page-header/src/PageHeader.js.map +1 -0
  80. package/dist/packages/blocks/page-header/src/PageHeader.vue.d.ts.map +1 -0
  81. package/dist/packages/blocks/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js +68 -0
  82. package/dist/packages/blocks/page-header/src/PageHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  83. package/dist/packages/blocks/page-header/src/index.d.ts +2 -0
  84. package/dist/packages/blocks/page-header/src/index.d.ts.map +1 -0
  85. package/dist/packages/blocks/page-header/src/index.js +2 -0
  86. package/dist/packages/blocks/row-actions/src/RowActions.js +7 -0
  87. package/dist/packages/blocks/row-actions/src/RowActions.js.map +1 -0
  88. package/dist/packages/blocks/row-actions/src/RowActions.vue.d.ts.map +1 -0
  89. package/dist/packages/blocks/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js +47 -0
  90. package/dist/packages/blocks/row-actions/src/RowActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  91. package/dist/packages/blocks/row-actions/src/index.d.ts +2 -0
  92. package/dist/packages/blocks/row-actions/src/index.d.ts.map +1 -0
  93. package/dist/packages/blocks/row-actions/src/index.js +2 -0
  94. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.js +7 -0
  95. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.js.map +1 -0
  96. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue.d.ts.map +1 -0
  97. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js +129 -0
  98. package/dist/packages/blocks/sidebar-nav/src/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +1 -0
  99. package/dist/packages/blocks/sidebar-nav/src/index.d.ts +3 -0
  100. package/dist/packages/blocks/sidebar-nav/src/index.d.ts.map +1 -0
  101. package/dist/packages/blocks/sidebar-nav/src/index.js +2 -0
  102. package/dist/packages/blocks/title-bar/src/TitleBar.js +7 -0
  103. package/dist/packages/blocks/title-bar/src/TitleBar.js.map +1 -0
  104. package/dist/packages/blocks/title-bar/src/TitleBar.vue.d.ts +83 -0
  105. package/dist/packages/blocks/title-bar/src/TitleBar.vue.d.ts.map +1 -0
  106. package/dist/packages/blocks/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js +69 -0
  107. package/dist/packages/blocks/title-bar/src/TitleBar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  108. package/dist/packages/blocks/title-bar/src/index.d.ts +2 -0
  109. package/dist/packages/blocks/title-bar/src/index.d.ts.map +1 -0
  110. package/dist/packages/blocks/title-bar/src/index.js +2 -0
  111. package/dist/packages/blocks/toast-stack/src/ToastStack.js +7 -0
  112. package/dist/packages/blocks/toast-stack/src/ToastStack.js.map +1 -0
  113. package/dist/packages/blocks/toast-stack/src/ToastStack.vue.d.ts +44 -0
  114. package/dist/packages/blocks/toast-stack/src/ToastStack.vue.d.ts.map +1 -0
  115. package/dist/packages/blocks/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js +52 -0
  116. package/dist/packages/blocks/toast-stack/src/ToastStack.vue_vue_type_script_setup_true_lang.js.map +1 -0
  117. package/dist/packages/blocks/toast-stack/src/index.d.ts +3 -0
  118. package/dist/packages/blocks/toast-stack/src/index.d.ts.map +1 -0
  119. package/dist/packages/blocks/toast-stack/src/index.js +2 -0
  120. package/dist/packages/composition/center/src/Center.js +7 -0
  121. package/dist/packages/composition/center/src/Center.js.map +1 -0
  122. package/dist/packages/composition/center/src/Center.vue.d.ts.map +1 -0
  123. package/dist/packages/composition/center/src/Center.vue_vue_type_script_setup_true_lang.js +30 -0
  124. package/dist/packages/composition/center/src/Center.vue_vue_type_script_setup_true_lang.js.map +1 -0
  125. package/dist/packages/composition/center/src/index.d.ts +3 -0
  126. package/dist/packages/composition/center/src/index.d.ts.map +1 -0
  127. package/dist/packages/composition/center/src/index.js +2 -0
  128. package/dist/packages/composition/frame/src/Frame.js +7 -0
  129. package/dist/packages/composition/frame/src/Frame.js.map +1 -0
  130. package/dist/packages/composition/frame/src/Frame.vue.d.ts.map +1 -0
  131. package/dist/packages/composition/frame/src/Frame.vue_vue_type_script_setup_true_lang.js +30 -0
  132. package/dist/packages/composition/frame/src/Frame.vue_vue_type_script_setup_true_lang.js.map +1 -0
  133. package/dist/packages/composition/frame/src/index.d.ts +3 -0
  134. package/dist/packages/composition/frame/src/index.d.ts.map +1 -0
  135. package/dist/packages/composition/frame/src/index.js +2 -0
  136. package/dist/packages/composition/grid/src/Grid.js +7 -0
  137. package/dist/packages/composition/grid/src/Grid.js.map +1 -0
  138. package/dist/packages/composition/grid/src/Grid.vue.d.ts.map +1 -0
  139. package/dist/packages/composition/grid/src/Grid.vue_vue_type_script_setup_true_lang.js +28 -0
  140. package/dist/packages/composition/grid/src/Grid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  141. package/dist/packages/composition/grid/src/index.d.ts +3 -0
  142. package/dist/packages/composition/grid/src/index.d.ts.map +1 -0
  143. package/dist/packages/composition/grid/src/index.js +2 -0
  144. package/dist/packages/composition/inline/src/Inline.js +7 -0
  145. package/dist/packages/composition/inline/src/Inline.js.map +1 -0
  146. package/dist/packages/composition/inline/src/Inline.vue.d.ts.map +1 -0
  147. package/dist/packages/composition/inline/src/Inline.vue_vue_type_script_setup_true_lang.js +36 -0
  148. package/dist/packages/composition/inline/src/Inline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  149. package/dist/packages/composition/inline/src/index.d.ts +3 -0
  150. package/dist/packages/composition/inline/src/index.d.ts.map +1 -0
  151. package/dist/packages/composition/inline/src/index.js +2 -0
  152. package/dist/packages/composition/scroll-reel/src/ScrollReel.js +7 -0
  153. package/dist/packages/composition/scroll-reel/src/ScrollReel.js.map +1 -0
  154. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue.d.ts.map +1 -0
  155. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js +80 -0
  156. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +1 -0
  157. package/dist/packages/composition/scroll-reel/src/index.d.ts +3 -0
  158. package/dist/packages/composition/scroll-reel/src/index.d.ts.map +1 -0
  159. package/dist/packages/composition/scroll-reel/src/index.js +2 -0
  160. package/dist/packages/composition/sidebar/src/Sidebar.js +7 -0
  161. package/dist/packages/composition/sidebar/src/Sidebar.js.map +1 -0
  162. package/dist/packages/composition/sidebar/src/Sidebar.vue.d.ts.map +1 -0
  163. package/dist/packages/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js +37 -0
  164. package/dist/packages/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  165. package/dist/packages/composition/sidebar/src/index.d.ts +3 -0
  166. package/dist/packages/composition/sidebar/src/index.d.ts.map +1 -0
  167. package/dist/packages/composition/sidebar/src/index.js +2 -0
  168. package/dist/packages/composition/split/src/Split.js +7 -0
  169. package/dist/packages/composition/split/src/Split.js.map +1 -0
  170. package/dist/packages/composition/split/src/Split.vue.d.ts.map +1 -0
  171. package/dist/packages/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js +41 -0
  172. package/dist/packages/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js.map +1 -0
  173. package/dist/packages/composition/split/src/index.d.ts +3 -0
  174. package/dist/packages/composition/split/src/index.d.ts.map +1 -0
  175. package/dist/packages/composition/split/src/index.js +2 -0
  176. package/dist/packages/composition/stack/src/Stack.js +7 -0
  177. package/dist/packages/composition/stack/src/Stack.js.map +1 -0
  178. package/dist/packages/composition/stack/src/Stack.vue.d.ts.map +1 -0
  179. package/dist/packages/composition/stack/src/Stack.vue_vue_type_script_setup_true_lang.js +31 -0
  180. package/dist/packages/composition/stack/src/Stack.vue_vue_type_script_setup_true_lang.js.map +1 -0
  181. package/dist/packages/composition/stack/src/index.d.ts +3 -0
  182. package/dist/packages/composition/stack/src/index.d.ts.map +1 -0
  183. package/dist/packages/composition/stack/src/index.js +2 -0
  184. package/dist/packages/core/src/a11y-scope.d.ts +19 -0
  185. package/dist/packages/core/src/a11y-scope.d.ts.map +1 -0
  186. package/dist/packages/core/src/a11y-scope.js +29 -0
  187. package/dist/packages/core/src/a11y-scope.js.map +1 -0
  188. package/dist/packages/core/src/attrs.d.ts.map +1 -0
  189. package/dist/packages/core/src/attrs.js +28 -0
  190. package/dist/packages/core/src/attrs.js.map +1 -0
  191. package/dist/packages/core/src/cn.d.ts.map +1 -0
  192. package/dist/packages/core/src/cn.js +61 -0
  193. package/dist/packages/core/src/cn.js.map +1 -0
  194. package/dist/packages/core/src/icon-defaults.d.ts.map +1 -0
  195. package/dist/packages/core/src/icon-defaults.js +32 -0
  196. package/dist/packages/core/src/icon-defaults.js.map +1 -0
  197. package/dist/packages/core/src/index.d.ts +9 -0
  198. package/dist/packages/core/src/index.d.ts.map +1 -0
  199. package/dist/packages/core/src/index.js +8 -0
  200. package/dist/packages/core/src/motion.d.ts.map +1 -0
  201. package/dist/packages/core/src/motion.js +20 -0
  202. package/dist/packages/core/src/motion.js.map +1 -0
  203. package/dist/packages/core/src/props.d.ts.map +1 -0
  204. package/dist/packages/core/src/props.js +37 -0
  205. package/dist/packages/core/src/props.js.map +1 -0
  206. package/dist/packages/core/src/theme.d.ts.map +1 -0
  207. package/dist/packages/core/src/theme.js +163 -0
  208. package/dist/packages/core/src/theme.js.map +1 -0
  209. package/dist/packages/labels/src/ancestor-disabled.d.ts.map +1 -0
  210. package/dist/packages/labels/src/ancestor-disabled.js +86 -0
  211. package/dist/packages/labels/src/ancestor-disabled.js.map +1 -0
  212. package/dist/packages/labels/src/component-shapes.d.ts +779 -0
  213. package/dist/packages/labels/src/component-shapes.d.ts.map +1 -0
  214. package/dist/packages/labels/src/count-labels.d.ts.map +1 -0
  215. package/dist/packages/labels/src/count-labels.js +29 -0
  216. package/dist/packages/labels/src/count-labels.js.map +1 -0
  217. package/dist/packages/labels/src/date-labels.d.ts.map +1 -0
  218. package/dist/packages/labels/src/date-labels.js +157 -0
  219. package/dist/packages/labels/src/date-labels.js.map +1 -0
  220. package/dist/packages/labels/src/field-context.d.ts.map +1 -0
  221. package/dist/packages/labels/src/field-context.js +107 -0
  222. package/dist/packages/labels/src/field-context.js.map +1 -0
  223. package/dist/packages/labels/src/index.d.ts +12 -0
  224. package/dist/packages/labels/src/index.d.ts.map +1 -0
  225. package/dist/packages/labels/src/index.js +6 -0
  226. package/dist/packages/labels/src/label-registry.d.ts +55 -0
  227. package/dist/packages/labels/src/label-registry.d.ts.map +1 -0
  228. package/dist/packages/labels/src/labels.d.ts.map +1 -0
  229. package/dist/packages/labels/src/labels.js +85 -0
  230. package/dist/packages/labels/src/labels.js.map +1 -0
  231. package/dist/packages/layouts/app-shell/src/AppShell.js +7 -0
  232. package/dist/packages/layouts/app-shell/src/AppShell.js.map +1 -0
  233. package/dist/packages/layouts/app-shell/src/AppShell.vue.d.ts.map +1 -0
  234. package/dist/packages/layouts/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js +48 -0
  235. package/dist/packages/layouts/app-shell/src/AppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  236. package/dist/packages/layouts/app-shell/src/index.d.ts +3 -0
  237. package/dist/packages/layouts/app-shell/src/index.d.ts.map +1 -0
  238. package/dist/packages/layouts/app-shell/src/index.js +2 -0
  239. package/dist/packages/layouts/centered/src/Centered.js +7 -0
  240. package/dist/packages/layouts/centered/src/Centered.js.map +1 -0
  241. package/dist/packages/layouts/centered/src/Centered.vue.d.ts.map +1 -0
  242. package/dist/packages/layouts/centered/src/Centered.vue_vue_type_script_setup_true_lang.js +36 -0
  243. package/dist/packages/layouts/centered/src/Centered.vue_vue_type_script_setup_true_lang.js.map +1 -0
  244. package/dist/packages/layouts/centered/src/index.d.ts +3 -0
  245. package/dist/packages/layouts/centered/src/index.d.ts.map +1 -0
  246. package/dist/packages/layouts/centered/src/index.js +2 -0
  247. package/dist/packages/layouts/dashboard/src/Dashboard.js +7 -0
  248. package/dist/packages/layouts/dashboard/src/Dashboard.js.map +1 -0
  249. package/dist/packages/layouts/dashboard/src/Dashboard.vue.d.ts.map +1 -0
  250. package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js +65 -0
  251. package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  252. package/dist/packages/layouts/dashboard/src/index.d.ts +3 -0
  253. package/dist/packages/layouts/dashboard/src/index.d.ts.map +1 -0
  254. package/dist/packages/layouts/dashboard/src/index.js +2 -0
  255. package/dist/packages/layouts/form-layout/src/FormLayout.js +7 -0
  256. package/dist/packages/layouts/form-layout/src/FormLayout.js.map +1 -0
  257. package/dist/packages/layouts/form-layout/src/FormLayout.vue.d.ts.map +1 -0
  258. package/dist/packages/layouts/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js +29 -0
  259. package/dist/packages/layouts/form-layout/src/FormLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  260. package/dist/packages/layouts/form-layout/src/index.d.ts +3 -0
  261. package/dist/packages/layouts/form-layout/src/index.d.ts.map +1 -0
  262. package/dist/packages/layouts/form-layout/src/index.js +2 -0
  263. package/dist/packages/layouts/master-detail/src/MasterDetail.js +7 -0
  264. package/dist/packages/layouts/master-detail/src/MasterDetail.js.map +1 -0
  265. package/dist/packages/layouts/master-detail/src/MasterDetail.vue.d.ts.map +1 -0
  266. package/dist/packages/layouts/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js +43 -0
  267. package/dist/packages/layouts/master-detail/src/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
  268. package/dist/packages/layouts/master-detail/src/index.d.ts +3 -0
  269. package/dist/packages/layouts/master-detail/src/index.d.ts.map +1 -0
  270. package/dist/packages/layouts/master-detail/src/index.js +2 -0
  271. package/dist/packages/layouts/reading/src/Reading.js +7 -0
  272. package/dist/packages/layouts/reading/src/Reading.js.map +1 -0
  273. package/dist/packages/layouts/reading/src/Reading.vue.d.ts.map +1 -0
  274. package/dist/packages/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js +30 -0
  275. package/dist/packages/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js.map +1 -0
  276. package/dist/packages/layouts/reading/src/index.d.ts +2 -0
  277. package/dist/packages/layouts/reading/src/index.d.ts.map +1 -0
  278. package/dist/packages/layouts/reading/src/index.js +2 -0
  279. package/dist/packages/layouts/settings/src/Settings.js +7 -0
  280. package/dist/packages/layouts/settings/src/Settings.js.map +1 -0
  281. package/dist/packages/layouts/settings/src/Settings.vue.d.ts.map +1 -0
  282. package/dist/packages/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js +36 -0
  283. package/dist/packages/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  284. package/dist/packages/layouts/settings/src/index.d.ts +3 -0
  285. package/dist/packages/layouts/settings/src/index.d.ts.map +1 -0
  286. package/dist/packages/layouts/settings/src/index.js +2 -0
  287. package/dist/packages/layouts/split-layout/src/SplitLayout.js +7 -0
  288. package/dist/packages/layouts/split-layout/src/SplitLayout.js.map +1 -0
  289. package/dist/packages/layouts/split-layout/src/SplitLayout.vue.d.ts.map +1 -0
  290. package/dist/packages/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js +47 -0
  291. package/dist/packages/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  292. package/dist/packages/layouts/split-layout/src/index.d.ts +3 -0
  293. package/dist/packages/layouts/split-layout/src/index.d.ts.map +1 -0
  294. package/dist/packages/layouts/split-layout/src/index.js +2 -0
  295. package/dist/packages/loom/src/a11y.d.ts +2 -0
  296. package/dist/packages/loom/src/a11y.d.ts.map +1 -0
  297. package/dist/packages/loom/src/index.d.ts +175 -0
  298. package/dist/packages/loom/src/index.d.ts.map +1 -0
  299. package/dist/packages/primitives/accordion/src/Accordion.js +7 -0
  300. package/dist/packages/primitives/accordion/src/Accordion.js.map +1 -0
  301. package/dist/packages/primitives/accordion/src/Accordion.vue.d.ts +68 -0
  302. package/dist/packages/primitives/accordion/src/Accordion.vue.d.ts.map +1 -0
  303. package/dist/packages/primitives/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js +68 -0
  304. package/dist/packages/primitives/accordion/src/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  305. package/dist/packages/primitives/accordion/src/index.d.ts +3 -0
  306. package/dist/packages/primitives/accordion/src/index.d.ts.map +1 -0
  307. package/dist/packages/primitives/accordion/src/index.js +2 -0
  308. package/dist/packages/primitives/alert-dialog/src/AlertDialog.js +7 -0
  309. package/dist/packages/primitives/alert-dialog/src/AlertDialog.js.map +1 -0
  310. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue.d.ts +69 -0
  311. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue.d.ts.map +1 -0
  312. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js +104 -0
  313. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  314. package/dist/packages/primitives/alert-dialog/src/index.d.ts +3 -0
  315. package/dist/packages/primitives/alert-dialog/src/index.d.ts.map +1 -0
  316. package/dist/packages/primitives/alert-dialog/src/index.js +3 -0
  317. package/dist/packages/primitives/avatar/src/Avatar.js +7 -0
  318. package/dist/packages/primitives/avatar/src/Avatar.js.map +1 -0
  319. package/dist/packages/primitives/avatar/src/Avatar.vue.d.ts +54 -0
  320. package/dist/packages/primitives/avatar/src/Avatar.vue.d.ts.map +1 -0
  321. package/dist/packages/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js +115 -0
  322. package/dist/packages/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  323. package/dist/packages/primitives/avatar/src/index.d.ts +3 -0
  324. package/dist/packages/primitives/avatar/src/index.d.ts.map +1 -0
  325. package/dist/packages/primitives/avatar/src/index.js +3 -0
  326. package/dist/packages/primitives/avatar-group/src/AvatarGroup.js +7 -0
  327. package/dist/packages/primitives/avatar-group/src/AvatarGroup.js.map +1 -0
  328. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue.d.ts +81 -0
  329. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue.d.ts.map +1 -0
  330. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js +144 -0
  331. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  332. package/dist/packages/primitives/avatar-group/src/index.d.ts +4 -0
  333. package/dist/packages/primitives/avatar-group/src/index.d.ts.map +1 -0
  334. package/dist/packages/primitives/avatar-group/src/index.js +3 -0
  335. package/dist/packages/primitives/badge/src/Badge.js +7 -0
  336. package/dist/packages/primitives/badge/src/Badge.js.map +1 -0
  337. package/dist/packages/primitives/badge/src/Badge.vue.d.ts.map +1 -0
  338. package/dist/packages/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js +31 -0
  339. package/dist/packages/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -0
  340. package/dist/packages/primitives/badge/src/index.d.ts +3 -0
  341. package/dist/packages/primitives/badge/src/index.d.ts.map +1 -0
  342. package/dist/packages/primitives/badge/src/index.js +3 -0
  343. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.js +7 -0
  344. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.js.map +1 -0
  345. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue.d.ts.map +1 -0
  346. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js +49 -0
  347. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -0
  348. package/dist/packages/primitives/breadcrumb/src/index.d.ts +3 -0
  349. package/dist/packages/primitives/breadcrumb/src/index.d.ts.map +1 -0
  350. package/dist/packages/primitives/breadcrumb/src/index.js +2 -0
  351. package/dist/packages/primitives/button/src/Button.js +7 -0
  352. package/dist/packages/primitives/button/src/Button.js.map +1 -0
  353. package/dist/packages/primitives/button/src/Button.vue.d.ts +93 -0
  354. package/dist/packages/primitives/button/src/Button.vue.d.ts.map +1 -0
  355. package/dist/packages/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js +139 -0
  356. package/dist/packages/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js.map +1 -0
  357. package/dist/packages/primitives/button/src/index.d.ts +3 -0
  358. package/dist/packages/primitives/button/src/index.d.ts.map +1 -0
  359. package/dist/packages/primitives/button/src/index.js +3 -0
  360. package/dist/packages/primitives/checkbox/src/Checkbox.js +7 -0
  361. package/dist/packages/primitives/checkbox/src/Checkbox.js.map +1 -0
  362. package/dist/packages/primitives/checkbox/src/Checkbox.vue.d.ts.map +1 -0
  363. package/dist/packages/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js +135 -0
  364. package/dist/packages/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  365. package/dist/packages/primitives/checkbox/src/index.d.ts +2 -0
  366. package/dist/packages/primitives/checkbox/src/index.d.ts.map +1 -0
  367. package/dist/packages/primitives/checkbox/src/index.js +2 -0
  368. package/dist/packages/primitives/chip/src/Chip.js +7 -0
  369. package/dist/packages/primitives/chip/src/Chip.js.map +1 -0
  370. package/dist/packages/primitives/chip/src/Chip.vue.d.ts +81 -0
  371. package/dist/packages/primitives/chip/src/Chip.vue.d.ts.map +1 -0
  372. package/dist/packages/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js +142 -0
  373. package/dist/packages/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  374. package/dist/packages/primitives/chip/src/index.d.ts +3 -0
  375. package/dist/packages/primitives/chip/src/index.d.ts.map +1 -0
  376. package/dist/packages/primitives/chip/src/index.js +3 -0
  377. package/dist/packages/primitives/color-picker/src/ColorPicker.js +7 -0
  378. package/dist/packages/primitives/color-picker/src/ColorPicker.js.map +1 -0
  379. package/dist/packages/primitives/color-picker/src/ColorPicker.vue.d.ts +63 -0
  380. package/dist/packages/primitives/color-picker/src/ColorPicker.vue.d.ts.map +1 -0
  381. package/dist/packages/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js +305 -0
  382. package/dist/packages/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  383. package/dist/packages/primitives/color-picker/src/index.d.ts +3 -0
  384. package/dist/packages/primitives/color-picker/src/index.d.ts.map +1 -0
  385. package/dist/packages/primitives/color-picker/src/index.js +3 -0
  386. package/dist/packages/primitives/combobox/src/Combobox.js +7 -0
  387. package/dist/packages/primitives/combobox/src/Combobox.js.map +1 -0
  388. package/dist/packages/primitives/combobox/src/Combobox.vue.d.ts +165 -0
  389. package/dist/packages/primitives/combobox/src/Combobox.vue.d.ts.map +1 -0
  390. package/dist/packages/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js +305 -0
  391. package/dist/packages/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  392. package/dist/packages/primitives/combobox/src/index.d.ts +4 -0
  393. package/dist/packages/primitives/combobox/src/index.d.ts.map +1 -0
  394. package/dist/packages/primitives/combobox/src/index.js +3 -0
  395. package/dist/packages/primitives/context-menu/src/ContextMenu.js +7 -0
  396. package/dist/packages/primitives/context-menu/src/ContextMenu.js.map +1 -0
  397. package/dist/packages/primitives/context-menu/src/ContextMenu.vue.d.ts.map +1 -0
  398. package/dist/packages/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js +83 -0
  399. package/dist/packages/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  400. package/dist/packages/primitives/context-menu/src/index.d.ts +3 -0
  401. package/dist/packages/primitives/context-menu/src/index.d.ts.map +1 -0
  402. package/dist/packages/primitives/context-menu/src/index.js +2 -0
  403. package/dist/packages/primitives/date-picker/src/DatePicker.js +7 -0
  404. package/dist/packages/primitives/date-picker/src/DatePicker.js.map +1 -0
  405. package/dist/packages/primitives/date-picker/src/DatePicker.vue.d.ts +102 -0
  406. package/dist/packages/primitives/date-picker/src/DatePicker.vue.d.ts.map +1 -0
  407. package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js +294 -0
  408. package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  409. package/dist/packages/primitives/date-picker/src/index.d.ts +3 -0
  410. package/dist/packages/primitives/date-picker/src/index.d.ts.map +1 -0
  411. package/dist/packages/primitives/date-picker/src/index.js +2 -0
  412. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.js +7 -0
  413. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.js.map +1 -0
  414. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue.d.ts +130 -0
  415. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue.d.ts.map +1 -0
  416. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js +416 -0
  417. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  418. package/dist/packages/primitives/date-range-picker/src/index.d.ts +5 -0
  419. package/dist/packages/primitives/date-range-picker/src/index.d.ts.map +1 -0
  420. package/dist/packages/primitives/date-range-picker/src/index.js +3 -0
  421. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.js +7 -0
  422. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.js.map +1 -0
  423. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue.d.ts +113 -0
  424. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue.d.ts.map +1 -0
  425. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js +360 -0
  426. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  427. package/dist/packages/primitives/date-time-picker/src/index.d.ts +3 -0
  428. package/dist/packages/primitives/date-time-picker/src/index.d.ts.map +1 -0
  429. package/dist/packages/primitives/date-time-picker/src/index.js +2 -0
  430. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.js +7 -0
  431. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.js.map +1 -0
  432. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue.d.ts +133 -0
  433. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue.d.ts.map +1 -0
  434. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +564 -0
  435. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  436. package/dist/packages/primitives/date-time-range-picker/src/index.d.ts +5 -0
  437. package/dist/packages/primitives/date-time-range-picker/src/index.d.ts.map +1 -0
  438. package/dist/packages/primitives/date-time-range-picker/src/index.js +3 -0
  439. package/dist/packages/primitives/dialog/src/Dialog.js +7 -0
  440. package/dist/packages/primitives/dialog/src/Dialog.js.map +1 -0
  441. package/dist/packages/primitives/dialog/src/Dialog.vue.d.ts +87 -0
  442. package/dist/packages/primitives/dialog/src/Dialog.vue.d.ts.map +1 -0
  443. package/dist/packages/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js +101 -0
  444. package/dist/packages/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  445. package/dist/packages/primitives/dialog/src/index.d.ts +4 -0
  446. package/dist/packages/primitives/dialog/src/index.d.ts.map +1 -0
  447. package/dist/packages/primitives/dialog/src/index.js +3 -0
  448. package/dist/packages/primitives/drawer/src/Drawer.js +7 -0
  449. package/dist/packages/primitives/drawer/src/Drawer.js.map +1 -0
  450. package/dist/packages/primitives/drawer/src/Drawer.vue.d.ts +99 -0
  451. package/dist/packages/primitives/drawer/src/Drawer.vue.d.ts.map +1 -0
  452. package/dist/packages/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js +227 -0
  453. package/dist/packages/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  454. package/dist/packages/primitives/drawer/src/index.d.ts +4 -0
  455. package/dist/packages/primitives/drawer/src/index.d.ts.map +1 -0
  456. package/dist/packages/primitives/drawer/src/index.js +3 -0
  457. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.js +7 -0
  458. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.js.map +1 -0
  459. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue.d.ts.map +1 -0
  460. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js +83 -0
  461. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  462. package/dist/packages/primitives/dropdown-menu/src/index.d.ts +3 -0
  463. package/dist/packages/primitives/dropdown-menu/src/index.d.ts.map +1 -0
  464. package/dist/packages/primitives/dropdown-menu/src/index.js +2 -0
  465. package/dist/packages/primitives/editable/src/Editable.js +7 -0
  466. package/dist/packages/primitives/editable/src/Editable.js.map +1 -0
  467. package/dist/packages/primitives/editable/src/Editable.vue.d.ts +154 -0
  468. package/dist/packages/primitives/editable/src/Editable.vue.d.ts.map +1 -0
  469. package/dist/packages/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js +280 -0
  470. package/dist/packages/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -0
  471. package/dist/packages/primitives/editable/src/index.d.ts +4 -0
  472. package/dist/packages/primitives/editable/src/index.d.ts.map +1 -0
  473. package/dist/packages/primitives/editable/src/index.js +3 -0
  474. package/dist/packages/primitives/field/src/Field.js +7 -0
  475. package/dist/packages/primitives/field/src/Field.js.map +1 -0
  476. package/dist/packages/primitives/field/src/Field.vue.d.ts.map +1 -0
  477. package/dist/packages/primitives/field/src/Field.vue_vue_type_script_setup_true_lang.js +119 -0
  478. package/dist/packages/primitives/field/src/Field.vue_vue_type_script_setup_true_lang.js.map +1 -0
  479. package/dist/packages/primitives/field/src/index.d.ts +2 -0
  480. package/dist/packages/primitives/field/src/index.d.ts.map +1 -0
  481. package/dist/packages/primitives/field/src/index.js +2 -0
  482. package/dist/packages/primitives/fieldset/src/Fieldset.js +7 -0
  483. package/dist/packages/primitives/fieldset/src/Fieldset.js.map +1 -0
  484. package/dist/packages/primitives/fieldset/src/Fieldset.vue.d.ts.map +1 -0
  485. package/dist/packages/primitives/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js +141 -0
  486. package/dist/packages/primitives/fieldset/src/Fieldset.vue_vue_type_script_setup_true_lang.js.map +1 -0
  487. package/dist/packages/primitives/fieldset/src/index.d.ts +2 -0
  488. package/dist/packages/primitives/fieldset/src/index.d.ts.map +1 -0
  489. package/dist/packages/primitives/fieldset/src/index.js +2 -0
  490. package/dist/packages/primitives/file-upload/src/FileUpload.js +7 -0
  491. package/dist/packages/primitives/file-upload/src/FileUpload.js.map +1 -0
  492. package/dist/packages/primitives/file-upload/src/FileUpload.vue.d.ts +78 -0
  493. package/dist/packages/primitives/file-upload/src/FileUpload.vue.d.ts.map +1 -0
  494. package/dist/packages/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js +361 -0
  495. package/dist/packages/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -0
  496. package/dist/packages/primitives/file-upload/src/index.d.ts +3 -0
  497. package/dist/packages/primitives/file-upload/src/index.d.ts.map +1 -0
  498. package/dist/packages/primitives/file-upload/src/index.js +3 -0
  499. package/dist/packages/primitives/hover-card/src/HoverCard.js +7 -0
  500. package/dist/packages/primitives/hover-card/src/HoverCard.js.map +1 -0
  501. package/dist/packages/primitives/hover-card/src/HoverCard.vue.d.ts +68 -0
  502. package/dist/packages/primitives/hover-card/src/HoverCard.vue.d.ts.map +1 -0
  503. package/dist/packages/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js +63 -0
  504. package/dist/packages/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  505. package/dist/packages/primitives/hover-card/src/index.d.ts +3 -0
  506. package/dist/packages/primitives/hover-card/src/index.d.ts.map +1 -0
  507. package/dist/packages/primitives/hover-card/src/index.js +2 -0
  508. package/dist/packages/primitives/icon-button/src/IconButton.js +7 -0
  509. package/dist/packages/primitives/icon-button/src/IconButton.js.map +1 -0
  510. package/dist/packages/primitives/icon-button/src/IconButton.vue.d.ts.map +1 -0
  511. package/dist/packages/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js +59 -0
  512. package/dist/packages/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  513. package/dist/packages/primitives/icon-button/src/index.d.ts +3 -0
  514. package/dist/packages/primitives/icon-button/src/index.d.ts.map +1 -0
  515. package/dist/packages/primitives/icon-button/src/index.js +3 -0
  516. package/dist/packages/primitives/indicator/src/Indicator.js +7 -0
  517. package/dist/packages/primitives/indicator/src/Indicator.js.map +1 -0
  518. package/dist/packages/primitives/indicator/src/Indicator.vue.d.ts +115 -0
  519. package/dist/packages/primitives/indicator/src/Indicator.vue.d.ts.map +1 -0
  520. package/dist/packages/primitives/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js +164 -0
  521. package/dist/packages/primitives/indicator/src/Indicator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  522. package/dist/packages/primitives/indicator/src/index.d.ts +4 -0
  523. package/dist/packages/primitives/indicator/src/index.d.ts.map +1 -0
  524. package/dist/packages/primitives/indicator/src/index.js +3 -0
  525. package/dist/packages/primitives/inline-error/src/InlineError.js +7 -0
  526. package/dist/packages/primitives/inline-error/src/InlineError.js.map +1 -0
  527. package/dist/packages/primitives/inline-error/src/InlineError.vue.d.ts.map +1 -0
  528. package/dist/packages/primitives/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js +45 -0
  529. package/dist/packages/primitives/inline-error/src/InlineError.vue_vue_type_script_setup_true_lang.js.map +1 -0
  530. package/dist/packages/primitives/inline-error/src/index.d.ts +2 -0
  531. package/dist/packages/primitives/inline-error/src/index.d.ts.map +1 -0
  532. package/dist/packages/primitives/inline-error/src/index.js +2 -0
  533. package/dist/packages/primitives/link/src/Link.js +7 -0
  534. package/dist/packages/primitives/link/src/Link.js.map +1 -0
  535. package/dist/packages/primitives/link/src/Link.vue.d.ts +46 -0
  536. package/dist/packages/primitives/link/src/Link.vue.d.ts.map +1 -0
  537. package/dist/packages/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js +86 -0
  538. package/dist/packages/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js.map +1 -0
  539. package/dist/packages/primitives/link/src/index.d.ts +3 -0
  540. package/dist/packages/primitives/link/src/index.d.ts.map +1 -0
  541. package/dist/packages/primitives/link/src/index.js +3 -0
  542. package/dist/packages/primitives/menubar/src/Menubar.js +7 -0
  543. package/dist/packages/primitives/menubar/src/Menubar.js.map +1 -0
  544. package/dist/packages/primitives/menubar/src/Menubar.vue.d.ts.map +1 -0
  545. package/dist/packages/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js +185 -0
  546. package/dist/packages/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  547. package/dist/packages/primitives/menubar/src/index.d.ts +3 -0
  548. package/dist/packages/primitives/menubar/src/index.d.ts.map +1 -0
  549. package/dist/packages/primitives/menubar/src/index.js +2 -0
  550. package/dist/packages/primitives/number-field/src/NumberField.js +7 -0
  551. package/dist/packages/primitives/number-field/src/NumberField.js.map +1 -0
  552. package/dist/packages/primitives/number-field/src/NumberField.vue.d.ts +80 -0
  553. package/dist/packages/primitives/number-field/src/NumberField.vue.d.ts.map +1 -0
  554. package/dist/packages/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js +252 -0
  555. package/dist/packages/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  556. package/dist/packages/primitives/number-field/src/index.d.ts +4 -0
  557. package/dist/packages/primitives/number-field/src/index.d.ts.map +1 -0
  558. package/dist/packages/primitives/number-field/src/index.js +3 -0
  559. package/dist/packages/primitives/otp-input/src/OtpInput.js +7 -0
  560. package/dist/packages/primitives/otp-input/src/OtpInput.js.map +1 -0
  561. package/dist/packages/primitives/otp-input/src/OtpInput.vue.d.ts +81 -0
  562. package/dist/packages/primitives/otp-input/src/OtpInput.vue.d.ts.map +1 -0
  563. package/dist/packages/primitives/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js +132 -0
  564. package/dist/packages/primitives/otp-input/src/OtpInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  565. package/dist/packages/primitives/otp-input/src/index.d.ts +4 -0
  566. package/dist/packages/primitives/otp-input/src/index.d.ts.map +1 -0
  567. package/dist/packages/primitives/otp-input/src/index.js +3 -0
  568. package/dist/packages/primitives/pagination/src/Pagination.js +7 -0
  569. package/dist/packages/primitives/pagination/src/Pagination.js.map +1 -0
  570. package/dist/packages/primitives/pagination/src/Pagination.vue.d.ts +97 -0
  571. package/dist/packages/primitives/pagination/src/Pagination.vue.d.ts.map +1 -0
  572. package/dist/packages/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js +216 -0
  573. package/dist/packages/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
  574. package/dist/packages/primitives/pagination/src/index.d.ts +4 -0
  575. package/dist/packages/primitives/pagination/src/index.d.ts.map +1 -0
  576. package/dist/packages/primitives/pagination/src/index.js +3 -0
  577. package/dist/packages/primitives/popover/src/Popover.js +7 -0
  578. package/dist/packages/primitives/popover/src/Popover.js.map +1 -0
  579. package/dist/packages/primitives/popover/src/Popover.vue.d.ts +61 -0
  580. package/dist/packages/primitives/popover/src/Popover.vue.d.ts.map +1 -0
  581. package/dist/packages/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js +60 -0
  582. package/dist/packages/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js.map +1 -0
  583. package/dist/packages/primitives/popover/src/index.d.ts +3 -0
  584. package/dist/packages/primitives/popover/src/index.d.ts.map +1 -0
  585. package/dist/packages/primitives/popover/src/index.js +2 -0
  586. package/dist/packages/primitives/progress/src/Progress.js +7 -0
  587. package/dist/packages/primitives/progress/src/Progress.js.map +1 -0
  588. package/dist/packages/primitives/progress/src/Progress.vue.d.ts +74 -0
  589. package/dist/packages/primitives/progress/src/Progress.vue.d.ts.map +1 -0
  590. package/dist/packages/primitives/progress/src/Progress.vue_vue_type_script_setup_true_lang.js +123 -0
  591. package/dist/packages/primitives/progress/src/Progress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  592. package/dist/packages/primitives/progress/src/index.d.ts +4 -0
  593. package/dist/packages/primitives/progress/src/index.d.ts.map +1 -0
  594. package/dist/packages/primitives/progress/src/index.js +3 -0
  595. package/dist/packages/primitives/radial-progress/src/RadialProgress.js +7 -0
  596. package/dist/packages/primitives/radial-progress/src/RadialProgress.js.map +1 -0
  597. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue.d.ts +78 -0
  598. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue.d.ts.map +1 -0
  599. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js +171 -0
  600. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  601. package/dist/packages/primitives/radial-progress/src/index.d.ts +4 -0
  602. package/dist/packages/primitives/radial-progress/src/index.d.ts.map +1 -0
  603. package/dist/packages/primitives/radial-progress/src/index.js +3 -0
  604. package/dist/packages/primitives/radio-group/src/RadioGroup.js +7 -0
  605. package/dist/packages/primitives/radio-group/src/RadioGroup.js.map +1 -0
  606. package/dist/packages/primitives/radio-group/src/RadioGroup.vue.d.ts.map +1 -0
  607. package/dist/packages/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js +82 -0
  608. package/dist/packages/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  609. package/dist/packages/primitives/radio-group/src/index.d.ts +2 -0
  610. package/dist/packages/primitives/radio-group/src/index.d.ts.map +1 -0
  611. package/dist/packages/primitives/radio-group/src/index.js +2 -0
  612. package/dist/packages/primitives/rating/src/Rating.js +7 -0
  613. package/dist/packages/primitives/rating/src/Rating.js.map +1 -0
  614. package/dist/packages/primitives/rating/src/Rating.vue.d.ts +88 -0
  615. package/dist/packages/primitives/rating/src/Rating.vue.d.ts.map +1 -0
  616. package/dist/packages/primitives/rating/src/Rating.vue_vue_type_script_setup_true_lang.js +230 -0
  617. package/dist/packages/primitives/rating/src/Rating.vue_vue_type_script_setup_true_lang.js.map +1 -0
  618. package/dist/packages/primitives/rating/src/index.d.ts +5 -0
  619. package/dist/packages/primitives/rating/src/index.d.ts.map +1 -0
  620. package/dist/packages/primitives/rating/src/index.js +3 -0
  621. package/dist/packages/primitives/scroll-area/src/ScrollArea.js +7 -0
  622. package/dist/packages/primitives/scroll-area/src/ScrollArea.js.map +1 -0
  623. package/dist/packages/primitives/scroll-area/src/ScrollArea.vue.d.ts.map +1 -0
  624. package/dist/packages/primitives/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js +46 -0
  625. package/dist/packages/primitives/scroll-area/src/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  626. package/dist/packages/primitives/scroll-area/src/index.d.ts +3 -0
  627. package/dist/packages/primitives/scroll-area/src/index.d.ts.map +1 -0
  628. package/dist/packages/primitives/scroll-area/src/index.js +2 -0
  629. package/dist/packages/primitives/segmented-control/src/SegmentedControl.js +7 -0
  630. package/dist/packages/primitives/segmented-control/src/SegmentedControl.js.map +1 -0
  631. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue.d.ts.map +1 -0
  632. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js +134 -0
  633. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +1 -0
  634. package/dist/packages/primitives/segmented-control/src/index.d.ts +3 -0
  635. package/dist/packages/primitives/segmented-control/src/index.d.ts.map +1 -0
  636. package/dist/packages/primitives/segmented-control/src/index.js +2 -0
  637. package/dist/packages/primitives/select/src/Select.js +7 -0
  638. package/dist/packages/primitives/select/src/Select.js.map +1 -0
  639. package/dist/packages/primitives/select/src/Select.vue.d.ts.map +1 -0
  640. package/dist/packages/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js +177 -0
  641. package/dist/packages/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js.map +1 -0
  642. package/dist/packages/primitives/select/src/index.d.ts +3 -0
  643. package/dist/packages/primitives/select/src/index.d.ts.map +1 -0
  644. package/dist/packages/primitives/select/src/index.js +3 -0
  645. package/dist/packages/primitives/separator/src/Separator.js +7 -0
  646. package/dist/packages/primitives/separator/src/Separator.js.map +1 -0
  647. package/dist/packages/primitives/separator/src/Separator.vue.d.ts.map +1 -0
  648. package/dist/packages/primitives/separator/src/Separator.vue_vue_type_script_setup_true_lang.js +32 -0
  649. package/dist/packages/primitives/separator/src/Separator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  650. package/dist/packages/primitives/separator/src/index.d.ts +3 -0
  651. package/dist/packages/primitives/separator/src/index.d.ts.map +1 -0
  652. package/dist/packages/primitives/separator/src/index.js +2 -0
  653. package/dist/packages/primitives/skeleton/src/Skeleton.js +7 -0
  654. package/dist/packages/primitives/skeleton/src/Skeleton.js.map +1 -0
  655. package/dist/packages/primitives/skeleton/src/Skeleton.vue.d.ts.map +1 -0
  656. package/dist/packages/primitives/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js +38 -0
  657. package/dist/packages/primitives/skeleton/src/Skeleton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  658. package/dist/packages/primitives/skeleton/src/index.d.ts +3 -0
  659. package/dist/packages/primitives/skeleton/src/index.d.ts.map +1 -0
  660. package/dist/packages/primitives/skeleton/src/index.js +3 -0
  661. package/dist/packages/primitives/slider/src/Slider.js +7 -0
  662. package/dist/packages/primitives/slider/src/Slider.js.map +1 -0
  663. package/dist/packages/primitives/slider/src/Slider.vue.d.ts +78 -0
  664. package/dist/packages/primitives/slider/src/Slider.vue.d.ts.map +1 -0
  665. package/dist/packages/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js +209 -0
  666. package/dist/packages/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  667. package/dist/packages/primitives/slider/src/index.d.ts +2 -0
  668. package/dist/packages/primitives/slider/src/index.d.ts.map +1 -0
  669. package/dist/packages/primitives/slider/src/index.js +2 -0
  670. package/dist/packages/primitives/speed-dial/src/SpeedDial.js +7 -0
  671. package/dist/packages/primitives/speed-dial/src/SpeedDial.js.map +1 -0
  672. package/dist/packages/primitives/speed-dial/src/SpeedDial.vue.d.ts.map +1 -0
  673. package/dist/packages/primitives/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js +176 -0
  674. package/dist/packages/primitives/speed-dial/src/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +1 -0
  675. package/dist/packages/primitives/speed-dial/src/index.d.ts +3 -0
  676. package/dist/packages/primitives/speed-dial/src/index.d.ts.map +1 -0
  677. package/dist/packages/primitives/speed-dial/src/index.js +2 -0
  678. package/dist/packages/primitives/spinner/src/Spinner.js +7 -0
  679. package/dist/packages/primitives/spinner/src/Spinner.js.map +1 -0
  680. package/dist/packages/primitives/spinner/src/Spinner.vue.d.ts.map +1 -0
  681. package/dist/packages/primitives/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js +64 -0
  682. package/dist/packages/primitives/spinner/src/Spinner.vue_vue_type_script_setup_true_lang.js.map +1 -0
  683. package/dist/packages/primitives/spinner/src/index.d.ts +3 -0
  684. package/dist/packages/primitives/spinner/src/index.d.ts.map +1 -0
  685. package/dist/packages/primitives/spinner/src/index.js +3 -0
  686. package/dist/packages/primitives/stepper/src/Stepper.js +7 -0
  687. package/dist/packages/primitives/stepper/src/Stepper.js.map +1 -0
  688. package/dist/packages/primitives/stepper/src/Stepper.vue.d.ts +75 -0
  689. package/dist/packages/primitives/stepper/src/Stepper.vue.d.ts.map +1 -0
  690. package/dist/packages/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js +206 -0
  691. package/dist/packages/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  692. package/dist/packages/primitives/stepper/src/index.d.ts +4 -0
  693. package/dist/packages/primitives/stepper/src/index.d.ts.map +1 -0
  694. package/dist/packages/primitives/stepper/src/index.js +3 -0
  695. package/dist/packages/primitives/surface/src/Surface.js +7 -0
  696. package/dist/packages/primitives/surface/src/Surface.js.map +1 -0
  697. package/dist/packages/primitives/surface/src/Surface.vue.d.ts.map +1 -0
  698. package/dist/packages/primitives/surface/src/Surface.vue_vue_type_script_setup_true_lang.js +49 -0
  699. package/dist/packages/primitives/surface/src/Surface.vue_vue_type_script_setup_true_lang.js.map +1 -0
  700. package/dist/packages/primitives/surface/src/index.d.ts +3 -0
  701. package/dist/packages/primitives/surface/src/index.d.ts.map +1 -0
  702. package/dist/packages/primitives/surface/src/index.js +3 -0
  703. package/dist/packages/primitives/switch/src/Switch.js +7 -0
  704. package/dist/packages/primitives/switch/src/Switch.js.map +1 -0
  705. package/dist/packages/primitives/switch/src/Switch.vue.d.ts.map +1 -0
  706. package/dist/packages/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js +75 -0
  707. package/dist/packages/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -0
  708. package/dist/packages/primitives/switch/src/index.d.ts +2 -0
  709. package/dist/packages/primitives/switch/src/index.d.ts.map +1 -0
  710. package/dist/packages/primitives/switch/src/index.js +2 -0
  711. package/dist/packages/primitives/tabs/src/Tabs.js +7 -0
  712. package/dist/packages/primitives/tabs/src/Tabs.js.map +1 -0
  713. package/dist/packages/primitives/tabs/src/Tabs.vue.d.ts.map +1 -0
  714. package/dist/packages/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js +55 -0
  715. package/dist/packages/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
  716. package/dist/packages/primitives/tabs/src/index.d.ts +3 -0
  717. package/dist/packages/primitives/tabs/src/index.d.ts.map +1 -0
  718. package/dist/packages/primitives/tabs/src/index.js +2 -0
  719. package/dist/packages/primitives/tags-input/src/TagsInput.js +7 -0
  720. package/dist/packages/primitives/tags-input/src/TagsInput.js.map +1 -0
  721. package/dist/packages/primitives/tags-input/src/TagsInput.vue.d.ts +101 -0
  722. package/dist/packages/primitives/tags-input/src/TagsInput.vue.d.ts.map +1 -0
  723. package/dist/packages/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js +390 -0
  724. package/dist/packages/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  725. package/dist/packages/primitives/tags-input/src/index.d.ts +3 -0
  726. package/dist/packages/primitives/tags-input/src/index.d.ts.map +1 -0
  727. package/dist/packages/primitives/tags-input/src/index.js +3 -0
  728. package/dist/packages/primitives/text-field/src/TextField.js +7 -0
  729. package/dist/packages/primitives/text-field/src/TextField.js.map +1 -0
  730. package/dist/packages/primitives/text-field/src/TextField.vue.d.ts +150 -0
  731. package/dist/packages/primitives/text-field/src/TextField.vue.d.ts.map +1 -0
  732. package/dist/packages/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js +282 -0
  733. package/dist/packages/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  734. package/dist/packages/primitives/text-field/src/index.d.ts +5 -0
  735. package/dist/packages/primitives/text-field/src/index.d.ts.map +1 -0
  736. package/dist/packages/primitives/text-field/src/index.js +3 -0
  737. package/dist/packages/primitives/textarea/src/Textarea.js +7 -0
  738. package/dist/packages/primitives/textarea/src/Textarea.js.map +1 -0
  739. package/dist/packages/primitives/textarea/src/Textarea.vue.d.ts +134 -0
  740. package/dist/packages/primitives/textarea/src/Textarea.vue.d.ts.map +1 -0
  741. package/dist/packages/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js +252 -0
  742. package/dist/packages/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  743. package/dist/packages/primitives/textarea/src/index.d.ts +5 -0
  744. package/dist/packages/primitives/textarea/src/index.d.ts.map +1 -0
  745. package/dist/packages/primitives/textarea/src/index.js +3 -0
  746. package/dist/packages/primitives/time-picker/src/TimePicker.js +7 -0
  747. package/dist/packages/primitives/time-picker/src/TimePicker.js.map +1 -0
  748. package/dist/packages/primitives/time-picker/src/TimePicker.vue.d.ts +111 -0
  749. package/dist/packages/primitives/time-picker/src/TimePicker.vue.d.ts.map +1 -0
  750. package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js +187 -0
  751. package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  752. package/dist/packages/primitives/time-picker/src/index.d.ts +3 -0
  753. package/dist/packages/primitives/time-picker/src/index.d.ts.map +1 -0
  754. package/dist/packages/primitives/time-picker/src/index.js +2 -0
  755. package/dist/packages/primitives/toast/src/Toast.js +8 -0
  756. package/dist/packages/primitives/toast/src/Toast.js.map +1 -0
  757. package/dist/packages/primitives/toast/src/Toast.vue.d.ts +71 -0
  758. package/dist/packages/primitives/toast/src/Toast.vue.d.ts.map +1 -0
  759. package/dist/packages/primitives/toast/src/Toast.vue_vue_type_script_setup_true_lang.js +64 -0
  760. package/dist/packages/primitives/toast/src/Toast.vue_vue_type_script_setup_true_lang.js.map +1 -0
  761. package/dist/packages/primitives/toast/src/ToastItem.js +7 -0
  762. package/dist/packages/primitives/toast/src/ToastItem.js.map +1 -0
  763. package/dist/packages/primitives/toast/src/ToastItem.vue.d.ts +59 -0
  764. package/dist/packages/primitives/toast/src/ToastItem.vue.d.ts.map +1 -0
  765. package/dist/packages/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js +118 -0
  766. package/dist/packages/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  767. package/dist/packages/primitives/toast/src/index.d.ts +6 -0
  768. package/dist/packages/primitives/toast/src/index.d.ts.map +1 -0
  769. package/dist/packages/primitives/toast/src/index.js +4 -0
  770. package/dist/packages/primitives/tooltip/src/Tooltip.js +7 -0
  771. package/dist/packages/primitives/tooltip/src/Tooltip.js.map +1 -0
  772. package/dist/packages/primitives/tooltip/src/Tooltip.vue.d.ts +52 -0
  773. package/dist/packages/primitives/tooltip/src/Tooltip.vue.d.ts.map +1 -0
  774. package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js +57 -0
  775. package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  776. package/dist/packages/primitives/tooltip/src/index.d.ts +3 -0
  777. package/dist/packages/primitives/tooltip/src/index.d.ts.map +1 -0
  778. package/dist/packages/primitives/tooltip/src/index.js +2 -0
  779. package/dist/packages/primitives/window-controls/src/WindowControls.js +7 -0
  780. package/dist/packages/primitives/window-controls/src/WindowControls.js.map +1 -0
  781. package/dist/packages/primitives/window-controls/src/WindowControls.vue.d.ts +81 -0
  782. package/dist/packages/primitives/window-controls/src/WindowControls.vue.d.ts.map +1 -0
  783. package/dist/packages/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js +124 -0
  784. package/dist/packages/primitives/window-controls/src/WindowControls.vue_vue_type_script_setup_true_lang.js.map +1 -0
  785. package/dist/packages/primitives/window-controls/src/index.d.ts +4 -0
  786. package/dist/packages/primitives/window-controls/src/index.d.ts.map +1 -0
  787. package/dist/packages/primitives/window-controls/src/index.js +3 -0
  788. package/dist/styles/theme.css +34 -0
  789. package/package.json +8 -5
  790. package/dist/a11y.d.ts +0 -2
  791. package/dist/a11y.d.ts.map +0 -1
  792. package/dist/blocks/AppHeader/AppHeader.js +0 -7
  793. package/dist/blocks/AppHeader/AppHeader.js.map +0 -1
  794. package/dist/blocks/AppHeader/AppHeader.vue.d.ts.map +0 -1
  795. package/dist/blocks/AppHeader/AppHeader.vue_vue_type_script_setup_true_lang.js +0 -95
  796. package/dist/blocks/AppHeader/AppHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  797. package/dist/blocks/DashboardGrid/DashboardGrid.js +0 -7
  798. package/dist/blocks/DashboardGrid/DashboardGrid.js.map +0 -1
  799. package/dist/blocks/DashboardGrid/DashboardGrid.vue.d.ts.map +0 -1
  800. package/dist/blocks/DashboardGrid/DashboardGrid.vue_vue_type_script_setup_true_lang.js +0 -45
  801. package/dist/blocks/DashboardGrid/DashboardGrid.vue_vue_type_script_setup_true_lang.js.map +0 -1
  802. package/dist/blocks/DesktopAppShell/DesktopAppShell.js +0 -7
  803. package/dist/blocks/DesktopAppShell/DesktopAppShell.js.map +0 -1
  804. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue.d.ts +0 -102
  805. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue.d.ts.map +0 -1
  806. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +0 -74
  807. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  808. package/dist/blocks/EmptyState/EmptyState.js +0 -7
  809. package/dist/blocks/EmptyState/EmptyState.js.map +0 -1
  810. package/dist/blocks/EmptyState/EmptyState.vue.d.ts.map +0 -1
  811. package/dist/blocks/EmptyState/EmptyState.vue_vue_type_script_setup_true_lang.js +0 -71
  812. package/dist/blocks/EmptyState/EmptyState.vue_vue_type_script_setup_true_lang.js.map +0 -1
  813. package/dist/blocks/ErrorState/ErrorState.js +0 -7
  814. package/dist/blocks/ErrorState/ErrorState.js.map +0 -1
  815. package/dist/blocks/ErrorState/ErrorState.vue.d.ts.map +0 -1
  816. package/dist/blocks/ErrorState/ErrorState.vue_vue_type_script_setup_true_lang.js +0 -60
  817. package/dist/blocks/ErrorState/ErrorState.vue_vue_type_script_setup_true_lang.js.map +0 -1
  818. package/dist/blocks/FormActions/FormActions.js +0 -7
  819. package/dist/blocks/FormActions/FormActions.js.map +0 -1
  820. package/dist/blocks/FormActions/FormActions.vue.d.ts.map +0 -1
  821. package/dist/blocks/FormActions/FormActions.vue_vue_type_script_setup_true_lang.js +0 -21
  822. package/dist/blocks/FormActions/FormActions.vue_vue_type_script_setup_true_lang.js.map +0 -1
  823. package/dist/blocks/FormSection/FormSection.js +0 -7
  824. package/dist/blocks/FormSection/FormSection.js.map +0 -1
  825. package/dist/blocks/FormSection/FormSection.vue.d.ts.map +0 -1
  826. package/dist/blocks/FormSection/FormSection.vue_vue_type_script_setup_true_lang.js +0 -62
  827. package/dist/blocks/FormSection/FormSection.vue_vue_type_script_setup_true_lang.js.map +0 -1
  828. package/dist/blocks/LoadingState/LoadingState.js +0 -7
  829. package/dist/blocks/LoadingState/LoadingState.js.map +0 -1
  830. package/dist/blocks/LoadingState/LoadingState.vue.d.ts.map +0 -1
  831. package/dist/blocks/LoadingState/LoadingState.vue_vue_type_script_setup_true_lang.js +0 -57
  832. package/dist/blocks/LoadingState/LoadingState.vue_vue_type_script_setup_true_lang.js.map +0 -1
  833. package/dist/blocks/MetricCard/MetricCard.js +0 -7
  834. package/dist/blocks/MetricCard/MetricCard.js.map +0 -1
  835. package/dist/blocks/MetricCard/MetricCard.vue.d.ts +0 -59
  836. package/dist/blocks/MetricCard/MetricCard.vue.d.ts.map +0 -1
  837. package/dist/blocks/MetricCard/MetricCard.vue_vue_type_script_setup_true_lang.js +0 -63
  838. package/dist/blocks/MetricCard/MetricCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  839. package/dist/blocks/PageHeader/PageHeader.js +0 -7
  840. package/dist/blocks/PageHeader/PageHeader.js.map +0 -1
  841. package/dist/blocks/PageHeader/PageHeader.vue.d.ts.map +0 -1
  842. package/dist/blocks/PageHeader/PageHeader.vue_vue_type_script_setup_true_lang.js +0 -68
  843. package/dist/blocks/PageHeader/PageHeader.vue_vue_type_script_setup_true_lang.js.map +0 -1
  844. package/dist/blocks/RowActions/RowActions.js +0 -7
  845. package/dist/blocks/RowActions/RowActions.js.map +0 -1
  846. package/dist/blocks/RowActions/RowActions.vue.d.ts.map +0 -1
  847. package/dist/blocks/RowActions/RowActions.vue_vue_type_script_setup_true_lang.js +0 -47
  848. package/dist/blocks/RowActions/RowActions.vue_vue_type_script_setup_true_lang.js.map +0 -1
  849. package/dist/blocks/SidebarNav/SidebarNav.js +0 -7
  850. package/dist/blocks/SidebarNav/SidebarNav.js.map +0 -1
  851. package/dist/blocks/SidebarNav/SidebarNav.vue.d.ts.map +0 -1
  852. package/dist/blocks/SidebarNav/SidebarNav.vue_vue_type_script_setup_true_lang.js +0 -125
  853. package/dist/blocks/SidebarNav/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +0 -1
  854. package/dist/blocks/TitleBar/TitleBar.js +0 -7
  855. package/dist/blocks/TitleBar/TitleBar.js.map +0 -1
  856. package/dist/blocks/TitleBar/TitleBar.vue.d.ts +0 -83
  857. package/dist/blocks/TitleBar/TitleBar.vue.d.ts.map +0 -1
  858. package/dist/blocks/TitleBar/TitleBar.vue_vue_type_script_setup_true_lang.js +0 -66
  859. package/dist/blocks/TitleBar/TitleBar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  860. package/dist/blocks/ToastStack/ToastStack.js +0 -7
  861. package/dist/blocks/ToastStack/ToastStack.js.map +0 -1
  862. package/dist/blocks/ToastStack/ToastStack.vue.d.ts +0 -44
  863. package/dist/blocks/ToastStack/ToastStack.vue.d.ts.map +0 -1
  864. package/dist/blocks/ToastStack/ToastStack.vue_vue_type_script_setup_true_lang.js +0 -49
  865. package/dist/blocks/ToastStack/ToastStack.vue_vue_type_script_setup_true_lang.js.map +0 -1
  866. package/dist/composition/Center/Center.js +0 -7
  867. package/dist/composition/Center/Center.js.map +0 -1
  868. package/dist/composition/Center/Center.vue.d.ts.map +0 -1
  869. package/dist/composition/Center/Center.vue_vue_type_script_setup_true_lang.js +0 -29
  870. package/dist/composition/Center/Center.vue_vue_type_script_setup_true_lang.js.map +0 -1
  871. package/dist/composition/Frame/Frame.js +0 -7
  872. package/dist/composition/Frame/Frame.js.map +0 -1
  873. package/dist/composition/Frame/Frame.vue.d.ts.map +0 -1
  874. package/dist/composition/Frame/Frame.vue_vue_type_script_setup_true_lang.js +0 -29
  875. package/dist/composition/Frame/Frame.vue_vue_type_script_setup_true_lang.js.map +0 -1
  876. package/dist/composition/Grid/Grid.js +0 -7
  877. package/dist/composition/Grid/Grid.js.map +0 -1
  878. package/dist/composition/Grid/Grid.vue.d.ts.map +0 -1
  879. package/dist/composition/Grid/Grid.vue_vue_type_script_setup_true_lang.js +0 -27
  880. package/dist/composition/Grid/Grid.vue_vue_type_script_setup_true_lang.js.map +0 -1
  881. package/dist/composition/Inline/Inline.js +0 -7
  882. package/dist/composition/Inline/Inline.js.map +0 -1
  883. package/dist/composition/Inline/Inline.vue.d.ts.map +0 -1
  884. package/dist/composition/Inline/Inline.vue_vue_type_script_setup_true_lang.js +0 -35
  885. package/dist/composition/Inline/Inline.vue_vue_type_script_setup_true_lang.js.map +0 -1
  886. package/dist/composition/ScrollReel/ScrollReel.js +0 -7
  887. package/dist/composition/ScrollReel/ScrollReel.js.map +0 -1
  888. package/dist/composition/ScrollReel/ScrollReel.vue.d.ts.map +0 -1
  889. package/dist/composition/ScrollReel/ScrollReel.vue_vue_type_script_setup_true_lang.js +0 -79
  890. package/dist/composition/ScrollReel/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +0 -1
  891. package/dist/composition/Sidebar/Sidebar.js +0 -7
  892. package/dist/composition/Sidebar/Sidebar.js.map +0 -1
  893. package/dist/composition/Sidebar/Sidebar.vue.d.ts.map +0 -1
  894. package/dist/composition/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +0 -36
  895. package/dist/composition/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  896. package/dist/composition/Split/Split.js +0 -7
  897. package/dist/composition/Split/Split.js.map +0 -1
  898. package/dist/composition/Split/Split.vue.d.ts.map +0 -1
  899. package/dist/composition/Split/Split.vue_vue_type_script_setup_true_lang.js +0 -40
  900. package/dist/composition/Split/Split.vue_vue_type_script_setup_true_lang.js.map +0 -1
  901. package/dist/composition/Stack/Stack.js +0 -7
  902. package/dist/composition/Stack/Stack.js.map +0 -1
  903. package/dist/composition/Stack/Stack.vue.d.ts.map +0 -1
  904. package/dist/composition/Stack/Stack.vue_vue_type_script_setup_true_lang.js +0 -30
  905. package/dist/composition/Stack/Stack.vue_vue_type_script_setup_true_lang.js.map +0 -1
  906. package/dist/index.d.ts +0 -183
  907. package/dist/index.d.ts.map +0 -1
  908. package/dist/layouts/AppShell/AppShell.js +0 -7
  909. package/dist/layouts/AppShell/AppShell.js.map +0 -1
  910. package/dist/layouts/AppShell/AppShell.vue.d.ts.map +0 -1
  911. package/dist/layouts/AppShell/AppShell.vue_vue_type_script_setup_true_lang.js +0 -47
  912. package/dist/layouts/AppShell/AppShell.vue_vue_type_script_setup_true_lang.js.map +0 -1
  913. package/dist/layouts/Centered/Centered.js +0 -7
  914. package/dist/layouts/Centered/Centered.js.map +0 -1
  915. package/dist/layouts/Centered/Centered.vue.d.ts.map +0 -1
  916. package/dist/layouts/Centered/Centered.vue_vue_type_script_setup_true_lang.js +0 -35
  917. package/dist/layouts/Centered/Centered.vue_vue_type_script_setup_true_lang.js.map +0 -1
  918. package/dist/layouts/Dashboard/Dashboard.js +0 -7
  919. package/dist/layouts/Dashboard/Dashboard.js.map +0 -1
  920. package/dist/layouts/Dashboard/Dashboard.vue.d.ts.map +0 -1
  921. package/dist/layouts/Dashboard/Dashboard.vue_vue_type_script_setup_true_lang.js +0 -64
  922. package/dist/layouts/Dashboard/Dashboard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  923. package/dist/layouts/FormLayout/FormLayout.js +0 -7
  924. package/dist/layouts/FormLayout/FormLayout.js.map +0 -1
  925. package/dist/layouts/FormLayout/FormLayout.vue.d.ts.map +0 -1
  926. package/dist/layouts/FormLayout/FormLayout.vue_vue_type_script_setup_true_lang.js +0 -28
  927. package/dist/layouts/FormLayout/FormLayout.vue_vue_type_script_setup_true_lang.js.map +0 -1
  928. package/dist/layouts/MasterDetail/MasterDetail.js +0 -7
  929. package/dist/layouts/MasterDetail/MasterDetail.js.map +0 -1
  930. package/dist/layouts/MasterDetail/MasterDetail.vue.d.ts.map +0 -1
  931. package/dist/layouts/MasterDetail/MasterDetail.vue_vue_type_script_setup_true_lang.js +0 -42
  932. package/dist/layouts/MasterDetail/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +0 -1
  933. package/dist/layouts/Reading/Reading.js +0 -7
  934. package/dist/layouts/Reading/Reading.js.map +0 -1
  935. package/dist/layouts/Reading/Reading.vue.d.ts.map +0 -1
  936. package/dist/layouts/Reading/Reading.vue_vue_type_script_setup_true_lang.js +0 -29
  937. package/dist/layouts/Reading/Reading.vue_vue_type_script_setup_true_lang.js.map +0 -1
  938. package/dist/layouts/Settings/Settings.js +0 -7
  939. package/dist/layouts/Settings/Settings.js.map +0 -1
  940. package/dist/layouts/Settings/Settings.vue.d.ts.map +0 -1
  941. package/dist/layouts/Settings/Settings.vue_vue_type_script_setup_true_lang.js +0 -35
  942. package/dist/layouts/Settings/Settings.vue_vue_type_script_setup_true_lang.js.map +0 -1
  943. package/dist/layouts/SplitLayout/SplitLayout.js +0 -7
  944. package/dist/layouts/SplitLayout/SplitLayout.js.map +0 -1
  945. package/dist/layouts/SplitLayout/SplitLayout.vue.d.ts.map +0 -1
  946. package/dist/layouts/SplitLayout/SplitLayout.vue_vue_type_script_setup_true_lang.js +0 -46
  947. package/dist/layouts/SplitLayout/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +0 -1
  948. package/dist/lib/a11y-scope.d.ts +0 -19
  949. package/dist/lib/a11y-scope.d.ts.map +0 -1
  950. package/dist/lib/a11y-scope.js +0 -28
  951. package/dist/lib/a11y-scope.js.map +0 -1
  952. package/dist/lib/ancestor-disabled.d.ts.map +0 -1
  953. package/dist/lib/ancestor-disabled.js +0 -86
  954. package/dist/lib/ancestor-disabled.js.map +0 -1
  955. package/dist/lib/attrs.d.ts.map +0 -1
  956. package/dist/lib/attrs.js +0 -28
  957. package/dist/lib/attrs.js.map +0 -1
  958. package/dist/lib/cn.d.ts.map +0 -1
  959. package/dist/lib/cn.js +0 -61
  960. package/dist/lib/cn.js.map +0 -1
  961. package/dist/lib/count-labels.d.ts.map +0 -1
  962. package/dist/lib/count-labels.js +0 -29
  963. package/dist/lib/count-labels.js.map +0 -1
  964. package/dist/lib/date-labels.d.ts.map +0 -1
  965. package/dist/lib/date-labels.js +0 -157
  966. package/dist/lib/date-labels.js.map +0 -1
  967. package/dist/lib/field-context.d.ts.map +0 -1
  968. package/dist/lib/field-context.js +0 -106
  969. package/dist/lib/field-context.js.map +0 -1
  970. package/dist/lib/icon-defaults.d.ts.map +0 -1
  971. package/dist/lib/icon-defaults.js +0 -32
  972. package/dist/lib/icon-defaults.js.map +0 -1
  973. package/dist/lib/label-registry.d.ts +0 -75
  974. package/dist/lib/label-registry.d.ts.map +0 -1
  975. package/dist/lib/labels.d.ts.map +0 -1
  976. package/dist/lib/labels.js +0 -84
  977. package/dist/lib/labels.js.map +0 -1
  978. package/dist/lib/motion.d.ts.map +0 -1
  979. package/dist/lib/motion.js +0 -20
  980. package/dist/lib/motion.js.map +0 -1
  981. package/dist/lib/props.d.ts.map +0 -1
  982. package/dist/lib/props.js +0 -37
  983. package/dist/lib/props.js.map +0 -1
  984. package/dist/lib/theme.d.ts.map +0 -1
  985. package/dist/primitives/Accordion/Accordion.js +0 -7
  986. package/dist/primitives/Accordion/Accordion.js.map +0 -1
  987. package/dist/primitives/Accordion/Accordion.vue.d.ts +0 -68
  988. package/dist/primitives/Accordion/Accordion.vue.d.ts.map +0 -1
  989. package/dist/primitives/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js +0 -67
  990. package/dist/primitives/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +0 -1
  991. package/dist/primitives/AlertDialog/AlertDialog.js +0 -7
  992. package/dist/primitives/AlertDialog/AlertDialog.js.map +0 -1
  993. package/dist/primitives/AlertDialog/AlertDialog.vue.d.ts +0 -94
  994. package/dist/primitives/AlertDialog/AlertDialog.vue.d.ts.map +0 -1
  995. package/dist/primitives/AlertDialog/AlertDialog.vue_vue_type_script_setup_true_lang.js +0 -99
  996. package/dist/primitives/AlertDialog/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
  997. package/dist/primitives/Avatar/Avatar.js +0 -7
  998. package/dist/primitives/Avatar/Avatar.js.map +0 -1
  999. package/dist/primitives/Avatar/Avatar.vue.d.ts +0 -54
  1000. package/dist/primitives/Avatar/Avatar.vue.d.ts.map +0 -1
  1001. package/dist/primitives/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +0 -114
  1002. package/dist/primitives/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1003. package/dist/primitives/AvatarGroup/AvatarGroup.js +0 -7
  1004. package/dist/primitives/AvatarGroup/AvatarGroup.js.map +0 -1
  1005. package/dist/primitives/AvatarGroup/AvatarGroup.vue.d.ts +0 -104
  1006. package/dist/primitives/AvatarGroup/AvatarGroup.vue.d.ts.map +0 -1
  1007. package/dist/primitives/AvatarGroup/AvatarGroup.vue_vue_type_script_setup_true_lang.js +0 -139
  1008. package/dist/primitives/AvatarGroup/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1009. package/dist/primitives/Badge/Badge.js +0 -7
  1010. package/dist/primitives/Badge/Badge.js.map +0 -1
  1011. package/dist/primitives/Badge/Badge.vue.d.ts.map +0 -1
  1012. package/dist/primitives/Badge/Badge.vue_vue_type_script_setup_true_lang.js +0 -30
  1013. package/dist/primitives/Badge/Badge.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1014. package/dist/primitives/Breadcrumb/Breadcrumb.js +0 -7
  1015. package/dist/primitives/Breadcrumb/Breadcrumb.js.map +0 -1
  1016. package/dist/primitives/Breadcrumb/Breadcrumb.vue.d.ts.map +0 -1
  1017. package/dist/primitives/Breadcrumb/Breadcrumb.vue_vue_type_script_setup_true_lang.js +0 -48
  1018. package/dist/primitives/Breadcrumb/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1019. package/dist/primitives/Button/Button.js +0 -7
  1020. package/dist/primitives/Button/Button.js.map +0 -1
  1021. package/dist/primitives/Button/Button.vue.d.ts +0 -93
  1022. package/dist/primitives/Button/Button.vue.d.ts.map +0 -1
  1023. package/dist/primitives/Button/Button.vue_vue_type_script_setup_true_lang.js +0 -138
  1024. package/dist/primitives/Button/Button.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1025. package/dist/primitives/Checkbox/Checkbox.js +0 -7
  1026. package/dist/primitives/Checkbox/Checkbox.js.map +0 -1
  1027. package/dist/primitives/Checkbox/Checkbox.vue.d.ts.map +0 -1
  1028. package/dist/primitives/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -133
  1029. package/dist/primitives/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1030. package/dist/primitives/Chip/Chip.js +0 -7
  1031. package/dist/primitives/Chip/Chip.js.map +0 -1
  1032. package/dist/primitives/Chip/Chip.vue.d.ts +0 -79
  1033. package/dist/primitives/Chip/Chip.vue.d.ts.map +0 -1
  1034. package/dist/primitives/Chip/Chip.vue_vue_type_script_setup_true_lang.js +0 -139
  1035. package/dist/primitives/Chip/Chip.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1036. package/dist/primitives/ColorPicker/ColorPicker.js +0 -7
  1037. package/dist/primitives/ColorPicker/ColorPicker.js.map +0 -1
  1038. package/dist/primitives/ColorPicker/ColorPicker.vue.d.ts +0 -125
  1039. package/dist/primitives/ColorPicker/ColorPicker.vue.d.ts.map +0 -1
  1040. package/dist/primitives/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js +0 -301
  1041. package/dist/primitives/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1042. package/dist/primitives/Combobox/Combobox.js +0 -7
  1043. package/dist/primitives/Combobox/Combobox.js.map +0 -1
  1044. package/dist/primitives/Combobox/Combobox.vue.d.ts +0 -205
  1045. package/dist/primitives/Combobox/Combobox.vue.d.ts.map +0 -1
  1046. package/dist/primitives/Combobox/Combobox.vue_vue_type_script_setup_true_lang.js +0 -345
  1047. package/dist/primitives/Combobox/Combobox.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1048. package/dist/primitives/ContextMenu/ContextMenu.js +0 -7
  1049. package/dist/primitives/ContextMenu/ContextMenu.js.map +0 -1
  1050. package/dist/primitives/ContextMenu/ContextMenu.vue.d.ts.map +0 -1
  1051. package/dist/primitives/ContextMenu/ContextMenu.vue_vue_type_script_setup_true_lang.js +0 -82
  1052. package/dist/primitives/ContextMenu/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1053. package/dist/primitives/DatePicker/DatePicker.js +0 -7
  1054. package/dist/primitives/DatePicker/DatePicker.js.map +0 -1
  1055. package/dist/primitives/DatePicker/DatePicker.vue.d.ts +0 -102
  1056. package/dist/primitives/DatePicker/DatePicker.vue.d.ts.map +0 -1
  1057. package/dist/primitives/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +0 -292
  1058. package/dist/primitives/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1059. package/dist/primitives/DateRangePicker/DateRangePicker.js +0 -7
  1060. package/dist/primitives/DateRangePicker/DateRangePicker.js.map +0 -1
  1061. package/dist/primitives/DateRangePicker/DateRangePicker.vue.d.ts +0 -173
  1062. package/dist/primitives/DateRangePicker/DateRangePicker.vue.d.ts.map +0 -1
  1063. package/dist/primitives/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +0 -412
  1064. package/dist/primitives/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1065. package/dist/primitives/DateTimePicker/DateTimePicker.js +0 -7
  1066. package/dist/primitives/DateTimePicker/DateTimePicker.js.map +0 -1
  1067. package/dist/primitives/DateTimePicker/DateTimePicker.vue.d.ts +0 -113
  1068. package/dist/primitives/DateTimePicker/DateTimePicker.vue.d.ts.map +0 -1
  1069. package/dist/primitives/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +0 -358
  1070. package/dist/primitives/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1071. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.js +0 -7
  1072. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.js.map +0 -1
  1073. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts +0 -181
  1074. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts.map +0 -1
  1075. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +0 -562
  1076. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1077. package/dist/primitives/Dialog/Dialog.js +0 -7
  1078. package/dist/primitives/Dialog/Dialog.js.map +0 -1
  1079. package/dist/primitives/Dialog/Dialog.vue.d.ts +0 -97
  1080. package/dist/primitives/Dialog/Dialog.vue.d.ts.map +0 -1
  1081. package/dist/primitives/Dialog/Dialog.vue_vue_type_script_setup_true_lang.js +0 -97
  1082. package/dist/primitives/Dialog/Dialog.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1083. package/dist/primitives/Drawer/Drawer.js +0 -7
  1084. package/dist/primitives/Drawer/Drawer.js.map +0 -1
  1085. package/dist/primitives/Drawer/Drawer.vue.d.ts +0 -110
  1086. package/dist/primitives/Drawer/Drawer.vue.d.ts.map +0 -1
  1087. package/dist/primitives/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +0 -223
  1088. package/dist/primitives/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1089. package/dist/primitives/DropdownMenu/DropdownMenu.js +0 -7
  1090. package/dist/primitives/DropdownMenu/DropdownMenu.js.map +0 -1
  1091. package/dist/primitives/DropdownMenu/DropdownMenu.vue.d.ts.map +0 -1
  1092. package/dist/primitives/DropdownMenu/DropdownMenu.vue_vue_type_script_setup_true_lang.js +0 -82
  1093. package/dist/primitives/DropdownMenu/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1094. package/dist/primitives/Editable/Editable.js +0 -7
  1095. package/dist/primitives/Editable/Editable.js.map +0 -1
  1096. package/dist/primitives/Editable/Editable.vue.d.ts +0 -200
  1097. package/dist/primitives/Editable/Editable.vue.d.ts.map +0 -1
  1098. package/dist/primitives/Editable/Editable.vue_vue_type_script_setup_true_lang.js +0 -275
  1099. package/dist/primitives/Editable/Editable.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1100. package/dist/primitives/Field/Field.js +0 -7
  1101. package/dist/primitives/Field/Field.js.map +0 -1
  1102. package/dist/primitives/Field/Field.vue.d.ts.map +0 -1
  1103. package/dist/primitives/Field/Field.vue_vue_type_script_setup_true_lang.js +0 -117
  1104. package/dist/primitives/Field/Field.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1105. package/dist/primitives/Fieldset/Fieldset.js +0 -7
  1106. package/dist/primitives/Fieldset/Fieldset.js.map +0 -1
  1107. package/dist/primitives/Fieldset/Fieldset.vue.d.ts.map +0 -1
  1108. package/dist/primitives/Fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js +0 -138
  1109. package/dist/primitives/Fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1110. package/dist/primitives/FileUpload/FileUpload.js +0 -7
  1111. package/dist/primitives/FileUpload/FileUpload.js.map +0 -1
  1112. package/dist/primitives/FileUpload/FileUpload.vue.d.ts +0 -132
  1113. package/dist/primitives/FileUpload/FileUpload.vue.d.ts.map +0 -1
  1114. package/dist/primitives/FileUpload/FileUpload.vue_vue_type_script_setup_true_lang.js +0 -359
  1115. package/dist/primitives/FileUpload/FileUpload.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1116. package/dist/primitives/HoverCard/HoverCard.js +0 -7
  1117. package/dist/primitives/HoverCard/HoverCard.js.map +0 -1
  1118. package/dist/primitives/HoverCard/HoverCard.vue.d.ts +0 -68
  1119. package/dist/primitives/HoverCard/HoverCard.vue.d.ts.map +0 -1
  1120. package/dist/primitives/HoverCard/HoverCard.vue_vue_type_script_setup_true_lang.js +0 -62
  1121. package/dist/primitives/HoverCard/HoverCard.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1122. package/dist/primitives/IconButton/IconButton.js +0 -7
  1123. package/dist/primitives/IconButton/IconButton.js.map +0 -1
  1124. package/dist/primitives/IconButton/IconButton.vue.d.ts.map +0 -1
  1125. package/dist/primitives/IconButton/IconButton.vue_vue_type_script_setup_true_lang.js +0 -58
  1126. package/dist/primitives/IconButton/IconButton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1127. package/dist/primitives/Indicator/Indicator.js +0 -7
  1128. package/dist/primitives/Indicator/Indicator.js.map +0 -1
  1129. package/dist/primitives/Indicator/Indicator.vue.d.ts +0 -144
  1130. package/dist/primitives/Indicator/Indicator.vue.d.ts.map +0 -1
  1131. package/dist/primitives/Indicator/Indicator.vue_vue_type_script_setup_true_lang.js +0 -198
  1132. package/dist/primitives/Indicator/Indicator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1133. package/dist/primitives/InlineError/InlineError.js +0 -7
  1134. package/dist/primitives/InlineError/InlineError.js.map +0 -1
  1135. package/dist/primitives/InlineError/InlineError.vue.d.ts.map +0 -1
  1136. package/dist/primitives/InlineError/InlineError.vue_vue_type_script_setup_true_lang.js +0 -44
  1137. package/dist/primitives/InlineError/InlineError.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1138. package/dist/primitives/Link/Link.js +0 -7
  1139. package/dist/primitives/Link/Link.js.map +0 -1
  1140. package/dist/primitives/Link/Link.vue.d.ts +0 -46
  1141. package/dist/primitives/Link/Link.vue.d.ts.map +0 -1
  1142. package/dist/primitives/Link/Link.vue_vue_type_script_setup_true_lang.js +0 -85
  1143. package/dist/primitives/Link/Link.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1144. package/dist/primitives/Menubar/Menubar.js +0 -7
  1145. package/dist/primitives/Menubar/Menubar.js.map +0 -1
  1146. package/dist/primitives/Menubar/Menubar.vue.d.ts.map +0 -1
  1147. package/dist/primitives/Menubar/Menubar.vue_vue_type_script_setup_true_lang.js +0 -184
  1148. package/dist/primitives/Menubar/Menubar.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1149. package/dist/primitives/NumberField/NumberField.js +0 -7
  1150. package/dist/primitives/NumberField/NumberField.js.map +0 -1
  1151. package/dist/primitives/NumberField/NumberField.vue.d.ts +0 -108
  1152. package/dist/primitives/NumberField/NumberField.vue.d.ts.map +0 -1
  1153. package/dist/primitives/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +0 -248
  1154. package/dist/primitives/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1155. package/dist/primitives/OtpInput/OtpInput.js +0 -7
  1156. package/dist/primitives/OtpInput/OtpInput.js.map +0 -1
  1157. package/dist/primitives/OtpInput/OtpInput.vue.d.ts +0 -110
  1158. package/dist/primitives/OtpInput/OtpInput.vue.d.ts.map +0 -1
  1159. package/dist/primitives/OtpInput/OtpInput.vue_vue_type_script_setup_true_lang.js +0 -130
  1160. package/dist/primitives/OtpInput/OtpInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1161. package/dist/primitives/Pagination/Pagination.js +0 -7
  1162. package/dist/primitives/Pagination/Pagination.js.map +0 -1
  1163. package/dist/primitives/Pagination/Pagination.vue.d.ts +0 -143
  1164. package/dist/primitives/Pagination/Pagination.vue.d.ts.map +0 -1
  1165. package/dist/primitives/Pagination/Pagination.vue_vue_type_script_setup_true_lang.js +0 -231
  1166. package/dist/primitives/Pagination/Pagination.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1167. package/dist/primitives/Popover/Popover.js +0 -7
  1168. package/dist/primitives/Popover/Popover.js.map +0 -1
  1169. package/dist/primitives/Popover/Popover.vue.d.ts +0 -61
  1170. package/dist/primitives/Popover/Popover.vue.d.ts.map +0 -1
  1171. package/dist/primitives/Popover/Popover.vue_vue_type_script_setup_true_lang.js +0 -59
  1172. package/dist/primitives/Popover/Popover.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1173. package/dist/primitives/Progress/Progress.js +0 -7
  1174. package/dist/primitives/Progress/Progress.js.map +0 -1
  1175. package/dist/primitives/Progress/Progress.vue.d.ts +0 -96
  1176. package/dist/primitives/Progress/Progress.vue.d.ts.map +0 -1
  1177. package/dist/primitives/Progress/Progress.vue_vue_type_script_setup_true_lang.js +0 -133
  1178. package/dist/primitives/Progress/Progress.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1179. package/dist/primitives/RadialProgress/RadialProgress.js +0 -7
  1180. package/dist/primitives/RadialProgress/RadialProgress.js.map +0 -1
  1181. package/dist/primitives/RadialProgress/RadialProgress.vue.d.ts +0 -96
  1182. package/dist/primitives/RadialProgress/RadialProgress.vue.d.ts.map +0 -1
  1183. package/dist/primitives/RadialProgress/RadialProgress.vue_vue_type_script_setup_true_lang.js +0 -189
  1184. package/dist/primitives/RadialProgress/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1185. package/dist/primitives/RadioGroup/RadioGroup.js +0 -7
  1186. package/dist/primitives/RadioGroup/RadioGroup.js.map +0 -1
  1187. package/dist/primitives/RadioGroup/RadioGroup.vue.d.ts.map +0 -1
  1188. package/dist/primitives/RadioGroup/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -80
  1189. package/dist/primitives/RadioGroup/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1190. package/dist/primitives/Rating/Rating.js +0 -7
  1191. package/dist/primitives/Rating/Rating.js.map +0 -1
  1192. package/dist/primitives/Rating/Rating.vue.d.ts +0 -113
  1193. package/dist/primitives/Rating/Rating.vue.d.ts.map +0 -1
  1194. package/dist/primitives/Rating/Rating.vue_vue_type_script_setup_true_lang.js +0 -282
  1195. package/dist/primitives/Rating/Rating.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1196. package/dist/primitives/ScrollArea/ScrollArea.js +0 -7
  1197. package/dist/primitives/ScrollArea/ScrollArea.js.map +0 -1
  1198. package/dist/primitives/ScrollArea/ScrollArea.vue.d.ts.map +0 -1
  1199. package/dist/primitives/ScrollArea/ScrollArea.vue_vue_type_script_setup_true_lang.js +0 -45
  1200. package/dist/primitives/ScrollArea/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1201. package/dist/primitives/SegmentedControl/SegmentedControl.js +0 -7
  1202. package/dist/primitives/SegmentedControl/SegmentedControl.js.map +0 -1
  1203. package/dist/primitives/SegmentedControl/SegmentedControl.vue.d.ts.map +0 -1
  1204. package/dist/primitives/SegmentedControl/SegmentedControl.vue_vue_type_script_setup_true_lang.js +0 -132
  1205. package/dist/primitives/SegmentedControl/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1206. package/dist/primitives/Select/Select.js +0 -7
  1207. package/dist/primitives/Select/Select.js.map +0 -1
  1208. package/dist/primitives/Select/Select.vue.d.ts.map +0 -1
  1209. package/dist/primitives/Select/Select.vue_vue_type_script_setup_true_lang.js +0 -175
  1210. package/dist/primitives/Select/Select.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1211. package/dist/primitives/Separator/Separator.js +0 -7
  1212. package/dist/primitives/Separator/Separator.js.map +0 -1
  1213. package/dist/primitives/Separator/Separator.vue.d.ts.map +0 -1
  1214. package/dist/primitives/Separator/Separator.vue_vue_type_script_setup_true_lang.js +0 -31
  1215. package/dist/primitives/Separator/Separator.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1216. package/dist/primitives/Skeleton/Skeleton.js +0 -7
  1217. package/dist/primitives/Skeleton/Skeleton.js.map +0 -1
  1218. package/dist/primitives/Skeleton/Skeleton.vue.d.ts.map +0 -1
  1219. package/dist/primitives/Skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js +0 -37
  1220. package/dist/primitives/Skeleton/Skeleton.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1221. package/dist/primitives/Slider/Slider.js +0 -7
  1222. package/dist/primitives/Slider/Slider.js.map +0 -1
  1223. package/dist/primitives/Slider/Slider.vue.d.ts +0 -78
  1224. package/dist/primitives/Slider/Slider.vue.d.ts.map +0 -1
  1225. package/dist/primitives/Slider/Slider.vue_vue_type_script_setup_true_lang.js +0 -207
  1226. package/dist/primitives/Slider/Slider.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1227. package/dist/primitives/SpeedDial/SpeedDial.js +0 -7
  1228. package/dist/primitives/SpeedDial/SpeedDial.js.map +0 -1
  1229. package/dist/primitives/SpeedDial/SpeedDial.vue.d.ts.map +0 -1
  1230. package/dist/primitives/SpeedDial/SpeedDial.vue_vue_type_script_setup_true_lang.js +0 -175
  1231. package/dist/primitives/SpeedDial/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1232. package/dist/primitives/Spinner/Spinner.js +0 -7
  1233. package/dist/primitives/Spinner/Spinner.js.map +0 -1
  1234. package/dist/primitives/Spinner/Spinner.vue.d.ts.map +0 -1
  1235. package/dist/primitives/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js +0 -63
  1236. package/dist/primitives/Spinner/Spinner.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1237. package/dist/primitives/Stepper/Stepper.js +0 -7
  1238. package/dist/primitives/Stepper/Stepper.js.map +0 -1
  1239. package/dist/primitives/Stepper/Stepper.vue.d.ts +0 -119
  1240. package/dist/primitives/Stepper/Stepper.vue.d.ts.map +0 -1
  1241. package/dist/primitives/Stepper/Stepper.vue_vue_type_script_setup_true_lang.js +0 -202
  1242. package/dist/primitives/Stepper/Stepper.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1243. package/dist/primitives/Surface/Surface.js +0 -7
  1244. package/dist/primitives/Surface/Surface.js.map +0 -1
  1245. package/dist/primitives/Surface/Surface.vue.d.ts.map +0 -1
  1246. package/dist/primitives/Surface/Surface.vue_vue_type_script_setup_true_lang.js +0 -48
  1247. package/dist/primitives/Surface/Surface.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1248. package/dist/primitives/Switch/Switch.js +0 -7
  1249. package/dist/primitives/Switch/Switch.js.map +0 -1
  1250. package/dist/primitives/Switch/Switch.vue.d.ts.map +0 -1
  1251. package/dist/primitives/Switch/Switch.vue_vue_type_script_setup_true_lang.js +0 -73
  1252. package/dist/primitives/Switch/Switch.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1253. package/dist/primitives/Tabs/Tabs.js +0 -7
  1254. package/dist/primitives/Tabs/Tabs.js.map +0 -1
  1255. package/dist/primitives/Tabs/Tabs.vue.d.ts.map +0 -1
  1256. package/dist/primitives/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +0 -54
  1257. package/dist/primitives/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1258. package/dist/primitives/TagsInput/TagsInput.js +0 -7
  1259. package/dist/primitives/TagsInput/TagsInput.js.map +0 -1
  1260. package/dist/primitives/TagsInput/TagsInput.vue.d.ts +0 -156
  1261. package/dist/primitives/TagsInput/TagsInput.vue.d.ts.map +0 -1
  1262. package/dist/primitives/TagsInput/TagsInput.vue_vue_type_script_setup_true_lang.js +0 -387
  1263. package/dist/primitives/TagsInput/TagsInput.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1264. package/dist/primitives/TextField/TextField.js +0 -7
  1265. package/dist/primitives/TextField/TextField.js.map +0 -1
  1266. package/dist/primitives/TextField/TextField.vue.d.ts +0 -167
  1267. package/dist/primitives/TextField/TextField.vue.d.ts.map +0 -1
  1268. package/dist/primitives/TextField/TextField.vue_vue_type_script_setup_true_lang.js +0 -320
  1269. package/dist/primitives/TextField/TextField.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1270. package/dist/primitives/Textarea/Textarea.js +0 -7
  1271. package/dist/primitives/Textarea/Textarea.js.map +0 -1
  1272. package/dist/primitives/Textarea/Textarea.vue.d.ts +0 -148
  1273. package/dist/primitives/Textarea/Textarea.vue.d.ts.map +0 -1
  1274. package/dist/primitives/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +0 -250
  1275. package/dist/primitives/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1276. package/dist/primitives/TimePicker/TimePicker.js +0 -7
  1277. package/dist/primitives/TimePicker/TimePicker.js.map +0 -1
  1278. package/dist/primitives/TimePicker/TimePicker.vue.d.ts +0 -111
  1279. package/dist/primitives/TimePicker/TimePicker.vue.d.ts.map +0 -1
  1280. package/dist/primitives/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +0 -185
  1281. package/dist/primitives/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1282. package/dist/primitives/Toast/Toast.js +0 -8
  1283. package/dist/primitives/Toast/Toast.js.map +0 -1
  1284. package/dist/primitives/Toast/Toast.vue.d.ts +0 -72
  1285. package/dist/primitives/Toast/Toast.vue.d.ts.map +0 -1
  1286. package/dist/primitives/Toast/Toast.vue_vue_type_script_setup_true_lang.js +0 -62
  1287. package/dist/primitives/Toast/Toast.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1288. package/dist/primitives/Toast/ToastItem.js +0 -7
  1289. package/dist/primitives/Toast/ToastItem.js.map +0 -1
  1290. package/dist/primitives/Toast/ToastItem.vue.d.ts +0 -95
  1291. package/dist/primitives/Toast/ToastItem.vue.d.ts.map +0 -1
  1292. package/dist/primitives/Toast/ToastItem.vue_vue_type_script_setup_true_lang.js +0 -114
  1293. package/dist/primitives/Toast/ToastItem.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1294. package/dist/primitives/Tooltip/Tooltip.js +0 -7
  1295. package/dist/primitives/Tooltip/Tooltip.js.map +0 -1
  1296. package/dist/primitives/Tooltip/Tooltip.vue.d.ts +0 -52
  1297. package/dist/primitives/Tooltip/Tooltip.vue.d.ts.map +0 -1
  1298. package/dist/primitives/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js +0 -56
  1299. package/dist/primitives/Tooltip/Tooltip.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1300. package/dist/primitives/WindowControls/WindowControls.js +0 -7
  1301. package/dist/primitives/WindowControls/WindowControls.js.map +0 -1
  1302. package/dist/primitives/WindowControls/WindowControls.vue.d.ts +0 -97
  1303. package/dist/primitives/WindowControls/WindowControls.vue.d.ts.map +0 -1
  1304. package/dist/primitives/WindowControls/WindowControls.vue_vue_type_script_setup_true_lang.js +0 -121
  1305. package/dist/primitives/WindowControls/WindowControls.vue_vue_type_script_setup_true_lang.js.map +0 -1
  1306. package/dist/theme.js +0 -171
  1307. package/dist/theme.js.map +0 -1
  1308. /package/dist/{blocks/AppHeader → packages/blocks/app-header/src}/AppHeader.vue.d.ts +0 -0
  1309. /package/dist/{blocks/DashboardGrid → packages/blocks/dashboard-grid/src}/DashboardGrid.vue.d.ts +0 -0
  1310. /package/dist/{blocks/EmptyState → packages/blocks/empty-state/src}/EmptyState.vue.d.ts +0 -0
  1311. /package/dist/{blocks/ErrorState → packages/blocks/error-state/src}/ErrorState.vue.d.ts +0 -0
  1312. /package/dist/{blocks/FormActions → packages/blocks/form-actions/src}/FormActions.vue.d.ts +0 -0
  1313. /package/dist/{blocks/FormSection → packages/blocks/form-section/src}/FormSection.vue.d.ts +0 -0
  1314. /package/dist/{blocks/LoadingState → packages/blocks/loading-state/src}/LoadingState.vue.d.ts +0 -0
  1315. /package/dist/{blocks/PageHeader → packages/blocks/page-header/src}/PageHeader.vue.d.ts +0 -0
  1316. /package/dist/{blocks/RowActions → packages/blocks/row-actions/src}/RowActions.vue.d.ts +0 -0
  1317. /package/dist/{blocks/SidebarNav → packages/blocks/sidebar-nav/src}/SidebarNav.vue.d.ts +0 -0
  1318. /package/dist/{composition/Center → packages/composition/center/src}/Center.vue.d.ts +0 -0
  1319. /package/dist/{composition/Frame → packages/composition/frame/src}/Frame.vue.d.ts +0 -0
  1320. /package/dist/{composition/Grid → packages/composition/grid/src}/Grid.vue.d.ts +0 -0
  1321. /package/dist/{composition/Inline → packages/composition/inline/src}/Inline.vue.d.ts +0 -0
  1322. /package/dist/{composition/ScrollReel → packages/composition/scroll-reel/src}/ScrollReel.vue.d.ts +0 -0
  1323. /package/dist/{composition/Sidebar → packages/composition/sidebar/src}/Sidebar.vue.d.ts +0 -0
  1324. /package/dist/{composition/Split → packages/composition/split/src}/Split.vue.d.ts +0 -0
  1325. /package/dist/{composition/Stack → packages/composition/stack/src}/Stack.vue.d.ts +0 -0
  1326. /package/dist/{lib → packages/core/src}/attrs.d.ts +0 -0
  1327. /package/dist/{lib → packages/core/src}/cn.d.ts +0 -0
  1328. /package/dist/{lib → packages/core/src}/icon-defaults.d.ts +0 -0
  1329. /package/dist/{lib → packages/core/src}/motion.d.ts +0 -0
  1330. /package/dist/{lib → packages/core/src}/props.d.ts +0 -0
  1331. /package/dist/{lib → packages/core/src}/theme.d.ts +0 -0
  1332. /package/dist/{lib → packages/labels/src}/ancestor-disabled.d.ts +0 -0
  1333. /package/dist/{lib → packages/labels/src}/count-labels.d.ts +0 -0
  1334. /package/dist/{lib → packages/labels/src}/date-labels.d.ts +0 -0
  1335. /package/dist/{lib → packages/labels/src}/field-context.d.ts +0 -0
  1336. /package/dist/{lib → packages/labels/src}/labels.d.ts +0 -0
  1337. /package/dist/{layouts/AppShell → packages/layouts/app-shell/src}/AppShell.vue.d.ts +0 -0
  1338. /package/dist/{layouts/Centered → packages/layouts/centered/src}/Centered.vue.d.ts +0 -0
  1339. /package/dist/{layouts/Dashboard → packages/layouts/dashboard/src}/Dashboard.vue.d.ts +0 -0
  1340. /package/dist/{layouts/FormLayout → packages/layouts/form-layout/src}/FormLayout.vue.d.ts +0 -0
  1341. /package/dist/{layouts/MasterDetail → packages/layouts/master-detail/src}/MasterDetail.vue.d.ts +0 -0
  1342. /package/dist/{layouts/Reading → packages/layouts/reading/src}/Reading.vue.d.ts +0 -0
  1343. /package/dist/{layouts/Settings → packages/layouts/settings/src}/Settings.vue.d.ts +0 -0
  1344. /package/dist/{layouts/SplitLayout → packages/layouts/split-layout/src}/SplitLayout.vue.d.ts +0 -0
  1345. /package/dist/{primitives/Badge → packages/primitives/badge/src}/Badge.vue.d.ts +0 -0
  1346. /package/dist/{primitives/Breadcrumb → packages/primitives/breadcrumb/src}/Breadcrumb.vue.d.ts +0 -0
  1347. /package/dist/{primitives/Checkbox → packages/primitives/checkbox/src}/Checkbox.vue.d.ts +0 -0
  1348. /package/dist/{primitives/ContextMenu → packages/primitives/context-menu/src}/ContextMenu.vue.d.ts +0 -0
  1349. /package/dist/{primitives/DropdownMenu → packages/primitives/dropdown-menu/src}/DropdownMenu.vue.d.ts +0 -0
  1350. /package/dist/{primitives/Field → packages/primitives/field/src}/Field.vue.d.ts +0 -0
  1351. /package/dist/{primitives/Fieldset → packages/primitives/fieldset/src}/Fieldset.vue.d.ts +0 -0
  1352. /package/dist/{primitives/IconButton → packages/primitives/icon-button/src}/IconButton.vue.d.ts +0 -0
  1353. /package/dist/{primitives/InlineError → packages/primitives/inline-error/src}/InlineError.vue.d.ts +0 -0
  1354. /package/dist/{primitives/Menubar → packages/primitives/menubar/src}/Menubar.vue.d.ts +0 -0
  1355. /package/dist/{primitives/RadioGroup → packages/primitives/radio-group/src}/RadioGroup.vue.d.ts +0 -0
  1356. /package/dist/{primitives/ScrollArea → packages/primitives/scroll-area/src}/ScrollArea.vue.d.ts +0 -0
  1357. /package/dist/{primitives/SegmentedControl → packages/primitives/segmented-control/src}/SegmentedControl.vue.d.ts +0 -0
  1358. /package/dist/{primitives/Select → packages/primitives/select/src}/Select.vue.d.ts +0 -0
  1359. /package/dist/{primitives/Separator → packages/primitives/separator/src}/Separator.vue.d.ts +0 -0
  1360. /package/dist/{primitives/Skeleton → packages/primitives/skeleton/src}/Skeleton.vue.d.ts +0 -0
  1361. /package/dist/{primitives/SpeedDial → packages/primitives/speed-dial/src}/SpeedDial.vue.d.ts +0 -0
  1362. /package/dist/{primitives/Spinner → packages/primitives/spinner/src}/Spinner.vue.d.ts +0 -0
  1363. /package/dist/{primitives/Surface → packages/primitives/surface/src}/Surface.vue.d.ts +0 -0
  1364. /package/dist/{primitives/Switch → packages/primitives/switch/src}/Switch.vue.d.ts +0 -0
  1365. /package/dist/{primitives/Tabs → packages/primitives/tabs/src}/Tabs.vue.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/primitives/DateTimeRangePicker/DateTimeRangePicker.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { LabelOf } from \"../../lib/labels\";\nimport type {\n CalendarPanelLabels,\n DateSegmentLabels,\n RangeCellLabels,\n TimeSegmentLabels,\n} from \"../../lib/date-labels\";\nimport { optional } from \"../../lib/props\";\n\n/**\n * A span between two instants as the outside world holds it: two plain ISO\n * local date-time strings, `\"YYYY-MM-DDTHH:mm\"`, both optional.\n *\n * The shape is `DateRange`'s and the reasoning behind it is `DateRange`'s — a\n * half-made range has to be representable, and `range.start` reads where\n * `range[0]` needs a comment. What is deliberately not shared is the **name**.\n * Two identically-shaped types whose strings are in different formats are\n * exactly what distinct names are for: a `DateRange` handed to this control\n * loses its times, and a `DateTimeRange` handed to DateRangePicker carries a\n * `T09:30` no calendar day can hold. One name for both would let either mistake\n * compile.\n */\nexport interface DateTimeRange {\n /** The instant the span opens at, ISO `\"YYYY-MM-DDTHH:mm\"`. Absent while nothing has been chosen. */\n start?: string | undefined;\n /** The instant the span closes at, ISO `\"YYYY-MM-DDTHH:mm\"`. Absent while only the start has been chosen. */\n end?: string | undefined;\n}\n\n/**\n * The strings this control says that no other member of the family says: the\n * two half-group names and the status line above the grids.\n *\n * They are **not** shared with `DateRangePicker`, which says both in different\n * words and from different facts — `Start date` against `Start date and time`,\n * a count of whole days against a signed duration. A key shared between them\n * would have to be a sentence that is never true of both. Its calendar cells'\n * names *are* shared, in `rangeCell`, because those differ in neither.\n *\n * The segment names and the calendar chrome, which every one of the five\n * shares, come from `src/lib/date-labels.ts` too.\n */\nexport interface DateTimeRangeLabels {\n /** The group holding the first half of the field. Reka names a segment `hour` or `year` alone, which is ten segments and two identical sets of five names with nothing to tell the ends apart. */\n readonly startDate: string;\n /** The group holding the second half of the field. */\n readonly endDate: string;\n /**\n * The `role=\"status\"` line above the grids — what has been chosen, what is\n * wanted next, how long the finished span is, and whether it runs backwards.\n *\n * **One message rather than four sentences and a joiner**, and that collapse\n * is what deleted this control's hand-rolled pluraliser rather than moving\n * it. `minutes` is the whole duration as a number, so a host builds \"2 days\n * 3 hours\" with `Intl.DurationFormat`, `Intl.PluralRules` or their own\n * translation file — Loom ships no plural engine and appends no `\"s\"`.\n *\n * `minutes` is **signed**: negative means the end falls before the start,\n * which within a single day only the times can decide and which nothing in\n * the grid distinguishes. It is `undefined` while the range is half made.\n *\n * `locale`, `hour12` and `seconds` arrive only because Loom's own English\n * default has to format the two instants somehow, and they are the control's\n * own props rather than anything it has already decided. A host replacing\n * this formats with whatever their application already uses and ignores all\n * three.\n */\n readonly status: LabelOf<{\n locale: string;\n start: DateValue | undefined;\n end: DateValue | undefined;\n minutes: number | undefined;\n hour12: boolean | undefined;\n seconds: boolean;\n }>;\n}\n\nconst MINUTES_PER_HOUR = 60;\nconst MINUTES_PER_DAY = 1440;\n\n/** A date and a time in the control's locale, at the precision the field is showing. */\nfunction formatInstant(\n locale: string,\n date: DateValue,\n hour12: boolean | undefined,\n seconds: boolean,\n): string {\n return new Intl.DateTimeFormat(locale, {\n dateStyle: \"long\",\n timeStyle: seconds ? \"medium\" : \"short\",\n // Absent means \"follow the locale\", which is what an unset `hourCycle`\n // means everywhere else on this surface; a concrete `false` would force\n // 24-hour onto a reader whose locale writes AM and PM.\n ...optional({ hour12 }),\n }).format(date.toDate(getLocalTimeZone()));\n}\n\n/**\n * English's plural rule, in English's own bag, which is the only place a plural\n * rule belongs. It is not extracted, not shared, and applies to nothing a host\n * supplies: `status` hands over the minutes and receives a finished sentence,\n * so a language with one form or with six selects its own.\n */\nfunction englishDuration(minutes: number): string {\n if (minutes === 0) return \"no time at all\";\n const days = Math.floor(minutes / MINUTES_PER_DAY);\n const hours = Math.floor((minutes % MINUTES_PER_DAY) / MINUTES_PER_HOUR);\n const rest = minutes % MINUTES_PER_HOUR;\n return [\n [days, \"day\"],\n [hours, \"hour\"],\n [rest, \"minute\"],\n ]\n .filter(([count]) => (count as number) > 0)\n .map(([count, name]) => `${String(count)} ${String(name)}${count === 1 ? \"\" : \"s\"}`)\n .join(\" \");\n}\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it, and\n * exported so a host can build a partial vocabulary against the real thing.\n */\nexport const DATE_TIME_RANGE_LABELS: DateTimeRangeLabels = {\n startDate: \"Start date and time\",\n endDate: \"End date and time\",\n status: ({ locale, start, end, minutes, hour12, seconds }) => {\n const anchor = start ?? end;\n if (!anchor) return \"Nothing chosen. Choose the first day of the range.\";\n if (!start || !end || minutes === undefined) {\n return `${formatInstant(locale, anchor, hour12, seconds)} chosen. Choose the last day of the range.`;\n }\n const span = `${formatInstant(locale, start, hour12, seconds)} to ${formatInstant(locale, end, hour12, seconds)}`;\n if (minutes < 0) return `${span}. The end falls before the start.`;\n return `${span}, ${englishDuration(minutes)}.`;\n },\n};\n\n/**\n * Everything this control can be asked to say: the four shared slices, plus its\n * own. Annotate a bag with `LabelOverrides<DateTimeRangePickerLabels>` and never\n * with this, which is total.\n */\nexport type DateTimeRangePickerLabels = DateSegmentLabels &\n TimeSegmentLabels &\n CalendarPanelLabels &\n RangeCellLabels &\n DateTimeRangeLabels;\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, useId, useTemplateRef, watch } from \"vue\";\nimport {\n DateRangePickerRoot,\n DateRangePickerAnchor,\n DateRangePickerField,\n DateRangePickerInput,\n DateRangePickerTrigger,\n DateRangePickerContent,\n DateRangePickerCalendar,\n DateRangePickerHeader,\n DateRangePickerPrev,\n DateRangePickerHeading,\n DateRangePickerNext,\n DateRangePickerGrid,\n DateRangePickerGridHead,\n DateRangePickerGridRow,\n DateRangePickerHeadCell,\n DateRangePickerGridBody,\n DateRangePickerCell,\n DateRangePickerCellTrigger,\n} from \"reka-ui\";\nimport { CalendarRange, ChevronLeft, ChevronRight } from \"@lucide/vue\";\nimport {\n getLocalTimeZone,\n isSameDay,\n isToday,\n parseDateTime,\n toCalendarDate,\n toCalendarDateTime,\n type CalendarDateTime,\n type DateValue,\n} from \"@internationalized/date\";\nimport { cn } from \"../../lib/cn\";\nimport { useSplitAttrs } from \"../../lib/attrs\";\nimport { useAncestorDisabled } from \"../../lib/ancestor-disabled\";\nimport { useFieldControl } from \"../../lib/field-context\";\nimport { useLabels, type LabelOverrides } from \"../../lib/labels\";\nimport {\n CALENDAR_PANEL_LABELS,\n DATE_SEGMENT_LABELS,\n RANGE_CELL_LABELS,\n TIME_SEGMENT_LABELS,\n emptySegmentValueText,\n isDateSegmentPart,\n isTimeSegmentPart,\n type RangeCellPart,\n} from \"../../lib/date-labels\";\n\n/** The range as Reka models it, which is the same shape carrying calendar objects. */\ntype CalendarRangeValue = { start: DateValue | undefined; end: DateValue | undefined };\n\n/** Which end of the range a segment belongs to, as Reka's field parts name it. */\ntype SegmentType = \"start\" | \"end\";\n\n/** A time of day with no day attached, which is the half of an instant the calendar never touches. */\ntype TimeOfDay = { hour: number; minute: number; second: number };\n\n/**\n * DateTimeRangePicker — a span between two instants: a day and a time at each\n * end, entered either by typing across one segmented field or by picking the\n * two days out of a two-month calendar. Reach for it wherever the value is a\n * window with a clock on it — a meeting, a shift, a maintenance slot, a log\n * query.\n *\n * It is the intersection of two controls that already exist, and it re-decides\n * nothing either of them settled. From\n * [DateRangePicker](../DateRangePicker/DateRangePicker.vue): the\n * `{ start, end }` model with both halves optional so a half-made range is\n * representable, the two named half-groups, the two months that stack rather\n * than dropping one below `sm`, and the `role=\"status\"` line that gives a\n * keyboard reader what the hover preview only gives a pointer. From\n * [DateTimePicker](../DateTimePicker/DateTimePicker.vue): the local ISO\n * date-time value with no timezone in it, `min`/`max` widened to whole days on\n * the way into the calendar with instant precision re-applied here, the field\n * keyed on `${granularity}-${hourCycle}` because Reka reads both once, and the\n * rewritten hour announcement. Read those two files for the reasoning; the\n * comments below cover only what having two ends *and* a clock changes.\n *\n * **What it changes is that the round trip doubles and then grows a cross\n * term.** DateTimePicker has one time to protect through a day being picked.\n * This has the start's time, the end's time, and the case where both ends fall\n * on the same day at different times — a meeting from 09:00 to 10:00, which is\n * the single most ordinary thing anyone will bind to this control and which a\n * range calendar that refuses a repeated day, or collapses one to a single\n * instant, gets wrong. `heldTimes` below is what keeps all three.\n *\n * Ordering is inherited rather than re-decided, and the two halves of it are\n * inherited from different parents. The calendar orders **days**: clicking the\n * 20th and then the 14th gives the 14th to the 20th, because refusing the\n * second half of a backwards gesture explains nothing. It never orders\n * **times** — those are only ever the ones each half already had, so a range\n * that ends before it starts (which within one day only the times can decide)\n * is announced invalid, exactly as a typed one is, rather than silently\n * swapped. Normalising across days and quietly not within one would be the\n * trap.\n *\n * For a span of whole days reach for DateRangePicker; for one instant,\n * DateTimePicker; for a time of day with no date, TimePicker. Two\n * DateTimePickers side by side are two values and two validations, and nothing\n * between them knows that the second must not fall before the first.\n *\n * Inside a [Field](../Field/Field.vue) it wires itself through\n * `useFieldControl()` — the row's id, the id of its hint or error line, and\n * `required` / `invalid` / `disabled` / `readonly` / `name` — so `<Field\n * label=\"Meeting\" error=\"…\"><DateTimeRangePicker /></Field>` needs no\n * attributes at the call site. Every prop below still wins over the row when it\n * is set, in both directions, which is why the four booleans default to\n * `undefined` rather than `false`. The row describes the span as a whole and\n * not either end: a description repeated onto both halves is read out twice for\n * one value.\n */\nconst props = withDefaults(\n defineProps<{\n /**\n * The chosen span, as `{ start, end }` ISO `\"YYYY-MM-DDTHH:mm\"` strings —\n * `\"…:ss\"` when `granularity` asks for seconds. Either half may be absent:\n * `{}` is nothing chosen, `{ start }` is a range half made. A bare\n * `\"YYYY-MM-DD\"` is accepted in either half and read as midnight that day.\n * The explicit `| undefined` is what lets `v-model` bind a ref that clears.\n */\n modelValue?: DateTimeRange | undefined;\n /** The earliest choosable instant, same format. The calendar disables every day that lies wholly before it; a time before it on the boundary day is announced invalid rather than refused. */\n min?: string;\n /** The latest choosable instant, same format. The calendar disables every day that lies wholly after it; a time after it on the boundary day is announced invalid rather than refused. */\n max?: string;\n /** How far down both halves of the field go. `\"minute\"` reports `\"YYYY-MM-DDTHH:mm\"`; `\"second\"` adds a seconds segment to each end and reports `\"YYYY-MM-DDTHH:mm:ss\"`. */\n granularity?: \"minute\" | \"second\";\n /** Whether both times read as 12-hour with an AM/PM segment or as 24-hour. Display only: the value stays 24-hour. Unset follows `locale`. */\n hourCycle?: 12 | 24;\n /** BCP 47 tag driving the order of the segments in both halves, the month and weekday names, which day a week starts on, and the 12-or-24-hour default. */\n locale?: string;\n /** How many months the calendar shows at once. Two is the default because a span is usually read across a month boundary; one is for a host that knows it is rendering into a narrow shell. */\n months?: 1 | 2;\n /** Unavailable: dims the control, refuses the calendar, and takes the field out of the tab order. Unset defers to a wrapping Field. */\n disabled?: boolean | undefined;\n /** Shows the span without allowing an edit: the field stays a Tab stop and stays submitted, and the calendar button is dropped because nothing in the calendar could be chosen. Unset defers to a wrapping Field. */\n readonly?: boolean | undefined;\n /** Error state: paints the destructive border and ring, and sets `aria-invalid`. An instant outside `min`/`max`, or an end before its start, does the same on its own whatever this says. Unset defers to a wrapping Field's `error`. */\n invalid?: boolean | undefined;\n /** Marks the field mandatory to assistive tech (`aria-required` on the group holding both halves). Unset defers to a wrapping Field. */\n required?: boolean | undefined;\n /** The field name for a native form post or `FormData`. Reka submits the whole span through one hidden input, as `start - end`. Unset defers to a wrapping Field. */\n name?: string;\n /**\n * Names for everything this control says out loud, as any subset of\n * `DateTimeRangePickerLabels` — the rest stay as the host's\n * `provideLoomLabels` vocabulary left them, and then as Loom's English.\n *\n * This is the per-instance correction, not the place to localise an\n * application: eleven of the eighteen names replace English literals Reka UI\n * writes of its own accord, and a language is set once with\n * `provideLoomLabels`.\n */\n labels?: LabelOverrides<DateTimeRangePickerLabels>;\n }>(),\n {\n granularity: \"minute\",\n locale: \"en\",\n months: 2,\n // Not `false`, for any of the four — TextField.vue carries the full\n // reasoning: `false` is a caller's decision that must beat the row, absent\n // is a caller saying nothing, and only `undefined` survives to mean that\n // past Vue's absent-Boolean-casts-to-false rule.\n disabled: undefined,\n readonly: undefined,\n invalid: undefined,\n required: undefined,\n },\n);\n\nconst emit = defineEmits<{\n /** The chosen span as ISO `\"YYYY-MM-DDTHH:mm\"` strings. A half-made range arrives as `{ start }`; a cleared one as `{}`. */\n \"update:modelValue\": [value: DateTimeRange];\n}>();\n\nconst SEGMENT_TYPES: readonly SegmentType[] = [\"start\", \"end\"];\n\n// Five slots, one prop. There is no single `text` for the whole control because\n// there is no single slot: four of the five are vocabularies this control\n// shares with its siblings and only the last is its own. Naming them apart is\n// what keeps a reader of the template able to see which one a binding came\n// from. The one `labels` prop feeds all five — a getter returning the\n// intersection satisfies each slice, and the keys a slice does not know are\n// ignored by `useLabels`' own return type.\nconst dateText = useLabels(\"dateSegments\", DATE_SEGMENT_LABELS, () => props.labels);\nconst timeText = useLabels(\"timeSegments\", TIME_SEGMENT_LABELS, () => props.labels);\nconst panelText = useLabels(\"calendarPanel\", CALENDAR_PANEL_LABELS, () => props.labels);\nconst cellText = useLabels(\"rangeCell\", RANGE_CELL_LABELS, () => props.labels);\nconst text = useLabels(\"dateTimeRange\", DATE_TIME_RANGE_LABELS, () => props.labels);\n\n// Read through the refs on every call rather than resolved into a lookup table\n// once: a table built in `setup` freezes the first language and every later\n// switch silently does nothing. `undefined` for the `literal` separators, which\n// Reka renders `aria-hidden` and which must stay unnamed.\nfunction segmentLabel(part: string): string | undefined {\n if (isDateSegmentPart(part)) return dateText.value[part];\n return isTimeSegmentPart(part) ? timeText.value[part] : undefined;\n}\n\n// The companion to `segmentLabel`, and the reason it returns an object rather\n// than a string is in `emptySegmentValueText`: Reka's `aria-valuetext` is a\n// hard-coded \"Empty\" only while the segment holds nothing, so this replaces\n// that case and leaves the filled one — a number, and the locale's own month\n// name — exactly as Reka wrote it.\n// The half that owns the part owns its empty message too, so a host localising\n// only `timeSegments` still reaches the clock segments of this control.\nfunction segmentValueText(\n part: string,\n value: string,\n monthValue?: number,\n): { \"aria-valuetext\"?: string } {\n const empty = isTimeSegmentPart(part) ? timeText.value.empty : dateText.value.empty;\n const emptyResult = emptySegmentValueText(part, value, empty);\n if (emptyResult[\"aria-valuetext\"]) return emptyResult;\n if (part === \"month\" && monthValue !== undefined) {\n return {\n \"aria-valuetext\": dateText.value.filledMonth({ value: monthValue, locale: props.locale }),\n };\n }\n if (part === \"dayPeriod\") {\n return { \"aria-valuetext\": timeText.value.filledDayPeriod({ dayPeriod: value }) };\n }\n return {};\n}\n\n// Routed exactly as both parents route it, and for the same reasons: `class`\n// sizes the whole control so it lands on the anchor, and everything else names\n// or describes the value, so it lands on the `role=\"group\"` field.\ndefineOptions({ inheritAttrs: false });\nconst { attrs, rest: fieldAttrs } = useSplitAttrs();\n\nfunction fromIso(value: string | undefined): CalendarDateTime | undefined {\n if (!value) return undefined;\n try {\n // `parseDateTime` reads a bare `\"YYYY-MM-DD\"` as midnight that day and\n // refuses an offset or a `Z` outright — DateTimePicker carries why that\n // refusal is wanted rather than tolerated.\n return parseDateTime(value);\n } catch {\n return undefined;\n }\n}\n\nfunction pad(value: number): string {\n return String(value).padStart(2, \"0\");\n}\n\n// Written out rather than taken from `toString()`, for the reason DateTimePicker\n// gives: `toString()` always prints seconds, so a minute-granularity field would\n// report a second of its own invention.\nfunction toIso(date: DateValue): string {\n const instant = toCalendarDateTime(date);\n const stamp = `${toCalendarDate(instant).toString()}T${pad(instant.hour)}:${pad(instant.minute)}`;\n return props.granularity === \"second\" ? `${stamp}:${pad(instant.second)}` : stamp;\n}\n\n// The calendar chooses a day and the bounds fence an instant, so the boundary\n// day is only partly available and is widened here to be reachable at all.\n// DateTimePicker carries the full account — and what it gives up, `outOfRange`\n// below takes back at the precision the time is actually entered.\nfunction startOfDay(date: CalendarDateTime | undefined) {\n return date?.set({ hour: 0, minute: 0, second: 0, millisecond: 0 });\n}\n\nfunction endOfDay(date: CalendarDateTime | undefined) {\n return date?.set({ hour: 23, minute: 59, second: 59, millisecond: 999 });\n}\n\nconst rootValue = computed(() =>\n optional({\n // Half of a range is still a range, so the two ends are converted\n // independently and an unparseable one only empties its own half. The whole\n // key is dropped when nothing at all is bound, which is what keeps an\n // unbound control uncontrolled — see `optional()`.\n modelValue: props.modelValue\n ? { start: fromIso(props.modelValue.start), end: fromIso(props.modelValue.end) }\n : undefined,\n minValue: startOfDay(fromIso(props.min)),\n maxValue: endOfDay(fromIso(props.max)),\n hourCycle: props.hourCycle,\n }),\n);\n\n// The half of the bound the calendar gave up, applied to **both** ends: a span\n// whose start is an hour early is as unbookable as one whose end is an hour\n// late, and Reka's own comparison now only sees the widened whole-day bounds.\nconst outOfRange = computed(() => {\n const lower = fromIso(props.min);\n const upper = fromIso(props.max);\n if (!lower && !upper) return false;\n return SEGMENT_TYPES.some((type) => {\n const value = fromIso(props.modelValue?.[type]);\n if (!value) return false;\n return (!!lower && value.compare(lower) < 0) || (!!upper && value.compare(upper) > 0);\n });\n});\n\n// An end before its start. DateRangePicker never had to derive this: two days\n// out of a calendar are ordered by Reka on the way out, and a backwards range\n// could only ever be typed. Here it can also be *built* — collapsing a span onto\n// one day keeps each end's own time, and 17:00 to 09:00 is what that is — so the\n// state is real however it arrived, and it is invisible without something\n// saying so. The status line says it in words; this is what paints it.\nconst backwards = computed(() => {\n const start = fromIso(props.modelValue?.start);\n const end = fromIso(props.modelValue?.end);\n return !!start && !!end && end.compare(start) < 0;\n});\n\n/**\n * The segments are `<div role=\"spinbutton\" tabindex=\"0\">`, and\n * `<fieldset disabled>` reaches only `<input>`, `<button>`, `<select>` and\n * `<textarea>` — so the trigger button inside a disabled group went inert while\n * the segments beside it still typed. Measured on this branch: an empty `mm`\n * segment became `8` on an arrow key. Exactly the defect DatePicker carries,\n * and fixed exactly the way DatePicker fixes it.\n *\n * Read off the DOM rather than taken from the Field context, which publishes no\n * `disabled` on purpose — see `../../lib/ancestor-disabled.ts`.\n */\nconst anchor = useTemplateRef<{ $el?: Element }>(\"anchor\");\nconst groupDisabled = useAncestorDisabled(() => anchor.value?.$el);\n\n// `id` and `aria-describedby` reach this control as fallthrough attrs rather\n// than props, so they are handed in as this caller's own values: a caller who\n// sets either still beats the row, and the row's description is merged into\n// theirs. `field.attrs` then spreads onto `DateRangePickerField` **after**\n// `fieldAttrs`, which is the node both were already landing on — DatePicker.vue\n// carries the full account of that position and of where Reka then puts each\n// key. It is the outer field group and not either half's own group: a\n// description repeated onto the start and the end is read out twice for one\n// span.\n//\n// Neither derived error is folded in here, for DateTimePicker's reason: three\n// separate claims — the host called this wrong, the instants miss the bounds\n// the host declared, the span runs backwards — cannot be carried by one\n// resolved boolean. What they share is the error *presentation*, `errored`.\nconst field = useFieldControl(() => ({\n id: attrs.id as string | undefined,\n describedBy: attrs[\"aria-describedby\"] as string | undefined,\n ariaLabelledby: attrs[\"aria-labelledby\"] as string | undefined,\n name: props.name,\n // The fieldset beats the prop in both directions, exactly as it does for the\n // trigger button inside this very control.\n disabled: groupDisabled.value ? true : props.disabled,\n readonly: props.readonly,\n invalid: props.invalid,\n required: props.required,\n}));\n\n// `aria-labelledby` for the group, resolved against the row — DatePicker's\n// reasoning, and the same three-way guard.\nconst groupLabelledBy = computed(() =>\n attrs[\"aria-label\"] || attrs[\"aria-labelledby\"] ? undefined : field.labelledBy,\n);\n\nconst errored = computed(() => field.invalid || outOfRange.value || backwards.value);\n\n// Owned here rather than left to Reka's `closeOnSelect`, for the reason\n// DatePicker gives, and closing on the *second* choice for the reason\n// DateRangePicker gives: the panel stays open over a half-made range because\n// the reader is not finished.\nconst open = ref(false);\n\n/**\n * The time each half last carried.\n *\n * Every calendar cell carries the placeholder's time, and the placeholder\n * follows the *start*. That is the whole round trip in DateTimePicker and it is\n * only half of one here: picking the end's day out of the calendar would give\n * the end the start's time. Worse, Reka's two-click protocol drops the end\n * outright on the click that begins a new range, so by the second click the\n * end's own time is nowhere in the model to be read back.\n *\n * So it is remembered here, and deliberately not as a computed: a computed over\n * `modelValue` is exactly the thing that has already gone. A half is forgotten\n * only when it is cleared while the panel is **closed** — that is a reader\n * emptying the field and meaning it, where a half missing mid-gesture is Reka's\n * protocol and its time still has an owner.\n */\nconst heldTimes: Record<SegmentType, TimeOfDay | undefined> = { start: undefined, end: undefined };\n\nwatch(\n () => [props.modelValue?.start, props.modelValue?.end] as const,\n ([start, end]) => {\n for (const [type, iso] of [\n [\"start\", start],\n [\"end\", end],\n ] as const) {\n const value = fromIso(iso);\n heldTimes[type] = value\n ? { hour: value.hour, minute: value.minute, second: value.second }\n : open.value\n ? heldTimes[type]\n : undefined;\n }\n },\n { immediate: true },\n);\n\nfunction keepTime(type: SegmentType, picked: DateValue, fromCalendar: boolean): DateValue {\n // The field is the only other thing that can move a value, and it moves the\n // time itself — re-timing what it reports would overwrite the keystroke.\n if (!fromCalendar) return picked;\n const current = fromIso(props.modelValue?.[type]);\n // A segment typed while the panel happens to be open lands on a day that has\n // not moved, and that edit's time is the one that must win. Where the day did\n // move, the held time and the current one agree anyway, so this costs\n // nothing and closes the one case where they would not.\n if (current && isSameDay(current, picked)) return picked;\n const held = heldTimes[type];\n return held ? toCalendarDateTime(picked).set(held) : picked;\n}\n\nfunction onRangeChange(range: CalendarRangeValue) {\n // Read before `open` is written below. While the panel is open the calendar\n // is what moved, and the calendar only ever chooses a day.\n const fromCalendar = open.value;\n if (range.start && range.end) open.value = false;\n emit(\n \"update:modelValue\",\n optional({\n start: range.start ? toIso(keepTime(\"start\", range.start, fromCalendar)) : undefined,\n end: range.end ? toIso(keepTime(\"end\", range.end, fromCalendar)) : undefined,\n }),\n );\n}\n\nfunction isDateToday(date: DateValue): boolean {\n return isToday(date, getLocalTimeZone());\n}\n\n// One Tab stop for the whole field, which is ten segments at the default\n// settings and fourteen with AM/PM and seconds at both ends. DateRangePicker's\n// roving stop, unchanged: Reka collects both halves' segments into one ordered\n// set and walks it with ArrowLeft/ArrowRight, so a stop per half would be an\n// arbitrary place to make a keyboard user press Tab. The remembered segment is\n// keyed by half *and* part — `hour` alone names two different segments here.\nconst focusedSegment = ref<string>();\n\nfunction segmentKey(type: SegmentType, part: string): string {\n return `${type}:${part}`;\n}\n\nfunction segmentTabIndex(\n type: SegmentType,\n part: string,\n segments: Record<SegmentType, readonly { part: string }[]>,\n): number | undefined {\n // Read-only keeps every stop it had, unlike disabled: the span is on show and\n // a reader still arrows across the segments to read it.\n if (field.disabled || part === \"literal\") return undefined;\n const editable = SEGMENT_TYPES.flatMap((each) =>\n segments[each]\n .filter((segment) => segment.part !== \"literal\")\n .map((segment) => segmentKey(each, segment.part)),\n );\n // Dropped when a granularity, hour-cycle or locale change takes the\n // remembered segment away — a field whose only tab stop is a seconds segment\n // that no longer exists is a field nothing can reach.\n const active =\n focusedSegment.value !== undefined && editable.includes(focusedSegment.value)\n ? focusedSegment.value\n : editable[0];\n return segmentKey(type, part) === active ? 0 : -1;\n}\n\n// Reka seeds the field's segment values from the granularity and builds its\n// formatter from the hour cycle once, at setup, and watches neither — the same\n// shared code, and so the same two observed symptoms TimePicker and\n// DateTimePicker record. Both are structural, so the field is rebuilt rather\n// than patched. `locale` is deliberately not in the key: Reka does watch that.\nconst shape = computed(() => `${props.granularity}-${String(props.hourCycle)}`);\n\n/**\n * The same \"13 PM\" defect DateTimePicker and TimePicker document, in the same\n * shared Reka segment code: the hour publishes `aria-valuenow` off the internal\n * 24-hour value while declaring its range as 1–12. Rebuilt from what the\n * segment is actually showing, and only under an explicit 12-hour cycle — left\n * to the locale, Reka defers to the formatter and the pair already agrees. It\n * takes one half's segments at a time, because the two hours are two segments\n * showing two different numbers.\n */\nfunction hourAnnouncement(\n segments: readonly { part: string; value: string }[],\n): Record<string, string | number> | undefined {\n if (props.hourCycle !== 12) return undefined;\n const shown = Number(segments.find((segment) => segment.part === \"hour\")?.value);\n if (!Number.isInteger(shown)) return undefined;\n const period = segments.find((segment) => segment.part === \"dayPeriod\")?.value;\n return { \"aria-valuenow\": shown, \"aria-valuetext\": period ? `${shown} ${period}` : `${shown}` };\n}\n\nconst headingId = useId();\n\n// Each grid's own name is formatted here rather than read off Reka because it\n// is needed in the parent scope of the cells, where Reka's slot props are not\n// in scope — and it is a date rather than a label, so `Intl` and `locale` are\n// the whole answer. A Thai reader gets a Buddhist year in it, as in the field.\nconst monthFormat = computed(\n () => new Intl.DateTimeFormat(props.locale, { month: \"long\", year: \"numeric\" }),\n);\n\nfunction format(formatter: Intl.DateTimeFormat, date: DateValue): string {\n return formatter.format(date.toDate(getLocalTimeZone()));\n}\n\nconst MS_PER_MINUTE = 60_000;\n\n/**\n * How long the span is, as a signed count of minutes — a number handed over,\n * never words. The `unit(count, name)` that used to append an `\"s\"` here was\n * English's plural rule sitting in a control that renders in every language;\n * it is deleted rather than extracted, and English's own copy of it lives in\n * `DATE_TIME_RANGE_LABELS` where nothing else inherits it.\n *\n * DateRangePicker counts **days with both ends included**, because a booking of\n * the 14th to the 20th is seven days. That rule is wrong here, and wrong in the\n * direction that matters most: it reads a meeting from 09:00 to 10:00 as \"1\n * day\". A span between two instants is the distance between them, so this\n * measures that instead — and signs it, so an end before its start arrives as a\n * negative rather than as a second boolean the label would have to be handed.\n *\n * Measured through UTC rather than the local zone: this value carries no\n * timezone at all, so the honest answer is wall-clock. Converting through the\n * reader's zone would add or drop an hour across a daylight-saving boundary for\n * two instants that never claimed to be in it.\n */\nfunction spanMinutes(start: DateValue, end: DateValue): number {\n const from = toCalendarDateTime(start).toDate(\"UTC\").getTime();\n const to = toCalendarDateTime(end).toDate(\"UTC\").getTime();\n return Math.round((to - from) / MS_PER_MINUTE);\n}\n\n// **The accessibility decision this control inherits and has to say more in.**\n// The band drawn between the anchor and the pointer is what makes a range\n// calendar legible and it is worth nothing to a reader who is not looking at\n// it. Reka moves the preview on `focusin` as well as `mouseenter`, which covers\n// the reader who can see the grid; this line is the same information as text,\n// in a `role=\"status\"` above the grids.\n//\n// It says more than DateRangePicker's does because it has more to say: the two\n// ends are instants, not days, so the summary names them with their times and\n// reports how long the span actually is. The backwards case gets its own\n// sentence — that state is now reachable within a single day, where nothing in\n// the grid distinguishes it, and it must not be carried by the destructive\n// border alone.\nfunction rangeStatus(range: CalendarRangeValue): string {\n // The whole line is one label taking raw values — two instants and a signed\n // count of minutes — rather than four sentences this control joins. Which end\n // is chosen, where a duration sits in the sentence and how \"2 days 3 hours\"\n // is written are all properties of a language.\n return text.value.status({\n locale: props.locale,\n start: range.start,\n end: range.end,\n minutes: range.start && range.end ? spanMinutes(range.start, range.end) : undefined,\n hour12: props.hourCycle === undefined ? undefined : props.hourCycle === 12,\n seconds: props.granularity === \"second\",\n });\n}\n\n/**\n * A cell's part in the range, or nothing when it has none. DateRangePicker's,\n * unchanged in substance: the first day, the last and the ones between are\n * three states drawn as three shades of one colour, which survives neither a\n * colour deficiency nor forced-colors mode, so the part is named in the cell's\n * accessible name instead.\n *\n * The one-day case is the boundary that matters more here than there. A span\n * from 09:00 to 17:00 on one day is an ordinary meeting rather than a\n * degenerate range, and its single cell is genuinely both ends — announced once\n * as that, not twice as two different things.\n */\nfunction rangePart(day: DateValue, range: CalendarRangeValue): RangeCellPart | undefined {\n const isStart = range.start !== undefined && isSameDay(day, range.start);\n const isEnd = range.end !== undefined && isSameDay(day, range.end);\n if (isStart && isEnd) return \"both\";\n if (isStart) return \"start\";\n if (isEnd) return \"end\";\n if (range.start && range.end && day.compare(range.start) > 0 && day.compare(range.end) < 0) {\n return \"within\";\n }\n return undefined;\n}\n\n// Reka labels every cell with its full date already; this replaces that label\n// rather than adding to it, because a cell's part in the range has to arrive\n// *with* the date and there is no second slot on an element for a name. The\n// times are deliberately not in it: the cell is a day, and choosing it changes\n// only the day.\nfunction dayLabel(day: DateValue, range: CalendarRangeValue): string {\n return cellText.value.cell({ locale: props.locale, date: day, part: rangePart(day, range) });\n}\n\nconst panel = ref<HTMLElement | null>(null);\n\n// Focus lands on the day the calendar is already sitting on rather than on the\n// previous-month button; DatePicker carries the reasoning.\nfunction onOpenAutoFocus(event: Event) {\n const day = panel.value?.querySelector<HTMLElement>(\n '[data-reka-calendar-cell-trigger][tabindex=\"0\"]',\n );\n if (!day) return;\n event.preventDefault();\n day.focus();\n}\n</script>\n\n<template>\n <DateRangePickerRoot\n v-slot=\"{ modelValue: range }\"\n v-model:open=\"open\"\n v-bind=\"rootValue\"\n :locale=\"locale\"\n :disabled=\"field.disabled\"\n :readonly=\"field.readonly\"\n :number-of-months=\"months\"\n :granularity=\"granularity\"\n prevent-deselect\n @update:model-value=\"onRangeChange\"\n >\n <!-- Three markers rather than one spelled three ways: `data-invalid` is the\n host saying so, `data-out-of-range` is an end falling outside `min` and\n `max`, `data-backwards` is the span running the wrong way. Reka already\n spells a fourth meaning `data-invalid` on the field group below, which\n is why none of these lives there. -->\n <DateRangePickerAnchor\n ref=\"anchor\"\n :data-invalid=\"field.invalid || undefined\"\n :data-out-of-range=\"outOfRange || undefined\"\n :data-backwards=\"backwards || undefined\"\n :data-readonly=\"field.readonly || undefined\"\n :class=\"cn('block w-full', attrs.class as string)\"\n >\n <!-- The `aria-invalid` binding after the `v-bind` is the same narrow\n exception DateTimePicker makes: everywhere else the rule is to delete\n it rather than overwrite `field.attrs`' resolved value with a raw\n prop, and here it is not a raw prop — `errored` is that resolved\n value *plus* the two derived states, so it can only add the attribute\n where the spread already omitted it. -->\n <DateRangePickerField\n :key=\"shape\"\n v-slot=\"{ segments }\"\n v-bind=\"{ ...fieldAttrs, ...field.attrs }\"\n :aria-labelledby=\"groupLabelledBy\"\n :aria-invalid=\"errored || undefined\"\n :class=\"\n cn(\n // The text input's own height scale, so a span sitting in a form row\n // beside a text field lines up rather than nearly lining up. No gap:\n // every separator between two segments is itself a segment, so\n // spacing them apart writes the value as `3 / 14 / 2026 , 09 : 30`.\n 'flex h-9 w-full items-center rounded-md border border-input bg-background px-3 text-sm text-foreground',\n 'transition-[color,background-color,border-color,box-shadow] duration-fast ease-out',\n 'focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-ring',\n !errored && 'focus-within:shadow-halo',\n // Three resting appearances, all three painted on this group rather\n // than on the segments: ten segments and their separators, so a\n // per-segment fill would leave every slash, comma, colon and the\n // dash between the halves on `background` — a striped control.\n //\n // Read-only lifts to `subtle` and keeps its focus ring and its\n // full-strength text — a read-only span is a value on show, not an\n // unavailable control — with the rim left at `input`, because the\n // field is still a Tab stop and still submitted. Reka's own\n // `data-readonly` on this group says the same thing to assistive\n // tech, so nothing here rests on colour.\n field.readonly && 'bg-subtle',\n // Drained rather than faded, for the reason DatePicker writes out:\n // `opacity-50` took all ten segments and the dash between the halves\n // down with the box, from 14.09:1 to 2.99:1 and the dash to 2.02:1.\n // The fill drains one step past read-only, the muted text over it is\n // 4.68:1, and the rim slackens from `input` to `border` — three\n // channels, so the two states do not part on hue alone. The dash\n // declares its own colour and the segments declare none, so this one\n // line covers both by inheritance.\n field.disabled && 'cursor-not-allowed border-border bg-muted text-muted-foreground',\n // Last of the rules that name a border colour: `cn()` resolves one\n // by whichever class it saw last, so a field both in error and\n // unavailable would otherwise lose its destructive rim.\n errored && 'border-destructive focus-within:outline-destructive',\n )\n \"\n >\n <!-- Each half is its own named group, as in DateRangePicker and for a\n reason this control doubles: Reka labels a segment by its part\n alone, which is ten segments and two identical sets of five names.\n The group name is announced once on entering the half rather than\n folded into every segment.\n\n Every `:aria-label` from here down replaces one Reka writes in\n English inside its own render function, reaching the DOM node as a\n fallthrough attribute that Vue merges last. Removing one falls back\n not to nothing but to Reka's English. -->\n <template v-for=\"(type, typeIndex) in SEGMENT_TYPES\" :key=\"type\">\n <span v-if=\"typeIndex > 0\" aria-hidden=\"true\" class=\"px-1.5 text-muted-foreground\"\n >–</span\n >\n\n <div\n role=\"group\"\n :aria-label=\"type === 'start' ? text.startDate : text.endDate\"\n class=\"flex items-center\"\n >\n <DateRangePickerInput\n v-for=\"(item, index) in segments[type]\"\n :key=\"index\"\n :part=\"item.part\"\n :type=\"type\"\n :tabindex=\"segmentTabIndex(type, item.part, segments)\"\n :aria-label=\"segmentLabel(item.part)\"\n v-bind=\"{\n ...segmentValueText(\n item.part,\n item.value,\n (type === 'start' ? range.start : range.end)?.month,\n ),\n ...(item.part === 'hour' ? hourAnnouncement(segments[type]) : undefined),\n }\"\n :class=\"\n cn(\n 'tabular rounded-sm px-0.5 outline-none',\n 'transition-colors duration-instant ease-out',\n 'focus:bg-primary-muted focus:text-primary',\n 'data-[placeholder]:text-muted-foreground',\n item.part === 'literal' && 'text-muted-foreground',\n )\n \"\n @focusin=\"focusedSegment = segmentKey(type, item.part)\"\n >\n {{ item.value }}\n </DateRangePickerInput>\n </div>\n </template>\n\n <!-- Named for what it opens, which is a calendar of days and not a\n clock: the times are entered in the segments to its left and have no\n panel. `CalendarRange` rather than DateTimePicker's `CalendarClock`\n for the same reason — what is behind the button is two months with a\n band drawn across them. Dropped entirely while read-only, as in both\n parents: Reka's `readonly` reaches the calendar and makes every\n cell's click a no-op, so the button would open a panel in which\n nothing can be chosen. -->\n <DateRangePickerTrigger\n v-if=\"!field.readonly\"\n :aria-label=\"panelText.openCalendar\"\n class=\"ml-auto inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring disabled:cursor-not-allowed\"\n >\n <CalendarRange class=\"h-4 w-4\" />\n </DateRangePickerTrigger>\n </DateRangePickerField>\n </DateRangePickerAnchor>\n\n <DateRangePickerContent\n align=\"start\"\n :side-offset=\"6\"\n :class=\"\n cn(\n 'z-50 rounded-md border border-border bg-popover p-3 text-popover-foreground shadow-md outline-none',\n // Scoped to the open state, never unconditional — DatePicker carries\n // the full account of why.\n 'data-[state=open]:animate-fade-rise',\n )\n \"\n @open-auto-focus=\"onOpenAutoFocus\"\n >\n <div ref=\"panel\" class=\"flex flex-col gap-3\">\n <!-- `calendarLabel` is a real Reka prop rather than a literal to\n override, and it defaults to `\"Event Date\"`. It is published twice:\n as the calendar container's `aria-label`, and inside a\n visually-hidden live region Reka renders itself, which a\n fallthrough attribute could not have reached. -->\n <DateRangePickerCalendar v-slot=\"{ grid, weekDays }\" :calendar-label=\"panelText.calendar\">\n <DateRangePickerHeader class=\"flex items-center justify-between gap-2\">\n <!-- The pagers keep their opacity where the field and the cells gave\n it up: a chevron is a glyph, and fading one costs a reader\n nothing. Their names live in `aria-label`, not in dimmed text. -->\n <DateRangePickerPrev\n :aria-label=\"panelText.previousMonth\"\n class=\"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n >\n <ChevronLeft class=\"h-4 w-4\" />\n </DateRangePickerPrev>\n\n <DateRangePickerHeading\n :id=\"headingId\"\n aria-live=\"polite\"\n class=\"text-sm font-medium text-foreground\"\n />\n\n <DateRangePickerNext\n :aria-label=\"panelText.nextMonth\"\n class=\"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-sm text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring data-[disabled]:pointer-events-none data-[disabled]:opacity-50\"\n >\n <ChevronRight class=\"h-4 w-4\" />\n </DateRangePickerNext>\n </DateRangePickerHeader>\n\n <p role=\"status\" class=\"text-xs text-muted-foreground\">{{ rangeStatus(range) }}</p>\n\n <!-- Two months stacked below `sm`, side by side above it — and both of\n them in the document at every width. DateRangePicker carries the\n account of why hiding one is a keyboard trap of the quiet kind. -->\n <div class=\"flex flex-col gap-3 sm:flex-row sm:gap-5\">\n <DateRangePickerGrid\n v-for=\"month in grid\"\n :key=\"month.value.toString()\"\n role=\"grid\"\n :aria-label=\"format(monthFormat, month.value)\"\n class=\"border-collapse select-none\"\n >\n <!-- `role=\"grid\"` over Reka's `role=\"application\"`, and the rows\n laid out by the table rather than by flex: DatePicker carries\n the reasoning for both. The name is each grid's own month\n rather than the shared heading, because two grids sharing one\n name leaves a reader entering the second with no idea which\n month they are in. -->\n <DateRangePickerGridHead>\n <DateRangePickerGridRow>\n <DateRangePickerHeadCell\n v-for=\"(day, index) in weekDays\"\n :key=\"index\"\n class=\"w-9 text-xs font-normal text-muted-foreground\"\n >\n {{ day }}\n </DateRangePickerHeadCell>\n </DateRangePickerGridRow>\n </DateRangePickerGridHead>\n\n <DateRangePickerGridBody>\n <DateRangePickerGridRow v-for=\"(week, weekIndex) in month.rows\" :key=\"weekIndex\">\n <DateRangePickerCell\n v-for=\"day in week\"\n :key=\"day.toString()\"\n :date=\"day\"\n class=\"p-0 text-center\"\n >\n <DateRangePickerCellTrigger\n v-slot=\"{ dayValue, today }\"\n :day=\"day\"\n :month=\"month.value\"\n :aria-label=\"dayLabel(day, range)\"\n :aria-current=\"isDateToday(day) ? 'date' : undefined\"\n :class=\"\n cn(\n 'group relative inline-flex h-9 w-9 items-center justify-center rounded-sm text-sm text-foreground',\n 'transition-colors duration-fast ease-out hover:bg-subtle',\n 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring focus-visible:shadow-halo',\n 'data-[outside-view]:text-muted-foreground',\n // Out of range is colour and a strike, not a fade —\n // DatePicker carries the measured account. The\n // `:not([data-selected])` is there for the same reason\n // the fills below are written that way, and the strike\n // is what separates an unavailable day from an\n // adjacent month's: muted too, and still pickable.\n 'data-[disabled]:pointer-events-none data-[disabled]:line-through',\n '[&[data-disabled]:not([data-selected])]:text-muted-foreground',\n // The four competing fills, written as `:not()` of one\n // another so no cell ever has two backgrounds for the\n // stylesheet to order — DateRangePicker carries why\n // that is not something a class list can otherwise\n // state.\n 'data-[selection-start]:bg-primary data-[selection-start]:text-primary-foreground',\n 'data-[selection-end]:bg-primary data-[selection-end]:text-primary-foreground',\n '[&[data-selected]:not([data-selection-start]):not([data-selection-end])]:bg-primary-muted',\n '[&[data-selected]:not([data-selection-start]):not([data-selection-end])]:text-primary',\n '[&[data-highlighted]:not([data-selected])]:bg-subtle',\n '[&[data-selected]:not([data-selection-start]):not([data-selection-end])]:rounded-none',\n '[&[data-highlighted]:not([data-highlighted-start]):not([data-highlighted-end])]:rounded-none',\n )\n \"\n >\n {{ dayValue }}\n <span\n v-if=\"today\"\n aria-hidden=\"true\"\n class=\"absolute bottom-1 h-1 w-1 rounded-full bg-primary group-data-[selection-start]:bg-primary-foreground group-data-[selection-end]:bg-primary-foreground\"\n />\n </DateRangePickerCellTrigger>\n </DateRangePickerCell>\n </DateRangePickerGridRow>\n </DateRangePickerGridBody>\n </DateRangePickerGrid>\n </div>\n </DateRangePickerCalendar>\n </div>\n </DateRangePickerContent>\n </DateRangePickerRoot>\n</template>\n"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import Dialog_vue_vue_type_script_setup_true_lang_default, { DIALOG_LABELS } from "./Dialog.vue_vue_type_script_setup_true_lang.js";
2
- //#region src/primitives/Dialog/Dialog.vue
3
- var Dialog_default = Dialog_vue_vue_type_script_setup_true_lang_default;
4
- //#endregion
5
- export { DIALOG_LABELS, Dialog_default as default };
6
-
7
- //# sourceMappingURL=Dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.js","names":[],"sources":["../../../src/primitives/Dialog/Dialog.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * The one thing this component says on its own account.\n *\n * Everything else on the surface is the host's — `title`, `description`, the\n * body and the footer all arrive as props or slots — so the corner close\n * control is the whole of Dialog's vocabulary. Its glyph is `aria-hidden` by\n * construction, which makes this name the only thing a screen reader has to go\n * on rather than a nicety on top of visible text.\n */\nexport interface DialogLabels {\n /** The corner control that dismisses the dialog. */\n readonly close: string;\n}\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it, and\n * exported so a host can build a partial vocabulary against the real thing.\n */\nexport const DIALOG_LABELS: DialogLabels = {\n close: \"Close\",\n};\n\n/**\n * How wide the task surface gets. Width is the primitive's decision rather\n * than a class a caller passes, so three dialogs opened from three screens\n * cannot be three different widths: `md` for a confirm or a short form, `lg`\n * for a form with several sections, `xl` for an authoring surface — an editor\n * living inside a dialog.\n */\nexport type DialogSize = \"md\" | \"lg\" | \"xl\";\n\n/**\n * Each width is capped against the viewport, so the largest sizes stay usable\n * on a laptop instead of running off the screen. `satisfies` is what keeps the\n * map and the union honest: adding a member to one and not the other stops\n * compiling.\n */\nconst SIZE_CLASS = {\n md: \"w-[min(92vw,32rem)]\",\n lg: \"w-[min(92vw,44rem)]\",\n xl: \"w-[min(94vw,64rem)]\",\n} satisfies Record<DialogSize, string>;\n</script>\n\n<script setup lang=\"ts\">\nimport {\n DialogRoot,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n} from \"reka-ui\";\nimport { X } from \"@lucide/vue\";\nimport { cn } from \"../../lib/cn\";\nimport { optional } from \"../../lib/props\";\nimport { useLabels, type LabelOverrides } from \"../../lib/labels\";\n\n/**\n * Dialog — a modal task surface that blocks the rest of the UI until it is\n * resolved: confirming a destructive action, or a form that deserves the\n * user's whole attention.\n *\n * The escape contract, and it is the strictest of the overlays: opening moves\n * focus into the panel and *traps* it there, so Tab cycles the dialog's own\n * controls and never reaches the page behind. Esc, the overlay and the close\n * button all close it; closing returns focus to whatever opened it. The page\n * behind does not scroll while it is open. Everything outside the panel is\n * hidden from assistive technology, which is what makes the block real rather\n * than visual.\n *\n * `title` is a required prop rather than optional chrome: without a rendered\n * title the dialog has no accessible name, and a screen reader announces a\n * modal that says nothing about what it is asking. Pass `hideTitle` to keep it\n * for assistive technology while dropping it from the visual layout.\n *\n * Reach for `Popover` when the panel is non-blocking secondary content, and a\n * transient notification when the user need not act at all.\n */\nconst props = withDefaults(\n defineProps<{\n /** Drive the dialog from the host with `v-model:open`; omit it and the dialog owns its own state. */\n open?: boolean | undefined;\n /** The accessible name, and the question the dialog is asking. State the consequence (\"Delete scene?\"), not \"Are you sure?\". */\n title: string;\n /** Wired as the dialog's accessible description — the consequence line, rather than loose body text. */\n description?: string;\n /** Keep the title as the accessible name but drop it from the visual layout. */\n hideTitle?: boolean;\n /** Show the close affordance in the top corner. Esc and an overlay click close the dialog either way. */\n closable?: boolean;\n /** Panel width. `md` confirms, `lg` multi-section forms, `xl` authoring surfaces. */\n size?: DialogSize;\n /**\n * The name on the close control, as any subset of `DialogLabels` — what it\n * leaves out stays as the host's `provideLoomLabels` vocabulary left it,\n * and then as Loom's English.\n *\n * A whole application's language belongs in that vocabulary rather than\n * here. This is the per-instance correction, for the dialog whose close\n * means something more specific than \"Close\" — \"Stop importing\", say.\n */\n labels?: LabelOverrides<DialogLabels>;\n }>(),\n // `open: undefined` is load-bearing, not a redundant default — it is what\n // keeps the uncontrolled third state reachable past Vue's absent-Boolean\n // casting. `optional()` in the template is the other half; its docblock\n // carries the reasoning for both. `description` needs no such entry: a\n // string prop is already `undefined` when absent.\n { open: undefined, hideTitle: false, closable: true, size: \"md\" },\n);\n\ndefineEmits<{ \"update:open\": [value: boolean] }>();\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves, and a template reading the raw prop would be reading the overrides\n// rather than the answer.\nconst text = useLabels(\"dialog\", DIALOG_LABELS, () => props.labels);\n</script>\n\n<template>\n <DialogRoot v-bind=\"optional({ open })\" @update:open=\"$emit('update:open', $event)\">\n <!-- @slot The control that opens the dialog. Optional — omit it and drive\n the dialog entirely from the host with `v-model:open`. -->\n <DialogTrigger v-if=\"$slots.trigger\" as-child>\n <slot name=\"trigger\" />\n </DialogTrigger>\n\n <DialogPortal>\n <!-- The heavy weight on purpose: at `scrim`'s 70% the page behind reads\n as context, and at 60% it read as competing content. It fades rather\n than moves, so nothing behind the dialog appears to shift. The exit\n is shorter than the entrance by design — `theme.css` carries the\n argument, and a scrim that lingers on the way out is a page that\n feels slow to give itself back. -->\n <DialogOverlay\n class=\"fixed inset-0 z-50 bg-foreground/scrim data-[state=open]:animate-fade data-[state=closed]:animate-fade-out\"\n />\n <DialogContent\n :class=\"\n cn(\n 'fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2',\n SIZE_CLASS[size],\n 'rounded-lg border border-border bg-popover p-6 text-popover-foreground shadow-lg outline-none',\n // Both states scoped, never unconditional. Reka's Presence keeps\n // closed content mounted until an animationend arrives, and a\n // mount-only animation never fires a second one — which here would\n // strand a full-screen, input-blocking overlay over a page with no\n // dialog on it. The paired exit does not reintroduce that: an\n // animation that ends is precisely what Presence is waiting for,\n // and under `prefers-reduced-motion` the 0.01ms collapse still\n // fires `animationend`. What it removes is the asymmetry — a panel\n // that scaled in over 140ms used to vanish between two frames,\n // which reads as a crash rather than as a close.\n 'data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out',\n )\n \"\n >\n <DialogTitle :class=\"cn('text-base font-semibold', hideTitle && 'sr-only')\">\n {{ title }}\n </DialogTitle>\n <DialogDescription v-if=\"description\" class=\"mt-1 text-sm text-muted-foreground\">\n {{ description }}\n </DialogDescription>\n\n <!-- The gap above the body is dropped when nothing visible precedes\n it, so a dialog with a hidden title and no description does not\n open with an empty band at the top. -->\n <div :class=\"cn((description || !hideTitle) && 'mt-4')\">\n <!-- @slot The dialog body. -->\n <slot />\n </div>\n\n <!-- @slot The action row, aligned to the trailing edge. -->\n <div v-if=\"$slots.footer\" class=\"mt-6 flex items-center justify-end gap-2\">\n <slot name=\"footer\" />\n </div>\n\n <DialogClose\n v-if=\"closable\"\n :aria-label=\"text.close\"\n class=\"absolute right-4 top-4 inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\"\n >\n <X class=\"h-4 w-4\" />\n </DialogClose>\n </DialogContent>\n </DialogPortal>\n </DialogRoot>\n</template>\n"],"mappings":""}
@@ -1,97 +0,0 @@
1
- import { type LabelOverrides } from "../../lib/labels";
2
- /**
3
- * The one thing this component says on its own account.
4
- *
5
- * Everything else on the surface is the host's — `title`, `description`, the
6
- * body and the footer all arrive as props or slots — so the corner close
7
- * control is the whole of Dialog's vocabulary. Its glyph is `aria-hidden` by
8
- * construction, which makes this name the only thing a screen reader has to go
9
- * on rather than a nicety on top of visible text.
10
- */
11
- export interface DialogLabels {
12
- /** The corner control that dismisses the dialog. */
13
- readonly close: string;
14
- }
15
- /**
16
- * Loom's English, co-located with the component so it tree-shakes with it, and
17
- * exported so a host can build a partial vocabulary against the real thing.
18
- */
19
- export declare const DIALOG_LABELS: DialogLabels;
20
- /**
21
- * How wide the task surface gets. Width is the primitive's decision rather
22
- * than a class a caller passes, so three dialogs opened from three screens
23
- * cannot be three different widths: `md` for a confirm or a short form, `lg`
24
- * for a form with several sections, `xl` for an authoring surface — an editor
25
- * living inside a dialog.
26
- */
27
- export type DialogSize = "md" | "lg" | "xl";
28
- declare const _default: typeof __VLS_export;
29
- export default _default;
30
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
31
- /** Drive the dialog from the host with `v-model:open`; omit it and the dialog owns its own state. */
32
- open?: boolean | undefined;
33
- /** The accessible name, and the question the dialog is asking. State the consequence ("Delete scene?"), not "Are you sure?". */
34
- title: string;
35
- /** Wired as the dialog's accessible description — the consequence line, rather than loose body text. */
36
- description?: string;
37
- /** Keep the title as the accessible name but drop it from the visual layout. */
38
- hideTitle?: boolean;
39
- /** Show the close affordance in the top corner. Esc and an overlay click close the dialog either way. */
40
- closable?: boolean;
41
- /** Panel width. `md` confirms, `lg` multi-section forms, `xl` authoring surfaces. */
42
- size?: DialogSize;
43
- /**
44
- * The name on the close control, as any subset of `DialogLabels` — what it
45
- * leaves out stays as the host's `provideLoomLabels` vocabulary left it,
46
- * and then as Loom's English.
47
- *
48
- * A whole application's language belongs in that vocabulary rather than
49
- * here. This is the per-instance correction, for the dialog whose close
50
- * means something more specific than "Close" — "Stop importing", say.
51
- */
52
- labels?: LabelOverrides<DialogLabels>;
53
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
54
- "update:open": (value: boolean) => any;
55
- }, string, import("vue").PublicProps, Readonly<{
56
- /** Drive the dialog from the host with `v-model:open`; omit it and the dialog owns its own state. */
57
- open?: boolean | undefined;
58
- /** The accessible name, and the question the dialog is asking. State the consequence ("Delete scene?"), not "Are you sure?". */
59
- title: string;
60
- /** Wired as the dialog's accessible description — the consequence line, rather than loose body text. */
61
- description?: string;
62
- /** Keep the title as the accessible name but drop it from the visual layout. */
63
- hideTitle?: boolean;
64
- /** Show the close affordance in the top corner. Esc and an overlay click close the dialog either way. */
65
- closable?: boolean;
66
- /** Panel width. `md` confirms, `lg` multi-section forms, `xl` authoring surfaces. */
67
- size?: DialogSize;
68
- /**
69
- * The name on the close control, as any subset of `DialogLabels` — what it
70
- * leaves out stays as the host's `provideLoomLabels` vocabulary left it,
71
- * and then as Loom's English.
72
- *
73
- * A whole application's language belongs in that vocabulary rather than
74
- * here. This is the per-instance correction, for the dialog whose close
75
- * means something more specific than "Close" — "Stop importing", say.
76
- */
77
- labels?: LabelOverrides<DialogLabels>;
78
- }> & Readonly<{
79
- "onUpdate:open"?: (value: boolean) => any;
80
- }>, {
81
- size: DialogSize;
82
- open: boolean | undefined;
83
- hideTitle: boolean;
84
- closable: boolean;
85
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
86
- trigger?: (props: {}) => any;
87
- } & {
88
- default?: (props: {}) => any;
89
- } & {
90
- footer?: (props: {}) => any;
91
- }>;
92
- type __VLS_WithSlots<T, S> = T & {
93
- new (): {
94
- $slots: S;
95
- };
96
- };
97
- //# sourceMappingURL=Dialog.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.vue.d.ts","sourceRoot":"","sources":["../../../src/primitives/Dialog/Dialog.vue"],"names":[],"mappings":"AAgNA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlE;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,YAE3B,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;wBAavB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAuBd,qGAAqG;WAC9F,OAAO,GAAG,SAAS;IAC1B,gIAAgI;WACzH,MAAM;IACb,wGAAwG;kBAC1F,MAAM;IACpB,gFAAgF;gBACpE,OAAO;IACnB,yGAAyG;eAC9F,OAAO;IAClB,qFAAqF;WAC9E,UAAU;IACjB;;;;;;;;OAQG;aACM,cAAc,CAAC,YAAY,CAAC;;;;IArBrC,qGAAqG;WAC9F,OAAO,GAAG,SAAS;IAC1B,gIAAgI;WACzH,MAAM;IACb,wGAAwG;kBAC1F,MAAM;IACpB,gFAAgF;gBACpE,OAAO;IACnB,yGAAyG;eAC9F,OAAO;IAClB,qFAAqF;WAC9E,UAAU;IACjB;;;;;;;;OAQG;aACM,cAAc,CAAC,YAAY,CAAC;;;;UAV9B,UAAU;UAVV,OAAO,GAAG,SAAS;eAMd,OAAO;cAER,OAAO;;cAgSR,CAAC,KAAK,IAAiB,KAAK,GAAG;;cAC/B,CAAC,KAAK,IAAiB,KAAK,GAAG;;aAChC,CAAC,KAAK,IAAiB,KAAK,GAAG;EAWxC,CAAC;AAWL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1,97 +0,0 @@
1
- import { cn } from "../../lib/cn.js";
2
- import { optional } from "../../lib/props.js";
3
- import { useLabels } from "../../lib/labels.js";
4
- import { X } from "@lucide/vue";
5
- import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
6
- import { DialogClose, DialogContent, DialogDescription, DialogOverlay, DialogPortal, DialogRoot, DialogTitle, DialogTrigger } from "reka-ui";
7
- //#region src/primitives/Dialog/Dialog.vue?vue&type=script&setup=true&lang.ts
8
- var _hoisted_1 = {
9
- key: 1,
10
- class: "mt-6 flex items-center justify-end gap-2"
11
- };
12
- /**
13
- * Loom's English, co-located with the component so it tree-shakes with it, and
14
- * exported so a host can build a partial vocabulary against the real thing.
15
- */
16
- var DIALOG_LABELS = { close: "Close" };
17
- /**
18
- * Each width is capped against the viewport, so the largest sizes stay usable
19
- * on a laptop instead of running off the screen. `satisfies` is what keeps the
20
- * map and the union honest: adding a member to one and not the other stops
21
- * compiling.
22
- */
23
- var SIZE_CLASS = {
24
- md: "w-[min(92vw,32rem)]",
25
- lg: "w-[min(92vw,44rem)]",
26
- xl: "w-[min(94vw,64rem)]"
27
- };
28
- var Dialog_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
29
- __name: "Dialog",
30
- props: {
31
- open: {
32
- type: Boolean,
33
- default: void 0
34
- },
35
- title: {},
36
- description: {},
37
- hideTitle: {
38
- type: Boolean,
39
- default: false
40
- },
41
- closable: {
42
- type: Boolean,
43
- default: true
44
- },
45
- size: { default: "md" },
46
- labels: {}
47
- },
48
- emits: ["update:open"],
49
- setup(__props) {
50
- const props = __props;
51
- const text = useLabels("dialog", DIALOG_LABELS, () => props.labels);
52
- return (_ctx, _cache) => {
53
- return openBlock(), createBlock(unref(DialogRoot), mergeProps(unref(optional)({ open: __props.open }), { "onUpdate:open": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:open", $event)) }), {
54
- default: withCtx(() => [_ctx.$slots.trigger ? (openBlock(), createBlock(unref(DialogTrigger), {
55
- key: 0,
56
- "as-child": ""
57
- }, {
58
- default: withCtx(() => [renderSlot(_ctx.$slots, "trigger")]),
59
- _: 3
60
- })) : createCommentVNode("", true), createVNode(unref(DialogPortal), null, {
61
- default: withCtx(() => [createVNode(unref(DialogOverlay), { class: "fixed inset-0 z-50 bg-foreground/scrim data-[state=open]:animate-fade data-[state=closed]:animate-fade-out" }), createVNode(unref(DialogContent), { class: normalizeClass(unref(cn)("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2", SIZE_CLASS[__props.size], "rounded-lg border border-border bg-popover p-6 text-popover-foreground shadow-lg outline-none", "data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out")) }, {
62
- default: withCtx(() => [
63
- createVNode(unref(DialogTitle), { class: normalizeClass(unref(cn)("text-base font-semibold", __props.hideTitle && "sr-only")) }, {
64
- default: withCtx(() => [createTextVNode(toDisplayString(__props.title), 1)]),
65
- _: 1
66
- }, 8, ["class"]),
67
- __props.description ? (openBlock(), createBlock(unref(DialogDescription), {
68
- key: 0,
69
- class: "mt-1 text-sm text-muted-foreground"
70
- }, {
71
- default: withCtx(() => [createTextVNode(toDisplayString(__props.description), 1)]),
72
- _: 1
73
- })) : createCommentVNode("", true),
74
- createElementVNode("div", { class: normalizeClass(unref(cn)((__props.description || !__props.hideTitle) && "mt-4")) }, [renderSlot(_ctx.$slots, "default")], 2),
75
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "footer")])) : createCommentVNode("", true),
76
- __props.closable ? (openBlock(), createBlock(unref(DialogClose), {
77
- key: 2,
78
- "aria-label": unref(text).close,
79
- class: "absolute right-4 top-4 inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring"
80
- }, {
81
- default: withCtx(() => [createVNode(unref(X), { class: "h-4 w-4" })]),
82
- _: 1
83
- }, 8, ["aria-label"])) : createCommentVNode("", true)
84
- ]),
85
- _: 3
86
- }, 8, ["class"])]),
87
- _: 3
88
- })]),
89
- _: 3
90
- }, 16);
91
- };
92
- }
93
- });
94
- //#endregion
95
- export { DIALOG_LABELS, Dialog_vue_vue_type_script_setup_true_lang_default as default };
96
-
97
- //# sourceMappingURL=Dialog.vue_vue_type_script_setup_true_lang.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Dialog.vue_vue_type_script_setup_true_lang.js","names":["$emit","$slots"],"sources":["../../../src/primitives/Dialog/Dialog.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * The one thing this component says on its own account.\n *\n * Everything else on the surface is the host's — `title`, `description`, the\n * body and the footer all arrive as props or slots — so the corner close\n * control is the whole of Dialog's vocabulary. Its glyph is `aria-hidden` by\n * construction, which makes this name the only thing a screen reader has to go\n * on rather than a nicety on top of visible text.\n */\nexport interface DialogLabels {\n /** The corner control that dismisses the dialog. */\n readonly close: string;\n}\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it, and\n * exported so a host can build a partial vocabulary against the real thing.\n */\nexport const DIALOG_LABELS: DialogLabels = {\n close: \"Close\",\n};\n\n/**\n * How wide the task surface gets. Width is the primitive's decision rather\n * than a class a caller passes, so three dialogs opened from three screens\n * cannot be three different widths: `md` for a confirm or a short form, `lg`\n * for a form with several sections, `xl` for an authoring surface — an editor\n * living inside a dialog.\n */\nexport type DialogSize = \"md\" | \"lg\" | \"xl\";\n\n/**\n * Each width is capped against the viewport, so the largest sizes stay usable\n * on a laptop instead of running off the screen. `satisfies` is what keeps the\n * map and the union honest: adding a member to one and not the other stops\n * compiling.\n */\nconst SIZE_CLASS = {\n md: \"w-[min(92vw,32rem)]\",\n lg: \"w-[min(92vw,44rem)]\",\n xl: \"w-[min(94vw,64rem)]\",\n} satisfies Record<DialogSize, string>;\n</script>\n\n<script setup lang=\"ts\">\nimport {\n DialogRoot,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n} from \"reka-ui\";\nimport { X } from \"@lucide/vue\";\nimport { cn } from \"../../lib/cn\";\nimport { optional } from \"../../lib/props\";\nimport { useLabels, type LabelOverrides } from \"../../lib/labels\";\n\n/**\n * Dialog — a modal task surface that blocks the rest of the UI until it is\n * resolved: confirming a destructive action, or a form that deserves the\n * user's whole attention.\n *\n * The escape contract, and it is the strictest of the overlays: opening moves\n * focus into the panel and *traps* it there, so Tab cycles the dialog's own\n * controls and never reaches the page behind. Esc, the overlay and the close\n * button all close it; closing returns focus to whatever opened it. The page\n * behind does not scroll while it is open. Everything outside the panel is\n * hidden from assistive technology, which is what makes the block real rather\n * than visual.\n *\n * `title` is a required prop rather than optional chrome: without a rendered\n * title the dialog has no accessible name, and a screen reader announces a\n * modal that says nothing about what it is asking. Pass `hideTitle` to keep it\n * for assistive technology while dropping it from the visual layout.\n *\n * Reach for `Popover` when the panel is non-blocking secondary content, and a\n * transient notification when the user need not act at all.\n */\nconst props = withDefaults(\n defineProps<{\n /** Drive the dialog from the host with `v-model:open`; omit it and the dialog owns its own state. */\n open?: boolean | undefined;\n /** The accessible name, and the question the dialog is asking. State the consequence (\"Delete scene?\"), not \"Are you sure?\". */\n title: string;\n /** Wired as the dialog's accessible description — the consequence line, rather than loose body text. */\n description?: string;\n /** Keep the title as the accessible name but drop it from the visual layout. */\n hideTitle?: boolean;\n /** Show the close affordance in the top corner. Esc and an overlay click close the dialog either way. */\n closable?: boolean;\n /** Panel width. `md` confirms, `lg` multi-section forms, `xl` authoring surfaces. */\n size?: DialogSize;\n /**\n * The name on the close control, as any subset of `DialogLabels` — what it\n * leaves out stays as the host's `provideLoomLabels` vocabulary left it,\n * and then as Loom's English.\n *\n * A whole application's language belongs in that vocabulary rather than\n * here. This is the per-instance correction, for the dialog whose close\n * means something more specific than \"Close\" — \"Stop importing\", say.\n */\n labels?: LabelOverrides<DialogLabels>;\n }>(),\n // `open: undefined` is load-bearing, not a redundant default — it is what\n // keeps the uncontrolled third state reachable past Vue's absent-Boolean\n // casting. `optional()` in the template is the other half; its docblock\n // carries the reasoning for both. `description` needs no such entry: a\n // string prop is already `undefined` when absent.\n { open: undefined, hideTitle: false, closable: true, size: \"md\" },\n);\n\ndefineEmits<{ \"update:open\": [value: boolean] }>();\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves, and a template reading the raw prop would be reading the overrides\n// rather than the answer.\nconst text = useLabels(\"dialog\", DIALOG_LABELS, () => props.labels);\n</script>\n\n<template>\n <DialogRoot v-bind=\"optional({ open })\" @update:open=\"$emit('update:open', $event)\">\n <!-- @slot The control that opens the dialog. Optional — omit it and drive\n the dialog entirely from the host with `v-model:open`. -->\n <DialogTrigger v-if=\"$slots.trigger\" as-child>\n <slot name=\"trigger\" />\n </DialogTrigger>\n\n <DialogPortal>\n <!-- The heavy weight on purpose: at `scrim`'s 70% the page behind reads\n as context, and at 60% it read as competing content. It fades rather\n than moves, so nothing behind the dialog appears to shift. The exit\n is shorter than the entrance by design — `theme.css` carries the\n argument, and a scrim that lingers on the way out is a page that\n feels slow to give itself back. -->\n <DialogOverlay\n class=\"fixed inset-0 z-50 bg-foreground/scrim data-[state=open]:animate-fade data-[state=closed]:animate-fade-out\"\n />\n <DialogContent\n :class=\"\n cn(\n 'fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2',\n SIZE_CLASS[size],\n 'rounded-lg border border-border bg-popover p-6 text-popover-foreground shadow-lg outline-none',\n // Both states scoped, never unconditional. Reka's Presence keeps\n // closed content mounted until an animationend arrives, and a\n // mount-only animation never fires a second one — which here would\n // strand a full-screen, input-blocking overlay over a page with no\n // dialog on it. The paired exit does not reintroduce that: an\n // animation that ends is precisely what Presence is waiting for,\n // and under `prefers-reduced-motion` the 0.01ms collapse still\n // fires `animationend`. What it removes is the asymmetry — a panel\n // that scaled in over 140ms used to vanish between two frames,\n // which reads as a crash rather than as a close.\n 'data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out',\n )\n \"\n >\n <DialogTitle :class=\"cn('text-base font-semibold', hideTitle && 'sr-only')\">\n {{ title }}\n </DialogTitle>\n <DialogDescription v-if=\"description\" class=\"mt-1 text-sm text-muted-foreground\">\n {{ description }}\n </DialogDescription>\n\n <!-- The gap above the body is dropped when nothing visible precedes\n it, so a dialog with a hidden title and no description does not\n open with an empty band at the top. -->\n <div :class=\"cn((description || !hideTitle) && 'mt-4')\">\n <!-- @slot The dialog body. -->\n <slot />\n </div>\n\n <!-- @slot The action row, aligned to the trailing edge. -->\n <div v-if=\"$slots.footer\" class=\"mt-6 flex items-center justify-end gap-2\">\n <slot name=\"footer\" />\n </div>\n\n <DialogClose\n v-if=\"closable\"\n :aria-label=\"text.close\"\n class=\"absolute right-4 top-4 inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\"\n >\n <X class=\"h-4 w-4\" />\n </DialogClose>\n </DialogContent>\n </DialogPortal>\n </DialogRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,IAAa,gBAA8B,EACzC,OAAO,QACT;;;;;;;AAiBA,IAAM,aAAa;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;;;;;;;;;;;;;;;;;;;EAwCA,MAAM,QAAQ;EAsCd,MAAM,OAAO,UAAU,UAAU,qBAAqB,MAAM,MAAM;;GAIhE,OAAA,UAAA,GAAA,YAkEa,MAAA,UAAA,GAlEb,WAAoB,MAkEP,QAAA,CAlEe,CAAA,EAAA,MAAG,QAAA,KAAI,CAAA,GAAA,EAAM,iBAAW,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,eAAgB,MAAM,GAAA,CAAA,GAAA;IAG/E,SAAA,cAEgB,CAFKC,KAAAA,OAAO,WAA5B,UAAA,GAAA,YAEgB,MAAA,aAAA,GAAA;;KAFqB,YAAA;;KACnC,SAAA,cAAuB,CAAvB,WAAuB,KAAA,QAAA,SAAA,CAAA,CAAA;;IAGzB,CAAA,KAAA,mBAAA,IAAA,IAAA,GAAA,YA0De,MAAA,YAAA,GAAA,MAAA;KAnDb,SAAA,cAEE,CAFF,YAEE,MAAA,aAAA,GAAA,EADA,OAAM,6GAA4G,CAAA,GAEpH,YA+CgB,MAAA,aAAA,GAAA,EA9Cb,OAAK,eAAa,MAAA,EAAA,CAAE,CAAA,iEAA2F,WAAW,QAAA,OAAA,iGAAA,0EAAA,CAAA,EAAA,GAAA;MAmB3H,SAAA,cAEc;OAFd,YAEc,MAAA,WAAA,GAAA,EAFA,OAAK,eAAE,MAAA,EAAA,CAAE,CAAA,2BAA4B,QAAA,aAAS,SAAA,CAAA,EAAA,GAAA;QAC1D,SAAA,cAAW,CAAR,gBAAA,gBAAA,QAAA,KAAK,GAAA,CAAA,CAAA,CAAA;;;OAEe,QAAA,eAAzB,UAAA,GAAA,YAEoB,MAAA,iBAAA,GAAA;;QAFkB,OAAM;;QAC1C,SAAA,cAAiB,CAAd,gBAAA,gBAAA,QAAA,WAAW,GAAA,CAAA,CAAA,CAAA;;;OAMhB,mBAGM,OAAA,EAHA,OAAK,eAAE,MAAA,EAAA,CAAE,EAAE,QAAA,eAAW,CAAK,QAAA,cAAS,MAAA,CAAA,EAAA,GAAA,CAExC,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA;OAICA,KAAAA,OAAO,UAAlB,UAAA,GAAA,mBAEM,OAFN,YAEM,CADJ,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;OAIhB,QAAA,YADR,UAAA,GAAA,YAMc,MAAA,WAAA,GAAA;;QAJX,cAAY,MAAA,IAAA,CAAI,CAAC;QAClB,OAAM;;QAEN,SAAA,cAAqB,CAArB,YAAqB,MAAA,CAAA,GAAA,EAAlB,OAAM,UAAS,CAAA,CAAA,CAAA"}
@@ -1,7 +0,0 @@
1
- import Drawer_vue_vue_type_script_setup_true_lang_default, { DRAWER_LABELS } from "./Drawer.vue_vue_type_script_setup_true_lang.js";
2
- //#region src/primitives/Drawer/Drawer.vue
3
- var Drawer_default = Drawer_vue_vue_type_script_setup_true_lang_default;
4
- //#endregion
5
- export { DRAWER_LABELS, Drawer_default as default };
6
-
7
- //# sourceMappingURL=Drawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.js","names":[],"sources":["../../../src/primitives/Drawer/Drawer.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * The one thing this component says on its own account. The title, the\n * description, the body and the footer are all the host's; the drag handle is\n * `aria-hidden` and unfocusable by Reka's own design, so it says nothing at\n * all.\n *\n * The close control's glyph is `aria-hidden`, which makes this name the only\n * thing a screen reader has to go on — and unlike Dialog's, this control is\n * unconditional, so a drawer always publishes it.\n */\nexport interface DrawerLabels {\n /** The corner control that dismisses the panel. */\n readonly close: string;\n}\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it, and\n * exported so a host can build a partial vocabulary against the real thing.\n */\nexport const DRAWER_LABELS: DrawerLabels = {\n close: \"Close\",\n};\n\n/**\n * Which edge of the viewport the panel is anchored to. `right` is the default\n * because a drawer is most often opened *from* a row or a toolbar to show more\n * about what is already on screen, and left-to-right readers expect that\n * detail to arrive on the trailing edge. `left` is where navigation lives,\n * `bottom` is the sheet a narrow screen gets, and `top` is the rare one — a\n * command surface dropping in over the header.\n */\nexport type DrawerSide = \"left\" | \"right\" | \"top\" | \"bottom\";\n\n/**\n * How far the panel reaches along its own axis — width for a `left`/`right`\n * drawer, height for a `top`/`bottom` one. Like Dialog's width, this is the\n * primitive's decision rather than a class a caller passes, so two drawers\n * opened from two screens cannot be two different sizes: `sm` for a filter rail\n * or a navigation sheet, `md` for a record's detail, `lg` for a working surface\n * with a table or a multi-section form in it.\n */\nexport type DrawerSize = \"sm\" | \"md\" | \"lg\";\n\n/**\n * One row per edge, because `side` is not one decision but four made together —\n * which edge the panel is pinned to, which way it slides in from, which\n * dimension `size` then means, and which pair of corners is rounded — plus the\n * direction a dismissing swipe has to travel. Split across a `cva` map and\n * three lookups they drift, and the drift is invisible: a panel pinned to the\n * left that slides in from the right still renders, still passes its own tests,\n * and looks like a rendering bug nobody can name. `satisfies` is the other half\n * — adding a member to `DrawerSide` and not to this table stops compiling.\n *\n * `slide` and `exit` are the same motion in two directions and deliberately not\n * the same mechanism, which is worth reading before either is \"unified\".\n *\n * `slide` is a `starting:` variant rather than a keyframe, and it is a\n * transform rather than an inset or a width. A full-height panel animated on\n * `width`/`right` relayouts the document on every frame; `translate` runs on\n * the compositor. `@starting-style` supplies the before-value for the entry\n * transition at the moment Reka's `Presence` inserts the node, which is the one\n * thing a plain class cannot do. It also composes with the live swipe below:\n * the gesture writes `transform` while the entry owns `translate`, and a\n * keyframe on `transform` would overwrite a drag mid-finger.\n *\n * `exit` has to be a keyframe, for the opposite reason. `Presence` decides how\n * long to keep a closing panel mounted by reading `animation-name` and waiting\n * for `animationend` — it never observes `transitionend`. So a closed panel\n * carrying only a transition is removed from the DOM in the same frame and the\n * transition never runs, which is exactly what a drawer did until these tokens\n * existed: a 320ms slide in, answered by a hard cut. The keyframes animate\n * `translate` rather than `transform` for the same composition reason the entry\n * does, so a panel released mid-swipe leaves from where the finger left it.\n *\n * `handle` positions the grab affordance on the panel's *inner* edge, running\n * along it: a vertical pill on a side drawer, a horizontal one on a sheet.\n */\nconst SIDES = {\n left: {\n edge: \"inset-y-0 left-0 border-r\",\n corners: \"rounded-r-lg\",\n slide: \"starting:-translate-x-full\",\n exit: \"data-[state=closed]:animate-slide-out-to-left\",\n extent: \"width\",\n swipe: \"left\",\n handle: \"right-1.5 top-1/2 h-10 w-1.5 -translate-y-1/2\",\n },\n right: {\n edge: \"inset-y-0 right-0 border-l\",\n corners: \"rounded-l-lg\",\n slide: \"starting:translate-x-full\",\n exit: \"data-[state=closed]:animate-slide-out-to-right\",\n extent: \"width\",\n swipe: \"right\",\n handle: \"left-1.5 top-1/2 h-10 w-1.5 -translate-y-1/2\",\n },\n top: {\n edge: \"inset-x-0 top-0 border-b\",\n corners: \"rounded-b-lg\",\n slide: \"starting:-translate-y-full\",\n exit: \"data-[state=closed]:animate-slide-out-to-top\",\n extent: \"height\",\n swipe: \"up\",\n handle: \"bottom-1.5 left-1/2 h-1.5 w-10 -translate-x-1/2\",\n },\n bottom: {\n edge: \"inset-x-0 bottom-0 border-t\",\n corners: \"rounded-t-lg\",\n slide: \"starting:translate-y-full\",\n exit: \"data-[state=closed]:animate-slide-out-to-bottom\",\n extent: \"height\",\n swipe: \"down\",\n handle: \"top-1.5 left-1/2 h-1.5 w-10 -translate-x-1/2\",\n },\n} satisfies Record<\n DrawerSide,\n {\n edge: string;\n corners: string;\n slide: string;\n exit: string;\n extent: \"width\" | \"height\";\n swipe: \"left\" | \"right\" | \"up\" | \"down\";\n handle: string;\n }\n>;\n\n/**\n * The size scale, indexed by the dimension the anchored edge turned it into.\n * Two maps rather than twelve rows on `SIDES`, because `left` and `right` want\n * the same widths and `top` and `bottom` the same heights — duplicating them\n * per edge is four places for a size to be adjusted in three of.\n *\n * Each is capped against the viewport, so a `lg` drawer on a laptop still\n * leaves the page it is anchored over visible behind it. That gap is the whole\n * difference between a drawer and a full-screen takeover.\n */\nconst EXTENT = {\n width: {\n sm: \"w-[min(90vw,20rem)]\",\n md: \"w-[min(92vw,26rem)]\",\n lg: \"w-[min(94vw,40rem)]\",\n },\n height: {\n sm: \"h-[min(90vh,16rem)]\",\n md: \"h-[min(92vh,24rem)]\",\n lg: \"h-[min(94vh,36rem)]\",\n },\n} satisfies Record<\"width\" | \"height\", Record<DrawerSize, string>>;\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, useId } from \"vue\";\nimport {\n DrawerRoot,\n DrawerTrigger,\n DrawerPortal,\n DrawerOverlay,\n DrawerContent,\n DrawerHandle,\n DrawerTitle,\n DrawerDescription,\n DrawerClose,\n} from \"reka-ui\";\nimport { X } from \"@lucide/vue\";\nimport { cn } from \"../../lib/cn\";\nimport { optional } from \"../../lib/props\";\nimport { useSplitAttrs } from \"../../lib/attrs\";\nimport { useLabels, type LabelOverrides } from \"../../lib/labels\";\n\n/**\n * Drawer — a panel anchored to an edge of the viewport that slides in over the\n * page: a filter rail tuned while a table stays visible behind it, a record's\n * detail opened from a row, a navigation sheet on a narrow screen.\n *\n * **Drawer against Dialog**, because this is the pair most often picked wrongly.\n * `Dialog` is a centred task surface for a decision or a short form: it\n * interrupts, it sits in the middle of the screen, and the page behind it is\n * context rather than something to look at. A Drawer is edge-anchored and\n * deliberately leaves the page visible along its open side, because the work\n * happens *alongside* that content — you tune a filter and watch the rows\n * change. If the user cannot proceed until they answer, that is a Dialog. If\n * they are reading or adjusting something about what is already on screen, it\n * is a Drawer.\n *\n * **It is still modal**, and that is a deliberate choice rather than an\n * oversight: focus is trapped in the panel, Tab never reaches the page behind,\n * everything outside is hidden from assistive technology, and the page does not\n * scroll. Visible is not the same as reachable — a panel you can Tab out of\n * silently strands a keyboard user behind a scrim they cannot see past. One\n * consequence to know about is in `docs/components/drawer.md`: locking the body\n * removes the scrollbar, and Reka compensates with a `padding-right` that\n * viewport-pinned furniture does not inherit.\n *\n * **The way out is never a gesture alone.** Esc closes, the close control in the\n * corner closes, and either one returns focus to whatever opened it. The drag\n * handle is a pointer affordance sitting on top of those, never instead of\n * them — it does not exist for a keyboard, and on a desktop pointer it is a\n * hint rather than a route.\n *\n * `title` is required for the same reason it is on `Dialog`: it is the panel's\n * accessible name, and a drawer without one announces itself as a dialog that\n * says nothing about what it holds.\n *\n * Reach for `Dialog` when the answer must come before anything else happens,\n * `Popover` when the content is small, non-blocking and belongs next to its\n * trigger, and a transient notification when the user need not act at all.\n */\nconst props = withDefaults(\n defineProps<{\n /** Drive the drawer from the host with `v-model:open`; omit it and the drawer owns its own state. */\n open?: boolean | undefined;\n /** The accessible name, and the panel's heading. Name what is in it (\"Filters\", \"Scene 12\"), not the verb that opened it. */\n title: string;\n /** Wired as the drawer's accessible description — one line on what the panel is for, announced with the title. */\n description?: string;\n /** Which edge the panel is anchored to. `right` for detail, `left` for navigation, `bottom` for a sheet. */\n side?: DrawerSide;\n /** How far the panel reaches along its own axis — width on a side drawer, height on a sheet. */\n size?: DrawerSize;\n /** Whether a press outside the panel dismisses it, and whether the drag handle is offered. Esc and the close control work either way. */\n dismissible?: boolean;\n /**\n * The name on the close control, as any subset of `DrawerLabels` — what it\n * leaves out stays as the host's `provideLoomLabels` vocabulary left it,\n * and then as Loom's English.\n *\n * A whole application's language belongs in that vocabulary rather than\n * here. This is the per-instance correction, for the drawer whose close\n * means something more specific than \"Close\" — \"Close filters\", say, on a\n * page carrying two of them.\n */\n labels?: LabelOverrides<DrawerLabels>;\n }>(),\n // `open: undefined` is load-bearing, not a redundant default — it is what\n // keeps the uncontrolled third state reachable past Vue's absent-Boolean\n // casting. `optional()` in the template is the other half; its docblock\n // carries the reasoning for both. `description` needs no such entry: a\n // string prop is already `undefined` when absent.\n { open: undefined, side: \"right\", size: \"md\", dismissible: true },\n);\n\ndefineEmits<{\n /** The drawer opened or closed, for `v-model:open`. The host stays the source of truth — the drawer reports the request and waits. */\n \"update:open\": [value: boolean];\n}>();\n\n// `text`, not `labels`: the prop of that name is one of the three sources this\n// resolves, and a template reading the raw prop would be reading the overrides\n// rather than the answer.\nconst text = useLabels(\"drawer\", DRAWER_LABELS, () => props.labels);\n\nconst anchor = computed(() => SIDES[props.side]);\n\n// `DrawerRoot` renders no DOM node at all, so fallthrough attributes would be\n// dropped on the floor rather than landing anywhere. They go to the panel,\n// which is the element they actually describe — a `data-testid` or an\n// `aria-*` on `<Drawer>` reads as being about the drawer, not about the button\n// that happens to open it.\n//\n// `class` is pulled out of that spread and merged through `cn()` instead:\n// spreading it alongside the panel's own `:class` only concatenates the two\n// lists — Vue's merge is generic, not Tailwind-aware — so a caller's\n// `w-[30rem]` would lose to the size scale's own width depending on which\n// utility Tailwind happened to emit last.\ndefineOptions({ inheritAttrs: false });\nconst { attrs, rest: panelAttrs } = useSplitAttrs();\n\n/**\n * The `dismissible: false` half. Reka reads a prevented `interactOutside` as\n * \"this layer declines to be dismissed\", which covers the pointer press and the\n * focus that follows it in one place. Esc is deliberately untouched: a panel\n * with no keyboard exit is a trap, and \"do not close this by accident\" is a\n * different request from \"do not let this be closed\".\n */\nfunction guardOutsidePress(event: Event): void {\n if (!props.dismissible) event.preventDefault();\n}\n\n// The `dismissible: false` other half — the swipe. Reka wires\n// `useSwipeDismiss` unconditionally inside `DrawerContentImpl` with\n// `enabled: open` and exposes no prop to turn it off, so a drag on the panel\n// body toward the anchored edge used to dismiss a drawer whose `dismissible`\n// was `false` — defeating exactly the case the prop exists for, on touch,\n// where the reader is least likely to have meant it.\n//\n// There is no event Reka emits for the gesture that a handler could veto\n// from outside; the only lever is stopping its pointer handlers before they\n// start a swipe. Reka listens on the panel in the bubble phase, so a\n// capture-phase listener on `document` runs first for every event that\n// reaches the panel, and `stopImmediatePropagation` clears the rest of the\n// path — Reka's listener included — while leaving click, focus, scroll and\n// selection alone, which are separate events.\n//\n// Two costs are accepted rather than designed around. A consumer's own\n// pointerdown handler inside a non-dismissible drawer is stopped too, which\n// is the same neighbourhood as `interact-outside` vetoing their outside\n// press: `dismissible: false` declines pointer gestures, full stop. And a\n// non-dismissible drawer nested inside another non-dismissible one vetoes\n// gestures for both, which is the direction the pointer would have to travel\n// anyway.\n//\n// Pointer and touch are two paths in Reka (`onPointerDown` returns early for\n// touch pointers, which arrive via `onTouchStart`), so both events are\n// watched. The `data-loom-drawer-panel` marker scopes the veto to this\n// drawer's panel — and to nobody else's. That last half is the part that\n// bites: the marker is on every panel, so a naive `closest` check makes one\n// non-dismissible drawer on a page veto the gestures of every drawer on it,\n// dismissing nothing but the sibling's ability to be swiped. The marker\n// therefore carries this instance's own id, and the veto demands a match on\n// the value, not just the attribute. The attribute itself still has to\n// survive the panel being portalled away from the drawer's own subtree,\n// which an element-membership check would not.\nconst PANEL_MARKER = \"data-loom-drawer-panel\";\n// `useId` like the rest of the library: stable across server and client, so\n// the marker value a listener armed during hydration checks is the value the\n// portalled panel renders with.\nconst panelMarkerId = useId();\n\nfunction vetoSwipeStart(event: PointerEvent | TouchEvent): void {\n if (props.dismissible) return;\n const target = event.target;\n if (!(target instanceof Element)) return;\n const panel = target.closest(`[${PANEL_MARKER}]`);\n if (!(panel instanceof Element) || panel.getAttribute(PANEL_MARKER) !== panelMarkerId) return;\n event.stopImmediatePropagation();\n}\n\n// The listeners are on `document`, not the panel, because the panel's whole\n// lifecycle is Reka's — the portal content mounts with the drawer and is\n// removed with it, so a listener attached to the panel would need re-arming\n// on every open. A document listener is armed once for the component's own\n// lifetime, and `onBeforeUnmount` is the pairing that keeps it from leaking\n// into the next drawer or the host's page.\nonMounted(() => {\n document.addEventListener(\"pointerdown\", vetoSwipeStart, { capture: true });\n document.addEventListener(\"touchstart\", vetoSwipeStart, { capture: true, passive: true });\n});\nonBeforeUnmount(() => {\n document.removeEventListener(\"pointerdown\", vetoSwipeStart, { capture: true });\n document.removeEventListener(\"touchstart\", vetoSwipeStart, { capture: true });\n});\n</script>\n\n<template>\n <DrawerRoot\n v-bind=\"optional({ open })\"\n :swipe-direction=\"anchor.swipe\"\n @update:open=\"$emit('update:open', $event)\"\n >\n <!-- @slot The control that opens the drawer. Optional — omit it and drive\n the drawer entirely from the host with `v-model:open`. -->\n <DrawerTrigger v-if=\"$slots.trigger\" as-child>\n <slot name=\"trigger\" />\n </DrawerTrigger>\n\n <DrawerPortal>\n <!-- `scrim-light` rather than Dialog's `scrim`, and the token now carries\n the reason: a drawer's page is still the thing being worked on. It\n fades rather than moves, so nothing behind the panel appears to\n shift.\n\n Both states are scoped, never unconditional. Reka's Presence keeps\n closed content mounted until an animationend arrives, and a\n mount-only animation never fires a second one — which here would\n strand a full-screen, input-blocking scrim over a page with no drawer\n on it. The paired exit is what makes the close a timed fade instead\n of a cut, and it keeps that guarantee: `fade-out` ends, so Presence\n unmounts on its own animationend rather than on the absence of one. -->\n <DrawerOverlay\n class=\"fixed inset-0 z-50 bg-foreground/scrim-light data-[state=open]:animate-fade data-[state=closed]:animate-fade-out\"\n />\n\n <DrawerContent\n v-bind=\"panelAttrs\"\n :data-loom-drawer-panel=\"panelMarkerId\"\n :class=\"\n cn(\n 'fixed z-50 flex flex-col border-border bg-popover text-popover-foreground shadow-lg outline-none',\n anchor.edge,\n anchor.corners,\n EXTENT[anchor.extent][size],\n // `slow`, and this is the one place this component reaches past the\n // `--duration-normal` feedback ceiling. The motion foundations page\n // names a panel taking over the screen as exactly what the\n // unhurried lane is for, and a full-height panel crossing the\n // viewport at 200ms reads as a flinch rather than a slide.\n 'transition-transform duration-slow ease-out',\n anchor.slide,\n // The other half of the same gesture. `SIDES` carries why the two\n // directions are a transition and a keyframe rather than one\n // mechanism run both ways; the short version is that Presence\n // watches `animationend` and nothing else, so a transition on the\n // way out never gets a frame to run in.\n anchor.exit,\n // Reka's swipe-to-dismiss writes the live drag onto the panel as\n // CSS custom properties and leaves the rendering to us. Applying\n // them as `transform` keeps them off `translate`, which the slide\n // above owns — the two properties compose instead of overwriting\n // each other, so a half-finished swipe is not fighting the entry\n // transition. The `0px` fallbacks cover the browsers where\n // `CSS.registerProperty` is unavailable and the vars have no\n // registered initial value.\n '[transform:translate(var(--drawer-swipe-movement-x,0px),var(--drawer-swipe-movement-y,0px))]',\n // While a finger is down the panel must track it exactly; a 320ms\n // ease on every pointermove is a panel lagging behind the hand.\n 'data-[swiping]:transition-none',\n attrs.class as string,\n )\n \"\n @interact-outside=\"guardOutsidePress\"\n >\n <!-- Reka renders the handle `aria-hidden` and unfocusable, which is\n correct and is why it can never become the only exit: it is not on\n the keyboard's path at all. It is drawn only where it means\n something — with `dismissible` off there is nothing to drag towards. -->\n <DrawerHandle\n v-if=\"dismissible\"\n :class=\"cn('absolute rounded-full bg-border-strong', anchor.handle)\"\n />\n\n <!-- The header is `shrink-0` and lives outside the scrolling region on\n purpose: a drawer taller than its content's needs scrolls its body\n while the title — the panel's accessible name and the only thing\n saying what is on screen — stays put. `pr-12` keeps a long title\n clear of the close control. -->\n <div class=\"shrink-0 px-6 pb-4 pr-12 pt-6\">\n <DrawerTitle class=\"text-base font-semibold\">{{ title }}</DrawerTitle>\n <DrawerDescription v-if=\"description\" class=\"mt-1 text-sm text-muted-foreground\">\n {{ description }}\n </DrawerDescription>\n </div>\n\n <!-- `min-h-0` is what makes `flex-1` able to shrink below its content's\n height; without it a flex item's automatic minimum size wins and the\n body grows the panel past the viewport instead of scrolling.\n `overscroll-contain` stops a scroll that reaches the end of this\n region from chaining out to the locked page behind. -->\n <div class=\"min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 pb-6\">\n <!-- @slot The drawer body. -->\n <slot />\n </div>\n\n <!-- @slot The action row, aligned to the trailing edge. Pinned below the\n scrolling body so its actions stay reachable in a long panel. -->\n <div\n v-if=\"$slots.footer\"\n class=\"flex shrink-0 items-center justify-end gap-2 border-t border-border px-6 py-4\"\n >\n <slot name=\"footer\" />\n </div>\n\n <!-- Unconditional, unlike Dialog's `closable`. A dialog can drop its\n corner button because the footer already carries an explicit\n decision; a drawer often has no footer at all, and one of its two\n keyboard-independent exits must always be visible. -->\n <DrawerClose\n :aria-label=\"text.close\"\n class=\"absolute right-4 top-4 inline-flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors duration-fast ease-out hover:bg-subtle hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring\"\n >\n <X class=\"h-4 w-4\" />\n </DrawerClose>\n </DrawerContent>\n </DrawerPortal>\n </DrawerRoot>\n</template>\n"],"mappings":""}
@@ -1,110 +0,0 @@
1
- import { type LabelOverrides } from "../../lib/labels";
2
- /**
3
- * The one thing this component says on its own account. The title, the
4
- * description, the body and the footer are all the host's; the drag handle is
5
- * `aria-hidden` and unfocusable by Reka's own design, so it says nothing at
6
- * all.
7
- *
8
- * The close control's glyph is `aria-hidden`, which makes this name the only
9
- * thing a screen reader has to go on — and unlike Dialog's, this control is
10
- * unconditional, so a drawer always publishes it.
11
- */
12
- export interface DrawerLabels {
13
- /** The corner control that dismisses the panel. */
14
- readonly close: string;
15
- }
16
- /**
17
- * Loom's English, co-located with the component so it tree-shakes with it, and
18
- * exported so a host can build a partial vocabulary against the real thing.
19
- */
20
- export declare const DRAWER_LABELS: DrawerLabels;
21
- /**
22
- * Which edge of the viewport the panel is anchored to. `right` is the default
23
- * because a drawer is most often opened *from* a row or a toolbar to show more
24
- * about what is already on screen, and left-to-right readers expect that
25
- * detail to arrive on the trailing edge. `left` is where navigation lives,
26
- * `bottom` is the sheet a narrow screen gets, and `top` is the rare one — a
27
- * command surface dropping in over the header.
28
- */
29
- export type DrawerSide = "left" | "right" | "top" | "bottom";
30
- /**
31
- * How far the panel reaches along its own axis — width for a `left`/`right`
32
- * drawer, height for a `top`/`bottom` one. Like Dialog's width, this is the
33
- * primitive's decision rather than a class a caller passes, so two drawers
34
- * opened from two screens cannot be two different sizes: `sm` for a filter rail
35
- * or a navigation sheet, `md` for a record's detail, `lg` for a working surface
36
- * with a table or a multi-section form in it.
37
- */
38
- export type DrawerSize = "sm" | "md" | "lg";
39
- declare const _default: typeof __VLS_export;
40
- export default _default;
41
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
42
- /** Drive the drawer from the host with `v-model:open`; omit it and the drawer owns its own state. */
43
- open?: boolean | undefined;
44
- /** The accessible name, and the panel's heading. Name what is in it ("Filters", "Scene 12"), not the verb that opened it. */
45
- title: string;
46
- /** Wired as the drawer's accessible description — one line on what the panel is for, announced with the title. */
47
- description?: string;
48
- /** Which edge the panel is anchored to. `right` for detail, `left` for navigation, `bottom` for a sheet. */
49
- side?: DrawerSide;
50
- /** How far the panel reaches along its own axis — width on a side drawer, height on a sheet. */
51
- size?: DrawerSize;
52
- /** Whether a press outside the panel dismisses it, and whether the drag handle is offered. Esc and the close control work either way. */
53
- dismissible?: boolean;
54
- /**
55
- * The name on the close control, as any subset of `DrawerLabels` — what it
56
- * leaves out stays as the host's `provideLoomLabels` vocabulary left it,
57
- * and then as Loom's English.
58
- *
59
- * A whole application's language belongs in that vocabulary rather than
60
- * here. This is the per-instance correction, for the drawer whose close
61
- * means something more specific than "Close" — "Close filters", say, on a
62
- * page carrying two of them.
63
- */
64
- labels?: LabelOverrides<DrawerLabels>;
65
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
66
- "update:open": (value: boolean) => any;
67
- }, string, import("vue").PublicProps, Readonly<{
68
- /** Drive the drawer from the host with `v-model:open`; omit it and the drawer owns its own state. */
69
- open?: boolean | undefined;
70
- /** The accessible name, and the panel's heading. Name what is in it ("Filters", "Scene 12"), not the verb that opened it. */
71
- title: string;
72
- /** Wired as the drawer's accessible description — one line on what the panel is for, announced with the title. */
73
- description?: string;
74
- /** Which edge the panel is anchored to. `right` for detail, `left` for navigation, `bottom` for a sheet. */
75
- side?: DrawerSide;
76
- /** How far the panel reaches along its own axis — width on a side drawer, height on a sheet. */
77
- size?: DrawerSize;
78
- /** Whether a press outside the panel dismisses it, and whether the drag handle is offered. Esc and the close control work either way. */
79
- dismissible?: boolean;
80
- /**
81
- * The name on the close control, as any subset of `DrawerLabels` — what it
82
- * leaves out stays as the host's `provideLoomLabels` vocabulary left it,
83
- * and then as Loom's English.
84
- *
85
- * A whole application's language belongs in that vocabulary rather than
86
- * here. This is the per-instance correction, for the drawer whose close
87
- * means something more specific than "Close" — "Close filters", say, on a
88
- * page carrying two of them.
89
- */
90
- labels?: LabelOverrides<DrawerLabels>;
91
- }> & Readonly<{
92
- "onUpdate:open"?: (value: boolean) => any;
93
- }>, {
94
- size: DrawerSize;
95
- open: boolean | undefined;
96
- side: DrawerSide;
97
- dismissible: boolean;
98
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
99
- trigger?: (props: {}) => any;
100
- } & {
101
- default?: (props: {}) => any;
102
- } & {
103
- footer?: (props: {}) => any;
104
- }>;
105
- type __VLS_WithSlots<T, S> = T & {
106
- new (): {
107
- $slots: S;
108
- };
109
- };
110
- //# sourceMappingURL=Drawer.vue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Drawer.vue.d.ts","sourceRoot":"","sources":["../../../src/primitives/Drawer/Drawer.vue"],"names":[],"mappings":"AAseA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGlE;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,YAE3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;wBA4GvB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAwCd,qGAAqG;WAC9F,OAAO,GAAG,SAAS;IAC1B,6HAA6H;WACtH,MAAM;IACb,kHAAkH;kBACpG,MAAM;IACpB,4GAA4G;WACrG,UAAU;IACjB,gGAAgG;WACzF,UAAU;IACjB,yIAAyI;kBAC3H,OAAO;IACrB;;;;;;;;;OASG;aACM,cAAc,CAAC,YAAY,CAAC;;;;IAtBrC,qGAAqG;WAC9F,OAAO,GAAG,SAAS;IAC1B,6HAA6H;WACtH,MAAM;IACb,kHAAkH;kBACpG,MAAM;IACpB,4GAA4G;WACrG,UAAU;IACjB,gGAAgG;WACzF,UAAU;IACjB,yIAAyI;kBAC3H,OAAO;IACrB;;;;;;;;;OASG;aACM,cAAc,CAAC,YAAY,CAAC;;;;UAb9B,UAAU;UARV,OAAO,GAAG,SAAS;UAMnB,UAAU;iBAIH,OAAO;;cA+cX,CAAC,KAAK,IAAiB,KAAK,GAAG;;cAC/B,CAAC,KAAK,IAAiB,KAAK,GAAG;;aAChC,CAAC,KAAK,IAAiB,KAAK,GAAG;EAWxC,CAAC;AAWL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}