@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 +1 @@
1
- {"version":3,"file":"DataViewSortButton.js","sources":["../src/components/DataViewSortButton/DataViewSortButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { inject, useCssModule } 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 Dropdown from '../Dropdown/Dropdown.vue';\n import Icon from '../Icon/Icon.vue';\n import IconLabel from '../IconLabel/IconLabel.vue';\n import { SortOption } from './DataViewSortButton.types';\n\n export interface DataViewToolbarProps {\n /**\n * An array of sort options to display in the dropdown.\n */\n sortOptions?: SortOption[];\n }\n\n const props = withDefaults(defineProps<DataViewToolbarProps>(), {\n sortOptions: () => [],\n });\n const classes = useCssModule();\n\n const { currentSortId, currentSortOrder, updateCurrentSort } = inject(\n DATA_VIEW_INJECTION.key,\n DATA_VIEW_INJECTION.defaults,\n );\n</script>\n\n<template>\n <Dropdown\n v-if=\"props.sortOptions.length\"\n align=\"left\"\n class=\"stash-data-view-sort-button\"\n data-test=\"stash-data-view-sort-button\"\n >\n <template #toggle=\"{ isActive, toggle }\">\n <Button\n icon-label\n :aria-expanded=\"isActive.toString()\"\n class=\"tw-text-blue-500\"\n data-test=\"stash-data-view-sort-button|sort-menu-button\"\n @click=\"toggle\"\n >\n <IconLabel icon=\"sort\" stacked>\n {{ t('ll.sort') }}\n </IconLabel>\n </Button>\n </template>\n <ul class=\"dropdown__list\" data-test=\"stash-data-view-sort-button|sort-menu\">\n <template v-for=\"sortOption in props.sortOptions\" :key=\"sortOption.id\">\n <li\n class=\"dropdown__item tw-rounded\"\n :class=\"[\n classes.dropdown__item,\n { 'tw-bg-blue-100 tw-text-ice-700': sortOption.id === currentSortId && currentSortOrder === 'asc' },\n ]\"\n @click=\"() => updateCurrentSort(sortOption.id, { sortOrder: 'asc', shouldEmit: true })\"\n >\n <Button inline class=\"tw-h-9\">\n {{ sortOption.labelAsc }}\n <Icon\n v-if=\"sortOption.id === currentSortId && currentSortOrder === 'asc'\"\n name=\"check\"\n class=\"tw-ml-auto tw-text-blue-500\"\n />\n </Button>\n </li>\n <li\n class=\"dropdown__item tw-rounded\"\n :class=\"[\n classes.dropdown__item,\n { 'tw-bg-blue-100 tw-text-ice-700': sortOption.id === currentSortId && currentSortOrder === 'desc' },\n ]\"\n @click=\"() => updateCurrentSort(sortOption.id, { sortOrder: 'desc', shouldEmit: true })\"\n >\n <Button inline class=\"tw-h-9\">\n {{ sortOption.labelDesc }}\n <Icon\n v-if=\"sortOption.id === currentSortId && currentSortOrder === 'desc'\"\n name=\"check\"\n class=\"tw-ml-auto tw-text-blue-500\"\n />\n </Button>\n </li>\n </template>\n </ul>\n </Dropdown>\n</template>\n\n<style module>\n .dropdown__item > button {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n</style>\n"],"names":["props","__props","classes","useCssModule","currentSortId","currentSortOrder","updateCurrentSort","inject","DATA_VIEW_INJECTION","_createBlock","Dropdown","_withCtx","isActive","toggle","_createVNode","Button","IconLabel","_unref","t","_createElementVNode","_hoisted_1","_openBlock","_createElementBlock","_Fragment","_renderList","sortOption","Icon"],"mappings":";;;;;;;;;;;;;;;;;;AAkBE,UAAMA,IAAQC,GAGRC,IAAUC,EAAA,GAEV,EAAE,eAAAC,GAAe,kBAAAC,GAAkB,mBAAAC,EAAA,IAAsBC;AAAA,MAC7DC,EAAoB;AAAA,MACpBA,EAAoB;AAAA,IAAA;qBAMdR,EAAM,YAAY,eAD1BS,EAyDWC,GAAA;AAAA;MAvDT,OAAM;AAAA,MACN,OAAM;AAAA,MACN,aAAU;AAAA,IAAA;MAEC,QAAMC,EACf,CAUS,EAXU,UAAAC,GAAU,QAAAC,QAAM;AAAA,QACnCC,EAUSC,GAAA;AAAA,UATP,cAAA;AAAA,UACC,iBAAeH,EAAS,SAAA;AAAA,UACzB,OAAM;AAAA,UACN,aAAU;AAAA,UACT,SAAOC;AAAA,QAAA;qBAER,MAEY;AAAA,YAFZC,EAEYE,GAAA;AAAA,cAFD,MAAK;AAAA,cAAO,SAAA;AAAA,YAAA;yBACrB,MAAkB;AAAA,oBAAfC,EAAAC,CAAA,EAAC,SAAA,CAAA,GAAA,CAAA;AAAA,cAAA;;;;;;;iBAIV,MAqCK;AAAA,QArCLC,EAqCK,MArCLC,GAqCK;AAAA,WApCHC,EAAA,EAAA,GAAAC,EAmCWC,GAAA,MAAAC,EAnCoBxB,EAAM,cAApByB;YAAuC,KAAAA,EAAW;AAAA,UAAA;YACjEN,EAgBK,MAAA;AAAA,cAfH,UAAM,6BAA2B;AAAA,gBACXF,EAAAf,CAAA,EAAQ;AAAA,gBAAgE,EAAA,kCAAAuB,EAAW,OAAOR,EAAAb,CAAA,KAAiBa,EAAAZ,CAAA,MAAgB,MAAA;AAAA,cAAA;cAIhJ,SAAK,MAAQY,EAAAX,CAAA,EAAkBmB,EAAW,IAAE,EAAA,WAAA,OAAA,YAAA,GAAA,CAAA;AAAA,YAAA;cAE7CX,EAOSC,GAAA;AAAA,gBAPD,QAAA;AAAA,gBAAO,OAAM;AAAA,cAAA;2BACnB,MAAyB;AAAA,sBAAtBU,EAAW,QAAQ,IAAG,KACzB,CAAA;AAAA,kBACQA,EAAW,OAAOR,EAAAb,CAAA,KAAiBa,EAAAZ,CAAA,MAAgB,cAD3DI,EAIEiB,GAAA;AAAA;oBAFA,MAAK;AAAA,oBACL,OAAM;AAAA,kBAAA;;;;;YAIZP,EAgBK,MAAA;AAAA,cAfH,UAAM,6BAA2B;AAAA,gBACXF,EAAAf,CAAA,EAAQ;AAAA,gBAAgE,EAAA,kCAAAuB,EAAW,OAAOR,EAAAb,CAAA,KAAiBa,EAAAZ,CAAA,MAAgB,OAAA;AAAA,cAAA;cAIhJ,SAAK,MAAQY,EAAAX,CAAA,EAAkBmB,EAAW,IAAE,EAAA,WAAA,QAAA,YAAA,GAAA,CAAA;AAAA,YAAA;cAE7CX,EAOSC,GAAA;AAAA,gBAPD,QAAA;AAAA,gBAAO,OAAM;AAAA,cAAA;2BACnB,MAA0B;AAAA,sBAAvBU,EAAW,SAAS,IAAG,KAC1B,CAAA;AAAA,kBACQA,EAAW,OAAOR,EAAAb,CAAA,KAAiBa,EAAAZ,CAAA,MAAgB,eAD3DI,EAIEiB,GAAA;AAAA;oBAFA,MAAK;AAAA,oBACL,OAAM;AAAA,kBAAA;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"DataViewSortButton.js","sources":["../src/components/DataViewSortButton/DataViewSortButton.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { inject, useCssModule } 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 Dropdown from '../Dropdown/Dropdown.vue';\n import Icon from '../Icon/Icon.vue';\n import IconLabel from '../IconLabel/IconLabel.vue';\n import { SortOption } from './DataViewSortButton.types';\n\n export interface DataViewToolbarProps {\n /**\n * An array of sort options to display in the dropdown.\n */\n sortOptions?: SortOption[];\n }\n\n const props = withDefaults(defineProps<DataViewToolbarProps>(), {\n sortOptions: () => [],\n });\n const classes = useCssModule();\n\n const { currentSortId, currentSortOrder, updateCurrentSort } = inject(\n DATA_VIEW_INJECTION.key,\n DATA_VIEW_INJECTION.defaults,\n );\n</script>\n\n<template>\n <Dropdown\n v-if=\"props.sortOptions.length\"\n align=\"left\"\n class=\"stash-data-view-sort-button\"\n data-test=\"stash-data-view-sort-button\"\n >\n <template #toggle=\"{ isActive, toggle }\">\n <Button\n icon-label\n :aria-expanded=\"isActive.toString()\"\n class=\"tw-text-blue-500\"\n data-test=\"stash-data-view-sort-button|sort-menu-button\"\n @click=\"toggle\"\n >\n <IconLabel icon=\"sort\" stacked>\n {{ t('ll.sort') }}\n </IconLabel>\n </Button>\n </template>\n <ul class=\"dropdown__list\" data-test=\"stash-data-view-sort-button|sort-menu\">\n <template v-for=\"sortOption in props.sortOptions\" :key=\"sortOption.id\">\n <li\n class=\"dropdown__item tw-rounded\"\n :class=\"[\n classes.dropdown__item,\n { 'tw-bg-blue-100 tw-text-ice-700': sortOption.id === currentSortId && currentSortOrder === 'asc' },\n ]\"\n @click=\"() => updateCurrentSort(sortOption.id, { sortOrder: 'asc', shouldEmit: true })\"\n >\n <Button inline class=\"tw-h-9\">\n {{ sortOption.labelAsc }}\n <Icon\n v-if=\"sortOption.id === currentSortId && currentSortOrder === 'asc'\"\n name=\"check\"\n class=\"tw-ml-auto tw-text-blue-500\"\n />\n </Button>\n </li>\n <li\n class=\"dropdown__item tw-rounded\"\n :class=\"[\n classes.dropdown__item,\n { 'tw-bg-blue-100 tw-text-ice-700': sortOption.id === currentSortId && currentSortOrder === 'desc' },\n ]\"\n @click=\"() => updateCurrentSort(sortOption.id, { sortOrder: 'desc', shouldEmit: true })\"\n >\n <Button inline class=\"tw-h-9\">\n {{ sortOption.labelDesc }}\n <Icon\n v-if=\"sortOption.id === currentSortId && currentSortOrder === 'desc'\"\n name=\"check\"\n class=\"tw-ml-auto tw-text-blue-500\"\n />\n </Button>\n </li>\n </template>\n </ul>\n </Dropdown>\n</template>\n\n<style module>\n .dropdown__item > button {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n</style>\n"],"names":["props","__props","classes","useCssModule","currentSortId","currentSortOrder","updateCurrentSort","inject","DATA_VIEW_INJECTION"],"mappings":";;;;;;;;;;;;;;;;;;AAkBE,UAAMA,IAAQC,GAGRC,IAAUC,EAAa,GAEvB,EAAE,eAAAC,GAAe,kBAAAC,GAAkB,mBAAAC,EAAsB,IAAAC;AAAA,MAC7DC,EAAoB;AAAA,MACpBA,EAAoB;AAAA,IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,18 +1,45 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
 
