@leaflink/stash 51.9.3 → 51.10.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 (369) hide show
  1. package/assets/icons/cloud-share.svg +1 -0
  2. package/assets/spritesheet.svg +1 -1
  3. package/dist/Accordion.js.map +1 -1
  4. package/dist/Accordion.vue.d.ts +7 -38
  5. package/dist/ActionsDropdown.js +2 -2
  6. package/dist/ActionsDropdown.js.map +1 -1
  7. package/dist/ActionsDropdown.vue.d.ts +0 -74
  8. package/dist/AddressSelect.js +56 -60
  9. package/dist/AddressSelect.js.map +1 -1
  10. package/dist/AddressSelect.vue.d.ts +8 -65
  11. package/dist/Alert.js.map +1 -1
  12. package/dist/Alert.vue.d.ts +4 -41
  13. package/dist/AppNavigationItem.js.map +1 -1
  14. package/dist/AppNavigationItem.vue.d.ts +5 -32
  15. package/dist/AppSidebar.js.map +1 -1
  16. package/dist/AppSidebar.vue.d.ts +8 -35
  17. package/dist/AppTopbar.js +1 -1
  18. package/dist/AppTopbar.js.map +1 -1
  19. package/dist/AppTopbar.vue.d.ts +4 -33
  20. package/dist/Avatar.js.map +1 -1
  21. package/dist/Avatar.vue.d.ts +5 -44
  22. package/dist/Backdrop.js.map +1 -1
  23. package/dist/Backdrop.vue.d.ts +1 -1
  24. package/dist/Badge.js.map +1 -1
  25. package/dist/Badge.vue.d.ts +6 -55
  26. package/dist/Box.vue.d.ts +3 -36
  27. package/dist/Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map +1 -1
  28. package/dist/Button.js.map +1 -1
  29. package/dist/Button.vue.d.ts +5 -50
  30. package/dist/ButtonGroup.js +33 -37
  31. package/dist/ButtonGroup.js.map +1 -1
  32. package/dist/ButtonGroup.vue.d.ts +6 -39
  33. package/dist/Card.js.map +1 -1
  34. package/dist/Card.vue.d.ts +5 -32
  35. package/dist/CardContent.js.map +1 -1
  36. package/dist/CardContent.vue.d.ts +1 -1
  37. package/dist/CardFooter.js.map +1 -1
  38. package/dist/CardFooter.vue.d.ts +1 -1
  39. package/dist/CardHeader.js.map +1 -1
  40. package/dist/CardHeader.vue.d.ts +2 -15
  41. package/dist/CardMedia.js.map +1 -1
  42. package/dist/CardMedia.vue.d.ts +2 -15
  43. package/dist/Carousel.js +66 -72
  44. package/dist/Carousel.js.map +1 -1
  45. package/dist/Carousel.vue.d.ts +10 -10
  46. package/dist/Checkbox.js.map +1 -1
  47. package/dist/Checkbox.vue.d.ts +8 -53
  48. package/dist/ChevronToggle.vue.d.ts +7 -34
  49. package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
  50. package/dist/Chip.js.map +1 -1
  51. package/dist/Chip.vue.d.ts +10 -52
  52. package/dist/ConfirmationCodeInput.js +40 -44
  53. package/dist/ConfirmationCodeInput.js.map +1 -1
  54. package/dist/ConfirmationCodeInput.vue.d.ts +8 -43
  55. package/dist/ContextSwitcher.js.map +1 -1
  56. package/dist/ContextSwitcher.vue.d.ts +6 -41
  57. package/dist/Copy.js.map +1 -1
  58. package/dist/Copy.vue.d.ts +3 -34
  59. package/dist/CurrencyInput.js +20 -21
  60. package/dist/CurrencyInput.js.map +1 -1
  61. package/dist/CurrencyInput.vue.d.ts +125 -46
  62. package/dist/CustomRender.js.map +1 -1
  63. package/dist/DataView.js +94 -96
  64. package/dist/DataView.js.map +1 -1
  65. package/dist/DataView.keys-aSOnA4AD.js.map +1 -1
  66. package/dist/DataView.vue.d.ts +15 -57
  67. package/dist/DataViewFilters.js +127 -139
  68. package/dist/DataViewFilters.js.map +1 -1
  69. package/dist/DataViewFilters.keys-BLu07FiP.js.map +1 -1
  70. package/dist/DataViewFilters.vue.d.ts +9 -54
  71. package/dist/DataViewSortButton.js +2 -2
  72. package/dist/DataViewSortButton.js.map +1 -1
  73. package/dist/DataViewSortButton.vue.d.ts +3 -30
  74. package/dist/DataViewToolbar.js +70 -62
  75. package/dist/DataViewToolbar.js.map +1 -1
  76. package/dist/DataViewToolbar.vue.d.ts +5 -40
  77. package/dist/DatePicker.js +4524 -4636
  78. package/dist/DatePicker.js.map +1 -1
  79. package/dist/DatePicker.vue.d.ts +32 -81
  80. package/dist/DescriptionList.js.map +1 -1
  81. package/dist/DescriptionList.vue.d.ts +3 -32
  82. package/dist/DescriptionListDetail.js.map +1 -1
  83. package/dist/DescriptionListDetail.vue.d.ts +1 -1
  84. package/dist/DescriptionListGroup.js.map +1 -1
  85. package/dist/DescriptionListGroup.vue.d.ts +1 -1
  86. package/dist/DescriptionListTerm.js.map +1 -1
  87. package/dist/DescriptionListTerm.vue.d.ts +1 -1
  88. package/dist/Dialog.js.map +1 -1
  89. package/dist/Dialog.vue.d.ts +10 -53
  90. package/dist/Divider.js.map +1 -1
  91. package/dist/Dropdown.js +89 -95
  92. package/dist/Dropdown.js.map +1 -1
  93. package/dist/Dropdown.vue.d.ts +12 -48
  94. package/dist/EmptyState.js +1 -1
  95. package/dist/EmptyState.js.map +1 -1
  96. package/dist/EmptyState.vue.d.ts +5 -62
  97. package/dist/Expand.vue.d.ts +10 -40
  98. package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map +1 -1
  99. package/dist/Field.vue.d.ts +4 -53
  100. package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +1 -1
  101. package/dist/FileUpload.js +72 -74
  102. package/dist/FileUpload.js.map +1 -1
  103. package/dist/FileUpload.vue.d.ts +10 -44
  104. package/dist/FilterChip.js.map +1 -1
  105. package/dist/FilterChip.vue.d.ts +6 -41
  106. package/dist/FilterDrawerItem.js +21 -21
  107. package/dist/FilterDrawerItem.js.map +1 -1
  108. package/dist/FilterDrawerItem.vue.d.ts +6 -23
  109. package/dist/FilterDropdown.js +63 -69
  110. package/dist/FilterDropdown.js.map +1 -1
  111. package/dist/FilterDropdown.vue.d.ts +122 -35
  112. package/dist/FilterSelect.js.map +1 -1
  113. package/dist/FilterSelect.vue.d.ts +4 -31
  114. package/dist/Filters.js +157 -164
  115. package/dist/Filters.js.map +1 -1
  116. package/dist/Filters.vue.d.ts +0 -2190
  117. package/dist/HttpError.js +7 -7
  118. package/dist/HttpError.js.map +1 -1
  119. package/dist/HttpError.vue.d.ts +4 -41
  120. package/dist/Icon.js +16 -15
  121. package/dist/Icon.js.map +1 -1
  122. package/dist/Icon.vue.d.ts +4 -37
  123. package/dist/IconLabel.js.map +1 -1
  124. package/dist/IconLabel.vue.d.ts +6 -41
  125. package/dist/Illustration.js +2 -2
  126. package/dist/Illustration.vue.d.ts +3 -42
  127. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js → Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js} +11 -11
  128. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js.map → Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js.map} +1 -1
  129. package/dist/Image.js +2 -2
  130. package/dist/Image.vue.d.ts +5 -40
  131. package/dist/{Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js → Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js} +37 -41
  132. package/dist/{Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map → Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js.map} +1 -1
  133. package/dist/InlineEdit.js.map +1 -1
  134. package/dist/InlineEdit.vue.d.ts +126 -47
  135. package/dist/Input.js.map +1 -1
  136. package/dist/Input.vue.d.ts +12 -45
  137. package/dist/InputOptions.js +66 -69
  138. package/dist/InputOptions.js.map +1 -1
  139. package/dist/InputOptions.vue.d.ts +10 -55
  140. package/dist/IntegrationIcon.js +7 -7
  141. package/dist/IntegrationIcon.js.map +1 -1
  142. package/dist/IntegrationIcon.vue.d.ts +3 -36
  143. package/dist/Label.vue.d.ts +3 -42
  144. package/dist/Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map +1 -1
  145. package/dist/LicenseChip.js.map +1 -1
  146. package/dist/LicenseChip.vue.d.ts +3 -30
  147. package/dist/ListItem.js.map +1 -1
  148. package/dist/ListItem.vue.d.ts +0 -294
  149. package/dist/ListItemCell.js.map +1 -1
  150. package/dist/ListItemCell.vue.d.ts +0 -21
  151. package/dist/ListView.js +4 -7
  152. package/dist/ListView.js.map +1 -1
  153. package/dist/ListView.types.d.ts +0 -29
  154. package/dist/ListView.vue.d.ts +0 -5496
  155. package/dist/Loading.js +2 -2
  156. package/dist/Loading.js.map +1 -1
  157. package/dist/Loading.vue.d.ts +1 -1
  158. package/dist/Logo.js +1 -1
  159. package/dist/Logo.vue.d.ts +6 -41
  160. package/dist/{Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js → Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js} +17 -17
  161. package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +1 -0
  162. package/dist/Menu.js.map +1 -1
  163. package/dist/Menu.vue.d.ts +1 -1
  164. package/dist/MenuItem.js.map +1 -1
  165. package/dist/MenuItem.vue.d.ts +1 -1
  166. package/dist/MenusPlugin-B4jpNe7x.js +12 -0
  167. package/dist/{MenusPlugin-Bk6UW6o9.js.map → MenusPlugin-B4jpNe7x.js.map} +1 -1
  168. package/dist/Metric.js.map +1 -1
  169. package/dist/Metric.vue.d.ts +3 -34
  170. package/dist/Modal.js +62 -64
  171. package/dist/Modal.js.map +1 -1
  172. package/dist/Modal.vue.d.ts +13 -60
  173. package/dist/Modals.js +17 -18
  174. package/dist/Modals.js.map +1 -1
  175. package/dist/ModalsPlugin.js +11 -11
  176. package/dist/ModalsPlugin.js.map +1 -1
  177. package/dist/Module.js.map +1 -1
  178. package/dist/Module.keys-CEsrW2f0.js.map +1 -1
  179. package/dist/Module.types-B1FfGGac.js.map +1 -1
  180. package/dist/Module.vue.d.ts +2 -29
  181. package/dist/ModuleContent.js.map +1 -1
  182. package/dist/ModuleContent.vue.d.ts +3 -3
  183. package/dist/ModuleFooter.js.map +1 -1
  184. package/dist/ModuleFooter.vue.d.ts +1 -1
  185. package/dist/ModuleHeader.js.map +1 -1
  186. package/dist/ModuleHeader.vue.d.ts +5 -39
  187. package/dist/ObfuscateText.js.map +1 -1
  188. package/dist/ObfuscateText.vue.d.ts +3 -40
  189. package/dist/PageContent.js.map +1 -1
  190. package/dist/PageContent.vue.d.ts +3 -30
  191. package/dist/PageHeader.js.map +1 -1
  192. package/dist/PageHeader.vue.d.ts +6 -35
  193. package/dist/PageNavigation.js +50 -50
  194. package/dist/PageNavigation.js.map +1 -1
  195. package/dist/PageNavigation.vue.d.ts +7 -36
  196. package/dist/Paginate.js.map +1 -1
  197. package/dist/Paginate.vue.d.ts +5 -40
  198. package/dist/PlaidLink.js.map +1 -1
  199. package/dist/PlaidLink.vue.d.ts +12 -49
  200. package/dist/QuickAction.js.map +1 -1
  201. package/dist/QuickAction.vue.d.ts +3 -16
  202. package/dist/Radio.js.map +1 -1
  203. package/dist/Radio.vue.d.ts +0 -93
  204. package/dist/RadioGroup.js +94 -101
  205. package/dist/RadioGroup.js.map +1 -1
  206. package/dist/RadioGroup.vue.d.ts +116 -42
  207. package/dist/RadioNew.js +96 -99
  208. package/dist/RadioNew.js.map +1 -1
  209. package/dist/RadioNew.vue.d.ts +7 -48
  210. package/dist/RangeInput.js.map +1 -1
  211. package/dist/RangeInput.vue.d.ts +1 -1
  212. package/dist/SearchBar.js +38 -39
  213. package/dist/SearchBar.js.map +1 -1
  214. package/dist/SearchBar.vue.d.ts +127 -44
  215. package/dist/SectionHeader.js.map +1 -1
  216. package/dist/SectionHeader.vue.d.ts +6 -37
  217. package/dist/Select.js +171 -183
  218. package/dist/Select.js.map +1 -1
  219. package/dist/Select.vue.d.ts +23 -102
  220. package/dist/SelectStatus.js +38 -38
  221. package/dist/SelectStatus.js.map +1 -1
  222. package/dist/SelectStatus.vue.d.ts +227 -47
  223. package/dist/Skeleton.js.map +1 -1
  224. package/dist/Skeleton.vue.d.ts +3 -34
  225. package/dist/Step.js +44 -44
  226. package/dist/Step.js.map +1 -1
  227. package/dist/Step.vue.d.ts +4 -43
  228. package/dist/Stepper.js.map +1 -1
  229. package/dist/Stepper.vue.d.ts +9 -44
  230. package/dist/Switch.js.map +1 -1
  231. package/dist/Switch.vue.d.ts +8 -47
  232. package/dist/Tab.js +1 -1
  233. package/dist/Tab.js.map +1 -1
  234. package/dist/Tab.vue.d.ts +2 -15
  235. package/dist/TabPanel.js.map +1 -1
  236. package/dist/TabPanel.vue.d.ts +3 -30
  237. package/dist/Table.js +53 -59
  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 +3 -50
  241. package/dist/TableCell.js +1 -1
  242. package/dist/TableCell.js.map +1 -1
  243. package/dist/TableCell.vue.d.ts +3 -32
  244. package/dist/TableHeaderCell.js +1 -1
  245. package/dist/TableHeaderCell.js.map +1 -1
  246. package/dist/TableHeaderCell.vue.d.ts +3 -30
  247. package/dist/TableHeaderRow.js +47 -45
  248. package/dist/TableHeaderRow.js.map +1 -1
  249. package/dist/TableHeaderRow.vue.d.ts +5 -34
  250. package/dist/TableRow.js +60 -61
  251. package/dist/TableRow.js.map +1 -1
  252. package/dist/TableRow.vue.d.ts +7 -48
  253. package/dist/Tabs.js +2 -2
  254. package/dist/Tabs.vue.d.ts +122 -31
  255. package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js +156 -0
  256. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js.map → Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js.map} +1 -1
  257. package/dist/TextEditor.js +2414 -2420
  258. package/dist/TextEditor.js.map +1 -1
  259. package/dist/TextEditor.vue.d.ts +9 -40
  260. package/dist/Textarea.js +69 -69
  261. package/dist/Textarea.js.map +1 -1
  262. package/dist/Textarea.vue.d.ts +9 -44
  263. package/dist/Thumbnail.js +1 -1
  264. package/dist/Thumbnail.js.map +1 -1
  265. package/dist/Thumbnail.vue.d.ts +4 -4
  266. package/dist/ThumbnailEmpty.js.map +1 -1
  267. package/dist/ThumbnailEmpty.vue.d.ts +1 -1
  268. package/dist/ThumbnailGroup.js.map +1 -1
  269. package/dist/ThumbnailGroup.keys-EJ4qFNhx.js.map +1 -1
  270. package/dist/ThumbnailGroup.vue.d.ts +26 -22
  271. package/dist/Timeline.js.map +1 -1
  272. package/dist/Timeline.vue.d.ts +3 -32
  273. package/dist/TimelineItem.js.map +1 -1
  274. package/dist/TimelineItem.vue.d.ts +1 -1
  275. package/dist/Toast.js.map +1 -1
  276. package/dist/Toast.vue.d.ts +3 -30
  277. package/dist/Toasts.js.map +1 -1
  278. package/dist/ToastsPlugin.js +11 -11
  279. package/dist/ToastsPlugin.js.map +1 -1
  280. package/dist/Tooltip.js +29 -30
  281. package/dist/Tooltip.js.map +1 -1
  282. package/dist/Tooltip.vue.d.ts +11 -43
  283. package/dist/colors-DDDVvqfQ.js.map +1 -1
  284. package/dist/components.css +1 -1
  285. package/dist/constants.js.map +1 -1
  286. package/dist/directives/autofocus.js.map +1 -1
  287. package/dist/directives/clickoutside.js.map +1 -1
  288. package/dist/directives/observe.js.map +1 -1
  289. package/dist/directives/sticky.js.map +1 -1
  290. package/dist/directives/tooltip.js +3 -3
  291. package/dist/directives/tooltip.js.map +1 -1
  292. package/dist/directives/viewable.js +39 -44
  293. package/dist/directives/viewable.js.map +1 -1
  294. package/dist/{floating-ui.vue-pzUuloyX.js → floating-ui.vue-CL01Y9ER.js} +2 -2
  295. package/dist/{floating-ui.vue-pzUuloyX.js.map → floating-ui.vue-CL01Y9ER.js.map} +1 -1
  296. package/dist/formatDateTime-DG7kBc2T.js +1414 -0
  297. package/dist/{formatDateTime-Dz8bXV0R.js.map → formatDateTime-DG7kBc2T.js.map} +1 -1
  298. package/dist/index-D6bxWkZ1.js.map +1 -1
  299. package/dist/{index-ConQ3o31.js → index-GUu9zvbg.js} +3 -3
  300. package/dist/{index-ConQ3o31.js.map → index-GUu9zvbg.js.map} +1 -1
  301. package/dist/index.js +99 -104
  302. package/dist/index.js.map +1 -1
  303. package/dist/isDefined-DzVx0B6k.js.map +1 -1
  304. package/dist/keys-BEdEsanp.js.map +1 -1
  305. package/dist/keys-C8Zfr_By.js.map +1 -1
  306. package/dist/locale.js.map +1 -1
  307. package/dist/misc-CHQs-G03.js.map +1 -1
  308. package/dist/obfuscateText.d.ts +1 -1
  309. package/dist/parseISO-wlfIB_QJ.js.map +1 -1
  310. package/dist/searchFuzzy-DBDE6jkd.js +408 -0
  311. package/dist/{searchFuzzy-DRasJ33G.js.map → searchFuzzy-DBDE6jkd.js.map} +1 -1
  312. package/dist/statusLevels-D8EgtE_L.js.map +1 -1
  313. package/dist/storage.js.map +1 -1
  314. package/dist/tailwind-base.js +1 -1
  315. package/dist/tailwind-base.js.map +1 -1
  316. package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
  317. package/dist/useConfirmBeforeClosing.js.map +1 -1
  318. package/dist/useDialog.d.ts +2 -2
  319. package/dist/useDialog.js +21 -25
  320. package/dist/useDialog.js.map +1 -1
  321. package/dist/useGoogleMaps.js +108 -110
  322. package/dist/useGoogleMaps.js.map +1 -1
  323. package/dist/useMediaQuery.d.ts +0 -6
  324. package/dist/useMediaQuery.js +11 -15
  325. package/dist/useMediaQuery.js.map +1 -1
  326. package/dist/useModals.d.ts +1 -1
  327. package/dist/useModals.js.map +1 -1
  328. package/dist/usePaginationStats-d_q39naC.js.map +1 -1
  329. package/dist/usePlaidLink.js +20 -27
  330. package/dist/usePlaidLink.js.map +1 -1
  331. package/dist/useScriptTag.js.map +1 -1
  332. package/dist/useSearch.js +13 -13
  333. package/dist/useSearch.js.map +1 -1
  334. package/dist/useSelection.js +56 -56
  335. package/dist/useSelection.js.map +1 -1
  336. package/dist/useSortable.js +54 -63
  337. package/dist/useSortable.js.map +1 -1
  338. package/dist/useStepper.d.ts +2 -2
  339. package/dist/useStepper.js +36 -40
  340. package/dist/useStepper.js.map +1 -1
  341. package/dist/useToasts.js +23 -23
  342. package/dist/useToasts.js.map +1 -1
  343. package/dist/useValidation.js +96 -100
  344. package/dist/useValidation.js.map +1 -1
  345. package/dist/utils/calculateElementOverflow.js +4 -4
  346. package/dist/utils/calculateElementOverflow.js.map +1 -1
  347. package/dist/utils/colorScheme.js +2 -2
  348. package/dist/utils/colorScheme.js.map +1 -1
  349. package/dist/utils/createQueryString.js.map +1 -1
  350. package/dist/utils/createValidDate.js.map +1 -1
  351. package/dist/utils/formatDateTime.js +1 -1
  352. package/dist/utils/getContrastingTextColor.js.map +1 -1
  353. package/dist/utils/helpers.js.map +1 -1
  354. package/dist/utils/i18n.js.map +1 -1
  355. package/dist/utils/normalizeDate.js.map +1 -1
  356. package/dist/utils/obfuscateText.js +6 -6
  357. package/dist/utils/obfuscateText.js.map +1 -1
  358. package/dist/utils/searchFuzzy.js +1 -1
  359. package/dist/utils/storage.js +23 -23
  360. package/dist/utils/storage.js.map +1 -1
  361. package/package.json +12 -13
  362. package/tailwind-base.ts +1 -1
  363. package/types/vite.d.ts +7 -0
  364. package/types/vitest.d.ts +7 -0
  365. package/dist/Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map +0 -1
  366. package/dist/MenusPlugin-Bk6UW6o9.js +0 -12
  367. package/dist/Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js +0 -159
  368. package/dist/formatDateTime-Dz8bXV0R.js +0 -1418
  369. package/dist/searchFuzzy-DRasJ33G.js +0 -409
