@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.
Files changed (131) hide show
  1. package/dist/assets/t9n/solution-config-modal/resources.json +22 -0
  2. package/dist/assets/t9n/solution-config-modal/resources_en.json +22 -0
  3. package/dist/cjs/calcite-action-menu_2.cjs.entry.js +18 -401
  4. package/dist/cjs/calcite-action-menu_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/calcite-action_2.cjs.entry.js +423 -71
  6. package/dist/cjs/calcite-action_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/calcite-loader.cjs.entry.js +97 -0
  8. package/dist/cjs/calcite-loader.cjs.entry.js.map +1 -0
  9. package/dist/cjs/{solution-configuration.cjs.entry.js → calcite-modal_2.cjs.entry.js} +451 -13
  10. package/dist/cjs/calcite-modal_2.cjs.entry.js.map +1 -0
  11. package/dist/cjs/{calcite-shell-panel_14.cjs.entry.js → calcite-panel_12.cjs.entry.js} +455 -709
  12. package/dist/cjs/calcite-panel_12.cjs.entry.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/solution-config-modal.cjs.entry.js +131 -0
  15. package/dist/cjs/solution-config-modal.cjs.entry.js.map +1 -0
  16. package/dist/cjs/{solution-contents_3.cjs.entry.js → solution-contents_7.cjs.entry.js} +664 -5
  17. package/dist/cjs/solution-contents_7.cjs.entry.js.map +1 -0
  18. package/dist/cjs/{solution-store-893499a5.js → solution-store-09b3fc53.js} +4 -6
  19. package/dist/cjs/solution-store-09b3fc53.js.map +1 -0
  20. package/dist/cjs/solutions-components.cjs.js +1 -1
  21. package/dist/collection/collection-manifest.json +1 -0
  22. package/dist/collection/components/solution-config-modal/solution-config-modal.css +91 -0
  23. package/dist/collection/components/solution-config-modal/solution-config-modal.js +245 -0
  24. package/dist/collection/components/solution-config-modal/solution-config-modal.js.map +1 -0
  25. package/dist/collection/components/solution-configuration/solution-configuration.js +23 -17
  26. package/dist/collection/components/solution-configuration/solution-configuration.js.map +1 -1
  27. package/dist/collection/components/solution-item/solution-item.js +0 -2
  28. package/dist/collection/components/solution-item/solution-item.js.map +1 -1
  29. package/dist/collection/components/solution-item-details/solution-item-details.js +0 -13
  30. package/dist/collection/components/solution-item-details/solution-item-details.js.map +1 -1
  31. package/dist/collection/utils/solution-store.js +3 -5
  32. package/dist/collection/utils/solution-store.js.map +1 -1
  33. package/dist/collection/utils/solution-store.ts +3 -5
  34. package/dist/esm/buffer-tools_6.entry.js +2 -2
  35. package/dist/esm/calcite-action-bar_6.entry.js +2 -2
  36. package/dist/esm/calcite-action-menu_2.entry.js +20 -403
  37. package/dist/esm/calcite-action-menu_2.entry.js.map +1 -1
  38. package/dist/esm/calcite-action_2.entry.js +424 -72
  39. package/dist/esm/calcite-action_2.entry.js.map +1 -1
  40. package/dist/esm/calcite-combobox_3.entry.js +2 -2
  41. package/dist/esm/calcite-loader.entry.js +93 -0
  42. package/dist/esm/calcite-loader.entry.js.map +1 -0
  43. package/dist/esm/{solution-configuration.entry.js → calcite-modal_2.entry.js} +453 -16
  44. package/dist/esm/calcite-modal_2.entry.js.map +1 -0
  45. package/dist/esm/{calcite-shell-panel_14.entry.js → calcite-panel_12.entry.js} +454 -706
  46. package/dist/esm/calcite-panel_12.entry.js.map +1 -0
  47. package/dist/esm/config-layer-picker.entry.js +2 -2
  48. package/dist/esm/{interfaces-e2a2064d.js → interfaces-1bdfc3a8.js} +2 -2
  49. package/dist/esm/{interfaces-e2a2064d.js.map → interfaces-1bdfc3a8.js.map} +1 -1
  50. package/dist/esm/loader.js +1 -1
  51. package/dist/esm/{mapViewUtils-09f1e7bd.js → mapViewUtils-809947c8.js} +2 -2
  52. package/dist/esm/{mapViewUtils-09f1e7bd.js.map → mapViewUtils-809947c8.js.map} +1 -1
  53. package/dist/esm/public-notification.entry.js +2 -2
  54. package/dist/esm/solution-config-modal.entry.js +127 -0
  55. package/dist/esm/solution-config-modal.entry.js.map +1 -0
  56. package/dist/esm/{solution-contents_3.entry.js → solution-contents_7.entry.js} +661 -6
  57. package/dist/esm/solution-contents_7.entry.js.map +1 -0
  58. package/dist/esm/{solution-store-0c58c852.js → solution-store-d8519c64.js} +5 -7
  59. package/dist/esm/solution-store-d8519c64.js.map +1 -0
  60. package/dist/esm/solutions-components.js +1 -1
  61. package/dist/solutions-components/{p-be1ed982.entry.js → p-11068040.entry.js} +3 -3
  62. package/dist/solutions-components/{p-be1ed982.entry.js.map → p-11068040.entry.js.map} +0 -0
  63. package/dist/solutions-components/{p-659edb14.js → p-2910dd9e.js} +5 -7
  64. package/dist/{cjs/solution-store-893499a5.js.map → solutions-components/p-2910dd9e.js.map} +1 -1
  65. package/dist/solutions-components/{p-291fd295.entry.js → p-30810b45.entry.js} +3 -3
  66. package/dist/solutions-components/{p-291fd295.entry.js.map → p-30810b45.entry.js.map} +0 -0
  67. package/dist/solutions-components/p-38ddadf2.entry.js +342 -0
  68. package/dist/solutions-components/p-38ddadf2.entry.js.map +1 -0
  69. package/dist/solutions-components/{p-77c75f3a.entry.js → p-5b20090f.entry.js} +661 -6
  70. package/dist/solutions-components/p-5b20090f.entry.js.map +1 -0
  71. package/dist/solutions-components/{p-9393631c.entry.js → p-9ef1328a.entry.js} +3 -3
  72. package/dist/solutions-components/{p-9393631c.entry.js.map → p-9ef1328a.entry.js.map} +0 -0
  73. package/dist/solutions-components/{p-984cb687.entry.js → p-a1786d11.entry.js} +454 -706
  74. package/dist/solutions-components/p-a1786d11.entry.js.map +1 -0
  75. package/dist/solutions-components/{p-fe0fdd8b.js → p-c20bd963.js} +2 -2
  76. package/dist/solutions-components/{p-fe0fdd8b.js.map → p-c20bd963.js.map} +1 -1
  77. package/dist/solutions-components/p-c5721b0f.entry.js +127 -0
  78. package/dist/solutions-components/p-c5721b0f.entry.js.map +1 -0
  79. package/dist/solutions-components/{p-24d75151.entry.js → p-c818e661.entry.js} +3 -3
  80. package/dist/solutions-components/{p-24d75151.entry.js.map → p-c818e661.entry.js.map} +0 -0
  81. package/dist/solutions-components/{p-90629c1d.entry.js → p-cf59eb16.entry.js} +453 -16
  82. package/dist/solutions-components/p-cf59eb16.entry.js.map +1 -0
  83. package/dist/solutions-components/p-e405ebe8.entry.js +93 -0
  84. package/dist/solutions-components/p-e405ebe8.entry.js.map +1 -0
  85. package/dist/solutions-components/{p-77e6b03c.entry.js → p-e6fb9cde.entry.js} +3 -3
  86. package/dist/solutions-components/{p-77e6b03c.entry.js.map → p-e6fb9cde.entry.js.map} +0 -0
  87. package/dist/solutions-components/{p-97c4a268.entry.js → p-ef6f9e24.entry.js} +113 -229
  88. package/dist/solutions-components/p-ef6f9e24.entry.js.map +1 -0
  89. package/dist/solutions-components/{p-6b9dc092.js → p-f04fdb9a.js} +2 -2
  90. package/dist/solutions-components/{p-6b9dc092.js.map → p-f04fdb9a.js.map} +1 -1
  91. package/dist/solutions-components/solutions-components.esm.js +1 -1
  92. package/dist/solutions-components/utils/solution-store.ts +3 -5
  93. package/dist/solutions-components_commit.txt +8 -8
  94. package/dist/types/components/solution-config-modal/solution-config-modal.d.ts +69 -0
  95. package/dist/types/components/solution-configuration/solution-configuration.d.ts +4 -2
  96. package/dist/types/components/solution-item-details/solution-item-details.d.ts +0 -1
  97. package/dist/types/components.d.ts +43 -5
  98. package/dist/types/preact.d.ts +4 -0
  99. package/package.json +1 -1
  100. package/dist/cjs/calcite-modal.cjs.entry.js +0 -449
  101. package/dist/cjs/calcite-modal.cjs.entry.js.map +0 -1
  102. package/dist/cjs/calcite-panel_2.cjs.entry.js +0 -439
  103. package/dist/cjs/calcite-panel_2.cjs.entry.js.map +0 -1
  104. package/dist/cjs/calcite-scrim.cjs.entry.js +0 -64
  105. package/dist/cjs/calcite-scrim.cjs.entry.js.map +0 -1
  106. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js.map +0 -1
  107. package/dist/cjs/solution-configuration.cjs.entry.js.map +0 -1
  108. package/dist/cjs/solution-contents_3.cjs.entry.js.map +0 -1
  109. package/dist/esm/calcite-modal.entry.js +0 -445
  110. package/dist/esm/calcite-modal.entry.js.map +0 -1
  111. package/dist/esm/calcite-panel_2.entry.js +0 -434
  112. package/dist/esm/calcite-panel_2.entry.js.map +0 -1
  113. package/dist/esm/calcite-scrim.entry.js +0 -60
  114. package/dist/esm/calcite-scrim.entry.js.map +0 -1
  115. package/dist/esm/calcite-shell-panel_14.entry.js.map +0 -1
  116. package/dist/esm/solution-configuration.entry.js.map +0 -1
  117. package/dist/esm/solution-contents_3.entry.js.map +0 -1
  118. package/dist/esm/solution-store-0c58c852.js.map +0 -1
  119. package/dist/solutions-components/p-0fda7d9e.entry.js +0 -434
  120. package/dist/solutions-components/p-0fda7d9e.entry.js.map +0 -1
  121. package/dist/solutions-components/p-2ff754ce.entry.js +0 -257
  122. package/dist/solutions-components/p-2ff754ce.entry.js.map +0 -1
  123. package/dist/solutions-components/p-30a6199a.entry.js +0 -445
  124. package/dist/solutions-components/p-30a6199a.entry.js.map +0 -1
  125. package/dist/solutions-components/p-659edb14.js.map +0 -1
  126. package/dist/solutions-components/p-77c75f3a.entry.js.map +0 -1
  127. package/dist/solutions-components/p-90629c1d.entry.js.map +0 -1
  128. package/dist/solutions-components/p-97c4a268.entry.js.map +0 -1
  129. package/dist/solutions-components/p-984cb687.entry.js.map +0 -1
  130. package/dist/solutions-components/p-f5268b4f.entry.js +0 -60
  131. 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-fe0fdd8b.js';
15
- import { E as EWorkflowType, d as ESelectionMode, e as ERefineMode } from './p-6b9dc092.js';
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-291fd295.entry.js.map
1250
+ //# sourceMappingURL=p-30810b45.entry.js.map
@@ -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}