@deck.gl/widgets 9.1.11 → 9.2.0-alpha.1

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 (157) hide show
  1. package/dist/compass-widget.d.ts +11 -34
  2. package/dist/compass-widget.d.ts.map +1 -1
  3. package/dist/compass-widget.js +27 -62
  4. package/dist/compass-widget.js.map +1 -1
  5. package/dist/context-menu-widget.d.ts +37 -0
  6. package/dist/context-menu-widget.d.ts.map +1 -0
  7. package/dist/context-menu-widget.js +74 -0
  8. package/dist/context-menu-widget.js.map +1 -0
  9. package/dist/dist.dev.js +2271 -581
  10. package/dist/fps-widget.d.ts +29 -0
  11. package/dist/fps-widget.d.ts.map +1 -0
  12. package/dist/fps-widget.js +51 -0
  13. package/dist/fps-widget.js.map +1 -0
  14. package/dist/fullscreen-widget.d.ts +15 -33
  15. package/dist/fullscreen-widget.d.ts.map +1 -1
  16. package/dist/fullscreen-widget.js +20 -51
  17. package/dist/fullscreen-widget.js.map +1 -1
  18. package/dist/geocoder-widget.d.ts +51 -0
  19. package/dist/geocoder-widget.d.ts.map +1 -0
  20. package/dist/geocoder-widget.js +138 -0
  21. package/dist/geocoder-widget.js.map +1 -0
  22. package/dist/gimbal-widget.d.ts +33 -0
  23. package/dist/gimbal-widget.d.ts.map +1 -0
  24. package/dist/gimbal-widget.js +116 -0
  25. package/dist/gimbal-widget.js.map +1 -0
  26. package/dist/index.cjs +1587 -341
  27. package/dist/index.cjs.map +4 -4
  28. package/dist/index.d.ts +37 -8
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +27 -7
  31. package/dist/index.js.map +1 -1
  32. package/dist/info-widget.d.ts +37 -0
  33. package/dist/info-widget.d.ts.map +1 -0
  34. package/dist/info-widget.js +183 -0
  35. package/dist/info-widget.js.map +1 -0
  36. package/dist/lib/components/button-group.d.ts +8 -0
  37. package/dist/lib/components/button-group.d.ts.map +1 -0
  38. package/dist/lib/components/button-group.js +7 -0
  39. package/dist/lib/components/button-group.js.map +1 -0
  40. package/dist/lib/components/dropdown-menu.d.ts +8 -0
  41. package/dist/lib/components/dropdown-menu.d.ts.map +1 -0
  42. package/dist/lib/components/dropdown-menu.js +55 -0
  43. package/dist/lib/components/dropdown-menu.js.map +1 -0
  44. package/dist/lib/components/grouped-icon-button.d.ts +8 -0
  45. package/dist/lib/components/grouped-icon-button.d.ts.map +1 -0
  46. package/dist/lib/components/grouped-icon-button.js +7 -0
  47. package/dist/lib/components/grouped-icon-button.js.map +1 -0
  48. package/dist/lib/components/icon-button.d.ts +11 -0
  49. package/dist/lib/components/icon-button.d.ts.map +1 -0
  50. package/dist/lib/components/icon-button.js +7 -0
  51. package/dist/lib/components/icon-button.js.map +1 -0
  52. package/dist/lib/components/icon-menu.d.ts +16 -0
  53. package/dist/lib/components/icon-menu.d.ts.map +1 -0
  54. package/dist/lib/components/icon-menu.js +49 -0
  55. package/dist/lib/components/icon-menu.js.map +1 -0
  56. package/dist/lib/components/simple-menu.d.ts +16 -0
  57. package/dist/lib/components/simple-menu.d.ts.map +1 -0
  58. package/dist/lib/components/simple-menu.js +30 -0
  59. package/dist/lib/components/simple-menu.js.map +1 -0
  60. package/dist/lib/geocode/geocoder-history.d.ts +23 -0
  61. package/dist/lib/geocode/geocoder-history.d.ts.map +1 -0
  62. package/dist/lib/geocode/geocoder-history.js +64 -0
  63. package/dist/lib/geocode/geocoder-history.js.map +1 -0
  64. package/dist/lib/geocode/geocoder.d.ts +15 -0
  65. package/dist/lib/geocode/geocoder.d.ts.map +1 -0
  66. package/dist/lib/geocode/geocoder.js +5 -0
  67. package/dist/lib/geocode/geocoder.js.map +1 -0
  68. package/dist/lib/geocode/geocoders.d.ts +68 -0
  69. package/dist/lib/geocode/geocoders.d.ts.map +1 -0
  70. package/dist/lib/geocode/geocoders.js +182 -0
  71. package/dist/lib/geocode/geocoders.js.map +1 -0
  72. package/dist/loading-widget.d.ts +26 -0
  73. package/dist/loading-widget.d.ts.map +1 -0
  74. package/dist/loading-widget.js +41 -0
  75. package/dist/loading-widget.js.map +1 -0
  76. package/dist/reset-view-widget.d.ts +4 -4
  77. package/dist/reset-view-widget.d.ts.map +1 -1
  78. package/dist/reset-view-widget.js +7 -10
  79. package/dist/reset-view-widget.js.map +1 -1
  80. package/dist/scale-widget.d.ts +28 -0
  81. package/dist/scale-widget.d.ts.map +1 -0
  82. package/dist/scale-widget.js +111 -0
  83. package/dist/scale-widget.js.map +1 -0
  84. package/dist/screenshot-widget.d.ts +4 -4
  85. package/dist/screenshot-widget.d.ts.map +1 -1
  86. package/dist/screenshot-widget.js +7 -14
  87. package/dist/screenshot-widget.js.map +1 -1
  88. package/dist/splitter-widget.d.ts +32 -0
  89. package/dist/splitter-widget.d.ts.map +1 -0
  90. package/dist/splitter-widget.js +123 -0
  91. package/dist/splitter-widget.js.map +1 -0
  92. package/dist/stats-widget.d.ts +36 -0
  93. package/dist/stats-widget.d.ts.map +1 -0
  94. package/dist/stats-widget.js +115 -0
  95. package/dist/stats-widget.js.map +1 -0
  96. package/dist/stylesheet.css +121 -4
  97. package/dist/theme-widget.d.ts +31 -0
  98. package/dist/theme-widget.d.ts.map +1 -0
  99. package/dist/theme-widget.js +83 -0
  100. package/dist/theme-widget.js.map +1 -0
  101. package/dist/themes.d.ts +65 -36
  102. package/dist/themes.d.ts.map +1 -1
  103. package/dist/themes.js +20 -8
  104. package/dist/themes.js.map +1 -1
  105. package/dist/timeline-widget.d.ts +59 -0
  106. package/dist/timeline-widget.d.ts.map +1 -0
  107. package/dist/timeline-widget.js +83 -0
  108. package/dist/timeline-widget.js.map +1 -0
  109. package/dist/view-selector-widget.d.ts +33 -0
  110. package/dist/view-selector-widget.d.ts.map +1 -0
  111. package/dist/view-selector-widget.js +62 -0
  112. package/dist/view-selector-widget.js.map +1 -0
  113. package/dist/zoom-widget.d.ts +14 -43
  114. package/dist/zoom-widget.d.ts.map +1 -1
  115. package/dist/zoom-widget.js +14 -56
  116. package/dist/zoom-widget.js.map +1 -1
  117. package/dist.min.js +3 -1
  118. package/package.json +4 -3
  119. package/src/compass-widget.tsx +44 -106
  120. package/src/context-menu-widget.tsx +115 -0
  121. package/src/fps-widget.tsx +67 -0
  122. package/src/fullscreen-widget.tsx +33 -86
  123. package/src/geocoder-widget.tsx +209 -0
  124. package/src/gimbal-widget.tsx +188 -0
  125. package/src/index.ts +58 -8
  126. package/src/info-widget.tsx +225 -0
  127. package/src/lib/components/button-group.tsx +16 -0
  128. package/src/lib/components/dropdown-menu.tsx +98 -0
  129. package/src/lib/components/grouped-icon-button.tsx +24 -0
  130. package/src/lib/components/icon-button.tsx +30 -0
  131. package/src/lib/components/icon-menu.tsx +89 -0
  132. package/src/lib/components/simple-menu.tsx +52 -0
  133. package/src/lib/geocode/geocoder-history.ts +73 -0
  134. package/src/lib/geocode/geocoder.ts +15 -0
  135. package/src/lib/geocode/geocoders.ts +199 -0
  136. package/src/loading-widget.tsx +67 -0
  137. package/src/reset-view-widget.tsx +8 -11
  138. package/src/scale-widget.tsx +183 -0
  139. package/src/screenshot-widget.tsx +9 -11
  140. package/src/splitter-widget.tsx +179 -0
  141. package/src/stats-widget.tsx +166 -0
  142. package/src/stylesheet.css +121 -4
  143. package/src/theme-widget.tsx +120 -0
  144. package/src/themes.ts +45 -12
  145. package/src/timeline-widget.tsx +155 -0
  146. package/src/view-selector-widget.tsx +108 -0
  147. package/src/zoom-widget.tsx +39 -113
  148. package/dist/components.d.ts +0 -4
  149. package/dist/components.d.ts.map +0 -1
  150. package/dist/components.js +0 -17
  151. package/dist/components.js.map +0 -1
  152. package/dist/widget-impl.d.ts +0 -29
  153. package/dist/widget-impl.d.ts.map +0 -1
  154. package/dist/widget-impl.js +0 -60
  155. package/dist/widget-impl.js.map +0 -1
  156. package/src/components.tsx +0 -38
  157. package/src/widget-impl.ts +0 -88
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx } from "preact/jsx-runtime";
2
+ // deck.gl
3
+ // SPDX-License-Identifier: MIT
4
+ // Copyright (c) vis.gl contributors
5
+ import { log, _deepEqual as deepEqual, _applyStyles as applyStyles } from '@deck.gl/core';
6
+ import { Widget } from '@deck.gl/core';
7
+ import { render } from 'preact';
8
+ // import {useCallback} from 'preact/hooks';
9
+ import { IconButton } from "./lib/components/icon-button.js";
10
+ import { LightGlassTheme, DarkGlassTheme } from "./themes.js";
11
+ export class ThemeWidget extends Widget {
12
+ constructor(props = {}) {
13
+ super(props, ThemeWidget.defaultProps);
14
+ this.className = 'deck-widget-theme';
15
+ this.placement = 'top-left';
16
+ this.themeMode = 'dark';
17
+ this.placement = props.placement ?? this.placement;
18
+ this.themeMode = this._getInitialThemeMode();
19
+ }
20
+ // eslint-disable-next-line complexity
21
+ setProps(props) {
22
+ const { lightModeTheme, darkModeTheme } = this.props;
23
+ this.placement = props.placement ?? this.placement;
24
+ super.setProps(props);
25
+ // Update if current theme definition changed
26
+ switch (this.themeMode) {
27
+ case 'light':
28
+ if (props.lightModeTheme && !deepEqual(props.lightModeTheme, lightModeTheme, 1)) {
29
+ this._setThemeMode('light');
30
+ }
31
+ break;
32
+ case 'dark':
33
+ if (props.darkModeTheme && !deepEqual(props.darkModeTheme, darkModeTheme, 1)) {
34
+ this._setThemeMode('dark');
35
+ }
36
+ break;
37
+ }
38
+ }
39
+ onRenderHTML(rootElement) {
40
+ const { lightModeLabel, darkModeLabel } = this.props;
41
+ // const onClick = useCallback(this._handleClick.bind(this), [this._handleClick]);
42
+ render(_jsx(IconButton, { onClick: this._handleClick.bind(this), label: this.themeMode === 'dark' ? darkModeLabel : lightModeLabel, className: this.themeMode === 'dark' ? 'deck-widget-moon' : 'deck-widget-sun' }), rootElement);
43
+ }
44
+ onAdd() {
45
+ // Note: theme styling is applied in here onAdd() once DOM element is created
46
+ this._setThemeMode(this.themeMode);
47
+ }
48
+ _handleClick() {
49
+ const newThemeMode = this.themeMode === 'dark' ? 'light' : 'dark';
50
+ this._setThemeMode(newThemeMode);
51
+ }
52
+ _setThemeMode(themeMode) {
53
+ this.themeMode = themeMode;
54
+ const container = this.rootElement?.closest('.deck-widget-container');
55
+ if (container) {
56
+ const themeStyle = themeMode === 'dark' ? this.props.darkModeTheme : this.props.lightModeTheme;
57
+ applyStyles(container, themeStyle);
58
+ const label = this.themeMode === 'dark' ? this.props.darkModeLabel : this.props.lightModeLabel;
59
+ log.log(1, `Switched theme to ${label}`, themeStyle);
60
+ this.updateHTML();
61
+ }
62
+ }
63
+ /** Read browser preference */
64
+ _getInitialThemeMode() {
65
+ const { initialThemeMode } = this.props;
66
+ return initialThemeMode === 'auto'
67
+ ? window.matchMedia('(prefers-color-scheme: dark)').matches
68
+ ? 'dark'
69
+ : 'light'
70
+ : initialThemeMode;
71
+ }
72
+ }
73
+ ThemeWidget.defaultProps = {
74
+ ...Widget.defaultProps,
75
+ id: 'theme',
76
+ placement: 'top-left',
77
+ lightModeLabel: 'Light Mode',
78
+ lightModeTheme: LightGlassTheme,
79
+ darkModeLabel: 'Dark Mode',
80
+ darkModeTheme: DarkGlassTheme,
81
+ initialThemeMode: 'auto'
82
+ };
83
+ //# sourceMappingURL=theme-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-widget.js","sourceRoot":"","sources":["../src/theme-widget.tsx"],"names":[],"mappings":"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"}
package/dist/themes.d.ts CHANGED
@@ -1,45 +1,74 @@
1
+ /**
2
+ * A Deck Theme is a set of CSS variables that control CSS styling of the official widgets.
3
+ */
4
+ export type DeckWidgetTheme = {
5
+ '--widget-margin'?: string;
6
+ '--button-size'?: string;
7
+ '--button-corner-radius'?: string;
8
+ '--button-background'?: string;
9
+ '--button-stroke'?: string;
10
+ '--button-inner-stroke'?: string;
11
+ '--button-shadow'?: string;
12
+ '--button-backdrop-filter'?: string;
13
+ '--button-icon-idle'?: string;
14
+ '--button-icon-hover'?: string;
15
+ '--icon-compass-north-color'?: string;
16
+ '--icon-compass-south-color'?: string;
17
+ };
1
18
  export declare const LightTheme: {
2
- '--button-background': string;
3
- '--button-stroke': string;
4
- '--button-inner-stroke': string;
5
- '--button-shadow': string;
6
- '--button-backdrop-filter': string;
7
- '--button-icon-idle': string;
8
- '--button-icon-hover': string;
9
- '--icon-compass-north-color': string;
10
- '--icon-compass-south-color': string;
19
+ readonly '--widget-margin': "12px";
20
+ readonly '--button-size': "28px";
21
+ readonly '--button-corner-radius': "8px";
22
+ readonly '--button-background': "#fff";
23
+ readonly '--button-stroke': "rgba(255, 255, 255, 0.3)";
24
+ readonly '--button-inner-stroke': "unset";
25
+ readonly '--button-shadow': "0px 0px 8px 0px rgba(0, 0, 0, 0.25)";
26
+ readonly '--button-backdrop-filter': "unset";
27
+ readonly '--button-icon-idle': "rgba(97, 97, 102, 1)";
28
+ readonly '--button-icon-hover': "rgba(24, 24, 26, 1)";
29
+ readonly '--icon-compass-north-color': "rgb(240, 92, 68)";
30
+ readonly '--icon-compass-south-color': "rgb(204, 204, 204)";
11
31
  };
