@leaflink/stash 51.11.0 → 51.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/dist/Accordion.js.map +1 -1
  2. package/dist/Accordion.vue.d.ts +37 -6
  3. package/dist/ActionsDropdown.js +2 -2
  4. package/dist/ActionsDropdown.js.map +1 -1
  5. package/dist/ActionsDropdown.vue.d.ts +74 -0
  6. package/dist/AddressSelect.js +60 -56
  7. package/dist/AddressSelect.js.map +1 -1
  8. package/dist/AddressSelect.vue.d.ts +65 -8
  9. package/dist/Alert.js.map +1 -1
  10. package/dist/Alert.vue.d.ts +41 -4
  11. package/dist/AppNavigationItem.js.map +1 -1
  12. package/dist/AppNavigationItem.vue.d.ts +31 -4
  13. package/dist/AppSidebar.js.map +1 -1
  14. package/dist/AppSidebar.vue.d.ts +35 -8
  15. package/dist/AppTopbar.js +1 -1
  16. package/dist/AppTopbar.js.map +1 -1
  17. package/dist/AppTopbar.vue.d.ts +33 -4
  18. package/dist/Avatar.js.map +1 -1
  19. package/dist/Avatar.vue.d.ts +44 -5
  20. package/dist/Backdrop.js.map +1 -1
  21. package/dist/Backdrop.vue.d.ts +1 -1
  22. package/dist/Badge.js.map +1 -1
  23. package/dist/Badge.vue.d.ts +55 -6
  24. package/dist/Box.vue.d.ts +36 -3
  25. package/dist/Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map +1 -1
  26. package/dist/Button.js.map +1 -1
  27. package/dist/Button.vue.d.ts +50 -5
  28. package/dist/ButtonGroup.js +37 -33
  29. package/dist/ButtonGroup.js.map +1 -1
  30. package/dist/ButtonGroup.vue.d.ts +39 -6
  31. package/dist/Card.js.map +1 -1
  32. package/dist/Card.vue.d.ts +32 -5
  33. package/dist/CardContent.js.map +1 -1
  34. package/dist/CardContent.vue.d.ts +1 -1
  35. package/dist/CardFooter.js.map +1 -1
  36. package/dist/CardFooter.vue.d.ts +1 -1
  37. package/dist/CardHeader.js.map +1 -1
  38. package/dist/CardHeader.vue.d.ts +15 -2
  39. package/dist/CardMedia.js.map +1 -1
  40. package/dist/CardMedia.vue.d.ts +15 -2
  41. package/dist/Carousel.js +72 -66
  42. package/dist/Carousel.js.map +1 -1
  43. package/dist/Carousel.vue.d.ts +10 -10
  44. package/dist/Checkbox.js.map +1 -1
  45. package/dist/Checkbox.vue.d.ts +53 -8
  46. package/dist/ChevronToggle.vue.d.ts +34 -7
  47. package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
  48. package/dist/Chip.js.map +1 -1
  49. package/dist/Chip.vue.d.ts +52 -10
  50. package/dist/ConfirmationCodeInput.js +44 -40
  51. package/dist/ConfirmationCodeInput.js.map +1 -1
  52. package/dist/ConfirmationCodeInput.vue.d.ts +43 -8
  53. package/dist/ContextSwitcher.js.map +1 -1
  54. package/dist/ContextSwitcher.vue.d.ts +41 -6
  55. package/dist/Copy.js.map +1 -1
  56. package/dist/Copy.vue.d.ts +34 -3
  57. package/dist/CurrencyInput.js +21 -20
  58. package/dist/CurrencyInput.js.map +1 -1
  59. package/dist/CurrencyInput.vue.d.ts +46 -125
  60. package/dist/CustomRender.js.map +1 -1
  61. package/dist/DataView.js +96 -94
  62. package/dist/DataView.js.map +1 -1
  63. package/dist/DataView.keys-aSOnA4AD.js.map +1 -1
  64. package/dist/DataView.vue.d.ts +57 -12
  65. package/dist/DataViewFilters.js +139 -127
  66. package/dist/DataViewFilters.js.map +1 -1
  67. package/dist/DataViewFilters.keys-BLu07FiP.js.map +1 -1
  68. package/dist/DataViewFilters.vue.d.ts +54 -9
  69. package/dist/DataViewSortButton.js +2 -2
  70. package/dist/DataViewSortButton.js.map +1 -1
  71. package/dist/DataViewSortButton.vue.d.ts +30 -3
  72. package/dist/DataViewToolbar.js +89 -88
  73. package/dist/DataViewToolbar.js.map +1 -1
  74. package/dist/DataViewToolbar.vue.d.ts +40 -106
  75. package/dist/DatePicker.js +4636 -4524
  76. package/dist/DatePicker.js.map +1 -1
  77. package/dist/DatePicker.vue.d.ts +79 -30
  78. package/dist/DescriptionList.js.map +1 -1
  79. package/dist/DescriptionList.vue.d.ts +32 -3
  80. package/dist/DescriptionListDetail.js.map +1 -1
  81. package/dist/DescriptionListDetail.vue.d.ts +1 -1
  82. package/dist/DescriptionListGroup.js.map +1 -1
  83. package/dist/DescriptionListGroup.vue.d.ts +1 -1
  84. package/dist/DescriptionListTerm.js.map +1 -1
  85. package/dist/DescriptionListTerm.vue.d.ts +1 -1
  86. package/dist/Dialog.js.map +1 -1
  87. package/dist/Dialog.vue.d.ts +53 -10
  88. package/dist/Divider.js.map +1 -1
  89. package/dist/Dropdown.js +95 -89
  90. package/dist/Dropdown.js.map +1 -1
  91. package/dist/Dropdown.vue.d.ts +48 -12
  92. package/dist/EmptyState.js +1 -1
  93. package/dist/EmptyState.js.map +1 -1
  94. package/dist/EmptyState.vue.d.ts +62 -5
  95. package/dist/Expand.vue.d.ts +40 -10
  96. package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map +1 -1
  97. package/dist/Field.vue.d.ts +53 -4
  98. package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +1 -1
  99. package/dist/FileUpload.js +74 -72
  100. package/dist/FileUpload.js.map +1 -1
  101. package/dist/FileUpload.vue.d.ts +44 -10
  102. package/dist/FilterChip.js.map +1 -1
  103. package/dist/FilterChip.vue.d.ts +41 -6
  104. package/dist/FilterDrawerItem.js +21 -21
  105. package/dist/FilterDrawerItem.js.map +1 -1
  106. package/dist/FilterDrawerItem.vue.d.ts +23 -6
  107. package/dist/FilterDropdown.js +69 -63
  108. package/dist/FilterDropdown.js.map +1 -1
  109. package/dist/FilterDropdown.vue.d.ts +35 -122
  110. package/dist/FilterSelect.js.map +1 -1
  111. package/dist/FilterSelect.vue.d.ts +31 -4
  112. package/dist/Filters.js +164 -157
  113. package/dist/Filters.js.map +1 -1
  114. package/dist/Filters.vue.d.ts +2190 -0
  115. package/dist/HttpError.js +7 -7
  116. package/dist/HttpError.js.map +1 -1
  117. package/dist/HttpError.vue.d.ts +41 -4
  118. package/dist/Icon.js +17 -17
  119. package/dist/Icon.js.map +1 -1
  120. package/dist/Icon.vue.d.ts +36 -3
  121. package/dist/IconLabel.js.map +1 -1
  122. package/dist/IconLabel.vue.d.ts +40 -5
  123. package/dist/Illustration.js +2 -2
  124. package/dist/Illustration.vue.d.ts +42 -3
  125. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js} +11 -11
  126. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js.map → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js.map} +1 -1
  127. package/dist/Image.js +2 -2
  128. package/dist/Image.vue.d.ts +40 -5
  129. package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js} +41 -37
  130. package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js.map → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js.map} +1 -1
  131. package/dist/InlineEdit.js.map +1 -1
  132. package/dist/InlineEdit.vue.d.ts +47 -126
  133. package/dist/Input.js.map +1 -1
  134. package/dist/Input.vue.d.ts +45 -12
  135. package/dist/InputOptions.js +69 -66
  136. package/dist/InputOptions.js.map +1 -1
  137. package/dist/InputOptions.vue.d.ts +55 -10
  138. package/dist/IntegrationIcon.js +7 -7
  139. package/dist/IntegrationIcon.js.map +1 -1
  140. package/dist/IntegrationIcon.vue.d.ts +36 -3
  141. package/dist/Label.vue.d.ts +42 -3
  142. package/dist/Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map +1 -1
  143. package/dist/LicenseChip.js.map +1 -1
  144. package/dist/LicenseChip.vue.d.ts +30 -3
  145. package/dist/ListItem.js.map +1 -1
  146. package/dist/ListItem.vue.d.ts +294 -0
  147. package/dist/ListItemCell.js.map +1 -1
  148. package/dist/ListItemCell.vue.d.ts +21 -0
  149. package/dist/ListView.js +7 -4
  150. package/dist/ListView.js.map +1 -1
  151. package/dist/ListView.types.d.ts +29 -0
  152. package/dist/ListView.vue.d.ts +5496 -0
  153. package/dist/Loading.js +2 -2
  154. package/dist/Loading.js.map +1 -1
  155. package/dist/Loading.vue.d.ts +1 -1
  156. package/dist/Logo.js +1 -1
  157. package/dist/Logo.vue.d.ts +41 -6
  158. package/dist/{Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js → Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js} +17 -17
  159. package/dist/Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map +1 -0
  160. package/dist/Menu.js.map +1 -1
  161. package/dist/Menu.vue.d.ts +1 -1
  162. package/dist/MenuItem.js.map +1 -1
  163. package/dist/MenuItem.vue.d.ts +1 -1
  164. package/dist/MenusPlugin-Bk6UW6o9.js +12 -0
  165. package/dist/{MenusPlugin-B4jpNe7x.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
  166. package/dist/Metric.js.map +1 -1
  167. package/dist/Metric.vue.d.ts +34 -3
  168. package/dist/Modal.js +64 -62
  169. package/dist/Modal.js.map +1 -1
  170. package/dist/Modal.vue.d.ts +60 -13
  171. package/dist/Modals.js +18 -17
  172. package/dist/Modals.js.map +1 -1
  173. package/dist/ModalsPlugin.js +11 -11
  174. package/dist/ModalsPlugin.js.map +1 -1
  175. package/dist/Module.js.map +1 -1
  176. package/dist/Module.keys-CEsrW2f0.js.map +1 -1
  177. package/dist/Module.types-B1FfGGac.js.map +1 -1
  178. package/dist/Module.vue.d.ts +29 -2
  179. package/dist/ModuleContent.js.map +1 -1
  180. package/dist/ModuleContent.vue.d.ts +3 -3
  181. package/dist/ModuleFooter.js.map +1 -1
  182. package/dist/ModuleFooter.vue.d.ts +1 -1
  183. package/dist/ModuleHeader.js.map +1 -1
  184. package/dist/ModuleHeader.vue.d.ts +39 -5
  185. package/dist/MoreActions.js +125 -123
  186. package/dist/MoreActions.js.map +1 -1
  187. package/dist/MoreActions.vue.d.ts +46 -123
  188. package/dist/ObfuscateText.js.map +1 -1
  189. package/dist/ObfuscateText.vue.d.ts +40 -3
  190. package/dist/PageContent.js.map +1 -1
  191. package/dist/PageContent.vue.d.ts +30 -3
  192. package/dist/PageHeader.js.map +1 -1
  193. package/dist/PageHeader.vue.d.ts +35 -6
  194. package/dist/PageNavigation.js +50 -50
  195. package/dist/PageNavigation.js.map +1 -1
  196. package/dist/PageNavigation.vue.d.ts +36 -7
  197. package/dist/Paginate.js.map +1 -1
  198. package/dist/Paginate.vue.d.ts +40 -5
  199. package/dist/PlaidLink.js.map +1 -1
  200. package/dist/PlaidLink.vue.d.ts +49 -12
  201. package/dist/QuickAction.js.map +1 -1
  202. package/dist/QuickAction.vue.d.ts +15 -2
  203. package/dist/Radio.js.map +1 -1
  204. package/dist/Radio.vue.d.ts +93 -0
  205. package/dist/RadioGroup.js +101 -94
  206. package/dist/RadioGroup.js.map +1 -1
  207. package/dist/RadioGroup.vue.d.ts +42 -116
  208. package/dist/RadioNew.js +99 -96
  209. package/dist/RadioNew.js.map +1 -1
  210. package/dist/RadioNew.vue.d.ts +48 -7
  211. package/dist/RangeInput.js.map +1 -1
  212. package/dist/RangeInput.vue.d.ts +1 -1
  213. package/dist/SearchBar.js +39 -38
  214. package/dist/SearchBar.js.map +1 -1
  215. package/dist/SearchBar.vue.d.ts +44 -127
  216. package/dist/SectionHeader.js.map +1 -1
  217. package/dist/SectionHeader.vue.d.ts +36 -5
  218. package/dist/Select.js +183 -171
  219. package/dist/Select.js.map +1 -1
  220. package/dist/Select.vue.d.ts +102 -23
  221. package/dist/SelectStatus.js +38 -38
  222. package/dist/SelectStatus.js.map +1 -1
  223. package/dist/SelectStatus.vue.d.ts +46 -226
  224. package/dist/Skeleton.js.map +1 -1
  225. package/dist/Skeleton.vue.d.ts +34 -3
  226. package/dist/Step.js +44 -44
  227. package/dist/Step.js.map +1 -1
  228. package/dist/Step.vue.d.ts +43 -4
  229. package/dist/Stepper.js.map +1 -1
  230. package/dist/Stepper.vue.d.ts +44 -9
  231. package/dist/Switch.js.map +1 -1
  232. package/dist/Switch.vue.d.ts +47 -8
  233. package/dist/Tab.js.map +1 -1
  234. package/dist/Tab.vue.d.ts +15 -2
  235. package/dist/TabPanel.js.map +1 -1
  236. package/dist/TabPanel.vue.d.ts +30 -3
  237. package/dist/Table.js +59 -53
  238. package/dist/Table.js.map +1 -1
  239. package/dist/Table.keys-LHQf6FEH.js.map +1 -1
  240. package/dist/Table.vue.d.ts +50 -3
  241. package/dist/TableCell.js +1 -1
  242. package/dist/TableCell.js.map +1 -1
  243. package/dist/TableCell.vue.d.ts +32 -3
  244. package/dist/TableHeaderCell.js +1 -1
  245. package/dist/TableHeaderCell.js.map +1 -1
  246. package/dist/TableHeaderCell.vue.d.ts +30 -3
  247. package/dist/TableHeaderRow.js +1 -1
  248. package/dist/TableHeaderRow.js.map +1 -1
  249. package/dist/TableHeaderRow.vue.d.ts +34 -5
  250. package/dist/TableRow.js +44 -43
  251. package/dist/TableRow.js.map +1 -1
  252. package/dist/TableRow.vue.d.ts +48 -7
  253. package/dist/Tabs.vue.d.ts +31 -4
  254. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +1 -1
  255. package/dist/TextEditor.js +2420 -2414
  256. package/dist/TextEditor.js.map +1 -1
  257. package/dist/TextEditor.vue.d.ts +39 -8
  258. package/dist/Textarea.js +32 -29
  259. package/dist/Textarea.js.map +1 -1
  260. package/dist/Textarea.vue.d.ts +44 -9
  261. package/dist/Thumbnail.js +1 -1
  262. package/dist/Thumbnail.js.map +1 -1
  263. package/dist/Thumbnail.vue.d.ts +4 -4
  264. package/dist/ThumbnailEmpty.js.map +1 -1
  265. package/dist/ThumbnailEmpty.vue.d.ts +1 -1
  266. package/dist/ThumbnailGroup.js.map +1 -1
  267. package/dist/ThumbnailGroup.keys-EJ4qFNhx.js.map +1 -1
  268. package/dist/ThumbnailGroup.vue.d.ts +22 -26
  269. package/dist/Timeline.js.map +1 -1
  270. package/dist/Timeline.vue.d.ts +32 -3
  271. package/dist/TimelineItem.js.map +1 -1
  272. package/dist/TimelineItem.vue.d.ts +1 -1
  273. package/dist/Toast.js.map +1 -1
  274. package/dist/Toast.vue.d.ts +30 -3
  275. package/dist/Toasts.js.map +1 -1
  276. package/dist/ToastsPlugin.js +11 -11
  277. package/dist/ToastsPlugin.js.map +1 -1
  278. package/dist/Tooltip.js +30 -29
  279. package/dist/Tooltip.js.map +1 -1
  280. package/dist/Tooltip.vue.d.ts +43 -11
  281. package/dist/colors-DDDVvqfQ.js.map +1 -1
  282. package/dist/components.css +1 -1
  283. package/dist/constants.js.map +1 -1
  284. package/dist/directives/autofocus.js.map +1 -1
  285. package/dist/directives/clickoutside.js.map +1 -1
  286. package/dist/directives/observe.js.map +1 -1
  287. package/dist/directives/sticky.js.map +1 -1
  288. package/dist/directives/tooltip.js +3 -3
  289. package/dist/directives/tooltip.js.map +1 -1
  290. package/dist/directives/viewable.js +44 -39
  291. package/dist/directives/viewable.js.map +1 -1
  292. package/dist/{floating-ui.vue-CL01Y9ER.js → floating-ui.vue-pzUuloyX.js} +2 -2
  293. package/dist/{floating-ui.vue-CL01Y9ER.js.map → floating-ui.vue-pzUuloyX.js.map} +1 -1
  294. package/dist/formatDateTime-Dz8bXV0R.js +1418 -0
  295. package/dist/{formatDateTime-DG7kBc2T.js.map → formatDateTime-Dz8bXV0R.js.map} +1 -1
  296. package/dist/{index-XZqpB2_R.js → index-C14LhAwV.js} +4 -4
  297. package/dist/{index-XZqpB2_R.js.map → index-C14LhAwV.js.map} +1 -1
  298. package/dist/index-D6bxWkZ1.js.map +1 -1
  299. package/dist/index.js +104 -99
  300. package/dist/index.js.map +1 -1
  301. package/dist/isDefined-DzVx0B6k.js.map +1 -1
  302. package/dist/keys-BEdEsanp.js.map +1 -1
  303. package/dist/keys-C8Zfr_By.js.map +1 -1
  304. package/dist/locale.js.map +1 -1
  305. package/dist/misc-CHQs-G03.js.map +1 -1
  306. package/dist/obfuscateText.d.ts +1 -1
  307. package/dist/parseISO-wlfIB_QJ.js.map +1 -1
  308. package/dist/searchFuzzy-DRasJ33G.js +409 -0
  309. package/dist/{searchFuzzy-DBDE6jkd.js.map → searchFuzzy-DRasJ33G.js.map} +1 -1
  310. package/dist/statusLevels-D8EgtE_L.js.map +1 -1
  311. package/dist/storage.js.map +1 -1
  312. package/dist/tailwind-base.js.map +1 -1
  313. package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
  314. package/dist/useConfirmBeforeClosing.js.map +1 -1
  315. package/dist/useDialog.d.ts +2 -2
  316. package/dist/useDialog.js +25 -21
  317. package/dist/useDialog.js.map +1 -1
  318. package/dist/useGoogleMaps.js +110 -108
  319. package/dist/useGoogleMaps.js.map +1 -1
  320. package/dist/useMediaQuery.d.ts +6 -0
  321. package/dist/useMediaQuery.js +15 -11
  322. package/dist/useMediaQuery.js.map +1 -1
  323. package/dist/useModals.d.ts +1 -1
  324. package/dist/useModals.js.map +1 -1
  325. package/dist/usePaginationStats-d_q39naC.js.map +1 -1
  326. package/dist/usePlaidLink.js +27 -20
  327. package/dist/usePlaidLink.js.map +1 -1
  328. package/dist/useScriptTag.js.map +1 -1
  329. package/dist/useSearch.js +13 -13
  330. package/dist/useSearch.js.map +1 -1
  331. package/dist/useSelection.js +56 -56
  332. package/dist/useSelection.js.map +1 -1
  333. package/dist/useSortable.js +63 -54
  334. package/dist/useSortable.js.map +1 -1
  335. package/dist/useStepper.d.ts +2 -2
  336. package/dist/useStepper.js +40 -36
  337. package/dist/useStepper.js.map +1 -1
  338. package/dist/useToasts.js +23 -23
  339. package/dist/useToasts.js.map +1 -1
  340. package/dist/useValidation.js +100 -96
  341. package/dist/useValidation.js.map +1 -1
  342. package/dist/utils/calculateElementOverflow.js +4 -4
  343. package/dist/utils/calculateElementOverflow.js.map +1 -1
  344. package/dist/utils/colorScheme.js.map +1 -1
  345. package/dist/utils/createQueryString.js.map +1 -1
  346. package/dist/utils/createValidDate.js.map +1 -1
  347. package/dist/utils/formatDateTime.js +1 -1
  348. package/dist/utils/getContrastingTextColor.js.map +1 -1
  349. package/dist/utils/helpers.js.map +1 -1
  350. package/dist/utils/i18n.js.map +1 -1
  351. package/dist/utils/normalizeDate.js.map +1 -1
  352. package/dist/utils/obfuscateText.js +6 -6
  353. package/dist/utils/obfuscateText.js.map +1 -1
  354. package/dist/utils/searchFuzzy.js +1 -1
  355. package/dist/utils/storage.js +23 -23
  356. package/dist/utils/storage.js.map +1 -1
  357. package/package.json +12 -12
  358. package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +0 -1
  359. package/dist/MenusPlugin-B4jpNe7x.js +0 -12
  360. package/dist/formatDateTime-DG7kBc2T.js +0 -1414
  361. package/dist/searchFuzzy-DBDE6jkd.js +0 -408
@@ -1,18 +1,53 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_Prettify<T> = {
11
+ [K in keyof T]: T[K];
12
+ } & {};
13
+
14
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
22
+
23
+ declare type __VLS_WithDefaults<P, D> = {
24
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
25
+ default: D[K];
26
+ }> : P[K];
27
+ };
28
+
6
29
  declare type __VLS_WithTemplateSlots<T, S> = T & {
7
30
  new (): {
8
31
  $slots: S;
9
32
  };
10
33
  };
