@leaflink/stash 51.10.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 (370) 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 +151 -83
  73. package/dist/DataViewToolbar.js.map +1 -1
  74. package/dist/DataViewToolbar.vue.d.ts +40 -5
  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 +491 -0
  186. package/dist/MoreActions.js.map +1 -0
  187. package/dist/MoreActions.vue.d.ts +126 -0
  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 +9 -9
  234. package/dist/Tab.js.map +1 -1
  235. package/dist/Tab.vue.d.ts +15 -2
  236. package/dist/TabPanel.js.map +1 -1
  237. package/dist/TabPanel.vue.d.ts +30 -3
  238. package/dist/Table.js +59 -53
  239. package/dist/Table.js.map +1 -1
  240. package/dist/Table.keys-LHQf6FEH.js.map +1 -1
  241. package/dist/Table.vue.d.ts +50 -3
  242. package/dist/TableCell.js +1 -1
  243. package/dist/TableCell.js.map +1 -1
  244. package/dist/TableCell.vue.d.ts +32 -3
  245. package/dist/TableHeaderCell.js +1 -1
  246. package/dist/TableHeaderCell.js.map +1 -1
  247. package/dist/TableHeaderCell.vue.d.ts +30 -3
  248. package/dist/TableHeaderRow.js +1 -1
  249. package/dist/TableHeaderRow.js.map +1 -1
  250. package/dist/TableHeaderRow.vue.d.ts +34 -5
  251. package/dist/TableRow.js +44 -43
  252. package/dist/TableRow.js.map +1 -1
  253. package/dist/TableRow.vue.d.ts +48 -7
  254. package/dist/Tabs.js +2 -2
  255. package/dist/Tabs.vue.d.ts +31 -122
  256. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js +78 -0
  257. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BlJVDr7o.js.map +1 -0
  258. package/dist/TextEditor.js +2420 -2414
  259. package/dist/TextEditor.js.map +1 -1
  260. package/dist/TextEditor.vue.d.ts +39 -8
  261. package/dist/Textarea.js +32 -29
  262. package/dist/Textarea.js.map +1 -1
  263. package/dist/Textarea.vue.d.ts +44 -9
  264. package/dist/Thumbnail.js +1 -1
  265. package/dist/Thumbnail.js.map +1 -1
  266. package/dist/Thumbnail.vue.d.ts +4 -4
  267. package/dist/ThumbnailEmpty.js.map +1 -1
  268. package/dist/ThumbnailEmpty.vue.d.ts +1 -1
  269. package/dist/ThumbnailGroup.js.map +1 -1
  270. package/dist/ThumbnailGroup.keys-EJ4qFNhx.js.map +1 -1
  271. package/dist/ThumbnailGroup.vue.d.ts +22 -26
  272. package/dist/Timeline.js.map +1 -1
  273. package/dist/Timeline.vue.d.ts +32 -3
  274. package/dist/TimelineItem.js.map +1 -1
  275. package/dist/TimelineItem.vue.d.ts +1 -1
  276. package/dist/Toast.js.map +1 -1
  277. package/dist/Toast.vue.d.ts +30 -3
  278. package/dist/Toasts.js.map +1 -1
  279. package/dist/ToastsPlugin.js +11 -11
  280. package/dist/ToastsPlugin.js.map +1 -1
  281. package/dist/Tooltip.js +30 -29
  282. package/dist/Tooltip.js.map +1 -1
  283. package/dist/Tooltip.vue.d.ts +43 -11
  284. package/dist/colors-DDDVvqfQ.js.map +1 -1
  285. package/dist/components.css +1 -1
  286. package/dist/constants.js.map +1 -1
  287. package/dist/directives/autofocus.js.map +1 -1
  288. package/dist/directives/clickoutside.js.map +1 -1
  289. package/dist/directives/observe.js.map +1 -1
  290. package/dist/directives/sticky.js.map +1 -1
  291. package/dist/directives/tooltip.js +3 -3
  292. package/dist/directives/tooltip.js.map +1 -1
  293. package/dist/directives/viewable.js +44 -39
  294. package/dist/directives/viewable.js.map +1 -1
  295. package/dist/{floating-ui.vue-CL01Y9ER.js → floating-ui.vue-pzUuloyX.js} +2 -2
  296. package/dist/{floating-ui.vue-CL01Y9ER.js.map → floating-ui.vue-pzUuloyX.js.map} +1 -1
  297. package/dist/formatDateTime-Dz8bXV0R.js +1418 -0
  298. package/dist/{formatDateTime-DG7kBc2T.js.map → formatDateTime-Dz8bXV0R.js.map} +1 -1
  299. package/dist/index-C14LhAwV.js +294 -0
  300. package/dist/{index-GUu9zvbg.js.map → index-C14LhAwV.js.map} +1 -1
  301. package/dist/index-D6bxWkZ1.js.map +1 -1
  302. package/dist/index.js +104 -99
  303. package/dist/index.js.map +1 -1
  304. package/dist/isDefined-DzVx0B6k.js.map +1 -1
  305. package/dist/keys-BEdEsanp.js.map +1 -1
  306. package/dist/keys-C8Zfr_By.js.map +1 -1
  307. package/dist/locale.js.map +1 -1
  308. package/dist/misc-CHQs-G03.js.map +1 -1
  309. package/dist/obfuscateText.d.ts +1 -1
  310. package/dist/parseISO-wlfIB_QJ.js.map +1 -1
  311. package/dist/searchFuzzy-DRasJ33G.js +409 -0
  312. package/dist/{searchFuzzy-DBDE6jkd.js.map → searchFuzzy-DRasJ33G.js.map} +1 -1
  313. package/dist/statusLevels-D8EgtE_L.js.map +1 -1
  314. package/dist/storage.js.map +1 -1
  315. package/dist/tailwind-base.d.ts +18 -0
  316. package/dist/tailwind-base.js +18 -8
  317. package/dist/tailwind-base.js.map +1 -1
  318. package/dist/toTimeZone-Coq1oPTt.js.map +1 -1
  319. package/dist/useConfirmBeforeClosing.js.map +1 -1
  320. package/dist/useDialog.d.ts +2 -2
  321. package/dist/useDialog.js +25 -21
  322. package/dist/useDialog.js.map +1 -1
  323. package/dist/useGoogleMaps.js +110 -108
  324. package/dist/useGoogleMaps.js.map +1 -1
  325. package/dist/useMediaQuery.d.ts +6 -0
  326. package/dist/useMediaQuery.js +15 -11
  327. package/dist/useMediaQuery.js.map +1 -1
  328. package/dist/useModals.d.ts +1 -1
  329. package/dist/useModals.js.map +1 -1
  330. package/dist/usePaginationStats-d_q39naC.js.map +1 -1
  331. package/dist/usePlaidLink.js +27 -20
  332. package/dist/usePlaidLink.js.map +1 -1
  333. package/dist/useScriptTag.js.map +1 -1
  334. package/dist/useSearch.js +13 -13
  335. package/dist/useSearch.js.map +1 -1
  336. package/dist/useSelection.js +56 -56
  337. package/dist/useSelection.js.map +1 -1
  338. package/dist/useSortable.js +63 -54
  339. package/dist/useSortable.js.map +1 -1
  340. package/dist/useStepper.d.ts +2 -2
  341. package/dist/useStepper.js +40 -36
  342. package/dist/useStepper.js.map +1 -1
  343. package/dist/useToasts.js +23 -23
  344. package/dist/useToasts.js.map +1 -1
  345. package/dist/useValidation.js +100 -96
  346. package/dist/useValidation.js.map +1 -1
  347. package/dist/utils/calculateElementOverflow.js +4 -4
  348. package/dist/utils/calculateElementOverflow.js.map +1 -1
  349. package/dist/utils/colorScheme.js.map +1 -1
  350. package/dist/utils/createQueryString.js.map +1 -1
  351. package/dist/utils/createValidDate.js.map +1 -1
  352. package/dist/utils/formatDateTime.js +1 -1
  353. package/dist/utils/getContrastingTextColor.js.map +1 -1
  354. package/dist/utils/helpers.js.map +1 -1
  355. package/dist/utils/i18n.js.map +1 -1
  356. package/dist/utils/normalizeDate.js.map +1 -1
  357. package/dist/utils/obfuscateText.js +6 -6
  358. package/dist/utils/obfuscateText.js.map +1 -1
  359. package/dist/utils/searchFuzzy.js +1 -1
  360. package/dist/utils/storage.js +23 -23
  361. package/dist/utils/storage.js.map +1 -1
  362. package/package.json +12 -12
  363. package/tailwind-base.ts +11 -0
  364. package/dist/Logo.vue_vue_type_script_setup_true_lang-Y3iE9utm.js.map +0 -1
  365. package/dist/MenusPlugin-B4jpNe7x.js +0 -12
  366. package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js +0 -156
  367. package/dist/Tabs.vue_vue_type_script_setup_true_lang-Dprx064Y.js.map +0 -1
  368. package/dist/formatDateTime-DG7kBc2T.js +0 -1414
  369. package/dist/index-GUu9zvbg.js +0 -128
  370. package/dist/searchFuzzy-DBDE6jkd.js +0 -408
@@ -1,66 +1,66 @@
1
1
  import k from "lodash-es/keyBy";
2
2
  import { onMounted as O } from "vue";