12
32
  export declare const DarkTheme: {
13
- '--button-background': string;
14
- '--button-stroke': string;
15
- '--button-inner-stroke': string;
16
- '--button-shadow': string;
17
- '--button-backdrop-filter': string;
18
- '--button-icon-idle': string;
19
- '--button-icon-hover': string;
20
- '--icon-compass-north-color': string;
21
- '--icon-compass-south-color': string;
33
+ readonly '--widget-margin': "12px";
34
+ readonly '--button-size': "28px";
35
+ readonly '--button-corner-radius': "8px";
36
+ readonly '--button-background': "rgba(18, 18, 20, 1)";
37
+ readonly '--button-stroke': "rgba(18, 18, 20, 0.30)";
38
+ readonly '--button-inner-stroke': "unset";
39
+ readonly '--button-shadow': "0px 0px 8px 0px rgba(0, 0, 0, 0.25)";
40
+ readonly '--button-backdrop-filter': "unset";
41
+ readonly '--button-icon-idle': "rgba(158, 157, 168, 1)";
42
+ readonly '--button-icon-hover': "rgba(215, 214, 229, 1)";
43
+ readonly '--icon-compass-north-color': "rgb(240, 92, 68)";
44
+ readonly '--icon-compass-south-color': "rgb(200, 199, 209)";
22
45
  };
