@pacem/pacem 1.0.0-amaldi → 1.0.0-archimedes

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.
Files changed (36) hide show
  1. package/README.md +87 -0
  2. package/dist/browser/pacem-2d.js +1 -1
  3. package/dist/browser/pacem-2d.min.js +1 -1
  4. package/dist/browser/pacem-3d.js +1 -1
  5. package/dist/browser/pacem-3d.min.js +1 -1
  6. package/dist/browser/pacem-charts.js +1 -1
  7. package/dist/browser/pacem-charts.min.js +1 -1
  8. package/dist/browser/pacem-cms.js +1 -1
  9. package/dist/browser/pacem-cms.min.js +1 -1
  10. package/dist/browser/pacem-core.js +1 -1
  11. package/dist/browser/pacem-core.min.js +1 -1
  12. package/dist/browser/pacem-foundation.js +1 -1
  13. package/dist/browser/pacem-foundation.min.js +1 -1
  14. package/dist/browser/pacem-fx.js +1 -1
  15. package/dist/browser/pacem-fx.min.js +1 -1
  16. package/dist/browser/pacem-logging.js +1 -1
  17. package/dist/browser/pacem-logging.min.js +1 -1
  18. package/dist/browser/pacem-maps.js +1 -1
  19. package/dist/browser/pacem-maps.min.js +1 -1
  20. package/dist/browser/pacem-media.js +1 -1
  21. package/dist/browser/pacem-media.min.js +1 -1
  22. package/dist/browser/pacem-networking.js +1 -1
  23. package/dist/browser/pacem-networking.min.js +1 -1
  24. package/dist/browser/pacem-numerical.js +1 -1
  25. package/dist/browser/pacem-numerical.min.js +1 -1
  26. package/dist/browser/pacem-plus.js +1 -1
  27. package/dist/browser/pacem-plus.min.js +1 -1
  28. package/dist/browser/pacem-scaffolding.js +1 -1
  29. package/dist/browser/pacem-scaffolding.min.js +1 -1
  30. package/dist/browser/pacem-ui.js +1 -1
  31. package/dist/browser/pacem-ui.min.js +1 -1
  32. package/dist/bundle/pacem.min.mjs +326 -325
  33. package/dist/bundle/pacem.mjs +5603 -5164
  34. package/dist/bundle/pacem.mjs.map +4 -4
  35. package/dist/typings/index.d.ts +828 -52
  36. package/package.json +1 -1
@@ -1,20 +1,24 @@
1
1
  /*!
2
- * @pacem/pacem v1.0.0-amaldi (https://js.pacem.it)
2
+ * @pacem/pacem v1.0.0-archimedes (https://js.pacem.it)
3
3
  * Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
6
6
  import { Animations } from '@pacem/pacem-core';
7
7
  import { Behaviors } from '@pacem/pacem-core';
8
+ import { Blobs as Blobs_2 } from '@pacem/pacem-foundation';
8
9
  import { Components as Components_2 } from '@pacem/pacem-core';
9
10
  import { Components as Components_3 } from '@pacem/pacem-ui';
10
11
  import { Components as Components_4 } from '@pacem/pacem-maps';
11
12
  import { Components as Components_5 } from '@pacem/pacem-scaffolding';
12
13
  import { CustomTypedEvent as CustomTypedEvent_2 } from '@pacem/pacem-core';
13
14
  import { CustomUIEvent as CustomUIEvent_2 } from '@pacem/pacem-core';
14
- import { EventKeyModifier } from '@pacem/pacem-core';
15
+ import { Dates as Dates_2 } from '@pacem/pacem-foundation';
16
+ import { detect as detect_2 } from '@pacem/pacem-foundation';
17
+ import { EventKeyModifier as EventKeyModifier_2 } from '@pacem/pacem-core';
15
18
  import { Geometry as Geometry_2 } from '@pacem/pacem-numerical';
16
19
  import { HistoryService as HistoryService_2 } from '@pacem/pacem-foundation';
17
20
  import { HubConnection } from '@microsoft/signalr';
21
+ import { Imaging as Imaging_2 } from '@pacem/pacem-foundation';
18
22
  import { ItemsContainer as ItemsContainer_2 } from '@pacem/pacem-core';
19
23
  import { Logging as Logging_2 } from '@pacem/pacem-core';
20
24
  import { Maps as Maps_2 } from '@pacem/pacem-maps';
@@ -26,12 +30,13 @@ import { OnPropertyChanged as OnPropertyChanged_2 } from '@pacem/pacem-core';
26
30
  import { OnViewActivated as OnViewActivated_2 } from '@pacem/pacem-core';
27
31
  import { PacemEventTarget as PacemEventTarget_2 } from '@pacem/pacem-core';
28
32
  import { Point as Point_2 } from '@pacem/pacem-foundation';
29
- import { PropertyConverter } from '@pacem/pacem-core';
33
+ import { PropertyConverter as PropertyConverter_2 } from '@pacem/pacem-core';
30
34
  import { Rect as Rect_2 } from '@pacem/pacem-foundation';
31
35
  import { Rgba as Rgba_2 } from '@pacem/pacem-foundation';
32
36
  import { Scaffolding as Scaffolding_3 } from '@pacem/pacem-scaffolding';
33
37
  import { Size as Size_2 } from '@pacem/pacem-foundation';
34
- import { Type } from '@pacem/pacem-core';
38
+ import { Strings as Strings_2 } from '@pacem/pacem-foundation';
39
+ import { Type as Type_2 } from '@pacem/pacem-core';
35
40
  import { UI as UI_2 } from '@pacem/pacem-core';
36
41
 
37
42
  declare enum AdapterOrientation {
@@ -191,6 +196,21 @@ export declare class Arrays {
191
196
  static chunkify(source: any[], size: number): any[][];
192
197
  }
193
198
 
199
+ export declare class AttributeChangeEvent extends CustomTypedEvent<AttributeChangeEventArgs> {
200
+ constructor(args: AttributeChangeEventArgs);
201
+ }
202
+
203
+ export declare interface AttributeChangeEventArgs {
204
+ attributeName: string;
205
+ oldValue?: string;
206
+ currentValue: string;
207
+ firstChange?: boolean;
208
+ }
209
+
210
+ export declare const AttributeChangeEventName: string;
211
+
212
+ export declare const avoidHandler: (evt: Event) => void;
213
+
194
214
  declare type AzureMapsAddress = {
195
215
  country: string;
196
216
  countryCode: string;
@@ -362,7 +382,7 @@ export declare class Blobs {
362
382
 
363
383
  declare type BlobTextEncoding = 'utf-8' | 'utf-16' | 'utf-16be' | 'utf-16le' | 'iso-8859-1' | 'ascii';
364
384
 
365
- declare const BooleanOrNumberConverter: PropertyConverter;
385
+ declare const BooleanOrNumberConverter: PropertyConverter_2;
366
386
 
367
387
  declare interface Box3D {
368
388
  minX: number;
@@ -547,15 +567,17 @@ export declare class Colors {
547
567
  static interpolate(cieXYZ1: CieXYZ, cieXYZ2: CieXYZ, weight1?: number, weight2?: number): CieXYZ;
548
568
  }
549
569
 
550
- declare class CommandEvent extends CustomTypedEvent<CommandEventArgs> {
570
+ export declare class CommandEvent extends CustomTypedEvent<CommandEventArgs> {
551
571
  constructor(args: CommandEventArgs);
552
572
  }
553
573
 
554
- declare type CommandEventArgs = {
574
+ export declare type CommandEventArgs = {
555
575
  commandName: string;
556
576
  commandArgument: any;
557
577
  };
558
578
 
579
+ export declare const CommandEventName: string;
580
+
559
581
  declare type CommandMetadata = {
560
582
  name: string;
561
583
  tooltip?: string;
@@ -766,6 +788,8 @@ declare function computePlaneNormal(a: Vector3D, b: Vector3D, c: Vector3D): Vect
766
788
  */
767
789
  declare function computeSharpVertexNormals(geometry: MeshGeometry): void;
768
790
 
791
+ export declare function Concurrent(): (target: any, key: string, descriptor?: PropertyDescriptor) => void;
792
+
769
793
  declare interface ContenteditableCommand {
770
794
  exec(...args: any[]): Promise<unknown>;
771
795
  }
