@vertigis/viewer-spec 59.3.0 → 59.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,6 +25,20 @@
25
25
  </complexType>
26
26
  </element>
27
27
 
28
+ <element name="bulk-editing" substitutionGroup="base:component">
29
+ <annotation>
30
+ <documentation xml:lang="en">
31
+ A component that enables bulk editing of multiple features' attributes
32
+ simultaneously.
33
+ </documentation>
34
+ </annotation>
35
+ <complexType>
36
+ <complexContent>
37
+ <extension base="base:Component" />
38
+ </complexContent>
39
+ </complexType>
40
+ </element>
41
+
28
42
  <element name="chart" substitutionGroup="base:component">
29
43
  <annotation>
30
44
  <documentation xml:lang="en">A component that shows a chart.</documentation>
@@ -0,0 +1,35 @@
1
+ import type { Command } from "../Command.js";
2
+ import { CommandRegistry } from "../CommandRegistry.js";
3
+ import type { Features, HasFeatures } from "../common.js";
4
+ /**
5
+ * Arguments for the "bulk-editing" commands. Web only.
6
+ */
7
+ export type BulkEditingArgs = Features | HasFeatures;
8
+ /**
9
+ * Commands for managing bulk editing functionality in ViewerSpec.
10
+ *
11
+ * Core bulk editing functionality is handled by the edit registry.
12
+ */
13
+ export declare class BulkEditingCommands extends CommandRegistry {
14
+ protected readonly _prefix = "bulk-editing";
15
+ /**
16
+ * Adds features to the bulk editing session. Typically used to stage
17
+ * features for later bulk updates. Web only.
18
+ *
19
+ * @webOnly
20
+ */
21
+ get add(): Command<BulkEditingArgs>;
22
+ /**
23
+ * Displays the bulk editing interface for a given set of features. Updates
24
+ * the UI to show editable attributes for the provided features. Web only.
25
+ *
26
+ * @webOnly
27
+ */
28
+ get display(): Command<BulkEditingArgs>;
29
+ /**
30
+ * Removes features from the bulk editing session. Web only.
31
+ *
32
+ * @webOnly
33
+ */
34
+ get remove(): Command<BulkEditingArgs>;
35
+ }
@@ -0,0 +1 @@
1
+ import{CommandRegistry as e}from"../CommandRegistry.js";export class BulkEditingCommands extends e{_prefix="bulk-editing";get add(){return this._get("add")}get display(){return this._get("display")}get remove(){return this._get("remove")}}
@@ -207,10 +207,6 @@ export interface DisplayAddRelatedFeatureArgs extends Omit<DisplayAddFeatureArgs
207
207
  */
208
208
  relatedFeatureSource: FeatureSource;
209
209
  }
210
- /**
211
- * Override settings for a field element.
212
- */
213
- export type FieldElementOverride = Partial<FieldElement>;
214
210
  /**
215
211
  * Arguments for the "edit.display-update-features" operation. Web only.
216
212
  */
@@ -234,6 +230,64 @@ export interface EditCommandArgs extends HasFeatures {
234
230
  */
235
231
  showNotifications?: boolean;
236
232
  }
