@esri/solutions-components 0.10.33 → 0.10.34

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. package/dist/cjs/card-manager_3.cjs.entry.js +97 -4
  2. package/dist/cjs/crowdsource-manager.cjs.entry.js +13 -4
  3. package/dist/cjs/instant-apps-time-filter.cjs.entry.js +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/solutions-components.cjs.js +1 -1
  6. package/dist/collection/assets/t9n/map-card/resources.json +2 -1
  7. package/dist/collection/assets/t9n/map-card/resources_en.json +2 -1
  8. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +36 -4
  9. package/dist/collection/components/layer-table/layer-table.js +36 -2
  10. package/dist/collection/components/map-card/map-card.js +168 -2
  11. package/dist/components/crowdsource-manager.js +14 -4
  12. package/dist/components/instant-apps-time-filter.js +2 -2
  13. package/dist/components/layer-table2.js +13 -2
  14. package/dist/components/map-card2.js +157 -60
  15. package/dist/esm/card-manager_3.entry.js +97 -4
  16. package/dist/esm/crowdsource-manager.entry.js +13 -4
  17. package/dist/esm/instant-apps-time-filter.entry.js +2 -2
  18. package/dist/esm/loader.js +1 -1
  19. package/dist/esm/solutions-components.js +1 -1
  20. package/dist/solutions-components/assets/t9n/map-card/resources.json +2 -1
  21. package/dist/solutions-components/assets/t9n/map-card/resources_en.json +2 -1
  22. package/dist/solutions-components/p-3a513c67.entry.js +6 -0
  23. package/dist/solutions-components/p-8d2d66d0.entry.js +6 -0
  24. package/dist/solutions-components/p-cf878a34.entry.js +6 -0
  25. package/dist/solutions-components/solutions-components.esm.js +1 -1
  26. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +8 -0
  27. package/dist/types/components/layer-table/layer-table.d.ts +9 -1
  28. package/dist/types/components/map-card/map-card.d.ts +46 -1
  29. package/dist/types/components.d.ts +48 -0
  30. package/package.json +2 -2
  31. package/dist/solutions-components/p-084719d6.entry.js +0 -6
  32. package/dist/solutions-components/p-3bcdf332.entry.js +0 -6
  33. package/dist/solutions-components/p-710bd9ec.entry.js +0 -6