11
34
 
12
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<FilterChipProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
13
- click: () => any;
14
- remove: () => any;
15
- }, string, PublicProps, Readonly<FilterChipProps> & Readonly<{
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<{
16
51
  onClick?: (() => any) | undefined;
17
52
  onRemove?: (() => any) | undefined;
18
53
  }>, {
@@ -21,12 +56,12 @@ isSelected: boolean;
21
56
  filterCount: number;
22
57
  hasDropdown: boolean;
23
58
  isDropdownOpen: boolean;
24
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>, {
59
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
25
60
  default?(_: {}): any;
26
61
  }>;
27
62
  export default _default;
28
63
 
29
- declare interface FilterChipProps {
64
+ export declare interface FilterChipProps {
30
65
  /**
31
66
  * Used for conditionally rendering filter count chip
32
67
  */
@@ -1,16 +1,16 @@
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";
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";
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 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 = {
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 = {
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
- }, J = /* @__PURE__ */ y({
13
+ }, R = /* @__PURE__ */ C({
14
14
  __name: "FilterDrawerItem",
15
15
  props: {
16
16
  group: {},
@@ -19,28 +19,28 @@ const N = { class: "stash-filter-drawer-item" }, T = { class: "tw-flex tw-items-
19
19
  },
20
20
  emits: ["navigate"],
21
21
  setup(f, { emit: v }) {
22
- const i = f, _ = v, h = C(), r = k(S.key);
23
- if (!r?.useFiltersInstance)
22
+ const i = f, _ = v, h = F(), t = k(S.key);
23
+ if (!(t != null && t.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 } = 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"), {
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"), {
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) => e.value ? void 0 : _("navigate"))
32
+ onClick: m[0] || (m[0] = (j) => s.value ? void 0 : _("navigate"))
33
33
  }, {
34
34
  default: p(() => [
35
- l("div", T, [
36
- l("div", A, [
35
+ l("div", A, [
36
+ l("div", V, [
37
37
  l("h4", null, n(i.title), 1),
38
- i.description ? (t(), o("div", B, n(i.description), 1)) : s("", !0)
38
+ i.description ? (e(), o("div", B, n(i.description), 1)) : r("", !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": e.value }])
41
+ class: I(["tw-inline-flex tw-items-center tw-gap-6", { "tw-mb-0.5 tw-mr-2": s.value }])
42
42
  }, [
43
- d.value ? (t(), a(E, {
43
+ d.value ? (e(), a(E, {
44
44
  key: 0,
45
45
  color: "blue",
46
46
  radius: "pill",
@@ -52,8 +52,8 @@ const N = { class: "stash-filter-drawer-item" }, T = { class: "tw-flex tw-items-
52
52
  g(n(d.value), 1)
53
53
  ]),
54
54
  _: 1
55
- }, 8, ["aria-label", "title"])) : s("", !0),
56
- e.value ? s("", !0) : (t(), a(V, {
55
+ }, 8, ["aria-label", "title"])) : r("", !0),
56
+ s.value ? r("", !0) : (e(), a(N, {
57
57
  key: 1,
58
58
  name: "chevron-right",
59
59
  title: c(u)("ll.viewFilterGroup")
@@ -63,13 +63,13 @@ const N = { class: "stash-filter-drawer-item" }, T = { class: "tw-flex tw-items-
63
63
  ]),
64
64
  _: 1
65
65
  })),
66
- e.value && h.default ? (t(), o("div", O, [
67
- D(F.$slots, "default")
68
- ])) : s("", !0)
66
+ s.value && h.default ? (e(), o("div", O, [
67
+ D(y.$slots, "default")
68
+ ])) : r("", !0)
69
69
  ]));
70
70
  }
71
71
  });
72
72
  export {
73
- J as default
73
+ R 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","_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
+ {"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,29 +1,46 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_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
+
6
19
  declare type __VLS_WithTemplateSlots<T, S> = T & {
7
20
  new (): {
8
21
  $slots: S;
9
22
  };
10
23
  };
11
24
 
12
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<FilterDrawerItemProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
13
- navigate: () => any;
14
- }, string, PublicProps, Readonly<FilterDrawerItemProps> & Readonly<{
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<{
15
28
  onNavigate?: (() => any) | undefined;
16
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>, Readonly<FilterDrawerItemSlots> & FilterDrawerItemSlots>;
29
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<FilterDrawerItemSlots> & FilterDrawerItemSlots>;
17
30
  export default _default;
18
31
 
19
- declare interface FilterDrawerItemProps {
32
+ export declare interface FilterDrawerItemEmits {
33
+ (e: 'navigate'): any;
34
+ }
35
+
36
+ export declare interface FilterDrawerItemProps {
20
37
  /** The name of a filter group */
21
38
  group: string;
22
39
  title: string;
23
40
  description?: string;
24
41
  }
25
42
 
26
- declare interface FilterDrawerItemSlots {
43
+ export declare interface FilterDrawerItemSlots {
27
44
  default?: () => unknown;
28
45
  }
29
46
 
@@ -1,17 +1,17 @@
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";
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";
5
5
  import "lodash-es/cloneDeep";
6
6
  import "lodash-es/uniqueId";
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 = {
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 = {
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
- }, 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({
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({
15
15
  __name: "FilterDropdown",
16
16
  props: {
17
17
  label: {},
@@ -20,38 +20,44 @@ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "t
20
20
  } }
21
21
  },
22
22
  emits: ["reset", "dismiss"],
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)
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))
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: 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"));
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"));
33
37
  }
34
- function V() {
35
- E(s.group), n("reset"), l.value?.dismiss();
38
+ function N() {
39
+ var e;
40
+ S(s.group), c("reset"), (e = n.value) == null || e.dismiss();
36
41
  }
37
- async function A() {
38
- const { preventDismiss: t } = await s.onApply?.() || I() || {};
39
- t || l.value?.dismiss();
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();
40
46
  }
41
- function N() {
42
- h(), n("dismiss");
47
+ function B() {
48
+ _(), c("dismiss");
43
49
  }
44
- const i = b(!1), v = U((t) => {
45
- t.target && (t.target.scrollTop > 0 ? i.value = !0 : i.value = !1);
50
+ const r = y(!1), g = z((e) => {
51
+ e.target && (e.target.scrollTop > 0 ? r.value = !0 : r.value = !1);
46
52
  }, 500);
47
- function B() {
53
+ function L() {
48
54
  setTimeout(() => {
49
- i.value = !1;
55
+ r.value = !1;
50
56
  }, 2e3);
51
57
  }
52
- return (t, _) => (d(), y(G, {
58
+ return (e, t) => (w(), k($, {
53
59
  ref_key: "dropdownRef",
54
- ref: l,
60
+ ref: n,
55
61
  align: "left",
56
62
  class: "stash-filter-dropdown",
57
63
  "data-test": "stash-filter-dropdown",
@@ -59,61 +65,61 @@ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "t
59
65
  "close-manually": "",
60
66
  "content-class": "tw-w-full tw-max-w-[600px] tw-h-full tw-max-h-[400px]",
61
67
  offset: { y: 6 },
62
- onDismiss: N
68
+ onDismiss: B
63
69
  }, {
64
- toggle: o(() => [
65
- c($, {
70
+ toggle: l(() => [
71
+ f(q, {
66
72
  class: "tw-rounded-full",
67
73
  "has-dropdown": "",
68
- "is-dropdown-open": a.value,
69
- "filter-count": e(m)[s.group],
70
- "is-selected": a.value,
71
- onClick: S
74
+ "is-dropdown-open": u.value,
75
+ "filter-count": o(v)[s.group],
76
+ "is-selected": u.value,
77
+ onClick: A
72
78
  }, {
73
- default: o(() => [
74
- u(w(s.label), 1)
79
+ default: l(() => [
80
+ p(m(s.label), 1)
75
81
  ]),
76
82
  _: 1
77
83
  }, 8, ["is-dropdown-open", "filter-count", "is-selected"])
78
84
  ]),
79
- default: o(() => [
80
- r("div", q, [
81
- r("div", H, [
82
- r("div", {
85
+ default: l(() => [
86
+ d("div", H, [
87
+ d("div", K, [
88
+ d("div", {
83
89
  class: "tw-h-full tw-overflow-auto tw-p-6",
84
- onScroll: _[0] || (_[0] = //@ts-ignore
85
- (...L) => e(v) && e(v)(...L)),
86
- onScrollend: B
90
+ onScroll: t[0] || (t[0] = //@ts-ignore
91
+ (...a) => o(g) && o(g)(...a)),
92
+ onScrollend: L
87
93
  }, [
88
- W(t.$slots, "default")
94
+ W(e.$slots, "default")
89
95
  ], 32),
90
- c(j, { name: "fade" }, {
91
- default: o(() => [
92
- i.value ? (d(), J("div", K)) : k("", !0)
96
+ f(j, { name: "fade" }, {
97
+ default: l(() => [
98
+ r.value ? (w(), J("div", M)) : x("", !0)
93
99
  ]),
94
100
  _: 1
95
101
  })
96
102
  ]),
97
- r("footer", M, [
98
- e(m)[s.group] ? (d(), y(F, {
103
+ d("footer", P, [
104
+ o(v)[s.group] ? (w(), k(D, {
99
105
  key: 0,
100
106
  secondary: "",
101
107
  class: "tw-min-w-[100px]",
102
- disabled: e(p),
103
- onClick: V
108
+ disabled: o(h),
109
+ onClick: N
104
110
  }, {
105
- default: o(() => [
106
- u(w(e(x)("ll.reset")), 1)
111
+ default: l(() => [
112
+ p(m(o(C)("ll.reset")), 1)
107
113
  ]),
108
114
  _: 1
109
- }, 8, ["disabled"])) : k("", !0),
110
- c(F, {
115
+ }, 8, ["disabled"])) : x("", !0),
116
+ f(D, {
111
117
  class: "tw-min-w-[100px]",
112
- disabled: e(p),
113
- onClick: A
118
+ disabled: o(h),
119
+ onClick: V
114
120
  }, {
115
- default: o(() => [
116
- u(w(e(x)("ll.apply")), 1)
121
+ default: l(() => [
122
+ p(m(o(C)("ll.apply")), 1)
117
123
  ]),
118
124
  _: 1
119
125
  }, 8, ["disabled"])
@@ -125,6 +131,6 @@ const q = { class: "tw-flex tw-h-full tw-flex-col tw-rounded" }, H = { class: "t
125
131
  }
126
132
  });
127
133
  export {
128
- it as default
134
+ ne as default
129
135
  };
130
136
  //# 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","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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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}