@deck.gl/widgets 8.10.0-alpha.4 → 8.10.0-alpha.5

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/dist/dist.dev.js CHANGED
@@ -355,14 +355,14 @@ var __exports__ = (() => {
355
355
  label,
356
356
  onClick
357
357
  } = props;
358
- return /* @__PURE__ */ React.createElement("div", {
358
+ return React.createElement("div", {
359
359
  className: "deck-widget-button-border"
360
- }, /* @__PURE__ */ React.createElement("button", {
360
+ }, React.createElement("button", {
361
361
  className: `deck-widget-button ${className}`,
362
362
  type: "button",
363
363
  onClick,
364
364
  title: label
365
- }, /* @__PURE__ */ React.createElement("div", {
365
+ }, React.createElement("div", {
366
366
  className: "deck-widget-icon"
367
367
  })));
368
368
  };
@@ -414,7 +414,7 @@ var __exports__ = (() => {
414
414
  if (!el) {
415
415
  return;
416
416
  }
417
- const ui = /* @__PURE__ */ React.createElement(IconButton, {
417
+ const ui = React.createElement(IconButton, {
418
418
  onClick: this.handleClick.bind(this),
419
419
  label: this.fullscreen ? exitLabel : enterLabel,
420
420
  className: this.fullscreen ? "deck-widget-fullscreen-exit" : "deck-widget-fullscreen-enter"
@@ -5,18 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.IconButton = void 0;
7
7
 
8
+ var _preact = require("preact");
9
+
8
10
  var IconButton = function IconButton(props) {
9
11
  var className = props.className,
10
12
  label = props.label,
11
13
  onClick = props.onClick;
12
- return React.createElement("div", {
14
+ return (0, _preact.h)("div", {
13
15
  className: "deck-widget-button-border"
14
- }, React.createElement("button", {
16
+ }, (0, _preact.h)("button", {
15
17
  className: "deck-widget-button ".concat(className),
16
18
  type: "button",
17
19
  onClick: onClick,
18
20
  title: label
19
- }, React.createElement("div", {
21
+ }, (0, _preact.h)("div", {
20
22
  className: "deck-widget-icon"
21
23
  })));
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components.tsx"],"names":["IconButton","props","className","label","onClick"],"mappings":";;;;;;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;AACjC,MAAOC,SAAP,GAAoCD,KAApC,CAAOC,SAAP;AAAA,MAAkBC,KAAlB,GAAoCF,KAApC,CAAkBE,KAAlB;AAAA,MAAyBC,OAAzB,GAAoCH,KAApC,CAAyBG,OAAzB;AACA,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,SAAS,+BAAwBF,SAAxB,CADX;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAEE,OAHX;AAIE,IAAA,KAAK,EAAED;AAJT,KAME;AAAK,IAAA,SAAS,EAAC;AAAf,IANF,CADF,CADF;AAYD,CAdM","sourcesContent":["import {h, render} from 'preact';\n\nexport const IconButton = props => {\n const {className, label, onClick} = props;\n return (\n <div className=\"deck-widget-button-border\">\n <button\n className={`deck-widget-button ${className}`}\n type=\"button\"\n onClick={onClick}\n title={label}\n >\n <div className=\"deck-widget-icon\" />\n </button>\n </div>\n );\n};\n"],"file":"components.js"}
1
+ {"version":3,"sources":["../../src/components.tsx"],"names":["IconButton","props","className","label","onClick"],"mappings":";;;;;;;AAAA;;AAEO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;AACjC,MAAOC,SAAP,GAAoCD,KAApC,CAAOC,SAAP;AAAA,MAAkBC,KAAlB,GAAoCF,KAApC,CAAkBE,KAAlB;AAAA,MAAyBC,OAAzB,GAAoCH,KAApC,CAAyBG,OAAzB;AACA,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,SAAS,+BAAwBF,SAAxB,CADX;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAEE,OAHX;AAIE,IAAA,KAAK,EAAED;AAJT,KAME;AAAK,IAAA,SAAS,EAAC;AAAf,IANF,CADF,CADF;AAYD,CAdM","sourcesContent":["import {h, render} from 'preact';\n\nexport const IconButton = props => {\n const {className, label, onClick} = props;\n return (\n <div className=\"deck-widget-button-border\">\n <button\n className={`deck-widget-button ${className}`}\n type=\"button\"\n onClick={onClick}\n title={label}\n >\n <div className=\"deck-widget-icon\" />\n </button>\n </div>\n );\n};\n"],"file":"components.js"}
@@ -15,10 +15,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
15
 
16
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
17
 
18
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
18
  var _core = require("@deck.gl/core");
23
19
 
24
20
  var _preact = require("preact");
@@ -28,12 +24,12 @@ var _components = require("./components");
28
24
  var FullscreenWidget = function () {
29
25
  function FullscreenWidget(props) {
30
26
  (0, _classCallCheck2.default)(this, FullscreenWidget);
31
- (0, _defineProperty2.default)(this, "id", 'fullscreen');
32
- (0, _defineProperty2.default)(this, "props", void 0);
33
- (0, _defineProperty2.default)(this, "placement", 'top-left');
34
- (0, _defineProperty2.default)(this, "deck", void 0);
35
- (0, _defineProperty2.default)(this, "element", void 0);
36
- (0, _defineProperty2.default)(this, "fullscreen", false);
27
+ this.id = 'fullscreen';
28
+ this.props = void 0;
29
+ this.placement = 'top-left';
30
+ this.deck = void 0;
31
+ this.element = void 0;
32
+ this.fullscreen = false;
37
33
  this.id = props.id || 'fullscreen';
38
34
  this.placement = props.placement || 'top-left';
39
35
  props.enterLabel = props.enterLabel || 'Enter Fullscreen';
@@ -42,242 +38,233 @@ var FullscreenWidget = function () {
42
38
  this.props = props;
43
39
  }
44
40
 
45
- (0, _createClass2.default)(FullscreenWidget, [{
46
- key: "onAdd",
47
- value: function onAdd(_ref) {
48
- var deck = _ref.deck;
49
- var _this$props = this.props,
50
- style = _this$props.style,
51
- className = _this$props.className;
52
- var el = document.createElement('div');
53
- el.classList.add('deck-widget', 'deck-widget-fullscreen');
54
- if (className) el.classList.add(className);
55
-
56
- if (style) {
57
- Object.entries(style).map(function (_ref2) {
58
- var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
59
- key = _ref3[0],
60
- value = _ref3[1];
61
-
62
- return el.style.setProperty(key, value);
63
- });
64
- }
41
+ var _proto = FullscreenWidget.prototype;
65
42
 
66
- this.deck = deck;
67
- this.element = el;
68
- this.update();
69
- document.addEventListener('fullscreenchange', this.onFullscreenChange.bind(this));
70
- return el;
71
- }
72
- }, {
73
- key: "onRemove",
74
- value: function onRemove() {
75
- this.deck = undefined;
76
- this.element = undefined;
77
- document.removeEventListener('fullscreenchange', this.onFullscreenChange.bind(this));
78
- }
79
- }, {
80
- key: "update",
81
- value: function update() {
82
- var _this$props2 = this.props,
83
- enterLabel = _this$props2.enterLabel,
84
- exitLabel = _this$props2.exitLabel;
85
- var el = this.element;
86
-
87
- if (!el) {
88
- return;
89
- }
43
+ _proto.onAdd = function onAdd(_ref) {
44
+ var deck = _ref.deck;
45
+ var _this$props = this.props,
46
+ style = _this$props.style,
47
+ className = _this$props.className;
48
+ var el = document.createElement('div');
49
+ el.classList.add('deck-widget', 'deck-widget-fullscreen');
50
+ if (className) el.classList.add(className);
90
51
 
91
- var ui = React.createElement(_components.IconButton, {
92
- onClick: this.handleClick.bind(this),
93
- label: this.fullscreen ? exitLabel : enterLabel,
94
- className: this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'
52
+ if (style) {
53
+ Object.entries(style).map(function (_ref2) {
54
+ var _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
55
+ key = _ref3[0],
56
+ value = _ref3[1];
57
+
58
+ return el.style.setProperty(key, value);
95
59
  });
96
- (0, _preact.render)(ui, el);
97
60
  }
98
- }, {
99
- key: "setProps",
100
- value: function setProps(props) {
101
- var oldProps = this.props;
102
- var el = this.element;
103
-
104
- if (el) {
105
- if (oldProps.className !== props.className) {
106
- if (oldProps.className) el.classList.remove(oldProps.className);
107
- if (props.className) el.classList.add(props.className);
108
- }
109
61
 
110
- if (!(0, _core._deepEqual)(oldProps.style, props.style, 1)) {
111
- if (oldProps.style) {
112
- Object.entries(oldProps.style).map(function (_ref4) {
113
- var _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
114
- key = _ref5[0];
62
+ this.deck = deck;
63
+ this.element = el;
64
+ this.update();
65
+ document.addEventListener('fullscreenchange', this.onFullscreenChange.bind(this));
66
+ return el;
67
+ };
68
+
69
+ _proto.onRemove = function onRemove() {
70
+ this.deck = undefined;
71
+ this.element = undefined;
72
+ document.removeEventListener('fullscreenchange', this.onFullscreenChange.bind(this));
73
+ };
74
+
75
+ _proto.update = function update() {
76
+ var _this$props2 = this.props,
77
+ enterLabel = _this$props2.enterLabel,
78
+ exitLabel = _this$props2.exitLabel;
79
+ var el = this.element;
80
+
81
+ if (!el) {
82
+ return;
83
+ }
115
84
 
116
- return el.style.removeProperty(key);
117
- });
118
- }
85
+ var ui = (0, _preact.h)(_components.IconButton, {
86
+ onClick: this.handleClick.bind(this),
87
+ label: this.fullscreen ? exitLabel : enterLabel,
88
+ className: this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'
89
+ });
90
+ (0, _preact.render)(ui, el);
91
+ };
92
+
93
+ _proto.setProps = function setProps(props) {
94
+ var oldProps = this.props;
95
+ var el = this.element;
96
+
97
+ if (el) {
98
+ if (oldProps.className !== props.className) {
99
+ if (oldProps.className) el.classList.remove(oldProps.className);
100
+ if (props.className) el.classList.add(props.className);
101
+ }
119
102
 
120
- if (props.style) {
121
- Object.entries(props.style).map(function (_ref6) {
122
- var _ref7 = (0, _slicedToArray2.default)(_ref6, 2),
123
- key = _ref7[0],
124
- value = _ref7[1];
103
+ if (!(0, _core._deepEqual)(oldProps.style, props.style, 1)) {
104
+ if (oldProps.style) {
105
+ Object.entries(oldProps.style).map(function (_ref4) {
106
+ var _ref5 = (0, _slicedToArray2.default)(_ref4, 1),
107
+ key = _ref5[0];
125
108
 
126
- return el.style.setProperty(key, value);
127
- });
128
- }
109
+ return el.style.removeProperty(key);
110
+ });
129
111
  }
130
- }
131
112
 
132
- Object.assign(this.props, props);
133
- }
134
- }, {
135
- key: "getContainer",
136
- value: function getContainer() {
137
- var _this$deck, _this$deck$getCanvas;
113
+ if (props.style) {
114
+ Object.entries(props.style).map(function (_ref6) {
115
+ var _ref7 = (0, _slicedToArray2.default)(_ref6, 2),
116
+ key = _ref7[0],
117
+ value = _ref7[1];
138
118
 
139
- return this.props.container || ((_this$deck = this.deck) === null || _this$deck === void 0 ? void 0 : (_this$deck$getCanvas = _this$deck.getCanvas()) === null || _this$deck$getCanvas === void 0 ? void 0 : _this$deck$getCanvas.parentElement);
140
- }
141
- }, {
142
- key: "onFullscreenChange",
143
- value: function onFullscreenChange() {
144
- var prevFullscreen = this.fullscreen;
145
- var fullscreen = document.fullscreenElement === this.getContainer();
146
-
147
- if (prevFullscreen !== fullscreen) {
148
- this.fullscreen = !this.fullscreen;
119
+ return el.style.setProperty(key, value);
120
+ });
121
+ }
149
122
  }
123
+ }
124
+
125
+ Object.assign(this.props, props);
126
+ };
127
+
128
+ _proto.getContainer = function getContainer() {
129
+ var _this$deck, _this$deck$getCanvas;
130
+
131
+ return this.props.container || ((_this$deck = this.deck) === null || _this$deck === void 0 ? void 0 : (_this$deck$getCanvas = _this$deck.getCanvas()) === null || _this$deck$getCanvas === void 0 ? void 0 : _this$deck$getCanvas.parentElement);
132
+ };
133
+
134
+ _proto.onFullscreenChange = function onFullscreenChange() {
135
+ var prevFullscreen = this.fullscreen;
136
+ var fullscreen = document.fullscreenElement === this.getContainer();
150
137
 
151
- this.update();
138
+ if (prevFullscreen !== fullscreen) {
139
+ this.fullscreen = !this.fullscreen;
152
140
  }
153
- }, {
154
- key: "handleClick",
155
- value: function () {
156
- var _handleClick = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
157
- return _regenerator.default.wrap(function _callee$(_context) {
158
- while (1) {
159
- switch (_context.prev = _context.next) {
160
- case 0:
161
- if (!this.fullscreen) {
162
- _context.next = 5;
163
- break;
164
- }
165
-
166
- _context.next = 3;
167
- return this.exitFullscreen();
168
-
169
- case 3:
170
- _context.next = 7;
141
+
142
+ this.update();
143
+ };
144
+
145
+ _proto.handleClick = function () {
146
+ var _handleClick = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() {
147
+ return _regenerator.default.wrap(function _callee$(_context) {
148
+ while (1) {
149
+ switch (_context.prev = _context.next) {
150
+ case 0:
151
+ if (!this.fullscreen) {
152
+ _context.next = 5;
171
153
  break;
154
+ }
155
+
156
+ _context.next = 3;
157
+ return this.exitFullscreen();
158
+
159
+ case 3:
160
+ _context.next = 7;
161
+ break;
172
162
 
173
- case 5:
174
- _context.next = 7;
175
- return this.requestFullscreen();
163
+ case 5:
164
+ _context.next = 7;
165
+ return this.requestFullscreen();
176
166
 
177
- case 7:
178
- this.update();
167
+ case 7:
168
+ this.update();
179
169
 
180
- case 8:
181
- case "end":
182
- return _context.stop();
183
- }
170
+ case 8:
171
+ case "end":
172
+ return _context.stop();
184
173
  }
185
- }, _callee, this);
186
- }));
174
+ }
175
+ }, _callee, this);
176
+ }));
187
177
 
188
- function handleClick() {
189
- return _handleClick.apply(this, arguments);
190
- }
178
+ function handleClick() {
179
+ return _handleClick.apply(this, arguments);
180
+ }
191
181
 
192
- return handleClick;
193
- }()
194
- }, {
195
- key: "requestFullscreen",
196
- value: function () {
197
- var _requestFullscreen = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
198
- var container;
199
- return _regenerator.default.wrap(function _callee2$(_context2) {
200
- while (1) {
201
- switch (_context2.prev = _context2.next) {
202
- case 0:
203
- container = this.getContainer();
204
-
205
- if (!(container !== null && container !== void 0 && container.requestFullscreen)) {
206
- _context2.next = 6;
207
- break;
208
- }
209
-
210
- _context2.next = 4;
211
- return container.requestFullscreen({
212
- navigationUI: 'hide'
213
- });
214
-
215
- case 4:
216
- _context2.next = 7;
182
+ return handleClick;
183
+ }();
184
+
185
+ _proto.requestFullscreen = function () {
186
+ var _requestFullscreen = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
187
+ var container;
188
+ return _regenerator.default.wrap(function _callee2$(_context2) {
189
+ while (1) {
190
+ switch (_context2.prev = _context2.next) {
191
+ case 0:
192
+ container = this.getContainer();
193
+
194
+ if (!(container !== null && container !== void 0 && container.requestFullscreen)) {
195
+ _context2.next = 6;
217
196
  break;
197
+ }
198
+
199
+ _context2.next = 4;
200
+ return container.requestFullscreen({
201
+ navigationUI: 'hide'
202
+ });
218
203
 
219
- case 6:
220
- this.togglePseudoFullscreen();
204
+ case 4:
205
+ _context2.next = 7;
206
+ break;
221
207
 
222
- case 7:
223
- case "end":
224
- return _context2.stop();
225
- }
208
+ case 6:
209
+ this.togglePseudoFullscreen();
210
+
211
+ case 7:
212
+ case "end":
213
+ return _context2.stop();
226
214
  }
227
- }, _callee2, this);
228
- }));
215
+ }
216
+ }, _callee2, this);
217
+ }));
229
218
 
230
- function requestFullscreen() {
231
- return _requestFullscreen.apply(this, arguments);
232
- }
219
+ function requestFullscreen() {
220
+ return _requestFullscreen.apply(this, arguments);
221
+ }
233
222
 
234
- return requestFullscreen;
235
- }()
236
- }, {
237
- key: "exitFullscreen",
238
- value: function () {
239
- var _exitFullscreen = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
240
- return _regenerator.default.wrap(function _callee3$(_context3) {
241
- while (1) {
242
- switch (_context3.prev = _context3.next) {
243
- case 0:
244
- if (!document.exitFullscreen) {
245
- _context3.next = 5;
246
- break;
247
- }
248
-
249
- _context3.next = 3;
250
- return document.exitFullscreen();
251
-
252
- case 3:
253
- _context3.next = 6;
223
+ return requestFullscreen;
224
+ }();
225
+
226
+ _proto.exitFullscreen = function () {
227
+ var _exitFullscreen = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3() {
228
+ return _regenerator.default.wrap(function _callee3$(_context3) {
229
+ while (1) {
230
+ switch (_context3.prev = _context3.next) {
231
+ case 0:
232
+ if (!document.exitFullscreen) {
233
+ _context3.next = 5;
254
234
  break;
235
+ }
255
236
 
256
- case 5:
257
- this.togglePseudoFullscreen();
237
+ _context3.next = 3;
238
+ return document.exitFullscreen();
258
239
 
259
- case 6:
260
- case "end":
261
- return _context3.stop();
262
- }
263
- }
264
- }, _callee3, this);
265
- }));
240
+ case 3:
241
+ _context3.next = 6;
242
+ break;
266
243
 
267
- function exitFullscreen() {
268
- return _exitFullscreen.apply(this, arguments);
269
- }
244
+ case 5:
245
+ this.togglePseudoFullscreen();
270
246
 
271
- return exitFullscreen;
272
- }()
273
- }, {
274
- key: "togglePseudoFullscreen",
275
- value: function togglePseudoFullscreen() {
276
- var _this$getContainer;
247
+ case 6:
248
+ case "end":
249
+ return _context3.stop();
250
+ }
251
+ }
252
+ }, _callee3, this);
253
+ }));
277
254
 
278
- (_this$getContainer = this.getContainer()) === null || _this$getContainer === void 0 ? void 0 : _this$getContainer.classList.toggle('deck-pseudo-fullscreen');
255
+ function exitFullscreen() {
256
+ return _exitFullscreen.apply(this, arguments);
279
257
  }
280
- }]);
258
+
259
+ return exitFullscreen;
260
+ }();
261
+
262
+ _proto.togglePseudoFullscreen = function togglePseudoFullscreen() {
263
+ var _this$getContainer;
264
+
265
+ (_this$getContainer = this.getContainer()) === null || _this$getContainer === void 0 ? void 0 : _this$getContainer.classList.toggle('deck-pseudo-fullscreen');
266
+ };
267
+
281
268
  return FullscreenWidget;
282
269
  }();
283
270
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/fullscreen-widget.tsx"],"names":["FullscreenWidget","props","id","placement","enterLabel","exitLabel","style","deck","className","el","document","createElement","classList","add","Object","entries","map","key","value","setProperty","element","update","addEventListener","onFullscreenChange","bind","undefined","removeEventListener","ui","handleClick","fullscreen","oldProps","remove","removeProperty","assign","container","getCanvas","parentElement","prevFullscreen","fullscreenElement","getContainer","exitFullscreen","requestFullscreen","navigationUI","togglePseudoFullscreen","toggle"],"mappings":"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","sourcesContent":["/* global document */\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {Deck, Widget, WidgetPlacement} from '@deck.gl/core';\nimport {h, render} from 'preact';\nimport {IconButton} from './components';\n\ninterface FullscreenWidgetProps {\n id: string;\n placement?: WidgetPlacement;\n /**\n * A [compatible DOM element](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen#Compatible_elements) which should be made full screen.\n * By default, the map container element will be made full screen.\n */\n /* eslint-enable max-len */\n container?: HTMLElement;\n /**\n * Tooltip message when out of fullscreen.\n */\n enterLabel?: string;\n /**\n * Tooltip message when fullscreen.\n */\n exitLabel?: string;\n style?: Partial<CSSStyleDeclaration>;\n className?: string;\n}\n\nexport class FullscreenWidget implements Widget<FullscreenWidgetProps> {\n id = 'fullscreen';\n props: FullscreenWidgetProps;\n placement: WidgetPlacement = 'top-left';\n\n deck?: Deck;\n element?: HTMLDivElement;\n\n fullscreen: boolean = false;\n\n constructor(props: FullscreenWidgetProps) {\n this.id = props.id || 'fullscreen';\n this.placement = props.placement || 'top-left';\n props.enterLabel = props.enterLabel || 'Enter Fullscreen';\n props.exitLabel = props.exitLabel || 'Exit Fullscreen';\n props.style = props.style || {};\n this.props = props;\n }\n\n onAdd({deck}: {deck: Deck}): HTMLDivElement {\n const {style, className} = this.props;\n const el = document.createElement('div');\n el.classList.add('deck-widget', 'deck-widget-fullscreen');\n if (className) el.classList.add(className);\n if (style) {\n Object.entries(style).map(([key, value]) => el.style.setProperty(key, value as string));\n }\n this.deck = deck;\n this.element = el;\n this.update();\n document.addEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n return el;\n }\n\n onRemove() {\n this.deck = undefined;\n this.element = undefined;\n document.removeEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n }\n\n private update() {\n const {enterLabel, exitLabel} = this.props;\n const el = this.element;\n if (!el) {\n return;\n }\n\n const ui = (\n <IconButton\n onClick={this.handleClick.bind(this)}\n label={this.fullscreen ? exitLabel : enterLabel}\n className={this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'}\n />\n );\n render(ui, el);\n }\n\n setProps(props: Partial<FullscreenWidgetProps>) {\n const oldProps = this.props;\n const el = this.element;\n if (el) {\n if (oldProps.className !== props.className) {\n if (oldProps.className) el.classList.remove(oldProps.className);\n if (props.className) el.classList.add(props.className);\n }\n\n if (!deepEqual(oldProps.style, props.style, 1)) {\n if (oldProps.style) {\n Object.entries(oldProps.style).map(([key]) => el.style.removeProperty(key));\n }\n if (props.style) {\n Object.entries(props.style).map(([key, value]) =>\n el.style.setProperty(key, value as string)\n );\n }\n }\n }\n\n Object.assign(this.props, props);\n }\n\n getContainer() {\n return this.props.container || this.deck?.getCanvas()?.parentElement;\n }\n\n onFullscreenChange() {\n const prevFullscreen = this.fullscreen;\n const fullscreen = document.fullscreenElement === this.getContainer();\n if (prevFullscreen !== fullscreen) {\n this.fullscreen = !this.fullscreen;\n }\n this.update();\n }\n\n async handleClick() {\n if (this.fullscreen) {\n await this.exitFullscreen();\n } else {\n await this.requestFullscreen();\n }\n this.update();\n }\n\n async requestFullscreen() {\n const container = this.getContainer();\n if (container?.requestFullscreen) {\n await container.requestFullscreen({navigationUI: 'hide'});\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n async exitFullscreen() {\n if (document.exitFullscreen) {\n await document.exitFullscreen();\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n togglePseudoFullscreen() {\n this.getContainer()?.classList.toggle('deck-pseudo-fullscreen');\n }\n}\n"],"file":"fullscreen-widget.js"}
1
+ {"version":3,"sources":["../../src/fullscreen-widget.tsx"],"names":["FullscreenWidget","props","id","placement","deck","element","fullscreen","enterLabel","exitLabel","style","onAdd","className","el","document","createElement","classList","add","Object","entries","map","key","value","setProperty","update","addEventListener","onFullscreenChange","bind","onRemove","undefined","removeEventListener","ui","handleClick","setProps","oldProps","remove","removeProperty","assign","getContainer","container","getCanvas","parentElement","prevFullscreen","fullscreenElement","exitFullscreen","requestFullscreen","navigationUI","togglePseudoFullscreen","toggle"],"mappings":"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","sourcesContent":["/* global document */\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {Deck, Widget, WidgetPlacement} from '@deck.gl/core';\nimport {h, render} from 'preact';\nimport {IconButton} from './components';\n\ninterface FullscreenWidgetProps {\n id: string;\n placement?: WidgetPlacement;\n /**\n * A [compatible DOM element](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen#Compatible_elements) which should be made full screen.\n * By default, the map container element will be made full screen.\n */\n /* eslint-enable max-len */\n container?: HTMLElement;\n /**\n * Tooltip message when out of fullscreen.\n */\n enterLabel?: string;\n /**\n * Tooltip message when fullscreen.\n */\n exitLabel?: string;\n style?: Partial<CSSStyleDeclaration>;\n className?: string;\n}\n\nexport class FullscreenWidget implements Widget<FullscreenWidgetProps> {\n id = 'fullscreen';\n props: FullscreenWidgetProps;\n placement: WidgetPlacement = 'top-left';\n\n deck?: Deck;\n element?: HTMLDivElement;\n\n fullscreen: boolean = false;\n\n constructor(props: FullscreenWidgetProps) {\n this.id = props.id || 'fullscreen';\n this.placement = props.placement || 'top-left';\n props.enterLabel = props.enterLabel || 'Enter Fullscreen';\n props.exitLabel = props.exitLabel || 'Exit Fullscreen';\n props.style = props.style || {};\n this.props = props;\n }\n\n onAdd({deck}: {deck: Deck}): HTMLDivElement {\n const {style, className} = this.props;\n const el = document.createElement('div');\n el.classList.add('deck-widget', 'deck-widget-fullscreen');\n if (className) el.classList.add(className);\n if (style) {\n Object.entries(style).map(([key, value]) => el.style.setProperty(key, value as string));\n }\n this.deck = deck;\n this.element = el;\n this.update();\n document.addEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n return el;\n }\n\n onRemove() {\n this.deck = undefined;\n this.element = undefined;\n document.removeEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n }\n\n private update() {\n const {enterLabel, exitLabel} = this.props;\n const el = this.element;\n if (!el) {\n return;\n }\n\n const ui = (\n <IconButton\n onClick={this.handleClick.bind(this)}\n label={this.fullscreen ? exitLabel : enterLabel}\n className={this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'}\n />\n );\n render(ui, el);\n }\n\n setProps(props: Partial<FullscreenWidgetProps>) {\n const oldProps = this.props;\n const el = this.element;\n if (el) {\n if (oldProps.className !== props.className) {\n if (oldProps.className) el.classList.remove(oldProps.className);\n if (props.className) el.classList.add(props.className);\n }\n\n if (!deepEqual(oldProps.style, props.style, 1)) {\n if (oldProps.style) {\n Object.entries(oldProps.style).map(([key]) => el.style.removeProperty(key));\n }\n if (props.style) {\n Object.entries(props.style).map(([key, value]) =>\n el.style.setProperty(key, value as string)\n );\n }\n }\n }\n\n Object.assign(this.props, props);\n }\n\n getContainer() {\n return this.props.container || this.deck?.getCanvas()?.parentElement;\n }\n\n onFullscreenChange() {\n const prevFullscreen = this.fullscreen;\n const fullscreen = document.fullscreenElement === this.getContainer();\n if (prevFullscreen !== fullscreen) {\n this.fullscreen = !this.fullscreen;\n }\n this.update();\n }\n\n async handleClick() {\n if (this.fullscreen) {\n await this.exitFullscreen();\n } else {\n await this.requestFullscreen();\n }\n this.update();\n }\n\n async requestFullscreen() {\n const container = this.getContainer();\n if (container?.requestFullscreen) {\n await container.requestFullscreen({navigationUI: 'hide'});\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n async exitFullscreen() {\n if (document.exitFullscreen) {\n await document.exitFullscreen();\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n togglePseudoFullscreen() {\n this.getContainer()?.classList.toggle('deck-pseudo-fullscreen');\n }\n}\n"],"file":"fullscreen-widget.js"}
@@ -1,17 +1,18 @@
1
+ import { h } from 'preact';
1
2
  export const IconButton = props => {
2
3
  const {
3
4
  className,
4
5
  label,
5
6
  onClick
6
7
  } = props;
7
- return React.createElement("div", {
8
+ return h("div", {
8
9
  className: "deck-widget-button-border"
9
- }, React.createElement("button", {
10
- className: "deck-widget-button ".concat(className),
10
+ }, h("button", {
11
+ className: `deck-widget-button ${className}`,
11
12
  type: "button",
12
13
  onClick: onClick,
13
14
  title: label
14
- }, React.createElement("div", {
15
+ }, h("div", {
15
16
  className: "deck-widget-icon"
16
17
  })));
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components.tsx"],"names":["IconButton","props","className","label","onClick"],"mappings":"AAEA,OAAO,MAAMA,UAAU,GAAGC,KAAK,IAAI;AACjC,QAAM;AAACC,IAAAA,SAAD;AAAYC,IAAAA,KAAZ;AAAmBC,IAAAA;AAAnB,MAA8BH,KAApC;AACA,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,SAAS,+BAAwBC,SAAxB,CADX;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAEE,OAHX;AAIE,IAAA,KAAK,EAAED;AAJT,KAME;AAAK,IAAA,SAAS,EAAC;AAAf,IANF,CADF,CADF;AAYD,CAdM","sourcesContent":["import {h, render} from 'preact';\n\nexport const IconButton = props => {\n const {className, label, onClick} = props;\n return (\n <div className=\"deck-widget-button-border\">\n <button\n className={`deck-widget-button ${className}`}\n type=\"button\"\n onClick={onClick}\n title={label}\n >\n <div className=\"deck-widget-icon\" />\n </button>\n </div>\n );\n};\n"],"file":"components.js"}
1
+ {"version":3,"sources":["../../src/components.tsx"],"names":["h","IconButton","props","className","label","onClick"],"mappings":"AAAA,SAAQA,CAAR,QAAwB,QAAxB;AAEA,OAAO,MAAMC,UAAU,GAAGC,KAAK,IAAI;AACjC,QAAM;AAACC,IAAAA,SAAD;AAAYC,IAAAA,KAAZ;AAAmBC,IAAAA;AAAnB,MAA8BH,KAApC;AACA,SACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,SAAS,EAAG,sBAAqBC,SAAU,EAD7C;AAEE,IAAA,IAAI,EAAC,QAFP;AAGE,IAAA,OAAO,EAAEE,OAHX;AAIE,IAAA,KAAK,EAAED;AAJT,KAME;AAAK,IAAA,SAAS,EAAC;AAAf,IANF,CADF,CADF;AAYD,CAdM","sourcesContent":["import {h, render} from 'preact';\n\nexport const IconButton = props => {\n const {className, label, onClick} = props;\n return (\n <div className=\"deck-widget-button-border\">\n <button\n className={`deck-widget-button ${className}`}\n type=\"button\"\n onClick={onClick}\n title={label}\n >\n <div className=\"deck-widget-icon\" />\n </button>\n </div>\n );\n};\n"],"file":"components.js"}
@@ -1,21 +1,14 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
1
  import { _deepEqual as deepEqual } from '@deck.gl/core';
3
- import { render } from 'preact';
2
+ import { h, render } from 'preact';
4
3
  import { IconButton } from './components';
5
4
  export class FullscreenWidget {
6
5
  constructor(props) {
7
- _defineProperty(this, "id", 'fullscreen');
8
-
9
- _defineProperty(this, "props", void 0);
10
-
11
- _defineProperty(this, "placement", 'top-left');
12
-
13
- _defineProperty(this, "deck", void 0);
14
-
15
- _defineProperty(this, "element", void 0);
16
-
17
- _defineProperty(this, "fullscreen", false);
18
-
6
+ this.id = 'fullscreen';
7
+ this.props = void 0;
8
+ this.placement = 'top-left';
9
+ this.deck = void 0;
10
+ this.element = void 0;
11
+ this.fullscreen = false;
19
12
  this.id = props.id || 'fullscreen';
20
13
  this.placement = props.placement || 'top-left';
21
14
  props.enterLabel = props.enterLabel || 'Enter Fullscreen';
@@ -63,7 +56,7 @@ export class FullscreenWidget {
63
56
  return;
64
57
  }
65
58
 
66
- const ui = React.createElement(IconButton, {
59
+ const ui = h(IconButton, {
67
60
  onClick: this.handleClick.bind(this),
68
61
  label: this.fullscreen ? exitLabel : enterLabel,
69
62
  className: this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/fullscreen-widget.tsx"],"names":["_deepEqual","deepEqual","render","IconButton","FullscreenWidget","constructor","props","id","placement","enterLabel","exitLabel","style","onAdd","deck","className","el","document","createElement","classList","add","Object","entries","map","key","value","setProperty","element","update","addEventListener","onFullscreenChange","bind","onRemove","undefined","removeEventListener","ui","handleClick","fullscreen","setProps","oldProps","remove","removeProperty","assign","getContainer","container","getCanvas","parentElement","prevFullscreen","fullscreenElement","exitFullscreen","requestFullscreen","navigationUI","togglePseudoFullscreen","toggle"],"mappings":"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","sourcesContent":["/* global document */\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {Deck, Widget, WidgetPlacement} from '@deck.gl/core';\nimport {h, render} from 'preact';\nimport {IconButton} from './components';\n\ninterface FullscreenWidgetProps {\n id: string;\n placement?: WidgetPlacement;\n /**\n * A [compatible DOM element](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen#Compatible_elements) which should be made full screen.\n * By default, the map container element will be made full screen.\n */\n /* eslint-enable max-len */\n container?: HTMLElement;\n /**\n * Tooltip message when out of fullscreen.\n */\n enterLabel?: string;\n /**\n * Tooltip message when fullscreen.\n */\n exitLabel?: string;\n style?: Partial<CSSStyleDeclaration>;\n className?: string;\n}\n\nexport class FullscreenWidget implements Widget<FullscreenWidgetProps> {\n id = 'fullscreen';\n props: FullscreenWidgetProps;\n placement: WidgetPlacement = 'top-left';\n\n deck?: Deck;\n element?: HTMLDivElement;\n\n fullscreen: boolean = false;\n\n constructor(props: FullscreenWidgetProps) {\n this.id = props.id || 'fullscreen';\n this.placement = props.placement || 'top-left';\n props.enterLabel = props.enterLabel || 'Enter Fullscreen';\n props.exitLabel = props.exitLabel || 'Exit Fullscreen';\n props.style = props.style || {};\n this.props = props;\n }\n\n onAdd({deck}: {deck: Deck}): HTMLDivElement {\n const {style, className} = this.props;\n const el = document.createElement('div');\n el.classList.add('deck-widget', 'deck-widget-fullscreen');\n if (className) el.classList.add(className);\n if (style) {\n Object.entries(style).map(([key, value]) => el.style.setProperty(key, value as string));\n }\n this.deck = deck;\n this.element = el;\n this.update();\n document.addEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n return el;\n }\n\n onRemove() {\n this.deck = undefined;\n this.element = undefined;\n document.removeEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n }\n\n private update() {\n const {enterLabel, exitLabel} = this.props;\n const el = this.element;\n if (!el) {\n return;\n }\n\n const ui = (\n <IconButton\n onClick={this.handleClick.bind(this)}\n label={this.fullscreen ? exitLabel : enterLabel}\n className={this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'}\n />\n );\n render(ui, el);\n }\n\n setProps(props: Partial<FullscreenWidgetProps>) {\n const oldProps = this.props;\n const el = this.element;\n if (el) {\n if (oldProps.className !== props.className) {\n if (oldProps.className) el.classList.remove(oldProps.className);\n if (props.className) el.classList.add(props.className);\n }\n\n if (!deepEqual(oldProps.style, props.style, 1)) {\n if (oldProps.style) {\n Object.entries(oldProps.style).map(([key]) => el.style.removeProperty(key));\n }\n if (props.style) {\n Object.entries(props.style).map(([key, value]) =>\n el.style.setProperty(key, value as string)\n );\n }\n }\n }\n\n Object.assign(this.props, props);\n }\n\n getContainer() {\n return this.props.container || this.deck?.getCanvas()?.parentElement;\n }\n\n onFullscreenChange() {\n const prevFullscreen = this.fullscreen;\n const fullscreen = document.fullscreenElement === this.getContainer();\n if (prevFullscreen !== fullscreen) {\n this.fullscreen = !this.fullscreen;\n }\n this.update();\n }\n\n async handleClick() {\n if (this.fullscreen) {\n await this.exitFullscreen();\n } else {\n await this.requestFullscreen();\n }\n this.update();\n }\n\n async requestFullscreen() {\n const container = this.getContainer();\n if (container?.requestFullscreen) {\n await container.requestFullscreen({navigationUI: 'hide'});\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n async exitFullscreen() {\n if (document.exitFullscreen) {\n await document.exitFullscreen();\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n togglePseudoFullscreen() {\n this.getContainer()?.classList.toggle('deck-pseudo-fullscreen');\n }\n}\n"],"file":"fullscreen-widget.js"}
1
+ {"version":3,"sources":["../../src/fullscreen-widget.tsx"],"names":["_deepEqual","deepEqual","h","render","IconButton","FullscreenWidget","constructor","props","id","placement","deck","element","fullscreen","enterLabel","exitLabel","style","onAdd","className","el","document","createElement","classList","add","Object","entries","map","key","value","setProperty","update","addEventListener","onFullscreenChange","bind","onRemove","undefined","removeEventListener","ui","handleClick","setProps","oldProps","remove","removeProperty","assign","getContainer","container","getCanvas","parentElement","prevFullscreen","fullscreenElement","exitFullscreen","requestFullscreen","navigationUI","togglePseudoFullscreen","toggle"],"mappings":"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","sourcesContent":["/* global document */\nimport {_deepEqual as deepEqual} from '@deck.gl/core';\nimport type {Deck, Widget, WidgetPlacement} from '@deck.gl/core';\nimport {h, render} from 'preact';\nimport {IconButton} from './components';\n\ninterface FullscreenWidgetProps {\n id: string;\n placement?: WidgetPlacement;\n /**\n * A [compatible DOM element](https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen#Compatible_elements) which should be made full screen.\n * By default, the map container element will be made full screen.\n */\n /* eslint-enable max-len */\n container?: HTMLElement;\n /**\n * Tooltip message when out of fullscreen.\n */\n enterLabel?: string;\n /**\n * Tooltip message when fullscreen.\n */\n exitLabel?: string;\n style?: Partial<CSSStyleDeclaration>;\n className?: string;\n}\n\nexport class FullscreenWidget implements Widget<FullscreenWidgetProps> {\n id = 'fullscreen';\n props: FullscreenWidgetProps;\n placement: WidgetPlacement = 'top-left';\n\n deck?: Deck;\n element?: HTMLDivElement;\n\n fullscreen: boolean = false;\n\n constructor(props: FullscreenWidgetProps) {\n this.id = props.id || 'fullscreen';\n this.placement = props.placement || 'top-left';\n props.enterLabel = props.enterLabel || 'Enter Fullscreen';\n props.exitLabel = props.exitLabel || 'Exit Fullscreen';\n props.style = props.style || {};\n this.props = props;\n }\n\n onAdd({deck}: {deck: Deck}): HTMLDivElement {\n const {style, className} = this.props;\n const el = document.createElement('div');\n el.classList.add('deck-widget', 'deck-widget-fullscreen');\n if (className) el.classList.add(className);\n if (style) {\n Object.entries(style).map(([key, value]) => el.style.setProperty(key, value as string));\n }\n this.deck = deck;\n this.element = el;\n this.update();\n document.addEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n return el;\n }\n\n onRemove() {\n this.deck = undefined;\n this.element = undefined;\n document.removeEventListener('fullscreenchange', this.onFullscreenChange.bind(this));\n }\n\n private update() {\n const {enterLabel, exitLabel} = this.props;\n const el = this.element;\n if (!el) {\n return;\n }\n\n const ui = (\n <IconButton\n onClick={this.handleClick.bind(this)}\n label={this.fullscreen ? exitLabel : enterLabel}\n className={this.fullscreen ? 'deck-widget-fullscreen-exit' : 'deck-widget-fullscreen-enter'}\n />\n );\n render(ui, el);\n }\n\n setProps(props: Partial<FullscreenWidgetProps>) {\n const oldProps = this.props;\n const el = this.element;\n if (el) {\n if (oldProps.className !== props.className) {\n if (oldProps.className) el.classList.remove(oldProps.className);\n if (props.className) el.classList.add(props.className);\n }\n\n if (!deepEqual(oldProps.style, props.style, 1)) {\n if (oldProps.style) {\n Object.entries(oldProps.style).map(([key]) => el.style.removeProperty(key));\n }\n if (props.style) {\n Object.entries(props.style).map(([key, value]) =>\n el.style.setProperty(key, value as string)\n );\n }\n }\n }\n\n Object.assign(this.props, props);\n }\n\n getContainer() {\n return this.props.container || this.deck?.getCanvas()?.parentElement;\n }\n\n onFullscreenChange() {\n const prevFullscreen = this.fullscreen;\n const fullscreen = document.fullscreenElement === this.getContainer();\n if (prevFullscreen !== fullscreen) {\n this.fullscreen = !this.fullscreen;\n }\n this.update();\n }\n\n async handleClick() {\n if (this.fullscreen) {\n await this.exitFullscreen();\n } else {\n await this.requestFullscreen();\n }\n this.update();\n }\n\n async requestFullscreen() {\n const container = this.getContainer();\n if (container?.requestFullscreen) {\n await container.requestFullscreen({navigationUI: 'hide'});\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n async exitFullscreen() {\n if (document.exitFullscreen) {\n await document.exitFullscreen();\n } else {\n this.togglePseudoFullscreen();\n }\n }\n\n togglePseudoFullscreen() {\n this.getContainer()?.classList.toggle('deck-pseudo-fullscreen');\n }\n}\n"],"file":"fullscreen-widget.js"}
package/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var Ze=Object.create;var X=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var tt=Object.getOwnPropertyNames;var rt=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty;var _e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ot=(t,e)=>{for(var r in e)X(t,r,{get:e[r],enumerable:!0})},Q=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of tt(e))!nt.call(t,a)&&a!==r&&X(t,a,{get:()=>e[a],enumerable:!(n=et(e,a))||n.enumerable});return t},D=(t,e,r)=>(Q(t,e,"default"),r&&Q(r,e,"default")),Z=(t,e,r)=>(r=t!=null?Ze(rt(t)):{},Q(e||!t||!t.__esModule?X(r,"default",{value:t,enumerable:!0}):r,t)),it=t=>Q(X({},"__esModule",{value:!0}),t);var ee=_e((gt,Se)=>{Se.exports=globalThis.deck});var Ne=_e((Rt,be)=>{var ge=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n,a=typeof Symbol=="function"?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",h=a.toStringTag||"@@toStringTag";function f(u,l,c){return Object.defineProperty(u,l,{value:c,enumerable:!0,configurable:!0,writable:!0}),u[l]}try{f({},"")}catch{f=function(l,c,v){return l[c]=v}}function L(u,l,c,v){var p=l&&l.prototype instanceof R?l:R,x=Object.create(p.prototype),T=new se(v||[]);return x._invoke=P(u,c,T),x}t.wrap=L;function y(u,l,c){try{return{type:"normal",arg:u.call(l,c)}}catch(v){return{type:"throw",arg:v}}}var i="suspendedStart",C="suspendedYield",m="executing",_="completed",d={};function R(){}function g(){}function b(){}var S={};f(S,o,function(){return this});var E=Object.getPrototypeOf,k=E&&E(E(ce([])));k&&k!==e&&r.call(k,o)&&(S=k);var A=b.prototype=R.prototype=Object.create(S);g.prototype=b,f(A,"constructor",b),f(b,"constructor",g),g.displayName=f(b,h,"GeneratorFunction");function G(u){["next","throw","return"].forEach(function(l){f(u,l,function(c){return this._invoke(l,c)})})}t.isGeneratorFunction=function(u){var l=typeof u=="function"&&u.constructor;return l?l===g||(l.displayName||l.name)==="GeneratorFunction":!1},t.mark=function(u){return Object.setPrototypeOf?Object.setPrototypeOf(u,b):(u.__proto__=b,f(u,h,"GeneratorFunction")),u.prototype=Object.create(A),u},t.awrap=function(u){return{__await:u}};function I(u,l){function c(x,T,F,O){var N=y(u[x],u,T);if(N.type==="throw")O(N.arg);else{var fe=N.arg,z=fe.value;return z&&typeof z=="object"&&r.call(z,"__await")?l.resolve(z.__await).then(function(M){c("next",M,F,O)},function(M){c("throw",M,F,O)}):l.resolve(z).then(function(M){fe.value=M,F(fe)},function(M){return c("throw",M,F,O)})}}var v;function p(x,T){function F(){return new l(function(O,N){c(x,T,O,N)})}return v=v?v.then(F,F):F()}this._invoke=p}G(I.prototype),f(I.prototype,s,function(){return this}),t.AsyncIterator=I,t.async=function(u,l,c,v,p){p===void 0&&(p=Promise);var x=new I(L(u,l,c,v),p);return t.isGeneratorFunction(l)?x:x.next().then(function(T){return T.done?T.value:x.next()})};function P(u,l,c){var v=i;return function(x,T){if(v===m)throw new Error("Generator is already running");if(v===_){if(x==="throw")throw T;return Ee()}for(c.method=x,c.arg=T;;){var F=c.delegate;if(F){var O=$(F,c);if(O){if(O===d)continue;return O}}if(c.method==="next")c.sent=c._sent=c.arg;else if(c.method==="throw"){if(v===i)throw v=_,c.arg;c.dispatchException(c.arg)}else c.method==="return"&&c.abrupt("return",c.arg);v=m;var N=y(u,l,c);if(N.type==="normal"){if(v=c.done?_:C,N.arg===d)continue;return{value:N.arg,done:c.done}}else N.type==="throw"&&(v=_,c.method="throw",c.arg=N.arg)}}}function $(u,l){var c=u.iterator[l.method];if(c===n){if(l.delegate=null,l.method==="throw"){if(u.iterator.return&&(l.method="return",l.arg=n,$(u,l),l.method==="throw"))return d;l.method="throw",l.arg=new TypeError("The iterator does not provide a 'throw' method")}return d}var v=y(c,u.iterator,l.arg);if(v.type==="throw")return l.method="throw",l.arg=v.arg,l.delegate=null,d;var p=v.arg;if(!p)return l.method="throw",l.arg=new TypeError("iterator result is not an object"),l.delegate=null,d;if(p.done)l[u.resultName]=p.value,l.next=u.nextLoc,l.method!=="return"&&(l.method="next",l.arg=n);else return p;return l.delegate=null,d}G(A),f(A,h,"Generator"),f(A,o,function(){return this}),f(A,"toString",function(){return"[object Generator]"});function Xe(u){var l={tryLoc:u[0]};1 in u&&(l.catchLoc=u[1]),2 in u&&(l.finallyLoc=u[2],l.afterLoc=u[3]),this.tryEntries.push(l)}function ue(u){var l=u.completion||{};l.type="normal",delete l.arg,u.completion=l}function se(u){this.tryEntries=[{tryLoc:"root"}],u.forEach(Xe,this),this.reset(!0)}t.keys=function(u){var l=[];for(var c in u)l.push(c);return l.reverse(),function v(){for(;l.length;){var p=l.pop();if(p in u)return v.value=p,v.done=!1,v}return v.done=!0,v}};function ce(u){if(u){var l=u[o];if(l)return l.call(u);if(typeof u.next=="function")return u;if(!isNaN(u.length)){var c=-1,v=function p(){for(;++c<u.length;)if(r.call(u,c))return p.value=u[c],p.done=!1,p;return p.value=n,p.done=!0,p};return v.next=v}}return{next:Ee}}t.values=ce;function Ee(){return{value:n,done:!0}}return se.prototype={constructor:se,reset:function(u){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(ue),!u)for(var l in this)l.charAt(0)==="t"&&r.call(this,l)&&!isNaN(+l.slice(1))&&(this[l]=n)},stop:function(){this.done=!0;var u=this.tryEntries[0],l=u.completion;if(l.type==="throw")throw l.arg;return this.rval},dispatchException:function(u){if(this.done)throw u;var l=this;function c(O,N){return x.type="throw",x.arg=u,l.next=O,N&&(l.method="next",l.arg=n),!!N}for(var v=this.tryEntries.length-1;v>=0;--v){var p=this.tryEntries[v],x=p.completion;if(p.tryLoc==="root")return c("end");if(p.tryLoc<=this.prev){var T=r.call(p,"catchLoc"),F=r.call(p,"finallyLoc");if(T&&F){if(this.prev<p.catchLoc)return c(p.catchLoc,!0);if(this.prev<p.finallyLoc)return c(p.finallyLoc)}else if(T){if(this.prev<p.catchLoc)return c(p.catchLoc,!0)}else if(F){if(this.prev<p.finallyLoc)return c(p.finallyLoc)}else throw new Error("try statement without catch or finally")}}},abrupt:function(u,l){for(var c=this.tryEntries.length-1;c>=0;--c){var v=this.tryEntries[c];if(v.tryLoc<=this.prev&&r.call(v,"finallyLoc")&&this.prev<v.finallyLoc){var p=v;break}}p&&(u==="break"||u==="continue")&&p.tryLoc<=l&&l<=p.finallyLoc&&(p=null);var x=p?p.completion:{};return x.type=u,x.arg=l,p?(this.method="next",this.next=p.finallyLoc,d):this.complete(x)},complete:function(u,l){if(u.type==="throw")throw u.arg;return u.type==="break"||u.type==="continue"?this.next=u.arg:u.type==="return"?(this.rval=this.arg=u.arg,this.method="return",this.next="end"):u.type==="normal"&&l&&(this.next=l),d},finish:function(u){for(var l=this.tryEntries.length-1;l>=0;--l){var c=this.tryEntries[l];if(c.finallyLoc===u)return this.complete(c.completion,c.afterLoc),ue(c),d}},catch:function(u){for(var l=this.tryEntries.length-1;l>=0;--l){var c=this.tryEntries[l];if(c.tryLoc===u){var v=c.completion;if(v.type==="throw"){var p=v.arg;ue(c)}return p}}throw new Error("illegal catch attempt")},delegateYield:function(u,l,c){return this.delegate={iterator:ce(u),resultName:l,nextLoc:c},this.method==="next"&&(this.arg=n),d}},t}(typeof be=="object"?be.exports:{});try{regeneratorRuntime=ge}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=ge:Function("r","regeneratorRuntime = r")(ge)}});var Oe=_e((jt,Ae)=>{Ae.exports=Ne()});var K={};ot(K,{DarkGlassTheme:()=>mt,DarkTheme:()=>dt,FullscreenWidget:()=>Qe,LightGlassTheme:()=>vt,LightTheme:()=>pt});var j={},Pe=Z(ee());D(j,Z(ee()));if(!Pe.Layer)throw new Error("@deck.gl/core is not found");D(K,j);function Te(t,e,r,n,a,o,s){try{var h=t[o](s),f=h.value}catch(L){r(L);return}h.done?e(f):Promise.resolve(f).then(n,a)}function V(t){return function(){var e=this,r=arguments;return new Promise(function(n,a){var o=t.apply(e,r);function s(f){Te(o,n,a,s,h,"next",f)}function h(f){Te(o,n,a,s,h,"throw",f)}s(void 0)})}}function he(t){if(Array.isArray(t))return t}function pe(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n=[],a=!0,o=!1,s,h;try{for(r=r.call(t);!(a=(s=r.next()).done)&&(n.push(s.value),!(e&&n.length===e));a=!0);}catch(f){o=!0,h=f}finally{try{!a&&r.return!=null&&r.return()}finally{if(o)throw h}}return n}}function te(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function de(t,e){if(t){if(typeof t=="string")return te(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return te(t,e)}}function ve(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Y(t,e){return he(t)||pe(t,e)||de(t,e)||ve()}function me(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Fe(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function ye(t,e,r){return e&&Fe(t.prototype,e),r&&Fe(t,r),t}function U(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var H=Z(Oe()),Ke=Z(ee());var ae,w,Ue,at,q,Ge,We,ke,lt,B={},$e=[],ut=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,xe=Array.isArray;function W(t,e){for(var r in e)t[r]=e[r];return t}function Me(t){var e=t.parentNode;e&&e.removeChild(t)}function st(t,e,r){var n,a,o,s={};for(o in e)o=="key"?n=e[o]:o=="ref"?a=e[o]:s[o]=e[o];if(arguments.length>2&&(s.children=arguments.length>3?ae.call(arguments,2):r),typeof t=="function"&&t.defaultProps!=null)for(o in t.defaultProps)s[o]===void 0&&(s[o]=t.defaultProps[o]);return re(t,s,n,a,null)}function re(t,e,r,n,a){var o={type:t,props:e,key:r,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:a??++Ue};return a==null&&w.vnode!=null&&w.vnode(o),o}function le(t){return t.children}function ne(t,e){this.props=t,this.context=e}function J(t,e){if(e==null)return t.__?J(t.__,t.__.__k.indexOf(t)+1):null;for(var r;e<t.__k.length;e++)if((r=t.__k[e])!=null&&r.__e!=null)return r.__e;return typeof t.type=="function"?J(t):null}function qe(t){var e,r;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,e=0;e<t.__k.length;e++)if((r=t.__k[e])!=null&&r.__e!=null){t.__e=t.__c.base=r.__e;break}return qe(t)}}function Ie(t){(!t.__d&&(t.__d=!0)&&q.push(t)&&!oe.__r++||Ge!==w.debounceRendering)&&((Ge=w.debounceRendering)||We)(oe)}function oe(){var t,e,r,n,a,o,s,h,f;for(q.sort(ke);t=q.shift();)t.__d&&(e=q.length,n=void 0,a=void 0,o=void 0,h=(s=(r=t).__v).__e,(f=r.__P)&&(n=[],a=[],(o=W({},s)).__v=s.__v+1,Le(f,s,o,r.__n,f.ownerSVGElement!==void 0,s.__h!=null?[h]:null,n,h??J(s),s.__h,a),Ve(n,s,a),s.__e!=h&&qe(s)),q.length>e&&q.sort(ke));oe.__r=0}function He(t,e,r,n,a,o,s,h,f,L,y){var i,C,m,_,d,R,g,b,S,E=0,k=n&&n.__k||$e,A=k.length,G=A,I=e.length;for(r.__k=[],i=0;i<I;i++)(_=r.__k[i]=(_=e[i])==null||typeof _=="boolean"||typeof _=="function"?null:typeof _=="string"||typeof _=="number"||typeof _=="bigint"?re(null,_,null,null,_):xe(_)?re(le,{children:_},null,null,null):_.__b>0?re(_.type,_.props,_.key,_.ref?_.ref:null,_.__v):_)!=null?(_.__=r,_.__b=r.__b+1,(b=ct(_,k,g=i+E,G))===-1?m=B:(m=k[b]||B,k[b]=void 0,G--),Le(t,_,m,a,o,s,h,f,L,y),d=_.__e,(C=_.ref)&&m.ref!=C&&(m.ref&&Ce(m.ref,null,_),y.push(C,_.__c||d,_)),d!=null&&(R==null&&(R=d),(S=m===B||m.__v===null)?b==-1&&E--:b!==g&&(b===g+1?E++:b>g?G>I-g?E+=b-g:E--:E=b<g&&b==g-1?b-g:0),g=i+E,typeof _.type!="function"||b===g&&m.__k!==_.__k?typeof _.type=="function"||b===g&&!S?_.__d!==void 0?(f=_.__d,_.__d=void 0):f=d.nextSibling:f=ze(t,d,f):f=Be(_,f,t),typeof r.type=="function"&&(r.__d=f))):(m=k[i])&&m.key==null&&m.__e&&(m.__e==f&&(f=J(m)),we(m,m,!1));for(r.__e=R,i=A;i--;)k[i]!=null&&(typeof r.type=="function"&&k[i].__e!=null&&k[i].__e==r.__d&&(r.__d=k[i].__e.nextSibling),we(k[i],k[i]))}function Be(t,e,r){for(var n,a=t.__k,o=0;a&&o<a.length;o++)(n=a[o])&&(n.__=t,e=typeof n.type=="function"?Be(n,e,r):ze(r,n.__e,e));return e}function ze(t,e,r){return r==null||r.parentNode!==t?t.insertBefore(e,null):e==r&&e.parentNode!=null||t.insertBefore(e,r),e.nextSibling}function ct(t,e,r,n){var a=t.key,o=t.type,s=r-1,h=r+1,f=e[r];if(f===null||f&&a==f.key&&o===f.type)return r;if(n>(f!=null?1:0))for(;s>=0||h<e.length;){if(s>=0){if((f=e[s])&&a==f.key&&o===f.type)return s;s--}if(h<e.length){if((f=e[h])&&a==f.key&&o===f.type)return h;h++}}return-1}function ft(t,e,r,n,a){var o;for(o in r)o==="children"||o==="key"||o in e||ie(t,o,null,r[o],n);for(o in e)a&&typeof e[o]!="function"||o==="children"||o==="key"||o==="value"||o==="checked"||r[o]===e[o]||ie(t,o,e[o],r[o],n)}function Re(t,e,r){e[0]==="-"?t.setProperty(e,r??""):t[e]=r==null?"":typeof r!="number"||ut.test(e)?r:r+"px"}function ie(t,e,r,n,a){var o;e:if(e==="style")if(typeof r=="string")t.style.cssText=r;else{if(typeof n=="string"&&(t.style.cssText=n=""),n)for(e in n)r&&e in r||Re(t.style,e,"");if(r)for(e in r)n&&r[e]===n[e]||Re(t.style,e,r[e])}else if(e[0]==="o"&&e[1]==="n")o=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in t?e.toLowerCase().slice(2):e.slice(2),t.l||(t.l={}),t.l[e+o]=r,r?n||t.addEventListener(e,o?De:je,o):t.removeEventListener(e,o?De:je,o);else if(e!=="dangerouslySetInnerHTML"){if(a)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="width"&&e!=="height"&&e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e!=="rowSpan"&&e!=="colSpan"&&e in t)try{t[e]=r??"";break e}catch{}typeof r=="function"||(r==null||r===!1&&e[4]!=="-"?t.removeAttribute(e):t.setAttribute(e,r))}}function je(t){return this.l[t.type+!1](w.event?w.event(t):t)}function De(t){return this.l[t.type+!0](w.event?w.event(t):t)}function Le(t,e,r,n,a,o,s,h,f,L){var y,i,C,m,_,d,R,g,b,S,E,k,A,G,I,P=e.type;if(e.constructor!==void 0)return null;r.__h!=null&&(f=r.__h,h=e.__e=r.__e,e.__h=null,o=[h]),(y=w.__b)&&y(e);e:if(typeof P=="function")try{if(g=e.props,b=(y=P.contextType)&&n[y.__c],S=y?b?b.props.value:y.__:n,r.__c?R=(i=e.__c=r.__c).__=i.__E:("prototype"in P&&P.prototype.render?e.__c=i=new P(g,S):(e.__c=i=new ne(g,S),i.constructor=P,i.render=ht),b&&b.sub(i),i.props=g,i.state||(i.state={}),i.context=S,i.__n=n,C=i.__d=!0,i.__h=[],i._sb=[]),i.__s==null&&(i.__s=i.state),P.getDerivedStateFromProps!=null&&(i.__s==i.state&&(i.__s=W({},i.__s)),W(i.__s,P.getDerivedStateFromProps(g,i.__s))),m=i.props,_=i.state,i.__v=e,C)P.getDerivedStateFromProps==null&&i.componentWillMount!=null&&i.componentWillMount(),i.componentDidMount!=null&&i.__h.push(i.componentDidMount);else{if(P.getDerivedStateFromProps==null&&g!==m&&i.componentWillReceiveProps!=null&&i.componentWillReceiveProps(g,S),!i.__e&&(i.shouldComponentUpdate!=null&&i.shouldComponentUpdate(g,i.__s,S)===!1||e.__v===r.__v)){for(e.__v!==r.__v&&(i.props=g,i.state=i.__s,i.__d=!1),e.__e=r.__e,e.__k=r.__k,e.__k.forEach(function($){$&&($.__=e)}),E=0;E<i._sb.length;E++)i.__h.push(i._sb[E]);i._sb=[],i.__h.length&&s.push(i);break e}i.componentWillUpdate!=null&&i.componentWillUpdate(g,i.__s,S),i.componentDidUpdate!=null&&i.__h.push(function(){i.componentDidUpdate(m,_,d)})}if(i.context=S,i.props=g,i.__P=t,i.__e=!1,k=w.__r,A=0,"prototype"in P&&P.prototype.render){for(i.state=i.__s,i.__d=!1,k&&k(e),y=i.render(i.props,i.state,i.context),G=0;G<i._sb.length;G++)i.__h.push(i._sb[G]);i._sb=[]}else do i.__d=!1,k&&k(e),y=i.render(i.props,i.state,i.context),i.state=i.__s;while(i.__d&&++A<25);i.state=i.__s,i.getChildContext!=null&&(n=W(W({},n),i.getChildContext())),C||i.getSnapshotBeforeUpdate==null||(d=i.getSnapshotBeforeUpdate(m,_)),He(t,xe(I=y!=null&&y.type===le&&y.key==null?y.props.children:y)?I:[I],e,r,n,a,o,s,h,f,L),i.base=e.__e,e.__h=null,i.__h.length&&s.push(i),R&&(i.__E=i.__=null)}catch($){e.__v=null,(f||o!=null)&&(e.__e=h,e.__h=!!f,o[o.indexOf(h)]=null),w.__e($,e,r)}else o==null&&e.__v===r.__v?(e.__k=r.__k,e.__e=r.__e):e.__e=_t(r.__e,e,r,n,a,o,s,f,L);(y=w.diffed)&&y(e)}function Ve(t,e,r){for(var n=0;n<r.length;n++)Ce(r[n],r[++n],r[++n]);w.__c&&w.__c(e,t),t.some(function(a){try{t=a.__h,a.__h=[],t.some(function(o){o.call(a)})}catch(o){w.__e(o,a.__v)}})}function _t(t,e,r,n,a,o,s,h,f){var L,y,i,C=r.props,m=e.props,_=e.type,d=0;if(_==="svg"&&(a=!0),o!=null){for(;d<o.length;d++)if((L=o[d])&&"setAttribute"in L==!!_&&(_?L.localName===_:L.nodeType===3)){t=L,o[d]=null;break}}if(t==null){if(_===null)return document.createTextNode(m);t=a?document.createElementNS("http://www.w3.org/2000/svg",_):document.createElement(_,m.is&&m),o=null,h=!1}if(_===null)C===m||h&&t.data===m||(t.data=m);else{if(o=o&&ae.call(t.childNodes),y=(C=r.props||B).dangerouslySetInnerHTML,i=m.dangerouslySetInnerHTML,!h){if(o!=null)for(C={},d=0;d<t.attributes.length;d++)C[t.attributes[d].name]=t.attributes[d].value;(i||y)&&(i&&(y&&i.__html==y.__html||i.__html===t.innerHTML)||(t.innerHTML=i&&i.__html||""))}if(ft(t,m,C,a,h),i)e.__k=[];else if(He(t,xe(d=e.props.children)?d:[d],e,r,n,a&&_!=="foreignObject",o,s,o?o[0]:r.__k&&J(r,0),h,f),o!=null)for(d=o.length;d--;)o[d]!=null&&Me(o[d]);h||("value"in m&&(d=m.value)!==void 0&&(d!==t.value||_==="progress"&&!d||_==="option"&&d!==C.value)&&ie(t,"value",d,C.value,!1),"checked"in m&&(d=m.checked)!==void 0&&d!==t.checked&&ie(t,"checked",d,C.checked,!1))}return t}function Ce(t,e,r){try{typeof t=="function"?t(e):t.current=e}catch(n){w.__e(n,r)}}function we(t,e,r){var n,a;if(w.unmount&&w.unmount(t),(n=t.ref)&&(n.current&&n.current!==t.__e||Ce(n,null,e)),(n=t.__c)!=null){if(n.componentWillUnmount)try{n.componentWillUnmount()}catch(o){w.__e(o,e)}n.base=n.__P=null,t.__c=void 0}if(n=t.__k)for(a=0;a<n.length;a++)n[a]&&we(n[a],e,r||typeof t.type!="function");r||t.__e==null||Me(t.__e),t.__=t.__e=t.__d=void 0}function ht(t,e,r){return this.constructor(t,r)}function Ye(t,e,r){var n,a,o,s;w.__&&w.__(t,e),a=(n=typeof r=="function")?null:r&&r.__k||e.__k,o=[],s=[],Le(e,t=(!n&&r||e).__k=st(le,null,[t]),a||B,B,e.ownerSVGElement!==void 0,!n&&r?[r]:a?null:e.firstChild?ae.call(e.childNodes):null,o,!n&&r?r:a?a.__e:e.firstChild,n,s),Ve(o,t,s)}ae=$e.slice,w={__e:function(t,e,r,n){for(var a,o,s;e=e.__;)if((a=e.__c)&&!a.__)try{if((o=a.constructor)&&o.getDerivedStateFromError!=null&&(a.setState(o.getDerivedStateFromError(t)),s=a.__d),a.componentDidCatch!=null&&(a.componentDidCatch(t,n||{}),s=a.__d),s)return a.__E=a}catch(h){t=h}throw t}},Ue=0,at=function(t){return t!=null&&t.constructor===void 0},ne.prototype.setState=function(t,e){var r;r=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=W({},this.state),typeof t=="function"&&(t=t(W({},r),this.props)),t&&W(r,t),t!=null&&this.__v&&(e&&this._sb.push(e),Ie(this))},ne.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Ie(this))},ne.prototype.render=le,q=[],We=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,ke=function(t,e){return t.__v.__b-e.__v.__b},oe.__r=0,lt=0;var Je=function(e){var r=e.className,n=e.label,a=e.onClick;return React.createElement("div",{className:"deck-widget-button-border"},React.createElement("button",{className:"deck-widget-button ".concat(r),type:"button",onClick:a,title:n},React.createElement("div",{className:"deck-widget-icon"})))};var Qe=function(){function t(e){me(this,t),U(this,"id","fullscreen"),U(this,"props",void 0),U(this,"placement","top-left"),U(this,"deck",void 0),U(this,"element",void 0),U(this,"fullscreen",!1),this.id=e.id||"fullscreen",this.placement=e.placement||"top-left",e.enterLabel=e.enterLabel||"Enter Fullscreen",e.exitLabel=e.exitLabel||"Exit Fullscreen",e.style=e.style||{},this.props=e}return ye(t,[{key:"onAdd",value:function(r){var n=r.deck,a=this.props,o=a.style,s=a.className,h=document.createElement("div");return h.classList.add("deck-widget","deck-widget-fullscreen"),s&&h.classList.add(s),o&&Object.entries(o).map(function(f){var L=Y(f,2),y=L[0],i=L[1];return h.style.setProperty(y,i)}),this.deck=n,this.element=h,this.update(),document.addEventListener("fullscreenchange",this.onFullscreenChange.bind(this)),h}},{key:"onRemove",value:function(){this.deck=void 0,this.element=void 0,document.removeEventListener("fullscreenchange",this.onFullscreenChange.bind(this))}},{key:"update",value:function(){var r=this.props,n=r.enterLabel,a=r.exitLabel,o=this.element;if(o){var s=React.createElement(Je,{onClick:this.handleClick.bind(this),label:this.fullscreen?a:n,className:this.fullscreen?"deck-widget-fullscreen-exit":"deck-widget-fullscreen-enter"});Ye(s,o)}}},{key:"setProps",value:function(r){var n=this.props,a=this.element;a&&(n.className!==r.className&&(n.className&&a.classList.remove(n.className),r.className&&a.classList.add(r.className)),(0,Ke._deepEqual)(n.style,r.style,1)||(n.style&&Object.entries(n.style).map(function(o){var s=Y(o,1),h=s[0];return a.style.removeProperty(h)}),r.style&&Object.entries(r.style).map(function(o){var s=Y(o,2),h=s[0],f=s[1];return a.style.setProperty(h,f)}))),Object.assign(this.props,r)}},{key:"getContainer",value:function(){var r,n;return this.props.container||((r=this.deck)===null||r===void 0||(n=r.getCanvas())===null||n===void 0?void 0:n.parentElement)}},{key:"onFullscreenChange",value:function(){var r=this.fullscreen,n=document.fullscreenElement===this.getContainer();r!==n&&(this.fullscreen=!this.fullscreen),this.update()}},{key:"handleClick",value:function(){var e=V(H.default.mark(function n(){return H.default.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!this.fullscreen){o.next=5;break}return o.next=3,this.exitFullscreen();case 3:o.next=7;break;case 5:return o.next=7,this.requestFullscreen();case 7:this.update();case 8:case"end":return o.stop()}},n,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"requestFullscreen",value:function(){var e=V(H.default.mark(function n(){var a;return H.default.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(a=this.getContainer(),!(a!=null&&a.requestFullscreen)){s.next=6;break}return s.next=4,a.requestFullscreen({navigationUI:"hide"});case 4:s.next=7;break;case 6:this.togglePseudoFullscreen();case 7:case"end":return s.stop()}},n,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"exitFullscreen",value:function(){var e=V(H.default.mark(function n(){return H.default.wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(!document.exitFullscreen){o.next=5;break}return o.next=3,document.exitFullscreen();case 3:o.next=6;break;case 5:this.togglePseudoFullscreen();case 6:case"end":return o.stop()}},n,this)}));function r(){return e.apply(this,arguments)}return r}()},{key:"togglePseudoFullscreen",value:function(){var r;(r=this.getContainer())===null||r===void 0||r.classList.toggle("deck-pseudo-fullscreen")}}]),t}();var pt={"--button-background":"#fff","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)"},dt={"--button-background":"rgba(18, 18, 20, 1)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)"},vt={"--button-background":"rgba(255, 255, 255, 0.6)","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"1px solid rgba(255, 255, 255, 0.6)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)"},mt={"--button-background":"rgba(18, 18, 20, 0.75)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"1px solid rgba(18, 18, 20, 0.75)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)"};return it(K);})();
7
+ "use strict";var __exports__=(()=>{var ye=Object.create;var D=Object.defineProperty;var ke=Object.getOwnPropertyDescriptor;var xe=Object.getOwnPropertyNames;var we=Object.getPrototypeOf,Ce=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Pe=(t,e)=>{for(var n in e)D(t,n,{get:e[n],enumerable:!0})},U=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of xe(e))!Ce.call(t,i)&&i!==n&&D(t,i,{get:()=>e[i],enumerable:!(o=ke(e,i))||o.enumerable});return t},F=(t,e,n)=>(U(t,e,"default"),n&&U(n,e,"default")),B=(t,e,n)=>(n=t!=null?ye(we(t)):{},U(e||!t||!t.__esModule?D(n,"default",{value:t,enumerable:!0}):n,t)),Ee=t=>U(D({},"__esModule",{value:!0}),t);var $=Fe((ze,Y)=>{Y.exports=globalThis.deck});var R={};Pe(R,{DarkGlassTheme:()=>Be,DarkTheme:()=>je,FullscreenWidget:()=>ge,LightGlassTheme:()=>qe,LightTheme:()=>He});var w={},Z=B($());F(w,B($()));if(!Z.Layer)throw new Error("@deck.gl/core is not found");F(R,w);var be=B($());var j,h,le,Se,E,ee,ie,G,Le,T={},se=[],Te=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,V=Array.isArray;function P(t,e){for(var n in e)t[n]=e[n];return t}function ae(t){var e=t.parentNode;e&&e.removeChild(t)}function Ne(t,e,n){var o,i,r,s={};for(r in e)r=="key"?o=e[r]:r=="ref"?i=e[r]:s[r]=e[r];if(arguments.length>2&&(s.children=arguments.length>3?j.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)s[r]===void 0&&(s[r]=t.defaultProps[r]);return W(t,s,o,i,null)}function W(t,e,n,o,i){var r={type:t,props:e,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++le};return i==null&&h.vnode!=null&&h.vnode(r),r}function q(t){return t.children}function M(t,e){this.props=t,this.context=e}function A(t,e){if(e==null)return t.__?A(t.__,t.__.__k.indexOf(t)+1):null;for(var n;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null)return n.__e;return typeof t.type=="function"?A(t):null}function _e(t){var e,n;if((t=t.__)!=null&&t.__c!=null){for(t.__e=t.__c.base=null,e=0;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null){t.__e=t.__c.base=n.__e;break}return _e(t)}}function te(t){(!t.__d&&(t.__d=!0)&&E.push(t)&&!O.__r++||ee!==h.debounceRendering)&&((ee=h.debounceRendering)||ie)(O)}function O(){var t,e,n,o,i,r,s,a,_;for(E.sort(G);t=E.shift();)t.__d&&(e=E.length,o=void 0,i=void 0,r=void 0,a=(s=(n=t).__v).__e,(_=n.__P)&&(o=[],i=[],(r=P({},s)).__v=s.__v+1,J(_,s,r,n.__n,_.ownerSVGElement!==void 0,s.__h!=null?[a]:null,o,a??A(s),s.__h,i),pe(o,s,i),s.__e!=a&&_e(s)),E.length>e&&E.sort(G));O.__r=0}function ue(t,e,n,o,i,r,s,a,_,g,p){var l,m,c,u,f,S,d,v,x,y=0,b=o&&o.__k||se,N=b.length,C=N,L=e.length;for(n.__k=[],l=0;l<L;l++)(u=n.__k[l]=(u=e[l])==null||typeof u=="boolean"||typeof u=="function"?null:typeof u=="string"||typeof u=="number"||typeof u=="bigint"?W(null,u,null,null,u):V(u)?W(q,{children:u},null,null,null):u.__b>0?W(u.type,u.props,u.key,u.ref?u.ref:null,u.__v):u)!=null?(u.__=n,u.__b=n.__b+1,(v=Ae(u,b,d=l+y,C))===-1?c=T:(c=b[v]||T,b[v]=void 0,C--),J(t,u,c,i,r,s,a,_,g,p),f=u.__e,(m=u.ref)&&c.ref!=m&&(c.ref&&K(c.ref,null,u),p.push(m,u.__c||f,u)),f!=null&&(S==null&&(S=f),(x=c===T||c.__v===null)?v==-1&&y--:v!==d&&(v===d+1?y++:v>d?C>L-d?y+=v-d:y--:y=v<d&&v==d-1?v-d:0),d=l+y,typeof u.type!="function"||v===d&&c.__k!==u.__k?typeof u.type=="function"||v===d&&!x?u.__d!==void 0?(_=u.__d,u.__d=void 0):_=f.nextSibling:_=fe(t,f,_):_=ce(u,_,t),typeof n.type=="function"&&(n.__d=_))):(c=b[l])&&c.key==null&&c.__e&&(c.__e==_&&(_=A(c)),z(c,c,!1));for(n.__e=S,l=N;l--;)b[l]!=null&&(typeof n.type=="function"&&b[l].__e!=null&&b[l].__e==n.__d&&(n.__d=b[l].__e.nextSibling),z(b[l],b[l]))}function ce(t,e,n){for(var o,i=t.__k,r=0;i&&r<i.length;r++)(o=i[r])&&(o.__=t,e=typeof o.type=="function"?ce(o,e,n):fe(n,o.__e,e));return e}function fe(t,e,n){return n==null||n.parentNode!==t?t.insertBefore(e,null):e==n&&e.parentNode!=null||t.insertBefore(e,n),e.nextSibling}function Ae(t,e,n,o){var i=t.key,r=t.type,s=n-1,a=n+1,_=e[n];if(_===null||_&&i==_.key&&r===_.type)return n;if(o>(_!=null?1:0))for(;s>=0||a<e.length;){if(s>=0){if((_=e[s])&&i==_.key&&r===_.type)return s;s--}if(a<e.length){if((_=e[a])&&i==_.key&&r===_.type)return a;a++}}return-1}function Re(t,e,n,o,i){var r;for(r in n)r==="children"||r==="key"||r in e||H(t,r,null,n[r],o);for(r in e)i&&typeof e[r]!="function"||r==="children"||r==="key"||r==="value"||r==="checked"||n[r]===e[r]||H(t,r,e[r],n[r],o)}function ne(t,e,n){e[0]==="-"?t.setProperty(e,n??""):t[e]=n==null?"":typeof n!="number"||Te.test(e)?n:n+"px"}function H(t,e,n,o,i){var r;e:if(e==="style")if(typeof n=="string")t.style.cssText=n;else{if(typeof o=="string"&&(t.style.cssText=o=""),o)for(e in o)n&&e in n||ne(t.style,e,"");if(n)for(e in n)o&&n[e]===o[e]||ne(t.style,e,n[e])}else if(e[0]==="o"&&e[1]==="n")r=e!==(e=e.replace(/Capture$/,"")),e=e.toLowerCase()in t?e.toLowerCase().slice(2):e.slice(2),t.l||(t.l={}),t.l[e+r]=n,n?o||t.addEventListener(e,r?oe:re,r):t.removeEventListener(e,r?oe:re,r);else if(e!=="dangerouslySetInnerHTML"){if(i)e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!=="width"&&e!=="height"&&e!=="href"&&e!=="list"&&e!=="form"&&e!=="tabIndex"&&e!=="download"&&e!=="rowSpan"&&e!=="colSpan"&&e in t)try{t[e]=n??"";break e}catch{}typeof n=="function"||(n==null||n===!1&&e[4]!=="-"?t.removeAttribute(e):t.setAttribute(e,n))}}function re(t){return this.l[t.type+!1](h.event?h.event(t):t)}function oe(t){return this.l[t.type+!0](h.event?h.event(t):t)}function J(t,e,n,o,i,r,s,a,_,g){var p,l,m,c,u,f,S,d,v,x,y,b,N,C,L,k=e.type;if(e.constructor!==void 0)return null;n.__h!=null&&(_=n.__h,a=e.__e=n.__e,e.__h=null,r=[a]),(p=h.__b)&&p(e);e:if(typeof k=="function")try{if(d=e.props,v=(p=k.contextType)&&o[p.__c],x=p?v?v.props.value:p.__:o,n.__c?S=(l=e.__c=n.__c).__=l.__E:("prototype"in k&&k.prototype.render?e.__c=l=new k(d,x):(e.__c=l=new M(d,x),l.constructor=k,l.render=Ue),v&&v.sub(l),l.props=d,l.state||(l.state={}),l.context=x,l.__n=o,m=l.__d=!0,l.__h=[],l._sb=[]),l.__s==null&&(l.__s=l.state),k.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=P({},l.__s)),P(l.__s,k.getDerivedStateFromProps(d,l.__s))),c=l.props,u=l.state,l.__v=e,m)k.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(k.getDerivedStateFromProps==null&&d!==c&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(d,x),!l.__e&&(l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(d,l.__s,x)===!1||e.__v===n.__v)){for(e.__v!==n.__v&&(l.props=d,l.state=l.__s,l.__d=!1),e.__e=n.__e,e.__k=n.__k,e.__k.forEach(function(I){I&&(I.__=e)}),y=0;y<l._sb.length;y++)l.__h.push(l._sb[y]);l._sb=[],l.__h.length&&s.push(l);break e}l.componentWillUpdate!=null&&l.componentWillUpdate(d,l.__s,x),l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(c,u,f)})}if(l.context=x,l.props=d,l.__P=t,l.__e=!1,b=h.__r,N=0,"prototype"in k&&k.prototype.render){for(l.state=l.__s,l.__d=!1,b&&b(e),p=l.render(l.props,l.state,l.context),C=0;C<l._sb.length;C++)l.__h.push(l._sb[C]);l._sb=[]}else do l.__d=!1,b&&b(e),p=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++N<25);l.state=l.__s,l.getChildContext!=null&&(o=P(P({},o),l.getChildContext())),m||l.getSnapshotBeforeUpdate==null||(f=l.getSnapshotBeforeUpdate(c,u)),ue(t,V(L=p!=null&&p.type===q&&p.key==null?p.props.children:p)?L:[L],e,n,o,i,r,s,a,_,g),l.base=e.__e,e.__h=null,l.__h.length&&s.push(l),S&&(l.__E=l.__=null)}catch(I){e.__v=null,(_||r!=null)&&(e.__e=a,e.__h=!!_,r[r.indexOf(a)]=null),h.__e(I,e,n)}else r==null&&e.__v===n.__v?(e.__k=n.__k,e.__e=n.__e):e.__e=Ie(n.__e,e,n,o,i,r,s,_,g);(p=h.diffed)&&p(e)}function pe(t,e,n){for(var o=0;o<n.length;o++)K(n[o],n[++o],n[++o]);h.__c&&h.__c(e,t),t.some(function(i){try{t=i.__h,i.__h=[],t.some(function(r){r.call(i)})}catch(r){h.__e(r,i.__v)}})}function Ie(t,e,n,o,i,r,s,a,_){var g,p,l,m=n.props,c=e.props,u=e.type,f=0;if(u==="svg"&&(i=!0),r!=null){for(;f<r.length;f++)if((g=r[f])&&"setAttribute"in g==!!u&&(u?g.localName===u:g.nodeType===3)){t=g,r[f]=null;break}}if(t==null){if(u===null)return document.createTextNode(c);t=i?document.createElementNS("http://www.w3.org/2000/svg",u):document.createElement(u,c.is&&c),r=null,a=!1}if(u===null)m===c||a&&t.data===c||(t.data=c);else{if(r=r&&j.call(t.childNodes),p=(m=n.props||T).dangerouslySetInnerHTML,l=c.dangerouslySetInnerHTML,!a){if(r!=null)for(m={},f=0;f<t.attributes.length;f++)m[t.attributes[f].name]=t.attributes[f].value;(l||p)&&(l&&(p&&l.__html==p.__html||l.__html===t.innerHTML)||(t.innerHTML=l&&l.__html||""))}if(Re(t,c,m,i,a),l)e.__k=[];else if(ue(t,V(f=e.props.children)?f:[f],e,n,o,i&&u!=="foreignObject",r,s,r?r[0]:n.__k&&A(n,0),a,_),r!=null)for(f=r.length;f--;)r[f]!=null&&ae(r[f]);a||("value"in c&&(f=c.value)!==void 0&&(f!==t.value||u==="progress"&&!f||u==="option"&&f!==m.value)&&H(t,"value",f,m.value,!1),"checked"in c&&(f=c.checked)!==void 0&&f!==t.checked&&H(t,"checked",f,m.checked,!1))}return t}function K(t,e,n){try{typeof t=="function"?t(e):t.current=e}catch(o){h.__e(o,n)}}function z(t,e,n){var o,i;if(h.unmount&&h.unmount(t),(o=t.ref)&&(o.current&&o.current!==t.__e||K(o,null,e)),(o=t.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(r){h.__e(r,e)}o.base=o.__P=null,t.__c=void 0}if(o=t.__k)for(i=0;i<o.length;i++)o[i]&&z(o[i],e,n||typeof t.type!="function");n||t.__e==null||ae(t.__e),t.__=t.__e=t.__d=void 0}function Ue(t,e,n){return this.constructor(t,n)}function de(t,e,n){var o,i,r,s;h.__&&h.__(t,e),i=(o=typeof n=="function")?null:n&&n.__k||e.__k,r=[],s=[],J(e,t=(!o&&n||e).__k=Ne(q,null,[t]),i||T,T,e.ownerSVGElement!==void 0,!o&&n?[n]:i?null:e.firstChild?j.call(e.childNodes):null,r,!o&&n?n:i?i.__e:e.firstChild,o,s),pe(r,t,s)}j=se.slice,h={__e:function(t,e,n,o){for(var i,r,s;e=e.__;)if((i=e.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(t)),s=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(t,o||{}),s=i.__d),s)return i.__E=i}catch(a){t=a}throw t}},le=0,Se=function(t){return t!=null&&t.constructor===void 0},M.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=P({},this.state),typeof t=="function"&&(t=t(P({},n),this.props)),t&&P(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),te(this))},M.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),te(this))},M.prototype.render=q,E=[],ie=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,G=function(t,e){return t.__v.__b-e.__v.__b},O.__r=0,Le=0;var he=function(e){var n=e.className,o=e.label,i=e.onClick;return React.createElement("div",{className:"deck-widget-button-border"},React.createElement("button",{className:"deck-widget-button ".concat(n),type:"button",onClick:i,title:o},React.createElement("div",{className:"deck-widget-icon"})))};function ve(t,e,n,o,i,r,s){try{var a=t[r](s),_=a.value}catch(g){n(g);return}a.done?e(_):Promise.resolve(_).then(o,i)}function Q(t){return function(){var e=this,n=arguments;return new Promise(function(o,i){var r=t.apply(e,n);function s(_){ve(r,o,i,s,a,"next",_)}function a(_){ve(r,o,i,s,a,"throw",_)}s(void 0)})}}function X(t,e){return Me(t)||We(t,e)||$e(t,e)||De()}function De(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $e(t,e){if(t){if(typeof t=="string")return me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return me(t,e)}}function me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n<e;n++)o[n]=t[n];return o}function We(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var o=[],i=!0,r=!1,s,a;try{for(n=n.call(t);!(i=(s=n.next()).done)&&(o.push(s.value),!(e&&o.length===e));i=!0);}catch(_){r=!0,a=_}finally{try{!i&&n.return!=null&&n.return()}finally{if(r)throw a}}return o}}function Me(t){if(Array.isArray(t))return t}function Oe(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var ge=function(){function t(n){Oe(this,t),this.id="fullscreen",this.props=void 0,this.placement="top-left",this.deck=void 0,this.element=void 0,this.fullscreen=!1,this.id=n.id||"fullscreen",this.placement=n.placement||"top-left",n.enterLabel=n.enterLabel||"Enter Fullscreen",n.exitLabel=n.exitLabel||"Exit Fullscreen",n.style=n.style||{},this.props=n}var e=t.prototype;return e.onAdd=function(o){var i=o.deck,r=this.props,s=r.style,a=r.className,_=document.createElement("div");return _.classList.add("deck-widget","deck-widget-fullscreen"),a&&_.classList.add(a),s&&Object.entries(s).map(function(g){var p=X(g,2),l=p[0],m=p[1];return _.style.setProperty(l,m)}),this.deck=i,this.element=_,this.update(),document.addEventListener("fullscreenchange",this.onFullscreenChange.bind(this)),_},e.onRemove=function(){this.deck=void 0,this.element=void 0,document.removeEventListener("fullscreenchange",this.onFullscreenChange.bind(this))},e.update=function(){var o=this.props,i=o.enterLabel,r=o.exitLabel,s=this.element;if(s){var a=React.createElement(he,{onClick:this.handleClick.bind(this),label:this.fullscreen?r:i,className:this.fullscreen?"deck-widget-fullscreen-exit":"deck-widget-fullscreen-enter"});de(a,s)}},e.setProps=function(o){var i=this.props,r=this.element;r&&(i.className!==o.className&&(i.className&&r.classList.remove(i.className),o.className&&r.classList.add(o.className)),(0,be._deepEqual)(i.style,o.style,1)||(i.style&&Object.entries(i.style).map(function(s){var a=X(s,1),_=a[0];return r.style.removeProperty(_)}),o.style&&Object.entries(o.style).map(function(s){var a=X(s,2),_=a[0],g=a[1];return r.style.setProperty(_,g)}))),Object.assign(this.props,o)},e.getContainer=function(){var o,i;return this.props.container||((o=this.deck)===null||o===void 0||(i=o.getCanvas())===null||i===void 0?void 0:i.parentElement)},e.onFullscreenChange=function(){var o=this.fullscreen,i=document.fullscreenElement===this.getContainer();o!==i&&(this.fullscreen=!this.fullscreen),this.update()},e.handleClick=function(){var n=Q(regeneratorRuntime.mark(function i(){return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!this.fullscreen){s.next=5;break}return s.next=3,this.exitFullscreen();case 3:s.next=7;break;case 5:return s.next=7,this.requestFullscreen();case 7:this.update();case 8:case"end":return s.stop()}},i,this)}));function o(){return n.apply(this,arguments)}return o}(),e.requestFullscreen=function(){var n=Q(regeneratorRuntime.mark(function i(){var r;return regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if(r=this.getContainer(),!(r!=null&&r.requestFullscreen)){a.next=6;break}return a.next=4,r.requestFullscreen({navigationUI:"hide"});case 4:a.next=7;break;case 6:this.togglePseudoFullscreen();case 7:case"end":return a.stop()}},i,this)}));function o(){return n.apply(this,arguments)}return o}(),e.exitFullscreen=function(){var n=Q(regeneratorRuntime.mark(function i(){return regeneratorRuntime.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:if(!document.exitFullscreen){s.next=5;break}return s.next=3,document.exitFullscreen();case 3:s.next=6;break;case 5:this.togglePseudoFullscreen();case 6:case"end":return s.stop()}},i,this)}));function o(){return n.apply(this,arguments)}return o}(),e.togglePseudoFullscreen=function(){var o;(o=this.getContainer())===null||o===void 0||o.classList.toggle("deck-pseudo-fullscreen")},t}();var He={"--button-background":"#fff","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)"},je={"--button-background":"rgba(18, 18, 20, 1)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"unset","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25)","--button-backdrop-filter":"unset","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)"},qe={"--button-background":"rgba(255, 255, 255, 0.6)","--button-stroke":"rgba(255, 255, 255, 0.3)","--button-inner-stroke":"1px solid rgba(255, 255, 255, 0.6)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(97, 97, 102, 1)","--button-icon-hover":"rgba(24, 24, 26, 1)"},Be={"--button-background":"rgba(18, 18, 20, 0.75)","--button-stroke":"rgba(18, 18, 20, 0.30)","--button-inner-stroke":"1px solid rgba(18, 18, 20, 0.75)","--button-shadow":"0px 0px 8px 0px rgba(0, 0, 0, 0.25), 0px 0px 8px 0px rgba(0, 0, 0, 0.1) inset","--button-backdrop-filter":"blur(4px)","--button-icon-idle":"rgba(158, 157, 168, 1)","--button-icon-hover":"rgba(215, 214, 229, 1)"};return Ee(R);})();
9
9
  return __exports__;
10
10
  });
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/widgets",
3
3
  "description": "UI widgets for deck.gl",
4
4
  "license": "MIT",
5
- "version": "8.10.0-alpha.4",
5
+ "version": "8.10.0-alpha.5",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -36,5 +36,5 @@
36
36
  "peerDependencies": {
37
37
  "@deck.gl/core": "^8.0.0"
38
38
  },
39
- "gitHead": "8195f543d7673ab0d6755f316c4ad516cff4f049"
39
+ "gitHead": "7fce975a84ff492e83bcd2206bedd9ccd4264f50"
40
40
  }