233
+ /**
234
+ * Arguments for the "edit.bulk-attribute-update" command. Web only.
235
+ */
236
+ export interface BulkAttributeUpdateArgs extends HasFeatures {
237
+ /**
238
+ * The attributes to update on all features.
239
+ */
240
+ attributes: Record<string, unknown>;
241
+ }
242
+ /**
243
+ * Result of a bulk attribute validation. Web only.
244
+ */
245
+ export interface ValidationResult {
246
+ /**
247
+ * Whether this validation passed or failed.
248
+ */
249
+ isValid: boolean;
250
+ /**
251
+ * Optional validation message or error details.
252
+ */
253
+ message?: string;
254
+ }
255
+ /**
256
+ * Arguments for bulk attribute validation events. Web only.
257
+ */
258
+ export interface BulkAttributeValidationEventArgs extends HasFeatures {
259
+ /**
260
+ * Array of validation results from different validators. The bulk edit
261
+ * operation is considered valid only if all results are valid.
262
+ */
263
+ validationResults: ValidationResult[];
264
+ }
265
+ /**
266
+ * Arguments for bulk attribute completion event. Web only.
267
+ */
268
+ export interface BulkAttributeCompleteEventArgs extends HasFeatures {
269
+ /**
270
+ * Whether the bulk attribute update was successful.
271
+ */
272
+ success: boolean;
273
+ /**
274
+ * Optional error message if the update failed.
275
+ */
276
+ error?: string;
277
+ }
278
+ /**
279
+ * Arguments for bulk attribute pre-validation event. Web only.
280
+ */
281
+ export interface BulkAttributePreValidationEventArgs extends HasFeatures {
282
+ /**
283
+ * The attributes that will be applied to the features.
284
+ */
285
+ attributes: Record<string, unknown>;
286
+ }
287
+ /**
288
+ * Override settings for a field element.
289
+ */
290
+ export type FieldElementOverride = Partial<FieldElement>;
237
291
  export declare class EditCommands extends CommandRegistry {
238
292
  protected readonly _prefix = "edit";
239
293
  /**
@@ -352,6 +406,14 @@ export declare class EditCommands extends CommandRegistry {
352
406
  * @webOnly
353
407
  */
354
408
  get updateSession(): Command<UpdateSessionArgs>;
409
+ /**
410
+ * Updates multiple features from multiple sources simultaneously. This
411
+ * command commits the bulk attribute changes directly to the feature
412
+ * source. Web only.
413
+ *
414
+ * @webOnly
415
+ */
416
+ get bulkAttributeUpdate(): Command<BulkAttributeUpdateArgs>;
355
417
  /**
356
418
  * Clears a feature's GNSS metadata. This command will clear the well known
357
419
  * GNSS attributes, such as "esrignss_longitude" and "esrignss_latitude".
@@ -401,6 +463,25 @@ export declare class EditEvents extends EventRegistry {
401
463
  * @mobileOnly
402
464
  */
403
465
  get attachmentDeleted(): Event<AttachmentEventArgs>;
466
+ /**
467
+ * Raised before bulk attribute update validation occurs, allowing for
468
+ * modifications to the features. Web only.
469
+ *
470
+ * @webOnly
471
+ */
472
+ get bulkAttributeUpdatePreValidation(): Event<BulkAttributePreValidationEventArgs>;
473
+ /**
474
+ * Raised when bulk attribute update validation is complete. Web only.
475
+ *
476
+ * @webOnly
477
+ */
478
+ get bulkAttributeUpdateValidation(): Event<BulkAttributeValidationEventArgs>;
479
+ /**
480
+ * Raised when a bulk attribute update is complete. Web only.
481
+ *
482
+ * @webOnly
483
+ */
484
+ get bulkAttributeUpdateComplete(): Event<BulkAttributeCompleteEventArgs>;
404
485
  /**
405
486
  * Raised when a new feature is added to a feature source.
406
487
  */
@@ -1 +1 @@
1
- import{CommandRegistry as e}from"../CommandRegistry.js";import{EventRegistry as t}from"../EventRegistry.js";import{OperationRegistry as a}from"../OperationRegistry.js";export class EditCommands extends e{_prefix="edit";get addAttachment(){return this._get("add-attachment")}get deleteAttachment(){return this._get("delete-attachment")}get addFeature(){return this._get("add-feature")}get cancel(){return this._get("cancel")}get complete(){return this._get("complete")}get deleteFeatures(){return this._get("delete-features")}get displayAddFeature(){return this._get("display-add-feature")}get displayAddRelatedFeature(){return this._get("display-add-related-feature")}get displayUpdateFeature(){return this._get("display-update-feature")}get updateFeature(){return this._get("update-feature")}get updateSession(){return this._get("update-session")}get clearGnssMetadata(){return this._get("clear-gnss-metadata")}}export class EditOperations extends a{_prefix="edit";get createFeature(){return this._get("create-feature")}get updateGnssMetadata(){return this._get("update-gnss-metadata")}}export class EditEvents extends t{_prefix="edit";get attachmentAdded(){return this._get("attachment-added")}get attachmentUpdated(){return this._get("attachment-updated")}get attachmentDeleted(){return this._get("attachment-deleted")}get featureAdded(){return this._get("feature-added")}get featureDeleted(){return this._get("feature-deleted")}get featureUpdated(){return this._get("feature-updated")}get sessionUpdated(){return this._get("session-updated")}}
1
+ import{CommandRegistry as t}from"../CommandRegistry.js";import{EventRegistry as e}from"../EventRegistry.js";import{OperationRegistry as a}from"../OperationRegistry.js";export class EditCommands extends t{_prefix="edit";get addAttachment(){return this._get("add-attachment")}get deleteAttachment(){return this._get("delete-attachment")}get addFeature(){return this._get("add-feature")}get cancel(){return this._get("cancel")}get complete(){return this._get("complete")}get deleteFeatures(){return this._get("delete-features")}get displayAddFeature(){return this._get("display-add-feature")}get displayAddRelatedFeature(){return this._get("display-add-related-feature")}get displayUpdateFeature(){return this._get("display-update-feature")}get updateFeature(){return this._get("update-feature")}get updateSession(){return this._get("update-session")}get bulkAttributeUpdate(){return this._get("bulk-attribute-update")}get clearGnssMetadata(){return this._get("clear-gnss-metadata")}}export class EditOperations extends a{_prefix="edit";get createFeature(){return this._get("create-feature")}get updateGnssMetadata(){return this._get("update-gnss-metadata")}}export class EditEvents extends e{_prefix="edit";get attachmentAdded(){return this._get("attachment-added")}get attachmentUpdated(){return this._get("attachment-updated")}get attachmentDeleted(){return this._get("attachment-deleted")}get bulkAttributeUpdatePreValidation(){return this._get("bulk-attribute-update-pre-validation")}get bulkAttributeUpdateValidation(){return this._get("bulk-attribute-update-validation")}get bulkAttributeUpdateComplete(){return this._get("bulk-attribute-update-complete")}get featureAdded(){return this._get("feature-added")}get featureDeleted(){return this._get("feature-deleted")}get featureUpdated(){return this._get("feature-updated")}get sessionUpdated(){return this._get("session-updated")}}
@@ -1511,6 +1511,23 @@
1511
1511
  ],
