@esri/solutions-components 0.8.23 → 0.8.25

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. package/dist/cjs/arcgis-login.cjs.entry.js +1 -1
  2. package/dist/cjs/basemap-gallery_7.cjs.entry.js +1 -1
  3. package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
  4. package/dist/cjs/{calcite-avatar.cjs.entry.js → calcite-avatar_2.cjs.entry.js} +62 -0
  5. package/dist/cjs/calcite-block_5.cjs.entry.js +12 -3
  6. package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +419 -0
  7. package/dist/cjs/{calcite-dropdown_4.cjs.entry.js → calcite-dropdown_2.cjs.entry.js} +12 -435
  8. package/dist/cjs/calcite-flow_6.cjs.entry.js +44 -34
  9. package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
  10. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
  11. package/dist/cjs/crowdsource-reporter.cjs.entry.js +58 -38
  12. package/dist/cjs/feature-list.cjs.entry.js +5 -4
  13. package/dist/cjs/{helpers-9347ad83.js → helpers-618a3f7d.js} +2 -1
  14. package/dist/cjs/instant-apps-create.cjs.entry.js +266 -0
  15. package/dist/cjs/instant-apps-export.cjs.entry.js +31 -16
  16. package/dist/cjs/instant-apps-header.cjs.entry.js +3 -2
  17. package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +11 -4
  18. package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +1 -1
  19. package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +1 -1
  20. package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +2 -2
  21. package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +1 -1
  22. package/dist/cjs/instant-apps-landing-page.cjs.entry.js +45 -9
  23. package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +1 -1
  24. package/dist/cjs/instant-apps-language-translator.cjs.entry.js +1 -1
  25. package/dist/cjs/instant-apps-sign-in.cjs.entry.js +168 -0
  26. package/dist/cjs/{languageSwitcher-395021d6.js → languageSwitcher-b9a1485c.js} +3 -1
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/cjs/public-notification.cjs.entry.js +3 -3
  29. package/dist/cjs/resources-fa37e40f.js +26 -0
  30. package/dist/cjs/solutions-components.cjs.js +1 -1
  31. package/dist/collection/collection-manifest.json +3 -1
  32. package/dist/collection/components/arcgis-login/arcgis-login.js +1 -1
  33. package/dist/collection/components/basemap-gallery/basemap-gallery.js +1 -1
  34. package/dist/collection/components/buffer-tools/buffer-tools.js +1 -1
  35. package/dist/collection/components/card-manager/card-manager.js +1 -1
  36. package/dist/collection/components/create-feature/create-feature.js +9 -2
  37. package/dist/collection/components/create-related-feature/create-related-feature.js +9 -2
  38. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
  39. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +58 -47
  40. package/dist/collection/components/feature-details/feature-details.css +4 -4
  41. package/dist/collection/components/feature-details/feature-details.js +62 -18
  42. package/dist/collection/components/feature-list/feature-list.css +2 -0
  43. package/dist/collection/components/feature-list/feature-list.js +22 -3
  44. package/dist/collection/components/layer-list/layer-list.js +6 -13
  45. package/dist/collection/components/public-notification/public-notification.js +3 -3
  46. package/dist/collection/demos/crowdsource-reporter.html +22 -15
  47. package/dist/collection/utils/interfaces.ts +1 -0
  48. package/dist/components/arcgis-login.js +1 -1
  49. package/dist/components/basemap-gallery2.js +1 -1
  50. package/dist/components/buffer-tools2.js +1 -1
  51. package/dist/components/calcite-navigation-user.js +1 -99
  52. package/dist/components/card-manager2.js +1 -1
  53. package/dist/components/create-feature2.js +9 -2
  54. package/dist/components/create-related-feature2.js +9 -2
  55. package/dist/components/crowdsource-manager.js +1 -1
  56. package/dist/components/crowdsource-reporter.js +59 -39
  57. package/dist/components/feature-details2.js +22 -17
  58. package/dist/components/feature-list2.js +6 -4
  59. package/dist/components/helpers.js +3 -2
  60. package/dist/components/instant-apps-ckeditor-wrapper2.js +1 -1
  61. package/dist/components/instant-apps-create.js +317 -0
  62. package/dist/components/instant-apps-export.js +32 -16
  63. package/dist/components/instant-apps-filter-list2.js +6 -1
  64. package/dist/components/instant-apps-header2.js +3 -2
  65. package/dist/components/instant-apps-interactive-legend-classic2.js +12 -5
  66. package/dist/components/instant-apps-interactive-legend-legend-element-caption2.js +2 -2
  67. package/dist/components/instant-apps-landing-page.js +91 -16
  68. package/dist/components/instant-apps-language-translator2.js +3 -1
  69. package/dist/components/instant-apps-sign-in.js +11 -0
  70. package/dist/components/instant-apps-sign-in2.js +243 -0
  71. package/dist/components/instant-apps-social-share2.js +8 -2
  72. package/dist/components/layer-list2.js +6 -13
  73. package/dist/{esm/calcite-navigation-user.entry.js → components/navigation-user.js} +46 -9
  74. package/dist/components/public-notification.js +3 -3
  75. package/dist/esm/arcgis-login.entry.js +1 -1
  76. package/dist/esm/basemap-gallery_7.entry.js +1 -1
  77. package/dist/esm/buffer-tools_3.entry.js +1 -1
  78. package/dist/esm/{calcite-avatar.entry.js → calcite-avatar_2.entry.js} +64 -3
  79. package/dist/esm/calcite-block_5.entry.js +12 -3
  80. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
  81. package/dist/esm/calcite-color-picker.entry.js +1 -1
  82. package/dist/esm/calcite-dropdown-group_2.entry.js +414 -0
  83. package/dist/esm/{calcite-dropdown_4.entry.js → calcite-dropdown_2.entry.js} +2 -423
  84. package/dist/esm/calcite-flow_6.entry.js +44 -34
  85. package/dist/esm/card-manager_3.entry.js +1 -1
  86. package/dist/esm/crowdsource-manager.entry.js +1 -1
  87. package/dist/esm/crowdsource-reporter.entry.js +58 -38
  88. package/dist/esm/feature-list.entry.js +5 -4
  89. package/dist/esm/{helpers-a5a81b9d.js → helpers-61b05164.js} +3 -2
  90. package/dist/esm/instant-apps-create.entry.js +262 -0
  91. package/dist/esm/instant-apps-export.entry.js +31 -16
  92. package/dist/esm/instant-apps-header.entry.js +3 -2
  93. package/dist/esm/instant-apps-interactive-legend-classic.entry.js +11 -4
  94. package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +1 -1
  95. package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +1 -1
  96. package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +2 -2
  97. package/dist/esm/instant-apps-interactive-legend.entry.js +1 -1
  98. package/dist/esm/instant-apps-landing-page.entry.js +46 -10
  99. package/dist/esm/instant-apps-language-switcher.entry.js +1 -1
  100. package/dist/esm/instant-apps-language-translator.entry.js +1 -1
  101. package/dist/esm/instant-apps-sign-in.entry.js +164 -0
  102. package/dist/esm/{languageSwitcher-a4a615e4.js → languageSwitcher-d60f03b2.js} +3 -1
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/esm/public-notification.entry.js +3 -3
  105. package/dist/esm/resources-16800cce.js +24 -0
  106. package/dist/esm/solutions-components.js +1 -1
  107. package/dist/esm/{utils-6419e941.js → utils-251cb6de.js} +1 -1
  108. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-create/instant-apps-create.css +150 -0
  109. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-header/instant-apps-header.css +16 -9
  110. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-landing-page/instant-apps-landing-page.css +19 -0
  111. package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-sign-in/instant-apps-sign-in.css +98 -0
  112. package/dist/solutions-components/demos/crowdsource-reporter.html +22 -15
  113. package/dist/solutions-components/{p-88495699.entry.js → p-16730f05.entry.js} +1 -1
  114. package/dist/solutions-components/p-1ae3b886.entry.js +17 -0
  115. package/dist/solutions-components/{p-63460d51.entry.js → p-1ff9eb95.entry.js} +1 -1
  116. package/dist/solutions-components/{p-8f6e0ae5.entry.js → p-26eb1225.entry.js} +1 -1
  117. package/dist/solutions-components/{p-3a2e0188.entry.js → p-2c044250.entry.js} +2 -2
  118. package/dist/solutions-components/p-314dc933.entry.js +6 -0
  119. package/dist/solutions-components/p-50741707.entry.js +6 -0
  120. package/dist/solutions-components/p-5b817c98.entry.js +6 -0
  121. package/dist/solutions-components/p-614ebce7.js +6 -0
  122. package/dist/solutions-components/p-686fa7ce.entry.js +6 -0
  123. package/dist/solutions-components/{p-df73649e.entry.js → p-77cd573b.entry.js} +1 -1
  124. package/dist/solutions-components/{p-c95dcdf7.entry.js → p-7883b885.entry.js} +3 -3
  125. package/dist/solutions-components/p-79e2e203.entry.js +6 -0
  126. package/dist/solutions-components/{p-968a6fd8.entry.js → p-7b17e929.entry.js} +1 -1
  127. package/dist/solutions-components/p-80b3eb6b.entry.js +6 -0
  128. package/dist/solutions-components/p-84913712.js +6 -0
  129. package/dist/solutions-components/p-8c500fd7.entry.js +6 -0
  130. package/dist/solutions-components/{p-fe9d6d06.js → p-9f56c02c.js} +1 -1
  131. package/dist/solutions-components/{p-667c022f.entry.js → p-af4be4ce.entry.js} +1 -1
  132. package/dist/solutions-components/p-bb2e669d.entry.js +6 -0
  133. package/dist/solutions-components/p-c2ec0dcc.entry.js +17 -0
  134. package/dist/solutions-components/p-c41997d5.js +11 -0
  135. package/dist/solutions-components/p-c512fcfb.entry.js +6 -0
  136. package/dist/solutions-components/{p-21d6360a.entry.js → p-c7f0e7a8.entry.js} +1 -1
  137. package/dist/solutions-components/{p-9c7d4343.entry.js → p-cd91c3e7.entry.js} +1 -1
  138. package/dist/solutions-components/p-ceba37d3.entry.js +11 -0
  139. package/dist/solutions-components/{p-09b769b7.entry.js → p-d8a15e32.entry.js} +1 -1
  140. package/dist/solutions-components/p-d8da6406.entry.js +6 -0
  141. package/dist/solutions-components/p-da6b3c8a.entry.js +6 -0
  142. package/dist/solutions-components/{p-60f1055e.entry.js → p-e2400b0d.entry.js} +1 -1
  143. package/dist/solutions-components/p-f35cc7ae.entry.js +6 -0
  144. package/dist/solutions-components/solutions-components.esm.js +1 -1
  145. package/dist/solutions-components/utils/interfaces.ts +1 -0
  146. package/dist/types/components/create-feature/create-feature.d.ts +4 -0
  147. package/dist/types/components/create-related-feature/create-related-feature.d.ts +4 -0
  148. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +18 -7
  149. package/dist/types/components/feature-details/feature-details.d.ts +17 -1
  150. package/dist/types/components/feature-list/feature-list.d.ts +4 -0
  151. package/dist/types/components/layer-list/layer-list.d.ts +1 -1
  152. package/dist/types/components.d.ts +25 -2
  153. package/dist/types/preact.d.ts +7 -2
  154. package/dist/types/utils/interfaces.d.ts +1 -0
  155. package/package.json +2 -2
  156. package/dist/cjs/calcite-navigation-user.cjs.entry.js +0 -73
  157. package/dist/solutions-components/p-08a1e120.js +0 -6
  158. package/dist/solutions-components/p-3283660c.entry.js +0 -6
  159. package/dist/solutions-components/p-33647277.entry.js +0 -6
  160. package/dist/solutions-components/p-3af0764f.entry.js +0 -6
  161. package/dist/solutions-components/p-41d288c0.entry.js +0 -6
  162. package/dist/solutions-components/p-599dcc29.js +0 -6
  163. package/dist/solutions-components/p-64b4b579.entry.js +0 -11
  164. package/dist/solutions-components/p-64da5bb8.entry.js +0 -17
  165. package/dist/solutions-components/p-ab96dd27.entry.js +0 -6
  166. package/dist/solutions-components/p-bb0c7be3.entry.js +0 -17
  167. package/dist/solutions-components/p-bb8e3add.entry.js +0 -11
  168. package/dist/solutions-components/p-c36bb8ca.entry.js +0 -6
  169. package/dist/solutions-components/p-cbe166fc.entry.js +0 -6
  170. package/dist/solutions-components/p-eab95aa4.entry.js +0 -6
  171. package/dist/solutions-components/p-f6a1673c.entry.js +0 -6
@@ -589,6 +589,7 @@ export interface IReportingOption {
589
589
  likeField?: string;
590
590
  dislike: boolean;
591
591
  dislikeField?: string;
592
+ visible: boolean;
592
593
  }
593
594
 
