@leaflink/stash 51.9.2 → 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 +122 -132
  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 +4 -4
  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 +13 -14
  362. package/tailwind-base.ts +4 -4
  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,53 +1,18 @@
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<FilterChipProps>, {
36
- filterCount: undefined;
37
- hasDropdown: boolean;
38
- isDropdownOpen: boolean;
39
- isRemovable: boolean;
40
- isSelected: boolean;
41
- }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
42
- click: () => void;
43
- remove: () => void;
44
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<FilterChipProps>, {
45
- filterCount: undefined;
46
- hasDropdown: boolean;
47
- isDropdownOpen: boolean;
48
- isRemovable: boolean;
49
- isSelected: boolean;
50
- }>>> & Readonly<{
12
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<FilterChipProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
13
+ click: () => any;
14
+ remove: () => any;
15
+ }, string, PublicProps, Readonly<FilterChipProps> & Readonly<{
51
16
  onClick?: (() => any) | undefined;
52
17
  onRemove?: (() => any) | undefined;
53
18
  }>, {
@@ -56,12 +21,12 @@ isSelected: boolean;
56
21
  filterCount: number;
57
22
  hasDropdown: boolean;
58
23
  isDropdownOpen: boolean;
59
- }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
24
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>, {
60
25
  default?(_: {}): any;
61
26
  }>;
62
27
  export default _default;
63
28
 
