@esri/solutions-components 0.10.49 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1250) hide show
  1. package/dist/cjs/ExpandToggle-44886935.js +115 -0
  2. package/dist/cjs/FloatingArrow-d7ea2b0f.js +48 -0
  3. package/dist/cjs/Heading-ee0aa171.js +25 -0
  4. package/dist/cjs/IdentityManager-d84c82f1.js +2047 -0
  5. package/dist/cjs/Validation-9515ef0c.js +20 -0
  6. package/dist/cjs/app-globals-03a6ab9b.js +67 -0
  7. package/dist/cjs/ar-180cd9b0.js +106 -0
  8. package/dist/cjs/asyncToGenerator-c7fc3ee4.js +92 -0
  9. package/dist/cjs/basemap-gallery_7.cjs.entry.js +37 -12
  10. package/dist/cjs/bg-fd095c86.js +84 -0
  11. package/dist/cjs/browser-717f77af.js +35 -0
  12. package/dist/cjs/bs-11fa6f0d.js +53 -0
  13. package/dist/cjs/buffer-tools_3.cjs.entry.js +6 -6
  14. package/dist/cjs/ca-0685b1cc.js +73 -0
  15. package/dist/cjs/calcite-accordion_2.cjs.entry.js +5 -5
  16. package/dist/cjs/calcite-action-bar.cjs.entry.js +8 -8
  17. package/dist/cjs/calcite-action-group.cjs.entry.js +7 -7
  18. package/dist/cjs/calcite-action-menu_2.cjs.entry.js +9 -9
  19. package/dist/cjs/calcite-action-pad_2.cjs.entry.js +8 -8
  20. package/dist/cjs/calcite-action_2.cjs.entry.js +13 -13
  21. package/dist/cjs/calcite-alert_2.cjs.entry.js +500 -0
  22. package/dist/cjs/calcite-avatar.cjs.entry.js +1 -1
  23. package/dist/cjs/calcite-block-section.cjs.entry.js +6 -6
  24. package/dist/cjs/calcite-block_5.cjs.entry.js +17 -17
  25. package/dist/cjs/calcite-button-de2c2e75.js +282 -0
  26. package/dist/cjs/calcite-button.cjs.entry.js +8 -8
  27. package/dist/cjs/calcite-card-group.cjs.entry.js +4 -4
  28. package/dist/cjs/calcite-card.cjs.entry.js +7 -7
  29. package/dist/cjs/calcite-carousel_2.cjs.entry.js +7 -7
  30. package/dist/cjs/calcite-checkbox.cjs.entry.js +5 -5
  31. package/dist/cjs/calcite-chip-group.cjs.entry.js +4 -4
  32. package/dist/cjs/calcite-chip_2.cjs.entry.js +9 -9
  33. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +3 -3
  34. package/dist/cjs/calcite-color-picker.cjs.entry.js +7 -7
  35. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +3 -3
  36. package/dist/cjs/calcite-combobox_3.cjs.entry.js +66 -20
  37. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +8 -8
  38. package/dist/cjs/calcite-dialog-a5c288bb.js +5876 -0
  39. package/dist/cjs/calcite-dialog.cjs.entry.js +9 -9
  40. package/dist/cjs/calcite-dropdown_2.cjs.entry.js +7 -7
  41. package/dist/cjs/calcite-fab.cjs.entry.js +4 -4
  42. package/dist/cjs/calcite-filter_5.cjs.entry.js +7 -7
  43. package/dist/cjs/calcite-flow-item_5.cjs.entry.js +1752 -0
  44. package/dist/cjs/calcite-flow_4.cjs.entry.js +12 -12
  45. package/dist/cjs/calcite-graph_2.cjs.entry.js +7 -7
  46. package/dist/cjs/calcite-icon_2.cjs.entry.js +4 -4
  47. package/dist/cjs/calcite-inline-editable.cjs.entry.js +7 -7
  48. package/dist/cjs/calcite-input-945ec162.js +1001 -0
  49. package/dist/cjs/calcite-input-number.cjs.entry.js +9 -9
  50. package/dist/cjs/calcite-input-text.cjs.entry.js +9 -9
  51. package/dist/cjs/calcite-input-time-picker-3aeef2d4.js +1870 -0
  52. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +13 -13
  53. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +8 -8
  54. package/dist/cjs/calcite-input_2.cjs.entry.js +9 -9
  55. package/dist/cjs/calcite-label-e7b67a86.js +111 -0
  56. package/dist/cjs/calcite-label.cjs.entry.js +1 -1
  57. package/dist/cjs/calcite-link.cjs.entry.js +4 -4
  58. package/dist/cjs/calcite-list-item-group.cjs.entry.js +2 -2
  59. package/dist/cjs/calcite-menu-item.cjs.entry.js +6 -6
  60. package/dist/cjs/calcite-menu.cjs.entry.js +6 -6
  61. package/dist/cjs/calcite-meter.cjs.entry.js +6 -6
  62. package/dist/cjs/calcite-modal_4.cjs.entry.js +972 -0
  63. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +4 -4
  64. package/dist/cjs/calcite-navigation-user.cjs.entry.js +3 -3
  65. package/dist/cjs/calcite-navigation.cjs.entry.js +3 -3
  66. package/dist/cjs/calcite-notice-a48cc9e7.js +261 -0
  67. package/dist/cjs/calcite-notice.cjs.entry.js +8 -8
  68. package/dist/cjs/calcite-option-group.cjs.entry.js +1 -1
  69. package/dist/cjs/calcite-option_2.cjs.entry.js +7 -7
  70. package/dist/cjs/calcite-pagination.cjs.entry.js +6 -6
  71. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +7 -7
  72. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +10 -10
  73. package/dist/cjs/calcite-pick-list.cjs.entry.js +8 -8
  74. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +5 -5
  75. package/dist/cjs/calcite-radio-button.cjs.entry.js +5 -5
  76. package/dist/cjs/calcite-rating.cjs.entry.js +8 -8
  77. package/dist/cjs/calcite-scrim.cjs.entry.js +5 -5
  78. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +6 -6
  79. package/dist/cjs/calcite-sheet.cjs.entry.js +7 -7
  80. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +6 -6
  81. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +24 -24
  82. package/dist/cjs/calcite-shell.cjs.entry.js +4 -4
  83. package/dist/cjs/calcite-sortable-list.cjs.entry.js +4 -4
  84. package/dist/cjs/calcite-split-button.cjs.entry.js +4 -4
  85. package/dist/cjs/calcite-stepper-item.cjs.entry.js +7 -7
  86. package/dist/cjs/calcite-stepper.cjs.entry.js +5 -5
  87. package/dist/cjs/calcite-switch.cjs.entry.js +5 -5
  88. package/dist/cjs/calcite-table-cell_2.cjs.entry.js +7 -7
  89. package/dist/cjs/calcite-table-row.cjs.entry.js +2 -2
  90. package/dist/cjs/calcite-table.cjs.entry.js +6 -6
  91. package/dist/cjs/calcite-text-area.cjs.entry.js +9 -9
  92. package/dist/cjs/calcite-tile-group.cjs.entry.js +4 -4
  93. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +4 -4
  94. package/dist/cjs/calcite-tile-select.cjs.entry.js +6 -6
  95. package/dist/cjs/calcite-tile.cjs.entry.js +4 -4
  96. package/dist/cjs/calcite-time-picker.cjs.entry.js +7 -7
  97. package/dist/cjs/calcite-tip-group.cjs.entry.js +3 -3
  98. package/dist/cjs/calcite-tip-manager.cjs.entry.js +8 -8
  99. package/dist/cjs/calcite-tip.cjs.entry.js +9 -9
  100. package/dist/cjs/calcite-tooltip.cjs.entry.js +5 -5
  101. package/dist/cjs/calcite-tree_2.cjs.entry.js +5 -5
  102. package/dist/cjs/card-manager_3.cjs.entry.js +194 -51
  103. package/dist/cjs/common-10d11a29.js +37 -0
  104. package/dist/cjs/conditionalSlot-130cce71.js +54 -0
  105. package/dist/cjs/config-c999f8fc.js +40 -0
  106. package/dist/cjs/consent-manager.cjs.entry.js +7915 -46
  107. package/dist/cjs/crowdsource-manager.cjs.entry.js +6 -6
  108. package/dist/cjs/crowdsource-reporter.cjs.entry.js +3 -3
  109. package/dist/cjs/cs-70e8ba01.js +149 -0
  110. package/dist/cjs/da-e8eb9ff4.js +69 -0
  111. package/dist/cjs/date-40a80298.js +264 -0
  112. package/dist/cjs/de-4b8310d2.js +93 -0
  113. package/dist/cjs/de-at-dc8ed8c3.js +92 -0
  114. package/dist/cjs/de-ch-c5971940.js +92 -0
  115. package/dist/cjs/deduct-calculator.cjs.entry.js +2 -2
  116. package/dist/cjs/downloadUtils-b6490537.js +3223 -0
  117. package/dist/cjs/el-a70d9f12.js +68 -0
  118. package/dist/cjs/en-au-88ddb80f.js +68 -0
  119. package/dist/cjs/en-ca-5a29b95b.js +67 -0
  120. package/dist/cjs/en-gb-3c763a84.js +71 -0
  121. package/dist/cjs/es-e83e8ff5.js +68 -0
  122. package/dist/cjs/es-mx-2ea879ef.js +67 -0
  123. package/dist/cjs/et-7b00c80d.js +94 -0
  124. package/dist/cjs/feature-list.cjs.entry.js +12 -10
  125. package/dist/cjs/fi-92ca007b.js +117 -0
  126. package/dist/cjs/floating-ui-7fa9e006.js +2413 -0
  127. package/dist/cjs/focusTrapComponent-a7cfa6da.js +1013 -0
  128. package/dist/cjs/form-dd5380da.js +370 -0
  129. package/dist/cjs/form-f2a43327.js +381 -0
  130. package/dist/cjs/fr-a1f5dfd4.js +70 -0
  131. package/dist/cjs/fr-ch-8a4a9d67.js +68 -0
  132. package/dist/cjs/he-38b2b883.js +107 -0
  133. package/dist/cjs/helpers-47465fc2.js +940 -0
  134. package/dist/cjs/hi-a517b1a8.js +67 -0
  135. package/dist/cjs/hr-c1e34de1.js +82 -0
  136. package/dist/cjs/hu-e46e8ae7.js +90 -0
  137. package/dist/cjs/icon-f45e7fbb.js +979 -0
  138. package/dist/cjs/id-bfc376d8.js +68 -0
  139. package/dist/cjs/index-1ab17699.js +201 -0
  140. package/dist/cjs/index-3bae5121.js +1789 -0
  141. package/dist/cjs/index-5d8d6ae2.js +2157 -0
  142. package/dist/cjs/index.es-5fc7bebc.js +11221 -0
  143. package/dist/cjs/instant-apps-app-guide.cjs.entry.js +2 -2
  144. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +1 -1
  145. package/dist/cjs/instant-apps-create.cjs.entry.js +2 -2
  146. package/dist/cjs/instant-apps-export-views.cjs.entry.js +2 -2
  147. package/dist/cjs/instant-apps-export.cjs.entry.js +2 -2
  148. package/dist/cjs/instant-apps-header.cjs.entry.js +2 -2
  149. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +3 -3
  150. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +3 -3
  151. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +3 -3
  152. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +3 -3
  153. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +4 -4
  154. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +2 -2
  155. package/dist/cjs/instant-apps-landing-page.cjs.entry.js +1 -1
  156. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +4 -4
  157. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +4 -4
  158. package/dist/cjs/instant-apps-measurement.cjs.entry.js +2 -2
  159. package/dist/cjs/instant-apps-popover.cjs.entry.js +2 -2
  160. package/dist/cjs/instant-apps-popovers.cjs.entry.js +1 -1
  161. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +2 -2
  162. package/dist/cjs/instant-apps-sign-in.cjs.entry.js +2 -2
  163. package/dist/cjs/instant-apps-splash.cjs.entry.js +3 -3
  164. package/dist/cjs/instant-apps-time-filter.cjs.entry.js +3 -3
  165. package/dist/cjs/interactive-b59e6294.js +86 -0
  166. package/dist/cjs/interactive-e1c3ccf2.js +85 -0
  167. package/dist/cjs/it-6d8c8360.js +68 -0
  168. package/dist/cjs/it-ch-2b05812c.js +68 -0
  169. package/dist/cjs/ja-eb46f963.js +74 -0
  170. package/dist/cjs/ko-dbe28d19.js +74 -0
  171. package/dist/cjs/loadable-19ab5827.js +98 -0
  172. package/dist/cjs/loader-97bb6b45.js +176 -0
  173. package/dist/cjs/loader.cjs.js +5 -5
  174. package/dist/cjs/locale-3a817e03.js +1488 -0
  175. package/dist/cjs/locale-80aff4b9.js +605 -0
  176. package/dist/cjs/locale-a79da367.js +160 -0
  177. package/dist/cjs/logger-780b61e8.js +61 -0
  178. package/dist/cjs/lt-651bfa9c.js +99 -0
  179. package/dist/cjs/lv-f6fe37a3.js +68 -0
  180. package/dist/cjs/map-select-tools_3.cjs.entry.js +13 -11
  181. package/dist/cjs/mk-1f0ffdf6.js +68 -0
  182. package/dist/cjs/nb-8b7b39ed.js +69 -0
  183. package/dist/cjs/nl-27515721.js +69 -0
  184. package/dist/cjs/observers-902ebe13.js +58 -0
  185. package/dist/cjs/openCloseComponent-039ee139.js +65 -0
  186. package/dist/cjs/openCloseComponent-e8e50700.js +66 -0
  187. package/dist/cjs/pci-calculator.cjs.entry.js +2 -2
  188. package/dist/cjs/pl-d2098514.js +116 -0
  189. package/dist/cjs/popupUtils-72d48968.js +121 -0
  190. package/dist/cjs/pt-a3304010.js +69 -0
  191. package/dist/cjs/pt-br-09d60ba8.js +67 -0
  192. package/dist/cjs/public-notification.cjs.entry.js +12 -10
  193. package/dist/cjs/publicNotificationStore-04b6837d.js +47 -0
  194. package/dist/cjs/request-19fdbaaa.js +21 -0
  195. package/dist/cjs/restHelpersGet-e4639890.js +507 -0
  196. package/dist/cjs/ro-2ea54b1c.js +68 -0
  197. package/dist/cjs/ru-f94ee202.js +128 -0
  198. package/dist/cjs/shared-list-render-fb08b2af.js +361 -0
  199. package/dist/cjs/sk-3cdf67d8.js +150 -0
  200. package/dist/cjs/sl-075daf42.js +170 -0
  201. package/dist/cjs/solution-configuration.cjs.entry.js +53 -53
  202. package/dist/cjs/solution-contents_3.cjs.entry.js +11 -11
  203. package/dist/cjs/solution-item-accordion.cjs.entry.js +3 -3
  204. package/dist/cjs/solution-item-icon.cjs.entry.js +2 -2
  205. package/dist/cjs/solution-resource-d0a2f7fe.js +1845 -0
  206. package/dist/cjs/solution-store-4e602251.js +1105 -0
  207. package/dist/cjs/solutions-components.cjs.js +6 -6
  208. package/dist/cjs/spatial-ref.cjs.entry.js +5 -6
  209. package/dist/cjs/sr-2f08967b.js +103 -0
  210. package/dist/cjs/store-manager.cjs.entry.js +7 -7
  211. package/dist/cjs/sv-65f0e21c.js +73 -0
  212. package/dist/cjs/t9n-0195f685.js +108 -0
  213. package/dist/cjs/templates-1e84847a.js +407 -0
  214. package/dist/cjs/th-db63e592.js +67 -0
  215. package/dist/cjs/time-caa0abbe.js +301 -0
  216. package/dist/cjs/tr-b6401cac.js +68 -0
  217. package/dist/cjs/typeof-2a7e2dec.js +28 -0
  218. package/dist/cjs/uk-d00c351d.js +106 -0
  219. package/dist/cjs/update-243ea407.js +783 -0
  220. package/dist/cjs/utils-7eb34f90.js +153 -0
  221. package/dist/cjs/utils-d2bcba4f.js +79 -0
  222. package/dist/cjs/vi-efe4ad72.js +72 -0
  223. package/dist/cjs/zh-cn-63f07390.js +96 -0
  224. package/dist/cjs/zh-hk-84a86ab9.js +94 -0
  225. package/dist/cjs/zh-tw-894f1adf.js +94 -0
  226. package/dist/collection/assets/t9n/consent-manager/resources.json +3 -10
  227. package/dist/collection/assets/t9n/consent-manager/resources_en.json +3 -10
  228. package/dist/collection/collection-manifest.json +2 -4
  229. package/dist/collection/components/basemap-gallery/basemap-gallery.js +1 -1
  230. package/dist/collection/components/buffer-tools/buffer-tools.js +1 -1
  231. package/dist/collection/components/card-manager/card-manager.js +1 -1
  232. package/dist/collection/components/consent-manager/consent-manager.js +116 -40
  233. package/dist/collection/components/create-feature/create-feature.js +2 -2
  234. package/dist/collection/components/create-related-feature/create-related-feature.js +1 -1
  235. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +4 -0
  236. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +3 -3
  237. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +1 -1
  238. package/dist/collection/components/deduct-calculator/deduct-calculator.js +1 -1
  239. package/dist/collection/components/delete-button/delete-button.js +2 -2
  240. package/dist/collection/components/delete-dialog/delete-dialog.js +1 -1
  241. package/dist/collection/components/edit-card/edit-card.js +26 -2
  242. package/dist/collection/components/feature-details/feature-details.js +6 -6
  243. package/dist/collection/components/feature-list/feature-list.js +3 -3
  244. package/dist/collection/components/floor-filter/floor-filter.js +1 -1
  245. package/dist/collection/components/info-card/info-card.js +2 -2
  246. package/dist/collection/components/json-editor/json-editor.js +1 -1
  247. package/dist/collection/components/layer-table/layer-table.js +224 -47
  248. package/dist/collection/components/map-card/map-card.js +2 -2
  249. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
  250. package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
  251. package/dist/collection/components/map-layer-picker/map-layer-picker.js +121 -5
  252. package/dist/collection/components/map-legend/map-legend.js +1 -1
  253. package/dist/collection/components/map-picker/map-picker.js +53 -4
  254. package/dist/collection/components/map-search/map-search.js +1 -1
  255. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
  256. package/dist/collection/components/map-tools/map-tools.js +2 -2
  257. package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
  258. package/dist/collection/components/pdf-download/pdf-download.js +1 -1
  259. package/dist/collection/components/public-notification/public-notification.js +2 -2
  260. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  261. package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
  262. package/dist/collection/components/solution-contents/solution-contents.js +1 -1
  263. package/dist/collection/components/solution-item/solution-item.js +1 -1
  264. package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +1 -1
  265. package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
  266. package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
  267. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
  268. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
  269. package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
  270. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
  271. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
  272. package/dist/collection/components/solution-variables/solution-variables.js +1 -1
  273. package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
  274. package/dist/collection/demos/consent-manager.html +56 -0
  275. package/dist/collection/utils/interfaces.ts +14 -0
  276. package/dist/components/IdentityManager.js +6 -2154
  277. package/dist/components/asyncToGenerator.js +88 -0
  278. package/dist/components/basemap-gallery2.js +1 -1
  279. package/dist/components/buffer-tools2.js +1 -1
  280. package/dist/components/calcite-dialog.js +1 -663
  281. package/dist/components/card-manager2.js +10 -10
  282. package/dist/components/common.js +0 -1
  283. package/dist/components/consent-manager.js +8054 -204
  284. package/dist/components/create-feature2.js +2 -2
  285. package/dist/components/create-related-feature2.js +1 -1
  286. package/dist/components/crowdsource-manager.js +37 -37
  287. package/dist/components/crowdsource-reporter.js +28 -28
  288. package/dist/components/deduct-calculator2.js +1 -1
  289. package/dist/components/delete-button2.js +29 -11
  290. package/dist/components/delete-dialog2.js +33 -9
  291. package/dist/components/dialog.js +670 -0
  292. package/dist/components/downloadUtils.js +10 -26
  293. package/dist/components/edit-card2.js +7 -2
  294. package/dist/components/feature-details2.js +23 -23
  295. package/dist/components/feature-list2.js +3 -3
  296. package/dist/components/floor-filter2.js +1 -1
  297. package/dist/components/index.es.js +25 -104
  298. package/dist/components/index2.js +6 -5
  299. package/dist/components/info-card2.js +9 -9
  300. package/dist/components/json-editor2.js +1 -1
  301. package/dist/components/layer-table2.js +212 -69
  302. package/dist/components/map-card2.js +2 -2
  303. package/dist/components/map-draw-tools2.js +1 -1
  304. package/dist/components/map-fullscreen2.js +1 -1
  305. package/dist/components/map-layer-picker2.js +53 -5
  306. package/dist/components/map-legend2.js +1 -1
  307. package/dist/components/map-picker2.js +28 -3
  308. package/dist/components/map-search2.js +1 -1
  309. package/dist/components/map-select-tools2.js +1 -1
  310. package/dist/components/map-tools2.js +2 -2
  311. package/dist/components/pci-calculator.js +1 -1
  312. package/dist/components/pdf-download2.js +1 -1
  313. package/dist/components/public-notification.js +2 -2
  314. package/dist/components/refine-selection2.js +1 -1
  315. package/dist/components/restHelpersGet.js +74 -557
  316. package/dist/components/solution-configuration.js +27 -28
  317. package/dist/components/solution-contents2.js +1 -1
  318. package/dist/components/solution-item-accordion.js +1 -1
  319. package/dist/components/solution-item-details2.js +1 -1
  320. package/dist/components/solution-item-icon2.js +1 -1
  321. package/dist/components/solution-item-sharing2.js +1 -1
  322. package/dist/components/solution-item2.js +1 -1
  323. package/dist/components/solution-organization-variables2.js +1 -1
  324. package/dist/components/solution-resource-item2.js +1 -2
  325. package/dist/components/solution-resource.js +1701 -1
  326. package/dist/components/solution-spatial-ref2.js +1 -1
  327. package/dist/components/solution-store.js +36 -285
  328. package/dist/components/solution-template-data2.js +1 -1
  329. package/dist/components/solution-variables2.js +1 -1
  330. package/dist/components/spatial-ref.js +1 -1
  331. package/dist/components/templates.js +0 -1
  332. package/dist/components/typeof.js +25 -0
  333. package/dist/components/update.js +773 -0
  334. package/dist/esm/ExpandToggle-324f556e.js +108 -0
  335. package/dist/esm/FloatingArrow-cd37b366.js +46 -0
  336. package/dist/esm/Heading-b6b7a8a6.js +22 -0
  337. package/dist/esm/IdentityManager-6880e890.js +2012 -0
  338. package/dist/esm/Validation-b62abebe.js +18 -0
  339. package/dist/esm/app-globals-b6ef4076.js +65 -0
  340. package/dist/esm/ar-aa347a04.js +104 -0
  341. package/dist/esm/asyncToGenerator-96b2368d.js +88 -0
  342. package/dist/esm/basemap-gallery_7.entry.js +37 -12
  343. package/dist/esm/bg-b56e89f6.js +82 -0
  344. package/dist/esm/browser-e42b9848.js +32 -0
  345. package/dist/esm/bs-62486009.js +51 -0
  346. package/dist/esm/buffer-tools_3.entry.js +7 -7
  347. package/dist/esm/ca-db6a81f3.js +71 -0
  348. package/dist/esm/calcite-accordion_2.entry.js +6 -6
  349. package/dist/esm/calcite-action-bar.entry.js +9 -9
  350. package/dist/esm/calcite-action-group.entry.js +8 -8
  351. package/dist/esm/calcite-action-menu_2.entry.js +10 -10
  352. package/dist/esm/calcite-action-pad_2.entry.js +9 -9
  353. package/dist/esm/calcite-action_2.entry.js +14 -14
  354. package/dist/esm/calcite-alert_2.entry.js +495 -0
  355. package/dist/esm/calcite-avatar.entry.js +2 -2
  356. package/dist/esm/calcite-block-section.entry.js +7 -7
  357. package/dist/esm/calcite-block_5.entry.js +19 -19
  358. package/dist/esm/calcite-button-e86d99b3.js +279 -0
  359. package/dist/esm/calcite-button.entry.js +10 -10
  360. package/dist/esm/calcite-card-group.entry.js +5 -5
  361. package/dist/esm/calcite-card.entry.js +8 -8
  362. package/dist/esm/calcite-carousel_2.entry.js +8 -8
  363. package/dist/esm/calcite-checkbox.entry.js +7 -7
  364. package/dist/esm/calcite-chip-group.entry.js +5 -5
  365. package/dist/esm/calcite-chip_2.entry.js +10 -10
  366. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +4 -4
  367. package/dist/esm/calcite-color-picker.entry.js +8 -8
  368. package/dist/esm/calcite-combobox-item-group.entry.js +4 -4
  369. package/dist/esm/calcite-combobox_3.entry.js +68 -22
  370. package/dist/esm/calcite-date-picker-day_3.entry.js +9 -9
  371. package/dist/esm/calcite-dialog-f5f9cfea.js +5873 -0
  372. package/dist/esm/calcite-dialog.entry.js +10 -10
  373. package/dist/esm/calcite-dropdown_2.entry.js +8 -8
  374. package/dist/esm/calcite-fab.entry.js +5 -5
  375. package/dist/esm/calcite-filter_5.entry.js +8 -8
  376. package/dist/esm/calcite-flow-item_5.entry.js +1744 -0
  377. package/dist/esm/calcite-flow_4.entry.js +12 -12
  378. package/dist/esm/calcite-graph_2.entry.js +9 -9
  379. package/dist/esm/calcite-icon_2.entry.js +5 -5
  380. package/dist/esm/calcite-inline-editable.entry.js +9 -9
  381. package/dist/esm/calcite-input-1f12bce0.js +998 -0
  382. package/dist/esm/calcite-input-number.entry.js +11 -11
  383. package/dist/esm/calcite-input-text.entry.js +11 -11
  384. package/dist/esm/calcite-input-time-picker-07db9ed7.js +1867 -0
  385. package/dist/esm/calcite-input-time-picker.entry.js +15 -15
  386. package/dist/esm/calcite-input-time-zone.entry.js +10 -10
  387. package/dist/esm/calcite-input_2.entry.js +11 -11
  388. package/dist/esm/calcite-label-d80f6f1c.js +108 -0
  389. package/dist/esm/calcite-label.entry.js +3 -3
  390. package/dist/esm/calcite-link.entry.js +5 -5
  391. package/dist/esm/calcite-list-item-group.entry.js +2 -2
  392. package/dist/esm/calcite-menu-item.entry.js +7 -7
  393. package/dist/esm/calcite-menu.entry.js +7 -7
  394. package/dist/esm/calcite-meter.entry.js +7 -7
  395. package/dist/esm/calcite-modal_4.entry.js +965 -0
  396. package/dist/esm/calcite-navigation-logo.entry.js +4 -4
  397. package/dist/esm/calcite-navigation-user.entry.js +3 -3
  398. package/dist/esm/calcite-navigation.entry.js +4 -4
  399. package/dist/esm/calcite-notice-acc12411.js +258 -0
  400. package/dist/esm/calcite-notice.entry.js +9 -9
  401. package/dist/esm/calcite-option-group.entry.js +1 -1
  402. package/dist/esm/calcite-option_2.entry.js +9 -9
  403. package/dist/esm/calcite-pagination.entry.js +7 -7
  404. package/dist/esm/calcite-pick-list-group.entry.js +8 -8
  405. package/dist/esm/calcite-pick-list-item.entry.js +11 -11
  406. package/dist/esm/calcite-pick-list.entry.js +9 -9
  407. package/dist/esm/calcite-radio-button-group.entry.js +6 -6
  408. package/dist/esm/calcite-radio-button.entry.js +7 -7
  409. package/dist/esm/calcite-rating.entry.js +10 -10
  410. package/dist/esm/calcite-scrim.entry.js +6 -6
  411. package/dist/esm/calcite-segmented-control_2.entry.js +8 -8
  412. package/dist/esm/calcite-sheet.entry.js +8 -8
  413. package/dist/esm/calcite-shell-center-row.entry.js +7 -7
  414. package/dist/esm/calcite-shell-panel_14.entry.js +25 -25
  415. package/dist/esm/calcite-shell.entry.js +5 -5
  416. package/dist/esm/calcite-sortable-list.entry.js +5 -5
  417. package/dist/esm/calcite-split-button.entry.js +4 -4
  418. package/dist/esm/calcite-stepper-item.entry.js +8 -8
  419. package/dist/esm/calcite-stepper.entry.js +6 -6
  420. package/dist/esm/calcite-switch.entry.js +7 -7
  421. package/dist/esm/calcite-table-cell_2.entry.js +8 -8
  422. package/dist/esm/calcite-table-row.entry.js +3 -3
  423. package/dist/esm/calcite-table.entry.js +7 -7
  424. package/dist/esm/calcite-text-area.entry.js +11 -11
  425. package/dist/esm/calcite-tile-group.entry.js +5 -5
  426. package/dist/esm/calcite-tile-select-group.entry.js +4 -4
  427. package/dist/esm/calcite-tile-select.entry.js +6 -6
  428. package/dist/esm/calcite-tile.entry.js +5 -5
  429. package/dist/esm/calcite-time-picker.entry.js +8 -8
  430. package/dist/esm/calcite-tip-group.entry.js +3 -3
  431. package/dist/esm/calcite-tip-manager.entry.js +9 -9
  432. package/dist/esm/calcite-tip.entry.js +10 -10
  433. package/dist/esm/calcite-tooltip.entry.js +6 -6
  434. package/dist/esm/calcite-tree_2.entry.js +6 -6
  435. package/dist/esm/card-manager_3.entry.js +194 -51
  436. package/dist/esm/common-c8dc0e85.js +35 -0
  437. package/dist/esm/conditionalSlot-2e16b206.js +51 -0
  438. package/dist/esm/config-e6645458.js +36 -0
  439. package/dist/esm/consent-manager.entry.js +7911 -42
  440. package/dist/esm/crowdsource-manager.entry.js +6 -6
  441. package/dist/esm/crowdsource-reporter.entry.js +3 -3
  442. package/dist/esm/cs-250e21c6.js +147 -0
  443. package/dist/esm/da-bab8eb4e.js +67 -0
  444. package/dist/esm/date-272939fd.js +248 -0
  445. package/dist/esm/de-808a43dc.js +91 -0
  446. package/dist/esm/de-at-9c396c81.js +90 -0
  447. package/dist/esm/de-ch-415303cf.js +90 -0
  448. package/dist/esm/deduct-calculator.entry.js +2 -2
  449. package/dist/esm/dom-66c5cd46.js +1165 -0
  450. package/dist/esm/downloadUtils-8ba094d7.js +3217 -0
  451. package/dist/esm/el-3d1eaeb8.js +66 -0
  452. package/dist/esm/en-au-e6b00a93.js +66 -0
  453. package/dist/esm/en-ca-29b94ea2.js +65 -0
  454. package/dist/esm/en-gb-09267176.js +69 -0
  455. package/dist/esm/es-95fef748.js +66 -0
  456. package/dist/esm/es-mx-9b70cfc9.js +65 -0
  457. package/dist/esm/et-08cbe214.js +92 -0
  458. package/dist/esm/feature-list.entry.js +12 -10
  459. package/dist/esm/fi-e850e58b.js +115 -0
  460. package/dist/esm/floating-ui-1a431a21.js +2404 -0
  461. package/dist/esm/focusTrapComponent-e80b8863.js +1008 -0
  462. package/dist/esm/form-1528db83.js +362 -0
  463. package/dist/esm/form-99398da6.js +372 -0
  464. package/dist/esm/fr-c71b6844.js +68 -0
  465. package/dist/esm/fr-ch-7ac7a7eb.js +66 -0
  466. package/dist/esm/he-311cb5ba.js +105 -0
  467. package/dist/esm/helpers-f52a734a.js +913 -0
  468. package/dist/esm/hi-c41f0938.js +65 -0
  469. package/dist/esm/hr-f42cc721.js +80 -0
  470. package/dist/esm/hu-d1d33b21.js +88 -0
  471. package/dist/esm/icon-18c0eb17.js +959 -0
  472. package/dist/esm/id-1867967d.js +66 -0
  473. package/dist/esm/index-38bde943.js +199 -0
  474. package/dist/esm/index-d233c7a2.js +1753 -0
  475. package/dist/esm/index-d88c3eb6.js +2155 -0
  476. package/dist/esm/index.es-d286eecc.js +11134 -0
  477. package/dist/esm/instant-apps-app-guide.entry.js +2 -2
  478. package/dist/esm/instant-apps-control-panel.entry.js +1 -1
  479. package/dist/esm/instant-apps-create.entry.js +2 -2
  480. package/dist/esm/instant-apps-export-views.entry.js +2 -2
  481. package/dist/esm/instant-apps-export.entry.js +2 -2
  482. package/dist/esm/instant-apps-header.entry.js +2 -2
  483. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +3 -3
  484. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +3 -3
  485. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +3 -3
  486. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +3 -3
  487. package/dist/esm/instant-apps-interactive-legend.entry.js +4 -4
  488. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +2 -2
  489. package/dist/esm/instant-apps-landing-page.entry.js +1 -1
  490. package/dist/esm/instant-apps-language-switcher.entry.js +4 -4
  491. package/dist/esm/instant-apps-language-translator.entry.js +4 -4
  492. package/dist/esm/instant-apps-measurement.entry.js +2 -2
  493. package/dist/esm/instant-apps-popover.entry.js +2 -2
  494. package/dist/esm/instant-apps-popovers.entry.js +1 -1
  495. package/dist/esm/instant-apps-scoreboard.entry.js +2 -2
  496. package/dist/esm/instant-apps-sign-in.entry.js +2 -2
  497. package/dist/esm/instant-apps-splash.entry.js +3 -3
  498. package/dist/esm/instant-apps-time-filter.entry.js +3 -3
  499. package/dist/esm/interactive-5139f8d7.js +83 -0
  500. package/dist/esm/interactive-cad37709.js +82 -0
  501. package/dist/esm/it-6a7495d8.js +66 -0
  502. package/dist/esm/it-ch-89fa3c82.js +66 -0
  503. package/dist/esm/ja-f87a1f44.js +72 -0
  504. package/dist/esm/ko-0f4c7a11.js +72 -0
  505. package/dist/esm/label-56002f24.js +179 -0
  506. package/dist/esm/loadable-dc3f24a8.js +93 -0
  507. package/dist/esm/loader-bae2aa52.js +173 -0
  508. package/dist/esm/loader.js +6 -6
  509. package/dist/esm/locale-586d9375.js +155 -0
  510. package/dist/esm/locale-911eca09.js +591 -0
  511. package/dist/esm/locale-be7fd298.js +1423 -0
  512. package/dist/esm/logger-ff14b12f.js +59 -0
  513. package/dist/esm/lt-a4b14416.js +97 -0
  514. package/dist/esm/lv-3901862d.js +66 -0
  515. package/dist/esm/map-select-tools_3.entry.js +13 -11
  516. package/dist/esm/mk-886d280d.js +66 -0
  517. package/dist/esm/nb-b667a0e1.js +67 -0
  518. package/dist/esm/nl-d357a092.js +67 -0
  519. package/dist/esm/observers-ab3d6528.js +56 -0
  520. package/dist/esm/openCloseComponent-0e1e6768.js +64 -0
  521. package/dist/esm/openCloseComponent-c3f79463.js +63 -0
  522. package/dist/esm/pci-calculator.entry.js +2 -2
  523. package/dist/esm/pl-75d54069.js +114 -0
  524. package/dist/esm/popupUtils-ddb1f6fa.js +119 -0
  525. package/dist/esm/pt-32bd5da2.js +67 -0
  526. package/dist/esm/pt-br-6f32314d.js +65 -0
  527. package/dist/esm/public-notification.entry.js +12 -10
  528. package/dist/esm/publicNotificationStore-8b54bf6f.js +45 -0
  529. package/dist/esm/request-2dbb152a.js +19 -0
  530. package/dist/esm/restHelpersGet-a7fda344.js +493 -0
  531. package/dist/esm/ro-d238055e.js +66 -0
  532. package/dist/esm/ru-ef7165ff.js +126 -0
  533. package/dist/esm/shared-list-render-5f202c55.js +339 -0
  534. package/dist/esm/sk-959dbca1.js +148 -0
  535. package/dist/esm/sl-96436015.js +168 -0
  536. package/dist/esm/solution-configuration.entry.js +34 -34
  537. package/dist/esm/solution-contents_3.entry.js +11 -11
  538. package/dist/esm/solution-item-accordion.entry.js +3 -3
  539. package/dist/esm/solution-item-icon.entry.js +2 -2
  540. package/dist/esm/solution-resource-30a29505.js +1842 -0
  541. package/dist/esm/solution-store-f252cb74.js +1103 -0
  542. package/dist/esm/solutions-components.js +7 -7
  543. package/dist/esm/spatial-ref.entry.js +5 -6
  544. package/dist/esm/sr-73033c89.js +101 -0
  545. package/dist/esm/store-manager.entry.js +7 -7
  546. package/dist/esm/sv-b1153aa8.js +71 -0
  547. package/dist/esm/t9n-1698878e.js +103 -0
  548. package/dist/esm/templates-60f33938.js +401 -0
  549. package/dist/esm/th-e1a074e2.js +65 -0
  550. package/dist/esm/time-bca5f70b.js +286 -0
  551. package/dist/esm/tr-1350f529.js +66 -0
  552. package/dist/esm/typeof-ef2a007d.js +25 -0
  553. package/dist/esm/uk-18ded66c.js +104 -0
  554. package/dist/esm/update-ad0b88fa.js +773 -0
  555. package/dist/esm/utils-0da093e1.js +142 -0
  556. package/dist/esm/utils-30c4c8ca.js +66 -0
  557. package/dist/esm/vi-cee99413.js +70 -0
  558. package/dist/esm/zh-cn-6e204128.js +94 -0
  559. package/dist/esm/zh-hk-ffb02673.js +92 -0
  560. package/dist/esm/zh-tw-0f52dd8c.js +92 -0
  561. package/dist/solutions-components/assets/t9n/consent-manager/resources.json +3 -10
  562. package/dist/solutions-components/assets/t9n/consent-manager/resources_en.json +3 -10
  563. package/dist/solutions-components/demos/consent-manager.html +56 -0
  564. package/dist/solutions-components/p-0094924f.entry.js +6 -0
  565. package/dist/solutions-components/p-00ea0ccc.entry.js +11 -0
  566. package/dist/solutions-components/p-018d1f95.entry.js +6 -0
  567. package/dist/solutions-components/p-025af0b3.entry.js +21 -0
  568. package/dist/solutions-components/p-0549a65c.js +6 -0
  569. package/dist/solutions-components/p-058d0542.js +17 -0
  570. package/dist/solutions-components/p-0668e30d.js +34 -0
  571. package/dist/solutions-components/p-066fc169.js +6 -0
  572. package/dist/solutions-components/p-067e36b2.entry.js +6 -0
  573. package/dist/solutions-components/p-0681b29b.entry.js +11 -0
  574. package/dist/solutions-components/p-0691d1af.entry.js +22 -0
  575. package/dist/solutions-components/p-088a5dca.js +67 -0
  576. package/dist/solutions-components/p-097b80df.js +6 -0
  577. package/dist/solutions-components/p-0a0902c4.entry.js +6 -0
  578. package/dist/solutions-components/p-0a71f549.entry.js +29 -0
  579. package/dist/solutions-components/p-0ac9cc4a.entry.js +21 -0
  580. package/dist/solutions-components/p-0b1fb6ae.js +36 -0
  581. package/dist/solutions-components/p-0d82ed7b.entry.js +11 -0
  582. package/dist/solutions-components/p-0e307601.entry.js +11 -0
  583. package/dist/solutions-components/p-0ece17fc.entry.js +6 -0
  584. package/dist/solutions-components/p-0f58bb3a.entry.js +11 -0
  585. package/dist/solutions-components/p-0f9f7528.entry.js +11 -0
  586. package/dist/solutions-components/p-135b2aba.js +16 -0
  587. package/dist/solutions-components/p-13bdb2c0.js +6 -0
  588. package/dist/solutions-components/p-14519a8a.entry.js +11 -0
  589. package/dist/solutions-components/p-1492bb6d.js +6 -0
  590. package/dist/solutions-components/p-1664573a.entry.js +6 -0
  591. package/dist/solutions-components/p-1900f9b1.js +11 -0
  592. package/dist/solutions-components/p-1984f2c7.entry.js +17 -0
  593. package/dist/solutions-components/p-1c1842b0.entry.js +6 -0
  594. package/dist/solutions-components/p-1f9d927b.entry.js +6 -0
  595. package/dist/solutions-components/p-1fb3756b.js +6 -0
  596. package/dist/solutions-components/p-208b5cc4.entry.js +6 -0
  597. package/dist/solutions-components/p-20cda8ef.entry.js +6 -0
  598. package/dist/solutions-components/p-2130a063.entry.js +17 -0
  599. package/dist/solutions-components/p-21f90019.js +21 -0
  600. package/dist/solutions-components/p-230f7315.entry.js +6 -0
  601. package/dist/solutions-components/p-24b42859.entry.js +47 -0
  602. package/dist/solutions-components/p-26f9f9c8.js +11 -0
  603. package/dist/solutions-components/p-270ca219.entry.js +6 -0
  604. package/dist/solutions-components/p-27a91364.entry.js +17 -0
  605. package/dist/solutions-components/p-28498868.entry.js +11 -0
  606. package/dist/solutions-components/p-2a5a5bfd.entry.js +11 -0
  607. package/dist/solutions-components/p-2ac553f6.js +6 -0
  608. package/dist/solutions-components/p-2b004a83.entry.js +11 -0
  609. package/dist/solutions-components/p-2b1e6acb.entry.js +6 -0
  610. package/dist/solutions-components/p-2bc98cb0.js +30 -0
  611. package/dist/solutions-components/p-2d96fdb9.js +6 -0
  612. package/dist/solutions-components/p-2dd8e49c.js +11 -0
  613. package/dist/solutions-components/p-30a16b7e.entry.js +11 -0
  614. package/dist/solutions-components/p-3212300b.entry.js +6 -0
  615. package/dist/solutions-components/p-35245316.entry.js +6 -0
  616. package/dist/solutions-components/p-3643a87a.entry.js +6 -0
  617. package/dist/solutions-components/p-3708cbdc.entry.js +6 -0
  618. package/dist/solutions-components/p-3828e77b.js +11 -0
  619. package/dist/solutions-components/p-38e0f88b.js +17 -0
  620. package/dist/solutions-components/p-3b3bfba5.entry.js +6 -0
  621. package/dist/solutions-components/p-3ba80c7c.js +6 -0
  622. package/dist/solutions-components/p-3d1f0434.js +21 -0
  623. package/dist/solutions-components/p-3ffc4738.js +6 -0
  624. package/dist/solutions-components/p-409401ce.js +11 -0
  625. package/dist/solutions-components/p-46159285.js +6 -0
  626. package/dist/solutions-components/p-49a67314.entry.js +6 -0
  627. package/dist/solutions-components/p-4cbdea35.js +129 -0
  628. package/dist/solutions-components/p-4dfc2fc4.js +11 -0
  629. package/dist/solutions-components/p-4f236b5d.js +43 -0
  630. package/dist/solutions-components/p-4f50385f.js +16 -0
  631. package/dist/solutions-components/p-4fe489cf.js +6 -0
  632. package/dist/solutions-components/p-50239e15.entry.js +6 -0
  633. package/dist/solutions-components/p-531f66c7.entry.js +6 -0
  634. package/dist/solutions-components/p-570754a4.js +6 -0
  635. package/dist/solutions-components/p-570b13d9.js +67 -0
  636. package/dist/solutions-components/p-58d53a46.entry.js +6 -0
  637. package/dist/solutions-components/p-59970898.js +6 -0
  638. package/dist/solutions-components/p-59d02697.entry.js +11 -0
  639. package/dist/solutions-components/p-5b2ae6c4.js +6 -0
  640. package/dist/solutions-components/p-5b9783e6.entry.js +23 -0
  641. package/dist/solutions-components/p-5c5cbe3c.js +6 -0
  642. package/dist/solutions-components/p-5c692ed6.entry.js +11 -0
  643. package/dist/solutions-components/p-5cfa35f8.js +6 -0
  644. package/dist/solutions-components/p-5d581b7e.entry.js +6 -0
  645. package/dist/solutions-components/p-5df09fe4.js +31 -0
  646. package/dist/solutions-components/p-5ee359f1.entry.js +11 -0
  647. package/dist/solutions-components/p-5f099cd2.js +6 -0
  648. package/dist/solutions-components/p-60123545.js +6 -0
  649. package/dist/solutions-components/p-6148468f.js +11 -0
  650. package/dist/solutions-components/p-617d2160.js +6 -0
  651. package/dist/solutions-components/p-619a1ad0.js +6 -0
  652. package/dist/solutions-components/p-61d2582e.entry.js +6 -0
  653. package/dist/solutions-components/p-662cf7fa.entry.js +11 -0
  654. package/dist/solutions-components/p-6708060e.js +11 -0
  655. package/dist/solutions-components/p-676a2d60.entry.js +6 -0
  656. package/dist/solutions-components/p-68b5ec37.js +11 -0
  657. package/dist/solutions-components/p-68cf5134.entry.js +12 -0
  658. package/dist/solutions-components/p-694cfe4c.js +6 -0
  659. package/dist/solutions-components/p-6bcde3c4.js +6 -0
  660. package/dist/solutions-components/p-6c73f067.js +16 -0
  661. package/dist/solutions-components/p-6d56f75e.js +11 -0
  662. package/dist/solutions-components/p-6db88e16.entry.js +11 -0
  663. package/dist/solutions-components/p-6f93ec3e.entry.js +6 -0
  664. package/dist/solutions-components/p-7053b20e.entry.js +6 -0
  665. package/dist/solutions-components/p-741151d4.js +6 -0
  666. package/dist/solutions-components/p-749fe711.js +6 -0
  667. package/dist/solutions-components/p-7518e92a.js +6 -0
  668. package/dist/solutions-components/p-7802efa1.entry.js +11 -0
  669. package/dist/solutions-components/p-782c71a7.js +6 -0
  670. package/dist/solutions-components/p-78aa10b0.js +6 -0
  671. package/dist/solutions-components/p-7a8edc01.entry.js +11 -0
  672. package/dist/solutions-components/p-7a9e773b.js +6 -0
  673. package/dist/solutions-components/p-7aa5b402.entry.js +11 -0
  674. package/dist/solutions-components/p-7aafba66.js +11 -0
  675. package/dist/solutions-components/p-7d619b04.entry.js +11 -0
  676. package/dist/solutions-components/p-7dc37540.js +11 -0
  677. package/dist/solutions-components/p-7e3a6a0b.entry.js +11 -0
  678. package/dist/solutions-components/p-7fd55161.entry.js +6 -0
  679. package/dist/solutions-components/p-80168ff4.entry.js +11 -0
  680. package/dist/solutions-components/p-823684a3.js +6 -0
  681. package/dist/solutions-components/p-825ef4a7.js +6 -0
  682. package/dist/solutions-components/p-82d93164.js +11 -0
  683. package/dist/solutions-components/p-82f661c7.entry.js +11 -0
  684. package/dist/solutions-components/p-8378852e.js +6 -0
  685. package/dist/solutions-components/p-85bb5908.js +11 -0
  686. package/dist/solutions-components/p-866a2fad.js +11 -0
  687. package/dist/solutions-components/p-8744fe2a.entry.js +6 -0
  688. package/dist/solutions-components/p-8850bd21.js +21 -0
  689. package/dist/solutions-components/p-896a5fce.entry.js +11 -0
  690. package/dist/solutions-components/p-8df5939f.js +6 -0
  691. package/dist/solutions-components/p-8ec56f08.entry.js +11 -0
  692. package/dist/solutions-components/p-8ff2cba2.entry.js +11 -0
  693. package/dist/solutions-components/p-8ff4b2aa.js +488 -0
  694. package/dist/solutions-components/p-94ad391c.js +40 -0
  695. package/dist/solutions-components/p-958c68c2.js +61 -0
  696. package/dist/solutions-components/p-95fcb607.js +6 -0
  697. package/dist/solutions-components/p-97df5300.js +27 -0
  698. package/dist/solutions-components/p-98079396.js +21 -0
  699. package/dist/solutions-components/p-98b1c057.entry.js +6 -0
  700. package/dist/solutions-components/p-9d4f62ca.js +6 -0
  701. package/dist/solutions-components/p-9d733373.entry.js +17 -0
  702. package/dist/solutions-components/p-9d9df87f.entry.js +6 -0
  703. package/dist/solutions-components/p-9e5d59aa.entry.js +11 -0
  704. package/dist/solutions-components/p-9f89901b.entry.js +6 -0
  705. package/dist/solutions-components/p-9fa8da35.entry.js +11 -0
  706. package/dist/solutions-components/p-a28502ac.entry.js +6 -0
  707. package/dist/solutions-components/p-a5df8093.entry.js +11 -0
  708. package/dist/solutions-components/p-a757bf75.js +16 -0
  709. package/dist/solutions-components/p-a7eded8f.entry.js +11 -0
  710. package/dist/solutions-components/p-a91fc014.entry.js +6 -0
  711. package/dist/solutions-components/p-aa6656f0.js +6 -0
  712. package/dist/solutions-components/p-abe60b81.entry.js +6 -0
  713. package/dist/solutions-components/p-ad66b010.entry.js +11 -0
  714. package/dist/solutions-components/p-adb57e25.entry.js +6 -0
  715. package/dist/solutions-components/p-add122e7.js +6 -0
  716. package/dist/solutions-components/p-ae357552.entry.js +11 -0
  717. package/dist/solutions-components/p-af4f2d4a.js +11 -0
  718. package/dist/solutions-components/p-b0d0022c.entry.js +11 -0
  719. package/dist/solutions-components/p-b14d2423.entry.js +11 -0
  720. package/dist/solutions-components/p-b1546c15.js +17 -0
  721. package/dist/solutions-components/p-b1c45ef8.entry.js +6 -0
  722. package/dist/solutions-components/p-b1f3c713.js +6 -0
  723. package/dist/solutions-components/p-b22046db.js +11 -0
  724. package/dist/solutions-components/p-b290affa.js +17 -0
  725. package/dist/solutions-components/p-b3b70f6b.entry.js +12 -0
  726. package/dist/solutions-components/p-b4a94ffe.entry.js +6 -0
  727. package/dist/solutions-components/p-b62871c3.entry.js +11 -0
  728. package/dist/solutions-components/p-b6a36bfe.js +6 -0
  729. package/dist/solutions-components/p-b915029b.js +6 -0
  730. package/dist/solutions-components/p-b98e9479.js +11 -0
  731. package/dist/solutions-components/p-b9bc3e7b.entry.js +17 -0
  732. package/dist/solutions-components/p-ba539e5a.entry.js +11 -0
  733. package/dist/solutions-components/p-bad614c0.entry.js +11 -0
  734. package/dist/solutions-components/p-bb158785.entry.js +11 -0
  735. package/dist/solutions-components/p-bc281e3b.js +6 -0
  736. package/dist/solutions-components/p-bc2b747e.js +6 -0
  737. package/dist/solutions-components/p-be78bc15.entry.js +6 -0
  738. package/dist/solutions-components/p-bf154e41.js +6 -0
  739. package/dist/solutions-components/p-c109e720.js +6 -0
  740. package/dist/solutions-components/p-c115215d.entry.js +6 -0
  741. package/dist/solutions-components/p-c433cc38.js +6 -0
  742. package/dist/solutions-components/p-c43fdf49.entry.js +16 -0
  743. package/dist/solutions-components/p-c5e0e5ef.js +6 -0
  744. package/dist/solutions-components/p-c766823c.entry.js +11 -0
  745. package/dist/solutions-components/p-c8a2c326.entry.js +29 -0
  746. package/dist/solutions-components/p-c8b26c56.js +6 -0
  747. package/dist/solutions-components/p-c900e9e8.entry.js +17 -0
  748. package/dist/solutions-components/p-c9dae6fb.entry.js +6 -0
  749. package/dist/solutions-components/p-cbf0769a.entry.js +11 -0
  750. package/dist/solutions-components/p-cc7d784e.entry.js +6 -0
  751. package/dist/solutions-components/p-ce8a69ef.entry.js +11 -0
  752. package/dist/solutions-components/p-cea51591.js +16 -0
  753. package/dist/solutions-components/p-d0b1d33f.js +6 -0
  754. package/dist/solutions-components/p-d0b36f2e.entry.js +6 -0
  755. package/dist/solutions-components/p-d2a6e970.js +6 -0
  756. package/dist/solutions-components/p-d2dc7d65.entry.js +11 -0
  757. package/dist/solutions-components/p-d60dc1f1.entry.js +11 -0
  758. package/dist/solutions-components/p-d654b676.entry.js +11 -0
  759. package/dist/solutions-components/p-d65f8b73.js +6 -0
  760. package/dist/solutions-components/p-d82ee2f9.entry.js +6 -0
  761. package/dist/solutions-components/p-d96fe526.entry.js +22 -0
  762. package/dist/solutions-components/p-da0cb140.entry.js +11 -0
  763. package/dist/solutions-components/p-da36faca.entry.js +6 -0
  764. package/dist/solutions-components/p-daf6a012.entry.js +6 -0
  765. package/dist/solutions-components/p-dba4704c.js +11 -0
  766. package/dist/solutions-components/p-dd16d94e.js +6 -0
  767. package/dist/solutions-components/p-dd689226.js +11 -0
  768. package/dist/solutions-components/p-dd6a34c6.entry.js +17 -0
  769. package/dist/solutions-components/p-df4bfe45.js +6 -0
  770. package/dist/solutions-components/p-dfe18931.js +6 -0
  771. package/dist/solutions-components/p-e2570a80.js +11 -0
  772. package/dist/solutions-components/p-ea9e0a79.js +6 -0
  773. package/dist/solutions-components/p-eb88fddc.js +6 -0
  774. package/dist/solutions-components/p-ed4fb4a1.entry.js +6 -0
  775. package/dist/solutions-components/p-ef0c43dc.js +6 -0
  776. package/dist/solutions-components/p-f05bbd82.entry.js +11 -0
  777. package/dist/solutions-components/p-f0ceb675.entry.js +11 -0
  778. package/dist/solutions-components/p-f1f356f0.js +7 -0
  779. package/dist/solutions-components/p-f46f7da7.entry.js +12 -0
  780. package/dist/solutions-components/p-f6e3d19a.entry.js +11 -0
  781. package/dist/solutions-components/p-f6e81cf8.js +22 -0
  782. package/dist/solutions-components/p-f7085e9e.entry.js +17 -0
  783. package/dist/solutions-components/p-f8ea8e73.js +6 -0
  784. package/dist/solutions-components/p-fb6ca6dd.entry.js +11 -0
  785. package/dist/solutions-components/p-fdaf1290.entry.js +11 -0
  786. package/dist/solutions-components/p-fe719f16.entry.js +6 -0
  787. package/dist/solutions-components/p-feebdac9.entry.js +17 -0
  788. package/dist/solutions-components/p-ff15447c.entry.js +6 -0
  789. package/dist/solutions-components/solutions-components.esm.js +1 -1
  790. package/dist/solutions-components/utils/interfaces.ts +14 -0
  791. package/dist/types/components/consent-manager/consent-manager.d.ts +24 -21
  792. package/dist/types/components/delete-button/delete-button.d.ts +1 -1
  793. package/dist/types/components/edit-card/edit-card.d.ts +4 -0
  794. package/dist/types/components/layer-table/layer-table.d.ts +55 -7
  795. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +18 -2
  796. package/dist/types/components/map-picker/map-picker.d.ts +10 -2
  797. package/dist/types/components.d.ts +69 -36
  798. package/dist/types/preact.d.ts +6 -7
  799. package/dist/types/stencil-public-runtime.d.ts +6 -0
  800. package/dist/types/utils/interfaces.d.ts +12 -0
  801. package/package.json +10 -10
  802. package/dist/cjs/ExpandToggle-7cd6bc0d.js +0 -115
  803. package/dist/cjs/FloatingArrow-bf91ebb1.js +0 -48
  804. package/dist/cjs/Heading-ae667128.js +0 -25
  805. package/dist/cjs/IdentityManager-b7fa2f5f.js +0 -4174
  806. package/dist/cjs/Validation-a206c7a2.js +0 -20
  807. package/dist/cjs/app-globals-04574c64.js +0 -67
  808. package/dist/cjs/ar-c930d85d.js +0 -106
  809. package/dist/cjs/arcgis-login.cjs.entry.js +0 -61
  810. package/dist/cjs/bg-a2001c61.js +0 -84
  811. package/dist/cjs/browser-040b13db.js +0 -35
  812. package/dist/cjs/bs-5576dc1b.js +0 -53
  813. package/dist/cjs/ca-220471e9.js +0 -73
  814. package/dist/cjs/calcite-alert_6.cjs.entry.js +0 -2105
  815. package/dist/cjs/calcite-button-ac4b979a.js +0 -281
  816. package/dist/cjs/calcite-dialog-97f38598.js +0 -5875
  817. package/dist/cjs/calcite-input-0ecf3d60.js +0 -1000
  818. package/dist/cjs/calcite-input-time-picker-4020e170.js +0 -1870
  819. package/dist/cjs/calcite-label-8ca1fbce.js +0 -110
  820. package/dist/cjs/calcite-modal.cjs.entry.js +0 -393
  821. package/dist/cjs/calcite-notice-2e248d8d.js +0 -260
  822. package/dist/cjs/common-eee0c33f.js +0 -38
  823. package/dist/cjs/conditionalSlot-489d0ef0.js +0 -54
  824. package/dist/cjs/config-164bf148.js +0 -40
  825. package/dist/cjs/cs-a049b34a.js +0 -149
  826. package/dist/cjs/da-d71057be.js +0 -69
  827. package/dist/cjs/date-831e93f2.js +0 -264
  828. package/dist/cjs/de-at-977ab186.js +0 -92
  829. package/dist/cjs/de-b1eb21d0.js +0 -93
  830. package/dist/cjs/de-ch-486d1e5d.js +0 -92
  831. package/dist/cjs/delete-dialog.cjs.entry.js +0 -131
  832. package/dist/cjs/downloadUtils-f50841bc.js +0 -3240
  833. package/dist/cjs/el-577ee36f.js +0 -68
  834. package/dist/cjs/en-au-e7c3a0f9.js +0 -68
  835. package/dist/cjs/en-ca-111580b6.js +0 -67
  836. package/dist/cjs/en-gb-b061a0ac.js +0 -71
  837. package/dist/cjs/es-ae90d3b8.js +0 -68
  838. package/dist/cjs/es-mx-620f2f82.js +0 -67
  839. package/dist/cjs/et-3b0bd1a9.js +0 -94
  840. package/dist/cjs/fi-8708148b.js +0 -117
  841. package/dist/cjs/floating-ui-a1745c4c.js +0 -2413
  842. package/dist/cjs/focusTrapComponent-59e1194f.js +0 -1013
  843. package/dist/cjs/form-3666a51b.js +0 -370
  844. package/dist/cjs/form-a2adec8c.js +0 -381
  845. package/dist/cjs/fr-9a9d3ce3.js +0 -70
  846. package/dist/cjs/fr-ch-95662c01.js +0 -68
  847. package/dist/cjs/he-f973a740.js +0 -107
  848. package/dist/cjs/helpers-292a0709.js +0 -940
  849. package/dist/cjs/hi-f0b9cea5.js +0 -67
  850. package/dist/cjs/hr-4654706f.js +0 -82
  851. package/dist/cjs/hu-bc3d5588.js +0 -90
  852. package/dist/cjs/icon-96d27ae8.js +0 -979
  853. package/dist/cjs/id-1131b8da.js +0 -68
  854. package/dist/cjs/index-29826564.js +0 -201
  855. package/dist/cjs/index-92385c74.js +0 -1772
  856. package/dist/cjs/index-f052f656.js +0 -2156
  857. package/dist/cjs/index.es-b8c8c931.js +0 -11307
  858. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +0 -590
  859. package/dist/cjs/interactive-9f715ff8.js +0 -86
  860. package/dist/cjs/interactive-c384fd9b.js +0 -85
  861. package/dist/cjs/it-7a8ec220.js +0 -68
  862. package/dist/cjs/it-ch-f9cb696d.js +0 -68
  863. package/dist/cjs/ja-45b4845d.js +0 -74
  864. package/dist/cjs/ko-61449645.js +0 -74
  865. package/dist/cjs/loadable-9cb8a3cd.js +0 -98
  866. package/dist/cjs/loader-b9aa1d67.js +0 -176
  867. package/dist/cjs/locale-a0772a2b.js +0 -605
  868. package/dist/cjs/locale-afa30303.js +0 -160
  869. package/dist/cjs/locale-f6e0493d.js +0 -1488
  870. package/dist/cjs/logger-e5bdc044.js +0 -61
  871. package/dist/cjs/lt-2e727f9c.js +0 -99
  872. package/dist/cjs/lv-ed202e00.js +0 -68
  873. package/dist/cjs/mk-418a9e03.js +0 -68
  874. package/dist/cjs/nb-333e1c58.js +0 -69
  875. package/dist/cjs/nl-da937865.js +0 -69
  876. package/dist/cjs/observers-ce262300.js +0 -58
  877. package/dist/cjs/openCloseComponent-214808b0.js +0 -66
  878. package/dist/cjs/openCloseComponent-c0b7af22.js +0 -65
  879. package/dist/cjs/pl-cbe57516.js +0 -116
  880. package/dist/cjs/popupUtils-2a425c37.js +0 -121
  881. package/dist/cjs/pt-b1ec4928.js +0 -69
  882. package/dist/cjs/pt-br-e395a325.js +0 -67
  883. package/dist/cjs/publicNotificationStore-1d934df9.js +0 -47
  884. package/dist/cjs/request-9f87ab34.js +0 -21
  885. package/dist/cjs/restHelpersGet-5c2245a3.js +0 -991
  886. package/dist/cjs/ro-144b5f62.js +0 -68
  887. package/dist/cjs/ru-bf7d1a3e.js +0 -128
  888. package/dist/cjs/share-item.cjs.entry.js +0 -61
  889. package/dist/cjs/shared-list-render-0b452799.js +0 -361
  890. package/dist/cjs/sk-515227a5.js +0 -150
  891. package/dist/cjs/sl-f879b07d.js +0 -170
  892. package/dist/cjs/solution-resource-40e70253.js +0 -145
  893. package/dist/cjs/solution-store-f3257490.js +0 -1354
  894. package/dist/cjs/sr-0510fba6.js +0 -103
  895. package/dist/cjs/sv-c5fbe1ff.js +0 -73
  896. package/dist/cjs/t9n-e69b3d42.js +0 -108
  897. package/dist/cjs/templates-0b7f886f.js +0 -408
  898. package/dist/cjs/th-8cafcb47.js +0 -67
  899. package/dist/cjs/time-ceec376d.js +0 -301
  900. package/dist/cjs/tr-7f905223.js +0 -68
  901. package/dist/cjs/uk-991e83da.js +0 -106
  902. package/dist/cjs/utils-d8dabd76.js +0 -153
  903. package/dist/cjs/utils-e60dc760.js +0 -79
  904. package/dist/cjs/vi-d5eababe.js +0 -72
  905. package/dist/cjs/zh-cn-e6bc2622.js +0 -96
  906. package/dist/cjs/zh-hk-30480131.js +0 -94
  907. package/dist/cjs/zh-tw-1f3b4cda.js +0 -94
  908. package/dist/collection/components/arcgis-login/arcgis-login.css +0 -19
  909. package/dist/collection/components/arcgis-login/arcgis-login.js +0 -80
  910. package/dist/collection/components/share-item/share-item.css +0 -19
  911. package/dist/collection/components/share-item/share-item.js +0 -80
  912. package/dist/components/arcgis-login.d.ts +0 -11
  913. package/dist/components/arcgis-login.js +0 -76
  914. package/dist/components/share-item.d.ts +0 -11
  915. package/dist/components/share-item.js +0 -76
  916. package/dist/esm/ExpandToggle-51a5210b.js +0 -108
  917. package/dist/esm/FloatingArrow-41be757a.js +0 -46
  918. package/dist/esm/Heading-62ae5a41.js +0 -22
  919. package/dist/esm/IdentityManager-28f1ebb3.js +0 -4139
  920. package/dist/esm/Validation-e4b3bd31.js +0 -18
  921. package/dist/esm/app-globals-9df1c281.js +0 -65
  922. package/dist/esm/ar-000d3816.js +0 -104
  923. package/dist/esm/arcgis-login.entry.js +0 -57
  924. package/dist/esm/bg-50ceeb3e.js +0 -82
  925. package/dist/esm/browser-13cd5e9f.js +0 -32
  926. package/dist/esm/bs-8de5a54e.js +0 -51
  927. package/dist/esm/ca-3b560649.js +0 -71
  928. package/dist/esm/calcite-alert_6.entry.js +0 -2096
  929. package/dist/esm/calcite-button-3501ac03.js +0 -278
  930. package/dist/esm/calcite-dialog-21f00586.js +0 -5872
  931. package/dist/esm/calcite-input-355d3812.js +0 -997
  932. package/dist/esm/calcite-input-time-picker-0137aecc.js +0 -1867
  933. package/dist/esm/calcite-label-ac4a2e81.js +0 -107
  934. package/dist/esm/calcite-modal.entry.js +0 -389
  935. package/dist/esm/calcite-notice-56c3f190.js +0 -257
  936. package/dist/esm/common-c3bbba83.js +0 -36
  937. package/dist/esm/conditionalSlot-3eb5090f.js +0 -51
  938. package/dist/esm/config-1d142af8.js +0 -36
  939. package/dist/esm/cs-5cdc1d3f.js +0 -147
  940. package/dist/esm/da-30365c90.js +0 -67
  941. package/dist/esm/date-ac9ec758.js +0 -248
  942. package/dist/esm/de-at-941b583e.js +0 -90
  943. package/dist/esm/de-b89def95.js +0 -91
  944. package/dist/esm/de-ch-568c0c8e.js +0 -90
  945. package/dist/esm/delete-dialog.entry.js +0 -127
  946. package/dist/esm/dom-6f6759df.js +0 -1165
  947. package/dist/esm/downloadUtils-74a6bad9.js +0 -3233
  948. package/dist/esm/el-340bad09.js +0 -66
  949. package/dist/esm/en-au-b4bdb56c.js +0 -66
  950. package/dist/esm/en-ca-0a08923c.js +0 -65
  951. package/dist/esm/en-gb-f5381626.js +0 -69
  952. package/dist/esm/es-876b0a13.js +0 -66
  953. package/dist/esm/es-mx-955bc6a1.js +0 -65
  954. package/dist/esm/et-c76bc3b6.js +0 -92
  955. package/dist/esm/fi-52e100ba.js +0 -115
  956. package/dist/esm/floating-ui-5be07261.js +0 -2404
  957. package/dist/esm/focusTrapComponent-821ef6e1.js +0 -1008
  958. package/dist/esm/form-df6403ca.js +0 -362
  959. package/dist/esm/form-fbc745ea.js +0 -372
  960. package/dist/esm/fr-0699e247.js +0 -68
  961. package/dist/esm/fr-ch-c58b9b94.js +0 -66
  962. package/dist/esm/he-68c61be9.js +0 -105
  963. package/dist/esm/helpers-50d61130.js +0 -913
  964. package/dist/esm/hi-32cfce47.js +0 -65
  965. package/dist/esm/hr-962d1e56.js +0 -80
  966. package/dist/esm/hu-d13da86a.js +0 -88
  967. package/dist/esm/icon-3fb97c97.js +0 -959
  968. package/dist/esm/id-6de1980b.js +0 -66
  969. package/dist/esm/index-1b6f06f9.js +0 -199
  970. package/dist/esm/index-3eee2657.js +0 -1736
  971. package/dist/esm/index-e14fade9.js +0 -2154
  972. package/dist/esm/index.es-3b04354a.js +0 -11220
  973. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +0 -584
  974. package/dist/esm/interactive-62057336.js +0 -82
  975. package/dist/esm/interactive-8a35f349.js +0 -83
  976. package/dist/esm/it-cccb6e82.js +0 -66
  977. package/dist/esm/it-ch-9d87107f.js +0 -66
  978. package/dist/esm/ja-1401a8ec.js +0 -72
  979. package/dist/esm/ko-9f06170e.js +0 -72
  980. package/dist/esm/label-1ef4763d.js +0 -179
  981. package/dist/esm/loadable-bbec26c5.js +0 -93
  982. package/dist/esm/loader-6a8f3dda.js +0 -173
  983. package/dist/esm/locale-22b2e8b1.js +0 -155
  984. package/dist/esm/locale-92d419e3.js +0 -1423
  985. package/dist/esm/locale-9f52f113.js +0 -591
  986. package/dist/esm/logger-5eff868b.js +0 -59
  987. package/dist/esm/lt-61945627.js +0 -97
  988. package/dist/esm/lv-def8646d.js +0 -66
  989. package/dist/esm/mk-db09f1f6.js +0 -66
  990. package/dist/esm/nb-ea4966a3.js +0 -67
  991. package/dist/esm/nl-159f195e.js +0 -67
  992. package/dist/esm/observers-4e931eb6.js +0 -56
  993. package/dist/esm/openCloseComponent-2022c9ab.js +0 -64
  994. package/dist/esm/openCloseComponent-9ae0e1fe.js +0 -63
  995. package/dist/esm/pl-5514150f.js +0 -114
  996. package/dist/esm/popupUtils-685635b7.js +0 -119
  997. package/dist/esm/pt-91415524.js +0 -67
  998. package/dist/esm/pt-br-0f472af4.js +0 -65
  999. package/dist/esm/publicNotificationStore-836d3cb4.js +0 -45
  1000. package/dist/esm/request-d71d6adf.js +0 -19
  1001. package/dist/esm/restHelpersGet-48113381.js +0 -976
  1002. package/dist/esm/ro-decfcb47.js +0 -66
  1003. package/dist/esm/ru-84ce786d.js +0 -126
  1004. package/dist/esm/share-item.entry.js +0 -57
  1005. package/dist/esm/shared-list-render-4dbefca0.js +0 -339
  1006. package/dist/esm/sk-4468c163.js +0 -148
  1007. package/dist/esm/sl-404f285f.js +0 -168
  1008. package/dist/esm/solution-resource-f5809979.js +0 -142
  1009. package/dist/esm/solution-store-5b79fffe.js +0 -1352
  1010. package/dist/esm/sr-152d8bf8.js +0 -101
  1011. package/dist/esm/sv-47115030.js +0 -71
  1012. package/dist/esm/t9n-cbccd1ca.js +0 -103
  1013. package/dist/esm/templates-0b442208.js +0 -402
  1014. package/dist/esm/th-1c539f57.js +0 -65
  1015. package/dist/esm/time-53cad131.js +0 -286
  1016. package/dist/esm/tr-432df990.js +0 -66
  1017. package/dist/esm/uk-46c024d3.js +0 -104
  1018. package/dist/esm/utils-0e3d8992.js +0 -142
  1019. package/dist/esm/utils-d55c5742.js +0 -66
  1020. package/dist/esm/vi-2ad870b8.js +0 -70
  1021. package/dist/esm/zh-cn-1955c2ce.js +0 -94
  1022. package/dist/esm/zh-hk-b32fb4c1.js +0 -92
  1023. package/dist/esm/zh-tw-67bdf163.js +0 -92
  1024. package/dist/solutions-components/p-000848d5.js +0 -6
  1025. package/dist/solutions-components/p-01021fdb.js +0 -6
  1026. package/dist/solutions-components/p-02800894.entry.js +0 -11
  1027. package/dist/solutions-components/p-03434d39.js +0 -11
  1028. package/dist/solutions-components/p-060b853f.entry.js +0 -6
  1029. package/dist/solutions-components/p-0bd7c945.js +0 -6
  1030. package/dist/solutions-components/p-0c985f61.entry.js +0 -6
  1031. package/dist/solutions-components/p-0ca3272e.entry.js +0 -6
  1032. package/dist/solutions-components/p-0ebb1a18.js +0 -11
  1033. package/dist/solutions-components/p-1092fdc9.entry.js +0 -6
  1034. package/dist/solutions-components/p-16afbc95.entry.js +0 -6
  1035. package/dist/solutions-components/p-18c10df7.entry.js +0 -6
  1036. package/dist/solutions-components/p-194bcdd6.entry.js +0 -12
  1037. package/dist/solutions-components/p-197cfd05.js +0 -6
  1038. package/dist/solutions-components/p-1afc6682.js +0 -6
  1039. package/dist/solutions-components/p-1c80d549.entry.js +0 -17
  1040. package/dist/solutions-components/p-1cbec431.entry.js +0 -6
  1041. package/dist/solutions-components/p-1e60d3ea.js +0 -6
  1042. package/dist/solutions-components/p-23c2e69d.entry.js +0 -11
  1043. package/dist/solutions-components/p-23d24056.entry.js +0 -11
  1044. package/dist/solutions-components/p-25ebeb0c.entry.js +0 -11
  1045. package/dist/solutions-components/p-25f84466.entry.js +0 -11
  1046. package/dist/solutions-components/p-25fe9f3e.entry.js +0 -6
  1047. package/dist/solutions-components/p-26ba0cc7.js +0 -17
  1048. package/dist/solutions-components/p-291faeb2.js +0 -6
  1049. package/dist/solutions-components/p-2a6eba20.entry.js +0 -11
  1050. package/dist/solutions-components/p-2b389ce5.entry.js +0 -11
  1051. package/dist/solutions-components/p-2b77a660.entry.js +0 -11
  1052. package/dist/solutions-components/p-2c78f92c.entry.js +0 -11
  1053. package/dist/solutions-components/p-2e193975.entry.js +0 -17
  1054. package/dist/solutions-components/p-32262047.entry.js +0 -11
  1055. package/dist/solutions-components/p-36470f6b.js +0 -6
  1056. package/dist/solutions-components/p-36552016.entry.js +0 -12
  1057. package/dist/solutions-components/p-37ddeea3.js +0 -488
  1058. package/dist/solutions-components/p-3812d485.entry.js +0 -6
  1059. package/dist/solutions-components/p-3948268c.entry.js +0 -6
  1060. package/dist/solutions-components/p-3b312dff.js +0 -6
  1061. package/dist/solutions-components/p-3b451796.js +0 -6
  1062. package/dist/solutions-components/p-3b54163f.js +0 -11
  1063. package/dist/solutions-components/p-3b859054.js +0 -16
  1064. package/dist/solutions-components/p-3cf3c658.entry.js +0 -29
  1065. package/dist/solutions-components/p-3d6698a7.js +0 -11
  1066. package/dist/solutions-components/p-3dfe5cdb.js +0 -6
  1067. package/dist/solutions-components/p-3e4ac28d.entry.js +0 -6
  1068. package/dist/solutions-components/p-3f0f6504.js +0 -6
  1069. package/dist/solutions-components/p-3f18fb1f.js +0 -11
  1070. package/dist/solutions-components/p-3f20a550.entry.js +0 -6
  1071. package/dist/solutions-components/p-3fc70768.entry.js +0 -6
  1072. package/dist/solutions-components/p-405118a8.entry.js +0 -11
  1073. package/dist/solutions-components/p-412759ed.entry.js +0 -11
  1074. package/dist/solutions-components/p-46da7d9f.entry.js +0 -6
  1075. package/dist/solutions-components/p-47fdc484.js +0 -17
  1076. package/dist/solutions-components/p-4858ae16.js +0 -6
  1077. package/dist/solutions-components/p-49888ae8.entry.js +0 -11
  1078. package/dist/solutions-components/p-4a13d8d9.js +0 -6
  1079. package/dist/solutions-components/p-4b1a9c65.js +0 -6
  1080. package/dist/solutions-components/p-4d14be12.entry.js +0 -11
  1081. package/dist/solutions-components/p-50721c04.js +0 -16
  1082. package/dist/solutions-components/p-531c7fdb.js +0 -11
  1083. package/dist/solutions-components/p-535335f2.js +0 -6
  1084. package/dist/solutions-components/p-53bf0fe4.js +0 -6
  1085. package/dist/solutions-components/p-544e3025.entry.js +0 -11
  1086. package/dist/solutions-components/p-55a6c0d1.entry.js +0 -6
  1087. package/dist/solutions-components/p-55b8fab3.entry.js +0 -6
  1088. package/dist/solutions-components/p-564d285a.entry.js +0 -6
  1089. package/dist/solutions-components/p-56b44bf7.entry.js +0 -11
  1090. package/dist/solutions-components/p-57079c91.entry.js +0 -6
  1091. package/dist/solutions-components/p-5732176e.entry.js +0 -47
  1092. package/dist/solutions-components/p-57409415.js +0 -17
  1093. package/dist/solutions-components/p-576843e9.js +0 -11
  1094. package/dist/solutions-components/p-5773023c.entry.js +0 -11
  1095. package/dist/solutions-components/p-5c20cdef.entry.js +0 -11
  1096. package/dist/solutions-components/p-5d1ab17e.entry.js +0 -21
  1097. package/dist/solutions-components/p-5dd95ca6.entry.js +0 -20
  1098. package/dist/solutions-components/p-5e71e72a.js +0 -21
  1099. package/dist/solutions-components/p-5f9afbb9.entry.js +0 -17
  1100. package/dist/solutions-components/p-6155f4e7.js +0 -6
  1101. package/dist/solutions-components/p-619b12c3.entry.js +0 -17
  1102. package/dist/solutions-components/p-61bd743b.entry.js +0 -22
  1103. package/dist/solutions-components/p-64860143.entry.js +0 -11
  1104. package/dist/solutions-components/p-64a569da.entry.js +0 -6
  1105. package/dist/solutions-components/p-6a1a4124.js +0 -6
  1106. package/dist/solutions-components/p-6b8a94f0.entry.js +0 -6
  1107. package/dist/solutions-components/p-6e842050.entry.js +0 -11
  1108. package/dist/solutions-components/p-721bf278.js +0 -6
  1109. package/dist/solutions-components/p-731eb030.js +0 -11
  1110. package/dist/solutions-components/p-73db9e69.entry.js +0 -11
  1111. package/dist/solutions-components/p-73e24177.js +0 -6
  1112. package/dist/solutions-components/p-74b25167.entry.js +0 -11
  1113. package/dist/solutions-components/p-7530a02f.js +0 -30
  1114. package/dist/solutions-components/p-760f833e.js +0 -6
  1115. package/dist/solutions-components/p-7781048a.js +0 -11
  1116. package/dist/solutions-components/p-779c8194.entry.js +0 -6
  1117. package/dist/solutions-components/p-7a1177c0.entry.js +0 -6
  1118. package/dist/solutions-components/p-7c7549b0.js +0 -61
  1119. package/dist/solutions-components/p-7e574f00.js +0 -11
  1120. package/dist/solutions-components/p-80913362.entry.js +0 -11
  1121. package/dist/solutions-components/p-80e05130.entry.js +0 -11
  1122. package/dist/solutions-components/p-81a2f4c3.entry.js +0 -12
  1123. package/dist/solutions-components/p-81c41f7b.entry.js +0 -11
  1124. package/dist/solutions-components/p-82ee3b26.js +0 -7
  1125. package/dist/solutions-components/p-8354374d.entry.js +0 -6
  1126. package/dist/solutions-components/p-844b7f82.entry.js +0 -6
  1127. package/dist/solutions-components/p-8535b484.entry.js +0 -17
  1128. package/dist/solutions-components/p-853db1b6.entry.js +0 -6
  1129. package/dist/solutions-components/p-85c0d237.entry.js +0 -11
  1130. package/dist/solutions-components/p-885b958c.entry.js +0 -6
  1131. package/dist/solutions-components/p-88e8400a.entry.js +0 -11
  1132. package/dist/solutions-components/p-899179d7.js +0 -6
  1133. package/dist/solutions-components/p-8a9d2564.entry.js +0 -11
  1134. package/dist/solutions-components/p-8b60e48a.entry.js +0 -11
  1135. package/dist/solutions-components/p-8d028e6a.entry.js +0 -11
  1136. package/dist/solutions-components/p-8f7a11c9.js +0 -21
  1137. package/dist/solutions-components/p-90240f7f.entry.js +0 -6
  1138. package/dist/solutions-components/p-917b535b.js +0 -11
  1139. package/dist/solutions-components/p-929b5bd1.entry.js +0 -6
  1140. package/dist/solutions-components/p-92c8093d.entry.js +0 -6
  1141. package/dist/solutions-components/p-934a6d75.js +0 -6
  1142. package/dist/solutions-components/p-938fc0cf.entry.js +0 -6
  1143. package/dist/solutions-components/p-94b818bb.js +0 -11
  1144. package/dist/solutions-components/p-973ec320.js +0 -36
  1145. package/dist/solutions-components/p-97b64bea.entry.js +0 -11
  1146. package/dist/solutions-components/p-97e56ccc.js +0 -6
  1147. package/dist/solutions-components/p-9b513db6.entry.js +0 -16
  1148. package/dist/solutions-components/p-9bb44f57.js +0 -65
  1149. package/dist/solutions-components/p-9c33a239.entry.js +0 -6
  1150. package/dist/solutions-components/p-9cc10554.js +0 -6
  1151. package/dist/solutions-components/p-9ce8e34f.js +0 -11
  1152. package/dist/solutions-components/p-9f38488c.js +0 -6
  1153. package/dist/solutions-components/p-a104bc28.js +0 -6
  1154. package/dist/solutions-components/p-a1e6cfd8.js +0 -6
  1155. package/dist/solutions-components/p-a3633e71.entry.js +0 -6
  1156. package/dist/solutions-components/p-a3bc6dd8.entry.js +0 -29
  1157. package/dist/solutions-components/p-a412c674.js +0 -11
  1158. package/dist/solutions-components/p-a4748493.entry.js +0 -11
  1159. package/dist/solutions-components/p-a570536b.js +0 -6
  1160. package/dist/solutions-components/p-a60d197e.entry.js +0 -6
  1161. package/dist/solutions-components/p-a806b4cf.entry.js +0 -17
  1162. package/dist/solutions-components/p-a927a4e4.entry.js +0 -6
  1163. package/dist/solutions-components/p-aaa0d91b.entry.js +0 -11
  1164. package/dist/solutions-components/p-ab2a12e4.entry.js +0 -17
  1165. package/dist/solutions-components/p-abcf272c.entry.js +0 -23
  1166. package/dist/solutions-components/p-ad536cdf.js +0 -11
  1167. package/dist/solutions-components/p-aef6e1f5.js +0 -6
  1168. package/dist/solutions-components/p-b13d3b66.js +0 -6
  1169. package/dist/solutions-components/p-b2064f52.entry.js +0 -6
  1170. package/dist/solutions-components/p-b209d4b9.js +0 -6
  1171. package/dist/solutions-components/p-b2a1177d.entry.js +0 -11
  1172. package/dist/solutions-components/p-b54b2fc6.js +0 -31
  1173. package/dist/solutions-components/p-b56b9a89.js +0 -11
  1174. package/dist/solutions-components/p-b5fe0c3e.entry.js +0 -6
  1175. package/dist/solutions-components/p-b6ea0097.js +0 -6
  1176. package/dist/solutions-components/p-b7b32972.entry.js +0 -6
  1177. package/dist/solutions-components/p-b7b5e88d.entry.js +0 -11
  1178. package/dist/solutions-components/p-b9afb782.entry.js +0 -6
  1179. package/dist/solutions-components/p-b9b3b48a.entry.js +0 -6
  1180. package/dist/solutions-components/p-ba62b5f4.js +0 -16
  1181. package/dist/solutions-components/p-bb9e232f.js +0 -6
  1182. package/dist/solutions-components/p-bba22752.js +0 -6
  1183. package/dist/solutions-components/p-bc47653a.js +0 -6
  1184. package/dist/solutions-components/p-bccc997c.js +0 -6
  1185. package/dist/solutions-components/p-bd220980.js +0 -21
  1186. package/dist/solutions-components/p-bd6a96db.js +0 -6
  1187. package/dist/solutions-components/p-bded7c22.entry.js +0 -6
  1188. package/dist/solutions-components/p-be28e2bf.js +0 -6
  1189. package/dist/solutions-components/p-be7c3f1d.js +0 -6
  1190. package/dist/solutions-components/p-c023fc82.js +0 -6
  1191. package/dist/solutions-components/p-c1160ad0.entry.js +0 -6
  1192. package/dist/solutions-components/p-c26b8546.entry.js +0 -6
  1193. package/dist/solutions-components/p-c2ff1a82.js +0 -6
  1194. package/dist/solutions-components/p-c323117d.js +0 -16
  1195. package/dist/solutions-components/p-c5713c95.entry.js +0 -11
  1196. package/dist/solutions-components/p-c8c16d43.js +0 -11
  1197. package/dist/solutions-components/p-c9b5a34f.js +0 -52
  1198. package/dist/solutions-components/p-ca26f8f8.js +0 -6
  1199. package/dist/solutions-components/p-cb007d2f.js +0 -6
  1200. package/dist/solutions-components/p-cc9e1367.entry.js +0 -6
  1201. package/dist/solutions-components/p-cdadd82c.entry.js +0 -17
  1202. package/dist/solutions-components/p-ce67bbbb.js +0 -11
  1203. package/dist/solutions-components/p-cf46113c.js +0 -6
  1204. package/dist/solutions-components/p-cfc2fae0.entry.js +0 -17
  1205. package/dist/solutions-components/p-d0d020a5.js +0 -37
  1206. package/dist/solutions-components/p-d21f3851.js +0 -11
  1207. package/dist/solutions-components/p-d2c460b9.entry.js +0 -11
  1208. package/dist/solutions-components/p-d4c44a94.js +0 -6
  1209. package/dist/solutions-components/p-dca07fd3.js +0 -143
  1210. package/dist/solutions-components/p-dcfe9514.entry.js +0 -6
  1211. package/dist/solutions-components/p-dd0bee4a.entry.js +0 -6
  1212. package/dist/solutions-components/p-de2fecc0.js +0 -40
  1213. package/dist/solutions-components/p-de44364f.js +0 -11
  1214. package/dist/solutions-components/p-decc356d.entry.js +0 -11
  1215. package/dist/solutions-components/p-e043aae3.js +0 -6
  1216. package/dist/solutions-components/p-e04831b9.js +0 -6
  1217. package/dist/solutions-components/p-e06f90a2.entry.js +0 -11
  1218. package/dist/solutions-components/p-e0e6d099.js +0 -21
  1219. package/dist/solutions-components/p-e21cb40e.entry.js +0 -11
  1220. package/dist/solutions-components/p-e33b7602.js +0 -6
  1221. package/dist/solutions-components/p-e385cdcf.entry.js +0 -11
  1222. package/dist/solutions-components/p-e3e89708.entry.js +0 -11
  1223. package/dist/solutions-components/p-e4206773.entry.js +0 -11
  1224. package/dist/solutions-components/p-e4c16e8f.entry.js +0 -6
  1225. package/dist/solutions-components/p-e6b2432e.entry.js +0 -6
  1226. package/dist/solutions-components/p-e76f93bc.js +0 -11
  1227. package/dist/solutions-components/p-e82a84ac.entry.js +0 -6
  1228. package/dist/solutions-components/p-e9d3365f.js +0 -22
  1229. package/dist/solutions-components/p-eb1edf3e.entry.js +0 -6
  1230. package/dist/solutions-components/p-ebac7396.entry.js +0 -6
  1231. package/dist/solutions-components/p-ecabb824.entry.js +0 -6
  1232. package/dist/solutions-components/p-ecfe49cf.entry.js +0 -6
  1233. package/dist/solutions-components/p-ed50a65b.entry.js +0 -17
  1234. package/dist/solutions-components/p-eda5e49e.entry.js +0 -11
  1235. package/dist/solutions-components/p-ef51b934.js +0 -6
  1236. package/dist/solutions-components/p-f22622b4.js +0 -6
  1237. package/dist/solutions-components/p-f2340619.js +0 -6
  1238. package/dist/solutions-components/p-f33c5883.entry.js +0 -6
  1239. package/dist/solutions-components/p-f4eea8c2.js +0 -67
  1240. package/dist/solutions-components/p-f7653a0b.js +0 -6
  1241. package/dist/solutions-components/p-f876de3f.js +0 -6
  1242. package/dist/solutions-components/p-f87f02a1.entry.js +0 -6
  1243. package/dist/solutions-components/p-faaf42a3.entry.js +0 -11
  1244. package/dist/solutions-components/p-fcd719b7.entry.js +0 -22
  1245. package/dist/solutions-components/p-fd152d68.js +0 -16
  1246. package/dist/solutions-components/p-fdf5a50e.entry.js +0 -11
  1247. package/dist/solutions-components/p-fe43b510.js +0 -17
  1248. package/dist/solutions-components/p-ff609816.entry.js +0 -11
  1249. package/dist/types/components/arcgis-login/arcgis-login.d.ts +0 -19
  1250. package/dist/types/components/share-item/share-item.d.ts +0 -19
