@leaflink/stash 49.4.1 → 50.0.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 (419) hide show
  1. package/assets/fonts/sofia/SofiaProMedium.otf +0 -0
  2. package/assets/fonts/sofia/SofiaProRegular.otf +0 -0
  3. package/assets/fonts/sofia/SofiaProSemiBold.otf +0 -0
  4. package/dist/Accordion.js +25 -28
  5. package/dist/Accordion.js.map +1 -1
  6. package/dist/Accordion.vue.d.ts +16 -16
  7. package/dist/ActionsDropdown.js +14 -26
  8. package/dist/ActionsDropdown.js.map +1 -1
  9. package/dist/ActionsDropdown.vue.d.ts +12 -12
  10. package/dist/AddressSelect.js +22 -47
  11. package/dist/AddressSelect.js.map +1 -1
  12. package/dist/AddressSelect.vue.d.ts +45 -45
  13. package/dist/Alert.js +4 -6
  14. package/dist/Alert.js.map +1 -1
  15. package/dist/Alert.vue.d.ts +18 -18
  16. package/dist/AppNavigationItem.js +16 -19
  17. package/dist/AppNavigationItem.js.map +1 -1
  18. package/dist/AppNavigationItem.vue.d.ts +4 -4
  19. package/dist/AppSidebar.js +27 -28
  20. package/dist/AppSidebar.js.map +1 -1
  21. package/dist/AppSidebar.vue.d.ts +7 -7
  22. package/dist/AppTopbar.js +12 -17
  23. package/dist/AppTopbar.js.map +1 -1
  24. package/dist/AppTopbar.vue.d.ts +8 -8
  25. package/dist/Avatar.js +1 -1
  26. package/dist/Avatar.vue.d.ts +22 -22
  27. package/dist/Backdrop.js +1 -1
  28. package/dist/Backdrop.vue.d.ts +1 -1
  29. package/dist/Badge.js +1 -1
  30. package/dist/Badge.js.map +1 -1
  31. package/dist/Badge.vue.d.ts +36 -36
  32. package/dist/Box.js +2 -3
  33. package/dist/Box.js.map +1 -1
  34. package/dist/Box.vue.d.ts +12 -12
  35. package/dist/{Box.vue_vue_type_script_setup_true_lang-69e5176b.js → Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js} +1 -1
  36. package/dist/{Box.vue_vue_type_script_setup_true_lang-69e5176b.js.map → Box.vue_vue_type_script_setup_true_lang-DgJHq-09.js.map} +1 -1
  37. package/dist/Button.js +40 -27
  38. package/dist/Button.js.map +1 -1
  39. package/dist/Button.vue.d.ts +34 -27
  40. package/dist/ButtonGroup.js +1 -1
  41. package/dist/ButtonGroup.vue.d.ts +14 -14
  42. package/dist/Card.vue.d.ts +3 -3
  43. package/dist/CardContent.js +1 -1
  44. package/dist/CardContent.vue.d.ts +1 -1
  45. package/dist/CardFooter.js +1 -1
  46. package/dist/CardFooter.vue.d.ts +1 -1
  47. package/dist/CardMedia.js +11 -14
  48. package/dist/CardMedia.js.map +1 -1
  49. package/dist/Carousel.js +179 -180
  50. package/dist/Carousel.js.map +1 -1
  51. package/dist/Carousel.vue.d.ts +33 -11
  52. package/dist/Checkbox.js +38 -35
  53. package/dist/Checkbox.js.map +1 -1
  54. package/dist/Checkbox.vue.d.ts +31 -31
  55. package/dist/ChevronToggle.js +2 -10
  56. package/dist/ChevronToggle.js.map +1 -1
  57. package/dist/ChevronToggle.vue.d.ts +5 -5
  58. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js → ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js} +1 -1
  59. package/dist/{ChevronToggle.vue_vue_type_script_setup_true_lang-fcdf0c19.js.map → ChevronToggle.vue_vue_type_script_setup_true_lang-DuvluoTi.js.map} +1 -1
  60. package/dist/Chip.js +17 -20
  61. package/dist/Chip.js.map +1 -1
  62. package/dist/Chip.vue.d.ts +32 -32
  63. package/dist/ConfirmationCodeInput.js +1 -1
  64. package/dist/ConfirmationCodeInput.js.map +1 -1
  65. package/dist/ConfirmationCodeInput.vue.d.ts +29 -29
  66. package/dist/ContextSwitcher.js +8 -14
  67. package/dist/ContextSwitcher.js.map +1 -1
  68. package/dist/ContextSwitcher.vue.d.ts +32 -32
  69. package/dist/Copy.js +23 -34
  70. package/dist/Copy.js.map +1 -1
  71. package/dist/Copy.vue.d.ts +9 -9
  72. package/dist/CurrencyInput.js +117 -128
  73. package/dist/CurrencyInput.js.map +1 -1
  74. package/dist/CurrencyInput.vue.d.ts +26 -21
  75. package/dist/CustomRender.vue.d.ts +12 -1
  76. package/dist/DataView.js +70 -73
  77. package/dist/DataView.js.map +1 -1
  78. package/dist/{DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js → DataView.keys-C7eaZg2G.js} +5 -8
  79. package/dist/DataView.keys-C7eaZg2G.js.map +1 -0
  80. package/dist/DataView.vue.d.ts +51 -51
  81. package/dist/DataViewFilters.js +76 -90
  82. package/dist/DataViewFilters.js.map +1 -1
  83. package/dist/{DataViewFilters.keys-c80ffabe.js → DataViewFilters.keys-BLu07FiP.js} +1 -1
  84. package/dist/{DataViewFilters.keys-c80ffabe.js.map → DataViewFilters.keys-BLu07FiP.js.map} +1 -1
  85. package/dist/DataViewFilters.vue.d.ts +39 -39
  86. package/dist/DataViewSortButton.js +30 -43
  87. package/dist/DataViewSortButton.js.map +1 -1
  88. package/dist/DataViewSortButton.vue.d.ts +3 -3
  89. package/dist/DataViewToolbar.js +27 -36
  90. package/dist/DataViewToolbar.js.map +1 -1
  91. package/dist/DataViewToolbar.vue.d.ts +17 -17
  92. package/dist/DatePicker.js +649 -662
  93. package/dist/DatePicker.js.map +1 -1
  94. package/dist/DatePicker.vue.d.ts +73 -73
  95. package/dist/DescriptionList.js +1 -1
  96. package/dist/{DescriptionList.keys-c906ce05.js → DescriptionList.keys-BHlHYV6b.js} +1 -1
  97. package/dist/{DescriptionList.keys-c906ce05.js.map → DescriptionList.keys-BHlHYV6b.js.map} +1 -1
  98. package/dist/DescriptionList.vue.d.ts +6 -6
  99. package/dist/DescriptionListDetail.js +1 -1
  100. package/dist/DescriptionListDetail.vue.d.ts +1 -1
  101. package/dist/DescriptionListGroup.js +1 -1
  102. package/dist/DescriptionListGroup.vue.d.ts +1 -1
  103. package/dist/DescriptionListTerm.js +1 -1
  104. package/dist/DescriptionListTerm.vue.d.ts +1 -1
  105. package/dist/Dialog.js +26 -30
  106. package/dist/Dialog.js.map +1 -1
  107. package/dist/Dialog.vue.d.ts +34 -34
  108. package/dist/Divider.js +1 -1
  109. package/dist/Divider.js.map +1 -1
  110. package/dist/Divider.vue.d.ts +1 -1
  111. package/dist/Dropdown.js +21 -28
  112. package/dist/Dropdown.js.map +1 -1
  113. package/dist/Dropdown.vue.d.ts +28 -28
  114. package/dist/EmptyState.js +32 -33
  115. package/dist/EmptyState.js.map +1 -1
  116. package/dist/EmptyState.vue.d.ts +36 -36
  117. package/dist/Expand.js +2 -3
  118. package/dist/Expand.js.map +1 -1
  119. package/dist/Expand.vue.d.ts +14 -14
  120. package/dist/{Expand.vue_vue_type_script_setup_true_lang-0f236267.js → Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js} +1 -1
  121. package/dist/{Expand.vue_vue_type_script_setup_true_lang-0f236267.js.map → Expand.vue_vue_type_script_setup_true_lang-D0fSAtHr.js.map} +1 -1
  122. package/dist/Field.js +2 -7
  123. package/dist/Field.js.map +1 -1
  124. package/dist/Field.vue.d.ts +30 -30
  125. package/dist/{Field.vue_vue_type_script_setup_true_lang-fded4f75.js → Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js} +2 -2
  126. package/dist/{Field.vue_vue_type_script_setup_true_lang-fded4f75.js.map → Field.vue_vue_type_script_setup_true_lang-DjxUvSRF.js.map} +1 -1
  127. package/dist/FileUpload.js +58 -57
  128. package/dist/FileUpload.js.map +1 -1
  129. package/dist/FileUpload.vue.d.ts +28 -28
  130. package/dist/FilterChip.js +12 -17
  131. package/dist/FilterChip.js.map +1 -1
  132. package/dist/FilterChip.vue.d.ts +19 -19
  133. package/dist/FilterDrawerItem.js +24 -30
  134. package/dist/FilterDrawerItem.js.map +1 -1
  135. package/dist/FilterDrawerItem.vue.d.ts +2 -2
  136. package/dist/FilterDropdown.js +41 -57
  137. package/dist/FilterDropdown.js.map +1 -1
  138. package/dist/FilterDropdown.vue.d.ts +9 -9
  139. package/dist/FilterSelect.js +36 -45
  140. package/dist/FilterSelect.js.map +1 -1
  141. package/dist/FilterSelect.vue.d.ts +5 -5
  142. package/dist/Filters.js +60 -96
  143. package/dist/Filters.js.map +1 -1
  144. package/dist/Filters.vue.d.ts +2005 -2294
  145. package/dist/HttpError.js +16 -23
  146. package/dist/HttpError.js.map +1 -1
  147. package/dist/HttpError.vue.d.ts +18 -18
  148. package/dist/Icon.js +27 -22
  149. package/dist/Icon.js.map +1 -1
  150. package/dist/Icon.vue.d.ts +13 -13
  151. package/dist/IconLabel.js +9 -12
  152. package/dist/IconLabel.js.map +1 -1
  153. package/dist/IconLabel.vue.d.ts +17 -17
  154. package/dist/Illustration.js +8 -11
  155. package/dist/Illustration.js.map +1 -1
  156. package/dist/Illustration.vue.d.ts +21 -21
  157. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js → Illustration.vue_vue_type_script_setup_true_lang-C3qG3Ty6.js} +2 -2
  158. package/dist/{Illustration.vue_vue_type_script_setup_true_lang-e26c3841.js.map → Illustration.vue_vue_type_script_setup_true_lang-C3qG3Ty6.js.map} +1 -1
  159. package/dist/Image.js.map +1 -1
  160. package/dist/Image.vue.d.ts +18 -18
  161. package/dist/InlineEdit.js +19 -30
  162. package/dist/InlineEdit.js.map +1 -1
  163. package/dist/InlineEdit.vue.d.ts +26 -26
  164. package/dist/Input.js +58 -64
  165. package/dist/Input.js.map +1 -1
  166. package/dist/Input.vue.d.ts +44 -36
  167. package/dist/InputOptions.js +66 -93
  168. package/dist/InputOptions.js.map +1 -1
  169. package/dist/InputOptions.vue.d.ts +66 -58
  170. package/dist/IntegrationIcon.js +2 -2
  171. package/dist/IntegrationIcon.js.map +1 -1
  172. package/dist/IntegrationIcon.vue.d.ts +12 -12
  173. package/dist/Label.js +2 -5
  174. package/dist/Label.js.map +1 -1
  175. package/dist/Label.vue.d.ts +17 -17
  176. package/dist/{Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js → Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js} +1 -1
  177. package/dist/{Label.vue_vue_type_script_setup_true_lang-b6ba2f02.js.map → Label.vue_vue_type_script_setup_true_lang-C4JKdqvC.js.map} +1 -1
  178. package/dist/LicenseChip.js +10 -16
  179. package/dist/LicenseChip.js.map +1 -1
  180. package/dist/LicenseChip.vue.d.ts +3 -3
  181. package/dist/ListItem.js +5 -8
  182. package/dist/ListItem.js.map +1 -1
  183. package/dist/ListItem.vue.d.ts +275 -225
  184. package/dist/ListItemCell.js +1 -1
  185. package/dist/ListItemCell.js.map +1 -1
  186. package/dist/ListItemCell.vue.d.ts +13 -2
  187. package/dist/ListView.js +57 -101
  188. package/dist/ListView.js.map +1 -1
  189. package/dist/ListView.vue.d.ts +5185 -5430
  190. package/dist/Loading.js +12 -10
  191. package/dist/Loading.js.map +1 -1
  192. package/dist/Loading.vue.d.ts +1 -1
  193. package/dist/Logo.js +2 -4
  194. package/dist/Logo.js.map +1 -1
  195. package/dist/Logo.vue.d.ts +17 -17
  196. package/dist/{Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js → Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js} +1 -1
  197. package/dist/{Logo.vue_vue_type_script_setup_true_lang-2a2597cb.js.map → Logo.vue_vue_type_script_setup_true_lang-BfUU9J9O.js.map} +1 -1
  198. package/dist/Menu.js +1 -1
  199. package/dist/Menu.vue.d.ts +1 -1
  200. package/dist/MenuItem.js +1 -1
  201. package/dist/MenuItem.vue.d.ts +1 -1
  202. package/dist/{MenusPlugin-9288029a.js → MenusPlugin-Bk6UW6o9.js} +1 -1
  203. package/dist/{MenusPlugin-9288029a.js.map → MenusPlugin-Bk6UW6o9.js.map} +1 -1
  204. package/dist/Metric.vue.d.ts +10 -10
  205. package/dist/Modal.js +27 -32
  206. package/dist/Modal.js.map +1 -1
  207. package/dist/Modal.vue.d.ts +42 -42
  208. package/dist/Modals.js +14 -16
  209. package/dist/Modals.js.map +1 -1
  210. package/dist/Modals.vue.d.ts +1 -1
  211. package/dist/ModalsPlugin.js +9 -12
  212. package/dist/ModalsPlugin.js.map +1 -1
  213. package/dist/Module.js +3 -3
  214. package/dist/{Module.keys-2cc7d830.js → Module.keys-CEsrW2f0.js} +1 -1
  215. package/dist/{Module.keys-2cc7d830.js.map → Module.keys-CEsrW2f0.js.map} +1 -1
  216. package/dist/{Module.types-3f78f2a0.js → Module.types-B1FfGGac.js} +1 -1
  217. package/dist/{Module.types-3f78f2a0.js.map → Module.types-B1FfGGac.js.map} +1 -1
  218. package/dist/Module.vue.d.ts +3 -3
  219. package/dist/ModuleContent.js +2 -2
  220. package/dist/ModuleContent.vue.d.ts +1 -1
  221. package/dist/ModuleFooter.js +2 -2
  222. package/dist/ModuleFooter.vue.d.ts +1 -1
  223. package/dist/ModuleHeader.js +3 -3
  224. package/dist/ModuleHeader.vue.d.ts +15 -15
  225. package/dist/ObfuscateText.js +8 -13
  226. package/dist/ObfuscateText.js.map +1 -1
  227. package/dist/ObfuscateText.vue.d.ts +18 -18
  228. package/dist/PageContent.js +1 -1
  229. package/dist/PageContent.vue.d.ts +1 -1
  230. package/dist/PageHeader.js +26 -23
  231. package/dist/PageHeader.js.map +1 -1
  232. package/dist/PageHeader.vue.d.ts +7 -4
  233. package/dist/PageNavigation.js +41 -64
  234. package/dist/PageNavigation.js.map +1 -1
  235. package/dist/PageNavigation.vue.d.ts +10 -10
  236. package/dist/Paginate.js +36 -34
  237. package/dist/Paginate.js.map +1 -1
  238. package/dist/Paginate.vue.d.ts +11 -11
  239. package/dist/PlaidLink.js +3 -5
  240. package/dist/PlaidLink.js.map +1 -1
  241. package/dist/PlaidLink.vue.d.ts +29 -29
  242. package/dist/QuickAction.js +12 -15
  243. package/dist/QuickAction.js.map +1 -1
  244. package/dist/QuickAction.vue.d.ts +1 -1
  245. package/dist/Radio.js +1 -1
  246. package/dist/Radio.js.map +1 -1
  247. package/dist/Radio.vue.d.ts +83 -12
  248. package/dist/RadioGroup.js +41 -45
  249. package/dist/RadioGroup.js.map +1 -1
  250. package/dist/{RadioGroup.keys-974818d6.js → RadioGroup.keys-CqfiKkNz.js} +1 -1
  251. package/dist/{RadioGroup.keys-974818d6.js.map → RadioGroup.keys-CqfiKkNz.js.map} +1 -1
  252. package/dist/RadioGroup.vue.d.ts +30 -30
  253. package/dist/RadioNew.js +2 -2
  254. package/dist/RadioNew.js.map +1 -1
  255. package/dist/RadioNew.vue.d.ts +26 -26
  256. package/dist/RangeInput.js +10 -14
  257. package/dist/RangeInput.js.map +1 -1
  258. package/dist/RangeInput.vue.d.ts +1 -1
  259. package/dist/SearchBar.js +31 -41
  260. package/dist/SearchBar.js.map +1 -1
  261. package/dist/SearchBar.vue.d.ts +22 -22
  262. package/dist/Select.js +66 -78
  263. package/dist/Select.js.map +1 -1
  264. package/dist/Select.vue.d.ts +123 -123
  265. package/dist/SelectStatus.js +47 -69
  266. package/dist/SelectStatus.js.map +1 -1
  267. package/dist/SelectStatus.vue.d.ts +33 -26
  268. package/dist/Skeleton.js +1 -1
  269. package/dist/Skeleton.js.map +1 -1
  270. package/dist/Skeleton.vue.d.ts +9 -9
  271. package/dist/Step.js +10 -14
  272. package/dist/Step.js.map +1 -1
  273. package/dist/Step.vue.d.ts +21 -21
  274. package/dist/Stepper.js +37 -40
  275. package/dist/Stepper.js.map +1 -1
  276. package/dist/Stepper.vue.d.ts +34 -29
  277. package/dist/Switch.js +1 -1
  278. package/dist/Switch.vue.d.ts +23 -23
  279. package/dist/Tab.js +21 -36
  280. package/dist/Tab.js.map +1 -1
  281. package/dist/Table.js +38 -55
  282. package/dist/Table.js.map +1 -1
  283. package/dist/Table.keys-LHQf6FEH.js +7 -0
  284. package/dist/{Table.keys-83e4f09b.js.map → Table.keys-LHQf6FEH.js.map} +1 -1
  285. package/dist/Table.vue.d.ts +36 -36
  286. package/dist/TableCell.js +26 -26
  287. package/dist/TableCell.js.map +1 -1
  288. package/dist/TableCell.vue.d.ts +6 -6
  289. package/dist/TableHeaderCell.js +6 -13
  290. package/dist/TableHeaderCell.js.map +1 -1
  291. package/dist/TableHeaderCell.vue.d.ts +3 -3
  292. package/dist/TableHeaderRow.js +22 -32
  293. package/dist/TableHeaderRow.js.map +1 -1
  294. package/dist/TableHeaderRow.vue.d.ts +8 -8
  295. package/dist/TableRow.js +59 -59
  296. package/dist/TableRow.js.map +1 -1
  297. package/dist/TableRow.vue.d.ts +26 -26
  298. package/dist/Tabs.js +10 -24
  299. package/dist/Tabs.js.map +1 -1
  300. package/dist/Tabs.vue.d.ts +5 -5
  301. package/dist/{Tabs.vue_used_vue_type_style_index_0_lang.module-d7530989.js → Tabs.vue_vue_type_script_setup_true_lang-l41hWkV4.js} +31 -34
  302. package/dist/Tabs.vue_vue_type_script_setup_true_lang-l41hWkV4.js.map +1 -0
  303. package/dist/TextEditor.js +1269 -1364
  304. package/dist/TextEditor.js.map +1 -1
  305. package/dist/TextEditor.vue.d.ts +46 -46
  306. package/dist/Textarea.js +30 -31
  307. package/dist/Textarea.js.map +1 -1
  308. package/dist/Textarea.vue.d.ts +34 -26
  309. package/dist/Timeline.js +9 -10
  310. package/dist/Timeline.js.map +1 -1
  311. package/dist/Timeline.vue.d.ts +6 -6
  312. package/dist/TimelineItem.js +1 -1
  313. package/dist/TimelineItem.vue.d.ts +1 -1
  314. package/dist/Toast.js +5 -9
  315. package/dist/Toast.js.map +1 -1
  316. package/dist/Toast.vue.d.ts +3 -3
  317. package/dist/Toasts.js +15 -25
  318. package/dist/Toasts.js.map +1 -1
  319. package/dist/Toasts.vue.d.ts +1 -1
  320. package/dist/ToastsPlugin.js +11 -23
  321. package/dist/ToastsPlugin.js.map +1 -1
  322. package/dist/Tooltip.js +1 -1
  323. package/dist/Tooltip.js.map +1 -1
  324. package/dist/Tooltip.vue.d.ts +15 -15
  325. package/dist/{_commonjsHelpers-10dfc225.js → _commonjsHelpers-DaMA6jEr.js} +1 -1
  326. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  327. package/dist/{_plugin-vue_export-helper-dad06003.js → _plugin-vue_export-helper-CHgC5LLL.js} +1 -1
  328. package/dist/_plugin-vue_export-helper-CHgC5LLL.js.map +1 -0
  329. package/dist/{colors-8d9b9429.js → colors-DDDVvqfQ.js} +1 -1
  330. package/dist/{colors-8d9b9429.js.map → colors-DDDVvqfQ.js.map} +1 -1
  331. package/dist/components.css +2 -2
  332. package/dist/directives/observe.js.map +1 -1
  333. package/dist/directives/sticky.js.map +1 -1
  334. package/dist/directives/tooltip.js +21 -27
  335. package/dist/directives/tooltip.js.map +1 -1
  336. package/dist/directives/viewable.js +1 -1
  337. package/dist/directives/viewable.js.map +1 -1
  338. package/dist/{floating-ui.vue-8d7f7932.js → floating-ui.vue-BmfQDqE-.js} +2 -3
  339. package/dist/{floating-ui.vue-8d7f7932.js.map → floating-ui.vue-BmfQDqE-.js.map} +1 -1
  340. package/dist/{formatDateTime-a5e70901.js → formatDateTime-C8CYECpd.js} +8 -12
  341. package/dist/{formatDateTime-a5e70901.js.map → formatDateTime-C8CYECpd.js.map} +1 -1
  342. package/dist/{index-9e1095ef.js → index-D6bxWkZ1.js} +2 -3
  343. package/dist/{index-9e1095ef.js.map → index-D6bxWkZ1.js.map} +1 -1
  344. package/dist/index.d.ts +1 -1
  345. package/dist/index.js +90 -112
  346. package/dist/index.js.map +1 -1
  347. package/dist/{isDefined-2ce6cde4.js → isDefined-DzVx0B6k.js} +1 -1
  348. package/dist/{isDefined-2ce6cde4.js.map → isDefined-DzVx0B6k.js.map} +1 -1
  349. package/dist/{isValid-4b2b7a54.js → isValid-DN-HkCoi.js} +1 -1
  350. package/dist/{isValid-4b2b7a54.js.map → isValid-DN-HkCoi.js.map} +1 -1
  351. package/dist/{keys-241d03b7.js → keys-BEdEsanp.js} +1 -1
  352. package/dist/{keys-241d03b7.js.map → keys-BEdEsanp.js.map} +1 -1
  353. package/dist/{keys-7ecef029.js → keys-C8Zfr_By.js} +1 -1
  354. package/dist/{keys-7ecef029.js.map → keys-C8Zfr_By.js.map} +1 -1
  355. package/dist/{misc-76697f61.js → misc-CHQs-G03.js} +1 -1
  356. package/dist/{misc-76697f61.js.map → misc-CHQs-G03.js.map} +1 -1
  357. package/dist/{parseISO-ed4094c1.js → parseISO-wlfIB_QJ.js} +12 -18
  358. package/dist/{parseISO-ed4094c1.js.map → parseISO-wlfIB_QJ.js.map} +1 -1
  359. package/dist/{searchFuzzy-9b74ec4e.js → searchFuzzy-DKooyZM8.js} +110 -149
  360. package/dist/{searchFuzzy-9b74ec4e.js.map → searchFuzzy-DKooyZM8.js.map} +1 -1
  361. package/dist/{statusLevels-a8b041f4.js → statusLevels-D8EgtE_L.js} +1 -1
  362. package/dist/{statusLevels-a8b041f4.js.map → statusLevels-D8EgtE_L.js.map} +1 -1
  363. package/dist/storage.js +8 -15
  364. package/dist/storage.js.map +1 -1
  365. package/dist/tailwind-base.js.map +1 -1
  366. package/dist/{toTimeZone-a2ed6470.js → toTimeZone-CVE1ZmsS.js} +1 -1
  367. package/dist/{toTimeZone-a2ed6470.js.map → toTimeZone-CVE1ZmsS.js.map} +1 -1
  368. package/dist/useDialog.js +7 -7
  369. package/dist/useGoogleMaps.js +18 -28
  370. package/dist/useGoogleMaps.js.map +1 -1
  371. package/dist/useModals.js +1 -2
  372. package/dist/useModals.js.map +1 -1
  373. package/dist/useScriptTag.js.map +1 -1
  374. package/dist/useSearch.js +14 -19
  375. package/dist/useSearch.js.map +1 -1
  376. package/dist/useStepper.js.map +1 -1
  377. package/dist/useValidation.js +1 -1
  378. package/dist/useValidation.js.map +1 -1
  379. package/dist/utils/calculateElementOverflow.js +9 -13
  380. package/dist/utils/calculateElementOverflow.js.map +1 -1
  381. package/dist/utils/colorScheme.js.map +1 -1
  382. package/dist/utils/createQueryString.js +4 -5
  383. package/dist/utils/createQueryString.js.map +1 -1
  384. package/dist/utils/createValidDate.js +2 -2
  385. package/dist/utils/formatDateTime.js +4 -5
  386. package/dist/utils/formatDateTime.js.map +1 -1
  387. package/dist/utils/getContrastingTextColor.js +1 -1
  388. package/dist/utils/getContrastingTextColor.js.map +1 -1
  389. package/dist/utils/helpers.js.map +1 -1
  390. package/dist/utils/i18n.js +25 -26
  391. package/dist/utils/i18n.js.map +1 -1
  392. package/dist/utils/normalizeDate.js +1 -1
  393. package/dist/utils/searchFuzzy.js +3 -10
  394. package/dist/utils/searchFuzzy.js.map +1 -1
  395. package/dist/utils/storage.js +6 -11
  396. package/dist/utils/storage.js.map +1 -1
  397. package/dist/utils/toTimeZone.js +2 -3
  398. package/dist/utils/toTimeZone.js.map +1 -1
  399. package/package.json +13 -14
  400. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js +0 -17
  401. package/dist/Button.vue_used_vue_type_style_index_0_lang.module-4dabc2a9.js.map +0 -1
  402. package/dist/Carousel.types.d.ts +0 -33
  403. package/dist/Carousel.types.js +0 -2
  404. package/dist/Carousel.types.js.map +0 -1
  405. package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js +0 -9
  406. package/dist/Checkbox.vue_used_vue_type_style_index_0_lang.module-fa8d9c06.js.map +0 -1
  407. package/dist/DataView.vue_used_vue_type_style_index_0_lang.module-5c180dba.js.map +0 -1
  408. package/dist/EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js +0 -8
  409. package/dist/EmptyState.vue_used_vue_type_style_index_0_lang.module-f5d89366.js.map +0 -1
  410. package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js +0 -11
  411. package/dist/Icon.vue_used_vue_type_style_index_0_lang.module-eb359559.js.map +0 -1
  412. package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js +0 -8
  413. package/dist/Loading.vue_used_vue_type_style_index_0_lang.module-ef5a3bc6.js.map +0 -1
  414. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js +0 -11
  415. package/dist/Paginate.vue_used_vue_type_style_index_0_lang.module-18343da7.js.map +0 -1
  416. package/dist/Table.keys-83e4f09b.js +0 -27
  417. package/dist/Tabs.vue_used_vue_type_style_index_0_lang.module-d7530989.js.map +0 -1
  418. package/dist/_commonjsHelpers-10dfc225.js.map +0 -1
  419. package/dist/_plugin-vue_export-helper-dad06003.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"toTimeZone-a2ed6470.js","sources":["../node_modules/date-fns-tz/dist/esm/_lib/tzTokenizeDate/index.js","../node_modules/date-fns-tz/dist/esm/_lib/newDateUTC/index.js","../node_modules/date-fns-tz/dist/esm/_lib/tzParseTimezone/index.js","../node_modules/date-fns-tz/dist/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns-tz/dist/esm/_lib/tzPattern/index.js","../node_modules/date-fns-tz/dist/esm/toDate/index.js","../node_modules/date-fns-tz/dist/esm/toZonedTime/index.js","../src/utils/toTimeZone.ts"],"sourcesContent":["/**\n * Returns the [year, month, day, hour, minute, seconds] tokens of the provided\n * `date` as it will be rendered in the `timeZone`.\n */\nexport function tzTokenizeDate(date, timeZone) {\n const dtf = getDateTimeFormat(timeZone);\n return 'formatToParts' in dtf ? partsOffset(dtf, date) : hackyOffset(dtf, date);\n}\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\nfunction partsOffset(dtf, date) {\n try {\n const formatted = dtf.formatToParts(date);\n const filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const pos = typeToPos[formatted[i].type];\n if (pos !== undefined) {\n filled[pos] = parseInt(formatted[i].value, 10);\n }\n }\n return filled;\n }\n catch (error) {\n if (error instanceof RangeError) {\n return [NaN];\n }\n throw error;\n }\n}\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const parsed = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(formatted);\n // const [, fMonth, fDay, fYear, fHour, fMinute, fSecond] = parsed\n // return [fYear, fMonth, fDay, fHour, fMinute, fSecond]\n return [\n parseInt(parsed[3], 10),\n parseInt(parsed[1], 10),\n parseInt(parsed[2], 10),\n parseInt(parsed[4], 10),\n parseInt(parsed[5], 10),\n parseInt(parsed[6], 10),\n ];\n}\n// Get a cached Intl.DateTimeFormat instance for the IANA `timeZone`. This can be used\n// to get deterministic local date/time output according to the `en-US` locale which\n// can be used to extract local time parts as necessary.\nconst dtfCache = {};\nfunction getDateTimeFormat(timeZone) {\n if (!dtfCache[timeZone]) {\n // New browsers use `hourCycle`, IE and Chrome <73 does not support it and uses `hour12`\n const testDateFormatted = new Intl.DateTimeFormat('en-US', {\n hourCycle: 'h23',\n timeZone: 'America/New_York',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n }).format(new Date('2014-06-25T04:00:00.123Z'));\n const hourCycleSupported = testDateFormatted === '06/25/2014, 00:00:00' ||\n testDateFormatted === '‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00';\n dtfCache[timeZone] = hourCycleSupported\n ? new Intl.DateTimeFormat('en-US', {\n hourCycle: 'h23',\n timeZone: timeZone,\n year: 'numeric',\n month: 'numeric',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n })\n : new Intl.DateTimeFormat('en-US', {\n hour12: false,\n timeZone: timeZone,\n year: 'numeric',\n month: 'numeric',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n });\n }\n return dtfCache[timeZone];\n}\n","/**\n * Use instead of `new Date(Date.UTC(...))` to support years below 100 which doesn't work\n * otherwise due to the nature of the\n * [`Date` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years.\n *\n * For `Date.UTC(...)`, use `newDateUTC(...).getTime()`.\n */\nexport function newDateUTC(fullYear, month, day, hour, minute, second, millisecond) {\n const utcDate = new Date(0);\n utcDate.setUTCFullYear(fullYear, month, day);\n utcDate.setUTCHours(hour, minute, second, millisecond);\n return utcDate;\n}\n","import { tzTokenizeDate } from '../tzTokenizeDate/index.js';\nimport { newDateUTC } from '../newDateUTC/index.js';\nconst MILLISECONDS_IN_HOUR = 3600000;\nconst MILLISECONDS_IN_MINUTE = 60000;\nconst patterns = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/,\n};\n// Parse constious time zone offset formats to an offset in milliseconds\nexport function tzParseTimezone(timezoneString, date, isUtcDate) {\n // Empty string\n if (!timezoneString) {\n return 0;\n }\n // Z\n let token = patterns.timezoneZ.exec(timezoneString);\n if (token) {\n return 0;\n }\n let hours;\n let absoluteOffset;\n // ±hh\n token = patterns.timezoneHH.exec(timezoneString);\n if (token) {\n hours = parseInt(token[1], 10);\n if (!validateTimezone(hours)) {\n return NaN;\n }\n return -(hours * MILLISECONDS_IN_HOUR);\n }\n // ±hh:mm or ±hhmm\n token = patterns.timezoneHHMM.exec(timezoneString);\n if (token) {\n hours = parseInt(token[2], 10);\n const minutes = parseInt(token[3], 10);\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n absoluteOffset = Math.abs(hours) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n return token[1] === '+' ? -absoluteOffset : absoluteOffset;\n }\n // IANA time zone\n if (isValidTimezoneIANAString(timezoneString)) {\n date = new Date(date || Date.now());\n const utcDate = isUtcDate ? date : toUtcDate(date);\n const offset = calcOffset(utcDate, timezoneString);\n const fixedOffset = isUtcDate ? offset : fixOffset(date, offset, timezoneString);\n return -fixedOffset;\n }\n return NaN;\n}\nfunction toUtcDate(date) {\n return newDateUTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n}\nfunction calcOffset(date, timezoneString) {\n const tokens = tzTokenizeDate(date, timezoneString);\n // ms dropped because it's not provided by tzTokenizeDate\n const asUTC = newDateUTC(tokens[0], tokens[1] - 1, tokens[2], tokens[3] % 24, tokens[4], tokens[5], 0).getTime();\n let asTS = date.getTime();\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return asUTC - asTS;\n}\nfunction fixOffset(date, offset, timezoneString) {\n const localTS = date.getTime();\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - offset;\n // Test whether the zone matches the offset for this ts\n const o2 = calcOffset(new Date(utcGuess), timezoneString);\n // If so, offset didn't change, and we're done\n if (offset === o2) {\n return offset;\n }\n // If not, change the ts by the difference in the offset\n utcGuess -= o2 - offset;\n // If that gives us the local time we want, we're done\n const o3 = calcOffset(new Date(utcGuess), timezoneString);\n if (o2 === o3) {\n return o2;\n }\n // If it's different, we're in a hole time. The offset has changed, but we don't adjust the time\n return Math.max(o2, o3);\n}\nfunction validateTimezone(hours, minutes) {\n return -23 <= hours && hours <= 23 && (minutes == null || (0 <= minutes && minutes <= 59));\n}\nconst validIANATimezoneCache = {};\nfunction isValidTimezoneIANAString(timeZoneString) {\n if (validIANATimezoneCache[timeZoneString])\n return true;\n try {\n new Intl.DateTimeFormat(undefined, { timeZone: timeZoneString });\n validIANATimezoneCache[timeZoneString] = true;\n return true;\n }\n catch (error) {\n return false;\n }\n}\n","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return +date - +utcDate;\n}\n","/** Regex to identify the presence of a time zone specifier in a date string */\nexport const tzPattern = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\n","import { getTimezoneOffsetInMilliseconds } from '../_lib/getTimezoneOffsetInMilliseconds/index.js';\nimport { tzParseTimezone } from '../_lib/tzParseTimezone/index.js';\nimport { tzPattern } from '../_lib/tzPattern/index.js';\nconst MILLISECONDS_IN_HOUR = 3600000;\nconst MILLISECONDS_IN_MINUTE = 60000;\nconst DEFAULT_ADDITIONAL_DIGITS = 2;\nconst patterns = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/, // 0 additional digits\n /^([+-]\\d{3})$/, // 1 additional digit\n /^([+-]\\d{4})$/, // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/, // 0 additional digits\n /^([+-]\\d{5})/, // 1 additional digit\n /^([+-]\\d{6})/, // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: tzPattern,\n};\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n * If the function cannot parse the string or the values are invalid, it returns Invalid Date.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\n *\n * @param argument the value to convert\n * @param options the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @param {string} [options.timeZone=''] - used to specify the IANA time zone offset of a date String.\n *\n * @returns the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = toDate('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = toDate('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function toDate(argument, options = {}) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n if (argument === null) {\n return new Date(NaN);\n }\n const additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : Number(options.additionalDigits);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n // Clone the date\n if (argument instanceof Date ||\n (typeof argument === 'object' && Object.prototype.toString.call(argument) === '[object Date]')) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n }\n else if (typeof argument === 'number' ||\n Object.prototype.toString.call(argument) === '[object Number]') {\n return new Date(argument);\n }\n else if (!(Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n const dateStrings = splitDateString(argument);\n const { year, restDateString } = parseYear(dateStrings.date, additionalDigits);\n const date = parseDate(restDateString, year);\n if (date === null || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n if (date) {\n const timestamp = date.getTime();\n let time = 0;\n let offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (time === null || isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timeZone || options.timeZone) {\n offset = tzParseTimezone(dateStrings.timeZone || options.timeZone, new Date(timestamp + time));\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n }\n else {\n // get offset accurate to hour in time zones that change offset\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time));\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time + offset));\n }\n return new Date(timestamp + time + offset);\n }\n else {\n return new Date(NaN);\n }\n}\nfunction splitDateString(dateString) {\n const dateStrings = {};\n let parts = patterns.dateTimePattern.exec(dateString);\n let timeString;\n if (!parts) {\n parts = patterns.datePattern.exec(dateString);\n if (parts) {\n dateStrings.date = parts[1];\n timeString = parts[2];\n }\n else {\n dateStrings.date = null;\n timeString = dateString;\n }\n }\n else {\n dateStrings.date = parts[1];\n timeString = parts[3];\n }\n if (timeString) {\n const token = patterns.timeZone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timeZone = token[1].trim();\n }\n else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n if (dateString) {\n const patternYYY = patterns.YYY[additionalDigits];\n const patternYYYYY = patterns.YYYYY[additionalDigits];\n // YYYY or ±YYYYY\n let token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString);\n if (token) {\n const yearString = token[1];\n return {\n year: parseInt(yearString, 10),\n restDateString: dateString.slice(yearString.length),\n };\n }\n // YY or ±YYY\n token = patterns.YY.exec(dateString) || patternYYY.exec(dateString);\n if (token) {\n const centuryString = token[1];\n return {\n year: parseInt(centuryString, 10) * 100,\n restDateString: dateString.slice(centuryString.length),\n };\n }\n }\n // Invalid ISO-formatted year\n return {\n year: null,\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) {\n return null;\n }\n let date;\n let month;\n let week;\n // YYYY\n if (!dateString || !dateString.length) {\n date = new Date(0);\n date.setUTCFullYear(year);\n return date;\n }\n // YYYY-MM\n let token = patterns.MM.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n if (!validateDate(year, month)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month);\n return date;\n }\n // YYYY-DDD or YYYYDDD\n token = patterns.DDD.exec(dateString);\n if (token) {\n date = new Date(0);\n const dayOfYear = parseInt(token[1], 10);\n if (!validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, 0, dayOfYear);\n return date;\n }\n // yyyy-MM-dd or YYYYMMDD\n token = patterns.MMDD.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n const day = parseInt(token[2], 10);\n if (!validateDate(year, month, day)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, day);\n return date;\n }\n // YYYY-Www or YYYYWww\n token = patterns.Www.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n if (!validateWeekDate(week)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week);\n }\n // YYYY-Www-D or YYYYWwwD\n token = patterns.WwwD.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n const dayOfWeek = parseInt(token[2], 10) - 1;\n if (!validateWeekDate(week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n }\n // Invalid ISO-formatted date\n return null;\n}\nfunction parseTime(timeString) {\n let hours;\n let minutes;\n // hh\n let token = patterns.HH.exec(timeString);\n if (token) {\n hours = parseFloat(token[1].replace(',', '.'));\n if (!validateTime(hours)) {\n return NaN;\n }\n return (hours % 24) * MILLISECONDS_IN_HOUR;\n }\n // hh:mm or hhmm\n token = patterns.HHMM.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseFloat(token[2].replace(',', '.'));\n if (!validateTime(hours, minutes)) {\n return NaN;\n }\n return (hours % 24) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n }\n // hh:mm:ss or hhmmss\n token = patterns.HHMMSS.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseInt(token[2], 10);\n const seconds = parseFloat(token[3].replace(',', '.'));\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return (hours % 24) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n }\n // Invalid ISO-formatted time\n return null;\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n week = week || 0;\n day = day || 0;\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = week * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n// Validation functions\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\nfunction validateDate(year, month, date) {\n if (month < 0 || month > 11) {\n return false;\n }\n if (date != null) {\n if (date < 1) {\n return false;\n }\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && date > DAYS_IN_MONTH_LEAP_YEAR[month]) {\n return false;\n }\n if (!isLeapYear && date > DAYS_IN_MONTH[month]) {\n return false;\n }\n }\n return true;\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n if (dayOfYear < 1) {\n return false;\n }\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && dayOfYear > 366) {\n return false;\n }\n if (!isLeapYear && dayOfYear > 365) {\n return false;\n }\n return true;\n}\nfunction validateWeekDate(week, day) {\n if (week < 0 || week > 52) {\n return false;\n }\n if (day != null && (day < 0 || day > 6)) {\n return false;\n }\n return true;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours < 0 || hours >= 25) {\n return false;\n }\n if (minutes != null && (minutes < 0 || minutes >= 60)) {\n return false;\n }\n if (seconds != null && (seconds < 0 || seconds >= 60)) {\n return false;\n }\n return true;\n}\n","import { tzParseTimezone } from '../_lib/tzParseTimezone/index.js';\nimport { toDate } from '../toDate/index.js';\n/**\n * @name toZonedTime\n * @category Time Zone Helpers\n * @summary Get a date/time representing local time in a given time zone from the UTC date\n *\n * @description\n * Returns a date instance with values representing the local time in the time zone\n * specified of the UTC time from the date provided. In other words, when the new date\n * is formatted it will show the equivalent hours in the target time zone regardless\n * of the current system time zone.\n *\n * @param date the date with the relevant UTC time\n * @param timeZone the time zone to get local time for, can be an offset or IANA time zone\n * @param options the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n *\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // In June 10am UTC is 6am in New York (-04:00)\n * const result = toZonedTime('2014-06-25T10:00:00.000Z', 'America/New_York')\n * //=> Jun 25 2014 06:00:00\n */\nexport function toZonedTime(date, timeZone, options) {\n date = toDate(date, options);\n const offsetMilliseconds = tzParseTimezone(timeZone, date, true);\n const d = new Date(date.getTime() - offsetMilliseconds);\n const resultDate = new Date(0);\n resultDate.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate());\n resultDate.setHours(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds());\n return resultDate;\n}\n","import { toDate } from 'date-fns-tz/toDate';\nimport { toZonedTime } from 'date-fns-tz/toZonedTime';\n\nimport normalizeDate from './normalizeDate';\n\n/**\n * Converts a date to a specific timezone.\n *\n * @param dateValue - The date to convert.\n * @param timeZone - TZ DB Format.\n * @returns A date object in the given timezone.\n */\nexport default function toTimeZone(dateValue: string | Date | number, timeZone: string) {\n const utcDate = toDate(normalizeDate(dateValue), { timeZone: 'Etc/UTC' });\n\n return toZonedTime(utcDate, timeZone);\n}\n"],"names":["tzTokenizeDate","date","timeZone","dtf","getDateTimeFormat","partsOffset","hackyOffset","typeToPos","formatted","filled","i","pos","error","parsed","dtfCache","testDateFormatted","hourCycleSupported","newDateUTC","fullYear","month","day","hour","minute","second","millisecond","utcDate","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE","patterns","tzParseTimezone","timezoneString","isUtcDate","token","hours","absoluteOffset","validateTimezone","minutes","isValidTimezoneIANAString","toUtcDate","offset","calcOffset","fixOffset","tokens","asUTC","asTS","over","utcGuess","o2","o3","validIANATimezoneCache","timeZoneString","getTimezoneOffsetInMilliseconds","tzPattern","DEFAULT_ADDITIONAL_DIGITS","toDate","argument","options","additionalDigits","dateStrings","splitDateString","year","restDateString","parseYear","parseDate","timestamp","time","parseTime","dateString","parts","timeString","patternYYY","patternYYYYY","yearString","centuryString","week","validateDate","dayOfYear","validateDayOfYearDate","validateWeekDate","dayOfISOWeekYear","dayOfWeek","validateTime","seconds","isoWeekYear","fourthOfJanuaryDay","diff","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","isLeapYear","toZonedTime","offsetMilliseconds","d","resultDate","toTimeZone","dateValue","normalizeDate"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
1
+ {"version":3,"file":"toTimeZone-CVE1ZmsS.js","sources":["../node_modules/date-fns-tz/dist/esm/_lib/tzTokenizeDate/index.js","../node_modules/date-fns-tz/dist/esm/_lib/newDateUTC/index.js","../node_modules/date-fns-tz/dist/esm/_lib/tzParseTimezone/index.js","../node_modules/date-fns-tz/dist/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../node_modules/date-fns-tz/dist/esm/_lib/tzPattern/index.js","../node_modules/date-fns-tz/dist/esm/toDate/index.js","../node_modules/date-fns-tz/dist/esm/toZonedTime/index.js","../src/utils/toTimeZone.ts"],"sourcesContent":["/**\n * Returns the [year, month, day, hour, minute, seconds] tokens of the provided\n * `date` as it will be rendered in the `timeZone`.\n */\nexport function tzTokenizeDate(date, timeZone) {\n const dtf = getDateTimeFormat(timeZone);\n return 'formatToParts' in dtf ? partsOffset(dtf, date) : hackyOffset(dtf, date);\n}\nconst typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\nfunction partsOffset(dtf, date) {\n try {\n const formatted = dtf.formatToParts(date);\n const filled = [];\n for (let i = 0; i < formatted.length; i++) {\n const pos = typeToPos[formatted[i].type];\n if (pos !== undefined) {\n filled[pos] = parseInt(formatted[i].value, 10);\n }\n }\n return filled;\n }\n catch (error) {\n if (error instanceof RangeError) {\n return [NaN];\n }\n throw error;\n }\n}\nfunction hackyOffset(dtf, date) {\n const formatted = dtf.format(date);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const parsed = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(formatted);\n // const [, fMonth, fDay, fYear, fHour, fMinute, fSecond] = parsed\n // return [fYear, fMonth, fDay, fHour, fMinute, fSecond]\n return [\n parseInt(parsed[3], 10),\n parseInt(parsed[1], 10),\n parseInt(parsed[2], 10),\n parseInt(parsed[4], 10),\n parseInt(parsed[5], 10),\n parseInt(parsed[6], 10),\n ];\n}\n// Get a cached Intl.DateTimeFormat instance for the IANA `timeZone`. This can be used\n// to get deterministic local date/time output according to the `en-US` locale which\n// can be used to extract local time parts as necessary.\nconst dtfCache = {};\nfunction getDateTimeFormat(timeZone) {\n if (!dtfCache[timeZone]) {\n // New browsers use `hourCycle`, IE and Chrome <73 does not support it and uses `hour12`\n const testDateFormatted = new Intl.DateTimeFormat('en-US', {\n hourCycle: 'h23',\n timeZone: 'America/New_York',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n }).format(new Date('2014-06-25T04:00:00.123Z'));\n const hourCycleSupported = testDateFormatted === '06/25/2014, 00:00:00' ||\n testDateFormatted === '‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00';\n dtfCache[timeZone] = hourCycleSupported\n ? new Intl.DateTimeFormat('en-US', {\n hourCycle: 'h23',\n timeZone: timeZone,\n year: 'numeric',\n month: 'numeric',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n })\n : new Intl.DateTimeFormat('en-US', {\n hour12: false,\n timeZone: timeZone,\n year: 'numeric',\n month: 'numeric',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n });\n }\n return dtfCache[timeZone];\n}\n","/**\n * Use instead of `new Date(Date.UTC(...))` to support years below 100 which doesn't work\n * otherwise due to the nature of the\n * [`Date` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#interpretation_of_two-digit_years.\n *\n * For `Date.UTC(...)`, use `newDateUTC(...).getTime()`.\n */\nexport function newDateUTC(fullYear, month, day, hour, minute, second, millisecond) {\n const utcDate = new Date(0);\n utcDate.setUTCFullYear(fullYear, month, day);\n utcDate.setUTCHours(hour, minute, second, millisecond);\n return utcDate;\n}\n","import { tzTokenizeDate } from '../tzTokenizeDate/index.js';\nimport { newDateUTC } from '../newDateUTC/index.js';\nconst MILLISECONDS_IN_HOUR = 3600000;\nconst MILLISECONDS_IN_MINUTE = 60000;\nconst patterns = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-])(\\d{2}):?(\\d{2})$/,\n};\n// Parse constious time zone offset formats to an offset in milliseconds\nexport function tzParseTimezone(timezoneString, date, isUtcDate) {\n // Empty string\n if (!timezoneString) {\n return 0;\n }\n // Z\n let token = patterns.timezoneZ.exec(timezoneString);\n if (token) {\n return 0;\n }\n let hours;\n let absoluteOffset;\n // ±hh\n token = patterns.timezoneHH.exec(timezoneString);\n if (token) {\n hours = parseInt(token[1], 10);\n if (!validateTimezone(hours)) {\n return NaN;\n }\n return -(hours * MILLISECONDS_IN_HOUR);\n }\n // ±hh:mm or ±hhmm\n token = patterns.timezoneHHMM.exec(timezoneString);\n if (token) {\n hours = parseInt(token[2], 10);\n const minutes = parseInt(token[3], 10);\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n absoluteOffset = Math.abs(hours) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n return token[1] === '+' ? -absoluteOffset : absoluteOffset;\n }\n // IANA time zone\n if (isValidTimezoneIANAString(timezoneString)) {\n date = new Date(date || Date.now());\n const utcDate = isUtcDate ? date : toUtcDate(date);\n const offset = calcOffset(utcDate, timezoneString);\n const fixedOffset = isUtcDate ? offset : fixOffset(date, offset, timezoneString);\n return -fixedOffset;\n }\n return NaN;\n}\nfunction toUtcDate(date) {\n return newDateUTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n}\nfunction calcOffset(date, timezoneString) {\n const tokens = tzTokenizeDate(date, timezoneString);\n // ms dropped because it's not provided by tzTokenizeDate\n const asUTC = newDateUTC(tokens[0], tokens[1] - 1, tokens[2], tokens[3] % 24, tokens[4], tokens[5], 0).getTime();\n let asTS = date.getTime();\n const over = asTS % 1000;\n asTS -= over >= 0 ? over : 1000 + over;\n return asUTC - asTS;\n}\nfunction fixOffset(date, offset, timezoneString) {\n const localTS = date.getTime();\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - offset;\n // Test whether the zone matches the offset for this ts\n const o2 = calcOffset(new Date(utcGuess), timezoneString);\n // If so, offset didn't change, and we're done\n if (offset === o2) {\n return offset;\n }\n // If not, change the ts by the difference in the offset\n utcGuess -= o2 - offset;\n // If that gives us the local time we want, we're done\n const o3 = calcOffset(new Date(utcGuess), timezoneString);\n if (o2 === o3) {\n return o2;\n }\n // If it's different, we're in a hole time. The offset has changed, but we don't adjust the time\n return Math.max(o2, o3);\n}\nfunction validateTimezone(hours, minutes) {\n return -23 <= hours && hours <= 23 && (minutes == null || (0 <= minutes && minutes <= 59));\n}\nconst validIANATimezoneCache = {};\nfunction isValidTimezoneIANAString(timeZoneString) {\n if (validIANATimezoneCache[timeZoneString])\n return true;\n try {\n new Intl.DateTimeFormat(undefined, { timeZone: timeZoneString });\n validIANATimezoneCache[timeZoneString] = true;\n return true;\n }\n catch (error) {\n return false;\n }\n}\n","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport function getTimezoneOffsetInMilliseconds(date) {\n const utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return +date - +utcDate;\n}\n","/** Regex to identify the presence of a time zone specifier in a date string */\nexport const tzPattern = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\n","import { getTimezoneOffsetInMilliseconds } from '../_lib/getTimezoneOffsetInMilliseconds/index.js';\nimport { tzParseTimezone } from '../_lib/tzParseTimezone/index.js';\nimport { tzPattern } from '../_lib/tzPattern/index.js';\nconst MILLISECONDS_IN_HOUR = 3600000;\nconst MILLISECONDS_IN_MINUTE = 60000;\nconst DEFAULT_ADDITIONAL_DIGITS = 2;\nconst patterns = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/, // 0 additional digits\n /^([+-]\\d{3})$/, // 1 additional digit\n /^([+-]\\d{4})$/, // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/, // 0 additional digits\n /^([+-]\\d{5})/, // 1 additional digit\n /^([+-]\\d{6})/, // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: tzPattern,\n};\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If an argument is a string, the function tries to parse it.\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n * If the function cannot parse the string or the values are invalid, it returns Invalid Date.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n * All *date-fns* functions will throw `RangeError` if `options.additionalDigits` is not 0, 1, 2 or undefined.\n *\n * @param argument the value to convert\n * @param options the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @param {string} [options.timeZone=''] - used to specify the IANA time zone offset of a date String.\n *\n * @returns the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * const result = toDate('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * const result = toDate('+02014101', {additionalDigits: 1})\n * //=> Fri Apr 11 2014 00:00:00\n */\nexport function toDate(argument, options = {}) {\n if (arguments.length < 1) {\n throw new TypeError('1 argument required, but only ' + arguments.length + ' present');\n }\n if (argument === null) {\n return new Date(NaN);\n }\n const additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : Number(options.additionalDigits);\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n // Clone the date\n if (argument instanceof Date ||\n (typeof argument === 'object' && Object.prototype.toString.call(argument) === '[object Date]')) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n }\n else if (typeof argument === 'number' ||\n Object.prototype.toString.call(argument) === '[object Number]') {\n return new Date(argument);\n }\n else if (!(Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n const dateStrings = splitDateString(argument);\n const { year, restDateString } = parseYear(dateStrings.date, additionalDigits);\n const date = parseDate(restDateString, year);\n if (date === null || isNaN(date.getTime())) {\n return new Date(NaN);\n }\n if (date) {\n const timestamp = date.getTime();\n let time = 0;\n let offset;\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n if (time === null || isNaN(time)) {\n return new Date(NaN);\n }\n }\n if (dateStrings.timeZone || options.timeZone) {\n offset = tzParseTimezone(dateStrings.timeZone || options.timeZone, new Date(timestamp + time));\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n }\n else {\n // get offset accurate to hour in time zones that change offset\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time));\n offset = getTimezoneOffsetInMilliseconds(new Date(timestamp + time + offset));\n }\n return new Date(timestamp + time + offset);\n }\n else {\n return new Date(NaN);\n }\n}\nfunction splitDateString(dateString) {\n const dateStrings = {};\n let parts = patterns.dateTimePattern.exec(dateString);\n let timeString;\n if (!parts) {\n parts = patterns.datePattern.exec(dateString);\n if (parts) {\n dateStrings.date = parts[1];\n timeString = parts[2];\n }\n else {\n dateStrings.date = null;\n timeString = dateString;\n }\n }\n else {\n dateStrings.date = parts[1];\n timeString = parts[3];\n }\n if (timeString) {\n const token = patterns.timeZone.exec(timeString);\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timeZone = token[1].trim();\n }\n else {\n dateStrings.time = timeString;\n }\n }\n return dateStrings;\n}\nfunction parseYear(dateString, additionalDigits) {\n if (dateString) {\n const patternYYY = patterns.YYY[additionalDigits];\n const patternYYYYY = patterns.YYYYY[additionalDigits];\n // YYYY or ±YYYYY\n let token = patterns.YYYY.exec(dateString) || patternYYYYY.exec(dateString);\n if (token) {\n const yearString = token[1];\n return {\n year: parseInt(yearString, 10),\n restDateString: dateString.slice(yearString.length),\n };\n }\n // YY or ±YYY\n token = patterns.YY.exec(dateString) || patternYYY.exec(dateString);\n if (token) {\n const centuryString = token[1];\n return {\n year: parseInt(centuryString, 10) * 100,\n restDateString: dateString.slice(centuryString.length),\n };\n }\n }\n // Invalid ISO-formatted year\n return {\n year: null,\n };\n}\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) {\n return null;\n }\n let date;\n let month;\n let week;\n // YYYY\n if (!dateString || !dateString.length) {\n date = new Date(0);\n date.setUTCFullYear(year);\n return date;\n }\n // YYYY-MM\n let token = patterns.MM.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n if (!validateDate(year, month)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month);\n return date;\n }\n // YYYY-DDD or YYYYDDD\n token = patterns.DDD.exec(dateString);\n if (token) {\n date = new Date(0);\n const dayOfYear = parseInt(token[1], 10);\n if (!validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, 0, dayOfYear);\n return date;\n }\n // yyyy-MM-dd or YYYYMMDD\n token = patterns.MMDD.exec(dateString);\n if (token) {\n date = new Date(0);\n month = parseInt(token[1], 10) - 1;\n const day = parseInt(token[2], 10);\n if (!validateDate(year, month, day)) {\n return new Date(NaN);\n }\n date.setUTCFullYear(year, month, day);\n return date;\n }\n // YYYY-Www or YYYYWww\n token = patterns.Www.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n if (!validateWeekDate(week)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week);\n }\n // YYYY-Www-D or YYYYWwwD\n token = patterns.WwwD.exec(dateString);\n if (token) {\n week = parseInt(token[1], 10) - 1;\n const dayOfWeek = parseInt(token[2], 10) - 1;\n if (!validateWeekDate(week, dayOfWeek)) {\n return new Date(NaN);\n }\n return dayOfISOWeekYear(year, week, dayOfWeek);\n }\n // Invalid ISO-formatted date\n return null;\n}\nfunction parseTime(timeString) {\n let hours;\n let minutes;\n // hh\n let token = patterns.HH.exec(timeString);\n if (token) {\n hours = parseFloat(token[1].replace(',', '.'));\n if (!validateTime(hours)) {\n return NaN;\n }\n return (hours % 24) * MILLISECONDS_IN_HOUR;\n }\n // hh:mm or hhmm\n token = patterns.HHMM.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseFloat(token[2].replace(',', '.'));\n if (!validateTime(hours, minutes)) {\n return NaN;\n }\n return (hours % 24) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE;\n }\n // hh:mm:ss or hhmmss\n token = patterns.HHMMSS.exec(timeString);\n if (token) {\n hours = parseInt(token[1], 10);\n minutes = parseInt(token[2], 10);\n const seconds = parseFloat(token[3].replace(',', '.'));\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n return (hours % 24) * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n }\n // Invalid ISO-formatted time\n return null;\n}\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n week = week || 0;\n day = day || 0;\n const date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n const fourthOfJanuaryDay = date.getUTCDay() || 7;\n const diff = week * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n}\n// Validation functions\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst DAYS_IN_MONTH_LEAP_YEAR = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || (year % 4 === 0 && year % 100 !== 0);\n}\nfunction validateDate(year, month, date) {\n if (month < 0 || month > 11) {\n return false;\n }\n if (date != null) {\n if (date < 1) {\n return false;\n }\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && date > DAYS_IN_MONTH_LEAP_YEAR[month]) {\n return false;\n }\n if (!isLeapYear && date > DAYS_IN_MONTH[month]) {\n return false;\n }\n }\n return true;\n}\nfunction validateDayOfYearDate(year, dayOfYear) {\n if (dayOfYear < 1) {\n return false;\n }\n const isLeapYear = isLeapYearIndex(year);\n if (isLeapYear && dayOfYear > 366) {\n return false;\n }\n if (!isLeapYear && dayOfYear > 365) {\n return false;\n }\n return true;\n}\nfunction validateWeekDate(week, day) {\n if (week < 0 || week > 52) {\n return false;\n }\n if (day != null && (day < 0 || day > 6)) {\n return false;\n }\n return true;\n}\nfunction validateTime(hours, minutes, seconds) {\n if (hours < 0 || hours >= 25) {\n return false;\n }\n if (minutes != null && (minutes < 0 || minutes >= 60)) {\n return false;\n }\n if (seconds != null && (seconds < 0 || seconds >= 60)) {\n return false;\n }\n return true;\n}\n","import { tzParseTimezone } from '../_lib/tzParseTimezone/index.js';\nimport { toDate } from '../toDate/index.js';\n/**\n * @name toZonedTime\n * @category Time Zone Helpers\n * @summary Get a date/time representing local time in a given time zone from the UTC date\n *\n * @description\n * Returns a date instance with values representing the local time in the time zone\n * specified of the UTC time from the date provided. In other words, when the new date\n * is formatted it will show the equivalent hours in the target time zone regardless\n * of the current system time zone.\n *\n * @param date the date with the relevant UTC time\n * @param timeZone the time zone to get local time for, can be an offset or IANA time zone\n * @param options the object with options. See [Options]{@link https://date-fns.org/docs/Options}\n * @param {0|1|2} [options.additionalDigits=2] - passed to `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n *\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // In June 10am UTC is 6am in New York (-04:00)\n * const result = toZonedTime('2014-06-25T10:00:00.000Z', 'America/New_York')\n * //=> Jun 25 2014 06:00:00\n */\nexport function toZonedTime(date, timeZone, options) {\n date = toDate(date, options);\n const offsetMilliseconds = tzParseTimezone(timeZone, date, true);\n const d = new Date(date.getTime() - offsetMilliseconds);\n const resultDate = new Date(0);\n resultDate.setFullYear(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate());\n resultDate.setHours(d.getUTCHours(), d.getUTCMinutes(), d.getUTCSeconds(), d.getUTCMilliseconds());\n return resultDate;\n}\n","import { toDate } from 'date-fns-tz/toDate';\nimport { toZonedTime } from 'date-fns-tz/toZonedTime';\n\nimport normalizeDate from './normalizeDate';\n\n/**\n * Converts a date to a specific timezone.\n *\n * @param dateValue - The date to convert.\n * @param timeZone - TZ DB Format.\n * @returns A date object in the given timezone.\n */\nexport default function toTimeZone(dateValue: string | Date | number, timeZone: string) {\n const utcDate = toDate(normalizeDate(dateValue), { timeZone: 'Etc/UTC' });\n\n return toZonedTime(utcDate, timeZone);\n}\n"],"names":["tzTokenizeDate","date","timeZone","dtf","getDateTimeFormat","partsOffset","hackyOffset","typeToPos","formatted","filled","i","pos","error","parsed","dtfCache","testDateFormatted","hourCycleSupported","newDateUTC","fullYear","month","day","hour","minute","second","millisecond","utcDate","MILLISECONDS_IN_HOUR","MILLISECONDS_IN_MINUTE","patterns","tzParseTimezone","timezoneString","isUtcDate","token","hours","absoluteOffset","validateTimezone","minutes","isValidTimezoneIANAString","toUtcDate","offset","calcOffset","fixOffset","tokens","asUTC","asTS","over","utcGuess","o2","o3","validIANATimezoneCache","timeZoneString","getTimezoneOffsetInMilliseconds","tzPattern","DEFAULT_ADDITIONAL_DIGITS","toDate","argument","options","additionalDigits","dateStrings","splitDateString","year","restDateString","parseYear","parseDate","timestamp","time","parseTime","dateString","parts","timeString","patternYYY","patternYYYYY","yearString","centuryString","week","validateDate","dayOfYear","validateDayOfYearDate","validateWeekDate","dayOfISOWeekYear","dayOfWeek","validateTime","seconds","isoWeekYear","fourthOfJanuaryDay","diff","DAYS_IN_MONTH","DAYS_IN_MONTH_LEAP_YEAR","isLeapYearIndex","isLeapYear","toZonedTime","offsetMilliseconds","d","resultDate","toTimeZone","dateValue","normalizeDate"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
package/dist/useDialog.js CHANGED
@@ -1,25 +1,25 @@
1
1
  var a = Object.defineProperty;
2
- var n = (o, e, r) => e in o ? a(o, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[e] = r;
3
- var t = (o, e, r) => (n(o, typeof e != "symbol" ? e + "" : e, r), r);
2
+ var n = (r, e, o) => e in r ? a(r, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : r[e] = o;
3
+ var t = (r, e, o) => n(r, typeof e != "symbol" ? e + "" : e, o);
4
4
  import { ref as l, reactive as c, readonly as u } from "vue";
5
5
  class d {
6
6
  constructor() {
7
7
  t(this, "promise");
8
8
  t(this, "reject");
9
9
  t(this, "resolve");
10
- this.promise = new Promise((e, r) => {
11
- this.reject = r, this.resolve = e;
10
+ this.promise = new Promise((e, o) => {
11
+ this.reject = o, this.resolve = e;
12
12
  });
13
13
  }
14
14
  }
15
15
  const i = l();
16
16
  function p() {
17
- function o(r) {
17
+ function r(o) {
18
18
  var s;
19
19
  if (i.value)
20
20
  throw new Error("A Dialog is already being displayed");
21
21
  return i.value = {
22
- ...r,
22
+ ...o,
23
23
  deferred: new d()
24
24
  }, (s = i.value.deferred) == null ? void 0 : s.promise;
25
25
  }
@@ -34,7 +34,7 @@ function p() {
34
34
  /**
35
35
  * Opens the dialog.
36
36
  */
37
- open: o,
37
+ open: r,
38
38
  /**
39
39
  * Closes the dialog.
40
40
  */
@@ -24,42 +24,32 @@ function A(s, e, i, t) {
24
24
  function c(h) {
25
25
  h.done ? r(h.value) : o(h.value).then(l, a);
26
26
  }
27
- c((t = t.apply(s, e || [])).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
33
  var $ = function s(e, i) {
34
- if (e === i)
35
- return !0;
34
+ if (e === i) return !0;
36
35
  if (e && i && typeof e == "object" && typeof i == "object") {
37
- if (e.constructor !== i.constructor)
38
- return !1;
36
+ if (e.constructor !== i.constructor) return !1;
39
37
  var t, o, r;
40
38
  if (Array.isArray(e)) {
41
- if (t = e.length, t != i.length)
42
- return !1;
39
+ if (t = e.length, t != i.length) return !1;
43
40
  for (o = t; o-- !== 0; )
44
- if (!s(e[o], i[o]))
45
- return !1;
41
+ if (!s(e[o], i[o])) return !1;
46
42
  return !0;
47
43
  }
48
- if (e.constructor === RegExp)
49
- return e.source === i.source && e.flags === i.flags;
50
- if (e.valueOf !== Object.prototype.valueOf)
51
- return e.valueOf() === i.valueOf();
52
- if (e.toString !== Object.prototype.toString)
53
- return e.toString() === i.toString();
54
- if (r = Object.keys(e), t = r.length, t !== Object.keys(i).length)
55
- 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;
56
48
  for (o = t; o-- !== 0; )
57
- if (!Object.prototype.hasOwnProperty.call(i, r[o]))
58
- return !1;
49
+ if (!Object.prototype.hasOwnProperty.call(i, r[o])) return !1;
59
50
  for (o = t; o-- !== 0; ) {
60
51
  var n = r[o];
61
- if (!s(e[n], i[n]))
62
- return !1;
52
+ if (!s(e[n], i[n])) return !1;
63
53
  }
64
54
  return !0;
65
55
  }
@@ -178,19 +168,19 @@ class m {
178
168
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
179
169
  (r) => !t[r] && delete t[r]
180
170
  ), !((i = (e = window == null ? void 0 : window.google) === null || e === void 0 ? void 0 : e.maps) === null || i === void 0) && i.importLibrary || ((r) => {
181
- let n, l, a, c = "The Google Maps JavaScript API", h = "google", d = "importLibrary", u = "__ib__", p = document, f = window;
182
- f = f[h] || (f[h] = {});
183
- const g = f.maps || (f.maps = {}), E = /* @__PURE__ */ new Set(), v = new URLSearchParams(), S = () => (
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 = () => (
184
174
  // @ts-ignore
185
175
  n || (n = new Promise((w, _) => A(this, void 0, void 0, function* () {
186
176
  var b;
187
177
  yield l = p.createElement("script"), l.id = this.id, v.set("libraries", [...E] + "");
188
178
  for (a in r)
189
179
  v.set(a.replace(/[A-Z]/g, (P) => "_" + P[0].toLowerCase()), r[a]);
190
- v.set("callback", h + ".maps." + u), l.src = this.url + "?" + v, g[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);
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);
191
181
  })))
192
182
  );
193
- g[d] ? console.warn(c + " only loads once. Ignoring:", r) : g[d] = (w, ..._) => E.add(w) && S().then(() => g[d](w, ..._));
183
+ f[d] ? console.warn(c + " only loads once. Ignoring:", r) : f[d] = (w, ..._) => E.add(w) && S().then(() => f[d](w, ..._));
194
184
  })(t);
195
185
  const o = this.libraries.map((r) => this.importLibrary(r));
196
186
  o.length || o.push(this.importLibrary("core")), Promise.all(o).then(() => this.callback(), (r) => {
@@ -278,7 +268,7 @@ function F(s) {
278
268
  return;
279
269
  }
280
270
  i.getDetails({ placeId: r, fields: ["address_components", "geometry"] }, (a, c) => {
281
- var u, p, f, g;
271
+ var u, p, g, f;
282
272
  if (c !== google.maps.places.PlacesServiceStatus.OK) {
283
273
  l({
284
274
  isGoogleMapsError: !0,
@@ -290,7 +280,7 @@ function F(s) {
290
280
  const d = {
291
281
  ...j((a == null ? void 0 : a.address_components) || []),
292
282
  lat: (p = (u = a == null ? void 0 : a.geometry) == null ? void 0 : u.location) == null ? void 0 : p.lat(),
293
- long: (g = (f = a == null ? void 0 : a.geometry) == null ? void 0 : f.location) == null ? void 0 : g.lng(),
283
+ long: (f = (g = a == null ? void 0 : a.geometry) == null ? void 0 : g.location) == null ? void 0 : f.lng(),
294
284
  place_id: r
295
285
  };
296
286
  n(d);
@@ -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","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
+ {"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]}
package/dist/useModals.js CHANGED
@@ -20,8 +20,7 @@ function D() {
20
20
  }
21
21
  if (t) {
22
22
  const o = n.value.findIndex((f) => f.name === t);
23
- if (o === -1)
24
- return;
23
+ if (o === -1) return;
25
24
  n.value.splice(o, 1);
26
25
  return;
27
26
  }
@@ -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-ignore - 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,CAAA,CAAE;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,IAAA;AAG3B,IAAAF,EAAM,UAAUG,EAAM,CAAA,GAAID,GAAiBF,EAAM,OAAO,GAEjDJ,EAAA,MAAM,KAAKI,CAAK;AAAA,EACzB;AAEA,WAASI,EAAM,EAAE,OAAAC,GAAO,MAAAC,EAAK,IAAe,CAAA,GAAI;AAC1C,QAAAD,MAAU,UAAa,CAACC,GAAM;AAChC,MAAAV,EAAO,MAAM;AACb;AAAA;AAGF,QAAIS,MAAU,QAAW;AAChB,MAAAT,EAAA,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA;AAGF,QAAIC,GAAM;AACFD,YAAAA,IAAQT,EAAO,MAAM,UAAU,CAACI,MAAUA,EAAM,SAASM,CAAI;AAEnE,UAAID,MAAU;AAAI;AAEX,MAAAT,EAAA,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA;AAAA,EAEJ;AAEA,WAASE,IAAW;AAClB,IAAAX,EAAO,QAAQ;EACjB;AAEM,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
+ {"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-ignore - 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,CAAA,CAAE;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,IAAA;AAG3B,IAAAF,EAAM,UAAUG,EAAM,CAAA,GAAID,GAAiBF,EAAM,OAAO,GAEjDJ,EAAA,MAAM,KAAKI,CAAK;AAAA,EACzB;AAEA,WAASI,EAAM,EAAE,OAAAC,GAAO,MAAAC,EAAK,IAAe,CAAA,GAAI;AAC1C,QAAAD,MAAU,UAAa,CAACC,GAAM;AAChC,MAAAV,EAAO,MAAM;AACb;AAAA,IACF;AAEA,QAAIS,MAAU,QAAW;AAChB,MAAAT,EAAA,MAAM,OAAOS,GAAO,CAAC;AAC5B;AAAA,IACF;AAEA,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,IACF;AAAA,EACF;AAEA,WAASE,IAAW;AAClB,IAAAX,EAAO,QAAQ;EACjB;AAEM,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":"useScriptTag.js","sources":["../src/composables/useScriptTag/useScriptTag.ts"],"sourcesContent":["import { onMounted, onUnmounted, ref } from 'vue';\n\ntype UseScriptOptions = {\n manual: boolean;\n};\n\nexport default function useScriptTag(url: string, options: UseScriptOptions = { manual: false }) {\n const scriptTag = ref<HTMLScriptElement | null>(null);\n const isLoaded = ref(false);\n const error = ref<Error | null>(null);\n\n const setIsLoaded = () => (isLoaded.value = true);\n const setError = (e: ErrorEvent) => (error.value = e.error);\n\n function loadScript() {\n let el = document.querySelector<HTMLScriptElement>(`script[src=\"${url}\"]`);\n\n if (!el) {\n isLoaded.value = false;\n error.value = null;\n\n el = document.createElement('script');\n\n el.type = 'text/javascript';\n el.async = true;\n el.src = url;\n el.addEventListener('load', setIsLoaded);\n el.addEventListener('error', setError);\n document.head.appendChild(el);\n } else {\n isLoaded.value = true;\n }\n\n scriptTag.value = el;\n }\n\n function unloadScript() {\n if (!document) {\n return;\n }\n\n const elToBeRemoved = document.querySelector<HTMLScriptElement>(`script[src=\"${url}\"]`);\n\n if (elToBeRemoved) {\n elToBeRemoved.removeEventListener('load', setIsLoaded);\n elToBeRemoved.removeEventListener('error', setError);\n\n document.head.removeChild(elToBeRemoved);\n\n scriptTag.value = null;\n isLoaded.value = false;\n }\n }\n\n if (!options.manual) {\n onMounted(loadScript);\n onUnmounted(unloadScript);\n }\n\n return { scriptTag, load: loadScript, unload: unloadScript, isLoaded, error };\n}\n"],"names":["useScriptTag","url","options","scriptTag","ref","isLoaded","error","setIsLoaded","setError","loadScript","el","unloadScript","elToBeRemoved","onMounted","onUnmounted"],"mappings":";AAMA,SAAwBA,EAAaC,GAAaC,IAA4B,EAAE,QAAQ,MAAS;AACzF,QAAAC,IAAYC,EAA8B,IAAI,GAC9CC,IAAWD,EAAI,EAAK,GACpBE,IAAQF,EAAkB,IAAI,GAE9BG,IAAc,MAAOF,EAAS,QAAQ,IACtCG,IAAW,CAAC,MAAmBF,EAAM,QAAQ,EAAE;AAErD,WAASG,IAAa;AACpB,QAAIC,IAAK,SAAS,cAAiC,eAAeT,KAAO;AAEzE,IAAKS,IAaHL,EAAS,QAAQ,MAZjBA,EAAS,QAAQ,IACjBC,EAAM,QAAQ,MAETI,IAAA,SAAS,cAAc,QAAQ,GAEpCA,EAAG,OAAO,mBACVA,EAAG,QAAQ,IACXA,EAAG,MAAMT,GACNS,EAAA,iBAAiB,QAAQH,CAAW,GACpCG,EAAA,iBAAiB,SAASF,CAAQ,GAC5B,SAAA,KAAK,YAAYE,CAAE,IAK9BP,EAAU,QAAQO;AAAA,EACpB;AAEA,WAASC,IAAe;AACtB,QAAI,CAAC;AACH;AAGF,UAAMC,IAAgB,SAAS,cAAiC,eAAeX,KAAO;AAEtF,IAAIW,MACYA,EAAA,oBAAoB,QAAQL,CAAW,GACvCK,EAAA,oBAAoB,SAASJ,CAAQ,GAE1C,SAAA,KAAK,YAAYI,CAAa,GAEvCT,EAAU,QAAQ,MAClBE,EAAS,QAAQ;AAAA,EAErB;AAEI,SAACH,EAAQ,WACXW,EAAUJ,CAAU,GACpBK,EAAYH,CAAY,IAGnB,EAAE,WAAAR,GAAW,MAAMM,GAAY,QAAQE,GAAc,UAAAN,GAAU,OAAAC;AACxE;"}
1
+ {"version":3,"file":"useScriptTag.js","sources":["../src/composables/useScriptTag/useScriptTag.ts"],"sourcesContent":["import { onMounted, onUnmounted, ref } from 'vue';\n\ntype UseScriptOptions = {\n manual: boolean;\n};\n\nexport default function useScriptTag(url: string, options: UseScriptOptions = { manual: false }) {\n const scriptTag = ref<HTMLScriptElement | null>(null);\n const isLoaded = ref(false);\n const error = ref<Error | null>(null);\n\n const setIsLoaded = () => (isLoaded.value = true);\n const setError = (e: ErrorEvent) => (error.value = e.error);\n\n function loadScript() {\n let el = document.querySelector<HTMLScriptElement>(`script[src=\"${url}\"]`);\n\n if (!el) {\n isLoaded.value = false;\n error.value = null;\n\n el = document.createElement('script');\n\n el.type = 'text/javascript';\n el.async = true;\n el.src = url;\n el.addEventListener('load', setIsLoaded);\n el.addEventListener('error', setError);\n document.head.appendChild(el);\n } else {\n isLoaded.value = true;\n }\n\n scriptTag.value = el;\n }\n\n function unloadScript() {\n if (!document) {\n return;\n }\n\n const elToBeRemoved = document.querySelector<HTMLScriptElement>(`script[src=\"${url}\"]`);\n\n if (elToBeRemoved) {\n elToBeRemoved.removeEventListener('load', setIsLoaded);\n elToBeRemoved.removeEventListener('error', setError);\n\n document.head.removeChild(elToBeRemoved);\n\n scriptTag.value = null;\n isLoaded.value = false;\n }\n }\n\n if (!options.manual) {\n onMounted(loadScript);\n onUnmounted(unloadScript);\n }\n\n return { scriptTag, load: loadScript, unload: unloadScript, isLoaded, error };\n}\n"],"names":["useScriptTag","url","options","scriptTag","ref","isLoaded","error","setIsLoaded","setError","loadScript","el","unloadScript","elToBeRemoved","onMounted","onUnmounted"],"mappings":";AAMA,SAAwBA,EAAaC,GAAaC,IAA4B,EAAE,QAAQ,MAAS;AACzF,QAAAC,IAAYC,EAA8B,IAAI,GAC9CC,IAAWD,EAAI,EAAK,GACpBE,IAAQF,EAAkB,IAAI,GAE9BG,IAAc,MAAOF,EAAS,QAAQ,IACtCG,IAAW,CAAC,MAAmBF,EAAM,QAAQ,EAAE;AAErD,WAASG,IAAa;AACpB,QAAIC,IAAK,SAAS,cAAiC,eAAeT,CAAG,IAAI;AAEzE,IAAKS,IAaHL,EAAS,QAAQ,MAZjBA,EAAS,QAAQ,IACjBC,EAAM,QAAQ,MAETI,IAAA,SAAS,cAAc,QAAQ,GAEpCA,EAAG,OAAO,mBACVA,EAAG,QAAQ,IACXA,EAAG,MAAMT,GACNS,EAAA,iBAAiB,QAAQH,CAAW,GACpCG,EAAA,iBAAiB,SAASF,CAAQ,GAC5B,SAAA,KAAK,YAAYE,CAAE,IAK9BP,EAAU,QAAQO;AAAA,EACpB;AAEA,WAASC,IAAe;AACtB,QAAI,CAAC;AACH;AAGF,UAAMC,IAAgB,SAAS,cAAiC,eAAeX,CAAG,IAAI;AAEtF,IAAIW,MACYA,EAAA,oBAAoB,QAAQL,CAAW,GACvCK,EAAA,oBAAoB,SAASJ,CAAQ,GAE1C,SAAA,KAAK,YAAYI,CAAa,GAEvCT,EAAU,QAAQ,MAClBE,EAAS,QAAQ;AAAA,EAErB;AAEI,SAACH,EAAQ,WACXW,EAAUJ,CAAU,GACpBK,EAAYH,CAAY,IAGnB,EAAE,WAAAR,GAAW,MAAMM,GAAY,QAAQE,GAAc,UAAAN,GAAU,OAAAC;AACxE;"}
package/dist/useSearch.js CHANGED
@@ -1,31 +1,26 @@
1
1
  import f from "lodash-es/get";
2
- import { computed as m } from "vue";
3
- import { i as p, s as l } from "./searchFuzzy-9b74ec4e.js";
4
- import { normalizeText as s } from "./utils/helpers.js";
5
- import "./_commonjsHelpers-10dfc225.js";
6
- import "lodash-es/isPlainObject";
7
- import "lodash-es/camelCase";
8
- import "lodash-es/isFinite";
9
- import "./constants.js";
10
- function F({ items: e, fieldNames: o, trackBy: i = "id" }) {
11
- const a = m(() => {
2
+ import { computed as l } from "vue";
3
+ import { i as s, s as h } from "./searchFuzzy-DKooyZM8.js";
4
+ import { normalizeText as m } from "./utils/helpers.js";
5
+ function S({ items: t, fieldNames: u, trackBy: o = "id" }) {
6
+ const c = l(() => {
12
7
  const r = {};
13
- return !o || !o.length || e.value.forEach((t) => {
14
- const u = String(t[i]);
15
- r[u] = o.map((n) => s(f(t, n.split(".")))).filter(Boolean).join(" ");
8
+ return !u || !u.length || t.value.forEach((e) => {
9
+ const n = String(e[o]);
10
+ r[n] = u.map((a) => m(f(e, a.split(".")))).filter(Boolean).join(" ");
16
11
  }), r;
17
12
  });
18
- function c(r, t) {
19
- return t != null && t.fuzzy && p(e.value) ? l(r, e.value, { fieldNames: o }) : e.value.filter((u) => {
20
- const n = String(u[i]);
21
- return a.value[n].includes(r.trim().toLowerCase());
13
+ function i(r, e) {
14
+ return e != null && e.fuzzy && s(t.value) ? h(r, t.value, { fieldNames: u }) : t.value.filter((n) => {
15
+ const a = String(n[o]);
16
+ return c.value[a].includes(r.trim().toLowerCase());
22
17
  });
23
18
  }
24
19
  return {
25
- searchFor: c
20
+ searchFor: i
26
21
  };
27
22
  }
28
23
  export {
29
- F as default
24
+ S as default
30
25
  };
31
26
  //# sourceMappingURL=useSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","sources":["../src/composables/useSearch/useSearch.ts"],"sourcesContent":["import get from 'lodash-es/get';\nimport { computed } from 'vue';\n\nimport { isListOfObjects } from '../../../types/utils';\nimport { normalizeText } from '../../utils/helpers';\nimport searchFuzzy from '../../utils/searchFuzzy';\nimport { SearchMap, UseSearchArgs } from './useSearch.types';\n\nexport default function useSearch<Item = unknown>({ items, fieldNames, trackBy = 'id' }: UseSearchArgs<Item>) {\n const searchMap = computed<SearchMap>(() => {\n const newSearchMap = {};\n\n if (!fieldNames || !fieldNames.length) {\n return newSearchMap;\n }\n\n items.value.forEach((item) => {\n const itemKey = String(item[trackBy]);\n\n newSearchMap[itemKey] = fieldNames\n .map((fieldName) => {\n return normalizeText(get(item, fieldName.split('.'))); // get the field's value\n })\n .filter(Boolean)\n .join(' ');\n });\n\n return newSearchMap;\n });\n\n /**\n * Filter `items` by the `fieldNames`'s values.\n * @param options.fuzzy - will use fuzzy search if true\n */\n function searchFor(\n searchTerm: string,\n options?: {\n fuzzy?: boolean;\n },\n ): Item[] {\n if (options?.fuzzy && isListOfObjects(items.value)) {\n return searchFuzzy<Item>(searchTerm, items.value, { fieldNames });\n }\n\n return items.value.filter((item) => {\n const itemKey = String(item[trackBy]);\n\n return searchMap.value[itemKey].includes(searchTerm.trim().toLowerCase());\n });\n }\n\n return {\n searchFor,\n };\n}\n\nexport * from './useSearch.types';\n"],"names":["useSearch","items","fieldNames","trackBy","searchMap","computed","newSearchMap","item","itemKey","fieldName","normalizeText","get","searchFor","searchTerm","options","isListOfObjects","searchFuzzy"],"mappings":";;;;;;;;;AAQA,SAAwBA,EAA0B,EAAE,OAAAC,GAAO,YAAAC,GAAY,SAAAC,IAAU,QAA6B;AACtG,QAAAC,IAAYC,EAAoB,MAAM;AAC1C,UAAMC,IAAe,CAAA;AAErB,WAAI,CAACJ,KAAc,CAACA,EAAW,UAIzBD,EAAA,MAAM,QAAQ,CAACM,MAAS;AAC5B,YAAMC,IAAU,OAAOD,EAAKJ,CAAO,CAAC;AAEpC,MAAAG,EAAaE,CAAO,IAAIN,EACrB,IAAI,CAACO,MACGC,EAAcC,EAAIJ,GAAME,EAAU,MAAM,GAAG,CAAC,CAAC,CACrD,EACA,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IAAA,CACZ,GAEMH;AAAA,EAAA,CACR;AAMQ,WAAAM,EACPC,GACAC,GAGQ;AACR,WAAIA,KAAA,QAAAA,EAAS,SAASC,EAAgBd,EAAM,KAAK,IACxCe,EAAkBH,GAAYZ,EAAM,OAAO,EAAE,YAAAC,GAAY,IAG3DD,EAAM,MAAM,OAAO,CAACM,MAAS;AAClC,YAAMC,IAAU,OAAOD,EAAKJ,CAAO,CAAC;AAE7B,aAAAC,EAAU,MAAMI,CAAO,EAAE,SAASK,EAAW,KAAA,EAAO,YAAA,CAAa;AAAA,IAAA,CACzE;AAAA,EACH;AAEO,SAAA;AAAA,IACL,WAAAD;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useSearch.js","sources":["../src/composables/useSearch/useSearch.ts"],"sourcesContent":["import get from 'lodash-es/get';\nimport { computed } from 'vue';\n\nimport { isListOfObjects } from '../../../types/utils';\nimport { normalizeText } from '../../utils/helpers';\nimport searchFuzzy from '../../utils/searchFuzzy';\nimport { SearchMap, UseSearchArgs } from './useSearch.types';\n\nexport default function useSearch<Item = unknown>({ items, fieldNames, trackBy = 'id' }: UseSearchArgs<Item>) {\n const searchMap = computed<SearchMap>(() => {\n const newSearchMap = {};\n\n if (!fieldNames || !fieldNames.length) {\n return newSearchMap;\n }\n\n items.value.forEach((item) => {\n const itemKey = String(item[trackBy]);\n\n newSearchMap[itemKey] = fieldNames\n .map((fieldName) => {\n return normalizeText(get(item, fieldName.split('.'))); // get the field's value\n })\n .filter(Boolean)\n .join(' ');\n });\n\n return newSearchMap;\n });\n\n /**\n * Filter `items` by the `fieldNames`'s values.\n * @param options.fuzzy - will use fuzzy search if true\n */\n function searchFor(\n searchTerm: string,\n options?: {\n fuzzy?: boolean;\n },\n ): Item[] {\n if (options?.fuzzy && isListOfObjects(items.value)) {\n return searchFuzzy<Item>(searchTerm, items.value, { fieldNames });\n }\n\n return items.value.filter((item) => {\n const itemKey = String(item[trackBy]);\n\n return searchMap.value[itemKey].includes(searchTerm.trim().toLowerCase());\n });\n }\n\n return {\n searchFor,\n };\n}\n\nexport * from './useSearch.types';\n"],"names":["useSearch","items","fieldNames","trackBy","searchMap","computed","newSearchMap","item","itemKey","fieldName","normalizeText","get","searchFor","searchTerm","options","isListOfObjects","searchFuzzy"],"mappings":";;;;AAQA,SAAwBA,EAA0B,EAAE,OAAAC,GAAO,YAAAC,GAAY,SAAAC,IAAU,QAA6B;AACtG,QAAAC,IAAYC,EAAoB,MAAM;AAC1C,UAAMC,IAAe,CAAA;AAErB,WAAI,CAACJ,KAAc,CAACA,EAAW,UAIzBD,EAAA,MAAM,QAAQ,CAACM,MAAS;AAC5B,YAAMC,IAAU,OAAOD,EAAKJ,CAAO,CAAC;AAEpC,MAAAG,EAAaE,CAAO,IAAIN,EACrB,IAAI,CAACO,MACGC,EAAcC,EAAIJ,GAAME,EAAU,MAAM,GAAG,CAAC,CAAC,CACrD,EACA,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IAAA,CACZ,GAEMH;AAAA,EAAA,CACR;AAMQ,WAAAM,EACPC,GACAC,GAGQ;AACR,WAAIA,KAAA,QAAAA,EAAS,SAASC,EAAgBd,EAAM,KAAK,IACxCe,EAAkBH,GAAYZ,EAAM,OAAO,EAAE,YAAAC,GAAY,IAG3DD,EAAM,MAAM,OAAO,CAACM,MAAS;AAClC,YAAMC,IAAU,OAAOD,EAAKJ,CAAO,CAAC;AAE7B,aAAAC,EAAU,MAAMI,CAAO,EAAE,SAASK,EAAW,KAAA,EAAO,YAAA,CAAa;AAAA,IAAA,CACzE;AAAA,EACH;AAEO,SAAA;AAAA,IACL,WAAAD;AAAA,EAAA;AAEJ;"}