@leaflink/stash 49.4.1 → 50.0.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 (419) hide show
  1. package/assets/fonts/sofia/SofiaProMedium.otf +0 -0
  2. package/assets/fonts/sofia/SofiaProRegular.otf +0 -0
  3. package/assets/fonts/sofia/SofiaProSemiBold.otf +0 -0
  4. package/dist/Accordion.js +25 -28
  5. package/dist/Accordion.js.map +1 -1
  6. package/dist/Accordion.vue.d.ts +16 -16
  7. package/dist/ActionsDropdown.js +14 -26
  8. package/dist/ActionsDropdown.js.map +1 -1
  9. package/dist/ActionsDropdown.vue.d.ts +12 -12
  10. package/dist/AddressSelect.js +22 -47
  11. package/dist/AddressSelect.js.map +1 -1
  12. package/dist/AddressSelect.vue.d.ts +45 -45
  13. package/dist/Alert.js +4 -6
  14. package/dist/Alert.js.map +1 -1
  15. package/dist/Alert.vue.d.ts +18 -18
  16. package/dist/AppNavigationItem.js +16 -19
  17. package/dist/AppNavigationItem.js.map +1 -1
  18. package/dist/AppNavigationItem.vue.d.ts +4 -4
  19. package/dist/AppSidebar.js +27 -28
  20. package/dist/AppSidebar.js.map +1 -1
  21. package/dist/AppSidebar.vue.d.ts +7 -7
  22. package/dist/AppTopbar.js +12 -17
  23. package/dist/AppTopbar.js.map +1 -1
  24. package/dist/AppTopbar.vue.d.ts +8 -8
  25. package/dist/Avatar.js +1 -1
  26. package/dist/Avatar.vue.d.ts +22 -22
  27. package/dist/Backdrop.js +1 -1
  28. package/dist/Backdrop.vue.d.ts +1 -1
  29. package/dist/Badge.js +1 -1
  30. package/dist/Badge.js.map +1 -1
  31. package/dist/Badge.vue.d.ts +36 -36
  32. package/dist/Box.js +2 -3
  33. package/dist/Box.js.map +1 -1
  34. package/dist/Box.vue.d.ts +12 -12
  35. package/dist/{Box.vue_vue_type_script_setup_true_lang-69e5176b.js → Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js} +1 -1
  36. package/dist/{Box.vue_vue_type_script_setup_true_lang-69e5176b.js.map → Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js.map} +1 -1
  37. package/dist/Button.js +40 -27
  38. package/dist/Button.js.map +1 -1
  39. package/dist/Button.vue.d.ts +34 -27
  40. package/dist/ButtonGroup.js +1 -1
  41. package/dist/ButtonGroup.vue.d.ts +14 -14
  42. package/dist/Card.vue.d.ts +3 -3
  43. package/dist/CardContent.js +1 -1
  44. package/dist/CardContent.vue.d.ts +1 -1
  45. package/dist/CardFooter.js +1 -1
  46. package/dist/CardFooter.vue.d.ts +1 -1
  47. package/dist/CardMedia.js +11 -14
  48. package/dist/CardMedia.js.map +1 -1
  49. package/dist/Carousel.js +179 -180
  50. package/dist/Carousel.js.map +1 -1
  51. package/dist/Carousel.vue.d.ts +33 -11
  52. package/dist/Checkbox.js +38 -35
  53. package/dist/Checkbox.js.map +1 -1
  54. package/dist/Checkbox.vue.d.ts +31 -31
  55. package/dist/ChevronToggle.js +2 -10
  56. package/dist/ChevronToggle.js.map +1 -1
  57. package/dist/ChevronToggle.vue.d.ts +5 -5
  58. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js → ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js} +1 -1
  59. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js.map → ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js.map} +1 -1
  60. package/dist/Chip.js +17 -20
  61. package/dist/Chip.js.map +1 -1
  62. package/dist/Chip.vue.d.ts +32 -32
  63. package/dist/ConfirmationCodeInput.js +1 -1
  64. package/dist/ConfirmationCodeInput.js.map +1 -1
  65. package/dist/ConfirmationCodeInput.vue.d.ts +29 -29
  66. package/dist/ContextSwitcher.js +8 -14
  67. package/dist/ContextSwitcher.js.map +1 -1
  68. package/dist/ContextSwitcher.vue.d.ts +32 -32
  69. package/dist/Copy.js +23 -34
  70. package/dist/Copy.js.map +1 -1
  71. package/dist/Copy.vue.d.ts +9 -9
  72. package/dist/CurrencyInput.js +117 -128
  73. package/dist/CurrencyInput.js.map +1 -1
  74. package/dist/CurrencyInput.vue.d.ts +26 -21
  75. package/dist/CustomRender.vue.d.ts +12 -1
  76. package/dist/DataView.js +70 -73
  77. package/dist/DataView.js.map +1 -1
  78. package/dist/{DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js → DataView.keys-C7eaZg2G.js} +5 -8
  79. package/dist/DataView.keys-C7eaZg2G.js.map +1 -0
  80. package/dist/DataView.vue.d.ts +51 -51
  81. package/dist/DataViewFilters.js +76 -90
  82. package/dist/DataViewFilters.js.map +1 -1
  83. package/dist/{DataViewFilters.keys-c80ffabe.js → DataViewFilters.keys-BLu07FiP.js} +1 -1
  84. package/dist/{DataViewFilters.keys-c80ffabe.js.map → DataViewFilters.keys-BLu07FiP.js.map} +1 -1
  85. package/dist/DataViewFilters.vue.d.ts +39 -39
  86. package/dist/DataViewSortButton.js +30 -43
  87. package/dist/DataViewSortButton.js.map +1 -1
  88. package/dist/DataViewSortButton.vue.d.ts +3 -3
  89. package/dist/DataViewToolbar.js +27 -36
  90. package/dist/DataViewToolbar.js.map +1 -1
  91. package/dist/DataViewToolbar.vue.d.ts +17 -17
  92. package/dist/DatePicker.js +649 -662
  93. package/dist/DatePicker.js.map +1 -1
  94. package/dist/DatePicker.vue.d.ts +73 -73
  95. package/dist/DescriptionList.js +1 -1
  96. package/dist/{DescriptionList.keys-c906ce05.js → DescriptionList.keys-BHlHYV6b.js} +1 -1
  97. package/dist/{DescriptionList.keys-c906ce05.js.map → DescriptionList.keys-BHlHYV6b.js.map} +1 -1
  98. package/dist/DescriptionList.vue.d.ts +6 -6
  99. package/dist/DescriptionListDetail.js +1 -1
  100. package/dist/DescriptionListDetail.vue.d.ts +1 -1
  101. package/dist/DescriptionListGroup.js +1 -1
  102. package/dist/DescriptionListGroup.vue.d.ts +1 -1
  103. package/dist/DescriptionListTerm.js +1 -1
  104. package/dist/DescriptionListTerm.vue.d.ts +1 -1
  105. package/dist/Dialog.js +26 -30
  106. package/dist/Dialog.js.map +1 -1
  107. package/dist/Dialog.vue.d.ts +34 -34
  108. package/dist/Divider.js +1 -1
  109. package/dist/Divider.js.map +1 -1
  110. package/dist/Divider.vue.d.ts +1 -1
  111. package/dist/Dropdown.js +21 -28
  112. package/dist/Dropdown.js.map +1 -1
  113. package/dist/Dropdown.vue.d.ts +28 -28
  114. package/dist/EmptyState.js +32 -33
  115. package/dist/EmptyState.js.map +1 -1
  116. package/dist/EmptyState.vue.d.ts +36 -36
  117. package/dist/Expand.js +2 -3
  118. package/dist/Expand.js.map +1 -1
  119. package/dist/Expand.vue.d.ts +14 -14
  120. package/dist/{Expand.vue_vue_type_script_setup_true_lang-0f236267.js → Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js} +1 -1
  121. package/dist/{Expand.vue_vue_type_script_setup_true_lang-0f236267.js.map → Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js.map} +1 -1
  122. package/dist/Field.js +2 -7
  123. package/dist/Field.js.map +1 -1
  124. package/dist/Field.vue.d.ts +30 -30
  125. package/dist/{Field.vue_vue_type_script_setup_true_lang-fded4f75.js → Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js} +2 -2
  126. package/dist/{Field.vue_vue_type_script_setup_true_lang-fded4f75.js.map → Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js.map} +1 -1
  127. package/dist/FileUpload.js +58 -57
  128. package/dist/FileUpload.js.map +1 -1
  129. package/dist/FileUpload.vue.d.ts +28 -28
  130. package/dist/FilterChip.js +12 -17
  131. package/dist/FilterChip.js.map +1 -1
  132. package/dist/FilterChip.vue.d.ts +19 -19
  133. package/dist/FilterDrawerItem.js +24 -30
  134. package/dist/FilterDrawerItem.js.map +1 -1
  135. package/dist/FilterDrawerItem.vue.d.ts +2 -2
  136. package/dist/FilterDropdown.js +41 -57
  137. package/dist/FilterDropdown.js.map +1 -1
  138. package/dist/FilterDropdown.vue.d.ts +9 -9
  139. package/dist/FilterSelect.js +36 -45
  140. package/dist/FilterSelect.js.map +1 -1
  141. package/dist/FilterSelect.vue.d.ts +5 -5
  142. package/dist/Filters.js +60 -96
  143. package/dist/Filters.js.map +1 -1
  144. package/dist/Filters.vue.d.ts +2005 -2294
  145. package/dist/HttpError.js +16 -23
  146. package/dist/HttpError.js.map +1 -1
  147. package/dist/HttpError.vue.d.ts +18 -18
  148. package/dist/Icon.js +27 -22
  149. package/dist/Icon.js.map +1 -1
  150. package/dist/Icon.vue.d.ts +13 -13
  151. package/dist/IconLabel.js +9 -12
  152. package/dist/IconLabel.js.map +1 -1
  153. package/dist/IconLabel.vue.d.ts +17 -17
  154. package/dist/Illustration.js +8 -11
  155. package/dist/Illustration.js.map +1 -1
  156. package/dist/Illustration.vue.d.ts +21 -21
  157. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js → Illustration.vue_vue_type_script_setup_true_lang-C3qG3Ty6.js} +2 -2
  158. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js.map → Illustration.vue_vue_type_script_setup_true_lang-C3qG3Ty6.js.map} +1 -1
  159. package/dist/Image.js.map +1 -1
  160. package/dist/Image.vue.d.ts +18 -18
  161. package/dist/InlineEdit.js +19 -30
  162. package/dist/InlineEdit.js.map +1 -1
  163. package/dist/InlineEdit.vue.d.ts +26 -26
  164. package/dist/Input.js +58 -64
  165. package/dist/Input.js.map +1 -1
  166. package/dist/Input.vue.d.ts +44 -36
  167. package/dist/InputOptions.js +66 -93
  168. package/dist/InputOptions.js.map +1 -1
  169. package/dist/InputOptions.vue.d.ts +66 -58
  170. package/dist/IntegrationIcon.js +2 -2
  171. package/dist/IntegrationIcon.js.map +1 -1
  172. package/dist/IntegrationIcon.vue.d.ts +12 -12
  173. package/dist/Label.js +2 -5
  174. package/dist/Label.js.map +1 -1
  175. package/dist/Label.vue.d.ts +17 -17
  176. package/dist/{Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js → Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js} +1 -1
  177. package/dist/{Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js.map → Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js.map} +1 -1
  178. package/dist/LicenseChip.js +10 -16
  179. package/dist/LicenseChip.js.map +1 -1
  180. package/dist/LicenseChip.vue.d.ts +3 -3
  181. package/dist/ListItem.js +5 -8
  182. package/dist/ListItem.js.map +1 -1
  183. package/dist/ListItem.vue.d.ts +275 -225
  184. package/dist/ListItemCell.js +1 -1
  185. package/dist/ListItemCell.js.map +1 -1
  186. package/dist/ListItemCell.vue.d.ts +13 -2
  187. package/dist/ListView.js +57 -101
  188. package/dist/ListView.js.map +1 -1
  189. package/dist/ListView.vue.d.ts +5185 -5430
  190. package/dist/Loading.js +12 -10
  191. package/dist/Loading.js.map +1 -1
  192. package/dist/Loading.vue.d.ts +1 -1
  193. package/dist/Logo.js +2 -4
  194. package/dist/Logo.js.map +1 -1
  195. package/dist/Logo.vue.d.ts +17 -17
  196. package/dist/{Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js → Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js} +1 -1
  197. package/dist/{Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js.map → Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js.map} +1 -1
  198. package/dist/Menu.js +1 -1
  199. package/dist/Menu.vue.d.ts +1 -1
  200. package/dist/MenuItem.js +1 -1
  201. package/dist/MenuItem.vue.d.ts +1 -1
  202. package/dist/{MenusPlugin-9288029a.js → MenusPlugin-Bk6UW6o9.js} +1 -1
  203. package/dist/{MenusPlugin-9288029a.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
  204. package/dist/Metric.vue.d.ts +10 -10
  205. package/dist/Modal.js +27 -32
  206. package/dist/Modal.js.map +1 -1
  207. package/dist/Modal.vue.d.ts +42 -42
  208. package/dist/Modals.js +14 -16
  209. package/dist/Modals.js.map +1 -1
  210. package/dist/Modals.vue.d.ts +1 -1
  211. package/dist/ModalsPlugin.js +9 -12
  212. package/dist/ModalsPlugin.js.map +1 -1
  213. package/dist/Module.js +3 -3
  214. package/dist/{Module.keys-2cc7d830.js → Module.keys-CEsrW2f0.js} +1 -1
  215. package/dist/{Module.keys-2cc7d830.js.map → Module.keys-CEsrW2f0.js.map} +1 -1
  216. package/dist/{Module.types-3f78f2a0.js → Module.types-B1FfGGac.js} +1 -1
  217. package/dist/{Module.types-3f78f2a0.js.map → Module.types-B1FfGGac.js.map} +1 -1
  218. package/dist/Module.vue.d.ts +3 -3
  219. package/dist/ModuleContent.js +2 -2
  220. package/dist/ModuleContent.vue.d.ts +1 -1
  221. package/dist/ModuleFooter.js +2 -2
  222. package/dist/ModuleFooter.vue.d.ts +1 -1
  223. package/dist/ModuleHeader.js +3 -3
  224. package/dist/ModuleHeader.vue.d.ts +15 -15
  225. package/dist/ObfuscateText.js +8 -13
  226. package/dist/ObfuscateText.js.map +1 -1
  227. package/dist/ObfuscateText.vue.d.ts +18 -18
  228. package/dist/PageContent.js +1 -1
  229. package/dist/PageContent.vue.d.ts +1 -1
  230. package/dist/PageHeader.js +26 -23
  231. package/dist/PageHeader.js.map +1 -1
  232. package/dist/PageHeader.vue.d.ts +7 -4
  233. package/dist/PageNavigation.js +41 -64
  234. package/dist/PageNavigation.js.map +1 -1
  235. package/dist/PageNavigation.vue.d.ts +10 -10
  236. package/dist/Paginate.js +36 -34
  237. package/dist/Paginate.js.map +1 -1
  238. package/dist/Paginate.vue.d.ts +11 -11
  239. package/dist/PlaidLink.js +3 -5
  240. package/dist/PlaidLink.js.map +1 -1
  241. package/dist/PlaidLink.vue.d.ts +29 -29
  242. package/dist/QuickAction.js +12 -15
  243. package/dist/QuickAction.js.map +1 -1
  244. package/dist/QuickAction.vue.d.ts +1 -1
  245. package/dist/Radio.js +1 -1
  246. package/dist/Radio.js.map +1 -1
  247. package/dist/Radio.vue.d.ts +83 -12
  248. package/dist/RadioGroup.js +41 -45
  249. package/dist/RadioGroup.js.map +1 -1
  250. package/dist/{RadioGroup.keys-974818d6.js → RadioGroup.keys-CqfiKkNz.js} +1 -1
  251. package/dist/{RadioGroup.keys-974818d6.js.map → RadioGroup.keys-CqfiKkNz.js.map} +1 -1
  252. package/dist/RadioGroup.vue.d.ts +30 -30
  253. package/dist/RadioNew.js +2 -2
  254. package/dist/RadioNew.js.map +1 -1
  255. package/dist/RadioNew.vue.d.ts +26 -26
  256. package/dist/RangeInput.js +10 -14
  257. package/dist/RangeInput.js.map +1 -1
  258. package/dist/RangeInput.vue.d.ts +1 -1
  259. package/dist/SearchBar.js +31 -41
  260. package/dist/SearchBar.js.map +1 -1
  261. package/dist/SearchBar.vue.d.ts +22 -22
  262. package/dist/Select.js +66 -78
  263. package/dist/Select.js.map +1 -1
  264. package/dist/Select.vue.d.ts +123 -123
  265. package/dist/SelectStatus.js +47 -69
  266. package/dist/SelectStatus.js.map +1 -1
  267. package/dist/SelectStatus.vue.d.ts +33 -26
  268. package/dist/Skeleton.js +1 -1
  269. package/dist/Skeleton.js.map +1 -1
  270. package/dist/Skeleton.vue.d.ts +9 -9
  271. package/dist/Step.js +10 -14
  272. package/dist/Step.js.map +1 -1
  273. package/dist/Step.vue.d.ts +21 -21
  274. package/dist/Stepper.js +37 -40
  275. package/dist/Stepper.js.map +1 -1
  276. package/dist/Stepper.vue.d.ts +34 -29
  277. package/dist/Switch.js +1 -1
  278. package/dist/Switch.vue.d.ts +23 -23
  279. package/dist/Tab.js +21 -36
  280. package/dist/Tab.js.map +1 -1
  281. package/dist/Table.js +38 -55
  282. package/dist/Table.js.map +1 -1
  283. package/dist/Table.keys-LHQf6FEH.js +7 -0
  284. package/dist/{Table.keys-83e4f09b.js.map → Table.keys-LHQf6FEH.js.map} +1 -1
  285. package/dist/Table.vue.d.ts +36 -36
  286. package/dist/TableCell.js +26 -26
  287. package/dist/TableCell.js.map +1 -1
  288. package/dist/TableCell.vue.d.ts +6 -6
  289. package/dist/TableHeaderCell.js +6 -13
  290. package/dist/TableHeaderCell.js.map +1 -1
  291. package/dist/TableHeaderCell.vue.d.ts +3 -3
  292. package/dist/TableHeaderRow.js +22 -32
  293. package/dist/TableHeaderRow.js.map +1 -1
  294. package/dist/TableHeaderRow.vue.d.ts +8 -8
  295. package/dist/TableRow.js +59 -59
  296. package/dist/TableRow.js.map +1 -1
  297. package/dist/TableRow.vue.d.ts +26 -26
  298. package/dist/Tabs.js +10 -24
  299. package/dist/Tabs.js.map +1 -1
  300. package/dist/Tabs.vue.d.ts +5 -5
  301. package/dist/{Tabs.vue_used_vue_type_style_index_0_lang.module-d7530989.js → Tabs.vue_vue_type_script_setup_true_lang-l41hWkV4.js} +31 -34
  302. package/dist/Tabs.vue_vue_type_script_setup_true_lang-l41hWkV4.js.map +1 -0
  303. package/dist/TextEditor.js +1269 -1364
  304. package/dist/TextEditor.js.map +1 -1
  305. package/dist/TextEditor.vue.d.ts +46 -46
  306. package/dist/Textarea.js +30 -31
  307. package/dist/Textarea.js.map +1 -1
  308. package/dist/Textarea.vue.d.ts +34 -26
  309. package/dist/Timeline.js +9 -10
  310. package/dist/Timeline.js.map +1 -1
  311. package/dist/Timeline.vue.d.ts +6 -6
  312. package/dist/TimelineItem.js +1 -1
  313. package/dist/TimelineItem.vue.d.ts +1 -1
  314. package/dist/Toast.js +5 -9
  315. package/dist/Toast.js.map +1 -1
  316. package/dist/Toast.vue.d.ts +3 -3
  317. package/dist/Toasts.js +15 -25
  318. package/dist/Toasts.js.map +1 -1
  319. package/dist/Toasts.vue.d.ts +1 -1
  320. package/dist/ToastsPlugin.js +11 -23
  321. package/dist/ToastsPlugin.js.map +1 -1
  322. package/dist/Tooltip.js +1 -1
  323. package/dist/Tooltip.js.map +1 -1
  324. package/dist/Tooltip.vue.d.ts +15 -15
  325. package/dist/{_commonjsHelpers-10dfc225.js → _commonjsHelpers-DaMA6jEr.js} +1 -1
  326. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  327. package/dist/{_plugin-vue_export-helper-dad06003.js → _plugin-vue_export-helper-CHgC5LLL.js} +1 -1
  328. package/dist/_plugin-vue_export-helper-CHgC5LLL.js.map +1 -0
  329. package/dist/{colors-8d9b9429.js → colors-DDDVvqfQ.js} +1 -1
  330. package/dist/{colors-8d9b9429.js.map → colors-DDDVvqfQ.js.map} +1 -1
  331. package/dist/components.css +2 -2
  332. package/dist/directives/observe.js.map +1 -1
  333. package/dist/directives/sticky.js.map +1 -1
  334. package/dist/directives/tooltip.js +21 -27
  335. package/dist/directives/tooltip.js.map +1 -1
  336. package/dist/directives/viewable.js +1 -1
  337. package/dist/directives/viewable.js.map +1 -1
  338. package/dist/{floating-ui.vue-8d7f7932.js → floating-ui.vue-BmfQDqE-.js} +2 -3
  339. package/dist/{floating-ui.vue-8d7f7932.js.map → floating-ui.vue-BmfQDqE-.js.map} +1 -1
  340. package/dist/{formatDateTime-a5e70901.js → formatDateTime-C8CYECpd.js} +8 -12
  341. package/dist/{formatDateTime-a5e70901.js.map → formatDateTime-C8CYECpd.js.map} +1 -1
  342. package/dist/{index-9e1095ef.js → index-D6bxWkZ1.js} +2 -3
  343. package/dist/{index-9e1095ef.js.map → index-D6bxWkZ1.js.map} +1 -1
  344. package/dist/index.d.ts +1 -1
  345. package/dist/index.js +90 -112
  346. package/dist/index.js.map +1 -1
  347. package/dist/{isDefined-2ce6cde4.js → isDefined-DzVx0B6k.js} +1 -1
  348. package/dist/{isDefined-2ce6cde4.js.map → isDefined-DzVx0B6k.js.map} +1 -1
  349. package/dist/{isValid-4b2b7a54.js → isValid-DN-HkCoi.js} +1 -1
  350. package/dist/{isValid-4b2b7a54.js.map → isValid-DN-HkCoi.js.map} +1 -1
  351. package/dist/{keys-241d03b7.js → keys-BEdEsanp.js} +1 -1
  352. package/dist/{keys-241d03b7.js.map → keys-BEdEsanp.js.map} +1 -1
  353. package/dist/{keys-7ecef029.js → keys-C8Zfr_By.js} +1 -1
  354. package/dist/{keys-7ecef029.js.map → keys-C8Zfr_By.js.map} +1 -1
  355. package/dist/{misc-76697f61.js → misc-CHQs-G03.js} +1 -1
  356. package/dist/{misc-76697f61.js.map → misc-CHQs-G03.js.map} +1 -1
  357. package/dist/{parseISO-ed4094c1.js → parseISO-wlfIB_QJ.js} +12 -18
  358. package/dist/{parseISO-ed4094c1.js.map → parseISO-wlfIB_QJ.js.map} +1 -1
  359. package/dist/{searchFuzzy-9b74ec4e.js → searchFuzzy-DKooyZM8.js} +110 -149
  360. package/dist/{searchFuzzy-9b74ec4e.js.map → searchFuzzy-DKooyZM8.js.map} +1 -1
  361. package/dist/{statusLevels-a8b041f4.js → statusLevels-D8EgtE_L.js} +1 -1
  362. package/dist/{statusLevels-a8b041f4.js.map → statusLevels-D8EgtE_L.js.map} +1 -1
  363. package/dist/storage.js +8 -15
  364. package/dist/storage.js.map +1 -1
  365. package/dist/tailwind-base.js.map +1 -1
  366. package/dist/{toTimeZone-a2ed6470.js → toTimeZone-CVE1ZmsS.js} +1 -1
  367. package/dist/{toTimeZone-a2ed6470.js.map → toTimeZone-CVE1ZmsS.js.map} +1 -1
  368. package/dist/useDialog.js +7 -7
  369. package/dist/useGoogleMaps.js +18 -28
  370. package/dist/useGoogleMaps.js.map +1 -1
  371. package/dist/useModals.js +1 -2
  372. package/dist/useModals.js.map +1 -1
  373. package/dist/useScriptTag.js.map +1 -1
  374. package/dist/useSearch.js +14 -19
  375. package/dist/useSearch.js.map +1 -1
  376. package/dist/useStepper.js.map +1 -1
  377. package/dist/useValidation.js +1 -1
  378. package/dist/useValidation.js.map +1 -1
  379. package/dist/utils/calculateElementOverflow.js +9 -13
  380. package/dist/utils/calculateElementOverflow.js.map +1 -1
  381. package/dist/utils/colorScheme.js.map +1 -1
  382. package/dist/utils/createQueryString.js +4 -5
  383. package/dist/utils/createQueryString.js.map +1 -1
  384. package/dist/utils/createValidDate.js +2 -2
  385. package/dist/utils/formatDateTime.js +4 -5
  386. package/dist/utils/formatDateTime.js.map +1 -1
  387. package/dist/utils/getContrastingTextColor.js +1 -1
  388. package/dist/utils/getContrastingTextColor.js.map +1 -1
  389. package/dist/utils/helpers.js.map +1 -1
  390. package/dist/utils/i18n.js +25 -26
  391. package/dist/utils/i18n.js.map +1 -1
  392. package/dist/utils/normalizeDate.js +1 -1
  393. package/dist/utils/searchFuzzy.js +3 -10
  394. package/dist/utils/searchFuzzy.js.map +1 -1
  395. package/dist/utils/storage.js +6 -11
  396. package/dist/utils/storage.js.map +1 -1
  397. package/dist/utils/toTimeZone.js +2 -3
  398. package/dist/utils/toTimeZone.js.map +1 -1
  399. package/package.json +13 -14
  400. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js +0 -17
  401. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js.map +0 -1
  402. package/dist/Carousel.types.d.ts +0 -33
  403. package/dist/Carousel.types.js +0 -2
  404. package/dist/Carousel.types.js.map +0 -1
  405. package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js +0 -9
  406. package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js.map +0 -1
  407. package/dist/DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js.map +0 -1
  408. package/dist/EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js +0 -8
  409. package/dist/EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js.map +0 -1
  410. package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js +0 -11
  411. package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js.map +0 -1
  412. package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js +0 -8
  413. package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js.map +0 -1
  414. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js +0 -11
  415. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js.map +0 -1
  416. package/dist/Table.keys-83e4f09b.js +0 -27
  417. package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-d7530989.js.map +0 -1
  418. package/dist/_commonjsHelpers-10dfc225.js.map +0 -1
  419. package/dist/_plugin-vue_export-helper-dad06003.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AppTopbar.js","sources":["../src/components/AppTopbar/AppTopbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import useMediaQuery from '../../composables/useMediaQuery/useMediaQuery';\n import Icon from '../Icon/Icon.vue';\n import Logo from '../Logo/Logo.vue';\n\n export interface AppTopbarProps {\n /**\n * Indicates if the AppSidebar is opened or not for styling purposes\n */\n sidebarOpened?: boolean;\n /**\n * Url for the logo anchor wrapper\n */\n href?: string;\n }\n\n const props = withDefaults(defineProps<AppTopbarProps>(), {\n sidebarOpened: false,\n href: '/',\n });\n\n const emit = defineEmits(['toggle-sidebar']);\n const isExtraLargeScreen = useMediaQuery('screen and (min-width: 1321px)');\n</script>\n\n<template>\n <header data-test=\"stash-app-topbar\" class=\"stash-app-topbar tw-absolute tw-left-0 tw-top-0\">\n <div\n class=\"tw-fixed tw-top-0 tw-flex tw-h-topbar tw-w-sidebar tw-items-center tw-pl-3 xl:tw-text-white\"\n :class=\"{\n 'tw-z-dialog tw-text-white': props.sidebarOpened,\n 'tw-z-[401] tw-text-ice-700': !props.sidebarOpened,\n }\"\n >\n <button class=\"xl:tw-hidden\" @click=\"emit('toggle-sidebar')\">\n <Icon name=\"menu\" class=\"tw-mr-3\" aria-label=\"open sidebar navigation\" />\n </button>\n\n <a :href=\"props.href\" class=\"tw-flex tw-items-center tw-text-inherit\">\n <Logo\n :color=\"props.sidebarOpened ? 'white' : 'purple'\"\n variant=\"brandmark\"\n class=\"tw-transition-colors tw-duration-500 md:tw-hidden\"\n />\n <Logo :color=\"props.sidebarOpened || isExtraLargeScreen ? 'white' : 'purple'\" class=\"tw-hidden md:tw-block\" />\n </a>\n </div>\n\n <div\n :class=\"[$attrs.class]\"\n class=\"tw-fixed tw-top-0 tw-z-page tw-flex tw-h-topbar tw-w-full tw-flex-row-reverse tw-items-center tw-justify-between tw-bg-white tw-py-3 tw-pl-sidebar tw-pr-3 tw-shadow-md\"\n >\n <div class=\"tw-flex tw-items-center\">\n <!-- @slot Actions slot, for showing any actions to the left of the avatar -->\n <slot name=\"actions\"></slot>\n <div class=\"tw-ml-6\">\n <!-- @slot Avatar slot, for showing the avatar on the far right of the header -->\n <slot name=\"avatar\"></slot>\n </div>\n </div>\n <div class=\"tw-hidden tw-pl-3 xl:tw-block\">\n <!-- @slot Text slot, for showing informative texts on the left of large viewports -->\n <slot name=\"text\"></slot>\n </div>\n </div>\n </header>\n</template>\n"],"names":["props","__props","emit","__emit","isExtraLargeScreen","useMediaQuery"],"mappings":";;;;;;;;;;;;;;;;;;;;AAgBE,UAAMA,IAAQC,GAKRC,IAAOC,GACPC,IAAqBC,EAAc,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"AppTopbar.js","sources":["../src/components/AppTopbar/AppTopbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import useMediaQuery from '../../composables/useMediaQuery/useMediaQuery';\n import Icon from '../Icon/Icon.vue';\n import Logo from '../Logo/Logo.vue';\n\n export interface AppTopbarProps {\n /**\n * Indicates if the AppSidebar is opened or not for styling purposes\n */\n sidebarOpened?: boolean;\n /**\n * Url for the logo anchor wrapper\n */\n href?: string;\n }\n\n const props = withDefaults(defineProps<AppTopbarProps>(), {\n sidebarOpened: false,\n href: '/',\n });\n\n const emit = defineEmits(['toggle-sidebar']);\n const isExtraLargeScreen = useMediaQuery('screen and (min-width: 1321px)');\n</script>\n\n<template>\n <header data-test=\"stash-app-topbar\" class=\"stash-app-topbar tw-absolute tw-left-0 tw-top-0\">\n <div\n class=\"tw-fixed tw-top-0 tw-flex tw-h-topbar tw-w-sidebar tw-items-center tw-pl-3 xl:tw-text-white\"\n :class=\"{\n 'tw-z-dialog tw-text-white': props.sidebarOpened,\n 'tw-z-[401] tw-text-ice-700': !props.sidebarOpened,\n }\"\n >\n <button class=\"xl:tw-hidden\" @click=\"emit('toggle-sidebar')\">\n <Icon name=\"menu\" class=\"tw-mr-3\" aria-label=\"open sidebar navigation\" />\n </button>\n\n <a :href=\"props.href\" class=\"tw-flex tw-items-center tw-text-inherit\">\n <Logo\n :color=\"props.sidebarOpened ? 'white' : 'purple'\"\n variant=\"brandmark\"\n class=\"tw-transition-colors tw-duration-500 md:tw-hidden\"\n />\n <Logo :color=\"props.sidebarOpened || isExtraLargeScreen ? 'white' : 'purple'\" class=\"tw-hidden md:tw-block\" />\n </a>\n </div>\n\n <div\n :class=\"[$attrs.class]\"\n class=\"tw-fixed tw-top-0 tw-z-page tw-flex tw-h-topbar tw-w-full tw-flex-row-reverse tw-items-center tw-justify-between tw-bg-white tw-py-3 tw-pl-sidebar tw-pr-3 tw-shadow-md\"\n >\n <div class=\"tw-flex tw-items-center\">\n <!-- @slot Actions slot, for showing any actions to the left of the avatar -->\n <slot name=\"actions\"></slot>\n <div class=\"tw-ml-6\">\n <!-- @slot Avatar slot, for showing the avatar on the far right of the header -->\n <slot name=\"avatar\"></slot>\n </div>\n </div>\n <div class=\"tw-hidden tw-pl-3 xl:tw-block\">\n <!-- @slot Text slot, for showing informative texts on the left of large viewports -->\n <slot name=\"text\"></slot>\n </div>\n </div>\n </header>\n</template>\n"],"names":["props","__props","emit","__emit","isExtraLargeScreen","useMediaQuery"],"mappings":";;;;;;;;;;;;;;;AAgBE,UAAMA,IAAQC,GAKRC,IAAOC,GACPC,IAAqBC,EAAc,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -44,18 +44,18 @@ export declare interface AppTopbarProps {
