@esri/solutions-components 0.8.1 → 0.8.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1240) hide show
  1. package/dist/cjs/ExpandToggle-3ab7dfd7.js +118 -0
  2. package/dist/cjs/FloatingArrow-89e0e55a.js +50 -0
  3. package/dist/cjs/Heading-9112a4c5.js +25 -0
  4. package/dist/cjs/InitiativeUiSchemaEdit-108652db.js +28 -0
  5. package/dist/cjs/ProjectUiSchemaCreate-81217580.js +126 -0
  6. package/dist/cjs/ProjectUiSchemaEdit-d5f11c17.js +178 -0
  7. package/dist/cjs/Validation-20182093.js +20 -0
  8. package/dist/cjs/_commonjsHelpers-ed90c4ad.js +55 -0
  9. package/dist/cjs/app-globals-379d737f.js +69 -0
  10. package/dist/cjs/ar-a694ca24.js +105 -0
  11. package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
  12. package/dist/cjs/basemap-gallery.cjs.entry.js +121 -0
  13. package/dist/cjs/bg-62b6b3ba.js +83 -0
  14. package/dist/cjs/browser-fe25aefa.js +28 -0
  15. package/dist/cjs/bs-e673542b.js +52 -0
  16. package/dist/cjs/buffer-tools.cjs.entry.js +257 -0
  17. package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -3
  18. package/dist/cjs/ca-e4d2f562.js +72 -0
  19. package/dist/cjs/calcite-accordion-item.cjs.entry.js +5 -5
  20. package/dist/cjs/calcite-accordion.cjs.entry.js +2 -2
  21. package/dist/cjs/calcite-action-bar.cjs.entry.js +12 -12
  22. package/dist/cjs/calcite-action-group.cjs.entry.js +9 -9
  23. package/dist/cjs/calcite-action-menu.cjs.entry.js +295 -0
  24. package/dist/cjs/calcite-action-pad.cjs.entry.js +169 -0
  25. package/dist/cjs/calcite-action-pad_2.cjs.entry.js +1 -1
  26. package/dist/cjs/calcite-action.cjs.entry.js +188 -0
  27. package/dist/cjs/calcite-alert.cjs.entry.js +322 -0
  28. package/dist/cjs/calcite-avatar.cjs.entry.js +4 -4
  29. package/dist/cjs/calcite-block-section.cjs.entry.js +8 -8
  30. package/dist/cjs/calcite-block.cjs.entry.js +214 -0
  31. package/dist/cjs/calcite-button.cjs.entry.js +13 -13
  32. package/dist/cjs/calcite-card.cjs.entry.js +8 -8
  33. package/dist/cjs/calcite-checkbox.cjs.entry.js +9 -9
  34. package/dist/cjs/calcite-chip-group.cjs.entry.js +7 -7
  35. package/dist/cjs/calcite-chip.cjs.entry.js +262 -0
  36. package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +274 -0
  37. package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +99 -0
  38. package/dist/cjs/calcite-color-picker.cjs.entry.js +22 -22
  39. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +4 -4
  40. package/dist/cjs/calcite-combobox-item.cjs.entry.js +145 -0
  41. package/dist/cjs/calcite-combobox.cjs.entry.js +1431 -0
  42. package/dist/cjs/calcite-date-picker-day.cjs.entry.js +97 -0
  43. package/dist/cjs/calcite-date-picker-month-header.cjs.entry.js +207 -0
  44. package/dist/cjs/calcite-date-picker-month.cjs.entry.js +362 -0
  45. package/dist/cjs/calcite-date-picker.cjs.entry.js +460 -0
  46. package/dist/cjs/calcite-dropdown-group.cjs.entry.js +85 -0
  47. package/dist/cjs/calcite-dropdown-item.cjs.entry.js +188 -0
  48. package/dist/cjs/calcite-dropdown.cjs.entry.js +430 -0
  49. package/dist/cjs/calcite-fab.cjs.entry.js +6 -6
  50. package/dist/cjs/calcite-filter.cjs.entry.js +179 -0
  51. package/dist/cjs/calcite-flow-item.cjs.entry.js +198 -0
  52. package/dist/cjs/calcite-flow.cjs.entry.js +153 -0
  53. package/dist/cjs/calcite-graph.cjs.entry.js +226 -0
  54. package/dist/cjs/calcite-handle.cjs.entry.js +204 -0
  55. package/dist/cjs/calcite-icon.cjs.entry.js +5 -5
  56. package/dist/cjs/calcite-inline-editable.cjs.entry.js +11 -11
  57. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +744 -0
  58. package/dist/cjs/calcite-input-date-picker_3.cjs.entry.js +16 -10
  59. package/dist/cjs/calcite-input-message.cjs.entry.js +70 -0
  60. package/dist/cjs/calcite-input-number.cjs.entry.js +13 -13
  61. package/dist/cjs/calcite-input-text.cjs.entry.js +13 -13
  62. package/dist/cjs/calcite-input-time-picker-9e93f694.js +1854 -0
  63. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +17 -17
  64. package/dist/cjs/calcite-input-time-zone.cjs.entry.js +12 -12
  65. package/dist/cjs/calcite-input.cjs.entry.js +695 -0
  66. package/dist/cjs/calcite-label.cjs.entry.js +4 -4
  67. package/dist/cjs/calcite-link.cjs.entry.js +6 -6
  68. package/dist/cjs/calcite-list-item-group.cjs.entry.js +4 -4
  69. package/dist/cjs/calcite-list-item.cjs.entry.js +454 -0
  70. package/dist/cjs/calcite-list.cjs.entry.js +567 -0
  71. package/dist/cjs/calcite-loader.cjs.entry.js +80 -0
  72. package/dist/cjs/calcite-menu-item.cjs.entry.js +8 -8
  73. package/dist/cjs/calcite-menu.cjs.entry.js +8 -8
  74. package/dist/cjs/calcite-meter.cjs.entry.js +8 -8
  75. package/dist/cjs/calcite-modal.cjs.entry.js +17 -11
  76. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
  77. package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
  78. package/dist/cjs/calcite-navigation.cjs.entry.js +4 -4
  79. package/dist/cjs/calcite-notice.cjs.entry.js +10 -10
  80. package/dist/cjs/calcite-option-group.cjs.entry.js +1 -1
  81. package/dist/cjs/calcite-option.cjs.entry.js +88 -0
  82. package/dist/cjs/calcite-pagination.cjs.entry.js +201 -8
  83. package/dist/cjs/calcite-panel.cjs.entry.js +270 -0
  84. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +6 -6
  85. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +23 -23
  86. package/dist/cjs/calcite-pick-list.cjs.entry.js +10 -10
  87. package/dist/cjs/calcite-popover.cjs.entry.js +418 -0
  88. package/dist/cjs/calcite-progress.cjs.entry.js +41 -0
  89. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +4 -4
  90. package/dist/cjs/calcite-radio-button.cjs.entry.js +8 -8
  91. package/dist/cjs/calcite-rating.cjs.entry.js +14 -12
  92. package/dist/cjs/calcite-scrim.cjs.entry.js +7 -7
  93. package/dist/cjs/calcite-segmented-control-item.cjs.entry.js +70 -0
  94. package/dist/cjs/calcite-segmented-control.cjs.entry.js +245 -0
  95. package/dist/cjs/calcite-select.cjs.entry.js +235 -0
  96. package/dist/cjs/calcite-sheet.cjs.entry.js +7 -7
  97. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +5 -5
  98. package/dist/cjs/calcite-shell-panel.cjs.entry.js +414 -0
  99. package/dist/cjs/calcite-shell.cjs.entry.js +174 -0
  100. package/dist/cjs/calcite-slider.cjs.entry.js +844 -0
  101. package/dist/cjs/calcite-sortable-list.cjs.entry.js +7 -7
  102. package/dist/cjs/calcite-split-button.cjs.entry.js +4 -4
  103. package/dist/cjs/calcite-stack.cjs.entry.js +74 -0
  104. package/dist/cjs/calcite-stepper-item.cjs.entry.js +10 -10
  105. package/dist/cjs/calcite-stepper.cjs.entry.js +7 -7
  106. package/dist/cjs/calcite-switch.cjs.entry.js +9 -9
  107. package/dist/cjs/calcite-tab-nav.cjs.entry.js +263 -0
  108. package/dist/cjs/calcite-tab-title.cjs.entry.js +291 -0
  109. package/dist/cjs/calcite-tab.cjs.entry.js +112 -0
  110. package/dist/cjs/calcite-table-cell.cjs.entry.js +156 -0
  111. package/dist/cjs/calcite-table-header.cjs.entry.js +169 -0
  112. package/dist/cjs/calcite-table-row.cjs.entry.js +6 -6
  113. package/dist/cjs/calcite-table.cjs.entry.js +9 -9
  114. package/dist/cjs/calcite-tabs.cjs.entry.js +178 -0
  115. package/dist/cjs/calcite-text-area.cjs.entry.js +15 -16
  116. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +3 -3
  117. package/dist/cjs/calcite-tile-select.cjs.entry.js +4 -4
  118. package/dist/cjs/calcite-tile.cjs.entry.js +7 -7
  119. package/dist/cjs/calcite-time-picker.cjs.entry.js +9 -9
  120. package/dist/cjs/calcite-tip-group.cjs.entry.js +1 -1
  121. package/dist/cjs/calcite-tip-manager.cjs.entry.js +15 -8
  122. package/dist/cjs/calcite-tip.cjs.entry.js +9 -9
  123. package/dist/cjs/calcite-tooltip.cjs.entry.js +7 -7
  124. package/dist/cjs/calcite-tree-item.cjs.entry.js +296 -0
  125. package/dist/cjs/calcite-tree.cjs.entry.js +315 -0
  126. package/dist/cjs/calcite-value-list-item.cjs.entry.js +157 -0
  127. package/dist/cjs/calcite-value-list.cjs.entry.js +326 -0
  128. package/dist/cjs/card-manager.cjs.entry.js +107 -0
  129. package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
  130. package/dist/cjs/common-1b4bd8de.js +297 -0
  131. package/dist/cjs/conditionalSlot-73e71a05.js +63 -0
  132. package/dist/cjs/consent-manager.cjs.entry.js +379 -15
  133. package/dist/cjs/create-feature.cjs.entry.js +263 -0
  134. package/dist/cjs/crowdsource-manager.cjs.entry.js +7 -5
  135. package/dist/cjs/crowdsource-reporter.cjs.entry.js +9 -7
  136. package/dist/cjs/cs-1ea34123.js +148 -0
  137. package/dist/cjs/da-199f5488.js +67 -0
  138. package/dist/cjs/date-3d094f58.js +261 -0
  139. package/dist/cjs/de-222afa04.js +92 -0
  140. package/dist/cjs/de-at-a62870ea.js +91 -0
  141. package/dist/cjs/de-ch-b0b46c1b.js +91 -0
  142. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  143. package/dist/cjs/delete-button.cjs.entry.js +150 -0
  144. package/dist/cjs/dom-cf1e2e9f.js +1114 -0
  145. package/dist/cjs/{downloadUtils-c2bd7c80.js → downloadUtils-1f283d95.js} +37 -6
  146. package/dist/cjs/downloadUtils-de0c0682.js +4246 -0
  147. package/dist/cjs/edit-card.cjs.entry.js +228 -0
  148. package/dist/cjs/el-934951a0.js +67 -0
  149. package/dist/cjs/en-au-6872d248.js +67 -0
  150. package/dist/cjs/en-ca-7133c4f2.js +66 -0
  151. package/dist/cjs/en-gb-2c66b954.js +70 -0
  152. package/dist/cjs/es-48e65aa5.js +67 -0
  153. package/dist/cjs/es-mx-46d70897.js +66 -0
  154. package/dist/cjs/esri-loader-5b8fbfa4.js +308 -0
  155. package/dist/cjs/et-63c5628d.js +93 -0
  156. package/dist/cjs/feature-comments.cjs.entry.js +1 -1
  157. package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
  158. package/dist/cjs/feature-list.cjs.entry.js +199 -0
  159. package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
  160. package/dist/cjs/fi-dc20f9ac.js +116 -0
  161. package/dist/cjs/filter-cc2705b7.js +48 -0
  162. package/dist/cjs/floating-ui-90bd00af.js +2350 -0
  163. package/dist/cjs/floor-filter.cjs.entry.js +111 -0
  164. package/dist/cjs/focusTrapComponent-946b0666.js +1028 -0
  165. package/dist/cjs/form-da52e819.js +316 -0
  166. package/dist/cjs/fr-7067996a.js +69 -0
  167. package/dist/cjs/fr-ch-dbd7ba02.js +67 -0
  168. package/dist/cjs/he-4eb6a5a9.js +106 -0
  169. package/dist/cjs/helpers-7415d67a.js +830 -0
  170. package/dist/cjs/{helpers-81779c18.js → helpers-b014d9a9.js} +1 -1
  171. package/dist/cjs/hi-5563acd4.js +66 -0
  172. package/dist/cjs/hr-7a0a4191.js +81 -0
  173. package/dist/cjs/html2canvas-57f1616d.js +7847 -0
  174. package/dist/cjs/hu-0b69b8fb.js +89 -0
  175. package/dist/cjs/id-345dd5a9.js +67 -0
  176. package/dist/cjs/index-5799a29c.js +41521 -0
  177. package/dist/cjs/index-8c75d784.js +1958 -0
  178. package/dist/cjs/index-af047760.js +201 -0
  179. package/dist/cjs/index-b53bfd7c.js +4185 -0
  180. package/dist/cjs/index.cjs.js +15 -0
  181. package/dist/cjs/index.es-152bb462.js +11342 -0
  182. package/dist/cjs/{index.es-22b3d1a2.js → index.es-4af23ecc.js} +1 -1
  183. package/dist/cjs/info-card.cjs.entry.js +320 -0
  184. package/dist/cjs/instant-apps-ckeditor-wrapper.cjs.entry.js +125 -0
  185. package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +4 -4
  186. package/dist/cjs/instant-apps-control-panel.cjs.entry.js +4 -4
  187. package/dist/cjs/instant-apps-export.cjs.entry.js +20 -14
  188. package/dist/cjs/instant-apps-filter-list.cjs.entry.js +1059 -0
  189. package/dist/cjs/instant-apps-header.cjs.entry.js +5 -4
  190. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +25 -21
  191. package/dist/cjs/instant-apps-interactive-legend-count.cjs.entry.js +104 -0
  192. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +2 -2
  193. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +7 -6
  194. package/dist/cjs/instant-apps-interactive-legend-group-legend-element.cjs.entry.js +56 -0
  195. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
  196. package/dist/cjs/instant-apps-interactive-legend-layer-element-caption.cjs.entry.js +55 -0
  197. package/dist/cjs/instant-apps-interactive-legend-layer-element.cjs.entry.js +57 -0
  198. package/dist/cjs/instant-apps-interactive-legend-legend-element-caption.cjs.entry.js +104 -0
  199. package/dist/cjs/instant-apps-interactive-legend-legend-element.cjs.entry.js +65 -0
  200. package/dist/cjs/instant-apps-interactive-legend-relationship.cjs.entry.js +552 -0
  201. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +9 -8
  202. package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +6 -6
  203. package/dist/cjs/instant-apps-landing-page.cjs.entry.js +2 -2
  204. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +9 -9
  205. package/dist/cjs/instant-apps-language-translator-item.cjs.entry.js +384 -0
  206. package/dist/cjs/instant-apps-language-translator-search.cjs.entry.js +105 -0
  207. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +9 -9
  208. package/dist/cjs/instant-apps-measurement-tool.cjs.entry.js +139 -0
  209. package/dist/cjs/instant-apps-measurement.cjs.entry.js +7 -7
  210. package/dist/cjs/instant-apps-popover.cjs.entry.js +6 -6
  211. package/dist/cjs/instant-apps-popovers.cjs.entry.js +1 -1
  212. package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +6 -6
  213. package/dist/cjs/instant-apps-social-share.cjs.entry.js +515 -0
  214. package/dist/cjs/instant-apps-splash.cjs.entry.js +17 -8
  215. package/dist/cjs/interactive-08e5bc95.js +144 -0
  216. package/dist/cjs/it-ac7cf3e5.js +67 -0
  217. package/dist/cjs/it-ch-6f7209eb.js +67 -0
  218. package/dist/cjs/ja-29e7b0a2.js +73 -0
  219. package/dist/cjs/json-editor.cjs.entry.js +406 -0
  220. package/dist/cjs/key-86f4a0b0.js +47 -0
  221. package/dist/cjs/ko-aeebde8b.js +73 -0
  222. package/dist/cjs/label-24b05042.js +186 -0
  223. package/dist/cjs/{languageSwitcher-4822684b.js → languageSwitcher-3870c772.js} +1 -1
  224. package/dist/cjs/languageSwitcher-aafa5b47.js +58 -0
  225. package/dist/cjs/{languageUtil-9bd00bad.js → languageUtil-0df39c0c.js} +1 -1
  226. package/dist/cjs/languageUtil-43c3acdc.js +90 -0
  227. package/dist/cjs/layer-list.cjs.entry.js +207 -0
  228. package/dist/cjs/layer-table.cjs.entry.js +1487 -0
  229. package/dist/cjs/layout-manager.cjs.entry.js +5 -4
  230. package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
  231. package/dist/cjs/{loadModules-69fc5b98.js → loadModules-01306709.js} +1 -1
  232. package/dist/cjs/loadModules-a67b6702.js +23 -0
  233. package/dist/cjs/loadModules-b5f244cd.js +30 -0
  234. package/dist/cjs/loadable-41446b78.js +97 -0
  235. package/dist/cjs/loader.cjs.js +4 -4
  236. package/dist/cjs/{locale-3e33f44c.js → locale-28c7c569.js} +2 -2
  237. package/dist/cjs/locale-42a9e623.js +152 -0
  238. package/dist/cjs/locale-4cef466e.js +91 -0
  239. package/dist/cjs/locale-a615b02f.js +585 -0
  240. package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
  241. package/dist/cjs/lodash-7587da9f.js +18030 -0
  242. package/dist/cjs/lt-6816d14c.js +98 -0
  243. package/dist/cjs/lv-2c998515.js +67 -0
  244. package/dist/cjs/map-card.cjs.entry.js +192 -0
  245. package/dist/cjs/map-draw-tools.cjs.entry.js +358 -0
  246. package/dist/cjs/map-fullscreen.cjs.entry.js +116 -0
  247. package/dist/cjs/map-layer-picker.cjs.entry.js +346 -0
  248. package/dist/cjs/map-legend.cjs.entry.js +109 -0
  249. package/dist/cjs/map-picker.cjs.entry.js +174 -0
  250. package/dist/cjs/map-search.cjs.entry.js +184 -0
  251. package/dist/cjs/map-select-tools.cjs.entry.js +798 -0
  252. package/dist/cjs/map-select-tools_3.cjs.entry.js +32 -21
  253. package/dist/cjs/map-tools.cjs.entry.js +375 -0
  254. package/dist/cjs/mapViewUtils-6fa5bab1.js +271 -0
  255. package/dist/cjs/mk-147994ea.js +67 -0
  256. package/dist/cjs/mode-a0417ce5.js +27 -0
  257. package/dist/cjs/nb-f3d75f05.js +68 -0
  258. package/dist/cjs/nl-cb0a22c8.js +68 -0
  259. package/dist/cjs/observers-5923a7cc.js +58 -0
  260. package/dist/cjs/openCloseComponent-8d9cb545.js +140 -0
  261. package/dist/cjs/parser-e80279bf.js +1656 -0
  262. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  263. package/dist/cjs/pdf-download.cjs.entry.js +359 -0
  264. package/dist/cjs/pl-ade28edd.js +115 -0
  265. package/dist/cjs/popupUtils-4de17e65.js +96 -0
  266. package/dist/cjs/pt-5543b782.js +68 -0
  267. package/dist/cjs/pt-br-bdce1868.js +66 -0
  268. package/dist/cjs/public-notification.cjs.entry.js +36 -12
  269. package/dist/cjs/publicNotificationStore-f690e171.js +47 -0
  270. package/dist/cjs/purify-557ad134.js +1715 -0
  271. package/dist/cjs/queryUtils-aba29fcf.js +253 -0
  272. package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
  273. package/dist/cjs/refine-selection.cjs.entry.js +411 -0
  274. package/dist/cjs/resources-2ccf85d3.js +53 -0
  275. package/dist/cjs/resources-37006465.js +29 -0
  276. package/dist/cjs/resources-63b3a6b8.js +116 -0
  277. package/dist/cjs/resources-a2b1b149.js +49 -0
  278. package/dist/cjs/resources-ac626172.js +26 -0
  279. package/dist/cjs/resources-b0cc39b4.js +30 -0
  280. package/dist/cjs/ro-f4bb9704.js +67 -0
  281. package/dist/cjs/ru-ba86b627.js +127 -0
  282. package/dist/cjs/shadow-css-bbaea014.js +483 -0
  283. package/dist/cjs/share-item.cjs.entry.js +1 -1
  284. package/dist/cjs/shared-list-render-c8555864.js +370 -0
  285. package/dist/cjs/sk-ac03aca5.js +149 -0
  286. package/dist/cjs/sl-c68e3fd0.js +169 -0
  287. package/dist/cjs/solution-configuration.cjs.entry.js +21 -1105
  288. package/dist/cjs/solution-contents.cjs.entry.js +84 -0
  289. package/dist/cjs/solution-item-details.cjs.entry.js +199 -0
  290. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  291. package/dist/cjs/solution-item-sharing.cjs.entry.js +139 -0
  292. package/dist/cjs/solution-item.cjs.entry.js +106 -0
  293. package/dist/cjs/solution-organization-variables.cjs.entry.js +95 -0
  294. package/dist/cjs/solution-resource-item.cjs.entry.js +284 -0
  295. package/dist/cjs/solution-spatial-ref.cjs.entry.js +158 -0
  296. package/dist/cjs/solution-store-6194ba89.js +589 -0
  297. package/dist/cjs/solution-template-data.cjs.entry.js +119 -0
  298. package/dist/cjs/solution-variables.cjs.entry.js +107 -0
  299. package/dist/cjs/solutions-components.cjs.js +36 -5
  300. package/dist/cjs/sortableComponent-5e3419af.js +3443 -0
  301. package/dist/cjs/spatial-ref.cjs.entry.js +7 -6
  302. package/dist/cjs/sr-80f65cf0.js +102 -0
  303. package/dist/cjs/store-1f422ad4.js +91 -0
  304. package/dist/cjs/store-manager.cjs.entry.js +1 -1
  305. package/dist/cjs/sv-eee15401.js +72 -0
  306. package/dist/cjs/t9n-463dcbff.js +103 -0
  307. package/dist/cjs/th-f90768db.js +66 -0
  308. package/dist/cjs/time-4a9bf7e2.js +289 -0
  309. package/dist/cjs/tr-37fec0b5.js +67 -0
  310. package/dist/cjs/uk-3041a292.js +105 -0
  311. package/dist/cjs/utils-3a633152.js +64 -0
  312. package/dist/cjs/utils-7281bf72.js +110 -0
  313. package/dist/cjs/utils-72a66b3c.js +66 -0
  314. package/dist/cjs/utils-934ee777.js +142 -0
  315. package/dist/cjs/{utils-ea7a5a63.js → utils-ac836e7a.js} +1 -1
  316. package/dist/cjs/utils-b276a49d.js +226 -0
  317. package/dist/cjs/vi-57a02ad1.js +71 -0
  318. package/dist/cjs/zh-cn-165c486d.js +95 -0
  319. package/dist/cjs/zh-hk-0aa560a6.js +72 -0
  320. package/dist/cjs/zh-tw-42d975f0.js +93 -0
  321. package/dist/collection/components/map-draw-tools/map-draw-tools.js +3 -3
  322. package/dist/collection/components/map-select-tools/map-select-tools.js +33 -20
  323. package/dist/collection/components/public-notification/public-notification.js +24 -1
  324. package/dist/collection/utils/downloadUtils.js +36 -5
  325. package/dist/collection/utils/downloadUtils.ts +44 -5
  326. package/dist/collection/utils/test/downloadUtils.spec.js +33 -1
  327. package/dist/collection/utils/test/downloadUtils.spec.tsx +40 -1
  328. package/dist/components/ExpandToggle.js +8 -8
  329. package/dist/components/InitiativeUiSchemaEdit.js +26 -0
  330. package/dist/components/ProjectUiSchemaCreate.js +122 -0
  331. package/dist/components/ProjectUiSchemaEdit.js +176 -0
  332. package/dist/components/_commonjsHelpers.js +10 -2
  333. package/dist/components/action-bar.js +3 -3
  334. package/dist/components/action-group.js +1 -1
  335. package/dist/components/action-menu.js +1 -1
  336. package/dist/components/action-pad.js +1 -1
  337. package/dist/components/action.js +1 -1
  338. package/dist/components/alert.js +2 -2
  339. package/dist/components/arcgis-login.js +1 -1
  340. package/dist/components/avatar.js +1 -1
  341. package/dist/components/basemap-gallery2.js +1 -1
  342. package/dist/components/block.js +1 -1
  343. package/dist/components/buffer-tools2.js +1 -1
  344. package/dist/components/button.js +1 -1
  345. package/dist/components/calcite-accordion-item.js +1 -1
  346. package/dist/components/calcite-accordion.js +1 -1
  347. package/dist/components/calcite-block-section.js +1 -1
  348. package/dist/components/calcite-card.js +1 -1
  349. package/dist/components/calcite-chip-group.js +1 -1
  350. package/dist/components/calcite-color-picker.js +5 -5
  351. package/dist/components/calcite-combobox-item-group.js +1 -1
  352. package/dist/components/calcite-fab.js +1 -1
  353. package/dist/components/calcite-inline-editable.js +1 -1
  354. package/dist/components/calcite-input-time-picker.js +5 -1
  355. package/dist/components/calcite-input-time-zone.js +2 -2
  356. package/dist/components/calcite-list-item-group.js +1 -1
  357. package/dist/components/calcite-menu-item.js +1 -1
  358. package/dist/components/calcite-meter.js +1 -1
  359. package/dist/components/calcite-navigation-logo.js +1 -1
  360. package/dist/components/calcite-navigation-user.js +1 -1
  361. package/dist/components/calcite-navigation.js +1 -1
  362. package/dist/components/calcite-option-group.js +1 -1
  363. package/dist/components/calcite-pick-list-group.js +3 -3
  364. package/dist/components/calcite-pick-list.js +1 -1
  365. package/dist/components/calcite-radio-button-group.js +1 -1
  366. package/dist/components/calcite-rating.js +3 -1
  367. package/dist/components/calcite-sheet.js +1 -1
  368. package/dist/components/calcite-shell-center-row.js +1 -1
  369. package/dist/components/calcite-sortable-list.js +1 -1
  370. package/dist/components/calcite-split-button.js +1 -1
  371. package/dist/components/calcite-stepper-item.js +1 -1
  372. package/dist/components/calcite-stepper.js +1 -1
  373. package/dist/components/calcite-table-row.js +1 -1
  374. package/dist/components/calcite-table.js +1 -1
  375. package/dist/components/calcite-text-area.js +2 -2
  376. package/dist/components/calcite-tile-select-group.js +1 -1
  377. package/dist/components/calcite-tile-select.js +1 -1
  378. package/dist/components/calcite-tile.js +1 -1
  379. package/dist/components/calcite-tip-group.js +1 -1
  380. package/dist/components/calcite-tip-manager.js +8 -1
  381. package/dist/components/calcite-tip.js +2 -2
  382. package/dist/components/card-manager2.js +1 -1
  383. package/dist/components/checkbox.js +1 -1
  384. package/dist/components/chip.js +1 -1
  385. package/dist/components/color-picker-hex-input.js +2 -2
  386. package/dist/components/color-picker-swatch.js +1 -1
  387. package/dist/components/combobox-item.js +1 -1
  388. package/dist/components/combobox.js +314 -3
  389. package/dist/components/consent-manager.js +376 -13
  390. package/dist/components/create-feature2.js +1 -1
  391. package/dist/components/crowdsource-manager.js +1 -1
  392. package/dist/components/crowdsource-reporter.js +1 -1
  393. package/dist/components/date-picker-day.js +1 -1
  394. package/dist/components/date-picker-month-header.js +1 -1
  395. package/dist/components/date-picker-month.js +1 -1
  396. package/dist/components/date-picker.js +1 -1
  397. package/dist/components/deduct-calculator2.js +1 -1
  398. package/dist/components/delete-button2.js +1 -1
  399. package/dist/components/dom.js +28 -1
  400. package/dist/components/downloadUtils.js +1213 -102
  401. package/dist/components/dropdown-group.js +1 -1
  402. package/dist/components/dropdown-item.js +1 -1
  403. package/dist/components/dropdown.js +1 -1
  404. package/dist/components/edit-card2.js +1 -1
  405. package/dist/components/esri-loader.js +8 -3
  406. package/dist/components/feature-comments.js +1 -1
  407. package/dist/components/feature-form-flow-item.js +1 -1
  408. package/dist/components/feature-list2.js +1 -1
  409. package/dist/components/features-flow-item.js +1 -1
  410. package/dist/components/filter.js +1 -718
  411. package/dist/components/filter2.js +2 -2
  412. package/dist/components/floating-ui.js +384 -7
  413. package/dist/components/floor-filter2.js +1 -1
  414. package/dist/components/flow-item.js +1 -1
  415. package/dist/components/flow.js +1 -1
  416. package/dist/components/focusTrapComponent.js +1 -1
  417. package/dist/components/form.js +1 -1
  418. package/dist/components/graph.js +1 -1
  419. package/dist/components/handle.js +1 -1
  420. package/dist/components/helpers.js +6 -2
  421. package/dist/components/html2canvas.js +8 -3
  422. package/dist/components/icon.js +1 -1
  423. package/dist/components/index.es.js +555 -22
  424. package/dist/components/index.js +16 -0
  425. package/dist/components/index2.js +3 -0
  426. package/dist/components/index3.js +41270 -1873
  427. package/dist/components/index5.js +2086 -185
  428. package/dist/components/index6.js +188 -55
  429. package/dist/components/index7.js +71 -0
  430. package/dist/components/info-card2.js +1 -1
  431. package/dist/components/input-date-picker.js +1 -1
  432. package/dist/components/input-message.js +1 -1
  433. package/dist/components/input-number.js +1 -1
  434. package/dist/components/input-text.js +1 -1
  435. package/dist/components/input.js +1 -1
  436. package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
  437. package/dist/components/instant-apps-control-panel.js +1 -1
  438. package/dist/components/instant-apps-export.js +14 -8
  439. package/dist/components/instant-apps-filter-list2.js +2 -1
  440. package/dist/components/instant-apps-header2.js +2 -2
  441. package/dist/components/instant-apps-interactive-legend-classic2.js +10 -7
  442. package/dist/components/instant-apps-interactive-legend-count2.js +2 -2
  443. package/dist/components/instant-apps-interactive-legend-group-legend-element-caption.js +1 -1
  444. package/dist/components/instant-apps-interactive-legend-group-legend-element2.js +1 -1
  445. package/dist/components/instant-apps-interactive-legend-layer-element-caption2.js +1 -1
  446. package/dist/components/instant-apps-interactive-legend-layer-element2.js +1 -1
  447. package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
  448. package/dist/components/instant-apps-interactive-legend-legend-element2.js +1 -1
  449. package/dist/components/instant-apps-interactive-legend-relationship2.js +1 -1
  450. package/dist/components/instant-apps-interactive-legend.js +1 -1
  451. package/dist/components/instant-apps-keyboard-shortcuts.js +1 -1
  452. package/dist/components/instant-apps-landing-page.js +2 -2
  453. package/dist/components/instant-apps-language-switcher.js +1 -1
  454. package/dist/components/instant-apps-language-translator-item2.js +1 -1
  455. package/dist/components/instant-apps-language-translator-search2.js +1 -1
  456. package/dist/components/instant-apps-language-translator2.js +1 -1
  457. package/dist/components/instant-apps-measurement-tool2.js +1 -1
  458. package/dist/components/instant-apps-measurement.js +2 -2
  459. package/dist/components/instant-apps-popover.js +1 -1
  460. package/dist/components/instant-apps-popovers.js +1 -1
  461. package/dist/components/instant-apps-scoreboard.js +1 -1
  462. package/dist/components/instant-apps-social-share2.js +14 -8
  463. package/dist/components/instant-apps-splash.js +18 -4
  464. package/dist/components/json-editor2.js +1 -1
  465. package/dist/components/key.js +28 -0
  466. package/dist/components/label.js +1 -1
  467. package/dist/components/label2.js +1 -1
  468. package/dist/components/languageUtil.js +23 -2
  469. package/dist/components/layer-list2.js +1 -1
  470. package/dist/components/layer-table2.js +1 -1
  471. package/dist/components/layout-manager.js +1 -1
  472. package/dist/components/link.js +1 -1
  473. package/dist/components/list-flow-item.js +1 -1
  474. package/dist/components/list-item.js +1 -1
  475. package/dist/components/list.js +2 -2
  476. package/dist/components/loadModules2.js +1 -1
  477. package/dist/components/loader.js +1 -1
  478. package/dist/components/locale.js +12 -0
  479. package/dist/components/locale2.js +2 -1
  480. package/dist/components/location-flow-item.js +1 -1
  481. package/dist/components/lodash.js +18025 -0
  482. package/dist/components/map-card2.js +1 -1
  483. package/dist/components/map-draw-tools2.js +4 -4
  484. package/dist/components/map-fullscreen2.js +1 -1
  485. package/dist/components/map-layer-picker2.js +1 -1
  486. package/dist/components/map-legend2.js +1 -1
  487. package/dist/components/map-picker2.js +1 -1
  488. package/dist/components/map-search2.js +1 -1
  489. package/dist/components/map-select-tools2.js +33 -21
  490. package/dist/components/map-tools2.js +3 -1
  491. package/dist/components/menu.js +1 -1
  492. package/dist/components/modal.js +7 -1
  493. package/dist/components/mode.js +8 -0
  494. package/dist/components/notice.js +1 -1
  495. package/dist/components/openCloseComponent.js +48 -0
  496. package/dist/components/option.js +1 -1
  497. package/dist/components/pagination.js +194 -1
  498. package/dist/components/panel.js +2 -1
  499. package/dist/components/parser.js +1654 -0
  500. package/dist/components/pci-calculator.js +1 -1
  501. package/dist/components/pdf-download2.js +1 -1
  502. package/dist/components/pick-list-item.js +1 -1
  503. package/dist/components/popover.js +1 -1
  504. package/dist/components/progress.js +1 -1
  505. package/dist/components/public-notification.js +25 -2
  506. package/dist/components/purify.js +5 -2
  507. package/dist/components/queryUtils.js +43 -0
  508. package/dist/components/radio-button.js +1 -1
  509. package/dist/components/refine-results-flow-item.js +1 -1
  510. package/dist/components/refine-selection2.js +1 -1
  511. package/dist/components/resources.js +17 -0
  512. package/dist/components/resources4.js +3 -0
  513. package/dist/components/scrim.js +1 -1
  514. package/dist/components/segmented-control-item.js +1 -1
  515. package/dist/components/segmented-control.js +1 -1
  516. package/dist/components/select.js +1 -1
  517. package/dist/components/share-item.js +1 -1
  518. package/dist/components/shared-list-render.js +6 -1
  519. package/dist/components/shell-panel.js +1 -1
  520. package/dist/components/shell.js +1 -1
  521. package/dist/components/slider.js +3 -1
  522. package/dist/components/solution-configuration.js +2 -1088
  523. package/dist/components/solution-contents2.js +1 -1
  524. package/dist/components/solution-item-details2.js +1 -1
  525. package/dist/components/solution-item-icon2.js +1 -1
  526. package/dist/components/solution-item-sharing2.js +1 -1
  527. package/dist/components/solution-item2.js +1 -1
  528. package/dist/components/solution-organization-variables2.js +1 -1
  529. package/dist/components/solution-resource-item2.js +2 -3
  530. package/dist/components/solution-spatial-ref2.js +1 -1
  531. package/dist/components/solution-store.js +1 -756
  532. package/dist/components/solution-template-data2.js +1 -1
  533. package/dist/components/solution-variables2.js +1 -1
  534. package/dist/components/sortableComponent.js +701 -0
  535. package/dist/components/spatial-ref2.js +263 -4
  536. package/dist/components/stack.js +1 -1
  537. package/dist/components/store-manager.js +1 -1
  538. package/dist/components/store.js +1 -0
  539. package/dist/components/switch.js +1 -1
  540. package/dist/components/t9n.js +1 -1
  541. package/dist/components/tab-nav.js +1 -1
  542. package/dist/components/tab-title.js +1 -1
  543. package/dist/components/tab.js +1 -1
  544. package/dist/components/table-cell.js +1 -1
  545. package/dist/components/table-header.js +1 -1
  546. package/dist/components/tabs.js +1 -1
  547. package/dist/components/time-picker.js +2 -2
  548. package/dist/components/tooltip.js +1 -1
  549. package/dist/components/tree-item.js +1 -1
  550. package/dist/components/tree.js +1 -1
  551. package/dist/components/utils.js +6 -1
  552. package/dist/components/utils2.js +1 -1
  553. package/dist/components/utils4.js +12 -0
  554. package/dist/components/value-list-item.js +1 -1
  555. package/dist/components/value-list.js +4 -1
  556. package/dist/esm/ExpandToggle-22fd2faa.js +110 -0
  557. package/dist/esm/FloatingArrow-de6fd1c7.js +48 -0
  558. package/dist/esm/Heading-f003a141.js +22 -0
  559. package/dist/esm/InitiativeUiSchemaEdit-8ddacfe8.js +26 -0
  560. package/dist/esm/ProjectUiSchemaCreate-dd179c0f.js +124 -0
  561. package/dist/esm/ProjectUiSchemaEdit-fbfdf6e4.js +176 -0
  562. package/dist/esm/Validation-59a77488.js +18 -0
  563. package/dist/esm/_commonjsHelpers-3cd6d4ee.js +49 -0
  564. package/dist/esm/app-globals-928553ab.js +67 -0
  565. package/dist/esm/ar-75ffdabb.js +103 -0
  566. package/dist/esm/arcgis-login.entry.js +1 -1
  567. package/dist/esm/basemap-gallery.entry.js +117 -0
  568. package/dist/esm/bg-fac0bf10.js +81 -0
  569. package/dist/esm/browser-b8d08bed.js +26 -0
  570. package/dist/esm/bs-c03c8ef2.js +50 -0
  571. package/dist/esm/buffer-tools.entry.js +253 -0
  572. package/dist/esm/buffer-tools_3.entry.js +3 -3
  573. package/dist/esm/ca-29e49f82.js +70 -0
  574. package/dist/esm/calcite-accordion-item.entry.js +5 -5
  575. package/dist/esm/calcite-accordion.entry.js +2 -2
  576. package/dist/esm/calcite-action-bar.entry.js +11 -11
  577. package/dist/esm/calcite-action-group.entry.js +12 -12
  578. package/dist/esm/calcite-action-menu.entry.js +291 -0
  579. package/dist/esm/calcite-action-pad.entry.js +165 -0
  580. package/dist/esm/calcite-action-pad_2.entry.js +1 -1
  581. package/dist/esm/calcite-action.entry.js +184 -0
  582. package/dist/esm/calcite-alert.entry.js +318 -0
  583. package/dist/esm/calcite-avatar.entry.js +4 -4
  584. package/dist/esm/calcite-block-section.entry.js +8 -8
  585. package/dist/esm/calcite-block.entry.js +210 -0
  586. package/dist/esm/calcite-button.entry.js +13 -13
  587. package/dist/esm/calcite-card.entry.js +8 -8
  588. package/dist/esm/calcite-checkbox.entry.js +9 -9
  589. package/dist/esm/calcite-chip-group.entry.js +7 -7
  590. package/dist/esm/calcite-chip.entry.js +258 -0
  591. package/dist/esm/calcite-color-picker-hex-input.entry.js +270 -0
  592. package/dist/esm/calcite-color-picker-swatch.entry.js +95 -0
  593. package/dist/esm/calcite-color-picker.entry.js +16 -16
  594. package/dist/esm/calcite-combobox-item-group.entry.js +4 -4
  595. package/dist/esm/calcite-combobox-item.entry.js +141 -0
  596. package/dist/esm/calcite-combobox.entry.js +1427 -0
  597. package/dist/esm/calcite-date-picker-day.entry.js +93 -0
  598. package/dist/esm/calcite-date-picker-month-header.entry.js +203 -0
  599. package/dist/esm/calcite-date-picker-month.entry.js +358 -0
  600. package/dist/esm/calcite-date-picker.entry.js +456 -0
  601. package/dist/esm/calcite-dropdown-group.entry.js +81 -0
  602. package/dist/esm/calcite-dropdown-item.entry.js +184 -0
  603. package/dist/esm/calcite-dropdown.entry.js +426 -0
  604. package/dist/esm/calcite-fab.entry.js +6 -6
  605. package/dist/esm/calcite-filter.entry.js +175 -0
  606. package/dist/esm/calcite-flow-item.entry.js +194 -0
  607. package/dist/esm/calcite-flow.entry.js +149 -0
  608. package/dist/esm/calcite-graph.entry.js +222 -0
  609. package/dist/esm/calcite-handle.entry.js +200 -0
  610. package/dist/esm/calcite-icon.entry.js +5 -5
  611. package/dist/esm/calcite-inline-editable.entry.js +11 -11
  612. package/dist/esm/calcite-input-date-picker.entry.js +740 -0
  613. package/dist/esm/calcite-input-date-picker_3.entry.js +16 -10
  614. package/dist/esm/calcite-input-message.entry.js +66 -0
  615. package/dist/esm/calcite-input-number.entry.js +13 -13
  616. package/dist/esm/calcite-input-text.entry.js +13 -13
  617. package/dist/esm/calcite-input-time-picker-e5cd4d26.js +1851 -0
  618. package/dist/esm/calcite-input-time-picker.entry.js +17 -17
  619. package/dist/esm/calcite-input-time-zone.entry.js +12 -12
  620. package/dist/esm/calcite-input.entry.js +691 -0
  621. package/dist/esm/calcite-label.entry.js +4 -4
  622. package/dist/esm/calcite-link.entry.js +6 -6
  623. package/dist/esm/calcite-list-item-group.entry.js +4 -4
  624. package/dist/esm/calcite-list-item.entry.js +450 -0
  625. package/dist/esm/calcite-list.entry.js +563 -0
  626. package/dist/esm/calcite-loader.entry.js +76 -0
  627. package/dist/esm/calcite-menu-item.entry.js +8 -8
  628. package/dist/esm/calcite-menu.entry.js +8 -8
  629. package/dist/esm/calcite-meter.entry.js +8 -8
  630. package/dist/esm/calcite-modal.entry.js +17 -11
  631. package/dist/esm/calcite-navigation-logo.entry.js +2 -2
  632. package/dist/esm/calcite-navigation-user.entry.js +2 -2
  633. package/dist/esm/calcite-navigation.entry.js +4 -4
  634. package/dist/esm/calcite-notice.entry.js +10 -10
  635. package/dist/esm/calcite-option-group.entry.js +1 -1
  636. package/dist/esm/calcite-option.entry.js +84 -0
  637. package/dist/esm/calcite-pagination.entry.js +201 -8
  638. package/dist/esm/calcite-panel.entry.js +266 -0
  639. package/dist/esm/calcite-pick-list-group.entry.js +6 -6
  640. package/dist/esm/calcite-pick-list-item.entry.js +13 -13
  641. package/dist/esm/calcite-pick-list.entry.js +10 -10
  642. package/dist/esm/calcite-popover.entry.js +414 -0
  643. package/dist/esm/calcite-progress.entry.js +37 -0
  644. package/dist/esm/calcite-radio-button-group.entry.js +4 -4
  645. package/dist/esm/calcite-radio-button.entry.js +8 -8
  646. package/dist/esm/calcite-rating.entry.js +14 -12
  647. package/dist/esm/calcite-scrim.entry.js +7 -7
  648. package/dist/esm/calcite-segmented-control-item.entry.js +66 -0
  649. package/dist/esm/calcite-segmented-control.entry.js +241 -0
  650. package/dist/esm/calcite-select.entry.js +231 -0
  651. package/dist/esm/calcite-sheet.entry.js +7 -7
  652. package/dist/esm/calcite-shell-center-row.entry.js +5 -5
  653. package/dist/esm/calcite-shell-panel.entry.js +410 -0
  654. package/dist/esm/calcite-shell.entry.js +170 -0
  655. package/dist/esm/calcite-slider.entry.js +840 -0
  656. package/dist/esm/calcite-sortable-list.entry.js +7 -7
  657. package/dist/esm/calcite-split-button.entry.js +4 -4
  658. package/dist/esm/calcite-stack.entry.js +70 -0
  659. package/dist/esm/calcite-stepper-item.entry.js +10 -10
  660. package/dist/esm/calcite-stepper.entry.js +7 -7
  661. package/dist/esm/calcite-switch.entry.js +9 -9
  662. package/dist/esm/calcite-tab-nav.entry.js +259 -0
  663. package/dist/esm/calcite-tab-title.entry.js +287 -0
  664. package/dist/esm/calcite-tab.entry.js +108 -0
  665. package/dist/esm/calcite-table-cell.entry.js +152 -0
  666. package/dist/esm/calcite-table-header.entry.js +165 -0
  667. package/dist/esm/calcite-table-row.entry.js +6 -6
  668. package/dist/esm/calcite-table.entry.js +9 -9
  669. package/dist/esm/calcite-tabs.entry.js +174 -0
  670. package/dist/esm/calcite-text-area.entry.js +14 -15
  671. package/dist/esm/calcite-tile-select-group.entry.js +3 -3
  672. package/dist/esm/calcite-tile-select.entry.js +4 -4
  673. package/dist/esm/calcite-tile.entry.js +7 -7
  674. package/dist/esm/calcite-time-picker.entry.js +9 -9
  675. package/dist/esm/calcite-tip-group.entry.js +1 -1
  676. package/dist/esm/calcite-tip-manager.entry.js +15 -8
  677. package/dist/esm/calcite-tip.entry.js +9 -9
  678. package/dist/esm/calcite-tooltip.entry.js +7 -7
  679. package/dist/esm/calcite-tree-item.entry.js +292 -0
  680. package/dist/esm/calcite-tree.entry.js +311 -0
  681. package/dist/esm/calcite-value-list-item.entry.js +153 -0
  682. package/dist/esm/calcite-value-list.entry.js +322 -0
  683. package/dist/esm/card-manager.entry.js +103 -0
  684. package/dist/esm/card-manager_3.entry.js +1 -1
  685. package/dist/esm/common-7e0dcaa2.js +295 -0
  686. package/dist/esm/conditionalSlot-a395417e.js +60 -0
  687. package/dist/esm/consent-manager.entry.js +379 -15
  688. package/dist/esm/create-feature.entry.js +259 -0
  689. package/dist/esm/crowdsource-manager.entry.js +7 -5
  690. package/dist/esm/crowdsource-reporter.entry.js +7 -5
  691. package/dist/esm/cs-04f36d01.js +146 -0
  692. package/dist/esm/da-5a3b8600.js +65 -0
  693. package/dist/esm/date-74c7f03b.js +245 -0
  694. package/dist/esm/de-579cda2e.js +90 -0
  695. package/dist/esm/de-at-52bf1c4c.js +89 -0
  696. package/dist/esm/de-ch-12d03480.js +89 -0
  697. package/dist/esm/deduct-calculator.entry.js +1 -1
  698. package/dist/esm/delete-button.entry.js +146 -0
  699. package/dist/esm/dom-b91aa537.js +1083 -0
  700. package/dist/esm/{downloadUtils-a6c0e25f.js → downloadUtils-01e2cb56.js} +37 -6
  701. package/dist/esm/downloadUtils-b3220f86.js +4240 -0
  702. package/dist/esm/edit-card.entry.js +224 -0
  703. package/dist/esm/el-c18d3ea4.js +65 -0
  704. package/dist/esm/en-au-2599e6da.js +65 -0
  705. package/dist/esm/en-ca-8cfbe6bc.js +64 -0
  706. package/dist/esm/en-gb-5e4e8a1e.js +68 -0
  707. package/dist/esm/es-d86f9957.js +65 -0
  708. package/dist/esm/es-mx-f99d9fd1.js +64 -0
  709. package/dist/esm/esri-loader-af2bbfd5.js +306 -0
  710. package/dist/esm/et-8bf52e57.js +91 -0
  711. package/dist/esm/feature-comments.entry.js +1 -1
  712. package/dist/esm/feature-form-flow-item.entry.js +1 -1
  713. package/dist/esm/feature-list.entry.js +195 -0
  714. package/dist/esm/features-flow-item.entry.js +1 -1
  715. package/dist/esm/fi-aeb49e52.js +114 -0
  716. package/dist/esm/filter-0d00d2e2.js +46 -0
  717. package/dist/esm/floating-ui-b3256614.js +2342 -0
  718. package/dist/esm/floor-filter.entry.js +107 -0
  719. package/dist/esm/focusTrapComponent-2fe6623b.js +1023 -0
  720. package/dist/esm/form-f2181470.js +307 -0
  721. package/dist/esm/fr-6200cc01.js +67 -0
  722. package/dist/esm/fr-ch-df62bb30.js +65 -0
  723. package/dist/esm/he-07ace6cb.js +104 -0
  724. package/dist/esm/helpers-85ca7251.js +807 -0
  725. package/dist/esm/{helpers-aeddac74.js → helpers-f9256189.js} +1 -1
  726. package/dist/esm/hi-5aa9519e.js +64 -0
  727. package/dist/esm/hr-e0614bed.js +79 -0
  728. package/dist/esm/html2canvas-d52e7c8d.js +7845 -0
  729. package/dist/esm/hu-732fe37c.js +87 -0
  730. package/dist/esm/id-0832fc24.js +65 -0
  731. package/dist/esm/index-7fc1cba9.js +41502 -0
  732. package/dist/esm/index-91eeaf01.js +199 -0
  733. package/dist/esm/index-b1fb529b.js +1956 -0
  734. package/dist/esm/index-bdfaac50.js +4145 -0
  735. package/dist/esm/index.es-3db60115.js +11256 -0
  736. package/dist/esm/{index.es-b0a676ae.js → index.es-ac6f5e76.js} +1 -1
  737. package/dist/esm/index.js +15 -0
  738. package/dist/esm/info-card.entry.js +316 -0
  739. package/dist/esm/instant-apps-ckeditor-wrapper.entry.js +121 -0
  740. package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +4 -4
  741. package/dist/esm/instant-apps-control-panel.entry.js +4 -4
  742. package/dist/esm/instant-apps-export.entry.js +20 -14
  743. package/dist/esm/instant-apps-filter-list.entry.js +1055 -0
  744. package/dist/esm/instant-apps-header.entry.js +5 -4
  745. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +15 -11
  746. package/dist/esm/instant-apps-interactive-legend-count.entry.js +100 -0
  747. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +2 -2
  748. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +7 -6
  749. package/dist/esm/instant-apps-interactive-legend-group-legend-element.entry.js +52 -0
  750. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
  751. package/dist/esm/instant-apps-interactive-legend-layer-element-caption.entry.js +51 -0
  752. package/dist/esm/instant-apps-interactive-legend-layer-element.entry.js +53 -0
  753. package/dist/esm/instant-apps-interactive-legend-legend-element-caption.entry.js +100 -0
  754. package/dist/esm/instant-apps-interactive-legend-legend-element.entry.js +61 -0
  755. package/dist/esm/instant-apps-interactive-legend-relationship.entry.js +548 -0
  756. package/dist/esm/instant-apps-interactive-legend.entry.js +9 -8
  757. package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +6 -6
  758. package/dist/esm/instant-apps-landing-page.entry.js +2 -2
  759. package/dist/esm/instant-apps-language-switcher.entry.js +9 -9
  760. package/dist/esm/instant-apps-language-translator-item.entry.js +380 -0
  761. package/dist/esm/instant-apps-language-translator-search.entry.js +101 -0
  762. package/dist/esm/instant-apps-language-translator.entry.js +9 -9
  763. package/dist/esm/instant-apps-measurement-tool.entry.js +135 -0
  764. package/dist/esm/instant-apps-measurement.entry.js +7 -7
  765. package/dist/esm/instant-apps-popover.entry.js +6 -6
  766. package/dist/esm/instant-apps-popovers.entry.js +1 -1
  767. package/dist/esm/instant-apps-scoreboard.entry.js +6 -6
  768. package/dist/esm/instant-apps-social-share.entry.js +511 -0
  769. package/dist/esm/instant-apps-splash.entry.js +17 -8
  770. package/dist/esm/interactive-71585ecc.js +139 -0
  771. package/dist/esm/it-142bc820.js +65 -0
  772. package/dist/esm/it-ch-1ad1f0ac.js +65 -0
  773. package/dist/esm/ja-6a33e9d4.js +71 -0
  774. package/dist/esm/json-editor.entry.js +402 -0
  775. package/dist/esm/key-9a10d862.js +44 -0
  776. package/dist/esm/ko-d61df01d.js +71 -0
  777. package/dist/esm/label-16184ce7.js +179 -0
  778. package/dist/esm/{languageSwitcher-4faa659f.js → languageSwitcher-068998b1.js} +1 -1
  779. package/dist/esm/languageSwitcher-2a9037e5.js +55 -0
  780. package/dist/esm/{languageUtil-dc3111c1.js → languageUtil-035e7728.js} +1 -1
  781. package/dist/esm/languageUtil-71a7a914.js +87 -0
  782. package/dist/esm/layer-list.entry.js +203 -0
  783. package/dist/esm/layer-table.entry.js +1483 -0
  784. package/dist/esm/layout-manager.entry.js +5 -4
  785. package/dist/esm/list-flow-item.entry.js +1 -1
  786. package/dist/esm/{loadModules-877bbb89.js → loadModules-7a5f1022.js} +1 -1
  787. package/dist/esm/loadModules-827c5581.js +28 -0
  788. package/dist/esm/loadModules-acccbc1c.js +21 -0
  789. package/dist/esm/loadable-aea90723.js +92 -0
  790. package/dist/esm/loader.js +5 -5
  791. package/dist/esm/{locale-bd9034e1.js → locale-4cab280d.js} +2 -2
  792. package/dist/esm/locale-4cfbae3e.js +86 -0
  793. package/dist/esm/locale-857f39cf.js +572 -0
  794. package/dist/esm/locale-d9463a95.js +148 -0
  795. package/dist/esm/location-flow-item.entry.js +1 -1
  796. package/dist/esm/lodash-98e4b7d0.js +18025 -0
  797. package/dist/esm/lt-652c530a.js +96 -0
  798. package/dist/esm/lv-84e48ed0.js +65 -0
  799. package/dist/esm/map-card.entry.js +188 -0
  800. package/dist/esm/map-draw-tools.entry.js +354 -0
  801. package/dist/esm/map-fullscreen.entry.js +112 -0
  802. package/dist/esm/map-layer-picker.entry.js +342 -0
  803. package/dist/esm/map-legend.entry.js +105 -0
  804. package/dist/esm/map-picker.entry.js +170 -0
  805. package/dist/esm/map-search.entry.js +180 -0
  806. package/dist/esm/map-select-tools.entry.js +794 -0
  807. package/dist/esm/map-select-tools_3.entry.js +32 -21
  808. package/dist/esm/map-tools.entry.js +371 -0
  809. package/dist/esm/mapViewUtils-436a516e.js +261 -0
  810. package/dist/esm/mk-bbf2ee01.js +65 -0
  811. package/dist/esm/mode-f9bfc4e9.js +25 -0
  812. package/dist/esm/nb-ccfaa0f7.js +66 -0
  813. package/dist/esm/nl-4bc56289.js +66 -0
  814. package/dist/esm/observers-5ba39eee.js +56 -0
  815. package/dist/esm/openCloseComponent-b4b3788b.js +138 -0
  816. package/dist/esm/parser-87982ce2.js +1654 -0
  817. package/dist/esm/pci-calculator.entry.js +1 -1
  818. package/dist/esm/pdf-download.entry.js +355 -0
  819. package/dist/esm/pl-1f435988.js +113 -0
  820. package/dist/esm/popupUtils-b61d7ffd.js +94 -0
  821. package/dist/esm/pt-4a05a00d.js +66 -0
  822. package/dist/esm/pt-br-9720547b.js +64 -0
  823. package/dist/esm/public-notification.entry.js +35 -11
  824. package/dist/esm/publicNotificationStore-208e26f0.js +45 -0
  825. package/dist/esm/purify-909c20fa.js +1713 -0
  826. package/dist/esm/queryUtils-2529c537.js +244 -0
  827. package/dist/esm/refine-results-flow-item.entry.js +1 -1
  828. package/dist/esm/refine-selection.entry.js +407 -0
  829. package/dist/esm/resources-0f8db821.js +45 -0
  830. package/dist/esm/resources-3c6947d3.js +26 -0
  831. package/dist/esm/resources-47b3ca40.js +106 -0
  832. package/dist/esm/resources-667afb5d.js +27 -0
  833. package/dist/esm/resources-9b2084c6.js +24 -0
  834. package/dist/esm/resources-bb6c11c3.js +49 -0
  835. package/dist/esm/ro-f87076a1.js +65 -0
  836. package/dist/esm/ru-e69ca895.js +125 -0
  837. package/dist/esm/shadow-css-f5236d52.js +481 -0
  838. package/dist/esm/share-item.entry.js +1 -1
  839. package/dist/esm/shared-list-render-a572ef93.js +348 -0
  840. package/dist/esm/sk-d632e850.js +147 -0
  841. package/dist/esm/sl-5099fa6f.js +167 -0
  842. package/dist/esm/solution-configuration.entry.js +9 -1093
  843. package/dist/esm/solution-contents.entry.js +80 -0
  844. package/dist/esm/solution-item-details.entry.js +195 -0
  845. package/dist/esm/solution-item-icon.entry.js +1 -1
  846. package/dist/esm/solution-item-sharing.entry.js +135 -0
  847. package/dist/esm/solution-item.entry.js +102 -0
  848. package/dist/esm/solution-organization-variables.entry.js +91 -0
  849. package/dist/esm/solution-resource-item.entry.js +280 -0
  850. package/dist/esm/solution-spatial-ref.entry.js +154 -0
  851. package/dist/esm/solution-store-31cccb90.js +587 -0
  852. package/dist/esm/solution-template-data.entry.js +115 -0
  853. package/dist/esm/solution-variables.entry.js +103 -0
  854. package/dist/esm/solutions-components.js +37 -6
  855. package/dist/esm/sortableComponent-e715a3dd.js +3439 -0
  856. package/dist/esm/spatial-ref.entry.js +7 -6
  857. package/dist/esm/sr-944b7fd7.js +100 -0
  858. package/dist/esm/store-194c1a01.js +87 -0
  859. package/dist/esm/store-manager.entry.js +1 -1
  860. package/dist/esm/sv-e481fa6a.js +70 -0
  861. package/dist/esm/t9n-b39c5433.js +98 -0
  862. package/dist/esm/th-60961669.js +64 -0
  863. package/dist/esm/time-4a90614b.js +274 -0
  864. package/dist/esm/tr-eba8dd86.js +65 -0
  865. package/dist/esm/uk-ec375ce0.js +103 -0
  866. package/dist/esm/utils-32df4a1e.js +133 -0
  867. package/dist/esm/utils-57e2ccde.js +61 -0
  868. package/dist/esm/{utils-28d0a086.js → utils-78fe6e5b.js} +1 -1
  869. package/dist/esm/utils-7db4ecdc.js +100 -0
  870. package/dist/esm/utils-95e9dd51.js +55 -0
  871. package/dist/esm/utils-cfbe589a.js +208 -0
  872. package/dist/esm/vi-29345f79.js +69 -0
  873. package/dist/esm/zh-cn-32c7c714.js +93 -0
  874. package/dist/esm/zh-hk-7c770845.js +70 -0
  875. package/dist/esm/zh-tw-c318be5c.js +91 -0
  876. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +1 -1
  877. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-scoreboard/instant-apps-scoreboard.css +1 -1
  878. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-social-share/instant-apps-social-share.css +8 -1
  879. package/dist/solutions-components/ExpandToggle-22fd2faa.js +110 -0
  880. package/dist/solutions-components/FloatingArrow-de6fd1c7.js +48 -0
  881. package/dist/solutions-components/Heading-f003a141.js +22 -0
  882. package/dist/solutions-components/InitiativeUiSchemaEdit-8ddacfe8.js +26 -0
  883. package/dist/solutions-components/ProjectUiSchemaCreate-dd179c0f.js +124 -0
  884. package/dist/solutions-components/ProjectUiSchemaEdit-fbfdf6e4.js +176 -0
  885. package/dist/solutions-components/Validation-59a77488.js +18 -0
  886. package/dist/solutions-components/_commonjsHelpers-3cd6d4ee.js +49 -0
  887. package/dist/solutions-components/app-globals-928553ab.js +67 -0
  888. package/dist/solutions-components/ar-75ffdabb.js +103 -0
  889. package/dist/solutions-components/arcgis-login.entry.js +56 -0
  890. package/dist/solutions-components/array-396bdf3c.js +15 -0
  891. package/dist/solutions-components/basemap-gallery.entry.js +117 -0
  892. package/dist/solutions-components/bg-fac0bf10.js +81 -0
  893. package/dist/solutions-components/breakpoints-f0f1417d.js +15 -0
  894. package/dist/solutions-components/browser-b8d08bed.js +26 -0
  895. package/dist/solutions-components/bs-c03c8ef2.js +50 -0
  896. package/dist/solutions-components/buffer-tools.entry.js +253 -0
  897. package/dist/solutions-components/ca-29e49f82.js +70 -0
  898. package/dist/solutions-components/calcite-accordion-item.entry.js +176 -0
  899. package/dist/solutions-components/calcite-accordion.entry.js +81 -0
  900. package/dist/solutions-components/calcite-action-bar.entry.js +252 -0
  901. package/dist/solutions-components/calcite-action-group.entry.js +112 -0
  902. package/dist/solutions-components/calcite-action-menu.entry.js +291 -0
  903. package/dist/solutions-components/calcite-action-pad.entry.js +165 -0
  904. package/dist/solutions-components/calcite-action.entry.js +184 -0
  905. package/dist/solutions-components/calcite-alert.entry.js +318 -0
  906. package/dist/solutions-components/calcite-avatar.entry.js +146 -0
  907. package/dist/solutions-components/calcite-block-section.entry.js +162 -0
  908. package/dist/solutions-components/calcite-block.entry.js +210 -0
  909. package/dist/solutions-components/calcite-button.entry.js +227 -0
  910. package/dist/solutions-components/calcite-card.entry.js +132 -0
  911. package/dist/solutions-components/calcite-checkbox.entry.js +134 -0
  912. package/dist/solutions-components/calcite-chip-group.entry.js +175 -0
  913. package/dist/solutions-components/calcite-chip.entry.js +258 -0
  914. package/dist/solutions-components/calcite-color-picker-hex-input.entry.js +270 -0
  915. package/dist/solutions-components/calcite-color-picker-swatch.entry.js +95 -0
  916. package/dist/solutions-components/calcite-color-picker.entry.js +906 -0
  917. package/dist/solutions-components/calcite-combobox-item-group.entry.js +56 -0
  918. package/dist/solutions-components/calcite-combobox-item.entry.js +141 -0
  919. package/dist/solutions-components/calcite-combobox.entry.js +1427 -0
  920. package/dist/solutions-components/calcite-date-picker-day.entry.js +93 -0
  921. package/dist/solutions-components/calcite-date-picker-month-header.entry.js +203 -0
  922. package/dist/solutions-components/calcite-date-picker-month.entry.js +358 -0
  923. package/dist/solutions-components/calcite-date-picker.entry.js +456 -0
  924. package/dist/solutions-components/calcite-dropdown-group.entry.js +81 -0
  925. package/dist/solutions-components/calcite-dropdown-item.entry.js +184 -0
  926. package/dist/solutions-components/calcite-dropdown.entry.js +426 -0
  927. package/dist/solutions-components/calcite-fab.entry.js +90 -0
  928. package/dist/solutions-components/calcite-filter.entry.js +175 -0
  929. package/dist/solutions-components/calcite-flow-item.entry.js +194 -0
  930. package/dist/solutions-components/calcite-flow.entry.js +149 -0
  931. package/dist/solutions-components/calcite-graph.entry.js +222 -0
  932. package/dist/solutions-components/calcite-handle.entry.js +200 -0
  933. package/dist/solutions-components/calcite-icon.entry.js +179 -0
  934. package/dist/solutions-components/calcite-inline-editable.entry.js +253 -0
  935. package/dist/solutions-components/calcite-input-date-picker.entry.js +740 -0
  936. package/dist/solutions-components/calcite-input-message.entry.js +66 -0
  937. package/dist/solutions-components/calcite-input-number.entry.js +610 -0
  938. package/dist/solutions-components/calcite-input-text.entry.js +349 -0
  939. package/dist/solutions-components/calcite-input-time-picker-e5cd4d26.js +1851 -0
  940. package/dist/solutions-components/calcite-input-time-picker.entry.js +25 -0
  941. package/dist/solutions-components/calcite-input-time-zone.entry.js +332 -0
  942. package/dist/solutions-components/calcite-input.entry.js +691 -0
  943. package/dist/solutions-components/calcite-label.entry.js +67 -0
  944. package/dist/solutions-components/calcite-link.entry.js +108 -0
  945. package/dist/solutions-components/calcite-list-item-group.entry.js +69 -0
  946. package/dist/solutions-components/calcite-list-item.entry.js +450 -0
  947. package/dist/solutions-components/calcite-list.entry.js +563 -0
  948. package/dist/solutions-components/calcite-loader.entry.js +76 -0
  949. package/dist/solutions-components/calcite-menu-item.entry.js +281 -0
  950. package/dist/solutions-components/calcite-menu.entry.js +180 -0
  951. package/dist/solutions-components/calcite-meter.entry.js +332 -0
  952. package/dist/solutions-components/calcite-modal.entry.js +394 -0
  953. package/dist/solutions-components/calcite-navigation-logo.entry.js +84 -0
  954. package/dist/solutions-components/calcite-navigation-user.entry.js +68 -0
  955. package/dist/solutions-components/calcite-navigation.entry.js +166 -0
  956. package/dist/solutions-components/calcite-notice.entry.js +163 -0
  957. package/dist/solutions-components/calcite-option-group.entry.js +35 -0
  958. package/dist/solutions-components/calcite-option.entry.js +84 -0
  959. package/dist/solutions-components/calcite-pagination.entry.js +554 -0
  960. package/dist/solutions-components/calcite-panel.entry.js +266 -0
  961. package/dist/solutions-components/calcite-pick-list-group.entry.js +57 -0
  962. package/dist/solutions-components/calcite-pick-list-item.entry.js +193 -0
  963. package/dist/solutions-components/calcite-pick-list.entry.js +142 -0
  964. package/dist/solutions-components/calcite-popover.entry.js +414 -0
  965. package/dist/solutions-components/calcite-progress.entry.js +37 -0
  966. package/dist/solutions-components/calcite-radio-button-group.entry.js +141 -0
  967. package/dist/solutions-components/calcite-radio-button.entry.js +318 -0
  968. package/dist/solutions-components/calcite-rating.entry.js +261 -0
  969. package/dist/solutions-components/calcite-scrim.entry.js +121 -0
  970. package/dist/solutions-components/calcite-segmented-control-item.entry.js +66 -0
  971. package/dist/solutions-components/calcite-segmented-control.entry.js +241 -0
  972. package/dist/solutions-components/calcite-select.entry.js +231 -0
  973. package/dist/solutions-components/calcite-sheet.entry.js +223 -0
  974. package/dist/solutions-components/calcite-shell-center-row.entry.js +66 -0
  975. package/dist/solutions-components/calcite-shell-panel.entry.js +410 -0
  976. package/dist/solutions-components/calcite-shell.entry.js +170 -0
  977. package/dist/solutions-components/calcite-slider.entry.js +840 -0
  978. package/dist/solutions-components/calcite-sortable-list.entry.js +166 -0
  979. package/dist/solutions-components/calcite-split-button.entry.js +112 -0
  980. package/dist/solutions-components/calcite-stack.entry.js +70 -0
  981. package/dist/solutions-components/calcite-stepper-item.entry.js +238 -0
  982. package/dist/solutions-components/calcite-stepper.entry.js +377 -0
  983. package/dist/solutions-components/calcite-switch.entry.js +113 -0
  984. package/dist/solutions-components/calcite-tab-nav.entry.js +259 -0
  985. package/dist/solutions-components/calcite-tab-title.entry.js +287 -0
  986. package/dist/solutions-components/calcite-tab.entry.js +108 -0
  987. package/dist/solutions-components/calcite-table-cell.entry.js +152 -0
  988. package/dist/solutions-components/calcite-table-header.entry.js +165 -0
  989. package/dist/solutions-components/calcite-table-row.entry.js +244 -0
  990. package/dist/solutions-components/calcite-table.entry.js +314 -0
  991. package/dist/solutions-components/calcite-tabs.entry.js +174 -0
  992. package/dist/solutions-components/calcite-text-area.entry.js +276 -0
  993. package/dist/solutions-components/calcite-tile-select-group.entry.js +39 -0
  994. package/dist/solutions-components/calcite-tile-select.entry.js +225 -0
  995. package/dist/solutions-components/calcite-tile.entry.js +75 -0
  996. package/dist/solutions-components/calcite-time-picker.entry.js +839 -0
  997. package/dist/solutions-components/calcite-tip-group.entry.js +21 -0
  998. package/dist/solutions-components/calcite-tip-manager.entry.js +227 -0
  999. package/dist/solutions-components/calcite-tip.entry.js +126 -0
  1000. package/dist/solutions-components/calcite-tooltip.entry.js +434 -0
  1001. package/dist/solutions-components/calcite-tree-item.entry.js +292 -0
  1002. package/dist/solutions-components/calcite-tree.entry.js +311 -0
  1003. package/dist/solutions-components/calcite-value-list-item.entry.js +153 -0
  1004. package/dist/solutions-components/calcite-value-list.entry.js +322 -0
  1005. package/dist/solutions-components/card-manager.entry.js +103 -0
  1006. package/dist/solutions-components/common-7e0dcaa2.js +295 -0
  1007. package/dist/solutions-components/component-edd2c3cd.js +30 -0
  1008. package/dist/solutions-components/conditionalSlot-a395417e.js +60 -0
  1009. package/dist/solutions-components/consent-manager.entry.js +2139 -0
  1010. package/dist/solutions-components/create-feature.entry.js +259 -0
  1011. package/dist/solutions-components/crowdsource-manager.entry.js +494 -0
  1012. package/dist/solutions-components/crowdsource-reporter.entry.js +557 -0
  1013. package/dist/solutions-components/cs-04f36d01.js +146 -0
  1014. package/dist/solutions-components/da-5a3b8600.js +65 -0
  1015. package/dist/solutions-components/date-74c7f03b.js +245 -0
  1016. package/dist/solutions-components/de-579cda2e.js +90 -0
  1017. package/dist/solutions-components/de-at-52bf1c4c.js +89 -0
  1018. package/dist/solutions-components/de-ch-12d03480.js +89 -0
  1019. package/dist/solutions-components/deduct-calculator.entry.js +101 -0
  1020. package/dist/solutions-components/delete-button.entry.js +146 -0
  1021. package/dist/solutions-components/dom-b91aa537.js +1083 -0
  1022. package/dist/solutions-components/downloadUtils-b3220f86.js +4240 -0
  1023. package/dist/solutions-components/edit-card.entry.js +224 -0
  1024. package/dist/solutions-components/el-c18d3ea4.js +65 -0
  1025. package/dist/solutions-components/en-au-2599e6da.js +65 -0
  1026. package/dist/solutions-components/en-ca-8cfbe6bc.js +64 -0
  1027. package/dist/solutions-components/en-gb-5e4e8a1e.js +68 -0
  1028. package/dist/solutions-components/es-d86f9957.js +65 -0
  1029. package/dist/solutions-components/es-mx-f99d9fd1.js +64 -0
  1030. package/dist/solutions-components/esri-loader-af2bbfd5.js +306 -0
  1031. package/dist/solutions-components/et-8bf52e57.js +91 -0
  1032. package/dist/solutions-components/feature-comments.entry.js +56 -0
  1033. package/dist/solutions-components/feature-form-flow-item.entry.js +56 -0
  1034. package/dist/solutions-components/feature-list.entry.js +195 -0
  1035. package/dist/solutions-components/features-flow-item.entry.js +56 -0
  1036. package/dist/solutions-components/fi-aeb49e52.js +114 -0
  1037. package/dist/solutions-components/filter-0d00d2e2.js +46 -0
  1038. package/dist/solutions-components/floating-ui-b3256614.js +2342 -0
  1039. package/dist/solutions-components/floor-filter.entry.js +107 -0
  1040. package/dist/solutions-components/focusTrapComponent-2fe6623b.js +1023 -0
  1041. package/dist/solutions-components/form-f2181470.js +307 -0
  1042. package/dist/solutions-components/fr-6200cc01.js +67 -0
  1043. package/dist/solutions-components/fr-ch-df62bb30.js +65 -0
  1044. package/dist/solutions-components/guid-b75a5f7b.js +24 -0
  1045. package/dist/solutions-components/he-07ace6cb.js +104 -0
  1046. package/dist/solutions-components/helpers-85ca7251.js +807 -0
  1047. package/dist/solutions-components/hi-5aa9519e.js +64 -0
  1048. package/dist/solutions-components/hr-e0614bed.js +79 -0
  1049. package/dist/solutions-components/html2canvas-d52e7c8d.js +7845 -0
  1050. package/dist/solutions-components/hu-732fe37c.js +87 -0
  1051. package/dist/solutions-components/id-0832fc24.js +65 -0
  1052. package/dist/solutions-components/index-5110a27a.js +71 -0
  1053. package/dist/solutions-components/index-7fc1cba9.js +41502 -0
  1054. package/dist/solutions-components/index-91eeaf01.js +199 -0
  1055. package/dist/solutions-components/index-a1e91462.js +2105 -0
  1056. package/dist/solutions-components/index-b1fb529b.js +1956 -0
  1057. package/dist/solutions-components/index-bdfaac50.js +4145 -0
  1058. package/dist/solutions-components/index-d8ff08ed.js +204 -0
  1059. package/dist/solutions-components/index.es-3db60115.js +11256 -0
  1060. package/dist/solutions-components/index.esm.js +15 -0
  1061. package/dist/solutions-components/info-card.entry.js +316 -0
  1062. package/dist/solutions-components/instant-apps-ckeditor-wrapper.entry.js +121 -0
  1063. package/dist/solutions-components/instant-apps-control-panel.entry.js +94 -0
  1064. package/dist/solutions-components/instant-apps-export.entry.js +888 -0
  1065. package/dist/solutions-components/instant-apps-filter-list.entry.js +1055 -0
  1066. package/dist/solutions-components/instant-apps-header.entry.js +124 -0
  1067. package/dist/solutions-components/instant-apps-interactive-legend-classic.entry.js +1604 -0
  1068. package/dist/solutions-components/instant-apps-interactive-legend-count.entry.js +100 -0
  1069. package/dist/solutions-components/instant-apps-interactive-legend-group-legend-element-caption.entry.js +53 -0
  1070. package/dist/solutions-components/instant-apps-interactive-legend-group-legend-element.entry.js +52 -0
  1071. package/dist/solutions-components/instant-apps-interactive-legend-layer-element-caption.entry.js +51 -0
  1072. package/dist/solutions-components/instant-apps-interactive-legend-layer-element.entry.js +53 -0
  1073. package/dist/solutions-components/instant-apps-interactive-legend-legend-element-caption.entry.js +100 -0
  1074. package/dist/solutions-components/instant-apps-interactive-legend-legend-element.entry.js +61 -0
  1075. package/dist/solutions-components/instant-apps-interactive-legend-relationship.entry.js +548 -0
  1076. package/dist/solutions-components/instant-apps-interactive-legend.entry.js +112 -0
  1077. package/dist/solutions-components/instant-apps-keyboard-shortcuts.entry.js +139 -0
  1078. package/dist/solutions-components/instant-apps-landing-page.entry.js +114 -0
  1079. package/dist/solutions-components/instant-apps-language-switcher.entry.js +173 -0
  1080. package/dist/solutions-components/instant-apps-language-translator-item.entry.js +380 -0
  1081. package/dist/solutions-components/instant-apps-language-translator-search.entry.js +101 -0
  1082. package/dist/solutions-components/instant-apps-language-translator.entry.js +286 -0
  1083. package/dist/solutions-components/instant-apps-measurement-tool.entry.js +135 -0
  1084. package/dist/solutions-components/instant-apps-measurement.entry.js +66 -0
  1085. package/dist/solutions-components/instant-apps-popover.entry.js +74 -0
  1086. package/dist/solutions-components/instant-apps-popovers.entry.js +88 -0
  1087. package/dist/solutions-components/instant-apps-scoreboard.entry.js +463 -0
  1088. package/dist/solutions-components/instant-apps-social-share.entry.js +511 -0
  1089. package/dist/solutions-components/instant-apps-splash.entry.js +144 -0
  1090. package/dist/solutions-components/interactive-71585ecc.js +139 -0
  1091. package/dist/solutions-components/interfaces-586e863c.js +80 -0
  1092. package/dist/solutions-components/it-142bc820.js +65 -0
  1093. package/dist/solutions-components/it-ch-1ad1f0ac.js +65 -0
  1094. package/dist/solutions-components/ja-6a33e9d4.js +71 -0
  1095. package/dist/solutions-components/json-editor.entry.js +402 -0
  1096. package/dist/solutions-components/key-9a10d862.js +44 -0
  1097. package/dist/solutions-components/ko-d61df01d.js +71 -0
  1098. package/dist/solutions-components/label-16184ce7.js +179 -0
  1099. package/dist/solutions-components/languageSwitcher-2a9037e5.js +55 -0
  1100. package/dist/solutions-components/languageUtil-71a7a914.js +87 -0
  1101. package/dist/solutions-components/layer-list.entry.js +203 -0
  1102. package/dist/solutions-components/layer-table.entry.js +1483 -0
  1103. package/dist/solutions-components/layout-manager.entry.js +91 -0
  1104. package/dist/solutions-components/list-flow-item.entry.js +56 -0
  1105. package/dist/solutions-components/loadModules-827c5581.js +28 -0
  1106. package/dist/solutions-components/loadModules-acccbc1c.js +21 -0
  1107. package/dist/solutions-components/loadable-aea90723.js +92 -0
  1108. package/dist/solutions-components/locale-4cfbae3e.js +86 -0
  1109. package/dist/solutions-components/locale-857f39cf.js +572 -0
  1110. package/dist/solutions-components/locale-d9463a95.js +148 -0
  1111. package/dist/solutions-components/location-flow-item.entry.js +56 -0
  1112. package/dist/solutions-components/lodash-98e4b7d0.js +18025 -0
  1113. package/dist/solutions-components/lt-652c530a.js +96 -0
  1114. package/dist/solutions-components/lv-84e48ed0.js +65 -0
  1115. package/dist/solutions-components/map-card.entry.js +188 -0
  1116. package/dist/solutions-components/map-draw-tools.entry.js +354 -0
  1117. package/dist/solutions-components/map-fullscreen.entry.js +112 -0
  1118. package/dist/solutions-components/map-layer-picker.entry.js +342 -0
  1119. package/dist/solutions-components/map-legend.entry.js +105 -0
  1120. package/dist/solutions-components/map-picker.entry.js +170 -0
  1121. package/dist/solutions-components/map-search.entry.js +180 -0
  1122. package/dist/solutions-components/map-select-tools.entry.js +794 -0
  1123. package/dist/solutions-components/map-tools.entry.js +371 -0
  1124. package/dist/solutions-components/mapViewUtils-436a516e.js +261 -0
  1125. package/dist/solutions-components/math-efada7a9.js +54 -0
  1126. package/dist/solutions-components/mk-bbf2ee01.js +65 -0
  1127. package/dist/solutions-components/mode-f9bfc4e9.js +25 -0
  1128. package/dist/solutions-components/nb-ccfaa0f7.js +66 -0
  1129. package/dist/solutions-components/nl-4bc56289.js +66 -0
  1130. package/dist/solutions-components/observers-5ba39eee.js +56 -0
  1131. package/dist/solutions-components/openCloseComponent-b4b3788b.js +138 -0
  1132. package/dist/solutions-components/{p-a455c3f0.entry.js → p-00524417.entry.js} +1 -1
  1133. package/dist/solutions-components/p-04dbc667.entry.js +6 -0
  1134. package/dist/solutions-components/{p-8e9f96db.js → p-12a7d0d1.js} +1 -1
  1135. package/dist/solutions-components/{p-a7b7f8d1.js → p-15a0e7fb.js} +1 -1
  1136. package/dist/solutions-components/p-2d72eac3.entry.js +6 -0
  1137. package/dist/solutions-components/{p-a2544cba.entry.js → p-30edeb79.entry.js} +1 -1
  1138. package/dist/solutions-components/{p-220c46c2.entry.js → p-3a6a1ce9.entry.js} +1 -1
  1139. package/dist/solutions-components/{p-a59078ee.entry.js → p-3b9e4882.entry.js} +1 -1
  1140. package/dist/solutions-components/{p-8ad937b4.entry.js → p-465aa7d9.entry.js} +1 -1
  1141. package/dist/solutions-components/p-4dcc150d.entry.js +6 -0
  1142. package/dist/solutions-components/{p-1bca71bf.entry.js → p-4efd2af6.entry.js} +1 -1
  1143. package/dist/solutions-components/{p-5a28d60c.entry.js → p-5320dc25.entry.js} +1 -1
  1144. package/dist/solutions-components/{p-015a45e2.entry.js → p-53ef8adf.entry.js} +1 -1
  1145. package/dist/solutions-components/{p-0d72a9ca.entry.js → p-5f6e7429.entry.js} +1 -1
  1146. package/dist/solutions-components/p-607773a3.entry.js +6 -0
  1147. package/dist/solutions-components/{p-2e7a9b9b.entry.js → p-88932d2f.entry.js} +2 -2
  1148. package/dist/solutions-components/{p-b41e2c4c.js → p-8910dc99.js} +10 -10
  1149. package/dist/solutions-components/{p-104f07e3.entry.js → p-954dc86f.entry.js} +1 -1
  1150. package/dist/solutions-components/{p-35c9256b.entry.js → p-955647ea.entry.js} +1 -1
  1151. package/dist/solutions-components/{p-c302bbea.entry.js → p-a3132356.entry.js} +1 -1
  1152. package/dist/solutions-components/{p-c10b44ee.entry.js → p-a886ab7f.entry.js} +1 -1
  1153. package/dist/solutions-components/{p-03037cf9.js → p-ad98c346.js} +1 -1
  1154. package/dist/solutions-components/{p-734d1dc5.js → p-b4913a01.js} +1 -1
  1155. package/dist/solutions-components/{p-03a65871.entry.js → p-bf6b4eb7.entry.js} +1 -1
  1156. package/dist/solutions-components/{p-09801ba6.entry.js → p-c4ff3b52.entry.js} +3 -3
  1157. package/dist/solutions-components/p-d599cfa8.entry.js +6 -0
  1158. package/dist/solutions-components/{p-cfe890f6.entry.js → p-f313b45b.entry.js} +1 -1
  1159. package/dist/solutions-components/{p-aec4441b.entry.js → p-fc1367d9.entry.js} +1 -1
  1160. package/dist/solutions-components/{p-07626c45.js → p-fc2fb61b.js} +1 -1
  1161. package/dist/solutions-components/parser-87982ce2.js +1654 -0
  1162. package/dist/solutions-components/pci-calculator.entry.js +113 -0
  1163. package/dist/solutions-components/pciUtils-73d4b6b4.js +844 -0
  1164. package/dist/solutions-components/pdf-download.entry.js +355 -0
  1165. package/dist/solutions-components/pl-1f435988.js +113 -0
  1166. package/dist/solutions-components/popupUtils-b61d7ffd.js +94 -0
  1167. package/dist/solutions-components/pt-4a05a00d.js +66 -0
  1168. package/dist/solutions-components/pt-br-9720547b.js +64 -0
  1169. package/dist/solutions-components/public-notification.entry.js +886 -0
  1170. package/dist/solutions-components/publicNotificationStore-208e26f0.js +45 -0
  1171. package/dist/solutions-components/purify-909c20fa.js +1713 -0
  1172. package/dist/solutions-components/queryUtils-2529c537.js +244 -0
  1173. package/dist/solutions-components/refine-results-flow-item.entry.js +56 -0
  1174. package/dist/solutions-components/refine-selection.entry.js +407 -0
  1175. package/dist/solutions-components/resources-0f8db821.js +45 -0
  1176. package/dist/solutions-components/resources-20074cb1.js +24 -0
  1177. package/dist/solutions-components/resources-3709252d.js +35 -0
  1178. package/dist/solutions-components/resources-3c6947d3.js +26 -0
  1179. package/dist/solutions-components/resources-47b3ca40.js +106 -0
  1180. package/dist/solutions-components/resources-667afb5d.js +27 -0
  1181. package/dist/solutions-components/resources-88a48c5c.js +20 -0
  1182. package/dist/solutions-components/resources-9b2084c6.js +24 -0
  1183. package/dist/solutions-components/resources-9b7e72d5.js +20 -0
  1184. package/dist/solutions-components/resources-b0e2b809.js +22 -0
  1185. package/dist/solutions-components/resources-bb6c11c3.js +49 -0
  1186. package/dist/solutions-components/ro-f87076a1.js +65 -0
  1187. package/dist/solutions-components/ru-e69ca895.js +125 -0
  1188. package/dist/solutions-components/shadow-css-f5236d52.js +481 -0
  1189. package/dist/solutions-components/share-item.entry.js +56 -0
  1190. package/dist/solutions-components/shared-list-render-a572ef93.js +348 -0
  1191. package/dist/solutions-components/sk-d632e850.js +147 -0
  1192. package/dist/solutions-components/sl-5099fa6f.js +167 -0
  1193. package/dist/solutions-components/solution-configuration.entry.js +906 -0
  1194. package/dist/solutions-components/solution-contents.entry.js +80 -0
  1195. package/dist/solutions-components/solution-item-details.entry.js +195 -0
  1196. package/dist/solutions-components/solution-item-icon.entry.js +323 -0
  1197. package/dist/solutions-components/solution-item-sharing.entry.js +135 -0
  1198. package/dist/solutions-components/solution-item.entry.js +102 -0
  1199. package/dist/solutions-components/solution-organization-variables.entry.js +91 -0
  1200. package/dist/solutions-components/solution-resource-item.entry.js +280 -0
  1201. package/dist/solutions-components/solution-spatial-ref.entry.js +154 -0
  1202. package/dist/solutions-components/solution-store-31cccb90.js +587 -0
  1203. package/dist/solutions-components/solution-template-data.entry.js +115 -0
  1204. package/dist/solutions-components/solution-variables.entry.js +103 -0
  1205. package/dist/solutions-components/solutions-components.css +84 -1
  1206. package/dist/solutions-components/solutions-components.esm.js +52 -1
  1207. package/dist/solutions-components/sortableComponent-e715a3dd.js +3439 -0
  1208. package/dist/solutions-components/spatial-ref.entry.js +21296 -0
  1209. package/dist/solutions-components/sr-944b7fd7.js +100 -0
  1210. package/dist/solutions-components/store-194c1a01.js +87 -0
  1211. package/dist/solutions-components/store-manager.entry.js +61 -0
  1212. package/dist/solutions-components/styles-367380b5.js +11 -0
  1213. package/dist/solutions-components/sv-e481fa6a.js +70 -0
  1214. package/dist/solutions-components/t9n-b39c5433.js +98 -0
  1215. package/dist/solutions-components/th-60961669.js +64 -0
  1216. package/dist/solutions-components/time-4a90614b.js +274 -0
  1217. package/dist/solutions-components/tr-eba8dd86.js +65 -0
  1218. package/dist/solutions-components/uk-ec375ce0.js +103 -0
  1219. package/dist/solutions-components/utils/downloadUtils.ts +44 -5
  1220. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +40 -1
  1221. package/dist/solutions-components/utils-32df4a1e.js +133 -0
  1222. package/dist/solutions-components/utils-57e2ccde.js +61 -0
  1223. package/dist/solutions-components/utils-7db4ecdc.js +100 -0
  1224. package/dist/solutions-components/utils-95e9dd51.js +55 -0
  1225. package/dist/solutions-components/utils-cfbe589a.js +208 -0
  1226. package/dist/solutions-components/vi-29345f79.js +69 -0
  1227. package/dist/solutions-components/zh-cn-32c7c714.js +93 -0
  1228. package/dist/solutions-components/zh-hk-7c770845.js +70 -0
  1229. package/dist/solutions-components/zh-tw-c318be5c.js +91 -0
  1230. package/dist/types/components/map-select-tools/map-select-tools.d.ts +5 -1
  1231. package/dist/types/components/public-notification/public-notification.d.ts +12 -0
  1232. package/dist/types/utils/downloadUtils.d.ts +18 -4
  1233. package/package.json +6 -6
  1234. package/dist/solutions-components/p-41bc9e9d.entry.js +0 -6
  1235. package/dist/solutions-components/p-7d6ee026.entry.js +0 -6
  1236. package/dist/solutions-components/p-b80bc5b9.entry.js +0 -6
  1237. package/dist/solutions-components/p-dd45738e.entry.js +0 -6
  1238. package/dist/solutions-components/p-df29f4c2.entry.js +0 -6
  1239. /package/dist/solutions-components/{p-70359c2b.js → p-89218b6e.js} +0 -0
  1240. /package/dist/solutions-components/{p-090e0241.js → p-e85ba21c.js} +0 -0
