@pega/cosmos-react-core 8.8.0 → 9.0.0-build.10.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 (615) hide show
  1. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  2. package/lib/components/AppShell/AppHeader.js +4 -1
  3. package/lib/components/AppShell/AppHeader.js.map +1 -1
  4. package/lib/components/AppShell/NavigationListItemWrapper.d.ts.map +1 -1
  5. package/lib/components/AppShell/NavigationListItemWrapper.js +3 -4
  6. package/lib/components/AppShell/NavigationListItemWrapper.js.map +1 -1
  7. package/lib/components/AppShell/ThemeSwitcher.d.ts +9 -0
  8. package/lib/components/AppShell/ThemeSwitcher.d.ts.map +1 -0
  9. package/lib/components/AppShell/ThemeSwitcher.js +58 -0
  10. package/lib/components/AppShell/ThemeSwitcher.js.map +1 -0
  11. package/lib/components/AppShell/ThemeSwitcher.test-ids.d.ts +2 -0
  12. package/lib/components/AppShell/ThemeSwitcher.test-ids.d.ts.map +1 -0
  13. package/lib/components/AppShell/ThemeSwitcher.test-ids.js +3 -0
  14. package/lib/components/AppShell/ThemeSwitcher.test-ids.js.map +1 -0
  15. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  16. package/lib/components/Avatar/Avatar.js +10 -4
  17. package/lib/components/Avatar/Avatar.js.map +1 -1
  18. package/lib/components/Banner/Banner.js +1 -1
  19. package/lib/components/Banner/Banner.js.map +1 -1
  20. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  21. package/lib/components/ComboBox/ComboBox.js +9 -4
  22. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  23. package/lib/components/ComboBox/ComboBox.types.d.ts +5 -0
  24. package/lib/components/ComboBox/ComboBox.types.d.ts.map +1 -1
  25. package/lib/components/ComboBox/ComboBox.types.js.map +1 -1
  26. package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -1
  27. package/lib/components/CompositeInput/CompositeInput.js +6 -10
  28. package/lib/components/CompositeInput/CompositeInput.js.map +1 -1
  29. package/lib/components/Configuration/Configuration.d.ts +6 -0
  30. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  31. package/lib/components/Configuration/Configuration.js +5 -1
  32. package/lib/components/Configuration/Configuration.js.map +1 -1
  33. package/lib/components/CreditCard/CreditCardInput.d.ts +1 -1
  34. package/lib/components/CreditCard/CreditCardInput.js +1 -1
  35. package/lib/components/CreditCard/CreditCardInput.js.map +1 -1
  36. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  37. package/lib/components/Currency/CurrencyInput.js +2 -2
  38. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  39. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  40. package/lib/components/DateTime/Input/DateInput.js +3 -3
  41. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  42. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  43. package/lib/components/DateTime/Input/DateRangeInput.js +1 -1
  44. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  45. package/lib/components/DateTime/Input/DateTime.styles.d.ts.map +1 -1
  46. package/lib/components/DateTime/Input/DateTime.styles.js +0 -4
  47. package/lib/components/DateTime/Input/DateTime.styles.js.map +1 -1
  48. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  49. package/lib/components/DateTime/Input/DateTimeInput.js +17 -2
  50. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  51. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  52. package/lib/components/DateTime/Input/Duration/DurationInput.js +3 -1
  53. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  54. package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
  55. package/lib/components/DateTime/Input/MonthInput.js +2 -2
  56. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  57. package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
  58. package/lib/components/DateTime/Input/QuarterInput.js +2 -2
  59. package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
  60. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  61. package/lib/components/DateTime/Input/TimeInput.js +2 -2
  62. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  63. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -1
  64. package/lib/components/DateTime/Input/TimeRangeInput.js +1 -1
  65. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -1
  66. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  67. package/lib/components/DateTime/Input/WeekInput.js +3 -3
  68. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  69. package/lib/components/Dialog/Dialog.types.d.ts +4 -0
  70. package/lib/components/Dialog/Dialog.types.d.ts.map +1 -1
  71. package/lib/components/Dialog/Dialog.types.js.map +1 -1
  72. package/lib/components/Dialog/FormDialog.d.ts.map +1 -1
  73. package/lib/components/Dialog/FormDialog.js +7 -2
  74. package/lib/components/Dialog/FormDialog.js.map +1 -1
  75. package/lib/components/Dialog/InfoDialog.js +1 -1
  76. package/lib/components/Dialog/InfoDialog.js.map +1 -1
  77. package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
  78. package/lib/components/FieldGroup/FieldGroupList.js +4 -2
  79. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  80. package/lib/components/FieldGroup/FieldGroupList.utils.d.ts +1 -1
  81. package/lib/components/FieldGroup/FieldGroupList.utils.js +2 -2
  82. package/lib/components/FieldGroup/FieldGroupList.utils.js.map +1 -1
  83. package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
  84. package/lib/components/FieldValueList/FieldValueList.js +8 -5
  85. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  86. package/lib/components/File/FileInput.d.ts.map +1 -1
  87. package/lib/components/File/FileInput.js +2 -1
  88. package/lib/components/File/FileInput.js.map +1 -1
  89. package/lib/components/File/FileItem.d.ts.map +1 -1
  90. package/lib/components/File/FileItem.js +2 -2
  91. package/lib/components/File/FileItem.js.map +1 -1
  92. package/lib/components/FormField/FormField.d.ts.map +1 -1
  93. package/lib/components/FormField/FormField.js +3 -2
  94. package/lib/components/FormField/FormField.js.map +1 -1
  95. package/lib/components/Fullscreen/Fullscreen.d.ts.map +1 -1
  96. package/lib/components/Fullscreen/Fullscreen.js +1 -0
  97. package/lib/components/Fullscreen/Fullscreen.js.map +1 -1
  98. package/lib/components/Icon/Icon.d.ts.map +1 -1
  99. package/lib/components/Icon/Icon.js +7 -6
  100. package/lib/components/Icon/Icon.js.map +1 -1
  101. package/lib/components/Icon/streamline-icons/archive-solid.icon.d.ts +5 -0
  102. package/lib/components/Icon/streamline-icons/archive-solid.icon.d.ts.map +1 -0
  103. package/lib/components/Icon/streamline-icons/archive-solid.icon.js +7 -0
  104. package/lib/components/Icon/streamline-icons/archive-solid.icon.js.map +1 -0
  105. package/lib/components/Icon/streamline-icons/archive.icon.d.ts +5 -0
  106. package/lib/components/Icon/streamline-icons/archive.icon.d.ts.map +1 -0
  107. package/lib/components/Icon/streamline-icons/archive.icon.js +7 -0
  108. package/lib/components/Icon/streamline-icons/archive.icon.js.map +1 -0
  109. package/lib/components/Icon/streamline-icons/article-solid.icon.d.ts +5 -0
  110. package/lib/components/Icon/streamline-icons/article-solid.icon.d.ts.map +1 -0
  111. package/lib/components/Icon/streamline-icons/article-solid.icon.js +7 -0
  112. package/lib/components/Icon/streamline-icons/article-solid.icon.js.map +1 -0
  113. package/lib/components/Icon/streamline-icons/article.icon.d.ts +5 -0
  114. package/lib/components/Icon/streamline-icons/article.icon.d.ts.map +1 -0
  115. package/lib/components/Icon/streamline-icons/article.icon.js +7 -0
  116. package/lib/components/Icon/streamline-icons/article.icon.js.map +1 -0
  117. package/lib/components/Icon/streamline-icons/bell-solid.icon.d.ts +5 -0
  118. package/lib/components/Icon/streamline-icons/bell-solid.icon.d.ts.map +1 -0
  119. package/lib/components/Icon/streamline-icons/bell-solid.icon.js +7 -0
  120. package/lib/components/Icon/streamline-icons/bell-solid.icon.js.map +1 -0
  121. package/lib/components/Icon/streamline-icons/browser-site.icon.d.ts +5 -0
  122. package/lib/components/Icon/streamline-icons/browser-site.icon.d.ts.map +1 -0
  123. package/lib/components/Icon/streamline-icons/browser-site.icon.js +7 -0
  124. package/lib/components/Icon/streamline-icons/browser-site.icon.js.map +1 -0
  125. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.d.ts +5 -0
  126. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.d.ts.map +1 -0
  127. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.js +7 -0
  128. package/lib/components/Icon/streamline-icons/circle-mixed-right.icon.js.map +1 -0
  129. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.d.ts +5 -0
  130. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.d.ts.map +1 -0
  131. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.js +7 -0
  132. package/lib/components/Icon/streamline-icons/circle-stacked-mixed.icon.js.map +1 -0
  133. package/lib/components/Icon/streamline-icons/circle-stacked.icon.d.ts +5 -0
  134. package/lib/components/Icon/streamline-icons/circle-stacked.icon.d.ts.map +1 -0
  135. package/lib/components/Icon/streamline-icons/circle-stacked.icon.js +7 -0
  136. package/lib/components/Icon/streamline-icons/circle-stacked.icon.js.map +1 -0
  137. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.d.ts +5 -0
  138. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.d.ts.map +1 -0
  139. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.js +7 -0
  140. package/lib/components/Icon/streamline-icons/cloud-nodes.icon.js.map +1 -0
  141. package/lib/components/Icon/streamline-icons/condition-critical.icon.d.ts +5 -0
  142. package/lib/components/Icon/streamline-icons/condition-critical.icon.d.ts.map +1 -0
  143. package/lib/components/Icon/streamline-icons/condition-critical.icon.js +7 -0
  144. package/lib/components/Icon/streamline-icons/condition-critical.icon.js.map +1 -0
  145. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.d.ts +5 -0
  146. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.d.ts.map +1 -0
  147. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.js +7 -0
  148. package/lib/components/Icon/streamline-icons/condition-satisfactory.icon.js.map +1 -0
  149. package/lib/components/Icon/streamline-icons/disc-document.icon.d.ts +5 -0
  150. package/lib/components/Icon/streamline-icons/disc-document.icon.d.ts.map +1 -0
  151. package/lib/components/Icon/streamline-icons/disc-document.icon.js +7 -0
  152. package/lib/components/Icon/streamline-icons/disc-document.icon.js.map +1 -0
  153. package/lib/components/Icon/streamline-icons/disc-nodes.icon.d.ts +5 -0
  154. package/lib/components/Icon/streamline-icons/disc-nodes.icon.d.ts.map +1 -0
  155. package/lib/components/Icon/streamline-icons/disc-nodes.icon.js +7 -0
  156. package/lib/components/Icon/streamline-icons/disc-nodes.icon.js.map +1 -0
  157. package/lib/components/Icon/streamline-icons/document-doc.icon.d.ts +5 -0
  158. package/lib/components/Icon/streamline-icons/document-doc.icon.d.ts.map +1 -0
  159. package/lib/components/Icon/streamline-icons/document-doc.icon.js +7 -0
  160. package/lib/components/Icon/streamline-icons/document-doc.icon.js.map +1 -0
  161. package/lib/components/Icon/streamline-icons/document-json.icon.d.ts +5 -0
  162. package/lib/components/Icon/streamline-icons/document-json.icon.d.ts.map +1 -0
  163. package/lib/components/Icon/streamline-icons/document-json.icon.js +7 -0
  164. package/lib/components/Icon/streamline-icons/document-json.icon.js.map +1 -0
  165. package/lib/components/Icon/streamline-icons/document-xls.icon.d.ts +5 -0
  166. package/lib/components/Icon/streamline-icons/document-xls.icon.d.ts.map +1 -0
  167. package/lib/components/Icon/streamline-icons/document-xls.icon.js +7 -0
  168. package/lib/components/Icon/streamline-icons/document-xls.icon.js.map +1 -0
  169. package/lib/components/Icon/streamline-icons/documents.icon.d.ts +5 -0
  170. package/lib/components/Icon/streamline-icons/documents.icon.d.ts.map +1 -0
  171. package/lib/components/Icon/streamline-icons/documents.icon.js +7 -0
  172. package/lib/components/Icon/streamline-icons/documents.icon.js.map +1 -0
  173. package/lib/components/Icon/streamline-icons/field-cursor.icon.js +1 -1
  174. package/lib/components/Icon/streamline-icons/field-cursor.icon.js.map +1 -1
  175. package/lib/components/Icon/streamline-icons/filter-on.icon.d.ts +5 -0
  176. package/lib/components/Icon/streamline-icons/filter-on.icon.d.ts.map +1 -0
  177. package/lib/components/Icon/streamline-icons/filter-on.icon.js +7 -0
  178. package/lib/components/Icon/streamline-icons/filter-on.icon.js.map +1 -0
  179. package/lib/components/Icon/streamline-icons/freeze-column.icon.d.ts +5 -0
  180. package/lib/components/Icon/streamline-icons/freeze-column.icon.d.ts.map +1 -0
  181. package/lib/components/Icon/streamline-icons/freeze-column.icon.js +7 -0
  182. package/lib/components/Icon/streamline-icons/freeze-column.icon.js.map +1 -0
  183. package/lib/components/Icon/streamline-icons/galaxy.icon.d.ts +5 -0
  184. package/lib/components/Icon/streamline-icons/galaxy.icon.d.ts.map +1 -0
  185. package/lib/components/Icon/streamline-icons/galaxy.icon.js +7 -0
  186. package/lib/components/Icon/streamline-icons/galaxy.icon.js.map +1 -0
  187. package/lib/components/Icon/streamline-icons/grid-solid.icon.d.ts +5 -0
  188. package/lib/components/Icon/streamline-icons/grid-solid.icon.d.ts.map +1 -0
  189. package/lib/components/Icon/streamline-icons/grid-solid.icon.js +7 -0
  190. package/lib/components/Icon/streamline-icons/grid-solid.icon.js.map +1 -0
  191. package/lib/components/Icon/streamline-icons/grid.icon.d.ts +5 -0
  192. package/lib/components/Icon/streamline-icons/grid.icon.d.ts.map +1 -0
  193. package/lib/components/Icon/streamline-icons/grid.icon.js +7 -0
  194. package/lib/components/Icon/streamline-icons/grid.icon.js.map +1 -0
  195. package/lib/components/Icon/streamline-icons/language-pack.icon.d.ts +5 -0
  196. package/lib/components/Icon/streamline-icons/language-pack.icon.d.ts.map +1 -0
  197. package/lib/components/Icon/streamline-icons/language-pack.icon.js +7 -0
  198. package/lib/components/Icon/streamline-icons/language-pack.icon.js.map +1 -0
  199. package/lib/components/Icon/streamline-icons/layout.icon.d.ts +5 -0
  200. package/lib/components/Icon/streamline-icons/layout.icon.d.ts.map +1 -0
  201. package/lib/components/Icon/streamline-icons/layout.icon.js +7 -0
  202. package/lib/components/Icon/streamline-icons/layout.icon.js.map +1 -0
  203. package/lib/components/Icon/streamline-icons/lock-closed.icon.d.ts +5 -0
  204. package/lib/components/Icon/streamline-icons/lock-closed.icon.d.ts.map +1 -0
  205. package/lib/components/Icon/streamline-icons/lock-closed.icon.js +7 -0
  206. package/lib/components/Icon/streamline-icons/lock-closed.icon.js.map +1 -0
  207. package/lib/components/Icon/streamline-icons/mail-solid.icon.d.ts +5 -0
  208. package/lib/components/Icon/streamline-icons/mail-solid.icon.d.ts.map +1 -0
  209. package/lib/components/Icon/streamline-icons/mail-solid.icon.js +7 -0
  210. package/lib/components/Icon/streamline-icons/mail-solid.icon.js.map +1 -0
  211. package/lib/components/Icon/streamline-icons/mail.icon.d.ts.map +1 -1
  212. package/lib/components/Icon/streamline-icons/mail.icon.js +1 -1
  213. package/lib/components/Icon/streamline-icons/mail.icon.js.map +1 -1
  214. package/lib/components/Icon/streamline-icons/mobius.icon.d.ts +5 -0
  215. package/lib/components/Icon/streamline-icons/mobius.icon.d.ts.map +1 -0
  216. package/lib/components/Icon/streamline-icons/mobius.icon.js +7 -0
  217. package/lib/components/Icon/streamline-icons/mobius.icon.js.map +1 -0
  218. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.d.ts +5 -0
  219. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.d.ts.map +1 -0
  220. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.js +7 -0
  221. package/lib/components/Icon/streamline-icons/phone-in-solid.icon.js.map +1 -0
  222. package/lib/components/Icon/streamline-icons/picture-solid.icon.d.ts +5 -0
  223. package/lib/components/Icon/streamline-icons/picture-solid.icon.d.ts.map +1 -0
  224. package/lib/components/Icon/streamline-icons/picture-solid.icon.js +7 -0
  225. package/lib/components/Icon/streamline-icons/picture-solid.icon.js.map +1 -0
  226. package/lib/components/Icon/streamline-icons/plug-connect.icon.d.ts +5 -0
  227. package/lib/components/Icon/streamline-icons/plug-connect.icon.d.ts.map +1 -0
  228. package/lib/components/Icon/streamline-icons/plug-connect.icon.js +7 -0
  229. package/lib/components/Icon/streamline-icons/plug-connect.icon.js.map +1 -0
  230. package/lib/components/Icon/streamline-icons/return.icon.d.ts +5 -0
  231. package/lib/components/Icon/streamline-icons/return.icon.d.ts.map +1 -0
  232. package/lib/components/Icon/streamline-icons/return.icon.js +7 -0
  233. package/lib/components/Icon/streamline-icons/return.icon.js.map +1 -0
  234. package/lib/components/Icon/streamline-icons/robot-solid.icon.d.ts +5 -0
  235. package/lib/components/Icon/streamline-icons/robot-solid.icon.d.ts.map +1 -0
  236. package/lib/components/Icon/streamline-icons/robot-solid.icon.js +7 -0
  237. package/lib/components/Icon/streamline-icons/robot-solid.icon.js.map +1 -0
  238. package/lib/components/Icon/streamline-icons/shapes.icon.d.ts +5 -0
  239. package/lib/components/Icon/streamline-icons/shapes.icon.d.ts.map +1 -0
  240. package/lib/components/Icon/streamline-icons/shapes.icon.js +7 -0
  241. package/lib/components/Icon/streamline-icons/shapes.icon.js.map +1 -0
  242. package/lib/components/Icon/streamline-icons/share-case.icon.d.ts +5 -0
  243. package/lib/components/Icon/streamline-icons/share-case.icon.d.ts.map +1 -0
  244. package/lib/components/Icon/streamline-icons/share-case.icon.js +7 -0
  245. package/lib/components/Icon/streamline-icons/share-case.icon.js.map +1 -0
  246. package/lib/components/Icon/streamline-icons/share-document.icon.d.ts +5 -0
  247. package/lib/components/Icon/streamline-icons/share-document.icon.d.ts.map +1 -0
  248. package/lib/components/Icon/streamline-icons/share-document.icon.js +7 -0
  249. package/lib/components/Icon/streamline-icons/share-document.icon.js.map +1 -0
  250. package/lib/components/Icon/streamline-icons/shield-lock.icon.d.ts +5 -0
  251. package/lib/components/Icon/streamline-icons/shield-lock.icon.d.ts.map +1 -0
  252. package/lib/components/Icon/streamline-icons/shield-lock.icon.js +7 -0
  253. package/lib/components/Icon/streamline-icons/shield-lock.icon.js.map +1 -0
  254. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.d.ts +5 -0
  255. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.d.ts.map +1 -0
  256. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.js +7 -0
  257. package/lib/components/Icon/streamline-icons/slideshow-solid.icon.js.map +1 -0
  258. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.d.ts +5 -0
  259. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.d.ts.map +1 -0
  260. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.js +7 -0
  261. package/lib/components/Icon/streamline-icons/speaker-on-sold.icon.js.map +1 -0
  262. package/lib/components/Icon/streamline-icons/speaker-on.icon.d.ts +5 -0
  263. package/lib/components/Icon/streamline-icons/speaker-on.icon.d.ts.map +1 -0
  264. package/lib/components/Icon/streamline-icons/speaker-on.icon.js +7 -0
  265. package/lib/components/Icon/streamline-icons/speaker-on.icon.js.map +1 -0
  266. package/lib/components/Icon/streamline-icons/table-disc.icon.d.ts +5 -0
  267. package/lib/components/Icon/streamline-icons/table-disc.icon.d.ts.map +1 -0
  268. package/lib/components/Icon/streamline-icons/table-disc.icon.js +7 -0
  269. package/lib/components/Icon/streamline-icons/table-disc.icon.js.map +1 -0
  270. package/lib/components/Icon/streamline-icons/translate.icon.d.ts +5 -0
  271. package/lib/components/Icon/streamline-icons/translate.icon.d.ts.map +1 -0
  272. package/lib/components/Icon/streamline-icons/translate.icon.js +7 -0
  273. package/lib/components/Icon/streamline-icons/translate.icon.js.map +1 -0
  274. package/lib/components/Icon/streamline-icons/user-check-solid.icon.d.ts +5 -0
  275. package/lib/components/Icon/streamline-icons/user-check-solid.icon.d.ts.map +1 -0
  276. package/lib/components/Icon/streamline-icons/user-check-solid.icon.js +7 -0
  277. package/lib/components/Icon/streamline-icons/user-check-solid.icon.js.map +1 -0
  278. package/lib/components/Icon/streamline-icons/user-close-solid.icon.d.ts +5 -0
  279. package/lib/components/Icon/streamline-icons/user-close-solid.icon.d.ts.map +1 -0
  280. package/lib/components/Icon/streamline-icons/user-close-solid.icon.js +7 -0
  281. package/lib/components/Icon/streamline-icons/user-close-solid.icon.js.map +1 -0
  282. package/lib/components/Icon/streamline-icons/user-close.icon.d.ts +5 -0
  283. package/lib/components/Icon/streamline-icons/user-close.icon.d.ts.map +1 -0
  284. package/lib/components/Icon/streamline-icons/user-close.icon.js +7 -0
  285. package/lib/components/Icon/streamline-icons/user-close.icon.js.map +1 -0
  286. package/lib/components/Icon/streamline-icons/user-female-solid.icon.d.ts +5 -0
  287. package/lib/components/Icon/streamline-icons/user-female-solid.icon.d.ts.map +1 -0
  288. package/lib/components/Icon/streamline-icons/user-female-solid.icon.js +7 -0
  289. package/lib/components/Icon/streamline-icons/user-female-solid.icon.js.map +1 -0
  290. package/lib/components/Icon/streamline-icons/user-female.icon.d.ts +5 -0
  291. package/lib/components/Icon/streamline-icons/user-female.icon.d.ts.map +1 -0
  292. package/lib/components/Icon/streamline-icons/user-female.icon.js +7 -0
  293. package/lib/components/Icon/streamline-icons/user-female.icon.js.map +1 -0
  294. package/lib/components/Icon/streamline-icons/user-list-solid.icon.d.ts +5 -0
  295. package/lib/components/Icon/streamline-icons/user-list-solid.icon.d.ts.map +1 -0
  296. package/lib/components/Icon/streamline-icons/user-list-solid.icon.js +7 -0
  297. package/lib/components/Icon/streamline-icons/user-list-solid.icon.js.map +1 -0
  298. package/lib/components/Icon/streamline-icons/user-list.icon.d.ts +5 -0
  299. package/lib/components/Icon/streamline-icons/user-list.icon.d.ts.map +1 -0
  300. package/lib/components/Icon/streamline-icons/user-list.icon.js +7 -0
  301. package/lib/components/Icon/streamline-icons/user-list.icon.js.map +1 -0
  302. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.d.ts +5 -0
  303. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.d.ts.map +1 -0
  304. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.js +7 -0
  305. package/lib/components/Icon/streamline-icons/user-plus-solid.icon.js.map +1 -0
  306. package/lib/components/Icon/streamline-icons/user-plus.icon.d.ts +5 -0
  307. package/lib/components/Icon/streamline-icons/user-plus.icon.d.ts.map +1 -0
  308. package/lib/components/Icon/streamline-icons/user-plus.icon.js +7 -0
  309. package/lib/components/Icon/streamline-icons/user-plus.icon.js.map +1 -0
  310. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.d.ts +5 -0
  311. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.d.ts.map +1 -0
  312. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.js +7 -0
  313. package/lib/components/Icon/streamline-icons/user-question-mark-solid.icon.js.map +1 -0
  314. package/lib/components/Icon/streamline-icons/user-question-mark.icon.d.ts +5 -0
  315. package/lib/components/Icon/streamline-icons/user-question-mark.icon.d.ts.map +1 -0
  316. package/lib/components/Icon/streamline-icons/user-question-mark.icon.js +7 -0
  317. package/lib/components/Icon/streamline-icons/user-question-mark.icon.js.map +1 -0
  318. package/lib/components/Icon/streamline-icons/user-search-solid.icon.d.ts +5 -0
  319. package/lib/components/Icon/streamline-icons/user-search-solid.icon.d.ts.map +1 -0
  320. package/lib/components/Icon/streamline-icons/user-search-solid.icon.js +7 -0
  321. package/lib/components/Icon/streamline-icons/user-search-solid.icon.js.map +1 -0
  322. package/lib/components/Icon/streamline-icons/user-search.icon.d.ts +5 -0
  323. package/lib/components/Icon/streamline-icons/user-search.icon.d.ts.map +1 -0
  324. package/lib/components/Icon/streamline-icons/user-search.icon.js +7 -0
  325. package/lib/components/Icon/streamline-icons/user-search.icon.js.map +1 -0
  326. package/lib/components/Icon/streamline-icons/user-star-solid.icon.d.ts +5 -0
  327. package/lib/components/Icon/streamline-icons/user-star-solid.icon.d.ts.map +1 -0
  328. package/lib/components/Icon/streamline-icons/user-star-solid.icon.js +7 -0
  329. package/lib/components/Icon/streamline-icons/user-star-solid.icon.js.map +1 -0
  330. package/lib/components/Icon/streamline-icons/user-star.icon.js +2 -2
  331. package/lib/components/Icon/streamline-icons/user-star.icon.js.map +1 -1
  332. package/lib/components/Icon/streamline-icons/users-solid.icon.d.ts +5 -0
  333. package/lib/components/Icon/streamline-icons/users-solid.icon.d.ts.map +1 -0
  334. package/lib/components/Icon/streamline-icons/users-solid.icon.js +7 -0
  335. package/lib/components/Icon/streamline-icons/users-solid.icon.js.map +1 -0
  336. package/lib/components/Icon/streamline-icons/users.icon.d.ts +5 -0
  337. package/lib/components/Icon/streamline-icons/users.icon.d.ts.map +1 -0
  338. package/lib/components/Icon/streamline-icons/users.icon.js +7 -0
  339. package/lib/components/Icon/streamline-icons/users.icon.js.map +1 -0
  340. package/lib/components/Icon/streamline-icons/versions.icon.d.ts +5 -0
  341. package/lib/components/Icon/streamline-icons/versions.icon.d.ts.map +1 -0
  342. package/lib/components/Icon/streamline-icons/versions.icon.js +7 -0
  343. package/lib/components/Icon/streamline-icons/versions.icon.js.map +1 -0
  344. package/lib/components/Icon/streamline-icons/video-off.icon.d.ts +5 -0
  345. package/lib/components/Icon/streamline-icons/video-off.icon.d.ts.map +1 -0
  346. package/lib/components/Icon/streamline-icons/video-off.icon.js +7 -0
  347. package/lib/components/Icon/streamline-icons/video-off.icon.js.map +1 -0
  348. package/lib/components/Icon/streamline-icons/video-solid.icon.d.ts +5 -0
  349. package/lib/components/Icon/streamline-icons/video-solid.icon.d.ts.map +1 -0
  350. package/lib/components/Icon/streamline-icons/video-solid.icon.js +7 -0
  351. package/lib/components/Icon/streamline-icons/video-solid.icon.js.map +1 -0
  352. package/lib/components/Icon/streamline-icons/video.icon.d.ts +5 -0
  353. package/lib/components/Icon/streamline-icons/video.icon.d.ts.map +1 -0
  354. package/lib/components/Icon/streamline-icons/video.icon.js +7 -0
  355. package/lib/components/Icon/streamline-icons/video.icon.js.map +1 -0
  356. package/lib/components/Icon/streamline-icons/voicemail.icon.d.ts +5 -0
  357. package/lib/components/Icon/streamline-icons/voicemail.icon.d.ts.map +1 -0
  358. package/lib/components/Icon/streamline-icons/voicemail.icon.js +7 -0
  359. package/lib/components/Icon/streamline-icons/voicemail.icon.js.map +1 -0
  360. package/lib/components/Icon/streamline-icons/vr-solid.icon.d.ts +5 -0
  361. package/lib/components/Icon/streamline-icons/vr-solid.icon.d.ts.map +1 -0
  362. package/lib/components/Icon/streamline-icons/vr-solid.icon.js +7 -0
  363. package/lib/components/Icon/streamline-icons/vr-solid.icon.js.map +1 -0
  364. package/lib/components/Icon/streamline-icons/vr.icon.d.ts +5 -0
  365. package/lib/components/Icon/streamline-icons/vr.icon.d.ts.map +1 -0
  366. package/lib/components/Icon/streamline-icons/vr.icon.js +7 -0
  367. package/lib/components/Icon/streamline-icons/vr.icon.js.map +1 -0
  368. package/lib/components/Icon/streamline-icons/walkie-solid.icon.d.ts +5 -0
  369. package/lib/components/Icon/streamline-icons/walkie-solid.icon.d.ts.map +1 -0
  370. package/lib/components/Icon/streamline-icons/walkie-solid.icon.js +7 -0
  371. package/lib/components/Icon/streamline-icons/walkie-solid.icon.js.map +1 -0
  372. package/lib/components/Icon/streamline-icons/walkie.icon.d.ts +5 -0
  373. package/lib/components/Icon/streamline-icons/walkie.icon.d.ts.map +1 -0
  374. package/lib/components/Icon/streamline-icons/walkie.icon.js +7 -0
  375. package/lib/components/Icon/streamline-icons/walkie.icon.js.map +1 -0
  376. package/lib/components/Icon/streamline-icons/wallet-solid.icon.d.ts +5 -0
  377. package/lib/components/Icon/streamline-icons/wallet-solid.icon.d.ts.map +1 -0
  378. package/lib/components/Icon/streamline-icons/wallet-solid.icon.js +7 -0
  379. package/lib/components/Icon/streamline-icons/wallet-solid.icon.js.map +1 -0
  380. package/lib/components/Icon/streamline-icons/wallet.icon.d.ts +5 -0
  381. package/lib/components/Icon/streamline-icons/wallet.icon.d.ts.map +1 -0
  382. package/lib/components/Icon/streamline-icons/wallet.icon.js +7 -0
  383. package/lib/components/Icon/streamline-icons/wallet.icon.js.map +1 -0
  384. package/lib/components/Icon/streamline-icons/watch-solid.icon.d.ts +5 -0
  385. package/lib/components/Icon/streamline-icons/watch-solid.icon.d.ts.map +1 -0
  386. package/lib/components/Icon/streamline-icons/watch-solid.icon.js +7 -0
  387. package/lib/components/Icon/streamline-icons/watch-solid.icon.js.map +1 -0
  388. package/lib/components/Icon/streamline-icons/watch.icon.d.ts +5 -0
  389. package/lib/components/Icon/streamline-icons/watch.icon.d.ts.map +1 -0
  390. package/lib/components/Icon/streamline-icons/watch.icon.js +7 -0
  391. package/lib/components/Icon/streamline-icons/watch.icon.js.map +1 -0
  392. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.d.ts +5 -0
  393. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.d.ts.map +1 -0
  394. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.js +7 -0
  395. package/lib/components/Icon/streamline-icons/waypoint-solid.icon.js.map +1 -0
  396. package/lib/components/Icon/streamline-icons/waypoint.icon.d.ts +5 -0
  397. package/lib/components/Icon/streamline-icons/waypoint.icon.d.ts.map +1 -0
  398. package/lib/components/Icon/streamline-icons/waypoint.icon.js +7 -0
  399. package/lib/components/Icon/streamline-icons/waypoint.icon.js.map +1 -0
  400. package/lib/components/Icon/streamline-icons/webcam-solid.icon.d.ts +5 -0
  401. package/lib/components/Icon/streamline-icons/webcam-solid.icon.d.ts.map +1 -0
  402. package/lib/components/Icon/streamline-icons/webcam-solid.icon.js +7 -0
  403. package/lib/components/Icon/streamline-icons/webcam-solid.icon.js.map +1 -0
  404. package/lib/components/Icon/streamline-icons/webcam.icon.d.ts +5 -0
  405. package/lib/components/Icon/streamline-icons/webcam.icon.d.ts.map +1 -0
  406. package/lib/components/Icon/streamline-icons/webcam.icon.js +7 -0
  407. package/lib/components/Icon/streamline-icons/webcam.icon.js.map +1 -0
  408. package/lib/components/Icon/streamline-icons/whatsapp.icon.d.ts +5 -0
  409. package/lib/components/Icon/streamline-icons/whatsapp.icon.d.ts.map +1 -0
  410. package/lib/components/Icon/streamline-icons/whatsapp.icon.js +7 -0
  411. package/lib/components/Icon/streamline-icons/whatsapp.icon.js.map +1 -0
  412. package/lib/components/Icon/streamline-icons/wifi-none.icon.d.ts +5 -0
  413. package/lib/components/Icon/streamline-icons/wifi-none.icon.d.ts.map +1 -0
  414. package/lib/components/Icon/streamline-icons/wifi-none.icon.js +7 -0
  415. package/lib/components/Icon/streamline-icons/wifi-none.icon.js.map +1 -0
  416. package/lib/components/Icon/streamline-icons/wifi-off.icon.d.ts +5 -0
  417. package/lib/components/Icon/streamline-icons/wifi-off.icon.d.ts.map +1 -0
  418. package/lib/components/Icon/streamline-icons/wifi-off.icon.js +7 -0
  419. package/lib/components/Icon/streamline-icons/wifi-off.icon.js.map +1 -0
  420. package/lib/components/Icon/streamline-icons/wizard-solid.icon.d.ts +5 -0
  421. package/lib/components/Icon/streamline-icons/wizard-solid.icon.d.ts.map +1 -0
  422. package/lib/components/Icon/streamline-icons/wizard-solid.icon.js +7 -0
  423. package/lib/components/Icon/streamline-icons/wizard-solid.icon.js.map +1 -0
  424. package/lib/components/Icon/streamline-icons/wizard.icon.d.ts +5 -0
  425. package/lib/components/Icon/streamline-icons/wizard.icon.d.ts.map +1 -0
  426. package/lib/components/Icon/streamline-icons/wizard.icon.js +7 -0
  427. package/lib/components/Icon/streamline-icons/wizard.icon.js.map +1 -0
  428. package/lib/components/Icon/streamline-icons/wrench-solid.icon.d.ts +5 -0
  429. package/lib/components/Icon/streamline-icons/wrench-solid.icon.d.ts.map +1 -0
  430. package/lib/components/Icon/streamline-icons/wrench-solid.icon.js +7 -0
  431. package/lib/components/Icon/streamline-icons/wrench-solid.icon.js.map +1 -0
  432. package/lib/components/Icon/streamline-icons/wrench.icon.d.ts +5 -0
  433. package/lib/components/Icon/streamline-icons/wrench.icon.d.ts.map +1 -0
  434. package/lib/components/Icon/streamline-icons/wrench.icon.js +7 -0
  435. package/lib/components/Icon/streamline-icons/wrench.icon.js.map +1 -0
  436. package/lib/components/Icon/streamlineIconNames.d.ts +1 -1
  437. package/lib/components/Icon/streamlineIconNames.d.ts.map +1 -1
  438. package/lib/components/Icon/streamlineIconNames.js +82 -0
  439. package/lib/components/Icon/streamlineIconNames.js.map +1 -1
  440. package/lib/components/IconPicker/IconPicker.d.ts +4 -4
  441. package/lib/components/IconPicker/IconPicker.d.ts.map +1 -1
  442. package/lib/components/IconPicker/IconPicker.js +19 -25
  443. package/lib/components/IconPicker/IconPicker.js.map +1 -1
  444. package/lib/components/Input/Input.js +1 -1
  445. package/lib/components/Input/Input.js.map +1 -1
  446. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  447. package/lib/components/Input/Input.styles.js +2 -17
  448. package/lib/components/Input/Input.styles.js.map +1 -1
  449. package/lib/components/Lightbox/Lightbox.d.ts +1 -1
  450. package/lib/components/Lightbox/Lightbox.d.ts.map +1 -1
  451. package/lib/components/Lightbox/Lightbox.js +9 -3
  452. package/lib/components/Lightbox/Lightbox.js.map +1 -1
  453. package/lib/components/Lightbox/Lightbox.test-ids.d.ts +1 -1
  454. package/lib/components/Lightbox/Lightbox.test-ids.d.ts.map +1 -1
  455. package/lib/components/Lightbox/Lightbox.test-ids.js +1 -0
  456. package/lib/components/Lightbox/Lightbox.test-ids.js.map +1 -1
  457. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  458. package/lib/components/ListToolbar/ListToolbar.js +100 -39
  459. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  460. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  461. package/lib/components/ListToolbar/ListToolbar.styles.js +11 -16
  462. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  463. package/lib/components/ListToolbar/ListToolbar.types.d.ts +7 -3
  464. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  465. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  466. package/lib/components/Location/CurrentLocationButton.d.ts.map +1 -1
  467. package/lib/components/Location/CurrentLocationButton.js +4 -2
  468. package/lib/components/Location/CurrentLocationButton.js.map +1 -1
  469. package/lib/components/Location/GoogleMapsAPI.d.ts +43 -0
  470. package/lib/components/Location/GoogleMapsAPI.d.ts.map +1 -0
  471. package/lib/components/Location/GoogleMapsAPI.js +244 -0
  472. package/lib/components/Location/GoogleMapsAPI.js.map +1 -0
  473. package/lib/components/Location/Location.types.d.ts +3 -2
  474. package/lib/components/Location/Location.types.d.ts.map +1 -1
  475. package/lib/components/Location/Location.types.js.map +1 -1
  476. package/lib/components/Location/LocationAPI.types.d.ts +23 -0
  477. package/lib/components/Location/LocationAPI.types.d.ts.map +1 -0
  478. package/lib/components/Location/LocationAPI.types.js +2 -0
  479. package/lib/components/Location/LocationAPI.types.js.map +1 -0
  480. package/lib/components/Location/LocationDisplay.d.ts.map +1 -1
  481. package/lib/components/Location/LocationDisplay.js +5 -3
  482. package/lib/components/Location/LocationDisplay.js.map +1 -1
  483. package/lib/components/Location/LocationInput.d.ts.map +1 -1
  484. package/lib/components/Location/LocationInput.js +25 -22
  485. package/lib/components/Location/LocationInput.js.map +1 -1
  486. package/lib/components/Location/LocationView.d.ts.map +1 -1
  487. package/lib/components/Location/LocationView.js +8 -5
  488. package/lib/components/Location/LocationView.js.map +1 -1
  489. package/lib/components/Location/index.d.ts +2 -1
  490. package/lib/components/Location/index.d.ts.map +1 -1
  491. package/lib/components/Location/index.js +2 -1
  492. package/lib/components/Location/index.js.map +1 -1
  493. package/lib/components/Location/utils.d.ts +3 -19
  494. package/lib/components/Location/utils.d.ts.map +1 -1
  495. package/lib/components/Location/utils.js +7 -161
  496. package/lib/components/Location/utils.js.map +1 -1
  497. package/lib/components/Modal/Modal.styles.js +5 -5
  498. package/lib/components/Modal/Modal.styles.js.map +1 -1
  499. package/lib/components/MultiStepForm/MultiStepForm.d.ts.map +1 -1
  500. package/lib/components/MultiStepForm/MultiStepForm.js +1 -6
  501. package/lib/components/MultiStepForm/MultiStepForm.js.map +1 -1
  502. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  503. package/lib/components/Number/NumberInput.js +3 -1
  504. package/lib/components/Number/NumberInput.js.map +1 -1
  505. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -1
  506. package/lib/components/Number/NumberRangeInput.js +3 -1
  507. package/lib/components/Number/NumberRangeInput.js.map +1 -1
  508. package/lib/components/PageTemplates/GridLayout/EditorBackground.js +1 -1
  509. package/lib/components/PageTemplates/GridLayout/EditorBackground.js.map +1 -1
  510. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js +1 -1
  511. package/lib/components/PageTemplates/GridLayout/GridLayoutEditor.js.map +1 -1
  512. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.d.ts +5 -0
  513. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.d.ts.map +1 -1
  514. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js +2 -2
  515. package/lib/components/PageTemplates/GridLayout/GridLayoutViewer.js.map +1 -1
  516. package/lib/components/PageTemplates/GridLayout/config.d.ts +1 -1
  517. package/lib/components/PageTemplates/GridLayout/config.d.ts.map +1 -1
  518. package/lib/components/PageTemplates/GridLayout/config.js +3 -3
  519. package/lib/components/PageTemplates/GridLayout/config.js.map +1 -1
  520. package/lib/components/PageTemplates/PageTemplates.d.ts +6 -1
  521. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  522. package/lib/components/PageTemplates/PageTemplates.js +17 -8
  523. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  524. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  525. package/lib/components/Phone/PhoneInput.js +2 -2
  526. package/lib/components/Phone/PhoneInput.js.map +1 -1
  527. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  528. package/lib/components/Popover/Popover.styles.js +18 -8
  529. package/lib/components/Popover/Popover.styles.js.map +1 -1
  530. package/lib/components/Popover/modifiers.d.ts.map +1 -1
  531. package/lib/components/Popover/modifiers.js +10 -0
  532. package/lib/components/Popover/modifiers.js.map +1 -1
  533. package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
  534. package/lib/components/RadioCheck/RadioCheck.js +5 -8
  535. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  536. package/lib/components/Switch/Switch.d.ts.map +1 -1
  537. package/lib/components/Switch/Switch.js +5 -13
  538. package/lib/components/Switch/Switch.js.map +1 -1
  539. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  540. package/lib/components/Tabs/TabPanel.js +1 -0
  541. package/lib/components/Tabs/TabPanel.js.map +1 -1
  542. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  543. package/lib/components/Toaster/Toaster.js +9 -5
  544. package/lib/components/Toaster/Toaster.js.map +1 -1
  545. package/lib/components/Toaster/Toaster.types.d.ts +3 -3
  546. package/lib/components/Toaster/Toaster.types.d.ts.map +1 -1
  547. package/lib/components/Toaster/Toaster.types.js.map +1 -1
  548. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  549. package/lib/components/Tooltip/Tooltip.js +3 -1
  550. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  551. package/lib/hooks/index.d.ts +1 -0
  552. package/lib/hooks/index.d.ts.map +1 -1
  553. package/lib/hooks/index.js +1 -0
  554. package/lib/hooks/index.js.map +1 -1
  555. package/lib/hooks/useAbortController.d.ts +7 -0
  556. package/lib/hooks/useAbortController.d.ts.map +1 -0
  557. package/lib/hooks/useAbortController.js +21 -0
  558. package/lib/hooks/useAbortController.js.map +1 -0
  559. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  560. package/lib/hooks/useBreakpoint.js +5 -2
  561. package/lib/hooks/useBreakpoint.js.map +1 -1
  562. package/lib/hooks/useI18n.d.ts +156 -0
  563. package/lib/hooks/useI18n.d.ts.map +1 -1
  564. package/lib/hooks/useItemIntersection.d.ts +1 -1
  565. package/lib/hooks/useItemIntersection.js +2 -2
  566. package/lib/hooks/useItemIntersection.js.map +1 -1
  567. package/lib/hooks/useThemeMode.d.ts +10 -0
  568. package/lib/hooks/useThemeMode.d.ts.map +1 -0
  569. package/lib/hooks/useThemeMode.js +11 -0
  570. package/lib/hooks/useThemeMode.js.map +1 -0
  571. package/lib/i18n/default.d.ts +160 -0
  572. package/lib/i18n/default.d.ts.map +1 -1
  573. package/lib/i18n/default.js +173 -2
  574. package/lib/i18n/default.js.map +1 -1
  575. package/lib/i18n/i18n.d.ts +156 -0
  576. package/lib/i18n/i18n.d.ts.map +1 -1
  577. package/lib/styles/GlobalStyle.d.ts +2 -2
  578. package/lib/styles/GlobalStyle.d.ts.map +1 -1
  579. package/lib/styles/GlobalStyle.js +5 -3
  580. package/lib/styles/GlobalStyle.js.map +1 -1
  581. package/lib/styles/animations.d.ts +9 -0
  582. package/lib/styles/animations.d.ts.map +1 -0
  583. package/lib/styles/animations.js +78 -0
  584. package/lib/styles/animations.js.map +1 -0
  585. package/lib/styles/gradients.d.ts +2 -0
  586. package/lib/styles/gradients.d.ts.map +1 -1
  587. package/lib/styles/gradients.js +4 -1
  588. package/lib/styles/gradients.js.map +1 -1
  589. package/lib/styles/index.d.ts +1 -0
  590. package/lib/styles/index.d.ts.map +1 -1
  591. package/lib/styles/index.js +1 -0
  592. package/lib/styles/index.js.map +1 -1
  593. package/lib/styles/utils.d.ts +1 -1
  594. package/lib/styles/utils.d.ts.map +1 -1
  595. package/lib/styles/utils.js +1 -1
  596. package/lib/styles/utils.js.map +1 -1
  597. package/lib/theme/index.d.ts +2 -0
  598. package/lib/theme/index.d.ts.map +1 -1
  599. package/lib/theme/index.js +2 -0
  600. package/lib/theme/index.js.map +1 -1
  601. package/lib/theme/theme.d.ts +150 -0
  602. package/lib/theme/theme.d.ts.map +1 -1
  603. package/lib/theme/themeDefinition.json +82 -0
  604. package/lib/theme/themeOverrides.schema.json +102 -0
  605. package/lib/theme/themes/studioDarkTheme.json +240 -0
  606. package/lib/theme/themes/studioTheme.json +240 -0
  607. package/lib/utils/debounce.d.ts +4 -1
  608. package/lib/utils/debounce.d.ts.map +1 -1
  609. package/lib/utils/debounce.js +18 -2
  610. package/lib/utils/debounce.js.map +1 -1
  611. package/lib/utils/getFocusables.d.ts +4 -2
  612. package/lib/utils/getFocusables.d.ts.map +1 -1
  613. package/lib/utils/getFocusables.js +9 -7
  614. package/lib/utils/getFocusables.js.map +1 -1
  615. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Location.types.js","sourceRoot":"","sources":["../../../src/components/Location/Location.types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAuCrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC","sourcesContent":["/// <reference types=\"google.maps\" preserve=\"true\" />\n\nimport type { ReactNode } from 'react';\n\nexport declare type LatLng = {\n /** The latitude representation. */\n latitude: ReturnType<google.maps.LatLng['lat']>;\n /** The longitude representation. */\n longitude: ReturnType<google.maps.LatLng['lng']>;\n};\n\nexport declare type Bias = {\n /** Predictions will be biased towards, but not restricted to, the given bounds. Both location and radius will be ignored if bounds is set.\n * Array stores south-west coordinate of bounding box and north-east coordinate of bounding box. */\n bounds?: [LatLng, LatLng];\n /** Predictions will be biased towards the given location and radius. */\n location?: {\n /** Must to provide both center and radius. */\n /** Location coordinate or current (means user current location). */\n center: LatLng | 'current';\n /** The radius is specified in meters. */\n radius: number;\n };\n};\n\nexport declare type ProviderOpts = {\n apiKey?: string;\n region?: string;\n language?: string;\n [key: string]: unknown;\n};\n\nexport interface MapsProvider {\n name: string;\n loadAPI: (options: ProviderOpts) => Promise<void>;\n loadedPromise: Promise<void> | null;\n loadedApiKey: string;\n}\n\nexport const QUERY_FIELDS = ['name', 'formatted_address', 'geometry.location', 'place_id'];\nexport const QUERY_TYPES = ['establishment', 'geocode'];\n\nexport const LocationNotFoundError = 'Location not found';\nexport const GeolocationUnsupportedError = 'Geolocation unsupported';\nexport const GoogleMapsAPINotFoundError = 'Cannot load Google Maps API';\nexport const IsNotAnObjectError = 'Provider data given is not an object';\nexport const ProviderNotSupportedError = 'Not supported maps provider given';\nexport const CoordsCannotBeParsedError = 'Coords cannot be parsed!';\nexport const GeocoderFailedError = 'Geocoder failed due to';\n\nexport interface Location {\n name?: google.maps.places.PlaceResult['name'];\n address?: google.maps.places.PlaceResult['formatted_address'];\n latitude?: ReturnType<google.maps.LatLng['lat']>;\n longitude?: ReturnType<google.maps.LatLng['lng']>;\n}\n\nexport interface Pin extends LatLng {\n title?: string;\n content?: ReactNode;\n selected?: boolean;\n}\n"]}
