canvas-globe-angular 1.1.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/dist/public-api.d.ts +2 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +4 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -42,3 +42,29 @@ export class AudienceMapComponent {
|
|
|
42
42
|
Documentation: https://canvasglobe.swiftools.com/integrations/angular
|
|
43
43
|
|
|
44
44
|
Support and licensing: globe@swiftools.com
|
|
45
|
+
|
|
46
|
+
## Angular SSR and hydration
|
|
47
|
+
|
|
48
|
+
The component can be imported by an Angular SSR route. It renders the canvas
|
|
49
|
+
shell on the server and creates CanvasGlobe only after Angular runs the
|
|
50
|
+
component in the browser. No custom `isPlatformBrowser` wrapper is required.
|
|
51
|
+
|
|
52
|
+
Keep the parent width stable to avoid a layout shift during hydration:
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
@Component({
|
|
56
|
+
standalone: true,
|
|
57
|
+
imports: [CanvasGlobeComponent],
|
|
58
|
+
template: `
|
|
59
|
+
<canvas-globe
|
|
60
|
+
class="audience-globe"
|
|
61
|
+
[markers]="markers"
|
|
62
|
+
[options]="{ preset: 'hologram', ariaLabel: 'Customer locations' }"
|
|
63
|
+
/>
|
|
64
|
+
`,
|
|
65
|
+
styles: [`.audience-globe { display: block; width: min(100%, 44rem); aspect-ratio: 1; }`],
|
|
66
|
+
})
|
|
67
|
+
export class AudienceGlobeComponent {
|
|
68
|
+
markers = [{ lat: 23.03, lon: 72.58, count: 12 }];
|
|
69
|
+
}
|
|
70
|
+
```
|
package/dist/public-api.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AfterViewInit, EventEmitter, OnChanges, OnDestroy } from "@angular/core";
|
|
2
2
|
import { GeoGlobe } from "canvas-globe";
|
|
3
|
-
import type { Arc, ClusterMarker, CountryShape, FlyToOptions, GeoGlobeOptions, Marker } from "canvas-globe";
|
|
3
|
+
import type { Arc, ClusterMarker, CountryShape, FlyToOptions, GeoGlobeOptions, HexBinMarker, Marker } from "canvas-globe";
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export interface CanvasGlobeMarkerEvent {
|
|
6
|
-
marker: Marker | ClusterMarker | null;
|
|
6
|
+
marker: Marker | ClusterMarker | HexBinMarker | null;
|
|
7
7
|
position: {
|
|
8
8
|
x: number;
|
|
9
9
|
y: number;
|
package/dist/public-api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,YAAY,EAEZ,SAAS,EACT,SAAS,EAGV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,GAAG,EACH,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,MAAM,EACP,MAAM,cAAc,CAAC;;AAEtB,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAIb,YAAY,EAEZ,SAAS,EACT,SAAS,EAGV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAa,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,GAAG,EACH,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,MAAM,EACP,MAAM,cAAc,CAAC;;AAEtB,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC;IACrD,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3C;AAED,qBAOa,oBAAqB,YAAW,aAAa,EAAE,SAAS,EAAE,SAAS;IACvC,OAAO,CAAC,MAAM,CAAiC;IAE7E,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACvC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,yBAAgC;IACrC,WAAW,uCAA8C;IACzD,WAAW,uCAA8C;IACzD,YAAY,wCAA+C;IAC3D,YAAY,wCAA+C;IAC3D,QAAQ,yBAAgC;IAElD,OAAO,CAAC,KAAK,CAAyB;IAEtC,IAAI,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAE9B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,WAAW,IAAI,MAAM,CAIxB;IAED,eAAe,IAAI,IAAI;IAQvB,WAAW,IAAI,IAAI;IAInB,WAAW,IAAI,IAAI;IAKnB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI;IAKxE,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,QAAQ,GAAG,IAAI;IAK/G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7D,OAAO,CAAC,eAAe;yCA9DZ,oBAAoB;2CAApB,oBAAoB;CA0FhC;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,YAAY,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/public-api.js
CHANGED
|
@@ -26,6 +26,10 @@ export class CanvasGlobeComponent {
|
|
|
26
26
|
: "1";
|
|
27
27
|
}
|
|
28
28
|
ngAfterViewInit() {
|
|
29
|
+
// Angular runs lifecycle hooks during server rendering too. Defer all
|
|
30
|
+
// canvas work until the hydrated browser instance owns a real window.
|
|
31
|
+
if (typeof window === "undefined")
|
|
32
|
+
return;
|
|
29
33
|
this.globe = new GeoGlobe(this.canvas.nativeElement, this.resolvedOptions());
|
|
30
34
|
this.ready.emit(this.globe);
|
|
31
35
|
}
|
package/dist/public-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EACvB,SAAS,EAET,YAAY,EACZ,KAAK,EAGL,MAAM,EACN,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "canvas-globe-angular",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Angular standalone component for interactive 3D globes and world maps rendered with Canvas 2D.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"prepack": "npm run build"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"canvas-globe": "^1.
|
|
42
|
+
"canvas-globe": "^1.3.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@angular/core": ">=21 <23"
|