@@ -3,7 +3,8 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { r as r$6, t as t$7, n as n$c, l as l$3, j as j$2, e as r$7, f as a$3, h as t$8, i as e$a, k as b$3, m as L$1, u as u$3, o as b$4, p as m$4, q as e$b, v as m$5, w as l$4, x as r$8, y as e$c, z as w$2, N as N$1, A as a$4, B as a$5, C as v$3, D as t$9, E as w$3, F as o$7, P, G as l$5, _ as _$4, H as n$d, I as k$1, J as s$9, K as f$4, M as f$5, O as u$4, Q as t$a, R as g$3, S as h$5, T as n$e, U as o$8, V as f$6, W as I, X as l$6, s as s$a, Y as c$7, Z as F, $ as x$3, a0 as U$1, a1 as A$4, a2 as et, a3 as v$4, a4 as a$6, a5 as r$9, a6 as s$b, a7 as K, a8 as T, a9 as Et, aa as i$7, ab as n$f } from './locale3.js';
6
+ import { r as r$6, t as t$7, n as n$c, l as l$3, j as j$2, e as r$7, f as a$3, h as t$8, i as e$a, k as b$3, m as L$1, u as u$3, o as b$4, p as m$4, q as e$b, v as m$5, w as l$4, x as r$8, y as e$c, z as w$2, N as N$1, A as a$4, B as a$5, C as v$3, D as t$9, E as w$3, F as o$7, P, G as l$5, _, H as n$d, I as k$1, J as s$9, K as f$4, M as f$5, O as u$4, Q as t$a, R as g$3, S as h$5, T as n$e, U as o$8, V as f$6, W as I, X as l$6, s as s$a, Y as c$7, Z as F, $ as x$3, a0 as U$1, a1 as A$4, a2 as et, a3 as v$4, a4 as a$6, a5 as r$9, a6 as s$b, a7 as K, a8 as T, a9 as Et, aa as i$7, ab as n$f } from './locale3.js';
7
+ import { S as Sanitizer } from './index2.js';
7
8
  import { Build, getAssetPath, setAssetPath } from '@stencil/core/internal/client';
