@leaflink/stash 51.11.0 → 51.11.1

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 (361) hide show
  1. package/dist/Accordion.js.map +1 -1
  2. package/dist/Accordion.vue.d.ts +37 -6
  3. package/dist/ActionsDropdown.js +2 -2
  4. package/dist/ActionsDropdown.js.map +1 -1
  5. package/dist/ActionsDropdown.vue.d.ts +74 -0
  6. package/dist/AddressSelect.js +60 -56
  7. package/dist/AddressSelect.js.map +1 -1
  8. package/dist/AddressSelect.vue.d.ts +65 -8
  9. package/dist/Alert.js.map +1 -1
  10. package/dist/Alert.vue.d.ts +41 -4
  11. package/dist/AppNavigationItem.js.map +1 -1
  12. package/dist/AppNavigationItem.vue.d.ts +31 -4
  13. package/dist/AppSidebar.js.map +1 -1
  14. package/dist/AppSidebar.vue.d.ts +35 -8
  15. package/dist/AppTopbar.js +1 -1
  16. package/dist/AppTopbar.js.map +1 -1
  17. package/dist/AppTopbar.vue.d.ts +33 -4
  18. package/dist/Avatar.js.map +1 -1
  19. package/dist/Avatar.vue.d.ts +44 -5
  20. package/dist/Backdrop.js.map +1 -1
  21. package/dist/Backdrop.vue.d.ts +1 -1
  22. package/dist/Badge.js.map +1 -1
  23. package/dist/Badge.vue.d.ts +55 -6
  24. package/dist/Box.vue.d.ts +36 -3
  25. package/dist/Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map +1 -1
  26. package/dist/Button.js.map +1 -1
  27. package/dist/Button.vue.d.ts +50 -5
  28. package/dist/ButtonGroup.js +37 -33
  29. package/dist/ButtonGroup.js.map +1 -1
  30. package/dist/ButtonGroup.vue.d.ts +39 -6
  31. package/dist/Card.js.map +1 -1
  32. package/dist/Card.vue.d.ts +32 -5
  33. package/dist/CardContent.js.map +1 -1
  34. package/dist/CardContent.vue.d.ts +1 -1
  35. package/dist/CardFooter.js.map +1 -1
  36. package/dist/CardFooter.vue.d.ts +1 -1
  37. package/dist/CardHeader.js.map +1 -1
  38. package/dist/CardHeader.vue.d.ts +15 -2
  39. package/dist/CardMedia.js.map +1 -1
  40. package/dist/CardMedia.vue.d.ts +15 -2
  41. package/dist/Carousel.js +72 -66
  42. package/dist/Carousel.js.map +1 -1
  43. package/dist/Carousel.vue.d.ts +10 -10
  44. package/dist/Checkbox.js.map +1 -1
  45. package/dist/Checkbox.vue.d.ts +53 -8
  46. package/dist/ChevronToggle.vue.d.ts +34 -7
  47. package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
  48. package/dist/Chip.js.map +1 -1
  49. package/dist/Chip.vue.d.ts +52 -10
  50. package/dist/ConfirmationCodeInput.js +44 -40
  51. package/dist/ConfirmationCodeInput.js.map +1 -1
  52. package/dist/ConfirmationCodeInput.vue.d.ts +43 -8
  53. package/dist/ContextSwitcher.js.map +1 -1
  54. package/dist/ContextSwitcher.vue.d.ts +41 -6
  55. package/dist/Copy.js.map +1 -1
  56. package/dist/Copy.vue.d.ts +34 -3
  57. package/dist/CurrencyInput.js +21 -20
  58. package/dist/CurrencyInput.js.map +1 -1
  59. package/dist/CurrencyInput.vue.d.ts +46 -125
  60. package/dist/CustomRender.js.map +1 -1
  61. package/dist/DataView.js +96 -94
  62. package/dist/DataView.js.map +1 -1
  63. package/dist/DataView.keys-aSOnA4AD.js.map +1 -1
  64. package/dist/DataView.vue.d.ts +57 -12
  65. package/dist/DataViewFilters.js +139 -127
  66. package/dist/DataViewFilters.js.map +1 -1
  67. package/dist/DataViewFilters.keys-BLu07FiP.js.map +1 -1
  68. package/dist/DataViewFilters.vue.d.ts +54 -9
  69. package/dist/DataViewSortButton.js +2 -2
  70. package/dist/DataViewSortButton.js.map +1 -1
  71. package/dist/DataViewSortButton.vue.d.ts +30 -3
  72. package/dist/DataViewToolbar.js +89 -88
  73. package/dist/DataViewToolbar.js.map +1 -1
  74. package/dist/DataViewToolbar.vue.d.ts +40 -106
  75. package/dist/DatePicker.js +4636 -4524
  76. package/dist/DatePicker.js.map +1 -1
  77. package/dist/DatePicker.vue.d.ts +79 -30
  78. package/dist/DescriptionList.js.map +1 -1
  79. package/dist/DescriptionList.vue.d.ts +32 -3
  80. package/dist/DescriptionListDetail.js.map +1 -1
  81. package/dist/DescriptionListDetail.vue.d.ts +1 -1
  82. package/dist/DescriptionListGroup.js.map +1 -1
  83. package/dist/DescriptionListGroup.vue.d.ts +1 -1
  84. package/dist/DescriptionListTerm.js.map +1 -1
  85. package/dist/DescriptionListTerm.vue.d.ts +1 -1
  86. package/dist/Dialog.js.map +1 -1
  87. package/dist/Dialog.vue.d.ts +53 -10
  88. package/dist/Divider.js.map +1 -1
  89. package/dist/Dropdown.js +95 -89
  90. package/dist/Dropdown.js.map +1 -1
  91. package/dist/Dropdown.vue.d.ts +48 -12
  92. package/dist/EmptyState.js +1 -1
  93. package/dist/EmptyState.js.map +1 -1
  94. package/dist/EmptyState.vue.d.ts +62 -5
  95. package/dist/Expand.vue.d.ts +40 -10
  96. package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map +1 -1
  97. package/dist/Field.vue.d.ts +53 -4
  98. package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +1 -1
  99. package/dist/FileUpload.js +74 -72
  100. package/dist/FileUpload.js.map +1 -1
  101. package/dist/FileUpload.vue.d.ts +44 -10
  102. package/dist/FilterChip.js.map +1 -1
  103. package/dist/FilterChip.vue.d.ts +41 -6
  104. package/dist/FilterDrawerItem.js +21 -21
  105. package/dist/FilterDrawerItem.js.map +1 -1
  106. package/dist/FilterDrawerItem.vue.d.ts +23 -6
  107. package/dist/FilterDropdown.js +69 -63
  108. package/dist/FilterDropdown.js.map +1 -1
  109. package/dist/FilterDropdown.vue.d.ts +35 -122
  110. package/dist/FilterSelect.js.map +1 -1
  111. package/dist/FilterSelect.vue.d.ts +31 -4
  112. package/dist/Filters.js +164 -157
  113. package/dist/Filters.js.map +1 -1
  114. package/dist/Filters.vue.d.ts +2190 -0
  115. package/dist/HttpError.js +7 -7
  116. package/dist/HttpError.js.map +1 -1
  117. package/dist/HttpError.vue.d.ts +41 -4
  118. package/dist/Icon.js +17 -17
  119. package/dist/Icon.js.map +1 -1
  120. package/dist/Icon.vue.d.ts +36 -3
  121. package/dist/IconLabel.js.map +1 -1
  122. package/dist/IconLabel.vue.d.ts +40 -5
  123. package/dist/Illustration.js +2 -2
  124. package/dist/Illustration.vue.d.ts +42 -3
  125. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js} +11 -11
  126. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js.map → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js.map} +1 -1
  127. package/dist/Image.js +2 -2
  128. package/dist/Image.vue.d.ts +40 -5
  129. package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js} +41 -37
  130. package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js.map → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map} +1 -1
  131. package/dist/InlineEdit.js.map +1 -1
  132. package/dist/InlineEdit.vue.d.ts +47 -126
  133. package/dist/Input.js.map +1 -1
  134. package/dist/Input.vue.d.ts +45 -12
  135. package/dist/InputOptions.js +69 -66
  136. package/dist/InputOptions.js.map +1 -1
  137. package/dist/InputOptions.vue.d.ts +55 -10
  138. package/dist/IntegrationIcon.js +7 -7
  139. package/dist/IntegrationIcon.js.map +1 -1
  140. package/dist/IntegrationIcon.vue.d.ts +36 -3
  141. package/dist/Label.vue.d.ts +42 -3
  142. package/dist/Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map +1 -1
  143. package/dist/LicenseChip.js.map +1 -1
  144. package/dist/LicenseChip.vue.d.ts +30 -3
  145. package/dist/ListItem.js.map +1 -1
  146. package/dist/ListItem.vue.d.ts +294 -0
  147. package/dist/ListItemCell.js.map +1 -1
  148. package/dist/ListItemCell.vue.d.ts +21 -0
  149. package/dist/ListView.js +7 -4
  150. package/dist/ListView.js.map +1 -1
  151. package/dist/ListView.types.d.ts +29 -0
  152. package/dist/ListView.vue.d.ts +5496 -0
  153. package/dist/Loading.js +2 -2
  154. package/dist/Loading.js.map +1 -1
  155. package/dist/Loading.vue.d.ts +1 -1
  156. package/dist/Logo.js +1 -1
  157. package/dist/Logo.vue.d.ts +41 -6
  158. package/dist/{Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js → Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js} +17 -17
  159. package/dist/Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map +1 -0
  160. package/dist/Menu.js.map +1 -1
  161. package/dist/Menu.vue.d.ts +1 -1
  162. package/dist/MenuItem.js.map +1 -1
  163. package/dist/MenuItem.vue.d.ts +1 -1
  164. package/dist/MenusPlugin-Bk6UW6o9.js +12 -0
  165. package/dist/{MenusPlugin-B4jpNe7x.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
  166. package/dist/Metric.js.map +1 -1
  167. package/dist/Metric.vue.d.ts +34 -3
  168. package/dist/Modal.js +64 -62
  169. package/dist/Modal.js.map +1 -1
  170. package/dist/Modal.vue.d.ts +60 -13
  171. package/dist/Modals.js +18 -17
  172. package/dist/Modals.js.map +1 -1
  173. package/dist/ModalsPlugin.js +11 -11
  174. package/dist/ModalsPlugin.js.map +1 -1
  175. package/dist/Module.js.map +1 -1
  176. package/dist/Module.keys-CEsrW2f0.js.map +1 -1
  177. package/dist/Module.types-B1FfGGac.js.map +1 -1
  178. package/dist/Module.vue.d.ts +29 -2
  179. package/dist/ModuleContent.js.map +1 -1
  180. package/dist/ModuleContent.vue.d.ts +3 -3
  181. package/dist/ModuleFooter.js.map +1 -1
  182. package/dist/ModuleFooter.vue.d.ts +1 -1
  183. package/dist/ModuleHeader.js.map +1 -1
  184. package/dist/ModuleHeader.vue.d.ts +39 -5
  185. package/dist/MoreActions.js +125 -123
  186. package/dist/MoreActions.js.map +1 -1
  187. package/dist/MoreActions.vue.d.ts +46 -123
  188. package/dist/ObfuscateText.js.map +1 -1
  189. package/dist/ObfuscateText.vue.d.ts +40 -3
  190. package/dist/PageContent.js.map +1 -1
  191. package/dist/PageContent.vue.d.ts +30 -3
  192. package/dist/PageHeader.js.map +1 -1
  193. package/dist/PageHeader.vue.d.ts +35 -6
  194. package/dist/PageNavigation.js +50 -50
  195. package/dist/PageNavigation.js.map +1 -1
  196. package/dist/PageNavigation.vue.d.ts +36 -7
  197. package/dist/Paginate.js.map +1 -1
  198. package/dist/Paginate.vue.d.ts +40 -5
  199. package/dist/PlaidLink.js.map +1 -1
  200. package/dist/PlaidLink.vue.d.ts +49 -12
  201. package/dist/QuickAction.js.map +1 -1
  202. package/dist/QuickAction.vue.d.ts +15 -2
  203. package/dist/Radio.js.map +1 -1
  204. package/dist/Radio.vue.d.ts +93 -0
  205. package/dist/RadioGroup.js +101 -94
  206. package/dist/RadioGroup.js.map +1 -1
  207. package/dist/RadioGroup.vue.d.ts +42 -116
  208. package/dist/RadioNew.js +99 -96
  209. package/dist/RadioNew.js.map +1 -1
  210. package/dist/RadioNew.vue.d.ts +48 -7
  211. package/dist/RangeInput.js.map +1 -1
  212. package/dist/RangeInput.vue.d.ts +1 -1
  213. package/dist/SearchBar.js +39 -38
  214. package/dist/SearchBar.js.map +1 -1
  215. package/dist/SearchBar.vue.d.ts +44 -127
  216. package/dist/SectionHeader.js.map +1 -1
  217. package/dist/SectionHeader.vue.d.ts +36 -5
  218. package/dist/Select.js +183 -171
  219. package/dist/Select.js.map +1 -1
  220. package/dist/Select.vue.d.ts +102 -23
  221. package/dist/SelectStatus.js +38 -38
  222. package/dist/SelectStatus.js.map +1 -1
  223. package/dist/SelectStatus.vue.d.ts +46 -226
  224. package/dist/Skeleton.js.map +1 -1
  225. package/dist/Skeleton.vue.d.ts +34 -3
  226. package/dist/Step.js +44 -44
  227. package/dist/Step.js.map +1 -1
  228. package/dist/Step.vue.d.ts +43 -4
  229. package/dist/Stepper.js.map +1 -1
  230. package/dist/Stepper.vue.d.ts +44 -9
  231. package/dist/Switch.js.map +1 -1
  232. package/dist/Switch.vue.d.ts +47 -8
  233. package/dist/Tab.js.map +1 -1
  234. package/dist/Tab.vue.d.ts +15 -2
  235. package/dist/TabPanel.js.map +1 -1
  236. package/dist/TabPanel.vue.d.ts +30 -3
  237. package/dist/Table.js +59 -53
  238. package/dist/Table.js.map +1 -1
  239. package/dist/Table.keys-LHQf6FEH.js.map +1 -1
  240. package/dist/Table.vue.d.ts +50 -3
  241. package/dist/TableCell.js +1 -1
  242. package/dist/TableCell.js.map +1 -1
  243. package/dist/TableCell.vue.d.ts +32 -3
  244. package/dist/TableHeaderCell.js +1 -1
  245. package/dist/TableHeaderCell.js.map +1 -1
  246. package/dist/TableHeaderCell.vue.d.ts +30 -3
  247. package/dist/TableHeaderRow.js +1 -1
  248. package/dist/TableHeaderRow.js.map +1 -1
  249. package/dist/TableHeaderRow.vue.d.ts +34 -5
  250. package/dist/TableRow.js +44 -43
  251. package/dist/TableRow.js.map +1 -1
  252. package/dist/TableRow.vue.d.ts +48 -7
  253. package/dist/Tabs.vue.d.ts +31 -4
  254. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +1 -1
  255. package/dist/TextEditor.js +2420 -2414
  256. package/dist/TextEditor.js.map +1 -1
  257. package/dist/TextEditor.vue.d.ts +39 -8
  258. package/dist/Textarea.js +32 -29
  259. package/dist/Textarea.js.map +1 -1
  260. package/dist/Textarea.vue.d.ts +44 -9
  261. package/dist/Thumbnail.js +1 -1
  262. package/dist/Thumbnail.js.map +1 -1
  263. package/dist/Thumbnail.vue.d.ts +4 -4
  264. package/dist/ThumbnailEmpty.js.map +1 -1
  265. package/dist/ThumbnailEmpty.vue.d.ts +1 -1
  266. package/dist/ThumbnailGroup.js.map +1 -1
  267. package/dist/ThumbnailGroup.keys-EJ4qFNhx.js.map +1 -1
  268. package/dist/ThumbnailGroup.vue.d.ts +22 -26
  269. package/dist/Timeline.js.map +1 -1
  270. package/dist/Timeline.vue.d.ts +32 -3
  271. package/dist/TimelineItem.js.map +1 -1
  272. package/dist/TimelineItem.vue.d.ts +1 -1
  273. package/dist/Toast.js.map +1 -1
  274. package/dist/Toast.vue.d.ts +30 -3
  275. package/dist/Toasts.js.map +1 -1
  276. package/dist/ToastsPlugin.js +11 -11
  277. package/dist/ToastsPlugin.js.map +1 -1
  278. package/dist/Tooltip.js +30 -29
  279. package/dist/Tooltip.js.map +1 -1
  280. package/dist/Tooltip.vue.d.ts +43 -11
  281. package/dist/colors-DDDVvqfQ.js.map +1 -1
  282. package/dist/components.css +1 -1
  283. package/dist/constants.js.map +1 -1
  284. package/dist/directives/autofocus.js.map +1 -1
  285. package/dist/directives/clickoutside.js.map +1 -1
  286. package/dist/directives/observe.js.map +1 -1
  287. package/dist/directives/sticky.js.map +1 -1
  288. package/dist/directives/tooltip.js +3 -3
  289. package/dist/directives/tooltip.js.map +1 -1
  290. package/dist/directives/viewable.js +44 -39
  291. package/dist/directives/viewable.js.map +1 -1
  292. package/dist/{floating-ui.vue-CL01Y9ER.js → floating-ui.vue-pzUuloyX.js} +2 -2
  293. package/dist/{floating-ui.vue-CL01Y9ER.js.map → floating-ui.vue-pzUuloyX.js.map} +1 -1
  294. package/dist/formatDateTime-Dz8bXV0R.js +1418 -0
  295. package/dist/{formatDateTime-DG7kBc2T.js.map → formatDateTime-Dz8bXV0R.js.map} +1 -1
  296. package/dist/{index-XZqpB2_R.js → index-C14LhAwV.js} +4 -4
  297. package/dist/{index-XZqpB2_R.js.map → index-C14LhAwV.js.map} +1 -1
  298. package/dist/index-D6bxWkZ1.js.map +1 -1
  299. package/dist/index.js +104 -99
  300. package/dist/index.js.map +1 -1
  301. package/dist/isDefined-DzVx0B6k.js.map +1 -1
  302. package/dist/keys-BEdEsanp.js.map +1 -1
  303. package/dist/keys-C8Zfr_By.js.map +1 -1
  304. package/dist/locale.js.map +1 -1
  305. package/dist/misc-CHQs-G03.js.map +1 -1
  306. package/dist/obfuscateText.d.ts +1 -1
  307. package/dist/parseISO-wlfIB_QJ.js.map +1 -1
  308. package/dist/searchFuzzy-DRasJ33G.js +409 -0
  309. package/dist/{searchFuzzy-DBDE6jkd.js.map → searchFuzzy-DRasJ33G.js.map} +1 -1
  310. package/dist/statusLevels-D8EgtE_L.js.map +1 -1
  311. package/dist/storage.js.map +1 -1
  312. package/dist/tailwind-base.js.map +1 -1
  313. package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
  314. package/dist/useConfirmBeforeClosing.js.map +1 -1
  315. package/dist/useDialog.d.ts +2 -2
  316. package/dist/useDialog.js +25 -21
  317. package/dist/useDialog.js.map +1 -1
  318. package/dist/useGoogleMaps.js +110 -108
  319. package/dist/useGoogleMaps.js.map +1 -1
  320. package/dist/useMediaQuery.d.ts +6 -0
  321. package/dist/useMediaQuery.js +15 -11
  322. package/dist/useMediaQuery.js.map +1 -1
  323. package/dist/useModals.d.ts +1 -1
  324. package/dist/useModals.js.map +1 -1
  325. package/dist/usePaginationStats-d_q39naC.js.map +1 -1
  326. package/dist/usePlaidLink.js +27 -20
  327. package/dist/usePlaidLink.js.map +1 -1
  328. package/dist/useScriptTag.js.map +1 -1
  329. package/dist/useSearch.js +13 -13
  330. package/dist/useSearch.js.map +1 -1
  331. package/dist/useSelection.js +56 -56
  332. package/dist/useSelection.js.map +1 -1
  333. package/dist/useSortable.js +63 -54
  334. package/dist/useSortable.js.map +1 -1
  335. package/dist/useStepper.d.ts +2 -2
  336. package/dist/useStepper.js +40 -36
  337. package/dist/useStepper.js.map +1 -1
  338. package/dist/useToasts.js +23 -23
  339. package/dist/useToasts.js.map +1 -1
  340. package/dist/useValidation.js +100 -96
  341. package/dist/useValidation.js.map +1 -1
  342. package/dist/utils/calculateElementOverflow.js +4 -4
  343. package/dist/utils/calculateElementOverflow.js.map +1 -1
  344. package/dist/utils/colorScheme.js.map +1 -1
  345. package/dist/utils/createQueryString.js.map +1 -1
  346. package/dist/utils/createValidDate.js.map +1 -1
  347. package/dist/utils/formatDateTime.js +1 -1
  348. package/dist/utils/getContrastingTextColor.js.map +1 -1
  349. package/dist/utils/helpers.js.map +1 -1
  350. package/dist/utils/i18n.js.map +1 -1
  351. package/dist/utils/normalizeDate.js.map +1 -1
  352. package/dist/utils/obfuscateText.js +6 -6
  353. package/dist/utils/obfuscateText.js.map +1 -1
  354. package/dist/utils/searchFuzzy.js +1 -1
  355. package/dist/utils/storage.js +23 -23
  356. package/dist/utils/storage.js.map +1 -1
  357. package/package.json +12 -12
  358. package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +0 -1
  359. package/dist/MenusPlugin-B4jpNe7x.js +0 -12
  360. package/dist/formatDateTime-DG7kBc2T.js +0 -1414
  361. package/dist/searchFuzzy-DBDE6jkd.js +0 -408
package/dist/Box.vue.d.ts CHANGED
@@ -1,15 +1,38 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_Prettify<T> = {
11
+ [K in keyof T]: T[K];
12
+ } & {};
13
+
14
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
22
+
23
+ declare type __VLS_WithDefaults<P, D> = {
24
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
25
+ default: D[K];
26
+ }> : P[K];
27
+ };
28
+
6
29
  declare type __VLS_WithTemplateSlots<T, S> = T & {
7
30
  new (): {
8
31
  $slots: S;
9
32
  };
10
33
  };
