@esri/solutions-components 0.6.46 → 0.7.1

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