@esri/solutions-components 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/feature-comments/resources.json +3 -0
- package/dist/assets/t9n/feature-comments/resources_en.json +3 -0
- package/dist/assets/t9n/feature-form-flow-item/resources.json +3 -0
- package/dist/assets/t9n/feature-form-flow-item/resources_en.json +3 -0
- package/dist/assets/t9n/layer-table/resources.json +2 -1
- package/dist/assets/t9n/layer-table/resources_en.json +2 -1
- package/dist/assets/t9n/list-flow-item/resources.json +3 -0
- package/dist/assets/t9n/list-flow-item/resources_en.json +3 -0
- package/dist/assets/t9n/location-flow-item/resources.json +3 -0
- package/dist/assets/t9n/location-flow-item/resources_en.json +3 -0
- package/dist/assets/t9n/share-item/resources.json +3 -0
- package/dist/assets/t9n/share-item/resources_en.json +3 -0
- package/dist/cjs/{list-item.cjs.entry.js → arcgis-login.cjs.entry.js} +4 -19
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +13 -9
- package/dist/cjs/calcite-action_2.cjs.entry.js +61 -392
- package/dist/cjs/calcite-alert_3.cjs.entry.js +21 -3
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +32 -8
- package/dist/cjs/calcite-popover.cjs.entry.js +418 -0
- package/dist/cjs/card-manager_3.cjs.entry.js +154 -18
- package/dist/cjs/crowdsource-manager.cjs.entry.js +24 -2
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +45 -6
- package/dist/cjs/{downloadUtils-e3e595e9.js → downloadUtils-9c4fde54.js} +2 -2
- package/dist/cjs/feature-comments.cjs.entry.js +60 -0
- package/dist/cjs/feature-form-flow-item.cjs.entry.js +60 -0
- package/dist/cjs/features-flow-item.cjs.entry.js +60 -0
- package/dist/cjs/{index.es-047537b5.js → index.es-d208a6d6.js} +2 -2
- package/dist/cjs/list-flow-item.cjs.entry.js +60 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/location-flow-item.cjs.entry.js +60 -0
- package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
- package/dist/cjs/{mapViewUtils-f7bbc35b.js → mapViewUtils-bab83c90.js} +21 -0
- package/dist/cjs/public-notification.cjs.entry.js +2 -2
- package/dist/cjs/refine-results-flow-item.cjs.entry.js +60 -0
- package/dist/cjs/share-item.cjs.entry.js +60 -0
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +8 -1
- package/dist/collection/components/{list-item/list-item.js → arcgis-login/arcgis-login.js} +4 -19
- package/dist/collection/components/arcgis-login/test/arcgis-login.e2e.js +29 -0
- package/dist/collection/components/arcgis-login/test/arcgis-login.spec.js +37 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +118 -2
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +294 -6
- package/dist/collection/components/feature-comments/feature-comments.css +19 -0
- package/dist/collection/components/feature-comments/feature-comments.js +74 -0
- package/dist/collection/components/feature-comments/test/feature-comments.e2e.js +29 -0
- package/dist/collection/components/feature-comments/test/feature-comments.spec.js +37 -0
- package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.css +19 -0
- package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.js +74 -0
- package/dist/collection/components/feature-form-flow-item/test/feature-form-flow-item.e2e.js +29 -0
- package/dist/collection/components/feature-form-flow-item/test/feature-form-flow-item.spec.js +37 -0
- package/dist/collection/components/features-flow-item/features-flow-item.css +19 -0
- package/dist/collection/components/features-flow-item/features-flow-item.js +74 -0
- package/dist/collection/components/features-flow-item/test/features-flow-item.e2e.js +29 -0
- package/dist/collection/components/features-flow-item/test/features-flow-item.spec.js +37 -0
- package/dist/collection/components/info-card/info-card.js +21 -2
- package/dist/collection/components/layer-table/layer-table.js +199 -10
- package/dist/collection/components/list-flow-item/list-flow-item.css +19 -0
- package/dist/collection/components/list-flow-item/list-flow-item.js +74 -0
- package/dist/collection/components/list-flow-item/test/list-flow-item.e2e.js +29 -0
- package/dist/collection/components/list-flow-item/test/list-flow-item.spec.js +37 -0
- package/dist/collection/components/location-flow-item/location-flow-item.css +19 -0
- package/dist/collection/components/location-flow-item/location-flow-item.js +74 -0
- package/dist/collection/components/location-flow-item/test/location-flow-item.e2e.js +29 -0
- package/dist/collection/components/location-flow-item/test/location-flow-item.spec.js +37 -0
- package/dist/collection/components/map-card/map-card.js +38 -7
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +49 -7
- package/dist/collection/components/map-picker/map-picker.js +37 -9
- package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.css +19 -0
- package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.js +74 -0
- package/dist/collection/components/refine-results-flow-item/test/refine-results-flow-item.e2e.js +29 -0
- package/dist/collection/components/refine-results-flow-item/test/refine-results-flow-item.spec.js +37 -0
- package/dist/collection/components/share-item/share-item.css +19 -0
- package/dist/collection/components/share-item/share-item.js +74 -0
- package/dist/collection/components/share-item/test/share-item.e2e.js +29 -0
- package/dist/collection/components/share-item/test/share-item.spec.js +37 -0
- package/dist/collection/demos/crowdsource-reporter.html +56 -15
- package/dist/collection/utils/interfaces.ts +5 -0
- package/dist/collection/utils/queryUtils.js +20 -0
- package/dist/collection/utils/queryUtils.ts +26 -0
- package/dist/components/arcgis-login.d.ts +11 -0
- package/dist/components/arcgis-login.js +75 -0
- package/dist/components/calcite-list-item.js +1 -1
- package/dist/components/card-manager2.js +7 -1
- package/dist/components/crowdsource-manager.js +32 -3
- package/dist/components/crowdsource-reporter.js +61 -7
- package/dist/components/feature-comments.d.ts +11 -0
- package/dist/components/feature-comments.js +75 -0
- package/dist/components/feature-form-flow-item.d.ts +11 -0
- package/dist/components/feature-form-flow-item.js +75 -0
- package/dist/components/features-flow-item.d.ts +11 -0
- package/dist/components/features-flow-item.js +75 -0
- package/dist/components/info-card2.js +28 -3
- package/dist/components/layer-table2.js +138 -10
- package/dist/components/list-flow-item.d.ts +11 -0
- package/dist/components/list-flow-item.js +75 -0
- package/dist/components/list-item.js +425 -55
- package/dist/components/location-flow-item.d.ts +11 -0
- package/dist/components/location-flow-item.js +75 -0
- package/dist/components/map-card2.js +22 -8
- package/dist/components/map-layer-picker2.js +32 -7
- package/dist/components/map-picker2.js +16 -11
- package/dist/components/map-select-tools2.js +1 -1
- package/dist/components/public-notification.js +1 -1
- package/dist/components/queryUtils.js +21 -1
- package/dist/components/refine-results-flow-item.d.ts +11 -0
- package/dist/components/refine-results-flow-item.js +75 -0
- package/dist/components/refine-selection2.js +2 -2
- package/dist/components/{list-item.d.ts → share-item.d.ts} +4 -4
- package/dist/components/share-item.js +75 -0
- package/dist/esm/{list-item.entry.js → arcgis-login.entry.js} +4 -19
- package/dist/esm/basemap-gallery_7.entry.js +13 -9
- package/dist/esm/calcite-action_2.entry.js +63 -394
- package/dist/esm/calcite-alert_3.entry.js +21 -3
- package/dist/esm/calcite-combobox_6.entry.js +32 -8
- package/dist/esm/calcite-popover.entry.js +414 -0
- package/dist/esm/card-manager_3.entry.js +154 -18
- package/dist/esm/crowdsource-manager.entry.js +24 -2
- package/dist/esm/crowdsource-reporter.entry.js +45 -6
- package/dist/esm/{downloadUtils-8fbd1347.js → downloadUtils-b84a6f55.js} +2 -2
- package/dist/esm/feature-comments.entry.js +56 -0
- package/dist/esm/feature-form-flow-item.entry.js +56 -0
- package/dist/esm/features-flow-item.entry.js +56 -0
- package/dist/esm/{index.es-b6705ce7.js → index.es-0d4698c7.js} +2 -2
- package/dist/esm/list-flow-item.entry.js +56 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/location-flow-item.entry.js +56 -0
- package/dist/esm/map-select-tools_3.entry.js +2 -2
- package/dist/esm/{mapViewUtils-1e2befd7.js → mapViewUtils-88f363b6.js} +21 -1
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/refine-results-flow-item.entry.js +56 -0
- package/dist/esm/share-item.entry.js +56 -0
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-reporter.html +56 -15
- package/dist/solutions-components/{p-072680a5.js → p-214d41c3.js} +2 -2
- package/dist/solutions-components/p-28657abb.entry.js +11 -0
- package/dist/solutions-components/p-31b66bc3.entry.js +6 -0
- package/dist/solutions-components/{p-0123207d.entry.js → p-34737944.entry.js} +1 -1
- package/dist/solutions-components/{p-13d0424a.entry.js → p-3ced939f.entry.js} +1 -1
- package/dist/solutions-components/p-3dfbf45e.entry.js +6 -0
- package/dist/solutions-components/{p-092fd5d9.js → p-3ee78186.js} +1 -1
- package/dist/solutions-components/{p-7f793144.entry.js → p-4327c361.entry.js} +1 -1
- package/dist/solutions-components/p-455f4ed8.entry.js +17 -0
- package/dist/solutions-components/p-478fc7cb.entry.js +6 -0
- package/dist/solutions-components/p-4aafb627.js +36 -0
- package/dist/solutions-components/p-58562dda.entry.js +6 -0
- package/dist/solutions-components/{p-f367db61.entry.js → p-81503752.entry.js} +1 -1
- package/dist/solutions-components/{p-c90671e1.entry.js → p-9d54d7a0.entry.js} +4 -4
- package/dist/solutions-components/p-a5d70d3a.entry.js +6 -0
- package/dist/solutions-components/p-bd62df52.entry.js +6 -0
- package/dist/solutions-components/{p-ca780ab8.entry.js → p-d6f51bea.entry.js} +2 -2
- package/dist/solutions-components/p-e6371690.entry.js +6 -0
- package/dist/solutions-components/p-e7aad23d.entry.js +6 -0
- package/dist/solutions-components/p-ed95f634.entry.js +6 -0
- package/dist/solutions-components/p-fd08afb5.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +5 -0
- package/dist/solutions-components/utils/queryUtils.ts +26 -0
- package/dist/types/components/{list-item/list-item.d.ts → arcgis-login/arcgis-login.d.ts} +2 -9
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +36 -0
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +73 -0
- package/dist/types/components/feature-comments/feature-comments.d.ts +19 -0
- package/dist/types/components/feature-form-flow-item/feature-form-flow-item.d.ts +19 -0
- package/dist/types/components/features-flow-item/features-flow-item.d.ts +19 -0
- package/dist/types/components/info-card/info-card.d.ts +8 -0
- package/dist/types/components/layer-table/layer-table.d.ts +77 -2
- package/dist/types/components/list-flow-item/list-flow-item.d.ts +19 -0
- package/dist/types/components/location-flow-item/location-flow-item.d.ts +19 -0
- package/dist/types/components/map-card/map-card.d.ts +12 -0
- package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +15 -2
- package/dist/types/components/map-picker/map-picker.d.ts +1 -4
- package/dist/types/components/refine-results-flow-item/refine-results-flow-item.d.ts +19 -0
- package/dist/types/components/share-item/share-item.d.ts +19 -0
- package/dist/types/components.d.ts +301 -9
- package/dist/types/preact.d.ts +15 -1
- package/dist/types/utils/interfaces.d.ts +4 -0
- package/dist/types/utils/queryUtils.d.ts +9 -0
- package/package.json +1 -1
- package/dist/assets/t9n/config-buffer-tools/resources.json +0 -12
- package/dist/assets/t9n/config-buffer-tools/resources_en.json +0 -12
- package/dist/assets/t9n/config-draw-tools/resources.json +0 -10
- package/dist/assets/t9n/config-draw-tools/resources_en.json +0 -10
- package/dist/assets/t9n/config-layer-picker/resources.json +0 -3
- package/dist/assets/t9n/config-layer-picker/resources_en.json +0 -3
- package/dist/assets/t9n/config-pdf-download/resources.json +0 -6
- package/dist/assets/t9n/config-pdf-download/resources_en.json +0 -6
- package/dist/cjs/calcite-loader.cjs.entry.js +0 -80
- package/dist/components/list-item2.js +0 -460
- package/dist/esm/calcite-loader.entry.js +0 -76
- package/dist/solutions-components/p-11cb7b04.entry.js +0 -6
- package/dist/solutions-components/p-45cf4f67.entry.js +0 -6
- package/dist/solutions-components/p-4807b2a1.js +0 -36
- package/dist/solutions-components/p-557a1912.entry.js +0 -6
- package/dist/solutions-components/p-68735975.entry.js +0 -6
- package/dist/solutions-components/p-ec830ecb.entry.js +0 -23
- /package/dist/assets/t9n/{list-item → arcgis-login}/resources.json +0 -0
- /package/dist/assets/t9n/{list-item → arcgis-login}/resources_en.json +0 -0
- /package/dist/collection/components/{list-item/list-item.css → arcgis-login/arcgis-login.css} +0 -0
@@ -15,22 +15,16 @@ const loadable = require('./loadable-53fa41ac.js');
|
|
15
15
|
const locale = require('./locale-62c20bcc.js');
|
16
16
|
const observers = require('./observers-ee7eadc4.js');
|
17
17
|
const t9n = require('./t9n-78efea01.js');
|
18
|
-
const floatingUi = require('./floating-ui-3625f253.js');
|
19
|
-
const focusTrapComponent = require('./focusTrapComponent-919e5636.js');
|
20
|
-
const openCloseComponent = require('./openCloseComponent-56419b32.js');
|
21
|
-
const Heading = require('./Heading-b0970391.js');
|
22
|
-
const key = require('./key-29076628.js');
|
23
|
-
const FloatingArrow = require('./FloatingArrow-5aba7af1.js');
|
24
18
|
require('./resources-d8917c46.js');
|
25
19
|
require('./browser-09760f9f.js');
|
26
|
-
require('./
|
20
|
+
require('./key-29076628.js');
|
27
21
|
|
28
22
|
/*!
|
29
23
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
30
24
|
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
31
25
|
* v1.9.0
|
32
26
|
*/
|
33
|
-
const CSS
|
27
|
+
const CSS = {
|
34
28
|
button: "button",
|
35
29
|
buttonTextVisible: "button--text-visible",
|
36
30
|
buttonCompact: "button--compact",
|
@@ -144,14 +138,14 @@ const Action = class {
|
|
144
138
|
renderTextContainer() {
|
145
139
|
const { text, textEnabled } = this;
|
146
140
|
const textContainerClasses = {
|
147
|
-
[CSS
|
148
|
-
[CSS
|
141
|
+
[CSS.textContainer]: true,
|
142
|
+
[CSS.textContainerVisible]: textEnabled,
|
149
143
|
};
|
150
144
|
return text ? (index.h("div", { class: textContainerClasses, key: "text-container" }, text)) : null;
|
151
145
|
}
|
152
146
|
renderIndicatorText() {
|
153
147
|
const { indicator, messages, indicatorId, buttonId } = this;
|
154
|
-
return (index.h("div", { "aria-labelledby": buttonId, "aria-live": "polite", class: CSS
|
148
|
+
return (index.h("div", { "aria-labelledby": buttonId, "aria-live": "polite", class: CSS.indicatorText, id: indicatorId, role: "region" }, indicator ? messages.indicator : null));
|
155
149
|
}
|
156
150
|
renderIconContainer() {
|
157
151
|
var _a;
|
@@ -163,18 +157,18 @@ const Action = class {
|
|
163
157
|
const iconNode = calciteLoaderNode || calciteIconNode;
|
164
158
|
const hasIconToDisplay = iconNode || ((_a = el.children) === null || _a === void 0 ? void 0 : _a.length);
|
165
159
|
const slotContainerNode = (index.h("div", { class: {
|
166
|
-
[CSS
|
167
|
-
[CSS
|
160
|
+
[CSS.slotContainer]: true,
|
161
|
+
[CSS.slotContainerHidden]: loading,
|
168
162
|
} }, index.h("slot", null)));
|
169
|
-
return hasIconToDisplay ? (index.h("div", { "aria-hidden": "true", class: CSS
|
163
|
+
return hasIconToDisplay ? (index.h("div", { "aria-hidden": "true", class: CSS.iconContainer, key: "icon-container" }, iconNode, slotContainerNode)) : null;
|
170
164
|
}
|
171
165
|
render() {
|
172
166
|
const { active, compact, disabled, loading, textEnabled, label, text, indicator, indicatorId, buttonId, messages, } = this;
|
173
167
|
const ariaLabel = `${label || text}${indicator ? ` (${messages.indicator})` : ""}`;
|
174
168
|
const buttonClasses = {
|
175
|
-
[CSS
|
176
|
-
[CSS
|
177
|
-
[CSS
|
169
|
+
[CSS.button]: true,
|
170
|
+
[CSS.buttonTextVisible]: textEnabled,
|
171
|
+
[CSS.buttonCompact]: compact,
|
178
172
|
};
|
179
173
|
return (index.h(index.Host, null, index.h("button", { "aria-busy": dom.toAriaBoolean(loading), "aria-controls": indicator ? indicatorId : null, "aria-disabled": dom.toAriaBoolean(disabled), "aria-label": ariaLabel, "aria-pressed": dom.toAriaBoolean(active), class: buttonClasses, disabled: disabled, id: buttonId,
|
180
174
|
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
@@ -189,397 +183,72 @@ const Action = class {
|
|
189
183
|
};
|
190
184
|
Action.style = actionCss;
|
191
185
|
|
192
|
-
|
193
|
-
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
194
|
-
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
195
|
-
* v1.9.0
|
196
|
-
*/
|
197
|
-
const CSS = {
|
198
|
-
container: "container",
|
199
|
-
imageContainer: "image-container",
|
200
|
-
closeButtonContainer: "close-button-container",
|
201
|
-
closeButton: "close-button",
|
202
|
-
content: "content",
|
203
|
-
hasHeader: "has-header",
|
204
|
-
header: "header",
|
205
|
-
headerContent: "header-content",
|
206
|
-
heading: "heading",
|
207
|
-
};
|
208
|
-
const defaultPopoverPlacement = "auto";
|
209
|
-
const ARIA_CONTROLS = "aria-controls";
|
210
|
-
const ARIA_EXPANDED = "aria-expanded";
|
186
|
+
const loaderCss = "@charset \"UTF-8\";@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0}}:host{position:relative;margin-inline:auto;display:none;align-items:center;justify-content:center;opacity:1;min-block-size:var(--calcite-loader-size);font-size:var(--calcite-loader-font-size);stroke:var(--calcite-ui-brand);stroke-width:3;fill:none;transform:scale(1, 1);animation:loader-color-shift calc(var(--calcite-internal-animation-timing-slow) / var(--calcite-internal-duration-factor) * 2 / var(--calcite-internal-duration-factor)) alternate-reverse infinite linear;padding-block:var(--calcite-loader-padding, 4rem)}:host([scale=s]){--calcite-loader-font-size:var(--calcite-font-size--2);--calcite-loader-size:2rem;--calcite-loader-size-inline:0.75rem}:host([scale=m]){--calcite-loader-font-size:var(--calcite-font-size-0);--calcite-loader-size:4rem;--calcite-loader-size-inline:1rem}:host([scale=l]){--calcite-loader-font-size:var(--calcite-font-size-2);--calcite-loader-size:6rem;--calcite-loader-size-inline:1.5rem}:host([no-padding]){padding-block:0px}:host{display:flex}.loader__text{display:block;text-align:center;font-size:var(--calcite-font-size--2);line-height:1rem;color:var(--calcite-ui-text-1);margin-block-start:calc(var(--calcite-loader-size) + 1.5rem)}.loader__percentage{position:absolute;display:block;text-align:center;color:var(--calcite-ui-text-1);font-size:var(--calcite-loader-font-size);inline-size:var(--calcite-loader-size);inset-inline-start:50%;margin-inline-start:calc(var(--calcite-loader-size) / 2 * -1);line-height:0.25;transform:scale(1, 1)}.loader__svgs{position:absolute;overflow:visible;opacity:1;inline-size:var(--calcite-loader-size);block-size:var(--calcite-loader-size);inset-inline-start:50%;margin-inline-start:calc(var(--calcite-loader-size) / 2 * -1);animation-iteration-count:infinite;animation-timing-function:linear;animation-duration:calc(var(--calcite-internal-animation-timing-slow) / var(--calcite-internal-duration-factor) * 6.66 / var(--calcite-internal-duration-factor));animation-name:loader-clockwise}.loader__svg{position:absolute;inset-block-start:0px;transform-origin:center;overflow:visible;inset-inline-start:0;inline-size:var(--calcite-loader-size);block-size:var(--calcite-loader-size);animation-iteration-count:infinite;animation-timing-function:linear}@supports (display: grid){.loader__svg--1{animation-name:loader-offset-1}.loader__svg--2{animation-name:loader-offset-2}.loader__svg--3{animation-name:loader-offset-3}}:host([type=determinate]){animation:none;stroke:var(--calcite-ui-border-3)}:host([type=determinate]) .loader__svgs{animation:none}:host([type=determinate]) .loader__svg--3{animation:none;stroke:var(--calcite-ui-brand);stroke-dasharray:150.79632;transform:rotate(-90deg);transition:all var(--calcite-internal-animation-timing-fast) linear}:host([inline]){position:relative;margin:0px;animation:none;stroke:currentColor;stroke-width:2;padding-block:0px;block-size:var(--calcite-loader-size-inline);min-block-size:var(--calcite-loader-size-inline);inline-size:var(--calcite-loader-size-inline);margin-inline-end:calc(var(--calcite-loader-size-inline) * 0.5);vertical-align:calc(var(--calcite-loader-size-inline) * -1 * 0.2)}:host([inline]) .loader__svgs{inset-block-start:0px;margin:0px;inset-inline-start:0;inline-size:var(--calcite-loader-size-inline);block-size:var(--calcite-loader-size-inline)}:host([inline]) .loader__svg{inline-size:var(--calcite-loader-size-inline);block-size:var(--calcite-loader-size-inline)}:host([complete]){opacity:0;transform:scale(0.75, 0.75);transform-origin:center;transition:opacity var(--calcite-internal-animation-timing-medium) linear 1000ms, transform var(--calcite-internal-animation-timing-medium) linear 1000ms}:host([complete]) .loader__svgs{opacity:0;transform:scale(0.75, 0.75);transform-origin:center;transition:opacity calc(180ms * var(--calcite-internal-duration-factor)) linear 800ms, transform calc(180ms * var(--calcite-internal-duration-factor)) linear 800ms}:host([complete]) .loader__percentage{color:var(--calcite-ui-brand);transform:scale(1.05, 1.05);transform-origin:center;transition:color var(--calcite-internal-animation-timing-medium) linear, transform var(--calcite-internal-animation-timing-medium) linear}.loader__svg--1{stroke-dasharray:27.9252444444 139.6262222222;animation-duration:calc(var(--calcite-internal-animation-timing-slow) / var(--calcite-internal-duration-factor) * 4.8 / var(--calcite-internal-duration-factor))}@keyframes loader-offset-1{0%{stroke-dasharray:27.9252444444 251.3272;stroke-dashoffset:0}50%{stroke-dasharray:139.6262222222 139.6262222222;stroke-dashoffset:-83.7757333333}100%{stroke-dasharray:27.9252444444 251.3272;stroke-dashoffset:-279.2524444444}}.loader__svg--2{stroke-dasharray:55.8504888889 139.6262222222;animation-duration:calc(var(--calcite-internal-animation-timing-slow) / var(--calcite-internal-duration-factor) * 6.4 / var(--calcite-internal-duration-factor))}@keyframes loader-offset-2{0%{stroke-dasharray:55.8504888889 223.4019555556;stroke-dashoffset:0}50%{stroke-dasharray:139.6262222222 139.6262222222;stroke-dashoffset:-97.7383555556}100%{stroke-dasharray:55.8504888889 223.4019555556;stroke-dashoffset:-279.2524444444}}.loader__svg--3{stroke-dasharray:13.9626222222 139.6262222222;animation-duration:calc(var(--calcite-internal-animation-timing-slow) / var(--calcite-internal-duration-factor) * 7.734 / var(--calcite-internal-duration-factor))}@keyframes loader-offset-3{0%{stroke-dasharray:13.9626222222 265.2898222222;stroke-dashoffset:0}50%{stroke-dasharray:139.6262222222 139.6262222222;stroke-dashoffset:-76.7944222222}100%{stroke-dasharray:13.9626222222 265.2898222222;stroke-dashoffset:-279.2524444444}}@keyframes loader-color-shift{0%{stroke:var(--calcite-ui-brand)}33%{stroke:var(--calcite-ui-brand-press)}66%{stroke:var(--calcite-ui-brand-hover)}100%{stroke:var(--calcite-ui-brand)}}@keyframes loader-clockwise{100%{transform:rotate(360deg)}}:host([hidden]){display:none}[hidden]{display:none}";
|
211
187
|
|
212
|
-
|
213
|
-
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
214
|
-
* See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
|
215
|
-
* v1.9.0
|
216
|
-
*/
|
217
|
-
class PopoverManager {
|
218
|
-
constructor() {
|
219
|
-
// --------------------------------------------------------------------------
|
220
|
-
//
|
221
|
-
// Private Properties
|
222
|
-
//
|
223
|
-
// --------------------------------------------------------------------------
|
224
|
-
this.registeredElements = new Map();
|
225
|
-
this.registeredElementCount = 0;
|
226
|
-
// --------------------------------------------------------------------------
|
227
|
-
//
|
228
|
-
// Private Methods
|
229
|
-
//
|
230
|
-
// --------------------------------------------------------------------------
|
231
|
-
this.queryPopover = (composedPath) => {
|
232
|
-
const { registeredElements } = this;
|
233
|
-
const registeredElement = composedPath.find((pathEl) => registeredElements.has(pathEl));
|
234
|
-
return registeredElements.get(registeredElement);
|
235
|
-
};
|
236
|
-
this.togglePopovers = (event) => {
|
237
|
-
const composedPath = event.composedPath();
|
238
|
-
const togglePopover = this.queryPopover(composedPath);
|
239
|
-
if (togglePopover && !togglePopover.triggerDisabled) {
|
240
|
-
togglePopover.open = !togglePopover.open;
|
241
|
-
}
|
242
|
-
Array.from(this.registeredElements.values())
|
243
|
-
.filter((popover) => popover !== togglePopover && popover.autoClose && popover.open && !composedPath.includes(popover))
|
244
|
-
.forEach((popover) => (popover.open = false));
|
245
|
-
};
|
246
|
-
this.keyHandler = (event) => {
|
247
|
-
if (event.defaultPrevented) {
|
248
|
-
return;
|
249
|
-
}
|
250
|
-
if (event.key === "Escape") {
|
251
|
-
this.closeAllPopovers();
|
252
|
-
}
|
253
|
-
else if (key.isActivationKey(event.key)) {
|
254
|
-
this.togglePopovers(event);
|
255
|
-
}
|
256
|
-
};
|
257
|
-
this.clickHandler = (event) => {
|
258
|
-
if (dom.isPrimaryPointerButton(event)) {
|
259
|
-
this.togglePopovers(event);
|
260
|
-
}
|
261
|
-
};
|
262
|
-
}
|
263
|
-
// --------------------------------------------------------------------------
|
264
|
-
//
|
265
|
-
// Public Methods
|
266
|
-
//
|
267
|
-
// --------------------------------------------------------------------------
|
268
|
-
registerElement(referenceEl, popover) {
|
269
|
-
this.registeredElementCount++;
|
270
|
-
this.registeredElements.set(referenceEl, popover);
|
271
|
-
if (this.registeredElementCount === 1) {
|
272
|
-
this.addListeners();
|
273
|
-
}
|
274
|
-
}
|
275
|
-
unregisterElement(referenceEl) {
|
276
|
-
if (this.registeredElements.delete(referenceEl)) {
|
277
|
-
this.registeredElementCount--;
|
278
|
-
}
|
279
|
-
if (this.registeredElementCount === 0) {
|
280
|
-
this.removeListeners();
|
281
|
-
}
|
282
|
-
}
|
283
|
-
closeAllPopovers() {
|
284
|
-
Array.from(this.registeredElements.values()).forEach((popover) => (popover.open = false));
|
285
|
-
}
|
286
|
-
addListeners() {
|
287
|
-
document.addEventListener("pointerdown", this.clickHandler, { capture: true });
|
288
|
-
document.addEventListener("keydown", this.keyHandler, { capture: true });
|
289
|
-
}
|
290
|
-
removeListeners() {
|
291
|
-
document.removeEventListener("pointerdown", this.clickHandler, { capture: true });
|
292
|
-
document.removeEventListener("keydown", this.keyHandler, { capture: true });
|
293
|
-
}
|
294
|
-
}
|
295
|
-
|
296
|
-
const popoverCss = ":host{--calcite-floating-ui-z-index:var(--calcite-popover-z-index, var(--calcite-app-z-index-popup));display:block;position:absolute;z-index:var(--calcite-floating-ui-z-index)}.calcite-floating-ui-anim{position:relative;transition:var(--calcite-floating-ui-transition);transition-property:transform, visibility, opacity;opacity:0;box-shadow:0 0 16px 0 rgba(0, 0, 0, 0.16);z-index:var(--calcite-app-z-index);border-radius:0.25rem}:host([data-placement^=bottom]) .calcite-floating-ui-anim{transform:translateY(-5px)}:host([data-placement^=top]) .calcite-floating-ui-anim{transform:translateY(5px)}:host([data-placement^=left]) .calcite-floating-ui-anim{transform:translateX(5px)}:host([data-placement^=right]) .calcite-floating-ui-anim{transform:translateX(-5px)}:host([data-placement]) .calcite-floating-ui-anim--active{opacity:1;transform:translate(0)}:host([calcite-hydrated-hidden]){visibility:hidden !important;pointer-events:none}.calcite-floating-ui-arrow{pointer-events:none;position:absolute;z-index:calc(var(--calcite-app-z-index) * -1);fill:var(--calcite-ui-foreground-1)}.calcite-floating-ui-arrow__stroke{stroke:var(--calcite-ui-border-3)}:host([scale=s]) .heading{padding-inline:0.75rem;padding-block:0.5rem;font-size:var(--calcite-font-size--1);line-height:1.375}:host([scale=m]) .heading{padding-inline:1rem;padding-block:0.75rem;font-size:var(--calcite-font-size-0);line-height:1.375}:host([scale=l]) .heading{padding-inline:1.25rem;padding-block:1rem;font-size:var(--calcite-font-size-1);line-height:1.375}:host{pointer-events:none}:host([open]){pointer-events:initial}.calcite-floating-ui-anim{border-radius:0.25rem;border-width:1px;border-style:solid;border-color:var(--calcite-ui-border-3);background-color:var(--calcite-ui-foreground-1)}.arrow::before{outline:1px solid var(--calcite-ui-border-3)}.header{display:flex;flex:1 1 auto;align-items:stretch;justify-content:flex-start;border-width:0px;border-block-end-width:1px;border-style:solid;border-block-end-color:var(--calcite-ui-border-3)}.heading{margin:0px;display:block;flex:1 1 auto;align-self:center;white-space:normal;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1);word-wrap:break-word;word-break:break-word}.container{position:relative;display:flex;block-size:100%;flex-direction:row;flex-wrap:nowrap;border-radius:0.25rem;color:var(--calcite-ui-text-1)}.container.has-header{flex-direction:column}.content{display:flex;block-size:100%;inline-size:100%;flex-direction:column;flex-wrap:nowrap;align-self:center;word-wrap:break-word;word-break:break-word}.close-button-container{display:flex;overflow:hidden;flex:0 0 auto;border-start-end-radius:0.25rem;border-end-end-radius:0.25rem}::slotted(calcite-panel),::slotted(calcite-flow){block-size:100%}:host([hidden]){display:none}[hidden]{display:none}";
|
297
|
-
|
298
|
-
const manager = new PopoverManager();
|
299
|
-
const Popover = class {
|
188
|
+
const Loader = class {
|
300
189
|
constructor(hostRef) {
|
301
190
|
index.registerInstance(this, hostRef);
|
302
|
-
this.
|
303
|
-
this.calcitePopoverClose = index.createEvent(this, "calcitePopoverClose", 6);
|
304
|
-
this.calcitePopoverBeforeOpen = index.createEvent(this, "calcitePopoverBeforeOpen", 6);
|
305
|
-
this.calcitePopoverOpen = index.createEvent(this, "calcitePopoverOpen", 6);
|
306
|
-
this.mutationObserver = observers.createObserver("mutation", () => this.updateFocusTrapElements());
|
307
|
-
this.guid = `calcite-popover-${guid.guid()}`;
|
308
|
-
this.openTransitionProp = "opacity";
|
309
|
-
this.hasLoaded = false;
|
310
|
-
// --------------------------------------------------------------------------
|
311
|
-
//
|
312
|
-
// Private Methods
|
313
|
-
//
|
314
|
-
// --------------------------------------------------------------------------
|
315
|
-
this.setTransitionEl = (el) => {
|
316
|
-
this.transitionEl = el;
|
317
|
-
};
|
318
|
-
this.setFilteredPlacements = () => {
|
319
|
-
const { el, flipPlacements } = this;
|
320
|
-
this.filteredFlipPlacements = flipPlacements
|
321
|
-
? floatingUi.filterComputedPlacements(flipPlacements, el)
|
322
|
-
: null;
|
323
|
-
};
|
324
|
-
this.setUpReferenceElement = (warn = true) => {
|
325
|
-
this.removeReferences();
|
326
|
-
this.effectiveReferenceElement = this.getReferenceElement();
|
327
|
-
floatingUi.connectFloatingUI(this, this.effectiveReferenceElement, this.el);
|
328
|
-
const { el, referenceElement, effectiveReferenceElement } = this;
|
329
|
-
if (warn && referenceElement && !effectiveReferenceElement) {
|
330
|
-
console.warn(`${el.tagName}: reference-element id "${referenceElement}" was not found.`, {
|
331
|
-
el,
|
332
|
-
});
|
333
|
-
}
|
334
|
-
this.addReferences();
|
335
|
-
};
|
336
|
-
this.getId = () => {
|
337
|
-
return this.el.id || this.guid;
|
338
|
-
};
|
339
|
-
this.setExpandedAttr = () => {
|
340
|
-
const { effectiveReferenceElement, open } = this;
|
341
|
-
if (!effectiveReferenceElement) {
|
342
|
-
return;
|
343
|
-
}
|
344
|
-
if ("setAttribute" in effectiveReferenceElement) {
|
345
|
-
effectiveReferenceElement.setAttribute(ARIA_EXPANDED, dom.toAriaBoolean(open));
|
346
|
-
}
|
347
|
-
};
|
348
|
-
this.addReferences = () => {
|
349
|
-
const { effectiveReferenceElement } = this;
|
350
|
-
if (!effectiveReferenceElement) {
|
351
|
-
return;
|
352
|
-
}
|
353
|
-
const id = this.getId();
|
354
|
-
if ("setAttribute" in effectiveReferenceElement) {
|
355
|
-
effectiveReferenceElement.setAttribute(ARIA_CONTROLS, id);
|
356
|
-
}
|
357
|
-
manager.registerElement(effectiveReferenceElement, this.el);
|
358
|
-
this.setExpandedAttr();
|
359
|
-
};
|
360
|
-
this.removeReferences = () => {
|
361
|
-
const { effectiveReferenceElement } = this;
|
362
|
-
if (!effectiveReferenceElement) {
|
363
|
-
return;
|
364
|
-
}
|
365
|
-
if ("removeAttribute" in effectiveReferenceElement) {
|
366
|
-
effectiveReferenceElement.removeAttribute(ARIA_CONTROLS);
|
367
|
-
effectiveReferenceElement.removeAttribute(ARIA_EXPANDED);
|
368
|
-
}
|
369
|
-
manager.unregisterElement(effectiveReferenceElement);
|
370
|
-
};
|
371
|
-
this.hide = () => {
|
372
|
-
this.open = false;
|
373
|
-
};
|
374
|
-
this.storeArrowEl = (el) => {
|
375
|
-
this.arrowEl = el;
|
376
|
-
this.reposition(true);
|
377
|
-
};
|
378
|
-
this.autoClose = false;
|
379
|
-
this.closable = false;
|
380
|
-
this.flipDisabled = false;
|
381
|
-
this.focusTrapDisabled = false;
|
382
|
-
this.pointerDisabled = false;
|
383
|
-
this.flipPlacements = undefined;
|
384
|
-
this.heading = undefined;
|
385
|
-
this.headingLevel = undefined;
|
191
|
+
this.inline = false;
|
386
192
|
this.label = undefined;
|
387
|
-
this.messageOverrides = undefined;
|
388
|
-
this.messages = undefined;
|
389
|
-
this.offsetDistance = floatingUi.defaultOffsetDistance;
|
390
|
-
this.offsetSkidding = 0;
|
391
|
-
this.open = false;
|
392
|
-
this.overlayPositioning = "absolute";
|
393
|
-
this.placement = defaultPopoverPlacement;
|
394
|
-
this.referenceElement = undefined;
|
395
193
|
this.scale = "m";
|
396
|
-
this.
|
397
|
-
this.
|
398
|
-
this.
|
399
|
-
this.effectiveReferenceElement = undefined;
|
400
|
-
this.defaultMessages = undefined;
|
401
|
-
}
|
402
|
-
handleFocusTrapDisabled(focusTrapDisabled) {
|
403
|
-
if (!this.open) {
|
404
|
-
return;
|
405
|
-
}
|
406
|
-
focusTrapDisabled ? focusTrapComponent.deactivateFocusTrap(this) : focusTrapComponent.activateFocusTrap(this);
|
407
|
-
}
|
408
|
-
flipPlacementsHandler() {
|
409
|
-
this.setFilteredPlacements();
|
410
|
-
this.reposition(true);
|
411
|
-
}
|
412
|
-
onMessagesChange() {
|
413
|
-
/* wired up by t9n util */
|
414
|
-
}
|
415
|
-
offsetDistanceOffsetHandler() {
|
416
|
-
this.reposition(true);
|
417
|
-
}
|
418
|
-
offsetSkiddingHandler() {
|
419
|
-
this.reposition(true);
|
420
|
-
}
|
421
|
-
openHandler(value) {
|
422
|
-
openCloseComponent.onToggleOpenCloseComponent(this);
|
423
|
-
if (value) {
|
424
|
-
this.reposition(true);
|
425
|
-
}
|
426
|
-
this.setExpandedAttr();
|
427
|
-
}
|
428
|
-
overlayPositioningHandler() {
|
429
|
-
this.reposition(true);
|
430
|
-
}
|
431
|
-
placementHandler() {
|
432
|
-
this.reposition(true);
|
433
|
-
}
|
434
|
-
referenceElementHandler() {
|
435
|
-
this.setUpReferenceElement();
|
436
|
-
this.reposition(true);
|
437
|
-
}
|
438
|
-
effectiveLocaleChange() {
|
439
|
-
t9n.updateMessages(this, this.effectiveLocale);
|
194
|
+
this.type = undefined;
|
195
|
+
this.value = 0;
|
196
|
+
this.text = "";
|
440
197
|
}
|
441
|
-
|
198
|
+
//--------------------------------------------------------------------------
|
442
199
|
//
|
443
200
|
// Lifecycle
|
444
201
|
//
|
445
|
-
|
446
|
-
|
447
|
-
this
|
448
|
-
|
449
|
-
|
450
|
-
this.
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
}
|
465
|
-
|
466
|
-
|
467
|
-
}
|
468
|
-
|
469
|
-
this.removeReferences();
|
470
|
-
locale.disconnectLocalized(this);
|
471
|
-
t9n.disconnectMessages(this);
|
472
|
-
floatingUi.disconnectFloatingUI(this, this.effectiveReferenceElement, this.el);
|
473
|
-
focusTrapComponent.deactivateFocusTrap(this);
|
474
|
-
}
|
475
|
-
// --------------------------------------------------------------------------
|
202
|
+
//--------------------------------------------------------------------------
|
203
|
+
render() {
|
204
|
+
const { el, inline, label, scale, text, type, value } = this;
|
205
|
+
const id = el.id || guid.guid();
|
206
|
+
const radiusRatio = 0.45;
|
207
|
+
const size = inline ? this.getInlineSize(scale) : this.getSize(scale);
|
208
|
+
const radius = size * radiusRatio;
|
209
|
+
const viewbox = `0 0 ${size} ${size}`;
|
210
|
+
const isDeterminate = type === "determinate";
|
211
|
+
const circumference = 2 * radius * Math.PI;
|
212
|
+
const progress = (value / 100) * circumference;
|
213
|
+
const remaining = circumference - progress;
|
214
|
+
const valueNow = Math.floor(value);
|
215
|
+
const hostAttributes = {
|
216
|
+
"aria-valuenow": valueNow,
|
217
|
+
"aria-valuemin": 0,
|
218
|
+
"aria-valuemax": 100,
|
219
|
+
complete: valueNow === 100,
|
220
|
+
};
|
221
|
+
const svgAttributes = { r: radius, cx: size / 2, cy: size / 2 };
|
222
|
+
const determinateStyle = { "stroke-dasharray": `${progress} ${remaining}` };
|
223
|
+
return (index.h(index.Host, Object.assign({ "aria-label": label, id: id, role: "progressbar" }, (isDeterminate ? hostAttributes : {})), index.h("div", { class: "loader__svgs" }, index.h("svg", { "aria-hidden": "true", class: "loader__svg loader__svg--1", viewBox: viewbox }, index.h("circle", Object.assign({}, svgAttributes))), index.h("svg", { "aria-hidden": "true", class: "loader__svg loader__svg--2", viewBox: viewbox }, index.h("circle", Object.assign({}, svgAttributes))), index.h("svg", Object.assign({ "aria-hidden": "true", class: "loader__svg loader__svg--3", viewBox: viewbox }, (isDeterminate ? { style: determinateStyle } : {})), index.h("circle", Object.assign({}, svgAttributes)))), text && index.h("div", { class: "loader__text" }, text), isDeterminate && index.h("div", { class: "loader__percentage" }, value)));
|
224
|
+
}
|
225
|
+
//--------------------------------------------------------------------------
|
476
226
|
//
|
477
|
-
//
|
227
|
+
// Private Methods
|
478
228
|
//
|
479
|
-
|
229
|
+
//--------------------------------------------------------------------------
|
480
230
|
/**
|
481
|
-
*
|
231
|
+
* Return the proper sizes based on the scale property
|
482
232
|
*
|
483
|
-
* @param
|
233
|
+
* @param scale
|
484
234
|
*/
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
}, delayed);
|
499
|
-
}
|
500
|
-
/**
|
501
|
-
* Sets focus on the component's first focusable element.
|
502
|
-
*/
|
503
|
-
async setFocus() {
|
504
|
-
await loadable.componentFocusable(this);
|
505
|
-
index.forceUpdate(this.el);
|
506
|
-
dom.focusFirstTabbable(this.el);
|
507
|
-
}
|
508
|
-
/**
|
509
|
-
* Updates the element(s) that are used within the focus-trap of the component.
|
510
|
-
*/
|
511
|
-
async updateFocusTrapElements() {
|
512
|
-
focusTrapComponent.updateFocusTrapElements(this);
|
513
|
-
}
|
514
|
-
getReferenceElement() {
|
515
|
-
const { referenceElement, el } = this;
|
516
|
-
return ((typeof referenceElement === "string"
|
517
|
-
? dom.queryElementRoots(el, { id: referenceElement })
|
518
|
-
: referenceElement) || null);
|
519
|
-
}
|
520
|
-
onBeforeOpen() {
|
521
|
-
this.calcitePopoverBeforeOpen.emit();
|
522
|
-
}
|
523
|
-
onOpen() {
|
524
|
-
this.calcitePopoverOpen.emit();
|
525
|
-
focusTrapComponent.activateFocusTrap(this);
|
526
|
-
}
|
527
|
-
onBeforeClose() {
|
528
|
-
this.calcitePopoverBeforeClose.emit();
|
529
|
-
}
|
530
|
-
onClose() {
|
531
|
-
this.calcitePopoverClose.emit();
|
532
|
-
focusTrapComponent.deactivateFocusTrap(this);
|
235
|
+
getSize(scale) {
|
236
|
+
return {
|
237
|
+
s: 32,
|
238
|
+
m: 56,
|
239
|
+
l: 80,
|
240
|
+
}[scale];
|
241
|
+
}
|
242
|
+
getInlineSize(scale) {
|
243
|
+
return {
|
244
|
+
s: 12,
|
245
|
+
m: 16,
|
246
|
+
l: 20,
|
247
|
+
}[scale];
|
533
248
|
}
|
534
|
-
// --------------------------------------------------------------------------
|
535
|
-
//
|
536
|
-
// Render Methods
|
537
|
-
//
|
538
|
-
// --------------------------------------------------------------------------
|
539
|
-
renderCloseButton() {
|
540
|
-
const { messages, closable } = this;
|
541
|
-
return closable ? (index.h("div", { class: CSS.closeButtonContainer, key: CSS.closeButtonContainer }, index.h("calcite-action", { appearance: "transparent", class: CSS.closeButton, onClick: this.hide, scale: this.scale, text: messages.close,
|
542
|
-
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
543
|
-
ref: (closeButtonEl) => (this.closeButtonEl = closeButtonEl) }, index.h("calcite-icon", { icon: "x", scale: this.scale === "l" ? "m" : this.scale })))) : null;
|
544
|
-
}
|
545
|
-
renderHeader() {
|
546
|
-
const { heading, headingLevel } = this;
|
547
|
-
const headingNode = heading ? (index.h(Heading.Heading, { class: CSS.heading, level: headingLevel }, heading)) : null;
|
548
|
-
return headingNode ? (index.h("div", { class: CSS.header, key: CSS.header }, headingNode, this.renderCloseButton())) : null;
|
549
|
-
}
|
550
|
-
render() {
|
551
|
-
const { effectiveReferenceElement, heading, label, open, pointerDisabled, floatingLayout } = this;
|
552
|
-
const displayed = effectiveReferenceElement && open;
|
553
|
-
const hidden = !displayed;
|
554
|
-
const arrowNode = !pointerDisabled ? (index.h(FloatingArrow.FloatingArrow, { floatingLayout: floatingLayout, key: "floating-arrow",
|
555
|
-
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
556
|
-
ref: this.storeArrowEl })) : null;
|
557
|
-
return (index.h(index.Host, { "aria-hidden": dom.toAriaBoolean(hidden), "aria-label": label, "aria-live": "polite", "calcite-hydrated-hidden": hidden, id: this.getId(), role: "dialog" }, index.h("div", { class: {
|
558
|
-
[floatingUi.FloatingCSS.animation]: true,
|
559
|
-
[floatingUi.FloatingCSS.animationActive]: displayed,
|
560
|
-
},
|
561
|
-
// eslint-disable-next-line react/jsx-sort-props -- ref should be last so node attrs/props are in sync (see https://github.com/Esri/calcite-design-system/pull/6530)
|
562
|
-
ref: this.setTransitionEl }, arrowNode, index.h("div", { class: {
|
563
|
-
[CSS.hasHeader]: !!heading,
|
564
|
-
[CSS.container]: true,
|
565
|
-
} }, this.renderHeader(), index.h("div", { class: CSS.content }, index.h("slot", null)), !heading ? this.renderCloseButton() : null))));
|
566
|
-
}
|
567
|
-
static get assetsDirs() { return ["assets"]; }
|
568
249
|
get el() { return index.getElement(this); }
|
569
|
-
static get watchers() { return {
|
570
|
-
"focusTrapDisabled": ["handleFocusTrapDisabled"],
|
571
|
-
"flipPlacements": ["flipPlacementsHandler"],
|
572
|
-
"messageOverrides": ["onMessagesChange"],
|
573
|
-
"offsetDistance": ["offsetDistanceOffsetHandler"],
|
574
|
-
"offsetSkidding": ["offsetSkiddingHandler"],
|
575
|
-
"open": ["openHandler"],
|
576
|
-
"overlayPositioning": ["overlayPositioningHandler"],
|
577
|
-
"placement": ["placementHandler"],
|
578
|
-
"referenceElement": ["referenceElementHandler"],
|
579
|
-
"effectiveLocale": ["effectiveLocaleChange"]
|
580
|
-
}; }
|
581
250
|
};
|
582
|
-
|
251
|
+
Loader.style = loaderCss;
|
583
252
|
|
584
253
|
exports.calcite_action = Action;
|
585
|
-
exports.
|
254
|
+
exports.calcite_loader = Loader;
|
@@ -18,7 +18,7 @@ const responsive = require('./responsive-b6e86bcb.js');
|
|
18
18
|
const observers = require('./observers-ee7eadc4.js');
|
19
19
|
const loadModules = require('./loadModules-ad1ab1a8.js');
|
20
20
|
const locale$1 = require('./locale-ef06bf9e.js');
|
21
|
-
const mapViewUtils = require('./mapViewUtils-
|
21
|
+
const mapViewUtils = require('./mapViewUtils-bab83c90.js');
|
22
22
|
require('./guid-5ef151a6.js');
|
23
23
|
require('./resources-d8917c46.js');
|
24
24
|
require('./key-29076628.js');
|
@@ -546,6 +546,7 @@ const InfoCard = class {
|
|
546
546
|
this._alertOpen = false;
|
547
547
|
this._count = "";
|
548
548
|
this._editRecordOpen = false;
|
549
|
+
this._showListView = false;
|
549
550
|
this._translations = undefined;
|
550
551
|
}
|
551
552
|
//--------------------------------------------------------------------------
|
@@ -622,9 +623,9 @@ const InfoCard = class {
|
|
622
623
|
const loadingClass = this.isLoading ? "" : "display-none";
|
623
624
|
const featureNodeClass = this.isLoading || this._editRecordOpen ? "display-none" : "position-absolute";
|
624
625
|
const editClass = !this.isLoading && this._editRecordOpen ? "position-absolute" : "display-none";
|
625
|
-
const editButtonClass = !this.isLoading && this._editRecordOpen ? "display-none" : "";
|
626
|
+
const editButtonClass = (!this.isLoading && this._editRecordOpen) || this._showListView ? "display-none" : "";
|
626
627
|
const nextBackDisabled = ((_b = (_a = this._features) === null || _a === void 0 ? void 0 : _a.features) === null || _b === void 0 ? void 0 : _b.length) < 2;
|
627
|
-
return (index.h(index.Host, null, index.h("calcite-shell", null, index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), index.h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), index.h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, index.h("div", { class: "display-flex top-border padding-1-2" }, index.h("calcite-button", { appearance: "solid", "icon-start": "pencil", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, index.h("span", null, this._translations.edit))), index.h("div", { class: "display-flex padding-1-2 button-container top-border" }, index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, index.h("span", null, this._translations.back))), index.h("div", null, this._getCount()), index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, index.h("span", null, this._translations.next))))), index.h("edit-card", { class: editClass, graphicIndex: (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._translations.editDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)))));
|
628
|
+
return (index.h(index.Host, null, index.h("calcite-shell", null, index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData }), index.h("div", { class: "esri-widget " + featureNodeClass, id: "features-node" }), index.h("div", { class: `${editButtonClass} width-100`, slot: "footer" }, index.h("div", { class: "display-flex top-border padding-1-2" }, index.h("calcite-button", { appearance: "solid", "icon-start": "pencil", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "solutions-edit" }, index.h("span", null, this._translations.edit))), index.h("div", { class: "display-flex padding-1-2 button-container top-border" }, index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-back", onClick: () => this._back(), width: "full" }, this._translations.back), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, index.h("span", null, this._translations.back))), index.h("div", null, index.h("calcite-action", { icon: "list", onClick: () => this._toggleListView(), scale: "s", text: this._getCount(), textEnabled: true })), index.h("div", { class: "min-width-100" }, index.h("calcite-button", { appearance: "outline", disabled: nextBackDisabled, id: "solutions-next", onClick: () => this._next(), width: "full" }, this._translations.next), index.h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-next" }, index.h("span", null, this._translations.next))))), index.h("edit-card", { class: editClass, graphicIndex: (_c = this._features) === null || _c === void 0 ? void 0 : _c.selectedFeatureIndex, graphics: this.graphics, mapView: this.mapView, open: this._editRecordOpen }), index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._translations.editDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)))));
|
628
629
|
}
|
629
630
|
//--------------------------------------------------------------------------
|
630
631
|
//
|
@@ -665,6 +666,11 @@ const InfoCard = class {
|
|
665
666
|
heading: true
|
666
667
|
}
|
667
668
|
});
|
669
|
+
this.reactiveUtils.watch(() => this._features.viewModel.featureMenuOpen, (isOpen) => {
|
670
|
+
if (!isOpen) {
|
671
|
+
this._showListView = isOpen;
|
672
|
+
}
|
673
|
+
});
|
668
674
|
if (this.zoomAndScrollToSelected) {
|
669
675
|
this.reactiveUtils.watch(() => this._features.selectedFeatureIndex, (i) => {
|
670
676
|
if (i > -1) {
|
@@ -738,6 +744,18 @@ const InfoCard = class {
|
|
738
744
|
.replace("{{index}}", index)
|
739
745
|
.replace("{{total}}", total);
|
740
746
|
}
|
747
|
+
/**
|
748
|
+
* Toggle the visibility of the features list view
|
749
|
+
*/
|
750
|
+
_toggleListView() {
|
751
|
+
this._showListView = !this._showListView;
|
752
|
+
const i = this._features.selectedFeatureIndex;
|
753
|
+
this._features.open({
|
754
|
+
features: this.graphics,
|
755
|
+
featureMenuOpen: this._showListView
|
756
|
+
});
|
757
|
+
this._features.selectedFeatureIndex = i;
|
758
|
+
}
|
741
759
|
/**
|
742
760
|
* Fetches the component's translations
|
743
761
|
*
|