8
9
 
9
10
  /*
@@ -78,2155 +79,6 @@ See https://js.arcgis.com/4.31/esri/copyright.txt for details.
78
79
  */
79
80
  const r$5=Object.prototype.toString;function o$5(n){const r="__accessorMetadata__"in n?w$2(n):n;return function(...t){if(t.push(r),"number"==typeof t[2])throw new Error("Using @cast has parameter decorator is not supported since 4.16");return e$9.apply(this,t)}}function e$9(t,r,o,e){o$7(t,r).cast=e;}function i$4(t){return (r,o)=>{o$7(r,t).cast=r[o];}}function s$6(...t){if(3!==t.length||"string"!=typeof t[1])return 1===t.length&&"[object Function]"===r$5.call(t[0])?o$5(t[0]):1===t.length&&"string"==typeof t[0]?i$4(t[0]):void 0}
80
81
 
81
- /*!
82
- * @esri/arcgis-html-sanitizer - v4.1.0-next.3 - Wed Sep 25 2024 10:04:57 GMT-0400 (Eastern Daylight Time)
83
- * Copyright (c) 2024 - Environmental Systems Research Institute, Inc.
84
- * Apache-2.0
85
- *
86
- * js-xss
87
- * Copyright (c) 2012-2018 Zongmin Lei(雷宗民) <leizongmin@gmail.com>
88
- * http://ucdok.com
89
- * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details
90
- */
91
- /*! *****************************************************************************
92
- Copyright (c) Microsoft Corporation.
93
-
94
- Permission to use, copy, modify, and/or distribute this software for any
95
- purpose with or without fee is hereby granted.
96
-
97
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
98
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
99
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
100
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
101
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
102
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
103
- PERFORMANCE OF THIS SOFTWARE.
104
- ***************************************************************************** */
105
- /* global Reflect, Promise */
106
-
107
-
108
- var __assign = function() {
109
- __assign = Object.assign || function __assign(t) {
110
- for (var s, i = 1, n = arguments.length; i < n; i++) {
111
- s = arguments[i];
112
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
113
- }
114
- return t;
115
- };
116
- return __assign.apply(this, arguments);
117
- };
118
-
119
- var lib$1 = {exports: {}};
120
-
121
- var _default$1 = {};
122
-
123
- var lib = {exports: {}};
124
-
125
- var _default = {};
126
-
127
- /**
128
- * cssfilter
129
- *
130
- * @author 老雷<leizongmin@gmail.com>
131
- */
132
-
133
- function getDefaultWhiteList$1 () {
134
- // 白名单值说明:
135
- // true: 允许该属性
136
- // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
137
- // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
138
- // 除上面列出的值外均表示不允许
139
- var whiteList = {};
140
-
141
- whiteList['align-content'] = false; // default: auto
142
- whiteList['align-items'] = false; // default: auto
143
- whiteList['align-self'] = false; // default: auto
144
- whiteList['alignment-adjust'] = false; // default: auto
145
- whiteList['alignment-baseline'] = false; // default: baseline
146
- whiteList['all'] = false; // default: depending on individual properties
147
- whiteList['anchor-point'] = false; // default: none
148
- whiteList['animation'] = false; // default: depending on individual properties
149
- whiteList['animation-delay'] = false; // default: 0
150
- whiteList['animation-direction'] = false; // default: normal
151
- whiteList['animation-duration'] = false; // default: 0
152
- whiteList['animation-fill-mode'] = false; // default: none
153
- whiteList['animation-iteration-count'] = false; // default: 1
154
- whiteList['animation-name'] = false; // default: none
155
- whiteList['animation-play-state'] = false; // default: running
156
- whiteList['animation-timing-function'] = false; // default: ease
157
- whiteList['azimuth'] = false; // default: center
158
- whiteList['backface-visibility'] = false; // default: visible
159
- whiteList['background'] = true; // default: depending on individual properties
160
- whiteList['background-attachment'] = true; // default: scroll
161
- whiteList['background-clip'] = true; // default: border-box
162
- whiteList['background-color'] = true; // default: transparent
163
- whiteList['background-image'] = true; // default: none
164
- whiteList['background-origin'] = true; // default: padding-box
165
- whiteList['background-position'] = true; // default: 0% 0%
166
- whiteList['background-repeat'] = true; // default: repeat
167
- whiteList['background-size'] = true; // default: auto
168
- whiteList['baseline-shift'] = false; // default: baseline
169
- whiteList['binding'] = false; // default: none
170
- whiteList['bleed'] = false; // default: 6pt
171
- whiteList['bookmark-label'] = false; // default: content()
172
- whiteList['bookmark-level'] = false; // default: none
173
- whiteList['bookmark-state'] = false; // default: open
174
- whiteList['border'] = true; // default: depending on individual properties
175
- whiteList['border-bottom'] = true; // default: depending on individual properties
176
- whiteList['border-bottom-color'] = true; // default: current color
177
- whiteList['border-bottom-left-radius'] = true; // default: 0
178
- whiteList['border-bottom-right-radius'] = true; // default: 0
179
- whiteList['border-bottom-style'] = true; // default: none
180
- whiteList['border-bottom-width'] = true; // default: medium
181
- whiteList['border-collapse'] = true; // default: separate
182
- whiteList['border-color'] = true; // default: depending on individual properties
183
- whiteList['border-image'] = true; // default: none
184
- whiteList['border-image-outset'] = true; // default: 0
185
- whiteList['border-image-repeat'] = true; // default: stretch
186
- whiteList['border-image-slice'] = true; // default: 100%
187
- whiteList['border-image-source'] = true; // default: none
188
- whiteList['border-image-width'] = true; // default: 1
189
- whiteList['border-left'] = true; // default: depending on individual properties
190
- whiteList['border-left-color'] = true; // default: current color
191
- whiteList['border-left-style'] = true; // default: none
192
- whiteList['border-left-width'] = true; // default: medium
193
- whiteList['border-radius'] = true; // default: 0
194
- whiteList['border-right'] = true; // default: depending on individual properties
195
- whiteList['border-right-color'] = true; // default: current color
196
- whiteList['border-right-style'] = true; // default: none
197
- whiteList['border-right-width'] = true; // default: medium
198
- whiteList['border-spacing'] = true; // default: 0
199
- whiteList['border-style'] = true; // default: depending on individual properties
200
- whiteList['border-top'] = true; // default: depending on individual properties
201
- whiteList['border-top-color'] = true; // default: current color
202
- whiteList['border-top-left-radius'] = true; // default: 0
203
- whiteList['border-top-right-radius'] = true; // default: 0
204
- whiteList['border-top-style'] = true; // default: none
205
- whiteList['border-top-width'] = true; // default: medium
206
- whiteList['border-width'] = true; // default: depending on individual properties
207
- whiteList['bottom'] = false; // default: auto
208
- whiteList['box-decoration-break'] = true; // default: slice
209
- whiteList['box-shadow'] = true; // default: none
210
- whiteList['box-sizing'] = true; // default: content-box
211
- whiteList['box-snap'] = true; // default: none
212
- whiteList['box-suppress'] = true; // default: show
213
- whiteList['break-after'] = true; // default: auto
214
- whiteList['break-before'] = true; // default: auto
215
- whiteList['break-inside'] = true; // default: auto
216
- whiteList['caption-side'] = false; // default: top
217
- whiteList['chains'] = false; // default: none
218
- whiteList['clear'] = true; // default: none
219
- whiteList['clip'] = false; // default: auto
220
- whiteList['clip-path'] = false; // default: none
221
- whiteList['clip-rule'] = false; // default: nonzero
222
- whiteList['color'] = true; // default: implementation dependent
223
- whiteList['color-interpolation-filters'] = true; // default: auto
224
- whiteList['column-count'] = false; // default: auto
225
- whiteList['column-fill'] = false; // default: balance
226
- whiteList['column-gap'] = false; // default: normal
227
- whiteList['column-rule'] = false; // default: depending on individual properties
228
- whiteList['column-rule-color'] = false; // default: current color
229
- whiteList['column-rule-style'] = false; // default: medium
230
- whiteList['column-rule-width'] = false; // default: medium
231
- whiteList['column-span'] = false; // default: none
232
- whiteList['column-width'] = false; // default: auto
233
- whiteList['columns'] = false; // default: depending on individual properties
234
- whiteList['contain'] = false; // default: none
235
- whiteList['content'] = false; // default: normal
236
- whiteList['counter-increment'] = false; // default: none
237
- whiteList['counter-reset'] = false; // default: none
238
- whiteList['counter-set'] = false; // default: none
239
- whiteList['crop'] = false; // default: auto
240
- whiteList['cue'] = false; // default: depending on individual properties
241
- whiteList['cue-after'] = false; // default: none
242
- whiteList['cue-before'] = false; // default: none
243
- whiteList['cursor'] = false; // default: auto
244
- whiteList['direction'] = false; // default: ltr
245
- whiteList['display'] = true; // default: depending on individual properties
246
- whiteList['display-inside'] = true; // default: auto
247
- whiteList['display-list'] = true; // default: none
248
- whiteList['display-outside'] = true; // default: inline-level
249
- whiteList['dominant-baseline'] = false; // default: auto
250
- whiteList['elevation'] = false; // default: level
251
- whiteList['empty-cells'] = false; // default: show
252
- whiteList['filter'] = false; // default: none
253
- whiteList['flex'] = false; // default: depending on individual properties
254
- whiteList['flex-basis'] = false; // default: auto
255
- whiteList['flex-direction'] = false; // default: row
256
- whiteList['flex-flow'] = false; // default: depending on individual properties
257
- whiteList['flex-grow'] = false; // default: 0
258
- whiteList['flex-shrink'] = false; // default: 1
259
- whiteList['flex-wrap'] = false; // default: nowrap
260
- whiteList['float'] = false; // default: none
261
- whiteList['float-offset'] = false; // default: 0 0
262
- whiteList['flood-color'] = false; // default: black
263
- whiteList['flood-opacity'] = false; // default: 1
264
- whiteList['flow-from'] = false; // default: none
265
- whiteList['flow-into'] = false; // default: none
266
- whiteList['font'] = true; // default: depending on individual properties
267
- whiteList['font-family'] = true; // default: implementation dependent
268
- whiteList['font-feature-settings'] = true; // default: normal
269
- whiteList['font-kerning'] = true; // default: auto
270
- whiteList['font-language-override'] = true; // default: normal
271
- whiteList['font-size'] = true; // default: medium
272
- whiteList['font-size-adjust'] = true; // default: none
273
- whiteList['font-stretch'] = true; // default: normal
274
- whiteList['font-style'] = true; // default: normal
275
- whiteList['font-synthesis'] = true; // default: weight style
276
- whiteList['font-variant'] = true; // default: normal
277
- whiteList['font-variant-alternates'] = true; // default: normal
278
- whiteList['font-variant-caps'] = true; // default: normal
279
- whiteList['font-variant-east-asian'] = true; // default: normal
280
- whiteList['font-variant-ligatures'] = true; // default: normal
281
- whiteList['font-variant-numeric'] = true; // default: normal
282
- whiteList['font-variant-position'] = true; // default: normal
283
- whiteList['font-weight'] = true; // default: normal
284
- whiteList['grid'] = false; // default: depending on individual properties
285
- whiteList['grid-area'] = false; // default: depending on individual properties
286
- whiteList['grid-auto-columns'] = false; // default: auto
287
- whiteList['grid-auto-flow'] = false; // default: none
288
- whiteList['grid-auto-rows'] = false; // default: auto
289
- whiteList['grid-column'] = false; // default: depending on individual properties
290
- whiteList['grid-column-end'] = false; // default: auto
291
- whiteList['grid-column-start'] = false; // default: auto
292
- whiteList['grid-row'] = false; // default: depending on individual properties
293
- whiteList['grid-row-end'] = false; // default: auto
294
- whiteList['grid-row-start'] = false; // default: auto
295
- whiteList['grid-template'] = false; // default: depending on individual properties
296
- whiteList['grid-template-areas'] = false; // default: none
297
- whiteList['grid-template-columns'] = false; // default: none
298
- whiteList['grid-template-rows'] = false; // default: none
299
- whiteList['hanging-punctuation'] = false; // default: none
300
- whiteList['height'] = true; // default: auto
301
- whiteList['hyphens'] = false; // default: manual
302
- whiteList['icon'] = false; // default: auto
303
- whiteList['image-orientation'] = false; // default: auto
304
- whiteList['image-resolution'] = false; // default: normal
305
- whiteList['ime-mode'] = false; // default: auto
306
- whiteList['initial-letters'] = false; // default: normal
307
- whiteList['inline-box-align'] = false; // default: last
308
- whiteList['justify-content'] = false; // default: auto
309
- whiteList['justify-items'] = false; // default: auto
310
- whiteList['justify-self'] = false; // default: auto
311
- whiteList['left'] = false; // default: auto
312
- whiteList['letter-spacing'] = true; // default: normal
313
- whiteList['lighting-color'] = true; // default: white
314
- whiteList['line-box-contain'] = false; // default: block inline replaced
315
- whiteList['line-break'] = false; // default: auto
316
- whiteList['line-grid'] = false; // default: match-parent
317
- whiteList['line-height'] = false; // default: normal
318
- whiteList['line-snap'] = false; // default: none
319
- whiteList['line-stacking'] = false; // default: depending on individual properties
320
- whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
321
- whiteList['line-stacking-shift'] = false; // default: consider-shifts
322
- whiteList['line-stacking-strategy'] = false; // default: inline-line-height
323
- whiteList['list-style'] = true; // default: depending on individual properties
324
- whiteList['list-style-image'] = true; // default: none
325
- whiteList['list-style-position'] = true; // default: outside
326
- whiteList['list-style-type'] = true; // default: disc
327
- whiteList['margin'] = true; // default: depending on individual properties
328
- whiteList['margin-bottom'] = true; // default: 0
329
- whiteList['margin-left'] = true; // default: 0
330
- whiteList['margin-right'] = true; // default: 0
331
- whiteList['margin-top'] = true; // default: 0
332
- whiteList['marker-offset'] = false; // default: auto
333
- whiteList['marker-side'] = false; // default: list-item
334
- whiteList['marks'] = false; // default: none
335
- whiteList['mask'] = false; // default: border-box
336
- whiteList['mask-box'] = false; // default: see individual properties
337
- whiteList['mask-box-outset'] = false; // default: 0
338
- whiteList['mask-box-repeat'] = false; // default: stretch
339
- whiteList['mask-box-slice'] = false; // default: 0 fill
340
- whiteList['mask-box-source'] = false; // default: none
341
- whiteList['mask-box-width'] = false; // default: auto
342
- whiteList['mask-clip'] = false; // default: border-box
343
- whiteList['mask-image'] = false; // default: none
344
- whiteList['mask-origin'] = false; // default: border-box
345
- whiteList['mask-position'] = false; // default: center
346
- whiteList['mask-repeat'] = false; // default: no-repeat
347
- whiteList['mask-size'] = false; // default: border-box
348
- whiteList['mask-source-type'] = false; // default: auto
349
- whiteList['mask-type'] = false; // default: luminance
350
- whiteList['max-height'] = true; // default: none
351
- whiteList['max-lines'] = false; // default: none
352
- whiteList['max-width'] = true; // default: none
353
- whiteList['min-height'] = true; // default: 0
354
- whiteList['min-width'] = true; // default: 0
355
- whiteList['move-to'] = false; // default: normal
356
- whiteList['nav-down'] = false; // default: auto
357
- whiteList['nav-index'] = false; // default: auto
358
- whiteList['nav-left'] = false; // default: auto
359
- whiteList['nav-right'] = false; // default: auto
360
- whiteList['nav-up'] = false; // default: auto
361
- whiteList['object-fit'] = false; // default: fill
362
- whiteList['object-position'] = false; // default: 50% 50%
363
- whiteList['opacity'] = false; // default: 1
364
- whiteList['order'] = false; // default: 0
365
- whiteList['orphans'] = false; // default: 2
366
- whiteList['outline'] = false; // default: depending on individual properties
367
- whiteList['outline-color'] = false; // default: invert
368
- whiteList['outline-offset'] = false; // default: 0
369
- whiteList['outline-style'] = false; // default: none
370
- whiteList['outline-width'] = false; // default: medium
371
- whiteList['overflow'] = false; // default: depending on individual properties
372
- whiteList['overflow-wrap'] = false; // default: normal
373
- whiteList['overflow-x'] = false; // default: visible
374
- whiteList['overflow-y'] = false; // default: visible
375
- whiteList['padding'] = true; // default: depending on individual properties
376
- whiteList['padding-bottom'] = true; // default: 0
377
- whiteList['padding-left'] = true; // default: 0
378
- whiteList['padding-right'] = true; // default: 0
379
- whiteList['padding-top'] = true; // default: 0
380
- whiteList['page'] = false; // default: auto
381
- whiteList['page-break-after'] = false; // default: auto
382
- whiteList['page-break-before'] = false; // default: auto
383
- whiteList['page-break-inside'] = false; // default: auto
384
- whiteList['page-policy'] = false; // default: start
385
- whiteList['pause'] = false; // default: implementation dependent
386
- whiteList['pause-after'] = false; // default: implementation dependent
387
- whiteList['pause-before'] = false; // default: implementation dependent
388
- whiteList['perspective'] = false; // default: none
389
- whiteList['perspective-origin'] = false; // default: 50% 50%
390
- whiteList['pitch'] = false; // default: medium
391
- whiteList['pitch-range'] = false; // default: 50
392
- whiteList['play-during'] = false; // default: auto
393
- whiteList['position'] = false; // default: static
394
- whiteList['presentation-level'] = false; // default: 0
395
- whiteList['quotes'] = false; // default: text
396
- whiteList['region-fragment'] = false; // default: auto
397
- whiteList['resize'] = false; // default: none
398
- whiteList['rest'] = false; // default: depending on individual properties
399
- whiteList['rest-after'] = false; // default: none
400
- whiteList['rest-before'] = false; // default: none
401
- whiteList['richness'] = false; // default: 50
402
- whiteList['right'] = false; // default: auto
403
- whiteList['rotation'] = false; // default: 0
404
- whiteList['rotation-point'] = false; // default: 50% 50%
405
- whiteList['ruby-align'] = false; // default: auto
406
- whiteList['ruby-merge'] = false; // default: separate
407
- whiteList['ruby-position'] = false; // default: before
408
- whiteList['shape-image-threshold'] = false; // default: 0.0
409
- whiteList['shape-outside'] = false; // default: none
410
- whiteList['shape-margin'] = false; // default: 0
411
- whiteList['size'] = false; // default: auto
412
- whiteList['speak'] = false; // default: auto
413
- whiteList['speak-as'] = false; // default: normal
414
- whiteList['speak-header'] = false; // default: once
415
- whiteList['speak-numeral'] = false; // default: continuous
416
- whiteList['speak-punctuation'] = false; // default: none
417
- whiteList['speech-rate'] = false; // default: medium
418
- whiteList['stress'] = false; // default: 50
419
- whiteList['string-set'] = false; // default: none
420
- whiteList['tab-size'] = false; // default: 8
421
- whiteList['table-layout'] = false; // default: auto
422
- whiteList['text-align'] = true; // default: start
423
- whiteList['text-align-last'] = true; // default: auto
424
- whiteList['text-combine-upright'] = true; // default: none
425
- whiteList['text-decoration'] = true; // default: none
426
- whiteList['text-decoration-color'] = true; // default: currentColor
427
- whiteList['text-decoration-line'] = true; // default: none
428
- whiteList['text-decoration-skip'] = true; // default: objects
429
- whiteList['text-decoration-style'] = true; // default: solid
430
- whiteList['text-emphasis'] = true; // default: depending on individual properties
431
- whiteList['text-emphasis-color'] = true; // default: currentColor
432
- whiteList['text-emphasis-position'] = true; // default: over right
433
- whiteList['text-emphasis-style'] = true; // default: none
434
- whiteList['text-height'] = true; // default: auto
435
- whiteList['text-indent'] = true; // default: 0
436
- whiteList['text-justify'] = true; // default: auto
437
- whiteList['text-orientation'] = true; // default: mixed
438
- whiteList['text-overflow'] = true; // default: clip
439
- whiteList['text-shadow'] = true; // default: none
440
- whiteList['text-space-collapse'] = true; // default: collapse
441
- whiteList['text-transform'] = true; // default: none
442
- whiteList['text-underline-position'] = true; // default: auto
443
- whiteList['text-wrap'] = true; // default: normal
444
- whiteList['top'] = false; // default: auto
445
- whiteList['transform'] = false; // default: none
446
- whiteList['transform-origin'] = false; // default: 50% 50% 0
447
- whiteList['transform-style'] = false; // default: flat
448
- whiteList['transition'] = false; // default: depending on individual properties
449
- whiteList['transition-delay'] = false; // default: 0s
450
- whiteList['transition-duration'] = false; // default: 0s
451
- whiteList['transition-property'] = false; // default: all
452
- whiteList['transition-timing-function'] = false; // default: ease
453
- whiteList['unicode-bidi'] = false; // default: normal
454
- whiteList['vertical-align'] = false; // default: baseline
455
- whiteList['visibility'] = false; // default: visible
456
- whiteList['voice-balance'] = false; // default: center
457
- whiteList['voice-duration'] = false; // default: auto
458
- whiteList['voice-family'] = false; // default: implementation dependent
459
- whiteList['voice-pitch'] = false; // default: medium
460
- whiteList['voice-range'] = false; // default: medium
461
- whiteList['voice-rate'] = false; // default: normal
462
- whiteList['voice-stress'] = false; // default: normal
463
- whiteList['voice-volume'] = false; // default: medium
464
- whiteList['volume'] = false; // default: medium
465
- whiteList['white-space'] = false; // default: normal
466
- whiteList['widows'] = false; // default: 2
467
- whiteList['width'] = true; // default: auto
468
- whiteList['will-change'] = false; // default: auto
469
- whiteList['word-break'] = true; // default: normal
470
- whiteList['word-spacing'] = true; // default: normal
471
- whiteList['word-wrap'] = true; // default: normal
472
- whiteList['wrap-flow'] = false; // default: auto
473
- whiteList['wrap-through'] = false; // default: wrap
474
- whiteList['writing-mode'] = false; // default: horizontal-tb
475
- whiteList['z-index'] = false; // default: auto
476
-
477
- return whiteList;
478
- }
479
-
480
-
481
- /**
482
- * 匹配到白名单上的一个属性时
483
- *
484
- * @param {String} name
485
- * @param {String} value
486
- * @param {Object} options
487
- * @return {String}
488
- */
489
- function onAttr (name, value, options) {
490
- // do nothing
491
- }
492
-
493
- /**
494
- * 匹配到不在白名单上的一个属性时
495
- *
496
- * @param {String} name
497
- * @param {String} value
498
- * @param {Object} options
499
- * @return {String}
500
- */
501
- function onIgnoreAttr (name, value, options) {
502
- // do nothing
503
- }
504
-
505
- var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
506
-
507
- /**
508
- * 过滤属性值
509
- *
510
- * @param {String} name
511
- * @param {String} value
512
- * @return {String}
513
- */
514
- function safeAttrValue$1(name, value) {
515
- if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
516
- return value;
517
- }
518
-
519
-
520
- _default.whiteList = getDefaultWhiteList$1();
521
- _default.getDefaultWhiteList = getDefaultWhiteList$1;
522
- _default.onAttr = onAttr;
523
- _default.onIgnoreAttr = onIgnoreAttr;
524
- _default.safeAttrValue = safeAttrValue$1;
525
-
526
- var util$1 = {
527
- indexOf: function (arr, item) {
528
- var i, j;
529
- if (Array.prototype.indexOf) {
530
- return arr.indexOf(item);
531
- }
532
- for (i = 0, j = arr.length; i < j; i++) {
533
- if (arr[i] === item) {
534
- return i;
535
- }
536
- }
537
- return -1;
538
- },
539
- forEach: function (arr, fn, scope) {
540
- var i, j;
541
- if (Array.prototype.forEach) {
542
- return arr.forEach(fn, scope);
543
- }
544
- for (i = 0, j = arr.length; i < j; i++) {
545
- fn.call(scope, arr[i], i, arr);
546
- }
547
- },
548
- trim: function (str) {
549
- if (String.prototype.trim) {
550
- return str.trim();
551
- }
552
- return str.replace(/(^\s*)|(\s*$)/g, '');
553
- },
554
- trimRight: function (str) {
555
- if (String.prototype.trimRight) {
556
- return str.trimRight();
557
- }
558
- return str.replace(/(\s*$)/g, '');
559
- }
560
- };
561
-
562
- /**
563
- * cssfilter
564
- *
565
- * @author 老雷<leizongmin@gmail.com>
566
- */
567
-
568
- var _$3 = util$1;
569
-
570
-
571
- /**
572
- * 解析style
573
- *
574
- * @param {String} css
575
- * @param {Function} onAttr 处理属性的函数
576
- * 参数格式: function (sourcePosition, position, name, value, source)
577
- * @return {String}
578
- */
579
- function parseStyle$1 (css, onAttr) {
580
- css = _$3.trimRight(css);
581
- if (css[css.length - 1] !== ';') css += ';';
582
- var cssLength = css.length;
583
- var isParenthesisOpen = false;
584
- var lastPos = 0;
585
- var i = 0;
586
- var retCSS = '';
587
-
588
- function addNewAttr () {
589
- // 如果没有正常的闭合圆括号,则直接忽略当前属性
590
- if (!isParenthesisOpen) {
591
- var source = _$3.trim(css.slice(lastPos, i));
592
- var j = source.indexOf(':');
593
- if (j !== -1) {
594
- var name = _$3.trim(source.slice(0, j));
595
- var value = _$3.trim(source.slice(j + 1));
596
- // 必须有属性名称
597
- if (name) {
598
- var ret = onAttr(lastPos, retCSS.length, name, value, source);
599
- if (ret) retCSS += ret + '; ';
600
- }
601
- }
602
- }
603
- lastPos = i + 1;
604
- }
605
-
606
- for (; i < cssLength; i++) {
607
- var c = css[i];
608
- if (c === '/' && css[i + 1] === '*') {
609
- // 备注开始
610
- var j = css.indexOf('*/', i + 2);
611
- // 如果没有正常的备注结束,则后面的部分全部跳过
612
- if (j === -1) break;
613
- // 直接将当前位置调到备注结尾,并且初始化状态
614
- i = j + 1;
615
- lastPos = i + 1;
616
- isParenthesisOpen = false;
617
- } else if (c === '(') {
618
- isParenthesisOpen = true;
619
- } else if (c === ')') {
620
- isParenthesisOpen = false;
621
- } else if (c === ';') {
622
- if (isParenthesisOpen) ; else {
623
- addNewAttr();
624
- }
625
- } else if (c === '\n') {
626
- addNewAttr();
627
- }
628
- }
629
-
630
- return _$3.trim(retCSS);
631
- }
632
-
633
- var parser$2 = parseStyle$1;
634
-
635
- /**
636
- * cssfilter
637
- *
638
- * @author 老雷<leizongmin@gmail.com>
639
- */
640
-
641
- var DEFAULT$1 = _default;
642
- var parseStyle = parser$2;
643
-
644
-
645
- /**
646
- * 返回值是否为空
647
- *
648
- * @param {Object} obj
649
- * @return {Boolean}
650
- */
651
- function isNull$1 (obj) {
652
- return (obj === undefined || obj === null);
653
- }
654
-
655
- /**
656
- * 浅拷贝对象
657
- *
658
- * @param {Object} obj
659
- * @return {Object}
660
- */
661
- function shallowCopyObject$1 (obj) {
662
- var ret = {};
663
- for (var i in obj) {
664
- ret[i] = obj[i];
665
- }
666
- return ret;
667
- }
668
-
669
- /**
670
- * 创建CSS过滤器
671
- *
672
- * @param {Object} options
673
- * - {Object} whiteList
674
- * - {Function} onAttr
675
- * - {Function} onIgnoreAttr
676
- * - {Function} safeAttrValue
677
- */
678
- function FilterCSS$2 (options) {
679
- options = shallowCopyObject$1(options || {});
680
- options.whiteList = options.whiteList || DEFAULT$1.whiteList;
681
- options.onAttr = options.onAttr || DEFAULT$1.onAttr;
682
- options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;
683
- options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;
684
- this.options = options;
685
- }
686
-
687
- FilterCSS$2.prototype.process = function (css) {
688
- // 兼容各种奇葩输入
689
- css = css || '';
690
- css = css.toString();
691
- if (!css) return '';
692
-
693
- var me = this;
694
- var options = me.options;
695
- var whiteList = options.whiteList;
696
- var onAttr = options.onAttr;
697
- var onIgnoreAttr = options.onIgnoreAttr;
698
- var safeAttrValue = options.safeAttrValue;
699
-
700
- var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {
701
-
702
- var check = whiteList[name];
703
- var isWhite = false;
704
- if (check === true) isWhite = check;
705
- else if (typeof check === 'function') isWhite = check(value);
706
- else if (check instanceof RegExp) isWhite = check.test(value);
707
- if (isWhite !== true) isWhite = false;
708
-
709
- // 如果过滤后 value 为空则直接忽略
710
- value = safeAttrValue(name, value);
711
- if (!value) return;
712
-
713
- var opts = {
714
- position: position,
715
- sourcePosition: sourcePosition,
716
- source: source,
717
- isWhite: isWhite
718
- };
719
-
720
- if (isWhite) {
721
-
722
- var ret = onAttr(name, value, opts);
723
- if (isNull$1(ret)) {
724
- return name + ':' + value;
725
- } else {
726
- return ret;
727
- }
728
-
729
- } else {
730
-
731
- var ret = onIgnoreAttr(name, value, opts);
732
- if (!isNull$1(ret)) {
733
- return ret;
734
- }
735
-
736
- }
737
- });
738
-
739
- return retCSS;
740
- };
741
-
742
-
743
- var css = FilterCSS$2;
744
-
745
- /**
746
- * cssfilter
747
- *
748
- * @author 老雷<leizongmin@gmail.com>
749
- */
750
-
751
- (function (module, exports) {
752
- var DEFAULT = _default;
753
- var FilterCSS = css;
754
-
755
-
756
- /**
757
- * XSS过滤
758
- *
759
- * @param {String} css 要过滤的CSS代码
760
- * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr
761
- * @return {String}
762
- */
763
- function filterCSS (html, options) {
764
- var xss = new FilterCSS(options);
765
- return xss.process(html);
766
- }
767
-
768
-
769
- // 输出
770
- exports = module.exports = filterCSS;
771
- exports.FilterCSS = FilterCSS;
772
- for (var i in DEFAULT) exports[i] = DEFAULT[i];
773
- } (lib, lib.exports));
774
-
775
- var libExports$1 = lib.exports;
776
-
777
- var util = {
778
- indexOf: function (arr, item) {
779
- var i, j;
780
- if (Array.prototype.indexOf) {
781
- return arr.indexOf(item);
782
- }
783
- for (i = 0, j = arr.length; i < j; i++) {
784
- if (arr[i] === item) {
785
- return i;
786
- }
787
- }
788
- return -1;
789
- },
790
- forEach: function (arr, fn, scope) {
791
- var i, j;
792
- if (Array.prototype.forEach) {
793
- return arr.forEach(fn, scope);
794
- }
795
- for (i = 0, j = arr.length; i < j; i++) {
796
- fn.call(scope, arr[i], i, arr);
797
- }
798
- },
799
- trim: function (str) {
800
- if (String.prototype.trim) {
801
- return str.trim();
802
- }
803
- return str.replace(/(^\s*)|(\s*$)/g, "");
804
- },
805
- spaceIndex: function (str) {
806
- var reg = /\s|\n|\t/;
807
- var match = reg.exec(str);
808
- return match ? match.index : -1;
809
- },
810
- };
811
-
812
- /**
813
- * default settings
814
- *
815
- * @author Zongmin Lei<leizongmin@gmail.com>
816
- */
817
-
818
- var FilterCSS$1 = libExports$1.FilterCSS;
819
- var getDefaultCSSWhiteList = libExports$1.getDefaultWhiteList;
820
- var _$2 = util;
821
-
822
- function getDefaultWhiteList() {
823
- return {
824
- a: ["target", "href", "title"],
825
- abbr: ["title"],
826
- address: [],
827
- area: ["shape", "coords", "href", "alt"],
828
- article: [],
829
- aside: [],
830
- audio: [
831
- "autoplay",
832
- "controls",
833
- "crossorigin",
834
- "loop",
835
- "muted",
836
- "preload",
837
- "src",
838
- ],
839
- b: [],
840
- bdi: ["dir"],
841
- bdo: ["dir"],
842
- big: [],
843
- blockquote: ["cite"],
844
- br: [],
845
- caption: [],
846
- center: [],
847
- cite: [],
848
- code: [],
849
- col: ["align", "valign", "span", "width"],
850
- colgroup: ["align", "valign", "span", "width"],
851
- dd: [],
852
- del: ["datetime"],
853
- details: ["open"],
854
- div: [],
855
- dl: [],
856
- dt: [],
857
- em: [],
858
- figcaption: [],
859
- figure: [],
860
- font: ["color", "size", "face"],
861
- footer: [],
862
- h1: [],
863
- h2: [],
864
- h3: [],
865
- h4: [],
866
- h5: [],
867
- h6: [],
868
- header: [],
869
- hr: [],
870
- i: [],
871
- img: ["src", "alt", "title", "width", "height"],
872
- ins: ["datetime"],
873
- li: [],
874
- mark: [],
875
- nav: [],
876
- ol: [],
877
- p: [],
878
- pre: [],
879
- s: [],
880
- section: [],
881
- small: [],
882
- span: [],
883
- sub: [],
884
- summary: [],
885
- sup: [],
886
- strong: [],
887
- strike: [],
888
- table: ["width", "border", "align", "valign"],
889
- tbody: ["align", "valign"],
890
- td: ["width", "rowspan", "colspan", "align", "valign"],
891
- tfoot: ["align", "valign"],
892
- th: ["width", "rowspan", "colspan", "align", "valign"],
893
- thead: ["align", "valign"],
894
- tr: ["rowspan", "align", "valign"],
895
- tt: [],
896
- u: [],
897
- ul: [],
898
- video: [
899
- "autoplay",
900
- "controls",
901
- "crossorigin",
902
- "loop",
903
- "muted",
904
- "playsinline",
905
- "poster",
906
- "preload",
907
- "src",
908
- "height",
909
- "width",
910
- ],
911
- };
912
- }
913
-
914
- var defaultCSSFilter = new FilterCSS$1();
915
-
916
- /**
917
- * default onTag function
918
- *
919
- * @param {String} tag
920
- * @param {String} html
921
- * @param {Object} options
922
- * @return {String}
923
- */
924
- function onTag(tag, html, options) {
925
- // do nothing
926
- }
927
-
928
- /**
929
- * default onIgnoreTag function
930
- *
931
- * @param {String} tag
932
- * @param {String} html
933
- * @param {Object} options
934
- * @return {String}
935
- */
936
- function onIgnoreTag(tag, html, options) {
937
- // do nothing
938
- }
939
-
940
- /**
941
- * default onTagAttr function
942
- *
943
- * @param {String} tag
944
- * @param {String} name
945
- * @param {String} value
946
- * @return {String}
947
- */
948
- function onTagAttr(tag, name, value) {
949
- // do nothing
950
- }
951
-
952
- /**
953
- * default onIgnoreTagAttr function
954
- *
955
- * @param {String} tag
956
- * @param {String} name
957
- * @param {String} value
958
- * @return {String}
959
- */
960
- function onIgnoreTagAttr(tag, name, value) {
961
- // do nothing
962
- }
963
-
964
- /**
965
- * default escapeHtml function
966
- *
967
- * @param {String} html
968
- */
969
- function escapeHtml(html) {
970
- return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
971
- }
972
-
973
- /**
974
- * default safeAttrValue function
975
- *
976
- * @param {String} tag
977
- * @param {String} name
978
- * @param {String} value
979
- * @param {Object} cssFilter
980
- * @return {String}
981
- */
982
- function safeAttrValue(tag, name, value, cssFilter) {
983
- // unescape attribute value firstly
984
- value = friendlyAttrValue(value);
985
-
986
- if (name === "href" || name === "src") {
987
- // filter `href` and `src` attribute
988
- // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`
989
- value = _$2.trim(value);
990
- if (value === "#") return "#";
991
- if (
992
- !(
993
- value.substr(0, 7) === "http://" ||
994
- value.substr(0, 8) === "https://" ||
995
- value.substr(0, 7) === "mailto:" ||
996
- value.substr(0, 4) === "tel:" ||
997
- value.substr(0, 11) === "data:image/" ||
998
- value.substr(0, 6) === "ftp://" ||
999
- value.substr(0, 2) === "./" ||
1000
- value.substr(0, 3) === "../" ||
1001
- value[0] === "#" ||
1002
- value[0] === "/"
1003
- )
1004
- ) {
1005
- return "";
1006
- }
1007
- } else if (name === "background") {
1008
- // filter `background` attribute (maybe no use)
1009
- // `javascript:`
1010
- REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
1011
- if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
1012
- return "";
1013
- }
1014
- } else if (name === "style") {
1015
- // `expression()`
1016
- REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
1017
- if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
1018
- return "";
1019
- }
1020
- // `url()`
1021
- REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
1022
- if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
1023
- REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
1024
- if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
1025
- return "";
1026
- }
1027
- }
1028
- if (cssFilter !== false) {
1029
- cssFilter = cssFilter || defaultCSSFilter;
1030
- value = cssFilter.process(value);
1031
- }
1032
- }
1033
-
1034
- // escape `<>"` before returns
1035
- value = escapeAttrValue(value);
1036
- return value;
1037
- }
1038
-
1039
- // RegExp list
1040
- var REGEXP_LT = /</g;
1041
- var REGEXP_GT = />/g;
1042
- var REGEXP_QUOTE = /"/g;
1043
- var REGEXP_QUOTE_2 = /&quot;/g;
1044
- var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
1045
- var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
1046
- var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
1047
- // var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//gm;
1048
- var REGEXP_DEFAULT_ON_TAG_ATTR_4 =
1049
- /((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi;
1050
- // var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;
1051
- // var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;
1052
- var REGEXP_DEFAULT_ON_TAG_ATTR_7 =
1053
- /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
1054
- var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
1055
-
1056
- /**
1057
- * escape double quote
1058
- *
1059
- * @param {String} str
1060
- * @return {String} str
1061
- */
1062
- function escapeQuote(str) {
1063
- return str.replace(REGEXP_QUOTE, "&quot;");
1064
- }
1065
-
1066
- /**
1067
- * unescape double quote
1068
- *
1069
- * @param {String} str
1070
- * @return {String} str
1071
- */
1072
- function unescapeQuote(str) {
1073
- return str.replace(REGEXP_QUOTE_2, '"');
1074
- }
1075
-
1076
- /**
1077
- * escape html entities
1078
- *
1079
- * @param {String} str
1080
- * @return {String}
1081
- */
1082
- function escapeHtmlEntities(str) {
1083
- return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {
1084
- return code[0] === "x" || code[0] === "X"
1085
- ? String.fromCharCode(parseInt(code.substr(1), 16))
1086
- : String.fromCharCode(parseInt(code, 10));
1087
- });
1088
- }
1089
-
1090
- /**
1091
- * escape html5 new danger entities
1092
- *
1093
- * @param {String} str
1094
- * @return {String}
1095
- */
1096
- function escapeDangerHtml5Entities(str) {
1097
- return str
1098
- .replace(REGEXP_ATTR_VALUE_COLON, ":")
1099
- .replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
1100
- }
1101
-
1102
- /**
1103
- * clear nonprintable characters
1104
- *
1105
- * @param {String} str
1106
- * @return {String}
1107
- */
1108
- function clearNonPrintableCharacter(str) {
1109
- var str2 = "";
1110
- for (var i = 0, len = str.length; i < len; i++) {
1111
- str2 += str.charCodeAt(i) < 32 ? " " : str.charAt(i);
1112
- }
1113
- return _$2.trim(str2);
1114
- }
1115
-
1116
- /**
1117
- * get friendly attribute value
1118
- *
1119
- * @param {String} str
1120
- * @return {String}
1121
- */
1122
- function friendlyAttrValue(str) {
1123
- str = unescapeQuote(str);
1124
- str = escapeHtmlEntities(str);
1125
- str = escapeDangerHtml5Entities(str);
1126
- str = clearNonPrintableCharacter(str);
1127
- return str;
1128
- }
1129
-
1130
- /**
1131
- * unescape attribute value
1132
- *
1133
- * @param {String} str
1134
- * @return {String}
1135
- */
1136
- function escapeAttrValue(str) {
1137
- str = escapeQuote(str);
1138
- str = escapeHtml(str);
1139
- return str;
1140
- }
1141
-
1142
- /**
1143
- * `onIgnoreTag` function for removing all the tags that are not in whitelist
1144
- */
1145
- function onIgnoreTagStripAll() {
1146
- return "";
1147
- }
1148
-
1149
- /**
1150
- * remove tag body
1151
- * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)
1152
- *
1153
- * @param {array} tags
1154
- * @param {function} next
1155
- */
1156
- function StripTagBody(tags, next) {
1157
- if (typeof next !== "function") {
1158
- next = function () {};
1159
- }
1160
-
1161
- var isRemoveAllTag = !Array.isArray(tags);
1162
- function isRemoveTag(tag) {
1163
- if (isRemoveAllTag) return true;
1164
- return _$2.indexOf(tags, tag) !== -1;
1165
- }
1166
-
1167
- var removeList = [];
1168
- var posStart = false;
1169
-
1170
- return {
1171
- onIgnoreTag: function (tag, html, options) {
1172
- if (isRemoveTag(tag)) {
1173
- if (options.isClosing) {
1174
- var ret = "[/removed]";
1175
- var end = options.position + ret.length;
1176
- removeList.push([
1177
- posStart !== false ? posStart : options.position,
1178
- end,
1179
- ]);
1180
- posStart = false;
1181
- return ret;
1182
- } else {
1183
- if (!posStart) {
1184
- posStart = options.position;
1185
- }
1186
- return "[removed]";
1187
- }
1188
- } else {
1189
- return next(tag, html, options);
1190
- }
1191
- },
1192
- remove: function (html) {
1193
- var rethtml = "";
1194
- var lastPos = 0;
1195
- _$2.forEach(removeList, function (pos) {
1196
- rethtml += html.slice(lastPos, pos[0]);
1197
- lastPos = pos[1];
1198
- });
1199
- rethtml += html.slice(lastPos);
1200
- return rethtml;
1201
- },
1202
- };
1203
- }
1204
-
1205
- /**
1206
- * remove html comments
1207
- *
1208
- * @param {String} html
1209
- * @return {String}
1210
- */
1211
- function stripCommentTag(html) {
1212
- var retHtml = "";
1213
- var lastPos = 0;
1214
- while (lastPos < html.length) {
1215
- var i = html.indexOf("<!--", lastPos);
1216
- if (i === -1) {
1217
- retHtml += html.slice(lastPos);
1218
- break;
1219
- }
1220
- retHtml += html.slice(lastPos, i);
1221
- var j = html.indexOf("-->", i);
1222
- if (j === -1) {
1223
- break;
1224
- }
1225
- lastPos = j + 3;
1226
- }
1227
- return retHtml;
1228
- }
1229
-
1230
- /**
1231
- * remove invisible characters
1232
- *
1233
- * @param {String} html
1234
- * @return {String}
1235
- */
1236
- function stripBlankChar(html) {
1237
- var chars = html.split("");
1238
- chars = chars.filter(function (char) {
1239
- var c = char.charCodeAt(0);
1240
- if (c === 127) return false;
1241
- if (c <= 31) {
1242
- if (c === 10 || c === 13) return true;
1243
- return false;
1244
- }
1245
- return true;
1246
- });
1247
- return chars.join("");
1248
- }
1249
-
1250
- _default$1.whiteList = getDefaultWhiteList();
1251
- _default$1.getDefaultWhiteList = getDefaultWhiteList;
1252
- _default$1.onTag = onTag;
1253
- _default$1.onIgnoreTag = onIgnoreTag;
1254
- _default$1.onTagAttr = onTagAttr;
1255
- _default$1.onIgnoreTagAttr = onIgnoreTagAttr;
1256
- _default$1.safeAttrValue = safeAttrValue;
1257
- _default$1.escapeHtml = escapeHtml;
1258
- _default$1.escapeQuote = escapeQuote;
1259
- _default$1.unescapeQuote = unescapeQuote;
1260
- _default$1.escapeHtmlEntities = escapeHtmlEntities;
1261
- _default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
1262
- _default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;
1263
- _default$1.friendlyAttrValue = friendlyAttrValue;
1264
- _default$1.escapeAttrValue = escapeAttrValue;
1265
- _default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;
1266
- _default$1.StripTagBody = StripTagBody;
1267
- _default$1.stripCommentTag = stripCommentTag;
1268
- _default$1.stripBlankChar = stripBlankChar;
1269
- _default$1.cssFilter = defaultCSSFilter;
1270
- _default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
1271
-
1272
- var parser$1 = {};
1273
-
1274
- /**
1275
- * Simple HTML Parser
1276
- *
1277
- * @author Zongmin Lei<leizongmin@gmail.com>
1278
- */
1279
-
1280
- var _$1 = util;
1281
-
1282
- /**
1283
- * get tag name
1284
- *
1285
- * @param {String} html e.g. '<a hef="#">'
1286
- * @return {String}
1287
- */
1288
- function getTagName(html) {
1289
- var i = _$1.spaceIndex(html);
1290
- var tagName;
1291
- if (i === -1) {
1292
- tagName = html.slice(1, -1);
1293
- } else {
1294
- tagName = html.slice(1, i + 1);
1295
- }
1296
- tagName = _$1.trim(tagName).toLowerCase();
1297
- if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
1298
- if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
1299
- return tagName;
1300
- }
1301
-
1302
- /**
1303
- * is close tag?
1304
- *
1305
- * @param {String} html 如:'<a hef="#">'
1306
- * @return {Boolean}
1307
- */
1308
- function isClosing(html) {
1309
- return html.slice(0, 2) === "</";
1310
- }
1311
-
1312
- /**
1313
- * parse input html and returns processed html
1314
- *
1315
- * @param {String} html
1316
- * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)
1317
- * @param {Function} escapeHtml
1318
- * @return {String}
1319
- */
1320
- function parseTag$1(html, onTag, escapeHtml) {
1321
-
1322
- var rethtml = "";
1323
- var lastPos = 0;
1324
- var tagStart = false;
1325
- var quoteStart = false;
1326
- var currentPos = 0;
1327
- var len = html.length;
1328
- var currentTagName = "";
1329
- var currentHtml = "";
1330
-
1331
- chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
1332
- var c = html.charAt(currentPos);
1333
- if (tagStart === false) {
1334
- if (c === "<") {
1335
- tagStart = currentPos;
1336
- continue;
1337
- }
1338
- } else {
1339
- if (quoteStart === false) {
1340
- if (c === "<") {
1341
- rethtml += escapeHtml(html.slice(lastPos, currentPos));
1342
- tagStart = currentPos;
1343
- lastPos = currentPos;
1344
- continue;
1345
- }
1346
- if (c === ">") {
1347
- rethtml += escapeHtml(html.slice(lastPos, tagStart));
1348
- currentHtml = html.slice(tagStart, currentPos + 1);
1349
- currentTagName = getTagName(currentHtml);
1350
- rethtml += onTag(
1351
- tagStart,
1352
- rethtml.length,
1353
- currentTagName,
1354
- currentHtml,
1355
- isClosing(currentHtml)
1356
- );
1357
- lastPos = currentPos + 1;
1358
- tagStart = false;
1359
- continue;
1360
- }
1361
- if (c === '"' || c === "'") {
1362
- var i = 1;
1363
- var ic = html.charAt(currentPos - i);
1364
-
1365
- while (ic.trim() === "" || ic === "=") {
1366
- if (ic === "=") {
1367
- quoteStart = c;
1368
- continue chariterator;
1369
- }
1370
- ic = html.charAt(currentPos - ++i);
1371
- }
1372
- }
1373
- } else {
1374
- if (c === quoteStart) {
1375
- quoteStart = false;
1376
- continue;
1377
- }
1378
- }
1379
- }
1380
- }
1381
- if (lastPos < html.length) {
1382
- rethtml += escapeHtml(html.substr(lastPos));
1383
- }
1384
-
1385
- return rethtml;
1386
- }
1387
-
1388
- var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\_:.-]/gim;
1389
-
1390
- /**
1391
- * parse input attributes and returns processed attributes
1392
- *
1393
- * @param {String} html e.g. `href="#" target="_blank"`
1394
- * @param {Function} onAttr e.g. `function (name, value)`
1395
- * @return {String}
1396
- */
1397
- function parseAttr$1(html, onAttr) {
1398
-
1399
- var lastPos = 0;
1400
- var lastMarkPos = 0;
1401
- var retAttrs = [];
1402
- var tmpName = false;
1403
- var len = html.length;
1404
-
1405
- function addAttr(name, value) {
1406
- name = _$1.trim(name);
1407
- name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
1408
- if (name.length < 1) return;
1409
- var ret = onAttr(name, value || "");
1410
- if (ret) retAttrs.push(ret);
1411
- }
1412
-
1413
- // 逐个分析字符
1414
- for (var i = 0; i < len; i++) {
1415
- var c = html.charAt(i);
1416
- var v, j;
1417
- if (tmpName === false && c === "=") {
1418
- tmpName = html.slice(lastPos, i);
1419
- lastPos = i + 1;
1420
- lastMarkPos = html.charAt(lastPos) === '"' || html.charAt(lastPos) === "'" ? lastPos : findNextQuotationMark(html, i + 1);
1421
- continue;
1422
- }
1423
- if (tmpName !== false) {
1424
- if (
1425
- i === lastMarkPos
1426
- ) {
1427
- j = html.indexOf(c, i + 1);
1428
- if (j === -1) {
1429
- break;
1430
- } else {
1431
- v = _$1.trim(html.slice(lastMarkPos + 1, j));
1432
- addAttr(tmpName, v);
1433
- tmpName = false;
1434
- i = j;
1435
- lastPos = i + 1;
1436
- continue;
1437
- }
1438
- }
1439
- }
1440
- if (/\s|\n|\t/.test(c)) {
1441
- html = html.replace(/\s|\n|\t/g, " ");
1442
- if (tmpName === false) {
1443
- j = findNextEqual(html, i);
1444
- if (j === -1) {
1445
- v = _$1.trim(html.slice(lastPos, i));
1446
- addAttr(v);
1447
- tmpName = false;
1448
- lastPos = i + 1;
1449
- continue;
1450
- } else {
1451
- i = j - 1;
1452
- continue;
1453
- }
1454
- } else {
1455
- j = findBeforeEqual(html, i - 1);
1456
- if (j === -1) {
1457
- v = _$1.trim(html.slice(lastPos, i));
1458
- v = stripQuoteWrap(v);
1459
- addAttr(tmpName, v);
1460
- tmpName = false;
1461
- lastPos = i + 1;
1462
- continue;
1463
- } else {
1464
- continue;
1465
- }
1466
- }
1467
- }
1468
- }
1469
-
1470
- if (lastPos < html.length) {
1471
- if (tmpName === false) {
1472
- addAttr(html.slice(lastPos));
1473
- } else {
1474
- addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
1475
- }
1476
- }
1477
-
1478
- return _$1.trim(retAttrs.join(" "));
1479
- }
1480
-
1481
- function findNextEqual(str, i) {
1482
- for (; i < str.length; i++) {
1483
- var c = str[i];
1484
- if (c === " ") continue;
1485
- if (c === "=") return i;
1486
- return -1;
1487
- }
1488
- }
1489
-
1490
- function findNextQuotationMark(str, i) {
1491
- for (; i < str.length; i++) {
1492
- var c = str[i];
1493
- if (c === " ") continue;
1494
- if (c === "'" || c === '"') return i;
1495
- return -1;
1496
- }
1497
- }
1498
-
1499
- function findBeforeEqual(str, i) {
1500
- for (; i > 0; i--) {
1501
- var c = str[i];
1502
- if (c === " ") continue;
1503
- if (c === "=") return i;
1504
- return -1;
1505
- }
1506
- }
1507
-
1508
- function isQuoteWrapString(text) {
1509
- if (
1510
- (text[0] === '"' && text[text.length - 1] === '"') ||
1511
- (text[0] === "'" && text[text.length - 1] === "'")
1512
- ) {
1513
- return true;
1514
- } else {
1515
- return false;
1516
- }
1517
- }
1518
-
1519
- function stripQuoteWrap(text) {
1520
- if (isQuoteWrapString(text)) {
1521
- return text.substr(1, text.length - 2);
1522
- } else {
1523
- return text;
1524
- }
1525
- }
1526
-
1527
- parser$1.parseTag = parseTag$1;
1528
- parser$1.parseAttr = parseAttr$1;
1529
-
1530
- /**
1531
- * filter xss
1532
- *
1533
- * @author Zongmin Lei<leizongmin@gmail.com>
1534
- */
1535
-
1536
- var FilterCSS = libExports$1.FilterCSS;
1537
- var DEFAULT = _default$1;
1538
- var parser = parser$1;
1539
- var parseTag = parser.parseTag;
1540
- var parseAttr = parser.parseAttr;
1541
- var _ = util;
1542
-
1543
- /**
1544
- * returns `true` if the input value is `undefined` or `null`
1545
- *
1546
- * @param {Object} obj
1547
- * @return {Boolean}
1548
- */
1549
- function isNull(obj) {
1550
- return obj === undefined || obj === null;
1551
- }
1552
-
1553
- /**
1554
- * get attributes for a tag
1555
- *
1556
- * @param {String} html
1557
- * @return {Object}
1558
- * - {String} html
1559
- * - {Boolean} closing
1560
- */
1561
- function getAttrs(html) {
1562
- var i = _.spaceIndex(html);
1563
- if (i === -1) {
1564
- return {
1565
- html: "",
1566
- closing: html[html.length - 2] === "/",
1567
- };
1568
- }
1569
- html = _.trim(html.slice(i + 1, -1));
1570
- var isClosing = html[html.length - 1] === "/";
1571
- if (isClosing) html = _.trim(html.slice(0, -1));
1572
- return {
1573
- html: html,
1574
- closing: isClosing,
1575
- };
1576
- }
1577
-
1578
- /**
1579
- * shallow copy
1580
- *
1581
- * @param {Object} obj
1582
- * @return {Object}
1583
- */
1584
- function shallowCopyObject(obj) {
1585
- var ret = {};
1586
- for (var i in obj) {
1587
- ret[i] = obj[i];
1588
- }
1589
- return ret;
1590
- }
1591
-
1592
- function keysToLowerCase(obj) {
1593
- var ret = {};
1594
- for (var i in obj) {
1595
- if (Array.isArray(obj[i])) {
1596
- ret[i.toLowerCase()] = obj[i].map(function (item) {
1597
- return item.toLowerCase();
1598
- });
1599
- } else {
1600
- ret[i.toLowerCase()] = obj[i];
1601
- }
1602
- }
1603
- return ret;
1604
- }
1605
-
1606
- /**
1607
- * FilterXSS class
1608
- *
1609
- * @param {Object} options
1610
- * whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,
1611
- * onIgnoreTagAttr, safeAttrValue, escapeHtml
1612
- * stripIgnoreTagBody, allowCommentTag, stripBlankChar
1613
- * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`
1614
- */
1615
- function FilterXSS(options) {
1616
- options = shallowCopyObject(options || {});
1617
-
1618
- if (options.stripIgnoreTag) {
1619
- if (options.onIgnoreTag) {
1620
- console.error(
1621
- 'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'
1622
- );
1623
- }
1624
- options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;
1625
- }
1626
- if (options.whiteList || options.allowList) {
1627
- options.whiteList = keysToLowerCase(options.whiteList || options.allowList);
1628
- } else {
1629
- options.whiteList = DEFAULT.whiteList;
1630
- }
1631
-
1632
- options.onTag = options.onTag || DEFAULT.onTag;
1633
- options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;
1634
- options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;
1635
- options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;
1636
- options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;
1637
- options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;
1638
- this.options = options;
1639
-
1640
- if (options.css === false) {
1641
- this.cssFilter = false;
1642
- } else {
1643
- options.css = options.css || {};
1644
- this.cssFilter = new FilterCSS(options.css);
1645
- }
1646
- }
1647
-
1648
- /**
1649
- * start process and returns result
1650
- *
1651
- * @param {String} html
1652
- * @return {String}
1653
- */
1654
- FilterXSS.prototype.process = function (html) {
1655
- // compatible with the input
1656
- html = html || "";
1657
- html = html.toString();
1658
- if (!html) return "";
1659
-
1660
- var me = this;
1661
- var options = me.options;
1662
- var whiteList = options.whiteList;
1663
- var onTag = options.onTag;
1664
- var onIgnoreTag = options.onIgnoreTag;
1665
- var onTagAttr = options.onTagAttr;
1666
- var onIgnoreTagAttr = options.onIgnoreTagAttr;
1667
- var safeAttrValue = options.safeAttrValue;
1668
- var escapeHtml = options.escapeHtml;
1669
- var cssFilter = me.cssFilter;
1670
-
1671
- // remove invisible characters
1672
- if (options.stripBlankChar) {
1673
- html = DEFAULT.stripBlankChar(html);
1674
- }
1675
-
1676
- // remove html comments
1677
- if (!options.allowCommentTag) {
1678
- html = DEFAULT.stripCommentTag(html);
1679
- }
1680
-
1681
- // if enable stripIgnoreTagBody
1682
- var stripIgnoreTagBody = false;
1683
- if (options.stripIgnoreTagBody) {
1684
- stripIgnoreTagBody = DEFAULT.StripTagBody(
1685
- options.stripIgnoreTagBody,
1686
- onIgnoreTag
1687
- );
1688
- onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;
1689
- }
1690
-
1691
- var retHtml = parseTag(
1692
- html,
1693
- function (sourcePosition, position, tag, html, isClosing) {
1694
- var info = {
1695
- sourcePosition: sourcePosition,
1696
- position: position,
1697
- isClosing: isClosing,
1698
- isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag),
1699
- };
1700
-
1701
- // call `onTag()`
1702
- var ret = onTag(tag, html, info);
1703
- if (!isNull(ret)) return ret;
1704
-
1705
- if (info.isWhite) {
1706
- if (info.isClosing) {
1707
- return "</" + tag + ">";
1708
- }
1709
-
1710
- var attrs = getAttrs(html);
1711
- var whiteAttrList = whiteList[tag];
1712
- var attrsHtml = parseAttr(attrs.html, function (name, value) {
1713
- // call `onTagAttr()`
1714
- var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;
1715
- var ret = onTagAttr(tag, name, value, isWhiteAttr);
1716
- if (!isNull(ret)) return ret;
1717
-
1718
- if (isWhiteAttr) {
1719
- // call `safeAttrValue()`
1720
- value = safeAttrValue(tag, name, value, cssFilter);
1721
- if (value) {
1722
- return name + '="' + value + '"';
1723
- } else {
1724
- return name;
1725
- }
1726
- } else {
1727
- // call `onIgnoreTagAttr()`
1728
- ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
1729
- if (!isNull(ret)) return ret;
1730
- return;
1731
- }
1732
- });
1733
-
1734
- // build new tag html
1735
- html = "<" + tag;
1736
- if (attrsHtml) html += " " + attrsHtml;
1737
- if (attrs.closing) html += " /";
1738
- html += ">";
1739
- return html;
1740
- } else {
1741
- // call `onIgnoreTag()`
1742
- ret = onIgnoreTag(tag, html, info);
1743
- if (!isNull(ret)) return ret;
1744
- return escapeHtml(html);
1745
- }
1746
- },
1747
- escapeHtml
1748
- );
1749
-
1750
- // if enable stripIgnoreTagBody
1751
- if (stripIgnoreTagBody) {
1752
- retHtml = stripIgnoreTagBody.remove(retHtml);
1753
- }
1754
-
1755
- return retHtml;
1756
- };
1757
-
1758
- var xss = FilterXSS;
1759
-
1760
- /**
1761
- * xss
1762
- *
1763
- * @author Zongmin Lei<leizongmin@gmail.com>
1764
- */
1765
-
1766
- (function (module, exports) {
1767
- var DEFAULT = _default$1;
1768
- var parser = parser$1;
1769
- var FilterXSS = xss;
1770
-
1771
- /**
1772
- * filter xss function
1773
- *
1774
- * @param {String} html
1775
- * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
1776
- * @return {String}
1777
- */
1778
- function filterXSS(html, options) {
1779
- var xss = new FilterXSS(options);
1780
- return xss.process(html);
1781
- }
1782
-
1783
- exports = module.exports = filterXSS;
1784
- exports.filterXSS = filterXSS;
1785
- exports.FilterXSS = FilterXSS;
1786
-
1787
- (function () {
1788
- for (var i in DEFAULT) {
1789
- exports[i] = DEFAULT[i];
1790
- }
1791
- for (var j in parser) {
1792
- exports[j] = parser[j];
1793
- }
1794
- })();
1795
-
1796
- // using `xss` on the WebWorker, output `filterXSS` to the globals
1797
- function isWorkerEnv() {
1798
- return (
1799
- typeof self !== "undefined" &&
1800
- typeof DedicatedWorkerGlobalScope !== "undefined" &&
1801
- self instanceof DedicatedWorkerGlobalScope
1802
- );
1803
- }
1804
- if (isWorkerEnv()) {
1805
- self.filterXSS = module.exports;
1806
- }
1807
- } (lib$1, lib$1.exports));
1808
-
1809
- var libExports = lib$1.exports;
1810
-
1811
- /**
1812
- * Determine if the value is a plain object.
1813
- * @param {*} value The value to check.
1814
- * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
1815
- */
1816
- var isPlainObject = function (value) {
1817
- if (typeof value !== "object" || value === null) {
1818
- return false;
1819
- }
1820
- if (Object.prototype.toString.call(value) !== "[object Object]") {
1821
- return false;
1822
- }
1823
- var proto = Object.getPrototypeOf(value);
1824
- if (proto === null) {
1825
- return true;
1826
- }
1827
- while (Object.getPrototypeOf(proto) !== null) {
1828
- proto = Object.getPrototypeOf(proto);
1829
- }
1830
- return Object.getPrototypeOf(value) === proto;
1831
- };
1832
-
1833
- /**
1834
- * The Sanitizer Class
1835
- *
1836
- * @export
1837
- * @class Sanitizer
1838
- */
1839
- var Sanitizer = /** @class */ (function () {
1840
- function Sanitizer(filterOptions, extendDefaults) {
1841
- var _this = this;
1842
- // Supported HTML Spec: https://doc.arcgis.com/en/arcgis-online/reference/supported-html.htm
1843
- this.arcgisWhiteList = {
1844
- a: ["href", "style", "target"],
1845
- abbr: ["title"],
1846
- article: ["style"],
1847
- aside: ["style"],
1848
- audio: ["autoplay", "controls", "loop", "muted", "preload"],
1849
- b: [],
1850
- blockquote: ["style"],
1851
- br: [],
1852
- code: ["style"],
1853
- dd: ["style"],
1854
- del: ["style"],
1855
- details: ["open", "style"],
1856
- div: ["align", "aria-hidden", "aria-label", "style"],
1857
- dl: ["style"],
1858
- dt: ["style"],
1859
- em: [],
1860
- figcaption: ["style"],
1861
- figure: ["style"],
1862
- font: ["color", "face", "size", "style"],
1863
- footer: ["style"],
1864
- h1: ["style"],
1865
- h2: ["style"],
1866
- h3: ["style"],
1867
- h4: ["style"],
1868
- h5: ["style"],
1869
- h6: ["style"],
1870
- header: ["style"],
1871
- hr: [],
1872
- i: [],
1873
- img: ["alt", "border", "height", "src", "style", "width"],
1874
- li: [],
1875
- main: ["style"],
1876
- mark: ["style"],
1877
- nav: ["style"],
1878
- ol: [],
1879
- p: ["style"],
1880
- pre: ["style"],
1881
- section: ["style"],
1882
- source: ["media", "src", "type"],
1883
- span: ["aria-hidden", "aria-label", "style"],
1884
- strong: [],
1885
- sub: ["style"],
1886
- summary: ["style"],
1887
- sup: ["style"],
1888
- table: ["border", "cellpadding", "cellspacing", "height", "style", "width"],
1889
- tbody: [],
1890
- tr: ["align", "height", "style", "valign"],
1891
- td: [
1892
- "align",
1893
- "colspan",
1894
- "height",
1895
- "nowrap",
1896
- "rowspan",
1897
- "style",
1898
- "valign",
1899
- "width",
1900
- ],
1901
- th: [
1902
- "align",
1903
- "colspan",
1904
- "height",
1905
- "nowrap",
1906
- "rowspan",
1907
- "style",
1908
- "valign",
1909
- "width",
1910
- ],
1911
- time: ["style"],
1912
- u: [],
1913
- ul: [],
1914
- video: [
1915
- "autoplay",
1916
- "controls",
1917
- "height",
1918
- "loop",
1919
- "muted",
1920
- "poster",
1921
- "preload",
1922
- "width",
1923
- ],
1924
- };
1925
- this.arcgisCSSWhiteList = __assign(__assign({}, libExports.getDefaultCSSWhiteList()), { "align-items": true, "align-self": true, "flex": true, "flex-basis": true, "flex-direction": true, "flex-flow": true, "flex-grow": true, "flex-shrink": true, "flex-wrap": true, "float": true, "gap": true, "grid": true, "grid-area": true, "grid-auto-columns": true, "grid-auto-flow": true, "grid-auto-rows": true, "grid-column": true, "grid-column-end": true, "grid-column-start": true, "grid-row": true, "grid-row-end": true, "grid-row-start": true, "grid-template": true, "grid-template-areas": true, "grid-template-columns": true, "grid-template-rows": true, "justify-content": true, "justify-items": true, "justify-self": true, "line-height": true, "overflow": true });
1926
- this.allowedProtocols = [
1927
- "http",
1928
- "https",
1929
- "mailto",
1930
- "iform",
1931
- "tel",
1932
- "flow",
1933
- "lfmobile",
1934
- "arcgis-navigator",
1935
- "arcgis-appstudio-player",
1936
- "arcgis-survey123",
1937
- "arcgis-collector",
1938
- "arcgis-workforce",
1939
- "arcgis-explorer",
1940
- "arcgis-trek2there",
1941
- "arcgis-quickcapture",
1942
- "mspbi",
1943
- "comgooglemaps",
1944
- "pdfefile",
1945
- "pdfehttp",
1946
- "pdfehttps",
1947
- "boxapp",
1948
- "boxemm",
1949
- "awb",
1950
- "awbs",
1951
- "gropen",
1952
- "radarscope",
1953
- ];
1954
- this.arcgisFilterOptions = {
1955
- allowCommentTag: true,
1956
- safeAttrValue: function (tag, name, value, cssFilter) {
1957
- // Take over safe attribute filtering for `a` `href`, `img` `src`,
1958
- // and `source` `src` attributes, otherwise pass onto the
1959
- // default `XSS.safeAttrValue` method.
1960
- if ((tag === "a" && name === "href") ||
1961
- ((tag === "img" || tag === "source") && name === "src")) {
1962
- return _this.sanitizeUrl(value);
1963
- }
1964
- return libExports.safeAttrValue(tag, name, value, cssFilter);
1965
- },
1966
- };
1967
- this._entityMap = {
1968
- "&": "&#x38;",
1969
- "<": "&#x3C;",
1970
- ">": "&#x3E;",
1971
- '"': "&#x22;",
1972
- "'": "&#x27;",
1973
- "/": "&#x2F;",
1974
- };
1975
- var xssFilterOptions;
1976
- if (filterOptions && !extendDefaults) {
1977
- // Override the defaults
1978
- xssFilterOptions = filterOptions;
1979
- }
1980
- else if (filterOptions && extendDefaults) {
1981
- // Extend the defaults
1982
- xssFilterOptions = Object.create(this.arcgisFilterOptions);
1983
- xssFilterOptions.css = { whiteList: this.arcgisCSSWhiteList };
1984
- Object.keys(filterOptions).forEach(function (key) {
1985
- if (key === "whiteList") {
1986
- // Extend the whitelist by concatenating arrays
1987
- xssFilterOptions.whiteList = _this._extendObjectOfArrays([
1988
- _this.arcgisWhiteList,
1989
- filterOptions.whiteList || {},
1990
- ]);
1991
- }
1992
- else if (key === "css") {
1993
- var cssExtensions_1 = filterOptions.css.whiteList;
1994
- if (cssExtensions_1 != null && filterOptions.css instanceof Object) {
1995
- Object.keys(cssExtensions_1).forEach(function (attr) {
1996
- return (xssFilterOptions.css.whiteList[attr] =
1997
- cssExtensions_1[attr]);
1998
- });
1999
- }
2000
- }
2001
- else {
2002
- xssFilterOptions[key] = filterOptions[key];
2003
- }
2004
- });
2005
- }
2006
- else {
2007
- // Only use the defaults
2008
- xssFilterOptions = Object.create(this.arcgisFilterOptions);
2009
- xssFilterOptions.whiteList = this.arcgisWhiteList;
2010
- xssFilterOptions.css = { whiteList: this.arcgisCSSWhiteList };
2011
- }
2012
- this.xssFilterOptions = xssFilterOptions;
2013
- // Make this readable to tests
2014
- this._xssFilter = new libExports.FilterXSS(xssFilterOptions);
2015
- }
2016
- /**
2017
- * Sanitizes value to remove invalid HTML tags.
2018
- *
2019
- * Note: If the value passed does not contain a valid JSON data type (String,
2020
- * Number, JSON Object, Array, Boolean, or null), the value will be nullified.
2021
- *
2022
- * @param {any} value The value to sanitize.
2023
- * @returns {any} The sanitized value.
2024
- * @memberof Sanitizer
2025
- */
2026
- Sanitizer.prototype.sanitize = function (value, options) {
2027
- if (options === void 0) { options = {}; }
2028
- switch (typeof value) {
2029
- case "number":
2030
- if (isNaN(value) || !isFinite(value)) {
2031
- return null;
2032
- }
2033
- return value;
2034
- case "boolean":
2035
- return value;
2036
- case "string":
2037
- return this._xssFilter.process(value);
2038
- case "object":
2039
- return this._iterateOverObject(value, options);
2040
- default:
2041
- if (options.allowUndefined && typeof value === "undefined") {
2042
- return;
2043
- }
2044
- return null;
2045
- }
2046
- };
2047
- /**
2048
- * Sanitizes a URL string following the allowed protocols and sanitization rules.
2049
- *
2050
- * @param {string} value The URL to sanitize.
2051
- * @param {{ isProtocolRequired: boolean }} options Configuration options for URL checking.
2052
- * @returns {string} The sanitized URL if it's valid, or an empty string if the URL is invalid.
2053
- */
2054
- Sanitizer.prototype.sanitizeUrl = function (value, options) {
2055
- var _a = (options !== null && options !== void 0 ? options : {}).isProtocolRequired, isProtocolRequired = _a === void 0 ? true : _a;
2056
- var protocol = this._trim(value.substring(0, value.indexOf(":")));
2057
- var isRootUrl = value === "/";
2058
- var isUrlFragment = /^#/.test(value);
2059
- var isValidProtocol = protocol && this.allowedProtocols.indexOf(protocol.toLowerCase()) > -1;
2060
- if (isRootUrl || isUrlFragment || isValidProtocol) {
2061
- return libExports.escapeAttrValue(value);
2062
- }
2063
- if (!protocol && !isProtocolRequired) {
2064
- return libExports.escapeAttrValue("https://".concat(value));
2065
- }
2066
- return "";
2067
- };
2068
- /**
2069
- * Sanitizes an HTML attribute value.
2070
- *
2071
- * @param {string} tag The tagname of the HTML element.
2072
- * @param {string} attribute The attribute name of the HTML element.
2073
- * @param {string} value The raw value to be used for the HTML attribute value.
2074
- * @param {XSS.ICSSFilter} [cssFilter] The CSS filter to be used.
2075
- * @returns {string} The sanitized attribute value.
2076
- * @memberof Sanitizer
2077
- */
2078
- Sanitizer.prototype.sanitizeHTMLAttribute = function (tag, attribute, value, cssFilter) {
2079
- // use the custom safeAttrValue function if provided
2080
- if (typeof this.xssFilterOptions.safeAttrValue === "function") {
2081
- return this.xssFilterOptions.safeAttrValue(tag, attribute, value,
2082
- // @ts-expect-error safeAttrValue does handle undefined cssFilter
2083
- cssFilter);
2084
- }
2085
- // otherwise use the default
2086
- // @ts-ignore safeAttrValue does handle undefined cssFilter
2087
- return libExports.safeAttrValue(tag, attribute, value, cssFilter);
2088
- };
2089
- /**
2090
- * Checks if a value only contains valid HTML.
2091
- *
2092
- * @param {any} value The value to validate.
2093
- * @returns {boolean}
2094
- * @memberof Sanitizer
2095
- */
2096
- Sanitizer.prototype.validate = function (value, options) {
2097
- if (options === void 0) { options = {}; }
2098
- var sanitized = this.sanitize(value, options);
2099
- return {
2100
- isValid: value === sanitized,
2101
- sanitized: sanitized,
2102
- };
2103
- };
2104
- /**
2105
- * Encodes the following characters, `& < > \" ' /` to their hexadecimal HTML entity code.
2106
- * Example: "&middot;" => "&#x38;middot;"
2107
- *
2108
- * @param {string} value The value to encode.
2109
- * @returns {string} The encoded string value.
2110
- * @memberof Sanitizer
2111
- */
2112
- Sanitizer.prototype.encodeHTML = function (value) {
2113
- var _this = this;
2114
- return String(value).replace(/[&<>"'\/]/g, function (s) {
2115
- return _this._entityMap[s];
2116
- });
2117
- };
2118
- /**
2119
- * Encodes all non-alphanumeric ASCII characters to their hexadecimal HTML entity codes.
2120
- * Example: "alert(document.cookie)" => "alert&#x28;document&#x2e;cookie&#x29;"
2121
- *
2122
- * @param {string} value The value to encode.
2123
- * @returns {string} The encoded string value.
2124
- * @memberof Sanitizer
2125
- */
2126
- Sanitizer.prototype.encodeAttrValue = function (value) {
2127
- var alphanumericRE = /^[a-zA-Z0-9]$/;
2128
- return String(value).replace(/[\x00-\xFF]/g, function (c, idx) {
2129
- return !alphanumericRE.test(c)
2130
- ? "&#x".concat(Number(value.charCodeAt(idx)).toString(16), ";")
2131
- : c;
2132
- });
2133
- };
2134
- /**
2135
- * Extends an object of arrays by by concatenating arrays of the same object
2136
- * keys. If the if the previous key's value is not an array, the next key's
2137
- * value will replace the previous key. This method is used for extending the
2138
- * whiteList in the XSS filter options.
2139
- *
2140
- * @private
2141
- * @param {Array<{}>} objects An array of objects.
2142
- * @returns {{}} The extended object.
2143
- * @memberof Sanitizer
2144
- */
2145
- Sanitizer.prototype._extendObjectOfArrays = function (objects) {
2146
- var finalObj = {};
2147
- objects.forEach(function (obj) {
2148
- Object.keys(obj).forEach(function (key) {
2149
- if (Array.isArray(obj[key]) && Array.isArray(finalObj[key])) {
2150
- finalObj[key] = finalObj[key].concat(obj[key]);
2151
- }
2152
- else {
2153
- finalObj[key] = obj[key];
2154
- }
2155
- });
2156
- });
2157
- return finalObj;
2158
- };
2159
- /**
2160
- * Iterate over a plain object or array to deeply sanitize each value.
2161
- *
2162
- * @private
2163
- * @param {object} obj The object to iterate over.
2164
- * @returns {(object | null)} The sanitized object.
2165
- * @memberof Sanitizer
2166
- */
2167
- Sanitizer.prototype._iterateOverObject = function (obj, options) {
2168
- var _this = this;
2169
- if (options === void 0) { options = {}; }
2170
- try {
2171
- var hasChanged_1 = false;
2172
- var changedObj = void 0;
2173
- if (Array.isArray(obj)) {
2174
- changedObj = obj.reduce(function (prev, value) {
2175
- var validation = _this.validate(value, options);
2176
- if (validation.isValid) {
2177
- return prev.concat([value]);
2178
- }
2179
- else {
2180
- hasChanged_1 = true;
2181
- return prev.concat([validation.sanitized]);
2182
- }
2183
- }, []);
2184
- }
2185
- else if (!isPlainObject(obj)) {
2186
- if (options.allowUndefined && typeof obj === "undefined") {
2187
- return;
2188
- }
2189
- return null;
2190
- }
2191
- else {
2192
- var keys = Object.keys(obj);
2193
- changedObj = keys.reduce(function (prev, key) {
2194
- var value = obj[key];
2195
- var validation = _this.validate(value, options);
2196
- if (validation.isValid) {
2197
- prev[key] = value;
2198
- }
2199
- else {
2200
- hasChanged_1 = true;
2201
- prev[key] = validation.sanitized;
2202
- }
2203
- return prev;
2204
- }, {});
2205
- }
2206
- if (hasChanged_1) {
2207
- return changedObj;
2208
- }
2209
- return obj;
2210
- }
2211
- catch (err) {
2212
- return null;
2213
- }
2214
- };
2215
- /**
2216
- * Trim whitespace from the start and ends of a string.
2217
- * @param {string} val The string to trim.
2218
- * @returns {string} The trimmed string.
2219
- */
2220
- Sanitizer.prototype._trim = function (val) {
2221
- // @ts-ignore This is used by Jest,
2222
- // but TypeScript errors since it assumes `trim` is always available.
2223
- return String.prototype.trim
2224
- ? val.trim()
2225
- : val.replace(/(^\s*)|(\s*$)/g, "");
2226
- };
2227
- return Sanitizer;
2228
- }());
2229
-
2230
82
  /*
2231
83
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
2232
84
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
@@ -2399,7 +251,7 @@ globalScripts();
2399
251
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
2400
252
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
2401
253
  */
