@ecoma-io/loom 0.3.0 → 0.5.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 (587) hide show
  1. package/README.md +11 -9
  2. package/dist/a11y.js +2 -2
  3. package/dist/index.js +73 -6
  4. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/CalendarDate.js +1 -1
  5. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/CalendarDate.js.map +1 -1
  6. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +1 -1
  7. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js.map +1 -1
  8. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/conversion.js +1 -1
  9. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/conversion.js.map +1 -1
  10. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/manipulation.js +1 -1
  11. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/manipulation.js.map +1 -1
  12. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/queries.js +1 -1
  13. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/queries.js.map +1 -1
  14. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/string.js +1 -1
  15. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/string.js.map +1 -1
  16. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/utils.js +1 -1
  17. package/dist/node_modules/.pnpm/{@internationalized_date@3.12.3 → @internationalized_date@3.12.4}/node_modules/@internationalized/date/dist/private/utils.js.map +1 -1
  18. package/dist/packages/blocks/app-header/src/AppHeader.js.map +1 -1
  19. package/dist/packages/blocks/app-header/src/AppHeader.vue.d.ts.map +1 -1
  20. package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js +1 -0
  21. package/dist/packages/blocks/app-header/src/AppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  22. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue.d.ts +3 -3
  23. package/dist/packages/blocks/empty-state/src/EmptyState.js.map +1 -1
  24. package/dist/packages/blocks/empty-state/src/EmptyState.vue.d.ts.map +1 -1
  25. package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js +5 -6
  26. package/dist/packages/blocks/empty-state/src/EmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/packages/blocks/error-summary/src/ErrorSummary.js +7 -0
  28. package/dist/packages/blocks/error-summary/src/ErrorSummary.js.map +1 -0
  29. package/dist/packages/blocks/error-summary/src/ErrorSummary.vue.d.ts +31 -0
  30. package/dist/packages/blocks/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js +90 -0
  31. package/dist/packages/blocks/error-summary/src/ErrorSummary.vue_vue_type_script_setup_true_lang.js.map +1 -0
  32. package/dist/packages/blocks/error-summary/src/index.d.ts +4 -0
  33. package/dist/packages/blocks/error-summary/src/index.js +3 -0
  34. package/dist/packages/blocks/metric-card/src/MetricCard.js.map +1 -1
  35. package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts +22 -4
  36. package/dist/packages/blocks/metric-card/src/MetricCard.vue.d.ts.map +1 -1
  37. package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js +38 -15
  38. package/dist/packages/blocks/metric-card/src/MetricCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  39. package/dist/packages/blocks/title-bar/src/TitleBar.vue.d.ts +3 -3
  40. package/dist/packages/blocks/toast-stack/src/ToastStack.vue.d.ts +3 -3
  41. package/dist/packages/composition/scroll-reel/src/ScrollReel.js +2 -2
  42. package/dist/packages/composition/scroll-reel/src/ScrollReel.js.map +1 -1
  43. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue.d.ts +26 -0
  44. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js +28 -7
  45. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  46. package/dist/packages/composition/scroll-reel/src/index.d.ts +2 -1
  47. package/dist/packages/composition/scroll-reel/src/index.js +2 -1
  48. package/dist/packages/composition/sidebar/src/Sidebar.js.map +1 -1
  49. package/dist/packages/composition/sidebar/src/Sidebar.vue.d.ts +4 -0
  50. package/dist/packages/composition/sidebar/src/Sidebar.vue.d.ts.map +1 -1
  51. package/dist/packages/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js +13 -4
  52. package/dist/packages/composition/sidebar/src/Sidebar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  53. package/dist/packages/composition/split/src/Split.js.map +1 -1
  54. package/dist/packages/composition/split/src/Split.vue.d.ts +11 -12
  55. package/dist/packages/composition/split/src/Split.vue.d.ts.map +1 -1
  56. package/dist/packages/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js +15 -5
  57. package/dist/packages/composition/split/src/Split.vue_vue_type_script_setup_true_lang.js.map +1 -1
  58. package/dist/packages/core/src/a11y-scope.d.ts +71 -5
  59. package/dist/packages/core/src/a11y-scope.d.ts.map +1 -1
  60. package/dist/packages/core/src/a11y-scope.js +126 -6
  61. package/dist/packages/core/src/a11y-scope.js.map +1 -1
  62. package/dist/packages/core/src/index.d.ts +2 -2
  63. package/dist/packages/core/src/index.d.ts.map +1 -1
  64. package/dist/packages/core/src/index.js +3 -3
  65. package/dist/packages/core/src/motion.d.ts +13 -0
  66. package/dist/packages/core/src/motion.d.ts.map +1 -1
  67. package/dist/packages/core/src/motion.js +20 -13
  68. package/dist/packages/core/src/motion.js.map +1 -1
  69. package/dist/packages/core/src/theme.d.ts +9 -0
  70. package/dist/packages/core/src/theme.d.ts.map +1 -1
  71. package/dist/packages/core/src/theme.js +36 -10
  72. package/dist/packages/core/src/theme.js.map +1 -1
  73. package/dist/packages/labels/src/ancestor-disabled.d.ts +5 -1
  74. package/dist/packages/labels/src/ancestor-disabled.d.ts.map +1 -1
  75. package/dist/packages/labels/src/ancestor-disabled.js +5 -1
  76. package/dist/packages/labels/src/ancestor-disabled.js.map +1 -1
  77. package/dist/packages/labels/src/component-shapes.d.ts +236 -1
  78. package/dist/packages/labels/src/component-shapes.d.ts.map +1 -1
  79. package/dist/packages/labels/src/date-labels.d.ts +86 -7
  80. package/dist/packages/labels/src/date-labels.d.ts.map +1 -1
  81. package/dist/packages/labels/src/date-labels.js +58 -9
  82. package/dist/packages/labels/src/date-labels.js.map +1 -1
  83. package/dist/packages/labels/src/field-context.d.ts +2 -2
  84. package/dist/packages/labels/src/field-context.js.map +1 -1
  85. package/dist/packages/labels/src/index.d.ts +3 -3
  86. package/dist/packages/labels/src/index.d.ts.map +1 -1
  87. package/dist/packages/labels/src/index.js +2 -2
  88. package/dist/packages/labels/src/label-registry.d.ts +15 -1
  89. package/dist/packages/labels/src/label-registry.d.ts.map +1 -1
  90. package/dist/packages/layouts/dashboard/src/Dashboard.js.map +1 -1
  91. package/dist/packages/layouts/dashboard/src/Dashboard.vue.d.ts +4 -4
  92. package/dist/packages/layouts/dashboard/src/Dashboard.vue.d.ts.map +1 -1
  93. package/dist/packages/layouts/dashboard/src/Dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  94. package/dist/packages/layouts/reading/src/Reading.js.map +1 -1
  95. package/dist/packages/layouts/reading/src/Reading.vue.d.ts +16 -15
  96. package/dist/packages/layouts/reading/src/Reading.vue.d.ts.map +1 -1
  97. package/dist/packages/layouts/reading/src/Reading.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/packages/layouts/reading/src/index.d.ts +1 -0
  99. package/dist/packages/layouts/reading/src/index.d.ts.map +1 -1
  100. package/dist/packages/layouts/settings/src/Settings.js.map +1 -1
  101. package/dist/packages/layouts/settings/src/Settings.vue.d.ts +3 -3
  102. package/dist/packages/layouts/settings/src/Settings.vue.d.ts.map +1 -1
  103. package/dist/packages/layouts/settings/src/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -1
  104. package/dist/packages/layouts/split-layout/src/SplitLayout.js.map +1 -1
  105. package/dist/packages/layouts/split-layout/src/SplitLayout.vue.d.ts +4 -6
  106. package/dist/packages/layouts/split-layout/src/SplitLayout.vue.d.ts.map +1 -1
  107. package/dist/packages/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js +20 -5
  108. package/dist/packages/layouts/split-layout/src/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
  109. package/dist/packages/layouts/split-layout/src/index.d.ts +1 -1
  110. package/dist/packages/layouts/split-layout/src/index.d.ts.map +1 -1
  111. package/dist/packages/loom/src/a11y.d.ts +1 -1
  112. package/dist/packages/loom/src/index.d.ts +217 -174
  113. package/dist/packages/loom/src/theme.d.ts +3 -0
  114. package/dist/packages/primitives/alert/src/Alert.js +7 -0
  115. package/dist/packages/primitives/alert/src/Alert.js.map +1 -0
  116. package/dist/packages/primitives/alert/src/Alert.vue.d.ts +91 -0
  117. package/dist/packages/primitives/alert/src/Alert.vue_vue_type_script_setup_true_lang.js +130 -0
  118. package/dist/packages/primitives/alert/src/Alert.vue_vue_type_script_setup_true_lang.js.map +1 -0
  119. package/dist/packages/primitives/alert/src/index.d.ts +4 -0
  120. package/dist/packages/primitives/alert/src/index.js +3 -0
  121. package/dist/packages/primitives/alert-dialog/src/AlertDialog.js.map +1 -1
  122. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue.d.ts +2 -2
  123. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js +2 -2
  124. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  125. package/dist/packages/primitives/alert-dialog/src/index.d.ts +1 -1
  126. package/dist/packages/primitives/avatar/src/Avatar.js.map +1 -1
  127. package/dist/packages/primitives/avatar/src/Avatar.vue.d.ts +2 -2
  128. package/dist/packages/primitives/avatar/src/Avatar.vue.d.ts.map +1 -1
  129. package/dist/packages/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js +1 -1
  130. package/dist/packages/primitives/avatar/src/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  131. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue.d.ts +3 -3
  132. package/dist/packages/primitives/avatar-group/src/index.d.ts +1 -1
  133. package/dist/packages/primitives/badge/src/Badge.js.map +1 -1
  134. package/dist/packages/primitives/badge/src/Badge.vue.d.ts.map +1 -1
  135. package/dist/packages/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js +1 -1
  136. package/dist/packages/primitives/badge/src/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  137. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.js +2 -2
  138. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.js.map +1 -1
  139. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue.d.ts +28 -0
  140. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js +16 -5
  141. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -1
  142. package/dist/packages/primitives/breadcrumb/src/index.d.ts +2 -1
  143. package/dist/packages/primitives/breadcrumb/src/index.js +2 -1
  144. package/dist/packages/primitives/button/src/Button.js.map +1 -1
  145. package/dist/packages/primitives/button/src/Button.vue.d.ts.map +1 -1
  146. package/dist/packages/primitives/button/src/Button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  147. package/dist/packages/primitives/button/src/index.js +2 -2
  148. package/dist/packages/primitives/calendar/src/Calendar.js +7 -0
  149. package/dist/packages/primitives/calendar/src/Calendar.js.map +1 -0
  150. package/dist/packages/primitives/calendar/src/Calendar.vue.d.ts +95 -0
  151. package/dist/packages/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js +204 -0
  152. package/dist/packages/primitives/calendar/src/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  153. package/dist/packages/primitives/calendar/src/index.d.ts +3 -0
  154. package/dist/packages/primitives/calendar/src/index.js +3 -0
  155. package/dist/packages/primitives/card/src/Card.js +7 -0
  156. package/dist/packages/primitives/card/src/Card.js.map +1 -0
  157. package/dist/packages/primitives/card/src/Card.vue.d.ts +72 -0
  158. package/dist/packages/primitives/card/src/Card.vue_vue_type_script_setup_true_lang.js +65 -0
  159. package/dist/packages/primitives/card/src/Card.vue_vue_type_script_setup_true_lang.js.map +1 -0
  160. package/dist/packages/primitives/card/src/index.d.ts +3 -0
  161. package/dist/packages/primitives/card/src/index.d.ts.map +1 -0
  162. package/dist/packages/primitives/card/src/index.js +2 -0
  163. package/dist/packages/primitives/carousel/src/Carousel.js +7 -0
  164. package/dist/packages/primitives/carousel/src/Carousel.js.map +1 -0
  165. package/dist/packages/primitives/carousel/src/Carousel.vue.d.ts +34 -0
  166. package/dist/packages/primitives/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js +175 -0
  167. package/dist/packages/primitives/carousel/src/Carousel.vue_vue_type_script_setup_true_lang.js.map +1 -0
  168. package/dist/packages/primitives/carousel/src/index.d.ts +3 -0
  169. package/dist/packages/primitives/carousel/src/index.js +3 -0
  170. package/dist/packages/primitives/checkbox/src/Checkbox.js.map +1 -1
  171. package/dist/packages/primitives/checkbox/src/Checkbox.vue.d.ts +1 -1
  172. package/dist/packages/primitives/checkbox/src/Checkbox.vue.d.ts.map +1 -1
  173. package/dist/packages/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js +3 -3
  174. package/dist/packages/primitives/checkbox/src/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  175. package/dist/packages/primitives/chip/src/Chip.js.map +1 -1
  176. package/dist/packages/primitives/chip/src/Chip.vue.d.ts.map +1 -1
  177. package/dist/packages/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js +1 -1
  178. package/dist/packages/primitives/chip/src/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  179. package/dist/packages/primitives/collapse/src/Collapse.js +7 -0
  180. package/dist/packages/primitives/collapse/src/Collapse.js.map +1 -0
  181. package/dist/packages/primitives/collapse/src/Collapse.vue.d.ts +56 -0
  182. package/dist/packages/primitives/collapse/src/Collapse.vue.d.ts.map +1 -0
  183. package/dist/packages/primitives/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js +81 -0
  184. package/dist/packages/primitives/collapse/src/Collapse.vue_vue_type_script_setup_true_lang.js.map +1 -0
  185. package/dist/packages/primitives/collapse/src/index.d.ts +2 -0
  186. package/dist/packages/primitives/collapse/src/index.d.ts.map +1 -0
  187. package/dist/packages/primitives/collapse/src/index.js +2 -0
  188. package/dist/packages/primitives/color-picker/src/ColorPicker.js.map +1 -1
  189. package/dist/packages/primitives/color-picker/src/ColorPicker.vue.d.ts +4 -4
  190. package/dist/packages/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js +2 -2
  191. package/dist/packages/primitives/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  192. package/dist/packages/primitives/color-picker/src/index.d.ts +1 -1
  193. package/dist/packages/primitives/combobox/src/Combobox.js.map +1 -1
  194. package/dist/packages/primitives/combobox/src/Combobox.vue.d.ts +3 -3
  195. package/dist/packages/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js +2 -2
  196. package/dist/packages/primitives/combobox/src/Combobox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  197. package/dist/packages/primitives/combobox/src/index.d.ts +1 -1
  198. package/dist/packages/primitives/command/src/Command.js +7 -0
  199. package/dist/packages/primitives/command/src/Command.js.map +1 -0
  200. package/dist/packages/primitives/command/src/Command.vue.d.ts +77 -0
  201. package/dist/packages/primitives/command/src/Command.vue_vue_type_script_setup_true_lang.js +333 -0
  202. package/dist/packages/primitives/command/src/Command.vue_vue_type_script_setup_true_lang.js.map +1 -0
  203. package/dist/packages/primitives/command/src/index.d.ts +4 -0
  204. package/dist/packages/primitives/command/src/index.js +3 -0
  205. package/dist/packages/primitives/context-menu/src/ContextMenu.js.map +1 -1
  206. package/dist/packages/primitives/context-menu/src/ContextMenu.vue.d.ts +12 -0
  207. package/dist/packages/primitives/context-menu/src/ContextMenu.vue.d.ts.map +1 -1
  208. package/dist/packages/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js +7 -3
  209. package/dist/packages/primitives/context-menu/src/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  210. package/dist/packages/primitives/copy-button/src/CopyButton.js +7 -0
  211. package/dist/packages/primitives/copy-button/src/CopyButton.js.map +1 -0
  212. package/dist/packages/primitives/copy-button/src/CopyButton.vue.d.ts +64 -0
  213. package/dist/packages/primitives/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js +113 -0
  214. package/dist/packages/primitives/copy-button/src/CopyButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  215. package/dist/packages/primitives/copy-button/src/index.d.ts +4 -0
  216. package/dist/packages/primitives/copy-button/src/index.js +3 -0
  217. package/dist/packages/primitives/data-grid/src/DataGrid.js +7 -0
  218. package/dist/packages/primitives/data-grid/src/DataGrid.js.map +1 -0
  219. package/dist/packages/primitives/data-grid/src/DataGrid.vue.d.ts +128 -0
  220. package/dist/packages/primitives/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js +347 -0
  221. package/dist/packages/primitives/data-grid/src/DataGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  222. package/dist/packages/primitives/data-grid/src/index.d.ts +4 -0
  223. package/dist/packages/primitives/data-grid/src/index.js +3 -0
  224. package/dist/packages/primitives/date-picker/src/DatePicker.js.map +1 -1
  225. package/dist/packages/primitives/date-picker/src/DatePicker.vue.d.ts +2 -2
  226. package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js +14 -14
  227. package/dist/packages/primitives/date-picker/src/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  228. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.js.map +1 -1
  229. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue.d.ts +3 -3
  230. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js +22 -19
  231. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  232. package/dist/packages/primitives/date-range-picker/src/index.d.ts +1 -1
  233. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.js.map +1 -1
  234. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue.d.ts +2 -2
  235. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js +18 -17
  236. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  237. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.js.map +1 -1
  238. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue.d.ts +3 -3
  239. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +18 -17
  240. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/packages/primitives/date-time-range-picker/src/index.d.ts +1 -1
  242. package/dist/packages/primitives/dialog/src/Dialog.js.map +1 -1
  243. package/dist/packages/primitives/dialog/src/Dialog.vue.d.ts +27 -11
  244. package/dist/packages/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js +6 -4
  245. package/dist/packages/primitives/dialog/src/Dialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  246. package/dist/packages/primitives/dialog/src/index.d.ts +1 -1
  247. package/dist/packages/primitives/drawer/src/Drawer.js.map +1 -1
  248. package/dist/packages/primitives/drawer/src/Drawer.vue.d.ts +12 -4
  249. package/dist/packages/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js +13 -5
  250. package/dist/packages/primitives/drawer/src/Drawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
  251. package/dist/packages/primitives/drawer/src/index.d.ts +1 -1
  252. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.js.map +1 -1
  253. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue.d.ts +26 -0
  254. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue.d.ts.map +1 -1
  255. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js +10 -4
  256. package/dist/packages/primitives/dropdown-menu/src/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  257. package/dist/packages/primitives/editable/src/Editable.js.map +1 -1
  258. package/dist/packages/primitives/editable/src/Editable.vue.d.ts +2 -2
  259. package/dist/packages/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js +1 -1
  260. package/dist/packages/primitives/editable/src/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  261. package/dist/packages/primitives/editable/src/index.d.ts +1 -1
  262. package/dist/packages/primitives/file-upload/src/FileUpload.js.map +1 -1
  263. package/dist/packages/primitives/file-upload/src/FileUpload.vue.d.ts +2 -2
  264. package/dist/packages/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js +1 -1
  265. package/dist/packages/primitives/file-upload/src/FileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
  266. package/dist/packages/primitives/file-upload/src/index.d.ts +1 -1
  267. package/dist/packages/primitives/hover-card/src/HoverCard.js.map +1 -1
  268. package/dist/packages/primitives/hover-card/src/HoverCard.vue.d.ts.map +1 -1
  269. package/dist/packages/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js +1 -1
  270. package/dist/packages/primitives/hover-card/src/HoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  271. package/dist/packages/primitives/hover-card/src/index.d.ts.map +1 -1
  272. package/dist/packages/primitives/icon-button/src/IconButton.js.map +1 -1
  273. package/dist/packages/primitives/icon-button/src/IconButton.vue.d.ts +10 -4
  274. package/dist/packages/primitives/icon-button/src/IconButton.vue.d.ts.map +1 -1
  275. package/dist/packages/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js +18 -6
  276. package/dist/packages/primitives/icon-button/src/IconButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  277. package/dist/packages/primitives/indicator/src/Indicator.vue.d.ts +2 -2
  278. package/dist/packages/primitives/indicator/src/index.d.ts +1 -1
  279. package/dist/packages/primitives/kbd/src/Kbd.js +7 -0
  280. package/dist/packages/primitives/kbd/src/Kbd.js.map +1 -0
  281. package/dist/packages/primitives/kbd/src/Kbd.vue.d.ts +30 -0
  282. package/dist/packages/primitives/kbd/src/Kbd.vue.d.ts.map +1 -0
  283. package/dist/packages/primitives/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js +29 -0
  284. package/dist/packages/primitives/kbd/src/Kbd.vue_vue_type_script_setup_true_lang.js.map +1 -0
  285. package/dist/packages/primitives/kbd/src/index.d.ts +3 -0
  286. package/dist/packages/primitives/kbd/src/index.d.ts.map +1 -0
  287. package/dist/packages/primitives/kbd/src/index.js +3 -0
  288. package/dist/packages/primitives/link/src/Link.js.map +1 -1
  289. package/dist/packages/primitives/link/src/Link.vue.d.ts.map +1 -1
  290. package/dist/packages/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js +3 -3
  291. package/dist/packages/primitives/link/src/Link.vue_vue_type_script_setup_true_lang.js.map +1 -1
  292. package/dist/packages/primitives/list/src/List.js +7 -0
  293. package/dist/packages/primitives/list/src/List.js.map +1 -0
  294. package/dist/packages/primitives/list/src/List.vue.d.ts +22 -0
  295. package/dist/packages/primitives/list/src/List.vue.d.ts.map +1 -0
  296. package/dist/packages/primitives/list/src/List.vue_vue_type_script_setup_true_lang.js +27 -0
  297. package/dist/packages/primitives/list/src/List.vue_vue_type_script_setup_true_lang.js.map +1 -0
  298. package/dist/packages/primitives/list/src/ListItem.js +7 -0
  299. package/dist/packages/primitives/list/src/ListItem.js.map +1 -0
  300. package/dist/packages/primitives/list/src/ListItem.vue.d.ts +75 -0
  301. package/dist/packages/primitives/list/src/ListItem.vue.d.ts.map +1 -0
  302. package/dist/packages/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js +101 -0
  303. package/dist/packages/primitives/list/src/ListItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  304. package/dist/packages/primitives/list/src/index.d.ts +4 -0
  305. package/dist/packages/primitives/list/src/index.d.ts.map +1 -0
  306. package/dist/packages/primitives/list/src/index.js +3 -0
  307. package/dist/packages/primitives/live-region/src/LiveRegion.js +7 -0
  308. package/dist/packages/primitives/live-region/src/LiveRegion.js.map +1 -0
  309. package/dist/packages/primitives/live-region/src/LiveRegion.vue.d.ts +36 -0
  310. package/dist/packages/primitives/live-region/src/LiveRegion.vue.d.ts.map +1 -0
  311. package/dist/packages/primitives/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js +59 -0
  312. package/dist/packages/primitives/live-region/src/LiveRegion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  313. package/dist/packages/primitives/live-region/src/context.d.ts +40 -0
  314. package/dist/packages/primitives/live-region/src/context.d.ts.map +1 -0
  315. package/dist/packages/primitives/live-region/src/context.js +85 -0
  316. package/dist/packages/primitives/live-region/src/context.js.map +1 -0
  317. package/dist/packages/primitives/live-region/src/index.d.ts +4 -0
  318. package/dist/packages/primitives/live-region/src/index.d.ts.map +1 -0
  319. package/dist/packages/primitives/live-region/src/index.js +3 -0
  320. package/dist/packages/primitives/live-region/src/useAnnounce.d.ts +17 -0
  321. package/dist/packages/primitives/live-region/src/useAnnounce.d.ts.map +1 -0
  322. package/dist/packages/primitives/live-region/src/useAnnounce.js +25 -0
  323. package/dist/packages/primitives/live-region/src/useAnnounce.js.map +1 -0
  324. package/dist/packages/primitives/menubar/src/Menubar.js.map +1 -1
  325. package/dist/packages/primitives/menubar/src/Menubar.vue.d.ts +20 -6
  326. package/dist/packages/primitives/menubar/src/Menubar.vue.d.ts.map +1 -1
  327. package/dist/packages/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js +211 -64
  328. package/dist/packages/primitives/menubar/src/Menubar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  329. package/dist/packages/primitives/meter/src/Meter.js +7 -0
  330. package/dist/packages/primitives/meter/src/Meter.js.map +1 -0
  331. package/dist/packages/primitives/meter/src/Meter.vue.d.ts +87 -0
  332. package/dist/packages/primitives/meter/src/Meter.vue_vue_type_script_setup_true_lang.js +236 -0
  333. package/dist/packages/primitives/meter/src/Meter.vue_vue_type_script_setup_true_lang.js.map +1 -0
  334. package/dist/packages/primitives/meter/src/index.d.ts +4 -0
  335. package/dist/packages/primitives/meter/src/index.js +3 -0
  336. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.js +7 -0
  337. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.js.map +1 -0
  338. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.vue.d.ts +69 -0
  339. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.vue.d.ts.map +1 -0
  340. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js +118 -0
  341. package/dist/packages/primitives/navigation-menu/src/NavigationMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  342. package/dist/packages/primitives/navigation-menu/src/index.d.ts +3 -0
  343. package/dist/packages/primitives/navigation-menu/src/index.d.ts.map +1 -0
  344. package/dist/packages/primitives/navigation-menu/src/index.js +2 -0
  345. package/dist/packages/primitives/number-field/src/NumberField.js.map +1 -1
  346. package/dist/packages/primitives/number-field/src/NumberField.vue.d.ts +2 -2
  347. package/dist/packages/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js +1 -0
  348. package/dist/packages/primitives/number-field/src/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  349. package/dist/packages/primitives/number-field/src/index.d.ts +1 -1
  350. package/dist/packages/primitives/otp-input/src/OtpInput.vue.d.ts +2 -2
  351. package/dist/packages/primitives/otp-input/src/index.d.ts +1 -1
  352. package/dist/packages/primitives/pagination/src/Pagination.js.map +1 -1
  353. package/dist/packages/primitives/pagination/src/Pagination.vue.d.ts +3 -3
  354. package/dist/packages/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js +1 -1
  355. package/dist/packages/primitives/pagination/src/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  356. package/dist/packages/primitives/pagination/src/index.d.ts +1 -1
  357. package/dist/packages/primitives/popover/src/Popover.js.map +1 -1
  358. package/dist/packages/primitives/popover/src/Popover.vue.d.ts.map +1 -1
  359. package/dist/packages/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js +1 -1
  360. package/dist/packages/primitives/popover/src/Popover.vue_vue_type_script_setup_true_lang.js.map +1 -1
  361. package/dist/packages/primitives/progress/src/Progress.vue.d.ts +2 -2
  362. package/dist/packages/primitives/progress/src/index.d.ts +1 -1
  363. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue.d.ts +2 -2
  364. package/dist/packages/primitives/radial-progress/src/index.d.ts +1 -1
  365. package/dist/packages/primitives/radio-group/src/RadioGroup.js.map +1 -1
  366. package/dist/packages/primitives/radio-group/src/RadioGroup.vue.d.ts.map +1 -1
  367. package/dist/packages/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  368. package/dist/packages/primitives/radio-group/src/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  369. package/dist/packages/primitives/rating/src/Rating.vue.d.ts +2 -2
  370. package/dist/packages/primitives/rating/src/index.d.ts +1 -1
  371. package/dist/packages/primitives/segmented-control/src/SegmentedControl.js.map +1 -1
  372. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue.d.ts.map +1 -1
  373. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js +2 -3
  374. package/dist/packages/primitives/segmented-control/src/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  375. package/dist/packages/primitives/select/src/Select.js.map +1 -1
  376. package/dist/packages/primitives/select/src/Select.vue.d.ts.map +1 -1
  377. package/dist/packages/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js +1 -1
  378. package/dist/packages/primitives/select/src/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  379. package/dist/packages/primitives/skip-link/src/SkipLink.js +7 -0
  380. package/dist/packages/primitives/skip-link/src/SkipLink.js.map +1 -0
  381. package/dist/packages/primitives/skip-link/src/SkipLink.vue.d.ts +62 -0
  382. package/dist/packages/primitives/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js +64 -0
  383. package/dist/packages/primitives/skip-link/src/SkipLink.vue_vue_type_script_setup_true_lang.js.map +1 -0
  384. package/dist/packages/primitives/skip-link/src/index.d.ts +3 -0
  385. package/dist/packages/primitives/skip-link/src/index.js +3 -0
  386. package/dist/packages/primitives/slider/src/Slider.js.map +1 -1
  387. package/dist/packages/primitives/slider/src/Slider.vue.d.ts +6 -3
  388. package/dist/packages/primitives/slider/src/Slider.vue.d.ts.map +1 -1
  389. package/dist/packages/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js +15 -10
  390. package/dist/packages/primitives/slider/src/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  391. package/dist/packages/primitives/stepper/src/Stepper.js.map +1 -1
  392. package/dist/packages/primitives/stepper/src/Stepper.vue.d.ts +2 -2
  393. package/dist/packages/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js +7 -5
  394. package/dist/packages/primitives/stepper/src/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
  395. package/dist/packages/primitives/stepper/src/index.d.ts +1 -1
  396. package/dist/packages/primitives/switch/src/Switch.js.map +1 -1
  397. package/dist/packages/primitives/switch/src/Switch.vue.d.ts +1 -1
  398. package/dist/packages/primitives/switch/src/Switch.vue.d.ts.map +1 -1
  399. package/dist/packages/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js +3 -3
  400. package/dist/packages/primitives/switch/src/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  401. package/dist/packages/primitives/table/src/Table.js +7 -0
  402. package/dist/packages/primitives/table/src/Table.js.map +1 -0
  403. package/dist/packages/primitives/table/src/Table.vue.d.ts +45 -0
  404. package/dist/packages/primitives/table/src/Table.vue_vue_type_script_setup_true_lang.js +72 -0
  405. package/dist/packages/primitives/table/src/Table.vue_vue_type_script_setup_true_lang.js.map +1 -0
  406. package/dist/packages/primitives/table/src/TableCell.js +7 -0
  407. package/dist/packages/primitives/table/src/TableCell.js.map +1 -0
  408. package/dist/packages/primitives/table/src/TableCell.vue.d.ts +19 -0
  409. package/dist/packages/primitives/table/src/TableCell.vue.d.ts.map +1 -0
  410. package/dist/packages/primitives/table/src/TableCell.vue_vue_type_script_setup_true_lang.js +17 -0
  411. package/dist/packages/primitives/table/src/TableCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  412. package/dist/packages/primitives/table/src/TableHead.js +7 -0
  413. package/dist/packages/primitives/table/src/TableHead.js.map +1 -0
  414. package/dist/packages/primitives/table/src/TableHead.vue.d.ts +56 -0
  415. package/dist/packages/primitives/table/src/TableHead.vue_vue_type_script_setup_true_lang.js +79 -0
  416. package/dist/packages/primitives/table/src/TableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
  417. package/dist/packages/primitives/table/src/TableRow.js +7 -0
  418. package/dist/packages/primitives/table/src/TableRow.js.map +1 -0
  419. package/dist/packages/primitives/table/src/TableRow.vue.d.ts +39 -0
  420. package/dist/packages/primitives/table/src/TableRow.vue.d.ts.map +1 -0
  421. package/dist/packages/primitives/table/src/TableRow.vue_vue_type_script_setup_true_lang.js +61 -0
  422. package/dist/packages/primitives/table/src/TableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
  423. package/dist/packages/primitives/table/src/index.d.ts +10 -0
  424. package/dist/packages/primitives/table/src/index.js +8 -0
  425. package/dist/packages/primitives/tabs/src/Tabs.js.map +1 -1
  426. package/dist/packages/primitives/tabs/src/Tabs.vue.d.ts.map +1 -1
  427. package/dist/packages/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js +1 -1
  428. package/dist/packages/primitives/tabs/src/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  429. package/dist/packages/primitives/tags-input/src/TagsInput.js.map +1 -1
  430. package/dist/packages/primitives/tags-input/src/TagsInput.vue.d.ts +2 -2
  431. package/dist/packages/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js +1 -1
  432. package/dist/packages/primitives/tags-input/src/TagsInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  433. package/dist/packages/primitives/tags-input/src/index.d.ts +1 -1
  434. package/dist/packages/primitives/text-field/src/TextField.js.map +1 -1
  435. package/dist/packages/primitives/text-field/src/TextField.vue.d.ts +2 -2
  436. package/dist/packages/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js +1 -1
  437. package/dist/packages/primitives/text-field/src/TextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  438. package/dist/packages/primitives/text-field/src/index.d.ts +1 -1
  439. package/dist/packages/primitives/text-field/src/index.js +2 -2
  440. package/dist/packages/primitives/textarea/src/Textarea.js.map +1 -1
  441. package/dist/packages/primitives/textarea/src/Textarea.vue.d.ts +2 -2
  442. package/dist/packages/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js +1 -1
  443. package/dist/packages/primitives/textarea/src/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  444. package/dist/packages/primitives/textarea/src/index.d.ts +1 -1
  445. package/dist/packages/primitives/textarea/src/index.js +2 -2
  446. package/dist/packages/primitives/time-picker/src/TimePicker.js.map +1 -1
  447. package/dist/packages/primitives/time-picker/src/TimePicker.vue.d.ts +2 -2
  448. package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js +10 -8
  449. package/dist/packages/primitives/time-picker/src/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  450. package/dist/packages/primitives/timeline/src/Timeline.js +7 -0
  451. package/dist/packages/primitives/timeline/src/Timeline.js.map +1 -0
  452. package/dist/packages/primitives/timeline/src/Timeline.vue.d.ts +37 -0
  453. package/dist/packages/primitives/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js +44 -0
  454. package/dist/packages/primitives/timeline/src/Timeline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  455. package/dist/packages/primitives/timeline/src/TimelineItem.js +7 -0
  456. package/dist/packages/primitives/timeline/src/TimelineItem.js.map +1 -0
  457. package/dist/packages/primitives/timeline/src/TimelineItem.vue.d.ts +50 -0
  458. package/dist/packages/primitives/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js +96 -0
  459. package/dist/packages/primitives/timeline/src/TimelineItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  460. package/dist/packages/primitives/timeline/src/index.d.ts +5 -0
  461. package/dist/packages/primitives/timeline/src/index.js +5 -0
  462. package/dist/packages/primitives/toast/src/Toast.vue.d.ts +2 -2
  463. package/dist/packages/primitives/toast/src/ToastItem.js.map +1 -1
  464. package/dist/packages/primitives/toast/src/ToastItem.vue.d.ts +2 -2
  465. package/dist/packages/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js +5 -3
  466. package/dist/packages/primitives/toast/src/ToastItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  467. package/dist/packages/primitives/toast/src/index.d.ts +1 -1
  468. package/dist/packages/primitives/toggle-group/src/ToggleGroup.js +7 -0
  469. package/dist/packages/primitives/toggle-group/src/ToggleGroup.js.map +1 -0
  470. package/dist/packages/primitives/toggle-group/src/ToggleGroup.vue.d.ts +53 -0
  471. package/dist/packages/primitives/toggle-group/src/ToggleGroup.vue.d.ts.map +1 -0
  472. package/dist/packages/primitives/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js +111 -0
  473. package/dist/packages/primitives/toggle-group/src/ToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  474. package/dist/packages/primitives/toggle-group/src/index.d.ts +3 -0
  475. package/dist/packages/primitives/toggle-group/src/index.d.ts.map +1 -0
  476. package/dist/packages/primitives/toggle-group/src/index.js +2 -0
  477. package/dist/packages/primitives/toolbar/src/Toolbar.js +7 -0
  478. package/dist/packages/primitives/toolbar/src/Toolbar.js.map +1 -0
  479. package/dist/packages/primitives/toolbar/src/Toolbar.vue.d.ts +31 -0
  480. package/dist/packages/primitives/toolbar/src/Toolbar.vue.d.ts.map +1 -0
  481. package/dist/packages/primitives/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js +149 -0
  482. package/dist/packages/primitives/toolbar/src/Toolbar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  483. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.js +7 -0
  484. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.js.map +1 -0
  485. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.vue.d.ts +24 -0
  486. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.vue.d.ts.map +1 -0
  487. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js +40 -0
  488. package/dist/packages/primitives/toolbar/src/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  489. package/dist/packages/primitives/toolbar/src/index.d.ts +4 -0
  490. package/dist/packages/primitives/toolbar/src/index.d.ts.map +1 -0
  491. package/dist/packages/primitives/toolbar/src/index.js +3 -0
  492. package/dist/packages/primitives/tooltip/src/Tooltip.js.map +1 -1
  493. package/dist/packages/primitives/tooltip/src/Tooltip.vue.d.ts.map +1 -1
  494. package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js +1 -1
  495. package/dist/packages/primitives/tooltip/src/Tooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  496. package/dist/packages/primitives/tree-view/src/TreeView.js +7 -0
  497. package/dist/packages/primitives/tree-view/src/TreeView.js.map +1 -0
  498. package/dist/packages/primitives/tree-view/src/TreeView.vue.d.ts +99 -0
  499. package/dist/packages/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js +310 -0
  500. package/dist/packages/primitives/tree-view/src/TreeView.vue_vue_type_script_setup_true_lang.js.map +1 -0
  501. package/dist/packages/primitives/tree-view/src/TreeViewNode.js +7 -0
  502. package/dist/packages/primitives/tree-view/src/TreeViewNode.js.map +1 -0
  503. package/dist/packages/primitives/tree-view/src/TreeViewNode.vue.d.ts +15 -0
  504. package/dist/packages/primitives/tree-view/src/TreeViewNode.vue.d.ts.map +1 -0
  505. package/dist/packages/primitives/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js +103 -0
  506. package/dist/packages/primitives/tree-view/src/TreeViewNode.vue_vue_type_script_setup_true_lang.js.map +1 -0
  507. package/dist/packages/primitives/tree-view/src/context.d.ts +39 -0
  508. package/dist/packages/primitives/tree-view/src/context.d.ts.map +1 -0
  509. package/dist/packages/primitives/tree-view/src/context.js +6 -0
  510. package/dist/packages/primitives/tree-view/src/context.js.map +1 -0
  511. package/dist/packages/primitives/tree-view/src/index.d.ts +4 -0
  512. package/dist/packages/primitives/tree-view/src/index.js +3 -0
  513. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.js +7 -0
  514. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.js.map +1 -0
  515. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.vue.d.ts +21 -0
  516. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.vue.d.ts.map +1 -0
  517. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js +27 -0
  518. package/dist/packages/primitives/visually-hidden/src/VisuallyHidden.vue_vue_type_script_setup_true_lang.js.map +1 -0
  519. package/dist/packages/primitives/visually-hidden/src/index.d.ts +3 -0
  520. package/dist/packages/primitives/visually-hidden/src/index.d.ts.map +1 -0
  521. package/dist/packages/primitives/visually-hidden/src/index.js +2 -0
  522. package/dist/packages/primitives/window-controls/src/WindowControls.vue.d.ts +2 -2
  523. package/dist/packages/primitives/window-controls/src/index.d.ts +1 -1
  524. package/dist/styles/global.css +59 -0
  525. package/dist/styles/theme.css +13 -0
  526. package/dist/theme.js +3 -0
  527. package/package.json +37 -30
  528. package/dist/packages/blocks/desktop-app-shell/src/DesktopAppShell.vue.d.ts.map +0 -1
  529. package/dist/packages/blocks/title-bar/src/TitleBar.vue.d.ts.map +0 -1
  530. package/dist/packages/blocks/toast-stack/src/ToastStack.vue.d.ts.map +0 -1
  531. package/dist/packages/composition/scroll-reel/src/ScrollReel.vue.d.ts.map +0 -1
  532. package/dist/packages/composition/scroll-reel/src/index.d.ts.map +0 -1
  533. package/dist/packages/loom/src/a11y.d.ts.map +0 -1
  534. package/dist/packages/loom/src/index.d.ts.map +0 -1
  535. package/dist/packages/primitives/alert-dialog/src/AlertDialog.vue.d.ts.map +0 -1
  536. package/dist/packages/primitives/alert-dialog/src/index.d.ts.map +0 -1
  537. package/dist/packages/primitives/avatar-group/src/AvatarGroup.vue.d.ts.map +0 -1
  538. package/dist/packages/primitives/avatar-group/src/index.d.ts.map +0 -1
  539. package/dist/packages/primitives/breadcrumb/src/Breadcrumb.vue.d.ts.map +0 -1
  540. package/dist/packages/primitives/breadcrumb/src/index.d.ts.map +0 -1
  541. package/dist/packages/primitives/color-picker/src/ColorPicker.vue.d.ts.map +0 -1
  542. package/dist/packages/primitives/color-picker/src/index.d.ts.map +0 -1
  543. package/dist/packages/primitives/combobox/src/Combobox.vue.d.ts.map +0 -1
  544. package/dist/packages/primitives/combobox/src/index.d.ts.map +0 -1
  545. package/dist/packages/primitives/date-picker/src/DatePicker.vue.d.ts.map +0 -1
  546. package/dist/packages/primitives/date-range-picker/src/DateRangePicker.vue.d.ts.map +0 -1
  547. package/dist/packages/primitives/date-range-picker/src/index.d.ts.map +0 -1
  548. package/dist/packages/primitives/date-time-picker/src/DateTimePicker.vue.d.ts.map +0 -1
  549. package/dist/packages/primitives/date-time-range-picker/src/DateTimeRangePicker.vue.d.ts.map +0 -1
  550. package/dist/packages/primitives/date-time-range-picker/src/index.d.ts.map +0 -1
  551. package/dist/packages/primitives/dialog/src/Dialog.vue.d.ts.map +0 -1
  552. package/dist/packages/primitives/dialog/src/index.d.ts.map +0 -1
  553. package/dist/packages/primitives/drawer/src/Drawer.vue.d.ts.map +0 -1
  554. package/dist/packages/primitives/drawer/src/index.d.ts.map +0 -1
  555. package/dist/packages/primitives/editable/src/Editable.vue.d.ts.map +0 -1
  556. package/dist/packages/primitives/editable/src/index.d.ts.map +0 -1
  557. package/dist/packages/primitives/file-upload/src/FileUpload.vue.d.ts.map +0 -1
  558. package/dist/packages/primitives/file-upload/src/index.d.ts.map +0 -1
  559. package/dist/packages/primitives/indicator/src/Indicator.vue.d.ts.map +0 -1
  560. package/dist/packages/primitives/indicator/src/index.d.ts.map +0 -1
  561. package/dist/packages/primitives/number-field/src/NumberField.vue.d.ts.map +0 -1
  562. package/dist/packages/primitives/number-field/src/index.d.ts.map +0 -1
  563. package/dist/packages/primitives/otp-input/src/OtpInput.vue.d.ts.map +0 -1
  564. package/dist/packages/primitives/otp-input/src/index.d.ts.map +0 -1
  565. package/dist/packages/primitives/pagination/src/Pagination.vue.d.ts.map +0 -1
  566. package/dist/packages/primitives/pagination/src/index.d.ts.map +0 -1
  567. package/dist/packages/primitives/progress/src/Progress.vue.d.ts.map +0 -1
  568. package/dist/packages/primitives/progress/src/index.d.ts.map +0 -1
  569. package/dist/packages/primitives/radial-progress/src/RadialProgress.vue.d.ts.map +0 -1
  570. package/dist/packages/primitives/radial-progress/src/index.d.ts.map +0 -1
  571. package/dist/packages/primitives/rating/src/Rating.vue.d.ts.map +0 -1
  572. package/dist/packages/primitives/rating/src/index.d.ts.map +0 -1
  573. package/dist/packages/primitives/stepper/src/Stepper.vue.d.ts.map +0 -1
  574. package/dist/packages/primitives/stepper/src/index.d.ts.map +0 -1
  575. package/dist/packages/primitives/tags-input/src/TagsInput.vue.d.ts.map +0 -1
  576. package/dist/packages/primitives/tags-input/src/index.d.ts.map +0 -1
  577. package/dist/packages/primitives/text-field/src/TextField.vue.d.ts.map +0 -1
  578. package/dist/packages/primitives/text-field/src/index.d.ts.map +0 -1
  579. package/dist/packages/primitives/textarea/src/Textarea.vue.d.ts.map +0 -1
  580. package/dist/packages/primitives/textarea/src/index.d.ts.map +0 -1
  581. package/dist/packages/primitives/time-picker/src/TimePicker.vue.d.ts.map +0 -1
  582. package/dist/packages/primitives/toast/src/Toast.vue.d.ts.map +0 -1
  583. package/dist/packages/primitives/toast/src/ToastItem.vue.d.ts.map +0 -1
  584. package/dist/packages/primitives/toast/src/index.d.ts.map +0 -1
  585. package/dist/packages/primitives/window-controls/src/WindowControls.vue.d.ts.map +0 -1
  586. package/dist/packages/primitives/window-controls/src/index.d.ts.map +0 -1
  587. package/dist/styles/theme.contrast.test.ts +0 -460