@@ -792,7 +816,7 @@ declare class ContenteditableUtils {
792
816
  static findSurroundingNode(range: Range, tagName: string): Element;
793
817
  static findSurroundingNode(node: Node, tagName: string): Element;
794
818
  static findSurroundingNode(range: Range, filter: (node: Node) => boolean): Element;
795
- static findSurroundingNode<TNode extends Node>(range: Range, type: Type<TNode>): TNode;
819
+ static findSurroundingNode<TNode extends Node>(range: Range, type: Type_2<TNode>): TNode;
796
820
  static findSurroundingBlockElement(range: Range): Element;
797
821
  static findSurroundingSiblingBlockElements(range: Range): Element[];
798
822
  static findContainingRootElements(range: Range): Element[];
@@ -808,6 +832,28 @@ declare class ContenteditableUtils {
808
832
 
809
833
  declare const CONTENTELEMENT_BUTTONCOMMAND_TEMPLATE: string;
810
834
 
835
+ /** To be replaced when Cookie Store API types will be included in TypeScript. */
836
+ export declare type CookieData = {
837
+ name: string;
838
+ value?: string | null;
839
+ domain?: string;
840
+ expires?: string | number | Date;
841
+ maxAge?: number;
842
+ partitioned?: boolean;
843
+ path?: string;
844
+ sameSite?: 'lax' | 'strict' | 'none';
845
+ secure?: boolean;
846
+ };
847
+
848
+ export declare type CookieStoreLike = {
849
+ delete(c: string | CookieData): Promise<void>;
850
+ get(c: string): Promise<CookieData>;
851
+ set(c?: string | CookieData, value?: string): Promise<void>;
852
+ getAll(c?: string): Promise<CookieData[]>;
853
+ addEventListener: (type: 'change', handler: EventListener) => void;
854
+ removeEventListener: (type: 'change', handler: EventListener) => void;
855
+ };
856
+
811
857
  declare type CornerRadius = {
812
858
  rx: CornerRadiusComponent;
813
859
  ry: CornerRadiusComponent;
@@ -824,15 +870,151 @@ declare enum CornerType {
824
870
  Cut = "cut"
825
871
  }
826
872
 
873
+ export declare class CurrentIndexChangeEvent extends CustomTypedEvent<IndexChangeEventArgs> {
874
+ constructor(args: IndexChangeEventArgs);
875
+ }
876
+
877
+ export declare const CustomElement: (config: CustomElementConfig) => (target: Type<any>) => void;
878
+
879
+ export declare type CustomElementConfig = {
880
+ tagName: string;
881
+ options?: {
882
+ extends: string;
883
+ };
884
+ /** textual templated content */
885
+ template?: string;
886
+ /** location of the templated content to fetch */
887
+ templateUrl?: string;
888
+ /** if `true` and shadow DOM is natively available then the templated content is hosted in a ShadowRoot */
889
+ shadow?: boolean;
890
+ };
891
+
892
+ declare interface CustomElementRegistry_2 {
893
+ define(name: string, type: Type<any>, options?: {
894
+ [key: string]: string;
895
+ }): any;
896
+ get(name: string): any;
897
+ whenDefined(name: string): PromiseLike<void>;
898
+ }
899
+ export { CustomElementRegistry_2 as CustomElementRegistry }
900
+
901
+ export declare class CustomElementUtils {
902
+ static get polyfilling(): boolean;
903
+ static camelToKebab(camelCased: string): string;
904
+ static kebabToCamel(kebabCased: string): string;
905
+ static getWatchedProperties(target: Type<any>, includeInherited?: boolean): {
906
+ name: string;
907
+ config: WatchConfig;
908
+ }[];
909
+ static getWatchedProperties(element: HTMLElement, includeInherited?: boolean): {
910
+ name: string;
911
+ config: WatchConfig;
912
+ }[];
913
+ static getWatchedProperty(target: HTMLElement, name: string): {
914
+ name: string;
915
+ config: WatchConfig;
916
+ };
917
+ static importjs(src: string, integrity?: string, crossorigin?: boolean): Promise<HTMLElement>;
918
+ static importcss(src: string, integrity?: string, crossorigin?: boolean): Promise<HTMLElement>;
919
+ static import(key: string, tagName: string, attrs: {
920
+ [name: string]: any;
921
+ }, appendTo?: Node): Promise<HTMLElement>;
922
+ static Theme: {
923
+ importWebFonts(): Promise<any>;
924
+ };
925
+ static setAttachedPropertyValue(target: any, name: string, value: any): void;
926
+ static deleteAttachedPropertyValue(target: any, name: string): void;
927
+ static getAttachedPropertyValue(target: any, name: string, ensureValue?: any): any;
928
+ /**
929
+ * Resolves a dotted path into actual values.
930
+ * @param path Dotted path
931
+ * @param scope Root of the path
932
+ */
933
+ static resolvePath(path: string, scope: any): {
934
+ target: {
935
+ value: any;
936
+ name: string;
937
+ };
938
+ parent: {
939
+ value: any;
940
+ path: string;
941
+ };
942
+ root: {
943
+ value: any;
944
+ property: string;
945
+ };
946
+ };
947
+ static set(element: Node, path: string, value: any): void;
948
+ static get(element: Node, path: string): any;
949
+ /**
950
+ * Works for unit-test contexts.
951
+ * @param element
952
+ */
953
+ private static _findScopeContextLegacy;
954
+ static findScopeContext(element: HTMLElement): Document | ShadowRoot;
955
+ static findAncestor(element: Element, predicate: (Node: any) => boolean): any;
956
+ static findAncestorShell(element: Element): HTMLElement;
957
+ static findAncestorOfType<TNode extends Node>(element: Element, ctor: Type<TNode>): TNode;
958
+ static findDescendants(element: Element, predicate: (Node: any) => boolean, firstOnly?: boolean): Node[];
959
+ static findFirstDescendant(element: Element, predicate: (Node: any) => boolean): Node;
960
+ static findAll<T extends Element>(selector?: string, filter?: (e: Element) => boolean): T[];
961
+ /**
962
+ * To be used back again when Edge will allow Comment subclassing
963
+ * https://github.com/Microsoft/ChakraCore/issues/2999 and https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12080908/
964
+ * @param element
965
+ * @param ctor
966
+ * @param upLevels
967
+ */
968
+ static findPreviousSiblingOrAncestorOfType<TNode extends Node>(element: Element, ctor: Type<TNode>, upLevels?: number): TNode;
969
+ /**
970
+ * To be removed when Edge will allow Comment subclassing
971
+ * https://github.com/Microsoft/ChakraCore/issues/2999 and https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12080908/
972
+ * @param element
973
+ * @param predicate
974
+ * @param upLevels
975
+ */
976
+ static findPreviousSiblingOrAncestor(element: Element, predicate: (Node: any) => boolean, upLevels?: number): Node;
977
+ static assignHostContext(host: any, template: HTMLTemplateElement): void;
978
+ static findHostContext(element: HTMLElement): HTMLElement;
979
+ static isBindingAttribute(attr: string): boolean;
980
+ static extractBindingAttributeExpression(attr: string): string;
981
+ static parseBindingAttribute(attr: string, element: HTMLElement): Expression;
982
+ static ensureMember(o: any, name: string, attributes: PropertyDescriptor): PropertyDescriptor;
983
+ /**
984
+ * Strips all the observed attributes of an element and its descendants, in order to seal that dom branch and to avoid bindings evaluation.
985
+ * @param element Input element
986
+ */
987
+ static stripObservedAttributes(element: Element): void;
988
+ /**
989
+ * Freezes all the observed attributes of an element and its descendants, in order to seal that dom branch and to avoid bindings evaluation.
990
+ * @param element Input element
991
+ */
992
+ static freezeObservedAttributes(element: Element): void;
993
+ }
994
+
995
+ export declare class CustomEventUtils {
996
+ static isInstanceOf<TEvent extends Event>(evt: Event, type: Type<TEvent>): evt is TEvent;
997
+ static getEventCoordinates(evt: MouseEvent | TouchEvent | UIEventLike): EventCoordinates;
998
+ static getEventKeyModifiers(evt: KeyboardEvent | MouseEvent | TouchEvent | KeyEventLike): EventKeyModifiers;
999
+ /**
1000
+ * Matches the provided event against keyboard modifiers and returns 'true' if all the matches are satisfied.
1001
+ * @param evt Provided event
1002
+ * @param modifiers Array of stringified modifiers ("Ctrl", "Shift", "Alt", "Option", "Win", "Cmd")
1003
+ */
1004
+ static matchModifiers(evt: KeyboardEvent | MouseEvent | TouchEvent | KeyEventLike, modifiers: string[]): any;
1005
+ static matchModifiers(evt: KeyboardEvent | MouseEvent | TouchEvent | KeyEventLike, ...modifiers: EventKeyModifier[]): any;
1006
+ static fixEdgeCustomEventSubClassInstance<TEvent extends Event>(evt: TEvent, type: Function): void;
1007
+ }
1008
+
827
1009
  declare class CustomItemCommandEvent extends ItemEvent<any> {
828
1010
  constructor(evt: CommandEvent);
829
1011
  }
830
1012
 
831
- declare abstract class CustomTypedEvent<TDetail> extends CustomEvent<TDetail> {
1013
+ export declare abstract class CustomTypedEvent<TDetail> extends CustomEvent<TDetail> {
832
1014
  constructor(type: string, detail: TDetail, eventInit?: CustomEventInit<TDetail>);
833
1015
  }
834
1016
 
835
- declare abstract class CustomUIEvent<TDetail> extends CustomEvent<TDetail> implements UIEventLike {
1017
+ export declare abstract class CustomUIEvent<TDetail> extends CustomEvent<TDetail> implements UIEventLike {
836
1018
  #private;
837
1019
  constructor(type: string, detail: TDetail);
838
1020
  constructor(type: string, eventInit: CustomEventInit<TDetail>);
@@ -863,7 +1045,7 @@ export declare namespace DataAnalysis {
863
1045
  Lagrangian,
864
1046
  Pchip,
865
1047
  Newton,
866
- Utils_2 as Utils,
1048
+ Utils_3 as Utils,
867
1049
  SearchFunction,
868
1050
  SearchFunctions
869
1051
  }
@@ -1049,6 +1231,14 @@ declare class DateSelectEvent extends CustomTypedEvent_2<Date> {
1049
1231
  constructor(date: Date);
1050
1232
  }
1051
1233
 
1234
+ export declare function Debounce(msecs?: true | number, keyFactory?: (key: String, ...args: any[]) => string): (target: any, key: string, descriptor?: PropertyDescriptor) => void;
1235
+
1236
+ export declare class DeepCloner {
1237
+ private constructor();
1238
+ static clone(obj: any): any;
1239
+ private _clone;
1240
+ }
1241
+
1052
1242
  export declare class DeepMerger {
1053
1243
  private constructor();
1054
1244
  static merge<S extends PlainObject, T extends PlainObject>(source: S, target?: T): T & S;
@@ -1058,6 +1248,36 @@ declare const DEFAULT_ATTRIBUTION = "";
1058
1248
 
1059
1249
  declare const DEFAULT_TILES = "";
1060
1250
 
1251
+ /**
1252
+ * Default, and essentially ONLY, property comparer for equalitycheck
1253
+ * @param old value 1
1254
+ * @param val value 2
1255
+ */
1256
+ export declare const DefaultComparer: PropertyComparer<any>;
1257
+
1258
+ export declare const Defaults: {
1259
+ USE_SHADOW_ROOT: boolean;
1260
+ };
1261
+
1262
+ export declare class DeferPromise<T> implements PromiseLike<T> {
1263
+ private promise;
1264
+ private deferred;
1265
+ constructor();
1266
+ then<TResult1 = T, TResult2 = never>(onCompleted?: ((v: T) => TResult1 | PromiseLike<TResult1>), onFailed?: (v?: any) => TResult2 | PromiseLike<TResult2>): PromiseLike<TResult1 | TResult2>;
1267
+ /**
1268
+ * Occurs whenever the promise concludes (either after completion or error).
1269
+ * @param {Function } callback
1270
+ */
1271
+ finally(callback: (v?: T | any) => void | PromiseLike<void>): this;
1272
+ success(callback: (v?: T) => T | PromiseLike<T>): this;
1273
+ error(callback: (v?: any) => void | PromiseLike<void>): this;
1274
+ static defer<T>(): {
1275
+ resolve: (v?: T) => void | PromiseLike<void>;
1276
+ reject: (v?: any) => void | PromiseLike<void>;
1277
+ promise: DeferPromise<T>;
1278
+ };
1279
+ }
1280
+
1061
1281
  declare type DependsOn = {
1062
1282
  prop: string;
1063
1283
  alias?: string;
@@ -1155,6 +1375,15 @@ declare enum DockMode {
1155
1375
  Bottom = "bottom"
1156
1376
  }
1157
1377
 
1378
+ declare type DownloadOptions = {
1379
+ filename?: string;
1380
+ mime?: string;
1381
+ credentials?: RequestCredentials;
1382
+ headers?: {
1383
+ [key: string]: string;
1384
+ };
1385
+ };
1386
+
1158
1387
  declare enum DragDataMode {
1159
1388
  /** Source element is dragged around (floater is the element itself so is the data). */
1160
1389
  Self = "self",
@@ -1559,7 +1788,48 @@ declare enum EditMode {
1559
1788
 
1560
1789
  declare type ElementOrPoint = Element | Point_2;
1561
1790
 
1562
- declare const ElementOrPointPropertyConverter: PropertyConverter;
1791
+ declare const ElementOrPointPropertyConverter: PropertyConverter_2;
1792
+
1793
+ export declare const EMPTY_MATCHER: RegExp;
1794
+
1795
+ export declare interface EventCoordinates {
1796
+ readonly page: Point_2;
1797
+ readonly client: Point_2;
1798
+ readonly screen: Point_2;
1799
+ }
1800
+
1801
+ export declare enum EventKeyModifier {
1802
+ AltKey = "Alt",
1803
+ CtrlKey = "Ctrl",
1804
+ ShiftKey = "Shift",
1805
+ MetaKey = "Cmd"
1806
+ }
1807
+
1808
+ export declare interface EventKeyModifiers extends KeyEventLike {
1809
+ }
1810
+
1811
+ export declare class Expression {
1812
+ private _fnBody;
1813
+ private _voidBody;
1814
+ private _pending;
1815
+ private _independent;
1816
+ private _args;
1817
+ private _dependencies;
1818
+ private _fn;
1819
+ get dependencies(): PropertyDependency[];
1820
+ get functionBody(): string;
1821
+ get voidBody(): string;
1822
+ get pending(): boolean;
1823
+ get independent(): boolean;
1824
+ evaluate(): any;
1825
+ evaluateAsync(): PromiseLike<any>;
1826
+ evaluatePlus(args?: {
1827
+ [key: string]: any;
1828
+ }): any;
1829
+ private static _pendingExpression;
1830
+ private static _getPendingExpressionSingleton;
1831
+ static parse(expression: string, element: HTMLElement): Expression;
1832
+ }
1563
1833
 
1564
1834
  declare type ExtraRule = (Compile_2.Rule | {
1565
1835
  rule: Compile_2.Rule;
@@ -1770,7 +2040,7 @@ export declare namespace Geometry {
1770
2040
  export {
1771
2041
  LinearAlgebra,
1772
2042
  Segment,
1773
- Utils,
2043
+ Utils_2 as Utils,
1774
2044
  Polygon,
1775
2045
  Ray,
1776
2046
  Utils3D
@@ -1894,6 +2164,17 @@ export declare type ImagingResizeOptions = {
1894
2164
  background?: string;
1895
2165
  };
1896
2166
 
2167
+ export declare type IndexChangeEventArgs = {
2168
+ currentIndex: number;
2169
+ previousIndex: number;
2170
+ };
2171
+
2172
+ export declare const INSTANCE_BINDINGS_VAR = "pacem:custom-element:bindings";
2173
+
2174
+ export declare const INSTANCE_HOST_VAR = "pacem:custom-element:host";
2175
+
2176
+ export declare const INSTANCE_SCOPE_VAR = "pacem:custom-element:scope";
2177
+
1897
2178
  declare interface Interaction {
1898
2179
  time: number;
1899
2180
  cursor: Point_2;
@@ -1985,7 +2266,7 @@ declare class ItemRegisterEvent<TItem extends PacemItemElement> extends CustomTy
1985
2266
 
1986
2267
  declare const ItemRegisterEventName = "itemregister";
1987
2268
 
1988
- declare interface ItemsContainer<TItem> extends NotifyPropertyChange {
2269
+ export declare interface ItemsContainer<TItem> extends NotifyPropertyChange {
1989
2270
  items: TItem[];
1990
2271
  register(item: TItem): boolean;
1991
2272
  unregister(item: TItem): boolean;
@@ -1997,13 +2278,38 @@ declare class ItemUnregisterEvent<TItem extends PacemItemElement> extends Custom
1997
2278
 
1998
2279
  declare const ItemUnregisterEventName = "itemunregister";
1999
2280
 
2000
- declare interface Iterative<TItem> extends ItemsContainer<TItem> {
2281
+ export declare interface Iterative<TItem> extends ItemsContainer<TItem> {
2001
2282
  index: number;
2002
2283
  }
2003
2284
 
2285
+ export declare class Json {
2286
+ private _options?;
2287
+ private constructor();
2288
+ static serialize(obj: any, options?: JsonSerializationOptions): string;
2289
+ static deserialize(json: string): any;
2290
+ private _serialize;
2291
+ private _deserialize;
2292
+ private _flatten;
2293
+ private _revive;
2294
+ }
2295
+
2296
+ /** How functions get serialized. */
2297
+ export declare enum JsonFunctionConversion {
2298
+ /** Skip functions (default). */
2299
+ Ignore = 0,
2300
+ /** Functions get referenced from a state in the current DOM. Not suitable for backups or long-term dehydrations. */
2301
+ Reference = "reference",
2302
+ /** Function gets stringified and then eval(uated) while dehydrating. Functions with a state (impure) might not working properly when used on the dehydrated side. */
2303
+ Plain = "plain"
2304
+ }
2305
+
2306
+ export declare interface JsonSerializationOptions {
2307
+ functions?: JsonFunctionConversion;
2308
+ }
2309
+
2004
2310
  declare const KeyboardShortcutExecuteEventName = "execute";
2005
2311
 
2006
- declare interface KeyEventLike {
2312
+ export declare interface KeyEventLike {
2007
2313
  readonly altKey: boolean;
2008
2314
  readonly ctrlKey: boolean;
2009
2315
  readonly shiftKey: boolean;
@@ -2180,9 +2486,9 @@ declare class LatLngBounds {
2180
2486
  static equals(a: LatLngBounds, b: LatLngBounds): boolean;
2181
2487
  }
2182
2488
 
2183
- declare const LatLngBoundsConverter: PropertyConverter;
2489
+ declare const LatLngBoundsConverter: PropertyConverter_2;
2184
2490
 
2185
- declare const LatLngConverter: PropertyConverter;
2491
+ declare const LatLngConverter: PropertyConverter_2;
2186
2492
 
2187
2493
  declare interface LatLngOptions {
2188
2494
  provider: 'osm' | 'leaflet' | 'azure' | 'google' | 'gmaps' | 'leafletjs';
@@ -2793,7 +3099,7 @@ declare abstract class NodeGeometry {
2793
3099
 
2794
3100
  declare function NotifyChange(callback: (property?: string, old?: any, val?: any) => void): (target: any, prop: string, descriptor?: PropertyDescriptor) => void;
2795
3101
 
2796
- declare interface NotifyPropertyChange extends EventTarget {
3102
+ export declare interface NotifyPropertyChange extends EventTarget {
2797
3103
  }
2798
3104
 
2799
3105
  export declare class NullChecker {
@@ -2810,13 +3116,21 @@ export declare class Numbers {
2810
3116
 
2811
3117
  export declare namespace NumberTheory {
2812
3118
  export {
2813
- Utils_3 as Utils
3119
+ Utils_4 as Utils
2814
3120
  }
2815
3121
  }
2816
3122
 
2817
3123
  declare type NumericKeySelector<T> = (item: T, index?: number) => number;
2818
3124
 
2819
- declare interface OnConnected {
3125
+ export declare interface OnAdopted {
3126
+ adoptedCallback(): void;
3127
+ }
3128
+
3129
+ export declare interface OnAttributeChanged {
3130
+ attributeChangedCallback(attrName?: string, oldVal?: string, newVal?: string): void;
3131
+ }
3132
+
3133
+ export declare interface OnConnected {
2820
3134
  connectedCallback(): void;
2821
3135
  }
2822
3136
 
@@ -2824,7 +3138,7 @@ declare interface OnDestroy {
2824
3138
  destroyCallback(): void;
2825
3139
  }
2826
3140
 
2827
- declare interface OnDisconnected {
3141
+ export declare interface OnDisconnected {
2828
3142
  disconnectedCallback(): void;
2829
3143
  }
2830
3144
 
@@ -2832,11 +3146,11 @@ declare interface OnInitialize {
2832
3146
  initializeCallback(): void;
2833
3147
  }
2834
3148
 
2835
- declare interface OnPropertyChanged {
3149
+ export declare interface OnPropertyChanged {
2836
3150
  propertyChangedCallback(name?: string, oldVal?: any, newVal?: any, firstChange?: boolean): void;
2837
3151
  }
2838
3152
 
2839
- declare interface OnViewActivated {
3153
+ export declare interface OnViewActivated {
2840
3154
  viewActivatedCallback(): void;
2841
3155
  }
2842
3156
 
@@ -3019,7 +3333,7 @@ declare type OrbitCameraConfiguration = {
3019
3333
  declare type OrbitCameraControl = {
3020
3334
  enabled: boolean;
3021
3335
  button?: number;
3022
- modifiers?: EventKeyModifier[];
3336
+ modifiers?: EventKeyModifier_2[];
3023
3337
  };
3024
3338
 
3025
3339
  declare interface OrthographicCamera extends Camera {
@@ -3041,6 +3355,9 @@ declare interface OverlayAdapter {
3041
3355
  drawOverlay(item: PacemMapOverlayElement): void;
3042
3356
  }
3043
3357
 
3358
+ /** the overall customelement prefix */
3359
+ export declare const P: any;
3360
+
3044
3361
  declare abstract class Pacem2DAdapterElement extends PacemEventTarget_2 {
3045
3362
  protected DefaultShapeValues: {
3046
3363
  stroke: string;
@@ -4980,7 +5297,7 @@ declare class PacemEventProxyElement extends PacemEventTarget {
4980
5297
  private _emitHandler;
4981
5298
  }
4982
5299
 
4983
- declare abstract class PacemEventTarget extends HTMLElement implements NotifyPropertyChange, OnPropertyChanged, OnConnected, OnViewActivated, OnDisconnected {
5300
+ export declare abstract class PacemEventTarget extends HTMLElement implements NotifyPropertyChange, OnPropertyChanged, OnConnected, OnViewActivated, OnDisconnected {
4984
5301
  constructor();
4985
5302
  /**
4986
5303
  * Executes the relevant handler defined in the `on-{evt.type}` attribute, if any.
@@ -7850,6 +8167,8 @@ declare class Pchip implements Interpolator {
7850
8167
  static create(values: number[]): Pchip;
7851
8168
  }
7852
8169
 
8170
+ export declare const PCSS: any;
8171
+
7853
8172
  declare interface PerspectiveCamera extends Camera {
7854
8173
  type: "perspective";
7855
8174
  /** Vertical field of view in degrees. */
@@ -7943,9 +8262,9 @@ declare interface Point3D {
7943
8262
  z: number;
7944
8263
  }
7945
8264
 
7946
- declare const Point3DConverter: PropertyConverter;
8265
+ declare const Point3DConverter: PropertyConverter_2;
7947
8266
 
7948
- declare const Point3DOrNumberConverter: PropertyConverter;
8267
+ declare const Point3DOrNumberConverter: PropertyConverter_2;
7949
8268
 
7950
8269
  declare type PointerEventLike = MouseEvent | PointerEvent | TouchEvent;
7951
8270
 
@@ -8039,6 +8358,65 @@ declare class PresentationState {
8039
8358
  static combine(lhs: PresentationState, rhs: PresentationState, precomputedMatrix?: Matrix2D_2): PresentationState;
8040
8359
  }
8041
8360
 
8361
+ export declare const preventDefaultHandler: (evt: Event) => void;
8362
+
8363
+ export declare class PropertyChangeEvent extends CustomTypedEvent<PropertyChangeEventArgs> {
8364
+ constructor(args: PropertyChangeEventArgs);
8365
+ }
8366
+
8367
+ export declare interface PropertyChangeEventArgs {
8368
+ propertyName: string;
8369
+ oldValue?: any;
8370
+ currentValue: any;
8371
+ firstChange?: boolean;
8372
+ }
8373
+
8374
+ export declare const PropertyChangeEventName: string;
8375
+
8376
+ export declare type PropertyComparer<T> = (old: T, val: T) => boolean;
8377
+
8378
+ export declare interface PropertyConverter {
8379
+ /** You can assume `attr` not null, cause it will be processed only in that case. */
8380
+ readonly convert: (attr: string, element?: HTMLElement) => any;
8381
+ /** You can assume `prop` not null, cause it will be processed only in that case. */
8382
+ readonly convertBack?: (prop: any, element?: HTMLElement) => string;
8383
+ /** Whether to retry, once more, the conversion attribute-to-property, if no results were yielded before the element was ready and the DOM loaded. */
8384
+ readonly retryConversionWhenReady?: boolean;
8385
+ }
8386
+
8387
+ export declare const PropertyConverters: {
8388
+ None: PropertyConverter;
8389
+ String: PropertyConverter;
8390
+ StringArray: PropertyConverter;
8391
+ Number: PropertyConverter;
8392
+ Boolean: PropertyConverter;
8393
+ BooleanStrict: PropertyConverter;
8394
+ Date: PropertyConverter;
8395
+ Datetime: PropertyConverter;
8396
+ Json: PropertyConverter;
8397
+ Eval: PropertyConverter;
8398
+ Element: PropertyConverter;
8399
+ Point: PropertyConverter;
8400
+ Rect: PropertyConverter;
8401
+ Size: PropertyConverter;
8402
+ };
8403
+
8404
+ export declare type PropertyDependencies = {
8405
+ [name: string]: PropertyDependency;
8406
+ };
8407
+
8408
+ export declare type PropertyDependency = {
8409
+ /** Element to depend upon */
8410
+ element: Node;
8411
+ /** Property of the element that is needed to observe */
8412
+ property: string;
8413
+ /** Path to the value that carries the final piece of information */
8414
+ path: string;
8415
+ /** Is it a two way binding? or "bind just once" then forget?... */
8416
+ mode?: 'twoway' | 'once' | 'oneway';
8417
+ twowayAllowed: boolean;
8418
+ };
8419
+
8042
8420
  declare type PropertyMetadata = {
8043
8421
  prop: string;
8044
8422
  type: 'object' | 'array' | string | /* let the possibility to inject custom scaffolding elements */ PropertyMetadataFieldFactory;
@@ -8198,7 +8576,7 @@ declare class Quaternion_2 {
8198
8576
  static dot(q1: Quaternion_2, q2: Quaternion_2): number;
8199
8577
  }
8200
8578
 
8201
- declare const QuaternionConverter: PropertyConverter;
8579
+ declare const QuaternionConverter: PropertyConverter_2;
8202
8580
 
8203
8581
  declare interface RadialGradient extends Gradient {
8204
8582
  center: Point_2;
@@ -8254,6 +8632,21 @@ export declare class Rect {
8254
8632
  static expand(rect: Rect, ...points: Point[]): Rect;
8255
8633
  }
8256
8634
 
8635
+ export declare class Regex {
8636
+ /**
8637
+ * Splits an input string into segments based on a matching pattern.
8638
+ * @param input Input string
8639
+ * @param pattern RegExp pattern
8640
+ */
8641
+ static split(input: string, pattern: RegExp): RegexMatchSegment[];
8642
+ }
8643
+
8644
+ export declare type RegexMatchSegment = {
8645
+ value: string;
8646
+ match: boolean;
8647
+ index: number;
8648
+ };
8649
+
8257
8650
  declare interface Renderable {
8258
8651
  stage?: Stage_3;
8259
8652
  position: Vector3D;
@@ -8291,11 +8684,11 @@ declare interface Renderer {
8291
8684
  render: (tree: Token[]) => string;
8292
8685
  }
8293
8686
 
8294
- declare interface Repeater extends HTMLElement {
8687
+ export declare interface Repeater extends HTMLElement {
8295
8688
  datasource: any[];
8296
8689
  }
8297
8690
 
8298
- declare class Repeater {
8691
+ export declare class Repeater {
8299
8692
  /**
8300
8693
  * Seeks for a PacemRepeaterItem element upwards through the DOM tree, given a starting element and the number of nesting levels.
8301
8694
  * @param element {HTMLElement} Element to start the upward search from
@@ -8304,7 +8697,7 @@ declare class Repeater {
8304
8697
  static findItemContext(element: Element, upLevels?: number, logFn?: (message?: string) => void): RepeaterItem;
8305
8698
  }
8306
8699
 
8307
- declare abstract class RepeaterItem {
8700
+ export declare abstract class RepeaterItem {
8308
8701
  private _placeholder;
8309
8702
  static findUpwards(element: Element, upLevels?: number, logFn?: (message?: string) => void): RepeaterItem;
8310
8703
  static isRepeaterItem(node: Node): boolean;
@@ -8473,6 +8866,12 @@ declare interface Rotator {
8473
8866
  dispatchEvent(evt: RotateEvent): boolean;
8474
8867
  }
8475
8868
 
8869
+ declare type RouteMetadata = {
8870
+ name: string;
8871
+ optional: boolean;
8872
+ index: number;
8873
+ };
8874
+
8476
8875
  declare class RouterNavigateEvent extends CustomTypedEvent<RouterNavigateEventArgs> {
8477
8876
  constructor(path: string | RouterNavigateEventArgs);
8478
8877
  }
@@ -8491,7 +8890,7 @@ declare class RouterNavigatingEvent extends CustomTypedEvent<string> {
8491
8890
 
8492
8891
  declare const RouterNavigatingEventName = "navigating";
8493
8892
 
8494
- declare type RouterState = {
8893
+ export declare type RouterState = {
8495
8894
  [key: string]: string;
8496
8895
  } & {
8497
8896
  $pathname: string;
@@ -8828,9 +9227,9 @@ declare class StageEvent extends UI2DEvent<Stage> {
8828
9227
  declare type StageOptions = {
8829
9228
  panControl: boolean;
8830
9229
  zoomControl: boolean;
8831
- panModifiers: EventKeyModifier[];
8832
- zoomModifiers: EventKeyModifier[];
8833
- clickModifiers: EventKeyModifier[];
9230
+ panModifiers: EventKeyModifier_2[];
9231
+ zoomModifiers: EventKeyModifier_2[];
9232
+ clickModifiers: EventKeyModifier_2[];
8834
9233
  };
8835
9234
 
8836
9235
  declare enum StalePropertyFlag {
@@ -8880,6 +9279,8 @@ declare enum StickyHeaderVisibility {
8880
9279
  QuickReturn = "quickreturn"
8881
9280
  }
8882
9281
 
9282
+ export declare const stopPropagationHandler: (evt: Event) => void;
9283
+
8883
9284
  declare class Storage_2 {
8884
9285
  private _getStorage;
8885
9286
  private _parseValue;
@@ -8901,6 +9302,7 @@ declare class Storage_2 {
8901
9302
  clear(): void;
8902
9303
  removeProperty(name: string): void;
8903
9304
  }
9305
+ export { Storage_2 as Storage }
8904
9306
 
8905
9307
  export declare class Strings {
8906
9308
  /** @deprecated Use String.prototype.padStart() instead. */
@@ -9012,7 +9414,7 @@ declare interface Swiper {
9012
9414
  dispatchEvent(evt: SwipeEvent): boolean;
9013
9415
  }
9014
9416
 
9015
- declare abstract class TemplateElement extends HTMLElement {
9417
+ export declare abstract class TemplateElement extends HTMLElement {
9016
9418
  }
9017
9419
 
9018
9420
  declare interface Text_2 extends UiObject {
@@ -9026,6 +9428,8 @@ declare interface Text_2 extends UiObject {
9026
9428
  textAnchor?: 'start' | 'middle' | 'end';
9027
9429
  }
9028
9430
 
9431
+ export declare function Throttle(msecs?: true | number, keyFactory?: (key: String, ...args: any[]) => string): (target: any, key: string, descriptor?: PropertyDescriptor) => void;
9432
+
9029
9433
  declare interface Timeline {
9030
9434
  target: Element;
9031
9435
  property: string;
@@ -9075,6 +9479,11 @@ declare type TrackingData = {
9075
9479
  current: number;
9076
9480
  };
9077
9481
 
9482
+ declare function Transformer_2(name?: string): (target: any, key: string, descriptor?: PropertyDescriptor) => void;
9483
+ export { Transformer_2 as Transformer }
9484
+
9485
+ export declare type TransformFunction = (value?: any, ...args: any[]) => any;
9486
+
9078
9487
  declare abstract class TweenAnimationElement<T> extends AnimationElement {
9079
9488
  #private;
9080
9489
  private _tweener;
@@ -9091,6 +9500,12 @@ declare class TweenService {
9091
9500
  run(from: number, to: number, duration: number, delay?: number, easing?: (time: number) => number, callback?: (time: number, value: number) => void): Promise<void>;
9092
9501
  }
9093
9502
 
9503
+ export declare const Type: FunctionConstructor;
9504
+
9505
+ export declare interface Type<T> extends Function {
9506
+ new (...args: any[]): T;
9507
+ }
9508
+
9094
9509
  declare type TypeMetadata = {
9095
9510
  display?: DisplayMetadata;
9096
9511
  props: PropertyMetadata[];
@@ -9280,7 +9695,7 @@ declare abstract class UiElement extends DrawableElement implements UiObject {
9280
9695
  };
9281
9696
  }
9282
9697
 
9283
- declare interface UIEventLike extends KeyEventLike {
9698
+ export declare interface UIEventLike extends KeyEventLike {
9284
9699
  readonly clientX: number;
9285
9700
  readonly clientY: number;
9286
9701
  readonly pageX: number;
@@ -9294,7 +9709,285 @@ declare interface UiObject extends Drawable {
9294
9709
  readonly transformMatrix?: Matrix2D_2;
9295
9710
  }
9296
9711
 
9297
- declare class Utils {
9712
+ export declare class Utils {
9713
+ static get core(): any;
9714
+ static get customElements(): any;
9715
+ static uniqueId(): number;
9716
+ static uniqueCode(): string;
9717
+ static randomString(length: number): string;
9718
+ static parseDate(input: string | Date | number): Date;
9719
+ static copyToClipboard(input: string): Promise<void>;
9720
+ static Json: {
9721
+ stringify: typeof Json.serialize;
9722
+ parse: typeof Json.deserialize;
9723
+ };
9724
+ static Dates: {
9725
+ now: () => Date;
9726
+ parse: typeof Utils.parseDate;
9727
+ isLeapYear: typeof Dates_2.isLeapYear;
9728
+ daysInMonth: typeof Dates_2.daysInMonth;
9729
+ /**
9730
+ * Gets whether a date is an `Invalid Date` or not.
9731
+ * @param date
9732
+ */
9733
+ isDate: typeof Dates_2.isDate;
9734
+ dateOnly: typeof Dates_2.dateOnly;
9735
+ addMonths: typeof Dates_2.addMonths;
9736
+ addDays: typeof Dates_2.addDays;
9737
+ daysBetween: typeof Dates_2.daysBetween;
9738
+ };
9739
+ static colorize(element: HTMLElement, rgb: string | [number, number, number]): void;
9740
+ static colorize(rgb: string | [number, number, number]): string;
9741
+ static cssEscape(input: string): string;
9742
+ static Css: {
9743
+ colorize: typeof Utils.colorize;
9744
+ escape: typeof Utils.cssEscape;
9745
+ getVariableValue(name: string): string;
9746
+ setVariable(name: string, value: string): void;
9747
+ /**
9748
+ * Naive O(n^2) implementation for an actual css class presence (definition) in the current DOM.
9749
+ * @param name CSS class name
9750
+ */
9751
+ isClassDefined(name: string): boolean;
9752
+ deserializeTransform(element: Element | CSSStyleDeclaration): Matrix2D_2;
9753
+ };
9754
+ static leftPad: typeof Strings_2.leftPad;
9755
+ static formatString: typeof Strings_2.format;
9756
+ static diff: typeof Strings_2.diff;
9757
+ static Strings: {
9758
+ leftPad: typeof Strings_2.leftPad;
9759
+ format: typeof Strings_2.format;
9760
+ diff: typeof Strings_2.diff;
9761
+ stripHTML: (html: string) => string;
9762
+ };
9763
+ static Blobs: {
9764
+ toDataURL: typeof Blobs_2.blobToDataURL;
9765
+ fromDataURL: typeof Blobs_2.dataURLToBlob;
9766
+ toText: typeof Blobs_2.blobToText;
9767
+ fromText: typeof Blobs_2.textToBlob;
9768
+ };
9769
+ static Images: {
9770
+ load: typeof Imaging_2.loadImage;
9771
+ resize: typeof Imaging_2.resizeImage;
9772
+ };
9773
+ static loadImage(src: string): Promise<HTMLImageElement>;
9774
+ static blobToDataURL(blob: Blob): Promise<string>;
9775
+ static dataURLToBlob(dataURL: string): Blob;
9776
+ static blobToText(blob: Blob, encoding?: string): Promise<string>;
9777
+ static textToBlob(content: string, type?: string): Blob;
9778
+ /** @deprecated Use {Utils.Images.resize}, instead.
9779
+ * Resizes an image when exceeding the provided size constraints.
9780
+ * @param img {Blob} Input image
9781
+ * @param maxWidth {number} Width constraint
9782
+ * @param maxHeight {number} Height constraint
9783
+ */
9784
+ static resizeImage(img: Blob, maxWidth: number, maxHeight: number, quality?: number): PromiseLike<Blob>;
9785
+ /** @deprecated Use {Utils.Images.resize}, instead.
9786
+ * Crops an image having the provided url (might be a dataURL) into another having the provided size
9787
+ * @param url
9788
+ * @param width
9789
+ * @param height
9790
+ * @param ctx
9791
+ */
9792
+ static cropImage(url: string, width?: number, height?: number, quality?: number): PromiseLike<string>;
9793
+ static getUserMediaFunctions(): any[];
9794
+ /**
9795
+ * Crops the snapshot of a drawable element onto a provided canvas context. It gets centered in the area and cropped (`cover`-like behavior).
9796
+ * @param el drawable element
9797
+ * @param ctx canvas context
9798
+ * @param sourceWidth forced source width
9799
+ * @param sourceHeight forced source height
9800
+ */
9801
+ static cropImageOntoCanvas(el: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, ctx: CanvasRenderingContext2D, sourceWidth?: number, sourceHeight?: number): void;
9802
+ private static get _domURL();
9803
+ /**
9804
+ * Snapshots a DOM element and returns its blob image representation.
9805
+ * @param el Element to snapshot
9806
+ * @param background Background color to replace the original
9807
+ * @param type Output mimetype (image/png, image/jpeg, images/webp, ...)
9808
+ * @param quality Quality ratio between 0..1
9809
+ */
9810
+ static snapshotElement(el: HTMLElement | SVGElement, background?: string, type?: string, quality?: number): Promise<Blob>;
9811
+ static download(content: Blob, filename?: string, mime?: string): Promise<void>;
9812
+ static download(url: string, filename?: string, mime?: string): Promise<void>;
9813
+ static download(url: string, options: DownloadOptions): Promise<void>;
9814
+ static isDOMReady(): boolean;
9815
+ static onDOMReady(listener: EventListenerOrEventListenerObject): void;
9816
+ /**
9817
+ * Moves all the source element children to the target element and returns them as an array of nodes.
9818
+ * @param source Source element.
9819
+ * @param target Target element.
9820
+ */
9821
+ static moveChildren(source: Element, target: Element): Node[];
9822
+ /**
9823
+ * Moves specific nodes to the target element and returns them as an array of nodes.
9824
+ * @param nodes Nodes to move.
9825
+ * @param target Target element.
9826
+ */
9827
+ static moveItems(nodes: Node[] | NodeList, target: Element): Node[];
9828
+ static is(el: any, selector: string): boolean;
9829
+ static lang(el: HTMLElement): string;
9830
+ static jsonSortStringify(obj: {}): string;
9831
+ static Browsers: {
9832
+ detect: typeof detect_2;
9833
+ };
9834
+ static cookies(cookie?: string): Record<string, string>;
9835
+ static Cookies: {
9836
+ getAll: (cookieName?: string) => Promise<CookieData[]>;
9837
+ stringify: (data: CookieData) => string;
9838
+ };
9839
+ static isVisible(el: HTMLElement | SVGElement): boolean;
9840
+ static hasClass(el: HTMLElement | SVGElement, className: string): boolean;
9841
+ static addClass(el: HTMLElement | SVGElement, className: string): void;
9842
+ static removeClass(el: HTMLElement | SVGElement, className: string): void;
9843
+ static toggleClass(el: HTMLElement | SVGElement, className: string, on: boolean): void;
9844
+ static hasPart(el: HTMLElement | SVGElement, partName: string): boolean;
9845
+ static addPart(el: HTMLElement | SVGElement, partName: string): void;
9846
+ static removePart(el: HTMLElement | SVGElement, partName: string): void;
9847
+ static togglePart(el: HTMLElement | SVGElement, partName: string, on: boolean): void;
9848
+ /**
9849
+ * Retrieve the bounding box of the provided element as of its rendered appearance on the stage (takes transformations into account).
9850
+ * @param el The element.
9851
+ */
9852
+ static offset(el: Element): {
9853
+ top: number;
9854
+ left: number;
9855
+ width: number;
9856
+ height: number;
9857
+ };
9858
+ /**
9859
+ * Retrieve the bounding box of the provided element as of its rendered appearance on the stage (takes transformations into account).
9860
+ * @param el The element.
9861
+ */
9862
+ static offsetRect(el: Element): Rect_2;
9863
+ static naturalOffsetTop(el: HTMLElement): number;
9864
+ static naturalOffsetLeft(el: HTMLElement): number;
9865
+ /**
9866
+ * Retrieve the natural bounding box of the provided element (does not takes transformations into account).
9867
+ * @param el {HTMLElement} The element.
9868
+ */
9869
+ static naturalOffset(el: HTMLElement): {
9870
+ top: number;
9871
+ left: number;
9872
+ width: number;
9873
+ height: number;
9874
+ };
9875
+ /**
9876
+ * Retrieve the natural bounding box of the provided element (does not takes transformations into account).
9877
+ * @param el {HTMLElement} The element.
9878
+ */
9879
+ static naturalOffsetRect(el: HTMLElement): Rect_2;
9880
+ static deserializeTransform(element: Element): Matrix2D_2;
9881
+ static deserializeTransform(style: CSSStyleDeclaration): Matrix2D_2;
9882
+ static set scrollTop(y: number);
9883
+ static set scrollLeft(x: number);
9884
+ static get scrollTop(): number;
9885
+ static get scrollLeft(): number;
9886
+ static get windowSize(): {
9887
+ width: number;
9888
+ height: number;
9889
+ };
9890
+ /**
9891
+ * Adds a callback at the end of a CSS animation/transition for a given element (execute once).
9892
+ * @param element The very element that has to trigger the animation/transitionend event.
9893
+ * @param callback Then callback.
9894
+ * @param timeout Fallback timeout (ms) in case the animation/transitionend event won't fire.
9895
+ */
9896
+ static addAnimationEndCallback(element: HTMLElement | SVGElement, callback: (element?: HTMLElement | SVGElement) => void, timeout?: number): void;
9897
+ /**
9898
+ * Promisifies the addAnimationEndCallback function.
9899
+ * @param element The very element that has to trigger the animation/transitionend event.
9900
+ * @param timeout Fallback timeout (ms) in case the animation/transitionend event won't fire.
9901
+ */
9902
+ static waitForAnimationEnd(element: HTMLElement | SVGElement, timeout?: number): Promise<void>;
9903
+ /**
9904
+ * Waits until the provided timespan elapses.
9905
+ * @param msecs timespan in milliseconds
9906
+ */
9907
+ static idle(msecs: number): Promise<void>;
9908
+ /**
9909
+ * Increases a callback loop call until cancelation is called.
9910
+ * @param callback Callback looped.
9911
+ * @param interval First callback call delay in ms (default 500).
9912
+ * @param pace Acceleration in ms per loop (default 5).
9913
+ * @param min Minimum loop rate in ms (default 20).
9914
+ *
9915
+ * Use case/example: while keeping a button pressed, the related callback execution increases in frequency.
9916
+ */
9917
+ static accelerateCallback(callback: (token: {
9918
+ cancel: boolean;
9919
+ }) => void, interval?: number, pace?: number, min?: number): void;
9920
+ static isEmpty(obj: any): boolean;
9921
+ static isNull(obj: any): obj is null | undefined;
9922
+ static isArray(val: any): val is any[];
9923
+ static isNullOrEmpty(val: any): boolean;
9924
+ /**
9925
+ * It is a `valueOf()` based comparison.
9926
+ * @param v1 term 1
9927
+ * @param v2 term 2
9928
+ */
9929
+ static areSemanticallyEqual(v1: any, v2: any): boolean;
9930
+ /** Legacy alias for Object.assign(). */
9931
+ static extend: {
9932
+ <T extends {}, U>(target: T, source: U): T & U;
9933
+ <T extends {}, U, V>(target: T, source1: U, source2: V): T & U & V;
9934
+ <T extends {}, U, V, W>(target: T, source1: U, source2: V, source3: W): T & U & V & W;
9935
+ (target: object, ...sources: any[]): any;
9936
+ };
9937
+ static clone<T>(obj: T): T;
9938
+ /** Legacy alias for Promise.resolve(). */
9939
+ static fromResult<T>(v: T): Promise<T>;
9940
+ static fromResultAsync<T>(task: () => T): Promise<T>;
9941
+ /**
9942
+ * Creates an immutable (readonly) copy of an object while preserving the referential values (shallow immutability).
9943
+ * @param obj Input object to be frozen
9944
+ */
9945
+ static readonlyCopy<T>(obj: {
9946
+ [name: string]: T;
9947
+ }): Readonly<{
9948
+ [name: string]: T;
9949
+ }>;
9950
+ /**
9951
+ * Creates an immutable (readonly) copy of an array while preserving the referential values (shallow immutability).
9952
+ * @param obj Input array to be frozen
9953
+ */
9954
+ static readonlyCopy<T>(array: T[]): ReadonlyArray<T>;
9955
+ static URIs: {
9956
+ format: (url: string, parameters: {
9957
+ [name: string]: string;
9958
+ }, removeMatchedParameters?: boolean) => string;
9959
+ appendQuery: (url: string, parameters: {
9960
+ [name: string]: string;
9961
+ }, removeNullEntries?: boolean, hash?: boolean) => string;
9962
+ parseQuery: (query?: string | Location) => Record<string, string>;
9963
+ hasMandatoryTemplateSegments: (url: any) => boolean;
9964
+ parseRoute: (pathTemplate: string) => RouteMetadata[];
9965
+ split: (url: string) => {
9966
+ protocol?: string;
9967
+ domain?: string;
9968
+ path: string;
9969
+ query?: string;
9970
+ hash?: string;
9971
+ };
9972
+ parseState: (metadata: RouteMetadata[], url: string, path?: string, query?: string, hash?: string) => RouterState;
9973
+ };
9974
+ /**
9975
+ * Ensures the proper parsing of Web API results, including deprecated/legacy Pacem wrapped results.
9976
+ */
9977
+ static getApiResult(json: any): any;
9978
+ }
9979
+
9980
+ declare class Utils3D {
9981
+ /**
9982
+ * Computes the intersection between a ray and a triangle in the 3D space - if any - using the Möller–Trumbore algorithm.
9983
+ * @param ray Array of two points identifying a ray.
9984
+ * @param triangle Array of three points identifying a triangle.
9985
+ * @returns Intersection point if any, otherwise null.
9986
+ */
9987
+ static intersect(ray: Ray, triangle: [Point3D, Point3D, Point3D]): Point3D | null;
9988
+ }
9989
+
9990
+ declare class Utils_2 {
9298
9991
  /**
9299
9992
  * Computes the slope (in radians) of the segment joining two points.
9300
9993
  * @param p1 Point 1
@@ -9463,18 +10156,8 @@ declare class Utils {
9463
10156
  static convexHull(points: Point_2[]): Point_2[];
9464
10157
  }
9465
10158
 
9466
- declare class Utils3D {
9467
- /**
9468
- * Computes the intersection between a ray and a triangle in the 3D space - if any - using the Möller–Trumbore algorithm.
9469
- * @param ray Array of two points identifying a ray.
9470
- * @param triangle Array of three points identifying a triangle.
9471
- * @returns Intersection point if any, otherwise null.
9472
- */
9473
- static intersect(ray: Ray, triangle: [Point3D, Point3D, Point3D]): Point3D | null;
9474
- }
9475
-
9476
10159
  /** Utility tools about statistics, probability, data analysis... */
9477
- declare class Utils_2 {
10160
+ declare class Utils_3 {
9478
10161
  static sum<T>(set: T[], selector: NumericKeySelector<T>): number;
9479
10162
  static sum(set: number[]): number;
9480
10163
  static mean<T>(set: T[], selector: NumericKeySelector<T>): number;
@@ -9525,7 +10208,7 @@ declare class Utils_2 {
9525
10208
  }
9526
10209
 
9527
10210
  /** Utility tools about number theory, 'diophantine' stuff... */
9528
- declare class Utils_3 {
10211
+ declare class Utils_4 {
9529
10212
  static lcd(...args: number[]): number;
9530
10213
  static gcd(a: number, b: number): any;
9531
10214
  static rebaseInt(v: number | string, from: number, to: number): string;
@@ -9686,6 +10369,8 @@ declare type ViewBoxAspectRatio = 'none' | {
9686
10369
  slice?: boolean;
9687
10370
  };
9688
10371
 
10372
+ export declare function ViewChild(selector: string): (target: any, prop: string, descriptor?: PropertyDescriptor) => void;
10373
+
9689
10374
  declare class ViewDateChangeEvent extends CustomTypedEvent_2<Date> {
9690
10375
  constructor(date: Date);
9691
10376
  }
@@ -9694,6 +10379,22 @@ declare interface Wai {
9694
10379
  readonly aria: Aria;
9695
10380
  }
9696
10381
 
10382
+ export declare function Watch(config?: WatchConfig): (target: any, prop: string, descriptor?: PropertyDescriptor) => void;
10383
+
10384
+ export declare const WATCH_PROPS_VAR: string;
10385
+
10386
+ export declare type WatchConfig = {
10387
+ /** Whether to debounce the property change for a while or not (numeric to specify milliseconds) */
10388
+ debounce?: boolean | number;
10389
+ /** Whether to reflect the property value back to the element attribute, or not (default false) */
10390
+ reflectBack?: boolean;
10391
+ /** Whether to emit property change event or not (default true) */
10392
+ emit?: boolean;
10393
+ /** Alias property name */
10394
+ /** Property converter */
10395
+ converter?: PropertyConverter;
10396
+ };
10397
+
9697
10398
  declare type WGSLModifierDelegates = {
9698
10399
  vertexInput?: string | VertexInputModifierDelegate;
9699
10400
  vertexOutput?: string | VertexOutputModifierDelegate;
@@ -9710,27 +10411,64 @@ declare global {
9710
10411
  export {
9711
10412
  Angle,
9712
10413
  Arrays,
10414
+ AttributeChangeEvent,
10415
+ AttributeChangeEventArgs,
10416
+ AttributeChangeEventName,
10417
+ avoidHandler,
9713
10418
  Blobs,
9714
10419
  Charts,
9715
10420
  CieXYZ,
9716
10421
  Colors,
10422
+ CommandEvent,
10423
+ CommandEventArgs,
10424
+ CommandEventName,
9717
10425
  Compile,
9718
10426
  Components,
10427
+ Concurrent,
10428
+ CookieData,
10429
+ CookieStoreLike,
10430
+ CurrentIndexChangeEvent,
10431
+ CustomElement,
10432
+ CustomElementConfig,
10433
+ CustomElementUtils,
10434
+ CustomEventUtils,
10435
+ CustomTypedEvent,
10436
+ CustomUIEvent,
9719
10437
  DataAnalysis,
9720
10438
  Dates,
10439
+ Debounce,
10440
+ DeepCloner,
9721
10441
  DeepMerger,
10442
+ DefaultComparer,
10443
+ Defaults,
10444
+ DeferPromise,
9722
10445
  detect,
9723
10446
  DiffMode,
9724
10447
  DiffToken,
9725
10448
  DiffTokenType,
9726
10449
  Drawing,
9727
10450
  Drawing3D,
10451
+ EMPTY_MATCHER,
10452
+ EventCoordinates,
10453
+ EventKeyModifier,
10454
+ EventKeyModifiers,
10455
+ Expression,
9728
10456
  Fx,
9729
10457
  Geometry,
9730
10458
  HistoryService,
9731
10459
  Hsla,
9732
10460
  Imaging,
9733
10461
  ImagingResizeOptions,
10462
+ IndexChangeEventArgs,
10463
+ INSTANCE_BINDINGS_VAR,
10464
+ INSTANCE_HOST_VAR,
10465
+ INSTANCE_SCOPE_VAR,
10466
+ ItemsContainer,
10467
+ Iterative,
10468
+ Json,
10469
+ JsonFunctionConversion,
10470
+ JsonSerializationOptions,
10471
+ KeyEventLike,
9734
10472
  Keys,
9735
10473
  L10n,
9736
10474
  LinearAlgebra,
@@ -9741,19 +10479,57 @@ declare global {
9741
10479
  Matrix2D,
9742
10480
  Media,
9743
10481
  Networking,
10482
+ NotifyPropertyChange,
9744
10483
  NullChecker,
9745
10484
  Numbers,
9746
10485
  NumberTheory,
10486
+ OnAdopted,
10487
+ OnAttributeChanged,
10488
+ OnConnected,
10489
+ OnDisconnected,
10490
+ OnPropertyChanged,
10491
+ OnViewActivated,
9747
10492
  OpenApi,
10493
+ P,
10494
+ PacemEventTarget,
9748
10495
  parseAsNumericalArray,
10496
+ PCSS,
9749
10497
  Plus,
9750
10498
  Point,
10499
+ preventDefaultHandler,
10500
+ PropertyChangeEvent,
10501
+ PropertyChangeEventArgs,
10502
+ PropertyChangeEventName,
10503
+ PropertyComparer,
10504
+ PropertyConverter,
10505
+ PropertyConverters,
10506
+ PropertyDependencies,
10507
+ PropertyDependency,
9751
10508
  Rect,
10509
+ Regex,
10510
+ RegexMatchSegment,
10511
+ Repeater,
10512
+ RepeaterItem,
9752
10513
  Rgba,
10514
+ RouterState,
9753
10515
  Scaffolding,
9754
10516
  Size,
10517
+ stopPropagationHandler,
9755
10518
  Strings,
9756
- UI
10519
+ TemplateElement,
10520
+ Throttle,
10521
+ TransformFunction,
10522
+ Type,
10523
+ UI,
10524
+ UIEventLike,
10525
+ Utils,
10526
+ ViewChild,
10527
+ Watch,
10528
+ WATCH_PROPS_VAR,
10529
+ WatchConfig,
10530
+ CustomElementRegistry,
10531
+ Storage,
10532
+ Transformer
9757
10533
  };
9758
10534
  }
9759
10535
  }