@@ -1,63 +1,243 @@
1
+ import { AllowedComponentProps } from 'vue';
2
+ import { ComponentCustomProperties } from 'vue';
3
+ import { ComponentCustomProps } from 'vue';
4
+ import { ComponentInternalInstance } from 'vue';
5
+ import { ComponentOptionsBase } from 'vue';
1
6
  import { ComponentOptionsMixin } from 'vue';
2
7
  import { ComponentProvideOptions } from 'vue';
8
+ import { ComponentPublicInstance } from 'vue';
9
+ import { DebuggerEvent } from 'vue';
3
10
  import { DefineComponent } from 'vue';
4
- import { ExtractPropTypes } from 'vue';
5
- import { PropType } from 'vue';
11
+ import { GlobalComponents } from 'vue';
12
+ import { GlobalDirectives } from 'vue';
13
+ import { nextTick } from 'vue';
14
+ import { OnCleanup } from '@vue/reactivity';
15
+ import { Placement } from '@floating-ui/utils';
6
16
  import { PublicProps } from 'vue';
17
+ import { SelectProps } from '../Select/Select.vue';
18
+ import { ShallowUnwrapRef } from 'vue';
19
+ import { Slot } from 'vue';
20
+ import { VNodeProps } from 'vue';
21
+ import { WatchOptions } from 'vue';
22
+ import { WatchStopHandle } from 'vue';
7
23
 
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
- declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SelectStatusProps>, {
24
+ declare const _default: DefineComponent<SelectStatusProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
25
+ "update:model-value": (value: unknown) => any;
26
+ }, string, PublicProps, Readonly<SelectStatusProps> & Readonly<{
27
+ "onUpdate:model-value"?: ((value: unknown) => any) | undefined;
28
+ }>, {
29
+ label: string;
30
+ value: string | number | boolean | null;
31
+ placeholder: string;
32
+ secondary: boolean;
30
33
  disabled: boolean;
34
+ trackBy: string;
31
35
  displayBy: string;
32
- secondary: boolean;
33
36
  noTruncate: boolean;
37
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
38
+ select: ({
39
+ $: ComponentInternalInstance;
40
+ $data: {};
41
+ $props: {
42
+ readonly preventEmpty?: boolean | undefined;
43
+ readonly allowEmpty?: string | boolean | null | undefined;
44
+ readonly displayBy?: string | undefined;
45
+ readonly searchBy?: string[] | undefined;
46
+ readonly trackBy?: string | undefined;
47
+ readonly placeholder?: string | undefined;
48
+ readonly error?: string | undefined;
49
+ readonly hint?: string | undefined;
50
+ readonly icon?: string | boolean | undefined;
51
+ readonly name?: string | undefined;
52
+ readonly options?: any[] | readonly any[] | undefined;
53
+ readonly lazy?: (() => any[]) | undefined;
54
+ readonly modelValue?: any;
55
+ readonly value?: any;
56
+ readonly hideSearch?: boolean | undefined;
57
+ readonly searchable?: string | boolean | null | undefined;
58
+ readonly preserveSearchTerm?: boolean | undefined;
59
+ readonly disableFiltering?: boolean | undefined;
60
+ readonly single?: boolean | undefined;
61
+ readonly noTruncate?: boolean | undefined;
62
+ readonly loading?: boolean | undefined;
63
+ readonly searchLoading?: boolean | undefined;
64
+ readonly selectItemType?: string | undefined;
65
+ readonly hideCheck?: boolean | undefined;
66
+ readonly searchPlaceholder?: string | undefined;
67
+ readonly onSearch?: ((searchTerm: string) => void | Promise<void>) | undefined;
68
+ readonly useFuzzySearch?: boolean | undefined;
69
+ readonly menuPlacement?: Placement | undefined;
70
+ readonly enableTeleport?: boolean | undefined;
71
+ readonly teleportTo?: string | HTMLElement | undefined;
72
+ readonly addBottomSpace?: boolean | undefined;
73
+ readonly errorText?: string | undefined;
74
+ readonly hintText?: string | undefined;
75
+ readonly id?: string | undefined;
76
+ readonly errorId?: string | undefined;
77
+ readonly isReadOnly?: boolean | undefined;
78
+ readonly isRequired?: boolean | undefined;
79
+ readonly label?: string | undefined;
80
+ readonly showOptionalInLabel?: boolean | undefined;
81
+ readonly isLabelSrOnly?: boolean | undefined;
82
+ readonly fieldset?: boolean | undefined;
83
+ readonly isDisabled?: boolean | undefined;
84
+ readonly disabled?: boolean | undefined;
85
+ readonly onClear?: (() => any) | undefined;
86
+ readonly onAdd?: ((optionAdded: any) => any) | undefined;
87
+ readonly onRemove?: ((optionRemoved: any, index: number) => any) | undefined;
88
+ readonly "onUpdate:model-value"?: ((selectedOptions: any) => any) | undefined;
89
+ readonly onOpened?: (() => any) | undefined;
90
+ readonly onClosed?: ((selectedOptions: any) => any) | undefined;
91
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
92
+ $attrs: {
93
+ [x: string]: unknown;
94
+ };
95
+ $refs: {
96
+ [x: string]: unknown;
97
+ } & {
98
+ selectRef: HTMLDivElement;
99
+ contentRef: HTMLDivElement;
100
+ chipsRef: HTMLUListElement;
101
+ optionsWrapperRef: HTMLDivElement;
102
+ searchRef: HTMLInputElement;
103
+ };
104
+ $slots: Readonly<{
105
+ [name: string]: Slot<any> | undefined;
106
+ }>;
107
+ $root: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
108
+ $parent: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
109
+ $host: Element | null;
110
+ $emit: ((event: "clear") => void) & ((event: "add", optionAdded: any) => void) & ((event: "remove", optionRemoved: any, index: number) => void) & ((event: "update:model-value", selectedOptions: any) => void) & ((event: "opened") => void) & ((event: "closed", selectedOptions: any) => void);
111
+ $el: any;
112
+ $options: ComponentOptionsBase<Readonly<SelectProps> & Readonly<{
113
+ onClear?: (() => any) | undefined;
114
+ onAdd?: ((optionAdded: any) => any) | undefined;
115
+ onRemove?: ((optionRemoved: any, index: number) => any) | undefined;
116
+ "onUpdate:model-value"?: ((selectedOptions: any) => any) | undefined;
117
+ onOpened?: (() => any) | undefined;
118
+ onClosed?: ((selectedOptions: any) => any) | undefined;
119
+ }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
120
+ clear: () => any;
121
+ add: (optionAdded: any) => any;
122
+ remove: (optionRemoved: any, index: number) => any;
123
+ "update:model-value": (selectedOptions: any) => any;
124
+ opened: () => any;
125
+ closed: (selectedOptions: any) => any;
126
+ }, string, {
127
+ name: string;
128
+ error: string;
129
+ value: any;
130
+ options: any[] | readonly any[];
131
+ lazy: () => any[];
132
+ icon: string | boolean;
34
133
  placeholder: string;
35
134
  trackBy: string;
36
- value: null;
37
- label: undefined;
38
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
39
- "update:model-value": (value: unknown) => void;
40
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SelectStatusProps>, {
41
- disabled: boolean;
135
+ hint: string;
136
+ preventEmpty: boolean;
137
+ allowEmpty: string | boolean | null;
42
138
  displayBy: string;
43
- secondary: boolean;
139
+ searchBy: string[];
140
+ modelValue: any;
141
+ hideSearch: boolean;
142
+ searchable: string | boolean | null;
143
+ preserveSearchTerm: boolean;
144
+ disableFiltering: boolean;
145
+ single: boolean;
44
146
  noTruncate: boolean;
147
+ loading: boolean;
148
+ searchLoading: boolean;
149
+ selectItemType: string;
150
+ hideCheck: boolean;
151
+ searchPlaceholder: string;
152
+ onSearch: (searchTerm: string) => void | Promise<void>;
153
+ useFuzzySearch: boolean;
154
+ menuPlacement: Placement;
155
+ enableTeleport: boolean;
156
+ teleportTo: string | HTMLElement;
157
+ }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
158
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
159
+ created?: ((() => void) | (() => void)[]) | undefined;
160
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
161
+ mounted?: ((() => void) | (() => void)[]) | undefined;
162
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
163
+ updated?: ((() => void) | (() => void)[]) | undefined;
164
+ activated?: ((() => void) | (() => void)[]) | undefined;
165
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
166
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
167
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
168
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
169
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
170
+ renderTracked?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
171
+ renderTriggered?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
172
+ errorCaptured?: (((err: unknown, instance: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => boolean | void)[]) | undefined;
173
+ };
174
+ $forceUpdate: () => void;
175
+ $nextTick: nextTick;
176
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R, args_2: OnCleanup) => any : (args_0: any, args_1: any, args_2: OnCleanup) => any, options?: WatchOptions<boolean> | undefined): WatchStopHandle;
177
+ } & Readonly<{
178
+ name: string;
179
+ error: string;
180
+ value: any;
181
+ options: any[] | readonly any[];
182
+ lazy: () => any[];
183
+ icon: string | boolean;
45
184
  placeholder: string;
46
185
  trackBy: string;
47
- value: null;
48
- label: undefined;
49
- }>>> & Readonly<{
50
- "onUpdate:model-value"?: ((value: unknown) => any) | undefined;
51
- }>, {
52
- disabled: boolean;
53
- label: string;
54
- secondary: boolean;
55
- trackBy: string;
56
- placeholder: string;
186
+ hint: string;
187
+ preventEmpty: boolean;
188
+ allowEmpty: string | boolean | null;
57
189
  displayBy: string;
58
- value: string | number | boolean | null;
190
+ searchBy: string[];
191
+ modelValue: any;
192
+ hideSearch: boolean;
193
+ searchable: string | boolean | null;
194
+ preserveSearchTerm: boolean;
195
+ disableFiltering: boolean;
196
+ single: boolean;
59
197
  noTruncate: boolean;
60
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
198
+ loading: boolean;
199
+ searchLoading: boolean;
200
+ selectItemType: string;
201
+ hideCheck: boolean;
202
+ searchPlaceholder: string;
203
+ onSearch: (searchTerm: string) => void | Promise<void>;
204
+ useFuzzySearch: boolean;
205
+ menuPlacement: Placement;
206
+ enableTeleport: boolean;
207
+ teleportTo: string | HTMLElement;
208
+ }> & Omit<Readonly<SelectProps> & Readonly<{
209
+ onClear?: (() => any) | undefined;
210
+ onAdd?: ((optionAdded: any) => any) | undefined;
211
+ onRemove?: ((optionRemoved: any, index: number) => any) | undefined;
212
+ "onUpdate:model-value"?: ((selectedOptions: any) => any) | undefined;
213
+ onOpened?: (() => any) | undefined;
214
+ onClosed?: ((selectedOptions: any) => any) | undefined;
215
+ }>, "name" | "error" | "value" | "options" | "lazy" | "icon" | "placeholder" | "trackBy" | "hint" | "preventEmpty" | "allowEmpty" | "displayBy" | "searchBy" | "modelValue" | "hideSearch" | "searchable" | "preserveSearchTerm" | "disableFiltering" | "single" | "noTruncate" | "loading" | "searchLoading" | "selectItemType" | "hideCheck" | "searchPlaceholder" | "onSearch" | "useFuzzySearch" | "menuPlacement" | "enableTeleport" | "teleportTo"> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
216
+ $slots: Readonly<{
217
+ selected(props: {
218
+ option: any;
219
+ onRemove: () => void;
220
+ chipSelectedClass: string;
221
+ }): unknown;
222
+ option(props: {
223
+ option: any;
224
+ }): unknown;
225
+ 'no-options'(): unknown;
226
+ hint(): unknown;
227
+ }> & {
228
+ selected(props: {
229
+ option: any;
230
+ onRemove: () => void;
231
+ chipSelectedClass: string;
232
+ }): unknown;
233
+ option(props: {
234
+ option: any;
235
+ }): unknown;
236
+ 'no-options'(): unknown;
237
+ hint(): unknown;
238
+ };
239
+ }) | null;
240
+ }, any>;
61
241
  export default _default;
