@ecoma-io/loom 0.1.0 → 0.2.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 (495) hide show
  1. package/README.md +54 -57
  2. package/dist/blocks/AppHeader/AppHeader.js.map +1 -1
  3. package/dist/blocks/AppHeader/AppHeader.vue.d.ts +5 -6
  4. package/dist/blocks/AppHeader/AppHeader.vue.d.ts.map +1 -1
  5. package/dist/blocks/AppHeader/AppHeader.vue_vue_type_script_setup_true_lang.js +6 -7
  6. package/dist/blocks/AppHeader/AppHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  7. package/dist/blocks/DashboardGrid/DashboardGrid.vue.d.ts +1 -1
  8. package/dist/blocks/DashboardGrid/DashboardGrid.vue.d.ts.map +1 -1
  9. package/dist/blocks/DesktopAppShell/DesktopAppShell.js +7 -0
  10. package/dist/blocks/DesktopAppShell/DesktopAppShell.js.map +1 -0
  11. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue.d.ts +102 -0
  12. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue.d.ts.map +1 -0
  13. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue_vue_type_script_setup_true_lang.js +74 -0
  14. package/dist/blocks/DesktopAppShell/DesktopAppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  15. package/dist/blocks/ErrorState/ErrorState.js +7 -0
  16. package/dist/blocks/ErrorState/ErrorState.js.map +1 -0
  17. package/dist/blocks/ErrorState/ErrorState.vue.d.ts +44 -0
  18. package/dist/blocks/ErrorState/ErrorState.vue.d.ts.map +1 -0
  19. package/dist/blocks/ErrorState/ErrorState.vue_vue_type_script_setup_true_lang.js +60 -0
  20. package/dist/blocks/ErrorState/ErrorState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  21. package/dist/blocks/FormActions/FormActions.js +7 -0
  22. package/dist/blocks/FormActions/FormActions.js.map +1 -0
  23. package/dist/blocks/FormActions/FormActions.vue.d.ts +51 -0
  24. package/dist/blocks/FormActions/FormActions.vue.d.ts.map +1 -0
  25. package/dist/blocks/FormActions/FormActions.vue_vue_type_script_setup_true_lang.js +21 -0
  26. package/dist/blocks/FormActions/FormActions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  27. package/dist/blocks/FormSection/FormSection.js +7 -0
  28. package/dist/blocks/FormSection/FormSection.js.map +1 -0
  29. package/dist/blocks/FormSection/FormSection.vue.d.ts +85 -0
  30. package/dist/blocks/FormSection/FormSection.vue.d.ts.map +1 -0
  31. package/dist/blocks/FormSection/FormSection.vue_vue_type_script_setup_true_lang.js +62 -0
  32. package/dist/blocks/FormSection/FormSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  33. package/dist/blocks/LoadingState/LoadingState.js +7 -0
  34. package/dist/blocks/LoadingState/LoadingState.js.map +1 -0
  35. package/dist/blocks/LoadingState/LoadingState.vue.d.ts +22 -0
  36. package/dist/blocks/LoadingState/LoadingState.vue.d.ts.map +1 -0
  37. package/dist/blocks/LoadingState/LoadingState.vue_vue_type_script_setup_true_lang.js +57 -0
  38. package/dist/blocks/LoadingState/LoadingState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  39. package/dist/blocks/MetricCard/MetricCard.js +7 -0
  40. package/dist/blocks/MetricCard/MetricCard.js.map +1 -0
  41. package/dist/blocks/MetricCard/MetricCard.vue.d.ts +59 -0
  42. package/dist/blocks/MetricCard/MetricCard.vue.d.ts.map +1 -0
  43. package/dist/blocks/MetricCard/MetricCard.vue_vue_type_script_setup_true_lang.js +63 -0
  44. package/dist/blocks/MetricCard/MetricCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  45. package/dist/blocks/SidebarNav/SidebarNav.js.map +1 -1
  46. package/dist/blocks/SidebarNav/SidebarNav.vue_vue_type_script_setup_true_lang.js.map +1 -1
  47. package/dist/blocks/TitleBar/TitleBar.js.map +1 -1
  48. package/dist/blocks/TitleBar/TitleBar.vue.d.ts +37 -3
  49. package/dist/blocks/TitleBar/TitleBar.vue.d.ts.map +1 -1
  50. package/dist/blocks/TitleBar/TitleBar.vue_vue_type_script_setup_true_lang.js +14 -14
  51. package/dist/blocks/TitleBar/TitleBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  52. package/dist/blocks/ToastStack/ToastStack.js.map +1 -1
  53. package/dist/blocks/ToastStack/ToastStack.vue.d.ts +20 -0
  54. package/dist/blocks/ToastStack/ToastStack.vue.d.ts.map +1 -1
  55. package/dist/blocks/ToastStack/ToastStack.vue_vue_type_script_setup_true_lang.js +16 -5
  56. package/dist/blocks/ToastStack/ToastStack.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/composition/Center/Center.js +7 -0
  58. package/dist/composition/Center/Center.js.map +1 -0
  59. package/dist/composition/Center/Center.vue.d.ts +40 -0
  60. package/dist/composition/Center/Center.vue.d.ts.map +1 -0
  61. package/dist/composition/Center/Center.vue_vue_type_script_setup_true_lang.js +29 -0
  62. package/dist/composition/Center/Center.vue_vue_type_script_setup_true_lang.js.map +1 -0
  63. package/dist/composition/Frame/Frame.js +7 -0
  64. package/dist/composition/Frame/Frame.js.map +1 -0
  65. package/dist/composition/Frame/Frame.vue.d.ts +35 -0
  66. package/dist/composition/Frame/Frame.vue.d.ts.map +1 -0
  67. package/dist/composition/Frame/Frame.vue_vue_type_script_setup_true_lang.js +29 -0
  68. package/dist/composition/Frame/Frame.vue_vue_type_script_setup_true_lang.js.map +1 -0
  69. package/dist/composition/Grid/Grid.js +7 -0
  70. package/dist/composition/Grid/Grid.js.map +1 -0
  71. package/dist/composition/Grid/Grid.vue.d.ts +41 -0
  72. package/dist/composition/Grid/Grid.vue.d.ts.map +1 -0
  73. package/dist/composition/Grid/Grid.vue_vue_type_script_setup_true_lang.js +27 -0
  74. package/dist/composition/Grid/Grid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  75. package/dist/composition/Inline/Inline.js +7 -0
  76. package/dist/composition/Inline/Inline.js.map +1 -0
  77. package/dist/composition/Inline/Inline.vue.d.ts +46 -0
  78. package/dist/composition/Inline/Inline.vue.d.ts.map +1 -0
  79. package/dist/composition/Inline/Inline.vue_vue_type_script_setup_true_lang.js +35 -0
  80. package/dist/composition/Inline/Inline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  81. package/dist/composition/ScrollReel/ScrollReel.js +7 -0
  82. package/dist/composition/ScrollReel/ScrollReel.js.map +1 -0
  83. package/dist/composition/ScrollReel/ScrollReel.vue.d.ts +42 -0
  84. package/dist/composition/ScrollReel/ScrollReel.vue.d.ts.map +1 -0
  85. package/dist/composition/ScrollReel/ScrollReel.vue_vue_type_script_setup_true_lang.js +79 -0
  86. package/dist/composition/ScrollReel/ScrollReel.vue_vue_type_script_setup_true_lang.js.map +1 -0
  87. package/dist/composition/Sidebar/Sidebar.js +7 -0
  88. package/dist/composition/Sidebar/Sidebar.js.map +1 -0
  89. package/dist/composition/Sidebar/Sidebar.vue.d.ts +52 -0
  90. package/dist/composition/Sidebar/Sidebar.vue.d.ts.map +1 -0
  91. package/dist/composition/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js +36 -0
  92. package/dist/composition/Sidebar/Sidebar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  93. package/dist/composition/Split/Split.js +7 -0
  94. package/dist/composition/Split/Split.js.map +1 -0
  95. package/dist/composition/Split/Split.vue.d.ts +58 -0
  96. package/dist/composition/Split/Split.vue.d.ts.map +1 -0
  97. package/dist/composition/Split/Split.vue_vue_type_script_setup_true_lang.js +40 -0
  98. package/dist/composition/Split/Split.vue_vue_type_script_setup_true_lang.js.map +1 -0
  99. package/dist/composition/Stack/Stack.js +7 -0
  100. package/dist/composition/Stack/Stack.js.map +1 -0
  101. package/dist/composition/Stack/Stack.vue.d.ts +43 -0
  102. package/dist/composition/Stack/Stack.vue.d.ts.map +1 -0
  103. package/dist/composition/Stack/Stack.vue_vue_type_script_setup_true_lang.js +30 -0
  104. package/dist/composition/Stack/Stack.vue_vue_type_script_setup_true_lang.js.map +1 -0
  105. package/dist/index.d.ts +119 -11
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +83 -5
  108. package/dist/layouts/AppShell/AppShell.js +7 -0
  109. package/dist/layouts/AppShell/AppShell.js.map +1 -0
  110. package/dist/layouts/AppShell/AppShell.vue.d.ts +51 -0
  111. package/dist/layouts/AppShell/AppShell.vue.d.ts.map +1 -0
  112. package/dist/layouts/AppShell/AppShell.vue_vue_type_script_setup_true_lang.js +47 -0
  113. package/dist/layouts/AppShell/AppShell.vue_vue_type_script_setup_true_lang.js.map +1 -0
  114. package/dist/layouts/Centered/Centered.js +7 -0
  115. package/dist/layouts/Centered/Centered.js.map +1 -0
  116. package/dist/layouts/Centered/Centered.vue.d.ts +48 -0
  117. package/dist/layouts/Centered/Centered.vue.d.ts.map +1 -0
  118. package/dist/layouts/Centered/Centered.vue_vue_type_script_setup_true_lang.js +35 -0
  119. package/dist/layouts/Centered/Centered.vue_vue_type_script_setup_true_lang.js.map +1 -0
  120. package/dist/layouts/Dashboard/Dashboard.js +7 -0
  121. package/dist/layouts/Dashboard/Dashboard.js.map +1 -0
  122. package/dist/layouts/Dashboard/Dashboard.vue.d.ts +60 -0
  123. package/dist/layouts/Dashboard/Dashboard.vue.d.ts.map +1 -0
  124. package/dist/layouts/Dashboard/Dashboard.vue_vue_type_script_setup_true_lang.js +64 -0
  125. package/dist/layouts/Dashboard/Dashboard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  126. package/dist/layouts/FormLayout/FormLayout.js +7 -0
  127. package/dist/layouts/FormLayout/FormLayout.js.map +1 -0
  128. package/dist/layouts/FormLayout/FormLayout.vue.d.ts +46 -0
  129. package/dist/layouts/FormLayout/FormLayout.vue.d.ts.map +1 -0
  130. package/dist/layouts/FormLayout/FormLayout.vue_vue_type_script_setup_true_lang.js +28 -0
  131. package/dist/layouts/FormLayout/FormLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  132. package/dist/layouts/MasterDetail/MasterDetail.js +7 -0
  133. package/dist/layouts/MasterDetail/MasterDetail.js.map +1 -0
  134. package/dist/layouts/MasterDetail/MasterDetail.vue.d.ts +49 -0
  135. package/dist/layouts/MasterDetail/MasterDetail.vue.d.ts.map +1 -0
  136. package/dist/layouts/MasterDetail/MasterDetail.vue_vue_type_script_setup_true_lang.js +42 -0
  137. package/dist/layouts/MasterDetail/MasterDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
  138. package/dist/layouts/Reading/Reading.js +7 -0
  139. package/dist/layouts/Reading/Reading.js.map +1 -0
  140. package/dist/layouts/Reading/Reading.vue.d.ts +24 -0
  141. package/dist/layouts/Reading/Reading.vue.d.ts.map +1 -0
  142. package/dist/layouts/Reading/Reading.vue_vue_type_script_setup_true_lang.js +29 -0
  143. package/dist/layouts/Reading/Reading.vue_vue_type_script_setup_true_lang.js.map +1 -0
  144. package/dist/layouts/Settings/Settings.js +7 -0
  145. package/dist/layouts/Settings/Settings.js.map +1 -0
  146. package/dist/layouts/Settings/Settings.vue.d.ts +39 -0
  147. package/dist/layouts/Settings/Settings.vue.d.ts.map +1 -0
  148. package/dist/layouts/Settings/Settings.vue_vue_type_script_setup_true_lang.js +35 -0
  149. package/dist/layouts/Settings/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  150. package/dist/layouts/SplitLayout/SplitLayout.js +7 -0
  151. package/dist/layouts/SplitLayout/SplitLayout.js.map +1 -0
  152. package/dist/layouts/SplitLayout/SplitLayout.vue.d.ts +63 -0
  153. package/dist/layouts/SplitLayout/SplitLayout.vue.d.ts.map +1 -0
  154. package/dist/layouts/SplitLayout/SplitLayout.vue_vue_type_script_setup_true_lang.js +46 -0
  155. package/dist/layouts/SplitLayout/SplitLayout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  156. package/dist/lib/ancestor-disabled.d.ts +35 -0
  157. package/dist/lib/ancestor-disabled.d.ts.map +1 -0
  158. package/dist/lib/ancestor-disabled.js +86 -0
  159. package/dist/lib/ancestor-disabled.js.map +1 -0
  160. package/dist/lib/cn.d.ts.map +1 -1
  161. package/dist/lib/cn.js +46 -1
  162. package/dist/lib/cn.js.map +1 -1
  163. package/dist/lib/count-labels.d.ts +78 -0
  164. package/dist/lib/count-labels.d.ts.map +1 -0
  165. package/dist/lib/count-labels.js +29 -0
  166. package/dist/lib/count-labels.js.map +1 -0
  167. package/dist/lib/date-labels.d.ts +278 -0
  168. package/dist/lib/date-labels.d.ts.map +1 -0
  169. package/dist/lib/date-labels.js +157 -0
  170. package/dist/lib/date-labels.js.map +1 -0
  171. package/dist/lib/field-context.d.ts +178 -0
  172. package/dist/lib/field-context.d.ts.map +1 -0
  173. package/dist/lib/field-context.js +106 -0
  174. package/dist/lib/field-context.js.map +1 -0
  175. package/dist/lib/label-registry.d.ts +75 -0
  176. package/dist/lib/label-registry.d.ts.map +1 -0
  177. package/dist/lib/labels.d.ts +116 -0
  178. package/dist/lib/labels.d.ts.map +1 -0
  179. package/dist/lib/labels.js +84 -0
  180. package/dist/lib/labels.js.map +1 -0
  181. package/dist/lib/theme.d.ts +68 -0
  182. package/dist/lib/theme.d.ts.map +1 -0
  183. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/CalendarDate.js +236 -0
  184. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/CalendarDate.js.map +1 -0
  185. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +117 -0
  186. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js.map +1 -0
  187. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/conversion.js +142 -0
  188. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/conversion.js.map +1 -0
  189. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/manipulation.js +280 -0
  190. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/manipulation.js.map +1 -0
  191. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/queries.js +40 -0
  192. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/queries.js.map +1 -0
  193. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/string.js +69 -0
  194. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/string.js.map +1 -0
  195. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/utils.js +8 -0
  196. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/utils.js.map +1 -0
  197. package/dist/primitives/Accordion/Accordion.js +7 -0
  198. package/dist/primitives/Accordion/Accordion.js.map +1 -0
  199. package/dist/primitives/Accordion/Accordion.vue.d.ts +68 -0
  200. package/dist/primitives/Accordion/Accordion.vue.d.ts.map +1 -0
  201. package/dist/primitives/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js +67 -0
  202. package/dist/primitives/Accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  203. package/dist/primitives/AlertDialog/AlertDialog.js +7 -0
  204. package/dist/primitives/AlertDialog/AlertDialog.js.map +1 -0
  205. package/dist/primitives/AlertDialog/AlertDialog.vue.d.ts +94 -0
  206. package/dist/primitives/AlertDialog/AlertDialog.vue.d.ts.map +1 -0
  207. package/dist/primitives/AlertDialog/AlertDialog.vue_vue_type_script_setup_true_lang.js +99 -0
  208. package/dist/primitives/AlertDialog/AlertDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  209. package/dist/primitives/Avatar/Avatar.js +2 -2
  210. package/dist/primitives/Avatar/Avatar.js.map +1 -1
  211. package/dist/primitives/Avatar/Avatar.vue.d.ts +30 -3
  212. package/dist/primitives/Avatar/Avatar.vue.d.ts.map +1 -1
  213. package/dist/primitives/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js +95 -14
  214. package/dist/primitives/Avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  215. package/dist/primitives/AvatarGroup/AvatarGroup.js +7 -0
  216. package/dist/primitives/AvatarGroup/AvatarGroup.js.map +1 -0
  217. package/dist/primitives/AvatarGroup/AvatarGroup.vue.d.ts +104 -0
  218. package/dist/primitives/AvatarGroup/AvatarGroup.vue.d.ts.map +1 -0
  219. package/dist/primitives/AvatarGroup/AvatarGroup.vue_vue_type_script_setup_true_lang.js +139 -0
  220. package/dist/primitives/AvatarGroup/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  221. package/dist/primitives/Badge/Badge.js.map +1 -1
  222. package/dist/primitives/Badge/Badge.vue.d.ts +6 -6
  223. package/dist/primitives/Badge/Badge.vue.d.ts.map +1 -1
  224. package/dist/primitives/Badge/Badge.vue_vue_type_script_setup_true_lang.js +1 -1
  225. package/dist/primitives/Badge/Badge.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/primitives/Breadcrumb/Breadcrumb.js +7 -0
  227. package/dist/primitives/Breadcrumb/Breadcrumb.js.map +1 -0
  228. package/dist/primitives/Breadcrumb/Breadcrumb.vue.d.ts +25 -0
  229. package/dist/primitives/Breadcrumb/Breadcrumb.vue.d.ts.map +1 -0
  230. package/dist/primitives/Breadcrumb/Breadcrumb.vue_vue_type_script_setup_true_lang.js +48 -0
  231. package/dist/primitives/Breadcrumb/Breadcrumb.vue_vue_type_script_setup_true_lang.js.map +1 -0
  232. package/dist/primitives/Button/Button.js +2 -2
  233. package/dist/primitives/Button/Button.js.map +1 -1
  234. package/dist/primitives/Button/Button.vue.d.ts +31 -8
  235. package/dist/primitives/Button/Button.vue.d.ts.map +1 -1
  236. package/dist/primitives/Button/Button.vue_vue_type_script_setup_true_lang.js +32 -16
  237. package/dist/primitives/Button/Button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  238. package/dist/primitives/Checkbox/Checkbox.js.map +1 -1
  239. package/dist/primitives/Checkbox/Checkbox.vue.d.ts +18 -3
  240. package/dist/primitives/Checkbox/Checkbox.vue.d.ts.map +1 -1
  241. package/dist/primitives/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +46 -7
  242. package/dist/primitives/Checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  243. package/dist/primitives/Chip/Chip.js +7 -0
  244. package/dist/primitives/Chip/Chip.js.map +1 -0
  245. package/dist/primitives/Chip/Chip.vue.d.ts +79 -0
  246. package/dist/primitives/Chip/Chip.vue.d.ts.map +1 -0
  247. package/dist/primitives/Chip/Chip.vue_vue_type_script_setup_true_lang.js +139 -0
  248. package/dist/primitives/Chip/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  249. package/dist/primitives/ColorPicker/ColorPicker.js +7 -0
  250. package/dist/primitives/ColorPicker/ColorPicker.js.map +1 -0
  251. package/dist/primitives/ColorPicker/ColorPicker.vue.d.ts +125 -0
  252. package/dist/primitives/ColorPicker/ColorPicker.vue.d.ts.map +1 -0
  253. package/dist/primitives/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js +301 -0
  254. package/dist/primitives/ColorPicker/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  255. package/dist/primitives/Combobox/Combobox.js +7 -0
  256. package/dist/primitives/Combobox/Combobox.js.map +1 -0
  257. package/dist/primitives/Combobox/Combobox.vue.d.ts +205 -0
  258. package/dist/primitives/Combobox/Combobox.vue.d.ts.map +1 -0
  259. package/dist/primitives/Combobox/Combobox.vue_vue_type_script_setup_true_lang.js +345 -0
  260. package/dist/primitives/Combobox/Combobox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  261. package/dist/primitives/ContextMenu/ContextMenu.js +7 -0
  262. package/dist/primitives/ContextMenu/ContextMenu.js.map +1 -0
  263. package/dist/primitives/ContextMenu/ContextMenu.vue.d.ts +55 -0
  264. package/dist/primitives/ContextMenu/ContextMenu.vue.d.ts.map +1 -0
  265. package/dist/primitives/ContextMenu/ContextMenu.vue_vue_type_script_setup_true_lang.js +82 -0
  266. package/dist/primitives/ContextMenu/ContextMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  267. package/dist/primitives/DatePicker/DatePicker.js +7 -0
  268. package/dist/primitives/DatePicker/DatePicker.js.map +1 -0
  269. package/dist/primitives/DatePicker/DatePicker.vue.d.ts +102 -0
  270. package/dist/primitives/DatePicker/DatePicker.vue.d.ts.map +1 -0
  271. package/dist/primitives/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js +292 -0
  272. package/dist/primitives/DatePicker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  273. package/dist/primitives/DateRangePicker/DateRangePicker.js +7 -0
  274. package/dist/primitives/DateRangePicker/DateRangePicker.js.map +1 -0
  275. package/dist/primitives/DateRangePicker/DateRangePicker.vue.d.ts +173 -0
  276. package/dist/primitives/DateRangePicker/DateRangePicker.vue.d.ts.map +1 -0
  277. package/dist/primitives/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +412 -0
  278. package/dist/primitives/DateRangePicker/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  279. package/dist/primitives/DateTimePicker/DateTimePicker.js +7 -0
  280. package/dist/primitives/DateTimePicker/DateTimePicker.js.map +1 -0
  281. package/dist/primitives/DateTimePicker/DateTimePicker.vue.d.ts +113 -0
  282. package/dist/primitives/DateTimePicker/DateTimePicker.vue.d.ts.map +1 -0
  283. package/dist/primitives/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +358 -0
  284. package/dist/primitives/DateTimePicker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  285. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.js +7 -0
  286. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.js.map +1 -0
  287. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts +181 -0
  288. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue.d.ts.map +1 -0
  289. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js +562 -0
  290. package/dist/primitives/DateTimeRangePicker/DateTimeRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  291. package/dist/primitives/Dialog/Dialog.js +2 -2
  292. package/dist/primitives/Dialog/Dialog.js.map +1 -1
  293. package/dist/primitives/Dialog/Dialog.vue.d.ts +39 -0
  294. package/dist/primitives/Dialog/Dialog.vue.d.ts.map +1 -1
  295. package/dist/primitives/Dialog/Dialog.vue_vue_type_script_setup_true_lang.js +14 -5
  296. package/dist/primitives/Dialog/Dialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  297. package/dist/primitives/Drawer/Drawer.js +7 -0
  298. package/dist/primitives/Drawer/Drawer.js.map +1 -0
  299. package/dist/primitives/Drawer/Drawer.vue.d.ts +110 -0
  300. package/dist/primitives/Drawer/Drawer.vue.d.ts.map +1 -0
  301. package/dist/primitives/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js +223 -0
  302. package/dist/primitives/Drawer/Drawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  303. package/dist/primitives/DropdownMenu/DropdownMenu.js.map +1 -1
  304. package/dist/primitives/DropdownMenu/DropdownMenu.vue.d.ts.map +1 -1
  305. package/dist/primitives/DropdownMenu/DropdownMenu.vue_vue_type_script_setup_true_lang.js +2 -2
  306. package/dist/primitives/DropdownMenu/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  307. package/dist/primitives/Editable/Editable.js +7 -0
  308. package/dist/primitives/Editable/Editable.js.map +1 -0
  309. package/dist/primitives/Editable/Editable.vue.d.ts +200 -0
  310. package/dist/primitives/Editable/Editable.vue.d.ts.map +1 -0
  311. package/dist/primitives/Editable/Editable.vue_vue_type_script_setup_true_lang.js +275 -0
  312. package/dist/primitives/Editable/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -0
  313. package/dist/primitives/Field/Field.js.map +1 -1
  314. package/dist/primitives/Field/Field.vue.d.ts +32 -17
  315. package/dist/primitives/Field/Field.vue.d.ts.map +1 -1
  316. package/dist/primitives/Field/Field.vue_vue_type_script_setup_true_lang.js +51 -18
  317. package/dist/primitives/Field/Field.vue_vue_type_script_setup_true_lang.js.map +1 -1
  318. package/dist/primitives/Fieldset/Fieldset.js +7 -0
  319. package/dist/primitives/Fieldset/Fieldset.js.map +1 -0
  320. package/dist/primitives/Fieldset/Fieldset.vue.d.ts +91 -0
  321. package/dist/primitives/Fieldset/Fieldset.vue.d.ts.map +1 -0
  322. package/dist/primitives/Fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js +138 -0
  323. package/dist/primitives/Fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js.map +1 -0
  324. package/dist/primitives/FileUpload/FileUpload.js +7 -0
  325. package/dist/primitives/FileUpload/FileUpload.js.map +1 -0
  326. package/dist/primitives/FileUpload/FileUpload.vue.d.ts +132 -0
  327. package/dist/primitives/FileUpload/FileUpload.vue.d.ts.map +1 -0
  328. package/dist/primitives/FileUpload/FileUpload.vue_vue_type_script_setup_true_lang.js +359 -0
  329. package/dist/primitives/FileUpload/FileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -0
  330. package/dist/primitives/HoverCard/HoverCard.js +7 -0
  331. package/dist/primitives/HoverCard/HoverCard.js.map +1 -0
  332. package/dist/primitives/HoverCard/HoverCard.vue.d.ts +68 -0
  333. package/dist/primitives/HoverCard/HoverCard.vue.d.ts.map +1 -0
  334. package/dist/primitives/HoverCard/HoverCard.vue_vue_type_script_setup_true_lang.js +62 -0
  335. package/dist/primitives/HoverCard/HoverCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  336. package/dist/primitives/IconButton/IconButton.js +7 -0
  337. package/dist/primitives/IconButton/IconButton.js.map +1 -0
  338. package/dist/primitives/IconButton/IconButton.vue.d.ts +45 -0
  339. package/dist/primitives/IconButton/IconButton.vue.d.ts.map +1 -0
  340. package/dist/primitives/IconButton/IconButton.vue_vue_type_script_setup_true_lang.js +58 -0
  341. package/dist/primitives/IconButton/IconButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  342. package/dist/primitives/Indicator/Indicator.js +7 -0
  343. package/dist/primitives/Indicator/Indicator.js.map +1 -0
  344. package/dist/primitives/Indicator/Indicator.vue.d.ts +144 -0
  345. package/dist/primitives/Indicator/Indicator.vue.d.ts.map +1 -0
  346. package/dist/primitives/Indicator/Indicator.vue_vue_type_script_setup_true_lang.js +198 -0
  347. package/dist/primitives/Indicator/Indicator.vue_vue_type_script_setup_true_lang.js.map +1 -0
  348. package/dist/primitives/Link/Link.js +7 -0
  349. package/dist/primitives/Link/Link.js.map +1 -0
  350. package/dist/primitives/Link/Link.vue.d.ts +46 -0
  351. package/dist/primitives/Link/Link.vue.d.ts.map +1 -0
  352. package/dist/primitives/Link/Link.vue_vue_type_script_setup_true_lang.js +85 -0
  353. package/dist/primitives/Link/Link.vue_vue_type_script_setup_true_lang.js.map +1 -0
  354. package/dist/primitives/Menubar/Menubar.js.map +1 -1
  355. package/dist/primitives/Menubar/Menubar.vue.d.ts.map +1 -1
  356. package/dist/primitives/Menubar/Menubar.vue_vue_type_script_setup_true_lang.js +1 -1
  357. package/dist/primitives/Menubar/Menubar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  358. package/dist/primitives/NumberField/NumberField.js +2 -2
  359. package/dist/primitives/NumberField/NumberField.js.map +1 -1
  360. package/dist/primitives/NumberField/NumberField.vue.d.ts +86 -25
  361. package/dist/primitives/NumberField/NumberField.vue.d.ts.map +1 -1
  362. package/dist/primitives/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js +83 -39
  363. package/dist/primitives/NumberField/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  364. package/dist/primitives/OtpInput/OtpInput.js +7 -0
  365. package/dist/primitives/OtpInput/OtpInput.js.map +1 -0
  366. package/dist/primitives/OtpInput/OtpInput.vue.d.ts +110 -0
  367. package/dist/primitives/OtpInput/OtpInput.vue.d.ts.map +1 -0
  368. package/dist/primitives/OtpInput/OtpInput.vue_vue_type_script_setup_true_lang.js +130 -0
  369. package/dist/primitives/OtpInput/OtpInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  370. package/dist/primitives/Pagination/Pagination.js +7 -0
  371. package/dist/primitives/Pagination/Pagination.js.map +1 -0
  372. package/dist/primitives/Pagination/Pagination.vue.d.ts +143 -0
  373. package/dist/primitives/Pagination/Pagination.vue.d.ts.map +1 -0
  374. package/dist/primitives/Pagination/Pagination.vue_vue_type_script_setup_true_lang.js +231 -0
  375. package/dist/primitives/Pagination/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
  376. package/dist/primitives/Progress/Progress.js +2 -2
  377. package/dist/primitives/Progress/Progress.js.map +1 -1
  378. package/dist/primitives/Progress/Progress.vue.d.ts +81 -15
  379. package/dist/primitives/Progress/Progress.vue.d.ts.map +1 -1
  380. package/dist/primitives/Progress/Progress.vue_vue_type_script_setup_true_lang.js +88 -22
  381. package/dist/primitives/Progress/Progress.vue_vue_type_script_setup_true_lang.js.map +1 -1
  382. package/dist/primitives/RadialProgress/RadialProgress.js +7 -0
  383. package/dist/primitives/RadialProgress/RadialProgress.js.map +1 -0
  384. package/dist/primitives/RadialProgress/RadialProgress.vue.d.ts +96 -0
  385. package/dist/primitives/RadialProgress/RadialProgress.vue.d.ts.map +1 -0
  386. package/dist/primitives/RadialProgress/RadialProgress.vue_vue_type_script_setup_true_lang.js +189 -0
  387. package/dist/primitives/RadialProgress/RadialProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  388. package/dist/primitives/RadioGroup/RadioGroup.js.map +1 -1
  389. package/dist/primitives/RadioGroup/RadioGroup.vue.d.ts +7 -7
  390. package/dist/primitives/RadioGroup/RadioGroup.vue.d.ts.map +1 -1
  391. package/dist/primitives/RadioGroup/RadioGroup.vue_vue_type_script_setup_true_lang.js +26 -9
  392. package/dist/primitives/RadioGroup/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  393. package/dist/primitives/Rating/Rating.js +7 -0
  394. package/dist/primitives/Rating/Rating.js.map +1 -0
  395. package/dist/primitives/Rating/Rating.vue.d.ts +113 -0
  396. package/dist/primitives/Rating/Rating.vue.d.ts.map +1 -0
  397. package/dist/primitives/Rating/Rating.vue_vue_type_script_setup_true_lang.js +282 -0
  398. package/dist/primitives/Rating/Rating.vue_vue_type_script_setup_true_lang.js.map +1 -0
  399. package/dist/primitives/ScrollArea/ScrollArea.js +7 -0
  400. package/dist/primitives/ScrollArea/ScrollArea.js.map +1 -0
  401. package/dist/primitives/ScrollArea/ScrollArea.vue.d.ts +25 -0
  402. package/dist/primitives/ScrollArea/ScrollArea.vue.d.ts.map +1 -0
  403. package/dist/primitives/ScrollArea/ScrollArea.vue_vue_type_script_setup_true_lang.js +45 -0
  404. package/dist/primitives/ScrollArea/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  405. package/dist/primitives/SegmentedControl/SegmentedControl.js.map +1 -1
  406. package/dist/primitives/SegmentedControl/SegmentedControl.vue.d.ts +5 -5
  407. package/dist/primitives/SegmentedControl/SegmentedControl.vue.d.ts.map +1 -1
  408. package/dist/primitives/SegmentedControl/SegmentedControl.vue_vue_type_script_setup_true_lang.js +51 -8
  409. package/dist/primitives/SegmentedControl/SegmentedControl.vue_vue_type_script_setup_true_lang.js.map +1 -1
  410. package/dist/primitives/Select/Select.js.map +1 -1
  411. package/dist/primitives/Select/Select.vue.d.ts +10 -10
  412. package/dist/primitives/Select/Select.vue.d.ts.map +1 -1
  413. package/dist/primitives/Select/Select.vue_vue_type_script_setup_true_lang.js +105 -52
  414. package/dist/primitives/Select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  415. package/dist/primitives/Skeleton/Skeleton.vue.d.ts +1 -1
  416. package/dist/primitives/Slider/Slider.js.map +1 -1
  417. package/dist/primitives/Slider/Slider.vue.d.ts +24 -4
  418. package/dist/primitives/Slider/Slider.vue.d.ts.map +1 -1
  419. package/dist/primitives/Slider/Slider.vue_vue_type_script_setup_true_lang.js +79 -9
  420. package/dist/primitives/Slider/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  421. package/dist/primitives/SpeedDial/SpeedDial.js +7 -0
  422. package/dist/primitives/SpeedDial/SpeedDial.js.map +1 -0
  423. package/dist/primitives/SpeedDial/SpeedDial.vue.d.ts +58 -0
  424. package/dist/primitives/SpeedDial/SpeedDial.vue.d.ts.map +1 -0
  425. package/dist/primitives/SpeedDial/SpeedDial.vue_vue_type_script_setup_true_lang.js +175 -0
  426. package/dist/primitives/SpeedDial/SpeedDial.vue_vue_type_script_setup_true_lang.js.map +1 -0
  427. package/dist/primitives/Stepper/Stepper.js +7 -0
  428. package/dist/primitives/Stepper/Stepper.js.map +1 -0
  429. package/dist/primitives/Stepper/Stepper.vue.d.ts +119 -0
  430. package/dist/primitives/Stepper/Stepper.vue.d.ts.map +1 -0
  431. package/dist/primitives/Stepper/Stepper.vue_vue_type_script_setup_true_lang.js +202 -0
  432. package/dist/primitives/Stepper/Stepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  433. package/dist/primitives/Switch/Switch.js.map +1 -1
  434. package/dist/primitives/Switch/Switch.vue.d.ts +13 -3
  435. package/dist/primitives/Switch/Switch.vue.d.ts.map +1 -1
  436. package/dist/primitives/Switch/Switch.vue_vue_type_script_setup_true_lang.js +34 -5
  437. package/dist/primitives/Switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  438. package/dist/primitives/Tabs/Tabs.js.map +1 -1
  439. package/dist/primitives/Tabs/Tabs.vue.d.ts.map +1 -1
  440. package/dist/primitives/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js +1 -1
  441. package/dist/primitives/Tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  442. package/dist/primitives/TagsInput/TagsInput.js +7 -0
  443. package/dist/primitives/TagsInput/TagsInput.js.map +1 -0
  444. package/dist/primitives/TagsInput/TagsInput.vue.d.ts +156 -0
  445. package/dist/primitives/TagsInput/TagsInput.vue.d.ts.map +1 -0
  446. package/dist/primitives/TagsInput/TagsInput.vue_vue_type_script_setup_true_lang.js +387 -0
  447. package/dist/primitives/TagsInput/TagsInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  448. package/dist/primitives/TextField/TextField.js +2 -2
  449. package/dist/primitives/TextField/TextField.js.map +1 -1
  450. package/dist/primitives/TextField/TextField.vue.d.ts +119 -10
  451. package/dist/primitives/TextField/TextField.vue.d.ts.map +1 -1
  452. package/dist/primitives/TextField/TextField.vue_vue_type_script_setup_true_lang.js +270 -21
  453. package/dist/primitives/TextField/TextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  454. package/dist/primitives/Textarea/Textarea.js +2 -2
  455. package/dist/primitives/Textarea/Textarea.js.map +1 -1
  456. package/dist/primitives/Textarea/Textarea.vue.d.ts +114 -14
  457. package/dist/primitives/Textarea/Textarea.vue.d.ts.map +1 -1
  458. package/dist/primitives/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js +216 -20
  459. package/dist/primitives/Textarea/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  460. package/dist/primitives/TimePicker/TimePicker.js +7 -0
  461. package/dist/primitives/TimePicker/TimePicker.js.map +1 -0
  462. package/dist/primitives/TimePicker/TimePicker.vue.d.ts +111 -0
  463. package/dist/primitives/TimePicker/TimePicker.vue.d.ts.map +1 -0
  464. package/dist/primitives/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js +185 -0
  465. package/dist/primitives/TimePicker/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  466. package/dist/primitives/Toast/Toast.js +2 -1
  467. package/dist/primitives/Toast/Toast.js.map +1 -1
  468. package/dist/primitives/Toast/Toast.vue.d.ts +29 -3
  469. package/dist/primitives/Toast/Toast.vue.d.ts.map +1 -1
  470. package/dist/primitives/Toast/Toast.vue_vue_type_script_setup_true_lang.js +17 -7
  471. package/dist/primitives/Toast/Toast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  472. package/dist/primitives/Toast/ToastItem.js +2 -2
  473. package/dist/primitives/Toast/ToastItem.js.map +1 -1
  474. package/dist/primitives/Toast/ToastItem.vue.d.ts +69 -12
  475. package/dist/primitives/Toast/ToastItem.vue.d.ts.map +1 -1
  476. package/dist/primitives/Toast/ToastItem.vue_vue_type_script_setup_true_lang.js +23 -23
  477. package/dist/primitives/Toast/ToastItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  478. package/dist/primitives/Tooltip/Tooltip.vue.d.ts +1 -1
  479. package/dist/primitives/Tooltip/Tooltip.vue.d.ts.map +1 -1
  480. package/dist/primitives/WindowControls/WindowControls.js +2 -2
  481. package/dist/primitives/WindowControls/WindowControls.js.map +1 -1
  482. package/dist/primitives/WindowControls/WindowControls.vue.d.ts +66 -10
  483. package/dist/primitives/WindowControls/WindowControls.vue.d.ts.map +1 -1
  484. package/dist/primitives/WindowControls/WindowControls.vue_vue_type_script_setup_true_lang.js +23 -13
  485. package/dist/primitives/WindowControls/WindowControls.vue_vue_type_script_setup_true_lang.js.map +1 -1
  486. package/dist/styles/global.css +116 -17
  487. package/dist/styles/theme.contrast.test.ts +460 -0
  488. package/dist/styles/theme.css +239 -41
  489. package/dist/theme.js +171 -0
  490. package/dist/theme.js.map +1 -0
  491. package/package.json +14 -4
  492. package/dist/icons/BrandMark.d.ts +0 -18
  493. package/dist/icons/BrandMark.d.ts.map +0 -1
  494. package/dist/icons/BrandMark.js +0 -47
  495. package/dist/icons/BrandMark.js.map +0 -1
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Which edge of the trigger the card prefers, before collision flipping. The
3
+ * members mirror Reka's own `Side`, and the template binding is what enforces
4
+ * that: a member Reka does not accept stops `:side="side"` type-checking.
5
+ * Declared here rather than aliased so the generated props table prints the
6
+ * four values instead of a name that tells the reader nothing.
7
+ */
8
+ export type HoverCardSide = "top" | "right" | "bottom" | "left";
9
+ /**
10
+ * How the card aligns against the trigger along the cross-axis, before
11
+ * collision flipping. Same rationale as `HoverCardSide`.
12
+ */
13
+ export type HoverCardAlign = "start" | "center" | "end";
14
+ declare const _default: typeof __VLS_export;
15
+ export default _default;
16
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
17
+ /** The edge of the trigger to anchor against, before collision flipping. */
18
+ side?: HoverCardSide;
19
+ /** Gap in pixels between the trigger and the card. */
20
+ sideOffset?: number;
21
+ /** Alignment against the trigger along the cross-axis, before collision flipping. */
22
+ align?: HoverCardAlign;
23
+ /** Alignment offset in pixels from the chosen alignment position. */
24
+ alignOffset?: number;
25
+ /** Milliseconds of hover before the card appears. */
26
+ openDelay?: number;
27
+ /** Milliseconds before the card disappears after the pointer leaves both trigger and content. */
28
+ closeDelay?: number;
29
+ /** Drive the card from the host with `v-model:open`. Omit for hover alone. */
30
+ open?: boolean | undefined;
31
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
+ "update:open": (value: boolean) => any;
33
+ }, string, import("vue").PublicProps, Readonly<{
34
+ /** The edge of the trigger to anchor against, before collision flipping. */
35
+ side?: HoverCardSide;
36
+ /** Gap in pixels between the trigger and the card. */
37
+ sideOffset?: number;
38
+ /** Alignment against the trigger along the cross-axis, before collision flipping. */
39
+ align?: HoverCardAlign;
40
+ /** Alignment offset in pixels from the chosen alignment position. */
41
+ alignOffset?: number;
42
+ /** Milliseconds of hover before the card appears. */
43
+ openDelay?: number;
44
+ /** Milliseconds before the card disappears after the pointer leaves both trigger and content. */
45
+ closeDelay?: number;
46
+ /** Drive the card from the host with `v-model:open`. Omit for hover alone. */
47
+ open?: boolean | undefined;
48
+ }> & Readonly<{
49
+ "onUpdate:open"?: (value: boolean) => any;
50
+ }>, {
51
+ open: boolean | undefined;
52
+ side: HoverCardSide;
53
+ sideOffset: number;
54
+ align: HoverCardAlign;
55
+ alignOffset: number;
56
+ openDelay: number;
57
+ closeDelay: number;
58
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
59
+ trigger?: (props: {}) => any;
60
+ } & {
61
+ default?: (props: {}) => any;
62
+ }>;
63
+ type __VLS_WithSlots<T, S> = T & {
64
+ new (): {
65
+ $slots: S;
66
+ };
67
+ };
68
+ //# sourceMappingURL=HoverCard.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.vue.d.ts","sourceRoot":"","sources":["../../../src/primitives/HoverCard/HoverCard.vue"],"names":[],"mappings":"AAqIA;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;wBACnC,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAgBd,4EAA4E;WACrE,aAAa;IACpB,sDAAsD;iBACzC,MAAM;IACnB,qFAAqF;YAC7E,cAAc;IACtB,qEAAqE;kBACvD,MAAM;IACpB,qDAAqD;gBACzC,MAAM;IAClB,iGAAiG;iBACpF,MAAM;IACnB,8EAA8E;WACvE,OAAO,GAAG,SAAS;;;;IAb1B,4EAA4E;WACrE,aAAa;IACpB,sDAAsD;iBACzC,MAAM;IACnB,qFAAqF;YAC7E,cAAc;IACtB,qEAAqE;kBACvD,MAAM;IACpB,qDAAqD;gBACzC,MAAM;IAClB,iGAAiG;iBACpF,MAAM;IACnB,8EAA8E;WACvE,OAAO,GAAG,SAAS;;;;UAAnB,OAAO,GAAG,SAAS;UAZnB,aAAa;gBAEP,MAAM;WAEX,cAAc;iBAER,MAAM;eAER,MAAM;gBAEL,MAAM;;cAuLT,CAAC,KAAK,IAAiB,KAAK,GAAG;;cAC/B,CAAC,KAAK,IAAiB,KAAK,GAAG;EAWzC,CAAC;AAWL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { cn } from "../../lib/cn.js";
2
+ import { optional } from "../../lib/props.js";
3
+ import { createBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
4
+ import { HoverCardArrow, HoverCardContent, HoverCardPortal, HoverCardRoot, HoverCardTrigger } from "reka-ui";
5
+ //#region src/primitives/HoverCard/HoverCard.vue?vue&type=script&setup=true&lang.ts
6
+ var HoverCard_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
7
+ __name: "HoverCard",
8
+ props: {
9
+ side: { default: "bottom" },
10
+ sideOffset: { default: 6 },
11
+ align: { default: "start" },
12
+ alignOffset: { default: 0 },
13
+ openDelay: { default: 300 },
14
+ closeDelay: { default: 300 },
15
+ open: {
16
+ type: Boolean,
17
+ default: void 0
18
+ }
19
+ },
20
+ emits: ["update:open"],
21
+ setup(__props) {
22
+ return (_ctx, _cache) => {
23
+ return openBlock(), createBlock(unref(HoverCardRoot), mergeProps({
24
+ "open-delay": __props.openDelay,
25
+ "close-delay": __props.closeDelay
26
+ }, unref(optional)({ open: __props.open }), { "onUpdate:open": _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:open", $event)) }), {
27
+ default: withCtx(() => [createVNode(unref(HoverCardTrigger), { "as-child": "" }, {
28
+ default: withCtx(() => [renderSlot(_ctx.$slots, "trigger")]),
29
+ _: 3
30
+ }), createVNode(unref(HoverCardPortal), null, {
31
+ default: withCtx(() => [createVNode(unref(HoverCardContent), {
32
+ side: __props.side,
33
+ "side-offset": __props.sideOffset,
34
+ align: __props.align,
35
+ "align-offset": __props.alignOffset,
36
+ class: normalizeClass(unref(cn)("z-50 w-64 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none", "data-[state=open]:animate-scale-in")),
37
+ style: { "transform-origin": "var(--reka-popper-transform-origin)" }
38
+ }, {
39
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default"), createVNode(unref(HoverCardArrow), {
40
+ class: "fill-popover",
41
+ width: 10,
42
+ height: 5
43
+ })]),
44
+ _: 3
45
+ }, 8, [
46
+ "side",
47
+ "side-offset",
48
+ "align",
49
+ "align-offset",
50
+ "class"
51
+ ])]),
52
+ _: 3
53
+ })]),
54
+ _: 3
55
+ }, 16, ["open-delay", "close-delay"]);
56
+ };
57
+ }
58
+ });
59
+ //#endregion
60
+ export { HoverCard_vue_vue_type_script_setup_true_lang_default as default };
61
+
62
+ //# sourceMappingURL=HoverCard.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.vue_vue_type_script_setup_true_lang.js","names":["$emit"],"sources":["../../../src/primitives/HoverCard/HoverCard.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n * Which edge of the trigger the card prefers, before collision flipping. The\n * members mirror Reka's own `Side`, and the template binding is what enforces\n * that: a member Reka does not accept stops `:side=\"side\"` type-checking.\n * Declared here rather than aliased so the generated props table prints the\n * four values instead of a name that tells the reader nothing.\n */\nexport type HoverCardSide = \"top\" | \"right\" | \"bottom\" | \"left\";\n\n/**\n * How the card aligns against the trigger along the cross-axis, before\n * collision flipping. Same rationale as `HoverCardSide`.\n */\nexport type HoverCardAlign = \"start\" | \"center\" | \"end\";\n</script>\n\n<script setup lang=\"ts\">\nimport {\n HoverCardRoot,\n HoverCardTrigger,\n HoverCardPortal,\n HoverCardContent,\n HoverCardArrow,\n} from \"reka-ui\";\nimport { cn } from \"../../lib/cn\";\nimport { optional } from \"../../lib/props\";\n\n/**\n * HoverCard — a quick preview surface on hover, whose content IS interactive.\n *\n * Unlike a Tooltip, the user can move their pointer into the card and interact\n * with it: click a link, press a button, select text. The close delay is long\n * enough for the pointer to travel from trigger to content without the card\n * vanishing mid-transit. This is the difference that makes a hover card a\n * complementary surface and a tooltip a non-interactive hint.\n *\n * The content is NOT wired as `aria-describedby` — it is a supplementary panel,\n * not an accessible name supplement. A screen reader user who never hovers\n * should still have the trigger's own accessible name, and the card is extra\n * rather than essential.\n */\nwithDefaults(\n defineProps<{\n /** The edge of the trigger to anchor against, before collision flipping. */\n side?: HoverCardSide;\n /** Gap in pixels between the trigger and the card. */\n sideOffset?: number;\n /** Alignment against the trigger along the cross-axis, before collision flipping. */\n align?: HoverCardAlign;\n /** Alignment offset in pixels from the chosen alignment position. */\n alignOffset?: number;\n /** Milliseconds of hover before the card appears. */\n openDelay?: number;\n /** Milliseconds before the card disappears after the pointer leaves both trigger and content. */\n closeDelay?: number;\n /** Drive the card from the host with `v-model:open`. Omit for hover alone. */\n open?: boolean | undefined;\n }>(),\n // `open: undefined` is load-bearing, not a redundant default — it is what\n // keeps the uncontrolled third state reachable past Vue's absent-Boolean\n // casting. `optional()` in the template is the other half; its docblock\n // carries the reasoning for both.\n {\n side: \"bottom\",\n sideOffset: 6,\n align: \"start\",\n alignOffset: 0,\n openDelay: 300,\n closeDelay: 300,\n open: undefined,\n },\n);\n\ndefineEmits<{ \"update:open\": [value: boolean] }>();\n</script>\n\n<template>\n <HoverCardRoot\n :open-delay=\"openDelay\"\n :close-delay=\"closeDelay\"\n v-bind=\"optional({ open })\"\n @update:open=\"$emit('update:open', $event)\"\n >\n <!-- @slot The element that opens the card on hover. Rendered `as-child`, so\n the caller's own element *is* the trigger and keeps its own accessible\n name. -->\n <HoverCardTrigger as-child>\n <slot name=\"trigger\" />\n </HoverCardTrigger>\n\n <HoverCardPortal>\n <HoverCardContent\n :side=\"side\"\n :side-offset=\"sideOffset\"\n :align=\"align\"\n :align-offset=\"alignOffset\"\n :class=\"\n cn(\n 'z-50 w-64 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none',\n // Scoped to the open state, never unconditional. Reka's Presence\n // keeps closed content mounted until an animationend arrives, and\n // a mount-only animation never fires a second one — so an\n // unconditional animation class leaves a stray card in the page.\n // Scoped, the closed element computes `animation-name: none` and\n // Presence unmounts it at once.\n 'data-[state=open]:animate-scale-in',\n )\n \"\n style=\"transform-origin: var(--reka-popper-transform-origin)\"\n >\n <!-- @slot The card content. Unlike a tooltip, this CAN contain\n interactive elements — links, buttons, any focusable control. -->\n <slot />\n <HoverCardArrow class=\"fill-popover\" :width=\"10\" :height=\"5\" />\n </HoverCardContent>\n </HoverCardPortal>\n </HoverCardRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;GA8EE,OAAA,UAAA,GAAA,YAuCgB,MAAA,aAAA,GAvChB,WAuCgB;IAtCb,cAAY,QAAA;IACZ,eAAa,QAAA;GACN,GAAA,MAAA,QAAA,CAAQ,CAAA,EAAA,MAAG,QAAA,KAAI,CAAA,GAAA,EACtB,iBAAW,OAAA,OAAA,OAAA,MAAA,WAAEA,KAAAA,MAAK,eAAgB,MAAM,GAAA,CAAA,GAAA;IAKzC,SAAA,cAEmB,CAFnB,YAEmB,MAAA,gBAAA,GAAA,EAFD,YAAA,GAAQ,GAAA;KACxB,SAAA,cAAuB,CAAvB,WAAuB,KAAA,QAAA,SAAA,CAAA,CAAA;;IAGzB,CAAA,GAAA,YAyBkB,MAAA,eAAA,GAAA,MAAA;KAxBhB,SAAA,cAuBmB,CAvBnB,YAuBmB,MAAA,gBAAA,GAAA;MAtBhB,MAAM,QAAA;MACN,eAAa,QAAA;MACb,OAAO,QAAA;MACP,gBAAc,QAAA;MACd,OAAK,eAAa,MAAA,EAAA,CAAE,CAAA,2GAAA,oCAAA,CAAA;MAYrB,OAAA,EAAA,oBAAA,sCAAA;;MAIA,SAAA,cAAQ,CAAR,WAAQ,KAAA,QAAA,SAAA,GACR,YAA+D,MAAA,cAAA,GAAA;OAA/C,OAAM;OAAgB,OAAO;OAAK,QAAQ"}
@@ -0,0 +1,7 @@
1
+ import IconButton_vue_vue_type_script_setup_true_lang_default, { iconButtonVariants } from "./IconButton.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/primitives/IconButton/IconButton.vue
3
+ var IconButton_default = IconButton_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { IconButton_default as default, iconButtonVariants };
6
+
7
+ //# sourceMappingURL=IconButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.js","names":[],"sources":["../../../src/primitives/IconButton/IconButton.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { cva } from \"class-variance-authority\";\n\nexport type IconButtonVariant = \"default\" | \"secondary\" | \"ghost\" | \"destructive\";\n\nexport type IconButtonSize = \"sm\" | \"md\" | \"lg\";\n\n/**\n * An icon-only button is a square, so every size is height-equals-width and has\n * no horizontal padding. The four variants match Button's press language — hover\n * lifts by fill — but `default` here names what Button calls `primary`, because\n * an icon button is never the screen's primary action and the word would mislead.\n */\nexport const iconButtonVariants = cva(\n \"inline-flex items-center justify-center rounded-md transition-colors duration-fast ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70\",\n ghost: \"hover:bg-subtle text-foreground\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80\",\n } satisfies Record<IconButtonVariant, string>,\n size: {\n sm: \"h-8 w-8\",\n md: \"h-9 w-9\",\n lg: \"h-10 w-10\",\n } satisfies Record<IconButtonSize, string>,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"../../lib/cn\";\n\nwithDefaults(\n defineProps<{\n /** Visual weight, matching Button's press language but without the `primary` name — an icon button is never the action a screen is asking for. */\n variant?: IconButtonVariant;\n /** Square hit area. Every size is 24px or above (WCAG 2.2 SC 2.5.8). */\n size?: IconButtonSize;\n /** The accessible name. An icon-only button without one is a WCAG failure, so this prop is required. */\n label: string;\n /** Unavailable — blocks pointer events and dims the icon. */\n disabled?: boolean;\n }>(),\n { variant: \"default\", size: \"md\", disabled: false },\n);\n</script>\n\n<template>\n <button\n :class=\"cn(iconButtonVariants({ variant, size }), $attrs.class)\"\n :aria-label=\"label\"\n :disabled=\"disabled\"\n >\n <slot />\n </button>\n</template>\n"],"mappings":""}
@@ -0,0 +1,45 @@
1
+ export type IconButtonVariant = "default" | "secondary" | "ghost" | "destructive";
2
+ export type IconButtonSize = "sm" | "md" | "lg";
3
+ /**
4
+ * An icon-only button is a square, so every size is height-equals-width and has
5
+ * no horizontal padding. The four variants match Button's press language — hover
6
+ * lifts by fill — but `default` here names what Button calls `primary`, because
7
+ * an icon button is never the screen's primary action and the word would mislead.
8
+ */
9
+ export declare const iconButtonVariants: (props?: ({
10
+ variant?: "default" | "destructive" | "secondary" | "ghost" | null | undefined;
11
+ size?: "sm" | "md" | "lg" | null | undefined;
12
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
16
+ /** Visual weight, matching Button's press language but without the `primary` name — an icon button is never the action a screen is asking for. */
17
+ variant?: IconButtonVariant;
18
+ /** Square hit area. Every size is 24px or above (WCAG 2.2 SC 2.5.8). */
19
+ size?: IconButtonSize;
20
+ /** The accessible name. An icon-only button without one is a WCAG failure, so this prop is required. */
21
+ label: string;
22
+ /** Unavailable — blocks pointer events and dims the icon. */
23
+ disabled?: boolean;
24
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
25
+ /** Visual weight, matching Button's press language but without the `primary` name — an icon button is never the action a screen is asking for. */
26
+ variant?: IconButtonVariant;
27
+ /** Square hit area. Every size is 24px or above (WCAG 2.2 SC 2.5.8). */
28
+ size?: IconButtonSize;
29
+ /** The accessible name. An icon-only button without one is a WCAG failure, so this prop is required. */
30
+ label: string;
31
+ /** Unavailable — blocks pointer events and dims the icon. */
32
+ disabled?: boolean;
33
+ }> & Readonly<{}>, {
34
+ size: IconButtonSize;
35
+ disabled: boolean;
36
+ variant: IconButtonVariant;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
38
+ default?: (props: {}) => any;
39
+ }>;
40
+ type __VLS_WithSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
45
+ //# sourceMappingURL=IconButton.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.vue.d.ts","sourceRoot":"","sources":["../../../src/primitives/IconButton/IconButton.vue"],"names":[],"mappings":"AA0EA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAElF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;8EAuB9B,CAAC;wBACmB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAEd,kJAAkJ;cACxI,iBAAiB;IAC3B,wEAAwE;WACjE,cAAc;IACrB,wGAAwG;WACjG,MAAM;IACb,6DAA6D;eAClD,OAAO;;IAPlB,kJAAkJ;cACxI,iBAAiB;IAC3B,wEAAwE;WACjE,cAAc;IACrB,wGAAwG;WACjG,MAAM;IACb,6DAA6D;eAClD,OAAO;;UAJX,cAAc;cAIV,OAAO;aANR,iBAAiB;;cA0CjB,CAAC,KAAK,IAAgB,KAAK,GAAG;EAUxC,CAAC;AAWL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { cn } from "../../lib/cn.js";
2
+ import { createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
3
+ import { cva } from "class-variance-authority";
4
+ //#region src/primitives/IconButton/IconButton.vue?vue&type=script&setup=true&lang.ts
5
+ var _hoisted_1 = ["aria-label", "disabled"];
6
+ /**
7
+ * An icon-only button is a square, so every size is height-equals-width and has
8
+ * no horizontal padding. The four variants match Button's press language — hover
9
+ * lifts by fill — but `default` here names what Button calls `primary`, because
10
+ * an icon button is never the screen's primary action and the word would mislead.
11
+ */
12
+ var iconButtonVariants = cva("inline-flex items-center justify-center rounded-md transition-colors duration-fast ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50", {
13
+ variants: {
14
+ variant: {
15
+ default: "bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80",
16
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70",
17
+ ghost: "hover:bg-subtle text-foreground",
18
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80"
19
+ },
20
+ size: {
21
+ sm: "h-8 w-8",
22
+ md: "h-9 w-9",
23
+ lg: "h-10 w-10"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ variant: "default",
28
+ size: "md"
29
+ }
30
+ });
31
+ var IconButton_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
32
+ __name: "IconButton",
33
+ props: {
34
+ variant: { default: "default" },
35
+ size: { default: "md" },
36
+ label: {},
37
+ disabled: {
38
+ type: Boolean,
39
+ default: false
40
+ }
41
+ },
42
+ setup(__props) {
43
+ return (_ctx, _cache) => {
44
+ return openBlock(), createElementBlock("button", {
45
+ class: normalizeClass(unref(cn)(unref(iconButtonVariants)({
46
+ variant: __props.variant,
47
+ size: __props.size
48
+ }), _ctx.$attrs.class)),
49
+ "aria-label": __props.label,
50
+ disabled: __props.disabled
51
+ }, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1);
52
+ };
53
+ }
54
+ });
55
+ //#endregion
56
+ export { IconButton_vue_vue_type_script_setup_true_lang_default as default, iconButtonVariants };
57
+
58
+ //# sourceMappingURL=IconButton.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../src/primitives/IconButton/IconButton.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { cva } from \"class-variance-authority\";\n\nexport type IconButtonVariant = \"default\" | \"secondary\" | \"ghost\" | \"destructive\";\n\nexport type IconButtonSize = \"sm\" | \"md\" | \"lg\";\n\n/**\n * An icon-only button is a square, so every size is height-equals-width and has\n * no horizontal padding. The four variants match Button's press language — hover\n * lifts by fill — but `default` here names what Button calls `primary`, because\n * an icon button is never the screen's primary action and the word would mislead.\n */\nexport const iconButtonVariants = cva(\n \"inline-flex items-center justify-center rounded-md transition-colors duration-fast ease-out focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90 active:bg-primary/80\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 active:bg-secondary/70\",\n ghost: \"hover:bg-subtle text-foreground\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 active:bg-destructive/80\",\n } satisfies Record<IconButtonVariant, string>,\n size: {\n sm: \"h-8 w-8\",\n md: \"h-9 w-9\",\n lg: \"h-10 w-10\",\n } satisfies Record<IconButtonSize, string>,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n</script>\n\n<script setup lang=\"ts\">\nimport { cn } from \"../../lib/cn\";\n\nwithDefaults(\n defineProps<{\n /** Visual weight, matching Button's press language but without the `primary` name — an icon button is never the action a screen is asking for. */\n variant?: IconButtonVariant;\n /** Square hit area. Every size is 24px or above (WCAG 2.2 SC 2.5.8). */\n size?: IconButtonSize;\n /** The accessible name. An icon-only button without one is a WCAG failure, so this prop is required. */\n label: string;\n /** Unavailable — blocks pointer events and dims the icon. */\n disabled?: boolean;\n }>(),\n { variant: \"default\", size: \"md\", disabled: false },\n);\n</script>\n\n<template>\n <button\n :class=\"cn(iconButtonVariants({ variant, size }), $attrs.class)\"\n :aria-label=\"label\"\n :disabled=\"disabled\"\n >\n <slot />\n </button>\n</template>\n"],"mappings":";;;;;;;;;;;AAaA,IAAa,qBAAqB,IAChC,yRACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,WACE;GACF,OAAO;GACP,aACE;EACJ;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;;;;;;;;;;;;;;GAsBE,OAAA,UAAA,GAAA,mBAMS,UAAA;IALN,OAAK,eAAE,MAAA,EAAA,CAAE,CAAC,MAAA,kBAAA,CAAkB,CAAA;KAAA,SAAG,QAAA;KAAO,MAAE,QAAA;IAAI,CAAA,GAAKA,KAAAA,OAAO,KAAK,CAAA;IAC7D,cAAY,QAAA;IACZ,UAAU,QAAA;GAEX,GAAA,CAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,IAAA,UAAA"}
@@ -0,0 +1,7 @@
1
+ import Indicator_vue_vue_type_script_setup_true_lang_default, { INDICATOR_LABELS, indicatorToneVariants, indicatorVariants } from "./Indicator.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/primitives/Indicator/Indicator.vue
3
+ var Indicator_default = Indicator_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { INDICATOR_LABELS, Indicator_default as default, indicatorToneVariants, indicatorVariants };
6
+
7
+ //# sourceMappingURL=Indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indicator.js","names":[],"sources":["../../../src/primitives/Indicator/Indicator.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { cva } from \"class-variance-authority\";\nimport type { LabelOf } from \"../../lib/labels\";\n\n/** A presence dot, or a number. */\nexport type IndicatorVariant = \"dot\" | \"count\";\n\n/** The four presence states a dot can report. */\nexport type IndicatorStatus = \"online\" | \"offline\" | \"busy\" | \"away\";\n\n/** Which corner of the marked element the marker straddles. */\nexport type IndicatorPlacement = \"top-right\" | \"top-left\" | \"bottom-right\" | \"bottom-left\";\n\n/**\n * The colour vocabulary, deliberately Badge's own names rather than a second\n * set — `accent` included, and it means here exactly what it means there:\n * a second semantic category distinct from primary, never decoration.\n */\nexport type IndicatorTone =\n \"neutral\" | \"primary\" | \"success\" | \"warning\" | \"info\" | \"destructive\" | \"accent\";\n\n/** The surface the marked element sits on, which the separating ring matches. */\nexport type IndicatorSurface = \"background\" | \"card\" | \"sunken\" | \"popover\";\n\nexport const indicatorVariants = cva(\n // `pointer-events-none` is load-bearing rather than tidy: the marker\n // overhangs the corner of whatever it marks, so without it the top-right\n // few pixels of a bell button stop being clickable.\n \"pointer-events-none absolute z-10 flex items-center justify-center select-none ring-2\",\n {\n variants: {\n variant: {\n // 12px leaves room for the status glyphs below to read as shapes\n // rather than as noise.\n dot: \"h-3 w-3 rounded-full\",\n // `min-w-5` and the padding together are what make one digit a circle\n // and three a pill, with no branch: \"1\" is narrower than the minimum\n // and lands on it, \"99+\" outgrows it and the radius turns the ends.\n count: \"h-5 min-w-5 rounded-full px-1.5 text-micro font-medium tabular\",\n } satisfies Record<IndicatorVariant, string>,\n placement: {\n \"top-right\": \"top-0 right-0 -translate-y-1/2 translate-x-1/2\",\n \"top-left\": \"top-0 left-0 -translate-y-1/2 -translate-x-1/2\",\n \"bottom-right\": \"right-0 bottom-0 translate-x-1/2 translate-y-1/2\",\n \"bottom-left\": \"bottom-0 left-0 -translate-x-1/2 translate-y-1/2\",\n } satisfies Record<IndicatorPlacement, string>,\n // The ring is what separates the marker from the photo, avatar or icon\n // underneath, the way a presence dot is punched out of a portrait. It\n // has to be the colour of what surrounds the pair, which only the caller\n // knows — hence a prop rather than a guess.\n surface: {\n background: \"ring-background\",\n card: \"ring-card\",\n sunken: \"ring-sunken\",\n popover: \"ring-popover\",\n } satisfies Record<IndicatorSurface, string>,\n },\n defaultVariants: { variant: \"dot\", placement: \"top-right\", surface: \"background\" },\n },\n);\n\n/**\n * The fill, keyed by Badge's colour names so a success dot and a success badge\n * are the same green. These are the solid tokens where Badge uses a 12% wash:\n * a wash reads fine across a chip and carries no signal at all across 12px.\n *\n * The paired `text-*` is what the count prints in and what the status glyph is\n * punched out in, so one entry drives both layers.\n */\nexport const indicatorToneVariants = cva(\"\", {\n variants: {\n tone: {\n neutral: \"bg-muted-foreground text-background\",\n primary: \"bg-primary text-primary-foreground\",\n success: \"bg-success text-success-foreground\",\n warning: \"bg-warning text-warning-foreground\",\n info: \"bg-info text-info-foreground\",\n destructive: \"bg-destructive text-destructive-foreground\",\n accent: \"bg-accent text-accent-foreground\",\n } satisfies Record<IndicatorTone, string>,\n },\n defaultVariants: { tone: \"primary\" },\n});\n\n/** Which colour each presence state means, so `status` alone is enough. */\nconst STATUS_TONES = {\n online: \"success\",\n offline: \"neutral\",\n busy: \"destructive\",\n away: \"warning\",\n} satisfies Record<IndicatorStatus, IndicatorTone>;\n\n/**\n * What a screen reader is told when the caller passes no `label` — which is\n * every string this component can utter, because a marker that renders nothing\n * but a coloured circle has no text of its own to fall back on.\n *\n * The four presence keys are named for the four `IndicatorStatus` members and\n * resolved by lookup, so a status added to the union without a name for it is a\n * compile error rather than an unnamed dot.\n *\n * `count` takes the number and not a formatted string: \"3 unread\" is a plural\n * category in most languages and a digit shape in several, and a component\n * whose whole job is to show a small integer has no business deciding either.\n * It also reports the *real* figure rather than the clamped `99+` — see the\n * comment on `name` below.\n */\nexport interface IndicatorLabels {\n /** The `online` dot. */\n readonly online: string;\n /** The `offline` dot. */\n readonly offline: string;\n /** The `busy` dot. */\n readonly busy: string;\n /** The `away` dot. */\n readonly away: string;\n /** The `count` pill, named for how many things it counts. */\n readonly count: LabelOf<{ count: number }>;\n /** A dot with no `status`: something changed here, and nothing more specific. */\n readonly attention: 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 INDICATOR_LABELS: IndicatorLabels = {\n online: \"Online\",\n offline: \"Offline\",\n busy: \"Busy\",\n away: \"Away\",\n count: ({ count }) => `${String(count)} unread`,\n attention: \"Needs attention\",\n};\n\n/**\n * The shape layer, and it exists for the sighted reader the `sr-only` string\n * below cannot help. Three of the four states are saturated — green, amber,\n * red — which is the exact triple a red/green deficiency collapses, so `busy`\n * wears a bar and `away` a hole and no two of them differ by hue alone.\n * `offline` needs none: grey against any of the three is a saturation\n * difference, not a hue one.\n */\nconst STATUS_GLYPHS = {\n online: \"\",\n offline: \"\",\n busy: \"h-0.5 w-1.5 rounded-full bg-current\",\n away: \"h-1 w-1 rounded-full bg-current\",\n} satisfies Record<IndicatorStatus, string>;\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, useId } from \"vue\";\nimport { cn } from \"../../lib/cn\";\nimport { useSplitAttrs } from \"../../lib/attrs\";\nimport { useLabels, type LabelOverrides } from \"../../lib/labels\";\n\n/**\n * Indicator — the small marker pinned onto the corner of something else: a\n * presence dot on an avatar, an unread count on a bell, a \"needs attention\"\n * dot on a tab. The default slot is the thing being marked, and the marker\n * positions itself over that child's corner.\n *\n * The boundary with Badge is the whole of the decision between them: **Badge\n * sits in the flow beside content; Indicator is pinned onto content.** A count\n * chip in a table cell is a Badge. The same count floating over a bell icon is\n * an Indicator. Reach for Badge whenever the marker would take up room of its\n * own, and for this whenever it would overhang something.\n *\n * What this component is by default is a bare colour, which is the one thing\n * Loom's accessibility bar forbids outright. A green dot says nothing to a\n * reader who cannot see it. So every marker that renders carries a visually\n * hidden string — `label`, or a default derived from `status` or `count` — and\n * a blank `label` falls back to that default rather than replacing it, which\n * is what makes an unnamed indicator unreachable rather than merely\n * discouraged. The shape layer in `STATUS_GLYPHS` covers the sighted reader\n * the hidden string cannot.\n *\n * There is deliberately **no `aria-live` region here**, and the reason is that\n * this component cannot know whether a change is news. An unread counter is\n * usually fed by a poll, so a live region announces every tick over whatever\n * the reader was doing; the same count is commonly pinned in two places at\n * once, so it announces twice; and a polite region speaks on first render in\n * several screen reader and browser pairs, which turns every page load into a\n * recitation of the inbox. The marker is therefore static text a reader\n * reaches on demand, and announcing a *change* stays with the consumer, who\n * knows whether it followed something the reader just did.\n *\n * One consequence to design around: when the marked child is interactive, its\n * accessible name is computed from the child, and this marker's text sits\n * outside it — a bell button announces \"Notifications, button\" on focus and\n * never mentions the three unread. The default slot exposes `labelId` for\n * exactly that: bind it to the control's `aria-describedby` and the count is\n * announced straight after the name, once, without being duplicated into it.\n */\nconst props = withDefaults(\n defineProps<{\n /** A presence dot, or a number in a pill. */\n variant?: IndicatorVariant;\n /** The number the pill prints, when `variant` is `count`. Zero hides the marker unless `showZero` is set. */\n count?: number;\n /** The highest number printed in full; anything above it prints as `<max>+`. The accessible text still carries the real figure. */\n max?: number;\n /** Presence, for a dot: it picks the colour and the shape, and names the dot for a screen reader. Omit it for a plain \"something changed\" dot. */\n status?: IndicatorStatus;\n /** The marker's colour, in Badge's own vocabulary. Defaults to whatever `status` implies, or to `primary` when there is no status. */\n tone?: IndicatorTone;\n /** Which corner of the marked element the marker straddles. */\n placement?: IndicatorPlacement;\n /** What a screen reader announces for the marker. Leave it unset for the derived default — \"Online\", \"3 unread\" — and set it whenever the count is not of unread things. Blank or whitespace falls back to the default rather than clearing it. */\n label?: string;\n /** Render the pill when the count is zero. Off by default, because a count of nothing is not news. */\n showZero?: boolean;\n /** The surface the marked element sits on, so the ring separating the marker from it matches what surrounds them. */\n surface?: IndicatorSurface;\n /**\n * Names for the markers this component derives on its own, as any subset\n * of `IndicatorLabels` — the rest stay as the host's `provideLoomLabels`\n * vocabulary left them, and then as Loom's English.\n *\n * This is the vocabulary, not the instance's name: `label` still beats it\n * and is what one bell counting drafts rather than unread mail reaches for.\n */\n labels?: LabelOverrides<IndicatorLabels>;\n }>(),\n {\n variant: \"dot\",\n count: 0,\n max: 99,\n placement: \"top-right\",\n showZero: false,\n surface: \"background\",\n },\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(\"indicator\", INDICATOR_LABELS, () => props.labels);\n\n// One rendered node, and every fallthrough attribute belongs on it — but\n// `class` still has to go the long way round. A consumer replacing the root's\n// `inline-flex` with `block` cannot win by concatenation, because the winner\n// there is decided by the order of the two rules in the stylesheet rather than\n// by the order of the two names in the attribute; `cn()` is what resolves it.\ndefineOptions({ inheritAttrs: false });\nconst { attrs, rest } = useSplitAttrs();\n\n// Bound to the hidden label so an interactive child can point its\n// `aria-describedby` at it through the slot prop.\nconst labelId = useId();\n\n/**\n * The count as a whole, non-negative number. A negative count is a defect in\n * the caller's data, and a pill reading \"-1 unread\" reports that defect to the\n * reader rather than to the caller — falling back to \"nothing to report\" is\n * the honest rendering of it.\n */\nconst total = computed(() => Math.max(0, Math.trunc(props.count)));\n\nconst visible = computed(() => props.variant === \"dot\" || total.value > 0 || props.showZero);\n\n/** What the pill prints — the real figure up to `max`, then `<max>+`. */\nconst printed = computed(() =>\n total.value > props.max ? `${String(props.max)}+` : String(total.value),\n);\n\nconst tone = computed<IndicatorTone>(\n () => props.tone ?? (props.status ? STATUS_TONES[props.status] : \"primary\"),\n);\n\nconst glyph = computed(() => (props.status ? STATUS_GLYPHS[props.status] : \"\"));\n\n/**\n * The accessible name, and it is never empty by construction. The count case\n * reports `total` rather than `printed`: clamping at `max` is a decision about\n * how wide the pill is allowed to get, and a reader who cannot see the pill\n * has no reason to inherit it — \"132 unread\" is the fact, \"99+\" is the layout.\n */\nconst name = computed(() => {\n const given = props.label?.trim();\n if (given) return given;\n if (props.variant === \"count\") return text.value.count({ count: total.value });\n // Keyed by the status itself rather than through a lookup table of its own:\n // `IndicatorLabels` names its four presence keys after the four members of\n // `IndicatorStatus`, so a state added to the union with no name for it stops\n // compiling here instead of rendering an unnamed dot.\n return props.status ? text.value[props.status] : text.value.attention;\n});\n</script>\n\n<template>\n <span v-bind=\"rest\" :class=\"cn('relative inline-flex align-middle', attrs.class as string)\">\n <!-- A multi-line `@slot` comment comes back from vue-docgen with no description at all, so this one stays on one line. -->\n <!-- @slot The element being marked. `labelId` is the id of the marker's own hidden text — bind it to an interactive child's `aria-describedby` so the count is announced after that control's name. -->\n <slot :label-id=\"labelId\" />\n\n <!-- Keyed on what is printed rather than on the count, so `animate-scale-in`\n replays when a number a reader can see actually changes and stays put\n when 100 becomes 132 behind the same \"99+\". A dot's key never moves, so\n a dot never animates: presence settles into place on load, it does not\n arrive as news, and it must not pulse. -->\n <span\n v-if=\"visible\"\n :key=\"printed\"\n :data-placement=\"placement\"\n :class=\"\n cn(\n indicatorVariants({ variant, placement, surface }),\n indicatorToneVariants({ tone }),\n variant === 'count' && 'animate-scale-in',\n )\n \"\n >\n <!-- Hidden from assistive tech because the label below carries the real\n figure; left visible the pair would read as \"99+ 132 unread\". -->\n <span v-if=\"variant === 'count'\" aria-hidden=\"true\">{{ printed }}</span>\n <span v-else-if=\"glyph\" :class=\"glyph\" />\n\n <span :id=\"labelId\" class=\"sr-only\">{{ name }}</span>\n </span>\n </span>\n</template>\n"],"mappings":""}
@@ -0,0 +1,144 @@
1
+ import { type LabelOverrides } from "../../lib/labels";
2
+ import type { LabelOf } from "../../lib/labels";
3
+ /** A presence dot, or a number. */
4
+ export type IndicatorVariant = "dot" | "count";
5
+ /** The four presence states a dot can report. */
6
+ export type IndicatorStatus = "online" | "offline" | "busy" | "away";
7
+ /** Which corner of the marked element the marker straddles. */
8
+ export type IndicatorPlacement = "top-right" | "top-left" | "bottom-right" | "bottom-left";
9
+ /**
10
+ * The colour vocabulary, deliberately Badge's own names rather than a second
11
+ * set — `accent` included, and it means here exactly what it means there:
12
+ * a second semantic category distinct from primary, never decoration.
13
+ */
14
+ export type IndicatorTone = "neutral" | "primary" | "success" | "warning" | "info" | "destructive" | "accent";
15
+ /** The surface the marked element sits on, which the separating ring matches. */
16
+ export type IndicatorSurface = "background" | "card" | "sunken" | "popover";
17
+ export declare const indicatorVariants: (props?: ({
18
+ variant?: "count" | "dot" | null | undefined;
19
+ placement?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | null | undefined;
20
+ surface?: "background" | "card" | "sunken" | "popover" | null | undefined;
21
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
22
+ /**
23
+ * The fill, keyed by Badge's colour names so a success dot and a success badge
24
+ * are the same green. These are the solid tokens where Badge uses a 12% wash:
25
+ * a wash reads fine across a chip and carries no signal at all across 12px.
26
+ *
27
+ * The paired `text-*` is what the count prints in and what the status glyph is
28
+ * punched out in, so one entry drives both layers.
29
+ */
30
+ export declare const indicatorToneVariants: (props?: ({
31
+ tone?: "accent" | "neutral" | "primary" | "success" | "warning" | "info" | "destructive" | null | undefined;
32
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
33
+ /**
34
+ * What a screen reader is told when the caller passes no `label` — which is
35
+ * every string this component can utter, because a marker that renders nothing
36
+ * but a coloured circle has no text of its own to fall back on.
37
+ *
38
+ * The four presence keys are named for the four `IndicatorStatus` members and
39
+ * resolved by lookup, so a status added to the union without a name for it is a
40
+ * compile error rather than an unnamed dot.
41
+ *
42
+ * `count` takes the number and not a formatted string: "3 unread" is a plural
43
+ * category in most languages and a digit shape in several, and a component
44
+ * whose whole job is to show a small integer has no business deciding either.
45
+ * It also reports the *real* figure rather than the clamped `99+` — see the
46
+ * comment on `name` below.
47
+ */
48
+ export interface IndicatorLabels {
49
+ /** The `online` dot. */
50
+ readonly online: string;
51
+ /** The `offline` dot. */
52
+ readonly offline: string;
53
+ /** The `busy` dot. */
54
+ readonly busy: string;
55
+ /** The `away` dot. */
56
+ readonly away: string;
57
+ /** The `count` pill, named for how many things it counts. */
58
+ readonly count: LabelOf<{
59
+ count: number;
60
+ }>;
61
+ /** A dot with no `status`: something changed here, and nothing more specific. */
62
+ readonly attention: string;
63
+ }
64
+ /**
65
+ * Loom's English, co-located with the component so it tree-shakes with it, and
66
+ * exported so a host can build a partial vocabulary against the real thing.
67
+ */
68
+ export declare const INDICATOR_LABELS: IndicatorLabels;
69
+ declare const _default: typeof __VLS_export;
70
+ export default _default;
71
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
72
+ /** A presence dot, or a number in a pill. */
73
+ variant?: IndicatorVariant;
74
+ /** The number the pill prints, when `variant` is `count`. Zero hides the marker unless `showZero` is set. */
75
+ count?: number;
76
+ /** The highest number printed in full; anything above it prints as `<max>+`. The accessible text still carries the real figure. */
77
+ max?: number;
78
+ /** Presence, for a dot: it picks the colour and the shape, and names the dot for a screen reader. Omit it for a plain "something changed" dot. */
79
+ status?: IndicatorStatus;
80
+ /** The marker's colour, in Badge's own vocabulary. Defaults to whatever `status` implies, or to `primary` when there is no status. */
81
+ tone?: IndicatorTone;
82
+ /** Which corner of the marked element the marker straddles. */
83
+ placement?: IndicatorPlacement;
84
+ /** What a screen reader announces for the marker. Leave it unset for the derived default — "Online", "3 unread" — and set it whenever the count is not of unread things. Blank or whitespace falls back to the default rather than clearing it. */
85
+ label?: string;
86
+ /** Render the pill when the count is zero. Off by default, because a count of nothing is not news. */
87
+ showZero?: boolean;
88
+ /** The surface the marked element sits on, so the ring separating the marker from it matches what surrounds them. */
89
+ surface?: IndicatorSurface;
90
+ /**
91
+ * Names for the markers this component derives on its own, as any subset
92
+ * of `IndicatorLabels` — the rest stay as the host's `provideLoomLabels`
93
+ * vocabulary left them, and then as Loom's English.
94
+ *
95
+ * This is the vocabulary, not the instance's name: `label` still beats it
96
+ * and is what one bell counting drafts rather than unread mail reaches for.
97
+ */
98
+ labels?: LabelOverrides<IndicatorLabels>;
99
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
100
+ /** A presence dot, or a number in a pill. */
101
+ variant?: IndicatorVariant;
102
+ /** The number the pill prints, when `variant` is `count`. Zero hides the marker unless `showZero` is set. */
103
+ count?: number;
104
+ /** The highest number printed in full; anything above it prints as `<max>+`. The accessible text still carries the real figure. */
105
+ max?: number;
106
+ /** Presence, for a dot: it picks the colour and the shape, and names the dot for a screen reader. Omit it for a plain "something changed" dot. */
107
+ status?: IndicatorStatus;
108
+ /** The marker's colour, in Badge's own vocabulary. Defaults to whatever `status` implies, or to `primary` when there is no status. */
109
+ tone?: IndicatorTone;
110
+ /** Which corner of the marked element the marker straddles. */
111
+ placement?: IndicatorPlacement;
112
+ /** What a screen reader announces for the marker. Leave it unset for the derived default — "Online", "3 unread" — and set it whenever the count is not of unread things. Blank or whitespace falls back to the default rather than clearing it. */
113
+ label?: string;
114
+ /** Render the pill when the count is zero. Off by default, because a count of nothing is not news. */
115
+ showZero?: boolean;
116
+ /** The surface the marked element sits on, so the ring separating the marker from it matches what surrounds them. */
117
+ surface?: IndicatorSurface;
118
+ /**
119
+ * Names for the markers this component derives on its own, as any subset
120
+ * of `IndicatorLabels` — the rest stay as the host's `provideLoomLabels`
121
+ * vocabulary left them, and then as Loom's English.
122
+ *
123
+ * This is the vocabulary, not the instance's name: `label` still beats it
124
+ * and is what one bell counting drafts rather than unread mail reaches for.
125
+ */
126
+ labels?: LabelOverrides<IndicatorLabels>;
127
+ }> & Readonly<{}>, {
128
+ max: number;
129
+ count: number;
130
+ variant: IndicatorVariant;
131
+ surface: IndicatorSurface;
132
+ placement: IndicatorPlacement;
133
+ showZero: boolean;
134
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
135
+ default?: (props: {
136
+ labelId: string;
137
+ }) => any;
138
+ }>;
139
+ type __VLS_WithSlots<T, S> = T & {
140
+ new (): {
141
+ $slots: S;
142
+ };
143
+ };
144
+ //# sourceMappingURL=Indicator.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Indicator.vue.d.ts","sourceRoot":"","sources":["../../../src/primitives/Indicator/Indicator.vue"],"names":[],"mappings":"AAyUA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,mCAAmC;AACnC,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,CAAC;AAE/C,iDAAiD;AACjD,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAErE,+DAA+D;AAC/D,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAC;AAE3F;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACvB,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEpF,iFAAiF;AACjF,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,eAAO,MAAM,iBAAiB;;;;8EAmC7B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;8EAahC,CAAC;AAUH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,wBAAwB;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yBAAyB;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3C,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAO9B,CAAC;wBAgBmB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;IAwCd,6CAA6C;cACnC,gBAAgB;IAC1B,6GAA6G;YACrG,MAAM;IACd,mIAAmI;UAC7H,MAAM;IACZ,kJAAkJ;aACzI,eAAe;IACxB,sIAAsI;WAC/H,aAAa;IACpB,+DAA+D;gBACnD,kBAAkB;IAC9B,mPAAmP;YAC3O,MAAM;IACd,sGAAsG;eAC3F,OAAO;IAClB,qHAAqH;cAC3G,gBAAgB;IAC1B;;;;;;;OAOG;aACM,cAAc,CAAC,eAAe,CAAC;;IA1BxC,6CAA6C;cACnC,gBAAgB;IAC1B,6GAA6G;YACrG,MAAM;IACd,mIAAmI;UAC7H,MAAM;IACZ,kJAAkJ;aACzI,eAAe;IACxB,sIAAsI;WAC/H,aAAa;IACpB,+DAA+D;gBACnD,kBAAkB;IAC9B,mPAAmP;YAC3O,MAAM;IACd,sGAAsG;eAC3F,OAAO;IAClB,qHAAqH;cAC3G,gBAAgB;IAC1B;;;;;;;OAOG;aACM,cAAc,CAAC,eAAe,CAAC;;SArBlC,MAAM;WAFJ,MAAM;aAFJ,gBAAgB;aAgBhB,gBAAgB;eANd,kBAAkB;cAInB,OAAO;;cA2JR,CAAC,KAAK;;KAAgB,KAAK,GAAG;EAUxC,CAAC;AAWL,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}