1
+ {"version":3,"file":"Location.types.js","sourceRoot":"","sources":["../../../src/components/Location/Location.types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAyCrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAC1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,0BAA0B,CAAC;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC","sourcesContent":["/// <reference types=\"google.maps\" preserve=\"true\" />\n\nimport type { ReactNode } from 'react';\n\nimport type { LocationAPI } from './LocationAPI.types';\n\nexport declare type LatLng = {\n /** The latitude representation. */\n latitude: ReturnType<google.maps.LatLng['lat']>;\n /** The longitude representation. */\n longitude: ReturnType<google.maps.LatLng['lng']>;\n};\n\nexport declare type Bias = {\n /** Predictions will be biased towards, but not restricted to, the given bounds. Both location and radius will be ignored if bounds is set.\n * Array stores south-west coordinate of bounding box and north-east coordinate of bounding box. */\n bounds?: [LatLng, LatLng];\n /** Predictions will be biased towards the given location and radius. */\n location?: {\n /** Must to provide both center and radius. */\n /** Location coordinate or current (means user current location). */\n center: LatLng | 'current';\n /** The radius is specified in meters. */\n radius: number;\n };\n};\n\nexport declare type ProviderOpts = {\n apiKey?: string;\n region?: string;\n language?: string;\n [key: string]: unknown;\n};\n\nexport interface MapsProvider {\n name: string;\n loadAPI: (options: ProviderOpts) => Promise<LocationAPI>;\n loadedPromise: Promise<LocationAPI> | null;\n loadedApiKey: string;\n}\n\nexport const QUERY_FIELDS = ['name', 'formatted_address', 'geometry.location', 'place_id'];\nexport const QUERY_TYPES = ['establishment', 'geocode'];\n\nexport const LocationNotFoundError = 'Location not found';\nexport const GeolocationUnsupportedError = 'Geolocation unsupported';\nexport const GoogleMapsAPINotFoundError = 'Cannot load Google Maps API';\nexport const IsNotAnObjectError = 'Provider data given is not an object';\nexport const ProviderNotSupportedError = 'Not supported maps provider given';\nexport const CoordsCannotBeParsedError = 'Coords cannot be parsed!';\nexport const GeocoderFailedError = 'Geocoder failed due to';\n\nexport interface Location {\n name?: google.maps.places.PlaceResult['name'];\n address?: google.maps.places.PlaceResult['formatted_address'];\n latitude?: ReturnType<google.maps.LatLng['lat']>;\n longitude?: ReturnType<google.maps.LatLng['lng']>;\n}\n\nexport interface Pin extends LatLng {\n title?: string;\n content?: ReactNode;\n selected?: boolean;\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import type { Bias, LatLng, Location } from './Location.types';
2
+ type SessionToken = google.maps.places.AutocompleteSessionToken;
3
+ export interface LocationAPI {
4
+ getCoords: (coords: string | 'current' | LatLng, mapElement?: HTMLDivElement) => Promise<LatLng>;
5
+ getAddress: (coords: LatLng) => Promise<{
6
+ name: string;
7
+ address?: string;
8
+ latitude: number;
9
+ longitude: number;
10
+ }>;
11
+ getPlaceById: (placeId: string, sessionToken?: SessionToken, mapElement?: HTMLDivElement) => Promise<Location>;
12
+ getPlace: (location: string, mapElement: HTMLDivElement) => Promise<LatLng>;
13
+ getPlacePredictions: (location: string, bias?: Bias) => Promise<{
14
+ placeSuggestions: {
15
+ placeId: string;
16
+ mainText: string;
17
+ secondaryText: string;
18
+ }[];
19
+ token: SessionToken;
20
+ }>;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=LocationAPI.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocationAPI.types.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationAPI.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE/D,KAAK,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjG,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;QACtC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,YAAY,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,YAAY,EAC3B,UAAU,CAAC,EAAE,cAAc,KACxB,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,mBAAmB,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,IAAI,KACR,OAAO,CAAC;QACX,gBAAgB,EAAE;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,aAAa,EAAE,MAAM,CAAC;SACvB,EAAE,CAAC;QACJ,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC,CAAC;CACJ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=LocationAPI.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocationAPI.types.js","sourceRoot":"","sources":["../../../src/components/Location/LocationAPI.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Bias, LatLng, Location } from './Location.types';\n\ntype SessionToken = google.maps.places.AutocompleteSessionToken;\n\nexport interface LocationAPI {\n getCoords: (coords: string | 'current' | LatLng, mapElement?: HTMLDivElement) => Promise<LatLng>;\n getAddress: (coords: LatLng) => Promise<{\n name: string;\n address?: string;\n latitude: number;\n longitude: number;\n }>;\n getPlaceById: (\n placeId: string,\n sessionToken?: SessionToken,\n mapElement?: HTMLDivElement\n ) => Promise<Location>;\n getPlace: (location: string, mapElement: HTMLDivElement) => Promise<LatLng>;\n getPlacePredictions: (\n location: string,\n bias?: Bias\n ) => Promise<{\n placeSuggestions: {\n placeId: string;\n mainText: string;\n secondaryText: string;\n }[];\n token: SessionToken;\n }>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LocationDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationDisplay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,GAAG,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAI9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,eAAe,EAAE,+BAA+B,CAAC,oBAAoB,CAkE1E,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"LocationDisplay.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationDisplay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmB,GAAG,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAI9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,WAAW,oBAAqB,SAAQ,SAAS;IACrD,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;IACtC;;;OAGG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACrC;;;OAGG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC3C,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC,CAAC;CAChD;AAED,QAAA,MAAM,eAAe,EAAE,+BAA+B,CAAC,oBAAoB,CAoE1E,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -5,7 +5,7 @@ import Link from '../Link';
5
5
  import NoValue from '../NoValue/NoValue';
6
6
  import LocationView from './LocationView';
7
7
  import MapsContext from './MapsContext';
8
- import { getCoords, loadMapsAPI } from './utils';
8
+ import { loadMapsAPI } from './utils';
9
9
  const LocationDisplay = forwardRef(function LocationDisplay({ value, displayText, variant = 'text-map', height = '25rem', zoomLevel = 13, ...restProps }, ref) {
10
10
  const { name, ...providerOpts } = useContext(MapsContext);
11
11
  const [location, setLocation] = useState();
@@ -15,8 +15,10 @@ const LocationDisplay = forwardRef(function LocationDisplay({ value, displayText
15
15
  if (['text-map', 'map'].includes(variant) && value) {
16
16
  (async () => {
17
17
  setLoading(true);
18
- await loadMapsAPI(name, providerOpts);
19
- setLocation(await getCoords(value));
18
+ const mapAPIObj = await loadMapsAPI(name, providerOpts);
19
+ if (mapAPIObj) {
20
+ setLocation(await mapAPIObj.getCoords(value));
21
+ }
20
22
  setLoading(false);
21
23
  })();
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocationDisplay.js","sourceRoot":"","sources":["../../../src/components/Location/LocationDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA0BjD,MAAM,eAAe,GAA0D,UAAU,CACvF,SAAS,eAAe,CACtB,EACE,KAAK,EACL,WAAW,EACX,OAAO,GAAG,UAAU,EACpB,MAAM,GAAG,OAAO,EAChB,SAAS,GAAG,EAAE,EACd,GAAG,SAAS,EAC0B,EACxC,GAAgC;IAEhC,MAAM,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAU,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,WAAW,GACf,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,KAAK,KAAK,EAAE,SAAS,EAAE,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;YACnD,CAAC,KAAK,IAAI,EAAE;gBACV,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,MAAM,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACtC,WAAW,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;gBACpC,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CACd,KAAC,IAAI,IAAC,GAAG,EAAE,GAA2B,KAAM,SAAS,iCACnD,KAAC,OAAO,KAAG,GACN,CACR,CAAC,CAAC,CAAC,CACF,8BACG,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,UAAU,CAAC;gBAC7C,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnB,KAAC,IAAI,IACH,GAAG,EAAE,GAA6B,KAC9B,SAAS,EACb,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,IAAI,EAAE,mDAAmD,kBAAkB,CACzE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,KAAK,KAAK,EAAE,SAAS,EAAE,CAC9E,EAAE,YAEF,WAAW,IAAI,WAAW,GACtB,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,GAAG,EAAE,GAA2B,KAAM,SAAS,YAClD,WAAW,IAAI,WAAW,GACtB,CACR,CAAC,EACH,CAAC,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,CAAC,IAAI,CAChD,KAAC,YAAY,IACX,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,EAChC,iBAAiB,QACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,GAChB,CACH,IACA,CACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import { forwardRef, useContext, useEffect, useState } from 'react';\nimport type { PropsWithoutRef, Ref } from 'react';\n\nimport Text from '../Text';\nimport Link from '../Link';\nimport type { BaseProps, ForwardRefForwardPropsComponent } from '../../types';\nimport NoValue from '../NoValue/NoValue';\n\nimport LocationView from './LocationView';\nimport type { LocationViewProps } from './LocationView';\nimport MapsContext from './MapsContext';\nimport type { LatLng } from './Location.types';\nimport { getCoords, loadMapsAPI } from './utils';\n\nexport interface LocationDisplayProps extends BaseProps {\n /** Location address or coordinates */\n value?: string | 'current' | LatLng;\n /** The text to be displayed. */\n displayText?: string;\n /**\n * Controls styling of the field.\n * @default 'text-map'\n */\n variant?: 'text-map' | 'text' | 'map';\n /**\n * Height of the map container.\n * @default '25rem'\n */\n height?: LocationViewProps['height'];\n /**\n * How much the map should zoom.\n * @default 13\n */\n zoomLevel?: LocationViewProps['zoomLevel'];\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLAnchorElement | HTMLSpanElement>;\n}\n\nconst LocationDisplay: ForwardRefForwardPropsComponent<LocationDisplayProps> = forwardRef(\n function LocationDisplay(\n {\n value,\n displayText,\n variant = 'text-map',\n height = '25rem',\n zoomLevel = 13,\n ...restProps\n }: PropsWithoutRef<LocationDisplayProps>,\n ref: LocationDisplayProps['ref']\n ) {\n const { name, ...providerOpts } = useContext(MapsContext);\n const [location, setLocation] = useState<LatLng>();\n const [loading, setLoading] = useState(false);\n\n const valueString =\n typeof value === 'string' ? value : `${value?.latitude}, ${value?.longitude}`;\n\n useEffect(() => {\n if (['text-map', 'map'].includes(variant) && value) {\n (async () => {\n setLoading(true);\n await loadMapsAPI(name, providerOpts);\n setLocation(await getCoords(value));\n setLoading(false);\n })();\n }\n }, [variant, value]);\n\n return !value ? (\n <Text ref={ref as Ref<HTMLSpanElement>} {...restProps} aria-hidden>\n <NoValue />\n </Text>\n ) : (\n <>\n {(variant === 'text' || variant === 'text-map') &&\n (name === 'google' ? (\n <Link\n ref={ref as Ref<HTMLAnchorElement>}\n {...restProps}\n target='_blank'\n rel='noopener noreferrer'\n href={`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(\n typeof value === 'string' ? value : `${value?.latitude}, ${value?.longitude}`\n )}`}\n >\n {displayText || valueString}\n </Link>\n ) : (\n <Text ref={ref as Ref<HTMLSpanElement>} {...restProps}>\n {displayText || valueString}\n </Text>\n ))}\n {(variant === 'text-map' || variant === 'map') && (\n <LocationView\n pins={location ? [location] : []}\n centerMapOnChange\n height={height}\n zoomLevel={zoomLevel}\n loading={loading}\n />\n )}\n </>\n );\n }\n);\n\nexport default LocationDisplay;\n"]}
1
+ {"version":3,"file":"LocationDisplay.js","sourceRoot":"","sources":["../../../src/components/Location/LocationDisplay.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useContext, useEffect, useState } from 'react';\nimport type { PropsWithoutRef, Ref } from 'react';\n\nimport Text from '../Text';\nimport Link from '../Link';\nimport type { BaseProps, ForwardRefForwardPropsComponent } from '../../types';\nimport NoValue from '../NoValue/NoValue';\n\nimport LocationView from './LocationView';\nimport type { LocationViewProps } from './LocationView';\nimport MapsContext from './MapsContext';\nimport type { LatLng } from './Location.types';\nimport { loadMapsAPI } from './utils';\n\nexport interface LocationDisplayProps extends BaseProps {\n /** Location address or coordinates */\n value?: string | 'current' | LatLng;\n /** The text to be displayed. */\n displayText?: string;\n /**\n * Controls styling of the field.\n * @default 'text-map'\n */\n variant?: 'text-map' | 'text' | 'map';\n /**\n * Height of the map container.\n * @default '25rem'\n */\n height?: LocationViewProps['height'];\n /**\n * How much the map should zoom.\n * @default 13\n */\n zoomLevel?: LocationViewProps['zoomLevel'];\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLAnchorElement | HTMLSpanElement>;\n}\n\nconst LocationDisplay: ForwardRefForwardPropsComponent<LocationDisplayProps> = forwardRef(\n function LocationDisplay(\n {\n value,\n displayText,\n variant = 'text-map',\n height = '25rem',\n zoomLevel = 13,\n ...restProps\n }: PropsWithoutRef<LocationDisplayProps>,\n ref: LocationDisplayProps['ref']\n ) {\n const { name, ...providerOpts } = useContext(MapsContext);\n const [location, setLocation] = useState<LatLng>();\n const [loading, setLoading] = useState(false);\n\n const valueString =\n typeof value === 'string' ? value : `${value?.latitude}, ${value?.longitude}`;\n\n useEffect(() => {\n if (['text-map', 'map'].includes(variant) && value) {\n (async () => {\n setLoading(true);\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n if (mapAPIObj) {\n setLocation(await mapAPIObj.getCoords(value));\n }\n setLoading(false);\n })();\n }\n }, [variant, value]);\n\n return !value ? (\n <Text ref={ref as Ref<HTMLSpanElement>} {...restProps} aria-hidden>\n <NoValue />\n </Text>\n ) : (\n <>\n {(variant === 'text' || variant === 'text-map') &&\n (name === 'google' ? (\n <Link\n ref={ref as Ref<HTMLAnchorElement>}\n {...restProps}\n target='_blank'\n rel='noopener noreferrer'\n href={`https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(\n typeof value === 'string' ? value : `${value?.latitude}, ${value?.longitude}`\n )}`}\n >\n {displayText || valueString}\n </Link>\n ) : (\n <Text ref={ref as Ref<HTMLSpanElement>} {...restProps}>\n {displayText || valueString}\n </Text>\n ))}\n {(variant === 'text-map' || variant === 'map') && (\n <LocationView\n pins={location ? [location] : []}\n centerMapOnChange\n height={height}\n zoomLevel={zoomLevel}\n loading={loading}\n />\n )}\n </>\n );\n }\n);\n\nexport default LocationDisplay;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LocationInput.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,EAAE,EAAwB,MAAM,OAAO,CAAC;AAQnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgBvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,gBAAgB,EAAE,UAAU;IACjF;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,yGAAyG;IACzG,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;IACX;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,GAAG,CAAC,EAAE;QACJ,kDAAkD;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpC,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;KACxC,CAAC;IACF,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;;;;AAoSD,wBAAmE"}
1
+ {"version":3,"file":"LocationInput.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,EAAE,EAAwB,MAAM,OAAO,CAAC;AAQnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQvE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,gBAAgB,EAAE,UAAU;IACjF;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,yGAAyG;IACzG,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,KAAK,IAAI,CAAC;IACX;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,GAAG,CAAC,EAAE;QACJ,kDAAkD;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACpC,SAAS,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;KACxC,CAAC;IACF,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;;;;AAgTD,wBAAmE"}
@@ -10,7 +10,7 @@ import { defaultThemeProp } from '../../theme';
10
10
  import PoweredByGoogleImage from './PoweredByGoogleImage';
11
11
  import CurrentLocationButton from './CurrentLocationButton';
12
12
  import MapsContext from './MapsContext';
13
- import { getAddress, getCoords, getNavigatorPosition, getPlaceById, getPlacePredictions, isValueACoordinate, loadMapsAPI } from './utils';
13
+ import { getNavigatorPosition, isValueACoordinate, loadMapsAPI } from './utils';
14
14
  import LocationView from './LocationView';
15
15
  import { StyledLocationView } from './LocationView.styles';
16
16
  import { getLocationInputTestIds } from './Location.test-ids';
@@ -38,9 +38,9 @@ const LocationInput = forwardRef(function LocationInput(props, ref) {
38
38
  (async () => {
39
39
  if (defaultToCurrentLocation) {
40
40
  setMapLoading(true);
41
- await loadMapsAPI(name, providerOpts);
41
+ const mapAPIObj = await loadMapsAPI(name, providerOpts);
42
42
  const navigatorPosition = await getNavigatorPosition();
43
- const currentLocationAddress = await getAddress(navigatorPosition);
43
+ const currentLocationAddress = await mapAPIObj.getAddress(navigatorPosition);
44
44
  setMapLoading(false);
45
45
  onSelect?.(currentLocationAddress);
46
46
  }
@@ -49,10 +49,10 @@ const LocationInput = forwardRef(function LocationInput(props, ref) {
49
49
  useEffect(() => {
50
50
  (async () => {
51
51
  try {
52
- await loadMapsAPI(name, providerOpts);
52
+ const mapAPIObj = await loadMapsAPI(name, providerOpts);
53
53
  if (filterValue) {
54
54
  if (onlyCoordinates) {
55
- const { latitude, longitude } = await getCoords(filterValue);
55
+ const { latitude, longitude } = await mapAPIObj.getCoords(filterValue);
56
56
  setPlacePredictionMenuItems([
57
57
  {
58
58
  primary: t('exact_location'),
@@ -67,8 +67,11 @@ const LocationInput = forwardRef(function LocationInput(props, ref) {
67
67
  }
68
68
  else {
69
69
  if (isValueACoordinate(filterValue)) {
70
- const { latitude, longitude } = await getCoords(filterValue);
71
- const { name: addressName, address } = await getAddress({ latitude, longitude });
70
+ const { latitude, longitude } = await mapAPIObj.getCoords(filterValue);
71
+ const { name: addressName, address } = await mapAPIObj.getAddress({
72
+ latitude,
73
+ longitude
74
+ });
72
75
  const menuItems = [
73
76
  {
74
77
  primary: t('exact_location'),
@@ -95,15 +98,15 @@ const LocationInput = forwardRef(function LocationInput(props, ref) {
95
98
  setPlacePredictionMenuItems(menuItems);
96
99
  return;
97
100
  }
98
- const { placePredictions, token } = await getPlacePredictions(filterValue, bias);
99
- if (placePredictions.length === 1) {
100
- const exactLocation = await getPlaceById(placePredictions[0].place_id, token);
101
- const menuItems = placePredictions.map(item => ({
102
- id: item.place_id,
103
- primary: item.structured_formatting.main_text,
104
- secondary: [item.structured_formatting.secondary_text],
101
+ const { placeSuggestions, token } = await mapAPIObj.getPlacePredictions(filterValue, bias);
102
+ if (placeSuggestions.length === 1) {
103
+ const exactLocation = await mapAPIObj.getPlaceById(placeSuggestions[0].placeId, token);
104
+ const menuItems = placeSuggestions.map(item => ({
105
+ id: item.placeId,
106
+ primary: item.mainText,
107
+ secondary: [item.secondaryText],
105
108
  onClick: (menuItemId) => {
106
- getPlaceById(menuItemId, token).then(menuItemLocation => {
109
+ mapAPIObj.getPlaceById(menuItemId, token).then(menuItemLocation => {
107
110
  setFilterValue('');
108
111
  onSelect?.(menuItemLocation);
109
112
  });
@@ -126,12 +129,12 @@ const LocationInput = forwardRef(function LocationInput(props, ref) {
126
129
  setPlacePredictionMenuItems(menuItems);
127
130
  }
128
131
  else {
129
- setPlacePredictionMenuItems(placePredictions.map(item => ({
130
- id: item.place_id,
131
- primary: item.structured_formatting.main_text,
132
- secondary: [item.structured_formatting.secondary_text],
132
+ setPlacePredictionMenuItems(placeSuggestions.map(item => ({
133
+ id: item.placeId,
134
+ primary: item.mainText,
135
+ secondary: [item.secondaryText],
133
136
  onClick: (menuItemId) => {
134
- getPlaceById(menuItemId, token).then(menuItemLocation => {
137
+ mapAPIObj.getPlaceById(menuItemId, token).then(menuItemLocation => {
135
138
  setFilterValue('');
136
139
  onSelect?.(menuItemLocation);
137
140
  });
@@ -197,8 +200,8 @@ const LocationInput = forwardRef(function LocationInput(props, ref) {
197
200
  } })), onChange: onInputChange, onBlur: () => {
198
201
  setFilterValue('');
199
202
  onBlur?.(value);
200
- }, value: value, required: required, disabled: disabled, readOnly: readOnly, status: status, ...restProps, className: createClassName('location-input', className) }), map && (_jsx(StyledLocationMap, { children: _jsx(LocationView, { ...map, pins: map.location ? [{ ...map.location }] : [], onClick: onMapClick, onError: onError, disabled: disabled, loading: mapLoading, centerMapOnChange: true }) }))] }));
201
- return label ? (_jsx(FormField, { testId: testIds, label: label, labelHidden: labelHidden, id: id, info: info, status: status, ref: ref, required: required, disabled: disabled, additionalInfo: additionalInfo, children: Comp })) : (Comp);
203
+ }, value: value, required: required, disabled: disabled, readOnly: readOnly, status: status, ...restProps, className: createClassName('location-input', className, { status }) }), map && (_jsx(StyledLocationMap, { children: _jsx(LocationView, { ...map, pins: map.location ? [{ ...map.location }] : [], onClick: onMapClick, onError: onError, disabled: disabled, loading: mapLoading, centerMapOnChange: true }) }))] }));
204
+ return label ? (_jsx(FormField, { testId: testIds, label: label, labelHidden: labelHidden, id: id, info: info, readOnly: readOnly, status: status, ref: ref, required: required, disabled: disabled, additionalInfo: additionalInfo, children: Comp })) : (Comp);
202
205
  });
203
206
  export default withTestIds(LocationInput, getLocationInputTestIds);
204
207
  //# sourceMappingURL=LocationInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocationInput.js","sourceRoot":"","sources":["../../../src/components/Location/LocationInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useContext, useEffect, useState } from 'react';\nimport type { ChangeEvent, FC, PropsWithoutRef, Ref } from 'react';\nimport styled from 'styled-components';\n\nimport ComboBox from '../ComboBox';\nimport type { MenuItemProps, MenuProps } from '../Menu';\nimport { useI18n, useTestIds, useUID } from '../../hooks';\nimport { createUID, withTestIds, createClassName } from '../../utils';\nimport FormField from '../FormField';\nimport type { FormControlProps } from '../FormControl';\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport Flex from '../Flex';\nimport { defaultThemeProp } from '../../theme';\n\nimport PoweredByGoogleImage from './PoweredByGoogleImage';\nimport CurrentLocationButton from './CurrentLocationButton';\nimport MapsContext from './MapsContext';\nimport {\n getAddress,\n getCoords,\n getNavigatorPosition,\n getPlaceById,\n getPlacePredictions,\n isValueACoordinate,\n loadMapsAPI\n} from './utils';\nimport type { Bias, LatLng } from './Location.types';\nimport LocationView from './LocationView';\nimport { StyledLocationView } from './LocationView.styles';\nimport type { LocationViewProps } from './LocationView';\nimport { getLocationInputTestIds } from './Location.test-ids';\n\nexport interface LocationInputProps extends BaseProps, FormControlProps, TestIdProp {\n /**\n * Get user current location on component first render.\n * @default false\n */\n defaultToCurrentLocation?: boolean;\n /** The value of the location field. */\n value?: string;\n /**\n * Callback fired on every change of the location input.\n * The argument passed back is the component's value prop.\n */\n onChange?: (value: string) => void;\n /**\n * Callback fired when the control's input loses focus.\n * The argument passed back is the component's value prop.\n */\n onBlur?: (value: string) => void;\n /** Callback fired when user chooses location from the dropdown of suggestions or submits input value. */\n onSelect?: (value: {\n name?: string;\n address?: string;\n latitude?: number;\n longitude?: number;\n }) => void;\n /**\n * Only select coordinates on map clicks.\n * @default false\n */\n onlyCoordinates?: boolean;\n /** Biasing query results towards user location/preference. */\n bias?: Bias;\n /**\n * Set to true renders the map view below input.\n * @default false\n */\n map?: {\n /** Location coordinates used for the map view. */\n location?: LatLng;\n height: LocationViewProps['height'];\n zoomLevel?: LocationViewProps['zoomLevel'];\n onClick?: LocationViewProps['onClick'];\n };\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n}\n\nconst StyledLocationInput = styled(ComboBox)`\n z-index: 1;\n`;\n\nStyledLocationInput.defaultProps = defaultThemeProp;\n\nconst StyledLocationMap = styled.div`\n ${StyledLocationView} {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n`;\n\nStyledLocationMap.defaultProps = defaultThemeProp;\n\nconst LocationInput: FC<LocationInputProps & ForwardProps> = forwardRef(function LocationInput(\n props: PropsWithoutRef<LocationInputProps>,\n ref: Ref<HTMLInputElement>\n) {\n const uid = useUID();\n const {\n testId,\n label,\n labelHidden,\n id = uid,\n value = '',\n info,\n status,\n required,\n readOnly,\n disabled,\n additionalInfo,\n onSelect,\n onError,\n onChange,\n onBlur,\n bias,\n defaultToCurrentLocation,\n onlyCoordinates = false,\n map,\n className,\n ...restProps\n } = props;\n\n const testIds = useTestIds(testId, getLocationInputTestIds);\n\n const { name, ...providerOpts } = useContext(MapsContext);\n const t = useI18n();\n const [placePredictionMenuItems, setPlacePredictionMenuItems] = useState<MenuProps['items']>([]);\n const [filterValue, setFilterValue] = useState('');\n const [mapLoading, setMapLoading] = useState(false);\n\n useEffect(() => {\n (async () => {\n if (defaultToCurrentLocation) {\n setMapLoading(true);\n await loadMapsAPI(name, providerOpts);\n const navigatorPosition = await getNavigatorPosition();\n const currentLocationAddress = await getAddress(navigatorPosition);\n setMapLoading(false);\n onSelect?.(currentLocationAddress);\n }\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n try {\n await loadMapsAPI(name, providerOpts);\n if (filterValue) {\n if (onlyCoordinates) {\n const { latitude, longitude } = await getCoords(filterValue);\n setPlacePredictionMenuItems([\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ latitude, longitude });\n }\n }\n ]);\n } else {\n if (isValueACoordinate(filterValue)) {\n const { latitude, longitude } = await getCoords(filterValue);\n const { name: addressName, address } = await getAddress({ latitude, longitude });\n const menuItems = [\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude,\n longitude\n });\n }\n },\n {\n primary: addressName,\n secondary: [address],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: addressName, address, latitude, longitude });\n }\n }\n ];\n\n setPlacePredictionMenuItems(menuItems);\n return;\n }\n const { placePredictions, token } = await getPlacePredictions(filterValue, bias);\n if (placePredictions.length === 1) {\n const exactLocation = await getPlaceById(placePredictions[0].place_id, token);\n const menuItems = placePredictions.map(item => ({\n id: item.place_id,\n primary: item.structured_formatting.main_text,\n secondary: [item.structured_formatting.secondary_text],\n onClick: (menuItemId: MenuItemProps['id']) => {\n getPlaceById(menuItemId, token).then(menuItemLocation => {\n setFilterValue('');\n onSelect?.(menuItemLocation);\n });\n }\n }));\n if (exactLocation) {\n menuItems.push({\n primary: t('exact_location'),\n secondary: [`${exactLocation.latitude}, ${exactLocation.longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude: exactLocation.latitude,\n longitude: exactLocation.longitude\n });\n }\n });\n }\n setPlacePredictionMenuItems(menuItems);\n } else {\n setPlacePredictionMenuItems(\n placePredictions.map(item => ({\n id: item.place_id,\n primary: item.structured_formatting.main_text,\n secondary: [item.structured_formatting.secondary_text],\n onClick: (menuItemId: MenuItemProps['id']) => {\n getPlaceById(menuItemId, token).then(menuItemLocation => {\n setFilterValue('');\n onSelect?.(menuItemLocation);\n });\n }\n }))\n );\n }\n }\n } else {\n setPlacePredictionMenuItems([]);\n }\n } catch (e: any) {\n setPlacePredictionMenuItems([]);\n onError?.(e);\n }\n })();\n }, [filterValue, bias, onError, onSelect, onlyCoordinates]);\n\n const onInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value.trim());\n onChange?.(e.target.value);\n },\n [onChange]\n );\n\n const onMapClick = useCallback(\n (placeInfo: { latitude: number; longitude: number; name?: string; address?: string }) => {\n if (readOnly) return;\n\n if (onlyCoordinates) {\n const coords = {\n latitude: placeInfo.latitude,\n longitude: placeInfo.longitude\n };\n onSelect?.(coords);\n map?.onClick?.(coords);\n } else {\n onSelect?.(placeInfo);\n map?.onClick?.(placeInfo);\n }\n },\n [readOnly, onSelect, map?.onClick, onlyCoordinates]\n );\n\n const Comp = (\n <>\n <StyledLocationInput\n id={id}\n info={info}\n data-testid={testIds.control}\n placeholder={t('location_input_placeholder')}\n menu={\n filterValue\n ? {\n items: placePredictionMenuItems.concat([\n {\n id: createUID(),\n primary: t('use_input_value', [filterValue]),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: filterValue });\n }\n }\n ]),\n emptyText: t('location_not_found_text'),\n mode: 'action',\n footer: !map && (\n <Flex container={{ justify: 'end' }}>\n <PoweredByGoogleImage />\n </Flex>\n )\n }\n : undefined\n }\n actions={\n !disabled &&\n !readOnly && (\n <CurrentLocationButton\n onError={onError}\n onResolve={resolved => {\n if (onlyCoordinates) {\n onSelect?.({ latitude: resolved.latitude, longitude: resolved.longitude });\n } else {\n onSelect?.(resolved);\n }\n }}\n />\n )\n }\n onChange={onInputChange}\n onBlur={() => {\n setFilterValue('');\n onBlur?.(value);\n }}\n value={value}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n status={status}\n {...restProps}\n className={createClassName('location-input', className)}\n />\n {map && (\n <StyledLocationMap>\n <LocationView\n {...map}\n pins={map.location ? [{ ...map.location }] : []}\n onClick={onMapClick}\n onError={onError}\n disabled={disabled}\n loading={mapLoading}\n centerMapOnChange\n />\n </StyledLocationMap>\n )}\n </>\n );\n\n return label ? (\n <FormField\n testId={testIds}\n label={label}\n labelHidden={labelHidden}\n id={id}\n info={info}\n status={status}\n ref={ref}\n required={required}\n disabled={disabled}\n additionalInfo={additionalInfo}\n >\n {Comp}\n </FormField>\n ) : (\n Comp\n );\n});\n\nexport default withTestIds(LocationInput, getLocationInputTestIds);\n"]}
1
+ {"version":3,"file":"LocationInput.js","sourceRoot":"","sources":["../../../src/components/Location/LocationInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useContext, useEffect, useState } from 'react';\nimport type { ChangeEvent, FC, PropsWithoutRef, Ref } from 'react';\nimport styled from 'styled-components';\n\nimport ComboBox from '../ComboBox';\nimport type { MenuItemProps, MenuProps } from '../Menu';\nimport { useI18n, useTestIds, useUID } from '../../hooks';\nimport { createUID, withTestIds, createClassName } from '../../utils';\nimport FormField from '../FormField';\nimport type { FormControlProps } from '../FormControl';\nimport type { BaseProps, ForwardProps, TestIdProp } from '../../types';\nimport Flex from '../Flex';\nimport { defaultThemeProp } from '../../theme';\n\nimport PoweredByGoogleImage from './PoweredByGoogleImage';\nimport CurrentLocationButton from './CurrentLocationButton';\nimport MapsContext from './MapsContext';\nimport { getNavigatorPosition, isValueACoordinate, loadMapsAPI } from './utils';\nimport type { Bias, LatLng } from './Location.types';\nimport LocationView from './LocationView';\nimport { StyledLocationView } from './LocationView.styles';\nimport type { LocationViewProps } from './LocationView';\nimport { getLocationInputTestIds } from './Location.test-ids';\n\nexport interface LocationInputProps extends BaseProps, FormControlProps, TestIdProp {\n /**\n * Get user current location on component first render.\n * @default false\n */\n defaultToCurrentLocation?: boolean;\n /** The value of the location field. */\n value?: string;\n /**\n * Callback fired on every change of the location input.\n * The argument passed back is the component's value prop.\n */\n onChange?: (value: string) => void;\n /**\n * Callback fired when the control's input loses focus.\n * The argument passed back is the component's value prop.\n */\n onBlur?: (value: string) => void;\n /** Callback fired when user chooses location from the dropdown of suggestions or submits input value. */\n onSelect?: (value: {\n name?: string;\n address?: string;\n latitude?: number;\n longitude?: number;\n }) => void;\n /**\n * Only select coordinates on map clicks.\n * @default false\n */\n onlyCoordinates?: boolean;\n /** Biasing query results towards user location/preference. */\n bias?: Bias;\n /**\n * Set to true renders the map view below input.\n * @default false\n */\n map?: {\n /** Location coordinates used for the map view. */\n location?: LatLng;\n height: LocationViewProps['height'];\n zoomLevel?: LocationViewProps['zoomLevel'];\n onClick?: LocationViewProps['onClick'];\n };\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n}\n\nconst StyledLocationInput = styled(ComboBox)`\n z-index: 1;\n`;\n\nStyledLocationInput.defaultProps = defaultThemeProp;\n\nconst StyledLocationMap = styled.div`\n ${StyledLocationView} {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n`;\n\nStyledLocationMap.defaultProps = defaultThemeProp;\n\nconst LocationInput: FC<LocationInputProps & ForwardProps> = forwardRef(function LocationInput(\n props: PropsWithoutRef<LocationInputProps>,\n ref: Ref<HTMLInputElement>\n) {\n const uid = useUID();\n const {\n testId,\n label,\n labelHidden,\n id = uid,\n value = '',\n info,\n status,\n required,\n readOnly,\n disabled,\n additionalInfo,\n onSelect,\n onError,\n onChange,\n onBlur,\n bias,\n defaultToCurrentLocation,\n onlyCoordinates = false,\n map,\n className,\n ...restProps\n } = props;\n\n const testIds = useTestIds(testId, getLocationInputTestIds);\n\n const { name, ...providerOpts } = useContext(MapsContext);\n const t = useI18n();\n const [placePredictionMenuItems, setPlacePredictionMenuItems] = useState<MenuProps['items']>([]);\n const [filterValue, setFilterValue] = useState('');\n const [mapLoading, setMapLoading] = useState(false);\n\n useEffect(() => {\n (async () => {\n if (defaultToCurrentLocation) {\n setMapLoading(true);\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n\n const navigatorPosition = await getNavigatorPosition();\n const currentLocationAddress = await mapAPIObj.getAddress(navigatorPosition);\n setMapLoading(false);\n onSelect?.(currentLocationAddress);\n }\n })();\n }, []);\n\n useEffect(() => {\n (async () => {\n try {\n const mapAPIObj = await loadMapsAPI(name, providerOpts);\n\n if (filterValue) {\n if (onlyCoordinates) {\n const { latitude, longitude } = await mapAPIObj.getCoords(filterValue);\n setPlacePredictionMenuItems([\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ latitude, longitude });\n }\n }\n ]);\n } else {\n if (isValueACoordinate(filterValue)) {\n const { latitude, longitude } = await mapAPIObj.getCoords(filterValue);\n const { name: addressName, address } = await mapAPIObj.getAddress({\n latitude,\n longitude\n });\n const menuItems = [\n {\n primary: t('exact_location'),\n secondary: [`${latitude}, ${longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude,\n longitude\n });\n }\n },\n {\n primary: addressName,\n secondary: [address],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: addressName, address, latitude, longitude });\n }\n }\n ];\n\n setPlacePredictionMenuItems(menuItems);\n return;\n }\n const { placeSuggestions, token } = await mapAPIObj.getPlacePredictions(\n filterValue,\n bias\n );\n if (placeSuggestions.length === 1) {\n const exactLocation = await mapAPIObj.getPlaceById(\n placeSuggestions[0].placeId,\n token\n );\n const menuItems = placeSuggestions.map(item => ({\n id: item.placeId,\n primary: item.mainText,\n secondary: [item.secondaryText],\n onClick: (menuItemId: MenuItemProps['id']) => {\n mapAPIObj.getPlaceById(menuItemId, token).then(menuItemLocation => {\n setFilterValue('');\n onSelect?.(menuItemLocation);\n });\n }\n }));\n if (exactLocation) {\n menuItems.push({\n primary: t('exact_location'),\n secondary: [`${exactLocation.latitude}, ${exactLocation.longitude}`],\n id: createUID(),\n onClick: () => {\n setFilterValue('');\n onSelect?.({\n latitude: exactLocation.latitude,\n longitude: exactLocation.longitude\n });\n }\n });\n }\n setPlacePredictionMenuItems(menuItems);\n } else {\n setPlacePredictionMenuItems(\n placeSuggestions.map(item => ({\n id: item.placeId,\n primary: item.mainText,\n secondary: [item.secondaryText],\n onClick: (menuItemId: MenuItemProps['id']) => {\n mapAPIObj.getPlaceById(menuItemId, token).then(menuItemLocation => {\n setFilterValue('');\n onSelect?.(menuItemLocation);\n });\n }\n }))\n );\n }\n }\n } else {\n setPlacePredictionMenuItems([]);\n }\n } catch (e: any) {\n setPlacePredictionMenuItems([]);\n onError?.(e);\n }\n })();\n }, [filterValue, bias, onError, onSelect, onlyCoordinates]);\n\n const onInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value.trim());\n onChange?.(e.target.value);\n },\n [onChange]\n );\n\n const onMapClick = useCallback(\n (placeInfo: { latitude: number; longitude: number; name?: string; address?: string }) => {\n if (readOnly) return;\n\n if (onlyCoordinates) {\n const coords = {\n latitude: placeInfo.latitude,\n longitude: placeInfo.longitude\n };\n onSelect?.(coords);\n map?.onClick?.(coords);\n } else {\n onSelect?.(placeInfo);\n map?.onClick?.(placeInfo);\n }\n },\n [readOnly, onSelect, map?.onClick, onlyCoordinates]\n );\n\n const Comp = (\n <>\n <StyledLocationInput\n id={id}\n info={info}\n data-testid={testIds.control}\n placeholder={t('location_input_placeholder')}\n menu={\n filterValue\n ? {\n items: placePredictionMenuItems.concat([\n {\n id: createUID(),\n primary: t('use_input_value', [filterValue]),\n onClick: () => {\n setFilterValue('');\n onSelect?.({ name: filterValue });\n }\n }\n ]),\n emptyText: t('location_not_found_text'),\n mode: 'action',\n footer: !map && (\n <Flex container={{ justify: 'end' }}>\n <PoweredByGoogleImage />\n </Flex>\n )\n }\n : undefined\n }\n actions={\n !disabled &&\n !readOnly && (\n <CurrentLocationButton\n onError={onError}\n onResolve={resolved => {\n if (onlyCoordinates) {\n onSelect?.({ latitude: resolved.latitude, longitude: resolved.longitude });\n } else {\n onSelect?.(resolved);\n }\n }}\n />\n )\n }\n onChange={onInputChange}\n onBlur={() => {\n setFilterValue('');\n onBlur?.(value);\n }}\n value={value}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n status={status}\n {...restProps}\n className={createClassName('location-input', className, { status })}\n />\n {map && (\n <StyledLocationMap>\n <LocationView\n {...map}\n pins={map.location ? [{ ...map.location }] : []}\n onClick={onMapClick}\n onError={onError}\n disabled={disabled}\n loading={mapLoading}\n centerMapOnChange\n />\n </StyledLocationMap>\n )}\n </>\n );\n\n return label ? (\n <FormField\n testId={testIds}\n label={label}\n labelHidden={labelHidden}\n id={id}\n info={info}\n readOnly={readOnly}\n status={status}\n ref={ref}\n required={required}\n disabled={disabled}\n additionalInfo={additionalInfo}\n >\n {Comp}\n </FormField>\n ) : (\n Comp\n );\n});\n\nexport default withTestIds(LocationInput, getLocationInputTestIds);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LocationView.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAIpD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAC5C,KAAK,EACL;IACE;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+IAA+I;IAC/I,OAAO,CAAC,EAAE,CACR,YAAY,EAAE,MAAM,GAAG;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KACE,IAAI,CAAC;IACV;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CACF,CAAC;AAqBF,QAAA,MAAM,YAAY,2HAuOjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"LocationView.d.ts","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAK9D,OAAO,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAKpD,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAC5C,KAAK,EACL;IACE;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+IAA+I;IAC/I,OAAO,CAAC,EAAE,CACR,YAAY,EAAE,MAAM,GAAG;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KACE,IAAI,CAAC;IACV;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sGAAsG;IACtG,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CACF,CAAC;AAqBF,QAAA,MAAM,YAAY,2HA2OjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -6,7 +6,7 @@ import { createUID } from '../../utils';
6
6
  import Progress from '../Progress';
7
7
  import { StyledLocationError, StyledLocationView, StyledMap } from './LocationView.styles';
8
8
  import MapsContext from './MapsContext';
9
- import { getAddress, getPlaceById, isLatLngObject, loadMapsAPI, toGoogleLatLng } from './utils';
9
+ import { isLatLngObject, loadMapsAPI, toGoogleLatLng } from './utils';
10
10
  var LoadStatus;
11
11
  (function (LoadStatus) {
12
12
  LoadStatus["Init"] = "init";
@@ -29,6 +29,7 @@ const LocationView = forwardRef(function LocationView(props, ref) {
29
29
  const [status, setStatus] = useState(LoadStatus.Init);
30
30
  const [eMessage, setEMessage] = useState('');
31
31
  const [selectedPinIndex, setSelectedPinIndex] = useState(undefined);
32
+ const [mapAPIObj, setmapAPIObj] = useState();
32
33
  const mapElemRef = useRef();
33
34
  const map = useRef();
34
35
  const markers = useRef([]);
@@ -37,10 +38,10 @@ const LocationView = forwardRef(function LocationView(props, ref) {
37
38
  const infoWindowContent = useRef(document.createElement('div'));
38
39
  const theme = useTheme();
39
40
  const onMapClick = (e) => {
40
- if (!isLatLngObject(e.latLng))
41
+ if (!isLatLngObject(e.latLng) || !mapAPIObj)
41
42
  return;
42
43
  if (hasPlaceId(e)) {
43
- getPlaceById(e.placeId).then(placeInfo => {
44
+ mapAPIObj.getPlaceById(e.placeId).then(placeInfo => {
44
45
  onClick?.({
45
46
  ...placeInfo,
46
47
  latitude: e.latLng.lat(),
@@ -49,7 +50,8 @@ const LocationView = forwardRef(function LocationView(props, ref) {
49
50
  });
50
51
  }
51
52
  else {
52
- getAddress({
53
+ mapAPIObj
54
+ .getAddress({
53
55
  latitude: e.latLng.lat(),
54
56
  longitude: e.latLng.lng()
55
57
  })
@@ -97,7 +99,8 @@ const LocationView = forwardRef(function LocationView(props, ref) {
97
99
  useEffect(() => {
98
100
  let mounted = true;
99
101
  loadMapsAPI(name, providerOpts)
100
- .then(() => {
102
+ .then(APIObj => {
103
+ setmapAPIObj(APIObj);
101
104
  if (mounted) {
102
105
  initialize();
103
106
  setStatus(LoadStatus.Ready);
@@ -1 +1 @@
1
- {"version":3,"file":"LocationView.js","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { PropsWithoutRef, Ref } from 'react';\nimport { forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useI18n, useTheme } from '../../hooks';\nimport type { RefElement, WithAttributes } from '../../types';\nimport { createUID } from '../../utils';\nimport Progress from '../Progress';\n\nimport { StyledLocationError, StyledLocationView, StyledMap } from './LocationView.styles';\nimport type { LatLng, Pin } from './Location.types';\nimport MapsContext from './MapsContext';\nimport { getAddress, getPlaceById, isLatLngObject, loadMapsAPI, toGoogleLatLng } from './utils';\n\nexport type LocationViewProps = WithAttributes<\n 'div',\n {\n /**\n * Array of location objects.\n * @default []\n */\n pins?: Pin[];\n /**\n * Set to true to always center the map when the selected location changes. Toggling this from false to true will re-center map on the last pinned location.\n * @default false\n */\n centerMapOnChange?: boolean;\n /**\n * Height of the map container.\n * @default '25rem'\n */\n height?: string;\n /**\n * How much the map should zoom.\n * @default 13\n */\n zoomLevel?: number;\n /** Callback fired when user clicks on a location on the map. This function will be passed the coordinates of the location that was clicked. */\n onClick?: (\n locationData: LatLng & {\n name?: string;\n address?: string;\n }\n ) => void;\n /**\n * Renders loading indicator when true. Informs the user location resolution is in progress.\n */\n loading?: boolean;\n /**\n * Disables dragging and clicking when true.\n * @default false\n */\n disabled?: boolean;\n /**\n * Indicates if route between pins should be rendered.\n * @default false\n */\n drawRoute?: boolean;\n\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n }\n>;\n\nenum LoadStatus {\n Init = 'init',\n Ready = 'ready',\n Error = 'error'\n}\n\nconst hasPlaceId = (obj: unknown): obj is google.maps.IconMouseEvent & { placeId: string } => {\n return (\n typeof obj === 'object' &&\n !!obj &&\n 'placeId' in obj &&\n !!obj.placeId &&\n typeof obj.placeId === 'string'\n );\n};\n\n/* cSpell:ignore 'ABCDEFGHIJKLMNOPQRSTUVWYZ' */\nconst markerLabels = 'ABCDEFGHIJKLMNOPQRSTUVWYZ';\n\nconst LocationView = forwardRef<RefElement<LocationViewProps>, PropsWithoutRef<LocationViewProps>>(\n function LocationView(props, ref) {\n const {\n pins = [],\n zoomLevel = 13,\n height = '25rem',\n centerMapOnChange = false,\n onClick,\n onError,\n disabled = false,\n loading = false,\n drawRoute = false,\n ...restProps\n } = props;\n const t = useI18n();\n const { name, ...providerOpts } = useContext(MapsContext);\n const [status, setStatus] = useState<LoadStatus>(LoadStatus.Init);\n const [eMessage, setEMessage] = useState('');\n const [selectedPinIndex, setSelectedPinIndex] = useState<number | undefined>(undefined);\n const mapElemRef = useRef<HTMLDivElement>();\n const map = useRef<google.maps.Map>();\n const markers = useRef<google.maps.marker.AdvancedMarkerElement[]>([]);\n const ds = useRef<google.maps.DirectionsService>();\n const dr = useRef<google.maps.DirectionsRenderer>();\n const infoWindowContent = useRef<HTMLDivElement>(document.createElement('div'));\n const theme = useTheme();\n\n const onMapClick = (e: google.maps.MapMouseEvent) => {\n if (!isLatLngObject(e.latLng)) return;\n\n if (hasPlaceId(e)) {\n getPlaceById(e.placeId).then(placeInfo => {\n onClick?.({\n ...placeInfo,\n latitude: e.latLng!.lat(),\n longitude: e.latLng!.lng()\n });\n });\n } else {\n getAddress({\n latitude: e.latLng.lat(),\n longitude: e.latLng.lng()\n })\n .then(onClick)\n .catch(err => onError?.(err));\n }\n };\n\n const centerMap = useCallback((coords: LatLng[]) => {\n if (!map.current || coords.length === 0) return;\n\n if (coords.length === 1) {\n map.current.setCenter(toGoogleLatLng(coords[0]));\n map.current.setZoom(zoomLevel);\n } else {\n const bounds = new google.maps.LatLngBounds();\n coords.forEach(({ latitude, longitude }) => {\n bounds.extend(toGoogleLatLng({ latitude, longitude }));\n });\n map.current.fitBounds(bounds);\n }\n }, []);\n\n const initialize = () => {\n if (mapElemRef.current) {\n const position = toGoogleLatLng({ latitude: 0, longitude: 0 });\n map.current = new google.maps.Map(mapElemRef.current, {\n mapId: createUID(),\n center: position,\n zoom: 2,\n draggable: !disabled,\n draggableCursor: 'auto',\n draggingCursor: 'move'\n });\n ds.current = new google.maps.DirectionsService();\n dr.current = new google.maps.DirectionsRenderer({ suppressMarkers: true });\n centerMap(pins);\n }\n };\n\n useEffect(() => {\n if (!onClick || !map.current) return;\n\n const l = map.current.addListener('click', onMapClick);\n return () => google.maps.event.removeListener(l);\n }, [onClick, map.current]);\n\n useEffect(() => {\n let mounted = true;\n loadMapsAPI(name, providerOpts)\n .then(() => {\n if (mounted) {\n initialize();\n setStatus(LoadStatus.Ready);\n }\n })\n .catch((error: Error) => {\n setStatus(LoadStatus.Error);\n setEMessage(error.message);\n onError?.(error);\n });\n\n return () => {\n mounted = false;\n if (map.current) google.maps.event.clearInstanceListeners(map.current);\n };\n }, []);\n\n useEffect(() => {\n if (\n status !== LoadStatus.Ready ||\n !map.current ||\n !dr.current ||\n !ds.current ||\n // FIXME: Workaround for marker library not being imported\n !google.maps.marker\n )\n return;\n\n if (drawRoute && pins.length > 1) {\n dr.current.setMap(map.current);\n const request: google.maps.DirectionsRequest = {\n origin: toGoogleLatLng({ latitude: pins[0].latitude, longitude: pins[0].longitude }),\n destination: toGoogleLatLng({\n latitude: pins[pins.length - 1].latitude,\n longitude: pins[pins.length - 1].longitude\n }),\n waypoints: pins.slice(1, pins.length - 1).map(l => {\n return {\n stopover: true,\n location: toGoogleLatLng({\n latitude: l.latitude,\n longitude: l.longitude\n })\n };\n }),\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n ds.current.route(request)?.then(dr.current.setDirections.bind(dr.current), onError);\n }\n\n const infoWindow = new google.maps.InfoWindow();\n\n try {\n markers.current = pins.map(({ latitude, longitude, title, content, selected }, index) => {\n const gCoords = toGoogleLatLng({ latitude, longitude });\n\n const contentConfig: google.maps.marker.PinElementOptions = {\n glyphColor: theme.base.colors.white\n };\n const label = markerLabels[index % markerLabels.length];\n if (pins.length > 1) {\n const glyphWrapper = document.createElement('span');\n glyphWrapper.style.fontSize = '0.9rem';\n glyphWrapper.style.paddingTop = '0.1rem';\n glyphWrapper.innerHTML = label;\n contentConfig.glyph = glyphWrapper;\n }\n if (selected) {\n contentConfig.background = theme.base.colors.red.dark;\n contentConfig.borderColor = theme.base.colors.red.dark;\n contentConfig.scale = 1.15;\n }\n const pin = new google.maps.marker.PinElement(contentConfig);\n const marker = new google.maps.marker.AdvancedMarkerElement({\n map: map.current,\n position: gCoords,\n title,\n content: pin.element\n });\n if (content) {\n marker.addListener('click', () => {\n setSelectedPinIndex(index);\n infoWindow.setOptions({\n ariaLabel: `${t('location_info')} - ${title ?? label}`,\n headerContent: title ?? label\n });\n infoWindow.setContent(infoWindowContent.current);\n infoWindow.open({\n anchor: marker,\n map: map.current\n });\n });\n }\n return marker;\n });\n } catch {\n markers.current = [];\n }\n\n if (centerMapOnChange) {\n centerMap(pins);\n }\n\n return () => {\n markers.current.forEach(m => {\n m.map = null;\n });\n dr.current?.setMap(null);\n };\n }, [\n JSON.stringify(pins, ['title', 'selected', 'latitude', 'longitude']),\n status,\n zoomLevel,\n disabled,\n drawRoute,\n centerMapOnChange,\n onError\n ]);\n\n return (\n <StyledLocationView $height={height} ref={ref}>\n <StyledMap\n ref={mapElemRef as Ref<HTMLDivElement>}\n disabled={disabled}\n status={status}\n {...restProps}\n />\n {(status === LoadStatus.Init || loading) && <Progress placement='local' />}\n {status === LoadStatus.Error && eMessage && (\n <StyledLocationError aria-label={eMessage} variant='info'>\n {eMessage}\n </StyledLocationError>\n )}\n {selectedPinIndex !== undefined && !!pins[selectedPinIndex].content && (\n <>{createPortal(pins[selectedPinIndex].content, infoWindowContent.current)}</>\n )}\n </StyledLocationView>\n );\n }\n);\n\nexport default LocationView;\n"]}
1
+ {"version":3,"file":"LocationView.js","sourceRoot":"","sources":["../../../src/components/Location/LocationView.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { PropsWithoutRef, Ref } from 'react';\nimport { forwardRef, useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { useI18n, useTheme } from '../../hooks';\nimport type { RefElement, WithAttributes } from '../../types';\nimport { createUID } from '../../utils';\nimport Progress from '../Progress';\n\nimport { StyledLocationError, StyledLocationView, StyledMap } from './LocationView.styles';\nimport type { LatLng, Pin } from './Location.types';\nimport MapsContext from './MapsContext';\nimport { isLatLngObject, loadMapsAPI, toGoogleLatLng } from './utils';\nimport type { LocationAPI } from './LocationAPI.types';\n\nexport type LocationViewProps = WithAttributes<\n 'div',\n {\n /**\n * Array of location objects.\n * @default []\n */\n pins?: Pin[];\n /**\n * Set to true to always center the map when the selected location changes. Toggling this from false to true will re-center map on the last pinned location.\n * @default false\n */\n centerMapOnChange?: boolean;\n /**\n * Height of the map container.\n * @default '25rem'\n */\n height?: string;\n /**\n * How much the map should zoom.\n * @default 13\n */\n zoomLevel?: number;\n /** Callback fired when user clicks on a location on the map. This function will be passed the coordinates of the location that was clicked. */\n onClick?: (\n locationData: LatLng & {\n name?: string;\n address?: string;\n }\n ) => void;\n /**\n * Renders loading indicator when true. Informs the user location resolution is in progress.\n */\n loading?: boolean;\n /**\n * Disables dragging and clicking when true.\n * @default false\n */\n disabled?: boolean;\n /**\n * Indicates if route between pins should be rendered.\n * @default false\n */\n drawRoute?: boolean;\n\n /** Callback fired when an error occurs. This function gets called with one argument of type Error. */\n onError?: (error: Error) => void;\n }\n>;\n\nenum LoadStatus {\n Init = 'init',\n Ready = 'ready',\n Error = 'error'\n}\n\nconst hasPlaceId = (obj: unknown): obj is google.maps.IconMouseEvent & { placeId: string } => {\n return (\n typeof obj === 'object' &&\n !!obj &&\n 'placeId' in obj &&\n !!obj.placeId &&\n typeof obj.placeId === 'string'\n );\n};\n\n/* cSpell:ignore 'ABCDEFGHIJKLMNOPQRSTUVWYZ' */\nconst markerLabels = 'ABCDEFGHIJKLMNOPQRSTUVWYZ';\n\nconst LocationView = forwardRef<RefElement<LocationViewProps>, PropsWithoutRef<LocationViewProps>>(\n function LocationView(props, ref) {\n const {\n pins = [],\n zoomLevel = 13,\n height = '25rem',\n centerMapOnChange = false,\n onClick,\n onError,\n disabled = false,\n loading = false,\n drawRoute = false,\n ...restProps\n } = props;\n const t = useI18n();\n const { name, ...providerOpts } = useContext(MapsContext);\n const [status, setStatus] = useState<LoadStatus>(LoadStatus.Init);\n const [eMessage, setEMessage] = useState('');\n const [selectedPinIndex, setSelectedPinIndex] = useState<number | undefined>(undefined);\n const [mapAPIObj, setmapAPIObj] = useState<LocationAPI>();\n const mapElemRef = useRef<HTMLDivElement>();\n const map = useRef<google.maps.Map>();\n const markers = useRef<google.maps.marker.AdvancedMarkerElement[]>([]);\n const ds = useRef<google.maps.DirectionsService>();\n const dr = useRef<google.maps.DirectionsRenderer>();\n const infoWindowContent = useRef<HTMLDivElement>(document.createElement('div'));\n const theme = useTheme();\n\n const onMapClick = (e: google.maps.MapMouseEvent) => {\n if (!isLatLngObject(e.latLng) || !mapAPIObj) return;\n\n if (hasPlaceId(e)) {\n mapAPIObj.getPlaceById(e.placeId).then(placeInfo => {\n onClick?.({\n ...placeInfo,\n latitude: e.latLng!.lat(),\n longitude: e.latLng!.lng()\n });\n });\n } else {\n mapAPIObj\n .getAddress({\n latitude: e.latLng.lat(),\n longitude: e.latLng.lng()\n })\n .then(onClick)\n .catch(err => onError?.(err));\n }\n };\n\n const centerMap = useCallback((coords: LatLng[]) => {\n if (!map.current || coords.length === 0) return;\n\n if (coords.length === 1) {\n map.current.setCenter(toGoogleLatLng(coords[0]));\n map.current.setZoom(zoomLevel);\n } else {\n const bounds = new google.maps.LatLngBounds();\n coords.forEach(({ latitude, longitude }) => {\n bounds.extend(toGoogleLatLng({ latitude, longitude }));\n });\n map.current.fitBounds(bounds);\n }\n }, []);\n\n const initialize = () => {\n if (mapElemRef.current) {\n const position = toGoogleLatLng({ latitude: 0, longitude: 0 });\n map.current = new google.maps.Map(mapElemRef.current, {\n mapId: createUID(),\n center: position,\n zoom: 2,\n draggable: !disabled,\n draggableCursor: 'auto',\n draggingCursor: 'move'\n });\n ds.current = new google.maps.DirectionsService();\n dr.current = new google.maps.DirectionsRenderer({ suppressMarkers: true });\n centerMap(pins);\n }\n };\n\n useEffect(() => {\n if (!onClick || !map.current) return;\n\n const l = map.current.addListener('click', onMapClick);\n return () => google.maps.event.removeListener(l);\n }, [onClick, map.current]);\n\n useEffect(() => {\n let mounted = true;\n loadMapsAPI(name, providerOpts)\n .then(APIObj => {\n setmapAPIObj(APIObj);\n\n if (mounted) {\n initialize();\n setStatus(LoadStatus.Ready);\n }\n })\n .catch((error: Error) => {\n setStatus(LoadStatus.Error);\n setEMessage(error.message);\n onError?.(error);\n });\n\n return () => {\n mounted = false;\n if (map.current) google.maps.event.clearInstanceListeners(map.current);\n };\n }, []);\n\n useEffect(() => {\n if (\n status !== LoadStatus.Ready ||\n !map.current ||\n !dr.current ||\n !ds.current ||\n // FIXME: Workaround for marker library not being imported\n !google.maps.marker\n )\n return;\n\n if (drawRoute && pins.length > 1) {\n dr.current.setMap(map.current);\n const request: google.maps.DirectionsRequest = {\n origin: toGoogleLatLng({ latitude: pins[0].latitude, longitude: pins[0].longitude }),\n destination: toGoogleLatLng({\n latitude: pins[pins.length - 1].latitude,\n longitude: pins[pins.length - 1].longitude\n }),\n waypoints: pins.slice(1, pins.length - 1).map(l => {\n return {\n stopover: true,\n location: toGoogleLatLng({\n latitude: l.latitude,\n longitude: l.longitude\n })\n };\n }),\n travelMode: google.maps.TravelMode.DRIVING\n };\n\n ds.current.route(request)?.then(dr.current.setDirections.bind(dr.current), onError);\n }\n\n const infoWindow = new google.maps.InfoWindow();\n\n try {\n markers.current = pins.map(({ latitude, longitude, title, content, selected }, index) => {\n const gCoords = toGoogleLatLng({ latitude, longitude });\n\n const contentConfig: google.maps.marker.PinElementOptions = {\n glyphColor: theme.base.colors.white\n };\n const label = markerLabels[index % markerLabels.length];\n if (pins.length > 1) {\n const glyphWrapper = document.createElement('span');\n glyphWrapper.style.fontSize = '0.9rem';\n glyphWrapper.style.paddingTop = '0.1rem';\n glyphWrapper.innerHTML = label;\n contentConfig.glyph = glyphWrapper;\n }\n if (selected) {\n contentConfig.background = theme.base.colors.red.dark;\n contentConfig.borderColor = theme.base.colors.red.dark;\n contentConfig.scale = 1.15;\n }\n const pin = new google.maps.marker.PinElement(contentConfig);\n const marker = new google.maps.marker.AdvancedMarkerElement({\n map: map.current,\n position: gCoords,\n title,\n content: pin.element\n });\n if (content) {\n marker.addListener('click', () => {\n setSelectedPinIndex(index);\n infoWindow.setOptions({\n ariaLabel: `${t('location_info')} - ${title ?? label}`,\n headerContent: title ?? label\n });\n infoWindow.setContent(infoWindowContent.current);\n infoWindow.open({\n anchor: marker,\n map: map.current\n });\n });\n }\n return marker;\n });\n } catch {\n markers.current = [];\n }\n\n if (centerMapOnChange) {\n centerMap(pins);\n }\n\n return () => {\n markers.current.forEach(m => {\n m.map = null;\n });\n dr.current?.setMap(null);\n };\n }, [\n JSON.stringify(pins, ['title', 'selected', 'latitude', 'longitude']),\n status,\n zoomLevel,\n disabled,\n drawRoute,\n centerMapOnChange,\n onError\n ]);\n\n return (\n <StyledLocationView $height={height} ref={ref}>\n <StyledMap\n ref={mapElemRef as Ref<HTMLDivElement>}\n disabled={disabled}\n status={status}\n {...restProps}\n />\n {(status === LoadStatus.Init || loading) && <Progress placement='local' />}\n {status === LoadStatus.Error && eMessage && (\n <StyledLocationError aria-label={eMessage} variant='info'>\n {eMessage}\n </StyledLocationError>\n )}\n {selectedPinIndex !== undefined && !!pins[selectedPinIndex].content && (\n <>{createPortal(pins[selectedPinIndex].content, infoWindowContent.current)}</>\n )}\n </StyledLocationView>\n );\n }\n);\n\nexport default LocationView;\n"]}
@@ -6,5 +6,6 @@ export { default as MapsContext } from './MapsContext';
6
6
  export { default as LocationDisplay } from './LocationDisplay';
7
7
  export type { LocationDisplayProps } from './LocationDisplay';
8
8
  export type { LatLng, Pin, Location } from './Location.types';
9
- export { isValueACoordinate, getCoords, getGoogleMapsDirHref } from './utils';
9
+ export { isValueACoordinate, getGoogleMapsDirHref } from './utils';
10
+ export { default as GoogleMapsAPI } from './GoogleMapsAPI';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Location/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Location/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -2,5 +2,6 @@ export { default as LocationInput } from './LocationInput';
2
2
  export { default as LocationView } from './LocationView';
3
3
  export { default as MapsContext } from './MapsContext';
4
4
  export { default as LocationDisplay } from './LocationDisplay';
5
- export { isValueACoordinate, getCoords, getGoogleMapsDirHref } from './utils';
5
+ export { isValueACoordinate, getGoogleMapsDirHref } from './utils';
6
+ export { default as GoogleMapsAPI } from './GoogleMapsAPI';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Location/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC","sourcesContent":["export { default as LocationInput } from './LocationInput';\nexport type { LocationInputProps } from './LocationInput';\nexport { default as LocationView } from './LocationView';\nexport type { LocationViewProps } from './LocationView';\nexport { default as MapsContext } from './MapsContext';\nexport { default as LocationDisplay } from './LocationDisplay';\nexport type { LocationDisplayProps } from './LocationDisplay';\nexport type { LatLng, Pin, Location } from './Location.types';\nexport { isValueACoordinate, getCoords, getGoogleMapsDirHref } from './utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Location/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG/D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["export { default as LocationInput } from './LocationInput';\nexport type { LocationInputProps } from './LocationInput';\nexport { default as LocationView } from './LocationView';\nexport type { LocationViewProps } from './LocationView';\nexport { default as MapsContext } from './MapsContext';\nexport { default as LocationDisplay } from './LocationDisplay';\nexport type { LocationDisplayProps } from './LocationDisplay';\nexport type { LatLng, Pin, Location } from './Location.types';\nexport { isValueACoordinate, getGoogleMapsDirHref } from './utils';\nexport { default as GoogleMapsAPI } from './GoogleMapsAPI';\n"]}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="google.maps" preserve="true" />
2
- import type { Bias, LatLng, ProviderOpts, Location } from './Location.types';
3
- export declare function loadMapsAPI(name?: string, opts?: ProviderOpts): Promise<void>;
2
+ import type { LatLng, ProviderOpts } from './Location.types';
3
+ import type { LocationAPI } from './LocationAPI.types';
4
+ export declare function loadMapsAPI(name?: string, opts?: ProviderOpts): Promise<LocationAPI>;
4
5
  /**
5
6
  * Identifies coordinates in degree format
6
7
  * eg. 45.78°N 9.11°E
@@ -27,23 +28,6 @@ export declare function isValueACoordinate(value: string): boolean;
27
28
  export declare function parseDMS(input: string): number[];
28
29
  export declare function getNavigatorPosition(): Promise<LatLng>;
29
30
  export declare function toGoogleLatLng(coords: LatLng): google.maps.LatLng;
30
- /** Returns an array of place prediction objects ('place' can be an establishment, geographic location, or prominent point of interest)
31
- * and session token (valid for multiple queries, followed by one place selection).
32
- */
33
- export declare function getPlacePredictions(location: string, bias?: Bias): Promise<{
34
- placePredictions: google.maps.places.AutocompletePrediction[];
35
- token: google.maps.places.AutocompleteSessionToken;
36
- }>;
37
- export declare function getPlace(location: string, mapElement?: HTMLDivElement): Promise<LatLng>;
38
- export declare function getPlaceById(placeId: string, sessionToken?: google.maps.places.AutocompleteSessionToken, mapElement?: HTMLDivElement): Promise<Location>;
39
- /** Returns coordinations for given input: either coords, address or current position. */
40
- export declare function getCoords(coords: string | 'current' | LatLng, mapElement?: HTMLDivElement): Promise<LatLng>;
41
- export declare function getAddress(coords: LatLng): Promise<{
42
- name: string;
43
- address?: string;
44
- latitude: number;
45
- longitude: number;
46
- }>;
47
31
  export declare const isLatLngObject: (obj: unknown) => obj is google.maps.LatLng;
48
32
  export declare const getGoogleMapsDirHref: (destination: string, waypoints: string[], travelMode?: string) => string;
49
33
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Location/utils.ts"],"names":[],"mappings":";AAeA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAgB,YAAY,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA0H3F,wBAAsB,WAAW,CAAC,IAAI,GAAE,MAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBvF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOzD;AA6BD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmChD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAc5D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAS,GACd,OAAO,CAAC;IACT,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC;CACpD,CAAC,CAwCD;AAED,wBAAsB,QAAQ,CAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,cAA8C,GACzD,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAA4E,EAC7G,UAAU,GAAE,cAA8C,GACzD,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AAED,yFAAyF;AACzF,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EACnC,UAAU,CAAC,EAAE,cAAc,GAC1B,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAkCD;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAShE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,EACnB,aAAY,MAAkB,WAS/B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Location/utils.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAE,MAAM,EAAgB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AA2HvD,wBAAsB,WAAW,CAAC,IAAI,GAAE,MAAW,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAoB9F;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOzD;AA6BD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAmChD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAc5D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAEjE;AAED,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAShE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,aAAa,MAAM,EACnB,WAAW,MAAM,EAAE,EACnB,aAAY,MAAkB,WAS/B,CAAC"}