@esri/solutions-components 0.8.2 → 0.8.3

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 (1230) hide show
  1. package/dist/cjs/ExpandToggle-3ab7dfd7.js +118 -0
  2. package/dist/cjs/FloatingArrow-89e0e55a.js +50 -0
  3. package/dist/cjs/Heading-9112a4c5.js +25 -0
  4. package/dist/cjs/InitiativeUiSchemaEdit-108652db.js +28 -0
  5. package/dist/cjs/ProjectUiSchemaCreate-81217580.js +126 -0
  6. package/dist/cjs/ProjectUiSchemaEdit-d5f11c17.js +178 -0
  7. package/dist/cjs/Validation-20182093.js +20 -0
  8. package/dist/cjs/_commonjsHelpers-ed90c4ad.js +55 -0
  9. package/dist/cjs/app-globals-379d737f.js +69 -0
  10. package/dist/cjs/ar-a694ca24.js +105 -0
  11. package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
  12. package/dist/cjs/basemap-gallery.cjs.entry.js +121 -0
  13. package/dist/cjs/bg-62b6b3ba.js +83 -0
  14. package/dist/cjs/browser-fe25aefa.js +28 -0
  15. package/dist/cjs/bs-e673542b.js +52 -0
  16. package/dist/cjs/buffer-tools.cjs.entry.js +257 -0
  17. package/dist/cjs/ca-e4d2f562.js +72 -0
  18. package/dist/cjs/calcite-accordion-item.cjs.entry.js +5 -5
  19. package/dist/cjs/calcite-accordion.cjs.entry.js +2 -2
  20. package/dist/cjs/calcite-action-bar.cjs.entry.js +12 -12
  21. package/dist/cjs/calcite-action-group.cjs.entry.js +9 -9
  22. package/dist/cjs/calcite-action-menu.cjs.entry.js +295 -0
  23. package/dist/cjs/calcite-action-pad.cjs.entry.js +169 -0
  24. package/dist/cjs/calcite-action-pad_2.cjs.entry.js +1 -1
  25. package/dist/cjs/calcite-action.cjs.entry.js +188 -0
  26. package/dist/cjs/calcite-alert.cjs.entry.js +322 -0
  27. package/dist/cjs/calcite-avatar.cjs.entry.js +4 -4
  28. package/dist/cjs/calcite-block-section.cjs.entry.js +8 -8
  29. package/dist/cjs/calcite-block.cjs.entry.js +214 -0
  30. package/dist/cjs/calcite-button.cjs.entry.js +13 -13
  31. package/dist/cjs/calcite-card.cjs.entry.js +8 -8
  32. package/dist/cjs/calcite-checkbox.cjs.entry.js +9 -9
  33. package/dist/cjs/calcite-chip-group.cjs.entry.js +7 -7
  34. package/dist/cjs/calcite-chip.cjs.entry.js +262 -0
  35. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +274 -0
  36. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +99 -0
  37. package/dist/cjs/calcite-color-picker.cjs.entry.js +22 -22
  38. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +4 -4
  39. package/dist/cjs/calcite-combobox-item.cjs.entry.js +145 -0
  40. package/dist/cjs/calcite-combobox.cjs.entry.js +1431 -0
  41. package/dist/cjs/calcite-date-picker-day.cjs.entry.js +97 -0
  42. package/dist/cjs/calcite-date-picker-month-header.cjs.entry.js +207 -0
  43. package/dist/cjs/calcite-date-picker-month.cjs.entry.js +362 -0
  44. package/dist/cjs/calcite-date-picker.cjs.entry.js +460 -0
  45. package/dist/cjs/calcite-dropdown-group.cjs.entry.js +85 -0
  46. package/dist/cjs/calcite-dropdown-item.cjs.entry.js +188 -0
  47. package/dist/cjs/calcite-dropdown.cjs.entry.js +430 -0
  48. package/dist/cjs/calcite-fab.cjs.entry.js +6 -6
  49. package/dist/cjs/calcite-filter.cjs.entry.js +179 -0
  50. package/dist/cjs/calcite-flow-item.cjs.entry.js +198 -0
  51. package/dist/cjs/calcite-flow.cjs.entry.js +153 -0
  52. package/dist/cjs/calcite-graph.cjs.entry.js +226 -0
  53. package/dist/cjs/calcite-handle.cjs.entry.js +204 -0
  54. package/dist/cjs/calcite-icon.cjs.entry.js +5 -5
  55. package/dist/cjs/calcite-inline-editable.cjs.entry.js +11 -11
  56. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +744 -0
  57. package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +16 -10
  58. package/dist/cjs/calcite-input-message.cjs.entry.js +70 -0
  59. package/dist/cjs/calcite-input-number.cjs.entry.js +13 -13
  60. package/dist/cjs/calcite-input-text.cjs.entry.js +13 -13
  61. package/dist/cjs/calcite-input-time-picker-9e93f694.js +1854 -0
  62. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +17 -17
  63. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +12 -12
  64. package/dist/cjs/calcite-input.cjs.entry.js +695 -0
  65. package/dist/cjs/calcite-label.cjs.entry.js +4 -4
  66. package/dist/cjs/calcite-link.cjs.entry.js +6 -6
  67. package/dist/cjs/calcite-list-item-group.cjs.entry.js +4 -4
  68. package/dist/cjs/calcite-list-item.cjs.entry.js +454 -0
  69. package/dist/cjs/calcite-list.cjs.entry.js +567 -0
  70. package/dist/cjs/calcite-loader.cjs.entry.js +80 -0
  71. package/dist/cjs/calcite-menu-item.cjs.entry.js +8 -8
  72. package/dist/cjs/calcite-menu.cjs.entry.js +8 -8
  73. package/dist/cjs/calcite-meter.cjs.entry.js +8 -8
  74. package/dist/cjs/calcite-modal.cjs.entry.js +17 -11
  75. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
  76. package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
  77. package/dist/cjs/calcite-navigation.cjs.entry.js +4 -4
  78. package/dist/cjs/calcite-notice.cjs.entry.js +10 -10
  79. package/dist/cjs/calcite-option-group.cjs.entry.js +1 -1
  80. package/dist/cjs/calcite-option.cjs.entry.js +88 -0
  81. package/dist/cjs/calcite-pagination.cjs.entry.js +201 -8
  82. package/dist/cjs/calcite-panel.cjs.entry.js +270 -0
  83. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +6 -6
  84. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +23 -23
  85. package/dist/cjs/calcite-pick-list.cjs.entry.js +10 -10
  86. package/dist/cjs/calcite-popover.cjs.entry.js +418 -0
  87. package/dist/cjs/calcite-progress.cjs.entry.js +41 -0
  88. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +4 -4
  89. package/dist/cjs/calcite-radio-button.cjs.entry.js +8 -8
  90. package/dist/cjs/calcite-rating.cjs.entry.js +14 -12
  91. package/dist/cjs/calcite-scrim.cjs.entry.js +7 -7
  92. package/dist/cjs/calcite-segmented-control-item.cjs.entry.js +70 -0
  93. package/dist/cjs/calcite-segmented-control.cjs.entry.js +245 -0
  94. package/dist/cjs/calcite-select.cjs.entry.js +235 -0
  95. package/dist/cjs/calcite-sheet.cjs.entry.js +7 -7
  96. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +5 -5
  97. package/dist/cjs/calcite-shell-panel.cjs.entry.js +414 -0
  98. package/dist/cjs/calcite-shell.cjs.entry.js +174 -0
  99. package/dist/cjs/calcite-slider.cjs.entry.js +844 -0
  100. package/dist/cjs/calcite-sortable-list.cjs.entry.js +7 -7
  101. package/dist/cjs/calcite-split-button.cjs.entry.js +4 -4
  102. package/dist/cjs/calcite-stack.cjs.entry.js +74 -0
  103. package/dist/cjs/calcite-stepper-item.cjs.entry.js +10 -10
  104. package/dist/cjs/calcite-stepper.cjs.entry.js +7 -7
  105. package/dist/cjs/calcite-switch.cjs.entry.js +9 -9
  106. package/dist/cjs/calcite-tab-nav.cjs.entry.js +263 -0
  107. package/dist/cjs/calcite-tab-title.cjs.entry.js +291 -0
  108. package/dist/cjs/calcite-tab.cjs.entry.js +112 -0
  109. package/dist/cjs/calcite-table-cell.cjs.entry.js +156 -0
  110. package/dist/cjs/calcite-table-header.cjs.entry.js +169 -0
  111. package/dist/cjs/calcite-table-row.cjs.entry.js +6 -6
  112. package/dist/cjs/calcite-table.cjs.entry.js +9 -9
  113. package/dist/cjs/calcite-tabs.cjs.entry.js +178 -0
  114. package/dist/cjs/calcite-text-area.cjs.entry.js +15 -16
  115. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +3 -3
  116. package/dist/cjs/calcite-tile-select.cjs.entry.js +4 -4
  117. package/dist/cjs/calcite-tile.cjs.entry.js +7 -7
  118. package/dist/cjs/calcite-time-picker.cjs.entry.js +9 -9
  119. package/dist/cjs/calcite-tip-group.cjs.entry.js +1 -1
  120. package/dist/cjs/calcite-tip-manager.cjs.entry.js +15 -8
  121. package/dist/cjs/calcite-tip.cjs.entry.js +9 -9
  122. package/dist/cjs/calcite-tooltip.cjs.entry.js +7 -7
  123. package/dist/cjs/calcite-tree-item.cjs.entry.js +296 -0
  124. package/dist/cjs/calcite-tree.cjs.entry.js +315 -0
  125. package/dist/cjs/calcite-value-list-item.cjs.entry.js +157 -0
  126. package/dist/cjs/calcite-value-list.cjs.entry.js +326 -0
  127. package/dist/cjs/card-manager.cjs.entry.js +107 -0
  128. package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
  129. package/dist/cjs/common-1b4bd8de.js +297 -0
  130. package/dist/cjs/conditionalSlot-73e71a05.js +63 -0
  131. package/dist/cjs/consent-manager.cjs.entry.js +379 -15
  132. package/dist/cjs/create-feature.cjs.entry.js +263 -0
  133. package/dist/cjs/crowdsource-manager.cjs.entry.js +7 -5
  134. package/dist/cjs/crowdsource-reporter.cjs.entry.js +9 -7
  135. package/dist/cjs/cs-1ea34123.js +148 -0
  136. package/dist/cjs/da-199f5488.js +67 -0
  137. package/dist/cjs/date-3d094f58.js +261 -0
  138. package/dist/cjs/de-222afa04.js +92 -0
  139. package/dist/cjs/de-at-a62870ea.js +91 -0
  140. package/dist/cjs/de-ch-b0b46c1b.js +91 -0
  141. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  142. package/dist/cjs/delete-button.cjs.entry.js +150 -0
  143. package/dist/cjs/dom-cf1e2e9f.js +1114 -0
  144. package/dist/cjs/{downloadUtils-c2bd7c80.js → downloadUtils-1f283d95.js} +37 -6
  145. package/dist/cjs/downloadUtils-de0c0682.js +4246 -0
  146. package/dist/cjs/edit-card.cjs.entry.js +228 -0
  147. package/dist/cjs/el-934951a0.js +67 -0
  148. package/dist/cjs/en-au-6872d248.js +67 -0
  149. package/dist/cjs/en-ca-7133c4f2.js +66 -0
  150. package/dist/cjs/en-gb-2c66b954.js +70 -0
  151. package/dist/cjs/es-48e65aa5.js +67 -0
  152. package/dist/cjs/es-mx-46d70897.js +66 -0
  153. package/dist/cjs/esri-loader-5b8fbfa4.js +308 -0
  154. package/dist/cjs/et-63c5628d.js +93 -0
  155. package/dist/cjs/feature-comments.cjs.entry.js +1 -1
  156. package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
  157. package/dist/cjs/feature-list.cjs.entry.js +199 -0
  158. package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
  159. package/dist/cjs/fi-dc20f9ac.js +116 -0
  160. package/dist/cjs/filter-cc2705b7.js +48 -0
  161. package/dist/cjs/floating-ui-90bd00af.js +2350 -0
  162. package/dist/cjs/floor-filter.cjs.entry.js +111 -0
  163. package/dist/cjs/focusTrapComponent-946b0666.js +1028 -0
  164. package/dist/cjs/form-da52e819.js +316 -0
  165. package/dist/cjs/fr-7067996a.js +69 -0
  166. package/dist/cjs/fr-ch-dbd7ba02.js +67 -0
  167. package/dist/cjs/he-4eb6a5a9.js +106 -0
  168. package/dist/cjs/helpers-7415d67a.js +830 -0
  169. package/dist/cjs/{helpers-81779c18.js → helpers-b014d9a9.js} +1 -1
  170. package/dist/cjs/hi-5563acd4.js +66 -0
  171. package/dist/cjs/hr-7a0a4191.js +81 -0
  172. package/dist/cjs/html2canvas-57f1616d.js +7847 -0
  173. package/dist/cjs/hu-0b69b8fb.js +89 -0
  174. package/dist/cjs/id-345dd5a9.js +67 -0
  175. package/dist/cjs/index-5799a29c.js +41521 -0
  176. package/dist/cjs/index-8c75d784.js +1958 -0
  177. package/dist/cjs/index-af047760.js +201 -0
  178. package/dist/cjs/index-b53bfd7c.js +4185 -0
  179. package/dist/cjs/index.cjs.js +15 -0
  180. package/dist/cjs/index.es-152bb462.js +11342 -0
  181. package/dist/cjs/{index.es-22b3d1a2.js → index.es-4af23ecc.js} +1 -1
  182. package/dist/cjs/info-card.cjs.entry.js +320 -0
  183. package/dist/cjs/instant-apps-ckeditor-wrapper.cjs.entry.js +125 -0
  184. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +4 -4
  185. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +4 -4
  186. package/dist/cjs/instant-apps-export.cjs.entry.js +20 -14
  187. package/dist/cjs/instant-apps-filter-list.cjs.entry.js +1059 -0
  188. package/dist/cjs/instant-apps-header.cjs.entry.js +5 -4
  189. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +25 -21
  190. package/dist/cjs/instant-apps-interactive-legend-count.cjs.entry.js +104 -0
  191. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +2 -2
  192. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +7 -6
  193. package/dist/cjs/instant-apps-interactive-legend-group-legend-element.cjs.entry.js +56 -0
  194. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
  195. package/dist/cjs/instant-apps-interactive-legend-layer-element-caption.cjs.entry.js +55 -0
  196. package/dist/cjs/instant-apps-interactive-legend-layer-element.cjs.entry.js +57 -0
  197. package/dist/cjs/instant-apps-interactive-legend-legend-element-caption.cjs.entry.js +104 -0
  198. package/dist/cjs/instant-apps-interactive-legend-legend-element.cjs.entry.js +65 -0
  199. package/dist/cjs/instant-apps-interactive-legend-relationship.cjs.entry.js +552 -0
  200. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +9 -8
  201. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +6 -6
  202. package/dist/cjs/instant-apps-landing-page.cjs.entry.js +2 -2
  203. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +9 -9
  204. package/dist/cjs/instant-apps-language-translator-item.cjs.entry.js +384 -0
  205. package/dist/cjs/instant-apps-language-translator-search.cjs.entry.js +105 -0
  206. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +9 -9
  207. package/dist/cjs/instant-apps-measurement-tool.cjs.entry.js +139 -0
  208. package/dist/cjs/instant-apps-measurement.cjs.entry.js +7 -7
  209. package/dist/cjs/instant-apps-popover.cjs.entry.js +6 -6
  210. package/dist/cjs/instant-apps-popovers.cjs.entry.js +1 -1
  211. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +6 -6
  212. package/dist/cjs/instant-apps-social-share.cjs.entry.js +515 -0
  213. package/dist/cjs/instant-apps-splash.cjs.entry.js +17 -8
  214. package/dist/cjs/interactive-08e5bc95.js +144 -0
  215. package/dist/cjs/it-ac7cf3e5.js +67 -0
  216. package/dist/cjs/it-ch-6f7209eb.js +67 -0
  217. package/dist/cjs/ja-29e7b0a2.js +73 -0
  218. package/dist/cjs/json-editor.cjs.entry.js +406 -0
  219. package/dist/cjs/key-86f4a0b0.js +47 -0
  220. package/dist/cjs/ko-aeebde8b.js +73 -0
  221. package/dist/cjs/label-24b05042.js +186 -0
  222. package/dist/cjs/{languageSwitcher-4822684b.js → languageSwitcher-3870c772.js} +1 -1
  223. package/dist/cjs/languageSwitcher-aafa5b47.js +58 -0
  224. package/dist/cjs/{languageUtil-9bd00bad.js → languageUtil-0df39c0c.js} +1 -1
  225. package/dist/cjs/languageUtil-43c3acdc.js +90 -0
  226. package/dist/cjs/layer-list.cjs.entry.js +207 -0
  227. package/dist/cjs/layer-table.cjs.entry.js +1487 -0
  228. package/dist/cjs/layout-manager.cjs.entry.js +5 -4
  229. package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
  230. package/dist/cjs/{loadModules-69fc5b98.js → loadModules-01306709.js} +1 -1
  231. package/dist/cjs/loadModules-a67b6702.js +23 -0
  232. package/dist/cjs/loadModules-b5f244cd.js +30 -0
  233. package/dist/cjs/loadable-41446b78.js +97 -0
  234. package/dist/cjs/loader.cjs.js +4 -4
  235. package/dist/cjs/{locale-3e33f44c.js → locale-28c7c569.js} +2 -2
  236. package/dist/cjs/locale-42a9e623.js +152 -0
  237. package/dist/cjs/locale-4cef466e.js +91 -0
  238. package/dist/cjs/locale-a615b02f.js +585 -0
  239. package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
  240. package/dist/cjs/lodash-7587da9f.js +18030 -0
  241. package/dist/cjs/lt-6816d14c.js +98 -0
  242. package/dist/cjs/lv-2c998515.js +67 -0
  243. package/dist/cjs/map-card.cjs.entry.js +192 -0
  244. package/dist/cjs/map-draw-tools.cjs.entry.js +358 -0
  245. package/dist/cjs/map-fullscreen.cjs.entry.js +116 -0
  246. package/dist/cjs/map-layer-picker.cjs.entry.js +346 -0
  247. package/dist/cjs/map-legend.cjs.entry.js +109 -0
  248. package/dist/cjs/map-picker.cjs.entry.js +174 -0
  249. package/dist/cjs/map-search.cjs.entry.js +184 -0
  250. package/dist/cjs/map-select-tools.cjs.entry.js +798 -0
  251. package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
  252. package/dist/cjs/map-tools.cjs.entry.js +375 -0
  253. package/dist/cjs/mapViewUtils-6fa5bab1.js +271 -0
  254. package/dist/cjs/mk-147994ea.js +67 -0
  255. package/dist/cjs/mode-a0417ce5.js +27 -0
  256. package/dist/cjs/nb-f3d75f05.js +68 -0
  257. package/dist/cjs/nl-cb0a22c8.js +68 -0
  258. package/dist/cjs/observers-5923a7cc.js +58 -0
  259. package/dist/cjs/openCloseComponent-8d9cb545.js +140 -0
  260. package/dist/cjs/parser-e80279bf.js +1656 -0
  261. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  262. package/dist/cjs/pdf-download.cjs.entry.js +359 -0
  263. package/dist/cjs/pl-ade28edd.js +115 -0
  264. package/dist/cjs/popupUtils-4de17e65.js +96 -0
  265. package/dist/cjs/pt-5543b782.js +68 -0
  266. package/dist/cjs/pt-br-bdce1868.js +66 -0
  267. package/dist/cjs/public-notification.cjs.entry.js +12 -11
  268. package/dist/cjs/publicNotificationStore-f690e171.js +47 -0
  269. package/dist/cjs/purify-557ad134.js +1715 -0
  270. package/dist/cjs/queryUtils-aba29fcf.js +253 -0
  271. package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
  272. package/dist/cjs/refine-selection.cjs.entry.js +411 -0
  273. package/dist/cjs/resources-2ccf85d3.js +53 -0
  274. package/dist/cjs/resources-37006465.js +29 -0
  275. package/dist/cjs/resources-63b3a6b8.js +116 -0
  276. package/dist/cjs/resources-a2b1b149.js +49 -0
  277. package/dist/cjs/resources-ac626172.js +26 -0
  278. package/dist/cjs/resources-b0cc39b4.js +30 -0
  279. package/dist/cjs/ro-f4bb9704.js +67 -0
  280. package/dist/cjs/ru-ba86b627.js +127 -0
  281. package/dist/cjs/shadow-css-bbaea014.js +483 -0
  282. package/dist/cjs/share-item.cjs.entry.js +1 -1
  283. package/dist/cjs/shared-list-render-c8555864.js +370 -0
  284. package/dist/cjs/sk-ac03aca5.js +149 -0
  285. package/dist/cjs/sl-c68e3fd0.js +169 -0
  286. package/dist/cjs/solution-configuration.cjs.entry.js +21 -1105
  287. package/dist/cjs/solution-contents.cjs.entry.js +84 -0
  288. package/dist/cjs/solution-item-details.cjs.entry.js +199 -0
  289. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  290. package/dist/cjs/solution-item-sharing.cjs.entry.js +139 -0
  291. package/dist/cjs/solution-item.cjs.entry.js +106 -0
  292. package/dist/cjs/solution-organization-variables.cjs.entry.js +95 -0
  293. package/dist/cjs/solution-resource-item.cjs.entry.js +284 -0
  294. package/dist/cjs/solution-spatial-ref.cjs.entry.js +158 -0
  295. package/dist/cjs/solution-store-6194ba89.js +589 -0
  296. package/dist/cjs/solution-template-data.cjs.entry.js +119 -0
  297. package/dist/cjs/solution-variables.cjs.entry.js +107 -0
  298. package/dist/cjs/solutions-components.cjs.js +36 -5
  299. package/dist/cjs/sortableComponent-5e3419af.js +3443 -0
  300. package/dist/cjs/spatial-ref.cjs.entry.js +7 -6
  301. package/dist/cjs/sr-80f65cf0.js +102 -0
  302. package/dist/cjs/store-1f422ad4.js +91 -0
  303. package/dist/cjs/store-manager.cjs.entry.js +1 -1
  304. package/dist/cjs/sv-eee15401.js +72 -0
  305. package/dist/cjs/t9n-463dcbff.js +103 -0
  306. package/dist/cjs/th-f90768db.js +66 -0
  307. package/dist/cjs/time-4a9bf7e2.js +289 -0
  308. package/dist/cjs/tr-37fec0b5.js +67 -0
  309. package/dist/cjs/uk-3041a292.js +105 -0
  310. package/dist/cjs/utils-3a633152.js +64 -0
  311. package/dist/cjs/utils-7281bf72.js +110 -0
  312. package/dist/cjs/utils-72a66b3c.js +66 -0
  313. package/dist/cjs/utils-934ee777.js +142 -0
  314. package/dist/cjs/{utils-ea7a5a63.js → utils-ac836e7a.js} +1 -1
  315. package/dist/cjs/utils-b276a49d.js +226 -0
  316. package/dist/cjs/vi-57a02ad1.js +71 -0
  317. package/dist/cjs/zh-cn-165c486d.js +95 -0
  318. package/dist/cjs/zh-hk-0aa560a6.js +72 -0
  319. package/dist/cjs/zh-tw-42d975f0.js +93 -0
  320. package/dist/collection/utils/downloadUtils.js +36 -5
  321. package/dist/collection/utils/downloadUtils.ts +44 -5
  322. package/dist/collection/utils/test/downloadUtils.spec.js +33 -1
  323. package/dist/collection/utils/test/downloadUtils.spec.tsx +40 -1
  324. package/dist/components/ExpandToggle.js +8 -8
  325. package/dist/components/InitiativeUiSchemaEdit.js +26 -0
  326. package/dist/components/ProjectUiSchemaCreate.js +122 -0
  327. package/dist/components/ProjectUiSchemaEdit.js +176 -0
  328. package/dist/components/_commonjsHelpers.js +10 -2
  329. package/dist/components/action-bar.js +3 -3
  330. package/dist/components/action-group.js +1 -1
  331. package/dist/components/action-menu.js +1 -1
  332. package/dist/components/action-pad.js +1 -1
  333. package/dist/components/action.js +1 -1
  334. package/dist/components/alert.js +2 -2
  335. package/dist/components/arcgis-login.js +1 -1
  336. package/dist/components/avatar.js +1 -1
  337. package/dist/components/basemap-gallery2.js +1 -1
  338. package/dist/components/block.js +1 -1
  339. package/dist/components/buffer-tools2.js +1 -1
  340. package/dist/components/button.js +1 -1
  341. package/dist/components/calcite-accordion-item.js +1 -1
  342. package/dist/components/calcite-accordion.js +1 -1
  343. package/dist/components/calcite-block-section.js +1 -1
  344. package/dist/components/calcite-card.js +1 -1
  345. package/dist/components/calcite-chip-group.js +1 -1
  346. package/dist/components/calcite-color-picker.js +5 -5
  347. package/dist/components/calcite-combobox-item-group.js +1 -1
  348. package/dist/components/calcite-fab.js +1 -1
  349. package/dist/components/calcite-inline-editable.js +1 -1
  350. package/dist/components/calcite-input-time-picker.js +5 -1
  351. package/dist/components/calcite-input-time-zone.js +2 -2
  352. package/dist/components/calcite-list-item-group.js +1 -1
  353. package/dist/components/calcite-menu-item.js +1 -1
  354. package/dist/components/calcite-meter.js +1 -1
  355. package/dist/components/calcite-navigation-logo.js +1 -1
  356. package/dist/components/calcite-navigation-user.js +1 -1
  357. package/dist/components/calcite-navigation.js +1 -1
  358. package/dist/components/calcite-option-group.js +1 -1
  359. package/dist/components/calcite-pick-list-group.js +3 -3
  360. package/dist/components/calcite-pick-list.js +1 -1
  361. package/dist/components/calcite-radio-button-group.js +1 -1
  362. package/dist/components/calcite-rating.js +3 -1
  363. package/dist/components/calcite-sheet.js +1 -1
  364. package/dist/components/calcite-shell-center-row.js +1 -1
  365. package/dist/components/calcite-sortable-list.js +1 -1
  366. package/dist/components/calcite-split-button.js +1 -1
  367. package/dist/components/calcite-stepper-item.js +1 -1
  368. package/dist/components/calcite-stepper.js +1 -1
  369. package/dist/components/calcite-table-row.js +1 -1
  370. package/dist/components/calcite-table.js +1 -1
  371. package/dist/components/calcite-text-area.js +2 -2
  372. package/dist/components/calcite-tile-select-group.js +1 -1
  373. package/dist/components/calcite-tile-select.js +1 -1
  374. package/dist/components/calcite-tile.js +1 -1
  375. package/dist/components/calcite-tip-group.js +1 -1
  376. package/dist/components/calcite-tip-manager.js +8 -1
  377. package/dist/components/calcite-tip.js +2 -2
  378. package/dist/components/card-manager2.js +1 -1
  379. package/dist/components/checkbox.js +1 -1
  380. package/dist/components/chip.js +1 -1
  381. package/dist/components/color-picker-hex-input.js +2 -2
  382. package/dist/components/color-picker-swatch.js +1 -1
  383. package/dist/components/combobox-item.js +1 -1
  384. package/dist/components/combobox.js +314 -3
  385. package/dist/components/consent-manager.js +376 -13
  386. package/dist/components/create-feature2.js +1 -1
  387. package/dist/components/crowdsource-manager.js +1 -1
  388. package/dist/components/crowdsource-reporter.js +1 -1
  389. package/dist/components/date-picker-day.js +1 -1
  390. package/dist/components/date-picker-month-header.js +1 -1
  391. package/dist/components/date-picker-month.js +1 -1
  392. package/dist/components/date-picker.js +1 -1
  393. package/dist/components/deduct-calculator2.js +1 -1
  394. package/dist/components/delete-button2.js +1 -1
  395. package/dist/components/dom.js +28 -1
  396. package/dist/components/downloadUtils.js +1213 -102
  397. package/dist/components/dropdown-group.js +1 -1
  398. package/dist/components/dropdown-item.js +1 -1
  399. package/dist/components/dropdown.js +1 -1
  400. package/dist/components/edit-card2.js +1 -1
  401. package/dist/components/esri-loader.js +8 -3
  402. package/dist/components/feature-comments.js +1 -1
  403. package/dist/components/feature-form-flow-item.js +1 -1
  404. package/dist/components/feature-list2.js +1 -1
  405. package/dist/components/features-flow-item.js +1 -1
  406. package/dist/components/filter.js +1 -718
  407. package/dist/components/filter2.js +2 -2
  408. package/dist/components/floating-ui.js +384 -7
  409. package/dist/components/floor-filter2.js +1 -1
  410. package/dist/components/flow-item.js +1 -1
  411. package/dist/components/flow.js +1 -1
  412. package/dist/components/focusTrapComponent.js +1 -1
  413. package/dist/components/form.js +1 -1
  414. package/dist/components/graph.js +1 -1
  415. package/dist/components/handle.js +1 -1
  416. package/dist/components/helpers.js +6 -2
  417. package/dist/components/html2canvas.js +8 -3
  418. package/dist/components/icon.js +1 -1
  419. package/dist/components/index.es.js +555 -22
  420. package/dist/components/index.js +16 -0
  421. package/dist/components/index2.js +3 -0
  422. package/dist/components/index3.js +41270 -1873
  423. package/dist/components/index5.js +2086 -185
  424. package/dist/components/index6.js +188 -55
  425. package/dist/components/index7.js +71 -0
  426. package/dist/components/info-card2.js +1 -1
  427. package/dist/components/input-date-picker.js +1 -1
  428. package/dist/components/input-message.js +1 -1
  429. package/dist/components/input-number.js +1 -1
  430. package/dist/components/input-text.js +1 -1
  431. package/dist/components/input.js +1 -1
  432. package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
  433. package/dist/components/instant-apps-control-panel.js +1 -1
  434. package/dist/components/instant-apps-export.js +14 -8
  435. package/dist/components/instant-apps-filter-list2.js +2 -1
  436. package/dist/components/instant-apps-header2.js +2 -2
  437. package/dist/components/instant-apps-interactive-legend-classic2.js +10 -7
  438. package/dist/components/instant-apps-interactive-legend-count2.js +2 -2
  439. package/dist/components/instant-apps-interactive-legend-group-legend-element-caption.js +1 -1
  440. package/dist/components/instant-apps-interactive-legend-group-legend-element2.js +1 -1
  441. package/dist/components/instant-apps-interactive-legend-layer-element-caption2.js +1 -1
  442. package/dist/components/instant-apps-interactive-legend-layer-element2.js +1 -1
  443. package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
  444. package/dist/components/instant-apps-interactive-legend-legend-element2.js +1 -1
  445. package/dist/components/instant-apps-interactive-legend-relationship2.js +1 -1
  446. package/dist/components/instant-apps-interactive-legend.js +1 -1
  447. package/dist/components/instant-apps-keyboard-shortcuts.js +1 -1
  448. package/dist/components/instant-apps-landing-page.js +2 -2
  449. package/dist/components/instant-apps-language-switcher.js +1 -1
  450. package/dist/components/instant-apps-language-translator-item2.js +1 -1
  451. package/dist/components/instant-apps-language-translator-search2.js +1 -1
  452. package/dist/components/instant-apps-language-translator2.js +1 -1
  453. package/dist/components/instant-apps-measurement-tool2.js +1 -1
  454. package/dist/components/instant-apps-measurement.js +2 -2
  455. package/dist/components/instant-apps-popover.js +1 -1
  456. package/dist/components/instant-apps-popovers.js +1 -1
  457. package/dist/components/instant-apps-scoreboard.js +1 -1
  458. package/dist/components/instant-apps-social-share2.js +14 -8
  459. package/dist/components/instant-apps-splash.js +18 -4
  460. package/dist/components/json-editor2.js +1 -1
  461. package/dist/components/key.js +28 -0
  462. package/dist/components/label.js +1 -1
  463. package/dist/components/label2.js +1 -1
  464. package/dist/components/languageUtil.js +23 -2
  465. package/dist/components/layer-list2.js +1 -1
  466. package/dist/components/layer-table2.js +1 -1
  467. package/dist/components/layout-manager.js +1 -1
  468. package/dist/components/link.js +1 -1
  469. package/dist/components/list-flow-item.js +1 -1
  470. package/dist/components/list-item.js +1 -1
  471. package/dist/components/list.js +2 -2
  472. package/dist/components/loadModules2.js +1 -1
  473. package/dist/components/loader.js +1 -1
  474. package/dist/components/locale.js +12 -0
  475. package/dist/components/locale2.js +2 -1
  476. package/dist/components/location-flow-item.js +1 -1
  477. package/dist/components/lodash.js +18025 -0
  478. package/dist/components/map-card2.js +1 -1
  479. package/dist/components/map-draw-tools2.js +1 -1
  480. package/dist/components/map-fullscreen2.js +1 -1
  481. package/dist/components/map-layer-picker2.js +1 -1
  482. package/dist/components/map-legend2.js +1 -1
  483. package/dist/components/map-picker2.js +1 -1
  484. package/dist/components/map-search2.js +1 -1
  485. package/dist/components/map-select-tools2.js +1 -1
  486. package/dist/components/map-tools2.js +3 -1
  487. package/dist/components/menu.js +1 -1
  488. package/dist/components/modal.js +7 -1
  489. package/dist/components/mode.js +8 -0
  490. package/dist/components/notice.js +1 -1
  491. package/dist/components/openCloseComponent.js +48 -0
  492. package/dist/components/option.js +1 -1
  493. package/dist/components/pagination.js +194 -1
  494. package/dist/components/panel.js +2 -1
  495. package/dist/components/parser.js +1654 -0
  496. package/dist/components/pci-calculator.js +1 -1
  497. package/dist/components/pdf-download2.js +1 -1
  498. package/dist/components/pick-list-item.js +1 -1
  499. package/dist/components/popover.js +1 -1
  500. package/dist/components/progress.js +1 -1
  501. package/dist/components/public-notification.js +1 -1
  502. package/dist/components/purify.js +5 -2
  503. package/dist/components/queryUtils.js +43 -0
  504. package/dist/components/radio-button.js +1 -1
  505. package/dist/components/refine-results-flow-item.js +1 -1
  506. package/dist/components/refine-selection2.js +1 -1
  507. package/dist/components/resources.js +17 -0
  508. package/dist/components/resources4.js +3 -0
  509. package/dist/components/scrim.js +1 -1
  510. package/dist/components/segmented-control-item.js +1 -1
  511. package/dist/components/segmented-control.js +1 -1
  512. package/dist/components/select.js +1 -1
  513. package/dist/components/share-item.js +1 -1
  514. package/dist/components/shared-list-render.js +6 -1
  515. package/dist/components/shell-panel.js +1 -1
  516. package/dist/components/shell.js +1 -1
  517. package/dist/components/slider.js +3 -1
  518. package/dist/components/solution-configuration.js +2 -1088
  519. package/dist/components/solution-contents2.js +1 -1
  520. package/dist/components/solution-item-details2.js +1 -1
  521. package/dist/components/solution-item-icon2.js +1 -1
  522. package/dist/components/solution-item-sharing2.js +1 -1
  523. package/dist/components/solution-item2.js +1 -1
  524. package/dist/components/solution-organization-variables2.js +1 -1
  525. package/dist/components/solution-resource-item2.js +2 -3
  526. package/dist/components/solution-spatial-ref2.js +1 -1
  527. package/dist/components/solution-store.js +1 -756
  528. package/dist/components/solution-template-data2.js +1 -1
  529. package/dist/components/solution-variables2.js +1 -1
  530. package/dist/components/sortableComponent.js +701 -0
  531. package/dist/components/spatial-ref2.js +263 -4
  532. package/dist/components/stack.js +1 -1
  533. package/dist/components/store-manager.js +1 -1
  534. package/dist/components/store.js +1 -0
  535. package/dist/components/switch.js +1 -1
  536. package/dist/components/t9n.js +1 -1
  537. package/dist/components/tab-nav.js +1 -1
  538. package/dist/components/tab-title.js +1 -1
  539. package/dist/components/tab.js +1 -1
  540. package/dist/components/table-cell.js +1 -1
  541. package/dist/components/table-header.js +1 -1
  542. package/dist/components/tabs.js +1 -1
  543. package/dist/components/time-picker.js +2 -2
  544. package/dist/components/tooltip.js +1 -1
  545. package/dist/components/tree-item.js +1 -1
  546. package/dist/components/tree.js +1 -1
  547. package/dist/components/utils.js +6 -1
  548. package/dist/components/utils2.js +1 -1
  549. package/dist/components/utils4.js +12 -0
  550. package/dist/components/value-list-item.js +1 -1
  551. package/dist/components/value-list.js +4 -1
  552. package/dist/esm/ExpandToggle-22fd2faa.js +110 -0
  553. package/dist/esm/FloatingArrow-de6fd1c7.js +48 -0
  554. package/dist/esm/Heading-f003a141.js +22 -0
  555. package/dist/esm/InitiativeUiSchemaEdit-8ddacfe8.js +26 -0
  556. package/dist/esm/ProjectUiSchemaCreate-dd179c0f.js +124 -0
  557. package/dist/esm/ProjectUiSchemaEdit-fbfdf6e4.js +176 -0
  558. package/dist/esm/Validation-59a77488.js +18 -0
  559. package/dist/esm/_commonjsHelpers-3cd6d4ee.js +49 -0
  560. package/dist/esm/app-globals-928553ab.js +67 -0
  561. package/dist/esm/ar-75ffdabb.js +103 -0
  562. package/dist/esm/arcgis-login.entry.js +1 -1
  563. package/dist/esm/basemap-gallery.entry.js +117 -0
  564. package/dist/esm/bg-fac0bf10.js +81 -0
  565. package/dist/esm/browser-b8d08bed.js +26 -0
  566. package/dist/esm/bs-c03c8ef2.js +50 -0
  567. package/dist/esm/buffer-tools.entry.js +253 -0
  568. package/dist/esm/ca-29e49f82.js +70 -0
  569. package/dist/esm/calcite-accordion-item.entry.js +5 -5
  570. package/dist/esm/calcite-accordion.entry.js +2 -2
  571. package/dist/esm/calcite-action-bar.entry.js +11 -11
  572. package/dist/esm/calcite-action-group.entry.js +12 -12
  573. package/dist/esm/calcite-action-menu.entry.js +291 -0
  574. package/dist/esm/calcite-action-pad.entry.js +165 -0
  575. package/dist/esm/calcite-action-pad_2.entry.js +1 -1
  576. package/dist/esm/calcite-action.entry.js +184 -0
  577. package/dist/esm/calcite-alert.entry.js +318 -0
  578. package/dist/esm/calcite-avatar.entry.js +4 -4
  579. package/dist/esm/calcite-block-section.entry.js +8 -8
  580. package/dist/esm/calcite-block.entry.js +210 -0
  581. package/dist/esm/calcite-button.entry.js +13 -13
  582. package/dist/esm/calcite-card.entry.js +8 -8
  583. package/dist/esm/calcite-checkbox.entry.js +9 -9
  584. package/dist/esm/calcite-chip-group.entry.js +7 -7
  585. package/dist/esm/calcite-chip.entry.js +258 -0
  586. package/dist/esm/calcite-color-picker-hex-input.entry.js +270 -0
  587. package/dist/esm/calcite-color-picker-swatch.entry.js +95 -0
  588. package/dist/esm/calcite-color-picker.entry.js +16 -16
  589. package/dist/esm/calcite-combobox-item-group.entry.js +4 -4
  590. package/dist/esm/calcite-combobox-item.entry.js +141 -0
  591. package/dist/esm/calcite-combobox.entry.js +1427 -0
  592. package/dist/esm/calcite-date-picker-day.entry.js +93 -0
  593. package/dist/esm/calcite-date-picker-month-header.entry.js +203 -0
  594. package/dist/esm/calcite-date-picker-month.entry.js +358 -0
  595. package/dist/esm/calcite-date-picker.entry.js +456 -0
  596. package/dist/esm/calcite-dropdown-group.entry.js +81 -0
  597. package/dist/esm/calcite-dropdown-item.entry.js +184 -0
  598. package/dist/esm/calcite-dropdown.entry.js +426 -0
  599. package/dist/esm/calcite-fab.entry.js +6 -6
  600. package/dist/esm/calcite-filter.entry.js +175 -0
  601. package/dist/esm/calcite-flow-item.entry.js +194 -0
  602. package/dist/esm/calcite-flow.entry.js +149 -0
  603. package/dist/esm/calcite-graph.entry.js +222 -0
  604. package/dist/esm/calcite-handle.entry.js +200 -0
  605. package/dist/esm/calcite-icon.entry.js +5 -5
  606. package/dist/esm/calcite-inline-editable.entry.js +11 -11
  607. package/dist/esm/calcite-input-date-picker.entry.js +740 -0
  608. package/dist/esm/calcite-input-date-picker_3.entry.js +16 -10
  609. package/dist/esm/calcite-input-message.entry.js +66 -0
  610. package/dist/esm/calcite-input-number.entry.js +13 -13
  611. package/dist/esm/calcite-input-text.entry.js +13 -13
  612. package/dist/esm/calcite-input-time-picker-e5cd4d26.js +1851 -0
  613. package/dist/esm/calcite-input-time-picker.entry.js +17 -17
  614. package/dist/esm/calcite-input-time-zone.entry.js +12 -12
  615. package/dist/esm/calcite-input.entry.js +691 -0
  616. package/dist/esm/calcite-label.entry.js +4 -4
  617. package/dist/esm/calcite-link.entry.js +6 -6
  618. package/dist/esm/calcite-list-item-group.entry.js +4 -4
  619. package/dist/esm/calcite-list-item.entry.js +450 -0
  620. package/dist/esm/calcite-list.entry.js +563 -0
  621. package/dist/esm/calcite-loader.entry.js +76 -0
  622. package/dist/esm/calcite-menu-item.entry.js +8 -8
  623. package/dist/esm/calcite-menu.entry.js +8 -8
  624. package/dist/esm/calcite-meter.entry.js +8 -8
  625. package/dist/esm/calcite-modal.entry.js +17 -11
  626. package/dist/esm/calcite-navigation-logo.entry.js +2 -2
  627. package/dist/esm/calcite-navigation-user.entry.js +2 -2
  628. package/dist/esm/calcite-navigation.entry.js +4 -4
  629. package/dist/esm/calcite-notice.entry.js +10 -10
  630. package/dist/esm/calcite-option-group.entry.js +1 -1
  631. package/dist/esm/calcite-option.entry.js +84 -0
  632. package/dist/esm/calcite-pagination.entry.js +201 -8
  633. package/dist/esm/calcite-panel.entry.js +266 -0
  634. package/dist/esm/calcite-pick-list-group.entry.js +6 -6
  635. package/dist/esm/calcite-pick-list-item.entry.js +13 -13
  636. package/dist/esm/calcite-pick-list.entry.js +10 -10
  637. package/dist/esm/calcite-popover.entry.js +414 -0
  638. package/dist/esm/calcite-progress.entry.js +37 -0
  639. package/dist/esm/calcite-radio-button-group.entry.js +4 -4
  640. package/dist/esm/calcite-radio-button.entry.js +8 -8
  641. package/dist/esm/calcite-rating.entry.js +14 -12
  642. package/dist/esm/calcite-scrim.entry.js +7 -7
  643. package/dist/esm/calcite-segmented-control-item.entry.js +66 -0
  644. package/dist/esm/calcite-segmented-control.entry.js +241 -0
  645. package/dist/esm/calcite-select.entry.js +231 -0
  646. package/dist/esm/calcite-sheet.entry.js +7 -7
  647. package/dist/esm/calcite-shell-center-row.entry.js +5 -5
  648. package/dist/esm/calcite-shell-panel.entry.js +410 -0
  649. package/dist/esm/calcite-shell.entry.js +170 -0
  650. package/dist/esm/calcite-slider.entry.js +840 -0
  651. package/dist/esm/calcite-sortable-list.entry.js +7 -7
  652. package/dist/esm/calcite-split-button.entry.js +4 -4
  653. package/dist/esm/calcite-stack.entry.js +70 -0
  654. package/dist/esm/calcite-stepper-item.entry.js +10 -10
  655. package/dist/esm/calcite-stepper.entry.js +7 -7
  656. package/dist/esm/calcite-switch.entry.js +9 -9
  657. package/dist/esm/calcite-tab-nav.entry.js +259 -0
  658. package/dist/esm/calcite-tab-title.entry.js +287 -0
  659. package/dist/esm/calcite-tab.entry.js +108 -0
  660. package/dist/esm/calcite-table-cell.entry.js +152 -0
  661. package/dist/esm/calcite-table-header.entry.js +165 -0
  662. package/dist/esm/calcite-table-row.entry.js +6 -6
  663. package/dist/esm/calcite-table.entry.js +9 -9
  664. package/dist/esm/calcite-tabs.entry.js +174 -0
  665. package/dist/esm/calcite-text-area.entry.js +14 -15
  666. package/dist/esm/calcite-tile-select-group.entry.js +3 -3
  667. package/dist/esm/calcite-tile-select.entry.js +4 -4
  668. package/dist/esm/calcite-tile.entry.js +7 -7
  669. package/dist/esm/calcite-time-picker.entry.js +9 -9
  670. package/dist/esm/calcite-tip-group.entry.js +1 -1
  671. package/dist/esm/calcite-tip-manager.entry.js +15 -8
  672. package/dist/esm/calcite-tip.entry.js +9 -9
  673. package/dist/esm/calcite-tooltip.entry.js +7 -7
  674. package/dist/esm/calcite-tree-item.entry.js +292 -0
  675. package/dist/esm/calcite-tree.entry.js +311 -0
  676. package/dist/esm/calcite-value-list-item.entry.js +153 -0
  677. package/dist/esm/calcite-value-list.entry.js +322 -0
  678. package/dist/esm/card-manager.entry.js +103 -0
  679. package/dist/esm/card-manager_3.entry.js +1 -1
  680. package/dist/esm/common-7e0dcaa2.js +295 -0
  681. package/dist/esm/conditionalSlot-a395417e.js +60 -0
  682. package/dist/esm/consent-manager.entry.js +379 -15
  683. package/dist/esm/create-feature.entry.js +259 -0
  684. package/dist/esm/crowdsource-manager.entry.js +7 -5
  685. package/dist/esm/crowdsource-reporter.entry.js +7 -5
  686. package/dist/esm/cs-04f36d01.js +146 -0
  687. package/dist/esm/da-5a3b8600.js +65 -0
  688. package/dist/esm/date-74c7f03b.js +245 -0
  689. package/dist/esm/de-579cda2e.js +90 -0
  690. package/dist/esm/de-at-52bf1c4c.js +89 -0
  691. package/dist/esm/de-ch-12d03480.js +89 -0
  692. package/dist/esm/deduct-calculator.entry.js +1 -1
  693. package/dist/esm/delete-button.entry.js +146 -0
  694. package/dist/esm/dom-b91aa537.js +1083 -0
  695. package/dist/esm/{downloadUtils-a6c0e25f.js → downloadUtils-01e2cb56.js} +37 -6
  696. package/dist/esm/downloadUtils-b3220f86.js +4240 -0
  697. package/dist/esm/edit-card.entry.js +224 -0
  698. package/dist/esm/el-c18d3ea4.js +65 -0
  699. package/dist/esm/en-au-2599e6da.js +65 -0
  700. package/dist/esm/en-ca-8cfbe6bc.js +64 -0
  701. package/dist/esm/en-gb-5e4e8a1e.js +68 -0
  702. package/dist/esm/es-d86f9957.js +65 -0
  703. package/dist/esm/es-mx-f99d9fd1.js +64 -0
  704. package/dist/esm/esri-loader-af2bbfd5.js +306 -0
  705. package/dist/esm/et-8bf52e57.js +91 -0
  706. package/dist/esm/feature-comments.entry.js +1 -1
  707. package/dist/esm/feature-form-flow-item.entry.js +1 -1
  708. package/dist/esm/feature-list.entry.js +195 -0
  709. package/dist/esm/features-flow-item.entry.js +1 -1
  710. package/dist/esm/fi-aeb49e52.js +114 -0
  711. package/dist/esm/filter-0d00d2e2.js +46 -0
  712. package/dist/esm/floating-ui-b3256614.js +2342 -0
  713. package/dist/esm/floor-filter.entry.js +107 -0
  714. package/dist/esm/focusTrapComponent-2fe6623b.js +1023 -0
  715. package/dist/esm/form-f2181470.js +307 -0
  716. package/dist/esm/fr-6200cc01.js +67 -0
  717. package/dist/esm/fr-ch-df62bb30.js +65 -0
  718. package/dist/esm/he-07ace6cb.js +104 -0
  719. package/dist/esm/helpers-85ca7251.js +807 -0
  720. package/dist/esm/{helpers-aeddac74.js → helpers-f9256189.js} +1 -1
  721. package/dist/esm/hi-5aa9519e.js +64 -0
  722. package/dist/esm/hr-e0614bed.js +79 -0
  723. package/dist/esm/html2canvas-d52e7c8d.js +7845 -0
  724. package/dist/esm/hu-732fe37c.js +87 -0
  725. package/dist/esm/id-0832fc24.js +65 -0
  726. package/dist/esm/index-7fc1cba9.js +41502 -0
  727. package/dist/esm/index-91eeaf01.js +199 -0
  728. package/dist/esm/index-b1fb529b.js +1956 -0
  729. package/dist/esm/index-bdfaac50.js +4145 -0
  730. package/dist/esm/index.es-3db60115.js +11256 -0
  731. package/dist/esm/{index.es-b0a676ae.js → index.es-ac6f5e76.js} +1 -1
  732. package/dist/esm/index.js +15 -0
  733. package/dist/esm/info-card.entry.js +316 -0
  734. package/dist/esm/instant-apps-ckeditor-wrapper.entry.js +121 -0
  735. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +4 -4
  736. package/dist/esm/instant-apps-control-panel.entry.js +4 -4
  737. package/dist/esm/instant-apps-export.entry.js +20 -14
  738. package/dist/esm/instant-apps-filter-list.entry.js +1055 -0
  739. package/dist/esm/instant-apps-header.entry.js +5 -4
  740. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +15 -11
  741. package/dist/esm/instant-apps-interactive-legend-count.entry.js +100 -0
  742. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +2 -2
  743. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +7 -6
  744. package/dist/esm/instant-apps-interactive-legend-group-legend-element.entry.js +52 -0
  745. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
  746. package/dist/esm/instant-apps-interactive-legend-layer-element-caption.entry.js +51 -0
  747. package/dist/esm/instant-apps-interactive-legend-layer-element.entry.js +53 -0
  748. package/dist/esm/instant-apps-interactive-legend-legend-element-caption.entry.js +100 -0
  749. package/dist/esm/instant-apps-interactive-legend-legend-element.entry.js +61 -0
  750. package/dist/esm/instant-apps-interactive-legend-relationship.entry.js +548 -0
  751. package/dist/esm/instant-apps-interactive-legend.entry.js +9 -8
  752. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +6 -6
  753. package/dist/esm/instant-apps-landing-page.entry.js +2 -2
  754. package/dist/esm/instant-apps-language-switcher.entry.js +9 -9
  755. package/dist/esm/instant-apps-language-translator-item.entry.js +380 -0
  756. package/dist/esm/instant-apps-language-translator-search.entry.js +101 -0
  757. package/dist/esm/instant-apps-language-translator.entry.js +9 -9
  758. package/dist/esm/instant-apps-measurement-tool.entry.js +135 -0
  759. package/dist/esm/instant-apps-measurement.entry.js +7 -7
  760. package/dist/esm/instant-apps-popover.entry.js +6 -6
  761. package/dist/esm/instant-apps-popovers.entry.js +1 -1
  762. package/dist/esm/instant-apps-scoreboard.entry.js +6 -6
  763. package/dist/esm/instant-apps-social-share.entry.js +511 -0
  764. package/dist/esm/instant-apps-splash.entry.js +17 -8
  765. package/dist/esm/interactive-71585ecc.js +139 -0
  766. package/dist/esm/it-142bc820.js +65 -0
  767. package/dist/esm/it-ch-1ad1f0ac.js +65 -0
  768. package/dist/esm/ja-6a33e9d4.js +71 -0
  769. package/dist/esm/json-editor.entry.js +402 -0
  770. package/dist/esm/key-9a10d862.js +44 -0
  771. package/dist/esm/ko-d61df01d.js +71 -0
  772. package/dist/esm/label-16184ce7.js +179 -0
  773. package/dist/esm/{languageSwitcher-4faa659f.js → languageSwitcher-068998b1.js} +1 -1
  774. package/dist/esm/languageSwitcher-2a9037e5.js +55 -0
  775. package/dist/esm/{languageUtil-dc3111c1.js → languageUtil-035e7728.js} +1 -1
  776. package/dist/esm/languageUtil-71a7a914.js +87 -0
  777. package/dist/esm/layer-list.entry.js +203 -0
  778. package/dist/esm/layer-table.entry.js +1483 -0
  779. package/dist/esm/layout-manager.entry.js +5 -4
  780. package/dist/esm/list-flow-item.entry.js +1 -1
  781. package/dist/esm/{loadModules-877bbb89.js → loadModules-7a5f1022.js} +1 -1
  782. package/dist/esm/loadModules-827c5581.js +28 -0
  783. package/dist/esm/loadModules-acccbc1c.js +21 -0
  784. package/dist/esm/loadable-aea90723.js +92 -0
  785. package/dist/esm/loader.js +5 -5
  786. package/dist/esm/{locale-bd9034e1.js → locale-4cab280d.js} +2 -2
  787. package/dist/esm/locale-4cfbae3e.js +86 -0
  788. package/dist/esm/locale-857f39cf.js +572 -0
  789. package/dist/esm/locale-d9463a95.js +148 -0
  790. package/dist/esm/location-flow-item.entry.js +1 -1
  791. package/dist/esm/lodash-98e4b7d0.js +18025 -0
  792. package/dist/esm/lt-652c530a.js +96 -0
  793. package/dist/esm/lv-84e48ed0.js +65 -0
  794. package/dist/esm/map-card.entry.js +188 -0
  795. package/dist/esm/map-draw-tools.entry.js +354 -0
  796. package/dist/esm/map-fullscreen.entry.js +112 -0
  797. package/dist/esm/map-layer-picker.entry.js +342 -0
  798. package/dist/esm/map-legend.entry.js +105 -0
  799. package/dist/esm/map-picker.entry.js +170 -0
  800. package/dist/esm/map-search.entry.js +180 -0
  801. package/dist/esm/map-select-tools.entry.js +794 -0
  802. package/dist/esm/map-select-tools_3.entry.js +1 -1
  803. package/dist/esm/map-tools.entry.js +371 -0
  804. package/dist/esm/mapViewUtils-436a516e.js +261 -0
  805. package/dist/esm/mk-bbf2ee01.js +65 -0
  806. package/dist/esm/mode-f9bfc4e9.js +25 -0
  807. package/dist/esm/nb-ccfaa0f7.js +66 -0
  808. package/dist/esm/nl-4bc56289.js +66 -0
  809. package/dist/esm/observers-5ba39eee.js +56 -0
  810. package/dist/esm/openCloseComponent-b4b3788b.js +138 -0
  811. package/dist/esm/parser-87982ce2.js +1654 -0
  812. package/dist/esm/pci-calculator.entry.js +1 -1
  813. package/dist/esm/pdf-download.entry.js +355 -0
  814. package/dist/esm/pl-1f435988.js +113 -0
  815. package/dist/esm/popupUtils-b61d7ffd.js +94 -0
  816. package/dist/esm/pt-4a05a00d.js +66 -0
  817. package/dist/esm/pt-br-9720547b.js +64 -0
  818. package/dist/esm/public-notification.entry.js +11 -10
  819. package/dist/esm/publicNotificationStore-208e26f0.js +45 -0
  820. package/dist/esm/purify-909c20fa.js +1713 -0
  821. package/dist/esm/queryUtils-2529c537.js +244 -0
  822. package/dist/esm/refine-results-flow-item.entry.js +1 -1
  823. package/dist/esm/refine-selection.entry.js +407 -0
  824. package/dist/esm/resources-0f8db821.js +45 -0
  825. package/dist/esm/resources-3c6947d3.js +26 -0
  826. package/dist/esm/resources-47b3ca40.js +106 -0
  827. package/dist/esm/resources-667afb5d.js +27 -0
  828. package/dist/esm/resources-9b2084c6.js +24 -0
  829. package/dist/esm/resources-bb6c11c3.js +49 -0
  830. package/dist/esm/ro-f87076a1.js +65 -0
  831. package/dist/esm/ru-e69ca895.js +125 -0
  832. package/dist/esm/shadow-css-f5236d52.js +481 -0
  833. package/dist/esm/share-item.entry.js +1 -1
  834. package/dist/esm/shared-list-render-a572ef93.js +348 -0
  835. package/dist/esm/sk-d632e850.js +147 -0
  836. package/dist/esm/sl-5099fa6f.js +167 -0
  837. package/dist/esm/solution-configuration.entry.js +9 -1093
  838. package/dist/esm/solution-contents.entry.js +80 -0
  839. package/dist/esm/solution-item-details.entry.js +195 -0
  840. package/dist/esm/solution-item-icon.entry.js +1 -1
  841. package/dist/esm/solution-item-sharing.entry.js +135 -0
  842. package/dist/esm/solution-item.entry.js +102 -0
  843. package/dist/esm/solution-organization-variables.entry.js +91 -0
  844. package/dist/esm/solution-resource-item.entry.js +280 -0
  845. package/dist/esm/solution-spatial-ref.entry.js +154 -0
  846. package/dist/esm/solution-store-31cccb90.js +587 -0
  847. package/dist/esm/solution-template-data.entry.js +115 -0
  848. package/dist/esm/solution-variables.entry.js +103 -0
  849. package/dist/esm/solutions-components.js +37 -6
  850. package/dist/esm/sortableComponent-e715a3dd.js +3439 -0
  851. package/dist/esm/spatial-ref.entry.js +7 -6
  852. package/dist/esm/sr-944b7fd7.js +100 -0
  853. package/dist/esm/store-194c1a01.js +87 -0
  854. package/dist/esm/store-manager.entry.js +1 -1
  855. package/dist/esm/sv-e481fa6a.js +70 -0
  856. package/dist/esm/t9n-b39c5433.js +98 -0
  857. package/dist/esm/th-60961669.js +64 -0
  858. package/dist/esm/time-4a90614b.js +274 -0
  859. package/dist/esm/tr-eba8dd86.js +65 -0
  860. package/dist/esm/uk-ec375ce0.js +103 -0
  861. package/dist/esm/utils-32df4a1e.js +133 -0
  862. package/dist/esm/utils-57e2ccde.js +61 -0
  863. package/dist/esm/{utils-28d0a086.js → utils-78fe6e5b.js} +1 -1
  864. package/dist/esm/utils-7db4ecdc.js +100 -0
  865. package/dist/esm/utils-95e9dd51.js +55 -0
  866. package/dist/esm/utils-cfbe589a.js +208 -0
  867. package/dist/esm/vi-29345f79.js +69 -0
  868. package/dist/esm/zh-cn-32c7c714.js +93 -0
  869. package/dist/esm/zh-hk-7c770845.js +70 -0
  870. package/dist/esm/zh-tw-c318be5c.js +91 -0
  871. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +1 -1
  872. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-scoreboard/instant-apps-scoreboard.css +1 -1
  873. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-social-share/instant-apps-social-share.css +8 -1
  874. package/dist/solutions-components/ExpandToggle-22fd2faa.js +110 -0
  875. package/dist/solutions-components/FloatingArrow-de6fd1c7.js +48 -0
  876. package/dist/solutions-components/Heading-f003a141.js +22 -0
  877. package/dist/solutions-components/InitiativeUiSchemaEdit-8ddacfe8.js +26 -0
  878. package/dist/solutions-components/ProjectUiSchemaCreate-dd179c0f.js +124 -0
  879. package/dist/solutions-components/ProjectUiSchemaEdit-fbfdf6e4.js +176 -0
  880. package/dist/solutions-components/Validation-59a77488.js +18 -0
  881. package/dist/solutions-components/_commonjsHelpers-3cd6d4ee.js +49 -0
  882. package/dist/solutions-components/app-globals-928553ab.js +67 -0
  883. package/dist/solutions-components/ar-75ffdabb.js +103 -0
  884. package/dist/solutions-components/arcgis-login.entry.js +56 -0
  885. package/dist/solutions-components/array-396bdf3c.js +15 -0
  886. package/dist/solutions-components/basemap-gallery.entry.js +117 -0
  887. package/dist/solutions-components/bg-fac0bf10.js +81 -0
  888. package/dist/solutions-components/breakpoints-f0f1417d.js +15 -0
  889. package/dist/solutions-components/browser-b8d08bed.js +26 -0
  890. package/dist/solutions-components/bs-c03c8ef2.js +50 -0
  891. package/dist/solutions-components/buffer-tools.entry.js +253 -0
  892. package/dist/solutions-components/ca-29e49f82.js +70 -0
  893. package/dist/solutions-components/calcite-accordion-item.entry.js +176 -0
  894. package/dist/solutions-components/calcite-accordion.entry.js +81 -0
  895. package/dist/solutions-components/calcite-action-bar.entry.js +252 -0
  896. package/dist/solutions-components/calcite-action-group.entry.js +112 -0
  897. package/dist/solutions-components/calcite-action-menu.entry.js +291 -0
  898. package/dist/solutions-components/calcite-action-pad.entry.js +165 -0
  899. package/dist/solutions-components/calcite-action.entry.js +184 -0
  900. package/dist/solutions-components/calcite-alert.entry.js +318 -0
  901. package/dist/solutions-components/calcite-avatar.entry.js +146 -0
  902. package/dist/solutions-components/calcite-block-section.entry.js +162 -0
  903. package/dist/solutions-components/calcite-block.entry.js +210 -0
  904. package/dist/solutions-components/calcite-button.entry.js +227 -0
  905. package/dist/solutions-components/calcite-card.entry.js +132 -0
  906. package/dist/solutions-components/calcite-checkbox.entry.js +134 -0
  907. package/dist/solutions-components/calcite-chip-group.entry.js +175 -0
  908. package/dist/solutions-components/calcite-chip.entry.js +258 -0
  909. package/dist/solutions-components/calcite-color-picker-hex-input.entry.js +270 -0
  910. package/dist/solutions-components/calcite-color-picker-swatch.entry.js +95 -0
  911. package/dist/solutions-components/calcite-color-picker.entry.js +906 -0
  912. package/dist/solutions-components/calcite-combobox-item-group.entry.js +56 -0
  913. package/dist/solutions-components/calcite-combobox-item.entry.js +141 -0
  914. package/dist/solutions-components/calcite-combobox.entry.js +1427 -0
  915. package/dist/solutions-components/calcite-date-picker-day.entry.js +93 -0
  916. package/dist/solutions-components/calcite-date-picker-month-header.entry.js +203 -0
  917. package/dist/solutions-components/calcite-date-picker-month.entry.js +358 -0
  918. package/dist/solutions-components/calcite-date-picker.entry.js +456 -0
  919. package/dist/solutions-components/calcite-dropdown-group.entry.js +81 -0
  920. package/dist/solutions-components/calcite-dropdown-item.entry.js +184 -0
  921. package/dist/solutions-components/calcite-dropdown.entry.js +426 -0
  922. package/dist/solutions-components/calcite-fab.entry.js +90 -0
  923. package/dist/solutions-components/calcite-filter.entry.js +175 -0
  924. package/dist/solutions-components/calcite-flow-item.entry.js +194 -0
  925. package/dist/solutions-components/calcite-flow.entry.js +149 -0
  926. package/dist/solutions-components/calcite-graph.entry.js +222 -0
  927. package/dist/solutions-components/calcite-handle.entry.js +200 -0
  928. package/dist/solutions-components/calcite-icon.entry.js +179 -0
  929. package/dist/solutions-components/calcite-inline-editable.entry.js +253 -0
  930. package/dist/solutions-components/calcite-input-date-picker.entry.js +740 -0
  931. package/dist/solutions-components/calcite-input-message.entry.js +66 -0
  932. package/dist/solutions-components/calcite-input-number.entry.js +610 -0
  933. package/dist/solutions-components/calcite-input-text.entry.js +349 -0
  934. package/dist/solutions-components/calcite-input-time-picker-e5cd4d26.js +1851 -0
  935. package/dist/solutions-components/calcite-input-time-picker.entry.js +25 -0
  936. package/dist/solutions-components/calcite-input-time-zone.entry.js +332 -0
  937. package/dist/solutions-components/calcite-input.entry.js +691 -0
  938. package/dist/solutions-components/calcite-label.entry.js +67 -0
  939. package/dist/solutions-components/calcite-link.entry.js +108 -0
  940. package/dist/solutions-components/calcite-list-item-group.entry.js +69 -0
  941. package/dist/solutions-components/calcite-list-item.entry.js +450 -0
  942. package/dist/solutions-components/calcite-list.entry.js +563 -0
  943. package/dist/solutions-components/calcite-loader.entry.js +76 -0
  944. package/dist/solutions-components/calcite-menu-item.entry.js +281 -0
  945. package/dist/solutions-components/calcite-menu.entry.js +180 -0
  946. package/dist/solutions-components/calcite-meter.entry.js +332 -0
  947. package/dist/solutions-components/calcite-modal.entry.js +394 -0
  948. package/dist/solutions-components/calcite-navigation-logo.entry.js +84 -0
  949. package/dist/solutions-components/calcite-navigation-user.entry.js +68 -0
  950. package/dist/solutions-components/calcite-navigation.entry.js +166 -0
  951. package/dist/solutions-components/calcite-notice.entry.js +163 -0
  952. package/dist/solutions-components/calcite-option-group.entry.js +35 -0
  953. package/dist/solutions-components/calcite-option.entry.js +84 -0
  954. package/dist/solutions-components/calcite-pagination.entry.js +554 -0
  955. package/dist/solutions-components/calcite-panel.entry.js +266 -0
  956. package/dist/solutions-components/calcite-pick-list-group.entry.js +57 -0
  957. package/dist/solutions-components/calcite-pick-list-item.entry.js +193 -0
  958. package/dist/solutions-components/calcite-pick-list.entry.js +142 -0
  959. package/dist/solutions-components/calcite-popover.entry.js +414 -0
  960. package/dist/solutions-components/calcite-progress.entry.js +37 -0
  961. package/dist/solutions-components/calcite-radio-button-group.entry.js +141 -0
  962. package/dist/solutions-components/calcite-radio-button.entry.js +318 -0
  963. package/dist/solutions-components/calcite-rating.entry.js +261 -0
  964. package/dist/solutions-components/calcite-scrim.entry.js +121 -0
  965. package/dist/solutions-components/calcite-segmented-control-item.entry.js +66 -0
  966. package/dist/solutions-components/calcite-segmented-control.entry.js +241 -0
  967. package/dist/solutions-components/calcite-select.entry.js +231 -0
  968. package/dist/solutions-components/calcite-sheet.entry.js +223 -0
  969. package/dist/solutions-components/calcite-shell-center-row.entry.js +66 -0
  970. package/dist/solutions-components/calcite-shell-panel.entry.js +410 -0
  971. package/dist/solutions-components/calcite-shell.entry.js +170 -0
  972. package/dist/solutions-components/calcite-slider.entry.js +840 -0
  973. package/dist/solutions-components/calcite-sortable-list.entry.js +166 -0
  974. package/dist/solutions-components/calcite-split-button.entry.js +112 -0
  975. package/dist/solutions-components/calcite-stack.entry.js +70 -0
  976. package/dist/solutions-components/calcite-stepper-item.entry.js +238 -0
  977. package/dist/solutions-components/calcite-stepper.entry.js +377 -0
  978. package/dist/solutions-components/calcite-switch.entry.js +113 -0
  979. package/dist/solutions-components/calcite-tab-nav.entry.js +259 -0
  980. package/dist/solutions-components/calcite-tab-title.entry.js +287 -0
  981. package/dist/solutions-components/calcite-tab.entry.js +108 -0
  982. package/dist/solutions-components/calcite-table-cell.entry.js +152 -0
  983. package/dist/solutions-components/calcite-table-header.entry.js +165 -0
  984. package/dist/solutions-components/calcite-table-row.entry.js +244 -0
  985. package/dist/solutions-components/calcite-table.entry.js +314 -0
  986. package/dist/solutions-components/calcite-tabs.entry.js +174 -0
  987. package/dist/solutions-components/calcite-text-area.entry.js +276 -0
  988. package/dist/solutions-components/calcite-tile-select-group.entry.js +39 -0
  989. package/dist/solutions-components/calcite-tile-select.entry.js +225 -0
  990. package/dist/solutions-components/calcite-tile.entry.js +75 -0
  991. package/dist/solutions-components/calcite-time-picker.entry.js +839 -0
  992. package/dist/solutions-components/calcite-tip-group.entry.js +21 -0
  993. package/dist/solutions-components/calcite-tip-manager.entry.js +227 -0
  994. package/dist/solutions-components/calcite-tip.entry.js +126 -0
  995. package/dist/solutions-components/calcite-tooltip.entry.js +434 -0
  996. package/dist/solutions-components/calcite-tree-item.entry.js +292 -0
  997. package/dist/solutions-components/calcite-tree.entry.js +311 -0
  998. package/dist/solutions-components/calcite-value-list-item.entry.js +153 -0
  999. package/dist/solutions-components/calcite-value-list.entry.js +322 -0
  1000. package/dist/solutions-components/card-manager.entry.js +103 -0
  1001. package/dist/solutions-components/common-7e0dcaa2.js +295 -0
  1002. package/dist/solutions-components/component-edd2c3cd.js +30 -0
  1003. package/dist/solutions-components/conditionalSlot-a395417e.js +60 -0
  1004. package/dist/solutions-components/consent-manager.entry.js +2139 -0
  1005. package/dist/solutions-components/create-feature.entry.js +259 -0
  1006. package/dist/solutions-components/crowdsource-manager.entry.js +494 -0
  1007. package/dist/solutions-components/crowdsource-reporter.entry.js +557 -0
  1008. package/dist/solutions-components/cs-04f36d01.js +146 -0
  1009. package/dist/solutions-components/da-5a3b8600.js +65 -0
  1010. package/dist/solutions-components/date-74c7f03b.js +245 -0
  1011. package/dist/solutions-components/de-579cda2e.js +90 -0
  1012. package/dist/solutions-components/de-at-52bf1c4c.js +89 -0
  1013. package/dist/solutions-components/de-ch-12d03480.js +89 -0
  1014. package/dist/solutions-components/deduct-calculator.entry.js +101 -0
  1015. package/dist/solutions-components/delete-button.entry.js +146 -0
  1016. package/dist/solutions-components/dom-b91aa537.js +1083 -0
  1017. package/dist/solutions-components/downloadUtils-b3220f86.js +4240 -0
  1018. package/dist/solutions-components/edit-card.entry.js +224 -0
  1019. package/dist/solutions-components/el-c18d3ea4.js +65 -0
  1020. package/dist/solutions-components/en-au-2599e6da.js +65 -0
  1021. package/dist/solutions-components/en-ca-8cfbe6bc.js +64 -0
  1022. package/dist/solutions-components/en-gb-5e4e8a1e.js +68 -0
  1023. package/dist/solutions-components/es-d86f9957.js +65 -0
  1024. package/dist/solutions-components/es-mx-f99d9fd1.js +64 -0
  1025. package/dist/solutions-components/esri-loader-af2bbfd5.js +306 -0
  1026. package/dist/solutions-components/et-8bf52e57.js +91 -0
  1027. package/dist/solutions-components/feature-comments.entry.js +56 -0
  1028. package/dist/solutions-components/feature-form-flow-item.entry.js +56 -0
  1029. package/dist/solutions-components/feature-list.entry.js +195 -0
  1030. package/dist/solutions-components/features-flow-item.entry.js +56 -0
  1031. package/dist/solutions-components/fi-aeb49e52.js +114 -0
  1032. package/dist/solutions-components/filter-0d00d2e2.js +46 -0
  1033. package/dist/solutions-components/floating-ui-b3256614.js +2342 -0
  1034. package/dist/solutions-components/floor-filter.entry.js +107 -0
  1035. package/dist/solutions-components/focusTrapComponent-2fe6623b.js +1023 -0
  1036. package/dist/solutions-components/form-f2181470.js +307 -0
  1037. package/dist/solutions-components/fr-6200cc01.js +67 -0
  1038. package/dist/solutions-components/fr-ch-df62bb30.js +65 -0
  1039. package/dist/solutions-components/guid-b75a5f7b.js +24 -0
  1040. package/dist/solutions-components/he-07ace6cb.js +104 -0
  1041. package/dist/solutions-components/helpers-85ca7251.js +807 -0
  1042. package/dist/solutions-components/hi-5aa9519e.js +64 -0
  1043. package/dist/solutions-components/hr-e0614bed.js +79 -0
  1044. package/dist/solutions-components/html2canvas-d52e7c8d.js +7845 -0
  1045. package/dist/solutions-components/hu-732fe37c.js +87 -0
  1046. package/dist/solutions-components/id-0832fc24.js +65 -0
  1047. package/dist/solutions-components/index-5110a27a.js +71 -0
  1048. package/dist/solutions-components/index-7fc1cba9.js +41502 -0
  1049. package/dist/solutions-components/index-91eeaf01.js +199 -0
  1050. package/dist/solutions-components/index-a1e91462.js +2105 -0
  1051. package/dist/solutions-components/index-b1fb529b.js +1956 -0
  1052. package/dist/solutions-components/index-bdfaac50.js +4145 -0
  1053. package/dist/solutions-components/index-d8ff08ed.js +204 -0
  1054. package/dist/solutions-components/index.es-3db60115.js +11256 -0
  1055. package/dist/solutions-components/index.esm.js +15 -0
  1056. package/dist/solutions-components/info-card.entry.js +316 -0
  1057. package/dist/solutions-components/instant-apps-ckeditor-wrapper.entry.js +121 -0
  1058. package/dist/solutions-components/instant-apps-control-panel.entry.js +94 -0
  1059. package/dist/solutions-components/instant-apps-export.entry.js +888 -0
  1060. package/dist/solutions-components/instant-apps-filter-list.entry.js +1055 -0
  1061. package/dist/solutions-components/instant-apps-header.entry.js +124 -0
  1062. package/dist/solutions-components/instant-apps-interactive-legend-classic.entry.js +1604 -0
  1063. package/dist/solutions-components/instant-apps-interactive-legend-count.entry.js +100 -0
  1064. package/dist/solutions-components/instant-apps-interactive-legend-group-legend-element-caption.entry.js +53 -0
  1065. package/dist/solutions-components/instant-apps-interactive-legend-group-legend-element.entry.js +52 -0
  1066. package/dist/solutions-components/instant-apps-interactive-legend-layer-element-caption.entry.js +51 -0
  1067. package/dist/solutions-components/instant-apps-interactive-legend-layer-element.entry.js +53 -0
  1068. package/dist/solutions-components/instant-apps-interactive-legend-legend-element-caption.entry.js +100 -0
  1069. package/dist/solutions-components/instant-apps-interactive-legend-legend-element.entry.js +61 -0
  1070. package/dist/solutions-components/instant-apps-interactive-legend-relationship.entry.js +548 -0
  1071. package/dist/solutions-components/instant-apps-interactive-legend.entry.js +112 -0
  1072. package/dist/solutions-components/instant-apps-keyboard-shortcuts.entry.js +139 -0
  1073. package/dist/solutions-components/instant-apps-landing-page.entry.js +114 -0
  1074. package/dist/solutions-components/instant-apps-language-switcher.entry.js +173 -0
  1075. package/dist/solutions-components/instant-apps-language-translator-item.entry.js +380 -0
  1076. package/dist/solutions-components/instant-apps-language-translator-search.entry.js +101 -0
  1077. package/dist/solutions-components/instant-apps-language-translator.entry.js +286 -0
  1078. package/dist/solutions-components/instant-apps-measurement-tool.entry.js +135 -0
  1079. package/dist/solutions-components/instant-apps-measurement.entry.js +66 -0
  1080. package/dist/solutions-components/instant-apps-popover.entry.js +74 -0
  1081. package/dist/solutions-components/instant-apps-popovers.entry.js +88 -0
  1082. package/dist/solutions-components/instant-apps-scoreboard.entry.js +463 -0
  1083. package/dist/solutions-components/instant-apps-social-share.entry.js +511 -0
  1084. package/dist/solutions-components/instant-apps-splash.entry.js +144 -0
  1085. package/dist/solutions-components/interactive-71585ecc.js +139 -0
  1086. package/dist/solutions-components/interfaces-586e863c.js +80 -0
  1087. package/dist/solutions-components/it-142bc820.js +65 -0
  1088. package/dist/solutions-components/it-ch-1ad1f0ac.js +65 -0
  1089. package/dist/solutions-components/ja-6a33e9d4.js +71 -0
  1090. package/dist/solutions-components/json-editor.entry.js +402 -0
  1091. package/dist/solutions-components/key-9a10d862.js +44 -0
  1092. package/dist/solutions-components/ko-d61df01d.js +71 -0
  1093. package/dist/solutions-components/label-16184ce7.js +179 -0
  1094. package/dist/solutions-components/languageSwitcher-2a9037e5.js +55 -0
  1095. package/dist/solutions-components/languageUtil-71a7a914.js +87 -0
  1096. package/dist/solutions-components/layer-list.entry.js +203 -0
  1097. package/dist/solutions-components/layer-table.entry.js +1483 -0
  1098. package/dist/solutions-components/layout-manager.entry.js +91 -0
  1099. package/dist/solutions-components/list-flow-item.entry.js +56 -0
  1100. package/dist/solutions-components/loadModules-827c5581.js +28 -0
  1101. package/dist/solutions-components/loadModules-acccbc1c.js +21 -0
  1102. package/dist/solutions-components/loadable-aea90723.js +92 -0
  1103. package/dist/solutions-components/locale-4cfbae3e.js +86 -0
  1104. package/dist/solutions-components/locale-857f39cf.js +572 -0
  1105. package/dist/solutions-components/locale-d9463a95.js +148 -0
  1106. package/dist/solutions-components/location-flow-item.entry.js +56 -0
  1107. package/dist/solutions-components/lodash-98e4b7d0.js +18025 -0
  1108. package/dist/solutions-components/lt-652c530a.js +96 -0
  1109. package/dist/solutions-components/lv-84e48ed0.js +65 -0
  1110. package/dist/solutions-components/map-card.entry.js +188 -0
  1111. package/dist/solutions-components/map-draw-tools.entry.js +354 -0
  1112. package/dist/solutions-components/map-fullscreen.entry.js +112 -0
  1113. package/dist/solutions-components/map-layer-picker.entry.js +342 -0
  1114. package/dist/solutions-components/map-legend.entry.js +105 -0
  1115. package/dist/solutions-components/map-picker.entry.js +170 -0
  1116. package/dist/solutions-components/map-search.entry.js +180 -0
  1117. package/dist/solutions-components/map-select-tools.entry.js +794 -0
  1118. package/dist/solutions-components/map-tools.entry.js +371 -0
  1119. package/dist/solutions-components/mapViewUtils-436a516e.js +261 -0
  1120. package/dist/solutions-components/math-efada7a9.js +54 -0
  1121. package/dist/solutions-components/mk-bbf2ee01.js +65 -0
  1122. package/dist/solutions-components/mode-f9bfc4e9.js +25 -0
  1123. package/dist/solutions-components/nb-ccfaa0f7.js +66 -0
  1124. package/dist/solutions-components/nl-4bc56289.js +66 -0
  1125. package/dist/solutions-components/observers-5ba39eee.js +56 -0
  1126. package/dist/solutions-components/openCloseComponent-b4b3788b.js +138 -0
  1127. package/dist/solutions-components/{p-a455c3f0.entry.js → p-00524417.entry.js} +1 -1
  1128. package/dist/solutions-components/{p-52b37bad.entry.js → p-04dbc667.entry.js} +1 -1
  1129. package/dist/solutions-components/{p-8e9f96db.js → p-12a7d0d1.js} +1 -1
  1130. package/dist/solutions-components/{p-a7b7f8d1.js → p-15a0e7fb.js} +1 -1
  1131. package/dist/solutions-components/p-2d72eac3.entry.js +6 -0
  1132. package/dist/solutions-components/{p-a2544cba.entry.js → p-30edeb79.entry.js} +1 -1
  1133. package/dist/solutions-components/{p-220c46c2.entry.js → p-3a6a1ce9.entry.js} +1 -1
  1134. package/dist/solutions-components/{p-a59078ee.entry.js → p-3b9e4882.entry.js} +1 -1
  1135. package/dist/solutions-components/{p-8ad937b4.entry.js → p-465aa7d9.entry.js} +1 -1
  1136. package/dist/solutions-components/p-4dcc150d.entry.js +6 -0
  1137. package/dist/solutions-components/{p-1bca71bf.entry.js → p-4efd2af6.entry.js} +1 -1
  1138. package/dist/solutions-components/{p-5a28d60c.entry.js → p-5320dc25.entry.js} +1 -1
  1139. package/dist/solutions-components/{p-015a45e2.entry.js → p-53ef8adf.entry.js} +1 -1
  1140. package/dist/solutions-components/{p-0d72a9ca.entry.js → p-5f6e7429.entry.js} +1 -1
  1141. package/dist/solutions-components/{p-0f427774.entry.js → p-607773a3.entry.js} +1 -1
  1142. package/dist/solutions-components/{p-2e7a9b9b.entry.js → p-88932d2f.entry.js} +2 -2
  1143. package/dist/solutions-components/{p-b41e2c4c.js → p-8910dc99.js} +10 -10
  1144. package/dist/solutions-components/{p-104f07e3.entry.js → p-954dc86f.entry.js} +1 -1
  1145. package/dist/solutions-components/{p-c302bbea.entry.js → p-a3132356.entry.js} +1 -1
  1146. package/dist/solutions-components/{p-c10b44ee.entry.js → p-a886ab7f.entry.js} +1 -1
  1147. package/dist/solutions-components/{p-03037cf9.js → p-ad98c346.js} +1 -1
  1148. package/dist/solutions-components/{p-734d1dc5.js → p-b4913a01.js} +1 -1
  1149. package/dist/solutions-components/{p-03a65871.entry.js → p-bf6b4eb7.entry.js} +1 -1
  1150. package/dist/solutions-components/{p-09801ba6.entry.js → p-c4ff3b52.entry.js} +3 -3
  1151. package/dist/solutions-components/p-d599cfa8.entry.js +6 -0
  1152. package/dist/solutions-components/{p-cfe890f6.entry.js → p-f313b45b.entry.js} +1 -1
  1153. package/dist/solutions-components/{p-aec4441b.entry.js → p-fc1367d9.entry.js} +1 -1
  1154. package/dist/solutions-components/{p-07626c45.js → p-fc2fb61b.js} +1 -1
  1155. package/dist/solutions-components/parser-87982ce2.js +1654 -0
  1156. package/dist/solutions-components/pci-calculator.entry.js +113 -0
  1157. package/dist/solutions-components/pciUtils-73d4b6b4.js +844 -0
  1158. package/dist/solutions-components/pdf-download.entry.js +355 -0
  1159. package/dist/solutions-components/pl-1f435988.js +113 -0
  1160. package/dist/solutions-components/popupUtils-b61d7ffd.js +94 -0
  1161. package/dist/solutions-components/pt-4a05a00d.js +66 -0
  1162. package/dist/solutions-components/pt-br-9720547b.js +64 -0
  1163. package/dist/solutions-components/public-notification.entry.js +886 -0
  1164. package/dist/solutions-components/publicNotificationStore-208e26f0.js +45 -0
  1165. package/dist/solutions-components/purify-909c20fa.js +1713 -0
  1166. package/dist/solutions-components/queryUtils-2529c537.js +244 -0
  1167. package/dist/solutions-components/refine-results-flow-item.entry.js +56 -0
  1168. package/dist/solutions-components/refine-selection.entry.js +407 -0
  1169. package/dist/solutions-components/resources-0f8db821.js +45 -0
  1170. package/dist/solutions-components/resources-20074cb1.js +24 -0
  1171. package/dist/solutions-components/resources-3709252d.js +35 -0
  1172. package/dist/solutions-components/resources-3c6947d3.js +26 -0
  1173. package/dist/solutions-components/resources-47b3ca40.js +106 -0
  1174. package/dist/solutions-components/resources-667afb5d.js +27 -0
  1175. package/dist/solutions-components/resources-88a48c5c.js +20 -0
  1176. package/dist/solutions-components/resources-9b2084c6.js +24 -0
  1177. package/dist/solutions-components/resources-9b7e72d5.js +20 -0
  1178. package/dist/solutions-components/resources-b0e2b809.js +22 -0
  1179. package/dist/solutions-components/resources-bb6c11c3.js +49 -0
  1180. package/dist/solutions-components/ro-f87076a1.js +65 -0
  1181. package/dist/solutions-components/ru-e69ca895.js +125 -0
  1182. package/dist/solutions-components/shadow-css-f5236d52.js +481 -0
  1183. package/dist/solutions-components/share-item.entry.js +56 -0
  1184. package/dist/solutions-components/shared-list-render-a572ef93.js +348 -0
  1185. package/dist/solutions-components/sk-d632e850.js +147 -0
  1186. package/dist/solutions-components/sl-5099fa6f.js +167 -0
  1187. package/dist/solutions-components/solution-configuration.entry.js +906 -0
  1188. package/dist/solutions-components/solution-contents.entry.js +80 -0
  1189. package/dist/solutions-components/solution-item-details.entry.js +195 -0
  1190. package/dist/solutions-components/solution-item-icon.entry.js +323 -0
  1191. package/dist/solutions-components/solution-item-sharing.entry.js +135 -0
  1192. package/dist/solutions-components/solution-item.entry.js +102 -0
  1193. package/dist/solutions-components/solution-organization-variables.entry.js +91 -0
  1194. package/dist/solutions-components/solution-resource-item.entry.js +280 -0
  1195. package/dist/solutions-components/solution-spatial-ref.entry.js +154 -0
  1196. package/dist/solutions-components/solution-store-31cccb90.js +587 -0
  1197. package/dist/solutions-components/solution-template-data.entry.js +115 -0
  1198. package/dist/solutions-components/solution-variables.entry.js +103 -0
  1199. package/dist/solutions-components/solutions-components.css +84 -1
  1200. package/dist/solutions-components/solutions-components.esm.js +52 -1
  1201. package/dist/solutions-components/sortableComponent-e715a3dd.js +3439 -0
  1202. package/dist/solutions-components/spatial-ref.entry.js +21296 -0
  1203. package/dist/solutions-components/sr-944b7fd7.js +100 -0
  1204. package/dist/solutions-components/store-194c1a01.js +87 -0
  1205. package/dist/solutions-components/store-manager.entry.js +61 -0
  1206. package/dist/solutions-components/styles-367380b5.js +11 -0
  1207. package/dist/solutions-components/sv-e481fa6a.js +70 -0
  1208. package/dist/solutions-components/t9n-b39c5433.js +98 -0
  1209. package/dist/solutions-components/th-60961669.js +64 -0
  1210. package/dist/solutions-components/time-4a90614b.js +274 -0
  1211. package/dist/solutions-components/tr-eba8dd86.js +65 -0
  1212. package/dist/solutions-components/uk-ec375ce0.js +103 -0
  1213. package/dist/solutions-components/utils/downloadUtils.ts +44 -5
  1214. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +40 -1
  1215. package/dist/solutions-components/utils-32df4a1e.js +133 -0
  1216. package/dist/solutions-components/utils-57e2ccde.js +61 -0
  1217. package/dist/solutions-components/utils-7db4ecdc.js +100 -0
  1218. package/dist/solutions-components/utils-95e9dd51.js +55 -0
  1219. package/dist/solutions-components/utils-cfbe589a.js +208 -0
  1220. package/dist/solutions-components/vi-29345f79.js +69 -0
  1221. package/dist/solutions-components/zh-cn-32c7c714.js +93 -0
  1222. package/dist/solutions-components/zh-hk-7c770845.js +70 -0
  1223. package/dist/solutions-components/zh-tw-c318be5c.js +91 -0
  1224. package/dist/types/utils/downloadUtils.d.ts +18 -4
  1225. package/package.json +6 -6
  1226. package/dist/solutions-components/p-7d6ee026.entry.js +0 -6
  1227. package/dist/solutions-components/p-b80bc5b9.entry.js +0 -6
  1228. package/dist/solutions-components/p-dd45738e.entry.js +0 -6
  1229. /package/dist/solutions-components/{p-70359c2b.js → p-89218b6e.js} +0 -0
  1230. /package/dist/solutions-components/{p-090e0241.js → p-e85ba21c.js} +0 -0
