@esri/solutions-components 0.6.6 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ExpandToggle-e6a0d66e.js → ExpandToggle-70890ae0.js} +4 -4
- package/dist/cjs/{FloatingArrow-0119ec6e.js → FloatingArrow-4ca06439.js} +1 -1
- package/dist/cjs/{Heading-521f39ac.js → Heading-c5c71fc5.js} +1 -1
- package/dist/cjs/{app-globals-72576a1c.js → app-globals-a34c0991.js} +20 -25
- package/dist/cjs/{ar-1718ae57.js → ar-fa16156d.js} +15 -15
- package/dist/cjs/{bg-190a176c.js → bg-b39e773e.js} +15 -15
- package/dist/cjs/{bs-919e0de8.js → bs-4579ea2a.js} +15 -15
- package/dist/cjs/buffer-tools_4.cjs.entry.js +1437 -1437
- package/dist/cjs/{ca-94918e06.js → ca-f3f64686.js} +15 -15
- package/dist/cjs/calcite-accordion-item.cjs.entry.js +140 -140
- package/dist/cjs/calcite-accordion.cjs.entry.js +75 -75
- package/dist/cjs/calcite-action-bar.cjs.entry.js +216 -216
- package/dist/cjs/calcite-action-group_2.cjs.entry.js +365 -365
- package/dist/cjs/calcite-action-pad.cjs.entry.js +135 -135
- package/dist/cjs/calcite-action_2.cjs.entry.js +445 -445
- package/dist/cjs/calcite-alert.cjs.entry.js +247 -247
- package/dist/cjs/calcite-avatar.cjs.entry.js +73 -73
- package/dist/cjs/calcite-block-section.cjs.entry.js +122 -122
- package/dist/cjs/calcite-block.cjs.entry.js +131 -131
- package/dist/cjs/calcite-button.cjs.entry.js +182 -182
- package/dist/cjs/calcite-card.cjs.entry.js +99 -99
- package/dist/cjs/calcite-checkbox.cjs.entry.js +125 -125
- package/dist/cjs/calcite-chip-group.cjs.entry.js +164 -164
- package/dist/cjs/calcite-chip.cjs.entry.js +213 -213
- package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +303 -303
- package/dist/cjs/calcite-color-picker.cjs.entry.js +886 -886
- package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +35 -35
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +1786 -1786
- package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +589 -589
- package/dist/cjs/calcite-date-picker.cjs.entry.js +434 -434
- package/dist/cjs/calcite-fab.cjs.entry.js +66 -66
- package/dist/cjs/calcite-filter_5.cjs.entry.js +1131 -1131
- package/dist/cjs/calcite-flow-item.cjs.entry.js +146 -146
- package/dist/cjs/calcite-flow.cjs.entry.js +117 -117
- package/dist/cjs/calcite-graph.cjs.entry.js +66 -66
- package/dist/cjs/calcite-icon.cjs.entry.js +80 -80
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +225 -225
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +632 -632
- package/dist/cjs/calcite-input-number_2.cjs.entry.js +846 -846
- package/dist/cjs/{calcite-input-time-picker-b99baf7b.js → calcite-input-time-picker-6f38ef8c.js} +534 -534
- package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -15
- package/dist/cjs/calcite-input-time-zone.cjs.entry.js +150 -150
- package/dist/cjs/calcite-input_2.cjs.entry.js +645 -645
- package/dist/cjs/calcite-label.cjs.entry.js +40 -40
- package/dist/cjs/calcite-link.cjs.entry.js +96 -96
- package/dist/cjs/calcite-list-item-group.cjs.entry.js +46 -46
- package/dist/cjs/calcite-loader.cjs.entry.js +65 -65
- package/dist/cjs/calcite-menu-item.cjs.entry.js +246 -246
- package/dist/cjs/calcite-menu.cjs.entry.js +161 -161
- package/dist/cjs/calcite-modal.cjs.entry.js +282 -282
- package/dist/cjs/calcite-navigation-logo.cjs.entry.js +52 -52
- package/dist/cjs/calcite-navigation-user.cjs.entry.js +45 -45
- package/dist/cjs/calcite-navigation.cjs.entry.js +126 -126
- package/dist/cjs/calcite-notice.cjs.entry.js +105 -105
- package/dist/cjs/calcite-option-group.cjs.entry.js +24 -24
- package/dist/cjs/calcite-option_2.cjs.entry.js +271 -271
- package/dist/cjs/calcite-pagination.cjs.entry.js +191 -191
- package/dist/cjs/calcite-panel_2.cjs.entry.js +346 -346
- package/dist/cjs/calcite-pick-list-group.cjs.entry.js +46 -46
- package/dist/cjs/calcite-pick-list-item.cjs.entry.js +181 -181
- package/dist/cjs/calcite-pick-list.cjs.entry.js +130 -130
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +118 -118
- package/dist/cjs/calcite-radio-button.cjs.entry.js +292 -292
- package/dist/cjs/calcite-rating.cjs.entry.js +245 -245
- package/dist/cjs/calcite-scrim.cjs.entry.js +93 -93
- package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +225 -225
- package/dist/cjs/calcite-shell-center-row.cjs.entry.js +42 -42
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2604 -2604
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +134 -134
- package/dist/cjs/calcite-split-button.cjs.entry.js +92 -92
- package/dist/cjs/calcite-stepper-item.cjs.entry.js +197 -197
- package/dist/cjs/calcite-stepper.cjs.entry.js +187 -187
- package/dist/cjs/calcite-switch.cjs.entry.js +100 -100
- package/dist/cjs/calcite-text-area.cjs.entry.js +235 -235
- package/dist/cjs/calcite-tile-select-group.cjs.entry.js +27 -27
- package/dist/cjs/calcite-tile-select.cjs.entry.js +180 -180
- package/dist/cjs/calcite-tile.cjs.entry.js +58 -58
- package/dist/cjs/calcite-time-picker.cjs.entry.js +619 -619
- package/dist/cjs/calcite-tip-group.cjs.entry.js +10 -10
- package/dist/cjs/calcite-tip-manager.cjs.entry.js +185 -185
- package/dist/cjs/calcite-tip.cjs.entry.js +94 -94
- package/dist/cjs/calcite-tooltip.cjs.entry.js +185 -185
- package/dist/cjs/calcite-tree_3.cjs.entry.js +821 -821
- package/dist/cjs/card-manager_4.cjs.entry.js +652 -652
- package/dist/cjs/{conditionalSlot-85b3a6b3.js → conditionalSlot-a51326e7.js} +2 -2
- package/dist/cjs/crowdsource-manager.cjs.entry.js +256 -256
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +60 -60
- package/dist/cjs/{cs-fe27e732.js → cs-1bcd5b46.js} +15 -15
- package/dist/cjs/{da-1b7f3440.js → da-30ee21db.js} +15 -15
- package/dist/cjs/{date-cec32b0e.js → date-f6611a19.js} +1 -1
- package/dist/cjs/{de-0dc1effa.js → de-42aae5ad.js} +15 -15
- package/dist/cjs/{de-at-acdc4d01.js → de-at-a3a6f020.js} +15 -15
- package/dist/cjs/{de-ch-778a0d99.js → de-ch-36c13310.js} +15 -15
- package/dist/cjs/deduct-calculator.cjs.entry.js +90 -90
- package/dist/cjs/{dom-c1807fc1.js → dom-d529bae8.js} +2 -2
- package/dist/cjs/{downloadUtils-a8c530f7.js → downloadUtils-6eb59363.js} +660 -660
- package/dist/cjs/edit-card_2.cjs.entry.js +345 -345
- package/dist/cjs/{el-fdbc9bc1.js → el-90d066ae.js} +15 -15
- package/dist/cjs/{en-au-0ff50cdf.js → en-au-685b882b.js} +15 -15
- package/dist/cjs/{en-ca-284e9368.js → en-ca-ff4bc403.js} +15 -15
- package/dist/cjs/{en-gb-0fcae8ae.js → en-gb-2f5587ad.js} +15 -15
- package/dist/cjs/{es-cd54acba.js → es-e9183ca0.js} +15 -15
- package/dist/cjs/{es-mx-2078d50f.js → es-mx-dcc9afb2.js} +15 -15
- package/dist/cjs/{et-17f323f6.js → et-a18949ea.js} +15 -15
- package/dist/cjs/{fi-82f27397.js → fi-1ce00d38.js} +15 -15
- package/dist/cjs/{filter-bda212b4.js → filter-494bf35e.js} +1 -1
- package/dist/cjs/{floating-ui-8d10af88.js → floating-ui-7d6e57d3.js} +2 -2
- package/dist/cjs/{focusTrapComponent-a22fc6a8.js → focusTrapComponent-0c4d7671.js} +1 -1
- package/dist/cjs/{form-9d8ebf06.js → form-bcf49eae.js} +2 -2
- package/dist/cjs/{fr-af7e1192.js → fr-a9435a19.js} +15 -15
- package/dist/cjs/{fr-ch-5e1f2c28.js → fr-ch-51efa9bf.js} +15 -15
- package/dist/cjs/{he-ea851800.js → he-c5dccfa2.js} +15 -15
- package/dist/cjs/{hi-5212a21d.js → hi-0898e7f2.js} +15 -15
- package/dist/cjs/{hr-4eecb2ed.js → hr-68f7d8da.js} +15 -15
- package/dist/cjs/{hu-6b527d8e.js → hu-e494037d.js} +15 -15
- package/dist/cjs/{id-d78f12ec.js → id-bef40c1c.js} +15 -15
- package/dist/cjs/{index-0e50040c.js → index-6654298b.js} +38 -180
- package/dist/cjs/{index-2b60e135.js → index-e1b1954f.js} +1 -1
- package/dist/cjs/{index.es-4542630e.js → index.es-d9b5d3a5.js} +6 -6
- package/dist/cjs/{interfaces-d539e30c.js → interfaces-ad03ec39.js} +77 -77
- package/dist/cjs/{it-15242935.js → it-1144ca67.js} +15 -15
- package/dist/cjs/{it-ch-9dc21944.js → it-ch-2c14dca7.js} +15 -15
- package/dist/cjs/{ja-f702cfc2.js → ja-caad9809.js} +15 -15
- package/dist/cjs/{ko-aa9bde2c.js → ko-ddec9054.js} +15 -15
- package/dist/cjs/{label-6e33e971.js → label-215c4af3.js} +1 -1
- package/dist/cjs/list-item.cjs.entry.js +60 -60
- package/dist/cjs/{loadModules-31cab7ac.js → loadModules-ae7715f2.js} +19 -19
- package/dist/cjs/{loadable-bac9cdd6.js → loadable-6da743c6.js} +1 -1
- package/dist/cjs/loader.cjs.js +13 -4
- package/dist/cjs/{locale-c63a1b57.js → locale-477d8d51.js} +3 -3
- package/dist/cjs/{locale-d15cd743.js → locale-b113c6b2.js} +107 -107
- package/dist/cjs/{lt-e741ff2f.js → lt-205a1aa6.js} +15 -15
- package/dist/cjs/{lv-92d6768e.js → lv-3ba82f9b.js} +15 -15
- package/dist/cjs/map-picker_2.cjs.entry.js +243 -243
- package/dist/cjs/map-select-tools_3.cjs.entry.js +1285 -1285
- package/dist/cjs/{mapViewUtils-9da2dddd.js → mapViewUtils-77a1ff88.js} +384 -384
- package/dist/cjs/{mk-b209ac0d.js → mk-069ea86a.js} +15 -15
- package/dist/cjs/{nb-db13e666.js → nb-9e9c934f.js} +15 -15
- package/dist/cjs/{nl-fcd9e0c5.js → nl-5dd0116f.js} +15 -15
- package/dist/cjs/{openCloseComponent-5d70fcd8.js → openCloseComponent-3fa18210.js} +1 -1
- package/dist/cjs/pci-calculator.cjs.entry.js +102 -102
- package/dist/cjs/{pciUtils-e0ddeb7c.js → pciUtils-423cfc68.js} +836 -836
- package/dist/cjs/{pl-87c83322.js → pl-74e70b37.js} +15 -15
- package/dist/cjs/{pt-br-03333e90.js → pt-br-0f76e430.js} +15 -15
- package/dist/cjs/{pt-b0b5f472.js → pt-cc737fcc.js} +15 -15
- package/dist/cjs/public-notification.cjs.entry.js +844 -844
- package/dist/cjs/{publicNotificationStore-55edd658.js → publicNotificationStore-ec1bdd2d.js} +40 -40
- package/dist/cjs/{ro-c3661b73.js → ro-5e396753.js} +15 -15
- package/dist/cjs/{ru-8dd3fd58.js → ru-f7371aca.js} +15 -15
- package/dist/cjs/{shared-list-render-c0adb192.js → shared-list-render-76c5dc25.js} +6 -6
- package/dist/cjs/{sk-151d9acf.js → sk-ec02498f.js} +15 -15
- package/dist/cjs/{sl-9b45a152.js → sl-8363f4d7.js} +15 -15
- package/dist/cjs/solution-configuration.cjs.entry.js +888 -888
- package/dist/cjs/solution-contents_3.cjs.entry.js +21506 -21506
- package/dist/cjs/{solution-store-0004e4e6.js → solution-store-bd956f06.js} +577 -577
- package/dist/cjs/solutions-components.cjs.js +4 -4
- package/dist/cjs/{sortableComponent-58679f07.js → sortableComponent-8135ea87.js} +1 -1
- package/dist/cjs/{sr-186bf15c.js → sr-b0f92cb1.js} +15 -15
- package/dist/cjs/store-manager.cjs.entry.js +52 -52
- package/dist/cjs/{sv-a93fee0c.js → sv-e2c27fff.js} +15 -15
- package/dist/cjs/{t9n-1d032c30.js → t9n-8be30efb.js} +2 -2
- package/dist/cjs/{th-41680352.js → th-8a6dc2cc.js} +15 -15
- package/dist/cjs/{throttle-aeeb1b4d.js → throttle-8ee74c77.js} +1 -1
- package/dist/cjs/{time-5e450ec8.js → time-9004df7e.js} +1 -1
- package/dist/cjs/{tr-0bd886d6.js → tr-09137435.js} +15 -15
- package/dist/cjs/{uk-4fade133.js → uk-c30401f4.js} +15 -15
- package/dist/cjs/{utils-ae9bdd59.js → utils-ed4e5028.js} +1 -1
- package/dist/cjs/{utils-acfeed9d.js → utils-fb81c6b3.js} +3 -3
- package/dist/cjs/{vi-1c9fe343.js → vi-e069c9e4.js} +15 -15
- package/dist/cjs/{zh-cn-28fa1fe1.js → zh-cn-50f223a8.js} +15 -15
- package/dist/cjs/{zh-hk-5abf8eb5.js → zh-hk-5498073d.js} +15 -15
- package/dist/cjs/{zh-tw-07500357.js → zh-tw-dfdb0ae8.js} +15 -15
- package/dist/collection/collection-manifest.json +35 -35
- package/dist/collection/components/buffer-tools/buffer-tools.js +476 -481
- package/dist/collection/components/card-manager/card-manager.js +197 -199
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +406 -407
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +89 -89
- package/dist/collection/components/deduct-calculator/deduct-calculator.js +143 -143
- package/dist/collection/components/edit-card/edit-card.js +300 -302
- package/dist/collection/components/info-card/info-card.js +357 -361
- package/dist/collection/components/json-editor/json-editor.js +614 -618
- package/dist/collection/components/layer-table/layer-table.js +548 -551
- package/dist/collection/components/layout-manager/layout-manager.js +135 -136
- package/dist/collection/components/list-item/list-item.js +89 -89
- package/dist/collection/components/map-card/map-card.js +203 -206
- package/dist/collection/components/map-draw-tools/map-draw-tools.js +683 -692
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +423 -424
- package/dist/collection/components/map-picker/map-picker.js +224 -226
- package/dist/collection/components/map-select-tools/map-select-tools.js +1229 -1242
- package/dist/collection/components/map-tools/map-tools.js +210 -212
- package/dist/collection/components/pci-calculator/pci-calculator.js +143 -143
- package/dist/collection/components/pdf-download/pdf-download.js +333 -338
- package/dist/collection/components/public-notification/public-notification.js +1287 -1295
- package/dist/collection/components/refine-selection/refine-selection.js +601 -608
- package/dist/collection/components/solution-configuration/solution-configuration.js +735 -739
- package/dist/collection/components/solution-contents/solution-contents.js +162 -163
- package/dist/collection/components/solution-item/solution-item.js +202 -203
- package/dist/collection/components/solution-item-details/solution-item-details.js +248 -248
- package/dist/collection/components/solution-item-icon/solution-item-icon.js +398 -398
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +199 -200
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +156 -156
- package/dist/collection/components/solution-resource-item/solution-resource-item.js +347 -348
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +510 -515
- package/dist/collection/components/solution-spatial-ref/spatialreferences.js +21046 -21046
- package/dist/collection/components/solution-template-data/solution-template-data.js +230 -230
- package/dist/collection/components/solution-variables/solution-variables.js +168 -168
- package/dist/collection/components/store-manager/store-manager.js +127 -128
- package/dist/collection/index.js +1 -1
- package/dist/collection/utils/common.js +296 -296
- package/dist/collection/utils/csvDownload.js +41 -41
- package/dist/collection/utils/csvUtils.js +37 -37
- package/dist/collection/utils/downloadUtils.js +530 -530
- package/dist/collection/utils/interfaces.js +83 -83
- package/dist/collection/utils/languageUtil.js +90 -90
- package/dist/collection/utils/loadModules.js +25 -25
- package/dist/collection/utils/locale.js +61 -61
- package/dist/collection/utils/mapViewUtils.js +240 -240
- package/dist/collection/utils/pciUtils.js +842 -842
- package/dist/collection/utils/pdfUtils.js +87 -87
- package/dist/collection/utils/publicNotificationStore.js +47 -47
- package/dist/collection/utils/queryUtils.js +200 -200
- package/dist/collection/utils/solution-store.js +584 -584
- package/dist/collection/utils/templates.js +346 -346
- package/dist/collection/utils/test/mocks/jsApi.js +79 -79
- package/dist/collection/utils/test/testUtils.js +123 -123
- package/dist/collection/utils/types.js +1 -1
- package/dist/components/ExpandToggle.js +1 -1
- package/dist/components/action-bar.js +263 -262
- package/dist/components/action-group.js +145 -144
- package/dist/components/action-menu.js +311 -310
- package/dist/components/action.js +186 -185
- package/dist/components/alert.js +287 -286
- package/dist/components/avatar.js +100 -99
- package/dist/components/buffer-tools2.js +264 -263
- package/dist/components/button.js +226 -225
- package/dist/components/calcite-accordion-item.js +168 -168
- package/dist/components/calcite-accordion.js +96 -95
- package/dist/components/calcite-action-pad.js +181 -180
- package/dist/components/calcite-block-section.js +151 -150
- package/dist/components/calcite-block.js +187 -186
- package/dist/components/calcite-card.js +133 -132
- package/dist/components/calcite-chip-group.js +182 -181
- package/dist/components/calcite-color-picker.js +980 -979
- package/dist/components/calcite-combobox-item-group.js +53 -52
- package/dist/components/calcite-fab.js +105 -104
- package/dist/components/calcite-filter.js +1 -1
- package/dist/components/calcite-flow-item.js +205 -204
- package/dist/components/calcite-flow.js +137 -136
- package/dist/components/calcite-inline-editable.js +260 -259
- package/dist/components/calcite-input-date-picker.js +704 -703
- package/dist/components/calcite-input-time-picker.js +596 -595
- package/dist/components/calcite-input-time-zone.js +190 -189
- package/dist/components/calcite-label.js +1 -1
- package/dist/components/calcite-list-item-group.js +65 -64
- package/dist/components/calcite-menu-item.js +297 -297
- package/dist/components/calcite-modal.js +329 -328
- package/dist/components/calcite-navigation-logo.js +77 -76
- package/dist/components/calcite-navigation-user.js +79 -78
- package/dist/components/calcite-navigation.js +167 -166
- package/dist/components/calcite-option-group.js +43 -42
- package/dist/components/calcite-pagination.js +218 -217
- package/dist/components/calcite-pick-list-group.js +60 -59
- package/dist/components/calcite-pick-list.js +151 -150
- package/dist/components/calcite-radio-button-group.js +142 -141
- package/dist/components/calcite-radio-button.js +317 -316
- package/dist/components/calcite-rating.js +280 -279
- package/dist/components/calcite-shell-center-row.js +58 -57
- package/dist/components/calcite-sortable-list.js +154 -153
- package/dist/components/calcite-split-button.js +143 -142
- package/dist/components/calcite-stack.js +1 -1
- package/dist/components/calcite-stepper-item.js +226 -225
- package/dist/components/calcite-stepper.js +213 -212
- package/dist/components/calcite-text-area.js +267 -266
- package/dist/components/calcite-tile-select-group.js +45 -44
- package/dist/components/calcite-tile-select.js +224 -223
- package/dist/components/calcite-tip-group.js +28 -27
- package/dist/components/calcite-tip-manager.js +223 -222
- package/dist/components/calcite-tip.js +127 -126
- package/dist/components/card-manager2.js +156 -155
- package/dist/components/checkbox.js +147 -146
- package/dist/components/chip.js +246 -245
- package/dist/components/color-picker-hex-input.js +288 -287
- package/dist/components/color-picker-swatch.js +80 -79
- package/dist/components/combobox-item.js +136 -135
- package/dist/components/combobox.js +922 -921
- package/dist/components/crowdsource-manager.js +476 -475
- package/dist/components/crowdsource-reporter.js +76 -75
- package/dist/components/date-picker-day.js +110 -110
- package/dist/components/date-picker-month-header.js +198 -197
- package/dist/components/date-picker-month.js +373 -372
- package/dist/components/date-picker.js +493 -492
- package/dist/components/date.js +1 -1
- package/dist/components/deduct-calculator2.js +982 -981
- package/dist/components/dom.js +23 -2
- package/dist/components/downloadUtils.js +655 -655
- package/dist/components/dropdown-group.js +73 -72
- package/dist/components/dropdown-item.js +196 -195
- package/dist/components/dropdown.js +421 -420
- package/dist/components/edit-card2.js +192 -191
- package/dist/components/filter.js +202 -751
- package/dist/components/filter2.js +740 -190
- package/dist/components/floating-ui.js +2 -2
- package/dist/components/focusTrapComponent.js +1 -1
- package/dist/components/graph.js +87 -86
- package/dist/components/handle.js +166 -165
- package/dist/components/icon.js +100 -99
- package/dist/components/index.d.ts +36 -0
- package/dist/components/index.js +153 -25
- package/dist/components/info-card2.js +252 -251
- package/dist/components/input-message.js +67 -66
- package/dist/components/input-number.js +600 -600
- package/dist/components/input-text.js +368 -368
- package/dist/components/input.js +687 -687
- package/dist/components/interfaces.js +78 -78
- package/dist/components/json-editor2.js +426 -425
- package/dist/components/label.js +65 -117
- package/dist/components/label2.js +110 -57
- package/dist/components/layer-table2.js +548 -547
- package/dist/components/layout-manager2.js +119 -118
- package/dist/components/link.js +123 -123
- package/dist/components/list-item.js +76 -75
- package/dist/components/list-item2.js +432 -431
- package/dist/components/list.js +511 -510
- package/dist/components/loadModules.js +18 -18
- package/dist/components/loader.js +87 -86
- package/dist/components/locale.js +106 -106
- package/dist/components/locale2.js +2 -2
- package/dist/components/map-card2.js +201 -200
- package/dist/components/map-draw-tools2.js +384 -383
- package/dist/components/map-layer-picker2.js +292 -291
- package/dist/components/map-picker2.js +236 -235
- package/dist/components/map-select-tools2.js +917 -916
- package/dist/components/map-tools2.js +170 -169
- package/dist/components/mapViewUtils.js +235 -235
- package/dist/components/menu.js +179 -178
- package/dist/components/notice.js +131 -130
- package/dist/components/option.js +92 -91
- package/dist/components/panel.js +308 -307
- package/dist/components/pci-calculator.js +170 -169
- package/dist/components/pdf-download2.js +174 -173
- package/dist/components/pick-list-item.js +220 -219
- package/dist/components/popover.js +350 -349
- package/dist/components/progress.js +46 -46
- package/dist/components/public-notification.js +1102 -1101
- package/dist/components/publicNotificationStore.js +39 -39
- package/dist/components/queryUtils.js +152 -152
- package/dist/components/refine-selection2.js +547 -546
- package/dist/components/resources.js +9 -17
- package/dist/components/resources2.js +13 -9
- package/dist/components/resources3.js +5 -9
- package/dist/components/scrim.js +116 -115
- package/dist/components/segmented-control-item.js +63 -62
- package/dist/components/segmented-control.js +214 -213
- package/dist/components/select.js +227 -226
- package/dist/components/shared-list-render.js +3 -3
- package/dist/components/shell-panel.js +398 -398
- package/dist/components/shell.js +120 -119
- package/dist/components/slider.js +899 -898
- package/dist/components/solution-configuration.js +1096 -1095
- package/dist/components/solution-contents2.js +112 -111
- package/dist/components/solution-item-details2.js +218 -217
- package/dist/components/solution-item-icon2.js +331 -330
- package/dist/components/solution-item-sharing2.js +152 -151
- package/dist/components/solution-item2.js +270 -269
- package/dist/components/solution-organization-variables2.js +116 -115
- package/dist/components/solution-resource-item2.js +332 -331
- package/dist/components/solution-spatial-ref2.js +21421 -21420
- package/dist/components/solution-store.js +575 -575
- package/dist/components/solution-template-data2.js +203 -202
- package/dist/components/solution-variables2.js +133 -132
- package/dist/components/sortableComponent.js +1 -1
- package/dist/components/stack.js +79 -78
- package/dist/components/store-manager.js +71 -70
- package/dist/components/switch.js +119 -118
- package/dist/components/tab-nav.js +255 -254
- package/dist/components/tab-title.js +301 -300
- package/dist/components/tab.js +112 -111
- package/dist/components/tabs.js +131 -130
- package/dist/components/tile.js +90 -89
- package/dist/components/time-picker.js +655 -654
- package/dist/components/tooltip.js +208 -207
- package/dist/components/tree-item.js +288 -288
- package/dist/components/tree.js +282 -281
- package/dist/components/utils.js +1 -1
- package/dist/components/utils2.js +2 -2
- package/dist/components/utils3.js +1 -1
- package/dist/components/value-list-item.js +170 -169
- package/dist/components/value-list.js +276 -275
- package/dist/esm/{ExpandToggle-3d10bd1e.js → ExpandToggle-3420fa39.js} +4 -4
- package/dist/esm/{FloatingArrow-29db6da6.js → FloatingArrow-cd8eafa4.js} +1 -1
- package/dist/esm/{Heading-cb79e5b2.js → Heading-1763134e.js} +1 -1
- package/dist/esm/{app-globals-5cbac6b0.js → app-globals-580889bd.js} +20 -25
- package/dist/esm/{ar-4b751ba8.js → ar-ceb1b389.js} +15 -15
- package/dist/esm/{bg-5d8bf5ea.js → bg-a8824832.js} +15 -15
- package/dist/esm/{bs-ff510e71.js → bs-5c2ca44f.js} +15 -15
- package/dist/esm/buffer-tools_4.entry.js +1437 -1437
- package/dist/esm/{ca-b9a5e51a.js → ca-47f86073.js} +15 -15
- package/dist/esm/calcite-accordion-item.entry.js +140 -140
- package/dist/esm/calcite-accordion.entry.js +75 -75
- package/dist/esm/calcite-action-bar.entry.js +216 -216
- package/dist/esm/calcite-action-group_2.entry.js +365 -365
- package/dist/esm/calcite-action-pad.entry.js +135 -135
- package/dist/esm/calcite-action_2.entry.js +445 -445
- package/dist/esm/calcite-alert.entry.js +247 -247
- package/dist/esm/calcite-avatar.entry.js +73 -73
- package/dist/esm/calcite-block-section.entry.js +122 -122
- package/dist/esm/calcite-block.entry.js +131 -131
- package/dist/esm/calcite-button.entry.js +182 -182
- package/dist/esm/calcite-card.entry.js +99 -99
- package/dist/esm/calcite-checkbox.entry.js +125 -125
- package/dist/esm/calcite-chip-group.entry.js +164 -164
- package/dist/esm/calcite-chip.entry.js +213 -213
- package/dist/esm/calcite-color-picker-hex-input_2.entry.js +303 -303
- package/dist/esm/calcite-color-picker.entry.js +886 -886
- package/dist/esm/calcite-combobox-item-group.entry.js +35 -35
- package/dist/esm/calcite-combobox_6.entry.js +1786 -1786
- package/dist/esm/calcite-date-picker-day_3.entry.js +589 -589
- package/dist/esm/calcite-date-picker.entry.js +434 -434
- package/dist/esm/calcite-fab.entry.js +66 -66
- package/dist/esm/calcite-filter_5.entry.js +1131 -1131
- package/dist/esm/calcite-flow-item.entry.js +146 -146
- package/dist/esm/calcite-flow.entry.js +117 -117
- package/dist/esm/calcite-graph.entry.js +66 -66
- package/dist/esm/calcite-icon.entry.js +80 -80
- package/dist/esm/calcite-inline-editable.entry.js +225 -225
- package/dist/esm/calcite-input-date-picker.entry.js +632 -632
- package/dist/esm/calcite-input-number_2.entry.js +846 -846
- package/dist/esm/{calcite-input-time-picker-13448515.js → calcite-input-time-picker-59a3ed66.js} +534 -534
- package/dist/esm/calcite-input-time-picker.entry.js +15 -15
- package/dist/esm/calcite-input-time-zone.entry.js +150 -150
- package/dist/esm/calcite-input_2.entry.js +645 -645
- package/dist/esm/calcite-label.entry.js +40 -40
- package/dist/esm/calcite-link.entry.js +96 -96
- package/dist/esm/calcite-list-item-group.entry.js +46 -46
- package/dist/esm/calcite-loader.entry.js +65 -65
- package/dist/esm/calcite-menu-item.entry.js +246 -246
- package/dist/esm/calcite-menu.entry.js +161 -161
- package/dist/esm/calcite-modal.entry.js +282 -282
- package/dist/esm/calcite-navigation-logo.entry.js +52 -52
- package/dist/esm/calcite-navigation-user.entry.js +45 -45
- package/dist/esm/calcite-navigation.entry.js +126 -126
- package/dist/esm/calcite-notice.entry.js +105 -105
- package/dist/esm/calcite-option-group.entry.js +24 -24
- package/dist/esm/calcite-option_2.entry.js +271 -271
- package/dist/esm/calcite-pagination.entry.js +191 -191
- package/dist/esm/calcite-panel_2.entry.js +346 -346
- package/dist/esm/calcite-pick-list-group.entry.js +46 -46
- package/dist/esm/calcite-pick-list-item.entry.js +181 -181
- package/dist/esm/calcite-pick-list.entry.js +130 -130
- package/dist/esm/calcite-radio-button-group.entry.js +118 -118
- package/dist/esm/calcite-radio-button.entry.js +292 -292
- package/dist/esm/calcite-rating.entry.js +245 -245
- package/dist/esm/calcite-scrim.entry.js +93 -93
- package/dist/esm/calcite-segmented-control_2.entry.js +225 -225
- package/dist/esm/calcite-shell-center-row.entry.js +42 -42
- package/dist/esm/calcite-shell-panel_14.entry.js +2604 -2604
- package/dist/esm/calcite-sortable-list.entry.js +134 -134
- package/dist/esm/calcite-split-button.entry.js +92 -92
- package/dist/esm/calcite-stepper-item.entry.js +197 -197
- package/dist/esm/calcite-stepper.entry.js +187 -187
- package/dist/esm/calcite-switch.entry.js +100 -100
- package/dist/esm/calcite-text-area.entry.js +235 -235
- package/dist/esm/calcite-tile-select-group.entry.js +27 -27
- package/dist/esm/calcite-tile-select.entry.js +180 -180
- package/dist/esm/calcite-tile.entry.js +58 -58
- package/dist/esm/calcite-time-picker.entry.js +619 -619
- package/dist/esm/calcite-tip-group.entry.js +10 -10
- package/dist/esm/calcite-tip-manager.entry.js +185 -185
- package/dist/esm/calcite-tip.entry.js +94 -94
- package/dist/esm/calcite-tooltip.entry.js +185 -185
- package/dist/esm/calcite-tree_3.entry.js +821 -821
- package/dist/esm/card-manager_4.entry.js +652 -652
- package/dist/esm/{conditionalSlot-27a0fce0.js → conditionalSlot-91396dd5.js} +2 -2
- package/dist/esm/crowdsource-manager.entry.js +256 -256
- package/dist/esm/crowdsource-reporter.entry.js +60 -60
- package/dist/esm/{cs-f21a0628.js → cs-f651c3cd.js} +15 -15
- package/dist/esm/{da-dc48fc4c.js → da-e32ccc0a.js} +15 -15
- package/dist/esm/{date-0ed48e97.js → date-51fa981b.js} +1 -1
- package/dist/esm/{de-59290071.js → de-9b417aed.js} +15 -15
- package/dist/esm/{de-at-cd6e6ab7.js → de-at-f73447e2.js} +15 -15
- package/dist/esm/{de-ch-27c44e34.js → de-ch-7ec8c31e.js} +15 -15
- package/dist/esm/deduct-calculator.entry.js +90 -90
- package/dist/esm/{dom-843e3afd.js → dom-8a9e4ee8.js} +2 -2
- package/dist/esm/{downloadUtils-63661805.js → downloadUtils-43b53f5a.js} +660 -660
- package/dist/esm/edit-card_2.entry.js +345 -345
- package/dist/esm/{el-f09fdec6.js → el-9a3189a2.js} +15 -15
- package/dist/esm/{en-au-90087aa5.js → en-au-5aea3b73.js} +15 -15
- package/dist/esm/{en-ca-10751695.js → en-ca-fe3e706b.js} +15 -15
- package/dist/esm/{en-gb-0f8547bd.js → en-gb-a4278000.js} +15 -15
- package/dist/esm/{es-b0997cf1.js → es-383f9c9e.js} +15 -15
- package/dist/esm/{es-mx-226f5028.js → es-mx-7845b382.js} +15 -15
- package/dist/esm/{et-dc96c453.js → et-d8f8df06.js} +15 -15
- package/dist/esm/{fi-0941704d.js → fi-14894338.js} +15 -15
- package/dist/esm/{filter-1cac3edf.js → filter-bf34614b.js} +1 -1
- package/dist/esm/{floating-ui-d28d0fd6.js → floating-ui-9870f74c.js} +2 -2
- package/dist/esm/{focusTrapComponent-ff3a9f28.js → focusTrapComponent-34010d00.js} +1 -1
- package/dist/esm/{form-11c6a015.js → form-6669a774.js} +2 -2
- package/dist/esm/{fr-8da3458d.js → fr-6f570086.js} +15 -15
- package/dist/esm/{fr-ch-739ceddf.js → fr-ch-b9f89159.js} +15 -15
- package/dist/esm/{he-8b662dfa.js → he-174aca6e.js} +15 -15
- package/dist/esm/{hi-10996f89.js → hi-7e469aab.js} +15 -15
- package/dist/esm/{hr-42c2024d.js → hr-a4ac455a.js} +15 -15
- package/dist/esm/{hu-4768b3ff.js → hu-207da291.js} +15 -15
- package/dist/esm/{id-24a08170.js → id-8e4d57bf.js} +15 -15
- package/dist/esm/{index-b91c174c.js → index-4c4a4f3d.js} +1 -1
- package/dist/esm/{index-b5d9d795.js → index-d298aca9.js} +38 -180
- package/dist/esm/{index.es-3a3aa8e3.js → index.es-a185f2b1.js} +6 -6
- package/dist/esm/{interfaces-5a2fe8b4.js → interfaces-bf20e69c.js} +77 -77
- package/dist/esm/{it-ad09649f.js → it-7ade952c.js} +15 -15
- package/dist/esm/{it-ch-b05fc10d.js → it-ch-181d76ab.js} +15 -15
- package/dist/esm/{ja-ab839b73.js → ja-42013dd3.js} +15 -15
- package/dist/esm/{ko-c778539e.js → ko-8de07550.js} +15 -15
- package/dist/esm/{label-6a1caf64.js → label-661d8e10.js} +1 -1
- package/dist/esm/list-item.entry.js +60 -60
- package/dist/esm/{loadModules-2ecd1e44.js → loadModules-cd3569de.js} +19 -19
- package/dist/esm/{loadable-6bca96ad.js → loadable-08376d90.js} +1 -1
- package/dist/esm/loader.js +14 -5
- package/dist/esm/{locale-aa3de591.js → locale-54cac39a.js} +107 -107
- package/dist/esm/{locale-d8561d54.js → locale-73d0926a.js} +3 -3
- package/dist/esm/{lt-447d9aa9.js → lt-1ef29b5b.js} +15 -15
- package/dist/esm/{lv-4d715e11.js → lv-263a2f78.js} +15 -15
- package/dist/esm/map-picker_2.entry.js +243 -243
- package/dist/esm/map-select-tools_3.entry.js +1285 -1285
- package/dist/esm/{mapViewUtils-f0c04325.js → mapViewUtils-1e68cede.js} +384 -384
- package/dist/esm/{mk-b3d7401a.js → mk-d8bae136.js} +15 -15
- package/dist/esm/{nb-2b4a8366.js → nb-494542b3.js} +15 -15
- package/dist/esm/{nl-c0db1da2.js → nl-cd882d7f.js} +15 -15
- package/dist/esm/{openCloseComponent-2b5c6bed.js → openCloseComponent-a40fd6fd.js} +1 -1
- package/dist/esm/pci-calculator.entry.js +102 -102
- package/dist/esm/{pciUtils-59c29b42.js → pciUtils-ecda46e5.js} +836 -836
- package/dist/esm/{pl-0d322bb4.js → pl-b79095d5.js} +15 -15
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/{pt-5997598c.js → pt-5ca0b751.js} +15 -15
- package/dist/esm/{pt-br-6b77e7db.js → pt-br-e1a1ce60.js} +15 -15
- package/dist/esm/public-notification.entry.js +844 -844
- package/dist/esm/{publicNotificationStore-ade82148.js → publicNotificationStore-6ef555f3.js} +40 -40
- package/dist/esm/{ro-ac3724e0.js → ro-5cbc0f2a.js} +15 -15
- package/dist/esm/{ru-4e75151f.js → ru-e66f5b84.js} +15 -15
- package/dist/esm/{shared-list-render-abd19c8d.js → shared-list-render-5b788e63.js} +6 -6
- package/dist/esm/{sk-bbfa22a3.js → sk-be2b5cec.js} +15 -15
- package/dist/esm/{sl-867cecfc.js → sl-74600272.js} +15 -15
- package/dist/esm/solution-configuration.entry.js +888 -888
- package/dist/esm/solution-contents_3.entry.js +21506 -21506
- package/dist/esm/{solution-store-46bc46a5.js → solution-store-c107ca4d.js} +577 -577
- package/dist/esm/solutions-components.js +5 -5
- package/dist/esm/{sortableComponent-db502e97.js → sortableComponent-1dd8a4ae.js} +1 -1
- package/dist/esm/{sr-198b5c00.js → sr-58280ce5.js} +15 -15
- package/dist/esm/store-manager.entry.js +52 -52
- package/dist/esm/{sv-02d64370.js → sv-f0e2171a.js} +15 -15
- package/dist/esm/{t9n-76168237.js → t9n-745553e0.js} +2 -2
- package/dist/esm/{th-1616e303.js → th-6c3eac31.js} +15 -15
- package/dist/esm/{throttle-9ab70933.js → throttle-26fa347b.js} +1 -1
- package/dist/esm/{time-6721a4c2.js → time-7e3ba7c6.js} +1 -1
- package/dist/esm/{tr-f4619f64.js → tr-092713ca.js} +15 -15
- package/dist/esm/{uk-df7df34a.js → uk-95df0f95.js} +15 -15
- package/dist/esm/{utils-ccfd94a7.js → utils-4f695ec2.js} +1 -1
- package/dist/esm/{utils-f54411df.js → utils-ddff4ef3.js} +3 -3
- package/dist/esm/{vi-176ca9f7.js → vi-70a9857c.js} +15 -15
- package/dist/esm/{zh-cn-e13d83d1.js → zh-cn-e024ef2d.js} +15 -15
- package/dist/esm/{zh-hk-d97365d8.js → zh-hk-36ff9e8f.js} +15 -15
- package/dist/esm/{zh-tw-a2b6f0b7.js → zh-tw-96ddb74c.js} +15 -15
- package/dist/loader/index.d.ts +2 -2
- package/dist/solutions-components/{p-15ef7894.js → p-0056655c.js} +1 -1
- package/dist/solutions-components/{p-955a956a.entry.js → p-017265ef.entry.js} +1 -1
- package/dist/solutions-components/{p-844ee452.entry.js → p-017543d5.entry.js} +1 -1
- package/dist/solutions-components/{p-b2e6c578.js → p-0209ed2e.js} +1 -1
- package/dist/solutions-components/{p-5e59219b.entry.js → p-0245bb56.entry.js} +1 -1
- package/dist/solutions-components/{p-916f90ec.entry.js → p-043ead99.entry.js} +1 -1
- package/dist/solutions-components/p-048a2a6d.js +6 -0
- package/dist/solutions-components/{p-e02fcfa9.entry.js → p-050e12eb.entry.js} +1 -1
- package/dist/solutions-components/{p-b0c4138f.entry.js → p-06916de9.entry.js} +1 -1
- package/dist/solutions-components/{p-67ce3c0c.entry.js → p-08320fb9.entry.js} +2 -2
- package/dist/solutions-components/{p-21f00df6.js → p-08e12eb0.js} +1 -1
- package/dist/solutions-components/p-0a2c02fd.js +6 -0
- package/dist/solutions-components/{p-de58bd49.js → p-0a4bc416.js} +1 -1
- package/dist/solutions-components/{p-ef96894d.entry.js → p-0afa17dc.entry.js} +1 -1
- package/dist/solutions-components/{p-4bc7b875.entry.js → p-0b4eb6e4.entry.js} +1 -1
- package/dist/solutions-components/{p-7b9adfff.js → p-0d900572.js} +1 -1
- package/dist/solutions-components/{p-0fbc27fd.entry.js → p-0f4d3009.entry.js} +1 -1
- package/dist/solutions-components/{p-b921aa1a.entry.js → p-10181f33.entry.js} +1 -1
- package/dist/solutions-components/{p-804e4751.entry.js → p-105ef63c.entry.js} +1 -1
- package/dist/solutions-components/{p-35123c90.js → p-11983a08.js} +1 -1
- package/dist/solutions-components/p-1260db08.js +61 -0
- package/dist/solutions-components/{p-a0edbb27.js → p-129fcd0a.js} +1 -1
- package/dist/solutions-components/{p-c1ee0d69.js → p-13f7e487.js} +1 -1
- package/dist/solutions-components/p-14769a01.js +11 -0
- package/dist/solutions-components/{p-c6d83122.entry.js → p-14a4ad77.entry.js} +2 -2
- package/dist/solutions-components/{p-e07b8a72.entry.js → p-15e67907.entry.js} +1 -1
- package/dist/solutions-components/{p-32ef065d.entry.js → p-17799448.entry.js} +1 -1
- package/dist/solutions-components/{p-8a758303.js → p-185a82e0.js} +1 -1
- package/dist/solutions-components/p-191c59e9.js +6 -0
- package/dist/solutions-components/{p-7601988d.entry.js → p-1b63bec9.entry.js} +1 -1
- package/dist/solutions-components/{p-28d2670f.entry.js → p-1c810f4c.entry.js} +1 -1
- package/dist/solutions-components/{p-9603c3ff.entry.js → p-1d28ff09.entry.js} +1 -1
- package/dist/solutions-components/{p-4b95d05e.entry.js → p-1e30069a.entry.js} +1 -1
- package/dist/solutions-components/p-1e63db11.entry.js +6 -0
- package/dist/solutions-components/{p-a08bd8c1.entry.js → p-20274226.entry.js} +1 -1
- package/dist/solutions-components/{p-a843af2a.js → p-2411f1f6.js} +1 -1
- package/dist/solutions-components/{p-ad4d6d02.entry.js → p-2509b65f.entry.js} +2 -2
- package/dist/solutions-components/{p-216801d5.js → p-25faeab6.js} +1 -1
- package/dist/solutions-components/{p-f8dd2784.js → p-27f5bb4f.js} +2 -2
- package/dist/solutions-components/{p-b948ecd2.entry.js → p-2a0d8a46.entry.js} +1 -1
- package/dist/solutions-components/{p-27a1ac1f.entry.js → p-2dea68b6.entry.js} +2 -2
- package/dist/solutions-components/{p-de59d2f5.js → p-2ecd5cb7.js} +1 -1
- package/dist/solutions-components/{p-7aa949a3.entry.js → p-30dbc43d.entry.js} +2 -2
- package/dist/solutions-components/{p-46d5970b.entry.js → p-32d821d1.entry.js} +1 -1
- package/dist/solutions-components/{p-82199b7b.entry.js → p-3479d873.entry.js} +1 -1
- package/dist/solutions-components/{p-9fb16c72.entry.js → p-36d09c0c.entry.js} +1 -1
- package/dist/solutions-components/{p-75f26870.js → p-375f0b74.js} +6 -6
- package/dist/solutions-components/{p-cf1af08f.entry.js → p-38b4873b.entry.js} +1 -1
- package/dist/solutions-components/p-38d61356.js +18 -0
- package/dist/solutions-components/{p-a2748b38.entry.js → p-3a7156b8.entry.js} +1 -1
- package/dist/solutions-components/{p-022a9b7a.js → p-3b041268.js} +1 -1
- package/dist/solutions-components/{p-6a820c4d.js → p-3ca9bb95.js} +1 -1
- package/dist/solutions-components/{p-326fa270.js → p-3e5c8b2f.js} +1 -1
- package/dist/solutions-components/{p-1ede2e18.js → p-3ee6af74.js} +2 -2
- package/dist/solutions-components/{p-97c47bbd.entry.js → p-3eecbcf0.entry.js} +1 -1
- package/dist/solutions-components/{p-5c097e25.entry.js → p-40432de5.entry.js} +1 -1
- package/dist/solutions-components/{p-c9858d8f.entry.js → p-4058733e.entry.js} +1 -1
- package/dist/solutions-components/{p-9e727488.js → p-4152fae0.js} +1 -1
- package/dist/solutions-components/{p-12a4fa84.js → p-4321edfc.js} +1 -1
- package/dist/solutions-components/{p-761a033a.entry.js → p-4344b6ca.entry.js} +1 -1
- package/dist/solutions-components/{p-aeebdb15.js → p-44e26e37.js} +1 -1
- package/dist/solutions-components/{p-3445a8c6.js → p-477ae127.js} +1 -1
- package/dist/solutions-components/{p-9cb94ea0.js → p-4c8b1179.js} +1 -1
- package/dist/solutions-components/p-4e32bf8c.js +6 -0
- package/dist/solutions-components/{p-4c43820f.entry.js → p-4e93132b.entry.js} +1 -1
- package/dist/solutions-components/{p-1add4e39.entry.js → p-4ea79dc4.entry.js} +2 -2
- package/dist/solutions-components/{p-05db4340.js → p-4f51db32.js} +1 -1
- package/dist/solutions-components/{p-4d17943f.js → p-4f64d786.js} +1 -1
- package/dist/solutions-components/{p-2c0dc7b1.js → p-4ff653eb.js} +1 -1
- package/dist/solutions-components/{p-b1f84ae5.js → p-53347add.js} +1 -1
- package/dist/solutions-components/p-54fce798.js +11 -0
- package/dist/solutions-components/{p-abda8ca2.entry.js → p-573d282b.entry.js} +1 -1
- package/dist/solutions-components/{p-a258f5e7.js → p-58340eba.js} +1 -1
- package/dist/solutions-components/p-5930cd6d.entry.js +6 -0
- package/dist/solutions-components/p-5fc99541.js +257 -0
- package/dist/solutions-components/{p-ffac6f88.entry.js → p-6071078a.entry.js} +1 -1
- package/dist/solutions-components/{p-dc9dad31.entry.js → p-69863a28.entry.js} +1 -1
- package/dist/solutions-components/{p-a6900100.entry.js → p-699031c9.entry.js} +2 -2
- package/dist/solutions-components/{p-ab8f5c6b.entry.js → p-6998e886.entry.js} +1 -1
- package/dist/solutions-components/{p-bbb0d957.entry.js → p-6a813a31.entry.js} +1 -1
- package/dist/solutions-components/{p-ad72a379.entry.js → p-6b12b5eb.entry.js} +1 -1
- package/dist/solutions-components/{p-639cca97.js → p-6e89e9dd.js} +1 -1
- package/dist/solutions-components/{p-5adf37ea.entry.js → p-705b7f81.entry.js} +1 -1
- package/dist/solutions-components/p-75578ebf.entry.js +6 -0
- package/dist/solutions-components/{p-5383607a.js → p-7c72df3c.js} +3 -3
- package/dist/solutions-components/{p-03fccde6.entry.js → p-7ca47589.entry.js} +2 -2
- package/dist/solutions-components/{p-a040efff.js → p-7cb8a4db.js} +1 -1
- package/dist/solutions-components/p-7cc13b24.js +8 -0
- package/dist/solutions-components/{p-e4253e1b.entry.js → p-8008b2fe.entry.js} +1 -1
- package/dist/solutions-components/{p-22d580b0.entry.js → p-81531fbe.entry.js} +1 -1
- package/dist/solutions-components/{p-e10a62f4.entry.js → p-81627211.entry.js} +1 -1
- package/dist/solutions-components/{p-2d70d3fd.js → p-8aa806fe.js} +1 -1
- package/dist/solutions-components/{p-052ff2c7.js → p-8ae8b789.js} +1 -1
- package/dist/solutions-components/{p-4daae757.js → p-8b1236bf.js} +1 -1
- package/dist/solutions-components/{p-ee066c67.js → p-8b14f9aa.js} +3 -3
- package/dist/solutions-components/{p-56300653.js → p-8b4e79fd.js} +1 -1
- package/dist/solutions-components/{p-bba3fa4e.entry.js → p-8bc91d5b.entry.js} +2 -2
- package/dist/solutions-components/{p-cad5587c.entry.js → p-8df0c98c.entry.js} +1 -1
- package/dist/solutions-components/p-953cf07a.entry.js +6 -0
- package/dist/solutions-components/{p-5b9b1cbb.entry.js → p-95cf8aa0.entry.js} +1 -1
- package/dist/solutions-components/{p-29d41c7e.js → p-99ece5e1.js} +2 -2
- package/dist/solutions-components/{p-b4157e6a.js → p-9a2a551d.js} +1 -1
- package/dist/solutions-components/{p-541697d0.js → p-9b43b4cf.js} +1 -1
- package/dist/solutions-components/{p-647a4130.js → p-9f922d49.js} +2 -7
- package/dist/solutions-components/p-9fb09c2c.js +11 -0
- package/dist/solutions-components/{p-e645edf2.entry.js → p-a0e50ea6.entry.js} +1 -1
- package/dist/solutions-components/{p-31316d61.entry.js → p-a1154bb5.entry.js} +2 -2
- package/dist/solutions-components/{p-d62784a4.js → p-a709a84a.js} +1 -1
- package/dist/solutions-components/p-a99832c1.js +27 -0
- package/dist/solutions-components/{p-0f8440bb.entry.js → p-ad41cd27.entry.js} +1 -1
- package/dist/solutions-components/{p-bd3a3afe.js → p-ad962e25.js} +1 -1
- package/dist/solutions-components/{p-2b252afd.entry.js → p-ae1459ed.entry.js} +1 -1
- package/dist/solutions-components/{p-90bbf223.entry.js → p-af9510a4.entry.js} +1 -1
- package/dist/solutions-components/{p-4f0c3fc1.js → p-afc462f0.js} +1 -1
- package/dist/solutions-components/{p-6431fd69.js → p-b02a2b2f.js} +2 -2
- package/dist/solutions-components/{p-421d5e7c.js → p-b0eb13a1.js} +1 -1
- package/dist/solutions-components/{p-2656168f.entry.js → p-b1228e6c.entry.js} +1 -1
- package/dist/solutions-components/{p-0e7914e6.entry.js → p-b1ff9f2e.entry.js} +1 -1
- package/dist/solutions-components/p-b20bf7b7.entry.js +6 -0
- package/dist/solutions-components/{p-7920b5a2.entry.js → p-b361af64.entry.js} +1 -1
- package/dist/solutions-components/{p-a777b18c.js → p-b4a6abe2.js} +2 -2
- package/dist/solutions-components/{p-4e4b55b9.entry.js → p-b68b17b6.entry.js} +3 -3
- package/dist/solutions-components/{p-f41105c8.js → p-b73e9c4d.js} +1 -1
- package/dist/solutions-components/{p-19fe7725.js → p-b9111e12.js} +1 -1
- package/dist/solutions-components/{p-3cbe5ef3.js → p-b9653a1e.js} +1 -1
- package/dist/solutions-components/{p-5f5c371e.js → p-b9fa9ca9.js} +1 -1
- package/dist/solutions-components/{p-c07af9c2.entry.js → p-ba9bb2ba.entry.js} +2 -2
- package/dist/solutions-components/{p-b49bdc72.entry.js → p-bc35e445.entry.js} +1 -1
- package/dist/solutions-components/{p-c3f8b670.js → p-bccc74a8.js} +1 -1
- package/dist/solutions-components/{p-1990d9c8.entry.js → p-bd213033.entry.js} +1 -1
- package/dist/solutions-components/{p-a775ba2f.entry.js → p-c0dc792a.entry.js} +1 -1
- package/dist/solutions-components/{p-606ca126.js → p-c16e540d.js} +1 -1
- package/dist/solutions-components/{p-42c7a5fa.entry.js → p-c35b219b.entry.js} +1 -1
- package/dist/solutions-components/{p-b86b4512.entry.js → p-c38c0612.entry.js} +2 -2
- package/dist/solutions-components/{p-6b2f2b85.js → p-c8c3554b.js} +3 -3
- package/dist/solutions-components/{p-634e1240.js → p-cbebdffa.js} +1 -1
- package/dist/solutions-components/{p-91caf655.entry.js → p-cbf52aa2.entry.js} +2 -2
- package/dist/solutions-components/{p-825bac0e.js → p-ce21ee76.js} +1 -1
- package/dist/solutions-components/{p-57c08531.entry.js → p-ce3e73ae.entry.js} +1 -1
- package/dist/solutions-components/{p-d3a22725.js → p-cf14e2f3.js} +1 -1
- package/dist/solutions-components/{p-f28d69ac.entry.js → p-cfebc45c.entry.js} +1 -1
- package/dist/solutions-components/{p-6a524392.entry.js → p-d15a4f36.entry.js} +1 -1
- package/dist/solutions-components/{p-754e2df2.js → p-d3550542.js} +1 -1
- package/dist/solutions-components/{p-b5d67495.entry.js → p-d3dceabd.entry.js} +1 -1
- package/dist/solutions-components/{p-07bc4f07.entry.js → p-d43c1fc8.entry.js} +2 -2
- package/dist/solutions-components/{p-6de98c51.js → p-d7ddd3a2.js} +1 -1
- package/dist/solutions-components/{p-3e139360.js → p-d841cb8b.js} +1 -1
- package/dist/solutions-components/{p-2ae17fa2.js → p-d9868bac.js} +1 -1
- package/dist/solutions-components/{p-32f9c709.js → p-dc94bec2.js} +1 -1
- package/dist/solutions-components/{p-e6bee82f.js → p-dd0f8875.js} +1 -1
- package/dist/solutions-components/p-dec7b660.js +11 -0
- package/dist/solutions-components/{p-3f0193e9.js → p-deca8a07.js} +1 -1
- package/dist/solutions-components/{p-31ff3452.entry.js → p-df5ec082.entry.js} +1 -1
- package/dist/solutions-components/{p-ea282908.js → p-e046f728.js} +1 -1
- package/dist/solutions-components/{p-cf43278c.entry.js → p-e27ce6d2.entry.js} +1 -1
- package/dist/solutions-components/p-e2abc969.js +6 -0
- package/dist/solutions-components/{p-c5e294e4.js → p-e3f9e213.js} +1 -1
- package/dist/solutions-components/{p-2b96e551.entry.js → p-e43839a8.entry.js} +2 -2
- package/dist/solutions-components/{p-418d0b60.entry.js → p-e4d5188b.entry.js} +1 -1
- package/dist/solutions-components/{p-7b90c18e.entry.js → p-e666c0d6.entry.js} +1 -1
- package/dist/solutions-components/{p-39ff5ee5.js → p-e6c20791.js} +1 -1
- package/dist/solutions-components/{p-2005280f.js → p-ec4c8dc3.js} +1 -1
- package/dist/solutions-components/{p-93074bd4.entry.js → p-ef34c9e2.entry.js} +1 -1
- package/dist/solutions-components/{p-361f1fe1.js → p-f346f8ab.js} +2 -2
- package/dist/solutions-components/{p-680d193d.entry.js → p-f780ecc1.entry.js} +2 -2
- package/dist/solutions-components/p-f8be5d5f.js +7 -0
- package/dist/solutions-components/{p-c70392c4.entry.js → p-f9a56d6b.entry.js} +1 -1
- package/dist/solutions-components/{p-0ece6df1.entry.js → p-f9b9b211.entry.js} +1 -1
- package/dist/solutions-components/{p-a0a2c53d.js → p-fc2277fe.js} +1 -1
- package/dist/solutions-components/{p-40bde8b2.entry.js → p-fd65b14d.entry.js} +1 -1
- package/dist/solutions-components/{p-ef48bd77.entry.js → p-fe0e8542.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/buffer-tools/buffer-tools.d.ts +170 -170
- package/dist/types/components/card-manager/card-manager.d.ts +70 -70
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +174 -174
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +26 -26
- package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +90 -90
- package/dist/types/components/edit-card/edit-card.d.ts +140 -140
- package/dist/types/components/info-card/info-card.d.ts +143 -143
- package/dist/types/components/json-editor/json-editor.d.ts +229 -229
- package/dist/types/components/layer-table/layer-table.d.ts +276 -276
- package/dist/types/components/layout-manager/layout-manager.d.ts +69 -69
- package/dist/types/components/list-item/list-item.d.ts +26 -26
- package/dist/types/components/map-card/map-card.d.ts +83 -83
- package/dist/types/components/map-draw-tools/map-draw-tools.d.ts +231 -231
- package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +160 -160
- package/dist/types/components/map-picker/map-picker.d.ts +109 -109
- package/dist/types/components/map-select-tools/map-select-tools.d.ts +469 -469
- package/dist/types/components/map-tools/map-tools.d.ts +104 -104
- package/dist/types/components/pci-calculator/pci-calculator.d.ts +71 -71
- package/dist/types/components/pdf-download/pdf-download.d.ts +101 -101
- package/dist/types/components/public-notification/public-notification.d.ts +610 -610
- package/dist/types/components/refine-selection/refine-selection.d.ts +234 -234
- package/dist/types/components/solution-configuration/solution-configuration.d.ts +205 -205
- package/dist/types/components/solution-contents/solution-contents.d.ts +46 -46
- package/dist/types/components/solution-item/solution-item.d.ts +71 -71
- package/dist/types/components/solution-item-details/solution-item-details.d.ts +100 -100
- package/dist/types/components/solution-item-icon/solution-item-icon.d.ts +44 -44
- package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +62 -62
- package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +63 -63
- package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +144 -144
- package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +180 -180
- package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +17 -17
- package/dist/types/components/solution-template-data/solution-template-data.d.ts +72 -72
- package/dist/types/components/solution-variables/solution-variables.d.ts +69 -69
- package/dist/types/components/store-manager/store-manager.d.ts +55 -55
- package/dist/types/components.d.ts +0 -2
- package/dist/types/index.d.ts +16 -16
- package/dist/types/stencil-public-runtime.d.ts +14 -27
- package/dist/types/utils/common.d.ts +49 -49
- package/dist/types/utils/csvDownload.d.ts +24 -24
- package/dist/types/utils/csvUtils.d.ts +22 -22
- package/dist/types/utils/downloadUtils.d.ts +118 -118
- package/dist/types/utils/interfaces.d.ts +398 -398
- package/dist/types/utils/languageUtil.d.ts +11 -11
- package/dist/types/utils/loadModules.d.ts +17 -17
- package/dist/types/utils/locale.d.ts +22 -22
- package/dist/types/utils/mapViewUtils.d.ts +124 -124
- package/dist/types/utils/pciUtils.d.ts +97 -97
- package/dist/types/utils/pdfUtils.d.ts +27 -27
- package/dist/types/utils/publicNotificationStore.d.ts +24 -24
- package/dist/types/utils/queryUtils.d.ts +95 -95
- package/dist/types/utils/solution-store.d.ts +234 -234
- package/dist/types/utils/templates.d.ts +50 -50
- package/dist/types/utils/test/mocks/jsApi.d.ts +59 -59
- package/dist/types/utils/test/testUtils.d.ts +36 -36
- package/dist/types/utils/types.d.ts +1 -1
- package/package.json +2 -2
- package/dist/collection/components/buffer-tools/test/buffer-tools.e2e.js +0 -29
- package/dist/collection/components/buffer-tools/test/buffer-tools.spec.js +0 -160
- package/dist/collection/components/card-manager/test/card-manager.e2e.js +0 -29
- package/dist/collection/components/card-manager/test/card-manager.spec.js +0 -37
- package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.e2e.js +0 -29
- package/dist/collection/components/crowdsource-manager/test/crowdsource-manager.spec.js +0 -37
- package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.e2e.js +0 -29
- package/dist/collection/components/crowdsource-reporter/test/crowdsource-reporter.spec.js +0 -37
- package/dist/collection/components/deduct-calculator/test/deduct-calculator.e2e.js +0 -29
- package/dist/collection/components/deduct-calculator/test/deduct-calculator.spec.js +0 -37
- package/dist/collection/components/edit-card/test/edit-card.e2e.js +0 -14
- package/dist/collection/components/edit-card/test/edit-card.spec.js +0 -22
- package/dist/collection/components/info-card/test/info-card.e2e.js +0 -29
- package/dist/collection/components/info-card/test/info-card.spec.js +0 -37
- package/dist/collection/components/json-editor/test/json-editor.e2e.js +0 -36
- package/dist/collection/components/json-editor/test/json-editor.spec.js +0 -65
- package/dist/collection/components/layer-table/test/layer-table.e2e.js +0 -29
- package/dist/collection/components/layer-table/test/layer-table.spec.js +0 -37
- package/dist/collection/components/layout-manager/test/layout-manager.e2e.js +0 -29
- package/dist/collection/components/layout-manager/test/layout-manager.spec.js +0 -37
- package/dist/collection/components/list-item/test/list-item.e2e.js +0 -29
- package/dist/collection/components/list-item/test/list-item.spec.js +0 -37
- package/dist/collection/components/map-card/test/map-card.e2e.js +0 -29
- package/dist/collection/components/map-card/test/map-card.spec.js +0 -37
- package/dist/collection/components/map-draw-tools/test/map-draw-tools.e2e.js +0 -29
- package/dist/collection/components/map-draw-tools/test/map-draw-tools.spec.js +0 -37
- package/dist/collection/components/map-layer-picker/test/map-layer-picker.e2e.js +0 -29
- package/dist/collection/components/map-layer-picker/test/map-layer-picker.spec.js +0 -114
- package/dist/collection/components/map-picker/test/map-picker.e2e.js +0 -29
- package/dist/collection/components/map-picker/test/map-picker.spec.js +0 -37
- package/dist/collection/components/map-select-tools/test/map-select-tools.e2e.js +0 -29
- package/dist/collection/components/map-select-tools/test/map-select-tools.spec.js +0 -366
- package/dist/collection/components/map-tools/test/map-tools.e2e.js +0 -29
- package/dist/collection/components/map-tools/test/map-tools.spec.js +0 -37
- package/dist/collection/components/pci-calculator/test/pci-calculator.e2e.js +0 -29
- package/dist/collection/components/pci-calculator/test/pci-calculator.spec.js +0 -37
- package/dist/collection/components/pdf-download/test/pdf-download.e2e.js +0 -76
- package/dist/collection/components/pdf-download/test/pdf-download.spec.js +0 -107
- package/dist/collection/components/public-notification/test/public-notification.spec.js +0 -161
- package/dist/collection/components/refine-selection/test/refine-selection.e2e.js +0 -14
- package/dist/collection/components/refine-selection/test/refine-selection.spec.js +0 -22
- package/dist/collection/components/solution-configuration/test/solution-configuration.e2e.js +0 -36
- package/dist/collection/components/solution-configuration/test/solution-configuration.spec.js +0 -119
- package/dist/collection/components/solution-contents/test/solution-contents.e2e.js +0 -94
- package/dist/collection/components/solution-contents/test/solution-contents.spec.js +0 -143
- package/dist/collection/components/solution-item/test/solution-item.e2e.js +0 -36
- package/dist/collection/components/solution-item/test/solution-item.spec.js +0 -77
- package/dist/collection/components/solution-item-details/test/solution-item-details.e2e.js +0 -36
- package/dist/collection/components/solution-item-details/test/solution-item-details.spec.js +0 -142
- package/dist/collection/components/solution-item-icon/test/solution-item-icon.e2e.js +0 -29
- package/dist/collection/components/solution-item-icon/test/solution-item-icon.spec.js +0 -39
- package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.e2e.js +0 -36
- package/dist/collection/components/solution-item-sharing/test/solution-item-sharing.spec.js +0 -54
- package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.e2e.js +0 -36
- package/dist/collection/components/solution-organization-variables/test/solution-organization-variables.spec.js +0 -65
- package/dist/collection/components/solution-resource-item/test/solution-resource-item.e2e.js +0 -36
- package/dist/collection/components/solution-resource-item/test/solution-resource-item.spec.js +0 -55
- package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.e2e.js +0 -36
- package/dist/collection/components/solution-spatial-ref/test/solution-spatial-ref.spec.js +0 -175
- package/dist/collection/components/solution-template-data/test/solution-template-data.e2e.js +0 -36
- package/dist/collection/components/solution-template-data/test/solution-template-data.spec.js +0 -60
- package/dist/collection/components/solution-variables/test/solution-variables.e2e.js +0 -36
- package/dist/collection/components/solution-variables/test/solution-variables.spec.js +0 -131
- package/dist/collection/utils/templates.e2e.js +0 -30
- package/dist/collection/utils/test/csvUtils.spec.js +0 -51
- package/dist/collection/utils/test/downloadUtils.spec.js +0 -357
- package/dist/collection/utils/test/pciUtils.spec.js +0 -302
- package/dist/collection/utils/test/solution-store.spec.js +0 -444
- package/dist/esm/resources-40d8e06f.js +0 -20
- package/dist/solutions-components/p-0cc32f06.js +0 -6
- package/dist/solutions-components/p-10248e04.js +0 -11
- package/dist/solutions-components/p-108fbf59.entry.js +0 -6
- package/dist/solutions-components/p-13290851.js +0 -259
- package/dist/solutions-components/p-164be8ef.entry.js +0 -6
- package/dist/solutions-components/p-1ea1dcac.js +0 -61
- package/dist/solutions-components/p-3aba40e8.js +0 -18
- package/dist/solutions-components/p-3bd99fc9.js +0 -11
- package/dist/solutions-components/p-3cce003d.js +0 -27
- package/dist/solutions-components/p-525f1188.js +0 -11
- package/dist/solutions-components/p-6665fa1f.js +0 -6
- package/dist/solutions-components/p-7c33e500.entry.js +0 -6
- package/dist/solutions-components/p-9310b882.js +0 -7
- package/dist/solutions-components/p-9bbc05ff.js +0 -11
- package/dist/solutions-components/p-a82f35c9.js +0 -6
- package/dist/solutions-components/p-b6578a32.js +0 -6
- package/dist/solutions-components/p-b684bbc7.entry.js +0 -6
- package/dist/solutions-components/p-baccfd70.entry.js +0 -6
- package/dist/solutions-components/p-bf9e18d4.js +0 -8
- package/dist/solutions-components/p-d6322e4b.js +0 -6
- /package/dist/cjs/{array-46bb7df1.js → array-51e7da8f.js} +0 -0
- /package/dist/cjs/{debounce-30afab47.js → debounce-69c3bada.js} +0 -0
- /package/dist/cjs/{guid-3abe3cc6.js → guid-ca85ade0.js} +0 -0
- /package/dist/cjs/{html2canvas-34208bbf.js → html2canvas-770c1171.js} +0 -0
- /package/dist/cjs/{interactive-2fe0f43a.js → interactive-4e212b36.js} +0 -0
- /package/dist/cjs/{key-b8b55ea3.js → key-b32a6438.js} +0 -0
- /package/dist/cjs/{math-5132d9bd.js → math-ef14a84a.js} +0 -0
- /package/dist/cjs/{observers-f5fa975b.js → observers-20fe6f01.js} +0 -0
- /package/dist/cjs/{purify-f8c3e427.js → purify-5389d8d6.js} +0 -0
- /package/dist/cjs/{resources-2901b608.js → resources-1d2258a1.js} +0 -0
- /package/dist/cjs/{resources-60c27547.js → resources-7c9bff85.js} +0 -0
- /package/dist/cjs/{resources-9f2b33ee.js → resources-9dcbf30f.js} +0 -0
- /package/dist/cjs/{resources-4da89742.js → resources-a7e3371d.js} +0 -0
- /package/dist/cjs/{resources-8233a151.js → resources-b176fc52.js} +0 -0
- /package/dist/cjs/{resources-77713c2e.js → resources-b4b4b4fe.js} +0 -0
- /package/dist/cjs/{resources-e1258e8a.js → resources-c6f066a4.js} +0 -0
- /package/dist/cjs/{resources-91409a5d.js → resources-f13e2605.js} +0 -0
- /package/dist/cjs/{resources-c913200c.js → resources-f3e30b7b.js} +0 -0
- /package/dist/cjs/{utils-bae432a9.js → utils-662561ad.js} +0 -0
- /package/dist/cjs/{utils-cd14113f.js → utils-8a0f3e68.js} +0 -0
- /package/dist/esm/{array-751a2b87.js → array-4a653f59.js} +0 -0
- /package/dist/esm/{debounce-229b1a22.js → debounce-4c884e5c.js} +0 -0
- /package/dist/esm/{guid-2bbb8cd1.js → guid-1608fd71.js} +0 -0
- /package/dist/esm/{html2canvas-a0a4df55.js → html2canvas-12c862c8.js} +0 -0
- /package/dist/esm/{interactive-eaf4be29.js → interactive-0733ee76.js} +0 -0
- /package/dist/esm/{key-7a525416.js → key-97b504af.js} +0 -0
- /package/dist/esm/{math-5f92f517.js → math-e006358c.js} +0 -0
- /package/dist/esm/{observers-9d66685a.js → observers-67bdf9e5.js} +0 -0
- /package/dist/esm/{purify-c99d2ace.js → purify-75c61cf7.js} +0 -0
- /package/dist/esm/{resources-d6a4d343.js → resources-01034dfa.js} +0 -0
- /package/dist/esm/{resources-c253772f.js → resources-34b761fa.js} +0 -0
- /package/dist/esm/{resources-a9b2d33c.js → resources-43d63050.js} +0 -0
- /package/dist/esm/{resources-dca3d475.js → resources-5490ccf4.js} +0 -0
- /package/dist/esm/{resources-c65f5654.js → resources-6b7800e6.js} +0 -0
- /package/dist/esm/{resources-5bce3953.js → resources-6be20fcc.js} +0 -0
- /package/dist/esm/{resources-58d30a0f.js → resources-913009ae.js} +0 -0
- /package/dist/{components/resources4.js → esm/resources-b5267429.js} +0 -0
- /package/dist/esm/{resources-94c47e64.js → resources-f97db74e.js} +0 -0
- /package/dist/esm/{utils-2c91c963.js → utils-649c76ab.js} +0 -0
- /package/dist/esm/{utils-18db6b1d.js → utils-dcd05f69.js} +0 -0
- /package/dist/solutions-components/{p-f055a840.js → p-0506e06f.js} +0 -0
- /package/dist/solutions-components/{p-283e3a2d.js → p-0630e686.js} +0 -0
- /package/dist/solutions-components/{p-fb7e0054.js → p-08ab045a.js} +0 -0
- /package/dist/solutions-components/{p-2291b598.js → p-0b32d4fe.js} +0 -0
- /package/dist/solutions-components/{p-5961c4e0.js → p-203b16df.js} +0 -0
- /package/dist/solutions-components/{p-3fc17d72.js → p-3adf63ca.js} +0 -0
- /package/dist/solutions-components/{p-d4c103a8.js → p-3b72043f.js} +0 -0
- /package/dist/solutions-components/{p-18f1772b.js → p-43ebe36a.js} +0 -0
- /package/dist/solutions-components/{p-58ce5639.js → p-5242a652.js} +0 -0
- /package/dist/solutions-components/{p-18869c0f.js → p-5d25ba99.js} +0 -0
- /package/dist/solutions-components/{p-1f468797.js → p-76b83a13.js} +0 -0
- /package/dist/solutions-components/{p-d554507d.js → p-7ac7b1a1.js} +0 -0
- /package/dist/solutions-components/{p-868df4a0.js → p-9ab03591.js} +0 -0
- /package/dist/solutions-components/{p-38ef0684.js → p-a963dd48.js} +0 -0
- /package/dist/solutions-components/{p-63a0e9bf.js → p-cc815aca.js} +0 -0
- /package/dist/solutions-components/{p-6f2edf5b.js → p-d556b5c4.js} +0 -0
- /package/dist/solutions-components/{p-215d3505.js → p-f93e6931.js} +0 -0
- /package/dist/solutions-components/{p-4805ff13.js → p-fb3ba11a.js} +0 -0
- /package/dist/solutions-components/{p-b9749e09.js → p-ff4afb7d.js} +0 -0
@@ -4,76 +4,76 @@
|
|
4
4
|
* http://www.apache.org/licenses/LICENSE-2.0
|
5
5
|
*/
|
6
6
|
import { c as createCommonjsModule, g as getDefaultExportFromCjs } from './_commonjsHelpers-d5f9d613.js';
|
7
|
-
import { a as getAssetPath } from './index-
|
8
|
-
import { l as loadModules } from './loadModules-
|
9
|
-
import { q as queryFeaturesByID } from './mapViewUtils-
|
7
|
+
import { a as getAssetPath } from './index-d298aca9.js';
|
8
|
+
import { l as loadModules } from './loadModules-cd3569de.js';
|
9
|
+
import { q as queryFeaturesByID } from './mapViewUtils-1e68cede.js';
|
10
10
|
|
11
|
-
/** @license
|
12
|
-
* Copyright 2022 Esri
|
13
|
-
*
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
15
|
-
* you may not use this file except in compliance with the License.
|
16
|
-
* You may obtain a copy of the License at
|
17
|
-
*
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
19
|
-
*
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
23
|
-
* See the License for the specific language governing permissions and
|
24
|
-
* limitations under the License.
|
25
|
-
*/
|
26
|
-
//#region Public functions
|
27
|
-
/**
|
28
|
-
* Download the CSV file
|
29
|
-
*
|
30
|
-
* @param title Title (without file extension) to use for file; defaults to "export"
|
31
|
-
* @param outputLines Lines of output to write to file
|
32
|
-
*
|
33
|
-
* @see {@link https://medium.com/@danny.pule/export-json-to-csv-file-using-javascript-a0b7bc5b00d2}
|
34
|
-
*/
|
35
|
-
function downloadCSVFile(title, outputLines) {
|
36
|
-
const link = document.createElement("a");
|
37
|
-
if (link.download !== undefined) {
|
38
|
-
link.href = URL.createObjectURL(new Blob(outputLines, { type: "text/csv;charset=utf-8;" }));
|
39
|
-
link.download = `${title}.csv` || "export.csv";
|
40
|
-
link.style.visibility = "hidden";
|
41
|
-
document.body.appendChild(link);
|
42
|
-
link.click();
|
43
|
-
document.body.removeChild(link);
|
44
|
-
}
|
45
|
-
}
|
11
|
+
/** @license
|
12
|
+
* Copyright 2022 Esri
|
13
|
+
*
|
14
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
15
|
+
* you may not use this file except in compliance with the License.
|
16
|
+
* You may obtain a copy of the License at
|
17
|
+
*
|
18
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
19
|
+
*
|
20
|
+
* Unless required by applicable law or agreed to in writing, software
|
21
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
22
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
23
|
+
* See the License for the specific language governing permissions and
|
24
|
+
* limitations under the License.
|
25
|
+
*/
|
26
|
+
//#region Public functions
|
27
|
+
/**
|
28
|
+
* Download the CSV file
|
29
|
+
*
|
30
|
+
* @param title Title (without file extension) to use for file; defaults to "export"
|
31
|
+
* @param outputLines Lines of output to write to file
|
32
|
+
*
|
33
|
+
* @see {@link https://medium.com/@danny.pule/export-json-to-csv-file-using-javascript-a0b7bc5b00d2}
|
34
|
+
*/
|
35
|
+
function downloadCSVFile(title, outputLines) {
|
36
|
+
const link = document.createElement("a");
|
37
|
+
if (link.download !== undefined) {
|
38
|
+
link.href = URL.createObjectURL(new Blob(outputLines, { type: "text/csv;charset=utf-8;" }));
|
39
|
+
link.download = `${title}.csv` || "export.csv";
|
40
|
+
link.style.visibility = "hidden";
|
41
|
+
document.body.appendChild(link);
|
42
|
+
link.click();
|
43
|
+
document.body.removeChild(link);
|
44
|
+
}
|
45
|
+
}
|
46
46
|
//#endregion
|
47
47
|
|
48
|
-
/** @license
|
49
|
-
* Copyright 2022 Esri
|
50
|
-
*
|
51
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
52
|
-
* you may not use this file except in compliance with the License.
|
53
|
-
* You may obtain a copy of the License at
|
54
|
-
*
|
55
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
56
|
-
*
|
57
|
-
* Unless required by applicable law or agreed to in writing, software
|
58
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
59
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
60
|
-
* See the License for the specific language governing permissions and
|
61
|
-
* limitations under the License.
|
62
|
-
*/
|
63
|
-
//#endregion
|
64
|
-
//#region Public functions
|
65
|
-
/**
|
66
|
-
* Export a csv of the attributes from the features that match the provided ids
|
67
|
-
*
|
68
|
-
* @param filename Name to use for file
|
69
|
-
* @param labels Labels to write
|
70
|
-
*/
|
71
|
-
function exportCSV(filename, labels) {
|
72
|
-
// Format values to string so it doesn't get tripped up when a value has a comma
|
73
|
-
// another option could be to export with a different delimiter
|
74
|
-
const outputLines = labels.map(label => Object.values(label).map(v => `"${v}"`).join(",") + "\r\n");
|
75
|
-
downloadCSVFile(filename, outputLines);
|
76
|
-
}
|
48
|
+
/** @license
|
49
|
+
* Copyright 2022 Esri
|
50
|
+
*
|
51
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
52
|
+
* you may not use this file except in compliance with the License.
|
53
|
+
* You may obtain a copy of the License at
|
54
|
+
*
|
55
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
56
|
+
*
|
57
|
+
* Unless required by applicable law or agreed to in writing, software
|
58
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
59
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
60
|
+
* See the License for the specific language governing permissions and
|
61
|
+
* limitations under the License.
|
62
|
+
*/
|
63
|
+
//#endregion
|
64
|
+
//#region Public functions
|
65
|
+
/**
|
66
|
+
* Export a csv of the attributes from the features that match the provided ids
|
67
|
+
*
|
68
|
+
* @param filename Name to use for file
|
69
|
+
* @param labels Labels to write
|
70
|
+
*/
|
71
|
+
function exportCSV(filename, labels) {
|
72
|
+
// Format values to string so it doesn't get tripped up when a value has a comma
|
73
|
+
// another option could be to export with a different delimiter
|
74
|
+
const outputLines = labels.map(label => Object.values(label).map(v => `"${v}"`).join(",") + "\r\n");
|
75
|
+
downloadCSVFile(filename, outputLines);
|
76
|
+
}
|
77
77
|
//#endregion
|
78
78
|
|
79
79
|
/* @preserve
|
@@ -1342,7 +1342,7 @@ function(t){var r=function(t){var e,r,n,i,a,o,s,c,u,h;for(/[^\x00-\xFF]/.test(t)
|
|
1342
1342
|
* Licensed under the MIT License.
|
1343
1343
|
* http://opensource.org/licenses/mit-license
|
1344
1344
|
*/
|
1345
|
-
function(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r="function"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join("")};if(n.open("GET",t,!e),n.overrideMimeType("text/plain; charset=x-user-defined"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0);}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r);}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile;}(E.API),function(e){function r(){return (n.html2canvas?Promise.resolve(n.html2canvas):import('./html2canvas-a0a4df55.js').then(function (n) { return n.h; })).catch((function(t){return Promise.reject(new Error("Could not load html2canvas: "+t))})).then((function(t){return t.default?t.default:t}))}function i(){return (n.DOMPurify?Promise.resolve(n.DOMPurify):import('./purify-c99d2ace.js').then(function (n) { return n.p; })).catch((function(t){return Promise.reject(new Error("Could not load dompurify: "+t))})).then((function(t){return t.default?t.default:t}))}var a=function(e){var r=t(e);return "undefined"===r?"undefined":"string"===r||e instanceof String?"string":"number"===r||e instanceof Number?"number":"function"===r||e instanceof Function?"function":e&&e.constructor===Array?"array":e&&1===e.nodeType?"element":"object"===r?"object":"unknown"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:"file.pdf",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:"transparent"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(a(t)){case"string":return "string";case"element":return "canvas"===t.nodeName.toLowerCase()?"canvas":"element";default:return "unknown"}}(t)){case"string":return this.then(i).then((function(e){return this.set({src:o("div",{innerHTML:t,dompurify:e})})}));case"element":return this.set({src:t});case"canvas":return this.set({canvas:t});case"img":return this.set({img:t});default:return this.error("Unknown source type.")}}))},s.prototype.to=function(t){switch(t){case"container":return this.toContainer();case"canvas":return this.toCanvas();case"img":return this.toImg();case"pdf":return this.toPdf();default:return this.error("Invalid target.")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error("Cannot duplicate - no source HTML.")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:"relative",display:"inline-block",width:("number"!=typeof this.opt.width||isNaN(this.opt.width)||"number"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+"px",left:0,right:0,top:0,margin:"auto",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&"SCRIPT"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&("CANVAS"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0)):"TEXTAREA"!==e.nodeName&&"SELECT"!==e.nodeName||(n.value=e.value),n.addEventListener("load",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft;}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);"BODY"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+"px"),this.prop.overlay=o("div",{className:"html2pdf__overlay",style:{position:"fixed",overflow:"hidden",zIndex:1e3,left:"-100000px",right:0,bottom:0,top:0}}),this.prop.container=o("div",{className:"html2pdf__container",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o("div",{style:{clear:"both",border:"0 none transparent",margin:0,padding:0,height:0}})),this.prop.container.style.float="none",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position="relative",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+"px";}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay);}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n="number"!=typeof this.opt.width||isNaN(this.opt.width)||"number"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:"#ffffff",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return "truetype"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style);}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay);}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL("image/"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement("img"),this.prop.img.src=t;}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF;}))},s.prototype.output=function(t,e,r){return "img"===(r=r||"pdf").toLowerCase()||"image"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case"img":return this.prop.img;case"datauristring":case"dataurlstring":return this.prop.img.src;case"datauri":case"dataurl":return document.location.href=this.prop.img.src;default:throw 'Image output type "'+t+'" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename);}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf);}))},s.prototype.set=function(t){if("object"!==a(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e];};switch(e){case"margin":return this.setMargin.bind(this,t.margin);case"jsPDF":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case"pageSize":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e];}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(a(t)){case"number":t=[t,t,t,t];case"array":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error("Invalid margin array.")}this.opt.margin=t;})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty("inner")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t;}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf("[native code]")&&"Promise"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t);})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,E.getPageSize=function(e,r,n){if("object"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n;}r=r||"mm",n=n||"a4",e=(""+(e||"P")).toLowerCase();var a,o=(""+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};switch(r){case"pt":a=1;break;case"mm":a=72/25.4;break;case"cm":a=72/2.54;break;case"in":a=72;break;case"px":a=.75;break;case"pc":case"em":a=12;break;case"ex":a=6;break;default:throw "Invalid unit: "+r}var c,u=0,h=0;if(s.hasOwnProperty(o))u=s[o][1]/a,h=s[o][0]/a;else try{u=n[1],h=n[0];}catch(t){throw new Error("Invalid format: "+n)}if("p"===e||"portrait"===e)e="p",h>u&&(c=h,h=u,u=c);else {if("l"!==e&&"landscape"!==e)throw "Invalid orientation: "+e;e="l",u>h&&(c=h,h=u,u=c);}return {width:h,height:u,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(jt):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()};}(E.API),E.API.addJS=function(t){return Ht=t,this.internal.events.subscribe("postPutResources",(function(){Ut=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/Names [(EmbeddedJS) "+(Ut+1)+" 0 R]"),this.internal.out(">>"),this.internal.out("endobj"),zt=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+Ht+")"),this.internal.out(">>"),this.internal.out("endobj");})),this.internal.events.subscribe("putCatalog",(function(){void 0!==Ut&&void 0!==zt&&this.internal.out("/Names <</JavaScript "+Ut+" 0 R>>");})),this},
|
1345
|
+
function(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r="function"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join("")};if(n.open("GET",t,!e),n.overrideMimeType("text/plain; charset=x-user-defined"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0);}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r);}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile;}(E.API),function(e){function r(){return (n.html2canvas?Promise.resolve(n.html2canvas):import('./html2canvas-12c862c8.js').then(function (n) { return n.h; })).catch((function(t){return Promise.reject(new Error("Could not load html2canvas: "+t))})).then((function(t){return t.default?t.default:t}))}function i(){return (n.DOMPurify?Promise.resolve(n.DOMPurify):import('./purify-75c61cf7.js').then(function (n) { return n.p; })).catch((function(t){return Promise.reject(new Error("Could not load dompurify: "+t))})).then((function(t){return t.default?t.default:t}))}var a=function(e){var r=t(e);return "undefined"===r?"undefined":"string"===r||e instanceof String?"string":"number"===r||e instanceof Number?"number":"function"===r||e instanceof Function?"function":e&&e.constructor===Array?"array":e&&1===e.nodeType?"element":"object"===r?"object":"unknown"},o=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:"file.pdf",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:"transparent"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(a(t)){case"string":return "string";case"element":return "canvas"===t.nodeName.toLowerCase()?"canvas":"element";default:return "unknown"}}(t)){case"string":return this.then(i).then((function(e){return this.set({src:o("div",{innerHTML:t,dompurify:e})})}));case"element":return this.set({src:t});case"canvas":return this.set({canvas:t});case"img":return this.set({img:t});default:return this.error("Unknown source type.")}}))},s.prototype.to=function(t){switch(t){case"container":return this.toContainer();case"canvas":return this.toCanvas();case"img":return this.toImg();case"pdf":return this.toPdf();default:return this.error("Invalid target.")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error("Cannot duplicate - no source HTML.")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:"relative",display:"inline-block",width:("number"!=typeof this.opt.width||isNaN(this.opt.width)||"number"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth):this.opt.windowWidth)+"px",left:0,right:0,top:0,margin:"auto",backgroundColor:this.opt.backgroundColor},e=function t(e,r){for(var n=3===e.nodeType?document.createTextNode(e.nodeValue):e.cloneNode(!1),i=e.firstChild;i;i=i.nextSibling)!0!==r&&1===i.nodeType&&"SCRIPT"===i.nodeName||n.appendChild(t(i,r));return 1===e.nodeType&&("CANVAS"===e.nodeName?(n.width=e.width,n.height=e.height,n.getContext("2d").drawImage(e,0,0)):"TEXTAREA"!==e.nodeName&&"SELECT"!==e.nodeName||(n.value=e.value),n.addEventListener("load",(function(){n.scrollTop=e.scrollTop,n.scrollLeft=e.scrollLeft;}),!0)),n}(this.prop.src,this.opt.html2canvas.javascriptEnabled);"BODY"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+"px"),this.prop.overlay=o("div",{className:"html2pdf__overlay",style:{position:"fixed",overflow:"hidden",zIndex:1e3,left:"-100000px",right:0,bottom:0,top:0}}),this.prop.container=o("div",{className:"html2pdf__container",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(o("div",{style:{clear:"both",border:"0 none transparent",margin:0,padding:0,height:0}})),this.prop.container.style.float="none",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position="relative",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+"px";}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay);}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(r).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n="number"!=typeof this.opt.width||isNaN(this.opt.width)||"number"!=typeof this.opt.windowWidth||isNaN(this.opt.windowWidth)?1:this.opt.width/this.opt.windowWidth,i=Object.assign({async:!0,allowTaint:!0,scale:n,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:"#ffffff",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete i.onrendered,e.context2d.autoPaging=void 0===this.opt.autoPaging||this.opt.autoPaging,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.margin=this.opt.margin,e.context2d.fontFaces=r,r)for(var a=0;a<r.length;++a){var o=r[a],s=o.src.find((function(t){return "truetype"===t.format}));s&&e.addFont(s.url,o.ref.name,o.ref.style);}return i.windowHeight=i.windowHeight||0,i.windowHeight=0==i.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):i.windowHeight,e.context2d.save(!0),t(this.prop.container,i)})).then((function(t){this.opt.jsPDF.context2d.restore(!0),(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay);}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL("image/"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement("img"),this.prop.img.src=t;}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF;}))},s.prototype.output=function(t,e,r){return "img"===(r=r||"pdf").toLowerCase()||"image"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case"img":return this.prop.img;case"datauristring":case"dataurlstring":return this.prop.img.src;case"datauri":case"dataurl":return document.location.href=this.prop.img.src;default:throw 'Image output type "'+t+'" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename);}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf);}))},s.prototype.set=function(t){if("object"!==a(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e];};switch(e){case"margin":return this.setMargin.bind(this,t.margin);case"jsPDF":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case"pageSize":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e];}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(a(t)){case"number":t=[t,t,t,t];case"array":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error("Invalid margin array.")}this.opt.margin=t;})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||E.getPageSize(this.opt.jsPDF)).hasOwnProperty("inner")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t;}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf("[native code]")&&"Promise"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t);})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,E.getPageSize=function(e,r,n){if("object"===t(e)){var i=e;e=i.orientation,r=i.unit||r,n=i.format||n;}r=r||"mm",n=n||"a4",e=(""+(e||"P")).toLowerCase();var a,o=(""+n).toLowerCase(),s={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};switch(r){case"pt":a=1;break;case"mm":a=72/25.4;break;case"cm":a=72/2.54;break;case"in":a=72;break;case"px":a=.75;break;case"pc":case"em":a=12;break;case"ex":a=6;break;default:throw "Invalid unit: "+r}var c,u=0,h=0;if(s.hasOwnProperty(o))u=s[o][1]/a,h=s[o][0]/a;else try{u=n[1],h=n[0];}catch(t){throw new Error("Invalid format: "+n)}if("p"===e||"portrait"===e)e="p",h>u&&(c=h,h=u,u=c);else {if("l"!==e&&"landscape"!==e)throw "Invalid orientation: "+e;e="l",u>h&&(c=h,h=u,u=c);}return {width:h,height:u,unit:r,k:a,orientation:e}},e.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(jt):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()};}(E.API),E.API.addJS=function(t){return Ht=t,this.internal.events.subscribe("postPutResources",(function(){Ut=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/Names [(EmbeddedJS) "+(Ut+1)+" 0 R]"),this.internal.out(">>"),this.internal.out("endobj"),zt=this.internal.newObject(),this.internal.out("<<"),this.internal.out("/S /JavaScript"),this.internal.out("/JS ("+Ht+")"),this.internal.out(">>"),this.internal.out("endobj");})),this.internal.events.subscribe("putCatalog",(function(){void 0!==Ut&&void 0!==zt&&this.internal.out("/Names <</JavaScript "+Ut+" 0 R>>");})),this},
|
1346
1346
|
/**
|
1347
1347
|
* @license
|
1348
1348
|
* Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv
|
@@ -1505,7 +1505,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
|
|
1505
1505
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
1506
1506
|
* ====================================================================
|
1507
1507
|
*/
|
1508
|
-
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-
|
1508
|
+
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-a185f2b1.js')).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
|
1509
1509
|
/** ====================================================================
|
1510
1510
|
* @license
|
1511
1511
|
* jsPDF XMP metadata plugin
|
@@ -2163,599 +2163,599 @@ class PDFLabels {
|
|
2163
2163
|
}
|
2164
2164
|
}
|
2165
2165
|
|
2166
|
-
/** @license
|
2167
|
-
* Copyright 2022 Esri
|
2168
|
-
*
|
2169
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
2170
|
-
* you may not use this file except in compliance with the License.
|
2171
|
-
* You may obtain a copy of the License at
|
2172
|
-
*
|
2173
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
2174
|
-
*
|
2175
|
-
* Unless required by applicable law or agreed to in writing, software
|
2176
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
2177
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
2178
|
-
* See the License for the specific language governing permissions and
|
2179
|
-
* limitations under the License.
|
2180
|
-
*/
|
2181
|
-
//#endregion
|
2182
|
-
//#region Public functions
|
2183
|
-
/**
|
2184
|
-
* Exports a PDF of labels.
|
2185
|
-
*
|
2186
|
-
* @param filename Name to use for file (without file extension); defaults to "export"
|
2187
|
-
* @param labels Labels to write
|
2188
|
-
* @param labelPageDescription Page format to use for labels
|
2189
|
-
* @param title Title for each page
|
2190
|
-
* @param initialImageDataUrl Data URL of image for first page
|
2191
|
-
*/
|
2192
|
-
function exportPDF(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
|
2193
|
-
downloadPDFFile(filename, labels, labelPageDescription, title, initialImageDataUrl);
|
2194
|
-
}
|
2195
|
-
//#endregion
|
2196
|
-
//#region Private functions
|
2197
|
-
/**
|
2198
|
-
* Downloads the PDF file.
|
2199
|
-
*
|
2200
|
-
* @param filename Name to use for file (without file extension); defaults to "export"
|
2201
|
-
* @param labels Labels to write
|
2202
|
-
* @param labelPageDescription Page format to use for labels
|
2203
|
-
* @param title Title for each page
|
2204
|
-
* @param initialImageDataUrl Data URL of image for first page
|
2205
|
-
*/
|
2206
|
-
function downloadPDFFile(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
|
2207
|
-
const pdfLib = new PDFCreator_jsPDF();
|
2208
|
-
pdfLib.initialize({
|
2209
|
-
pageType: "ANSI_A"
|
2210
|
-
}, getAssetPath(`../assets/arcgis-pdf-creator/`), "en", filename // filename without ".pdf"
|
2211
|
-
)
|
2212
|
-
.then(() => {
|
2213
|
-
const labeller = new PDFLabels();
|
2214
|
-
labeller.initialize(pdfLib)
|
2215
|
-
.then(async () => {
|
2216
|
-
const labelSpec = labelPageDescription.labelSpec;
|
2217
|
-
let startingPageNum = 1;
|
2218
|
-
// Add the screenshot to the PDF
|
2219
|
-
if (initialImageDataUrl) {
|
2220
|
-
const pageProperties = labelSpec.pageProperties;
|
2221
|
-
const pageSize = PDFCreator.getPageSize(pageProperties.pageType);
|
2222
|
-
pdfLib.drawImage(initialImageDataUrl, {
|
2223
|
-
x: pageProperties.leftMargin,
|
2224
|
-
y: pageProperties.topMargin,
|
2225
|
-
width: pageSize.width - pageProperties.leftMargin - pageProperties.rightMargin,
|
2226
|
-
height: pageSize.height - pageProperties.topMargin - pageProperties.bottomMargin
|
2227
|
-
});
|
2228
|
-
if (title) {
|
2229
|
-
labeller.drawSupplementalText(title, 0, -0.1);
|
2230
|
-
}
|
2231
|
-
pdfLib.addPage();
|
2232
|
-
++startingPageNum;
|
2233
|
-
}
|
2234
|
-
// Add the labels to the PDF
|
2235
|
-
await labeller.addLabelsToDoc(labels, labelSpec, startingPageNum, title // heading
|
2236
|
-
);
|
2237
|
-
pdfLib.save();
|
2238
|
-
});
|
2239
|
-
});
|
2240
|
-
}
|
2166
|
+
/** @license
|
2167
|
+
* Copyright 2022 Esri
|
2168
|
+
*
|
2169
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
2170
|
+
* you may not use this file except in compliance with the License.
|
2171
|
+
* You may obtain a copy of the License at
|
2172
|
+
*
|
2173
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
2174
|
+
*
|
2175
|
+
* Unless required by applicable law or agreed to in writing, software
|
2176
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
2177
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
2178
|
+
* See the License for the specific language governing permissions and
|
2179
|
+
* limitations under the License.
|
2180
|
+
*/
|
2181
|
+
//#endregion
|
2182
|
+
//#region Public functions
|
2183
|
+
/**
|
2184
|
+
* Exports a PDF of labels.
|
2185
|
+
*
|
2186
|
+
* @param filename Name to use for file (without file extension); defaults to "export"
|
2187
|
+
* @param labels Labels to write
|
2188
|
+
* @param labelPageDescription Page format to use for labels
|
2189
|
+
* @param title Title for each page
|
2190
|
+
* @param initialImageDataUrl Data URL of image for first page
|
2191
|
+
*/
|
2192
|
+
function exportPDF(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
|
2193
|
+
downloadPDFFile(filename, labels, labelPageDescription, title, initialImageDataUrl);
|
2194
|
+
}
|
2195
|
+
//#endregion
|
2196
|
+
//#region Private functions
|
2197
|
+
/**
|
2198
|
+
* Downloads the PDF file.
|
2199
|
+
*
|
2200
|
+
* @param filename Name to use for file (without file extension); defaults to "export"
|
2201
|
+
* @param labels Labels to write
|
2202
|
+
* @param labelPageDescription Page format to use for labels
|
2203
|
+
* @param title Title for each page
|
2204
|
+
* @param initialImageDataUrl Data URL of image for first page
|
2205
|
+
*/
|
2206
|
+
function downloadPDFFile(filename, labels, labelPageDescription, title = "", initialImageDataUrl = "") {
|
2207
|
+
const pdfLib = new PDFCreator_jsPDF();
|
2208
|
+
pdfLib.initialize({
|
2209
|
+
pageType: "ANSI_A"
|
2210
|
+
}, getAssetPath(`../assets/arcgis-pdf-creator/`), "en", filename // filename without ".pdf"
|
2211
|
+
)
|
2212
|
+
.then(() => {
|
2213
|
+
const labeller = new PDFLabels();
|
2214
|
+
labeller.initialize(pdfLib)
|
2215
|
+
.then(async () => {
|
2216
|
+
const labelSpec = labelPageDescription.labelSpec;
|
2217
|
+
let startingPageNum = 1;
|
2218
|
+
// Add the screenshot to the PDF
|
2219
|
+
if (initialImageDataUrl) {
|
2220
|
+
const pageProperties = labelSpec.pageProperties;
|
2221
|
+
const pageSize = PDFCreator.getPageSize(pageProperties.pageType);
|
2222
|
+
pdfLib.drawImage(initialImageDataUrl, {
|
2223
|
+
x: pageProperties.leftMargin,
|
2224
|
+
y: pageProperties.topMargin,
|
2225
|
+
width: pageSize.width - pageProperties.leftMargin - pageProperties.rightMargin,
|
2226
|
+
height: pageSize.height - pageProperties.topMargin - pageProperties.bottomMargin
|
2227
|
+
});
|
2228
|
+
if (title) {
|
2229
|
+
labeller.drawSupplementalText(title, 0, -0.1);
|
2230
|
+
}
|
2231
|
+
pdfLib.addPage();
|
2232
|
+
++startingPageNum;
|
2233
|
+
}
|
2234
|
+
// Add the labels to the PDF
|
2235
|
+
await labeller.addLabelsToDoc(labels, labelSpec, startingPageNum, title // heading
|
2236
|
+
);
|
2237
|
+
pdfLib.save();
|
2238
|
+
});
|
2239
|
+
});
|
2240
|
+
}
|
2241
2241
|
//#endregion
|
2242
2242
|
|
2243
|
-
/** @license
|
2244
|
-
* Copyright 2022 Esri
|
2245
|
-
*
|
2246
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
2247
|
-
* you may not use this file except in compliance with the License.
|
2248
|
-
* You may obtain a copy of the License at
|
2249
|
-
*
|
2250
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
2251
|
-
*
|
2252
|
-
* Unless required by applicable law or agreed to in writing, software
|
2253
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
2254
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
2255
|
-
* See the License for the specific language governing permissions and
|
2256
|
-
* limitations under the License.
|
2257
|
-
*/
|
2258
|
-
const lineSeparatorChar = "|";
|
2259
|
-
//#endregion
|
2260
|
-
//#region Public functions
|
2261
|
-
/**
|
2262
|
-
* Downloads csv of mailing labels for the provided list of ids
|
2263
|
-
*
|
2264
|
-
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2265
|
-
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
2266
|
-
* all attributes are exported
|
2267
|
-
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
2268
|
-
* @param addColumnTitle Indicates if column headings should be included in output
|
2269
|
-
* @returns Promise resolving when function is done
|
2270
|
-
*/
|
2271
|
-
async function downloadCSV(exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
|
2272
|
-
let labels = await consolidateLabels(exportInfos, formatUsingLayerPopup, addColumnTitle, true);
|
2273
|
-
labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
|
2274
|
-
const layerIds = Object.keys(exportInfos);
|
2275
|
-
let layerLabels = [];
|
2276
|
-
labels.forEach(label => {
|
2277
|
-
const id = label[0];
|
2278
|
-
// layerIds are stored as value separator at the end of the values for a given layer
|
2279
|
-
if (layerIds.indexOf(id) < 0) {
|
2280
|
-
layerLabels.push(label);
|
2281
|
-
}
|
2282
|
-
else {
|
2283
|
-
const selectionSetNames = _getSelectionSetNames(exportInfos, new RegExp(`\\b${id}\\b`));
|
2284
|
-
// once we see the layerId we have reached the end of it's values and should export
|
2285
|
-
exportCSV(_createFilename(selectionSetNames), layerLabels);
|
2286
|
-
layerLabels = [];
|
2287
|
-
}
|
2288
|
-
});
|
2289
|
-
return Promise.resolve();
|
2290
|
-
}
|
2291
|
-
/**
|
2292
|
-
* Downloads csv of mailing labels for the provided list of ids
|
2293
|
-
*
|
2294
|
-
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2295
|
-
* @param labelPageDescription Provides PDF page layout info
|
2296
|
-
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
2297
|
-
* @param title Title for each page
|
2298
|
-
* @param initialImageDataUrl Data URL of image for first page
|
2299
|
-
* @returns Promise resolving when function is done
|
2300
|
-
*/
|
2301
|
-
async function downloadPDF(exportInfos, labelPageDescription, removeDuplicates = false, title = "", initialImageDataUrl = "") {
|
2302
|
-
let labels = await consolidateLabels(exportInfos);
|
2303
|
-
const selectionSetNames = _getSelectionSetNames(exportInfos);
|
2304
|
-
labels =
|
2305
|
-
// Remove empty lines in labels
|
2306
|
-
labels.map(labelLines => labelLines.filter(line => line.length > 0))
|
2307
|
-
// Remove empty labels
|
2308
|
-
.filter(label => label.length > 0);
|
2309
|
-
labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
|
2310
|
-
exportPDF(_createFilename(selectionSetNames), labels, labelPageDescription, title, initialImageDataUrl);
|
2311
|
-
return Promise.resolve();
|
2312
|
-
}
|
2313
|
-
//#endregion
|
2314
|
-
//#region Private functions
|
2315
|
-
/**
|
2316
|
-
* Converts a set of fieldInfos into template lines.
|
2317
|
-
*
|
2318
|
-
* @param fieldInfos Layer's fieldInfos structure
|
2319
|
-
* @param bypassFieldVisiblity Indicates if the configured fieldInfo visibility property should be ignored
|
2320
|
-
* @return Label spec with lines separated by `lineSeparatorChar`
|
2321
|
-
*/
|
2322
|
-
function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false) {
|
2323
|
-
const labelSpec = [];
|
2324
|
-
// Every visible attribute is used
|
2325
|
-
fieldInfos.forEach(fieldInfo => {
|
2326
|
-
if (fieldInfo.visible || bypassFieldVisiblity) {
|
2327
|
-
labelSpec.push(`{${fieldInfo.fieldName}}`);
|
2328
|
-
}
|
2329
|
-
});
|
2330
|
-
return labelSpec.join(lineSeparatorChar);
|
2331
|
-
}
|
2332
|
-
/**
|
2333
|
-
* Converts the text of a custom popup into a multiline label specification; conversion splits text into
|
2334
|
-
* lines on <br>s, and removes HTML tags. It does not handle Arcade and related records.
|
2335
|
-
*
|
2336
|
-
* @param popupInfo Layer's popupInfo structure containing description, fieldInfos, and expressionInfos, e.g.,
|
2337
|
-
* "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY}, {STATE} {ZIP} <br /></div>"
|
2338
|
-
* @return Label spec with lines separated by `lineSeparatorChar`
|
2339
|
-
*/
|
2340
|
-
function _convertPopupTextToLabelSpec(popupInfo) {
|
2341
|
-
// Replace <br> variants with the line separator character
|
2342
|
-
popupInfo = popupInfo.replace(/<br\s*\/?>/gi, lineSeparatorChar);
|
2343
|
-
// Replace <p> variants with the line separator character, except in the first position
|
2344
|
-
popupInfo = popupInfo.replace(/<p[^>]*>/gi, lineSeparatorChar).trim().replace(/^\|/, "");
|
2345
|
-
// Remove </p>
|
2346
|
-
popupInfo = popupInfo.replace(/<\/p>/gi, "");
|
2347
|
-
// Replace \n with the line separator character
|
2348
|
-
popupInfo = popupInfo.replace(/\n/gi, "|");
|
2349
|
-
// Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace some char representations
|
2350
|
-
let labelSpec = popupInfo
|
2351
|
-
.replace(/<[\s.]*[^<>]*\/?>/gi, "")
|
2352
|
-
.replace(/\xA0/gi, " ")
|
2353
|
-
.replace(/</gi, "<")
|
2354
|
-
.replace(/>/gi, ">")
|
2355
|
-
.replace(/ /gi, " ");
|
2356
|
-
// Trim each line
|
2357
|
-
labelSpec = labelSpec.replace(/\s*\|\s*/g, "|");
|
2358
|
-
// Remove empty lines
|
2359
|
-
while (labelSpec.match(/\|\|/)) {
|
2360
|
-
labelSpec = labelSpec.replace(/\|\|/, "|");
|
2361
|
-
}
|
2362
|
-
// Remove leading and trailing line feeds
|
2363
|
-
labelSpec = labelSpec.replace(/^\|/, "");
|
2364
|
-
labelSpec = labelSpec.replace(/\|$/, "");
|
2365
|
-
return labelSpec.trim();
|
2366
|
-
}
|
2367
|
-
/**
|
2368
|
-
* Extracts Arcade expressions from the lines of a label format and creates an Arcade executor for each
|
2369
|
-
* referenced expression name.
|
2370
|
-
*
|
2371
|
-
* @param labelFormat Label to examine
|
2372
|
-
* @param layer Layer from which to fetch features
|
2373
|
-
* @return Promise resolving to a set of executors keyed using the expression name
|
2374
|
-
*/
|
2375
|
-
async function _createArcadeExecutors(labelFormat, layer) {
|
2376
|
-
const arcadeExecutors = {};
|
2377
|
-
// Are any Arcade expressions in the layer?
|
2378
|
-
if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
|
2379
|
-
return Promise.resolve(arcadeExecutors);
|
2380
|
-
}
|
2381
|
-
// Are there any Arcade expressions in the label format?
|
2382
|
-
const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
|
2383
|
-
const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
|
2384
|
-
if (!arcadeExpressionsMatches) {
|
2385
|
-
return Promise.resolve(arcadeExecutors);
|
2386
|
-
}
|
2387
|
-
// Generate an Arcade executor for each match
|
2388
|
-
const [arcade] = await loadModules(["esri/arcade"]);
|
2389
|
-
const labelingProfile = {
|
2390
|
-
variables: [
|
2391
|
-
{
|
2392
|
-
name: "$feature",
|
2393
|
-
type: "feature"
|
2394
|
-
},
|
2395
|
-
{
|
2396
|
-
name: "$layer",
|
2397
|
-
type: "featureSet"
|
2398
|
-
},
|
2399
|
-
{
|
2400
|
-
name: "$datastore",
|
2401
|
-
type: "featureSetCollection"
|
2402
|
-
},
|
2403
|
-
{
|
2404
|
-
name: "$map",
|
2405
|
-
type: "featureSetCollection"
|
2406
|
-
}
|
2407
|
-
]
|
2408
|
-
};
|
2409
|
-
const createArcadeExecutorPromises = {};
|
2410
|
-
arcadeExpressionsMatches.forEach((match) => {
|
2411
|
-
const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
|
2412
|
-
(layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
|
2413
|
-
if (expressionInfo.name === expressionName) {
|
2414
|
-
createArcadeExecutorPromises[expressionName] =
|
2415
|
-
arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
|
2416
|
-
}
|
2417
|
-
});
|
2418
|
-
});
|
2419
|
-
const promises = Object.values(createArcadeExecutorPromises);
|
2420
|
-
return Promise.all(promises)
|
2421
|
-
.then(executors => {
|
2422
|
-
const expressionNames = Object.keys(createArcadeExecutorPromises);
|
2423
|
-
for (let i = 0; i < expressionNames.length; ++i) {
|
2424
|
-
arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
|
2425
|
-
}
|
2426
|
-
return arcadeExecutors;
|
2427
|
-
});
|
2428
|
-
}
|
2429
|
-
/**
|
2430
|
-
* Creates a title from a list of selection set names.
|
2431
|
-
*
|
2432
|
-
* @param selectionSetNames Names to use in title
|
2433
|
-
* @return Title composed of the selectionSetNames separated by commas; if there are no
|
2434
|
-
* selection set names supplied, "download" is returned
|
2435
|
-
*/
|
2436
|
-
function _createFilename(selectionSetNames) {
|
2437
|
-
// Windows doesn't permit the characters \/:*?"<>|
|
2438
|
-
const title = selectionSetNames.length > 0 ? selectionSetNames.join(", ") : "download";
|
2439
|
-
return title;
|
2440
|
-
}
|
2441
|
-
/**
|
2442
|
-
* Creates relationship queries for each relationship flag in a popup.
|
2443
|
-
* @param layer Layer whose popup is to be examined
|
2444
|
-
* @return Hash of relationships by their id, or null if there are no relationship flags in the
|
2445
|
-
* popup; each relationship has the properties layer and relatedQuery for the related layer
|
2446
|
-
* and the query for that layer
|
2447
|
-
*/
|
2448
|
-
function _createRelationshipQueries(layer) {
|
2449
|
-
const relationships = {};
|
2450
|
-
const relationshipFieldPattern = /\{relationships\/\d+\//gm;
|
2451
|
-
const relationshipIdPattern = /\d+/;
|
2452
|
-
// Test if this popup has any relationship references
|
2453
|
-
const matches = layer.popupTemplate.content[0].text.match(relationshipFieldPattern);
|
2454
|
-
if (matches) {
|
2455
|
-
matches.forEach(match => {
|
2456
|
-
// Add a query to a found relationship if we don't already have one
|
2457
|
-
const id = match.match(relationshipIdPattern)[0];
|
2458
|
-
if (!relationships.hasOwnProperty(id)) {
|
2459
|
-
const relatedQuery = {
|
2460
|
-
outFields: ['*'],
|
2461
|
-
relationshipId: id,
|
2462
|
-
returnGeometry: false
|
2463
|
-
};
|
2464
|
-
relationships[id] = {
|
2465
|
-
layer,
|
2466
|
-
relatedQuery
|
2467
|
-
};
|
2468
|
-
}
|
2469
|
-
});
|
2470
|
-
}
|
2471
|
-
return relationships;
|
2472
|
-
}
|
2473
|
-
/**
|
2474
|
-
* Extracts Arcade expression references from the lines of a label format.
|
2475
|
-
*
|
2476
|
-
* @param labelFormat Label to examine
|
2477
|
-
* @return Array of Arcade expression references, e.g., ["{expression/expr1}", "{expression/expr2}"]
|
2478
|
-
*/
|
2479
|
-
function _getExpressionsFromLabel(labelFormat) {
|
2480
|
-
var _a;
|
2481
|
-
const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
|
2482
|
-
return (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
|
2483
|
-
}
|
2484
|
-
/**
|
2485
|
-
* Extracts field name expressions from the lines of a label format.
|
2486
|
-
*
|
2487
|
-
* @param labelFormat Label to examine
|
2488
|
-
* @returns Array of field name expressions, e.g., ["{NAME}", "{STREET}", "{CITY}", "{STATE}", "{ZIP}"]
|
2489
|
-
*/
|
2490
|
-
function _getFieldsFromLabel(labelFormat) {
|
2491
|
-
// Get all fields
|
2492
|
-
const fieldExpressions = [];
|
2493
|
-
let iStart = 0;
|
2494
|
-
while (iStart < labelFormat.length) {
|
2495
|
-
const iOpen = labelFormat.indexOf("{", iStart); // Find the next open brace
|
2496
|
-
if (iOpen < 0) {
|
2497
|
-
break;
|
2498
|
-
} // No more open braces
|
2499
|
-
const iClose = labelFormat.indexOf("}", iOpen); // Find the matching close brace
|
2500
|
-
if (iClose < 0) {
|
2501
|
-
break;
|
2502
|
-
} // No more close braces
|
2503
|
-
const fieldName = labelFormat.substring(iOpen, iClose + 1); // Extract the field name with braces
|
2504
|
-
fieldExpressions.push(fieldName);
|
2505
|
-
iStart = iClose + 1; // Start looking for the next field name after the close brace
|
2506
|
-
}
|
2507
|
-
// Get the Arcade expressions
|
2508
|
-
const arcadeExpressions = _getExpressionsFromLabel(labelFormat);
|
2509
|
-
// Remove the Arcade expressions from the returned list of field expressions
|
2510
|
-
return fieldExpressions.filter(fieldExpression => arcadeExpressions.indexOf(fieldExpression) < 0);
|
2511
|
-
}
|
2512
|
-
/**
|
2513
|
-
* Prepares an attribute's value by applying domain and type information.
|
2514
|
-
*
|
2515
|
-
* @param attributeValue Value of attribute
|
2516
|
-
* @param attributeType Type of attribute
|
2517
|
-
* @param attributeDomain Domain info for attribute, if any
|
2518
|
-
* @param attributeFormat Format info for attribute, if any
|
2519
|
-
* @param intl esri/intl
|
2520
|
-
* @return Attribute value modified appropriate to domain and type
|
2521
|
-
*/
|
2522
|
-
function _prepareAttributeValue(attributeValue, attributeType, attributeDomain, attributeFormat, intl) {
|
2523
|
-
if (attributeDomain && attributeDomain.type === "coded-value") {
|
2524
|
-
// "coded-value" domain field
|
2525
|
-
const value = attributeDomain.getName(attributeValue);
|
2526
|
-
return value;
|
2527
|
-
}
|
2528
|
-
else {
|
2529
|
-
// Non-domain field or unsupported domain type
|
2530
|
-
let value = attributeValue;
|
2531
|
-
switch (attributeType) {
|
2532
|
-
case "date":
|
2533
|
-
if (attributeFormat === null || attributeFormat === void 0 ? void 0 : attributeFormat.dateFormat) {
|
2534
|
-
const dateFormatIntlOptions = intl.convertDateFormatToIntlOptions(attributeFormat.dateFormat);
|
2535
|
-
value = intl.formatDate(value, dateFormatIntlOptions);
|
2536
|
-
}
|
2537
|
-
else {
|
2538
|
-
value = intl.formatDate(value);
|
2539
|
-
}
|
2540
|
-
// Format date produces odd characters for the space between the time and the AM/PM text,
|
2541
|
-
// e.g., "12/31/1969, 4:00 PM"
|
2542
|
-
value = value.replace(/\xe2\x80\xaf/g, "");
|
2543
|
-
break;
|
2544
|
-
case "double":
|
2545
|
-
case "integer":
|
2546
|
-
case "long":
|
2547
|
-
case "small-integer":
|
2548
|
-
if (attributeFormat) {
|
2549
|
-
const numberFormatIntlOptions = intl.convertNumberFormatToIntlOptions(attributeFormat);
|
2550
|
-
value = intl.formatNumber(value, numberFormatIntlOptions);
|
2551
|
-
}
|
2552
|
-
else {
|
2553
|
-
value = intl.formatNumber(value);
|
2554
|
-
}
|
2555
|
-
break;
|
2556
|
-
}
|
2557
|
-
return value;
|
2558
|
-
}
|
2559
|
-
}
|
2560
|
-
/**
|
2561
|
-
* Creates labels from items.
|
2562
|
-
*
|
2563
|
-
* @param layer Layer from which to fetch features
|
2564
|
-
* @param ids List of ids to download
|
2565
|
-
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
2566
|
-
* all attributes are exported
|
2567
|
-
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
2568
|
-
* @returns Promise resolving when function is done
|
2569
|
-
*/
|
2570
|
-
async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
|
2571
|
-
var _a, _b, _c, _d;
|
2572
|
-
const [intl] = await loadModules(["esri/intl"]);
|
2573
|
-
// Get the features to export
|
2574
|
-
const featureSet = await queryFeaturesByID(ids, layer, [], false);
|
2575
|
-
// Get field data types. Do we have any domain-based fields?
|
2576
|
-
const attributeTypes = {};
|
2577
|
-
const attributeDomains = {};
|
2578
|
-
layer.fields.forEach(field => {
|
2579
|
-
attributeTypes[field.name] = field.type;
|
2580
|
-
attributeDomains[field.name] = field.domain;
|
2581
|
-
});
|
2582
|
-
const attributeFormats = {};
|
2583
|
-
// Get the label formatting, if any
|
2584
|
-
let labelFormat;
|
2585
|
-
let relationshipQueries = {};
|
2586
|
-
let arcadeExecutors = {};
|
2587
|
-
if (layer.popupEnabled) {
|
2588
|
-
layer.popupTemplate.fieldInfos.forEach(
|
2589
|
-
// Extract any format info that we have
|
2590
|
-
fieldInfo => {
|
2591
|
-
if (fieldInfo.format) {
|
2592
|
-
attributeFormats[fieldInfo.fieldName] = fieldInfo.format;
|
2593
|
-
}
|
2594
|
-
});
|
2595
|
-
// What data fields are used in the labels?
|
2596
|
-
// Example labelFormat: ['{NAME}', '{STREET}', '{CITY}, {STATE} {ZIP}']
|
2597
|
-
if (formatUsingLayerPopup && ((_b = (_a = layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.type) === "fields") {
|
2598
|
-
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
|
2599
|
-
// If popup is configured with "no attribute information", then no fields will visible
|
2600
|
-
if (labelFormat.length === 0) {
|
2601
|
-
// Can we use the popup title?
|
2602
|
-
// eslint-disable-next-line unicorn/prefer-ternary
|
2603
|
-
if (typeof layer.popupTemplate.title === "string") {
|
2604
|
-
labelFormat = layer.popupTemplate.title;
|
2605
|
-
// Otherwise revert to using attributes
|
2606
|
-
}
|
2607
|
-
else {
|
2608
|
-
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
|
2609
|
-
}
|
2610
|
-
}
|
2611
|
-
}
|
2612
|
-
else if (formatUsingLayerPopup && ((_d = (_c = layer.popupTemplate) === null || _c === void 0 ? void 0 : _c.content[0]) === null || _d === void 0 ? void 0 : _d.type) === "text") {
|
2613
|
-
labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
|
2614
|
-
// Do we need any relationship queries?
|
2615
|
-
relationshipQueries = _createRelationshipQueries(layer);
|
2616
|
-
// Do we need any Arcade executors?
|
2617
|
-
arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
|
2618
|
-
}
|
2619
|
-
}
|
2620
|
-
// Apply the label format
|
2621
|
-
let labels;
|
2622
|
-
// eslint-disable-next-line unicorn/prefer-ternary
|
2623
|
-
if (labelFormat) {
|
2624
|
-
// Find the label fields that we need to replace with values
|
2625
|
-
const arcadeExpressionMatches = _getExpressionsFromLabel(labelFormat);
|
2626
|
-
const attributeMatches = _getFieldsFromLabel(labelFormat);
|
2627
|
-
// Convert feature attributes into an array of labels
|
2628
|
-
const relationshipKeys = Object.keys(relationshipQueries);
|
2629
|
-
labels = await Promise.all(featureSet.map(async (feature) => {
|
2630
|
-
let labelPrep = labelFormat;
|
2631
|
-
// Replace Arcade expressions in this feature
|
2632
|
-
arcadeExpressionMatches.forEach((match) => {
|
2633
|
-
const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
|
2634
|
-
const value = arcadeExecutors[expressionName].execute({ "$feature": feature });
|
2635
|
-
labelPrep = labelPrep.replace(match, value);
|
2636
|
-
});
|
2637
|
-
// Replace relationship expressions in this feature
|
2638
|
-
const relatedFeatureQueries = [];
|
2639
|
-
const relationshipIds = [];
|
2640
|
-
relationshipKeys.forEach((relationshipId) => {
|
2641
|
-
const relationship = relationshipQueries[relationshipId];
|
2642
|
-
const objectId = feature.attributes[relationship.layer.objectIdField];
|
2643
|
-
const relatedQuery = Object.assign(Object.assign({}, relationship.relatedQuery), { objectIds: [objectId] });
|
2644
|
-
relatedFeatureQueries.push(relationship.layer.queryRelatedFeatures(relatedQuery));
|
2645
|
-
relationshipIds.push(relationshipId);
|
2646
|
-
});
|
2647
|
-
// Wait for all of the queries for related records for this label
|
2648
|
-
const relatedFeatureQueryResults = await Promise.all(relatedFeatureQueries);
|
2649
|
-
relatedFeatureQueryResults.forEach((relatedFeatureQueryResult, i) => {
|
2650
|
-
// We have an object with FeatureSets grouped by source layer or table objectIds
|
2651
|
-
const relationshipId = relationshipIds[i];
|
2652
|
-
// Run through the source layer or table objectIds
|
2653
|
-
Object.keys(relatedFeatureQueryResult).forEach(relatedFeatureSetId => {
|
2654
|
-
// We have a feature set
|
2655
|
-
const relatedFeatures = relatedFeatureQueryResult[relatedFeatureSetId].features;
|
2656
|
-
// Get the values from each feature and replace them in the label
|
2657
|
-
relatedFeatures.forEach(feature => {
|
2658
|
-
// Merge the base and related feature attributes and create the label
|
2659
|
-
// Prefix related feature's attributes with "relationships/<id>/" to match popup
|
2660
|
-
const rePrefix = "\{relationships/" + relationshipId + "/";
|
2661
|
-
const reSuffix = "\}";
|
2662
|
-
const attributes = feature.attributes;
|
2663
|
-
Object.keys(attributes).forEach(attributeName => {
|
2664
|
-
// Replace the value using the attribute name as a relationship
|
2665
|
-
const attributeRelationshipRegExp = new RegExp(rePrefix + attributeName + reSuffix, "g");
|
2666
|
-
labelPrep = labelPrep.replaceAll(attributeRelationshipRegExp, attributes[attributeName]);
|
2667
|
-
});
|
2668
|
-
});
|
2669
|
-
});
|
2670
|
-
});
|
2671
|
-
// Replace non-Arcade fields in this feature
|
2672
|
-
attributeMatches.forEach((match) => {
|
2673
|
-
const attributeName = match.substring(1, match.length - 1);
|
2674
|
-
const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], attributeFormats[attributeName], intl);
|
2675
|
-
labelPrep = labelPrep.replace(match, value);
|
2676
|
-
});
|
2677
|
-
// Split label into lines
|
2678
|
-
let label = labelPrep.split(lineSeparatorChar);
|
2679
|
-
// Trim lines
|
2680
|
-
label = label.map(line => line.trim());
|
2681
|
-
return label;
|
2682
|
-
}));
|
2683
|
-
}
|
2684
|
-
else {
|
2685
|
-
// Export all attributes
|
2686
|
-
labels = featureSet.map(feature => {
|
2687
|
-
return Object.keys(feature.attributes).map((attributeName) => {
|
2688
|
-
const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], null, intl);
|
2689
|
-
return `${value}`;
|
2690
|
-
});
|
2691
|
-
});
|
2692
|
-
}
|
2693
|
-
// Add header names
|
2694
|
-
if (includeHeaderNames) {
|
2695
|
-
let headerNames = [];
|
2696
|
-
if (labelFormat) {
|
2697
|
-
headerNames = labelFormat.replace(/\{/g, "").replace(/\}/g, "").split(lineSeparatorChar);
|
2698
|
-
}
|
2699
|
-
else {
|
2700
|
-
const featuresAttrs = featureSet[0].attributes;
|
2701
|
-
Object.keys(featuresAttrs).forEach(k => {
|
2702
|
-
headerNames.push(k);
|
2703
|
-
});
|
2704
|
-
}
|
2705
|
-
labels.unshift(headerNames);
|
2706
|
-
}
|
2707
|
-
return Promise.resolve(labels);
|
2708
|
-
}
|
2709
|
-
/**
|
2710
|
-
* Remove any duplicate labels
|
2711
|
-
*
|
2712
|
-
* @param labels Labels to evaluate for duplicates
|
2713
|
-
* @returns labels with duplicates removed
|
2714
|
-
*/
|
2715
|
-
function removeDuplicateLabels(labels) {
|
2716
|
-
const labelsAsStrings = labels.map(label => JSON.stringify(label));
|
2717
|
-
const uniqueLabels = new Set(labelsAsStrings);
|
2718
|
-
return Array.from(uniqueLabels, labelString => JSON.parse(labelString));
|
2719
|
-
}
|
2720
|
-
/**
|
2721
|
-
* Extract selectionSetNames from the provided exportInfos
|
2722
|
-
*
|
2723
|
-
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2724
|
-
* @returns selectionSetNames that will be used for export filenames
|
2725
|
-
*/
|
2726
|
-
function _getSelectionSetNames(exportInfos, id = /.+/) {
|
2727
|
-
let selectionSetNames = [];
|
2728
|
-
Object.keys(exportInfos).forEach(k => {
|
2729
|
-
const exportInfo = exportInfos[k];
|
2730
|
-
if (id.test(k)) {
|
2731
|
-
selectionSetNames = selectionSetNames.concat(exportInfo.selectionSetNames);
|
2732
|
-
}
|
2733
|
-
});
|
2734
|
-
return selectionSetNames;
|
2735
|
-
}
|
2736
|
-
/**
|
2737
|
-
* Create and consolidate labels from all layers
|
2738
|
-
*
|
2739
|
-
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2740
|
-
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
2741
|
-
* all attributes are exported
|
2742
|
-
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
2743
|
-
* @returns selectionSetNames that will be used for export filenames
|
2744
|
-
*/
|
2745
|
-
async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
|
2746
|
-
const labelRequests = [];
|
2747
|
-
Object.keys(exportInfos).forEach(k => {
|
2748
|
-
var _a;
|
2749
|
-
const labelInfo = exportInfos[k];
|
2750
|
-
labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
|
2751
|
-
if (isCSVExport) {
|
2752
|
-
// add the layer id as a temp value separator that we can use to split values for CSV export
|
2753
|
-
labelRequests.push(Promise.resolve([[k]]));
|
2754
|
-
}
|
2755
|
-
});
|
2756
|
-
const labels = await Promise.all(labelRequests);
|
2757
|
-
return labels.reduce((prev, cur) => prev.concat(cur), []);
|
2758
|
-
}
|
2243
|
+
/** @license
|
2244
|
+
* Copyright 2022 Esri
|
2245
|
+
*
|
2246
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
2247
|
+
* you may not use this file except in compliance with the License.
|
2248
|
+
* You may obtain a copy of the License at
|
2249
|
+
*
|
2250
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
2251
|
+
*
|
2252
|
+
* Unless required by applicable law or agreed to in writing, software
|
2253
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
2254
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
2255
|
+
* See the License for the specific language governing permissions and
|
2256
|
+
* limitations under the License.
|
2257
|
+
*/
|
2258
|
+
const lineSeparatorChar = "|";
|
2259
|
+
//#endregion
|
2260
|
+
//#region Public functions
|
2261
|
+
/**
|
2262
|
+
* Downloads csv of mailing labels for the provided list of ids
|
2263
|
+
*
|
2264
|
+
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2265
|
+
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
2266
|
+
* all attributes are exported
|
2267
|
+
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
2268
|
+
* @param addColumnTitle Indicates if column headings should be included in output
|
2269
|
+
* @returns Promise resolving when function is done
|
2270
|
+
*/
|
2271
|
+
async function downloadCSV(exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
|
2272
|
+
let labels = await consolidateLabels(exportInfos, formatUsingLayerPopup, addColumnTitle, true);
|
2273
|
+
labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
|
2274
|
+
const layerIds = Object.keys(exportInfos);
|
2275
|
+
let layerLabels = [];
|
2276
|
+
labels.forEach(label => {
|
2277
|
+
const id = label[0];
|
2278
|
+
// layerIds are stored as value separator at the end of the values for a given layer
|
2279
|
+
if (layerIds.indexOf(id) < 0) {
|
2280
|
+
layerLabels.push(label);
|
2281
|
+
}
|
2282
|
+
else {
|
2283
|
+
const selectionSetNames = _getSelectionSetNames(exportInfos, new RegExp(`\\b${id}\\b`));
|
2284
|
+
// once we see the layerId we have reached the end of it's values and should export
|
2285
|
+
exportCSV(_createFilename(selectionSetNames), layerLabels);
|
2286
|
+
layerLabels = [];
|
2287
|
+
}
|
2288
|
+
});
|
2289
|
+
return Promise.resolve();
|
2290
|
+
}
|
2291
|
+
/**
|
2292
|
+
* Downloads csv of mailing labels for the provided list of ids
|
2293
|
+
*
|
2294
|
+
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2295
|
+
* @param labelPageDescription Provides PDF page layout info
|
2296
|
+
* @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
|
2297
|
+
* @param title Title for each page
|
2298
|
+
* @param initialImageDataUrl Data URL of image for first page
|
2299
|
+
* @returns Promise resolving when function is done
|
2300
|
+
*/
|
2301
|
+
async function downloadPDF(exportInfos, labelPageDescription, removeDuplicates = false, title = "", initialImageDataUrl = "") {
|
2302
|
+
let labels = await consolidateLabels(exportInfos);
|
2303
|
+
const selectionSetNames = _getSelectionSetNames(exportInfos);
|
2304
|
+
labels =
|
2305
|
+
// Remove empty lines in labels
|
2306
|
+
labels.map(labelLines => labelLines.filter(line => line.length > 0))
|
2307
|
+
// Remove empty labels
|
2308
|
+
.filter(label => label.length > 0);
|
2309
|
+
labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
|
2310
|
+
exportPDF(_createFilename(selectionSetNames), labels, labelPageDescription, title, initialImageDataUrl);
|
2311
|
+
return Promise.resolve();
|
2312
|
+
}
|
2313
|
+
//#endregion
|
2314
|
+
//#region Private functions
|
2315
|
+
/**
|
2316
|
+
* Converts a set of fieldInfos into template lines.
|
2317
|
+
*
|
2318
|
+
* @param fieldInfos Layer's fieldInfos structure
|
2319
|
+
* @param bypassFieldVisiblity Indicates if the configured fieldInfo visibility property should be ignored
|
2320
|
+
* @return Label spec with lines separated by `lineSeparatorChar`
|
2321
|
+
*/
|
2322
|
+
function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false) {
|
2323
|
+
const labelSpec = [];
|
2324
|
+
// Every visible attribute is used
|
2325
|
+
fieldInfos.forEach(fieldInfo => {
|
2326
|
+
if (fieldInfo.visible || bypassFieldVisiblity) {
|
2327
|
+
labelSpec.push(`{${fieldInfo.fieldName}}`);
|
2328
|
+
}
|
2329
|
+
});
|
2330
|
+
return labelSpec.join(lineSeparatorChar);
|
2331
|
+
}
|
2332
|
+
/**
|
2333
|
+
* Converts the text of a custom popup into a multiline label specification; conversion splits text into
|
2334
|
+
* lines on <br>s, and removes HTML tags. It does not handle Arcade and related records.
|
2335
|
+
*
|
2336
|
+
* @param popupInfo Layer's popupInfo structure containing description, fieldInfos, and expressionInfos, e.g.,
|
2337
|
+
* "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY}, {STATE} {ZIP} <br /></div>"
|
2338
|
+
* @return Label spec with lines separated by `lineSeparatorChar`
|
2339
|
+
*/
|
2340
|
+
function _convertPopupTextToLabelSpec(popupInfo) {
|
2341
|
+
// Replace <br> variants with the line separator character
|
2342
|
+
popupInfo = popupInfo.replace(/<br\s*\/?>/gi, lineSeparatorChar);
|
2343
|
+
// Replace <p> variants with the line separator character, except in the first position
|
2344
|
+
popupInfo = popupInfo.replace(/<p[^>]*>/gi, lineSeparatorChar).trim().replace(/^\|/, "");
|
2345
|
+
// Remove </p>
|
2346
|
+
popupInfo = popupInfo.replace(/<\/p>/gi, "");
|
2347
|
+
// Replace \n with the line separator character
|
2348
|
+
popupInfo = popupInfo.replace(/\n/gi, "|");
|
2349
|
+
// Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace some char representations
|
2350
|
+
let labelSpec = popupInfo
|
2351
|
+
.replace(/<[\s.]*[^<>]*\/?>/gi, "")
|
2352
|
+
.replace(/\xA0/gi, " ")
|
2353
|
+
.replace(/</gi, "<")
|
2354
|
+
.replace(/>/gi, ">")
|
2355
|
+
.replace(/ /gi, " ");
|
2356
|
+
// Trim each line
|
2357
|
+
labelSpec = labelSpec.replace(/\s*\|\s*/g, "|");
|
2358
|
+
// Remove empty lines
|
2359
|
+
while (labelSpec.match(/\|\|/)) {
|
2360
|
+
labelSpec = labelSpec.replace(/\|\|/, "|");
|
2361
|
+
}
|
2362
|
+
// Remove leading and trailing line feeds
|
2363
|
+
labelSpec = labelSpec.replace(/^\|/, "");
|
2364
|
+
labelSpec = labelSpec.replace(/\|$/, "");
|
2365
|
+
return labelSpec.trim();
|
2366
|
+
}
|
2367
|
+
/**
|
2368
|
+
* Extracts Arcade expressions from the lines of a label format and creates an Arcade executor for each
|
2369
|
+
* referenced expression name.
|
2370
|
+
*
|
2371
|
+
* @param labelFormat Label to examine
|
2372
|
+
* @param layer Layer from which to fetch features
|
2373
|
+
* @return Promise resolving to a set of executors keyed using the expression name
|
2374
|
+
*/
|
2375
|
+
async function _createArcadeExecutors(labelFormat, layer) {
|
2376
|
+
const arcadeExecutors = {};
|
2377
|
+
// Are any Arcade expressions in the layer?
|
2378
|
+
if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
|
2379
|
+
return Promise.resolve(arcadeExecutors);
|
2380
|
+
}
|
2381
|
+
// Are there any Arcade expressions in the label format?
|
2382
|
+
const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
|
2383
|
+
const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
|
2384
|
+
if (!arcadeExpressionsMatches) {
|
2385
|
+
return Promise.resolve(arcadeExecutors);
|
2386
|
+
}
|
2387
|
+
// Generate an Arcade executor for each match
|
2388
|
+
const [arcade] = await loadModules(["esri/arcade"]);
|
2389
|
+
const labelingProfile = {
|
2390
|
+
variables: [
|
2391
|
+
{
|
2392
|
+
name: "$feature",
|
2393
|
+
type: "feature"
|
2394
|
+
},
|
2395
|
+
{
|
2396
|
+
name: "$layer",
|
2397
|
+
type: "featureSet"
|
2398
|
+
},
|
2399
|
+
{
|
2400
|
+
name: "$datastore",
|
2401
|
+
type: "featureSetCollection"
|
2402
|
+
},
|
2403
|
+
{
|
2404
|
+
name: "$map",
|
2405
|
+
type: "featureSetCollection"
|
2406
|
+
}
|
2407
|
+
]
|
2408
|
+
};
|
2409
|
+
const createArcadeExecutorPromises = {};
|
2410
|
+
arcadeExpressionsMatches.forEach((match) => {
|
2411
|
+
const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
|
2412
|
+
(layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
|
2413
|
+
if (expressionInfo.name === expressionName) {
|
2414
|
+
createArcadeExecutorPromises[expressionName] =
|
2415
|
+
arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
|
2416
|
+
}
|
2417
|
+
});
|
2418
|
+
});
|
2419
|
+
const promises = Object.values(createArcadeExecutorPromises);
|
2420
|
+
return Promise.all(promises)
|
2421
|
+
.then(executors => {
|
2422
|
+
const expressionNames = Object.keys(createArcadeExecutorPromises);
|
2423
|
+
for (let i = 0; i < expressionNames.length; ++i) {
|
2424
|
+
arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
|
2425
|
+
}
|
2426
|
+
return arcadeExecutors;
|
2427
|
+
});
|
2428
|
+
}
|
2429
|
+
/**
|
2430
|
+
* Creates a title from a list of selection set names.
|
2431
|
+
*
|
2432
|
+
* @param selectionSetNames Names to use in title
|
2433
|
+
* @return Title composed of the selectionSetNames separated by commas; if there are no
|
2434
|
+
* selection set names supplied, "download" is returned
|
2435
|
+
*/
|
2436
|
+
function _createFilename(selectionSetNames) {
|
2437
|
+
// Windows doesn't permit the characters \/:*?"<>|
|
2438
|
+
const title = selectionSetNames.length > 0 ? selectionSetNames.join(", ") : "download";
|
2439
|
+
return title;
|
2440
|
+
}
|
2441
|
+
/**
|
2442
|
+
* Creates relationship queries for each relationship flag in a popup.
|
2443
|
+
* @param layer Layer whose popup is to be examined
|
2444
|
+
* @return Hash of relationships by their id, or null if there are no relationship flags in the
|
2445
|
+
* popup; each relationship has the properties layer and relatedQuery for the related layer
|
2446
|
+
* and the query for that layer
|
2447
|
+
*/
|
2448
|
+
function _createRelationshipQueries(layer) {
|
2449
|
+
const relationships = {};
|
2450
|
+
const relationshipFieldPattern = /\{relationships\/\d+\//gm;
|
2451
|
+
const relationshipIdPattern = /\d+/;
|
2452
|
+
// Test if this popup has any relationship references
|
2453
|
+
const matches = layer.popupTemplate.content[0].text.match(relationshipFieldPattern);
|
2454
|
+
if (matches) {
|
2455
|
+
matches.forEach(match => {
|
2456
|
+
// Add a query to a found relationship if we don't already have one
|
2457
|
+
const id = match.match(relationshipIdPattern)[0];
|
2458
|
+
if (!relationships.hasOwnProperty(id)) {
|
2459
|
+
const relatedQuery = {
|
2460
|
+
outFields: ['*'],
|
2461
|
+
relationshipId: id,
|
2462
|
+
returnGeometry: false
|
2463
|
+
};
|
2464
|
+
relationships[id] = {
|
2465
|
+
layer,
|
2466
|
+
relatedQuery
|
2467
|
+
};
|
2468
|
+
}
|
2469
|
+
});
|
2470
|
+
}
|
2471
|
+
return relationships;
|
2472
|
+
}
|
2473
|
+
/**
|
2474
|
+
* Extracts Arcade expression references from the lines of a label format.
|
2475
|
+
*
|
2476
|
+
* @param labelFormat Label to examine
|
2477
|
+
* @return Array of Arcade expression references, e.g., ["{expression/expr1}", "{expression/expr2}"]
|
2478
|
+
*/
|
2479
|
+
function _getExpressionsFromLabel(labelFormat) {
|
2480
|
+
var _a;
|
2481
|
+
const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
|
2482
|
+
return (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
|
2483
|
+
}
|
2484
|
+
/**
|
2485
|
+
* Extracts field name expressions from the lines of a label format.
|
2486
|
+
*
|
2487
|
+
* @param labelFormat Label to examine
|
2488
|
+
* @returns Array of field name expressions, e.g., ["{NAME}", "{STREET}", "{CITY}", "{STATE}", "{ZIP}"]
|
2489
|
+
*/
|
2490
|
+
function _getFieldsFromLabel(labelFormat) {
|
2491
|
+
// Get all fields
|
2492
|
+
const fieldExpressions = [];
|
2493
|
+
let iStart = 0;
|
2494
|
+
while (iStart < labelFormat.length) {
|
2495
|
+
const iOpen = labelFormat.indexOf("{", iStart); // Find the next open brace
|
2496
|
+
if (iOpen < 0) {
|
2497
|
+
break;
|
2498
|
+
} // No more open braces
|
2499
|
+
const iClose = labelFormat.indexOf("}", iOpen); // Find the matching close brace
|
2500
|
+
if (iClose < 0) {
|
2501
|
+
break;
|
2502
|
+
} // No more close braces
|
2503
|
+
const fieldName = labelFormat.substring(iOpen, iClose + 1); // Extract the field name with braces
|
2504
|
+
fieldExpressions.push(fieldName);
|
2505
|
+
iStart = iClose + 1; // Start looking for the next field name after the close brace
|
2506
|
+
}
|
2507
|
+
// Get the Arcade expressions
|
2508
|
+
const arcadeExpressions = _getExpressionsFromLabel(labelFormat);
|
2509
|
+
// Remove the Arcade expressions from the returned list of field expressions
|
2510
|
+
return fieldExpressions.filter(fieldExpression => arcadeExpressions.indexOf(fieldExpression) < 0);
|
2511
|
+
}
|
2512
|
+
/**
|
2513
|
+
* Prepares an attribute's value by applying domain and type information.
|
2514
|
+
*
|
2515
|
+
* @param attributeValue Value of attribute
|
2516
|
+
* @param attributeType Type of attribute
|
2517
|
+
* @param attributeDomain Domain info for attribute, if any
|
2518
|
+
* @param attributeFormat Format info for attribute, if any
|
2519
|
+
* @param intl esri/intl
|
2520
|
+
* @return Attribute value modified appropriate to domain and type
|
2521
|
+
*/
|
2522
|
+
function _prepareAttributeValue(attributeValue, attributeType, attributeDomain, attributeFormat, intl) {
|
2523
|
+
if (attributeDomain && attributeDomain.type === "coded-value") {
|
2524
|
+
// "coded-value" domain field
|
2525
|
+
const value = attributeDomain.getName(attributeValue);
|
2526
|
+
return value;
|
2527
|
+
}
|
2528
|
+
else {
|
2529
|
+
// Non-domain field or unsupported domain type
|
2530
|
+
let value = attributeValue;
|
2531
|
+
switch (attributeType) {
|
2532
|
+
case "date":
|
2533
|
+
if (attributeFormat === null || attributeFormat === void 0 ? void 0 : attributeFormat.dateFormat) {
|
2534
|
+
const dateFormatIntlOptions = intl.convertDateFormatToIntlOptions(attributeFormat.dateFormat);
|
2535
|
+
value = intl.formatDate(value, dateFormatIntlOptions);
|
2536
|
+
}
|
2537
|
+
else {
|
2538
|
+
value = intl.formatDate(value);
|
2539
|
+
}
|
2540
|
+
// Format date produces odd characters for the space between the time and the AM/PM text,
|
2541
|
+
// e.g., "12/31/1969, 4:00 PM"
|
2542
|
+
value = value.replace(/\xe2\x80\xaf/g, "");
|
2543
|
+
break;
|
2544
|
+
case "double":
|
2545
|
+
case "integer":
|
2546
|
+
case "long":
|
2547
|
+
case "small-integer":
|
2548
|
+
if (attributeFormat) {
|
2549
|
+
const numberFormatIntlOptions = intl.convertNumberFormatToIntlOptions(attributeFormat);
|
2550
|
+
value = intl.formatNumber(value, numberFormatIntlOptions);
|
2551
|
+
}
|
2552
|
+
else {
|
2553
|
+
value = intl.formatNumber(value);
|
2554
|
+
}
|
2555
|
+
break;
|
2556
|
+
}
|
2557
|
+
return value;
|
2558
|
+
}
|
2559
|
+
}
|
2560
|
+
/**
|
2561
|
+
* Creates labels from items.
|
2562
|
+
*
|
2563
|
+
* @param layer Layer from which to fetch features
|
2564
|
+
* @param ids List of ids to download
|
2565
|
+
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
2566
|
+
* all attributes are exported
|
2567
|
+
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
2568
|
+
* @returns Promise resolving when function is done
|
2569
|
+
*/
|
2570
|
+
async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
|
2571
|
+
var _a, _b, _c, _d;
|
2572
|
+
const [intl] = await loadModules(["esri/intl"]);
|
2573
|
+
// Get the features to export
|
2574
|
+
const featureSet = await queryFeaturesByID(ids, layer, [], false);
|
2575
|
+
// Get field data types. Do we have any domain-based fields?
|
2576
|
+
const attributeTypes = {};
|
2577
|
+
const attributeDomains = {};
|
2578
|
+
layer.fields.forEach(field => {
|
2579
|
+
attributeTypes[field.name] = field.type;
|
2580
|
+
attributeDomains[field.name] = field.domain;
|
2581
|
+
});
|
2582
|
+
const attributeFormats = {};
|
2583
|
+
// Get the label formatting, if any
|
2584
|
+
let labelFormat;
|
2585
|
+
let relationshipQueries = {};
|
2586
|
+
let arcadeExecutors = {};
|
2587
|
+
if (layer.popupEnabled) {
|
2588
|
+
layer.popupTemplate.fieldInfos.forEach(
|
2589
|
+
// Extract any format info that we have
|
2590
|
+
fieldInfo => {
|
2591
|
+
if (fieldInfo.format) {
|
2592
|
+
attributeFormats[fieldInfo.fieldName] = fieldInfo.format;
|
2593
|
+
}
|
2594
|
+
});
|
2595
|
+
// What data fields are used in the labels?
|
2596
|
+
// Example labelFormat: ['{NAME}', '{STREET}', '{CITY}, {STATE} {ZIP}']
|
2597
|
+
if (formatUsingLayerPopup && ((_b = (_a = layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.type) === "fields") {
|
2598
|
+
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
|
2599
|
+
// If popup is configured with "no attribute information", then no fields will visible
|
2600
|
+
if (labelFormat.length === 0) {
|
2601
|
+
// Can we use the popup title?
|
2602
|
+
// eslint-disable-next-line unicorn/prefer-ternary
|
2603
|
+
if (typeof layer.popupTemplate.title === "string") {
|
2604
|
+
labelFormat = layer.popupTemplate.title;
|
2605
|
+
// Otherwise revert to using attributes
|
2606
|
+
}
|
2607
|
+
else {
|
2608
|
+
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
|
2609
|
+
}
|
2610
|
+
}
|
2611
|
+
}
|
2612
|
+
else if (formatUsingLayerPopup && ((_d = (_c = layer.popupTemplate) === null || _c === void 0 ? void 0 : _c.content[0]) === null || _d === void 0 ? void 0 : _d.type) === "text") {
|
2613
|
+
labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
|
2614
|
+
// Do we need any relationship queries?
|
2615
|
+
relationshipQueries = _createRelationshipQueries(layer);
|
2616
|
+
// Do we need any Arcade executors?
|
2617
|
+
arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
|
2618
|
+
}
|
2619
|
+
}
|
2620
|
+
// Apply the label format
|
2621
|
+
let labels;
|
2622
|
+
// eslint-disable-next-line unicorn/prefer-ternary
|
2623
|
+
if (labelFormat) {
|
2624
|
+
// Find the label fields that we need to replace with values
|
2625
|
+
const arcadeExpressionMatches = _getExpressionsFromLabel(labelFormat);
|
2626
|
+
const attributeMatches = _getFieldsFromLabel(labelFormat);
|
2627
|
+
// Convert feature attributes into an array of labels
|
2628
|
+
const relationshipKeys = Object.keys(relationshipQueries);
|
2629
|
+
labels = await Promise.all(featureSet.map(async (feature) => {
|
2630
|
+
let labelPrep = labelFormat;
|
2631
|
+
// Replace Arcade expressions in this feature
|
2632
|
+
arcadeExpressionMatches.forEach((match) => {
|
2633
|
+
const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
|
2634
|
+
const value = arcadeExecutors[expressionName].execute({ "$feature": feature });
|
2635
|
+
labelPrep = labelPrep.replace(match, value);
|
2636
|
+
});
|
2637
|
+
// Replace relationship expressions in this feature
|
2638
|
+
const relatedFeatureQueries = [];
|
2639
|
+
const relationshipIds = [];
|
2640
|
+
relationshipKeys.forEach((relationshipId) => {
|
2641
|
+
const relationship = relationshipQueries[relationshipId];
|
2642
|
+
const objectId = feature.attributes[relationship.layer.objectIdField];
|
2643
|
+
const relatedQuery = Object.assign(Object.assign({}, relationship.relatedQuery), { objectIds: [objectId] });
|
2644
|
+
relatedFeatureQueries.push(relationship.layer.queryRelatedFeatures(relatedQuery));
|
2645
|
+
relationshipIds.push(relationshipId);
|
2646
|
+
});
|
2647
|
+
// Wait for all of the queries for related records for this label
|
2648
|
+
const relatedFeatureQueryResults = await Promise.all(relatedFeatureQueries);
|
2649
|
+
relatedFeatureQueryResults.forEach((relatedFeatureQueryResult, i) => {
|
2650
|
+
// We have an object with FeatureSets grouped by source layer or table objectIds
|
2651
|
+
const relationshipId = relationshipIds[i];
|
2652
|
+
// Run through the source layer or table objectIds
|
2653
|
+
Object.keys(relatedFeatureQueryResult).forEach(relatedFeatureSetId => {
|
2654
|
+
// We have a feature set
|
2655
|
+
const relatedFeatures = relatedFeatureQueryResult[relatedFeatureSetId].features;
|
2656
|
+
// Get the values from each feature and replace them in the label
|
2657
|
+
relatedFeatures.forEach(feature => {
|
2658
|
+
// Merge the base and related feature attributes and create the label
|
2659
|
+
// Prefix related feature's attributes with "relationships/<id>/" to match popup
|
2660
|
+
const rePrefix = "\{relationships/" + relationshipId + "/";
|
2661
|
+
const reSuffix = "\}";
|
2662
|
+
const attributes = feature.attributes;
|
2663
|
+
Object.keys(attributes).forEach(attributeName => {
|
2664
|
+
// Replace the value using the attribute name as a relationship
|
2665
|
+
const attributeRelationshipRegExp = new RegExp(rePrefix + attributeName + reSuffix, "g");
|
2666
|
+
labelPrep = labelPrep.replaceAll(attributeRelationshipRegExp, attributes[attributeName]);
|
2667
|
+
});
|
2668
|
+
});
|
2669
|
+
});
|
2670
|
+
});
|
2671
|
+
// Replace non-Arcade fields in this feature
|
2672
|
+
attributeMatches.forEach((match) => {
|
2673
|
+
const attributeName = match.substring(1, match.length - 1);
|
2674
|
+
const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], attributeFormats[attributeName], intl);
|
2675
|
+
labelPrep = labelPrep.replace(match, value);
|
2676
|
+
});
|
2677
|
+
// Split label into lines
|
2678
|
+
let label = labelPrep.split(lineSeparatorChar);
|
2679
|
+
// Trim lines
|
2680
|
+
label = label.map(line => line.trim());
|
2681
|
+
return label;
|
2682
|
+
}));
|
2683
|
+
}
|
2684
|
+
else {
|
2685
|
+
// Export all attributes
|
2686
|
+
labels = featureSet.map(feature => {
|
2687
|
+
return Object.keys(feature.attributes).map((attributeName) => {
|
2688
|
+
const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], null, intl);
|
2689
|
+
return `${value}`;
|
2690
|
+
});
|
2691
|
+
});
|
2692
|
+
}
|
2693
|
+
// Add header names
|
2694
|
+
if (includeHeaderNames) {
|
2695
|
+
let headerNames = [];
|
2696
|
+
if (labelFormat) {
|
2697
|
+
headerNames = labelFormat.replace(/\{/g, "").replace(/\}/g, "").split(lineSeparatorChar);
|
2698
|
+
}
|
2699
|
+
else {
|
2700
|
+
const featuresAttrs = featureSet[0].attributes;
|
2701
|
+
Object.keys(featuresAttrs).forEach(k => {
|
2702
|
+
headerNames.push(k);
|
2703
|
+
});
|
2704
|
+
}
|
2705
|
+
labels.unshift(headerNames);
|
2706
|
+
}
|
2707
|
+
return Promise.resolve(labels);
|
2708
|
+
}
|
2709
|
+
/**
|
2710
|
+
* Remove any duplicate labels
|
2711
|
+
*
|
2712
|
+
* @param labels Labels to evaluate for duplicates
|
2713
|
+
* @returns labels with duplicates removed
|
2714
|
+
*/
|
2715
|
+
function removeDuplicateLabels(labels) {
|
2716
|
+
const labelsAsStrings = labels.map(label => JSON.stringify(label));
|
2717
|
+
const uniqueLabels = new Set(labelsAsStrings);
|
2718
|
+
return Array.from(uniqueLabels, labelString => JSON.parse(labelString));
|
2719
|
+
}
|
2720
|
+
/**
|
2721
|
+
* Extract selectionSetNames from the provided exportInfos
|
2722
|
+
*
|
2723
|
+
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2724
|
+
* @returns selectionSetNames that will be used for export filenames
|
2725
|
+
*/
|
2726
|
+
function _getSelectionSetNames(exportInfos, id = /.+/) {
|
2727
|
+
let selectionSetNames = [];
|
2728
|
+
Object.keys(exportInfos).forEach(k => {
|
2729
|
+
const exportInfo = exportInfos[k];
|
2730
|
+
if (id.test(k)) {
|
2731
|
+
selectionSetNames = selectionSetNames.concat(exportInfo.selectionSetNames);
|
2732
|
+
}
|
2733
|
+
});
|
2734
|
+
return selectionSetNames;
|
2735
|
+
}
|
2736
|
+
/**
|
2737
|
+
* Create and consolidate labels from all layers
|
2738
|
+
*
|
2739
|
+
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
2740
|
+
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
2741
|
+
* all attributes are exported
|
2742
|
+
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
2743
|
+
* @returns selectionSetNames that will be used for export filenames
|
2744
|
+
*/
|
2745
|
+
async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
|
2746
|
+
const labelRequests = [];
|
2747
|
+
Object.keys(exportInfos).forEach(k => {
|
2748
|
+
var _a;
|
2749
|
+
const labelInfo = exportInfos[k];
|
2750
|
+
labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
|
2751
|
+
if (isCSVExport) {
|
2752
|
+
// add the layer id as a temp value separator that we can use to split values for CSV export
|
2753
|
+
labelRequests.push(Promise.resolve([[k]]));
|
2754
|
+
}
|
2755
|
+
});
|
2756
|
+
const labels = await Promise.all(labelRequests);
|
2757
|
+
return labels.reduce((prev, cur) => prev.concat(cur), []);
|
2758
|
+
}
|
2759
2759
|
//#endregion
|
2760
2760
|
|
2761
2761
|
export { _typeof_1 as _, downloadPDF as a, consolidateLabels as c, downloadCSV as d, removeDuplicateLabels as r };
|