23
46
  export declare const LightGlassTheme: {
24
- '--button-background': string;
25
- '--button-stroke': string;
26
- '--button-inner-stroke': string;
27
- '--button-shadow': string;
28
- '--button-backdrop-filter': string;
29
- '--button-icon-idle': string;
30
- '--button-icon-hover': string;
31
- '--icon-compass-north-color': string;
32
- '--icon-compass-south-color': string;
47
+ readonly '--widget-margin': "12px";
48
+ readonly '--button-size': "28px";
49
+ readonly '--button-corner-radius': "8px";
50
+ readonly '--button-background': "rgba(255, 255, 255, 0.6)";
51
+ readonly '--button-stroke': "rgba(255, 255, 255, 0.3)";
52
+ readonly '--button-inner-stroke': "1px solid rgba(255, 255, 255, 0.6)";
53
+ readonly '--button-shadow': "0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset";
54
+ readonly '--button-backdrop-filter': "blur(4px)";
55
+ readonly '--button-icon-idle': "rgba(97, 97, 102, 1)";
56
+ readonly '--button-icon-hover': "rgba(24, 24, 26, 1)";
57
+ readonly '--icon-compass-north-color': "rgb(240, 92, 68)";
58
+ readonly '--icon-compass-south-color': "rgb(204, 204, 204)";
33
59
  };
