@decidables/decidables-elements 0.3.2 → 0.3.4

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.
@@ -3,789 +3,915 @@
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
5
  */
6
- const t$1 = window.ShadowRoot && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype,
7
- e$2 = Symbol(),
8
- n$3 = new Map();
9
-
10
- class s$3 {
11
- constructor(t, n) {
12
- if (this._$cssResult$ = !0, n !== e$2) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
13
- this.cssText = t;
6
+ const t$2 = window,
7
+ e$4 = t$2.ShadowRoot && (void 0 === t$2.ShadyCSS || t$2.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype,
8
+ s$5 = Symbol(),
9
+ n$5 = new WeakMap();
10
+ let o$5 = class o {
11
+ constructor(t, e, n) {
12
+ if (this._$cssResult$ = !0, n !== s$5) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
13
+ this.cssText = t, this.t = e;
14
14
  }
15
-
16
15
  get styleSheet() {
17
- let e = n$3.get(this.cssText);
18
- return t$1 && void 0 === e && (n$3.set(this.cssText, e = new CSSStyleSheet()), e.replaceSync(this.cssText)), e;
16
+ let t = this.o;
17
+ const s = this.t;
18
+ if (e$4 && void 0 === t) {
19
+ const e = void 0 !== s && 1 === s.length;
20
+ e && (t = n$5.get(s)), void 0 === t && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), e && n$5.set(s, t));
21
+ }
22
+ return t;
19
23
  }
20
-
21
24
  toString() {
22
25
  return this.cssText;
23
26
  }
24
-
25
- }
26
-
27
- const o$3 = t => new s$3("string" == typeof t ? t : t + "", e$2),
28
- r$2 = (t, ...n) => {
29
- const o = 1 === t.length ? t[0] : n.reduce((e, n, s) => e + (t => {
30
- if (!0 === t._$cssResult$) return t.cssText;
31
- if ("number" == typeof t) return t;
32
- throw Error("Value passed to 'css' function must be a 'css' function result: " + t + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
33
- })(n) + t[s + 1], t[0]);
34
- return new s$3(o, e$2);
35
- },
36
- i$1 = (e, n) => {
37
- t$1 ? e.adoptedStyleSheets = n.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet) : n.forEach(t => {
38
- const n = document.createElement("style"),
39
- s = window.litNonce;
40
- void 0 !== s && n.setAttribute("nonce", s), n.textContent = t.cssText, e.appendChild(n);
41
- });
42
- },
43
- S$1 = t$1 ? t => t : t => t instanceof CSSStyleSheet ? (t => {
44
- let e = "";
45
-
46
- for (const n of t.cssRules) e += n.cssText;
47
-
48
- return o$3(e);
49
- })(t) : t;
27
+ };
28
+ const r$4 = t => new o$5("string" == typeof t ? t : t + "", void 0, s$5),
29
+ S$2 = (s, n) => {
30
+ e$4 ? s.adoptedStyleSheets = n.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet) : n.forEach(e => {
31
+ const n = document.createElement("style"),
32
+ o = t$2.litNonce;
33
+ void 0 !== o && n.setAttribute("nonce", o), n.textContent = e.cssText, s.appendChild(n);
34
+ });
35
+ },
36
+ c$1 = e$4 ? t => t : t => t instanceof CSSStyleSheet ? (t => {
37
+ let e = "";
38
+ for (const s of t.cssRules) e += s.cssText;
39
+ return r$4(e);
40
+ })(t) : t;
50
41
 
51
42
  /**
52
43
  * @license
53
44
  * Copyright 2017 Google LLC
54
45
  * SPDX-License-Identifier: BSD-3-Clause
55
46
  */
