@leaflink/stash 51.11.0 → 51.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/README.md +41 -12
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/Accordion.vue.d.ts +37 -6
  4. package/dist/ActionsDropdown.js +2 -2
  5. package/dist/ActionsDropdown.js.map +1 -1
  6. package/dist/ActionsDropdown.vue.d.ts +74 -0
  7. package/dist/AddressSelect.js +60 -56
  8. package/dist/AddressSelect.js.map +1 -1
  9. package/dist/AddressSelect.vue.d.ts +65 -8
  10. package/dist/Alert.js.map +1 -1
  11. package/dist/Alert.vue.d.ts +41 -4
  12. package/dist/AppNavigationItem.js.map +1 -1
  13. package/dist/AppNavigationItem.vue.d.ts +31 -4
  14. package/dist/AppSidebar.js.map +1 -1
  15. package/dist/AppSidebar.vue.d.ts +35 -8
  16. package/dist/AppTopbar.js +1 -1
  17. package/dist/AppTopbar.js.map +1 -1
  18. package/dist/AppTopbar.vue.d.ts +33 -4
  19. package/dist/Avatar.js.map +1 -1
  20. package/dist/Avatar.vue.d.ts +44 -5
  21. package/dist/Backdrop.js.map +1 -1
  22. package/dist/Backdrop.vue.d.ts +1 -1
  23. package/dist/Badge.js.map +1 -1
  24. package/dist/Badge.vue.d.ts +55 -6
  25. package/dist/Box.vue.d.ts +36 -3
  26. package/dist/Box.vue_vue_type_script_setup_true_lang-rFnvwLVY.js.map +1 -1
  27. package/dist/Button.js.map +1 -1
  28. package/dist/Button.vue.d.ts +50 -5
  29. package/dist/ButtonGroup.js +37 -33
  30. package/dist/ButtonGroup.js.map +1 -1
  31. package/dist/ButtonGroup.vue.d.ts +39 -6
  32. package/dist/Card.js.map +1 -1
  33. package/dist/Card.vue.d.ts +32 -5
  34. package/dist/CardContent.js.map +1 -1
  35. package/dist/CardContent.vue.d.ts +1 -1
  36. package/dist/CardFooter.js.map +1 -1
  37. package/dist/CardFooter.vue.d.ts +1 -1
  38. package/dist/CardHeader.js.map +1 -1
  39. package/dist/CardHeader.vue.d.ts +15 -2
  40. package/dist/CardMedia.js.map +1 -1
  41. package/dist/CardMedia.vue.d.ts +15 -2
  42. package/dist/Carousel.js +72 -66
  43. package/dist/Carousel.js.map +1 -1
  44. package/dist/Carousel.vue.d.ts +10 -10
  45. package/dist/Checkbox.js.map +1 -1
  46. package/dist/Checkbox.vue.d.ts +53 -8
  47. package/dist/ChevronToggle.vue.d.ts +34 -7
  48. package/dist/ChevronToggle.vue_vue_type_script_setup_true_lang-Ce_qOXfR.js.map +1 -1
  49. package/dist/Chip.js.map +1 -1
  50. package/dist/Chip.vue.d.ts +52 -10
  51. package/dist/ConfirmationCodeInput.js +44 -40
  52. package/dist/ConfirmationCodeInput.js.map +1 -1
  53. package/dist/ConfirmationCodeInput.vue.d.ts +43 -8
  54. package/dist/ContextSwitcher.js.map +1 -1
  55. package/dist/ContextSwitcher.vue.d.ts +41 -6
  56. package/dist/Copy.js.map +1 -1
  57. package/dist/Copy.vue.d.ts +34 -3
  58. package/dist/CurrencyInput.js +21 -20
  59. package/dist/CurrencyInput.js.map +1 -1
  60. package/dist/CurrencyInput.vue.d.ts +46 -125
  61. package/dist/DataView.js +96 -94
  62. package/dist/DataView.js.map +1 -1
  63. package/dist/DataView.vue.d.ts +57 -12
  64. package/dist/DataViewFilters.js +139 -127
  65. package/dist/DataViewFilters.js.map +1 -1
  66. package/dist/DataViewFilters.vue.d.ts +54 -9
  67. package/dist/DataViewSortButton.js +2 -2
  68. package/dist/DataViewSortButton.js.map +1 -1
  69. package/dist/DataViewSortButton.vue.d.ts +30 -3
  70. package/dist/DataViewToolbar.js +81 -148
  71. package/dist/DataViewToolbar.js.map +1 -1
  72. package/dist/DataViewToolbar.vue.d.ts +40 -106
  73. package/dist/DatePicker.js +4640 -4528
  74. package/dist/DatePicker.js.map +1 -1
  75. package/dist/DatePicker.vue.d.ts +79 -30
  76. package/dist/DescriptionList.js.map +1 -1
  77. package/dist/DescriptionList.vue.d.ts +32 -3
  78. package/dist/DescriptionListDetail.js.map +1 -1
  79. package/dist/DescriptionListDetail.vue.d.ts +1 -1
  80. package/dist/DescriptionListGroup.js.map +1 -1
  81. package/dist/DescriptionListGroup.vue.d.ts +1 -1
  82. package/dist/DescriptionListTerm.js.map +1 -1
  83. package/dist/DescriptionListTerm.vue.d.ts +1 -1
  84. package/dist/Dialog.js.map +1 -1
  85. package/dist/Dialog.vue.d.ts +53 -10
  86. package/dist/Divider.js.map +1 -1
  87. package/dist/Dropdown.js +95 -89
  88. package/dist/Dropdown.js.map +1 -1
  89. package/dist/Dropdown.vue.d.ts +48 -12
  90. package/dist/EmptyState.js +1 -1
  91. package/dist/EmptyState.js.map +1 -1
  92. package/dist/EmptyState.vue.d.ts +62 -5
  93. package/dist/Expand.vue.d.ts +40 -10
  94. package/dist/Expand.vue_vue_type_script_setup_true_lang-CiONJfAp.js.map +1 -1
  95. package/dist/Field.vue.d.ts +53 -4
  96. package/dist/Field.vue_vue_type_script_setup_true_lang-DI6z3AE9.js.map +1 -1
  97. package/dist/FileUpload.js +74 -72
  98. package/dist/FileUpload.js.map +1 -1
  99. package/dist/FileUpload.vue.d.ts +44 -10
  100. package/dist/FilterChip.js.map +1 -1
  101. package/dist/FilterChip.vue.d.ts +41 -6
  102. package/dist/FilterDrawerItem.js +21 -21
  103. package/dist/FilterDrawerItem.js.map +1 -1
  104. package/dist/FilterDrawerItem.vue.d.ts +23 -6
  105. package/dist/FilterDropdown.js +69 -63
  106. package/dist/FilterDropdown.js.map +1 -1
  107. package/dist/FilterDropdown.vue.d.ts +35 -122
  108. package/dist/FilterSelect.js.map +1 -1
  109. package/dist/FilterSelect.vue.d.ts +31 -4
  110. package/dist/Filters.js +164 -157
  111. package/dist/Filters.js.map +1 -1
  112. package/dist/Filters.vue.d.ts +2190 -0
  113. package/dist/HttpError.js +7 -7
  114. package/dist/HttpError.js.map +1 -1
  115. package/dist/HttpError.vue.d.ts +41 -4
  116. package/dist/Icon.js +17 -17
  117. package/dist/Icon.js.map +1 -1
  118. package/dist/Icon.vue.d.ts +36 -3
  119. package/dist/IconLabel.js.map +1 -1
  120. package/dist/IconLabel.vue.d.ts +40 -5
  121. package/dist/Illustration.js +2 -2
  122. package/dist/Illustration.vue.d.ts +42 -3
  123. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-BVzzNsRt.js → Illustration.vue_vue_type_script_setup_true_lang-BrqEF8xe.js} +11 -11
  124. 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
  125. package/dist/Image.js +2 -2
  126. package/dist/Image.vue.d.ts +40 -5
  127. package/dist/{Image.vue_vue_type_script_setup_true_lang-Dg2Zk2r2.js → Image.vue_vue_type_script_setup_true_lang-D5u4av0_.js} +41 -37
  128. 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
  129. package/dist/InlineEdit.js.map +1 -1
  130. package/dist/InlineEdit.vue.d.ts +47 -126
  131. package/dist/Input.js.map +1 -1
  132. package/dist/Input.vue.d.ts +45 -12
  133. package/dist/InputOptions.js +69 -66
  134. package/dist/InputOptions.js.map +1 -1
  135. package/dist/InputOptions.vue.d.ts +55 -10
  136. package/dist/IntegrationIcon.js +7 -7
  137. package/dist/IntegrationIcon.js.map +1 -1
  138. package/dist/IntegrationIcon.vue.d.ts +36 -3
  139. package/dist/Label.vue.d.ts +42 -3
  140. package/dist/Label.vue_vue_type_script_setup_true_lang-CNquF3AP.js.map +1 -1
  141. package/dist/LicenseChip.js.map +1 -1
  142. package/dist/LicenseChip.vue.d.ts +30 -3
  143. package/dist/ListItem.js.map +1 -1
  144. package/dist/ListItem.vue.d.ts +294 -0
  145. package/dist/ListItemCell.js.map +1 -1
  146. package/dist/ListItemCell.vue.d.ts +21 -0
  147. package/dist/ListView.js +7 -4
  148. package/dist/ListView.js.map +1 -1
  149. package/dist/ListView.types.d.ts +29 -0
  150. package/dist/ListView.vue.d.ts +5496 -0
  151. package/dist/Loading.js +2 -2
  152. package/dist/Loading.js.map +1 -1
  153. package/dist/Loading.vue.d.ts +1 -1
  154. package/dist/Logo.js +1 -1
  155. package/dist/Logo.vue.d.ts +41 -6
  156. package/dist/{Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js → Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js} +17 -17
  157. package/dist/Logo.vue_vue_type_script_setup_true_lang-Dz8c98sc.js.map +1 -0
  158. package/dist/Menu.js.map +1 -1
  159. package/dist/Menu.vue.d.ts +1 -1
  160. package/dist/MenuItem.js.map +1 -1
  161. package/dist/MenuItem.vue.d.ts +1 -1
  162. package/dist/MenusPlugin-Bk6UW6o9.js +12 -0
  163. package/dist/{MenusPlugin-B4jpNe7x.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
  164. package/dist/Metric.js.map +1 -1
  165. package/dist/Metric.vue.d.ts +34 -3
  166. package/dist/Modal.js +64 -62
  167. package/dist/Modal.js.map +1 -1
  168. package/dist/Modal.vue.d.ts +60 -13
  169. package/dist/Modals.js +18 -17
  170. package/dist/Modals.js.map +1 -1
  171. package/dist/ModalsPlugin.js +11 -11
  172. package/dist/ModalsPlugin.js.map +1 -1
  173. package/dist/Module.js.map +1 -1
  174. package/dist/Module.vue.d.ts +29 -2
  175. package/dist/ModuleContent.js.map +1 -1
  176. package/dist/ModuleContent.vue.d.ts +3 -3
  177. package/dist/ModuleFooter.js.map +1 -1
  178. package/dist/ModuleFooter.vue.d.ts +1 -1
  179. package/dist/ModuleHeader.js.map +1 -1
  180. package/dist/ModuleHeader.vue.d.ts +39 -5
  181. package/dist/MoreActions.js +125 -123
  182. package/dist/MoreActions.js.map +1 -1
  183. package/dist/MoreActions.vue.d.ts +46 -123
  184. package/dist/ObfuscateText.js.map +1 -1
  185. package/dist/ObfuscateText.vue.d.ts +40 -3
  186. package/dist/PageContent.js.map +1 -1
  187. package/dist/PageContent.vue.d.ts +30 -3
  188. package/dist/PageHeader.js.map +1 -1
  189. package/dist/PageHeader.vue.d.ts +35 -6
  190. package/dist/PageNavigation.js +50 -50
  191. package/dist/PageNavigation.js.map +1 -1
  192. package/dist/PageNavigation.vue.d.ts +36 -7
  193. package/dist/Paginate.js.map +1 -1
  194. package/dist/Paginate.vue.d.ts +40 -5
  195. package/dist/PlaidLink.js.map +1 -1
  196. package/dist/PlaidLink.vue.d.ts +49 -12
  197. package/dist/QuickAction.js.map +1 -1
  198. package/dist/QuickAction.vue.d.ts +15 -2
  199. package/dist/Radio.js.map +1 -1
  200. package/dist/Radio.vue.d.ts +93 -0
  201. package/dist/RadioGroup.js +101 -94
  202. package/dist/RadioGroup.js.map +1 -1
  203. package/dist/RadioGroup.vue.d.ts +42 -116
  204. package/dist/RadioNew.js +99 -96
  205. package/dist/RadioNew.js.map +1 -1
  206. package/dist/RadioNew.vue.d.ts +48 -7
  207. package/dist/RangeInput.js.map +1 -1
  208. package/dist/RangeInput.vue.d.ts +1 -1
  209. package/dist/SearchBar.js +39 -38
  210. package/dist/SearchBar.js.map +1 -1
  211. package/dist/SearchBar.vue.d.ts +44 -127
  212. package/dist/SectionHeader.js.map +1 -1
  213. package/dist/SectionHeader.vue.d.ts +36 -5
  214. package/dist/Select.js +183 -171
  215. package/dist/Select.js.map +1 -1
  216. package/dist/Select.vue.d.ts +102 -23
  217. package/dist/SelectStatus.js +38 -38
  218. package/dist/SelectStatus.js.map +1 -1
  219. package/dist/SelectStatus.vue.d.ts +46 -226
  220. package/dist/Skeleton.js.map +1 -1
  221. package/dist/Skeleton.vue.d.ts +34 -3
  222. package/dist/Step.js +44 -44
  223. package/dist/Step.js.map +1 -1
  224. package/dist/Step.vue.d.ts +43 -4
  225. package/dist/Stepper.js.map +1 -1
  226. package/dist/Stepper.vue.d.ts +44 -9
  227. package/dist/Switch.js.map +1 -1
  228. package/dist/Switch.vue.d.ts +47 -8
  229. package/dist/Tab.js +9 -9
  230. package/dist/Tab.js.map +1 -1
  231. package/dist/Tab.vue.d.ts +15 -2
  232. package/dist/TabPanel.js.map +1 -1
  233. package/dist/TabPanel.vue.d.ts +30 -3
  234. package/dist/Table.js +59 -53
  235. package/dist/Table.js.map +1 -1
  236. package/dist/Table.vue.d.ts +50 -3
  237. package/dist/TableCell.js +1 -1
  238. package/dist/TableCell.js.map +1 -1
  239. package/dist/TableCell.vue.d.ts +32 -3
  240. package/dist/TableHeaderCell.js +1 -1
  241. package/dist/TableHeaderCell.js.map +1 -1
  242. package/dist/TableHeaderCell.vue.d.ts +30 -3
  243. package/dist/TableHeaderRow.js +1 -1
  244. package/dist/TableHeaderRow.js.map +1 -1
  245. package/dist/TableHeaderRow.vue.d.ts +34 -5
  246. package/dist/TableRow.js +44 -43
  247. package/dist/TableRow.js.map +1 -1
  248. package/dist/TableRow.vue.d.ts +48 -7
  249. package/dist/Tabs.js +2 -2
  250. package/dist/Tabs.vue.d.ts +31 -4
  251. package/dist/Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js +159 -0
  252. package/dist/Tabs.vue_vue_type_script_setup_true_lang-CmnBP4i1.js.map +1 -0
  253. package/dist/TextEditor.js +2422 -2416
  254. package/dist/TextEditor.js.map +1 -1
  255. package/dist/TextEditor.vue.d.ts +39 -8
  256. package/dist/Textarea.js +32 -29
  257. package/dist/Textarea.js.map +1 -1
  258. package/dist/Textarea.vue.d.ts +44 -9
  259. package/dist/Thumbnail.js +1 -1
  260. package/dist/Thumbnail.js.map +1 -1
  261. package/dist/Thumbnail.vue.d.ts +4 -4
  262. package/dist/ThumbnailEmpty.js.map +1 -1
  263. package/dist/ThumbnailEmpty.vue.d.ts +1 -1
  264. package/dist/ThumbnailGroup.js.map +1 -1
  265. package/dist/ThumbnailGroup.vue.d.ts +22 -26
  266. package/dist/Timeline.js.map +1 -1
  267. package/dist/Timeline.vue.d.ts +32 -3
  268. package/dist/TimelineItem.js.map +1 -1
  269. package/dist/TimelineItem.vue.d.ts +1 -1
  270. package/dist/Toast.js.map +1 -1
  271. package/dist/Toast.vue.d.ts +30 -3
  272. package/dist/Toasts.js.map +1 -1
  273. package/dist/ToastsPlugin.js +11 -11
  274. package/dist/ToastsPlugin.js.map +1 -1
  275. package/dist/Tooltip.js +30 -29
  276. package/dist/Tooltip.js.map +1 -1
  277. package/dist/Tooltip.vue.d.ts +43 -11
  278. package/dist/components.css +1 -1
  279. package/dist/directives/observe.js +8 -8
  280. package/dist/directives/observe.js.map +1 -1
  281. package/dist/directives/tooltip.js +3 -3
  282. package/dist/directives/tooltip.js.map +1 -1
  283. package/dist/directives/viewable.js +44 -39
  284. package/dist/directives/viewable.js.map +1 -1
  285. package/dist/floating-ui.vue-DLFiymOf.js +1093 -0
  286. package/dist/floating-ui.vue-DLFiymOf.js.map +1 -0
  287. package/dist/formatDateTime-Dz8bXV0R.js +1418 -0
  288. package/dist/formatDateTime-Dz8bXV0R.js.map +1 -0
  289. package/dist/index-D6bxWkZ1.js.map +1 -1
  290. package/dist/{index-XZqpB2_R.js → index-DA_ft08e.js} +9 -9
  291. package/dist/index-DA_ft08e.js.map +1 -0
  292. package/dist/index.js +106 -101
  293. package/dist/index.js.map +1 -1
  294. package/dist/isValid-DN-HkCoi.js.map +1 -1
  295. package/dist/obfuscateText.d.ts +1 -1
  296. package/dist/parseISO-wlfIB_QJ.js.map +1 -1
  297. package/dist/searchFuzzy-B3TsUO-V.js +409 -0
  298. package/dist/searchFuzzy-B3TsUO-V.js.map +1 -0
  299. package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
  300. package/dist/useDialog.d.ts +2 -2
  301. package/dist/useDialog.js +25 -21
  302. package/dist/useDialog.js.map +1 -1
  303. package/dist/useGoogleMaps.js +110 -108
  304. package/dist/useGoogleMaps.js.map +1 -1
  305. package/dist/useMediaQuery.d.ts +6 -0
  306. package/dist/useMediaQuery.js +15 -11
  307. package/dist/useMediaQuery.js.map +1 -1
  308. package/dist/useModals.d.ts +1 -1
  309. package/dist/usePlaidLink.js +27 -20
  310. package/dist/usePlaidLink.js.map +1 -1
  311. package/dist/useSearch.js +13 -13
  312. package/dist/useSearch.js.map +1 -1
  313. package/dist/useSelection.js +56 -56
  314. package/dist/useSelection.js.map +1 -1
  315. package/dist/useSortable.js +63 -54
  316. package/dist/useSortable.js.map +1 -1
  317. package/dist/useStepper.d.ts +2 -2
  318. package/dist/useStepper.js +40 -36
  319. package/dist/useStepper.js.map +1 -1
  320. package/dist/useToasts.js +23 -23
  321. package/dist/useToasts.js.map +1 -1
  322. package/dist/useValidation.js +100 -96
  323. package/dist/useValidation.js.map +1 -1
  324. package/dist/utils/calculateElementOverflow.js +4 -4
  325. package/dist/utils/calculateElementOverflow.js.map +1 -1
  326. package/dist/utils/formatDateTime.js +1 -1
  327. package/dist/utils/obfuscateText.js +6 -6
  328. package/dist/utils/obfuscateText.js.map +1 -1
  329. package/dist/utils/searchFuzzy.js +1 -1
  330. package/dist/utils/storage.js +23 -23
  331. package/dist/utils/storage.js.map +1 -1
  332. package/package.json +32 -19
  333. package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +0 -1
  334. package/dist/MenusPlugin-B4jpNe7x.js +0 -12
  335. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js +0 -78
  336. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +0 -1
  337. package/dist/floating-ui.vue-CL01Y9ER.js +0 -1075
  338. package/dist/floating-ui.vue-CL01Y9ER.js.map +0 -1
  339. package/dist/formatDateTime-DG7kBc2T.js +0 -1414
  340. package/dist/formatDateTime-DG7kBc2T.js.map +0 -1
  341. package/dist/index-XZqpB2_R.js.map +0 -1
  342. package/dist/searchFuzzy-DBDE6jkd.js +0 -408
  343. package/dist/searchFuzzy-DBDE6jkd.js.map +0 -1
@@ -1,12 +1,39 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
  import { RenderFunction } from 'vue';
6
8
 
7
- declare const _default: DefineComponent<ToastProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ToastProps> & Readonly<{}>, {
9
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
+
11
+ declare type __VLS_Prettify<T> = {
12
+ [K in keyof T]: T[K];
13
+ } & {};
14
+
15
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
17
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
18
+ } : {
19
+ type: PropType<T[K]>;
20
+ required: true;
21
+ };
22
+ };
23
+
24
+ declare type __VLS_WithDefaults<P, D> = {
25
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
26
+ default: D[K];
27
+ }> : P[K];
28
+ };
29
+
30
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ToastProps>, {
31
+ status: string;
32
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ToastProps>, {
33
+ status: string;
34
+ }>>> & Readonly<{}>, {
8
35
  status: "error" | "warning" | "info" | "success";
9
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLIElement>;
36
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
10
37
  export default _default;
11
38
 
12
39
  declare enum StatusSeverities {
@@ -18,7 +45,7 @@ declare enum StatusSeverities {
18
45
 
19
46
  declare type StatusSeverity = `${StatusSeverities}`;
20
47
 
21
- declare interface ToastProps {
48
+ export declare interface ToastProps {
22
49
  /**
23
50
  * The toast text.
24
51
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Toasts.js","sources":["../src/components/Toasts/Toasts.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useCssModule } from 'vue';\n\n import useToasts from '../../composables/useToasts/useToasts';\n import Toast from '../Toast/Toast.vue';\n\n const toasts = useToasts();\n const classes = useCssModule();\n</script>\n\n<template>\n <TransitionGroup\n aria-atomic=\"true\"\n aria-live=\"polite\"\n name=\"toasts\"\n tag=\"ul\"\n :class=\"classes.root\"\n class=\"stash-toasts\"\n data-test=\"stash-toasts\"\n >\n <Toast\n v-for=\"toast in toasts.active\"\n :key=\"toast.id\"\n :text=\"toast.text\"\n :status=\"toast.status\"\n :offset-top=\"toast.offsetTop\"\n @click=\"toasts.remove(toast.id)\"\n />\n </TransitionGroup>\n</template>\n\n<style module>\n .root {\n display: flex;\n flex-direction: column;\n position: fixed;\n min-width: 300px;\n max-width: calc(320px - theme('spacing.3'));\n right: theme('spacing.6');\n top: 0;\n z-index: 1002;\n row-gap: theme('spacing[1.5]');\n }\n</style>\n\n<style>\n .toasts-enter-active,\n .toasts-leave-active {\n transition: all 0.5s ease;\n }\n\n .toasts-enter-from,\n .toasts-leave-to {\n opacity: 0;\n transform: translateX(30px);\n }\n</style>\n"],"names":["toasts","useToasts","classes","useCssModule","_createBlock","_TransitionGroup","_normalizeClass","_unref","_openBlock","_createElementBlock","_Fragment","_renderList","toast","Toast"],"mappings":";;;;;;;AAME,UAAMA,IAASC,EAAA,GACTC,IAAUC,EAAA;2BAIhBC,EAiBkBC,GAAA;AAAA,MAhBhB,eAAY;AAAA,MACZ,aAAU;AAAA,MACV,MAAK;AAAA,MACL,KAAI;AAAA,MACH,OAAKC,EAAA,CAAEC,EAAAL,CAAA,EAAQ,MACV,cAAc,CAAA;AAAA,MACpB,aAAU;AAAA,IAAA;iBAGR,MAA8B;AAAA,SADhCM,EAAA,EAAA,GAAAC,EAOEC,GAAA,MAAAC,EANgBJ,EAAAP,CAAA,EAAO,SAAhBY,YADTR,EAOES,GAAA;AAAA,UALC,KAAKD,EAAM;AAAA,UACX,MAAMA,EAAM;AAAA,UACZ,QAAQA,EAAM;AAAA,UACd,cAAYA,EAAM;AAAA,UAClB,gBAAOL,EAAAP,CAAA,EAAO,OAAOY,EAAM,EAAE;AAAA,QAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"Toasts.js","sources":["../src/components/Toasts/Toasts.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { useCssModule } from 'vue';\n\n import useToasts from '../../composables/useToasts/useToasts';\n import Toast from '../Toast/Toast.vue';\n\n const toasts = useToasts();\n const classes = useCssModule();\n</script>\n\n<template>\n <TransitionGroup\n aria-atomic=\"true\"\n aria-live=\"polite\"\n name=\"toasts\"\n tag=\"ul\"\n :class=\"classes.root\"\n class=\"stash-toasts\"\n data-test=\"stash-toasts\"\n >\n <Toast\n v-for=\"toast in toasts.active\"\n :key=\"toast.id\"\n :text=\"toast.text\"\n :status=\"toast.status\"\n :offset-top=\"toast.offsetTop\"\n @click=\"toasts.remove(toast.id)\"\n />\n </TransitionGroup>\n</template>\n\n<style module>\n .root {\n display: flex;\n flex-direction: column;\n position: fixed;\n min-width: 300px;\n max-width: calc(320px - theme('spacing.3'));\n right: theme('spacing.6');\n top: 0;\n z-index: 1002;\n row-gap: theme('spacing[1.5]');\n }\n</style>\n\n<style>\n .toasts-enter-active,\n .toasts-leave-active {\n transition: all 0.5s ease;\n }\n\n .toasts-enter-from,\n .toasts-leave-to {\n opacity: 0;\n transform: translateX(30px);\n }\n</style>\n"],"names":["toasts","useToasts","classes","useCssModule"],"mappings":";;;;;;;AAME,UAAMA,IAASC,EAAA,GACTC,IAAUC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,16 +1,16 @@
1
- import { createVNode as a, h as m, render as c } from "vue";
2
- import l from "./Toasts.js";
3
- const d = "stash-toasts-mount-node", i = {
4
- install(n, e) {
5
- const o = e?.mountNodeId || d;
6
- let t = document.getElementById(o);
7
- t || (t = document.createElement("div"), t.id = o, t.dataset.test = d, document.body.appendChild(t)), e?.mountNodeClass && !t.classList.contains(e.mountNodeClass) && t.classList.add(e.mountNodeClass);
8
- const s = a(m(l));
9
- s.appContext = n._context, c(s, t);
1
+ import { createVNode as n, h as c, render as l } from "vue";
2
+ import o from "./Toasts.js";
3
+ const s = "stash-toasts-mount-node", r = {
4
+ install(m, e) {
5
+ const d = (e == null ? void 0 : e.mountNodeId) || s;
6
+ let t = document.getElementById(d);
7
+ t || (t = document.createElement("div"), t.id = d, t.dataset.test = s, document.body.appendChild(t)), e != null && e.mountNodeClass && !t.classList.contains(e.mountNodeClass) && t.classList.add(e.mountNodeClass);
8
+ const a = n(c(o));
9
+ a.appContext = m._context, l(a, t);
10
10
  }
11
11
  };
12
12
  export {
13
- d as DEFAULT_TOASTS_PLUGIN_NODE_ID,
14
- i as default
13
+ s as DEFAULT_TOASTS_PLUGIN_NODE_ID,
14
+ r as default
15
15
  };
16
16
  //# sourceMappingURL=ToastsPlugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToastsPlugin.js","sources":["../src/plugins/ToastsPlugin.ts"],"sourcesContent":["import { App, createVNode, h, Plugin, render } from 'vue';\n\nimport Toasts from '../components/Toasts/Toasts.vue';\n\nexport interface ToastsPluginOptions {\n mountNodeClass?: string;\n mountNodeId?: string;\n}\n\nexport const DEFAULT_TOASTS_PLUGIN_NODE_ID = 'stash-toasts-mount-node';\n\nexport default <Plugin>{\n install(app: App, options?: ToastsPluginOptions) {\n const mountNodeId = options?.mountNodeId || DEFAULT_TOASTS_PLUGIN_NODE_ID;\n let mountNode = document.getElementById(mountNodeId);\n\n if (!mountNode) {\n mountNode = document.createElement('div');\n mountNode.id = mountNodeId;\n mountNode.dataset.test = DEFAULT_TOASTS_PLUGIN_NODE_ID;\n document.body.appendChild(mountNode);\n }\n\n if (options?.mountNodeClass && !mountNode.classList.contains(options.mountNodeClass)) {\n mountNode.classList.add(options.mountNodeClass);\n }\n\n const vNode = createVNode(h(Toasts));\n vNode.appContext = app._context;\n\n render(vNode, mountNode);\n },\n};\n"],"names":["DEFAULT_TOASTS_PLUGIN_NODE_ID","ToastsPlugin","app","options","mountNodeId","mountNode","vNode","createVNode","h","Toasts","render"],"mappings":";;AASO,MAAMA,IAAgC,2BAE7CC,IAAuB;AAAA,EACrB,QAAQC,GAAUC,GAA+B;AAC/C,UAAMC,IAAcD,GAAS,eAAeH;AAC5C,QAAIK,IAAY,SAAS,eAAeD,CAAW;AAEnD,IAAKC,MACHA,IAAY,SAAS,cAAc,KAAK,GACxCA,EAAU,KAAKD,GACfC,EAAU,QAAQ,OAAOL,GACzB,SAAS,KAAK,YAAYK,CAAS,IAGjCF,GAAS,kBAAkB,CAACE,EAAU,UAAU,SAASF,EAAQ,cAAc,KACjFE,EAAU,UAAU,IAAIF,EAAQ,cAAc;AAGhD,UAAMG,IAAQC,EAAYC,EAAEC,CAAM,CAAC;AACnC,IAAAH,EAAM,aAAaJ,EAAI,UAEvBQ,EAAOJ,GAAOD,CAAS;AAAA,EACzB;AACF;"}
1
+ {"version":3,"file":"ToastsPlugin.js","sources":["../src/plugins/ToastsPlugin.ts"],"sourcesContent":["import { App, createVNode, h, Plugin, render } from 'vue';\n\nimport Toasts from '../components/Toasts/Toasts.vue';\n\nexport interface ToastsPluginOptions {\n mountNodeClass?: string;\n mountNodeId?: string;\n}\n\nexport const DEFAULT_TOASTS_PLUGIN_NODE_ID = 'stash-toasts-mount-node';\n\nexport default <Plugin>{\n install(app: App, options?: ToastsPluginOptions) {\n const mountNodeId = options?.mountNodeId || DEFAULT_TOASTS_PLUGIN_NODE_ID;\n let mountNode = document.getElementById(mountNodeId);\n\n if (!mountNode) {\n mountNode = document.createElement('div');\n mountNode.id = mountNodeId;\n mountNode.dataset.test = DEFAULT_TOASTS_PLUGIN_NODE_ID;\n document.body.appendChild(mountNode);\n }\n\n if (options?.mountNodeClass && !mountNode.classList.contains(options.mountNodeClass)) {\n mountNode.classList.add(options.mountNodeClass);\n }\n\n const vNode = createVNode(h(Toasts));\n vNode.appContext = app._context;\n\n render(vNode, mountNode);\n },\n};\n"],"names":["DEFAULT_TOASTS_PLUGIN_NODE_ID","ToastsPlugin","app","options","mountNodeId","mountNode","vNode","createVNode","h","Toasts","render"],"mappings":";;AASO,MAAMA,IAAgC,2BAE7CC,IAAuB;AAAA,EACrB,QAAQC,GAAUC,GAA+B;AAC/C,UAAMC,KAAcD,KAAA,gBAAAA,EAAS,gBAAeH;AAC5C,QAAIK,IAAY,SAAS,eAAeD,CAAW;AAEnD,IAAKC,MACHA,IAAY,SAAS,cAAc,KAAK,GACxCA,EAAU,KAAKD,GACfC,EAAU,QAAQ,OAAOL,GACzB,SAAS,KAAK,YAAYK,CAAS,IAGjCF,KAAA,QAAAA,EAAS,kBAAkB,CAACE,EAAU,UAAU,SAASF,EAAQ,cAAc,KACjFE,EAAU,UAAU,IAAIF,EAAQ,cAAc;AAGhD,UAAMG,IAAQC,EAAYC,EAAEC,CAAM,CAAC;AACnC,IAAAH,EAAM,aAAaJ,EAAI,UAEvBQ,EAAOJ,GAAOD,CAAS;AAAA,EACzB;AACF;"}
package/dist/Tooltip.js CHANGED
@@ -1,10 +1,10 @@
1
- import { defineComponent as b, ref as s, computed as n, createElementBlock as v, openBlock as c, createElementVNode as r, createBlock as g, renderSlot as l, Teleport as S, normalizeStyle as w, unref as T, createTextVNode as E, toDisplayString as $ } from "vue";
2
- import { u as k, a as B, f as D, o as O, b as z } from "./floating-ui.vue-CL01Y9ER.js";
3
- import { a as A } from "./index-XZqpB2_R.js";
4
- const F = {
1
+ import { defineComponent as g, ref as n, computed as r, createElementBlock as S, openBlock as d, createElementVNode as i, createBlock as T, renderSlot as l, Teleport as E, normalizeStyle as f, unref as $, createTextVNode as k, toDisplayString as B } from "vue";
2
+ import { u as D, a as O, f as z, o as A, b as F } from "./floating-ui.vue-DLFiymOf.js";
3
+ import { a as I } from "./index-DA_ft08e.js";
4
+ const P = {
5
5
  ref: "wrapper",
6
6
  class: "stash-tooltip__wrapper tw-relative tw-inline-flex tw-size-fit"
7
- }, I = 6, P = 12, V = /* @__PURE__ */ b({
7
+ }, M = 6, N = 12, X = /* @__PURE__ */ g({
8
8
  __name: "Tooltip",
9
9
  props: {
10
10
  disableTeleport: { type: Boolean, default: !1 },
@@ -14,26 +14,27 @@ const F = {
14
14
  teleportTo: { default: "#stash-menus-mount-node" },
15
15
  text: { default: "" }
16
16
  },
17
- setup(d) {
18
- const f = {
17
+ setup(u) {
18
+ const m = {
19
19
  top: "bottom",
20
20
  right: "left",
21
21
  bottom: "top",
22
22
  left: "right"
23
- }, t = d, a = s(null), i = s(null), p = s(null), { isOutside: u } = A(a), m = n(() => !t.isDisabled && (!u.value || t.isOpen)), h = n(() => t.side), { floatingStyles: y, middlewareData: o, placement: _ } = k(a, p, {
24
- whileElementsMounted: B,
25
- placement: h,
26
- middleware: [D(), O(P), z({ element: i })]
27
- }), x = n(() => {
28
- const e = f[_.value];
23
+ }, t = u, a = n(null), p = n(null), c = n(null), { isOutside: h } = I(a), y = r(() => !t.isDisabled && (!h.value || t.isOpen)), _ = r(() => t.side), { floatingStyles: x, middlewareData: o, placement: b } = D(a, c, {
24
+ whileElementsMounted: O,
25
+ placement: _,
26
+ middleware: [z(), A(N), F({ element: p })]
27
+ }), v = r(() => {
28
+ var s, w;
29
+ const e = m[b.value];
29
30
  return {
30
- left: o.value.arrow?.x != null ? `${o.value.arrow.x}px` : "",
31
- top: o.value.arrow?.y != null ? `${o.value.arrow.y}px` : "",
32
- [e]: `-${I}px`
31
+ left: ((s = o.value.arrow) == null ? void 0 : s.x) != null ? `${o.value.arrow.x}px` : "",
32
+ top: ((w = o.value.arrow) == null ? void 0 : w.y) != null ? `${o.value.arrow.y}px` : "",
33
+ [e]: `-${M}px`
33
34
  };
34
35
  });
35
- return (e, M) => (c(), v("div", F, [
36
- r("span", {
36
+ return (e, s) => (d(), S("div", P, [
37
+ i("span", {
37
38
  ref_key: "anchor",
38
39
  ref: a,
39
40
  "data-test": "stash-tooltip|anchor",
@@ -41,31 +42,31 @@ const F = {
41
42
  }, [
42
43
  l(e.$slots, "default")
43
44
  ], 512),
44
- (c(), g(S, {
45
+ (d(), T(E, {
45
46
  to: t.teleportTo,
46
47
  disabled: t.disableTeleport
47
48
  }, [
48
- r("div", {
49
+ i("div", {
49
50
  ref_key: "tooltip",
50
- ref: p,
51
+ ref: c,
51
52
  "data-test": "stash-tooltip",
52
53
  class: "stash-tooltip tw-pointer-events-none tw-z-screen tw-flex tw-w-[148px] tw-flex-col tw-items-center tw-whitespace-normal tw-rounded tw-bg-ice-900 tw-p-3 tw-text-center tw-text-xs tw-text-white tw-opacity-0 tw-shadow tw-transition-opacity",
53
54
  role: "tooltip",
54
- style: w({
55
- ...T(y),
56
- opacity: m.value ? 0.95 : 0
55
+ style: f({
56
+ ...$(x),
57
+ opacity: y.value ? 0.95 : 0
57
58
  })
58
59
  }, [
59
60
  l(e.$slots, "icon"),
60
61
  l(e.$slots, "content", {}, () => [
61
- E($(t.text), 1)
62
+ k(B(t.text), 1)
62
63
  ]),
63
64
  l(e.$slots, "secondaryIcon"),
64
- r("div", {
65
+ i("div", {
65
66
  ref_key: "floatingArrow",
66
- ref: i,
67
+ ref: p,
67
68
  class: "stash-tooltip__arrow tw-absolute tw-z-behind tw-size-[12px] tw-rotate-45 tw-bg-ice-900",
68
- style: w(x.value)
69
+ style: f(v.value)
69
70
  }, null, 4)
70
71
  ], 4)
71
72
  ], 8, ["to", "disabled"]))
@@ -73,6 +74,6 @@ const F = {
73
74
  }
74
75
  });
75
76
  export {
76
- V as default
77
+ X as default
77
78
  };
78
79
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { arrow, autoUpdate, flip, offset, type Side, useFloating } from '@floating-ui/vue';\n import { useMouseInElement } from '@vueuse/core';\n import { computed, ref } from 'vue';\n\n export type TooltipSide = Side;\n\n const ARROW_OFFSET_PX = 6;\n const OFFSET_DISTANCE_PX = 12;\n\n const SIDE_MAP: Record<TooltipSide, TooltipSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n };\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n export interface TooltipSlots {\n /**\n * The content to display in the tooltip. This may be text node, an element, or a component.\n */\n content: any;\n /**\n * The default slot is the element or component to which the tooltip will be anchored.\n */\n default: any;\n /**\n * A slot for the primary icon. This icon will be displayed before the text or content.\n */\n icon: any;\n /**\n * A slot for the secondary icon. This icon will be displayed after the text or content.\n */\n secondaryIcon: any;\n }\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n defineSlots<TooltipSlots>();\n\n export interface TooltipProps {\n /**\n * Disables teleporting the popover menu to an external element\n * @default false\n */\n disableTeleport?: boolean;\n /**\n * Sets the placement of the menu\n * @default 'top'\n */\n side?: TooltipSide;\n /**\n * Disables the tooltip\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Sets if the menu is open. If not set from the parent context, the menu will be controlled internally.\n * @default false\n */\n isOpen?: boolean;\n /**\n * The query selector where the tooltip should be teleported\n * @default '#stash-menus-mount-node'\n */\n teleportTo?: string | HTMLElement;\n /**\n * String content to display within the tooltip\n * @default ''\n */\n text?: string;\n }\n\n const props = withDefaults(defineProps<TooltipProps>(), {\n disableTeleport: false,\n isDisabled: false,\n isOpen: false,\n side: 'top',\n teleportTo: '#stash-menus-mount-node',\n text: '',\n });\n\n const anchor = ref<HTMLElement | null>(null);\n const floatingArrow = ref<HTMLElement | null>(null);\n const tooltip = ref<HTMLElement | null>(null);\n\n const { isOutside } = useMouseInElement(anchor);\n\n const open = computed(() => !props.isDisabled && (!isOutside.value || props.isOpen));\n const placementSetting = computed(() => props.side);\n\n const { floatingStyles, middlewareData, placement } = useFloating(anchor, tooltip, {\n whileElementsMounted: autoUpdate,\n placement: placementSetting,\n middleware: [flip(), offset(OFFSET_DISTANCE_PX), arrow({ element: floatingArrow })],\n });\n\n const arrowStyles = computed(() => {\n const arrowPosition = SIDE_MAP[placement.value];\n\n return {\n left: middlewareData.value.arrow?.x != null ? `${middlewareData.value.arrow.x}px` : '',\n top: middlewareData.value.arrow?.y != null ? `${middlewareData.value.arrow.y}px` : '',\n [arrowPosition]: `-${ARROW_OFFSET_PX}px`,\n };\n });\n</script>\n\n<template>\n <div ref=\"wrapper\" class=\"stash-tooltip__wrapper tw-relative tw-inline-flex tw-size-fit\">\n <span ref=\"anchor\" data-test=\"stash-tooltip|anchor\" class=\"stash-tooltip__anchor\">\n <slot></slot>\n </span>\n <Teleport :to=\"props.teleportTo\" :disabled=\"props.disableTeleport\">\n <div\n ref=\"tooltip\"\n data-test=\"stash-tooltip\"\n class=\"stash-tooltip tw-pointer-events-none tw-z-screen tw-flex tw-w-[148px] tw-flex-col tw-items-center tw-whitespace-normal tw-rounded tw-bg-ice-900 tw-p-3 tw-text-center tw-text-xs tw-text-white tw-opacity-0 tw-shadow tw-transition-opacity\"\n role=\"tooltip\"\n :style=\"{\n ...floatingStyles,\n opacity: open ? 0.95 : 0,\n }\"\n >\n <slot name=\"icon\"></slot>\n <slot name=\"content\">{{ props.text }}</slot>\n <slot name=\"secondaryIcon\"></slot>\n <div\n ref=\"floatingArrow\"\n class=\"stash-tooltip__arrow tw-absolute tw-z-behind tw-size-[12px] tw-rotate-45 tw-bg-ice-900\"\n :style=\"arrowStyles\"\n ></div>\n </div>\n </Teleport>\n </div>\n</template>\n"],"names":["ARROW_OFFSET_PX","OFFSET_DISTANCE_PX","SIDE_MAP","props","__props","anchor","ref","floatingArrow","tooltip","isOutside","useMouseInElement","open","computed","placementSetting","floatingStyles","middlewareData","placement","useFloating","autoUpdate","flip","offset","arrow","arrowStyles","arrowPosition","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_renderSlot","_ctx","_createBlock","_Teleport","_normalizeStyle","_unref","_createTextVNode","_toDisplayString"],"mappings":";;;;;;GAOQA,IAAkB,GAClBC,IAAqB;;;;;;;;;;;AAE3B,UAAMC,IAA6C;AAAA,MACjD,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GA2DFC,IAAQC,GASRC,IAASC,EAAwB,IAAI,GACrCC,IAAgBD,EAAwB,IAAI,GAC5CE,IAAUF,EAAwB,IAAI,GAEtC,EAAE,WAAAG,EAAA,IAAcC,EAAkBL,CAAM,GAExCM,IAAOC,EAAS,MAAM,CAACT,EAAM,eAAe,CAACM,EAAU,SAASN,EAAM,OAAO,GAC7EU,IAAmBD,EAAS,MAAMT,EAAM,IAAI,GAE5C,EAAE,gBAAAW,GAAgB,gBAAAC,GAAgB,WAAAC,MAAcC,EAAYZ,GAAQG,GAAS;AAAA,MACjF,sBAAsBU;AAAA,MACtB,WAAWL;AAAA,MACX,YAAY,CAACM,EAAA,GAAQC,EAAOnB,CAAkB,GAAGoB,EAAM,EAAE,SAASd,GAAe,CAAC;AAAA,IAAA,CACnF,GAEKe,IAAcV,EAAS,MAAM;AACjC,YAAMW,IAAgBrB,EAASc,EAAU,KAAK;AAE9C,aAAO;AAAA,QACL,MAAMD,EAAe,MAAM,OAAO,KAAK,OAAO,GAAGA,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACpF,KAAKA,EAAe,MAAM,OAAO,KAAK,OAAO,GAAGA,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACnF,CAACQ,CAAa,GAAG,IAAIvB,CAAe;AAAA,MAAA;AAAA,IAExC,CAAC;sBAIDwB,EAAA,GAAAC,EAyBM,OAzBNC,GAyBM;AAAA,MAxBJC,EAEO,QAAA;AAAA,iBAFG;AAAA,QAAJ,KAAItB;AAAA,QAAS,aAAU;AAAA,QAAuB,OAAM;AAAA,MAAA;QACxDuB,EAAaC,EAAA,QAAA,SAAA;AAAA,MAAA;YAEfC,EAoBWC,GAAA;AAAA,QApBA,IAAI5B,EAAM;AAAA,QAAa,UAAUA,EAAM;AAAA,MAAA;QAChDwB,EAkBM,OAAA;AAAA,mBAjBA;AAAA,UAAJ,KAAInB;AAAA,UACJ,aAAU;AAAA,UACV,OAAM;AAAA,UACN,MAAK;AAAA,UACJ,OAAKwB,EAAA;AAAA,eAAiBC,EAAAnB,CAAA;AAAA,qBAAmCH,EAAA,QAAI,OAAA;AAAA,UAAA;;UAK9DiB,EAAyBC,EAAA,QAAA,MAAA;AAAA,UACzBD,EAA4CC,yBAA5C,MAA4C;AAAA,YAApBK,EAAAC,EAAAhC,EAAM,IAAI,GAAA,CAAA;AAAA,UAAA;UAClCyB,EAAkCC,EAAA,QAAA,eAAA;AAAA,UAClCF,EAIO,OAAA;AAAA,qBAHD;AAAA,YAAJ,KAAIpB;AAAA,YACJ,OAAM;AAAA,YACL,SAAOe,EAAA,KAAW;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../src/components/Tooltip/Tooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { arrow, autoUpdate, flip, offset, type Side, useFloating } from '@floating-ui/vue';\n import { useMouseInElement } from '@vueuse/core';\n import { computed, ref } from 'vue';\n\n export type TooltipSide = Side;\n\n const ARROW_OFFSET_PX = 6;\n const OFFSET_DISTANCE_PX = 12;\n\n const SIDE_MAP: Record<TooltipSide, TooltipSide> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n };\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n export interface TooltipSlots {\n /**\n * The content to display in the tooltip. This may be text node, an element, or a component.\n */\n content: any;\n /**\n * The default slot is the element or component to which the tooltip will be anchored.\n */\n default: any;\n /**\n * A slot for the primary icon. This icon will be displayed before the text or content.\n */\n icon: any;\n /**\n * A slot for the secondary icon. This icon will be displayed after the text or content.\n */\n secondaryIcon: any;\n }\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n defineSlots<TooltipSlots>();\n\n export interface TooltipProps {\n /**\n * Disables teleporting the popover menu to an external element\n * @default false\n */\n disableTeleport?: boolean;\n /**\n * Sets the placement of the menu\n * @default 'top'\n */\n side?: TooltipSide;\n /**\n * Disables the tooltip\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Sets if the menu is open. If not set from the parent context, the menu will be controlled internally.\n * @default false\n */\n isOpen?: boolean;\n /**\n * The query selector where the tooltip should be teleported\n * @default '#stash-menus-mount-node'\n */\n teleportTo?: string | HTMLElement;\n /**\n * String content to display within the tooltip\n * @default ''\n */\n text?: string;\n }\n\n const props = withDefaults(defineProps<TooltipProps>(), {\n disableTeleport: false,\n isDisabled: false,\n isOpen: false,\n side: 'top',\n teleportTo: '#stash-menus-mount-node',\n text: '',\n });\n\n const anchor = ref<HTMLElement | null>(null);\n const floatingArrow = ref<HTMLElement | null>(null);\n const tooltip = ref<HTMLElement | null>(null);\n\n const { isOutside } = useMouseInElement(anchor);\n\n const open = computed(() => !props.isDisabled && (!isOutside.value || props.isOpen));\n const placementSetting = computed(() => props.side);\n\n const { floatingStyles, middlewareData, placement } = useFloating(anchor, tooltip, {\n whileElementsMounted: autoUpdate,\n placement: placementSetting,\n middleware: [flip(), offset(OFFSET_DISTANCE_PX), arrow({ element: floatingArrow })],\n });\n\n const arrowStyles = computed(() => {\n const arrowPosition = SIDE_MAP[placement.value];\n\n return {\n left: middlewareData.value.arrow?.x != null ? `${middlewareData.value.arrow.x}px` : '',\n top: middlewareData.value.arrow?.y != null ? `${middlewareData.value.arrow.y}px` : '',\n [arrowPosition]: `-${ARROW_OFFSET_PX}px`,\n };\n });\n</script>\n\n<template>\n <div ref=\"wrapper\" class=\"stash-tooltip__wrapper tw-relative tw-inline-flex tw-size-fit\">\n <span ref=\"anchor\" data-test=\"stash-tooltip|anchor\" class=\"stash-tooltip__anchor\">\n <slot></slot>\n </span>\n <Teleport :to=\"props.teleportTo\" :disabled=\"props.disableTeleport\">\n <div\n ref=\"tooltip\"\n data-test=\"stash-tooltip\"\n class=\"stash-tooltip tw-pointer-events-none tw-z-screen tw-flex tw-w-[148px] tw-flex-col tw-items-center tw-whitespace-normal tw-rounded tw-bg-ice-900 tw-p-3 tw-text-center tw-text-xs tw-text-white tw-opacity-0 tw-shadow tw-transition-opacity\"\n role=\"tooltip\"\n :style=\"{\n ...floatingStyles,\n opacity: open ? 0.95 : 0,\n }\"\n >\n <slot name=\"icon\"></slot>\n <slot name=\"content\">{{ props.text }}</slot>\n <slot name=\"secondaryIcon\"></slot>\n <div\n ref=\"floatingArrow\"\n class=\"stash-tooltip__arrow tw-absolute tw-z-behind tw-size-[12px] tw-rotate-45 tw-bg-ice-900\"\n :style=\"arrowStyles\"\n ></div>\n </div>\n </Teleport>\n </div>\n</template>\n"],"names":["ARROW_OFFSET_PX","OFFSET_DISTANCE_PX","SIDE_MAP","props","__props","anchor","ref","floatingArrow","tooltip","isOutside","useMouseInElement","open","computed","placementSetting","floatingStyles","middlewareData","placement","useFloating","autoUpdate","flip","offset","arrow","arrowStyles","arrowPosition","_a","_b"],"mappings":";;;;;;GAOQA,IAAkB,GAClBC,IAAqB;;;;;;;;;;;AAE3B,UAAMC,IAA6C;AAAA,MACjD,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,IAAA,GA2DFC,IAAQC,GASRC,IAASC,EAAwB,IAAI,GACrCC,IAAgBD,EAAwB,IAAI,GAC5CE,IAAUF,EAAwB,IAAI,GAEtC,EAAE,WAAAG,EAAA,IAAcC,EAAkBL,CAAM,GAExCM,IAAOC,EAAS,MAAM,CAACT,EAAM,eAAe,CAACM,EAAU,SAASN,EAAM,OAAO,GAC7EU,IAAmBD,EAAS,MAAMT,EAAM,IAAI,GAE5C,EAAE,gBAAAW,GAAgB,gBAAAC,GAAgB,WAAAC,MAAcC,EAAYZ,GAAQG,GAAS;AAAA,MACjF,sBAAsBU;AAAA,MACtB,WAAWL;AAAA,MACX,YAAY,CAACM,EAAA,GAAQC,EAAOnB,CAAkB,GAAGoB,EAAM,EAAE,SAASd,GAAe,CAAC;AAAA,IAAA,CACnF,GAEKe,IAAcV,EAAS,MAAM;;AACjC,YAAMW,IAAgBrB,EAASc,EAAU,KAAK;AAE9C,aAAO;AAAA,QACL,QAAMQ,IAAAT,EAAe,MAAM,UAArB,gBAAAS,EAA4B,MAAK,OAAO,GAAGT,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACpF,OAAKU,IAAAV,EAAe,MAAM,UAArB,gBAAAU,EAA4B,MAAK,OAAO,GAAGV,EAAe,MAAM,MAAM,CAAC,OAAO;AAAA,QACnF,CAACQ,CAAa,GAAG,IAAIvB,CAAe;AAAA,MAAA;AAAA,IAExC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,31 +1,63 @@
1
1
  import { ComponentOptionsMixin } from 'vue';
2
2
  import { ComponentProvideOptions } from 'vue';
3
3
  import { DefineComponent } from 'vue';
4
+ import { ExtractPropTypes } from 'vue';
5
+ import { PropType } from 'vue';
4
6
  import { PublicProps } from 'vue';
5
7
  import { Side } from '@floating-ui/vue';
6
8
 
9
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
10
+
11
+ declare type __VLS_Prettify<T> = {
12
+ [K in keyof T]: T[K];
13
+ } & {};
14
+
15
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
17
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
18
+ } : {
19
+ type: PropType<T[K]>;
20
+ required: true;
21
+ };
22
+ };
23
+
24
+ declare type __VLS_WithDefaults<P, D> = {
25
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
26
+ default: D[K];
27
+ }> : P[K];
28
+ };
29
+
7
30
  declare type __VLS_WithTemplateSlots<T, S> = T & {
8
31
  new (): {
9
32
  $slots: S;
10
33
  };
11
34
  };
12
35
 
13
- declare const _default: __VLS_WithTemplateSlots<DefineComponent<TooltipProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<TooltipProps> & Readonly<{}>, {
36
+ declare const _default: __VLS_WithTemplateSlots<DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TooltipProps>, {
37
+ disableTeleport: boolean;
38
+ isDisabled: boolean;
39
+ isOpen: boolean;
40
+ side: string;
41
+ teleportTo: string;
42
+ text: string;
43
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<TooltipProps>, {
44
+ disableTeleport: boolean;
45
+ isDisabled: boolean;
46
+ isOpen: boolean;
47
+ side: string;
48
+ teleportTo: string;
49
+ text: string;
50
+ }>>> & Readonly<{}>, {
14
51
  text: string;
15
- side: Side;
16
52
  isDisabled: boolean;
17
53
  teleportTo: string | HTMLElement;
18
54
  isOpen: boolean;
55
+ side: Side;
19
56
  disableTeleport: boolean;
20
- }, {}, {}, {}, string, ComponentProvideOptions, false, {
21
- wrapper: HTMLDivElement;
22
- anchor: HTMLSpanElement;
23
- tooltip: HTMLDivElement;
24
- floatingArrow: HTMLDivElement;
25
- }, HTMLDivElement>, Readonly<TooltipSlots> & TooltipSlots>;
57
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>, Readonly<TooltipSlots> & TooltipSlots>;
26
58
  export default _default;
27
59
 
28
- declare interface TooltipProps {
60
+ export declare interface TooltipProps {
29
61
  /**
30
62
  * Disables teleporting the popover menu to an external element
31
63
  * @default false
@@ -58,9 +90,9 @@ declare interface TooltipProps {
58
90
  text?: string;
59
91
  }
60
92
 
61
- declare type TooltipSide = Side;
93
+ export declare type TooltipSide = Side;
62
94
 
63
- declare interface TooltipSlots {
95
+ export declare interface TooltipSlots {
64
96
  /**
65
97
  * The content to display in the tooltip. This may be text node, an element, or a component.
66
98
  */