@@ -0,0 +1,64 @@
1
+ import { type LabelOverrides } from "../../../labels/src/index";
2
+ import type { CopyButtonLabels } from "../../../labels/src/index";
3
+ import type { IconButtonSize, IconButtonVariant } from "../../icon-button/src/index";
4
+ /**
5
+ * The visual weights and hit areas are IconButton's, verbatim — a copy button
6
+ * is an icon button that happens to own a clipboard contract, and there is no
7
+ * second press language to maintain.
8
+ */
9
+ export type CopyButtonVariant = IconButtonVariant;
10
+ export type CopyButtonSize = IconButtonSize;
11
+ export declare const COPY_BUTTON_LABELS: CopyButtonLabels;
12
+ /** How long the copied/failed feedback holds before the button returns to its resting glyph. */
13
+ export declare const COPY_REVERT_MS = 2000;
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ declare const __VLS_export: import("vue").DefineComponent<{
17
+ /** The text to copy. Provide `value` or `getText` — a `CopyButton` with neither has nothing to do. */
18
+ value?: string;
19
+ /** Resolved at click time instead of a static `value` — for text the host computes on demand, possibly asynchronously. */
20
+ getText?: () => string | Promise<string>;
21
+ /**
22
+ * Names for what the button says, as any subset of `CopyButtonLabels` —
23
+ * the per-instance correction over `COPY_BUTTON_LABELS`, in the same
24
+ * shape every component's `labels` prop takes. `copy` is the button's
25
+ * accessible name and never changes with the state; `copied` and
26
+ * `failed` are what assistive technology hears.
27
+ */
28
+ labels?: LabelOverrides<CopyButtonLabels>;
29
+ /** Visual weight, shared with IconButton. */
30
+ variant?: CopyButtonVariant;
31
+ /** Square hit area, shared with IconButton. */
32
+ size?: CopyButtonSize;
33
+ /** Unavailable rather than dimmed — drains to the neutral well and blocks pointer events. */
34
+ disabled?: boolean;
35
+ /** The native button type. Defaults to `button`, never an accidental submit. */
36
+ type?: "button" | "submit" | "reset";
37
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
38
+ /** The text to copy. Provide `value` or `getText` — a `CopyButton` with neither has nothing to do. */
39
+ value?: string;
40
+ /** Resolved at click time instead of a static `value` — for text the host computes on demand, possibly asynchronously. */
41
+ getText?: () => string | Promise<string>;
42
+ /**
43
+ * Names for what the button says, as any subset of `CopyButtonLabels` —
44
+ * the per-instance correction over `COPY_BUTTON_LABELS`, in the same
45
+ * shape every component's `labels` prop takes. `copy` is the button's
46
+ * accessible name and never changes with the state; `copied` and
47
+ * `failed` are what assistive technology hears.
48
+ */
49
+ labels?: LabelOverrides<CopyButtonLabels>;
50
+ /** Visual weight, shared with IconButton. */
51
+ variant?: CopyButtonVariant;
52
+ /** Square hit area, shared with IconButton. */
53
+ size?: CopyButtonSize;
54
+ /** Unavailable rather than dimmed — drains to the neutral well and blocks pointer events. */
55
+ disabled?: boolean;
56
+ /** The native button type. Defaults to `button`, never an accidental submit. */
57
+ type?: "button" | "submit" | "reset";
58
+ }> & Readonly<{}>, {
59
+ size: CopyButtonSize;
60
+ type: "button" | "submit" | "reset";
61
+ disabled: boolean;
62
+ variant: CopyButtonVariant;
63
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
64
+ //# sourceMappingURL=CopyButton.vue.d.ts.map
@@ -0,0 +1,113 @@
1
+ import { useLabels } from "../../../labels/src/labels.js";
2
+ import "../../../labels/src/index.js";
3
+ import IconButton_default from "../../icon-button/src/IconButton.js";
4
+ import "../../icon-button/src/index.js";
5
+ import { useAnnounce } from "../../live-region/src/useAnnounce.js";
6
+ import "../../live-region/src/index.js";
7
+ import { createBlock, defineComponent, onBeforeUnmount, openBlock, ref, unref, withCtx } from "vue";
8
+ import { Check, Copy, X } from "@lucide/vue";
9
+ //#region packages/primitives/copy-button/src/CopyButton.vue?vue&type=script&setup=true&lang.ts
10
+ var COPY_BUTTON_LABELS = {
11
+ copy: "Copy to clipboard",
12
+ copied: "Copied to clipboard",
13
+ failed: "Could not copy to clipboard"
14
+ };
15
+ /** How long the copied/failed feedback holds before the button returns to its resting glyph. */
16
+ var COPY_REVERT_MS = 2e3;
17
+ var CopyButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
18
+ __name: "CopyButton",
19
+ props: {
20
+ value: {},
21
+ getText: {},
22
+ labels: {},
23
+ variant: { default: "default" },
24
+ size: { default: "md" },
25
+ disabled: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ type: { default: "button" }
30
+ },
31
+ setup(__props) {
32
+ const props = __props;
33
+ /**
34
+ * The outcome is announced through the shared LiveRegion seam, not a
35
+ * region of this component's own: a region must pre-exist the messages it
36
+ * announces, and the seam's standalone pair on `document.body` guarantees
37
+ * that without every copy button mounting its own.
38
+ */
39
+ const announce = useAnnounce();
40
+ const text = useLabels("copyButton", COPY_BUTTON_LABELS, () => props.labels);
41
+ /**
42
+ * idle → copied | failed → idle, on a two-second revert timer. The guard
43
+ * covers only the await window: a click during the feedback window is a
44
+ * legitimate "copy again", not a duplicate — the announcement seam re-adds
45
+ * the message, so a repeat is heard.
46
+ */
47
+ const state = ref("idle");
48
+ let pending = false;
49
+ let revertTimer = null;
50
+ function scheduleRevert() {
51
+ if (revertTimer !== null) clearTimeout(revertTimer);
52
+ revertTimer = setTimeout(() => {
53
+ state.value = "idle";
54
+ revertTimer = null;
55
+ }, COPY_REVERT_MS);
56
+ }
57
+ onBeforeUnmount(() => {
58
+ if (revertTimer !== null) clearTimeout(revertTimer);
59
+ revertTimer = null;
60
+ });
61
+ async function copy() {
62
+ if (props.disabled || pending) return;
63
+ pending = true;
64
+ try {
65
+ const value = props.getText ? await props.getText() : props.value ?? "";
66
+ await navigator.clipboard.writeText(value);
67
+ state.value = "copied";
68
+ announce(text.value.copied);
69
+ } catch {
70
+ state.value = "failed";
71
+ announce(text.value.failed);
72
+ } finally {
73
+ pending = false;
74
+ scheduleRevert();
75
+ }
76
+ }
77
+ return (_ctx, _cache) => {
78
+ return openBlock(), createBlock(unref(IconButton_default), {
79
+ label: unref(text).copy,
80
+ variant: __props.variant,
81
+ size: __props.size,
82
+ disabled: __props.disabled,
83
+ type: __props.type,
84
+ onClick: copy
85
+ }, {
86
+ default: withCtx(() => [state.value === "copied" ? (openBlock(), createBlock(unref(Check), {
87
+ key: 0,
88
+ class: "h-4 w-4",
89
+ "aria-hidden": "true"
90
+ })) : state.value === "failed" ? (openBlock(), createBlock(unref(X), {
91
+ key: 1,
92
+ class: "h-4 w-4",
93
+ "aria-hidden": "true"
94
+ })) : (openBlock(), createBlock(unref(Copy), {
95
+ key: 2,
96
+ class: "h-4 w-4",
97
+ "aria-hidden": "true"
98
+ }))]),
99
+ _: 1
100
+ }, 8, [
101
+ "label",
102
+ "variant",
103
+ "size",
104
+ "disabled",
105
+ "type"
106
+ ]);
107
+ };
108
+ }
109
+ });
110
+ //#endregion
111
+ export { COPY_BUTTON_LABELS, COPY_REVERT_MS, CopyButton_vue_vue_type_script_setup_true_lang_default as default };
112
+
113
+ //# sourceMappingURL=CopyButton.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButton.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../../packages/primitives/copy-button/src/CopyButton.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { CopyButtonLabels } from \"@ecoma-io/loom-labels\";\nimport type { IconButtonSize, IconButtonVariant } from \"@ecoma-io/loom-icon-button\";\n\n/**\n * The visual weights and hit areas are IconButton's, verbatim — a copy button\n * is an icon button that happens to own a clipboard contract, and there is no\n * second press language to maintain.\n */\nexport type CopyButtonVariant = IconButtonVariant;\nexport type CopyButtonSize = IconButtonSize;\n\nexport const COPY_BUTTON_LABELS: CopyButtonLabels = {\n copy: \"Copy to clipboard\",\n copied: \"Copied to clipboard\",\n failed: \"Could not copy to clipboard\",\n};\n\n/** How long the copied/failed feedback holds before the button returns to its resting glyph. */\nexport const COPY_REVERT_MS = 2000;\n</script>\n\n<script setup lang=\"ts\">\nimport { onBeforeUnmount, ref } from \"vue\";\nimport { Check, Copy, X } from \"@lucide/vue\";\nimport IconButton from \"@ecoma-io/loom-icon-button\";\nimport { useAnnounce } from \"@ecoma-io/loom-live-region\";\nimport { useLabels, type LabelOverrides } from \"@ecoma-io/loom-labels\";\n\nconst props = withDefaults(\n defineProps<{\n /** The text to copy. Provide `value` or `getText` — a `CopyButton` with neither has nothing to do. */\n value?: string;\n /** Resolved at click time instead of a static `value` — for text the host computes on demand, possibly asynchronously. */\n getText?: () => string | Promise<string>;\n /**\n * Names for what the button says, as any subset of `CopyButtonLabels` —\n * the per-instance correction over `COPY_BUTTON_LABELS`, in the same\n * shape every component's `labels` prop takes. `copy` is the button's\n * accessible name and never changes with the state; `copied` and\n * `failed` are what assistive technology hears.\n */\n labels?: LabelOverrides<CopyButtonLabels>;\n /** Visual weight, shared with IconButton. */\n variant?: CopyButtonVariant;\n /** Square hit area, shared with IconButton. */\n size?: CopyButtonSize;\n /** Unavailable rather than dimmed — drains to the neutral well and blocks pointer events. */\n disabled?: boolean;\n /** The native button type. Defaults to `button`, never an accidental submit. */\n type?: \"button\" | \"submit\" | \"reset\";\n }>(),\n { variant: \"default\", size: \"md\", disabled: false, type: \"button\" },\n);\n\n/**\n * The outcome is announced through the shared LiveRegion seam, not a\n * region of this component's own: a region must pre-exist the messages it\n * announces, and the seam's standalone pair on `document.body` guarantees\n * that without every copy button mounting its own.\n */\nconst announce = useAnnounce();\n\n// `text`, not `labels`: the prop of that name is one of the three sources\n// this resolves (own prop, then the host vocabulary from\n// `provideLoomLabels`, then these English defaults), and a template reading\n// the raw prop would be reading the overrides rather than the answer.\nconst text = useLabels(\"copyButton\", COPY_BUTTON_LABELS, () => props.labels);\n\n/**\n * idle → copied | failed → idle, on a two-second revert timer. The guard\n * covers only the await window: a click during the feedback window is a\n * legitimate \"copy again\", not a duplicate — the announcement seam re-adds\n * the message, so a repeat is heard.\n */\ntype CopyState = \"idle\" | \"copied\" | \"failed\";\nconst state = ref<CopyState>(\"idle\");\nlet pending = false;\nlet revertTimer: ReturnType<typeof setTimeout> | null = null;\n\nfunction scheduleRevert(): void {\n if (revertTimer !== null) clearTimeout(revertTimer);\n revertTimer = setTimeout(() => {\n state.value = \"idle\";\n revertTimer = null;\n }, COPY_REVERT_MS);\n}\n\nonBeforeUnmount(() => {\n // The timer holds the only writer into `state`; firing after unmount\n // would write into a dead component. Cleared, not waited out.\n if (revertTimer !== null) clearTimeout(revertTimer);\n revertTimer = null;\n});\n\nasync function copy(): Promise<void> {\n if (props.disabled || pending) return;\n pending = true;\n try {\n // A throwing `getText` and a refusing clipboard take the same road:\n // the failed state is announced, the glyph says so, and the button\n // stays operable so the very next click retries the whole attempt.\n const value = props.getText ? await props.getText() : (props.value ?? \"\");\n await navigator.clipboard.writeText(value);\n state.value = \"copied\";\n announce(text.value.copied);\n } catch {\n state.value = \"failed\";\n announce(text.value.failed);\n } finally {\n pending = false;\n scheduleRevert();\n }\n}\n</script>\n\n<template>\n <IconButton\n :label=\"text.copy\"\n :variant=\"variant\"\n :size=\"size\"\n :disabled=\"disabled\"\n :type=\"type\"\n @click=\"copy\"\n >\n <!-- The glyph swap is the feedback's visual half only — never its only\n carrier. The announcement carries the state to assistive technology,\n and the accessible name stays `copy` throughout: a button whose name\n changes under a screen reader's cursor is its own confusion. -->\n <Check v-if=\"state === 'copied'\" class=\"h-4 w-4\" aria-hidden=\"true\" />\n <X v-else-if=\"state === 'failed'\" class=\"h-4 w-4\" aria-hidden=\"true\" />\n <Copy v-else class=\"h-4 w-4\" aria-hidden=\"true\" />\n </IconButton>\n</template>\n"],"mappings":";;;;;;;;;AAYA,IAAa,qBAAuC;CAClD,MAAM;CACN,QAAQ;CACR,QAAQ;AACV;;AAGA,IAAa,iBAAiB;;;;;;;;;;;;;;;;EAU9B,MAAM,QAAQ;;;;;;;EAgCd,MAAM,WAAW,YAAY;EAM7B,MAAM,OAAO,UAAU,cAAc,0BAA0B,MAAM,MAAM;;;;;;;EAS3E,MAAM,QAAQ,IAAe,MAAM;EACnC,IAAI,UAAU;EACd,IAAI,cAAoD;EAExD,SAAS,iBAAuB;GAC9B,IAAI,gBAAgB,MAAM,aAAa,WAAW;GAClD,cAAc,iBAAiB;IAC7B,MAAM,QAAQ;IACd,cAAc;GAChB,GAAG,cAAc;EACnB;EAEA,sBAAsB;GAGpB,IAAI,gBAAgB,MAAM,aAAa,WAAW;GAClD,cAAc;EAChB,CAAC;EAED,eAAe,OAAsB;GACnC,IAAI,MAAM,YAAY,SAAS;GAC/B,UAAU;GACV,IAAI;IAIF,MAAM,QAAQ,MAAM,UAAU,MAAM,MAAM,QAAQ,IAAK,MAAM,SAAS;IACtE,MAAM,UAAU,UAAU,UAAU,KAAK;IACzC,MAAM,QAAQ;IACd,SAAS,KAAK,MAAM,MAAM;GAC5B,QAAQ;IACN,MAAM,QAAQ;IACd,SAAS,KAAK,MAAM,MAAM;GAC5B,UAAU;IACR,UAAU;IACV,eAAe;GACjB;EACF;;GAIE,OAAA,UAAA,GAAA,YAea,MAAA,kBAAA,GAAA;IAdV,OAAO,MAAA,IAAA,CAAI,CAAC;IACZ,SAAS,QAAA;IACT,MAAM,QAAA;IACN,UAAU,QAAA;IACV,MAAM,QAAA;IACN,SAAO;;IAMK,SAAA,cAAA,CAAA,MAAA,UAAK,YAAlB,UAAA,GAAA,YAAsE,MAAA,KAAA,GAAA;;KAArC,OAAM;KAAU,eAAY;IAC/C,CAAA,KAAA,MAAA,UAAK,YAAnB,UAAA,GAAA,YAAuE,MAAA,CAAA,GAAA;;KAArC,OAAM;KAAU,eAAY;IAC9D,CAAA,MAAA,UAAA,GAAA,YAAkD,MAAA,IAAA,GAAA;;KAArC,OAAM;KAAU,eAAY"}
@@ -0,0 +1,4 @@
1
+ export { COPY_BUTTON_LABELS, COPY_REVERT_MS, default } from "./CopyButton.vue";
2
+ export type { CopyButtonSize, CopyButtonVariant } from "./CopyButton.vue";
3
+ export type { CopyButtonLabels } from "../../../labels/src/index";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,3 @@
1
+ import "./CopyButton.vue_vue_type_script_setup_true_lang.js";
2
+ import CopyButton_default from "./CopyButton.js";
3
+ export { CopyButton_default as default };
@@ -0,0 +1,7 @@
1
+ import DataGrid_vue_vue_type_script_setup_true_lang_default, { DATA_GRID_LABELS } from "./DataGrid.vue_vue_type_script_setup_true_lang.js";
2
+ //#region packages/primitives/data-grid/src/DataGrid.vue
3
+ var DataGrid_default = DataGrid_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { DATA_GRID_LABELS, DataGrid_default as default };
6
+
7
+ //# sourceMappingURL=DataGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.js","names":[],"sources":["../../../../../packages/primitives/data-grid/src/DataGrid.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { DataGridLabels } from \"@ecoma-io/loom-labels\";\nimport type { TableAlign, TableDensity } from \"@ecoma-io/loom-table\";\n\n/**\n * Loom's English, co-located with the component so it tree-shakes with it,\n * and exported so a host can build a partial vocabulary against the real\n * thing rather than a transcription of it.\n */\nexport const DATA_GRID_LABELS: DataGridLabels = {\n region: \"Data grid\",\n selectAll: \"Select all rows\",\n selectRow: \"Select row\",\n sortedAscending: \"Sorted ascending\",\n sortedDescending: \"Sorted descending\",\n sort: \"Sort\",\n};\n\n/** One column: what it reads, whether it sorts, how it aligns. */\nexport interface DataGridColumn {\n /** The row field this column renders; also the sort key. */\n key: string;\n /** The column header's text. */\n header: string;\n /** Renders the header as the tri-state sort control. */\n sortable?: boolean;\n /** Text alignment; numeric columns want `\"right\"`. */\n align?: TableAlign;\n /** Any CSS width, e.g. `\"6rem\"` — pins the column in the scrolling grid. */\n width?: string;\n}\n\n/** Sort direction, compact union — `aria-sort` takes the full ARIA tokens. */\nexport type DataGridSort = \"asc\" | \"desc\";\n\n/** Which column is sorted, and which way. Absent: nothing is. */\nexport type DataGridSortState = { key: string; direction: DataGridSort } | undefined;\n\n/**\n * DataGrid — the WAI-ARIA grids pattern: `Table`'s visual language with the\n * interactive half added. Table reads, DataGrid acts — rows are selectable\n * (`v-model:selectedRowKeys`, select-all with a real `aria-checked=\"mixed\"`),\n * sortable headers carry `aria-sort`, and a row answers Enter/double-click\n * through `@row-activate`.\n *\n * The keyboard model is the APG one, and it is the reason this is not a\n * Table variant: the cell matrix holds exactly one Tab stop (roving\n * tabindex), so Tab enters and leaves the grid once while the arrow keys,\n * Home/End and their Ctrl variants move focus cell to cell. Focus — not\n * the pointer — is what a grid sells.\n *\n * There is no `aria-rowcount` on purpose: every row is in the DOM, so the\n * count is the DOM's to state. The attribute earns its place the day the\n * grid virtualizes, not before — an asserted virtual size over a real\n * partial DOM is the lie `aria-rowcount` exists to correct.\n */\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from \"vue\";\nimport { ChevronDown, ChevronsUpDown, ChevronUp } from \"@lucide/vue\";\nimport { cn } from \"@ecoma-io/loom-core\";\nimport Checkbox from \"@ecoma-io/loom-checkbox\";\nimport { useLabels, type LabelOverrides } from \"@ecoma-io/loom-labels\";\nimport { headAlignClass, nextSort, tableRowVariants } from \"@ecoma-io/loom-table\";\n\nconst props = withDefaults(\n defineProps<{\n /** The columns, left to right. */\n columns: DataGridColumn[];\n /** The row objects; a column renders `row[column.key]`. */\n rows: Array<Record<string, unknown>>;\n /** The row field whose value keys selection. Defaults to `\"id\"`. */\n rowKey?: string;\n /** Adds the selection column: per-row checkboxes plus select-all with its mixed state. */\n selectable?: boolean;\n /**\n * The selected row keys when the host owns the selection through\n * `v-model:selectedRowKeys`; omit the binding and the grid owns the\n * state itself while still reporting every change.\n */\n selectedRowKeys?: Array<string | number>;\n /**\n * The active sort when the host owns it through `v-model:sort`; omit it\n * and the headers cycle on their own while still reporting each change.\n */\n sort?: DataGridSortState;\n /** Row padding. Compact suits dense application chrome. */\n density?: TableDensity;\n /** The grid's accessible name, read before a screen reader enters it. */\n caption?: string;\n /** Names what the grid says on its own account, as any subset of `DataGridLabels`. */\n labels?: LabelOverrides<DataGridLabels>;\n }>(),\n { rowKey: \"id\", selectable: false, density: \"comfortable\" },\n);\n\nconst emit = defineEmits<{\n \"update:selectedRowKeys\": [value: Array<string | number>];\n \"update:sort\": [value: DataGridSortState];\n \"sort-change\": [value: DataGridSortState];\n rowActivate: [row: Record<string, unknown>];\n}>();\n\n// `text`, not `labels`: the prop of that name is one of the three sources\n// this resolves (own prop, then the host vocabulary from\n// `provideLoomLabels`, then these English defaults), and a template reading\n// the raw prop would be reading the overrides rather than the answer.\nconst text = useLabels(\"dataGrid\", DATA_GRID_LABELS, () => props.labels);\n\n// ---------- selection ----------\n\nconst innerSelected = ref<Array<string | number>>([]);\nconst selected = computed(() => props.selectedRowKeys ?? innerSelected.value);\n\nconst keyOf = (row: Record<string, unknown>): string | number =>\n row[props.rowKey] as string | number;\nconst isSelected = (row: Record<string, unknown>): boolean => selected.value.includes(keyOf(row));\n\nfunction setSelection(next: Array<string | number>): void {\n innerSelected.value = next;\n emit(\"update:selectedRowKeys\", next);\n}\n\nconst allSelected = computed(\n () => props.rows.length > 0 && props.rows.every((row) => isSelected(row)),\n);\nconst someSelected = computed(\n () => !allSelected.value && props.rows.some((row) => isSelected(row)),\n);\n\n// Checkbox's own third state: reka renders it as `aria-checked=\"mixed\"`,\n// which is the select-all announcement the grid owes — a dash glyph alone is\n// shape-only semantics.\nconst selectAllState = computed<\"indeterminate\" | boolean>(() =>\n allSelected.value ? true : someSelected.value ? \"indeterminate\" : false,\n);\n\nfunction toggleAll(): void {\n setSelection(allSelected.value ? [] : props.rows.map((row) => keyOf(row)));\n}\n\nfunction toggleRow(row: Record<string, unknown>): void {\n setSelection(\n isSelected(row)\n ? selected.value.filter((key) => key !== keyOf(row))\n : [...selected.value, keyOf(row)],\n );\n}\n\nconst innerSort = ref<DataGridSortState>(undefined);\nconst currentSort = computed<DataGridSortState>(() => props.sort ?? innerSort.value);\n\nconst sortDirectionOf = (col: DataGridColumn): DataGridSort | undefined =>\n currentSort.value?.key === col.key ? currentSort.value.direction : undefined;\n\nconst ARIA_SORT = { asc: \"ascending\", desc: \"descending\" } as const;\nconst SORT_ICON = { asc: ChevronUp, desc: ChevronDown } as const;\nconst ariaSortOf = (col: DataGridColumn): (typeof ARIA_SORT)[DataGridSort] | undefined => {\n const direction = sortDirectionOf(col);\n return direction ? ARIA_SORT[direction] : undefined;\n};\nconst sortIconOf = (col: DataGridColumn) => {\n const direction = sortDirectionOf(col);\n return direction ? SORT_ICON[direction] : ChevronsUpDown;\n};\nconst sortWordsOf = (col: DataGridColumn): string => {\n const direction = sortDirectionOf(col);\n return direction === \"asc\"\n ? text.value.sortedAscending\n : direction === \"desc\"\n ? text.value.sortedDescending\n : text.value.sort;\n};\n\nfunction toggleSort(col: DataGridColumn): void {\n const direction = nextSort(sortDirectionOf(col));\n const next: DataGridSortState = direction ? { key: col.key, direction } : undefined;\n innerSort.value = next;\n // `sort-change` for hosts following the sketch's `@sort-change`,\n // `update:sort` so `v-model:sort` works the way every other control's does.\n emit(\"update:sort\", next);\n emit(\"sort-change\", next);\n}\n\nconst colCount = computed(() => props.columns.length + (props.selectable ? 1 : 0));\n\n// Rows: -1 is the header row, 0.. are body rows. Columns count the selection\n// column first when `selectable`. Exactly one cell carries tabindex 0 — the\n// active cell — so Tab enters and leaves the grid once; everything else is\n// -1 and reachable only through the matrix moves.\nconst activeCell = ref({ row: props.rows.length > 0 ? 0 : -1, col: 0 });\nconst bodyColumnIndex = (i: number): number => (props.selectable ? i + 1 : i);\nconst isCellActive = (row: number, col: number): boolean =>\n activeCell.value.row === row && activeCell.value.col === col;\n\n// Rows arriving or leaving can strand the active cell outside the matrix. The\n// floor is -1, not 0: the header row is a valid roving stop too, and a floor\n// of 0 would push the header onto a body row that does not exist once every\n// row is gone, leaving the grid with no Tab stop at all.\nwatch(\n () => [props.rows.length, props.selectable, props.columns.length] as const,\n () => {\n const previous = activeCell.value;\n const next = {\n row: Math.min(Math.max(previous.row, -1), Math.max(props.rows.length - 1, -1)),\n col: Math.min(previous.col, colCount.value - 1),\n };\n activeCell.value = next;\n // A shrink that moves the active cell strands real focus too: the focused\n // cell unmounts, focus falls to <body>, and onFocusin — which only hears\n // focus arriving inside the grid — never learns. The clamped cell is\n // within the surviving matrix, so it exists to take focus back.\n if (\n (previous.row !== next.row || previous.col !== next.col) &&\n table.value?.contains(document.activeElement)\n ) {\n focusCell(next.row, next.col);\n }\n },\n);\n\nconst table = ref<HTMLElement | null>(null);\nconst region = ref<HTMLElement | null>(null);\n\nfunction focusCell(row: number, col: number): void {\n activeCell.value = { row, col };\n table.value?.querySelector<HTMLElement>(`[data-r='${row}'][data-c='${col}']`)?.focus();\n}\n\nfunction moveTo(row: number, col: number): void {\n focusCell(\n // The floor is -1, not 0, for the same reason the watcher below uses it:\n // with no body row, 0 would clamp onto a row that does not exist and\n // strand the grid with no Tab stop (the header is `data-r=\"-1\"`).\n Math.min(Math.max(row, -1), Math.max(props.rows.length - 1, -1)),\n Math.min(Math.max(col, 0), colCount.value - 1),\n );\n}\n\n// Focus can also arrive outside the keymap — a pointer tap lands directly on\n// a cell — and the roving Tab stop has to follow whoever actually holds it.\nfunction onFocusin(event: FocusEvent): void {\n const cell = (event.target as Element).closest(\"[data-r]\");\n if (cell) {\n activeCell.value = {\n row: Number(cell.getAttribute(\"data-r\")),\n col: Number(cell.getAttribute(\"data-c\")),\n };\n }\n}\n\nfunction activateCell(row: number, col: number): void {\n if (row < 0) {\n const col_ = props.columns[col - (props.selectable ? 1 : 0)];\n if (col_?.sortable) toggleSort(col_);\n return;\n }\n const target = props.rows[row];\n if (target) emit(\"rowActivate\", target);\n}\n\nfunction spaceCell(row: number, col: number): void {\n if (!props.selectable) return;\n if (row < 0) {\n if (col === 0) toggleAll();\n return;\n }\n const target = props.rows[row];\n if (target) toggleRow(target);\n}\n\nfunction onKeydown(event: KeyboardEvent): void {\n const cell = (event.target as Element).closest(\"[data-r]\");\n if (!cell) return;\n const row = Number(cell.getAttribute(\"data-r\"));\n const col = Number(cell.getAttribute(\"data-c\"));\n const lastRow = Math.max(props.rows.length - 1, 0);\n const lastCol = colCount.value - 1;\n\n switch (event.key) {\n case \"ArrowRight\":\n moveTo(row, col + 1);\n break;\n case \"ArrowLeft\":\n moveTo(row, col - 1);\n break;\n case \"ArrowDown\":\n moveTo(row + 1, col);\n break;\n case \"ArrowUp\":\n moveTo(row - 1, col);\n break;\n case \"Home\":\n event.ctrlKey || event.metaKey ? moveTo(0, 0) : moveTo(row, 0);\n break;\n case \"End\":\n event.ctrlKey || event.metaKey ? moveTo(lastRow, lastCol) : moveTo(row, lastCol);\n break;\n case \"Enter\":\n activateCell(row, col);\n break;\n case \" \":\n spaceCell(row, col);\n break;\n default:\n return;\n }\n event.preventDefault();\n}\n\n// ---------- scroll region (Table's mechanism, verbatim in spirit) ----------\n\n// The region is focusable only while it can actually scroll: a Tab stop that\n// never moves is a dead one. Overflow is measured, not assumed.\nconst scrollable = ref(false);\n\nfunction measure(): void {\n const el = region.value;\n if (el) scrollable.value = el.scrollWidth > el.clientWidth;\n}\n\nlet observer: ResizeObserver | undefined;\nonMounted(() => {\n measure();\n observer = new ResizeObserver(measure);\n if (table.value) observer.observe(table.value);\n window.addEventListener(\"resize\", measure, { passive: true });\n});\nonBeforeUnmount(() => {\n observer?.disconnect();\n window.removeEventListener(\"resize\", measure);\n});\n</script>\n\n<template>\n <!-- A scroll container, not the table itself, for the reason Table's\n wrapper documents: a wide grid overflows its region instead of\n stretching the page. -->\n <div\n ref=\"region\"\n role=\"region\"\n :aria-label=\"caption ?? text.region\"\n :tabindex=\"scrollable ? 0 : undefined\"\n class=\"w-full overflow-x-auto rounded-lg focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring focus-visible:shadow-halo\"\n >\n <!-- Roving focus ring, not focus-visible: the moves that matter here are\n programmatic (arrow keys), and a ring that only answers\n focus-visible hides the one thing a grid must never hide — which\n cell holds focus. -->\n <!-- tabindex=\"-1\" marks the interactive grid focusable without adding a\n Tab stop: the cells own the single roving stop, the container is\n only a target for programmatic/assistive-tech focus. -->\n <table\n ref=\"table\"\n role=\"grid\"\n tabindex=\"-1\"\n :data-density=\"density\"\n class=\"w-full border-collapse text-left text-sm focus:outline-none [&_th]:border-b [&_th]:border-border-strong [&_th]:px-3 [&_th]:py-2.5 [&_th]:text-xs [&_th]:font-semibold [&_th]:text-muted-foreground [&_th]:whitespace-nowrap [&_td]:border-b [&_td]:border-border [&_td]:px-3 [&_td]:align-top [&_td]:text-foreground [&[data-density='comfortable']_td]:py-3 [&[data-density='compact']_td]:py-1.5 [&[data-density='compact']_th]:py-1.5 [&_tbody_tr:last-child_td]:border-b-0\"\n @keydown=\"onKeydown\"\n @focusin=\"onFocusin\"\n >\n <thead>\n <!-- Inside role=\"grid\" the native tr→row mapping does not apply; the\n plugin cannot see the ancestor role, so the explicit role is load-bearing. -->\n <!-- eslint-disable-next-line vuejs-accessibility/no-redundant-roles -->\n <tr role=\"row\">\n <!-- eslint-disable-next-line vuejs-accessibility/no-redundant-roles -->\n <th\n v-if=\"selectable\"\n scope=\"col\"\n role=\"columnheader\"\n data-r=\"-1\"\n :data-c=\"0\"\n :tabindex=\"isCellActive(-1, 0) ? 0 : -1\"\n class=\"focus:outline-2 focus:-outline-offset-2 focus:outline-ring\"\n >\n <Checkbox\n :model-value=\"selectAllState\"\n :aria-label=\"text.selectAll\"\n tabindex=\"-1\"\n @update:model-value=\"toggleAll()\"\n />\n </th>\n <!-- eslint-disable-next-line vuejs-accessibility/no-redundant-roles -->\n <th\n v-for=\"(col, i) in columns\"\n :key=\"col.key\"\n scope=\"col\"\n role=\"columnheader\"\n :aria-sort=\"ariaSortOf(col)\"\n :data-r=\"-1\"\n :data-c=\"bodyColumnIndex(i)\"\n :tabindex=\"isCellActive(-1, bodyColumnIndex(i)) ? 0 : -1\"\n :style=\"col.width ? { width: col.width } : undefined\"\n :class=\"\n cn(\n headAlignClass(col.align),\n 'focus:outline-2 focus:-outline-offset-2 focus:outline-ring',\n )\n \"\n >\n <!-- The sort button is reachable only through its header cell:\n a second Tab stop inside the matrix would break the\n enter-once contract. Enter on the cell sorts instead. -->\n <button\n v-if=\"col.sortable\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"inline-flex min-h-6 items-center gap-1 rounded-sm px-1 transition-colors duration-fast ease-out hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring focus-visible:shadow-halo\"\n @click=\"toggleSort(col)\"\n >\n <span class=\"inline-flex items-center gap-1 font-semibold\">{{ col.header }}</span>\n <component\n :is=\"sortIconOf(col)\"\n class=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\"\n aria-hidden=\"true\"\n />\n <span class=\"sr-only\">{{ sortWordsOf(col) }}</span>\n </button>\n <template v-else>{{ col.header }}</template>\n </th>\n </tr>\n </thead>\n <tbody>\n <!-- eslint-disable-next-line vuejs-accessibility/no-redundant-roles -->\n <tr\n v-for=\"(row, r) in rows\"\n :key=\"String(keyOf(row))\"\n role=\"row\"\n :aria-selected=\"selectable ? isSelected(row) : undefined\"\n :class=\"\n cn(\n tableRowVariants({\n state: selectable ? (isSelected(row) ? 'selected' : 'interactive') : 'none',\n }),\n )\n \"\n @dblclick=\"emit('rowActivate', row)\"\n >\n <td\n v-if=\"selectable\"\n role=\"gridcell\"\n :data-r=\"r\"\n :data-c=\"0\"\n :tabindex=\"isCellActive(r, 0) ? 0 : -1\"\n class=\"focus:outline-2 focus:-outline-offset-2 focus:outline-ring\"\n >\n <Checkbox\n :model-value=\"isSelected(row)\"\n :aria-label=\"text.selectRow\"\n tabindex=\"-1\"\n @update:model-value=\"toggleRow(row)\"\n />\n </td>\n <td\n v-for=\"(col, i) in columns\"\n :key=\"col.key\"\n role=\"gridcell\"\n :data-r=\"r\"\n :data-c=\"bodyColumnIndex(i)\"\n :tabindex=\"isCellActive(r, bodyColumnIndex(i)) ? 0 : -1\"\n :class=\"\n cn(\n headAlignClass(col.align),\n 'focus:outline-2 focus:-outline-offset-2 focus:outline-ring',\n )\n \"\n >\n <!-- @slot One cell's content — a Badge, a RowActions cluster —\n with `row`, `column` and `value` scoped in. -->\n <slot name=\"cell\" :row=\"row\" :column=\"col\" :value=\"row[col.key]\">\n {{ row[col.key] ?? \"\" }}\n </slot>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</template>\n"],"mappings":""}
@@ -0,0 +1,128 @@
1
+ import { type LabelOverrides } from "../../../labels/src/index";
2
+ import type { DataGridLabels } from "../../../labels/src/index";
3
+ import type { TableAlign, TableDensity } from "../../table/src/index";
4
+ /**
5
+ * Loom's English, co-located with the component so it tree-shakes with it,
6
+ * and exported so a host can build a partial vocabulary against the real
7
+ * thing rather than a transcription of it.
8
+ */
9
+ export declare const DATA_GRID_LABELS: DataGridLabels;
10
+ /** One column: what it reads, whether it sorts, how it aligns. */
11
+ export interface DataGridColumn {
12
+ /** The row field this column renders; also the sort key. */
13
+ key: string;
14
+ /** The column header's text. */
15
+ header: string;
16
+ /** Renders the header as the tri-state sort control. */
17
+ sortable?: boolean;
18
+ /** Text alignment; numeric columns want `"right"`. */
19
+ align?: TableAlign;
20
+ /** Any CSS width, e.g. `"6rem"` — pins the column in the scrolling grid. */
21
+ width?: string;
22
+ }
23
+ /** Sort direction, compact union — `aria-sort` takes the full ARIA tokens. */
24
+ export type DataGridSort = "asc" | "desc";
25
+ /** Which column is sorted, and which way. Absent: nothing is. */
26
+ export type DataGridSortState = {
27
+ key: string;
28
+ direction: DataGridSort;
29
+ } | undefined;
30
+ /**
31
+ * DataGrid — the WAI-ARIA grids pattern: `Table`'s visual language with the
32
+ * interactive half added. Table reads, DataGrid acts — rows are selectable
33
+ * (`v-model:selectedRowKeys`, select-all with a real `aria-checked="mixed"`),
34
+ * sortable headers carry `aria-sort`, and a row answers Enter/double-click
35
+ * through `@row-activate`.
36
+ *
37
+ * The keyboard model is the APG one, and it is the reason this is not a
38
+ * Table variant: the cell matrix holds exactly one Tab stop (roving
39
+ * tabindex), so Tab enters and leaves the grid once while the arrow keys,
40
+ * Home/End and their Ctrl variants move focus cell to cell. Focus — not
41
+ * the pointer — is what a grid sells.
42
+ *
43
+ * There is no `aria-rowcount` on purpose: every row is in the DOM, so the
44
+ * count is the DOM's to state. The attribute earns its place the day the
45
+ * grid virtualizes, not before — an asserted virtual size over a real
46
+ * partial DOM is the lie `aria-rowcount` exists to correct.
47
+ */
48
+ declare const _default: typeof __VLS_export;
49
+ export default _default;
50
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
51
+ /** The columns, left to right. */
52
+ columns: DataGridColumn[];
53
+ /** The row objects; a column renders `row[column.key]`. */
54
+ rows: Array<Record<string, unknown>>;
55
+ /** The row field whose value keys selection. Defaults to `"id"`. */
56
+ rowKey?: string;
57
+ /** Adds the selection column: per-row checkboxes plus select-all with its mixed state. */
58
+ selectable?: boolean;
59
+ /**
60
+ * The selected row keys when the host owns the selection through
61
+ * `v-model:selectedRowKeys`; omit the binding and the grid owns the
62
+ * state itself while still reporting every change.
63
+ */
64
+ selectedRowKeys?: Array<string | number>;
65
+ /**
66
+ * The active sort when the host owns it through `v-model:sort`; omit it
67
+ * and the headers cycle on their own while still reporting each change.
68
+ */
69
+ sort?: DataGridSortState;
70
+ /** Row padding. Compact suits dense application chrome. */
71
+ density?: TableDensity;
72
+ /** The grid's accessible name, read before a screen reader enters it. */
73
+ caption?: string;
74
+ /** Names what the grid says on its own account, as any subset of `DataGridLabels`. */
75
+ labels?: LabelOverrides<DataGridLabels>;
76
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
77
+ "update:sort": (value: DataGridSortState) => any;
78
+ "update:selectedRowKeys": (value: (string | number)[]) => any;
79
+ "sort-change": (value: DataGridSortState) => any;
80
+ rowActivate: (row: Record<string, unknown>) => any;
81
+ }, string, import("vue").PublicProps, Readonly<{
82
+ /** The columns, left to right. */
83
+ columns: DataGridColumn[];
84
+ /** The row objects; a column renders `row[column.key]`. */
85
+ rows: Array<Record<string, unknown>>;
86
+ /** The row field whose value keys selection. Defaults to `"id"`. */
87
+ rowKey?: string;
88
+ /** Adds the selection column: per-row checkboxes plus select-all with its mixed state. */
89
+ selectable?: boolean;
90
+ /**
91
+ * The selected row keys when the host owns the selection through
92
+ * `v-model:selectedRowKeys`; omit the binding and the grid owns the
93
+ * state itself while still reporting every change.
94
+ */
95
+ selectedRowKeys?: Array<string | number>;
96
+ /**
97
+ * The active sort when the host owns it through `v-model:sort`; omit it
98
+ * and the headers cycle on their own while still reporting each change.
99
+ */
100
+ sort?: DataGridSortState;
101
+ /** Row padding. Compact suits dense application chrome. */
102
+ density?: TableDensity;
103
+ /** The grid's accessible name, read before a screen reader enters it. */
104
+ caption?: string;
105
+ /** Names what the grid says on its own account, as any subset of `DataGridLabels`. */
106
+ labels?: LabelOverrides<DataGridLabels>;
107
+ }> & Readonly<{
108
+ "onUpdate:sort"?: (value: DataGridSortState) => any;
109
+ "onUpdate:selectedRowKeys"?: (value: (string | number)[]) => any;
110
+ "onSort-change"?: (value: DataGridSortState) => any;
111
+ onRowActivate?: (row: Record<string, unknown>) => any;
112
+ }>, {
113
+ density: TableDensity;
114
+ rowKey: string;
115
+ selectable: boolean;
116
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
117
+ cell?: (props: {
118
+ row: Record<string, unknown>;
119
+ column: DataGridColumn;
120
+ value: unknown;
121
+ }) => any;
122
+ }>;
123
+ type __VLS_WithSlots<T, S> = T & {
124
+ new (): {
125
+ $slots: S;
126
+ };
127
+ };
128
+ //# sourceMappingURL=DataGrid.vue.d.ts.map