@esri/solutions-components 0.6.8 → 0.6.9
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/assets/t9n/info-card/resources.json +1 -1
- package/dist/assets/t9n/info-card/resources_en.json +1 -1
- package/dist/assets/t9n/map-tools/resources.json +1 -1
- package/dist/assets/t9n/map-tools/resources_en.json +1 -1
- package/dist/cjs/{ExpandToggle-e6a0d66e.js → ExpandToggle-c5690e14.js} +5 -5
- package/dist/cjs/{FloatingArrow-0119ec6e.js → FloatingArrow-675171a6.js} +1 -1
- package/dist/cjs/{Heading-521f39ac.js → Heading-3712677d.js} +1 -1
- package/dist/cjs/{app-globals-72576a1c.js → app-globals-a62ad1ad.js} +3 -3
- package/dist/cjs/{ar-1718ae57.js → ar-1dc23c0a.js} +14 -14
- package/dist/cjs/{array-46bb7df1.js → array-2db3fd4a.js} +1 -1
- package/dist/cjs/{basemap-gallery_4.cjs.entry.js → basemap-gallery_5.cjs.entry.js} +115 -6
- package/dist/cjs/{bg-190a176c.js → bg-4024b354.js} +14 -14
- package/dist/cjs/{bs-919e0de8.js → bs-3134d711.js} +14 -14
- package/dist/cjs/buffer-tools_4.cjs.entry.js +15 -15
- package/dist/cjs/{ca-94918e06.js → ca-8d6647d3.js} +14 -14
- package/dist/cjs/calcite-accordion-item.cjs.entry.js +7 -12
- package/dist/cjs/calcite-accordion.cjs.entry.js +1 -6
- package/dist/cjs/calcite-action-bar.cjs.entry.js +31 -26
- package/dist/cjs/calcite-action-group_2.cjs.entry.js +18 -20
- package/dist/cjs/calcite-action-pad.cjs.entry.js +20 -16
- package/dist/cjs/calcite-action_2.cjs.entry.js +17 -22
- package/dist/cjs/calcite-alert.cjs.entry.js +11 -11
- package/dist/cjs/calcite-avatar.cjs.entry.js +6 -6
- package/dist/cjs/calcite-block-section.cjs.entry.js +9 -9
- package/dist/cjs/calcite-block.cjs.entry.js +12 -12
- package/dist/cjs/calcite-button.cjs.entry.js +12 -12
- package/dist/cjs/calcite-card.cjs.entry.js +9 -9
- package/dist/cjs/calcite-checkbox.cjs.entry.js +8 -13
- package/dist/cjs/calcite-chip-group.cjs.entry.js +6 -11
- package/dist/cjs/calcite-chip.cjs.entry.js +11 -11
- package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-color-picker.cjs.entry.js +12 -12
- package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +5 -5
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +21 -26
- package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +10 -10
- package/dist/cjs/calcite-date-picker.cjs.entry.js +11 -11
- package/dist/cjs/calcite-fab.cjs.entry.js +6 -6
- package/dist/cjs/calcite-filter_5.cjs.entry.js +16 -16
- package/dist/cjs/calcite-flow-item.cjs.entry.js +11 -11
- package/dist/cjs/calcite-flow.cjs.entry.js +3 -3
- package/dist/cjs/calcite-graph.cjs.entry.js +5 -10
- package/dist/cjs/calcite-icon.cjs.entry.js +6 -6
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +11 -11
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +17 -17
- package/dist/cjs/calcite-input-number_2.cjs.entry.js +13 -13
- package/dist/cjs/{calcite-input-time-picker-b99baf7b.js → calcite-input-time-picker-4efcd55d.js} +60 -60
- package/dist/cjs/calcite-input-time-picker.cjs.entry.js +14 -14
- package/dist/cjs/calcite-input-time-zone.cjs.entry.js +12 -12
- package/dist/cjs/calcite-input_2.cjs.entry.js +12 -12
- package/dist/cjs/calcite-label.cjs.entry.js +5 -5
- package/dist/cjs/calcite-link.cjs.entry.js +5 -5
- package/dist/cjs/calcite-list-item-group.cjs.entry.js +3 -3
- package/dist/cjs/calcite-loader.cjs.entry.js +1 -1
- package/dist/cjs/calcite-menu-item.cjs.entry.js +9 -9
- package/dist/cjs/calcite-menu.cjs.entry.js +9 -9
- package/dist/cjs/calcite-modal.cjs.entry.js +12 -12
- package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
- package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
- package/dist/cjs/calcite-navigation.cjs.entry.js +5 -5
- package/dist/cjs/calcite-notice.cjs.entry.js +11 -11
- package/dist/cjs/calcite-option_2.cjs.entry.js +9 -9
- package/dist/cjs/calcite-pagination.cjs.entry.js +9 -9
- package/dist/cjs/calcite-panel_2.cjs.entry.js +14 -14
- package/dist/cjs/calcite-pick-list-group.cjs.entry.js +7 -7
- package/dist/cjs/calcite-pick-list-item.cjs.entry.js +12 -12
- package/dist/cjs/calcite-pick-list.cjs.entry.js +10 -10
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +2 -7
- package/dist/cjs/calcite-radio-button.cjs.entry.js +9 -9
- package/dist/cjs/calcite-rating.cjs.entry.js +12 -12
- package/dist/cjs/calcite-scrim.cjs.entry.js +8 -8
- package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-shell-center-row.cjs.entry.js +6 -6
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +29 -32
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +7 -7
- package/dist/cjs/calcite-split-button.cjs.entry.js +3 -3
- package/dist/cjs/calcite-stepper-item.cjs.entry.js +8 -8
- package/dist/cjs/calcite-stepper.cjs.entry.js +3 -8
- package/dist/cjs/calcite-switch.cjs.entry.js +8 -8
- package/dist/cjs/calcite-text-area.cjs.entry.js +15 -15
- package/dist/cjs/calcite-tile-select-group.cjs.entry.js +1 -1
- package/dist/cjs/calcite-tile-select.cjs.entry.js +4 -4
- package/dist/cjs/calcite-tile.cjs.entry.js +7 -7
- package/dist/cjs/calcite-time-picker.cjs.entry.js +10 -10
- package/dist/cjs/calcite-tip-manager.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tip.cjs.entry.js +10 -10
- package/dist/cjs/calcite-tooltip.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tree_3.cjs.entry.js +8 -8
- package/dist/cjs/{card-manager_4.cjs.entry.js → card-manager_3.cjs.entry.js} +47 -93
- package/dist/cjs/{conditionalSlot-85b3a6b3.js → conditionalSlot-126d557f.js} +2 -2
- package/dist/cjs/crowdsource-manager.cjs.entry.js +23 -11
- package/dist/cjs/{cs-fe27e732.js → cs-b24cd994.js} +14 -14
- package/dist/cjs/{da-1b7f3440.js → da-9dee3a1f.js} +14 -14
- package/dist/cjs/{date-cec32b0e.js → date-0fec6f6b.js} +2 -2
- package/dist/cjs/{de-0dc1effa.js → de-1a98b964.js} +14 -14
- package/dist/cjs/{de-at-acdc4d01.js → de-at-782e6c7f.js} +14 -14
- package/dist/cjs/{de-ch-778a0d99.js → de-ch-d5c95469.js} +14 -14
- package/dist/cjs/{dom-c1807fc1.js → dom-456f9f13.js} +3 -3
- package/dist/cjs/{downloadUtils-a8c530f7.js → downloadUtils-1f057ec0.js} +249 -262
- package/dist/cjs/edit-card_2.cjs.entry.js +6 -5
- package/dist/cjs/{el-fdbc9bc1.js → el-af28cafa.js} +14 -14
- package/dist/cjs/{en-au-0ff50cdf.js → en-au-109f3119.js} +14 -14
- package/dist/cjs/{en-ca-284e9368.js → en-ca-22890a25.js} +14 -14
- package/dist/cjs/{en-gb-0fcae8ae.js → en-gb-dc23c9dd.js} +14 -14
- package/dist/cjs/{es-cd54acba.js → es-3f353355.js} +14 -14
- package/dist/cjs/{es-mx-2078d50f.js → es-mx-ccb57857.js} +14 -14
- package/dist/cjs/{et-17f323f6.js → et-119c047b.js} +14 -14
- package/dist/cjs/{fi-82f27397.js → fi-13096d81.js} +14 -14
- package/dist/cjs/{filter-bda212b4.js → filter-8d8c453e.js} +1 -1
- package/dist/cjs/{floating-ui-8d10af88.js → floating-ui-2b0fbba0.js} +2 -2
- package/dist/cjs/{focusTrapComponent-a22fc6a8.js → focusTrapComponent-d8412ddc.js} +4 -4
- package/dist/cjs/{form-9d8ebf06.js → form-7c6054c3.js} +2 -2
- package/dist/cjs/{fr-af7e1192.js → fr-563dfcd5.js} +14 -14
- package/dist/cjs/{fr-ch-5e1f2c28.js → fr-ch-f66cfd49.js} +14 -14
- package/dist/cjs/{guid-3abe3cc6.js → guid-d1123d5e.js} +1 -1
- package/dist/cjs/{he-ea851800.js → he-d8253a1a.js} +14 -14
- package/dist/cjs/{hi-5212a21d.js → hi-58c7c3b5.js} +14 -14
- package/dist/cjs/{hr-4eecb2ed.js → hr-5aba114a.js} +14 -14
- package/dist/cjs/{hu-6b527d8e.js → hu-38c15915.js} +14 -14
- package/dist/cjs/{id-d78f12ec.js → id-3a94c080.js} +14 -14
- package/dist/cjs/{index.es-4542630e.js → index.es-a1507f1c.js} +3 -3
- package/dist/cjs/{interactive-2fe0f43a.js → interactive-48299817.js} +2 -2
- package/dist/cjs/{it-15242935.js → it-88834555.js} +14 -14
- package/dist/cjs/{it-ch-9dc21944.js → it-ch-970563cd.js} +14 -14
- package/dist/cjs/{ja-f702cfc2.js → ja-13d4b1ae.js} +14 -14
- package/dist/cjs/{key-b8b55ea3.js → key-8de93212.js} +1 -1
- package/dist/cjs/{ko-aa9bde2c.js → ko-10cbdd98.js} +14 -14
- package/dist/cjs/{label-6e33e971.js → label-166e2d81.js} +3 -3
- package/dist/cjs/layout-manager.cjs.entry.js +93 -0
- package/dist/cjs/{loadModules-31cab7ac.js → loadModules-c5490589.js} +1 -1
- package/dist/cjs/{loadable-bac9cdd6.js → loadable-6925d840.js} +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{locale-c63a1b57.js → locale-79c3d30e.js} +5 -5
- package/dist/cjs/{locale-d15cd743.js → locale-88c21da2.js} +15 -15
- package/dist/cjs/{lt-e741ff2f.js → lt-3fc5017a.js} +14 -14
- package/dist/cjs/{lv-92d6768e.js → lv-9d9cf999.js} +14 -14
- package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
- package/dist/cjs/{math-5132d9bd.js → math-f28069f3.js} +1 -1
- package/dist/cjs/{mk-b209ac0d.js → mk-9f79812b.js} +14 -14
- package/dist/cjs/{nb-db13e666.js → nb-673fe3fd.js} +14 -14
- package/dist/cjs/{nl-fcd9e0c5.js → nl-4dc0504f.js} +14 -14
- package/dist/cjs/{observers-f5fa975b.js → observers-9912f013.js} +1 -1
- package/dist/cjs/{openCloseComponent-5d70fcd8.js → openCloseComponent-05cb01ff.js} +9 -4
- package/dist/cjs/{pl-87c83322.js → pl-d809a6c3.js} +14 -14
- package/dist/cjs/{pt-b0b5f472.js → pt-78eefbc7.js} +14 -14
- package/dist/cjs/{pt-br-03333e90.js → pt-br-55f1893a.js} +14 -14
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/{resources-60c27547.js → resources-030a27ed.js} +1 -1
- package/dist/cjs/{resources-91409a5d.js → resources-10d29626.js} +1 -1
- package/dist/cjs/{resources-9f2b33ee.js → resources-24b6eee0.js} +1 -1
- package/dist/cjs/{resources-4da89742.js → resources-2b51cf4c.js} +1 -1
- package/dist/cjs/{resources-e1258e8a.js → resources-8f4e8ba8.js} +1 -1
- package/dist/cjs/{resources-77713c2e.js → resources-993f6faf.js} +1 -1
- package/dist/cjs/{resources-2901b608.js → resources-a2e2a544.js} +1 -1
- package/dist/cjs/{resources-c913200c.js → resources-acf9a7ea.js} +1 -1
- package/dist/cjs/{resources-8233a151.js → resources-caca31c2.js} +1 -1
- package/dist/cjs/{ro-c3661b73.js → ro-f0cff196.js} +14 -14
- package/dist/cjs/{ru-8dd3fd58.js → ru-5e9b37f9.js} +14 -14
- package/dist/cjs/{shared-list-render-c0adb192.js → shared-list-render-9bbcb306.js} +6 -6
- package/dist/cjs/{sk-151d9acf.js → sk-322cd349.js} +14 -14
- package/dist/cjs/{sl-9b45a152.js → sl-fd948e50.js} +14 -14
- package/dist/cjs/solution-configuration.cjs.entry.js +1 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +3 -3
- package/dist/cjs/{sortableComponent-58679f07.js → sortableComponent-70bf79de.js} +2 -2
- package/dist/cjs/{sr-186bf15c.js → sr-f0058b24.js} +14 -14
- package/dist/cjs/{sv-a93fee0c.js → sv-8a8378bf.js} +14 -14
- package/dist/cjs/{t9n-1d032c30.js → t9n-62d807df.js} +2 -2
- package/dist/cjs/{th-41680352.js → th-f219fad6.js} +14 -14
- package/dist/cjs/{time-5e450ec8.js → time-24d40c60.js} +2 -2
- package/dist/cjs/{tr-0bd886d6.js → tr-03109641.js} +14 -14
- package/dist/cjs/{uk-4fade133.js → uk-dde46112.js} +14 -14
- package/dist/cjs/{utils-cd14113f.js → utils-09191c93.js} +2 -2
- package/dist/cjs/{utils-acfeed9d.js → utils-651e6663.js} +3 -3
- package/dist/cjs/{utils-ae9bdd59.js → utils-852fe124.js} +3 -3
- package/dist/cjs/{utils-bae432a9.js → utils-a194dc3d.js} +5 -2
- package/dist/cjs/{vi-1c9fe343.js → vi-60ed6e30.js} +14 -14
- package/dist/cjs/{zh-cn-28fa1fe1.js → zh-cn-a2f6f51d.js} +14 -14
- package/dist/cjs/{zh-hk-5abf8eb5.js → zh-hk-e14e2fc0.js} +14 -14
- package/dist/cjs/{zh-tw-07500357.js → zh-tw-7ea0d7e4.js} +14 -14
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +22 -28
- package/dist/collection/components/info-card/info-card.css +14 -0
- package/dist/collection/components/info-card/info-card.js +3 -2
- package/dist/collection/components/layer-table/layer-table.js +60 -9
- package/dist/collection/components/map-card/map-card.js +10 -6
- package/dist/collection/components/map-legend/map-legend.css +3 -0
- package/dist/collection/components/map-legend/map-legend.js +166 -0
- package/dist/collection/components/map-legend/test/map-legend.e2e.js +14 -0
- package/dist/collection/components/map-legend/test/map-legend.spec.js +22 -0
- package/dist/collection/components/map-tools/map-tools.js +25 -4
- package/dist/collection/demos/crowdsource-manager.html +26 -1
- package/dist/collection/utils/downloadUtils.js +250 -230
- package/dist/collection/utils/downloadUtils.ts +347 -326
- package/dist/collection/utils/interfaces.ts +11 -0
- package/dist/collection/utils/test/downloadUtils.spec.js +503 -57
- package/dist/collection/utils/test/downloadUtils.spec.tsx +587 -61
- package/dist/components/ExpandToggle.js +2 -2
- package/dist/components/FloatingArrow.js +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/action-bar.js +23 -15
- package/dist/components/action-group.js +9 -10
- package/dist/components/action-menu.js +1 -1
- package/dist/components/action.js +1 -1
- package/dist/components/alert.js +2 -2
- package/dist/components/array.js +1 -1
- package/dist/components/avatar.js +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/calcite-accordion-item.js +2 -7
- package/dist/components/calcite-accordion.js +0 -5
- package/dist/components/calcite-action-pad.js +10 -5
- package/dist/components/calcite-block-section.js +2 -2
- package/dist/components/calcite-block.js +2 -2
- package/dist/components/calcite-card.js +1 -1
- package/dist/components/calcite-chip-group.js +0 -5
- package/dist/components/calcite-combobox-item-group.js +1 -1
- package/dist/components/calcite-fab.js +1 -1
- package/dist/components/calcite-flow-item.js +1 -1
- package/dist/components/calcite-flow.js +1 -1
- package/dist/components/calcite-inline-editable.js +1 -1
- package/dist/components/calcite-input-date-picker.js +1 -1
- package/dist/components/calcite-input-time-picker.js +1 -1
- package/dist/components/calcite-input-time-zone.js +1 -1
- package/dist/components/calcite-list-item-group.js +1 -1
- package/dist/components/calcite-menu-item.js +1 -1
- package/dist/components/calcite-modal.js +2 -2
- package/dist/components/calcite-navigation-logo.js +1 -1
- package/dist/components/calcite-navigation-user.js +1 -1
- package/dist/components/calcite-navigation.js +2 -2
- package/dist/components/calcite-pagination.js +1 -1
- package/dist/components/calcite-radio-button-group.js +0 -5
- package/dist/components/calcite-radio-button.js +1 -1
- package/dist/components/calcite-rating.js +1 -1
- package/dist/components/calcite-shell-center-row.js +1 -1
- package/dist/components/calcite-sortable-list.js +1 -1
- package/dist/components/calcite-split-button.js +1 -1
- package/dist/components/calcite-stepper.js +0 -5
- package/dist/components/calcite-text-area.js +5 -5
- package/dist/components/calcite-tile-select.js +1 -1
- package/dist/components/calcite-tip-manager.js +1 -1
- package/dist/components/calcite-tip.js +1 -1
- package/dist/components/card-manager2.js +5 -5
- package/dist/components/checkbox.js +0 -5
- package/dist/components/chip.js +2 -2
- package/dist/components/color-picker-hex-input.js +2 -2
- package/dist/components/color-picker-swatch.js +1 -1
- package/dist/components/combobox-item.js +1 -1
- package/dist/components/combobox.js +1 -6
- package/dist/components/conditionalSlot.js +1 -1
- package/dist/components/crowdsource-manager.js +29 -18
- package/dist/components/date-picker-month-header.js +1 -1
- package/dist/components/date-picker.js +2 -2
- package/dist/components/date.js +1 -1
- package/dist/components/dom.js +2 -2
- package/dist/components/downloadUtils.js +247 -260
- package/dist/components/dropdown-group.js +1 -1
- package/dist/components/dropdown-item.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/esri-loader.js +15 -15
- package/dist/components/filter.js +1 -1
- package/dist/components/filter2.js +1 -1
- package/dist/components/floating-ui.js +1 -1
- package/dist/components/focusTrapComponent.js +4 -4
- package/dist/components/form.js +1 -1
- package/dist/components/graph.js +3 -8
- package/dist/components/guid.js +1 -1
- package/dist/components/handle.js +1 -1
- package/dist/components/icon.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/info-card2.js +9 -8
- package/dist/components/input-message.js +1 -1
- package/dist/components/input-number.js +1 -1
- package/dist/components/input-text.js +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/interactive.js +2 -2
- package/dist/components/key.js +1 -1
- package/dist/components/label.js +2 -2
- package/dist/components/label2.js +1 -1
- package/dist/components/layer-table2.js +40 -9
- package/dist/components/layout-manager.js +129 -1
- package/dist/components/list-item2.js +1 -1
- package/dist/components/list.js +2 -2
- package/dist/components/loadable.js +1 -1
- package/dist/components/locale2.js +2 -2
- package/dist/components/map-card2.js +46 -37
- package/dist/components/map-legend.d.ts +11 -0
- package/dist/components/map-legend.js +11 -0
- package/dist/components/map-legend2.js +118 -0
- package/dist/components/map-tools2.js +47 -22
- package/dist/components/math.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/notice.js +1 -1
- package/dist/components/observers.js +1 -1
- package/dist/components/openCloseComponent.js +9 -4
- package/dist/components/panel.js +2 -2
- package/dist/components/pick-list-item.js +1 -1
- package/dist/components/popover.js +3 -8
- package/dist/components/resources.js +1 -1
- package/dist/components/resources2.js +1 -1
- package/dist/components/resources3.js +1 -1
- package/dist/components/resources4.js +1 -1
- package/dist/components/scrim.js +1 -1
- package/dist/components/segmented-control-item.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/shared-list-render.js +2 -2
- package/dist/components/shell-panel.js +9 -6
- package/dist/components/shell.js +2 -2
- package/dist/components/slider.js +1 -1
- package/dist/components/sortableComponent.js +1 -1
- package/dist/components/stack.js +2 -2
- package/dist/components/t9n.js +1 -1
- package/dist/components/tab-title.js +1 -6
- package/dist/components/tabs.js +1 -1
- package/dist/components/tile.js +1 -1
- package/dist/components/time-picker.js +2 -2
- package/dist/components/tooltip.js +3 -3
- package/dist/components/tree-item.js +2 -2
- package/dist/components/tree.js +1 -1
- package/dist/components/utils.js +5 -2
- package/dist/components/utils2.js +2 -2
- package/dist/components/utils3.js +2 -2
- package/dist/components/value-list-item.js +1 -1
- package/dist/components/value-list.js +2 -2
- package/dist/esm/{ExpandToggle-3d10bd1e.js → ExpandToggle-3bfcb842.js} +5 -5
- package/dist/esm/{FloatingArrow-29db6da6.js → FloatingArrow-cf140d6b.js} +1 -1
- package/dist/esm/{Heading-cb79e5b2.js → Heading-140d10ff.js} +1 -1
- package/dist/esm/{app-globals-5cbac6b0.js → app-globals-fffe4e27.js} +3 -3
- package/dist/esm/{ar-4b751ba8.js → ar-45abeb31.js} +14 -14
- package/dist/esm/{array-751a2b87.js → array-d95985ad.js} +1 -1
- package/dist/esm/{basemap-gallery_4.entry.js → basemap-gallery_5.entry.js} +115 -7
- package/dist/esm/{bg-5d8bf5ea.js → bg-af759e86.js} +14 -14
- package/dist/esm/{bs-ff510e71.js → bs-20d012de.js} +14 -14
- package/dist/esm/buffer-tools_4.entry.js +15 -15
- package/dist/esm/{ca-b9a5e51a.js → ca-1498df65.js} +14 -14
- package/dist/esm/calcite-accordion-item.entry.js +7 -12
- package/dist/esm/calcite-accordion.entry.js +1 -6
- package/dist/esm/calcite-action-bar.entry.js +31 -26
- package/dist/esm/calcite-action-group_2.entry.js +18 -20
- package/dist/esm/calcite-action-pad.entry.js +20 -16
- package/dist/esm/calcite-action_2.entry.js +17 -22
- package/dist/esm/calcite-alert.entry.js +11 -11
- package/dist/esm/calcite-avatar.entry.js +6 -6
- package/dist/esm/calcite-block-section.entry.js +9 -9
- package/dist/esm/calcite-block.entry.js +12 -12
- package/dist/esm/calcite-button.entry.js +12 -12
- package/dist/esm/calcite-card.entry.js +9 -9
- package/dist/esm/calcite-checkbox.entry.js +8 -13
- package/dist/esm/calcite-chip-group.entry.js +6 -11
- package/dist/esm/calcite-chip.entry.js +11 -11
- package/dist/esm/calcite-color-picker-hex-input_2.entry.js +8 -8
- package/dist/esm/calcite-color-picker.entry.js +12 -12
- package/dist/esm/calcite-combobox-item-group.entry.js +5 -5
- package/dist/esm/calcite-combobox_6.entry.js +21 -26
- package/dist/esm/calcite-date-picker-day_3.entry.js +10 -10
- package/dist/esm/calcite-date-picker.entry.js +11 -11
- package/dist/esm/calcite-fab.entry.js +6 -6
- package/dist/esm/calcite-filter_5.entry.js +16 -16
- package/dist/esm/calcite-flow-item.entry.js +11 -11
- package/dist/esm/calcite-flow.entry.js +3 -3
- package/dist/esm/calcite-graph.entry.js +5 -10
- package/dist/esm/calcite-icon.entry.js +6 -6
- package/dist/esm/calcite-inline-editable.entry.js +11 -11
- package/dist/esm/calcite-input-date-picker.entry.js +17 -17
- package/dist/esm/calcite-input-number_2.entry.js +13 -13
- package/dist/esm/{calcite-input-time-picker-13448515.js → calcite-input-time-picker-227e60c3.js} +60 -60
- package/dist/esm/calcite-input-time-picker.entry.js +14 -14
- package/dist/esm/calcite-input-time-zone.entry.js +12 -12
- package/dist/esm/calcite-input_2.entry.js +12 -12
- package/dist/esm/calcite-label.entry.js +5 -5
- package/dist/esm/calcite-link.entry.js +5 -5
- package/dist/esm/calcite-list-item-group.entry.js +3 -3
- package/dist/esm/calcite-loader.entry.js +1 -1
- package/dist/esm/calcite-menu-item.entry.js +9 -9
- package/dist/esm/calcite-menu.entry.js +9 -9
- package/dist/esm/calcite-modal.entry.js +12 -12
- package/dist/esm/calcite-navigation-logo.entry.js +2 -2
- package/dist/esm/calcite-navigation-user.entry.js +2 -2
- package/dist/esm/calcite-navigation.entry.js +5 -5
- package/dist/esm/calcite-notice.entry.js +11 -11
- package/dist/esm/calcite-option_2.entry.js +9 -9
- package/dist/esm/calcite-pagination.entry.js +9 -9
- package/dist/esm/calcite-panel_2.entry.js +14 -14
- package/dist/esm/calcite-pick-list-group.entry.js +7 -7
- package/dist/esm/calcite-pick-list-item.entry.js +12 -12
- package/dist/esm/calcite-pick-list.entry.js +10 -10
- package/dist/esm/calcite-radio-button-group.entry.js +2 -7
- package/dist/esm/calcite-radio-button.entry.js +9 -9
- package/dist/esm/calcite-rating.entry.js +12 -12
- package/dist/esm/calcite-scrim.entry.js +8 -8
- package/dist/esm/calcite-segmented-control_2.entry.js +8 -8
- package/dist/esm/calcite-shell-center-row.entry.js +6 -6
- package/dist/esm/calcite-shell-panel_14.entry.js +29 -32
- package/dist/esm/calcite-sortable-list.entry.js +7 -7
- package/dist/esm/calcite-split-button.entry.js +3 -3
- package/dist/esm/calcite-stepper-item.entry.js +8 -8
- package/dist/esm/calcite-stepper.entry.js +3 -8
- package/dist/esm/calcite-switch.entry.js +8 -8
- package/dist/esm/calcite-text-area.entry.js +15 -15
- package/dist/esm/calcite-tile-select-group.entry.js +1 -1
- package/dist/esm/calcite-tile-select.entry.js +4 -4
- package/dist/esm/calcite-tile.entry.js +7 -7
- package/dist/esm/calcite-time-picker.entry.js +10 -10
- package/dist/esm/calcite-tip-manager.entry.js +9 -9
- package/dist/esm/calcite-tip.entry.js +10 -10
- package/dist/esm/calcite-tooltip.entry.js +9 -9
- package/dist/esm/calcite-tree_3.entry.js +8 -8
- package/dist/esm/{card-manager_4.entry.js → card-manager_3.entry.js} +48 -93
- package/dist/esm/{conditionalSlot-27a0fce0.js → conditionalSlot-55a14abd.js} +2 -2
- package/dist/esm/crowdsource-manager.entry.js +23 -11
- package/dist/esm/{cs-f21a0628.js → cs-3bd67855.js} +14 -14
- package/dist/esm/{da-dc48fc4c.js → da-7a76e131.js} +14 -14
- package/dist/esm/{date-0ed48e97.js → date-bd5b879c.js} +2 -2
- package/dist/esm/{de-59290071.js → de-0808a43e.js} +14 -14
- package/dist/esm/{de-at-cd6e6ab7.js → de-at-0b6874cb.js} +14 -14
- package/dist/esm/{de-ch-27c44e34.js → de-ch-c9d429dd.js} +14 -14
- package/dist/esm/{dom-843e3afd.js → dom-37f2dec9.js} +3 -3
- package/dist/esm/{downloadUtils-63661805.js → downloadUtils-64c27514.js} +249 -262
- package/dist/esm/edit-card_2.entry.js +6 -5
- package/dist/esm/{el-f09fdec6.js → el-66001281.js} +14 -14
- package/dist/esm/{en-au-90087aa5.js → en-au-6424fec0.js} +14 -14
- package/dist/esm/{en-ca-10751695.js → en-ca-f5f1659d.js} +14 -14
- package/dist/esm/{en-gb-0f8547bd.js → en-gb-796beadd.js} +14 -14
- package/dist/esm/{es-b0997cf1.js → es-cd139926.js} +14 -14
- package/dist/esm/{es-mx-226f5028.js → es-mx-854dc3e4.js} +14 -14
- package/dist/esm/{et-dc96c453.js → et-2aa6782d.js} +14 -14
- package/dist/esm/{fi-0941704d.js → fi-965727bd.js} +14 -14
- package/dist/esm/{filter-1cac3edf.js → filter-60517290.js} +1 -1
- package/dist/esm/{floating-ui-d28d0fd6.js → floating-ui-7cde67cf.js} +2 -2
- package/dist/esm/{focusTrapComponent-ff3a9f28.js → focusTrapComponent-ec344399.js} +4 -4
- package/dist/esm/{form-11c6a015.js → form-04d47b0b.js} +2 -2
- package/dist/esm/{fr-8da3458d.js → fr-c1884e89.js} +14 -14
- package/dist/esm/{fr-ch-739ceddf.js → fr-ch-1fd8dd3a.js} +14 -14
- package/dist/esm/{guid-2bbb8cd1.js → guid-70cda807.js} +1 -1
- package/dist/esm/{he-8b662dfa.js → he-0d7b78b4.js} +14 -14
- package/dist/esm/{hi-10996f89.js → hi-0376c82d.js} +14 -14
- package/dist/esm/{hr-42c2024d.js → hr-28a64903.js} +14 -14
- package/dist/esm/{hu-4768b3ff.js → hu-44a02ff7.js} +14 -14
- package/dist/esm/{id-24a08170.js → id-034fc4a5.js} +14 -14
- package/dist/esm/{index.es-3a3aa8e3.js → index.es-b7bc2db1.js} +3 -3
- package/dist/esm/{interactive-eaf4be29.js → interactive-bd6837bc.js} +2 -2
- package/dist/esm/{it-ad09649f.js → it-56e52026.js} +14 -14
- package/dist/esm/{it-ch-b05fc10d.js → it-ch-a4a0e136.js} +14 -14
- package/dist/esm/{ja-ab839b73.js → ja-f2365272.js} +14 -14
- package/dist/esm/{key-7a525416.js → key-02fa06ae.js} +1 -1
- package/dist/esm/{ko-c778539e.js → ko-e7650b4c.js} +14 -14
- package/dist/esm/{label-6a1caf64.js → label-b6dfb4d5.js} +3 -3
- package/dist/{components/layout-manager2.js → esm/layout-manager.entry.js} +11 -58
- package/dist/esm/{loadModules-2ecd1e44.js → loadModules-f5f910b6.js} +1 -1
- package/dist/esm/{loadable-6bca96ad.js → loadable-47170cb6.js} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{locale-d8561d54.js → locale-146251f7.js} +5 -5
- package/dist/esm/{locale-aa3de591.js → locale-efad8f83.js} +15 -15
- package/dist/esm/{lt-447d9aa9.js → lt-1577a952.js} +14 -14
- package/dist/esm/{lv-4d715e11.js → lv-9ef7e4f6.js} +14 -14
- package/dist/esm/map-select-tools_3.entry.js +3 -3
- package/dist/esm/{math-5f92f517.js → math-0d6817c3.js} +1 -1
- package/dist/esm/{mk-b3d7401a.js → mk-94264e08.js} +14 -14
- package/dist/esm/{nb-2b4a8366.js → nb-fa24d5b2.js} +14 -14
- package/dist/esm/{nl-c0db1da2.js → nl-33f10900.js} +14 -14
- package/dist/esm/{observers-9d66685a.js → observers-95c50046.js} +1 -1
- package/dist/esm/{openCloseComponent-2b5c6bed.js → openCloseComponent-10efeff3.js} +9 -4
- package/dist/esm/{pl-0d322bb4.js → pl-9ed16565.js} +14 -14
- package/dist/esm/{pt-5997598c.js → pt-52731ddf.js} +14 -14
- package/dist/esm/{pt-br-6b77e7db.js → pt-br-8de51ff4.js} +14 -14
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/{resources-5bce3953.js → resources-0151b0c0.js} +1 -1
- package/dist/esm/{resources-94c47e64.js → resources-1e6d76df.js} +1 -1
- package/dist/esm/{resources-40d8e06f.js → resources-24255b05.js} +1 -1
- package/dist/esm/{resources-dca3d475.js → resources-2e5aa562.js} +1 -1
- package/dist/esm/{resources-c253772f.js → resources-2edfa0af.js} +1 -1
- package/dist/esm/{resources-a9b2d33c.js → resources-41416583.js} +1 -1
- package/dist/esm/{resources-d6a4d343.js → resources-b392187d.js} +1 -1
- package/dist/esm/{resources-58d30a0f.js → resources-c676d5de.js} +1 -1
- package/dist/esm/{resources-c65f5654.js → resources-efae7280.js} +1 -1
- package/dist/esm/{ro-ac3724e0.js → ro-99f009ad.js} +14 -14
- package/dist/esm/{ru-4e75151f.js → ru-592ffaf0.js} +14 -14
- package/dist/esm/{shared-list-render-abd19c8d.js → shared-list-render-4f0f6af8.js} +6 -6
- package/dist/esm/{sk-bbfa22a3.js → sk-44f7bd19.js} +14 -14
- package/dist/esm/{sl-867cecfc.js → sl-08cad9bd.js} +14 -14
- package/dist/esm/solution-configuration.entry.js +1 -1
- package/dist/esm/solution-contents_3.entry.js +1 -1
- package/dist/esm/solutions-components.js +3 -3
- package/dist/esm/{sortableComponent-db502e97.js → sortableComponent-8a84709a.js} +2 -2
- package/dist/esm/{sr-198b5c00.js → sr-84f261fc.js} +14 -14
- package/dist/esm/{sv-02d64370.js → sv-d0d7bc1e.js} +14 -14
- package/dist/esm/{t9n-76168237.js → t9n-5f748619.js} +2 -2
- package/dist/esm/{th-1616e303.js → th-a5149d44.js} +14 -14
- package/dist/esm/{time-6721a4c2.js → time-fa1151aa.js} +2 -2
- package/dist/esm/{tr-f4619f64.js → tr-feb0cad4.js} +14 -14
- package/dist/esm/{uk-df7df34a.js → uk-c9ba62a0.js} +14 -14
- package/dist/esm/{utils-f54411df.js → utils-0a5c1a07.js} +3 -3
- package/dist/esm/{utils-ccfd94a7.js → utils-667cc396.js} +3 -3
- package/dist/esm/{utils-18db6b1d.js → utils-7af1efcc.js} +2 -2
- package/dist/esm/{utils-2c91c963.js → utils-7cf107ec.js} +5 -2
- package/dist/esm/{vi-176ca9f7.js → vi-788dcb99.js} +14 -14
- package/dist/esm/{zh-cn-e13d83d1.js → zh-cn-3ccfb820.js} +14 -14
- package/dist/esm/{zh-hk-d97365d8.js → zh-hk-b29b61e8.js} +14 -14
- package/dist/esm/{zh-tw-a2b6f0b7.js → zh-tw-2bdbc6eb.js} +14 -14
- package/dist/solutions-components/assets/icon/applySelectionToExistingView16.json +1 -0
- package/dist/solutions-components/assets/icon/applySelectionToExistingView24.json +1 -0
- package/dist/solutions-components/assets/icon/applySelectionToExistingView32.json +1 -0
- package/dist/solutions-components/assets/icon/channels16.json +1 -0
- package/dist/solutions-components/assets/icon/channels24.json +1 -0
- package/dist/solutions-components/assets/icon/channels32.json +1 -0
- package/dist/solutions-components/assets/icon/chevronDownLeft16.json +1 -0
- package/dist/solutions-components/assets/icon/chevronDownLeft24.json +1 -0
- package/dist/solutions-components/assets/icon/chevronDownLeft32.json +1 -0
- package/dist/solutions-components/assets/icon/chevronDownRight16.json +1 -0
- package/dist/solutions-components/assets/icon/chevronDownRight24.json +1 -0
- package/dist/solutions-components/assets/icon/chevronDownRight32.json +1 -0
- package/dist/solutions-components/assets/icon/chevronUpLeft16.json +1 -0
- package/dist/solutions-components/assets/icon/chevronUpLeft24.json +1 -0
- package/dist/solutions-components/assets/icon/chevronUpLeft32.json +1 -0
- package/dist/solutions-components/assets/icon/chevronUpRight16.json +1 -0
- package/dist/solutions-components/assets/icon/chevronUpRight24.json +1 -0
- package/dist/solutions-components/assets/icon/chevronUpRight32.json +1 -0
- package/dist/solutions-components/assets/icon/clearSelection16.json +1 -0
- package/dist/solutions-components/assets/icon/clearSelection24.json +1 -0
- package/dist/solutions-components/assets/icon/clearSelection32.json +1 -0
- package/dist/solutions-components/assets/icon/communityLinkChartLayout16.json +1 -0
- package/dist/solutions-components/assets/icon/communityLinkChartLayout24.json +1 -0
- package/dist/solutions-components/assets/icon/communityLinkChartLayout32.json +1 -0
- package/dist/solutions-components/assets/icon/dataCard16.json +1 -0
- package/dist/solutions-components/assets/icon/dataCard24.json +1 -0
- package/dist/solutions-components/assets/icon/dataCard32.json +1 -0
- package/dist/solutions-components/assets/icon/dateTime16.json +1 -0
- package/dist/solutions-components/assets/icon/dateTime24.json +1 -0
- package/dist/solutions-components/assets/icon/dateTime32.json +1 -0
- package/dist/solutions-components/assets/icon/expressionDefinedColor16.json +1 -0
- package/dist/solutions-components/assets/icon/expressionDefinedColor24.json +1 -0
- package/dist/solutions-components/assets/icon/expressionDefinedColor32.json +1 -0
- package/dist/solutions-components/assets/icon/forceDirectedLinkChartLayout16.json +1 -0
- package/dist/solutions-components/assets/icon/forceDirectedLinkChartLayout24.json +1 -0
- package/dist/solutions-components/assets/icon/forceDirectedLinkChartLayout32.json +1 -0
- package/dist/solutions-components/assets/icon/hierarchicalLinkChartLayout16.json +1 -0
- package/dist/solutions-components/assets/icon/hierarchicalLinkChartLayout24.json +1 -0
- package/dist/solutions-components/assets/icon/hierarchicalLinkChartLayout32.json +1 -0
- package/dist/solutions-components/assets/icon/knowledgeStudio16.json +1 -0
- package/dist/solutions-components/assets/icon/knowledgeStudio24.json +1 -0
- package/dist/solutions-components/assets/icon/knowledgeStudio32.json +1 -0
- package/dist/solutions-components/assets/icon/linkChartExpand16.json +1 -0
- package/dist/solutions-components/assets/icon/linkChartExpand24.json +1 -0
- package/dist/solutions-components/assets/icon/linkChartExpand32.json +1 -0
- package/dist/solutions-components/assets/icon/minusSquare16F.json +1 -0
- package/dist/solutions-components/assets/icon/minusSquare24F.json +1 -0
- package/dist/solutions-components/assets/icon/minusSquare32F.json +1 -0
- package/dist/solutions-components/assets/icon/newLinkChart16.json +1 -0
- package/dist/solutions-components/assets/icon/newLinkChart24.json +1 -0
- package/dist/solutions-components/assets/icon/newLinkChart32.json +1 -0
- package/dist/solutions-components/assets/icon/radialTreeLinkChartYayout16.json +1 -0
- package/dist/solutions-components/assets/icon/radialTreeLinkChartYayout24.json +1 -0
- package/dist/solutions-components/assets/icon/radialTreeLinkChartYayout32.json +1 -0
- package/dist/solutions-components/assets/icon/removeLinkchart16.json +1 -0
- package/dist/solutions-components/assets/icon/removeLinkchart24.json +1 -0
- package/dist/solutions-components/assets/icon/removeLinkchart32.json +1 -0
- package/dist/solutions-components/assets/icon/simpleLinkChartLayout16.json +1 -0
- package/dist/solutions-components/assets/icon/simpleLinkChartLayout24.json +1 -0
- package/dist/solutions-components/assets/icon/simpleLinkChartLayout32.json +1 -0
- package/dist/solutions-components/assets/icon/smartTreeLinkChartLayout16.json +1 -0
- package/dist/solutions-components/assets/icon/smartTreeLinkChartLayout24.json +1 -0
- package/dist/solutions-components/assets/icon/smartTreeLinkChartLayout32.json +1 -0
- package/dist/solutions-components/assets/icon/sortAscendingArrow16.json +1 -1
- package/dist/solutions-components/assets/icon/sortAscendingArrow24.json +1 -1
- package/dist/solutions-components/assets/icon/sortAscendingArrow32.json +1 -1
- package/dist/solutions-components/assets/icon/sortDescendingArrow16.json +1 -1
- package/dist/solutions-components/assets/icon/sortDescendingArrow24.json +1 -1
- package/dist/solutions-components/assets/icon/sortDescendingArrow32.json +1 -1
- package/dist/solutions-components/assets/icon/timeZone16.json +1 -0
- package/dist/solutions-components/assets/icon/timeZone24.json +1 -0
- package/dist/solutions-components/assets/icon/timeZone32.json +1 -0
- package/dist/solutions-components/assets/icon/updateProject16.json +1 -0
- package/dist/solutions-components/assets/icon/updateProject24.json +1 -0
- package/dist/solutions-components/assets/icon/updateProject32.json +1 -0
- package/dist/solutions-components/demos/crowdsource-manager.html +26 -1
- package/dist/solutions-components/{p-9fb16c72.entry.js → p-0109bef4.entry.js} +10 -10
- package/dist/solutions-components/{p-46d5970b.entry.js → p-01c83b8c.entry.js} +1 -1
- package/dist/solutions-components/{p-6de98c51.js → p-0266ca81.js} +1 -1
- package/dist/solutions-components/{p-8a758303.js → p-05b2bdf9.js} +3 -3
- package/dist/solutions-components/p-072155f9.js +12 -0
- package/dist/solutions-components/{p-e07b8a72.entry.js → p-082365d6.entry.js} +3 -3
- package/dist/solutions-components/{p-ea282908.js → p-0b8463d6.js} +1 -1
- package/dist/solutions-components/{p-cad5587c.entry.js → p-0c2e392e.entry.js} +6 -6
- package/dist/solutions-components/p-0dce2c3b.entry.js +6 -0
- package/dist/solutions-components/{p-c3f8b670.js → p-0ecd7346.js} +1 -1
- package/dist/solutions-components/{p-18f1772b.js → p-0ed14b4b.js} +1 -1
- package/dist/solutions-components/p-0f77e83c.entry.js +11 -0
- package/dist/solutions-components/{p-29d41c7e.js → p-0f85fa4b.js} +1 -1
- package/dist/solutions-components/{p-541697d0.js → p-0fa3d1aa.js} +2 -2
- package/dist/solutions-components/{p-a6900100.entry.js → p-10e1ebe4.entry.js} +3 -3
- package/dist/solutions-components/{p-7c33e500.entry.js → p-12f06497.entry.js} +1 -1
- package/dist/solutions-components/{p-f41105c8.js → p-138cf009.js} +1 -1
- package/dist/solutions-components/{p-2b96e551.entry.js → p-149b4d3c.entry.js} +3 -3
- package/dist/solutions-components/{p-022a9b7a.js → p-167eb73b.js} +1 -1
- package/dist/solutions-components/{p-32f9c709.js → p-168a7d63.js} +1 -1
- package/dist/solutions-components/{p-2b252afd.entry.js → p-17a29fa6.entry.js} +1 -1
- package/dist/solutions-components/p-18538cd9.entry.js +11 -0
- package/dist/solutions-components/p-1bcfca9b.entry.js +6 -0
- package/dist/solutions-components/{p-19fe7725.js → p-1cebde99.js} +1 -1
- package/dist/solutions-components/{p-b948ecd2.entry.js → p-1dbaff04.entry.js} +2 -2
- package/dist/solutions-components/{p-2656168f.entry.js → p-1e7a31c1.entry.js} +3 -3
- package/dist/solutions-components/{p-d554507d.js → p-1eda2d20.js} +1 -1
- package/dist/solutions-components/{p-ef48bd77.entry.js → p-1efcac52.entry.js} +3 -3
- package/dist/solutions-components/{p-c6d83122.entry.js → p-1fba74a5.entry.js} +3 -3
- package/dist/solutions-components/{p-3cbe5ef3.js → p-2154de6d.js} +1 -1
- package/dist/solutions-components/{p-1ea1dcac.js → p-22d06238.js} +1 -1
- package/dist/solutions-components/{p-1ede2e18.js → p-2592c0b8.js} +3 -3
- package/dist/solutions-components/{p-90bbf223.entry.js → p-261394d7.entry.js} +1 -1
- package/dist/solutions-components/{p-754e2df2.js → p-27e0f599.js} +1 -1
- package/dist/solutions-components/{p-6a820c4d.js → p-28b5a7cf.js} +1 -1
- package/dist/solutions-components/{p-804e4751.entry.js → p-29efbf76.entry.js} +3 -3
- package/dist/solutions-components/{p-421d5e7c.js → p-2bf63e2e.js} +1 -1
- package/dist/solutions-components/{p-d4c103a8.js → p-2e8a41da.js} +1 -1
- package/dist/solutions-components/{p-de59d2f5.js → p-31aaa60f.js} +1 -1
- package/dist/solutions-components/{p-a2748b38.entry.js → p-34ef43ce.entry.js} +1 -1
- package/dist/solutions-components/{p-97c47bbd.entry.js → p-35cb6eca.entry.js} +3 -3
- package/dist/solutions-components/{p-39ff5ee5.js → p-3766be72.js} +2 -2
- package/dist/solutions-components/{p-9e727488.js → p-38f906f2.js} +1 -1
- package/dist/solutions-components/{p-c5e294e4.js → p-3948a96c.js} +1 -1
- package/dist/solutions-components/{p-9bbc05ff.js → p-3a844a72.js} +1 -1
- package/dist/solutions-components/{p-825bac0e.js → p-3c15959e.js} +1 -1
- package/dist/solutions-components/{p-ffac6f88.entry.js → p-3ce89910.entry.js} +1 -1
- package/dist/solutions-components/{p-7920b5a2.entry.js → p-3cfaf52b.entry.js} +2 -2
- package/dist/solutions-components/{p-b9749e09.js → p-3d3e6e20.js} +1 -1
- package/dist/solutions-components/{p-844ee452.entry.js → p-410068d9.entry.js} +2 -2
- package/dist/solutions-components/{p-a775ba2f.entry.js → p-42f9ab43.entry.js} +3 -3
- package/dist/solutions-components/{p-2291b598.js → p-43ba7a04.js} +1 -1
- package/dist/solutions-components/{p-f28d69ac.entry.js → p-446ab7f8.entry.js} +3 -3
- package/dist/solutions-components/{p-4bc7b875.entry.js → p-452850b4.entry.js} +2 -2
- package/dist/solutions-components/{p-0fbc27fd.entry.js → p-456f5afe.entry.js} +2 -2
- package/dist/solutions-components/{p-b86b4512.entry.js → p-46e0ce0c.entry.js} +2 -2
- package/dist/solutions-components/p-470a9ec4.entry.js +6 -0
- package/dist/solutions-components/{p-d62784a4.js → p-476e5302.js} +1 -1
- package/dist/solutions-components/{p-7b90c18e.entry.js → p-476eb52c.entry.js} +1 -1
- package/dist/solutions-components/{p-5961c4e0.js → p-4a75b3dc.js} +1 -1
- package/dist/solutions-components/{p-42c7a5fa.entry.js → p-4d76eaf6.entry.js} +2 -2
- package/dist/solutions-components/{p-4e4b55b9.entry.js → p-4f9f97b2.entry.js} +3 -3
- package/dist/solutions-components/{p-67ce3c0c.entry.js → p-56f1d66b.entry.js} +3 -3
- package/dist/solutions-components/{p-5b9b1cbb.entry.js → p-58167087.entry.js} +3 -3
- package/dist/solutions-components/{p-ad72a379.entry.js → p-586f0e3d.entry.js} +3 -3
- package/dist/solutions-components/{p-6f2edf5b.js → p-588bc0c0.js} +1 -1
- package/dist/solutions-components/{p-a040efff.js → p-5958dad9.js} +1 -1
- package/dist/solutions-components/{p-4d17943f.js → p-5c9fa0e7.js} +1 -1
- package/dist/solutions-components/{p-b4157e6a.js → p-5ceef49b.js} +1 -1
- package/dist/solutions-components/{p-c9858d8f.entry.js → p-5d62566c.entry.js} +2 -2
- package/dist/solutions-components/{p-5f5c371e.js → p-5e08d4de.js} +1 -1
- package/dist/solutions-components/{p-b684bbc7.entry.js → p-5eaaf6ea.entry.js} +1 -1
- package/dist/solutions-components/{p-10248e04.js → p-60c15592.js} +1 -1
- package/dist/solutions-components/{p-7601988d.entry.js → p-6295e168.entry.js} +2 -2
- package/dist/solutions-components/{p-4f0c3fc1.js → p-635bbbd4.js} +1 -1
- package/dist/solutions-components/{p-aeebdb15.js → p-636f4631.js} +1 -1
- package/dist/solutions-components/{p-fb7e0054.js → p-643a0325.js} +1 -1
- package/dist/solutions-components/{p-606ca126.js → p-64e2c099.js} +1 -1
- package/dist/solutions-components/{p-ad4d6d02.entry.js → p-651459e2.entry.js} +4 -4
- package/dist/solutions-components/{p-b0c4138f.entry.js → p-667e7134.entry.js} +2 -2
- package/dist/solutions-components/{p-4b95d05e.entry.js → p-66b5211f.entry.js} +1 -1
- package/dist/solutions-components/{p-216801d5.js → p-688f6a0a.js} +1 -1
- package/dist/solutions-components/{p-3e139360.js → p-6be3c411.js} +1 -1
- package/dist/solutions-components/{p-6a524392.entry.js → p-6ce7b446.entry.js} +2 -2
- package/dist/solutions-components/{p-0e7914e6.entry.js → p-6ddc9567.entry.js} +3 -3
- package/dist/solutions-components/{p-7b9adfff.js → p-7060caf6.js} +1 -1
- package/dist/solutions-components/{p-bd3a3afe.js → p-7262469a.js} +1 -1
- package/dist/solutions-components/{p-3f0193e9.js → p-73220ff1.js} +1 -1
- package/dist/solutions-components/{p-31ff3452.entry.js → p-78a40191.entry.js} +2 -2
- package/dist/solutions-components/{p-82199b7b.entry.js → p-7a027758.entry.js} +1 -1
- package/dist/solutions-components/{p-a843af2a.js → p-7b2314ac.js} +1 -1
- package/dist/solutions-components/p-7bb12deb.js +11 -0
- package/dist/solutions-components/{p-56300653.js → p-7f271c31.js} +5 -5
- package/dist/solutions-components/p-7f9642d5.js +21 -0
- package/dist/solutions-components/{p-5c097e25.entry.js → p-80cb42e4.entry.js} +3 -3
- package/dist/solutions-components/{p-5383607a.js → p-80ea5869.js} +3 -3
- package/dist/solutions-components/{p-ab8f5c6b.entry.js → p-81814234.entry.js} +2 -2
- package/dist/solutions-components/{p-abda8ca2.entry.js → p-8544d557.entry.js} +2 -2
- package/dist/solutions-components/{p-680d193d.entry.js → p-864c190b.entry.js} +3 -3
- package/dist/solutions-components/p-869d4521.entry.js +6 -0
- package/dist/solutions-components/{p-d3a22725.js → p-872036a8.js} +1 -1
- package/dist/solutions-components/{p-22d580b0.entry.js → p-879d6377.entry.js} +3 -3
- package/dist/solutions-components/{p-4805ff13.js → p-87d66120.js} +1 -1
- package/dist/solutions-components/{p-9cb94ea0.js → p-8927339d.js} +1 -1
- package/dist/solutions-components/{p-7aa949a3.entry.js → p-89504313.entry.js} +2 -2
- package/dist/solutions-components/{p-cf43278c.entry.js → p-8af52074.entry.js} +3 -3
- package/dist/solutions-components/{p-3fc17d72.js → p-8b448a5b.js} +1 -1
- package/dist/solutions-components/{p-03fccde6.entry.js → p-8b74f5bb.entry.js} +3 -3
- package/dist/solutions-components/p-8b8a6c1f.entry.js +6 -0
- package/dist/solutions-components/{p-2ae17fa2.js → p-8c61431d.js} +1 -1
- package/dist/solutions-components/{p-634e1240.js → p-8d00a17e.js} +1 -1
- package/dist/solutions-components/{p-c07af9c2.entry.js → p-8f68f1d3.entry.js} +2 -2
- package/dist/solutions-components/{p-e6bee82f.js → p-8f8d2861.js} +1 -1
- package/dist/solutions-components/{p-108fbf59.entry.js → p-90cef98d.entry.js} +1 -1
- package/dist/solutions-components/{p-9603c3ff.entry.js → p-9370bb48.entry.js} +2 -2
- package/dist/solutions-components/{p-a777b18c.js → p-96239d0d.js} +2 -2
- package/dist/solutions-components/p-97a4001d.entry.js +6 -0
- package/dist/solutions-components/{p-215d3505.js → p-99402001.js} +1 -1
- package/dist/solutions-components/p-99891e57.js +11 -0
- package/dist/solutions-components/{p-15ef7894.js → p-9a35ef8e.js} +1 -1
- package/dist/solutions-components/{p-35123c90.js → p-9b76bf3d.js} +1 -1
- package/dist/solutions-components/{p-6b2f2b85.js → p-a16feeec.js} +4 -4
- package/dist/solutions-components/{p-e645edf2.entry.js → p-a1c6db13.entry.js} +1 -1
- package/dist/solutions-components/{p-75f26870.js → p-a26dc184.js} +13 -13
- package/dist/solutions-components/{p-0cc32f06.js → p-a287be8b.js} +1 -1
- package/dist/solutions-components/{p-052ff2c7.js → p-a46f1b45.js} +1 -1
- package/dist/solutions-components/{p-1f468797.js → p-ab072027.js} +1 -1
- package/dist/solutions-components/{p-31316d61.entry.js → p-ac0abf04.entry.js} +3 -3
- package/dist/solutions-components/{p-38ef0684.js → p-ad75b9bb.js} +2 -2
- package/dist/solutions-components/{p-a08bd8c1.entry.js → p-ae6a7b3b.entry.js} +1 -1
- package/dist/solutions-components/{p-05db4340.js → p-aea37c90.js} +1 -1
- package/dist/solutions-components/{p-164be8ef.entry.js → p-b25005cf.entry.js} +1 -1
- package/dist/solutions-components/{p-b2e6c578.js → p-b28b6d40.js} +1 -1
- package/dist/solutions-components/{p-639cca97.js → p-b28ff52c.js} +1 -1
- package/dist/solutions-components/{p-5e59219b.entry.js → p-b2a52acb.entry.js} +1 -1
- package/dist/solutions-components/{p-21f00df6.js → p-bde323ec.js} +1 -1
- package/dist/solutions-components/{p-a0edbb27.js → p-be146646.js} +1 -1
- package/dist/solutions-components/{p-a258f5e7.js → p-c1dcc1e7.js} +1 -1
- package/dist/solutions-components/p-c3ab7439.js +11 -0
- package/dist/solutions-components/{p-283e3a2d.js → p-c6e55b32.js} +1 -1
- package/dist/solutions-components/{p-e10a62f4.entry.js → p-c79c7978.entry.js} +3 -3
- package/dist/solutions-components/{p-647a4130.js → p-c9633864.js} +3 -3
- package/dist/solutions-components/{p-916f90ec.entry.js → p-c968f9aa.entry.js} +1 -1
- package/dist/solutions-components/{p-cf1af08f.entry.js → p-c9df539a.entry.js} +1 -1
- package/dist/solutions-components/{p-93074bd4.entry.js → p-ca3d7edd.entry.js} +2 -2
- package/dist/solutions-components/{p-2005280f.js → p-cacfa6ae.js} +2 -2
- package/dist/solutions-components/{p-27a1ac1f.entry.js → p-cc2393c3.entry.js} +3 -3
- package/dist/solutions-components/p-cd673260.js +6 -0
- package/dist/solutions-components/{p-761a033a.entry.js → p-cec47579.entry.js} +2 -2
- package/dist/solutions-components/{p-32ef065d.entry.js → p-ced11bea.entry.js} +2 -2
- package/dist/solutions-components/{p-ee066c67.js → p-cee23126.js} +5 -5
- package/dist/solutions-components/p-d2d3e4b5.js +11 -0
- package/dist/solutions-components/{p-0ece6df1.entry.js → p-d6f68a4e.entry.js} +2 -2
- package/dist/solutions-components/{p-326fa270.js → p-d864b7e3.js} +1 -1
- package/dist/solutions-components/{p-5adf37ea.entry.js → p-da6acb22.entry.js} +2 -2
- package/dist/solutions-components/{p-de58bd49.js → p-e0c011b8.js} +1 -1
- package/dist/solutions-components/{p-58ce5639.js → p-e0fb0920.js} +1 -1
- package/dist/solutions-components/{p-b1f84ae5.js → p-e2637fe6.js} +1 -1
- package/dist/solutions-components/{p-ef96894d.entry.js → p-e2eb4fd3.entry.js} +4 -4
- package/dist/solutions-components/{p-18869c0f.js → p-e3525c00.js} +1 -1
- package/dist/solutions-components/{p-1add4e39.entry.js → p-e3d72832.entry.js} +2 -2
- package/dist/solutions-components/{p-6431fd69.js → p-e4d2fcc5.js} +3 -3
- package/dist/solutions-components/{p-f055a840.js → p-e761b7cd.js} +1 -1
- package/dist/solutions-components/{p-4daae757.js → p-ea285144.js} +1 -1
- package/dist/solutions-components/p-ebbff02e.js +6 -0
- package/dist/solutions-components/{p-07bc4f07.entry.js → p-ec378ea0.entry.js} +3 -3
- package/dist/solutions-components/{p-12a4fa84.js → p-ec889511.js} +1 -1
- package/dist/solutions-components/{p-e02fcfa9.entry.js → p-f153f1c9.entry.js} +2 -2
- package/dist/solutions-components/{p-b49bdc72.entry.js → p-f596eabd.entry.js} +1 -1
- package/dist/solutions-components/{p-3aba40e8.js → p-f7b520ae.js} +2 -2
- package/dist/solutions-components/{p-4c43820f.entry.js → p-f815b5ef.entry.js} +1 -1
- package/dist/solutions-components/{p-955a956a.entry.js → p-fe96e0d9.entry.js} +4 -4
- package/dist/solutions-components/{p-b5d67495.entry.js → p-feff224c.entry.js} +2 -2
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/downloadUtils.ts +347 -326
- package/dist/solutions-components/utils/interfaces.ts +11 -0
- package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +587 -61
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +11 -4
- package/dist/types/components/layer-table/layer-table.d.ts +14 -2
- package/dist/types/components/map-card/map-card.d.ts +2 -2
- package/dist/types/components/map-legend/map-legend.d.ts +64 -0
- package/dist/types/components/map-tools/map-tools.d.ts +13 -1
- package/dist/types/components.d.ts +40 -11
- package/dist/types/preact.d.ts +2 -0
- package/dist/types/utils/downloadUtils.d.ts +122 -15
- package/dist/types/utils/interfaces.d.ts +9 -0
- package/package.json +4 -10
- package/dist/solutions-components/p-2d70d3fd.js +0 -12
- package/dist/solutions-components/p-361f1fe1.js +0 -11
- package/dist/solutions-components/p-3bd99fc9.js +0 -11
- package/dist/solutions-components/p-418d0b60.entry.js +0 -6
- package/dist/solutions-components/p-525f1188.js +0 -11
- package/dist/solutions-components/p-55aefaa8.entry.js +0 -6
- package/dist/solutions-components/p-5b5a6ac8.entry.js +0 -6
- package/dist/solutions-components/p-91caf655.entry.js +0 -11
- package/dist/solutions-components/p-a0a2c53d.js +0 -21
- package/dist/solutions-components/p-a6c85bd7.entry.js +0 -6
- package/dist/solutions-components/p-b6578a32.js +0 -6
- package/dist/solutions-components/p-baccfd70.entry.js +0 -6
- package/dist/solutions-components/p-bba3fa4e.entry.js +0 -11
- package/dist/solutions-components/p-c1ee0d69.js +0 -11
- package/dist/solutions-components/p-d6322e4b.js +0 -6
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { c as createCommonjsModule, g as getDefaultExportFromCjs } from './_commonjsHelpers-d5f9d613.js';
|
|
7
7
|
import { a as getAssetPath } from './index-b5d9d795.js';
|
|
8
|
-
import { l as loadModules } from './loadModules-
|
|
8
|
+
import { l as loadModules } from './loadModules-f5f910b6.js';
|
|
9
9
|
import { q as queryFeaturesByID } from './mapViewUtils-f0c04325.js';
|
|
10
10
|
|
|
11
11
|
/** @license
|
|
@@ -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-b7bc2db1.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
|
|
@@ -2257,7 +2257,31 @@ function downloadPDFFile(filename, labels, labelPageDescription, title = "", ini
|
|
|
2257
2257
|
*/
|
|
2258
2258
|
const lineSeparatorChar = "|";
|
|
2259
2259
|
//#endregion
|
|
2260
|
+
// ------------------------------------------------------------------------------------------------------------------ //
|
|
2260
2261
|
//#region Public functions
|
|
2262
|
+
/**
|
|
2263
|
+
* Create and consolidate labels from all layers
|
|
2264
|
+
*
|
|
2265
|
+
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
|
2266
|
+
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
|
2267
|
+
* all attributes are exported
|
|
2268
|
+
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
|
2269
|
+
* @returns selectionSetNames that will be used for export filenames
|
|
2270
|
+
*/
|
|
2271
|
+
async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
|
|
2272
|
+
const labelRequests = [];
|
|
2273
|
+
Object.keys(exportInfos).forEach(k => {
|
|
2274
|
+
var _a;
|
|
2275
|
+
const labelInfo = exportInfos[k];
|
|
2276
|
+
labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
|
|
2277
|
+
if (isCSVExport) {
|
|
2278
|
+
// add the layer id as a temp value separator that we can use to split values for CSV export
|
|
2279
|
+
labelRequests.push(Promise.resolve([[k]]));
|
|
2280
|
+
}
|
|
2281
|
+
});
|
|
2282
|
+
const labels = await Promise.all(labelRequests);
|
|
2283
|
+
return labels.reduce((prev, cur) => prev.concat(cur), []);
|
|
2284
|
+
}
|
|
2261
2285
|
/**
|
|
2262
2286
|
* Downloads csv of mailing labels for the provided list of ids
|
|
2263
2287
|
*
|
|
@@ -2310,14 +2334,61 @@ async function downloadPDF(exportInfos, labelPageDescription, removeDuplicates =
|
|
|
2310
2334
|
exportPDF(_createFilename(selectionSetNames), labels, labelPageDescription, title, initialImageDataUrl);
|
|
2311
2335
|
return Promise.resolve();
|
|
2312
2336
|
}
|
|
2337
|
+
/**
|
|
2338
|
+
* Remove any duplicate labels
|
|
2339
|
+
*
|
|
2340
|
+
* @param labels Labels to evaluate for duplicates
|
|
2341
|
+
* @returns labels with duplicates removed
|
|
2342
|
+
*/
|
|
2343
|
+
function removeDuplicateLabels(labels) {
|
|
2344
|
+
const labelsAsStrings = labels.map(label => JSON.stringify(label));
|
|
2345
|
+
const uniqueLabels = new Set(labelsAsStrings);
|
|
2346
|
+
return Array.from(uniqueLabels, labelString => JSON.parse(labelString));
|
|
2347
|
+
}
|
|
2313
2348
|
//#endregion
|
|
2349
|
+
// ------------------------------------------------------------------------------------------------------------------ //
|
|
2314
2350
|
//#region Private functions
|
|
2351
|
+
/**
|
|
2352
|
+
* Converts the text of a custom popup into a multiline label specification; conversion splits text into
|
|
2353
|
+
* lines on <br>s, and removes HTML tags.
|
|
2354
|
+
*
|
|
2355
|
+
* @param labelText Layer's popup text, e.g.,
|
|
2356
|
+
* "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY}, {STATE} {ZIP} <br /></div>"
|
|
2357
|
+
* @return Cleaned-up popup text with lines separated by `lineSeparatorChar`
|
|
2358
|
+
*/
|
|
2359
|
+
function _cleanupLabel(labelText) {
|
|
2360
|
+
// Replace <br> variants with the line separator character
|
|
2361
|
+
labelText = labelText.replace(/<br\s*\/?>/gi, lineSeparatorChar);
|
|
2362
|
+
// Replace <p> variants with the line separator character, except in the first position
|
|
2363
|
+
labelText = labelText.replace(/<p[^>]*>/gi, lineSeparatorChar).trim().replace(/^\|/, "");
|
|
2364
|
+
// Remove </p>
|
|
2365
|
+
labelText = labelText.replace(/<\/p>/gi, "");
|
|
2366
|
+
// Replace \n with the line separator character
|
|
2367
|
+
labelText = labelText.replace(/\n/gi, "|");
|
|
2368
|
+
// Remove remaining HTML tags, replace 0xA0 that popup uses for spaces, and replace some char representations
|
|
2369
|
+
labelText = labelText
|
|
2370
|
+
.replace(/<[\s.]*[^<>]*\/?>/gi, "")
|
|
2371
|
+
.replace(/\xA0/gi, " ")
|
|
2372
|
+
.replace(/</gi, "<")
|
|
2373
|
+
.replace(/>/gi, ">")
|
|
2374
|
+
.replace(/ /gi, " ");
|
|
2375
|
+
// Trim each line
|
|
2376
|
+
labelText = labelText.replace(/\s*\|\s*/g, "|");
|
|
2377
|
+
// Remove empty lines
|
|
2378
|
+
while (labelText.match(/\|\|/)) {
|
|
2379
|
+
labelText = labelText.replace(/\|\|/, "|");
|
|
2380
|
+
}
|
|
2381
|
+
// Remove leading and trailing line feeds
|
|
2382
|
+
labelText = labelText.replace(/^\|/, "");
|
|
2383
|
+
labelText = labelText.replace(/\|$/, "");
|
|
2384
|
+
return labelText;
|
|
2385
|
+
}
|
|
2315
2386
|
/**
|
|
2316
2387
|
* Converts a set of fieldInfos into template lines.
|
|
2317
2388
|
*
|
|
2318
2389
|
* @param fieldInfos Layer's fieldInfos structure
|
|
2319
2390
|
* @param bypassFieldVisiblity Indicates if the configured fieldInfo visibility property should be ignored
|
|
2320
|
-
* @return
|
|
2391
|
+
* @return "pattern" label spec with lines separated by `lineSeparatorChar`
|
|
2321
2392
|
*/
|
|
2322
2393
|
function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false) {
|
|
2323
2394
|
const labelSpec = [];
|
|
@@ -2327,64 +2398,33 @@ function _convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity = false
|
|
|
2327
2398
|
labelSpec.push(`{${fieldInfo.fieldName}}`);
|
|
2328
2399
|
}
|
|
2329
2400
|
});
|
|
2330
|
-
return
|
|
2401
|
+
return {
|
|
2402
|
+
type: "pattern",
|
|
2403
|
+
format: labelSpec.join(lineSeparatorChar)
|
|
2404
|
+
};
|
|
2331
2405
|
}
|
|
2332
2406
|
/**
|
|
2333
2407
|
* Converts the text of a custom popup into a multiline label specification; conversion splits text into
|
|
2334
2408
|
* lines on <br>s, and removes HTML tags. It does not handle Arcade and related records.
|
|
2335
2409
|
*
|
|
2336
|
-
* @param
|
|
2410
|
+
* @param labelText Layer's labelText structure containing description, fieldInfos, and expressionInfos, e.g.,
|
|
2337
2411
|
* "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY}, {STATE} {ZIP} <br /></div>"
|
|
2338
|
-
* @return
|
|
2412
|
+
* @return "pattern" label spec with lines separated by `lineSeparatorChar`
|
|
2339
2413
|
*/
|
|
2340
2414
|
function _convertPopupTextToLabelSpec(popupInfo) {
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
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();
|
|
2415
|
+
return {
|
|
2416
|
+
type: "pattern",
|
|
2417
|
+
format: _cleanupLabel(popupInfo)
|
|
2418
|
+
};
|
|
2366
2419
|
}
|
|
2367
2420
|
/**
|
|
2368
|
-
*
|
|
2369
|
-
* referenced expression name.
|
|
2421
|
+
* Converts an Arcade expression of a custom popup into a multiline label specification.
|
|
2370
2422
|
*
|
|
2371
|
-
* @param
|
|
2372
|
-
* @
|
|
2373
|
-
* @return Promise resolving to a set of executors keyed using the expression name
|
|
2423
|
+
* @param expressionInfo Structure containing expression and info about it
|
|
2424
|
+
* @return Promise resolving to an "executor" label spec
|
|
2374
2425
|
*/
|
|
2375
|
-
async function
|
|
2376
|
-
|
|
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
|
|
2426
|
+
async function _convertPopupArcadeToLabelSpec(expressionInfo) {
|
|
2427
|
+
// Generate an Arcade executor
|
|
2388
2428
|
const [arcade] = await loadModules(["esri/arcade"]);
|
|
2389
2429
|
const labelingProfile = {
|
|
2390
2430
|
variables: [
|
|
@@ -2406,24 +2446,10 @@ async function _createArcadeExecutors(labelFormat, layer) {
|
|
|
2406
2446
|
}
|
|
2407
2447
|
]
|
|
2408
2448
|
};
|
|
2409
|
-
const
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
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;
|
|
2449
|
+
const executor = await arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
|
|
2450
|
+
return Promise.resolve({
|
|
2451
|
+
type: "executor",
|
|
2452
|
+
format: executor
|
|
2427
2453
|
});
|
|
2428
2454
|
}
|
|
2429
2455
|
/**
|
|
@@ -2438,38 +2464,6 @@ function _createFilename(selectionSetNames) {
|
|
|
2438
2464
|
const title = selectionSetNames.length > 0 ? selectionSetNames.join(", ") : "download";
|
|
2439
2465
|
return title;
|
|
2440
2466
|
}
|
|
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
2467
|
/**
|
|
2474
2468
|
* Extracts Arcade expression references from the lines of a label format.
|
|
2475
2469
|
*
|
|
@@ -2487,7 +2481,7 @@ function _getExpressionsFromLabel(labelFormat) {
|
|
|
2487
2481
|
* @param labelFormat Label to examine
|
|
2488
2482
|
* @returns Array of field name expressions, e.g., ["{NAME}", "{STREET}", "{CITY}", "{STATE}", "{ZIP}"]
|
|
2489
2483
|
*/
|
|
2490
|
-
function
|
|
2484
|
+
function _getFieldExpressionsFromLabel(labelFormat) {
|
|
2491
2485
|
// Get all fields
|
|
2492
2486
|
const fieldExpressions = [];
|
|
2493
2487
|
let iStart = 0;
|
|
@@ -2509,6 +2503,81 @@ function _getFieldsFromLabel(labelFormat) {
|
|
|
2509
2503
|
// Remove the Arcade expressions from the returned list of field expressions
|
|
2510
2504
|
return fieldExpressions.filter(fieldExpression => arcadeExpressions.indexOf(fieldExpression) < 0);
|
|
2511
2505
|
}
|
|
2506
|
+
/**
|
|
2507
|
+
* Extracts field names from field name expressions.
|
|
2508
|
+
*
|
|
2509
|
+
* @param fieldExpressions Array of field name expressions, e.g., ["{NAME}", "{STREET}", "{CITY}", "{STATE}", "{ZIP}"]
|
|
2510
|
+
* @returns Array of field names, e.g., ["NAME", "STREET", "CITY", "STATE", "ZIP"]
|
|
2511
|
+
*/
|
|
2512
|
+
function _getFieldNamesFromFieldExpressions(fieldExpressions) {
|
|
2513
|
+
return fieldExpressions.map(expr => expr.substring(1, expr.length - 1));
|
|
2514
|
+
}
|
|
2515
|
+
/**
|
|
2516
|
+
* Extracts the label format from the layer.
|
|
2517
|
+
*
|
|
2518
|
+
* @param layer Layer with label format
|
|
2519
|
+
* @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
|
|
2520
|
+
* all attributes are exported
|
|
2521
|
+
* @param attributeFormats Empty object to hold the formats for each attribute in a feature; the object is filled
|
|
2522
|
+
* with formats by this function
|
|
2523
|
+
* @returns A Promise resolving to the format of a single label, e.g., for ILabelFormat type "pattern":
|
|
2524
|
+
* "{NAME}|{STREET}|{CITY}, {STATE} {ZIP}"
|
|
2525
|
+
*/
|
|
2526
|
+
async function _getLabelFormat(layer, formatUsingLayerPopup, attributeFormats) {
|
|
2527
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2528
|
+
let labelFormat = {
|
|
2529
|
+
type: "unsupported",
|
|
2530
|
+
format: undefined
|
|
2531
|
+
};
|
|
2532
|
+
if (layer.popupEnabled) {
|
|
2533
|
+
layer.popupTemplate.fieldInfos.forEach(
|
|
2534
|
+
// Extract any format info that we have
|
|
2535
|
+
fieldInfo => {
|
|
2536
|
+
if (fieldInfo.format) {
|
|
2537
|
+
attributeFormats[fieldInfo.fieldName] = fieldInfo.format;
|
|
2538
|
+
}
|
|
2539
|
+
});
|
|
2540
|
+
// What is the nature of the label content?
|
|
2541
|
+
// Fields list
|
|
2542
|
+
if (formatUsingLayerPopup && ((_b = (_a = layer.popupTemplate) === null || _a === void 0 ? void 0 : _a.content[0]) === null || _b === void 0 ? void 0 : _b.type) === "fields") {
|
|
2543
|
+
labelFormat = _convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos);
|
|
2544
|
+
// If popup is configured with "no attribute information", then no fields will visible
|
|
2545
|
+
if (labelFormat.format.length === 0) {
|
|
2546
|
+
// Can we use the popup title?
|
|
2547
|
+
labelFormat = layer.popupTemplate.title && typeof layer.popupTemplate.title === "string" ?
|
|
2548
|
+
{ type: "pattern", format: layer.popupTemplate.title }
|
|
2549
|
+
:
|
|
2550
|
+
// Otherwise revert to using attributes
|
|
2551
|
+
_convertPopupFieldsToLabelSpec(layer.popupTemplate.fieldInfos, true);
|
|
2552
|
+
}
|
|
2553
|
+
// Example text: '<p>{name} {age} years </p><p>started: {start}</p>'
|
|
2554
|
+
}
|
|
2555
|
+
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") {
|
|
2556
|
+
labelFormat = _convertPopupTextToLabelSpec(layer.popupTemplate.content[0].text);
|
|
2557
|
+
// Example expression: 'var feat = $feature\nvar label = `\n\t${feat["name"]} ${feat["age"]} years <br>\n\tstarted: ${feat["start"]}\n`\n\nreturn { \n type : \'text\', \n text : label\n}',
|
|
2558
|
+
}
|
|
2559
|
+
else if (formatUsingLayerPopup && ((_f = (_e = layer.popupTemplate) === null || _e === void 0 ? void 0 : _e.content[0]) === null || _f === void 0 ? void 0 : _f.type) === "expression") {
|
|
2560
|
+
labelFormat = await _convertPopupArcadeToLabelSpec(layer.popupTemplate.content[0].expressionInfo);
|
|
2561
|
+
}
|
|
2562
|
+
}
|
|
2563
|
+
return Promise.resolve(labelFormat);
|
|
2564
|
+
}
|
|
2565
|
+
/**
|
|
2566
|
+
* Extract selectionSetNames from the provided exportInfos
|
|
2567
|
+
*
|
|
2568
|
+
* @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
|
|
2569
|
+
* @returns selectionSetNames that will be used for export filenames
|
|
2570
|
+
*/
|
|
2571
|
+
function _getSelectionSetNames(exportInfos, id = /.+/) {
|
|
2572
|
+
let selectionSetNames = [];
|
|
2573
|
+
Object.keys(exportInfos).forEach(k => {
|
|
2574
|
+
const exportInfo = exportInfos[k];
|
|
2575
|
+
if (id.test(k)) {
|
|
2576
|
+
selectionSetNames = selectionSetNames.concat(exportInfo.selectionSetNames);
|
|
2577
|
+
}
|
|
2578
|
+
});
|
|
2579
|
+
return selectionSetNames;
|
|
2580
|
+
}
|
|
2512
2581
|
/**
|
|
2513
2582
|
* Prepares an attribute's value by applying domain and type information.
|
|
2514
2583
|
*
|
|
@@ -2517,13 +2586,16 @@ function _getFieldsFromLabel(labelFormat) {
|
|
|
2517
2586
|
* @param attributeDomain Domain info for attribute, if any
|
|
2518
2587
|
* @param attributeFormat Format info for attribute, if any
|
|
2519
2588
|
* @param intl esri/intl
|
|
2520
|
-
* @return Attribute value modified appropriate to domain and type
|
|
2589
|
+
* @return Attribute value modified appropriate to domain and type and converted to a string
|
|
2521
2590
|
*/
|
|
2522
2591
|
function _prepareAttributeValue(attributeValue, attributeType, attributeDomain, attributeFormat, intl) {
|
|
2592
|
+
if (attributeValue === null || typeof attributeValue === "undefined") {
|
|
2593
|
+
return "";
|
|
2594
|
+
}
|
|
2523
2595
|
if (attributeDomain && attributeDomain.type === "coded-value") {
|
|
2524
2596
|
// "coded-value" domain field
|
|
2525
2597
|
const value = attributeDomain.getName(attributeValue);
|
|
2526
|
-
return value;
|
|
2598
|
+
return value.toString();
|
|
2527
2599
|
}
|
|
2528
2600
|
else {
|
|
2529
2601
|
// Non-domain field or unsupported domain type
|
|
@@ -2568,8 +2640,6 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
|
|
|
2568
2640
|
* @returns Promise resolving when function is done
|
|
2569
2641
|
*/
|
|
2570
2642
|
async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
|
|
2571
|
-
var _a, _b, _c, _d;
|
|
2572
|
-
const [intl] = await loadModules(["esri/intl"]);
|
|
2573
2643
|
// Get the features to export
|
|
2574
2644
|
const featureSet = await queryFeaturesByID(ids, layer, [], false);
|
|
2575
2645
|
// Get field data types. Do we have any domain-based fields?
|
|
@@ -2581,180 +2651,97 @@ async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeH
|
|
|
2581
2651
|
});
|
|
2582
2652
|
const attributeFormats = {};
|
|
2583
2653
|
// Get the label formatting, if any
|
|
2584
|
-
|
|
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
|
-
}
|
|
2654
|
+
const labelFormat = await _getLabelFormat(layer, formatUsingLayerPopup, attributeFormats);
|
|
2620
2655
|
// Apply the label format
|
|
2621
|
-
|
|
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 {
|
|
2656
|
+
const labels = labelFormat.type === "unsupported" ?
|
|
2685
2657
|
// Export all attributes
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2658
|
+
await _prepareLabelsFromAll(featureSet, attributeTypes, attributeDomains, includeHeaderNames)
|
|
2659
|
+
: labelFormat.type == "pattern" ?
|
|
2660
|
+
// Export attributes in format
|
|
2661
|
+
await _prepareLabelsFromPattern(featureSet, attributeTypes, attributeDomains, attributeFormats, labelFormat.format, includeHeaderNames)
|
|
2662
|
+
:
|
|
2663
|
+
// Export attributes in expression
|
|
2664
|
+
await _prepareLabelsUsingExecutor(featureSet, labelFormat.format);
|
|
2665
|
+
return Promise.resolve(labels);
|
|
2666
|
+
}
|
|
2667
|
+
/**
|
|
2668
|
+
* Creates labels from all attributes in items.
|
|
2669
|
+
*
|
|
2670
|
+
* @param featureSet Features to convert to labels
|
|
2671
|
+
* @param attributeTypes Type for each attribute in a feature
|
|
2672
|
+
* @param attributeDomains Domains for each attribute in a feature
|
|
2673
|
+
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
|
2674
|
+
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
2675
|
+
*/
|
|
2676
|
+
async function _prepareLabelsFromAll(featureSet, attributeTypes, attributeDomains, includeHeaderNames = false) {
|
|
2677
|
+
const [intl] = await loadModules(["esri/intl"]);
|
|
2678
|
+
// Export all attributes
|
|
2679
|
+
const labels = featureSet.map(feature => {
|
|
2680
|
+
return Object.keys(feature.attributes).map((attributeName) => {
|
|
2681
|
+
return _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], null, intl);
|
|
2691
2682
|
});
|
|
2692
|
-
}
|
|
2683
|
+
});
|
|
2693
2684
|
// Add header names
|
|
2694
2685
|
if (includeHeaderNames) {
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
2700
|
-
const featuresAttrs = featureSet[0].attributes;
|
|
2701
|
-
Object.keys(featuresAttrs).forEach(k => {
|
|
2702
|
-
headerNames.push(k);
|
|
2703
|
-
});
|
|
2704
|
-
}
|
|
2686
|
+
const headerNames = [];
|
|
2687
|
+
const featuresAttrs = featureSet[0].attributes;
|
|
2688
|
+
Object.keys(featuresAttrs).forEach(k => {
|
|
2689
|
+
headerNames.push(k);
|
|
2690
|
+
});
|
|
2705
2691
|
labels.unshift(headerNames);
|
|
2706
2692
|
}
|
|
2707
2693
|
return Promise.resolve(labels);
|
|
2708
2694
|
}
|
|
2709
2695
|
/**
|
|
2710
|
-
*
|
|
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
|
|
2696
|
+
* Creates labels from attributes in a layer popup.
|
|
2722
2697
|
*
|
|
2723
|
-
* @param
|
|
2724
|
-
* @
|
|
2698
|
+
* @param featureSet Features to convert to labels
|
|
2699
|
+
* @param attributeTypes Type for each attribute in a feature
|
|
2700
|
+
* @param attributeDomains Domains for each attribute in a feature
|
|
2701
|
+
* @param attributeFormats Formats for each attribute in a feature
|
|
2702
|
+
* @param labelFormat Format for label
|
|
2703
|
+
* @param includeHeaderNames Add the label format at the front of the list of generated labels
|
|
2704
|
+
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
2725
2705
|
*/
|
|
2726
|
-
function
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2706
|
+
async function _prepareLabelsFromPattern(featureSet, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
|
|
2707
|
+
const [intl] = await loadModules(["esri/intl"]);
|
|
2708
|
+
// Find the label fields that we need to replace with values
|
|
2709
|
+
const attributeExpressionMatches = _getFieldExpressionsFromLabel(labelFormat);
|
|
2710
|
+
const attributeNames = _getFieldNamesFromFieldExpressions(attributeExpressionMatches);
|
|
2711
|
+
// Convert feature attributes into an array of labels
|
|
2712
|
+
const labels = await Promise.all(featureSet.map(async (feature) => {
|
|
2713
|
+
let labelPrep = labelFormat;
|
|
2714
|
+
// Replace non-Arcade fields in this feature
|
|
2715
|
+
attributeNames.forEach((attributeName, i) => {
|
|
2716
|
+
const value = _prepareAttributeValue(feature.attributes[attributeName], attributeTypes[attributeName], attributeDomains[attributeName], attributeFormats[attributeName], intl);
|
|
2717
|
+
labelPrep = labelPrep.replace(attributeExpressionMatches[i], value);
|
|
2718
|
+
});
|
|
2719
|
+
// Split label into lines
|
|
2720
|
+
let label = labelPrep.split(lineSeparatorChar);
|
|
2721
|
+
// Trim lines
|
|
2722
|
+
label = label.map(line => _cleanupLabel(line));
|
|
2723
|
+
return label;
|
|
2724
|
+
}));
|
|
2725
|
+
// Add header names
|
|
2726
|
+
if (includeHeaderNames) {
|
|
2727
|
+
labels.unshift(attributeNames);
|
|
2728
|
+
}
|
|
2729
|
+
return Promise.resolve(labels);
|
|
2735
2730
|
}
|
|
2736
2731
|
/**
|
|
2737
|
-
*
|
|
2732
|
+
* Creates labels from attributes in an Arcade label.
|
|
2738
2733
|
*
|
|
2739
|
-
* @param
|
|
2740
|
-
* @param
|
|
2741
|
-
*
|
|
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
|
|
2734
|
+
* @param featureSet Features to convert to labels
|
|
2735
|
+
* @param labelFormat Arcade executor for label
|
|
2736
|
+
* @returns Promise resolving with list of labels, each of which is a list of label lines
|
|
2744
2737
|
*/
|
|
2745
|
-
async function
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
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), []);
|
|
2738
|
+
async function _prepareLabelsUsingExecutor(featureSet, labelFormat) {
|
|
2739
|
+
// Convert feature attributes into an array of labels
|
|
2740
|
+
const execResults = await Promise.all(featureSet.map(async (feature) => {
|
|
2741
|
+
return labelFormat.executeAsync({ "$feature": feature });
|
|
2742
|
+
}));
|
|
2743
|
+
const labels = execResults.map(result => _cleanupLabel(result.text).split(lineSeparatorChar));
|
|
2744
|
+
return Promise.resolve(labels);
|
|
2758
2745
|
}
|
|
2759
2746
|
//#endregion
|
|
2760
2747
|
|