@esri/solutions-components 0.2.2 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/solution-config-modal/resources.json +22 -0
- package/dist/assets/t9n/solution-config-modal/resources_en.json +22 -0
- package/dist/cjs/calcite-action-menu_2.cjs.entry.js +18 -401
- package/dist/cjs/calcite-action-menu_2.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-action_2.cjs.entry.js +423 -71
- package/dist/cjs/calcite-action_2.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-loader.cjs.entry.js +97 -0
- package/dist/cjs/calcite-loader.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-configuration.cjs.entry.js → calcite-modal_2.cjs.entry.js} +451 -13
- package/dist/cjs/calcite-modal_2.cjs.entry.js.map +1 -0
- package/dist/cjs/{calcite-shell-panel_14.cjs.entry.js → calcite-panel_12.cjs.entry.js} +455 -709
- package/dist/cjs/calcite-panel_12.cjs.entry.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solution-config-modal.cjs.entry.js +131 -0
- package/dist/cjs/solution-config-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-contents_3.cjs.entry.js → solution-contents_7.cjs.entry.js} +664 -5
- package/dist/cjs/solution-contents_7.cjs.entry.js.map +1 -0
- package/dist/cjs/{solution-store-893499a5.js → solution-store-09b3fc53.js} +4 -6
- package/dist/cjs/solution-store-09b3fc53.js.map +1 -0
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.css +91 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.js +245 -0
- package/dist/collection/components/solution-config-modal/solution-config-modal.js.map +1 -0
- package/dist/collection/components/solution-configuration/solution-configuration.js +23 -17
- package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -1
- package/dist/collection/components/solution-item/solution-item.js +0 -2
- package/dist/collection/components/solution-item/solution-item.js.map +1 -1
- package/dist/collection/components/solution-item-details/solution-item-details.js +0 -13
- package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -1
- package/dist/collection/utils/solution-store.js +3 -5
- package/dist/collection/utils/solution-store.js.map +1 -1
- package/dist/collection/utils/solution-store.ts +3 -5
- package/dist/esm/buffer-tools_6.entry.js +2 -2
- package/dist/esm/calcite-action-bar_6.entry.js +2 -2
- package/dist/esm/calcite-action-menu_2.entry.js +20 -403
- package/dist/esm/calcite-action-menu_2.entry.js.map +1 -1
- package/dist/esm/calcite-action_2.entry.js +424 -72
- package/dist/esm/calcite-action_2.entry.js.map +1 -1
- package/dist/esm/calcite-combobox_3.entry.js +2 -2
- package/dist/esm/calcite-loader.entry.js +93 -0
- package/dist/esm/calcite-loader.entry.js.map +1 -0
- package/dist/esm/{solution-configuration.entry.js → calcite-modal_2.entry.js} +453 -16
- package/dist/esm/calcite-modal_2.entry.js.map +1 -0
- package/dist/esm/{calcite-shell-panel_14.entry.js → calcite-panel_12.entry.js} +454 -706
- package/dist/esm/calcite-panel_12.entry.js.map +1 -0
- package/dist/esm/config-layer-picker.entry.js +2 -2
- package/dist/esm/{interfaces-e2a2064d.js → interfaces-1bdfc3a8.js} +2 -2
- package/dist/esm/{interfaces-e2a2064d.js.map → interfaces-1bdfc3a8.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{mapViewUtils-09f1e7bd.js → mapViewUtils-809947c8.js} +2 -2
- package/dist/esm/{mapViewUtils-09f1e7bd.js.map → mapViewUtils-809947c8.js.map} +1 -1
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solution-config-modal.entry.js +127 -0
- package/dist/esm/solution-config-modal.entry.js.map +1 -0
- package/dist/esm/{solution-contents_3.entry.js → solution-contents_7.entry.js} +661 -6
- package/dist/esm/solution-contents_7.entry.js.map +1 -0
- package/dist/esm/{solution-store-0c58c852.js → solution-store-d8519c64.js} +5 -7
- package/dist/esm/solution-store-d8519c64.js.map +1 -0
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-be1ed982.entry.js → p-11068040.entry.js} +3 -3
- package/dist/solutions-components/{p-be1ed982.entry.js.map → p-11068040.entry.js.map} +0 -0
- package/dist/solutions-components/{p-659edb14.js → p-2910dd9e.js} +5 -7
- package/dist/{cjs/solution-store-893499a5.js.map → solutions-components/p-2910dd9e.js.map} +1 -1
- package/dist/solutions-components/{p-291fd295.entry.js → p-30810b45.entry.js} +3 -3
- package/dist/solutions-components/{p-291fd295.entry.js.map → p-30810b45.entry.js.map} +0 -0
- package/dist/solutions-components/p-38ddadf2.entry.js +342 -0
- package/dist/solutions-components/p-38ddadf2.entry.js.map +1 -0
- package/dist/solutions-components/{p-77c75f3a.entry.js → p-5b20090f.entry.js} +661 -6
- package/dist/solutions-components/p-5b20090f.entry.js.map +1 -0
- package/dist/solutions-components/{p-9393631c.entry.js → p-9ef1328a.entry.js} +3 -3
- package/dist/solutions-components/{p-9393631c.entry.js.map → p-9ef1328a.entry.js.map} +0 -0
- package/dist/solutions-components/{p-984cb687.entry.js → p-a1786d11.entry.js} +454 -706
- package/dist/solutions-components/p-a1786d11.entry.js.map +1 -0
- package/dist/solutions-components/{p-fe0fdd8b.js → p-c20bd963.js} +2 -2
- package/dist/solutions-components/{p-fe0fdd8b.js.map → p-c20bd963.js.map} +1 -1
- package/dist/solutions-components/p-c5721b0f.entry.js +127 -0
- package/dist/solutions-components/p-c5721b0f.entry.js.map +1 -0
- package/dist/solutions-components/{p-24d75151.entry.js → p-c818e661.entry.js} +3 -3
- package/dist/solutions-components/{p-24d75151.entry.js.map → p-c818e661.entry.js.map} +0 -0
- package/dist/solutions-components/{p-90629c1d.entry.js → p-cf59eb16.entry.js} +453 -16
- package/dist/solutions-components/p-cf59eb16.entry.js.map +1 -0
- package/dist/solutions-components/p-e405ebe8.entry.js +93 -0
- package/dist/solutions-components/p-e405ebe8.entry.js.map +1 -0
- package/dist/solutions-components/{p-77e6b03c.entry.js → p-e6fb9cde.entry.js} +3 -3
- package/dist/solutions-components/{p-77e6b03c.entry.js.map → p-e6fb9cde.entry.js.map} +0 -0
- package/dist/solutions-components/{p-97c4a268.entry.js → p-ef6f9e24.entry.js} +113 -229
- package/dist/solutions-components/p-ef6f9e24.entry.js.map +1 -0
- package/dist/solutions-components/{p-6b9dc092.js → p-f04fdb9a.js} +2 -2
- package/dist/solutions-components/{p-6b9dc092.js.map → p-f04fdb9a.js.map} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/solution-store.ts +3 -5
- package/dist/solutions-components_commit.txt +8 -8
- package/dist/types/components/solution-config-modal/solution-config-modal.d.ts +69 -0
- package/dist/types/components/solution-configuration/solution-configuration.d.ts +4 -2
- package/dist/types/components/solution-item-details/solution-item-details.d.ts +0 -1
- package/dist/types/components.d.ts +43 -5
- package/dist/types/preact.d.ts +4 -0
- package/package.json +1 -1
- package/dist/cjs/calcite-modal.cjs.entry.js +0 -449
- package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -439
- package/dist/cjs/calcite-panel_2.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-scrim.cjs.entry.js +0 -64
- package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.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/esm/calcite-modal.entry.js +0 -445
- package/dist/esm/calcite-modal.entry.js.map +0 -1
- package/dist/esm/calcite-panel_2.entry.js +0 -434
- package/dist/esm/calcite-panel_2.entry.js.map +0 -1
- package/dist/esm/calcite-scrim.entry.js +0 -60
- package/dist/esm/calcite-scrim.entry.js.map +0 -1
- package/dist/esm/calcite-shell-panel_14.entry.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/solution-store-0c58c852.js.map +0 -1
- package/dist/solutions-components/p-0fda7d9e.entry.js +0 -434
- package/dist/solutions-components/p-0fda7d9e.entry.js.map +0 -1
- package/dist/solutions-components/p-2ff754ce.entry.js +0 -257
- package/dist/solutions-components/p-2ff754ce.entry.js.map +0 -1
- package/dist/solutions-components/p-30a6199a.entry.js +0 -445
- package/dist/solutions-components/p-30a6199a.entry.js.map +0 -1
- package/dist/solutions-components/p-659edb14.js.map +0 -1
- package/dist/solutions-components/p-77c75f3a.entry.js.map +0 -1
- package/dist/solutions-components/p-90629c1d.entry.js.map +0 -1
- package/dist/solutions-components/p-97c4a268.entry.js.map +0 -1
- package/dist/solutions-components/p-984cb687.entry.js.map +0 -1
- package/dist/solutions-components/p-f5268b4f.entry.js +0 -60
- package/dist/solutions-components/p-f5268b4f.entry.js.map +0 -1
@@ -11,8 +11,8 @@ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotCom
|
|
11
11
|
import { d as debounce } from './p-4e32bf8c.js';
|
12
12
|
import { S as StatusIcons } from './p-6fe17794.js';
|
13
13
|
import { l as loadModules } from './p-2ac06389.js';
|
14
|
-
import { a as goToSelection, h as highlightFeatures, q as queryObjectIds, d as getQueryGeoms, e as queryFeaturesByID } from './p-
|
15
|
-
import { E as EWorkflowType,
|
14
|
+
import { a as goToSelection, h as highlightFeatures, q as queryObjectIds, d as getQueryGeoms, e as queryFeaturesByID } from './p-c20bd963.js';
|
15
|
+
import { E as EWorkflowType, c as ESelectionMode, d as ERefineMode } from './p-f04fdb9a.js';
|
16
16
|
import { s as state } from './p-5b0d7c7d.js';
|
17
17
|
import { g as getLocaleComponentStrings } from './p-20bdf42f.js';
|
18
18
|
import { p as pdfUtils } from './p-e99b1247.js';
|
@@ -1247,4 +1247,4 @@ RefineSelection.style = refineSelectionCss;
|
|
1247
1247
|
|
1248
1248
|
export { ActionBar as calcite_action_bar, InputMessage as calcite_input_message, Notice as calcite_notice, MapSelectTools as map_select_tools, PdfDownload as pdf_download, RefineSelection as refine_selection };
|
1249
1249
|
|
1250
|
-
//# sourceMappingURL=p-
|
1250
|
+
//# sourceMappingURL=p-30810b45.entry.js.map
|
File without changes
|
@@ -0,0 +1,342 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './p-58c69df2.js';
|
7
|
+
import { C as CSS$1, I as ICONS, S as SLOTS } from './p-6e0da576.js';
|
8
|
+
import { t as toAriaBoolean, i as isPrimaryPointerButton, f as focusElement } from './p-32a67cb2.js';
|
9
|
+
import { g as getRoundRobinIndex } from './p-e947d3b0.js';
|
10
|
+
import { g as guid } from './p-a80b3880.js';
|
11
|
+
import { i as isActivationKey } from './p-73e23995.js';
|
12
|
+
import './p-729708a3.js';
|
13
|
+
|
14
|
+
const actionMenuCss = "@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--calcite-ui-foreground-1);font-size:var(--calcite-font-size-1);color:var(--calcite-ui-text-2)}.menu ::slotted(calcite-action){margin:0.125rem;display:flex;outline-color:transparent}.menu ::slotted(calcite-action[active]){outline:2px solid var(--calcite-ui-brand);outline-offset:0px}.default-trigger{position:relative;block-size:100%;flex:0 1 auto;align-self:stretch}slot[name=trigger]::slotted(calcite-action),calcite-action::slotted([slot=trigger]){position:relative;block-size:100%;flex:0 1 auto;align-self:stretch}.menu{flex-direction:column;flex-wrap:nowrap;outline:2px solid transparent;outline-offset:2px}";
|
15
|
+
|
16
|
+
const SUPPORTED_MENU_NAV_KEYS = ["ArrowUp", "ArrowDown", "End", "Home"];
|
17
|
+
const ActionMenu = class {
|
18
|
+
constructor(hostRef) {
|
19
|
+
registerInstance(this, hostRef);
|
20
|
+
this.calciteActionMenuOpenChange = createEvent(this, "calciteActionMenuOpenChange", 6);
|
21
|
+
// --------------------------------------------------------------------------
|
22
|
+
//
|
23
|
+
// Properties
|
24
|
+
//
|
25
|
+
// --------------------------------------------------------------------------
|
26
|
+
/**
|
27
|
+
* When `true`, the component is expanded.
|
28
|
+
*/
|
29
|
+
this.expanded = false;
|
30
|
+
/**
|
31
|
+
* When `true`, the component is open.
|
32
|
+
*/
|
33
|
+
this.open = false;
|
34
|
+
/**
|
35
|
+
* Determines the type of positioning to use for the overlaid content.
|
36
|
+
*
|
37
|
+
* Using `"absolute"` will work for most cases. The component will be positioned inside of overflowing parent containers and will affect the container's layout.
|
38
|
+
* `"fixed"` should be used to escape an overflowing parent container, or when the reference element's `position` CSS property is `"fixed"`.
|
39
|
+
*
|
40
|
+
*/
|
41
|
+
this.overlayPositioning = "absolute";
|
42
|
+
/**
|
43
|
+
* Determines where the component will be positioned relative to the `referenceElement`.
|
44
|
+
*
|
45
|
+
* @see [LogicalPlacement](https://github.com/Esri/calcite-components/blob/master/src/utils/floating-ui.ts#L25)
|
46
|
+
*/
|
47
|
+
this.placement = "auto";
|
48
|
+
this.actionElements = [];
|
49
|
+
this.guid = `calcite-action-menu-${guid()}`;
|
50
|
+
this.menuId = `${this.guid}-menu`;
|
51
|
+
this.menuButtonId = `${this.guid}-menu-button`;
|
52
|
+
this.activeMenuItemIndex = -1;
|
53
|
+
// --------------------------------------------------------------------------
|
54
|
+
//
|
55
|
+
// Component Methods
|
56
|
+
//
|
57
|
+
// --------------------------------------------------------------------------
|
58
|
+
this.connectMenuButtonEl = () => {
|
59
|
+
const { menuButtonId, menuId, open, label } = this;
|
60
|
+
const menuButtonEl = this.slottedMenuButtonEl || this.defaultMenuButtonEl;
|
61
|
+
if (this.menuButtonEl === menuButtonEl) {
|
62
|
+
return;
|
63
|
+
}
|
64
|
+
this.disconnectMenuButtonEl();
|
65
|
+
this.menuButtonEl = menuButtonEl;
|
66
|
+
this.setTooltipReferenceElement();
|
67
|
+
if (!menuButtonEl) {
|
68
|
+
return;
|
69
|
+
}
|
70
|
+
menuButtonEl.active = open;
|
71
|
+
menuButtonEl.setAttribute("aria-controls", menuId);
|
72
|
+
menuButtonEl.setAttribute("aria-expanded", toAriaBoolean(open));
|
73
|
+
menuButtonEl.setAttribute("aria-haspopup", "true");
|
74
|
+
if (!menuButtonEl.id) {
|
75
|
+
menuButtonEl.id = menuButtonId;
|
76
|
+
}
|
77
|
+
if (!menuButtonEl.label) {
|
78
|
+
menuButtonEl.label = label;
|
79
|
+
}
|
80
|
+
if (!menuButtonEl.text) {
|
81
|
+
menuButtonEl.text = label;
|
82
|
+
}
|
83
|
+
menuButtonEl.addEventListener("pointerdown", this.menuButtonClick);
|
84
|
+
menuButtonEl.addEventListener("keydown", this.menuButtonKeyDown);
|
85
|
+
};
|
86
|
+
this.disconnectMenuButtonEl = () => {
|
87
|
+
const { menuButtonEl } = this;
|
88
|
+
if (!menuButtonEl) {
|
89
|
+
return;
|
90
|
+
}
|
91
|
+
menuButtonEl.removeEventListener("pointerdown", this.menuButtonClick);
|
92
|
+
menuButtonEl.removeEventListener("keydown", this.menuButtonKeyDown);
|
93
|
+
};
|
94
|
+
this.setMenuButtonEl = (event) => {
|
95
|
+
const actions = event.target
|
96
|
+
.assignedElements({
|
97
|
+
flatten: true
|
98
|
+
})
|
99
|
+
.filter((el) => el === null || el === void 0 ? void 0 : el.matches("calcite-action"));
|
100
|
+
this.slottedMenuButtonEl = actions[0];
|
101
|
+
this.connectMenuButtonEl();
|
102
|
+
};
|
103
|
+
this.setDefaultMenuButtonEl = (el) => {
|
104
|
+
this.defaultMenuButtonEl = el;
|
105
|
+
this.connectMenuButtonEl();
|
106
|
+
};
|
107
|
+
// --------------------------------------------------------------------------
|
108
|
+
//
|
109
|
+
// Private Methods
|
110
|
+
//
|
111
|
+
// --------------------------------------------------------------------------
|
112
|
+
this.handleCalciteActionClick = () => {
|
113
|
+
this.open = false;
|
114
|
+
this.setFocus();
|
115
|
+
};
|
116
|
+
this.menuButtonClick = (event) => {
|
117
|
+
if (!isPrimaryPointerButton(event)) {
|
118
|
+
return;
|
119
|
+
}
|
120
|
+
this.toggleOpen();
|
121
|
+
};
|
122
|
+
this.updateTooltip = (event) => {
|
123
|
+
const tooltips = event.target
|
124
|
+
.assignedElements({
|
125
|
+
flatten: true
|
126
|
+
})
|
127
|
+
.filter((el) => el === null || el === void 0 ? void 0 : el.matches("calcite-tooltip"));
|
128
|
+
this.tooltipEl = tooltips[0];
|
129
|
+
this.setTooltipReferenceElement();
|
130
|
+
};
|
131
|
+
this.setTooltipReferenceElement = () => {
|
132
|
+
const { tooltipEl, expanded, menuButtonEl, open } = this;
|
133
|
+
if (tooltipEl) {
|
134
|
+
tooltipEl.referenceElement = !expanded && !open ? menuButtonEl : null;
|
135
|
+
}
|
136
|
+
};
|
137
|
+
this.updateAction = (action, index) => {
|
138
|
+
const { guid, activeMenuItemIndex } = this;
|
139
|
+
const id = `${guid}-action-${index}`;
|
140
|
+
action.tabIndex = -1;
|
141
|
+
action.setAttribute("role", "menuitem");
|
142
|
+
if (!action.id) {
|
143
|
+
action.id = id;
|
144
|
+
}
|
145
|
+
action.active = index === activeMenuItemIndex;
|
146
|
+
};
|
147
|
+
this.updateActions = (actions) => {
|
148
|
+
actions === null || actions === void 0 ? void 0 : actions.forEach(this.updateAction);
|
149
|
+
};
|
150
|
+
this.handleDefaultSlotChange = (event) => {
|
151
|
+
const actions = event.target
|
152
|
+
.assignedElements({
|
153
|
+
flatten: true
|
154
|
+
})
|
155
|
+
.filter((el) => el === null || el === void 0 ? void 0 : el.matches("calcite-action"));
|
156
|
+
this.actionElements = actions;
|
157
|
+
};
|
158
|
+
this.menuButtonKeyDown = (event) => {
|
159
|
+
const { key } = event;
|
160
|
+
const { actionElements, activeMenuItemIndex, open } = this;
|
161
|
+
if (!actionElements.length) {
|
162
|
+
return;
|
163
|
+
}
|
164
|
+
if (isActivationKey(key)) {
|
165
|
+
event.preventDefault();
|
166
|
+
if (!open) {
|
167
|
+
this.toggleOpen();
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
const action = actionElements[activeMenuItemIndex];
|
171
|
+
action ? action.click() : this.toggleOpen(false);
|
172
|
+
}
|
173
|
+
if (key === "Tab") {
|
174
|
+
this.open = false;
|
175
|
+
return;
|
176
|
+
}
|
177
|
+
if (key === "Escape") {
|
178
|
+
this.toggleOpen(false);
|
179
|
+
event.preventDefault();
|
180
|
+
return;
|
181
|
+
}
|
182
|
+
this.handleActionNavigation(event, key, actionElements);
|
183
|
+
};
|
184
|
+
this.handleActionNavigation = (event, key, actions) => {
|
185
|
+
if (!this.isValidKey(key, SUPPORTED_MENU_NAV_KEYS)) {
|
186
|
+
return;
|
187
|
+
}
|
188
|
+
event.preventDefault();
|
189
|
+
if (!this.open) {
|
190
|
+
this.toggleOpen();
|
191
|
+
if (key === "Home" || key === "ArrowDown") {
|
192
|
+
this.activeMenuItemIndex = 0;
|
193
|
+
}
|
194
|
+
if (key === "End" || key === "ArrowUp") {
|
195
|
+
this.activeMenuItemIndex = actions.length - 1;
|
196
|
+
}
|
197
|
+
return;
|
198
|
+
}
|
199
|
+
if (key === "Home") {
|
200
|
+
this.activeMenuItemIndex = 0;
|
201
|
+
}
|
202
|
+
if (key === "End") {
|
203
|
+
this.activeMenuItemIndex = actions.length - 1;
|
204
|
+
}
|
205
|
+
const currentIndex = this.activeMenuItemIndex;
|
206
|
+
if (key === "ArrowUp") {
|
207
|
+
this.activeMenuItemIndex = getRoundRobinIndex(Math.max(currentIndex - 1, -1), actions.length);
|
208
|
+
}
|
209
|
+
if (key === "ArrowDown") {
|
210
|
+
this.activeMenuItemIndex = getRoundRobinIndex(currentIndex + 1, actions.length);
|
211
|
+
}
|
212
|
+
};
|
213
|
+
this.toggleOpenEnd = () => {
|
214
|
+
this.setFocus();
|
215
|
+
this.el.removeEventListener("calcitePopoverOpen", this.toggleOpenEnd);
|
216
|
+
};
|
217
|
+
this.toggleOpen = (value = !this.open) => {
|
218
|
+
this.el.addEventListener("calcitePopoverOpen", this.toggleOpenEnd);
|
219
|
+
this.open = value;
|
220
|
+
};
|
221
|
+
}
|
222
|
+
// --------------------------------------------------------------------------
|
223
|
+
//
|
224
|
+
// Lifecycle
|
225
|
+
//
|
226
|
+
// --------------------------------------------------------------------------
|
227
|
+
disconnectedCallback() {
|
228
|
+
this.disconnectMenuButtonEl();
|
229
|
+
}
|
230
|
+
expandedHandler() {
|
231
|
+
this.open = false;
|
232
|
+
this.setTooltipReferenceElement();
|
233
|
+
}
|
234
|
+
openHandler(open) {
|
235
|
+
this.activeMenuItemIndex = this.open ? 0 : -1;
|
236
|
+
if (this.menuButtonEl) {
|
237
|
+
this.menuButtonEl.active = open;
|
238
|
+
}
|
239
|
+
this.calciteActionMenuOpenChange.emit(open);
|
240
|
+
this.setTooltipReferenceElement();
|
241
|
+
}
|
242
|
+
closeCalciteActionMenuOnClick(event) {
|
243
|
+
if (!isPrimaryPointerButton(event)) {
|
244
|
+
return;
|
245
|
+
}
|
246
|
+
const composedPath = event.composedPath();
|
247
|
+
if (composedPath.includes(this.el)) {
|
248
|
+
return;
|
249
|
+
}
|
250
|
+
this.open = false;
|
251
|
+
}
|
252
|
+
activeMenuItemIndexHandler() {
|
253
|
+
this.updateActions(this.actionElements);
|
254
|
+
}
|
255
|
+
// --------------------------------------------------------------------------
|
256
|
+
//
|
257
|
+
// Methods
|
258
|
+
//
|
259
|
+
// --------------------------------------------------------------------------
|
260
|
+
/** Sets focus on the component. */
|
261
|
+
async setFocus() {
|
262
|
+
focusElement(this.menuButtonEl);
|
263
|
+
}
|
264
|
+
renderMenuButton() {
|
265
|
+
const { label, scale, expanded } = this;
|
266
|
+
const menuButtonSlot = (h("slot", { name: SLOTS.trigger, onSlotchange: this.setMenuButtonEl }, h("calcite-action", { class: CSS$1.defaultTrigger, icon: ICONS.menu, ref: this.setDefaultMenuButtonEl, scale: scale, text: label, textEnabled: expanded })));
|
267
|
+
return menuButtonSlot;
|
268
|
+
}
|
269
|
+
renderMenuItems() {
|
270
|
+
const { actionElements, activeMenuItemIndex, open, menuId, menuButtonEl, label, placement, overlayPositioning, flipPlacements } = this;
|
271
|
+
const activeAction = actionElements[activeMenuItemIndex];
|
272
|
+
const activeDescendantId = (activeAction === null || activeAction === void 0 ? void 0 : activeAction.id) || null;
|
273
|
+
return (h("calcite-popover", { disablePointer: true, flipPlacements: flipPlacements, label: label, offsetDistance: 0, open: open, overlayPositioning: overlayPositioning, placement: placement, referenceElement: menuButtonEl }, h("div", { "aria-activedescendant": activeDescendantId, "aria-labelledby": menuButtonEl === null || menuButtonEl === void 0 ? void 0 : menuButtonEl.id, class: CSS$1.menu, id: menuId, onClick: this.handleCalciteActionClick, role: "menu", tabIndex: -1 }, h("slot", { onSlotchange: this.handleDefaultSlotChange }))));
|
274
|
+
}
|
275
|
+
render() {
|
276
|
+
return (h(Fragment, null, this.renderMenuButton(), this.renderMenuItems(), h("slot", { name: SLOTS.tooltip, onSlotchange: this.updateTooltip })));
|
277
|
+
}
|
278
|
+
isValidKey(key, supportedKeys) {
|
279
|
+
return !!supportedKeys.find((k) => k === key);
|
280
|
+
}
|
281
|
+
get el() { return getElement(this); }
|
282
|
+
static get watchers() { return {
|
283
|
+
"expanded": ["expandedHandler"],
|
284
|
+
"open": ["openHandler"],
|
285
|
+
"activeMenuItemIndex": ["activeMenuItemIndexHandler"]
|
286
|
+
}; }
|
287
|
+
};
|
288
|
+
ActionMenu.style = actionMenuCss;
|
289
|
+
|
290
|
+
/*!
|
291
|
+
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
292
|
+
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
|
293
|
+
* v1.0.0-beta.97
|
294
|
+
*/
|
295
|
+
const CSS = {
|
296
|
+
scrim: "scrim",
|
297
|
+
content: "content"
|
298
|
+
};
|
299
|
+
const TEXT = {
|
300
|
+
loading: "Loading"
|
301
|
+
};
|
302
|
+
|
303
|
+
const scrimCss = "@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host{position:absolute;inset:0px;z-index:700;display:flex;block-size:100%;inline-size:100%;flex-direction:column;align-items:stretch}@keyframes calcite-scrim-fade-in{0%{--tw-bg-opacity:0}100%{--tw-text-opacity:1}}.scrim{position:absolute;inset:0px;display:flex;flex-direction:column;align-content:center;align-items:center;justify-content:center;overflow:hidden;animation:calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;background-color:var(--calcite-scrim-background)}.content{padding:1rem}";
|
304
|
+
|
305
|
+
const Scrim = class {
|
306
|
+
constructor(hostRef) {
|
307
|
+
registerInstance(this, hostRef);
|
308
|
+
// --------------------------------------------------------------------------
|
309
|
+
//
|
310
|
+
// Properties
|
311
|
+
//
|
312
|
+
// --------------------------------------------------------------------------
|
313
|
+
/**
|
314
|
+
* Accessible name when the component is loading.
|
315
|
+
*
|
316
|
+
* @default "Loading"
|
317
|
+
*/
|
318
|
+
this.intlLoading = TEXT.loading;
|
319
|
+
/**
|
320
|
+
* When `true`, a busy indicator is displayed.
|
321
|
+
*/
|
322
|
+
this.loading = false;
|
323
|
+
}
|
324
|
+
// --------------------------------------------------------------------------
|
325
|
+
//
|
326
|
+
// Render Method
|
327
|
+
//
|
328
|
+
// --------------------------------------------------------------------------
|
329
|
+
render() {
|
330
|
+
const { el, loading, intlLoading } = this;
|
331
|
+
const hasContent = el.innerHTML.trim().length > 0;
|
332
|
+
const loaderNode = loading ? h("calcite-loader", { active: true, label: intlLoading }) : null;
|
333
|
+
const contentNode = hasContent ? (h("div", { class: CSS.content }, h("slot", null))) : null;
|
334
|
+
return (h("div", { class: CSS.scrim }, loaderNode, contentNode));
|
335
|
+
}
|
336
|
+
get el() { return getElement(this); }
|
337
|
+
};
|
338
|
+
Scrim.style = scrimCss;
|
339
|
+
|
340
|
+
export { ActionMenu as calcite_action_menu, Scrim as calcite_scrim };
|
341
|
+
|
342
|
+
//# sourceMappingURL=p-38ddadf2.entry.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"file":"calcite-action-menu.calcite-scrim.entry.esm.js","mappings":"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","names":["CSS"],"sources":["./node_modules/@esri/calcite-components/dist/collection/components/action-menu/action-menu.css?tag=calcite-action-menu&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/action-menu/action-menu.js","./node_modules/@esri/calcite-components/dist/collection/components/scrim/resources.js","./node_modules/@esri/calcite-components/dist/collection/components/scrim/scrim.css?tag=calcite-scrim&encapsulation=shadow","./node_modules/@esri/calcite-components/dist/collection/components/scrim/scrim.js"],"sourcesContent":["/* mixins & extensions */\n@keyframes in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n:root {\n --calcite-animation-timing: calc(150ms * var(--calcite-internal-duration-factor));\n --calcite-internal-duration-factor: var(--calcite-duration-factor, 1);\n --calcite-internal-animation-timing-fast: calc(100ms * var(--calcite-internal-duration-factor));\n --calcite-internal-animation-timing-medium: calc(200ms * var(--calcite-internal-duration-factor));\n --calcite-internal-animation-timing-slow: calc(300ms * var(--calcite-internal-duration-factor));\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@media (prefers-reduced-motion: reduce) {\n :root {\n --calcite-internal-duration-factor: 0.01;\n }\n}\n/**\n* Currently only used in Checkbox.\n*/\n:root {\n --calcite-floating-ui-transition: var(--calcite-animation-timing);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n background-color: var(--calcite-ui-foreground-1);\n font-size: var(--calcite-font-size-1);\n color: var(--calcite-ui-text-2);\n}\n\n.menu ::slotted(calcite-action) {\n margin: 0.125rem;\n display: flex;\n outline-color: transparent;\n}\n\n.menu ::slotted(calcite-action[active]) {\n outline: 2px solid var(--calcite-ui-brand);\n outline-offset: 0px;\n}\n\n.default-trigger {\n position: relative;\n block-size: 100%;\n flex: 0 1 auto;\n align-self: stretch;\n}\n\nslot[name=trigger]::slotted(calcite-action), \ncalcite-action::slotted([slot=trigger]) {\n position: relative;\n block-size: 100%;\n flex: 0 1 auto;\n align-self: stretch;\n}\n\n.menu {\n flex-direction: column;\n flex-wrap: nowrap;\n outline: 2px solid transparent;\n outline-offset: 2px;\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 * v1.0.0-beta.97\n */\nimport { h } from \"@stencil/core\";\nimport { CSS, SLOTS, ICONS } from \"./resources\";\nimport { focusElement, isPrimaryPointerButton, toAriaBoolean } from \"../../utils/dom\";\nimport { Fragment } from \"@stencil/core/internal\";\nimport { getRoundRobinIndex } from \"../../utils/array\";\nimport { guid } from \"../../utils/guid\";\nimport { isActivationKey } from \"../../utils/key\";\nconst SUPPORTED_MENU_NAV_KEYS = [\"ArrowUp\", \"ArrowDown\", \"End\", \"Home\"];\n/**\n * @slot - A slot for adding `calcite-action`s.\n * @slot trigger - A slot for adding a `calcite-action` to trigger opening the menu.\n * @slot tooltip - A slot for adding an tooltip for the menu.\n */\nexport class ActionMenu {\n constructor() {\n // --------------------------------------------------------------------------\n //\n // Properties\n //\n // --------------------------------------------------------------------------\n /**\n * When `true`, the component is expanded.\n */\n this.expanded = false;\n /**\n * When `true`, the component is open.\n */\n this.open = false;\n /**\n * Determines the type of positioning to use for the overlaid content.\n *\n * Using `\"absolute\"` will work for most cases. The component will be positioned inside of overflowing parent containers and will affect the container's layout.\n * `\"fixed\"` should be used to escape an overflowing parent container, or when the reference element's `position` CSS property is `\"fixed\"`.\n *\n */\n this.overlayPositioning = \"absolute\";\n /**\n * Determines where the component will be positioned relative to the `referenceElement`.\n *\n * @see [LogicalPlacement](https://github.com/Esri/calcite-components/blob/master/src/utils/floating-ui.ts#L25)\n */\n this.placement = \"auto\";\n this.actionElements = [];\n this.guid = `calcite-action-menu-${guid()}`;\n this.menuId = `${this.guid}-menu`;\n this.menuButtonId = `${this.guid}-menu-button`;\n this.activeMenuItemIndex = -1;\n // --------------------------------------------------------------------------\n //\n // Component Methods\n //\n // --------------------------------------------------------------------------\n this.connectMenuButtonEl = () => {\n const { menuButtonId, menuId, open, label } = this;\n const menuButtonEl = this.slottedMenuButtonEl || this.defaultMenuButtonEl;\n if (this.menuButtonEl === menuButtonEl) {\n return;\n }\n this.disconnectMenuButtonEl();\n this.menuButtonEl = menuButtonEl;\n this.setTooltipReferenceElement();\n if (!menuButtonEl) {\n return;\n }\n menuButtonEl.active = open;\n menuButtonEl.setAttribute(\"aria-controls\", menuId);\n menuButtonEl.setAttribute(\"aria-expanded\", toAriaBoolean(open));\n menuButtonEl.setAttribute(\"aria-haspopup\", \"true\");\n if (!menuButtonEl.id) {\n menuButtonEl.id = menuButtonId;\n }\n if (!menuButtonEl.label) {\n menuButtonEl.label = label;\n }\n if (!menuButtonEl.text) {\n menuButtonEl.text = label;\n }\n menuButtonEl.addEventListener(\"pointerdown\", this.menuButtonClick);\n menuButtonEl.addEventListener(\"keydown\", this.menuButtonKeyDown);\n };\n this.disconnectMenuButtonEl = () => {\n const { menuButtonEl } = this;\n if (!menuButtonEl) {\n return;\n }\n menuButtonEl.removeEventListener(\"pointerdown\", this.menuButtonClick);\n menuButtonEl.removeEventListener(\"keydown\", this.menuButtonKeyDown);\n };\n this.setMenuButtonEl = (event) => {\n const actions = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el === null || el === void 0 ? void 0 : el.matches(\"calcite-action\"));\n this.slottedMenuButtonEl = actions[0];\n this.connectMenuButtonEl();\n };\n this.setDefaultMenuButtonEl = (el) => {\n this.defaultMenuButtonEl = el;\n this.connectMenuButtonEl();\n };\n // --------------------------------------------------------------------------\n //\n // Private Methods\n //\n // --------------------------------------------------------------------------\n this.handleCalciteActionClick = () => {\n this.open = false;\n this.setFocus();\n };\n this.menuButtonClick = (event) => {\n if (!isPrimaryPointerButton(event)) {\n return;\n }\n this.toggleOpen();\n };\n this.updateTooltip = (event) => {\n const tooltips = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el === null || el === void 0 ? void 0 : el.matches(\"calcite-tooltip\"));\n this.tooltipEl = tooltips[0];\n this.setTooltipReferenceElement();\n };\n this.setTooltipReferenceElement = () => {\n const { tooltipEl, expanded, menuButtonEl, open } = this;\n if (tooltipEl) {\n tooltipEl.referenceElement = !expanded && !open ? menuButtonEl : null;\n }\n };\n this.updateAction = (action, index) => {\n const { guid, activeMenuItemIndex } = this;\n const id = `${guid}-action-${index}`;\n action.tabIndex = -1;\n action.setAttribute(\"role\", \"menuitem\");\n if (!action.id) {\n action.id = id;\n }\n action.active = index === activeMenuItemIndex;\n };\n this.updateActions = (actions) => {\n actions === null || actions === void 0 ? void 0 : actions.forEach(this.updateAction);\n };\n this.handleDefaultSlotChange = (event) => {\n const actions = event.target\n .assignedElements({\n flatten: true\n })\n .filter((el) => el === null || el === void 0 ? void 0 : el.matches(\"calcite-action\"));\n this.actionElements = actions;\n };\n this.menuButtonKeyDown = (event) => {\n const { key } = event;\n const { actionElements, activeMenuItemIndex, open } = this;\n if (!actionElements.length) {\n return;\n }\n if (isActivationKey(key)) {\n event.preventDefault();\n if (!open) {\n this.toggleOpen();\n return;\n }\n const action = actionElements[activeMenuItemIndex];\n action ? action.click() : this.toggleOpen(false);\n }\n if (key === \"Tab\") {\n this.open = false;\n return;\n }\n if (key === \"Escape\") {\n this.toggleOpen(false);\n event.preventDefault();\n return;\n }\n this.handleActionNavigation(event, key, actionElements);\n };\n this.handleActionNavigation = (event, key, actions) => {\n if (!this.isValidKey(key, SUPPORTED_MENU_NAV_KEYS)) {\n return;\n }\n event.preventDefault();\n if (!this.open) {\n this.toggleOpen();\n if (key === \"Home\" || key === \"ArrowDown\") {\n this.activeMenuItemIndex = 0;\n }\n if (key === \"End\" || key === \"ArrowUp\") {\n this.activeMenuItemIndex = actions.length - 1;\n }\n return;\n }\n if (key === \"Home\") {\n this.activeMenuItemIndex = 0;\n }\n if (key === \"End\") {\n this.activeMenuItemIndex = actions.length - 1;\n }\n const currentIndex = this.activeMenuItemIndex;\n if (key === \"ArrowUp\") {\n this.activeMenuItemIndex = getRoundRobinIndex(Math.max(currentIndex - 1, -1), actions.length);\n }\n if (key === \"ArrowDown\") {\n this.activeMenuItemIndex = getRoundRobinIndex(currentIndex + 1, actions.length);\n }\n };\n this.toggleOpenEnd = () => {\n this.setFocus();\n this.el.removeEventListener(\"calcitePopoverOpen\", this.toggleOpenEnd);\n };\n this.toggleOpen = (value = !this.open) => {\n this.el.addEventListener(\"calcitePopoverOpen\", this.toggleOpenEnd);\n this.open = value;\n };\n }\n // --------------------------------------------------------------------------\n //\n // Lifecycle\n //\n // --------------------------------------------------------------------------\n disconnectedCallback() {\n this.disconnectMenuButtonEl();\n }\n expandedHandler() {\n this.open = false;\n this.setTooltipReferenceElement();\n }\n openHandler(open) {\n this.activeMenuItemIndex = this.open ? 0 : -1;\n if (this.menuButtonEl) {\n this.menuButtonEl.active = open;\n }\n this.calciteActionMenuOpenChange.emit(open);\n this.setTooltipReferenceElement();\n }\n closeCalciteActionMenuOnClick(event) {\n if (!isPrimaryPointerButton(event)) {\n return;\n }\n const composedPath = event.composedPath();\n if (composedPath.includes(this.el)) {\n return;\n }\n this.open = false;\n }\n activeMenuItemIndexHandler() {\n this.updateActions(this.actionElements);\n }\n // --------------------------------------------------------------------------\n //\n // Methods\n //\n // --------------------------------------------------------------------------\n /** Sets focus on the component. */\n async setFocus() {\n focusElement(this.menuButtonEl);\n }\n renderMenuButton() {\n const { label, scale, expanded } = this;\n const menuButtonSlot = (h(\"slot\", { name: SLOTS.trigger, onSlotchange: this.setMenuButtonEl }, h(\"calcite-action\", { class: CSS.defaultTrigger, icon: ICONS.menu, ref: this.setDefaultMenuButtonEl, scale: scale, text: label, textEnabled: expanded })));\n return menuButtonSlot;\n }\n renderMenuItems() {\n const { actionElements, activeMenuItemIndex, open, menuId, menuButtonEl, label, placement, overlayPositioning, flipPlacements } = this;\n const activeAction = actionElements[activeMenuItemIndex];\n const activeDescendantId = (activeAction === null || activeAction === void 0 ? void 0 : activeAction.id) || null;\n return (h(\"calcite-popover\", { disablePointer: true, flipPlacements: flipPlacements, label: label, offsetDistance: 0, open: open, overlayPositioning: overlayPositioning, placement: placement, referenceElement: menuButtonEl }, h(\"div\", { \"aria-activedescendant\": activeDescendantId, \"aria-labelledby\": menuButtonEl === null || menuButtonEl === void 0 ? void 0 : menuButtonEl.id, class: CSS.menu, id: menuId, onClick: this.handleCalciteActionClick, role: \"menu\", tabIndex: -1 }, h(\"slot\", { onSlotchange: this.handleDefaultSlotChange }))));\n }\n render() {\n return (h(Fragment, null, this.renderMenuButton(), this.renderMenuItems(), h(\"slot\", { name: SLOTS.tooltip, onSlotchange: this.updateTooltip })));\n }\n isValidKey(key, supportedKeys) {\n return !!supportedKeys.find((k) => k === key);\n }\n static get is() { return \"calcite-action-menu\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"action-menu.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"action-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"expanded\": {\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`, the component is expanded.\"\n },\n \"attribute\": \"expanded\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"flipPlacements\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"EffectivePlacement[]\",\n \"resolved\": \"Placement[]\",\n \"references\": {\n \"EffectivePlacement\": {\n \"location\": \"import\",\n \"path\": \"../../utils/floating-ui\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Defines the available placements that can be used when a flip occurs.\"\n }\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specifies the text string for the component.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"open\": {\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\": \"When `true`, the component is open.\"\n },\n \"attribute\": \"open\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"overlayPositioning\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"OverlayPositioning\",\n \"resolved\": \"\\\"absolute\\\" | \\\"fixed\\\"\",\n \"references\": {\n \"OverlayPositioning\": {\n \"location\": \"import\",\n \"path\": \"../../utils/floating-ui\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines the type of positioning to use for the overlaid content.\\n\\nUsing `\\\"absolute\\\"` will work for most cases. The component will be positioned inside of overflowing parent containers and will affect the container's layout.\\n`\\\"fixed\\\"` should be used to escape an overflowing parent container, or when the reference element's `position` CSS property is `\\\"fixed\\\"`.\"\n },\n \"attribute\": \"overlay-positioning\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"absolute\\\"\"\n },\n \"placement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LogicalPlacement\",\n \"resolved\": \"Placement | VariationPlacement | AutoPlacement | DeprecatedPlacement\",\n \"references\": {\n \"LogicalPlacement\": {\n \"location\": \"import\",\n \"path\": \"../../utils/floating-ui\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"see\",\n \"text\": \"[LogicalPlacement](https://github.com/Esri/calcite-components/blob/master/src/utils/floating-ui.ts#L25)\"\n }],\n \"text\": \"Determines where the component will be positioned relative to the `referenceElement`.\"\n },\n \"attribute\": \"placement\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"auto\\\"\"\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\": \"Specifies the size of the component's trigger `calcite-action`.\"\n },\n \"attribute\": \"scale\",\n \"reflect\": true\n }\n };\n }\n static get states() {\n return {\n \"menuButtonEl\": {},\n \"activeMenuItemIndex\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"calciteActionMenuOpenChange\",\n \"name\": \"calciteActionMenuOpenChange\",\n \"bubbles\": true,\n \"cancelable\": false,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emits when the `open` property has changed.\\n\\n**Note:**: The event payload is deprecated, please use the `open` property on the component instead\"\n },\n \"complexType\": {\n \"original\": \"DeprecatedEventPayload\",\n \"resolved\": \"any\",\n \"references\": {\n \"DeprecatedEventPayload\": {\n \"location\": \"import\",\n \"path\": \"../interfaces\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\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 }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"expanded\",\n \"methodName\": \"expandedHandler\"\n }, {\n \"propName\": \"open\",\n \"methodName\": \"openHandler\"\n }, {\n \"propName\": \"activeMenuItemIndex\",\n \"methodName\": \"activeMenuItemIndexHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"pointerdown\",\n \"method\": \"closeCalciteActionMenuOnClick\",\n \"target\": \"window\",\n \"capture\": false,\n \"passive\": true\n }];\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 * v1.0.0-beta.97\n */\nexport const CSS = {\n scrim: \"scrim\",\n content: \"content\"\n};\nexport const TEXT = {\n loading: \"Loading\"\n};\n","/* mixins & extensions */\n@keyframes in {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n@keyframes in-down {\n 0% {\n opacity: 0;\n transform: translate3D(0, -5px, 0);\n }\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n@keyframes in-up {\n 0% {\n opacity: 0;\n transform: translate3D(0, 5px, 0);\n }\n 100% {\n opacity: 1;\n transform: translate3D(0, 0, 0);\n }\n}\n@keyframes in-scale {\n 0% {\n opacity: 0;\n transform: scale3D(0.95, 0.95, 1);\n }\n 100% {\n opacity: 1;\n transform: scale3D(1, 1, 1);\n }\n}\n:root {\n --calcite-animation-timing: calc(150ms * var(--calcite-internal-duration-factor));\n --calcite-internal-duration-factor: var(--calcite-duration-factor, 1);\n --calcite-internal-animation-timing-fast: calc(100ms * var(--calcite-internal-duration-factor));\n --calcite-internal-animation-timing-medium: calc(200ms * var(--calcite-internal-duration-factor));\n --calcite-internal-animation-timing-slow: calc(300ms * var(--calcite-internal-duration-factor));\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@media (prefers-reduced-motion: reduce) {\n :root {\n --calcite-internal-duration-factor: 0.01;\n }\n}\n/**\n* Currently only used in Checkbox.\n*/\n:root {\n --calcite-floating-ui-transition: var(--calcite-animation-timing);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host {\n position: absolute;\n inset: 0px;\n z-index: 700;\n display: flex;\n block-size: 100%;\n inline-size: 100%;\n flex-direction: column;\n align-items: stretch;\n}\n\n@keyframes calcite-scrim-fade-in {\n 0% {\n --tw-bg-opacity: 0;\n }\n 100% {\n --tw-text-opacity: 1;\n }\n}\n.scrim {\n position: absolute;\n inset: 0px;\n display: flex;\n flex-direction: column;\n align-content: center;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n animation: calcite-scrim-fade-in var(--calcite-internal-animation-timing-medium) ease-in-out;\n background-color: var(--calcite-scrim-background);\n}\n\n.content {\n padding: 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 * v1.0.0-beta.97\n */\nimport { h } from \"@stencil/core\";\nimport { CSS, TEXT } from \"./resources\";\n/**\n * @slot - A slot for adding custom content, primarily loading information.\n */\nexport class Scrim {\n constructor() {\n // --------------------------------------------------------------------------\n //\n // Properties\n //\n // --------------------------------------------------------------------------\n /**\n * Accessible name when the component is loading.\n *\n * @default \"Loading\"\n */\n this.intlLoading = TEXT.loading;\n /**\n * When `true`, a busy indicator is displayed.\n */\n this.loading = false;\n }\n // --------------------------------------------------------------------------\n //\n // Render Method\n //\n // --------------------------------------------------------------------------\n render() {\n const { el, loading, intlLoading } = this;\n const hasContent = el.innerHTML.trim().length > 0;\n const loaderNode = loading ? h(\"calcite-loader\", { active: true, label: intlLoading }) : null;\n const contentNode = hasContent ? (h(\"div\", { class: CSS.content }, h(\"slot\", null))) : null;\n return (h(\"div\", { class: CSS.scrim }, loaderNode, contentNode));\n }\n static get is() { return \"calcite-scrim\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"scrim.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"scrim.css\"]\n };\n }\n static get properties() {\n return {\n \"intlLoading\": {\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 \"name\": \"default\",\n \"text\": \"\\\"Loading\\\"\"\n }],\n \"text\": \"Accessible name when the component is loading.\"\n },\n \"attribute\": \"intl-loading\",\n \"reflect\": false,\n \"defaultValue\": \"TEXT.loading\"\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`, a busy indicator is displayed.\"\n },\n \"attribute\": \"loading\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n"],"version":3}
|