@@ -3,202 +3,2103 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- const supportedTimeZones = (() => {
7
- const platformTimeZones = Intl.supportedValuesOf('timeZone');
8
- // not all browsers include these time zones, so we add them to ensure consistent groups
9
- const etcTimeZones = [
10
- "Etc/GMT+1",
11
- "Etc/GMT+10",
12
- "Etc/GMT+11",
13
- "Etc/GMT+12",
14
- "Etc/GMT+2",
15
- "Etc/GMT+3",
16
- "Etc/GMT+4",
17
- "Etc/GMT+5",
18
- "Etc/GMT+6",
19
- "Etc/GMT+7",
20
- "Etc/GMT+8",
21
- "Etc/GMT+9",
22
- "Etc/GMT-1",
23
- "Etc/GMT-10",
24
- "Etc/GMT-11",
25
- "Etc/GMT-12",
26
- "Etc/GMT-13",
27
- "Etc/GMT-14",
28
- "Etc/GMT-2",
29
- "Etc/GMT-3",
30
- "Etc/GMT-4",
31
- "Etc/GMT-5",
32
- "Etc/GMT-6",
33
- "Etc/GMT-7",
34
- "Etc/GMT-8",
35
- "Etc/GMT-9"
36
- ];
37
- return [...new Set([...platformTimeZones, ...etcTimeZones])];
38
- })();
39
-
40
- const now = new Date();
41
- const startDate = now.toISOString();
42
- const daysInYear = 365;
43
- const groupDateRange = daysInYear;
44
- const defaultGroupingOptions = {
45
- startDate,
46
- groupDateRange,
47
- debug: false,
6
+ /*!
7
+ * @esri/arcgis-html-sanitizer - v3.0.1 - Tue Nov 15 2022 09:46:54 GMT-0800 (Pacific Standard Time)
8
+ * Copyright (c) 2022 - Environmental Systems Research Institute, Inc.
9
+ * Apache-2.0
10
+ *
11
+ * js-xss
12
+ * Copyright (c) 2012-2018 Zongmin Lei(雷宗民) <leizongmin@gmail.com>
13
+ * http://ucdok.com
14
+ * MIT License, see https://github.com/leizongmin/js-xss/blob/master/LICENSE for details
15
+ */
16
+ /**
17
+ * Determine if the value is a plain object.
18
+ * @param {*} value The value to check.
19
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
20
+ */
21
+ var isPlainObject = function (value) {
22
+ if (typeof value !== "object" || value === null) {
23
+ return false;
24
+ }
25
+ if (Object.prototype.toString.call(value) !== "[object Object]") {
26
+ return false;
27
+ }
28
+ var proto = Object.getPrototypeOf(value);
29
+ if (proto === null) {
30
+ return true;
31
+ }
32
+ while (Object.getPrototypeOf(proto) !== null) {
33
+ proto = Object.getPrototypeOf(proto);
34
+ }
35
+ return Object.getPrototypeOf(value) === proto;
36
+ };
37
+
38
+ var lib$1 = {exports: {}};
39
+
40
+ var _default$1 = {};
41
+
42
+ var lib = {exports: {}};
43
+
44
+ var _default = {};
45
+
46
+ /**
47
+ * cssfilter
48
+ *
49
+ * @author 老雷<leizongmin@gmail.com>
50
+ */
51
+
52
+ function getDefaultWhiteList$1 () {
53
+ // 白名单值说明:
54
+ // true: 允许该属性
55
+ // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许
56
+ // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许
57
+ // 除上面列出的值外均表示不允许
58
+ var whiteList = {};
59
+
60
+ whiteList['align-content'] = false; // default: auto
61
+ whiteList['align-items'] = false; // default: auto
62
+ whiteList['align-self'] = false; // default: auto
63
+ whiteList['alignment-adjust'] = false; // default: auto
64
+ whiteList['alignment-baseline'] = false; // default: baseline
65
+ whiteList['all'] = false; // default: depending on individual properties
66
+ whiteList['anchor-point'] = false; // default: none
67
+ whiteList['animation'] = false; // default: depending on individual properties
68
+ whiteList['animation-delay'] = false; // default: 0
69
+ whiteList['animation-direction'] = false; // default: normal
70
+ whiteList['animation-duration'] = false; // default: 0
71
+ whiteList['animation-fill-mode'] = false; // default: none
72
+ whiteList['animation-iteration-count'] = false; // default: 1
73
+ whiteList['animation-name'] = false; // default: none
74
+ whiteList['animation-play-state'] = false; // default: running
75
+ whiteList['animation-timing-function'] = false; // default: ease
76
+ whiteList['azimuth'] = false; // default: center
77
+ whiteList['backface-visibility'] = false; // default: visible
78
+ whiteList['background'] = true; // default: depending on individual properties
79
+ whiteList['background-attachment'] = true; // default: scroll
80
+ whiteList['background-clip'] = true; // default: border-box
81
+ whiteList['background-color'] = true; // default: transparent
82
+ whiteList['background-image'] = true; // default: none
83
+ whiteList['background-origin'] = true; // default: padding-box
84
+ whiteList['background-position'] = true; // default: 0% 0%
85
+ whiteList['background-repeat'] = true; // default: repeat
86
+ whiteList['background-size'] = true; // default: auto
87
+ whiteList['baseline-shift'] = false; // default: baseline
88
+ whiteList['binding'] = false; // default: none
89
+ whiteList['bleed'] = false; // default: 6pt
90
+ whiteList['bookmark-label'] = false; // default: content()
91
+ whiteList['bookmark-level'] = false; // default: none
92
+ whiteList['bookmark-state'] = false; // default: open
93
+ whiteList['border'] = true; // default: depending on individual properties
94
+ whiteList['border-bottom'] = true; // default: depending on individual properties
95
+ whiteList['border-bottom-color'] = true; // default: current color
96
+ whiteList['border-bottom-left-radius'] = true; // default: 0
97
+ whiteList['border-bottom-right-radius'] = true; // default: 0
98
+ whiteList['border-bottom-style'] = true; // default: none
99
+ whiteList['border-bottom-width'] = true; // default: medium
100
+ whiteList['border-collapse'] = true; // default: separate
101
+ whiteList['border-color'] = true; // default: depending on individual properties
102
+ whiteList['border-image'] = true; // default: none
103
+ whiteList['border-image-outset'] = true; // default: 0
104
+ whiteList['border-image-repeat'] = true; // default: stretch
105
+ whiteList['border-image-slice'] = true; // default: 100%
106
+ whiteList['border-image-source'] = true; // default: none
107
+ whiteList['border-image-width'] = true; // default: 1
108
+ whiteList['border-left'] = true; // default: depending on individual properties
109
+ whiteList['border-left-color'] = true; // default: current color
110
+ whiteList['border-left-style'] = true; // default: none
111
+ whiteList['border-left-width'] = true; // default: medium
112
+ whiteList['border-radius'] = true; // default: 0
113
+ whiteList['border-right'] = true; // default: depending on individual properties
114
+ whiteList['border-right-color'] = true; // default: current color
115
+ whiteList['border-right-style'] = true; // default: none
116
+ whiteList['border-right-width'] = true; // default: medium
117
+ whiteList['border-spacing'] = true; // default: 0
118
+ whiteList['border-style'] = true; // default: depending on individual properties
119
+ whiteList['border-top'] = true; // default: depending on individual properties
120
+ whiteList['border-top-color'] = true; // default: current color
121
+ whiteList['border-top-left-radius'] = true; // default: 0
122
+ whiteList['border-top-right-radius'] = true; // default: 0
123
+ whiteList['border-top-style'] = true; // default: none
124
+ whiteList['border-top-width'] = true; // default: medium
125
+ whiteList['border-width'] = true; // default: depending on individual properties
126
+ whiteList['bottom'] = false; // default: auto
127
+ whiteList['box-decoration-break'] = true; // default: slice
128
+ whiteList['box-shadow'] = true; // default: none
129
+ whiteList['box-sizing'] = true; // default: content-box
130
+ whiteList['box-snap'] = true; // default: none
131
+ whiteList['box-suppress'] = true; // default: show
132
+ whiteList['break-after'] = true; // default: auto
133
+ whiteList['break-before'] = true; // default: auto
134
+ whiteList['break-inside'] = true; // default: auto
135
+ whiteList['caption-side'] = false; // default: top
136
+ whiteList['chains'] = false; // default: none
137
+ whiteList['clear'] = true; // default: none
138
+ whiteList['clip'] = false; // default: auto
139
+ whiteList['clip-path'] = false; // default: none
140
+ whiteList['clip-rule'] = false; // default: nonzero
141
+ whiteList['color'] = true; // default: implementation dependent
142
+ whiteList['color-interpolation-filters'] = true; // default: auto
143
+ whiteList['column-count'] = false; // default: auto
144
+ whiteList['column-fill'] = false; // default: balance
145
+ whiteList['column-gap'] = false; // default: normal
146
+ whiteList['column-rule'] = false; // default: depending on individual properties
147
+ whiteList['column-rule-color'] = false; // default: current color
148
+ whiteList['column-rule-style'] = false; // default: medium
149
+ whiteList['column-rule-width'] = false; // default: medium
150
+ whiteList['column-span'] = false; // default: none
151
+ whiteList['column-width'] = false; // default: auto
152
+ whiteList['columns'] = false; // default: depending on individual properties
153
+ whiteList['contain'] = false; // default: none
154
+ whiteList['content'] = false; // default: normal
155
+ whiteList['counter-increment'] = false; // default: none
156
+ whiteList['counter-reset'] = false; // default: none
157
+ whiteList['counter-set'] = false; // default: none
158
+ whiteList['crop'] = false; // default: auto
159
+ whiteList['cue'] = false; // default: depending on individual properties
160
+ whiteList['cue-after'] = false; // default: none
161
+ whiteList['cue-before'] = false; // default: none
162
+ whiteList['cursor'] = false; // default: auto
163
+ whiteList['direction'] = false; // default: ltr
164
+ whiteList['display'] = true; // default: depending on individual properties
165
+ whiteList['display-inside'] = true; // default: auto
166
+ whiteList['display-list'] = true; // default: none
167
+ whiteList['display-outside'] = true; // default: inline-level
168
+ whiteList['dominant-baseline'] = false; // default: auto
169
+ whiteList['elevation'] = false; // default: level
170
+ whiteList['empty-cells'] = false; // default: show
171
+ whiteList['filter'] = false; // default: none
172
+ whiteList['flex'] = false; // default: depending on individual properties
173
+ whiteList['flex-basis'] = false; // default: auto
174
+ whiteList['flex-direction'] = false; // default: row
175
+ whiteList['flex-flow'] = false; // default: depending on individual properties
176
+ whiteList['flex-grow'] = false; // default: 0
177
+ whiteList['flex-shrink'] = false; // default: 1
178
+ whiteList['flex-wrap'] = false; // default: nowrap
179
+ whiteList['float'] = false; // default: none
180
+ whiteList['float-offset'] = false; // default: 0 0
181
+ whiteList['flood-color'] = false; // default: black
182
+ whiteList['flood-opacity'] = false; // default: 1
183
+ whiteList['flow-from'] = false; // default: none
184
+ whiteList['flow-into'] = false; // default: none
185
+ whiteList['font'] = true; // default: depending on individual properties
186
+ whiteList['font-family'] = true; // default: implementation dependent
187
+ whiteList['font-feature-settings'] = true; // default: normal
188
+ whiteList['font-kerning'] = true; // default: auto
189
+ whiteList['font-language-override'] = true; // default: normal
190
+ whiteList['font-size'] = true; // default: medium
191
+ whiteList['font-size-adjust'] = true; // default: none
192
+ whiteList['font-stretch'] = true; // default: normal
193
+ whiteList['font-style'] = true; // default: normal
194
+ whiteList['font-synthesis'] = true; // default: weight style
195
+ whiteList['font-variant'] = true; // default: normal
196
+ whiteList['font-variant-alternates'] = true; // default: normal
197
+ whiteList['font-variant-caps'] = true; // default: normal
198
+ whiteList['font-variant-east-asian'] = true; // default: normal
199
+ whiteList['font-variant-ligatures'] = true; // default: normal
200
+ whiteList['font-variant-numeric'] = true; // default: normal
201
+ whiteList['font-variant-position'] = true; // default: normal
202
+ whiteList['font-weight'] = true; // default: normal
203
+ whiteList['grid'] = false; // default: depending on individual properties
204
+ whiteList['grid-area'] = false; // default: depending on individual properties
205
+ whiteList['grid-auto-columns'] = false; // default: auto
206
+ whiteList['grid-auto-flow'] = false; // default: none
207
+ whiteList['grid-auto-rows'] = false; // default: auto
208
+ whiteList['grid-column'] = false; // default: depending on individual properties
209
+ whiteList['grid-column-end'] = false; // default: auto
210
+ whiteList['grid-column-start'] = false; // default: auto
211
+ whiteList['grid-row'] = false; // default: depending on individual properties
212
+ whiteList['grid-row-end'] = false; // default: auto
213
+ whiteList['grid-row-start'] = false; // default: auto
214
+ whiteList['grid-template'] = false; // default: depending on individual properties
215
+ whiteList['grid-template-areas'] = false; // default: none
216
+ whiteList['grid-template-columns'] = false; // default: none
217
+ whiteList['grid-template-rows'] = false; // default: none
218
+ whiteList['hanging-punctuation'] = false; // default: none
219
+ whiteList['height'] = true; // default: auto
220
+ whiteList['hyphens'] = false; // default: manual
221
+ whiteList['icon'] = false; // default: auto
222
+ whiteList['image-orientation'] = false; // default: auto
223
+ whiteList['image-resolution'] = false; // default: normal
224
+ whiteList['ime-mode'] = false; // default: auto
225
+ whiteList['initial-letters'] = false; // default: normal
226
+ whiteList['inline-box-align'] = false; // default: last
227
+ whiteList['justify-content'] = false; // default: auto
228
+ whiteList['justify-items'] = false; // default: auto
229
+ whiteList['justify-self'] = false; // default: auto
230
+ whiteList['left'] = false; // default: auto
231
+ whiteList['letter-spacing'] = true; // default: normal
232
+ whiteList['lighting-color'] = true; // default: white
233
+ whiteList['line-box-contain'] = false; // default: block inline replaced
234
+ whiteList['line-break'] = false; // default: auto
235
+ whiteList['line-grid'] = false; // default: match-parent
236
+ whiteList['line-height'] = false; // default: normal
237
+ whiteList['line-snap'] = false; // default: none
238
+ whiteList['line-stacking'] = false; // default: depending on individual properties
239
+ whiteList['line-stacking-ruby'] = false; // default: exclude-ruby
240
+ whiteList['line-stacking-shift'] = false; // default: consider-shifts
241
+ whiteList['line-stacking-strategy'] = false; // default: inline-line-height
242
+ whiteList['list-style'] = true; // default: depending on individual properties
243
+ whiteList['list-style-image'] = true; // default: none
244
+ whiteList['list-style-position'] = true; // default: outside
245
+ whiteList['list-style-type'] = true; // default: disc
246
+ whiteList['margin'] = true; // default: depending on individual properties
247
+ whiteList['margin-bottom'] = true; // default: 0
248
+ whiteList['margin-left'] = true; // default: 0
249
+ whiteList['margin-right'] = true; // default: 0
250
+ whiteList['margin-top'] = true; // default: 0
251
+ whiteList['marker-offset'] = false; // default: auto
252
+ whiteList['marker-side'] = false; // default: list-item
253
+ whiteList['marks'] = false; // default: none
254
+ whiteList['mask'] = false; // default: border-box
255
+ whiteList['mask-box'] = false; // default: see individual properties
256
+ whiteList['mask-box-outset'] = false; // default: 0
257
+ whiteList['mask-box-repeat'] = false; // default: stretch
258
+ whiteList['mask-box-slice'] = false; // default: 0 fill
259
+ whiteList['mask-box-source'] = false; // default: none
260
+ whiteList['mask-box-width'] = false; // default: auto
261
+ whiteList['mask-clip'] = false; // default: border-box
262
+ whiteList['mask-image'] = false; // default: none
263
+ whiteList['mask-origin'] = false; // default: border-box
264
+ whiteList['mask-position'] = false; // default: center
265
+ whiteList['mask-repeat'] = false; // default: no-repeat
266
+ whiteList['mask-size'] = false; // default: border-box
267
+ whiteList['mask-source-type'] = false; // default: auto
268
+ whiteList['mask-type'] = false; // default: luminance
269
+ whiteList['max-height'] = true; // default: none
270
+ whiteList['max-lines'] = false; // default: none
271
+ whiteList['max-width'] = true; // default: none
272
+ whiteList['min-height'] = true; // default: 0
273
+ whiteList['min-width'] = true; // default: 0
274
+ whiteList['move-to'] = false; // default: normal
275
+ whiteList['nav-down'] = false; // default: auto
276
+ whiteList['nav-index'] = false; // default: auto
277
+ whiteList['nav-left'] = false; // default: auto
278
+ whiteList['nav-right'] = false; // default: auto
279
+ whiteList['nav-up'] = false; // default: auto
280
+ whiteList['object-fit'] = false; // default: fill
281
+ whiteList['object-position'] = false; // default: 50% 50%
282
+ whiteList['opacity'] = false; // default: 1
283
+ whiteList['order'] = false; // default: 0
284
+ whiteList['orphans'] = false; // default: 2
285
+ whiteList['outline'] = false; // default: depending on individual properties
286
+ whiteList['outline-color'] = false; // default: invert
287
+ whiteList['outline-offset'] = false; // default: 0
288
+ whiteList['outline-style'] = false; // default: none
289
+ whiteList['outline-width'] = false; // default: medium
290
+ whiteList['overflow'] = false; // default: depending on individual properties
291
+ whiteList['overflow-wrap'] = false; // default: normal
292
+ whiteList['overflow-x'] = false; // default: visible
293
+ whiteList['overflow-y'] = false; // default: visible
294
+ whiteList['padding'] = true; // default: depending on individual properties
295
+ whiteList['padding-bottom'] = true; // default: 0
296
+ whiteList['padding-left'] = true; // default: 0
297
+ whiteList['padding-right'] = true; // default: 0
298
+ whiteList['padding-top'] = true; // default: 0
299
+ whiteList['page'] = false; // default: auto
300
+ whiteList['page-break-after'] = false; // default: auto
301
+ whiteList['page-break-before'] = false; // default: auto
302
+ whiteList['page-break-inside'] = false; // default: auto
303
+ whiteList['page-policy'] = false; // default: start
304
+ whiteList['pause'] = false; // default: implementation dependent
305
+ whiteList['pause-after'] = false; // default: implementation dependent
306
+ whiteList['pause-before'] = false; // default: implementation dependent
307
+ whiteList['perspective'] = false; // default: none
308
+ whiteList['perspective-origin'] = false; // default: 50% 50%
309
+ whiteList['pitch'] = false; // default: medium
310
+ whiteList['pitch-range'] = false; // default: 50
311
+ whiteList['play-during'] = false; // default: auto
312
+ whiteList['position'] = false; // default: static
313
+ whiteList['presentation-level'] = false; // default: 0
314
+ whiteList['quotes'] = false; // default: text
315
+ whiteList['region-fragment'] = false; // default: auto
316
+ whiteList['resize'] = false; // default: none
317
+ whiteList['rest'] = false; // default: depending on individual properties
318
+ whiteList['rest-after'] = false; // default: none
319
+ whiteList['rest-before'] = false; // default: none
320
+ whiteList['richness'] = false; // default: 50
321
+ whiteList['right'] = false; // default: auto
322
+ whiteList['rotation'] = false; // default: 0
323
+ whiteList['rotation-point'] = false; // default: 50% 50%
324
+ whiteList['ruby-align'] = false; // default: auto
325
+ whiteList['ruby-merge'] = false; // default: separate
326
+ whiteList['ruby-position'] = false; // default: before
327
+ whiteList['shape-image-threshold'] = false; // default: 0.0
328
+ whiteList['shape-outside'] = false; // default: none
329
+ whiteList['shape-margin'] = false; // default: 0
330
+ whiteList['size'] = false; // default: auto
331
+ whiteList['speak'] = false; // default: auto
332
+ whiteList['speak-as'] = false; // default: normal
333
+ whiteList['speak-header'] = false; // default: once
334
+ whiteList['speak-numeral'] = false; // default: continuous
335
+ whiteList['speak-punctuation'] = false; // default: none
336
+ whiteList['speech-rate'] = false; // default: medium
337
+ whiteList['stress'] = false; // default: 50
338
+ whiteList['string-set'] = false; // default: none
339
+ whiteList['tab-size'] = false; // default: 8
340
+ whiteList['table-layout'] = false; // default: auto
341
+ whiteList['text-align'] = true; // default: start
342
+ whiteList['text-align-last'] = true; // default: auto
343
+ whiteList['text-combine-upright'] = true; // default: none
344
+ whiteList['text-decoration'] = true; // default: none
345
+ whiteList['text-decoration-color'] = true; // default: currentColor
346
+ whiteList['text-decoration-line'] = true; // default: none
347
+ whiteList['text-decoration-skip'] = true; // default: objects
348
+ whiteList['text-decoration-style'] = true; // default: solid
349
+ whiteList['text-emphasis'] = true; // default: depending on individual properties
350
+ whiteList['text-emphasis-color'] = true; // default: currentColor
351
+ whiteList['text-emphasis-position'] = true; // default: over right
352
+ whiteList['text-emphasis-style'] = true; // default: none
353
+ whiteList['text-height'] = true; // default: auto
354
+ whiteList['text-indent'] = true; // default: 0
355
+ whiteList['text-justify'] = true; // default: auto
356
+ whiteList['text-orientation'] = true; // default: mixed
357
+ whiteList['text-overflow'] = true; // default: clip
358
+ whiteList['text-shadow'] = true; // default: none
359
+ whiteList['text-space-collapse'] = true; // default: collapse
360
+ whiteList['text-transform'] = true; // default: none
361
+ whiteList['text-underline-position'] = true; // default: auto
362
+ whiteList['text-wrap'] = true; // default: normal
363
+ whiteList['top'] = false; // default: auto
364
+ whiteList['transform'] = false; // default: none
365
+ whiteList['transform-origin'] = false; // default: 50% 50% 0
366
+ whiteList['transform-style'] = false; // default: flat
367
+ whiteList['transition'] = false; // default: depending on individual properties
368
+ whiteList['transition-delay'] = false; // default: 0s
369
+ whiteList['transition-duration'] = false; // default: 0s
370
+ whiteList['transition-property'] = false; // default: all
371
+ whiteList['transition-timing-function'] = false; // default: ease
372
+ whiteList['unicode-bidi'] = false; // default: normal
373
+ whiteList['vertical-align'] = false; // default: baseline
374
+ whiteList['visibility'] = false; // default: visible
375
+ whiteList['voice-balance'] = false; // default: center
376
+ whiteList['voice-duration'] = false; // default: auto
377
+ whiteList['voice-family'] = false; // default: implementation dependent
378
+ whiteList['voice-pitch'] = false; // default: medium
379
+ whiteList['voice-range'] = false; // default: medium
380
+ whiteList['voice-rate'] = false; // default: normal
381
+ whiteList['voice-stress'] = false; // default: normal
382
+ whiteList['voice-volume'] = false; // default: medium
383
+ whiteList['volume'] = false; // default: medium
384
+ whiteList['white-space'] = false; // default: normal
385
+ whiteList['widows'] = false; // default: 2
386
+ whiteList['width'] = true; // default: auto
387
+ whiteList['will-change'] = false; // default: auto
388
+ whiteList['word-break'] = true; // default: normal
389
+ whiteList['word-spacing'] = true; // default: normal
390
+ whiteList['word-wrap'] = true; // default: normal
391
+ whiteList['wrap-flow'] = false; // default: auto
392
+ whiteList['wrap-through'] = false; // default: wrap
393
+ whiteList['writing-mode'] = false; // default: horizontal-tb
394
+ whiteList['z-index'] = false; // default: auto
395
+
396
+ return whiteList;
397
+ }
398
+
399
+
400
+ /**
401
+ * 匹配到白名单上的一个属性时
402
+ *
403
+ * @param {String} name
404
+ * @param {String} value
405
+ * @param {Object} options
406
+ * @return {String}
407
+ */
408
+ function onAttr (name, value, options) {
409
+ // do nothing
410
+ }
411
+
412
+ /**
413
+ * 匹配到不在白名单上的一个属性时
414
+ *
415
+ * @param {String} name
416
+ * @param {String} value
417
+ * @param {Object} options
418
+ * @return {String}
419
+ */
420
+ function onIgnoreAttr (name, value, options) {
421
+ // do nothing
422
+ }
423
+
424
+ var REGEXP_URL_JAVASCRIPT = /javascript\s*\:/img;
425
+
426
+ /**
427
+ * 过滤属性值
428
+ *
429
+ * @param {String} name
430
+ * @param {String} value
431
+ * @return {String}
432
+ */
433
+ function safeAttrValue$1(name, value) {
434
+ if (REGEXP_URL_JAVASCRIPT.test(value)) return '';
435
+ return value;
436
+ }
437
+
438
+
439
+ _default.whiteList = getDefaultWhiteList$1();
440
+ _default.getDefaultWhiteList = getDefaultWhiteList$1;
441
+ _default.onAttr = onAttr;
442
+ _default.onIgnoreAttr = onIgnoreAttr;
443
+ _default.safeAttrValue = safeAttrValue$1;
444
+
445
+ var util$1 = {
446
+ indexOf: function (arr, item) {
447
+ var i, j;
448
+ if (Array.prototype.indexOf) {
449
+ return arr.indexOf(item);
450
+ }
451
+ for (i = 0, j = arr.length; i < j; i++) {
452
+ if (arr[i] === item) {
453
+ return i;
454
+ }
455
+ }
456
+ return -1;
457
+ },
458
+ forEach: function (arr, fn, scope) {
459
+ var i, j;
460
+ if (Array.prototype.forEach) {
461
+ return arr.forEach(fn, scope);
462
+ }
463
+ for (i = 0, j = arr.length; i < j; i++) {
464
+ fn.call(scope, arr[i], i, arr);
465
+ }
466
+ },
467
+ trim: function (str) {
468
+ if (String.prototype.trim) {
469
+ return str.trim();
470
+ }
471
+ return str.replace(/(^\s*)|(\s*$)/g, '');
472
+ },
473
+ trimRight: function (str) {
474
+ if (String.prototype.trimRight) {
475
+ return str.trimRight();
476
+ }
477
+ return str.replace(/(\s*$)/g, '');
478
+ }
48
479
  };
49
480
 
50
- const continentAllowList = new Set([
51
- 'Europe',
52
- 'Asia',
53
- 'America',
54
- 'America/Argentina',
55
- 'Africa',
56
- 'Australia',
57
- 'Pacific',
58
- 'Atlantic',
59
- 'Antarctica',
60
- 'Arctic',
61
- 'Indian',
62
- ]);
63
- const _getDates = (startDate, numberDays, dateEngine) => {
64
- const dateArray = [];
65
- let date = dateEngine.create(startDate);
66
- for (let i = 0; i <= numberDays; i++) {
67
- date = dateEngine.increase(date);
68
- dateArray.push(dateEngine.formatToIsoDateString(date));
69
- }
70
- return dateArray;
481
+ /**
482
+ * cssfilter
483
+ *
484
+ * @author 老雷<leizongmin@gmail.com>
485
+ */
486
+
487
+ var _$3 = util$1;
488
+
489
+
490
+ /**
491
+ * 解析style
492
+ *
493
+ * @param {String} css
494
+ * @param {Function} onAttr 处理属性的函数
495
+ * 参数格式: function (sourcePosition, position, name, value, source)
496
+ * @return {String}
497
+ */
498
+ function parseStyle$1 (css, onAttr) {
499
+ css = _$3.trimRight(css);
500
+ if (css[css.length - 1] !== ';') css += ';';
501
+ var cssLength = css.length;
502
+ var isParenthesisOpen = false;
503
+ var lastPos = 0;
504
+ var i = 0;
505
+ var retCSS = '';
506
+
507
+ function addNewAttr () {
508
+ // 如果没有正常的闭合圆括号,则直接忽略当前属性
509
+ if (!isParenthesisOpen) {
510
+ var source = _$3.trim(css.slice(lastPos, i));
511
+ var j = source.indexOf(':');
512
+ if (j !== -1) {
513
+ var name = _$3.trim(source.slice(0, j));
514
+ var value = _$3.trim(source.slice(j + 1));
515
+ // 必须有属性名称
516
+ if (name) {
517
+ var ret = onAttr(lastPos, retCSS.length, name, value, source);
518
+ if (ret) retCSS += ret + '; ';
519
+ }
520
+ }
521
+ }
522
+ lastPos = i + 1;
523
+ }
524
+
525
+ for (; i < cssLength; i++) {
526
+ var c = css[i];
527
+ if (c === '/' && css[i + 1] === '*') {
528
+ // 备注开始
529
+ var j = css.indexOf('*/', i + 2);
530
+ // 如果没有正常的备注结束,则后面的部分全部跳过
531
+ if (j === -1) break;
532
+ // 直接将当前位置调到备注结尾,并且初始化状态
533
+ i = j + 1;
534
+ lastPos = i + 1;
535
+ isParenthesisOpen = false;
536
+ } else if (c === '(') {
537
+ isParenthesisOpen = true;
538
+ } else if (c === ')') {
539
+ isParenthesisOpen = false;
540
+ } else if (c === ';') {
541
+ if (isParenthesisOpen) ; else {
542
+ addNewAttr();
543
+ }
544
+ } else if (c === '\n') {
545
+ addNewAttr();
546
+ }
547
+ }
548
+
549
+ return _$3.trim(retCSS);
550
+ }
551
+
552
+ var parser$2 = parseStyle$1;
553
+
554
+ /**
555
+ * cssfilter
556
+ *
557
+ * @author 老雷<leizongmin@gmail.com>
558
+ */
559
+
560
+ var DEFAULT$1 = _default;
561
+ var parseStyle = parser$2;
562
+
563
+
564
+ /**
565
+ * 返回值是否为空
566
+ *
567
+ * @param {Object} obj
568
+ * @return {Boolean}
569
+ */
570
+ function isNull$1 (obj) {
571
+ return (obj === undefined || obj === null);
572
+ }
573
+
574
+ /**
575
+ * 浅拷贝对象
576
+ *
577
+ * @param {Object} obj
578
+ * @return {Object}
579
+ */
580
+ function shallowCopyObject$1 (obj) {
581
+ var ret = {};
582
+ for (var i in obj) {
583
+ ret[i] = obj[i];
584
+ }
585
+ return ret;
586
+ }
587
+
588
+ /**
589
+ * 创建CSS过滤器
590
+ *
591
+ * @param {Object} options
592
+ * - {Object} whiteList
593
+ * - {Function} onAttr
594
+ * - {Function} onIgnoreAttr
595
+ * - {Function} safeAttrValue
596
+ */
597
+ function FilterCSS$2 (options) {
598
+ options = shallowCopyObject$1(options || {});
599
+ options.whiteList = options.whiteList || DEFAULT$1.whiteList;
600
+ options.onAttr = options.onAttr || DEFAULT$1.onAttr;
601
+ options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT$1.onIgnoreAttr;
602
+ options.safeAttrValue = options.safeAttrValue || DEFAULT$1.safeAttrValue;
603
+ this.options = options;
604
+ }
605
+
606
+ FilterCSS$2.prototype.process = function (css) {
607
+ // 兼容各种奇葩输入
608
+ css = css || '';
609
+ css = css.toString();
610
+ if (!css) return '';
611
+
612
+ var me = this;
613
+ var options = me.options;
614
+ var whiteList = options.whiteList;
615
+ var onAttr = options.onAttr;
616
+ var onIgnoreAttr = options.onIgnoreAttr;
617
+ var safeAttrValue = options.safeAttrValue;
618
+
619
+ var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {
620
+
621
+ var check = whiteList[name];
622
+ var isWhite = false;
623
+ if (check === true) isWhite = check;
624
+ else if (typeof check === 'function') isWhite = check(value);
625
+ else if (check instanceof RegExp) isWhite = check.test(value);
626
+ if (isWhite !== true) isWhite = false;
627
+
628
+ // 如果过滤后 value 为空则直接忽略
629
+ value = safeAttrValue(name, value);
630
+ if (!value) return;
631
+
632
+ var opts = {
633
+ position: position,
634
+ sourcePosition: sourcePosition,
635
+ source: source,
636
+ isWhite: isWhite
637
+ };
638
+
639
+ if (isWhite) {
640
+
641
+ var ret = onAttr(name, value, opts);
642
+ if (isNull$1(ret)) {
643
+ return name + ':' + value;
644
+ } else {
645
+ return ret;
646
+ }
647
+
648
+ } else {
649
+
650
+ var ret = onIgnoreAttr(name, value, opts);
651
+ if (!isNull$1(ret)) {
652
+ return ret;
653
+ }
654
+
655
+ }
656
+ });
657
+
658
+ return retCSS;
71
659
  };
72
- const _extractContinent = (label) => {
73
- if (label.includes('Istanbul')) {
74
- return 'Europe';
660
+
661
+
662
+ var css = FilterCSS$2;
663
+
664
+ /**
665
+ * cssfilter
666
+ *
667
+ * @author 老雷<leizongmin@gmail.com>
668
+ */
669
+
670
+ (function (module, exports) {
671
+ var DEFAULT = _default;
672
+ var FilterCSS = css;
673
+
674
+
675
+ /**
676
+ * XSS过滤
677
+ *
678
+ * @param {String} css 要过滤的CSS代码
679
+ * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr
680
+ * @return {String}
681
+ */
682
+ function filterCSS (html, options) {
683
+ var xss = new FilterCSS(options);
684
+ return xss.process(html);
685
+ }
686
+
687
+
688
+ // 输出
689
+ exports = module.exports = filterCSS;
690
+ exports.FilterCSS = FilterCSS;
691
+ for (var i in DEFAULT) exports[i] = DEFAULT[i];
692
+ } (lib, lib.exports));
693
+
694
+ var util = {
695
+ indexOf: function (arr, item) {
696
+ var i, j;
697
+ if (Array.prototype.indexOf) {
698
+ return arr.indexOf(item);
699
+ }
700
+ for (i = 0, j = arr.length; i < j; i++) {
701
+ if (arr[i] === item) {
702
+ return i;
703
+ }
75
704
  }
76
- const lastIndex = label.lastIndexOf('/');
77
- return lastIndex === -1 ? label : label.slice(0, lastIndex);
705
+ return -1;
706
+ },
707
+ forEach: function (arr, fn, scope) {
708
+ var i, j;
709
+ if (Array.prototype.forEach) {
710
+ return arr.forEach(fn, scope);
711
+ }
712
+ for (i = 0, j = arr.length; i < j; i++) {
713
+ fn.call(scope, arr[i], i, arr);
714
+ }
715
+ },
716
+ trim: function (str) {
717
+ if (String.prototype.trim) {
718
+ return str.trim();
719
+ }
720
+ return str.replace(/(^\s*)|(\s*$)/g, "");
721
+ },
722
+ spaceIndex: function (str) {
723
+ var reg = /\s|\n|\t/;
724
+ var match = reg.exec(str);
725
+ return match ? match.index : -1;
726
+ },
78
727
  };
79
- const _isRegularContinent = (continent) => continentAllowList.has(continent);
80
- const generateTimeZoneMetadata = (timeZoneItems, startDate, numberDays, dateEngine, debug = false) => {
81
- const processedDates = new Map();
82
- if (debug) {
83
- console.log(`Initializing data starting ${startDate} with ${numberDays} days in the future, comparing ${timeZoneItems.length} timezones`);
84
- }
85
- const theDates = _getDates(startDate, numberDays, dateEngine);
86
- return timeZoneItems.map((tzItem) => {
87
- const label = tzItem.label;
88
- const continent = _extractContinent(label);
89
- const dates = theDates.map((date) => {
90
- const key = `${date}-${label}`;
91
- let utc = processedDates.get(key);
92
- if (utc) {
93
- return utc;
728
+
729
+ /**
730
+ * default settings
731
+ *
732
+ * @author Zongmin Lei<leizongmin@gmail.com>
733
+ */
734
+
735
+ var FilterCSS$1 = lib.exports.FilterCSS;
736
+ var getDefaultCSSWhiteList = lib.exports.getDefaultWhiteList;
737
+ var _$2 = util;
738
+
739
+ function getDefaultWhiteList() {
740
+ return {
741
+ a: ["target", "href", "title"],
742
+ abbr: ["title"],
743
+ address: [],
744
+ area: ["shape", "coords", "href", "alt"],
745
+ article: [],
746
+ aside: [],
747
+ audio: [
748
+ "autoplay",
749
+ "controls",
750
+ "crossorigin",
751
+ "loop",
752
+ "muted",
753
+ "preload",
754
+ "src",
755
+ ],
756
+ b: [],
757
+ bdi: ["dir"],
758
+ bdo: ["dir"],
759
+ big: [],
760
+ blockquote: ["cite"],
761
+ br: [],
762
+ caption: [],
763
+ center: [],
764
+ cite: [],
765
+ code: [],
766
+ col: ["align", "valign", "span", "width"],
767
+ colgroup: ["align", "valign", "span", "width"],
768
+ dd: [],
769
+ del: ["datetime"],
770
+ details: ["open"],
771
+ div: [],
772
+ dl: [],
773
+ dt: [],
774
+ em: [],
775
+ figcaption: [],
776
+ figure: [],
777
+ font: ["color", "size", "face"],
778
+ footer: [],
779
+ h1: [],
780
+ h2: [],
781
+ h3: [],
782
+ h4: [],
783
+ h5: [],
784
+ h6: [],
785
+ header: [],
786
+ hr: [],
787
+ i: [],
788
+ img: ["src", "alt", "title", "width", "height"],
789
+ ins: ["datetime"],
790
+ li: [],
791
+ mark: [],
792
+ nav: [],
793
+ ol: [],
794
+ p: [],
795
+ pre: [],
796
+ s: [],
797
+ section: [],
798
+ small: [],
799
+ span: [],
800
+ sub: [],
801
+ summary: [],
802
+ sup: [],
803
+ strong: [],
804
+ strike: [],
805
+ table: ["width", "border", "align", "valign"],
806
+ tbody: ["align", "valign"],
807
+ td: ["width", "rowspan", "colspan", "align", "valign"],
808
+ tfoot: ["align", "valign"],
809
+ th: ["width", "rowspan", "colspan", "align", "valign"],
810
+ thead: ["align", "valign"],
811
+ tr: ["rowspan", "align", "valign"],
812
+ tt: [],
813
+ u: [],
814
+ ul: [],
815
+ video: [
816
+ "autoplay",
817
+ "controls",
818
+ "crossorigin",
819
+ "loop",
820
+ "muted",
821
+ "playsinline",
822
+ "poster",
823
+ "preload",
824
+ "src",
825
+ "height",
826
+ "width",
827
+ ],
828
+ };
829
+ }
830
+
831
+ var defaultCSSFilter = new FilterCSS$1();
832
+
833
+ /**
834
+ * default onTag function
835
+ *
836
+ * @param {String} tag
837
+ * @param {String} html
838
+ * @param {Object} options
839
+ * @return {String}
840
+ */
841
+ function onTag(tag, html, options) {
842
+ // do nothing
843
+ }
844
+
845
+ /**
846
+ * default onIgnoreTag function
847
+ *
848
+ * @param {String} tag
849
+ * @param {String} html
850
+ * @param {Object} options
851
+ * @return {String}
852
+ */
853
+ function onIgnoreTag(tag, html, options) {
854
+ // do nothing
855
+ }
856
+
857
+ /**
858
+ * default onTagAttr function
859
+ *
860
+ * @param {String} tag
861
+ * @param {String} name
862
+ * @param {String} value
863
+ * @return {String}
864
+ */
865
+ function onTagAttr(tag, name, value) {
866
+ // do nothing
867
+ }
868
+
869
+ /**
870
+ * default onIgnoreTagAttr function
871
+ *
872
+ * @param {String} tag
873
+ * @param {String} name
874
+ * @param {String} value
875
+ * @return {String}
876
+ */
877
+ function onIgnoreTagAttr(tag, name, value) {
878
+ // do nothing
879
+ }
880
+
881
+ /**
882
+ * default escapeHtml function
883
+ *
884
+ * @param {String} html
885
+ */
886
+ function escapeHtml(html) {
887
+ return html.replace(REGEXP_LT, "&lt;").replace(REGEXP_GT, "&gt;");
888
+ }
889
+
890
+ /**
891
+ * default safeAttrValue function
892
+ *
893
+ * @param {String} tag
894
+ * @param {String} name
895
+ * @param {String} value
896
+ * @param {Object} cssFilter
897
+ * @return {String}
898
+ */
899
+ function safeAttrValue(tag, name, value, cssFilter) {
900
+ // unescape attribute value firstly
901
+ value = friendlyAttrValue(value);
902
+
903
+ if (name === "href" || name === "src") {
904
+ // filter `href` and `src` attribute
905
+ // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`
906
+ value = _$2.trim(value);
907
+ if (value === "#") return "#";
908
+ if (
909
+ !(
910
+ value.substr(0, 7) === "http://" ||
911
+ value.substr(0, 8) === "https://" ||
912
+ value.substr(0, 7) === "mailto:" ||
913
+ value.substr(0, 4) === "tel:" ||
914
+ value.substr(0, 11) === "data:image/" ||
915
+ value.substr(0, 6) === "ftp://" ||
916
+ value.substr(0, 2) === "./" ||
917
+ value.substr(0, 3) === "../" ||
918
+ value[0] === "#" ||
919
+ value[0] === "/"
920
+ )
921
+ ) {
922
+ return "";
923
+ }
924
+ } else if (name === "background") {
925
+ // filter `background` attribute (maybe no use)
926
+ // `javascript:`
927
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
928
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
929
+ return "";
930
+ }
931
+ } else if (name === "style") {
932
+ // `expression()`
933
+ REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;
934
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {
935
+ return "";
936
+ }
937
+ // `url()`
938
+ REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;
939
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {
940
+ REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;
941
+ if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {
942
+ return "";
943
+ }
944
+ }
945
+ if (cssFilter !== false) {
946
+ cssFilter = cssFilter || defaultCSSFilter;
947
+ value = cssFilter.process(value);
948
+ }
949
+ }
950
+
951
+ // escape `<>"` before returns
952
+ value = escapeAttrValue(value);
953
+ return value;
954
+ }
955
+
956
+ // RegExp list
957
+ var REGEXP_LT = /</g;
958
+ var REGEXP_GT = />/g;
959
+ var REGEXP_QUOTE = /"/g;
960
+ var REGEXP_QUOTE_2 = /&quot;/g;
961
+ var REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;
962
+ var REGEXP_ATTR_VALUE_COLON = /&colon;?/gim;
963
+ var REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;
964
+ // var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\/\*|\*\//gm;
965
+ var REGEXP_DEFAULT_ON_TAG_ATTR_4 =
966
+ /((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;
967
+ // var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:/gi;
968
+ // var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\s"'`]*(d\s*a\s*t\s*a\s*)\:\s*image\//gi;
969
+ var REGEXP_DEFAULT_ON_TAG_ATTR_7 =
970
+ /e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi;
971
+ var REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\s*r\s*l\s*\(.*/gi;
972
+
973
+ /**
974
+ * escape double quote
975
+ *
976
+ * @param {String} str
977
+ * @return {String} str
978
+ */
979
+ function escapeQuote(str) {
980
+ return str.replace(REGEXP_QUOTE, "&quot;");
981
+ }
982
+
983
+ /**
984
+ * unescape double quote
985
+ *
986
+ * @param {String} str
987
+ * @return {String} str
988
+ */
989
+ function unescapeQuote(str) {
990
+ return str.replace(REGEXP_QUOTE_2, '"');
991
+ }
992
+
993
+ /**
994
+ * escape html entities
995
+ *
996
+ * @param {String} str
997
+ * @return {String}
998
+ */
999
+ function escapeHtmlEntities(str) {
1000
+ return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {
1001
+ return code[0] === "x" || code[0] === "X"
1002
+ ? String.fromCharCode(parseInt(code.substr(1), 16))
1003
+ : String.fromCharCode(parseInt(code, 10));
1004
+ });
1005
+ }
1006
+
1007
+ /**
1008
+ * escape html5 new danger entities
1009
+ *
1010
+ * @param {String} str
1011
+ * @return {String}
1012
+ */
1013
+ function escapeDangerHtml5Entities(str) {
1014
+ return str
1015
+ .replace(REGEXP_ATTR_VALUE_COLON, ":")
1016
+ .replace(REGEXP_ATTR_VALUE_NEWLINE, " ");
1017
+ }
1018
+
1019
+ /**
1020
+ * clear nonprintable characters
1021
+ *
1022
+ * @param {String} str
1023
+ * @return {String}
1024
+ */
1025
+ function clearNonPrintableCharacter(str) {
1026
+ var str2 = "";
1027
+ for (var i = 0, len = str.length; i < len; i++) {
1028
+ str2 += str.charCodeAt(i) < 32 ? " " : str.charAt(i);
1029
+ }
1030
+ return _$2.trim(str2);
1031
+ }
1032
+
1033
+ /**
1034
+ * get friendly attribute value
1035
+ *
1036
+ * @param {String} str
1037
+ * @return {String}
1038
+ */
1039
+ function friendlyAttrValue(str) {
1040
+ str = unescapeQuote(str);
1041
+ str = escapeHtmlEntities(str);
1042
+ str = escapeDangerHtml5Entities(str);
1043
+ str = clearNonPrintableCharacter(str);
1044
+ return str;
1045
+ }
1046
+
1047
+ /**
1048
+ * unescape attribute value
1049
+ *
1050
+ * @param {String} str
1051
+ * @return {String}
1052
+ */
1053
+ function escapeAttrValue(str) {
1054
+ str = escapeQuote(str);
1055
+ str = escapeHtml(str);
1056
+ return str;
1057
+ }
1058
+
1059
+ /**
1060
+ * `onIgnoreTag` function for removing all the tags that are not in whitelist
1061
+ */
1062
+ function onIgnoreTagStripAll() {
1063
+ return "";
1064
+ }
1065
+
1066
+ /**
1067
+ * remove tag body
1068
+ * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)
1069
+ *
1070
+ * @param {array} tags
1071
+ * @param {function} next
1072
+ */
1073
+ function StripTagBody(tags, next) {
1074
+ if (typeof next !== "function") {
1075
+ next = function () {};
1076
+ }
1077
+
1078
+ var isRemoveAllTag = !Array.isArray(tags);
1079
+ function isRemoveTag(tag) {
1080
+ if (isRemoveAllTag) return true;
1081
+ return _$2.indexOf(tags, tag) !== -1;
1082
+ }
1083
+
1084
+ var removeList = [];
1085
+ var posStart = false;
1086
+
1087
+ return {
1088
+ onIgnoreTag: function (tag, html, options) {
1089
+ if (isRemoveTag(tag)) {
1090
+ if (options.isClosing) {
1091
+ var ret = "[/removed]";
1092
+ var end = options.position + ret.length;
1093
+ removeList.push([
1094
+ posStart !== false ? posStart : options.position,
1095
+ end,
1096
+ ]);
1097
+ posStart = false;
1098
+ return ret;
1099
+ } else {
1100
+ if (!posStart) {
1101
+ posStart = options.position;
1102
+ }
1103
+ return "[removed]";
1104
+ }
1105
+ } else {
1106
+ return next(tag, html, options);
1107
+ }
1108
+ },
1109
+ remove: function (html) {
1110
+ var rethtml = "";
1111
+ var lastPos = 0;
1112
+ _$2.forEach(removeList, function (pos) {
1113
+ rethtml += html.slice(lastPos, pos[0]);
1114
+ lastPos = pos[1];
1115
+ });
1116
+ rethtml += html.slice(lastPos);
1117
+ return rethtml;
1118
+ },
1119
+ };
1120
+ }
1121
+
1122
+ /**
1123
+ * remove html comments
1124
+ *
1125
+ * @param {String} html
1126
+ * @return {String}
1127
+ */
1128
+ function stripCommentTag(html) {
1129
+ var retHtml = "";
1130
+ var lastPos = 0;
1131
+ while (lastPos < html.length) {
1132
+ var i = html.indexOf("<!--", lastPos);
1133
+ if (i === -1) {
1134
+ retHtml += html.slice(lastPos);
1135
+ break;
1136
+ }
1137
+ retHtml += html.slice(lastPos, i);
1138
+ var j = html.indexOf("-->", i);
1139
+ if (j === -1) {
1140
+ break;
1141
+ }
1142
+ lastPos = j + 3;
1143
+ }
1144
+ return retHtml;
1145
+ }
1146
+
1147
+ /**
1148
+ * remove invisible characters
1149
+ *
1150
+ * @param {String} html
1151
+ * @return {String}
1152
+ */
1153
+ function stripBlankChar(html) {
1154
+ var chars = html.split("");
1155
+ chars = chars.filter(function (char) {
1156
+ var c = char.charCodeAt(0);
1157
+ if (c === 127) return false;
1158
+ if (c <= 31) {
1159
+ if (c === 10 || c === 13) return true;
1160
+ return false;
1161
+ }
1162
+ return true;
1163
+ });
1164
+ return chars.join("");
1165
+ }
1166
+
1167
+ _default$1.whiteList = getDefaultWhiteList();
1168
+ _default$1.getDefaultWhiteList = getDefaultWhiteList;
1169
+ _default$1.onTag = onTag;
1170
+ _default$1.onIgnoreTag = onIgnoreTag;
1171
+ _default$1.onTagAttr = onTagAttr;
1172
+ _default$1.onIgnoreTagAttr = onIgnoreTagAttr;
1173
+ _default$1.safeAttrValue = safeAttrValue;
1174
+ _default$1.escapeHtml = escapeHtml;
1175
+ _default$1.escapeQuote = escapeQuote;
1176
+ _default$1.unescapeQuote = unescapeQuote;
1177
+ _default$1.escapeHtmlEntities = escapeHtmlEntities;
1178
+ _default$1.escapeDangerHtml5Entities = escapeDangerHtml5Entities;
1179
+ _default$1.clearNonPrintableCharacter = clearNonPrintableCharacter;
1180
+ _default$1.friendlyAttrValue = friendlyAttrValue;
1181
+ _default$1.escapeAttrValue = escapeAttrValue;
1182
+ _default$1.onIgnoreTagStripAll = onIgnoreTagStripAll;
1183
+ _default$1.StripTagBody = StripTagBody;
1184
+ _default$1.stripCommentTag = stripCommentTag;
1185
+ _default$1.stripBlankChar = stripBlankChar;
1186
+ _default$1.cssFilter = defaultCSSFilter;
1187
+ _default$1.getDefaultCSSWhiteList = getDefaultCSSWhiteList;
1188
+
1189
+ var parser$1 = {};
1190
+
1191
+ /**
1192
+ * Simple HTML Parser
1193
+ *
1194
+ * @author Zongmin Lei<leizongmin@gmail.com>
1195
+ */
1196
+
1197
+ var _$1 = util;
1198
+
1199
+ /**
1200
+ * get tag name
1201
+ *
1202
+ * @param {String} html e.g. '<a hef="#">'
1203
+ * @return {String}
1204
+ */
1205
+ function getTagName(html) {
1206
+ var i = _$1.spaceIndex(html);
1207
+ var tagName;
1208
+ if (i === -1) {
1209
+ tagName = html.slice(1, -1);
1210
+ } else {
1211
+ tagName = html.slice(1, i + 1);
1212
+ }
1213
+ tagName = _$1.trim(tagName).toLowerCase();
1214
+ if (tagName.slice(0, 1) === "/") tagName = tagName.slice(1);
1215
+ if (tagName.slice(-1) === "/") tagName = tagName.slice(0, -1);
1216
+ return tagName;
1217
+ }
1218
+
1219
+ /**
1220
+ * is close tag?
1221
+ *
1222
+ * @param {String} html 如:'<a hef="#">'
1223
+ * @return {Boolean}
1224
+ */
1225
+ function isClosing(html) {
1226
+ return html.slice(0, 2) === "</";
1227
+ }
1228
+
1229
+ /**
1230
+ * parse input html and returns processed html
1231
+ *
1232
+ * @param {String} html
1233
+ * @param {Function} onTag e.g. function (sourcePosition, position, tag, html, isClosing)
1234
+ * @param {Function} escapeHtml
1235
+ * @return {String}
1236
+ */
1237
+ function parseTag$1(html, onTag, escapeHtml) {
1238
+
1239
+ var rethtml = "";
1240
+ var lastPos = 0;
1241
+ var tagStart = false;
1242
+ var quoteStart = false;
1243
+ var currentPos = 0;
1244
+ var len = html.length;
1245
+ var currentTagName = "";
1246
+ var currentHtml = "";
1247
+
1248
+ chariterator: for (currentPos = 0; currentPos < len; currentPos++) {
1249
+ var c = html.charAt(currentPos);
1250
+ if (tagStart === false) {
1251
+ if (c === "<") {
1252
+ tagStart = currentPos;
1253
+ continue;
1254
+ }
1255
+ } else {
1256
+ if (quoteStart === false) {
1257
+ if (c === "<") {
1258
+ rethtml += escapeHtml(html.slice(lastPos, currentPos));
1259
+ tagStart = currentPos;
1260
+ lastPos = currentPos;
1261
+ continue;
1262
+ }
1263
+ if (c === ">") {
1264
+ rethtml += escapeHtml(html.slice(lastPos, tagStart));
1265
+ currentHtml = html.slice(tagStart, currentPos + 1);
1266
+ currentTagName = getTagName(currentHtml);
1267
+ rethtml += onTag(
1268
+ tagStart,
1269
+ rethtml.length,
1270
+ currentTagName,
1271
+ currentHtml,
1272
+ isClosing(currentHtml)
1273
+ );
1274
+ lastPos = currentPos + 1;
1275
+ tagStart = false;
1276
+ continue;
1277
+ }
1278
+ if (c === '"' || c === "'") {
1279
+ var i = 1;
1280
+ var ic = html.charAt(currentPos - i);
1281
+
1282
+ while (ic.trim() === "" || ic === "=") {
1283
+ if (ic === "=") {
1284
+ quoteStart = c;
1285
+ continue chariterator;
94
1286
  }
95
- utc = dateEngine.isoToTimeZone(date, label);
96
- processedDates.set(key, utc);
97
- return utc;
1287
+ ic = html.charAt(currentPos - ++i);
1288
+ }
1289
+ }
1290
+ } else {
1291
+ if (c === quoteStart) {
1292
+ quoteStart = false;
1293
+ continue;
1294
+ }
1295
+ }
1296
+ }
1297
+ }
1298
+ if (lastPos < html.length) {
1299
+ rethtml += escapeHtml(html.substr(lastPos));
1300
+ }
1301
+
1302
+ return rethtml;
1303
+ }
1304
+
1305
+ var REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\_:.-]/gim;
1306
+
1307
+ /**
1308
+ * parse input attributes and returns processed attributes
1309
+ *
1310
+ * @param {String} html e.g. `href="#" target="_blank"`
1311
+ * @param {Function} onAttr e.g. `function (name, value)`
1312
+ * @return {String}
1313
+ */
1314
+ function parseAttr$1(html, onAttr) {
1315
+
1316
+ var lastPos = 0;
1317
+ var lastMarkPos = 0;
1318
+ var retAttrs = [];
1319
+ var tmpName = false;
1320
+ var len = html.length;
1321
+
1322
+ function addAttr(name, value) {
1323
+ name = _$1.trim(name);
1324
+ name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, "").toLowerCase();
1325
+ if (name.length < 1) return;
1326
+ var ret = onAttr(name, value || "");
1327
+ if (ret) retAttrs.push(ret);
1328
+ }
1329
+
1330
+ // 逐个分析字符
1331
+ for (var i = 0; i < len; i++) {
1332
+ var c = html.charAt(i);
1333
+ var v, j;
1334
+ if (tmpName === false && c === "=") {
1335
+ tmpName = html.slice(lastPos, i);
1336
+ lastPos = i + 1;
1337
+ lastMarkPos = html.charAt(lastPos) === '"' || html.charAt(lastPos) === "'" ? lastPos : findNextQuotationMark(html, i + 1);
1338
+ continue;
1339
+ }
1340
+ if (tmpName !== false) {
1341
+ if (
1342
+ i === lastMarkPos
1343
+ ) {
1344
+ j = html.indexOf(c, i + 1);
1345
+ if (j === -1) {
1346
+ break;
1347
+ } else {
1348
+ v = _$1.trim(html.slice(lastMarkPos + 1, j));
1349
+ addAttr(tmpName, v);
1350
+ tmpName = false;
1351
+ i = j;
1352
+ lastPos = i + 1;
1353
+ continue;
1354
+ }
1355
+ }
1356
+ }
1357
+ if (/\s|\n|\t/.test(c)) {
1358
+ html = html.replace(/\s|\n|\t/g, " ");
1359
+ if (tmpName === false) {
1360
+ j = findNextEqual(html, i);
1361
+ if (j === -1) {
1362
+ v = _$1.trim(html.slice(lastPos, i));
1363
+ addAttr(v);
1364
+ tmpName = false;
1365
+ lastPos = i + 1;
1366
+ continue;
1367
+ } else {
1368
+ i = j - 1;
1369
+ continue;
1370
+ }
1371
+ } else {
1372
+ j = findBeforeEqual(html, i - 1);
1373
+ if (j === -1) {
1374
+ v = _$1.trim(html.slice(lastPos, i));
1375
+ v = stripQuoteWrap(v);
1376
+ addAttr(tmpName, v);
1377
+ tmpName = false;
1378
+ lastPos = i + 1;
1379
+ continue;
1380
+ } else {
1381
+ continue;
1382
+ }
1383
+ }
1384
+ }
1385
+ }
1386
+
1387
+ if (lastPos < html.length) {
1388
+ if (tmpName === false) {
1389
+ addAttr(html.slice(lastPos));
1390
+ } else {
1391
+ addAttr(tmpName, stripQuoteWrap(_$1.trim(html.slice(lastPos))));
1392
+ }
1393
+ }
1394
+
1395
+ return _$1.trim(retAttrs.join(" "));
1396
+ }
1397
+
1398
+ function findNextEqual(str, i) {
1399
+ for (; i < str.length; i++) {
1400
+ var c = str[i];
1401
+ if (c === " ") continue;
1402
+ if (c === "=") return i;
1403
+ return -1;
1404
+ }
1405
+ }
1406
+
1407
+ function findNextQuotationMark(str, i) {
1408
+ for (; i < str.length; i++) {
1409
+ var c = str[i];
1410
+ if (c === " ") continue;
1411
+ if (c === "'" || c === '"') return i;
1412
+ return -1;
1413
+ }
1414
+ }
1415
+
1416
+ function findBeforeEqual(str, i) {
1417
+ for (; i > 0; i--) {
1418
+ var c = str[i];
1419
+ if (c === " ") continue;
1420
+ if (c === "=") return i;
1421
+ return -1;
1422
+ }
1423
+ }
1424
+
1425
+ function isQuoteWrapString(text) {
1426
+ if (
1427
+ (text[0] === '"' && text[text.length - 1] === '"') ||
1428
+ (text[0] === "'" && text[text.length - 1] === "'")
1429
+ ) {
1430
+ return true;
1431
+ } else {
1432
+ return false;
1433
+ }
1434
+ }
1435
+
1436
+ function stripQuoteWrap(text) {
1437
+ if (isQuoteWrapString(text)) {
1438
+ return text.substr(1, text.length - 2);
1439
+ } else {
1440
+ return text;
1441
+ }
1442
+ }
1443
+
1444
+ parser$1.parseTag = parseTag$1;
1445
+ parser$1.parseAttr = parseAttr$1;
1446
+
1447
+ /**
1448
+ * filter xss
1449
+ *
1450
+ * @author Zongmin Lei<leizongmin@gmail.com>
1451
+ */
1452
+
1453
+ var FilterCSS = lib.exports.FilterCSS;
1454
+ var DEFAULT = _default$1;
1455
+ var parser = parser$1;
1456
+ var parseTag = parser.parseTag;
1457
+ var parseAttr = parser.parseAttr;
1458
+ var _ = util;
1459
+
1460
+ /**
1461
+ * returns `true` if the input value is `undefined` or `null`
1462
+ *
1463
+ * @param {Object} obj
1464
+ * @return {Boolean}
1465
+ */
1466
+ function isNull(obj) {
1467
+ return obj === undefined || obj === null;
1468
+ }
1469
+
1470
+ /**
1471
+ * get attributes for a tag
1472
+ *
1473
+ * @param {String} html
1474
+ * @return {Object}
1475
+ * - {String} html
1476
+ * - {Boolean} closing
1477
+ */
1478
+ function getAttrs(html) {
1479
+ var i = _.spaceIndex(html);
1480
+ if (i === -1) {
1481
+ return {
1482
+ html: "",
1483
+ closing: html[html.length - 2] === "/",
1484
+ };
1485
+ }
1486
+ html = _.trim(html.slice(i + 1, -1));
1487
+ var isClosing = html[html.length - 1] === "/";
1488
+ if (isClosing) html = _.trim(html.slice(0, -1));
1489
+ return {
1490
+ html: html,
1491
+ closing: isClosing,
1492
+ };
1493
+ }
1494
+
1495
+ /**
1496
+ * shallow copy
1497
+ *
1498
+ * @param {Object} obj
1499
+ * @return {Object}
1500
+ */
1501
+ function shallowCopyObject(obj) {
1502
+ var ret = {};
1503
+ for (var i in obj) {
1504
+ ret[i] = obj[i];
1505
+ }
1506
+ return ret;
1507
+ }
1508
+
1509
+ function keysToLowerCase(obj) {
1510
+ var ret = {};
1511
+ for (var i in obj) {
1512
+ if (Array.isArray(obj[i])) {
1513
+ ret[i.toLowerCase()] = obj[i].map(function (item) {
1514
+ return item.toLowerCase();
1515
+ });
1516
+ } else {
1517
+ ret[i.toLowerCase()] = obj[i];
1518
+ }
1519
+ }
1520
+ return ret;
1521
+ }
1522
+
1523
+ /**
1524
+ * FilterXSS class
1525
+ *
1526
+ * @param {Object} options
1527
+ * whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,
1528
+ * onIgnoreTagAttr, safeAttrValue, escapeHtml
1529
+ * stripIgnoreTagBody, allowCommentTag, stripBlankChar
1530
+ * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`
1531
+ */
1532
+ function FilterXSS(options) {
1533
+ options = shallowCopyObject(options || {});
1534
+
1535
+ if (options.stripIgnoreTag) {
1536
+ if (options.onIgnoreTag) {
1537
+ console.error(
1538
+ 'Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'
1539
+ );
1540
+ }
1541
+ options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;
1542
+ }
1543
+ if (options.whiteList || options.allowList) {
1544
+ options.whiteList = keysToLowerCase(options.whiteList || options.allowList);
1545
+ } else {
1546
+ options.whiteList = DEFAULT.whiteList;
1547
+ }
1548
+
1549
+ options.onTag = options.onTag || DEFAULT.onTag;
1550
+ options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;
1551
+ options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;
1552
+ options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;
1553
+ options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;
1554
+ options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;
1555
+ this.options = options;
1556
+
1557
+ if (options.css === false) {
1558
+ this.cssFilter = false;
1559
+ } else {
1560
+ options.css = options.css || {};
1561
+ this.cssFilter = new FilterCSS(options.css);
1562
+ }
1563
+ }
1564
+
1565
+ /**
1566
+ * start process and returns result
1567
+ *
1568
+ * @param {String} html
1569
+ * @return {String}
1570
+ */
1571
+ FilterXSS.prototype.process = function (html) {
1572
+ // compatible with the input
1573
+ html = html || "";
1574
+ html = html.toString();
1575
+ if (!html) return "";
1576
+
1577
+ var me = this;
1578
+ var options = me.options;
1579
+ var whiteList = options.whiteList;
1580
+ var onTag = options.onTag;
1581
+ var onIgnoreTag = options.onIgnoreTag;
1582
+ var onTagAttr = options.onTagAttr;
1583
+ var onIgnoreTagAttr = options.onIgnoreTagAttr;
1584
+ var safeAttrValue = options.safeAttrValue;
1585
+ var escapeHtml = options.escapeHtml;
1586
+ var cssFilter = me.cssFilter;
1587
+
1588
+ // remove invisible characters
1589
+ if (options.stripBlankChar) {
1590
+ html = DEFAULT.stripBlankChar(html);
1591
+ }
1592
+
1593
+ // remove html comments
1594
+ if (!options.allowCommentTag) {
1595
+ html = DEFAULT.stripCommentTag(html);
1596
+ }
1597
+
1598
+ // if enable stripIgnoreTagBody
1599
+ var stripIgnoreTagBody = false;
1600
+ if (options.stripIgnoreTagBody) {
1601
+ stripIgnoreTagBody = DEFAULT.StripTagBody(
1602
+ options.stripIgnoreTagBody,
1603
+ onIgnoreTag
1604
+ );
1605
+ onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;
1606
+ }
1607
+
1608
+ var retHtml = parseTag(
1609
+ html,
1610
+ function (sourcePosition, position, tag, html, isClosing) {
1611
+ var info = {
1612
+ sourcePosition: sourcePosition,
1613
+ position: position,
1614
+ isClosing: isClosing,
1615
+ isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag),
1616
+ };
1617
+
1618
+ // call `onTag()`
1619
+ var ret = onTag(tag, html, info);
1620
+ if (!isNull(ret)) return ret;
1621
+
1622
+ if (info.isWhite) {
1623
+ if (info.isClosing) {
1624
+ return "</" + tag + ">";
1625
+ }
1626
+
1627
+ var attrs = getAttrs(html);
1628
+ var whiteAttrList = whiteList[tag];
1629
+ var attrsHtml = parseAttr(attrs.html, function (name, value) {
1630
+ // call `onTagAttr()`
1631
+ var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;
1632
+ var ret = onTagAttr(tag, name, value, isWhiteAttr);
1633
+ if (!isNull(ret)) return ret;
1634
+
1635
+ if (isWhiteAttr) {
1636
+ // call `safeAttrValue()`
1637
+ value = safeAttrValue(tag, name, value, cssFilter);
1638
+ if (value) {
1639
+ return name + '="' + value + '"';
1640
+ } else {
1641
+ return name;
1642
+ }
1643
+ } else {
1644
+ // call `onIgnoreTagAttr()`
1645
+ ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);
1646
+ if (!isNull(ret)) return ret;
1647
+ return;
1648
+ }
98
1649
  });
99
- return {
100
- ...tzItem,
101
- continent,
102
- isRegularContinent: _isRegularContinent(continent),
103
- dates,
104
- };
105
- });
106
- };
107
- const compareDateArrs = (array1, array2, dateEngine) => array1.length === array2.length &&
108
- array1.every((value, index) => dateEngine.same(value, array2[index]));
109
- const getGroupLabelTimeZoneIndices = (rawTZs, max = 5) => {
110
- const shrinkedTzs = rawTZs.filter(({ label }) => _isRegularContinent(_extractContinent(label)));
111
- if (shrinkedTzs.length === 0) {
112
- return [0];
113
- }
114
- const validLabels = shrinkedTzs.map((tz) => rawTZs.indexOf(tz));
115
- return equallyDistributedSampling(validLabels, max);
1650
+
1651
+ // build new tag html
1652
+ html = "<" + tag;
1653
+ if (attrsHtml) html += " " + attrsHtml;
1654
+ if (attrs.closing) html += " /";
1655
+ html += ">";
1656
+ return html;
1657
+ } else {
1658
+ // call `onIgnoreTag()`
1659
+ ret = onIgnoreTag(tag, html, info);
1660
+ if (!isNull(ret)) return ret;
1661
+ return escapeHtml(html);
1662
+ }
1663
+ },
1664
+ escapeHtml
1665
+ );
1666
+
1667
+ // if enable stripIgnoreTagBody
1668
+ if (stripIgnoreTagBody) {
1669
+ retHtml = stripIgnoreTagBody.remove(retHtml);
1670
+ }
1671
+
1672
+ return retHtml;
116
1673
  };
117
- function equallyDistributedSampling(items, maxItems = 5) {
118
- const totalItems = items.length;
119
- if (totalItems <= maxItems) {
120
- return items;
121
- }
122
- const numberItemsToSelect = Math.min(totalItems - 2, maxItems - 2);
123
- const stepSize = (totalItems - 1) / (numberItemsToSelect + 1);
124
- return [
125
- items[0],
126
- ...Array.from({ length: numberItemsToSelect }, (_, i) => items[Math.round((i + 1) * stepSize)]),
127
- items[totalItems - 1],
128
- ];
129
- }
130
-
131
- async function groupTimeZones(options) {
132
- const { debug, groupDateRange, hooks, startDate, dateEngine } = {
133
- ...defaultGroupingOptions,
134
- ...options,
1674
+
1675
+ var xss = FilterXSS;
1676
+
1677
+ /**
1678
+ * xss
1679
+ *
1680
+ * @author Zongmin Lei<leizongmin@gmail.com>
1681
+ */
1682
+
1683
+ (function (module, exports) {
1684
+ var DEFAULT = _default$1;
1685
+ var parser = parser$1;
1686
+ var FilterXSS = xss;
1687
+
1688
+ /**
1689
+ * filter xss function
1690
+ *
1691
+ * @param {String} html
1692
+ * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }
1693
+ * @return {String}
1694
+ */
1695
+ function filterXSS(html, options) {
1696
+ var xss = new FilterXSS(options);
1697
+ return xss.process(html);
1698
+ }
1699
+
1700
+ exports = module.exports = filterXSS;
1701
+ exports.filterXSS = filterXSS;
1702
+ exports.FilterXSS = FilterXSS;
1703
+
1704
+ (function () {
1705
+ for (var i in DEFAULT) {
1706
+ exports[i] = DEFAULT[i];
1707
+ }
1708
+ for (var j in parser) {
1709
+ exports[j] = parser[j];
1710
+ }
1711
+ })();
1712
+
1713
+ // using `xss` on the WebWorker, output `filterXSS` to the globals
1714
+ function isWorkerEnv() {
1715
+ return (
1716
+ typeof self !== "undefined" &&
1717
+ typeof DedicatedWorkerGlobalScope !== "undefined" &&
1718
+ self instanceof DedicatedWorkerGlobalScope
1719
+ );
1720
+ }
1721
+ if (isWorkerEnv()) {
1722
+ self.filterXSS = module.exports;
1723
+ }
1724
+ } (lib$1, lib$1.exports));
1725
+
1726
+ /* Copyright (c) 2020 Environmental Systems Research Institute, Inc.
1727
+ * Apache-2.0
1728
+ *
1729
+ * js-xss
1730
+ * Copyright (c) 2012-2018 Zongmin Lei(雷宗民) <leizongmin@gmail.com>
1731
+ * http://ucdok.com
1732
+ * The MIT License, see
1733
+ * https://github.com/leizongmin/js-xss/blob/master/LICENSE for details
1734
+ * */
1735
+ /**
1736
+ * The Sanitizer Class
1737
+ *
1738
+ * @export
1739
+ * @class Sanitizer
1740
+ */
1741
+ var Sanitizer = /** @class */ (function () {
1742
+ function Sanitizer(filterOptions, extendDefaults) {
1743
+ var _this = this;
1744
+ // Supported HTML Spec: https://doc.arcgis.com/en/arcgis-online/reference/supported-html.htm
1745
+ this.arcgisWhiteList = {
1746
+ a: ["href", "style", "target"],
1747
+ abbr: ["title"],
1748
+ audio: ["autoplay", "controls", "loop", "muted", "preload"],
1749
+ b: [],
1750
+ br: [],
1751
+ dd: ["style"],
1752
+ div: ["align", "style"],
1753
+ dl: ["style"],
1754
+ dt: ["style"],
1755
+ em: [],
1756
+ figcaption: ["style"],
1757
+ figure: ["style"],
1758
+ font: ["color", "face", "size", "style"],
1759
+ h1: ["style"],
1760
+ h2: ["style"],
1761
+ h3: ["style"],
1762
+ h4: ["style"],
1763
+ h5: ["style"],
1764
+ h6: ["style"],
1765
+ hr: [],
1766
+ i: [],
1767
+ img: ["alt", "border", "height", "src", "style", "width"],
1768
+ li: [],
1769
+ ol: [],
1770
+ p: ["style"],
1771
+ source: ["media", "src", "type"],
1772
+ span: ["style"],
1773
+ strong: [],
1774
+ sub: ["style"],
1775
+ sup: ["style"],
1776
+ table: ["border", "cellpadding", "cellspacing", "height", "style", "width"],
1777
+ tbody: [],
1778
+ tr: ["align", "height", "style", "valign"],
1779
+ td: [
1780
+ "align",
1781
+ "colspan",
1782
+ "height",
1783
+ "nowrap",
1784
+ "rowspan",
1785
+ "style",
1786
+ "valign",
1787
+ "width",
1788
+ ],
1789
+ th: [
1790
+ "align",
1791
+ "colspan",
1792
+ "height",
1793
+ "nowrap",
1794
+ "rowspan",
1795
+ "style",
1796
+ "valign",
1797
+ "width",
1798
+ ],
1799
+ u: [],
1800
+ ul: [],
1801
+ video: [
1802
+ "autoplay",
1803
+ "controls",
1804
+ "height",
1805
+ "loop",
1806
+ "muted",
1807
+ "poster",
1808
+ "preload",
1809
+ "width",
1810
+ ],
1811
+ };
1812
+ this.allowedProtocols = [
1813
+ "http",
1814
+ "https",
1815
+ "mailto",
1816
+ "iform",
1817
+ "tel",
1818
+ "flow",
1819
+ "lfmobile",
1820
+ "arcgis-navigator",
1821
+ "arcgis-appstudio-player",
1822
+ "arcgis-survey123",
1823
+ "arcgis-collector",
1824
+ "arcgis-workforce",
1825
+ "arcgis-explorer",
1826
+ "arcgis-trek2there",
1827
+ "arcgis-quickcapture",
1828
+ "mspbi",
1829
+ "comgooglemaps",
1830
+ "pdfefile",
1831
+ "pdfehttp",
1832
+ "pdfehttps",
1833
+ "boxapp",
1834
+ "boxemm",
1835
+ "awb",
1836
+ "awbs",
1837
+ "gropen",
1838
+ "radarscope",
1839
+ ];
1840
+ this.arcgisFilterOptions = {
1841
+ allowCommentTag: true,
1842
+ safeAttrValue: function (tag, name, value, cssFilter) {
1843
+ // Take over safe attribute filtering for `a` `href`, `img` `src`,
1844
+ // and `source` `src` attributes, otherwise pass onto the
1845
+ // default `XSS.safeAttrValue` method.
1846
+ if ((tag === "a" && name === "href") ||
1847
+ ((tag === "img" || tag === "source") && name === "src")) {
1848
+ return _this.sanitizeUrl(value);
1849
+ }
1850
+ return lib$1.exports.safeAttrValue(tag, name, value, cssFilter);
1851
+ },
1852
+ };
1853
+ this._entityMap = {
1854
+ "&": "&#x38;",
1855
+ "<": "&#x3C;",
1856
+ ">": "&#x3E;",
1857
+ '"': "&#x22;",
1858
+ "'": "&#x27;",
1859
+ "/": "&#x2F;",
1860
+ };
1861
+ var xssFilterOptions;
1862
+ if (filterOptions && !extendDefaults) {
1863
+ // Override the defaults
1864
+ xssFilterOptions = filterOptions;
1865
+ }
1866
+ else if (filterOptions && extendDefaults) {
1867
+ // Extend the defaults
1868
+ xssFilterOptions = Object.create(this.arcgisFilterOptions);
1869
+ Object.keys(filterOptions).forEach(function (key) {
1870
+ if (key === "whiteList") {
1871
+ // Extend the whitelist by concatenating arrays
1872
+ xssFilterOptions.whiteList = _this._extendObjectOfArrays([
1873
+ _this.arcgisWhiteList,
1874
+ filterOptions.whiteList || {},
1875
+ ]);
1876
+ }
1877
+ else {
1878
+ xssFilterOptions[key] = filterOptions[key];
1879
+ }
1880
+ });
1881
+ }
1882
+ else {
1883
+ // Only use the defaults
1884
+ xssFilterOptions = Object.create(this.arcgisFilterOptions);
1885
+ xssFilterOptions.whiteList = this.arcgisWhiteList;
1886
+ }
1887
+ this.xssFilterOptions = xssFilterOptions;
1888
+ // Make this readable to tests
1889
+ this._xssFilter = new lib$1.exports.FilterXSS(xssFilterOptions);
1890
+ }
1891
+ /**
1892
+ * Sanitizes value to remove invalid HTML tags.
1893
+ *
1894
+ * Note: If the value passed does not contain a valid JSON data type (String,
1895
+ * Number, JSON Object, Array, Boolean, or null), the value will be nullified.
1896
+ *
1897
+ * @param {any} value The value to sanitize.
1898
+ * @returns {any} The sanitized value.
1899
+ * @memberof Sanitizer
1900
+ */
1901
+ Sanitizer.prototype.sanitize = function (value, options) {
1902
+ if (options === void 0) { options = {}; }
1903
+ switch (typeof value) {
1904
+ case "number":
1905
+ if (isNaN(value) || !isFinite(value)) {
1906
+ return null;
1907
+ }
1908
+ return value;
1909
+ case "boolean":
1910
+ return value;
1911
+ case "string":
1912
+ return this._xssFilter.process(value);
1913
+ case "object":
1914
+ return this._iterateOverObject(value, options);
1915
+ default:
1916
+ if (options.allowUndefined && typeof value === "undefined") {
1917
+ return;
1918
+ }
1919
+ return null;
1920
+ }
1921
+ };
1922
+ /**
1923
+ * Sanitizes a URL string following the allowed protocols and sanitization rules.
1924
+ *
1925
+ * @param {string} value The URL to sanitize.
1926
+ * @param {{ isProtocolRequired: boolean }} options Configuration options for URL checking.
1927
+ * @returns {string} The sanitized URL if it's valid, or an empty string if the URL is invalid.
1928
+ */
1929
+ Sanitizer.prototype.sanitizeUrl = function (value, options) {
1930
+ var _a = (options !== null && options !== void 0 ? options : {}).isProtocolRequired, isProtocolRequired = _a === void 0 ? true : _a;
1931
+ var protocol = this._trim(value.substring(0, value.indexOf(":")));
1932
+ var isRootUrl = value === '/';
1933
+ var isUrlFragment = /^#/.test(value);
1934
+ var isValidProtocol = protocol && this.allowedProtocols.indexOf(protocol.toLowerCase()) > -1;
1935
+ if (isRootUrl || isUrlFragment || isValidProtocol) {
1936
+ return lib$1.exports.escapeAttrValue(value);
1937
+ }
1938
+ if (!protocol && !isProtocolRequired) {
1939
+ return lib$1.exports.escapeAttrValue("https://".concat(value));
1940
+ }
1941
+ return "";
135
1942
  };
136
- const grouping = [];
137
- if (!dateEngine) {
138
- throw new Error('dateEngine is required');
139
- }
140
- const timeZoneItems = supportedTimeZones.map((tz) => ({ label: tz }));
141
- hooks?.onBeforeTimeZoneMetadataCreate?.(timeZoneItems);
142
- const timeZoneMetadata = generateTimeZoneMetadata(timeZoneItems, startDate, groupDateRange, dateEngine, debug);
143
- hooks?.onTimeZoneMetadataCreate?.(timeZoneMetadata);
144
- // We traverse the mappedDB and see if we find matches by comparing each set
145
- // of transformed date for that specific TZ.
146
- for (const tzMetadatumI of timeZoneMetadata) {
147
- const { label, continent, dates } = tzMetadatumI;
148
- // ignore if we visited this element already
149
- if (tzMetadatumI.visited) {
150
- continue;
151
- }
152
- // Mark element as already visited
153
- tzMetadatumI.visited = true;
154
- // The grouped timezone that we want as a result
155
- const newGroup = {
156
- labelTzIndices: undefined,
157
- tzs: [{ label }],
1943
+ /**
1944
+ * Sanitizes an HTML attribute value.
1945
+ *
1946
+ * @param {string} tag The tagname of the HTML element.
1947
+ * @param {string} attribute The attribute name of the HTML element.
1948
+ * @param {string} value The raw value to be used for the HTML attribute value.
1949
+ * @param {XSS.ICSSFilter} [cssFilter] The CSS filter to be used.
1950
+ * @returns {string} The sanitized attribute value.
1951
+ * @memberof Sanitizer
1952
+ */
1953
+ Sanitizer.prototype.sanitizeHTMLAttribute = function (tag, attribute, value, cssFilter) {
1954
+ // use the custom safeAttrValue function if provided
1955
+ if (typeof this.xssFilterOptions.safeAttrValue === "function") {
1956
+ return this.xssFilterOptions.safeAttrValue(tag, attribute, value,
1957
+ // @ts-expect-error safeAttrValue does handle undefined cssFilter
1958
+ cssFilter);
1959
+ }
1960
+ // otherwise use the default
1961
+ // @ts-ignore safeAttrValue does handle undefined cssFilter
1962
+ return lib$1.exports.safeAttrValue(tag, attribute, value, cssFilter);
1963
+ };
1964
+ /**
1965
+ * Checks if a value only contains valid HTML.
1966
+ *
1967
+ * @param {any} value The value to validate.
1968
+ * @returns {boolean}
1969
+ * @memberof Sanitizer
1970
+ */
1971
+ Sanitizer.prototype.validate = function (value, options) {
1972
+ if (options === void 0) { options = {}; }
1973
+ var sanitized = this.sanitize(value, options);
1974
+ return {
1975
+ isValid: value === sanitized,
1976
+ sanitized: sanitized,
158
1977
  };
159
- hooks?.onGroupCreate?.(newGroup, tzMetadatumI);
160
- for (const tzMetadatumJ of timeZoneMetadata.filter((_) => !_.visited)) {
161
- const { label: labelJ, continent: continentJ, isRegularContinent: isRegularContinentJ, dates: datesJ, } = tzMetadatumJ;
162
- // We define a matching TZ by:
163
- // 1) if both continents match (avoid grouping Antarctica with anything else)
164
- // 2) if the transformed dates match in both TZs
165
- if ((continent === continentJ || !isRegularContinentJ) &&
166
- compareDateArrs(dates, datesJ, dateEngine)) {
167
- const tzItem = { label: labelJ };
168
- newGroup.tzs.push(tzItem);
169
- hooks?.onGroupTimeZoneAdd?.(newGroup, tzItem, tzMetadatumJ);
170
- // Mark element as already visited
171
- tzMetadatumJ.visited = true;
1978
+ };
1979
+ /**
1980
+ * Encodes the following characters, `& < > \" ' /` to their hexadecimal HTML entity code.
1981
+ * Example: "&middot;" => "&#x38;middot;"
1982
+ *
1983
+ * @param {string} value The value to encode.
1984
+ * @returns {string} The encoded string value.
1985
+ * @memberof Sanitizer
1986
+ */
1987
+ Sanitizer.prototype.encodeHTML = function (value) {
1988
+ var _this = this;
1989
+ return String(value).replace(/[&<>"'\/]/g, function (s) {
1990
+ return _this._entityMap[s];
1991
+ });
1992
+ };
1993
+ /**
1994
+ * Encodes all non-alphanumeric ASCII characters to their hexadecimal HTML entity codes.
1995
+ * Example: "alert(document.cookie)" => "alert&#x28;document&#x2e;cookie&#x29;"
1996
+ *
1997
+ * @param {string} value The value to encode.
1998
+ * @returns {string} The encoded string value.
1999
+ * @memberof Sanitizer
2000
+ */
2001
+ Sanitizer.prototype.encodeAttrValue = function (value) {
2002
+ var alphanumericRE = /^[a-zA-Z0-9]$/;
2003
+ return String(value).replace(/[\x00-\xFF]/g, function (c, idx) {
2004
+ return !alphanumericRE.test(c)
2005
+ ? "&#x".concat(Number(value.charCodeAt(idx)).toString(16), ";")
2006
+ : c;
2007
+ });
2008
+ };
2009
+ /**
2010
+ * Extends an object of arrays by by concatenating arrays of the same object
2011
+ * keys. If the if the previous key's value is not an array, the next key's
2012
+ * value will replace the previous key. This method is used for extending the
2013
+ * whiteList in the XSS filter options.
2014
+ *
2015
+ * @private
2016
+ * @param {Array<{}>} objects An array of objects.
2017
+ * @returns {{}} The extended object.
2018
+ * @memberof Sanitizer
2019
+ */
2020
+ Sanitizer.prototype._extendObjectOfArrays = function (objects) {
2021
+ var finalObj = {};
2022
+ objects.forEach(function (obj) {
2023
+ Object.keys(obj).forEach(function (key) {
2024
+ if (Array.isArray(obj[key]) && Array.isArray(finalObj[key])) {
2025
+ finalObj[key] = finalObj[key].concat(obj[key]);
2026
+ }
2027
+ else {
2028
+ finalObj[key] = obj[key];
2029
+ }
2030
+ });
2031
+ });
2032
+ return finalObj;
2033
+ };
2034
+ /**
2035
+ * Iterate over a plain object or array to deeply sanitize each value.
2036
+ *
2037
+ * @private
2038
+ * @param {object} obj The object to iterate over.
2039
+ * @returns {(object | null)} The sanitized object.
2040
+ * @memberof Sanitizer
2041
+ */
2042
+ Sanitizer.prototype._iterateOverObject = function (obj, options) {
2043
+ var _this = this;
2044
+ if (options === void 0) { options = {}; }
2045
+ try {
2046
+ var hasChanged_1 = false;
2047
+ var changedObj = void 0;
2048
+ if (Array.isArray(obj)) {
2049
+ changedObj = obj.reduce(function (prev, value) {
2050
+ var validation = _this.validate(value, options);
2051
+ if (validation.isValid) {
2052
+ return prev.concat([value]);
2053
+ }
2054
+ else {
2055
+ hasChanged_1 = true;
2056
+ return prev.concat([validation.sanitized]);
2057
+ }
2058
+ }, []);
2059
+ }
2060
+ else if (!isPlainObject(obj)) {
2061
+ if (options.allowUndefined && typeof obj === "undefined") {
2062
+ return;
2063
+ }
2064
+ return null;
2065
+ }
2066
+ else {
2067
+ var keys = Object.keys(obj);
2068
+ changedObj = keys.reduce(function (prev, key) {
2069
+ var value = obj[key];
2070
+ var validation = _this.validate(value, options);
2071
+ if (validation.isValid) {
2072
+ prev[key] = value;
2073
+ }
2074
+ else {
2075
+ hasChanged_1 = true;
2076
+ prev[key] = validation.sanitized;
2077
+ }
2078
+ return prev;
2079
+ }, {});
172
2080
  }
2081
+ if (hasChanged_1) {
2082
+ return changedObj;
2083
+ }
2084
+ return obj;
173
2085
  }
174
- grouping.push(newGroup);
175
- hooks?.onGroupAdd?.(newGroup);
176
- }
177
- // Now that we have a group, we want an easy way to find a fitting label for the group
178
- // which is defined as the list of the most-common 7 cities, shown in alphabetical order
179
- const finalGrouping = grouping
180
- .map((group) => {
181
- hooks?.onBeforeFinalGroupCreate?.(group);
182
- group.tzs = group.tzs.sort((a, b) => a.label.localeCompare(b.label));
183
- const finalGrouping = {
184
- labelTzIndices: getGroupLabelTimeZoneIndices(group.tzs, 7),
185
- tzs: group.tzs.map((_) => _.label),
186
- };
187
- hooks?.onFinalGroupCreate?.(finalGrouping, group);
188
- return finalGrouping;
189
- })
190
- .sort((a, b) => b.tzs.length - a.tzs.length);
191
- if (debug) {
192
- const missingTzs = supportedTimeZones
193
- .map((tz) => (finalGrouping.some((y) => y.tzs.includes(tz)) ? null : tz))
194
- .filter(Boolean);
195
- if (missingTzs.length > 0) {
196
- throw new Error(`There are ${missingTzs.length} missing timezones: ${missingTzs.toString()}`);
2086
+ catch (err) {
2087
+ return null;
197
2088
  }
198
- }
199
- return hooks?.onFinalGroupingCreate
200
- ? hooks.onFinalGroupingCreate(finalGrouping)
201
- : finalGrouping;
202
- }
2089
+ };
2090
+ /**
2091
+ * Trim whitespace from the start and ends of a string.
2092
+ * @param {string} val The string to trim.
2093
+ * @returns {string} The trimmed string.
2094
+ */
2095
+ Sanitizer.prototype._trim = function (val) {
2096
+ // @ts-ignore This is used by Jest,
2097
+ // but TypeScript errors since it assumes `trim` is always available.
2098
+ return String.prototype.trim
2099
+ ? val.trim()
2100
+ : val.replace(/(^\s*)|(\s*$)/g, "");
2101
+ };
2102
+ return Sanitizer;
2103
+ }());
203
2104
 
204
- export { groupTimeZones };
2105
+ export { Sanitizer as S };