34
60
  export declare const DarkGlassTheme: {
35
- '--button-background': string;
36
- '--button-stroke': string;
37
- '--button-inner-stroke': string;
38
- '--button-shadow': string;
39
- '--button-backdrop-filter': string;
40
- '--button-icon-idle': string;
41
- '--button-icon-hover': string;
42
- '--icon-compass-north-color': string;
43
- '--icon-compass-south-color': string;
61
+ readonly '--widget-margin': "12px";
62
+ readonly '--button-size': "28px";
63
+ readonly '--button-corner-radius': "8px";
64
+ readonly '--button-background': "rgba(18, 18, 20, 0.75)";
65
+ readonly '--button-stroke': "rgba(18, 18, 20, 0.30)";
66
+ readonly '--button-inner-stroke': "1px solid rgba(18, 18, 20, 0.75)";
67
+ readonly '--button-shadow': "0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset";
68
+ readonly '--button-backdrop-filter': "blur(4px)";
69
+ readonly '--button-icon-idle': "rgba(158, 157, 168, 1)";
70
+ readonly '--button-icon-hover': "rgba(215, 214, 229, 1)";
71
+ readonly '--icon-compass-north-color': "rgb(240, 92, 68)";
72
+ readonly '--icon-compass-south-color': "rgb(200, 199, 209)";
44
73
  };
45
74
  //# sourceMappingURL=themes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU;;;;;;;;;;CAUtB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;CAUrB,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;CAW3B,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;CAW1B,CAAC"}