@@ -42,6 +42,10 @@ export declare class CrowdsourceManager {
42
42
  * string: custom notification text to display in the card manager
43
43
  */
44
44
  customInfoText: string;
45
+ /**
46
+ * string: default layout the application should use
47
+ */
48
+ defaultAppLayout: AppLayout;
45
49
  /**
46
50
  * string: default center point values for the map
47
51
  * ; delimited x;y pair
@@ -238,6 +242,10 @@ export declare class CrowdsourceManager {
238
242
  * boolean: if true panel will be in loading state
239
243
  */
240
244
  _isLoading: boolean;
245
+ /**
246
+ * boolean: When true the default appLayout has been applied and should no longer override
247
+ */
248
+ protected _defaultAppLayoutHonored: boolean;
241
249
  /**
242
250
  * boolean: When true the map view will be set after render due to popup obstructing the view
243
251
  * MapView.when is not fired when mapView is not currently visible
@@ -15,11 +15,15 @@
15
15
  */
16
16
  import { EventEmitter, VNode } from "../../stencil-public-runtime";
17
17
  import LayerTable_T9n from "../../assets/t9n/layer-table/resources.json";
18
- import { IColumnsInfo, IMapClick, IMapInfo, IToolInfo, IToolSizeInfo, TooltipPlacement } from "../../utils/interfaces";
18
+ import { AppLayout, IColumnsInfo, IMapClick, IMapInfo, IToolInfo, IToolSizeInfo, TooltipPlacement } from "../../utils/interfaces";
19
19
  import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
20
20
  import { LayerExpression } from "@esri/instant-apps-components";
21
21
  export declare class LayerTable {
22
22
  el: HTMLCrowdsourceManagerElement;
23
+ /**
24
+ * AppLayout: the current app layout
25
+ */
26
+ appLayout: AppLayout;
23
27
  /**
24
28
  * string: Global ID of the feature to select
25
29
  */
@@ -317,6 +321,10 @@ export declare class LayerTable {
317
321
  * string the current search expression
318
322
  */
319
323
  protected _searchExpression: string;
324
+ /**
325
+ * Update the url params when the appLayout changes
326
+ */
327
+ appLayoutWatchHandler(): void;
320
328
  /**
321
329
  * Handle url defaults when defaultOid is set
322
330
  */
@@ -15,9 +15,14 @@
15
15
  */
16
16
  import { EventEmitter, VNode } from "../../stencil-public-runtime";
17
17
  import MapCard_T9n from "../../assets/t9n/map-card/resources.json";
18
- import { IBasemapConfig, IMapChange, IMapInfo, ISearchConfiguration, IToolInfo, IToolSizeInfo, theme, TooltipPlacement } from "../../utils/interfaces";
18
+ import { AppLayout, IBasemapConfig, IMapChange, IMapInfo, ISearchConfiguration, IToolInfo, IToolSizeInfo, theme, TooltipPlacement } from "../../utils/interfaces";
19
+ import "@esri/instant-apps-components/dist/components/instant-apps-social-share";
19
20
  export declare class MapCard {
20
21
  el: HTMLMapCardElement;
22
+ /**
23
+ * AppLayout: the current app layout
24
+ */
25
+ appLayout: AppLayout;
21
26
  /**
22
27
  * Array of objects containing proxy information for premium platform services.
23
28
  */
@@ -46,6 +51,10 @@ export declare class MapCard {
46
51
  * boolean: when true the fullscreen widget will be available
47
52
  */
48
53
  enableFullscreen: boolean;
54
+ /**
55
+ * boolean: when true the share widget will be available
56
+ */
57
+ enableShare: boolean;
49
58
  /**
50
59
  * boolean: when true map tools will be displayed within a single expand/collapse widget
51
60
  * when false widgets will be loaded individually into expand widgets
@@ -121,6 +130,14 @@ export declare class MapCard {
121
130
  * boolean: When true map will shown is full screen
122
131
  */
123
132
  isMapLayout: boolean;
133
+ /**
134
+ * boolean: When true the share options will include embed option
135
+ */
136
+ shareIncludeEmbed: boolean;
137
+ /**
138
+ * boolean: When true the share options will include social media sharing
139
+ */
140
+ shareIncludeSocial: boolean;
124
141
  /**
125
142
  * number[]: A list of ids that are currently selected
126
143
  */
@@ -234,6 +251,10 @@ export declare class MapCard {
234
251
  * ResizeObserver: The observer that watches for toolbar size changes
235
252
  */
236
253
  protected _resizeObserver: ResizeObserver;
254
+ /**
255
+ * HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
256
+ */
257
+ protected _shareNode: HTMLInstantAppsSocialShareElement;
237
258
  /**
238
259
  * HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
239
260
  */
@@ -258,10 +279,22 @@ export declare class MapCard {
258
279
  * boolean: When true the observer has been set and we don't need to set it again
259
280
  */
260
281
  protected _observerSet: boolean;
282
+ /**
283
+ * Update the url params when the appLayout changes
284
+ */
285
+ appLayoutWatchHandler(): void;
261
286
  /**
262
287
  * Add/remove home widget
263
288
  */
264
289
  enableHomeWatchHandler(): void;
290
+ /**
291
+ * Update the toolbar when the share button is enabled/disabled
292
+ */
293
+ enableShareWatchHandler(): void;
294
+ /**
295
+ * watch for changes in map view and get the first layer
296
+ */
297
+ mapViewWatchHandler(): Promise<void>;
265
298
  /**
266
299
  * watch for changes in layer view and verify if it has editing enabled
267
300
  */
@@ -378,6 +411,18 @@ export declare class MapCard {
378
411
  * @protected
379
412
  */
380
413
  protected _getDropdown(id: string): VNode;
414
+ /**
415
+ * Get an action and tooltip for share
416
+ *
417
+ * @param icon string the name of the icon to display, will also be used in its id
418
+ *
419
+ * @returns VNode The node representing the DOM element that will contain the action
420
+ */
421
+ protected _getShare(icon: string): VNode;
422
+ /**
423
+ * Called each time the values that are used for custom url params change
424
+ */
425
+ _updateShareUrl(): void;
381
426
  /**
382
427
  * Open show/hide dropdown
383
428
  * @protected
@@ -225,6 +225,10 @@ export namespace Components {
225
225
  * string: custom notification text to display in the card manager
226
226
  */
227
227
  "customInfoText": string;
228
+ /**
229
+ * string: default layout the application should use
230
+ */
231
+ "defaultAppLayout": AppLayout;
228
232
  /**
229
233
  * string: default center point values for the map ; delimited x;y pair
230
234
  */
@@ -791,6 +795,10 @@ export namespace Components {
791
795
  "showNextIcon"?: boolean;
792
796
  }
793
797
  interface LayerTable {
798
+ /**
799
+ * AppLayout: the current app layout
800
+ */
801
+ "appLayout": AppLayout;
794
802
  /**
795
803
  * Closes the filter
796
804
  */
@@ -895,6 +903,10 @@ export namespace Components {
895
903
  interface LocationFlowItem {
896
904
  }
897
905
  interface MapCard {
906
+ /**
907
+ * AppLayout: the current app layout
908
+ */
909
+ "appLayout": AppLayout;
898
910
  /**
899
911
  * Array of objects containing proxy information for premium platform services.
900
912
  */
@@ -935,6 +947,10 @@ export namespace Components {
935
947
  * boolean: when true the search widget will be available
936
948
  */
937
949
  "enableSearch": boolean;
950
+ /**
951
+ * boolean: when true the share widget will be available
952
+ */
953
+ "enableShare": boolean;
938
954
  /**
939
955
  * boolean: when true map tools will be displayed within a single expand/collapse widget when false widgets will be loaded individually into expand widgets
940
956
  */
@@ -1003,6 +1019,14 @@ export namespace Components {
1003
1019
  * __esri.FeatureLayer: Selected layer
1004
1020
  */
1005
1021
  "selectedLayer": __esri.FeatureLayer;
1022
+ /**
1023
+ * boolean: When true the share options will include embed option
1024
+ */
1025
+ "shareIncludeEmbed": boolean;
1026
+ /**
1027
+ * boolean: When true the share options will include social media sharing
1028
+ */
1029
+ "shareIncludeSocial": boolean;
1006
1030
  /**
1007
1031
  * boolean: When true the map widget tools will have no margin between them. When false the map widget tools will have a margin between them.
1008
1032
  */
@@ -2892,6 +2916,10 @@ declare namespace LocalJSX {
2892
2916
  * string: custom notification text to display in the card manager
2893
2917
  */
2894
2918
  "customInfoText"?: string;
2919
+ /**
2920
+ * string: default layout the application should use
2921
+ */
2922
+ "defaultAppLayout"?: AppLayout;
2895
2923
  /**
2896
2924
  * string: default center point values for the map ; delimited x;y pair
2897
2925
  */
@@ -3468,6 +3496,10 @@ declare namespace LocalJSX {
3468
3496
  "showNextIcon"?: boolean;
3469
3497
  }
3470
3498
  interface LayerTable {
3499
+ /**
3500
+ * AppLayout: the current app layout
3501
+ */
3502
+ "appLayout"?: AppLayout;
3471
3503
  /**
3472
3504
  * boolean: create filter modal optional (default true) boolean value to create filter modal in layer table
3473
3505
  */
@@ -3568,6 +3600,10 @@ declare namespace LocalJSX {
3568
3600
  interface LocationFlowItem {
3569
3601
  }
3570
3602
  interface MapCard {
3603
+ /**
3604
+ * AppLayout: the current app layout
3605
+ */
3606
+ "appLayout"?: AppLayout;
3571
3607
  /**
3572
3608
  * Array of objects containing proxy information for premium platform services.
3573
3609
  */
@@ -3608,6 +3644,10 @@ declare namespace LocalJSX {
3608
3644
  * boolean: when true the search widget will be available
3609
3645
  */
3610
3646
  "enableSearch"?: boolean;
3647
+ /**
3648
+ * boolean: when true the share widget will be available
3649
+ */
3650
+ "enableShare"?: boolean;
3611
3651
  /**
3612
3652
  * boolean: when true map tools will be displayed within a single expand/collapse widget when false widgets will be loaded individually into expand widgets
3613
3653
  */
@@ -3688,6 +3728,14 @@ declare namespace LocalJSX {
3688
3728
  * __esri.FeatureLayer: Selected layer
3689
3729
  */
3690
3730
  "selectedLayer"?: __esri.FeatureLayer;
3731
+ /**
3732
+ * boolean: When true the share options will include embed option
3733
+ */
3734
+ "shareIncludeEmbed"?: boolean;
3735
+ /**
3736
+ * boolean: When true the share options will include social media sharing
3737
+ */
3738
+ "shareIncludeSocial"?: boolean;
3691
3739
  /**
3692
3740
  * boolean: When true the map widget tools will have no margin between them. When false the map widget tools will have a margin between them.
3693
3741
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/solutions-components",
3
- "version": "0.10.33",
3
+ "version": "0.10.34",
4
4
  "description": "Web Components for Esri's Solutions Applications",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -84,7 +84,7 @@
84
84
  "workbox-build": "^7.1.1"
85
85
  },
86
86
  "dependencies": {
87
- "@arcgis/core": ">=4.31.0-next.20240922 <4.32",
87
+ "@arcgis/core": ">=4.31.0-next.20241016 <4.32",
88
88
  "@esri/arcgis-rest-auth": "^3.7.0",
89
89
  "@esri/arcgis-rest-feature-layer": "^3.7.0",
90
90
  "@esri/arcgis-rest-portal": "^3.7.0",
@@ -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 i,g as s,h as e,H as h}from"./p-4e6eb06e.js";import{g as a,l as o}from"./p-f4aadb3b.js";import{g as l,q as n,e as c,f as d,i as r,j as p,c as b}from"./p-d572627c.js";import{d as f}from"./p-46c8015c.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";import"./p-d0d020a5.js";import"./p-7530a02f.js";import"./p-9bb44f57.js";const u=class{constructor(s){t(this,s),this.createWorkFlowStarted=i(this,"createWorkFlowStarted",7),this.backFromCreateWorkFlow=i(this,"backFromCreateWorkFlow",7),this.featureOrRecordSubmitted=i(this,"featureOrRecordSubmitted",7),this.customInfoText=void 0,this.enableEditGeometry=!1,this.isMobile=void 0,this.layer=void 0,this.mapView=void 0,this.zoomAndScrollToSelected=void 0,this.selectedFeaturesIds=void 0,this.enableCreateFeatures=!0,this.selectingFeatureFromMap=void 0,this._cardLoading=!1,this._graphics=void 0,this._showCreateFeatureComponent=!1,this._showSubmitBtn=!1,this._translations=void 0}get el(){return s(this)}_isFeatureCreated=!1;_createFeature;createWorkFlowStarted;backFromCreateWorkFlow;featureOrRecordSubmitted;async featureSelectionChange(t){this._showCreateFeatureComponent&&!this._isFeatureCreated&&this._backFromCreateFeature();const i=t.detail;this._graphics=await this._getFeaturesByIds(i)}async layerSelectionChange(t){this._showCreateFeatureComponent&&this._backFromCreateFeature();const i=t.detail[0];this.layer=await l(this.mapView,i)}async componentWillLoad(){await this._getTranslations(),this.selectedFeaturesIds?.length>0&&(this._graphics=await this._getFeaturesByIds(this.selectedFeaturesIds))}render(){const t=this._graphics?.length>0?"":"display-none",i=0===this._graphics?.length&&this._showCreateFeatureComponent?"":"display-none",s=this._graphics?.length>0||this._showCreateFeatureComponent?"display-none":"",a=this.layer?.isTable,o=a?this._translations.createRecord:this._translations.createFeature,l=this.customInfoText?this.customInfoText:this.selectingFeatureFromMap?this._translations.selectFeaturesFromMapToStart:this._translations.selectFeaturesToStart,n=this.enableCreateFeatures&&this.layer?.capabilities?.operations?.supportsAdd;return e(h,{key:"7360aa9c48dd0c3e4a14fe0833b99c301388f93c"},e("div",{key:"9d610f0c4728c238eceb790e97a4e06b77f1a2d1",class:"overflow-auto height-full"},e("calcite-shell",{key:"4b6a02205a971c7ff61aab567b2f2a3c5d288f8d",class:"position-relative "+t},e("div",{key:"96ee8ce138265dd4b562ac0a33b79a0db4497842",class:"position-static z-index-500"},e("info-card",{key:"7db359bc1016281fd01b737dc5c424fe78995422",enableEditGeometry:this.enableEditGeometry,graphics:this._graphics,isLoading:this._cardLoading,isMobile:this.isMobile,mapView:this.mapView}))),e("calcite-shell",{key:"afc8d06e9aa3213a9ca10c929497ed4618a28e91",class:"position-relative "+s},e("calcite-flow-item",{key:"46db92a6e259eefea3293310e3e2f43d7639db97"},e("calcite-panel",{key:"d2bc23ae7bcf2b7b7b48a35efc0697e0d1f9e23e"},e("div",{key:"8f7fd13f9ec99beec1d7231dda03eba403a70a69",class:"padding-1"},e("calcite-notice",{key:"2fbe94292c1dd91ee1691b8e3d295225ff5b534b",icon:this.selectingFeatureFromMap?"map":"table",iconFlipRtl:!0,open:!0},e("div",{key:"9f91099e4bfa0675c5b098a73b2f132b80ee76b0",slot:"message"},l))),!this.isMobile&&n&&e("calcite-button",{key:"c1b04e776f3750712992d736e09726cc26eae5db",disabled:!this.layer,onClick:()=>this._createFeatureBtnClicked(),slot:"footer",width:"full"},a?this._translations.createRecord:this._translations.createFeature)))),e("calcite-shell",{key:"a71d4b0abd1ec1a4ed14a2cb3dcb10a075f54bf0",class:"position-relative "+i},e("calcite-flow-item",{key:"85047b527f5995a912b527325f287c3596caf630"},e("calcite-panel",{key:"d335be81502e0feb803ee9ad4e501d4c85f184f5",heading:o},e("calcite-action",{key:"b179c3185dbada3bd052d38b98b75cf29240655c",class:"back-button hydrated",icon:"chevron-left",onClick:this._backFromCreateFeature.bind(this),scale:"s",slot:"header-actions-start",text:""}),this.getEditorComponent(),this._showSubmitBtn&&e("calcite-button",{key:"f3b6655e3effdb6b09e64acd651a09d6028a6df9",appearance:"solid",class:"footer-top-button footer-button",onClick:()=>{this._createFeature.submit()},slot:"footer",width:"full"},this._translations.create))))))}getEditorComponent(){return e("div",null,this._showCreateFeatureComponent&&e("create-feature",{customizeSubmit:!0,mapView:this.mapView,onDrawComplete:()=>{this._showSubmitBtn=!0},onEditingAttachment:t=>{this._showSubmitBtn=!t.detail},onProgressStatus:()=>{setTimeout((()=>{this._isFeatureCreated=!1}),2e3)},onSuccess:this._featureCreated.bind(this),ref:t=>this._createFeature=t,selectedLayerId:this.layer?.id,showGuidingMsgWhileDrawing:!1}))}async _getFeaturesByIds(t){return(t.length>0?await n(t,this.layer,[],!0,this.mapView.spatialReference):[]).sort(((i,s)=>t.indexOf(i.getObjectId())-t.indexOf(s.getObjectId())))}_createFeatureBtnClicked(){this._showCreateFeatureComponent=!0,this.createWorkFlowStarted.emit()}async _backFromCreateFeature(){this._createFeature&&(this._showCreateFeatureComponent=!1,this.backFromCreateWorkFlow.emit()),this._showSubmitBtn=!1}_featureCreated(){this._showCreateFeatureComponent=!1,this._showSubmitBtn=!1,this._isFeatureCreated=!0,this.featureOrRecordSubmitted.emit(),setTimeout((()=>{this._showCreateFeatureComponent=!0}),50)}async _getTranslations(){const t=await a(this.el);this._translations=t[0]}};u.style=":host{display:block !important}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.padding-bottom-1{padding-bottom:1rem}.padding-1{padding:1rem}.position-relative{position:relative}.focus-margin{margin:1px 1px 0px 1px}.overflow-auto{overflow:auto}.height-full{height:100%}.position-static{position:static !important}.z-index-500{z-index:500 !important}card-manager{display:block}";const m=class{constructor(s){t(this,s),this.featureSelectionChange=i(this,"featureSelectionChange",7),this.toggleFilter=i(this,"toggleFilter",7),this.defaultGlobalId=void 0,this.defaultLayerId=void 0,this.defaultOid=void 0,this.enableAutoRefresh=void 0,this.enableColumnReorder=!0,this.enableCSV=void 0,this.enableInlineEdit=void 0,this.enableShare=void 0,this.isMobile=void 0,this.mapHidden=void 0,this.mapInfo=void 0,this.mapView=void 0,this.onlyShowUpdatableLayers=void 0,this.selectedIds=[],this.shareIncludeEmbed=void 0,this.shareIncludeSocial=void 0,this.showNewestFirst=void 0,this.zoomAndScrollToSelected=void 0,this.zoomToScale=void 0,this.createFilterModal=!0,this._allIds=[],this._controlsThatFit=void 0,this._csvExporting=!1,this._fetchingData=!1,this._filterActive=!1,this._filterOpen=!1,this._layer=void 0,this._selectAllActive=!1,this._showHideOpen=!1,this._showOnlySelected=!1,this._toolInfos=void 0,this._translations=void 0,this._fullTextSearchInfo=void 0,this._searchPlaceHolder="",this._size=0}get el(){return s(this)}FeatureTable;TableTemplate;_columnsInfo;_ctrlIsPressed=!1;_currentId;_editEnabled;_defaultFilterHonored=!1;_defaultGlobalIdHonored=!1;_defaultOidHonored=!1;_defaultVisibleToolSizeInfos;_definitionExpression;_deleteEnabled;_filterList;_floorExpression;_floorField;_floorFacility;_floorLevel;_floorSite;_layerExpressions;_loaded=!1;_mapClickHandle;_observerSet=!1;_previousCurrentId;reactiveUtils;_refreshHandle;_resizeObserver;_selectAllElement;_selectionFromMap=!1;_shareNode;_shiftIsPressed=!1;_showHideDropdown;_skipOnChange=!1;_moreDropdown;_table;_tableNode;_timeout;_toolbar;_toolbarSizeInfos;_searchExpression;async defaultOidWatchHandler(){await this._handleDefaults()}async defaultGlobalIdWatchHandler(){await this._handleDefaults()}enableCSVWatchHandler(){this._toolInfos?.length>0&&this._initToolInfos()}enableInlineEditWatchHandler(){this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit)}enableShareWatchHandler(){this._toolbar&&this._updateToolbar()}_controlsThatFitWatchHandler(){const t=this._controlsThatFit?this._controlsThatFit.reduce(((t,i)=>(t.push(i.id),t)),[]):[];this._toolInfos=this._toolInfos?.map((i=>{if(i&&this._controlsThatFit){const s=this._getId(i.icon);return i.isOverflow=t.indexOf(s)<0,i}}))}mapHiddenWatchHandler(){this._toolInfos?.length>0&&this._initToolInfos()}isMobileWatchHandler(){this._toolInfos||this.isMobile||this._initToolInfos()}async mapInfoWatchHandler(){this._resetColumnTemplates(),this.createFilterModal&&this._initLayerExpressions(),this._initToolInfos(),this._updateToolbar(),await this._sortTable()}async mapViewWatchHandler(){this._mapClickHandle&&this._mapClickHandle.remove(),this.mapView&&(this._floorExpression=void 0,this._searchExpression=void 0,this._updateShareUrl(),this._mapClickHandle=this.reactiveUtils.on((()=>this.mapView),"click",(t=>{this._mapClicked(t)})))}async _layerWatchHandler(){this._fetchingData=!0,await(this._layer?.when((async()=>{this._definitionExpression=this._layer.definitionExpression,this._floorField=this._layer.floorInfo?.floorField,this._updateFloorDefinitionExpression(),await this._resetTable(),this.createFilterModal&&this._initLayerExpressions(),this._updateShareUrl(),this._fetchingData=!1})))}async selectedIdsWatchHandler(){this._updateShareUrl(),this._validateEnabledActions(),this._selectAllActive&&this.selectedIds.length!==this._allIds.length&&(this._selectAllActive=!1),this.selectedIds.length>0&&(this._table.rowHighlightIds.removeAll(),this._table.rowHighlightIds.add(this.selectedIds[0]))}async filterReset(){await this._handleFilterListReset()}async filterUpdate(){await this._handleFilterUpdate()}async closeFilter(){await this._closeFilter()}async refresh(){this._table&&await this._refresh()}featureSelectionChange;toggleFilter;async selectionChanged(t){const i=t.detail.selectedFeature[0],s=i.getObjectId(),e=this._table;if(e.rowHighlightIds.length&&e.rowHighlightIds.removeAll(),e.rowHighlightIds.add(s),this.zoomAndScrollToSelected){const t=this._table.viewModel.getObjectIdIndex(s);this._table.scrollToIndex(t);const e=i.layer;let h;this.mapView.allLayerViews.toArray().some((t=>{if(t.layer.title===e.title&&"feature"===t.layer.type)return h=t,!0})),h&&await c([s],h,this.mapView,!0,void 0,this.zoomToScale)}}async layerSelectionChange(t){await this._layerSelectionChanged(t)}async editsComplete(t){const i=t.detail;"delete"!==i&&"add"!==i||(this._allIds=await d(this._layer)),await this._refresh()}async facilityChanged(t){this._floorFacility=t.detail,this._updateFloorDefinitionExpression()}async levelChanged(t){this._floorLevel=t.detail,this._updateFloorDefinitionExpression()}async siteChanged(t){this._floorSite=t.detail,this._updateFloorDefinitionExpression()}noLayersFound(){this._layer=void 0,this._allIds=[],this._clearSelection()}clearSelection(){this._clearSelection()}async componentWillLoad(){await this._getTranslations(),await this._initModules(),this._initToolInfos(),this._resizeObserver||(this._resizeObserver=new ResizeObserver((()=>this._onResize())))}render(){const t=this._fetchingData?"display-none":"",i=this._fetchingData?"":"display-none",s=this._size.toString(),a=this.selectedIds.length.toString(),o=this.isMobile?"height-full":"height-full-adjusted",l=this._canShowFullTextSearch();return this._validateActiveActions(),e(h,{key:"46394d7e108068600980efd766fbf5d91243f3c9"},e("calcite-shell",{key:"d831121a56070552139386033b02ddc2531c29e9"},this._getTableControlRow("header"),e("div",{key:"591e0b0bba19f1dbe99049a470b5d3c04253a2c2",class:`width-full ${o}`},e("calcite-panel",{key:"d70244a3c989a5bea8bbbaf33c4ebe9c04fc4515",class:"height-full width-full"},l&&e("div",{key:"fd14c6dab7898e27bd61bbc03878c898d26f042a",class:"search-container"},e("calcite-input",{key:"9675cc22233456446be8a6b9fc24842fbb3f88e2",class:"search",clearable:!0,icon:"search",onCalciteInputChange:t=>{this._searchTextChanged(t)},placeholder:this._searchPlaceHolder,title:this._searchPlaceHolder,type:"search"})),e("calcite-loader",{key:"74447458a0ac4cee6934e7101a5fee2c180d1330",class:i,label:this._translations.fetchingData,scale:"l"}),e("div",{key:"6c2a5ff4a69690fde002005eb9c55047c25ad63d",class:t,ref:this.onTableNodeCreate}))),this.isMobile?void 0:e("div",{class:"bottom-left text-color height-19"},this._translations.recordsSelected.replace("{{total}}",s).replace("{{selected}}",a))),this.createFilterModal&&this._filterModal())}async componentDidLoad(){this.isMobile||this._observerSet||(this._resizeObserver.observe(this._toolbar),this._observerSet=!0)}componentDidRender(){document.onclick=t=>this._handleDocumentClick(t),document.onkeydown=t=>this._handleKeyDown(t),document.onkeyup=t=>this._handleKeyUp(t),this._updateToolbar()}async _initModules(){const[t,i,s]=await o(["esri/widgets/FeatureTable","esri/core/reactiveUtils","esri/widgets/FeatureTable/support/TableTemplate"]);this.FeatureTable=t,this.reactiveUtils=i,this.TableTemplate=s}async _searchTextChanged(t){this._fullTextSearchInfo.forEach((i=>{i.searchTerm=t.target.value})),this._searchFullText()}async _searchFullText(){if(this._searchExpression&&this._clearSearchDefinitionExpression(),this._fullTextSearchInfo.length&&this._fullTextSearchInfo[0].searchTerm){const t=this._layer.createQuery();t.fullText=this._fullTextSearchInfo;const i=await this._layer.queryObjectIds(t);await this._updateSearchDefinitionExpression(i?.length?i:[-1])}await new Promise((t=>setTimeout(t,800))),await this._updateAllIds()}_clearSearchDefinitionExpression(){const t=this._layer.definitionExpression;this._searchExpression&&t?.indexOf(this._searchExpression)>-1&&(this._layer.definitionExpression=t?.indexOf(" AND ("+this._searchExpression)>-1?t.replace(` AND (${this._searchExpression})`,""):t.replace(this._searchExpression,"")),this._searchExpression=void 0}async _updateSearchDefinitionExpression(t){const i=this._layer.definitionExpression;if(t?.length){const s=`objectId in(${t})`;this._layer.definitionExpression=i?.indexOf(this._searchExpression)>-1?i.replace(this._searchExpression,s):i?`${i} AND (${s})`:s,this._searchExpression=s}else this._clearSearchDefinitionExpression()}_canShowFullTextSearch(){return((this._layer?.capabilities)?.query)?.supportsFullTextSearch&&this._layer.indexes.items.filter((t=>"FullText"==t.indexType)).length>0}_getFullTextSearchInfo(){if(this._fullTextSearchInfo=[],((this._layer?.capabilities)?.query)?.supportsFullTextSearch){const t=this._layer.indexes?.filter((t=>"FullText"==t.indexType));if(t?.length){const i=[];t.forEach((t=>{i.push(...t.fields.split(","))}));const s=[];i.forEach((t=>{const i=this._layer.getField(t.trim());s.push(i.alias)})),this._searchPlaceHolder=this._translations.searchPlaceholder.replace("{{fields}}",s.join(", ")),this._fullTextSearchInfo.push({onFields:["*"],searchTerm:"",searchType:"prefix"})}}}_onResize(){this._updateToolbar()}_getTableControlRow(t){const i=this._canShowFullTextSearch()?"border-bottom":"";return e("div",{class:`display-flex height-51-px ${i}`,ref:t=>this._toolbar=t,slot:t},this._getActionBar(),this.isMobile?void 0:this._getDropdown("more-table-options"),this.enableShare&&!this.isMobile?this._getShare("share"):void 0)}_getActionBar(){const t=this.isMobile?"width-full":"",i=this.isMobile?"border-top":"";return e("calcite-action-bar",{class:t,expandDisabled:!0,expanded:!0,id:this._getId("bar"),layout:"horizontal"},e("div",{class:`border-end ${t} ${i}`,id:"solutions-map-layer-picker-container"},e("map-layer-picker",{appearance:"transparent",defaultLayerId:this.defaultLayerId,display:"inline-flex",height:50,isMobile:this.isMobile,mapView:this.mapView,onlyShowUpdatableLayers:this.onlyShowUpdatableLayers,placeholderIcon:"layers",scale:"l",selectedIds:this._layer?[this._layer?.id]:[],showSingleLayerAsLabel:!0,showTables:!0,type:"dropdown"})),this.isMobile?void 0:this._getActions())}_getActions(){const t=this._getActionItems();return t?.reduce(((t,i)=>(i&&!i.isOverflow&&t.push(i.isDanger?this._getDangerAction(i.icon,i.label,i.func,i.disabled):i.isSublist?e("calcite-dropdown",{closeOnSelectDisabled:!0,id:this._getId(i.icon),onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:t=>this._showHideDropdown=t},this._getAction(i.active,this._showHideOpen?"chevron-down":i.icon,i.indicator,i.label,i.func,i.disabled,i.loading,"trigger"),this._showHideOpen?this._getFieldlist():void 0):this._getAction(i.active,i.icon,i.indicator,i.label,i.func,i.disabled,i.loading)),t)),[])}_getFieldlist(){return this._columnsInfo?e("calcite-dropdown-group",{"selection-mode":"multiple"},Object.keys(this._columnsInfo).map((t=>{const i=this._columnsInfo[t];return e("calcite-dropdown-item",{id:`layer-table-${t.toLowerCase().replaceAll(" ","")}`,label:t,onClick:t=>{const i=t.target;this._columnsInfo[i.label]=i.selected,i.selected?this._table.showColumn(i.label):this._table.hideColumn(i.label)},selected:i},t)}))):void 0}_validateEnabledActions(){const t=this._featuresSelected(),i=this.selectedIds.length>1&&this._layer?.capabilities?.operations?.supportsUpdate,s=["zoom-to-object","pencil","trash","erase","selected-items-filter"];this._toolInfos?.forEach((e=>{e&&s.indexOf(e.icon)>-1&&(e.disabled="pencil"===e.icon?!i:!t)}))}_validateActiveActions(){const t=["filter","list-check-all","selected-items-filter"];this._toolInfos?.forEach((i=>{i&&t.indexOf(i.icon)>-1&&("filter"===i.icon&&(i.indicator=this._filterActive),"list-check-all"===i.icon&&(i.active=this._selectAllActive),"selected-items-filter"===i.icon&&(i.active=this._showOnlySelected))}))}_initToolInfos(){const t=this._featuresSelected(),i=this.selectedIds.length>1&&this._layer?.capabilities?.operations?.supportsUpdate&&!1,s=this._featuresEmpty(),e=this._hasFilterExpressions();this._translations&&(this._toolInfos=[this.mapHidden?void 0:{active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!t,isOverflow:!1},e?{active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this.createFilterModal?this._toggleFilter():this.toggleFilter.emit(),disabled:!1,isOverflow:!1}:void 0,i?{active:!1,icon:"pencil",indicator:!1,label:this._translations.editMultiple,func:()=>alert(this._translations.editMultiple),disabled:!i,isOverflow:!1}:void 0,this._deleteEnabled?{active:void 0,icon:"trash",indicator:void 0,label:this._translations.delete,func:()=>{},disabled:!t,isDanger:!0,isOverflow:!1}:void 0,{active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>this._clearSelection(),disabled:!t,isOverflow:!1},{active:!1,icon:"selected-items-filter",indicator:!1,label:this._showOnlySelected?this._translations.showAll:this._translations.showSelected,func:()=>this._toggleShowSelected(),disabled:!t,isOverflow:!1},{active:!1,icon:"list-check-all",indicator:!1,func:()=>this._selectAll(),label:this._translations.selectAll,disabled:s,isOverflow:!1},{active:!1,icon:"compare",indicator:!1,func:()=>this._switchSelected(),label:this._translations.switchSelected,disabled:s,isOverflow:!1},{active:!1,icon:"refresh",indicator:!1,func:()=>this._refresh(),label:this._translations.refresh,disabled:!1,isOverflow:!1},this.enableCSV?{active:!1,icon:"export",indicator:!1,func:()=>{this._exportToCSV()},label:this._translations.exportCSV,loading:this._csvExporting,disabled:s,isOverflow:!1}:void 0,{active:!1,icon:this._showHideOpen?"chevron-down":"chevron-right",indicator:!1,func:()=>this._toggleShowHide(),label:this._translations.showHideColumns,disabled:!1,isOverflow:!1,isSublist:!0}],this._defaultVisibleToolSizeInfos=void 0)}_updateFloorDefinitionExpression(){if(this._floorField&&this._floorLevel){const t=`${this._floorField} = '${this._floorLevel}'`,i=this._layer.definitionExpression;this._layer.definitionExpression=i?.indexOf(this._floorExpression)>-1?i.replace(this._floorExpression,t):i?`${i} AND (${t})`:t,this._floorExpression=t}}_featuresSelected(){return this.selectedIds.length>0}_featuresEmpty(){return 0===this._allIds.length}_hasFilterExpressions(){let t;return this.mapInfo?.filterConfig?.layerExpressions&&this._layer?.id&&(t=this.mapInfo.filterConfig.layerExpressions.filter((t=>t.id===this._layer.id))),t?.length>0}_updateToolbar(){this._timeout&&clearTimeout(this._timeout),!this.isMobile&&this._toolbar&&this._toolInfos&&(this._timeout=setTimeout((()=>{clearTimeout(this._timeout),this._setToolbarSizeInfos();const t=this._toolbar.offsetWidth;let i=this._toolbarSizeInfos.reduce(((t,i)=>t+i.width),0);const s=["solutions-more","solutions-map-layer-picker-container","solutions-action-share"];if(i>t){if(this._toolbarSizeInfos.length>0){const e=[...this._toolbarSizeInfos].reverse().reduce(((e,h)=>(s.indexOf(h.id)<0&&(i>t?i-=h.width:e.push(h)),e)),[]).reverse();this._setControlsThatFit(e,s)}}else if(this._defaultVisibleToolSizeInfos){const e=this._toolbarSizeInfos.reduce(((t,i)=>(t.push(i.id),t)),[]);let h=!1;const a=[...this._defaultVisibleToolSizeInfos].reduce(((a,o)=>(!h&&s.indexOf(o.id)<0&&(e.indexOf(o.id)>-1||i+o.width<=t)?(e.indexOf(o.id)<0&&(i+=o.width),a.push(o)):s.indexOf(o.id)<0&&i+o.width>t&&(h=!0),a)),[]);this._setControlsThatFit(a,s)}}),250))}_setControlsThatFit(t,i){let s=JSON.stringify(t)!==JSON.stringify(this._controlsThatFit);const e=document.getElementById("solutions-action-bar");e?.childNodes?.forEach((t=>{i.indexOf(t.id)<0&&!s&&(s=this._controlsThatFit.map((t=>t.id)).indexOf(t.id)<0)})),s&&(this._controlsThatFit=[...t])}_setToolbarSizeInfos(){let t=!1;this._toolbarSizeInfos=[],this._toolbar.childNodes.forEach(((i,s)=>{0===s?i.childNodes.forEach((i=>{this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0)})):i.referenceElement||(this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0))})),t&&!this._defaultVisibleToolSizeInfos&&(this._defaultVisibleToolSizeInfos=[...this._toolbarSizeInfos])}_getActionItems(){return this._toolInfos?.filter((t=>t&&!t.isOverflow))}_getDropdown(t){const i=this._getDropdownItems();return i.length>0?e("calcite-dropdown",{closeOnSelectDisabled:!0,disabled:void 0===this._layer,id:"solutions-more",onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:t=>this._moreDropdown=t},e("calcite-action",{appearance:"solid",id:t,label:"",onClick:()=>this._closeShowHide(),slot:"trigger",text:""},e("calcite-button",{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral"},this._translations.more)),e("calcite-dropdown-group",{"selection-mode":"none"},i.map((t=>e("calcite-dropdown-group",{class:t.disabled?"disabled":"",selectionMode:"none"},e("calcite-dropdown-item",{disabled:t.loading,iconStart:t.isSublist&&this._showHideOpen?"chevron-down":t.loading?"":t.icon,id:`layer-table-${t.icon}`,onClick:t.func},t.loading?e("div",{class:"display-flex"},e("calcite-loader",{inline:!0,label:t.label,scale:"m"}),t.label):t.label))))),this._showHideOpen?this._getFieldlist():void 0):void 0}_getDropdownItems(){return this._toolInfos?.filter((t=>t&&t.isOverflow))}_getAction(t,i,s,h,a,o,l,n){const c=void 0===this._layer||o;return e("div",{class:"display-flex",id:this._getId(i),slot:n},e("calcite-action",{active:t,appearance:"solid",disabled:c,icon:i,id:`layer-table-${i}`,indicator:s,label:h,loading:l,onClick:a,text:h,textEnabled:!0}),this._getToolTip("bottom",i,h))}_getShare(t){return e("div",{class:"share-action",id:this._getId(t)},e("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"instant-app-share",embed:this.shareIncludeEmbed,popoverButtonIconScale:"s",ref:t=>this._shareNode=t,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",socialMedia:this.shareIncludeSocial,view:this.mapView}),this._getToolTip("bottom",t,this._translations.share))}_updateShareUrl(){const t=this._shareNode?.shareUrl;if(!t)return;const i=new URL(t);this.mapInfo?.id?i.searchParams.set("webmap",this.mapInfo.id):i.searchParams.delete("webmap"),this._layer?.id?i.searchParams.set("layer",this._layer.id):i.searchParams.delete("layer"),this.selectedIds?.length>0?i.searchParams.set("oid",this.selectedIds.join(",")):i.searchParams.delete("oid"),this._shareNode.shareUrl=i.href}_getToolTip(t,i,s){return document.getElementById(i)?e("calcite-tooltip",{placement:t,"reference-element":i},e("span",null,s)):void 0}_getId(t){return`solutions-action-${t}`}_getDangerAction(t,i,s,h){const a=void 0===this._layer||h;return e("div",{class:"display-flex",id:this._getId(t)},"trash"===t?e("delete-button",{buttonType:"action",class:"display-flex",disabled:a,icon:t,ids:this._getIds(),layer:this._layer}):e("calcite-action",{appearance:"solid",disabled:a,id:t,onClick:s,text:i},e("calcite-button",{appearance:"transparent",iconStart:t,kind:"danger"},i)),this._getToolTip("bottom",t,i))}_getIds(){return this._table.highlightIds.toArray()}onTableNodeCreate=t=>{this._tableNode=t};async _getTable(t,i){this._layer&&(await this._layer.when((()=>{this._table=new this.FeatureTable({autoRefreshEnabled:this.enableAutoRefresh,layer:this._layer,view:this.mapView,columnReorderingEnabled:this.enableColumnReorder,editingEnabled:this._editEnabled&&this.enableInlineEdit,highlightEnabled:!0,multiSortEnabled:!1,visibleElements:{header:!1,menu:!1},tableTemplate:{columnTemplates:i},container:t})})),await this._table.when((()=>{this._table.highlightIds.on("change",(t=>{this._handleOnChange(t)}));const t=this.reactiveUtils.watch((()=>this._table.size),(t=>{this._size=t}));this._table.viewModel.addHandles(t)})))}async _handleOnChange(t){const i=[...this._table.highlightIds.toArray()];if(this._skipOnChange)this._skipOnChange=!1;else{if(!this._ctrlIsPressed&&!this._shiftIsPressed||this._selectionFromMap&&this._shiftIsPressed)if(this.selectedIds.length>0){this._skipOnChange=!0;const s=this.selectedIds.length>1&&1===t.removed.length?t.removed:i.filter((t=>this.selectedIds.indexOf(t)<0));this._clearSelection(),this.selectedIds=[...s],s.length>0?this._table.highlightIds.add(s[0]):this._skipOnChange=!1}else this.selectedIds=i.reverse();else if(this._ctrlIsPressed)this.selectedIds=i.reverse();else if(this._shiftIsPressed&&i?.length>0)if(this._skipOnChange=!0,this._previousCurrentId=this._currentId,this._currentId=[...i].reverse()[0],1===i.length)this._skipOnChange=!1;else if(this._previousCurrentId!==this._currentId){const t=this._table.activeSortOrders.reduce(((t,i)=>(t.push(`${i.fieldName} ${i.direction}`),t)),[]),s=await r(0,this._layer,[],t);let e=!1;const h=this._table.viewModel.getObjectIdIndex(this._previousCurrentId),a=this._table.viewModel.getObjectIdIndex(this._currentId);this._skipOnChange=(h<a?h:a)+1!==(a>h?a:h);const o=s.reduce(((t,i)=>{const s=i;return s===this._currentId||s===this._previousCurrentId?(e=!e,t.indexOf(s)<0&&t.push(s)):e&&t.indexOf(s)<0&&t.push(s),t}),[]),l=h<a?o.reverse():o;this.selectedIds=[...new Set([...l,...this.selectedIds])],this._table.highlightIds.addMany(this.selectedIds.filter((t=>i.indexOf(t)<0)))}this._finishOnChange()}this._currentId=[...this._table.highlightIds.toArray()].reverse()[0],this._selectionFromMap=!1}_finishOnChange(){this._showOnlySelected&&(this._featuresSelected()?this._table.filterBySelection():this._toggleShowSelected()),this.featureSelectionChange.emit(this.selectedIds)}_resetColumnTemplates(){const t=this._getColumnTemplates(this._layer?.id,this._layer?.fields),i=t?.some(((t,i)=>JSON.stringify(this._table?.tableTemplate.columnTemplates[i])!==JSON.stringify(t)));if(this._table&&t&&(i||!this._columnsInfo)){this._table.tableTemplate=new this.TableTemplate({columnTemplates:t});const i=t.map((t=>t.fieldName));this._initColumnsInfo(i)}}async _resetTable(){if(this._loaded=!1,this._clearSelection(),this._allIds=await d(this._layer),this._table)this._table.view=this.mapView,this._table.layer=this._layer;else{const t=this._getColumnTemplates(this._layer.id,this._layer?.fields);await this._getTable(this._tableNode,t)}await this._initLayerRefresh(),this._checkEditEnabled(),this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit,await this._table.when(),setTimeout((()=>{this._loaded||(console.log(`table.state: ${this._table.state}`),this.finishLoading())}),1e3),await this.reactiveUtils.once((()=>"loaded"===this._table.state)).then((async()=>{await this.finishLoading()}))}async finishLoading(){try{this._loaded=!0,this._table.highlightIds.removeAll(),this._table.clearSelectionFilter(),this._resetColumnTemplates(),this._showOnlySelected=!1,await this._handleDefaults(),await this._sortTable(),this._initToolInfos(),this._updateToolbar()}catch(t){console.log(t)}}async _initLayerRefresh(){this._refreshHandle&&this._refreshHandle.remove(),this._refreshHandle=this._layer.on("refresh",(t=>{t.dataChanged&&(this._skipOnChange=!0,this._updateAllIds())}))}async _updateAllIds(){this._allIds=await d(this._layer),this.selectedIds=this.selectedIds.filter((t=>this._allIds.indexOf(t)>-1)),await this._refresh()}async _handleDefaults(){if(!this._defaultOidHonored&&this.defaultOid?.length>0&&this.defaultOid[0]>-1&&this._table&&(await this._selectDefaultFeature(this.defaultOid),this._defaultOidHonored=!0,this.defaultOid=void 0,this._showOnlySelected=!1,this._toggleShowSelected()),!this._defaultGlobalIdHonored&&this.defaultGlobalId?.length>0&&this._table){const t=await p(this.defaultGlobalId,this._layer),i=t?.length>0?t.map((t=>t.getObjectId())):void 0;i&&await this._selectDefaultFeature(i),this._defaultGlobalIdHonored=!0,this.defaultGlobalId=void 0,this._showOnlySelected=!1,this._toggleShowSelected()}}_initColumnsInfo(t){const i=this._table?.columns.reduce(((i,s)=>((!t||t?.indexOf(s.name)>-1)&&(i[s.name]=!s.hidden),i)),{}),s=this._table?.columns.map((t=>t.name));(t?t.filter((t=>s.indexOf(t)<0)):[]).forEach((t=>{i[t]=!0})),this._columnsInfo=t?t.reduce(((t,s)=>(t[s]=i[s],t)),{}):i}async _selectDefaultFeature(t){t.length>0&&this._table.highlightIds.addMany(t)}_checkEditEnabled(){this._editEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsUpdate,this._deleteEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsDelete}async _sortTable(){let t,i=this._layer?.objectIdField,s="desc";this.mapInfo?.layerOptions?.layers?.length>0&&this._layer?.id&&(t=this.mapInfo.layerOptions.layers.filter((t=>t.id===this._layer.id)),t&&t.length>0&&(t=t[0],t.sortField&&t.fields?.includes(t.sortField)&&(i=t.sortField),s=t?.sortOrder?t.sortOrder:"desc")),this._table&&this._layer&&(await this._table.when(),await this._layer.when((()=>{this._table.sortColumn(i,s)})))}_forceShowHide(){this._showHideDropdown&&(this._showHideDropdown.open=this._showHideOpen),this._moreDropdown&&(this._moreDropdown.open=this._showHideOpen)}_toggleShowHide(){this._showHideOpen=!this._showHideOpen}_closeShowHide(){this._showHideOpen=!1}_handleDocumentClick(t){const i=t.target?.id;i.startsWith("layer-table-")?this._moreDropdown.open=!0:this._showHideOpen&&Object.keys(this._columnsInfo).indexOf(i)<0&&"chevron-right"!==i&&(this._closeShowHide(),this._moreDropdown&&(this._moreDropdown.open=!1),this._showHideDropdown&&(this._showHideDropdown.open=!1))}_handleKeyDown(t){this._ctrlIsPressed=t.ctrlKey,this._shiftIsPressed=t.shiftKey}_handleKeyUp(t){this._ctrlIsPressed=t.ctrlKey,this._shiftIsPressed=t.shiftKey}_filterModal(){return e("calcite-modal",{"aria-labelledby":"modal-title",class:"modal",kind:"brand",onCalciteModalClose:()=>{this._closeFilter()},open:this._filterOpen,widthScale:"s"},e("div",{class:"display-flex align-center",id:"modal-title",slot:"header"},this._translations?.filter?.replace("{{title}}",this._layer?.title)),e("div",{slot:"content"},e("instant-apps-filter-list",{autoUpdateUrl:!1,closeBtn:!0,closeBtnOnClick:async()=>this._closeFilter(),comboboxOverlayPositioning:"fixed",layerExpressions:this._layerExpressions,onFilterListReset:()=>{this._handleFilterListReset()},onFilterUpdate:()=>{this._handleFilterUpdate()},ref:t=>this._filterList=t,view:this.mapView,zoomBtn:!1})))}async _handleFilterListReset(){this._filterActive=!1,this._updateShareUrl(),await this._searchFullText()}async _handleFilterUpdate(){const t=this._layer.definitionExpression;if(this._floorExpression){const i=new RegExp(`${this._floorField} = ['].+[']`,"gm");this._layer.definitionExpression=t&&this._floorField&&t.indexOf(`${this._floorField} = '`)>-1?t.replace(i,this._floorExpression):t?`${t} AND (${this._floorExpression})`:this._floorExpression}this._filterActive=this._definitionExpression!==this._layer.definitionExpression&&(!this._floorExpression||this._layer.definitionExpression!==this._floorExpression),this._updateShareUrl(),await this._searchFullText()}async _closeFilter(){this._filterOpen&&(this._allIds=await d(this._layer),this._filterOpen=!1)}async _mapClicked(t){const i={include:this._layer},s=await this.mapView.hitTest(t.screenPoint,i);s.results.length>0?(s.results.forEach((t=>{const i=t.graphic.getObjectId();this._table.highlightIds.indexOf(i)<0&&(this._selectionFromMap=!0,this._table.highlightIds.add(i))})),this._showOnlySelected&&this._table.filterBySelection()):this._clearSelection()}_selectAll(){const t=this._allIds;this._table.highlightIds.removeAll(),this._skipOnChange=!0,this._table.highlightIds.addMany(t),this.selectedIds=t,this._finishOnChange(),this._selectAllActive=!0}_toggleShowSelected(){this._showOnlySelected=!this._showOnlySelected,this._showOnlySelected?this._table.filterBySelection():this._table.clearSelectionFilter()}_clearSelection(){this.selectedIds=[],this._table?.highlightIds.removeAll(),this._table?.rowHighlightIds.removeAll(),this._finishOnChange()}_toggleFilter(){this._filterOpen=!this._filterOpen}_initLayerExpressions(){const t=this.mapInfo?.filterConfig?.layerExpressions;this._layerExpressions=t?t.filter((t=>t.id===this._layer?.id)):[],this._filterList.layerExpressions=this._layerExpressions,this._filterActive=this._layerExpressions.filter((t=>t.expressions.filter((t=>t.active)).length>0)).length>0}_switchSelected(){const t=[...this.selectedIds];this._table.highlightIds.removeAll();const i=this._allIds.reduce(((i,s)=>(t.indexOf(s)<0&&i.push(s),i)),[]).sort(((t,i)=>t-i));this._skipOnChange=!0,this._table.highlightIds.addMany(i),this.selectedIds=i,this._finishOnChange()}async _exportToCSV(){const t={},i=this._table.highlightIds.toArray();t[this._layer.id]={selectionSetNames:[this._layer.title],ids:i,layer:this._layer};const s=this._table.columns.toArray().reduce(((t,i)=>(i.hidden||t.push(i.name.toLocaleLowerCase()),t)),[]);this._updateToolInfoLoading("export",!0),this._csvExporting=!0,await f(null,t,!1,!1,!0,s,!0,!0),this._updateToolInfoLoading("export",!1),this._csvExporting=!1}_updateToolInfoLoading(t,i){this._toolInfos.some((s=>{if(s?.icon===t)return s.loading=i,!0}))}async _refresh(){await this._table.refresh(),this._allIds=await d(this._layer),this.featureSelectionChange.emit(this.selectedIds)}async _zoom(){if(this._layer){const t=await b(this.mapView,this._layer.id);await c(this.selectedIds,t,this.mapView,!0,void 0,this.zoomToScale)}}async _layerSelectionChanged(t){const i=t.detail[0];if(i!==this._layer?.id||this._featuresEmpty()){this._fetchingData=!0;const t=await l(this.mapView,i);t&&await t.when((()=>{this._layer=t,this._getFullTextSearchInfo()}))}this._fetchingData=!1}_getColumnTemplates(t,i){let s;this.mapInfo?.layerOptions?.layers.some((i=>{if(i.id===t)return s=i,!0}));const e=s?.fields&&s?.fieldOrder?s.fieldOrder.filter((t=>s.fields.indexOf(t)>-1)):void 0;let h;return i&&(h=s&&s?.fields?i.reduce(((t,i)=>{if(s.fields.indexOf(i.name)>-1){const s={type:"field",fieldName:i.name,label:i.alias,menuConfig:this._getMenuConfig(i.name)};t.push(s)}return t}),[]).sort(this._sortFields.bind(this,s?.fieldOrder)):i.map((t=>({type:"field",fieldName:t.name,label:t.alias,menuConfig:this._getMenuConfig(t.name)})))),e?h?.sort(this._sortFields.bind(this,e)):h}_sortFields(t,i,s){return t?.indexOf(i.fieldName)-t.indexOf(s.fieldName)}_getMenuConfig(t){return{items:[{label:this._translations.hideField,icon:"view-hide",autoCloseMenu:!0,clickFunction:()=>{this._handleHideClick(t)}}]}}_handleHideClick(t){this._columnsInfo[t]=!1,this._table.hideColumn(t),this._table.tableTemplate.columnTemplates.forEach((i=>{i.fieldName===t&&(i.visible=!1)}))}async _getTranslations(){const t=await a(this.el);this._translations=t[0]}static get watchers(){return{defaultOid:["defaultOidWatchHandler"],defaultGlobalId:["defaultGlobalIdWatchHandler"],enableCSV:["enableCSVWatchHandler"],enableInlineEdit:["enableInlineEditWatchHandler"],enableShare:["enableShareWatchHandler"],_controlsThatFit:["_controlsThatFitWatchHandler"],mapHidden:["mapHiddenWatchHandler"],isMobile:["isMobileWatchHandler"],mapInfo:["mapInfoWatchHandler"],mapView:["mapViewWatchHandler"],_layer:["_layerWatchHandler"],selectedIds:["selectedIdsWatchHandler"]}}};function v(t){return function(t){return-1!==t?.indexOf("http://")}(t)?t.replace(/^http:\/\//,"https://"):t}m.style=':host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-color-border-2)}.border-end{border-inline-end:1px solid var(--calcite-color-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51-px{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir="rtl"] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-color-background)}.text-color{color:var(--calcite-color-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-color-status-danger)}.esri-feature-table vaadin-grid{border:none !important}vaadin-grid-cell-content{font-size:14px !important;color:var(--calcite-color-text-3) !important}.share-action{position:absolute;right:0}html[dir="rtl"] .share-action{left:0}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.instant-app-share{height:50px !important;display:inline-flex}.border-top{border-top:1px solid var(--calcite-color-border-2)}.modal{--calcite-modal-content-padding:0}.esri-feature-table__table-container{height:100%}.search-container{background-color:var(--calcite-color-foreground-1) !important}.search{--calcite-color-border-input:var(--calcite-color-border-3);width:60%;padding:10px}';const y=class{constructor(s){t(this,s),this.mapChanged=i(this,"mapChanged",7),this.beforeMapChanged=i(this,"beforeMapChanged",7),this.toggleFilter=i(this,"toggleFilter",7),this.clearSelection=i(this,"clearSelection",7),this.appProxies=void 0,this.defaultWebmapId="",this.defaultLayerId=void 0,this.enableHome=void 0,this.enableLegend=void 0,this.enableFloorFilter=void 0,this.enableFullscreen=void 0,this.enableSingleExpand=!0,this.enableSearch=void 0,this.enableBasemap=void 0,this.basemapConfig=void 0,this.hidden=void 0,this.homeZoomIndex=3,this.homeZoomPosition="top-left",this.homeZoomToolsSize="m",this.mapInfos=[],this.mapWidgetsIndex=0,this.mapWidgetsPosition="top-right",this.mapWidgetsSize="m",this.mapView=void 0,this.stackTools=!0,this.theme=void 0,this.toolOrder=void 0,this.isMapLayout=void 0,this.selectedFeaturesIds=void 0,this.selectedLayer=void 0,this.zoomToScale=void 0,this.onlyShowUpdatableLayers=void 0,this.isMobile=void 0,this.mapInfo=void 0,this._translations=void 0,this._searchConfiguration=void 0,this._webMapInfo=void 0,this._showHideOpen=!1,this._toolInfos=void 0,this._controlsThatFit=void 0}get el(){return s(this)}esriConfig;Home;MapView;WebMap;_defaultWebmapHonored=!1;_homeWidget;_loadedId="";_mapDiv;_mapPicker;_mapTools;_moreDropdown;_mapListExpanded=!1;_filterActive=!1;_definitionExpression;_mapLayerPicker;_resizeObserver;_showHideDropdown;_toolbar;_timeout;_toolbarSizeInfos;_defaultVisibleToolSizeInfos;_observerSet=!1;enableHomeWatchHandler(){this._initHome()}async selectedLayerWatchHandler(){await(this.selectedLayer?.when((async()=>{this._definitionExpression=this.selectedLayer.definitionExpression})))}async selectedFeaturesIdsWatchHandler(){this._validateEnabledActions()}_controlsThatFitWatchHandler(){const t=this._controlsThatFit?this._controlsThatFit.reduce(((t,i)=>(t.push(i.id),t)),[]):[];this._toolInfos=this._toolInfos?.map((i=>{if(i&&this._controlsThatFit){const s=this._getId(i.icon);return i.isOverflow=t.indexOf(s)<0,i}}))}async resetFilter(){this._filterActive=!1}async updateFilterState(){this._filterActive=this._definitionExpression!==this.selectedLayer.definitionExpression}async updateLayer(){this._mapLayerPicker.updateLayer()}mapChanged;beforeMapChanged;toggleFilter;clearSelection;async mapInfoChange(t){await this._loadMap(t.detail)}noLayersFound(){this.selectedLayer=void 0,this.selectedFeaturesIds=[]}layerSelectionChange(){setTimeout((()=>{this._initToolInfos()}),50)}async componentWillLoad(){await this._getTranslations(),await this._initModules(),this._initToolInfos(),this._resizeObserver||(this._resizeObserver=new ResizeObserver((()=>this._updateToolbar())))}render(){const t=this.isMapLayout?"display-flex height-49-px":"",i=this.hidden?"visibility-hidden-1":"",s="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light",a=this.mapInfos?.length>1||this.isMapLayout?"map-height":"height-full",o=this.isMapLayout?"":"display-none";return this._validateActiveActions(),e(h,{key:"94d7399ed75c0e90487d6153a0d28ab6f722ae93"},e("div",{key:"e194d8800dd7a865e101d779d032d164f3e5562d",class:`${t} width-full`,ref:t=>this._toolbar=t},this._getActionBar(),!this.isMobile&&this.isMapLayout&&this._getDropdown("more-table-options")),e("calcite-progress",{key:"0abdbf4e8ba5861866aba7791dfdb91a7a5f4daa",class:o,value:0}),e("div",{key:"83aa012aeef6ae64e49007d542fd949e7d4602f4",class:`${a} ${i}`,ref:t=>this._mapDiv=t}),e("map-tools",{key:"229cc18b36885cad12d44c13e1fe37a97403b9d8",basemapConfig:this.basemapConfig,class:`box-shadow ${s}`,enableBasemap:this.enableBasemap,enableFloorFilter:this.enableFloorFilter,enableFullscreen:this.enableFullscreen,enableHome:this.enableHome,enableLegend:this.enableLegend,enableSearch:this.enableSearch,enableSingleExpand:this.enableSingleExpand,homeZoomToolsSize:this.homeZoomToolsSize,mapView:this.mapView,mapWidgetsSize:this.mapWidgetsSize,position:this.mapWidgetsPosition,ref:t=>this._mapTools=t,searchConfiguration:this._searchConfiguration,stackTools:this.stackTools,toolOrder:this.toolOrder}))}async componentDidRender(){this.isMapLayout&&this._updateToolbar(),document.onclick=t=>this._handleDocumentClick(t)}async componentDidLoad(){this.isMobile||this._observerSet||(this._resizeObserver.observe(this._toolbar),this._observerSet=!0)}async _initModules(){const[t,i,s,e]=await o(["esri/WebMap","esri/views/MapView","esri/widgets/Home","esri/config"]);this.WebMap=t,this.MapView=i,this.Home=s,this.esriConfig=e}async _loadMap(t){const i=!this._defaultWebmapHonored&&this.defaultWebmapId,s=this.mapInfos?.filter((t=>t.id===this.defaultWebmapId)),e=JSON.stringify(t)!==JSON.stringify(this._webMapInfo);this._webMapInfo=i&&s?s[0]:!t?.id&&this.mapInfos.length>0?this.mapInfos[0]:t;const h=this._webMapInfo.id,a=i&&t?.id===this.defaultWebmapId;if(this._loadedId!==h&&!i||a){const t=new this.WebMap({portalItem:{id:h}});this.appProxies&&(await t.load(),await(o=t,l=this.esriConfig,n=this.appProxies,n&&n.forEach((t=>{o.allLayers.forEach((i=>{i&&i.url===t.sourceUrl&&(i.url=v(t.proxyUrl),i.portalItem&&i.portalItem.when((()=>{i.portalItem.url=v(t.proxyUrl)})),l.request?.interceptors?.push({urls:t.sourceUrl,before:i=>{i.url&&i.url===t.sourceUrl&&(i.url=v(t.proxyUrl))}}))}))})),o)),this.mapView=new this.MapView({container:this._mapDiv,map:t,resizeAlign:"center"}),this._loadedId=h,this._searchConfiguration=this._webMapInfo.searchConfiguration,this.beforeMapChanged.emit(),await this.mapView.when((()=>{this._initHome(),this.mapView.ui.add(this._mapTools,{position:this.mapWidgetsPosition,index:this.mapWidgetsIndex}),this._defaultWebmapHonored=!!a||this._defaultWebmapHonored,this.mapChanged.emit({id:h,mapView:this.mapView})}))}else i?(this._defaultWebmapHonored=!0,this._mapPicker.setMapByID(h)):e&&(this._searchConfiguration=this._webMapInfo.searchConfiguration,this.beforeMapChanged.emit(),this.mapChanged.emit({id:h,mapView:this.mapView}));var o,l,n}_updateToolbar(){this._timeout&&clearTimeout(this._timeout),!this.isMobile&&this._toolbar&&this._toolInfos&&(this._timeout=setTimeout((()=>{clearTimeout(this._timeout),this._setToolbarSizeInfos();const t=this._toolbar.offsetWidth;let i=this._toolbarSizeInfos.reduce(((t,i)=>t+i.width),0);const s=["solutions-more","solutions-map-layer-picker-container","map-picker"];if(i>t){if(this._toolbarSizeInfos.length>0){const e=[...this._toolbarSizeInfos].reverse().reduce(((e,h)=>(s.indexOf(h.id)<0&&(i>t?i-=h.width:e.push(h)),e)),[]).reverse();this._setControlsThatFit(e,s)}}else if(this._defaultVisibleToolSizeInfos){const e=this._toolbarSizeInfos.reduce(((t,i)=>(t.push(i.id),t)),[]);let h=!1;const a=[...this._defaultVisibleToolSizeInfos].reduce(((a,o)=>(!h&&s.indexOf(o.id)<0&&(e.indexOf(o.id)>-1||i+o.width<=t)?(e.indexOf(o.id)<0&&(i+=o.width),a.push(o)):s.indexOf(o.id)<0&&i+o.width>t&&(h=!0),a)),[]);this._setControlsThatFit(a,s)}}),250))}_setControlsThatFit(t,i){let s=JSON.stringify(t)!==JSON.stringify(this._controlsThatFit);const e=document.getElementById("solutions-action-bar");e?.childNodes?.forEach((t=>{i.indexOf(t.id)<0&&!s&&(s=this._controlsThatFit.map((t=>t.id)).indexOf(t.id)<0)})),s&&(this._controlsThatFit=[...t])}_setToolbarSizeInfos(){let t=!1;this._toolbarSizeInfos=[],this._toolbar.childNodes.forEach(((i,s)=>{0===s?i.childNodes.forEach((i=>{this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0)})):i.referenceElement||(this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0))})),t&&!this._defaultVisibleToolSizeInfos&&(this._defaultVisibleToolSizeInfos=[...this._toolbarSizeInfos])}_getActionBar(){const t=this.mapInfos?.length>1?"":"display-none",i=this.isMapLayout?"display-flex":"display-block",s=this.isMobile?"border-top":"",h=this.isMapLayout?"":"display-none";return e("calcite-action-bar",{class:i,expandDisabled:!0,expanded:!0,id:this._getId("bar"),layout:"horizontal"},e("map-picker",{class:t,isMapLayout:this.isMapLayout,mapInfos:this.mapInfos,ref:t=>this._mapPicker=t}),e("div",{class:`mapView-header display-flex ${h}`},e("div",{class:`border-end ${i} ${s}`,id:"solutions-map-layer-picker-container"},this.mapView&&e("map-layer-picker",{appearance:"transparent",defaultLayerId:this.defaultLayerId,display:"inline-flex",height:50,isMobile:this.isMobile,mapView:this.mapView,onlyShowUpdatableLayers:this.onlyShowUpdatableLayers,placeholderIcon:"layers",ref:t=>this._mapLayerPicker=t,scale:"l",selectedIds:this.selectedLayer?[this.selectedLayer.id]:[],showSingleLayerAsLabel:!0,showTables:!0,showTablesDisabled:!0,type:"dropdown"}))),!this.isMobile&&this.isMapLayout?this._getActions():void 0)}_getDropdown(t){const i=this._getDropdownItems();return i.length>0?e("calcite-dropdown",{closeOnSelectDisabled:!0,disabled:void 0===this.selectedLayer,id:"solutions-more",onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:t=>this._moreDropdown=t},e("calcite-action",{appearance:"solid",id:t,label:"",onClick:()=>this._closeShowHide(),slot:"trigger",text:""},e("calcite-button",{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral"},this._translations.more)),e("calcite-dropdown-group",{"selection-mode":"none"},i.map((t=>e("calcite-dropdown-group",{class:t.disabled?"disabled":"",selectionMode:"none"},e("calcite-dropdown-item",{disabled:t.loading,iconStart:t.icon,id:"solutions-subset-list",onClick:t.func},t.loading?e("div",{class:"display-flex"},e("calcite-loader",{inline:!0,label:t.label,scale:"m"}),t.label):t.label)))))):void 0}_closeShowHide(){this._showHideOpen=!1}_getDropdownItems(){return this._toolInfos?.filter((t=>t&&t.isOverflow))}_initToolInfos(){const t=this.selectedFeaturesIds?.length>0,i=this._hasFilterExpressions(),s=this.selectedFeaturesIds?.length>1&&!1;this._translations&&(this._toolInfos=[{active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!t,isOverflow:!1},i?{active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this._toggleFilter(),disabled:!1,isOverflow:!1}:void 0,s?{active:!1,icon:"pencil",indicator:!1,label:this._translations.editMultiple,func:()=>alert(this._translations.editMultiple),disabled:!s,isOverflow:!1}:void 0,{active:!1,icon:"refresh",indicator:!1,label:this._translations.refresh,func:()=>this.selectedLayer.refresh(),disabled:!1,isOverflow:!1},{active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>this.clearSelection.emit(),disabled:!t,isOverflow:!1}],this._defaultVisibleToolSizeInfos=void 0)}_validateActiveActions(){const t=["filter"];this._toolInfos?.forEach((i=>{i&&t.indexOf(i.icon)>-1&&"filter"===i.icon&&(i.indicator=this._filterActive)}))}_validateEnabledActions(){const t=this.selectedFeaturesIds?.length>0,i=this.selectedFeaturesIds?.length>1&&this.selectedLayer?.capabilities?.operations?.supportsUpdate,s=["zoom-to-object","pencil","erase"];this._toolInfos?.forEach((e=>{e&&s.indexOf(e.icon)>-1&&(e.disabled="pencil"===e.icon?!i:!t)}))}_initHome(){if(this.enableHome){this._homeWidget=new this.Home({view:this.mapView}),this.mapView.ui.add(this._homeWidget,{position:this.homeZoomPosition,index:this.homeZoomIndex});const t="s"===this.homeZoomToolsSize?"32px":"m"===this.homeZoomToolsSize?"40px":"48px";this._homeWidget.domNode.style.height=t,this._homeWidget.domNode.style.width=t}else this._homeWidget&&this.mapView.ui.remove(this._homeWidget)}_toggleShowHide(){this._showHideOpen=!this._showHideOpen}_forceShowHide(){this._moreDropdown&&(this._moreDropdown.open=this._showHideOpen)}_handleDocumentClick(t){const i=t.target?.id;"solutions-subset-list"===i?this._moreDropdown.open=!0:this._showHideOpen&&"solutions-subset-list"!==i&&"solutions-more"!==i&&"chevron-down"!==i&&this._moreDropdown&&(this._showHideOpen=!1,this._moreDropdown.open=!1),"MAP-PICKER"===t.target.tagName&&(this._mapListExpanded=!this._mapListExpanded,this._mapPicker.toggle(this._mapListExpanded)),"MAP-PICKER"!==t.target.tagName&&(this._mapListExpanded=!1,this._mapPicker.close())}async _zoom(){if(this.selectedLayer){const t=await b(this.mapView,this.selectedLayer.id);await c(this.selectedFeaturesIds,t,this.mapView,!0,void 0,this.zoomToScale)}}async _toggleFilter(){this.toggleFilter.emit()}_hasFilterExpressions(){let t;return this.mapInfo?.filterConfig?.layerExpressions&&this.selectedLayer?.id&&(t=this.mapInfo.filterConfig.layerExpressions.filter((t=>t.id===this.selectedLayer.id))),t?.length>0}_getActions(){const t=this._getActionItems();return t?.reduce(((t,i)=>(i&&!i.isOverflow&&t.push(this._getAction(i.active,i.icon,i.indicator,i.label,i.func,i.disabled,i.loading)),t)),[])}_getToolTip(t,i,s){return document.getElementById(i)?e("calcite-tooltip",{placement:t,"reference-element":"map-"+i},e("span",null,s)):void 0}_getActionItems(){return this._toolInfos?.filter((t=>t&&!t.isOverflow))}_getAction(t,i,s,h,a,o,l,n){const c=void 0===this.selectedLayer||o;return e("div",{class:"display-flex",id:this._getId(i),slot:n},e("calcite-action",{active:t,appearance:"solid",disabled:c,icon:i,id:"map-"+i,indicator:s,label:h,loading:l,onClick:a,text:h,textEnabled:!0}),this._getToolTip("bottom",i,h))}_getId(t){return`solutions-action-${t}`}async _getTranslations(){const t=await a(this.el);this._translations=t[0]}static get watchers(){return{enableHome:["enableHomeWatchHandler"],selectedLayer:["selectedLayerWatchHandler"],selectedFeaturesIds:["selectedFeaturesIdsWatchHandler"],_controlsThatFit:["_controlsThatFitWatchHandler"]}}};y.style=":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 53px)}.height-full{height:100%}.height-49-px{height:49px}.box-shadow{box-shadow:none !important}.visibility-hidden-1{visibility:hidden;height:1px;}.display-none{display:none}.display-block{display:block}";export{u as card_manager,m as layer_table,y as map_card}
@@ -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,h as e,H as n,g as r}from"./p-4e6eb06e.js";import{c as i}from"./p-dc9d4be3.js";import{l as o}from"./p-4cd4cb85.js";import{g as a}from"./p-5ff711ee.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-ac122d9e.js";const{state:s,onChange:u}=i({timeInfoConfigItems:[],filterMode:{type:"filter"},view:null,timeSlider:null,timeInfoItems:[],selectedTimeInfoItem:null,loading:!0,timeSliderConfig:{},autoPlay:!1});let l;function c(t){return"function"==typeof l[t]?l[t]=l[t](globalThis):l[t]}function f(t){if(!t||"object"!=typeof t||"function"==typeof t)return t;const e=function(t){if(function(t){return"Int8Array"===t?.constructor?.name}(t)||function(t){return"Uint8Array"===t?.constructor?.name}(t)||function(t){return"Uint8ClampedArray"===t?.constructor?.name}(t)||function(t){return"Int16Array"===t?.constructor?.name}(t)||function(t){return"Uint16Array"===t?.constructor?.name}(t)||function(t){return"Int32Array"===t?.constructor?.name}(t)||function(t){return"Uint32Array"===t?.constructor?.name}(t)||function(t){return"Float32Array"===t?.constructor?.name}(t)||function(t){return"Float64Array"===t?.constructor?.name}(t))return t.slice();if(t instanceof Date)return new Date(t.getTime());if(t instanceof ArrayBuffer)return t.slice(0,t.byteLength);if(t instanceof Map){const e=new Map;for(const[n,r]of t)e.set(n,f(r));return e}if(t instanceof Set){const e=new Set;for(const n of t)e.add(f(n));return e}return null}(t);if(null!=e)return e;if(function(t){return"function"==typeof t.clone}(t))return t.clone();if(function(t){return"function"==typeof t.map&&"function"==typeof t.forEach}(t))return t.map(f);if(function(t){return"function"==typeof t.notifyChange&&"function"==typeof t.watch}(t))return t.clone();const n={};for(const e of Object.getOwnPropertyNames(t))n[e]=f(t[e]);return n}function h(t,e,n){return e?Object.keys(e).reduce(((t,r)=>{let i=t[r],o=e[r];return i===o?t:void 0===i?(t[r]=f(o),t):(Array.isArray(o)||Array.isArray(t)?(i=t[r]=i?Array.isArray(i)?i.slice():[i]:[],o&&(Array.isArray(o)||(o=[o]),n?o.forEach((t=>{i.includes(t)||i.push(t)})):t[r]=o.slice())):o&&"object"==typeof o?t[r]=h(i,o,n):t.hasOwnProperty(r)&&!e.hasOwnProperty(r)||(t[r]=o),t)}),t||{}):t}l=globalThis.dojoConfig?.has||globalThis.esriConfig?.has?{...globalThis.dojoConfig?.has,...globalThis.esriConfig?.has}:{},c.add=(t,e,n,r)=>{(r||void 0===l[t])&&(l[t]=e),n&&c(t)},c.cache=l,c.add("big-integer-warning-enabled",!0),c.add("esri-deprecation-warnings",!0),c.add("esri-tests-disable-screenshots",!1),c.add("esri-tests-use-full-window",!1),c.add("esri-tests-post-to-influx",!0),c.add("esri-cim-animations-enable-status","enabled"),c.add("esri-cim-animations-spotlight",!1),c.add("esri-cim-animations-freeze-time",!1),(()=>{c.add("host-webworker",void 0!==globalThis.WorkerGlobalScope&&self instanceof globalThis.WorkerGlobalScope);const t="undefined"!=typeof window&&"undefined"!=typeof location&&"undefined"!=typeof document&&window.location===location&&window.document===document;if(c.add("host-browser",t),c.add("host-node","object"==typeof globalThis.process&&globalThis.process.versions?.node&&globalThis.process.versions.v8),c.add("dom",t),c("host-browser")){const t=navigator,e=t.userAgent,n=t.appVersion,r=parseFloat(n);if(c.add("wp",parseFloat(e.split("Windows Phone")[1])||void 0),c.add("msapp",parseFloat(e.split("MSAppHost/")[1])||void 0),c.add("khtml",n.includes("Konqueror")?r:void 0),c.add("edge",parseFloat(e.split("Edge/")[1])||void 0),c.add("opr",parseFloat(e.split("OPR/")[1])||void 0),c.add("webkit",!c("wp")&&!c("edge")&&parseFloat(e.split("WebKit/")[1])||void 0),c.add("chrome",!c("edge")&&!c("opr")&&parseFloat(e.split("Chrome/")[1])||void 0),c.add("android",!c("wp")&&parseFloat(e.split("Android ")[1])||void 0),c.add("safari",!n.includes("Safari")||c("wp")||c("chrome")||c("android")||c("edge")||c("opr")?void 0:parseFloat(n.split("Version/")[1])),c.add("mac",n.includes("Macintosh")),!c("wp")&&/(iPhone|iPod|iPad)/.test(e)){const t=RegExp.$1.replace(/P/,"p"),n=/OS ([\d_]+)/.test(e)?RegExp.$1:"1",r=parseFloat(n.replace(/_/,".").replaceAll("_",""));c.add(t,r),c.add("ios",r)}c("webkit")||(!e.includes("Gecko")||c("wp")||c("khtml")||c("edge")||c.add("mozilla",r),c("mozilla")&&c.add("ff",parseFloat(e.split("Firefox/")[1]||e.split("Minefield/")[1])||void 0))}})(),(()=>{if(globalThis.navigator){const t=navigator.userAgent,e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(t),n=/iPhone/i.test(t);e&&c.add("esri-mobile",e),n&&c.add("esri-iPhone",n),c.add("esri-geolocation",!!navigator.geolocation)}c.add("esri-wasm","WebAssembly"in globalThis),c.add("esri-performance-mode-frames-between-render",20),c.add("esri-force-performance-mode",!1),c.add("esri-shared-array-buffer",(()=>{const t="SharedArrayBuffer"in globalThis,e=!1===globalThis.crossOriginIsolated;return t&&!e})),c.add("wasm-simd",(()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])))),c.add("esri-atomics","Atomics"in globalThis),c.add("esri-workers","Worker"in globalThis),c.add("web-feat:cache","caches"in globalThis),c.add("esri-workers-arraybuffer-transfer",!c("safari")||Number(c("safari"))>=12),c.add("workers-pool-size",8),c.add("featurelayer-simplify-thresholds",[.5,.5,.5,.5]),c.add("featurelayer-simplify-payload-size-factors",[1,1,4]),c.add("featurelayer-fast-triangulation-enabled",!0),c.add("featurelayer-animation-enabled",!0),c.add("featurelayer-snapshot-enabled",!0),c.add("featurelayer-snapshot-point-min-threshold",8e4),c.add("featurelayer-snapshot-point-max-threshold",4e5),c.add("featurelayer-snapshot-point-coverage",.1),c.add("featurelayer-query-max-depth",4),c.add("featurelayer-query-pausing-enabled",!1),c.add("featurelayer-advanced-symbols",!1),c.add("featurelayer-pbf",!0),c.add("featurelayer-pbf-statistics",!1),c.add("feature-layers-workers",!0),c.add("feature-polyline-generalization-factor",1),c.add("mapview-transitions-duration",200),c.add("mapview-essential-goto-duration",200),c.add("mapview-srswitch-adjust-rotation-scale-threshold",24e6),c.add("mapserver-pbf-version-support",10.81),c.add("mapservice-popup-identify-max-tolerance",20),c("host-webworker")||c("host-browser")&&(c.add("esri-csp-restrictions",(()=>{try{new Function}catch{return!0}return!1})),c.add("esri-image-decode",(()=>{if("decode"in new Image){const t=new Image;return t.src='data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>',void t.decode().then((()=>{c.add("esri-image-decode",!0,!0,!0)})).catch((()=>{c.add("esri-image-decode",!1,!0,!0)}))}return!1})),c.add("esri-url-encodes-apostrophe",(()=>{const t=window.document.createElement("a");return t.href="?'",t.href.includes("?%27")})))})();const d={apiKey:void 0,applicationName:"",applicationUrl:globalThis.location?.href,assetsPath:"",fontsUrl:"https://static.arcgis.com/fonts",geometryServiceUrl:"https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer",geoRSSServiceUrl:"https://utility.arcgis.com/sharing/rss",kmlServiceUrl:"https://utility.arcgis.com/sharing/kml",userPrivilegesApplied:!0,portalUrl:"https://www.arcgis.com",respectPrefersReducedMotion:!0,routeServiceUrl:"https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",workers:{loaderConfig:{has:{},paths:{},map:{},packages:[]}},request:{crossOriginNoCorsDomains:null,httpsDomains:["arcgis.com","arcgisonline.com","esrikr.com","premiumservices.blackbridge.com","esripremium.accuweather.com","gbm.digitalglobe.com","firstlook.digitalglobe.com","msi.digitalglobe.com"],interceptors:[],internalInterceptors:[],maxUrlLength:2e3,priority:"high",proxyRules:[],proxyUrl:null,timeout:6e4,trustedServers:[],useIdentity:!0},log:{interceptors:[],level:null}};globalThis.esriConfig&&(function(t,e,n=!1){h(d,e,n)}(0,globalThis.esriConfig,!0),delete d.has),d.assetsPath||(d.assetsPath="https://cdn.jsdelivr.net/npm/@arcgis/core@4.31.0-next.20241007/assets",d.defaultAssetsPath=d.assetsPath);const p={info:0,warn:1,error:2,none:3};class m{constructor(t){this.level=null,this._module="",this._parent=null,this.writer=null,this._loggedMessages={error:new Map,warn:new Map,info:new Map},null!=t.level&&(this.level=t.level),null!=t.writer&&(this.writer=t.writer),this._module=t.module,m._loggers.set(this.module,this);const e=this.module.lastIndexOf(".");-1!==e&&(this._parent=m.getLogger(this.module.slice(0,e)))}get module(){return this._module}get parent(){return this._parent}error(...t){this._log("error","always",...t)}warn(...t){this._log("warn","always",...t)}info(...t){this._log("info","always",...t)}errorOnce(...t){this._log("error","once",...t)}warnOnce(...t){this._log("warn","once",...t)}infoOnce(...t){this._log("info","once",...t)}errorOncePerTick(...t){this._log("error","oncePerTick",...t)}warnOncePerTick(...t){this._log("warn","oncePerTick",...t)}infoOncePerTick(...t){this._log("info","oncePerTick",...t)}get test(){}static get test(){}static getLogger(t){return m._loggers.get(t="string"!=typeof t?t.declaredClass:t)||new m({module:t})}_log(t,e,...n){if(this._matchLevel(t)){if("always"!==e&&!m._throttlingDisabled){const r=function(...t){return function(t){let e=0;for(let n=0;n<t.length;n++)e=(e<<5)-e+t.charCodeAt(n),e|=0;return e}(JSON.stringify(t,((t,e)=>"object"!=typeof e||Array.isArray(e)?e:"[Object]")))}(n),i=this._loggedMessages[t].get(r);if("once"===e&&null!=i||"oncePerTick"===e&&i&&i>=m._tickCounter)return;this._loggedMessages[t].set(r,m._tickCounter),m._scheduleTickCounterIncrement()}for(const e of d.log.interceptors)if(e(t,this.module,...n))return;this._inheritedWriter()(t,this.module,...n)}}_parentWithMember(t,e){let n=this;for(;null!=n;){const e=n[t];if(null!=e)return e;n=n.parent}return e}_inheritedWriter(){return this._parentWithMember("writer",g)}_matchLevel(t){return p[this._parentWithMember("level",d.log.level||"warn")]<=p[t]}static _scheduleTickCounterIncrement(){m._tickCounterScheduled||(m._tickCounterScheduled=!0,Promise.resolve().then((()=>{m._tickCounter++,m._tickCounterScheduled=!1})))}}function g(t,e,...n){console[t](`[${e}]`,...n)}m._loggers=new Map,m._tickCounter=0,m._tickCounterScheduled=!1,m._throttlingDisabled=!1;class v{constructor(t,e,n){this.name=t,this.details=n,this.message=(e&&function(t,e){return t.replaceAll(/\$\{([^\s:}]*)(?::([^\s:}]+))?\}/g,((t,n)=>{if(""===n)return"$";const r=function(t,e){if(null!=e)return e[t]||function(t,e,n){let r=n;for(const e of t){if(null==r)return;if(!(e in r))return void 0;r=r[e]}return r}(t.split("."),0,e)}(n,e);return(r??"").toString()}))}(e,n))??""}toString(){return"["+this.name+"]: "+this.message}}class w extends v{constructor(t,e,n){super(t,e,n)}toJSON(){if(null!=this.details)try{return{name:this.name,message:this.message,details:JSON.parse(JSON.stringify(this.details,((t,e)=>{if(e&&"object"==typeof e&&"function"==typeof e.toJSON)return e;try{return f(e)}catch(t){return"[object]"}})))}}catch(t){throw m.getLogger("esri.core.Error").error(t),t}return{name:this.name,message:this.message,details:this.details}}static fromJSON(t){return new w(t.name,t.message,t.details)}}w.prototype.type="error";const y={transparent:[0,0,0,0],black:[0,0,0,1],silver:[192,192,192,1],gray:[128,128,128,1],white:[255,255,255,1],maroon:[128,0,0,1],red:[255,0,0,1],purple:[128,0,128,1],fuchsia:[255,0,255,1],green:[0,128,0,1],lime:[0,255,0,1],olive:[128,128,0,1],yellow:[255,255,0,1],navy:[0,0,128,1],blue:[0,0,255,1],teal:[0,128,128,1],aqua:[0,255,255,1],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],blanchedalmond:[255,235,205,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],oldlace:[253,245,230,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],rebeccapurple:[102,51,153,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],whitesmoke:[245,245,245,1],yellowgreen:[154,205,50,1]};function b(t){return y[t]??y[t.toLowerCase()]}function M(t,e,n){n<0&&++n,n>1&&--n;const r=6*n;return r<1?t+(e-t)*r:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function x(){const t=new Float32Array(16);return t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}const k=x();function T(t,e,n){return[t,e,n]}function E(){return T(1,1,1)}function S(){return T(1,0,0)}function _(){return T(0,1,0)}function F(){return T(0,0,1)}Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:k,clone:function(t){const e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},create:x,createView:function(t,e){return new Float32Array(t,e,16)},fromValues:function(t,e,n,r,i,o,a,s,u,l,c,f,h,d,p,m){const g=new Float32Array(16);return g[0]=t,g[1]=e,g[2]=n,g[3]=r,g[4]=i,g[5]=o,g[6]=a,g[7]=s,g[8]=u,g[9]=l,g[10]=c,g[11]=f,g[12]=h,g[13]=d,g[14]=p,g[15]=m,g}},Symbol.toStringTag,{value:"Module"}));const A=E(),I=S(),O=_(),j=F();Object.freeze(Object.defineProperty({__proto__:null,ONES:A,UNIT_X:I,UNIT_Y:O,UNIT_Z:j,ZEROS:[0,0,0],clone:function(t){return[t[0],t[1],t[2]]},create:function(){return[0,0,0]},createView:function(t,e){return new Float64Array(t,e,3)},freeze:function(t,e,n){return[t,e,n]},fromArray:function(t,e=[0,0,0]){const n=Math.min(3,t.length);for(let r=0;r<n;++r)e[r]=t[r];return e},fromValues:T,ones:E,unitX:S,unitY:_,unitZ:F,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}));let P=1e-6;function $(){return P}const N=Math.random,C=Math.PI/180,R=180/Math.PI;function q(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function U(t,e,n,r,i,o,a,s,u,l,c,f,h,d,p,m,g){return t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=u,t[8]=l,t[9]=c,t[10]=f,t[11]=h,t[12]=d,t[13]=p,t[14]=m,t[15]=g,t}function D(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function z(t,e){if(t===e){const n=e[1],r=e[2],i=e[3],o=e[6],a=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=o,t[11]=e[14],t[12]=i,t[13]=a,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function V(t,e){const n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],l=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15],w=n*s-r*a,y=n*u-i*a,b=n*l-o*a,M=r*u-i*s,x=r*l-o*s,k=i*l-o*u,T=c*m-f*p,E=c*g-h*p,S=c*v-d*p,_=f*g-h*m,F=f*v-d*m,A=h*v-d*g;let I=w*A-y*F+b*_+M*S-x*E+k*T;return I?(I=1/I,t[0]=(s*A-u*F+l*_)*I,t[1]=(i*F-r*A-o*_)*I,t[2]=(m*k-g*x+v*M)*I,t[3]=(h*x-f*k-d*M)*I,t[4]=(u*S-a*A-l*E)*I,t[5]=(n*A-i*S+o*E)*I,t[6]=(g*b-p*k-v*y)*I,t[7]=(c*k-h*b+d*y)*I,t[8]=(a*F-s*S+l*T)*I,t[9]=(r*S-n*F-o*T)*I,t[10]=(p*x-m*b+v*w)*I,t[11]=(f*b-c*x-d*w)*I,t[12]=(s*E-a*_-u*T)*I,t[13]=(n*_-r*E+i*T)*I,t[14]=(m*y-p*M-g*w)*I,t[15]=(c*M-f*y+h*w)*I,t):null}function W(t,e,n){const r=e[0],i=e[1],o=e[2],a=e[3],s=e[4],u=e[5],l=e[6],c=e[7],f=e[8],h=e[9],d=e[10],p=e[11],m=e[12],g=e[13],v=e[14],w=e[15];let y=n[0],b=n[1],M=n[2],x=n[3];return t[0]=y*r+b*s+M*f+x*m,t[1]=y*i+b*u+M*h+x*g,t[2]=y*o+b*l+M*d+x*v,t[3]=y*a+b*c+M*p+x*w,y=n[4],b=n[5],M=n[6],x=n[7],t[4]=y*r+b*s+M*f+x*m,t[5]=y*i+b*u+M*h+x*g,t[6]=y*o+b*l+M*d+x*v,t[7]=y*a+b*c+M*p+x*w,y=n[8],b=n[9],M=n[10],x=n[11],t[8]=y*r+b*s+M*f+x*m,t[9]=y*i+b*u+M*h+x*g,t[10]=y*o+b*l+M*d+x*v,t[11]=y*a+b*c+M*p+x*w,y=n[12],b=n[13],M=n[14],x=n[15],t[12]=y*r+b*s+M*f+x*m,t[13]=y*i+b*u+M*h+x*g,t[14]=y*o+b*l+M*d+x*v,t[15]=y*a+b*c+M*p+x*w,t}function J(t,e,n){const r=e[0],i=e[1],o=e[2],a=e[3],s=r+r,u=i+i,l=o+o,c=r*s,f=r*u,h=r*l,d=i*u,p=i*l,m=o*l,g=a*s,v=a*u,w=a*l;return t[0]=1-(d+m),t[1]=f+w,t[2]=h-v,t[3]=0,t[4]=f-w,t[5]=1-(c+m),t[6]=p+g,t[7]=0,t[8]=h+v,t[9]=p-g,t[10]=1-(c+d),t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t}Object.freeze(Object.defineProperty({__proto__:null,RANDOM:N,equals:function(t,e){return Math.abs(t-e)<=P*Math.max(1,Math.abs(t),Math.abs(e))},getEpsilon:$,setEpsilon:function(t){P=t},toDegree:function(t){return t*R},toRadian:function(t){return t*C}},Symbol.toStringTag,{value:"Module"}));const L=[0,0,0];function B(t,e,n){return t[0]=e[0]-n[0],t[1]=e[1]-n[1],t[2]=e[2]-n[2],t[3]=e[3]-n[3],t[4]=e[4]-n[4],t[5]=e[5]-n[5],t[6]=e[6]-n[6],t[7]=e[7]-n[7],t[8]=e[8]-n[8],t[9]=e[9]-n[9],t[10]=e[10]-n[10],t[11]=e[11]-n[11],t[12]=e[12]-n[12],t[13]=e[13]-n[13],t[14]=e[14]-n[14],t[15]=e[15]-n[15],t}Object.freeze(Object.defineProperty({__proto__:null,add:function(t,e,n){return t[0]=e[0]+n[0],t[1]=e[1]+n[1],t[2]=e[2]+n[2],t[3]=e[3]+n[3],t[4]=e[4]+n[4],t[5]=e[5]+n[5],t[6]=e[6]+n[6],t[7]=e[7]+n[7],t[8]=e[8]+n[8],t[9]=e[9]+n[9],t[10]=e[10]+n[10],t[11]=e[11]+n[11],t[12]=e[12]+n[12],t[13]=e[13]+n[13],t[14]=e[14]+n[14],t[15]=e[15]+n[15],t},adjoint:function(t,e){const n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],u=e[6],l=e[7],c=e[8],f=e[9],h=e[10],d=e[11],p=e[12],m=e[13],g=e[14],v=e[15];return t[0]=s*(h*v-d*g)-f*(u*v-l*g)+m*(u*d-l*h),t[1]=-(r*(h*v-d*g)-f*(i*v-o*g)+m*(i*d-o*h)),t[2]=r*(u*v-l*g)-s*(i*v-o*g)+m*(i*l-o*u),t[3]=-(r*(u*d-l*h)-s*(i*d-o*h)+f*(i*l-o*u)),t[4]=-(a*(h*v-d*g)-c*(u*v-l*g)+p*(u*d-l*h)),t[5]=n*(h*v-d*g)-c*(i*v-o*g)+p*(i*d-o*h),t[6]=-(n*(u*v-l*g)-a*(i*v-o*g)+p*(i*l-o*u)),t[7]=n*(u*d-l*h)-a*(i*d-o*h)+c*(i*l-o*u),t[8]=a*(f*v-d*m)-c*(s*v-l*m)+p*(s*d-l*f),t[9]=-(n*(f*v-d*m)-c*(r*v-o*m)+p*(r*d-o*f)),t[10]=n*(s*v-l*m)-a*(r*v-o*m)+p*(r*l-o*s),t[11]=-(n*(s*d-l*f)-a*(r*d-o*f)+c*(r*l-o*s)),t[12]=-(a*(f*g-h*m)-c*(s*g-u*m)+p*(s*h-u*f)),t[13]=n*(f*g-h*m)-c*(r*g-i*m)+p*(r*h-i*f),t[14]=-(n*(s*g-u*m)-a*(r*g-i*m)+p*(r*u-i*s)),t[15]=n*(s*h-u*f)-a*(r*h-i*f)+c*(r*u-i*s),t},copy:q,determinant:function(t){const e=t[0],n=t[1],r=t[2],i=t[3],o=t[4],a=t[5],s=t[6],u=t[7],l=t[8],c=t[9],f=t[10],h=t[11],d=t[12],p=t[13],m=t[14],g=t[15];return(e*a-n*o)*(f*g-h*m)-(e*s-r*o)*(c*g-h*p)+(e*u-i*o)*(c*m-f*p)+(n*s-r*a)*(l*g-h*d)-(n*u-i*a)*(l*m-f*d)+(r*u-i*s)*(l*p-c*d)},equals:function(t,e){if(t===e)return!0;const n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],u=t[6],l=t[7],c=t[8],f=t[9],h=t[10],d=t[11],p=t[12],m=t[13],g=t[14],v=t[15],w=e[0],y=e[1],b=e[2],M=e[3],x=e[4],k=e[5],T=e[6],E=e[7],S=e[8],_=e[9],F=e[10],A=e[11],I=e[12],O=e[13],j=e[14],P=e[15],N=$();return Math.abs(n-w)<=N*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(r-y)<=N*Math.max(1,Math.abs(r),Math.abs(y))&&Math.abs(i-b)<=N*Math.max(1,Math.abs(i),Math.abs(b))&&Math.abs(o-M)<=N*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(a-x)<=N*Math.max(1,Math.abs(a),Math.abs(x))&&Math.abs(s-k)<=N*Math.max(1,Math.abs(s),Math.abs(k))&&Math.abs(u-T)<=N*Math.max(1,Math.abs(u),Math.abs(T))&&Math.abs(l-E)<=N*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(c-S)<=N*Math.max(1,Math.abs(c),Math.abs(S))&&Math.abs(f-_)<=N*Math.max(1,Math.abs(f),Math.abs(_))&&Math.abs(h-F)<=N*Math.max(1,Math.abs(h),Math.abs(F))&&Math.abs(d-A)<=N*Math.max(1,Math.abs(d),Math.abs(A))&&Math.abs(p-I)<=N*Math.max(1,Math.abs(p),Math.abs(I))&&Math.abs(m-O)<=N*Math.max(1,Math.abs(m),Math.abs(O))&&Math.abs(g-j)<=N*Math.max(1,Math.abs(g),Math.abs(j))&&Math.abs(v-P)<=N*Math.max(1,Math.abs(v),Math.abs(P))},exactEquals:function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]},frob:function(t){return Math.sqrt(t[0]**2+t[1]**2+t[2]**2+t[3]**2+t[4]**2+t[5]**2+t[6]**2+t[7]**2+t[8]**2+t[9]**2+t[10]**2+t[11]**2+t[12]**2+t[13]**2+t[14]**2+t[15]**2)},fromQuat:function(t,e){const n=e[0],r=e[1],i=e[2],o=e[3],a=n+n,s=r+r,u=i+i,l=n*a,c=r*a,f=r*s,h=i*a,d=i*s,p=i*u,m=o*a,g=o*s,v=o*u;return t[0]=1-f-p,t[1]=c+v,t[2]=h-g,t[3]=0,t[4]=c-v,t[5]=1-l-p,t[6]=d+m,t[7]=0,t[8]=h+g,t[9]=d-m,t[10]=1-l-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromQuat2:function(t,e){const n=L,r=-e[0],i=-e[1],o=-e[2],a=e[3],s=e[4],u=e[5],l=e[6],c=e[7],f=r*r+i*i+o*o+a*a;return f>0?(n[0]=2*(s*a+c*r+u*o-l*i)/f,n[1]=2*(u*a+c*i+l*r-s*o)/f,n[2]=2*(l*a+c*o+s*i-u*r)/f):(n[0]=2*(s*a+c*r+u*o-l*i),n[1]=2*(u*a+c*i+l*r-s*o),n[2]=2*(l*a+c*o+s*i-u*r)),J(t,e,n),t},fromRotation:function(t,e,n){if(0===e)return D(t);let r=n[0],i=n[1],o=n[2],a=Math.sqrt(r*r+i*i+o*o);if(a<=$())return null;a=1/a,r*=a,i*=a,o*=a;const s=Math.sin(e),u=Math.cos(e),l=1-u;return t[0]=r*r*l+u,t[1]=i*r*l+o*s,t[2]=o*r*l-i*s,t[3]=0,t[4]=r*i*l-o*s,t[5]=i*i*l+u,t[6]=o*i*l+r*s,t[7]=0,t[8]=r*o*l+i*s,t[9]=i*o*l-r*s,t[10]=o*o*l+u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromRotationTranslation:J,fromRotationTranslationScale:function(t,e,n,r){const i=e[0],o=e[1],a=e[2],s=e[3],u=i+i,l=o+o,c=a+a,f=i*u,h=i*l,d=i*c,p=o*l,m=o*c,g=a*c,v=s*u,w=s*l,y=s*c,b=r[0],M=r[1],x=r[2];return t[0]=(1-(p+g))*b,t[1]=(h+y)*b,t[2]=(d-w)*b,t[3]=0,t[4]=(h-y)*M,t[5]=(1-(f+g))*M,t[6]=(m+v)*M,t[7]=0,t[8]=(d+w)*x,t[9]=(m-v)*x,t[10]=(1-(f+p))*x,t[11]=0,t[12]=n[0],t[13]=n[1],t[14]=n[2],t[15]=1,t},fromRotationTranslationScaleOrigin:function(t,e,n,r,i){const o=e[0],a=e[1],s=e[2],u=e[3],l=o+o,c=a+a,f=s+s,h=o*l,d=o*c,p=o*f,m=a*c,g=a*f,v=s*f,w=u*l,y=u*c,b=u*f,M=r[0],x=r[1],k=r[2],T=i[0],E=i[1],S=i[2],_=(1-(m+v))*M,F=(d+b)*M,A=(p-y)*M,I=(d-b)*x,O=(1-(h+v))*x,j=(g+w)*x,P=(p+y)*k,$=(g-w)*k,N=(1-(h+m))*k;return t[0]=_,t[1]=F,t[2]=A,t[3]=0,t[4]=I,t[5]=O,t[6]=j,t[7]=0,t[8]=P,t[9]=$,t[10]=N,t[11]=0,t[12]=n[0]+T-(_*T+I*E+P*S),t[13]=n[1]+E-(F*T+O*E+$*S),t[14]=n[2]+S-(A*T+j*E+N*S),t[15]=1,t},fromScaling:function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromTranslation:function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t},fromXRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=r,t[6]=n,t[7]=0,t[8]=0,t[9]=-n,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromYRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=0,t[2]=-n,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=n,t[9]=0,t[10]=r,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},fromZRotation:function(t,e){const n=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=n,t[2]=0,t[3]=0,t[4]=-n,t[5]=r,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},frustum:function(t,e,n,r,i,o,a){const s=1/(n-e),u=1/(i-r),l=1/(o-a);return t[0]=2*o*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*o*u,t[6]=0,t[7]=0,t[8]=(n+e)*s,t[9]=(i+r)*u,t[10]=(a+o)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*o*2*l,t[15]=0,t},getRotation:function(t,e){const n=e[0]+e[5]+e[10];let r=0;return n>0?(r=2*Math.sqrt(n+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t},getScaling:function(t,e){const n=e[0],r=e[1],i=e[2],o=e[4],a=e[5],s=e[6],u=e[8],l=e[9],c=e[10];return t[0]=Math.sqrt(n*n+r*r+i*i),t[1]=Math.sqrt(o*o+a*a+s*s),t[2]=Math.sqrt(u*u+l*l+c*c),t},getTranslation:function(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t},hasIdentityRotation:function(t){return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[8]&&0===t[9]&&1===t[10]},identity:D,invert:V,invertOrIdentity:function(t,e){return V(t,e)||D(t),t},isOrthoNormal:function(t){const e=$(),n=t[0],r=t[1],i=t[2],o=t[4],a=t[5],s=t[6],u=t[8],l=t[9],c=t[10];return Math.abs(1-(n*n+o*o+u*u))<=e&&Math.abs(1-(r*r+a*a+l*l))<=e&&Math.abs(1-(i*i+s*s+c*c))<=e},lookAt:function(t,e,n,r){const i=e[0],o=e[1],a=e[2];let s=i-n[0],u=o-n[1],l=a-n[2];const c=$();if(Math.abs(s)<c&&Math.abs(u)<c&&Math.abs(l)<c)return void D(t);let f=1/Math.sqrt(s*s+u*u+l*l);s*=f,u*=f,l*=f;const h=r[0],d=r[1],p=r[2];let m=d*l-p*u,g=p*s-h*l,v=h*u-d*s;f=Math.sqrt(m*m+g*g+v*v),f?(f=1/f,m*=f,g*=f,v*=f):(m=0,g=0,v=0);let w=u*v-l*g,y=l*m-s*v,b=s*g-u*m;f=Math.sqrt(w*w+y*y+b*b),f?(f=1/f,w*=f,y*=f,b*=f):(w=0,y=0,b=0),t[0]=m,t[1]=w,t[2]=s,t[3]=0,t[4]=g,t[5]=y,t[6]=u,t[7]=0,t[8]=v,t[9]=b,t[10]=l,t[11]=0,t[12]=-(m*i+g*o+v*a),t[13]=-(w*i+y*o+b*a),t[14]=-(s*i+u*o+l*a),t[15]=1},mul:W,multiply:W,multiplyScalar:function(t,e,n){return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*n,t[9]=e[9]*n,t[10]=e[10]*n,t[11]=e[11]*n,t[12]=e[12]*n,t[13]=e[13]*n,t[14]=e[14]*n,t[15]=e[15]*n,t},multiplyScalarAndAdd:function(t,e,n,r){return t[0]=e[0]+n[0]*r,t[1]=e[1]+n[1]*r,t[2]=e[2]+n[2]*r,t[3]=e[3]+n[3]*r,t[4]=e[4]+n[4]*r,t[5]=e[5]+n[5]*r,t[6]=e[6]+n[6]*r,t[7]=e[7]+n[7]*r,t[8]=e[8]+n[8]*r,t[9]=e[9]+n[9]*r,t[10]=e[10]+n[10]*r,t[11]=e[11]+n[11]*r,t[12]=e[12]+n[12]*r,t[13]=e[13]+n[13]*r,t[14]=e[14]+n[14]*r,t[15]=e[15]+n[15]*r,t},ortho:function(t,e,n,r,i,o,a){const s=1/(e-n),u=1/(r-i),l=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*u,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+n)*s,t[13]=(i+r)*u,t[14]=(a+o)*l,t[15]=1,t},perspective:function(t,e,n,r,i){const o=1/Math.tan(e/2);let a;return t[0]=o/n,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=i&&i!==1/0?(a=1/(r-i),t[10]=(i+r)*a,t[14]=2*i*r*a):(t[10]=-1,t[14]=-2*r),t},perspectiveFromFieldOfView:function(t,e,n,r){const i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),u=2/(a+s),l=2/(i+o);return t[0]=u,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-(a-s)*u*.5,t[9]=(i-o)*l*.5,t[10]=r/(n-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*n/(n-r),t[15]=0,t},rotate:function(t,e,n,r){let i=r[0],o=r[1],a=r[2],s=Math.sqrt(i*i+o*o+a*a);if(s<=$())return void q(t,e);s=1/s,i*=s,o*=s,a*=s;const u=Math.sin(n),l=Math.cos(n),c=1-l,f=e[0],h=e[1],d=e[2],p=e[3],m=e[4],g=e[5],v=e[6],w=e[7],y=e[8],b=e[9],M=e[10],x=e[11],k=i*i*c+l,T=o*i*c+a*u,E=a*i*c-o*u,S=i*o*c-a*u,_=o*o*c+l,F=a*o*c+i*u,A=i*a*c+o*u,I=o*a*c-i*u,O=a*a*c+l;t[0]=f*k+m*T+y*E,t[1]=h*k+g*T+b*E,t[2]=d*k+v*T+M*E,t[3]=p*k+w*T+x*E,t[4]=f*S+m*_+y*F,t[5]=h*S+g*_+b*F,t[6]=d*S+v*_+M*F,t[7]=p*S+w*_+x*F,t[8]=f*A+m*I+y*O,t[9]=h*A+g*I+b*O,t[10]=d*A+v*I+M*O,t[11]=p*A+w*I+x*O,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15])},rotateX:function(t,e,n){const r=Math.sin(n),i=Math.cos(n),o=e[4],a=e[5],s=e[6],u=e[7],l=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=o*i+l*r,t[5]=a*i+c*r,t[6]=s*i+f*r,t[7]=u*i+h*r,t[8]=l*i-o*r,t[9]=c*i-a*r,t[10]=f*i-s*r,t[11]=h*i-u*r,t},rotateY:function(t,e,n){const r=Math.sin(n),i=Math.cos(n),o=e[0],a=e[1],s=e[2],u=e[3],l=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i-l*r,t[1]=a*i-c*r,t[2]=s*i-f*r,t[3]=u*i-h*r,t[8]=o*r+l*i,t[9]=a*r+c*i,t[10]=s*r+f*i,t[11]=u*r+h*i,t},rotateZ:function(t,e,n){const r=Math.sin(n),i=Math.cos(n),o=e[0],a=e[1],s=e[2],u=e[3],l=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=o*i+l*r,t[1]=a*i+c*r,t[2]=s*i+f*r,t[3]=u*i+h*r,t[4]=l*i-o*r,t[5]=c*i-a*r,t[6]=f*i-s*r,t[7]=h*i-u*r,t},scale:function(t,e,n){const r=n[0],i=n[1],o=n[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},set:U,str:function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"},sub:B,subtract:B,targetTo:function(t,e,n,r){const i=e[0],o=e[1],a=e[2],s=r[0],u=r[1],l=r[2];let c=i-n[0],f=o-n[1],h=a-n[2],d=c*c+f*f+h*h;d>0&&(d=1/Math.sqrt(d),c*=d,f*=d,h*=d);let p=u*h-l*f,m=l*c-s*h,g=s*f-u*c;return d=p*p+m*m+g*g,d>0&&(d=1/Math.sqrt(d),p*=d,m*=d,g*=d),t[0]=p,t[1]=m,t[2]=g,t[3]=0,t[4]=f*g-h*m,t[5]=h*p-c*g,t[6]=c*m-f*p,t[7]=0,t[8]=c,t[9]=f,t[10]=h,t[11]=0,t[12]=i,t[13]=o,t[14]=a,t[15]=1,t},translate:function(t,e,n){const r=n[0],i=n[1],o=n[2];if(e===t)t[12]=e[0]*r+e[4]*i+e[8]*o+e[12],t[13]=e[1]*r+e[5]*i+e[9]*o+e[13],t[14]=e[2]*r+e[6]*i+e[10]*o+e[14],t[15]=e[3]*r+e[7]*i+e[11]*o+e[15];else{const n=e[0],a=e[1],s=e[2],u=e[3],l=e[4],c=e[5],f=e[6],h=e[7],d=e[8],p=e[9],m=e[10],g=e[11];t[0]=n,t[1]=a,t[2]=s,t[3]=u,t[4]=l,t[5]=c,t[6]=f,t[7]=h,t[8]=d,t[9]=p,t[10]=m,t[11]=g,t[12]=n*r+l*i+d*o+e[12],t[13]=a*r+c*i+p*o+e[13],t[14]=s*r+f*i+m*o+e[14],t[15]=u*r+h*i+g*o+e[15]}return t},transpose:z},Symbol.toStringTag,{value:"Module"}));class Y{constructor(t,e,n){this.strength=t,this.radius=e,this.threshold=n,this.type="bloom"}interpolate(t,e,n){this.strength=Q(t.strength,e.strength,n),this.radius=Q(t.radius,e.radius,n),this.threshold=Q(t.threshold,e.threshold,n)}clone(){return new Y(this.strength,this.radius,this.threshold)}toJSON(){return{type:"bloom",radius:tt(this.radius),strength:this.strength,threshold:this.threshold}}}class Z{constructor(t){this.radius=t,this.type="blur"}interpolate(t,e,n){this.radius=Math.round(Q(t.radius,e.radius,n))}clone(){return new Z(this.radius)}toJSON(){return{type:"blur",radius:tt(this.radius)}}}class X{constructor(t,e){this.type=t,this.amount=e,"invert"!==this.type&&"grayscale"!==this.type&&"sepia"!==this.type||(this.amount=Math.min(this.amount,1))}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,e,n){this.amount=Q(t.amount,e.amount,n),this._updateMatrix()}clone(){return new X(this.type,this.amount)}toJSON(){return{type:this.type,amount:this.amount}}_updateMatrix(){const t=this._colorMatrix||x();switch(this.type){case"brightness":this._colorMatrix=((t,e)=>{const n=U(t,e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1);return z(n,n)})(t,this.amount);break;case"contrast":this._colorMatrix=((t,e)=>{const n=U(t,e,0,0,.5-.5*e,0,e,0,.5-.5*e,0,0,e,.5-.5*e,0,0,0,1);return z(n,n)})(t,this.amount);break;case"grayscale":this._colorMatrix=(t=>{const e=1-this.amount,n=U(t,.2126+.7874*e,.7152-.7152*e,.0722-.0722*e,0,.2126-.2126*e,.7152+.2848*e,.0722-.0722*e,0,.2126-.2126*e,.7152-.7152*e,.0722+.9278*e,0,0,0,0,1);return z(n,n)})(t);break;case"invert":this._colorMatrix=((t,e)=>{const n=1-2*e,r=U(t,n,0,0,e,0,n,0,e,0,0,n,e,0,0,0,1);return z(r,r)})(t,this.amount);break;case"saturate":this._colorMatrix=((t,e)=>{const n=U(t,.213+.787*e,.715-.715*e,.072-.072*e,0,.213-.213*e,.715+.285*e,.072-.072*e,0,.213-.213*e,.715-.715*e,.072+.928*e,0,0,0,0,1);return z(n,n)})(t,this.amount);break;case"sepia":this._colorMatrix=(t=>{const e=1-this.amount,n=U(t,.393+.607*e,.769-.769*e,.189-.189*e,0,.349-.349*e,.686+.314*e,.168-.168*e,0,.272-.272*e,.534-.534*e,.131+.869*e,0,0,0,0,1);return z(n,n)})(t)}}}class G{constructor(t,e,n,r){this.offsetX=t,this.offsetY=e,this.blurRadius=n,this.color=r,this.type="drop-shadow"}interpolate(t,e,n){this.offsetX=Q(t.offsetX,e.offsetX,n),this.offsetY=Q(t.offsetY,e.offsetY,n),this.blurRadius=Q(t.blurRadius,e.blurRadius,n),this.color[0]=Math.round(Q(t.color[0],e.color[0],n)),this.color[1]=Math.round(Q(t.color[1],e.color[1],n)),this.color[2]=Math.round(Q(t.color[2],e.color[2],n)),this.color[3]=Q(t.color[3],e.color[3],n)}clone(){return new G(this.offsetX,this.offsetY,this.blurRadius,[...this.color])}toJSON(){const t=[...this.color];return t[3]*=255,{type:"drop-shadow",xoffset:tt(this.offsetX),yoffset:tt(this.offsetY),blurRadius:tt(this.blurRadius),color:t}}}class H{constructor(t){this.angle=t,this.type="hue-rotate"}get colorMatrix(){return this._colorMatrix||this._updateMatrix(),this._colorMatrix}interpolate(t,e,n){this.angle=Q(t.angle,e.angle,n),this._updateMatrix()}clone(){return new H(this.angle)}toJSON(){return{type:"hue-rotate",angle:this.angle}}_updateMatrix(){const t=this._colorMatrix||x();this._colorMatrix=((t,e)=>{const n=Math.sin(e*Math.PI/180),r=Math.cos(e*Math.PI/180),i=U(t,.213+.787*r-.213*n,.715-.715*r-.715*n,.072-.072*r+.928*n,0,.213-.213*r+.143*n,.715+.285*r+.14*n,.072-.072*r-.283*n,0,.213-.213*r-.787*n,.715-.715*r+.715*n,.072+.928*r+.072*n,0,0,0,0,1);return z(i,i)})(t,this.angle)}}class K{constructor(t){this.amount=t,this.type="opacity",this.amount=Math.min(this.amount,1)}interpolate(t,e,n){this.amount=Q(t.amount,e.amount,n)}clone(){return new K(this.amount)}toJSON(){return{type:"opacity",amount:this.amount}}}function Q(t,e,n){return t+(e-t)*n}function tt(t){return Math.round(1e3*((e=t)?72*e/96:0))/1e3;var e}function et(t){switch(t.type){case"grayscale":case"sepia":case"invert":return new X(t.type,0);case"saturate":case"brightness":case"contrast":return new X(t.type,1);case"opacity":return new K(1);case"hue-rotate":return new H(0);case"blur":return new Z(0);case"drop-shadow":return new G(0,0,0,[...b("transparent")]);case"bloom":return new Y(0,0,1)}}function nt(t,e){const n=t.length>e.length?t:e;return(t.length>e.length?e:t).every(((t,e)=>t.type===n[e].type))}function rt(t,e){const n=t.length>e.length?t:e,r=t.length>e.length?e:t;for(let t=r.length;t<n.length;t++)r.push(et(n[t]))}function it(t,e,n,r){var i=Error.call(this,t);return Object.setPrototypeOf&&Object.setPrototypeOf(i,it.prototype),i.expected=e,i.found=n,i.location=r,i.name="SyntaxError",i}function ot(t,e,n){return n=n||" ",t.length>e?t:t+(n+=n.repeat(e-=t.length)).slice(0,e)}function at(t){if(!t||0===t.length)return null;if("string"==typeof t){const e=st(t);return e&&0!==e.length?e:null}const e=t.map((t=>{if(!Number.isFinite(t.scale)||t.scale<=0)throw new w("effect:invalid-scale","scale must be finite and greater than 0",{stop:t});return{scale:t.scale,effects:st(t.value)}}));e.sort(((t,e)=>e.effects.length-t.effects.length));for(let t=0;t<e.length-1;t++){if(!nt(e[t].effects,e[t+1].effects))throw new w("effect:interpolation-impossible","Cannot interpolate by scale between 2 lists of mixed effects",{a:e[t].effects,b:e[t+1].effects});rt(e[t].effects,e[t+1].effects)}return e.sort(((t,e)=>e.scale-t.scale)),e}function st(t){let e;if(!t)return[];try{e=function(t,e){var n,r={},i=(e=void 0!==e?e:{}).grammarSource,o={start:Jt},a=Jt,s="none",u=")",l=",",c="(",f="%",h="px",d="cm",p="mm",m="in",g="pt",v="pc",w="deg",y="rad",b="grad",M="turn",x="#",k=".",T="e",E=/^[ \t\n\r]/,S=/^[a-z\-]/,_=/^[0-9a-fA-F]/,F=/^[+\-]/,A=/^[0-9]/,I=zt("none"),O=Ut("none",!1),j=Ut(")",!1),P=Ut(",",!1),$=zt("whitespace"),N=Dt([" ","\t","\n","\r"],!1,!1),C=zt("function"),R=Ut("(",!1),q=zt("identifier"),U=Dt([["a","z"],"-"],!1,!1),D=zt("percentage"),z=Ut("%",!1),V=zt("length"),W=Ut("px",!1),J=Ut("cm",!1),L=Ut("mm",!1),B=Ut("in",!1),Y=Ut("pt",!1),Z=Ut("pc",!1),X=zt("angle"),G=Ut("deg",!1),H=Ut("rad",!1),K=Ut("grad",!1),Q=Ut("turn",!1),tt=zt("number"),et=zt("color"),nt=Ut("#",!1),rt=Dt([["0","9"],["a","f"],["A","F"]],!1,!1),ot=Dt(["+","-"],!1,!1),at=Dt([["0","9"]],!1,!1),st=Ut(".",!1),ut=Ut("e",!1),lt=function(){return[]},ct=function(t,e){return{type:"function",name:t,parameters:e||[]}},ft=function(t,e){return e.length>0?function(t,e){return[t].concat(function(t){return t.map((function(t){return t[3]}))}(e))}(t,e):[t]},ht=function(t){return{type:"quantity",value:t.value,unit:t.unit}},dt=function(t){return{type:"color",colorType:t.type,value:t.value}},pt=function(t){return t},mt=function(){return qt()},gt=function(t){return{value:t,unit:"%"}},vt=function(t){return{value:t,unit:"px"}},wt=function(t){return{value:t,unit:"cm"}},yt=function(t){return{value:t,unit:"mm"}},bt=function(t){return{value:t,unit:"in"}},Mt=function(t){return{value:t,unit:"pt"}},xt=function(t){return{value:t,unit:"pc"}},kt=function(t){return{value:t,unit:"deg"}},Tt=function(t){return{value:t,unit:"rad"}},Et=function(t){return{value:t,unit:"grad"}},St=function(t){return{value:t,unit:"turn"}},_t=function(t){return{value:t,unit:null}},Ft=function(){return{type:"hex",value:qt()}},At=function(t){return{type:"function",value:t}},It=function(){return{type:"named",value:qt()}},Ot=function(){return parseFloat(qt())},jt=0|e.peg$currPos,Pt=jt,$t=[{line:1,column:1}],Nt=jt,Ct=e.peg$maxFailExpected||[],Rt=0|e.peg$silentFails;if(e.startRule){if(!(e.startRule in o))throw new Error("Can't start parsing from rule \""+e.startRule+'".');a=o[e.startRule]}function qt(){return t.substring(Pt,jt)}function Ut(t,e){return{type:"literal",text:t,ignoreCase:e}}function Dt(t,e,n){return{type:"class",parts:t,inverted:e,ignoreCase:n}}function zt(t){return{type:"other",description:t}}function Vt(e){var n,r=$t[e];if(r)return r;if(e>=$t.length)n=$t.length-1;else for(n=e;!$t[--n];);for(r={line:(r=$t[n]).line,column:r.column};n<e;)10===t.charCodeAt(n)?(r.line++,r.column=1):r.column++,n++;return $t[e]=r,r}function Wt(t){jt<Nt||(jt>Nt&&(Nt=jt,Ct=[]),Ct.push(t))}function Jt(){var t;return(t=Lt())===r&&(t=function(){var t,e;if(t=[],(e=Bt())!==r)for(;e!==r;)t.push(e),e=Bt();else t=r;return t}()),t}function Lt(){var e,n;return Rt++,e=jt,Zt(),t.substr(jt,4)===s?(n=s,jt+=4):(n=r,0===Rt&&Wt(O)),n!==r?(Zt(),Pt=e,e=lt()):(jt=e,e=r),Rt--,e===r&&0===Rt&&Wt(I),e}function Bt(){var e,n,i,o;return e=jt,Zt(),(n=function(){var e,n,i;return Rt++,e=jt,(n=Xt())!==r?(40===t.charCodeAt(jt)?(i=c,jt++):(i=r,0===Rt&&Wt(R)),i!==r?(Pt=e,e=pt(n)):(jt=e,e=r)):(jt=e,e=r),Rt--,e===r&&(n=r,0===Rt&&Wt(C)),e}())!==r?(Zt(),(i=function(){var e,n,i,o,a,s,u,c;if(e=jt,(n=Yt())!==r){for(i=[],o=jt,a=Zt(),44===t.charCodeAt(jt)?(s=l,jt++):(s=r,0===Rt&&Wt(P)),s===r&&(s=null),u=Zt(),(c=Yt())!==r?o=a=[a,s,u,c]:(jt=o,o=r);o!==r;)i.push(o),o=jt,a=Zt(),44===t.charCodeAt(jt)?(s=l,jt++):(s=r,0===Rt&&Wt(P)),s===r&&(s=null),u=Zt(),(c=Yt())!==r?o=a=[a,s,u,c]:(jt=o,o=r);Pt=e,e=ft(n,i)}else jt=e,e=r;return e}())===r&&(i=null),Zt(),41===t.charCodeAt(jt)?(o=u,jt++):(o=r,0===Rt&&Wt(j)),o!==r?(Zt(),Pt=e,e=ct(n,i)):(jt=e,e=r)):(jt=e,e=r),e}function Yt(){var t,e;return t=jt,(e=Gt())===r&&(e=Ht())===r&&(e=Kt())===r&&(e=function(){var t,e;return Rt++,t=jt,Zt(),(e=te())!==r?(Pt=t,t=_t(e)):(jt=t,t=r),Rt--,t===r&&0===Rt&&Wt(tt),t}()),e!==r&&(Pt=t,e=ht(e)),(t=e)===r&&(t=jt,(e=Qt())!==r&&(Pt=t,e=dt(e)),t=e),t}function Zt(){var e,n;for(Rt++,e=[],n=t.charAt(jt),E.test(n)?jt++:(n=r,0===Rt&&Wt(N));n!==r;)e.push(n),n=t.charAt(jt),E.test(n)?jt++:(n=r,0===Rt&&Wt(N));return Rt--,n=r,0===Rt&&Wt($),e}function Xt(){var e,n,i;if(Rt++,e=jt,n=[],i=t.charAt(jt),S.test(i)?jt++:(i=r,0===Rt&&Wt(U)),i!==r)for(;i!==r;)n.push(i),i=t.charAt(jt),S.test(i)?jt++:(i=r,0===Rt&&Wt(U));else n=r;return n!==r&&(Pt=e,n=mt()),Rt--,(e=n)===r&&(n=r,0===Rt&&Wt(q)),e}function Gt(){var e,n,i;return Rt++,e=jt,Zt(),(n=te())!==r?(37===t.charCodeAt(jt)?(i=f,jt++):(i=r,0===Rt&&Wt(z)),i!==r?(Pt=e,e=gt(n)):(jt=e,e=r)):(jt=e,e=r),Rt--,e===r&&0===Rt&&Wt(D),e}function Ht(){var e,n,i;return Rt++,e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===h?(i=h,jt+=2):(i=r,0===Rt&&Wt(W)),i!==r?(Pt=e,e=vt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===d?(i=d,jt+=2):(i=r,0===Rt&&Wt(J)),i!==r?(Pt=e,e=wt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===p?(i=p,jt+=2):(i=r,0===Rt&&Wt(L)),i!==r?(Pt=e,e=yt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===m?(i=m,jt+=2):(i=r,0===Rt&&Wt(B)),i!==r?(Pt=e,e=bt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===g?(i=g,jt+=2):(i=r,0===Rt&&Wt(Y)),i!==r?(Pt=e,e=Mt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,Zt(),(n=te())!==r?(t.substr(jt,2)===v?(i=v,jt+=2):(i=r,0===Rt&&Wt(Z)),i!==r?(Pt=e,e=xt(n)):(jt=e,e=r)):(jt=e,e=r)))))),Rt--,e===r&&0===Rt&&Wt(V),e}function Kt(){var e,n,i;return Rt++,e=jt,(n=te())!==r?(t.substr(jt,3)===w?(i=w,jt+=3):(i=r,0===Rt&&Wt(G)),i!==r?(Pt=e,e=kt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,(n=te())!==r?(t.substr(jt,3)===y?(i=y,jt+=3):(i=r,0===Rt&&Wt(H)),i!==r?(Pt=e,e=Tt(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,(n=te())!==r?(t.substr(jt,4)===b?(i=b,jt+=4):(i=r,0===Rt&&Wt(K)),i!==r?(Pt=e,e=Et(n)):(jt=e,e=r)):(jt=e,e=r),e===r&&(e=jt,(n=te())!==r?(t.substr(jt,4)===M?(i=M,jt+=4):(i=r,0===Rt&&Wt(Q)),i!==r?(Pt=e,e=St(n)):(jt=e,e=r)):(jt=e,e=r)))),Rt--,e===r&&(n=r,0===Rt&&Wt(X)),e}function Qt(){var e,n,i,o;if(Rt++,e=jt,35===t.charCodeAt(jt)?(n=x,jt++):(n=r,0===Rt&&Wt(nt)),n!==r){if(i=[],o=t.charAt(jt),_.test(o)?jt++:(o=r,0===Rt&&Wt(rt)),o!==r)for(;o!==r;)i.push(o),o=t.charAt(jt),_.test(o)?jt++:(o=r,0===Rt&&Wt(rt));else i=r;i!==r?(Pt=e,e=Ft()):(jt=e,e=r)}else jt=e,e=r;return e===r&&(e=jt,(n=Bt())!==r&&(Pt=e,n=At(n)),(e=n)===r&&(e=jt,(n=Xt())!==r&&(Pt=e,n=It()),e=n)),Rt--,e===r&&(n=r,0===Rt&&Wt(et)),e}function te(){var e,n,i,o,a,s,u,l;for(e=jt,n=t.charAt(jt),F.test(n)?jt++:(n=r,0===Rt&&Wt(ot)),n===r&&(n=null),i=jt,o=[],a=t.charAt(jt),A.test(a)?jt++:(a=r,0===Rt&&Wt(at));a!==r;)o.push(a),a=t.charAt(jt),A.test(a)?jt++:(a=r,0===Rt&&Wt(at));if(46===t.charCodeAt(jt)?(a=k,jt++):(a=r,0===Rt&&Wt(st)),a!==r){if(s=[],u=t.charAt(jt),A.test(u)?jt++:(u=r,0===Rt&&Wt(at)),u!==r)for(;u!==r;)s.push(u),u=t.charAt(jt),A.test(u)?jt++:(u=r,0===Rt&&Wt(at));else s=r;s!==r?i=o=[o,a,s]:(jt=i,i=r)}else jt=i,i=r;if(i===r)if(i=[],o=t.charAt(jt),A.test(o)?jt++:(o=r,0===Rt&&Wt(at)),o!==r)for(;o!==r;)i.push(o),o=t.charAt(jt),A.test(o)?jt++:(o=r,0===Rt&&Wt(at));else i=r;if(i!==r){if(o=jt,101===t.charCodeAt(jt)?(a=T,jt++):(a=r,0===Rt&&Wt(ut)),a!==r){if(s=t.charAt(jt),F.test(s)?jt++:(s=r,0===Rt&&Wt(ot)),s===r&&(s=null),u=[],l=t.charAt(jt),A.test(l)?jt++:(l=r,0===Rt&&Wt(at)),l!==r)for(;l!==r;)u.push(l),l=t.charAt(jt),A.test(l)?jt++:(l=r,0===Rt&&Wt(at));else u=r;u!==r?o=a=[a,s,u]:(jt=o,o=r)}else jt=o,o=r;o===r&&(o=null),Pt=e,e=Ot()}else jt=e,e=r;return e}if(n=a(),e.peg$library)return{peg$result:n,peg$currPos:jt,peg$FAILED:r,peg$maxFailExpected:Ct,peg$maxFailPos:Nt};if(n!==r&&jt===t.length)return n;throw n!==r&&jt<t.length&&Wt({type:"end"}),function(t,e,n){return new it(it.buildMessage(t,e),t,e,n)}(Ct,Nt<t.length?t.charAt(Nt):null,function(t,e){var n=Vt(t),r=Vt(e);return{source:i,start:{offset:t,line:n.line,column:n.column},end:{offset:e,line:r.line,column:r.column}}}(Nt,Nt<t.length?Nt+1:Nt))}(t)}catch(e){throw new w("effect:invalid-syntax","Invalid effect syntax",{value:t,error:e})}return e.map((t=>function(t){try{switch(t.name){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":return function(t){let e=1;return ut(t.parameters,1),1===t.parameters.length&&(e=dt(t.parameters[0])),new X(t.name,e)}(t);case"opacity":return function(t){let e=1;return ut(t.parameters,1),1===t.parameters.length&&(e=dt(t.parameters[0])),new K(e)}(t);case"hue-rotate":return function(t){let e=0;return ut(t.parameters,1),1===t.parameters.length&&(e=function(t){return function(t){if("quantity"!==t.type||!(0===t.value&&null===t.unit||t.unit&&null!=ft[t.unit]))throw new w("effect:type-error",`Expected <angle>, Actual: ${lt(t)}`,{term:t})}(t),t.value*ft[t.unit]||0}(t.parameters[0])),new H(e)}(t);case"blur":return function(t){let e=0;return ut(t.parameters,1),1===t.parameters.length&&(e=pt(t.parameters[0]),ct(e,t.parameters[0])),new Z(e)}(t);case"drop-shadow":return function(t){const e=[];let n=null;for(const r of t.parameters)if("color"===r.type){if(e.length&&Object.freeze(e),n)throw new w("effect:type-error","Accepts only one color",{});n=mt(r)}else{const t=pt(r);if(Object.isFrozen(e))throw new w("effect:type-error","<length> parameters not consecutive",{lengths:e});e.push(t),3===e.length&&ct(t,r)}if(e.length<2||e.length>3)throw new w("effect:type-error",`Expected <length>{2,3}, Actual: <length>{${e.length}}`,{lengths:e});return new G(e[0],e[1],e[2]||0,n||gt("black"))}(t);case"bloom":return function(t){let e=1,n=0,r=0;return ut(t.parameters,3),t.parameters[0]&&(e=dt(t.parameters[0])),t.parameters[1]&&(n=pt(t.parameters[1]),ct(n,t.parameters[1])),t.parameters[2]&&(r=dt(t.parameters[2])),new Y(e,n,r)}(t)}}catch(e){throw e.details.filter=t,e}throw new w("effect:unknown-effect",`Effect '${t.name}' is not supported`,{effect:t})}(t)))}function ut(t,e){if(t.length>e)throw new w("effect:type-error",`Function supports up to ${e} parameters, Actual: ${t.length}`,{parameters:t})}function lt(t){if("color"===t.type)return"<color>";if(t.unit){if(t.unit in ht)return"<length>";if(t.unit in ft)return"<angle>";if("%"===t.unit)return"<percentage>"}return"<double>"}function ct(t,e){if(t<0)throw new w("effect:type-error",`Negative values are not allowed, Actual: ${t}`,{term:e})}(function(t,e){function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n})(it,Error),it.prototype.format=function(t){var e="Error: "+this.message;if(this.location){var n,r=null;for(n=0;n<t.length;n++)if(t[n].source===this.location.source){r=t[n].text.split(/\r\n|\n|\r/g);break}var i=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(i):i,a=this.location.source+":"+o.line+":"+o.column;if(r){var s=this.location.end,u=ot("",o.line.toString().length," "),l=r[i.line-1],c=(i.line===s.line?s.column:l.length+1)-i.column||1;e+="\n --\x3e "+a+"\n"+u+" |\n"+o.line+" | "+l+"\n"+u+" | "+ot("",i.column-1," ")+ot("",c,"^")}else e+="\n at "+a}return e},it.buildMessage=function(t,e){var n={literal:function(t){return'"'+i(t.text)+'"'},class:function(t){var e=t.parts.map((function(t){return Array.isArray(t)?o(t[0])+"-"+o(t[1]):o(t)}));return"["+(t.inverted?"^":"")+e.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(t){return t.description}};function r(t){return t.charCodeAt(0).toString(16).toUpperCase()}function i(t){return t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+r(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+r(t)}))}function o(t){return t.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(t){return"\\x0"+r(t)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(t){return"\\x"+r(t)}))}function a(t){return n[t.type](t)}return"Expected "+function(t){var e,n,r=t.map(a);if(r.sort(),r.length>0){for(e=1,n=1;e<r.length;e++)r[e-1]!==r[e]&&(r[n]=r[e],n++);r.length=n}switch(r.length){case 1:return r[0];case 2:return r[0]+" or "+r[1];default:return r.slice(0,-1).join(", ")+", or "+r[r.length-1]}}(t)+" but "+function(t){return t?'"'+i(t)+'"':"end of input"}(e)+" found."};const ft={deg:1,grad:.9,rad:180/Math.PI,turn:360},ht={px:1,cm:96/2.54,mm:96/2.54/10,in:96,pc:16,pt:96/72};function dt(t){!function(t){if("quantity"!==t.type||null!==t.unit&&"%"!==t.unit)throw new w("effect:type-error",`Expected <double> or <percentage>, Actual: ${lt(t)}`,{term:t})}(t);const e=t.value;return ct(e,t),"%"===t.unit?.01*e:e}function pt(t){return function(t){if("quantity"!==t.type||!(0===t.value&&null===t.unit||t.unit&&null!=ht[t.unit]))throw new w("effect:type-error",`Expected <length>, Actual: ${lt(t)}`,{term:t})}(t),t.value*ht[t.unit]||0}function mt(t){switch(t.colorType){case"hex":return function(t){const e=t.length>5,n=e?8:4,r=(1<<n)-1,i=e?1:17,o=e?9===t.length:5===t.length;let a=Number("0x"+t.slice(1));if(isNaN(a))return null;const s=[0,0,0,1];let u;return o&&(u=a&r,a>>=n,s[3]=i*u/255),u=a&r,a>>=n,s[2]=i*u,u=a&r,a>>=n,s[1]=i*u,u=a&r,a>>=n,s[0]=i*u,s}(t.value);case"named":return gt(t.value);case"function":return function(t){if(ut(t.parameters,4),vt.test(t.name))return[dt(t.parameters[0]),dt(t.parameters[1]),dt(t.parameters[2]),t.parameters[3]?dt(t.parameters[3]):1];if(wt.test(t.name))return function(t,e,n,r=1){const i=(t%360+360)%360/360,o=n<=.5?n*(e+1):n+e-n*e,a=2*n-o;return[Math.round(255*M(a,o,i+1/3)),Math.round(255*M(a,o,i)),Math.round(255*M(a,o,i-1/3)),r]}(function(t){return function(t){if("quantity"!==t.type||null!==t.unit)throw new w("effect:type-error",`Expected <double>, Actual: ${lt(t)}`,{term:t})}(t),ct(t.value,t),t.value}(t.parameters[0]),dt(t.parameters[1]),dt(t.parameters[2]),t.parameters[3]?dt(t.parameters[3]):1);throw new w("effect:syntax-error",`Invalid color function '${t.name}'`,{colorFunction:t})}(t.value)}}function gt(t){if(!function(t){return!!y[t]||!!y[t.toLowerCase()]}(t))throw new w("effect:unknown-color",`color '${t}' isn't valid`,{namedColor:t});return function(t){return[...b(t)]}(t)}const vt=/^rgba?/i,wt=/^hsla?/i;function yt(t){const e=at(t);return e?function(t){const e=t[0];return!!e&&"type"in e}(e)?e.map((t=>t.toJSON())):e.map((({scale:t,effects:e})=>({scale:t,value:e.map((t=>t.toJSON()))}))):null}function bt(t){if(!t||0===t.length)return null;if(function(t){const e=t[0];return!!e&&"scale"in e}(t)){const e=[];for(const n of t)e.push({scale:n.scale,value:Mt(n.value)});return e}return Mt(t)}function Mt(t){if(!t?.length)return"";const e=[];for(const n of t){let t=[];switch(n.type){case"grayscale":case"sepia":case"saturate":case"invert":case"brightness":case"contrast":case"opacity":t=[xt(n,"amount")];break;case"blur":t=[xt(n,"radius","pt")];break;case"hue-rotate":t=[xt(n,"angle","deg")];break;case"drop-shadow":t=[xt(n,"xoffset","pt"),xt(n,"yoffset","pt"),xt(n,"blurRadius","pt"),kt(n,"color")];break;case"bloom":t=[xt(n,"strength"),xt(n,"radius","pt"),xt(n,"threshold")]}const r=`${n.type}(${t.filter(Boolean).join(" ")})`;at(r),e.push(r)}return e.join(" ")}function xt(t,e,n){if(null==t[e])throw new w("effect:missing-parameter",`Missing parameter '${e}' in ${t.type} effect`,{effect:t});return n?t[e]+n:""+t[e]}function kt(t,e){if(null==t[e])throw new w("effect:missing-parameter",`Missing parameter '${e}' in ${t.type} effect`,{effect:t});const n=t[e];return`rgba(${n[0]||0}, ${n[1]||0}, ${n[2]||0}, ${n[3]/255||0})`}function Tt(t,e,n){const r=e?.layer;if(!t)return r?.effect?r.effect:r?.featureEffect?"includedEffect"===n?r.featureEffect.includedEffect:r.featureEffect.excludedEffect:null;const i=yt(t);let o=null;o=r.featureEffect?"includedEffect"===n?r.featureEffect.includedEffect:r.featureEffect.excludedEffect:r.effect;const a=o?yt(o):null;if(!a)return bt(i);let s=[...a];return i&&i.forEach((t=>{s.forEach((e=>{const{value:n}=e;if(n)n.forEach(((r,o)=>{r.type===t.type?n[o]=t:!e.value.find((t=>t.type===i[0].type))&&(e.value=[...e.value,...i])}));else{const n=!s.find((t=>t.type===e.type));!s.find((e=>e.type===t.type))&&(s=[...s,t]),n&&(s=[...s,e])}}))})),bt(s)}const Et="time-slider-watch",St=new class{constructor(){this.initializeModules()}async initializeModules(){try{const[t,e,n,r,i,a,s]=await o(["esri/core/Handles","esri/core/reactiveUtils","esri/widgets/TimeSlider","esri/time/TimeExtent","esri/time/TimeInterval","esri/layers/support/FeatureFilter","esri/layers/support/FeatureEffect"]);this.reactiveUtils=e,this.handles=new t,this.TimeSlider=n,this.TimeExtent=r,this.TimeInterval=i,this.FeatureFilter=a,this.FeatureEffect=s}catch(t){}}async init(t){var e,n,r;t&&(t.innerHTML=""),"playing"===(null===(n=null===(e=null==s?void 0:s.timeSlider)||void 0===e?void 0:e.viewModel)||void 0===n?void 0:n.state)&&s.timeSlider.stop();const{view:i,timeInfoConfigItems:o}=s;if(i)try{if(await i.when(),1===o.length&&"map"===(null===(r=o[0])||void 0===r?void 0:r.type))this.initTimeSlider(t,o[0]);else{const e=await this.getTimeLayerViews(i,o);s.timeInfoItems=this.generateTimeInfoItems(e,o),this.initTimeSlider(t)}return Promise.resolve()}catch(t){}finally{this.setupFilterModeWatcher()}}destroy(){var t,e;null===(t=this.handles)||void 0===t||t.removeAll(),this.handles=null,null===(e=s.timeSlider)||void 0===e||e.destroy()}async getTimeLayerViews(t,e){const{allLayers:n}=t.map,r=e.map((({id:t})=>{return e=t,n.find((({id:t})=>e===t));var e})).map((e=>t.whenLayerView(e)));return await Promise.all(r)}generateTimeInfoItems(t,e){return[...e].map((e=>{const n=t.find((({layer:t})=>t.id===e.id));return this.generateTimeInfoItem(n,e)}))}generateTimeInfoItem(t,{increments:e,rangeStart:n,rangeEnd:r,timeIntervalValue:i}){var o;const a=null==t?void 0:t.layer,s=null===(o=null==a?void 0:a.timeInfo)||void 0===o?void 0:o.fullTimeExtent;return{layerView:t,unit:e,timeIntervalValue:null!=i?i:1,rangeStart:new Date(n),rangeEnd:new Date(r),timeExtent:s,previousTimeExtent:null}}initTimeSlider(t,e){var n,r;const{TimeSlider:i}=this,o=t=>{s.timeSlider=new i(t),s.autoPlay&&s.timeSlider.play()};if(e)o(this.getTimeSliderConfig(t,e));else{const e=null===(n=null==s?void 0:s.timeInfoItems)||void 0===n?void 0:n[0];if(!e)return;s.selectedTimeInfoItem=e,o(this.getTimeSliderConfig(t))}"2d"===(null===(r=s.view)||void 0===r?void 0:r.type)&&this.initialize2DView()}setupFilterModeWatcher(){u("filterMode",(t=>s.timeInfoItems.forEach((e=>{var n,r,i;const o=e.layerView;this.applyTimeExtent(o,(null===(r=null===(n=null==o?void 0:o.featureEffect)||void 0===n?void 0:n.filter)||void 0===r?void 0:r.timeExtent)||(null===(i=o.filter)||void 0===i?void 0:i.timeExtent),t)}))))}getTimeSliderConfig(t,e){var n,r,i,o,a,u,l,c;const{TimeExtent:f,TimeInterval:h}=this,d=Object.assign({container:t,mode:"time-window",view:"3d"===(null===(n=s.view)||void 0===n?void 0:n.type)?s.view:null},s.timeSliderConfig);if(e){const t=null===(o=null===(i=null===(r=s.view)||void 0===r?void 0:r.map)||void 0===i?void 0:i.widgets)||void 0===o?void 0:o.timeSlider;return Object.assign(Object.assign({},d),{fullTimeExtent:null==t?void 0:t.fullTimeExtent,timeExtent:null==t?void 0:t.currentTimeExtent,stops:(null===(a=null==t?void 0:t.stopInterval)||void 0===a?void 0:a.unit)&&(null===(u=null==t?void 0:t.stopInterval)||void 0===u?void 0:u.value)?{interval:new h({unit:null===(l=null==t?void 0:t.stopInterval)||void 0===l?void 0:l.unit,value:null===(c=null==t?void 0:t.stopInterval)||void 0===c?void 0:c.value})}:null})}{const[{timeExtent:t,rangeStart:e,rangeEnd:n,unit:r,timeIntervalValue:i}]=s.timeInfoItems;return Object.assign(Object.assign({},d),{fullTimeExtent:t,timeExtent:new f({start:e,end:n}),stops:{interval:new h({unit:r,value:i})}})}}initialize2DView(){s.timeInfoItems.forEach((t=>this.applyTimeExtent(t.layerView,new this.TimeExtent({start:t.rangeStart,end:t.rangeEnd})))),this.setupTimeExtentWatcher()}applyTimeExtent(t,e,n){var r;"effect"===(null===(r=s.filterMode)||void 0===r?void 0:r.type)?this.applyFeatureEffect(t,e,n):this.applyFeatureFilter(t,e)}applyFeatureEffect(t,e,n){t&&(t.filter&&t.set("filter",null),t.featureEffect&&!n?t.featureEffect.filter.timeExtent=e:this.handleUpdatedFeatureEffect(t,e))}handleUpdatedFeatureEffect(t,e){var n,r,i,o;const{FeatureEffect:a}=this;t.featureEffect=new a({filter:{timeExtent:e},includedEffect:Tt(null===(r=null===(n=s.filterMode)||void 0===n?void 0:n.effect)||void 0===r?void 0:r.includedEffect,t,"includedEffect"),excludedEffect:Tt(null===(o=null===(i=s.filterMode)||void 0===i?void 0:i.effect)||void 0===o?void 0:o.excludedEffect,t,"excludedEffect")})}applyFeatureFilter(t,e){t.featureEffect&&t.set("featureEffect",null),t.filter?t.filter.timeExtent=e:t.filter=new this.FeatureFilter({timeExtent:e})}setupTimeExtentWatcher(){var t,e,n,r;(null===(t=this.handles)||void 0===t?void 0:t.has(Et))&&(null===(e=this.handles)||void 0===e||e.remove(Et)),null===(n=this.handles)||void 0===n||n.add(null===(r=null==s?void 0:s.timeSlider)||void 0===r?void 0:r.watch("timeExtent",(t=>{var e;return this.applyTimeExtent(null===(e=s.selectedTimeInfoItem)||void 0===e?void 0:e.layerView,t)})),Et)}updateSelectedTimeInfoItem(t){s.timeSlider&&(s.selectedTimeInfoItem&&(s.selectedTimeInfoItem.previousTimeExtent=s.timeSlider.timeExtent),s.selectedTimeInfoItem=t,this.reconfigureTimeSlider(t),this.applyTimeExtent(t.layerView,s.timeSlider.timeExtent),this.setupTimeExtentWatcher())}reconfigureTimeSlider(t){s.timeSlider&&(s.timeSlider.fullTimeExtent=t.timeExtent,s.timeSlider.timeExtent=this.getTimeExtent(t),s.timeSlider.stops={interval:this.getTimeInterval(t)})}getTimeExtent({rangeStart:t,rangeEnd:e,previousTimeExtent:n}){const{TimeExtent:r}=this;return null!=n?n:new r({start:t,end:e})}getTimeInterval(t){var e,n,r,i,o;const{TimeInterval:a}=this;return new a({unit:null!==(e=t.unit)&&void 0!==e?e:null===(o=null===(i=null===(r=null===(n=t.layerView)||void 0===n?void 0:n.layer)||void 0===r?void 0:r.timeInfo)||void 0===i?void 0:i.interval)||void 0===o?void 0:o.unit,value:1})}getLabel(t){var e,n;return(null===(n=null===(e=null==t?void 0:t.layerView)||void 0===e?void 0:e.layer)||void 0===n?void 0:n.title)||""}},_t=class{constructor(e){t(this,e),this.timeSliderRef=void 0,this.timeInfoConfigItems=[],this.filterMode=void 0,this.view=void 0,this.timeSliderConfig=void 0,this.autoPlay=!1}async updateTimeInfoConfigItems(){s.timeInfoConfigItems=this.timeInfoConfigItems,await St.init(this.timeSliderRef)}async updateFilterMode(){s.filterMode=this.filterMode}async updateTimeSliderConfig(){s.timeSliderConfig=this.timeSliderConfig,await St.init(this.timeSliderRef)}async updateAutoPlay(){s.autoPlay=this.autoPlay,s.timeSlider&&(s.autoPlay?s.timeSlider.play():s.timeSlider.stop())}async componentWillLoad(){try{s.view=this.view,s.timeInfoConfigItems=this.timeInfoConfigItems,s.autoPlay=!!this.autoPlay,this.timeSliderConfig&&(s.timeSliderConfig=this.timeSliderConfig),this.filterMode&&(s.filterMode=this.filterMode),await a(this)}catch(t){}}async componentDidLoad(){try{await St.init(this.timeSliderRef)}catch(t){}finally{s.loading=!1}}disconnectedcallback(){St.destroy()}render(){return e(n,{key:"9366ce36d85d1b97ff9dad8a93f5cfb93d12551b"},this._renderBase())}_renderBase(){return e("div",{class:"instant-apps-time-filter"+("2d"!==this.view.type?" instant-apps-time-filter--3d":"")},this._renderLoader(),"2d"===this.view.type&&this._renderTopEl(),e("div",{key:"time-slider",ref:t=>this.timeSliderRef=t}))}_renderLoader(){var t,n;return s.loading&&e("div",null,e("div",{class:"instant-apps-time-filter__background"}),e("div",{class:"instant-apps-time-filter__loading-container"},e("calcite-loader",{scale:"m",label:null===(t=this.messages)||void 0===t?void 0:t.loading,text:null===(n=this.messages)||void 0===n?void 0:n.loading})))}_renderTopEl(){return this.timeInfoConfigItems.length>1?this._renderDropdown():this._renderLayerTitle()}_renderLayerTitle(){var t,n,r;const i=null===(r=null===(n=null===(t=s.selectedTimeInfoItem)||void 0===t?void 0:t.layerView)||void 0===n?void 0:n.layer)||void 0===r?void 0:r.title;return e("span",{class:"instant-apps-time-filter__layer-title"},i)}_renderDropdown(){return s.selectedTimeInfoItem&&e("calcite-dropdown",null,this._renderDropdownButton(),this._renderDropdownItems())}_renderDropdownButton(){return e("calcite-button",{slot:"trigger",appearance:"transparent",iconEnd:"chevron-down",width:"full",alignment:"space-between"},St.getLabel(s.selectedTimeInfoItem))}_renderDropdownItems(){return s.timeInfoItems.map((t=>this._renderDropdownItem(t)))}_renderDropdownItem(t){var n,r,i,o,a;const u=null===(i=null===(r=null===(n=s.selectedTimeInfoItem)||void 0===n?void 0:n.layerView)||void 0===r?void 0:r.layer)||void 0===i?void 0:i.id,l=null===(a=null===(o=null==t?void 0:t.layerView)||void 0===o?void 0:o.layer)||void 0===a?void 0:a.id;return e("calcite-dropdown-item",{onCalciteDropdownItemSelect:()=>St.updateSelectedTimeInfoItem(t),selected:u===l},St.getLabel(t))}get el(){return r(this)}static get watchers(){return{timeInfoConfigItems:["updateTimeInfoConfigItems"],filterMode:["updateFilterMode"],timeSliderConfig:["updateTimeSliderConfig"],autoPlay:["updateAutoPlay"]}}};_t.style=".instant-apps-time-filter{position:relative;display:block;min-width:375px;min-height:200px}.instant-apps-time-filter__background{background-color:var(--calcite-ui-background);position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.instant-apps-time-filter calcite-dropdown{width:100%}.instant-apps-time-filter calcite-dropdown calcite-button{--calcite-color-brand:var(--calcite-ui-text-1);--calcite-ui-brand:var(--calcite-ui-text-1)}.instant-apps-time-filter__layer-title{font-weight:550;display:inline-block;padding:10px}.instant-apps-time-filter__loading-container{display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.instant-apps-time-filter--3d{min-height:160px}";export{_t as instant_apps_time_filter}