11
34
 
12
- declare interface BoxProps {
35
+ export declare interface BoxProps {
13
36
  /**
14
37
  * Remove the padding around the entire Box.
15
38
  */
@@ -28,12 +51,22 @@ declare interface BoxProps {
28
51
  radius?: 'none' | 'rounded';
29
52
  }
30
53
 
31
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<BoxProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<BoxProps> & Readonly<{}>, {
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;
59
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BoxProps>, {
60
+ disablePadding: boolean;
61
+ disableGutters: boolean;
62
+ disableElevation: boolean;
63
+ radius: string;
64
+ }>>> & Readonly<{}>, {
32
65
  radius: "none" | "rounded";
33
66
  disablePadding: boolean;
34
67
  disableGutters: boolean;
35
68
  disableElevation: boolean;
36
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>, {
69
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
37
70
  default?(_: {}): any;
38
71
  }>;
39
72
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.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","_createElementBlock","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;AA2BE,UAAMA,IAAQC;2BASdC,EAYU,WAAA;AAAA,MAXR,UAAM,yBAAuB;AAAA,QACC,cAAAF,EAAM,WAAM;AAAA,QAAsC,eAAA,CAAAA,EAAM,kBAAc,CAAKA,EAAM;AAAA,QAAsC,gBAAAA,EAAM;AAAA,QAAoC,aAAA,CAAAA,EAAM;AAAA,MAAA;MAMrM,aAAU;AAAA,IAAA;MAGVG,EAAaC,EAAA,QAAA,SAAA;AAAA,IAAA;;;"}
1
+ {"version":3,"file":"Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.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 +1 @@
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: undefined,\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 ? true : undefined\"\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","_createBlock","_resolveDynamicComponent","_mergeProps","_unref","Icon","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;AAgEE,UAAMA,IAAQC,GAYRC,IAAUC,EAAA;AAEhB,QAAKC;AAAL,KAAA,CAAKA,MAAL;AACEA,MAAAA,EAAA,OAAO,QACPA,EAAA,YAAY,aACZA,EAAA,YAAY,aACZA,EAAA,WAAW,YACXA,EAAA,SAAS,UACTA,EAAA,UAAU;AAAA,IAAA,GANPA,MAAAA,IAAA,CAAA,EAAA;AAWL,UAAMC,IAAaC,EAAqB,MAAM;AAC5C,iBAAWC,KAAQ,OAAO,OAAOH,CAAW;AAC1C,YAAIJ,EAAMO,CAAI;AACZ,iBAAOA;AAIX,aAAO;AAAA,IACT,CAAC,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,CAAA,CACR;2BAIDU,EAoBYC,EAnBLH,EAAA,KAAE,GADTI,EAoBY;AAAA,MAlBT,UAAUZ,EAAM,aAAaA,EAAM,WAAQ,KAAU;AAAA,IAAA,GAC9CS,EAAA,OAAW;AAAA,MACnB,QAAM,gBAAc;AAAA,QACJI,EAAAX,CAAA,EAAQ;AAAA,yBAA+BG,EAAA,KAAU;AAAA,QAAUQ,EAAAX,CAAA,aAAmBG,EAAA,KAAU,EAAA;AAAA;UAAuC,CAAA,iBAAAL,EAAM,KAAK,EAAA,GAAKA,EAAM;AAAA,UAAgB,CAAAa,EAAAX,CAAA,aAAmBF,EAAM,KAAK,EAAA,CAAA,GAAMA,EAAM;AAAA,UAA2C,4BAAAA,EAAM;AAAA,QAAA;AAAA;MAUhR,aAAU;AAAA,IAAA;iBAEV,MAA4E;AAAA,QAAhEA,EAAM,kBAAlBU,EAA4EI,GAAA;AAAA;UAA/C,MAAK;AAAA,UAAgB,OAAM;AAAA,QAAA,MAExDC,EAAoBC,EAAA,QAAA,WAAA,EAAA,KAAA,EAAA,CAAA;AAAA,MAAA;;;;;;;;;;;;;;;;;;;"}
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: undefined,\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 ? true : undefined\"\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,EAAa;AAExB,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,IAAA,GANPA,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,IACZ,IAGEA,EAAM,OACD;AAAA,MACL,MAAMA,EAAM;AAAA,IACd,IAGK,CAAC,CACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,18 +1,41 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
  import { RouteLocationAsPathGeneric } from 'vue-router';
6
8
  import { RouteLocationAsRelativeGeneric } from 'vue-router';
7
9
  import { RouteLocationRaw } from 'vue-router';
8
10
 
11
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+
13
+ declare type __VLS_Prettify<T> = {
14
+ [K in keyof T]: T[K];
15
+ } & {};
16
+
17
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
18
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
19
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
20
+ } : {
21
+ type: PropType<T[K]>;
22
+ required: true;
23
+ };
24
+ };
25
+
26
+ declare type __VLS_WithDefaults<P, D> = {
27
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
28
+ default: D[K];
29
+ }> : P[K];
30
+ };
31
+
9
32
  declare type __VLS_WithTemplateSlots<T, S> = T & {
10
33
  new (): {
11
34
  $slots: S;
12
35
  };
13
36
  };
14
37
 
15
- declare interface ButtonProps {
38
+ export declare interface ButtonProps {
16
39
  /**
17
40
  * Renders the secondary variant
18
41
  */
@@ -55,18 +78,40 @@ declare interface ButtonProps {
55
78
  disabled?: boolean;
56
79
  }
57
80
 
58
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<ButtonProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
59
- color: "blue" | "red";
81
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonProps>, {
82
+ secondary: boolean;
60
83
  icon: boolean;
84
+ iconLabel: boolean;
85
+ tertiary: boolean;
86
+ inline: boolean;
87
+ color: undefined;
61
88
  href: string;
89
+ to: undefined;
90
+ isLoading: boolean;
91
+ disabled: undefined;
92
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonProps>, {
62
93
  secondary: boolean;
94
+ icon: boolean;
63
95
  iconLabel: boolean;
64
96
  tertiary: boolean;
65
97
  inline: boolean;
66
- to: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric;
98
+ color: undefined;
99
+ href: string;
100
+ to: undefined;
67
101
  isLoading: boolean;
102
+ disabled: undefined;
103
+ }>>> & Readonly<{}>, {
104
+ to: string | RouteLocationAsRelativeGeneric | RouteLocationAsPathGeneric;
68
105
  disabled: boolean;
69
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>, {
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;
114
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
70
115
  default?(_: {}): any;
71
116
  }>;
72
117
  export default _default;
@@ -1,53 +1,57 @@
1
- import { defineComponent as _, computed as i, ref as f, createElementBlock as o, openBlock as l, normalizeClass as c, Fragment as b, renderList as m, withModifiers as g, toDisplayString as $ } from "vue";
2
- import y from "lodash-es/uniqueId";
3
- import { _ as B } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
- const h = ["data-test"], w = ["data-test", "disabled", "onClick"], z = {
1
+ import { defineComponent as m, computed as r, ref as g, createElementBlock as l, openBlock as s, normalizeClass as p, Fragment as $, renderList as y, withModifiers as B, toDisplayString as h } from "vue";
2
+ import w from "lodash-es/uniqueId";
3
+ import { _ as z } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
+ const k = ["data-test"], C = ["data-test", "disabled", "onClick"], G = {
5
5
  name: "ll-button-group"
6
- }, k = /* @__PURE__ */ _({
7
- ...z,
6
+ }, D = /* @__PURE__ */ m({
7
+ ...G,
8
8
  props: {
9
- groupName: { default: y() },
9
+ groupName: { default: w() },
10
10
  options: {},
11
11
  fullWidth: { type: Boolean, default: !1 },
12
12
  disabled: { type: Boolean, default: !1 },
13
13
  allowDeactivate: { type: Boolean, default: !1 }
14
14
  },
15
15
  emits: ["input"],
16
- setup(d, { emit: r }) {
17
- const e = d, p = r, s = i(() => e.options.length === 1), u = i(() => e.allowDeactivate || s.value), n = f(e.options.find((t) => t.active) || null);
18
- function v(t) {
19
- u.value && n.value?.id === t.id ? n.value = null : n.value = t, p("input", n.value);
16
+ setup(v, { emit: _ }) {
17
+ const e = v, f = _, u = r(() => e.options.length === 1), i = r(() => e.allowDeactivate || u.value), n = g(e.options.find((t) => t.active) || null);
18
+ function b(t) {
19
+ var o;
20
+ i.value && ((o = n.value) == null ? void 0 : o.id) === t.id ? n.value = null : n.value = t, f("input", n.value);
20
21
  }
21
- return (t, W) => (l(), o("div", {
22
- class: c([
22
+ return (t, o) => (s(), l("div", {
23
+ class: p([
23
24
  "tw-flex",
24
25
  t.$style.buttonGroup,
25
26
  { "tw-w-full": e.fullWidth },
26
- { [t.$style.single]: s.value },
27
- { [t.$style["can-deactivate"]]: u.value }
27
+ { [t.$style.single]: u.value },
28
+ { [t.$style["can-deactivate"]]: i.value }
28
29
  ]),
29
30
  "data-test": `button-group-${t.$props.groupName}`
30
31
  }, [
31
- (l(!0), o(b, null, m(e.options, (a) => (l(), o("button", {
32
- key: `${e.groupName}-${a.id}`,
33
- class: c([t.$style.button, { [t.$style.active]: n.value?.id === a.id }]),
34
- "data-test": `${e.groupName}-button-${n.value?.id === a.id ? "active" : "inactive"}`,
35
- tabindex: 0,
36
- disabled: e.disabled,
37
- onClick: g((q) => v(a), ["prevent"])
38
- }, $(a.text), 11, w))), 128))
39
- ], 10, h));
32
+ (s(!0), l($, null, y(e.options, (a) => {
33
+ var c, d;
34
+ return s(), l("button", {
35
+ key: `${e.groupName}-${a.id}`,
36
+ class: p([t.$style.button, { [t.$style.active]: ((c = n.value) == null ? void 0 : c.id) === a.id }]),
37
+ "data-test": `${e.groupName}-button-${((d = n.value) == null ? void 0 : d.id) === a.id ? "active" : "inactive"}`,
38
+ tabindex: 0,
39
+ disabled: e.disabled,
40
+ onClick: B((F) => b(a), ["prevent"])
41
+ }, h(a.text), 11, C);
42
+ }), 128))
43
+ ], 10, k));
40
44
  }
41
- }), C = "_buttonGroup_1bnlz_3", G = "_button_1bnlz_3", D = "_single_1bnlz_17", N = "_active_1bnlz_29", M = {
42
- buttonGroup: C,
43
- button: G,
44
- single: D,
45
- active: N,
45
+ }), N = "_buttonGroup_1bnlz_3", M = "_button_1bnlz_3", S = "_single_1bnlz_17", W = "_active_1bnlz_29", q = {
46
+ buttonGroup: N,
47
+ button: M,
48
+ single: S,
49
+ active: W,
46
50
  "can-deactivate": "_can-deactivate_1bnlz_42"
47
- }, S = {
48
- $style: M
49
- }, L = /* @__PURE__ */ B(k, [["__cssModules", S]]);
51
+ }, E = {
52
+ $style: q
53
+ }, x = /* @__PURE__ */ z(D, [["__cssModules", E]]);
50
54
  export {
51
- L as default
55
+ x as default
52
56
  };
53
57
  //# sourceMappingURL=ButtonGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.js","sources":["../src/components/ButtonGroup/ButtonGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * @deprecated use RadioGroup instead with `variant=\"button\"`.\n * RadioGroup uses pretty much the same API as the ButtonGroup,\n * but every button is a radio element which makes more sense semantically.\n */\n export default {\n name: 'll-button-group',\n };\n</script>\n\n<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, ref } from 'vue';\n\n export interface ButtonGroupOption {\n id: string;\n active?: boolean;\n text: string;\n }\n\n export interface ButtonGroupProps {\n /**\n * A name for the group, useful when multiple ButtonGroups exist on the page\n */\n groupName?: string;\n\n /**\n * The list of buttons to render\n */\n options: ButtonGroupOption[];\n\n /**\n * Whether the group should expand to the parent's width\n */\n fullWidth?: boolean;\n\n /**\n * Whether the entire group should be disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the active button can be deactivated\n */\n allowDeactivate?: boolean;\n }\n\n const props = withDefaults(defineProps<ButtonGroupProps>(), {\n groupName: uniqueId(),\n fullWidth: false,\n disabled: false,\n allowDeactivate: false,\n });\n\n const emit = defineEmits<{\n (e: 'input', activeButton: ButtonGroupOption | null): void;\n }>();\n\n const isSingleButton = computed(() => props.options.length === 1);\n\n const canDeactivate = computed(() => props.allowDeactivate || isSingleButton.value);\n\n const activeButton = ref(props.options.find((o) => o.active) || null);\n\n function onClick(clickedOption: ButtonGroupOption) {\n if (canDeactivate.value && activeButton.value?.id === clickedOption.id) {\n activeButton.value = null;\n } else {\n activeButton.value = clickedOption;\n }\n\n emit('input', activeButton.value);\n }\n</script>\n\n<template>\n <div\n :class=\"[\n 'tw-flex',\n $style.buttonGroup,\n { 'tw-w-full': props.fullWidth },\n { [$style.single]: isSingleButton },\n { [$style['can-deactivate']]: canDeactivate },\n ]\"\n :data-test=\"`button-group-${$props.groupName}`\"\n >\n <button\n v-for=\"option in props.options\"\n :key=\"`${props.groupName}-${option.id}`\"\n :class=\"[$style.button, { [$style.active]: activeButton?.id === option.id }]\"\n :data-test=\"`${props.groupName}-button-${activeButton?.id === option.id ? 'active' : 'inactive'}`\"\n :tabindex=\"0\"\n :disabled=\"props.disabled\"\n @click.prevent=\"onClick(option)\"\n >\n {{ option.text }}\n </button>\n </div>\n</template>\n\n<style module>\n /* full width buttons */\n .buttonGroup:global(.w-full) > button {\n flex: 1 1 50%;\n max-width: 100%;\n }\n\n .button {\n border: 1px solid var(--color-ice-500);\n border-radius: 0;\n font-weight: theme('fontWeight.semibold');\n line-height: theme('lineHeight.body');\n min-width: 100px;\n padding: 7px 8px;\n }\n\n .single .button {\n border: 1px solid var(--color-ice-700);\n color: var(--color-ice-700);\n }\n\n .button:focus,\n .button:hover {\n border: 1px solid var(--color-blue-500) !important;\n color: var(--color-blue-500);\n z-index: 1;\n }\n\n .button.active {\n background-color: var(--color-blue-100);\n border: 1px solid var(--color-blue-500) !important;\n color: var(--color-blue-500);\n cursor: default;\n z-index: 1;\n }\n\n .button.active + button {\n border-left: 1px solid transparent;\n }\n\n .single .button.active,\n .can-deactivate .button.active {\n cursor: pointer;\n }\n\n .button[disabled] {\n color: var(--color-ice-500);\n cursor: default;\n pointer-events: none;\n }\n\n .button:focus {\n box-shadow: none;\n outline: 0;\n }\n\n .button:not(:first-child) {\n margin-left: -1px;\n }\n\n .button:not(:last-child) {\n border-right: 1px solid transparent;\n }\n\n .button:first-child {\n border-bottom-left-radius: theme('borderRadius.DEFAULT');\n border-top-left-radius: theme('borderRadius.DEFAULT');\n }\n\n .button:last-child {\n border-bottom-right-radius: theme('borderRadius.DEFAULT');\n border-top-right-radius: theme('borderRadius.DEFAULT');\n }\n</style>\n"],"names":["__default__","props","__props","emit","__emit","isSingleButton","computed","canDeactivate","activeButton","ref","o","onClick","clickedOption","_createElementBlock","_normalizeClass","$style","$props","_openBlock","_Fragment","_renderList","option","_withModifiers","$event","_toDisplayString","_hoisted_2"],"mappings":";;;mEAMEA,IAAe;AAAA,EACb,MAAM;AACR;;;;;;;;;;;AAwCA,UAAMC,IAAQC,GAORC,IAAOC,GAIPC,IAAiBC,EAAS,MAAML,EAAM,QAAQ,WAAW,CAAC,GAE1DM,IAAgBD,EAAS,MAAML,EAAM,mBAAmBI,EAAe,KAAK,GAE5EG,IAAeC,EAAIR,EAAM,QAAQ,KAAK,CAACS,MAAMA,EAAE,MAAM,KAAK,IAAI;AAEpE,aAASC,EAAQC,GAAkC;AACjD,MAAIL,EAAc,SAASC,EAAa,OAAO,OAAOI,EAAc,KAClEJ,EAAa,QAAQ,OAErBA,EAAa,QAAQI,GAGvBT,EAAK,SAASK,EAAa,KAAK;AAAA,IAClC;2BAIAK,EAqBM,OAAA;AAAA,MApBH,OAAKC,EAAA;AAAA;QAA2BC,EAAAA,OAAO;AAAA,QAAkC,EAAA,aAAAd,EAAM,UAAA;AAAA,WAAsBc,EAAAA,OAAO,MAAM,GAAGV,EAAA,MAAA;AAAA,QAA2BU,EAAAA,CAAAA,EAAAA,2BAA2BR,EAAA,MAAA;AAAA,MAAa;MAOxL,aAAS,gBAAkBS,EAAAA,OAAO,SAAS;AAAA,IAAA;OAE5CC,EAAA,EAAA,GAAAJ,EAUSK,GAAA,MAAAC,EATUlB,EAAM,UAAhBmB,YADTP,EAUS,UAAA;AAAA,QARN,QAAQZ,EAAM,SAAS,IAAImB,EAAO,EAAE;AAAA,QACpC,OAAKN,EAAA,CAAGC,EAAAA,OAAO,WAAWA,EAAAA,OAAO,MAAM,GAAGP,SAAc,OAAOY,EAAO,GAAA,CAAE,CAAA;AAAA,QACxE,aAAS,GAAKnB,EAAM,SAAS,WAAWO,EAAA,OAAc,OAAOY,EAAO,KAAE,WAAA,UAAA;AAAA,QACtE,UAAU;AAAA,QACV,UAAUnB,EAAM;AAAA,QAChB,SAAKoB,EAAA,CAAAC,MAAUX,EAAQS,CAAM,GAAA,CAAA,SAAA,CAAA;AAAA,MAAA,GAE3BG,EAAAH,EAAO,IAAI,GAAA,IAAAI,CAAA;;;;;;;;;;;;"}
1
+ {"version":3,"file":"ButtonGroup.js","sources":["../src/components/ButtonGroup/ButtonGroup.vue"],"sourcesContent":["<script lang=\"ts\">\n /**\n * @deprecated use RadioGroup instead with `variant=\"button\"`.\n * RadioGroup uses pretty much the same API as the ButtonGroup,\n * but every button is a radio element which makes more sense semantically.\n */\n export default {\n name: 'll-button-group',\n };\n</script>\n\n<script lang=\"ts\" setup>\n import uniqueId from 'lodash-es/uniqueId';\n import { computed, ref } from 'vue';\n\n export interface ButtonGroupOption {\n id: string;\n active?: boolean;\n text: string;\n }\n\n export interface ButtonGroupProps {\n /**\n * A name for the group, useful when multiple ButtonGroups exist on the page\n */\n groupName?: string;\n\n /**\n * The list of buttons to render\n */\n options: ButtonGroupOption[];\n\n /**\n * Whether the group should expand to the parent's width\n */\n fullWidth?: boolean;\n\n /**\n * Whether the entire group should be disabled\n */\n disabled?: boolean;\n\n /**\n * Whether the active button can be deactivated\n */\n allowDeactivate?: boolean;\n }\n\n const props = withDefaults(defineProps<ButtonGroupProps>(), {\n groupName: uniqueId(),\n fullWidth: false,\n disabled: false,\n allowDeactivate: false,\n });\n\n const emit = defineEmits<{\n (e: 'input', activeButton: ButtonGroupOption | null): void;\n }>();\n\n const isSingleButton = computed(() => props.options.length === 1);\n\n const canDeactivate = computed(() => props.allowDeactivate || isSingleButton.value);\n\n const activeButton = ref(props.options.find((o) => o.active) || null);\n\n function onClick(clickedOption: ButtonGroupOption) {\n if (canDeactivate.value && activeButton.value?.id === clickedOption.id) {\n activeButton.value = null;\n } else {\n activeButton.value = clickedOption;\n }\n\n emit('input', activeButton.value);\n }\n</script>\n\n<template>\n <div\n :class=\"[\n 'tw-flex',\n $style.buttonGroup,\n { 'tw-w-full': props.fullWidth },\n { [$style.single]: isSingleButton },\n { [$style['can-deactivate']]: canDeactivate },\n ]\"\n :data-test=\"`button-group-${$props.groupName}`\"\n >\n <button\n v-for=\"option in props.options\"\n :key=\"`${props.groupName}-${option.id}`\"\n :class=\"[$style.button, { [$style.active]: activeButton?.id === option.id }]\"\n :data-test=\"`${props.groupName}-button-${activeButton?.id === option.id ? 'active' : 'inactive'}`\"\n :tabindex=\"0\"\n :disabled=\"props.disabled\"\n @click.prevent=\"onClick(option)\"\n >\n {{ option.text }}\n </button>\n </div>\n</template>\n\n<style module>\n /* full width buttons */\n .buttonGroup:global(.w-full) > button {\n flex: 1 1 50%;\n max-width: 100%;\n }\n\n .button {\n border: 1px solid var(--color-ice-500);\n border-radius: 0;\n font-weight: theme('fontWeight.semibold');\n line-height: theme('lineHeight.body');\n min-width: 100px;\n padding: 7px 8px;\n }\n\n .single .button {\n border: 1px solid var(--color-ice-700);\n color: var(--color-ice-700);\n }\n\n .button:focus,\n .button:hover {\n border: 1px solid var(--color-blue-500) !important;\n color: var(--color-blue-500);\n z-index: 1;\n }\n\n .button.active {\n background-color: var(--color-blue-100);\n border: 1px solid var(--color-blue-500) !important;\n color: var(--color-blue-500);\n cursor: default;\n z-index: 1;\n }\n\n .button.active + button {\n border-left: 1px solid transparent;\n }\n\n .single .button.active,\n .can-deactivate .button.active {\n cursor: pointer;\n }\n\n .button[disabled] {\n color: var(--color-ice-500);\n cursor: default;\n pointer-events: none;\n }\n\n .button:focus {\n box-shadow: none;\n outline: 0;\n }\n\n .button:not(:first-child) {\n margin-left: -1px;\n }\n\n .button:not(:last-child) {\n border-right: 1px solid transparent;\n }\n\n .button:first-child {\n border-bottom-left-radius: theme('borderRadius.DEFAULT');\n border-top-left-radius: theme('borderRadius.DEFAULT');\n }\n\n .button:last-child {\n border-bottom-right-radius: theme('borderRadius.DEFAULT');\n border-top-right-radius: theme('borderRadius.DEFAULT');\n }\n</style>\n"],"names":["__default__","props","__props","emit","__emit","isSingleButton","computed","canDeactivate","activeButton","ref","o","onClick","clickedOption","_a"],"mappings":";;;mEAMiBA,IAAA;AAAA,EACb,MAAM;AACR;;;;;;;;;;;AAwCA,UAAMC,IAAQC,GAORC,IAAOC,GAIPC,IAAiBC,EAAS,MAAML,EAAM,QAAQ,WAAW,CAAC,GAE1DM,IAAgBD,EAAS,MAAML,EAAM,mBAAmBI,EAAe,KAAK,GAE5EG,IAAeC,EAAIR,EAAM,QAAQ,KAAK,CAACS,MAAMA,EAAE,MAAM,KAAK,IAAI;AAEpE,aAASC,EAAQC,GAAkC;;AACjD,MAAIL,EAAc,WAASM,IAAAL,EAAa,UAAb,gBAAAK,EAAoB,QAAOD,EAAc,KAClEJ,EAAa,QAAQ,OAErBA,EAAa,QAAQI,GAGlBT,EAAA,SAASK,EAAa,KAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,38 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
6
- declare interface ButtonGroupOption {
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_Prettify<T> = {
11
+ [K in keyof T]: T[K];
12
+ } & {};
13
+
14
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
22
+
23
+ declare type __VLS_WithDefaults<P, D> = {
24
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
25
+ default: D[K];
26
+ }> : P[K];
27
+ };
28
+
29
+ export declare interface ButtonGroupOption {
7
30
  id: string;
8
31
  active?: boolean;
9
32
  text: string;
10
33
  }
11
34
 
12
- declare interface ButtonGroupProps {
35
+ export declare interface ButtonGroupProps {
13
36
  /**
14
37
  * A name for the group, useful when multiple ButtonGroups exist on the page
15
38
  */
@@ -37,16 +60,26 @@ declare interface ButtonGroupProps {
37
60
  * RadioGroup uses pretty much the same API as the ButtonGroup,
38
61
  * but every button is a radio element which makes more sense semantically.
39
62
  */
40
- declare const _default: DefineComponent<ButtonGroupProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
41
- input: (activeButton: ButtonGroupOption | null) => any;
42
- }, string, PublicProps, Readonly<ButtonGroupProps> & Readonly<{
63
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonGroupProps>, {
64
+ groupName: string;
65
+ fullWidth: boolean;
66
+ disabled: boolean;
67
+ allowDeactivate: boolean;
68
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
69
+ input: (activeButton: ButtonGroupOption | null) => void;
70
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ButtonGroupProps>, {
71
+ groupName: string;
72
+ fullWidth: boolean;
73
+ disabled: boolean;
74
+ allowDeactivate: boolean;
75
+ }>>> & Readonly<{
43
76
  onInput?: ((activeButton: ButtonGroupOption | null) => any) | undefined;
44
77
  }>, {
45
78
  disabled: boolean;
46
79
  groupName: string;
47
80
  fullWidth: boolean;
48
81
  allowDeactivate: boolean;
49
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
82
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
50
83
  export default _default;
51
84
 
52
85
  export { }
package/dist/Card.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../src/components/Card/Card.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n\n export interface CardProps {\n /**\n * Detach the actions from the top of the card, making them absolute-positioned.\n * @default false\n */\n detachActions?: boolean;\n }\n\n const props = withDefaults(defineProps<CardProps>(), {\n detachActions: false,\n });\n\n const slots = useSlots();\n</script>\n\n<template>\n <article\n class=\"stash-card tw-relative tw-inline-block tw-rounded tw-border tw-bg-white tw-shadow-md\"\n data-test=\"stash-card\"\n >\n <div\n v-if=\"slots['top-left'] || slots['top-right']\"\n data-test=\"card-actions\"\n :class=\"{ 'tw-absolute tw-top-0 tw-w-full': props.detachActions }\"\n class=\"tw-flex tw-flex-wrap tw-items-start tw-justify-between tw-p-6\"\n >\n <div>\n <!-- @slot Top left actions slot, for rendering content on the card top-left -->\n <slot name=\"top-left\"></slot>\n </div>\n <div>\n <!-- @slot Top right actions slot, for rendering content on the card top-right -->\n <slot name=\"top-right\"></slot>\n </div>\n </div>\n\n <div :class=\"{ 'tw-mb-6 tw-flex tw-h-full tw-flex-col tw-gap-y-6': slots['default'] }\">\n <!-- @slot Default slot, for rendering card subcomponents -->\n <slot></slot>\n </div>\n </article>\n</template>\n"],"names":["props","__props","slots","useSlots","_openBlock","_createElementBlock","_hoisted_1","_unref","_normalizeClass","_createElementVNode","_renderSlot","_ctx"],"mappings":";;;;;;;;;;AAWE,UAAMA,IAAQC,GAIRC,IAAQC,EAAA;sBAIdC,EAAA,GAAAC,EAwBU,WAxBVC,GAwBU;AAAA,MAnBAC,EAAAL,CAAA,iBAAqBK,EAAAL,CAAA,EAAK,WAAA,UADlCG,EAcM,OAAA;AAAA;QAZJ,aAAU;AAAA,QACT,OAAKG,EAAA,CAAA,EAAA,kCAAsCR,EAAM,cAAA,GAC5C,+DAA+D,CAAA;AAAA,MAAA;QAErES,EAGM,OAAA,MAAA;AAAA,UADJC,EAA6BC,EAAA,QAAA,UAAA;AAAA,QAAA;QAE/BF,EAGM,OAAA,MAAA;AAAA,UADJC,EAA8BC,EAAA,QAAA,WAAA;AAAA,QAAA;;MAIlCF,EAGM,OAAA;AAAA,QAHA,+DAA6DF,EAAAL,CAAA,EAAK,QAAA,CAAA;AAAA,MAAA;QAEtEQ,EAAaC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
1
+ {"version":3,"file":"Card.js","sources":["../src/components/Card/Card.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useSlots } from 'vue';\n\n export interface CardProps {\n /**\n * Detach the actions from the top of the card, making them absolute-positioned.\n * @default false\n */\n detachActions?: boolean;\n }\n\n const props = withDefaults(defineProps<CardProps>(), {\n detachActions: false,\n });\n\n const slots = useSlots();\n</script>\n\n<template>\n <article\n class=\"stash-card tw-relative tw-inline-block tw-rounded tw-border tw-bg-white tw-shadow-md\"\n data-test=\"stash-card\"\n >\n <div\n v-if=\"slots['top-left'] || slots['top-right']\"\n data-test=\"card-actions\"\n :class=\"{ 'tw-absolute tw-top-0 tw-w-full': props.detachActions }\"\n class=\"tw-flex tw-flex-wrap tw-items-start tw-justify-between tw-p-6\"\n >\n <div>\n <!-- @slot Top left actions slot, for rendering content on the card top-left -->\n <slot name=\"top-left\"></slot>\n </div>\n <div>\n <!-- @slot Top right actions slot, for rendering content on the card top-right -->\n <slot name=\"top-right\"></slot>\n </div>\n </div>\n\n <div :class=\"{ 'tw-mb-6 tw-flex tw-h-full tw-flex-col tw-gap-y-6': slots['default'] }\">\n <!-- @slot Default slot, for rendering card subcomponents -->\n <slot></slot>\n </div>\n </article>\n</template>\n"],"names":["props","__props","slots","useSlots"],"mappings":";;;;;;;;;;AAWE,UAAMA,IAAQC,GAIRC,IAAQC,EAAS;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +1,38 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_Prettify<T> = {
11
+ [K in keyof T]: T[K];
12
+ } & {};
13
+
14
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
22
+
23
+ declare type __VLS_WithDefaults<P, D> = {
24
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
25
+ default: D[K];
26
+ }> : P[K];
27
+ };
28
+
6
29
  declare type __VLS_WithTemplateSlots<T, S> = T & {
7
30
  new (): {
8
31
  $slots: S;
9
32
  };
10
33
  };
11
34
 
12
- declare interface CardProps {
35
+ export declare interface CardProps {
13
36
  /**
14
37
  * Detach the actions from the top of the card, making them absolute-positioned.
15
38
  * @default false
@@ -17,11 +40,15 @@ declare interface CardProps {
17
40
  detachActions?: boolean;
18
41
  }
19
42
 
20
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<CardProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<CardProps> & Readonly<{}>, {
43
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<CardProps>, {
44
+ detachActions: boolean;
45
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<CardProps>, {
46
+ detachActions: boolean;
47
+ }>>> & Readonly<{}>, {
21
48
  detachActions: boolean;
22
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>, {
23
- 'top-left'?(_: {}): any;
24
- 'top-right'?(_: {}): any;
49
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
50
+ "top-left"?(_: {}): any;
51
+ "top-right"?(_: {}): any;
25
52
  default?(_: {}): any;
26
53
  }>;
27
54
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"CardContent.js","sources":["../src/components/CardContent/CardContent.vue"],"sourcesContent":["<template>\n <div class=\"stash-card-content tw-px-6\" data-test=\"stash-card-content\">\n <!-- @slot Default slot, for rendering any card content -->\n <slot></slot>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_ctx"],"mappings":";;;EACO,OAAM;AAAA,EAA6B,aAAU;;;AAAlD,SAAAA,EAAA,GAAAC,EAGM,OAHNC,GAGM;AAAA,IADJC,EAAaC,EAAA,QAAA,SAAA;AAAA;;;"}
1
+ {"version":3,"file":"CardContent.js","sources":["../src/components/CardContent/CardContent.vue"],"sourcesContent":["<template>\n <div class=\"stash-card-content tw-px-6\" data-test=\"stash-card-content\">\n <!-- @slot Default slot, for rendering any card content -->\n <slot></slot>\n </div>\n</template>\n"],"names":["_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock"],"mappings":";;cACOA,IAAkC;AAAA,EAAC,OAAA;AAAA;;AAAxC,SAAAC,EAAAC,GAAAC,GAAA;SAEeC,EAAA,GAAAC,EAAA,OAAAL,GAAA;AAAA;;;;"}
@@ -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, {}, HTMLDivElement>, {
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;
@@ -1 +1 @@
1
- {"version":3,"file":"CardFooter.js","sources":["../src/components/CardFooter/CardFooter.vue"],"sourcesContent":["<template>\n <footer class=\"stash-card-footer tw-px-6\" data-test=\"stash-card-footer\">\n <!-- @slot Default slot, for rendering any card footer content -->\n <slot></slot>\n </footer>\n</template>\n"],"names":["_openBlock","_createElementBlock","_hoisted_1","_renderSlot","_ctx"],"mappings":";;;EACU,OAAM;AAAA,EAA4B,aAAU;;;AAApD,SAAAA,EAAA,GAAAC,EAGS,UAHTC,GAGS;AAAA,IADPC,EAAaC,EAAA,QAAA,SAAA;AAAA;;;"}
1
+ {"version":3,"file":"CardFooter.js","sources":["../src/components/CardFooter/CardFooter.vue"],"sourcesContent":["<template>\n <footer class=\"stash-card-footer tw-px-6\" data-test=\"stash-card-footer\">\n <!-- @slot Default slot, for rendering any card footer content -->\n <slot></slot>\n </footer>\n</template>\n"],"names":["_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock"],"mappings":";;cACUA,IAAiC;AAAA,EAAC,OAAA;AAAA;;AAA1C,SAAAC,EAAAC,GAAAC,GAAA;SAEeC,EAAA,GAAAC,EAAA,UAAAL,GAAA;AAAA;;;;"}
@@ -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, {}, HTMLElement>, {
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;
@@ -1 +1 @@
1
- {"version":3,"file":"CardHeader.js","sources":["../src/components/CardHeader/CardHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\n export interface CardHeaderProps {\n /**\n * Title to be displayed\n */\n title: string;\n /**\n * Subtitle to be displayed\n */\n subtitle?: string;\n /**\n * Additional text to be displayed\n */\n text?: string;\n }\n\n const props = defineProps<CardHeaderProps>();\n</script>\n\n<template>\n <header class=\"stash-card-header tw-px-6 tw-font-medium tw-text-ice-900\" data-test=\"stash-card-header\">\n <h4 class=\"tw-text-base\">\n {{ props.title }}\n </h4>\n <p v-if=\"props.subtitle\" class=\"tw-mb-0 tw-mt-1.5\">\n {{ props.subtitle }}\n </p>\n <span v-if=\"props.text\" class=\"tw-mt-1.5 tw-text-ice-700\">\n {{ props.text }}\n </span>\n </header>\n</template>\n"],"names":["props","__props","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_toDisplayString","_hoisted_3","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;;AAgBE,UAAMA,IAAQC;sBAIdC,EAAA,GAAAC,EAUS,UAVTC,GAUS;AAAA,MATPC,EAEK,MAFLC,GAEKC,EADAP,EAAM,KAAK,GAAA,CAAA;AAAA,MAEPA,EAAM,YAAfE,EAAA,GAAAC,EAEI,KAFJK,GAEID,EADCP,EAAM,QAAQ,GAAA,CAAA;MAEPA,EAAM,QAAlBE,EAAA,GAAAC,EAEO,QAFPM,GAEOF,EADFP,EAAM,IAAI,GAAA,CAAA;;;;"}
1
+ {"version":3,"file":"CardHeader.js","sources":["../src/components/CardHeader/CardHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\n export interface CardHeaderProps {\n /**\n * Title to be displayed\n */\n title: string;\n /**\n * Subtitle to be displayed\n */\n subtitle?: string;\n /**\n * Additional text to be displayed\n */\n text?: string;\n }\n\n const props = defineProps<CardHeaderProps>();\n</script>\n\n<template>\n <header class=\"stash-card-header tw-px-6 tw-font-medium tw-text-ice-900\" data-test=\"stash-card-header\">\n <h4 class=\"tw-text-base\">\n {{ props.title }}\n </h4>\n <p v-if=\"props.subtitle\" class=\"tw-mb-0 tw-mt-1.5\">\n {{ props.subtitle }}\n </p>\n <span v-if=\"props.text\" class=\"tw-mt-1.5 tw-text-ice-700\">\n {{ props.text }}\n </span>\n </header>\n</template>\n"],"names":["props","__props"],"mappings":";;;;;;;;;;;;;;;;;;AAgBE,UAAMA,IAAQC;;;;;;;;"}
@@ -1,9 +1,22 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
6
- declare interface CardHeaderProps {
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
11
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
12
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
13
+ } : {
14
+ type: PropType<T[K]>;
15
+ required: true;
16
+ };
17
+ };
18
+
19
+ export declare interface CardHeaderProps {
7
20
  /**
8
21
  * Title to be displayed
9
22
  */
@@ -18,7 +31,7 @@ declare interface CardHeaderProps {
18
31
  text?: string;
19
32
  }
20
33
 
21
- declare const _default: DefineComponent<CardHeaderProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<CardHeaderProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
34
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<CardHeaderProps>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<CardHeaderProps>>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
22
35
  export default _default;
23
36
 
24
37
  export { }
@@ -1 +1 @@
1
- {"version":3,"file":"CardMedia.js","sources":["../src/components/CardMedia/CardMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ref, useCssModule } from 'vue';\n\n import Icon from '../Icon/Icon.vue';\n\n export interface CardMediaProps {\n /**\n * The image source.\n */\n src: string;\n /**\n * The image alternative text.\n */\n alt?: string;\n }\n\n const isLoading = ref(true);\n\n const hasErrored = ref(false);\n\n const props = defineProps<CardMediaProps>();\n\n const classes = useCssModule();\n</script>\n\n<template>\n <div class=\"stash-card-media\" data-test=\"stash-card-media\">\n <div\n v-if=\"isLoading || hasErrored\"\n :class=\"classes.placeholder\"\n class=\"tw-flex tw-w-full tw-items-center tw-justify-center tw-rounded-t tw-bg-ice-200\"\n >\n <Icon name=\"image\" :class=\"classes.iconSize\" />\n </div>\n <img\n :src=\"props.src\"\n class=\"tw-w-full tw-rounded-t\"\n :alt=\"props.alt\"\n @load=\"() => (isLoading = false)\"\n @error=\"() => (hasErrored = true)\"\n />\n </div>\n</template>\n\n<style module>\n .placeholder {\n height: 300px;\n width: 100%;\n }\n\n .iconSize {\n width: 189px;\n height: 189px;\n }\n</style>\n"],"names":["isLoading","ref","hasErrored","props","__props","classes","useCssModule","_openBlock","_createElementBlock","_hoisted_1","_normalizeClass","_unref","_createVNode","Icon","_createElementVNode"],"mappings":";;;;;;;;;;;;;AAgBE,UAAMA,IAAYC,EAAI,EAAI,GAEpBC,IAAaD,EAAI,EAAK,GAEtBE,IAAQC,GAERC,IAAUC,EAAA;sBAIhBC,EAAA,GAAAC,EAeM,OAfNC,GAeM;AAAA,MAbIT,EAAA,SAAaE,EAAA,cADrBM,EAMM,OAAA;AAAA;QAJH,OAAKE,EAAA,CAAEC,EAAAN,CAAA,EAAQ,aACV,gFAAgF,CAAA;AAAA,MAAA;QAEtFO,EAA+CC,GAAA;AAAA,UAAzC,MAAK;AAAA,UAAS,OAAKH,EAAEC,EAAAN,CAAA,EAAQ,QAAQ;AAAA,QAAA;;MAE7CS,EAME,OAAA;AAAA,QALC,KAAKX,EAAM;AAAA,QACZ,OAAM;AAAA,QACL,KAAKA,EAAM;AAAA,QACX,8BAAaH,EAAA,QAAS;AAAA,QACtB,+BAAcE,EAAA,QAAU;AAAA,MAAA;;;;;;;;;"}
1
+ {"version":3,"file":"CardMedia.js","sources":["../src/components/CardMedia/CardMedia.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ref, useCssModule } from 'vue';\n\n import Icon from '../Icon/Icon.vue';\n\n export interface CardMediaProps {\n /**\n * The image source.\n */\n src: string;\n /**\n * The image alternative text.\n */\n alt?: string;\n }\n\n const isLoading = ref(true);\n\n const hasErrored = ref(false);\n\n const props = defineProps<CardMediaProps>();\n\n const classes = useCssModule();\n</script>\n\n<template>\n <div class=\"stash-card-media\" data-test=\"stash-card-media\">\n <div\n v-if=\"isLoading || hasErrored\"\n :class=\"classes.placeholder\"\n class=\"tw-flex tw-w-full tw-items-center tw-justify-center tw-rounded-t tw-bg-ice-200\"\n >\n <Icon name=\"image\" :class=\"classes.iconSize\" />\n </div>\n <img\n :src=\"props.src\"\n class=\"tw-w-full tw-rounded-t\"\n :alt=\"props.alt\"\n @load=\"() => (isLoading = false)\"\n @error=\"() => (hasErrored = true)\"\n />\n </div>\n</template>\n\n<style module>\n .placeholder {\n height: 300px;\n width: 100%;\n }\n\n .iconSize {\n width: 189px;\n height: 189px;\n }\n</style>\n"],"names":["isLoading","ref","hasErrored","props","__props","classes","useCssModule"],"mappings":";;;;;;;;;;;;;AAgBQ,UAAAA,IAAYC,EAAI,EAAI,GAEpBC,IAAaD,EAAI,EAAK,GAEtBE,IAAQC,GAERC,IAAUC,EAAa;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,22 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
6
- declare interface CardMediaProps {
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
11
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
12
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
13
+ } : {
14
+ type: PropType<T[K]>;
15
+ required: true;
16
+ };
17
+ };
18
+
19
+ export declare interface CardMediaProps {
7
20
  /**
8
21
  * The image source.
9
22
  */
@@ -14,7 +27,7 @@ declare interface CardMediaProps {
14
27
  alt?: string;
15
28
  }
16
29
 
17
- declare const _default: DefineComponent<CardMediaProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<CardMediaProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
30
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<CardMediaProps>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<CardMediaProps>>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
18
31
  export default _default;
19
32
 
20
33
  export { }