@pacem/pacem 1.0.0-bessel → 1.0.0-binet

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 (66) hide show
  1. package/dist/browser/pacem-2d.js +149 -2
  2. package/dist/browser/pacem-2d.js.map +1 -1
  3. package/dist/browser/pacem-2d.min.js +1 -1
  4. package/dist/browser/pacem-3d.js +646 -2
  5. package/dist/browser/pacem-3d.js.map +1 -1
  6. package/dist/browser/pacem-3d.min.js +1 -1
  7. package/dist/browser/pacem-charts.js +21 -1
  8. package/dist/browser/pacem-charts.js.map +1 -1
  9. package/dist/browser/pacem-charts.min.js +1 -1
  10. package/dist/browser/pacem-cms.js +118 -3
  11. package/dist/browser/pacem-cms.js.map +1 -1
  12. package/dist/browser/pacem-cms.min.js +1 -1
  13. package/dist/browser/pacem-core.js +870 -9
  14. package/dist/browser/pacem-core.js.map +1 -1
  15. package/dist/browser/pacem-core.min.js +2 -2
  16. package/dist/browser/pacem-foundation.js +296 -1
  17. package/dist/browser/pacem-foundation.js.map +1 -1
  18. package/dist/browser/pacem-foundation.min.js +1 -1
  19. package/dist/browser/pacem-fx.js +18 -1
  20. package/dist/browser/pacem-fx.js.map +1 -1
  21. package/dist/browser/pacem-fx.min.js +1 -1
  22. package/dist/browser/pacem-logging.js +15 -1
  23. package/dist/browser/pacem-logging.js.map +1 -1
  24. package/dist/browser/pacem-logging.min.js +1 -1
  25. package/dist/browser/pacem-maps.js +97 -1
  26. package/dist/browser/pacem-maps.js.map +1 -1
  27. package/dist/browser/pacem-maps.min.js +1 -1
  28. package/dist/browser/pacem-media.js +14 -1
  29. package/dist/browser/pacem-media.js.map +1 -1
  30. package/dist/browser/pacem-media.min.js +1 -1
  31. package/dist/browser/pacem-networking.js +22 -1
  32. package/dist/browser/pacem-networking.js.map +1 -1
  33. package/dist/browser/pacem-networking.min.js +1 -1
  34. package/dist/browser/pacem-numerical.js +360 -1
  35. package/dist/browser/pacem-numerical.js.map +1 -1
  36. package/dist/browser/pacem-numerical.min.js +1 -1
  37. package/dist/browser/pacem-plus.js +195 -4
  38. package/dist/browser/pacem-plus.js.map +1 -1
  39. package/dist/browser/pacem-plus.min.js +1 -1
  40. package/dist/browser/pacem-scaffolding.js +420 -38
  41. package/dist/browser/pacem-scaffolding.js.map +1 -1
  42. package/dist/browser/pacem-scaffolding.min.js +2 -2
  43. package/dist/browser/pacem-ui.js +143 -19
  44. package/dist/browser/pacem-ui.js.map +1 -1
  45. package/dist/browser/pacem-ui.min.js +2 -2
  46. package/dist/bundle/pacem.min.mjs +147 -147
  47. package/dist/bundle/pacem.mjs +2905 -1417
  48. package/dist/bundle/pacem.mjs.map +3 -3
  49. package/dist/docs/pacem-2d.json +11549 -0
  50. package/dist/docs/pacem-3d.json +29096 -0
  51. package/dist/docs/pacem-charts.json +4244 -0
  52. package/dist/docs/pacem-cms.json +9325 -0
  53. package/dist/docs/pacem-core.json +40109 -0
  54. package/dist/docs/pacem-foundation.json +8941 -0
  55. package/dist/docs/pacem-fx.json +3121 -0
  56. package/dist/docs/pacem-logging.json +941 -0
  57. package/dist/docs/pacem-maps.json +17387 -0
  58. package/dist/docs/pacem-media.json +1203 -0
  59. package/dist/docs/pacem-networking.json +1798 -0
  60. package/dist/docs/pacem-numerical.json +13706 -0
  61. package/dist/docs/pacem-plus.json +8468 -0
  62. package/dist/docs/pacem-scaffolding.json +34788 -0
  63. package/dist/docs/pacem-ui.json +18628 -0
  64. package/dist/typings/index.d.ts +4109 -31
  65. package/dist/vscode.html-custom.json +1303 -741
  66. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"pacem-logging.js","sources":["../esm/types.js","../esm/console.js","../esm/fps.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, Concurrent } from '@pacem/pacem-core';\nconst DEFAULT_DATA = { current: 0, count: 0, average: 0, max: Number.MIN_VALUE, min: Number.MAX_VALUE };\nexport class PacemTrackerElement extends PacemEventTarget {\n constructor() {\n super();\n this.data = DEFAULT_DATA;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'entry')\n this._update(val).then(t => this.data = t);\n }\n _update(ne) {\n //var deferred = DeferPromise.defer<TrackingData>();\n let fn = () => {\n const data = this.data, min = Math.min(ne, data.min), max = Math.max(ne, data.max), count = data.count + 1, average = (data.count * data.average + ne) / count;\n return { count: count, min: min, max: max, average: average, current: ne };\n };\n return Utils.fromResultAsync(fn);\n //return Utils.fromResult/*Async*/(fn());\n }\n reset() {\n this.data = DEFAULT_DATA;\n }\n}\n__decorate([\n Watch({ converter: PropertyConverters.Json })\n], PacemTrackerElement.prototype, \"data\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemTrackerElement.prototype, \"entry\", void 0);\n__decorate([\n Concurrent()\n], PacemTrackerElement.prototype, \"_update\", null);\n//}\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, CustomElement, Logging, P } from '@pacem/pacem-core';\nconst DEFAULT_CONFIG = {\n error: true, info: true, warn: true\n};\nlet PacemConsoleElement = class PacemConsoleElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._config = DEFAULT_CONFIG;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'configuration') {\n this._config = Utils.extend({}, DEFAULT_CONFIG, val ?? {});\n }\n }\n log(level, message, category) {\n try {\n /* console enabled? better check: you might find cumbersome behaviors on IE/Edge when F12 tools aren't available! */\n this._log(level, message, category);\n }\n catch (e) { }\n }\n _log(level, message, category) {\n // enabled?\n if (!this.disabled && this._config[level] === true) {\n if (category !== this._category) {\n if (!Utils.isNullOrEmpty(this._category))\n console.groupEnd();\n if (!Utils.isNullOrEmpty(category)) {\n console.group(category);\n }\n this._category = category;\n }\n var fn = (m) => { };\n switch (level) {\n case Logging.LogLevel.Debug:\n fn = console.debug;\n break;\n case Logging.LogLevel.Error:\n fn = console.error;\n break;\n case Logging.LogLevel.Info:\n fn = console.info;\n break;\n case Logging.LogLevel.Trace:\n fn = console.trace;\n break;\n case Logging.LogLevel.Warn:\n fn = console.warn;\n break;\n case Logging.LogLevel.Log:\n fn = console.log;\n break;\n }\n fn(new Date().toISOString() + ': ' + message);\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Json })\n], PacemConsoleElement.prototype, \"configuration\", void 0);\nPacemConsoleElement = __decorate([\n CustomElement({ tagName: P + '-console' })\n], PacemConsoleElement);\nexport { PacemConsoleElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, P } from '@pacem/pacem-core';\nimport { PacemTrackerElement } from './types';\n//namespace Pacem.Components.Logging {\nlet PacemFpsElement = class PacemFpsElement extends PacemTrackerElement {\n constructor() {\n super();\n }\n _start(t0 = Date.now()) {\n this._handle = requestAnimationFrame(() => {\n const t1 = Date.now(), msecs = t1 - t0;\n // sets new entry\n this.entry = Math.min(60, 1000.0 / msecs);\n this._start(t1);\n });\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._start();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this._handle);\n super.disconnectedCallback();\n }\n};\nPacemFpsElement = __decorate([\n CustomElement({\n tagName: P + '-fps'\n })\n], PacemFpsElement);\nexport { PacemFpsElement };\n//}\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Utils","Watch","PropertyConverters","Concurrent","Logging","CustomElement","P","DeepMerger"],"mappings":"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"}