62
242
 
63
243
  declare type IconName = (typeof iconNames)[number];
@@ -67,16 +247,16 @@ declare type IconName = (typeof iconNames)[number];
67
247
  *
68
248
  * https://github.com/LeafLink/stash/blob/main/CONTRIBUTING.md#adding-a-new-icon
69
249
  */
70
- declare const iconNames: readonly ["action-dots", "activity", "alert-bell", "archive", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "badge-discount", "badge-seller-elite", "badge-seller-power", "badge-seller-verified", "bank", "book-customer", "building-office", "bulk-add", "calendar-reschedule", "calendar", "camera", "caret-down", "caret-up", "change-log", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "circle-check", "circle-close", "circle-dollar", "circle-empty", "circle-info", "circle-partial", "circle-percent", "circle-question-mark", "circle-slash", "circle-status", "circle-warning", "clipboard-checkmark", "clipboard-inventory", "close", "combine", "compass", "contact", "contract", "copy", "credit-card", "credit-profile", "dashboard", "document-accept", "document-invoice", "document-recieved", "document-sent", "document-view", "document", "dolly", "download", "edit", "ellipsis", "envelope-open", "envelope", "equals", "export", "face-id", "face", "figma", "file-csv", "file", "filter-funnel", "filter-line", "fingerprint", "flag", "folder", "folder-bar-graph", "folder-orders", "font-bold", "font-clear-format", "font-italic", "font-underline", "gear", "github", "globe", "graph-bar-chart", "graph-line-chart", "graph-pie-chart", "hazard", "hazard-outline", "headset-agent", "headset-mic", "heart-filled", "heart-outline", "help-question-mark", "hide", "history", "home", "image", "import", "keyboard-return", "tier-1", "tier-2", "tier-3", "license-approved", "license-certificate", "lightbulb", "link-add", "link-unlink", "link", "list-bulleted", "list-items", "list-numbered", "loading-big", "loading-empty", "loading-small", "location", "lock-unlock", "lock", "logo-facebook", "logo-instagram", "logo-linkedin", "logo-ll", "logo-metrc", "logo-plaid", "logo-x", "logo-youtube", "logout", "medical", "megaphone-sound", "megaphone", "menu", "message-dispute", "message-reply", "message", "minus", "mj-leaf", "money", "note-add", "note", "open-in-new", "paperclip", "paper-plane", "performance", "phone", "plus", "preview", "print", "product-menu-manage", "product-menu-search", "product-menu", "queue-add", "queue", "recent", "refresh", "register", "reorder", "reply", "report-download", "sample", "save", "scale-law", "scale-weight", "search", "seed-cycle", "share", "shop-bag-browse", "shop-bag-reorder", "shop-bag", "shop-basket", "shop-cart-add", "shop-cart", "show", "sign-dollar", "sign-percent", "sort", "split", "star-filled", "star-outline", "start", "storefront", "submit", "swap-horizontal", "swap-vertical", "tag-star", "tag", "tag-leaf", "test-results", "ticket-star", "ticket", "tool-dropper", "tool-wrench", "transfer", "trashcan", "truck", "upload", "user-add", "user-admin", "user-check", "user-group", "user", "view-card", "view-detailed", "view-list", "warehouse", "working"];
250
+ declare const iconNames: readonly ["action-dots", "activity", "alert-bell", "archive", "arrow-down", "arrow-left", "arrow-right", "arrow-up", "badge-discount", "badge-seller-elite", "badge-seller-power", "badge-seller-verified", "bank", "book-customer", "building-office", "bulk-add", "calendar-reschedule", "calendar", "camera", "caret-down", "caret-up", "change-log", "check", "chevron-down", "chevron-left", "chevron-right", "chevron-up", "circle-check", "circle-close", "circle-dollar", "circle-empty", "circle-info", "circle-partial", "circle-percent", "circle-question-mark", "circle-slash", "circle-status", "circle-warning", "clipboard-checkmark", "clipboard-inventory", "close", "cloud-share", "combine", "compass", "contact", "contract", "copy", "credit-card", "credit-profile", "dashboard", "document-accept", "document-invoice", "document-recieved", "document-sent", "document-view", "document", "dolly", "download", "edit", "ellipsis", "envelope-open", "envelope", "equals", "export", "face-id", "face", "figma", "file-csv", "file", "filter-funnel", "filter-line", "fingerprint", "flag", "folder", "folder-bar-graph", "folder-orders", "font-bold", "font-clear-format", "font-italic", "font-underline", "gear", "github", "globe", "graph-bar-chart", "graph-line-chart", "graph-pie-chart", "hazard", "hazard-outline", "headset-agent", "headset-mic", "heart-filled", "heart-outline", "help-question-mark", "hide", "history", "home", "image", "import", "keyboard-return", "tier-1", "tier-2", "tier-3", "license-approved", "license-certificate", "lightbulb", "link-add", "link-unlink", "link", "list-bulleted", "list-items", "list-numbered", "loading-big", "loading-empty", "loading-small", "location", "lock-unlock", "lock", "logo-facebook", "logo-instagram", "logo-linkedin", "logo-ll", "logo-metrc", "logo-plaid", "logo-x", "logo-youtube", "logout", "medical", "megaphone-sound", "megaphone", "menu", "message-dispute", "message-reply", "message", "minus", "mj-leaf", "money", "note-add", "note", "open-in-new", "paperclip", "paper-plane", "performance", "phone", "plus", "preview", "print", "product-menu-manage", "product-menu-search", "product-menu", "queue-add", "queue", "recent", "refresh", "register", "reorder", "reply", "report-download", "sample", "save", "scale-law", "scale-weight", "search", "seed-cycle", "share", "shop-bag-browse", "shop-bag-reorder", "shop-bag", "shop-basket", "shop-cart-add", "shop-cart", "show", "sign-dollar", "sign-percent", "sort", "split", "star-filled", "star-outline", "start", "storefront", "submit", "swap-horizontal", "swap-vertical", "tag-star", "tag", "tag-leaf", "test-results", "ticket-star", "ticket", "tool-dropper", "tool-wrench", "transfer", "trashcan", "truck", "upload", "user-add", "user-admin", "user-check", "user-group", "user", "view-card", "view-detailed", "view-list", "warehouse", "working"];
71
251
 