1512
1512
  "type": "object"
1513
1513
  },
1514
+ "BulkAttributeUpdateArgs": {
1515
+ "additionalProperties": false,
1516
+ "description": "Arguments for the \"edit.bulk-attribute-update\" command. Web only.",
1517
+ "properties": {
1518
+ "attributes": {
1519
+ "description": "The attributes to update on all features."
1520
+ },
1521
+ "features": {
1522
+ "$ref": "#/definitions/FeaturesLike",
1523
+ "description": "Features to use for the command/operation."
1524
+ }
1525
+ },
1526
+ "required": [
1527
+ "attributes"
1528
+ ],
1529
+ "type": "object"
1530
+ },
1514
1531
  "CaptureGeometryArgs": {
1515
1532
  "additionalProperties": false,
1516
1533
  "description": "Arguments for the \"sketching.capture-geometry\" operation.",
@@ -9802,6 +9819,15 @@
9802
9819
  }
9803
9820
  ]
9804
9821
  },
9822
+ "edit.bulk-attribute-update": {
9823
+ "description": "Updates multiple features from multiple sources simultaneously. This command commits the bulk attribute changes directly to the feature source. Web only.",
9824
+ "enum": [
9825
+ "edit.bulk-attribute-update"
9826
+ ]
9827
+ },
9828
+ "edit.bulk-attribute-update:input": {
9829
+ "$ref": "#/definitions/BulkAttributeUpdateArgs"
9830
+ },
9805
9831
  "edit.cancel": {
9806
9832
  "description": "Cancels active editing sessions and discards any changes. If a feature is supplied only the sessions using that feature will be cancelled. Web only.",
9807
9833
  "enum": [
@@ -23813,6 +23839,22 @@
23813
23839
  ],
23814
23840
  "type": "object"
23815
23841
  },