44
44
  }
45
45
 
46
46
  declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<AppTopbarProps>, {
47
- sidebarOpened: boolean;
48
- href: string;
47
+ sidebarOpened: boolean;
48
+ href: string;
49
49
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
50
- "toggle-sidebar": (...args: any[]) => void;
50
+ "toggle-sidebar": (...args: any[]) => void;
51
51
  }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<AppTopbarProps>, {
52
- sidebarOpened: boolean;
53
- href: string;
52
+ sidebarOpened: boolean;
53
+ href: string;
54
54
  }>>> & Readonly<{
55
- "onToggle-sidebar"?: ((...args: any[]) => any) | undefined;
55
+ "onToggle-sidebar"?: ((...args: any[]) => any) | undefined;
56
56
  }>, {
57
- href: string;
58
- sidebarOpened: boolean;
57
+ href: string;
58
+ sidebarOpened: boolean;
59
59
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
60
60
  actions?(_: {}): any;
61
61
  avatar?(_: {}): any;
package/dist/Avatar.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as p, useAttrs as v, useCssModule as _, computed as c, openBlock as i, createElementBlock as d, mergeProps as u, unref as a, toDisplayString as h } from "vue";
2
2
  import b from "./utils/colorScheme.js";
3
- import { _ as k } from "./_plugin-vue_export-helper-dad06003.js";
3
+ import { _ as k } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const g = ["alt", "src", "tabindex"], x = ["tabindex"], C = /* @__PURE__ */ p({
5
5
  name: "ll-avatar",
6
6
  __name: "Avatar",
@@ -61,29 +61,29 @@ export declare interface AvatarProps {
61
61
  }
62
62
 
63
63
  declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<AvatarProps>, {
64
- src: undefined;
65
- name: string;
66
- alt: undefined;
67
- colorScheme: string;
68
- shade: string;
69
- bgColor: undefined;
70
- textColor: undefined;
64
+ src: undefined;
65
+ name: string;
66
+ alt: undefined;
67
+ colorScheme: string;
68
+ shade: string;
69
+ bgColor: undefined;
70
+ textColor: undefined;
71
71
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<AvatarProps>, {
72
- src: undefined;
73
- name: string;
74
- alt: undefined;
75
- colorScheme: string;
76
- shade: string;
77
- bgColor: undefined;
78
- textColor: undefined;
72
+ src: undefined;
73
+ name: string;
74
+ alt: undefined;
75
+ colorScheme: string;
76
+ shade: string;
77
+ bgColor: undefined;
78
+ textColor: undefined;
79
79
  }>>> & Readonly<{}>, {
80
- name: string;
81
- src: string;
82
- shade: "main" | "light";
83
- colorScheme: StashPrimaryColorGroup;
84
- bgColor: "ice-700" | "purple-700" | "purple-500" | "purple-100" | "royal-700" | "royal-500" | "royal-100" | "blue-700" | "blue-500" | "blue-100" | "teal-700" | "teal-500" | "teal-100" | "green-700" | "green-500" | "green-100" | "seafoam-700" | "seafoam-500" | "seafoam-100" | "yellow-700" | "yellow-500" | "yellow-100" | "orange-700" | "orange-500" | "orange-100" | "red-700" | "red-500" | "red-100" | "ice-500" | "ice-200" | "ice-100" | "white" | "black";
85
- textColor: "ice-700" | "purple-700" | "purple-500" | "purple-100" | "royal-700" | "royal-500" | "royal-100" | "blue-700" | "blue-500" | "blue-100" | "teal-700" | "teal-500" | "teal-100" | "green-700" | "green-500" | "green-100" | "seafoam-700" | "seafoam-500" | "seafoam-100" | "yellow-700" | "yellow-500" | "yellow-100" | "orange-700" | "orange-500" | "orange-100" | "red-700" | "red-500" | "red-100" | "ice-500" | "ice-200" | "ice-100" | "white" | "black";
86
- alt: string;
80
+ name: string;
81
+ src: string;
82
+ shade: "main" | "light";
83
+ colorScheme: StashPrimaryColorGroup;
84
+ bgColor: "ice-700" | "purple-700" | "purple-500" | "purple-100" | "royal-700" | "royal-500" | "royal-100" | "blue-700" | "blue-500" | "blue-100" | "teal-700" | "teal-500" | "teal-100" | "green-700" | "green-500" | "green-100" | "seafoam-700" | "seafoam-500" | "seafoam-100" | "yellow-700" | "yellow-500" | "yellow-100" | "orange-700" | "orange-500" | "orange-100" | "red-700" | "red-500" | "red-100" | "ice-500" | "ice-200" | "ice-100" | "white" | "black";
85
+ textColor: "ice-700" | "purple-700" | "purple-500" | "purple-100" | "royal-700" | "royal-500" | "royal-100" | "blue-700" | "blue-500" | "blue-100" | "teal-700" | "teal-500" | "teal-100" | "green-700" | "green-500" | "green-100" | "seafoam-700" | "seafoam-500" | "seafoam-100" | "yellow-700" | "yellow-500" | "yellow-100" | "orange-700" | "orange-500" | "orange-100" | "red-700" | "red-500" | "red-100" | "ice-500" | "ice-200" | "ice-100" | "white" | "black";
86
+ alt: string;
87
87
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
88
88
  export default _default;
89
89
 
@@ -122,7 +122,7 @@ declare enum StashCommonColors {
122
122
  Red100 = "red-100",
123
123
  Ice700 = "ice-700",
124
124
  Ice500 = "ice-500",
125
- Ice200 = "ice-200",
125
+ Ice200 = "ice-200",// This is the one outlier, but it's used purposefully in a few places
126
126
  Ice100 = "ice-100",
127
127
  White = "white",
128
128
  Black = "black"
package/dist/Backdrop.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { openBlock as e, createElementBlock as r, renderSlot as o } from "vue";
2
- import { _ as s } from "./_plugin-vue_export-helper-dad06003.js";
2
+ import { _ as s } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
3
  const a = {}, c = {
4
4
  "aria-hidden": "true",
5
5
  class: "stash-backdrop tw-fixed tw-inset-0 tw-z-behind tw-bg-black/50",
@@ -9,7 +9,7 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
9
9
  };
10
10
  };
11
11
 
12
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
12
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
13
13
  default?(_: {}): any;
14
14
  }>;
15
15
  export default _default;
package/dist/Badge.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as u, useCssModule as g, computed as l, ref as w, watch as b, openBlock as h, createElementBlock as m, renderSlot as v, withDirectives as _, createElementVNode as r, normalizeClass as c, unref as i, normalizeStyle as x, toDisplayString as y, vShow as k } from "vue";
2
- import { _ as B } from "./_plugin-vue_export-helper-dad06003.js";
2
+ import { _ as B } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
3
  const D = {
4
4
  class: "stash-badge tw-relative tw-inline-block",
5
5
  "data-test": "stash-badge"
package/dist/Badge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../src/components/Badge/Badge.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, ref, useCssModule, watch } from 'vue';\n\n defineOptions({\n name: 'll-badge',\n });\n\n const classes = useCssModule();\n\n export interface BadgeProps {\n /**\n * If true, the badge will animate when the content changes\n */\n animate?: boolean;\n\n /**\n * Color of the badge\n * Options: 'red' or 'blue'\n */\n color?: 'red' | 'blue';\n\n /**\n * The badge's content\n */\n content?: number | string;\n\n /**\n * Shows a gray badge with content\n */\n isDisabled?: boolean;\n\n /**\n * The max value of the `content` prop. If the value is greater than this, the badge will show the max value and a `+` sign.\n */\n max?: number | string;\n\n /**\n * Offset to adjust the badge's position. It does not apply to inline position badges.\n */\n offset?: {\n top?: number;\n right?: number;\n };\n\n /**\n * Badge position. Options:\n *\n * - inline: shows the badge directly next to the content (on the right), with a left margin of 6px\n * - top-right: will overlap the badge over whatever is passed in the default slot\n */\n position?: 'top-right' | 'inline';\n\n /**\n * The badge will be hidden if the content is `0` unless this prop is set to true.\n */\n showZero?: boolean;\n\n /**\n * Badge variant\n */\n variant?: 'dot' | 'standard';\n }\n\n const props = withDefaults(defineProps<BadgeProps>(), {\n animate: false,\n color: 'red',\n content: undefined,\n isDisabled: false,\n max: 99,\n position: 'top-right',\n offset: () => ({\n top: undefined,\n right: undefined,\n }),\n showZero: false,\n variant: 'standard',\n });\n\n const computedContent = computed(() => {\n const numericContent = parseInt(props.content as string, 10);\n const numericMax = parseInt(props.max as string, 10);\n // We want to compare the values, not the types, so it's okay to use `!=` here. i.e. if '23' = 23, then we know\n // the props are numbers, and we can compare the values. If you pass '23foobar' parseInt will return still return 23\n // but this check will fail like we want it to.\n // eslint-disable-next-line eqeqeq\n if (numericContent != props.content || numericMax != props.max) {\n return props.content;\n }\n\n return numericContent > numericMax ? `${numericMax}+` : numericContent;\n });\n\n const formatOffsetStyleValue = (value: number) => (value === 0 ? '0' : `${value}px`);\n\n const computedOffsetStyle = computed(() => ({\n top: props.offset.top !== undefined ? formatOffsetStyleValue(props.offset.top) : undefined,\n right: props.offset.right !== undefined ? formatOffsetStyleValue(props.offset.right) : undefined,\n }));\n\n const playAnimation = ref(false);\n\n watch(\n () => props.content,\n (value, oldValue) => {\n if (!props.animate) {\n return;\n }\n\n if (oldValue !== value) {\n playAnimation.value = true;\n\n setTimeout(() => {\n playAnimation.value = false;\n }, 1000);\n }\n },\n );\n</script>\n\n<template>\n <span class=\"stash-badge tw-relative tw-inline-block\" data-test=\"stash-badge\">\n <slot />\n <span\n v-show=\"props.variant === 'dot' || computedContent || (computedContent === 0 && props.showZero)\"\n data-test=\"stash-badge|content-wrapper\"\n :class=\"[\n {\n [classes['top-right']]: props.position === 'top-right' && props.variant !== 'dot',\n 'tw-absolute': props.variant === 'dot' || props.position === 'top-right',\n 'tw-ml-1.5': props.position === 'inline',\n },\n ]\"\n :style=\"props.variant === 'dot' || props.position === 'top-right' ? computedOffsetStyle : ''\"\n >\n <span\n data-test=\"stash-badge|content\"\n class=\"tw-inline-block tw-whitespace-nowrap tw-rounded-full tw-text-center tw-text-[10px] tw-font-semibold tw-leading-4 tw-text-white\"\n :class=\"[\n {\n 'tw-animate-grow': playAnimation,\n 'tw-bg-red-500': props.color === 'red' && !props.isDisabled,\n 'tw-bg-blue-500': props.color === 'blue' && !props.isDisabled,\n 'tw-absolute': props.variant === 'dot',\n 'tw-bg-ice-200 tw-text-white': props.isDisabled,\n [classes['badge-dot']]: props.variant === 'dot',\n [classes['badge-standard']]: props.variant === 'standard',\n 'tw-px-1.5': props.variant !== 'dot',\n },\n ]\"\n >\n {{ props.variant === 'dot' ? null : computedContent }}\n </span>\n </span>\n </span>\n</template>\n\n<style module>\n .badge-standard {\n height: 15px;\n vertical-align: middle;\n }\n\n .badge-dot {\n border: 2px solid var(--color-ice-100);\n height: 10px;\n right: 0;\n width: 10px;\n }\n\n .top-right {\n top: 0;\n right: 0;\n transform: translateX(50%) translateY(-48%);\n }\n</style>\n"],"names":["classes","useCssModule","props","__props","computedContent","computed","numericContent","numericMax","formatOffsetStyleValue","value","computedOffsetStyle","playAnimation","ref","watch","oldValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOE,UAAMA,IAAUC,KAwDVC,IAAQC,GAeRC,IAAkBC,EAAS,MAAM;AACrC,YAAMC,IAAiB,SAASJ,EAAM,SAAmB,EAAE,GACrDK,IAAa,SAASL,EAAM,KAAe,EAAE;AAKnD,aAAII,KAAkBJ,EAAM,WAAWK,KAAcL,EAAM,MAClDA,EAAM,UAGRI,IAAiBC,IAAa,GAAGA,OAAgBD;AAAA,IAAA,CACzD,GAEKE,IAAyB,CAACC,MAAmBA,MAAU,IAAI,MAAM,GAAGA,OAEpEC,IAAsBL,EAAS,OAAO;AAAA,MAC1C,KAAKH,EAAM,OAAO,QAAQ,SAAYM,EAAuBN,EAAM,OAAO,GAAG,IAAI;AAAA,MACjF,OAAOA,EAAM,OAAO,UAAU,SAAYM,EAAuBN,EAAM,OAAO,KAAK,IAAI;AAAA,IACvF,EAAA,GAEIS,IAAgBC,EAAI,EAAK;AAE/B,WAAAC;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,CAACO,GAAOK,MAAa;AACf,QAACZ,EAAM,WAIPY,MAAaL,MACfE,EAAc,QAAQ,IAEtB,WAAW,MAAM;AACf,UAAAA,EAAc,QAAQ;AAAA,WACrB,GAAI;AAAA,MAEX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Badge.js","sources":["../src/components/Badge/Badge.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, ref, useCssModule, watch } from 'vue';\n\n defineOptions({\n name: 'll-badge',\n });\n\n const classes = useCssModule();\n\n export interface BadgeProps {\n /**\n * If true, the badge will animate when the content changes\n */\n animate?: boolean;\n\n /**\n * Color of the badge\n * Options: 'red' or 'blue'\n */\n color?: 'red' | 'blue';\n\n /**\n * The badge's content\n */\n content?: number | string;\n\n /**\n * Shows a gray badge with content\n */\n isDisabled?: boolean;\n\n /**\n * The max value of the `content` prop. If the value is greater than this, the badge will show the max value and a `+` sign.\n */\n max?: number | string;\n\n /**\n * Offset to adjust the badge's position. It does not apply to inline position badges.\n */\n offset?: {\n top?: number;\n right?: number;\n };\n\n /**\n * Badge position. Options:\n *\n * - inline: shows the badge directly next to the content (on the right), with a left margin of 6px\n * - top-right: will overlap the badge over whatever is passed in the default slot\n */\n position?: 'top-right' | 'inline';\n\n /**\n * The badge will be hidden if the content is `0` unless this prop is set to true.\n */\n showZero?: boolean;\n\n /**\n * Badge variant\n */\n variant?: 'dot' | 'standard';\n }\n\n const props = withDefaults(defineProps<BadgeProps>(), {\n animate: false,\n color: 'red',\n content: undefined,\n isDisabled: false,\n max: 99,\n position: 'top-right',\n offset: () => ({\n top: undefined,\n right: undefined,\n }),\n showZero: false,\n variant: 'standard',\n });\n\n const computedContent = computed(() => {\n const numericContent = parseInt(props.content as string, 10);\n const numericMax = parseInt(props.max as string, 10);\n // We want to compare the values, not the types, so it's okay to use `!=` here. i.e. if '23' = 23, then we know\n // the props are numbers, and we can compare the values. If you pass '23foobar' parseInt will return still return 23\n // but this check will fail like we want it to.\n // eslint-disable-next-line eqeqeq\n if (numericContent != props.content || numericMax != props.max) {\n return props.content;\n }\n\n return numericContent > numericMax ? `${numericMax}+` : numericContent;\n });\n\n const formatOffsetStyleValue = (value: number) => (value === 0 ? '0' : `${value}px`);\n\n const computedOffsetStyle = computed(() => ({\n top: props.offset.top !== undefined ? formatOffsetStyleValue(props.offset.top) : undefined,\n right: props.offset.right !== undefined ? formatOffsetStyleValue(props.offset.right) : undefined,\n }));\n\n const playAnimation = ref(false);\n\n watch(\n () => props.content,\n (value, oldValue) => {\n if (!props.animate) {\n return;\n }\n\n if (oldValue !== value) {\n playAnimation.value = true;\n\n setTimeout(() => {\n playAnimation.value = false;\n }, 1000);\n }\n },\n );\n</script>\n\n<template>\n <span class=\"stash-badge tw-relative tw-inline-block\" data-test=\"stash-badge\">\n <slot />\n <span\n v-show=\"props.variant === 'dot' || computedContent || (computedContent === 0 && props.showZero)\"\n data-test=\"stash-badge|content-wrapper\"\n :class=\"[\n {\n [classes['top-right']]: props.position === 'top-right' && props.variant !== 'dot',\n 'tw-absolute': props.variant === 'dot' || props.position === 'top-right',\n 'tw-ml-1.5': props.position === 'inline',\n },\n ]\"\n :style=\"props.variant === 'dot' || props.position === 'top-right' ? computedOffsetStyle : ''\"\n >\n <span\n data-test=\"stash-badge|content\"\n class=\"tw-inline-block tw-whitespace-nowrap tw-rounded-full tw-text-center tw-text-[10px] tw-font-semibold tw-leading-4 tw-text-white\"\n :class=\"[\n {\n 'tw-animate-grow': playAnimation,\n 'tw-bg-red-500': props.color === 'red' && !props.isDisabled,\n 'tw-bg-blue-500': props.color === 'blue' && !props.isDisabled,\n 'tw-absolute': props.variant === 'dot',\n 'tw-bg-ice-200 tw-text-white': props.isDisabled,\n [classes['badge-dot']]: props.variant === 'dot',\n [classes['badge-standard']]: props.variant === 'standard',\n 'tw-px-1.5': props.variant !== 'dot',\n },\n ]\"\n >\n {{ props.variant === 'dot' ? null : computedContent }}\n </span>\n </span>\n </span>\n</template>\n\n<style module>\n .badge-standard {\n height: 15px;\n vertical-align: middle;\n }\n\n .badge-dot {\n border: 2px solid var(--color-ice-100);\n height: 10px;\n right: 0;\n width: 10px;\n }\n\n .top-right {\n top: 0;\n right: 0;\n transform: translateX(50%) translateY(-48%);\n }\n</style>\n"],"names":["classes","useCssModule","props","__props","computedContent","computed","numericContent","numericMax","formatOffsetStyleValue","value","computedOffsetStyle","playAnimation","ref","watch","oldValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAOE,UAAMA,IAAUC,KAwDVC,IAAQC,GAeRC,IAAkBC,EAAS,MAAM;AACrC,YAAMC,IAAiB,SAASJ,EAAM,SAAmB,EAAE,GACrDK,IAAa,SAASL,EAAM,KAAe,EAAE;AAKnD,aAAII,KAAkBJ,EAAM,WAAWK,KAAcL,EAAM,MAClDA,EAAM,UAGRI,IAAiBC,IAAa,GAAGA,CAAU,MAAMD;AAAA,IAAA,CACzD,GAEKE,IAAyB,CAACC,MAAmBA,MAAU,IAAI,MAAM,GAAGA,CAAK,MAEzEC,IAAsBL,EAAS,OAAO;AAAA,MAC1C,KAAKH,EAAM,OAAO,QAAQ,SAAYM,EAAuBN,EAAM,OAAO,GAAG,IAAI;AAAA,MACjF,OAAOA,EAAM,OAAO,UAAU,SAAYM,EAAuBN,EAAM,OAAO,KAAK,IAAI;AAAA,IACvF,EAAA,GAEIS,IAAgBC,EAAI,EAAK;AAE/B,WAAAC;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,CAACO,GAAOK,MAAa;AACf,QAACZ,EAAM,WAIPY,MAAaL,MACfE,EAAc,QAAQ,IAEtB,WAAW,MAAM;AACf,UAAAA,EAAc,QAAQ;AAAA,WACrB,GAAI;AAAA,MAEX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -79,44 +79,44 @@ export declare interface BadgeProps {
79
79
  }
80
80
 
81
81
  declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BadgeProps>, {
82
- animate: boolean;
83
- color: string;
84
- content: undefined;
85
- isDisabled: boolean;
86
- max: number;
87
- position: string;
88
- offset: () => {
89
- top: undefined;
90
- right: undefined;
91
- };
92
- showZero: boolean;
93
- variant: string;
82
+ animate: boolean;
83
+ color: string;
84
+ content: undefined;
85
+ isDisabled: boolean;
86
+ max: number;
87
+ position: string;
88
+ offset: () => {
89
+ top: undefined;
90
+ right: undefined;
91
+ };
92
+ showZero: boolean;
93
+ variant: string;
94
94
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BadgeProps>, {
95
- animate: boolean;
96
- color: string;
97
- content: undefined;
98
- isDisabled: boolean;
99
- max: number;
100
- position: string;
101
- offset: () => {
102
- top: undefined;
103
- right: undefined;
104
- };
105
- showZero: boolean;
106
- variant: string;
95
+ animate: boolean;
96
+ color: string;
97
+ content: undefined;
98
+ isDisabled: boolean;
99
+ max: number;
100
+ position: string;
101
+ offset: () => {
102
+ top: undefined;
103
+ right: undefined;
104
+ };
105
+ showZero: boolean;
106
+ variant: string;
107
107
  }>>> & Readonly<{}>, {
108
- max: string | number;
109
- animate: boolean;
110
- color: "blue" | "red";
111
- offset: {
112
- top?: number | undefined;
113
- right?: number | undefined;
114
- };
115
- content: string | number;
116
- isDisabled: boolean;
117
- position: "inline" | "top-right";
118
- variant: "standard" | "dot";
119
- showZero: boolean;
108
+ max: string | number;
109
+ animate: boolean;
110
+ color: "blue" | "red";
111
+ offset: {
112
+ top?: number | undefined;
113
+ right?: number | undefined;
114
+ };
115
+ content: string | number;
116
+ isDisabled: boolean;
117
+ position: "inline" | "top-right";
118
+ variant: "standard" | "dot";
119
+ showZero: boolean;
120
120
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
121
121
  default?(_: {}): any;
122
122
  }>;
package/dist/Box.js CHANGED
@@ -1,6 +1,5 @@
1
- import { _ as m } from "./Box.vue_vue_type_script_setup_true_lang-69e5176b.js";
2
- import "vue";
1
+ import { _ as f } from "./Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js";
3
2
  export {
4
- m as default
3
+ f as default
5
4
  };
6
5
  //# sourceMappingURL=Box.js.map
package/dist/Box.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Box.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"Box.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/Box.vue.d.ts CHANGED
@@ -52,20 +52,20 @@ export declare interface BoxProps {
52
52
  }
53
53
 
54
54
  declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BoxProps>, {
55
- disablePadding: boolean;
56
- disableGutters: boolean;
57
- disableElevation: boolean;
58
- radius: string;
55
+ disablePadding: boolean;
56
+ disableGutters: boolean;
57
+ disableElevation: boolean;
58
+ radius: string;
59
59
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BoxProps>, {
60
- disablePadding: boolean;
61
- disableGutters: boolean;
62
- disableElevation: boolean;
63
- radius: string;
60
+ disablePadding: boolean;
61
+ disableGutters: boolean;
62
+ disableElevation: boolean;
63
+ radius: string;
64
64
  }>>> & Readonly<{}>, {
65
- radius: "none" | "rounded";
66
- disablePadding: boolean;
67
- disableGutters: boolean;
68
- disableElevation: boolean;
65
+ radius: "none" | "rounded";
66
+ disablePadding: boolean;
67
+ disableGutters: boolean;
68
+ disableElevation: boolean;
69
69
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
70
70
  default?(_: {}): any;
71
71
  }>;
@@ -26,4 +26,4 @@ const u = /* @__PURE__ */ s({
26
26
  export {
27
27
  u as _
28
28
  };
29
- //# sourceMappingURL=Box.vue_vue_type_script_setup_true_lang-69e5176b.js.map
29
+ //# sourceMappingURL=Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Box.vue_vue_type_script_setup_true_lang-69e5176b.js","sources":["../src/components/Box/Box.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n defineOptions({\n name: 'll-box',\n });\n\n export interface BoxProps {\n /**\n * Remove the padding around the entire Box.\n */\n disablePadding?: boolean;\n\n /**\n * Remove the padding on the left and right of the Box.\n */\n disableGutters?: boolean;\n\n /**\n * Remove the padding on the left and right of the Box.\n */\n disableElevation?: boolean;\n\n /**\n * Border radius style. Defaults to `rounded`.\n */\n radius?: 'none' | 'rounded';\n }\n\n const props = withDefaults(defineProps<BoxProps>(), {\n disablePadding: false,\n disableGutters: false,\n disableElevation: false,\n radius: 'rounded',\n });\n</script>\n\n<template>\n <section\n class=\"stash-box tw-bg-white\"\n :class=\"{\n 'tw-rounded': props.radius === 'rounded',\n 'tw-p-gutter': !props.disablePadding && !props.disableGutters,\n 'tw-py-gutter': props.disableGutters,\n 'tw-shadow': !props.disableElevation,\n }\"\n data-test=\"stash-box\"\n >\n <!-- @slot default -->\n <slot></slot>\n </section>\n</template>\n"],"names":["props","__props"],"mappings":";;;;;;;;;;;AA2BE,UAAMA,IAAQC;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js","sources":["../src/components/Box/Box.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n defineOptions({\n name: 'll-box',\n });\n\n export interface BoxProps {\n /**\n * Remove the padding around the entire Box.\n */\n disablePadding?: boolean;\n\n /**\n * Remove the padding on the left and right of the Box.\n */\n disableGutters?: boolean;\n\n /**\n * Remove the padding on the left and right of the Box.\n */\n disableElevation?: boolean;\n\n /**\n * Border radius style. Defaults to `rounded`.\n */\n radius?: 'none' | 'rounded';\n }\n\n const props = withDefaults(defineProps<BoxProps>(), {\n disablePadding: false,\n disableGutters: false,\n disableElevation: false,\n radius: 'rounded',\n });\n</script>\n\n<template>\n <section\n class=\"stash-box tw-bg-white\"\n :class=\"{\n 'tw-rounded': props.radius === 'rounded',\n 'tw-p-gutter': !props.disablePadding && !props.disableGutters,\n 'tw-py-gutter': props.disableGutters,\n 'tw-shadow': !props.disableElevation,\n }\"\n data-test=\"stash-box\"\n >\n <!-- @slot default -->\n <slot></slot>\n </section>\n</template>\n"],"names":["props","__props"],"mappings":";;;;;;;;;;;AA2BE,UAAMA,IAAQC;;;;;;;;;;;;;;"}
package/dist/Button.js CHANGED
@@ -1,12 +1,7 @@
1
- import { defineComponent as p, useCssModule as m, useAttrs as b, computed as n, openBlock as l, createBlock as i, resolveDynamicComponent as y, mergeProps as h, unref as r, withCtx as _, renderSlot as v } from "vue";
2
- import g from "./Icon.js";
3
- import { s as L } from "./Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js";
4
- import { _ as $ } from "./_plugin-vue_export-helper-dad06003.js";
5
- import "lodash-es/uniqueId";
6
- import "./index-9e1095ef.js";
7
- import "./Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js";
8
- var u = /* @__PURE__ */ ((e) => (e.Icon = "icon", e.IconLabel = "iconLabel", e.Secondary = "secondary", e.Tertiary = "tertiary", e.Inline = "inline", e.Primary = "primary", e))(u || {});
9
- const k = /* @__PURE__ */ p({
1
+ import { defineComponent as c, useCssModule as d, computed as a, openBlock as s, createBlock as u, resolveDynamicComponent as f, mergeProps as h, unref as l, withCtx as p, renderSlot as y } from "vue";
2
+ import m from "./Icon.js";
3
+ import { _ as w } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
+ const q = /* @__PURE__ */ c({
10
5
  name: "ll-button",
11
6
  __name: "Button",
12
7
  props: {
@@ -18,48 +13,66 @@ const k = /* @__PURE__ */ p({
18
13
  color: { default: void 0 },
19
14
  to: { default: void 0 },
20
15
  href: { default: "" },
21
- isLoading: { type: Boolean, default: !1 }
16
+ isLoading: { type: Boolean, default: !1 },
17
+ disabled: { type: Boolean, default: !1 }
22
18
  },
23
- setup(e) {
24
- const t = e, a = m(), c = b(), s = n(() => {
25
- for (const o of Object.values(u))
19
+ setup(i) {
20
+ const t = i, e = d();
21
+ let n;
22
+ ((o) => {
23
+ o.Icon = "icon", o.IconLabel = "iconLabel", o.Secondary = "secondary", o.Tertiary = "tertiary", o.Inline = "inline", o.Primary = "primary";
24
+ })(n || (n = {}));
25
+ const r = a(() => {
26
+ for (const o of Object.values(n))
26
27
  if (t[o])
27
28
  return o;
28
29
  return "primary";
29
- }), f = n(() => t.to ? "router-link" : t.href ? "a" : "button"), d = n(() => t.to ? {
30
+ }), _ = a(() => t.to ? "router-link" : t.href ? "a" : "button"), b = a(() => t.to ? {
30
31
  to: t.to
31
32
  } : t.href ? {
32
33
  href: t.href
33
34
  } : {});
34
- return (o, C) => (l(), i(y(f.value), h({
35
- disabled: t.isLoading || r(c).disabled
36
- }, d.value, {
35
+ return (o, B) => (s(), u(f(_.value), h({
36
+ disabled: t.isLoading || t.disabled
37
+ }, b.value, {
37
38
  class: ["stash-button", [
38
- r(a).button,
39
- `stash-button--${s.value}`,
40
- r(a)[`button--${s.value}`],
39
+ l(e).button,
40
+ `stash-button--${r.value}`,
41
+ l(e)[`button--${r.value}`],
41
42
  {
42
43
  [`stash-button--${t.color}`]: t.color,
43
- [r(a)[`button--${t.color}`]]: t.color,
44
+ [l(e)[`button--${t.color}`]]: t.color,
44
45
  "stash-button--is-loading": t.isLoading
45
46
  }
46
47
  ]],
47
48
  "data-test": "ll-button"
48
49
  }), {
49
- default: _(() => [
50
- t.isLoading ? (l(), i(g, {
50
+ default: p(() => [
51
+ t.isLoading ? (s(), u(m, {
51
52
  key: 0,
52
53
  name: "loading-empty",
53
54
  class: "tw-animate-spin"
54
- })) : v(o.$slots, "default", { key: 1 })
55
+ })) : y(o.$slots, "default", { key: 1 })
55
56
  ]),
56
57
  _: 3
57
58
  }, 16, ["disabled", "class"]));
58
59
  }
59
- }), B = {
60
+ }), g = "_button_4w1qh_2", L = {
61
+ button: g,
62
+ "button--solid": "_button--solid_4w1qh_36",
63
+ "button--ghost": "_button--ghost_4w1qh_58",
64
+ "button--primary": "_button--primary_4w1qh_81 _button--solid_4w1qh_36",
65
+ "button--secondary": "_button--secondary_4w1qh_88 _button--ghost_4w1qh_58",
66
+ "button--tertiary": "_button--tertiary_4w1qh_95 _button--ghost_4w1qh_58",
67
+ "button--icon": "_button--icon_4w1qh_102",
68
+ "button--iconLabel": "_button--iconLabel_4w1qh_103",
69
+ "button--inline": "_button--inline_4w1qh_143",
70
+ "button--blue": "_button--blue_4w1qh_161",
71
+ "button--red": "_button--red_4w1qh_175"
72
+ }, v = {
60
73
  $style: L
61
- }, j = /* @__PURE__ */ $(k, [["__cssModules", B]]);
74
+ }, I = /* @__PURE__ */ w(q, [["__cssModules", v]]);
62
75
  export {
63
- j as default
76
+ I as default
64
77
  };
65
78
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../src/components/Button/Button.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, useAttrs, useCssModule } from 'vue';\n import { RouteLocationRaw } from 'vue-router';\n\n import Icon from '../Icon/Icon.vue';\n\n defineOptions({\n name: 'll-button',\n });\n\n export interface ButtonProps {\n /**\n * Renders the secondary variant\n */\n secondary?: boolean;\n\n /**\n * Renders the button as a container for an Icon\n */\n icon?: boolean;\n\n /**\n * Renders the button as a container for an IconLabel\n */\n iconLabel?: boolean;\n\n /**\n * Renders the tertiary variant\n */\n tertiary?: boolean;\n\n /**\n * Renders the component inline\n */\n inline?: boolean;\n\n /**\n * Renders a color variant\n */\n color?: 'blue' | 'red';\n\n /**\n * The `to` prop for vue-router's `RouterLink` component. If defined, the button will render as a `<router-link />`.\n */\n to?: RouteLocationRaw;\n\n /**\n * Button link. If defined, the button will render as an `<a />` tag.\n */\n href?: string;\n\n /**\n * Displays a spinning loading icon in place of the button text and disables the button\n */\n isLoading?: boolean;\n }\n\n const props = withDefaults(defineProps<ButtonProps>(), {\n secondary: false,\n icon: false,\n iconLabel: false,\n tertiary: false,\n inline: false,\n color: undefined,\n href: '',\n to: undefined,\n isLoading: false,\n });\n const classes = useCssModule();\n const attrs = useAttrs();\n\n enum ButtonTypes {\n Icon = 'icon',\n IconLabel = 'iconLabel',\n Secondary = 'secondary',\n Tertiary = 'tertiary',\n Inline = 'inline',\n Primary = 'primary',\n }\n\n type ButtonType = `${ButtonTypes}`;\n\n const buttonType = computed<ButtonType>(() => {\n for (const type of Object.values(ButtonTypes)) {\n if (props[type]) {\n return type;\n }\n }\n\n return ButtonTypes.Primary;\n });\n\n const is = computed(() => {\n if (props.to) {\n return 'router-link';\n }\n\n if (props.href) {\n return 'a';\n }\n\n return 'button';\n });\n\n const buttonAttrs = computed(() => {\n if (props.to) {\n return {\n to: props.to,\n };\n }\n\n if (props.href) {\n return {\n href: props.href,\n };\n }\n\n return {};\n });\n</script>\n\n<template>\n <component\n :is=\"is\"\n :disabled=\"props.isLoading || attrs.disabled\"\n v-bind=\"buttonAttrs\"\n class=\"stash-button\"\n :class=\"[\n classes.button,\n `stash-button--${buttonType}`,\n classes[`button--${buttonType}`],\n {\n [`stash-button--${props.color}`]: props.color,\n [classes[`button--${props.color}`]]: props.color,\n 'stash-button--is-loading': props.isLoading,\n },\n ]\"\n data-test=\"ll-button\"\n >\n <Icon v-if=\"props.isLoading\" name=\"loading-empty\" class=\"tw-animate-spin\" />\n <!-- @slot default -->\n <slot v-else></slot>\n </component>\n</template>\n\n<style module>\n .button {\n border-radius: theme('borderRadius.DEFAULT');\n border-width: 1px;\n display: inline-block;\n font-size: 0.875rem;\n font-weight: theme('fontWeight.semibold');\n line-height: 2.125rem;\n margin: 0;\n min-width: 144px;\n padding: 0 theme('spacing.3');\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n @media screen('lg') {\n /* `focus` and `hover` should be added only for large screens */\n .button:focus {\n box-shadow: 0 0 0 3px rgb(0 123 255 / 14%);\n outline: none;\n }\n\n .button:hover {\n text-decoration: none;\n }\n }\n\n .button[disabled] {\n cursor: default;\n pointer-events: none;\n }\n\n /* Solid treatment */\n .button--solid {\n background-color: var(--button-color);\n border-color: transparent;\n color: var(--text-color);\n }\n\n @media screen('lg') {\n /* `hover` should be added only for large screens */\n .button--solid:hover {\n background-color: var(--button-hover-color);\n }\n }\n\n .button--solid:active {\n background-color: var(--button-hover-color);\n }\n\n .button--solid[disabled]:not(:global(.stash-button--is-loading)) {\n --button-color: var(--color-ice-500) !important;\n }\n\n /* Ghost treatment */\n .button--ghost {\n background-color: rgb(0 0 0 / 0%);\n border-color: var(--button-color);\n color: var(--text-color);\n }\n\n @media screen('lg') {\n /* `hover` should be added only for large screens */\n .button--ghost:hover {\n background-color: var(--button-hover-color);\n }\n }\n\n .button--ghost:active {\n background-color: var(--button-hover-color);\n }\n\n .button--ghost[disabled]:not(:global(.stash-button--is-loading)) {\n --button-color: var(--color-ice-500) !important;\n --text-color: var(--color-ice-500) !important;\n }\n\n /* Types */\n .button--primary {\n composes: button--solid;\n --button-color: var(--color-blue-500);\n --button-hover-color: var(--color-blue-hover);\n --text-color: var(--color-white);\n }\n\n .button--secondary {\n composes: button--ghost;\n --button-color: var(--color-ice-500);\n --button-hover-color: var(--color-ice-700-hover);\n --text-color: var(--color-ice-700);\n }\n\n .button--tertiary {\n composes: button--ghost;\n --button-color: var(--color-white);\n --button-hover-color: var(--color-white-hover);\n --text-color: var(--color-white);\n }\n\n .button--icon,\n .button--iconLabel {\n /* https://developers.google.com/web/fundamentals/accessibility/accessible-styles */\n border: 0;\n border-radius: theme('borderRadius.DEFAULT');\n height: theme('spacing.12');\n min-width: theme('spacing.12');\n text-decoration: none;\n }\n\n .button--icon {\n padding: theme('spacing.3');\n width: theme('spacing.12');\n }\n\n .button--iconLabel {\n padding: 0;\n width: unset;\n }\n\n @media screen('lg') {\n /* `hover` should be added only for large screens */\n .button--icon:hover,\n .button--iconLabel:hover {\n text-decoration: none;\n }\n }\n\n .button--icon svg,\n .button--iconLabel svg {\n display: block;\n margin-left: auto;\n margin-right: auto;\n }\n\n .button--icon[disabled]:not(:global(.stash-button--is-loading)) svg,\n .button--iconLabel[disabled]:not(:global(.stash-button--is-loading)),\n .button--iconLabel[disabled]:not(:global(.stash-button--is-loading)) svg {\n color: var(--color-ice-500);\n }\n\n .button--inline {\n border: 0;\n color: var(--color-blue-500);\n font-weight: theme('fontWeight.medium');\n line-height: 1.5;\n min-width: 0;\n padding: 0;\n }\n\n .button--inline:hover {\n text-decoration: underline;\n }\n\n .button--inline[disabled] {\n color: var(--color-ice-500);\n }\n\n /* Colors */\n .button--blue.button--primary,\n .button--blue.button--secondary {\n --button-color: var(--color-blue-500);\n }\n\n .button--blue.button--primary {\n --button-hover-color: var(--color-blue-hover);\n }\n\n .button--blue.button--secondary {\n --text-color: var(--color-blue-500);\n --button-hover-color: var(--button-secondary-blue-hover);\n }\n\n .button--red.button--primary,\n .button--red.button--secondary {\n --button-color: var(--color-red-500);\n }\n\n .button--red.button--primary {\n --button-hover-color: var(--color-red-hover);\n }\n\n .button--red.button--secondary {\n --text-color: var(--color-red-500);\n --button-hover-color: var(--button-secondary-red-hover);\n }\n\n /**\n * Button Grid\n * TODO: Move into separate component\n * https://leaflink.atlassian.net/browse/STASH-230\n * See `styles/elements/_buttons.scss` for button-grid (parent element) specific styles.\n */\n :global(.button-grid) > .button,\n :global(.header-button-grid) > .button {\n width: 50%;\n }\n\n :global(.button-grid) > .button + .button {\n margin-left: theme('spacing.6');\n }\n\n @media screen('md') {\n :global(.button-grid) > .button {\n width: auto;\n }\n }\n\n :global(.header-button-grid) > .button + .button {\n margin-left: theme('spacing.6');\n }\n\n @media screen('lg') {\n :global(.header-button-grid) > .button {\n width: auto;\n }\n }\n</style>\n"],"names":["ButtonTypes","props","__props","classes","useCssModule","attrs","useAttrs","buttonType","computed","type","is","buttonAttrs"],"mappings":";;;;;;;AAuEE,IAAKA,sBAAAA,OACHA,EAAA,OAAO,QACPA,EAAA,YAAY,aACZA,EAAA,YAAY,aACZA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,UAAU,WANPA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;;;;;AAdL,UAAMC,IAAQC,GAWRC,IAAUC,KACVC,IAAQC,KAaRC,IAAaC,EAAqB,MAAM;AAC5C,iBAAWC,KAAQ,OAAO,OAAOT,CAAW;AACtC,YAAAC,EAAMQ,CAAI;AACL,iBAAAA;AAIJ,aAAA;AAAA,IAAA,CACR,GAEKC,IAAKF,EAAS,MACdP,EAAM,KACD,gBAGLA,EAAM,OACD,MAGF,QACR,GAEKU,IAAcH,EAAS,MACvBP,EAAM,KACD;AAAA,MACL,IAAIA,EAAM;AAAA,IAAA,IAIVA,EAAM,OACD;AAAA,MACL,MAAMA,EAAM;AAAA,IAAA,IAIT,EACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../src/components/Button/Button.vue"],"sourcesContent":["<script lang=\"ts\">\n export interface ButtonProps {\n /**\n * Renders the secondary variant\n */\n secondary?: boolean;\n\n /**\n * Renders the button as a container for an Icon\n */\n icon?: boolean;\n\n /**\n * Renders the button as a container for an IconLabel\n */\n iconLabel?: boolean;\n\n /**\n * Renders the tertiary variant\n */\n tertiary?: boolean;\n\n /**\n * Renders the component inline\n */\n inline?: boolean;\n\n /**\n * Renders a color variant\n */\n color?: 'blue' | 'red';\n\n /**\n * The `to` prop for vue-router's `RouterLink` component. If defined, the button will render as a `<router-link />`.\n */\n to?: RouteLocationRaw;\n\n /**\n * Button link. If defined, the button will render as an `<a />` tag.\n */\n href?: string;\n\n /**\n * Displays a spinning loading icon in place of the button text and disables the button\n */\n isLoading?: boolean;\n\n /**\n * Disables the button\n */\n disabled?: boolean;\n }\n</script>\n\n<script lang=\"ts\" setup>\n import { computed, useCssModule } from 'vue';\n import { RouteLocationRaw } from 'vue-router';\n\n import Icon from '../Icon/Icon.vue';\n\n defineOptions({\n name: 'll-button',\n });\n\n const props = withDefaults(defineProps<ButtonProps>(), {\n secondary: false,\n icon: false,\n iconLabel: false,\n tertiary: false,\n inline: false,\n color: undefined,\n href: '',\n to: undefined,\n isLoading: false,\n disabled: false,\n });\n const classes = useCssModule();\n\n enum ButtonTypes {\n Icon = 'icon',\n IconLabel = 'iconLabel',\n Secondary = 'secondary',\n Tertiary = 'tertiary',\n Inline = 'inline',\n Primary = 'primary',\n }\n\n type ButtonType = `${ButtonTypes}`;\n\n const buttonType = computed<ButtonType>(() => {\n for (const type of Object.values(ButtonTypes)) {\n if (props[type]) {\n return type;\n }\n }\n\n return ButtonTypes.Primary;\n });\n\n const is = computed(() => {\n if (props.to) {\n return 'router-link';\n }\n\n if (props.href) {\n return 'a';\n }\n\n return 'button';\n });\n\n const buttonAttrs = computed(() => {\n if (props.to) {\n return {\n to: props.to,\n };\n }\n\n if (props.href) {\n return {\n href: props.href,\n };\n }\n\n return {};\n });\n</script>\n\n<template>\n <component\n :is=\"is\"\n :disabled=\"props.isLoading || props.disabled\"\n v-bind=\"buttonAttrs\"\n class=\"stash-button\"\n :class=\"[\n classes.button,\n `stash-button--${buttonType}`,\n classes[`button--${buttonType}`],\n {\n [`stash-button--${props.color}`]: props.color,\n [classes[`button--${props.color}`]]: props.color,\n 'stash-button--is-loading': props.isLoading,\n },\n ]\"\n data-test=\"ll-button\"\n >\n <Icon v-if=\"props.isLoading\" name=\"loading-empty\" class=\"tw-animate-spin\" />\n <!-- @slot default -->\n <slot v-else></slot>\n </component>\n</template>\n\n<style module>\n .button {\n border-radius: theme('borderRadius.DEFAULT');\n border-width: 1px;\n display: inline-block;\n font-size: 0.875rem;\n font-weight: theme('fontWeight.semibold');\n line-height: 2.125rem;\n margin: 0;\n min-width: 144px;\n padding: 0 theme('spacing.3');\n text-align: center;\n text-decoration: none;\n vertical-align: middle;\n white-space: nowrap;\n }\n\n @media screen('lg') {\n /* `focus` and `hover` should be added only for large screens */\n .button:focus {\n box-shadow: 0 0 0 3px rgb(0 123 255 / 14%);\n outline: none;\n }\n\n .button:hover {\n text-decoration: none;\n }\n }\n\n .button[disabled] {\n cursor: default;\n pointer-events: none;\n }\n\n /* Solid treatment */\n .button--solid {\n background-color: var(--button-color);\n border-color: transparent;\n color: var(--text-color);\n }\n\n @media screen('lg') {\n /* `hover` should be added only for large screens */\n .button--solid:hover {\n background-color: var(--button-hover-color);\n }\n }\n\n .button--solid:active {\n background-color: var(--button-hover-color);\n }\n\n .button--solid[disabled]:not(:global(.stash-button--is-loading)) {\n --button-color: var(--color-ice-500) !important;\n }\n\n /* Ghost treatment */\n .button--ghost {\n background-color: rgb(0 0 0 / 0%);\n border-color: var(--button-color);\n color: var(--text-color);\n }\n\n @media screen('lg') {\n /* `hover` should be added only for large screens */\n .button--ghost:hover {\n background-color: var(--button-hover-color);\n }\n }\n\n .button--ghost:active {\n background-color: var(--button-hover-color);\n }\n\n .button--ghost[disabled]:not(:global(.stash-button--is-loading)) {\n --button-color: var(--color-ice-500) !important;\n --text-color: var(--color-ice-500) !important;\n }\n\n /* Types */\n .button--primary {\n composes: button--solid;\n --button-color: var(--color-blue-500);\n --button-hover-color: var(--color-blue-hover);\n --text-color: var(--color-white);\n }\n\n .button--secondary {\n composes: button--ghost;\n --button-color: var(--color-ice-500);\n --button-hover-color: var(--color-ice-700-hover);\n --text-color: var(--color-ice-700);\n }\n\n .button--tertiary {\n composes: button--ghost;\n --button-color: var(--color-white);\n --button-hover-color: var(--color-white-hover);\n --text-color: var(--color-white);\n }\n\n .button--icon,\n .button--iconLabel {\n /* https://developers.google.com/web/fundamentals/accessibility/accessible-styles */\n border: 0;\n border-radius: theme('borderRadius.DEFAULT');\n height: theme('spacing.12');\n min-width: theme('spacing.12');\n text-decoration: none;\n }\n\n .button--icon {\n padding: theme('spacing.3');\n width: theme('spacing.12');\n }\n\n .button--iconLabel {\n padding: 0;\n width: unset;\n }\n\n @media screen('lg') {\n /* `hover` should be added only for large screens */\n .button--icon:hover,\n .button--iconLabel:hover {\n text-decoration: none;\n }\n }\n\n .button--icon svg,\n .button--iconLabel svg {\n display: block;\n margin-left: auto;\n margin-right: auto;\n }\n\n .button--icon[disabled]:not(:global(.stash-button--is-loading)) svg,\n .button--iconLabel[disabled]:not(:global(.stash-button--is-loading)),\n .button--iconLabel[disabled]:not(:global(.stash-button--is-loading)) svg {\n color: var(--color-ice-500);\n }\n\n .button--inline {\n border: 0;\n color: var(--color-blue-500);\n font-weight: theme('fontWeight.medium');\n line-height: 1.5;\n min-width: 0;\n padding: 0;\n }\n\n .button--inline:hover {\n text-decoration: underline;\n }\n\n .button--inline[disabled] {\n color: var(--color-ice-500);\n }\n\n /* Colors */\n .button--blue.button--primary,\n .button--blue.button--secondary {\n --button-color: var(--color-blue-500);\n }\n\n .button--blue.button--primary {\n --button-hover-color: var(--color-blue-hover);\n }\n\n .button--blue.button--secondary {\n --text-color: var(--color-blue-500);\n --button-hover-color: var(--button-secondary-blue-hover);\n }\n\n .button--red.button--primary,\n .button--red.button--secondary {\n --button-color: var(--color-red-500);\n }\n\n .button--red.button--primary {\n --button-hover-color: var(--color-red-hover);\n }\n\n .button--red.button--secondary {\n --text-color: var(--color-red-500);\n --button-hover-color: var(--button-secondary-red-hover);\n }\n\n /**\n * Button Grid\n * TODO: Move into separate component\n * https://leaflink.atlassian.net/browse/STASH-230\n * See `styles/elements/_buttons.scss` for button-grid (parent element) specific styles.\n */\n :global(.button-grid) > .button,\n :global(.header-button-grid) > .button {\n width: 50%;\n }\n\n :global(.button-grid) > .button + .button {\n margin-left: theme('spacing.6');\n }\n\n @media screen('md') {\n :global(.button-grid) > .button {\n width: auto;\n }\n }\n\n :global(.header-button-grid) > .button + .button {\n margin-left: theme('spacing.6');\n }\n\n @media screen('lg') {\n :global(.header-button-grid) > .button {\n width: auto;\n }\n }\n</style>\n"],"names":["props","__props","classes","useCssModule","ButtonTypes","buttonType","computed","type","is","buttonAttrs"],"mappings":";;;;;;;;;;;;;;;;;;;AAgEE,UAAMA,IAAQC,GAYRC,IAAUC;AAEX,QAAAC;AAAL,KAAA,CAAKA,MAAL;AACEA,MAAAA,EAAA,OAAO,QACPA,EAAA,YAAY,aACZA,EAAA,YAAY,aACZA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,UAAU;AAAA,IANP,GAAAA,MAAAA,IAAA,CAAA,EAAA;AAWC,UAAAC,IAAaC,EAAqB,MAAM;AAC5C,iBAAWC,KAAQ,OAAO,OAAOH,CAAW;AACtC,YAAAJ,EAAMO,CAAI;AACL,iBAAAA;AAIJ,aAAA;AAAA,IAAA,CACR,GAEKC,IAAKF,EAAS,MACdN,EAAM,KACD,gBAGLA,EAAM,OACD,MAGF,QACR,GAEKS,IAAcH,EAAS,MACvBN,EAAM,KACD;AAAA,MACL,IAAIA,EAAM;AAAA,IAAA,IAIVA,EAAM,OACD;AAAA,MACL,MAAMA,EAAM;AAAA,IAAA,IAIT,EACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -72,38 +72,45 @@ export declare interface ButtonProps {
72
72
  * Displays a spinning loading icon in place of the button text and disables the button
73
73
  */
74
74
  isLoading?: boolean;
75
+ /**
76
+ * Disables the button
77
+ */
78
+ disabled?: boolean;
75
79
  }
76
80
 
77
81
  declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonProps>, {
78
- secondary: boolean;
79
- icon: boolean;
80
- iconLabel: boolean;
81
- tertiary: boolean;
82
- inline: boolean;
83
- color: undefined;
84
- href: string;
85
- to: undefined;
86
- isLoading: boolean;
82
+ secondary: boolean;
83
+ icon: boolean;
84
+ iconLabel: boolean;
85
+ tertiary: boolean;
86
+ inline: boolean;
87
+ color: undefined;
88
+ href: string;
89
+ to: undefined;
90
+ isLoading: boolean;
91
+ disabled: boolean;
87
92
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonProps>, {
88
- secondary: boolean;
89
- icon: boolean;
90
- iconLabel: boolean;
91
- tertiary: boolean;
92
- inline: boolean;
93
- color: undefined;
94
- href: string;
95
- to: undefined;
96
- isLoading: boolean;
93
+ secondary: boolean;
94
+ icon: boolean;
95
+ iconLabel: boolean;
96
+ tertiary: boolean;
97
+ inline: boolean;
98
+ color: undefined;
99
+ href: string;
100
+ to: undefined;
101
+ isLoading: boolean;
102
+ disabled: boolean;
97
103
  }>>> & Readonly<{}>, {
98
- to: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric;
99
- icon: boolean;
100
- href: string;
101
- secondary: boolean;
102
- iconLabel: boolean;
103
- tertiary: boolean;
104
- inline: boolean;
105
- color: "blue" | "red";
106
- isLoading: boolean;
104
+ to: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric;
105
+ disabled: boolean;
106
+ icon: boolean;
107
+ href: string;
108
+ secondary: boolean;
109
+ iconLabel: boolean;
110
+ tertiary: boolean;
111
+ inline: boolean;
112
+ color: "blue" | "red";
113
+ isLoading: boolean;
107
114
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
108
115
  default?(_: {}): any;
109
116
  }>;
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as m, computed as r, ref as g, openBlock as l, createElementBlock as s, normalizeClass as p, Fragment as $, renderList as y, withModifiers as B, toDisplayString as h } from "vue";
2
2
  import w from "lodash-es/uniqueId";
3
- import { _ as z } from "./_plugin-vue_export-helper-dad06003.js";
3
+ import { _ as z } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
4
  const k = ["data-test"], C = ["data-test", "disabled", "onClick"], G = {
5
5
  name: "ll-button-group"
6
6
  }, D = /* @__PURE__ */ m({
@@ -61,24 +61,24 @@ export declare interface ButtonGroupProps {
61
61
  * but every button is a radio element which makes more sense semantically.
62
62
  */
63
63
  declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonGroupProps>, {
64
- groupName: string;
65
- fullWidth: boolean;
66
- disabled: boolean;
67
- allowDeactivate: boolean;
64
+ groupName: string;
65
+ fullWidth: boolean;
66
+ disabled: boolean;
67
+ allowDeactivate: boolean;
68
68
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
69
- input: (activeButton: ButtonGroupOption | null) => void;
69
+ input: (activeButton: ButtonGroupOption | null) => void;
70
70
  }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonGroupProps>, {
71
- groupName: string;
72
- fullWidth: boolean;
73
- disabled: boolean;
74
- allowDeactivate: boolean;
71
+ groupName: string;
72
+ fullWidth: boolean;
73
+ disabled: boolean;
74
+ allowDeactivate: boolean;
75
75
  }>>> & Readonly<{
76
- onInput?: ((activeButton: ButtonGroupOption | null) => any) | undefined;
76
+ onInput?: ((activeButton: ButtonGroupOption | null) => any) | undefined;
77
77
  }>, {
78
- disabled: boolean;
79
- groupName: string;
80
- fullWidth: boolean;
81
- allowDeactivate: boolean;
78
+ disabled: boolean;
79
+ groupName: string;
80
+ fullWidth: boolean;
81
+ allowDeactivate: boolean;
82
82
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
83
83
  export default _default;
84
84
 
@@ -41,11 +41,11 @@ export declare interface CardProps {
41
41
  }
42
42
 
43
43
  declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<CardProps>, {
44
- detachActions: boolean;
44
+ detachActions: boolean;
45
45
  }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<CardProps>, {
46
- detachActions: boolean;
46
+ detachActions: boolean;
47
47
  }>>> & Readonly<{}>, {
48
- detachActions: boolean;
48
+ detachActions: boolean;
49
49
  }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
50
50
  "top-left"?(_: {}): any;
51
51
  "top-right"?(_: {}): any;