@dxos/react-ui-geo 0.8.4-staging.ac66bdf99f → 0.9.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.
Files changed (120) hide show
  1. package/LICENSE +102 -5
  2. package/data/countries-10m.ts +12 -0
  3. package/data/countries-110m.ts +4 -10579
  4. package/data/countries-50m.ts +12 -0
  5. package/dist/lib/browser/chunk-SC2FBYFU.mjs +17 -0
  6. package/dist/lib/browser/chunk-SC2FBYFU.mjs.map +7 -0
  7. package/dist/lib/browser/countries-10m-CWWDOKH7.mjs +6 -0
  8. package/dist/lib/browser/countries-10m-CWWDOKH7.mjs.map +7 -0
  9. package/dist/lib/browser/countries-110m-72QBAA5E.mjs +6 -0
  10. package/dist/lib/browser/countries-110m-72QBAA5E.mjs.map +7 -0
  11. package/dist/lib/browser/countries-50m-H7SL7KVF.mjs +6 -0
  12. package/dist/lib/browser/countries-50m-H7SL7KVF.mjs.map +7 -0
  13. package/dist/lib/browser/data.mjs +1 -1
  14. package/dist/lib/browser/index.mjs +774 -223
  15. package/dist/lib/browser/index.mjs.map +4 -4
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/translations.mjs +19 -0
  18. package/dist/lib/browser/translations.mjs.map +7 -0
  19. package/dist/lib/node-esm/chunk-VZENBYLJ.mjs +19 -0
  20. package/dist/lib/node-esm/chunk-VZENBYLJ.mjs.map +7 -0
  21. package/dist/lib/node-esm/countries-10m-DJZV66KG.mjs +8 -0
  22. package/dist/lib/node-esm/countries-10m-DJZV66KG.mjs.map +7 -0
  23. package/dist/lib/node-esm/countries-110m-H3WY6K4Q.mjs +8 -0
  24. package/dist/lib/node-esm/countries-110m-H3WY6K4Q.mjs.map +7 -0
  25. package/dist/lib/node-esm/countries-50m-ZY7Z3IWD.mjs +8 -0
  26. package/dist/lib/node-esm/countries-50m-ZY7Z3IWD.mjs.map +7 -0
  27. package/dist/lib/node-esm/data.mjs +1 -1
  28. package/dist/lib/node-esm/index.mjs +774 -223
  29. package/dist/lib/node-esm/index.mjs.map +4 -4
  30. package/dist/lib/node-esm/meta.json +1 -1
  31. package/dist/lib/node-esm/translations.mjs +21 -0
  32. package/dist/lib/node-esm/translations.mjs.map +7 -0
  33. package/dist/types/data/airports.d.ts +4 -4
  34. package/dist/types/data/airports.d.ts.map +1 -1
  35. package/dist/types/data/cities.d.ts.map +1 -1
  36. package/dist/types/data/countries-10m.d.ts +8 -0
  37. package/dist/types/data/countries-10m.d.ts.map +1 -0
  38. package/dist/types/data/countries-110m.d.ts +2 -30
  39. package/dist/types/data/countries-110m.d.ts.map +1 -1
  40. package/dist/types/data/countries-50m.d.ts +8 -0
  41. package/dist/types/data/countries-50m.d.ts.map +1 -0
  42. package/dist/types/data/countries-dots-3.d.ts.map +1 -1
  43. package/dist/types/data/countries-dots-4.d.ts.map +1 -1
  44. package/dist/types/src/components/Globe/Globe.d.ts +18 -10
  45. package/dist/types/src/components/Globe/Globe.d.ts.map +1 -1
  46. package/dist/types/src/components/Globe/Globe.stories.d.ts +16 -8
  47. package/dist/types/src/components/Globe/Globe.stories.d.ts.map +1 -1
  48. package/dist/types/src/components/Map/Map.d.ts +49 -13
  49. package/dist/types/src/components/Map/Map.d.ts.map +1 -1
  50. package/dist/types/src/components/Map/Map.stories.d.ts +9 -5
  51. package/dist/types/src/components/Map/Map.stories.d.ts.map +1 -1
  52. package/dist/types/src/components/Toolbar/Controls.d.ts.map +1 -1
  53. package/dist/types/src/data.d.ts +9 -1
  54. package/dist/types/src/data.d.ts.map +1 -1
  55. package/dist/types/src/hooks/context.d.ts +37 -0
  56. package/dist/types/src/hooks/context.d.ts.map +1 -1
  57. package/dist/types/src/hooks/index.d.ts +3 -0
  58. package/dist/types/src/hooks/index.d.ts.map +1 -1
  59. package/dist/types/src/hooks/useDrag.d.ts +22 -2
  60. package/dist/types/src/hooks/useDrag.d.ts.map +1 -1
  61. package/dist/types/src/hooks/useGlobeZoomHandler.d.ts +3 -2
  62. package/dist/types/src/hooks/useGlobeZoomHandler.d.ts.map +1 -1
  63. package/dist/types/src/hooks/useMapZoomHandler.d.ts +1 -1
  64. package/dist/types/src/hooks/useMapZoomHandler.d.ts.map +1 -1
  65. package/dist/types/src/hooks/useSimplifiedTopology.d.ts +32 -0
  66. package/dist/types/src/hooks/useSimplifiedTopology.d.ts.map +1 -0
  67. package/dist/types/src/hooks/useSpinner.d.ts +1 -1
  68. package/dist/types/src/hooks/useSpinner.d.ts.map +1 -1
  69. package/dist/types/src/hooks/useTopology.d.ts +26 -0
  70. package/dist/types/src/hooks/useTopology.d.ts.map +1 -0
  71. package/dist/types/src/hooks/useTour.d.ts +3 -2
  72. package/dist/types/src/hooks/useTour.d.ts.map +1 -1
  73. package/dist/types/src/hooks/useWheel.d.ts +24 -0
  74. package/dist/types/src/hooks/useWheel.d.ts.map +1 -0
  75. package/dist/types/src/index.d.ts +0 -2
  76. package/dist/types/src/index.d.ts.map +1 -1
  77. package/dist/types/src/translations.d.ts +4 -4
  78. package/dist/types/src/translations.d.ts.map +1 -1
  79. package/dist/types/src/util/animation.d.ts +16 -0
  80. package/dist/types/src/util/animation.d.ts.map +1 -0
  81. package/dist/types/src/util/debug.d.ts.map +1 -1
  82. package/dist/types/src/util/index.d.ts +2 -0
  83. package/dist/types/src/util/index.d.ts.map +1 -1
  84. package/dist/types/src/util/inertia.d.ts.map +1 -1
  85. package/dist/types/src/util/path.d.ts.map +1 -1
  86. package/dist/types/src/util/render.d.ts +25 -1
  87. package/dist/types/src/util/render.d.ts.map +1 -1
  88. package/dist/types/src/util/styles.d.ts +4 -0
  89. package/dist/types/src/util/styles.d.ts.map +1 -0
  90. package/dist/types/tsconfig.tsbuildinfo +1 -1
  91. package/package.json +26 -24
  92. package/src/components/Globe/Globe.stories.tsx +135 -58
  93. package/src/components/Globe/Globe.tsx +237 -120
  94. package/src/components/Map/Map.stories.tsx +58 -12
  95. package/src/components/Map/Map.tsx +293 -91
  96. package/src/components/Toolbar/Controls.tsx +1 -1
  97. package/src/data.ts +19 -2
  98. package/src/hooks/context.tsx +44 -0
  99. package/src/hooks/index.ts +3 -0
  100. package/src/hooks/useDrag.ts +33 -5
  101. package/src/hooks/useGlobeZoomHandler.ts +2 -1
  102. package/src/hooks/useSimplifiedTopology.ts +81 -0
  103. package/src/hooks/useSpinner.ts +1 -1
  104. package/src/hooks/useTopology.ts +95 -0
  105. package/src/hooks/useTour.ts +70 -81
  106. package/src/hooks/useWheel.ts +83 -0
  107. package/src/index.ts +0 -2
  108. package/src/util/animation.ts +35 -0
  109. package/src/util/index.ts +2 -0
  110. package/src/util/inertia.ts +87 -4
  111. package/src/util/render.ts +105 -16
  112. package/src/util/styles.ts +62 -0
  113. package/dist/lib/browser/chunk-GMWLKTLN.mjs +0 -9
  114. package/dist/lib/browser/chunk-GMWLKTLN.mjs.map +0 -7
  115. package/dist/lib/browser/countries-110m-ZM3ZIEFS.mjs +0 -37859
  116. package/dist/lib/browser/countries-110m-ZM3ZIEFS.mjs.map +0 -7
  117. package/dist/lib/node-esm/chunk-JODBF4CC.mjs +0 -11
  118. package/dist/lib/node-esm/chunk-JODBF4CC.mjs.map +0 -7
  119. package/dist/lib/node-esm/countries-110m-3SFASWVD.mjs +0 -37861
  120. package/dist/lib/node-esm/countries-110m-3SFASWVD.mjs.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type GlobeController } from '../components';