72
- export declare type SelectStatusOption = {
252
+ declare type SelectStatusOption = {
73
253
  id: number | string | boolean;
74
254
  name: string;
75
255
  color?: StashPrimaryColorGroup | StashCommonColor;
76
256
  icon?: IconName;
77
257
  };
78
258
 
79
- export declare interface SelectStatusProps {
259
+ declare interface SelectStatusProps {
80
260
  /**
81
261
  * Disables the component, if true
82
262
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sources":["../src/components/Skeleton/Skeleton.vue"],"sourcesContent":["<script lang=\"ts\">\n export enum SkeletonVariants {\n Text = 'text',\n Circular = 'circular',\n Rectangular = 'rectangular',\n }\n\n export type SkeletonVariant = `${SkeletonVariants}`;\n</script>\n\n<script setup lang=\"ts\">\n import { computed, useCssModule, useSlots } from 'vue';\n\n export interface SkeletonProps {\n /** Pass a pixel value for circular and rectangular variants */\n height?: string | number;\n\n /** Either text, circular, or rectangular */\n variant?: SkeletonVariant;\n\n /** Pass a pixel value for any variant */\n width?: string | number;\n }\n\n const props = withDefaults(defineProps<SkeletonProps>(), {\n height: undefined,\n variant: SkeletonVariants.Text,\n width: undefined,\n });\n\n const slots = useSlots();\n const classes = useCssModule();\n\n const hasChildren = computed(() => !!slots['default']);\n\n const computedStyles = computed(() => {\n const styles: {\n width?: string;\n height?: string;\n } = {};\n\n if (props.width) {\n styles.width = `${props.width}px`;\n }\n\n // If the variant is text, let the font-size define the height\n if (props.height && props.variant !== SkeletonVariants.Text) {\n styles.height = `${props.height}px`;\n }\n\n return styles;\n });\n</script>\n\n<template>\n <div\n data-test=\"stash-skeleton\"\n class=\"stash-skeleton tw-animate-pulse tw-bg-ice-500\"\n :class=\"{\n 'stash-skeleton--circular tw-rounded-full': props.variant === SkeletonVariants.Circular,\n 'stash-skeleton--text tw-rounded': props.variant === SkeletonVariants.Text,\n [classes['text-variant']]: props.variant === SkeletonVariants.Text,\n 'stash-skeleton--rectangular tw-rounded': props.variant === SkeletonVariants.Rectangular,\n [classes['has-children']]: hasChildren,\n 'tw-max-w-fit': hasChildren && !props.width,\n 'tw-h-auto': hasChildren && !props.height,\n }\"\n :style=\"computedStyles\"\n >\n <!-- @slot Default slot for style inheritance -->\n <slot></slot>\n </div>\n</template>\n\n<style module>\n .text-variant::before {\n content: '\\00a0';\n }\n\n .has-children > * {\n visibility: hidden;\n }\n</style>\n"],"names":["SkeletonVariants","props","__props","slots","useSlots","classes","useCssModule","hasChildren","computed","computedStyles","styles"],"mappings":";;AACc,IAAAA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YACXA,EAAA,cAAc,eAHJA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;AAuBZ,UAAMC,IAAQC,GAMRC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GAEvBC,IAAcC,EAAS,MAAM,CAAC,CAACL,EAAM,OAAU,GAE/CM,IAAiBD,EAAS,MAAM;AACpC,YAAME,IAGF,CAAC;AAEL,aAAIT,EAAM,UACDS,EAAA,QAAQ,GAAGT,EAAM,KAAK,OAI3BA,EAAM,UAAUA,EAAM,YAAY,WAC7BS,EAAA,SAAS,GAAGT,EAAM,MAAM,OAG1BS;AAAA,IAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Skeleton.js","sources":["../src/components/Skeleton/Skeleton.vue"],"sourcesContent":["<script lang=\"ts\">\n export enum SkeletonVariants {\n Text = 'text',\n Circular = 'circular',\n Rectangular = 'rectangular',\n }\n\n export type SkeletonVariant = `${SkeletonVariants}`;\n</script>\n\n<script setup lang=\"ts\">\n import { computed, useCssModule, useSlots } from 'vue';\n\n export interface SkeletonProps {\n /** Pass a pixel value for circular and rectangular variants */\n height?: string | number;\n\n /** Either text, circular, or rectangular */\n variant?: SkeletonVariant;\n\n /** Pass a pixel value for any variant */\n width?: string | number;\n }\n\n const props = withDefaults(defineProps<SkeletonProps>(), {\n height: undefined,\n variant: SkeletonVariants.Text,\n width: undefined,\n });\n\n const slots = useSlots();\n const classes = useCssModule();\n\n const hasChildren = computed(() => !!slots['default']);\n\n const computedStyles = computed(() => {\n const styles: {\n width?: string;\n height?: string;\n } = {};\n\n if (props.width) {\n styles.width = `${props.width}px`;\n }\n\n // If the variant is text, let the font-size define the height\n if (props.height && props.variant !== SkeletonVariants.Text) {\n styles.height = `${props.height}px`;\n }\n\n return styles;\n });\n</script>\n\n<template>\n <div\n data-test=\"stash-skeleton\"\n class=\"stash-skeleton tw-animate-pulse tw-bg-ice-500\"\n :class=\"{\n 'stash-skeleton--circular tw-rounded-full': props.variant === SkeletonVariants.Circular,\n 'stash-skeleton--text tw-rounded': props.variant === SkeletonVariants.Text,\n [classes['text-variant']]: props.variant === SkeletonVariants.Text,\n 'stash-skeleton--rectangular tw-rounded': props.variant === SkeletonVariants.Rectangular,\n [classes['has-children']]: hasChildren,\n 'tw-max-w-fit': hasChildren && !props.width,\n 'tw-h-auto': hasChildren && !props.height,\n }\"\n :style=\"computedStyles\"\n >\n <!-- @slot Default slot for style inheritance -->\n <slot></slot>\n </div>\n</template>\n\n<style module>\n .text-variant::before {\n content: '\\00a0';\n }\n\n .has-children > * {\n visibility: hidden;\n }\n</style>\n"],"names":["SkeletonVariants","props","__props","slots","useSlots","classes","useCssModule","hasChildren","computed","computedStyles","styles","_createElementBlock","_unref","_renderSlot","_ctx"],"mappings":";;AACS,IAAKA,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,WAAW,YACXA,EAAA,cAAc,eAHJA,IAAAA,KAAA,CAAA,CAAA;;;;;;;;;;;;AAuBZ,UAAMC,IAAQC,GAMRC,IAAQC,EAAA,GACRC,IAAUC,EAAA,GAEVC,IAAcC,EAAS,MAAM,CAAC,CAACL,EAAM,OAAU,GAE/CM,IAAiBD,EAAS,MAAM;AACpC,YAAME,IAGF,CAAA;AAEJ,aAAIT,EAAM,UACRS,EAAO,QAAQ,GAAGT,EAAM,KAAK,OAI3BA,EAAM,UAAUA,EAAM,YAAY,WACpCS,EAAO,SAAS,GAAGT,EAAM,MAAM,OAG1BS;AAAA,IACT,CAAC;2BAIDC,EAgBM,OAAA;AAAA,MAfJ,aAAU;AAAA,MACV,UAAM,iDAA+C;AAAA,QACO,4CAAAV,EAAM,YAAY;AAAA,QAAoE,mCAAAA,EAAM,YAAY;AAAA,QAA8B,CAAAW,EAAAP,CAAA,oBAA0BJ,EAAM,YAAY;AAAA,QAAuE,0CAAAA,EAAM,YAAY;AAAA,QAAqC,CAAAW,EAAAP,CAAA,oBAA0BE,EAAA;AAAA,wBAAmCA,EAAA,SAAW,CAAKN,EAAM;AAAA,qBAA0BM,EAAA,SAAW,CAAKN,EAAM;AAAA,MAAA;MAS9e,SAAOQ,EAAA,KAAc;AAAA,IAAA;MAGtBI,EAAaC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;"}
@@ -1,50 +1,19 @@
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';
6
4
  import { PublicProps } from 'vue';
7
5
 
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
6
  declare type __VLS_WithTemplateSlots<T, S> = T & {
30
7
  new (): {
31
8
  $slots: S;
32
9
  };
33
10
  };
34
11
 
35
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SkeletonProps>, {
36
- height: undefined;
37
- variant: SkeletonVariants;
38
- width: undefined;
39
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SkeletonProps>, {
40
- height: undefined;
41
- variant: SkeletonVariants;
42
- width: undefined;
43
- }>>> & Readonly<{}>, {
44
- width: string | number;
12
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<SkeletonProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<SkeletonProps> & Readonly<{}>, {
45
13
  height: string | number;
14
+ width: string | number;
46
15
  variant: "text" | "circular" | "rectangular";
47
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
16
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>, {
48
17
  default?(_: {}): any;
49
18
  }>;
50
19
  export default _default;
package/dist/Step.js CHANGED
@@ -1,9 +1,9 @@
1
- import { defineComponent as x, useSlots as g, useCssModule as y, inject as k, computed as d, onBeforeMount as b, createElementBlock as r, openBlock as i, normalizeClass as a, unref as t, createCommentVNode as u, createElementVNode as n, createBlock as B, toDisplayString as _, createTextVNode as N, renderSlot as C } from "vue";
2
- import { t as E } from "./locale.js";
3
- import T from "./Icon.js";
4
- import { S as z } from "./keys-C8Zfr_By.js";
5
- import { _ as M } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
- const S = { key: 1 }, I = /* @__PURE__ */ x({
1
+ import { defineComponent as x, useSlots as g, useCssModule as y, inject as S, computed as d, onBeforeMount as k, createElementBlock as r, openBlock as i, normalizeClass as l, unref as t, createCommentVNode as u, createElementVNode as n, createBlock as b, toDisplayString as _, createTextVNode as B, renderSlot as N } from "vue";
2
+ import { t as C } from "./locale.js";
3
+ import E from "./Icon.js";
4
+ import { S as T } from "./keys-C8Zfr_By.js";
5
+ import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
+ const z = { key: 1 }, M = /* @__PURE__ */ x({
7
7
  __name: "Step",
8
8
  props: {
9
9
  active: { type: Boolean, default: !1 },
@@ -16,30 +16,30 @@ const S = { key: 1 }, I = /* @__PURE__ */ x({
16
16
  loading: { type: Boolean, default: !1 }
17
17
  },
18
18
  setup(m) {
19
- const e = m, w = g(), s = y(), l = k(z), c = d(() => (l == null ? void 0 : l.orientation) === "horizontal"), p = d(() => (l == null ? void 0 : l.theme) === "light"), o = l == null ? void 0 : l.showResponsiveNav, v = d(() => e.loading ? "working" : e.completed ? "circle-check" : "circle-info"), h = d(
20
- () => E("ll.stepper.currentStep", { num: e.step, total: String(l == null ? void 0 : l.stepCount.value) })
19
+ const e = m, w = g(), s = y(), o = S(T), c = d(() => o?.orientation === "horizontal"), p = d(() => o?.theme === "light"), a = o?.showResponsiveNav, v = d(() => e.loading ? "working" : e.completed ? "circle-check" : "circle-info"), h = d(
20
+ () => C("ll.stepper.currentStep", { num: e.step, total: String(o?.stepCount.value) })
21
21
  );
22
- return b(() => {
23
- l && l.registerStep(e.nested);
24
- }), (f, K) => (i(), r("li", {
25
- class: a(["stash-step tw-relative tw-flex tw-w-full", [
22
+ return k(() => {
23
+ o && o.registerStep(e.nested);
24
+ }), (f, J) => (i(), r("li", {
25
+ class: l(["stash-step tw-relative tw-flex tw-w-full", [
26
26
  t(s).step,
27
27
  {
28
28
  [t(s)["nested-step--active"]]: e.nested && e.active,
29
- "last:tw-w-auto": c.value && !t(o),
30
- [t(s)["stash-step--singular"]]: t(o),
31
- "tw-relative tw-w-full tw-shrink-0 tw-snap-start tw-flex-col tw-justify-center": t(o)
29
+ "last:tw-w-auto": c.value && !t(a),
30
+ [t(s)["stash-step--singular"]]: t(a),
31
+ "tw-relative tw-w-full tw-shrink-0 tw-snap-start tw-flex-col tw-justify-center": t(a)
32
32
  }
33
33
  ]]),
34
34
  "data-test": "stash-step"
35
35
  }, [
36
36
  e.nested ? u("", !0) : (i(), r("div", {
37
37
  key: 0,
38
- class: a(["stash-step__indicator tw-flex tw-flex-col tw-items-center", { "tw-mr-3": !t(o) }]),
38
+ class: l(["stash-step__indicator tw-flex tw-flex-col tw-items-center", { "tw-mr-3": !t(a) }]),
39
39
  "data-test": "stash-step|indicator"
40
40
  }, [
41
41
  n("div", {
42
- class: a([
42
+ class: l([
43
43
  t(s).circle,
44
44
  {
45
45
  [t(s)["circle--todo"]]: !e.error && !e.active && !e.completed,
@@ -50,31 +50,31 @@ const S = { key: 1 }, I = /* @__PURE__ */ x({
50
50
  }
51
51
  ])
52
52
  }, [
53
- (e.completed || e.error || e.loading) && !e.active ? (i(), B(T, {
53
+ (e.completed || e.error || e.loading) && !e.active ? (i(), b(E, {
54
54
  key: 0,
55
55
  name: v.value,
56
- class: a({ "fx-spin": e.loading }),
56
+ class: l({ "fx-spin": e.loading }),
57
57
  size: "dense"
58
- }, null, 8, ["name", "class"])) : (i(), r("span", S, _(e.step), 1))
58
+ }, null, 8, ["name", "class"])) : (i(), r("span", z, _(e.step), 1))
59
59
  ], 2),
60
60
  n("div", {
61
- class: a(["tw-my-1.5 tw-w-px tw-bg-ice-500", [
61
+ class: l(["tw-my-1.5 tw-w-px tw-bg-ice-500", [
62
62
  t(s).line,
63
63
  { [t(s)["line--expanded"]]: e.completed || e.active, "tw-hidden": c.value }
64
64
  ]])
65
65
  }, null, 2)
66
66
  ], 2)),
67
67
  n("div", {
68
- class: a(["tw-flex", [
68
+ class: l(["tw-flex", [
69
69
  {
70
70
  "tw-w-full tw-flex-row tw-items-center": c.value,
71
- "tw-mt-1.5 tw-justify-center": t(o),
72
- "tw-flex-col": !c.value || t(o)
71
+ "tw-mt-1.5 tw-justify-center": t(a),
72
+ "tw-flex-col": !c.value || t(a)
73
73
  }
74
74
  ]])
75
75
  }, [
76
76
  n("div", {
77
- class: a(["stash-step__title", [
77
+ class: l(["stash-step__title", [
78
78
  t(s).title,
79
79
  {
80
80
  "tw-whitespace-nowrap": c.value,
@@ -83,58 +83,58 @@ const S = { key: 1 }, I = /* @__PURE__ */ x({
83
83
  "tw-text-ice-900": p.value,
84
84
  "!tw-font-semibold": e.active,
85
85
  "tw-text-white": !e.disabled && !p.value,
86
- "tw-place-self-center": t(o)
86
+ "tw-place-self-center": t(a)
87
87
  }
88
88
  ]]),
89
89
  "data-test": "stash-step|title"
90
90
  }, [
91
- N(_(e.text) + " ", 1),
92
- t(o) ? (i(), r("p", {
91
+ B(_(e.text) + " ", 1),
92
+ t(a) ? (i(), r("p", {
93
93
  key: 0,
94
- class: a(["stash-step__pagination-label tw-mb-0 tw-text-center tw-text-xs", p.value ? "tw-text-ice-700" : "tw-text-white"]),
94
+ class: l(["stash-step__pagination-label tw-mb-0 tw-text-center tw-text-xs", p.value ? "tw-text-ice-700" : "tw-text-white"]),
95
95
  "data-test": "stash-step|pagination-label"
96
96
  }, _(h.value), 3)) : u("", !0)
97
97
  ], 2),
98
98
  c.value ? (i(), r("div", {
99
99
  key: 0,
100
- class: a([
100
+ class: l([
101
101
  t(s).line,
102
102
  {
103
103
  [t(s)["line--expanded"]]: e.completed || e.active,
104
- "tw-mx-1.5 tw-border-t group-last:tw-hidden": !t(o)
104
+ "tw-mx-1.5 tw-border-t group-last:tw-hidden": !t(a)
105
105
  }
106
106
  ])
107
107
  }, null, 2)) : u("", !0),
108
108
  n("div", {
109
- class: a(["stash-step--nested-steps", { "tw-pb-9": !f.nested && !t(w).default, "tw-hidden": c.value }])
109
+ class: l(["stash-step--nested-steps", { "tw-pb-9": !f.nested && !t(w).default, "tw-hidden": c.value }])
110
110
  }, [
111
111
  n("ul", {
112
- class: a([t(s).nested, { "tw-hidden": !t(w).default }])
112
+ class: l([t(s).nested, { "tw-hidden": !t(w).default }])
113
113
  }, [
114
- C(f.$slots, "default")
114
+ N(f.$slots, "default")
115
115
  ], 2)
116
116
  ], 2)
117
117
  ], 2)
118
118
  ], 2));
119
119
  }
120
- }), R = "_step_73127_2", V = "_title_73127_11", P = "_line_73127_22", $ = "_circle_73127_62", D = "_nested_73127_18", H = {
121
- step: R,
122
- title: V,
120
+ }), I = "_step_73127_2", R = "_title_73127_11", V = "_line_73127_22", P = "_circle_73127_62", $ = "_nested_73127_18", D = {
121
+ step: I,
122
+ title: R,
123
123
  "nested-step--active": "_nested-step--active_73127_18",
124
- line: P,
124
+ line: V,
125
125
  "line--expanded": "_line--expanded_73127_27",
126
126
  "stash-step--singular": "_stash-step--singular_73127_31",
127
- circle: $,
127
+ circle: P,
128
128
  "circle--todo": "_circle--todo_73127_75",
129
129
  "circle--active": "_circle--active_73127_81",
130
130
  "circle--loading": "_circle--loading_73127_87",
131
131
  "circle--completed": "_circle--completed_73127_94",
132
132
  "circle--error": "_circle--error_73127_101",
133
- nested: D
134
- }, J = {
135
- $style: H
136
- }, F = /* @__PURE__ */ M(I, [["__cssModules", J]]);
133
+ nested: $
134
+ }, H = {
135
+ $style: D
136
+ }, A = /* @__PURE__ */ j(M, [["__cssModules", H]]);
137
137
  export {
138
- F as default
138
+ A as default
139
139
  };
140
140
  //# sourceMappingURL=Step.js.map
package/dist/Step.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Step.js","sources":["../src/components/Step/Step.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, inject, onBeforeMount, useCssModule, useSlots } from 'vue';\n\n import { t } from '../../locale';\n import Icon from '../Icon/Icon.vue';\n import { STEPPER_INJECTION_KEY } from '../Stepper/keys';\n\n export interface StepProps {\n /**\n * Indicates if the step is currently active.\n * This takes precedence over `completed` and `error`\n */\n active?: boolean;\n /**\n * Indicates if the step is completed\n */\n completed?: boolean;\n /**\n * Indicates if the step has an error\n * This takes precedence over `completed`\n */\n error?: boolean;\n /**\n * The text to display in the step.\n */\n text: string;\n /**\n * Indicates if the step is nested\n */\n nested?: boolean;\n /**\n * The text to display in the step circle\n */\n step?: string;\n /**\n * Indicates if the step is disabled\n */\n disabled?: boolean;\n /**\n * Indicates if the step is in a loading state\n */\n loading?: boolean;\n }\n\n const props = withDefaults(defineProps<StepProps>(), {\n active: false,\n completed: false,\n error: false,\n nested: false,\n step: undefined,\n disabled: false,\n loading: false,\n });\n\n const slots = useSlots();\n const classes = useCssModule();\n\n const injectedStepper = inject(STEPPER_INJECTION_KEY);\n\n const isHorizontal = computed(() => injectedStepper?.orientation === 'horizontal');\n\n const isLightThemed = computed(() => injectedStepper?.theme === 'light');\n\n const showResponsiveNav = injectedStepper?.showResponsiveNav;\n\n const iconName = computed(() => {\n if (props.loading) {\n return 'working';\n }\n return props.completed ? 'circle-check' : 'circle-info';\n });\n\n const currentStepText = computed(() =>\n t('ll.stepper.currentStep', { num: props.step, total: String(injectedStepper?.stepCount.value) }),\n );\n\n // OnBeforeMount ensures that steps and substeps are registered in the correct order\n onBeforeMount(() => {\n if (injectedStepper) {\n injectedStepper.registerStep(props.nested);\n }\n });\n</script>\n\n<template>\n <li\n class=\"stash-step tw-relative tw-flex tw-w-full\"\n data-test=\"stash-step\"\n :class=\"[\n classes.step,\n {\n [classes['nested-step--active']]: props.nested && props.active,\n 'last:tw-w-auto': isHorizontal && !showResponsiveNav,\n [classes['stash-step--singular']]: showResponsiveNav,\n 'tw-relative tw-w-full tw-shrink-0 tw-snap-start tw-flex-col tw-justify-center': showResponsiveNav,\n },\n ]\"\n >\n <div\n v-if=\"!props.nested\"\n class=\"stash-step__indicator tw-flex tw-flex-col tw-items-center\"\n :class=\"{ 'tw-mr-3': !showResponsiveNav }\"\n data-test=\"stash-step|indicator\"\n >\n <div\n :class=\"[\n classes.circle,\n {\n [classes['circle--todo']]: !props.error && !props.active && !props.completed,\n [classes['circle--error']]: props.error && !props.active,\n [classes['circle--completed']]: props.completed && !props.active,\n [classes['circle--active']]: props.active,\n [classes['circle--loading']]: props.loading,\n },\n ]\"\n >\n <Icon\n v-if=\"(props.completed || props.error || props.loading) && !props.active\"\n :name=\"iconName\"\n :class=\"{ 'fx-spin': props.loading }\"\n size=\"dense\"\n />\n <span v-else>{{ props.step }}</span>\n </div>\n <div\n class=\"tw-my-1.5 tw-w-px tw-bg-ice-500\"\n :class=\"[\n classes.line,\n { [classes['line--expanded']]: props.completed || props.active, 'tw-hidden': isHorizontal },\n ]\"\n />\n </div>\n <!-- step title, line(s), and nested steps -->\n <div\n class=\"tw-flex\"\n :class=\"[\n {\n 'tw-w-full tw-flex-row tw-items-center': isHorizontal,\n 'tw-mt-1.5 tw-justify-center': showResponsiveNav,\n 'tw-flex-col': !isHorizontal || showResponsiveNav,\n },\n ]\"\n >\n <div\n class=\"stash-step__title\"\n data-test=\"stash-step|title\"\n :class=\"[\n classes.title,\n {\n 'tw-whitespace-nowrap': isHorizontal,\n 'tw-cursor-pointer': !props.active && (props.completed || props.error),\n 'tw-cursor-not-allowed': props.disabled,\n 'tw-text-ice-900': isLightThemed,\n '!tw-font-semibold': props.active,\n 'tw-text-white': !props.disabled && !isLightThemed,\n 'tw-place-self-center': showResponsiveNav,\n },\n ]\"\n >\n {{ props.text }}\n <p\n v-if=\"showResponsiveNav\"\n class=\"stash-step__pagination-label tw-mb-0 tw-text-center tw-text-xs\"\n data-test=\"stash-step|pagination-label\"\n :class=\"isLightThemed ? 'tw-text-ice-700' : 'tw-text-white'\"\n >\n {{ currentStepText }}\n </p>\n </div>\n <div\n v-if=\"isHorizontal\"\n :class=\"[\n classes.line,\n {\n [classes['line--expanded']]: props.completed || props.active,\n 'tw-mx-1.5 tw-border-t group-last:tw-hidden': !showResponsiveNav,\n },\n ]\"\n />\n <div\n class=\"stash-step--nested-steps\"\n :class=\"{ 'tw-pb-9': !nested && !slots.default, 'tw-hidden': isHorizontal }\"\n >\n <ul :class=\"[classes.nested, { 'tw-hidden': !slots.default }]\">\n <!-- @slot Default slot to compose multiple nested steps -->\n <slot></slot>\n </ul>\n </div>\n </div>\n </li>\n</template>\n\n<style module>\n .step::before {\n content: '●';\n position: absolute;\n color: theme('colors.white');\n left: -28px;\n opacity: 0;\n transition: opacity 500ms cubic-bezier(0.85, 0, 0.15, 1);\n }\n\n .title {\n font-weight: theme('fontWeight.medium');\n font-size: 1rem;\n margin-top: 1px;\n user-select: none;\n }\n\n .nested-step--active::before {\n opacity: 1;\n }\n\n .line {\n flex-grow: 0;\n transition: flex-grow 500ms cubic-bezier(0.87, 0, 0.13, 1);\n }\n\n .line--expanded {\n flex-grow: 1;\n }\n\n .stash-step--singular .line {\n @apply tw-absolute\n tw-inset-x-0\n tw-top-3\n tw-h-px\n tw-border-t-0\n before:tw-absolute\n before:tw-left-0\n before:tw-right-2/4\n before:tw-mr-16\n before:tw-block\n before:tw-h-px\n before:tw-bg-ice-500\n after:tw-absolute\n after:tw-left-2/4\n after:tw-right-0\n after:tw-ml-16\n after:tw-block\n after:tw-h-px\n after:tw-bg-ice-500;\n }\n\n .stash-step--singular .line::after,\n .stash-step--singular .line::before {\n content: '';\n }\n\n .step:not(.stash-step--singular):last-child .line {\n display: none;\n }\n\n .circle {\n width: theme('spacing.6');\n height: theme('spacing.6');\n line-height: theme('spacing.6');\n border-radius: theme('borderRadius.full');\n display: grid;\n place-items: center;\n font-weight: theme('fontWeight.medium');\n transition:\n background-color 500ms,\n color 500ms;\n }\n\n .circle--todo {\n background-color: rgb(255 255 255 / 50%);\n color: #4d4a69;\n border: 1px solid #747293;\n }\n\n .circle--active {\n background-color: var(--color-blue-500);\n color: theme('colors.white');\n border: 1px solid transparent;\n }\n\n .circle--loading {\n background-color: theme('colors.white');\n border: 1px solid var(--color-ice-500);\n color: var(--color-ice-700);\n cursor: pointer;\n }\n\n .circle--completed {\n background-color: theme('colors.white');\n border: 1px solid var(--color-ice-500);\n color: var(--color-green-500);\n cursor: pointer;\n }\n\n .circle--error {\n background-color: theme('colors.white');\n border: 1px solid var(--color-ice-500);\n color: var(--color-red-500);\n cursor: pointer;\n }\n\n .nested {\n padding: calc(theme('spacing.3') + theme('spacing[1.5]')) 0;\n }\n\n .nested li + li {\n margin-top: theme('spacing.3');\n }\n\n .nested .title {\n font-weight: theme('fontWeight.normal');\n font-size: 0.9rem;\n }\n</style>\n"],"names":["props","__props","slots","useSlots","classes","useCssModule","injectedStepper","inject","STEPPER_INJECTION_KEY","isHorizontal","computed","isLightThemed","showResponsiveNav","iconName","currentStepText","t","onBeforeMount"],"mappings":";;;;;;;;;;;;;;;;;;AA4CE,UAAMA,IAAQC,GAURC,IAAQC,EAAS,GACjBC,IAAUC,EAAa,GAEvBC,IAAkBC,EAAOC,CAAqB,GAE9CC,IAAeC,EAAS,OAAMJ,KAAA,gBAAAA,EAAiB,iBAAgB,YAAY,GAE3EK,IAAgBD,EAAS,OAAMJ,KAAA,gBAAAA,EAAiB,WAAU,OAAO,GAEjEM,IAAoBN,KAAA,gBAAAA,EAAiB,mBAErCO,IAAWH,EAAS,MACpBV,EAAM,UACD,YAEFA,EAAM,YAAY,iBAAiB,aAC3C,GAEKc,IAAkBJ;AAAA,MAAS,MAC/BK,EAAE,0BAA0B,EAAE,KAAKf,EAAM,MAAM,OAAO,OAAOM,KAAA,gBAAAA,EAAiB,UAAU,KAAK,EAAG,CAAA;AAAA,IAClG;AAGA,WAAAU,EAAc,MAAM;AAClB,MAAIV,KACcA,EAAA,aAAaN,EAAM,MAAM;AAAA,IAC3C,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Step.js","sources":["../src/components/Step/Step.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, inject, onBeforeMount, useCssModule, useSlots } from 'vue';\n\n import { t } from '../../locale';\n import Icon from '../Icon/Icon.vue';\n import { STEPPER_INJECTION_KEY } from '../Stepper/keys';\n\n export interface StepProps {\n /**\n * Indicates if the step is currently active.\n * This takes precedence over `completed` and `error`\n */\n active?: boolean;\n /**\n * Indicates if the step is completed\n */\n completed?: boolean;\n /**\n * Indicates if the step has an error\n * This takes precedence over `completed`\n */\n error?: boolean;\n /**\n * The text to display in the step.\n */\n text: string;\n /**\n * Indicates if the step is nested\n */\n nested?: boolean;\n /**\n * The text to display in the step circle\n */\n step?: string;\n /**\n * Indicates if the step is disabled\n */\n disabled?: boolean;\n /**\n * Indicates if the step is in a loading state\n */\n loading?: boolean;\n }\n\n const props = withDefaults(defineProps<StepProps>(), {\n active: false,\n completed: false,\n error: false,\n nested: false,\n step: undefined,\n disabled: false,\n loading: false,\n });\n\n const slots = useSlots();\n const classes = useCssModule();\n\n const injectedStepper = inject(STEPPER_INJECTION_KEY);\n\n const isHorizontal = computed(() => injectedStepper?.orientation === 'horizontal');\n\n const isLightThemed = computed(() => injectedStepper?.theme === 'light');\n\n const showResponsiveNav = injectedStepper?.showResponsiveNav;\n\n const iconName = computed(() => {\n if (props.loading) {\n return 'working';\n }\n return props.completed ? 'circle-check' : 'circle-info';\n });\n\n const currentStepText = computed(() =>\n t('ll.stepper.currentStep', { num: props.step, total: String(injectedStepper?.stepCount.value) }),\n );\n\n // OnBeforeMount ensures that steps and substeps are registered in the correct order\n onBeforeMount(() => {\n if (injectedStepper) {\n injectedStepper.registerStep(props.nested);\n }\n });\n</script>\n\n<template>\n <li\n class=\"stash-step tw-relative tw-flex tw-w-full\"\n data-test=\"stash-step\"\n :class=\"[\n classes.step,\n {\n [classes['nested-step--active']]: props.nested && props.active,\n 'last:tw-w-auto': isHorizontal && !showResponsiveNav,\n [classes['stash-step--singular']]: showResponsiveNav,\n 'tw-relative tw-w-full tw-shrink-0 tw-snap-start tw-flex-col tw-justify-center': showResponsiveNav,\n },\n ]\"\n >\n <div\n v-if=\"!props.nested\"\n class=\"stash-step__indicator tw-flex tw-flex-col tw-items-center\"\n :class=\"{ 'tw-mr-3': !showResponsiveNav }\"\n data-test=\"stash-step|indicator\"\n >\n <div\n :class=\"[\n classes.circle,\n {\n [classes['circle--todo']]: !props.error && !props.active && !props.completed,\n [classes['circle--error']]: props.error && !props.active,\n [classes['circle--completed']]: props.completed && !props.active,\n [classes['circle--active']]: props.active,\n [classes['circle--loading']]: props.loading,\n },\n ]\"\n >\n <Icon\n v-if=\"(props.completed || props.error || props.loading) && !props.active\"\n :name=\"iconName\"\n :class=\"{ 'fx-spin': props.loading }\"\n size=\"dense\"\n />\n <span v-else>{{ props.step }}</span>\n </div>\n <div\n class=\"tw-my-1.5 tw-w-px tw-bg-ice-500\"\n :class=\"[\n classes.line,\n { [classes['line--expanded']]: props.completed || props.active, 'tw-hidden': isHorizontal },\n ]\"\n />\n </div>\n <!-- step title, line(s), and nested steps -->\n <div\n class=\"tw-flex\"\n :class=\"[\n {\n 'tw-w-full tw-flex-row tw-items-center': isHorizontal,\n 'tw-mt-1.5 tw-justify-center': showResponsiveNav,\n 'tw-flex-col': !isHorizontal || showResponsiveNav,\n },\n ]\"\n >\n <div\n class=\"stash-step__title\"\n data-test=\"stash-step|title\"\n :class=\"[\n classes.title,\n {\n 'tw-whitespace-nowrap': isHorizontal,\n 'tw-cursor-pointer': !props.active && (props.completed || props.error),\n 'tw-cursor-not-allowed': props.disabled,\n 'tw-text-ice-900': isLightThemed,\n '!tw-font-semibold': props.active,\n 'tw-text-white': !props.disabled && !isLightThemed,\n 'tw-place-self-center': showResponsiveNav,\n },\n ]\"\n >\n {{ props.text }}\n <p\n v-if=\"showResponsiveNav\"\n class=\"stash-step__pagination-label tw-mb-0 tw-text-center tw-text-xs\"\n data-test=\"stash-step|pagination-label\"\n :class=\"isLightThemed ? 'tw-text-ice-700' : 'tw-text-white'\"\n >\n {{ currentStepText }}\n </p>\n </div>\n <div\n v-if=\"isHorizontal\"\n :class=\"[\n classes.line,\n {\n [classes['line--expanded']]: props.completed || props.active,\n 'tw-mx-1.5 tw-border-t group-last:tw-hidden': !showResponsiveNav,\n },\n ]\"\n />\n <div\n class=\"stash-step--nested-steps\"\n :class=\"{ 'tw-pb-9': !nested && !slots.default, 'tw-hidden': isHorizontal }\"\n >\n <ul :class=\"[classes.nested, { 'tw-hidden': !slots.default }]\">\n <!-- @slot Default slot to compose multiple nested steps -->\n <slot></slot>\n </ul>\n </div>\n </div>\n </li>\n</template>\n\n<style module>\n .step::before {\n content: '●';\n position: absolute;\n color: theme('colors.white');\n left: -28px;\n opacity: 0;\n transition: opacity 500ms cubic-bezier(0.85, 0, 0.15, 1);\n }\n\n .title {\n font-weight: theme('fontWeight.medium');\n font-size: 1rem;\n margin-top: 1px;\n user-select: none;\n }\n\n .nested-step--active::before {\n opacity: 1;\n }\n\n .line {\n flex-grow: 0;\n transition: flex-grow 500ms cubic-bezier(0.87, 0, 0.13, 1);\n }\n\n .line--expanded {\n flex-grow: 1;\n }\n\n .stash-step--singular .line {\n @apply tw-absolute\n tw-inset-x-0\n tw-top-3\n tw-h-px\n tw-border-t-0\n before:tw-absolute\n before:tw-left-0\n before:tw-right-2/4\n before:tw-mr-16\n before:tw-block\n before:tw-h-px\n before:tw-bg-ice-500\n after:tw-absolute\n after:tw-left-2/4\n after:tw-right-0\n after:tw-ml-16\n after:tw-block\n after:tw-h-px\n after:tw-bg-ice-500;\n }\n\n .stash-step--singular .line::after,\n .stash-step--singular .line::before {\n content: '';\n }\n\n .step:not(.stash-step--singular):last-child .line {\n display: none;\n }\n\n .circle {\n width: theme('spacing.6');\n height: theme('spacing.6');\n line-height: theme('spacing.6');\n border-radius: theme('borderRadius.full');\n display: grid;\n place-items: center;\n font-weight: theme('fontWeight.medium');\n transition:\n background-color 500ms,\n color 500ms;\n }\n\n .circle--todo {\n background-color: rgb(255 255 255 / 50%);\n color: #4d4a69;\n border: 1px solid #747293;\n }\n\n .circle--active {\n background-color: var(--color-blue-500);\n color: theme('colors.white');\n border: 1px solid transparent;\n }\n\n .circle--loading {\n background-color: theme('colors.white');\n border: 1px solid var(--color-ice-500);\n color: var(--color-ice-700);\n cursor: pointer;\n }\n\n .circle--completed {\n background-color: theme('colors.white');\n border: 1px solid var(--color-ice-500);\n color: var(--color-green-500);\n cursor: pointer;\n }\n\n .circle--error {\n background-color: theme('colors.white');\n border: 1px solid var(--color-ice-500);\n color: var(--color-red-500);\n cursor: pointer;\n }\n\n .nested {\n padding: calc(theme('spacing.3') + theme('spacing[1.5]')) 0;\n }\n\n .nested li + li {\n margin-top: theme('spacing.3');\n }\n\n .nested .title {\n font-weight: theme('fontWeight.normal');\n font-size: 0.9rem;\n }\n</style>\n"],"names":["props","__props","slots","useSlots","classes","useCssModule","injectedStepper","inject","STEPPER_INJECTION_KEY","isHorizontal","computed","isLightThemed","showResponsiveNav","iconName","currentStepText","t","onBeforeMount","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createBlock","Icon","_hoisted_1","_toDisplayString","nested","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;AA4CE,UAAMA,IAAQC,GAURC,IAAQC,EAAA,GACRC,IAAUC,EAAA,GAEVC,IAAkBC,EAAOC,CAAqB,GAE9CC,IAAeC,EAAS,MAAMJ,GAAiB,gBAAgB,YAAY,GAE3EK,IAAgBD,EAAS,MAAMJ,GAAiB,UAAU,OAAO,GAEjEM,IAAoBN,GAAiB,mBAErCO,IAAWH,EAAS,MACpBV,EAAM,UACD,YAEFA,EAAM,YAAY,iBAAiB,aAC3C,GAEKc,IAAkBJ;AAAA,MAAS,MAC/BK,EAAE,0BAA0B,EAAE,KAAKf,EAAM,MAAM,OAAO,OAAOM,GAAiB,UAAU,KAAK,GAAG;AAAA,IAAA;AAIlG,WAAAU,EAAc,MAAM;AAClB,MAAIV,KACFA,EAAgB,aAAaN,EAAM,MAAM;AAAA,IAE7C,CAAC,mBAIDiB,EAwGK,MAAA;AAAA,MAvGH,UAAM,4CAA0C;AAAA,QAEhCC,EAAAd,CAAA,EAAQ;AAAA;UAAuB,CAAAc,EAAAd,CAAA,2BAAiCJ,EAAM,UAAUA,EAAM;AAAA,UAAkC,kBAAAS,EAAA,UAAiBS,EAAAN,CAAA;AAAA,UAA4B,CAAAM,EAAAd,CAAA,4BAAkCc,EAAAN,CAAA;AAAA,2FAA4GM,EAAAN,CAAA;AAAA,QAAA;AAAA;MADnU,aAAU;AAAA,IAAA;MAYDZ,EAAM,2BADfiB,EAiCM,OAAA;AAAA;QA/BJ,OAAKE,EAAA,CAAC,6DAA2D,EAAA,WAAA,CAC3CD,EAAAN,CAAA,EAAA,CAAiB,CAAA;AAAA,QACvC,aAAU;AAAA,MAAA;QAEVQ,EAmBM,OAAA;AAAA,UAlBH,OAAKD,EAAA;AAAA,YAAcD,EAAAd,CAAA,EAAQ;AAAA;eAAiCc,EAAAd,CAAA,EAAO,cAAA,CAAA,GAAA,CAAoBJ,EAAM,SAAK,CAAKA,EAAM,UAAM,CAAKA,EAAM;AAAA,cAAwB,CAAAkB,EAAAd,CAAA,qBAA2BJ,EAAM,SAAK,CAAKA,EAAM;AAAA,cAAqB,CAAAkB,EAAAd,CAAA,yBAA+BJ,EAAM,aAAS,CAAKA,EAAM;AAAA,eAAqBkB,EAAAd,CAAA,EAAO,gBAAA,CAAA,GAAqBJ,EAAM;AAAA,eAAqBkB,EAAAd,CAAA,EAAO,iBAAA,CAAA,GAAsBJ,EAAM;AAAA,YAAA;AAAA;;WAY5XA,EAAM,aAAaA,EAAM,SAASA,EAAM,YAAO,CAAMA,EAAM,eADpEqB,EAKEC,GAAA;AAAA;YAHC,MAAMT,EAAA;AAAA,YACN,OAAKM,EAAA,EAAA,WAAenB,EAAM,SAAO;AAAA,YAClC,MAAK;AAAA,UAAA,wCAEPiB,EAAoC,QAAAM,GAAAC,EAApBxB,EAAM,IAAI,GAAA,CAAA;AAAA,QAAA;QAE5BoB,EAME,OAAA;AAAA,UALA,UAAM,mCAAiC;AAAA,YACnBF,EAAAd,CAAA,EAAQ;AAAA,eAAmBc,EAAAd,CAAA,EAAO,gBAAA,CAAA,GAAqBJ,EAAM,aAAaA,EAAM,QAAM,aAAeS,EAAA,MAAA;AAAA,UAAY;;;MAOzIW,EAuDM,OAAA;AAAA,QAtDJ,UAAM,WAAS;AAAA;qDACwDX,EAAA;AAAA,2CAAuDS,EAAAN,CAAA;AAAA,YAA6C,eAAA,CAAAH,EAAA,SAAgBS,EAAAN,CAAA;AAAA,UAAA;AAAA;;QAQ3LQ,EAyBM,OAAA;AAAA,UAxBJ,UAAM,qBAAmB;AAAA,YAELF,EAAAd,CAAA,EAAQ;AAAA;sCAAuDK,EAAA;AAAA,oCAAgDT,EAAM,WAAWA,EAAM,aAAaA,EAAM;AAAA,cAA6C,yBAAAA,EAAM;AAAA,iCAAyCW,EAAA;AAAA,cAAgD,qBAAAX,EAAM;AAAA,gCAAsCA,EAAM,YAAQ,CAAKW,EAAA;AAAA,sCAAmDO,EAAAN,CAAA;AAAA,YAAA;AAAA;UAD3a,aAAU;AAAA,QAAA;cAcPZ,EAAM,IAAI,IAAG,KAChB,CAAA;AAAA,UACQkB,EAAAN,CAAA,UADRK,EAOI,KAAA;AAAA;YALF,OAAKE,EAAA,CAAC,kEAEER,EAAA,QAAa,oBAAA,eAAA,CAAA;AAAA,YADrB,aAAU;AAAA,UAAA,KAGPG,EAAA,KAAe,GAAA,CAAA;;QAIdL,EAAA,cADRQ,EASE,OAAA;AAAA;UAPC,OAAKE,EAAA;AAAA,YAAcD,EAAAd,CAAA,EAAQ;AAAA;cAA+B,CAAAc,EAAAd,CAAA,sBAA4BJ,EAAM,aAAaA,EAAM;AAAA,6DAAmEkB,EAAAN,CAAA;AAAA,YAAA;AAAA;;QAQrLQ,EAQM,OAAA;AAAA,UAPJ,OAAKD,EAAA,CAAC,4BAA0B,EAAA,WAAA,CACVM,EAAAA,WAAWP,EAAAhB,CAAA,EAAM,SAAO,aAAeO,EAAA,OAAY,CAAA;AAAA,QAAA;UAEzEW,EAGK,MAAA;AAAA,YAHA,UAAQF,EAAAd,CAAA,EAAQ,QAAM,EAAA,aAAA,CAAkBc,EAAAhB,CAAA,EAAM,QAAA,CAAO,CAAA;AAAA,UAAA;YAExDwB,EAAaC,EAAA,QAAA,SAAA;AAAA,UAAA;;;;;;;;;;;;;;;;;;;;;;"}