@esri/solutions-components 0.0.2 → 0.0.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.
Potentially problematic release.
This version of @esri/solutions-components might be problematic. Click here for more details.
- package/README.md +6 -5
- package/dist/cjs/CalciteExpandToggle-3e4e3b6c.js +0 -2
- package/dist/cjs/CalciteHeading-d765addc.js +0 -2
- package/dist/cjs/_commonjsHelpers-84e109b5.js +26 -0
- package/dist/cjs/array-cd6c0c32.js +0 -2
- package/dist/cjs/calcite-accordion-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-accordion.cjs.entry.js +0 -2
- package/dist/cjs/calcite-action-bar.cjs.entry.js +0 -2
- package/dist/cjs/calcite-action-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-action-menu_3.cjs.entry.js +0 -2
- package/dist/cjs/calcite-action-pad.cjs.entry.js +0 -2
- package/dist/cjs/calcite-action.cjs.entry.js +0 -2
- package/dist/cjs/calcite-alert.cjs.entry.js +0 -2
- package/dist/cjs/calcite-avatar.cjs.entry.js +0 -2
- package/dist/cjs/calcite-block-section.cjs.entry.js +0 -2
- package/dist/cjs/calcite-block.cjs.entry.js +0 -2
- package/dist/cjs/calcite-button.cjs.entry.js +0 -2
- package/dist/cjs/calcite-card.cjs.entry.js +0 -2
- package/dist/cjs/calcite-checkbox_4.cjs.entry.js +0 -2
- package/dist/cjs/calcite-chip.cjs.entry.js +0 -2
- package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js +3 -4
- package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js +2 -3
- package/dist/cjs/calcite-color-picker.cjs.entry.js +3 -4
- package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-combobox-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-combobox.cjs.entry.js +0 -2
- package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +0 -2
- package/dist/cjs/calcite-date-picker.cjs.entry.js +0 -2
- package/dist/cjs/calcite-dropdown-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-dropdown-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-dropdown.cjs.entry.js +0 -2
- package/dist/cjs/calcite-fab.cjs.entry.js +0 -2
- package/dist/cjs/calcite-filter.cjs.entry.js +0 -2
- package/dist/cjs/calcite-flow.cjs.entry.js +0 -2
- package/dist/cjs/calcite-graph.cjs.entry.js +0 -2
- package/dist/cjs/calcite-handle.cjs.entry.js +0 -2
- package/dist/cjs/calcite-icon.cjs.entry.js +0 -2
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +0 -2
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +0 -2
- package/dist/cjs/calcite-input-message.cjs.entry.js +0 -2
- package/dist/cjs/calcite-input-time-picker.cjs.entry.js +0 -2
- package/dist/cjs/calcite-input_2.cjs.entry.js +0 -2
- package/dist/cjs/calcite-label.cjs.entry.js +0 -2
- package/dist/cjs/calcite-link.cjs.entry.js +0 -2
- package/dist/cjs/calcite-list-item-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-list-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-list.cjs.entry.js +0 -2
- package/dist/cjs/calcite-loader.cjs.entry.js +0 -2
- package/dist/cjs/calcite-modal.cjs.entry.js +0 -2
- package/dist/cjs/calcite-notice.cjs.entry.js +0 -2
- package/dist/cjs/calcite-option-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-option.cjs.entry.js +0 -2
- package/dist/cjs/calcite-pagination.cjs.entry.js +0 -2
- package/dist/cjs/calcite-panel_14.cjs.entry.js +41 -8
- package/dist/cjs/calcite-pick-list-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-pick-list-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-pick-list.cjs.entry.js +0 -2
- package/dist/cjs/calcite-popover-manager.cjs.entry.js +0 -2
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-radio-button.cjs.entry.js +0 -2
- package/dist/cjs/calcite-radio-group-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-radio-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-radio.cjs.entry.js +0 -2
- package/dist/cjs/calcite-rating.cjs.entry.js +0 -2
- package/dist/cjs/calcite-scrim.cjs.entry.js +0 -2
- package/dist/cjs/calcite-select.cjs.entry.js +0 -2
- package/dist/cjs/calcite-shell-center-row.cjs.entry.js +0 -2
- package/dist/cjs/calcite-slider.cjs.entry.js +0 -2
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +0 -2
- package/dist/cjs/calcite-split-button.cjs.entry.js +0 -2
- package/dist/cjs/calcite-stepper-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-stepper.cjs.entry.js +0 -2
- package/dist/cjs/calcite-switch.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tile-select-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tile-select.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tile.cjs.entry.js +0 -2
- package/dist/cjs/calcite-time-picker.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tip-group.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tip-manager.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tip.cjs.entry.js +0 -2
- package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -2
- package/dist/cjs/calcite-value-list-item.cjs.entry.js +0 -2
- package/dist/cjs/calcite-value-list.cjs.entry.js +0 -2
- package/dist/cjs/common-a4edb52d.js +216 -0
- package/dist/cjs/date-0554c4d1.js +0 -2
- package/dist/cjs/debounce-df22462b.js +0 -2
- package/dist/cjs/dom-62511f59.js +0 -2
- package/dist/cjs/editStore-36fc36e6.js +2024 -0
- package/dist/cjs/forIn-6a1c2f6d.js +0 -2
- package/dist/cjs/form-0b5b2d4e.js +0 -2
- package/dist/cjs/generalHelpers-cee7d0da.js +168 -0
- package/dist/cjs/guid-c6be9504.js +0 -2
- package/dist/cjs/{index-706750dc.js → index-69e74dd7.js} +5 -19
- package/dist/cjs/index-81c17948.js +0 -2
- package/dist/cjs/index.cjs.js +0 -2
- package/dist/cjs/interfaces-5ba2c1a7.js +0 -2
- package/dist/cjs/key-2a6290c8.js +0 -2
- package/dist/cjs/label-46482470.js +0 -2
- package/dist/cjs/loader.cjs.js +1 -3
- package/dist/cjs/locale-0db34680.js +0 -2
- package/dist/cjs/math-71f8de66.js +0 -2
- package/dist/cjs/number-697ce34c.js +0 -2
- package/dist/cjs/observers-88bbd6ef.js +0 -2
- package/dist/cjs/popper-8c8dc960.js +0 -2
- package/dist/cjs/request-6905140c.js +550 -0
- package/dist/cjs/resources-20f88094.js +0 -2
- package/dist/cjs/resources-27c22d8a.js +0 -2
- package/dist/cjs/{resources-369e7421.js → resources-2a401414.js} +1 -3
- package/dist/cjs/resources-46af0638.js +0 -2
- package/dist/cjs/resources-509951f9.js +0 -2
- package/dist/cjs/resources-5b7958e4.js +0 -2
- package/dist/cjs/resources-a265534b.js +0 -2
- package/dist/cjs/resources-e231446d.js +0 -2
- package/dist/cjs/resources-ef6c71a1.js +0 -2
- package/dist/cjs/shared-list-render-63d3ea89.js +0 -2
- package/dist/cjs/solution-configuration.cjs.entry.js +172 -14
- package/dist/cjs/solution-contents_3.cjs.entry.js +42 -68
- package/dist/cjs/solutions.cjs.js +1 -3
- package/dist/cjs/sortable.esm-14548a17.js +0 -2
- package/dist/cjs/store-manager.cjs.entry.js +17 -8
- package/dist/cjs/templates-a0242ced.js +422 -0
- package/dist/cjs/time-c87dc79e.js +0 -2
- package/dist/cjs/utils-c19d354a.js +0 -2
- package/dist/cjs/utils-cb7373e6.js +0 -2
- package/dist/collection/assets/nls/fr/strings.js +2 -0
- package/dist/collection/assets/nls/strings.js +2 -0
- package/dist/collection/collection-manifest.json +9 -9
- package/dist/collection/components/json-editor/json-editor.js +40 -2
- package/dist/collection/components/solution-configuration/solution-configuration.js +251 -24
- package/dist/collection/components/solution-contents/solution-contents.js +12 -3
- package/dist/collection/components/solution-item/solution-item.css +1 -0
- package/dist/collection/components/solution-item/solution-item.js +2 -2
- package/dist/collection/components/solution-item-details/solution-item-details.js +4 -3
- package/dist/collection/components/solution-item-icon/solution-item-icon.js +0 -1
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +2 -2
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +2 -2
- package/dist/collection/components/solution-resource-item/solution-resource-item.js +2 -2
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +68 -68
- package/dist/collection/components/solution-spatial-ref/spatialreferences.js +0 -2
- package/dist/collection/components/solution-template-data/solution-template-data.js +4 -4
- package/dist/collection/components/solution-variables/solution-variables.js +2 -2
- package/dist/collection/components/store-manager/store-manager.js +49 -5
- package/dist/collection/demos/browse-solutions.html +136 -54
- package/dist/collection/demos/solution-configuration.html +139 -12
- package/dist/collection/demos/solution-spatial-ref.html +1 -1
- package/dist/collection/index.js +0 -1
- package/dist/collection/utils/common.js +25 -77
- package/dist/collection/utils/common.ts +42 -73
- package/dist/collection/utils/editStore.js +0 -1
- package/dist/{solutions/p-ecbfddde.js → collection/utils/interfaces.js} +16 -17
- package/dist/collection/utils/interfaces.ts +126 -0
- package/dist/collection/utils/templates.js +8 -6
- package/dist/collection/utils/templates.ts +19 -33
- package/dist/custom-elements/index.js +3161 -152
- package/dist/esm/CalciteExpandToggle-5df46988.js +0 -2
- package/dist/esm/CalciteHeading-79b4b347.js +0 -2
- package/dist/esm/_commonjsHelpers-84c626bc.js +22 -0
- package/dist/esm/array-71e0c501.js +0 -2
- package/dist/esm/calcite-accordion-item.entry.js +0 -2
- package/dist/esm/calcite-accordion.entry.js +0 -2
- package/dist/esm/calcite-action-bar.entry.js +0 -2
- package/dist/esm/calcite-action-group.entry.js +0 -2
- package/dist/esm/calcite-action-menu_3.entry.js +0 -2
- package/dist/esm/calcite-action-pad.entry.js +0 -2
- package/dist/esm/calcite-action.entry.js +0 -2
- package/dist/esm/calcite-alert.entry.js +0 -2
- package/dist/esm/calcite-avatar.entry.js +0 -2
- package/dist/esm/calcite-block-section.entry.js +0 -2
- package/dist/esm/calcite-block.entry.js +0 -2
- package/dist/esm/calcite-button.entry.js +0 -2
- package/dist/esm/calcite-card.entry.js +0 -2
- package/dist/esm/calcite-checkbox_4.entry.js +0 -2
- package/dist/esm/calcite-chip.entry.js +0 -2
- package/dist/esm/calcite-color-picker-hex-input.entry.js +3 -4
- package/dist/esm/calcite-color-picker-swatch.entry.js +2 -3
- package/dist/esm/calcite-color-picker.entry.js +3 -4
- package/dist/esm/calcite-combobox-item-group.entry.js +0 -2
- package/dist/esm/calcite-combobox-item.entry.js +0 -2
- package/dist/esm/calcite-combobox.entry.js +0 -2
- package/dist/esm/calcite-date-picker-day_3.entry.js +0 -2
- package/dist/esm/calcite-date-picker.entry.js +0 -2
- package/dist/esm/calcite-dropdown-group.entry.js +0 -2
- package/dist/esm/calcite-dropdown-item.entry.js +0 -2
- package/dist/esm/calcite-dropdown.entry.js +0 -2
- package/dist/esm/calcite-fab.entry.js +0 -2
- package/dist/esm/calcite-filter.entry.js +0 -2
- package/dist/esm/calcite-flow.entry.js +0 -2
- package/dist/esm/calcite-graph.entry.js +0 -2
- package/dist/esm/calcite-handle.entry.js +0 -2
- package/dist/esm/calcite-icon.entry.js +0 -2
- package/dist/esm/calcite-inline-editable.entry.js +0 -2
- package/dist/esm/calcite-input-date-picker.entry.js +0 -2
- package/dist/esm/calcite-input-message.entry.js +0 -2
- package/dist/esm/calcite-input-time-picker.entry.js +0 -2
- package/dist/esm/calcite-input_2.entry.js +0 -2
- package/dist/esm/calcite-label.entry.js +0 -2
- package/dist/esm/calcite-link.entry.js +0 -2
- package/dist/esm/calcite-list-item-group.entry.js +0 -2
- package/dist/esm/calcite-list-item.entry.js +0 -2
- package/dist/esm/calcite-list.entry.js +0 -2
- package/dist/esm/calcite-loader.entry.js +0 -2
- package/dist/esm/calcite-modal.entry.js +0 -2
- package/dist/esm/calcite-notice.entry.js +0 -2
- package/dist/esm/calcite-option-group.entry.js +0 -2
- package/dist/esm/calcite-option.entry.js +0 -2
- package/dist/esm/calcite-pagination.entry.js +0 -2
- package/dist/esm/calcite-panel_14.entry.js +37 -4
- package/dist/esm/calcite-pick-list-group.entry.js +0 -2
- package/dist/esm/calcite-pick-list-item.entry.js +0 -2
- package/dist/esm/calcite-pick-list.entry.js +0 -2
- package/dist/esm/calcite-popover-manager.entry.js +0 -2
- package/dist/esm/calcite-radio-button-group.entry.js +0 -2
- package/dist/esm/calcite-radio-button.entry.js +0 -2
- package/dist/esm/calcite-radio-group-item.entry.js +0 -2
- package/dist/esm/calcite-radio-group.entry.js +0 -2
- package/dist/esm/calcite-radio.entry.js +0 -2
- package/dist/esm/calcite-rating.entry.js +0 -2
- package/dist/esm/calcite-scrim.entry.js +0 -2
- package/dist/esm/calcite-select.entry.js +0 -2
- package/dist/esm/calcite-shell-center-row.entry.js +0 -2
- package/dist/esm/calcite-slider.entry.js +0 -2
- package/dist/esm/calcite-sortable-list.entry.js +0 -2
- package/dist/esm/calcite-split-button.entry.js +0 -2
- package/dist/esm/calcite-stepper-item.entry.js +0 -2
- package/dist/esm/calcite-stepper.entry.js +0 -2
- package/dist/esm/calcite-switch.entry.js +0 -2
- package/dist/esm/calcite-tile-select-group.entry.js +0 -2
- package/dist/esm/calcite-tile-select.entry.js +0 -2
- package/dist/esm/calcite-tile.entry.js +0 -2
- package/dist/esm/calcite-time-picker.entry.js +0 -2
- package/dist/esm/calcite-tip-group.entry.js +0 -2
- package/dist/esm/calcite-tip-manager.entry.js +0 -2
- package/dist/esm/calcite-tip.entry.js +0 -2
- package/dist/esm/calcite-tooltip.entry.js +0 -2
- package/dist/esm/calcite-value-list-item.entry.js +0 -2
- package/dist/esm/calcite-value-list.entry.js +0 -2
- package/dist/esm/common-70333fb9.js +213 -0
- package/dist/esm/date-5d75460a.js +0 -2
- package/dist/esm/debounce-23ad5849.js +0 -2
- package/dist/esm/dom-1cc617ae.js +0 -2
- package/dist/esm/editStore-197be454.js +2022 -0
- package/dist/esm/forIn-c922d47c.js +0 -2
- package/dist/esm/form-636dfed1.js +0 -2
- package/dist/esm/generalHelpers-91e92dc0.js +161 -0
- package/dist/esm/guid-740f1f1a.js +0 -2
- package/dist/esm/index-a3c3e3db.js +0 -2
- package/dist/esm/{index-934f242e.js → index-c1264d13.js} +3 -17
- package/dist/esm/index.js +0 -2
- package/dist/esm/interfaces-4f07beec.js +0 -2
- package/dist/esm/key-1748eb79.js +0 -2
- package/dist/esm/label-851f8926.js +0 -2
- package/dist/esm/loader.js +1 -3
- package/dist/esm/locale-31c8d43b.js +0 -2
- package/dist/esm/math-d8795f31.js +0 -2
- package/dist/esm/number-47ecb380.js +0 -2
- package/dist/esm/observers-b13ff24b.js +0 -2
- package/dist/esm/popper-25874f2f.js +0 -2
- package/dist/esm/request-9c2c9a49.js +548 -0
- package/dist/esm/resources-12c3b829.js +0 -2
- package/dist/esm/resources-32d7dd89.js +0 -2
- package/dist/esm/resources-466ccf86.js +0 -2
- package/dist/esm/resources-4cc0ef44.js +0 -2
- package/dist/esm/resources-861d0240.js +0 -2
- package/dist/esm/resources-b023c30a.js +0 -2
- package/dist/esm/{resources-c537bacb.js → resources-d7e09977.js} +1 -3
- package/dist/esm/resources-e56b6e53.js +0 -2
- package/dist/esm/resources-ec79cfd7.js +0 -2
- package/dist/esm/shared-list-render-b5dacd2e.js +0 -2
- package/dist/esm/solution-configuration.entry.js +172 -14
- package/dist/esm/solution-contents_3.entry.js +42 -68
- package/dist/esm/solutions.js +1 -3
- package/dist/esm/sortable.esm-7856912e.js +0 -2
- package/dist/esm/store-manager.entry.js +17 -8
- package/dist/esm/templates-c15e0de2.js +414 -0
- package/dist/esm/time-a3b29c35.js +0 -2
- package/dist/esm/utils-021cb956.js +0 -2
- package/dist/esm/utils-5fdd203c.js +0 -2
- package/dist/solutions/assets/nls/fr/strings.js +2 -0
- package/dist/solutions/assets/nls/strings.js +2 -0
- package/dist/solutions/demos/browse-solutions.html +136 -54
- package/dist/solutions/demos/solution-configuration.html +139 -12
- package/dist/solutions/demos/solution-spatial-ref.html +1 -1
- package/dist/solutions/index.esm.js +0 -2
- package/dist/solutions/p-03c9247d.entry.js +10 -0
- package/dist/solutions/p-03da5f23.entry.js +6 -0
- package/dist/solutions/p-054256c8.entry.js +10 -0
- package/dist/solutions/p-05c73b7d.js +1 -2
- package/dist/solutions/p-06c2b347.entry.js +6 -0
- package/dist/solutions/p-09a06209.entry.js +6 -0
- package/dist/solutions/p-09e5283f.entry.js +6 -0
- package/dist/solutions/p-0a0ca7d3.entry.js +6 -0
- package/dist/solutions/p-0b8525e2.js +1 -2
- package/dist/solutions/p-0bddf168.entry.js +10 -0
- package/dist/solutions/p-0dd00bd7.entry.js +6 -0
- package/dist/solutions/p-0f8fd0f8.entry.js +10 -0
- package/dist/solutions/p-1345c0c8.js +6 -0
- package/dist/solutions/p-1387e8ef.entry.js +10 -0
- package/dist/solutions/p-17195493.entry.js +6 -0
- package/dist/solutions/p-172b8454.js +38 -0
- package/dist/solutions/p-173c3a97.entry.js +10 -0
- package/dist/solutions/p-175fe700.entry.js +6 -0
- package/dist/solutions/p-17f21116.entry.js +6 -0
- package/dist/solutions/p-18657c74.entry.js +10 -0
- package/dist/solutions/p-20c8a31e.entry.js +14 -0
- package/dist/solutions/p-228131f3.js +3 -3
- package/dist/solutions/p-2480c2c3.entry.js +10 -0
- package/dist/solutions/p-291cbb4f.js +1 -2
- package/dist/solutions/p-29d230fb.entry.js +6 -0
- package/dist/solutions/p-2de43402.entry.js +10 -0
- package/dist/solutions/p-2e1cd889.js +1 -2
- package/dist/solutions/p-386bc1f5.entry.js +10 -0
- package/dist/solutions/p-3956acc6.entry.js +6 -0
- package/dist/solutions/p-3ce922dd.js +20 -0
- package/dist/solutions/p-3e67ed97.js +1 -2
- package/dist/solutions/p-3eac2c21.entry.js +10 -0
- package/dist/solutions/p-3fd65329.entry.js +6 -0
- package/dist/solutions/p-41c2e1cc.js +1 -2
- package/dist/solutions/p-42f5b6d1.entry.js +10 -0
- package/dist/solutions/p-44e661a2.js +1 -2
- package/dist/solutions/p-4847f326.entry.js +10 -0
- package/dist/solutions/p-4a5b86a0.entry.js +10 -0
- package/dist/solutions/p-4f8cae93.entry.js +10 -0
- package/dist/solutions/p-51c9f2db.entry.js +10 -0
- package/dist/solutions/p-52d835be.entry.js +10 -0
- package/dist/solutions/p-55dddf06.entry.js +10 -0
- package/dist/solutions/p-56a376ea.entry.js +6 -0
- package/dist/solutions/p-57e5029a.entry.js +6 -0
- package/dist/solutions/p-58b7f4aa.entry.js +10 -0
- package/dist/solutions/p-5cd9ccc3.entry.js +22 -0
- package/dist/solutions/p-5dd4cf97.entry.js +6 -0
- package/dist/solutions/p-5edf418e.entry.js +10 -0
- package/dist/solutions/p-64711824.entry.js +10 -0
- package/dist/solutions/p-68bf7243.entry.js +11 -0
- package/dist/solutions/p-7096464e.js +3 -4
- package/dist/solutions/p-720922e5.entry.js +10 -0
- package/dist/solutions/p-73e2d13f.js +1 -2
- package/dist/solutions/p-73e8d41c.entry.js +10 -0
- package/dist/solutions/p-7804ce97.js +1 -2
- package/dist/solutions/p-79064f42.entry.js +6 -0
- package/dist/solutions/p-7976d171.entry.js +6 -0
- package/dist/solutions/p-7a98627f.entry.js +10 -0
- package/dist/solutions/p-7aaed3f1.entry.js +10 -0
- package/dist/solutions/p-7cc9c6af.js +2 -7
- package/dist/solutions/p-7df393df.js +1 -2
- package/dist/solutions/p-7f93b2dd.entry.js +6 -0
- package/dist/solutions/p-82ab483b.entry.js +10 -0
- package/dist/solutions/p-8565f0c1.entry.js +10 -0
- package/dist/solutions/p-85cf288c.js +1 -2
- package/dist/solutions/p-8701d184.entry.js +10 -0
- package/dist/solutions/p-946521e1.js +2 -3
- package/dist/solutions/p-974d27a4.entry.js +10 -0
- package/dist/solutions/p-9c08ce38.entry.js +6 -0
- package/dist/solutions/p-9deb6df3.js +36 -0
- package/dist/solutions/p-9df9ac35.js +1 -2
- package/dist/solutions/p-9ed0c781.entry.js +6 -0
- package/dist/solutions/p-9f3fa133.entry.js +10 -0
- package/dist/solutions/p-a10dc180.js +1 -2
- package/dist/solutions/p-a201c2ea.entry.js +6 -0
- package/dist/solutions/p-a598cbb6.entry.js +10 -0
- package/dist/solutions/p-a59dfe85.entry.js +6 -0
- package/dist/solutions/p-a5fbf459.entry.js +11 -0
- package/dist/solutions/p-a6faf819.entry.js +10 -0
- package/dist/solutions/p-a8b4d400.entry.js +10 -0
- package/dist/solutions/p-a93a4772.entry.js +10 -0
- package/dist/solutions/{p-07099311.entry.js → p-a9dd9571.entry.js} +1 -2
- package/dist/solutions/p-a9df64c4.js +1 -2
- package/dist/solutions/p-aa11e35b.entry.js +10 -0
- package/dist/solutions/p-ae4a329c.entry.js +6 -0
- package/dist/solutions/p-af9be2ca.js +1 -2
- package/dist/solutions/p-b16a91ae.entry.js +6 -0
- package/dist/solutions/p-b5693287.entry.js +6 -0
- package/dist/solutions/p-b5bbe558.entry.js +10 -0
- package/dist/solutions/p-b81ebd54.entry.js +10 -0
- package/dist/solutions/p-b85c1b6a.entry.js +6 -0
- package/dist/solutions/p-bb3adfc7.entry.js +10 -0
- package/dist/solutions/p-c11b966c.entry.js +10 -0
- package/dist/solutions/p-c1e7f656.entry.js +6 -0
- package/dist/solutions/p-c27b17b8.entry.js +10 -0
- package/dist/solutions/p-c34e0641.js +1 -2
- package/dist/solutions/p-c5216bba.entry.js +10 -0
- package/dist/solutions/p-c8a69756.entry.js +10 -0
- package/dist/solutions/p-cb35cbb3.entry.js +6 -0
- package/dist/solutions/p-cb5cb9a8.js +1 -2
- package/dist/solutions/p-cef98db7.js +6 -0
- package/dist/solutions/p-d69bc5fd.entry.js +10 -0
- package/dist/solutions/p-de45b192.entry.js +6 -0
- package/dist/solutions/p-e4edca3b.js +1 -2
- package/dist/solutions/p-e581f631.js +1 -2
- package/dist/solutions/p-e762b2d1.js +3 -3
- package/dist/solutions/p-eb2efc0f.js +1 -2
- package/dist/solutions/p-ec178ea9.js +1 -2
- package/dist/solutions/p-ed17446f.entry.js +6 -0
- package/dist/solutions/p-edd6d948.entry.js +10 -0
- package/dist/solutions/p-ee6eca93.js +18 -0
- package/dist/solutions/{p-4573d7c2.js → p-f1867a12.js} +2 -3
- package/dist/solutions/p-f187755e.js +1 -2
- package/dist/solutions/p-f49bc4a8.js +1 -2
- package/dist/solutions/p-f75876eb.js +21 -0
- package/dist/solutions/p-f780039d.js +1 -2
- package/dist/solutions/p-fa58627d.entry.js +10 -0
- package/dist/solutions/p-fbdf3e06.js +2 -3
- package/dist/solutions/p-fc1c8168.js +3 -3
- package/dist/solutions/p-fd2712a3.entry.js +10 -0
- package/dist/solutions/solutions.esm.js +1 -2
- package/dist/solutions/utils/common.ts +42 -73
- package/dist/solutions/utils/interfaces.ts +126 -0
- package/dist/solutions/utils/templates.ts +19 -33
- package/dist/types/components/json-editor/json-editor.d.ts +11 -0
- package/dist/types/components/solution-configuration/solution-configuration.d.ts +73 -9
- package/dist/types/components/solution-contents/solution-contents.d.ts +2 -9
- package/dist/types/components/solution-item/solution-item.d.ts +1 -11
- package/dist/types/components/solution-item-details/solution-item-details.d.ts +1 -10
- package/dist/types/components/solution-item-sharing/solution-item-sharing.d.ts +1 -8
- package/dist/types/components/solution-organization-variables/solution-organization-variables.d.ts +1 -5
- package/dist/types/components/solution-resource-item/solution-resource-item.d.ts +1 -4
- package/dist/types/components/solution-spatial-ref/solution-spatial-ref.d.ts +14 -26
- package/dist/types/components/solution-spatial-ref/spatialreferences.d.ts +1 -4
- package/dist/types/components/solution-template-data/solution-template-data.d.ts +1 -7
- package/dist/types/components/solution-variables/solution-variables.d.ts +1 -7
- package/dist/types/components/store-manager/store-manager.d.ts +9 -0
- package/dist/types/components.d.ts +49 -17
- package/dist/types/utils/common.d.ts +13 -38
- package/dist/types/utils/interfaces.d.ts +111 -0
- package/dist/types/utils/templates.d.ts +2 -25
- package/package.json +4 -3
- package/dist/cjs/CalciteExpandToggle-3e4e3b6c.js.map +0 -1
- package/dist/cjs/CalciteHeading-d765addc.js.map +0 -1
- package/dist/cjs/array-cd6c0c32.js.map +0 -1
- package/dist/cjs/calcite-accordion-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-accordion.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-action-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-action-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-action-menu_3.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-action-pad.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-action.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-avatar.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-block-section.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-block.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-button.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-card.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-checkbox_4.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-chip.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-color-picker-hex-input.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-color-picker-swatch.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-color-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-combobox-item-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-combobox-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-combobox.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-date-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-dropdown-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-dropdown-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-fab.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-filter.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-flow.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-graph.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-handle.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-icon.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-inline-editable.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-input-message.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-input-time-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-input_2.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-label.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-link.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-list-item-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-list-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-list.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-loader.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-notice.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-option-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-option.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-pagination.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-panel_14.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-pick-list-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-pick-list-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-pick-list.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-popover-manager.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-radio-button.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-radio-group-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-radio-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-radio.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-rating.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-select.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-shell-center-row.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-slider.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-sortable-list.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-split-button.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-stepper-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-stepper.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tile-select-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tile-select.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tile.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-time-picker.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tip-group.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tip-manager.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tip.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-tooltip.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-value-list-item.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-value-list.cjs.entry.js.map +0 -1
- package/dist/cjs/common-df66d950.js +0 -53
- package/dist/cjs/common-df66d950.js.map +0 -1
- package/dist/cjs/date-0554c4d1.js.map +0 -1
- package/dist/cjs/debounce-df22462b.js.map +0 -1
- package/dist/cjs/dom-62511f59.js.map +0 -1
- package/dist/cjs/editStore-7a250b85.js +0 -227
- package/dist/cjs/editStore-7a250b85.js.map +0 -1
- package/dist/cjs/forIn-6a1c2f6d.js.map +0 -1
- package/dist/cjs/form-0b5b2d4e.js.map +0 -1
- package/dist/cjs/guid-c6be9504.js.map +0 -1
- package/dist/cjs/index-706750dc.js.map +0 -1
- package/dist/cjs/index-81c17948.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/interfaces-5ba2c1a7.js.map +0 -1
- package/dist/cjs/key-2a6290c8.js.map +0 -1
- package/dist/cjs/label-46482470.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/locale-0db34680.js.map +0 -1
- package/dist/cjs/math-71f8de66.js.map +0 -1
- package/dist/cjs/number-697ce34c.js.map +0 -1
- package/dist/cjs/observers-88bbd6ef.js.map +0 -1
- package/dist/cjs/popper-8c8dc960.js.map +0 -1
- package/dist/cjs/resources-20f88094.js.map +0 -1
- package/dist/cjs/resources-27c22d8a.js.map +0 -1
- package/dist/cjs/resources-369e7421.js.map +0 -1
- package/dist/cjs/resources-46af0638.js.map +0 -1
- package/dist/cjs/resources-509951f9.js.map +0 -1
- package/dist/cjs/resources-5b7958e4.js.map +0 -1
- package/dist/cjs/resources-a265534b.js.map +0 -1
- package/dist/cjs/resources-e231446d.js.map +0 -1
- package/dist/cjs/resources-ef6c71a1.js.map +0 -1
- package/dist/cjs/shared-list-render-63d3ea89.js.map +0 -1
- package/dist/cjs/solution-configuration.cjs.entry.js.map +0 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js.map +0 -1
- package/dist/cjs/solutions.cjs.js.map +0 -1
- package/dist/cjs/sortable.esm-14548a17.js.map +0 -1
- package/dist/cjs/store-manager.cjs.entry.js.map +0 -1
- package/dist/cjs/templates-fe6dd431.js +0 -237
- package/dist/cjs/templates-fe6dd431.js.map +0 -1
- package/dist/cjs/time-c87dc79e.js.map +0 -1
- package/dist/cjs/utils-c19d354a.js.map +0 -1
- package/dist/cjs/utils-cb7373e6.js.map +0 -1
- package/dist/collection/components/json-editor/json-editor.js.map +0 -1
- package/dist/collection/components/solution-configuration/solution-configuration.js.map +0 -1
- package/dist/collection/components/solution-contents/solution-contents.js.map +0 -1
- package/dist/collection/components/solution-item/solution-item.js.map +0 -1
- package/dist/collection/components/solution-item-details/solution-item-details.js.map +0 -1
- package/dist/collection/components/solution-item-icon/solution-item-icon.js.map +0 -1
- package/dist/collection/components/solution-item-sharing/solution-item-sharing.js.map +0 -1
- package/dist/collection/components/solution-organization-variables/solution-organization-variables.js.map +0 -1
- package/dist/collection/components/solution-resource-item/solution-resource-item.js.map +0 -1
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js.map +0 -1
- package/dist/collection/components/solution-spatial-ref/spatialreferences.js.map +0 -1
- package/dist/collection/components/solution-template-data/solution-template-data.js.map +0 -1
- package/dist/collection/components/solution-variables/solution-variables.js.map +0 -1
- package/dist/collection/components/store-manager/store-manager.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/utils/common.js.map +0 -1
- package/dist/collection/utils/editStore.js.map +0 -1
- package/dist/collection/utils/templates.js.map +0 -1
- package/dist/custom-elements/index.js.map +0 -1
- package/dist/esm/CalciteExpandToggle-5df46988.js.map +0 -1
- package/dist/esm/CalciteHeading-79b4b347.js.map +0 -1
- package/dist/esm/array-71e0c501.js.map +0 -1
- package/dist/esm/calcite-accordion-item.entry.js.map +0 -1
- package/dist/esm/calcite-accordion.entry.js.map +0 -1
- package/dist/esm/calcite-action-bar.entry.js.map +0 -1
- package/dist/esm/calcite-action-group.entry.js.map +0 -1
- package/dist/esm/calcite-action-menu_3.entry.js.map +0 -1
- package/dist/esm/calcite-action-pad.entry.js.map +0 -1
- package/dist/esm/calcite-action.entry.js.map +0 -1
- package/dist/esm/calcite-alert.entry.js.map +0 -1
- package/dist/esm/calcite-avatar.entry.js.map +0 -1
- package/dist/esm/calcite-block-section.entry.js.map +0 -1
- package/dist/esm/calcite-block.entry.js.map +0 -1
- package/dist/esm/calcite-button.entry.js.map +0 -1
- package/dist/esm/calcite-card.entry.js.map +0 -1
- package/dist/esm/calcite-checkbox_4.entry.js.map +0 -1
- package/dist/esm/calcite-chip.entry.js.map +0 -1
- package/dist/esm/calcite-color-picker-hex-input.entry.js.map +0 -1
- package/dist/esm/calcite-color-picker-swatch.entry.js.map +0 -1
- package/dist/esm/calcite-color-picker.entry.js.map +0 -1
- package/dist/esm/calcite-combobox-item-group.entry.js.map +0 -1
- package/dist/esm/calcite-combobox-item.entry.js.map +0 -1
- package/dist/esm/calcite-combobox.entry.js.map +0 -1
- package/dist/esm/calcite-date-picker-day_3.entry.js.map +0 -1
- package/dist/esm/calcite-date-picker.entry.js.map +0 -1
- package/dist/esm/calcite-dropdown-group.entry.js.map +0 -1
- package/dist/esm/calcite-dropdown-item.entry.js.map +0 -1
- package/dist/esm/calcite-dropdown.entry.js.map +0 -1
- package/dist/esm/calcite-fab.entry.js.map +0 -1
- package/dist/esm/calcite-filter.entry.js.map +0 -1
- package/dist/esm/calcite-flow.entry.js.map +0 -1
- package/dist/esm/calcite-graph.entry.js.map +0 -1
- package/dist/esm/calcite-handle.entry.js.map +0 -1
- package/dist/esm/calcite-icon.entry.js.map +0 -1
- package/dist/esm/calcite-inline-editable.entry.js.map +0 -1
- package/dist/esm/calcite-input-date-picker.entry.js.map +0 -1
- package/dist/esm/calcite-input-message.entry.js.map +0 -1
- package/dist/esm/calcite-input-time-picker.entry.js.map +0 -1
- package/dist/esm/calcite-input_2.entry.js.map +0 -1
- package/dist/esm/calcite-label.entry.js.map +0 -1
- package/dist/esm/calcite-link.entry.js.map +0 -1
- package/dist/esm/calcite-list-item-group.entry.js.map +0 -1
- package/dist/esm/calcite-list-item.entry.js.map +0 -1
- package/dist/esm/calcite-list.entry.js.map +0 -1
- package/dist/esm/calcite-loader.entry.js.map +0 -1
- package/dist/esm/calcite-modal.entry.js.map +0 -1
- package/dist/esm/calcite-notice.entry.js.map +0 -1
- package/dist/esm/calcite-option-group.entry.js.map +0 -1
- package/dist/esm/calcite-option.entry.js.map +0 -1
- package/dist/esm/calcite-pagination.entry.js.map +0 -1
- package/dist/esm/calcite-panel_14.entry.js.map +0 -1
- package/dist/esm/calcite-pick-list-group.entry.js.map +0 -1
- package/dist/esm/calcite-pick-list-item.entry.js.map +0 -1
- package/dist/esm/calcite-pick-list.entry.js.map +0 -1
- package/dist/esm/calcite-popover-manager.entry.js.map +0 -1
- package/dist/esm/calcite-radio-button-group.entry.js.map +0 -1
- package/dist/esm/calcite-radio-button.entry.js.map +0 -1
- package/dist/esm/calcite-radio-group-item.entry.js.map +0 -1
- package/dist/esm/calcite-radio-group.entry.js.map +0 -1
- package/dist/esm/calcite-radio.entry.js.map +0 -1
- package/dist/esm/calcite-rating.entry.js.map +0 -1
- package/dist/esm/calcite-scrim.entry.js.map +0 -1
- package/dist/esm/calcite-select.entry.js.map +0 -1
- package/dist/esm/calcite-shell-center-row.entry.js.map +0 -1
- package/dist/esm/calcite-slider.entry.js.map +0 -1
- package/dist/esm/calcite-sortable-list.entry.js.map +0 -1
- package/dist/esm/calcite-split-button.entry.js.map +0 -1
- package/dist/esm/calcite-stepper-item.entry.js.map +0 -1
- package/dist/esm/calcite-stepper.entry.js.map +0 -1
- package/dist/esm/calcite-switch.entry.js.map +0 -1
- package/dist/esm/calcite-tile-select-group.entry.js.map +0 -1
- package/dist/esm/calcite-tile-select.entry.js.map +0 -1
- package/dist/esm/calcite-tile.entry.js.map +0 -1
- package/dist/esm/calcite-time-picker.entry.js.map +0 -1
- package/dist/esm/calcite-tip-group.entry.js.map +0 -1
- package/dist/esm/calcite-tip-manager.entry.js.map +0 -1
- package/dist/esm/calcite-tip.entry.js.map +0 -1
- package/dist/esm/calcite-tooltip.entry.js.map +0 -1
- package/dist/esm/calcite-value-list-item.entry.js.map +0 -1
- package/dist/esm/calcite-value-list.entry.js.map +0 -1
- package/dist/esm/common-ccccf04d.js +0 -50
- package/dist/esm/common-ccccf04d.js.map +0 -1
- package/dist/esm/date-5d75460a.js.map +0 -1
- package/dist/esm/debounce-23ad5849.js.map +0 -1
- package/dist/esm/dom-1cc617ae.js.map +0 -1
- package/dist/esm/editStore-30a293f5.js +0 -225
- package/dist/esm/editStore-30a293f5.js.map +0 -1
- package/dist/esm/forIn-c922d47c.js.map +0 -1
- package/dist/esm/form-636dfed1.js.map +0 -1
- package/dist/esm/guid-740f1f1a.js.map +0 -1
- package/dist/esm/index-934f242e.js.map +0 -1
- package/dist/esm/index-a3c3e3db.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/interfaces-4f07beec.js.map +0 -1
- package/dist/esm/key-1748eb79.js.map +0 -1
- package/dist/esm/label-851f8926.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/locale-31c8d43b.js.map +0 -1
- package/dist/esm/math-d8795f31.js.map +0 -1
- package/dist/esm/number-47ecb380.js.map +0 -1
- package/dist/esm/observers-b13ff24b.js.map +0 -1
- package/dist/esm/popper-25874f2f.js.map +0 -1
- package/dist/esm/resources-12c3b829.js.map +0 -1
- package/dist/esm/resources-32d7dd89.js.map +0 -1
- package/dist/esm/resources-466ccf86.js.map +0 -1
- package/dist/esm/resources-4cc0ef44.js.map +0 -1
- package/dist/esm/resources-861d0240.js.map +0 -1
- package/dist/esm/resources-b023c30a.js.map +0 -1
- package/dist/esm/resources-c537bacb.js.map +0 -1
- package/dist/esm/resources-e56b6e53.js.map +0 -1
- package/dist/esm/resources-ec79cfd7.js.map +0 -1
- package/dist/esm/shared-list-render-b5dacd2e.js.map +0 -1
- package/dist/esm/solution-configuration.entry.js.map +0 -1
- package/dist/esm/solution-contents_3.entry.js.map +0 -1
- package/dist/esm/solutions.js.map +0 -1
- package/dist/esm/sortable.esm-7856912e.js.map +0 -1
- package/dist/esm/store-manager.entry.js.map +0 -1
- package/dist/esm/templates-3480c08e.js +0 -230
- package/dist/esm/templates-3480c08e.js.map +0 -1
- package/dist/esm/time-a3b29c35.js.map +0 -1
- package/dist/esm/utils-021cb956.js.map +0 -1
- package/dist/esm/utils-5fdd203c.js.map +0 -1
- package/dist/solutions/index.esm.js.map +0 -1
- package/dist/solutions/p-019fe34e.entry.js +0 -11
- package/dist/solutions/p-019fe34e.entry.js.map +0 -1
- package/dist/solutions/p-01d537aa.entry.js +0 -11
- package/dist/solutions/p-01d537aa.entry.js.map +0 -1
- package/dist/solutions/p-05c73b7d.js.map +0 -1
- package/dist/solutions/p-05da6de1.entry.js +0 -11
- package/dist/solutions/p-05da6de1.entry.js.map +0 -1
- package/dist/solutions/p-05eb87fc.entry.js +0 -11
- package/dist/solutions/p-05eb87fc.entry.js.map +0 -1
- package/dist/solutions/p-07099311.entry.js.map +0 -1
- package/dist/solutions/p-07f15398.entry.js +0 -7
- package/dist/solutions/p-07f15398.entry.js.map +0 -1
- package/dist/solutions/p-093edbdc.entry.js +0 -11
- package/dist/solutions/p-093edbdc.entry.js.map +0 -1
- package/dist/solutions/p-0b8525e2.js.map +0 -1
- package/dist/solutions/p-0c91e100.js +0 -7
- package/dist/solutions/p-0c91e100.js.map +0 -1
- package/dist/solutions/p-0fcee724.entry.js +0 -7
- package/dist/solutions/p-0fcee724.entry.js.map +0 -1
- package/dist/solutions/p-17a2150d.entry.js +0 -11
- package/dist/solutions/p-17a2150d.entry.js.map +0 -1
- package/dist/solutions/p-1aaa9800.entry.js +0 -7
- package/dist/solutions/p-1aaa9800.entry.js.map +0 -1
- package/dist/solutions/p-228131f3.js.map +0 -1
- package/dist/solutions/p-22d67647.entry.js +0 -11
- package/dist/solutions/p-22d67647.entry.js.map +0 -1
- package/dist/solutions/p-291cbb4f.js.map +0 -1
- package/dist/solutions/p-2a5c409a.entry.js +0 -7
- package/dist/solutions/p-2a5c409a.entry.js.map +0 -1
- package/dist/solutions/p-2aca233c.entry.js +0 -11
- package/dist/solutions/p-2aca233c.entry.js.map +0 -1
- package/dist/solutions/p-2b6ef800.entry.js +0 -7
- package/dist/solutions/p-2b6ef800.entry.js.map +0 -1
- package/dist/solutions/p-2bae730e.entry.js +0 -11
- package/dist/solutions/p-2bae730e.entry.js.map +0 -1
- package/dist/solutions/p-2d59c6d7.entry.js +0 -11
- package/dist/solutions/p-2d59c6d7.entry.js.map +0 -1
- package/dist/solutions/p-2e1cd889.js.map +0 -1
- package/dist/solutions/p-35eafdfb.entry.js +0 -11
- package/dist/solutions/p-35eafdfb.entry.js.map +0 -1
- package/dist/solutions/p-372da016.entry.js +0 -7
- package/dist/solutions/p-372da016.entry.js.map +0 -1
- package/dist/solutions/p-37407f95.entry.js +0 -7
- package/dist/solutions/p-37407f95.entry.js.map +0 -1
- package/dist/solutions/p-3ae90cbb.entry.js +0 -7
- package/dist/solutions/p-3ae90cbb.entry.js.map +0 -1
- package/dist/solutions/p-3c3ccd03.entry.js +0 -11
- package/dist/solutions/p-3c3ccd03.entry.js.map +0 -1
- package/dist/solutions/p-3e168893.entry.js +0 -11
- package/dist/solutions/p-3e168893.entry.js.map +0 -1
- package/dist/solutions/p-3e67ed97.js.map +0 -1
- package/dist/solutions/p-3ed5096e.entry.js +0 -11
- package/dist/solutions/p-3ed5096e.entry.js.map +0 -1
- package/dist/solutions/p-41c2e1cc.js.map +0 -1
- package/dist/solutions/p-44e661a2.js.map +0 -1
- package/dist/solutions/p-4573d7c2.js.map +0 -1
- package/dist/solutions/p-4635ae4a.entry.js +0 -11
- package/dist/solutions/p-4635ae4a.entry.js.map +0 -1
- package/dist/solutions/p-46bcadbd.entry.js +0 -11
- package/dist/solutions/p-46bcadbd.entry.js.map +0 -1
- package/dist/solutions/p-4b0b2534.entry.js +0 -11
- package/dist/solutions/p-4b0b2534.entry.js.map +0 -1
- package/dist/solutions/p-51e4c002.entry.js +0 -7
- package/dist/solutions/p-51e4c002.entry.js.map +0 -1
- package/dist/solutions/p-520d8443.entry.js +0 -11
- package/dist/solutions/p-520d8443.entry.js.map +0 -1
- package/dist/solutions/p-591d5666.entry.js +0 -11
- package/dist/solutions/p-591d5666.entry.js.map +0 -1
- package/dist/solutions/p-5aff6fc3.entry.js +0 -11
- package/dist/solutions/p-5aff6fc3.entry.js.map +0 -1
- package/dist/solutions/p-5c95f5ee.entry.js +0 -11
- package/dist/solutions/p-5c95f5ee.entry.js.map +0 -1
- package/dist/solutions/p-606933f1.entry.js +0 -11
- package/dist/solutions/p-606933f1.entry.js.map +0 -1
- package/dist/solutions/p-62464fb3.entry.js +0 -11
- package/dist/solutions/p-62464fb3.entry.js.map +0 -1
- package/dist/solutions/p-6e970d4c.entry.js +0 -7
- package/dist/solutions/p-6e970d4c.entry.js.map +0 -1
- package/dist/solutions/p-6f861da6.entry.js +0 -11
- package/dist/solutions/p-6f861da6.entry.js.map +0 -1
- package/dist/solutions/p-7096464e.js.map +0 -1
- package/dist/solutions/p-73e2d13f.js.map +0 -1
- package/dist/solutions/p-745f85bf.entry.js +0 -11
- package/dist/solutions/p-745f85bf.entry.js.map +0 -1
- package/dist/solutions/p-7480bdae.entry.js +0 -7
- package/dist/solutions/p-7480bdae.entry.js.map +0 -1
- package/dist/solutions/p-7611d9ad.entry.js +0 -11
- package/dist/solutions/p-7611d9ad.entry.js.map +0 -1
- package/dist/solutions/p-77b056db.entry.js +0 -7
- package/dist/solutions/p-77b056db.entry.js.map +0 -1
- package/dist/solutions/p-7804ce97.js.map +0 -1
- package/dist/solutions/p-7cc15662.entry.js +0 -15
- package/dist/solutions/p-7cc15662.entry.js.map +0 -1
- package/dist/solutions/p-7cc9c6af.js.map +0 -1
- package/dist/solutions/p-7d84c932.entry.js +0 -11
- package/dist/solutions/p-7d84c932.entry.js.map +0 -1
- package/dist/solutions/p-7df393df.js.map +0 -1
- package/dist/solutions/p-7f49ef40.entry.js +0 -11
- package/dist/solutions/p-7f49ef40.entry.js.map +0 -1
- package/dist/solutions/p-7f5c2987.entry.js +0 -7
- package/dist/solutions/p-7f5c2987.entry.js.map +0 -1
- package/dist/solutions/p-7fd90af2.entry.js +0 -11
- package/dist/solutions/p-7fd90af2.entry.js.map +0 -1
- package/dist/solutions/p-815449b1.entry.js +0 -11
- package/dist/solutions/p-815449b1.entry.js.map +0 -1
- package/dist/solutions/p-819aff56.entry.js +0 -11
- package/dist/solutions/p-819aff56.entry.js.map +0 -1
- package/dist/solutions/p-85cf288c.js.map +0 -1
- package/dist/solutions/p-87d812ce.entry.js +0 -7
- package/dist/solutions/p-87d812ce.entry.js.map +0 -1
- package/dist/solutions/p-8b616d33.entry.js +0 -7
- package/dist/solutions/p-8b616d33.entry.js.map +0 -1
- package/dist/solutions/p-8efca26d.entry.js +0 -7
- package/dist/solutions/p-8efca26d.entry.js.map +0 -1
- package/dist/solutions/p-946521e1.js.map +0 -1
- package/dist/solutions/p-970f1072.js +0 -22
- package/dist/solutions/p-970f1072.js.map +0 -1
- package/dist/solutions/p-9a953609.entry.js +0 -11
- package/dist/solutions/p-9a953609.entry.js.map +0 -1
- package/dist/solutions/p-9b381784.entry.js +0 -11
- package/dist/solutions/p-9b381784.entry.js.map +0 -1
- package/dist/solutions/p-9dad5583.entry.js +0 -11
- package/dist/solutions/p-9dad5583.entry.js.map +0 -1
- package/dist/solutions/p-9df9ac35.js.map +0 -1
- package/dist/solutions/p-9ee74ad4.entry.js +0 -7
- package/dist/solutions/p-9ee74ad4.entry.js.map +0 -1
- package/dist/solutions/p-9fab6046.entry.js +0 -22
- package/dist/solutions/p-9fab6046.entry.js.map +0 -1
- package/dist/solutions/p-9fc06fc3.entry.js +0 -15
- package/dist/solutions/p-9fc06fc3.entry.js.map +0 -1
- package/dist/solutions/p-a10dc180.js.map +0 -1
- package/dist/solutions/p-a1c40865.entry.js +0 -11
- package/dist/solutions/p-a1c40865.entry.js.map +0 -1
- package/dist/solutions/p-a3b16f15.entry.js +0 -7
- package/dist/solutions/p-a3b16f15.entry.js.map +0 -1
- package/dist/solutions/p-a7906d52.entry.js +0 -11
- package/dist/solutions/p-a7906d52.entry.js.map +0 -1
- package/dist/solutions/p-a8a106f7.entry.js +0 -7
- package/dist/solutions/p-a8a106f7.entry.js.map +0 -1
- package/dist/solutions/p-a8d2d1a3.entry.js +0 -7
- package/dist/solutions/p-a8d2d1a3.entry.js.map +0 -1
- package/dist/solutions/p-a98c5d29.entry.js +0 -11
- package/dist/solutions/p-a98c5d29.entry.js.map +0 -1
- package/dist/solutions/p-a9df64c4.js.map +0 -1
- package/dist/solutions/p-ad54d2e2.entry.js +0 -11
- package/dist/solutions/p-ad54d2e2.entry.js.map +0 -1
- package/dist/solutions/p-adf3704d.entry.js +0 -11
- package/dist/solutions/p-adf3704d.entry.js.map +0 -1
- package/dist/solutions/p-af46b00f.entry.js +0 -11
- package/dist/solutions/p-af46b00f.entry.js.map +0 -1
- package/dist/solutions/p-af9be2ca.js.map +0 -1
- package/dist/solutions/p-b797d79b.entry.js +0 -23
- package/dist/solutions/p-b797d79b.entry.js.map +0 -1
- package/dist/solutions/p-c09fc04d.entry.js +0 -11
- package/dist/solutions/p-c09fc04d.entry.js.map +0 -1
- package/dist/solutions/p-c11f84d9.entry.js +0 -11
- package/dist/solutions/p-c11f84d9.entry.js.map +0 -1
- package/dist/solutions/p-c195dbb7.entry.js +0 -7
- package/dist/solutions/p-c195dbb7.entry.js.map +0 -1
- package/dist/solutions/p-c34e0641.js.map +0 -1
- package/dist/solutions/p-c5428bbc.entry.js +0 -11
- package/dist/solutions/p-c5428bbc.entry.js.map +0 -1
- package/dist/solutions/p-cb5cb9a8.js.map +0 -1
- package/dist/solutions/p-ce3e9060.entry.js +0 -11
- package/dist/solutions/p-ce3e9060.entry.js.map +0 -1
- package/dist/solutions/p-d132d8ad.entry.js +0 -7
- package/dist/solutions/p-d132d8ad.entry.js.map +0 -1
- package/dist/solutions/p-d320e3a2.entry.js +0 -7
- package/dist/solutions/p-d320e3a2.entry.js.map +0 -1
- package/dist/solutions/p-d70ef015.entry.js +0 -11
- package/dist/solutions/p-d70ef015.entry.js.map +0 -1
- package/dist/solutions/p-e4edca3b.js.map +0 -1
- package/dist/solutions/p-e581f631.js.map +0 -1
- package/dist/solutions/p-e65a8700.entry.js +0 -11
- package/dist/solutions/p-e65a8700.entry.js.map +0 -1
- package/dist/solutions/p-e762b2d1.js.map +0 -1
- package/dist/solutions/p-eb2efc0f.js.map +0 -1
- package/dist/solutions/p-ec178ea9.js.map +0 -1
- package/dist/solutions/p-ecbfddde.js.map +0 -1
- package/dist/solutions/p-eceb11d1.js +0 -22
- package/dist/solutions/p-eceb11d1.js.map +0 -1
- package/dist/solutions/p-ede2beab.entry.js +0 -7
- package/dist/solutions/p-ede2beab.entry.js.map +0 -1
- package/dist/solutions/p-f0a6135d.entry.js +0 -11
- package/dist/solutions/p-f0a6135d.entry.js.map +0 -1
- package/dist/solutions/p-f187755e.js.map +0 -1
- package/dist/solutions/p-f3c6b68d.entry.js +0 -7
- package/dist/solutions/p-f3c6b68d.entry.js.map +0 -1
- package/dist/solutions/p-f49bc4a8.js.map +0 -1
- package/dist/solutions/p-f6e8ee98.entry.js +0 -7
- package/dist/solutions/p-f6e8ee98.entry.js.map +0 -1
- package/dist/solutions/p-f780039d.js.map +0 -1
- package/dist/solutions/p-fa40e7e7.entry.js +0 -7
- package/dist/solutions/p-fa40e7e7.entry.js.map +0 -1
- package/dist/solutions/p-fb25fc4a.entry.js +0 -7
- package/dist/solutions/p-fb25fc4a.entry.js.map +0 -1
- package/dist/solutions/p-fbdf3e06.js.map +0 -1
- package/dist/solutions/p-fc1c8168.js.map +0 -1
- package/dist/solutions/p-ff3697a9.entry.js +0 -7
- package/dist/solutions/p-ff3697a9.entry.js.map +0 -1
- package/dist/solutions/solutions.esm.js.map +0 -1
@@ -1 +0,0 @@
|
|
1
|
-
{"file":"calcite-panel.calcite-shell.calcite-shell-panel.calcite-tab.calcite-tab-nav.calcite-tab-title.calcite-tabs.json-editor.solution-item-details.solution-item-sharing.solution-organization-variables.solution-resource-item.solution-template-data.solution-variables.entry.cjs.js","mappings":"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","names":["CSS","SLOTS","getElementDir","h","CalciteHeading","getSlotted","ACTION_MENU_SLOTS","CSS_UTILITY","Fragment","guid","Host","nodeListToArray","filterDirectChildren","createObserver","getElementProp","getKey","state","getProp"],"sources":["./node_modules/@esri/calcite-components/dist/collection/components/calcite-panel/resources.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-panel/calcite-panel.css?tag=calcite-panel&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-panel/calcite-panel.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-shell/resources.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-shell/calcite-shell.css?tag=calcite-shell&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-shell/calcite-shell.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-shell-panel/resources.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-shell-panel/calcite-shell-panel.css?tag=calcite-shell-panel&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-shell-panel/calcite-shell-panel.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tab/calcite-tab.css?tag=calcite-tab&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tab/calcite-tab.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tab-nav/calcite-tab-nav.css?tag=calcite-tab-nav&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tab-nav/calcite-tab-nav.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tab-title/calcite-tab-title.css?tag=calcite-tab-title&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tab-title/calcite-tab-title.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tabs/resources.js","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tabs/calcite-tabs.css?tag=calcite-tabs&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/calcite-tabs/calcite-tabs.js","./src/components/json-editor/json-editor.css?tag=json-editor","./src/components/json-editor/json-editor.tsx","./src/components/solution-item-details/solution-item-details.css?tag=solution-item-details","./src/components/solution-item-details/solution-item-details.tsx","./src/components/solution-item-sharing/solution-item-sharing.css?tag=solution-item-sharing&encapsulation=shadow","./src/components/solution-item-sharing/solution-item-sharing.tsx","./src/components/solution-organization-variables/solution-organization-variables.css?tag=solution-organization-variables&encapsulation=shadow","./src/components/solution-organization-variables/solution-organization-variables.tsx","./src/components/solution-resource-item/solution-resource-item.css?tag=solution-resource-item&encapsulation=shadow","./src/components/solution-resource-item/solution-resource-item.tsx","./src/components/solution-template-data/solution-template-data.css?tag=solution-template-data","./src/components/solution-template-data/solution-template-data.tsx","./src/components/solution-variables/solution-variables.css?tag=solution-variables&encapsulation=shadow","./src/components/solution-variables/solution-variables.tsx"],"sourcesContent":["/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nexport const CSS = {\n backButton: \"back-button\",\n container: \"container\",\n header: \"header\",\n heading: \"heading\",\n summary: \"summary\",\n headerContent: \"header-content\",\n headerActions: \"header-actions\",\n headerActionsEnd: \"header-actions--end\",\n headerActionsStart: \"header-actions--start\",\n contentWrapper: \"content-wrapper\",\n contentContainer: \"content-container\",\n fabContainer: \"fab-container\",\n footer: \"footer\",\n menuContainer: \"menu-container\",\n menuButton: \"menu-button\",\n menu: \"menu\",\n menuOpen: \"menu--open\"\n};\nexport const ICONS = {\n close: \"x\",\n menu: \"ellipsis\",\n backLeft: \"chevron-left\",\n backRight: \"chevron-right\"\n};\nexport const SLOTS = {\n headerActionsStart: \"header-actions-start\",\n headerActionsEnd: \"header-actions-end\",\n headerMenuActions: \"header-menu-actions\",\n headerContent: \"header-content\",\n fab: \"fab\",\n footer: \"footer\",\n footerActions: \"footer-actions\"\n};\nexport const TEXT = {\n back: \"Back\",\n close: \"Close\",\n open: \"Open\",\n options: \"Options\"\n};\nexport const HEADING_LEVEL = 3;\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:host {\n /* Base \":host\" styles for the component */\n box-sizing: border-box;\n background-color: var(--calcite-ui-foreground-1);\n color: var(--calcite-ui-text-2);\n font-size: var(--calcite-font-size--1);\n}\n\n:host * {\n box-sizing: border-box;\n}\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/**\n* CSS Custom Properties\n*\n* These properties can be overridden using the component's tag as selector.\n*\n* @prop --calcite-panel-max-height: the maximum height of the panel\n* @prop --calcite-panel-max-width: the maximum width of the panel\n* @prop --calcite-panel-min-width: the minimum width of the panel\n*/\n\n:host {\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n position: relative;\n width: 100%;\n --calcite-min-header-height: calc(var(--calcite-icon-size) * 3);\n --calcite-panel-max-height: unset;\n --calcite-panel-width: 100%;\n --calcite-panel-min-width: unset;\n --calcite-panel-max-width: unset;\n}\n\n/* Shared styles for header elements */\n\n.header {\n margin: 0;\n display: flex;\n align-items: center;\n align-content: space-between;\n color: var(--calcite-ui-text-2);\n fill: ;\n}\n\n.heading {\n font-weight: var(--calcite-font-weight-medium);\n margin: 0;\n padding: 0;\n}\n\n.header .heading {\n flex: 1 1 auto;\n padding: 0.5rem;\n}\n\nh1.heading {\n font-size: var(--calcite-font-size-2);\n line-height: 1.5rem;\n}\n\nh2.heading {\n font-size: var(--calcite-font-size-1);\n line-height: 1.5rem;\n}\n\nh3.heading {\n font-size: var(--calcite-font-size-0);\n line-height: 1.25rem;\n}\n\nh4.heading,\nh5.heading {\n font-size: var(--calcite-font-size--1);\n line-height: 1rem;\n}\n\n.container {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-items: stretch;\n background-color: var(--calcite-ui-background);\n width: 100%;\n padding: 0;\n margin: 0;\n max-height: var(--calcite-panel-max-height);\n width: var(--calcite-panel-width);\n max-width: var(--calcite-panel-max-width);\n min-width: var(--calcite-panel-min-width);\n transition: max-height 150ms ease-in-out, width 150ms ease-in-out;\n}\n\n:host([height-scale=s]) {\n --calcite-panel-max-height: 40vh;\n}\n\n:host([height-scale=m]) {\n --calcite-panel-max-height: 60vh;\n}\n\n:host([height-scale=l]) {\n --calcite-panel-max-height: 80vh;\n}\n\n:host([width-scale=s]) {\n --calcite-panel-width: calc(var(--calcite-panel-width-multiplier) * 12vw);\n --calcite-panel-max-width: calc(var(--calcite-panel-width-multiplier) * 300px);\n --calcite-panel-min-width: calc(var(--calcite-panel-width-multiplier) * 150px);\n}\n\n:host([width-scale=m]) {\n --calcite-panel-width: calc(var(--calcite-panel-width-multiplier) * 20vw);\n --calcite-panel-max-width: calc(var(--calcite-panel-width-multiplier) * 420px);\n --calcite-panel-min-width: calc(var(--calcite-panel-width-multiplier) * 240px);\n}\n\n:host([width-scale=l]) {\n --calcite-panel-width: calc(var(--calcite-panel-width-multiplier) * 45vw);\n --calcite-panel-max-width: calc(var(--calcite-panel-width-multiplier) * 680px);\n --calcite-panel-min-width: calc(var(--calcite-panel-width-multiplier) * 340px);\n}\n\n.container[hidden] {\n display: none;\n}\n\n:host([loading]) .container,\n:host([disabled]) .container {\n position: relative;\n z-index: 1;\n}\n\n.header {\n border-bottom: 1px solid;\n align-items: stretch;\n background-color: var(--calcite-ui-foreground-1);\n justify-content: flex-start;\n position: sticky;\n top: 0;\n border-bottom-color: var(--calcite-ui-border-3);\n width: 100%;\n flex: 0 0 auto;\n min-height: 3rem;\n z-index: 2;\n}\n\n.header-content {\n overflow: hidden;\n margin-right: auto;\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n padding-top: 1rem;\n padding-bottom: 1rem;\n display: flex;\n flex-direction: column;\n}\n\n.header-content .heading,\n.header-content .summary {\n padding: 0;\n display: block;\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n text-overflow: ellipsis;\n}\n\n.header-content .heading {\n font-weight: var(--calcite-font-weight-medium);\n margin-top: 0;\n margin-left: 0;\n margin-right: 0;\n margin-bottom: 0.25rem;\n font-size: var(--calcite-font-size-0);\n line-height: 1.25rem;\n}\n\n.header-content .heading:only-child {\n margin-bottom: 0;\n}\n\n.header-content .summary {\n color: var(--calcite-ui-text-2);\n font-size: var(--calcite-font-size--1);\n line-height: 1rem;\n}\n\n.back-button {\n border-color: var(--calcite-ui-border-3);\n border-style: solid;\n border-width: 0;\n border-right-width: 1px;\n}\n\n.calcite--rtl .back-button {\n border-right-width: 0;\n border-left-width: 1px;\n}\n\n.header-actions {\n display: flex;\n align-items: stretch;\n flex-direction: row;\n flex-wrap: nowrap;\n}\n\n.header-actions--end {\n margin-left: auto;\n}\n\n.menu-container:only-child {\n margin-left: auto;\n}\n\n.menu-button {\n align-self: stretch;\n flex: 0 1 auto;\n height: 100%;\n position: relative;\n}\n\n.menu {\n min-width: 10rem;\n flex-flow: column nowrap;\n}\n\n.content-wrapper {\n height: 100%;\n overflow: auto;\n}\n\n.content-container {\n align-items: stretch;\n background-color: var(--calcite-ui-background);\n display: flex;\n flex: 1 1 auto;\n flex-wrap: nowrap;\n flex-direction: column;\n}\n\n.footer {\n border-top: 1px solid;\n background-color: var(--calcite-ui-foreground-1);\n border-top-color: var(--calcite-ui-border-3);\n display: flex;\n justify-content: space-evenly;\n position: sticky;\n bottom: 0;\n width: 100%;\n flex: 0 0 auto;\n min-height: 3rem;\n padding: 0.5rem;\n}\n\n.calcite--rtl .header-content {\n margin-left: auto;\n margin-right: unset;\n}\n\n.calcite--rtl .header-actions--end {\n margin-right: auto;\n margin-left: unset;\n}\n\n.calcite--rtl .menu-container:only-child {\n margin-right: auto;\n margin-left: unset;\n}\n\n.fab-container {\n display: block;\n position: sticky;\n margin-top: 0;\n margin-bottom: 0;\n margin-left: auto;\n margin-right: auto;\n padding: 0.5rem;\n bottom: 0;\n left: 0;\n right: 0;\n width: -moz-fit-content;\n width: fit-content;\n z-index: 1;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Element, Event, Method, Prop, Watch, h, Fragment } from \"@stencil/core\";\nimport { CSS, HEADING_LEVEL, ICONS, SLOTS, TEXT } from \"./resources\";\nimport { getElementDir, getSlotted } from \"../../utils/dom\";\nimport { CSS_UTILITY } from \"../../utils/resources\";\nimport { CalciteHeading } from \"../functional/CalciteHeading\";\nimport { SLOTS as ACTION_MENU_SLOTS } from \"../calcite-action-menu/resources\";\n/**\n * @slot - A slot for adding custom content.\n * @slot header-actions-start - A slot for adding actions or content to the start side of the panel header.\n * @slot header-actions-end - A slot for adding actions or content to the end side of the panel header.\n * @slot header-content - A slot for adding custom content to the header.\n * @slot header-menu-actions - A slot for adding an overflow menu with actions inside a dropdown.\n * @slot fab - A slot for adding a `calcite-fab` (floating action button) to perform an action.\n * @slot footer-actions - A slot for adding buttons to the footer.\n * @slot footer - A slot for adding custom content to the footer.\n */\nexport class CalcitePanel {\n constructor() {\n // --------------------------------------------------------------------------\n //\n // Properties\n //\n // --------------------------------------------------------------------------\n /**\n * Hides the panel.\n */\n this.dismissed = false;\n /**\n * When true, disabled prevents interaction. This state shows items with lower opacity/grayed.\n */\n this.disabled = false;\n /**\n * Displays a close button in the trailing side of the header.\n */\n this.dismissible = false;\n /**\n * Shows a back button in the header.\n */\n this.showBackButton = false;\n /**\n * When true, content is waiting to be loaded. This state shows a busy indicator.\n */\n this.loading = false;\n /**\n * Opens the action menu.\n */\n this.menuOpen = false;\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.setContainerRef = (node) => {\n this.containerEl = node;\n };\n this.setDismissRef = (node) => {\n this.dismissButtonEl = node;\n };\n this.setBackRef = (node) => {\n this.backButtonEl = node;\n };\n this.panelKeyUpHandler = (event) => {\n if (event.key === \"Escape\") {\n this.dismiss();\n }\n };\n this.dismiss = () => {\n this.dismissed = true;\n };\n this.panelScrollHandler = () => {\n this.calcitePanelScroll.emit();\n };\n this.backButtonClick = () => {\n this.calcitePanelBackClick.emit();\n };\n }\n dismissedHandler() {\n this.calcitePanelDismissedChange.emit();\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /** Sets focus on the component. */\n async setFocus(focusId) {\n var _a, _b, _c;\n if (focusId === \"dismiss-button\") {\n (_a = this.dismissButtonEl) === null || _a === void 0 ? void 0 : _a.setFocus();\n return;\n }\n if (focusId === \"back-button\") {\n (_b = this.backButtonEl) === null || _b === void 0 ? void 0 : _b.setFocus();\n return;\n }\n (_c = this.containerEl) === null || _c === void 0 ? void 0 : _c.focus();\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderBackButton() {\n const { el } = this;\n const rtl = getElementDir(el) === \"rtl\";\n const { showBackButton, intlBack, backButtonClick } = this;\n const label = intlBack || TEXT.back;\n const icon = rtl ? ICONS.backRight : ICONS.backLeft;\n return showBackButton ? (h(\"calcite-action\", { \"aria-label\": label, class: CSS.backButton, icon: icon, key: \"back-button\", onClick: backButtonClick, ref: this.setBackRef, scale: \"s\", slot: SLOTS.headerActionsStart, text: label })) : null;\n }\n renderHeaderContent() {\n const { heading, headingLevel, summary } = this;\n const headingNode = heading ? (h(CalciteHeading, { class: CSS.heading, level: headingLevel || HEADING_LEVEL }, heading)) : null;\n const summaryNode = summary ? h(\"span\", { class: CSS.summary }, summary) : null;\n return headingNode || summaryNode ? (h(\"div\", { class: CSS.headerContent, key: \"header-content\" },\n headingNode,\n summaryNode)) : null;\n }\n /**\n * Allows user to override the entire header-content node.\n */\n renderHeaderSlottedContent() {\n return (h(\"div\", { class: CSS.headerContent, key: \"header-content\" },\n h(\"slot\", { name: SLOTS.headerContent })));\n }\n renderHeaderStartActions() {\n const { el } = this;\n const hasStartActions = getSlotted(el, SLOTS.headerActionsStart);\n return hasStartActions ? (h(\"div\", { class: { [CSS.headerActionsStart]: true, [CSS.headerActions]: true }, key: \"header-actions-start\" },\n h(\"slot\", { name: SLOTS.headerActionsStart }))) : null;\n }\n renderHeaderActionsEnd() {\n const { dismiss, dismissible, el, intlClose } = this;\n const text = intlClose || TEXT.close;\n const dismissibleNode = dismissible ? (h(\"calcite-action\", { \"aria-label\": text, icon: ICONS.close, onClick: dismiss, ref: this.setDismissRef, text: text })) : null;\n const slotNode = h(\"slot\", { name: SLOTS.headerActionsEnd });\n const hasEndActions = getSlotted(el, SLOTS.headerActionsEnd);\n return hasEndActions || dismissibleNode ? (h(\"div\", { class: { [CSS.headerActionsEnd]: true, [CSS.headerActions]: true }, key: \"header-actions-end\" },\n slotNode,\n dismissibleNode)) : null;\n }\n renderMenu() {\n const { el, intlOptions, menuOpen } = this;\n const hasMenuItems = getSlotted(el, SLOTS.headerMenuActions);\n return hasMenuItems ? (h(\"calcite-action-menu\", { flipPlacements: [\"top\", \"bottom\"], label: intlOptions || TEXT.options, open: menuOpen, placement: \"bottom-end\" },\n h(\"calcite-action\", { icon: ICONS.menu, slot: ACTION_MENU_SLOTS.trigger, text: intlOptions || TEXT.options }),\n h(\"slot\", { name: SLOTS.headerMenuActions }))) : null;\n }\n renderHeaderNode() {\n const { el, showBackButton } = this;\n const backButtonNode = this.renderBackButton();\n const hasHeaderSlottedContent = getSlotted(el, SLOTS.headerContent);\n const headerContentNode = hasHeaderSlottedContent\n ? this.renderHeaderSlottedContent()\n : this.renderHeaderContent();\n const actionsNodeStart = this.renderHeaderStartActions();\n const actionsNodeEnd = this.renderHeaderActionsEnd();\n const headerMenuNode = this.renderMenu();\n return actionsNodeStart ||\n headerContentNode ||\n actionsNodeEnd ||\n headerMenuNode ||\n showBackButton ? (h(\"header\", { class: CSS.header },\n backButtonNode,\n actionsNodeStart,\n headerContentNode,\n actionsNodeEnd,\n headerMenuNode)) : null;\n }\n /**\n * Allows user to override the entire footer node.\n */\n renderFooterSlottedContent() {\n const { el } = this;\n const hasFooterSlottedContent = getSlotted(el, SLOTS.footer);\n return hasFooterSlottedContent ? (h(\"footer\", { class: CSS.footer },\n h(\"slot\", { name: SLOTS.footer }))) : null;\n }\n renderFooterActions() {\n const { el } = this;\n const hasFooterActions = getSlotted(el, SLOTS.footerActions);\n return hasFooterActions ? (h(\"footer\", { class: CSS.footer },\n h(\"slot\", { name: SLOTS.footerActions }))) : null;\n }\n renderContent() {\n return (h(\"div\", { class: CSS.contentWrapper, onScroll: this.panelScrollHandler, tabIndex: 0 },\n h(\"section\", { class: CSS.contentContainer },\n h(\"slot\", null)),\n this.renderFab()));\n }\n renderFab() {\n const { el } = this;\n const hasFab = getSlotted(el, SLOTS.fab);\n return hasFab ? (h(\"div\", { class: CSS.fabContainer },\n h(\"slot\", { name: SLOTS.fab }))) : null;\n }\n render() {\n const { dismissed, disabled, dismissible, el, loading, panelKeyUpHandler } = this;\n const rtl = getElementDir(el) === \"rtl\";\n const panelNode = (h(\"article\", { \"aria-busy\": loading.toString(), class: {\n [CSS.container]: true,\n [CSS_UTILITY.rtl]: rtl\n }, hidden: dismissible && dismissed, onKeyUp: panelKeyUpHandler, ref: this.setContainerRef, tabIndex: dismissible ? 0 : -1 },\n this.renderHeaderNode(),\n this.renderContent(),\n this.renderFooterSlottedContent() || this.renderFooterActions()));\n return (h(Fragment, null,\n loading || disabled ? h(\"calcite-scrim\", { loading: loading }) : null,\n panelNode));\n }\n static get is() { return \"calcite-panel\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-panel.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-panel.css\"]\n }; }\n static get properties() { return {\n \"dismissed\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Hides the panel.\"\n },\n \"attribute\": \"dismissed\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"beforeBack\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"() => Promise<void>\",\n \"resolved\": \"() => Promise<void>\",\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When provided, this method will be called before it is removed from the parent flow.\"\n }\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When true, disabled prevents interaction. This state shows items with lower opacity/grayed.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"dismissible\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Displays a close button in the trailing side of the header.\"\n },\n \"attribute\": \"dismissible\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"headingLevel\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HeadingLevel\",\n \"resolved\": \"1 | 2 | 3 | 4 | 5 | 6\",\n \"references\": {\n \"HeadingLevel\": {\n \"location\": \"import\",\n \"path\": \"../functional/CalciteHeading\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Number at which section headings should start for this component.\"\n },\n \"attribute\": \"heading-level\",\n \"reflect\": false\n },\n \"showBackButton\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Shows a back button in the header.\"\n },\n \"attribute\": \"show-back-button\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"intlBack\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"'Back' text string.\"\n },\n \"attribute\": \"intl-back\",\n \"reflect\": false\n },\n \"heightScale\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the maxiumum height of the panel.\"\n },\n \"attribute\": \"height-scale\",\n \"reflect\": true\n },\n \"widthScale\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This sets width of the panel.\"\n },\n \"attribute\": \"width-scale\",\n \"reflect\": true\n },\n \"loading\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"When true, content is waiting to be loaded. This state shows a busy indicator.\"\n },\n \"attribute\": \"loading\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"intlClose\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"'Close' text string for the close button. The close button will only be shown when 'dismissible' is true.\"\n },\n \"attribute\": \"intl-close\",\n \"reflect\": false\n },\n \"intlOptions\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"'Options' text string for the actions menu.\"\n },\n \"attribute\": \"intl-options\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Heading text.\"\n },\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"summary\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Summary text. A description displayed underneath the heading.\"\n },\n \"attribute\": \"summary\",\n \"reflect\": false\n },\n \"menuOpen\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Opens the action menu.\"\n },\n \"attribute\": \"menu-open\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n }; }\n static get events() { return [{\n \"method\": \"calcitePanelDismissedChange\",\n \"name\": \"calcitePanelDismissedChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the close button has been clicked.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"calcitePanelScroll\",\n \"name\": \"calcitePanelScroll\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the content has been scrolled.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"calcitePanelBackClick\",\n \"name\": \"calcitePanelBackClick\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the back button has been clicked.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }]; }\n static get methods() { return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"(focusId?: \\\"dismiss-button\\\" | \\\"back-button\\\") => Promise<void>\",\n \"parameters\": [{\n \"tags\": [],\n \"text\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the component.\",\n \"tags\": []\n }\n }\n }; }\n static get elementRef() { return \"el\"; }\n static get watchers() { return [{\n \"propName\": \"dismissed\",\n \"methodName\": \"dismissedHandler\"\n }]; }\n}\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nexport const CSS = {\n main: \"main\",\n mainReversed: \"main--reversed\",\n content: \"content\",\n contentBehind: \"content--behind\",\n footer: \"footer\"\n};\nexport const SLOTS = {\n centerRow: \"center-row\",\n primaryPanel: \"primary-panel\",\n contextualPanel: \"contextual-panel\",\n header: \"header\",\n footer: \"footer\"\n};\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:host {\n /* Base \":host\" styles for the component */\n box-sizing: border-box;\n background-color: var(--calcite-ui-foreground-1);\n color: var(--calcite-ui-text-2);\n font-size: var(--calcite-font-size--1);\n}\n\n:host * {\n box-sizing: border-box;\n}\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n/**\n* CSS Custom Properties\n*\n* These properties can be overridden using the component's tag as selector.\n*\n* @prop --calcite-shell-tip-spacing: the left/right positioning of the tip-manager when slotted within a shell\n*/\n\n:host {\n width: 100%;\n height: 100%;\n position: absolute;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n --calcite-shell-tip-spacing: 26vw;\n}\n\n.main {\n height: 100%;\n width: 100%;\n flex: 1 1 auto;\n display: flex;\n flex-direction: row;\n position: relative;\n justify-content: space-between;\n overflow: hidden;\n}\n\n.main--reversed {\n flex-direction: row-reverse;\n}\n\n.content {\n display: flex;\n flex-direction: column;\n flex-wrap: nowrap;\n height: 100%;\n overflow: auto;\n width: 100%;\n}\n\n.content ::slotted(calcite-shell-center-row),\n.content ::slotted(calcite-panel),\n.content ::slotted(calcite-flow) {\n align-self: stretch;\n flex: 1 1 auto;\n max-height: unset;\n}\n\n.content--behind {\n border-width: 0;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n display: initial;\n}\n\n::slotted(calcite-shell-center-row) {\n width: unset;\n}\n\n::slotted(.header .heading) {\n font-weight: var(--calcite-font-weight-normal);\n font-size: var(--calcite-font-size--2);\n line-height: 1.375;\n}\n\n::slotted(calcite-shell-panel),\n::slotted(calcite-shell-center-row) {\n position: relative;\n z-index: 1;\n}\n\n::slotted(calcite-panel),\n::slotted(calcite-flow) {\n border-width: 1px;\n border-color: var(--calcite-ui-border-3);\n border-style: solid;\n border-left-width: 0;\n border-right-width: 0;\n}\n\nslot[name=center-row]::slotted(calcite-shell-center-row:not([detached])) {\n border-left-width: 1px;\n border-right-width: 1px;\n border-color: var(--calcite-ui-border-3);\n}\n\n::slotted(calcite-tip-manager) {\n border-radius: 0.25rem;\n box-shadow: 0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);\n position: absolute;\n animation: in-up var(--calcite-animation-timing) ease-in-out;\n box-sizing: border-box;\n bottom: 0.5rem;\n left: var(--calcite-shell-tip-spacing);\n right: var(--calcite-shell-tip-spacing);\n z-index: 2;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Element, Prop, h, Fragment } from \"@stencil/core\";\nimport { CSS, SLOTS } from \"./resources\";\nimport { getSlotted } from \"../../utils/dom\";\n/**\n * @slot - A slot for adding content to the shell. This content will appear between any leading and trailing panels added to the shell. (eg. a map)\n * @slot header - A slot for adding header content. This content will be positioned at the top of the shell.\n * @slot footer - A slot for adding footer content. This content will be positioned at the bottom of the shell.\n * @slot primary-panel - A slot for adding the leading `calcite-shell-panel`.\n * @slot contextual-panel - A slot for adding the trailing `calcite-shell-panel`.\n * @slot center-row - A slot for adding custom content in the center row.\n */\nexport class CalciteShell {\n constructor() {\n // --------------------------------------------------------------------------\n //\n // Properties\n //\n // --------------------------------------------------------------------------\n /**\n * Positions the center content behind any calcite-shell-panels.\n */\n this.contentBehind = false;\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderHeader() {\n const hasHeader = !!getSlotted(this.el, SLOTS.header);\n return hasHeader ? h(\"slot\", { name: SLOTS.header }) : null;\n }\n renderContent() {\n const content = !!this.contentBehind\n ? [\n h(\"div\", { class: {\n [CSS.content]: true,\n [CSS.contentBehind]: !!this.contentBehind\n } },\n h(\"slot\", null)),\n h(\"slot\", { name: SLOTS.centerRow })\n ]\n : [\n h(\"div\", { class: CSS.content },\n h(\"slot\", null),\n h(\"slot\", { name: SLOTS.centerRow }))\n ];\n return content;\n }\n renderFooter() {\n const hasFooter = !!getSlotted(this.el, SLOTS.footer);\n return hasFooter ? (h(\"div\", { class: CSS.footer },\n h(\"slot\", { name: SLOTS.footer }))) : null;\n }\n renderMain() {\n const primaryPanel = getSlotted(this.el, SLOTS.primaryPanel);\n const mainClasses = {\n [CSS.main]: true,\n [CSS.mainReversed]: (primaryPanel === null || primaryPanel === void 0 ? void 0 : primaryPanel.position) === \"end\"\n };\n return (h(\"div\", { class: mainClasses },\n h(\"slot\", { name: SLOTS.primaryPanel }),\n this.renderContent(),\n h(\"slot\", { name: SLOTS.contextualPanel })));\n }\n render() {\n return (h(Fragment, null,\n this.renderHeader(),\n this.renderMain(),\n this.renderFooter()));\n }\n static get is() { return \"calcite-shell\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-shell.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-shell.css\"]\n }; }\n static get properties() { return {\n \"contentBehind\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Positions the center content behind any calcite-shell-panels.\"\n },\n \"attribute\": \"content-behind\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n }; }\n static get elementRef() { return \"el\"; }\n}\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nexport const CSS = {\n container: \"container\",\n content: \"content\",\n contentHeader: \"content__header\",\n contentBody: \"content__body\",\n contentDetached: \"content--detached\"\n};\nexport const SLOTS = {\n actionBar: \"action-bar\",\n header: \"header\"\n};\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host {\n display: flex;\n align-items: stretch;\n flex: 0 1 auto;\n --calcite-shell-panel-detached-max-height: unset;\n}\n\n.container {\n box-sizing: border-box;\n display: flex;\n align-items: stretch;\n background-color: transparent;\n flex: 1 1 auto;\n pointer-events: none;\n color: var(--calcite-ui-text-2);\n font-size: var(--calcite-font-size--1);\n}\n\n.container * {\n box-sizing: border-box;\n}\n\n::slotted(calcite-panel),\n::slotted(calcite-flow) {\n flex: 1 1 auto;\n height: 100%;\n width: 100%;\n max-height: unset;\n max-width: unset;\n}\n\n::slotted(.calcite-match-height) {\n display: flex;\n flex: 1 1 auto;\n overflow: hidden;\n}\n\n.content {\n align-items: stretch;\n align-self: stretch;\n background-color: var(--calcite-ui-background);\n display: flex;\n padding: 0;\n pointer-events: auto;\n flex-direction: column;\n flex-wrap: nowrap;\n width: var(--calcite-shell-panel-width);\n max-width: var(--calcite-shell-panel-max-width);\n min-width: var(--calcite-shell-panel-min-width);\n transition: max-height 150ms ease-in-out, max-width 150ms ease-in-out;\n}\n\n.content__header {\n display: flex;\n flex-direction: column;\n flex: 0 1 auto;\n flex-wrap: nowrap;\n align-items: stretch;\n}\n\n.content__body {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n overflow: hidden;\n}\n\n:host([width-scale=s]) .content {\n --calcite-shell-panel-width: calc(var(--calcite-panel-width-multiplier) * 12vw);\n --calcite-shell-panel-max-width: calc(var(--calcite-panel-width-multiplier) * 300px);\n --calcite-shell-panel-min-width: calc(var(--calcite-panel-width-multiplier) * 150px);\n}\n\n:host([width-scale=m]) .content {\n --calcite-shell-panel-width: calc(var(--calcite-panel-width-multiplier) * 20vw);\n --calcite-shell-panel-max-width: calc(var(--calcite-panel-width-multiplier) * 420px);\n --calcite-shell-panel-min-width: calc(var(--calcite-panel-width-multiplier) * 240px);\n}\n\n:host([width-scale=l]) .content {\n --calcite-shell-panel-width: calc(var(--calcite-panel-width-multiplier) * 45vw);\n --calcite-shell-panel-max-width: calc(var(--calcite-panel-width-multiplier) * 680px);\n --calcite-shell-panel-min-width: calc(var(--calcite-panel-width-multiplier) * 340px);\n}\n\n:host([detached-height-scale=s]) .content--detached {\n --calcite-shell-panel-detached-max-height: 40vh;\n}\n\n:host([detached-height-scale=m]) .content--detached {\n --calcite-shell-panel-detached-max-height: 60vh;\n}\n\n:host([detached-height-scale=l]) .content--detached {\n --calcite-shell-panel-detached-max-height: 80vh;\n}\n\n.content--detached {\n border-radius: 0.25rem;\n box-shadow: 0 4px 8px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);\n height: auto;\n overflow: hidden;\n margin-top: 0.5rem;\n margin-bottom: auto;\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n max-height: var(--calcite-shell-panel-detached-max-height);\n}\n\n.content--detached ::slotted(calcite-panel),\n.content--detached ::slotted(calcite-flow) {\n max-height: unset;\n}\n\n:host([position=start]) .content--detached ::slotted(calcite-panel),\n:host([position=start]) .content--detached ::slotted(calcite-flow),\n:host([position=end]) .content--detached ::slotted(calcite-panel),\n:host([position=end]) .content--detached ::slotted(calcite-flow) {\n border-style: none;\n}\n\n.content[hidden] {\n display: none;\n}\n\nslot[name=action-bar]::slotted(calcite-action-bar),\n.content ::slotted(calcite-flow),\n.content ::slotted(calcite-panel) {\n border-width: 1px;\n border-color: var(--calcite-ui-border-3);\n border-style: solid;\n}\n\n:host([position=start]) slot[name=action-bar]::slotted(calcite-action-bar),\n:host([position=start]) .content ::slotted(calcite-flow),\n:host([position=start]) .content ::slotted(calcite-panel) {\n border-inline-start: none;\n}\n\n:host([position=end]) slot[name=action-bar]::slotted(calcite-action-bar),\n:host([position=end]) .content ::slotted(calcite-flow),\n:host([position=end]) .content ::slotted(calcite-panel) {\n border-inline-end: none;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Element, Event, Prop, Watch, h } from \"@stencil/core\";\nimport { CSS, SLOTS } from \"./resources\";\nimport { getSlotted } from \"../../utils/dom\";\n/**\n * @slot - A slot for adding content to the shell panel.\n * @slot action-bar - A slot for adding a `calcite-action-bar` to the panel.\n */\nexport class CalciteShellPanel {\n constructor() {\n // --------------------------------------------------------------------------\n //\n // Properties\n //\n // --------------------------------------------------------------------------\n /**\n * Hide the content panel.\n */\n this.collapsed = false;\n /**\n * This property makes the content area appear like a \"floating\" panel.\n */\n this.detached = false;\n /**\n * Specifies the maxiumum height of the contents when detached.\n */\n this.detachedHeightScale = \"l\";\n /**\n * This sets width of the content area.\n */\n this.widthScale = \"m\";\n }\n watchHandler() {\n this.calciteShellPanelToggle.emit();\n }\n // --------------------------------------------------------------------------\n //\n // Render Methods\n //\n // --------------------------------------------------------------------------\n renderHeader() {\n const { el } = this;\n const hasHeader = getSlotted(el, SLOTS.header);\n return hasHeader ? (h(\"div\", { class: CSS.contentHeader },\n h(\"slot\", { name: SLOTS.header }))) : null;\n }\n render() {\n const { collapsed, detached, position } = this;\n const contentNode = (h(\"div\", { class: { [CSS.content]: true, [CSS.contentDetached]: detached }, hidden: collapsed },\n this.renderHeader(),\n h(\"div\", { class: CSS.contentBody },\n h(\"slot\", null))));\n const actionBarNode = h(\"slot\", { name: SLOTS.actionBar });\n const mainNodes = [actionBarNode, contentNode];\n if (position === \"end\") {\n mainNodes.reverse();\n }\n return h(\"div\", { class: { [CSS.container]: true } }, mainNodes);\n }\n static get is() { return \"calcite-shell-panel\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-shell-panel.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-shell-panel.css\"]\n }; }\n static get properties() { return {\n \"collapsed\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Hide the content panel.\"\n },\n \"attribute\": \"collapsed\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"detached\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property makes the content area appear like a \\\"floating\\\" panel.\"\n },\n \"attribute\": \"detached\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"detachedHeightScale\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the maxiumum height of the contents when detached.\"\n },\n \"attribute\": \"detached-height-scale\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"l\\\"\"\n },\n \"widthScale\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This sets width of the content area.\"\n },\n \"attribute\": \"width-scale\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"m\\\"\"\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Position\",\n \"resolved\": \"\\\"end\\\" | \\\"start\\\"\",\n \"references\": {\n \"Position\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Arranges the component depending on the elements 'dir' property.\"\n },\n \"attribute\": \"position\",\n \"reflect\": true\n }\n }; }\n static get events() { return [{\n \"method\": \"calciteShellPanelToggle\",\n \"name\": \"calciteShellPanelToggle\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when collapse has been toggled.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }]; }\n static get elementRef() { return \"el\"; }\n static get watchers() { return [{\n \"propName\": \"collapsed\",\n \"methodName\": \"watchHandler\"\n }]; }\n}\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host([active]) section {\n display: block;\n}\n\n:host {\n display: none;\n color: var(--calcite-ui-text-3);\n width: 100%;\n height: 100%;\n}\n\n:host([active]) {\n display: block;\n width: 100%;\n height: 100%;\n overflow: auto;\n}\n\nsection {\n height: 100%;\n width: 100%;\n display: none;\n}\n\n:host([scale=s]) {\n font-size: var(--calcite-font-size--2);\n line-height: 1rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n:host([scale=m]) {\n font-size: var(--calcite-font-size--1);\n line-height: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n:host([scale=l]) {\n font-size: var(--calcite-font-size-0);\n line-height: 1.25rem;\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Prop, Element, Listen, Method, Event, h, State, Host } from \"@stencil/core\";\nimport { guid } from \"../../utils/guid\";\nimport { nodeListToArray } from \"../../utils/dom\";\n/**\n * @slot - A slot for adding custom content.\n */\nexport class CalciteTab {\n constructor() {\n /**\n * Show this tab\n */\n this.active = false;\n /** @internal Parent tabs component scale value */\n this.scale = \"m\";\n //--------------------------------------------------------------------------\n //\n // Private State/Props\n //\n //--------------------------------------------------------------------------\n /**\n * @internal\n */\n this.guid = `calcite-tab-title-${guid()}`;\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n render() {\n const id = this.el.id || this.guid;\n return (h(Host, { \"aria-expanded\": this.active.toString(), \"aria-labelledby\": this.labeledBy, id: id, role: \"tabpanel\" },\n h(\"section\", null,\n h(\"slot\", null))));\n }\n componentDidLoad() {\n this.calciteTabRegister.emit();\n }\n componentWillRender() {\n var _a;\n this.scale = (_a = this.el.closest(\"calcite-tabs\")) === null || _a === void 0 ? void 0 : _a.scale;\n }\n disconnectedCallback() {\n var _a;\n // Dispatching to body in order to be listened by other elements that are still connected to the DOM.\n (_a = document.body) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new CustomEvent(\"calciteTabUnregister\", {\n detail: this.el\n }));\n }\n //--------------------------------------------------------------------------\n //\n // Event Listeners\n //\n //--------------------------------------------------------------------------\n tabChangeHandler(event) {\n // to allow `<calcite-tabs>` to be nested we need to make sure this\n // `calciteTabChange` event was actually fired from a title that is a\n // child of the `<calcite-tabs>` that is the a parent of this tab.\n if (event.target.closest(\"calcite-tabs\") !== this.el.closest(\"calcite-tabs\")) {\n return;\n }\n if (this.tab) {\n this.active = this.tab === event.detail.tab;\n }\n else {\n this.getTabIndex().then((index) => {\n this.active = index === event.detail.tab;\n });\n }\n }\n //--------------------------------------------------------------------------\n //\n // Public Methods\n //\n //--------------------------------------------------------------------------\n /**\n * Return the index of this tab within the tab array\n */\n async getTabIndex() {\n return Array.prototype.indexOf.call(nodeListToArray(this.el.parentElement.children).filter((e) => e.matches(\"calcite-tab\")), this.el);\n }\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n /**\n * @internal\n */\n async updateAriaInfo(tabIds = [], titleIds = []) {\n this.labeledBy = titleIds[tabIds.indexOf(this.el.id)] || null;\n }\n static get is() { return \"calcite-tab\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-tab.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-tab.css\"]\n }; }\n static get properties() { return {\n \"tab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Optionally include a unique name for this tab,\\nbe sure to also set this name on the associated title.\"\n },\n \"attribute\": \"tab\",\n \"reflect\": true\n },\n \"active\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Show this tab\"\n },\n \"attribute\": \"active\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"scale\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component scale value\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"scale\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"m\\\"\"\n }\n }; }\n static get states() { return {\n \"labeledBy\": {}\n }; }\n static get events() { return [{\n \"method\": \"calciteTabRegister\",\n \"name\": \"calciteTabRegister\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }]; }\n static get methods() { return {\n \"getTabIndex\": {\n \"complexType\": {\n \"signature\": \"() => Promise<number>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n }\n },\n \"return\": \"Promise<number>\"\n },\n \"docs\": {\n \"text\": \"Return the index of this tab within the tab array\",\n \"tags\": []\n }\n },\n \"updateAriaInfo\": {\n \"complexType\": {\n \"signature\": \"(tabIds?: string[], titleIds?: string[]) => Promise<void>\",\n \"parameters\": [{\n \"tags\": [],\n \"text\": \"\"\n }, {\n \"tags\": [],\n \"text\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }]\n }\n }\n }; }\n static get elementRef() { return \"el\"; }\n static get listeners() { return [{\n \"name\": \"calciteTabChange\",\n \"method\": \"tabChangeHandler\",\n \"target\": \"body\",\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host {\n position: relative;\n display: flex;\n}\n\n:host([scale=s]) {\n min-height: 1.5rem;\n}\n\n:host([scale=m]) {\n min-height: 2rem;\n}\n\n:host([scale=l]) {\n min-height: 2.75rem;\n}\n\n.tab-nav {\n display: flex;\n width: 100%;\n overflow: auto;\n justify-content: flex-start;\n -webkit-overflow-scrolling: touch;\n padding: 0.25rem;\n margin: -0.25rem;\n}\n\n:host([layout=center]) .tab-nav {\n justify-content: center;\n}\n\n.tab-nav-active-indicator-container {\n width: 100%;\n right: 0;\n left: 0;\n bottom: 0;\n position: absolute;\n overflow: hidden;\n height: 0.125rem;\n}\n\n.tab-nav-active-indicator {\n position: absolute;\n bottom: 0;\n display: block;\n transition-property: all;\n transition-timing-function: cubic-bezier(0, 0, 0.2, 1);\n background-color: var(--calcite-ui-brand);\n height: 0.125rem;\n}\n\n:host([position=below]) .tab-nav-active-indicator {\n bottom: unset;\n top: 0;\n}\n\n:host([position=below]) .tab-nav-active-indicator-container {\n bottom: unset;\n top: 0;\n}\n\n:host([bordered]) .tab-nav-active-indicator-container {\n bottom: unset;\n}\n\n:host([bordered][position=below]) .tab-nav-active-indicator-container {\n bottom: 0;\n top: unset;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Element, Event, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\";\nimport { getElementDir, filterDirectChildren } from \"../../utils/dom\";\n/**\n * @slot - A slot for adding `calcite-tab-title`s.\n */\nexport class CalciteTabNav {\n constructor() {\n /** @internal Parent tabs component scale value */\n this.scale = \"m\";\n /** @internal Parent tabs component layout value */\n this.layout = \"inline\";\n /** @internal Parent tabs component position value */\n this.position = \"below\";\n /** @internal Parent tabs component bordered value when layout is \"inline\" */\n this.bordered = false;\n this.animationActiveDuration = 0.3;\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n this.handleContainerScroll = () => {\n // remove active indicator transition duration while container is scrolling to prevent wobble\n this.activeIndicatorEl.style.transitionDuration = \"0s\";\n this.updateOffsetPosition();\n };\n }\n async selectedTabChanged() {\n if (localStorage &&\n this.storageId &&\n this.selectedTab !== undefined &&\n this.selectedTab !== null) {\n localStorage.setItem(`calcite-tab-nav-${this.storageId}`, JSON.stringify(this.selectedTab));\n }\n this.calciteTabChange.emit({\n tab: this.selectedTab\n });\n this.selectedTabEl = await this.getTabTitleById(this.selectedTab);\n }\n selectedTabElChanged() {\n this.updateOffsetPosition();\n this.updateActiveWidth();\n // reset the animation time on tab selection\n this.activeIndicatorEl.style.transitionDuration = `${this.animationActiveDuration}s`;\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n componentWillLoad() {\n const storageKey = `calcite-tab-nav-${this.storageId}`;\n if (localStorage && this.storageId && localStorage.getItem(storageKey)) {\n const storedTab = JSON.parse(localStorage.getItem(storageKey));\n this.selectedTab = storedTab;\n this.calciteTabChange.emit({\n tab: this.selectedTab\n });\n }\n }\n componentWillRender() {\n var _a, _b, _c, _d;\n this.layout = (_a = this.el.closest(\"calcite-tabs\")) === null || _a === void 0 ? void 0 : _a.layout;\n this.position = (_b = this.el.closest(\"calcite-tabs\")) === null || _b === void 0 ? void 0 : _b.position;\n this.scale = (_c = this.el.closest(\"calcite-tabs\")) === null || _c === void 0 ? void 0 : _c.scale;\n this.bordered = (_d = this.el.closest(\"calcite-tabs\")) === null || _d === void 0 ? void 0 : _d.bordered;\n // fix issue with active tab-title not lining up with blue indicator\n if (this.selectedTabEl) {\n this.updateOffsetPosition();\n }\n }\n componentDidRender() {\n // if every tab title is active select the first tab.\n if (this.tabTitles.length &&\n this.tabTitles.every((title) => !title.active) &&\n !this.selectedTab) {\n this.tabTitles[0].getTabIdentifier().then((tab) => {\n this.calciteTabChange.emit({\n tab\n });\n });\n }\n }\n render() {\n const dir = getElementDir(this.el);\n const width = `${this.indicatorWidth}px`;\n const offset = `${this.indicatorOffset}px`;\n const indicatorStyle = dir !== \"rtl\" ? { width, left: offset } : { width, right: offset };\n return (h(Host, { role: \"tablist\" },\n h(\"div\", { class: \"tab-nav\", onScroll: this.handleContainerScroll, ref: (el) => (this.tabNavEl = el) },\n h(\"div\", { class: \"tab-nav-active-indicator-container\", ref: (el) => (this.activeIndicatorContainerEl = el) },\n h(\"div\", { class: \"tab-nav-active-indicator\", ref: (el) => (this.activeIndicatorEl = el), style: indicatorStyle })),\n h(\"slot\", null))));\n }\n //--------------------------------------------------------------------------\n //\n // Event Listeners\n //\n //--------------------------------------------------------------------------\n resizeHandler() {\n // remove active indicator transition duration during resize to prevent wobble\n this.activeIndicatorEl.style.transitionDuration = \"0s\";\n this.updateActiveWidth();\n this.updateOffsetPosition();\n }\n focusPreviousTabHandler(e) {\n const currentIndex = this.getIndexOfTabTitle(e.target, this.enabledTabTitles);\n const previousTab = this.enabledTabTitles[currentIndex - 1] ||\n this.enabledTabTitles[this.enabledTabTitles.length - 1];\n previousTab.focus();\n e.stopPropagation();\n e.preventDefault();\n }\n focusNextTabHandler(e) {\n const currentIndex = this.getIndexOfTabTitle(e.target, this.enabledTabTitles);\n const nextTab = this.enabledTabTitles[currentIndex + 1] || this.enabledTabTitles[0];\n nextTab.focus();\n e.stopPropagation();\n e.preventDefault();\n }\n activateTabHandler(e) {\n this.selectedTab = e.detail.tab\n ? e.detail.tab\n : this.getIndexOfTabTitle(e.target);\n e.stopPropagation();\n e.preventDefault();\n }\n /**\n * Check for active tabs on register and update selected\n */\n updateTabTitles(e) {\n if (e.target.active) {\n this.selectedTab = e.detail;\n }\n }\n globalTabChangeHandler(e) {\n if (this.syncId &&\n e.target !== this.el &&\n e.target.syncId === this.syncId &&\n this.selectedTab !== e.detail.tab) {\n this.selectedTab = e.detail.tab;\n }\n }\n updateOffsetPosition() {\n var _a, _b, _c, _d, _e;\n const dir = getElementDir(this.el);\n const navWidth = (_a = this.activeIndicatorContainerEl) === null || _a === void 0 ? void 0 : _a.offsetWidth;\n const tabLeft = (_b = this.selectedTabEl) === null || _b === void 0 ? void 0 : _b.offsetLeft;\n const tabWidth = (_c = this.selectedTabEl) === null || _c === void 0 ? void 0 : _c.offsetWidth;\n const offsetRight = navWidth - (tabLeft + tabWidth);\n this.indicatorOffset =\n dir !== \"rtl\" ? tabLeft - ((_d = this.tabNavEl) === null || _d === void 0 ? void 0 : _d.scrollLeft) : offsetRight + ((_e = this.tabNavEl) === null || _e === void 0 ? void 0 : _e.scrollLeft);\n }\n updateActiveWidth() {\n var _a;\n this.indicatorWidth = (_a = this.selectedTabEl) === null || _a === void 0 ? void 0 : _a.offsetWidth;\n }\n getIndexOfTabTitle(el, tabTitles = this.tabTitles) {\n // In most cases, since these indexes correlate with tab contents, we want to consider all tab titles.\n // However, when doing relative index operations, it makes sense to pass in this.enabledTabTitles as the 2nd arg.\n return tabTitles.indexOf(el);\n }\n async getTabTitleById(id) {\n return Promise.all(this.tabTitles.map((el) => el.getTabIdentifier())).then((ids) => {\n return this.tabTitles[ids.indexOf(id)];\n });\n }\n get tabTitles() {\n return filterDirectChildren(this.el, \"calcite-tab-title\");\n }\n get enabledTabTitles() {\n return filterDirectChildren(this.el, \"calcite-tab-title:not([disabled])\");\n }\n static get is() { return \"calcite-tab-nav\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-tab-nav.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-tab-nav.css\"]\n }; }\n static get properties() { return {\n \"storageId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Name to use when saving selected tab data to localStorage\"\n },\n \"attribute\": \"storage-id\",\n \"reflect\": false\n },\n \"syncId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Pass the same string to multiple tab navs to keep them all in sync if one changes\"\n },\n \"attribute\": \"sync-id\",\n \"reflect\": false\n },\n \"scale\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component scale value\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"scale\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"m\\\"\"\n },\n \"layout\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"TabLayout\",\n \"resolved\": \"\\\"center\\\" | \\\"inline\\\"\",\n \"references\": {\n \"TabLayout\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tabs/interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component layout value\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"layout\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"inline\\\"\"\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"TabPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\"\",\n \"references\": {\n \"TabPosition\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tabs/interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component position value\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"position\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"below\\\"\"\n },\n \"bordered\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component bordered value when layout is \\\"inline\\\"\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"bordered\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"indicatorOffset\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"attribute\": \"indicator-offset\",\n \"reflect\": false\n },\n \"indicatorWidth\": {\n \"type\": \"number\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"attribute\": \"indicator-width\",\n \"reflect\": false\n }\n }; }\n static get states() { return {\n \"selectedTab\": {},\n \"selectedTabEl\": {}\n }; }\n static get events() { return [{\n \"method\": \"calciteTabChange\",\n \"name\": \"calciteTabChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"see\",\n \"text\": \" [TabChangeEventDetail](https://github.com/Esri/calcite-components/blob/master/src/components/calcite-tab/interfaces.ts#L1)\"\n }],\n \"text\": \"Emitted when the active tab changes\"\n },\n \"complexType\": {\n \"original\": \"TabChangeEventDetail\",\n \"resolved\": \"TabChangeEventDetail\",\n \"references\": {\n \"TabChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tab/interfaces\"\n }\n }\n }\n }]; }\n static get elementRef() { return \"el\"; }\n static get watchers() { return [{\n \"propName\": \"selectedTab\",\n \"methodName\": \"selectedTabChanged\"\n }, {\n \"propName\": \"selectedTabEl\",\n \"methodName\": \"selectedTabElChanged\"\n }]; }\n static get listeners() { return [{\n \"name\": \"resize\",\n \"method\": \"resizeHandler\",\n \"target\": \"window\",\n \"capture\": false,\n \"passive\": true\n }, {\n \"name\": \"calciteTabsFocusPrevious\",\n \"method\": \"focusPreviousTabHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabsFocusNext\",\n \"method\": \"focusNextTabHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabsActivate\",\n \"method\": \"activateTabHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabTitleRegister\",\n \"method\": \"updateTabTitles\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabChange\",\n \"method\": \"globalTabChangeHandler\",\n \"target\": \"body\",\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host {\n display: block;\n flex: 0 1 auto;\n outline: 2px solid transparent;\n outline-offset: 2px;\n margin-right: 1.25rem;\n margin-inline-start: 0;\n margin-inline-end: 1.25rem;\n}\n\n:host([layout=center]) {\n text-align: center;\n margin-top: 0;\n margin-bottom: 0;\n margin-left: 1.25rem;\n margin-right: 1.25rem;\n flex-basis: 12rem;\n}\n\n:host([position=below]) a {\n border-bottom-width: 0;\n border-top-width: 2px;\n border-top-color: transparent;\n border-top-style: solid;\n}\n\n:host a {\n outline-offset: 0;\n outline-color: transparent;\n transition: outline-offset 100ms ease-in-out, outline-color 100ms ease-in-out;\n}\n\n:host(:focus) a {\n outline: 2px solid var(--calcite-ui-brand);\n outline-offset: 2px;\n}\n\n:host(:active) a,\n:host(:focus) a,\n:host(:hover) a {\n text-decoration: none;\n color: var(--calcite-ui-text-1);\n border-color: var(--calcite-ui-border-2);\n}\n\n:host([active]) a {\n color: var(--calcite-ui-text-1);\n border-color: transparent;\n}\n\n:host([disabled]) {\n pointer-events: none;\n}\n\n:host([disabled]) span,\n:host([disabled]) a {\n pointer-events: none;\n opacity: 0.5;\n}\n\n:host([scale=s]) {\n margin-inline-end: 1rem;\n}\n\n:host([scale=s]) a,\n:host([scale=s]) span {\n font-size: var(--calcite-font-size--2);\n line-height: 1rem;\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n:host([scale=m]) a,\n:host([scale=m]) span {\n font-size: var(--calcite-font-size--1);\n line-height: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n:host([scale=l]) {\n margin-inline-end: 1.5rem;\n}\n\n:host([scale=l]) a,\n:host([scale=l]) span {\n font-size: var(--calcite-font-size-0);\n line-height: 1.25rem;\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n\na,\nspan {\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n border-bottom-width: 2px;\n border-bottom-color: transparent;\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n color: var(--calcite-ui-text-3);\n font-size: var(--calcite-font-size--1);\n line-height: 1rem;\n transition-property: all;\n transition-duration: 150ms;\n transition-timing-function: ease-in-out;\n transition-delay: 0s;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border-bottom-style: solid;\n}\n\nspan {\n cursor: default;\n}\n\n.calcite-tab-title--icon {\n display: inline-flex;\n position: relative;\n margin: 0;\n align-self: center;\n}\n\n.calcite-tab-title--icon svg {\n transition-property: all;\n transition-duration: 150ms;\n transition-timing-function: ease-in-out;\n transition-delay: 0s;\n}\n\n.container--has-text .calcite-tab-title--icon.icon-start {\n margin-right: 0.5rem;\n}\n\n.container--has-text .calcite-tab-title--icon.icon-end {\n margin-left: 0.5rem;\n}\n\n:host([icon-start][icon-end]) .calcite-tab-title--icon:first-child {\n margin-right: 0.5rem;\n}\n\n.container--has-text.calcite--rtl .calcite-tab-title--icon.icon-end {\n margin-left: 0;\n margin-right: 0.5rem;\n}\n\n.container--has-text.calcite--rtl .calcite-tab-title--icon.icon-start {\n margin-left: 0.5rem;\n margin-right: 0;\n}\n\n:host([icon-start][icon-end]) .calcite--rtl .calcite-tab-title--icon:first-child {\n margin-left: 0.5rem;\n margin-right: 0;\n}\n\n:host([bordered]) {\n margin-inline-end: 0;\n}\n\n:host([bordered][active]) {\n box-shadow: inset 0px -2px var(--calcite-ui-foreground-1);\n}\n\n:host([bordered][active][position=below]) {\n box-shadow: inset 0 2px 0 var(--calcite-ui-foreground-1);\n}\n\n:host([bordered]:hover) a,\n:host([bordered]:focus) a,\n:host([bordered]:active) a {\n position: relative;\n}\n\n:host([bordered]:hover) a {\n background-color: var(--calcite-button-transparent-hover);\n transition-property: all;\n transition-duration: 150ms;\n transition-timing-function: ease-in-out;\n transition-delay: 0s;\n}\n\n:host([bordered]) a {\n border-bottom-style: unset;\n}\n\n:host([bordered][position=below]) a {\n border-top-style: unset;\n}\n\n:host([active][bordered]) a {\n border-left: 1px solid var(--calcite-ui-border-1);\n border-right: 1px solid var(--calcite-ui-border-1);\n}\n\n:host([bordered]) a,\n:host([bordered]) span {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n\n:host([bordered][scale=s]) a,\n:host([bordered][scale=s]) span {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n:host([bordered][scale=l]) a,\n:host([bordered][scale=l]) span {\n padding-left: 1rem;\n padding-right: 1rem;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Prop, Event, Listen, Element, Method, h, Host, State, Build, Watch } from \"@stencil/core\";\nimport { guid } from \"../../utils/guid\";\nimport { getElementDir, getElementProp } from \"../../utils/dom\";\nimport { getKey } from \"../../utils/key\";\nimport { CSS_UTILITY } from \"../../utils/resources\";\nimport { createObserver } from \"../../utils/observers\";\n/**\n * @slot - A slot for adding text.\n */\nexport class CalciteTabTitle {\n constructor() {\n //--------------------------------------------------------------------------\n //\n // Properties\n //\n //--------------------------------------------------------------------------\n /** Show this tab title as selected */\n this.active = false;\n /** Disable this tab title */\n this.disabled = false;\n /** @internal Parent tabs component bordered value */\n this.bordered = false;\n //--------------------------------------------------------------------------\n //\n // Private State/Props\n //\n //--------------------------------------------------------------------------\n /** watches for changing text content **/\n this.mutationObserver = createObserver(\"mutation\", () => this.updateHasText());\n /** determine if there is slotted text for styling purposes */\n this.hasText = false;\n /**\n * @internal\n */\n this.guid = `calcite-tab-title-${guid()}`;\n }\n activeTabChanged() {\n if (this.active) {\n this.emitActiveTab();\n }\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n connectedCallback() {\n this.setupTextContentObserver();\n this.parentTabNavEl = this.el.closest(\"calcite-tab-nav\");\n this.parentTabsEl = this.el.closest(\"calcite-tabs\");\n }\n disconnectedCallback() {\n var _a, _b;\n (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n // Dispatching to body in order to be listened by other elements that are still connected to the DOM.\n (_b = document.body) === null || _b === void 0 ? void 0 : _b.dispatchEvent(new CustomEvent(\"calciteTabTitleUnregister\", {\n detail: this.el\n }));\n }\n componentWillLoad() {\n if (Build.isBrowser) {\n this.updateHasText();\n }\n if (this.tab && this.active) {\n this.emitActiveTab();\n }\n }\n componentWillRender() {\n if (this.parentTabsEl) {\n this.layout = this.parentTabsEl.layout;\n this.position = this.parentTabsEl.position;\n this.scale = this.parentTabsEl.scale;\n this.bordered = this.parentTabsEl.bordered;\n }\n // handle case when tab-nav is only parent\n if (!this.parentTabsEl && this.parentTabNavEl) {\n this.position = getElementProp(this.parentTabNavEl, \"position\", this.position);\n this.scale = getElementProp(this.parentTabNavEl, \"scale\", this.scale);\n }\n }\n render() {\n const dir = getElementDir(this.el);\n const id = this.el.id || this.guid;\n const Tag = this.disabled ? \"span\" : \"a\";\n const showSideBorders = this.bordered && !this.disabled && this.layout !== \"center\";\n const iconStartEl = (h(\"calcite-icon\", { class: \"calcite-tab-title--icon icon-start\", dir: dir, flipRtl: this.iconFlipRtl === \"start\" || this.iconFlipRtl === \"both\", icon: this.iconStart, scale: \"s\" }));\n const iconEndEl = (h(\"calcite-icon\", { class: \"calcite-tab-title--icon icon-end\", dir: dir, flipRtl: this.iconFlipRtl === \"end\" || this.iconFlipRtl === \"both\", icon: this.iconEnd, scale: \"s\" }));\n return (h(Host, { \"aria-controls\": this.controls, \"aria-expanded\": this.active.toString(), id: id, role: \"tab\", tabindex: this.disabled ? \"-1\" : \"0\" },\n h(Tag, { class: {\n container: true,\n \"container--has-text\": this.hasText,\n [CSS_UTILITY.rtl]: dir === \"rtl\"\n }, style: showSideBorders && { width: `${this.parentTabNavEl.indicatorWidth}px` } },\n this.iconStart ? iconStartEl : null,\n h(\"slot\", null),\n this.iconEnd ? iconEndEl : null)));\n }\n async componentDidLoad() {\n this.calciteTabTitleRegister.emit(await this.getTabIdentifier());\n }\n //--------------------------------------------------------------------------\n //\n // Event Listeners\n //\n //--------------------------------------------------------------------------\n tabChangeHandler(event) {\n if (this.parentTabNavEl === event.target) {\n if (this.tab) {\n this.active = this.tab === event.detail.tab;\n }\n else {\n this.getTabIndex().then((index) => {\n this.active = index === event.detail.tab;\n });\n }\n }\n }\n onClick() {\n this.emitActiveTab();\n }\n keyDownHandler(e) {\n switch (getKey(e.key)) {\n case \" \":\n case \"Enter\":\n this.emitActiveTab();\n e.preventDefault();\n break;\n case \"ArrowRight\":\n if (getElementDir(this.el) === \"ltr\") {\n this.calciteTabsFocusNext.emit();\n }\n else {\n this.calciteTabsFocusPrevious.emit();\n }\n break;\n case \"ArrowLeft\":\n if (getElementDir(this.el) === \"ltr\") {\n this.calciteTabsFocusPrevious.emit();\n }\n else {\n this.calciteTabsFocusNext.emit();\n }\n break;\n }\n }\n //--------------------------------------------------------------------------\n //\n // Public Methods\n //\n //--------------------------------------------------------------------------\n /**\n * Return the index of this title within the nav\n */\n async getTabIndex() {\n return Array.prototype.indexOf.call(this.el.parentElement.querySelectorAll(\"calcite-tab-title\"), this.el);\n }\n /**\n * @internal\n */\n async getTabIdentifier() {\n return this.tab ? this.tab : this.getTabIndex();\n }\n /**\n * @internal\n */\n async updateAriaInfo(tabIds = [], titleIds = []) {\n this.controls = tabIds[titleIds.indexOf(this.el.id)] || null;\n }\n updateHasText() {\n this.hasText = this.el.textContent.trim().length > 0;\n }\n setupTextContentObserver() {\n var _a;\n (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.observe(this.el, { childList: true, subtree: true });\n }\n emitActiveTab() {\n if (!this.disabled) {\n this.calciteTabsActivate.emit({\n tab: this.tab\n });\n }\n }\n static get is() { return \"calcite-tab-title\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-tab-title.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-tab-title.css\"]\n }; }\n static get properties() { return {\n \"active\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Show this tab title as selected\"\n },\n \"attribute\": \"active\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Disable this tab title\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"iconEnd\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"optionally pass an icon to display at the end of a tab title - accepts calcite ui icon names\"\n },\n \"attribute\": \"icon-end\",\n \"reflect\": true\n },\n \"iconFlipRtl\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"FlipContext\",\n \"resolved\": \"\\\"both\\\" | \\\"end\\\" | \\\"start\\\"\",\n \"references\": {\n \"FlipContext\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"flip the icon(s) in rtl\"\n },\n \"attribute\": \"icon-flip-rtl\",\n \"reflect\": true\n },\n \"iconStart\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"optionally pass an icon to display at the start of a tab title - accepts calcite ui icon names\"\n },\n \"attribute\": \"icon-start\",\n \"reflect\": true\n },\n \"layout\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"TabLayout\",\n \"resolved\": \"\\\"center\\\" | \\\"inline\\\"\",\n \"references\": {\n \"TabLayout\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tabs/interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component layout value\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"layout\",\n \"reflect\": true\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"TabPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\"\",\n \"references\": {\n \"TabPosition\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tabs/interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component or parent tab-nav component's position\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"position\",\n \"reflect\": true\n },\n \"scale\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component or parent tab-nav component's scale\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"scale\",\n \"reflect\": true\n },\n \"bordered\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Parent tabs component bordered value\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"bordered\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"tab\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Optionally include a unique name for the tab title,\\nbe sure to also set this name on the associated tab.\"\n },\n \"attribute\": \"tab\",\n \"reflect\": true\n }\n }; }\n static get states() { return {\n \"controls\": {},\n \"hasText\": {}\n }; }\n static get events() { return [{\n \"method\": \"calciteTabsActivate\",\n \"name\": \"calciteTabsActivate\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"see\",\n \"text\": \" [TabChangeEventDetail](https://github.com/Esri/calcite-components/blob/master/src/components/calcite-tab/interfaces.ts#L1)\"\n }],\n \"text\": \"Fires when a specific tab is activated (`event.details`)\"\n },\n \"complexType\": {\n \"original\": \"TabChangeEventDetail\",\n \"resolved\": \"TabChangeEventDetail\",\n \"references\": {\n \"TabChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tab/interfaces\"\n }\n }\n }\n }, {\n \"method\": \"calciteTabsFocusNext\",\n \"name\": \"calciteTabsFocusNext\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"calciteTabsFocusPrevious\",\n \"name\": \"calciteTabsFocusPrevious\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"calciteTabTitleRegister\",\n \"name\": \"calciteTabTitleRegister\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"TabID\",\n \"resolved\": \"number | string\",\n \"references\": {\n \"TabID\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tabs/interfaces\"\n }\n }\n }\n }]; }\n static get methods() { return {\n \"getTabIndex\": {\n \"complexType\": {\n \"signature\": \"() => Promise<number>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n }\n },\n \"return\": \"Promise<number>\"\n },\n \"docs\": {\n \"text\": \"Return the index of this title within the nav\",\n \"tags\": []\n }\n },\n \"getTabIdentifier\": {\n \"complexType\": {\n \"signature\": \"() => Promise<TabID>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n },\n \"TabID\": {\n \"location\": \"import\",\n \"path\": \"../calcite-tabs/interfaces\"\n }\n },\n \"return\": \"Promise<TabID>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }]\n }\n },\n \"updateAriaInfo\": {\n \"complexType\": {\n \"signature\": \"(tabIds?: string[], titleIds?: string[]) => Promise<void>\",\n \"parameters\": [{\n \"tags\": [],\n \"text\": \"\"\n }, {\n \"tags\": [],\n \"text\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }]\n }\n }\n }; }\n static get elementRef() { return \"el\"; }\n static get watchers() { return [{\n \"propName\": \"active\",\n \"methodName\": \"activeTabChanged\"\n }]; }\n static get listeners() { return [{\n \"name\": \"calciteTabChange\",\n \"method\": \"tabChangeHandler\",\n \"target\": \"body\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"click\",\n \"method\": \"onClick\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"keyDownHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nexport const SLOTS = {\n tabNav: \"tab-nav\"\n};\n","/* mixins & extensions */\n\n@keyframes in {\n 0% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n\n:root {\n --calcite-animation-timing: 300ms;\n}\n\n.calcite-animate {\n opacity: 0;\n animation-fill-mode: both;\n animation-duration: var(--calcite-animation-timing);\n}\n\n.calcite-animate__in {\n animation-name: in;\n}\n\n.calcite-animate__in-down {\n animation-name: in-down;\n}\n\n.calcite-animate__in-up {\n animation-name: in-up;\n}\n\n.calcite-animate__in-scale {\n animation-name: in-scale;\n}\n\n/**\n* Currently only used in Checkbox.\n*/\n\n:root {\n --calcite-popper-transition: 150ms ease-in-out;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host {\n display: flex;\n flex-direction: column;\n}\n\n:host([bordered]) {\n box-shadow: inset 0 1px 0 var(--calcite-ui-border-1);\n background-color: var(--calcite-ui-foreground-1);\n}\n\n:host([bordered]:not([position=below])) ::slotted(calcite-tab-nav) {\n margin-bottom: -1px;\n}\n\n:host([bordered][position=below]) ::slotted(calcite-tab-nav) {\n margin-top: -1px;\n}\n\n:host([bordered][position=below]) {\n box-shadow: inset 0 1px 0 var(--calcite-ui-border-1), inset 0 -1px 0 var(--calcite-ui-border-1);\n}\n\n:host([bordered]) section {\n border-width: 1px;\n border-style: solid;\n border-color: var(--calcite-ui-border-1);\n}\n\n:host([bordered][scale=s]) section {\n padding: 0.75rem;\n}\n\n:host([bordered][scale=m]) section {\n padding: 0.5rem;\n}\n\n:host([bordered][scale=l]) section {\n padding: 1rem;\n}\n\n:host([position=below]) {\n flex-direction: column-reverse;\n}\n\nsection {\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n border-top-width: 1px;\n border-top-color: var(--calcite-ui-border-1);\n border-top-style: solid;\n}\n\n:host([position=below]) section {\n flex-direction: column-reverse;\n border-top-width: 0;\n border-bottom-width: 1px;\n border-bottom-color: var(--calcite-ui-border-1);\n}\n\n:host([position=below]:not([bordered])) section {\n border-bottom-style: solid;\n}","/*!\n * All material copyright ESRI, All Rights Reserved, unless otherwise specified.\n * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.\n */\nimport { Component, Prop, h, Element, Listen, State, Fragment } from \"@stencil/core\";\nimport { SLOTS } from \"./resources\";\n/**\n * @slot - A slot for adding `calcite-tab`s.\n * @slot tab-nav - A slot for adding a tab navigation component.\n */\nexport class CalciteTabs {\n constructor() {\n //--------------------------------------------------------------------------\n //\n // Public Properties\n //\n //--------------------------------------------------------------------------\n /**\n * Align tab titles to the edge or fully justify them across the tab nav (\"center\")\n */\n this.layout = \"inline\";\n /**\n * Display the tabs above (default) or below the tab content\n */\n this.position = \"above\";\n /**\n * Specify the scale of the tabs component, defaults to m\n */\n this.scale = \"m\";\n /**\n * Optionally enable tabs to appear like a folder-style menu when its layout is \"inline\"\n */\n this.bordered = false;\n //--------------------------------------------------------------------------\n //\n // Events\n //\n //--------------------------------------------------------------------------\n //--------------------------------------------------------------------------\n //\n // Private State/Props\n //\n //--------------------------------------------------------------------------\n /**\n * @internal\n *\n * Stores an array of ids of `<calcite-tab-titles>`s to match up ARIA\n * attributes.\n */\n this.titles = [];\n /**\n * @internal\n *\n * Stores an array of ids of `<calcite-tab>`s to match up ARIA attributes.\n */\n this.tabs = [];\n }\n //--------------------------------------------------------------------------\n //\n // Lifecycle\n //\n //--------------------------------------------------------------------------\n connectedCallback() {\n if (this.layout === \"center\") {\n this.bordered = false;\n }\n }\n render() {\n return (h(Fragment, null,\n h(\"slot\", { name: SLOTS.tabNav }),\n h(\"section\", null,\n h(\"slot\", null))));\n }\n //--------------------------------------------------------------------------\n //\n // Event Listeners\n //\n //--------------------------------------------------------------------------\n /**\n * @internal\n */\n calciteTabTitleRegister(e) {\n this.titles = [...this.titles, e.target];\n this.registryHandler();\n e.stopPropagation();\n }\n /**\n * @internal\n */\n calciteTabTitleUnregister(e) {\n this.titles = this.titles.filter((el) => el !== e.detail);\n this.registryHandler();\n e.stopPropagation();\n }\n /**\n * @internal\n */\n calciteTabRegister(e) {\n this.tabs = [...this.tabs, e.target];\n this.registryHandler();\n e.stopPropagation();\n }\n /**\n * @internal\n */\n calciteTabUnregister(e) {\n this.tabs = this.tabs.filter((el) => el !== e.detail);\n this.registryHandler();\n e.stopPropagation();\n }\n //--------------------------------------------------------------------------\n //\n // Private Methods\n //\n //--------------------------------------------------------------------------\n /**\n * @internal\n *\n * Matches up elements from the internal `tabs` and `titles` to automatically\n * update the ARIA attributes and link `<calcite-tab>` and\n * `<calcite-tab-title>` components.\n */\n async registryHandler() {\n let tabIds;\n let titleIds;\n // determine if we are using `tab` based or `index` based tab identifiers.\n if (this.tabs.some((e) => e.tab) || this.titles.some((e) => e.tab)) {\n // if we are using `tab` based identifiers sort by `tab` to account for\n // possible out of order tabs and get the id of each tab\n tabIds = this.tabs.sort((a, b) => a.tab.localeCompare(b.tab)).map((e) => e.id);\n titleIds = this.titles.sort((a, b) => a.tab.localeCompare(b.tab)).map((e) => e.id);\n }\n else {\n // if we are using index based tabs then the `<calcite-tab>` and\n // `<calcite-tab-title>` might have been rendered out of order so the\n // order of `this.tabs` and `this.titles` might not reflect the DOM state,\n // and might not match each other so we need to get the index of all the\n // tabs and titles in the DOM order to match them up as a source of truth\n const tabDomIndexes = await Promise.all(this.tabs.map((el) => el.getTabIndex()));\n const titleDomIndexes = await Promise.all(this.titles.map((el) => el.getTabIndex()));\n // once we have the DOM order as a source of truth we can build the\n // matching tabIds and titleIds arrays\n tabIds = tabDomIndexes.reduce((ids, indexInDOM, registryIndex) => {\n ids[indexInDOM] = this.tabs[registryIndex].id;\n return ids;\n }, []);\n titleIds = titleDomIndexes.reduce((ids, indexInDOM, registryIndex) => {\n ids[indexInDOM] = this.titles[registryIndex].id;\n return ids;\n }, []);\n }\n // pass all our new aria information to each `<calcite-tab>` and\n // `<calcite-tab-title>` which will check if they can update their internal\n // `controlled` or `labeledBy` states and re-render if necessary\n this.tabs.forEach((el) => el.updateAriaInfo(tabIds, titleIds));\n this.titles.forEach((el) => el.updateAriaInfo(tabIds, titleIds));\n }\n static get is() { return \"calcite-tabs\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() { return {\n \"$\": [\"calcite-tabs.scss\"]\n }; }\n static get styleUrls() { return {\n \"$\": [\"calcite-tabs.css\"]\n }; }\n static get properties() { return {\n \"layout\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabLayout\",\n \"resolved\": \"\\\"center\\\" | \\\"inline\\\"\",\n \"references\": {\n \"TabLayout\": {\n \"location\": \"import\",\n \"path\": \"./interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Align tab titles to the edge or fully justify them across the tab nav (\\\"center\\\")\"\n },\n \"attribute\": \"layout\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"inline\\\"\"\n },\n \"position\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"TabPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\"\",\n \"references\": {\n \"TabPosition\": {\n \"location\": \"import\",\n \"path\": \"./interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Display the tabs above (default) or below the tab content\"\n },\n \"attribute\": \"position\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"above\\\"\"\n },\n \"scale\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Scale\",\n \"resolved\": \"\\\"l\\\" | \\\"m\\\" | \\\"s\\\"\",\n \"references\": {\n \"Scale\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the scale of the tabs component, defaults to m\"\n },\n \"attribute\": \"scale\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"m\\\"\"\n },\n \"bordered\": {\n \"type\": \"boolean\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Optionally enable tabs to appear like a folder-style menu when its layout is \\\"inline\\\"\"\n },\n \"attribute\": \"bordered\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n }; }\n static get states() { return {\n \"titles\": {},\n \"tabs\": {}\n }; }\n static get elementRef() { return \"el\"; }\n static get listeners() { return [{\n \"name\": \"calciteTabTitleRegister\",\n \"method\": \"calciteTabTitleRegister\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabTitleUnregister\",\n \"method\": \"calciteTabTitleUnregister\",\n \"target\": \"body\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabRegister\",\n \"method\": \"calciteTabRegister\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"calciteTabUnregister\",\n \"method\": \"calciteTabUnregister\",\n \"target\": \"body\",\n \"capture\": false,\n \"passive\": false\n }]; }\n}\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.editor-container {\r\n position: relative;\r\n height: 100%;\r\n}\r\n\r\n.editor-controls {\r\n height: 44px;\r\n background-color: #F4F4F4\r\n}\r\n\r\n.editor-buttons {\r\n float: right;\r\n}\r\n\r\nhtml[dir=\"rtl\"] .editor-buttons {\r\n float: left;\r\n padding-right: .25rem\r\n}\r\n\r\n.edit-button {\r\n padding: .25rem 0 0 .5rem;\r\n}\r\n\r\nhtml[dir=\"rtl\"] .edit-button {\r\n padding: .25rem .5rem 0 0;\r\n}\r\n\r\n.editor-text {\r\n overflow-y: auto;\r\n background-color: white;\r\n width: 100%;\r\n}\r\n\r\n.edit-width {\r\n width: 100%;\r\n}\r\n\r\n/* NEW CSS FOR MONACO */\r\n.edit-parent {\r\n width: 100%;\r\n /* adjust for edit buttons and border */\r\n height: calc(100% - 46px);\r\n box-sizing: border-box;\r\n}\r\n\r\n.json-edit-container {\r\n width: 100%;\r\n height: 100%;\r\n border: 1px solid grey;\r\n}\r\n\r\n.padding-right {\r\n /* padding for border */\r\n padding-right: 2px;\r\n}\r\n\r\nhtml[dir=\"rtl\"] .padding-right {\r\n padding-left: 2px;\r\n}\r\n\r\n.btn-container {\r\n width: 20%;\r\n height: calc(100vh - 16px);\r\n margin: 0px;\r\n padding: 0px;\r\n float: right;\r\n}\r\n\r\n.btn {\r\n height: 25px;\r\n width: 120px;\r\n display: flex;\r\n margin-bottom: 1rem;\r\n justify-content: center;\r\n}\r\n\r\n.select-ctrl {\r\n margin-bottom: 1rem;\r\n}\r\n\r\n.all-edits {\r\n margin-top: 4rem;\r\n}\r\n\r\n.not-visible {\r\n display: none;\r\n}\r\n\r\n.json-editor-position {\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n max-height: 100% !important;\r\n margin: 0;\r\n padding: 0;\r\n overflow: hidden;\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Encapsulates the Monaco Editor (https://microsoft.github.io/monaco-editor/) into a\r\n * web component for JSON content.\r\n *\r\n * Attributes:\r\n * `instanceid`: id of component (required, because it's used to distinguish between multiple instances of component)\r\n * `value`: Initial content of editor\r\n *\r\n * @example\r\n * <json-editor\r\n * instanceid=\"a1f271c0de554604beed2adc1f244be1\"\r\n * value=\"{\\\"id\\\": \\\"12345\\\"}\"\r\n * ></json-editor>\r\n *\r\n * `instanceid` attribute and `value` are required\r\n *\r\n *\r\n*/\r\n\r\nimport { Component, Element, Host, h, Listen, Prop } from '@stencil/core';\r\nimport state from '../../utils/editStore';\r\nimport { getProp } from '../../utils/common';\r\n\r\n@Component({\r\n tag: 'json-editor',\r\n styleUrl: 'json-editor.css',\r\n shadow: false,\r\n assetsDirs: ['assets']\r\n})\r\nexport class JsonEditor {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n @Element() el: HTMLJsonEditorElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the original source item json as it was when the component was created.\r\n *\r\n */\r\n @Prop({ mutable: true }) original: any = \"\";\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n * This should be an item Id for one of the models in the store.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: any = undefined;\r\n\r\n /**\r\n * Contains the public model for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) model: any; //monaco.editor.ITextModel;\r\n\r\n /**\r\n * Contains a unique identifier for when we have multiple instances of the editor.\r\n * For example when we want to show an items data as well as an items properties.\r\n *\r\n * Need to rethink this..would like it to be more generic.\r\n * We are currently tied to either data or props as this helps us know how to get the correct model from the store.\r\n */\r\n @Prop({ mutable: true, reflect: true }) instanceid: any = \"\";\r\n\r\n /**\r\n * Contains a public value to indicate if the model has any errors\r\n * that would prevent saving it.\r\n */\r\n @Prop({ mutable: true, reflect: true }) hasErrors: boolean = false;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n render() {\r\n return (\r\n <Host class=\"json-editor-position\">\r\n <div id={`${this.instanceid}-editor-container`} class=\"editor-container padding-right\">\r\n <div class=\"editor-controls\">\r\n <div class=\"editor-buttons\">\r\n {/* undo */}\r\n <calcite-button\r\n id={`${this.instanceid}-undo`}\r\n color=\"blue\"\r\n appearance=\"solid\"\r\n title={this.translations.undo}\r\n onClick={() => this._undo()}\r\n scale=\"s\"\r\n class=\"edit-button\"\r\n >\r\n <calcite-icon icon=\"undo\" scale=\"s\"></calcite-icon>\r\n </calcite-button>\r\n {/* redo */}\r\n <calcite-button\r\n id={`${this.instanceid}-redo`}\r\n color=\"blue\"\r\n appearance=\"solid\"\r\n title={this.translations.redo}\r\n onClick={() => this._redo()}\r\n scale=\"s\"\r\n class=\"edit-button\"\r\n >\r\n <calcite-icon icon=\"redo\" scale=\"s\"></calcite-icon>\r\n </calcite-button>\r\n {/* diff */}\r\n <calcite-button\r\n id={`${this.instanceid}-diff`}\r\n color=\"blue\"\r\n appearance=\"solid\"\r\n title={this.translations.diff}\r\n onClick={() => this._toggleEditor()}\r\n scale=\"s\"\r\n class=\"edit-button\"\r\n >\r\n <calcite-icon icon=\"compare\" scale=\"s\"></calcite-icon>\r\n </calcite-button>\r\n {/* search */}\r\n <calcite-button\r\n id={`${this.instanceid}-search`}\r\n appearance=\"outline\"\r\n color=\"blue\"\r\n title={this.translations.search}\r\n onClick={() => this._search()}\r\n scale=\"s\"\r\n class=\"edit-button\"\r\n >\r\n <calcite-icon icon=\"search\" scale=\"s\"></calcite-icon>\r\n </calcite-button>\r\n {/* cancel */}\r\n <calcite-button\r\n id={`${this.instanceid}-reset`}\r\n color=\"blue\"\r\n appearance=\"solid\"\r\n disabled\r\n title={this.translations.cancelEdits}\r\n onClick={() => this._reset()}\r\n scale=\"s\"\r\n class=\"edit-button\"\r\n >\r\n <calcite-icon icon=\"reset\" scale=\"s\"></calcite-icon>\r\n </calcite-button>\r\n </div>\r\n </div>\r\n <div class=\"edit-parent\">\r\n <div id={`${this.instanceid}-container`} class=\"json-edit-container\"></div>\r\n <div id={`${this.instanceid}-diff-container`} class=\"json-edit-container not-visible\"></div>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n componentWillLoad(): void {\r\n this._initValueObserver();\r\n }\r\n\r\n disconnectedCallback(): void {\r\n // The doc makes me question what all we should do here\r\n // StencilJS doc: Called every time the component is disconnected from the DOM, ie, it can\r\n // be dispatched more than once, DO not confuse with a \"onDestroy\" kind of event.\r\n this._destroyEditor();\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Variables (private)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n private _editor: any;\r\n private _diffEditor: any;\r\n private _useDiffEditor: boolean = false;\r\n private _currentModel: any;\r\n private _searchBtnHandler: any;\r\n private _cancelEditsBtnHandler: any;\r\n private _loaded: boolean = false;\r\n private _valueObserver: MutationObserver;\r\n private _contentChanged: any;\r\n private _decorationsChanged: any;\r\n\r\n private _initValueObserver() {\r\n this._valueObserver = new MutationObserver(ml => {\r\n ml.forEach(mutation => {\r\n if (mutation.type === 'attributes' && mutation.attributeName === \"value\") {\r\n if (state && state.models && Object.keys(state.models).indexOf(this.value) > -1) {\r\n const newValue: string = mutation.target[mutation.attributeName];\r\n if ((newValue !== mutation.oldValue && this._loaded)) {\r\n // store the current state\r\n this._saveCurrentModel(mutation.oldValue);\r\n\r\n // get the model and state from the store\r\n this._setEditModel(newValue);\r\n } else if (!this._loaded) {\r\n this._setEditModel(this.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n this._valueObserver.observe(this.el, { attributes: true, attributeOldValue: true });\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Listen(\"organizationVariableSelected\", { target: 'window' })\r\n organizationVariableSelected(event: CustomEvent): void {\r\n if (this._isTabActive()) {\r\n this._insertValue(event.detail.value);\r\n }\r\n }\r\n\r\n @Listen(\"solutionVariableSelected\", { target: 'window' })\r\n solutionVariableSelected(event: CustomEvent): void {\r\n if (this._isTabActive()) {\r\n this._insertValue(event.detail.value);\r\n }\r\n }\r\n\r\n @Listen(\"modelsChanged\", { target: 'window' })\r\n _modelsChanged(): void {\r\n if (!this._loaded && this.value) {\r\n if (state && state.models && Object.keys(state.models).indexOf(this.value) > -1) {\r\n //get the model and state from the store\r\n this._setEditModel(this.value);\r\n }\r\n }\r\n }\r\n\r\n @Listen(\"solutionItemSelected\", { target: 'window' })\r\n _solutionItemSelected(event: CustomEvent): void {\r\n if (this.value && event.detail.itemId !== this.value) {\r\n this._saveCurrentModel(this.value)\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Initializes the editor when the web component is connected.\r\n *\r\n * @protected\r\n */\r\n _initEditor(): void {\r\n // Set up embedded editor\r\n if (monaco && monaco.editor) {\r\n this._editor = monaco.editor.create(document.getElementById(`${this.instanceid}-container`), {\r\n model: this.model,\r\n language: 'json',\r\n readOnly: false,\r\n theme: \"vs\",\r\n minimap: {\r\n enabled: false\r\n },\r\n automaticLayout: true,\r\n scrollBeyondLastLine: false\r\n });\r\n this._currentModel = this._editor.getModel();\r\n\r\n this._contentChanged = this._currentModel.onDidChangeContent(this._onEditorChange.bind(this));\r\n this._decorationsChanged = this._editor.onDidChangeModelDecorations(this._onDecorationsChange.bind(this));\r\n\r\n this._diffEditor = monaco.editor.createDiffEditor(document.getElementById(`${this.instanceid}-diff-container`), {\r\n automaticLayout: true\r\n });\r\n this._setDiffModel();\r\n\r\n this._loaded = true;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Update the undo redo buttons as necessary\r\n *\r\n * @protected\r\n */\r\n _onEditorChange(): void {\r\n this._toggleUndoRedo();\r\n }\r\n\r\n /**\r\n * Decorations are added when errors are found in the editor content\r\n *\r\n * @protected\r\n */\r\n _onDecorationsChange(): void {\r\n const model = this._editor.getModel();\r\n if (model === null) {\r\n return;\r\n }\r\n\r\n const owner = model.getModeId();\r\n const markers = monaco.editor.getModelMarkers({ owner });\r\n\r\n this.hasErrors = markers.length > 0;\r\n }\r\n\r\n /**\r\n * Undo the current edit operation\r\n *\r\n * @protected\r\n */\r\n _undo(): void {\r\n if (this._currentModel?.canUndo()) {\r\n this._currentModel.undo();\r\n this._toggleUndoRedo();\r\n }\r\n }\r\n\r\n /**\r\n * Redo the previous edit operation\r\n *\r\n * @protected\r\n */\r\n _redo(): void {\r\n if (this._currentModel?.canRedo()) {\r\n this._currentModel.redo();\r\n this._toggleUndoRedo();\r\n }\r\n }\r\n\r\n /**\r\n * Show/Hide the appropriate editor\r\n *\r\n * @protected\r\n */\r\n _toggleEditor(): void {\r\n this._useDiffEditor = !this._useDiffEditor;\r\n let diffContainer = document.getElementById(`${this.instanceid}-diff-container`);\r\n let container = document.getElementById(`${this.instanceid}-container`);\r\n if (this._useDiffEditor) {\r\n this._setDiffModel();\r\n diffContainer.classList.remove(\"not-visible\");\r\n container.classList.add(\"not-visible\");\r\n } else {\r\n diffContainer.classList.add(\"not-visible\");\r\n container.classList.remove(\"not-visible\");\r\n }\r\n }\r\n\r\n /**\r\n * Toggle the undo and redo buttons\r\n *\r\n * @protected\r\n */\r\n _toggleUndoRedo(): void {\r\n if (this._currentModel?.canUndo()) {\r\n this._enableButton(`${this.instanceid}-undo`);\r\n } else {\r\n this._disableButton(`${this.instanceid}-undo`);\r\n }\r\n\r\n if (this._currentModel?.canRedo()) {\r\n this._enableButton(`${this.instanceid}-redo`);\r\n } else {\r\n this._disableButton(`${this.instanceid}-redo`);\r\n }\r\n\r\n if (this._currentModel?.canUndo() || this._currentModel?.canRedo()) {\r\n this._enableButton(`${this.instanceid}-reset`);\r\n } else {\r\n this._disableButton(`${this.instanceid}-reset`);\r\n }\r\n }\r\n\r\n /**\r\n * Overrides the editors selection with the value passed in\r\n *\r\n * @protected\r\n */\r\n _insertValue(v: string): void {\r\n const editor: any = this._getEditor();\r\n const range = editor.getSelection();\r\n // use pushEditOperations so it will push to the undo stack\r\n this._currentModel.pushEditOperations([],[{\r\n forceMoveMarkers: true,\r\n text: v,\r\n range\r\n }]);\r\n editor.revealRange(range);\r\n }\r\n\r\n /**\r\n * Gets the current active editor for diff editor\r\n *\r\n * @protected\r\n */\r\n _getEditor(): any {\r\n return this._useDiffEditor ? this._diffEditor : this._editor;\r\n }\r\n\r\n /**\r\n * Frees the editor events and memory when the web component is disconnected.\r\n *\r\n * @protected\r\n */\r\n _destroyEditor(): void {\r\n this._searchBtnHandler?.removeEventListener(\"click\", this._search);\r\n this._cancelEditsBtnHandler?.removeEventListener(\"click\", this._reset);\r\n \r\n this._valueObserver?.disconnect();\r\n\r\n this._contentChanged?.dispose();\r\n this._decorationsChanged?.dispose();\r\n\r\n this._editor?.dispose();\r\n\r\n this.original = \"\";\r\n }\r\n\r\n /**\r\n * Resets the stored model to the original value.\r\n *\r\n * @protected\r\n */\r\n _reset(): void {\r\n // update the model\r\n const org = this._getOriginalValue();\r\n this.model = monaco.editor.createModel(JSON.stringify(JSON.parse(org), null, '\\t'), \"json\");\r\n\r\n // update the editor\r\n this._editor.setModel(this.model);\r\n this._setCurrentModel();\r\n this._setDiffModel();\r\n this._saveCurrentModel(this.value);\r\n this._setEditorFocus();\r\n\r\n // update the ui\r\n this._toggleUndoRedo();\r\n }\r\n\r\n /**\r\n * Disables a button.\r\n *\r\n * @param buttonId Id of button to disable\r\n *\r\n * @protected\r\n */\r\n _disableButton(buttonId: string): void {\r\n document.getElementById(buttonId)?.setAttribute(\"disabled\", \"\");\r\n }\r\n\r\n /**\r\n * Enables a button.\r\n *\r\n * @param buttonId Id of button to enable\r\n *\r\n * @protected\r\n */\r\n _enableButton(buttonId: string): void {\r\n document.getElementById(buttonId)?.removeAttribute(\"disabled\");\r\n }\r\n\r\n /**\r\n * Handles click on \"Search\" button.\r\n *\r\n * @protected\r\n */\r\n _search(): void {\r\n const editor: any = this._getEditor();\r\n // force focus should likely just be a workaround\r\n //https://github.com/microsoft/monaco-editor/issues/2355\r\n editor.focus();\r\n editor.trigger('toggleFind', 'actions.find');\r\n }\r\n\r\n /**\r\n * Save the current model state to the store\r\n *\r\n * @protected\r\n */\r\n _saveCurrentModel(id: string): void {\r\n if (this._editor && id && Object.keys(state.models).indexOf(id) > -1) {\r\n state.models[id][this._isData() ? \"dataModel\" : \"propsModel\"] = this.model;\r\n state.models[id].state = this._editor.saveViewState();\r\n }\r\n }\r\n\r\n /**\r\n * Change the editors model\r\n *\r\n * @protected\r\n */\r\n _setEditModel(id): void {\r\n const data = state.models[id];\r\n\r\n this.model = this._isData() ? data.dataModel : data.propsModel;\r\n this.original = this._isData() ? data.dataOriginValue : data.propsOriginValue;\r\n\r\n if (this._editor) {\r\n this._editor.setModel(this.model);\r\n if (data.state) {\r\n this._editor.restoreViewState(data.state);\r\n }\r\n this._setDiffModel();\r\n this._setEditorFocus();\r\n } else {\r\n this._initEditor();\r\n }\r\n\r\n this._setCurrentModel();\r\n\r\n this._toggleUndoRedo();\r\n }\r\n\r\n /**\r\n * Set the current model and event handler\r\n *\r\n * @protected\r\n */\r\n _setCurrentModel(): void {\r\n this._currentModel = this._editor.getModel();\r\n if (this._contentChanged) {\r\n this._contentChanged.dispose();\r\n }\r\n this._contentChanged = this._currentModel.onDidChangeContent(this._onEditorChange.bind(this));\r\n }\r\n\r\n /**\r\n * Set the models for the diff editor\r\n *\r\n * @protected\r\n */\r\n _setDiffModel(): void {\r\n if (this._diffEditor) {\r\n this._diffEditor.setModel({\r\n original: monaco.editor.createModel(JSON.stringify(JSON.parse(this.original), null, '\\t'), \"json\"),\r\n modified: this._editor.getModel()\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Set the models for the diff editor\r\n *\r\n * @protected\r\n */\r\n _setEditorFocus(): void {\r\n if (this._useDiffEditor) {\r\n this._diffEditor.focus();\r\n } else {\r\n this._editor.focus();\r\n }\r\n }\r\n\r\n /**\r\n * When the json-editor is embedded within a solition-item component we will have two tabs\r\n * with the json editor. This provides a way for us to check if that parent tab is active \r\n * while inserting variables.\r\n *\r\n * @protected\r\n */\r\n _isTabActive(): boolean {\r\n const tab = document.getElementById(`${this.instanceid}-tab`) as HTMLCalciteTabElement;\r\n return tab ? tab.active : true;\r\n }\r\n\r\n /**\r\n * When the json-editor is embedded within a solition-item component we will have two tabs\r\n * with the json editor. One for the data section of the item and one for the props section.\r\n * This provides a way to check what one we are working with.\r\n *\r\n * @protected\r\n */\r\n _isData(): boolean {\r\n return this.instanceid === \"data\"\r\n }\r\n\r\n /**\r\n * When the json-editor is embedded within a solition-item component it needs to be aware\r\n * if the spatial reference control has modified the data.\r\n * Edits from the spatial reference control do not add to the undo/redo stack and are not removed on reset as\r\n * they are only controlled via the spatial reference control.\r\n * This allows us to use the true original value or the one that has been modified by the spatial ref control\r\n * when using the diff editor or resetting.\r\n *\r\n * @protected\r\n */\r\n _getOriginalValue(): string{\r\n const m: any = state.models[this.value];\r\n const serviceActive = getProp(state, `spatialReferenceInfo.services.${m?.name}`);\r\n const srEnabled = getProp(state, 'spatialReferenceInfo.enabled');\r\n return (serviceActive && srEnabled && !this._isData()) ? m.propsDiffOriginValue : this.original;\r\n }\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n.inputBottomSeparation {\r\n margin: 0 0 1.5rem 0;\r\n}\r\n\r\n.icon-inline--on-left, .esriRtl .icon-inline--on-right {\r\n margin-right: 6px;\r\n margin-left: 0;\r\n}\r\n\r\n.icon-inline--on-left, .icon-inline--on-right {\r\n display: inline;\r\n margin-top: -.15em;\r\n}\r\n\r\n.font-size--3 {\r\n font-size: 0.8125rem;\r\n line-height: 1.5\r\n}\r\n\r\n.scale-down {\r\n object-fit: scale-down;\r\n}\r\n\r\n.btn-link {\r\n -webkit-appearance: none;\r\n cursor: pointer;\r\n padding: 0;\r\n border: none;\r\n color: #6e6e6e;\r\n background: transparent;\r\n}\r\n\r\n.btn-link:hover {\r\n text-decoration: underline;\r\n}\r\n\r\n.inline-block {\r\n display: inline-block;\r\n}\r\n\r\n.flex {\r\n display: flex;\r\n}\r\n\r\n.img-container {\r\n display: inline;\r\n flex-grow: 0;\r\n}\r\n\r\n.summary-count-container {\r\n display: inline;\r\n flex-grow: 1;\r\n margin-left: 12px;\r\n}\r\n\r\n.parent-container {\r\n max-width: 100%;\r\n margin: 1rem;\r\n}\r\n\r\n.display-none {\r\n display: none;\r\n}\r\n\r\nlabel {\r\n position: relative;\r\n display: block;\r\n margin: 0 0 1.5rem 0;\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, h, Host, Listen, Prop, VNode } from '@stencil/core';\r\nimport '@esri/calcite-components';\r\nimport state from '../../utils/editStore';\r\nimport { getProp } from '../../utils/common';\r\n\r\nexport interface IItemDetails {\r\n thumbnail: string;\r\n title: string;\r\n snippet: string;\r\n description: string;\r\n tags: string[];\r\n accessInformation?: string;\r\n licenseInfo?: string;\r\n itemId: string\r\n}\r\n\r\n@Component({\r\n tag: 'solution-item-details',\r\n styleUrl: 'solution-item-details.css',\r\n shadow: false,\r\n})\r\nexport class SolutionItemDetails {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionItemDetailsElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: IItemDetails = {\r\n thumbnail: null,\r\n title: \"\",\r\n snippet: \"\",\r\n description: \"\",\r\n tags: [],\r\n accessInformation: \"\",\r\n licenseInfo: \"\",\r\n itemId: \"\"\r\n };\r\n\r\n @Prop({ mutable: true, reflect: true }) type = \"\";\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n render(): VNode {\r\n this._validateValue();\r\n return (\r\n <Host>\r\n <div class=\"parent-container\">\r\n <div class=\"inputBottomSeparation\">\r\n <calcite-input id=\"item-title\" value={this.value.title} />\r\n </div>\r\n\r\n <div class=\"inputBottomSeparation\">\r\n\r\n <input accept=\".jpg,.gif,.png,image/jpg,image/gif,image/png\" class=\"display-none\" onChange={(event) => (this._updateThumbnail(event))} ref={(el) => (this.browseForThumbnail = el)} type=\"file\" />\r\n\r\n <button class=\"font-size--3 btn-link inline-block\" onClick={() => this._getThumbnail()}>\r\n <svg class=\"icon-inline icon-inline--on-left\" height=\"16\" viewBox=\"0 0 16 16\" width=\"16\">\r\n <path d=\"M14.792 2.666l-1.414-1.413a.965.965 0 0 0-1.385-.03l-1.444 1.444-8.763 8.72L.03 15.481a.371.371 0 0 0 .488.488l4.096-1.756 8.763-8.72-.001-.001.002.002 1.443-1.444a.965.965 0 0 0-.03-1.385zM1.569 14.431l.554-1.293.74.739zm2.338-.924l-1.414-1.414 7.963-7.92 1.414 1.415zm8.67-8.626l-1.413-1.414 1.29-1.29a.306.306 0 0 1 .433 0l.981.98a.306.306 0 0 1 0 .433z\" />\r\n </svg> {this.translations.editThumbnail}\r\n </button>\r\n\r\n <div class=\"flex\">\r\n <div class=\"img-container\">\r\n <img class=\"scale-down\" height=\"133\" ref={(el) => (this.thumbnail = el)} width=\"200\" />\r\n </div>\r\n <div class=\"snippet-count-container\">\r\n <calcite-input id=\"item-snippet\" maxlength={250} type=\"textarea\" value={this.value.snippet} />\r\n <label class=\"font-size--3\" id=\"item-snippet-count\" ref={(el) => (this.itemSnippetCount = el)} />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <calcite-label>{this.translations.description}\r\n <label id=\"item-description-label\">\r\n <calcite-input id=\"item-description\" type=\"textarea\" value={this.value.description} />\r\n </label>\r\n </calcite-label>\r\n\r\n <calcite-label>{this.translations.tags}\r\n <label id=\"item-tags-label\">\r\n <calcite-input id=\"item-tags\" value={(this.value.tags && Array.isArray(this.value.tags) ? this.value.tags : [this.value.tags]).join(\",\")} />\r\n </label>\r\n </calcite-label>\r\n\r\n {this.type !== \"Group\" ? <calcite-label>{this.translations.credits}\r\n <label id=\"item-credits-label\">\r\n <calcite-input id=\"item-credits\" value={this.value.accessInformation} />\r\n </label>\r\n </calcite-label> : null}\r\n\r\n {this.type !== \"Group\" ? <calcite-label>\r\n <label id=\"item-terms-label\">{this.translations.termsOfUse}\r\n <calcite-input id=\"item-terms\" type=\"textarea\" value={this.value.licenseInfo} />\r\n </label>\r\n </calcite-label> : null}\r\n \r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Variables (private)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Handle to the element for browsing for a file.\r\n */\r\n private browseForThumbnail: HTMLInputElement;\r\n\r\n /**\r\n * Handle to the snippet character-count feedback.\r\n */\r\n private itemSnippetCount: HTMLLabelElement;\r\n\r\n /**\r\n * Handle to the thumbnail image display.\r\n */\r\n private thumbnail: HTMLImageElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Updates the component's value with changes to the input fields.\r\n */\r\n @Listen(\"calciteInputInput\")\r\n inputReceivedHandler(event: any): void {\r\n switch (event.target.id) {\r\n case \"item-title\": \r\n this.value.title = event.target.value;\r\n this._updateStore(\"title\", event.target.value);\r\n break;\r\n case \"item-snippet\":\r\n this.value.snippet = event.target.value;\r\n this._updateLengthLabel(this.value.snippet);\r\n this._updateStore(\"snippet\", event.target.value);\r\n break;\r\n case \"item-description\":\r\n this.value.description = event.target.value;\r\n this._updateStore(\"description\", event.target.value);\r\n break;\r\n case \"item-tags\":\r\n this.value.tags = event.target.value;\r\n this._updateStore(\"tags\", event.target.value);\r\n break;\r\n case \"item-credits\":\r\n this.value.accessInformation = event.target.value;\r\n this._updateStore(\"accessInformation\", event.target.value);\r\n break;\r\n case \"item-terms\":\r\n this.value.licenseInfo = event.target.value;\r\n this._updateStore(\"licenseInfo\", event.target.value);\r\n break;\r\n }\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Opens image file browse dialog.\r\n *\r\n */\r\n private _getThumbnail(): void {\r\n this.browseForThumbnail.click();\r\n }\r\n\r\n /**\r\n * Updates the length label to reflect the current number of characters\r\n * relative to the max number of characters supported.\r\n *\r\n */\r\n private _updateLengthLabel(phrase: string): void {\r\n this.itemSnippetCount.innerText =\r\n this.translations.snippetCountPattern.replace(\"{{n}}\", phrase.length.toString());\r\n }\r\n\r\n /**\r\n * Gets and displays image result from browse.\r\n *\r\n */\r\n private _updateThumbnail(\r\n event: any\r\n ): void {\r\n const files = event.currentTarget.files;\r\n if (files && files[0]) {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n this.thumbnail.src = reader.result as string;\r\n }\r\n reader.readAsDataURL(files[0]);\r\n }\r\n }\r\n\r\n /**\r\n * Use the value from the store if it exists\r\n *\r\n */\r\n private _validateValue(): void {\r\n const m: any = getProp(state, `models.${this.value.itemId}`);\r\n if (m) {\r\n Object.keys(this.value).forEach(k => {\r\n if (m.updateItemValues.hasOwnProperty(k)) {\r\n this.value[k] = m.updateItemValues[k];\r\n } else if (m.originalItemValues.hasOwnProperty(k)) {\r\n this.value[k] = m.originalItemValues[k];\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Add or remove the value from the store\r\n *\r\n */\r\n private _updateStore(\r\n prop: string,\r\n v: string\r\n ): void {\r\n const model: any = getProp(state, `models.${this.value.itemId}`);\r\n if (model.itemOriginValue) {\r\n const item = JSON.parse(model.itemOriginValue);\r\n if (item.hasOwnProperty(prop)) {\r\n // store when it matches\r\n if (item[prop] !== v) {\r\n if (!model.originalItemValues.hasOwnProperty(prop)) {\r\n model.originalItemValues[prop] = item[prop];\r\n }\r\n model.updateItemValues[prop] = v;\r\n } else {\r\n // remove when it doesn't\r\n delete(model.updateItemValues[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.container-border {\r\n padding: 1rem;\r\n}\r\n\r\n.icon-text {\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n}","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, h, Host, Prop, VNode } from '@stencil/core';\r\nimport state from '../../utils/editStore';\r\n\r\nexport interface IItemShare {\r\n id: string;\r\n title: string;\r\n isShared: boolean;\r\n shareItem: boolean;\r\n type: string;\r\n typeKeywords: string[];\r\n}\r\n\r\n@Component({\r\n tag: 'solution-item-sharing',\r\n styleUrl: 'solution-item-sharing.css',\r\n shadow: true,\r\n})\r\nexport class SolutionItemSharing {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionItemSharingElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: IItemShare[] = [];\r\n\r\n /**\r\n * Contains the public id for the group these items will be shared or un-shared with.\r\n */\r\n @Prop({ mutable: true, reflect: true }) groupId: string;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"container-border\">\r\n {this.renderItems(this.value)}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n renderItems(\r\n objs: IItemShare[]\r\n ): VNode[] {\r\n return objs.length > 0 ? objs.map(item => {\r\n return (\r\n <calcite-label layout=\"inline\">\r\n <calcite-switch\r\n id={item.id}\r\n name=\"setting\"\r\n onCalciteSwitchChange={(event) => this._updateItem(event)}\r\n scale=\"m\"\r\n switched={item.shareItem}\r\n value=\"enabled\"\r\n />\r\n <solution-item-icon type={item.type} typeKeywords={item.typeKeywords} />\r\n <span class=\"icon-text\" title={item.title}>{item.title}</span>\r\n </calcite-label>\r\n );\r\n }) : null;\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Variables (private)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Update the items share prop based on the switch state\r\n *\r\n * @param event onCalciteSwitchChange event\r\n */\r\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\n _updateItem(event): void {\r\n const id: string = event.target.id;\r\n this.value = this.value.map(item => {\r\n if (item.id === id) {\r\n // update the item\r\n item.shareItem = event.target.switched;\r\n // update the store\r\n if (state?.models[id]) {\r\n let shareInfo = undefined;\r\n if (item.isShared && !event.target.switched) {\r\n shareInfo = { type: \"unshare\", groupId: this.groupId };\r\n } else if (!item.isShared && event.target.switched) {\r\n shareInfo = { type: \"share\", groupId: this.groupId };\r\n }\r\n state.models[id].shareInfo = shareInfo;\r\n }\r\n }\r\n return item;\r\n });\r\n }\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.container-border {\r\n overflow-y: auto;\r\n}\r\n\r\n.org-var-header {\r\n margin: 0rem 0rem 1rem 0rem;\r\n}","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Event, EventEmitter, Host, h, Prop, VNode } from '@stencil/core';\r\n\r\nexport interface IOrganizationVariableItem {\r\n id: string;\r\n title: string;\r\n value: string;\r\n}\r\n\r\n@Component({\r\n tag: 'solution-organization-variables',\r\n styleUrl: 'solution-organization-variables.css',\r\n shadow: true,\r\n})\r\n\r\nexport class SolutionOrganizationVariables {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionOrganizationVariablesElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: IOrganizationVariableItem[] = [];\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div>\r\n <h4 class=\"org-var-header\">{this.translations.orgVariables}</h4>\r\n </div>\r\n <div class=\"container-border\">\r\n <calcite-label id=\"variable-label\">\r\n {this.renderHierarchy(this.value)}\r\n </calcite-label>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n renderHierarchy(\r\n objs: IOrganizationVariableItem[]\r\n ): VNode[] {\r\n const hierarchy = objs.map(obj => {\r\n return (\r\n <calcite-tree-item onClick={() => this._treeItemSelected(obj.id, obj.value)}>\r\n {obj.title}\r\n </calcite-tree-item>\r\n );\r\n });\r\n return hierarchy;\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Variables (private)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Event() organizationVariableSelected: EventEmitter;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Publishes the `organizationVariableSelected` event containing `itemId`, the id of the selected variable and the value of the variable.\r\n *\r\n * @param itemId Item id as reported by click event\r\n * @param value Variable id as reported by click event\r\n */\r\n private _treeItemSelected(\r\n itemId: string,\r\n value: string\r\n ): void {\r\n this.organizationVariableSelected.emit({\r\n itemId,\r\n value\r\n });\r\n }\r\n\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.resource-item {\r\n padding: 1rem;\r\n display: inline-block !important;\r\n}\r\n\r\n.resource-button {\r\n margin-right: 1rem;\r\n}\r\n\r\n.resource-button[dir=\"rtl\"] {\r\n margin-left: 1rem;\r\n}\r\n\r\n.display-none {\r\n display: none;\r\n}\r\n\r\n.resource-progress {\r\n padding-top: 1rem;\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Host, h, Prop, State, Watch } from '@stencil/core';\r\n\r\nexport interface IResourceItem {\r\n name: string,\r\n url: string\r\n}\r\n\r\n@Component({\r\n tag: 'solution-resource-item',\r\n styleUrl: 'solution-resource-item.css',\r\n shadow: true\r\n})\r\nexport class SolutionResourceItem {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionResourceItemElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: IResourceItem = {\r\n name: \"\",\r\n url: \"\"\r\n };\r\n\r\n @State() fileName: string;\r\n\r\n @Watch('value')\r\n valueWatchHandler(v: IResourceItem, oldV: IResourceItem): void {\r\n this.fileName = v.name !== oldV.name ? v.name : this.fileName;\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n componentWillLoad(): void {\r\n this.fileName = this.value.name;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"resource-item\">\r\n\r\n <input\r\n accept=\".zip\"\r\n class=\"display-none\"\r\n onChange={(event) => (this._updateFile(event))}\r\n ref={(el) => (this.browseForFile = el)}\r\n type=\"file\"\r\n />\r\n\r\n <a class=\"display-none\" download href={this.value.url} ref={(el) => (this.downloadFile = el)} />\r\n\r\n <calcite-label>\r\n {this.fileName}\r\n </calcite-label>\r\n\r\n {/* <calcite-progress\r\n class=\"display-none resource-progress\"\r\n ref={(el) => (this.uploadProgress = el)}\r\n type=\"indeterminate\"\r\n ></calcite-progress> */}\r\n\r\n <calcite-button\r\n appearance=\"solid\"\r\n class=\"resource-button\"\r\n color=\"blue\"\r\n icon-start=\"download\"\r\n onClick={() => this._downloadItem()}\r\n scale=\"m\"\r\n >\r\n {this.translations.download}\r\n </calcite-button>\r\n\r\n <calcite-button\r\n appearance=\"solid\"\r\n class=\"resource-button\"\r\n color=\"blue\"\r\n icon-start=\"upload\"\r\n onClick={() => this._updateItem()}\r\n scale=\"m\"\r\n >\r\n {this.translations.update}\r\n </calcite-button>\r\n\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Variables (private)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Handle to the element for browsing for a file.\r\n */\r\n private browseForFile: HTMLInputElement;\r\n\r\n /**\r\n * Handle to the element for downloading a file.\r\n */\r\n private downloadFile: HTMLAnchorElement;\r\n\r\n /**\r\n * Handle to the progress element to show during upload/download\r\n */\r\n //private uploadProgress: HTMLCalciteProgressElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Download file from url.\r\n *\r\n */\r\n _downloadItem(): void {\r\n this.downloadFile.click();\r\n }\r\n\r\n /**\r\n * Opens file browse dialog.\r\n *\r\n */\r\n _updateItem(): void {\r\n this.browseForFile.click();\r\n }\r\n\r\n /**\r\n * Gets and displays image result from browse.\r\n *\r\n */\r\n private _updateFile(\r\n event: any\r\n ): void {\r\n // progress goes so fast this may not be necessary\r\n //this.uploadProgress.classList.remove('display-none');\r\n const files = event.currentTarget.files;\r\n if (files && files[0]) {\r\n const name: string = files[0].name;\r\n const reader = new FileReader();\r\n reader.onloadend = (r) => {\r\n this.value = {\r\n name,\r\n url: typeof(r.target.result) === \"string\" ? r.target.result : \"\"\r\n };\r\n //this.uploadProgress.classList.add('display-none');\r\n }\r\n reader.readAsDataURL(files[0]);\r\n } else {\r\n //this.uploadProgress.classList.add('display-none');\r\n }\r\n }\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n:host {\r\n display: flexbox;\r\n}\r\n\r\n.solution-data-container {\r\n height: 100%;\r\n max-width: 100%;\r\n position: relative;\r\n}\r\n\r\n.solution-data-child-container {\r\n height: 100%;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n overflow: auto;\r\n}\r\n\r\n.solution-data-child-container-collapsed {\r\n height: 100%;\r\n width: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n overflow: auto;\r\n}\r\n\r\n.inputBottomSeparation {\r\n margin: 0 0 1.5rem 0;\r\n}\r\n\r\n.json-editor {\r\n width: -webkit-fill-available;\r\n margin: 1rem;\r\n}\r\n\r\n.collapse-btn {\r\n padding: 1rem 1rem 0 1rem;\r\n}\r\n\r\n.org-vars {\r\n padding: 1rem 1rem 0 1rem;\r\n max-height: 45%;\r\n}\r\n\r\n.sol-vars {\r\n padding: 0 1rem 0 1rem;\r\n min-height: 45%;\r\n}\r\n\r\n.padding-1 {\r\n padding: 1rem;\r\n}\r\n\r\n.light {\r\n background-color: #F4F4F4;\r\n}\r\n\r\n.hide {\r\n display: none;\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { VNode } from '@esri/calcite-components/dist/types/stencil-public-runtime';\r\nimport { Component, Element, Host, h, Prop } from '@stencil/core';\r\nimport { IOrganizationVariableItem } from '../solution-organization-variables/solution-organization-variables';\r\nimport { IVariableItem } from '../solution-variables/solution-variables';\r\nimport { IResourceItem } from '../solution-resource-item/solution-resource-item';\r\n\r\nexport interface ITemplateData {\r\n resourceItem?: IResourceItem,\r\n value?: any\r\n}\r\n\r\n@Component({\r\n tag: 'solution-template-data',\r\n styleUrl: 'solution-template-data.css',\r\n shadow: false\r\n})\r\n\r\nexport class SolutionTemplateData {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionTemplateDataElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n * \r\n * When working with a resource item this should contain an IResourceItem\r\n * \r\n * When working with a json type item this should contain the data and vars\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: ITemplateData = {};\r\n\r\n /**\r\n * Should be set to true for items that store their data as a resource\r\n * Will allow for upload and download of the resource\r\n */\r\n @Prop({ mutable: true }) isResource = false;\r\n\r\n /**\r\n * This needs to be unique for props vs data of an item\r\n */\r\n @Prop({ mutable: true, reflect: true }) instanceid = \"\";\r\n\r\n /**\r\n * A templates itemId.\r\n * This is used to get the correct model from a store in the json-editor\r\n */\r\n @Prop({ mutable: true, reflect: true }) itemid = \"\";\r\n\r\n /**\r\n * Contains the solution based variables\r\n */\r\n @Prop({mutable: true, reflect: true}) solutionVariables: IVariableItem[] = [];\r\n\r\n /**\r\n * Contains the organization based variables\r\n */\r\n @Prop({mutable: true, reflect: true}) organizationVariables: IOrganizationVariableItem[] = [];\r\n\r\n /**\r\n * Used to show/hide the variable containers\r\n */\r\n @Prop({mutable: true, reflect: true}) varsOpen = true;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div class=\"solution-data-container\">\r\n {this.renderTemplateData(this.value)}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n renderTemplateData(data: ITemplateData): VNode {\r\n return this.isResource ? this._resourceData(data) : this._jsonData();\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n _jsonData(): any {\r\n return <calcite-shell class=\"light var-container\" dir=\"ltr\">\r\n <calcite-panel class=\"json-editor\">\r\n <div class=\"solution-data-child-container calcite-match-height\">\r\n <json-editor\r\n instanceid={this.instanceid}\r\n translations={this.translations}\r\n value={this.itemid}\r\n />\r\n </div>\r\n </calcite-panel>\r\n\r\n <calcite-shell-panel height-scale=\"l\" position=\"end\" slot=\"contextual-panel\" width-scale=\"xs\">\r\n <div class={this.varsOpen ? \"solution-data-child-container\" : \"solution-data-child-container-collapsed\"}>\r\n <calcite-button\r\n appearance=\"transparent\"\r\n class=\"collapse-btn\"\r\n icon-start={this.varsOpen ? \"chevrons-right\" : \"chevrons-left\"}\r\n id=\"collapse-vars\"\r\n onClick={() => this._toggleVars()}\r\n scale=\"s\"\r\n title={this.translations.cancelEdits}\r\n />\r\n <div class={this.varsOpen ? \"org-vars\" : \"org-vars hide\"} id=\"orgVars\">\r\n <solution-organization-variables\r\n translations={this.translations}\r\n value={this.organizationVariables}\r\n />\r\n </div>\r\n <div class={this.varsOpen ? \"sol-vars\" : \"sol-vars hide\"} id=\"solVars\">\r\n <solution-variables\r\n translations={this.translations}\r\n value={this.solutionVariables}\r\n />\r\n </div>\r\n </div>\r\n </calcite-shell-panel>\r\n </calcite-shell>;\r\n }\r\n\r\n _resourceData(templateData: ITemplateData): any {\r\n return <solution-resource-item translations={this.translations} value={templateData.resourceItem} />;\r\n }\r\n\r\n /**\r\n * Toggle varsOpen prop to show/hide variable containers\r\n */\r\n _toggleVars(): void {\r\n this.varsOpen = !this.varsOpen;\r\n }\r\n}\r\n","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.container-border {\r\n overflow-y: auto;\r\n}\r\n\r\n.org-var-header {\r\n margin: 1rem 0rem 1rem 0rem;\r\n}\r\n\r\n.icon-text {\r\n overflow: hidden;\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n}","/** @license\r\n * Copyright 2021 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nimport { Component, Element, Event, EventEmitter, Host, h, Prop, VNode } from '@stencil/core';\r\n\r\nexport interface IVariableItem {\r\n id: string;\r\n title: string;\r\n type?: string;\r\n value: string;\r\n dependencies?: IVariableItem[];\r\n}\r\n\r\n@Component({\r\n tag: 'solution-variables',\r\n styleUrl: 'solution-variables.css',\r\n shadow: true,\r\n})\r\nexport class SolutionVariables {\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Host element access\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Element() el: HTMLSolutionVariablesElement;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Properties (public)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Contains the translations for this component.\r\n */\r\n @Prop({ mutable: true }) translations: any = {};\r\n\r\n /**\r\n * Contains the public value for this component.\r\n */\r\n @Prop({ mutable: true, reflect: true }) value: IVariableItem[] = [];\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Lifecycle\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <div>\r\n <h4 class=\"org-var-header\">{this.translations.solVariables}</h4>\r\n </div>\r\n <div class=\"container-border\">\r\n <calcite-label id=\"variable-label\">\r\n {this.renderHierarchy(this.value)}\r\n </calcite-label>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n renderHierarchy(\r\n objs: IVariableItem[]\r\n ): VNode[] {\r\n const hierarchy = objs.map(obj => {\r\n return obj.dependencies && obj.dependencies.length > 0 ? (\r\n <calcite-tree-item>\r\n <solution-item-icon type={obj.type} />\r\n <span class=\"icon-text\" title={obj.title}>{obj.title}</span>\r\n <calcite-tree slot=\"children\">\r\n {this.renderHierarchy(obj.dependencies)}\r\n </calcite-tree>\r\n </calcite-tree-item>\r\n ) : (\r\n <calcite-tree-item onClick={() => this._treeItemSelected(obj.id, obj.value)}>\r\n {obj.title}\r\n </calcite-tree-item>\r\n );\r\n });\r\n return hierarchy;\r\n }\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Variables (private)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Event Listeners\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Events\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n @Event() solutionVariableSelected: EventEmitter;\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Public Methods (async)\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n //--------------------------------------------------------------------------\r\n //\r\n // Private Methods\r\n //\r\n //--------------------------------------------------------------------------\r\n\r\n /**\r\n * Publishes the `solutionVariableSelected` event containing `itemId`, the id of the selected variable and the value of the variable.\r\n *\r\n * @param id Item id as reported by click event\r\n * @param value Variable id as reported by click event\r\n */\r\n private _treeItemSelected(\r\n id: string,\r\n value: string\r\n ): void {\r\n this.solutionVariableSelected.emit({\r\n itemId: id,\r\n value\r\n });\r\n }\r\n\r\n}\r\n"],"version":3}
|