56
-
57
- var s$2;
58
-
59
- const e$1 = window.trustedTypes,
60
- r$1 = e$1 ? e$1.emptyScript : "",
61
- h$1 = window.reactiveElementPolyfillSupport,
62
- o$2 = {
63
- toAttribute(t, i) {
64
- switch (i) {
65
- case Boolean:
66
- t = t ? r$1 : null;
67
- break;
68
-
69
- case Object:
70
- case Array:
71
- t = null == t ? t : JSON.stringify(t);
47
+ var s$4;
48
+ const e$3 = window,
49
+ r$3 = e$3.trustedTypes,
50
+ h$2 = r$3 ? r$3.emptyScript : "",
51
+ o$4 = e$3.reactiveElementPolyfillSupport,
52
+ n$4 = {
53
+ toAttribute(t, i) {
54
+ switch (i) {
55
+ case Boolean:
56
+ t = t ? h$2 : null;
57
+ break;
58
+ case Object:
59
+ case Array:
60
+ t = null == t ? t : JSON.stringify(t);
61
+ }
62
+ return t;
63
+ },
64
+ fromAttribute(t, i) {
65
+ let s = t;
66
+ switch (i) {
67
+ case Boolean:
68
+ s = null !== t;
69
+ break;
70
+ case Number:
71
+ s = null === t ? null : Number(t);
72
+ break;
73
+ case Object:
74
+ case Array:
75
+ try {
76
+ s = JSON.parse(t);
77
+ } catch (t) {
78
+ s = null;
79
+ }
80
+ }
81
+ return s;
72
82
  }
73
-
74
- return t;
75
83
  },
76
-
77
- fromAttribute(t, i) {
78
- let s = t;
79
-
80
- switch (i) {
81
- case Boolean:
82
- s = null !== t;
83
- break;
84
-
85
- case Number:
86
- s = null === t ? null : Number(t);
87
- break;
88
-
89
- case Object:
90
- case Array:
91
- try {
92
- s = JSON.parse(t);
93
- } catch (t) {
94
- s = null;
95
- }
96
-
97
- }
98
-
99
- return s;
100
- }
101
-
102
- },
103
- n$2 = (t, i) => i !== t && (i == i || t == t),
104
- l$3 = {
105
- attribute: !0,
106
- type: String,
107
- converter: o$2,
108
- reflect: !1,
109
- hasChanged: n$2
110
- };
111
-
112
- class a$1 extends HTMLElement {
84
+ a$2 = (t, i) => i !== t && (i == i || t == t),
85
+ l$4 = {
86
+ attribute: !0,
87
+ type: String,
88
+ converter: n$4,
89
+ reflect: !1,
90
+ hasChanged: a$2
91
+ };
92
+ let d$1 = class d extends HTMLElement {
113
93
  constructor() {
114
- super(), this._$Et = new Map(), this.isUpdatePending = !1, this.hasUpdated = !1, this._$Ei = null, this.o();
94
+ super(), this._$Ei = new Map(), this.isUpdatePending = !1, this.hasUpdated = !1, this._$El = null, this.u();
115
95
  }
116
-
117
96
  static addInitializer(t) {
118
97
  var i;
119
- null !== (i = this.l) && void 0 !== i || (this.l = []), this.l.push(t);
98
+ this.finalize(), (null !== (i = this.h) && void 0 !== i ? i : this.h = []).push(t);
120
99
  }
121
-
122
100
  static get observedAttributes() {
123
101
  this.finalize();
124
102
  const t = [];
125
103
  return this.elementProperties.forEach((i, s) => {
126
- const e = this._$Eh(s, i);
127
-
128
- void 0 !== e && (this._$Eu.set(e, s), t.push(e));
104
+ const e = this._$Ep(s, i);
105
+ void 0 !== e && (this._$Ev.set(e, s), t.push(e));
129
106
  }), t;
130
107
  }
131
-
132
- static createProperty(t, i = l$3) {
108
+ static createProperty(t, i = l$4) {
133
109
  if (i.state && (i.attribute = !1), this.finalize(), this.elementProperties.set(t, i), !i.noAccessor && !this.prototype.hasOwnProperty(t)) {
134
110
  const s = "symbol" == typeof t ? Symbol() : "__" + t,
135
- e = this.getPropertyDescriptor(t, s, i);
111
+ e = this.getPropertyDescriptor(t, s, i);
136
112
  void 0 !== e && Object.defineProperty(this.prototype, t, e);
137
113
  }
138
114
  }
139
-
140
115
  static getPropertyDescriptor(t, i, s) {
141
116
  return {
142
117
  get() {
143
118
  return this[i];
144
119
  },
145
-
146
120
  set(e) {
147
121
  const r = this[t];
148
122
  this[i] = e, this.requestUpdate(t, r, s);
149
123
  },
150
-
151
124
  configurable: !0,
152
125
  enumerable: !0
153
126
  };
154
127
  }
155
-
156
128
  static getPropertyOptions(t) {
157
- return this.elementProperties.get(t) || l$3;
129
+ return this.elementProperties.get(t) || l$4;
158
130
  }
159
-
160
131
  static finalize() {
161
132
  if (this.hasOwnProperty("finalized")) return !1;
162
133
  this.finalized = !0;
163
134
  const t = Object.getPrototypeOf(this);
164
-
165
- if (t.finalize(), this.elementProperties = new Map(t.elementProperties), this._$Eu = new Map(), this.hasOwnProperty("properties")) {
135
+ if (t.finalize(), void 0 !== t.h && (this.h = [...t.h]), this.elementProperties = new Map(t.elementProperties), this._$Ev = new Map(), this.hasOwnProperty("properties")) {
166
136
  const t = this.properties,
167
- i = [...Object.getOwnPropertyNames(t), ...Object.getOwnPropertySymbols(t)];
168
-
137
+ i = [...Object.getOwnPropertyNames(t), ...Object.getOwnPropertySymbols(t)];
169
138
  for (const s of i) this.createProperty(s, t[s]);
170
139
  }
171
-
172
140
  return this.elementStyles = this.finalizeStyles(this.styles), !0;
173
141
  }
174
-
175
142
  static finalizeStyles(i) {
176
143
  const s = [];
177
-
178
144
  if (Array.isArray(i)) {
179
145
  const e = new Set(i.flat(1 / 0).reverse());
180
-
181
- for (const i of e) s.unshift(S$1(i));
182
- } else void 0 !== i && s.push(S$1(i));
183
-
146
+ for (const i of e) s.unshift(c$1(i));
147
+ } else void 0 !== i && s.push(c$1(i));
184
148
  return s;
185
149
  }
186
-
187
- static _$Eh(t, i) {
150
+ static _$Ep(t, i) {
188
151
  const s = i.attribute;
189
152
  return !1 === s ? void 0 : "string" == typeof s ? s : "string" == typeof t ? t.toLowerCase() : void 0;
190
153
  }
191
-
192
- o() {
154
+ u() {
193
155
  var t;
194
- this._$Ep = new Promise(t => this.enableUpdating = t), this._$AL = new Map(), this._$Em(), this.requestUpdate(), null === (t = this.constructor.l) || void 0 === t || t.forEach(t => t(this));
156
+ this._$E_ = new Promise(t => this.enableUpdating = t), this._$AL = new Map(), this._$Eg(), this.requestUpdate(), null === (t = this.constructor.h) || void 0 === t || t.forEach(t => t(this));
195
157
  }
196
-
197
158
  addController(t) {
198
159
  var i, s;
199
- (null !== (i = this._$Eg) && void 0 !== i ? i : this._$Eg = []).push(t), void 0 !== this.renderRoot && this.isConnected && (null === (s = t.hostConnected) || void 0 === s || s.call(t));
160
+ (null !== (i = this._$ES) && void 0 !== i ? i : this._$ES = []).push(t), void 0 !== this.renderRoot && this.isConnected && (null === (s = t.hostConnected) || void 0 === s || s.call(t));
200
161
  }
201
-
202
162
  removeController(t) {
203
163
  var i;
204
- null === (i = this._$Eg) || void 0 === i || i.splice(this._$Eg.indexOf(t) >>> 0, 1);
164
+ null === (i = this._$ES) || void 0 === i || i.splice(this._$ES.indexOf(t) >>> 0, 1);
205
165
  }
206
-
207
- _$Em() {
166
+ _$Eg() {
208
167
  this.constructor.elementProperties.forEach((t, i) => {
209
- this.hasOwnProperty(i) && (this._$Et.set(i, this[i]), delete this[i]);
168
+ this.hasOwnProperty(i) && (this._$Ei.set(i, this[i]), delete this[i]);
210
169
  });
211
170
  }
212
-
213
171
  createRenderRoot() {
214
172
  var t;
215
173
  const s = null !== (t = this.shadowRoot) && void 0 !== t ? t : this.attachShadow(this.constructor.shadowRootOptions);
216
- return i$1(s, this.constructor.elementStyles), s;
174
+ return S$2(s, this.constructor.elementStyles), s;
217
175
  }
218
-
219
176
  connectedCallback() {
220
177
  var t;
221
- void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), null === (t = this._$Eg) || void 0 === t || t.forEach(t => {
178
+ void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), null === (t = this._$ES) || void 0 === t || t.forEach(t => {
222
179
  var i;
223
180
  return null === (i = t.hostConnected) || void 0 === i ? void 0 : i.call(t);
224
181
  });
225
182
  }
226
-
227
183
  enableUpdating(t) {}
228
-
229
184
  disconnectedCallback() {
230
185
  var t;
231
- null === (t = this._$Eg) || void 0 === t || t.forEach(t => {
186
+ null === (t = this._$ES) || void 0 === t || t.forEach(t => {
232
187
  var i;
233
188
  return null === (i = t.hostDisconnected) || void 0 === i ? void 0 : i.call(t);
234
189
  });
235
190
  }
236
-
237
191
  attributeChangedCallback(t, i, s) {
238
192
  this._$AK(t, s);
239
193
  }
240
-
241
- _$ES(t, i, s = l$3) {
242
- var e, r;
243
-
244
- const h = this.constructor._$Eh(t, s);
245
-
246
- if (void 0 !== h && !0 === s.reflect) {
247
- const n = (null !== (r = null === (e = s.converter) || void 0 === e ? void 0 : e.toAttribute) && void 0 !== r ? r : o$2.toAttribute)(i, s.type);
248
- this._$Ei = t, null == n ? this.removeAttribute(h) : this.setAttribute(h, n), this._$Ei = null;
194
+ _$EO(t, i, s = l$4) {
195
+ var e;
196
+ const r = this.constructor._$Ep(t, s);
197
+ if (void 0 !== r && !0 === s.reflect) {
198
+ const h = (void 0 !== (null === (e = s.converter) || void 0 === e ? void 0 : e.toAttribute) ? s.converter : n$4).toAttribute(i, s.type);
199
+ this._$El = t, null == h ? this.removeAttribute(r) : this.setAttribute(r, h), this._$El = null;
249
200
  }
250
201
  }
251
-
252
202
  _$AK(t, i) {
253
- var s, e, r;
254
-
255
- const h = this.constructor,
256
- n = h._$Eu.get(t);
257
-
258
- if (void 0 !== n && this._$Ei !== n) {
259
- const t = h.getPropertyOptions(n),
260
- l = t.converter,
261
- a = null !== (r = null !== (e = null === (s = l) || void 0 === s ? void 0 : s.fromAttribute) && void 0 !== e ? e : "function" == typeof l ? l : null) && void 0 !== r ? r : o$2.fromAttribute;
262
- this._$Ei = n, this[n] = a(i, t.type), this._$Ei = null;
203
+ var s;
204
+ const e = this.constructor,
205
+ r = e._$Ev.get(t);
206
+ if (void 0 !== r && this._$El !== r) {
207
+ const t = e.getPropertyOptions(r),
208
+ h = "function" == typeof t.converter ? {
209
+ fromAttribute: t.converter
210
+ } : void 0 !== (null === (s = t.converter) || void 0 === s ? void 0 : s.fromAttribute) ? t.converter : n$4;
211
+ this._$El = r, this[r] = h.fromAttribute(i, t.type), this._$El = null;
263
212
  }
264
213
  }
265
-
266
214
  requestUpdate(t, i, s) {
267
215
  let e = !0;
268
- void 0 !== t && (((s = s || this.constructor.getPropertyOptions(t)).hasChanged || n$2)(this[t], i) ? (this._$AL.has(t) || this._$AL.set(t, i), !0 === s.reflect && this._$Ei !== t && (void 0 === this._$EC && (this._$EC = new Map()), this._$EC.set(t, s))) : e = !1), !this.isUpdatePending && e && (this._$Ep = this._$E_());
216
+ void 0 !== t && (((s = s || this.constructor.getPropertyOptions(t)).hasChanged || a$2)(this[t], i) ? (this._$AL.has(t) || this._$AL.set(t, i), !0 === s.reflect && this._$El !== t && (void 0 === this._$EC && (this._$EC = new Map()), this._$EC.set(t, s))) : e = !1), !this.isUpdatePending && e && (this._$E_ = this._$Ej());
269
217
  }
270
-
271
- async _$E_() {
218
+ async _$Ej() {
272
219
  this.isUpdatePending = !0;
273
-
274
220
  try {
275
- await this._$Ep;
221
+ await this._$E_;
276
222
  } catch (t) {
277
223
  Promise.reject(t);
278
224
  }
279
-
280
225
  const t = this.scheduleUpdate();
281
226
  return null != t && (await t), !this.isUpdatePending;
282
227
  }
283
-
284
228
  scheduleUpdate() {
285
229
  return this.performUpdate();
286
230
  }
287
-
288
231
  performUpdate() {
289
232
  var t;
290
233
  if (!this.isUpdatePending) return;
291
- this.hasUpdated, this._$Et && (this._$Et.forEach((t, i) => this[i] = t), this._$Et = void 0);
234
+ this.hasUpdated, this._$Ei && (this._$Ei.forEach((t, i) => this[i] = t), this._$Ei = void 0);
292
235
  let i = !1;
293
236
  const s = this._$AL;
294
-
295
237
  try {
296
- i = this.shouldUpdate(s), i ? (this.willUpdate(s), null === (t = this._$Eg) || void 0 === t || t.forEach(t => {
238
+ i = this.shouldUpdate(s), i ? (this.willUpdate(s), null === (t = this._$ES) || void 0 === t || t.forEach(t => {
297
239
  var i;
298
240
  return null === (i = t.hostUpdate) || void 0 === i ? void 0 : i.call(t);
299
- }), this.update(s)) : this._$EU();
241
+ }), this.update(s)) : this._$Ek();
300
242
  } catch (t) {
301
- throw i = !1, this._$EU(), t;
243
+ throw i = !1, this._$Ek(), t;
302
244
  }
303
-
304
245
  i && this._$AE(s);
305
246
  }
306
-
307
247
  willUpdate(t) {}
308
-
309
248
  _$AE(t) {
310
249
  var i;
311
- null === (i = this._$Eg) || void 0 === i || i.forEach(t => {
250
+ null === (i = this._$ES) || void 0 === i || i.forEach(t => {
312
251
  var i;
313
252
  return null === (i = t.hostUpdated) || void 0 === i ? void 0 : i.call(t);
314
253
  }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
315
254
  }
316
-
317
- _$EU() {
255
+ _$Ek() {
318
256
  this._$AL = new Map(), this.isUpdatePending = !1;
319
257
  }
320
-
321
258
  get updateComplete() {
322
259
  return this.getUpdateComplete();
323
260
  }
324
-
325
261
  getUpdateComplete() {
326
- return this._$Ep;
262
+ return this._$E_;
327
263
  }
328
-
329
264
  shouldUpdate(t) {
330
265
  return !0;
331
266
  }
332
-
333
267
  update(t) {
334
- void 0 !== this._$EC && (this._$EC.forEach((t, i) => this._$ES(i, this[i], t)), this._$EC = void 0), this._$EU();
268
+ void 0 !== this._$EC && (this._$EC.forEach((t, i) => this._$EO(i, this[i], t)), this._$EC = void 0), this._$Ek();
335
269
  }
336
-
337
270
  updated(t) {}
338
-
339
271
  firstUpdated(t) {}
340
-
341
- }
342
-
343
- a$1.finalized = !0, a$1.elementProperties = new Map(), a$1.elementStyles = [], a$1.shadowRootOptions = {
272
+ };
273
+ d$1.finalized = !0, d$1.elementProperties = new Map(), d$1.elementStyles = [], d$1.shadowRootOptions = {
344
274
  mode: "open"
345
- }, null == h$1 || h$1({
346
- ReactiveElement: a$1
347
- }), (null !== (s$2 = globalThis.reactiveElementVersions) && void 0 !== s$2 ? s$2 : globalThis.reactiveElementVersions = []).push("1.3.1");
275
+ }, null == o$4 || o$4({
276
+ ReactiveElement: d$1
277
+ }), (null !== (s$4 = e$3.reactiveElementVersions) && void 0 !== s$4 ? s$4 : e$3.reactiveElementVersions = []).push("1.6.1");
348
278
 
349
279
  /**
350
280
  * @license
351
281
  * Copyright 2017 Google LLC
352
282
  * SPDX-License-Identifier: BSD-3-Clause
353
283
  */
354
- var t;
355
-
356
- const i = globalThis.trustedTypes,
357
- s$1 = i ? i.createPolicy("lit-html", {
358
- createHTML: t => t
359
- }) : void 0,
360
- e = `lit$${(Math.random() + "").slice(9)}$`,
361
- o$1 = "?" + e,
362
- n$1 = `<${o$1}>`,
363
- l$2 = document,
364
- h = (t = "") => l$2.createComment(t),
365
- r = t => null === t || "object" != typeof t && "function" != typeof t,
366
- d = Array.isArray,
367
- u = t => {
368
- var i;
369
- return d(t) || "function" == typeof (null === (i = t) || void 0 === i ? void 0 : i[Symbol.iterator]);
370
- },
371
- c = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,
372
- v = /-->/g,
373
- a = />/g,
374
- f = />|[ \n \r](?:([^\s"'>=/]+)([ \n \r]*=[ \n \r]*(?:[^ \n \r"'`<>=]|("|')|))|$)/g,
375
- _$7 = /'/g,
376
- m = /"/g,
377
- g = /^(?:script|style|textarea|title)$/i,
378
- p = t => (i, ...s) => ({
379
- _$litType$: t,
380
- strings: i,
381
- values: s
382
- }),
383
- $ = p(1),
384
- y = p(2),
385
- b = Symbol.for("lit-noChange"),
386
- w = Symbol.for("lit-nothing"),
387
- T = new WeakMap(),
388
- x = (t, i, s) => {
389
- var e, o;
390
- const n = null !== (e = null == s ? void 0 : s.renderBefore) && void 0 !== e ? e : i;
391
- let l = n._$litPart$;
392
-
393
- if (void 0 === l) {
394
- const t = null !== (o = null == s ? void 0 : s.renderBefore) && void 0 !== o ? o : null;
395
- n._$litPart$ = l = new N(i.insertBefore(h(), t), t, void 0, null != s ? s : {});
396
- }
397
-
398
- return l._$AI(t), l;
399
- },
400
- A = l$2.createTreeWalker(l$2, 129, null, !1),
401
- C = (t, i) => {
402
- const o = t.length - 1,
403
- l = [];
404
- let h,
405
- r = 2 === i ? "<svg>" : "",
406
- d = c;
407
-
408
- for (let i = 0; i < o; i++) {
409
- const s = t[i];
410
- let o,
411
- u,
412
- p = -1,
413
- $ = 0;
414
-
415
- for (; $ < s.length && (d.lastIndex = $, u = d.exec(s), null !== u);) $ = d.lastIndex, d === c ? "!--" === u[1] ? d = v : void 0 !== u[1] ? d = a : void 0 !== u[2] ? (g.test(u[2]) && (h = RegExp("</" + u[2], "g")), d = f) : void 0 !== u[3] && (d = f) : d === f ? ">" === u[0] ? (d = null != h ? h : c, p = -1) : void 0 === u[1] ? p = -2 : (p = d.lastIndex - u[2].length, o = u[1], d = void 0 === u[3] ? f : '"' === u[3] ? m : _$7) : d === m || d === _$7 ? d = f : d === v || d === a ? d = c : (d = f, h = void 0);
416
-
417
- const y = d === f && t[i + 1].startsWith("/>") ? " " : "";
418
- r += d === c ? s + n$1 : p >= 0 ? (l.push(o), s.slice(0, p) + "$lit$" + s.slice(p) + e + y) : s + e + (-2 === p ? (l.push(void 0), i) : y);
419
- }
420
-
421
- const u = r + (t[o] || "<?>") + (2 === i ? "</svg>" : "");
422
- if (!Array.isArray(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array");
423
- return [void 0 !== s$1 ? s$1.createHTML(u) : u, l];
424
- };
425
-
426
- class E {
284
+ var t$1;
285
+ const i$1 = window,
286
+ s$3 = i$1.trustedTypes,
287
+ e$2 = s$3 ? s$3.createPolicy("lit-html", {
288
+ createHTML: t => t
289
+ }) : void 0,
290
+ o$3 = "$lit$",
291
+ n$3 = `lit$${(Math.random() + "").slice(9)}$`,
292
+ l$3 = "?" + n$3,
293
+ h$1 = `<${l$3}>`,
294
+ r$2 = document,
295
+ d = () => r$2.createComment(""),
296
+ u = t => null === t || "object" != typeof t && "function" != typeof t,
297
+ c = Array.isArray,
298
+ v = t => c(t) || "function" == typeof (null == t ? void 0 : t[Symbol.iterator]),
299
+ a$1 = "[ \t\n\f\r]",
300
+ f = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,
301
+ _ = /-->/g,
302
+ m = />/g,
303
+ p = RegExp(`>|${a$1}(?:([^\\s"'>=/]+)(${a$1}*=${a$1}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`, "g"),
304
+ g = /'/g,
305
+ $ = /"/g,
306
+ y = /^(?:script|style|textarea|title)$/i,
307
+ w = t => (i, ...s) => ({
308
+ _$litType$: t,
309
+ strings: i,
310
+ values: s
311
+ }),
312
+ x = w(1),
313
+ b = w(2),
314
+ T = Symbol.for("lit-noChange"),
315
+ A = Symbol.for("lit-nothing"),
316
+ E = new WeakMap(),
317
+ C = r$2.createTreeWalker(r$2, 129, null, !1),
318
+ P = (t, i) => {
319
+ const s = t.length - 1,
320
+ l = [];
321
+ let r,
322
+ d = 2 === i ? "<svg>" : "",
323
+ u = f;
324
+ for (let i = 0; i < s; i++) {
325
+ const s = t[i];
326
+ let e,
327
+ c,
328
+ v = -1,
329
+ a = 0;
330
+ for (; a < s.length && (u.lastIndex = a, c = u.exec(s), null !== c);) a = u.lastIndex, u === f ? "!--" === c[1] ? u = _ : void 0 !== c[1] ? u = m : void 0 !== c[2] ? (y.test(c[2]) && (r = RegExp("</" + c[2], "g")), u = p) : void 0 !== c[3] && (u = p) : u === p ? ">" === c[0] ? (u = null != r ? r : f, v = -1) : void 0 === c[1] ? v = -2 : (v = u.lastIndex - c[2].length, e = c[1], u = void 0 === c[3] ? p : '"' === c[3] ? $ : g) : u === $ || u === g ? u = p : u === _ || u === m ? u = f : (u = p, r = void 0);
331
+ const w = u === p && t[i + 1].startsWith("/>") ? " " : "";
332
+ d += u === f ? s + h$1 : v >= 0 ? (l.push(e), s.slice(0, v) + o$3 + s.slice(v) + n$3 + w) : s + n$3 + (-2 === v ? (l.push(void 0), i) : w);
333
+ }
334
+ const c = d + (t[s] || "<?>") + (2 === i ? "</svg>" : "");
335
+ if (!Array.isArray(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array");
336
+ return [void 0 !== e$2 ? e$2.createHTML(c) : c, l];
337
+ };
338
+ class V {
427
339
  constructor({
428
340
  strings: t,
429
- _$litType$: s
430
- }, n) {
431
- let l;
341
+ _$litType$: i
342
+ }, e) {
343
+ let h;
432
344
  this.parts = [];
433
345
  let r = 0,
434
- d = 0;
435
- const u = t.length - 1,
436
- c = this.parts,
437
- [v, a] = C(t, s);
438
-
439
- if (this.el = E.createElement(v, n), A.currentNode = this.el.content, 2 === s) {
346
+ u = 0;
347
+ const c = t.length - 1,
348
+ v = this.parts,
349
+ [a, f] = P(t, i);
350
+ if (this.el = V.createElement(a, e), C.currentNode = this.el.content, 2 === i) {
440
351
  const t = this.el.content,
441
- i = t.firstChild;
352
+ i = t.firstChild;
442
353
  i.remove(), t.append(...i.childNodes);
443
354
  }
444
-
445
- for (; null !== (l = A.nextNode()) && c.length < u;) {
446
- if (1 === l.nodeType) {
447
- if (l.hasAttributes()) {
355
+ for (; null !== (h = C.nextNode()) && v.length < c;) {
356
+ if (1 === h.nodeType) {
357
+ if (h.hasAttributes()) {
448
358
  const t = [];
449
-
450
- for (const i of l.getAttributeNames()) if (i.endsWith("$lit$") || i.startsWith(e)) {
451
- const s = a[d++];
452
-
359
+ for (const i of h.getAttributeNames()) if (i.endsWith(o$3) || i.startsWith(n$3)) {
360
+ const s = f[u++];
453
361
  if (t.push(i), void 0 !== s) {
454
- const t = l.getAttribute(s.toLowerCase() + "$lit$").split(e),
455
- i = /([.?@])?(.*)/.exec(s);
456
- c.push({
362
+ const t = h.getAttribute(s.toLowerCase() + o$3).split(n$3),
363
+ i = /([.?@])?(.*)/.exec(s);
364
+ v.push({
457
365
  type: 1,
458
366
  index: r,
459
367
  name: i[2],
460
368
  strings: t,
461
- ctor: "." === i[1] ? M : "?" === i[1] ? H : "@" === i[1] ? I : S
369
+ ctor: "." === i[1] ? k : "?" === i[1] ? I : "@" === i[1] ? L : R
462
370
  });
463
- } else c.push({
371
+ } else v.push({
464
372
  type: 6,
465
373
  index: r
466
374
  });
467
375
  }
468
-
469
- for (const i of t) l.removeAttribute(i);
376
+ for (const i of t) h.removeAttribute(i);
470
377
  }
471
-
472
- if (g.test(l.tagName)) {
473
- const t = l.textContent.split(e),
474
- s = t.length - 1;
475
-
476
- if (s > 0) {
477
- l.textContent = i ? i.emptyScript : "";
478
-
479
- for (let i = 0; i < s; i++) l.append(t[i], h()), A.nextNode(), c.push({
378
+ if (y.test(h.tagName)) {
379
+ const t = h.textContent.split(n$3),
380
+ i = t.length - 1;
381
+ if (i > 0) {
382
+ h.textContent = s$3 ? s$3.emptyScript : "";
383
+ for (let s = 0; s < i; s++) h.append(t[s], d()), C.nextNode(), v.push({
480
384
  type: 2,
481
385
  index: ++r
482
386
  });
483
-
484
- l.append(t[s], h());
387
+ h.append(t[i], d());
485
388
  }
486
389
  }
487
- } else if (8 === l.nodeType) if (l.data === o$1) c.push({
390
+ } else if (8 === h.nodeType) if (h.data === l$3) v.push({
488
391
  type: 2,
489
392
  index: r
490
393
  });else {
491
394
  let t = -1;
492
-
493
- for (; -1 !== (t = l.data.indexOf(e, t + 1));) c.push({
395
+ for (; -1 !== (t = h.data.indexOf(n$3, t + 1));) v.push({
494
396
  type: 7,
495
397
  index: r
496
- }), t += e.length - 1;
398
+ }), t += n$3.length - 1;
497
399
  }
498
-
499
400
  r++;
500
401
  }
501
402
  }
502
-
503
403
  static createElement(t, i) {
504
- const s = l$2.createElement("template");
404
+ const s = r$2.createElement("template");
505
405
  return s.innerHTML = t, s;
506
406
  }
507
-
508
407
  }
509
-
510
- function P(t, i, s = t, e) {
408
+ function N(t, i, s = t, e) {
511
409
  var o, n, l, h;
512
- if (i === b) return i;
513
- let d = void 0 !== e ? null === (o = s._$Cl) || void 0 === o ? void 0 : o[e] : s._$Cu;
514
- const u = r(i) ? void 0 : i._$litDirective$;
515
- return (null == d ? void 0 : d.constructor) !== u && (null === (n = null == d ? void 0 : d._$AO) || void 0 === n || n.call(d, !1), void 0 === u ? d = void 0 : (d = new u(t), d._$AT(t, s, e)), void 0 !== e ? (null !== (l = (h = s)._$Cl) && void 0 !== l ? l : h._$Cl = [])[e] = d : s._$Cu = d), void 0 !== d && (i = P(t, d._$AS(t, i.values), d, e)), i;
410
+ if (i === T) return i;
411
+ let r = void 0 !== e ? null === (o = s._$Co) || void 0 === o ? void 0 : o[e] : s._$Cl;
412
+ const d = u(i) ? void 0 : i._$litDirective$;
413
+ return (null == r ? void 0 : r.constructor) !== d && (null === (n = null == r ? void 0 : r._$AO) || void 0 === n || n.call(r, !1), void 0 === d ? r = void 0 : (r = new d(t), r._$AT(t, s, e)), void 0 !== e ? (null !== (l = (h = s)._$Co) && void 0 !== l ? l : h._$Co = [])[e] = r : s._$Cl = r), void 0 !== r && (i = N(t, r._$AS(t, i.values), r, e)), i;
516
414
  }
517
-
518
- class V {
415
+ let S$1 = class S {
519
416
  constructor(t, i) {
520
- this.v = [], this._$AN = void 0, this._$AD = t, this._$AM = i;
417
+ this.u = [], this._$AN = void 0, this._$AD = t, this._$AM = i;
521
418
  }
522
-
523
419
  get parentNode() {
524
420
  return this._$AM.parentNode;
525
421
  }
526
-
527
422
  get _$AU() {
528
423
  return this._$AM._$AU;
529
424
  }
530
-
531
- p(t) {
425
+ v(t) {
532
426
  var i;
533
427
  const {
534
- el: {
535
- content: s
536
- },
537
- parts: e
538
- } = this._$AD,
539
- o = (null !== (i = null == t ? void 0 : t.creationScope) && void 0 !== i ? i : l$2).importNode(s, !0);
540
- A.currentNode = o;
541
- let n = A.nextNode(),
542
- h = 0,
543
- r = 0,
544
- d = e[0];
545
-
428
+ el: {
429
+ content: s
430
+ },
431
+ parts: e
432
+ } = this._$AD,
433
+ o = (null !== (i = null == t ? void 0 : t.creationScope) && void 0 !== i ? i : r$2).importNode(s, !0);
434
+ C.currentNode = o;
435
+ let n = C.nextNode(),
436
+ l = 0,
437
+ h = 0,
438
+ d = e[0];
546
439
  for (; void 0 !== d;) {
547
- if (h === d.index) {
440
+ if (l === d.index) {
548
441
  let i;
549
- 2 === d.type ? i = new N(n, n.nextSibling, this, t) : 1 === d.type ? i = new d.ctor(n, d.name, d.strings, this, t) : 6 === d.type && (i = new L(n, this, t)), this.v.push(i), d = e[++r];
442
+ 2 === d.type ? i = new M(n, n.nextSibling, this, t) : 1 === d.type ? i = new d.ctor(n, d.name, d.strings, this, t) : 6 === d.type && (i = new z(n, this, t)), this.u.push(i), d = e[++h];
550
443
  }
551
-
552
- h !== (null == d ? void 0 : d.index) && (n = A.nextNode(), h++);
444
+ l !== (null == d ? void 0 : d.index) && (n = C.nextNode(), l++);
553
445
  }
554
-
555
446
  return o;
556
447
  }
557
-
558
- m(t) {
448
+ p(t) {
559
449
  let i = 0;
560
-
561
- for (const s of this.v) void 0 !== s && (void 0 !== s.strings ? (s._$AI(t, s, i), i += s.strings.length - 2) : s._$AI(t[i])), i++;
450
+ for (const s of this.u) void 0 !== s && (void 0 !== s.strings ? (s._$AI(t, s, i), i += s.strings.length - 2) : s._$AI(t[i])), i++;
562
451
  }
563
-
564
- }
565
-
566
- class N {
452
+ };
453
+ class M {
567
454
  constructor(t, i, s, e) {
568
455
  var o;
569
- this.type = 2, this._$AH = w, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this._$Cg = null === (o = null == e ? void 0 : e.isConnected) || void 0 === o || o;
456
+ this.type = 2, this._$AH = A, this._$AN = void 0, this._$AA = t, this._$AB = i, this._$AM = s, this.options = e, this._$Cm = null === (o = null == e ? void 0 : e.isConnected) || void 0 === o || o;
570
457
  }
571
-
572
458
  get _$AU() {
573
459
  var t, i;
574
- return null !== (i = null === (t = this._$AM) || void 0 === t ? void 0 : t._$AU) && void 0 !== i ? i : this._$Cg;
460
+ return null !== (i = null === (t = this._$AM) || void 0 === t ? void 0 : t._$AU) && void 0 !== i ? i : this._$Cm;
575
461
  }
576
-
577
462
  get parentNode() {
578
463
  let t = this._$AA.parentNode;
579
464
  const i = this._$AM;
580
- return void 0 !== i && 11 === t.nodeType && (t = i.parentNode), t;
465
+ return void 0 !== i && 11 === (null == t ? void 0 : t.nodeType) && (t = i.parentNode), t;
581
466
  }
582
-
583
467
  get startNode() {
584
468
  return this._$AA;
585
469
  }
586
-
587
470
  get endNode() {
588
471
  return this._$AB;
589
472
  }
590
-
591
473
  _$AI(t, i = this) {
592
- t = P(this, t, i), r(t) ? t === w || null == t || "" === t ? (this._$AH !== w && this._$AR(), this._$AH = w) : t !== this._$AH && t !== b && this.$(t) : void 0 !== t._$litType$ ? this.T(t) : void 0 !== t.nodeType ? this.k(t) : u(t) ? this.S(t) : this.$(t);
474
+ t = N(this, t, i), u(t) ? t === A || null == t || "" === t ? (this._$AH !== A && this._$AR(), this._$AH = A) : t !== this._$AH && t !== T && this.g(t) : void 0 !== t._$litType$ ? this.$(t) : void 0 !== t.nodeType ? this.T(t) : v(t) ? this.k(t) : this.g(t);
593
475
  }
594
-
595
- A(t, i = this._$AB) {
596
- return this._$AA.parentNode.insertBefore(t, i);
476
+ S(t) {
477
+ return this._$AA.parentNode.insertBefore(t, this._$AB);
597
478
  }
598
-
599
- k(t) {
600
- this._$AH !== t && (this._$AR(), this._$AH = this.A(t));
479
+ T(t) {
480
+ this._$AH !== t && (this._$AR(), this._$AH = this.S(t));
601
481
  }
602
-
603
- $(t) {
604
- this._$AH !== w && r(this._$AH) ? this._$AA.nextSibling.data = t : this.k(l$2.createTextNode(t)), this._$AH = t;
482
+ g(t) {
483
+ this._$AH !== A && u(this._$AH) ? this._$AA.nextSibling.data = t : this.T(r$2.createTextNode(t)), this._$AH = t;
605
484
  }
606
-
607
- T(t) {
485
+ $(t) {
608
486
  var i;
609
487
  const {
610
- values: s,
611
- _$litType$: e
612
- } = t,
613
- o = "number" == typeof e ? this._$AC(t) : (void 0 === e.el && (e.el = E.createElement(e.h, this.options)), e);
614
- if ((null === (i = this._$AH) || void 0 === i ? void 0 : i._$AD) === o) this._$AH.m(s);else {
615
- const t = new V(o, this),
616
- i = t.p(this.options);
617
- t.m(s), this.k(i), this._$AH = t;
488
+ values: s,
489
+ _$litType$: e
490
+ } = t,
491
+ o = "number" == typeof e ? this._$AC(t) : (void 0 === e.el && (e.el = V.createElement(e.h, this.options)), e);
492
+ if ((null === (i = this._$AH) || void 0 === i ? void 0 : i._$AD) === o) this._$AH.p(s);else {
493
+ const t = new S$1(o, this),
494
+ i = t.v(this.options);
495
+ t.p(s), this.T(i), this._$AH = t;
618
496
  }
619
497
  }
620
-
621
498
  _$AC(t) {
622
- let i = T.get(t.strings);
623
- return void 0 === i && T.set(t.strings, i = new E(t)), i;
499
+ let i = E.get(t.strings);
500
+ return void 0 === i && E.set(t.strings, i = new V(t)), i;
624
501
  }
625
-
626
- S(t) {
627
- d(this._$AH) || (this._$AH = [], this._$AR());
502
+ k(t) {
503
+ c(this._$AH) || (this._$AH = [], this._$AR());
628
504
  const i = this._$AH;
629
505
  let s,
630
- e = 0;
631
-
632
- for (const o of t) e === i.length ? i.push(s = new N(this.A(h()), this.A(h()), this, this.options)) : s = i[e], s._$AI(o), e++;
633
-
506
+ e = 0;
507
+ for (const o of t) e === i.length ? i.push(s = new M(this.S(d()), this.S(d()), this, this.options)) : s = i[e], s._$AI(o), e++;
634
508
  e < i.length && (this._$AR(s && s._$AB.nextSibling, e), i.length = e);
635
509
  }
636
-
637
510
  _$AR(t = this._$AA.nextSibling, i) {
638
511
  var s;
639
-
640
512
  for (null === (s = this._$AP) || void 0 === s || s.call(this, !1, !0, i); t && t !== this._$AB;) {
641
513
  const i = t.nextSibling;
642
514
  t.remove(), t = i;
643
515
  }
644
516
  }
645
-
646
517
  setConnected(t) {
647
518
  var i;
648
- void 0 === this._$AM && (this._$Cg = t, null === (i = this._$AP) || void 0 === i || i.call(this, t));
519
+ void 0 === this._$AM && (this._$Cm = t, null === (i = this._$AP) || void 0 === i || i.call(this, t));
649
520
  }
650
-
651
521
  }
652
-
653
- class S {
522
+ class R {
654
523
  constructor(t, i, s, e, o) {
655
- this.type = 1, this._$AH = w, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = o, s.length > 2 || "" !== s[0] || "" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = w;
524
+ this.type = 1, this._$AH = A, this._$AN = void 0, this.element = t, this.name = i, this._$AM = e, this.options = o, s.length > 2 || "" !== s[0] || "" !== s[1] ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = A;
656
525
  }
657
-
658
526
  get tagName() {
659
527
  return this.element.tagName;
660
528
  }
661
-
662
529
  get _$AU() {
663
530
  return this._$AM._$AU;
664
531
  }
665
-
666
532
  _$AI(t, i = this, s, e) {
667
533
  const o = this.strings;
668
534
  let n = !1;
669
- if (void 0 === o) t = P(this, t, i, 0), n = !r(t) || t !== this._$AH && t !== b, n && (this._$AH = t);else {
535
+ if (void 0 === o) t = N(this, t, i, 0), n = !u(t) || t !== this._$AH && t !== T, n && (this._$AH = t);else {
670
536
  const e = t;
671
537
  let l, h;
538
+ for (t = o[0], l = 0; l < o.length - 1; l++) h = N(this, e[s + l], i, l), h === T && (h = this._$AH[l]), n || (n = !u(h) || h !== this._$AH[l]), h === A ? t = A : t !== A && (t += (null != h ? h : "") + o[l + 1]), this._$AH[l] = h;
539
+ }
540
+ n && !e && this.j(t);
541
+ }
542
+ j(t) {
543
+ t === A ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t ? t : "");
544
+ }
545
+ }
546
+ class k extends R {
547
+ constructor() {
548
+ super(...arguments), this.type = 3;
549
+ }
550
+ j(t) {
551
+ this.element[this.name] = t === A ? void 0 : t;
552
+ }
553
+ }
554
+ const H = s$3 ? s$3.emptyScript : "";
555
+ class I extends R {
556
+ constructor() {
557
+ super(...arguments), this.type = 4;
558
+ }
559
+ j(t) {
560
+ t && t !== A ? this.element.setAttribute(this.name, H) : this.element.removeAttribute(this.name);
561
+ }
562
+ }
563
+ class L extends R {
564
+ constructor(t, i, s, e, o) {
565
+ super(t, i, s, e, o), this.type = 5;
566
+ }
567
+ _$AI(t, i = this) {
568
+ var s;
569
+ if ((t = null !== (s = N(this, t, i, 0)) && void 0 !== s ? s : A) === T) return;
570
+ const e = this._$AH,
571
+ o = t === A && e !== A || t.capture !== e.capture || t.once !== e.once || t.passive !== e.passive,
572
+ n = t !== A && (e === A || o);
573
+ o && this.element.removeEventListener(this.name, this, e), n && this.element.addEventListener(this.name, this, t), this._$AH = t;
574
+ }
575
+ handleEvent(t) {
576
+ var i, s;
577
+ "function" == typeof this._$AH ? this._$AH.call(null !== (s = null === (i = this.options) || void 0 === i ? void 0 : i.host) && void 0 !== s ? s : this.element, t) : this._$AH.handleEvent(t);
578
+ }
579
+ }
580
+ class z {
581
+ constructor(t, i, s) {
582
+ this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;
583
+ }
584
+ get _$AU() {
585
+ return this._$AM._$AU;
586
+ }
587
+ _$AI(t) {
588
+ N(this, t);
589
+ }
590
+ }
591
+ const j = i$1.litHtmlPolyfillSupport;
592
+ null == j || j(V, M), (null !== (t$1 = i$1.litHtmlVersions) && void 0 !== t$1 ? t$1 : i$1.litHtmlVersions = []).push("2.7.0");
593
+ const B = (t, i, s) => {
594
+ var e, o;
595
+ const n = null !== (e = null == s ? void 0 : s.renderBefore) && void 0 !== e ? e : i;
596
+ let l = n._$litPart$;
597
+ if (void 0 === l) {
598
+ const t = null !== (o = null == s ? void 0 : s.renderBefore) && void 0 !== o ? o : null;
599
+ n._$litPart$ = l = new M(i.insertBefore(d(), t), t, void 0, null != s ? s : {});
600
+ }
601
+ return l._$AI(t), l;
602
+ };
603
+
604
+ /**
605
+ * @license
606
+ * Copyright 2019 Google LLC
607
+ * SPDX-License-Identifier: BSD-3-Clause
608
+ */
609
+ const t = window.ShadowRoot && (void 0 === window.ShadyCSS || window.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype,
610
+ e$1 = Symbol(),
611
+ n$2 = new Map();
612
+ let s$2 = class s {
613
+ constructor(t, n) {
614
+ if (this._$cssResult$ = !0, n !== e$1) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
615
+ this.cssText = t;
616
+ }
617
+ get styleSheet() {
618
+ let e = n$2.get(this.cssText);
619
+ return t && void 0 === e && (n$2.set(this.cssText, e = new CSSStyleSheet()), e.replaceSync(this.cssText)), e;
620
+ }
621
+ toString() {
622
+ return this.cssText;
623
+ }
624
+ };
625
+ const o$2 = t => new s$2("string" == typeof t ? t : t + "", e$1),
626
+ r$1 = (t, ...n) => {
627
+ const o = 1 === t.length ? t[0] : n.reduce((e, n, s) => e + (t => {
628
+ if (!0 === t._$cssResult$) return t.cssText;
629
+ if ("number" == typeof t) return t;
630
+ throw Error("Value passed to 'css' function must be a 'css' function result: " + t + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
631
+ })(n) + t[s + 1], t[0]);
632
+ return new s$2(o, e$1);
633
+ },
634
+ i = (e, n) => {
635
+ t ? e.adoptedStyleSheets = n.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet) : n.forEach(t => {
636
+ const n = document.createElement("style"),
637
+ s = window.litNonce;
638
+ void 0 !== s && n.setAttribute("nonce", s), n.textContent = t.cssText, e.appendChild(n);
639
+ });
640
+ },
641
+ S = t ? t => t : t => t instanceof CSSStyleSheet ? (t => {
642
+ let e = "";
643
+ for (const n of t.cssRules) e += n.cssText;
644
+ return o$2(e);
645
+ })(t) : t;
672
646
 
673
- for (t = o[0], l = 0; l < o.length - 1; l++) h = P(this, e[s + l], i, l), h === b && (h = this._$AH[l]), n || (n = !r(h) || h !== this._$AH[l]), h === w ? t = w : t !== w && (t += (null != h ? h : "") + o[l + 1]), this._$AH[l] = h;
647
+ /**
648
+ * @license
649
+ * Copyright 2017 Google LLC
650
+ * SPDX-License-Identifier: BSD-3-Clause
651
+ */
652
+ var s$1;
653
+ const e = window.trustedTypes,
654
+ r = e ? e.emptyScript : "",
655
+ h = window.reactiveElementPolyfillSupport,
656
+ o$1 = {
657
+ toAttribute(t, i) {
658
+ switch (i) {
659
+ case Boolean:
660
+ t = t ? r : null;
661
+ break;
662
+ case Object:
663
+ case Array:
664
+ t = null == t ? t : JSON.stringify(t);
665
+ }
666
+ return t;
667
+ },
668
+ fromAttribute(t, i) {
669
+ let s = t;
670
+ switch (i) {
671
+ case Boolean:
672
+ s = null !== t;
673
+ break;
674
+ case Number:
675
+ s = null === t ? null : Number(t);
676
+ break;
677
+ case Object:
678
+ case Array:
679
+ try {
680
+ s = JSON.parse(t);
681
+ } catch (t) {
682
+ s = null;
683
+ }
684
+ }
685
+ return s;
686
+ }
687
+ },
688
+ n$1 = (t, i) => i !== t && (i == i || t == t),
689
+ l$2 = {
690
+ attribute: !0,
691
+ type: String,
692
+ converter: o$1,
693
+ reflect: !1,
694
+ hasChanged: n$1
695
+ };
696
+ class a extends HTMLElement {
697
+ constructor() {
698
+ super(), this._$Et = new Map(), this.isUpdatePending = !1, this.hasUpdated = !1, this._$Ei = null, this.o();
699
+ }
700
+ static addInitializer(t) {
701
+ var i;
702
+ null !== (i = this.l) && void 0 !== i || (this.l = []), this.l.push(t);
703
+ }
704
+ static get observedAttributes() {
705
+ this.finalize();
706
+ const t = [];
707
+ return this.elementProperties.forEach((i, s) => {
708
+ const e = this._$Eh(s, i);
709
+ void 0 !== e && (this._$Eu.set(e, s), t.push(e));
710
+ }), t;
711
+ }
712
+ static createProperty(t, i = l$2) {
713
+ if (i.state && (i.attribute = !1), this.finalize(), this.elementProperties.set(t, i), !i.noAccessor && !this.prototype.hasOwnProperty(t)) {
714
+ const s = "symbol" == typeof t ? Symbol() : "__" + t,
715
+ e = this.getPropertyDescriptor(t, s, i);
716
+ void 0 !== e && Object.defineProperty(this.prototype, t, e);
717
+ }
718
+ }
719
+ static getPropertyDescriptor(t, i, s) {
720
+ return {
721
+ get() {
722
+ return this[i];
723
+ },
724
+ set(e) {
725
+ const r = this[t];
726
+ this[i] = e, this.requestUpdate(t, r, s);
727
+ },
728
+ configurable: !0,
729
+ enumerable: !0
730
+ };
731
+ }
732
+ static getPropertyOptions(t) {
733
+ return this.elementProperties.get(t) || l$2;
734
+ }
735
+ static finalize() {
736
+ if (this.hasOwnProperty("finalized")) return !1;
737
+ this.finalized = !0;
738
+ const t = Object.getPrototypeOf(this);
739
+ if (t.finalize(), this.elementProperties = new Map(t.elementProperties), this._$Eu = new Map(), this.hasOwnProperty("properties")) {
740
+ const t = this.properties,
741
+ i = [...Object.getOwnPropertyNames(t), ...Object.getOwnPropertySymbols(t)];
742
+ for (const s of i) this.createProperty(s, t[s]);
743
+ }
744
+ return this.elementStyles = this.finalizeStyles(this.styles), !0;
745
+ }
746
+ static finalizeStyles(i) {
747
+ const s = [];
748
+ if (Array.isArray(i)) {
749
+ const e = new Set(i.flat(1 / 0).reverse());
750
+ for (const i of e) s.unshift(S(i));
751
+ } else void 0 !== i && s.push(S(i));
752
+ return s;
753
+ }
754
+ static _$Eh(t, i) {
755
+ const s = i.attribute;
756
+ return !1 === s ? void 0 : "string" == typeof s ? s : "string" == typeof t ? t.toLowerCase() : void 0;
757
+ }
758
+ o() {
759
+ var t;
760
+ this._$Ep = new Promise(t => this.enableUpdating = t), this._$AL = new Map(), this._$Em(), this.requestUpdate(), null === (t = this.constructor.l) || void 0 === t || t.forEach(t => t(this));
761
+ }
762
+ addController(t) {
763
+ var i, s;
764
+ (null !== (i = this._$Eg) && void 0 !== i ? i : this._$Eg = []).push(t), void 0 !== this.renderRoot && this.isConnected && (null === (s = t.hostConnected) || void 0 === s || s.call(t));
765
+ }
766
+ removeController(t) {
767
+ var i;
768
+ null === (i = this._$Eg) || void 0 === i || i.splice(this._$Eg.indexOf(t) >>> 0, 1);
769
+ }
770
+ _$Em() {
771
+ this.constructor.elementProperties.forEach((t, i) => {
772
+ this.hasOwnProperty(i) && (this._$Et.set(i, this[i]), delete this[i]);
773
+ });
774
+ }
775
+ createRenderRoot() {
776
+ var t;
777
+ const s = null !== (t = this.shadowRoot) && void 0 !== t ? t : this.attachShadow(this.constructor.shadowRootOptions);
778
+ return i(s, this.constructor.elementStyles), s;
779
+ }
780
+ connectedCallback() {
781
+ var t;
782
+ void 0 === this.renderRoot && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), null === (t = this._$Eg) || void 0 === t || t.forEach(t => {
783
+ var i;
784
+ return null === (i = t.hostConnected) || void 0 === i ? void 0 : i.call(t);
785
+ });
786
+ }
787
+ enableUpdating(t) {}
788
+ disconnectedCallback() {
789
+ var t;
790
+ null === (t = this._$Eg) || void 0 === t || t.forEach(t => {
791
+ var i;
792
+ return null === (i = t.hostDisconnected) || void 0 === i ? void 0 : i.call(t);
793
+ });
794
+ }
795
+ attributeChangedCallback(t, i, s) {
796
+ this._$AK(t, s);
797
+ }
798
+ _$ES(t, i, s = l$2) {
799
+ var e, r;
800
+ const h = this.constructor._$Eh(t, s);
801
+ if (void 0 !== h && !0 === s.reflect) {
802
+ const n = (null !== (r = null === (e = s.converter) || void 0 === e ? void 0 : e.toAttribute) && void 0 !== r ? r : o$1.toAttribute)(i, s.type);
803
+ this._$Ei = t, null == n ? this.removeAttribute(h) : this.setAttribute(h, n), this._$Ei = null;
674
804
  }
675
- n && !e && this.C(t);
676
805
  }
677
-
678
- C(t) {
679
- t === w ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, null != t ? t : "");
806
+ _$AK(t, i) {
807
+ var s, e, r;
808
+ const h = this.constructor,
809
+ n = h._$Eu.get(t);
810
+ if (void 0 !== n && this._$Ei !== n) {
811
+ const t = h.getPropertyOptions(n),
812
+ l = t.converter,
813
+ a = null !== (r = null !== (e = null === (s = l) || void 0 === s ? void 0 : s.fromAttribute) && void 0 !== e ? e : "function" == typeof l ? l : null) && void 0 !== r ? r : o$1.fromAttribute;
814
+ this._$Ei = n, this[n] = a(i, t.type), this._$Ei = null;
815
+ }
680
816
  }
681
-
682
- }
683
-
684
- class M extends S {
685
- constructor() {
686
- super(...arguments), this.type = 3;
817
+ requestUpdate(t, i, s) {
818
+ let e = !0;
819
+ void 0 !== t && (((s = s || this.constructor.getPropertyOptions(t)).hasChanged || n$1)(this[t], i) ? (this._$AL.has(t) || this._$AL.set(t, i), !0 === s.reflect && this._$Ei !== t && (void 0 === this._$EC && (this._$EC = new Map()), this._$EC.set(t, s))) : e = !1), !this.isUpdatePending && e && (this._$Ep = this._$E_());
687
820
  }
688
-
689
- C(t) {
690
- this.element[this.name] = t === w ? void 0 : t;
821
+ async _$E_() {
822
+ this.isUpdatePending = !0;
823
+ try {
824
+ await this._$Ep;
825
+ } catch (t) {
826
+ Promise.reject(t);
827
+ }
828
+ const t = this.scheduleUpdate();
829
+ return null != t && (await t), !this.isUpdatePending;
691
830
  }
692
-
693
- }
694
-
695
- const k = i ? i.emptyScript : "";
696
-
697
- class H extends S {
698
- constructor() {
699
- super(...arguments), this.type = 4;
831
+ scheduleUpdate() {
832
+ return this.performUpdate();
700
833
  }
701
-
702
- C(t) {
703
- t && t !== w ? this.element.setAttribute(this.name, k) : this.element.removeAttribute(this.name);
834
+ performUpdate() {
835
+ var t;
836
+ if (!this.isUpdatePending) return;
837
+ this.hasUpdated, this._$Et && (this._$Et.forEach((t, i) => this[i] = t), this._$Et = void 0);
838
+ let i = !1;
839
+ const s = this._$AL;
840
+ try {
841
+ i = this.shouldUpdate(s), i ? (this.willUpdate(s), null === (t = this._$Eg) || void 0 === t || t.forEach(t => {
842
+ var i;
843
+ return null === (i = t.hostUpdate) || void 0 === i ? void 0 : i.call(t);
844
+ }), this.update(s)) : this._$EU();
845
+ } catch (t) {
846
+ throw i = !1, this._$EU(), t;
847
+ }
848
+ i && this._$AE(s);
704
849
  }
705
-
706
- }
707
-
708
- class I extends S {
709
- constructor(t, i, s, e, o) {
710
- super(t, i, s, e, o), this.type = 5;
850
+ willUpdate(t) {}
851
+ _$AE(t) {
852
+ var i;
853
+ null === (i = this._$Eg) || void 0 === i || i.forEach(t => {
854
+ var i;
855
+ return null === (i = t.hostUpdated) || void 0 === i ? void 0 : i.call(t);
856
+ }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
711
857
  }
712
-
713
- _$AI(t, i = this) {
714
- var s;
715
- if ((t = null !== (s = P(this, t, i, 0)) && void 0 !== s ? s : w) === b) return;
716
- const e = this._$AH,
717
- o = t === w && e !== w || t.capture !== e.capture || t.once !== e.once || t.passive !== e.passive,
718
- n = t !== w && (e === w || o);
719
- o && this.element.removeEventListener(this.name, this, e), n && this.element.addEventListener(this.name, this, t), this._$AH = t;
858
+ _$EU() {
859
+ this._$AL = new Map(), this.isUpdatePending = !1;
720
860
  }
721
-
722
- handleEvent(t) {
723
- var i, s;
724
- "function" == typeof this._$AH ? this._$AH.call(null !== (s = null === (i = this.options) || void 0 === i ? void 0 : i.host) && void 0 !== s ? s : this.element, t) : this._$AH.handleEvent(t);
861
+ get updateComplete() {
862
+ return this.getUpdateComplete();
725
863
  }
726
-
727
- }
728
-
729
- class L {
730
- constructor(t, i, s) {
731
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = i, this.options = s;
864
+ getUpdateComplete() {
865
+ return this._$Ep;
732
866
  }
733
-
734
- get _$AU() {
735
- return this._$AM._$AU;
867
+ shouldUpdate(t) {
868
+ return !0;
736
869
  }
737
-
738
- _$AI(t) {
739
- P(this, t);
870
+ update(t) {
871
+ void 0 !== this._$EC && (this._$EC.forEach((t, i) => this._$ES(i, this[i], t)), this._$EC = void 0), this._$EU();
740
872
  }
741
-
873
+ updated(t) {}
874
+ firstUpdated(t) {}
742
875
  }
743
-
744
- const z = window.litHtmlPolyfillSupport;
745
- null == z || z(E, N), (null !== (t = globalThis.litHtmlVersions) && void 0 !== t ? t : globalThis.litHtmlVersions = []).push("2.2.1");
876
+ a.finalized = !0, a.elementProperties = new Map(), a.elementStyles = [], a.shadowRootOptions = {
877
+ mode: "open"
878
+ }, null == h || h({
879
+ ReactiveElement: a
880
+ }), (null !== (s$1 = globalThis.reactiveElementVersions) && void 0 !== s$1 ? s$1 : globalThis.reactiveElementVersions = []).push("1.3.1");
746
881
 
747
882
  /**
748
883
  * @license
749
884
  * Copyright 2017 Google LLC
750
885
  * SPDX-License-Identifier: BSD-3-Clause
751
886
  */
752
-
753
887
  var l$1, o;
754
-
755
- class s extends a$1 {
888
+ class s extends a {
756
889
  constructor() {
757
890
  super(...arguments), this.renderOptions = {
758
891
  host: this
759
- }, this._$Dt = void 0;
892
+ }, this._$Do = void 0;
760
893
  }
761
-
762
894
  createRenderRoot() {
763
895
  var t, e;
764
896
  const i = super.createRenderRoot();
765
897
  return null !== (t = (e = this.renderOptions).renderBefore) && void 0 !== t || (e.renderBefore = i.firstChild), i;
766
898
  }
767
-
768
899
  update(t) {
769
900
  const i = this.render();
770
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Dt = x(i, this.renderRoot, this.renderOptions);
901
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = B(i, this.renderRoot, this.renderOptions);
771
902
  }
772
-
773
903
  connectedCallback() {
774
904
  var t;
775
- super.connectedCallback(), null === (t = this._$Dt) || void 0 === t || t.setConnected(!0);
905
+ super.connectedCallback(), null === (t = this._$Do) || void 0 === t || t.setConnected(!0);
776
906
  }
777
-
778
907
  disconnectedCallback() {
779
908
  var t;
780
- super.disconnectedCallback(), null === (t = this._$Dt) || void 0 === t || t.setConnected(!1);
909
+ super.disconnectedCallback(), null === (t = this._$Do) || void 0 === t || t.setConnected(!1);
781
910
  }
782
-
783
911
  render() {
784
- return b;
912
+ return T;
785
913
  }
786
-
787
914
  }
788
-
789
915
  s.finalized = !0, s._$litElement$ = !0, null === (l$1 = globalThis.litElementHydrateSupport) || void 0 === l$1 || l$1.call(globalThis, {
790
916
  LitElement: s
791
917
  });
@@ -793,29 +919,25 @@ const n = globalThis.litElementPolyfillSupport;
793
919
  null == n || n({
794
920
  LitElement: s
795
921
  });
796
- (null !== (o = globalThis.litElementVersions) && void 0 !== o ? o : globalThis.litElementVersions = []).push("3.2.0");
922
+ (null !== (o = globalThis.litElementVersions) && void 0 !== o ? o : globalThis.litElementVersions = []).push("3.3.0");
797
923
 
798
924
  var noop = {
799
925
  value: () => {}
800
926
  };
801
-
802
927
  function dispatch() {
803
928
  for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {
804
929
  if (!(t = arguments[i] + "") || t in _ || /[\s.]/.test(t)) throw new Error("illegal type: " + t);
805
930
  _[t] = [];
806
931
  }
807
-
808
932
  return new Dispatch(_);
809
933
  }
810
-
811
934
  function Dispatch(_) {
812
935
  this._ = _;
813
936
  }
814
-
815
937
  function parseTypenames$1(typenames, types) {
816
938
  return typenames.trim().split(/^|\s+/).map(function (t) {
817
939
  var name = "",
818
- i = t.indexOf(".");
940
+ i = t.indexOf(".");
819
941
  if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
820
942
  if (t && !types.hasOwnProperty(t)) throw new Error("unknown type: " + t);
821
943
  return {
@@ -824,53 +946,45 @@ function parseTypenames$1(typenames, types) {
824
946
  };
825
947
  });
826
948
  }
827
-
828
949
  Dispatch.prototype = dispatch.prototype = {
829
950
  constructor: Dispatch,
830
951
  on: function (typename, callback) {
831
952
  var _ = this._,
832
- T = parseTypenames$1(typename + "", _),
833
- t,
834
- i = -1,
835
- n = T.length; // If no callback was specified, return the callback of the given type and name.
953
+ T = parseTypenames$1(typename + "", _),
954
+ t,
955
+ i = -1,
956
+ n = T.length;
836
957
 
958
+ // If no callback was specified, return the callback of the given type and name.
837
959
  if (arguments.length < 2) {
838
960
  while (++i < n) if ((t = (typename = T[i]).type) && (t = get$1(_[t], typename.name))) return t;
839
-
840
961
  return;
841
- } // If a type was specified, set the callback for the given type and name.
842
- // Otherwise, if a null callback was specified, remove callbacks of the given name.
843
-
962
+ }
844
963
 
964
+ // If a type was specified, set the callback for the given type and name.
965
+ // Otherwise, if a null callback was specified, remove callbacks of the given name.
845
966
  if (callback != null && typeof callback !== "function") throw new Error("invalid callback: " + callback);
846
-
847
967
  while (++i < n) {
848
968
  if (t = (typename = T[i]).type) _[t] = set$1(_[t], typename.name, callback);else if (callback == null) for (t in _) _[t] = set$1(_[t], typename.name, null);
849
969
  }
850
-
851
970
  return this;
852
971
  },
853
972
  copy: function () {
854
973
  var copy = {},
855
- _ = this._;
856
-
974
+ _ = this._;
857
975
  for (var t in _) copy[t] = _[t].slice();
858
-
859
976
  return new Dispatch(copy);
860
977
  },
861
978
  call: function (type, that) {
862
979
  if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];
863
980
  if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
864
-
865
981
  for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
866
982
  },
867
983
  apply: function (type, that, args) {
868
984
  if (!this._.hasOwnProperty(type)) throw new Error("unknown type: " + type);
869
-
870
985
  for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);
871
986
  }
872
987
  };
873
-
874
988
  function get$1(type, name) {
875
989
  for (var i = 0, n = type.length, c; i < n; ++i) {
876
990
  if ((c = type[i]).name === name) {
@@ -878,7 +992,6 @@ function get$1(type, name) {
878
992
  }
879
993
  }
880
994
  }
881
-
882
995
  function set$1(type, name, callback) {
883
996
  for (var i = 0, n = type.length; i < n; ++i) {
884
997
  if (type[i].name === name) {
@@ -886,7 +999,6 @@ function set$1(type, name, callback) {
886
999
  break;
887
1000
  }
888
1001
  }
889
-
890
1002
  if (callback != null) type.push({
891
1003
  name: name,
892
1004
  value: callback
@@ -905,7 +1017,7 @@ var namespaces = {
905
1017
 
906
1018
  function namespace (name) {
907
1019
  var prefix = name += "",
908
- i = prefix.indexOf(":");
1020
+ i = prefix.indexOf(":");
909
1021
  if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns") name = name.slice(i + 1);
910
1022
  return namespaces.hasOwnProperty(prefix) ? {
911
1023
  space: namespaces[prefix],
@@ -916,24 +1028,21 @@ function namespace (name) {
916
1028
  function creatorInherit(name) {
917
1029
  return function () {
918
1030
  var document = this.ownerDocument,
919
- uri = this.namespaceURI;
1031
+ uri = this.namespaceURI;
920
1032
  return uri === xhtml && document.documentElement.namespaceURI === xhtml ? document.createElement(name) : document.createElementNS(uri, name);
921
1033
  };
922
1034
  }
923
-
924
1035
  function creatorFixed(fullname) {
925
1036
  return function () {
926
1037
  return this.ownerDocument.createElementNS(fullname.space, fullname.local);
927
1038
  };
928
1039
  }
929
-
930
1040
  function creator (name) {
931
1041
  var fullname = namespace(name);
932
1042
  return (fullname.local ? creatorFixed : creatorInherit)(fullname);
933
1043
  }
934
1044
 
935
1045
  function none() {}
936
-
937
1046
  function selector (selector) {
938
1047
  return selector == null ? none : function () {
939
1048
  return this.querySelector(selector);
@@ -942,7 +1051,6 @@ function selector (selector) {
942
1051
 
943
1052
  function selection_select (select) {
944
1053
  if (typeof select !== "function") select = selector(select);
945
-
946
1054
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
947
1055
  for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
948
1056
  if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
@@ -951,7 +1059,6 @@ function selection_select (select) {
951
1059
  }
952
1060
  }
953
1061
  }
954
-
955
1062
  return new Selection$1(subgroups, this._parents);
956
1063
  }
957
1064
 
@@ -968,7 +1075,6 @@ function array(x) {
968
1075
  function empty() {
969
1076
  return [];
970
1077
  }
971
-
972
1078
  function selectorAll (selector) {
973
1079
  return selector == null ? empty : function () {
974
1080
  return this.querySelectorAll(selector);
@@ -980,10 +1086,8 @@ function arrayAll(select) {
980
1086
  return array(select.apply(this, arguments));
981
1087
  };
982
1088
  }
983
-
984
1089
  function selection_selectAll (select) {
985
1090
  if (typeof select === "function") select = arrayAll(select);else select = selectorAll(select);
986
-
987
1091
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
988
1092
  for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
989
1093
  if (node = group[i]) {
@@ -992,7 +1096,6 @@ function selection_selectAll (select) {
992
1096
  }
993
1097
  }
994
1098
  }
995
-
996
1099
  return new Selection$1(subgroups, parents);
997
1100
  }
998
1101
 
@@ -1008,40 +1111,33 @@ function childMatcher(selector) {
1008
1111
  }
1009
1112
 
1010
1113
  var find = Array.prototype.find;
1011
-
1012
1114
  function childFind(match) {
1013
1115
  return function () {
1014
1116
  return find.call(this.children, match);
1015
1117
  };
1016
1118
  }
1017
-
1018
1119
  function childFirst() {
1019
1120
  return this.firstElementChild;
1020
1121
  }
1021
-
1022
1122
  function selection_selectChild (match) {
1023
1123
  return this.select(match == null ? childFirst : childFind(typeof match === "function" ? match : childMatcher(match)));
1024
1124
  }
1025
1125
 
1026
1126
  var filter = Array.prototype.filter;
1027
-
1028
1127
  function children() {
1029
1128
  return Array.from(this.children);
1030
1129
  }
1031
-
1032
1130
  function childrenFilter(match) {
1033
1131
  return function () {
1034
1132
  return filter.call(this.children, match);
1035
1133
  };
1036
1134
  }
1037
-
1038
1135
  function selection_selectChildren (match) {
1039
1136
  return this.selectAll(match == null ? children : childrenFilter(typeof match === "function" ? match : childMatcher(match)));
1040
1137
  }
1041
1138
 
1042
1139
  function selection_filter (match) {
1043
1140
  if (typeof match !== "function") match = matcher(match);
1044
-
1045
1141
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
1046
1142
  for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
1047
1143
  if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
@@ -1049,7 +1145,6 @@ function selection_filter (match) {
1049
1145
  }
1050
1146
  }
1051
1147
  }
1052
-
1053
1148
  return new Selection$1(subgroups, this._parents);
1054
1149
  }
1055
1150
 
@@ -1091,12 +1186,13 @@ function constant$1 (x) {
1091
1186
 
1092
1187
  function bindIndex(parent, group, enter, update, exit, data) {
1093
1188
  var i = 0,
1094
- node,
1095
- groupLength = group.length,
1096
- dataLength = data.length; // Put any non-null nodes that fit into update.
1189
+ node,
1190
+ groupLength = group.length,
1191
+ dataLength = data.length;
1192
+
1193
+ // Put any non-null nodes that fit into update.
1097
1194
  // Put any null nodes into enter.
1098
1195
  // Put any remaining data into enter.
1099
-
1100
1196
  for (; i < dataLength; ++i) {
1101
1197
  if (node = group[i]) {
1102
1198
  node.__data__ = data[i];
@@ -1104,44 +1200,42 @@ function bindIndex(parent, group, enter, update, exit, data) {
1104
1200
  } else {
1105
1201
  enter[i] = new EnterNode(parent, data[i]);
1106
1202
  }
1107
- } // Put any non-null nodes that don’t fit into exit.
1108
-
1203
+ }
1109
1204
 
1205
+ // Put any non-null nodes that don’t fit into exit.
1110
1206
  for (; i < groupLength; ++i) {
1111
1207
  if (node = group[i]) {
1112
1208
  exit[i] = node;
1113
1209
  }
1114
1210
  }
1115
1211
  }
1116
-
1117
1212
  function bindKey(parent, group, enter, update, exit, data, key) {
1118
1213
  var i,
1119
- node,
1120
- nodeByKeyValue = new Map(),
1121
- groupLength = group.length,
1122
- dataLength = data.length,
1123
- keyValues = new Array(groupLength),
1124
- keyValue; // Compute the key for each node.
1214
+ node,
1215
+ nodeByKeyValue = new Map(),
1216
+ groupLength = group.length,
1217
+ dataLength = data.length,
1218
+ keyValues = new Array(groupLength),
1219
+ keyValue;
1220
+
1221
+ // Compute the key for each node.
1125
1222
  // If multiple nodes have the same key, the duplicates are added to exit.
1126
-
1127
1223
  for (i = 0; i < groupLength; ++i) {
1128
1224
  if (node = group[i]) {
1129
1225
  keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + "";
1130
-
1131
1226
  if (nodeByKeyValue.has(keyValue)) {
1132
1227
  exit[i] = node;
1133
1228
  } else {
1134
1229
  nodeByKeyValue.set(keyValue, node);
1135
1230
  }
1136
1231
  }
1137
- } // Compute the key for each datum.
1232
+ }
1233
+
1234
+ // Compute the key for each datum.
1138
1235
  // If there a node associated with this key, join and add it to update.
1139
1236
  // If there is not (or the key is a duplicate), add it to enter.
1140
-
1141
-
1142
1237
  for (i = 0; i < dataLength; ++i) {
1143
1238
  keyValue = key.call(parent, data[i], i, data) + "";
1144
-
1145
1239
  if (node = nodeByKeyValue.get(keyValue)) {
1146
1240
  update[i] = node;
1147
1241
  node.__data__ = data[i];
@@ -1149,62 +1243,58 @@ function bindKey(parent, group, enter, update, exit, data, key) {
1149
1243
  } else {
1150
1244
  enter[i] = new EnterNode(parent, data[i]);
1151
1245
  }
1152
- } // Add any remaining nodes that were not bound to data to exit.
1153
-
1246
+ }
1154
1247
 
1248
+ // Add any remaining nodes that were not bound to data to exit.
1155
1249
  for (i = 0; i < groupLength; ++i) {
1156
1250
  if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) {
1157
1251
  exit[i] = node;
1158
1252
  }
1159
1253
  }
1160
1254
  }
1161
-
1162
1255
  function datum(node) {
1163
1256
  return node.__data__;
1164
1257
  }
1165
-
1166
1258
  function selection_data (value, key) {
1167
1259
  if (!arguments.length) return Array.from(this, datum);
1168
1260
  var bind = key ? bindKey : bindIndex,
1169
- parents = this._parents,
1170
- groups = this._groups;
1261
+ parents = this._parents,
1262
+ groups = this._groups;
1171
1263
  if (typeof value !== "function") value = constant$1(value);
1172
-
1173
1264
  for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
1174
1265
  var parent = parents[j],
1175
- group = groups[j],
1176
- groupLength = group.length,
1177
- data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),
1178
- dataLength = data.length,
1179
- enterGroup = enter[j] = new Array(dataLength),
1180
- updateGroup = update[j] = new Array(dataLength),
1181
- exitGroup = exit[j] = new Array(groupLength);
1182
- bind(parent, group, enterGroup, updateGroup, exitGroup, data, key); // Now connect the enter nodes to their following update node, such that
1266
+ group = groups[j],
1267
+ groupLength = group.length,
1268
+ data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),
1269
+ dataLength = data.length,
1270
+ enterGroup = enter[j] = new Array(dataLength),
1271
+ updateGroup = update[j] = new Array(dataLength),
1272
+ exitGroup = exit[j] = new Array(groupLength);
1273
+ bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
1274
+
1275
+ // Now connect the enter nodes to their following update node, such that
1183
1276
  // appendChild can insert the materialized enter node before this node,
1184
1277
  // rather than at the end of the parent node.
1185
-
1186
1278
  for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
1187
1279
  if (previous = enterGroup[i0]) {
1188
1280
  if (i0 >= i1) i1 = i0 + 1;
1189
-
1190
1281
  while (!(next = updateGroup[i1]) && ++i1 < dataLength);
1191
-
1192
1282
  previous._next = next || null;
1193
1283
  }
1194
1284
  }
1195
1285
  }
1196
-
1197
1286
  update = new Selection$1(update, parents);
1198
1287
  update._enter = enter;
1199
1288
  update._exit = exit;
1200
1289
  return update;
1201
- } // Given some data, this returns an array-like view of it: an object that
1290
+ }
1291
+
1292
+ // Given some data, this returns an array-like view of it: an object that
1202
1293
  // exposes a length property and allows numeric indexing. Note that unlike
1203
1294
  // selectAll, this isn’t worried about “live” collections because the resulting
1204
1295
  // array will only be used briefly while data is being bound. (It is possible to
1205
1296
  // cause the data to change while iterating by using a key function, but please
1206
1297
  // don’t; we’d rather avoid a gratuitous copy.)
1207
-
1208
1298
  function arraylike(data) {
1209
1299
  return typeof data === "object" && "length" in data ? data // Array, TypedArray, NodeList, array-like
1210
1300
  : Array.from(data); // Map, Set, iterable, string, or anything else
@@ -1216,28 +1306,24 @@ function selection_exit () {
1216
1306
 
1217
1307
  function selection_join (onenter, onupdate, onexit) {
1218
1308
  var enter = this.enter(),
1219
- update = this,
1220
- exit = this.exit();
1221
-
1309
+ update = this,
1310
+ exit = this.exit();
1222
1311
  if (typeof onenter === "function") {
1223
1312
  enter = onenter(enter);
1224
1313
  if (enter) enter = enter.selection();
1225
1314
  } else {
1226
1315
  enter = enter.append(onenter + "");
1227
1316
  }
1228
-
1229
1317
  if (onupdate != null) {
1230
1318
  update = onupdate(update);
1231
1319
  if (update) update = update.selection();
1232
1320
  }
1233
-
1234
1321
  if (onexit == null) exit.remove();else onexit(exit);
1235
1322
  return enter && update ? enter.merge(update).order() : update;
1236
1323
  }
1237
1324
 
1238
1325
  function selection_merge (context) {
1239
1326
  var selection = context.selection ? context.selection() : context;
1240
-
1241
1327
  for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
1242
1328
  for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
1243
1329
  if (node = group0[i] || group1[i]) {
@@ -1245,11 +1331,9 @@ function selection_merge (context) {
1245
1331
  }
1246
1332
  }
1247
1333
  }
1248
-
1249
1334
  for (; j < m0; ++j) {
1250
1335
  merges[j] = groups0[j];
1251
1336
  }
1252
-
1253
1337
  return new Selection$1(merges, this._parents);
1254
1338
  }
1255
1339
 
@@ -1262,30 +1346,24 @@ function selection_order () {
1262
1346
  }
1263
1347
  }
1264
1348
  }
1265
-
1266
1349
  return this;
1267
1350
  }
1268
1351
 
1269
1352
  function selection_sort (compare) {
1270
1353
  if (!compare) compare = ascending;
1271
-
1272
1354
  function compareNode(a, b) {
1273
1355
  return a && b ? compare(a.__data__, b.__data__) : !a - !b;
1274
1356
  }
1275
-
1276
1357
  for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
1277
1358
  for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
1278
1359
  if (node = group[i]) {
1279
1360
  sortgroup[i] = node;
1280
1361
  }
1281
1362
  }
1282
-
1283
1363
  sortgroup.sort(compareNode);
1284
1364
  }
1285
-
1286
1365
  return new Selection$1(sortgroups, this._parents).order();
1287
1366
  }
1288
-
1289
1367
  function ascending(a, b) {
1290
1368
  return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
1291
1369
  }
@@ -1308,16 +1386,12 @@ function selection_node () {
1308
1386
  if (node) return node;
1309
1387
  }
1310
1388
  }
1311
-
1312
1389
  return null;
1313
1390
  }
1314
1391
 
1315
1392
  function selection_size () {
1316
1393
  let size = 0;
1317
-
1318
1394
  for (const node of this) ++size; // eslint-disable-line no-unused-vars
1319
-
1320
-
1321
1395
  return size;
1322
1396
  }
1323
1397
 
@@ -1331,7 +1405,6 @@ function selection_each (callback) {
1331
1405
  if (node = group[i]) callback.call(node, node.__data__, i, group);
1332
1406
  }
1333
1407
  }
1334
-
1335
1408
  return this;
1336
1409
  }
1337
1410
 
@@ -1340,47 +1413,39 @@ function attrRemove$1(name) {
1340
1413
  this.removeAttribute(name);
1341
1414
  };
1342
1415
  }
1343
-
1344
1416
  function attrRemoveNS$1(fullname) {
1345
1417
  return function () {
1346
1418
  this.removeAttributeNS(fullname.space, fullname.local);
1347
1419
  };
1348
1420
  }
1349
-
1350
1421
  function attrConstant$1(name, value) {
1351
1422
  return function () {
1352
1423
  this.setAttribute(name, value);
1353
1424
  };
1354
1425
  }
1355
-
1356
1426
  function attrConstantNS$1(fullname, value) {
1357
1427
  return function () {
1358
1428
  this.setAttributeNS(fullname.space, fullname.local, value);
1359
1429
  };
1360
1430
  }
1361
-
1362
1431
  function attrFunction$1(name, value) {
1363
1432
  return function () {
1364
1433
  var v = value.apply(this, arguments);
1365
1434
  if (v == null) this.removeAttribute(name);else this.setAttribute(name, v);
1366
1435
  };
1367
1436
  }
1368
-
1369
1437
  function attrFunctionNS$1(fullname, value) {
1370
1438
  return function () {
1371
1439
  var v = value.apply(this, arguments);
1372
1440
  if (v == null) this.removeAttributeNS(fullname.space, fullname.local);else this.setAttributeNS(fullname.space, fullname.local, v);
1373
1441
  };
1374
1442
  }
1375
-
1376
1443
  function selection_attr (name, value) {
1377
1444
  var fullname = namespace(name);
1378
-
1379
1445
  if (arguments.length < 2) {
1380
1446
  var node = this.node();
1381
1447
  return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname);
1382
1448
  }
1383
-
1384
1449
  return this.each((value == null ? fullname.local ? attrRemoveNS$1 : attrRemove$1 : typeof value === "function" ? fullname.local ? attrFunctionNS$1 : attrFunction$1 : fullname.local ? attrConstantNS$1 : attrConstant$1)(fullname, value));
1385
1450
  }
1386
1451
 
@@ -1395,20 +1460,17 @@ function styleRemove$1(name) {
1395
1460
  this.style.removeProperty(name);
1396
1461
  };
1397
1462
  }
1398
-
1399
1463
  function styleConstant$1(name, value, priority) {
1400
1464
  return function () {
1401
1465
  this.style.setProperty(name, value, priority);
1402
1466
  };
1403
1467
  }
1404
-
1405
1468
  function styleFunction$1(name, value, priority) {
1406
1469
  return function () {
1407
1470
  var v = value.apply(this, arguments);
1408
1471
  if (v == null) this.style.removeProperty(name);else this.style.setProperty(name, v, priority);
1409
1472
  };
1410
1473
  }
1411
-
1412
1474
  function selection_style (name, value, priority) {
1413
1475
  return arguments.length > 1 ? this.each((value == null ? styleRemove$1 : typeof value === "function" ? styleFunction$1 : styleConstant$1)(name, value, priority == null ? "" : priority)) : styleValue(this.node(), name);
1414
1476
  }
@@ -1421,20 +1483,17 @@ function propertyRemove(name) {
1421
1483
  delete this[name];
1422
1484
  };
1423
1485
  }
1424
-
1425
1486
  function propertyConstant(name, value) {
1426
1487
  return function () {
1427
1488
  this[name] = value;
1428
1489
  };
1429
1490
  }
1430
-
1431
1491
  function propertyFunction(name, value) {
1432
1492
  return function () {
1433
1493
  var v = value.apply(this, arguments);
1434
1494
  if (v == null) delete this[name];else this[name] = v;
1435
1495
  };
1436
1496
  }
1437
-
1438
1497
  function selection_property (name, value) {
1439
1498
  return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === "function" ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];
1440
1499
  }
@@ -1442,32 +1501,25 @@ function selection_property (name, value) {
1442
1501
  function classArray(string) {
1443
1502
  return string.trim().split(/^|\s+/);
1444
1503
  }
1445
-
1446
1504
  function classList(node) {
1447
1505
  return node.classList || new ClassList(node);
1448
1506
  }
1449
-
1450
1507
  function ClassList(node) {
1451
1508
  this._node = node;
1452
1509
  this._names = classArray(node.getAttribute("class") || "");
1453
1510
  }
1454
-
1455
1511
  ClassList.prototype = {
1456
1512
  add: function (name) {
1457
1513
  var i = this._names.indexOf(name);
1458
-
1459
1514
  if (i < 0) {
1460
1515
  this._names.push(name);
1461
-
1462
1516
  this._node.setAttribute("class", this._names.join(" "));
1463
1517
  }
1464
1518
  },
1465
1519
  remove: function (name) {
1466
1520
  var i = this._names.indexOf(name);
1467
-
1468
1521
  if (i >= 0) {
1469
1522
  this._names.splice(i, 1);
1470
-
1471
1523
  this._node.setAttribute("class", this._names.join(" "));
1472
1524
  }
1473
1525
  },
@@ -1475,74 +1527,59 @@ ClassList.prototype = {
1475
1527
  return this._names.indexOf(name) >= 0;
1476
1528
  }
1477
1529
  };
1478
-
1479
1530
  function classedAdd(node, names) {
1480
1531
  var list = classList(node),
1481
- i = -1,
1482
- n = names.length;
1483
-
1532
+ i = -1,
1533
+ n = names.length;
1484
1534
  while (++i < n) list.add(names[i]);
1485
1535
  }
1486
-
1487
1536
  function classedRemove(node, names) {
1488
1537
  var list = classList(node),
1489
- i = -1,
1490
- n = names.length;
1491
-
1538
+ i = -1,
1539
+ n = names.length;
1492
1540
  while (++i < n) list.remove(names[i]);
1493
1541
  }
1494
-
1495
1542
  function classedTrue(names) {
1496
1543
  return function () {
1497
1544
  classedAdd(this, names);
1498
1545
  };
1499
1546
  }
1500
-
1501
1547
  function classedFalse(names) {
1502
1548
  return function () {
1503
1549
  classedRemove(this, names);
1504
1550
  };
1505
1551
  }
1506
-
1507
1552
  function classedFunction(names, value) {
1508
1553
  return function () {
1509
1554
  (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
1510
1555
  };
1511
1556
  }
1512
-
1513
1557
  function selection_classed (name, value) {
1514
1558
  var names = classArray(name + "");
1515
-
1516
1559
  if (arguments.length < 2) {
1517
1560
  var list = classList(this.node()),
1518
- i = -1,
1519
- n = names.length;
1520
-
1561
+ i = -1,
1562
+ n = names.length;
1521
1563
  while (++i < n) if (!list.contains(names[i])) return false;
1522
-
1523
1564
  return true;
1524
1565
  }
1525
-
1526
1566
  return this.each((typeof value === "function" ? classedFunction : value ? classedTrue : classedFalse)(names, value));
1527
1567
  }
1528
1568
 
1529
1569
  function textRemove() {
1530
1570
  this.textContent = "";
1531
1571
  }
1532
-
1533
1572
  function textConstant$1(value) {
1534
1573
  return function () {
1535
1574
  this.textContent = value;
1536
1575
  };
1537
1576
  }
1538
-
1539
1577
  function textFunction$1(value) {
1540
1578
  return function () {
1541
1579
  var v = value.apply(this, arguments);
1542
1580
  this.textContent = v == null ? "" : v;
1543
1581
  };
1544
1582
  }
1545
-
1546
1583
  function selection_text (value) {
1547
1584
  return arguments.length ? this.each(value == null ? textRemove : (typeof value === "function" ? textFunction$1 : textConstant$1)(value)) : this.node().textContent;
1548
1585
  }
@@ -1550,20 +1587,17 @@ function selection_text (value) {
1550
1587
  function htmlRemove() {
1551
1588
  this.innerHTML = "";
1552
1589
  }
1553
-
1554
1590
  function htmlConstant(value) {
1555
1591
  return function () {
1556
1592
  this.innerHTML = value;
1557
1593
  };
1558
1594
  }
1559
-
1560
1595
  function htmlFunction(value) {
1561
1596
  return function () {
1562
1597
  var v = value.apply(this, arguments);
1563
1598
  this.innerHTML = v == null ? "" : v;
1564
1599
  };
1565
1600
  }
1566
-
1567
1601
  function selection_html (value) {
1568
1602
  return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === "function" ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML;
1569
1603
  }
@@ -1571,7 +1605,6 @@ function selection_html (value) {
1571
1605
  function raise() {
1572
1606
  if (this.nextSibling) this.parentNode.appendChild(this);
1573
1607
  }
1574
-
1575
1608
  function selection_raise () {
1576
1609
  return this.each(raise);
1577
1610
  }
@@ -1579,7 +1612,6 @@ function selection_raise () {
1579
1612
  function lower() {
1580
1613
  if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);
1581
1614
  }
1582
-
1583
1615
  function selection_lower () {
1584
1616
  return this.each(lower);
1585
1617
  }
@@ -1594,10 +1626,9 @@ function selection_append (name) {
1594
1626
  function constantNull() {
1595
1627
  return null;
1596
1628
  }
1597
-
1598
1629
  function selection_insert (name, before) {
1599
1630
  var create = typeof name === "function" ? name : creator(name),
1600
- select = before == null ? constantNull : typeof before === "function" ? before : selector(before);
1631
+ select = before == null ? constantNull : typeof before === "function" ? before : selector(before);
1601
1632
  return this.select(function () {
1602
1633
  return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
1603
1634
  });
@@ -1607,23 +1638,20 @@ function remove() {
1607
1638
  var parent = this.parentNode;
1608
1639
  if (parent) parent.removeChild(this);
1609
1640
  }
1610
-
1611
1641
  function selection_remove () {
1612
1642
  return this.each(remove);
1613
1643
  }
1614
1644
 
1615
1645
  function selection_cloneShallow() {
1616
1646
  var clone = this.cloneNode(false),
1617
- parent = this.parentNode;
1647
+ parent = this.parentNode;
1618
1648
  return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
1619
1649
  }
1620
-
1621
1650
  function selection_cloneDeep() {
1622
1651
  var clone = this.cloneNode(true),
1623
- parent = this.parentNode;
1652
+ parent = this.parentNode;
1624
1653
  return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
1625
1654
  }
1626
-
1627
1655
  function selection_clone (deep) {
1628
1656
  return this.select(deep ? selection_cloneDeep : selection_cloneShallow);
1629
1657
  }
@@ -1637,11 +1665,10 @@ function contextListener(listener) {
1637
1665
  listener.call(this, event, this.__data__);
1638
1666
  };
1639
1667
  }
1640
-
1641
1668
  function parseTypenames(typenames) {
1642
1669
  return typenames.trim().split(/^|\s+/).map(function (t) {
1643
1670
  var name = "",
1644
- i = t.indexOf(".");
1671
+ i = t.indexOf(".");
1645
1672
  if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);
1646
1673
  return {
1647
1674
  type: t,
@@ -1649,12 +1676,10 @@ function parseTypenames(typenames) {
1649
1676
  };
1650
1677
  });
1651
1678
  }
1652
-
1653
1679
  function onRemove(typename) {
1654
1680
  return function () {
1655
1681
  var on = this.__on;
1656
1682
  if (!on) return;
1657
-
1658
1683
  for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {
1659
1684
  if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
1660
1685
  this.removeEventListener(o.type, o.listener, o.options);
@@ -1662,16 +1687,14 @@ function onRemove(typename) {
1662
1687
  on[++i] = o;
1663
1688
  }
1664
1689
  }
1665
-
1666
1690
  if (++i) on.length = i;else delete this.__on;
1667
1691
  };
1668
1692
  }
1669
-
1670
1693
  function onAdd(typename, value, options) {
1671
1694
  return function () {
1672
1695
  var on = this.__on,
1673
- o,
1674
- listener = contextListener(value);
1696
+ o,
1697
+ listener = contextListener(value);
1675
1698
  if (on) for (var j = 0, m = on.length; j < m; ++j) {
1676
1699
  if ((o = on[j]).type === typename.type && o.name === typename.name) {
1677
1700
  this.removeEventListener(o.type, o.listener, o.options);
@@ -1691,16 +1714,13 @@ function onAdd(typename, value, options) {
1691
1714
  if (!on) this.__on = [o];else on.push(o);
1692
1715
  };
1693
1716
  }
1694
-
1695
1717
  function selection_on (typename, value, options) {
1696
1718
  var typenames = parseTypenames(typename + ""),
1697
- i,
1698
- n = typenames.length,
1699
- t;
1700
-
1719
+ i,
1720
+ n = typenames.length,
1721
+ t;
1701
1722
  if (arguments.length < 2) {
1702
1723
  var on = this.node().__on;
1703
-
1704
1724
  if (on) for (var j = 0, m = on.length, o; j < m; ++j) {
1705
1725
  for (i = 0, o = on[j]; i < n; ++i) {
1706
1726
  if ((t = typenames[i]).type === o.type && t.name === o.name) {
@@ -1710,40 +1730,32 @@ function selection_on (typename, value, options) {
1710
1730
  }
1711
1731
  return;
1712
1732
  }
1713
-
1714
1733
  on = value ? onAdd : onRemove;
1715
-
1716
1734
  for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));
1717
-
1718
1735
  return this;
1719
1736
  }
1720
1737
 
1721
1738
  function dispatchEvent(node, type, params) {
1722
1739
  var window = defaultView(node),
1723
- event = window.CustomEvent;
1724
-
1740
+ event = window.CustomEvent;
1725
1741
  if (typeof event === "function") {
1726
1742
  event = new event(type, params);
1727
1743
  } else {
1728
1744
  event = window.document.createEvent("Event");
1729
1745
  if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;else event.initEvent(type, false, false);
1730
1746
  }
1731
-
1732
1747
  node.dispatchEvent(event);
1733
1748
  }
1734
-
1735
1749
  function dispatchConstant(type, params) {
1736
1750
  return function () {
1737
1751
  return dispatchEvent(this, type, params);
1738
1752
  };
1739
1753
  }
1740
-
1741
1754
  function dispatchFunction(type, params) {
1742
1755
  return function () {
1743
1756
  return dispatchEvent(this, type, params.apply(this, arguments));
1744
1757
  };
1745
1758
  }
1746
-
1747
1759
  function selection_dispatch (type, params) {
1748
1760
  return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params));
1749
1761
  }
@@ -1761,15 +1773,12 @@ function Selection$1(groups, parents) {
1761
1773
  this._groups = groups;
1762
1774
  this._parents = parents;
1763
1775
  }
1764
-
1765
1776
  function selection() {
1766
1777
  return new Selection$1([[document.documentElement]], root);
1767
1778
  }
1768
-
1769
1779
  function selection_selection() {
1770
1780
  return this;
1771
1781
  }
1772
-
1773
1782
  Selection$1.prototype = selection.prototype = {
1774
1783
  constructor: Selection$1,
1775
1784
  select: selection_select,
@@ -1819,9 +1828,7 @@ function define (constructor, factory, prototype) {
1819
1828
  }
1820
1829
  function extend(parent, definition) {
1821
1830
  var prototype = Object.create(parent.prototype);
1822
-
1823
1831
  for (var key in definition) prototype[key] = definition[key];
1824
-
1825
1832
  return prototype;
1826
1833
  }
1827
1834
 
@@ -1829,15 +1836,15 @@ function Color() {}
1829
1836
  var darker = 0.7;
1830
1837
  var brighter = 1 / darker;
1831
1838
  var reI = "\\s*([+-]?\\d+)\\s*",
1832
- reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",
1833
- reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
1834
- reHex = /^#([0-9a-f]{3,8})$/,
1835
- reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"),
1836
- reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"),
1837
- reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"),
1838
- reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"),
1839
- reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"),
1840
- reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
1839
+ reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",
1840
+ reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",
1841
+ reHex = /^#([0-9a-f]{3,8})$/,
1842
+ reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"),
1843
+ reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"),
1844
+ reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"),
1845
+ reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"),
1846
+ reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"),
1847
+ reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
1841
1848
  var named = {
1842
1849
  aliceblue: 0xf0f8ff,
1843
1850
  antiquewhite: 0xfaebd7,
@@ -2002,19 +2009,15 @@ define(Color, color, {
2002
2009
  formatRgb: color_formatRgb,
2003
2010
  toString: color_formatRgb
2004
2011
  });
2005
-
2006
2012
  function color_formatHex() {
2007
2013
  return this.rgb().formatHex();
2008
2014
  }
2009
-
2010
2015
  function color_formatHsl() {
2011
2016
  return hslConvert(this).formatHsl();
2012
2017
  }
2013
-
2014
2018
  function color_formatRgb() {
2015
2019
  return this.rgb().formatRgb();
2016
2020
  }
2017
-
2018
2021
  function color(format) {
2019
2022
  var m, l;
2020
2023
  format = (format + "").trim().toLowerCase();
@@ -2032,16 +2035,13 @@ function color(format) {
2032
2035
  : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins
2033
2036
  : format === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
2034
2037
  }
2035
-
2036
2038
  function rgbn(n) {
2037
2039
  return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);
2038
2040
  }
2039
-
2040
2041
  function rgba(r, g, b, a) {
2041
2042
  if (a <= 0) r = g = b = NaN;
2042
2043
  return new Rgb(r, g, b, a);
2043
2044
  }
2044
-
2045
2045
  function rgbConvert(o) {
2046
2046
  if (!(o instanceof Color)) o = color(o);
2047
2047
  if (!o) return new Rgb();
@@ -2078,27 +2078,22 @@ define(Rgb, rgb, extend(Color, {
2078
2078
  formatRgb: rgb_formatRgb,
2079
2079
  toString: rgb_formatRgb
2080
2080
  }));
2081
-
2082
2081
  function rgb_formatHex() {
2083
2082
  return "#" + hex(this.r) + hex(this.g) + hex(this.b);
2084
2083
  }
2085
-
2086
2084
  function rgb_formatRgb() {
2087
2085
  var a = this.opacity;
2088
2086
  a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));
2089
2087
  return (a === 1 ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a === 1 ? ")" : ", " + a + ")");
2090
2088
  }
2091
-
2092
2089
  function hex(value) {
2093
2090
  value = Math.max(0, Math.min(255, Math.round(value) || 0));
2094
2091
  return (value < 16 ? "0" : "") + value.toString(16);
2095
2092
  }
2096
-
2097
2093
  function hsla(h, s, l, a) {
2098
2094
  if (a <= 0) h = s = l = NaN;else if (l <= 0 || l >= 1) h = s = NaN;else if (s <= 0) h = NaN;
2099
2095
  return new Hsl(h, s, l, a);
2100
2096
  }
2101
-
2102
2097
  function hslConvert(o) {
2103
2098
  if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);
2104
2099
  if (!(o instanceof Color)) o = color(o);
@@ -2106,14 +2101,13 @@ function hslConvert(o) {
2106
2101
  if (o instanceof Hsl) return o;
2107
2102
  o = o.rgb();
2108
2103
  var r = o.r / 255,
2109
- g = o.g / 255,
2110
- b = o.b / 255,
2111
- min = Math.min(r, g, b),
2112
- max = Math.max(r, g, b),
2113
- h = NaN,
2114
- s = max - min,
2115
- l = (max + min) / 2;
2116
-
2104
+ g = o.g / 255,
2105
+ b = o.b / 255,
2106
+ min = Math.min(r, g, b),
2107
+ max = Math.max(r, g, b),
2108
+ h = NaN,
2109
+ s = max - min,
2110
+ l = (max + min) / 2;
2117
2111
  if (s) {
2118
2112
  if (r === max) h = (g - b) / s + (g < b) * 6;else if (g === max) h = (b - r) / s + 2;else h = (r - g) / s + 4;
2119
2113
  s /= l < 0.5 ? max + min : 2 - max - min;
@@ -2121,20 +2115,17 @@ function hslConvert(o) {
2121
2115
  } else {
2122
2116
  s = l > 0 && l < 1 ? 0 : h;
2123
2117
  }
2124
-
2125
2118
  return new Hsl(h, s, l, o.opacity);
2126
2119
  }
2127
2120
  function hsl(h, s, l, opacity) {
2128
2121
  return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);
2129
2122
  }
2130
-
2131
2123
  function Hsl(h, s, l, opacity) {
2132
2124
  this.h = +h;
2133
2125
  this.s = +s;
2134
2126
  this.l = +l;
2135
2127
  this.opacity = +opacity;
2136
2128
  }
2137
-
2138
2129
  define(Hsl, hsl, extend(Color, {
2139
2130
  brighter: function (k) {
2140
2131
  k = k == null ? brighter : Math.pow(brighter, k);
@@ -2146,10 +2137,10 @@ define(Hsl, hsl, extend(Color, {
2146
2137
  },
2147
2138
  rgb: function () {
2148
2139
  var h = this.h % 360 + (this.h < 0) * 360,
2149
- s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
2150
- l = this.l,
2151
- m2 = l + (l < 0.5 ? l : 1 - l) * s,
2152
- m1 = 2 * l - m2;
2140
+ s = isNaN(h) || isNaN(this.s) ? 0 : this.s,
2141
+ l = this.l,
2142
+ m2 = l + (l < 0.5 ? l : 1 - l) * s,
2143
+ m1 = 2 * l - m2;
2153
2144
  return new Rgb(hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2), hsl2rgb(h, m1, m2), hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2), this.opacity);
2154
2145
  },
2155
2146
  displayable: function () {
@@ -2161,8 +2152,8 @@ define(Hsl, hsl, extend(Color, {
2161
2152
  return (a === 1 ? "hsl(" : "hsla(") + (this.h || 0) + ", " + (this.s || 0) * 100 + "%, " + (this.l || 0) * 100 + "%" + (a === 1 ? ")" : ", " + a + ")");
2162
2153
  }
2163
2154
  }));
2164
- /* From FvD 13.37, CSS Color Module Level 3 */
2165
2155
 
2156
+ /* From FvD 13.37, CSS Color Module Level 3 */
2166
2157
  function hsl2rgb(h, m1, m2) {
2167
2158
  return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;
2168
2159
  }
@@ -2174,7 +2165,6 @@ function linear(a, d) {
2174
2165
  return a + t * d;
2175
2166
  };
2176
2167
  }
2177
-
2178
2168
  function exponential(a, b, y) {
2179
2169
  return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function (t) {
2180
2170
  return Math.pow(a + t * b, y);
@@ -2192,12 +2182,11 @@ function nogamma(a, b) {
2192
2182
 
2193
2183
  var interpolateRgb = (function rgbGamma(y) {
2194
2184
  var color = gamma(y);
2195
-
2196
2185
  function rgb$1(start, end) {
2197
2186
  var r = color((start = rgb(start)).r, (end = rgb(end)).r),
2198
- g = color(start.g, end.g),
2199
- b = color(start.b, end.b),
2200
- opacity = nogamma(start.opacity, end.opacity);
2187
+ g = color(start.g, end.g),
2188
+ b = color(start.b, end.b),
2189
+ opacity = nogamma(start.opacity, end.opacity);
2201
2190
  return function (t) {
2202
2191
  start.r = r(t);
2203
2192
  start.g = g(t);
@@ -2206,7 +2195,6 @@ var interpolateRgb = (function rgbGamma(y) {
2206
2195
  return start + "";
2207
2196
  };
2208
2197
  }
2209
-
2210
2198
  rgb$1.gamma = rgbGamma;
2211
2199
  return rgb$1;
2212
2200
  })(1);
@@ -2218,38 +2206,36 @@ function interpolateNumber (a, b) {
2218
2206
  }
2219
2207
 
2220
2208
  var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
2221
- reB = new RegExp(reA.source, "g");
2222
-
2209
+ reB = new RegExp(reA.source, "g");
2223
2210
  function zero(b) {
2224
2211
  return function () {
2225
2212
  return b;
2226
2213
  };
2227
2214
  }
2228
-
2229
2215
  function one(b) {
2230
2216
  return function (t) {
2231
2217
  return b(t) + "";
2232
2218
  };
2233
2219
  }
2234
-
2235
2220
  function interpolateString (a, b) {
2236
2221
  var bi = reA.lastIndex = reB.lastIndex = 0,
2237
- // scan index for next number in b
2238
- am,
2239
- // current match in a
2240
- bm,
2241
- // current match in b
2242
- bs,
2243
- // string preceding current number in b, if any
2244
- i = -1,
2245
- // index in s
2246
- s = [],
2247
- // string constants and placeholders
2248
- q = []; // number interpolators
2249
- // Coerce inputs to strings.
2222
+ // scan index for next number in b
2223
+ am,
2224
+ // current match in a
2225
+ bm,
2226
+ // current match in b
2227
+ bs,
2228
+ // string preceding current number in b, if any
2229
+ i = -1,
2230
+ // index in s
2231
+ s = [],
2232
+ // string constants and placeholders
2233
+ q = []; // number interpolators
2250
2234
 
2251
- a = a + "", b = b + ""; // Interpolate pairs of numbers in a & b.
2235
+ // Coerce inputs to strings.
2236
+ a = a + "", b = b + "";
2252
2237
 
2238
+ // Interpolate pairs of numbers in a & b.
2253
2239
  while ((am = reA.exec(a)) && (bm = reB.exec(b))) {
2254
2240
  if ((bs = bm.index) > bi) {
2255
2241
  // a string precedes the next number in b
@@ -2257,7 +2243,6 @@ function interpolateString (a, b) {
2257
2243
  if (s[i]) s[i] += bs; // coalesce with previous string
2258
2244
  else s[++i] = bs;
2259
2245
  }
2260
-
2261
2246
  if ((am = am[0]) === (bm = bm[0])) {
2262
2247
  // numbers in a & b match
2263
2248
  if (s[i]) s[i] += bm; // coalesce with previous string
@@ -2270,22 +2255,20 @@ function interpolateString (a, b) {
2270
2255
  x: interpolateNumber(am, bm)
2271
2256
  });
2272
2257
  }
2273
-
2274
2258
  bi = reB.lastIndex;
2275
- } // Add remains of b.
2276
-
2259
+ }
2277
2260
 
2261
+ // Add remains of b.
2278
2262
  if (bi < b.length) {
2279
2263
  bs = b.slice(bi);
2280
2264
  if (s[i]) s[i] += bs; // coalesce with previous string
2281
2265
  else s[++i] = bs;
2282
- } // Special optimization for only a single match.
2283
- // Otherwise, interpolate each of the numbers and rejoin the string.
2284
-
2266
+ }
2285
2267
 
2268
+ // Special optimization for only a single match.
2269
+ // Otherwise, interpolate each of the numbers and rejoin the string.
2286
2270
  return s.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function (t) {
2287
2271
  for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
2288
-
2289
2272
  return s.join("");
2290
2273
  });
2291
2274
  }
@@ -2316,8 +2299,8 @@ function decompose (a, b, c, d, e, f) {
2316
2299
  }
2317
2300
 
2318
2301
  var svgNode;
2319
- /* eslint-disable no-undef */
2320
2302
 
2303
+ /* eslint-disable no-undef */
2321
2304
  function parseCss(value) {
2322
2305
  const m = new (typeof DOMMatrix === "function" ? DOMMatrix : WebKitCSSMatrix)(value + "");
2323
2306
  return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);
@@ -2335,7 +2318,6 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
2335
2318
  function pop(s) {
2336
2319
  return s.length ? s.pop() + " " : "";
2337
2320
  }
2338
-
2339
2321
  function translate(xa, ya, xb, yb, s, q) {
2340
2322
  if (xa !== xb || ya !== yb) {
2341
2323
  var i = s.push("translate(", null, pxComma, null, pxParen);
@@ -2350,11 +2332,9 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
2350
2332
  s.push("translate(" + xb + pxComma + yb + pxParen);
2351
2333
  }
2352
2334
  }
2353
-
2354
2335
  function rotate(a, b, s, q) {
2355
2336
  if (a !== b) {
2356
2337
  if (a - b > 180) b += 360;else if (b - a > 180) a += 360; // shortest path
2357
-
2358
2338
  q.push({
2359
2339
  i: s.push(pop(s) + "rotate(", null, degParen) - 2,
2360
2340
  x: interpolateNumber(a, b)
@@ -2363,7 +2343,6 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
2363
2343
  s.push(pop(s) + "rotate(" + b + degParen);
2364
2344
  }
2365
2345
  }
2366
-
2367
2346
  function skewX(a, b, s, q) {
2368
2347
  if (a !== b) {
2369
2348
  q.push({
@@ -2374,7 +2353,6 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
2374
2353
  s.push(pop(s) + "skewX(" + b + degParen);
2375
2354
  }
2376
2355
  }
2377
-
2378
2356
  function scale(xa, ya, xb, yb, s, q) {
2379
2357
  if (xa !== xb || ya !== yb) {
2380
2358
  var i = s.push(pop(s) + "scale(", null, ",", null, ")");
@@ -2389,59 +2367,51 @@ function interpolateTransform(parse, pxComma, pxParen, degParen) {
2389
2367
  s.push(pop(s) + "scale(" + xb + "," + yb + ")");
2390
2368
  }
2391
2369
  }
2392
-
2393
2370
  return function (a, b) {
2394
2371
  var s = [],
2395
- // string constants and placeholders
2396
- q = []; // number interpolators
2397
-
2372
+ // string constants and placeholders
2373
+ q = []; // number interpolators
2398
2374
  a = parse(a), b = parse(b);
2399
2375
  translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);
2400
2376
  rotate(a.rotate, b.rotate, s, q);
2401
2377
  skewX(a.skewX, b.skewX, s, q);
2402
2378
  scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);
2403
2379
  a = b = null; // gc
2404
-
2405
2380
  return function (t) {
2406
2381
  var i = -1,
2407
- n = q.length,
2408
- o;
2409
-
2382
+ n = q.length,
2383
+ o;
2410
2384
  while (++i < n) s[(o = q[i]).i] = o.x(t);
2411
-
2412
2385
  return s.join("");
2413
2386
  };
2414
2387
  };
2415
2388
  }
2416
-
2417
2389
  var interpolateTransformCss = interpolateTransform(parseCss, "px, ", "px)", "deg)");
2418
2390
  var interpolateTransformSvg = interpolateTransform(parseSvg, ", ", ")", ")");
2419
2391
 
2420
2392
  var frame = 0,
2421
- // is an animation frame pending?
2422
- timeout$1 = 0,
2423
- // is a timeout pending?
2424
- interval = 0,
2425
- // are any timers active?
2426
- pokeDelay = 1000,
2427
- // how frequently we check for clock skew
2428
- taskHead,
2429
- taskTail,
2430
- clockLast = 0,
2431
- clockNow = 0,
2432
- clockSkew = 0,
2433
- clock = typeof performance === "object" && performance.now ? performance : Date,
2434
- setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (f) {
2435
- setTimeout(f, 17);
2436
- };
2393
+ // is an animation frame pending?
2394
+ timeout$1 = 0,
2395
+ // is a timeout pending?
2396
+ interval = 0,
2397
+ // are any timers active?
2398
+ pokeDelay = 1000,
2399
+ // how frequently we check for clock skew
2400
+ taskHead,
2401
+ taskTail,
2402
+ clockLast = 0,
2403
+ clockNow = 0,
2404
+ clockSkew = 0,
2405
+ clock = typeof performance === "object" && performance.now ? performance : Date,
2406
+ setFrame = typeof window === "object" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function (f) {
2407
+ setTimeout(f, 17);
2408
+ };
2437
2409
  function now() {
2438
2410
  return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);
2439
2411
  }
2440
-
2441
2412
  function clearNow() {
2442
2413
  clockNow = 0;
2443
2414
  }
2444
-
2445
2415
  function Timer() {
2446
2416
  this._call = this._time = this._next = null;
2447
2417
  }
@@ -2450,12 +2420,10 @@ Timer.prototype = timer.prototype = {
2450
2420
  restart: function (callback, delay, time) {
2451
2421
  if (typeof callback !== "function") throw new TypeError("callback is not a function");
2452
2422
  time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);
2453
-
2454
2423
  if (!this._next && taskTail !== this) {
2455
2424
  if (taskTail) taskTail._next = this;else taskHead = this;
2456
2425
  taskTail = this;
2457
2426
  }
2458
-
2459
2427
  this._call = callback;
2460
2428
  this._time = time;
2461
2429
  sleep();
@@ -2475,24 +2443,18 @@ function timer(callback, delay, time) {
2475
2443
  }
2476
2444
  function timerFlush() {
2477
2445
  now(); // Get the current time, if not already set.
2478
-
2479
2446
  ++frame; // Pretend we’ve set an alarm, if we haven’t already.
2480
-
2481
2447
  var t = taskHead,
2482
- e;
2483
-
2448
+ e;
2484
2449
  while (t) {
2485
2450
  if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);
2486
2451
  t = t._next;
2487
2452
  }
2488
-
2489
2453
  --frame;
2490
2454
  }
2491
-
2492
2455
  function wake() {
2493
2456
  clockNow = (clockLast = clock.now()) + clockSkew;
2494
2457
  frame = timeout$1 = 0;
2495
-
2496
2458
  try {
2497
2459
  timerFlush();
2498
2460
  } finally {
@@ -2501,19 +2463,16 @@ function wake() {
2501
2463
  clockNow = 0;
2502
2464
  }
2503
2465
  }
2504
-
2505
2466
  function poke() {
2506
2467
  var now = clock.now(),
2507
- delay = now - clockLast;
2468
+ delay = now - clockLast;
2508
2469
  if (delay > pokeDelay) clockSkew -= delay, clockLast = now;
2509
2470
  }
2510
-
2511
2471
  function nap() {
2512
2472
  var t0,
2513
- t1 = taskHead,
2514
- t2,
2515
- time = Infinity;
2516
-
2473
+ t1 = taskHead,
2474
+ t2,
2475
+ time = Infinity;
2517
2476
  while (t1) {
2518
2477
  if (t1._call) {
2519
2478
  if (time > t1._time) time = t1._time;
@@ -2523,17 +2482,13 @@ function nap() {
2523
2482
  t1 = t0 ? t0._next = t2 : taskHead = t2;
2524
2483
  }
2525
2484
  }
2526
-
2527
2485
  taskTail = t0;
2528
2486
  sleep(time);
2529
2487
  }
2530
-
2531
2488
  function sleep(time) {
2532
2489
  if (frame) return; // Soonest alarm already set, or will be.
2533
-
2534
2490
  if (timeout$1) timeout$1 = clearTimeout(timeout$1);
2535
2491
  var delay = time - clockNow; // Strictly less than if we recomputed clockNow.
2536
-
2537
2492
  if (delay > 24) {
2538
2493
  if (time < Infinity) timeout$1 = setTimeout(wake, time - clock.now() - clockSkew);
2539
2494
  if (interval) interval = clearInterval(interval);
@@ -2596,129 +2551,122 @@ function get(node, id) {
2596
2551
  if (!schedule || !(schedule = schedule[id])) throw new Error("transition not found");
2597
2552
  return schedule;
2598
2553
  }
2599
-
2600
2554
  function create(node, id, self) {
2601
2555
  var schedules = node.__transition,
2602
- tween; // Initialize the self timer when the transition is created.
2603
- // Note the actual delay is not known until the first callback!
2556
+ tween;
2604
2557
 
2558
+ // Initialize the self timer when the transition is created.
2559
+ // Note the actual delay is not known until the first callback!
2605
2560
  schedules[id] = self;
2606
2561
  self.timer = timer(schedule, 0, self.time);
2607
-
2608
2562
  function schedule(elapsed) {
2609
2563
  self.state = SCHEDULED;
2610
- self.timer.restart(start, self.delay, self.time); // If the elapsed delay is less than our first sleep, start immediately.
2564
+ self.timer.restart(start, self.delay, self.time);
2611
2565
 
2566
+ // If the elapsed delay is less than our first sleep, start immediately.
2612
2567
  if (self.delay <= elapsed) start(elapsed - self.delay);
2613
2568
  }
2614
-
2615
2569
  function start(elapsed) {
2616
- var i, j, n, o; // If the state is not SCHEDULED, then we previously errored on start.
2570
+ var i, j, n, o;
2617
2571
 
2572
+ // If the state is not SCHEDULED, then we previously errored on start.
2618
2573
  if (self.state !== SCHEDULED) return stop();
2619
-
2620
2574
  for (i in schedules) {
2621
2575
  o = schedules[i];
2622
- if (o.name !== self.name) continue; // While this element already has a starting transition during this frame,
2576
+ if (o.name !== self.name) continue;
2577
+
2578
+ // While this element already has a starting transition during this frame,
2623
2579
  // defer starting an interrupting transition until that transition has a
2624
2580
  // chance to tick (and possibly end); see d3/d3-transition#54!
2581
+ if (o.state === STARTED) return timeout(start);
2625
2582
 
2626
- if (o.state === STARTED) return timeout(start); // Interrupt the active transition, if any.
2627
-
2583
+ // Interrupt the active transition, if any.
2628
2584
  if (o.state === RUNNING) {
2629
2585
  o.state = ENDED;
2630
2586
  o.timer.stop();
2631
2587
  o.on.call("interrupt", node, node.__data__, o.index, o.group);
2632
2588
  delete schedules[i];
2633
- } // Cancel any pre-empted transitions.
2589
+ }
2590
+
2591
+ // Cancel any pre-empted transitions.
2634
2592
  else if (+i < id) {
2635
2593
  o.state = ENDED;
2636
2594
  o.timer.stop();
2637
2595
  o.on.call("cancel", node, node.__data__, o.index, o.group);
2638
2596
  delete schedules[i];
2639
2597
  }
2640
- } // Defer the first tick to end of the current frame; see d3/d3#1576.
2598
+ }
2599
+
2600
+ // Defer the first tick to end of the current frame; see d3/d3#1576.
2641
2601
  // Note the transition may be canceled after start and before the first tick!
2642
2602
  // Note this must be scheduled before the start event; see d3/d3-transition#16!
2643
2603
  // Assuming this is successful, subsequent callbacks go straight to tick.
2644
-
2645
-
2646
2604
  timeout(function () {
2647
2605
  if (self.state === STARTED) {
2648
2606
  self.state = RUNNING;
2649
2607
  self.timer.restart(tick, self.delay, self.time);
2650
2608
  tick(elapsed);
2651
2609
  }
2652
- }); // Dispatch the start event.
2653
- // Note this must be done before the tween are initialized.
2610
+ });
2654
2611
 
2612
+ // Dispatch the start event.
2613
+ // Note this must be done before the tween are initialized.
2655
2614
  self.state = STARTING;
2656
2615
  self.on.call("start", node, node.__data__, self.index, self.group);
2657
2616
  if (self.state !== STARTING) return; // interrupted
2617
+ self.state = STARTED;
2658
2618
 
2659
- self.state = STARTED; // Initialize the tween, deleting null tween.
2660
-
2619
+ // Initialize the tween, deleting null tween.
2661
2620
  tween = new Array(n = self.tween.length);
2662
-
2663
2621
  for (i = 0, j = -1; i < n; ++i) {
2664
2622
  if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {
2665
2623
  tween[++j] = o;
2666
2624
  }
2667
2625
  }
2668
-
2669
2626
  tween.length = j + 1;
2670
2627
  }
2671
-
2672
2628
  function tick(elapsed) {
2673
2629
  var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),
2674
- i = -1,
2675
- n = tween.length;
2676
-
2630
+ i = -1,
2631
+ n = tween.length;
2677
2632
  while (++i < n) {
2678
2633
  tween[i].call(node, t);
2679
- } // Dispatch the end event.
2680
-
2634
+ }
2681
2635
 
2636
+ // Dispatch the end event.
2682
2637
  if (self.state === ENDING) {
2683
2638
  self.on.call("end", node, node.__data__, self.index, self.group);
2684
2639
  stop();
2685
2640
  }
2686
2641
  }
2687
-
2688
2642
  function stop() {
2689
2643
  self.state = ENDED;
2690
2644
  self.timer.stop();
2691
2645
  delete schedules[id];
2692
-
2693
2646
  for (var i in schedules) return; // eslint-disable-line no-unused-vars
2694
-
2695
-
2696
2647
  delete node.__transition;
2697
2648
  }
2698
2649
  }
2699
2650
 
2700
2651
  function interrupt (node, name) {
2701
2652
  var schedules = node.__transition,
2702
- schedule,
2703
- active,
2704
- empty = true,
2705
- i;
2653
+ schedule,
2654
+ active,
2655
+ empty = true,
2656
+ i;
2706
2657
  if (!schedules) return;
2707
2658
  name = name == null ? null : name + "";
2708
-
2709
2659
  for (i in schedules) {
2710
2660
  if ((schedule = schedules[i]).name !== name) {
2711
2661
  empty = false;
2712
2662
  continue;
2713
2663
  }
2714
-
2715
2664
  active = schedule.state > STARTING && schedule.state < ENDING;
2716
2665
  schedule.state = ENDED;
2717
2666
  schedule.timer.stop();
2718
2667
  schedule.on.call(active ? "interrupt" : "cancel", node, node.__data__, schedule.index, schedule.group);
2719
2668
  delete schedules[i];
2720
2669
  }
2721
-
2722
2670
  if (empty) delete node.__transition;
2723
2671
  }
2724
2672
 
@@ -2732,13 +2680,13 @@ function tweenRemove(id, name) {
2732
2680
  var tween0, tween1;
2733
2681
  return function () {
2734
2682
  var schedule = set(this, id),
2735
- tween = schedule.tween; // If this node shared tween with the previous node,
2683
+ tween = schedule.tween;
2684
+
2685
+ // If this node shared tween with the previous node,
2736
2686
  // just assign the updated shared tween and we’re done!
2737
2687
  // Otherwise, copy-on-write.
2738
-
2739
2688
  if (tween !== tween0) {
2740
2689
  tween1 = tween0 = tween;
2741
-
2742
2690
  for (var i = 0, n = tween1.length; i < n; ++i) {
2743
2691
  if (tween1[i].name === name) {
2744
2692
  tween1 = tween1.slice();
@@ -2747,56 +2695,47 @@ function tweenRemove(id, name) {
2747
2695
  }
2748
2696
  }
2749
2697
  }
2750
-
2751
2698
  schedule.tween = tween1;
2752
2699
  };
2753
2700
  }
2754
-
2755
2701
  function tweenFunction(id, name, value) {
2756
2702
  var tween0, tween1;
2757
2703
  if (typeof value !== "function") throw new Error();
2758
2704
  return function () {
2759
2705
  var schedule = set(this, id),
2760
- tween = schedule.tween; // If this node shared tween with the previous node,
2706
+ tween = schedule.tween;
2707
+
2708
+ // If this node shared tween with the previous node,
2761
2709
  // just assign the updated shared tween and we’re done!
2762
2710
  // Otherwise, copy-on-write.
2763
-
2764
2711
  if (tween !== tween0) {
2765
2712
  tween1 = (tween0 = tween).slice();
2766
-
2767
2713
  for (var t = {
2768
- name: name,
2769
- value: value
2770
- }, i = 0, n = tween1.length; i < n; ++i) {
2714
+ name: name,
2715
+ value: value
2716
+ }, i = 0, n = tween1.length; i < n; ++i) {
2771
2717
  if (tween1[i].name === name) {
2772
2718
  tween1[i] = t;
2773
2719
  break;
2774
2720
  }
2775
2721
  }
2776
-
2777
2722
  if (i === n) tween1.push(t);
2778
2723
  }
2779
-
2780
2724
  schedule.tween = tween1;
2781
2725
  };
2782
2726
  }
2783
-
2784
2727
  function transition_tween (name, value) {
2785
2728
  var id = this._id;
2786
2729
  name += "";
2787
-
2788
2730
  if (arguments.length < 2) {
2789
2731
  var tween = get(this.node(), id).tween;
2790
-
2791
2732
  for (var i = 0, n = tween.length, t; i < n; ++i) {
2792
2733
  if ((t = tween[i]).name === name) {
2793
2734
  return t.value;
2794
2735
  }
2795
2736
  }
2796
-
2797
2737
  return null;
2798
2738
  }
2799
-
2800
2739
  return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));
2801
2740
  }
2802
2741
  function tweenValue(transition, name, value) {
@@ -2820,62 +2759,56 @@ function attrRemove(name) {
2820
2759
  this.removeAttribute(name);
2821
2760
  };
2822
2761
  }
2823
-
2824
2762
  function attrRemoveNS(fullname) {
2825
2763
  return function () {
2826
2764
  this.removeAttributeNS(fullname.space, fullname.local);
2827
2765
  };
2828
2766
  }
2829
-
2830
2767
  function attrConstant(name, interpolate, value1) {
2831
2768
  var string00,
2832
- string1 = value1 + "",
2833
- interpolate0;
2769
+ string1 = value1 + "",
2770
+ interpolate0;
2834
2771
  return function () {
2835
2772
  var string0 = this.getAttribute(name);
2836
2773
  return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);
2837
2774
  };
2838
2775
  }
2839
-
2840
2776
  function attrConstantNS(fullname, interpolate, value1) {
2841
2777
  var string00,
2842
- string1 = value1 + "",
2843
- interpolate0;
2778
+ string1 = value1 + "",
2779
+ interpolate0;
2844
2780
  return function () {
2845
2781
  var string0 = this.getAttributeNS(fullname.space, fullname.local);
2846
2782
  return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);
2847
2783
  };
2848
2784
  }
2849
-
2850
2785
  function attrFunction(name, interpolate, value) {
2851
2786
  var string00, string10, interpolate0;
2852
2787
  return function () {
2853
2788
  var string0,
2854
- value1 = value(this),
2855
- string1;
2789
+ value1 = value(this),
2790
+ string1;
2856
2791
  if (value1 == null) return void this.removeAttribute(name);
2857
2792
  string0 = this.getAttribute(name);
2858
2793
  string1 = value1 + "";
2859
2794
  return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
2860
2795
  };
2861
2796
  }
2862
-
2863
2797
  function attrFunctionNS(fullname, interpolate, value) {
2864
2798
  var string00, string10, interpolate0;
2865
2799
  return function () {
2866
2800
  var string0,
2867
- value1 = value(this),
2868
- string1;
2801
+ value1 = value(this),
2802
+ string1;
2869
2803
  if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);
2870
2804
  string0 = this.getAttributeNS(fullname.space, fullname.local);
2871
2805
  string1 = value1 + "";
2872
2806
  return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
2873
2807
  };
2874
2808
  }
2875
-
2876
2809
  function transition_attr (name, value) {
2877
2810
  var fullname = namespace(name),
2878
- i = fullname === "transform" ? interpolateTransformSvg : interpolate;
2811
+ i = fullname === "transform" ? interpolateTransformSvg : interpolate;
2879
2812
  return this.attrTween(name, typeof value === "function" ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, "attr." + name, value)) : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname) : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));
2880
2813
  }
2881
2814
 
@@ -2884,39 +2817,31 @@ function attrInterpolate(name, i) {
2884
2817
  this.setAttribute(name, i.call(this, t));
2885
2818
  };
2886
2819
  }
2887
-
2888
2820
  function attrInterpolateNS(fullname, i) {
2889
2821
  return function (t) {
2890
2822
  this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));
2891
2823
  };
2892
2824
  }
2893
-
2894
2825
  function attrTweenNS(fullname, value) {
2895
2826
  var t0, i0;
2896
-
2897
2827
  function tween() {
2898
2828
  var i = value.apply(this, arguments);
2899
2829
  if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);
2900
2830
  return t0;
2901
2831
  }
2902
-
2903
2832
  tween._value = value;
2904
2833
  return tween;
2905
2834
  }
2906
-
2907
2835
  function attrTween(name, value) {
2908
2836
  var t0, i0;
2909
-
2910
2837
  function tween() {
2911
2838
  var i = value.apply(this, arguments);
2912
2839
  if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);
2913
2840
  return t0;
2914
2841
  }
2915
-
2916
2842
  tween._value = value;
2917
2843
  return tween;
2918
2844
  }
2919
-
2920
2845
  function transition_attrTween (name, value) {
2921
2846
  var key = "attr." + name;
2922
2847
  if (arguments.length < 2) return (key = this.tween(key)) && key._value;
@@ -2931,13 +2856,11 @@ function delayFunction(id, value) {
2931
2856
  init(this, id).delay = +value.apply(this, arguments);
2932
2857
  };
2933
2858
  }
2934
-
2935
2859
  function delayConstant(id, value) {
2936
2860
  return value = +value, function () {
2937
2861
  init(this, id).delay = value;
2938
2862
  };
2939
2863
  }
2940
-
2941
2864
  function transition_delay (value) {
2942
2865
  var id = this._id;
2943
2866
  return arguments.length ? this.each((typeof value === "function" ? delayFunction : delayConstant)(id, value)) : get(this.node(), id).delay;
@@ -2948,13 +2871,11 @@ function durationFunction(id, value) {
2948
2871
  set(this, id).duration = +value.apply(this, arguments);
2949
2872
  };
2950
2873
  }
2951
-
2952
2874
  function durationConstant(id, value) {
2953
2875
  return value = +value, function () {
2954
2876
  set(this, id).duration = value;
2955
2877
  };
2956
2878
  }
2957
-
2958
2879
  function transition_duration (value) {
2959
2880
  var id = this._id;
2960
2881
  return arguments.length ? this.each((typeof value === "function" ? durationFunction : durationConstant)(id, value)) : get(this.node(), id).duration;
@@ -2966,7 +2887,6 @@ function easeConstant(id, value) {
2966
2887
  set(this, id).ease = value;
2967
2888
  };
2968
2889
  }
2969
-
2970
2890
  function transition_ease (value) {
2971
2891
  var id = this._id;
2972
2892
  return arguments.length ? this.each(easeConstant(id, value)) : get(this.node(), id).ease;
@@ -2979,7 +2899,6 @@ function easeVarying(id, value) {
2979
2899
  set(this, id).ease = v;
2980
2900
  };
2981
2901
  }
2982
-
2983
2902
  function transition_easeVarying (value) {
2984
2903
  if (typeof value !== "function") throw new Error();
2985
2904
  return this.each(easeVarying(this._id, value));
@@ -2987,7 +2906,6 @@ function transition_easeVarying (value) {
2987
2906
 
2988
2907
  function transition_filter (match) {
2989
2908
  if (typeof match !== "function") match = matcher(match);
2990
-
2991
2909
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
2992
2910
  for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
2993
2911
  if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
@@ -2995,13 +2913,11 @@ function transition_filter (match) {
2995
2913
  }
2996
2914
  }
2997
2915
  }
2998
-
2999
2916
  return new Transition(subgroups, this._parents, this._name, this._id);
3000
2917
  }
3001
2918
 
3002
2919
  function transition_merge (transition) {
3003
2920
  if (transition._id !== this._id) throw new Error();
3004
-
3005
2921
  for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
3006
2922
  for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
3007
2923
  if (node = group0[i] || group1[i]) {
@@ -3009,11 +2925,9 @@ function transition_merge (transition) {
3009
2925
  }
3010
2926
  }
3011
2927
  }
3012
-
3013
2928
  for (; j < m0; ++j) {
3014
2929
  merges[j] = groups0[j];
3015
2930
  }
3016
-
3017
2931
  return new Transition(merges, this._parents, this._name, this._id);
3018
2932
  }
3019
2933
 
@@ -3024,22 +2938,21 @@ function start(name) {
3024
2938
  return !t || t === "start";
3025
2939
  });
3026
2940
  }
3027
-
3028
2941
  function onFunction(id, name, listener) {
3029
2942
  var on0,
3030
- on1,
3031
- sit = start(name) ? init : set;
2943
+ on1,
2944
+ sit = start(name) ? init : set;
3032
2945
  return function () {
3033
2946
  var schedule = sit(this, id),
3034
- on = schedule.on; // If this node shared a dispatch with the previous node,
2947
+ on = schedule.on;
2948
+
2949
+ // If this node shared a dispatch with the previous node,
3035
2950
  // just assign the updated shared dispatch and we’re done!
3036
2951
  // Otherwise, copy-on-write.
3037
-
3038
2952
  if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);
3039
2953
  schedule.on = on1;
3040
2954
  };
3041
2955
  }
3042
-
3043
2956
  function transition_on (name, listener) {
3044
2957
  var id = this._id;
3045
2958
  return arguments.length < 2 ? get(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener));
@@ -3048,22 +2961,18 @@ function transition_on (name, listener) {
3048
2961
  function removeFunction(id) {
3049
2962
  return function () {
3050
2963
  var parent = this.parentNode;
3051
-
3052
2964
  for (var i in this.__transition) if (+i !== id) return;
3053
-
3054
2965
  if (parent) parent.removeChild(this);
3055
2966
  };
3056
2967
  }
3057
-
3058
2968
  function transition_remove () {
3059
2969
  return this.on("end.remove", removeFunction(this._id));
3060
2970
  }
3061
2971
 
3062
2972
  function transition_select (select) {
3063
2973
  var name = this._name,
3064
- id = this._id;
2974
+ id = this._id;
3065
2975
  if (typeof select !== "function") select = selector(select);
3066
-
3067
2976
  for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
3068
2977
  for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
3069
2978
  if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
@@ -3073,15 +2982,13 @@ function transition_select (select) {
3073
2982
  }
3074
2983
  }
3075
2984
  }
3076
-
3077
2985
  return new Transition(subgroups, this._parents, name, id);
3078
2986
  }
3079
2987
 
3080
2988
  function transition_selectAll (select) {
3081
2989
  var name = this._name,
3082
- id = this._id;
2990
+ id = this._id;
3083
2991
  if (typeof select !== "function") select = selectorAll(select);
3084
-
3085
2992
  for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
3086
2993
  for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
3087
2994
  if (node = group[i]) {
@@ -3090,13 +2997,11 @@ function transition_selectAll (select) {
3090
2997
  schedule(child, name, id, k, children, inherit);
3091
2998
  }
3092
2999
  }
3093
-
3094
3000
  subgroups.push(children);
3095
3001
  parents.push(node);
3096
3002
  }
3097
3003
  }
3098
3004
  }
3099
-
3100
3005
  return new Transition(subgroups, parents, name, id);
3101
3006
  }
3102
3007
 
@@ -3109,57 +3014,53 @@ function styleNull(name, interpolate) {
3109
3014
  var string00, string10, interpolate0;
3110
3015
  return function () {
3111
3016
  var string0 = styleValue(this, name),
3112
- string1 = (this.style.removeProperty(name), styleValue(this, name));
3017
+ string1 = (this.style.removeProperty(name), styleValue(this, name));
3113
3018
  return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate(string00 = string0, string10 = string1);
3114
3019
  };
3115
3020
  }
3116
-
3117
3021
  function styleRemove(name) {
3118
3022
  return function () {
3119
3023
  this.style.removeProperty(name);
3120
3024
  };
3121
3025
  }
3122
-
3123
3026
  function styleConstant(name, interpolate, value1) {
3124
3027
  var string00,
3125
- string1 = value1 + "",
3126
- interpolate0;
3028
+ string1 = value1 + "",
3029
+ interpolate0;
3127
3030
  return function () {
3128
3031
  var string0 = styleValue(this, name);
3129
3032
  return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);
3130
3033
  };
3131
3034
  }
3132
-
3133
3035
  function styleFunction(name, interpolate, value) {
3134
3036
  var string00, string10, interpolate0;
3135
3037
  return function () {
3136
3038
  var string0 = styleValue(this, name),
3137
- value1 = value(this),
3138
- string1 = value1 + "";
3039
+ value1 = value(this),
3040
+ string1 = value1 + "";
3139
3041
  if (value1 == null) string1 = value1 = (this.style.removeProperty(name), styleValue(this, name));
3140
3042
  return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
3141
3043
  };
3142
3044
  }
3143
-
3144
3045
  function styleMaybeRemove(id, name) {
3145
3046
  var on0,
3146
- on1,
3147
- listener0,
3148
- key = "style." + name,
3149
- event = "end." + key,
3150
- remove;
3047
+ on1,
3048
+ listener0,
3049
+ key = "style." + name,
3050
+ event = "end." + key,
3051
+ remove;
3151
3052
  return function () {
3152
3053
  var schedule = set(this, id),
3153
- on = schedule.on,
3154
- listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined; // If this node shared a dispatch with the previous node,
3054
+ on = schedule.on,
3055
+ listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;
3056
+
3057
+ // If this node shared a dispatch with the previous node,
3155
3058
  // just assign the updated shared dispatch and we’re done!
3156
3059
  // Otherwise, copy-on-write.
3157
-
3158
3060
  if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);
3159
3061
  schedule.on = on1;
3160
3062
  };
3161
3063
  }
3162
-
3163
3064
  function transition_style (name, value, priority) {
3164
3065
  var i = (name += "") === "transform" ? interpolateTransformCss : interpolate;
3165
3066
  return value == null ? this.styleTween(name, styleNull(name, i)).on("end.style." + name, styleRemove(name)) : typeof value === "function" ? this.styleTween(name, styleFunction(name, i, tweenValue(this, "style." + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, styleConstant(name, i, value), priority).on("end.style." + name, null);
@@ -3170,20 +3071,16 @@ function styleInterpolate(name, i, priority) {
3170
3071
  this.style.setProperty(name, i.call(this, t), priority);
3171
3072
  };
3172
3073
  }
3173
-
3174
3074
  function styleTween(name, value, priority) {
3175
3075
  var t, i0;
3176
-
3177
3076
  function tween() {
3178
3077
  var i = value.apply(this, arguments);
3179
3078
  if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);
3180
3079
  return t;
3181
3080
  }
3182
-
3183
3081
  tween._value = value;
3184
3082
  return tween;
3185
3083
  }
3186
-
3187
3084
  function transition_styleTween (name, value, priority) {
3188
3085
  var key = "style." + (name += "");
3189
3086
  if (arguments.length < 2) return (key = this.tween(key)) && key._value;
@@ -3197,14 +3094,12 @@ function textConstant(value) {
3197
3094
  this.textContent = value;
3198
3095
  };
3199
3096
  }
3200
-
3201
3097
  function textFunction(value) {
3202
3098
  return function () {
3203
3099
  var value1 = value(this);
3204
3100
  this.textContent = value1 == null ? "" : value1;
3205
3101
  };
3206
3102
  }
3207
-
3208
3103
  function transition_text (value) {
3209
3104
  return this.tween("text", typeof value === "function" ? textFunction(tweenValue(this, "text", value)) : textConstant(value == null ? "" : value + ""));
3210
3105
  }
@@ -3214,20 +3109,16 @@ function textInterpolate(i) {
3214
3109
  this.textContent = i.call(this, t);
3215
3110
  };
3216
3111
  }
3217
-
3218
3112
  function textTween(value) {
3219
3113
  var t0, i0;
3220
-
3221
3114
  function tween() {
3222
3115
  var i = value.apply(this, arguments);
3223
3116
  if (i !== i0) t0 = (i0 = i) && textInterpolate(i);
3224
3117
  return t0;
3225
3118
  }
3226
-
3227
3119
  tween._value = value;
3228
3120
  return tween;
3229
3121
  }
3230
-
3231
3122
  function transition_textTween (value) {
3232
3123
  var key = "text";
3233
3124
  if (arguments.length < 1) return (key = this.tween(key)) && key._value;
@@ -3238,9 +3129,8 @@ function transition_textTween (value) {
3238
3129
 
3239
3130
  function transition_transition () {
3240
3131
  var name = this._name,
3241
- id0 = this._id,
3242
- id1 = newId();
3243
-
3132
+ id0 = this._id,
3133
+ id1 = newId();
3244
3134
  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
3245
3135
  for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
3246
3136
  if (node = group[i]) {
@@ -3254,44 +3144,41 @@ function transition_transition () {
3254
3144
  }
3255
3145
  }
3256
3146
  }
3257
-
3258
3147
  return new Transition(groups, this._parents, name, id1);
3259
3148
  }
3260
3149
 
3261
3150
  function transition_end () {
3262
3151
  var on0,
3263
- on1,
3264
- that = this,
3265
- id = that._id,
3266
- size = that.size();
3152
+ on1,
3153
+ that = this,
3154
+ id = that._id,
3155
+ size = that.size();
3267
3156
  return new Promise(function (resolve, reject) {
3268
3157
  var cancel = {
3269
- value: reject
3270
- },
3271
- end = {
3272
- value: function () {
3273
- if (--size === 0) resolve();
3274
- }
3275
- };
3158
+ value: reject
3159
+ },
3160
+ end = {
3161
+ value: function () {
3162
+ if (--size === 0) resolve();
3163
+ }
3164
+ };
3276
3165
  that.each(function () {
3277
3166
  var schedule = set(this, id),
3278
- on = schedule.on; // If this node shared a dispatch with the previous node,
3167
+ on = schedule.on;
3168
+
3169
+ // If this node shared a dispatch with the previous node,
3279
3170
  // just assign the updated shared dispatch and we’re done!
3280
3171
  // Otherwise, copy-on-write.
3281
-
3282
3172
  if (on !== on0) {
3283
3173
  on1 = (on0 = on).copy();
3284
-
3285
3174
  on1._.cancel.push(cancel);
3286
-
3287
3175
  on1._.interrupt.push(cancel);
3288
-
3289
3176
  on1._.end.push(end);
3290
3177
  }
3291
-
3292
3178
  schedule.on = on1;
3293
- }); // The selection was empty, resolve end immediately
3179
+ });
3294
3180
 
3181
+ // The selection was empty, resolve end immediately
3295
3182
  if (size === 0) resolve();
3296
3183
  });
3297
3184
  }
@@ -3351,28 +3238,22 @@ var defaultTiming = {
3351
3238
  duration: 250,
3352
3239
  ease: cubicInOut
3353
3240
  };
3354
-
3355
3241
  function inherit(node, id) {
3356
3242
  var timing;
3357
-
3358
3243
  while (!(timing = node.__transition) || !(timing = timing[id])) {
3359
3244
  if (!(node = node.parentNode)) {
3360
3245
  throw new Error(`transition ${id} not found`);
3361
3246
  }
3362
3247
  }
3363
-
3364
3248
  return timing;
3365
3249
  }
3366
-
3367
3250
  function selection_transition (name) {
3368
3251
  var id, timing;
3369
-
3370
3252
  if (name instanceof Transition) {
3371
3253
  id = name._id, name = name._name;
3372
3254
  } else {
3373
3255
  id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + "";
3374
3256
  }
3375
-
3376
3257
  for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
3377
3258
  for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
3378
3259
  if (node = group[i]) {
@@ -3380,36 +3261,67 @@ function selection_transition (name) {
3380
3261
  }
3381
3262
  }
3382
3263
  }
3383
-
3384
3264
  return new Transition(groups, this._parents, name, id);
3385
3265
  }
3386
3266
 
3387
3267
  selection.prototype.interrupt = selection_interrupt;
3388
3268
  selection.prototype.transition = selection_transition;
3389
3269
 
3390
- let _$6 = t => t,
3391
- _t$6,
3392
- _t2$6,
3393
- _t3,
3394
- _t4,
3395
- _t5,
3396
- _t6,
3397
- _t7,
3398
- _t8,
3399
- _t9;
3270
+ function Transform(k, x, y) {
3271
+ this.k = k;
3272
+ this.x = x;
3273
+ this.y = y;
3274
+ }
3275
+ Transform.prototype = {
3276
+ constructor: Transform,
3277
+ scale: function (k) {
3278
+ return k === 1 ? this : new Transform(this.k * k, this.x, this.y);
3279
+ },
3280
+ translate: function (x, y) {
3281
+ return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);
3282
+ },
3283
+ apply: function (point) {
3284
+ return [point[0] * this.k + this.x, point[1] * this.k + this.y];
3285
+ },
3286
+ applyX: function (x) {
3287
+ return x * this.k + this.x;
3288
+ },
3289
+ applyY: function (y) {
3290
+ return y * this.k + this.y;
3291
+ },
3292
+ invert: function (location) {
3293
+ return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];
3294
+ },
3295
+ invertX: function (x) {
3296
+ return (x - this.x) / this.k;
3297
+ },
3298
+ invertY: function (y) {
3299
+ return (y - this.y) / this.k;
3300
+ },
3301
+ rescaleX: function (x) {
3302
+ return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));
3303
+ },
3304
+ rescaleY: function (y) {
3305
+ return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));
3306
+ },
3307
+ toString: function () {
3308
+ return "translate(" + this.x + "," + this.y + ") scale(" + this.k + ")";
3309
+ }
3310
+ };
3311
+ Transform.prototype;
3312
+
3400
3313
  /*
3401
3314
  DecidablesElement Base Class - Not intended for instantiation!
3402
3315
  <decidables-element>
3403
3316
  */
3404
-
3405
3317
  class DecidablesElement extends s {
3406
3318
  getComputedStyleValue(property) {
3407
3319
  return getComputedStyle(this).getPropertyValue(property).trim();
3408
3320
  }
3409
-
3410
3321
  firstUpdated(changedProperties) {
3411
- super.firstUpdated(changedProperties); // Use focus highlighting if keyboard is used at all
3322
+ super.firstUpdated(changedProperties);
3412
3323
 
3324
+ // Use focus highlighting if keyboard is used at all
3413
3325
  select(this.renderRoot.host).classed('keyboard', true).on('mousemove.keyboard touchstart.keyboard', event => {
3414
3326
  const element = event.currentTarget;
3415
3327
  select(element.renderRoot.host).classed('keyboard', false).on('mousemove.keyboard touchstart.keyboard', null);
@@ -3418,7 +3330,6 @@ class DecidablesElement extends s {
3418
3330
  select(element.renderRoot.host).classed('keyboard', true).on('keydown.keyboard mousemove.keyboard touchstart.keyboard', null);
3419
3331
  });
3420
3332
  }
3421
-
3422
3333
  static get greys() {
3423
3334
  const grey = '#999999';
3424
3335
  const greys = {};
@@ -3433,13 +3344,11 @@ class DecidablesElement extends s {
3433
3344
  greys.black = '#000000';
3434
3345
  return greys;
3435
3346
  }
3436
-
3437
3347
  static get shadows() {
3438
3348
  // Material Design elevation styles
3439
3349
  // References:
3440
3350
  // https://github.com/material-components/material-components-web/tree/master/packages/mdc-elevation
3441
3351
  // https://codepen.io/hanger/pen/yOGvQp
3442
-
3443
3352
  /* eslint-disable key-spacing, object-curly-newline */
3444
3353
  return {
3445
3354
  elevations: [0, 2, 4, 8, 16],
@@ -3572,29 +3481,27 @@ class DecidablesElement extends s {
3572
3481
  const ambientS = rotate ? `${-ambientM.y}px ${ambientM.y / 2}px ${ambientM.b}px ${ambientM.s}px` : `${ambientM.y / 2}px ${ambientM.y}px ${ambientM.b}px ${ambientM.s}px`;
3573
3482
  return `${umbraS} ${umbraC}, ${penumbraS} ${penumbraC}, ${ambientS} ${ambientC}`;
3574
3483
  }
3575
-
3576
3484
  static get svgFilters() {
3577
- const shadows = DecidablesElement.shadows;
3578
- /* eslint-disable-line prefer-destructuring */
3485
+ const shadows = DecidablesElement.shadows; /* eslint-disable-line prefer-destructuring */
3579
3486
 
3580
3487
  const filters = shadows.elevations.map(z => {
3581
- return y(_t$6 || (_t$6 = _$6`
3582
- <filter id=${0} x="-250%" y="-250%" width="600%" height="600%">
3488
+ return b`
3489
+ <filter id=${`shadow-${z}`} x="-250%" y="-250%" width="600%" height="600%">
3583
3490
  <feComponentTransfer in="SourceAlpha" result="solid">
3584
3491
  <feFuncA type="table" tableValues="0 1 1"/>
3585
3492
  </feComponentTransfer>
3586
- <feOffset in="solid" result="offU" dx=${0} dy=${0} />
3587
- <feOffset in="solid" result="offP" dx=${0} dy=${0} />
3588
- <feOffset in="solid" result="offA" dx=${0} dy=${0} />
3589
- ${0}
3590
- ${0}
3591
- ${0}
3592
- <feGaussianBlur in=${0} result="blurU" stdDeviation=${0} />
3593
- <feGaussianBlur in=${0} result="blurP" stdDeviation=${0} />
3594
- <feGaussianBlur in=${0} result="blurA" stdDeviation=${0} />
3595
- <feFlood in="SourceGraphic" result="opU" flood-color=${0} flood-opacity=${0} />
3596
- <feFlood in="SourceGraphic" result="opP" flood-color=${0} flood-opacity=${0} />
3597
- <feFlood in="SourceGraphic" result="opA" flood-color=${0} flood-opacity=${0} />
3493
+ <feOffset in="solid" result="offU" dx=${shadows.mapUmbra[z].y / 2} dy=${shadows.mapUmbra[z].y} />
3494
+ <feOffset in="solid" result="offP" dx=${shadows.mapPenumbra[z].y / 2} dy=${shadows.mapPenumbra[z].y} />
3495
+ <feOffset in="solid" result="offA" dx=${shadows.mapAmbient[z].y / 2} dy=${shadows.mapAmbient[z].y} />
3496
+ ${shadows.mapUmbra[z].s === 0 ? b`` : b`<feMorphology in="offU" result="spreadU" operator=${shadows.mapUmbra[z].s > 0 ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapUmbra[z].s)} />`}
3497
+ ${shadows.mapPenumbra[z].s === 0 ? b`` : b`<feMorphology in="offP" result="spreadP" operator=${shadows.mapPenumbra[z].s > 0 ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapPenumbra[z].s)} />`}
3498
+ ${shadows.mapAmbient[z].s === 0 ? b`` : b`<feMorphology in="offA" result="spreadA" operator=${shadows.mapAmbient[z].s > 0 ? 'dilate' : 'erode'} radius=${Math.abs(shadows.mapAmbient[z].s)} />`}
3499
+ <feGaussianBlur in=${shadows.mapUmbra[z].s === 0 ? 'offU' : 'spreadU'} result="blurU" stdDeviation=${shadows.mapUmbra[z].b / 2} />
3500
+ <feGaussianBlur in=${shadows.mapPenumbra[z].s === 0 ? 'offP' : 'spreadP'} result="blurP" stdDeviation=${shadows.mapPenumbra[z].b / 2} />
3501
+ <feGaussianBlur in=${shadows.mapAmbient[z].s === 0 ? 'offA' : 'spreadA'} result="blurA" stdDeviation=${shadows.mapAmbient[z].b / 2} />
3502
+ <feFlood in="SourceGraphic" result="opU" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityUmbra + shadows.opacityBoost} />
3503
+ <feFlood in="SourceGraphic" result="opP" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityPenumbra + shadows.opacityBoost} />
3504
+ <feFlood in="SourceGraphic" result="opA" flood-color=${shadows.baselineColor} flood-opacity=${shadows.opacityAmbient + shadows.opacityBoost} />
3598
3505
  <feComposite in="opU" in2="blurU" result="shU" operator="in" />
3599
3506
  <feComposite in="opP" in2="blurP" result="shP" operator="in" />
3600
3507
  <feComposite in="opA" in2="blurA" result="shA" operator="in" />
@@ -3608,36 +3515,35 @@ class DecidablesElement extends s {
3608
3515
  <feMergeNode in="finalA" />
3609
3516
  <feMergeNode in="SourceGraphic" />
3610
3517
  </feMerge>
3611
- </filter>`), `shadow-${z}`, shadows.mapUmbra[z].y / 2, shadows.mapUmbra[z].y, shadows.mapPenumbra[z].y / 2, shadows.mapPenumbra[z].y, shadows.mapAmbient[z].y / 2, shadows.mapAmbient[z].y, shadows.mapUmbra[z].s === 0 ? y(_t2$6 || (_t2$6 = _$6``)) : y(_t3 || (_t3 = _$6`<feMorphology in="offU" result="spreadU" operator=${0} radius=${0} />`), shadows.mapUmbra[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapUmbra[z].s)), shadows.mapPenumbra[z].s === 0 ? y(_t4 || (_t4 = _$6``)) : y(_t5 || (_t5 = _$6`<feMorphology in="offP" result="spreadP" operator=${0} radius=${0} />`), shadows.mapPenumbra[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapPenumbra[z].s)), shadows.mapAmbient[z].s === 0 ? y(_t6 || (_t6 = _$6``)) : y(_t7 || (_t7 = _$6`<feMorphology in="offA" result="spreadA" operator=${0} radius=${0} />`), shadows.mapAmbient[z].s > 0 ? 'dilate' : 'erode', Math.abs(shadows.mapAmbient[z].s)), shadows.mapUmbra[z].s === 0 ? 'offU' : 'spreadU', shadows.mapUmbra[z].b / 2, shadows.mapPenumbra[z].s === 0 ? 'offP' : 'spreadP', shadows.mapPenumbra[z].b / 2, shadows.mapAmbient[z].s === 0 ? 'offA' : 'spreadA', shadows.mapAmbient[z].b / 2, shadows.baselineColor, shadows.opacityUmbra + shadows.opacityBoost, shadows.baselineColor, shadows.opacityPenumbra + shadows.opacityBoost, shadows.baselineColor, shadows.opacityAmbient + shadows.opacityBoost);
3518
+ </filter>`;
3612
3519
  });
3613
- return y(_t8 || (_t8 = _$6`
3520
+ return b`
3614
3521
  <svg class="defs">
3615
3522
  <defs>
3616
- ${0}
3523
+ ${filters}
3617
3524
  </defs>
3618
3525
  </svg>
3619
- `), filters);
3526
+ `;
3620
3527
  }
3621
-
3622
3528
  static get styles() {
3623
- return r$2(_t9 || (_t9 = _$6`
3529
+ return r$1`
3624
3530
  :host {
3625
- ---shadow-0: var(--shadow-0, ${0});
3626
- ---shadow-2: var(--shadow-2, ${0});
3627
- ---shadow-4: var(--shadow-4, ${0});
3628
- ---shadow-8: var(--shadow-8, ${0});
3629
-
3630
- ---color-background: var(--color-background, ${0});
3631
- ---color-border: var(--color-border, ${0});
3632
- ---color-text: var(--color-text, ${0});
3633
- ---color-text-inverse: var(--color-text-inverse, ${0});
3634
- ---color-link: var(--color-link, ${0});
3635
- ---color-element-background: var(--color-element-background, ${0});
3636
- ---color-element-disabled: var(--color-element-disabled, ${0});
3637
- ---color-element-enabled: var(--color-element-enabled, ${0});
3638
- ---color-element-selected: var(--color-element-selected, ${0});
3639
- ---color-element-border: var(--color-element-border, ${0});
3640
- ---color-element-emphasis: var(--color-element-emphasis, ${0});
3531
+ ---shadow-0: var(--shadow-0, ${o$2(this.cssBoxShadow(0))});
3532
+ ---shadow-2: var(--shadow-2, ${o$2(this.cssBoxShadow(2))});
3533
+ ---shadow-4: var(--shadow-4, ${o$2(this.cssBoxShadow(4))});
3534
+ ---shadow-8: var(--shadow-8, ${o$2(this.cssBoxShadow(8))});
3535
+
3536
+ ---color-background: var(--color-background, ${o$2(this.greys.white)});
3537
+ ---color-border: var(--color-border, ${o$2(this.greys.light75)});
3538
+ ---color-text: var(--color-text, ${o$2(this.greys.dark75)});
3539
+ ---color-text-inverse: var(--color-text-inverse, ${o$2(this.greys.white)});
3540
+ ---color-link: var(--color-link, ${o$2(this.greys.dark25)});
3541
+ ---color-element-background: var(--color-element-background, ${o$2(this.greys.light75)});
3542
+ ---color-element-disabled: var(--color-element-disabled, ${o$2(this.greys.light50)});
3543
+ ---color-element-enabled: var(--color-element-enabled, ${o$2(this.greys.dark25)});
3544
+ ---color-element-selected: var(--color-element-selected, ${o$2(this.greys.grey)});
3545
+ ---color-element-border: var(--color-element-border, ${o$2(this.greys.dark50)});
3546
+ ---color-element-emphasis: var(--color-element-emphasis, ${o$2(this.greys.dark75)});
3641
3547
 
3642
3548
  ---font-family-base: var(--font-family-base, "Source Sans", sans-serif);
3643
3549
  ---font-family-math: var(--font-family-math, "Source Serif", serif);
@@ -3677,14 +3583,10 @@ class DecidablesElement extends s {
3677
3583
  width: 0;
3678
3584
  height: 0;
3679
3585
  }
3680
- `), o$3(this.cssBoxShadow(0)), o$3(this.cssBoxShadow(2)), o$3(this.cssBoxShadow(4)), o$3(this.cssBoxShadow(8)), o$3(this.greys.white), o$3(this.greys.light75), o$3(this.greys.dark75), o$3(this.greys.white), o$3(this.greys.dark25), o$3(this.greys.light75), o$3(this.greys.light50), o$3(this.greys.dark25), o$3(this.greys.grey), o$3(this.greys.dark50), o$3(this.greys.dark75));
3586
+ `;
3681
3587
  }
3682
-
3683
3588
  }
3684
3589
 
3685
- let _$5 = t => t,
3686
- _t$5,
3687
- _t2$5;
3688
3590
  class DecidablesButton extends DecidablesElement {
3689
3591
  static get properties() {
3690
3592
  return {
@@ -3695,15 +3597,14 @@ class DecidablesButton extends DecidablesElement {
3695
3597
  }
3696
3598
  };
3697
3599
  }
3698
-
3699
3600
  constructor() {
3700
- super(); // Attributes
3601
+ super();
3701
3602
 
3603
+ // Attributes
3702
3604
  this.disabled = false;
3703
3605
  }
3704
-
3705
3606
  static get styles() {
3706
- return [super.styles, r$2(_t$5 || (_t$5 = _$5`
3607
+ return [super.styles, r$1`
3707
3608
  :host {
3708
3609
  margin: 0.25rem;
3709
3610
  }
@@ -3756,17 +3657,15 @@ class DecidablesButton extends DecidablesElement {
3756
3657
  outline: none;
3757
3658
  box-shadow: var(---shadow-8);
3758
3659
  }
3759
- `))];
3660
+ `];
3760
3661
  }
3761
-
3762
3662
  render() {
3763
- return $(_t2$5 || (_t2$5 = _$5`
3764
- <button ?disabled=${0}>
3663
+ return x`
3664
+ <button ?disabled=${this.disabled}>
3765
3665
  <slot></slot>
3766
3666
  </button>
3767
- `), this.disabled);
3667
+ `;
3768
3668
  }
3769
-
3770
3669
  }
3771
3670
  customElements.define('decidables-button', DecidablesButton);
3772
3671
 
@@ -3775,12 +3674,8 @@ customElements.define('decidables-button', DecidablesButton);
3775
3674
  * Copyright 2018 Google LLC
3776
3675
  * SPDX-License-Identifier: BSD-3-Clause
3777
3676
  */
3677
+ const l = l => null != l ? l : A;
3778
3678
 
3779
- const l = l => null != l ? l : w;
3780
-
3781
- let _$4 = t => t,
3782
- _t$4,
3783
- _t2$4;
3784
3679
  class DecidablesSlider extends DecidablesElement {
3785
3680
  static get properties() {
3786
3681
  return {
@@ -3811,17 +3706,16 @@ class DecidablesSlider extends DecidablesElement {
3811
3706
  }
3812
3707
  };
3813
3708
  }
3814
-
3815
3709
  constructor() {
3816
- super(); // Attributes
3710
+ super();
3817
3711
 
3712
+ // Attributes
3818
3713
  this.disabled = false;
3819
3714
  this.max = undefined;
3820
3715
  this.min = undefined;
3821
3716
  this.step = undefined;
3822
3717
  this.value = undefined;
3823
3718
  }
3824
-
3825
3719
  changed(event) {
3826
3720
  this.value = event.target.value;
3827
3721
  this.dispatchEvent(new CustomEvent('change', {
@@ -3831,17 +3725,15 @@ class DecidablesSlider extends DecidablesElement {
3831
3725
  bubbles: true
3832
3726
  }));
3833
3727
  }
3834
-
3835
3728
  inputted(event) {
3836
3729
  this.value = event.target.value;
3837
3730
  }
3838
-
3839
3731
  static get styles() {
3840
- return [super.styles, r$2(_t$4 || (_t$4 = _$4`
3732
+ return [super.styles, r$1`
3841
3733
  :host {
3842
- ---shadow-2-rotate: var(--shadow-2-rotate, ${0});
3843
- ---shadow-4-rotate: var(--shadow-4-rotate, ${0});
3844
- ---shadow-8-rotate: var(--shadow-8-rotate, ${0});
3734
+ ---shadow-2-rotate: var(--shadow-2-rotate, ${o$2(this.cssBoxShadow(2, true, false))});
3735
+ ---shadow-4-rotate: var(--shadow-4-rotate, ${o$2(this.cssBoxShadow(4, true, false))});
3736
+ ---shadow-8-rotate: var(--shadow-8-rotate, ${o$2(this.cssBoxShadow(8, true, false))});
3845
3737
 
3846
3738
  display: flex;
3847
3739
 
@@ -4087,27 +3979,22 @@ class DecidablesSlider extends DecidablesElement {
4087
3979
  :host(.keyboard) input[type=range]:enabled:focus:active::-ms-thumb {
4088
3980
  box-shadow: var(---shadow-8-rotate);
4089
3981
  }
4090
- `), o$3(this.cssBoxShadow(2, true, false)), o$3(this.cssBoxShadow(4, true, false)), o$3(this.cssBoxShadow(8, true, false)))];
3982
+ `];
4091
3983
  }
4092
-
4093
3984
  render() {
4094
- return $(_t2$4 || (_t2$4 = _$4`
3985
+ return x`
4095
3986
  <label for="slider">
4096
3987
  <slot></slot>
4097
3988
  </label>
4098
3989
  <div class="range">
4099
- <input type="range" id="slider" min=${0} max=${0} step=${0} .value=${0} @change=${0} @input=${0}>
3990
+ <input type="range" id="slider" min=${l(this.min)} max=${l(this.max)} step=${l(this.step)} .value=${this.value} @change=${this.changed.bind(this)} @input=${this.inputted.bind(this)}>
4100
3991
  </div>
4101
- <decidables-spinner min=${0} max=${0} step=${0} .value=${0} @input=${0}></decidables-spinner>
4102
- `), l(this.min), l(this.max), l(this.step), this.value, this.changed.bind(this), this.inputted.bind(this), l(this.min), l(this.max), l(this.step), this.value, this.inputted.bind(this));
3992
+ <decidables-spinner min=${l(this.min)} max=${l(this.max)} step=${l(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}></decidables-spinner>
3993
+ `;
4103
3994
  }
4104
-
4105
3995
  }
4106
3996
  customElements.define('decidables-slider', DecidablesSlider);
4107
3997
 
4108
- let _$3 = t => t,
4109
- _t$3,
4110
- _t2$3;
4111
3998
  class DecidablesSpinner extends DecidablesElement {
4112
3999
  static get properties() {
4113
4000
  return {
@@ -4138,23 +4025,21 @@ class DecidablesSpinner extends DecidablesElement {
4138
4025
  }
4139
4026
  };
4140
4027
  }
4141
-
4142
4028
  constructor() {
4143
- super(); // Attributes
4029
+ super();
4144
4030
 
4031
+ // Attributes
4145
4032
  this.disabled = false;
4146
4033
  this.max = undefined;
4147
4034
  this.min = undefined;
4148
4035
  this.step = undefined;
4149
4036
  this.value = undefined;
4150
4037
  }
4151
-
4152
4038
  inputted(event) {
4153
4039
  this.value = event.target.value;
4154
4040
  }
4155
-
4156
4041
  static get styles() {
4157
- return [super.styles, r$2(_t$3 || (_t$3 = _$3`
4042
+ return [super.styles, r$1`
4158
4043
  :host {
4159
4044
  ---decidables-spinner-font-size: var(--decidables-spinner-font-size, 1.125rem);
4160
4045
  ---decidables-spinner-input-width: var(--decidables-spinner-input-width, 4rem);
@@ -4233,24 +4118,19 @@ class DecidablesSpinner extends DecidablesElement {
4233
4118
  margin: 0;
4234
4119
  -webkit-appearance: none; /* stylelint-disable-line property-no-vendor-prefix */
4235
4120
  }
4236
- `))];
4121
+ `];
4237
4122
  }
4238
-
4239
4123
  render() {
4240
- return $(_t2$3 || (_t2$3 = _$3`
4124
+ return x`
4241
4125
  <label>
4242
4126
  <slot></slot>
4243
- <input ?disabled=${0} type="number" min=${0} max=${0} step=${0} .value=${0} @input=${0}>
4127
+ <input ?disabled=${this.disabled} type="number" min=${l(this.min)} max=${l(this.max)} step=${l(this.step)} .value=${this.value} @input=${this.inputted.bind(this)}>
4244
4128
  </label>
4245
- `), this.disabled, l(this.min), l(this.max), l(this.step), this.value, this.inputted.bind(this));
4129
+ `;
4246
4130
  }
4247
-
4248
4131
  }
4249
4132
  customElements.define('decidables-spinner', DecidablesSpinner);
4250
4133
 
4251
- let _$2 = t => t,
4252
- _t$2,
4253
- _t2$2;
4254
4134
  class DecidablesSwitch extends DecidablesElement {
4255
4135
  static get properties() {
4256
4136
  return {
@@ -4266,14 +4146,13 @@ class DecidablesSwitch extends DecidablesElement {
4266
4146
  }
4267
4147
  };
4268
4148
  }
4269
-
4270
4149
  constructor() {
4271
- super(); // Attributes
4150
+ super();
4272
4151
 
4152
+ // Attributes
4273
4153
  this.checked = false;
4274
4154
  this.disabled = false;
4275
4155
  }
4276
-
4277
4156
  changed(event) {
4278
4157
  this.checked = event.target.checked;
4279
4158
  this.dispatchEvent(new CustomEvent('change', {
@@ -4283,9 +4162,8 @@ class DecidablesSwitch extends DecidablesElement {
4283
4162
  bubbles: true
4284
4163
  }));
4285
4164
  }
4286
-
4287
4165
  static get styles() {
4288
- return [super.styles, r$2(_t$2 || (_t$2 = _$2`
4166
+ return [super.styles, r$1`
4289
4167
  :host {
4290
4168
  display: flex;
4291
4169
 
@@ -4404,27 +4282,22 @@ class DecidablesSwitch extends DecidablesElement {
4404
4282
  :host(.keyboard) input[type=checkbox]:enabled:focus:active + label + label::after {
4405
4283
  box-shadow: var(---shadow-8);
4406
4284
  }
4407
- `))];
4285
+ `];
4408
4286
  }
4409
-
4410
4287
  render() {
4411
- return $(_t2$2 || (_t2$2 = _$2`
4412
- <input type="checkbox" id="switch" ?checked=${0} ?disabled=${0} @change=${0}>
4288
+ return x`
4289
+ <input type="checkbox" id="switch" ?checked=${this.checked} ?disabled=${this.disabled} @change=${this.changed.bind(this)}>
4413
4290
  <label for="switch">
4414
4291
  <slot name="off-label"></slot>
4415
4292
  </label>
4416
4293
  <label for="switch">
4417
4294
  <slot></slot>
4418
4295
  </label>
4419
- `), this.checked, this.disabled, this.changed.bind(this));
4296
+ `;
4420
4297
  }
4421
-
4422
4298
  }
4423
4299
  customElements.define('decidables-switch', DecidablesSwitch);
4424
4300
 
4425
- let _$1 = t => t,
4426
- _t$1,
4427
- _t2$1;
4428
4301
  class DecidablesToggle extends DecidablesElement {
4429
4302
  static get properties() {
4430
4303
  return {
@@ -4435,15 +4308,14 @@ class DecidablesToggle extends DecidablesElement {
4435
4308
  }
4436
4309
  };
4437
4310
  }
4438
-
4439
4311
  constructor() {
4440
- super(); // Attributes
4312
+ super();
4441
4313
 
4314
+ // Attributes
4442
4315
  this.disabled = false;
4443
4316
  }
4444
-
4445
4317
  static get styles() {
4446
- return [super.styles, r$2(_t$1 || (_t$1 = _$1`
4318
+ return [super.styles, r$1`
4447
4319
  fieldset {
4448
4320
  display: flex;
4449
4321
 
@@ -4460,24 +4332,19 @@ class DecidablesToggle extends DecidablesElement {
4460
4332
  legend {
4461
4333
  text-align: center;
4462
4334
  }
4463
- `))];
4335
+ `];
4464
4336
  }
4465
-
4466
4337
  render() {
4467
- return $(_t2$1 || (_t2$1 = _$1`
4468
- <fieldset ?disabled=${0}>
4338
+ return x`
4339
+ <fieldset ?disabled=${this.disabled}>
4469
4340
  <legend><slot name="label"></slot></legend>
4470
4341
  <slot></slot>
4471
4342
  </fieldset>
4472
- `), this.disabled);
4343
+ `;
4473
4344
  }
4474
-
4475
4345
  }
4476
4346
  customElements.define('decidables-toggle', DecidablesToggle);
4477
4347
 
4478
- let _ = t => t,
4479
- _t,
4480
- _t2;
4481
4348
  class DecidablesToggleOption extends DecidablesElement {
4482
4349
  static get properties() {
4483
4350
  return {
@@ -4503,16 +4370,15 @@ class DecidablesToggleOption extends DecidablesElement {
4503
4370
  }
4504
4371
  };
4505
4372
  }
4506
-
4507
4373
  constructor() {
4508
- super(); // Attributes
4374
+ super();
4509
4375
 
4376
+ // Attributes
4510
4377
  this.checked = false;
4511
4378
  this.disabled = false;
4512
4379
  this.name = undefined;
4513
4380
  this.value = undefined;
4514
4381
  }
4515
-
4516
4382
  changed(event) {
4517
4383
  this.checked = event.target.checked;
4518
4384
  this.dispatchEvent(new CustomEvent('change', {
@@ -4523,9 +4389,8 @@ class DecidablesToggleOption extends DecidablesElement {
4523
4389
  bubbles: true
4524
4390
  }));
4525
4391
  }
4526
-
4527
4392
  static get styles() {
4528
- return [super.styles, r$2(_t || (_t = _`
4393
+ return [super.styles, r$1`
4529
4394
  :host {
4530
4395
  display: flex;
4531
4396
  }
@@ -4618,18 +4483,16 @@ class DecidablesToggleOption extends DecidablesElement {
4618
4483
  outline: none;
4619
4484
  box-shadow: var(---shadow-8);
4620
4485
  }
4621
- `))];
4486
+ `];
4622
4487
  }
4623
-
4624
4488
  render() {
4625
- return $(_t2 || (_t2 = _`
4626
- <input type="radio" id="toggle-option" name=${0} value=${0} .checked=${0} @change=${0}>
4489
+ return x`
4490
+ <input type="radio" id="toggle-option" name=${this.name} value=${this.value} .checked=${this.checked} @change=${this.changed.bind(this)}>
4627
4491
  <label for="toggle-option">
4628
4492
  <slot></slot>
4629
4493
  </label>
4630
- `), this.name, this.value, this.checked, this.changed.bind(this));
4494
+ `;
4631
4495
  }
4632
-
4633
4496
  }
4634
4497
  customElements.define('decidables-toggle-option', DecidablesToggleOption);
4635
4498