23842
+ {
23843
+ "additionalProperties": false,
23844
+ "properties": {
23845
+ "arguments": {
23846
+ "$ref": "#/definitions/edit.bulk-attribute-update:input"
23847
+ },
23848
+ "name": {
23849
+ "$ref": "#/definitions/edit.bulk-attribute-update"
23850
+ }
23851
+ },
23852
+ "required": [
23853
+ "name",
23854
+ "arguments"
23855
+ ],
23856
+ "type": "object"
23857
+ },
23816
23858
  {
23817
23859
  "additionalProperties": false,
23818
23860
  "properties": {
@@ -26335,6 +26377,9 @@
26335
26377
  {
26336
26378
  "$ref": "#/definitions/edit.add-feature"
26337
26379
  },
26380
+ {
26381
+ "$ref": "#/definitions/edit.bulk-attribute-update"
26382
+ },
26338
26383
  {
26339
26384
  "$ref": "#/definitions/edit.cancel"
26340
26385
  },
@@ -595,6 +595,66 @@
595
595
  ],
596
596
  "type": "string"
597
597
  },
598
+ "BulkAttributeCompleteEventArgs": {
599
+ "additionalProperties": false,
600
+ "description": "Arguments for bulk attribute completion event. Web only.",
601
+ "properties": {
602
+ "error": {
603
+ "description": "Optional error message if the update failed.",
604
+ "type": "string"
605
+ },
606
+ "features": {
607
+ "$ref": "#/definitions/FeaturesLike",
608
+ "description": "Features to use for the command/operation."
609
+ },
610
+ "success": {
611
+ "description": "Whether the bulk attribute update was successful.",
612
+ "type": "boolean"
613
+ }
614
+ },
615
+ "required": [
616
+ "success"
617
+ ],
618
+ "type": "object"
619
+ },
620
+ "BulkAttributePreValidationEventArgs": {
621
+ "additionalProperties": false,
622
+ "description": "Arguments for bulk attribute pre-validation event. Web only.",
623
+ "properties": {
624
+ "attributes": {
625
+ "description": "The attributes that will be applied to the features."
626
+ },
627
+ "features": {
628
+ "$ref": "#/definitions/FeaturesLike",
629
+ "description": "Features to use for the command/operation."
630
+ }
631
+ },
632
+ "required": [
633
+ "attributes"
634
+ ],
635
+ "type": "object"
636
+ },
637
+ "BulkAttributeValidationEventArgs": {
638
+ "additionalProperties": false,
639
+ "description": "Arguments for bulk attribute validation events. Web only.",
640
+ "properties": {
641
+ "features": {
642
+ "$ref": "#/definitions/FeaturesLike",
643
+ "description": "Features to use for the command/operation."
644
+ },
645
+ "validationResults": {
646
+ "description": "Array of validation results from different validators. The bulk edit operation is considered valid only if all results are valid.",
647
+ "items": {
648
+ "$ref": "#/definitions/ValidationResult"
649
+ },
650
+ "type": "array"
651
+ }
652
+ },
653
+ "required": [
654
+ "validationResults"
655
+ ],
656
+ "type": "object"
657
+ },
598
658
  "ComponentId": {
599
659
  "description": "A component's ID in the layout.",
600
660
  "type": "string"
@@ -749,6 +809,36 @@
749
809
  ],