1
+ {"version":3,"file":"pacem-logging.js","sources":["../esm/types.js","../esm/console.js","../esm/fps.js","../esm/index-iife.js"],"sourcesContent":["var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, Concurrent } from '@pacem/pacem-core';\nconst DEFAULT_DATA = { current: 0, count: 0, average: 0, max: Number.MIN_VALUE, min: Number.MAX_VALUE };\n/**\n * Base class for tracker elements (e.g. {@link PacemFpsElement}) that feed successive numeric samples\n * through `entry` and expose running statistics through `data`.\n */\nexport class PacemTrackerElement extends PacemEventTarget {\n constructor() {\n super();\n /** @readonly Gets the aggregate statistics (count, average, min, max, current) computed so far. */\n this.data = DEFAULT_DATA;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'entry')\n this._update(val).then(t => this.data = t);\n }\n _update(ne) {\n //var deferred = DeferPromise.defer<TrackingData>();\n let fn = () => {\n const data = this.data, min = Math.min(ne, data.min), max = Math.max(ne, data.max), count = data.count + 1, average = (data.count * data.average + ne) / count;\n return { count: count, min: min, max: max, average: average, current: ne };\n };\n return Utils.fromResultAsync(fn);\n //return Utils.fromResult/*Async*/(fn());\n }\n /** Resets `data` back to its initial (empty) state. */\n reset() {\n this.data = DEFAULT_DATA;\n }\n}\n__decorate([\n Watch({ converter: PropertyConverters.Json })\n], PacemTrackerElement.prototype, \"data\", void 0);\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Number })\n], PacemTrackerElement.prototype, \"entry\", void 0);\n__decorate([\n Concurrent()\n], PacemTrackerElement.prototype, \"_update\", null);\n//}\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { PacemEventTarget, Watch, PropertyConverters, Utils, CustomElement, Logging, P } from '@pacem/pacem-core';\nconst DEFAULT_CONFIG = {\n error: true, info: true, warn: true\n};\n/** A {@link Logging.Logger} implementation that forwards enabled log levels to the browser's `console`. */\nlet PacemConsoleElement = class PacemConsoleElement extends PacemEventTarget {\n constructor() {\n super(...arguments);\n this._config = DEFAULT_CONFIG;\n }\n propertyChangedCallback(name, old, val, first) {\n super.propertyChangedCallback(name, old, val, first);\n if (name === 'configuration') {\n this._config = Utils.extend({}, DEFAULT_CONFIG, val ?? {});\n }\n }\n /**\n * Logs `message` to the browser console, provided the element isn't disabled and `level` is enabled in `configuration`.\n * @param level Severity/level of the message.\n * @param message Content to log.\n * @param category Optional grouping category (rendered as a `console.group`).\n */\n log(level, message, category) {\n try {\n /* console enabled? better check: you might find cumbersome behaviors on IE/Edge when F12 tools aren't available! */\n this._log(level, message, category);\n }\n catch (e) { }\n }\n _log(level, message, category) {\n // enabled?\n if (!this.disabled && this._config[level] === true) {\n if (category !== this._category) {\n if (!Utils.isNullOrEmpty(this._category))\n console.groupEnd();\n if (!Utils.isNullOrEmpty(category)) {\n console.group(category);\n }\n this._category = category;\n }\n var fn = (m) => { };\n switch (level) {\n case Logging.LogLevel.Debug:\n fn = console.debug;\n break;\n case Logging.LogLevel.Error:\n fn = console.error;\n break;\n case Logging.LogLevel.Info:\n fn = console.info;\n break;\n case Logging.LogLevel.Trace:\n fn = console.trace;\n break;\n case Logging.LogLevel.Warn:\n fn = console.warn;\n break;\n case Logging.LogLevel.Log:\n fn = console.log;\n break;\n }\n fn(new Date().toISOString() + ': ' + message);\n }\n }\n};\n__decorate([\n Watch({ emit: false, converter: PropertyConverters.Json })\n], PacemConsoleElement.prototype, \"configuration\", void 0);\nPacemConsoleElement = __decorate([\n CustomElement({ tagName: P + '-console' })\n], PacemConsoleElement);\nexport { PacemConsoleElement };\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { CustomElement, P } from '@pacem/pacem-core';\nimport { PacemTrackerElement } from './types';\n//namespace Pacem.Components.Logging {\n/** Tracks the browser's rendering frame rate (frames per second) via `requestAnimationFrame`, feeding it into {@link PacemTrackerElement}'s `data`. */\nlet PacemFpsElement = class PacemFpsElement extends PacemTrackerElement {\n constructor() {\n super();\n }\n _start(t0 = Date.now()) {\n this._handle = requestAnimationFrame(() => {\n const t1 = Date.now(), msecs = t1 - t0;\n // sets new entry\n this.entry = Math.min(60, 1000.0 / msecs);\n this._start(t1);\n });\n }\n viewActivatedCallback() {\n super.viewActivatedCallback();\n this._start();\n }\n disconnectedCallback() {\n cancelAnimationFrame(this._handle);\n super.disconnectedCallback();\n }\n};\nPacemFpsElement = __decorate([\n CustomElement({\n tagName: P + '-fps'\n })\n], PacemFpsElement);\nexport { PacemFpsElement };\n//}\n","import { DeepMerger } from '@pacem/pacem-foundation';\nimport * as Output from './index';\nDeepMerger.merge(Output);\n"],"names":["__decorate","this","PacemEventTarget","Utils","Watch","PropertyConverters","Concurrent","Logging","CustomElement","P","DeepMerger"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem v1.0.0-bessel (https://js.pacem.it)
2
+ * @pacem/pacem v1.0.0-binet (https://js.pacem.it)
3
3
  * Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem v1.0.0-bessel (https://js.pacem.it)
2
+ * @pacem/pacem v1.0.0-binet (https://js.pacem.it)
3
3
  * Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -13,36 +13,47 @@
13
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
14
14
  };
15
15
  const EMPTY_LATLNG = { lat: Number.NaN, lng: Number.NaN };
16
+ /** Static helpers for working with {@link LatLng} literals: the well-known {@link Empty} value, equality/emptiness checks, and translation. */
16
17
  class LatLng {
18
+ /** Gets the well-known "empty" (`NaN`/`NaN`) {@link LatLng}. */
17
19
  static get Empty() {
18
20
  return EMPTY_LATLNG;
19
21
  }
22
+ /** Returns whether the given {@link LatLng} is the {@link Empty} value (or otherwise has `NaN` coordinates). */
20
23
  static isEmpty(l) {
21
24
  return l === EMPTY_LATLNG || (isNaN(l.lat) && isNaN(l.lng));
22
25
  }
26
+ /** Type-guard: returns whether the given object structurally looks like a {@link LatLng}. */
23
27
  static isLatLng(obj) {
24
28
  return 'lat' in obj && typeof obj.lat === 'number'
25
29
  && 'lng' in obj && typeof obj.lng == 'number';
26
30
  }
31
+ /** Returns a new {@link LatLng} obtained by adding `delta`'s coordinates to `start`'s. */
27
32
  static translate(start, delta) {
28
33
  // TODO: handle 'EDGE' cases!
29
34
  return { lat: start.lat + delta.lat, lng: start.lng + delta.lng };
30
35
  }
36
+ /** Returns whether two {@link LatLng} values are equal (by reference or by coordinates). */
31
37
  static equals(a, b) {
32
38
  return a === b || (a.lat === b.lat && a.lng === b.lng);
33
39
  }
34
40
  }
35
41
  const EMPTY_LATLNG_BOUNDS = { ne: LatLng.Empty, sw: LatLng.Empty };
42
+ /** Static helpers for working with {@link LatLngBounds} literals: the well-known {@link Empty} value, emptiness/point checks, and union. */
36
43
  class LatLngBounds {
44
+ /** Gets the well-known "empty" {@link LatLngBounds}. */
37
45
  static get Empty() {
38
46
  return EMPTY_LATLNG_BOUNDS;
39
47
  }
48
+ /** Returns whether the given {@link LatLngBounds} is the {@link Empty} value (or otherwise has empty corners). */
40
49
  static isEmpty(bnds) {
41
50
  return bnds === EMPTY_LATLNG_BOUNDS || (LatLng.isEmpty(bnds.ne) && LatLng.isEmpty(bnds.sw));
42
51
  }
52
+ /** Returns whether the given bounds collapse to a single point (equal, non-empty corners). */
43
53
  static isPoint(bnds) {
44
54
  return !this.isEmpty(bnds) && (bnds.ne === bnds.sw || (bnds.ne.lat === bnds.sw.lat && bnds.ne.lng === bnds.sw.lng));
45
55
  }
56
+ /** Type-guard: returns whether the given object structurally looks like a {@link LatLngBounds}. */
46
57
  static isLatLngBounds(obj) {
47
58
  return typeof obj === 'object'
48
59
  && 'ne' in obj && LatLng.isLatLng(obj.ne)
@@ -72,6 +83,7 @@
72
83
  }
73
84
  return a;
74
85
  }
86
+ /** Returns whether two {@link LatLngBounds} values are equal (by reference or by corners). */
75
87
  static equals(a, b) {
76
88
  return a === b || (LatLng.equals(a.ne, b.ne) && LatLng.equals(a.sw, b.sw));
77
89
  }
@@ -87,6 +99,7 @@
87
99
  TRANSFORMERS_NS: 'maps',
88
100
  //DEFAULT_COORDS: { lat: 44.714188025077984, lng: 10.296516444873811 }
89
101
  };
102
+ /** Converts between geographic coordinates ({@link LatLng}) and pixel coordinates within a given viewport ({@link LatLngBounds} over a {@link Size}), plus static distance/offset helpers usable as Pacem expression transformers. */
90
103
  class MapProjection {
91
104
  constructor(_pixelSize, _bounds, _normalizedSize = MapProjectionConsts.SIZE) {
92
105
  this._pixelSize = _pixelSize;
@@ -179,9 +192,21 @@
179
192
  static distanceBetween(from, to, r = MapProjectionConsts.EARTH_RADIUS) {
180
193
  return MapProjection._haversine(from, to) * r;
181
194
  }
195
+ /**
196
+ * Projects a geographic position onto pixel coordinates within a viewport of the given `size` and `bounds`.
197
+ * @param latLng Position to project.
198
+ * @param bounds Viewport geographic bounds.
199
+ * @param size Viewport pixel size.
200
+ */
182
201
  static latLngToPoint(latLng, bounds, size) {
183
202
  return new MapProjection(size, bounds)._latLngToPoint(latLng);
184
203
  }
204
+ /**
205
+ * Un-projects a pixel coordinate within a viewport of the given `size` and `bounds` back to a geographic position.
206
+ * @param point Pixel coordinate to un-project.
207
+ * @param size Viewport pixel size.
208
+ * @param bounds Viewport geographic bounds.
209
+ */
185
210
  static pointToLatLng(point, size, bounds) {
186
211
  return new MapProjection(size, bounds)._pointToLatLng(point);
187
212
  }
@@ -214,18 +239,28 @@
214
239
  return c > 3 && r && Object.defineProperty(target, key, r), r;
215
240
  };
216
241
  // namespace Pacem.Components.Maps {
242
+ /** Base map rendering style, abstracted across the Azure Maps/Google Maps/Leaflet adapters. */
217
243
  var MapType;
218
244
  (function (MapType) {
245
+ /** Standard road/street map. */
219
246
  MapType["ROAD"] = "road";
247
+ /** Satellite imagery only. */
220
248
  MapType["SATELLITE"] = "satellite";
249
+ /** Satellite imagery with road labels overlaid. */
221
250
  MapType["HYBRID"] = "hybrid";
251
+ /** Terrain/relief map. */
222
252
  MapType["TERRAIN"] = "terrain";
253
+ /** High-contrast variant, where supported by the underlying provider. */
223
254
  MapType["HIGH_CONTRAST"] = "high_contrast";
224
255
  })(MapType || (MapType = {}));
256
+ /** Color scheme applied to the map style, where supported by the underlying provider. */
225
257
  var MapColorScheme;
226
258
  (function (MapColorScheme) {
259
+ /** Forces the light variant of the map style. */
227
260
  MapColorScheme["LIGHT"] = "light";
261
+ /** Forces the dark variant of the map style. */
228
262
  MapColorScheme["DARK"] = "dark";
263
+ /** Follows the OS/browser color-scheme preference. */
229
264
  MapColorScheme["SYSTEM"] = "system";
230
265
  })(MapColorScheme || (MapColorScheme = {}));
231
266
  const MapConstsInternal = {
@@ -239,6 +274,7 @@
239
274
  GEOCODER_SELECTOR: pacemCore.P + '-map-geocode',
240
275
  DEFAULT_COORDS: { lat: 44.714188025077984, lng: 10.296516444873811 }
241
276
  };
277
+ /** Public map-related constants, currently exposing the library's default center coordinates. */
242
278
  const MapConsts = {
243
279
  DEFAULT_COORDS: MapConstsInternal.DEFAULT_COORDS
244
280
  };
@@ -251,6 +287,7 @@
251
287
  return LatLngBounds.isLatLngBounds(obj);
252
288
  }
253
289
  const DEFAULT_MAPTARGET_KEY = 'defaultMapTarget';
290
+ /** {@link PropertyConverter} that parses a `"lat,lng"` (or JSON) attribute into a {@link LatLng}, and serializes it back to JSON. */
254
291
  const LatLngConverter = {
255
292
  convert: attr => {
256
293
  const arr = /^\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*$/.exec(attr);
@@ -261,6 +298,7 @@
261
298
  },
262
299
  convertBack: prop => JSON.stringify(prop)
263
300
  };
301
+ /** {@link PropertyConverter} that parses a `"neLat,neLng,swLat,swLng"` (or JSON) attribute into a {@link LatLngBounds}, and serializes it back to JSON. */
264
302
  const LatLngBoundsConverter = {
265
303
  convert: attr => {
266
304
  const arr = /^\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*,?\s*([+\-\d\.]+)\s*$/.exec(attr);
@@ -274,7 +312,9 @@
274
312
  },
275
313
  convertBack: prop => JSON.stringify(prop)
276
314
  };
315
+ /** Static helpers shared across map adapters: coordinate parsing, bounds expansion, and content-emptiness checks. */
277
316
  class MapUtils {
317
+ /** Parses a `LatLng`, a `[lat, lng]` array, or a `"lat,lng"` string into a `[lat, lng]` tuple; falls back to {@link MapConsts.DEFAULT_COORDS} when unparsable. */
278
318
  static parseCoords(input) {
279
319
  if (input && !isNaN(input['lat']) && !isNaN(input['lng']))
280
320
  return [input['lat'], input['lng']];
@@ -286,6 +326,7 @@
286
326
  }
287
327
  return [MapConstsInternal.DEFAULT_COORDS.lat, MapConstsInternal.DEFAULT_COORDS.lng];
288
328
  }
329
+ /** Appends the given `LatLng` (or `[lat, lng]` array) to the `bnds` collection, in-place, unless it is nullish. */
289
330
  static expandBounds(bnds, latLng) {
290
331
  if (latLng) {
291
332
  if (!Array.isArray(latLng)) {
@@ -294,11 +335,14 @@
294
335
  bnds.push(latLng);
295
336
  }
296
337
  }
338
+ /** Returns whether the given element has no child elements (used to decide whether to fall back to a marker's plain `caption`). */
297
339
  static isContentEmpty(element) {
298
340
  return element.children.length == 0;
299
341
  }
300
342
  }
343
+ /** Abstract base for every map-relevant custom element (markers, shapes, layers, overlays) that registers itself with an ancestor {@link PacemMapElement} and is drawn/removed through its currently active {@link PacemMapAdapterElement}. */
301
344
  class MapRelevantElement extends pacemCore.PacemEventTarget {
345
+ /** @readonly Gets the ancestor {@link PacemMapElement} this item belongs to. */
302
346
  get map() {
303
347
  return this['_map'] = this['_map'] || pacemCore.CustomElementUtils.findAncestorOfType(this, PacemMapElement);
304
348
  }
@@ -324,20 +368,24 @@
324
368
  __decorate$4([
325
369
  pacemCore.Watch({ converter: pacemCore.PropertyConverters.Boolean })
326
370
  ], MapRelevantElement.prototype, "inactive", void 0);
371
+ /** Typed `CustomEvent` dispatched by map-relevant elements/adapters, carrying a {@link MapEventArgs} payload (e.g. a click/drag position). */
327
372
  class MapEvent extends pacemCore.CustomTypedEvent {
328
373
  constructor(type, args) {
329
374
  super(type, args);
330
375
  }
331
376
  }
377
+ /** `<pacem-map-geocode>`: debounced geocoding/reverse-geocoding helper element that delegates to its {@link adapter}'s {@link MapGeocoder} implementation, exposing `search`/`position` as inputs and `results` as output. */
332
378
  let PacemMapGeocodeElement = class PacemMapGeocodeElement extends pacemCore.PacemEventTarget {
333
379
  constructor() {
334
380
  super(...arguments);
381
+ /** Gets or sets the debounce (in milliseconds) applied before a `search`/`position` change triggers a new request. */
335
382
  this.debounce = 1000;
336
383
  this.#fetching = false;
337
384
  }
338
385
  #fetching;
339
386
  #handle;
340
387
  #promise;
388
+ /** @readonly Gets whether a geocode/reverse-geocode request is currently in flight. */
341
389
  get fetching() {
342
390
  return this.#fetching;
343
391
  }
@@ -475,9 +523,13 @@
475
523
  pacemCore.CustomElement({ tagName: MapConstsInternal.GEOCODER_SELECTOR })
476
524
  ], PacemMapGeocodeElement);
477
525
  //#endregion
526
+ /**
527
+ * Abstract base for every map-provider adapter (Azure Maps, Google Maps, Leaflet, ...). Bridges one or more {@link PacemMapElement} instances to a concrete native map implementation, owning the geocoding, and the per-map marker/shape/layer/overlay adapter registries, the viewport (`setView`/`fitBounds`) logic and the `initialize`/`destroy` lifecycle shared by every provider-specific subclass (e.g. `PacemAzureMapAdapterElement`, `PacemGoogleMapAdapterElement`, `PacemLeafletMapAdapterElement`).
528
+ */
478
529
  class PacemMapAdapterElement extends pacemCore.PacemEventTarget {
479
530
  constructor() {
480
531
  super(...arguments);
532
+ /** Gets or sets whether this adapter is currently active (i.e. properly configured and enabled) for its enrolled maps. */
481
533
  this.active = true;
482
534
  this.#maps = new Map();
483
535
  this.#markers = new WeakMap();
@@ -783,6 +835,7 @@
783
835
  __decorate$4([
784
836
  pacemCore.Debounce(1000, (key, ctrl) => `pacem:debounce:${key}:${ctrl.id}`)
785
837
  ], PacemMapAdapterElement.prototype, "_fitBounds", null);
838
+ /** Abstract base for the per-{@link PacemMapElement} adapter objects that translate a specific kind of {@link MapRelevantElement} (marker, shape, layer, overlay) into calls against the native map (`TMap`) exposed by a {@link PacemMapAdapterElement} (`TAdapter`). */
786
839
  class MapItemAdapter {
787
840
  constructor(_map, _adapter = _map.adapter) {
788
841
  this._map = _map;
@@ -794,6 +847,7 @@
794
847
  return this._adapter.getMap(item.map);
795
848
  }
796
849
  }
850
+ /** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native overlays (`TOverlay`) mirroring {@link PacemMapOverlayElement} instances: building, bounding and updating them as the corresponding elements change. */
797
851
  class PacemOverlayAdapter extends MapItemAdapter {
798
852
  constructor(map, adapter = map.adapter) {
799
853
  super(map, adapter);
@@ -840,11 +894,13 @@
840
894
  this.updateOverlay(overlay, map, item);
841
895
  }
842
896
  }
897
+ /** Abstract base for map overlay elements (e.g. {@link PacemMapOverlayImageElement}) positioned within a geographic {@link LatLngBounds}. */
843
898
  class PacemMapOverlayElement extends MapRelevantElement {
844
899
  }
845
900
  __decorate$4([
846
901
  pacemCore.Watch({ emit: false, converter: LatLngBoundsConverter })
847
902
  ], PacemMapOverlayElement.prototype, "bounds", void 0);
903
+ /** `<pacem-map-overlay-image>`: {@link PacemMapOverlayElement} that renders a raster image stretched over its {@link PacemMapOverlayElement.bounds bounds}. */
848
904
  let PacemMapOverlayImageElement = class PacemMapOverlayImageElement extends PacemMapOverlayElement {
849
905
  };
850
906
  __decorate$4([
@@ -853,6 +909,7 @@
853
909
  PacemMapOverlayImageElement = __decorate$4([
854
910
  pacemCore.CustomElement({ tagName: MapConstsInternal.OVERLAY_IMAGE_SELECTOR })
855
911
  ], PacemMapOverlayImageElement);
912
+ /** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native tile layers (`TLayer`, WMS/TMS) mirroring {@link PacemMapLayerElement} instances, including their `tileload` event wiring. */
856
913
  class PacemLayerAdapter extends MapItemAdapter {
857
914
  constructor(map, adapter = map.adapter) {
858
915
  super(map, adapter);
@@ -907,6 +964,7 @@
907
964
  this.ensureLayer(item, map);
908
965
  }
909
966
  }
967
+ /** `<pacem-map-layer>`: {@link MapRelevantElement} declaring a raster tile layer (WMS or TMS) to be added to the map. */
910
968
  let PacemMapLayerElement = class PacemMapLayerElement extends MapRelevantElement {
911
969
  };
912
970
  __decorate$4([
@@ -927,6 +985,7 @@
927
985
  PacemMapLayerElement = __decorate$4([
928
986
  pacemCore.CustomElement({ tagName: MapConstsInternal.LAYER_SELECTOR })
929
987
  ], PacemMapLayerElement);
988
+ /** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native markers (`TMarker`) and their info windows (`TInfoWindow`) mirroring {@link PacemMapMarkerElement} instances: position/icon/label/draggable sync, click/drag event wiring, and info-window open/close. */
930
989
  class PacemMarkerAdapter extends MapItemAdapter {
931
990
  constructor(map, adapter = map.adapter) {
932
991
  super(map, adapter);
@@ -1051,6 +1110,7 @@
1051
1110
  }
1052
1111
  }
1053
1112
  }
1113
+ /** `<pacem-map-marker>`: {@link MapRelevantElement} representing a draggable, labeled marker with an optional info window, positioned at a {@link LatLng}. */
1054
1114
  let PacemMapMarkerElement = class PacemMapMarkerElement extends MapRelevantElement {
1055
1115
  onDragEnd(position) {
1056
1116
  this.position = position;
@@ -1082,6 +1142,7 @@
1082
1142
  PacemMapMarkerElement = __decorate$4([
1083
1143
  pacemCore.CustomElement({ tagName: MapConstsInternal.MARKER_SELECTOR })
1084
1144
  ], PacemMapMarkerElement);
1145
+ /** Abstract {@link MapItemAdapter} that manages the lifecycle of provider-native shapes (`TShape`, e.g. polyline/polygon/circle) mirroring {@link PacemMapShapeElement} instances: geometry/style sync, drag/click event wiring, and drag-translation of the underlying element's coordinates. */
1085
1146
  class PacemShapeAdapter extends MapItemAdapter {
1086
1147
  constructor(map, adapter = map.adapter) {
1087
1148
  super(map, adapter);
@@ -1186,6 +1247,7 @@
1186
1247
  this.setDraggable(shape, item.draggable);
1187
1248
  }
1188
1249
  }
1250
+ /** Abstract base for map shape elements ({@link PacemMapPolylineElement}, {@link PacemMapPolygonElement}, {@link PacemMapCircleElement}) sharing draggable/editable state and stroke/fill styling. */
1189
1251
  class PacemMapShapeElement extends MapRelevantElement {
1190
1252
  }
1191
1253
  __decorate$4([
@@ -1200,6 +1262,7 @@
1200
1262
  __decorate$4([
1201
1263
  pacemCore.Watch({ emit: true, converter: pacemCore.PropertyConverters.Json })
1202
1264
  ], PacemMapShapeElement.prototype, "fill", void 0);
1265
+ /** `<pacem-map-polyline>`: {@link PacemMapShapeElement} rendering an open polyline through its {@link vertices}. */
1203
1266
  let PacemMapPolylineElement = class PacemMapPolylineElement extends PacemMapShapeElement {
1204
1267
  };
1205
1268
  __decorate$4([
@@ -1208,6 +1271,7 @@
1208
1271
  PacemMapPolylineElement = __decorate$4([
1209
1272
  pacemCore.CustomElement({ tagName: MapConstsInternal.POLYLINE_SELECTOR })
1210
1273
  ], PacemMapPolylineElement);
1274
+ /** `<pacem-map-polygon>`: {@link PacemMapShapeElement} rendering a closed, fillable polygon through its {@link vertices}. */
1211
1275
  let PacemMapPolygonElement = class PacemMapPolygonElement extends PacemMapShapeElement {
1212
1276
  };
1213
1277
  __decorate$4([
@@ -1216,6 +1280,7 @@
1216
1280
  PacemMapPolygonElement = __decorate$4([
1217
1281
  pacemCore.CustomElement({ tagName: MapConstsInternal.POLYGON_SELECTOR })
1218
1282
  ], PacemMapPolygonElement);
1283
+ /** `<pacem-map-circle>`: {@link PacemMapShapeElement} rendering a circle at {@link center} with the given {@link radius}. */
1219
1284
  let PacemMapCircleElement = class PacemMapCircleElement extends PacemMapShapeElement {
1220
1285
  };
1221
1286
  __decorate$4([
@@ -1228,25 +1293,39 @@
1228
1293
  pacemCore.CustomElement({ tagName: MapConstsInternal.CIRCLE_SELECTOR })
1229
1294
  ], PacemMapCircleElement);
1230
1295
  //#endregion
1296
+ /** `<pacem-map>`: root map element hosting an active {@link PacemMapAdapterElement} (Azure Maps/Google Maps/Leaflet), rendering into its `target` (or an auto-generated container), and coordinating the registration/drawing of all descendant {@link MapRelevantElement} items. */
1231
1297
  let PacemMapElement = class PacemMapElement extends pacemCore.PacemEventTarget {
1232
1298
  constructor() {
1233
1299
  super(...arguments);
1300
+ /** Gets or sets the map zoom level. */
1234
1301
  this.zoom = 12;
1302
+ /** Gets or sets the map center position. */
1235
1303
  this.center = MapConstsInternal.DEFAULT_COORDS;
1236
1304
  this.#bounds = LatLngBounds.Empty;
1305
+ /** Gets or sets whether to show the scale/zoom control. */
1237
1306
  this.scale = true;
1307
+ /** Gets or sets whether zooming with the mouse wheel is enabled. */
1238
1308
  this.mousewheel = true;
1309
+ /** Gets or sets whether the map can be panned by dragging. */
1239
1310
  this.draggable = true;
1311
+ /** Gets or sets whether double-click zooming is enabled. */
1240
1312
  this.doubleClickZoom = true;
1313
+ /** Gets or sets whether keyboard shortcuts are enabled. */
1241
1314
  this.keyboardShortcuts = true;
1242
1315
  /** Gets or sets whether to autofit the bounds whenever the map gets refreshed. */
1243
1316
  this.autofit = true;
1317
+ /** Gets or sets the top padding (in pixels) considered when fitting bounds. */
1244
1318
  this.paddingTop = 0;
1319
+ /** Gets or sets the left padding (in pixels) considered when fitting bounds. */
1245
1320
  this.paddingLeft = 0;
1321
+ /** Gets or sets the right padding (in pixels) considered when fitting bounds. */
1246
1322
  this.paddingRight = 0;
1323
+ /** Gets or sets the bottom padding (in pixels) considered when fitting bounds. */
1247
1324
  this.paddingBottom = 0;
1248
1325
  // GMaps features
1326
+ /** Gets or sets the map tilt angle in degrees (Google Maps only). */
1249
1327
  this.tilt = 0;
1328
+ /** Gets or sets the map heading/rotation in degrees (Google Maps only). */
1250
1329
  this.heading = 0;
1251
1330
  this._drawHandler = (evt) => {
1252
1331
  this._draw(evt.target);
@@ -1278,6 +1357,7 @@
1278
1357
  };
1279
1358
  //#endregion
1280
1359
  }
1360
+ /** Updates the {@link bounds} property, emitting a `PropertyChangeEvent` when it actually changed. */
1281
1361
  updateBounds(bounds) {
1282
1362
  if (!LatLngBounds.equals(bounds, this.#bounds)) {
1283
1363
  const oldValue = this.#bounds;
@@ -1286,9 +1366,11 @@
1286
1366
  }
1287
1367
  }
1288
1368
  #bounds;
1369
+ /** @readonly Gets the current viewport bounds, as last reported by the active adapter. */
1289
1370
  get bounds() {
1290
1371
  return this.#bounds;
1291
1372
  }
1373
+ /** @readonly Gets the DOM element the native map is currently rendered into. */
1292
1374
  get container() {
1293
1375
  return this._container;
1294
1376
  }
@@ -1505,11 +1587,15 @@
1505
1587
  TIMEOUT: 'timeout',
1506
1588
  UNKNOWN_ERROR: 'unknown_error',
1507
1589
  };
1590
+ /** `<pacem-map-geolocate>`: wraps the browser's Geolocation API, exposing the permission state and resolved {@link position} (with altitude/heading/speed/timestamp), meant to be used together with a `<pacem-map>`/`<pacem-map-marker>` pair. */
1508
1591
  let PacemMapGeolocateElement = class PacemMapGeolocateElement extends pacemCore.PacemEventTarget {
1509
1592
  constructor() {
1510
1593
  super(...arguments);
1594
+ /** Gets or sets the current geolocation permission state (`'granted'`, `'denied'`, or `'prompt'`). */
1511
1595
  this.permission = 'prompt';
1596
+ /** Gets or sets the maximum age (in milliseconds) of a cached position that is acceptable to return. */
1512
1597
  this.maximumAge = 15000;
1598
+ /** Gets or sets the maximum time (in milliseconds) to wait for a position before failing with a timeout error. */
1513
1599
  this.timeout = 30000;
1514
1600
  this.#fetching = false;
1515
1601
  this._successCallback = (position) => {
@@ -1543,6 +1629,7 @@
1543
1629
  });
1544
1630
  }
1545
1631
  #fetching;
1632
+ /** @readonly Gets whether a geolocation request is currently in progress. */
1546
1633
  get fetching() {
1547
1634
  return this.#fetching;
1548
1635
  }
@@ -1552,6 +1639,7 @@
1552
1639
  this.dispatchEvent(new pacemCore.PropertyChangeEvent({ propertyName: 'fetching', currentValue: val, oldValue: !val }));
1553
1640
  }
1554
1641
  }
1642
+ /** Requests the current position from the browser's Geolocation API, updating {@link position}/{@link permission} and firing `success`/`error` events. */
1555
1643
  fetch() {
1556
1644
  if (this.disabled) {
1557
1645
  return;
@@ -1932,6 +2020,7 @@
1932
2020
  return darkTheme ? 'night' : 'road';
1933
2021
  }
1934
2022
  }
2023
+ /** `<pacem-map-adapter-azure>`: {@link PacemMapAdapterElement} backed by Azure Maps (`atlas`), dynamically loading the Azure Maps SDK/CSS and translating the abstract map/marker/shape/layer/overlay lifecycle onto it. */
1935
2024
  let PacemAzureMapAdapterElement = PacemAzureMapAdapterElement_1 = class PacemAzureMapAdapterElement extends PacemMapAdapterElement {
1936
2025
  geocode(address, maxResults) {
1937
2026
  return new PacemAzureMapGeocoder().geocode(this.subscriptionKey, address, maxResults, pacemCore.Utils.lang(this));
@@ -2180,6 +2269,7 @@
2180
2269
  return [convertResponse(response)];
2181
2270
  }
2182
2271
  }
2272
+ /** Event name dispatched by {@link PacemLeafletMapAdapterElement} whenever a tile layer finishes loading. */
2183
2273
  const LayerLoadEventName = "layerload";
2184
2274
  class LayerLoadEvent extends pacemCore.CustomTypedEvent {
2185
2275
  constructor(layer) {
@@ -2361,11 +2451,14 @@
2361
2451
  throw new Error("Method not implemented.");
2362
2452
  }
2363
2453
  }
2454
+ /** `<pacem-map-adapter-leaflet>`: {@link PacemMapAdapterElement} backed by Leaflet, dynamically loading the Leaflet SDK/CSS and translating the abstract map/marker/layer/overlay lifecycle onto it, geocoding through the OpenStreetMap Nominatim API. */
2364
2455
  let PacemLeafletMapAdapterElement = class PacemLeafletMapAdapterElement extends PacemMapAdapterElement {
2365
2456
  constructor() {
2366
2457
  super(...arguments);
2367
2458
  this.#tileLayers = new WeakMap();
2459
+ /** Gets or sets the tile source URL template for the base layer (defaults to the OpenStreetMap tile server). */
2368
2460
  this.tiles = '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
2461
+ /** Gets or sets the attribution text/markup shown on the map for the base layer. */
2369
2462
  this.attribution = 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors';
2370
2463
  this._tileLayerLoadHandler = (evt) => {
2371
2464
  this.dispatchLayerLoadEvent(evt.sourceTarget);
@@ -2497,6 +2590,7 @@
2497
2590
  map.setView(xpr, ctrl.zoom);
2498
2591
  return { map, container: mapElement };
2499
2592
  }
2593
+ /** Dispatches the {@link LayerLoadEventName} event carrying the given native Leaflet layer. */
2500
2594
  dispatchLayerLoadEvent(layer) {
2501
2595
  this.dispatchEvent(new LayerLoadEvent(layer));
2502
2596
  }
@@ -3188,6 +3282,7 @@
3188
3282
  return { type: google.maps.MapTypeId.ROADMAP, theme };
3189
3283
  }
3190
3284
  }
3285
+ /** `<pacem-map-adapter-google>`: {@link PacemMapAdapterElement} backed by the Google Maps JavaScript API, bootstrapping/loading the SDK and translating the abstract map/marker/shape/layer/overlay lifecycle onto it. */
3191
3286
  let PacemGoogleMapAdapterElement = class PacemGoogleMapAdapterElement extends PacemMapAdapterElement {
3192
3287
  geocode(address, maxResults) {
3193
3288
  const language = this.language || '', region = this.region || '', version = this.version || 'weekly';
@@ -3222,6 +3317,7 @@
3222
3317
  buildLayerAdapterFor(map) {
3223
3318
  return new PacemGoogleLayerAdapter(map, this);
3224
3319
  }
3320
+ /** Resolves the maximum zoom level available (e.g. for satellite imagery) at the given position. */
3225
3321
  getMaxAvailableZoom(latLng) {
3226
3322
  return new Promise((resolve, reject) => {
3227
3323
  const svc = new google.maps.MaxZoomService();