594
595
  export interface ISortingInfo {
@@ -72,6 +72,10 @@ export declare class CreateFeature {
72
72
  * boolean: Flag to maintain the add attachment
73
73
  */
74
74
  protected _addingAttachment: boolean;
75
+ /**
76
+ * boolean: Flag to maintain form submission using submit button
77
+ */
78
+ protected _isSubmitBtnClicked: boolean;
75
79
  /**
76
80
  * Called each time the mapView prop is changed.
77
81
  */
@@ -52,6 +52,10 @@ export declare class CreateRelatedFeature {
52
52
  * boolean: Flag to maintain the add attachment
53
53
  */
54
54
  protected _addingAttachment: boolean;
55
+ /**
56
+ * boolean: Flag to maintain form submission using submit button
57
+ */
58
+ protected _isSubmitBtnClicked: boolean;
55
59
  /**
56
60
  * Called each time the mapView prop is changed.
57
61
  */
@@ -15,7 +15,7 @@
15
15
  */
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { VNode, EventEmitter } from "../../stencil-public-runtime";
18
- import { ILayerExpression, IMapChange, IMapClick, IMapInfo, IReportingOptions, ISearchConfiguration, ISortingInfo, theme } from "../../utils/interfaces";
18
+ import { ILayerExpression, IMapChange, IMapClick, IMapInfo, IReportingOption, IReportingOptions, ISearchConfiguration, ISortingInfo, theme } from "../../utils/interfaces";
19
19
  import CrowdsourceReporter_T9n from "../../assets/t9n/crowdsource-reporter/resources.json";
20
20
  import { ILayerItemsHash } from "../layer-list/layer-list";
21
21
  export declare class CrowdsourceReporter {
@@ -145,7 +145,7 @@ export declare class CrowdsourceReporter {
145
145
  */
146
146
  _flowItems: string[];
147
147
  /**
148
- * boolean: When true show the sort and filter icon
148
+ * boolean: Will be true when has valid reporting layers (This will be used to show the create report button on layer list)
149
149
  */
150
150
  _hasValidLayers: boolean;
151
151
  /**
@@ -301,6 +301,10 @@ export declare class CrowdsourceReporter {
301
301
  * __esri.FeatureLayer: Selected feature layer from the layer list
302
302
  */
303
303
  protected _selectedLayer: __esri.FeatureLayer;
304
+ /**
305
+ * ILayerItemsHash: LayerDetailsHash for each layer in the map
306
+ */
307
+ protected _layerItemsHash: ILayerItemsHash;
304
308
  /**
305
309
  * Called each time the mapView prop is changed.
306
310
  */
@@ -309,11 +313,6 @@ export declare class CrowdsourceReporter {
309
313
  * Called each time the mapView prop is changed.
310
314
  */
311
315
  mapViewWatchHandler(): Promise<void>;
312
- /**
313
- * On Feature details change update the Layer title and the current selected layer id
314
- * @param evt Event hold the details of current feature graphic in the info-card
315
- */
316
- selectionChanged(evt: CustomEvent): Promise<void>;
317
316
  /**
318
317
  * Emitted when toggle panel button is clicked in reporter
319
318
  */
@@ -342,6 +341,12 @@ export declare class CrowdsourceReporter {
342
341
  * @param layerName string layerName of the selected layer
343
342
  */
344
343
  protected setSelectedLayer(layerId: string, layerName: string): Promise<void>;
344
+ /**
345
+ * Returns the layers configuration
346
+ * @param layerId string layerId of the selected layer
347
+ * @returns Configuration for the layerId
348
+ */
349
+ protected _getLayersConfig(layerId: string): IReportingOption | null;
345
350
  /**
346
351
  * Get the reporter app functionality
347
352
  * @protected
@@ -512,6 +517,12 @@ export declare class CrowdsourceReporter {
512
517
  * @param isLoading is feature detail component loading
513
518
  */
514
519
  protected updatingFeatureDetails(isLoading: boolean): Promise<void>;
520
+ /**
521
+ * On Feature details change update the Layer title and the current selected layer id
522
+ * @param evt Event hold the details of current feature graphic from the feature-details
523
+ * @protected
524
+ */
525
+ protected selectionChanged(evt: CustomEvent): Promise<void>;
515
526
  /**
516
527
  * When comment is selected from list store that and show comment details
517
528
  * @param evt Event which has details of selected feature
@@ -16,6 +16,7 @@
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { EventEmitter } from '../../stencil-public-runtime';
18
18
  import { IReportingOptions } from '../../components';
19
+ import { ILayerItemsHash } from "../layer-list/layer-list";
19
20
  export declare class FeatureDetails {
20
21
  el: HTMLFeatureDetailsElement;
21
22
  /**
@@ -30,6 +31,10 @@ export declare class FeatureDetails {
30
31
  * IReportingOptions: Key options for reporting
31
32
  */
32
33
  reportingOptions: IReportingOptions;
34
+ /**
35
+ * ILayerItemsHash: LayerDetailsHash for each layer in the map
36
+ */
37
+ layerItemsHash: ILayerItemsHash;
33
38
  /**
34
39
  * boolean: When true configured like field is available in selected layer
35
40
  */
@@ -62,6 +67,10 @@ export declare class FeatureDetails {
62
67
  * string[]: objects ids of the related features (comments)
63
68
  */
64
69
  _relatedFeaturesOIDs: string[];
70
+ /**
71
+ * boolean: When performing any operations set this to true (This will be used to show loading on like/dislike buttons)
72
+ */
73
+ _updating: boolean;
65
74
  /**
66
75
  * HTMLCreateFeatureElement: info card component instance
67
76
  */
@@ -127,7 +136,14 @@ export declare class FeatureDetails {
127
136
  /**
128
137
  * Emitted on demand when comment is selected using the feature-list
129
138
  */
130
- featureSelect: EventEmitter<__esri.Graphic>;
139
+ commentSelect: EventEmitter<__esri.Graphic>;
140
+ /**
141
+ * Emitted on demand when the selected index changes
142
+ */
143
+ featureSelectionChange: EventEmitter<{
144
+ selectedFeature: __esri.Graphic[];
145
+ selectedFeatureIndex: number;
146
+ }>;
131
147
  /**
132
148
  * StencilJS: Called once just after the component is first connected to the DOM.
133
149
  *
@@ -59,6 +59,10 @@ export declare class FeatureList {
59
59
  * boolean: Show initial loading indicator when creating list
60
60
  */
61
61
  showInitialLoading?: boolean;
62
+ /**
63
+ * boolean: If true will show error msg when features are not present
64
+ */
65
+ showErrorWhenNoFeatures?: boolean;
62
66
  /**
63
67
  * calcite-list-item list of features with popup titles
64
68
  */
@@ -110,7 +110,7 @@ export declare class LayerList {
110
110
  */
111
111
  protected handleNoLayersToDisplay(): void;
112
112
  /**
113
- * Returns the ids of all OR configured layers that needs to be shown in the list
113
+ * Returns the ids of configured layers that needs to be shown in the list
114
114
  * @param hash each layer item details
115
115
  * @returns array of layer ids
116
116
  */
@@ -7,9 +7,11 @@
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { ButtonType, DistanceUnit, EditType, EDrawMode, ELayoutMode, IBasemapConfig, IConsentResponse, IExportInfos, IInventoryItem, ILayerAndTableIds, ILayerExpression, IMapChange, IMapInfo, IReportingOptions, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISortingInfo, ISpatialRefRepresentation, IValueChange, theme } from "./utils/interfaces";
9
9
  import { IReportingOptions as IReportingOptions1 } from "./components";
10
+ import { ILayerItemsHash } from "./components/layer-list/layer-list";
10
11
  import { UserSession } from "@esri/solution-common";
11
12
  export { ButtonType, DistanceUnit, EditType, EDrawMode, ELayoutMode, IBasemapConfig, IConsentResponse, IExportInfos, IInventoryItem, ILayerAndTableIds, ILayerExpression, IMapChange, IMapInfo, IReportingOptions, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISortingInfo, ISpatialRefRepresentation, IValueChange, theme } from "./utils/interfaces";
12
13
  export { IReportingOptions as IReportingOptions1 } from "./components";
14
+ export { ILayerItemsHash } from "./components/layer-list/layer-list";
13
15
  export { UserSession } from "@esri/solution-common";
14
16
  export namespace Components {
15
17
  interface ArcgisLogin {
@@ -467,6 +469,10 @@ export namespace Components {
467
469
  * esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
468
470
  */
469
471
  "graphics": __esri.Graphic[];
472
+ /**
473
+ * ILayerItemsHash: LayerDetailsHash for each layer in the map
474
+ */
475
+ "layerItemsHash": ILayerItemsHash;
470
476
  /**
471
477
  * esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
472
478
  */
@@ -521,6 +527,10 @@ export namespace Components {
521
527
  * string: Layer id of the feature layer to show the list
522
528
  */
523
529
  "selectedLayerId": string;
530
+ /**
531
+ * boolean: If true will show error msg when features are not present
532
+ */
533
+ "showErrorWhenNoFeatures"?: boolean;
524
534
  /**
525
535
  * boolean: Show initial loading indicator when creating list
526
536
  */
@@ -1793,7 +1803,8 @@ declare global {
1793
1803
  };
1794
1804
  interface HTMLFeatureDetailsElementEventMap {
1795
1805
  "loadingStatus": boolean;
1796
- "featureSelect": __esri.Graphic;
1806
+ "commentSelect": __esri.Graphic;
1807
+ "featureSelectionChange": { selectedFeature: __esri.Graphic[], selectedFeatureIndex: number };
1797
1808
  }
1798
1809
  interface HTMLFeatureDetailsElement extends Components.FeatureDetails, HTMLStencilElement {
1799
1810
  addEventListener<K extends keyof HTMLFeatureDetailsElementEventMap>(type: K, listener: (this: HTMLFeatureDetailsElement, ev: FeatureDetailsCustomEvent<HTMLFeatureDetailsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
@@ -2836,6 +2847,10 @@ declare namespace LocalJSX {
2836
2847
  * esri/Graphic: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
2837
2848
  */
2838
2849
  "graphics"?: __esri.Graphic[];
2850
+ /**
2851
+ * ILayerItemsHash: LayerDetailsHash for each layer in the map
2852
+ */
2853
+ "layerItemsHash"?: ILayerItemsHash;
2839
2854
  /**
2840
2855
  * esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
2841
2856
  */
@@ -2843,7 +2858,11 @@ declare namespace LocalJSX {
2843
2858
  /**
2844
2859
  * Emitted on demand when comment is selected using the feature-list
2845
2860
  */
2846
- "onFeatureSelect"?: (event: FeatureDetailsCustomEvent<__esri.Graphic>) => void;
2861
+ "onCommentSelect"?: (event: FeatureDetailsCustomEvent<__esri.Graphic>) => void;
2862
+ /**
2863
+ * Emitted on demand when the selected index changes
2864
+ */
2865
+ "onFeatureSelectionChange"?: (event: FeatureDetailsCustomEvent<{ selectedFeature: __esri.Graphic[], selectedFeatureIndex: number }>) => void;
2847
2866
  /**
2848
2867
  * Emitted on demand when like or dislike button is clicked
2849
2868
  */
@@ -2884,6 +2903,10 @@ declare namespace LocalJSX {
2884
2903
  * string: Layer id of the feature layer to show the list
2885
2904
  */
2886
2905
  "selectedLayerId"?: string;
2906
+ /**
2907
+ * boolean: If true will show error msg when features are not present
2908
+ */
2909
+ "showErrorWhenNoFeatures"?: boolean;
2887
2910
  /**
2888
2911
  * boolean: Show initial loading indicator when creating list
2889
2912
  */
@@ -577,9 +577,10 @@ declare module "preact/src/jsx" {
577
577
 
578
578
  "feature-comments": JSX.SolutionsFeatureComments & JSXInternal.HTMLAttributes<HTMLSolutionsFeatureCommentsElement>
579
579
 
580
- "feature-details": Omit<JSX.SolutionsFeatureDetails, "onLoadingStatus" | "onFeatureSelect"> & JSXInternal.HTMLAttributes<HTMLSolutionsFeatureDetailsElement> & {
580
+ "feature-details": Omit<JSX.SolutionsFeatureDetails, "onLoadingStatus" | "onCommentSelect" | "onFeatureSelectionChange"> & JSXInternal.HTMLAttributes<HTMLSolutionsFeatureDetailsElement> & {
581
581
  "onloadingStatus"?: (event: CustomEvent<any>) => void;
582
- "onfeatureSelect"?: (event: CustomEvent<any>) => void;
582
+ "oncommentSelect"?: (event: CustomEvent<any>) => void;
583
+ "onfeatureSelectionChange"?: (event: CustomEvent<any>) => void;
583
584
  }
584
585
 
585
586
  "feature-form-flow-item": JSX.SolutionsFeatureFormFlowItem & JSXInternal.HTMLAttributes<HTMLSolutionsFeatureFormFlowItemElement>
@@ -608,6 +609,8 @@ declare module "preact/src/jsx" {
608
609
 
609
610
  "instant-apps-control-panel": JSX.SolutionsInstantAppsControlPanel & JSXInternal.HTMLAttributes<HTMLSolutionsInstantAppsControlPanelElement>
610
611
 
612
+ "instant-apps-create": JSX.SolutionsInstantAppsCreate & JSXInternal.HTMLAttributes<HTMLSolutionsInstantAppsCreateElement>
613
+
611
614
  "instant-apps-export": Omit<JSX.SolutionsInstantAppsExport, "onExportOutputUpdated"> & JSXInternal.HTMLAttributes<HTMLSolutionsInstantAppsExportElement> & {
612
615
  "onexportOutputUpdated"?: (event: CustomEvent<any>) => void;
613
616
  }
@@ -685,6 +688,8 @@ declare module "preact/src/jsx" {
685
688
  "onscoreboardItemsUpdated"?: (event: CustomEvent<any>) => void;
686
689
  }
687
690
 
691
+ "instant-apps-sign-in": JSX.SolutionsInstantAppsSignIn & JSXInternal.HTMLAttributes<HTMLSolutionsInstantAppsSignInElement>
692
+
688
693
  "instant-apps-social-share": JSX.SolutionsInstantAppsSocialShare & JSXInternal.HTMLAttributes<HTMLSolutionsInstantAppsSocialShareElement>
689
694
 
690
695
  "instant-apps-splash": Omit<JSX.SolutionsInstantAppsSplash, "onSplashClose"> & JSXInternal.HTMLAttributes<HTMLSolutionsInstantAppsSplashElement> & {
@@ -508,6 +508,7 @@ export interface IReportingOption {
508
508
  likeField?: string;
509
509
  dislike: boolean;
510
510
  dislikeField?: string;
511
+ visible: boolean;
511
512
  }
512
513
  export interface ISortingInfo {
513
514
  field: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/solutions-components",
3
- "version": "0.8.23",
3
+ "version": "0.8.25",
4
4
  "description": "Web Components for Esri's Solutions Applications",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -87,7 +87,7 @@
87
87
  "@esri/hub-initiatives": "^12.4.1",
88
88
  "@esri/hub-sites": "^12.6.0",
89
89
  "@esri/hub-teams": "^12.4.1",
90
- "@esri/instant-apps-components": "1.0.0-beta.206",
90
+ "@esri/instant-apps-components": "1.0.0-beta.224",
91
91
  "@esri/solution-common": "^5.0.9",
92
92
  "templates-common-library-esm": "npm:templates-common-library@0.0.454-esm",
93
93
  "@pdf-lib/fontkit": "^1.1.1",
@@ -1,73 +0,0 @@
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
- 'use strict';
7
-
8
- Object.defineProperty(exports, '__esModule', { value: true });
9
-
10
- const index = require('./index-79b35510.js');
11
- const loadable = require('./loadable-b374ef4b.js');
12
-
13
- /*!
14
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
15
- * See https://github.com/Esri/calcite-design-system/blob/main/LICENSE.md for details.
16
- * v2.8.2
17
- */
18
- const CSS = {
19
- textContainer: "text-container",
20
- fullName: "full-name",
21
- username: "username",
22
- button: "button",
23
- };
24
-
25
- const navigationUserCss = ":host{display:inline-flex;outline:2px solid transparent;outline-offset:2px}:host .button{background-color:transparent;border:none;margin:0px;display:flex;cursor:pointer;align-items:center;justify-content:center;font-family:var(--calcite-font-family);font-size:var(--calcite-font-size-0);line-height:1.25rem;outline-color:transparent;transition:background-color, block-size, border-color, box-shadow, color, inset-block-end, inset-block-start, inset-inline-end, inset-inline-start inset-size, opacity, outline-color, transform var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;border-block-end:2px solid transparent}:host(:hover) .button,:host(:focus) .button{background-color:var(--calcite-color-foreground-2)}:host(:focus) .button{outline:2px solid var(--calcite-ui-focus-color, var(--calcite-color-brand));outline-offset:calc(\n -2px *\n calc(\n 1 -\n 2 * clamp(\n 0,\n var(--calcite-offset-invert-focus),\n 1\n )\n )\n )}:host(:active) .button{background-color:var(--calcite-color-foreground-3);color:var(--calcite-color-text-1)}:host([active]) .button{border-color:var(--calcite-color-brand);color:var(--calcite-color-text-1);--calcite-ui-icon-color:var(--calcite-color-brand)}.text-container{margin-block-start:0.125rem;display:flex;flex-direction:column;padding-inline:1rem;text-align:start}calcite-avatar{padding-inline:1rem}calcite-avatar~.text-container{padding-inline-start:0px}.full-name{margin-inline-start:0px;font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-1)}.username{color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--1)}:host([hidden]){display:none}[hidden]{display:none}";
26
- const CalciteNavigationUserStyle0 = navigationUserCss;
27
-
28
- const CalciteNavigationUser = class {
29
- constructor(hostRef) {
30
- index.registerInstance(this, hostRef);
31
- this.active = undefined;
32
- this.fullName = undefined;
33
- this.label = undefined;
34
- this.textDisabled = false;
35
- this.thumbnail = undefined;
36
- this.userId = undefined;
37
- this.username = undefined;
38
- }
39
- //--------------------------------------------------------------------------
40
- //
41
- // Public Methods
42
- //
43
- //--------------------------------------------------------------------------
44
- /** Sets focus on the component. */
45
- async setFocus() {
46
- await loadable.componentFocusable(this);
47
- this.el.focus();
48
- }
49
- //--------------------------------------------------------------------------
50
- //
51
- // Lifecycle
52
- //
53
- //--------------------------------------------------------------------------
54
- componentWillLoad() {
55
- loadable.setUpLoadableComponent(this);
56
- }
57
- componentDidLoad() {
58
- loadable.setComponentLoaded(this);
59
- }
60
- // --------------------------------------------------------------------------
61
- //
62
- // Render Methods
63
- //
64
- // --------------------------------------------------------------------------
65
- render() {
66
- return (index.h(index.Host, { key: '869bc0b518ff407bf3f110ebda48571f456229a8' }, index.h("button", { key: '0cb5497ebcbf9fad2bfb6ffdd3bfad151594460d', "aria-label": this.label, class: CSS.button }, index.h("calcite-avatar", { key: '6de54637d077afa83f7520636037b6da33b24334', "full-name": this.fullName, label: this.label, thumbnail: this.thumbnail, "user-id": this.userId, username: this.username }), (this.fullName || this.username) && !this.textDisabled && (index.h("div", { key: '0d0be3d6ba276d6c3e24a67b7085dd75e56b3e5b', class: CSS.textContainer }, this.fullName && (index.h("span", { class: CSS.fullName, key: CSS.fullName }, this.fullName)), this.username && (index.h("span", { class: CSS.username, key: CSS.username }, this.username)))))));
67
- }
68
- static get delegatesFocus() { return true; }
69
- get el() { return index.getElement(this); }
70
- };
71
- CalciteNavigationUser.style = CalciteNavigationUserStyle0;
72
-
73
- exports.calcite_navigation_user = CalciteNavigationUser;
@@ -1,6 +0,0 @@
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{l as o}from"./p-4ba6f8f0.js";async function t(o,t){var n,a,e;try{const s=null===(e=null===(a=null===(n=null==t?void 0:t.portalItem)||void 0===n?void 0:n.portal)||void 0===a?void 0:a.credential)||void 0===e?void 0:e.token,i={responseType:"json"};s&&(i.query={token:s});var r="cacheBuster="+Date.now();const l=`${t.url}?${r}`,c=await o(l,i);return Promise.resolve(c.data)}catch(o){console.error("Unable to get resource t9n data.")}}async function n(t){if(!t)return null;const[n]=await o(["esri/portal/PortalItemResource"]),a=await t.fetchResources(),e=`t9n/${null==t?void 0:t.id}.json`,r=new n({path:e,portalItem:t}),s=a.resources.filter((o=>o.resource.path===e));if(0!==s.length)return Promise.resolve(s[0].resource);{const o="application/json",n=new Blob([JSON.stringify({})],{type:o});try{await t.addResource(r,n);const o=await t.fetchResources(),a=`t9n/${null==t?void 0:t.id}.json`,e=o.resources.filter((o=>o.resource.path===a));return Promise.resolve(e[0].resource)}catch(o){return console.error("ERROR: ",o),Promise.reject(null)}}}export{t as f,n as g}
@@ -1,6 +0,0 @@
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 e,f as t,h as i,g as n,c as s}from"./p-6d753a3d.js";import{g as a,l,s as o,i as r,b as d,z as c,m as p,k as h,n as v,u as g,o as u,p as m}from"./p-599dcc29.js";import{l as f}from"./p-4ba6f8f0.js";import"./p-bdcf99c0.js";import"./p-82e085d0.js";const y=class{constructor(t){e(this,t),this.legendvm=void 0,this.featureCount=void 0,this.activeLayerInfo=void 0,this.messages=void 0,this.isChild=!1,this.expanded=!0}layerCaptionElementExpandUpdatedEmitted(){var e;this.expanded=!!(null===(e=this.layerCaption)||void 0===e?void 0:e.expanded)}async componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0})}render(){return i("div",{style:{borderLeft:"1px solid var(--calcite-color-border-3)"},class:"esri-legend__service esri-legend__group-layer"},i("instant-apps-interactive-legend-layer-element-caption",{ref:e=>this.layerCaption=e,class:a(this.el),legendvm:this.legendvm,"feature-count":this.featureCount,activeLayerInfo:this.activeLayerInfo,messages:this.messages,isChild:this.isChild}),i("div",{class:"esri-legend__group-content "+(!1===this.expanded?"hide":"show")},i("slot",{name:"content"})))}get el(){return n(this)}};y.style=".sc-instant-apps-interactive-legend-group-legend-element-h{display:block}.sc-instant-apps-interactive-legend-group-legend-element-h .esri-legend__service.sc-instant-apps-interactive-legend-group-legend-element{margin:0;padding:0}.sc-instant-apps-interactive-legend-group-legend-element-h .hide.sc-instant-apps-interactive-legend-group-legend-element{display:none}";const _=class{constructor(t){e(this,t),this.legendvm=void 0,this.featureCount=void 0,this.activeLayerInfo=void 0,this.messages=void 0,this.isChild=void 0,this.expanded=!0}layerCaptionElementExpandUpdatedEmitted(){this.expanded=this.layerCaption.expanded}componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0})}render(){var e,t;return i("div",{style:{borderLeft:"1px solid var(--calcite-color-border-3)"},class:"esri-legend__service"+(this.activeLayerInfo.parent?" esri-legend__group-layer-child":""),tabIndex:0},i("instant-apps-interactive-legend-layer-element-caption",{ref:e=>this.layerCaption=e,legendvm:this.legendvm,"feature-count":this.featureCount,activeLayerInfo:this.activeLayerInfo,messages:this.messages,isChild:!!this.isChild,class:a(this.el)}),i("div",{id:`${null===(t=null===(e=this.activeLayerInfo)||void 0===e?void 0:e.layer)||void 0===t?void 0:t.id}-legend-layer`,class:"esri-legend__layer"+(!1===this.expanded?" hide":" show")},i("slot",{name:"content"})))}get el(){return n(this)}};_.style=".sc-instant-apps-interactive-legend-layer-element-h{display:block}.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__service.sc-instant-apps-interactive-legend-layer-element{padding:0}.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-body.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__group-layer-child.sc-instant-apps-interactive-legend-layer-element,.sc-instant-apps-interactive-legend-layer-element-h .esri-legend__layer-child-table.sc-instant-apps-interactive-legend-layer-element{margin:0;overflow:hidden}.sc-instant-apps-interactive-legend-layer-element-h .hide.sc-instant-apps-interactive-legend-layer-element{display:none}";const b=class{constructor(t){e(this,t),this.activeLayerInfo=void 0,this.isSizeRamp=void 0,this.isChild=void 0,this.isColorRamp=void 0,this.isRelationshipRamp=void 0,this.isInteractive=void 0,this.zoomTo=void 0,this.legendElement=void 0,this.titleText=void 0,this.legendvm=void 0,this.legendElementIndex=void 0,this.messages=void 0,this.expanded=!0}legendLayerExpandUpdatedEmitted(){this.expanded=this.legendLayerCaption.expanded}render(){var e,t,n,s,a,r,d,c,p;const h=this.isChild?"esri-legend__layer-child-table":"esri-legend__layer-table",v=1===(null===(t=null===(e=this.legendElement)||void 0===e?void 0:e.infos)||void 0===t?void 0:t.length)&&!(null===(a=null===(s=null===(n=this.activeLayerInfo)||void 0===n?void 0:n.layer)||void 0===s?void 0:s.renderer)||void 0===a?void 0:a.field),g=!this.isSizeRamp&&this.isChild||this.isColorRamp?"":" esri-legend__layer-table--size-ramp",u=this.isInteractive?"":" instant-apps-interactive-legend__non-interactive",m=l(this.activeLayerInfo)?" instant-apps-interactive-legend__nested-unique-symbol":"";let f=!(!v||this.expanded||this.zoomTo)||this.expanded;return this.isRelationshipRamp&&(f=o.get("relationshipRampExpandStates")[this.activeLayerInfo.layer.id]),i("div",{class:`${h}${g}${u}${m}`},i("div",{id:`${null===(d=null===(r=this.activeLayerInfo)||void 0===r?void 0:r.layer)||void 0===d?void 0:d.id}-legend-element-caption`,class:this.isRelationshipRamp||!this.titleText&&!this.zoomTo&&v?"hide":"show"},i("instant-apps-interactive-legend-legend-element-caption",{ref:e=>this.legendLayerCaption=e,legendvm:this.legendvm,activeLayerInfo:this.activeLayerInfo,layer:this.activeLayerInfo.layer,titleText:this.titleText,legendElement:this.legendElement,legendElementIndex:this.legendElementIndex,zoomTo:this.zoomTo,isInteractive:this.isInteractive,messages:this.messages})),i("div",{key:"content",id:`${null===(p=null===(c=this.activeLayerInfo)||void 0===c?void 0:c.layer)||void 0===p?void 0:p.id}-legend-element-content-${this.legendElementIndex}`,class:!1===f?"hide":"show"},i("slot",{name:"content"})))}};b.style=".sc-instant-apps-interactive-legend-legend-element-h{display:block}.sc-instant-apps-interactive-legend-legend-element-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-legend-element,.sc-instant-apps-interactive-legend-legend-element-h .instant-apps-interactive-legend__nested-unique-symbol.sc-instant-apps-interactive-legend-legend-element{margin:0}.sc-instant-apps-interactive-legend-legend-element-h .hide.sc-instant-apps-interactive-legend-legend-element{display:none}";const L=class{constructor(t){e(this,t),this.showAllSelectedEvent=s(this,"showAllSelected",7),this.legendLayerExpandUpdatedEvent=s(this,"legendLayerExpandUpdated",7),this.legendvm=void 0,this.activeLayerInfo=void 0,this.layer=void 0,this.titleText=void 0,this.legendElementIndex=void 0,this.zoomTo=void 0,this.isInteractive=void 0,this.legendElement=void 0,this.expanded=!0,this.messages=void 0}render(){var e,t,n,s;const a=l(this.activeLayerInfo),o=p(this.activeLayerInfo),{expanded:r}=this;return a&&!this.titleText?null:i("div",{class:"esri-legend__layer-caption"},i("calcite-action",{onClick:this.toggleExpanded(),icon:!1===r?"chevron-up":"chevron-down",appearance:"transparent",text:!1===r?null===(e=this.messages)||void 0===e?void 0:e.expand:null===(t=this.messages)||void 0===t?void 0:t.collapse,label:!1===r?null===(n=this.messages)||void 0===n?void 0:n.expand:null===(s=this.messages)||void 0===s?void 0:s.collapse,scale:"s"}),this.isInteractive||o?this.renderLegendElementCaptionControls():null,this.titleText?i("span",{class:"instant-apps-interactive-legend__legend-layer-caption-text"},this.titleText):null)}renderLegendElementCaptionControls(){var e,t,n,s,a,l,o,d,c,p;const h=this.titleText?"":" instant-apps-interactive-legend__layer-caption-btn-container--no-text",v=(null===(s=null===(n=null===(e=r.data)||void 0===e?void 0:e[null===(t=this.layer)||void 0===t?void 0:t.id])||void 0===n?void 0:n.categories)||void 0===s?void 0:s.size)>1?i("calcite-button",{key:"show-all-button",id:"showAll",onClick:this.handleShowAll(),"icon-start":"list-check-all",appearance:"outline",round:!0,label:null===(a=this.messages)||void 0===a?void 0:a.showAll}):null,g=i("calcite-button",{key:"zoom-to-button",id:"zoomTo",onClick:this.handleZoomTo(),"icon-start":"magnifying-glass-plus",appearance:"outline",round:!0,label:null===(l=this.messages)||void 0===l?void 0:l.zoomTo});return i("div",{key:"layer-caption-btn-container",class:`instant-apps-interactive-legend__layer-caption-btn-container${h}`},v,i("calcite-tooltip",{"reference-element":"showAll",placement:"top",label:null===(o=this.messages)||void 0===o?void 0:o.showAll},null===(d=this.messages)||void 0===d?void 0:d.showAll),this.zoomTo?[g,i("calcite-tooltip",{"reference-element":"zoomTo",placement:"top",label:null===(c=this.messages)||void 0===c?void 0:c.zoomTo},null===(p=this.messages)||void 0===p?void 0:p.zoomTo)]:null)}toggleExpanded(){return()=>{var e,t;this.expanded=!this.expanded,this.legendLayerExpandUpdatedEvent.emit(),(null===(t=null===(e=this.activeLayerInfo)||void 0===e?void 0:e.legendElements)||void 0===t?void 0:t.filter((e=>"relationship-ramp"===e.type))).length>0&&o.set("relationshipRampExpandStates",Object.assign(Object.assign({},r.relationshipRampExpandStates),{[this.activeLayerInfo.layer.id]:this.expanded}))}}handleZoomTo(){return()=>{const e=h(this.layer),t=d(e,this.legendElement);c(e,this.legendvm.view,t)}}handleShowAll(){return()=>{var e,t;const i=null===(e=r.data)||void 0===e?void 0:e[null===(t=this.layer)||void 0===t?void 0:t.id];d(i,this.legendElement)?(()=>{const e=v(i,this.legendElement.title);g({intLegendLayerData:e,layerId:this.layer.id})})():((()=>{const e=u(i);g({intLegendLayerData:e,layerId:this.layer.id})})(),this.showAllSelectedEvent.emit())}}get el(){return n(this)}};L.style=".sc-instant-apps-interactive-legend-legend-element-caption-h{display:block;--instant-apps-interactive-legend-heading-font-size:1rem;--instant-apps-interactive-legend-heading-font-weight:normal;--instant-apps-interactive-legend-caption-font-weight:normal;--instant-apps-interactive-legend-secondary-color:var(--calcite-color-text-1);--instant-apps-interactive-legend-field-name-font-size:1rem;--instant-apps-interactive-legend-total-feature-count-font-size:0.875rem;--instant-apps-interactive-legend-info-font-size:0.875rem;--instant-apps-interactive-legend-info-item-background--selected:#c7ebff;--instant-apps-interactive-legend-info-item-color--selected:var(--calcite-color-text-2);--instant-apps-interactive-legend-secondary-background-color:var(--calcite-color-background);--instant-apps-interactive-legend-ui-padding:15px 10px}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption{display:flex;align-items:center;font-size:var(--instant-apps-interactive-legend-field-name-font-size);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption calcite-action.sc-instant-apps-interactive-legend-legend-element-caption{margin-left:20px}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__legend-layer-caption-text.sc-instant-apps-interactive-legend-legend-element-caption{display:inline-block;margin-left:5px;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:normal}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption{white-space:nowrap}.sc-instant-apps-interactive-legend-legend-element-caption-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-legend-element-caption calcite-button.sc-instant-apps-interactive-legend-legend-element-caption{margin:2px}.sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption{font-weight:var(--instant-apps-interactive-legend-caption-font-weight);padding:var(--instant-apps-interactive-legend-ui-padding)}html[dir=rtl] .sc-instant-apps-interactive-legend-legend-element-caption-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-legend-element-caption calcite-action.sc-instant-apps-interactive-legend-legend-element-caption{margin-left:unset;margin-right:20px}";const $=".esri-relationship-ramp--diamond__middle-column--ramp svg g",x=class{constructor(t){e(this,t),this.cellNodeCounter=0,this.filterMode=void 0,this.activeLayerInfo=void 0,this.legendElement=void 0,this.messages=void 0}applyInteractivity(){this.applyRelationshipRampInteractivity()}showAllSelectedEmitted(){const e=0===r.data[this.activeLayerInfo.layer.id].queryExpressions.length,t=this.relationshipRamp.querySelector($).children,i=t?Array.from(t):null;e&&(null==i||i.forEach((e=>{e.removeAttribute("stroke"),e.removeAttribute("stroke-width"),e.removeAttribute("stroke-opacity"),e.classList.remove("esri-interactive-legend--selected-cell")})))}async componentWillLoad(){const[e]=await f(["esri/symbols/support/symbolUtils"]);this.symbolUtils=e}render(){var e,t;return i("div",{ref:e=>{if(!(null==e?void 0:e.querySelector("relationshipStyles"))){const t=document.createElement("style");t.id="relationshipStyles",t.innerHTML="\n rect:hover {\n cursor: pointer;\n opacity: 0.8;\n }\n ",null==e||e.appendChild(t)}}},i("span",{class:"instant-apps-interactive-legend-relationship__instructional-text"},null===(t=null===(e=this.messages)||void 0===e?void 0:e.relationship)||void 0===t?void 0:t.instructionalText),this.renderRelationshipRamp())}renderRelationshipRamp(){var e;const t=(null===(e=this.activeLayerInfo)||void 0===e?void 0:e.layer).renderer,n=this.symbolUtils.renderRelationshipRampPreviewHTML(t);return i("div",{ref:e=>{this.relationshipRamp=e,this.applyRelationshipRampInteractivity()},key:"relationship-ramp-diamond",innerHTML:`${null==n?void 0:n.outerHTML}`})}applyRelationshipRampInteractivity(){if(!(this.relationshipRamp&&this.activeLayerInfo&&this.legendElement&&r.data))return;let e=setInterval((()=>{const t=this.relationshipRamp.querySelector($);t&&(clearInterval(e),this.setupRelationshipDrawingStyle(t.children))}),10)}setupRelationshipDrawingStyle(e){const t=e?Array.from(e):null;if(!t)return;t.map(((e,t)=>{var i,n;const s=(null===(n=null===(i=this.activeLayerInfo)||void 0===i?void 0:i.layer)||void 0===n?void 0:n.renderer).uniqueValueInfos;if(s[t]){const i=s[t].symbol.color;s.forEach(((t,n)=>{const s=t.symbol.color;i.r===s.r&&i.g===s.g&&i.b===s.b&&i.a===s.a&&this.setCellAttributes(e,n)})),e.classList.add("esri-interactive-legend__svg-rect-element")}}));const i=this.reorderCellNodes(t);this.attachFeatureIndexes(i),this.applyEventHandlers()}setCellAttributes(e,t){const i=this.activeLayerInfo.layer.renderer.uniqueValueInfos,n=this.generateIndexPattern(t);i[n]&&(e.setAttribute("data-color",`${i[n].symbol.color}`),e.setAttribute("data-cell-index",`${n}`),e.setAttribute("tabindex","0"))}generateIndexPattern(e){const{focus:t,numClasses:i}=this.legendElement;return"HL"===t?e:2===i?this.twoClasses(e,t):3===i?this.threeClasses(e,t):4===i?this.fourClasses(e,t):null}twoClasses(e,t){return"HH"===t||null===t?0===e||2===e?e+1:1===e||3===e?e-1:null:"LH"===t?0===e?e+3:1===e?e+1:2===e?e-1:3===e?e-3:4===e?e+0:null:"LL"===t?0===e||1===e?e+2:2===e||3===e?e-2:null:void 0}threeClasses(e,t){return"HH"===t||null===t?0===e||3===e||6===e?e+2:2===e||5===e||8===e?e-2:e:"LH"===t?0===e?e+8:1===e?e+6:2===e?e+4:3===e?e+2:5===e?e-2:6===e?e-4:7===e?e-6:8===e?e-8:e:"LL"===t?0===e||1===e||2===e?e+6:6===e||7===e||8===e?e-6:e:void 0}fourClasses(e,t){return"HH"===t||null===t?0===e||4===e||8===e||12===e?e+3:1===e||5===e||9===e||13===e?e+1:2===e||6===e||10===e||14===e?e-1:3===e||7===e||11===e||15===e?e-3:null:"LH"===t?0===e?e+15:1===e?e+13:2===e?e+11:3===e?e+9:4===e?e+7:5===e?e+5:6===e?e+3:7===e?e+1:8===e?e-1:9===e?e-3:10===e?e-5:11===e?e-7:12===e?e-9:13===e?e-11:14===e?e-13:15===e?e-15:null:"LL"===t?0===e||1===e||2===e||3===e?e+12:4===e||5===e||6===e||7===e?e+4:8===e||9===e||10===e||11===e?e-4:12===e||13===e||14===e||15===e?e-12:null:void 0}reorderCellNodes(e){const t=[];for(;this.cellNodeCounter<=e.length-1;)e.map((e=>{parseInt(e.getAttribute("data-cell-index"))===this.cellNodeCounter&&t.push(e)})),this.cellNodeCounter++;return this.cellNodeCounter=0,t}attachFeatureIndexes(e){const{focus:t,numClasses:i}=this.legendElement;"HH"===t||null===t?this.relationshipFocusIsHighHigh(e,i):"LL"===t?this.relationshipFocusIsLowLow(e,i):"LH"===t?this.relationshipFocusIsLowHigh(e,i):"HL"===t&&this.relationshipFocusIsHighLow(e,i),this.cellNodeCounter=0}relationshipFocusIsHighHigh(e,t){for(let i=t-1;i>=0;i--)for(let n=t-1;n>=0;n--)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsLowLow(e,t){for(let i=0;i<t;i++)for(let n=0;n<t;n++)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsLowHigh(e,t){for(let i=0;i<t;i++)for(let n=t-1;n>=0;n--)this.setDataAttributes(e,i,n,t),this.cellNodeCounter++}relationshipFocusIsHighLow(e,t){for(let i=t-1;i>=0;i--)for(let n=0;n<t;n++)this.setDataAttributes(e,n,i,t),this.cellNodeCounter++}setDataAttributes(e,t,i,n){const s=e[this.cellNodeCounter];2===n?this.twoClassAttributes(s,t,i):3===n?this.threeClassAttributes(s,t,i):this.fourClassAttributes(s,t,i)}twoClassAttributes(e,t,i){const{legendElement:n}=this;"HL"===n.focus?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i)}threeClassAttributes(e,t,i){const{legendElement:n}=this;1===this.cellNodeCounter||3===this.cellNodeCounter||5===this.cellNodeCounter||7===this.cellNodeCounter?"HL"===n.focus?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i):"HL"!==n.focus?this.setDataFeatureIndexes(e,t,i):this.swapDataFeatureIndexes(e,t,i)}fourClassAttributes(e,t,i){const{legendElement:n}=this,{focus:s}=n;1===this.cellNodeCounter||2===this.cellNodeCounter||4===this.cellNodeCounter||5===this.cellNodeCounter||7===this.cellNodeCounter||8===this.cellNodeCounter||10===this.cellNodeCounter||11===this.cellNodeCounter||13===this.cellNodeCounter||14===this.cellNodeCounter?"HL"===s?this.swapDataFeatureIndexes(e,t,i):this.setDataFeatureIndexes(e,t,i):"HL"!==s?this.setDataFeatureIndexes(e,t,i):this.swapDataFeatureIndexes(e,t,i)}setDataFeatureIndexes(e,t,i){e.setAttribute("data-feature-i",`${t}`),e.setAttribute("data-feature-j",`${i}`),this.setDataCellFocus(e,t,i)}swapDataFeatureIndexes(e,t,i){e.setAttribute("data-feature-i",`${i}`),e.setAttribute("data-feature-j",`${t}`),this.setDataCellFocus(e,i,t)}setDataCellFocus(e,t,i){const{numClasses:n}=this.legendElement;2===n?this.setDataCellFocusForTwoClasses(e,t,i):3===n?this.setDataCellFocusForThreeClasses(e,t,i):4===n&&this.setDataCellFocusForFourClasses(e,t,i)}setDataCellFocusForTwoClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","HL"):1===t&&1===i&&e.setAttribute("data-cell-focus","HH")}setDataCellFocusForThreeClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LM"):0===t&&2===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","ML"):1===t&&1===i?e.setAttribute("data-cell-focus","MM"):1===t&&2===i?e.setAttribute("data-cell-focus","MH"):2===t&&0===i?e.setAttribute("data-cell-focus","HL"):2===t&&1===i?e.setAttribute("data-cell-focus","HM"):2===t&&2===i&&e.setAttribute("data-cell-focus","HH")}setDataCellFocusForFourClasses(e,t,i){0===t&&0===i?e.setAttribute("data-cell-focus","LL"):0===t&&1===i?e.setAttribute("data-cell-focus","LM1"):0===t&&2===i?e.setAttribute("data-cell-focus","LM2"):0===t&&3===i?e.setAttribute("data-cell-focus","LH"):1===t&&0===i?e.setAttribute("data-cell-focus","M1L"):1===t&&1===i?e.setAttribute("data-cell-focus","M1M1"):1===t&&2===i?e.setAttribute("data-cell-focus","M1M2"):1===t&&3===i?e.setAttribute("data-cell-focus","M1H"):2===t&&0===i?e.setAttribute("data-cell-focus","M2L"):2===t&&1===i?e.setAttribute("data-cell-focus","M2M1"):2===t&&2===i?e.setAttribute("data-cell-focus","M2M2"):2===t&&3===i?e.setAttribute("data-cell-focus","M2H"):3===t&&0===i?e.setAttribute("data-cell-focus","HL"):3===t&&1===i?e.setAttribute("data-cell-focus","HM1"):3===t&&2===i?e.setAttribute("data-cell-focus","HM2"):3===t&&3===i&&e.setAttribute("data-cell-focus","HH")}applyEventHandlers(){const e=document.querySelectorAll(".esri-interactive-legend__svg-rect-element");Array.from(e).map((e=>{const t=e.getAttribute("data-feature-i"),i=e.getAttribute("data-feature-j"),n=e.getAttribute("data-cell-focus");e.onclick=()=>{this.handleFilter(t,i,n),this.handleSelectedElement(e)},e.onkeydown=s=>{const{key:a}=s;("Enter"===a||"Space"===a)&&(this.handleFilter(t,i,n),this.handleSelectedElement(e))}}))}async handleFilter(e,t,i){var n,s,a,l,o;const d=this.activeLayerInfo.layer,{authoringInfo:c}=d.renderer,{field1:p,field2:h}=c,{queryExpressions:v,fLayerView:g}=r.data[this.activeLayerInfo.layer.id];if("relationship-ramp"===this.legendElement.type&&c&&p&&h){const r=this.generateExpressionParams(p,h,c,e,t,i),d=this.generateExpressionForRelationship(r);0===v.length?v[0]=d:-1===v.indexOf(d)?v.push(d):v.splice(v.indexOf(d),1);const u=v.join(" OR "),y=null!==(s=null===(n=null==g?void 0:g.filter)||void 0===n?void 0:n.timeExtent)&&void 0!==s?s:null,[_,b]=await f(["esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);if("filter"===(null===(a=this.filterMode)||void 0===a?void 0:a.type))g.filter=new _({where:u,timeExtent:(null===(l=null==g?void 0:g.filter)||void 0===l?void 0:l.timeExtent)?g.filter.timeExtent:null});else if(null===(o=this.filterMode)||void 0===o?void 0:o.effect){const{includedEffect:e,excludedEffect:t}=this.filterMode.effect,i=await m(t,g,"excludedEffect"),n=await m(e,g,"includedEffect");g.featureEffect=new b({filter:new _({where:u,timeExtent:y}),includedEffect:n,excludedEffect:i})}}}generateExpressionParams(e,t,i,n,s,a){const l=[],o=e.field,r=t.field,d=e.classBreakInfos,c=t.classBreakInfos,p=i.field1.hasOwnProperty("normalizationField")?i.field1.normalizationField:null,h=i.field2.hasOwnProperty("normalizationField")?i.field2.normalizationField:null;return d.forEach(((e,t)=>{const i=[];c.forEach(((e,n)=>{i.push([d[t],c[n]])})),l.push(i)})),{data:l,i:n,j:s,field1:p?`(${o}/${p})`:`${o}`,field2:h?`(${r}/${h})`:`${r}`,focus:a}}generateExpressionForRelationship(e){const{focus:t,field1:i,field2:n,data:s,i:a,j:l}=e;return"LL"===t?`${i} >= ${s[a][l][0].minValue} AND ${i} <= ${s[a][l][0].maxValue} AND ${n} >= ${s[a][l][1].minValue} AND ${n} <= ${s[a][l][1].maxValue}`:"LM"===t||"LM1"===t||"LM2"===t||"LH"===t?`${i} >= ${s[a][l][0].minValue} AND ${i} <= ${s[a][l][0].maxValue} AND ${n} > ${s[a][l][1].minValue} AND ${n} <= ${s[a][l][1].maxValue}`:"ML"===t||"M1L"===t||"M2L"===t||"HL"===t?`${i} > ${s[a][l][0].minValue} AND ${i} <= ${s[a][l][0].maxValue} AND ${n} >= ${s[a][l][1].minValue} AND ${n} <= ${s[a][l][1].maxValue}`:`${i} > ${s[a][l][0].minValue} AND ${i} <= ${s[a][l][0].maxValue} AND ${n} > ${s[a][l][1].minValue} AND ${n} <= ${s[a][l][1].maxValue}`}handleSelectedElement(e){const t=e.classList;t.contains("esri-interactive-legend--selected-cell")?(e.removeAttribute("stroke"),e.removeAttribute("stroke-width"),e.removeAttribute("stroke-opacity"),t.remove("esri-interactive-legend--selected-cell")):(t.add("esri-interactive-legend--selected-cell"),e.setAttribute("stroke","black"),e.setAttribute("stroke-width","3px"),e.setAttribute("stroke-opacity","1"))}};x.style=".sc-instant-apps-interactive-legend-relationship-h{display:block}.sc-instant-apps-interactive-legend-relationship-h .instant-apps-interactive-legend-relationship__instructional-text.sc-instant-apps-interactive-legend-relationship{display:inline-block;width:100%;text-align:center;margin-bottom:10px;background-color:#d2e9f9}.calcite-mode-dark .sc-instant-apps-interactive-legend-relationship-h .instant-apps-interactive-legend-relationship__instructional-text.sc-instant-apps-interactive-legend-relationship{background-color:var(--calcite-color-brand);color:#151515}";export{y as instant_apps_interactive_legend_group_legend_element,_ as instant_apps_interactive_legend_layer_element,b as instant_apps_interactive_legend_legend_element,L as instant_apps_interactive_legend_legend_element_caption,x as instant_apps_interactive_legend_relationship}
@@ -1,6 +0,0 @@
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{h as e,r as i,f as t,g as n}from"./p-6d753a3d.js";import{h as a,a as s,s as l,i as r,g as c,v as o,b as d,c as v,d as p,e as u,f as g,u as h,j as f,k as m}from"./p-599dcc29.js";import{a as y}from"./p-82e085d0.js";import{l as _}from"./p-4ba6f8f0.js";import"./p-bdcf99c0.js";const b=96;function w(e){return e?e/72*b:0}var k={exports:{}};!function(e){var i,t="http://www.w3.org/",n="".concat(t,"2000/svg"),a="".concat(t,"1999/xlink"),s=[],l=function(e,i){var t={};return Object.keys(e).forEach((function(i){t[i]=e[i]})),i&&Object.keys(i).forEach((function(e){t[e]=i[e]})),t},r=function(e,i){return e.vnodeSelector===i.vnodeSelector&&(e.properties&&i.properties?e.properties.key===i.properties.key&&e.properties.bind===i.properties.bind:!e.properties&&!i.properties)},c=function(e){if("string"!=typeof e)throw new Error("Style values must be strings")},o=function(e,i,t){if(""!==i.vnodeSelector)for(var n=t;n<e.length;n++)if(r(e[n],i))return n;return-1},d=function(e,i,t,n){var a=e[i];if(""!==a.vnodeSelector){var s=a.properties;if(!(s?void 0===s.key?s.bind:s.key:void 0))for(var l=0;l<e.length;l++)if(l!==i&&r(e[l],a))throw{error:new Error("".concat(t.vnodeSelector," had a ").concat(a.vnodeSelector," child ").concat("added"===n?n:"removed",", but there is now more than one. You must add unique key properties to make them distinguishable.")),parentNode:t,childNode:a}}},v=function(e){if(e.properties){var i=e.properties.enterAnimation;i&&i(e.domNode,e.properties)}},p=[],u=!1,g=function(e){(e.children||[]).forEach(g),e.properties&&e.properties.afterRemoved&&e.properties.afterRemoved.apply(e.properties.bind||e.properties,[e.domNode])},h=function(){u=!1,p.forEach(g),p.length=0},f=function(e){p.push(e),u||(u=!0,"undefined"!=typeof window&&"requestIdleCallback"in window?window.requestIdleCallback(h,{timeout:16}):setTimeout(h,16))},m=function(e){var i=e.domNode;if(e.properties){var t=e.properties.exitAnimation;if(t){i.style.pointerEvents="none";return void t(i,(function(){i.parentNode&&(i.parentNode.removeChild(i),f(e))}),e.properties)}}i.parentNode&&(i.parentNode.removeChild(i),f(e))},y=function(e,i,t){(function(e,i,t){if(i)for(var n=0,a=i;n<a.length;n++)_(a[n],e,void 0,t)})(e,i.children,t),i.text&&(e.textContent=i.text),function(e,i,t){if(i)for(var s=t.eventHandlerInterceptor,l=Object.keys(i),r=l.length,o=function(r){var o,d=l[r],v=i[d];if("className"===d)throw new Error('Property "className" is not supported, use "class".');if("class"===d)b(e,v,!0);else if("classes"===d)for(var p=Object.keys(v),u=p.length,g=0;g<u;g++){var h=p[g];v[h]&&e.classList.add(h)}else if("styles"===d){var f=Object.keys(v),m=f.length;for(g=0;g<m;g++){var y=f[g],_=v[y];_&&(c(_),t.styleApplyer(e,y,_))}}else if("key"!==d&&null!=v){var w=typeof v;"function"===w?(0===d.lastIndexOf("on",0)&&(s&&(v=s(d,v,e,i)),"oninput"===d&&(o=v,v=function(e){o.apply(this,[e]),e.target["oninput-value"]=e.target.value})),e[d]=v):t.namespace===n?"href"===d?e.setAttributeNS(a,d,v):e.setAttribute(d,v):"string"===w&&"value"!==d&&"innerHTML"!==d?e.setAttribute(d,v):e[d]=v}},d=0;d<r;d++)o(d)}(e,i.properties,t),i.properties&&i.properties.afterCreate&&i.properties.afterCreate.apply(i.properties.bind||i.properties,[e,t,i.vnodeSelector,i.properties,i.children])},_=function(e,i,t,a){var s,r,c=0,o=e.vnodeSelector,d=i.ownerDocument;if(""===o)e.domNode?e.domNode.nodeValue=e.text:(r=e.domNode=d.createTextNode(e.text),void 0!==t?i.insertBefore(r,t):i.appendChild(r));else{for(var v=0;v<=o.length;++v){var p=o.charAt(v);if(v===o.length||"."===p||"#"===p){var u=o.charAt(c-1),g=o.slice(c,v);"."===u?r.classList.add(g):"#"===u?r.id=g:("svg"===g&&(a=l(a,{namespace:n})),void 0!==a.namespace?r=e.domNode=d.createElementNS(a.namespace,g):(r=e.domNode=e.domNode||((null===(s=e.properties)||void 0===s?void 0:s.is)?d.createElement(g,{is:e.properties.is}):d.createElement(g)),"input"===g&&e.properties&&void 0!==e.properties.type&&r.setAttribute("type",e.properties.type)),void 0!==t?i.insertBefore(r,t):r.parentNode!==i&&i.appendChild(r)),c=v+1}}y(r,e,a)}},b=function(e,i,t){i&&i.split(" ").forEach((function(i){i&&e.classList.toggle(i,t)}))};i=function(e,t,p){var u=e.domNode,g=!1;if(e===t)return!1;var h=!1;if(""===t.vnodeSelector){if(t.text!==e.text){var f=u.ownerDocument.createTextNode(t.text);return u.parentNode.replaceChild(f,u),t.domNode=f,!0}t.domNode=u}else 0===t.vnodeSelector.lastIndexOf("svg",0)&&(p=l(p,{namespace:n})),e.text!==t.text&&(h=!0,void 0===t.text?u.removeChild(u.firstChild):u.textContent=t.text),t.domNode=u,h=function(e,t,n,a,l){if(n===a)return!1;for(var c,p=(n=n||s).length,u=(a=a||s).length,g=0,h=0,f=!1;h<u;){var y=g<p?n[g]:void 0,b=a[h];if(void 0!==y&&r(y,b))f=i(y,b,l)||f,g++;else{var w=o(n,b,g+1);if(w>=0){for(c=g;c<w;c++)m(n[c]),d(n,c,e,"removed");f=i(n[w],b,l)||f,g=w+1}else _(b,t,g<p?n[g].domNode:void 0,l),v(b),d(a,h,e,"added")}h++}if(p>g)for(c=g;c<p;c++)m(n[c]),d(n,c,e,"removed");return f}(t,u,e.children,t.children,p)||h,h=function(e,i,t,s){if(t){for(var l=!1,r=Object.keys(t),o=r.length,d=0;d<o;d++){var v=r[d],p=t[v],u=i[v];if("class"===v)u!==p&&(b(e,u,!1),b(e,p,!0));else if("classes"===v)for(var g=e.classList,h=Object.keys(p),f=h.length,m=0;m<f;m++){var y=h[m],_=!!p[y];_!==!!u[y]&&(l=!0,_?g.add(y):g.remove(y))}else if("styles"===v){var w=Object.keys(p),k=w.length;for(m=0;m<k;m++){var x=w[m],L=p[x];L!==u[x]&&(l=!0,L?(c(L),s.styleApplyer(e,x,L)):s.styleApplyer(e,x,""))}}else if(p||"string"!=typeof u||(p=""),"value"===v){var $=e[v];$!==p&&(e["oninput-value"]?$===e["oninput-value"]:p!==u)&&(e[v]=p,e["oninput-value"]=void 0),p!==u&&(l=!0)}else if(p!==u){var j=typeof p;"function"===j&&s.eventHandlerInterceptor||(s.namespace===n?"href"===v?e.setAttributeNS(a,v,p):e.setAttribute(v,p):"string"===j&&"innerHTML"!==v?"role"===v&&""===p?e.removeAttribute(v):e.setAttribute(v,p):e[v]!==p&&(e[v]=p),l=!0)}}return l}}(u,e.properties,t.properties,p)||h,t.properties&&t.properties.afterUpdate&&t.properties.afterUpdate.apply(t.properties.bind||t.properties,[u,p,t.vnodeSelector,t.properties,t.children]);return h&&t.properties&&t.properties.updateAnimation&&t.properties.updateAnimation(u,t.properties,e.properties),g};var w=function(e,t){return{getLastRender:function(){return e},update:function(n){if(e.vnodeSelector!==n.vnodeSelector)throw new Error("The selector for the root VNode may not be changed. (consider using dom.merge and add one extra level to the virtual DOM)");var a=e;e=n,i(a,n,t)},domNode:e.domNode}},k={namespace:void 0,performanceLogger:function(){},eventHandlerInterceptor:void 0,styleApplyer:function(e,i,t){"-"===i.charAt(0)?e.style.setProperty(i,t):e.style[i]=t}},x=function(e){return l(k,e)},L={create:function(e,i){return i=x(i),_(e,document.createElement("div"),void 0,i),w(e,i)},append:function(e,i,t){return t=x(t),_(i,e,void 0,t),w(i,t)},insertBefore:function(e,i,t){return t=x(t),_(i,e.parentNode,e,t),w(i,t)},merge:function(e,i,t){return t=x(t),i.domNode=e,y(e,i,t),w(i,t)},replace:function(e,i,t){return t=x(t),_(i,e.parentNode,e,t),e.parentNode.removeChild(e),w(i,t)}},$=function(e,i,t){for(var n=0,a=i.length;n<a;n++){var s=i[n];Array.isArray(s)?$(e,s,t):null!=s&&!1!==s&&("string"==typeof s&&(s={vnodeSelector:"",properties:void 0,children:void 0,text:s.toString(),domNode:null}),t.push(s))}};var j;j=Array.prototype.find?function(e,i){return e.find(i)}:function(e,i){return e.filter(i)[0]};var z=function(e,i,t){return function(){return n};function n(n){t("domEvent",n);var a=i(),s=function(e,i){for(var t=[];e&&e!==i;)t.push(e),e=e.parentNode;return t}(n.currentTarget,a.domNode);s.reverse();var l,r=function(e,i){var t=e;return i.forEach((function(e){t=t&&t.children?j(t.children,(function(i){return i.domNode===e})):void 0})),t}(a.getLastRender(),s);return e.scheduleRender(),r&&(l=r.properties["on".concat(n.type)].apply(r.properties.bind||this,arguments)),t("domEventProcessed",n),l}};e.createCache=function(){var e,i;return{invalidate:function(){i=void 0,e=void 0},result:function(t,n){if(e)for(var a=0;a<t.length;a++)e[a]!==t[a]&&(i=void 0);return i||(i=n(),e=t),i}}},e.createMapping=function(e,i,t){var n=[],a=[];return{results:a,map:function(s){for(var l=s.map(e),r=a.slice(),c=0,o=0;o<s.length;o++){var d=s[o],v=l[o];if(v===n[c])a[o]=r[c],t(d,r[c],o),c++;else{for(var p=!1,u=1;u<n.length+1;u++){var g=(c+u)%n.length;if(n[g]===v){a[o]=r[g],t(s[o],r[g],o),c=g+1,p=!0;break}}p||(a[o]=i(d,o))}}a.length=s.length,n=l}}},e.createProjector=function(e){var i,t,n=x(e),a=n.performanceLogger,s=!0,l=!1,r=[],c=[],o=function(e,t,s){var l;n.eventHandlerInterceptor=z(i,(function(){return l}),a),l=e(t,s(),n),r.push(l),c.push(s)},d=function(){if(t=void 0,s){s=!1,a("renderStart",void 0);for(var e=0;e<r.length;e++){var i=c[e]();a("rendered",void 0),r[e].update(i),a("patched",void 0)}a("renderDone",void 0),s=!0}};return i={renderNow:d,scheduleRender:function(){t||l||(t=requestAnimationFrame(d))},stop:function(){t&&(cancelAnimationFrame(t),t=void 0),l=!0},resume:function(){l=!1,s=!0,i.scheduleRender()},append:function(e,i){o(L.append,e,i)},insertBefore:function(e,i){o(L.insertBefore,e,i)},merge:function(e,i){o(L.merge,e,i)},replace:function(e,i){o(L.replace,e,i)},detach:function(e){for(var i=0;i<c.length;i++)if(c[i]===e)return c.splice(i,1),r.splice(i,1)[0];throw new Error("renderFunction was not found")}}},e.dom=L,e.h=function(e,i,t){if(Array.isArray(i))t=i,i=void 0;else if(i&&("string"==typeof i||i.vnodeSelector)||t&&("string"==typeof t||t.vnodeSelector))throw new Error("h called with invalid arguments");var n,a;return t&&1===t.length&&"string"==typeof t[0]?n=t[0]:t&&($(e,t,a=[]),0===a.length&&(a=void 0)),{vnodeSelector:e,properties:i,children:a,text:""===n?void 0:n,domNode:null}}}(k.exports);const x=k.exports.createProjector(),L=20,$={univariateAboveAndBelowSymbol:"esri-univariate-above-and-below-ramp__symbol",colorRamp:"esri-legend__color-ramp"};function j(i="vertical"){const t="stroke:rgb(200, 200, 200);stroke-width:1";return"vertical"===i?e("svg",{height:"4",width:"10"},e("line",{x1:"0",y1:"2",x2:"10",y2:"2",style:t})):e("svg",{height:"10",width:"10"},e("line",{x1:"5",y1:"0",x2:"5",y2:"10",style:t}))}function z(e,i="vertical"){const t=document.createElement("div");return t.style.height=`${L}px`,t.className=$.univariateAboveAndBelowSymbol,null!=e&&(t.style.opacity=e.toString()),x.append(t,j.bind(null,i)),t}function O(e,i,t="vertical",n){e.infos.forEach(((e,a)=>{if(n&&2===a)e.preview=z(i,t);else{const{size:i}=e,n=w(i)+("horizontal"===t?20:10),a="div"===e.preview.tagName.toLowerCase(),s=a?e.preview:document.createElement("div");s&&(s.className=$.univariateAboveAndBelowSymbol),"horizontal"===t?s&&(s.style.width=`${n}px`):s&&(s.style.height=`${n}px`),a||s&&s.appendChild(e.preview),e.preview=s}}))}function R(e,i="classic"){const t=e.infos,n=t[0].size,a=t[t.length-1].size;return"classic"===i?(w(n)+10)/2:(w(n)-w(a))/2}async function E(e,i){if(!e)return Promise.resolve(null);const t=e.infos.map((e=>e.color)),[n]=await _(["esri/symbols/support/symbolUtils"]),a=n.renderColorRampPreviewHTML("full"===i.type?t:"above"===i.type?t.slice(0,3):t.slice(2,5),{width:i.width,height:i.height,align:i.rampAlignment,effectList:i.effectList});return a.className=$.colorRamp,null!=i.opacity&&(a.style.opacity=i.opacity.toString()),Promise.resolve(a)}function A(e,i,t,n="vertical"){const a=function(e,i,t,n="vertical"){let a=0;const s=e.infos,l=Math.floor(s.length/2),r="full"===i||"below"===i?s.length-1:l;for(let e="full"===i||"above"===i?0:l;e<=r;e++)a+=t&&e===l?"horizontal"===n?10:L:w(s[e].size)+("horizontal"===n?20:10);return Math.round(a)}(e,i,t,n),s=e.infos,l=Math.floor(s.length/2),r="full"===i||"above"===i?0:l,c="full"===i||"below"===i?s.length-1:l,o=t?"vertical"===n?L:10:0,d="vertical"===n?10*("full"===i?2:1):20*("full"===i?2:1);return Math.round(a-(w("full"===i?s[r].size+s[c].size:"above"===i?s[r].size:s[c].size)/2+o/2+d/2))}const F="esri-legend__layer-body",M="esri-legend__layer-row",I="esri-legend__layer-cell esri-legend__layer-cell--info",T="esri-legend__layer-cell esri-legend__layer-cell--symbols",C="esri-legend__symbol",N="esri-legend__ramps",S="esri-legend__size-ramp",P="esri-legend__ramp-labels",H="esri-legend__ramp-label",D="esri-univariate-above-and-below-ramp__label",q={display:"flex",alignItems:"flex-start"},B={marginLeft:"3px"},U={display:"table-cell",verticalAlign:"middle"},V=class{constructor(e){i(this,e),this.calculatingFeatureCount=!1,this.legendvm=void 0,this.zoomTo=!1,this.featureCount=!1,this.filterMode={type:"filter"},this.messages=void 0,this.isLoading=!0,this.intLegendId=void 0}handleFilterModeChange(){a(this.filterMode,this.legendvm.view)}async componentWillLoad(){new MutationObserver((()=>{t(this.el)})).observe(this.el,{attributes:!0});const[e,i,n]=await _(["esri/intl","esri/core/reactiveUtils","esri/core/Handles"]);this.reactiveUtils=i,this.handles=new n,this.intl=e}async componentDidLoad(){this.initLegend()}async initLegend(){try{await this.reactiveUtils.whenOnce((()=>{var e;return null===(e=this.legendvm)||void 0===e?void 0:e.view})),this.legendvm.view.when((async()=>{var e,i,t,n;try{const a=await(null===(t=null===(i=null===(e=this.legendvm)||void 0===e?void 0:e.view)||void 0===i?void 0:i.map)||void 0===t?void 0:t.load());await(null===(n=null==a?void 0:a.basemap)||void 0===n?void 0:n.load());const c=null==a?void 0:a.allLayers,o=null==c?void 0:c.map((e=>e.load())),d=(await Promise.allSettled(o)).map((e=>"fulfilled"===(null==e?void 0:e.status)&&(null==e?void 0:e.value)?e.value:null)).filter((e=>!!e)),v=[];d.forEach((e=>{var i;(null===(i=this.legendvm)||void 0===i?void 0:i.view)&&v.push(this.legendvm.view.whenLayerView(e))})),await Promise.allSettled(v);const p=await s(this.legendvm,this.reactiveUtils);l.set("data",Object.assign(Object.assign({},r.data),p)),this.isLoading=!1,this.setupWatchersAndListeners()}catch(e){console.error(e),this.isLoading=!1}}))}catch(e){this.isLoading=!1}}disconnectedCallback(){var e,i;null===(e=this.handles)||void 0===e||e.removeAll(),null===(i=this.handles)||void 0===i||i.destroy(),this.handles=null}render(){var i,t,n;const a=this.renderFilteredLayers();return this.isLoading?e("calcite-loader",{key:"interactive-legend-loader",scale:"m",label:null===(i=this.messages)||void 0===i?void 0:i.loading,text:null===(t=this.messages)||void 0===t?void 0:t.loading}):e("div",{key:"interactive-legend-classic-container",class:c(this.el)},(null==a?void 0:a.length)>0?a:e("div",{class:"esri-legend__message"},null===(n=this.messages)||void 0===n?void 0:n.noLegend))}renderFilteredLayers(){var e,i;return(null===(i=null===(e=this.legendvm)||void 0===e?void 0:e.activeLayerInfos)||void 0===i?void 0:i.toArray()).map((e=>this.renderLegendForLayer(e))).filter((e=>!!e))}renderLegendForLayer(i,t){var n,a;if(!i.ready)return null;if(i.children.length){const a=i.children.map((e=>this.renderLegendForLayer(e,!0))).toArray();return e("instant-apps-interactive-legend-group-legend-element",{class:c(this.el),legendvm:this.legendvm,featureCount:this.featureCount,activeLayerInfo:i,isChild:t},e("div",{style:{paddingLeft:"20px"},id:`${null===(n=null==i?void 0:i.layer)||void 0===n?void 0:n.id}-legend-layer`,slot:"content"},a))}const s=i.legendElements;if(s&&!s.length)return null;const l=s.map(((e,t)=>this.renderLegendForElement(e,i.layer,i.effectList,i,t))).filter((e=>!!e));return l.length?e("instant-apps-interactive-legend-layer-element",{class:c(this.el),legendvm:this.legendvm,featureCount:this.featureCount,activeLayerInfo:i,messages:this.messages,isChild:t},e("div",{slot:"content",id:`${null===(a=null==i?void 0:i.layer)||void 0===a?void 0:a.id}-legend-layer`,class:"esri-legend__layer"},l)):null}renderLegendForElement(i,t,n,a,s,l,r){const d="color-ramp"===i.type,v="opacity-ramp"===i.type,p="size-ramp"===i.type;let u=null;const g=o(a,i,s),h="relationship-ramp"===(null==i?void 0:i.type);if("symbol-table"===i.type||p){const l=i.infos.map(((e,l)=>this.renderLegendForElementInfo(e,t,n,p,i,a,s,l,g,r||null))).filter((e=>!!e));l.length&&(u=e("div",{class:F},l))}else"color-ramp"===i.type||"opacity-ramp"===i.type||"heatmap-ramp"===i.type||"stretch-ramp"===i.type?u=this.renderLegendForRamp(i,t.opacity):"relationship-ramp"===i.type?u=e("instant-apps-interactive-legend-relationship",{class:c(this.el),key:"relationship-ramp",filterMode:this.filterMode,activeLayerInfo:a,legendElement:i,messages:this.messages}):"pie-chart-ramp"===i.type?u=this.renderPieChartRamp(i):"univariate-above-and-below-ramp"===i.type?u=this.renderUnivariateAboveAndBelowRamp(i,t.opacity,n):"univariate-color-size-ramp"===i.type&&(u=this.renderUnivariateColorSizeRamp(i,t.opacity,n));if(!u)return null;const f=i.title;let m=null;if("string"==typeof f)m=f;else if(f){const e=this.getTitle(this.messages,f,d||v);m=this.isRendererTitle(f,d||v)&&f.title?`${f.title} (${e})`:e}return e("instant-apps-interactive-legend-legend-element",{class:c(this.el),activeLayerInfo:a,isSizeRamp:p,isChild:l,isColorRamp:d,isRelationshipRamp:h,isInteractive:g,zoomTo:this.zoomTo,legendElement:i,titleText:m,legendvm:this.legendvm,legendElementIndex:s,messages:this.messages},e("div",{slot:"content"},u))}renderPieChartRamp(i){var t;return e("div",{innerHTML:`${null===(t=i.preview)||void 0===t?void 0:t.outerHTML}`})}async renderUnivariateAboveAndBelowRamp(i,t,n){const{sizeRampElement:a,colorRampElement:s}=function(e,i,t="vertical"){const n=e.infos;let a=n.find((({type:e})=>"size-ramp"===e)),s=n.find((({type:e})=>"color-ramp"===e));return a&&(a=Object.assign({},a),a.infos=[...a.infos],O(a,i,t,!0)),s&&(s=Object.assign({},s),s.infos=[...s.infos]),"horizontal"===t&&(null==a||a.infos.reverse(),null==s||s.infos.reverse()),{sizeRampElement:a,colorRampElement:s}}(i,t);if(!a)return null;const l=A(a,"above",!0),r=A(a,"below",!0),c=await E(s,{width:12,height:l,rampAlignment:"vertical",opacity:t,type:"above",effectList:n}),o=await E(s,{width:12,height:r,rampAlignment:"vertical",opacity:t,type:"below",effectList:n}),d=R(a),v=a.infos.map((e=>e.label)),p=v.map(((i,t)=>{const n=2===t;return 0===t?e("div",{class:i?c?D:H:""},i):n?e("div",null):null})),u=v.length-1,g=Math.floor(v.length/2),h=v.map(((i,t)=>t===g||t===u?e("div",{class:i?c?D:H:""},i):null)),f={display:"table-cell",verticalAlign:"middle"},m={marginTop:`${d}px`},y={height:`${l}px`},_={height:`${r}px`};return e("div",{key:"univariate-above-and-below-ramp-preview",style:q},e("div",{class:F},a.infos.map(((i,t)=>e("div",{class:`${M} ${S}`},e("div",{class:C,style:f,innerHTML:`${i.preview.outerHTML}`}),c||t%2!=0?null:e("div",{class:I},v[t]))))),c?e("div",{style:m,key:"color-ramp-preview"},e("div",{style:B},e("div",{style:U},e("div",{class:N},c)),e("div",{style:U},e("div",{class:P,style:y},p))),e("div",{style:B},e("div",{style:U},e("div",{class:N},o)),e("div",{style:U},e("div",{class:P,style:_},h)))):null)}renderUnivariateColorSizeRamp(i,t,n){const{sizeRampElement:a,colorRampElement:s}=function(e,i="vertical"){const t=e.infos;let n=t.find((({type:e})=>"size-ramp"===e)),a=t.find((({type:e})=>"color-ramp"===e));return n&&(n=Object.assign({},n),n.infos=[...n.infos],O(n,null,i,!1)),a&&(a=Object.assign({},a),a.infos=[...a.infos]),"horizontal"===i&&(null==n||n.infos.reverse(),null==a||a.infos.reverse()),{sizeRampElement:n,colorRampElement:a}}(i);if(!a)return null;const l=R(a),r=A(a,"full",!1),c=E(s,{width:12,height:r,rampAlignment:"vertical",opacity:t,type:"full",effectList:n}),o=a.infos.length-1,d=a.infos.map(((i,t)=>0===t||t===o?e("div",{class:i.label?s?D:H:""},i.label):null)),v={display:"table-cell",verticalAlign:"middle"},p={marginTop:`${l}px`},u={height:`${r}px`};return e("div",{key:"univariate-above-and-below-ramp-preview",style:q},e("div",{class:F},a.infos.map((i=>e("div",{class:`${M} ${S}`},e("div",{class:C,style:v,innerHTML:`${i.preview.outerHTML}`}))))),e("div",{style:p,key:"color-ramp-preview"},e("div",{style:B},e("div",{style:U},e("div",{class:N},c)),e("div",{style:U},e("div",{class:P,style:u},d)))))}renderLegendForRamp(i,t){var n;const a=i.infos,s="heatmap-ramp"===i.type,l="stretch-ramp"===i.type,r=i.preview,c="opacity-ramp"===i.type?"esri-legend__opacity-ramp":"";r&&(r.classList.add("esri-legend__color-ramp"),c&&r.classList.add(c)),null!=t&&r&&(r.style.opacity=t.toString());const o=a.map((i=>e("div",{class:i.label?H:""},s?this.messages[i.label]||i.label:l?this.getStretchStopLabel(i):i.label))),d={height:null===(n=null==r?void 0:r.style)||void 0===n?void 0:n.height};return e("div",{class:M},e("div",{class:T,style:Object.assign({},{width:"24px"})},e("div",{ref:e=>{var i;(null==e?void 0:e.firstChild)&&(null===(i=null==e?void 0:e.firstChild)||void 0===i||i.remove()),null==e||e.appendChild(r)},class:N})),e("div",{class:I},e("div",{class:P,style:Object.assign({},d)},o)))}getStretchStopLabel(e){return e.label?this.messages[e.label]+": "+("string"==typeof e.value?e.value:this.intl.formatNumber(e.value,{style:"decimal",notation:e.value.toString().includes("e")?"scientific":"standard"})):""}renderLegendForElementInfo(i,t,n,a,s,l,o,u,g,h){var f,y;if(i.type)return this.renderLegendForElement(i,t,n,l,o,!0,i);let _;if(i.preview?_=e("div",{class:C,innerHTML:`${i.preview.outerHTML}`}):i.src&&(_=this.renderImage(i,t,!1)),!_)return null;const b=a?` ${S}`:"";let w;const k=m(t),x=d(k,h);if(r.data){const e=v(k,t,i,x,u),n=p(x?null==x?void 0:x.nestedInfos:k);w=1===(null===(f=null==k?void 0:k.categories)||void 0===f?void 0:f.size)?!(null==e?void 0:e.selected):n||(null==e?void 0:e.selected)}return x&&!(null==i?void 0:i.value)||!g?e("div",{class:M},e("div",{class:`${T}${b}`},_),e("div",{class:`${I}`},this.getTitle(this.messages,i.label,!1)||"")):e("button",{onClick:this.applyFilter(i,t,u,h),class:`${M} instant-apps-interactive-legend__layer-row--interactive${w?" instant-apps-interactive-legend-element-info--selected":""}`},e("div",{class:`${T}${b}`},_),e("div",{class:`${I}`},this.getTitle(this.messages,i.label,!1)||""),this.featureCount?e("instant-apps-interactive-legend-count",{class:c(this.el),categoryId:x?s.title:null!==(y=i.label)&&void 0!==y?y:null==t?void 0:t.id,activeLayerInfo:l,legendvm:this.legendvm,messages:this.messages,selected:w,legendElement:s,infoIndex:u}):null)}renderImage(i,t,n){const{label:a,src:s,opacity:l}=i,r=n?" esri-legend__imagery-layer-image--stretched":"",c=n?"":` ${C}`,o={opacity:`${null!=l?l:t.opacity}`};return e("img",{alt:this.getTitle(this.messages,a,!1),src:s,width:i.width,height:i.height,class:`$${r}${c}`,style:o})}getTitle(e,i,t){var n,a;if(!i)return;if("string"==typeof i||"number"==typeof i)return i;if("value"in i||"unit"in i)return this.intl.substitute(null!==(n=null==e?void 0:e.dotValue)&&void 0!==n?n:"",i);if("colorName"in i||"bandName"in i)return e[i.colorName]+": "+(e[i.bandName]||i.bandName);if("showCount"in i)return i.showCount?e.clusterCountTitle:null;let s=null;return this.isRampTitle(i,t)?s=i.ratioPercentTotal?"showRatioPercentTotal":i.ratioPercent?"showRatioPercent":i.ratio?"showRatio":i.normField?"showNormField":i.field?"showField":null:this.isRendererTitle(i,t)&&(s=i.normField?"showNormField":i.normByPct?"showNormPct":i.field?"showField":null),s?null===(a=this.intl)||void 0===a?void 0:a.substitute("showField"===s?"{field}":e[s],{field:i.field,normField:i.normField}):""}isRampTitle(e,i){return i}isRendererTitle(e,i){return!i}setupWatchersAndListeners(){var e,i,n,a,c,o;const d=null===(a=null===(n=null===(i=null===(e=this.legendvm)||void 0===e?void 0:e.view)||void 0===i?void 0:i.map)||void 0===n?void 0:n.allLayers)||void 0===a?void 0:a.filter((e=>"feature"===(null==e?void 0:e.type)));d.forEach((async e=>{var i,t,n,a;try{const s=await(null===(t=null===(i=this.legendvm)||void 0===i?void 0:i.view)||void 0===t?void 0:t.whenLayerView(e)),l=`fLayerViewScale-${null==e?void 0:e.id}`;(null===(n=this.handles)||void 0===n?void 0:n.has(l))||null===(a=this.handles)||void 0===a||a.add(s.watch("visibleAtCurrentScale",(async()=>this.createDataForLayer(e))),l)}catch(e){}})),null==d||d.forEach((e=>{var i,t,n;const a=`fLayer-${null==e?void 0:e.id}`;(null===(i=this.handles)||void 0===i?void 0:i.has(a))||null===(t=this.handles)||void 0===t||t.add(null===(n=this.reactiveUtils)||void 0===n?void 0:n.watch((()=>null==e?void 0:e.visible),(async()=>this.createDataForLayer(e))),a)})),null===(c=this.handles)||void 0===c||c.add(this.reactiveUtils.when((()=>this.legendvm),(()=>{this.reactiveUtils.watch((()=>{var e,i;return null===(i=null===(e=this.legendvm)||void 0===e?void 0:e.view)||void 0===i?void 0:i.updating}),(()=>{var e,i;this.calculatingFeatureCount||(null===(i=null===(e=this.legendvm)||void 0===e?void 0:e.view)||void 0===i?void 0:i.updating)&&(this.calculatingFeatureCount=!0,this.reactiveUtils.when((()=>{var e,i;return!(null===(i=null===(e=this.legendvm)||void 0===e?void 0:e.view)||void 0===i?void 0:i.updating)}),(async()=>{const e=await u(this.legendvm,r.data);l.set("data",Object.assign(Object.assign({},r.data),e)),this.calculatingFeatureCount=!1}),{once:!0,initial:!0}))}),{initial:!0})}),{initial:!0,once:!0})),null===(o=this.handles)||void 0===o||o.add(this.reactiveUtils.on((()=>{var e;return null===(e=this.legendvm)||void 0===e?void 0:e.activeLayerInfos}),"change",(async e=>{var i;const n=await s(this.legendvm,this.reactiveUtils);l.set("data",Object.assign(Object.assign({},r.data),n)),t(this.el),null===(i=this.handles)||void 0===i||i.add(this.reactiveUtils.on((()=>e.children),"change",(async()=>{const e=await s(this.legendvm,this.reactiveUtils);l.set("data",Object.assign(Object.assign({},r.data),e)),t(this.el)})))})))}async createDataForLayer(e){var i,t;const n=l.get("data"),a=null==n?void 0:n[null==e?void 0:e.id],s=null===(t=null===(i=this.legendvm)||void 0===i?void 0:i.activeLayerInfos)||void 0===t?void 0:t.find((i=>{var t;return(null===(t=null==i?void 0:i.layer)||void 0===t?void 0:t.id)===(null==e?void 0:e.id)}));if(!a&&s){const i=await g(this.legendvm,s,this.reactiveUtils);if(h({intLegendLayerData:i,layerId:null==e?void 0:e.id}),this.featureCount){const e=await u(this.legendvm,r.data);l.set("data",Object.assign(Object.assign({},r.data),e))}}}applyFilter(e,i,t,n){return async()=>{var a;const s=Object.assign({},null===(a=r.data)||void 0===a?void 0:a[null==i?void 0:i.id]);n?await f(s,e,t,this.filterMode,n):await f(s,e,t,this.filterMode),h({intLegendLayerData:s,layerId:null==i?void 0:i.id})}}get el(){return n(this)}static get watchers(){return{filterMode:["handleFilterModeChange"]}}};V.style=".sc-instant-apps-interactive-legend-classic-h{display:block;--instant-apps-interactive-legend-heading-font-size:1rem;--instant-apps-interactive-legend-heading-font-weight:normal;--instant-apps-interactive-legend-caption-font-weight:normal;--instant-apps-interactive-legend-secondary-color:var(--calcite-color-text-1);--instant-apps-interactive-legend-field-name-font-size:1rem;--instant-apps-interactive-legend-total-feature-count-font-size:0.875rem;--instant-apps-interactive-legend-info-font-size:0.875rem;--instant-apps-interactive-legend-info-item-background--selected:#c7ebff;--instant-apps-interactive-legend-info-item-background--selected--dark:#009af2;--instant-apps-interactive-legend-info-item-background--hover:#e9e9e9;--instant-apps-interactive-legend-info-item-background--hover--dark:#4a4a4a;--instant-apps-interactive-legend-info-item-color--selected:var(--calcite-color-text-2);--instant-apps-interactive-legend-secondary-background-color:var(--calcite-color-background);--instant-apps-interactive-legend-ui-margin:20px 15px;--instant-apps-interactive-legend-ui-padding:20px 15px}.sc-instant-apps-interactive-legend-classic-h .esri-legend__service.sc-instant-apps-interactive-legend-classic{padding:0}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-body.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-table.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__group-layer-child.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-child-table.sc-instant-apps-interactive-legend-classic{margin:0;overflow:hidden}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic{display:flex;align-items:center;font-size:var(--instant-apps-interactive-legend-field-name-font-size);background-color:var(--instant-apps-interactive-legend-secondary-background-color);color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic calcite-action.sc-instant-apps-interactive-legend-classic{margin-right:5px}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-classic{white-space:nowrap}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-caption-btn-container.sc-instant-apps-interactive-legend-classic calcite-button.sc-instant-apps-interactive-legend-classic{margin:2px}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic{font-weight:var(--instant-apps-interactive-legend-caption-font-weight)}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell.esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{font-size:var(--instant-apps-interactive-legend-info-font-size);text-align:left}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-row.sc-instant-apps-interactive-legend-classic{display:flex;align-items:center}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.sc-instant-apps-interactive-legend-classic .esri-legend__layer-body.sc-instant-apps-interactive-legend-classic{display:block;margin:var(--instant-apps-interactive-legend-ui-margin)}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.instant-apps-interactive-legend__nested-unique-symbol.sc-instant-apps-interactive-legend-classic>.esri-legend__layer-body.sc-instant-apps-interactive-legend-classic{margin:0}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.sc-instant-apps-interactive-legend-classic .esri-legend__layer-row.sc-instant-apps-interactive-legend-classic{display:table-row}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__non-interactive.sc-instant-apps-interactive-legend-classic .esri-legend__layer-cell.sc-instant-apps-interactive-legend-classic{display:table-cell}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell--symbols.sc-instant-apps-interactive-legend-classic{justify-content:center;width:20%}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{width:65%}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic{margin:1px;background:transparent;border:none;width:100%}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{color:var(--instant-apps-interactive-legend-secondary-color)}.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-row.sc-instant-apps-interactive-legend-classic,.sc-instant-apps-interactive-legend-classic-h .esri-legend__layer-caption.sc-instant-apps-interactive-legend-classic{padding:var(--instant-apps-interactive-legend-ui-padding)}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic{position:relative}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend-element-info--selected.sc-instant-apps-interactive-legend-classic{background-color:var(--instant-apps-interactive-legend-info-item-background--selected)}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend-element-info--selected.sc-instant-apps-interactive-legend-classic{cursor:pointer;background-color:var(--instant-apps-interactive-legend-info-item-background--selected--dark)}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend-element-info--selected.sc-instant-apps-interactive-legend-classic .esri-legend__layer-cell--info.sc-instant-apps-interactive-legend-classic{color:var(--calcite-color-text-inverse)}.sc-instant-apps-interactive-legend-classic-h .hide.sc-instant-apps-interactive-legend-classic{display:none}@media (min-width: 992px){.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic{cursor:pointer}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover{background-color:var(--instant-apps-interactive-legend-info-item-background--hover)}.sc-instant-apps-interactive-legend-classic-h .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover.instant-apps-interactive-legend-element-info--selected{background-color:#e2f2fe}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover{background-color:var(--instant-apps-interactive-legend-info-item-background--hover--dark)}.sc-instant-apps-interactive-legend-classic-h .calcite-mode-dark.sc-instant-apps-interactive-legend-classic .instant-apps-interactive-legend__layer-row--interactive.sc-instant-apps-interactive-legend-classic:hover.instant-apps-interactive-legend-element-info--selected{background-color:#26a9f4}}";export{V as instant_apps_interactive_legend_classic}
@@ -1,6 +0,0 @@
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 t,c as n,h as i,H as s,g as e}from"./p-6d753a3d.js";import{g as o}from"./p-6bdafe3f.js";import{l as a}from"./p-4ba6f8f0.js";import{g as r}from"./p-c96eb2db.js";import"./p-deb3adb8.js";import"./p-82e085d0.js";const p="instant-apps-export calcite-mode-light",l="instant-apps-export-print",h="instant-apps-export-print__content-container",c="instant-apps-export-print__extra-container",d="instant-apps-export-print__legend-container",u="instant-apps-export-print__compass-container",x="instant-apps-export-print__scale-bar-container",v="instant-apps-export-print__popup-container",b="instant-apps-export-print__popup-content",_="instant-apps-export-print__popup-title",g="instant-apps-export-print__view",f="instant-apps-export-print__view-container",m="instant-apps-export-print__view-wrapper",w="instant-app-export-drag",k=class{constructor(i){t(this,i),this.exportOutputUpdated=n(this,"exportOutputUpdated",7),this.output=void 0,this.beforeExport=()=>Promise.resolve(),this.popoverIcon="export",this.extraContent=void 0,this.extraContentLabel=void 0,this.headerTitle="",this.includeExtraContent=!0,this.includeLegend=!0,this.includeMap=!0,this.includePopup=!1,this.mode="popover",this.popoverPositioning="absolute",this.popoverPlacement="auto",this.scale="m",this.showHeaderTitle=!0,this.showIncludeLegend=!0,this.showIncludeMap=!1,this.showIncludePopup=!0,this.showScaleBar=!1,this.view=void 0,this.maskBackground="rgba(255, 51, 0, 0.1)",this.maskBorder="2px dashed rgb(255, 51, 0)",this.baseClass=p,this.exportIsLoading=void 0,this.messages=void 0}watchIncludeMap(t){t&&this.updateLegend()}componentWillLoad(){this.baseClass="dark"===r(this.el)?"instant-apps-export calcite-mode-dark":p,o(this),this.initializeModules()}componentDidLoad(){this.printContainerEl.prepend(this.printEl)}disconnectedCallback(){var t,n;null===(t=this.handles)||void 0===t||t.removeAll(),null===(n=this.handles)||void 0===n||n.destroy(),this.handles=null}async initializeModules(){const[t]=await a(["esri/core/Handles"]);return this.handles=new t,Promise.resolve()}render(){const t="popover"===this.mode?this.renderPopover():this.renderPanel(),n=this.renderCompass();return i(s,null,i("div",{class:this.baseClass,onMouseEnter:this.handleWidgetCreation.bind(this),onFocusin:this.handleWidgetCreation.bind(this)},t,i("div",{class:"instant-apps-export__visually-hidden"},n)))}renderPopover(){var t,n,s;const e=this.renderPanel();return[i("calcite-popover",{referenceElement:"export-popover-btn",label:null===(t=this.messages)||void 0===t?void 0:t.exportPopover,overlayPositioning:this.popoverPositioning,placement:this.popoverPlacement,autoClose:!0,ref:t=>this.popoverEl=t},e),i("calcite-action",{id:"export-popover-btn",alignment:"center",icon:this.popoverIcon,scale:this.scale,title:null===(n=this.messages)||void 0===n?void 0:n.exportBtn,text:null===(s=this.messages)||void 0===s?void 0:s.exportBtn})]}renderPanel(){var t,n;const s=this.showHeaderTitle?this.renderTitle():null,e=null!=this.extraContent?this.renderSwitch("includeExtraContent",this.extraContentLabel):null,o=this.showIncludeMap?this.renderSwitch("includeMap"):null,a=this.includeMap?this.renderMapOptions():null,r=this.renderPrint();return i("div",{class:"inline"===this.mode?"instant-apps-export__inline-container":"instant-apps-export__popover-container"},s,e,o,a,this.includeMap?i("calcite-button",{appearance:"transparent",width:"full",onClick:this.setMapAreaOnClick.bind(this),disabled:this.exportIsLoading},null===(t=this.messages)||void 0===t?void 0:t.setMapArea):null,i("calcite-button",{width:"full",onClick:this.exportOnClick.bind(this),disabled:this.exportIsLoading},null===(n=this.messages)||void 0===n?void 0:n.export),r)}renderTitle(){var t;return i("calcite-label",null,null===(t=this.messages)||void 0===t?void 0:t.title,i("calcite-input",{value:this.headerTitle,onCalciteInputInput:this.updateHeaderTitle.bind(this)}))}renderSwitch(t,n){var s;const e=null!=n?n:null===(s=this.messages)||void 0===s?void 0:s[t];return i("calcite-label",{layout:"inline-space-between"},e,i("calcite-switch",{checked:this[t],value:t,onCalciteSwitchChange:this.optionOnChange.bind(this)}))}renderMapOptions(){const t=this.showIncludeLegend?this.renderSwitch("includeLegend"):null,n=this.showIncludePopup?this.renderSwitch("includePopup"):null;return i("div",null,t,n)}renderPrint(){const t=this.includeMap?this.renderPrintMap():null,n=this.renderExtraContent(),s=this.includeMap&&this.showIncludeLegend?this.renderLegend():null,e=this.includeMap&&this.showIncludePopup?this.renderPopup():null;return i("div",{ref:t=>this.printContainerEl=t},i("div",{class:l,ref:t=>this.printEl=t},t,s,i("div",{class:h},e,n)))}renderPrintMap(){return i("div",{class:f,ref:t=>this.viewContainerEl=t},i("div",{class:m,ref:t=>this.viewWrapperEl=t},this.headerTitle?i("instant-apps-header",{titleText:this.headerTitle,backgroundColor:"#fff",textColor:"#323232"}):null,i("img",{class:g,ref:t=>this.viewEl=t}),i("div",{class:x,ref:t=>this.scaleBarContainerEl=t})))}renderLegend(){return i("div",{class:d,ref:t=>this.legendContainerEl=t})}renderCompass(){return i("div",{class:u,ref:t=>this.compassContainerEl=t})}renderPopup(){return i("div",{class:v,ref:t=>this.popupContainerEl=t},i("div",{ref:t=>this.popupTitleEl=t,class:_}),i("div",{ref:t=>this.popupContentEl=t,class:b}))}renderExtraContent(){return i("div",{class:c,id:"export-content",ref:t=>this.extraContainerEl=t})}optionOnChange(t){const{checked:n,value:i}=t.target;this[i]=n,this.updateExportOutput()}updateHeaderTitle(t){this.headerTitle=t.target.value,this.updateExportOutput()}async exportOnClick(){this.removeScreenshotElements(),await this.beforeExport(),null==this.viewWrapperEl||this.viewWrapperEl.contains(this.compassContainerEl)||this.viewWrapperEl.append(this.compassContainerEl),this.handleViewExportOnClick(),null!=this.popoverEl&&(this.popoverEl.open=!1)}async handleViewExportOnClick(){null!=this.view?(this.addPrintStyling(),document.body.prepend(this.printEl),this.handleExtraContent(),this.includeMap?(this.updateScaleBar(),this.updatePopupToPrint(),this.viewScreenshot(),this.handleImgLoaded()):this.handleImgLoaded()):null!=this.popoverEl&&(this.popoverEl.open=!1)}addPrintStyling(){null==this.printStyleEl&&(this.printStyleEl=document.createElement("style"),this.printStyleEl.innerHTML='\n @media print {\n @page {\n size: Portrait;\n margin: .25in;\n }\n\n html, body {\n padding: 0;\n margin: 0;\n height: 100%;\n width: 100%;\n }\n\n body > *:not(.instant-apps-export-print) { display: none; }\n }\n\n * {\n -webkit-print-color-adjust: exact;\n color-adjust: exact;\n }\n\n\n .instant-apps-export-print {\n height: 100%;\n width: 100%;\n position: absolute;\n z-index: -999;\n color: #323232 !important;\n display: grid;\n gap: 24px;\n grid-auto-flow: row;\n --esri-calcite-mode-name: "light";\n }\n\n .instant-apps-export-print, .instant-apps-export-print * {\n box-sizing: border-box;\n }\n\n .instant-apps-export-print__view-section {\n height: 100%;\n }\n\n .instant-apps-export-print__view-container {\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n }\n\n .instant-apps-export-print__view-wrapper {\n height: fit-content;\n width: fit-content;\n position: relative;\n display: flex;\n flex-direction: column;\n border: 2pt solid #323232;\n overflow: hidden;\n }\n\n .instant-apps-export-print__view {\n object-fit: contain;\n }\n\n .instant-apps-export-print__popup-container {\n height: min-content;\n max-width: 350px;\n display: none;\n color: #323232;\n background: #fff;\n border: 1pt solid #323232;\n break-inside: avoid;\n }\n\n .instant-apps-export-print__popup-title {\n border-bottom: 1pt solid #323232;\n }\n\n .instant-apps-export-print__popup-content {\n background: #fff;\n padding-top: 8pt;\n }\n\n .instant-apps-export-print__popup-content .esri-feature-media__chart {\n background: #fff;\n }\n\n .instant-apps-export-print__legend-container {\n height: min-content;\n background: #fff;\n overflow: unset;\n }\n\n .esri-legend--card, .esri-legend--card__service-content {\n flex-flow: row wrap;\n }\n\n .instant-apps-export-print .esri-widget > *:not(.esri-scale-bar.esri-widget > *) {\n background: #fff;\n color: #323232;\n }\n\n .instant-apps-export-print__popup-content * {\n color: #323232;\n }\n\n .instant-apps-export-print .esri-widget__heading {\n margin: 2pt 7pt;\n padding: 0;\n color: #323232;\n }\n\n .instant-apps-export-print .esri-legend__ramp-label:before {\n border-color: rgba(0,0,0,0) rgba(50,50,50,.8) rgba(0,0,0,0) rgba(0,0,0,0);\n }\n\n .instant-apps-export-print .esri-legend--card__section {\n padding: 4pt 0 4pt;\n min-width: unset;\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__section:first-child {\n border-left: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service {\n border: none;\n flex: 0 1 auto;\n break-inside: avoid;\n }\n\n .instant-apps-export-print .esri-legend--card {\n border: none;\n gap: 6pt 12pt;\n }\n\n .instant-apps-export-print .esri-legend--card:not(:first-child),\n .instant-apps-export-print .esri-compass.esri-widget:not(:first-child) {\n display: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-container {\n height: unset;\n padding: 0;\n border-bottom: none;\n }\n\n .instant-apps-export-print .esri-legend--card__service-caption-text {\n padding-bottom: 4px;\n }\n\n .instant-apps-export-print__compass-container {\n position: absolute;\n top: 65px;\n left: 15px;\n background: #fff;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n --calcite-ui-icon-color: #000;\n border-radius: 50%;\n height: fit-content;\n }\n\n .instant-apps-export-print__compass-container .esri-compass {\n background: #fff;\n }\n\n .instant-apps-export-print__compass-container .esri-compass__icon.esri-icon-compass {\n color: #000;\n }\n\n .instant-apps-export-print__compass-container.esri-compass.esri-widget--button {\n background: #fff;\n }\n\n .instant-apps-export-print__scale-bar-container {\n width: 100%;\n position: absolute;\n bottom: 15px;\n margin: 0 15px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__label {\n color: #323232;\n font-size: 10px;\n padding: 0 4px;\n }\n \n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label {\n height: 10px;\n padding: 0 2px;\n line-height: 11px;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__bar-container:nth-child(1n+3) {\n display: none;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__bar-container.esri-scale-bar__bar-container--line {\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line {\n background-color: rgba(255, 255, 255, 0.66);\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top {\n width: var(--instant-apps-scale-bar-top) !important;\n border-bottom: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom {\n width: var(--instant-apps-scale-bar-bottom) !important;\n border-top: 2px solid #323232;\n }\n\n .instant-apps-export-print__scale-bar-container--position .esri-scale-bar__label-container--line {\n position: unset;\n margin: 0 2px;\n background-color: rgba(255, 255, 255, 0.66);\n height: 10px;\n display: flex;\n align-items: center;\n }\n\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--top:after,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:before,\n .instant-apps-export-print__scale-bar-container .esri-scale-bar__line--bottom:after {\n background-color: #323232;\n border-right: 2px solid #323232;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__item-navigation {\n display: none;\n }\n\n .instant-apps-export-print__popup-container .esri-feature-media__chart.esri-feature-media__chart--rendered * {\n width: 100%!important;\n }\n\n .instant-apps-export-print__popup-content .esri-popup__content {\n margin: 0;\n }\n\n .instant-apps-export-print__content-container {\n display: flex;\n gap: 24px;\n break-inside: avoid;\n break-before: auto;\n }',document.body.prepend(this.printStyleEl))}handleImgLoaded(){this.exportIsLoading=!0,setTimeout((()=>{this.exportIsLoading=void 0,this.setupViewPrintElements()}),1500)}handleExtraContent(){const t=this.printEl.querySelector("#export-content");null!=t&&(t.innerHTML="",null!=this.extraContent&&this.includeExtraContent?(t.style.display="block",t.append(this.extraContent.cloneNode(!0))):t.style.display="none")}resetPrintContent(){var t,n;if(null!=this.view){this.screenshot=null,null===(t=this.printContainerEl)||void 0===t||t.prepend(this.printEl),null===(n=this.printStyleEl)||void 0===n||n.remove(),this.printStyleEl=void 0;const i=this.printEl.querySelector("#export-content");i&&(i.innerHTML="")}}async updatePopupToPrint(){var t,n;if(null!=this.view&&(null!=this.popupContainerEl&&(this.popupContainerEl.style.display=this.includePopup&&this.view.popup.visible?"block":"none",this.checkPopupOpen()),this.view.popup.visible&&null!=this.view.popup.selectedFeature)){const i=document.createElement(`h${null!==(t=this.view.popup.headingLevel)&&void 0!==t?t:2}`);i.innerHTML=null!==(n=this.view.popup.title)&&void 0!==n?n:"",i.className="esri-widget__heading esri-popup__header-title",null!=this.popupTitleEl&&(this.popupTitleEl.style.display=this.view.popup.title?"block":"none",this.popupTitleEl.innerHTML="",this.popupTitleEl.prepend(i))}}updateExportOutput(){this.output={},this.showHeaderTitle&&(this.output.headerTitle=this.headerTitle),this.showIncludeLegend&&(this.output.includeLegend=this.includeLegend),this.showIncludeMap&&(this.output.includeMap=this.includeMap),this.showIncludePopup&&(this.output.includePopup=this.includePopup),this.exportOutputUpdated.emit()}setupViewPrintElements(){if(null!=this.view){this.handleLegendSetup();const t=document.title;this.showHeaderTitle&&this.headerTitle&&(document.title=this.headerTitle),window.print(),document.title=t,setTimeout((()=>{this.resetPrintContent()}),1e3)}}handleLegendSetup(){var t;if(this.showIncludeLegend&&null!=this.view&&this.includeMap&&null!=this.legendContainerEl){const n=null!=this.legend&&(null===(t=this.legend.activeLayerInfos)||void 0===t?void 0:t.length)>0;this.legendContainerEl.style.display=this.includeLegend&&n?"block":"none"}}handleWidgetCreation(){this.handleLegendCreation(),this.handleCompassCreation()}handleLegendCreation(){var t,n,i,s,e;if(this.includeMap&&null!=this.view&&this.showIncludeLegend&&null!=this.legendContainerEl){const o=this.view.map,a=null===(n=null===(t=this.legend)||void 0===t?void 0:t.view)||void 0===n?void 0:n.map;null!=(null===(i=null==o?void 0:o.portalItem)||void 0===i?void 0:i.id)&&(null===(s=null==o?void 0:o.portalItem)||void 0===s?void 0:s.id)===(null===(e=null==a?void 0:a.portalItem)||void 0===e?void 0:e.id)||this.updateLegend()}}updateLegend(){var t;null===(t=this.view)||void 0===t||t.when((async t=>{if(null!=this.legend&&(this.legend.destroy(),this.legend=null),null!=this.legendContainerEl){this.legendContainerEl.innerHTML="";const n=document.createElement("div");this.legendContainerEl.append(n);const[i]=await a(["esri/widgets/Legend"]);this.legend=new i({container:n,view:t,style:{type:"card",layout:"side-by-side"}})}}))}handleCompassCreation(){var t,n,i,s;if(this.includeMap&&null!=this.view&&null!=this.compassContainerEl){const e=this.view.map,o=null===(n=null===(t=this.compass)||void 0===t?void 0:t.view)||void 0===n?void 0:n.map;(null===(i=null==e?void 0:e.portalItem)||void 0===i?void 0:i.id)===(null===(s=null==o?void 0:o.portalItem)||void 0===s?void 0:s.id)||this.updateCompass()}}updateCompass(){var t;null===(t=this.view)||void 0===t||t.when((async t=>{var n;null===(n=this.compass)||void 0===n||n.destroy(),this.compass=null;const i=document.createElement("div");this.compassContainerEl.append(i);const[s]=await a(["esri/widgets/Compass"]);this.compass=new s({container:i,view:t})}))}updateScaleBar(){if(this.scaleBarContainerEl&&null!=this.view&&(this.scaleBarContainerEl.innerHTML="",this.showScaleBar)){const t=this.view.ui.getComponents(),n=null==t?void 0:t.find((({container:t})=>{var n;return null===(n=null==t?void 0:t.className)||void 0===n?void 0:n.includes("esri-scale-bar")}));null!=(null==n?void 0:n.container)&&"string"!=typeof n.container&&this.scaleBarContainerEl.append(n.container.cloneNode(!0))}}async viewScreenshot(){var t;if(null!=this.view&&this.includeMap&&(null==this.screenshot&&(null===(t=this.scaleBarContainerEl)||void 0===t||t.classList.toggle("instant-apps-export-print__scale-bar-container--position",this.view.width>1e3),this.screenshot=await this.view.takeScreenshot({width:2*this.view.width,height:2*this.view.height})),this.handleScaleBarSize(),null!=this.viewEl&&null!=this.viewWrapperEl)){const{height:t,width:n}=this.screenshot.data;t>n?this.setMaxRowHeightOnViewContainer():this.setMaxWidthOnViewContainer(),this.viewEl.src=this.screenshot.dataUrl}}setMaxRowHeightOnViewContainer(){this.printEl.style.gridTemplateRows="minmax(auto, 70%)",this.viewEl.style.height="100%",this.viewEl.style.width="",this.viewWrapperEl.style.height="100%",this.viewWrapperEl.style.width="fit-content"}setMaxWidthOnViewContainer(){this.printEl.style.gridTemplateRows="",this.viewEl.style.width="100%",this.viewEl.style.height="",this.viewWrapperEl.style.height="fit-content",this.viewWrapperEl.style.width="100%"}checkPopupOpen(){if(null!=this.view){const t=this.view.popup.container,n=null==t?void 0:t.querySelector(".esri-popup .esri-feature__main-container");if(null!=n){const t=n.querySelectorAll("canvas");this.popupContentEl.innerHTML="",this.popupContentEl.append(n.cloneNode(!0));const i=this.popupContentEl.querySelectorAll("canvas");t.forEach(((t,n)=>{var s;const e=t.toDataURL(),o=document.createElement("img");o.src=e;const a=t.getAttribute("style");a&&o.setAttribute("style",a);const r=i[n];null!=r&&(r.replaceWith(o),document.querySelector("link[href*='esri/themes/dark/main.css']")&&null!=(null===(s=o.parentElement)||void 0===s?void 0:s.parentElement)&&(o.parentElement.style.background="#242424",o.parentElement.parentElement.style.background="#242424"))}))}}}createScreenshot(){var t,n;if(null!=this.view){this.screenshotPreview=document.createElement("div"),this.screenshotPreview.className="screenshot-preview hide",this.screenshotImgContainer=document.createElement("div"),this.screenshotImgContainer.className="screenshot-img-container",this.screenshotImg=document.createElement("img");const i=document.createElement("div"),s=document.createElement("calcite-button"),e=document.createElement("calcite-button");s.innerHTML=null===(t=this.messages)||void 0===t?void 0:t.export,e.innerHTML=null===(n=this.messages)||void 0===n?void 0:n.returnToMap,e.appearance="outline-fill",s.onclick=this.exportOnClick.bind(this),e.onclick=this.screenshotReturn.bind(this),i.append(e,s),this.screenshotImgContainer.append(this.screenshotImg,i),this.screenshotPreview.append(this.screenshotImgContainer),this.view.container.append(this.screenshotPreview)}}createMaskDiv(){null!=this.view&&(this.maskDivEl=document.createElement("div"),this.maskDivEl.id="screenshot-mask",this.maskDivEl.className="hide screenshot-cursor",this.maskDivEl.style.setProperty("--instant-apps-screenshot-mask-background",this.maskBackground),this.maskDivEl.style.setProperty("--instant-apps-screenshot-mask-border",this.maskBorder),this.screenshotStyle=document.createElement("style"),this.screenshotStyle.innerHTML="\n.screenshot-preview.hide, .hide {\n display: none;\n}\n\n.screenshot-cursor {\n cursor: crosshair;\n}\n\n.relative {\n position: relative;\n}\n\n#screenshot-mask {\n position: absolute;\n background: var(--instant-apps-screenshot-mask-background);\n border: var(--instant-apps-screenshot-mask-border);\n}\n\n.screenshot-preview {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n text-align: center;\n background-color: rgba(0, 0, 0, 0.75);\n}\n\n.screenshot-preview * {\n box-sizing: border-box;\n}\n\n.screenshot-img-container img {\n max-height: 75%;\n max-width: 75%;\n object-fit: contain;\n border: 10px solid white;\n box-shadow: 2px 2px 5px 0 rgba(0, 0, 0, 0.5);\n margin-bottom: 0.5em;\n}\n\n.screenshot-img-container {\n height: 100%;\n width: 100%;\n overflow-y: auto;\n margin-bottom: 8px;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n}\n\n.screenshot-img-container calcite-button {\n margin: 5px;\n}",this.view.container.append(this.screenshotStyle),this.view.container.append(this.maskDivEl))}screenshotReturn(){this.removeScreenshotElements(),this.exportIsLoading=!1,this.screenshot=null}setMapAreaOnClick(){null!=this.view&&(this.exportIsLoading=!0,this.createMaskDiv(),this.createScreenshot(),this.view.container.classList.add("screenshot-cursor","relative"),this.view.addHandles(this.view.on("drag",(async t=>{null!=this.view&&(t.stopPropagation(),"end"!==t.action?this.updateMaskSize(t):this.maskScreenshot())})),w))}updateMaskSize(t){if(null!=this.view){const n=this.clamp(Math.min(t.origin.x,t.x),0,this.view.width),i=this.clamp(Math.max(t.origin.x,t.x),0,this.view.width),s=this.clamp(Math.min(t.origin.y,t.y),0,this.view.height),e=this.clamp(Math.max(t.origin.y,t.y),0,this.view.height);this.area={x:n,y:s,width:i-n,height:e-s},this.setMaskPosition(this.area)}}maskScreenshot(){var t;if(null!=this.view&&null!=this.area){this.view.removeHandles(w);const n=this.area.height,i=this.area.width;this.showScaleBar&&(null===(t=this.scaleBarContainerEl)||void 0===t||t.classList.toggle("instant-apps-export-print__scale-bar-container--position",this.view.width>1e3&&.75*this.view.width<i)),this.view.takeScreenshot({area:this.area,width:2*i,height:2*n,format:"jpg"}).then((t=>{var n;this.screenshot=t,this.showPreview(),null===(n=this.view)||void 0===n||n.container.classList.remove("screenshot-cursor"),this.setMaskPosition(null)}))}}setMaskPosition(t){null!=t?(this.maskDivEl.classList.remove("hide"),this.maskDivEl.style.left=`${t.x}px`,this.maskDivEl.style.top=`${t.y}px`,this.maskDivEl.style.width=`${t.width}px`,this.maskDivEl.style.height=`${t.height}px`):this.maskDivEl.remove()}clamp(t,n,i){return t<n?n:t>i?i:t}showPreview(){this.screenshotPreview.classList.remove("hide"),null!=this.screenshotImg&&null!=this.screenshot&&(this.screenshotImg.src=this.screenshot.dataUrl)}handleScaleBarSize(){var t;if(this.showScaleBar&&"2d"===(null===(t=this.view)||void 0===t?void 0:t.type)&&null!=this.scaleBarContainerEl){const t=this.scaleBarContainerEl.querySelector(".esri-scale-bar__line--top"),n=this.scaleBarContainerEl.querySelector(".esri-scale-bar__line--bottom");this.setScalebarWidth(t,"top"),this.setScalebarWidth(n,"bottom")}}setScalebarWidth(t,n){var i;if(null!=t&&null!=this.screenshot){const s=this.screenshot.data.width/2,e=Number(t.style.width.replace("px",""));null===(i=this.scaleBarContainerEl)||void 0===i||i.style.setProperty(`--instant-apps-scale-bar-${n}`,e/s*100+"%")}}removeScreenshotElements(){var t,n;null===(t=this.screenshotPreview)||void 0===t||t.remove(),null===(n=this.screenshotStyle)||void 0===n||n.remove()}get el(){return e(this)}static get watchers(){return{includeMap:["watchIncludeMap"]}}};k.style=":host{display:block;--instant-apps-export-action-background:var(--calcite-color-foreground-1);--instant-apps-export-action-background-hover:var(--calcite-color-foreground-2);--instant-apps-export-action-background-press:var(--calcite-color-foreground-3);--instant-apps-export-action-height:100%;--instant-apps-export-action-width:fit-content;--instant-apps-export-action-icon-color:var(--calcite-color-text-3);--instant-apps-export-action-icon-hover-color:var(--calcite-color-text-1);--instant-apps-export-background:var(--calcite-color-foreground-1);--instant-apps-export-text-color:var(--calcite-color-text-1);--instant-apps-export-popover-width:250px}.instant-apps-export{height:100%}.instant-apps-export *{box-sizing:border-box}.instant-apps-export__popover-container,.instant-apps-export__inline-container{padding:12px;background:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export__popover-container{width:var(--instant-apps-export-popover-width)}.instant-apps-export calcite-action{height:var(--instant-apps-export-action-height);width:var(--instant-apps-export-action-width);--calcite-color-foreground-1:var(--instant-apps-export-action-background);--calcite-color-foreground-2:var(--instant-apps-export-action-background-hover);--calcite-color-foreground-3:var(--instant-apps-export-action-background-press);--calcite-color-text-3:var(--instant-apps-export-action-icon-color);--calcite-color-text-1:var(--instant-apps-export-action-icon-hover-color)}.instant-apps-export .instant-apps-export-print{display:none}.instant-apps-export__visually-hidden{position:absolute;top:0;z-index:-1;visibility:hidden}.instant-apps-export calcite-input{--calcite-color-foreground-1:var(--instant-apps-export-background);--calcite-color-text-1:var(--instant-apps-export-text-color)}.instant-apps-export calcite-popover{--calcite-color-foreground-1:var(--instant-apps-export-background)}.instant-apps-export calcite-switch{--calcite-color-foreground-1:#fff;--calcite-color-foreground-2:#f3f3f3}.instant-apps-export calcite-button:last-of-type{margin-top:0.5rem}.instant-apps-export .calcite-mode-dark calcite-switch{--calcite-color-foreground-1:#2b2b2b;--calcite-color-foreground-2:#202020}.instant-apps-export__compass-container.esri-widget{background:#fff;box-shadow:0 1px 2px rgba(0, 0, 0, 0.3)}.instant-apps-export__compass-container.esri-widget .esri-compass__icon.esri-icon-compass{color:#6e6e6e}.hide{display:none}.screenshotCursor{cursor:crosshair}";export{k as instant_apps_export}