750
810
  "description": "Feature reductions declutter the screen by hiding features that would otherwise intersect with other features on screen."
751
811
  },
812
+ "FeaturesLike": {
813
+ "anyOf": [
814
+ {
815
+ "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
816
+ },
817
+ {
818
+ "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
819
+ },
820
+ {
821
+ "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
822
+ },
823
+ {
824
+ "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
825
+ },
826
+ {
827
+ "items": {
828
+ "anyOf": [
829
+ {
830
+ "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
831
+ },
832
+ {
833
+ "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
834
+ }
835
+ ]
836
+ },
837
+ "type": "array"
838
+ }
839
+ ],
840
+ "description": "Represents one or more features."
841
+ },
752
842
  "FilterModeJson": {
753
843
  "anyOf": [
754
844
  {
@@ -1770,6 +1860,50 @@
1770
1860
  ],
1771
1861
  "description": "Symbol types used in web scenes."
1772
1862
  },
1863
+ "SymbolJson": {
1864
+ "anyOf": [
1865
+ {
1866
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.CIMSymbolJson"
1867
+ },
1868
+ {
1869
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
1870
+ },
1871
+ {
1872
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
1873
+ },
1874
+ {
1875
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
1876
+ },
1877
+ {
1878
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
1879
+ },
1880
+ {
1881
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
1882
+ },
1883
+ {
1884
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
1885
+ },
1886
+ {
1887
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.LabelSymbol3DJson"
1888
+ },
1889
+ {
1890
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
1891
+ },
1892
+ {
1893
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.MeshSymbol3DJson"
1894
+ },
1895
+ {
1896
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
1897
+ },
1898
+ {
1899
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
1900
+ },
1901
+ {
1902
+ "$ref": "#/definitions/esri.rest-api.SymbolJson.StyleSymbolReferenceJson"
1903
+ }
1904
+ ],
1905
+ "description": "A symbol representing a feature on the map.\n\nPart of the Esri ArcGIS REST API (see http://resources.arcgis.com/en/help/rest/apiref/symbol.html). See {@link https://developers.arcgis.com/web-map-specification/objects/symbol/}."
1906
+ },
1773
1907
  "TargetsResultsSetArgs": {
1774
1908
  "additionalProperties": false,
1775
1909
  "description": "Arguments for various commands that target a result set of features.",
@@ -1814,6 +1948,24 @@
1814
1948
  },
1815
1949
  "type": "object"
1816
1950
  },