3
- function A(s, e, t, r) {
4
- function o(i) {
5
- return i instanceof t ? i : new t(function(n) {
6
- n(i);
3
+ function A(s, e, i, t) {
4
+ function o(r) {
5
+ return r instanceof i ? r : new i(function(n) {
6
+ n(r);
7
7
  });
8
8
  }
9
- return new (t || (t = Promise))(function(i, n) {
10
- function a(c) {
9
+ return new (i || (i = Promise))(function(r, n) {
10
+ function l(h) {
11
11
  try {
12
- l(r.next(c));
13
- } catch (u) {
14
- n(u);
12
+ c(t.next(h));
13
+ } catch (d) {
14
+ n(d);
15
15
  }
16
16
  }
17
- function h(c) {
17
+ function a(h) {
18
18
  try {
19
- l(r.throw(c));
20
- } catch (u) {
21
- n(u);
19
+ c(t.throw(h));
20
+ } catch (d) {
21
+ n(d);
22
22
  }
23
23
  }
24
- function l(c) {
25
- c.done ? i(c.value) : o(c.value).then(a, h);
24
+ function c(h) {
25
+ h.done ? r(h.value) : o(h.value).then(l, a);
26
26
  }
27
- l((r = r.apply(s, [])).next());
27
+ c((t = t.apply(s, [])).next());
28
28
  });
29
29
  }
30
30
  function C(s) {
31
31
  return s && s.__esModule && Object.prototype.hasOwnProperty.call(s, "default") ? s.default : s;
32
32
  }
33
- var $ = function s(e, t) {
34
- if (e === t) return !0;
35
- if (e && t && typeof e == "object" && typeof t == "object") {
36
- if (e.constructor !== t.constructor) return !1;
37
- var r, o, i;
33
+ var $ = function s(e, i) {
34
+ if (e === i) return !0;
35
+ if (e && i && typeof e == "object" && typeof i == "object") {
36
+ if (e.constructor !== i.constructor) return !1;
37
+ var t, o, r;
38
38
  if (Array.isArray(e)) {
39
- if (r = e.length, r != t.length) return !1;
40
- for (o = r; o-- !== 0; )
41
- if (!s(e[o], t[o])) return !1;
39
+ if (t = e.length, t != i.length) return !1;
40
+ for (o = t; o-- !== 0; )
41
+ if (!s(e[o], i[o])) return !1;
42
42
  return !0;
43
43
  }
44
- if (e.constructor === RegExp) return e.source === t.source && e.flags === t.flags;
45
- if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === t.valueOf();
46
- if (e.toString !== Object.prototype.toString) return e.toString() === t.toString();
47
- if (i = Object.keys(e), r = i.length, r !== Object.keys(t).length) return !1;
48
- for (o = r; o-- !== 0; )
49
- if (!Object.prototype.hasOwnProperty.call(t, i[o])) return !1;
50
- for (o = r; o-- !== 0; ) {
51
- var n = i[o];
52
- if (!s(e[n], t[n])) return !1;
44
+ if (e.constructor === RegExp) return e.source === i.source && e.flags === i.flags;
45
+ if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === i.valueOf();
46
+ if (e.toString !== Object.prototype.toString) return e.toString() === i.toString();
47
+ if (r = Object.keys(e), t = r.length, t !== Object.keys(i).length) return !1;
48
+ for (o = t; o-- !== 0; )
49
+ if (!Object.prototype.hasOwnProperty.call(i, r[o])) return !1;
50
+ for (o = t; o-- !== 0; ) {
51
+ var n = r[o];
52
+ if (!s(e[n], i[n])) return !1;
53
53
  }
54
54
  return !0;
55
55
  }
56
- return e !== e && t !== t;
56
+ return e !== e && i !== i;
57
57
  }, M = /* @__PURE__ */ C($);
58
58
  const I = "__googleMapsScriptId";
59
- var g;
59
+ var y;
60
60
  (function(s) {
61
61
  s[s.INITIALIZED = 0] = "INITIALIZED", s[s.LOADING = 1] = "LOADING", s[s.SUCCESS = 2] = "SUCCESS", s[s.FAILURE = 3] = "FAILURE";
62
- })(g || (g = {}));
63
- class p {
62
+ })(y || (y = {}));
63
+ class m {
64
64
  /**
65
65
  * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set
66
66
  * using this library, instead the defaults are set by the Google Maps
@@ -70,13 +70,13 @@ class p {
70
70
  * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});
71
71
  * ```
72
72
  */
73
- constructor({ apiKey: e, authReferrerPolicy: t, channel: r, client: o, id: i = I, language: n, libraries: a = [], mapIds: h, nonce: l, region: c, retries: u = 3, url: d = "https://maps.googleapis.com/maps/api/js", version: f }) {
74
- if (this.callbacks = [], this.done = !1, this.loading = !1, this.errors = [], this.apiKey = e, this.authReferrerPolicy = t, this.channel = r, this.client = o, this.id = i || I, this.language = n, this.libraries = a, this.mapIds = h, this.nonce = l, this.region = c, this.retries = u, this.url = d, this.version = f, p.instance) {
75
- if (!M(this.options, p.instance.options))
76
- throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(p.instance.options)}`);
77
- return p.instance;
73
+ constructor({ apiKey: e, authReferrerPolicy: i, channel: t, client: o, id: r = I, language: n, libraries: l = [], mapIds: a, nonce: c, region: h, retries: d = 3, url: u = "https://maps.googleapis.com/maps/api/js", version: p }) {
74
+ if (this.callbacks = [], this.done = !1, this.loading = !1, this.errors = [], this.apiKey = e, this.authReferrerPolicy = i, this.channel = t, this.client = o, this.id = r || I, this.language = n, this.libraries = l, this.mapIds = a, this.nonce = c, this.region = h, this.retries = d, this.url = u, this.version = p, m.instance) {
75
+ if (!M(this.options, m.instance.options))
76
+ throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(m.instance.options)}`);
77
+ return m.instance;
78
78
  }
79
- p.instance = this;
79
+ m.instance = this;
80
80
  }
81
81
  get options() {
82
82
  return {
@@ -95,7 +95,7 @@ class p {
95
95
  };
96
96
  }
97
97
  get status() {
98
- return this.errors.length ? g.FAILURE : this.done ? g.SUCCESS : this.loading ? g.LOADING : g.INITIALIZED;
98
+ return this.errors.length ? y.FAILURE : this.done ? y.SUCCESS : this.loading ? y.LOADING : y.INITIALIZED;
99
99
  }
100
100
  get failed() {
101
101
  return this.done && !this.loading && this.errors.length >= this.retries + 1;
@@ -128,9 +128,9 @@ class p {
128
128
  * @deprecated, use importLibrary() instead.
129
129
  */
130
130
  loadPromise() {
131
- return new Promise((e, t) => {
132
- this.loadCallback((r) => {
133
- r ? t(r.error) : e(window.google);
131
+ return new Promise((e, i) => {
132
+ this.loadCallback((t) => {
133
+ t ? i(t.error) : e(window.google);
134
134
  });
135
135
  });
136
136
  }
@@ -148,12 +148,12 @@ class p {
148
148
  * Set the script on document.
149
149
  */
150
150
  setScript() {
151
- var e, t;
151
+ var e, i;
152
152
  if (document.getElementById(this.id)) {
153
153
  this.callback();
154
154
  return;
155
155
  }
156
- const r = {
156
+ const t = {
157
157
  key: this.apiKey,
158
158
  channel: this.channel,
159
159
  client: this.client,
@@ -164,27 +164,27 @@ class p {
164
164
  region: this.region,
165
165
  authReferrerPolicy: this.authReferrerPolicy
166
166
  };
167
- Object.keys(r).forEach(
167
+ Object.keys(t).forEach(
168
168
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
169
- (i) => !r[i] && delete r[i]
170
- ), !((t = (e = window?.google) === null || e === void 0 ? void 0 : e.maps) === null || t === void 0) && t.importLibrary || ((i) => {
171
- let n, a, h, l = "The Google Maps JavaScript API", c = "google", u = "importLibrary", d = "__ib__", f = document, m = window;
172
- m = m[c] || (m[c] = {});
173
- const y = m.maps || (m.maps = {}), E = /* @__PURE__ */ new Set(), v = new URLSearchParams(), S = () => (
169
+ (r) => !t[r] && delete t[r]
170
+ ), !((i = (e = window == null ? void 0 : window.google) === null || e === void 0 ? void 0 : e.maps) === null || i === void 0) && i.importLibrary || ((r) => {
171
+ let n, l, a, c = "The Google Maps JavaScript API", h = "google", d = "importLibrary", u = "__ib__", p = document, g = window;
172
+ g = g[h] || (g[h] = {});
173
+ const f = g.maps || (g.maps = {}), E = /* @__PURE__ */ new Set(), v = new URLSearchParams(), S = () => (
174
174
  // @ts-ignore
175
175
  n || (n = new Promise((w, _) => A(this, void 0, void 0, function* () {
176
176
  var b;
177
- yield a = f.createElement("script"), a.id = this.id, v.set("libraries", [...E] + "");
178
- for (h in i)
179
- v.set(h.replace(/[A-Z]/g, (P) => "_" + P[0].toLowerCase()), i[h]);
180
- v.set("callback", c + ".maps." + d), a.src = this.url + "?" + v, y[d] = w, a.onerror = () => n = _(Error(l + " could not load.")), a.nonce = this.nonce || ((b = f.querySelector("script[nonce]")) === null || b === void 0 ? void 0 : b.nonce) || "", f.head.append(a);
177
+ yield l = p.createElement("script"), l.id = this.id, v.set("libraries", [...E] + "");
178
+ for (a in r)
179
+ v.set(a.replace(/[A-Z]/g, (P) => "_" + P[0].toLowerCase()), r[a]);
180
+ v.set("callback", h + ".maps." + u), l.src = this.url + "?" + v, f[u] = w, l.onerror = () => n = _(Error(c + " could not load.")), l.nonce = this.nonce || ((b = p.querySelector("script[nonce]")) === null || b === void 0 ? void 0 : b.nonce) || "", p.head.append(l);
181
181
  })))
182
182
  );
183
- y[u] ? console.warn(l + " only loads once. Ignoring:", i) : y[u] = (w, ..._) => E.add(w) && S().then(() => y[u](w, ..._));
184
- })(r);
185
- const o = this.libraries.map((i) => this.importLibrary(i));
186
- o.length || o.push(this.importLibrary("core")), Promise.all(o).then(() => this.callback(), (i) => {
187
- const n = new ErrorEvent("error", { error: i });
183
+ f[d] ? console.warn(c + " only loads once. Ignoring:", r) : f[d] = (w, ..._) => E.add(w) && S().then(() => f[d](w, ..._));
184
+ })(t);
185
+ const o = this.libraries.map((r) => this.importLibrary(r));
186
+ o.length || o.push(this.importLibrary("core")), Promise.all(o).then(() => this.callback(), (r) => {
187
+ const n = new ErrorEvent("error", { error: r });
188
188
  this.loadErrorCallback(n);
189
189
  });
190
190
  }
@@ -199,10 +199,10 @@ class p {
199
199
  }
200
200
  loadErrorCallback(e) {
201
201
  if (this.errors.push(e), this.errors.length <= this.retries) {
202
- const t = this.errors.length * Math.pow(2, this.errors.length);
203
- console.error(`Failed to load Google Maps script, retrying in ${t} ms.`), setTimeout(() => {
202
+ const i = this.errors.length * Math.pow(2, this.errors.length);
203
+ console.error(`Failed to load Google Maps script, retrying in ${i} ms.`), setTimeout(() => {
204
204
  this.deleteScript(), this.setScript();
205
- }, t);
205
+ }, i);
206
206
  } else
207
207
  this.onerrorEvent = e, this.callback();
208
208
  }
@@ -225,77 +225,79 @@ class p {
225
225
  }
226
226
  }
227
227
  function j(s) {
228
+ var i, t, o, r, n, l, a, c, h, d, u;
228
229
  const e = k(s, "types[0]");
229
230
  return {
230
- street_address: [e.street_number?.long_name, e.route?.short_name].filter(Boolean).join(" ") || void 0,
231
- extended_address: e.premise?.long_name || e.subpremise?.long_name,
232
- state: e.administrative_area_level_1?.short_name,
233
- postal_code: e.postal_code?.long_name,
234
- city: e.locality?.long_name || e?.administrative_area_level_2?.long_name || e?.sublocality_level_1?.long_name || e?.sublocality?.long_name,
235
- country: e.country?.short_name
231
+ street_address: [(i = e.street_number) == null ? void 0 : i.long_name, (t = e.route) == null ? void 0 : t.short_name].filter(Boolean).join(" ") || void 0,
232
+ extended_address: ((o = e.premise) == null ? void 0 : o.long_name) || ((r = e.subpremise) == null ? void 0 : r.long_name),
233
+ state: (n = e.administrative_area_level_1) == null ? void 0 : n.short_name,
234
+ postal_code: (l = e.postal_code) == null ? void 0 : l.long_name,
235
+ city: ((a = e.locality) == null ? void 0 : a.long_name) || ((c = e == null ? void 0 : e.administrative_area_level_2) == null ? void 0 : c.long_name) || ((h = e == null ? void 0 : e.sublocality_level_1) == null ? void 0 : h.long_name) || ((d = e == null ? void 0 : e.sublocality) == null ? void 0 : d.long_name),
236
+ country: (u = e.country) == null ? void 0 : u.short_name
236
237
  };
237
238
  }
238
- function G(s) {
239
- let e = null, t = null;
240
- function r(i) {
241
- return new Promise((n, a) => {
239
+ function F(s) {
240
+ let e = null, i = null;
241
+ function t(r) {
242
+ return new Promise((n, l) => {
242
243
  if (!e) {
243
- a({ isGoogleMapsError: !1, message: "Autocomplete service not initialized" });
244
+ l({ isGoogleMapsError: !1, message: "Autocomplete service not initialized" });
244
245
  return;
245
246
  }
246
- e.getPlacePredictions({ input: i }, (h, l) => {
247
- if (l !== google.maps.places.PlacesServiceStatus.OK) {
248
- a({
247
+ e.getPlacePredictions({ input: r }, (a, c) => {
248
+ if (c !== google.maps.places.PlacesServiceStatus.OK) {
249
+ l({
249
250
  isGoogleMapsError: !0,
250
- message: `Failed to get query predictions with status ${l}`,
251
- status: l
252
- }), a(l);
251
+ message: `Failed to get query predictions with status ${c}`,
252
+ status: c
253
+ }), l(c);
253
254
  return;
254
255
  }
255
- const c = (h || []).map(({ place_id: u, description: d }) => ({
256
- id: u,
257
- name: d
256
+ const h = (a || []).map(({ place_id: d, description: u }) => ({
257
+ id: d,
258
+ name: u
258
259
  }));
259
- n(c);
260
+ n(h);
260
261
  });
261
262
  });
262
263
  }
263
- function o(i) {
264
- return new Promise((n, a) => {
265
- if (!t) {
266
- a({ isGoogleMapsError: !1, message: "Places service not initialized" });
264
+ function o(r) {
265
+ return new Promise((n, l) => {
266
+ if (!i) {
267
+ l({ isGoogleMapsError: !1, message: "Places service not initialized" });
267
268
  return;
268
269
  }
269
- t.getDetails({ placeId: i, fields: ["address_components", "geometry"] }, (h, l) => {
270
- if (l !== google.maps.places.PlacesServiceStatus.OK) {
271
- a({
270
+ i.getDetails({ placeId: r, fields: ["address_components", "geometry"] }, (a, c) => {
271
+ var u, p, g, f;
272
+ if (c !== google.maps.places.PlacesServiceStatus.OK) {
273
+ l({
272
274
  isGoogleMapsError: !0,
273
- message: `Failed to get place details with status ${l}`,
274
- status: l
275
+ message: `Failed to get place details with status ${c}`,
276
+ status: c
275
277
  });
276
278
  return;
277
279
  }
278
- const u = {
279
- ...j(h?.address_components || []),
280
- lat: h?.geometry?.location?.lat(),
281
- long: h?.geometry?.location?.lng(),
282
- place_id: i
280
+ const d = {
281
+ ...j((a == null ? void 0 : a.address_components) || []),
282
+ lat: (p = (u = a == null ? void 0 : a.geometry) == null ? void 0 : u.location) == null ? void 0 : p.lat(),
283
+ long: (f = (g = a == null ? void 0 : a.geometry) == null ? void 0 : g.location) == null ? void 0 : f.lng(),
284
+ place_id: r
283
285
  };
284
- n(u);
286
+ n(d);
285
287
  });
286
288
  });
287
289
  }
288
290
  return O(() => {
289
- new p({
291
+ new m({
290
292
  apiKey: s,
291
293
  version: "weekly",
292
294
  libraries: ["places"]
293
- }).importLibrary("places").then((i) => {
294
- e = new i.AutocompleteService(), t = new i.PlacesService(document.createElement("div"));
295
+ }).importLibrary("places").then((r) => {
296
+ e = new r.AutocompleteService(), i = new r.PlacesService(document.createElement("div"));
295
297
  });
296
- }), { getPlaceDetails: o, getPlacePredictions: r };
298
+ }), { getPlaceDetails: o, getPlacePredictions: t };
297
299
  }
298
300
  export {
299
- G as default
301
+ F as default
300
302
  };
301
303
  //# sourceMappingURL=useGoogleMaps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGoogleMaps.js","sources":["../node_modules/@googlemaps/js-api-loader/dist/index.mjs","../src/composables/useGoogleMaps/useGoogleMaps.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\nvar isEqual = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual);\n\n/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at.\n *\n * Http://www.apache.org/licenses/LICENSE-2.0.\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst DEFAULT_ID = \"__googleMapsScriptId\";\n/**\n * The status of the [[Loader]].\n */\nvar LoaderStatus;\n(function (LoaderStatus) {\n LoaderStatus[LoaderStatus[\"INITIALIZED\"] = 0] = \"INITIALIZED\";\n LoaderStatus[LoaderStatus[\"LOADING\"] = 1] = \"LOADING\";\n LoaderStatus[LoaderStatus[\"SUCCESS\"] = 2] = \"SUCCESS\";\n LoaderStatus[LoaderStatus[\"FAILURE\"] = 3] = \"FAILURE\";\n})(LoaderStatus || (LoaderStatus = {}));\n/**\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\n * dynamically using\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n * It works by dynamically creating and appending a script node to the the\n * document head and wrapping the callback function so as to return a promise.\n *\n * ```\n * const loader = new Loader({\n * apiKey: \"\",\n * version: \"weekly\",\n * libraries: [\"places\"]\n * });\n *\n * loader.load().then((google) => {\n * const map = new google.maps.Map(...)\n * })\n * ```\n */\nclass Loader {\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({ apiKey, authReferrerPolicy, channel, client, id = DEFAULT_ID, language, libraries = [], mapIds, nonce, region, retries = 3, url = \"https://maps.googleapis.com/maps/api/js\", version, }) {\n this.callbacks = [];\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.apiKey = apiKey;\n this.authReferrerPolicy = authReferrerPolicy;\n this.channel = channel;\n this.client = client;\n this.id = id || DEFAULT_ID; // Do not allow empty string\n this.language = language;\n this.libraries = libraries;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.region = region;\n this.retries = retries;\n this.url = url;\n this.version = version;\n if (Loader.instance) {\n if (!isEqual(this.options, Loader.instance.options)) {\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);\n }\n return Loader.instance;\n }\n Loader.instance = this;\n }\n get options() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n }\n get status() {\n if (this.errors.length) {\n return LoaderStatus.FAILURE;\n }\n if (this.done) {\n return LoaderStatus.SUCCESS;\n }\n if (this.loading) {\n return LoaderStatus.LOADING;\n }\n return LoaderStatus.INITIALIZED;\n }\n get failed() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n * @deprecated\n */\n createUrl() {\n let url = this.url;\n url += `?callback=__googleMapsCallback&loading=async`;\n if (this.apiKey) {\n url += `&key=${this.apiKey}`;\n }\n if (this.channel) {\n url += `&channel=${this.channel}`;\n }\n if (this.client) {\n url += `&client=${this.client}`;\n }\n if (this.libraries.length > 0) {\n url += `&libraries=${this.libraries.join(\",\")}`;\n }\n if (this.language) {\n url += `&language=${this.language}`;\n }\n if (this.region) {\n url += `&region=${this.region}`;\n }\n if (this.version) {\n url += `&v=${this.version}`;\n }\n if (this.mapIds) {\n url += `&map_ids=${this.mapIds.join(\",\")}`;\n }\n if (this.authReferrerPolicy) {\n url += `&auth_referrer_policy=${this.authReferrerPolicy}`;\n }\n return url;\n }\n deleteScript() {\n const script = document.getElementById(this.id);\n if (script) {\n script.remove();\n }\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n * @deprecated, use importLibrary() instead.\n */\n load() {\n return this.loadPromise();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n * @deprecated, use importLibrary() instead.\n */\n loadPromise() {\n return new Promise((resolve, reject) => {\n this.loadCallback((err) => {\n if (!err) {\n resolve(window.google);\n }\n else {\n reject(err.error);\n }\n });\n });\n }\n importLibrary(name) {\n this.execute();\n return google.maps.importLibrary(name);\n }\n /**\n * Load the Google Maps JavaScript API script with a callback.\n * @deprecated, use importLibrary() instead.\n */\n loadCallback(fn) {\n this.callbacks.push(fn);\n this.execute();\n }\n /**\n * Set the script on document.\n */\n setScript() {\n var _a, _b;\n if (document.getElementById(this.id)) {\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\n this.callback();\n return;\n }\n const params = {\n key: this.apiKey,\n channel: this.channel,\n client: this.client,\n libraries: this.libraries.length && this.libraries,\n v: this.version,\n mapIds: this.mapIds,\n language: this.language,\n region: this.region,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n // keep the URL minimal:\n Object.keys(params).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (key) => !params[key] && delete params[key]);\n if (!((_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.importLibrary)) {\n // tweaked copy of https://developers.google.com/maps/documentation/javascript/load-maps-js-api#dynamic-library-import\n // which also sets the base url, the id, and the nonce\n /* eslint-disable */\n ((g) => {\n // @ts-ignore\n let h, a, k, p = \"The Google Maps JavaScript API\", c = \"google\", l = \"importLibrary\", q = \"__ib__\", m = document, b = window;\n // @ts-ignore\n b = b[c] || (b[c] = {});\n // @ts-ignore\n const d = b.maps || (b.maps = {}), r = new Set(), e = new URLSearchParams(), u = () => \n // @ts-ignore\n h || (h = new Promise((f, n) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n yield (a = m.createElement(\"script\"));\n a.id = this.id;\n e.set(\"libraries\", [...r] + \"\");\n // @ts-ignore\n for (k in g)\n e.set(k.replace(/[A-Z]/g, (t) => \"_\" + t[0].toLowerCase()), g[k]);\n e.set(\"callback\", c + \".maps.\" + q);\n a.src = this.url + `?` + e;\n d[q] = f;\n a.onerror = () => (h = n(Error(p + \" could not load.\")));\n // @ts-ignore\n a.nonce = this.nonce || ((_a = m.querySelector(\"script[nonce]\")) === null || _a === void 0 ? void 0 : _a.nonce) || \"\";\n m.head.append(a);\n })));\n // @ts-ignore\n d[l] ? console.warn(p + \" only loads once. Ignoring:\", g) : (d[l] = (f, ...n) => r.add(f) && u().then(() => d[l](f, ...n)));\n })(params);\n /* eslint-enable */\n }\n // While most libraries populate the global namespace when loaded via bootstrap params,\n // this is not the case for \"marker\" when used with the inline bootstrap loader\n // (and maybe others in the future). So ensure there is an importLibrary for each:\n const libraryPromises = this.libraries.map((library) => this.importLibrary(library));\n // ensure at least one library, to kick off loading...\n if (!libraryPromises.length) {\n libraryPromises.push(this.importLibrary(\"core\"));\n }\n Promise.all(libraryPromises).then(() => this.callback(), (error) => {\n const event = new ErrorEvent(\"error\", { error }); // for backwards compat\n this.loadErrorCallback(event);\n });\n }\n /**\n * Reset the loader state.\n */\n reset() {\n this.deleteScript();\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.onerrorEvent = null;\n }\n resetIfRetryingFailed() {\n if (this.failed) {\n this.reset();\n }\n }\n loadErrorCallback(e) {\n this.errors.push(e);\n if (this.errors.length <= this.retries) {\n const delay = this.errors.length * Math.pow(2, this.errors.length);\n console.error(`Failed to load Google Maps script, retrying in ${delay} ms.`);\n setTimeout(() => {\n this.deleteScript();\n this.setScript();\n }, delay);\n }\n else {\n this.onerrorEvent = e;\n this.callback();\n }\n }\n callback() {\n this.done = true;\n this.loading = false;\n this.callbacks.forEach((cb) => {\n cb(this.onerrorEvent);\n });\n this.callbacks = [];\n }\n execute() {\n this.resetIfRetryingFailed();\n if (this.loading) {\n // do nothing but wait\n return;\n }\n if (this.done) {\n this.callback();\n }\n else {\n // short circuit and warn if google.maps is already loaded\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader. \" +\n \"This may result in undesirable behavior as options and script parameters may not match.\");\n this.callback();\n return;\n }\n this.loading = true;\n this.setScript();\n }\n }\n}\n\nexport { DEFAULT_ID, Loader, LoaderStatus };\n//# sourceMappingURL=index.mjs.map\n","import { Loader } from '@googlemaps/js-api-loader';\nimport keyBy from 'lodash-es/keyBy';\nimport { onMounted } from 'vue';\n\nimport type { Address, AddressOption } from '../../../types/address';\n\n/**\n * Parses an array of address components from the Google Maps API into an Address object\n * @see https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingAddressTypes\n * @param addressComponents An array of address components from the Google Maps API\n * @returns An Address object\n */\nfunction parseAddressComponents(\n addressComponents: Array<google.maps.GeocoderAddressComponent>,\n): Omit<Address, 'lat' | 'long' | 'placeId'> {\n const components = keyBy(addressComponents, 'types[0]');\n\n return {\n street_address:\n [components['street_number']?.['long_name'], components['route']?.['short_name']].filter(Boolean).join(' ') ||\n undefined,\n extended_address: components['premise']?.['long_name'] || components['subpremise']?.['long_name'],\n state: components['administrative_area_level_1']?.['short_name'],\n postal_code: components['postal_code']?.['long_name'],\n city:\n components['locality']?.['long_name'] ||\n components?.['administrative_area_level_2']?.['long_name'] ||\n components?.['sublocality_level_1']?.['long_name'] ||\n components?.['sublocality']?.['long_name'],\n country: components['country']?.['short_name'],\n };\n}\n\nexport default function useGoogleMaps(apiKey: string) {\n let autocompleteService: google.maps.places.AutocompleteService | null = null;\n let placesService: google.maps.places.PlacesService | null = null;\n\n function getPlacePredictions(query: string): Promise<Array<AddressOption>> {\n return new Promise((resolve, reject) => {\n if (!autocompleteService) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({ isGoogleMapsError: false, message: 'Autocomplete service not initialized' });\n return;\n }\n\n autocompleteService.getPlacePredictions({ input: query }, (predictions, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({\n isGoogleMapsError: true,\n message: `Failed to get query predictions with status ${status}`,\n status,\n });\n reject(status);\n return;\n }\n\n const options = (predictions || []).map(({ place_id, description }) => ({\n id: place_id,\n name: description,\n }));\n\n resolve(options);\n });\n });\n }\n\n function getPlaceDetails(placeId: string): Promise<Address> {\n return new Promise((resolve, reject) => {\n if (!placesService) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({ isGoogleMapsError: false, message: 'Places service not initialized' });\n return;\n }\n\n placesService.getDetails({ placeId, fields: ['address_components', 'geometry'] }, (placeResult, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({\n isGoogleMapsError: true,\n message: `Failed to get place details with status ${status}`,\n status,\n });\n return;\n }\n\n const partialAddress = parseAddressComponents(placeResult?.address_components || []);\n\n const address: Address = {\n ...partialAddress,\n lat: placeResult?.geometry?.location?.lat(),\n long: placeResult?.geometry?.location?.lng(),\n place_id: placeId,\n };\n\n resolve(address);\n });\n });\n }\n\n onMounted(() => {\n new Loader({\n apiKey,\n version: 'weekly',\n libraries: ['places'],\n })\n .importLibrary('places')\n .then((placesLib) => {\n autocompleteService = new placesLib.AutocompleteService();\n placesService = new placesLib.PlacesService(document.createElement('div'));\n });\n });\n\n return { getPlaceDetails, getPlacePredictions };\n}\n\nexport type { Address, AddressOption };\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","getDefaultExportFromCjs","x","fastDeepEqual","equal","a","b","length","i","keys","key","isEqual","DEFAULT_ID","LoaderStatus","Loader","apiKey","authReferrerPolicy","channel","client","id","language","libraries","mapIds","nonce","region","retries","url","version","script","err","name","fn","_a","_b","params","g","h","k","p","l","q","m","d","r","u","f","n","t","libraryPromises","library","error","event","delay","cb","parseAddressComponents","addressComponents","components","keyBy","useGoogleMaps","autocompleteService","placesService","getPlacePredictions","query","predictions","status","options","place_id","description","getPlaceDetails","placeId","placeResult","address","onMounted","placesLib"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"useGoogleMaps.js","sources":["../node_modules/@googlemaps/js-api-loader/dist/index.mjs","../src/composables/useGoogleMaps/useGoogleMaps.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\nvar isEqual = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual);\n\n/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at.\n *\n * Http://www.apache.org/licenses/LICENSE-2.0.\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst DEFAULT_ID = \"__googleMapsScriptId\";\n/**\n * The status of the [[Loader]].\n */\nvar LoaderStatus;\n(function (LoaderStatus) {\n LoaderStatus[LoaderStatus[\"INITIALIZED\"] = 0] = \"INITIALIZED\";\n LoaderStatus[LoaderStatus[\"LOADING\"] = 1] = \"LOADING\";\n LoaderStatus[LoaderStatus[\"SUCCESS\"] = 2] = \"SUCCESS\";\n LoaderStatus[LoaderStatus[\"FAILURE\"] = 3] = \"FAILURE\";\n})(LoaderStatus || (LoaderStatus = {}));\n/**\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\n * dynamically using\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n * It works by dynamically creating and appending a script node to the the\n * document head and wrapping the callback function so as to return a promise.\n *\n * ```\n * const loader = new Loader({\n * apiKey: \"\",\n * version: \"weekly\",\n * libraries: [\"places\"]\n * });\n *\n * loader.load().then((google) => {\n * const map = new google.maps.Map(...)\n * })\n * ```\n */\nclass Loader {\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({ apiKey, authReferrerPolicy, channel, client, id = DEFAULT_ID, language, libraries = [], mapIds, nonce, region, retries = 3, url = \"https://maps.googleapis.com/maps/api/js\", version, }) {\n this.callbacks = [];\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.apiKey = apiKey;\n this.authReferrerPolicy = authReferrerPolicy;\n this.channel = channel;\n this.client = client;\n this.id = id || DEFAULT_ID; // Do not allow empty string\n this.language = language;\n this.libraries = libraries;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.region = region;\n this.retries = retries;\n this.url = url;\n this.version = version;\n if (Loader.instance) {\n if (!isEqual(this.options, Loader.instance.options)) {\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);\n }\n return Loader.instance;\n }\n Loader.instance = this;\n }\n get options() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n }\n get status() {\n if (this.errors.length) {\n return LoaderStatus.FAILURE;\n }\n if (this.done) {\n return LoaderStatus.SUCCESS;\n }\n if (this.loading) {\n return LoaderStatus.LOADING;\n }\n return LoaderStatus.INITIALIZED;\n }\n get failed() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n * @deprecated\n */\n createUrl() {\n let url = this.url;\n url += `?callback=__googleMapsCallback&loading=async`;\n if (this.apiKey) {\n url += `&key=${this.apiKey}`;\n }\n if (this.channel) {\n url += `&channel=${this.channel}`;\n }\n if (this.client) {\n url += `&client=${this.client}`;\n }\n if (this.libraries.length > 0) {\n url += `&libraries=${this.libraries.join(\",\")}`;\n }\n if (this.language) {\n url += `&language=${this.language}`;\n }\n if (this.region) {\n url += `&region=${this.region}`;\n }\n if (this.version) {\n url += `&v=${this.version}`;\n }\n if (this.mapIds) {\n url += `&map_ids=${this.mapIds.join(\",\")}`;\n }\n if (this.authReferrerPolicy) {\n url += `&auth_referrer_policy=${this.authReferrerPolicy}`;\n }\n return url;\n }\n deleteScript() {\n const script = document.getElementById(this.id);\n if (script) {\n script.remove();\n }\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n * @deprecated, use importLibrary() instead.\n */\n load() {\n return this.loadPromise();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n * @deprecated, use importLibrary() instead.\n */\n loadPromise() {\n return new Promise((resolve, reject) => {\n this.loadCallback((err) => {\n if (!err) {\n resolve(window.google);\n }\n else {\n reject(err.error);\n }\n });\n });\n }\n importLibrary(name) {\n this.execute();\n return google.maps.importLibrary(name);\n }\n /**\n * Load the Google Maps JavaScript API script with a callback.\n * @deprecated, use importLibrary() instead.\n */\n loadCallback(fn) {\n this.callbacks.push(fn);\n this.execute();\n }\n /**\n * Set the script on document.\n */\n setScript() {\n var _a, _b;\n if (document.getElementById(this.id)) {\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\n this.callback();\n return;\n }\n const params = {\n key: this.apiKey,\n channel: this.channel,\n client: this.client,\n libraries: this.libraries.length && this.libraries,\n v: this.version,\n mapIds: this.mapIds,\n language: this.language,\n region: this.region,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n // keep the URL minimal:\n Object.keys(params).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (key) => !params[key] && delete params[key]);\n if (!((_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.importLibrary)) {\n // tweaked copy of https://developers.google.com/maps/documentation/javascript/load-maps-js-api#dynamic-library-import\n // which also sets the base url, the id, and the nonce\n /* eslint-disable */\n ((g) => {\n // @ts-ignore\n let h, a, k, p = \"The Google Maps JavaScript API\", c = \"google\", l = \"importLibrary\", q = \"__ib__\", m = document, b = window;\n // @ts-ignore\n b = b[c] || (b[c] = {});\n // @ts-ignore\n const d = b.maps || (b.maps = {}), r = new Set(), e = new URLSearchParams(), u = () => \n // @ts-ignore\n h || (h = new Promise((f, n) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n yield (a = m.createElement(\"script\"));\n a.id = this.id;\n e.set(\"libraries\", [...r] + \"\");\n // @ts-ignore\n for (k in g)\n e.set(k.replace(/[A-Z]/g, (t) => \"_\" + t[0].toLowerCase()), g[k]);\n e.set(\"callback\", c + \".maps.\" + q);\n a.src = this.url + `?` + e;\n d[q] = f;\n a.onerror = () => (h = n(Error(p + \" could not load.\")));\n // @ts-ignore\n a.nonce = this.nonce || ((_a = m.querySelector(\"script[nonce]\")) === null || _a === void 0 ? void 0 : _a.nonce) || \"\";\n m.head.append(a);\n })));\n // @ts-ignore\n d[l] ? console.warn(p + \" only loads once. Ignoring:\", g) : (d[l] = (f, ...n) => r.add(f) && u().then(() => d[l](f, ...n)));\n })(params);\n /* eslint-enable */\n }\n // While most libraries populate the global namespace when loaded via bootstrap params,\n // this is not the case for \"marker\" when used with the inline bootstrap loader\n // (and maybe others in the future). So ensure there is an importLibrary for each:\n const libraryPromises = this.libraries.map((library) => this.importLibrary(library));\n // ensure at least one library, to kick off loading...\n if (!libraryPromises.length) {\n libraryPromises.push(this.importLibrary(\"core\"));\n }\n Promise.all(libraryPromises).then(() => this.callback(), (error) => {\n const event = new ErrorEvent(\"error\", { error }); // for backwards compat\n this.loadErrorCallback(event);\n });\n }\n /**\n * Reset the loader state.\n */\n reset() {\n this.deleteScript();\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.onerrorEvent = null;\n }\n resetIfRetryingFailed() {\n if (this.failed) {\n this.reset();\n }\n }\n loadErrorCallback(e) {\n this.errors.push(e);\n if (this.errors.length <= this.retries) {\n const delay = this.errors.length * Math.pow(2, this.errors.length);\n console.error(`Failed to load Google Maps script, retrying in ${delay} ms.`);\n setTimeout(() => {\n this.deleteScript();\n this.setScript();\n }, delay);\n }\n else {\n this.onerrorEvent = e;\n this.callback();\n }\n }\n callback() {\n this.done = true;\n this.loading = false;\n this.callbacks.forEach((cb) => {\n cb(this.onerrorEvent);\n });\n this.callbacks = [];\n }\n execute() {\n this.resetIfRetryingFailed();\n if (this.loading) {\n // do nothing but wait\n return;\n }\n if (this.done) {\n this.callback();\n }\n else {\n // short circuit and warn if google.maps is already loaded\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader. \" +\n \"This may result in undesirable behavior as options and script parameters may not match.\");\n this.callback();\n return;\n }\n this.loading = true;\n this.setScript();\n }\n }\n}\n\nexport { DEFAULT_ID, Loader, LoaderStatus };\n//# sourceMappingURL=index.mjs.map\n","import { Loader } from '@googlemaps/js-api-loader';\nimport keyBy from 'lodash-es/keyBy';\nimport { onMounted } from 'vue';\n\nimport type { Address, AddressOption } from '../../../types/address';\n\n/**\n * Parses an array of address components from the Google Maps API into an Address object\n * @see https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingAddressTypes\n * @param addressComponents An array of address components from the Google Maps API\n * @returns An Address object\n */\nfunction parseAddressComponents(\n addressComponents: Array<google.maps.GeocoderAddressComponent>,\n): Omit<Address, 'lat' | 'long' | 'placeId'> {\n const components = keyBy(addressComponents, 'types[0]');\n\n return {\n street_address:\n [components['street_number']?.['long_name'], components['route']?.['short_name']].filter(Boolean).join(' ') ||\n undefined,\n extended_address: components['premise']?.['long_name'] || components['subpremise']?.['long_name'],\n state: components['administrative_area_level_1']?.['short_name'],\n postal_code: components['postal_code']?.['long_name'],\n city:\n components['locality']?.['long_name'] ||\n components?.['administrative_area_level_2']?.['long_name'] ||\n components?.['sublocality_level_1']?.['long_name'] ||\n components?.['sublocality']?.['long_name'],\n country: components['country']?.['short_name'],\n };\n}\n\nexport default function useGoogleMaps(apiKey: string) {\n let autocompleteService: google.maps.places.AutocompleteService | null = null;\n let placesService: google.maps.places.PlacesService | null = null;\n\n function getPlacePredictions(query: string): Promise<Array<AddressOption>> {\n return new Promise((resolve, reject) => {\n if (!autocompleteService) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({ isGoogleMapsError: false, message: 'Autocomplete service not initialized' });\n return;\n }\n\n autocompleteService.getPlacePredictions({ input: query }, (predictions, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({\n isGoogleMapsError: true,\n message: `Failed to get query predictions with status ${status}`,\n status,\n });\n reject(status);\n return;\n }\n\n const options = (predictions || []).map(({ place_id, description }) => ({\n id: place_id,\n name: description,\n }));\n\n resolve(options);\n });\n });\n }\n\n function getPlaceDetails(placeId: string): Promise<Address> {\n return new Promise((resolve, reject) => {\n if (!placesService) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({ isGoogleMapsError: false, message: 'Places service not initialized' });\n return;\n }\n\n placesService.getDetails({ placeId, fields: ['address_components', 'geometry'] }, (placeResult, status) => {\n if (status !== google.maps.places.PlacesServiceStatus.OK) {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject({\n isGoogleMapsError: true,\n message: `Failed to get place details with status ${status}`,\n status,\n });\n return;\n }\n\n const partialAddress = parseAddressComponents(placeResult?.address_components || []);\n\n const address: Address = {\n ...partialAddress,\n lat: placeResult?.geometry?.location?.lat(),\n long: placeResult?.geometry?.location?.lng(),\n place_id: placeId,\n };\n\n resolve(address);\n });\n });\n }\n\n onMounted(() => {\n new Loader({\n apiKey,\n version: 'weekly',\n libraries: ['places'],\n })\n .importLibrary('places')\n .then((placesLib) => {\n autocompleteService = new placesLib.AutocompleteService();\n placesService = new placesLib.PlacesService(document.createElement('div'));\n });\n });\n\n return { getPlaceDetails, getPlacePredictions };\n}\n\nexport type { Address, AddressOption };\n"],"names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","e","rejected","result","getDefaultExportFromCjs","x","fastDeepEqual","equal","a","b","length","i","keys","key","isEqual","DEFAULT_ID","LoaderStatus","Loader","apiKey","authReferrerPolicy","channel","client","id","language","libraries","mapIds","nonce","region","retries","url","version","script","err","name","fn","_a","_b","params","g","h","k","p","c","l","q","m","d","r","u","f","n","t","libraryPromises","library","error","event","delay","cb","parseAddressComponents","addressComponents","components","keyBy","_c","_d","_e","_f","_g","_h","_i","_j","_k","useGoogleMaps","autocompleteService","placesService","getPlacePredictions","query","predictions","status","options","place_id","description","getPlaceDetails","placeId","placeResult","address","onMounted","placesLib"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,11 @@
1
1
  import { ComputedRef } from 'vue';
2
2
  import { MaybeRefOrGetter } from 'vue';
3
+ import { Ref } from 'vue';
4
+
5
+ export declare interface QueryCacheItem {
6
+ hasMatches: Ref<boolean>;
7
+ mediaQueryList: MediaQueryList;
8
+ }
3
9
 
4
10
  /**
5
11
  * Given a media query, this composable returns a reactive boolean indicating if the current window dimensions match the media query.
@@ -1,27 +1,31 @@
1
1
  import { toValue as t, ref as h, watch as d, onScopeDispose as m, computed as u } from "vue";
2
- const i = /* @__PURE__ */ new Map();
2
+ const s = /* @__PURE__ */ new Map();
3
3
  function f(e) {
4
- i.has(t(e)) || i.set(t(e), {
4
+ s.has(t(e)) || s.set(t(e), {
5
5
  hasMatches: h(!1),
6
6
  mediaQueryList: window.matchMedia(t(e))
7
7
  });
8
- const a = i.get(t(e));
9
- function s(o) {
10
- a.hasMatches.value = o.matches;
8
+ const a = s.get(t(e));
9
+ function n(i) {
10
+ a.hasMatches.value = i.matches;
11
11
  }
12
- function n() {
13
- typeof a.mediaQueryList?.removeEventListener == "function" && a.mediaQueryList.removeEventListener("change", s);
12
+ function c() {
13
+ var i;
14
+ typeof ((i = a.mediaQueryList) == null ? void 0 : i.removeEventListener) == "function" && a.mediaQueryList.removeEventListener("change", n);
14
15
  }
15
- const c = d(
16
+ const o = d(
16
17
  () => t(e),
17
18
  () => {
18
- n(), a.mediaQueryList = window.matchMedia(t(e)), a.mediaQueryList.addEventListener("change", s), a.hasMatches.value = a.mediaQueryList.matches;
19
+ c(), a.mediaQueryList = window.matchMedia(t(e)), a.mediaQueryList.addEventListener("change", n), a.hasMatches.value = a.mediaQueryList.matches;
19
20
  },
20
21
  { immediate: !0 }
21
22
  );
22
23
  return m(() => {
23
- c(), n(), i.delete(t(e));
24
- }), u(() => !!i.get(t(e))?.hasMatches.value);
24
+ o(), c(), s.delete(t(e));
25
+ }), u(() => {
26
+ var i;
27
+ return !!((i = s.get(t(e))) != null && i.hasMatches.value);
28
+ });
25
29
  }
26
30
  export {
27
31
  f as default
@@ -1 +1 @@
1
- {"version":3,"file":"useMediaQuery.js","sources":["../src/composables/useMediaQuery/useMediaQuery.ts"],"sourcesContent":["import { computed, MaybeRefOrGetter, onScopeDispose, Ref, ref, toValue, watch } from 'vue';\n\nexport interface QueryCacheItem {\n hasMatches: Ref<boolean>;\n mediaQueryList: MediaQueryList;\n}\n\nconst queryCache = new Map<string, QueryCacheItem>();\n\n/**\n * Given a media query, this composable returns a reactive boolean indicating if the current window dimensions match the media query.\n */\nexport default function useMediaQuery(query: MaybeRefOrGetter<string>) {\n if (!queryCache.has(toValue(query))) {\n queryCache.set(toValue(query), {\n hasMatches: ref(false),\n mediaQueryList: window.matchMedia(toValue(query)),\n });\n }\n\n const queryCacheItem = queryCache.get(toValue(query)) as QueryCacheItem;\n\n function onMediaChange(event: MediaQueryListEvent) {\n queryCacheItem.hasMatches.value = event.matches;\n }\n\n function cleanup() {\n if (typeof queryCacheItem.mediaQueryList?.removeEventListener === 'function') {\n queryCacheItem.mediaQueryList.removeEventListener('change', onMediaChange);\n }\n }\n\n const stopWatch = watch(\n () => toValue(query),\n () => {\n cleanup();\n\n queryCacheItem.mediaQueryList = window.matchMedia(toValue(query));\n queryCacheItem.mediaQueryList.addEventListener('change', onMediaChange);\n queryCacheItem.hasMatches.value = queryCacheItem.mediaQueryList.matches;\n },\n { immediate: true },\n );\n\n onScopeDispose(() => {\n stopWatch();\n cleanup();\n queryCache.delete(toValue(query));\n });\n\n return computed(() => !!queryCache.get(toValue(query))?.hasMatches.value);\n}\n"],"names":["queryCache","useMediaQuery","query","toValue","ref","queryCacheItem","onMediaChange","event","cleanup","stopWatch","watch","onScopeDispose","computed"],"mappings":";AAOA,MAAMA,wBAAiB,IAAA;AAKvB,SAAwBC,EAAcC,GAAiC;AACrE,EAAKF,EAAW,IAAIG,EAAQD,CAAK,CAAC,KAChCF,EAAW,IAAIG,EAAQD,CAAK,GAAG;AAAA,IAC7B,YAAYE,EAAI,EAAK;AAAA,IACrB,gBAAgB,OAAO,WAAWD,EAAQD,CAAK,CAAC;AAAA,EAAA,CACjD;AAGH,QAAMG,IAAiBL,EAAW,IAAIG,EAAQD,CAAK,CAAC;AAEpD,WAASI,EAAcC,GAA4B;AACjD,IAAAF,EAAe,WAAW,QAAQE,EAAM;AAAA,EAC1C;AAEA,WAASC,IAAU;AACjB,IAAI,OAAOH,EAAe,gBAAgB,uBAAwB,cAChEA,EAAe,eAAe,oBAAoB,UAAUC,CAAa;AAAA,EAE7E;AAEA,QAAMG,IAAYC;AAAA,IAChB,MAAMP,EAAQD,CAAK;AAAA,IACnB,MAAM;AACJ,MAAAM,EAAA,GAEAH,EAAe,iBAAiB,OAAO,WAAWF,EAAQD,CAAK,CAAC,GAChEG,EAAe,eAAe,iBAAiB,UAAUC,CAAa,GACtED,EAAe,WAAW,QAAQA,EAAe,eAAe;AAAA,IAClE;AAAA,IACA,EAAE,WAAW,GAAA;AAAA,EAAK;AAGpB,SAAAM,EAAe,MAAM;AACnB,IAAAF,EAAA,GACAD,EAAA,GACAR,EAAW,OAAOG,EAAQD,CAAK,CAAC;AAAA,EAClC,CAAC,GAEMU,EAAS,MAAM,CAAC,CAACZ,EAAW,IAAIG,EAAQD,CAAK,CAAC,GAAG,WAAW,KAAK;AAC1E;"}
1
+ {"version":3,"file":"useMediaQuery.js","sources":["../src/composables/useMediaQuery/useMediaQuery.ts"],"sourcesContent":["import { computed, MaybeRefOrGetter, onScopeDispose, Ref, ref, toValue, watch } from 'vue';\n\nexport interface QueryCacheItem {\n hasMatches: Ref<boolean>;\n mediaQueryList: MediaQueryList;\n}\n\nconst queryCache = new Map<string, QueryCacheItem>();\n\n/**\n * Given a media query, this composable returns a reactive boolean indicating if the current window dimensions match the media query.\n */\nexport default function useMediaQuery(query: MaybeRefOrGetter<string>) {\n if (!queryCache.has(toValue(query))) {\n queryCache.set(toValue(query), {\n hasMatches: ref(false),\n mediaQueryList: window.matchMedia(toValue(query)),\n });\n }\n\n const queryCacheItem = queryCache.get(toValue(query)) as QueryCacheItem;\n\n function onMediaChange(event: MediaQueryListEvent) {\n queryCacheItem.hasMatches.value = event.matches;\n }\n\n function cleanup() {\n if (typeof queryCacheItem.mediaQueryList?.removeEventListener === 'function') {\n queryCacheItem.mediaQueryList.removeEventListener('change', onMediaChange);\n }\n }\n\n const stopWatch = watch(\n () => toValue(query),\n () => {\n cleanup();\n\n queryCacheItem.mediaQueryList = window.matchMedia(toValue(query));\n queryCacheItem.mediaQueryList.addEventListener('change', onMediaChange);\n queryCacheItem.hasMatches.value = queryCacheItem.mediaQueryList.matches;\n },\n { immediate: true },\n );\n\n onScopeDispose(() => {\n stopWatch();\n cleanup();\n queryCache.delete(toValue(query));\n });\n\n return computed(() => !!queryCache.get(toValue(query))?.hasMatches.value);\n}\n"],"names":["queryCache","useMediaQuery","query","toValue","ref","queryCacheItem","onMediaChange","event","cleanup","_a","stopWatch","watch","onScopeDispose","computed"],"mappings":";AAOA,MAAMA,wBAAiB,IAA4B;AAKnD,SAAwBC,EAAcC,GAAiC;AACrE,EAAKF,EAAW,IAAIG,EAAQD,CAAK,CAAC,KACrBF,EAAA,IAAIG,EAAQD,CAAK,GAAG;AAAA,IAC7B,YAAYE,EAAI,EAAK;AAAA,IACrB,gBAAgB,OAAO,WAAWD,EAAQD,CAAK,CAAC;AAAA,EAAA,CACjD;AAGH,QAAMG,IAAiBL,EAAW,IAAIG,EAAQD,CAAK,CAAC;AAEpD,WAASI,EAAcC,GAA4B;AAClC,IAAAF,EAAA,WAAW,QAAQE,EAAM;AAAA,EAAA;AAG1C,WAASC,IAAU;;AACjB,IAAI,SAAOC,IAAAJ,EAAe,mBAAf,gBAAAI,EAA+B,wBAAwB,cACjDJ,EAAA,eAAe,oBAAoB,UAAUC,CAAa;AAAA,EAC3E;AAGF,QAAMI,IAAYC;AAAA,IAChB,MAAMR,EAAQD,CAAK;AAAA,IACnB,MAAM;AACI,MAAAM,EAAA,GAERH,EAAe,iBAAiB,OAAO,WAAWF,EAAQD,CAAK,CAAC,GACjDG,EAAA,eAAe,iBAAiB,UAAUC,CAAa,GACvDD,EAAA,WAAW,QAAQA,EAAe,eAAe;AAAA,IAClE;AAAA,IACA,EAAE,WAAW,GAAK;AAAA,EACpB;AAEA,SAAAO,EAAe,MAAM;AACT,IAAAF,EAAA,GACFF,EAAA,GACGR,EAAA,OAAOG,EAAQD,CAAK,CAAC;AAAA,EAAA,CACjC,GAEMW,EAAS;;AAAM,YAAC,GAACJ,IAAAT,EAAW,IAAIG,EAAQD,CAAK,CAAC,MAA7B,QAAAO,EAAgC,WAAW;AAAA,GAAK;AAC1E;"}
@@ -5,7 +5,7 @@ declare interface CloseArgs {
5
5
  name?: string;
6
6
  }
7
7
 
8
- declare interface Modal<TAttributes = Record<string, unknown>> {
8
+ export declare interface Modal<TAttributes = Record<string, unknown>> {
9
9
  /**
10
10
  * Import the modal that you want to use in your component,
11
11
  * then pass that to the composable
@@ -1 +1 @@
1
- {"version":3,"file":"useModals.js","sources":["../src/composables/useModals/useModals.ts"],"sourcesContent":["import merge from 'lodash-es/merge';\nimport { Component, computed, markRaw, reactive, readonly, ref } from 'vue';\n\n// Utility type that maps each property of T to unknown, making it compatible with Record<string, unknown>\n// this ensures that the attributes property of the Modal interface can be used with custom types defined downstream\n// while still being compatible with the Record<string, unknown> type\ntype ToRecord<T> = {\n [P in keyof T]: T[P];\n};\n\n// #region modal-interface\nexport interface Modal<TAttributes = Record<string, unknown>> {\n /**\n * Import the modal that you want to use in your component,\n * then pass that to the composable\n */\n component: Component;\n\n /**\n * Optional identifier used to close a modal. The default value is `component.name` (if defined).\n */\n name?: string;\n\n /**\n * Props and listeners to passed through.\n *\n * Listeners need to be formatted as `onEventName`\n */\n attributes?: ToRecord<TAttributes>;\n\n /**\n * Dyanmic slots that you want rendered in the format of\n * { default: 'my slot content' }\n *\n * The Modals component which renders this list passes the value for slots through\n * a html sanitizer to avoid XSS attacks\n */\n slots?: Record<string, string>;\n\n /**\n * Custom options to use for the given modal.\n *\n * If options are not passed in, then useModals will set the following values as defaults\n *\n * {\n * disableDefaultListeners: false\n * }\n */\n options?: {\n disableDefaultListeners?: boolean;\n };\n}\n// #endregion modal-interface\n\ninterface CloseArgs {\n index?: number;\n name?: string;\n}\n\nconst active = ref<Modal[]>([]);\n\ninterface UseModals {\n active: Readonly<Modal[]>;\n current: Readonly<Modal | null>;\n open: <T>(modal: Modal<T>) => void;\n close: (args?: CloseArgs) => void;\n closeAll: () => void;\n}\n\nexport default function useModals(): UseModals {\n // T is the custom interface of the attributes that are passed to the modal\n function open<T>(modal: Modal<T>) {\n if (!modal.name && modal.component.name) {\n modal.name = modal.component.name;\n }\n\n //Prevent vue from making the entire component passed in reactive to avoid unnecessary performance overhead\n modal.component = markRaw(modal.component);\n\n const optionsDefaults: Modal['options'] = {\n disableDefaultListeners: false,\n };\n\n modal.options = merge({}, optionsDefaults, modal.options);\n\n active.value.push(modal);\n }\n\n function close({ index, name }: CloseArgs = {}) {\n if (index === undefined && !name) {\n active.value.shift();\n return;\n }\n\n if (index !== undefined) {\n active.value.splice(index, 1);\n return;\n }\n\n if (name) {\n const index = active.value.findIndex((modal) => modal.name === name);\n\n if (index === -1) return;\n\n active.value.splice(index, 1);\n return;\n }\n }\n\n function closeAll() {\n active.value = [];\n }\n\n const currentModal = computed(() => (active.value.length ? active.value[0] : null));\n\n // @ts-expect-error - Stupid TS version issues. Todo: remove comment, fix ts issues.\n return reactive({\n /**\n * The list of modals that are currently open.\n */\n active: readonly(active),\n\n /**\n * The first modal in the active list (index: 0).\n */\n current: readonly(currentModal),\n\n /**\n * Opens the given modal.\n */\n open,\n\n /**\n * Closes a modal.\n * If no arguments are passed, then the top-most modal is closed.\n * If an index is passed, then the modal at that index is closed.\n * If a name is passed, then the modal with that name is closed.\n */\n close,\n\n /**\n * Closes all active/open modals.\n */\n closeAll,\n });\n}\n"],"names":["active","ref","useModals","open","modal","markRaw","optionsDefaults","merge","close","index","name","closeAll","currentModal","computed","reactive","readonly"],"mappings":";;AA2DA,MAAMA,IAASC,EAAa,EAAE;AAU9B,SAAwBC,IAAuB;AAE7C,WAASC,EAAQC,GAAiB;AAChC,IAAI,CAACA,EAAM,QAAQA,EAAM,UAAU,SACjCA,EAAM,OAAOA,EAAM,UAAU,OAI/BA,EAAM,YAAYC,EAAQD,EAAM,SAAS;AAEzC,UAAME,IAAoC;AAAA,MACxC,yBAAyB;AAAA,IAAA;AAG3B,IAAAF,EAAM,UAAUG,EAAM,CAAA,GAAID,GAAiBF,EAAM,OAAO,GAExDJ,EAAO,MAAM,KAAKI,CAAK;AAAA,EACzB;AAEA,WAASI,EAAM,EAAE,OAAAC,GAAO,MAAAC,EAAA,IAAoB,CAAA,GAAI;AAC9C,QAAID,MAAU,UAAa,CAACC,GAAM;AAChC,MAAAV,EAAO,MAAM,MAAA;AACb;AAAA,IACF;AAEA,QAAIS,MAAU,QAAW;AACvB,MAAAT,EAAO,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA,IACF;AAEA,QAAIC,GAAM;AACR,YAAMD,IAAQT,EAAO,MAAM,UAAU,CAACI,MAAUA,EAAM,SAASM,CAAI;AAEnE,UAAID,MAAU,GAAI;AAElB,MAAAT,EAAO,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA,IACF;AAAA,EACF;AAEA,WAASE,IAAW;AAClB,IAAAX,EAAO,QAAQ,CAAA;AAAA,EACjB;AAEA,QAAMY,IAAeC,EAAS,MAAOb,EAAO,MAAM,SAASA,EAAO,MAAM,CAAC,IAAI,IAAK;AAGlF,SAAOc,EAAS;AAAA;AAAA;AAAA;AAAA,IAId,QAAQC,EAASf,CAAM;AAAA;AAAA;AAAA;AAAA,IAKvB,SAASe,EAASH,CAAY;AAAA;AAAA;AAAA;AAAA,IAK9B,MAAAT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,OAAAK;AAAA;AAAA;AAAA;AAAA,IAKA,UAAAG;AAAA,EAAA,CACD;AACH;"}
1
+ {"version":3,"file":"useModals.js","sources":["../src/composables/useModals/useModals.ts"],"sourcesContent":["import merge from 'lodash-es/merge';\nimport { Component, computed, markRaw, reactive, readonly, ref } from 'vue';\n\n// Utility type that maps each property of T to unknown, making it compatible with Record<string, unknown>\n// this ensures that the attributes property of the Modal interface can be used with custom types defined downstream\n// while still being compatible with the Record<string, unknown> type\ntype ToRecord<T> = {\n [P in keyof T]: T[P];\n};\n\n// #region modal-interface\nexport interface Modal<TAttributes = Record<string, unknown>> {\n /**\n * Import the modal that you want to use in your component,\n * then pass that to the composable\n */\n component: Component;\n\n /**\n * Optional identifier used to close a modal. The default value is `component.name` (if defined).\n */\n name?: string;\n\n /**\n * Props and listeners to passed through.\n *\n * Listeners need to be formatted as `onEventName`\n */\n attributes?: ToRecord<TAttributes>;\n\n /**\n * Dyanmic slots that you want rendered in the format of\n * { default: 'my slot content' }\n *\n * The Modals component which renders this list passes the value for slots through\n * a html sanitizer to avoid XSS attacks\n */\n slots?: Record<string, string>;\n\n /**\n * Custom options to use for the given modal.\n *\n * If options are not passed in, then useModals will set the following values as defaults\n *\n * {\n * disableDefaultListeners: false\n * }\n */\n options?: {\n disableDefaultListeners?: boolean;\n };\n}\n// #endregion modal-interface\n\ninterface CloseArgs {\n index?: number;\n name?: string;\n}\n\nconst active = ref<Modal[]>([]);\n\ninterface UseModals {\n active: Readonly<Modal[]>;\n current: Readonly<Modal | null>;\n open: <T>(modal: Modal<T>) => void;\n close: (args?: CloseArgs) => void;\n closeAll: () => void;\n}\n\nexport default function useModals(): UseModals {\n // T is the custom interface of the attributes that are passed to the modal\n function open<T>(modal: Modal<T>) {\n if (!modal.name && modal.component.name) {\n modal.name = modal.component.name;\n }\n\n //Prevent vue from making the entire component passed in reactive to avoid unnecessary performance overhead\n modal.component = markRaw(modal.component);\n\n const optionsDefaults: Modal['options'] = {\n disableDefaultListeners: false,\n };\n\n modal.options = merge({}, optionsDefaults, modal.options);\n\n active.value.push(modal);\n }\n\n function close({ index, name }: CloseArgs = {}) {\n if (index === undefined && !name) {\n active.value.shift();\n return;\n }\n\n if (index !== undefined) {\n active.value.splice(index, 1);\n return;\n }\n\n if (name) {\n const index = active.value.findIndex((modal) => modal.name === name);\n\n if (index === -1) return;\n\n active.value.splice(index, 1);\n return;\n }\n }\n\n function closeAll() {\n active.value = [];\n }\n\n const currentModal = computed(() => (active.value.length ? active.value[0] : null));\n\n // @ts-expect-error - Stupid TS version issues. Todo: remove comment, fix ts issues.\n return reactive({\n /**\n * The list of modals that are currently open.\n */\n active: readonly(active),\n\n /**\n * The first modal in the active list (index: 0).\n */\n current: readonly(currentModal),\n\n /**\n * Opens the given modal.\n */\n open,\n\n /**\n * Closes a modal.\n * If no arguments are passed, then the top-most modal is closed.\n * If an index is passed, then the modal at that index is closed.\n * If a name is passed, then the modal with that name is closed.\n */\n close,\n\n /**\n * Closes all active/open modals.\n */\n closeAll,\n });\n}\n"],"names":["active","ref","useModals","open","modal","markRaw","optionsDefaults","merge","close","index","name","closeAll","currentModal","computed","reactive","readonly"],"mappings":";;AA2DA,MAAMA,IAASC,EAAa,EAAE;AAU9B,SAAwBC,IAAuB;AAE7C,WAASC,EAAQC,GAAiB;AAChC,IAAI,CAACA,EAAM,QAAQA,EAAM,UAAU,SAC3BA,EAAA,OAAOA,EAAM,UAAU,OAIzBA,EAAA,YAAYC,EAAQD,EAAM,SAAS;AAEzC,UAAME,IAAoC;AAAA,MACxC,yBAAyB;AAAA,IAC3B;AAEA,IAAAF,EAAM,UAAUG,EAAM,CAAI,GAAAD,GAAiBF,EAAM,OAAO,GAEjDJ,EAAA,MAAM,KAAKI,CAAK;AAAA,EAAA;AAGzB,WAASI,EAAM,EAAE,OAAAC,GAAO,MAAAC,EAAK,IAAe,CAAA,GAAI;AAC1C,QAAAD,MAAU,UAAa,CAACC,GAAM;AAChC,MAAAV,EAAO,MAAM,MAAM;AACnB;AAAA,IAAA;AAGF,QAAIS,MAAU,QAAW;AAChB,MAAAT,EAAA,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA,IAAA;AAGF,QAAIC,GAAM;AACFD,YAAAA,IAAQT,EAAO,MAAM,UAAU,CAACI,MAAUA,EAAM,SAASM,CAAI;AAEnE,UAAID,MAAU,GAAI;AAEX,MAAAT,EAAA,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA,IAAA;AAAA,EACF;AAGF,WAASE,IAAW;AAClB,IAAAX,EAAO,QAAQ,CAAC;AAAA,EAAA;AAGZ,QAAAY,IAAeC,EAAS,MAAOb,EAAO,MAAM,SAASA,EAAO,MAAM,CAAC,IAAI,IAAK;AAGlF,SAAOc,EAAS;AAAA;AAAA;AAAA;AAAA,IAId,QAAQC,EAASf,CAAM;AAAA;AAAA;AAAA;AAAA,IAKvB,SAASe,EAASH,CAAY;AAAA;AAAA;AAAA;AAAA,IAK9B,MAAAT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,OAAAK;AAAA;AAAA;AAAA;AAAA,IAKA,UAAAG;AAAA,EAAA,CACD;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePaginationStats-d_q39naC.js","sources":["../src/composables/usePaginationStats/usePaginationStats.ts"],"sourcesContent":["import { computed, MaybeRefOrGetter, toValue } from 'vue';\n\nimport { t } from '../../locale';\n\ninterface UsePaginationStatsArgs {\n currentPage: MaybeRefOrGetter<number>;\n pageSize: MaybeRefOrGetter<number>;\n totalItems: MaybeRefOrGetter<number>;\n}\n\nexport default function usePaginationStats({ currentPage, pageSize, totalItems }: UsePaginationStatsArgs) {\n return computed(() => {\n const pageSizeVal = toValue(pageSize);\n const currentPageVal = toValue(currentPage);\n const totalItemsVal = toValue(totalItems);\n\n const from = pageSizeVal * (currentPageVal - 1) + 1;\n const to = Math.min(pageSizeVal * currentPageVal, totalItemsVal);\n const total = totalItemsVal === Infinity ? t('ll.many').toLowerCase() : totalItemsVal;\n\n return { from, to, total };\n });\n}\n"],"names":["usePaginationStats","currentPage","pageSize","totalItems","computed","pageSizeVal","toValue","currentPageVal","totalItemsVal","from","to","total","t"],"mappings":";;AAUA,SAAwBA,EAAmB,EAAE,aAAAC,GAAa,UAAAC,GAAU,YAAAC,KAAsC;AACxG,SAAOC,EAAS,MAAM;AACpB,UAAMC,IAAcC,EAAQJ,CAAQ,GAC9BK,IAAiBD,EAAQL,CAAW,GACpCO,IAAgBF,EAAQH,CAAU,GAElCM,IAAOJ,KAAeE,IAAiB,KAAK,GAC5CG,IAAK,KAAK,IAAIL,IAAcE,GAAgBC,CAAa,GACzDG,IAAQH,MAAkB,QAAWI,EAAE,SAAS,EAAE,gBAAgBJ;AAExE,WAAO,EAAE,MAAAC,GAAM,IAAAC,GAAI,OAAAC,EAAA;AAAA,EACrB,CAAC;AACH;"}
1
+ {"version":3,"file":"usePaginationStats-d_q39naC.js","sources":["../src/composables/usePaginationStats/usePaginationStats.ts"],"sourcesContent":["import { computed, MaybeRefOrGetter, toValue } from 'vue';\n\nimport { t } from '../../locale';\n\ninterface UsePaginationStatsArgs {\n currentPage: MaybeRefOrGetter<number>;\n pageSize: MaybeRefOrGetter<number>;\n totalItems: MaybeRefOrGetter<number>;\n}\n\nexport default function usePaginationStats({ currentPage, pageSize, totalItems }: UsePaginationStatsArgs) {\n return computed(() => {\n const pageSizeVal = toValue(pageSize);\n const currentPageVal = toValue(currentPage);\n const totalItemsVal = toValue(totalItems);\n\n const from = pageSizeVal * (currentPageVal - 1) + 1;\n const to = Math.min(pageSizeVal * currentPageVal, totalItemsVal);\n const total = totalItemsVal === Infinity ? t('ll.many').toLowerCase() : totalItemsVal;\n\n return { from, to, total };\n });\n}\n"],"names":["usePaginationStats","currentPage","pageSize","totalItems","computed","pageSizeVal","toValue","currentPageVal","totalItemsVal","from","to","total","t"],"mappings":";;AAUA,SAAwBA,EAAmB,EAAE,aAAAC,GAAa,UAAAC,GAAU,YAAAC,KAAsC;AACxG,SAAOC,EAAS,MAAM;AACd,UAAAC,IAAcC,EAAQJ,CAAQ,GAC9BK,IAAiBD,EAAQL,CAAW,GACpCO,IAAgBF,EAAQH,CAAU,GAElCM,IAAOJ,KAAeE,IAAiB,KAAK,GAC5CG,IAAK,KAAK,IAAIL,IAAcE,GAAgBC,CAAa,GACzDG,IAAQH,MAAkB,QAAWI,EAAE,SAAS,EAAE,gBAAgBJ;AAEjE,WAAA,EAAE,MAAAC,GAAM,IAAAC,GAAI,OAAAC,EAAM;AAAA,EAAA,CAC1B;AACH;"}