1
+ {"version":3,"file":"themes.d.ts","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAE5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,4BAA4B,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAauB,CAAC;AAE/C,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAawB,CAAC;AAE/C,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAckB,CAAC;AAE/C,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAcmB,CAAC"}
package/dist/themes.js CHANGED
@@ -2,6 +2,9 @@
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
4
  export const LightTheme = {
5
+ '--widget-margin': '12px',
6
+ '--button-size': '28px',
7
+ '--button-corner-radius': '8px',
5
8
  '--button-background': '#fff',
6
9
  '--button-stroke': 'rgba(255, 255, 255, 0.3)',
7
10
  '--button-inner-stroke': 'unset',
@@ -9,10 +12,13 @@ export const LightTheme = {
9
12
  '--button-backdrop-filter': 'unset',
10
13
  '--button-icon-idle': 'rgba(97, 97, 102, 1)',
11
14
  '--button-icon-hover': 'rgba(24, 24, 26, 1)',
12
- '--icon-compass-north-color': '#F05C44',
13
- '--icon-compass-south-color': '#C2C2CC'
15
+ '--icon-compass-north-color': 'rgb(240, 92, 68)',
16
+ '--icon-compass-south-color': 'rgb(204, 204, 204)'
14
17
  };
15
18
  export const DarkTheme = {
19
+ '--widget-margin': '12px',
20
+ '--button-size': '28px',
21
+ '--button-corner-radius': '8px',
16
22
  '--button-background': 'rgba(18, 18, 20, 1)',
17
23
  '--button-stroke': 'rgba(18, 18, 20, 0.30)',
18
24
  '--button-inner-stroke': 'unset',
@@ -20,10 +26,13 @@ export const DarkTheme = {
20
26
  '--button-backdrop-filter': 'unset',
21
27
  '--button-icon-idle': 'rgba(158, 157, 168, 1)',
22
28
  '--button-icon-hover': 'rgba(215, 214, 229, 1)',
23
- '--icon-compass-north-color': '#F05C44',
24
- '--icon-compass-south-color': '#C2C2CC'
29
+ '--icon-compass-north-color': 'rgb(240, 92, 68)',
30
+ '--icon-compass-south-color': 'rgb(200, 199, 209)'
25
31
  };
26
32
  export const LightGlassTheme = {
33
+ '--widget-margin': '12px',
34
+ '--button-size': '28px',
35
+ '--button-corner-radius': '8px',
27
36
  '--button-background': 'rgba(255, 255, 255, 0.6)',
28
37
  '--button-stroke': 'rgba(255, 255, 255, 0.3)',
29
38
  '--button-inner-stroke': '1px solid rgba(255, 255, 255, 0.6)',
@@ -31,10 +40,13 @@ export const LightGlassTheme = {
31
40
  '--button-backdrop-filter': 'blur(4px)',
32
41
  '--button-icon-idle': 'rgba(97, 97, 102, 1)',
33
42
  '--button-icon-hover': 'rgba(24, 24, 26, 1)',
34
- '--icon-compass-north-color': '#F05C44',
35
- '--icon-compass-south-color': '#C2C2CC'
43
+ '--icon-compass-north-color': 'rgb(240, 92, 68)',
44
+ '--icon-compass-south-color': 'rgb(204, 204, 204)'
36
45
  };
37
46
  export const DarkGlassTheme = {
47
+ '--widget-margin': '12px',
48
+ '--button-size': '28px',
49
+ '--button-corner-radius': '8px',
38
50
  '--button-background': 'rgba(18, 18, 20, 0.75)',
39
51
  '--button-stroke': 'rgba(18, 18, 20, 0.30)',
40
52
  '--button-inner-stroke': '1px solid rgba(18, 18, 20, 0.75)',
@@ -42,7 +54,7 @@ export const DarkGlassTheme = {
42
54
  '--button-backdrop-filter': 'blur(4px)',
43
55
  '--button-icon-idle': 'rgba(158, 157, 168, 1)',
44
56
  '--button-icon-hover': 'rgba(215, 214, 229, 1)',
45
- '--icon-compass-north-color': '#F05C44',
46
- '--icon-compass-south-color': '#C2C2CC'
57
+ '--icon-compass-north-color': 'rgb(240, 92, 68)',
58
+ '--icon-compass-south-color': 'rgb(200, 199, 209)'
47
59
  };
48
60
  //# sourceMappingURL=themes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,qBAAqB,EAAE,MAAM;IAC7B,iBAAiB,EAAE,0BAA0B;IAC7C,uBAAuB,EAAE,OAAO;IAChC,iBAAiB,EAAE,qCAAqC;IACxD,0BAA0B,EAAE,OAAO;IACnC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,4BAA4B,EAAE,SAAS;IACvC,4BAA4B,EAAE,SAAS;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,qBAAqB,EAAE,qBAAqB;IAC5C,iBAAiB,EAAE,wBAAwB;IAC3C,uBAAuB,EAAE,OAAO;IAChC,iBAAiB,EAAE,qCAAqC;IACxD,0BAA0B,EAAE,OAAO;IACnC,oBAAoB,EAAE,wBAAwB;IAC9C,qBAAqB,EAAE,wBAAwB;IAC/C,4BAA4B,EAAE,SAAS;IACvC,4BAA4B,EAAE,SAAS;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,qBAAqB,EAAE,0BAA0B;IACjD,iBAAiB,EAAE,0BAA0B;IAC7C,uBAAuB,EAAE,oCAAoC;IAC7D,iBAAiB,EACf,+EAA+E;IACjF,0BAA0B,EAAE,WAAW;IACvC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,4BAA4B,EAAE,SAAS;IACvC,4BAA4B,EAAE,SAAS;CACxC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,qBAAqB,EAAE,wBAAwB;IAC/C,iBAAiB,EAAE,wBAAwB;IAC3C,uBAAuB,EAAE,kCAAkC;IAC3D,iBAAiB,EACf,+EAA+E;IACjF,0BAA0B,EAAE,WAAW;IACvC,oBAAoB,EAAE,wBAAwB;IAC9C,qBAAqB,EAAE,wBAAwB;IAC/C,4BAA4B,EAAE,SAAS;IACvC,4BAA4B,EAAE,SAAS;CACxC,CAAC"}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAuBpC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,wBAAwB,EAAE,KAAK;IAC/B,qBAAqB,EAAE,MAAM;IAC7B,iBAAiB,EAAE,0BAA0B;IAC7C,uBAAuB,EAAE,OAAO;IAChC,iBAAiB,EAAE,qCAAqC;IACxD,0BAA0B,EAAE,OAAO;IACnC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,4BAA4B,EAAE,kBAAkB;IAChD,4BAA4B,EAAE,oBAAoB;CACN,CAAC;AAE/C,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,wBAAwB,EAAE,KAAK;IAC/B,qBAAqB,EAAE,qBAAqB;IAC5C,iBAAiB,EAAE,wBAAwB;IAC3C,uBAAuB,EAAE,OAAO;IAChC,iBAAiB,EAAE,qCAAqC;IACxD,0BAA0B,EAAE,OAAO;IACnC,oBAAoB,EAAE,wBAAwB;IAC9C,qBAAqB,EAAE,wBAAwB;IAC/C,4BAA4B,EAAE,kBAAkB;IAChD,4BAA4B,EAAE,oBAAoB;CACN,CAAC;AAE/C,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,wBAAwB,EAAE,KAAK;IAC/B,qBAAqB,EAAE,0BAA0B;IACjD,iBAAiB,EAAE,0BAA0B;IAC7C,uBAAuB,EAAE,oCAAoC;IAC7D,iBAAiB,EACf,+EAA+E;IACjF,0BAA0B,EAAE,WAAW;IACvC,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,qBAAqB;IAC5C,4BAA4B,EAAE,kBAAkB;IAChD,4BAA4B,EAAE,oBAAoB;CACN,CAAC;AAE/C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,iBAAiB,EAAE,MAAM;IACzB,eAAe,EAAE,MAAM;IACvB,wBAAwB,EAAE,KAAK;IAC/B,qBAAqB,EAAE,wBAAwB;IAC/C,iBAAiB,EAAE,wBAAwB;IAC3C,uBAAuB,EAAE,kCAAkC;IAC3D,iBAAiB,EACf,+EAA+E;IACjF,0BAA0B,EAAE,WAAW;IACvC,oBAAoB,EAAE,wBAAwB;IAC9C,qBAAqB,EAAE,wBAAwB;IAC/C,4BAA4B,EAAE,kBAAkB;IAChD,4BAA4B,EAAE,oBAAoB;CACN,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { Widget, type WidgetPlacement } from '@deck.gl/core';
2
+ export type TimelineWidgetProps = {
3
+ /**
4
+ * Widget id
5
+ */
6
+ id?: string;
7
+ /**
8
+ * CSS inline style overrides.
9
+ */
10
+ style?: Partial<CSSStyleDeclaration>;
11
+ /**
12
+ * Additional CSS class.
13
+ */
14
+ className?: string;
15
+ /**
16
+ * Widget placement.
17
+ */
18
+ placement?: WidgetPlacement;
19
+ /**
20
+ * Slider timeRange [min, max].
21
+ */
22
+ timeRange?: [number, number];
23
+ /**
24
+ * Slider step.
25
+ */
26
+ step?: number;
27
+ /**
28
+ * Initial slider value.
29
+ */
30
+ initialTime?: number;
31
+ /**
32
+ * Callback when value changes.
33
+ */
34
+ onTimeChange?: (value: number) => void;
35
+ /**
36
+ * Play interval in milliseconds.
37
+ */
38
+ playInterval?: number;
39
+ };
40
+ export declare class TimelineWidget extends Widget<TimelineWidgetProps> {
41
+ id: string;
42
+ className: string;
43
+ placement: WidgetPlacement;
44
+ private playing;
45
+ private timerId;
46
+ currentTime: number;
47
+ static defaultProps: Required<TimelineWidgetProps>;
48
+ constructor(props?: TimelineWidgetProps);
49
+ setProps(props: Partial<TimelineWidgetProps>): void;
50
+ onAdd(): void;
51
+ onRemove(): void;
52
+ onRenderHTML(rootElement: HTMLElement): void;
53
+ private handlePlayPause;
54
+ private handleSliderChange;
55
+ private start;
56
+ private stop;
57
+ private tick;
58
+ }
59
+ //# sourceMappingURL=timeline-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-widget.d.ts","sourceRoot":"","sources":["../src/timeline-widget.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,KAAK,eAAe,EAAC,MAAM,eAAe,CAAC;AAG3D,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,cAAe,SAAQ,MAAM,CAAC,mBAAmB,CAAC;IAC7D,EAAE,SAAc;IAChB,SAAS,SAA0B;IACnC,SAAS,EAAE,eAAe,CAAiB;IAE3C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAShD;gBAEU,KAAK,GAAE,mBAAwB;IAK3C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAKnD,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,IAAI;IAIhB,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAyB5C,OAAO,CAAC,eAAe,CAMrB;IAEF,OAAO,CAAC,kBAAkB,CAMxB;IAEF,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,IAAI,CAYV;CACH"}
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ // deck.gl
3
+ // SPDX-License-Identifier: MIT
4
+ // Copyright (c) vis.gl contributors
5
+ import { Widget } from '@deck.gl/core';
6
+ import { render } from 'preact';
7
+ export class TimelineWidget extends Widget {
8
+ constructor(props = {}) {
9
+ super(props, TimelineWidget.defaultProps);
10
+ this.id = 'timeline';
11
+ this.className = 'deck-widget-timeline';
12
+ this.placement = 'bottom-left';
13
+ this.playing = false;
14
+ this.timerId = null;
15
+ this.handlePlayPause = () => {
16
+ if (this.playing) {
17
+ this.stop();
18
+ }
19
+ else {
20
+ this.start();
21
+ }
22
+ };
23
+ this.handleSliderChange = (e) => {
24
+ const input = e.target;
25
+ const val = Number(input.value);
26
+ this.currentTime = val;
27
+ this.props.onTimeChange(val);
28
+ this.updateHTML();
29
+ };
30
+ this.tick = () => {
31
+ const [min, max] = this.props.timeRange;
32
+ let next = this.currentTime + this.props.step;
33
+ if (next > max) {
34
+ next = min;
35
+ }
36
+ this.currentTime = next;
37
+ this.props.onTimeChange(next);
38
+ this.updateHTML();
39
+ if (this.playing) {
40
+ this.timerId = window.setTimeout(this.tick, this.props.playInterval);
41
+ }
42
+ };
43
+ this.currentTime = this.props.initialTime ?? this.props.timeRange[0];
44
+ }
45
+ setProps(props) {
46
+ this.placement = props.placement || this.placement;
47
+ super.setProps(props);
48
+ }
49
+ onAdd() {
50
+ this.playing = false;
51
+ this.timerId = null;
52
+ }
53
+ onRemove() {
54
+ this.stop();
55
+ }
56
+ onRenderHTML(rootElement) {
57
+ render(_jsxs("div", { style: { display: 'flex', alignItems: 'center', pointerEvents: 'auto' }, children: [_jsx("button", { type: "button", className: "timeline-play-pause", title: this.playing ? 'Pause' : 'Play', onClick: this.handlePlayPause, children: this.playing ? '⏸' : '▶' }), _jsx("input", { type: "range", className: "timeline-slider", min: this.props.timeRange[0], max: this.props.timeRange[1], step: this.props.step, value: this.currentTime, onInput: this.handleSliderChange })] }), rootElement);
58
+ }
59
+ start() {
60
+ this.playing = true;
61
+ this.updateHTML();
62
+ this.tick();
63
+ }
64
+ stop() {
65
+ this.playing = false;
66
+ if (this.timerId !== null) {
67
+ window.clearTimeout(this.timerId);
68
+ this.timerId = null;
69
+ }
70
+ this.updateHTML();
71
+ }
72
+ }
73
+ TimelineWidget.defaultProps = {
74
+ ...Widget.defaultProps,
75
+ id: 'timeline',
76
+ placement: 'bottom-left',
77
+ timeRange: [0, 100],
78
+ step: 1,
79
+ initialTime: undefined,
80
+ onTimeChange: () => { },
81
+ playInterval: 1000
82
+ };
83
+ //# sourceMappingURL=timeline-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-widget.js","sourceRoot":"","sources":["../src/timeline-widget.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { Widget, type WidgetProps, type WidgetPlacement } from '@deck.gl/core';
2
+ /** The available view modes */
3
+ export type ViewMode = 'single' | 'split-horizontal' | 'split-vertical';
4
+ /** Properties for the ViewSelectorWidget */
5
+ export type ViewSelectorWidgetProps = WidgetProps & {
6
+ /** Widget positioning within the view. Default 'top-left'. */
7
+ placement?: WidgetPlacement;
8
+ /** Tooltip label */
9
+ label?: string;
10
+ /** The initial view mode. Defaults to 'single'. */
11
+ initialViewMode?: ViewMode;
12
+ /** Callback invoked when the view mode changes */
13
+ onViewModeChange?: (mode: ViewMode) => void;
14
+ };
15
+ /**
16
+ * A widget that renders a popup menu for selecting a view mode.
17
+ * It displays a button with the current view mode icon. Clicking the button
18
+ * toggles a popup that shows three icons for:
19
+ * - Single view
20
+ * - Two views, split horizontally
21
+ * - Two views, split vertically
22
+ */
23
+ export declare class ViewSelectorWidget extends Widget<ViewSelectorWidgetProps> {
24
+ static defaultProps: Required<ViewSelectorWidgetProps>;
25
+ className: string;
26
+ placement: WidgetPlacement;
27
+ viewMode: ViewMode;
28
+ constructor(props?: ViewSelectorWidgetProps);
29
+ setProps(props: Partial<ViewSelectorWidgetProps>): void;
30
+ onRenderHTML(rootElement: HTMLElement): void;
31
+ handleSelectMode: (viewMode: ViewMode) => void;
32
+ }
33
+ //# sourceMappingURL=view-selector-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-selector-widget.d.ts","sourceRoot":"","sources":["../src/view-selector-widget.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAC,MAAM,eAAe,CAAC;AAG7E,+BAA+B;AAC/B,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAExE,4CAA4C;AAC5C,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG;IAClD,8DAA8D;IAC9D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC7C,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,MAAM,CAAC,uBAAuB,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAUpD;IAEF,SAAS,SAA+B;IACxC,SAAS,EAAE,eAAe,CAAc;IACxC,QAAQ,EAAE,QAAQ,CAAC;gBAEP,KAAK,GAAE,uBAA4B;IAM/C,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC;IAKhD,YAAY,CAAC,WAAW,EAAE,WAAW;IAYrC,gBAAgB,aAAc,QAAQ,UAGpC;CACH"}
@@ -0,0 +1,62 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
+ // ViewSelectorWidget.tsx
3
+ // deck.gl
4
+ // SPDX-License-Identifier: MIT
5
+ // Copyright (c) vis.gl contributors
6
+ import { render } from 'preact';
7
+ import { Widget } from '@deck.gl/core';
8
+ import { IconMenu } from "./lib/components/icon-menu.js";
9
+ /**
10
+ * A widget that renders a popup menu for selecting a view mode.
11
+ * It displays a button with the current view mode icon. Clicking the button
12
+ * toggles a popup that shows three icons for:
13
+ * - Single view
14
+ * - Two views, split horizontally
15
+ * - Two views, split vertically
16
+ */
17
+ export class ViewSelectorWidget extends Widget {
18
+ constructor(props = {}) {
19
+ super(props, ViewSelectorWidget.defaultProps);
20
+ this.className = 'deck-widget-view-selector';
21
+ this.placement = 'top-left';
22
+ this.handleSelectMode = (viewMode) => {
23
+ this.viewMode = viewMode;
24
+ this.updateHTML();
25
+ };
26
+ this.placement = this.props.placement;
27
+ this.viewMode = this.props.initialViewMode;
28
+ }
29
+ setProps(props) {
30
+ super.setProps(props);
31
+ this.placement = props.placement ?? this.placement;
32
+ }
33
+ onRenderHTML(rootElement) {
34
+ render(_jsx(IconMenu, { className: "deck-widget-view-selector", menuItems: MENU_ITEMS, initialItem: this.props.initialViewMode, onItemSelected: this.handleSelectMode }), rootElement);
35
+ }
36
+ }
37
+ ViewSelectorWidget.defaultProps = {
38
+ ...Widget.defaultProps,
39
+ id: 'view-selector-widget',
40
+ placement: 'top-left',
41
+ label: 'Split View',
42
+ initialViewMode: 'single',
43
+ onViewModeChange: (viewMode) => {
44
+ // eslint-disable-next-line no-console
45
+ console.log(viewMode);
46
+ }
47
+ };
48
+ // Define common icon style.
49
+ const ICON_STYLE = { width: '24px', height: '24px' };
50
+ // Define inline SVG icons for each view mode.
51
+ const ICONS = {
52
+ single: () => (_jsx("svg", { width: "24", height: "24", style: ICON_STYLE, children: _jsx("rect", { x: "4", y: "4", width: "16", height: "16", stroke: "black", fill: "none", strokeWidth: "2" }) })),
53
+ 'split-horizontal': () => (_jsxs("svg", { width: "24", height: "24", style: ICON_STYLE, children: [_jsx("rect", { x: "4", y: "4", width: "16", height: "7", stroke: "black", fill: "none", strokeWidth: "2" }), _jsx("rect", { x: "4", y: "13", width: "16", height: "7", stroke: "black", fill: "none", strokeWidth: "2" })] })),
54
+ 'split-vertical': () => (_jsxs("svg", { width: "24", height: "24", style: ICON_STYLE, children: [_jsx("rect", { x: "4", y: "4", width: "7", height: "16", stroke: "black", fill: "none", strokeWidth: "2" }), _jsx("rect", { x: "13", y: "4", width: "7", height: "16", stroke: "black", fill: "none", strokeWidth: "2" })] }))
55
+ };
56
+ // Define menu items for the popup menu.
57
+ const MENU_ITEMS = [
58
+ { value: 'single', icon: ICONS.single, label: 'Single View' },
59
+ { value: 'split-horizontal', icon: ICONS['split-horizontal'], label: 'Split Horizontal' },
60
+ { value: 'split-vertical', icon: ICONS['split-vertical'], label: 'Split Vertical' }
61
+ ];
62
+ //# sourceMappingURL=view-selector-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-selector-widget.js","sourceRoot":"","sources":["../src/view-selector-widget.tsx"],"names":[],"mappings":"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"}
@@ -1,64 +1,35 @@
1
- import type { Deck, Viewport, Widget, WidgetPlacement } from '@deck.gl/core';
2
- export type ZoomWidgetProps = {
3
- id?: string;
4
- /**
5
- * Widget positioning within the view. Default 'top-left'.
6
- */
1
+ import { Widget } from '@deck.gl/core';
2
+ import { Viewport, WidgetProps, WidgetPlacement } from '@deck.gl/core';
3
+ export type ZoomWidgetProps = WidgetProps & {
4
+ /** Widget positioning within the view. Default 'top-left'. */
7
5
  placement?: WidgetPlacement;
8
- /**
9
- * View to attach to and interact with. Required when using multiple views.
10
- */
6
+ /** View to attach to and interact with. Required when using multiple views. */
11
7
  viewId?: string | null;
12
- /**
13
- * Button orientation.
14
- */
8
+ /** Button orientation. */
15
9
  orientation?: 'vertical' | 'horizontal';
16
- /**
17
- * Tooltip message on zoom in button.
18
- */
10
+ /** Tooltip message on zoom in button. */
19
11
  zoomInLabel?: string;
20
- /**
21
- * Tooltip message on zoom out button.
22
- */
12
+ /** Tooltip message on zoom out button. */
23
13
  zoomOutLabel?: string;
24
- /**
25
- * Zoom transition duration in ms. 0 disables the transition
26
- */
14
+ /** Zoom transition duration in ms. 0 disables the transition */
27
15
  transitionDuration?: number;
28
- /**
29
- * CSS inline style overrides.
30
- */
31
- style?: Partial<CSSStyleDeclaration>;
32
- /**
33
- * Additional CSS class.
34
- */
35
- className?: string;
36
16
  };
37
- export declare class ZoomWidget implements Widget<ZoomWidgetProps> {
38
- id: string;
39
- props: Required<ZoomWidgetProps>;
17
+ export declare class ZoomWidget extends Widget<ZoomWidgetProps> {
18
+ static defaultProps: Required<ZoomWidgetProps>;
19
+ className: string;
40
20
  placement: WidgetPlacement;
41
21
  viewId?: string | null;
42
22
  viewports: {
43
23
  [id: string]: Viewport;
44
24
  };
45
- deck?: Deck<any>;
46
- element?: HTMLDivElement;
47
- static defaultProps: Required<ZoomWidgetProps>;
48
25
  constructor(props?: ZoomWidgetProps);
49
- onAdd({ deck }: {
50
- deck: Deck<any>;
51
- }): HTMLDivElement;
52
- onRemove(): void;
53
26
  setProps(props: Partial<ZoomWidgetProps>): void;
27
+ onRenderHTML(rootElement: HTMLElement): void;
54
28
  onViewportChange(viewport: Viewport): void;
55
29
  handleZoom(viewport: Viewport, nextZoom: number): void;
56
30
  handleZoomIn(): void;
57
31
  handleZoomOut(): void;
58
- /**
59
- * @todo - move to deck or widget manager
60
- */
32
+ /** @todo - move to deck or widget manager */
61
33
  private setViewState;
62
- private update;
63
34
  }
64
35
  //# sourceMappingURL=zoom-widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zoom-widget.d.ts","sourceRoot":"","sources":["../src/zoom-widget.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAI3E,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,UAAW,YAAW,MAAM,CAAC,eAAe,CAAC;IACxD,EAAE,SAAU;IACZ,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IACjC,SAAS,EAAE,eAAe,CAAc;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,SAAS,EAAE;QAAC,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAC,CAAM;IACzC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACjB,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAU5C;gBAEU,KAAK,GAAE,eAAoB;IAWvC,KAAK,CAAC,EAAC,IAAI,EAAC,EAAE;QAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;KAAC,GAAG,cAAc;IAYhD,QAAQ;IAKR,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;IAqBxC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAInC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;IAc/C,YAAY;IAMZ,aAAa;IAMb;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,MAAM;CAqBf"}
1
+ {"version":3,"file":"zoom-widget.d.ts","sourceRoot":"","sources":["../src/zoom-widget.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAwC,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAKrE,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAC1C,8DAA8D;IAC9D,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,UAAW,SAAQ,MAAM,CAAC,eAAe,CAAC;IACrD,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAS5C;IAEF,SAAS,SAAsB;IAC/B,SAAS,EAAE,eAAe,CAAc;IACxC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC9B,SAAS,EAAE;QAAC,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAC,CAAM;gBAE7B,KAAK,GAAE,eAAoB;IAMvC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC;IAMxC,YAAY,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAkB5C,gBAAgB,CAAC,QAAQ,EAAE,QAAQ;IAInC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM;IAc/C,YAAY;IAMZ,aAAa;IAMb,6CAA6C;IAC7C,OAAO,CAAC,YAAY;CAIrB"}