1951
+ "ValidationResult": {
1952
+ "additionalProperties": false,
1953
+ "description": "Result of a bulk attribute validation. Web only.",
1954
+ "properties": {
1955
+ "isValid": {
1956
+ "description": "Whether this validation passed or failed.",
1957
+ "type": "boolean"
1958
+ },
1959
+ "message": {
1960
+ "description": "Optional validation message or error details.",
1961
+ "type": "string"
1962
+ }
1963
+ },
1964
+ "required": [
1965
+ "isValid"
1966
+ ],
1967
+ "type": "object"
1968
+ },
1817
1969
  "ViewModeChangedEvent": {
1818
1970
  "additionalProperties": false,
1819
1971
  "description": "Arguments for the ViewModeChanged event.",
@@ -1997,6 +2149,33 @@
1997
2149
  "auth.token-refreshed:input": {
1998
2150
  "type": "string"
1999
2151
  },
2152
+ "edit.bulk-attribute-update-complete": {
2153
+ "description": "Raised when a bulk attribute update is complete. Web only.",
2154
+ "enum": [
2155
+ "edit.bulk-attribute-update-complete"
2156
+ ]
2157
+ },
2158
+ "edit.bulk-attribute-update-complete:input": {
2159
+ "$ref": "#/definitions/BulkAttributeCompleteEventArgs"
2160
+ },
2161
+ "edit.bulk-attribute-update-pre-validation": {
2162
+ "description": "Raised before bulk attribute update validation occurs, allowing for modifications to the features. Web only.",
2163
+ "enum": [
2164
+ "edit.bulk-attribute-update-pre-validation"
2165
+ ]
2166
+ },
2167
+ "edit.bulk-attribute-update-pre-validation:input": {
2168
+ "$ref": "#/definitions/BulkAttributePreValidationEventArgs"
2169
+ },
2170
+ "edit.bulk-attribute-update-validation": {
2171
+ "description": "Raised when bulk attribute update validation is complete. Web only.",
2172
+ "enum": [
2173
+ "edit.bulk-attribute-update-validation"
2174
+ ]
2175
+ },
2176
+ "edit.bulk-attribute-update-validation:input": {
2177
+ "$ref": "#/definitions/BulkAttributeValidationEventArgs"
2178
+ },
2000
2179
  "edit.feature-added": {
2001
2180
  "description": "Raised when a new feature is added to a feature source.",
2002
2181
  "enum": [
@@ -3130,7 +3309,7 @@
3130
3309
  "description": "A popupInfo object defining the content of popup window when you click a feature on the map. Applicable to features in a map notes feature layer only."
3131
3310
  },
3132
3311
  "symbol": {
3133
- "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
3312
+ "$ref": "#/definitions/SymbolJson",
3134
3313
  "description": "Symbol used for drawing the feature."
3135
3314
  }
3136
3315
  },
@@ -9390,8 +9569,23 @@
9390
9569
  "description": "Callout configuration for a symbol."
9391
9570
  },
9392
9571
  "styleOrigin": {
9393
- "$ref": "__type",
9394
- "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol. See {@link https://developers.arcgis.com/web-scene-specification/objects/styleOrigin/}."
9572
+ "additionalProperties": false,
9573
+ "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol. See {@link https://developers.arcgis.com/web-scene-specification/objects/styleOrigin/}.",
9574
+ "properties": {
9575
+ "name": {
9576
+ "description": "Name of the symbol in the style referenced by styleName or styleUrl.",
9577
+ "type": "string"
9578
+ },
9579
+ "styleName": {
9580
+ "description": "A well-known esri-provided style, such as EsriThematicShapesStyle.",
9581
+ "type": "string"
9582
+ },
9583
+ "styleUrl": {
9584
+ "description": "URL to a style definition Must be one of the following values: String An absolute URL String A relative path starting with \"./\".",
9585
+ "type": "string"
9586
+ }
9587
+ },
9588
+ "type": "object"
9395
9589
  },
9396
9590
  "symbolLayers": {
9397
9591
  "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
@@ -11464,6 +11658,15 @@
11464
11658
  {
11465
11659
  "$ref": "#/definitions/auth.token-refreshed"
11466
11660
  },
11661
+ {
11662
+ "$ref": "#/definitions/edit.bulk-attribute-update-complete"
11663
+ },
11664
+ {
11665
+ "$ref": "#/definitions/edit.bulk-attribute-update-pre-validation"
11666
+ },
11667
+ {
11668
+ "$ref": "#/definitions/edit.bulk-attribute-update-validation"
11669
+ },
11467
11670
  {
11468
11671
  "$ref": "#/definitions/edit.feature-added"
11469
11672
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertigis/viewer-spec",
3
- "version": "59.3.0",
3
+ "version": "59.4.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "description": "VertiGIS Viewer Specification",
6
6
  "type": "module",
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The current version of the VertiGIS Studio Viewer Specification.
3
3
  */
4
- export declare const version = "59.3.0";
4
+ export declare const version = "59.4.0";
package/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The current version of the VertiGIS Studio Viewer Specification.
3
3
  */
4
- export const version = "59.3.0";
4
+ export const version = "59.4.0";