64
- export declare interface FilterChipProps {
29
+ declare interface FilterChipProps {
65
30
  /**
66
31
  * Used for conditionally rendering filter count chip
67
32
  */
@@ -1,16 +1,16 @@
1
- import { defineComponent as C, useSlots as F, inject as k, computed as w, createElementBlock as o, openBlock as e, createBlock as a, createCommentVNode as r, resolveDynamicComponent as x, withCtx as p, createElementVNode as l, toDisplayString as n, normalizeClass as I, unref as c, createTextVNode as g, renderSlot as D } from "vue";
1
+ import { defineComponent as y, useSlots as C, inject as k, computed as w, createElementBlock as o, openBlock as t, createBlock as a, createCommentVNode as s, resolveDynamicComponent as x, withCtx as p, createElementVNode as l, toDisplayString as n, normalizeClass as I, unref as c, createTextVNode as g, renderSlot as D } from "vue";
2
2
  import { t as u } from "./locale.js";
3
3
  import E from "./Chip.js";
4
4
  import { D as S } from "./DataViewFilters.keys-BLu07FiP.js";
5
- import N from "./Icon.js";
6
- const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-center tw-justify-between tw-self-stretch" }, V = { class: "tw-flex tw-flex-col tw-items-start" }, B = {
5
+ import V from "./Icon.js";
6
+ const N = { class: "stash-filter-drawer-item" }, T = { class: "tw-flex tw-items-center tw-justify-between tw-self-stretch" }, A = { class: "tw-flex tw-flex-col tw-items-start" }, B = {
7
7
  key: 0,
8
8
  class: "tw-text-xs",
9
9
  "data-test": "description"
10
10
  }, O = {
11
11
  key: 0,
12
12
  class: "tw-gap-3 tw-p-6"
13
- }, R = /* @__PURE__ */ C({
13
+ }, J = /* @__PURE__ */ y({
14
14
  __name: "FilterDrawerItem",
15
15
  props: {
16
16
  group: {},
@@ -19,28 +19,28 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
19
19
  },
20
20
  emits: ["navigate"],
21
21
  setup(f, { emit: v }) {
22
- const i = f, _ = v, h = F(), t = k(S.key);
23
- if (!(t != null && t.useFiltersInstance))
22
+ const i = f, _ = v, h = C(), r = k(S.key);
23
+ if (!r?.useFiltersInstance)
24
24
  throw new Error(
25
25
  "FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters()."
26
26
  );
27
- const { activeFiltersCounts: b } = t.useFiltersInstance, d = w(() => b.value[i.group]), s = w(() => t.drawerStyle === "cascade");
28
- return (y, m) => (e(), o("div", T, [
29
- (e(), a(x(s.value ? "div" : "button"), {
27
+ const { activeFiltersCounts: b } = r.useFiltersInstance, d = w(() => b.value[i.group]), e = w(() => r.drawerStyle === "cascade");
28
+ return (F, m) => (t(), o("div", N, [
29
+ (t(), a(x(e.value ? "div" : "button"), {
30
30
  "data-test": "stash-filter-drawer-item|dynamic-component",
31
31
  class: "tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500",
32
- onClick: m[0] || (m[0] = (j) => s.value ? void 0 : _("navigate"))
32
+ onClick: m[0] || (m[0] = (j) => e.value ? void 0 : _("navigate"))
33
33
  }, {
34
34
  default: p(() => [
35
- l("div", A, [
36
- l("div", V, [
35
+ l("div", T, [
36
+ l("div", A, [
37
37
  l("h4", null, n(i.title), 1),
38
- i.description ? (e(), o("div", B, n(i.description), 1)) : r("", !0)
38
+ i.description ? (t(), o("div", B, n(i.description), 1)) : s("", !0)
39
39
  ]),
40
40
  l("div", {
41
- class: I(["tw-inline-flex tw-items-center tw-gap-6", { "tw-mb-0.5 tw-mr-2": s.value }])
41
+ class: I(["tw-inline-flex tw-items-center tw-gap-6", { "tw-mb-0.5 tw-mr-2": e.value }])
42
42
  }, [
43
- d.value ? (e(), a(E, {
43
+ d.value ? (t(), a(E, {
44
44
  key: 0,
45
45
  color: "blue",
46
46
  radius: "pill",
@@ -52,8 +52,8 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
52
52
  g(n(d.value), 1)
53
53
  ]),
54
54
  _: 1
55
- }, 8, ["aria-label", "title"])) : r("", !0),
56
- s.value ? r("", !0) : (e(), a(N, {
55
+ }, 8, ["aria-label", "title"])) : s("", !0),
56
+ e.value ? s("", !0) : (t(), a(V, {
57
57
  key: 1,
58
58
  name: "chevron-right",
59
59
  title: c(u)("ll.viewFilterGroup")
@@ -63,13 +63,13 @@ const T = { class: "stash-filter-drawer-item" }, A = { class: "tw-flex tw-items-
63
63
  ]),
64
64
  _: 1
65
65
  })),
66
- s.value && h.default ? (e(), o("div", O, [
67
- D(y.$slots, "default")
68
- ])) : r("", !0)
66
+ e.value && h.default ? (t(), o("div", O, [
67
+ D(F.$slots, "default")
68
+ ])) : s("", !0)
69
69
  ]));
70
70
  }
71
71
  });
72
72
  export {
73
- R as default
73
+ J as default
74
74
  };
75
75
  //# sourceMappingURL=FilterDrawerItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDrawerItem.js","sources":["../src/components/FilterDrawerItem/FilterDrawerItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, inject } from 'vue';\n\n import { t } from '../../locale';\n import Chip from '../Chip/Chip.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import Icon from '../Icon/Icon.vue';\n\n export interface FilterDrawerItemProps {\n /** The name of a filter group */\n group: string;\n title: string;\n description?: string;\n }\n const props = defineProps<FilterDrawerItemProps>();\n\n export interface FilterDrawerItemEmits {\n (e: 'navigate');\n }\n const emit = defineEmits<FilterDrawerItemEmits>();\n\n export interface FilterDrawerItemSlots {\n default?: () => unknown;\n }\n\n const slots = defineSlots<FilterDrawerItemSlots>();\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { activeFiltersCounts } = dataViewFiltersUtils.useFiltersInstance;\n\n const activeCount = computed(() => activeFiltersCounts.value[props.group]);\n const isDrawerCascade = computed(() => dataViewFiltersUtils.drawerStyle === 'cascade');\n</script>\n\n<template>\n <div class=\"stash-filter-drawer-item\">\n <component\n :is=\"isDrawerCascade ? 'div' : 'button'\"\n data-test=\"stash-filter-drawer-item|dynamic-component\"\n class=\"tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500\"\n @click=\"isDrawerCascade ? undefined : emit('navigate')\"\n >\n <div class=\"tw-flex tw-items-center tw-justify-between tw-self-stretch\">\n <div class=\"tw-flex tw-flex-col tw-items-start\">\n <h4>{{ props.title }}</h4>\n <div v-if=\"props.description\" class=\"tw-text-xs\" data-test=\"description\">\n {{ props.description }}\n </div>\n </div>\n <div class=\"tw-inline-flex tw-items-center tw-gap-6\" :class=\"{ 'tw-mb-0.5 tw-mr-2': isDrawerCascade }\">\n <Chip\n v-if=\"activeCount\"\n color=\"blue\"\n radius=\"pill\"\n shade=\"main\"\n :aria-label=\"t('ll.numberOfActiveFilters')\"\n :title=\"t('ll.numberOfActiveFilters')\"\n >\n {{ activeCount }}\n </Chip>\n <Icon v-if=\"!isDrawerCascade\" name=\"chevron-right\" :title=\"t('ll.viewFilterGroup')\" />\n </div>\n </div>\n </component>\n <div v-if=\"isDrawerCascade && slots.default\" class=\"tw-gap-3 tw-p-6\">\n <slot></slot>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","dataViewFiltersUtils","inject","DATA_VIEW_FILTERS_UTILS_INJECTION","activeFiltersCounts","activeCount","computed","isDrawerCascade"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcE,UAAMA,IAAQC,GAKRC,IAAOC,GAMPC,IAAQC,EAAoC,GAE5CC,IAAuBC,EAAOC,EAAkC,GAAG;AAErE,QAAA,EAACF,KAAA,QAAAA,EAAsB;AACzB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAGI,UAAA,EAAE,qBAAAG,MAAwBH,EAAqB,oBAE/CI,IAAcC,EAAS,MAAMF,EAAoB,MAAMT,EAAM,KAAK,CAAC,GACnEY,IAAkBD,EAAS,MAAML,EAAqB,gBAAgB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FilterDrawerItem.js","sources":["../src/components/FilterDrawerItem/FilterDrawerItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { computed, inject } from 'vue';\n\n import { t } from '../../locale';\n import Chip from '../Chip/Chip.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import Icon from '../Icon/Icon.vue';\n\n export interface FilterDrawerItemProps {\n /** The name of a filter group */\n group: string;\n title: string;\n description?: string;\n }\n const props = defineProps<FilterDrawerItemProps>();\n\n export interface FilterDrawerItemEmits {\n (e: 'navigate');\n }\n const emit = defineEmits<FilterDrawerItemEmits>();\n\n export interface FilterDrawerItemSlots {\n default?: () => unknown;\n }\n\n const slots = defineSlots<FilterDrawerItemSlots>();\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { activeFiltersCounts } = dataViewFiltersUtils.useFiltersInstance;\n\n const activeCount = computed(() => activeFiltersCounts.value[props.group]);\n const isDrawerCascade = computed(() => dataViewFiltersUtils.drawerStyle === 'cascade');\n</script>\n\n<template>\n <div class=\"stash-filter-drawer-item\">\n <component\n :is=\"isDrawerCascade ? 'div' : 'button'\"\n data-test=\"stash-filter-drawer-item|dynamic-component\"\n class=\"tw-w-full tw-border-b tw-border-ice-500 tw-py-4 tw-outline-none focus:tw-outline-blue-500\"\n @click=\"isDrawerCascade ? undefined : emit('navigate')\"\n >\n <div class=\"tw-flex tw-items-center tw-justify-between tw-self-stretch\">\n <div class=\"tw-flex tw-flex-col tw-items-start\">\n <h4>{{ props.title }}</h4>\n <div v-if=\"props.description\" class=\"tw-text-xs\" data-test=\"description\">\n {{ props.description }}\n </div>\n </div>\n <div class=\"tw-inline-flex tw-items-center tw-gap-6\" :class=\"{ 'tw-mb-0.5 tw-mr-2': isDrawerCascade }\">\n <Chip\n v-if=\"activeCount\"\n color=\"blue\"\n radius=\"pill\"\n shade=\"main\"\n :aria-label=\"t('ll.numberOfActiveFilters')\"\n :title=\"t('ll.numberOfActiveFilters')\"\n >\n {{ activeCount }}\n </Chip>\n <Icon v-if=\"!isDrawerCascade\" name=\"chevron-right\" :title=\"t('ll.viewFilterGroup')\" />\n </div>\n </div>\n </component>\n <div v-if=\"isDrawerCascade && slots.default\" class=\"tw-gap-3 tw-p-6\">\n <slot></slot>\n </div>\n </div>\n</template>\n"],"names":["props","__props","emit","__emit","slots","_useSlots","dataViewFiltersUtils","inject","DATA_VIEW_FILTERS_UTILS_INJECTION","activeFiltersCounts","activeCount","computed","isDrawerCascade","_openBlock","_createElementBlock","_hoisted_1","_createBlock","_resolveDynamicComponent","_cache","$event","_createElementVNode","_hoisted_2","_hoisted_3","_toDisplayString","_hoisted_4","_normalizeClass","Chip","_unref","t","Icon","_hoisted_5","_renderSlot","_ctx"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcE,UAAMA,IAAQC,GAKRC,IAAOC,GAMPC,IAAQC,EAAA,GAERC,IAAuBC,EAAOC,EAAkC,GAAG;AAEzE,QAAI,CAACF,GAAsB;AACzB,YAAM,IAAI;AAAA,QACR;AAAA,MAAA;AAIJ,UAAM,EAAE,qBAAAG,MAAwBH,EAAqB,oBAE/CI,IAAcC,EAAS,MAAMF,EAAoB,MAAMT,EAAM,KAAK,CAAC,GACnEY,IAAkBD,EAAS,MAAML,EAAqB,gBAAgB,SAAS;sBAIrFO,EAAA,GAAAC,EAgCM,OAhCNC,GAgCM;AAAA,OA/BJF,EAAA,GAAAG,EA2BYC,EA1BLL,EAAA,QAAe,QAAA,QAAA,GAAA;AAAA,QACpB,aAAU;AAAA,QACV,OAAM;AAAA,QACL,SAAKM,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEP,EAAA,QAAkB,SAAYV,EAAI,UAAA;AAAA,MAAA;mBAE1C,MAoBM;AAAA,UApBNkB,EAoBM,OApBNC,GAoBM;AAAA,YAnBJD,EAKM,OALNE,GAKM;AAAA,cAJJF,EAA0B,MAAA,MAAAG,EAAnBvB,EAAM,KAAK,GAAA,CAAA;AAAA,cACPA,EAAM,eAAjBa,EAAA,GAAAC,EAEM,OAFNU,GAEMD,EADDvB,EAAM,WAAW,GAAA,CAAA;;YAGxBoB,EAYM,OAAA;AAAA,cAZD,OAAKK,EAAA,CAAC,2CAAyC,EAAA,qBAAgCb,EAAA,OAAe,CAAA;AAAA,YAAA;cAEzFF,EAAA,cADRM,EASOU,GAAA;AAAA;gBAPL,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,OAAM;AAAA,gBACL,cAAYC,EAAAC,CAAA,EAAC,0BAAA;AAAA,gBACb,OAAOD,EAAAC,CAAA,EAAC,0BAAA;AAAA,cAAA;2BAET,MAAiB;AAAA,sBAAdlB,EAAA,KAAW,GAAA,CAAA;AAAA,gBAAA;;;cAEHE,EAAA,0BAAbI,EAAsFa,GAAA;AAAA;gBAAxD,MAAK;AAAA,gBAAiB,OAAOF,EAAAC,CAAA,EAAC,oBAAA;AAAA,cAAA;;;;;;MAIvDhB,EAAA,SAAmBR,EAAM,WAApCS,KAAAC,EAEM,OAFNgB,GAEM;AAAA,QADJC,EAAaC,EAAA,QAAA,SAAA;AAAA,MAAA;;;;"}
@@ -1,46 +1,29 @@
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_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
6
  declare type __VLS_WithTemplateSlots<T, S> = T & {
20
7
  new (): {
21
8
  $slots: S;
22
9
  };
23
10
  };
24
11
 
25
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
26
- navigate: () => void;
27
- }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<FilterDrawerItemProps>>> & Readonly<{
12
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<FilterDrawerItemProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
13
+ navigate: () => any;
14
+ }, string, PublicProps, Readonly<FilterDrawerItemProps> & Readonly<{
28
15
  onNavigate?: (() => any) | undefined;
29
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<FilterDrawerItemSlots> & FilterDrawerItemSlots>;
16
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>, Readonly<FilterDrawerItemSlots> & FilterDrawerItemSlots>;
30
17
  export default _default;
31
18
 
32
- export declare interface FilterDrawerItemEmits {
33
- (e: 'navigate'): any;
34
- }
35
-
36
- export declare interface FilterDrawerItemProps {
19
+ declare interface FilterDrawerItemProps {
37
20
  /** The name of a filter group */
38
21
  group: string;
39
22
  title: string;
40
23
  description?: string;
41
24
  }
42
25
 
43
- export declare interface FilterDrawerItemSlots {
26
+ declare interface FilterDrawerItemSlots {
44
27
  default?: () => unknown;
45
28
  }
46
29
 
@@ -1,17 +1,17 @@
1
- import { defineComponent as O, inject as b, ref as y, computed as R, createBlock as k, openBlock as w, withCtx as l, createElementVNode as d, createVNode as f, unref as o, renderSlot as W, Transition as j, createElementBlock as J, createCommentVNode as x, createTextVNode as p, toDisplayString as m } from "vue";
2
- import z from "lodash-es/throttle";
3
- import { t as C } from "./locale.js";
4
- import D from "./Button.js";
1
+ import { defineComponent as O, inject as g, ref as b, computed as R, createBlock as y, openBlock as d, withCtx as o, createElementVNode as r, createVNode as c, unref as e, renderSlot as W, Transition as j, createElementBlock as J, createCommentVNode as k, createTextVNode as u, toDisplayString as w } from "vue";
2
+ import U from "lodash-es/throttle";
3
+ import { t as x } from "./locale.js";
4
+ import F from "./Button.js";
5
5
  import "lodash-es/cloneDeep";
6
6
  import "lodash-es/uniqueId";
7
- import { D as F } from "./DataView.keys-aSOnA4AD.js";
8
- import { D as G } from "./DataViewFilters.keys-BLu07FiP.js";
9
- import $ from "./Dropdown.js";
10
- import q from "./FilterChip.js";
11
- const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "tw-relative tw-grow tw-overflow-hidden tw-rounded-t" }, M = {
7
+ import { D as C } from "./DataView.keys-aSOnA4AD.js";
8
+ import { D as z } from "./DataViewFilters.keys-BLu07FiP.js";
9
+ import G from "./Dropdown.js";
10
+ import $ from "./FilterChip.js";
11
+ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "tw-relative tw-grow tw-overflow-hidden tw-rounded-t" }, K = {
12
12
  key: 0,
13
13
  class: "tw-pointer-events-none tw-absolute tw-inset-x-0 tw-bottom-0 tw-z-10 tw-h-[20px] tw-bg-scroll-shadow"
14
- }, P = { class: "tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5" }, ne = /* @__PURE__ */ O({
14
+ }, M = { class: "tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5" }, it = /* @__PURE__ */ O({
15
15
  __name: "FilterDropdown",
16
16
  props: {
17
17
  label: {},
@@ -20,44 +20,38 @@ const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "t
20
20
  } }
21
21
  },
22
22
  emits: ["reset", "dismiss"],
23
- setup(T, { emit: I }) {
24
- const s = T, c = I, { isLoading: h } = b(F.key, F.defaults), i = b(G.key);
25
- if (!(i != null && i.useFiltersInstance))
23
+ setup(D, { emit: T }) {
24
+ const s = D, n = T, { isLoading: p } = g(C.key, C.defaults), f = g(z.key);
25
+ if (!f?.useFiltersInstance)
26
26
  throw new Error(
27
27
  "FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters()."
28
28
  );
29
- const { applyFilters: E, resetFilterGroup: S, activeFiltersCounts: v, undoWorkingFilters: _ } = i.useFiltersInstance, n = y(), u = R(() => {
30
- var e;
31
- return (e = n.value) == null ? void 0 : e.isActive;
32
- });
33
- function A() {
34
- var t;
35
- const e = u.value;
36
- (t = n.value) == null || t.toggle(), e && (_(), c("dismiss"));
29
+ const { applyFilters: I, resetFilterGroup: E, activeFiltersCounts: m, undoWorkingFilters: h } = f.useFiltersInstance, l = b(), a = R(() => l.value?.isActive);
30
+ function S() {
31
+ const t = a.value;
32
+ l.value?.toggle(), t && (h(), n("dismiss"));
37
33
  }
38
- function N() {
39
- var e;
40
- S(s.group), c("reset"), (e = n.value) == null || e.dismiss();
34
+ function V() {
35
+ E(s.group), n("reset"), l.value?.dismiss();
41
36
  }
42
- async function V() {
43
- var t, a;
44
- const { preventDismiss: e } = await ((t = s.onApply) == null ? void 0 : t.call(s)) || E() || {};
45
- e || (a = n.value) == null || a.dismiss();
37
+ async function A() {
38
+ const { preventDismiss: t } = await s.onApply?.() || I() || {};
39
+ t || l.value?.dismiss();
46
40
  }
47
- function B() {
48
- _(), c("dismiss");
41
+ function N() {
42
+ h(), n("dismiss");
49
43
  }
50
- const r = y(!1), g = z((e) => {
51
- e.target && (e.target.scrollTop > 0 ? r.value = !0 : r.value = !1);
44
+ const i = b(!1), v = U((t) => {
45
+ t.target && (t.target.scrollTop > 0 ? i.value = !0 : i.value = !1);
52
46
  }, 500);
53
- function L() {
47
+ function B() {
54
48
  setTimeout(() => {
55
- r.value = !1;
49
+ i.value = !1;
56
50
  }, 2e3);
57
51
  }
58
- return (e, t) => (w(), k($, {
52
+ return (t, _) => (d(), y(G, {
59
53
  ref_key: "dropdownRef",
60
- ref: n,
54
+ ref: l,
61
55
  align: "left",
62
56
  class: "stash-filter-dropdown",
63
57
  "data-test": "stash-filter-dropdown",
@@ -65,61 +59,61 @@ const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "t
65
59
  "close-manually": "",
66
60
  "content-class": "tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]",
67
61
  offset: { y: 6 },
68
- onDismiss: B
62
+ onDismiss: N
69
63
  }, {
70
- toggle: l(() => [
71
- f(q, {
64
+ toggle: o(() => [
65
+ c($, {
72
66
  class: "tw-rounded-full",
73
67
  "has-dropdown": "",
74
- "is-dropdown-open": u.value,
75
- "filter-count": o(v)[s.group],
76
- "is-selected": u.value,
77
- onClick: A
68
+ "is-dropdown-open": a.value,
69
+ "filter-count": e(m)[s.group],
70
+ "is-selected": a.value,
71
+ onClick: S
78
72
  }, {
79
- default: l(() => [
80
- p(m(s.label), 1)
73
+ default: o(() => [
74
+ u(w(s.label), 1)
81
75
  ]),
82
76
  _: 1
83
77
  }, 8, ["is-dropdown-open", "filter-count", "is-selected"])
84
78
  ]),
85
- default: l(() => [
86
- d("div", H, [
87
- d("div", K, [
88
- d("div", {
79
+ default: o(() => [
80
+ r("div", q, [
81
+ r("div", H, [
82
+ r("div", {
89
83
  class: "tw-h-full tw-overflow-auto tw-p-6",
90
- onScroll: t[0] || (t[0] = //@ts-ignore
91
- (...a) => o(g) && o(g)(...a)),
92
- onScrollend: L
84
+ onScroll: _[0] || (_[0] = //@ts-ignore
85
+ (...L) => e(v) && e(v)(...L)),
86
+ onScrollend: B
93
87
  }, [
94
- W(e.$slots, "default")
88
+ W(t.$slots, "default")
95
89
  ], 32),
96
- f(j, { name: "fade" }, {
97
- default: l(() => [
98
- r.value ? (w(), J("div", M)) : x("", !0)
90
+ c(j, { name: "fade" }, {
91
+ default: o(() => [
92
+ i.value ? (d(), J("div", K)) : k("", !0)
99
93
  ]),
100
94
  _: 1
101
95
  })
102
96
  ]),
103
- d("footer", P, [
104
- o(v)[s.group] ? (w(), k(D, {
97
+ r("footer", M, [
98
+ e(m)[s.group] ? (d(), y(F, {
105
99
  key: 0,
106
100
  secondary: "",
107
101
  class: "tw-min-w-[100px]",
108
- disabled: o(h),
109
- onClick: N
102
+ disabled: e(p),
103
+ onClick: V
110
104
  }, {
111
- default: l(() => [
112
- p(m(o(C)("ll.reset")), 1)
105
+ default: o(() => [
106
+ u(w(e(x)("ll.reset")), 1)
113
107
  ]),
114
108
  _: 1
115
- }, 8, ["disabled"])) : x("", !0),
116
- f(D, {
109
+ }, 8, ["disabled"])) : k("", !0),
110
+ c(F, {
117
111
  class: "tw-min-w-[100px]",
118
- disabled: o(h),
119
- onClick: V
112
+ disabled: e(p),
113
+ onClick: A
120
114
  }, {
121
- default: l(() => [
122
- p(m(o(C)("ll.apply")), 1)
115
+ default: o(() => [
116
+ u(w(e(x)("ll.apply")), 1)
123
117
  ]),
124
118
  _: 1
125
119
  }, 8, ["disabled"])
@@ -131,6 +125,6 @@ const H = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, K = { class: "t
131
125
  }
132
126
  });
133
127
  export {
134
- ne as default
128
+ it as default
135
129
  };
136
130
  //# sourceMappingURL=FilterDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDropdown.js","sources":["../src/components/FilterDropdown/FilterDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import throttle from 'lodash-es/throttle';\n import { computed, inject, ref } from 'vue';\n\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import { DATA_VIEW_INJECTION } from '../DataView/DataView.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import type { OnApplyFilters } from '../DataViewFilters/DataViewFilters.types';\n import Dropdown from '../Dropdown/Dropdown.vue';\n import FilterChip from '../FilterChip/FilterChip.vue';\n\n export interface FilterDropdownProps {\n label: string;\n /** The name of a filter group */\n group: string;\n onApply?: OnApplyFilters;\n }\n const props = withDefaults(defineProps<FilterDropdownProps>(), {\n activeFilterCount: 0,\n onApply: () => undefined,\n });\n\n const emit = defineEmits<{\n (e: 'reset'): void;\n (e: 'dismiss'): void;\n }>();\n\n const { isLoading: isDataViewLoading } = inject(DATA_VIEW_INJECTION.key, DATA_VIEW_INJECTION.defaults);\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { applyFilters, resetFilterGroup, activeFiltersCounts, undoWorkingFilters } =\n dataViewFiltersUtils.useFiltersInstance;\n\n const dropdownRef = ref<InstanceType<typeof Dropdown>>();\n const isOpen = computed(() => dropdownRef.value?.isActive);\n\n function onToggleButtonClick() {\n const wasOpen = isOpen.value;\n\n dropdownRef.value?.toggle();\n\n if (wasOpen) {\n undoWorkingFilters();\n emit('dismiss');\n }\n }\n\n function handleResetClick() {\n resetFilterGroup(props.group);\n emit('reset');\n dropdownRef.value?.dismiss();\n }\n\n async function handleApplyClick() {\n const { preventDismiss } = (await props.onApply?.()) || applyFilters() || {};\n\n if (!preventDismiss) {\n dropdownRef.value?.dismiss();\n }\n }\n\n function onDismiss() {\n undoWorkingFilters();\n emit('dismiss');\n }\n\n const showShadow = ref(false);\n const onScroll = throttle((event: Event) => {\n if (!event.target) return;\n\n if ((event.target as HTMLElement).scrollTop > 0) {\n showShadow.value = true;\n } else {\n showShadow.value = false;\n }\n }, 500);\n\n function onScrollEnd() {\n setTimeout(() => {\n showShadow.value = false;\n }, 2000);\n }\n</script>\n\n<template>\n <Dropdown\n ref=\"dropdownRef\"\n align=\"left\"\n class=\"stash-filter-dropdown\"\n data-test=\"stash-filter-dropdown\"\n fluid-content\n close-manually\n content-class=\"tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]\"\n :offset=\"{ y: 6 }\"\n @dismiss=\"onDismiss\"\n >\n <template #toggle>\n <FilterChip\n class=\"tw-rounded-full\"\n has-dropdown\n :is-dropdown-open=\"isOpen\"\n :filter-count=\"activeFiltersCounts[props.group]\"\n :is-selected=\"isOpen\"\n @click=\"onToggleButtonClick\"\n >\n {{ props.label }}\n </FilterChip>\n </template>\n <template #default>\n <div class=\"tw-flex tw-h-full tw-flex-col tw-rounded\">\n <div class=\"tw-relative tw-grow tw-overflow-hidden tw-rounded-t\">\n <div class=\"tw-h-full tw-overflow-auto tw-p-6\" @scroll=\"onScroll\" @scrollend=\"onScrollEnd\">\n <slot></slot>\n </div>\n <Transition name=\"fade\">\n <div\n v-if=\"showShadow\"\n class=\"tw-pointer-events-none tw-absolute tw-inset-x-0 tw-bottom-0 tw-z-10 tw-h-[20px] tw-bg-scroll-shadow\"\n ></div>\n </Transition>\n </div>\n\n <footer\n class=\"tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5\"\n >\n <Button\n v-if=\"activeFiltersCounts[props.group]\"\n secondary\n class=\"tw-min-w-[100px]\"\n :disabled=\"isDataViewLoading\"\n @click=\"handleResetClick\"\n >\n {{ t('ll.reset') }}\n </Button>\n <Button class=\"tw-min-w-[100px]\" :disabled=\"isDataViewLoading\" @click=\"handleApplyClick\">\n {{ t('ll.apply') }}\n </Button>\n </footer>\n </div>\n </template>\n </Dropdown>\n</template>\n"],"names":["props","__props","emit","__emit","isDataViewLoading","inject","DATA_VIEW_INJECTION","dataViewFiltersUtils","DATA_VIEW_FILTERS_UTILS_INJECTION","applyFilters","resetFilterGroup","activeFiltersCounts","undoWorkingFilters","dropdownRef","ref","isOpen","computed","_a","onToggleButtonClick","wasOpen","handleResetClick","handleApplyClick","preventDismiss","_b","onDismiss","showShadow","onScroll","throttle","event","onScrollEnd"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAkBE,UAAMA,IAAQC,GAKRC,IAAOC,GAKP,EAAE,WAAWC,MAAsBC,EAAOC,EAAoB,KAAKA,EAAoB,QAAQ,GAE/FC,IAAuBF,EAAOG,EAAkC,GAAG;AAErE,QAAA,EAACD,KAAA,QAAAA,EAAsB;AACzB,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAGF,UAAM,EAAE,cAAAE,GAAc,kBAAAC,GAAkB,qBAAAC,GAAqB,oBAAAC,EAAA,IAC3DL,EAAqB,oBAEjBM,IAAcC,EAAmC,GACjDC,IAASC,EAAS,MAAM;;AAAA,cAAAC,IAAAJ,EAAY,UAAZ,gBAAAI,EAAmB;AAAA,KAAQ;AAEzD,aAASC,IAAsB;;AAC7B,YAAMC,IAAUJ,EAAO;AAEvB,OAAAE,IAAAJ,EAAY,UAAZ,QAAAI,EAAmB,UAEfE,MACiBP,EAAA,GACnBV,EAAK,SAAS;AAAA,IAChB;AAGF,aAASkB,IAAmB;;AAC1B,MAAAV,EAAiBV,EAAM,KAAK,GAC5BE,EAAK,OAAO,IACZe,IAAAJ,EAAY,UAAZ,QAAAI,EAAmB;AAAA,IAAQ;AAG7B,mBAAeI,IAAmB;;AAC1B,YAAA,EAAE,gBAAAC,MAAoB,QAAML,IAAAjB,EAAM,YAAN,gBAAAiB,EAAA,KAAAjB,OAAsBS,EAAa,KAAK,CAAC;AAE3E,MAAKa,MACHC,IAAAV,EAAY,UAAZ,QAAAU,EAAmB;AAAA,IACrB;AAGF,aAASC,IAAY;AACA,MAAAZ,EAAA,GACnBV,EAAK,SAAS;AAAA,IAAA;AAGV,UAAAuB,IAAaX,EAAI,EAAK,GACtBY,IAAWC,EAAS,CAACC,MAAiB;AACtC,MAACA,EAAM,WAENA,EAAM,OAAuB,YAAY,IAC5CH,EAAW,QAAQ,KAEnBA,EAAW,QAAQ;AAAA,OAEpB,GAAG;AAEN,aAASI,IAAc;AACrB,iBAAW,MAAM;AACf,QAAAJ,EAAW,QAAQ;AAAA,SAClB,GAAI;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"FilterDropdown.js","sources":["../src/components/FilterDropdown/FilterDropdown.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import throttle from 'lodash-es/throttle';\n import { computed, inject, ref } from 'vue';\n\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import { DATA_VIEW_INJECTION } from '../DataView/DataView.vue';\n import { DATA_VIEW_FILTERS_UTILS_INJECTION } from '../DataViewFilters/DataViewFilters.keys';\n import type { OnApplyFilters } from '../DataViewFilters/DataViewFilters.types';\n import Dropdown from '../Dropdown/Dropdown.vue';\n import FilterChip from '../FilterChip/FilterChip.vue';\n\n export interface FilterDropdownProps {\n label: string;\n /** The name of a filter group */\n group: string;\n onApply?: OnApplyFilters;\n }\n const props = withDefaults(defineProps<FilterDropdownProps>(), {\n activeFilterCount: 0,\n onApply: () => undefined,\n });\n\n const emit = defineEmits<{\n (e: 'reset'): void;\n (e: 'dismiss'): void;\n }>();\n\n const { isLoading: isDataViewLoading } = inject(DATA_VIEW_INJECTION.key, DATA_VIEW_INJECTION.defaults);\n\n const dataViewFiltersUtils = inject(DATA_VIEW_FILTERS_UTILS_INJECTION.key);\n\n if (!dataViewFiltersUtils?.useFiltersInstance) {\n throw new Error(\n 'FilterDropdown must be used within a <DataViewFilters> that receives an instance of useFilters().',\n );\n }\n\n const { applyFilters, resetFilterGroup, activeFiltersCounts, undoWorkingFilters } =\n dataViewFiltersUtils.useFiltersInstance;\n\n const dropdownRef = ref<InstanceType<typeof Dropdown>>();\n const isOpen = computed(() => dropdownRef.value?.isActive);\n\n function onToggleButtonClick() {\n const wasOpen = isOpen.value;\n\n dropdownRef.value?.toggle();\n\n if (wasOpen) {\n undoWorkingFilters();\n emit('dismiss');\n }\n }\n\n function handleResetClick() {\n resetFilterGroup(props.group);\n emit('reset');\n dropdownRef.value?.dismiss();\n }\n\n async function handleApplyClick() {\n const { preventDismiss } = (await props.onApply?.()) || applyFilters() || {};\n\n if (!preventDismiss) {\n dropdownRef.value?.dismiss();\n }\n }\n\n function onDismiss() {\n undoWorkingFilters();\n emit('dismiss');\n }\n\n const showShadow = ref(false);\n const onScroll = throttle((event: Event) => {\n if (!event.target) return;\n\n if ((event.target as HTMLElement).scrollTop > 0) {\n showShadow.value = true;\n } else {\n showShadow.value = false;\n }\n }, 500);\n\n function onScrollEnd() {\n setTimeout(() => {\n showShadow.value = false;\n }, 2000);\n }\n</script>\n\n<template>\n <Dropdown\n ref=\"dropdownRef\"\n align=\"left\"\n class=\"stash-filter-dropdown\"\n data-test=\"stash-filter-dropdown\"\n fluid-content\n close-manually\n content-class=\"tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]\"\n :offset=\"{ y: 6 }\"\n @dismiss=\"onDismiss\"\n >\n <template #toggle>\n <FilterChip\n class=\"tw-rounded-full\"\n has-dropdown\n :is-dropdown-open=\"isOpen\"\n :filter-count=\"activeFiltersCounts[props.group]\"\n :is-selected=\"isOpen\"\n @click=\"onToggleButtonClick\"\n >\n {{ props.label }}\n </FilterChip>\n </template>\n <template #default>\n <div class=\"tw-flex tw-h-full tw-flex-col tw-rounded\">\n <div class=\"tw-relative tw-grow tw-overflow-hidden tw-rounded-t\">\n <div class=\"tw-h-full tw-overflow-auto tw-p-6\" @scroll=\"onScroll\" @scrollend=\"onScrollEnd\">\n <slot></slot>\n </div>\n <Transition name=\"fade\">\n <div\n v-if=\"showShadow\"\n class=\"tw-pointer-events-none tw-absolute tw-inset-x-0 tw-bottom-0 tw-z-10 tw-h-[20px] tw-bg-scroll-shadow\"\n ></div>\n </Transition>\n </div>\n\n <footer\n class=\"tw-flex tw-justify-end tw-gap-6 tw-rounded-b tw-border tw-border-solid tw-border-x-ice-100 tw-border-b-ice-100 tw-border-t-ice-200 tw-bg-ice-100 tw-p-3.5\"\n >\n <Button\n v-if=\"activeFiltersCounts[props.group]\"\n secondary\n class=\"tw-min-w-[100px]\"\n :disabled=\"isDataViewLoading\"\n @click=\"handleResetClick\"\n >\n {{ t('ll.reset') }}\n </Button>\n <Button class=\"tw-min-w-[100px]\" :disabled=\"isDataViewLoading\" @click=\"handleApplyClick\">\n {{ t('ll.apply') }}\n </Button>\n </footer>\n </div>\n </template>\n </Dropdown>\n</template>\n"],"names":["props","__props","emit","__emit","isDataViewLoading","inject","DATA_VIEW_INJECTION","dataViewFiltersUtils","DATA_VIEW_FILTERS_UTILS_INJECTION","applyFilters","resetFilterGroup","activeFiltersCounts","undoWorkingFilters","dropdownRef","ref","isOpen","computed","onToggleButtonClick","wasOpen","handleResetClick","handleApplyClick","preventDismiss","onDismiss","showShadow","onScroll","throttle","event","onScrollEnd","_createBlock","Dropdown","_createVNode","FilterChip","_unref","_createTextVNode","_toDisplayString","_createElementVNode","_hoisted_1","_hoisted_2","_cache","args","_renderSlot","_ctx","_Transition","_openBlock","_createElementBlock","_hoisted_3","_hoisted_4","Button","t"],"mappings":"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"}