6
- declare interface DataViewToolbarProps {
8
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
+
10
+ declare type __VLS_Prettify<T> = {
11
+ [K in keyof T]: T[K];
12
+ } & {};
13
+
14
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
22
+
23
+ declare type __VLS_WithDefaults<P, D> = {
24
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
25
+ default: D[K];
26
+ }> : P[K];
27
+ };
28
+
29
+ export declare interface DataViewToolbarProps {
7
30
  /**
8
31
  * An array of sort options to display in the dropdown.
9
32
  */
10
33
  sortOptions?: SortOption[];
11
34
  }
12
35
 
13
- declare const _default: DefineComponent<DataViewToolbarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DataViewToolbarProps> & Readonly<{}>, {
36
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DataViewToolbarProps>, {
37
+ sortOptions: () => never[];
38
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DataViewToolbarProps>, {
39
+ sortOptions: () => never[];
40
+ }>>> & Readonly<{}>, {
14
41
  sortOptions: SortOption[];
15
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
42
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
16
43
  export default _default;
17
44
 
18
45
  declare interface SortOption {
@@ -1,44 +1,45 @@
1
- import { ref as M, onMounted as U, nextTick as P, onBeforeUnmount as j, watch as J, defineComponent as K, useTemplateRef as W, inject as q, computed as G, onBeforeMount as H, createElementBlock as v, openBlock as m, normalizeClass as Q, unref as e, createElementVNode as X, createCommentVNode as x, createBlock as Y, createVNode as l, withCtx as r, renderSlot as Z, createTextVNode as ee, toDisplayString as te, Fragment as ae } from "vue";
2
- import { u as oe } from "./usePaginationStats-d_q39naC.js";
3
- import { t as k } from "./locale.js";
4
- import T from "./Button.js";
1
+ import { ref as $, onMounted as U, nextTick as T, onBeforeUnmount as j, watch as J, defineComponent as K, useTemplateRef as A, inject as q, computed as G, onBeforeMount as H, createElementBlock as x, openBlock as b, normalizeClass as Q, unref as e, createElementVNode as X, createCommentVNode as k, createBlock as Y, createVNode as l, withCtx as u, renderSlot as Z, createTextVNode as ee, toDisplayString as te, Fragment as oe } from "vue";
2
+ import { u as ae } from "./usePaginationStats-d_q39naC.js";
3
+ import { t as E } from "./locale.js";
4
+ import N from "./Button.js";
5
5
  import ne from "./Checkbox.js";
6
6
  import "lodash-es/cloneDeep";
7
- import D from "./Icon.js";
8
- import { D as I } from "./DataView.keys-aSOnA4AD.js";
7
+ import I from "./Icon.js";
8
+ import { D as M } from "./DataView.keys-aSOnA4AD.js";
9
9
  import le from "./IconLabel.js";
10
10
  import ie from "./MoreActions.js";
11
- function se(E) {
12
- const { toolbarEl: o, paginationEl: t, checkboxEl: b, isPaginationEnabled: f, isSelectable: w, isEmpty: g } = E, i = M(null);
13
- let a = null;
11
+ function se(R) {
12
+ const { toolbarEl: a, paginationEl: t, checkboxEl: g, isPaginationEnabled: i, isSelectable: s, isEmpty: r } = R, d = $(null);
13
+ let o = null;
14
14
  const n = () => {
15
- if (!o.value) return;
16
- const y = o.value.getBoundingClientRect().width;
17
- let c = 0, u = 0;
18
- f?.value && t.value && (c = t.value.getBoundingClientRect().width), w?.value && !g?.value && b.value?.$el && (u = b.value.$el.getBoundingClientRect().width);
19
- const p = window.getComputedStyle(o.value), R = parseFloat(p.paddingLeft) || 0, S = parseFloat(p.paddingRight) || 0, C = Math.max(0, y - c - u - R - S);
20
- i.value = `${C}px`;
21
- }, d = () => {
22
- o.value && (a = new ResizeObserver(() => {
23
- P(() => {
15
+ var v;
16
+ if (!a.value) return;
17
+ const y = a.value.getBoundingClientRect().width;
18
+ let m = 0, f = 0;
19
+ i != null && i.value && t.value && (m = t.value.getBoundingClientRect().width), s != null && s.value && !(r != null && r.value) && ((v = g.value) != null && v.$el) && (f = g.value.$el.getBoundingClientRect().width);
20
+ const w = window.getComputedStyle(a.value), C = parseFloat(w.paddingLeft) || 0, S = parseFloat(w.paddingRight) || 0, B = Math.max(0, y - m - f - C - S);
21
+ d.value = `${B}px`;
22
+ }, p = () => {
23
+ a.value && (o = new ResizeObserver(() => {
24
+ T(() => {
24
25
  n();
25
26
  });
26
- }), a.observe(o.value));
27
+ }), o.observe(a.value));
27
28
  }, h = () => {
28
- a && (a.disconnect(), a = null);
29
+ o && (o.disconnect(), o = null);
29
30
  };
30
31
  return U(() => {
31
- P(() => {
32
- n(), d();
32
+ T(() => {
33
+ n(), p();
33
34
  });
34
35
  }), j(() => {
35
36
  h();
36
- }), J([f, w, g], () => {
37
- P(() => {
37
+ }), J([i, s, r], () => {
38
+ T(() => {
38
39
  n();
39
40
  });
40
41
  }), {
41
- actionsWidth: i,
42
+ actionsWidth: d,
42
43
  updateActionsWidth: n
43
44
  };
44
45
  }
@@ -59,130 +60,130 @@ const re = { class: "tw-flex tw-place-items-center" }, de = {
59
60
  hasTabsAbove: { type: Boolean, default: !1 }
60
61
  },
61
62
  emits: ["select"],
62
- setup(E, { emit: o }) {
63
- const t = E, b = o, f = W("toolbarEl"), w = W("paginationEl"), g = W("checkboxEl"), {
64
- isWithinModule: i,
65
- variant: a,
63
+ setup(R, { emit: a }) {
64
+ const t = R, g = a, i = A("toolbarEl"), s = A("paginationEl"), r = A("checkboxEl"), {
65
+ isWithinModule: d,
66
+ variant: o,
66
67
  density: n,
67
- currentPage: d,
68
+ currentPage: p,
68
69
  hasToolbar: h,
69
70
  isPaginateNextDisabled: y,
70
- isPaginationEnabled: c,
71
- isSelectable: u,
72
- pageCount: p,
73
- pageSize: R,
71
+ isPaginationEnabled: m,
72
+ isSelectable: f,
73
+ pageCount: w,
74
+ pageSize: C,
74
75
  totalDataCount: S,
75
- goPrevPage: C,
76
- goNextPage: $,
77
- isEmpty: A,
78
- isLoading: B
79
- } = q(I.key, I.defaults), N = M(0), { actionsWidth: O } = se({
80
- toolbarEl: f,
81
- paginationEl: w,
82
- checkboxEl: g,
83
- isPaginationEnabled: c,
84
- isSelectable: u,
85
- isEmpty: A
86
- }), _ = G(() => t.radius ? t.radius : i.value ? "none" : a.value === "table" ? t.hasTabsAbove ? "rounded-top-right" : "rounded-top" : "rounded"), L = oe({ currentPage: d, pageSize: R, totalItems: S });
87
- function V() {
88
- b("select"), N.value++;
76
+ goPrevPage: B,
77
+ goNextPage: v,
78
+ isEmpty: P,
79
+ isLoading: _
80
+ } = q(M.key, M.defaults), V = $(0), { actionsWidth: O } = se({
81
+ toolbarEl: i,
82
+ paginationEl: s,
83
+ checkboxEl: r,
84
+ isPaginationEnabled: m,
85
+ isSelectable: f,
86
+ isEmpty: P
87
+ }), z = G(() => t.radius ? t.radius : d.value ? "none" : o.value === "table" ? t.hasTabsAbove ? "rounded-top-right" : "rounded-top" : "rounded"), L = ae({ currentPage: p, pageSize: C, totalItems: S });
88
+ function D() {
89
+ g("select"), V.value++;
89
90
  }
90
91
  return H(() => {
91
92
  h && (h.value = !0);
92
- }), (F, s) => (m(), v("div", {
93
+ }), (F, c) => (b(), x("div", {
93
94
  ref: "toolbarEl",
94
95
  class: Q(["stash-data-view-toolbar tw-flex tw-min-h-15 tw-items-center tw-justify-between tw-bg-white tw-py-1.5 tw-shadow", {
95
- "tw-border-t tw-border-ice-200": e(i),
96
- "tw-rounded-tr": _.value === "rounded-top-right",
97
- "tw-rounded": _.value === "rounded",
98
- "tw-rounded-t": _.value === "rounded-top",
99
- "tw-mb-3": e(a) !== "table" && !e(i),
96
+ "tw-border-t tw-border-ice-200": e(d),
97
+ "tw-rounded-tr": z.value === "rounded-top-right",
98
+ "tw-rounded": z.value === "rounded",
99
+ "tw-rounded-t": z.value === "rounded-top",
100
+ "tw-mb-3": e(o) !== "table" && !e(d),
100
101
  "tw-px-3": e(n) === "compact",
101
102
  "tw-px-3 lg:tw-px-6": e(n) === "comfortable"
102
103
  }]),
103
104
  "data-test": "stash-data-view-toolbar"
104
105
  }, [
105
106
  X("div", re, [
106
- e(u) && !e(A) ? (m(), Y(ne, {
107
+ e(f) && !e(P) ? (b(), Y(ne, {
107
108
  ref: "checkboxEl",
108
- key: N.value,
109
+ key: V.value,
109
110
  checked: t.allRowsSelected,
110
111
  indeterminate: t.someRowsSelected && !t.allRowsSelected,
111
- title: e(k)("ll.selectAll"),
112
- disabled: e(B),
113
- "onUpdate:indeterminate": V,
114
- "onUpdate:checked": V
115
- }, null, 8, ["checked", "indeterminate", "title", "disabled"])) : x("", !0),
112
+ title: e(E)("ll.selectAll"),
113
+ disabled: e(_),
114
+ "onUpdate:indeterminate": D,
115
+ "onUpdate:checked": D
116
+ }, null, 8, ["checked", "indeterminate", "title", "disabled"])) : k("", !0),
116
117
  l(ie, {
117
118
  "more-button-align": "together",
118
119
  width: e(O) || void 0,
119
120
  "actions-container-class": "tw-flex tw-items-center tw-gap-x-2 lg:tw-mr-6 lg:tw-gap-x-6",
120
121
  "item-in-dropdown-class": "tw-text-center"
121
122
  }, {
122
- toggle: r(({ toggle: z }) => [
123
- l(T, {
123
+ toggle: u(({ toggle: W }) => [
124
+ l(N, {
124
125
  "icon-label": "",
125
126
  class: "tw-text-blue-500",
126
127
  "data-test": "stash-data-view-sort-button|sort-menu-button",
127
- onClick: z
128
+ onClick: W
128
129
  }, {
129
- default: r(() => [
130
+ default: u(() => [
130
131
  l(le, {
131
132
  icon: "ellipsis",
132
133
  stacked: ""
133
134
  }, {
134
- default: r(() => [...s[2] || (s[2] = [
135
- ee(" More ", -1)
136
- ])]),
135
+ default: u(() => c[2] || (c[2] = [
136
+ ee(" More ")
137
+ ])),
137
138
  _: 1
138
139
  })
139
140
  ]),
140
- _: 1
141
- }, 8, ["onClick"])
141
+ _: 2
142
+ }, 1032, ["onClick"])
142
143
  ]),
143
- actions: r(() => [
144
+ actions: u(() => [
144
145
  Z(F.$slots, "default")
145
146
  ]),
146
147
  _: 3
147
148
  }, 8, ["width"])
148
149
  ]),
149
- e(c) ? (m(), v("div", de, [
150
- t.hidePageStats ? x("", !0) : (m(), v("span", ce, te(e(k)("ll.pageStats", e(L))), 1)),
151
- e(p) > 1 ? (m(), v(ae, { key: 1 }, [
152
- l(T, {
150
+ e(m) ? (b(), x("div", de, [
151
+ t.hidePageStats ? k("", !0) : (b(), x("span", ce, te(e(E)("ll.pageStats", e(L))), 1)),
152
+ e(w) > 1 ? (b(), x(oe, { key: 1 }, [
153
+ l(N, {
153
154
  icon: "",
154
- "aria-label": e(k)("ll.previous"),
155
+ "aria-label": e(E)("ll.previous"),
155
156
  class: "tw-size-9 tw-p-1.5",
156
157
  "data-test": "button|prev-page",
157
- disabled: e(B) || e(d) === 1,
158
- onClick: s[0] || (s[0] = (z) => e(C)({ shouldEmit: !0 }))
158
+ disabled: e(_) || e(p) === 1,
159
+ onClick: c[0] || (c[0] = (W) => e(B)({ shouldEmit: !0 }))
159
160
  }, {
160
- default: r(() => [
161
- l(D, {
161
+ default: u(() => [
162
+ l(I, {
162
163
  name: "chevron-left",
163
164
  size: "dense"
164
165
  })
165
166
  ]),
166
167
  _: 1
167
168
  }, 8, ["aria-label", "disabled"]),
168
- l(T, {
169
+ l(N, {
169
170
  icon: "",
170
- "aria-label": e(k)("ll.next"),
171
+ "aria-label": e(E)("ll.next"),
171
172
  class: "tw-size-9 tw-p-1.5",
172
173
  "data-test": "button|next-page",
173
- disabled: e(B) || e(y) || e(d) === e(p),
174
- onClick: s[1] || (s[1] = (z) => e($)({ shouldEmit: !0 }))
174
+ disabled: e(_) || e(y) || e(p) === e(w),
175
+ onClick: c[1] || (c[1] = (W) => e(v)({ shouldEmit: !0 }))
175
176
  }, {
176
- default: r(() => [
177
- l(D, {
177
+ default: u(() => [
178
+ l(I, {
178
179
  name: "chevron-right",
179
180
  size: "dense"
180
181
  })
181
182
  ]),
182
183
  _: 1
183
184
  }, 8, ["aria-label", "disabled"])
184
- ], 64)) : x("", !0)
185
- ], 512)) : x("", !0)
185
+ ], 64)) : k("", !0)
186
+ ], 512)) : k("", !0)
186
187
  ], 2));
187
188
  }
188
189
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DataViewToolbar.js","sources":["../src/components/DataViewToolbar/useActionsWidth.ts","../src/components/DataViewToolbar/DataViewToolbar.vue"],"sourcesContent":["import { ComputedRef, nextTick, onBeforeUnmount, onMounted, Ref, ref, ShallowRef, watch } from 'vue';\n\nexport interface UseActionsWidthOptions {\n toolbarEl: ShallowRef<HTMLElement | null>;\n paginationEl: ShallowRef<HTMLElement | null>;\n checkboxEl: ShallowRef<{ $el: HTMLElement } | null>;\n isPaginationEnabled: ComputedRef<boolean> | undefined;\n isSelectable: Ref<boolean> | undefined;\n isEmpty: ComputedRef<boolean> | undefined;\n}\n\nexport function useActionsWidth(options: UseActionsWidthOptions) {\n const { toolbarEl, paginationEl, checkboxEl, isPaginationEnabled, isSelectable, isEmpty } = options;\n\n const actionsWidth = ref<string | null>(null);\n let resizeObserver: ResizeObserver | null = null;\n\n const updateActionsWidth = () => {\n if (!toolbarEl.value) return;\n\n const toolbarWidth = toolbarEl.value.getBoundingClientRect().width;\n let paginationWidth = 0;\n let checkboxWidth = 0;\n\n // Calculate pagination width if pagination is enabled\n if (isPaginationEnabled?.value && paginationEl.value) {\n paginationWidth = paginationEl.value.getBoundingClientRect().width;\n }\n\n // Calculate checkbox width if selectable and not empty\n if (isSelectable?.value && !isEmpty?.value && checkboxEl.value?.$el) {\n checkboxWidth = checkboxEl.value.$el.getBoundingClientRect().width;\n }\n\n // Get computed styles to calculate padding\n const computedStyle = window.getComputedStyle(toolbarEl.value);\n const paddingLeft = parseFloat(computedStyle.paddingLeft) || 0;\n const paddingRight = parseFloat(computedStyle.paddingRight) || 0;\n\n const availableWidth = Math.max(0, toolbarWidth - paginationWidth - checkboxWidth - paddingLeft - paddingRight);\n actionsWidth.value = `${availableWidth}px`;\n };\n\n const setupResizeObserver = () => {\n if (!toolbarEl.value) return;\n\n resizeObserver = new ResizeObserver(() => {\n nextTick(() => {\n updateActionsWidth();\n });\n });\n\n resizeObserver.observe(toolbarEl.value);\n };\n\n const cleanupResizeObserver = () => {\n if (resizeObserver) {\n resizeObserver.disconnect();\n resizeObserver = null;\n }\n };\n\n onMounted(() => {\n // Initial width calculation with nextTick to ensure DOM is ready\n nextTick(() => {\n updateActionsWidth();\n setupResizeObserver();\n });\n });\n\n onBeforeUnmount(() => {\n cleanupResizeObserver();\n });\n\n // Watch for changes in conditions that affect element visibility\n watch([isPaginationEnabled, isSelectable, isEmpty], () => {\n nextTick(() => {\n updateActionsWidth();\n });\n });\n\n return {\n actionsWidth,\n updateActionsWidth,\n };\n}\n","<script setup lang=\"ts\">\n import { computed, inject, onBeforeMount, ref, useTemplateRef } from 'vue';\n\n import usePaginationStats from '../../composables/usePaginationStats/usePaginationStats';\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import Checkbox from '../Checkbox/Checkbox.vue';\n import { DATA_VIEW_INJECTION } from '../DataView/DataView.vue';\n import Icon from '../Icon/Icon.vue';\n import IconLabel from '../IconLabel/IconLabel.vue';\n import MoreActions from '../MoreActions/MoreActions.vue';\n import { ToolbarRadiuses } from './DataViewToolbar.types';\n import { useActionsWidth } from './useActionsWidth';\n\n export interface DataViewToolbarProps {\n /**\n * When DataView has `variant=\"table\"` and Table has `is-selectable` enabled, it provides a way to flag\n * a checkbox whenever all rows are selected, just like the standalone version on TableHeaderRow.\n */\n allRowsSelected?: boolean;\n\n /**\n * Hides the page statistics (ex: \"1 - 12 of 20\") in the toolbar\n */\n hidePageStats?: boolean;\n\n /**\n * Controls the corners of DataViewToolbar with the \"border-radius\" CSS property. The default value is \"rounded\".\n */\n radius?: ToolbarRadiuses;\n\n /**\n * When DataView has variant=\"table\" and Table has `is-selectable` enabled, it provides a way to flag\n * a checkbox whenever one or more, but not all rows are selected, just like the standalone\n * version on TableHeaderRow.\n */\n someRowsSelected?: boolean;\n\n /**\n * When DataView has tabs above it, we need to remove the top left rounded corner\n */\n hasTabsAbove?: boolean;\n }\n\n const props = withDefaults(defineProps<DataViewToolbarProps>(), {\n allRowsSelected: false,\n hidePageStats: false,\n radius: undefined,\n someRowsSelected: false,\n hasTabsAbove: false,\n });\n\n const emit = defineEmits<{\n (e: 'select'): void;\n }>();\n\n // Refs for width calculation\n const toolbarRef = useTemplateRef('toolbarEl');\n const paginationRef = useTemplateRef('paginationEl');\n const checkboxRef = useTemplateRef('checkboxEl');\n\n const {\n isWithinModule,\n variant: dataViewVariant,\n density,\n currentPage,\n hasToolbar,\n isPaginateNextDisabled,\n isPaginationEnabled,\n isSelectable,\n pageCount,\n pageSize,\n totalDataCount,\n goPrevPage,\n goNextPage,\n isEmpty,\n isLoading,\n } = inject(DATA_VIEW_INJECTION.key, DATA_VIEW_INJECTION.defaults);\n\n const checkboxKey = ref(0);\n\n const { actionsWidth } = useActionsWidth({\n toolbarEl: toolbarRef,\n paginationEl: paginationRef,\n checkboxEl: checkboxRef,\n isPaginationEnabled,\n isSelectable,\n isEmpty,\n });\n\n const computedRadius = computed<ToolbarRadiuses>(() => {\n if (props.radius) {\n return props.radius;\n }\n\n if (isWithinModule.value) {\n return 'none';\n }\n\n if (dataViewVariant.value === 'table') {\n if (props.hasTabsAbove) {\n return 'rounded-top-right';\n }\n\n return 'rounded-top';\n }\n\n return 'rounded';\n });\n\n const pageStats = usePaginationStats({ currentPage, pageSize, totalItems: totalDataCount });\n\n function onSelect() {\n emit('select');\n\n /**\n * In Vue (as of this writing), if a user checks a native checkbox but the v-model is `false` and does not change from `false`, then the checkbox will display as checked even though the v-model is still `false`.\n * Forcing a re-render with a `key` change allows the checkbox to stay unchecked if its v-model is still `false` and its v-model not been changed.\n * To verify that this is necessary, test the \"select all\" checkbox in the SelectionWithSomeDisabled story in Table.story.ts with and without the `key` attribute.\n */\n checkboxKey.value++;\n }\n\n onBeforeMount(() => {\n if (hasToolbar) {\n hasToolbar.value = true;\n }\n });\n</script>\n\n<template>\n <div\n ref=\"toolbarEl\"\n class=\"stash-data-view-toolbar tw-flex tw-min-h-15 tw-items-center tw-justify-between tw-bg-white tw-py-1.5 tw-shadow\"\n :class=\"{\n 'tw-border-t tw-border-ice-200': isWithinModule,\n 'tw-rounded-tr': computedRadius === 'rounded-top-right',\n 'tw-rounded': computedRadius === 'rounded',\n 'tw-rounded-t': computedRadius === 'rounded-top',\n 'tw-mb-3': dataViewVariant !== 'table' && !isWithinModule,\n 'tw-px-3': density === 'compact',\n 'tw-px-3 lg:tw-px-6': density === 'comfortable',\n }\"\n data-test=\"stash-data-view-toolbar\"\n >\n <div class=\"tw-flex tw-place-items-center\">\n <Checkbox\n v-if=\"isSelectable && !isEmpty\"\n ref=\"checkboxEl\"\n :key=\"checkboxKey\"\n :checked=\"props.allRowsSelected\"\n :indeterminate=\"props.someRowsSelected && !props.allRowsSelected\"\n :title=\"t('ll.selectAll')\"\n :disabled=\"isLoading\"\n @update:indeterminate=\"onSelect\"\n @update:checked=\"onSelect\"\n />\n <MoreActions\n more-button-align=\"together\"\n :width=\"actionsWidth || undefined\"\n actions-container-class=\"tw-flex tw-items-center tw-gap-x-2 lg:tw-mr-6 lg:tw-gap-x-6\"\n item-in-dropdown-class=\"tw-text-center\"\n >\n <template #toggle=\"{ toggle }\">\n <Button\n icon-label\n class=\"tw-text-blue-500\"\n data-test=\"stash-data-view-sort-button|sort-menu-button\"\n @click=\"toggle\"\n >\n <IconLabel icon=\"ellipsis\" stacked> More </IconLabel>\n </Button>\n </template>\n <template #actions>\n <slot></slot>\n </template>\n </MoreActions>\n </div>\n\n <!-- Pagination -->\n <div v-if=\"isPaginationEnabled\" ref=\"paginationEl\" class=\"tw-flex tw-shrink-0 tw-items-center\">\n <span v-if=\"!props.hidePageStats\" class=\"tw-mx-1.5 tw-hidden md:tw-block\">\n {{ t('ll.pageStats', pageStats) }}\n </span>\n <template v-if=\"pageCount > 1\">\n <Button\n icon\n :aria-label=\"t('ll.previous')\"\n class=\"tw-size-9 tw-p-1.5\"\n data-test=\"button|prev-page\"\n :disabled=\"isLoading || currentPage === 1\"\n @click=\"goPrevPage({ shouldEmit: true })\"\n >\n <Icon name=\"chevron-left\" size=\"dense\" />\n </Button>\n <Button\n icon\n :aria-label=\"t('ll.next')\"\n class=\"tw-size-9 tw-p-1.5\"\n data-test=\"button|next-page\"\n :disabled=\"isLoading || isPaginateNextDisabled || currentPage === pageCount\"\n @click=\"goNextPage({ shouldEmit: true })\"\n >\n <Icon name=\"chevron-right\" size=\"dense\" />\n </Button>\n </template>\n </div>\n </div>\n</template>\n"],"names":["useActionsWidth","options","toolbarEl","paginationEl","checkboxEl","isPaginationEnabled","isSelectable","isEmpty","actionsWidth","ref","resizeObserver","updateActionsWidth","toolbarWidth","paginationWidth","checkboxWidth","computedStyle","paddingLeft","paddingRight","availableWidth","setupResizeObserver","nextTick","cleanupResizeObserver","onMounted","onBeforeUnmount","watch","props","__props","emit","__emit","toolbarRef","useTemplateRef","paginationRef","checkboxRef","isWithinModule","dataViewVariant","density","currentPage","hasToolbar","isPaginateNextDisabled","pageCount","pageSize","totalDataCount","goPrevPage","goNextPage","isLoading","inject","DATA_VIEW_INJECTION","checkboxKey","computedRadius","computed","pageStats","usePaginationStats","onSelect","onBeforeMount","_createElementBlock","_unref","_createElementVNode","_hoisted_1","_createBlock","Checkbox","t","_createVNode","MoreActions","_withCtx","toggle","Button","IconLabel","_cache","_renderSlot","_ctx","_openBlock","_hoisted_2","_hoisted_3","_toDisplayString","_Fragment","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"DataViewToolbar.js","sources":["../src/components/DataViewToolbar/useActionsWidth.ts","../src/components/DataViewToolbar/DataViewToolbar.vue"],"sourcesContent":["import { ComputedRef, nextTick, onBeforeUnmount, onMounted, Ref, ref, ShallowRef, watch } from 'vue';\n\nexport interface UseActionsWidthOptions {\n toolbarEl: ShallowRef<HTMLElement | null>;\n paginationEl: ShallowRef<HTMLElement | null>;\n checkboxEl: ShallowRef<{ $el: HTMLElement } | null>;\n isPaginationEnabled: ComputedRef<boolean> | undefined;\n isSelectable: Ref<boolean> | undefined;\n isEmpty: ComputedRef<boolean> | undefined;\n}\n\nexport function useActionsWidth(options: UseActionsWidthOptions) {\n const { toolbarEl, paginationEl, checkboxEl, isPaginationEnabled, isSelectable, isEmpty } = options;\n\n const actionsWidth = ref<string | null>(null);\n let resizeObserver: ResizeObserver | null = null;\n\n const updateActionsWidth = () => {\n if (!toolbarEl.value) return;\n\n const toolbarWidth = toolbarEl.value.getBoundingClientRect().width;\n let paginationWidth = 0;\n let checkboxWidth = 0;\n\n // Calculate pagination width if pagination is enabled\n if (isPaginationEnabled?.value && paginationEl.value) {\n paginationWidth = paginationEl.value.getBoundingClientRect().width;\n }\n\n // Calculate checkbox width if selectable and not empty\n if (isSelectable?.value && !isEmpty?.value && checkboxEl.value?.$el) {\n checkboxWidth = checkboxEl.value.$el.getBoundingClientRect().width;\n }\n\n // Get computed styles to calculate padding\n const computedStyle = window.getComputedStyle(toolbarEl.value);\n const paddingLeft = parseFloat(computedStyle.paddingLeft) || 0;\n const paddingRight = parseFloat(computedStyle.paddingRight) || 0;\n\n const availableWidth = Math.max(0, toolbarWidth - paginationWidth - checkboxWidth - paddingLeft - paddingRight);\n actionsWidth.value = `${availableWidth}px`;\n };\n\n const setupResizeObserver = () => {\n if (!toolbarEl.value) return;\n\n resizeObserver = new ResizeObserver(() => {\n nextTick(() => {\n updateActionsWidth();\n });\n });\n\n resizeObserver.observe(toolbarEl.value);\n };\n\n const cleanupResizeObserver = () => {\n if (resizeObserver) {\n resizeObserver.disconnect();\n resizeObserver = null;\n }\n };\n\n onMounted(() => {\n // Initial width calculation with nextTick to ensure DOM is ready\n nextTick(() => {\n updateActionsWidth();\n setupResizeObserver();\n });\n });\n\n onBeforeUnmount(() => {\n cleanupResizeObserver();\n });\n\n // Watch for changes in conditions that affect element visibility\n watch([isPaginationEnabled, isSelectable, isEmpty], () => {\n nextTick(() => {\n updateActionsWidth();\n });\n });\n\n return {\n actionsWidth,\n updateActionsWidth,\n };\n}\n","<script setup lang=\"ts\">\n import { computed, inject, onBeforeMount, ref, useTemplateRef } from 'vue';\n\n import usePaginationStats from '../../composables/usePaginationStats/usePaginationStats';\n import { t } from '../../locale';\n import Button from '../Button/Button.vue';\n import Checkbox from '../Checkbox/Checkbox.vue';\n import { DATA_VIEW_INJECTION } from '../DataView/DataView.vue';\n import Icon from '../Icon/Icon.vue';\n import IconLabel from '../IconLabel/IconLabel.vue';\n import MoreActions from '../MoreActions/MoreActions.vue';\n import { ToolbarRadiuses } from './DataViewToolbar.types';\n import { useActionsWidth } from './useActionsWidth';\n\n export interface DataViewToolbarProps {\n /**\n * When DataView has `variant=\"table\"` and Table has `is-selectable` enabled, it provides a way to flag\n * a checkbox whenever all rows are selected, just like the standalone version on TableHeaderRow.\n */\n allRowsSelected?: boolean;\n\n /**\n * Hides the page statistics (ex: \"1 - 12 of 20\") in the toolbar\n */\n hidePageStats?: boolean;\n\n /**\n * Controls the corners of DataViewToolbar with the \"border-radius\" CSS property. The default value is \"rounded\".\n */\n radius?: ToolbarRadiuses;\n\n /**\n * When DataView has variant=\"table\" and Table has `is-selectable` enabled, it provides a way to flag\n * a checkbox whenever one or more, but not all rows are selected, just like the standalone\n * version on TableHeaderRow.\n */\n someRowsSelected?: boolean;\n\n /**\n * When DataView has tabs above it, we need to remove the top left rounded corner\n */\n hasTabsAbove?: boolean;\n }\n\n const props = withDefaults(defineProps<DataViewToolbarProps>(), {\n allRowsSelected: false,\n hidePageStats: false,\n radius: undefined,\n someRowsSelected: false,\n hasTabsAbove: false,\n });\n\n const emit = defineEmits<{\n (e: 'select'): void;\n }>();\n\n // Refs for width calculation\n const toolbarRef = useTemplateRef('toolbarEl');\n const paginationRef = useTemplateRef('paginationEl');\n const checkboxRef = useTemplateRef('checkboxEl');\n\n const {\n isWithinModule,\n variant: dataViewVariant,\n density,\n currentPage,\n hasToolbar,\n isPaginateNextDisabled,\n isPaginationEnabled,\n isSelectable,\n pageCount,\n pageSize,\n totalDataCount,\n goPrevPage,\n goNextPage,\n isEmpty,\n isLoading,\n } = inject(DATA_VIEW_INJECTION.key, DATA_VIEW_INJECTION.defaults);\n\n const checkboxKey = ref(0);\n\n const { actionsWidth } = useActionsWidth({\n toolbarEl: toolbarRef,\n paginationEl: paginationRef,\n checkboxEl: checkboxRef,\n isPaginationEnabled,\n isSelectable,\n isEmpty,\n });\n\n const computedRadius = computed<ToolbarRadiuses>(() => {\n if (props.radius) {\n return props.radius;\n }\n\n if (isWithinModule.value) {\n return 'none';\n }\n\n if (dataViewVariant.value === 'table') {\n if (props.hasTabsAbove) {\n return 'rounded-top-right';\n }\n\n return 'rounded-top';\n }\n\n return 'rounded';\n });\n\n const pageStats = usePaginationStats({ currentPage, pageSize, totalItems: totalDataCount });\n\n function onSelect() {\n emit('select');\n\n /**\n * In Vue (as of this writing), if a user checks a native checkbox but the v-model is `false` and does not change from `false`, then the checkbox will display as checked even though the v-model is still `false`.\n * Forcing a re-render with a `key` change allows the checkbox to stay unchecked if its v-model is still `false` and its v-model not been changed.\n * To verify that this is necessary, test the \"select all\" checkbox in the SelectionWithSomeDisabled story in Table.story.ts with and without the `key` attribute.\n */\n checkboxKey.value++;\n }\n\n onBeforeMount(() => {\n if (hasToolbar) {\n hasToolbar.value = true;\n }\n });\n</script>\n\n<template>\n <div\n ref=\"toolbarEl\"\n class=\"stash-data-view-toolbar tw-flex tw-min-h-15 tw-items-center tw-justify-between tw-bg-white tw-py-1.5 tw-shadow\"\n :class=\"{\n 'tw-border-t tw-border-ice-200': isWithinModule,\n 'tw-rounded-tr': computedRadius === 'rounded-top-right',\n 'tw-rounded': computedRadius === 'rounded',\n 'tw-rounded-t': computedRadius === 'rounded-top',\n 'tw-mb-3': dataViewVariant !== 'table' && !isWithinModule,\n 'tw-px-3': density === 'compact',\n 'tw-px-3 lg:tw-px-6': density === 'comfortable',\n }\"\n data-test=\"stash-data-view-toolbar\"\n >\n <div class=\"tw-flex tw-place-items-center\">\n <Checkbox\n v-if=\"isSelectable && !isEmpty\"\n ref=\"checkboxEl\"\n :key=\"checkboxKey\"\n :checked=\"props.allRowsSelected\"\n :indeterminate=\"props.someRowsSelected && !props.allRowsSelected\"\n :title=\"t('ll.selectAll')\"\n :disabled=\"isLoading\"\n @update:indeterminate=\"onSelect\"\n @update:checked=\"onSelect\"\n />\n <MoreActions\n more-button-align=\"together\"\n :width=\"actionsWidth || undefined\"\n actions-container-class=\"tw-flex tw-items-center tw-gap-x-2 lg:tw-mr-6 lg:tw-gap-x-6\"\n item-in-dropdown-class=\"tw-text-center\"\n >\n <template #toggle=\"{ toggle }\">\n <Button\n icon-label\n class=\"tw-text-blue-500\"\n data-test=\"stash-data-view-sort-button|sort-menu-button\"\n @click=\"toggle\"\n >\n <IconLabel icon=\"ellipsis\" stacked> More </IconLabel>\n </Button>\n </template>\n <template #actions>\n <slot></slot>\n </template>\n </MoreActions>\n </div>\n\n <!-- Pagination -->\n <div v-if=\"isPaginationEnabled\" ref=\"paginationEl\" class=\"tw-flex tw-shrink-0 tw-items-center\">\n <span v-if=\"!props.hidePageStats\" class=\"tw-mx-1.5 tw-hidden md:tw-block\">\n {{ t('ll.pageStats', pageStats) }}\n </span>\n <template v-if=\"pageCount > 1\">\n <Button\n icon\n :aria-label=\"t('ll.previous')\"\n class=\"tw-size-9 tw-p-1.5\"\n data-test=\"button|prev-page\"\n :disabled=\"isLoading || currentPage === 1\"\n @click=\"goPrevPage({ shouldEmit: true })\"\n >\n <Icon name=\"chevron-left\" size=\"dense\" />\n </Button>\n <Button\n icon\n :aria-label=\"t('ll.next')\"\n class=\"tw-size-9 tw-p-1.5\"\n data-test=\"button|next-page\"\n :disabled=\"isLoading || isPaginateNextDisabled || currentPage === pageCount\"\n @click=\"goNextPage({ shouldEmit: true })\"\n >\n <Icon name=\"chevron-right\" size=\"dense\" />\n </Button>\n </template>\n </div>\n </div>\n</template>\n"],"names":["useActionsWidth","options","toolbarEl","paginationEl","checkboxEl","isPaginationEnabled","isSelectable","isEmpty","actionsWidth","ref","resizeObserver","updateActionsWidth","toolbarWidth","paginationWidth","checkboxWidth","_a","computedStyle","paddingLeft","paddingRight","availableWidth","setupResizeObserver","nextTick","cleanupResizeObserver","onMounted","onBeforeUnmount","watch","props","__props","emit","__emit","toolbarRef","useTemplateRef","paginationRef","checkboxRef","isWithinModule","dataViewVariant","density","currentPage","hasToolbar","isPaginateNextDisabled","pageCount","pageSize","totalDataCount","goPrevPage","goNextPage","isLoading","inject","DATA_VIEW_INJECTION","checkboxKey","computedRadius","computed","pageStats","usePaginationStats","onSelect","onBeforeMount"],"mappings":"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"}
@@ -1,24 +1,30 @@
1
- import { AllowedComponentProps } from 'vue';
2
- import { CheckboxProps } from '../Checkbox/Checkbox.vue';
3
- import { ComponentCustomProperties } from 'vue';
4
- import { ComponentCustomProps } from 'vue';
5
- import { ComponentInternalInstance } from 'vue';
6
- import { ComponentOptionsBase } from 'vue';
7
1
  import { ComponentOptionsMixin } from 'vue';
8
2
  import { ComponentProvideOptions } from 'vue';
9
- import { ComponentPublicInstance } from 'vue';
10
- import { DebuggerEvent } from 'vue';
11
3
  import { DefineComponent } from 'vue';
12
- import { GlobalComponents } from 'vue';
13
- import { GlobalDirectives } from 'vue';
14
- import { nextTick } from 'vue';
15
- import { OnCleanup } from '@vue/reactivity';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
16
6
  import { PublicProps } from 'vue';
17
- import { ShallowUnwrapRef } from 'vue';
18
- import { Slot } from 'vue';
19
- import { VNodeProps } from 'vue';
20
- import { WatchOptions } from 'vue';
21
- import { WatchStopHandle } from 'vue';
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
+ };
22
28
 
23
29
  declare type __VLS_WithTemplateSlots<T, S> = T & {
24
30
  new (): {
@@ -26,7 +32,7 @@ declare type __VLS_WithTemplateSlots<T, S> = T & {
26
32
  };
27
33
  };
28
34
 
29
- declare interface DataViewToolbarProps {
35
+ export declare interface DataViewToolbarProps {
30
36
  /**
31
37
  * When DataView has `variant="table"` and Table has `is-selectable` enabled, it provides a way to flag
32
38
  * a checkbox whenever all rows are selected, just like the standalone version on TableHeaderRow.
@@ -52,9 +58,21 @@ declare interface DataViewToolbarProps {
52
58
  hasTabsAbove?: boolean;
53
59
  }
54
60
 
55
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<DataViewToolbarProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
56
- select: () => any;
57
- }, string, PublicProps, Readonly<DataViewToolbarProps> & Readonly<{
61
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DataViewToolbarProps>, {
62
+ allRowsSelected: boolean;
63
+ hidePageStats: boolean;
64
+ radius: undefined;
65
+ someRowsSelected: boolean;
66
+ hasTabsAbove: boolean;
67
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
68
+ select: () => void;
69
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<DataViewToolbarProps>, {
70
+ allRowsSelected: boolean;
71
+ hidePageStats: boolean;
72
+ radius: undefined;
73
+ someRowsSelected: boolean;
74
+ hasTabsAbove: boolean;
75
+ }>>> & Readonly<{
58
76
  onSelect?: (() => any) | undefined;
59
77
  }>, {
60
78
  radius: "none" | "rounded" | "rounded-top" | "rounded-top-right";
@@ -62,91 +80,7 @@ allRowsSelected: boolean;
62
80
  hidePageStats: boolean;
63
81
  someRowsSelected: boolean;
64
82
  hasTabsAbove: boolean;
65
- }, {}, {}, {}, string, ComponentProvideOptions, false, {
66
- toolbarEl: HTMLDivElement;
67
- checkboxEl: ({
68
- $: ComponentInternalInstance;
69
- $data: {};
70
- $props: {
71
- readonly checked: boolean | (string | number)[];
72
- readonly hasError?: boolean | undefined;
73
- readonly id?: string | undefined;
74
- readonly label?: string | undefined;
75
- readonly errorText?: string | undefined;
76
- readonly hintText?: string | undefined;
77
- readonly modelValue?: boolean | (string | number)[] | undefined;
78
- readonly value?: string | number | undefined;
79
- readonly disabled?: boolean | undefined;
80
- readonly "onUpdate:checked"?: ((value: boolean | (string | number)[]) => any) | undefined;
81
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
82
- $attrs: {
83
- [x: string]: unknown;
84
- };
85
- $refs: {
86
- [x: string]: unknown;
87
- };
88
- $slots: Readonly<{
89
- [name: string]: Slot<any> | undefined;
90
- }>;
91
- $root: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
92
- $parent: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null;
93
- $host: Element | null;
94
- $emit: (event: "update:checked", value: boolean | (string | number)[]) => void;
95
- $el: any;
96
- $options: ComponentOptionsBase<Readonly<CheckboxProps> & Readonly<{
97
- "onUpdate:checked"?: ((value: boolean | (string | number)[]) => any) | undefined;
98
- }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
99
- "update:checked": (value: boolean | (string | number)[]) => any;
100
- }, string, {
101
- id: string;
102
- label: string;
103
- value: string | number;
104
- disabled: boolean;
105
- hasError: boolean;
106
- errorText: string;
107
- hintText: string;
108
- modelValue: boolean | (string | number)[];
109
- checked: boolean | (string | number)[];
110
- }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
111
- beforeCreate?: ((() => void) | (() => void)[]) | undefined;
112
- created?: ((() => void) | (() => void)[]) | undefined;
113
- beforeMount?: ((() => void) | (() => void)[]) | undefined;
114
- mounted?: ((() => void) | (() => void)[]) | undefined;
115
- beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
116
- updated?: ((() => void) | (() => void)[]) | undefined;
117
- activated?: ((() => void) | (() => void)[]) | undefined;
118
- deactivated?: ((() => void) | (() => void)[]) | undefined;
119
- beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
120
- beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
121
- destroyed?: ((() => void) | (() => void)[]) | undefined;
122
- unmounted?: ((() => void) | (() => void)[]) | undefined;
123
- renderTracked?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
124
- renderTriggered?: (((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[]) | undefined;
125
- errorCaptured?: (((err: unknown, instance: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance< {}, {}, {}, {}, {}, {}, {}, {}, false, ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, {}, {}, "", {}, any> | null, info: string) => boolean | void)[]) | undefined;
126
- };
127
- $forceUpdate: () => void;
128
- $nextTick: nextTick;
129
- $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R, args_2: OnCleanup) => any : (args_0: any, args_1: any, args_2: OnCleanup) => any, options?: WatchOptions<boolean> | undefined): WatchStopHandle;
130
- } & Readonly<{
131
- id: string;
132
- label: string;
133
- value: string | number;
134
- disabled: boolean;
135
- hasError: boolean;
136
- errorText: string;
137
- hintText: string;
138
- modelValue: boolean | (string | number)[];
139
- checked: boolean | (string | number)[];
140
- }> & Omit<Readonly<CheckboxProps> & Readonly<{
141
- "onUpdate:checked"?: ((value: boolean | (string | number)[]) => any) | undefined;
142
- }>, "id" | "label" | "value" | "disabled" | "hasError" | "errorText" | "hintText" | "modelValue" | "checked"> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
143
- $slots: {
144
- default?(_: {}): any;
145
- hint?(_: {}): any;
146
- };
147
- }) | null;
148
- paginationEl: HTMLDivElement;
149
- }, HTMLDivElement>, {
83
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, {
150
84
  default?(_: {}): any;
151
85
  }>;
152
86
  export default _default;