1
+ import { type GlobeController } from './context';
2
2
  export type GlobeDragEvent = {
3
3
  type: 'start' | 'move' | 'end';
4
4
  controller: GlobeController;
@@ -6,7 +6,27 @@ export type GlobeDragEvent = {
6
6
  export type DragOptions = {
7
7
  disabled?: boolean;
8
8
  duration?: number;
9
- xAxis?: boolean;
9
+ /**
10
+ * When true, drag is constrained to rotation around the polar (vertical)
11
+ * axis only — i.e. longitude changes freely but the camera's tilt
12
+ * (latitude / phi) stays pinned at whatever value the root's `rotation`
13
+ * prop was initialised with. Useful for "earth-spinning-at-an-angle"
14
+ * presentations where the inclination should not change.
15
+ */
16
+ lockTilt?: boolean;
17
+ /**
18
+ * Drag rotation mode:
19
+ * - `linear` (default): direct pixel-to-Euler mapping (Δx → lambda,
20
+ * Δy → phi, gamma fixed at 0). Rotation is constrained to two axes;
21
+ * no roll. The dragged point does not track the cursor exactly.
22
+ * - `versor`: quaternion-based rotation so that the dragged point
23
+ * follows the cursor exactly. May induce roll (gamma).
24
+ */
25
+ mode?: 'linear' | 'versor';
26
+ /**
27
+ * Degrees of rotation per pixel of drag, in linear mode. Default 0.25.
28
+ */
29
+ sensitivity?: number;
10
30
  onUpdate?: (event: GlobeDragEvent) => void;
11
31
  };
12
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"useDrag.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDrag.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAGrD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,aAAa,eAAe,GAAG,IAAI,EAAE,UAAS,WAAgB,SA2BrF,CAAC"}
1
+ {"version":3,"file":"useDrag.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useDrag.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAC/B,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,gBAAiB,eAAe,GAAG,IAAI,YAAW,WAAW,SAmChF,CAAC"}
@@ -1,3 +1,4 @@
1
- import { type ControlProps, type GlobeController } from '../components';
2
- export declare const useGlobeZoomHandler: (controller: GlobeController | null | undefined) => ControlProps["onAction"];
1
+ import { type ControlProps } from '../components';
2
+ import { type GlobeController } from './context';
3
+ export declare const useGlobeZoomHandler: (controller: GlobeController | null | undefined) => ControlProps['onAction'];
3
4
  //# sourceMappingURL=useGlobeZoomHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobeZoomHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGlobeZoomHandler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAIxE,eAAO,MAAM,mBAAmB,GAAI,YAAY,eAAe,GAAG,IAAI,GAAG,SAAS,KAAG,YAAY,CAAC,UAAU,CAwB3G,CAAC"}
1
+ {"version":3,"file":"useGlobeZoomHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useGlobeZoomHandler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAIjD,eAAO,MAAM,mBAAmB,eAAgB,eAAe,GAAG,IAAI,GAAG,SAAS,KAAG,YAAY,CAAC,UAAU,CAwB3G,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { type ControlProps, type MapController } from '../components';
2
- export declare const useMapZoomHandler: (controller: MapController | null | undefined) => ControlProps["onAction"];
2
+ export declare const useMapZoomHandler: (controller: MapController | null | undefined) => ControlProps['onAction'];
3
3
  //# sourceMappingURL=useMapZoomHandler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMapZoomHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useMapZoomHandler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtE,eAAO,MAAM,iBAAiB,GAAI,YAAY,aAAa,GAAG,IAAI,GAAG,SAAS,KAAG,YAAY,CAAC,UAAU,CAoBvG,CAAC"}
1
+ {"version":3,"file":"useMapZoomHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useMapZoomHandler.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEtE,eAAO,MAAM,iBAAiB,eAAgB,aAAa,GAAG,IAAI,GAAG,SAAS,KAAG,YAAY,CAAC,UAAU,CAoBvG,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { type Topology } from 'topojson-specification';
2
+ /**
3
+ * Zoom → minWeight policy. The default thresholds were chosen empirically
4
+ * against the 10m world-atlas dataset: each tier targets a percentile of
5
+ * removable points so that the per-frame d3-geo path cost stays roughly
6
+ * constant as the user zooms in.
7
+ */
8
+ export type SimplifyTier = {
9
+ /** Lower bound (inclusive) of the zoom range this tier applies to. */
10
+ minZoom: number;
11
+ /** Percentile in [0, 1] passed to `topojson.quantile`. 1 = keep no points; 0 = keep all. */
12
+ percentile: number;
13
+ };
14
+ export type UseSimplifiedTopologyOptions = {
15
+ /**
16
+ * Zoom buckets that map a zoom value to a simplification percentile. The
17
+ * hook picks the highest-`minZoom` tier whose bound is ≤ the current zoom,
18
+ * so tiers may be listed in any order but ascending is conventional.
19
+ */
20
+ tiers?: SimplifyTier[];
21
+ };
22
+ /**
23
+ * Returns a simplified copy of `topology` whose detail tracks the current
24
+ * `zoom`. The source topology is annotated with point weights once via
25
+ * `presimplify`; subsequent zoom changes reuse that work and only re-run
26
+ * the cheap `simplify` pass against a tier-bucketed `minWeight`.
27
+ *
28
+ * Pass the highest-resolution source you have (typically `10m`) and let the
29
+ * hook decimate at low zoom — that's the cheap end of the curve.
30
+ */
31
+ export declare const useSimplifiedTopology: (topology: Topology | undefined, zoom: number, options?: UseSimplifiedTopologyOptions) => Topology | undefined;
32
+ //# sourceMappingURL=useSimplifiedTopology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSimplifiedTopology.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSimplifiedTopology.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAoBF,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,aACtB,QAAQ,GAAG,SAAS,QACxB,MAAM,YACH,4BAA4B,KACpC,QAAQ,GAAG,SAmBb,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type GlobeController } from '../components';
1
+ import { type GlobeController } from './context';
2
2
  import { type Vector } from './context';
3
3
  export type SpinnerOptions = {
4
4
  disabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useSpinner.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSpinner.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,aAAa,eAAe,GAAG,IAAI,EAAE,UAAS,cAAmB,mBAiD3F,CAAC"}
1
+ {"version":3,"file":"useSpinner.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useSpinner.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,gBAAiB,eAAe,GAAG,IAAI,YAAW,cAAc,mBAiDtF,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type Topology } from 'topojson-specification';
2
+ import { type CountriesResolution } from '../data';
3
+ export type Level = CountriesResolution;
4
+ export type LevelTier = {
5
+ /** Lower bound (inclusive) of the zoom range. */
6
+ minZoom: number;
7
+ /** Topology resolution to load when this tier is active. */
8
+ level: CountriesResolution;
9
+ };
10
+ export type UseTopologyOptions = {
11
+ /** Zoom buckets that map a zoom value to a resolution. Default: 110m / 50m at 0 / 3. */
12
+ tiers?: LevelTier[];
13
+ };
14
+ /**
15
+ * Loads TopoJSON country data.
16
+ *
17
+ * - With no arguments, loads the default `110m` resolution.
18
+ * - With a `zoom`, loads the resolution matching the current zoom tier (progressive level-of-detail).
19
+ * Each resolution is a separate dynamic `import()`, so unused detail levels are never fetched, and
20
+ * while a heavier tier loads the previously-displayed topology stays on screen (no blank canvas).
21
+ */
22
+ export declare const useTopology: {
23
+ (): Topology | undefined;
24
+ (zoom: number, options?: UseTopologyOptions): Topology | undefined;
25
+ };
26
+ //# sourceMappingURL=useTopology.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTopology.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTopology.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIvD,OAAO,EAAE,KAAK,mBAAmB,EAAgB,MAAM,SAAS,CAAC;AAEjE,MAAM,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAExC,MAAM,MAAM,SAAS,GAAG;IACtB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,KAAK,EAAE,mBAAmB,CAAC;CAC5B,CAAC;AAqBF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,wFAAwF;IACxF,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB,CAAC;AAMF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB,IAAI,QAAQ,GAAG,SAAS,CAAC;IACzB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,QAAQ,GAAG,SAAS,CAAC;CAoCpE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Dispatch, type SetStateAction } from 'react';
2
- import type { GlobeController } from '../components';
3
2
  import { type LatLngLiteral } from '../types';
4
3
  import { type StyleSet } from '../util';
4
+ import type { GlobeController } from './context';
5
5
  export type TourOptions = {
6
6
  running?: boolean;
7
7
  disabled?: boolean;
@@ -12,7 +12,8 @@ export type TourOptions = {
12
12
  styles?: StyleSet;
13
13
  };
14
14
  /**
15
- * Iterates between points.
15
+ * Iterates between points by chaining `controller.flyTo` calls, rendering
16
+ * an arc + cursor on the canvas per frame via the flyTo `onTick` hook.
16
17
  * Inspired by: https://observablehq.com/@mbostock/top-100-cities
17
18
  */
18
19
  export declare const useTour: (controller?: GlobeController | null, points?: LatLngLiteral[], options?: TourOptions) => [boolean, Dispatch<SetStateAction<boolean>>];
@@ -1 +1 @@
1
- {"version":3,"file":"useTour.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTour.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAgC,MAAM,OAAO,CAAC;AAGzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,QAAQ,EAAqC,MAAM,SAAS,CAAC;AAM3E,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAClB,aAAa,eAAe,GAAG,IAAI,EACnC,SAAS,aAAa,EAAE,EACxB,UAAS,WAAgB,KACxB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAyF7C,CAAC"}
1
+ {"version":3,"file":"useTour.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTour.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAuB,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAIjD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,gBACL,eAAe,GAAG,IAAI,WAC1B,aAAa,EAAE,YACf,WAAW,KACnB,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAgF7C,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type GlobeController } from './context';
2
+ export type WheelOptions = {
3
+ disabled?: boolean;
4
+ /**
5
+ * Degrees of rotation per pixel of wheel delta (non-zoom gestures).
6
+ */
7
+ sensitivity?: number;
8
+ /**
9
+ * Zoom factor per pixel of pinch / ctrl+scroll delta. Applied exponentially
10
+ * so equal pinch-in / pinch-out deltas cancel exactly. Default 0.01.
11
+ */
12
+ zoomSensitivity?: number;
13
+ onUpdate?: (controller: GlobeController) => void;
14
+ };
15
+ /**
16
+ * Map mouse-wheel / trackpad gestures to globe motion:
17
+ * - Scroll (or two-finger pan on a trackpad) rotates the globe:
18
+ * deltaY → phi (tilt around screen-X), deltaX → lambda (polar spin).
19
+ * - Pinch-to-zoom on a trackpad — and ctrl+scroll on a mouse — are
20
+ * delivered as `wheel` events with `ctrlKey: true`. Those are routed
21
+ * to `setZoom` instead so the gesture matches the user's intent.
22
+ */
23
+ export declare const useWheel: (controller?: GlobeController | null, options?: WheelOptions) => void;
24
+ //# sourceMappingURL=useWheel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWheel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useWheel.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAGjD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,IAAI,CAAC;CAClD,CAAC;AAKF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,gBAAiB,eAAe,GAAG,IAAI,YAAW,YAAY,SAgDlF,CAAC"}
@@ -1,7 +1,5 @@
1
1
  export * from './components';
2
- export * from './data';
3
2
  export * from './hooks';
4
- export * from './translations';
5
3
  export type * from './types';
6
4
  export * from './util';
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,mBAAmB,SAAS,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,mBAAmB,SAAS,CAAC;AAC7B,cAAc,QAAQ,CAAC"}
@@ -2,10 +2,10 @@ export declare const translationKey = "@dxos/react-ui-geo";
2
2
  export declare const translations: [{
3
3
  readonly 'en-US': {
4
4
  readonly "@dxos/react-ui-geo": {
5
- readonly 'zoom-in-icon.button': "Zoom in";
6
- readonly 'zoom-out-icon.button': "Zoom out";
7
- readonly 'start-icon.button': "Start";
8
- readonly 'toggle-icon.button': "Toggle";
5
+ readonly 'zoom-in-icon.button': 'Zoom in';
6
+ readonly 'zoom-out-icon.button': 'Zoom out';
7
+ readonly 'start-icon.button': 'Start';
8
+ readonly 'toggle-icon.button': 'Toggle';
9
9
  };
10
10
  };
11
11
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,eAAO,MAAM,YAAY;;;;;;;;;EAWM,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD,eAAO,MAAM,YAAY;;;qBAIjB,qBAAqB,EAAE,SAAS;qBAChC,sBAAsB,EAAE,UAAU;qBAClC,mBAAmB,EAAE,OAAO;qBAC5B,oBAAoB,EAAE,QAAQ;;;EAIP,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type GeoProjection } from 'd3';
2
+ import { type Vector } from '../hooks/context';
3
+ /**
4
+ * Duration scaled by great-circle distance between two geo positions.
5
+ * Ensures long jumps animate longer than short ones while clamping to a
6
+ * minimum base. `scale` controls how steeply duration grows with distance
7
+ * (ms per radian of arc).
8
+ */
9
+ export declare const flyDuration: (p1: [number, number], p2: [number, number], base: number, scale: number) => number;
10
+ /**
11
+ * Per-frame tween that interpolates the projection's rotation between two
12
+ * Euler triples along the shortest great-circle arc using versors. Mutates
13
+ * the projection and pushes the normalised rotation through `setRotation`.
14
+ */
15
+ export declare const createRotationTween: (projection: GeoProjection, setRotation: (rotation: Vector) => void, r1: Vector, r2: Vector) => ((t: number) => void);
16
+ //# sourceMappingURL=animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../../src/util/animation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,IAAI,CAAC;AAGrD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,WAAW,OAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,MAAM,SAAS,MAAM,KAAG,MACzD,CAAC;AAE9C;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,eAClB,aAAa,eACZ,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,MACnC,MAAM,MACN,MAAM,KACT,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAMtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../../src/util/debug.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,IAAI,EAAE,IAAI,MAAM,CAAC,KAAG,CAU7C,CAAC"}
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../../src/util/debug.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK,GAAI,CAAC,GAAG,IAAI,MAAM,MAAM,CAAC,KAAG,CAU7C,CAAC"}
@@ -1,5 +1,7 @@
1
+ export * from './animation';
1
2
  export * from './debug';
2
3
  export * from './inertia';
3
4
  export * from './path';
4
5
  export * from './render';
6
+ export * from './styles';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inertia.d.ts","sourceRoot":"","sources":["../../../../src/util/inertia.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,GACtB,MAAM,OAAO,EAAE,MACf,UAAU,MAAM,EAAE,EAAE,SAAS,MAAM,EAAE,KAAG,MAAM,EACK,CAAC;AAEvD;;GAEG;AAEH,eAAO,MAAM,cAAc,GAAI,WAAM,EAAE,WAAM,EAAE,eAAU,EAAE,YAAO;;;;;;;;;CA+BjE,CAAC"}
1
+ {"version":3,"file":"inertia.d.ts","sourceRoot":"","sources":["../../../../src/util/inertia.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,YAAY,SAChB,OAAO,EAAE,gBACL,MAAM,EAAE,WAAW,MAAM,EAAE,KAAG,MAAM,EACK,CAAC;AAEvD;;GAEG;AAEH,eAAO,MAAM,cAAc;;;;;;;;;CA8C1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/util/path.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,IAAI,CAAC;AACvE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,kBAAkB,GAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,aAAQ,KAAG,MAA+B,CAAC;AAE5G,eAAO,MAAM,aAAa,GAAI,cAAc,aAAa,KAAG,CAAC,MAAM,EAAE,MAAM,CAAe,CAAC;AAE3F,eAAO,MAAM,QAAQ,GAAI,OAAO,aAAa,KAAG,KAA+D,CAAC;AAGhH,eAAO,MAAM,SAAS,GAAI,cAAc,aAAa,EAAE,QAAQ,MAAM,KAAG,OACrB,CAAC;AAEpD,eAAO,MAAM,OAAO,GAAI,IAAI,aAAa,EAAE,IAAI,aAAa,KAAG,kBAM7D,CAAC;AAEH,eAAO,MAAM,YAAY,GAAI,QAAQ,QAAQ,EAAE,EAAE,QAAQ,QAAQ,KAAG,QAAQ,GAAG,IAiB9E,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,QAAQ,QAAQ,EAAE,QAAQ,QAAQ,KAAG,MAIhE,CAAC"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../src/util/path.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAA4B,MAAM,IAAI,CAAC;AACvE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,kBAAkB,eAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,oBAAa,MAA+B,CAAC;AAE5G,eAAO,MAAM,aAAa,iBAAkB,aAAa,KAAG,CAAC,MAAM,EAAE,MAAM,CAAe,CAAC;AAE3F,eAAO,MAAM,QAAQ,UAAW,aAAa,KAAG,KAA+D,CAAC;AAGhH,eAAO,MAAM,SAAS,iBAAkB,aAAa,UAAU,MAAM,KAAG,OACrB,CAAC;AAEpD,eAAO,MAAM,OAAO,OAAQ,aAAa,MAAM,aAAa,KAAG,kBAM7D,CAAC;AAEH,eAAO,MAAM,YAAY,WAAY,QAAQ,EAAE,UAAU,QAAQ,KAAG,QAAQ,GAAG,IAiB9E,CAAC;AAEF,eAAO,MAAM,WAAW,WAAY,QAAQ,UAAU,QAAQ,KAAG,MAIhE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type GeoPath, type GeoPermissibleObjects } from 'd3';
2
+ import { type Geometry } from 'geojson';
2
3
  import { type Topology } from 'topojson-specification';
3
4
  import { type LatLngLiteral } from '../types';
4
5
  export type Styles = Record<string, any>;
@@ -11,9 +12,27 @@ export type Features = {
11
12
  target: LatLngLiteral;
12
13
  }[];
13
14
  };
15
+ /**
16
+ * Per-feature bounding circle used for view-frustum culling on an
17
+ * orthographic globe. `centroid` is in lon/lat degrees and `radius` is the
18
+ * angular distance (degrees) from the centroid to the farthest sampled
19
+ * vertex of the feature.
20
+ */
21
+ export type FeatureBounds = {
22
+ geometry: Geometry;
23
+ centroid: [number, number];
24
+ radius: number;
25
+ };
14
26
  export type Layer = {
15
27
  styles: Styles;
16
28
  path: GeoPermissibleObjects;
29
+ /**
30
+ * If present, this layer is treated as a `GeometryCollection` whose
31
+ * member geometries are filtered per-frame by `viewCenter` against each
32
+ * member's `FeatureBounds`. `path` becomes the *unculled* fallback used
33
+ * when no `viewCenter` is supplied (e.g. non-orthographic projections).
34
+ */
35
+ cullable?: FeatureBounds[];
17
36
  };
18
37
  /**
19
38
  * Create rendering layers.
@@ -21,6 +40,11 @@ export type Layer = {
21
40
  export declare const createLayers: (topology: Topology, features: Features, styles: StyleSet) => Layer[];
22
41
  /**
23
42
  * Render layers created above.
43
+ *
44
+ * When `viewCenter` is supplied (orthographic globe), layers with a
45
+ * `cullable` index are filtered to just the features whose bounding circle
46
+ * intersects the visible hemisphere — keeping the d3-geo walk proportional
47
+ * to what's actually on-screen.
24
48
  */
25
- export declare const renderLayers: (generator: GeoPath, layers: Layer[], scale: number, styles: StyleSet) => CanvasRenderingContext2D;
49
+ export declare const renderLayers: (generator: GeoPath, layers: Layer[], scale: number, styles: StyleSet, viewCenter?: [number, number]) => CanvasRenderingContext2D;
26
50
  //# sourceMappingURL=render.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/util/render.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,qBAAqB,EAAgB,MAAM,IAAI,CAAC;AAE5E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC,MAAM,MAAM,KAAK,GACb,YAAY,GACZ,OAAO,GACP,WAAW,GACX,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,EAAE,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,EAAE,UAAU,QAAQ,EAAE,QAAQ,QAAQ,KAAG,KAAK,EA2E5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,OAAO,EAAE,QAAQ,KAAK,EAAO,EAAE,OAAO,MAAM,EAAE,QAAQ,QAAQ,6BA0CrG,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../../src/util/render.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,qBAAqB,EAAqD,MAAM,IAAI,CAAC;AACjH,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEzC,MAAM,MAAM,KAAK,GACb,YAAY,GACZ,OAAO,GACP,WAAW,GACX,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,MAAM,GACN,QAAQ,GACR,KAAK,CAAC;AAEV,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEtD,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,EAAE,CAAC;CAC5D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,qBAAqB,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B,CAAC;AA+BF;;GAEG;AACH,eAAO,MAAM,YAAY,aAAc,QAAQ,YAAY,QAAQ,UAAU,QAAQ,KAAG,KAAK,EA2F5F,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,cACZ,OAAO,UACV,KAAK,EAAE,SACR,MAAM,UACL,QAAQ,eACH,CAAC,MAAM,EAAE,MAAM,CAAC,6BAwD9B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ThemeMode } from '@dxos/react-ui';
2
+ import { type StyleSet } from './render';
3
+ export declare const globeStyles: (themeMode: ThemeMode) => StyleSet;
4
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/util/styles.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAYzC,eAAO,MAAM,WAAW,cAAe,SAAS,KAAG,QA2C5C,CAAC"}