@@ -0,0 +1,2350 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ 'use strict';
7
+
8
+ const index = require('./index-b53bfd7c.js');
9
+ const lodash = require('./lodash-7587da9f.js');
10
+ const dom = require('./dom-cf1e2e9f.js');
11
+
12
+ /**
13
+ * Custom positioning reference element.
14
+ * @see https://floating-ui.com/docs/virtual-elements
15
+ */
16
+
17
+ const sides = ['top', 'right', 'bottom', 'left'];
18
+ const alignments = ['start', 'end'];
19
+ const placements$1 = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
20
+ const min = Math.min;
21
+ const max = Math.max;
22
+ const round = Math.round;
23
+ const floor = Math.floor;
24
+ const createCoords = v => ({
25
+ x: v,
26
+ y: v
27
+ });
28
+ const oppositeSideMap = {
29
+ left: 'right',
30
+ right: 'left',
31
+ bottom: 'top',
32
+ top: 'bottom'
33
+ };
34
+ const oppositeAlignmentMap = {
35
+ start: 'end',
36
+ end: 'start'
37
+ };
38
+ function clamp(start, value, end) {
39
+ return max(start, min(value, end));
40
+ }
41
+ function evaluate(value, param) {
42
+ return typeof value === 'function' ? value(param) : value;
43
+ }
44
+ function getSide(placement) {
45
+ return placement.split('-')[0];
46
+ }
47
+ function getAlignment(placement) {
48
+ return placement.split('-')[1];
49
+ }
50
+ function getOppositeAxis(axis) {
51
+ return axis === 'x' ? 'y' : 'x';
52
+ }
53
+ function getAxisLength(axis) {
54
+ return axis === 'y' ? 'height' : 'width';
55
+ }
56
+ function getSideAxis(placement) {
57
+ return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
58
+ }
59
+ function getAlignmentAxis(placement) {
60
+ return getOppositeAxis(getSideAxis(placement));
61
+ }
62
+ function getAlignmentSides(placement, rects, rtl) {
63
+ if (rtl === void 0) {
64
+ rtl = false;
65
+ }
66
+ const alignment = getAlignment(placement);
67
+ const alignmentAxis = getAlignmentAxis(placement);
68
+ const length = getAxisLength(alignmentAxis);
69
+ let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';
70
+ if (rects.reference[length] > rects.floating[length]) {
71
+ mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
72
+ }
73
+ return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
74
+ }
75
+ function getExpandedPlacements(placement) {
76
+ const oppositePlacement = getOppositePlacement(placement);
77
+ return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
78
+ }
79
+ function getOppositeAlignmentPlacement(placement) {
80
+ return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
81
+ }
82
+ function getSideList(side, isStart, rtl) {
83
+ const lr = ['left', 'right'];
84
+ const rl = ['right', 'left'];
85
+ const tb = ['top', 'bottom'];
86
+ const bt = ['bottom', 'top'];
87
+ switch (side) {
88
+ case 'top':
89
+ case 'bottom':
90
+ if (rtl) return isStart ? rl : lr;
91
+ return isStart ? lr : rl;
92
+ case 'left':
93
+ case 'right':
94
+ return isStart ? tb : bt;
95
+ default:
96
+ return [];
97
+ }
98
+ }
99
+ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
100
+ const alignment = getAlignment(placement);
101
+ let list = getSideList(getSide(placement), direction === 'start', rtl);
102
+ if (alignment) {
103
+ list = list.map(side => side + "-" + alignment);
104
+ if (flipAlignment) {
105
+ list = list.concat(list.map(getOppositeAlignmentPlacement));
106
+ }
107
+ }
108
+ return list;
109
+ }
110
+ function getOppositePlacement(placement) {
111
+ return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
112
+ }
113
+ function expandPaddingObject(padding) {
114
+ return {
115
+ top: 0,
116
+ right: 0,
117
+ bottom: 0,
118
+ left: 0,
119
+ ...padding
120
+ };
121
+ }
122
+ function getPaddingObject(padding) {
123
+ return typeof padding !== 'number' ? expandPaddingObject(padding) : {
124
+ top: padding,
125
+ right: padding,
126
+ bottom: padding,
127
+ left: padding
128
+ };
129
+ }
130
+ function rectToClientRect(rect) {
131
+ return {
132
+ ...rect,
133
+ top: rect.y,
134
+ left: rect.x,
135
+ right: rect.x + rect.width,
136
+ bottom: rect.y + rect.height
137
+ };
138
+ }
139
+
140
+ function computeCoordsFromPlacement(_ref, placement, rtl) {
141
+ let {
142
+ reference,
143
+ floating
144
+ } = _ref;
145
+ const sideAxis = getSideAxis(placement);
146
+ const alignmentAxis = getAlignmentAxis(placement);
147
+ const alignLength = getAxisLength(alignmentAxis);
148
+ const side = getSide(placement);
149
+ const isVertical = sideAxis === 'y';
150
+ const commonX = reference.x + reference.width / 2 - floating.width / 2;
151
+ const commonY = reference.y + reference.height / 2 - floating.height / 2;
152
+ const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
153
+ let coords;
154
+ switch (side) {
155
+ case 'top':
156
+ coords = {
157
+ x: commonX,
158
+ y: reference.y - floating.height
159
+ };
160
+ break;
161
+ case 'bottom':
162
+ coords = {
163
+ x: commonX,
164
+ y: reference.y + reference.height
165
+ };
166
+ break;
167
+ case 'right':
168
+ coords = {
169
+ x: reference.x + reference.width,
170
+ y: commonY
171
+ };
172
+ break;
173
+ case 'left':
174
+ coords = {
175
+ x: reference.x - floating.width,
176
+ y: commonY
177
+ };
178
+ break;
179
+ default:
180
+ coords = {
181
+ x: reference.x,
182
+ y: reference.y
183
+ };
184
+ }
185
+ switch (getAlignment(placement)) {
186
+ case 'start':
187
+ coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
188
+ break;
189
+ case 'end':
190
+ coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
191
+ break;
192
+ }
193
+ return coords;
194
+ }
195
+
196
+ /**
197
+ * Computes the `x` and `y` coordinates that will place the floating element
198
+ * next to a given reference element.
199
+ *
200
+ * This export does not have any `platform` interface logic. You will need to
201
+ * write one for the platform you are using Floating UI with.
202
+ */
203
+ const computePosition$1 = async (reference, floating, config) => {
204
+ const {
205
+ placement = 'bottom',
206
+ strategy = 'absolute',
207
+ middleware = [],
208
+ platform
209
+ } = config;
210
+ const validMiddleware = middleware.filter(Boolean);
211
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
212
+ let rects = await platform.getElementRects({
213
+ reference,
214
+ floating,
215
+ strategy
216
+ });
217
+ let {
218
+ x,
219
+ y
220
+ } = computeCoordsFromPlacement(rects, placement, rtl);
221
+ let statefulPlacement = placement;
222
+ let middlewareData = {};
223
+ let resetCount = 0;
224
+ for (let i = 0; i < validMiddleware.length; i++) {
225
+ const {
226
+ name,
227
+ fn
228
+ } = validMiddleware[i];
229
+ const {
230
+ x: nextX,
231
+ y: nextY,
232
+ data,
233
+ reset
234
+ } = await fn({
235
+ x,
236
+ y,
237
+ initialPlacement: placement,
238
+ placement: statefulPlacement,
239
+ strategy,
240
+ middlewareData,
241
+ rects,
242
+ platform,
243
+ elements: {
244
+ reference,
245
+ floating
246
+ }
247
+ });
248
+ x = nextX != null ? nextX : x;
249
+ y = nextY != null ? nextY : y;
250
+ middlewareData = {
251
+ ...middlewareData,
252
+ [name]: {
253
+ ...middlewareData[name],
254
+ ...data
255
+ }
256
+ };
257
+ if (reset && resetCount <= 50) {
258
+ resetCount++;
259
+ if (typeof reset === 'object') {
260
+ if (reset.placement) {
261
+ statefulPlacement = reset.placement;
262
+ }
263
+ if (reset.rects) {
264
+ rects = reset.rects === true ? await platform.getElementRects({
265
+ reference,
266
+ floating,
267
+ strategy
268
+ }) : reset.rects;
269
+ }
270
+ ({
271
+ x,
272
+ y
273
+ } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
274
+ }
275
+ i = -1;
276
+ }
277
+ }
278
+ return {
279
+ x,
280
+ y,
281
+ placement: statefulPlacement,
282
+ strategy,
283
+ middlewareData
284
+ };
285
+ };
286
+
287
+ /**
288
+ * Resolves with an object of overflow side offsets that determine how much the
289
+ * element is overflowing a given clipping boundary on each side.
290
+ * - positive = overflowing the boundary by that number of pixels
291
+ * - negative = how many pixels left before it will overflow
292
+ * - 0 = lies flush with the boundary
293
+ * @see https://floating-ui.com/docs/detectOverflow
294
+ */
295
+ async function detectOverflow(state, options) {
296
+ var _await$platform$isEle;
297
+ if (options === void 0) {
298
+ options = {};
299
+ }
300
+ const {
301
+ x,
302
+ y,
303
+ platform,
304
+ rects,
305
+ elements,
306
+ strategy
307
+ } = state;
308
+ const {
309
+ boundary = 'clippingAncestors',
310
+ rootBoundary = 'viewport',
311
+ elementContext = 'floating',
312
+ altBoundary = false,
313
+ padding = 0
314
+ } = evaluate(options, state);
315
+ const paddingObject = getPaddingObject(padding);
316
+ const altContext = elementContext === 'floating' ? 'reference' : 'floating';
317
+ const element = elements[altBoundary ? altContext : elementContext];
318
+ const clippingClientRect = rectToClientRect(await platform.getClippingRect({
319
+ element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),
320
+ boundary,
321
+ rootBoundary,
322
+ strategy
323
+ }));
324
+ const rect = elementContext === 'floating' ? {
325
+ ...rects.floating,
326
+ x,
327
+ y
328
+ } : rects.reference;
329
+ const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
330
+ const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
331
+ x: 1,
332
+ y: 1
333
+ } : {
334
+ x: 1,
335
+ y: 1
336
+ };
337
+ const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
338
+ elements,
339
+ rect,
340
+ offsetParent,
341
+ strategy
342
+ }) : rect);
343
+ return {
344
+ top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
345
+ bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
346
+ left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
347
+ right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
348
+ };
349
+ }
350
+
351
+ /**
352
+ * Provides data to position an inner element of the floating element so that it
353
+ * appears centered to the reference element.
354
+ * @see https://floating-ui.com/docs/arrow
355
+ */
356
+ const arrow$1 = options => ({
357
+ name: 'arrow',
358
+ options,
359
+ async fn(state) {
360
+ const {
361
+ x,
362
+ y,
363
+ placement,
364
+ rects,
365
+ platform,
366
+ elements,
367
+ middlewareData
368
+ } = state;
369
+ // Since `element` is required, we don't Partial<> the type.
370
+ const {
371
+ element,
372
+ padding = 0
373
+ } = evaluate(options, state) || {};
374
+ if (element == null) {
375
+ return {};
376
+ }
377
+ const paddingObject = getPaddingObject(padding);
378
+ const coords = {
379
+ x,
380
+ y
381
+ };
382
+ const axis = getAlignmentAxis(placement);
383
+ const length = getAxisLength(axis);
384
+ const arrowDimensions = await platform.getDimensions(element);
385
+ const isYAxis = axis === 'y';
386
+ const minProp = isYAxis ? 'top' : 'left';
387
+ const maxProp = isYAxis ? 'bottom' : 'right';
388
+ const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';
389
+ const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
390
+ const startDiff = coords[axis] - rects.reference[axis];
391
+ const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));
392
+ let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;
393
+
394
+ // DOM platform can return `window` as the `offsetParent`.
395
+ if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {
396
+ clientSize = elements.floating[clientProp] || rects.floating[length];
397
+ }
398
+ const centerToReference = endDiff / 2 - startDiff / 2;
399
+
400
+ // If the padding is large enough that it causes the arrow to no longer be
401
+ // centered, modify the padding so that it is centered.
402
+ const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
403
+ const minPadding = min(paddingObject[minProp], largestPossiblePadding);
404
+ const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);
405
+
406
+ // Make sure the arrow doesn't overflow the floating element if the center
407
+ // point is outside the floating element's bounds.
408
+ const min$1 = minPadding;
409
+ const max = clientSize - arrowDimensions[length] - maxPadding;
410
+ const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
411
+ const offset = clamp(min$1, center, max);
412
+
413
+ // If the reference is small enough that the arrow's padding causes it to
414
+ // to point to nothing for an aligned placement, adjust the offset of the
415
+ // floating element itself. To ensure `shift()` continues to take action,
416
+ // a single reset is performed when this is true.
417
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
418
+ const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
419
+ return {
420
+ [axis]: coords[axis] + alignmentOffset,
421
+ data: {
422
+ [axis]: offset,
423
+ centerOffset: center - offset - alignmentOffset,
424
+ ...(shouldAddOffset && {
425
+ alignmentOffset
426
+ })
427
+ },
428
+ reset: shouldAddOffset
429
+ };
430
+ }
431
+ });
432
+
433
+ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
434
+ const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);
435
+ return allowedPlacementsSortedByAlignment.filter(placement => {
436
+ if (alignment) {
437
+ return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);
438
+ }
439
+ return true;
440
+ });
441
+ }
442
+ /**
443
+ * Optimizes the visibility of the floating element by choosing the placement
444
+ * that has the most space available automatically, without needing to specify a
445
+ * preferred placement. Alternative to `flip`.
446
+ * @see https://floating-ui.com/docs/autoPlacement
447
+ */
448
+ const autoPlacement$1 = function (options) {
449
+ if (options === void 0) {
450
+ options = {};
451
+ }
452
+ return {
453
+ name: 'autoPlacement',
454
+ options,
455
+ async fn(state) {
456
+ var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;
457
+ const {
458
+ rects,
459
+ middlewareData,
460
+ placement,
461
+ platform,
462
+ elements
463
+ } = state;
464
+ const {
465
+ crossAxis = false,
466
+ alignment,
467
+ allowedPlacements = placements$1,
468
+ autoAlignment = true,
469
+ ...detectOverflowOptions
470
+ } = evaluate(options, state);
471
+ const placements$1$1 = alignment !== undefined || allowedPlacements === placements$1 ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
472
+ const overflow = await detectOverflow(state, detectOverflowOptions);
473
+ const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
474
+ const currentPlacement = placements$1$1[currentIndex];
475
+ if (currentPlacement == null) {
476
+ return {};
477
+ }
478
+ const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
479
+
480
+ // Make `computeCoords` start from the right place.
481
+ if (placement !== currentPlacement) {
482
+ return {
483
+ reset: {
484
+ placement: placements$1$1[0]
485
+ }
486
+ };
487
+ }
488
+ const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
489
+ const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {
490
+ placement: currentPlacement,
491
+ overflows: currentOverflows
492
+ }];
493
+ const nextPlacement = placements$1$1[currentIndex + 1];
494
+
495
+ // There are more placements to check.
496
+ if (nextPlacement) {
497
+ return {
498
+ data: {
499
+ index: currentIndex + 1,
500
+ overflows: allOverflows
501
+ },
502
+ reset: {
503
+ placement: nextPlacement
504
+ }
505
+ };
506
+ }
507
+ const placementsSortedByMostSpace = allOverflows.map(d => {
508
+ const alignment = getAlignment(d.placement);
509
+ return [d.placement, alignment && crossAxis ?
510
+ // Check along the mainAxis and main crossAxis side.
511
+ d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :
512
+ // Check only the mainAxis.
513
+ d.overflows[0], d.overflows];
514
+ }).sort((a, b) => a[1] - b[1]);
515
+ const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,
516
+ // Aligned placements should not check their opposite crossAxis
517
+ // side.
518
+ getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
519
+ const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
520
+ if (resetPlacement !== placement) {
521
+ return {
522
+ data: {
523
+ index: currentIndex + 1,
524
+ overflows: allOverflows
525
+ },
526
+ reset: {
527
+ placement: resetPlacement
528
+ }
529
+ };
530
+ }
531
+ return {};
532
+ }
533
+ };
534
+ };
535
+
536
+ /**
537
+ * Optimizes the visibility of the floating element by flipping the `placement`
538
+ * in order to keep it in view when the preferred placement(s) will overflow the
539
+ * clipping boundary. Alternative to `autoPlacement`.
540
+ * @see https://floating-ui.com/docs/flip
541
+ */
542
+ const flip$1 = function (options) {
543
+ if (options === void 0) {
544
+ options = {};
545
+ }
546
+ return {
547
+ name: 'flip',
548
+ options,
549
+ async fn(state) {
550
+ var _middlewareData$arrow, _middlewareData$flip;
551
+ const {
552
+ placement,
553
+ middlewareData,
554
+ rects,
555
+ initialPlacement,
556
+ platform,
557
+ elements
558
+ } = state;
559
+ const {
560
+ mainAxis: checkMainAxis = true,
561
+ crossAxis: checkCrossAxis = true,
562
+ fallbackPlacements: specifiedFallbackPlacements,
563
+ fallbackStrategy = 'bestFit',
564
+ fallbackAxisSideDirection = 'none',
565
+ flipAlignment = true,
566
+ ...detectOverflowOptions
567
+ } = evaluate(options, state);
568
+
569
+ // If a reset by the arrow was caused due to an alignment offset being
570
+ // added, we should skip any logic now since `flip()` has already done its
571
+ // work.
572
+ // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643
573
+ if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
574
+ return {};
575
+ }
576
+ const side = getSide(placement);
577
+ const isBasePlacement = getSide(initialPlacement) === initialPlacement;
578
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
579
+ const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
580
+ if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {
581
+ fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
582
+ }
583
+ const placements = [initialPlacement, ...fallbackPlacements];
584
+ const overflow = await detectOverflow(state, detectOverflowOptions);
585
+ const overflows = [];
586
+ let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
587
+ if (checkMainAxis) {
588
+ overflows.push(overflow[side]);
589
+ }
590
+ if (checkCrossAxis) {
591
+ const sides = getAlignmentSides(placement, rects, rtl);
592
+ overflows.push(overflow[sides[0]], overflow[sides[1]]);
593
+ }
594
+ overflowsData = [...overflowsData, {
595
+ placement,
596
+ overflows
597
+ }];
598
+
599
+ // One or more sides is overflowing.
600
+ if (!overflows.every(side => side <= 0)) {
601
+ var _middlewareData$flip2, _overflowsData$filter;
602
+ const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
603
+ const nextPlacement = placements[nextIndex];
604
+ if (nextPlacement) {
605
+ // Try next placement and re-run the lifecycle.
606
+ return {
607
+ data: {
608
+ index: nextIndex,
609
+ overflows: overflowsData
610
+ },
611
+ reset: {
612
+ placement: nextPlacement
613
+ }
614
+ };
615
+ }
616
+
617
+ // First, find the candidates that fit on the mainAxis side of overflow,
618
+ // then find the placement that fits the best on the main crossAxis side.
619
+ let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
620
+
621
+ // Otherwise fallback.
622
+ if (!resetPlacement) {
623
+ switch (fallbackStrategy) {
624
+ case 'bestFit':
625
+ {
626
+ var _overflowsData$map$so;
627
+ const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];
628
+ if (placement) {
629
+ resetPlacement = placement;
630
+ }
631
+ break;
632
+ }
633
+ case 'initialPlacement':
634
+ resetPlacement = initialPlacement;
635
+ break;
636
+ }
637
+ }
638
+ if (placement !== resetPlacement) {
639
+ return {
640
+ reset: {
641
+ placement: resetPlacement
642
+ }
643
+ };
644
+ }
645
+ }
646
+ return {};
647
+ }
648
+ };
649
+ };
650
+
651
+ function getSideOffsets(overflow, rect) {
652
+ return {
653
+ top: overflow.top - rect.height,
654
+ right: overflow.right - rect.width,
655
+ bottom: overflow.bottom - rect.height,
656
+ left: overflow.left - rect.width
657
+ };
658
+ }
659
+ function isAnySideFullyClipped(overflow) {
660
+ return sides.some(side => overflow[side] >= 0);
661
+ }
662
+ /**
663
+ * Provides data to hide the floating element in applicable situations, such as
664
+ * when it is not in the same clipping context as the reference element.
665
+ * @see https://floating-ui.com/docs/hide
666
+ */
667
+ const hide$1 = function (options) {
668
+ if (options === void 0) {
669
+ options = {};
670
+ }
671
+ return {
672
+ name: 'hide',
673
+ options,
674
+ async fn(state) {
675
+ const {
676
+ rects
677
+ } = state;
678
+ const {
679
+ strategy = 'referenceHidden',
680
+ ...detectOverflowOptions
681
+ } = evaluate(options, state);
682
+ switch (strategy) {
683
+ case 'referenceHidden':
684
+ {
685
+ const overflow = await detectOverflow(state, {
686
+ ...detectOverflowOptions,
687
+ elementContext: 'reference'
688
+ });
689
+ const offsets = getSideOffsets(overflow, rects.reference);
690
+ return {
691
+ data: {
692
+ referenceHiddenOffsets: offsets,
693
+ referenceHidden: isAnySideFullyClipped(offsets)
694
+ }
695
+ };
696
+ }
697
+ case 'escaped':
698
+ {
699
+ const overflow = await detectOverflow(state, {
700
+ ...detectOverflowOptions,
701
+ altBoundary: true
702
+ });
703
+ const offsets = getSideOffsets(overflow, rects.floating);
704
+ return {
705
+ data: {
706
+ escapedOffsets: offsets,
707
+ escaped: isAnySideFullyClipped(offsets)
708
+ }
709
+ };
710
+ }
711
+ default:
712
+ {
713
+ return {};
714
+ }
715
+ }
716
+ }
717
+ };
718
+ };
719
+
720
+ function getBoundingRect(rects) {
721
+ const minX = min(...rects.map(rect => rect.left));
722
+ const minY = min(...rects.map(rect => rect.top));
723
+ const maxX = max(...rects.map(rect => rect.right));
724
+ const maxY = max(...rects.map(rect => rect.bottom));
725
+ return {
726
+ x: minX,
727
+ y: minY,
728
+ width: maxX - minX,
729
+ height: maxY - minY
730
+ };
731
+ }
732
+ function getRectsByLine(rects) {
733
+ const sortedRects = rects.slice().sort((a, b) => a.y - b.y);
734
+ const groups = [];
735
+ let prevRect = null;
736
+ for (let i = 0; i < sortedRects.length; i++) {
737
+ const rect = sortedRects[i];
738
+ if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {
739
+ groups.push([rect]);
740
+ } else {
741
+ groups[groups.length - 1].push(rect);
742
+ }
743
+ prevRect = rect;
744
+ }
745
+ return groups.map(rect => rectToClientRect(getBoundingRect(rect)));
746
+ }
747
+ /**
748
+ * Provides improved positioning for inline reference elements that can span
749
+ * over multiple lines, such as hyperlinks or range selections.
750
+ * @see https://floating-ui.com/docs/inline
751
+ */
752
+ const inline$1 = function (options) {
753
+ if (options === void 0) {
754
+ options = {};
755
+ }
756
+ return {
757
+ name: 'inline',
758
+ options,
759
+ async fn(state) {
760
+ const {
761
+ placement,
762
+ elements,
763
+ rects,
764
+ platform,
765
+ strategy
766
+ } = state;
767
+ // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a
768
+ // ClientRect's bounds, despite the event listener being triggered. A
769
+ // padding of 2 seems to handle this issue.
770
+ const {
771
+ padding = 2,
772
+ x,
773
+ y
774
+ } = evaluate(options, state);
775
+ const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);
776
+ const clientRects = getRectsByLine(nativeClientRects);
777
+ const fallback = rectToClientRect(getBoundingRect(nativeClientRects));
778
+ const paddingObject = getPaddingObject(padding);
779
+ function getBoundingClientRect() {
780
+ // There are two rects and they are disjoined.
781
+ if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {
782
+ // Find the first rect in which the point is fully inside.
783
+ return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;
784
+ }
785
+
786
+ // There are 2 or more connected rects.
787
+ if (clientRects.length >= 2) {
788
+ if (getSideAxis(placement) === 'y') {
789
+ const firstRect = clientRects[0];
790
+ const lastRect = clientRects[clientRects.length - 1];
791
+ const isTop = getSide(placement) === 'top';
792
+ const top = firstRect.top;
793
+ const bottom = lastRect.bottom;
794
+ const left = isTop ? firstRect.left : lastRect.left;
795
+ const right = isTop ? firstRect.right : lastRect.right;
796
+ const width = right - left;
797
+ const height = bottom - top;
798
+ return {
799
+ top,
800
+ bottom,
801
+ left,
802
+ right,
803
+ width,
804
+ height,
805
+ x: left,
806
+ y: top
807
+ };
808
+ }
809
+ const isLeftSide = getSide(placement) === 'left';
810
+ const maxRight = max(...clientRects.map(rect => rect.right));
811
+ const minLeft = min(...clientRects.map(rect => rect.left));
812
+ const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);
813
+ const top = measureRects[0].top;
814
+ const bottom = measureRects[measureRects.length - 1].bottom;
815
+ const left = minLeft;
816
+ const right = maxRight;
817
+ const width = right - left;
818
+ const height = bottom - top;
819
+ return {
820
+ top,
821
+ bottom,
822
+ left,
823
+ right,
824
+ width,
825
+ height,
826
+ x: left,
827
+ y: top
828
+ };
829
+ }
830
+ return fallback;
831
+ }
832
+ const resetRects = await platform.getElementRects({
833
+ reference: {
834
+ getBoundingClientRect
835
+ },
836
+ floating: elements.floating,
837
+ strategy
838
+ });
839
+ if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {
840
+ return {
841
+ reset: {
842
+ rects: resetRects
843
+ }
844
+ };
845
+ }
846
+ return {};
847
+ }
848
+ };
849
+ };
850
+
851
+ // For type backwards-compatibility, the `OffsetOptions` type was also
852
+ // Derivable.
853
+
854
+ async function convertValueToCoords(state, options) {
855
+ const {
856
+ placement,
857
+ platform,
858
+ elements
859
+ } = state;
860
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
861
+ const side = getSide(placement);
862
+ const alignment = getAlignment(placement);
863
+ const isVertical = getSideAxis(placement) === 'y';
864
+ const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
865
+ const crossAxisMulti = rtl && isVertical ? -1 : 1;
866
+ const rawValue = evaluate(options, state);
867
+ let {
868
+ mainAxis,
869
+ crossAxis,
870
+ alignmentAxis
871
+ } = typeof rawValue === 'number' ? {
872
+ mainAxis: rawValue,
873
+ crossAxis: 0,
874
+ alignmentAxis: null
875
+ } : {
876
+ mainAxis: 0,
877
+ crossAxis: 0,
878
+ alignmentAxis: null,
879
+ ...rawValue
880
+ };
881
+ if (alignment && typeof alignmentAxis === 'number') {
882
+ crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;
883
+ }
884
+ return isVertical ? {
885
+ x: crossAxis * crossAxisMulti,
886
+ y: mainAxis * mainAxisMulti
887
+ } : {
888
+ x: mainAxis * mainAxisMulti,
889
+ y: crossAxis * crossAxisMulti
890
+ };
891
+ }
892
+
893
+ /**
894
+ * Modifies the placement by translating the floating element along the
895
+ * specified axes.
896
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
897
+ * object may be passed.
898
+ * @see https://floating-ui.com/docs/offset
899
+ */
900
+ const offset = function (options) {
901
+ if (options === void 0) {
902
+ options = 0;
903
+ }
904
+ return {
905
+ name: 'offset',
906
+ options,
907
+ async fn(state) {
908
+ var _middlewareData$offse, _middlewareData$arrow;
909
+ const {
910
+ x,
911
+ y,
912
+ placement,
913
+ middlewareData
914
+ } = state;
915
+ const diffCoords = await convertValueToCoords(state, options);
916
+
917
+ // If the placement is the same and the arrow caused an alignment offset
918
+ // then we don't need to change the positioning coordinates.
919
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
920
+ return {};
921
+ }
922
+ return {
923
+ x: x + diffCoords.x,
924
+ y: y + diffCoords.y,
925
+ data: {
926
+ ...diffCoords,
927
+ placement
928
+ }
929
+ };
930
+ }
931
+ };
932
+ };
933
+
934
+ /**
935
+ * Optimizes the visibility of the floating element by shifting it in order to
936
+ * keep it in view when it will overflow the clipping boundary.
937
+ * @see https://floating-ui.com/docs/shift
938
+ */
939
+ const shift$1 = function (options) {
940
+ if (options === void 0) {
941
+ options = {};
942
+ }
943
+ return {
944
+ name: 'shift',
945
+ options,
946
+ async fn(state) {
947
+ const {
948
+ x,
949
+ y,
950
+ placement
951
+ } = state;
952
+ const {
953
+ mainAxis: checkMainAxis = true,
954
+ crossAxis: checkCrossAxis = false,
955
+ limiter = {
956
+ fn: _ref => {
957
+ let {
958
+ x,
959
+ y
960
+ } = _ref;
961
+ return {
962
+ x,
963
+ y
964
+ };
965
+ }
966
+ },
967
+ ...detectOverflowOptions
968
+ } = evaluate(options, state);
969
+ const coords = {
970
+ x,
971
+ y
972
+ };
973
+ const overflow = await detectOverflow(state, detectOverflowOptions);
974
+ const crossAxis = getSideAxis(getSide(placement));
975
+ const mainAxis = getOppositeAxis(crossAxis);
976
+ let mainAxisCoord = coords[mainAxis];
977
+ let crossAxisCoord = coords[crossAxis];
978
+ if (checkMainAxis) {
979
+ const minSide = mainAxis === 'y' ? 'top' : 'left';
980
+ const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
981
+ const min = mainAxisCoord + overflow[minSide];
982
+ const max = mainAxisCoord - overflow[maxSide];
983
+ mainAxisCoord = clamp(min, mainAxisCoord, max);
984
+ }
985
+ if (checkCrossAxis) {
986
+ const minSide = crossAxis === 'y' ? 'top' : 'left';
987
+ const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
988
+ const min = crossAxisCoord + overflow[minSide];
989
+ const max = crossAxisCoord - overflow[maxSide];
990
+ crossAxisCoord = clamp(min, crossAxisCoord, max);
991
+ }
992
+ const limitedCoords = limiter.fn({
993
+ ...state,
994
+ [mainAxis]: mainAxisCoord,
995
+ [crossAxis]: crossAxisCoord
996
+ });
997
+ return {
998
+ ...limitedCoords,
999
+ data: {
1000
+ x: limitedCoords.x - x,
1001
+ y: limitedCoords.y - y
1002
+ }
1003
+ };
1004
+ }
1005
+ };
1006
+ };
1007
+ /**
1008
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1009
+ */
1010
+ const limitShift$1 = function (options) {
1011
+ if (options === void 0) {
1012
+ options = {};
1013
+ }
1014
+ return {
1015
+ options,
1016
+ fn(state) {
1017
+ const {
1018
+ x,
1019
+ y,
1020
+ placement,
1021
+ rects,
1022
+ middlewareData
1023
+ } = state;
1024
+ const {
1025
+ offset = 0,
1026
+ mainAxis: checkMainAxis = true,
1027
+ crossAxis: checkCrossAxis = true
1028
+ } = evaluate(options, state);
1029
+ const coords = {
1030
+ x,
1031
+ y
1032
+ };
1033
+ const crossAxis = getSideAxis(placement);
1034
+ const mainAxis = getOppositeAxis(crossAxis);
1035
+ let mainAxisCoord = coords[mainAxis];
1036
+ let crossAxisCoord = coords[crossAxis];
1037
+ const rawOffset = evaluate(offset, state);
1038
+ const computedOffset = typeof rawOffset === 'number' ? {
1039
+ mainAxis: rawOffset,
1040
+ crossAxis: 0
1041
+ } : {
1042
+ mainAxis: 0,
1043
+ crossAxis: 0,
1044
+ ...rawOffset
1045
+ };
1046
+ if (checkMainAxis) {
1047
+ const len = mainAxis === 'y' ? 'height' : 'width';
1048
+ const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
1049
+ const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
1050
+ if (mainAxisCoord < limitMin) {
1051
+ mainAxisCoord = limitMin;
1052
+ } else if (mainAxisCoord > limitMax) {
1053
+ mainAxisCoord = limitMax;
1054
+ }
1055
+ }
1056
+ if (checkCrossAxis) {
1057
+ var _middlewareData$offse, _middlewareData$offse2;
1058
+ const len = mainAxis === 'y' ? 'width' : 'height';
1059
+ const isOriginSide = ['top', 'left'].includes(getSide(placement));
1060
+ const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
1061
+ const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
1062
+ if (crossAxisCoord < limitMin) {
1063
+ crossAxisCoord = limitMin;
1064
+ } else if (crossAxisCoord > limitMax) {
1065
+ crossAxisCoord = limitMax;
1066
+ }
1067
+ }
1068
+ return {
1069
+ [mainAxis]: mainAxisCoord,
1070
+ [crossAxis]: crossAxisCoord
1071
+ };
1072
+ }
1073
+ };
1074
+ };
1075
+
1076
+ /**
1077
+ * Provides data that allows you to change the size of the floating element —
1078
+ * for instance, prevent it from overflowing the clipping boundary or match the
1079
+ * width of the reference element.
1080
+ * @see https://floating-ui.com/docs/size
1081
+ */
1082
+ const size$1 = function (options) {
1083
+ if (options === void 0) {
1084
+ options = {};
1085
+ }
1086
+ return {
1087
+ name: 'size',
1088
+ options,
1089
+ async fn(state) {
1090
+ const {
1091
+ placement,
1092
+ rects,
1093
+ platform,
1094
+ elements
1095
+ } = state;
1096
+ const {
1097
+ apply = () => {},
1098
+ ...detectOverflowOptions
1099
+ } = evaluate(options, state);
1100
+ const overflow = await detectOverflow(state, detectOverflowOptions);
1101
+ const side = getSide(placement);
1102
+ const alignment = getAlignment(placement);
1103
+ const isYAxis = getSideAxis(placement) === 'y';
1104
+ const {
1105
+ width,
1106
+ height
1107
+ } = rects.floating;
1108
+ let heightSide;
1109
+ let widthSide;
1110
+ if (side === 'top' || side === 'bottom') {
1111
+ heightSide = side;
1112
+ widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
1113
+ } else {
1114
+ widthSide = side;
1115
+ heightSide = alignment === 'end' ? 'top' : 'bottom';
1116
+ }
1117
+ const overflowAvailableHeight = height - overflow[heightSide];
1118
+ const overflowAvailableWidth = width - overflow[widthSide];
1119
+ const noShift = !state.middlewareData.shift;
1120
+ let availableHeight = overflowAvailableHeight;
1121
+ let availableWidth = overflowAvailableWidth;
1122
+ if (isYAxis) {
1123
+ const maximumClippingWidth = width - overflow.left - overflow.right;
1124
+ availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
1125
+ } else {
1126
+ const maximumClippingHeight = height - overflow.top - overflow.bottom;
1127
+ availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
1128
+ }
1129
+ if (noShift && !alignment) {
1130
+ const xMin = max(overflow.left, 0);
1131
+ const xMax = max(overflow.right, 0);
1132
+ const yMin = max(overflow.top, 0);
1133
+ const yMax = max(overflow.bottom, 0);
1134
+ if (isYAxis) {
1135
+ availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
1136
+ } else {
1137
+ availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
1138
+ }
1139
+ }
1140
+ await apply({
1141
+ ...state,
1142
+ availableWidth,
1143
+ availableHeight
1144
+ });
1145
+ const nextDimensions = await platform.getDimensions(elements.floating);
1146
+ if (width !== nextDimensions.width || height !== nextDimensions.height) {
1147
+ return {
1148
+ reset: {
1149
+ rects: true
1150
+ }
1151
+ };
1152
+ }
1153
+ return {};
1154
+ }
1155
+ };
1156
+ };
1157
+
1158
+ function getNodeName(node) {
1159
+ if (isNode(node)) {
1160
+ return (node.nodeName || '').toLowerCase();
1161
+ }
1162
+ // Mocked nodes in testing environments may not be instances of Node. By
1163
+ // returning `#document` an infinite loop won't occur.
1164
+ // https://github.com/floating-ui/floating-ui/issues/2317
1165
+ return '#document';
1166
+ }
1167
+ function getWindow(node) {
1168
+ var _node$ownerDocument;
1169
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1170
+ }
1171
+ function getDocumentElement(node) {
1172
+ var _ref;
1173
+ return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1174
+ }
1175
+ function isNode(value) {
1176
+ return value instanceof Node || value instanceof getWindow(value).Node;
1177
+ }
1178
+ function isElement(value) {
1179
+ return value instanceof Element || value instanceof getWindow(value).Element;
1180
+ }
1181
+ function isHTMLElement(value) {
1182
+ return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1183
+ }
1184
+ function isShadowRoot(value) {
1185
+ // Browsers without `ShadowRoot` support.
1186
+ if (typeof ShadowRoot === 'undefined') {
1187
+ return false;
1188
+ }
1189
+ return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1190
+ }
1191
+ function isOverflowElement(element) {
1192
+ const {
1193
+ overflow,
1194
+ overflowX,
1195
+ overflowY,
1196
+ display
1197
+ } = getComputedStyle$1(element);
1198
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
1199
+ }
1200
+ function isTableElement(element) {
1201
+ return ['table', 'td', 'th'].includes(getNodeName(element));
1202
+ }
1203
+ function isContainingBlock(element) {
1204
+ const webkit = isWebKit();
1205
+ const css = getComputedStyle$1(element);
1206
+
1207
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1208
+ return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
1209
+ }
1210
+ function getContainingBlock(element) {
1211
+ let currentNode = getParentNode(element);
1212
+ while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1213
+ if (isContainingBlock(currentNode)) {
1214
+ return currentNode;
1215
+ } else {
1216
+ currentNode = getParentNode(currentNode);
1217
+ }
1218
+ }
1219
+ return null;
1220
+ }
1221
+ function isWebKit() {
1222
+ if (typeof CSS === 'undefined' || !CSS.supports) return false;
1223
+ return CSS.supports('-webkit-backdrop-filter', 'none');
1224
+ }
1225
+ function isLastTraversableNode(node) {
1226
+ return ['html', 'body', '#document'].includes(getNodeName(node));
1227
+ }
1228
+ function getComputedStyle$1(element) {
1229
+ return getWindow(element).getComputedStyle(element);
1230
+ }
1231
+ function getNodeScroll(element) {
1232
+ if (isElement(element)) {
1233
+ return {
1234
+ scrollLeft: element.scrollLeft,
1235
+ scrollTop: element.scrollTop
1236
+ };
1237
+ }
1238
+ return {
1239
+ scrollLeft: element.pageXOffset,
1240
+ scrollTop: element.pageYOffset
1241
+ };
1242
+ }
1243
+ function getParentNode(node) {
1244
+ if (getNodeName(node) === 'html') {
1245
+ return node;
1246
+ }
1247
+ const result =
1248
+ // Step into the shadow DOM of the parent of a slotted node.
1249
+ node.assignedSlot ||
1250
+ // DOM Element detected.
1251
+ node.parentNode ||
1252
+ // ShadowRoot detected.
1253
+ isShadowRoot(node) && node.host ||
1254
+ // Fallback.
1255
+ getDocumentElement(node);
1256
+ return isShadowRoot(result) ? result.host : result;
1257
+ }
1258
+ function getNearestOverflowAncestor(node) {
1259
+ const parentNode = getParentNode(node);
1260
+ if (isLastTraversableNode(parentNode)) {
1261
+ return node.ownerDocument ? node.ownerDocument.body : node.body;
1262
+ }
1263
+ if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1264
+ return parentNode;
1265
+ }
1266
+ return getNearestOverflowAncestor(parentNode);
1267
+ }
1268
+ function getOverflowAncestors(node, list, traverseIframes) {
1269
+ var _node$ownerDocument2;
1270
+ if (list === void 0) {
1271
+ list = [];
1272
+ }
1273
+ if (traverseIframes === void 0) {
1274
+ traverseIframes = true;
1275
+ }
1276
+ const scrollableAncestor = getNearestOverflowAncestor(node);
1277
+ const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1278
+ const win = getWindow(scrollableAncestor);
1279
+ if (isBody) {
1280
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
1281
+ }
1282
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1283
+ }
1284
+
1285
+ function getCssDimensions(element) {
1286
+ const css = getComputedStyle$1(element);
1287
+ // In testing environments, the `width` and `height` properties are empty
1288
+ // strings for SVG elements, returning NaN. Fallback to `0` in this case.
1289
+ let width = parseFloat(css.width) || 0;
1290
+ let height = parseFloat(css.height) || 0;
1291
+ const hasOffset = isHTMLElement(element);
1292
+ const offsetWidth = hasOffset ? element.offsetWidth : width;
1293
+ const offsetHeight = hasOffset ? element.offsetHeight : height;
1294
+ const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
1295
+ if (shouldFallback) {
1296
+ width = offsetWidth;
1297
+ height = offsetHeight;
1298
+ }
1299
+ return {
1300
+ width,
1301
+ height,
1302
+ $: shouldFallback
1303
+ };
1304
+ }
1305
+
1306
+ function unwrapElement(element) {
1307
+ return !isElement(element) ? element.contextElement : element;
1308
+ }
1309
+
1310
+ function getScale(element) {
1311
+ const domElement = unwrapElement(element);
1312
+ if (!isHTMLElement(domElement)) {
1313
+ return createCoords(1);
1314
+ }
1315
+ const rect = domElement.getBoundingClientRect();
1316
+ const {
1317
+ width,
1318
+ height,
1319
+ $
1320
+ } = getCssDimensions(domElement);
1321
+ let x = ($ ? round(rect.width) : rect.width) / width;
1322
+ let y = ($ ? round(rect.height) : rect.height) / height;
1323
+
1324
+ // 0, NaN, or Infinity should always fallback to 1.
1325
+
1326
+ if (!x || !Number.isFinite(x)) {
1327
+ x = 1;
1328
+ }
1329
+ if (!y || !Number.isFinite(y)) {
1330
+ y = 1;
1331
+ }
1332
+ return {
1333
+ x,
1334
+ y
1335
+ };
1336
+ }
1337
+
1338
+ const noOffsets = /*#__PURE__*/createCoords(0);
1339
+ function getVisualOffsets(element) {
1340
+ const win = getWindow(element);
1341
+ if (!isWebKit() || !win.visualViewport) {
1342
+ return noOffsets;
1343
+ }
1344
+ return {
1345
+ x: win.visualViewport.offsetLeft,
1346
+ y: win.visualViewport.offsetTop
1347
+ };
1348
+ }
1349
+ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
1350
+ if (isFixed === void 0) {
1351
+ isFixed = false;
1352
+ }
1353
+ if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
1354
+ return false;
1355
+ }
1356
+ return isFixed;
1357
+ }
1358
+
1359
+ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
1360
+ if (includeScale === void 0) {
1361
+ includeScale = false;
1362
+ }
1363
+ if (isFixedStrategy === void 0) {
1364
+ isFixedStrategy = false;
1365
+ }
1366
+ const clientRect = element.getBoundingClientRect();
1367
+ const domElement = unwrapElement(element);
1368
+ let scale = createCoords(1);
1369
+ if (includeScale) {
1370
+ if (offsetParent) {
1371
+ if (isElement(offsetParent)) {
1372
+ scale = getScale(offsetParent);
1373
+ }
1374
+ } else {
1375
+ scale = getScale(element);
1376
+ }
1377
+ }
1378
+ const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
1379
+ let x = (clientRect.left + visualOffsets.x) / scale.x;
1380
+ let y = (clientRect.top + visualOffsets.y) / scale.y;
1381
+ let width = clientRect.width / scale.x;
1382
+ let height = clientRect.height / scale.y;
1383
+ if (domElement) {
1384
+ const win = getWindow(domElement);
1385
+ const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
1386
+ let currentIFrame = win.frameElement;
1387
+ while (currentIFrame && offsetParent && offsetWin !== win) {
1388
+ const iframeScale = getScale(currentIFrame);
1389
+ const iframeRect = currentIFrame.getBoundingClientRect();
1390
+ const css = getComputedStyle$1(currentIFrame);
1391
+ const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
1392
+ const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
1393
+ x *= iframeScale.x;
1394
+ y *= iframeScale.y;
1395
+ width *= iframeScale.x;
1396
+ height *= iframeScale.y;
1397
+ x += left;
1398
+ y += top;
1399
+ currentIFrame = getWindow(currentIFrame).frameElement;
1400
+ }
1401
+ }
1402
+ return rectToClientRect({
1403
+ width,
1404
+ height,
1405
+ x,
1406
+ y
1407
+ });
1408
+ }
1409
+
1410
+ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1411
+ let {
1412
+ rect,
1413
+ offsetParent,
1414
+ strategy
1415
+ } = _ref;
1416
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
1417
+ const documentElement = getDocumentElement(offsetParent);
1418
+ if (offsetParent === documentElement) {
1419
+ return rect;
1420
+ }
1421
+ let scroll = {
1422
+ scrollLeft: 0,
1423
+ scrollTop: 0
1424
+ };
1425
+ let scale = createCoords(1);
1426
+ const offsets = createCoords(0);
1427
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
1428
+ if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1429
+ scroll = getNodeScroll(offsetParent);
1430
+ }
1431
+ if (isHTMLElement(offsetParent)) {
1432
+ const offsetRect = getBoundingClientRect(offsetParent);
1433
+ scale = getScale(offsetParent);
1434
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
1435
+ offsets.y = offsetRect.y + offsetParent.clientTop;
1436
+ }
1437
+ }
1438
+ return {
1439
+ width: rect.width * scale.x,
1440
+ height: rect.height * scale.y,
1441
+ x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,
1442
+ y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y
1443
+ };
1444
+ }
1445
+
1446
+ function getClientRects(element) {
1447
+ return Array.from(element.getClientRects());
1448
+ }
1449
+
1450
+ function getWindowScrollBarX(element) {
1451
+ // If <html> has a CSS width greater than the viewport, then this will be
1452
+ // incorrect for RTL.
1453
+ return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;
1454
+ }
1455
+
1456
+ // Gets the entire size of the scrollable document area, even extending outside
1457
+ // of the `<html>` and `<body>` rect bounds if horizontally scrollable.
1458
+ function getDocumentRect(element) {
1459
+ const html = getDocumentElement(element);
1460
+ const scroll = getNodeScroll(element);
1461
+ const body = element.ownerDocument.body;
1462
+ const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
1463
+ const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
1464
+ let x = -scroll.scrollLeft + getWindowScrollBarX(element);
1465
+ const y = -scroll.scrollTop;
1466
+ if (getComputedStyle$1(body).direction === 'rtl') {
1467
+ x += max(html.clientWidth, body.clientWidth) - width;
1468
+ }
1469
+ return {
1470
+ width,
1471
+ height,
1472
+ x,
1473
+ y
1474
+ };
1475
+ }
1476
+
1477
+ function getViewportRect(element, strategy) {
1478
+ const win = getWindow(element);
1479
+ const html = getDocumentElement(element);
1480
+ const visualViewport = win.visualViewport;
1481
+ let width = html.clientWidth;
1482
+ let height = html.clientHeight;
1483
+ let x = 0;
1484
+ let y = 0;
1485
+ if (visualViewport) {
1486
+ width = visualViewport.width;
1487
+ height = visualViewport.height;
1488
+ const visualViewportBased = isWebKit();
1489
+ if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {
1490
+ x = visualViewport.offsetLeft;
1491
+ y = visualViewport.offsetTop;
1492
+ }
1493
+ }
1494
+ return {
1495
+ width,
1496
+ height,
1497
+ x,
1498
+ y
1499
+ };
1500
+ }
1501
+
1502
+ // Returns the inner client rect, subtracting scrollbars if present.
1503
+ function getInnerBoundingClientRect(element, strategy) {
1504
+ const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
1505
+ const top = clientRect.top + element.clientTop;
1506
+ const left = clientRect.left + element.clientLeft;
1507
+ const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
1508
+ const width = element.clientWidth * scale.x;
1509
+ const height = element.clientHeight * scale.y;
1510
+ const x = left * scale.x;
1511
+ const y = top * scale.y;
1512
+ return {
1513
+ width,
1514
+ height,
1515
+ x,
1516
+ y
1517
+ };
1518
+ }
1519
+ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
1520
+ let rect;
1521
+ if (clippingAncestor === 'viewport') {
1522
+ rect = getViewportRect(element, strategy);
1523
+ } else if (clippingAncestor === 'document') {
1524
+ rect = getDocumentRect(getDocumentElement(element));
1525
+ } else if (isElement(clippingAncestor)) {
1526
+ rect = getInnerBoundingClientRect(clippingAncestor, strategy);
1527
+ } else {
1528
+ const visualOffsets = getVisualOffsets(element);
1529
+ rect = {
1530
+ ...clippingAncestor,
1531
+ x: clippingAncestor.x - visualOffsets.x,
1532
+ y: clippingAncestor.y - visualOffsets.y
1533
+ };
1534
+ }
1535
+ return rectToClientRect(rect);
1536
+ }
1537
+ function hasFixedPositionAncestor(element, stopNode) {
1538
+ const parentNode = getParentNode(element);
1539
+ if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
1540
+ return false;
1541
+ }
1542
+ return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);
1543
+ }
1544
+
1545
+ // A "clipping ancestor" is an `overflow` element with the characteristic of
1546
+ // clipping (or hiding) child elements. This returns all clipping ancestors
1547
+ // of the given element up the tree.
1548
+ function getClippingElementAncestors(element, cache) {
1549
+ const cachedResult = cache.get(element);
1550
+ if (cachedResult) {
1551
+ return cachedResult;
1552
+ }
1553
+ let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');
1554
+ let currentContainingBlockComputedStyle = null;
1555
+ const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
1556
+ let currentNode = elementIsFixed ? getParentNode(element) : element;
1557
+
1558
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1559
+ while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
1560
+ const computedStyle = getComputedStyle$1(currentNode);
1561
+ const currentNodeIsContaining = isContainingBlock(currentNode);
1562
+ if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
1563
+ currentContainingBlockComputedStyle = null;
1564
+ }
1565
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
1566
+ if (shouldDropCurrentNode) {
1567
+ // Drop non-containing blocks.
1568
+ result = result.filter(ancestor => ancestor !== currentNode);
1569
+ } else {
1570
+ // Record last containing block for next iteration.
1571
+ currentContainingBlockComputedStyle = computedStyle;
1572
+ }
1573
+ currentNode = getParentNode(currentNode);
1574
+ }
1575
+ cache.set(element, result);
1576
+ return result;
1577
+ }
1578
+
1579
+ // Gets the maximum area that the element is visible in due to any number of
1580
+ // clipping ancestors.
1581
+ function getClippingRect(_ref) {
1582
+ let {
1583
+ element,
1584
+ boundary,
1585
+ rootBoundary,
1586
+ strategy
1587
+ } = _ref;
1588
+ const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);
1589
+ const clippingAncestors = [...elementClippingAncestors, rootBoundary];
1590
+ const firstClippingAncestor = clippingAncestors[0];
1591
+ const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
1592
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
1593
+ accRect.top = max(rect.top, accRect.top);
1594
+ accRect.right = min(rect.right, accRect.right);
1595
+ accRect.bottom = min(rect.bottom, accRect.bottom);
1596
+ accRect.left = max(rect.left, accRect.left);
1597
+ return accRect;
1598
+ }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
1599
+ return {
1600
+ width: clippingRect.right - clippingRect.left,
1601
+ height: clippingRect.bottom - clippingRect.top,
1602
+ x: clippingRect.left,
1603
+ y: clippingRect.top
1604
+ };
1605
+ }
1606
+
1607
+ function getDimensions(element) {
1608
+ const {
1609
+ width,
1610
+ height
1611
+ } = getCssDimensions(element);
1612
+ return {
1613
+ width,
1614
+ height
1615
+ };
1616
+ }
1617
+
1618
+ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1619
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
1620
+ const documentElement = getDocumentElement(offsetParent);
1621
+ const isFixed = strategy === 'fixed';
1622
+ const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
1623
+ let scroll = {
1624
+ scrollLeft: 0,
1625
+ scrollTop: 0
1626
+ };
1627
+ const offsets = createCoords(0);
1628
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1629
+ if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1630
+ scroll = getNodeScroll(offsetParent);
1631
+ }
1632
+ if (isOffsetParentAnElement) {
1633
+ const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
1634
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
1635
+ offsets.y = offsetRect.y + offsetParent.clientTop;
1636
+ } else if (documentElement) {
1637
+ offsets.x = getWindowScrollBarX(documentElement);
1638
+ }
1639
+ }
1640
+ return {
1641
+ x: rect.left + scroll.scrollLeft - offsets.x,
1642
+ y: rect.top + scroll.scrollTop - offsets.y,
1643
+ width: rect.width,
1644
+ height: rect.height
1645
+ };
1646
+ }
1647
+
1648
+ function getTrueOffsetParent(element, polyfill) {
1649
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
1650
+ return null;
1651
+ }
1652
+ if (polyfill) {
1653
+ return polyfill(element);
1654
+ }
1655
+ return element.offsetParent;
1656
+ }
1657
+
1658
+ // Gets the closest ancestor positioned element. Handles some edge cases,
1659
+ // such as table ancestors and cross browser bugs.
1660
+ function getOffsetParent(element, polyfill) {
1661
+ const window = getWindow(element);
1662
+ if (!isHTMLElement(element)) {
1663
+ return window;
1664
+ }
1665
+ let offsetParent = getTrueOffsetParent(element, polyfill);
1666
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {
1667
+ offsetParent = getTrueOffsetParent(offsetParent, polyfill);
1668
+ }
1669
+ if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
1670
+ return window;
1671
+ }
1672
+ return offsetParent || getContainingBlock(element) || window;
1673
+ }
1674
+
1675
+ const getElementRects = async function (_ref) {
1676
+ let {
1677
+ reference,
1678
+ floating,
1679
+ strategy
1680
+ } = _ref;
1681
+ const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
1682
+ const getDimensionsFn = this.getDimensions;
1683
+ return {
1684
+ reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
1685
+ floating: {
1686
+ x: 0,
1687
+ y: 0,
1688
+ ...(await getDimensionsFn(floating))
1689
+ }
1690
+ };
1691
+ };
1692
+
1693
+ function isRTL(element) {
1694
+ return getComputedStyle$1(element).direction === 'rtl';
1695
+ }
1696
+
1697
+ const platform = {
1698
+ convertOffsetParentRelativeRectToViewportRelativeRect,
1699
+ getDocumentElement,
1700
+ getClippingRect,
1701
+ getOffsetParent,
1702
+ getElementRects,
1703
+ getClientRects,
1704
+ getDimensions,
1705
+ getScale,
1706
+ isElement,
1707
+ isRTL
1708
+ };
1709
+
1710
+ // https://samthor.au/2021/observing-dom/
1711
+ function observeMove(element, onMove) {
1712
+ let io = null;
1713
+ let timeoutId;
1714
+ const root = getDocumentElement(element);
1715
+ function cleanup() {
1716
+ clearTimeout(timeoutId);
1717
+ io && io.disconnect();
1718
+ io = null;
1719
+ }
1720
+ function refresh(skip, threshold) {
1721
+ if (skip === void 0) {
1722
+ skip = false;
1723
+ }
1724
+ if (threshold === void 0) {
1725
+ threshold = 1;
1726
+ }
1727
+ cleanup();
1728
+ const {
1729
+ left,
1730
+ top,
1731
+ width,
1732
+ height
1733
+ } = element.getBoundingClientRect();
1734
+ if (!skip) {
1735
+ onMove();
1736
+ }
1737
+ if (!width || !height) {
1738
+ return;
1739
+ }
1740
+ const insetTop = floor(top);
1741
+ const insetRight = floor(root.clientWidth - (left + width));
1742
+ const insetBottom = floor(root.clientHeight - (top + height));
1743
+ const insetLeft = floor(left);
1744
+ const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
1745
+ const options = {
1746
+ rootMargin,
1747
+ threshold: max(0, min(1, threshold)) || 1
1748
+ };
1749
+ let isFirstUpdate = true;
1750
+ function handleObserve(entries) {
1751
+ const ratio = entries[0].intersectionRatio;
1752
+ if (ratio !== threshold) {
1753
+ if (!isFirstUpdate) {
1754
+ return refresh();
1755
+ }
1756
+ if (!ratio) {
1757
+ timeoutId = setTimeout(() => {
1758
+ refresh(false, 1e-7);
1759
+ }, 100);
1760
+ } else {
1761
+ refresh(false, ratio);
1762
+ }
1763
+ }
1764
+ isFirstUpdate = false;
1765
+ }
1766
+
1767
+ // Older browsers don't support a `document` as the root and will throw an
1768
+ // error.
1769
+ try {
1770
+ io = new IntersectionObserver(handleObserve, {
1771
+ ...options,
1772
+ // Handle <iframe>s
1773
+ root: root.ownerDocument
1774
+ });
1775
+ } catch (e) {
1776
+ io = new IntersectionObserver(handleObserve, options);
1777
+ }
1778
+ io.observe(element);
1779
+ }
1780
+ refresh(true);
1781
+ return cleanup;
1782
+ }
1783
+
1784
+ /**
1785
+ * Automatically updates the position of the floating element when necessary.
1786
+ * Should only be called when the floating element is mounted on the DOM or
1787
+ * visible on the screen.
1788
+ * @returns cleanup function that should be invoked when the floating element is
1789
+ * removed from the DOM or hidden from the screen.
1790
+ * @see https://floating-ui.com/docs/autoUpdate
1791
+ */
1792
+ function autoUpdate(reference, floating, update, options) {
1793
+ if (options === void 0) {
1794
+ options = {};
1795
+ }
1796
+ const {
1797
+ ancestorScroll = true,
1798
+ ancestorResize = true,
1799
+ elementResize = typeof ResizeObserver === 'function',
1800
+ layoutShift = typeof IntersectionObserver === 'function',
1801
+ animationFrame = false
1802
+ } = options;
1803
+ const referenceEl = unwrapElement(reference);
1804
+ const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];
1805
+ ancestors.forEach(ancestor => {
1806
+ ancestorScroll && ancestor.addEventListener('scroll', update, {
1807
+ passive: true
1808
+ });
1809
+ ancestorResize && ancestor.addEventListener('resize', update);
1810
+ });
1811
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
1812
+ let reobserveFrame = -1;
1813
+ let resizeObserver = null;
1814
+ if (elementResize) {
1815
+ resizeObserver = new ResizeObserver(_ref => {
1816
+ let [firstEntry] = _ref;
1817
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
1818
+ // Prevent update loops when using the `size` middleware.
1819
+ // https://github.com/floating-ui/floating-ui/issues/1740
1820
+ resizeObserver.unobserve(floating);
1821
+ cancelAnimationFrame(reobserveFrame);
1822
+ reobserveFrame = requestAnimationFrame(() => {
1823
+ resizeObserver && resizeObserver.observe(floating);
1824
+ });
1825
+ }
1826
+ update();
1827
+ });
1828
+ if (referenceEl && !animationFrame) {
1829
+ resizeObserver.observe(referenceEl);
1830
+ }
1831
+ resizeObserver.observe(floating);
1832
+ }
1833
+ let frameId;
1834
+ let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
1835
+ if (animationFrame) {
1836
+ frameLoop();
1837
+ }
1838
+ function frameLoop() {
1839
+ const nextRefRect = getBoundingClientRect(reference);
1840
+ if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
1841
+ update();
1842
+ }
1843
+ prevRefRect = nextRefRect;
1844
+ frameId = requestAnimationFrame(frameLoop);
1845
+ }
1846
+ update();
1847
+ return () => {
1848
+ ancestors.forEach(ancestor => {
1849
+ ancestorScroll && ancestor.removeEventListener('scroll', update);
1850
+ ancestorResize && ancestor.removeEventListener('resize', update);
1851
+ });
1852
+ cleanupIo && cleanupIo();
1853
+ resizeObserver && resizeObserver.disconnect();
1854
+ resizeObserver = null;
1855
+ if (animationFrame) {
1856
+ cancelAnimationFrame(frameId);
1857
+ }
1858
+ };
1859
+ }
1860
+
1861
+ /**
1862
+ * Optimizes the visibility of the floating element by choosing the placement
1863
+ * that has the most space available automatically, without needing to specify a
1864
+ * preferred placement. Alternative to `flip`.
1865
+ * @see https://floating-ui.com/docs/autoPlacement
1866
+ */
1867
+ const autoPlacement = autoPlacement$1;
1868
+
1869
+ /**
1870
+ * Optimizes the visibility of the floating element by shifting it in order to
1871
+ * keep it in view when it will overflow the clipping boundary.
1872
+ * @see https://floating-ui.com/docs/shift
1873
+ */
1874
+ const shift = shift$1;
1875
+
1876
+ /**
1877
+ * Optimizes the visibility of the floating element by flipping the `placement`
1878
+ * in order to keep it in view when the preferred placement(s) will overflow the
1879
+ * clipping boundary. Alternative to `autoPlacement`.
1880
+ * @see https://floating-ui.com/docs/flip
1881
+ */
1882
+ const flip = flip$1;
1883
+
1884
+ /**
1885
+ * Provides data that allows you to change the size of the floating element —
1886
+ * for instance, prevent it from overflowing the clipping boundary or match the
1887
+ * width of the reference element.
1888
+ * @see https://floating-ui.com/docs/size
1889
+ */
1890
+ const size = size$1;
1891
+
1892
+ /**
1893
+ * Provides data to hide the floating element in applicable situations, such as
1894
+ * when it is not in the same clipping context as the reference element.
1895
+ * @see https://floating-ui.com/docs/hide
1896
+ */
1897
+ const hide = hide$1;
1898
+
1899
+ /**
1900
+ * Provides data to position an inner element of the floating element so that it
1901
+ * appears centered to the reference element.
1902
+ * @see https://floating-ui.com/docs/arrow
1903
+ */
1904
+ const arrow = arrow$1;
1905
+
1906
+ /**
1907
+ * Provides improved positioning for inline reference elements that can span
1908
+ * over multiple lines, such as hyperlinks or range selections.
1909
+ * @see https://floating-ui.com/docs/inline
1910
+ */
1911
+ const inline = inline$1;
1912
+
1913
+ /**
1914
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1915
+ */
1916
+ const limitShift = limitShift$1;
1917
+
1918
+ /**
1919
+ * Computes the `x` and `y` coordinates that will place the floating element
1920
+ * next to a given reference element.
1921
+ */
1922
+ const computePosition = (reference, floating, options) => {
1923
+ // This caches the expensive `getClippingElementAncestors` function so that
1924
+ // multiple lifecycle resets re-use the same result. It only lives for a
1925
+ // single call. If other functions become expensive, we can add them as well.
1926
+ const cache = new Map();
1927
+ const mergedOptions = {
1928
+ platform,
1929
+ ...options
1930
+ };
1931
+ const platformWithCache = {
1932
+ ...mergedOptions.platform,
1933
+ _c: cache
1934
+ };
1935
+ return computePosition$1(reference, floating, {
1936
+ ...mergedOptions,
1937
+ platform: platformWithCache
1938
+ });
1939
+ };
1940
+
1941
+ /* eslint-disable @typescript-eslint/ban-types */
1942
+ function offsetParent(element) {
1943
+ return offsetParentPolyfill(element);
1944
+ }
1945
+ function offsetTop(element) {
1946
+ return offsetTopLeftPolyfill(element, 'offsetTop');
1947
+ }
1948
+ function offsetLeft(element) {
1949
+ return offsetTopLeftPolyfill(element, 'offsetLeft');
1950
+ }
1951
+ function flatTreeParent(element) {
1952
+ if (element.assignedSlot) {
1953
+ return element.assignedSlot;
1954
+ }
1955
+ if (element.parentNode instanceof ShadowRoot) {
1956
+ return element.parentNode.host;
1957
+ }
1958
+ return element.parentNode;
1959
+ }
1960
+ function ancestorTreeScopes(element) {
1961
+ const scopes = new Set();
1962
+ let currentScope = element.getRootNode();
1963
+ while (currentScope) {
1964
+ scopes.add(currentScope);
1965
+ currentScope = currentScope.parentNode
1966
+ ? currentScope.parentNode.getRootNode()
1967
+ : null;
1968
+ }
1969
+ return scopes;
1970
+ }
1971
+ function offsetParentPolyfill(element) {
1972
+ // Do an initial walk to check for display:none ancestors.
1973
+ for (let ancestor = element; ancestor; ancestor = flatTreeParent(ancestor)) {
1974
+ if (!(ancestor instanceof Element)) {
1975
+ continue;
1976
+ }
1977
+ if (getComputedStyle(ancestor).display === 'none') {
1978
+ return null;
1979
+ }
1980
+ }
1981
+ for (let ancestor = flatTreeParent(element); ancestor; ancestor = flatTreeParent(ancestor)) {
1982
+ if (!(ancestor instanceof Element)) {
1983
+ continue;
1984
+ }
1985
+ const style = getComputedStyle(ancestor);
1986
+ // Display:contents nodes aren't in the layout tree so they should be skipped.
1987
+ if (style.display === 'contents') {
1988
+ continue;
1989
+ }
1990
+ if (style.position !== 'static' || style.filter !== 'none') {
1991
+ return ancestor;
1992
+ }
1993
+ if (ancestor.tagName === 'BODY') {
1994
+ return ancestor;
1995
+ }
1996
+ }
1997
+ return null;
1998
+ }
1999
+ function offsetTopLeftPolyfill(element, offsetTopOrLeft) {
2000
+ let value = element[offsetTopOrLeft];
2001
+ let nextOffsetParent = offsetParentPolyfill(element);
2002
+ const scopes = ancestorTreeScopes(element);
2003
+ while (nextOffsetParent && !scopes.has(nextOffsetParent.getRootNode())) {
2004
+ value -= nextOffsetParent[offsetTopOrLeft];
2005
+ nextOffsetParent = offsetParentPolyfill(nextOffsetParent);
2006
+ }
2007
+ return value;
2008
+ }
2009
+
2010
+ /*!
2011
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
2012
+ * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
2013
+ * v2.4.0
2014
+ */
2015
+ (function setUpFloatingUiForShadowDomPositioning() {
2016
+ if (index.Build.isBrowser) {
2017
+ const originalGetOffsetParent = platform.getOffsetParent;
2018
+ platform.getOffsetParent = (element) => originalGetOffsetParent(element, offsetParent);
2019
+ }
2020
+ })();
2021
+ function roundByDPR(value) {
2022
+ const dpr = window.devicePixelRatio || 1;
2023
+ return Math.round(value * dpr) / dpr;
2024
+ }
2025
+ /**
2026
+ * Positions the floating element relative to the reference element.
2027
+ *
2028
+ * **Note:** exported for testing purposes only
2029
+ *
2030
+ * @param root0
2031
+ * @param root0.referenceEl
2032
+ * @param root0.floatingEl
2033
+ * @param root0.overlayPositioning
2034
+ * @param root0.placement
2035
+ * @param root0.flipDisabled
2036
+ * @param root0.flipPlacements
2037
+ * @param root0.offsetDistance
2038
+ * @param root0.offsetSkidding
2039
+ * @param root0.arrowEl
2040
+ * @param root0.type
2041
+ * @param component
2042
+ * @param root0.referenceEl.referenceEl
2043
+ * @param root0.referenceEl.floatingEl
2044
+ * @param root0.referenceEl.overlayPositioning
2045
+ * @param root0.referenceEl.placement
2046
+ * @param root0.referenceEl.flipDisabled
2047
+ * @param root0.referenceEl.flipPlacements
2048
+ * @param root0.referenceEl.offsetDistance
2049
+ * @param root0.referenceEl.offsetSkidding
2050
+ * @param root0.referenceEl.arrowEl
2051
+ * @param root0.referenceEl.type
2052
+ * @param component.referenceEl
2053
+ * @param component.floatingEl
2054
+ * @param component.overlayPositioning
2055
+ * @param component.placement
2056
+ * @param component.flipDisabled
2057
+ * @param component.flipPlacements
2058
+ * @param component.offsetDistance
2059
+ * @param component.offsetSkidding
2060
+ * @param component.arrowEl
2061
+ * @param component.type
2062
+ */
2063
+ const positionFloatingUI =
2064
+ /* we export arrow function to allow us to spy on it during testing */
2065
+ async (component, { referenceEl, floatingEl, overlayPositioning = "absolute", placement, flipDisabled, flipPlacements, offsetDistance, offsetSkidding, arrowEl, type, }) => {
2066
+ if (!referenceEl || !floatingEl) {
2067
+ return null;
2068
+ }
2069
+ const { x, y, placement: effectivePlacement, strategy: position, middlewareData, } = await computePosition(referenceEl, floatingEl, {
2070
+ strategy: overlayPositioning,
2071
+ placement: placement === "auto" || placement === "auto-start" || placement === "auto-end"
2072
+ ? undefined
2073
+ : getEffectivePlacement(floatingEl, placement),
2074
+ middleware: getMiddleware({
2075
+ placement,
2076
+ flipDisabled,
2077
+ flipPlacements,
2078
+ offsetDistance,
2079
+ offsetSkidding,
2080
+ arrowEl,
2081
+ type,
2082
+ }),
2083
+ });
2084
+ if (arrowEl && middlewareData.arrow) {
2085
+ const { x, y } = middlewareData.arrow;
2086
+ const side = effectivePlacement.split("-")[0];
2087
+ const alignment = x != null ? "left" : "top";
2088
+ const transform = ARROW_CSS_TRANSFORM[side];
2089
+ const reset = { left: "", top: "", bottom: "", right: "" };
2090
+ if ("floatingLayout" in component) {
2091
+ component.floatingLayout = side === "left" || side === "right" ? "horizontal" : "vertical";
2092
+ }
2093
+ Object.assign(arrowEl.style, {
2094
+ ...reset,
2095
+ [alignment]: `${alignment == "left" ? x : y}px`,
2096
+ [side]: "100%",
2097
+ transform,
2098
+ });
2099
+ }
2100
+ const referenceHidden = middlewareData.hide?.referenceHidden;
2101
+ const visibility = referenceHidden ? "hidden" : null;
2102
+ const pointerEvents = visibility ? "none" : null;
2103
+ floatingEl.setAttribute(placementDataAttribute, effectivePlacement);
2104
+ const { open } = component;
2105
+ Object.assign(floatingEl.style, {
2106
+ visibility,
2107
+ pointerEvents,
2108
+ position,
2109
+ transform: open ? `translate(${roundByDPR(x)}px,${roundByDPR(y)}px)` : "",
2110
+ top: 0,
2111
+ left: 0,
2112
+ });
2113
+ };
2114
+ /**
2115
+ * Exported for testing purposes only
2116
+ */
2117
+ const placementDataAttribute = "data-placement";
2118
+ /**
2119
+ * Exported for testing purposes only
2120
+ */
2121
+ const repositionDebounceTimeout = 100;
2122
+ const placements = [
2123
+ // auto placements
2124
+ "auto",
2125
+ "auto-start",
2126
+ "auto-end",
2127
+ // placements
2128
+ "top",
2129
+ "top-start",
2130
+ "top-end",
2131
+ "bottom",
2132
+ "bottom-start",
2133
+ "bottom-end",
2134
+ "right",
2135
+ "right-start",
2136
+ "right-end",
2137
+ "left",
2138
+ "left-start",
2139
+ "left-end",
2140
+ // variation placements
2141
+ "leading-start",
2142
+ "leading",
2143
+ "leading-end",
2144
+ "trailing-end",
2145
+ "trailing",
2146
+ "trailing-start",
2147
+ ];
2148
+ const effectivePlacements = [
2149
+ "top",
2150
+ "bottom",
2151
+ "right",
2152
+ "left",
2153
+ "top-start",
2154
+ "top-end",
2155
+ "bottom-start",
2156
+ "bottom-end",
2157
+ "right-start",
2158
+ "right-end",
2159
+ "left-start",
2160
+ "left-end",
2161
+ ];
2162
+ const menuPlacements = ["top-start", "top", "top-end", "bottom-start", "bottom", "bottom-end"];
2163
+ const menuEffectivePlacements = [
2164
+ "top-start",
2165
+ "top",
2166
+ "top-end",
2167
+ "bottom-start",
2168
+ "bottom",
2169
+ "bottom-end",
2170
+ ];
2171
+ const flipPlacements = [
2172
+ "top",
2173
+ "bottom",
2174
+ "right",
2175
+ "left",
2176
+ "top-start",
2177
+ "top-end",
2178
+ "bottom-start",
2179
+ "bottom-end",
2180
+ "right-start",
2181
+ "right-end",
2182
+ "left-start",
2183
+ "left-end",
2184
+ ];
2185
+ const defaultMenuPlacement = "bottom-start";
2186
+ const FloatingCSS = {
2187
+ animation: "calcite-floating-ui-anim",
2188
+ animationActive: "calcite-floating-ui-anim--active",
2189
+ };
2190
+ function getMiddleware({ placement, flipDisabled, flipPlacements, offsetDistance, offsetSkidding, arrowEl, type, }) {
2191
+ const defaultMiddleware = [shift(), hide()];
2192
+ if (type === "menu") {
2193
+ return [
2194
+ ...defaultMiddleware,
2195
+ flip({
2196
+ fallbackPlacements: flipPlacements || ["top-start", "top", "top-end", "bottom-start", "bottom", "bottom-end"],
2197
+ }),
2198
+ ];
2199
+ }
2200
+ if (type === "popover" || type === "tooltip") {
2201
+ const middleware = [
2202
+ ...defaultMiddleware,
2203
+ offset({
2204
+ mainAxis: typeof offsetDistance === "number" ? offsetDistance : 0,
2205
+ crossAxis: typeof offsetSkidding === "number" ? offsetSkidding : 0,
2206
+ }),
2207
+ ];
2208
+ if (placement === "auto" || placement === "auto-start" || placement === "auto-end") {
2209
+ middleware.push(autoPlacement({ alignment: placement === "auto-start" ? "start" : placement === "auto-end" ? "end" : null }));
2210
+ }
2211
+ else if (!flipDisabled) {
2212
+ middleware.push(flip(flipPlacements ? { fallbackPlacements: flipPlacements } : {}));
2213
+ }
2214
+ if (arrowEl) {
2215
+ middleware.push(arrow({
2216
+ element: arrowEl,
2217
+ }));
2218
+ }
2219
+ return middleware;
2220
+ }
2221
+ return [];
2222
+ }
2223
+ function filterComputedPlacements(placements, el) {
2224
+ const filteredPlacements = placements.filter((placement) => effectivePlacements.includes(placement));
2225
+ if (filteredPlacements.length !== placements.length) {
2226
+ console.warn(`${el.tagName}: Invalid value found in: flipPlacements. Try any of these: ${effectivePlacements
2227
+ .map((placement) => `"${placement}"`)
2228
+ .join(", ")
2229
+ .trim()}`, { el });
2230
+ }
2231
+ return filteredPlacements;
2232
+ }
2233
+ function getEffectivePlacement(floatingEl, placement) {
2234
+ const placements = ["left", "right"];
2235
+ if (dom.getElementDir(floatingEl) === "rtl") {
2236
+ placements.reverse();
2237
+ }
2238
+ return placement.replace(/leading/gi, placements[0]).replace(/trailing/gi, placements[1]);
2239
+ }
2240
+ /**
2241
+ * Convenience function to manage `reposition` calls for FloatingUIComponents that use `positionFloatingUI.
2242
+ *
2243
+ * Note: this is not needed for components that use `calcite-popover`.
2244
+ *
2245
+ * @param component - A floating-ui component.
2246
+ * @param options - Reposition parameters.
2247
+ * @param options.referenceEl - The `referenceElement` used to position the component according to its `placement` value.
2248
+ * @param options.floatingEl - The `floatingElement` containing the floating ui.
2249
+ * @param options.overlayPositioning - type of positioning to use for the overlaid content.
2250
+ * @param options.placement - Determines where the component will be positioned relative to the `referenceElement`.
2251
+ * @param options.flipDisabled - Prevents flipping the component's placement when overlapping its `referenceElement`.
2252
+ * @param options.flipPlacements - Defines the available placements that can be used when a flip occurs.
2253
+ * @param options.offsetDistance - Offsets the position of the popover away from the `referenceElement`.
2254
+ * @param options.offsetSkidding - Offsets the position of the component along the `referenceElement`.
2255
+ * @param options.arrowEl - A customizable arrow element.
2256
+ * @param options.type - The type of floating UI.
2257
+ * @param delayed - Reposition the component after a delay.
2258
+ * @returns {Promise<void>}
2259
+ */
2260
+ async function reposition(component, options, delayed = false) {
2261
+ if (!component.open) {
2262
+ return;
2263
+ }
2264
+ const positionFunction = delayed ? getDebouncedReposition(component) : positionFloatingUI;
2265
+ return positionFunction(component, options);
2266
+ }
2267
+ function getDebouncedReposition(component) {
2268
+ let debounced = componentToDebouncedRepositionMap.get(component);
2269
+ if (debounced) {
2270
+ return debounced;
2271
+ }
2272
+ debounced = lodash.debounce(positionFloatingUI, repositionDebounceTimeout, {
2273
+ leading: true,
2274
+ maxWait: repositionDebounceTimeout,
2275
+ });
2276
+ componentToDebouncedRepositionMap.set(component, debounced);
2277
+ return debounced;
2278
+ }
2279
+ const ARROW_CSS_TRANSFORM = {
2280
+ top: "",
2281
+ left: "rotate(-90deg)",
2282
+ bottom: "rotate(180deg)",
2283
+ right: "rotate(90deg)",
2284
+ };
2285
+ /**
2286
+ * Exported for testing purposes only
2287
+ *
2288
+ * @internal
2289
+ */
2290
+ const cleanupMap = new WeakMap();
2291
+ const componentToDebouncedRepositionMap = new WeakMap();
2292
+ /**
2293
+ * Helper to set up floating element interactions on connectedCallback.
2294
+ *
2295
+ * @param component - A floating-ui component.
2296
+ * @param referenceEl - The `referenceElement` used to position the component according to its `placement` value.
2297
+ * @param floatingEl - The `floatingElement` containing the floating ui.
2298
+ */
2299
+ function connectFloatingUI(component, referenceEl, floatingEl) {
2300
+ if (!floatingEl || !referenceEl) {
2301
+ return;
2302
+ }
2303
+ disconnectFloatingUI(component, referenceEl, floatingEl);
2304
+ Object.assign(floatingEl.style, {
2305
+ visibility: "hidden",
2306
+ pointerEvents: "none",
2307
+ // initial positioning based on https://floating-ui.com/docs/computePosition#initial-layout
2308
+ position: component.overlayPositioning,
2309
+ });
2310
+ const runAutoUpdate = index.Build.isBrowser
2311
+ ? autoUpdate
2312
+ : (_refEl, _floatingEl, updateCallback) => {
2313
+ updateCallback();
2314
+ return () => {
2315
+ /* noop */
2316
+ };
2317
+ };
2318
+ cleanupMap.set(component, runAutoUpdate(referenceEl, floatingEl, () => component.reposition()));
2319
+ }
2320
+ /**
2321
+ * Helper to tear down floating element interactions on disconnectedCallback.
2322
+ *
2323
+ * @param component - A floating-ui component.
2324
+ * @param referenceEl - The `referenceElement` used to position the component according to its `placement` value.
2325
+ * @param floatingEl - The `floatingElement` containing the floating ui.
2326
+ */
2327
+ function disconnectFloatingUI(component, referenceEl, floatingEl) {
2328
+ if (!floatingEl || !referenceEl) {
2329
+ return;
2330
+ }
2331
+ cleanupMap.get(component)?.();
2332
+ cleanupMap.delete(component);
2333
+ componentToDebouncedRepositionMap.get(component)?.cancel();
2334
+ componentToDebouncedRepositionMap.delete(component);
2335
+ }
2336
+ const visiblePointerSize = 4;
2337
+ /**
2338
+ * Default offset the position of the floating element away from the reference element.
2339
+ *
2340
+ * @default 6
2341
+ */
2342
+ const defaultOffsetDistance = Math.ceil(Math.hypot(visiblePointerSize, visiblePointerSize));
2343
+
2344
+ exports.FloatingCSS = FloatingCSS;
2345
+ exports.connectFloatingUI = connectFloatingUI;
2346
+ exports.defaultMenuPlacement = defaultMenuPlacement;
2347
+ exports.defaultOffsetDistance = defaultOffsetDistance;
2348
+ exports.disconnectFloatingUI = disconnectFloatingUI;
2349
+ exports.filterComputedPlacements = filterComputedPlacements;
2350
+ exports.reposition = reposition;