2402
- let c$2;function n$3(){try{getAssetPath(".");}catch{setAssetPath(_$4(n$d(c$2)));}}function r$2(t){const o=[];for(const s of Object.keys(t))customElements.get(`calcite-${s}`)||o.push(t[s]?.());return o.length>0?Promise.all(o):null}c$2="components/assets";
254
+ let c$2;function n$3(){try{getAssetPath(".");}catch{setAssetPath(_(n$d(c$2)));}}function r$2(t){const o=[];for(const s of Object.keys(t))customElements.get(`calcite-${s}`)||o.push(t[s]?.());return o.length>0?Promise.all(o):null}c$2="components/assets";
2403
255
 
2404
256
  /*
2405
257
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
@@ -2471,7 +323,7 @@ let i=class extends f$6{constructor(o){super(o),this.adminTokenServiceUrl=null,t
2471
323
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
2472
324
  See https://js.arcgis.com/4.31/esri/copyright.txt for details.
2473
325
  */
2474
- const R={},C=e=>{const t=new x$3(e.owningSystemUrl).host,r=new x$3(e.server).host,s=/.+\.arcgis\.com$/i;return s.test(t)&&s.test(r)},D=(e,t)=>!!(C(e)&&t&&t.some((t=>t.test(e.server))));let b=null,q=null;try{b=window.localStorage,q=window.sessionStorage;}catch{}class j extends o$6{constructor(){super(),this._portalConfig=globalThis.esriGeowConfig,this.serverInfos=[],this.oAuthInfos=[],this.credentials=[],this._soReqs=[],this._xoReqs=[],this._portals=[],this._defaultOAuthInfo=null,this._defaultTokenValidity=60,this.dialog=null,this.tokenValidity=null,this.normalizeWebTierAuth=!1,this._appOrigin="null"!==window.origin?window.origin:window.location.origin,this._appUrlObj=I(window.location.href),this._busy=null,this._rejectOnPersistedPageShow=!1,this._oAuthLocationParams=null,this._gwTokenUrl="/sharing/rest/generateToken",this._agsRest="/rest/services",this._agsPortal=/\/sharing(\/|$)/i,this._agsAdmin=/(https?:\/\/[^/]+\/[^/]+)\/admin\/?(\/.*)?$/i,this._adminSvcs=/\/rest\/admin\/services(\/|$)/i,this._gwDomains=[{regex:/^https?:\/\/www\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:dev|[a-z\d-]+\.mapsdev)\.arcgis\.com/i,customBaseUrl:"mapsdev.arcgis.com",tokenServiceUrl:"https://dev.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:devext|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,customBaseUrl:"mapsdevext.arcgis.com",tokenServiceUrl:"https://devext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:qaext|[a-z\d-]+\.mapsqa)\.arcgis\.com/i,customBaseUrl:"mapsqa.arcgis.com",tokenServiceUrl:"https://qaext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/[a-z\d-]+\.maps\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"}],this._legacyFed=[],this._regexSDirUrl=/http.+\/rest\/services\/?/gi,this._regexServerType=/(\/(FeatureServer|GPServer|GeoDataServer|GeocodeServer|GeoenrichmentServer|GeometryServer|GlobeServer|ImageServer|KnowledgeGraphServer|MapServer|MissionServer|MobileServer|NAServer|NetworkDiagramServer|OGCFeatureServer|ParcelFabricServer|RelationalCatalogServer|SceneServer|StreamServer|UtilityNetworkServer|ValidationServer|VectorTileServer|VersionManagementServer|VideoServer)).*/gi,this._gwUser=/http.+\/users\/([^/]+).*/i,this._gwItem=/http.+\/items\/([^/]+).*/i,this._gwGroup=/http.+\/groups\/([^/]+).*/i,this._rePortalTokenSvc=/\/sharing(\/rest)?\/generatetoken/i,this._createDefaultOAuthInfo=!0,this._hasTestedIfAppIsOnPortal=!1,this._getPlatformSelfError=null,this._getOAuthLocationParams(),window.addEventListener("pageshow",(e=>{this._pageShowHandler(e);}));}registerServers(e){const t=this.serverInfos;t?(e=e.filter((e=>!this.findServerInfo(e.server))),this.serverInfos=t.concat(e)):this.serverInfos=e,e.forEach((e=>{e.owningSystemUrl&&this._portals.push(e.owningSystemUrl),e.hasPortal&&this._portals.push(e.server);}));}registerOAuthInfos(e){const t=this.oAuthInfos;if(t){for(const r of e){const e=this.findOAuthInfo(r.portalUrl);e&&t.splice(t.indexOf(e),1);}this.oAuthInfos=t.concat(e);}else this.oAuthInfos=e;}registerToken(e){e={...e};const t=this._sanitizeUrl(e.server),r=this._isServerRsrc(t);let s,i=this.findServerInfo(t),o=!0;i||(i=new s$1,i.server=this._getServerInstanceRoot(t),r?i.hasServer=!0:(i.tokenServiceUrl=this._getTokenSvcUrl(t),i.hasPortal=!0),this.registerServers([i])),s=this._findCredential(t),s?(delete e.server,Object.assign(s,e),o=!1):(s=new E({userId:e.userId,server:i.server??void 0,token:e.token,expires:e.expires,ssl:e.ssl,scope:r?"server":"portal"}),s.resources=[t],this.credentials.push(s)),s.emitTokenChange(!1),o||s.refreshServerTokens();}toJSON(){return l$6({serverInfos:this.serverInfos.map((e=>e.toJSON())),oAuthInfos:this.oAuthInfos.map((e=>e.toJSON())),credentials:this.credentials.map((e=>e.toJSON()))})}initialize(e){if(!e)return;"string"==typeof e&&(e=JSON.parse(e));const t=e.serverInfos,r=e.oAuthInfos,s=e.credentials;if(t){const e=[];t.forEach((t=>{t.server&&t.tokenServiceUrl&&e.push(t.declaredClass?t:new s$1(t));})),e.length&&this.registerServers(e);}if(r){const e=[];r.forEach((t=>{t.appId&&e.push(t.declaredClass?t:new i$1(t));})),e.length&&this.registerOAuthInfos(e);}s&&s.forEach((e=>{e.server&&e.token&&e.expires&&e.expires>Date.now()&&((e=e.declaredClass?e:new E(e)).emitTokenChange(),this.credentials.push(e));}));}findServerInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.serverInfos)if(this._hasSameServerInstance(r.server,e)){t=r;break}return t}findOAuthInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.oAuthInfos)if(this._hasSameServerInstance(r.portalUrl,e)){t=r;break}return t}findCredential(e,t){if(!e)return;let r;e=this._sanitizeUrl(e);const s=this._isServerRsrc(e)?"server":"portal";if(t){for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&t===i.userId&&i.scope===s){r=i;break}}else for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&-1!==this._getIdenticalSvcIdx(e,i)&&i.scope===s){r=i;break}return r}getCredential(e,t){let r,s,o=!0;t&&(r=!!t.token,s=t.error,o=!1!==t.prompt),t={...t},e=this._sanitizeUrl(e);const n=new AbortController,a=L$1();if(t.signal&&m$5(t.signal,(()=>{n.abort();})),m$5(n,(()=>{a.reject(new s$a("identity-manager:user-aborted","ABORTED"));})),c$7(n))return a.promise;t.signal=n.signal;const h=this._isAdminResource(e),u=r?this.findCredential(e):null;let _;if(u&&s&&s.details&&498===s.details.httpStatus)u.destroy();else if(u)return _=new s$a("identity-manager:not-authorized","You are currently signed in as: '"+u.userId+"'. You do not have access to this resource: "+e,{error:s}),a.reject(_),a.promise;const f=this._findCredential(e,t);if(f)return a.resolve(f),a.promise;let g=this.findServerInfo(e);if(g)!g.hasPortal&&g.server&&g.owningSystemUrl&&this._hasSameServerInstance(g.server,g.owningSystemUrl)&&(g.hasPortal=!0),!g.hasServer&&this._isServerRsrc(e)&&(g._restInfoPms=this._getTokenSvcUrl(e),g.hasServer=!0);else {const t=this._getTokenSvcUrl(e);if(!t)return _=new s$a("identity-manager:unknown-resource","Unknown resource - could not find token service endpoint."),a.reject(_),a.promise;g=new s$1,g.server=this._getServerInstanceRoot(e),"string"==typeof t?(g.tokenServiceUrl=t,g.hasPortal=!0):(g._restInfoPms=t,g.hasServer=!0),this.registerServers([g]);}return g.hasPortal&&void 0===g._selfReq&&(o||F(g.tokenServiceUrl,this._appOrigin)||this._gwDomains.some((e=>e.tokenServiceUrl===g.tokenServiceUrl)))&&(g._selfReq={owningTenant:t?.owningTenant,selfDfd:this._getPortalSelf(g.tokenServiceUrl.replace(this._rePortalTokenSvc,"/sharing/rest/portals/self"),e)}),this._enqueue(e,g,t,a,h)}getResourceName(e){return this._isRESTService(e)?e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"")||"":this._gwUser.test(e)&&e.replace(this._gwUser,"$1")||this._gwItem.test(e)&&e.replace(this._gwItem,"$1")||this._gwGroup.test(e)&&e.replace(this._gwGroup,"$1")||""}generateToken(e,t,r){const o=this._rePortalTokenSvc.test(e.tokenServiceUrl),n=new x$3(this._appOrigin),a=e.shortLivedTokenValidity;let h,l,c,d,u,f,g,m;t&&(m=this.tokenValidity||a||this._defaultTokenValidity,m>a&&a>0&&(m=a)),r&&(h=r.isAdmin,l=r.serverUrl,c=r.token,f=r.signal,g=r.ssl,e.customParameters=r.customParameters),h?d=e.adminTokenServiceUrl:(d=e.tokenServiceUrl,u=new x$3(d.toLowerCase()),e.webTierAuth&&r?.serverUrl&&!g&&"http"===n.scheme&&(F(n.uri,d,!0)||"https"===u.scheme&&n.host===u.host&&"7080"===n.port&&"7443"===u.port)&&(d=d.replace(/^https:/i,"http:").replace(/:7443/i,":7080")));const v={query:{request:"getToken",username:t?.username,password:t?.password,serverUrl:l,token:c,expiration:m,referer:h||o?this._appOrigin:null,client:h?"referer":null,f:"json",...e.customParameters},method:"post",authMode:"anonymous",useProxy:this._useProxy(e,r),signal:f,...r?.ioArgs};o||(v.withCredentials=!1);return U$1(d,v).then((r=>{const s=r.data;if(!s?.token)return new s$a("identity-manager:authentication-failed","Unable to generate token");const o=e.server;return R[o]||(R[o]={}),t&&(R[o][t.username]=t.password),s.validity=m,s}))}isBusy(){return !!this._busy}async checkSignInStatus(e){return (await this.checkAppAccess(e,"")).credential}checkAppAccess(e,t,r){let o=!1;return this.getCredential(e,{prompt:!1}).then((n=>{let a;const h={f:"json"};if("portal"===n.scope)if(t&&(this._doPortalSignIn(e)||r?.force))a=n.server+"/sharing/rest/oauth2/validateAppAccess",h.client_id=t;else {if(!n.token)return {credential:n};a=n.server+"/sharing/rest";}else {if(!n.token)return {credential:n};a=n.server+"/rest/services";}return n.token&&(h.token=n.token),U$1(a,{query:h,authMode:"anonymous"}).then((e=>{if(!1===e.data.valid)throw new s$a("identity-manager:not-authorized",`You are currently signed in as: '${n.userId}'.`,e.data);return o=!!e.data.viewOnlyUserTypeApp,{credential:n}})).catch((e=>{if("identity-manager:not-authorized"===e.name)throw e;const t=e.details?.httpStatus;if(498===t)throw n.destroy(),new s$a("identity-manager:not-authenticated","User is not signed in.");if(400===t)throw new s$a("identity-manager:invalid-request");return {credential:n}}))})).then((e=>({credential:e.credential,viewOnly:o})))}setOAuthResponseHash(e){e&&("#"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(A$4(e)));}setOAuthRedirectionHandler(e){this._oAuthRedirectFunc=e;}setProtocolErrorHandler(e){this._protocolFunc=e;}signIn(e,t,r={}){const s=L$1(),o=()=>{h$1?.remove(),d?.remove(),this.dialog?.destroy(),this.dialog=h$1=d=null;},n=()=>{o(),this._oAuthDfd=null,s.reject(new s$a("identity-manager:user-aborted","ABORTED"));};r.signal&&m$5(r.signal,(()=>{n();}));const a=new h({open:!0,resource:this.getResourceName(e),server:t.server});this.dialog=a,this.emit("dialog-create");let h$1=a.on("cancel",n),d=a.on("submit",(e=>{this.generateToken(t,e,{isAdmin:r.isAdmin,signal:r.signal}).then((i=>{o();const n=new E({userId:e.username,server:t.server??void 0,token:i.token,expires:null!=i.expires?Number(i.expires):null,ssl:!!i.ssl,isAdmin:r.isAdmin,validity:i.validity});s.resolve(n);})).catch((e=>{a.error=e,a.signingIn=!1;}));}));return s.promise}oAuthSignIn(e,t,r,s){this._oAuthDfd=L$1();const o=this._oAuthDfd;let n;s?.signal&&m$5(s.signal,(()=>{const e=this._oAuthDfd&&this._oAuthDfd.oAuthWin_;e&&!e.closed?e.close():this.dialog&&u();})),o.resUrl_=e,o.sinfo_=t,o.oinfo_=r;const a=r._oAuthCred;if(a.storage&&("authorization-code"===r.flowType||"auto"===r.flowType&&t.currentVersion>=8.4)){let e=crypto.getRandomValues(new Uint8Array(32));n=et(e),a.codeVerifier=n,e=crypto.getRandomValues(new Uint8Array(32)),a.stateUID=et(e),a.save()||(a.codeVerifier=n=null);}else a.codeVerifier=null;let h$1,d;this._getCodeChallenge(n).then((i=>{const o=!s||!1!==s.oAuthPopupConfirmation;if(!r.popup||!o)return void this._doOAuthSignIn(e,t,r,i);const n=new h({oAuthPrompt:!0,server:t.server,open:!0});this.dialog=n,this.emit("dialog-create"),h$1=n.on("cancel",u),d=n.on("submit",(()=>{p(),this._doOAuthSignIn(e,t,r,i);}));}));const u=()=>{p(),this._oAuthDfd=null,o.reject(new s$a("identity-manager:user-aborted","ABORTED"));},p=()=>{h$1?.remove(),d?.remove(),this.dialog?.destroy(),this.dialog=null;};return o.promise}destroyCredentials(){if(this.credentials){this.credentials.slice().forEach((e=>{e.destroy();}));}this.emit("credentials-destroy");}enablePostMessageAuth(e="https://www.arcgis.com/sharing/rest"){this._postMessageAuthHandle&&this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=o$8(window,"message",(t=>{if((t.origin===this._appOrigin||t.origin.endsWith(".arcgis.com"))&&"arcgis:auth:requestCredential"===t.data?.type){const r=t.source;this.getCredential(e).then((e=>{r.postMessage({type:"arcgis:auth:credential",credential:{expires:e.expires,server:e.server,ssl:e.ssl,token:e.token,userId:e.userId}},t.origin);})).catch((e=>{r.postMessage({type:"arcgis:auth:error",error:{name:e.name,message:e.message}},t.origin);}));}}));}disablePostMessageAuth(){this._postMessageAuthHandle&&(this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=null);}_getOAuthLocationParams(){let e=window.location.hash;if(e){"#"===e.charAt(0)&&(e=e.slice(1));const t=A$4(e);let r=!1;if(t.access_token&&t.expires_in&&t.state&&t.hasOwnProperty("username"))try{t.state=JSON.parse(t.state),t.state.portalUrl&&(this._oAuthLocationParams=t,r=!0);}catch{}else if(t.error&&t.error_description&&(console.log("IdentityManager OAuth Error: ",t.error," - ",t.error_description),"access_denied"===t.error&&(r=!0,t.state)))try{t.state=JSON.parse(t.state);}catch{}r&&(window.location.hash=t.state?.hash||"");}let t=window.location.search;if(t){"?"===t.charAt(0)&&(t=t.slice(1));const e=A$4(t);let r=!1;if(e.code&&e.state)try{e.state=JSON.parse(e.state),e.state.portalUrl&&e.state.uid&&(this._oAuthLocationParams=e,r=!0);}catch{}else if(e.error&&e.error_description&&(console.log("IdentityManager OAuth Error: ",e.error," - ",e.error_description),"access_denied"===e.error&&(r=!0,e.state)))try{e.state=JSON.parse(e.state);}catch{}if(r){const t={...e};["code","error","error_description","message_code","persist","state"].forEach((e=>{delete t[e];}));const r=v$4(t),s=window.location.pathname+(r?`?${r}`:"")+(e.state?.hash||"");window.history.replaceState(window.history.state,"",s);}}}_getOAuthToken(e,t,r,i,o){return e=e.replace(/^http:/i,"https:"),U$1(`${e}/sharing/rest/oauth2/token`,{authMode:"anonymous",method:"post",query:i&&o?{grant_type:"authorization_code",code:t,redirect_uri:i,client_id:r,code_verifier:o}:{grant_type:"refresh_token",refresh_token:t,client_id:r}}).then((e=>e.data))}async _getCodeChallenge(e){if(e&&globalThis.isSecureContext){const t=(new TextEncoder).encode(e),r=await crypto.subtle.digest("SHA-256",t);return et(new Uint8Array(r))}return null}_pageShowHandler(e){if(e.persisted&&this.isBusy()&&this._rejectOnPersistedPageShow){const e=new s$a("identity-manager:user-aborted","ABORTED");this._errbackFunc(e);}}_findCredential(e,t){let r,s,i,o,n=-1;const a=t?.token,h=t?.resource,l=this._isServerRsrc(e)?"server":"portal",c=this.credentials.filter((t=>this._hasSameServerInstance(t.server,e)&&t.scope===l));if(e=h||e,c.length)if(1===c.length){if(r=c[0],i=this.findServerInfo(r.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,r.userId):void 0,n=this._getIdenticalSvcIdx(e,r),!a)return -1===n&&r.resources.push(e),this._addResource(e,o),r;-1!==n&&(r.resources.splice(n,1),this._removeResource(e,o));}else {let t,r;if(c.some((a=>(r=this._getIdenticalSvcIdx(e,a),-1!==r&&(t=a,i=this.findServerInfo(t.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,t.userId):void 0,n=r,!0)))),a)t&&(t.resources.splice(n,1),this._removeResource(e,o));else if(t)return this._addResource(e,o),t}}_findOAuthInfo(e){let t=this.findOAuthInfo(e);if(!t)for(const r of this.oAuthInfos)if(this._isIdProvider(r.portalUrl,e)){t=r;break}return t}_addResource(e,t){t&&-1===this._getIdenticalSvcIdx(e,t)&&t.resources.push(e);}_removeResource(e,t){let r=-1;t&&(r=this._getIdenticalSvcIdx(e,t),r>-1&&t.resources.splice(r,1));}_useProxy(e,t){return t?.isAdmin&&!F(e.adminTokenServiceUrl,this._appOrigin)||!this._isPortalDomain(e.tokenServiceUrl)&&"10.1"===String(e.currentVersion)&&!F(e.tokenServiceUrl,this._appOrigin)}_getOrigin(e){const t=new x$3(e);return t.scheme+"://"+t.host+(null!=t.port?":"+t.port:"")}_getServerInstanceRoot(e){const t=e.toLowerCase();let r=t.indexOf(this._agsRest);return -1===r&&this._isAdminResource(e)&&(r=this._agsAdmin.test(e)?e.replace(this._agsAdmin,"$1").length:e.search(this._adminSvcs)),-1!==r||a$6(t)||(r=t.indexOf("/sharing")),-1===r&&t.endsWith("/")&&(r=t.length-1),r>-1?e.slice(0,r):e}_hasSameServerInstance(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),e=e.toLowerCase(),t=this._getServerInstanceRoot(t).toLowerCase(),e=r$9(e),t=r$9(t),(e=e.slice(Math.max(0,e.indexOf(":"))))===(t=t.slice(Math.max(0,t.indexOf(":"))))}_sanitizeUrl(e){const r=(s$b.request.proxyUrl||"").toLowerCase(),s=r?e.toLowerCase().indexOf(r+"?"):-1;return -1!==s&&(e=e.slice(s+r.length+1)),e=K(e),I(e).path}_isRESTService(e){return e.includes(this._agsRest)}_isAdminResource(e){return this._agsAdmin.test(e)||this._adminSvcs.test(e)}_isServerRsrc(e){return this._isRESTService(e)||this._isAdminResource(e)}_isIdenticalService(e,t){let r=!1;if(this._isRESTService(e)&&this._isRESTService(t)){const s=this._getSuffix(e).toLowerCase(),i=this._getSuffix(t).toLowerCase();if(r=s===i,!r){const e=/(.*)\/(MapServer|FeatureServer|UtilityNetworkServer).*/gi;r=s.replaceAll(e,"$1")===i.replaceAll(e,"$1");}}else this._isAdminResource(e)&&this._isAdminResource(t)?r=!0:this._isServerRsrc(e)||this._isServerRsrc(t)||!this._isPortalDomain(e)||(r=!0);return r}_isPortalDomain(e){const r=new x$3(e.toLowerCase()),s=this._portalConfig;let i=this._gwDomains.some((e=>e.regex.test(r.uri)));return !i&&s&&(i=this._hasSameServerInstance(this._getServerInstanceRoot(s.restBaseUrl),r.uri)),i||s$b.portalUrl&&(i=F(r,s$b.portalUrl,!0)),i||(i=this._portals.some((e=>this._hasSameServerInstance(e,r.uri)))),i=i||this._agsPortal.test(r.path),i}_isIdProvider(e,t){let r=-1,s=-1;this._gwDomains.forEach(((i,o)=>{-1===r&&i.regex.test(e)&&(r=o),-1===s&&i.regex.test(t)&&(s=o);}));let i=!1;if(r>-1&&s>-1&&(0===r||4===r?0!==s&&4!==s||(i=!0):1===r?1!==s&&2!==s||(i=!0):2===r?2===s&&(i=!0):3===r&&3===s&&(i=!0)),!i){const r=this.findServerInfo(t),s=r?.owningSystemUrl;s&&C(r)&&this._isPortalDomain(s)&&this._isIdProvider(e,s)&&(i=!0);}return i}_getIdenticalSvcIdx(e,t){let r=-1;for(let s=0;s<t.resources.length;s++){const i=t.resources[s];if(this._isIdenticalService(e,i)){r=s;break}}return r}_getSuffix(e){return e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"$1")}_getTokenSvcUrl(e){let t,r,i;if(this._isRESTService(e)||this._isAdminResource(e)){const i=this._getServerInstanceRoot(e);return t=i+"/admin/generateToken",r=U$1(e=i+"/rest/info",{query:{f:"json"}}).then((e=>e.data)),{adminUrl:t,promise:r}}if(this._isPortalDomain(e)){let t="";if(this._gwDomains.some((r=>(r.regex.test(e)&&(t=r.tokenServiceUrl),!!t))),t||this._portals.some((r=>(this._hasSameServerInstance(r,e)&&(t=r+this._gwTokenUrl),!!t))),t||(i=e.toLowerCase().indexOf("/sharing"),-1!==i&&(t=e.slice(0,i)+this._gwTokenUrl)),t||(t=this._getOrigin(e)+this._gwTokenUrl),t){const r=new x$3(e).port;/^http:\/\//i.test(e)&&"7080"===r&&(t=t.replace(/:7080/i,":7443")),t=t.replace(/http:/i,"https:");}return t}}_processOAuthResponseParams(e,t,r){const s=t._oAuthCred;if(e.code){const i=s.codeVerifier;return s.codeVerifier=null,s.stateUID=null,s.save(),this._getOAuthToken(r.server,e.code,t.appId,this._getRedirectURI(t,!0),i).then((i=>{const o=new E({userId:i.username,server:r.server??void 0,token:i.access_token,expires:Date.now()+1e3*i.expires_in,ssl:i.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=o.userId,s.storage=i.persist?b:q,s.refreshToken=i.refresh_token,s.token=null,s.expires=i.refresh_token_expires_in?Date.now()+1e3*i.refresh_token_expires_in:null,s.userId=o.userId,s.ssl=o.ssl,s.save(),o}))}const i=new E({userId:e.username,server:r.server??void 0,token:e.access_token,expires:Date.now()+1e3*Number(e.expires_in),ssl:"true"===e.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=i.userId,s.storage=e.persist?b:q,s.refreshToken=null,s.token=i.token,s.expires=i.expires,s.userId=i.userId,s.ssl=i.ssl,s.save(),Promise.resolve(i)}_processOAuthPopupParams(e){const t=this._oAuthDfd;if(this._oAuthDfd=null,t)if(clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle?.remove(),e.error){const r="access_denied"===e.error,s=new s$a(r?"identity-manager:user-aborted":"identity-manager:authentication-failed",r?"ABORTED":"OAuth: "+e.error+" - "+e.error_description);t.reject(s);}else this._processOAuthResponseParams(e,t.oinfo_,t.sinfo_).then((e=>{t.resolve(e);})).catch((e=>{t.reject(e);}));}_setOAuthResponseQueryString(e){e&&("?"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(A$4(e)));}async _exchangeToken(e,t,r){return (await U$1(`${e}/sharing/rest/oauth2/exchangeToken`,{authMode:"anonymous",method:"post",query:{f:"json",client_id:t,token:r}})).data.token}async _getPlatformSelf(e,t){if(this._getPlatformSelfError&&Date.now()-this._getPlatformSelfError[1]<1e3)throw this._getPlatformSelfError[0];e=e.replace(/^http:/i,"https:");try{const r=await U$1(`${e}/sharing/rest/oauth2/platformSelf`,{authMode:"anonymous",headers:{"X-Esri-Auth-Client-Id":t,"X-Esri-Auth-Redirect-Uri":window.location.href.replace(/#.*$/,"")},method:"post",query:{f:"json",expiration:30},withCredentials:!0});return this._getPlatformSelfError=null,r.data}catch(r){throw "OAUTH_0066"===r.details?.messageCode&&(this._getPlatformSelfError=[r,Date.now()]),r}}_getPortalSelf(e,t){let r;if(this._gwDomains.some((t=>(t.regex.test(e)&&(r=t.customBaseUrl),!!r))),r)return Promise.resolve({allSSL:!0,currentVersion:"8.4",customBaseUrl:r,portalMode:"multitenant",supportsOAuth:!0});this._appOrigin.startsWith("https:")?e=e.replace(/^http:/i,"https:").replace(/:7080/i,":7443"):/^http:/i.test(t)&&(e=e.replace(/^https:/i,"http:").replace(/:7443/i,":7080"));return U$1(e,{query:{f:"json"},authMode:"anonymous",withCredentials:!0}).then((e=>e.data))}_doPortalSignIn(e){const t=this._portalConfig,r=window.location.href,s=this.findServerInfo(e);return !(!t&&!this._isPortalDomain(r)||!(s?s.hasPortal||s.owningSystemUrl&&this._isPortalDomain(s.owningSystemUrl):this._isPortalDomain(e))||!(this._isIdProvider(r,e)||t&&(this._hasSameServerInstance(this._getServerInstanceRoot(t.restBaseUrl),e)||this._isIdProvider(t.restBaseUrl,e))||F(r,e,!0)))}_checkProtocol(e,t,r,s){let o=!0;const n=s?t.adminTokenServiceUrl:t.tokenServiceUrl;if(n.trim().toLowerCase().startsWith("https:")&&!this._appOrigin.startsWith("https:")&&T(n)&&(o=!!this._protocolFunc&&!!this._protocolFunc({resourceUrl:e,serverInfo:t}),!o)){r(new s$a("identity-manager:aborted","Aborted the Sign-In process to avoid sending password over insecure connection."));}return o}_enqueue(e,t,r,s,i,o){return s||(s=L$1()),s.resUrl_=e,s.sinfo_=t,s.options_=r,s.admin_=i,s.refresh_=o,this._busy?this._hasSameServerInstance(this._getServerInstanceRoot(e),this._busy.resUrl_)?(this._oAuthDfd&&this._oAuthDfd.oAuthWin_&&this._oAuthDfd.oAuthWin_.focus(),this._soReqs.push(s)):this._xoReqs.push(s):this._doSignIn(s),s.promise}_doSignIn(e$1){this._busy=e$1,this._rejectOnPersistedPageShow=!1;const t=t=>{const r=e$1.options_?.resource,s=e$1.resUrl_,i=e$1.refresh_;let o=!1;this.credentials.includes(t)||(i&&this.credentials.includes(i)?(i.userId=t.userId,i.token=t.token,i.expires=t.expires,i.validity=t.validity,i.ssl=t.ssl,i.creationTime=t.creationTime,o=!0,t=i):this.credentials.push(t)),t.resources||(t.resources=[]),t.resources.includes(r||s)||t.resources.push(r||s),t.scope=this._isServerRsrc(s)?"server":"portal",t.emitTokenChange();const n=this._soReqs,a={};this._soReqs=[],n.forEach((e=>{if(!this._isIdenticalService(s,e.resUrl_)){const r=this._getSuffix(e.resUrl_);a[r]||(a[r]=!0,t.resources.push(e.resUrl_));}})),e$1.resolve(t),n.forEach((e=>{this._hasSameServerInstance(this._getServerInstanceRoot(s),e.resUrl_)?e.resolve(t):this._soReqs.push(e);})),this._busy=e$1.resUrl_=e$1.sinfo_=e$1.refresh_=null,o||this.emit("credential-create",{credential:t}),this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift());},r=t=>{e$1.reject(t),this._busy=e$1.resUrl_=e$1.sinfo_=e$1.refresh_=null,this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift());},s=(o,a,h,l)=>{const d=e$1.sinfo_,u=!e$1.options_||!1!==e$1.options_.prompt,_=d.hasPortal&&this._findOAuthInfo(e$1.resUrl_);let f,g;if(o)t(new E({userId:o,server:d.server??void 0,token:h??void 0,expires:null!=l?Number(l):null,ssl:!!a}));else if(window!==window.parent&&this._appUrlObj.query?.["arcgis-auth-origin"]&&this._appUrlObj.query?.["arcgis-auth-portal"]&&this._hasSameServerInstance(this._getServerInstanceRoot(this._appUrlObj.query["arcgis-auth-portal"]),e$1.resUrl_)){window.parent.postMessage({type:"arcgis:auth:requestCredential"},this._appUrlObj.query["arcgis-auth-origin"]);const s=o$8(window,"message",(e=>{e.source===window.parent&&e.data&&("arcgis:auth:credential"===e.data.type?(s.remove(),e.data.credential.expires<Date.now()?r(new s$a("identity-manager:credential-request-failed","Parent application's token has expired.")):t(new E(e.data.credential))):"arcgis:auth:error"===e.data.type&&(s.remove(),"tokenExpiredError"===e.data.error.name?r(new s$a("identity-manager:credential-request-failed","Parent application's token has expired.")):r(s$a.fromJSON(e.data.error))));}));m$5(e$1.options_?.signal,(()=>{s.remove();}));}else if(_){let o=_._oAuthCred;if(!o){const e$1=new e(_,b),t=new e(_,q);e$1.isValid()&&t.isValid()?e$1.expires>t.expires?(o=e$1,t.destroy()):(o=t,e$1.destroy()):o=e$1.isValid()?e$1:t,_._oAuthCred=o;}if(o.isValid()){f=new E({userId:o.userId??void 0,server:d.server??void 0,token:o.token??void 0,expires:o.expires,ssl:o.ssl??void 0,_oAuthCred:o});const i=_.appId!==o.appId&&this._doPortalSignIn(e$1.resUrl_);i||o.refreshToken?(e$1._pendingDfd=o.refreshToken?this._getOAuthToken(d.server,o.refreshToken,o.appId).then((e=>(f.expires=Date.now()+1e3*e.expires_in,f.token=e.access_token,f))):Promise.resolve(f),e$1._pendingDfd.then((e=>i?this._exchangeToken(e.server,_.appId,e.token).then((t=>(e.token=t,e))).catch((()=>e)):e)).then((e=>{t(e);})).catch((e=>{const t=e.details?.httpStatus;t>0&&404!==t?(o.destroy(),s()):r(e);}))):t(f);}else if(this._oAuthLocationParams&&this._hasSameServerInstance(_.portalUrl,this._oAuthLocationParams.state.portalUrl)&&(this._oAuthLocationParams.access_token||this._oAuthLocationParams.code&&this._oAuthLocationParams.state.uid===o.stateUID&&o.codeVerifier)){const s=this._oAuthLocationParams;this._oAuthLocationParams=null,e$1._pendingDfd=this._processOAuthResponseParams(s,_,d).then((e=>{t(e);})).catch(r);}else {const s=()=>{u?e$1._pendingDfd=this.oAuthSignIn(e$1.resUrl_,d,_,e$1.options_).then(t,r):(g=new s$a("identity-manager:not-authenticated","User is not signed in."),r(g));};this._doPortalSignIn(e$1.resUrl_)?e$1._pendingDfd=this._getPlatformSelf(d.server,_.appId).then((e=>{F(e.portalUrl,this._appOrigin,!0)?(f=new E({userId:e.username,server:d.server??void 0,expires:Date.now()+1e3*e.expires_in,token:e.token}),t(f)):s();})).catch(s):s();}}else if(u){if(this._checkProtocol(e$1.resUrl_,d,r,e$1.admin_)){let s=e$1.options_;e$1.admin_&&(s=s||{},s.isAdmin=!0),e$1._pendingDfd=this.signIn(e$1.resUrl_,d,s).then(t,r);}}else g=new s$a("identity-manager:not-authenticated","User is not signed in."),r(g);},o=()=>{const s=e$1.sinfo_,i=s.owningSystemUrl,o=e$1.options_;let n,a,h,l;if(o&&(n=o.token,a=o.error,h=o.prompt),l=this._findCredential(i,{token:n,resource:e$1.resUrl_}),!l)for(const e of this.credentials)if(this._isIdProvider(i,e.server)){l=e;break}if(l){const i=this.findCredential(e$1.resUrl_,l.userId);if(i)t(i);else if(D(s,this._legacyFed)){const e=l.toJSON();e.server=s.server,e.resources=null,t(new E(e));}else {(e$1._pendingDfd=this.generateToken(this.findServerInfo(l.server),null,{serverUrl:e$1.resUrl_,token:l.token,signal:e$1.options_.signal,ssl:l.ssl})).then((r=>{t(new E({userId:l?.userId,server:s.server??void 0,token:r.token,expires:null!=r.expires?Number(r.expires):null,ssl:!!r.ssl,isAdmin:e$1.admin_,validity:r.validity}));}),r);}}else {this._busy=null,n&&(e$1.options_.token=null);(e$1._pendingDfd=this.getCredential(i.replace(/\/?$/,"/sharing"),{resource:e$1.resUrl_,owningTenant:s.owningTenant,signal:e$1.options_.signal,token:n,error:a,prompt:h})).then((()=>{this._enqueue(e$1.resUrl_,e$1.sinfo_,e$1.options_,e$1,e$1.admin_);}),(t=>{e$1.resUrl_=e$1.sinfo_=e$1.refresh_=null,e$1.reject(t);}));}};this._errbackFunc=r;const a=e$1.sinfo_.owningSystemUrl,l=this._isServerRsrc(e$1.resUrl_),d=e$1.sinfo_._restInfoPms;d?d.promise.then((t=>{const r=e$1.sinfo_;if(r._restInfoPms){r.adminTokenServiceUrl=r._restInfoPms.adminUrl,r._restInfoPms=null,r.tokenServiceUrl=(t$7("authInfo.tokenServicesUrl",t)||t$7("authInfo.tokenServiceUrl",t)||t$7("tokenServiceUrl",t))??null,r.shortLivedTokenValidity=t$7("authInfo.shortLivedTokenValidity",t)??null,r.currentVersion=t.currentVersion,r.owningTenant=t.owningTenant;const e=r.owningSystemUrl=t.owningSystemUrl;e&&this._portals.push(e);}l&&r.owningSystemUrl?o():s();}),(()=>{e$1.sinfo_._restInfoPms=null;const t=new s$a("identity-manager:server-identification-failed","Unknown resource - could not find token service endpoint.");r(t);})):l&&a?o():e$1.sinfo_._selfReq?e$1.sinfo_._selfReq.selfDfd.then((t=>{const r={};let s,i,o,n;return t&&(s=t.user?.username,r.username=s,r.allSSL=t.allSSL,i=t.supportsOAuth,n=parseFloat(t.currentVersion),"multitenant"===t.portalMode&&(o=t.customBaseUrl),e$1.sinfo_.currentVersion=n),e$1.sinfo_.webTierAuth=!!s,s&&this.normalizeWebTierAuth?this.generateToken(e$1.sinfo_,null,{ssl:r.allSSL}).catch((()=>null)).then((e=>(r.portalToken=e?.token,r.tokenExpiration=e?.expires,r))):!s&&i&&n>=4.4&&!this._findOAuthInfo(e$1.resUrl_)?this._generateOAuthInfo({portalUrl:e$1.sinfo_.server,customBaseUrl:o,owningTenant:e$1.sinfo_._selfReq.owningTenant}).catch((()=>null)).then((()=>r)):r})).catch((()=>null)).then((t=>{e$1.sinfo_._selfReq=null,t?s(t.username,t.allSSL,t.portalToken,t.tokenExpiration):s();})):s();}_generateOAuthInfo(e){let t,r=null,i=e.portalUrl;const o=e.customBaseUrl,n=e.owningTenant,a=!this._defaultOAuthInfo&&this._createDefaultOAuthInfo&&!this._hasTestedIfAppIsOnPortal;if(a){r=window.location.href;let e=r.indexOf("?");e>-1&&(r=r.slice(0,e)),e=r.search(/\/(apps|home)\//),r=e>-1?r.slice(0,e):null;}return a&&r?(this._hasTestedIfAppIsOnPortal=!0,t=U$1(r+"/sharing/rest",{query:{f:"json"}}).then((()=>{this._defaultOAuthInfo=new i$1({appId:"arcgisonline",popupCallbackUrl:r+"/home/oauth-callback.html"});}))):t=Promise.resolve(),t.then((()=>{if(this._defaultOAuthInfo)return i=i.replace(/^http:/i,"https:"),U$1(i+"/sharing/rest/oauth2/validateRedirectUri",{query:{accountId:n,client_id:this._defaultOAuthInfo.appId,redirect_uri:_$4(this._defaultOAuthInfo.popupCallbackUrl),f:"json"}}).then((e=>{if(e.data.valid){const t=this._defaultOAuthInfo.clone();e.data.urlKey&&o?t.portalUrl="https://"+e.data.urlKey.toLowerCase()+"."+o:t.portalUrl=i,t.popup=window!==window.top||!(F(i,this._appOrigin)||this._gwDomains.some((e=>e.regex.test(i)&&e.regex.test(this._appOrigin)))),this.oAuthInfos.push(t);}}))}))}_doOAuthSignIn(e,t,r,s){const o=r._oAuthCred,a={portalUrl:r.portalUrl};!r.popup&&r.preserveUrlHash&&window.location.hash&&(a.hash=window.location.hash),o.stateUID&&(a.uid=o.stateUID);const h={client_id:r.appId,response_type:o.codeVerifier?"code":"token",state:JSON.stringify(a),expiration:r.expiration,locale:r.locale,redirect_uri:this._getRedirectURI(r,!!o.codeVerifier)};r.forceLogin&&(h.force_login=!0),r.forceUserId&&r.userId&&(h.prepopulatedusername=r.userId),!r.popup&&this._doPortalSignIn(e)&&(h.redirectToUserOrgUrl=!0),o.codeVerifier&&(h.code_challenge=s||o.codeVerifier,h.code_challenge_method=s?"S256":"plain");const l=r.portalUrl.replace(/^http:/i,"https:")+"/sharing/oauth2/authorize",c=l+"?"+v$4(h);if(r.popup){const e=window.open(c,"esriJSAPIOAuth",r.popupWindowFeatures);if(e)e.focus(),this._oAuthDfd.oAuthWin_=e,this._oAuthIntervalId=setInterval((()=>{if(e.closed){clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle.remove();const e=this._oAuthDfd;if(e){const t=new s$a("identity-manager:user-aborted","ABORTED");e.reject(t);}}}),500),this._oAuthOnPopupHandle=o$8(window,["arcgis:auth:hash","arcgis:auth:location:search"],(e=>{"arcgis:auth:hash"===e.type?this.setOAuthResponseHash(e.detail):this._setOAuthResponseQueryString(e.detail);}));else {const e=new s$a("identity-manager:popup-blocked","ABORTED");this._oAuthDfd.reject(e);}}else this._rejectOnPersistedPageShow=!0,this._oAuthRedirectFunc?this._oAuthRedirectFunc({authorizeParams:h,authorizeUrl:l,resourceUrl:e,serverInfo:t,oAuthInfo:r}):window.location.href=c;}_getRedirectURI(e,t){const r=window.location.href.replace(/#.*$/,"");if(e.popup)return _$4(e.popupCallbackUrl);if(t){const e=I(r);return e.query&&["code","error","error_description","message_code","persist","state"].forEach((t=>{delete e.query[t];})),Et(e.path,e.query)}return r}}j.prototype.declaredClass="esri.identity.IdentityManagerBase";let E=class extends o$6.EventedAccessor{constructor(e){super(e),this._oAuthCred=null,this.tokenRefreshBuffer=2,e?._oAuthCred&&(this._oAuthCred=e._oAuthCred);}initialize(){this.resources=this.resources||[],null==this.creationTime&&(this.creationTime=Date.now());}refreshToken(){const e=i$7,t=e.findServerInfo(this.server),s=t?.owningSystemUrl,i=!!s&&"server"===this.scope,o=i&&D(t,e._legacyFed),n=t.webTierAuth,a=n&&e.normalizeWebTierAuth,h=R[this.server],l=h?.[this.userId];let c,d=this.resources&&this.resources[0],u=i?e.findServerInfo(s):null,p={username:this.userId,password:l};if(n&&!a)return;i&&!u&&e.serverInfos.some((t=>(e._isIdProvider(s,t.server)&&(u=t),!!u)));const _=u?e.findCredential(u.server,this.userId):null;if(!i||_){if(!o){if(i)c={serverUrl:d,token:_?.token,ssl:_?.ssl};else if(a)p=null,c={ssl:this.ssl};else {if(!l){let r;return d&&(d=e._sanitizeUrl(d),this._enqueued=1,r=e._enqueue(d,t,null,null,this.isAdmin,this),r.then((()=>{this._enqueued=0,this.refreshServerTokens();})).catch((()=>{this._enqueued=0;}))),r}this.isAdmin&&(c={isAdmin:!0});}return e.generateToken(i?u:t,i?null:p,c).then((e=>{this.token=e.token,this.expires=null!=e.expires?Number(e.expires):null,this.creationTime=Date.now(),this.validity=e.validity,this.emitTokenChange(),this.refreshServerTokens();})).catch((()=>{}))}_?.refreshToken();}}refreshServerTokens(){if("portal"===this.scope){const e=i$7;e.credentials.forEach((t=>{const r=e.findServerInfo(t.server),s=r?.owningSystemUrl;t!==this&&t.userId===this.userId&&s&&"server"===t.scope&&(e._hasSameServerInstance(this.server,s)||e._isIdProvider(s,this.server))&&(D(r,e._legacyFed)?(t.token=this.token,t.expires=this.expires,t.creationTime=this.creationTime,t.validity=this.validity,t.emitTokenChange()):t.refreshToken());}));}}emitTokenChange(e){clearTimeout(this._refreshTimer);const t=i$7,s=this.server?t.findServerInfo(this.server):null,i=s?.owningSystemUrl,o=i?t.findServerInfo(i):null;!1===e||i&&"portal"!==this.scope&&(!o?.webTierAuth||t.normalizeWebTierAuth)||null==this.expires&&null==this.validity||this._startRefreshTimer(),this.emit("token-change");}destroy(){this.userId=this.server=this.token=this.expires=this.validity=this.resources=this.creationTime=null,this._oAuthCred&&(this._oAuthCred.destroy(),this._oAuthCred=null);const e=i$7,t=e.credentials.indexOf(this);t>-1&&e.credentials.splice(t,1),this.emitTokenChange(),this.emit("destroy");}toJSON(){const e=l$6({userId:this.userId,server:this.server,token:this.token,expires:this.expires,validity:this.validity,ssl:this.ssl,isAdmin:this.isAdmin,creationTime:this.creationTime,scope:this.scope}),t=this.resources;return t&&t.length>0&&(e.resources=t.slice()),e}_startRefreshTimer(){clearTimeout(this._refreshTimer);const e=6e4*this.tokenRefreshBuffer,t=2**31-1;let r=(this.validity?this.creationTime+6e4*this.validity:this.expires)-Date.now();r<0?r=0:r>t&&(r=t),this._refreshTimer=setTimeout(this.refreshToken.bind(this),r>e?r-e:r);}};r$7([m$4()],E.prototype,"creationTime",void 0),r$7([m$4()],E.prototype,"expires",void 0),r$7([m$4()],E.prototype,"isAdmin",void 0),r$7([m$4()],E.prototype,"oAuthState",void 0),r$7([m$4()],E.prototype,"resources",void 0),r$7([m$4()],E.prototype,"scope",void 0),r$7([m$4()],E.prototype,"server",void 0),r$7([m$4()],E.prototype,"ssl",void 0),r$7([m$4()],E.prototype,"token",void 0),r$7([m$4()],E.prototype,"tokenRefreshBuffer",void 0),r$7([m$4()],E.prototype,"userId",void 0),r$7([m$4()],E.prototype,"validity",void 0),E=r$7([a$3("esri.identity.Credential")],E);
326
+ const R={},C=e=>{const t=new x$3(e.owningSystemUrl).host,r=new x$3(e.server).host,s=/.+\.arcgis\.com$/i;return s.test(t)&&s.test(r)},D=(e,t)=>!!(C(e)&&t&&t.some((t=>t.test(e.server))));let b=null,q=null;try{b=window.localStorage,q=window.sessionStorage;}catch{}class j extends o$6{constructor(){super(),this._portalConfig=globalThis.esriGeowConfig,this.serverInfos=[],this.oAuthInfos=[],this.credentials=[],this._soReqs=[],this._xoReqs=[],this._portals=[],this._defaultOAuthInfo=null,this._defaultTokenValidity=60,this.dialog=null,this.tokenValidity=null,this.normalizeWebTierAuth=!1,this._appOrigin="null"!==window.origin?window.origin:window.location.origin,this._appUrlObj=I(window.location.href),this._busy=null,this._rejectOnPersistedPageShow=!1,this._oAuthLocationParams=null,this._gwTokenUrl="/sharing/rest/generateToken",this._agsRest="/rest/services",this._agsPortal=/\/sharing(\/|$)/i,this._agsAdmin=/(https?:\/\/[^/]+\/[^/]+)\/admin\/?(\/.*)?$/i,this._adminSvcs=/\/rest\/admin\/services(\/|$)/i,this._gwDomains=[{regex:/^https?:\/\/www\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:dev|[a-z\d-]+\.mapsdev)\.arcgis\.com/i,customBaseUrl:"mapsdev.arcgis.com",tokenServiceUrl:"https://dev.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:devext|[a-z\d-]+\.mapsdevext)\.arcgis\.com/i,customBaseUrl:"mapsdevext.arcgis.com",tokenServiceUrl:"https://devext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/(?:qaext|[a-z\d-]+\.mapsqa)\.arcgis\.com/i,customBaseUrl:"mapsqa.arcgis.com",tokenServiceUrl:"https://qaext.arcgis.com/sharing/rest/generateToken"},{regex:/^https?:\/\/[a-z\d-]+\.maps\.arcgis\.com/i,customBaseUrl:"maps.arcgis.com",tokenServiceUrl:"https://www.arcgis.com/sharing/rest/generateToken"}],this._legacyFed=[],this._regexSDirUrl=/http.+\/rest\/services\/?/gi,this._regexServerType=/(\/(FeatureServer|GPServer|GeoDataServer|GeocodeServer|GeoenrichmentServer|GeometryServer|GlobeServer|ImageServer|KnowledgeGraphServer|MapServer|MissionServer|MobileServer|NAServer|NetworkDiagramServer|OGCFeatureServer|ParcelFabricServer|RelationalCatalogServer|SceneServer|StreamServer|UtilityNetworkServer|ValidationServer|VectorTileServer|VersionManagementServer|VideoServer)).*/gi,this._gwUser=/http.+\/users\/([^/]+).*/i,this._gwItem=/http.+\/items\/([^/]+).*/i,this._gwGroup=/http.+\/groups\/([^/]+).*/i,this._rePortalTokenSvc=/\/sharing(\/rest)?\/generatetoken/i,this._createDefaultOAuthInfo=!0,this._hasTestedIfAppIsOnPortal=!1,this._getPlatformSelfError=null,this._getOAuthLocationParams(),window.addEventListener("pageshow",(e=>{this._pageShowHandler(e);}));}registerServers(e){const t=this.serverInfos;t?(e=e.filter((e=>!this.findServerInfo(e.server))),this.serverInfos=t.concat(e)):this.serverInfos=e,e.forEach((e=>{e.owningSystemUrl&&this._portals.push(e.owningSystemUrl),e.hasPortal&&this._portals.push(e.server);}));}registerOAuthInfos(e){const t=this.oAuthInfos;if(t){for(const r of e){const e=this.findOAuthInfo(r.portalUrl);e&&t.splice(t.indexOf(e),1);}this.oAuthInfos=t.concat(e);}else this.oAuthInfos=e;}registerToken(e){e={...e};const t=this._sanitizeUrl(e.server),r=this._isServerRsrc(t);let s,i=this.findServerInfo(t),o=!0;i||(i=new s$1,i.server=this._getServerInstanceRoot(t),r?i.hasServer=!0:(i.tokenServiceUrl=this._getTokenSvcUrl(t),i.hasPortal=!0),this.registerServers([i])),s=this._findCredential(t),s?(delete e.server,Object.assign(s,e),o=!1):(s=new E({userId:e.userId,server:i.server??void 0,token:e.token,expires:e.expires,ssl:e.ssl,scope:r?"server":"portal"}),s.resources=[t],this.credentials.push(s)),s.emitTokenChange(!1),o||s.refreshServerTokens();}toJSON(){return l$6({serverInfos:this.serverInfos.map((e=>e.toJSON())),oAuthInfos:this.oAuthInfos.map((e=>e.toJSON())),credentials:this.credentials.map((e=>e.toJSON()))})}initialize(e){if(!e)return;"string"==typeof e&&(e=JSON.parse(e));const t=e.serverInfos,r=e.oAuthInfos,s=e.credentials;if(t){const e=[];t.forEach((t=>{t.server&&t.tokenServiceUrl&&e.push(t.declaredClass?t:new s$1(t));})),e.length&&this.registerServers(e);}if(r){const e=[];r.forEach((t=>{t.appId&&e.push(t.declaredClass?t:new i$1(t));})),e.length&&this.registerOAuthInfos(e);}s&&s.forEach((e=>{e.server&&e.token&&e.expires&&e.expires>Date.now()&&((e=e.declaredClass?e:new E(e)).emitTokenChange(),this.credentials.push(e));}));}findServerInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.serverInfos)if(this._hasSameServerInstance(r.server,e)){t=r;break}return t}findOAuthInfo(e){let t;e=this._sanitizeUrl(e);for(const r of this.oAuthInfos)if(this._hasSameServerInstance(r.portalUrl,e)){t=r;break}return t}findCredential(e,t){if(!e)return;let r;e=this._sanitizeUrl(e);const s=this._isServerRsrc(e)?"server":"portal";if(t){for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&t===i.userId&&i.scope===s){r=i;break}}else for(const i of this.credentials)if(this._hasSameServerInstance(i.server,e)&&-1!==this._getIdenticalSvcIdx(e,i)&&i.scope===s){r=i;break}return r}getCredential(e,t){let r,s,o=!0;t&&(r=!!t.token,s=t.error,o=!1!==t.prompt),t={...t},e=this._sanitizeUrl(e);const n=new AbortController,a=L$1();if(t.signal&&m$5(t.signal,(()=>{n.abort();})),m$5(n,(()=>{a.reject(new s$a("identity-manager:user-aborted","ABORTED"));})),c$7(n))return a.promise;t.signal=n.signal;const h=this._isAdminResource(e),u=r?this.findCredential(e):null;let _;if(u&&s&&s.details&&498===s.details.httpStatus)u.destroy();else if(u)return _=new s$a("identity-manager:not-authorized","You are currently signed in as: '"+u.userId+"'. You do not have access to this resource: "+e,{error:s}),a.reject(_),a.promise;const f=this._findCredential(e,t);if(f)return a.resolve(f),a.promise;let g=this.findServerInfo(e);if(g)!g.hasPortal&&g.server&&g.owningSystemUrl&&this._hasSameServerInstance(g.server,g.owningSystemUrl)&&(g.hasPortal=!0),!g.hasServer&&this._isServerRsrc(e)&&(g._restInfoPms=this._getTokenSvcUrl(e),g.hasServer=!0);else {const t=this._getTokenSvcUrl(e);if(!t)return _=new s$a("identity-manager:unknown-resource","Unknown resource - could not find token service endpoint."),a.reject(_),a.promise;g=new s$1,g.server=this._getServerInstanceRoot(e),"string"==typeof t?(g.tokenServiceUrl=t,g.hasPortal=!0):(g._restInfoPms=t,g.hasServer=!0),this.registerServers([g]);}return g.hasPortal&&void 0===g._selfReq&&(o||F(g.tokenServiceUrl,this._appOrigin)||this._gwDomains.some((e=>e.tokenServiceUrl===g.tokenServiceUrl)))&&(g._selfReq={owningTenant:t?.owningTenant,selfDfd:this._getPortalSelf(g.tokenServiceUrl.replace(this._rePortalTokenSvc,"/sharing/rest/portals/self"),e)}),this._enqueue(e,g,t,a,h)}getResourceName(e){return this._isRESTService(e)?e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"")||"":this._gwUser.test(e)&&e.replace(this._gwUser,"$1")||this._gwItem.test(e)&&e.replace(this._gwItem,"$1")||this._gwGroup.test(e)&&e.replace(this._gwGroup,"$1")||""}generateToken(e,t,r){const o=this._rePortalTokenSvc.test(e.tokenServiceUrl),n=new x$3(this._appOrigin),a=e.shortLivedTokenValidity;let h,l,c,d,u,f,g,m;t&&(m=this.tokenValidity||a||this._defaultTokenValidity,m>a&&a>0&&(m=a)),r&&(h=r.isAdmin,l=r.serverUrl,c=r.token,f=r.signal,g=r.ssl,e.customParameters=r.customParameters),h?d=e.adminTokenServiceUrl:(d=e.tokenServiceUrl,u=new x$3(d.toLowerCase()),e.webTierAuth&&r?.serverUrl&&!g&&"http"===n.scheme&&(F(n.uri,d,!0)||"https"===u.scheme&&n.host===u.host&&"7080"===n.port&&"7443"===u.port)&&(d=d.replace(/^https:/i,"http:").replace(/:7443/i,":7080")));const v={query:{request:"getToken",username:t?.username,password:t?.password,serverUrl:l,token:c,expiration:m,referer:h||o?this._appOrigin:null,client:h?"referer":null,f:"json",...e.customParameters},method:"post",authMode:"anonymous",useProxy:this._useProxy(e,r),signal:f,...r?.ioArgs};o||(v.withCredentials=!1);return U$1(d,v).then((r=>{const s=r.data;if(!s?.token)return new s$a("identity-manager:authentication-failed","Unable to generate token");const o=e.server;return R[o]||(R[o]={}),t&&(R[o][t.username]=t.password),s.validity=m,s}))}isBusy(){return !!this._busy}async checkSignInStatus(e){return (await this.checkAppAccess(e,"")).credential}checkAppAccess(e,t,r){let o=!1;return this.getCredential(e,{prompt:!1}).then((n=>{let a;const h={f:"json"};if("portal"===n.scope)if(t&&(this._doPortalSignIn(e)||r?.force))a=n.server+"/sharing/rest/oauth2/validateAppAccess",h.client_id=t;else {if(!n.token)return {credential:n};a=n.server+"/sharing/rest";}else {if(!n.token)return {credential:n};a=n.server+"/rest/services";}return n.token&&(h.token=n.token),U$1(a,{query:h,authMode:"anonymous"}).then((e=>{if(!1===e.data.valid)throw new s$a("identity-manager:not-authorized",`You are currently signed in as: '${n.userId}'.`,e.data);return o=!!e.data.viewOnlyUserTypeApp,{credential:n}})).catch((e=>{if("identity-manager:not-authorized"===e.name)throw e;const t=e.details?.httpStatus;if(498===t)throw n.destroy(),new s$a("identity-manager:not-authenticated","User is not signed in.");if(400===t)throw new s$a("identity-manager:invalid-request");return {credential:n}}))})).then((e=>({credential:e.credential,viewOnly:o})))}setOAuthResponseHash(e){e&&("#"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(A$4(e)));}setOAuthRedirectionHandler(e){this._oAuthRedirectFunc=e;}setProtocolErrorHandler(e){this._protocolFunc=e;}signIn(e,t,r={}){const s=L$1(),o=()=>{h$1?.remove(),d?.remove(),this.dialog?.destroy(),this.dialog=h$1=d=null;},n=()=>{o(),this._oAuthDfd=null,s.reject(new s$a("identity-manager:user-aborted","ABORTED"));};r.signal&&m$5(r.signal,(()=>{n();}));const a=new h({open:!0,resource:this.getResourceName(e),server:t.server});this.dialog=a,this.emit("dialog-create");let h$1=a.on("cancel",n),d=a.on("submit",(e=>{this.generateToken(t,e,{isAdmin:r.isAdmin,signal:r.signal}).then((i=>{o();const n=new E({userId:e.username,server:t.server??void 0,token:i.token,expires:null!=i.expires?Number(i.expires):null,ssl:!!i.ssl,isAdmin:r.isAdmin,validity:i.validity});s.resolve(n);})).catch((e=>{a.error=e,a.signingIn=!1;}));}));return s.promise}oAuthSignIn(e,t,r,s){this._oAuthDfd=L$1();const o=this._oAuthDfd;let n;s?.signal&&m$5(s.signal,(()=>{const e=this._oAuthDfd&&this._oAuthDfd.oAuthWin_;e&&!e.closed?e.close():this.dialog&&u();})),o.resUrl_=e,o.sinfo_=t,o.oinfo_=r;const a=r._oAuthCred;if(a.storage&&("authorization-code"===r.flowType||"auto"===r.flowType&&t.currentVersion>=8.4)){let e=crypto.getRandomValues(new Uint8Array(32));n=et(e),a.codeVerifier=n,e=crypto.getRandomValues(new Uint8Array(32)),a.stateUID=et(e),a.save()||(a.codeVerifier=n=null);}else a.codeVerifier=null;let h$1,d;this._getCodeChallenge(n).then((i=>{const o=!s||!1!==s.oAuthPopupConfirmation;if(!r.popup||!o)return void this._doOAuthSignIn(e,t,r,i);const n=new h({oAuthPrompt:!0,server:t.server,open:!0});this.dialog=n,this.emit("dialog-create"),h$1=n.on("cancel",u),d=n.on("submit",(()=>{p(),this._doOAuthSignIn(e,t,r,i);}));}));const u=()=>{p(),this._oAuthDfd=null,o.reject(new s$a("identity-manager:user-aborted","ABORTED"));},p=()=>{h$1?.remove(),d?.remove(),this.dialog?.destroy(),this.dialog=null;};return o.promise}destroyCredentials(){if(this.credentials){this.credentials.slice().forEach((e=>{e.destroy();}));}this.emit("credentials-destroy");}enablePostMessageAuth(e="https://www.arcgis.com/sharing/rest"){this._postMessageAuthHandle&&this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=o$8(window,"message",(t=>{if((t.origin===this._appOrigin||t.origin.endsWith(".arcgis.com"))&&"arcgis:auth:requestCredential"===t.data?.type){const r=t.source;this.getCredential(e).then((e=>{r.postMessage({type:"arcgis:auth:credential",credential:{expires:e.expires,server:e.server,ssl:e.ssl,token:e.token,userId:e.userId}},t.origin);})).catch((e=>{r.postMessage({type:"arcgis:auth:error",error:{name:e.name,message:e.message}},t.origin);}));}}));}disablePostMessageAuth(){this._postMessageAuthHandle&&(this._postMessageAuthHandle.remove(),this._postMessageAuthHandle=null);}_getOAuthLocationParams(){let e=window.location.hash;if(e){"#"===e.charAt(0)&&(e=e.slice(1));const t=A$4(e);let r=!1;if(t.access_token&&t.expires_in&&t.state&&t.hasOwnProperty("username"))try{t.state=JSON.parse(t.state),t.state.portalUrl&&(this._oAuthLocationParams=t,r=!0);}catch{}else if(t.error&&t.error_description&&(console.log("IdentityManager OAuth Error: ",t.error," - ",t.error_description),"access_denied"===t.error&&(r=!0,t.state)))try{t.state=JSON.parse(t.state);}catch{}r&&(window.location.hash=t.state?.hash||"");}let t=window.location.search;if(t){"?"===t.charAt(0)&&(t=t.slice(1));const e=A$4(t);let r=!1;if(e.code&&e.state)try{e.state=JSON.parse(e.state),e.state.portalUrl&&e.state.uid&&(this._oAuthLocationParams=e,r=!0);}catch{}else if(e.error&&e.error_description&&(console.log("IdentityManager OAuth Error: ",e.error," - ",e.error_description),"access_denied"===e.error&&(r=!0,e.state)))try{e.state=JSON.parse(e.state);}catch{}if(r){const t={...e};["code","error","error_description","message_code","persist","state"].forEach((e=>{delete t[e];}));const r=v$4(t),s=window.location.pathname+(r?`?${r}`:"")+(e.state?.hash||"");window.history.replaceState(window.history.state,"",s);}}}_getOAuthToken(e,t,r,i,o){return e=e.replace(/^http:/i,"https:"),U$1(`${e}/sharing/rest/oauth2/token`,{authMode:"anonymous",method:"post",query:i&&o?{grant_type:"authorization_code",code:t,redirect_uri:i,client_id:r,code_verifier:o}:{grant_type:"refresh_token",refresh_token:t,client_id:r}}).then((e=>e.data))}async _getCodeChallenge(e){if(e&&globalThis.isSecureContext){const t=(new TextEncoder).encode(e),r=await crypto.subtle.digest("SHA-256",t);return et(new Uint8Array(r))}return null}_pageShowHandler(e){if(e.persisted&&this.isBusy()&&this._rejectOnPersistedPageShow){const e=new s$a("identity-manager:user-aborted","ABORTED");this._errbackFunc(e);}}_findCredential(e,t){let r,s,i,o,n=-1;const a=t?.token,h=t?.resource,l=this._isServerRsrc(e)?"server":"portal",c=this.credentials.filter((t=>this._hasSameServerInstance(t.server,e)&&t.scope===l));if(e=h||e,c.length)if(1===c.length){if(r=c[0],i=this.findServerInfo(r.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,r.userId):void 0,n=this._getIdenticalSvcIdx(e,r),!a)return -1===n&&r.resources.push(e),this._addResource(e,o),r;-1!==n&&(r.resources.splice(n,1),this._removeResource(e,o));}else {let t,r;if(c.some((a=>(r=this._getIdenticalSvcIdx(e,a),-1!==r&&(t=a,i=this.findServerInfo(t.server),s=i?.owningSystemUrl,o=s?this.findCredential(s,t.userId):void 0,n=r,!0)))),a)t&&(t.resources.splice(n,1),this._removeResource(e,o));else if(t)return this._addResource(e,o),t}}_findOAuthInfo(e){let t=this.findOAuthInfo(e);if(!t)for(const r of this.oAuthInfos)if(this._isIdProvider(r.portalUrl,e)){t=r;break}return t}_addResource(e,t){t&&-1===this._getIdenticalSvcIdx(e,t)&&t.resources.push(e);}_removeResource(e,t){let r=-1;t&&(r=this._getIdenticalSvcIdx(e,t),r>-1&&t.resources.splice(r,1));}_useProxy(e,t){return t?.isAdmin&&!F(e.adminTokenServiceUrl,this._appOrigin)||!this._isPortalDomain(e.tokenServiceUrl)&&"10.1"===String(e.currentVersion)&&!F(e.tokenServiceUrl,this._appOrigin)}_getOrigin(e){const t=new x$3(e);return t.scheme+"://"+t.host+(null!=t.port?":"+t.port:"")}_getServerInstanceRoot(e){const t=e.toLowerCase();let r=t.indexOf(this._agsRest);return -1===r&&this._isAdminResource(e)&&(r=this._agsAdmin.test(e)?e.replace(this._agsAdmin,"$1").length:e.search(this._adminSvcs)),-1!==r||a$6(t)||(r=t.indexOf("/sharing")),-1===r&&t.endsWith("/")&&(r=t.length-1),r>-1?e.slice(0,r):e}_hasSameServerInstance(e,t){return e.endsWith("/")&&(e=e.slice(0,-1)),e=e.toLowerCase(),t=this._getServerInstanceRoot(t).toLowerCase(),e=r$9(e),t=r$9(t),(e=e.slice(Math.max(0,e.indexOf(":"))))===(t=t.slice(Math.max(0,t.indexOf(":"))))}_sanitizeUrl(e){const r=(s$b.request.proxyUrl||"").toLowerCase(),s=r?e.toLowerCase().indexOf(r+"?"):-1;return -1!==s&&(e=e.slice(s+r.length+1)),e=K(e),I(e).path}_isRESTService(e){return e.includes(this._agsRest)}_isAdminResource(e){return this._agsAdmin.test(e)||this._adminSvcs.test(e)}_isServerRsrc(e){return this._isRESTService(e)||this._isAdminResource(e)}_isIdenticalService(e,t){let r=!1;if(this._isRESTService(e)&&this._isRESTService(t)){const s=this._getSuffix(e).toLowerCase(),i=this._getSuffix(t).toLowerCase();if(r=s===i,!r){const e=/(.*)\/(MapServer|FeatureServer|UtilityNetworkServer).*/gi;r=s.replaceAll(e,"$1")===i.replaceAll(e,"$1");}}else this._isAdminResource(e)&&this._isAdminResource(t)?r=!0:this._isServerRsrc(e)||this._isServerRsrc(t)||!this._isPortalDomain(e)||(r=!0);return r}_isPortalDomain(e){const r=new x$3(e.toLowerCase()),s=this._portalConfig;let i=this._gwDomains.some((e=>e.regex.test(r.uri)));return !i&&s&&(i=this._hasSameServerInstance(this._getServerInstanceRoot(s.restBaseUrl),r.uri)),i||s$b.portalUrl&&(i=F(r,s$b.portalUrl,!0)),i||(i=this._portals.some((e=>this._hasSameServerInstance(e,r.uri)))),i=i||this._agsPortal.test(r.path),i}_isIdProvider(e,t){let r=-1,s=-1;this._gwDomains.forEach(((i,o)=>{-1===r&&i.regex.test(e)&&(r=o),-1===s&&i.regex.test(t)&&(s=o);}));let i=!1;if(r>-1&&s>-1&&(0===r||4===r?0!==s&&4!==s||(i=!0):1===r?1!==s&&2!==s||(i=!0):2===r?2===s&&(i=!0):3===r&&3===s&&(i=!0)),!i){const r=this.findServerInfo(t),s=r?.owningSystemUrl;s&&C(r)&&this._isPortalDomain(s)&&this._isIdProvider(e,s)&&(i=!0);}return i}_getIdenticalSvcIdx(e,t){let r=-1;for(let s=0;s<t.resources.length;s++){const i=t.resources[s];if(this._isIdenticalService(e,i)){r=s;break}}return r}_getSuffix(e){return e.replace(this._regexSDirUrl,"").replace(this._regexServerType,"$1")}_getTokenSvcUrl(e){let t,r,i;if(this._isRESTService(e)||this._isAdminResource(e)){const i=this._getServerInstanceRoot(e);return t=i+"/admin/generateToken",r=U$1(e=i+"/rest/info",{query:{f:"json"}}).then((e=>e.data)),{adminUrl:t,promise:r}}if(this._isPortalDomain(e)){let t="";if(this._gwDomains.some((r=>(r.regex.test(e)&&(t=r.tokenServiceUrl),!!t))),t||this._portals.some((r=>(this._hasSameServerInstance(r,e)&&(t=r+this._gwTokenUrl),!!t))),t||(i=e.toLowerCase().indexOf("/sharing"),-1!==i&&(t=e.slice(0,i)+this._gwTokenUrl)),t||(t=this._getOrigin(e)+this._gwTokenUrl),t){const r=new x$3(e).port;/^http:\/\//i.test(e)&&"7080"===r&&(t=t.replace(/:7080/i,":7443")),t=t.replace(/http:/i,"https:");}return t}}_processOAuthResponseParams(e,t,r){const s=t._oAuthCred;if(e.code){const i=s.codeVerifier;return s.codeVerifier=null,s.stateUID=null,s.save(),this._getOAuthToken(r.server,e.code,t.appId,this._getRedirectURI(t,!0),i).then((i=>{const o=new E({userId:i.username,server:r.server??void 0,token:i.access_token,expires:Date.now()+1e3*i.expires_in,ssl:i.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=o.userId,s.storage=i.persist?b:q,s.refreshToken=i.refresh_token,s.token=null,s.expires=i.refresh_token_expires_in?Date.now()+1e3*i.refresh_token_expires_in:null,s.userId=o.userId,s.ssl=o.ssl,s.save(),o}))}const i=new E({userId:e.username,server:r.server??void 0,token:e.access_token,expires:Date.now()+1e3*Number(e.expires_in),ssl:"true"===e.ssl,oAuthState:e.state,_oAuthCred:s});return t.userId=i.userId,s.storage=e.persist?b:q,s.refreshToken=null,s.token=i.token,s.expires=i.expires,s.userId=i.userId,s.ssl=i.ssl,s.save(),Promise.resolve(i)}_processOAuthPopupParams(e){const t=this._oAuthDfd;if(this._oAuthDfd=null,t)if(clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle?.remove(),e.error){const r="access_denied"===e.error,s=new s$a(r?"identity-manager:user-aborted":"identity-manager:authentication-failed",r?"ABORTED":"OAuth: "+e.error+" - "+e.error_description);t.reject(s);}else this._processOAuthResponseParams(e,t.oinfo_,t.sinfo_).then((e=>{t.resolve(e);})).catch((e=>{t.reject(e);}));}_setOAuthResponseQueryString(e){e&&("?"===e.charAt(0)&&(e=e.slice(1)),this._processOAuthPopupParams(A$4(e)));}async _exchangeToken(e,t,r){return (await U$1(`${e}/sharing/rest/oauth2/exchangeToken`,{authMode:"anonymous",method:"post",query:{f:"json",client_id:t,token:r}})).data.token}async _getPlatformSelf(e,t){if(this._getPlatformSelfError&&Date.now()-this._getPlatformSelfError[1]<1e3)throw this._getPlatformSelfError[0];e=e.replace(/^http:/i,"https:");try{const r=await U$1(`${e}/sharing/rest/oauth2/platformSelf`,{authMode:"anonymous",headers:{"X-Esri-Auth-Client-Id":t,"X-Esri-Auth-Redirect-Uri":window.location.href.replace(/#.*$/,"")},method:"post",query:{f:"json",expiration:30},withCredentials:!0});return this._getPlatformSelfError=null,r.data}catch(r){throw "OAUTH_0066"===r.details?.messageCode&&(this._getPlatformSelfError=[r,Date.now()]),r}}_getPortalSelf(e,t){let r;if(this._gwDomains.some((t=>(t.regex.test(e)&&(r=t.customBaseUrl),!!r))),r)return Promise.resolve({allSSL:!0,currentVersion:"8.4",customBaseUrl:r,portalMode:"multitenant",supportsOAuth:!0});this._appOrigin.startsWith("https:")?e=e.replace(/^http:/i,"https:").replace(/:7080/i,":7443"):/^http:/i.test(t)&&(e=e.replace(/^https:/i,"http:").replace(/:7443/i,":7080"));return U$1(e,{query:{f:"json"},authMode:"anonymous",withCredentials:!0}).then((e=>e.data))}_doPortalSignIn(e){const t=this._portalConfig,r=window.location.href,s=this.findServerInfo(e);return !(!t&&!this._isPortalDomain(r)||!(s?s.hasPortal||s.owningSystemUrl&&this._isPortalDomain(s.owningSystemUrl):this._isPortalDomain(e))||!(this._isIdProvider(r,e)||t&&(this._hasSameServerInstance(this._getServerInstanceRoot(t.restBaseUrl),e)||this._isIdProvider(t.restBaseUrl,e))||F(r,e,!0)))}_checkProtocol(e,t,r,s){let o=!0;const n=s?t.adminTokenServiceUrl:t.tokenServiceUrl;if(n.trim().toLowerCase().startsWith("https:")&&!this._appOrigin.startsWith("https:")&&T(n)&&(o=!!this._protocolFunc&&!!this._protocolFunc({resourceUrl:e,serverInfo:t}),!o)){r(new s$a("identity-manager:aborted","Aborted the Sign-In process to avoid sending password over insecure connection."));}return o}_enqueue(e,t,r,s,i,o){return s||(s=L$1()),s.resUrl_=e,s.sinfo_=t,s.options_=r,s.admin_=i,s.refresh_=o,this._busy?this._hasSameServerInstance(this._getServerInstanceRoot(e),this._busy.resUrl_)?(this._oAuthDfd&&this._oAuthDfd.oAuthWin_&&this._oAuthDfd.oAuthWin_.focus(),this._soReqs.push(s)):this._xoReqs.push(s):this._doSignIn(s),s.promise}_doSignIn(e$1){this._busy=e$1,this._rejectOnPersistedPageShow=!1;const t=t=>{const r=e$1.options_?.resource,s=e$1.resUrl_,i=e$1.refresh_;let o=!1;this.credentials.includes(t)||(i&&this.credentials.includes(i)?(i.userId=t.userId,i.token=t.token,i.expires=t.expires,i.validity=t.validity,i.ssl=t.ssl,i.creationTime=t.creationTime,o=!0,t=i):this.credentials.push(t)),t.resources||(t.resources=[]),t.resources.includes(r||s)||t.resources.push(r||s),t.scope=this._isServerRsrc(s)?"server":"portal",t.emitTokenChange();const n=this._soReqs,a={};this._soReqs=[],n.forEach((e=>{if(!this._isIdenticalService(s,e.resUrl_)){const r=this._getSuffix(e.resUrl_);a[r]||(a[r]=!0,t.resources.push(e.resUrl_));}})),e$1.resolve(t),n.forEach((e=>{this._hasSameServerInstance(this._getServerInstanceRoot(s),e.resUrl_)?e.resolve(t):this._soReqs.push(e);})),this._busy=e$1.resUrl_=e$1.sinfo_=e$1.refresh_=null,o||this.emit("credential-create",{credential:t}),this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift());},r=t=>{e$1.reject(t),this._busy=e$1.resUrl_=e$1.sinfo_=e$1.refresh_=null,this._soReqs.length?this._doSignIn(this._soReqs.shift()):this._xoReqs.length&&this._doSignIn(this._xoReqs.shift());},s=(o,a,h,l)=>{const d=e$1.sinfo_,u=!e$1.options_||!1!==e$1.options_.prompt,_=d.hasPortal&&this._findOAuthInfo(e$1.resUrl_);let f,g;if(o)t(new E({userId:o,server:d.server??void 0,token:h??void 0,expires:null!=l?Number(l):null,ssl:!!a}));else if(window!==window.parent&&this._appUrlObj.query?.["arcgis-auth-origin"]&&this._appUrlObj.query?.["arcgis-auth-portal"]&&this._hasSameServerInstance(this._getServerInstanceRoot(this._appUrlObj.query["arcgis-auth-portal"]),e$1.resUrl_)){window.parent.postMessage({type:"arcgis:auth:requestCredential"},this._appUrlObj.query["arcgis-auth-origin"]);const s=o$8(window,"message",(e=>{e.source===window.parent&&e.data&&("arcgis:auth:credential"===e.data.type?(s.remove(),e.data.credential.expires<Date.now()?r(new s$a("identity-manager:credential-request-failed","Parent application's token has expired.")):t(new E(e.data.credential))):"arcgis:auth:error"===e.data.type&&(s.remove(),"tokenExpiredError"===e.data.error.name?r(new s$a("identity-manager:credential-request-failed","Parent application's token has expired.")):r(s$a.fromJSON(e.data.error))));}));m$5(e$1.options_?.signal,(()=>{s.remove();}));}else if(_){let o=_._oAuthCred;if(!o){const e$1=new e(_,b),t=new e(_,q);e$1.isValid()&&t.isValid()?e$1.expires>t.expires?(o=e$1,t.destroy()):(o=t,e$1.destroy()):o=e$1.isValid()?e$1:t,_._oAuthCred=o;}if(o.isValid()){f=new E({userId:o.userId??void 0,server:d.server??void 0,token:o.token??void 0,expires:o.expires,ssl:o.ssl??void 0,_oAuthCred:o});const i=_.appId!==o.appId&&this._doPortalSignIn(e$1.resUrl_);i||o.refreshToken?(e$1._pendingDfd=o.refreshToken?this._getOAuthToken(d.server,o.refreshToken,o.appId).then((e=>(f.expires=Date.now()+1e3*e.expires_in,f.token=e.access_token,f))):Promise.resolve(f),e$1._pendingDfd.then((e=>i?this._exchangeToken(e.server,_.appId,e.token).then((t=>(e.token=t,e))).catch((()=>e)):e)).then((e=>{t(e);})).catch((e=>{const t=e.details?.httpStatus;t>0&&404!==t?(o.destroy(),s()):r(e);}))):t(f);}else if(this._oAuthLocationParams&&this._hasSameServerInstance(_.portalUrl,this._oAuthLocationParams.state.portalUrl)&&(this._oAuthLocationParams.access_token||this._oAuthLocationParams.code&&this._oAuthLocationParams.state.uid===o.stateUID&&o.codeVerifier)){const s=this._oAuthLocationParams;this._oAuthLocationParams=null,e$1._pendingDfd=this._processOAuthResponseParams(s,_,d).then((e=>{t(e);})).catch(r);}else {const s=()=>{u?e$1._pendingDfd=this.oAuthSignIn(e$1.resUrl_,d,_,e$1.options_).then(t,r):(g=new s$a("identity-manager:not-authenticated","User is not signed in."),r(g));};this._doPortalSignIn(e$1.resUrl_)?e$1._pendingDfd=this._getPlatformSelf(d.server,_.appId).then((e=>{F(e.portalUrl,this._appOrigin,!0)?(f=new E({userId:e.username,server:d.server??void 0,expires:Date.now()+1e3*e.expires_in,token:e.token}),t(f)):s();})).catch(s):s();}}else if(u){if(this._checkProtocol(e$1.resUrl_,d,r,e$1.admin_)){let s=e$1.options_;e$1.admin_&&(s=s||{},s.isAdmin=!0),e$1._pendingDfd=this.signIn(e$1.resUrl_,d,s).then(t,r);}}else g=new s$a("identity-manager:not-authenticated","User is not signed in."),r(g);},o=()=>{const s=e$1.sinfo_,i=s.owningSystemUrl,o=e$1.options_;let n,a,h,l;if(o&&(n=o.token,a=o.error,h=o.prompt),l=this._findCredential(i,{token:n,resource:e$1.resUrl_}),!l)for(const e of this.credentials)if(this._isIdProvider(i,e.server)){l=e;break}if(l){const i=this.findCredential(e$1.resUrl_,l.userId);if(i)t(i);else if(D(s,this._legacyFed)){const e=l.toJSON();e.server=s.server,e.resources=null,t(new E(e));}else {(e$1._pendingDfd=this.generateToken(this.findServerInfo(l.server),null,{serverUrl:e$1.resUrl_,token:l.token,signal:e$1.options_.signal,ssl:l.ssl})).then((r=>{t(new E({userId:l?.userId,server:s.server??void 0,token:r.token,expires:null!=r.expires?Number(r.expires):null,ssl:!!r.ssl,isAdmin:e$1.admin_,validity:r.validity}));}),r);}}else {this._busy=null,n&&(e$1.options_.token=null);(e$1._pendingDfd=this.getCredential(i.replace(/\/?$/,"/sharing"),{resource:e$1.resUrl_,owningTenant:s.owningTenant,signal:e$1.options_.signal,token:n,error:a,prompt:h})).then((()=>{this._enqueue(e$1.resUrl_,e$1.sinfo_,e$1.options_,e$1,e$1.admin_);}),(t=>{e$1.resUrl_=e$1.sinfo_=e$1.refresh_=null,e$1.reject(t);}));}};this._errbackFunc=r;const a=e$1.sinfo_.owningSystemUrl,l=this._isServerRsrc(e$1.resUrl_),d=e$1.sinfo_._restInfoPms;d?d.promise.then((t=>{const r=e$1.sinfo_;if(r._restInfoPms){r.adminTokenServiceUrl=r._restInfoPms.adminUrl,r._restInfoPms=null,r.tokenServiceUrl=(t$7("authInfo.tokenServicesUrl",t)||t$7("authInfo.tokenServiceUrl",t)||t$7("tokenServiceUrl",t))??null,r.shortLivedTokenValidity=t$7("authInfo.shortLivedTokenValidity",t)??null,r.currentVersion=t.currentVersion,r.owningTenant=t.owningTenant;const e=r.owningSystemUrl=t.owningSystemUrl;e&&this._portals.push(e);}l&&r.owningSystemUrl?o():s();}),(()=>{e$1.sinfo_._restInfoPms=null;const t=new s$a("identity-manager:server-identification-failed","Unknown resource - could not find token service endpoint.");r(t);})):l&&a?o():e$1.sinfo_._selfReq?e$1.sinfo_._selfReq.selfDfd.then((t=>{const r={};let s,i,o,n;return t&&(s=t.user?.username,r.username=s,r.allSSL=t.allSSL,i=t.supportsOAuth,n=parseFloat(t.currentVersion),"multitenant"===t.portalMode&&(o=t.customBaseUrl),e$1.sinfo_.currentVersion=n),e$1.sinfo_.webTierAuth=!!s,s&&this.normalizeWebTierAuth?this.generateToken(e$1.sinfo_,null,{ssl:r.allSSL}).catch((()=>null)).then((e=>(r.portalToken=e?.token,r.tokenExpiration=e?.expires,r))):!s&&i&&n>=4.4&&!this._findOAuthInfo(e$1.resUrl_)?this._generateOAuthInfo({portalUrl:e$1.sinfo_.server,customBaseUrl:o,owningTenant:e$1.sinfo_._selfReq.owningTenant}).catch((()=>null)).then((()=>r)):r})).catch((()=>null)).then((t=>{e$1.sinfo_._selfReq=null,t?s(t.username,t.allSSL,t.portalToken,t.tokenExpiration):s();})):s();}_generateOAuthInfo(e){let t,r=null,i=e.portalUrl;const o=e.customBaseUrl,n=e.owningTenant,a=!this._defaultOAuthInfo&&this._createDefaultOAuthInfo&&!this._hasTestedIfAppIsOnPortal;if(a){r=window.location.href;let e=r.indexOf("?");e>-1&&(r=r.slice(0,e)),e=r.search(/\/(apps|home)\//),r=e>-1?r.slice(0,e):null;}return a&&r?(this._hasTestedIfAppIsOnPortal=!0,t=U$1(r+"/sharing/rest",{query:{f:"json"}}).then((()=>{this._defaultOAuthInfo=new i$1({appId:"arcgisonline",popupCallbackUrl:r+"/home/oauth-callback.html"});}))):t=Promise.resolve(),t.then((()=>{if(this._defaultOAuthInfo)return i=i.replace(/^http:/i,"https:"),U$1(i+"/sharing/rest/oauth2/validateRedirectUri",{query:{accountId:n,client_id:this._defaultOAuthInfo.appId,redirect_uri:_(this._defaultOAuthInfo.popupCallbackUrl),f:"json"}}).then((e=>{if(e.data.valid){const t=this._defaultOAuthInfo.clone();e.data.urlKey&&o?t.portalUrl="https://"+e.data.urlKey.toLowerCase()+"."+o:t.portalUrl=i,t.popup=window!==window.top||!(F(i,this._appOrigin)||this._gwDomains.some((e=>e.regex.test(i)&&e.regex.test(this._appOrigin)))),this.oAuthInfos.push(t);}}))}))}_doOAuthSignIn(e,t,r,s){const o=r._oAuthCred,a={portalUrl:r.portalUrl};!r.popup&&r.preserveUrlHash&&window.location.hash&&(a.hash=window.location.hash),o.stateUID&&(a.uid=o.stateUID);const h={client_id:r.appId,response_type:o.codeVerifier?"code":"token",state:JSON.stringify(a),expiration:r.expiration,locale:r.locale,redirect_uri:this._getRedirectURI(r,!!o.codeVerifier)};r.forceLogin&&(h.force_login=!0),r.forceUserId&&r.userId&&(h.prepopulatedusername=r.userId),!r.popup&&this._doPortalSignIn(e)&&(h.redirectToUserOrgUrl=!0),o.codeVerifier&&(h.code_challenge=s||o.codeVerifier,h.code_challenge_method=s?"S256":"plain");const l=r.portalUrl.replace(/^http:/i,"https:")+"/sharing/oauth2/authorize",c=l+"?"+v$4(h);if(r.popup){const e=window.open(c,"esriJSAPIOAuth",r.popupWindowFeatures);if(e)e.focus(),this._oAuthDfd.oAuthWin_=e,this._oAuthIntervalId=setInterval((()=>{if(e.closed){clearInterval(this._oAuthIntervalId),this._oAuthOnPopupHandle.remove();const e=this._oAuthDfd;if(e){const t=new s$a("identity-manager:user-aborted","ABORTED");e.reject(t);}}}),500),this._oAuthOnPopupHandle=o$8(window,["arcgis:auth:hash","arcgis:auth:location:search"],(e=>{"arcgis:auth:hash"===e.type?this.setOAuthResponseHash(e.detail):this._setOAuthResponseQueryString(e.detail);}));else {const e=new s$a("identity-manager:popup-blocked","ABORTED");this._oAuthDfd.reject(e);}}else this._rejectOnPersistedPageShow=!0,this._oAuthRedirectFunc?this._oAuthRedirectFunc({authorizeParams:h,authorizeUrl:l,resourceUrl:e,serverInfo:t,oAuthInfo:r}):window.location.href=c;}_getRedirectURI(e,t){const r=window.location.href.replace(/#.*$/,"");if(e.popup)return _(e.popupCallbackUrl);if(t){const e=I(r);return e.query&&["code","error","error_description","message_code","persist","state"].forEach((t=>{delete e.query[t];})),Et(e.path,e.query)}return r}}j.prototype.declaredClass="esri.identity.IdentityManagerBase";let E=class extends o$6.EventedAccessor{constructor(e){super(e),this._oAuthCred=null,this.tokenRefreshBuffer=2,e?._oAuthCred&&(this._oAuthCred=e._oAuthCred);}initialize(){this.resources=this.resources||[],null==this.creationTime&&(this.creationTime=Date.now());}refreshToken(){const e=i$7,t=e.findServerInfo(this.server),s=t?.owningSystemUrl,i=!!s&&"server"===this.scope,o=i&&D(t,e._legacyFed),n=t.webTierAuth,a=n&&e.normalizeWebTierAuth,h=R[this.server],l=h?.[this.userId];let c,d=this.resources&&this.resources[0],u=i?e.findServerInfo(s):null,p={username:this.userId,password:l};if(n&&!a)return;i&&!u&&e.serverInfos.some((t=>(e._isIdProvider(s,t.server)&&(u=t),!!u)));const _=u?e.findCredential(u.server,this.userId):null;if(!i||_){if(!o){if(i)c={serverUrl:d,token:_?.token,ssl:_?.ssl};else if(a)p=null,c={ssl:this.ssl};else {if(!l){let r;return d&&(d=e._sanitizeUrl(d),this._enqueued=1,r=e._enqueue(d,t,null,null,this.isAdmin,this),r.then((()=>{this._enqueued=0,this.refreshServerTokens();})).catch((()=>{this._enqueued=0;}))),r}this.isAdmin&&(c={isAdmin:!0});}return e.generateToken(i?u:t,i?null:p,c).then((e=>{this.token=e.token,this.expires=null!=e.expires?Number(e.expires):null,this.creationTime=Date.now(),this.validity=e.validity,this.emitTokenChange(),this.refreshServerTokens();})).catch((()=>{}))}_?.refreshToken();}}refreshServerTokens(){if("portal"===this.scope){const e=i$7;e.credentials.forEach((t=>{const r=e.findServerInfo(t.server),s=r?.owningSystemUrl;t!==this&&t.userId===this.userId&&s&&"server"===t.scope&&(e._hasSameServerInstance(this.server,s)||e._isIdProvider(s,this.server))&&(D(r,e._legacyFed)?(t.token=this.token,t.expires=this.expires,t.creationTime=this.creationTime,t.validity=this.validity,t.emitTokenChange()):t.refreshToken());}));}}emitTokenChange(e){clearTimeout(this._refreshTimer);const t=i$7,s=this.server?t.findServerInfo(this.server):null,i=s?.owningSystemUrl,o=i?t.findServerInfo(i):null;!1===e||i&&"portal"!==this.scope&&(!o?.webTierAuth||t.normalizeWebTierAuth)||null==this.expires&&null==this.validity||this._startRefreshTimer(),this.emit("token-change");}destroy(){this.userId=this.server=this.token=this.expires=this.validity=this.resources=this.creationTime=null,this._oAuthCred&&(this._oAuthCred.destroy(),this._oAuthCred=null);const e=i$7,t=e.credentials.indexOf(this);t>-1&&e.credentials.splice(t,1),this.emitTokenChange(),this.emit("destroy");}toJSON(){const e=l$6({userId:this.userId,server:this.server,token:this.token,expires:this.expires,validity:this.validity,ssl:this.ssl,isAdmin:this.isAdmin,creationTime:this.creationTime,scope:this.scope}),t=this.resources;return t&&t.length>0&&(e.resources=t.slice()),e}_startRefreshTimer(){clearTimeout(this._refreshTimer);const e=6e4*this.tokenRefreshBuffer,t=2**31-1;let r=(this.validity?this.creationTime+6e4*this.validity:this.expires)-Date.now();r<0?r=0:r>t&&(r=t),this._refreshTimer=setTimeout(this.refreshToken.bind(this),r>e?r-e:r);}};r$7([m$4()],E.prototype,"creationTime",void 0),r$7([m$4()],E.prototype,"expires",void 0),r$7([m$4()],E.prototype,"isAdmin",void 0),r$7([m$4()],E.prototype,"oAuthState",void 0),r$7([m$4()],E.prototype,"resources",void 0),r$7([m$4()],E.prototype,"scope",void 0),r$7([m$4()],E.prototype,"server",void 0),r$7([m$4()],E.prototype,"ssl",void 0),r$7([m$4()],E.prototype,"token",void 0),r$7([m$4()],E.prototype,"tokenRefreshBuffer",void 0),r$7([m$4()],E.prototype,"userId",void 0),r$7([m$4()],E.prototype,"validity",void 0),E=r$7([a$3("esri.identity.Credential")],E);
2475
327
 
2476
328
  /*
2477
329
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
@@ -2480,8 +332,8 @@ See https://js.arcgis.com/4.31/esri/copyright.txt for details.
2480
332
  class r extends j{}r.prototype.declaredClass="esri.identity.IdentityManager";const s=new r;n$f(s);
2481
333
 
2482
334
  const IdentityManager = /*#__PURE__*/Object.freeze({
2483
- __proto__: null,
2484
- 'default': s
335
+ __proto__: null,
336
+ 'default': s
2485
337
  });
2486
338
 
2487
339
  export { CSS_UTILITY as C, DEBOUNCE as D, IdentityManager as I, focusTrapStack as f, isBrowser as i };