@ixfx/components 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +2009 -597
- package/bundle/index.js.map +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/button.d.ts.map +1 -1
- package/dist/{icon-CeTDJhC7.d.ts → icon-Dm_DHDz6.d.ts} +2 -2
- package/dist/icon-Dm_DHDz6.d.ts.map +1 -0
- package/dist/icons.d.ts +1 -1
- package/dist/{index--hrxPBkQ.d.ts → index-DLkSKL4T.d.ts} +2 -1
- package/dist/index-DLkSKL4T.d.ts.map +1 -0
- package/dist/{index-DrQjA8Gs.d.ts → index-iZLld8Ca.d.ts} +2 -2
- package/dist/{index-DrQjA8Gs.d.ts.map → index-iZLld8Ca.d.ts.map} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +2 -2
- package/dist/{labelled-input-base-D-Y7agky.d.ts → labelled-input-base-BVvNeb5R.d.ts} +2 -2
- package/dist/{labelled-input-base-D-Y7agky.d.ts.map → labelled-input-base-BVvNeb5R.d.ts.map} +1 -1
- package/dist/labelled-radial-input.d.ts +2 -2
- package/dist/labelled-radial-input.d.ts.map +1 -1
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/{timeline-Cv75Th2U.js → timeline-Bh0PhlKW.js} +1437 -36
- package/dist/timeline-Bh0PhlKW.js.map +1 -0
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +1 -1
- package/package.json +2 -2
- package/dist/icon-CeTDJhC7.d.ts.map +0 -1
- package/dist/index--hrxPBkQ.d.ts.map +0 -1
- package/dist/timeline-Cv75Th2U.js.map +0 -1
package/bundle/index.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { t as __exportAll$5 } from "./chunk-pbuEa-1d.js";
|
|
2
2
|
import { Fzf } from "fzf";
|
|
3
|
-
import "@clinth/vcanvas";
|
|
4
3
|
//#region node_modules/.pnpm/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/css-tag.js
|
|
5
4
|
/**
|
|
6
5
|
* @license
|
|
7
6
|
* Copyright 2019 Google LLC
|
|
8
7
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
8
|
*/
|
|
10
|
-
const t$
|
|
9
|
+
const t$6 = globalThis, e$8 = t$6.ShadowRoot && (void 0 === t$6.ShadyCSS || t$6.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, s$3 = Symbol(), o$7 = /* @__PURE__ */ new WeakMap();
|
|
11
10
|
var n$5 = class {
|
|
12
11
|
constructor(t, e, o) {
|
|
13
12
|
if (this._$cssResult$ = !0, o !== s$3) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
@@ -35,7 +34,7 @@ const r$5 = (t) => new n$5("string" == typeof t ? t : t + "", void 0, s$3), i$7
|
|
|
35
34
|
}, S$1 = (s, o) => {
|
|
36
35
|
if (e$8) s.adoptedStyleSheets = o.map((t) => t instanceof CSSStyleSheet ? t : t.styleSheet);
|
|
37
36
|
else for (const e of o) {
|
|
38
|
-
const o = document.createElement("style"), n = t$
|
|
37
|
+
const o = document.createElement("style"), n = t$6.litNonce;
|
|
39
38
|
void 0 !== n && o.setAttribute("nonce", n), o.textContent = e.cssText, s.appendChild(o);
|
|
40
39
|
}
|
|
41
40
|
}, c$4 = e$8 ? (t) => t : (t) => t instanceof CSSStyleSheet ? ((t) => {
|
|
@@ -280,7 +279,7 @@ y$1.elementStyles = [], y$1.shadowRootOptions = { mode: "open" }, y$1[d$2("eleme
|
|
|
280
279
|
* Copyright 2017 Google LLC
|
|
281
280
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
282
281
|
*/
|
|
283
|
-
const t$
|
|
282
|
+
const t$5 = globalThis, i$5 = (t) => t, s$2 = t$5.trustedTypes, e$6 = s$2 ? s$2.createPolicy("lit-html", { createHTML: (t) => t }) : void 0, h$1 = "$lit$", o$5 = `lit$${Math.random().toFixed(9).slice(2)}$`, n$3 = "?" + o$5, r$3 = `<${n$3}>`, l$1 = document, c$2 = () => l$1.createComment(""), a = (t) => null === t || "object" != typeof t && "function" != typeof t, u$2 = Array.isArray, d$1 = (t) => u$2(t) || "function" == typeof t?.[Symbol.iterator], f$1 = "[ \n\f\r]", v$1 = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, _ = /-->/g, m$1 = />/g, p$1 = RegExp(`>|${f$1}(?:([^\\s"'>=/]+)(${f$1}*=${f$1}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`, "g"), g = /'/g, $ = /"/g, y = /^(?:script|style|textarea|title)$/i, x = (t) => (i, ...s) => ({
|
|
284
283
|
_$litType$: t,
|
|
285
284
|
strings: i,
|
|
286
285
|
values: s
|
|
@@ -530,8 +529,8 @@ const j$1 = {
|
|
|
530
529
|
U: z,
|
|
531
530
|
B: I,
|
|
532
531
|
F: Z
|
|
533
|
-
}, B = t$
|
|
534
|
-
B?.(S, k), (t$
|
|
532
|
+
}, B = t$5.litHtmlPolyfillSupport;
|
|
533
|
+
B?.(S, k), (t$5.litHtmlVersions ??= []).push("3.3.3");
|
|
535
534
|
const D = (t, i, s) => {
|
|
536
535
|
const e = s?.renderBefore ?? i;
|
|
537
536
|
let h = e._$litPart$;
|
|
@@ -575,6 +574,18 @@ const o$4 = s$1.litElementPolyfillSupport;
|
|
|
575
574
|
o$4?.({ LitElement: i$4 });
|
|
576
575
|
(s$1.litElementVersions ??= []).push("4.2.2");
|
|
577
576
|
//#endregion
|
|
577
|
+
//#region node_modules/.pnpm/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/decorators/custom-element.js
|
|
578
|
+
/**
|
|
579
|
+
* @license
|
|
580
|
+
* Copyright 2017 Google LLC
|
|
581
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
582
|
+
*/
|
|
583
|
+
const t$4 = (t) => (e, o) => {
|
|
584
|
+
void 0 !== o ? o.addInitializer(() => {
|
|
585
|
+
customElements.define(t, e);
|
|
586
|
+
}) : customElements.define(t, e);
|
|
587
|
+
};
|
|
588
|
+
//#endregion
|
|
578
589
|
//#region node_modules/.pnpm/@lit+reactive-element@2.1.2/node_modules/@lit/reactive-element/decorators/property.js
|
|
579
590
|
/**
|
|
580
591
|
* @license
|
|
@@ -1161,7 +1172,7 @@ function svgToDataUri(svg) {
|
|
|
1161
1172
|
}
|
|
1162
1173
|
//#endregion
|
|
1163
1174
|
//#region \0@oxc-project+runtime@0.130.0/helpers/decorate.js
|
|
1164
|
-
function __decorate(decorators, target, key, desc) {
|
|
1175
|
+
function __decorate$1(decorators, target, key, desc) {
|
|
1165
1176
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1166
1177
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1167
1178
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
@@ -1245,19 +1256,19 @@ let IxfxIconElement = class IxfxIconElement extends i$4 {
|
|
|
1245
1256
|
`;
|
|
1246
1257
|
}
|
|
1247
1258
|
};
|
|
1248
|
-
__decorate([n$2()], IxfxIconElement.prototype, "name", void 0);
|
|
1249
|
-
__decorate([n$2({ type: Number })], IxfxIconElement.prototype, "size", void 0);
|
|
1250
|
-
__decorate([n$2()], IxfxIconElement.prototype, "label", void 0);
|
|
1251
|
-
__decorate([n$2({
|
|
1259
|
+
__decorate$1([n$2()], IxfxIconElement.prototype, "name", void 0);
|
|
1260
|
+
__decorate$1([n$2({ type: Number })], IxfxIconElement.prototype, "size", void 0);
|
|
1261
|
+
__decorate$1([n$2()], IxfxIconElement.prototype, "label", void 0);
|
|
1262
|
+
__decorate$1([n$2({
|
|
1252
1263
|
type: Boolean,
|
|
1253
1264
|
attribute: `prominence`
|
|
1254
1265
|
})], IxfxIconElement.prototype, "prominence", void 0);
|
|
1255
|
-
__decorate([n$2({
|
|
1266
|
+
__decorate$1([n$2({
|
|
1256
1267
|
type: String,
|
|
1257
1268
|
attribute: `rotate`,
|
|
1258
1269
|
reflect: true
|
|
1259
1270
|
})], IxfxIconElement.prototype, "rotate", void 0);
|
|
1260
|
-
IxfxIconElement = __decorate([safeCustomElement(`ixfx-icon`)], IxfxIconElement);
|
|
1271
|
+
IxfxIconElement = __decorate$1([safeCustomElement(`ixfx-icon`)], IxfxIconElement);
|
|
1261
1272
|
//#endregion
|
|
1262
1273
|
//#region src/ac-text/ac-text.ts
|
|
1263
1274
|
const HIGHLIGHT_KEY$1 = `ac-text-highlight`;
|
|
@@ -1713,26 +1724,26 @@ let AcTextElement = class AcTextElement extends i$4 {
|
|
|
1713
1724
|
`];
|
|
1714
1725
|
}
|
|
1715
1726
|
};
|
|
1716
|
-
__decorate([n$2({ type: Object })], AcTextElement.prototype, "completionProvider", void 0);
|
|
1717
|
-
__decorate([n$2({ type: String })], AcTextElement.prototype, "placeholder", void 0);
|
|
1718
|
-
__decorate([n$2({
|
|
1727
|
+
__decorate$1([n$2({ type: Object })], AcTextElement.prototype, "completionProvider", void 0);
|
|
1728
|
+
__decorate$1([n$2({ type: String })], AcTextElement.prototype, "placeholder", void 0);
|
|
1729
|
+
__decorate$1([n$2({
|
|
1719
1730
|
type: Number,
|
|
1720
1731
|
attribute: `cache-size`
|
|
1721
1732
|
})], AcTextElement.prototype, "cacheSize", void 0);
|
|
1722
|
-
__decorate([n$2({
|
|
1733
|
+
__decorate$1([n$2({
|
|
1723
1734
|
type: Number,
|
|
1724
1735
|
attribute: `debounce-ms`
|
|
1725
1736
|
})], AcTextElement.prototype, "debounceMs", void 0);
|
|
1726
|
-
__decorate([n$2({ type: String })], AcTextElement.prototype, "value", void 0);
|
|
1727
|
-
__decorate([n$2({
|
|
1737
|
+
__decorate$1([n$2({ type: String })], AcTextElement.prototype, "value", void 0);
|
|
1738
|
+
__decorate$1([n$2({
|
|
1728
1739
|
type: String,
|
|
1729
1740
|
attribute: `tab-suffix`
|
|
1730
1741
|
})], AcTextElement.prototype, "tabSuffix", void 0);
|
|
1731
|
-
__decorate([r$1()], AcTextElement.prototype, "_query", void 0);
|
|
1732
|
-
__decorate([r$1()], AcTextElement.prototype, "_results", void 0);
|
|
1733
|
-
__decorate([r$1()], AcTextElement.prototype, "_isOpen", void 0);
|
|
1734
|
-
__decorate([r$1()], AcTextElement.prototype, "_isLoading", void 0);
|
|
1735
|
-
AcTextElement = __decorate([safeCustomElement(`ixfx-ac-text`)], AcTextElement);
|
|
1742
|
+
__decorate$1([r$1()], AcTextElement.prototype, "_query", void 0);
|
|
1743
|
+
__decorate$1([r$1()], AcTextElement.prototype, "_results", void 0);
|
|
1744
|
+
__decorate$1([r$1()], AcTextElement.prototype, "_isOpen", void 0);
|
|
1745
|
+
__decorate$1([r$1()], AcTextElement.prototype, "_isLoading", void 0);
|
|
1746
|
+
AcTextElement = __decorate$1([safeCustomElement(`ixfx-ac-text`)], AcTextElement);
|
|
1736
1747
|
//#endregion
|
|
1737
1748
|
//#region src/incr-search/fuzzy.ts
|
|
1738
1749
|
function defaultSelector(item) {
|
|
@@ -2642,25 +2653,25 @@ let AcTokenElement = class AcTokenElement extends i$4 {
|
|
|
2642
2653
|
`];
|
|
2643
2654
|
}
|
|
2644
2655
|
};
|
|
2645
|
-
__decorate([n$2({ type: Object })], AcTokenElement.prototype, "completionProvider", void 0);
|
|
2646
|
-
__decorate([n$2({ type: Object })], AcTokenElement.prototype, "tokenizer", void 0);
|
|
2647
|
-
__decorate([n$2({ type: String })], AcTokenElement.prototype, "placeholder", void 0);
|
|
2648
|
-
__decorate([n$2({
|
|
2656
|
+
__decorate$1([n$2({ type: Object })], AcTokenElement.prototype, "completionProvider", void 0);
|
|
2657
|
+
__decorate$1([n$2({ type: Object })], AcTokenElement.prototype, "tokenizer", void 0);
|
|
2658
|
+
__decorate$1([n$2({ type: String })], AcTokenElement.prototype, "placeholder", void 0);
|
|
2659
|
+
__decorate$1([n$2({
|
|
2649
2660
|
type: Number,
|
|
2650
2661
|
attribute: `cache-size`
|
|
2651
2662
|
})], AcTokenElement.prototype, "cacheSize", void 0);
|
|
2652
|
-
__decorate([n$2({
|
|
2663
|
+
__decorate$1([n$2({
|
|
2653
2664
|
type: Number,
|
|
2654
2665
|
attribute: `debounce-ms`
|
|
2655
2666
|
})], AcTokenElement.prototype, "debounceMs", void 0);
|
|
2656
|
-
__decorate([n$2({ type: Boolean })], AcTokenElement.prototype, "strict", void 0);
|
|
2657
|
-
__decorate([r$1()], AcTokenElement.prototype, "_tokens", void 0);
|
|
2658
|
-
__decorate([r$1()], AcTokenElement.prototype, "_draft", void 0);
|
|
2659
|
-
__decorate([r$1()], AcTokenElement.prototype, "_selectedTokenIndex", void 0);
|
|
2660
|
-
__decorate([r$1()], AcTokenElement.prototype, "_suggestions", void 0);
|
|
2661
|
-
__decorate([r$1()], AcTokenElement.prototype, "_isOpen", void 0);
|
|
2662
|
-
__decorate([r$1()], AcTokenElement.prototype, "_isLoading", void 0);
|
|
2663
|
-
AcTokenElement = __decorate([safeCustomElement(`ixfx-ac-token`)], AcTokenElement);
|
|
2667
|
+
__decorate$1([n$2({ type: Boolean })], AcTokenElement.prototype, "strict", void 0);
|
|
2668
|
+
__decorate$1([r$1()], AcTokenElement.prototype, "_tokens", void 0);
|
|
2669
|
+
__decorate$1([r$1()], AcTokenElement.prototype, "_draft", void 0);
|
|
2670
|
+
__decorate$1([r$1()], AcTokenElement.prototype, "_selectedTokenIndex", void 0);
|
|
2671
|
+
__decorate$1([r$1()], AcTokenElement.prototype, "_suggestions", void 0);
|
|
2672
|
+
__decorate$1([r$1()], AcTokenElement.prototype, "_isOpen", void 0);
|
|
2673
|
+
__decorate$1([r$1()], AcTokenElement.prototype, "_isLoading", void 0);
|
|
2674
|
+
AcTokenElement = __decorate$1([safeCustomElement(`ixfx-ac-token`)], AcTokenElement);
|
|
2664
2675
|
//#endregion
|
|
2665
2676
|
//#region src/icons/defaults.ts
|
|
2666
2677
|
/**
|
|
@@ -2890,19 +2901,19 @@ let ButtonElement = class ButtonElement extends i$4 {
|
|
|
2890
2901
|
this.styles = [prominenceStyles, buttonStyles];
|
|
2891
2902
|
}
|
|
2892
2903
|
};
|
|
2893
|
-
__decorate([n$2({ type: Boolean })], ButtonElement.prototype, "disabled", void 0);
|
|
2894
|
-
__decorate([n$2({ type: String })], ButtonElement.prototype, "icon", void 0);
|
|
2895
|
-
__decorate([n$2({
|
|
2904
|
+
__decorate$1([n$2({ type: Boolean })], ButtonElement.prototype, "disabled", void 0);
|
|
2905
|
+
__decorate$1([n$2({ type: String })], ButtonElement.prototype, "icon", void 0);
|
|
2906
|
+
__decorate$1([n$2({
|
|
2896
2907
|
type: Boolean,
|
|
2897
2908
|
attribute: `hide-icon`,
|
|
2898
2909
|
reflect: true
|
|
2899
2910
|
})], ButtonElement.prototype, "hideIcon", void 0);
|
|
2900
|
-
__decorate([n$2({
|
|
2911
|
+
__decorate$1([n$2({
|
|
2901
2912
|
type: Boolean,
|
|
2902
2913
|
attribute: `hide-label`,
|
|
2903
2914
|
reflect: true
|
|
2904
2915
|
})], ButtonElement.prototype, "hideLabel", void 0);
|
|
2905
|
-
ButtonElement = __decorate([safeCustomElement(`ixfx-button`)], ButtonElement);
|
|
2916
|
+
ButtonElement = __decorate$1([safeCustomElement(`ixfx-button`)], ButtonElement);
|
|
2906
2917
|
//#endregion
|
|
2907
2918
|
//#region src/button/radio-group.ts
|
|
2908
2919
|
let RadioGroup = class RadioGroup extends i$4 {
|
|
@@ -3205,32 +3216,32 @@ let RadioGroup = class RadioGroup extends i$4 {
|
|
|
3205
3216
|
`];
|
|
3206
3217
|
}
|
|
3207
3218
|
};
|
|
3208
|
-
__decorate([n$2({ type: String })], RadioGroup.prototype, "value", void 0);
|
|
3209
|
-
__decorate([n$2({ type: String })], RadioGroup.prototype, "orientation", void 0);
|
|
3210
|
-
__decorate([n$2({ type: Array })], RadioGroup.prototype, "items", void 0);
|
|
3211
|
-
__decorate([n$2({ type: String })], RadioGroup.prototype, "name", void 0);
|
|
3212
|
-
__decorate([n$2({ type: String })], RadioGroup.prototype, "mode", void 0);
|
|
3213
|
-
__decorate([n$2({ type: Boolean })], RadioGroup.prototype, "checked", void 0);
|
|
3214
|
-
__decorate([n$2({
|
|
3219
|
+
__decorate$1([n$2({ type: String })], RadioGroup.prototype, "value", void 0);
|
|
3220
|
+
__decorate$1([n$2({ type: String })], RadioGroup.prototype, "orientation", void 0);
|
|
3221
|
+
__decorate$1([n$2({ type: Array })], RadioGroup.prototype, "items", void 0);
|
|
3222
|
+
__decorate$1([n$2({ type: String })], RadioGroup.prototype, "name", void 0);
|
|
3223
|
+
__decorate$1([n$2({ type: String })], RadioGroup.prototype, "mode", void 0);
|
|
3224
|
+
__decorate$1([n$2({ type: Boolean })], RadioGroup.prototype, "checked", void 0);
|
|
3225
|
+
__decorate$1([n$2({
|
|
3215
3226
|
type: String,
|
|
3216
3227
|
attribute: `value-off`
|
|
3217
3228
|
})], RadioGroup.prototype, "valueOff", void 0);
|
|
3218
|
-
__decorate([n$2({
|
|
3229
|
+
__decorate$1([n$2({
|
|
3219
3230
|
type: String,
|
|
3220
3231
|
attribute: `icon-name`
|
|
3221
3232
|
})], RadioGroup.prototype, "iconName", void 0);
|
|
3222
|
-
__decorate([n$2({
|
|
3233
|
+
__decorate$1([n$2({
|
|
3223
3234
|
type: String,
|
|
3224
3235
|
attribute: `icon-name-off`
|
|
3225
3236
|
})], RadioGroup.prototype, "iconNameOff", void 0);
|
|
3226
|
-
__decorate([n$2({
|
|
3237
|
+
__decorate$1([n$2({
|
|
3227
3238
|
type: Boolean,
|
|
3228
3239
|
attribute: `hide-labels`
|
|
3229
3240
|
})], RadioGroup.prototype, "hideLabels", void 0);
|
|
3230
|
-
__decorate([r$1()], RadioGroup.prototype, "_computedItems", void 0);
|
|
3231
|
-
__decorate([r$1()], RadioGroup.prototype, "_icons", void 0);
|
|
3232
|
-
__decorate([e$4(`slot`)], RadioGroup.prototype, "_slot", void 0);
|
|
3233
|
-
RadioGroup = __decorate([safeCustomElement(`ixfx-radio-group`)], RadioGroup);
|
|
3241
|
+
__decorate$1([r$1()], RadioGroup.prototype, "_computedItems", void 0);
|
|
3242
|
+
__decorate$1([r$1()], RadioGroup.prototype, "_icons", void 0);
|
|
3243
|
+
__decorate$1([e$4(`slot`)], RadioGroup.prototype, "_slot", void 0);
|
|
3244
|
+
RadioGroup = __decorate$1([safeCustomElement(`ixfx-radio-group`)], RadioGroup);
|
|
3234
3245
|
//#endregion
|
|
3235
3246
|
//#region src/styles/popup.ts
|
|
3236
3247
|
/**
|
|
@@ -3506,14 +3517,14 @@ let MenuContainer = class MenuContainer extends i$4 {
|
|
|
3506
3517
|
item.click();
|
|
3507
3518
|
}
|
|
3508
3519
|
};
|
|
3509
|
-
__decorate([n$2({
|
|
3520
|
+
__decorate$1([n$2({
|
|
3510
3521
|
type: String,
|
|
3511
3522
|
attribute: `anchor`
|
|
3512
3523
|
})], MenuContainer.prototype, "anchor", void 0);
|
|
3513
|
-
__decorate([n$2({ attribute: false })], MenuContainer.prototype, "registry", void 0);
|
|
3514
|
-
__decorate([n$2({ attribute: false })], MenuContainer.prototype, "keyboardManager", void 0);
|
|
3515
|
-
__decorate([e$4(`.popover`)], MenuContainer.prototype, "_popover", void 0);
|
|
3516
|
-
MenuContainer = __decorate([safeCustomElement(`ixfx-menu-container`)], MenuContainer);
|
|
3524
|
+
__decorate$1([n$2({ attribute: false })], MenuContainer.prototype, "registry", void 0);
|
|
3525
|
+
__decorate$1([n$2({ attribute: false })], MenuContainer.prototype, "keyboardManager", void 0);
|
|
3526
|
+
__decorate$1([e$4(`.popover`)], MenuContainer.prototype, "_popover", void 0);
|
|
3527
|
+
MenuContainer = __decorate$1([safeCustomElement(`ixfx-menu-container`)], MenuContainer);
|
|
3517
3528
|
//#endregion
|
|
3518
3529
|
//#region src/menu/menu-trigger.ts
|
|
3519
3530
|
var _MenuTrigger;
|
|
@@ -3795,17 +3806,17 @@ let MenuTrigger = class MenuTrigger extends i$4 {
|
|
|
3795
3806
|
`;
|
|
3796
3807
|
}
|
|
3797
3808
|
};
|
|
3798
|
-
__decorate([n$2({ type: String })], MenuTrigger.prototype, "mode", void 0);
|
|
3799
|
-
__decorate([n$2({ type: String })], MenuTrigger.prototype, "label", void 0);
|
|
3800
|
-
__decorate([n$2({ attribute: false })], MenuTrigger.prototype, "registry", void 0);
|
|
3801
|
-
__decorate([n$2({ attribute: false })], MenuTrigger.prototype, "keyboardManager", void 0);
|
|
3802
|
-
__decorate([n$2({ type: String })], MenuTrigger.prototype, "placement", void 0);
|
|
3803
|
-
__decorate([r$1()], MenuTrigger.prototype, "_isOpen", void 0);
|
|
3804
|
-
__decorate([r$1()], MenuTrigger.prototype, "_hasMenu", void 0);
|
|
3805
|
-
__decorate([r$1()], MenuTrigger.prototype, "_hasTriggerSlot", void 0);
|
|
3806
|
-
__decorate([e$4(`.trigger-btn`)], MenuTrigger.prototype, "_triggerBtn", void 0);
|
|
3807
|
-
__decorate([e$4(`.popup`)], MenuTrigger.prototype, "_popup", void 0);
|
|
3808
|
-
MenuTrigger = _MenuTrigger = __decorate([safeCustomElement(`ixfx-menu-trigger`)], MenuTrigger);
|
|
3809
|
+
__decorate$1([n$2({ type: String })], MenuTrigger.prototype, "mode", void 0);
|
|
3810
|
+
__decorate$1([n$2({ type: String })], MenuTrigger.prototype, "label", void 0);
|
|
3811
|
+
__decorate$1([n$2({ attribute: false })], MenuTrigger.prototype, "registry", void 0);
|
|
3812
|
+
__decorate$1([n$2({ attribute: false })], MenuTrigger.prototype, "keyboardManager", void 0);
|
|
3813
|
+
__decorate$1([n$2({ type: String })], MenuTrigger.prototype, "placement", void 0);
|
|
3814
|
+
__decorate$1([r$1()], MenuTrigger.prototype, "_isOpen", void 0);
|
|
3815
|
+
__decorate$1([r$1()], MenuTrigger.prototype, "_hasMenu", void 0);
|
|
3816
|
+
__decorate$1([r$1()], MenuTrigger.prototype, "_hasTriggerSlot", void 0);
|
|
3817
|
+
__decorate$1([e$4(`.trigger-btn`)], MenuTrigger.prototype, "_triggerBtn", void 0);
|
|
3818
|
+
__decorate$1([e$4(`.popup`)], MenuTrigger.prototype, "_popup", void 0);
|
|
3819
|
+
MenuTrigger = _MenuTrigger = __decorate$1([safeCustomElement(`ixfx-menu-trigger`)], MenuTrigger);
|
|
3809
3820
|
//#endregion
|
|
3810
3821
|
//#region src/menu/menu-item.ts
|
|
3811
3822
|
let MenuItem = class MenuItem extends i$4 {
|
|
@@ -3990,23 +4001,23 @@ let MenuItem = class MenuItem extends i$4 {
|
|
|
3990
4001
|
`;
|
|
3991
4002
|
}
|
|
3992
4003
|
};
|
|
3993
|
-
__decorate([n$2({ type: String })], MenuItem.prototype, "command", void 0);
|
|
3994
|
-
__decorate([n$2({
|
|
4004
|
+
__decorate$1([n$2({ type: String })], MenuItem.prototype, "command", void 0);
|
|
4005
|
+
__decorate$1([n$2({
|
|
3995
4006
|
type: String,
|
|
3996
4007
|
attribute: `command-args`
|
|
3997
4008
|
})], MenuItem.prototype, "commandArgs", void 0);
|
|
3998
|
-
__decorate([n$2({ type: String })], MenuItem.prototype, "label", void 0);
|
|
3999
|
-
__decorate([n$2({ type: Boolean })], MenuItem.prototype, "disabled", void 0);
|
|
4000
|
-
__decorate([n$2({
|
|
4009
|
+
__decorate$1([n$2({ type: String })], MenuItem.prototype, "label", void 0);
|
|
4010
|
+
__decorate$1([n$2({ type: Boolean })], MenuItem.prototype, "disabled", void 0);
|
|
4011
|
+
__decorate$1([n$2({
|
|
4001
4012
|
type: String,
|
|
4002
4013
|
attribute: `icon-name`
|
|
4003
4014
|
})], MenuItem.prototype, "iconName", void 0);
|
|
4004
|
-
__decorate([n$2({ attribute: false })], MenuItem.prototype, "registry", void 0);
|
|
4005
|
-
__decorate([n$2({ attribute: false })], MenuItem.prototype, "keyboardManager", void 0);
|
|
4006
|
-
__decorate([n$2({ attribute: false })], MenuItem.prototype, "submenuPopover", void 0);
|
|
4007
|
-
__decorate([r$1()], MenuItem.prototype, "_hasChildren", void 0);
|
|
4008
|
-
__decorate([e$4(`slot`)], MenuItem.prototype, "_slot", void 0);
|
|
4009
|
-
MenuItem = __decorate([safeCustomElement(`ixfx-menu-item`)], MenuItem);
|
|
4015
|
+
__decorate$1([n$2({ attribute: false })], MenuItem.prototype, "registry", void 0);
|
|
4016
|
+
__decorate$1([n$2({ attribute: false })], MenuItem.prototype, "keyboardManager", void 0);
|
|
4017
|
+
__decorate$1([n$2({ attribute: false })], MenuItem.prototype, "submenuPopover", void 0);
|
|
4018
|
+
__decorate$1([r$1()], MenuItem.prototype, "_hasChildren", void 0);
|
|
4019
|
+
__decorate$1([e$4(`slot`)], MenuItem.prototype, "_slot", void 0);
|
|
4020
|
+
MenuItem = __decorate$1([safeCustomElement(`ixfx-menu-item`)], MenuItem);
|
|
4010
4021
|
//#endregion
|
|
4011
4022
|
//#region src/button/split-button.ts
|
|
4012
4023
|
let SplitButton = class SplitButton extends ButtonElement {
|
|
@@ -4377,25 +4388,25 @@ let SplitButton = class SplitButton extends ButtonElement {
|
|
|
4377
4388
|
];
|
|
4378
4389
|
}
|
|
4379
4390
|
};
|
|
4380
|
-
__decorate([n$2({ attribute: false })], SplitButton.prototype, "registry", void 0);
|
|
4381
|
-
__decorate([n$2({ attribute: false })], SplitButton.prototype, "keyboardManager", void 0);
|
|
4382
|
-
__decorate([n$2({ type: String })], SplitButton.prototype, "mode", void 0);
|
|
4383
|
-
__decorate([n$2({
|
|
4391
|
+
__decorate$1([n$2({ attribute: false })], SplitButton.prototype, "registry", void 0);
|
|
4392
|
+
__decorate$1([n$2({ attribute: false })], SplitButton.prototype, "keyboardManager", void 0);
|
|
4393
|
+
__decorate$1([n$2({ type: String })], SplitButton.prototype, "mode", void 0);
|
|
4394
|
+
__decorate$1([n$2({
|
|
4384
4395
|
type: String,
|
|
4385
4396
|
attribute: `default-value`
|
|
4386
4397
|
})], SplitButton.prototype, "defaultValue", void 0);
|
|
4387
|
-
__decorate([n$2({ attribute: false })], SplitButton.prototype, "itemsProvider", void 0);
|
|
4388
|
-
__decorate([n$2({ attribute: false })], SplitButton.prototype, "items", void 0);
|
|
4389
|
-
__decorate([e$4(`ixfx-menu-trigger`)], SplitButton.prototype, "_menuTrigger", void 0);
|
|
4390
|
-
__decorate([r$1()], SplitButton.prototype, "_compact", void 0);
|
|
4391
|
-
__decorate([r$1()], SplitButton.prototype, "_selectedCommand", void 0);
|
|
4392
|
-
__decorate([r$1()], SplitButton.prototype, "_selectedLabel", void 0);
|
|
4393
|
-
__decorate([r$1()], SplitButton.prototype, "_selectedIcon", void 0);
|
|
4394
|
-
__decorate([r$1()], SplitButton.prototype, "_switcherItems", void 0);
|
|
4395
|
-
__decorate([r$1()], SplitButton.prototype, "_dynamicItems", void 0);
|
|
4396
|
-
__decorate([r$1()], SplitButton.prototype, "_loadingItems", void 0);
|
|
4397
|
-
__decorate([r$1()], SplitButton.prototype, "_menuHasItems", void 0);
|
|
4398
|
-
SplitButton = __decorate([safeCustomElement(`ixfx-split-button`)], SplitButton);
|
|
4398
|
+
__decorate$1([n$2({ attribute: false })], SplitButton.prototype, "itemsProvider", void 0);
|
|
4399
|
+
__decorate$1([n$2({ attribute: false })], SplitButton.prototype, "items", void 0);
|
|
4400
|
+
__decorate$1([e$4(`ixfx-menu-trigger`)], SplitButton.prototype, "_menuTrigger", void 0);
|
|
4401
|
+
__decorate$1([r$1()], SplitButton.prototype, "_compact", void 0);
|
|
4402
|
+
__decorate$1([r$1()], SplitButton.prototype, "_selectedCommand", void 0);
|
|
4403
|
+
__decorate$1([r$1()], SplitButton.prototype, "_selectedLabel", void 0);
|
|
4404
|
+
__decorate$1([r$1()], SplitButton.prototype, "_selectedIcon", void 0);
|
|
4405
|
+
__decorate$1([r$1()], SplitButton.prototype, "_switcherItems", void 0);
|
|
4406
|
+
__decorate$1([r$1()], SplitButton.prototype, "_dynamicItems", void 0);
|
|
4407
|
+
__decorate$1([r$1()], SplitButton.prototype, "_loadingItems", void 0);
|
|
4408
|
+
__decorate$1([r$1()], SplitButton.prototype, "_menuHasItems", void 0);
|
|
4409
|
+
SplitButton = __decorate$1([safeCustomElement(`ixfx-split-button`)], SplitButton);
|
|
4399
4410
|
//#endregion
|
|
4400
4411
|
//#region src/checkbox.ts
|
|
4401
4412
|
/**
|
|
@@ -4634,13 +4645,13 @@ let Checkbox = class Checkbox extends i$4 {
|
|
|
4634
4645
|
`;
|
|
4635
4646
|
}
|
|
4636
4647
|
};
|
|
4637
|
-
__decorate([n$2({ type: Boolean })], Checkbox.prototype, "checked", void 0);
|
|
4638
|
-
__decorate([n$2({ type: Boolean })], Checkbox.prototype, "disabled", void 0);
|
|
4639
|
-
__decorate([n$2({ type: Boolean })], Checkbox.prototype, "indeterminate", void 0);
|
|
4640
|
-
__decorate([n$2({ type: String })], Checkbox.prototype, "label", void 0);
|
|
4641
|
-
__decorate([n$2({ type: String })], Checkbox.prototype, "name", void 0);
|
|
4642
|
-
__decorate([n$2({ type: String })], Checkbox.prototype, "value", void 0);
|
|
4643
|
-
Checkbox = __decorate([safeCustomElement(`ixfx-checkbox`)], Checkbox);
|
|
4648
|
+
__decorate$1([n$2({ type: Boolean })], Checkbox.prototype, "checked", void 0);
|
|
4649
|
+
__decorate$1([n$2({ type: Boolean })], Checkbox.prototype, "disabled", void 0);
|
|
4650
|
+
__decorate$1([n$2({ type: Boolean })], Checkbox.prototype, "indeterminate", void 0);
|
|
4651
|
+
__decorate$1([n$2({ type: String })], Checkbox.prototype, "label", void 0);
|
|
4652
|
+
__decorate$1([n$2({ type: String })], Checkbox.prototype, "name", void 0);
|
|
4653
|
+
__decorate$1([n$2({ type: String })], Checkbox.prototype, "value", void 0);
|
|
4654
|
+
Checkbox = __decorate$1([safeCustomElement(`ixfx-checkbox`)], Checkbox);
|
|
4644
4655
|
//#endregion
|
|
4645
4656
|
//#region node_modules/.pnpm/@ixfx+visual@0.56.12/node_modules/@ixfx/visual/dist/chunk-pbuEa-1d.js
|
|
4646
4657
|
var __defProp$5 = Object.defineProperty;
|
|
@@ -5644,7 +5655,7 @@ const dotProduct = (values, nonNumber = `ignore`) => {
|
|
|
5644
5655
|
* @param max value (inclusive)
|
|
5645
5656
|
* @returns Clamped value
|
|
5646
5657
|
*/
|
|
5647
|
-
function clamp$
|
|
5658
|
+
function clamp$3(value, min = 0, max = 1) {
|
|
5648
5659
|
if (Number.isNaN(value)) throw new Error(`Param 'value' is NaN`);
|
|
5649
5660
|
if (Number.isNaN(min)) throw new Error(`Param 'min' is NaN`);
|
|
5650
5661
|
if (Number.isNaN(max)) throw new Error(`Param 'max' is NaN`);
|
|
@@ -5743,7 +5754,7 @@ function interpolate$2(pos1, pos2, pos3, pos4) {
|
|
|
5743
5754
|
let limits = `clamp`;
|
|
5744
5755
|
const handleAmount = (amount) => {
|
|
5745
5756
|
if (amountProcess) amount = amountProcess(amount);
|
|
5746
|
-
if (limits === void 0 || limits === `clamp`) amount = clamp$
|
|
5757
|
+
if (limits === void 0 || limits === `clamp`) amount = clamp$3(amount);
|
|
5747
5758
|
else if (limits === `wrap`) {
|
|
5748
5759
|
if (amount > 1) amount = amount % 1;
|
|
5749
5760
|
else if (amount < 0) amount = 1 + amount % 1;
|
|
@@ -5966,7 +5977,7 @@ const scaleClamped = (value, inMin, inMax, outMin, outMax, easing) => {
|
|
|
5966
5977
|
if (typeof outMax === `undefined`) outMax = 1;
|
|
5967
5978
|
if (typeof outMin === `undefined`) outMin = 0;
|
|
5968
5979
|
if (inMin === inMax) return outMax;
|
|
5969
|
-
return clamp$
|
|
5980
|
+
return clamp$3(scale$2(value, inMin, inMax, outMin, outMax, easing), outMin, outMax);
|
|
5970
5981
|
};
|
|
5971
5982
|
/**
|
|
5972
5983
|
* Returns an empty range:
|
|
@@ -13576,7 +13587,7 @@ const relative = (total, options = {}) => {
|
|
|
13576
13587
|
const computeElapsed = (value) => {
|
|
13577
13588
|
lastValue = value;
|
|
13578
13589
|
let v = value / (total * modulationAmount);
|
|
13579
|
-
if (clampValue) v = clamp$
|
|
13590
|
+
if (clampValue) v = clamp$3(v);
|
|
13580
13591
|
else if (wrapValue && v >= 1) v = v % 1;
|
|
13581
13592
|
return v;
|
|
13582
13593
|
};
|
|
@@ -14197,13 +14208,13 @@ const centroid = (...points) => {
|
|
|
14197
14208
|
*/
|
|
14198
14209
|
function clamp$1$2(a, min = 0, max = 1) {
|
|
14199
14210
|
if (isPoint3d(a)) return Object.freeze({
|
|
14200
|
-
x: clamp$
|
|
14201
|
-
y: clamp$
|
|
14202
|
-
z: clamp$
|
|
14211
|
+
x: clamp$3(a.x, min, max),
|
|
14212
|
+
y: clamp$3(a.y, min, max),
|
|
14213
|
+
z: clamp$3(a.z, min, max)
|
|
14203
14214
|
});
|
|
14204
14215
|
else return Object.freeze({
|
|
14205
|
-
x: clamp$
|
|
14206
|
-
y: clamp$
|
|
14216
|
+
x: clamp$3(a.x, min, max),
|
|
14217
|
+
y: clamp$3(a.y, min, max)
|
|
14207
14218
|
});
|
|
14208
14219
|
}
|
|
14209
14220
|
/**
|
|
@@ -17219,7 +17230,7 @@ function interpolator$3(a, b, direction = `shorter`) {
|
|
|
17219
17230
|
const lightDistance = b.l - a.l;
|
|
17220
17231
|
const opacityDistance = (b.opacity ?? 1) - aOpacity;
|
|
17221
17232
|
return (amount) => {
|
|
17222
|
-
amount = clamp$
|
|
17233
|
+
amount = clamp$3(amount);
|
|
17223
17234
|
let h = interpolate$2(amount, 0, Math.abs(hueDistance));
|
|
17224
17235
|
if (hueDistance < 0) h = a.h - h;
|
|
17225
17236
|
else h = a.h + h;
|
|
@@ -17612,7 +17623,7 @@ function interpolator$2(colourA, colourB) {
|
|
|
17612
17623
|
const g = bb.g - aa.g;
|
|
17613
17624
|
const b = bb.b - aa.b;
|
|
17614
17625
|
return (amount) => {
|
|
17615
|
-
amount = clamp$
|
|
17626
|
+
amount = clamp$3(amount);
|
|
17616
17627
|
return scalar$2(aa.r + interpolate$2(amount, 0, r), aa.g + interpolate$2(amount, 0, g), aa.b + interpolate$2(amount, 0, b), aOpacity + interpolate$2(amount, 0, opacityDistance));
|
|
17617
17628
|
};
|
|
17618
17629
|
}
|
|
@@ -17825,7 +17836,7 @@ function interpolator$1(a, b, direction = `shorter`) {
|
|
|
17825
17836
|
const lightDistance = b.l - a.l;
|
|
17826
17837
|
const opacityDistance = (b.opacity ?? 1) - aOpacity;
|
|
17827
17838
|
return (amount) => {
|
|
17828
|
-
amount = clamp$
|
|
17839
|
+
amount = clamp$3(amount);
|
|
17829
17840
|
let h = interpolate$2(amount, 0, Math.abs(hueDistance));
|
|
17830
17841
|
if (hueDistance < 0) h = a.h - h;
|
|
17831
17842
|
else h = a.h + h;
|
|
@@ -18486,7 +18497,7 @@ function createSteps(a, b, options = {}) {
|
|
|
18486
18497
|
* @param amount Amount
|
|
18487
18498
|
*/
|
|
18488
18499
|
function multiplyOpacity(colourish, amount) {
|
|
18489
|
-
return withOpacity(colourish, (o) => clamp$
|
|
18500
|
+
return withOpacity(colourish, (o) => clamp$3(o * amount));
|
|
18490
18501
|
}
|
|
18491
18502
|
/**
|
|
18492
18503
|
* Does a computation with the opacity of a colour, returning colour.
|
|
@@ -18885,28 +18896,28 @@ var LabelledInputBase = class extends i$4 {
|
|
|
18885
18896
|
if (changedProperties.has(`value`)) this._syncValue(this.value);
|
|
18886
18897
|
}
|
|
18887
18898
|
};
|
|
18888
|
-
__decorate([n$2()], LabelledInputBase.prototype, "label", void 0);
|
|
18889
|
-
__decorate([n$2({ type: Number })], LabelledInputBase.prototype, "min", void 0);
|
|
18890
|
-
__decorate([n$2({ type: Number })], LabelledInputBase.prototype, "max", void 0);
|
|
18891
|
-
__decorate([n$2({ type: Number })], LabelledInputBase.prototype, "value", void 0);
|
|
18892
|
-
__decorate([n$2({ type: Number })], LabelledInputBase.prototype, "step", void 0);
|
|
18893
|
-
__decorate([n$2({ type: Number })], LabelledInputBase.prototype, "precision", void 0);
|
|
18894
|
-
__decorate([n$2({
|
|
18899
|
+
__decorate$1([n$2()], LabelledInputBase.prototype, "label", void 0);
|
|
18900
|
+
__decorate$1([n$2({ type: Number })], LabelledInputBase.prototype, "min", void 0);
|
|
18901
|
+
__decorate$1([n$2({ type: Number })], LabelledInputBase.prototype, "max", void 0);
|
|
18902
|
+
__decorate$1([n$2({ type: Number })], LabelledInputBase.prototype, "value", void 0);
|
|
18903
|
+
__decorate$1([n$2({ type: Number })], LabelledInputBase.prototype, "step", void 0);
|
|
18904
|
+
__decorate$1([n$2({ type: Number })], LabelledInputBase.prototype, "precision", void 0);
|
|
18905
|
+
__decorate$1([n$2({
|
|
18895
18906
|
type: Number,
|
|
18896
18907
|
attribute: `drag-sensitivity`
|
|
18897
18908
|
})], LabelledInputBase.prototype, "dragSensitivity", void 0);
|
|
18898
|
-
__decorate([n$2({
|
|
18909
|
+
__decorate$1([n$2({
|
|
18899
18910
|
type: Number,
|
|
18900
18911
|
attribute: `mini-width-threshold`
|
|
18901
18912
|
})], LabelledInputBase.prototype, "miniWidthThreshold", void 0);
|
|
18902
|
-
__decorate([n$2({
|
|
18913
|
+
__decorate$1([n$2({
|
|
18903
18914
|
type: Number,
|
|
18904
18915
|
attribute: `mini-height-threshold`
|
|
18905
18916
|
})], LabelledInputBase.prototype, "miniHeightThreshold", void 0);
|
|
18906
|
-
__decorate([n$2({ attribute: `display-text-logic` })], LabelledInputBase.prototype, "displayTextLogic", void 0);
|
|
18907
|
-
__decorate([r$1()], LabelledInputBase.prototype, "_isMini", void 0);
|
|
18908
|
-
__decorate([r$1()], LabelledInputBase.prototype, "_isDragging", void 0);
|
|
18909
|
-
__decorate([r$1()], LabelledInputBase.prototype, "_formatter", void 0);
|
|
18917
|
+
__decorate$1([n$2({ attribute: `display-text-logic` })], LabelledInputBase.prototype, "displayTextLogic", void 0);
|
|
18918
|
+
__decorate$1([r$1()], LabelledInputBase.prototype, "_isMini", void 0);
|
|
18919
|
+
__decorate$1([r$1()], LabelledInputBase.prototype, "_isDragging", void 0);
|
|
18920
|
+
__decorate$1([r$1()], LabelledInputBase.prototype, "_formatter", void 0);
|
|
18910
18921
|
//#endregion
|
|
18911
18922
|
//#region src/labelled-range-input/labelled-range-input.ts
|
|
18912
18923
|
let LabelledRangeInput = class LabelledRangeInput extends LabelledInputBase {
|
|
@@ -19017,21 +19028,21 @@ let LabelledRangeInput = class LabelledRangeInput extends LabelledInputBase {
|
|
|
19017
19028
|
`;
|
|
19018
19029
|
}
|
|
19019
19030
|
};
|
|
19020
|
-
__decorate([n$2({ type: String })], LabelledRangeInput.prototype, "orientation", void 0);
|
|
19021
|
-
__decorate([n$2({ type: Boolean })], LabelledRangeInput.prototype, "tooltip", void 0);
|
|
19022
|
-
__decorate([n$2({
|
|
19031
|
+
__decorate$1([n$2({ type: String })], LabelledRangeInput.prototype, "orientation", void 0);
|
|
19032
|
+
__decorate$1([n$2({ type: Boolean })], LabelledRangeInput.prototype, "tooltip", void 0);
|
|
19033
|
+
__decorate$1([n$2({
|
|
19023
19034
|
type: Boolean,
|
|
19024
19035
|
attribute: `no-tooltip`
|
|
19025
19036
|
})], LabelledRangeInput.prototype, "noTooltip", void 0);
|
|
19026
|
-
__decorate([n$2({
|
|
19037
|
+
__decorate$1([n$2({
|
|
19027
19038
|
type: String,
|
|
19028
19039
|
attribute: `tooltip-orientation`
|
|
19029
19040
|
})], LabelledRangeInput.prototype, "tooltipOrientation", void 0);
|
|
19030
|
-
__decorate([n$2({
|
|
19041
|
+
__decorate$1([n$2({
|
|
19031
19042
|
type: Number,
|
|
19032
19043
|
attribute: `switch-height`
|
|
19033
19044
|
})], LabelledRangeInput.prototype, "switchHeight", void 0);
|
|
19034
|
-
LabelledRangeInput = __decorate([safeCustomElement(`ixfx-labelled-range-input`)], LabelledRangeInput);
|
|
19045
|
+
LabelledRangeInput = __decorate$1([safeCustomElement(`ixfx-labelled-range-input`)], LabelledRangeInput);
|
|
19035
19046
|
//#endregion
|
|
19036
19047
|
//#region src/colour-picker/colour-picker.ts
|
|
19037
19048
|
let ColourPicker = class ColourPicker extends i$4 {
|
|
@@ -19482,75 +19493,75 @@ let ColourPicker = class ColourPicker extends i$4 {
|
|
|
19482
19493
|
`;
|
|
19483
19494
|
}
|
|
19484
19495
|
};
|
|
19485
|
-
__decorate([n$2({ type: Number })], ColourPicker.prototype, "l", void 0);
|
|
19486
|
-
__decorate([n$2({ type: Number })], ColourPicker.prototype, "c", void 0);
|
|
19487
|
-
__decorate([n$2({ type: Number })], ColourPicker.prototype, "h", void 0);
|
|
19488
|
-
__decorate([n$2({ type: Number })], ColourPicker.prototype, "a", void 0);
|
|
19489
|
-
__decorate([n$2({
|
|
19496
|
+
__decorate$1([n$2({ type: Number })], ColourPicker.prototype, "l", void 0);
|
|
19497
|
+
__decorate$1([n$2({ type: Number })], ColourPicker.prototype, "c", void 0);
|
|
19498
|
+
__decorate$1([n$2({ type: Number })], ColourPicker.prototype, "h", void 0);
|
|
19499
|
+
__decorate$1([n$2({ type: Number })], ColourPicker.prototype, "a", void 0);
|
|
19500
|
+
__decorate$1([n$2({
|
|
19490
19501
|
type: Boolean,
|
|
19491
19502
|
attribute: `hide-preview`,
|
|
19492
19503
|
reflect: true
|
|
19493
19504
|
})], ColourPicker.prototype, "hidePreview", void 0);
|
|
19494
|
-
__decorate([n$2({
|
|
19505
|
+
__decorate$1([n$2({
|
|
19495
19506
|
type: Boolean,
|
|
19496
19507
|
attribute: `hide-h`,
|
|
19497
19508
|
reflect: true
|
|
19498
19509
|
})], ColourPicker.prototype, "hideH", void 0);
|
|
19499
|
-
__decorate([n$2({
|
|
19510
|
+
__decorate$1([n$2({
|
|
19500
19511
|
type: Boolean,
|
|
19501
19512
|
attribute: `hide-l`,
|
|
19502
19513
|
reflect: true
|
|
19503
19514
|
})], ColourPicker.prototype, "hideL", void 0);
|
|
19504
|
-
__decorate([n$2({
|
|
19515
|
+
__decorate$1([n$2({
|
|
19505
19516
|
type: Boolean,
|
|
19506
19517
|
attribute: `hide-c`,
|
|
19507
19518
|
reflect: true
|
|
19508
19519
|
})], ColourPicker.prototype, "hideC", void 0);
|
|
19509
|
-
__decorate([n$2({
|
|
19520
|
+
__decorate$1([n$2({
|
|
19510
19521
|
type: Boolean,
|
|
19511
19522
|
attribute: `show-a`
|
|
19512
19523
|
})], ColourPicker.prototype, "showA", void 0);
|
|
19513
|
-
__decorate([n$2({
|
|
19524
|
+
__decorate$1([n$2({
|
|
19514
19525
|
type: Boolean,
|
|
19515
19526
|
attribute: `horizontal`,
|
|
19516
19527
|
reflect: true
|
|
19517
19528
|
})], ColourPicker.prototype, "horizontal", void 0);
|
|
19518
|
-
__decorate([n$2({
|
|
19529
|
+
__decorate$1([n$2({
|
|
19519
19530
|
type: Boolean,
|
|
19520
19531
|
attribute: `sliders-vertical`,
|
|
19521
19532
|
reflect: true
|
|
19522
19533
|
})], ColourPicker.prototype, "slidersVertical", void 0);
|
|
19523
|
-
__decorate([n$2({
|
|
19534
|
+
__decorate$1([n$2({
|
|
19524
19535
|
type: Boolean,
|
|
19525
19536
|
attribute: `hide-tooltips`,
|
|
19526
19537
|
reflect: true
|
|
19527
19538
|
})], ColourPicker.prototype, "hideTooltips", void 0);
|
|
19528
|
-
__decorate([n$2({
|
|
19539
|
+
__decorate$1([n$2({
|
|
19529
19540
|
type: String,
|
|
19530
19541
|
attribute: `value`
|
|
19531
19542
|
})], ColourPicker.prototype, "_valueAttr", void 0);
|
|
19532
|
-
__decorate([n$2({
|
|
19543
|
+
__decorate$1([n$2({
|
|
19533
19544
|
type: String,
|
|
19534
19545
|
attribute: `range-l`
|
|
19535
19546
|
})], ColourPicker.prototype, "rangeLAttr", void 0);
|
|
19536
|
-
__decorate([n$2({
|
|
19547
|
+
__decorate$1([n$2({
|
|
19537
19548
|
type: String,
|
|
19538
19549
|
attribute: `range-c`
|
|
19539
19550
|
})], ColourPicker.prototype, "rangeCAttr", void 0);
|
|
19540
|
-
__decorate([n$2({
|
|
19551
|
+
__decorate$1([n$2({
|
|
19541
19552
|
type: String,
|
|
19542
19553
|
attribute: `range-h`
|
|
19543
19554
|
})], ColourPicker.prototype, "rangeHAttr", void 0);
|
|
19544
|
-
__decorate([n$2({
|
|
19555
|
+
__decorate$1([n$2({
|
|
19545
19556
|
type: String,
|
|
19546
19557
|
attribute: `range-a`
|
|
19547
19558
|
})], ColourPicker.prototype, "rangeAAttr", void 0);
|
|
19548
|
-
__decorate([e$4(`#slider-l`)], ColourPicker.prototype, "_sliderL", void 0);
|
|
19549
|
-
__decorate([e$4(`#slider-c`)], ColourPicker.prototype, "_sliderC", void 0);
|
|
19550
|
-
__decorate([e$4(`#slider-h`)], ColourPicker.prototype, "_sliderH", void 0);
|
|
19551
|
-
__decorate([e$4(`#slider-a`)], ColourPicker.prototype, "_sliderA", void 0);
|
|
19552
|
-
__decorate([e$4(`.preview`)], ColourPicker.prototype, "_previewEl", void 0);
|
|
19553
|
-
ColourPicker = __decorate([safeCustomElement(`ixfx-colour-picker`)], ColourPicker);
|
|
19559
|
+
__decorate$1([e$4(`#slider-l`)], ColourPicker.prototype, "_sliderL", void 0);
|
|
19560
|
+
__decorate$1([e$4(`#slider-c`)], ColourPicker.prototype, "_sliderC", void 0);
|
|
19561
|
+
__decorate$1([e$4(`#slider-h`)], ColourPicker.prototype, "_sliderH", void 0);
|
|
19562
|
+
__decorate$1([e$4(`#slider-a`)], ColourPicker.prototype, "_sliderA", void 0);
|
|
19563
|
+
__decorate$1([e$4(`.preview`)], ColourPicker.prototype, "_previewEl", void 0);
|
|
19564
|
+
ColourPicker = __decorate$1([safeCustomElement(`ixfx-colour-picker`)], ColourPicker);
|
|
19554
19565
|
//#endregion
|
|
19555
19566
|
//#region src/colour-picker/colour-picker-popup.ts
|
|
19556
19567
|
let _instanceCounter = 0;
|
|
@@ -19885,44 +19896,44 @@ let ColourPickerPopup = class ColourPickerPopup extends i$4 {
|
|
|
19885
19896
|
`];
|
|
19886
19897
|
}
|
|
19887
19898
|
};
|
|
19888
|
-
__decorate([n$2({ type: String })], ColourPickerPopup.prototype, "mode", void 0);
|
|
19889
|
-
__decorate([n$2({ type: Number })], ColourPickerPopup.prototype, "l", void 0);
|
|
19890
|
-
__decorate([n$2({ type: Number })], ColourPickerPopup.prototype, "c", void 0);
|
|
19891
|
-
__decorate([n$2({ type: Number })], ColourPickerPopup.prototype, "h", void 0);
|
|
19892
|
-
__decorate([n$2({ type: Number })], ColourPickerPopup.prototype, "a", void 0);
|
|
19893
|
-
__decorate([n$2({
|
|
19899
|
+
__decorate$1([n$2({ type: String })], ColourPickerPopup.prototype, "mode", void 0);
|
|
19900
|
+
__decorate$1([n$2({ type: Number })], ColourPickerPopup.prototype, "l", void 0);
|
|
19901
|
+
__decorate$1([n$2({ type: Number })], ColourPickerPopup.prototype, "c", void 0);
|
|
19902
|
+
__decorate$1([n$2({ type: Number })], ColourPickerPopup.prototype, "h", void 0);
|
|
19903
|
+
__decorate$1([n$2({ type: Number })], ColourPickerPopup.prototype, "a", void 0);
|
|
19904
|
+
__decorate$1([n$2({
|
|
19894
19905
|
type: Boolean,
|
|
19895
19906
|
attribute: `show-preview`
|
|
19896
19907
|
})], ColourPickerPopup.prototype, "showPreview", void 0);
|
|
19897
|
-
__decorate([n$2({
|
|
19908
|
+
__decorate$1([n$2({
|
|
19898
19909
|
type: Boolean,
|
|
19899
19910
|
attribute: `hide-h`,
|
|
19900
19911
|
reflect: true
|
|
19901
19912
|
})], ColourPickerPopup.prototype, "hideH", void 0);
|
|
19902
|
-
__decorate([n$2({
|
|
19913
|
+
__decorate$1([n$2({
|
|
19903
19914
|
type: Boolean,
|
|
19904
19915
|
attribute: `hide-l`,
|
|
19905
19916
|
reflect: true
|
|
19906
19917
|
})], ColourPickerPopup.prototype, "hideL", void 0);
|
|
19907
|
-
__decorate([n$2({
|
|
19918
|
+
__decorate$1([n$2({
|
|
19908
19919
|
type: Boolean,
|
|
19909
19920
|
attribute: `hide-c`,
|
|
19910
19921
|
reflect: true
|
|
19911
19922
|
})], ColourPickerPopup.prototype, "hideC", void 0);
|
|
19912
|
-
__decorate([n$2({
|
|
19923
|
+
__decorate$1([n$2({
|
|
19913
19924
|
type: Boolean,
|
|
19914
19925
|
attribute: `show-a`
|
|
19915
19926
|
})], ColourPickerPopup.prototype, "showA", void 0);
|
|
19916
|
-
__decorate([n$2({
|
|
19927
|
+
__decorate$1([n$2({
|
|
19917
19928
|
type: Boolean,
|
|
19918
19929
|
attribute: `horizontal`
|
|
19919
19930
|
})], ColourPickerPopup.prototype, "horizontal", void 0);
|
|
19920
|
-
__decorate([n$2({ type: String })], ColourPickerPopup.prototype, "size", void 0);
|
|
19921
|
-
__decorate([r$1()], ColourPickerPopup.prototype, "_isOpen", void 0);
|
|
19922
|
-
__decorate([r$1()], ColourPickerPopup.prototype, "_everOpened", void 0);
|
|
19923
|
-
__decorate([e$4(`.popup`)], ColourPickerPopup.prototype, "_popupEl", void 0);
|
|
19924
|
-
__decorate([e$4(`ixfx-colour-picker`)], ColourPickerPopup.prototype, "_pickerEl", void 0);
|
|
19925
|
-
ColourPickerPopup = __decorate([safeCustomElement(`ixfx-colour-picker-popup`)], ColourPickerPopup);
|
|
19931
|
+
__decorate$1([n$2({ type: String })], ColourPickerPopup.prototype, "size", void 0);
|
|
19932
|
+
__decorate$1([r$1()], ColourPickerPopup.prototype, "_isOpen", void 0);
|
|
19933
|
+
__decorate$1([r$1()], ColourPickerPopup.prototype, "_everOpened", void 0);
|
|
19934
|
+
__decorate$1([e$4(`.popup`)], ColourPickerPopup.prototype, "_popupEl", void 0);
|
|
19935
|
+
__decorate$1([e$4(`ixfx-colour-picker`)], ColourPickerPopup.prototype, "_pickerEl", void 0);
|
|
19936
|
+
ColourPickerPopup = __decorate$1([safeCustomElement(`ixfx-colour-picker-popup`)], ColourPickerPopup);
|
|
19926
19937
|
//#endregion
|
|
19927
19938
|
//#region src/common/tree-data-model.ts
|
|
19928
19939
|
function findNode(root, key) {
|
|
@@ -20632,45 +20643,45 @@ let NarrowedTextElement = class NarrowedTextElement extends i$4 {
|
|
|
20632
20643
|
];
|
|
20633
20644
|
}
|
|
20634
20645
|
};
|
|
20635
|
-
__decorate([n$2({
|
|
20646
|
+
__decorate$1([n$2({
|
|
20636
20647
|
type: String,
|
|
20637
20648
|
attribute: `selection-mode`
|
|
20638
20649
|
})], NarrowedTextElement.prototype, "selectionMode", void 0);
|
|
20639
|
-
__decorate([n$2({
|
|
20650
|
+
__decorate$1([n$2({
|
|
20640
20651
|
type: Boolean,
|
|
20641
20652
|
attribute: `required-selection`
|
|
20642
20653
|
})], NarrowedTextElement.prototype, "requiredSelection", void 0);
|
|
20643
|
-
__decorate([n$2({
|
|
20654
|
+
__decorate$1([n$2({
|
|
20644
20655
|
type: String,
|
|
20645
20656
|
attribute: `orientation`
|
|
20646
20657
|
})], NarrowedTextElement.prototype, "orientation", void 0);
|
|
20647
|
-
__decorate([n$2({
|
|
20658
|
+
__decorate$1([n$2({
|
|
20648
20659
|
type: Boolean,
|
|
20649
20660
|
attribute: `nowrap`
|
|
20650
20661
|
})], NarrowedTextElement.prototype, "nowrap", void 0);
|
|
20651
|
-
__decorate([n$2({
|
|
20662
|
+
__decorate$1([n$2({
|
|
20652
20663
|
type: String,
|
|
20653
20664
|
attribute: `separator`
|
|
20654
20665
|
})], NarrowedTextElement.prototype, "separator", void 0);
|
|
20655
|
-
__decorate([n$2({
|
|
20666
|
+
__decorate$1([n$2({
|
|
20656
20667
|
type: String,
|
|
20657
20668
|
attribute: `width`
|
|
20658
20669
|
})], NarrowedTextElement.prototype, "width", void 0);
|
|
20659
|
-
__decorate([n$2({
|
|
20670
|
+
__decorate$1([n$2({
|
|
20660
20671
|
type: String,
|
|
20661
20672
|
attribute: `height`
|
|
20662
20673
|
})], NarrowedTextElement.prototype, "height", void 0);
|
|
20663
|
-
__decorate([n$2({
|
|
20674
|
+
__decorate$1([n$2({
|
|
20664
20675
|
type: Boolean,
|
|
20665
20676
|
attribute: `preserve-filter`
|
|
20666
20677
|
})], NarrowedTextElement.prototype, "preserveFilter", void 0);
|
|
20667
|
-
__decorate([n$2({ type: String })], NarrowedTextElement.prototype, "value", void 0);
|
|
20668
|
-
__decorate([r$1()], NarrowedTextElement.prototype, "_query", void 0);
|
|
20669
|
-
__decorate([r$1()], NarrowedTextElement.prototype, "_computedItems", void 0);
|
|
20670
|
-
__decorate([r$1()], NarrowedTextElement.prototype, "_filteredItems", void 0);
|
|
20671
|
-
__decorate([r$1()], NarrowedTextElement.prototype, "_isFocused", void 0);
|
|
20672
|
-
__decorate([e$4(`slot`)], NarrowedTextElement.prototype, "_slot", void 0);
|
|
20673
|
-
NarrowedTextElement = __decorate([safeCustomElement(`ixfx-narrowed-text`)], NarrowedTextElement);
|
|
20678
|
+
__decorate$1([n$2({ type: String })], NarrowedTextElement.prototype, "value", void 0);
|
|
20679
|
+
__decorate$1([r$1()], NarrowedTextElement.prototype, "_query", void 0);
|
|
20680
|
+
__decorate$1([r$1()], NarrowedTextElement.prototype, "_computedItems", void 0);
|
|
20681
|
+
__decorate$1([r$1()], NarrowedTextElement.prototype, "_filteredItems", void 0);
|
|
20682
|
+
__decorate$1([r$1()], NarrowedTextElement.prototype, "_isFocused", void 0);
|
|
20683
|
+
__decorate$1([e$4(`slot`)], NarrowedTextElement.prototype, "_slot", void 0);
|
|
20684
|
+
NarrowedTextElement = __decorate$1([safeCustomElement(`ixfx-narrowed-text`)], NarrowedTextElement);
|
|
20674
20685
|
//#endregion
|
|
20675
20686
|
//#region src/crumbs/crumb-navigation.ts
|
|
20676
20687
|
let CrumbNavigationElement = class CrumbNavigationElement extends i$4 {
|
|
@@ -21427,29 +21438,29 @@ let CrumbNavigationElement = class CrumbNavigationElement extends i$4 {
|
|
|
21427
21438
|
];
|
|
21428
21439
|
}
|
|
21429
21440
|
};
|
|
21430
|
-
__decorate([n$2({ type: Object })], CrumbNavigationElement.prototype, "root", void 0);
|
|
21431
|
-
__decorate([n$2({ attribute: false })], CrumbNavigationElement.prototype, "model", void 0);
|
|
21432
|
-
__decorate([n$2({ type: Object })], CrumbNavigationElement.prototype, "selectedNode", void 0);
|
|
21433
|
-
__decorate([r$1()], CrumbNavigationElement.prototype, "_selectedNodes", void 0);
|
|
21434
|
-
__decorate([n$2({ attribute: false })], CrumbNavigationElement.prototype, "loadChildren", void 0);
|
|
21435
|
-
__decorate([n$2({ attribute: false })], CrumbNavigationElement.prototype, "filterPredicate", void 0);
|
|
21436
|
-
__decorate([n$2({
|
|
21441
|
+
__decorate$1([n$2({ type: Object })], CrumbNavigationElement.prototype, "root", void 0);
|
|
21442
|
+
__decorate$1([n$2({ attribute: false })], CrumbNavigationElement.prototype, "model", void 0);
|
|
21443
|
+
__decorate$1([n$2({ type: Object })], CrumbNavigationElement.prototype, "selectedNode", void 0);
|
|
21444
|
+
__decorate$1([r$1()], CrumbNavigationElement.prototype, "_selectedNodes", void 0);
|
|
21445
|
+
__decorate$1([n$2({ attribute: false })], CrumbNavigationElement.prototype, "loadChildren", void 0);
|
|
21446
|
+
__decorate$1([n$2({ attribute: false })], CrumbNavigationElement.prototype, "filterPredicate", void 0);
|
|
21447
|
+
__decorate$1([n$2({
|
|
21437
21448
|
reflect: true,
|
|
21438
21449
|
attribute: `exclusivity`
|
|
21439
21450
|
})], CrumbNavigationElement.prototype, "exclusivity", void 0);
|
|
21440
|
-
__decorate([n$2({
|
|
21451
|
+
__decorate$1([n$2({
|
|
21441
21452
|
reflect: true,
|
|
21442
21453
|
attribute: `selection-filter`
|
|
21443
21454
|
})], CrumbNavigationElement.prototype, "selectionFilter", void 0);
|
|
21444
|
-
__decorate([r$1()], CrumbNavigationElement.prototype, "_openIdx", void 0);
|
|
21445
|
-
__decorate([r$1()], CrumbNavigationElement.prototype, "_isFocused", void 0);
|
|
21446
|
-
__decorate([r$1()], CrumbNavigationElement.prototype, "_menuOpen", void 0);
|
|
21447
|
-
__decorate([r$1()], CrumbNavigationElement.prototype, "_focusOnNarrowedText", void 0);
|
|
21448
|
-
__decorate([n$2({
|
|
21455
|
+
__decorate$1([r$1()], CrumbNavigationElement.prototype, "_openIdx", void 0);
|
|
21456
|
+
__decorate$1([r$1()], CrumbNavigationElement.prototype, "_isFocused", void 0);
|
|
21457
|
+
__decorate$1([r$1()], CrumbNavigationElement.prototype, "_menuOpen", void 0);
|
|
21458
|
+
__decorate$1([r$1()], CrumbNavigationElement.prototype, "_focusOnNarrowedText", void 0);
|
|
21459
|
+
__decorate$1([n$2({
|
|
21449
21460
|
reflect: true,
|
|
21450
21461
|
attribute: `input-mode`
|
|
21451
21462
|
})], CrumbNavigationElement.prototype, "inputMode", void 0);
|
|
21452
|
-
CrumbNavigationElement = __decorate([safeCustomElement(`ixfx-crumb-navigation`)], CrumbNavigationElement);
|
|
21463
|
+
CrumbNavigationElement = __decorate$1([safeCustomElement(`ixfx-crumb-navigation`)], CrumbNavigationElement);
|
|
21453
21464
|
//#endregion
|
|
21454
21465
|
//#region src/crumbs/crumb-path-controller.ts
|
|
21455
21466
|
var CrumbPathController = class {
|
|
@@ -22118,23 +22129,23 @@ let CrumbPathElement = class CrumbPathElement extends i$4 {
|
|
|
22118
22129
|
`];
|
|
22119
22130
|
}
|
|
22120
22131
|
};
|
|
22121
|
-
__decorate([n$2({ type: String })], CrumbPathElement.prototype, "path", void 0);
|
|
22122
|
-
__decorate([n$2({ type: String })], CrumbPathElement.prototype, "separator", void 0);
|
|
22123
|
-
__decorate([n$2({
|
|
22132
|
+
__decorate$1([n$2({ type: String })], CrumbPathElement.prototype, "path", void 0);
|
|
22133
|
+
__decorate$1([n$2({ type: String })], CrumbPathElement.prototype, "separator", void 0);
|
|
22134
|
+
__decorate$1([n$2({
|
|
22124
22135
|
type: String,
|
|
22125
22136
|
attribute: `path-root`
|
|
22126
22137
|
})], CrumbPathElement.prototype, "pathRoot", void 0);
|
|
22127
|
-
__decorate([n$2({ type: Object })], CrumbPathElement.prototype, "siblingLookup", void 0);
|
|
22128
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_openIdx", void 0);
|
|
22129
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_editing", void 0);
|
|
22130
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_cachedSiblings", void 0);
|
|
22131
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_leafSegmentIndex", void 0);
|
|
22132
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_confirmedLeafIndices", void 0);
|
|
22133
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_dropdownActiveIndex", void 0);
|
|
22134
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_editingCancelled", void 0);
|
|
22135
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_editStartIndex", void 0);
|
|
22136
|
-
__decorate([r$1()], CrumbPathElement.prototype, "_openCumPath", void 0);
|
|
22137
|
-
CrumbPathElement = __decorate([safeCustomElement(`ixfx-crumb-path`)], CrumbPathElement);
|
|
22138
|
+
__decorate$1([n$2({ type: Object })], CrumbPathElement.prototype, "siblingLookup", void 0);
|
|
22139
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_openIdx", void 0);
|
|
22140
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_editing", void 0);
|
|
22141
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_cachedSiblings", void 0);
|
|
22142
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_leafSegmentIndex", void 0);
|
|
22143
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_confirmedLeafIndices", void 0);
|
|
22144
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_dropdownActiveIndex", void 0);
|
|
22145
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_editingCancelled", void 0);
|
|
22146
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_editStartIndex", void 0);
|
|
22147
|
+
__decorate$1([r$1()], CrumbPathElement.prototype, "_openCumPath", void 0);
|
|
22148
|
+
CrumbPathElement = __decorate$1([safeCustomElement(`ixfx-crumb-path`)], CrumbPathElement);
|
|
22138
22149
|
//#endregion
|
|
22139
22150
|
//#region src/data-display.ts
|
|
22140
22151
|
var _DataDisplayComponent;
|
|
@@ -22227,7 +22238,7 @@ let DataDisplayComponent = class DataDisplayComponent extends i$4 {
|
|
|
22227
22238
|
this.previousValue = value;
|
|
22228
22239
|
}
|
|
22229
22240
|
};
|
|
22230
|
-
DataDisplayComponent = _DataDisplayComponent = __decorate([safeCustomElement(`ixfx-data-display`)], DataDisplayComponent);
|
|
22241
|
+
DataDisplayComponent = _DataDisplayComponent = __decorate$1([safeCustomElement(`ixfx-data-display`)], DataDisplayComponent);
|
|
22231
22242
|
//#endregion
|
|
22232
22243
|
//#region src/editable-label/editable-label.ts
|
|
22233
22244
|
let EditableLabel = class EditableLabel extends i$4 {
|
|
@@ -22516,31 +22527,31 @@ let EditableLabel = class EditableLabel extends i$4 {
|
|
|
22516
22527
|
`];
|
|
22517
22528
|
}
|
|
22518
22529
|
};
|
|
22519
|
-
__decorate([n$2({ reflect: true })], EditableLabel.prototype, "mode", void 0);
|
|
22520
|
-
__decorate([n$2({
|
|
22530
|
+
__decorate$1([n$2({ reflect: true })], EditableLabel.prototype, "mode", void 0);
|
|
22531
|
+
__decorate$1([n$2({
|
|
22521
22532
|
attribute: `entry-mode`,
|
|
22522
22533
|
reflect: true
|
|
22523
22534
|
})], EditableLabel.prototype, "entryMode", void 0);
|
|
22524
|
-
__decorate([n$2({ reflect: true })], EditableLabel.prototype, "value", void 0);
|
|
22525
|
-
__decorate([n$2({
|
|
22535
|
+
__decorate$1([n$2({ reflect: true })], EditableLabel.prototype, "value", void 0);
|
|
22536
|
+
__decorate$1([n$2({
|
|
22526
22537
|
type: Boolean,
|
|
22527
22538
|
reflect: true
|
|
22528
22539
|
})], EditableLabel.prototype, "disabled", void 0);
|
|
22529
|
-
__decorate([n$2()], EditableLabel.prototype, "placeholder", void 0);
|
|
22530
|
-
__decorate([n$2({ attribute: `display-text` })], EditableLabel.prototype, "displayText", void 0);
|
|
22531
|
-
__decorate([n$2({ attribute: `display-text-logic` })], EditableLabel.prototype, "displayTextLogic", void 0);
|
|
22532
|
-
__decorate([n$2({
|
|
22540
|
+
__decorate$1([n$2()], EditableLabel.prototype, "placeholder", void 0);
|
|
22541
|
+
__decorate$1([n$2({ attribute: `display-text` })], EditableLabel.prototype, "displayText", void 0);
|
|
22542
|
+
__decorate$1([n$2({ attribute: `display-text-logic` })], EditableLabel.prototype, "displayTextLogic", void 0);
|
|
22543
|
+
__decorate$1([n$2({
|
|
22533
22544
|
type: Number,
|
|
22534
22545
|
attribute: `appear-delay`
|
|
22535
22546
|
})], EditableLabel.prototype, "appearDelay", void 0);
|
|
22536
|
-
__decorate([n$2({
|
|
22547
|
+
__decorate$1([n$2({
|
|
22537
22548
|
type: Number,
|
|
22538
22549
|
attribute: `disappear-delay`
|
|
22539
22550
|
})], EditableLabel.prototype, "disappearDelay", void 0);
|
|
22540
|
-
__decorate([n$2({ attribute: false })], EditableLabel.prototype, "validator", void 0);
|
|
22541
|
-
__decorate([n$2({ attribute: false })], EditableLabel.prototype, "formatter", void 0);
|
|
22542
|
-
__decorate([r$1()], EditableLabel.prototype, "_editing", void 0);
|
|
22543
|
-
EditableLabel = __decorate([safeCustomElement(`ixfx-editable-label`)], EditableLabel);
|
|
22551
|
+
__decorate$1([n$2({ attribute: false })], EditableLabel.prototype, "validator", void 0);
|
|
22552
|
+
__decorate$1([n$2({ attribute: false })], EditableLabel.prototype, "formatter", void 0);
|
|
22553
|
+
__decorate$1([r$1()], EditableLabel.prototype, "_editing", void 0);
|
|
22554
|
+
EditableLabel = __decorate$1([safeCustomElement(`ixfx-editable-label`)], EditableLabel);
|
|
22544
22555
|
function _selectAll(el) {
|
|
22545
22556
|
const range = document.createRange();
|
|
22546
22557
|
range.selectNodeContents(el);
|
|
@@ -23127,22 +23138,22 @@ let EditableNumber = class EditableNumber extends EditableLabel {
|
|
|
23127
23138
|
];
|
|
23128
23139
|
}
|
|
23129
23140
|
};
|
|
23130
|
-
__decorate([n$2({ type: Number })], EditableNumber.prototype, "min", void 0);
|
|
23131
|
-
__decorate([n$2({ type: Number })], EditableNumber.prototype, "max", void 0);
|
|
23132
|
-
__decorate([n$2({ type: Number })], EditableNumber.prototype, "step", void 0);
|
|
23133
|
-
__decorate([n$2({
|
|
23141
|
+
__decorate$1([n$2({ type: Number })], EditableNumber.prototype, "min", void 0);
|
|
23142
|
+
__decorate$1([n$2({ type: Number })], EditableNumber.prototype, "max", void 0);
|
|
23143
|
+
__decorate$1([n$2({ type: Number })], EditableNumber.prototype, "step", void 0);
|
|
23144
|
+
__decorate$1([n$2({
|
|
23134
23145
|
type: Number,
|
|
23135
23146
|
attribute: `drag-sensitivity`
|
|
23136
23147
|
})], EditableNumber.prototype, "dragSensitivity", void 0);
|
|
23137
|
-
__decorate([n$2({ attribute: `fill-style` })], EditableNumber.prototype, "fillStyle", void 0);
|
|
23138
|
-
__decorate([n$2({ attribute: `linear-style` })], EditableNumber.prototype, "linearStyle", void 0);
|
|
23139
|
-
__decorate([n$2({ attribute: `circular-style` })], EditableNumber.prototype, "circularStyle", void 0);
|
|
23140
|
-
__decorate([n$2({
|
|
23148
|
+
__decorate$1([n$2({ attribute: `fill-style` })], EditableNumber.prototype, "fillStyle", void 0);
|
|
23149
|
+
__decorate$1([n$2({ attribute: `linear-style` })], EditableNumber.prototype, "linearStyle", void 0);
|
|
23150
|
+
__decorate$1([n$2({ attribute: `circular-style` })], EditableNumber.prototype, "circularStyle", void 0);
|
|
23151
|
+
__decorate$1([n$2({
|
|
23141
23152
|
type: Boolean,
|
|
23142
23153
|
attribute: `no-drag`
|
|
23143
23154
|
})], EditableNumber.prototype, "noDrag", void 0);
|
|
23144
|
-
__decorate([n$2({ type: Number })], EditableNumber.prototype, "precision", void 0);
|
|
23145
|
-
EditableNumber = __decorate([safeCustomElement(`ixfx-editable-number`)], EditableNumber);
|
|
23155
|
+
__decorate$1([n$2({ type: Number })], EditableNumber.prototype, "precision", void 0);
|
|
23156
|
+
EditableNumber = __decorate$1([safeCustomElement(`ixfx-editable-number`)], EditableNumber);
|
|
23146
23157
|
//#endregion
|
|
23147
23158
|
//#region node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive-helpers.js
|
|
23148
23159
|
/**
|
|
@@ -23306,11 +23317,11 @@ function readByte(store, pos) {
|
|
|
23306
23317
|
function length(store) {
|
|
23307
23318
|
return store.data.length;
|
|
23308
23319
|
}
|
|
23309
|
-
function clamp$
|
|
23320
|
+
function clamp$2(value) {
|
|
23310
23321
|
return Math.max(0, Math.min(255, value));
|
|
23311
23322
|
}
|
|
23312
23323
|
function writeByte(store, pos, value) {
|
|
23313
|
-
const clampedValue = clamp$
|
|
23324
|
+
const clampedValue = clamp$2(value);
|
|
23314
23325
|
const before = store.data[pos];
|
|
23315
23326
|
const diff = new Map([[pos, {
|
|
23316
23327
|
before,
|
|
@@ -23323,7 +23334,7 @@ function writeByte(store, pos, value) {
|
|
|
23323
23334
|
function writeBytes(store, entries) {
|
|
23324
23335
|
const diff = /* @__PURE__ */ new Map();
|
|
23325
23336
|
entries.forEach((value, pos) => {
|
|
23326
|
-
const clampedValue = clamp$
|
|
23337
|
+
const clampedValue = clamp$2(value);
|
|
23327
23338
|
const before = store.data[pos];
|
|
23328
23339
|
diff.set(pos, {
|
|
23329
23340
|
before,
|
|
@@ -24377,28 +24388,28 @@ let IxfxHexEditorElement = class IxfxHexEditorElement extends i$4 {
|
|
|
24377
24388
|
`;
|
|
24378
24389
|
}
|
|
24379
24390
|
};
|
|
24380
|
-
__decorate([n$2({ type: Number })], IxfxHexEditorElement.prototype, "columns", void 0);
|
|
24381
|
-
__decorate([n$2({ type: String })], IxfxHexEditorElement.prototype, "colourScheme", void 0);
|
|
24382
|
-
__decorate([n$2({ type: Boolean })], IxfxHexEditorElement.prototype, "showChangeset", void 0);
|
|
24383
|
-
__decorate([n$2({
|
|
24391
|
+
__decorate$1([n$2({ type: Number })], IxfxHexEditorElement.prototype, "columns", void 0);
|
|
24392
|
+
__decorate$1([n$2({ type: String })], IxfxHexEditorElement.prototype, "colourScheme", void 0);
|
|
24393
|
+
__decorate$1([n$2({ type: Boolean })], IxfxHexEditorElement.prototype, "showChangeset", void 0);
|
|
24394
|
+
__decorate$1([n$2({
|
|
24384
24395
|
type: Boolean,
|
|
24385
24396
|
attribute: `hide-offset-col`
|
|
24386
24397
|
})], IxfxHexEditorElement.prototype, "hideOffsetCol", void 0);
|
|
24387
|
-
__decorate([n$2({
|
|
24398
|
+
__decorate$1([n$2({
|
|
24388
24399
|
type: Boolean,
|
|
24389
24400
|
attribute: `hide-hex-col`
|
|
24390
24401
|
})], IxfxHexEditorElement.prototype, "hideHexCol", void 0);
|
|
24391
|
-
__decorate([n$2({
|
|
24402
|
+
__decorate$1([n$2({
|
|
24392
24403
|
type: Boolean,
|
|
24393
24404
|
attribute: `hide-text-col`
|
|
24394
24405
|
})], IxfxHexEditorElement.prototype, "hideTextCol", void 0);
|
|
24395
|
-
__decorate([r$1()], IxfxHexEditorElement.prototype, "_selection", void 0);
|
|
24396
|
-
__decorate([r$1()], IxfxHexEditorElement.prototype, "_scrollTop", void 0);
|
|
24397
|
-
__decorate([r$1()], IxfxHexEditorElement.prototype, "_editState", void 0);
|
|
24398
|
-
__decorate([r$1()], IxfxHexEditorElement.prototype, "_containerH", void 0);
|
|
24399
|
-
__decorate([r$1()], IxfxHexEditorElement.prototype, "_shadeMap", void 0);
|
|
24400
|
-
__decorate([r$1()], IxfxHexEditorElement.prototype, "_focusSide", void 0);
|
|
24401
|
-
IxfxHexEditorElement = __decorate([safeCustomElement(`ixfx-hex-editor`)], IxfxHexEditorElement);
|
|
24406
|
+
__decorate$1([r$1()], IxfxHexEditorElement.prototype, "_selection", void 0);
|
|
24407
|
+
__decorate$1([r$1()], IxfxHexEditorElement.prototype, "_scrollTop", void 0);
|
|
24408
|
+
__decorate$1([r$1()], IxfxHexEditorElement.prototype, "_editState", void 0);
|
|
24409
|
+
__decorate$1([r$1()], IxfxHexEditorElement.prototype, "_containerH", void 0);
|
|
24410
|
+
__decorate$1([r$1()], IxfxHexEditorElement.prototype, "_shadeMap", void 0);
|
|
24411
|
+
__decorate$1([r$1()], IxfxHexEditorElement.prototype, "_focusSide", void 0);
|
|
24412
|
+
IxfxHexEditorElement = __decorate$1([safeCustomElement(`ixfx-hex-editor`)], IxfxHexEditorElement);
|
|
24402
24413
|
//#endregion
|
|
24403
24414
|
//#region src/radial-input/svg-utils.ts
|
|
24404
24415
|
const PI2 = Math.PI * 2;
|
|
@@ -24673,7 +24684,7 @@ function getMidpointPosition(radius, center = {
|
|
|
24673
24684
|
/**
|
|
24674
24685
|
* Clamp a value between min and max
|
|
24675
24686
|
*/
|
|
24676
|
-
function clamp(value, min, max) {
|
|
24687
|
+
function clamp$1(value, min, max) {
|
|
24677
24688
|
return Math.min(Math.max(value, min), max);
|
|
24678
24689
|
}
|
|
24679
24690
|
/**
|
|
@@ -24694,7 +24705,7 @@ let RadialInputElement = class RadialInputElement extends i$4 {
|
|
|
24694
24705
|
return this.#_radius;
|
|
24695
24706
|
}
|
|
24696
24707
|
set radius(v) {
|
|
24697
|
-
this.#_radius = clamp(v, 10, 50);
|
|
24708
|
+
this.#_radius = clamp$1(v, 10, 50);
|
|
24698
24709
|
}
|
|
24699
24710
|
#lanes;
|
|
24700
24711
|
#dragging;
|
|
@@ -24739,7 +24750,7 @@ let RadialInputElement = class RadialInputElement extends i$4 {
|
|
|
24739
24750
|
const effectiveSensitivity = this.clientHeight * 2 * (event.shiftKey ? 10 : 1);
|
|
24740
24751
|
const deltaValue = (this.#dragStartY - event.clientY) / effectiveSensitivity * (this.max - this.min);
|
|
24741
24752
|
const relativeValue = scale(this.#valueAtDragStart + deltaValue, this.min, this.max, 0, 1);
|
|
24742
|
-
this.#setValueFromRelative(clamp(relativeValue, 0, 1), true);
|
|
24753
|
+
this.#setValueFromRelative(clamp$1(relativeValue, 0, 1), true);
|
|
24743
24754
|
};
|
|
24744
24755
|
this.#onPointerUp = () => {
|
|
24745
24756
|
this.#dragging = false;
|
|
@@ -24809,7 +24820,7 @@ let RadialInputElement = class RadialInputElement extends i$4 {
|
|
|
24809
24820
|
setLaneValue(key, value) {
|
|
24810
24821
|
const lane = this.#lanes.get(key);
|
|
24811
24822
|
if (lane) {
|
|
24812
|
-
lane.value = clamp(value, 0, 1);
|
|
24823
|
+
lane.value = clamp$1(value, 0, 1);
|
|
24813
24824
|
this.requestUpdate();
|
|
24814
24825
|
}
|
|
24815
24826
|
}
|
|
@@ -24839,7 +24850,7 @@ let RadialInputElement = class RadialInputElement extends i$4 {
|
|
|
24839
24850
|
}
|
|
24840
24851
|
#setValueFromRelative(relativeValue, isUserInteraction = false) {
|
|
24841
24852
|
const newValue = scale(relativeValue, 0, 1, this.min, this.max);
|
|
24842
|
-
const clampedValue = this.#quantise(clamp(newValue, this.min, this.max));
|
|
24853
|
+
const clampedValue = this.#quantise(clamp$1(newValue, this.min, this.max));
|
|
24843
24854
|
if (clampedValue === this.value) return;
|
|
24844
24855
|
const previousValue = this.value;
|
|
24845
24856
|
this.value = clampedValue;
|
|
@@ -25219,27 +25230,27 @@ let RadialInputElement = class RadialInputElement extends i$4 {
|
|
|
25219
25230
|
`];
|
|
25220
25231
|
}
|
|
25221
25232
|
};
|
|
25222
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "radius", null);
|
|
25223
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "value", void 0);
|
|
25224
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "min", void 0);
|
|
25225
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "max", void 0);
|
|
25226
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "step", void 0);
|
|
25227
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "stops", void 0);
|
|
25228
|
-
__decorate([n$2({
|
|
25233
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "radius", null);
|
|
25234
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "value", void 0);
|
|
25235
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "min", void 0);
|
|
25236
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "max", void 0);
|
|
25237
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "step", void 0);
|
|
25238
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "stops", void 0);
|
|
25239
|
+
__decorate$1([n$2({
|
|
25229
25240
|
type: String,
|
|
25230
25241
|
attribute: `value-mode`
|
|
25231
25242
|
})], RadialInputElement.prototype, "valueMode", void 0);
|
|
25232
|
-
__decorate([n$2({ type: Number })], RadialInputElement.prototype, "flatten", void 0);
|
|
25233
|
-
__decorate([n$2({
|
|
25243
|
+
__decorate$1([n$2({ type: Number })], RadialInputElement.prototype, "flatten", void 0);
|
|
25244
|
+
__decorate$1([n$2({
|
|
25234
25245
|
type: String,
|
|
25235
25246
|
attribute: `marker-style`
|
|
25236
25247
|
})], RadialInputElement.prototype, "markerStyle", void 0);
|
|
25237
|
-
__decorate([n$2({ type: Boolean })], RadialInputElement.prototype, "wedge", void 0);
|
|
25238
|
-
__decorate([n$2({
|
|
25248
|
+
__decorate$1([n$2({ type: Boolean })], RadialInputElement.prototype, "wedge", void 0);
|
|
25249
|
+
__decorate$1([n$2({
|
|
25239
25250
|
type: Boolean,
|
|
25240
25251
|
reflect: true
|
|
25241
25252
|
})], RadialInputElement.prototype, "disabled", void 0);
|
|
25242
|
-
RadialInputElement = __decorate([safeCustomElement(`ixfx-radial-input`)], RadialInputElement);
|
|
25253
|
+
RadialInputElement = __decorate$1([safeCustomElement(`ixfx-radial-input`)], RadialInputElement);
|
|
25243
25254
|
//#endregion
|
|
25244
25255
|
//#region src/labelled-radial-input/labelled-radial-input.ts
|
|
25245
25256
|
let LabelledRadialInput = class LabelledRadialInput extends LabelledInputBase {
|
|
@@ -25401,25 +25412,25 @@ let LabelledRadialInput = class LabelledRadialInput extends LabelledInputBase {
|
|
|
25401
25412
|
`;
|
|
25402
25413
|
}
|
|
25403
25414
|
};
|
|
25404
|
-
__decorate([n$2({ type: Number })], LabelledRadialInput.prototype, "radius", void 0);
|
|
25405
|
-
__decorate([n$2({ type: Number })], LabelledRadialInput.prototype, "flatten", void 0);
|
|
25406
|
-
__decorate([n$2({
|
|
25415
|
+
__decorate$1([n$2({ type: Number })], LabelledRadialInput.prototype, "radius", void 0);
|
|
25416
|
+
__decorate$1([n$2({ type: Number })], LabelledRadialInput.prototype, "flatten", void 0);
|
|
25417
|
+
__decorate$1([n$2({
|
|
25407
25418
|
type: String,
|
|
25408
25419
|
attribute: `marker-style`
|
|
25409
25420
|
})], LabelledRadialInput.prototype, "markerStyle", void 0);
|
|
25410
|
-
__decorate([n$2({ type: Boolean })], LabelledRadialInput.prototype, "wedge", void 0);
|
|
25411
|
-
__decorate([n$2({
|
|
25421
|
+
__decorate$1([n$2({ type: Boolean })], LabelledRadialInput.prototype, "wedge", void 0);
|
|
25422
|
+
__decorate$1([n$2({
|
|
25412
25423
|
type: String,
|
|
25413
25424
|
attribute: `value-mode`
|
|
25414
25425
|
})], LabelledRadialInput.prototype, "valueMode", void 0);
|
|
25415
|
-
__decorate([n$2({ type: Boolean })], LabelledRadialInput.prototype, "tooltip", void 0);
|
|
25416
|
-
__decorate([n$2({ type: Boolean })], LabelledRadialInput.prototype, "flip", void 0);
|
|
25417
|
-
__decorate([n$2({
|
|
25426
|
+
__decorate$1([n$2({ type: Boolean })], LabelledRadialInput.prototype, "tooltip", void 0);
|
|
25427
|
+
__decorate$1([n$2({ type: Boolean })], LabelledRadialInput.prototype, "flip", void 0);
|
|
25428
|
+
__decorate$1([n$2({
|
|
25418
25429
|
type: Number,
|
|
25419
25430
|
attribute: `aspect-ratio-threshold`
|
|
25420
25431
|
})], LabelledRadialInput.prototype, "aspectRatioThreshold", void 0);
|
|
25421
|
-
__decorate([r$1()], LabelledRadialInput.prototype, "_isWide", void 0);
|
|
25422
|
-
LabelledRadialInput = __decorate([safeCustomElement(`ixfx-labelled-radial-input`)], LabelledRadialInput);
|
|
25432
|
+
__decorate$1([r$1()], LabelledRadialInput.prototype, "_isWide", void 0);
|
|
25433
|
+
LabelledRadialInput = __decorate$1([safeCustomElement(`ixfx-labelled-radial-input`)], LabelledRadialInput);
|
|
25423
25434
|
//#endregion
|
|
25424
25435
|
//#region src/led.ts
|
|
25425
25436
|
let LedElement = class LedElement extends i$4 {
|
|
@@ -25489,23 +25500,23 @@ let LedElement = class LedElement extends i$4 {
|
|
|
25489
25500
|
`;
|
|
25490
25501
|
}
|
|
25491
25502
|
};
|
|
25492
|
-
__decorate([n$2({ type: Number })], LedElement.prototype, "value", void 0);
|
|
25493
|
-
__decorate([n$2({
|
|
25503
|
+
__decorate$1([n$2({ type: Number })], LedElement.prototype, "value", void 0);
|
|
25504
|
+
__decorate$1([n$2({
|
|
25494
25505
|
type: Boolean,
|
|
25495
25506
|
attribute: `lit`,
|
|
25496
25507
|
reflect: true
|
|
25497
25508
|
})], LedElement.prototype, "lit", void 0);
|
|
25498
|
-
__decorate([n$2({ type: String })], LedElement.prototype, "color", void 0);
|
|
25499
|
-
__decorate([n$2({
|
|
25509
|
+
__decorate$1([n$2({ type: String })], LedElement.prototype, "color", void 0);
|
|
25510
|
+
__decorate$1([n$2({
|
|
25500
25511
|
type: Boolean,
|
|
25501
25512
|
attribute: `blinking`,
|
|
25502
25513
|
reflect: true
|
|
25503
25514
|
})], LedElement.prototype, "blinking", void 0);
|
|
25504
|
-
__decorate([n$2({
|
|
25515
|
+
__decorate$1([n$2({
|
|
25505
25516
|
type: Number,
|
|
25506
25517
|
attribute: `rate`
|
|
25507
25518
|
})], LedElement.prototype, "rate", void 0);
|
|
25508
|
-
LedElement = __decorate([safeCustomElement(`ixfx-led`)], LedElement);
|
|
25519
|
+
LedElement = __decorate$1([safeCustomElement(`ixfx-led`)], LedElement);
|
|
25509
25520
|
//#endregion
|
|
25510
25521
|
//#region src/menu/menu-bar.ts
|
|
25511
25522
|
let MenuBar = class MenuBar extends i$4 {
|
|
@@ -25588,7 +25599,7 @@ let MenuBar = class MenuBar extends i$4 {
|
|
|
25588
25599
|
return b`<slot role="menubar"></slot>`;
|
|
25589
25600
|
}
|
|
25590
25601
|
};
|
|
25591
|
-
MenuBar = __decorate([safeCustomElement(`ixfx-menu-bar`)], MenuBar);
|
|
25602
|
+
MenuBar = __decorate$1([safeCustomElement(`ixfx-menu-bar`)], MenuBar);
|
|
25592
25603
|
//#endregion
|
|
25593
25604
|
//#region src/menu/menu-check-item.ts
|
|
25594
25605
|
let MenuCheckItem = class MenuCheckItem extends i$4 {
|
|
@@ -25724,21 +25735,21 @@ let MenuCheckItem = class MenuCheckItem extends i$4 {
|
|
|
25724
25735
|
`;
|
|
25725
25736
|
}
|
|
25726
25737
|
};
|
|
25727
|
-
__decorate([n$2({ type: String })], MenuCheckItem.prototype, "command", void 0);
|
|
25728
|
-
__decorate([n$2({
|
|
25738
|
+
__decorate$1([n$2({ type: String })], MenuCheckItem.prototype, "command", void 0);
|
|
25739
|
+
__decorate$1([n$2({
|
|
25729
25740
|
type: String,
|
|
25730
25741
|
attribute: `command-args`
|
|
25731
25742
|
})], MenuCheckItem.prototype, "commandArgs", void 0);
|
|
25732
|
-
__decorate([n$2({ type: String })], MenuCheckItem.prototype, "label", void 0);
|
|
25733
|
-
__decorate([n$2({ type: Boolean })], MenuCheckItem.prototype, "checked", void 0);
|
|
25734
|
-
__decorate([n$2({ type: Boolean })], MenuCheckItem.prototype, "disabled", void 0);
|
|
25735
|
-
__decorate([n$2({
|
|
25743
|
+
__decorate$1([n$2({ type: String })], MenuCheckItem.prototype, "label", void 0);
|
|
25744
|
+
__decorate$1([n$2({ type: Boolean })], MenuCheckItem.prototype, "checked", void 0);
|
|
25745
|
+
__decorate$1([n$2({ type: Boolean })], MenuCheckItem.prototype, "disabled", void 0);
|
|
25746
|
+
__decorate$1([n$2({
|
|
25736
25747
|
type: String,
|
|
25737
25748
|
attribute: `icon-name`
|
|
25738
25749
|
})], MenuCheckItem.prototype, "iconName", void 0);
|
|
25739
|
-
__decorate([n$2({ attribute: false })], MenuCheckItem.prototype, "registry", void 0);
|
|
25740
|
-
__decorate([n$2({ attribute: false })], MenuCheckItem.prototype, "keyboardManager", void 0);
|
|
25741
|
-
MenuCheckItem = __decorate([safeCustomElement(`ixfx-menu-check-item`)], MenuCheckItem);
|
|
25750
|
+
__decorate$1([n$2({ attribute: false })], MenuCheckItem.prototype, "registry", void 0);
|
|
25751
|
+
__decorate$1([n$2({ attribute: false })], MenuCheckItem.prototype, "keyboardManager", void 0);
|
|
25752
|
+
MenuCheckItem = __decorate$1([safeCustomElement(`ixfx-menu-check-item`)], MenuCheckItem);
|
|
25742
25753
|
//#endregion
|
|
25743
25754
|
//#region src/menu/menu-command-controller.ts
|
|
25744
25755
|
var MenuCommandController = class {
|
|
@@ -26000,24 +26011,24 @@ let MenuSubTrigger = class MenuSubTrigger extends i$4 {
|
|
|
26000
26011
|
`;
|
|
26001
26012
|
}
|
|
26002
26013
|
};
|
|
26003
|
-
__decorate([n$2({ type: String })], MenuSubTrigger.prototype, "command", void 0);
|
|
26004
|
-
__decorate([n$2({
|
|
26014
|
+
__decorate$1([n$2({ type: String })], MenuSubTrigger.prototype, "command", void 0);
|
|
26015
|
+
__decorate$1([n$2({
|
|
26005
26016
|
type: String,
|
|
26006
26017
|
attribute: `command-args`
|
|
26007
26018
|
})], MenuSubTrigger.prototype, "commandArgs", void 0);
|
|
26008
|
-
__decorate([n$2({ type: String })], MenuSubTrigger.prototype, "label", void 0);
|
|
26009
|
-
__decorate([n$2({ type: Boolean })], MenuSubTrigger.prototype, "disabled", void 0);
|
|
26010
|
-
__decorate([n$2({
|
|
26019
|
+
__decorate$1([n$2({ type: String })], MenuSubTrigger.prototype, "label", void 0);
|
|
26020
|
+
__decorate$1([n$2({ type: Boolean })], MenuSubTrigger.prototype, "disabled", void 0);
|
|
26021
|
+
__decorate$1([n$2({
|
|
26011
26022
|
type: String,
|
|
26012
26023
|
attribute: `icon-name`
|
|
26013
26024
|
})], MenuSubTrigger.prototype, "iconName", void 0);
|
|
26014
|
-
__decorate([n$2({ attribute: false })], MenuSubTrigger.prototype, "registry", void 0);
|
|
26015
|
-
__decorate([n$2({ attribute: false })], MenuSubTrigger.prototype, "keyboardManager", void 0);
|
|
26016
|
-
__decorate([r$1()], MenuSubTrigger.prototype, "_hasSubmenu", void 0);
|
|
26017
|
-
__decorate([e$4(`slot[name="submenu"]`)], MenuSubTrigger.prototype, "_slot", void 0);
|
|
26018
|
-
__decorate([e$4(`.submenu-popover`)], MenuSubTrigger.prototype, "_submenuPopover", void 0);
|
|
26019
|
-
__decorate([e$4(`.item`)], MenuSubTrigger.prototype, "_itemEl", void 0);
|
|
26020
|
-
MenuSubTrigger = _MenuSubTrigger = __decorate([safeCustomElement(`ixfx-menu-sub-trigger`)], MenuSubTrigger);
|
|
26025
|
+
__decorate$1([n$2({ attribute: false })], MenuSubTrigger.prototype, "registry", void 0);
|
|
26026
|
+
__decorate$1([n$2({ attribute: false })], MenuSubTrigger.prototype, "keyboardManager", void 0);
|
|
26027
|
+
__decorate$1([r$1()], MenuSubTrigger.prototype, "_hasSubmenu", void 0);
|
|
26028
|
+
__decorate$1([e$4(`slot[name="submenu"]`)], MenuSubTrigger.prototype, "_slot", void 0);
|
|
26029
|
+
__decorate$1([e$4(`.submenu-popover`)], MenuSubTrigger.prototype, "_submenuPopover", void 0);
|
|
26030
|
+
__decorate$1([e$4(`.item`)], MenuSubTrigger.prototype, "_itemEl", void 0);
|
|
26031
|
+
MenuSubTrigger = _MenuSubTrigger = __decorate$1([safeCustomElement(`ixfx-menu-sub-trigger`)], MenuSubTrigger);
|
|
26021
26032
|
//#endregion
|
|
26022
26033
|
//#region src/menu/menu-separator.ts
|
|
26023
26034
|
let MenuSeparator = class MenuSeparator extends i$4 {
|
|
@@ -26038,7 +26049,7 @@ let MenuSeparator = class MenuSeparator extends i$4 {
|
|
|
26038
26049
|
return b`<div class="separator"></div>`;
|
|
26039
26050
|
}
|
|
26040
26051
|
};
|
|
26041
|
-
MenuSeparator = __decorate([safeCustomElement(`ixfx-menu-separator`)], MenuSeparator);
|
|
26052
|
+
MenuSeparator = __decorate$1([safeCustomElement(`ixfx-menu-separator`)], MenuSeparator);
|
|
26042
26053
|
//#endregion
|
|
26043
26054
|
//#region src/menu/menu-header.ts
|
|
26044
26055
|
let MenuHeader = class MenuHeader extends i$4 {
|
|
@@ -26063,8 +26074,8 @@ let MenuHeader = class MenuHeader extends i$4 {
|
|
|
26063
26074
|
return b`<div>${this.label}</div>`;
|
|
26064
26075
|
}
|
|
26065
26076
|
};
|
|
26066
|
-
__decorate([n$2({ type: String })], MenuHeader.prototype, "label", void 0);
|
|
26067
|
-
MenuHeader = __decorate([safeCustomElement(`ixfx-menu-header`)], MenuHeader);
|
|
26077
|
+
__decorate$1([n$2({ type: String })], MenuHeader.prototype, "label", void 0);
|
|
26078
|
+
MenuHeader = __decorate$1([safeCustomElement(`ixfx-menu-header`)], MenuHeader);
|
|
26068
26079
|
//#endregion
|
|
26069
26080
|
//#region src/menu/menu-from-tree.ts
|
|
26070
26081
|
function isLeaf(node) {
|
|
@@ -26230,15 +26241,15 @@ let MenuRadioItem = class MenuRadioItem extends i$4 {
|
|
|
26230
26241
|
`;
|
|
26231
26242
|
}
|
|
26232
26243
|
};
|
|
26233
|
-
__decorate([n$2({ type: String })], MenuRadioItem.prototype, "value", void 0);
|
|
26234
|
-
__decorate([n$2({ type: String })], MenuRadioItem.prototype, "label", void 0);
|
|
26235
|
-
__decorate([n$2({ type: Boolean })], MenuRadioItem.prototype, "disabled", void 0);
|
|
26236
|
-
__decorate([n$2({ type: String })], MenuRadioItem.prototype, "groupValue", void 0);
|
|
26237
|
-
__decorate([n$2({
|
|
26244
|
+
__decorate$1([n$2({ type: String })], MenuRadioItem.prototype, "value", void 0);
|
|
26245
|
+
__decorate$1([n$2({ type: String })], MenuRadioItem.prototype, "label", void 0);
|
|
26246
|
+
__decorate$1([n$2({ type: Boolean })], MenuRadioItem.prototype, "disabled", void 0);
|
|
26247
|
+
__decorate$1([n$2({ type: String })], MenuRadioItem.prototype, "groupValue", void 0);
|
|
26248
|
+
__decorate$1([n$2({
|
|
26238
26249
|
type: String,
|
|
26239
26250
|
attribute: `icon-name`
|
|
26240
26251
|
})], MenuRadioItem.prototype, "iconName", void 0);
|
|
26241
|
-
MenuRadioItem = __decorate([safeCustomElement(`ixfx-menu-radio-item`)], MenuRadioItem);
|
|
26252
|
+
MenuRadioItem = __decorate$1([safeCustomElement(`ixfx-menu-radio-item`)], MenuRadioItem);
|
|
26242
26253
|
//#endregion
|
|
26243
26254
|
//#region src/menu/menu-radio-group.ts
|
|
26244
26255
|
let MenuRadioGroup = class MenuRadioGroup extends i$4 {
|
|
@@ -26287,10 +26298,10 @@ let MenuRadioGroup = class MenuRadioGroup extends i$4 {
|
|
|
26287
26298
|
`;
|
|
26288
26299
|
}
|
|
26289
26300
|
};
|
|
26290
|
-
__decorate([n$2({ type: String })], MenuRadioGroup.prototype, "name", void 0);
|
|
26291
|
-
__decorate([n$2({ type: String })], MenuRadioGroup.prototype, "value", void 0);
|
|
26292
|
-
__decorate([r$1()], MenuRadioGroup.prototype, "slottedElements", void 0);
|
|
26293
|
-
MenuRadioGroup = __decorate([safeCustomElement(`ixfx-menu-radio-group`)], MenuRadioGroup);
|
|
26301
|
+
__decorate$1([n$2({ type: String })], MenuRadioGroup.prototype, "name", void 0);
|
|
26302
|
+
__decorate$1([n$2({ type: String })], MenuRadioGroup.prototype, "value", void 0);
|
|
26303
|
+
__decorate$1([r$1()], MenuRadioGroup.prototype, "slottedElements", void 0);
|
|
26304
|
+
MenuRadioGroup = __decorate$1([safeCustomElement(`ixfx-menu-radio-group`)], MenuRadioGroup);
|
|
26294
26305
|
//#endregion
|
|
26295
26306
|
//#region src/menu/index.ts
|
|
26296
26307
|
var menu_exports = /* @__PURE__ */ __exportAll$5({
|
|
@@ -27340,24 +27351,24 @@ let MillerBaseElement = class MillerBaseElement extends i$4 {
|
|
|
27340
27351
|
`];
|
|
27341
27352
|
}
|
|
27342
27353
|
};
|
|
27343
|
-
__decorate([n$2({ type: Object })], MillerBaseElement.prototype, "root", void 0);
|
|
27344
|
-
__decorate([n$2({ attribute: false })], MillerBaseElement.prototype, "model", void 0);
|
|
27345
|
-
__decorate([n$2({ type: Boolean })], MillerBaseElement.prototype, "headers", void 0);
|
|
27346
|
-
__decorate([n$2({ type: String })], MillerBaseElement.prototype, "interactionMode", void 0);
|
|
27347
|
-
__decorate([n$2({
|
|
27354
|
+
__decorate$1([n$2({ type: Object })], MillerBaseElement.prototype, "root", void 0);
|
|
27355
|
+
__decorate$1([n$2({ attribute: false })], MillerBaseElement.prototype, "model", void 0);
|
|
27356
|
+
__decorate$1([n$2({ type: Boolean })], MillerBaseElement.prototype, "headers", void 0);
|
|
27357
|
+
__decorate$1([n$2({ type: String })], MillerBaseElement.prototype, "interactionMode", void 0);
|
|
27358
|
+
__decorate$1([n$2({
|
|
27348
27359
|
reflect: true,
|
|
27349
27360
|
attribute: `selection-filter`
|
|
27350
27361
|
})], MillerBaseElement.prototype, "selectionFilter", void 0);
|
|
27351
|
-
__decorate([n$2({
|
|
27362
|
+
__decorate$1([n$2({
|
|
27352
27363
|
reflect: true,
|
|
27353
27364
|
attribute: `exclusivity`
|
|
27354
27365
|
})], MillerBaseElement.prototype, "exclusivity", void 0);
|
|
27355
|
-
__decorate([n$2({ type: Object })], MillerBaseElement.prototype, "loadChildren", void 0);
|
|
27356
|
-
__decorate([n$2({ attribute: false })], MillerBaseElement.prototype, "filterPredicate", void 0);
|
|
27357
|
-
__decorate([r$1()], MillerBaseElement.prototype, "_columns", void 0);
|
|
27358
|
-
__decorate([r$1()], MillerBaseElement.prototype, "_loadingDepth", void 0);
|
|
27359
|
-
__decorate([r$1()], MillerBaseElement.prototype, "_selectedNodes", void 0);
|
|
27360
|
-
MillerBaseElement = __decorate([safeCustomElement(`ixfx-miller-base`)], MillerBaseElement);
|
|
27366
|
+
__decorate$1([n$2({ type: Object })], MillerBaseElement.prototype, "loadChildren", void 0);
|
|
27367
|
+
__decorate$1([n$2({ attribute: false })], MillerBaseElement.prototype, "filterPredicate", void 0);
|
|
27368
|
+
__decorate$1([r$1()], MillerBaseElement.prototype, "_columns", void 0);
|
|
27369
|
+
__decorate$1([r$1()], MillerBaseElement.prototype, "_loadingDepth", void 0);
|
|
27370
|
+
__decorate$1([r$1()], MillerBaseElement.prototype, "_selectedNodes", void 0);
|
|
27371
|
+
MillerBaseElement = __decorate$1([safeCustomElement(`ixfx-miller-base`)], MillerBaseElement);
|
|
27361
27372
|
//#endregion
|
|
27362
27373
|
//#region src/miller/miller-list.ts
|
|
27363
27374
|
/**
|
|
@@ -27518,7 +27529,7 @@ let MillerListElement = class MillerListElement extends MillerBaseElement {
|
|
|
27518
27529
|
];
|
|
27519
27530
|
}
|
|
27520
27531
|
};
|
|
27521
|
-
MillerListElement = __decorate([safeCustomElement(`ixfx-miller-list`)], MillerListElement);
|
|
27532
|
+
MillerListElement = __decorate$1([safeCustomElement(`ixfx-miller-list`)], MillerListElement);
|
|
27522
27533
|
//#endregion
|
|
27523
27534
|
//#region src/miller/miller-tree-controller.ts
|
|
27524
27535
|
/**
|
|
@@ -27715,22 +27726,22 @@ let PanelGroupElement = class PanelGroupElement extends i$4 {
|
|
|
27715
27726
|
`;
|
|
27716
27727
|
}
|
|
27717
27728
|
};
|
|
27718
|
-
__decorate([n$2({
|
|
27729
|
+
__decorate$1([n$2({
|
|
27719
27730
|
type: String,
|
|
27720
27731
|
reflect: true
|
|
27721
27732
|
})], PanelGroupElement.prototype, "orientation", void 0);
|
|
27722
|
-
__decorate([n$2({ type: String })], PanelGroupElement.prototype, "variant", void 0);
|
|
27723
|
-
__decorate([n$2({
|
|
27733
|
+
__decorate$1([n$2({ type: String })], PanelGroupElement.prototype, "variant", void 0);
|
|
27734
|
+
__decorate$1([n$2({
|
|
27724
27735
|
type: String,
|
|
27725
27736
|
attribute: `toggle-interaction`
|
|
27726
27737
|
})], PanelGroupElement.prototype, "toggleInteraction", void 0);
|
|
27727
|
-
__decorate([n$2({
|
|
27738
|
+
__decorate$1([n$2({
|
|
27728
27739
|
type: Boolean,
|
|
27729
27740
|
attribute: `allow-multiple`
|
|
27730
27741
|
})], PanelGroupElement.prototype, "allowMultiple", void 0);
|
|
27731
|
-
__decorate([n$2()], PanelGroupElement.prototype, "gap", void 0);
|
|
27732
|
-
__decorate([o$2({ slot: `` })], PanelGroupElement.prototype, "_panels", void 0);
|
|
27733
|
-
PanelGroupElement = __decorate([safeCustomElement(`ixfx-panel-group`)], PanelGroupElement);
|
|
27742
|
+
__decorate$1([n$2()], PanelGroupElement.prototype, "gap", void 0);
|
|
27743
|
+
__decorate$1([o$2({ slot: `` })], PanelGroupElement.prototype, "_panels", void 0);
|
|
27744
|
+
PanelGroupElement = __decorate$1([safeCustomElement(`ixfx-panel-group`)], PanelGroupElement);
|
|
27734
27745
|
//#endregion
|
|
27735
27746
|
//#region src/panel/panel.ts
|
|
27736
27747
|
let PanelElement = class PanelElement extends i$4 {
|
|
@@ -28106,32 +28117,32 @@ let PanelElement = class PanelElement extends i$4 {
|
|
|
28106
28117
|
`;
|
|
28107
28118
|
}
|
|
28108
28119
|
};
|
|
28109
|
-
__decorate([n$2({
|
|
28120
|
+
__decorate$1([n$2({
|
|
28110
28121
|
type: Boolean,
|
|
28111
28122
|
reflect: true
|
|
28112
28123
|
})], PanelElement.prototype, "collapsed", void 0);
|
|
28113
|
-
__decorate([n$2({
|
|
28124
|
+
__decorate$1([n$2({
|
|
28114
28125
|
type: String,
|
|
28115
28126
|
attribute: `orientation`,
|
|
28116
28127
|
reflect: true
|
|
28117
28128
|
})], PanelElement.prototype, "orientation", void 0);
|
|
28118
|
-
__decorate([n$2({ type: Boolean })], PanelElement.prototype, "closable", void 0);
|
|
28119
|
-
__decorate([n$2({ type: String })], PanelElement.prototype, "title", void 0);
|
|
28120
|
-
__decorate([n$2({
|
|
28129
|
+
__decorate$1([n$2({ type: Boolean })], PanelElement.prototype, "closable", void 0);
|
|
28130
|
+
__decorate$1([n$2({ type: String })], PanelElement.prototype, "title", void 0);
|
|
28131
|
+
__decorate$1([n$2({
|
|
28121
28132
|
type: String,
|
|
28122
28133
|
attribute: `icon-name`
|
|
28123
28134
|
})], PanelElement.prototype, "iconName", void 0);
|
|
28124
|
-
__decorate([n$2({
|
|
28135
|
+
__decorate$1([n$2({
|
|
28125
28136
|
type: String,
|
|
28126
28137
|
attribute: `toggle-interaction`
|
|
28127
28138
|
})], PanelElement.prototype, "toggleInteraction", void 0);
|
|
28128
|
-
__decorate([n$2({
|
|
28139
|
+
__decorate$1([n$2({
|
|
28129
28140
|
type: String,
|
|
28130
28141
|
attribute: `variant`,
|
|
28131
28142
|
reflect: true
|
|
28132
28143
|
})], PanelElement.prototype, "variant", void 0);
|
|
28133
|
-
__decorate([r$1()], PanelElement.prototype, "_isVertical", void 0);
|
|
28134
|
-
PanelElement = __decorate([safeCustomElement(`ixfx-panel`)], PanelElement);
|
|
28144
|
+
__decorate$1([r$1()], PanelElement.prototype, "_isVertical", void 0);
|
|
28145
|
+
PanelElement = __decorate$1([safeCustomElement(`ixfx-panel`)], PanelElement);
|
|
28135
28146
|
//#endregion
|
|
28136
28147
|
//#region node_modules/.pnpm/@ixfx+modulation@0.56.12/node_modules/@ixfx/modulation/dist/chunk-pbuEa-1d.js
|
|
28137
28148
|
var __defProp = Object.defineProperty;
|
|
@@ -29154,35 +29165,35 @@ let PlotSingleAxis = class PlotSingleAxis extends i$4 {
|
|
|
29154
29165
|
`;
|
|
29155
29166
|
}
|
|
29156
29167
|
};
|
|
29157
|
-
__decorate([n$2({ attribute: `draw-style` })], PlotSingleAxis.prototype, "drawStyle", void 0);
|
|
29158
|
-
__decorate([n$2({ attribute: `age-style` })], PlotSingleAxis.prototype, "ageStyle", void 0);
|
|
29159
|
-
__decorate([n$2()], PlotSingleAxis.prototype, "title", void 0);
|
|
29160
|
-
__decorate([n$2({ type: Boolean })], PlotSingleAxis.prototype, "precise", void 0);
|
|
29161
|
-
__decorate([n$2({ type: Boolean })], PlotSingleAxis.prototype, "tooltips", void 0);
|
|
29162
|
-
__decorate([n$2({ type: Number })], PlotSingleAxis.prototype, "capacity", void 0);
|
|
29163
|
-
__decorate([n$2({
|
|
29168
|
+
__decorate$1([n$2({ attribute: `draw-style` })], PlotSingleAxis.prototype, "drawStyle", void 0);
|
|
29169
|
+
__decorate$1([n$2({ attribute: `age-style` })], PlotSingleAxis.prototype, "ageStyle", void 0);
|
|
29170
|
+
__decorate$1([n$2()], PlotSingleAxis.prototype, "title", void 0);
|
|
29171
|
+
__decorate$1([n$2({ type: Boolean })], PlotSingleAxis.prototype, "precise", void 0);
|
|
29172
|
+
__decorate$1([n$2({ type: Boolean })], PlotSingleAxis.prototype, "tooltips", void 0);
|
|
29173
|
+
__decorate$1([n$2({ type: Number })], PlotSingleAxis.prototype, "capacity", void 0);
|
|
29174
|
+
__decorate$1([n$2({
|
|
29164
29175
|
type: Boolean,
|
|
29165
29176
|
attribute: `persistent-scale`
|
|
29166
29177
|
})], PlotSingleAxis.prototype, "persistentScale", void 0);
|
|
29167
|
-
__decorate([n$2({
|
|
29178
|
+
__decorate$1([n$2({
|
|
29168
29179
|
type: Boolean,
|
|
29169
29180
|
reflect: true
|
|
29170
29181
|
})], PlotSingleAxis.prototype, "paused", void 0);
|
|
29171
|
-
__decorate([n$2({
|
|
29182
|
+
__decorate$1([n$2({
|
|
29172
29183
|
type: Boolean,
|
|
29173
29184
|
attribute: `click-pauses`
|
|
29174
29185
|
})], PlotSingleAxis.prototype, "clickPauses", void 0);
|
|
29175
|
-
__decorate([n$2({
|
|
29186
|
+
__decorate$1([n$2({
|
|
29176
29187
|
type: Boolean,
|
|
29177
29188
|
attribute: `shaded`
|
|
29178
29189
|
})], PlotSingleAxis.prototype, "shaded", void 0);
|
|
29179
|
-
__decorate([n$2({ attribute: `area-color` })], PlotSingleAxis.prototype, "areaColor", void 0);
|
|
29180
|
-
__decorate([n$2({ attribute: `color-mode` })], PlotSingleAxis.prototype, "colorMode", void 0);
|
|
29181
|
-
__decorate([n$2({ attribute: `color-easing` })], PlotSingleAxis.prototype, "colorEasing", void 0);
|
|
29182
|
-
__decorate([n$2({ attribute: `color-scale` })], PlotSingleAxis.prototype, "colorScale", void 0);
|
|
29183
|
-
__decorate([r$1()], PlotSingleAxis.prototype, "_width", void 0);
|
|
29184
|
-
__decorate([r$1()], PlotSingleAxis.prototype, "_height", void 0);
|
|
29185
|
-
PlotSingleAxis = __decorate([safeCustomElement(`ixfx-plot-single-axis`)], PlotSingleAxis);
|
|
29190
|
+
__decorate$1([n$2({ attribute: `area-color` })], PlotSingleAxis.prototype, "areaColor", void 0);
|
|
29191
|
+
__decorate$1([n$2({ attribute: `color-mode` })], PlotSingleAxis.prototype, "colorMode", void 0);
|
|
29192
|
+
__decorate$1([n$2({ attribute: `color-easing` })], PlotSingleAxis.prototype, "colorEasing", void 0);
|
|
29193
|
+
__decorate$1([n$2({ attribute: `color-scale` })], PlotSingleAxis.prototype, "colorScale", void 0);
|
|
29194
|
+
__decorate$1([r$1()], PlotSingleAxis.prototype, "_width", void 0);
|
|
29195
|
+
__decorate$1([r$1()], PlotSingleAxis.prototype, "_height", void 0);
|
|
29196
|
+
PlotSingleAxis = __decorate$1([safeCustomElement(`ixfx-plot-single-axis`)], PlotSingleAxis);
|
|
29186
29197
|
//#endregion
|
|
29187
29198
|
//#region src/plots/xy-axis.ts
|
|
29188
29199
|
let PlotXyAxis = class PlotXyAxis extends i$4 {
|
|
@@ -29429,30 +29440,30 @@ let PlotXyAxis = class PlotXyAxis extends i$4 {
|
|
|
29429
29440
|
`;
|
|
29430
29441
|
}
|
|
29431
29442
|
};
|
|
29432
|
-
__decorate([n$2({ attribute: `draw-style` })], PlotXyAxis.prototype, "drawStyle", void 0);
|
|
29433
|
-
__decorate([n$2({ attribute: `age-style` })], PlotXyAxis.prototype, "ageStyle", void 0);
|
|
29434
|
-
__decorate([n$2()], PlotXyAxis.prototype, "title", void 0);
|
|
29435
|
-
__decorate([n$2({ type: Boolean })], PlotXyAxis.prototype, "precise", void 0);
|
|
29436
|
-
__decorate([n$2({ type: Boolean })], PlotXyAxis.prototype, "tooltips", void 0);
|
|
29437
|
-
__decorate([n$2({ type: Number })], PlotXyAxis.prototype, "capacity", void 0);
|
|
29438
|
-
__decorate([n$2({
|
|
29443
|
+
__decorate$1([n$2({ attribute: `draw-style` })], PlotXyAxis.prototype, "drawStyle", void 0);
|
|
29444
|
+
__decorate$1([n$2({ attribute: `age-style` })], PlotXyAxis.prototype, "ageStyle", void 0);
|
|
29445
|
+
__decorate$1([n$2()], PlotXyAxis.prototype, "title", void 0);
|
|
29446
|
+
__decorate$1([n$2({ type: Boolean })], PlotXyAxis.prototype, "precise", void 0);
|
|
29447
|
+
__decorate$1([n$2({ type: Boolean })], PlotXyAxis.prototype, "tooltips", void 0);
|
|
29448
|
+
__decorate$1([n$2({ type: Number })], PlotXyAxis.prototype, "capacity", void 0);
|
|
29449
|
+
__decorate$1([n$2({
|
|
29439
29450
|
type: Boolean,
|
|
29440
29451
|
attribute: `persistent-scale`
|
|
29441
29452
|
})], PlotXyAxis.prototype, "persistentScale", void 0);
|
|
29442
|
-
__decorate([n$2({
|
|
29453
|
+
__decorate$1([n$2({
|
|
29443
29454
|
type: Boolean,
|
|
29444
29455
|
reflect: true
|
|
29445
29456
|
})], PlotXyAxis.prototype, "paused", void 0);
|
|
29446
|
-
__decorate([n$2({
|
|
29457
|
+
__decorate$1([n$2({
|
|
29447
29458
|
type: Boolean,
|
|
29448
29459
|
attribute: `click-pauses`
|
|
29449
29460
|
})], PlotXyAxis.prototype, "clickPauses", void 0);
|
|
29450
|
-
__decorate([n$2({ attribute: `color-mode` })], PlotXyAxis.prototype, "colorMode", void 0);
|
|
29451
|
-
__decorate([n$2({ attribute: `color-easing` })], PlotXyAxis.prototype, "colorEasing", void 0);
|
|
29452
|
-
__decorate([n$2({ attribute: `color-scale` })], PlotXyAxis.prototype, "colorScale", void 0);
|
|
29453
|
-
__decorate([r$1()], PlotXyAxis.prototype, "_width", void 0);
|
|
29454
|
-
__decorate([r$1()], PlotXyAxis.prototype, "_height", void 0);
|
|
29455
|
-
PlotXyAxis = __decorate([safeCustomElement(`ixfx-plot-xy-axis`)], PlotXyAxis);
|
|
29461
|
+
__decorate$1([n$2({ attribute: `color-mode` })], PlotXyAxis.prototype, "colorMode", void 0);
|
|
29462
|
+
__decorate$1([n$2({ attribute: `color-easing` })], PlotXyAxis.prototype, "colorEasing", void 0);
|
|
29463
|
+
__decorate$1([n$2({ attribute: `color-scale` })], PlotXyAxis.prototype, "colorScale", void 0);
|
|
29464
|
+
__decorate$1([r$1()], PlotXyAxis.prototype, "_width", void 0);
|
|
29465
|
+
__decorate$1([r$1()], PlotXyAxis.prototype, "_height", void 0);
|
|
29466
|
+
PlotXyAxis = __decorate$1([safeCustomElement(`ixfx-plot-xy-axis`)], PlotXyAxis);
|
|
29456
29467
|
//#endregion
|
|
29457
29468
|
//#region src/polar-pad/polar-pad.ts
|
|
29458
29469
|
/**
|
|
@@ -29946,44 +29957,44 @@ let PolarPad = class PolarPad extends i$4 {
|
|
|
29946
29957
|
`;
|
|
29947
29958
|
}
|
|
29948
29959
|
};
|
|
29949
|
-
__decorate([n$2({ type: Number })], PolarPad.prototype, "angle", void 0);
|
|
29950
|
-
__decorate([n$2({ type: Number })], PolarPad.prototype, "radius", void 0);
|
|
29951
|
-
__decorate([n$2({ type: Number })], PolarPad.prototype, "rings", void 0);
|
|
29952
|
-
__decorate([n$2({ type: Number })], PolarPad.prototype, "rays", void 0);
|
|
29953
|
-
__decorate([n$2({
|
|
29960
|
+
__decorate$1([n$2({ type: Number })], PolarPad.prototype, "angle", void 0);
|
|
29961
|
+
__decorate$1([n$2({ type: Number })], PolarPad.prototype, "radius", void 0);
|
|
29962
|
+
__decorate$1([n$2({ type: Number })], PolarPad.prototype, "rings", void 0);
|
|
29963
|
+
__decorate$1([n$2({ type: Number })], PolarPad.prototype, "rays", void 0);
|
|
29964
|
+
__decorate$1([n$2({
|
|
29954
29965
|
type: Boolean,
|
|
29955
29966
|
reflect: true,
|
|
29956
29967
|
attribute: `show-ray`
|
|
29957
29968
|
})], PolarPad.prototype, "showRay", void 0);
|
|
29958
|
-
__decorate([n$2({
|
|
29969
|
+
__decorate$1([n$2({
|
|
29959
29970
|
type: Boolean,
|
|
29960
29971
|
reflect: true,
|
|
29961
29972
|
attribute: `show-origin`
|
|
29962
29973
|
})], PolarPad.prototype, "showOrigin", void 0);
|
|
29963
|
-
__decorate([n$2({
|
|
29974
|
+
__decorate$1([n$2({
|
|
29964
29975
|
type: Boolean,
|
|
29965
29976
|
reflect: true,
|
|
29966
29977
|
attribute: `hide-cursor`
|
|
29967
29978
|
})], PolarPad.prototype, "hideCursor", void 0);
|
|
29968
|
-
__decorate([n$2({
|
|
29979
|
+
__decorate$1([n$2({
|
|
29969
29980
|
type: Boolean,
|
|
29970
29981
|
attribute: `snap-value`,
|
|
29971
29982
|
reflect: true
|
|
29972
29983
|
})], PolarPad.prototype, "snapValue", void 0);
|
|
29973
|
-
__decorate([n$2({
|
|
29984
|
+
__decorate$1([n$2({
|
|
29974
29985
|
type: Boolean,
|
|
29975
29986
|
reflect: true
|
|
29976
29987
|
})], PolarPad.prototype, "disabled", void 0);
|
|
29977
|
-
__decorate([n$2({ type: Number })], PolarPad.prototype, "stops", void 0);
|
|
29978
|
-
__decorate([n$2({
|
|
29988
|
+
__decorate$1([n$2({ type: Number })], PolarPad.prototype, "stops", void 0);
|
|
29989
|
+
__decorate$1([n$2({
|
|
29979
29990
|
type: Number,
|
|
29980
29991
|
attribute: `stops-angle`
|
|
29981
29992
|
})], PolarPad.prototype, "stopsAngle", void 0);
|
|
29982
|
-
__decorate([n$2({
|
|
29993
|
+
__decorate$1([n$2({
|
|
29983
29994
|
type: Number,
|
|
29984
29995
|
attribute: `stops-radius`
|
|
29985
29996
|
})], PolarPad.prototype, "stopsRadius", void 0);
|
|
29986
|
-
PolarPad = __decorate([safeCustomElement(`ixfx-polar-pad`)], PolarPad);
|
|
29997
|
+
PolarPad = __decorate$1([safeCustomElement(`ixfx-polar-pad`)], PolarPad);
|
|
29987
29998
|
//#endregion
|
|
29988
29999
|
//#region src/styles/tooltip.ts
|
|
29989
30000
|
const tooltipValueStyles = i$7`
|
|
@@ -30515,27 +30526,27 @@ let RangeInput = class RangeInput extends i$4 {
|
|
|
30515
30526
|
`];
|
|
30516
30527
|
}
|
|
30517
30528
|
};
|
|
30518
|
-
__decorate([n$2({ type: Number })], RangeInput.prototype, "min", void 0);
|
|
30519
|
-
__decorate([n$2({ type: Number })], RangeInput.prototype, "max", void 0);
|
|
30520
|
-
__decorate([n$2({ type: Number })], RangeInput.prototype, "value", void 0);
|
|
30521
|
-
__decorate([n$2({ type: Number })], RangeInput.prototype, "step", void 0);
|
|
30522
|
-
__decorate([n$2({
|
|
30529
|
+
__decorate$1([n$2({ type: Number })], RangeInput.prototype, "min", void 0);
|
|
30530
|
+
__decorate$1([n$2({ type: Number })], RangeInput.prototype, "max", void 0);
|
|
30531
|
+
__decorate$1([n$2({ type: Number })], RangeInput.prototype, "value", void 0);
|
|
30532
|
+
__decorate$1([n$2({ type: Number })], RangeInput.prototype, "step", void 0);
|
|
30533
|
+
__decorate$1([n$2({
|
|
30523
30534
|
type: String,
|
|
30524
30535
|
reflect: true
|
|
30525
30536
|
})], RangeInput.prototype, "orientation", void 0);
|
|
30526
|
-
__decorate([n$2({
|
|
30537
|
+
__decorate$1([n$2({
|
|
30527
30538
|
type: Boolean,
|
|
30528
30539
|
reflect: true
|
|
30529
30540
|
})], RangeInput.prototype, "swipeable", void 0);
|
|
30530
|
-
__decorate([n$2({ type: Boolean })], RangeInput.prototype, "tooltip", void 0);
|
|
30531
|
-
__decorate([n$2({
|
|
30541
|
+
__decorate$1([n$2({ type: Boolean })], RangeInput.prototype, "tooltip", void 0);
|
|
30542
|
+
__decorate$1([n$2({
|
|
30532
30543
|
type: String,
|
|
30533
30544
|
attribute: `tooltip-orientation`
|
|
30534
30545
|
})], RangeInput.prototype, "tooltipOrientation", void 0);
|
|
30535
|
-
__decorate([n$2({ attribute: false })], RangeInput.prototype, "labelFormatter", void 0);
|
|
30536
|
-
__decorate([e$4(`input`)], RangeInput.prototype, "_inputEl", void 0);
|
|
30537
|
-
__decorate([e$4(`ixfx-tooltip`)], RangeInput.prototype, "_tooltipEl", void 0);
|
|
30538
|
-
RangeInput = __decorate([safeCustomElement(`ixfx-range-input`)], RangeInput);
|
|
30546
|
+
__decorate$1([n$2({ attribute: false })], RangeInput.prototype, "labelFormatter", void 0);
|
|
30547
|
+
__decorate$1([e$4(`input`)], RangeInput.prototype, "_inputEl", void 0);
|
|
30548
|
+
__decorate$1([e$4(`ixfx-tooltip`)], RangeInput.prototype, "_tooltipEl", void 0);
|
|
30549
|
+
RangeInput = __decorate$1([safeCustomElement(`ixfx-range-input`)], RangeInput);
|
|
30539
30550
|
//#endregion
|
|
30540
30551
|
//#region src/util/drag.ts
|
|
30541
30552
|
function getCoordinates(event) {
|
|
@@ -31027,28 +31038,28 @@ let RangeMultiElement = class RangeMultiElement extends i$4 {
|
|
|
31027
31038
|
];
|
|
31028
31039
|
}
|
|
31029
31040
|
};
|
|
31030
|
-
__decorate([n$2({ type: Boolean })], RangeMultiElement.prototype, "tooltip", void 0);
|
|
31031
|
-
__decorate([n$2({
|
|
31041
|
+
__decorate$1([n$2({ type: Boolean })], RangeMultiElement.prototype, "tooltip", void 0);
|
|
31042
|
+
__decorate$1([n$2({
|
|
31032
31043
|
type: String,
|
|
31033
31044
|
attribute: `tooltip-orientation`
|
|
31034
31045
|
})], RangeMultiElement.prototype, "tooltipOrientation", void 0);
|
|
31035
|
-
__decorate([n$2({ type: String })], RangeMultiElement.prototype, "crossover", void 0);
|
|
31036
|
-
__decorate([n$2({
|
|
31046
|
+
__decorate$1([n$2({ type: String })], RangeMultiElement.prototype, "crossover", void 0);
|
|
31047
|
+
__decorate$1([n$2({
|
|
31037
31048
|
type: String,
|
|
31038
31049
|
attribute: `resize-mode`
|
|
31039
31050
|
})], RangeMultiElement.prototype, "resizeMode", void 0);
|
|
31040
|
-
__decorate([n$2({
|
|
31051
|
+
__decorate$1([n$2({
|
|
31041
31052
|
type: String,
|
|
31042
31053
|
reflect: true
|
|
31043
31054
|
})], RangeMultiElement.prototype, "orientation", void 0);
|
|
31044
|
-
__decorate([n$2()], RangeMultiElement.prototype, "step", void 0);
|
|
31045
|
-
__decorate([n$2({ type: Number })], RangeMultiElement.prototype, "a", void 0);
|
|
31046
|
-
__decorate([n$2({ type: Number })], RangeMultiElement.prototype, "b", void 0);
|
|
31047
|
-
__decorate([n$2({ type: Number })], RangeMultiElement.prototype, "max", null);
|
|
31048
|
-
__decorate([n$2({ type: Number })], RangeMultiElement.prototype, "min", null);
|
|
31049
|
-
__decorate([t$3({ capture: true })], RangeMultiElement.prototype, "_onInput", null);
|
|
31050
|
-
__decorate([t$3({ capture: true })], RangeMultiElement.prototype, "_onPointerDown", null);
|
|
31051
|
-
RangeMultiElement = __decorate([safeCustomElement(`ixfx-range-multi`)], RangeMultiElement);
|
|
31055
|
+
__decorate$1([n$2()], RangeMultiElement.prototype, "step", void 0);
|
|
31056
|
+
__decorate$1([n$2({ type: Number })], RangeMultiElement.prototype, "a", void 0);
|
|
31057
|
+
__decorate$1([n$2({ type: Number })], RangeMultiElement.prototype, "b", void 0);
|
|
31058
|
+
__decorate$1([n$2({ type: Number })], RangeMultiElement.prototype, "max", null);
|
|
31059
|
+
__decorate$1([n$2({ type: Number })], RangeMultiElement.prototype, "min", null);
|
|
31060
|
+
__decorate$1([t$3({ capture: true })], RangeMultiElement.prototype, "_onInput", null);
|
|
31061
|
+
__decorate$1([t$3({ capture: true })], RangeMultiElement.prototype, "_onPointerDown", null);
|
|
31062
|
+
RangeMultiElement = __decorate$1([safeCustomElement(`ixfx-range-multi`)], RangeMultiElement);
|
|
31052
31063
|
//#endregion
|
|
31053
31064
|
//#region src/range/range.ts
|
|
31054
31065
|
let RangeElement = class RangeElement extends i$4 {
|
|
@@ -31159,24 +31170,24 @@ let RangeElement = class RangeElement extends i$4 {
|
|
|
31159
31170
|
];
|
|
31160
31171
|
}
|
|
31161
31172
|
};
|
|
31162
|
-
__decorate([n$2({ type: Boolean })], RangeElement.prototype, "tooltip", void 0);
|
|
31163
|
-
__decorate([n$2({
|
|
31173
|
+
__decorate$1([n$2({ type: Boolean })], RangeElement.prototype, "tooltip", void 0);
|
|
31174
|
+
__decorate$1([n$2({
|
|
31164
31175
|
type: String,
|
|
31165
31176
|
attribute: `tooltip-orientation`
|
|
31166
31177
|
})], RangeElement.prototype, "tooltipOrientation", void 0);
|
|
31167
|
-
__decorate([n$2({
|
|
31178
|
+
__decorate$1([n$2({
|
|
31168
31179
|
type: String,
|
|
31169
31180
|
reflect: true
|
|
31170
31181
|
})], RangeElement.prototype, "orientation", void 0);
|
|
31171
|
-
__decorate([n$2({
|
|
31182
|
+
__decorate$1([n$2({
|
|
31172
31183
|
type: Boolean,
|
|
31173
31184
|
attribute: true
|
|
31174
31185
|
})], RangeElement.prototype, "disabled", void 0);
|
|
31175
|
-
__decorate([n$2({ type: Number })], RangeElement.prototype, "min", void 0);
|
|
31176
|
-
__decorate([n$2({ type: Number })], RangeElement.prototype, "max", void 0);
|
|
31177
|
-
__decorate([n$2({ type: Number })], RangeElement.prototype, "value", null);
|
|
31178
|
-
__decorate([n$2({ type: Number })], RangeElement.prototype, "step", void 0);
|
|
31179
|
-
RangeElement = __decorate([safeCustomElement(`ixfx-range`)], RangeElement);
|
|
31186
|
+
__decorate$1([n$2({ type: Number })], RangeElement.prototype, "min", void 0);
|
|
31187
|
+
__decorate$1([n$2({ type: Number })], RangeElement.prototype, "max", void 0);
|
|
31188
|
+
__decorate$1([n$2({ type: Number })], RangeElement.prototype, "value", null);
|
|
31189
|
+
__decorate$1([n$2({ type: Number })], RangeElement.prototype, "step", void 0);
|
|
31190
|
+
RangeElement = __decorate$1([safeCustomElement(`ixfx-range`)], RangeElement);
|
|
31180
31191
|
//#endregion
|
|
31181
31192
|
//#region src/selecthorizontal.ts
|
|
31182
31193
|
let SelectHorizontalElement = class SelectHorizontalElement extends i$4 {
|
|
@@ -31211,8 +31222,8 @@ let SelectHorizontalElement = class SelectHorizontalElement extends i$4 {
|
|
|
31211
31222
|
`;
|
|
31212
31223
|
}
|
|
31213
31224
|
};
|
|
31214
|
-
__decorate([n$2({ type: Boolean })], SelectHorizontalElement.prototype, "editMode", void 0);
|
|
31215
|
-
SelectHorizontalElement = __decorate([safeCustomElement(`ixfx-selecthorizontal-element`)], SelectHorizontalElement);
|
|
31225
|
+
__decorate$1([n$2({ type: Boolean })], SelectHorizontalElement.prototype, "editMode", void 0);
|
|
31226
|
+
SelectHorizontalElement = __decorate$1([safeCustomElement(`ixfx-selecthorizontal-element`)], SelectHorizontalElement);
|
|
31216
31227
|
//#endregion
|
|
31217
31228
|
//#region src/snap-container/snap-container.ts
|
|
31218
31229
|
let SnapContainer = class SnapContainer extends i$4 {
|
|
@@ -31485,25 +31496,25 @@ let SnapContainer = class SnapContainer extends i$4 {
|
|
|
31485
31496
|
`;
|
|
31486
31497
|
}
|
|
31487
31498
|
};
|
|
31488
|
-
__decorate([n$2({
|
|
31499
|
+
__decorate$1([n$2({
|
|
31489
31500
|
type: String,
|
|
31490
31501
|
attribute: `orientation`
|
|
31491
31502
|
})], SnapContainer.prototype, "orientation", void 0);
|
|
31492
|
-
__decorate([n$2({
|
|
31503
|
+
__decorate$1([n$2({
|
|
31493
31504
|
type: Number,
|
|
31494
31505
|
attribute: `snap-positions`
|
|
31495
31506
|
})], SnapContainer.prototype, "snapPositions", void 0);
|
|
31496
|
-
__decorate([n$2({
|
|
31507
|
+
__decorate$1([n$2({
|
|
31497
31508
|
type: String,
|
|
31498
31509
|
attribute: `snap-logic`
|
|
31499
31510
|
})], SnapContainer.prototype, "snapLogic", void 0);
|
|
31500
|
-
__decorate([n$2({
|
|
31511
|
+
__decorate$1([n$2({
|
|
31501
31512
|
type: String,
|
|
31502
31513
|
attribute: `click-snap`
|
|
31503
31514
|
})], SnapContainer.prototype, "clickSnap", void 0);
|
|
31504
|
-
__decorate([n$2({ type: Number })], SnapContainer.prototype, "snap", void 0);
|
|
31505
|
-
__decorate([r$1()], SnapContainer.prototype, "_dragging", void 0);
|
|
31506
|
-
SnapContainer = __decorate([safeCustomElement(`ixfx-snap-container`)], SnapContainer);
|
|
31515
|
+
__decorate$1([n$2({ type: Number })], SnapContainer.prototype, "snap", void 0);
|
|
31516
|
+
__decorate$1([r$1()], SnapContainer.prototype, "_dragging", void 0);
|
|
31517
|
+
SnapContainer = __decorate$1([safeCustomElement(`ixfx-snap-container`)], SnapContainer);
|
|
31507
31518
|
//#endregion
|
|
31508
31519
|
//#region src/split-layout/split-layout.ts
|
|
31509
31520
|
let SplitLayoutElement = class SplitLayoutElement extends i$4 {
|
|
@@ -31551,7 +31562,7 @@ let SplitLayoutElement = class SplitLayoutElement extends i$4 {
|
|
|
31551
31562
|
if (!bounds) return;
|
|
31552
31563
|
const threshold = 5;
|
|
31553
31564
|
if (this.layout === `horizontal`) {
|
|
31554
|
-
const relativeY = clamp$
|
|
31565
|
+
const relativeY = clamp$3((event.y - bounds.y) / bounds.height);
|
|
31555
31566
|
if (this.collapsible && this.collapsedA) {
|
|
31556
31567
|
if (relativeY > (this.#collapsedAPointerAtCollapse ?? .05) + this.#hysteresisThreshold) {
|
|
31557
31568
|
this.collapsedA = false;
|
|
@@ -31589,7 +31600,7 @@ let SplitLayoutElement = class SplitLayoutElement extends i$4 {
|
|
|
31589
31600
|
this.#collapsedBPointerAtCollapse = relativeY;
|
|
31590
31601
|
}
|
|
31591
31602
|
} else {
|
|
31592
|
-
const relativeX = clamp$
|
|
31603
|
+
const relativeX = clamp$3((event.x - bounds.x) / bounds.width);
|
|
31593
31604
|
if (this.collapsible && this.collapsedA) {
|
|
31594
31605
|
if (relativeX > (this.#collapsedAPointerAtCollapse ?? .05) + this.#hysteresisThreshold) {
|
|
31595
31606
|
this.collapsedA = false;
|
|
@@ -32022,26 +32033,26 @@ let SplitLayoutElement = class SplitLayoutElement extends i$4 {
|
|
|
32022
32033
|
`;
|
|
32023
32034
|
}
|
|
32024
32035
|
};
|
|
32025
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "layout", void 0);
|
|
32026
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "sizeA", void 0);
|
|
32027
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "sizeB", void 0);
|
|
32028
|
-
__decorate([n$2({ type: Boolean })], SplitLayoutElement.prototype, "fixedA", void 0);
|
|
32029
|
-
__decorate([n$2({ type: Boolean })], SplitLayoutElement.prototype, "fixedB", void 0);
|
|
32030
|
-
__decorate([n$2({ type: Boolean })], SplitLayoutElement.prototype, "collapsible", void 0);
|
|
32031
|
-
__decorate([n$2({
|
|
32036
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "layout", void 0);
|
|
32037
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "sizeA", void 0);
|
|
32038
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "sizeB", void 0);
|
|
32039
|
+
__decorate$1([n$2({ type: Boolean })], SplitLayoutElement.prototype, "fixedA", void 0);
|
|
32040
|
+
__decorate$1([n$2({ type: Boolean })], SplitLayoutElement.prototype, "fixedB", void 0);
|
|
32041
|
+
__decorate$1([n$2({ type: Boolean })], SplitLayoutElement.prototype, "collapsible", void 0);
|
|
32042
|
+
__decorate$1([n$2({
|
|
32032
32043
|
type: Boolean,
|
|
32033
32044
|
reflect: true
|
|
32034
32045
|
})], SplitLayoutElement.prototype, "collapsedA", void 0);
|
|
32035
|
-
__decorate([n$2({
|
|
32046
|
+
__decorate$1([n$2({
|
|
32036
32047
|
type: Boolean,
|
|
32037
32048
|
reflect: true
|
|
32038
32049
|
})], SplitLayoutElement.prototype, "collapsedB", void 0);
|
|
32039
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "minSizeA", void 0);
|
|
32040
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "maxSizeA", void 0);
|
|
32041
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "minSizeB", void 0);
|
|
32042
|
-
__decorate([n$2({ type: String })], SplitLayoutElement.prototype, "maxSizeB", void 0);
|
|
32043
|
-
__decorate([r$1()], SplitLayoutElement.prototype, "_hasCorner", void 0);
|
|
32044
|
-
SplitLayoutElement = __decorate([safeCustomElement(`ixfx-split-layout`)], SplitLayoutElement);
|
|
32050
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "minSizeA", void 0);
|
|
32051
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "maxSizeA", void 0);
|
|
32052
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "minSizeB", void 0);
|
|
32053
|
+
__decorate$1([n$2({ type: String })], SplitLayoutElement.prototype, "maxSizeB", void 0);
|
|
32054
|
+
__decorate$1([r$1()], SplitLayoutElement.prototype, "_hasCorner", void 0);
|
|
32055
|
+
SplitLayoutElement = __decorate$1([safeCustomElement(`ixfx-split-layout`)], SplitLayoutElement);
|
|
32045
32056
|
//#endregion
|
|
32046
32057
|
//#region src/swipe/swipe.ts
|
|
32047
32058
|
let SwipeElement = class SwipeElement extends i$4 {
|
|
@@ -32234,11 +32245,11 @@ let SwipeElement = class SwipeElement extends i$4 {
|
|
|
32234
32245
|
`;
|
|
32235
32246
|
}
|
|
32236
32247
|
};
|
|
32237
|
-
__decorate([n$2({ type: Number })], SwipeElement.prototype, "barSpacing", void 0);
|
|
32238
|
-
__decorate([n$2({ type: Number })], SwipeElement.prototype, "barWidth", void 0);
|
|
32239
|
-
__decorate([n$2({ type: Number })], SwipeElement.prototype, "debounceMs", void 0);
|
|
32240
|
-
__decorate([n$2({ type: Number })], SwipeElement.prototype, "retractDurationMs", void 0);
|
|
32241
|
-
SwipeElement = __decorate([safeCustomElement(`ixfx-swipe`)], SwipeElement);
|
|
32248
|
+
__decorate$1([n$2({ type: Number })], SwipeElement.prototype, "barSpacing", void 0);
|
|
32249
|
+
__decorate$1([n$2({ type: Number })], SwipeElement.prototype, "barWidth", void 0);
|
|
32250
|
+
__decorate$1([n$2({ type: Number })], SwipeElement.prototype, "debounceMs", void 0);
|
|
32251
|
+
__decorate$1([n$2({ type: Number })], SwipeElement.prototype, "retractDurationMs", void 0);
|
|
32252
|
+
SwipeElement = __decorate$1([safeCustomElement(`ixfx-swipe`)], SwipeElement);
|
|
32242
32253
|
//#endregion
|
|
32243
32254
|
//#region src/tabs/tab-list-item.ts
|
|
32244
32255
|
let TabListItemElement = class TabListItemElement extends i$4 {
|
|
@@ -32412,19 +32423,19 @@ let TabListItemElement = class TabListItemElement extends i$4 {
|
|
|
32412
32423
|
`];
|
|
32413
32424
|
}
|
|
32414
32425
|
};
|
|
32415
|
-
__decorate([n$2({ type: Boolean })], TabListItemElement.prototype, "closeable", void 0);
|
|
32416
|
-
__decorate([n$2({
|
|
32426
|
+
__decorate$1([n$2({ type: Boolean })], TabListItemElement.prototype, "closeable", void 0);
|
|
32427
|
+
__decorate$1([n$2({
|
|
32417
32428
|
type: String,
|
|
32418
32429
|
attribute: `icon-name`
|
|
32419
32430
|
})], TabListItemElement.prototype, "iconName", void 0);
|
|
32420
|
-
__decorate([n$2({ type: String })], TabListItemElement.prototype, "description", void 0);
|
|
32421
|
-
__decorate([n$2({
|
|
32431
|
+
__decorate$1([n$2({ type: String })], TabListItemElement.prototype, "description", void 0);
|
|
32432
|
+
__decorate$1([n$2({
|
|
32422
32433
|
type: String,
|
|
32423
32434
|
attribute: `command-active`
|
|
32424
32435
|
})], TabListItemElement.prototype, "commandActive", void 0);
|
|
32425
|
-
__decorate([n$2({ attribute: false })], TabListItemElement.prototype, "registry", void 0);
|
|
32426
|
-
__decorate([r$1()], TabListItemElement.prototype, "_compact", void 0);
|
|
32427
|
-
TabListItemElement = __decorate([safeCustomElement(`ixfx-tab-list-item`)], TabListItemElement);
|
|
32436
|
+
__decorate$1([n$2({ attribute: false })], TabListItemElement.prototype, "registry", void 0);
|
|
32437
|
+
__decorate$1([r$1()], TabListItemElement.prototype, "_compact", void 0);
|
|
32438
|
+
TabListItemElement = __decorate$1([safeCustomElement(`ixfx-tab-list-item`)], TabListItemElement);
|
|
32428
32439
|
//#endregion
|
|
32429
32440
|
//#region src/tabs/tab-list.ts
|
|
32430
32441
|
let TabListElement = class TabListElement extends i$4 {
|
|
@@ -32618,10 +32629,10 @@ let TabListElement = class TabListElement extends i$4 {
|
|
|
32618
32629
|
`;
|
|
32619
32630
|
}
|
|
32620
32631
|
};
|
|
32621
|
-
__decorate([n$2({ type: String })], TabListElement.prototype, "orientation", void 0);
|
|
32622
|
-
__decorate([n$2({ type: Boolean })], TabListElement.prototype, "flip", void 0);
|
|
32623
|
-
__decorate([n$2({ type: Boolean })], TabListElement.prototype, "scrollable", void 0);
|
|
32624
|
-
TabListElement = __decorate([safeCustomElement(`ixfx-tab-list`)], TabListElement);
|
|
32632
|
+
__decorate$1([n$2({ type: String })], TabListElement.prototype, "orientation", void 0);
|
|
32633
|
+
__decorate$1([n$2({ type: Boolean })], TabListElement.prototype, "flip", void 0);
|
|
32634
|
+
__decorate$1([n$2({ type: Boolean })], TabListElement.prototype, "scrollable", void 0);
|
|
32635
|
+
TabListElement = __decorate$1([safeCustomElement(`ixfx-tab-list`)], TabListElement);
|
|
32625
32636
|
//#endregion
|
|
32626
32637
|
//#region src/tabs/tab-panel.ts
|
|
32627
32638
|
let TabPanelElement = class TabPanelElement extends i$4 {
|
|
@@ -32643,7 +32654,7 @@ let TabPanelElement = class TabPanelElement extends i$4 {
|
|
|
32643
32654
|
`;
|
|
32644
32655
|
}
|
|
32645
32656
|
};
|
|
32646
|
-
TabPanelElement = __decorate([safeCustomElement(`ixfx-tab-panel`)], TabPanelElement);
|
|
32657
|
+
TabPanelElement = __decorate$1([safeCustomElement(`ixfx-tab-panel`)], TabPanelElement);
|
|
32647
32658
|
//#endregion
|
|
32648
32659
|
//#region src/tabs/tab-panels.ts
|
|
32649
32660
|
let TabPanelsElement = class TabPanelsElement extends i$4 {
|
|
@@ -32700,8 +32711,8 @@ let TabPanelsElement = class TabPanelsElement extends i$4 {
|
|
|
32700
32711
|
`;
|
|
32701
32712
|
}
|
|
32702
32713
|
};
|
|
32703
|
-
__decorate([o$2()], TabPanelsElement.prototype, "_listItems", void 0);
|
|
32704
|
-
TabPanelsElement = __decorate([safeCustomElement(`ixfx-tab-panels`)], TabPanelsElement);
|
|
32714
|
+
__decorate$1([o$2()], TabPanelsElement.prototype, "_listItems", void 0);
|
|
32715
|
+
TabPanelsElement = __decorate$1([safeCustomElement(`ixfx-tab-panels`)], TabPanelsElement);
|
|
32705
32716
|
//#endregion
|
|
32706
32717
|
//#region src/timeline/timeline-controller.ts
|
|
32707
32718
|
/**
|
|
@@ -33693,24 +33704,1453 @@ let TimelineTrackTabElement = class TimelineTrackTabElement extends i$4 {
|
|
|
33693
33704
|
this.style.cursor = ``;
|
|
33694
33705
|
}
|
|
33695
33706
|
};
|
|
33696
|
-
__decorate([n$2({ type: String })], TimelineTrackTabElement.prototype, "label", void 0);
|
|
33697
|
-
__decorate([n$2({
|
|
33707
|
+
__decorate$1([n$2({ type: String })], TimelineTrackTabElement.prototype, "label", void 0);
|
|
33708
|
+
__decorate$1([n$2({
|
|
33698
33709
|
type: String,
|
|
33699
33710
|
attribute: `track-key`
|
|
33700
33711
|
})], TimelineTrackTabElement.prototype, "trackKey", void 0);
|
|
33701
|
-
__decorate([n$2({
|
|
33712
|
+
__decorate$1([n$2({
|
|
33702
33713
|
type: Boolean,
|
|
33703
33714
|
reflect: true
|
|
33704
33715
|
})], TimelineTrackTabElement.prototype, "selected", void 0);
|
|
33705
|
-
__decorate([n$2({
|
|
33716
|
+
__decorate$1([n$2({
|
|
33706
33717
|
type: Boolean,
|
|
33707
33718
|
reflect: true
|
|
33708
33719
|
})], TimelineTrackTabElement.prototype, "reorderable", void 0);
|
|
33709
|
-
__decorate([n$2({
|
|
33720
|
+
__decorate$1([n$2({
|
|
33710
33721
|
type: Boolean,
|
|
33711
33722
|
reflect: true
|
|
33712
33723
|
})], TimelineTrackTabElement.prototype, "resizable", void 0);
|
|
33713
|
-
TimelineTrackTabElement = __decorate([safeCustomElement(`ixfx-timeline-track-tab`)], TimelineTrackTabElement);
|
|
33724
|
+
TimelineTrackTabElement = __decorate$1([safeCustomElement(`ixfx-timeline-track-tab`)], TimelineTrackTabElement);
|
|
33725
|
+
//#endregion
|
|
33726
|
+
//#region node_modules/.pnpm/@clinth+vcanvas@0.0.3/node_modules/@clinth/vcanvas/dist/convert.js
|
|
33727
|
+
/**
|
|
33728
|
+
* Converts viewport-relative coordinates to canvas-relative (logical) coordinates.
|
|
33729
|
+
*
|
|
33730
|
+
* This function accounts for the current scroll position and content offset to translate
|
|
33731
|
+
* coordinates from the visible viewport space to the logical canvas space.
|
|
33732
|
+
*
|
|
33733
|
+
* @param x - The x-coordinate in viewport space (pixels from left edge of viewport)
|
|
33734
|
+
* @param y - The y-coordinate in viewport space (pixels from top)
|
|
33735
|
+
* @param scrollLeft - The current horizontal scroll position in pixels
|
|
33736
|
+
* @param contentOffset - The horizontal offset applied to center content in single-tile mode
|
|
33737
|
+
* @param scrollTop - The current vertical scroll position in pixels
|
|
33738
|
+
* @param contentOffsetY - The vertical offset applied to center content in single-tile-row mode
|
|
33739
|
+
* @returns The point in canvas (logical) coordinate space
|
|
33740
|
+
*
|
|
33741
|
+
* @example
|
|
33742
|
+
* ```typescript
|
|
33743
|
+
* // Viewport coordinate (100, 50) with scroll at 500 and no offset
|
|
33744
|
+
* const canvasPoint = viewportToCanvas(100, 50, 500, 0, 0, 0);
|
|
33745
|
+
* // Returns: { x: 600, y: 50 }
|
|
33746
|
+
* ```
|
|
33747
|
+
*/
|
|
33748
|
+
function viewportToCanvas(x, y, scrollLeft, contentOffset, scrollTop = 0, contentOffsetY = 0) {
|
|
33749
|
+
return {
|
|
33750
|
+
x: x + scrollLeft - contentOffset,
|
|
33751
|
+
y: y + scrollTop - contentOffsetY
|
|
33752
|
+
};
|
|
33753
|
+
}
|
|
33754
|
+
/**
|
|
33755
|
+
* Converts canvas-relative (logical) coordinates to viewport-relative coordinates.
|
|
33756
|
+
*
|
|
33757
|
+
* This function translates coordinates from the logical canvas space back to the
|
|
33758
|
+
* visible viewport space, accounting for scroll position and content offset.
|
|
33759
|
+
*
|
|
33760
|
+
* @param x - The x-coordinate in canvas (logical) space
|
|
33761
|
+
* @param y - The y-coordinate in canvas (logical) space
|
|
33762
|
+
* @param scrollLeft - The current horizontal scroll position in pixels
|
|
33763
|
+
* @param contentOffset - The horizontal offset applied to center content in single-tile mode
|
|
33764
|
+
* @param scrollTop - The current vertical scroll position in pixels
|
|
33765
|
+
* @param contentOffsetY - The vertical offset applied to center content in single-tile-row mode
|
|
33766
|
+
* @returns The point in viewport coordinate space
|
|
33767
|
+
*
|
|
33768
|
+
* @example
|
|
33769
|
+
* ```typescript
|
|
33770
|
+
* // Canvas coordinate (600, 50) with scroll at 500 and no offset
|
|
33771
|
+
* const viewportPoint = canvasToViewport(600, 50, 500, 0, 0, 0);
|
|
33772
|
+
* // Returns: { x: 100, y: 50 }
|
|
33773
|
+
* ```
|
|
33774
|
+
*/
|
|
33775
|
+
function canvasToViewport(x, y, scrollLeft, contentOffset, scrollTop = 0, contentOffsetY = 0) {
|
|
33776
|
+
return {
|
|
33777
|
+
x: x - scrollLeft + contentOffset,
|
|
33778
|
+
y: y - scrollTop + contentOffsetY
|
|
33779
|
+
};
|
|
33780
|
+
}
|
|
33781
|
+
/**
|
|
33782
|
+
* Clamps a numeric value between a minimum and maximum bound.
|
|
33783
|
+
*
|
|
33784
|
+
* This is a utility function to constrain values within a valid range.
|
|
33785
|
+
*
|
|
33786
|
+
* @param value - The value to clamp
|
|
33787
|
+
* @param min - The minimum allowed value
|
|
33788
|
+
* @param max - The maximum allowed value
|
|
33789
|
+
* @returns The clamped value, guaranteed to be between min and max (inclusive)
|
|
33790
|
+
*
|
|
33791
|
+
* @example
|
|
33792
|
+
* ```typescript
|
|
33793
|
+
* clamp(15, 0, 10); // Returns: 10
|
|
33794
|
+
* clamp(-5, 0, 10); // Returns: 0
|
|
33795
|
+
* clamp(5, 0, 10); // Returns: 5
|
|
33796
|
+
* ```
|
|
33797
|
+
*/
|
|
33798
|
+
function clamp(value, min, max) {
|
|
33799
|
+
return Math.max(min, Math.min(value, max));
|
|
33800
|
+
}
|
|
33801
|
+
//#endregion
|
|
33802
|
+
//#region node_modules/.pnpm/@clinth+vcanvas@0.0.3/node_modules/@clinth/vcanvas/dist/styles.js
|
|
33803
|
+
/**
|
|
33804
|
+
* CSS styles for the VCanvas component.
|
|
33805
|
+
*
|
|
33806
|
+
* These styles define the layout and positioning of:
|
|
33807
|
+
* - The host element (`:host`)
|
|
33808
|
+
* - The scroll container (`.scroll-container`)
|
|
33809
|
+
* - The content spacer (`.spacer`)
|
|
33810
|
+
* - The tile pool container (`.tile-pool`)
|
|
33811
|
+
* - Canvas elements
|
|
33812
|
+
* - The children container for slotted elements (`.children-container`)
|
|
33813
|
+
*
|
|
33814
|
+
* The styles use absolute positioning to create a virtualized scrolling experience
|
|
33815
|
+
* where tiles are rendered only when visible in the viewport.
|
|
33816
|
+
*
|
|
33817
|
+
* @example
|
|
33818
|
+
* ```typescript
|
|
33819
|
+
* import { vcanvasStyles } from '@clinth/vcanvas';
|
|
33820
|
+
*
|
|
33821
|
+
* // Styles are automatically applied when using the VCanvas component
|
|
33822
|
+
* // You typically don't need to use these directly unless extending the component
|
|
33823
|
+
* ```
|
|
33824
|
+
*/
|
|
33825
|
+
const vcanvasStyles = i$7`
|
|
33826
|
+
:host {
|
|
33827
|
+
display: block;
|
|
33828
|
+
position: relative;
|
|
33829
|
+
overflow: hidden;
|
|
33830
|
+
}
|
|
33831
|
+
|
|
33832
|
+
.scroll-container {
|
|
33833
|
+
overflow-x: auto;
|
|
33834
|
+
overflow-y: clip;
|
|
33835
|
+
width: 100%;
|
|
33836
|
+
height: 100%;
|
|
33837
|
+
position: relative;
|
|
33838
|
+
touch-action: pan-x;
|
|
33839
|
+
scrollbar-width: var(--scrollbar-width, auto);
|
|
33840
|
+
scrollbar-color: var(--scrollbar-color, auto);
|
|
33841
|
+
}
|
|
33842
|
+
|
|
33843
|
+
.scroll-container.vertical {
|
|
33844
|
+
overflow-y: auto;
|
|
33845
|
+
touch-action: pan-x pan-y;
|
|
33846
|
+
}
|
|
33847
|
+
|
|
33848
|
+
.spacer {
|
|
33849
|
+
position: absolute;
|
|
33850
|
+
left: 0;
|
|
33851
|
+
top: 0;
|
|
33852
|
+
pointer-events: none;
|
|
33853
|
+
z-index: -1;
|
|
33854
|
+
}
|
|
33855
|
+
|
|
33856
|
+
.tile-pool {
|
|
33857
|
+
position: absolute;
|
|
33858
|
+
top: 0;
|
|
33859
|
+
left: 0;
|
|
33860
|
+
height: 100%;
|
|
33861
|
+
width: 100%;
|
|
33862
|
+
pointer-events: none;
|
|
33863
|
+
}
|
|
33864
|
+
|
|
33865
|
+
canvas {
|
|
33866
|
+
position: absolute;
|
|
33867
|
+
top: 0;
|
|
33868
|
+
pointer-events: auto;
|
|
33869
|
+
}
|
|
33870
|
+
|
|
33871
|
+
.children-container {
|
|
33872
|
+
position: absolute;
|
|
33873
|
+
top: 0;
|
|
33874
|
+
height: 100%;
|
|
33875
|
+
left: 0;
|
|
33876
|
+
}
|
|
33877
|
+
|
|
33878
|
+
@property --left-fade {
|
|
33879
|
+
syntax: "<length>";
|
|
33880
|
+
inherits: false;
|
|
33881
|
+
initial-value: 0;
|
|
33882
|
+
}
|
|
33883
|
+
|
|
33884
|
+
@property --right-fade {
|
|
33885
|
+
syntax: "<length>";
|
|
33886
|
+
inherits: false;
|
|
33887
|
+
initial-value: 0;
|
|
33888
|
+
}
|
|
33889
|
+
|
|
33890
|
+
@keyframes scrollfade {
|
|
33891
|
+
0% {
|
|
33892
|
+
--left-fade: 0;
|
|
33893
|
+
}
|
|
33894
|
+
10%,
|
|
33895
|
+
100% {
|
|
33896
|
+
--left-fade: 3rem;
|
|
33897
|
+
}
|
|
33898
|
+
0%,
|
|
33899
|
+
90% {
|
|
33900
|
+
--right-fade: 3rem;
|
|
33901
|
+
}
|
|
33902
|
+
100% {
|
|
33903
|
+
--right-fade: 0;
|
|
33904
|
+
}
|
|
33905
|
+
}
|
|
33906
|
+
|
|
33907
|
+
.scrollable {
|
|
33908
|
+
mask: linear-gradient(to right, #0000, #ffff var(--left-fade) calc(100% - var(--right-fade)), #0000);
|
|
33909
|
+
animation: scrollfade;
|
|
33910
|
+
animation-timeline: --scrollfade;
|
|
33911
|
+
scroll-timeline: --scrollfade x;
|
|
33912
|
+
}
|
|
33913
|
+
|
|
33914
|
+
`;
|
|
33915
|
+
//#endregion
|
|
33916
|
+
//#region node_modules/.pnpm/@clinth+vcanvas@0.0.3/node_modules/@clinth/vcanvas/dist/tile-calculator.js
|
|
33917
|
+
/**
|
|
33918
|
+
* Calculates the width of a tile based on viewport width and multiplier.
|
|
33919
|
+
*
|
|
33920
|
+
* @param viewportWidth - The width of the viewport in pixels
|
|
33921
|
+
* @param multiplier - The multiplier to apply (typically 0.25 to 1.0)
|
|
33922
|
+
* @returns The calculated tile width in pixels
|
|
33923
|
+
*
|
|
33924
|
+
* @example
|
|
33925
|
+
* ```typescript
|
|
33926
|
+
* getTileWidth(1000, 0.5); // Returns: 500
|
|
33927
|
+
* ```
|
|
33928
|
+
*/
|
|
33929
|
+
function getTileWidth(viewportWidth, multiplier) {
|
|
33930
|
+
return viewportWidth * multiplier;
|
|
33931
|
+
}
|
|
33932
|
+
/**
|
|
33933
|
+
* Determines if the content fits within a single tile (single-tile mode).
|
|
33934
|
+
*
|
|
33935
|
+
* In single-tile mode, the content is centered in the viewport rather than
|
|
33936
|
+
* being scrollable. This also returns true when viewport width is 0 as a
|
|
33937
|
+
* defensive edge case.
|
|
33938
|
+
*
|
|
33939
|
+
* @param logicalWidth - The total logical width of the content
|
|
33940
|
+
* @param viewportWidth - The width of the viewport in pixels
|
|
33941
|
+
* @returns `true` if content fits in single tile, `false` otherwise
|
|
33942
|
+
*
|
|
33943
|
+
* @example
|
|
33944
|
+
* ```typescript
|
|
33945
|
+
* isSingleTileMode(500, 1000); // Returns: true
|
|
33946
|
+
* isSingleTileMode(1500, 1000); // Returns: false
|
|
33947
|
+
* ```
|
|
33948
|
+
*/
|
|
33949
|
+
function isSingleTileMode(logicalWidth, viewportWidth) {
|
|
33950
|
+
if (viewportWidth === 0) return true;
|
|
33951
|
+
return logicalWidth <= viewportWidth;
|
|
33952
|
+
}
|
|
33953
|
+
/**
|
|
33954
|
+
* Calculates the horizontal offset to center content in single-tile mode.
|
|
33955
|
+
*
|
|
33956
|
+
* In multi-tile mode (when content exceeds viewport), this returns 0.
|
|
33957
|
+
* In single-tile mode, this calculates the offset needed to center the content.
|
|
33958
|
+
*
|
|
33959
|
+
* @param logicalWidth - The total logical width of the content
|
|
33960
|
+
* @param viewportWidth - The width of the viewport in pixels
|
|
33961
|
+
* @returns The horizontal offset in pixels, or 0 in multi-tile mode
|
|
33962
|
+
*
|
|
33963
|
+
* @example
|
|
33964
|
+
* ```typescript
|
|
33965
|
+
* // Content width 500 in viewport 1000: center it with 250px offset
|
|
33966
|
+
* getContentOffset(500, 1000); // Returns: 250
|
|
33967
|
+
*
|
|
33968
|
+
* // Content width 2000 in viewport 1000: no offset needed
|
|
33969
|
+
* getContentOffset(2000, 1000); // Returns: 0
|
|
33970
|
+
* ```
|
|
33971
|
+
*/
|
|
33972
|
+
function getContentOffset(logicalWidth, viewportWidth) {
|
|
33973
|
+
if (logicalWidth < 0 || viewportWidth === 0) return 0;
|
|
33974
|
+
return isSingleTileMode(logicalWidth, viewportWidth) ? (viewportWidth - logicalWidth) / 2 : 0;
|
|
33975
|
+
}
|
|
33976
|
+
/**
|
|
33977
|
+
* Calculates the clipped width of a tile at a specific logical position.
|
|
33978
|
+
*
|
|
33979
|
+
* This accounts for:
|
|
33980
|
+
* - Single-tile mode (returns logicalWidth)
|
|
33981
|
+
* - Content boundaries (clips tiles extending beyond content)
|
|
33982
|
+
* - Overscroll area (if enabled)
|
|
33983
|
+
*
|
|
33984
|
+
* @param logicalX - The x-coordinate of the tile's left edge in logical space
|
|
33985
|
+
* @param tileWidth - The full width of the tile
|
|
33986
|
+
* @param logicalWidth - The total logical width of the content
|
|
33987
|
+
* @param viewportWidth - The width of the viewport in pixels
|
|
33988
|
+
* @param overscrollMultiplier - Multiplier for overscroll padding
|
|
33989
|
+
* @returns The clipped width of the tile (may be 0 if tile is outside valid area)
|
|
33990
|
+
*
|
|
33991
|
+
* @example
|
|
33992
|
+
* ```typescript
|
|
33993
|
+
* // Standard tile within bounds
|
|
33994
|
+
* getTileClippedWidth(0, 500, 2000, 1000, 1); // Returns: 500
|
|
33995
|
+
*
|
|
33996
|
+
* // Tile at end of content that needs clipping
|
|
33997
|
+
* getTileClippedWidth(2950, 500, 2000, 1000, 1); // Returns: 50
|
|
33998
|
+
* ```
|
|
33999
|
+
*/
|
|
34000
|
+
function getTileClippedWidth(logicalX, tileWidth, logicalWidth, viewportWidth, overscrollMultiplier) {
|
|
34001
|
+
if (tileWidth === 0) return 0;
|
|
34002
|
+
if (logicalX < 0) return 0;
|
|
34003
|
+
const maxLogicalX = logicalWidth + viewportWidth * overscrollMultiplier;
|
|
34004
|
+
if (logicalX >= maxLogicalX) return 0;
|
|
34005
|
+
if (isSingleTileMode(logicalWidth, viewportWidth)) return logicalWidth;
|
|
34006
|
+
if (logicalX + tileWidth > maxLogicalX) return Math.max(0, maxLogicalX - logicalX);
|
|
34007
|
+
return tileWidth;
|
|
34008
|
+
}
|
|
34009
|
+
/**
|
|
34010
|
+
* Calculates the range of tiles needed to render the current viewport.
|
|
34011
|
+
*
|
|
34012
|
+
* This determines which tiles are visible based on scroll position and
|
|
34013
|
+
* includes buffer tiles for smooth scrolling. Respects maxPoolSize limits.
|
|
34014
|
+
*
|
|
34015
|
+
* @param scrollLeft - The current horizontal scroll position in pixels
|
|
34016
|
+
* @param viewportWidth - The width of the viewport in pixels
|
|
34017
|
+
* @param logicalWidth - The total logical width of the content
|
|
34018
|
+
* @param options - Configuration options for tile calculation
|
|
34019
|
+
* @returns Information about the tile range including indices and positions
|
|
34020
|
+
*
|
|
34021
|
+
* @example
|
|
34022
|
+
* ```typescript
|
|
34023
|
+
* const options = {
|
|
34024
|
+
* tileWidthMultiplier: 0.5,
|
|
34025
|
+
* tilesBuffer: 2,
|
|
34026
|
+
* maxPoolSize: 5,
|
|
34027
|
+
* // ... other options
|
|
34028
|
+
* };
|
|
34029
|
+
* const result = calculateTileRange(600, 1000, 10000, options);
|
|
34030
|
+
* // Returns: { firstTile: 1, lastTile: 3, tiles: [...] }
|
|
34031
|
+
* ```
|
|
34032
|
+
*/
|
|
34033
|
+
function calculateTileRange(scrollLeft, viewportWidth, logicalWidth, options) {
|
|
34034
|
+
if (logicalWidth === 0) return {
|
|
34035
|
+
firstTile: 0,
|
|
34036
|
+
lastTile: 0,
|
|
34037
|
+
tiles: []
|
|
34038
|
+
};
|
|
34039
|
+
const tileWidth = getTileWidth(viewportWidth, options.tileWidthMultiplier);
|
|
34040
|
+
if (isSingleTileMode(logicalWidth, viewportWidth)) return {
|
|
34041
|
+
firstTile: 0,
|
|
34042
|
+
lastTile: 0,
|
|
34043
|
+
tiles: [{
|
|
34044
|
+
index: 0,
|
|
34045
|
+
logicalX: 0
|
|
34046
|
+
}]
|
|
34047
|
+
};
|
|
34048
|
+
const firstTile = Math.floor(scrollLeft / tileWidth);
|
|
34049
|
+
const lastTile = Math.floor((scrollLeft + viewportWidth - 1) / tileWidth);
|
|
34050
|
+
const maxTileIndex = Math.max(0, Math.ceil(logicalWidth / tileWidth) - 1);
|
|
34051
|
+
const tiles = [];
|
|
34052
|
+
const startI = firstTile;
|
|
34053
|
+
const endI = Math.min(lastTile + options.tilesBuffer, maxTileIndex);
|
|
34054
|
+
for (let i = startI; i <= endI; i++) {
|
|
34055
|
+
const logicalX = i * tileWidth;
|
|
34056
|
+
if (logicalX >= logicalWidth) continue;
|
|
34057
|
+
tiles.push({
|
|
34058
|
+
index: i,
|
|
34059
|
+
logicalX
|
|
34060
|
+
});
|
|
34061
|
+
if (tiles.length >= options.maxPoolSize) break;
|
|
34062
|
+
}
|
|
34063
|
+
return {
|
|
34064
|
+
firstTile: Math.max(0, firstTile),
|
|
34065
|
+
lastTile: tiles.length > 0 ? tiles[tiles.length - 1].index : 0,
|
|
34066
|
+
tiles
|
|
34067
|
+
};
|
|
34068
|
+
}
|
|
34069
|
+
/**
|
|
34070
|
+
* Calculates the height of a tile based on viewport height and multiplier.
|
|
34071
|
+
*/
|
|
34072
|
+
function getTileHeight(viewportHeight, multiplier) {
|
|
34073
|
+
return viewportHeight * multiplier;
|
|
34074
|
+
}
|
|
34075
|
+
/**
|
|
34076
|
+
* Determines if content fits within a single tile row (no vertical virtualization needed).
|
|
34077
|
+
* Returns true when effectiveLogicalHeight fits within the viewport.
|
|
34078
|
+
*/
|
|
34079
|
+
function isSingleTileModeY(effectiveLogicalHeight, viewportHeight) {
|
|
34080
|
+
if (viewportHeight === 0) return true;
|
|
34081
|
+
return effectiveLogicalHeight <= viewportHeight;
|
|
34082
|
+
}
|
|
34083
|
+
/**
|
|
34084
|
+
* Calculates the vertical offset to center content in single-tile-row mode.
|
|
34085
|
+
*/
|
|
34086
|
+
function getContentOffsetY(effectiveLogicalHeight, viewportHeight) {
|
|
34087
|
+
if (effectiveLogicalHeight < 0 || viewportHeight === 0) return 0;
|
|
34088
|
+
return isSingleTileModeY(effectiveLogicalHeight, viewportHeight) ? (viewportHeight - effectiveLogicalHeight) / 2 : 0;
|
|
34089
|
+
}
|
|
34090
|
+
/**
|
|
34091
|
+
* Calculates the clipped height of a tile at a specific logical Y position.
|
|
34092
|
+
*/
|
|
34093
|
+
function getTileClippedHeight(logicalY, tileHeight, effectiveLogicalHeight, viewportHeight, overscrollMultiplier) {
|
|
34094
|
+
if (tileHeight === 0) return 0;
|
|
34095
|
+
if (logicalY < 0) return 0;
|
|
34096
|
+
const maxLogicalY = effectiveLogicalHeight + viewportHeight * overscrollMultiplier;
|
|
34097
|
+
if (logicalY >= maxLogicalY) return 0;
|
|
34098
|
+
if (isSingleTileModeY(effectiveLogicalHeight, viewportHeight)) return effectiveLogicalHeight;
|
|
34099
|
+
if (logicalY + tileHeight > maxLogicalY) return Math.max(0, maxLogicalY - logicalY);
|
|
34100
|
+
return tileHeight;
|
|
34101
|
+
}
|
|
34102
|
+
/**
|
|
34103
|
+
* Calculates the range of tile rows needed to render the current viewport vertically.
|
|
34104
|
+
*
|
|
34105
|
+
* @param scrollTop - The current vertical scroll position in pixels
|
|
34106
|
+
* @param viewportHeight - The height of the viewport in pixels
|
|
34107
|
+
* @param effectiveLogicalHeight - The effective total logical height (logicalHeight || viewportHeight)
|
|
34108
|
+
* @param options - Configuration options for tile calculation
|
|
34109
|
+
*/
|
|
34110
|
+
function calculateTileRowRange(scrollTop, viewportHeight, effectiveLogicalHeight, options) {
|
|
34111
|
+
if (effectiveLogicalHeight === 0) return {
|
|
34112
|
+
firstRow: 0,
|
|
34113
|
+
lastRow: 0,
|
|
34114
|
+
rows: []
|
|
34115
|
+
};
|
|
34116
|
+
const tileHeight = getTileHeight(viewportHeight, options.tileHeightMultiplier);
|
|
34117
|
+
if (isSingleTileModeY(effectiveLogicalHeight, viewportHeight)) return {
|
|
34118
|
+
firstRow: 0,
|
|
34119
|
+
lastRow: 0,
|
|
34120
|
+
rows: [{
|
|
34121
|
+
row: 0,
|
|
34122
|
+
logicalY: 0
|
|
34123
|
+
}]
|
|
34124
|
+
};
|
|
34125
|
+
const firstRow = Math.floor(scrollTop / tileHeight);
|
|
34126
|
+
const lastRow = Math.floor((scrollTop + viewportHeight - 1) / tileHeight);
|
|
34127
|
+
const maxRowIndex = Math.max(0, Math.ceil(effectiveLogicalHeight / tileHeight) - 1);
|
|
34128
|
+
const rows = [];
|
|
34129
|
+
const endI = Math.min(lastRow + options.tilesBuffer, maxRowIndex);
|
|
34130
|
+
for (let i = firstRow; i <= endI; i++) {
|
|
34131
|
+
const logicalY = i * tileHeight;
|
|
34132
|
+
if (logicalY >= effectiveLogicalHeight) continue;
|
|
34133
|
+
rows.push({
|
|
34134
|
+
row: i,
|
|
34135
|
+
logicalY
|
|
34136
|
+
});
|
|
34137
|
+
if (rows.length >= options.maxPoolSize) break;
|
|
34138
|
+
}
|
|
34139
|
+
return {
|
|
34140
|
+
firstRow: Math.max(0, firstRow),
|
|
34141
|
+
lastRow: rows.length > 0 ? rows[rows.length - 1].row : 0,
|
|
34142
|
+
rows
|
|
34143
|
+
};
|
|
34144
|
+
}
|
|
34145
|
+
//#endregion
|
|
34146
|
+
//#region node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/class-map.js
|
|
34147
|
+
/**
|
|
34148
|
+
* @license
|
|
34149
|
+
* Copyright 2018 Google LLC
|
|
34150
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
34151
|
+
*/ const e = e$3(class extends i$3 {
|
|
34152
|
+
constructor(t) {
|
|
34153
|
+
if (super(t), t.type !== t$2.ATTRIBUTE || "class" !== t.name || t.strings?.length > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
|
|
34154
|
+
}
|
|
34155
|
+
render(t) {
|
|
34156
|
+
return " " + Object.keys(t).filter((s) => t[s]).join(" ") + " ";
|
|
34157
|
+
}
|
|
34158
|
+
update(s, [i]) {
|
|
34159
|
+
if (void 0 === this.st) {
|
|
34160
|
+
this.st = /* @__PURE__ */ new Set(), void 0 !== s.strings && (this.nt = new Set(s.strings.join(" ").split(/\s/).filter((t) => "" !== t)));
|
|
34161
|
+
for (const t in i) i[t] && !this.nt?.has(t) && this.st.add(t);
|
|
34162
|
+
return this.render(i);
|
|
34163
|
+
}
|
|
34164
|
+
const r = s.element.classList;
|
|
34165
|
+
for (const t of this.st) t in i || (r.remove(t), this.st.delete(t));
|
|
34166
|
+
for (const t in i) {
|
|
34167
|
+
const s = !!i[t];
|
|
34168
|
+
s === this.st.has(t) || this.nt?.has(t) || (s ? (r.add(t), this.st.add(t)) : (r.remove(t), this.st.delete(t)));
|
|
34169
|
+
}
|
|
34170
|
+
return E;
|
|
34171
|
+
}
|
|
34172
|
+
});
|
|
34173
|
+
//#endregion
|
|
34174
|
+
//#region node_modules/.pnpm/@clinth+vcanvas@0.0.3/node_modules/@clinth/vcanvas/dist/util/debouncer.js
|
|
34175
|
+
/**
|
|
34176
|
+
* Creates a debounced version of a function that delays execution until after
|
|
34177
|
+
* a specified timeout has elapsed since the last call.
|
|
34178
|
+
*
|
|
34179
|
+
* Debouncing is useful for handling rapidly firing events (like scroll or resize)
|
|
34180
|
+
* by ensuring the function only executes once after the event stream settles.
|
|
34181
|
+
*
|
|
34182
|
+
* @template T - The type of the function to debounce
|
|
34183
|
+
* @param fn - The function to debounce
|
|
34184
|
+
* @param timeoutMs - The delay in milliseconds before executing the function
|
|
34185
|
+
* @returns A debounced version of the function with a `cancel` method
|
|
34186
|
+
*
|
|
34187
|
+
* @example
|
|
34188
|
+
* ```typescript
|
|
34189
|
+
* const debouncedLog = debouncer((msg: string) => {
|
|
34190
|
+
* console.log(msg);
|
|
34191
|
+
* }, 100);
|
|
34192
|
+
*
|
|
34193
|
+
* debouncedLog('Hello'); // Will log after 100ms
|
|
34194
|
+
* debouncedLog('World'); // Resets timer, will log 'World' after 100ms
|
|
34195
|
+
*
|
|
34196
|
+
* // Cancel pending execution
|
|
34197
|
+
* debouncedLog.cancel();
|
|
34198
|
+
* ```
|
|
34199
|
+
*/
|
|
34200
|
+
function debouncer(fn, timeoutMs) {
|
|
34201
|
+
let timer = null;
|
|
34202
|
+
const debounced = (...args) => {
|
|
34203
|
+
if (timer) clearTimeout(timer);
|
|
34204
|
+
timer = setTimeout(() => {
|
|
34205
|
+
fn(...args);
|
|
34206
|
+
}, timeoutMs);
|
|
34207
|
+
};
|
|
34208
|
+
debounced.cancel = () => {
|
|
34209
|
+
if (timer) {
|
|
34210
|
+
clearTimeout(timer);
|
|
34211
|
+
timer = null;
|
|
34212
|
+
}
|
|
34213
|
+
};
|
|
34214
|
+
return debounced;
|
|
34215
|
+
}
|
|
34216
|
+
//#endregion
|
|
34217
|
+
//#region node_modules/.pnpm/@clinth+vcanvas@0.0.3/node_modules/@clinth/vcanvas/dist/util/draw.js
|
|
34218
|
+
/** Color palette for debug tile visualization */
|
|
34219
|
+
const TILE_COLORS = [
|
|
34220
|
+
`#FF6B6B`,
|
|
34221
|
+
`#4ECDC4`,
|
|
34222
|
+
`#45B7D1`,
|
|
34223
|
+
`#96CEB4`,
|
|
34224
|
+
`#FFEAA7`,
|
|
34225
|
+
`#DDA0DD`,
|
|
34226
|
+
`#98D8C8`,
|
|
34227
|
+
`#F7DC6F`,
|
|
34228
|
+
`#BB8FCE`,
|
|
34229
|
+
`#85C1E9`
|
|
34230
|
+
];
|
|
34231
|
+
/**
|
|
34232
|
+
* Gets a color for a tile based on its index.
|
|
34233
|
+
* Colors cycle through the TILE_COLORS palette.
|
|
34234
|
+
*
|
|
34235
|
+
* @param index - The tile index
|
|
34236
|
+
* @returns A hex color string
|
|
34237
|
+
*/
|
|
34238
|
+
function getTileColor(index) {
|
|
34239
|
+
return TILE_COLORS[index % TILE_COLORS.length];
|
|
34240
|
+
}
|
|
34241
|
+
/**
|
|
34242
|
+
* Draws debug visualization graphics on a tile canvas.
|
|
34243
|
+
*
|
|
34244
|
+
* This function renders diagnostic information useful for debugging tile
|
|
34245
|
+
* boundaries, positions, and sizing. It draws:
|
|
34246
|
+
* - A colored background
|
|
34247
|
+
* - Diagonal cross lines
|
|
34248
|
+
* - Center crosshair
|
|
34249
|
+
* - Border rectangle
|
|
34250
|
+
* - Text information (tile index, position, size, total width)
|
|
34251
|
+
*
|
|
34252
|
+
* @param tileIndex - The index of the tile being drawn
|
|
34253
|
+
* @param tilesTotal - The total number of tiles in the pool
|
|
34254
|
+
* @param widthTotal - The total logical width of the virtual canvas
|
|
34255
|
+
* @param ctx - The canvas 2D rendering context
|
|
34256
|
+
* @param region - The rectangular region of the tile in logical coordinates
|
|
34257
|
+
*
|
|
34258
|
+
* @example
|
|
34259
|
+
* ```typescript
|
|
34260
|
+
* // Enable debug drawing
|
|
34261
|
+
* vcanvas.debugDraw = true;
|
|
34262
|
+
*
|
|
34263
|
+
* // The debug graphics will be drawn on each tile automatically
|
|
34264
|
+
* ```
|
|
34265
|
+
*/
|
|
34266
|
+
function drawDebugGraphic(tileIndex, tilesTotal, widthTotal, ctx, region) {
|
|
34267
|
+
ctx.fillStyle = `whitesmoke`;
|
|
34268
|
+
ctx.fillRect(region.x, region.y, region.width, region.height);
|
|
34269
|
+
ctx.fillStyle = getTileColor(tileIndex);
|
|
34270
|
+
ctx.strokeStyle = getTileColor(tileIndex);
|
|
34271
|
+
ctx.lineWidth = 2;
|
|
34272
|
+
ctx.beginPath();
|
|
34273
|
+
ctx.moveTo(region.x, region.y);
|
|
34274
|
+
ctx.lineTo(region.x + region.width, region.y + region.height);
|
|
34275
|
+
ctx.moveTo(region.x + region.width, region.y);
|
|
34276
|
+
ctx.lineTo(region.x, region.y + region.height);
|
|
34277
|
+
ctx.stroke();
|
|
34278
|
+
ctx.font = `24pt system-ui`;
|
|
34279
|
+
ctx.textBaseline = `top`;
|
|
34280
|
+
ctx.fillText(`#${tileIndex}/${tilesTotal}`, region.x + 20, region.y + 20);
|
|
34281
|
+
ctx.font = `18pt system-ui`;
|
|
34282
|
+
ctx.fillText(`Pos: ${Math.round(region.x)},${Math.round(region.y)}`, region.x + 20, region.y + 60);
|
|
34283
|
+
ctx.fillText(`Size: ${Math.round(region.width)}x${Math.round(region.height)}`, region.x + 20, region.y + 90);
|
|
34284
|
+
ctx.fillText(`VCanvas width: ${Math.round(widthTotal)}`, region.x + 20, region.y + 120);
|
|
34285
|
+
const centerX = region.x + region.width / 2;
|
|
34286
|
+
const centerY = region.y + region.height / 2;
|
|
34287
|
+
ctx.beginPath();
|
|
34288
|
+
ctx.moveTo(region.x, centerY);
|
|
34289
|
+
ctx.lineTo(region.x + region.width, centerY);
|
|
34290
|
+
ctx.moveTo(centerX, region.y);
|
|
34291
|
+
ctx.lineTo(centerX, region.y + region.height);
|
|
34292
|
+
ctx.stroke();
|
|
34293
|
+
ctx.strokeRect(region.x, region.y, region.width, region.height);
|
|
34294
|
+
}
|
|
34295
|
+
//#endregion
|
|
34296
|
+
//#region node_modules/.pnpm/@clinth+vcanvas@0.0.3/node_modules/@clinth/vcanvas/dist/vcanvas.js
|
|
34297
|
+
var __decorate = function(decorators, target, key, desc) {
|
|
34298
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
34299
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
34300
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
34301
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
34302
|
+
};
|
|
34303
|
+
const tileKey = (col, row) => `${col},${row}`;
|
|
34304
|
+
const DEFAULT_TILE_WIDTH_MULTIPLIER = .5;
|
|
34305
|
+
const DEFAULT_TILE_HEIGHT_MULTIPLIER = .5;
|
|
34306
|
+
const DEFAULT_TILES_BUFFER = 2;
|
|
34307
|
+
const DEFAULT_OVERLAP_PERCENT = .01;
|
|
34308
|
+
const DEFAULT_OVERSCROLL_PAD_MULTIPLIER = 1;
|
|
34309
|
+
const DEFAULT_MAX_POOL_SIZE = 3;
|
|
34310
|
+
const DEFAULT_SCROLL_DEBOUNCE_MS = 100;
|
|
34311
|
+
let VCanvas = class VCanvas extends i$4 {
|
|
34312
|
+
_emitScrollEndEvent(userGesture) {
|
|
34313
|
+
const event = new CustomEvent(`scrollend-virtual`, {
|
|
34314
|
+
detail: {
|
|
34315
|
+
logicalScrollLeft: this._scrollLeft,
|
|
34316
|
+
logicalScrollTop: this._scrollTop,
|
|
34317
|
+
userGesture,
|
|
34318
|
+
containerScrollLeft: this._scrollContainer?.scrollLeft ?? 0,
|
|
34319
|
+
containerScrollTop: this._scrollContainer?.scrollTop ?? 0
|
|
34320
|
+
},
|
|
34321
|
+
bubbles: true,
|
|
34322
|
+
composed: true
|
|
34323
|
+
});
|
|
34324
|
+
this.dispatchEvent(event);
|
|
34325
|
+
}
|
|
34326
|
+
constructor() {
|
|
34327
|
+
super();
|
|
34328
|
+
/**
|
|
34329
|
+
* Enables detailed console logging of tile operations for debugging.
|
|
34330
|
+
*
|
|
34331
|
+
* When `true`, the component logs information about tile creation,
|
|
34332
|
+
* positioning, and rendering to the console. Useful for debugging
|
|
34333
|
+
* tile-related issues during development.
|
|
34334
|
+
*
|
|
34335
|
+
* @default false
|
|
34336
|
+
*/
|
|
34337
|
+
this.debugTrace = false;
|
|
34338
|
+
this.debugDraw = false;
|
|
34339
|
+
/**
|
|
34340
|
+
* Enables visual hinting for scroll position at container edges.
|
|
34341
|
+
*
|
|
34342
|
+
* When `true`, applies the 'scrollable' class to the scroll container which
|
|
34343
|
+
* adds CSS scroll-driven fade animations at the left and right edges,
|
|
34344
|
+
* providing visual feedback about scroll availability.
|
|
34345
|
+
*
|
|
34346
|
+
* @default false
|
|
34347
|
+
*/
|
|
34348
|
+
this.hinting = false;
|
|
34349
|
+
this._viewportWidth = 0;
|
|
34350
|
+
this._viewportHeight = 0;
|
|
34351
|
+
this._scrollLeft = 0;
|
|
34352
|
+
this._scrollTop = 0;
|
|
34353
|
+
this._logicalHeight = 0;
|
|
34354
|
+
this._tilePool = /* @__PURE__ */ new Map();
|
|
34355
|
+
this._visibleTiles = /* @__PURE__ */ new Set();
|
|
34356
|
+
this._pendingDraws = /* @__PURE__ */ new Map();
|
|
34357
|
+
this._scrollContainer = null;
|
|
34358
|
+
this._spacer = null;
|
|
34359
|
+
this._tilePoolEl = null;
|
|
34360
|
+
this._childrenContainerEl = null;
|
|
34361
|
+
this._resizeObserver = null;
|
|
34362
|
+
this._positionedChildren = /* @__PURE__ */ new Map();
|
|
34363
|
+
this._boundOnScroll = this._onScroll.bind(this);
|
|
34364
|
+
this._renderingOptions = {
|
|
34365
|
+
tileWidthMultiplier: DEFAULT_TILE_WIDTH_MULTIPLIER,
|
|
34366
|
+
tileHeightMultiplier: DEFAULT_TILE_HEIGHT_MULTIPLIER,
|
|
34367
|
+
tilesBuffer: DEFAULT_TILES_BUFFER,
|
|
34368
|
+
overlapPercent: DEFAULT_OVERLAP_PERCENT,
|
|
34369
|
+
overscrollPadMultiplier: DEFAULT_OVERSCROLL_PAD_MULTIPLIER,
|
|
34370
|
+
maxPoolSize: DEFAULT_MAX_POOL_SIZE,
|
|
34371
|
+
scrollDebounceMs: DEFAULT_SCROLL_DEBOUNCE_MS
|
|
34372
|
+
};
|
|
34373
|
+
this._dpr = window.devicePixelRatio || 1;
|
|
34374
|
+
this._logicalWidth = 0;
|
|
34375
|
+
this.logicalWidth = 0;
|
|
34376
|
+
this.logicalHeight = 0;
|
|
34377
|
+
this.drawCallback = null;
|
|
34378
|
+
this._scrollDebounce = debouncer(() => {
|
|
34379
|
+
this._requestRedrawAll(`scrollDebounce`);
|
|
34380
|
+
}, this._renderingOptions.scrollDebounceMs);
|
|
34381
|
+
this._scrollEndDebounce = debouncer(() => {
|
|
34382
|
+
this._emitScrollEndEvent(true);
|
|
34383
|
+
}, this._renderingOptions.scrollDebounceMs);
|
|
34384
|
+
this._resizeDebounce = debouncer(() => {
|
|
34385
|
+
this._onResize();
|
|
34386
|
+
}, this._renderingOptions.scrollDebounceMs);
|
|
34387
|
+
}
|
|
34388
|
+
static {
|
|
34389
|
+
this.styles = vcanvasStyles;
|
|
34390
|
+
}
|
|
34391
|
+
connectedCallback() {
|
|
34392
|
+
super.connectedCallback();
|
|
34393
|
+
this._setupResizeObserver();
|
|
34394
|
+
}
|
|
34395
|
+
disconnectedCallback() {
|
|
34396
|
+
super.disconnectedCallback();
|
|
34397
|
+
this._resizeObserver?.disconnect();
|
|
34398
|
+
this._resizeObserver = null;
|
|
34399
|
+
this._scrollEndDebounce.cancel();
|
|
34400
|
+
this._pendingDraws.forEach((ctrl) => ctrl.abort());
|
|
34401
|
+
this._tilePool.clear();
|
|
34402
|
+
this._scrollContainer?.removeEventListener(`scroll`, this._boundOnScroll);
|
|
34403
|
+
}
|
|
34404
|
+
firstUpdated() {
|
|
34405
|
+
const scrollContainer = this.shadowRoot?.querySelector(`.scroll-container`);
|
|
34406
|
+
this._scrollContainer = scrollContainer;
|
|
34407
|
+
this._spacer = this.shadowRoot?.querySelector(`.spacer`);
|
|
34408
|
+
this._tilePoolEl = this.shadowRoot?.querySelector(`.tile-pool`);
|
|
34409
|
+
this._childrenContainerEl = this.shadowRoot?.querySelector(`.children-container`);
|
|
34410
|
+
if (this._scrollContainer) this._scrollContainer.addEventListener(`scroll`, this._boundOnScroll);
|
|
34411
|
+
requestAnimationFrame(() => {
|
|
34412
|
+
this._updateViewportDimensions();
|
|
34413
|
+
this._updateSpacer();
|
|
34414
|
+
this._updateScrollContainerClass();
|
|
34415
|
+
this._recalculateTiles(`firstUpdated cb`);
|
|
34416
|
+
this._positionChildren(`firstUpdated cb`);
|
|
34417
|
+
});
|
|
34418
|
+
}
|
|
34419
|
+
/**
|
|
34420
|
+
* The total logical width of the virtual canvas content.
|
|
34421
|
+
*
|
|
34422
|
+
* This represents the full width of the scrollable content in logical units.
|
|
34423
|
+
* Setting this property triggers recalculation of tiles and updates the spacer
|
|
34424
|
+
* element that enables native scroll behavior.
|
|
34425
|
+
*
|
|
34426
|
+
* @example
|
|
34427
|
+
* ```typescript
|
|
34428
|
+
* // Create a virtual canvas 10,000 logical units wide
|
|
34429
|
+
* vcanvas.logicalWidth = 10000;
|
|
34430
|
+
* ```
|
|
34431
|
+
*/
|
|
34432
|
+
set logicalWidth(value) {
|
|
34433
|
+
this._logicalWidth = value;
|
|
34434
|
+
this._updateSpacer();
|
|
34435
|
+
this._updateScrollContainerClass();
|
|
34436
|
+
if (this.hasUpdated) {
|
|
34437
|
+
this._updateTileWidths(`set logicalWidth`);
|
|
34438
|
+
this._recalculateTiles(`set logicalWidth`);
|
|
34439
|
+
}
|
|
34440
|
+
}
|
|
34441
|
+
get logicalWidth() {
|
|
34442
|
+
return this._logicalWidth;
|
|
34443
|
+
}
|
|
34444
|
+
/**
|
|
34445
|
+
* The total logical height of the virtual canvas content.
|
|
34446
|
+
*
|
|
34447
|
+
* When set to 0 (default), the component uses the actual viewport height,
|
|
34448
|
+
* meaning no vertical virtualization is applied. Set to a value greater than
|
|
34449
|
+
* the viewport height to enable vertical scrolling and tile-based virtualization.
|
|
34450
|
+
*
|
|
34451
|
+
* @example
|
|
34452
|
+
* ```typescript
|
|
34453
|
+
* // Create a canvas virtualized in both axes
|
|
34454
|
+
* vcanvas.logicalWidth = 10000;
|
|
34455
|
+
* vcanvas.logicalHeight = 5000;
|
|
34456
|
+
* ```
|
|
34457
|
+
*/
|
|
34458
|
+
set logicalHeight(value) {
|
|
34459
|
+
this._logicalHeight = value;
|
|
34460
|
+
this._updateSpacer();
|
|
34461
|
+
this._updateScrollContainerClass();
|
|
34462
|
+
if (this.hasUpdated) this._recalculateTiles(`set logicalHeight`);
|
|
34463
|
+
}
|
|
34464
|
+
get logicalHeight() {
|
|
34465
|
+
return this._logicalHeight;
|
|
34466
|
+
}
|
|
34467
|
+
/** Effective logical width: uses viewport width when logicalWidth is 0 (no horizontal virtualization). */
|
|
34468
|
+
get effectiveLogicalWidth() {
|
|
34469
|
+
return this._logicalWidth || this._viewportWidth;
|
|
34470
|
+
}
|
|
34471
|
+
/** Effective logical height: uses viewport height when logicalHeight is 0 (no vertical virtualization). */
|
|
34472
|
+
get effectiveLogicalHeight() {
|
|
34473
|
+
return this._logicalHeight || this._viewportHeight;
|
|
34474
|
+
}
|
|
34475
|
+
_setupResizeObserver() {
|
|
34476
|
+
this._resizeObserver = new ResizeObserver(() => {
|
|
34477
|
+
this._resizeDebounce();
|
|
34478
|
+
});
|
|
34479
|
+
this._resizeObserver.observe(this);
|
|
34480
|
+
}
|
|
34481
|
+
_onResize() {
|
|
34482
|
+
const oldWidth = this._viewportWidth;
|
|
34483
|
+
const oldHeight = this._viewportHeight;
|
|
34484
|
+
this._updateViewportDimensions();
|
|
34485
|
+
const widthChanged = oldWidth !== this._viewportWidth;
|
|
34486
|
+
const heightChanged = oldHeight !== this._viewportHeight;
|
|
34487
|
+
if (widthChanged || heightChanged) {
|
|
34488
|
+
this._updateSpacer();
|
|
34489
|
+
this._updateScrollContainerClass();
|
|
34490
|
+
this._recalculateTiles(`onResize`);
|
|
34491
|
+
}
|
|
34492
|
+
}
|
|
34493
|
+
_updateTileWidths(reason) {
|
|
34494
|
+
const tileWidth = this._getTileWidth();
|
|
34495
|
+
for (const tile of this._tilePool.values()) {
|
|
34496
|
+
const clippedWidth = this._getTileClippedWidth(tile.logicalX, tileWidth);
|
|
34497
|
+
tile.canvas.width = clippedWidth * this._dpr;
|
|
34498
|
+
tile.canvas.style.width = `${clippedWidth}px`;
|
|
34499
|
+
tile.ctx.scale(this._dpr, this._dpr);
|
|
34500
|
+
}
|
|
34501
|
+
this._requestRedrawAll(`updateTileWidths (${reason})`);
|
|
34502
|
+
}
|
|
34503
|
+
_updateViewportDimensions() {
|
|
34504
|
+
const rect = this.getBoundingClientRect();
|
|
34505
|
+
this._viewportWidth = rect.width;
|
|
34506
|
+
this._viewportHeight = rect.height;
|
|
34507
|
+
}
|
|
34508
|
+
_onScroll() {
|
|
34509
|
+
if (!this._scrollContainer) return;
|
|
34510
|
+
const newScrollLeft = this._scrollContainer.scrollLeft;
|
|
34511
|
+
const newScrollTop = this._scrollContainer.scrollTop;
|
|
34512
|
+
if (newScrollLeft === this._scrollLeft && newScrollTop === this._scrollTop) return;
|
|
34513
|
+
this._scrollLeft = newScrollLeft;
|
|
34514
|
+
this._scrollTop = newScrollTop;
|
|
34515
|
+
this._recalculateTiles(`onScroll`);
|
|
34516
|
+
this._emitScrollEvent(true);
|
|
34517
|
+
this._scrollDebounce();
|
|
34518
|
+
this._scrollEndDebounce();
|
|
34519
|
+
}
|
|
34520
|
+
_updateSpacer() {
|
|
34521
|
+
if (!this._spacer) return;
|
|
34522
|
+
const noHorizontalScroll = isSingleTileMode(this.effectiveLogicalWidth, this._viewportWidth);
|
|
34523
|
+
const noVerticalScroll = isSingleTileModeY(this.effectiveLogicalHeight, this._viewportHeight);
|
|
34524
|
+
if (noHorizontalScroll && noVerticalScroll) this._spacer.style.display = `none`;
|
|
34525
|
+
else {
|
|
34526
|
+
this._spacer.style.display = `block`;
|
|
34527
|
+
this._spacer.style.width = `${this.effectiveLogicalWidth}px`;
|
|
34528
|
+
this._spacer.style.height = `${this.effectiveLogicalHeight}px`;
|
|
34529
|
+
}
|
|
34530
|
+
if (this._childrenContainerEl) {
|
|
34531
|
+
this._childrenContainerEl.style.width = `${this.effectiveLogicalWidth}px`;
|
|
34532
|
+
this._childrenContainerEl.style.height = `${this.effectiveLogicalHeight}px`;
|
|
34533
|
+
}
|
|
34534
|
+
}
|
|
34535
|
+
_updateScrollContainerClass() {
|
|
34536
|
+
if (!this._scrollContainer) return;
|
|
34537
|
+
const verticalScroll = this.effectiveLogicalHeight > this._viewportHeight;
|
|
34538
|
+
this._scrollContainer.classList.toggle(`vertical`, verticalScroll);
|
|
34539
|
+
}
|
|
34540
|
+
_getTileWidth() {
|
|
34541
|
+
return getTileWidth(this._viewportWidth, this._renderingOptions.tileWidthMultiplier);
|
|
34542
|
+
}
|
|
34543
|
+
_getTileHeight() {
|
|
34544
|
+
return getTileHeight(this._viewportHeight, this._renderingOptions.tileHeightMultiplier);
|
|
34545
|
+
}
|
|
34546
|
+
_getTileClippedWidth(logicalX, tileWidth) {
|
|
34547
|
+
return getTileClippedWidth(logicalX, tileWidth, this.effectiveLogicalWidth, this._viewportWidth, this._renderingOptions.overscrollPadMultiplier);
|
|
34548
|
+
}
|
|
34549
|
+
_getTileClippedHeight(logicalY, tileHeight) {
|
|
34550
|
+
return getTileClippedHeight(logicalY, tileHeight, this.effectiveLogicalHeight, this._viewportHeight, this._renderingOptions.overscrollPadMultiplier);
|
|
34551
|
+
}
|
|
34552
|
+
_calculateTileRange() {
|
|
34553
|
+
return calculateTileRange(this._scrollLeft, this._viewportWidth, this.effectiveLogicalWidth, this._renderingOptions);
|
|
34554
|
+
}
|
|
34555
|
+
_calculateTileRowRange() {
|
|
34556
|
+
return calculateTileRowRange(this._scrollTop, this._viewportHeight, this.effectiveLogicalHeight, this._renderingOptions);
|
|
34557
|
+
}
|
|
34558
|
+
_recalculateTiles(reason) {
|
|
34559
|
+
this._updateViewportDimensions();
|
|
34560
|
+
const { tiles } = this._calculateTileRange();
|
|
34561
|
+
const { rows } = this._calculateTileRowRange();
|
|
34562
|
+
const neededKeys = /* @__PURE__ */ new Set();
|
|
34563
|
+
for (const { index: col, logicalX } of tiles) for (const { row, logicalY } of rows) {
|
|
34564
|
+
neededKeys.add(tileKey(col, row));
|
|
34565
|
+
if (!this._tilePool.has(tileKey(col, row))) this._tilePool.set(tileKey(col, row), this._createTile(col, row, logicalX, logicalY));
|
|
34566
|
+
}
|
|
34567
|
+
const maxPoolSize = this._renderingOptions.maxPoolSize * Math.max(1, rows.length);
|
|
34568
|
+
const reuseCandidates = [...this._tilePool.keys()].filter((k) => !neededKeys.has(k));
|
|
34569
|
+
const missingKeys = [...neededKeys].filter((k) => !this._tilePool.has(k));
|
|
34570
|
+
const tilesToReuse = Math.min(reuseCandidates.length, missingKeys.length);
|
|
34571
|
+
for (let i = 0; i < tilesToReuse; i++) {
|
|
34572
|
+
const oldKey = reuseCandidates[i];
|
|
34573
|
+
const newKey = missingKeys[i];
|
|
34574
|
+
const tile = this._tilePool.get(oldKey);
|
|
34575
|
+
if (tile && newKey) {
|
|
34576
|
+
const [colStr, rowStr] = newKey.split(`,`);
|
|
34577
|
+
const col = Number(colStr);
|
|
34578
|
+
const row = Number(rowStr);
|
|
34579
|
+
this._tilePool.delete(oldKey);
|
|
34580
|
+
tile.col = col;
|
|
34581
|
+
tile.row = row;
|
|
34582
|
+
tile.logicalX = col * this._getTileWidth();
|
|
34583
|
+
tile.logicalY = row * this._getTileHeight();
|
|
34584
|
+
tile.visible = false;
|
|
34585
|
+
tile.canvas.dataset.tileKey = newKey;
|
|
34586
|
+
this._tilePool.set(newKey, tile);
|
|
34587
|
+
}
|
|
34588
|
+
}
|
|
34589
|
+
const keysAfterReuse = [...this._tilePool.keys()];
|
|
34590
|
+
if (keysAfterReuse.length > maxPoolSize) {
|
|
34591
|
+
const excessCount = keysAfterReuse.length - maxPoolSize;
|
|
34592
|
+
keysAfterReuse.filter((k) => !neededKeys.has(k)).slice(0, excessCount).forEach((k) => {
|
|
34593
|
+
const tile = this._tilePool.get(k);
|
|
34594
|
+
if (tile) {
|
|
34595
|
+
this._tilePool.delete(k);
|
|
34596
|
+
tile.canvas.remove();
|
|
34597
|
+
}
|
|
34598
|
+
});
|
|
34599
|
+
}
|
|
34600
|
+
this._updateTiles(`recalculateTiles (${reason})`);
|
|
34601
|
+
}
|
|
34602
|
+
_createTile(col, row, logicalX, logicalY) {
|
|
34603
|
+
const canvas = document.createElement(`canvas`);
|
|
34604
|
+
const key = tileKey(col, row);
|
|
34605
|
+
canvas.dataset.tileKey = key;
|
|
34606
|
+
const tileWidth = this._getTileWidth();
|
|
34607
|
+
const tileHeight = this._getTileHeight();
|
|
34608
|
+
const clippedWidth = this._getTileClippedWidth(logicalX, tileWidth);
|
|
34609
|
+
const clippedHeight = this._getTileClippedHeight(logicalY, tileHeight);
|
|
34610
|
+
const ctx = canvas.getContext(`2d`);
|
|
34611
|
+
if (!ctx) throw new Error(`Could not get canvas context`);
|
|
34612
|
+
if (this._viewportHeight === 0) this.#debug(`Warning: Creating tile ${key} with viewport height 0. The VCanvas component may not be properly sized or visible.`);
|
|
34613
|
+
canvas.width = clippedWidth * this._dpr;
|
|
34614
|
+
canvas.height = clippedHeight * this._dpr;
|
|
34615
|
+
canvas.style.width = `${clippedWidth}px`;
|
|
34616
|
+
canvas.style.height = `${clippedHeight}px`;
|
|
34617
|
+
ctx.scale(this._dpr, this._dpr);
|
|
34618
|
+
this.#debug(`Created tile ${key} at logicalX ${logicalX} logicalY ${logicalY}`);
|
|
34619
|
+
return {
|
|
34620
|
+
canvas,
|
|
34621
|
+
ctx,
|
|
34622
|
+
logicalX,
|
|
34623
|
+
logicalY,
|
|
34624
|
+
col,
|
|
34625
|
+
row,
|
|
34626
|
+
visible: false,
|
|
34627
|
+
isInDOM: false
|
|
34628
|
+
};
|
|
34629
|
+
}
|
|
34630
|
+
_updateTiles(reason) {
|
|
34631
|
+
const { tiles, firstTile, lastTile } = this._calculateTileRange();
|
|
34632
|
+
const { rows, firstRow, lastRow } = this._calculateTileRowRange();
|
|
34633
|
+
const tileWidth = this._getTileWidth();
|
|
34634
|
+
const tileHeight = this._getTileHeight();
|
|
34635
|
+
const isSingleTileX = isSingleTileMode(this.effectiveLogicalWidth, this._viewportWidth);
|
|
34636
|
+
const isSingleTileY = isSingleTileModeY(this.effectiveLogicalHeight, this._viewportHeight);
|
|
34637
|
+
const contentOffsetX = getContentOffset(this.effectiveLogicalWidth, this._viewportWidth);
|
|
34638
|
+
const contentOffsetY = getContentOffsetY(this.effectiveLogicalHeight, this._viewportHeight);
|
|
34639
|
+
const tilesBuffer = this._renderingOptions.tilesBuffer;
|
|
34640
|
+
const tilesRedrawn = [];
|
|
34641
|
+
for (const tile of this._tilePool.values()) tile.visible = false;
|
|
34642
|
+
this._visibleTiles.clear();
|
|
34643
|
+
for (const [key, tile] of this._tilePool) {
|
|
34644
|
+
const colVisible = isSingleTileX ? tile.col === 0 : tile.col >= firstTile - tilesBuffer && tile.col <= lastTile + tilesBuffer;
|
|
34645
|
+
const rowVisible = isSingleTileY ? tile.row === 0 : tile.row >= firstRow - tilesBuffer && tile.row <= lastRow + tilesBuffer;
|
|
34646
|
+
if (colVisible && rowVisible) {
|
|
34647
|
+
this._visibleTiles.add(key);
|
|
34648
|
+
const newLogicalX = tile.col * tileWidth;
|
|
34649
|
+
const newLogicalY = tile.row * tileHeight;
|
|
34650
|
+
const visualX = isSingleTileX ? contentOffsetX : newLogicalX;
|
|
34651
|
+
const visualY = isSingleTileY ? contentOffsetY : newLogicalY;
|
|
34652
|
+
const clippedWidth = this._getTileClippedWidth(newLogicalX, tileWidth);
|
|
34653
|
+
const clippedHeight = this._getTileClippedHeight(newLogicalY, tileHeight);
|
|
34654
|
+
if (!tile.visible || tile.logicalX !== newLogicalX || tile.logicalY !== newLogicalY || tile.canvas.style.left !== `${visualX}px` || tile.canvas.style.top !== `${visualY}px` || tile.canvas.width !== clippedWidth * this._dpr || tile.canvas.height !== clippedHeight * this._dpr) {
|
|
34655
|
+
tile.logicalX = newLogicalX;
|
|
34656
|
+
tile.logicalY = newLogicalY;
|
|
34657
|
+
tile.canvas.width = clippedWidth * this._dpr;
|
|
34658
|
+
tile.canvas.style.width = `${clippedWidth}px`;
|
|
34659
|
+
tile.canvas.height = clippedHeight * this._dpr;
|
|
34660
|
+
tile.canvas.style.height = `${clippedHeight}px`;
|
|
34661
|
+
tile.canvas.style.left = `${visualX}px`;
|
|
34662
|
+
tile.canvas.style.top = `${visualY}px`;
|
|
34663
|
+
tile.ctx.scale(this._dpr, this._dpr);
|
|
34664
|
+
if (!tile.isInDOM && this._tilePoolEl) {
|
|
34665
|
+
this._tilePoolEl.appendChild(tile.canvas);
|
|
34666
|
+
tile.isInDOM = true;
|
|
34667
|
+
}
|
|
34668
|
+
if (!tile.visible) {
|
|
34669
|
+
tilesRedrawn.push(key);
|
|
34670
|
+
this._requestTileDraw(`updateTiles(${reason})`, key);
|
|
34671
|
+
}
|
|
34672
|
+
}
|
|
34673
|
+
tile.visible = true;
|
|
34674
|
+
} else if (tile.visible) {
|
|
34675
|
+
tile.visible = false;
|
|
34676
|
+
tile.isInDOM = false;
|
|
34677
|
+
tile.canvas.remove();
|
|
34678
|
+
}
|
|
34679
|
+
}
|
|
34680
|
+
for (const { index: col, logicalX } of tiles) for (const { row, logicalY } of rows) {
|
|
34681
|
+
const key = tileKey(col, row);
|
|
34682
|
+
if (!this._tilePool.has(key) && this._tilePoolEl) {
|
|
34683
|
+
const newTile = this._createTile(col, row, logicalX, logicalY);
|
|
34684
|
+
const visualX = isSingleTileX ? contentOffsetX : logicalX;
|
|
34685
|
+
const visualY = isSingleTileY ? contentOffsetY : logicalY;
|
|
34686
|
+
newTile.canvas.style.left = `${visualX}px`;
|
|
34687
|
+
newTile.canvas.style.top = `${visualY}px`;
|
|
34688
|
+
newTile.visible = true;
|
|
34689
|
+
newTile.isInDOM = true;
|
|
34690
|
+
this._tilePoolEl.appendChild(newTile.canvas);
|
|
34691
|
+
this._tilePool.set(key, newTile);
|
|
34692
|
+
this._visibleTiles.add(key);
|
|
34693
|
+
tilesRedrawn.push(key);
|
|
34694
|
+
this._requestTileDraw(`updateTiles(${reason})`, key);
|
|
34695
|
+
}
|
|
34696
|
+
}
|
|
34697
|
+
return tilesRedrawn;
|
|
34698
|
+
}
|
|
34699
|
+
_requestRedrawAll(reason) {
|
|
34700
|
+
this.#debug(`Requesting _requestRedrawAll: ${reason} visible tiles: ${this._visibleTiles.size} pending draws: ${this._pendingDraws.size}`);
|
|
34701
|
+
this._pendingDraws.forEach((ctrl) => ctrl.abort());
|
|
34702
|
+
this._pendingDraws.clear();
|
|
34703
|
+
for (const tileIndex of this._visibleTiles) this._requestTileDraw(`requestRedrawAll(${reason})`, tileIndex);
|
|
34704
|
+
}
|
|
34705
|
+
#debug(msg) {
|
|
34706
|
+
if (!this.debugTrace) return;
|
|
34707
|
+
console.log(`[VCanvas]`, msg);
|
|
34708
|
+
}
|
|
34709
|
+
_requestTileDraw(_reason, tileKey, region) {
|
|
34710
|
+
const tile = this._tilePool.get(tileKey);
|
|
34711
|
+
if (!tile || !this.drawCallback) return;
|
|
34712
|
+
const abortCtrl = new AbortController();
|
|
34713
|
+
this._pendingDraws.set(tileKey, abortCtrl);
|
|
34714
|
+
const tileWidth = this._getTileWidth();
|
|
34715
|
+
const tileHeight = this._getTileHeight();
|
|
34716
|
+
const isSingleTileX = isSingleTileMode(this.effectiveLogicalWidth, this._viewportWidth);
|
|
34717
|
+
const isSingleTileY = isSingleTileModeY(this.effectiveLogicalHeight, this._viewportHeight);
|
|
34718
|
+
let drawRegion;
|
|
34719
|
+
if (region) drawRegion = region;
|
|
34720
|
+
else {
|
|
34721
|
+
const overlapX = tileWidth * this._renderingOptions.overlapPercent;
|
|
34722
|
+
const overlapY = tileHeight * this._renderingOptions.overlapPercent;
|
|
34723
|
+
drawRegion = {
|
|
34724
|
+
x: isSingleTileX ? 0 : tile.logicalX - overlapX,
|
|
34725
|
+
y: isSingleTileY ? 0 : tile.logicalY - overlapY,
|
|
34726
|
+
width: isSingleTileX ? this.effectiveLogicalWidth : tileWidth + overlapX * 2,
|
|
34727
|
+
height: isSingleTileY ? this.effectiveLogicalHeight : tileHeight + overlapY * 2
|
|
34728
|
+
};
|
|
34729
|
+
}
|
|
34730
|
+
tile.ctx.save();
|
|
34731
|
+
tile.ctx.translate(-tile.logicalX, -tile.logicalY);
|
|
34732
|
+
const localX = drawRegion.x - tile.logicalX;
|
|
34733
|
+
const localY = drawRegion.y - tile.logicalY;
|
|
34734
|
+
if (region) {
|
|
34735
|
+
tile.ctx.beginPath();
|
|
34736
|
+
tile.ctx.rect(localX, localY, drawRegion.width, drawRegion.height);
|
|
34737
|
+
tile.ctx.clip();
|
|
34738
|
+
tile.ctx.clearRect(localX, localY, drawRegion.width, drawRegion.height);
|
|
34739
|
+
} else tile.ctx.clearRect(0, 0, tile.canvas.width, tile.canvas.height);
|
|
34740
|
+
if (this.debugDraw) drawDebugGraphic(tile.col, this._tilePool.size, this.effectiveLogicalWidth, tile.ctx, drawRegion);
|
|
34741
|
+
try {
|
|
34742
|
+
this.drawCallback(tile.ctx, drawRegion, abortCtrl.signal);
|
|
34743
|
+
} finally {
|
|
34744
|
+
if (tile) tile.ctx.restore();
|
|
34745
|
+
this._pendingDraws.delete(tileKey);
|
|
34746
|
+
}
|
|
34747
|
+
}
|
|
34748
|
+
_emitScrollEvent(userGesture) {
|
|
34749
|
+
const event = new CustomEvent(`scroll-virtual`, {
|
|
34750
|
+
detail: {
|
|
34751
|
+
logicalScrollLeft: this._scrollLeft,
|
|
34752
|
+
logicalScrollTop: this._scrollTop,
|
|
34753
|
+
userGesture,
|
|
34754
|
+
containerScrollLeft: this._scrollContainer?.scrollLeft ?? 0,
|
|
34755
|
+
containerScrollTop: this._scrollContainer?.scrollTop ?? 0,
|
|
34756
|
+
viewportStartLogical: this._scrollLeft,
|
|
34757
|
+
viewportEndLogical: this._scrollLeft + this._viewportWidth,
|
|
34758
|
+
viewportStartLogicalY: this._scrollTop,
|
|
34759
|
+
viewportEndLogicalY: this._scrollTop + this._viewportHeight
|
|
34760
|
+
},
|
|
34761
|
+
bubbles: true,
|
|
34762
|
+
composed: true
|
|
34763
|
+
});
|
|
34764
|
+
this.dispatchEvent(event);
|
|
34765
|
+
}
|
|
34766
|
+
/**
|
|
34767
|
+
* Checks if any part of a rectangular region is currently visible in the viewport.
|
|
34768
|
+
*
|
|
34769
|
+
* This method is useful for determining whether content needs to be rendered
|
|
34770
|
+
* or updated based on its visibility status. The region is specified using
|
|
34771
|
+
* logical coordinates relative to the virtual canvas content.
|
|
34772
|
+
*
|
|
34773
|
+
* @param rect - The rectangular region to check, in logical coordinates
|
|
34774
|
+
* @returns true if any part of the region overlaps with the visible viewport
|
|
34775
|
+
*
|
|
34776
|
+
* @example
|
|
34777
|
+
* ```typescript
|
|
34778
|
+
* const region = { x: 1000, y: 0, width: 500, height: 1000 };
|
|
34779
|
+
* if (vcanvas.isRegionVisible(region)) {
|
|
34780
|
+
* // Region is at least partially visible, render it
|
|
34781
|
+
* }
|
|
34782
|
+
* ```
|
|
34783
|
+
*/
|
|
34784
|
+
isRegionVisible(rect) {
|
|
34785
|
+
const viewportLeft = this._scrollLeft;
|
|
34786
|
+
const viewportRight = this._scrollLeft + this._viewportWidth;
|
|
34787
|
+
const xVisible = rect.x + rect.width > viewportLeft && rect.x < viewportRight;
|
|
34788
|
+
const viewportTop = this._scrollTop;
|
|
34789
|
+
const viewportBottom = this._scrollTop + this._viewportHeight;
|
|
34790
|
+
const yVisible = rect.y + rect.height > viewportTop && rect.y < viewportBottom;
|
|
34791
|
+
return xVisible && yVisible;
|
|
34792
|
+
}
|
|
34793
|
+
_updateScrollPosition(userGesture) {
|
|
34794
|
+
if (this._scrollContainer) {
|
|
34795
|
+
this._scrollContainer.scrollLeft = this._scrollLeft;
|
|
34796
|
+
this._scrollContainer.scrollTop = this._scrollTop;
|
|
34797
|
+
}
|
|
34798
|
+
this._recalculateTiles(`updateScrollPosition`);
|
|
34799
|
+
this._emitScrollEvent(userGesture);
|
|
34800
|
+
this._scrollDebounce();
|
|
34801
|
+
}
|
|
34802
|
+
get logicalScrollLeft() {
|
|
34803
|
+
return this._scrollLeft;
|
|
34804
|
+
}
|
|
34805
|
+
/**
|
|
34806
|
+
* The current logical scroll position.
|
|
34807
|
+
*
|
|
34808
|
+
* Setting this property smoothly scrolls the virtual canvas to the specified
|
|
34809
|
+
* position. The value is automatically clamped to valid bounds (0 to
|
|
34810
|
+
* logicalWidth - viewportWidth).
|
|
34811
|
+
*
|
|
34812
|
+
* @example
|
|
34813
|
+
* ```typescript
|
|
34814
|
+
* // Scroll to position 5000
|
|
34815
|
+
* vcanvas.logicalScrollLeft = 5000;
|
|
34816
|
+
*
|
|
34817
|
+
* // Get current scroll position
|
|
34818
|
+
* console.log(vcanvas.logicalScrollLeft);
|
|
34819
|
+
* ```
|
|
34820
|
+
*/
|
|
34821
|
+
set logicalScrollLeft(value) {
|
|
34822
|
+
const oldValue = this._scrollLeft;
|
|
34823
|
+
const clampedValue = clamp(value, 0, Math.max(0, this.effectiveLogicalWidth - this._viewportWidth));
|
|
34824
|
+
if (clampedValue !== this._scrollLeft) {
|
|
34825
|
+
this._scrollLeft = clampedValue;
|
|
34826
|
+
this.requestUpdate(`logicalScrollLeft`, oldValue);
|
|
34827
|
+
this._updateScrollPosition(false);
|
|
34828
|
+
}
|
|
34829
|
+
}
|
|
34830
|
+
get logicalScrollTop() {
|
|
34831
|
+
return this._scrollTop;
|
|
34832
|
+
}
|
|
34833
|
+
set logicalScrollTop(value) {
|
|
34834
|
+
const oldValue = this._scrollTop;
|
|
34835
|
+
const clampedValue = clamp(value, 0, Math.max(0, this.effectiveLogicalHeight - this._viewportHeight));
|
|
34836
|
+
if (clampedValue !== this._scrollTop) {
|
|
34837
|
+
this._scrollTop = clampedValue;
|
|
34838
|
+
this.requestUpdate(`logicalScrollTop`, oldValue);
|
|
34839
|
+
this._updateScrollPosition(false);
|
|
34840
|
+
}
|
|
34841
|
+
}
|
|
34842
|
+
get containerScrollLeft() {
|
|
34843
|
+
return this._scrollContainer?.scrollLeft ?? 0;
|
|
34844
|
+
}
|
|
34845
|
+
get containerScrollTop() {
|
|
34846
|
+
return this._scrollContainer?.scrollTop ?? 0;
|
|
34847
|
+
}
|
|
34848
|
+
/**
|
|
34849
|
+
* The current viewport width in pixels.
|
|
34850
|
+
*
|
|
34851
|
+
* This value is automatically updated when the component is resized.
|
|
34852
|
+
* Read-only - use CSS to control the component's size.
|
|
34853
|
+
*
|
|
34854
|
+
* @example
|
|
34855
|
+
* ```typescript
|
|
34856
|
+
* const vw = vcanvas.viewportWidth;
|
|
34857
|
+
* ```
|
|
34858
|
+
*/
|
|
34859
|
+
get viewportWidth() {
|
|
34860
|
+
return this._viewportWidth;
|
|
34861
|
+
}
|
|
34862
|
+
/**
|
|
34863
|
+
* The current viewport height in pixels.
|
|
34864
|
+
*
|
|
34865
|
+
* This value is automatically updated when the component is resized.
|
|
34866
|
+
* Read-only - use CSS to control the component's size.
|
|
34867
|
+
*
|
|
34868
|
+
* @example
|
|
34869
|
+
* ```typescript
|
|
34870
|
+
* const vh = vcanvas.viewportHeight;
|
|
34871
|
+
* ```
|
|
34872
|
+
*/
|
|
34873
|
+
get viewportHeight() {
|
|
34874
|
+
return this._viewportHeight;
|
|
34875
|
+
}
|
|
34876
|
+
/**
|
|
34877
|
+
* Updates rendering options for the virtual canvas.
|
|
34878
|
+
*
|
|
34879
|
+
* Pass a partial options object to update specific settings. Any options
|
|
34880
|
+
* not provided retain their current values. After updating options,
|
|
34881
|
+
* tiles are recalculated to reflect the new configuration.
|
|
34882
|
+
*
|
|
34883
|
+
* @param options - Partial options object specifying which settings to change
|
|
34884
|
+
*
|
|
34885
|
+
* @example
|
|
34886
|
+
* ```typescript
|
|
34887
|
+
* // Reduce tile size and increase pool for smoother scrolling
|
|
34888
|
+
* vcanvas.setRenderingOptions({
|
|
34889
|
+
* tileWidthMultiplier: 0.25,
|
|
34890
|
+
* maxPoolSize: 8,
|
|
34891
|
+
* });
|
|
34892
|
+
*
|
|
34893
|
+
* // Restore defaults
|
|
34894
|
+
* vcanvas.setRenderingOptions({
|
|
34895
|
+
* tileWidthMultiplier: 0.5,
|
|
34896
|
+
* tilesBuffer: 2,
|
|
34897
|
+
* maxPoolSize: 5,
|
|
34898
|
+
* });
|
|
34899
|
+
* ```
|
|
34900
|
+
*/
|
|
34901
|
+
setRenderingOptions(options) {
|
|
34902
|
+
this._renderingOptions = {
|
|
34903
|
+
...this._renderingOptions,
|
|
34904
|
+
...options
|
|
34905
|
+
};
|
|
34906
|
+
this._recalculateTiles(`setRenderingOptions`);
|
|
34907
|
+
}
|
|
34908
|
+
/**
|
|
34909
|
+
* Gets the current rendering options.
|
|
34910
|
+
*
|
|
34911
|
+
* Returns a copy of the current configuration options controlling tile
|
|
34912
|
+
* rendering, pool management, and scroll behavior.
|
|
34913
|
+
*
|
|
34914
|
+
* @returns The current VCanvasRenderingOptions configuration
|
|
34915
|
+
*
|
|
34916
|
+
* @example
|
|
34917
|
+
* ```typescript
|
|
34918
|
+
* const options = vcanvas.getRenderingOptions();
|
|
34919
|
+
* console.log('Current tile width multiplier:', options.tileWidthMultiplier);
|
|
34920
|
+
* ```
|
|
34921
|
+
*/
|
|
34922
|
+
getRenderingOptions() {
|
|
34923
|
+
return this._renderingOptions;
|
|
34924
|
+
}
|
|
34925
|
+
/**
|
|
34926
|
+
* Forces a complete redraw of all visible tiles.
|
|
34927
|
+
*
|
|
34928
|
+
* Call this when the visual appearance of the content needs to change
|
|
34929
|
+
* but the logical dimensions remain the same. This aborts any pending
|
|
34930
|
+
* draw operations and triggers new ones for all visible tiles.
|
|
34931
|
+
*
|
|
34932
|
+
* @example
|
|
34933
|
+
* ```typescript
|
|
34934
|
+
* // Redraw after theme change
|
|
34935
|
+
* theme.addEventListener('change', () => {
|
|
34936
|
+
* vcanvas.invalidateAll();
|
|
34937
|
+
* });
|
|
34938
|
+
* ```
|
|
34939
|
+
*/
|
|
34940
|
+
invalidateAll() {
|
|
34941
|
+
this._requestRedrawAll(`invalidateAll`);
|
|
34942
|
+
}
|
|
34943
|
+
/**
|
|
34944
|
+
* Forces redraw of tiles that intersect with the specified region.
|
|
34945
|
+
*
|
|
34946
|
+
* Use this for partial invalidation when only a portion of the content
|
|
34947
|
+
* has changed. More efficient than invalidateAll() for localized updates.
|
|
34948
|
+
*
|
|
34949
|
+
* @param x - The x-coordinate of the region's left edge (logical coordinates)
|
|
34950
|
+
* @param y - The y-coordinate of the region's top edge (logical coordinates)
|
|
34951
|
+
* @param width - The width of the region to invalidate
|
|
34952
|
+
* @param height - The height of the region to invalidate
|
|
34953
|
+
*
|
|
34954
|
+
* @example
|
|
34955
|
+
* ```typescript
|
|
34956
|
+
* // Redraw a specific area after updating content
|
|
34957
|
+
* vcanvas.invalidateRegion(1000, 0, 500, 1000);
|
|
34958
|
+
* ```
|
|
34959
|
+
*/
|
|
34960
|
+
invalidateRegion(x, y, width, height) {
|
|
34961
|
+
this.#debug(`invalidateRegion: ${x},${y},${width},${height}`);
|
|
34962
|
+
const tileWidth = this._getTileWidth();
|
|
34963
|
+
const tileHeight = this._getTileHeight();
|
|
34964
|
+
const { firstTile, lastTile } = this._calculateTileRange();
|
|
34965
|
+
const { firstRow, lastRow } = this._calculateTileRowRange();
|
|
34966
|
+
const overlap = this._renderingOptions.overlapPercent;
|
|
34967
|
+
const startCol = Math.floor(x / tileWidth);
|
|
34968
|
+
const endCol = Math.ceil((x + width) / tileWidth);
|
|
34969
|
+
const startRow = Math.floor(y / tileHeight);
|
|
34970
|
+
const endRow = Math.ceil((y + height) / tileHeight);
|
|
34971
|
+
for (let col = Math.max(firstTile, startCol); col <= Math.min(lastTile, endCol); col++) for (let row = Math.max(firstRow, startRow); row <= Math.min(lastRow, endRow); row++) {
|
|
34972
|
+
const key = tileKey(col, row);
|
|
34973
|
+
if (this._visibleTiles.has(key)) {
|
|
34974
|
+
const tile = this._tilePool.get(key);
|
|
34975
|
+
if (tile) {
|
|
34976
|
+
const overlapX = tileWidth * overlap;
|
|
34977
|
+
const overlapY = tileHeight * overlap;
|
|
34978
|
+
const tileStartX = tile.logicalX - overlapX;
|
|
34979
|
+
const tileEndX = tile.logicalX + tileWidth + overlapX;
|
|
34980
|
+
const tileStartY = tile.logicalY - overlapY;
|
|
34981
|
+
const tileEndY = tile.logicalY + tileHeight + overlapY;
|
|
34982
|
+
const intersectX = Math.max(x, tileStartX);
|
|
34983
|
+
const intersectWidth = Math.min(x + width, tileEndX) - intersectX;
|
|
34984
|
+
const intersectY = Math.max(y, tileStartY);
|
|
34985
|
+
const intersectHeight = Math.min(y + height, tileEndY) - intersectY;
|
|
34986
|
+
if (intersectWidth > 0 && intersectHeight > 0) {
|
|
34987
|
+
const region = {
|
|
34988
|
+
x: intersectX,
|
|
34989
|
+
y: intersectY,
|
|
34990
|
+
width: intersectWidth,
|
|
34991
|
+
height: intersectHeight
|
|
34992
|
+
};
|
|
34993
|
+
this._requestTileDraw(`invalidateRegion`, key, region);
|
|
34994
|
+
}
|
|
34995
|
+
}
|
|
34996
|
+
}
|
|
34997
|
+
}
|
|
34998
|
+
}
|
|
34999
|
+
/**
|
|
35000
|
+
* Converts viewport-relative coordinates to canvas-relative (logical) coordinates.
|
|
35001
|
+
*
|
|
35002
|
+
* Viewport coordinates are relative to the visible area, while canvas coordinates
|
|
35003
|
+
* are in the logical coordinate system of the virtual canvas content.
|
|
35004
|
+
*
|
|
35005
|
+
* @param x - The x-coordinate in viewport space
|
|
35006
|
+
* @param y - The y-coordinate in viewport space
|
|
35007
|
+
* @returns The coordinates in canvas (logical) space
|
|
35008
|
+
*
|
|
35009
|
+
* @example
|
|
35010
|
+
* ```typescript
|
|
35011
|
+
* // Convert mouse position to logical coordinates for hit testing
|
|
35012
|
+
* vcanvas.addEventListener('click', (e) => {
|
|
35013
|
+
* const logical = vcanvas.convertFromViewportToCanvas(e.offsetX, e.offsetY);
|
|
35014
|
+
* console.log('Clicked at logical position:', logical.x);
|
|
35015
|
+
* });
|
|
35016
|
+
* ```
|
|
35017
|
+
*/
|
|
35018
|
+
convertFromViewportToCanvas(x, y) {
|
|
35019
|
+
const contentOffsetX = getContentOffset(this.effectiveLogicalWidth, this._viewportWidth);
|
|
35020
|
+
const contentOffsetY = getContentOffsetY(this.effectiveLogicalHeight, this._viewportHeight);
|
|
35021
|
+
return viewportToCanvas(x, y, this._scrollLeft, contentOffsetX, this._scrollTop, contentOffsetY);
|
|
35022
|
+
}
|
|
35023
|
+
/**
|
|
35024
|
+
* Converts canvas-relative (logical) coordinates to viewport-relative coordinates.
|
|
35025
|
+
*
|
|
35026
|
+
* This is the inverse of `convertFromViewportToCanvas`. Use this to convert
|
|
35027
|
+
* logical positions back to viewport coordinates for positioning UI elements.
|
|
35028
|
+
*
|
|
35029
|
+
* @param x - The x-coordinate in logical space
|
|
35030
|
+
* @param y - The y-coordinate in logical space
|
|
35031
|
+
* @returns The coordinates in viewport space
|
|
35032
|
+
*
|
|
35033
|
+
* @example
|
|
35034
|
+
* ```typescript
|
|
35035
|
+
* // Convert logical marker position to viewport for tooltip positioning
|
|
35036
|
+
* const viewportPos = vcanvas.convertFromCanvasToViewport(markerX, 0);
|
|
35037
|
+
* tooltip.style.left = `${viewportPos.x}px`;
|
|
35038
|
+
* ```
|
|
35039
|
+
*/
|
|
35040
|
+
convertFromCanvasToViewport(x, y) {
|
|
35041
|
+
const contentOffsetX = getContentOffset(this.effectiveLogicalWidth, this._viewportWidth);
|
|
35042
|
+
const contentOffsetY = getContentOffsetY(this.effectiveLogicalHeight, this._viewportHeight);
|
|
35043
|
+
return canvasToViewport(x, y, this._scrollLeft, contentOffsetX, this._scrollTop, contentOffsetY);
|
|
35044
|
+
}
|
|
35045
|
+
/**
|
|
35046
|
+
* Positions light DOM child elements matching the query within a logical coordinate range.
|
|
35047
|
+
*
|
|
35048
|
+
* This method allows you to position HTML elements (like tooltips, markers, or overlays)
|
|
35049
|
+
* at specific logical coordinates within the virtual canvas. The elements will scroll
|
|
35050
|
+
* with the canvas content, maintaining their logical position.
|
|
35051
|
+
*
|
|
35052
|
+
* @param query - A CSS selector string to match child elements
|
|
35053
|
+
* @param startX - The starting x-coordinate in logical space
|
|
35054
|
+
* @param endX - The ending x-coordinate in logical space (determines width)
|
|
35055
|
+
* @param startY - The starting y-coordinate in logical space (optional)
|
|
35056
|
+
* @param endY - The ending y-coordinate in logical space (optional)
|
|
35057
|
+
*
|
|
35058
|
+
* @example
|
|
35059
|
+
* ```typescript
|
|
35060
|
+
* // Position a marker element at logical position x=200 spanning 200px
|
|
35061
|
+
* vcanvas.positionChildRange('#marker', 200, 400);
|
|
35062
|
+
*
|
|
35063
|
+
* // Position multiple elements with a class
|
|
35064
|
+
* vcanvas.positionChildRange('.timeline-item', 0, 1000);
|
|
35065
|
+
* ```
|
|
35066
|
+
*/
|
|
35067
|
+
positionChildRange(query, startX, endX, startY, endY) {
|
|
35068
|
+
if (Number.isNaN(startX) || Number.isNaN(endX)) {
|
|
35069
|
+
console.warn(`positionChildRange: Invalid startX or endX values: ${startX}, ${endX}`);
|
|
35070
|
+
return;
|
|
35071
|
+
}
|
|
35072
|
+
const children = Array.from(this.children).filter((child) => child.matches?.(query));
|
|
35073
|
+
const resolvedStartY = startY ?? 0;
|
|
35074
|
+
const resolvedEndY = endY ?? this.effectiveLogicalHeight;
|
|
35075
|
+
for (const child of children) this._positionedChildren.set(child, {
|
|
35076
|
+
startX,
|
|
35077
|
+
endX,
|
|
35078
|
+
startY: resolvedStartY,
|
|
35079
|
+
endY: resolvedEndY
|
|
35080
|
+
});
|
|
35081
|
+
this._positionChildren(`positionChildRange`);
|
|
35082
|
+
}
|
|
35083
|
+
/**
|
|
35084
|
+
* Manually triggers an update of child element positioning.
|
|
35085
|
+
*
|
|
35086
|
+
* This is useful when the viewport dimensions have changed outside the normal
|
|
35087
|
+
* update cycle and you need to reposition slotted children immediately.
|
|
35088
|
+
* Normally, child positioning is automatically updated during scroll and resize.
|
|
35089
|
+
*
|
|
35090
|
+
* @example
|
|
35091
|
+
* ```typescript
|
|
35092
|
+
* // Force immediate update after custom layout changes
|
|
35093
|
+
* vcanvas.manualChildPositioningUpdate();
|
|
35094
|
+
* ```
|
|
35095
|
+
*/
|
|
35096
|
+
manualChildPositioningUpdate() {
|
|
35097
|
+
this._positionChildren(`manualChildPositioningUpdate`);
|
|
35098
|
+
}
|
|
35099
|
+
/**
|
|
35100
|
+
* Stops positioning child elements matching the query and resets their styles.
|
|
35101
|
+
*
|
|
35102
|
+
* This removes children from the positioning system and clears any inline
|
|
35103
|
+
* styles that were applied by `positionChildRange()`. The children remain
|
|
35104
|
+
* in the DOM but are no longer positioned by the virtual canvas.
|
|
35105
|
+
*
|
|
35106
|
+
* @param query - A CSS selector string to match child elements
|
|
35107
|
+
*
|
|
35108
|
+
* @example
|
|
35109
|
+
* ```typescript
|
|
35110
|
+
* // Stop positioning a specific child element
|
|
35111
|
+
* vcanvas.positionChildClear('#child-0');
|
|
35112
|
+
*
|
|
35113
|
+
* // Stop positioning all children with a specific class
|
|
35114
|
+
* vcanvas.positionChildClear('.my-element');
|
|
35115
|
+
* ```
|
|
35116
|
+
*/
|
|
35117
|
+
positionChildClear(query) {
|
|
35118
|
+
for (const [child] of this._positionedChildren) if (child.matches?.(query)) {
|
|
35119
|
+
this._positionedChildren.delete(child);
|
|
35120
|
+
child.removeAttribute(`style`);
|
|
35121
|
+
}
|
|
35122
|
+
}
|
|
35123
|
+
_positionChildren(source) {
|
|
35124
|
+
this.#debug(`_positionChildren: ${source} positionedChildren: ${this._positionedChildren.size}`);
|
|
35125
|
+
if (!this.hasUpdated) return;
|
|
35126
|
+
if (!this._childrenContainerEl) return;
|
|
35127
|
+
for (const [child, config] of this._positionedChildren) {
|
|
35128
|
+
const width = config.endX - config.startX;
|
|
35129
|
+
const height = config.endY - config.startY;
|
|
35130
|
+
child.setAttribute(`style`, `position: absolute; left: ${config.startX}px; top: ${config.startY}px; width: ${width}px; height: ${height}px;`);
|
|
35131
|
+
}
|
|
35132
|
+
}
|
|
35133
|
+
render() {
|
|
35134
|
+
return b`
|
|
35135
|
+
<div class=${e({
|
|
35136
|
+
"scroll-container": true,
|
|
35137
|
+
"scrollable": this.hinting
|
|
35138
|
+
})}>
|
|
35139
|
+
<div class="spacer"></div>
|
|
35140
|
+
<div class="tile-pool"></div>
|
|
35141
|
+
<div class="children-container">
|
|
35142
|
+
<slot></slot>
|
|
35143
|
+
</div>
|
|
35144
|
+
</div>
|
|
35145
|
+
`;
|
|
35146
|
+
}
|
|
35147
|
+
};
|
|
35148
|
+
__decorate([n$2({ type: Boolean })], VCanvas.prototype, "hinting", void 0);
|
|
35149
|
+
__decorate([n$2()], VCanvas.prototype, "logicalWidth", null);
|
|
35150
|
+
__decorate([n$2()], VCanvas.prototype, "logicalHeight", null);
|
|
35151
|
+
__decorate([n$2({ type: Number })], VCanvas.prototype, "logicalScrollLeft", null);
|
|
35152
|
+
__decorate([n$2({ type: Number })], VCanvas.prototype, "logicalScrollTop", null);
|
|
35153
|
+
VCanvas = __decorate([t$4(`x-vcanvas`)], VCanvas);
|
|
33714
35154
|
//#endregion
|
|
33715
35155
|
//#region src/timeline/timeline-element.ts
|
|
33716
35156
|
/** Reasonable maximum ppu to prevent infinite zoom-in */
|
|
@@ -34400,53 +35840,53 @@ let IxfxTimelineElement = class IxfxTimelineElement extends i$4 {
|
|
|
34400
35840
|
}));
|
|
34401
35841
|
}
|
|
34402
35842
|
};
|
|
34403
|
-
__decorate([n$2({ type: Array })], IxfxTimelineElement.prototype, "tracks", void 0);
|
|
34404
|
-
__decorate([n$2({ type: Array })], IxfxTimelineElement.prototype, "events", void 0);
|
|
34405
|
-
__decorate([n$2({ type: Number })], IxfxTimelineElement.prototype, "min", void 0);
|
|
34406
|
-
__decorate([n$2({ type: Number })], IxfxTimelineElement.prototype, "max", void 0);
|
|
34407
|
-
__decorate([n$2({
|
|
35843
|
+
__decorate$1([n$2({ type: Array })], IxfxTimelineElement.prototype, "tracks", void 0);
|
|
35844
|
+
__decorate$1([n$2({ type: Array })], IxfxTimelineElement.prototype, "events", void 0);
|
|
35845
|
+
__decorate$1([n$2({ type: Number })], IxfxTimelineElement.prototype, "min", void 0);
|
|
35846
|
+
__decorate$1([n$2({ type: Number })], IxfxTimelineElement.prototype, "max", void 0);
|
|
35847
|
+
__decorate$1([n$2({
|
|
34408
35848
|
type: String,
|
|
34409
35849
|
attribute: `track-height`
|
|
34410
35850
|
})], IxfxTimelineElement.prototype, "trackHeight", void 0);
|
|
34411
|
-
__decorate([n$2({
|
|
35851
|
+
__decorate$1([n$2({
|
|
34412
35852
|
type: String,
|
|
34413
35853
|
attribute: `user-scale`
|
|
34414
35854
|
})], IxfxTimelineElement.prototype, "userScale", void 0);
|
|
34415
|
-
__decorate([n$2({ type: Boolean })], IxfxTimelineElement.prototype, "reorderable", void 0);
|
|
34416
|
-
__decorate([n$2({
|
|
35855
|
+
__decorate$1([n$2({ type: Boolean })], IxfxTimelineElement.prototype, "reorderable", void 0);
|
|
35856
|
+
__decorate$1([n$2({
|
|
34417
35857
|
type: Boolean,
|
|
34418
35858
|
attribute: `meta`
|
|
34419
35859
|
})], IxfxTimelineElement.prototype, "metaEnabled", void 0);
|
|
34420
|
-
__decorate([n$2({
|
|
35860
|
+
__decorate$1([n$2({
|
|
34421
35861
|
type: Boolean,
|
|
34422
35862
|
attribute: `alt-major-bg`
|
|
34423
35863
|
})], IxfxTimelineElement.prototype, "altMajorBg", void 0);
|
|
34424
|
-
__decorate([n$2({
|
|
35864
|
+
__decorate$1([n$2({
|
|
34425
35865
|
type: Number,
|
|
34426
35866
|
attribute: `default-track-height`
|
|
34427
35867
|
})], IxfxTimelineElement.prototype, "defaultTrackHeight", void 0);
|
|
34428
|
-
__decorate([n$2({
|
|
35868
|
+
__decorate$1([n$2({
|
|
34429
35869
|
type: String,
|
|
34430
35870
|
attribute: `grid-mode`
|
|
34431
35871
|
})], IxfxTimelineElement.prototype, "gridMode", void 0);
|
|
34432
|
-
__decorate([n$2({
|
|
35872
|
+
__decorate$1([n$2({
|
|
34433
35873
|
type: Number,
|
|
34434
35874
|
attribute: `minor-step`
|
|
34435
35875
|
})], IxfxTimelineElement.prototype, "minorStep", void 0);
|
|
34436
|
-
__decorate([n$2({ type: Object })], IxfxTimelineElement.prototype, "onDragging", void 0);
|
|
34437
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_ppu", void 0);
|
|
34438
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_viewRange", void 0);
|
|
34439
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_vViewRange", void 0);
|
|
34440
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_vScale", void 0);
|
|
34441
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_selectedIds", void 0);
|
|
34442
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_tickledId", void 0);
|
|
34443
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_drag", void 0);
|
|
34444
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_metaHeight", void 0);
|
|
34445
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_trackHeightOverrides", void 0);
|
|
34446
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_trackLayout", void 0);
|
|
34447
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_internalEvents", void 0);
|
|
34448
|
-
__decorate([r$1()], IxfxTimelineElement.prototype, "_internalTracks", void 0);
|
|
34449
|
-
IxfxTimelineElement = __decorate([safeCustomElement(`ixfx-timeline`)], IxfxTimelineElement);
|
|
35876
|
+
__decorate$1([n$2({ type: Object })], IxfxTimelineElement.prototype, "onDragging", void 0);
|
|
35877
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_ppu", void 0);
|
|
35878
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_viewRange", void 0);
|
|
35879
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_vViewRange", void 0);
|
|
35880
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_vScale", void 0);
|
|
35881
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_selectedIds", void 0);
|
|
35882
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_tickledId", void 0);
|
|
35883
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_drag", void 0);
|
|
35884
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_metaHeight", void 0);
|
|
35885
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_trackHeightOverrides", void 0);
|
|
35886
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_trackLayout", void 0);
|
|
35887
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_internalEvents", void 0);
|
|
35888
|
+
__decorate$1([r$1()], IxfxTimelineElement.prototype, "_internalTracks", void 0);
|
|
35889
|
+
IxfxTimelineElement = __decorate$1([safeCustomElement(`ixfx-timeline`)], IxfxTimelineElement);
|
|
34450
35890
|
//#endregion
|
|
34451
35891
|
//#region node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/keyed.js
|
|
34452
35892
|
/**
|
|
@@ -34697,15 +36137,15 @@ let TransitoryLabelElement = class TransitoryLabelElement extends i$4 {
|
|
|
34697
36137
|
`;
|
|
34698
36138
|
}
|
|
34699
36139
|
};
|
|
34700
|
-
__decorate([n$2({ type: String })], TransitoryLabelElement.prototype, "text", void 0);
|
|
34701
|
-
__decorate([n$2({ type: String })], TransitoryLabelElement.prototype, "effect", void 0);
|
|
34702
|
-
__decorate([n$2({ type: Number })], TransitoryLabelElement.prototype, "duration", void 0);
|
|
34703
|
-
__decorate([n$2({ type: String })], TransitoryLabelElement.prototype, "easing", void 0);
|
|
34704
|
-
__decorate([r$1()], TransitoryLabelElement.prototype, "_currentText", void 0);
|
|
34705
|
-
__decorate([r$1()], TransitoryLabelElement.prototype, "_outgoingText", void 0);
|
|
34706
|
-
__decorate([r$1()], TransitoryLabelElement.prototype, "_activeEffect", void 0);
|
|
34707
|
-
__decorate([r$1()], TransitoryLabelElement.prototype, "_transitionId", void 0);
|
|
34708
|
-
TransitoryLabelElement = __decorate([safeCustomElement(`ixfx-transitory-label`)], TransitoryLabelElement);
|
|
36140
|
+
__decorate$1([n$2({ type: String })], TransitoryLabelElement.prototype, "text", void 0);
|
|
36141
|
+
__decorate$1([n$2({ type: String })], TransitoryLabelElement.prototype, "effect", void 0);
|
|
36142
|
+
__decorate$1([n$2({ type: Number })], TransitoryLabelElement.prototype, "duration", void 0);
|
|
36143
|
+
__decorate$1([n$2({ type: String })], TransitoryLabelElement.prototype, "easing", void 0);
|
|
36144
|
+
__decorate$1([r$1()], TransitoryLabelElement.prototype, "_currentText", void 0);
|
|
36145
|
+
__decorate$1([r$1()], TransitoryLabelElement.prototype, "_outgoingText", void 0);
|
|
36146
|
+
__decorate$1([r$1()], TransitoryLabelElement.prototype, "_activeEffect", void 0);
|
|
36147
|
+
__decorate$1([r$1()], TransitoryLabelElement.prototype, "_transitionId", void 0);
|
|
36148
|
+
TransitoryLabelElement = __decorate$1([safeCustomElement(`ixfx-transitory-label`)], TransitoryLabelElement);
|
|
34709
36149
|
//#endregion
|
|
34710
36150
|
//#region src/tree/tree-base.ts
|
|
34711
36151
|
let TreeBaseElement = class TreeBaseElement extends i$4 {
|
|
@@ -35577,31 +37017,31 @@ let TreeBaseElement = class TreeBaseElement extends i$4 {
|
|
|
35577
37017
|
];
|
|
35578
37018
|
}
|
|
35579
37019
|
};
|
|
35580
|
-
__decorate([n$2({ type: Object })], TreeBaseElement.prototype, "root", void 0);
|
|
35581
|
-
__decorate([n$2({ attribute: false })], TreeBaseElement.prototype, "model", void 0);
|
|
35582
|
-
__decorate([n$2({ attribute: false })], TreeBaseElement.prototype, "loadChildren", void 0);
|
|
35583
|
-
__decorate([n$2({
|
|
37020
|
+
__decorate$1([n$2({ type: Object })], TreeBaseElement.prototype, "root", void 0);
|
|
37021
|
+
__decorate$1([n$2({ attribute: false })], TreeBaseElement.prototype, "model", void 0);
|
|
37022
|
+
__decorate$1([n$2({ attribute: false })], TreeBaseElement.prototype, "loadChildren", void 0);
|
|
37023
|
+
__decorate$1([n$2({
|
|
35584
37024
|
reflect: true,
|
|
35585
37025
|
attribute: `exclusivity`
|
|
35586
37026
|
})], TreeBaseElement.prototype, "exclusivity", void 0);
|
|
35587
|
-
__decorate([n$2({
|
|
37027
|
+
__decorate$1([n$2({
|
|
35588
37028
|
reflect: true,
|
|
35589
37029
|
attribute: `selection-filter`
|
|
35590
37030
|
})], TreeBaseElement.prototype, "selectionFilter", void 0);
|
|
35591
|
-
__decorate([n$2({
|
|
37031
|
+
__decorate$1([n$2({
|
|
35592
37032
|
type: String,
|
|
35593
37033
|
attribute: `interaction-mode`
|
|
35594
37034
|
})], TreeBaseElement.prototype, "interactionMode", void 0);
|
|
35595
|
-
__decorate([n$2({ attribute: false })], TreeBaseElement.prototype, "selectedNode", void 0);
|
|
35596
|
-
__decorate([r$1()], TreeBaseElement.prototype, "_selectedNodes", void 0);
|
|
35597
|
-
__decorate([n$2({ attribute: false })], TreeBaseElement.prototype, "filterPredicate", void 0);
|
|
35598
|
-
__decorate([n$2({
|
|
37035
|
+
__decorate$1([n$2({ attribute: false })], TreeBaseElement.prototype, "selectedNode", void 0);
|
|
37036
|
+
__decorate$1([r$1()], TreeBaseElement.prototype, "_selectedNodes", void 0);
|
|
37037
|
+
__decorate$1([n$2({ attribute: false })], TreeBaseElement.prototype, "filterPredicate", void 0);
|
|
37038
|
+
__decorate$1([n$2({
|
|
35599
37039
|
type: Boolean,
|
|
35600
37040
|
attribute: `disable-keyboard-navigation`
|
|
35601
37041
|
})], TreeBaseElement.prototype, "disableKeyboardNavigation", void 0);
|
|
35602
|
-
__decorate([r$1()], TreeBaseElement.prototype, "_expandedKeys", void 0);
|
|
35603
|
-
__decorate([r$1()], TreeBaseElement.prototype, "_focusedDepth", void 0);
|
|
35604
|
-
TreeBaseElement = __decorate([safeCustomElement(`ixfx-tree-base`)], TreeBaseElement);
|
|
37042
|
+
__decorate$1([r$1()], TreeBaseElement.prototype, "_expandedKeys", void 0);
|
|
37043
|
+
__decorate$1([r$1()], TreeBaseElement.prototype, "_focusedDepth", void 0);
|
|
37044
|
+
TreeBaseElement = __decorate$1([safeCustomElement(`ixfx-tree-base`)], TreeBaseElement);
|
|
35605
37045
|
//#endregion
|
|
35606
37046
|
//#region src/tree/tree-controller.ts
|
|
35607
37047
|
var TreeController = class {
|
|
@@ -35840,7 +37280,7 @@ let TreeListElement = class TreeListElement extends TreeBaseElement {
|
|
|
35840
37280
|
`];
|
|
35841
37281
|
}
|
|
35842
37282
|
};
|
|
35843
|
-
TreeListElement = __decorate([safeCustomElement(`ixfx-tree-list`)], TreeListElement);
|
|
37283
|
+
TreeListElement = __decorate$1([safeCustomElement(`ixfx-tree-list`)], TreeListElement);
|
|
35844
37284
|
//#endregion
|
|
35845
37285
|
//#region src/util/checkbox.ts
|
|
35846
37286
|
function isCheckboxLike(el) {
|
|
@@ -35894,34 +37334,6 @@ function monitorIndeterminate(targetElOrQuery, watchedElsOrQueries) {
|
|
|
35894
37334
|
};
|
|
35895
37335
|
}
|
|
35896
37336
|
//#endregion
|
|
35897
|
-
//#region node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/class-map.js
|
|
35898
|
-
/**
|
|
35899
|
-
* @license
|
|
35900
|
-
* Copyright 2018 Google LLC
|
|
35901
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
35902
|
-
*/ const e = e$3(class extends i$3 {
|
|
35903
|
-
constructor(t) {
|
|
35904
|
-
if (super(t), t.type !== t$2.ATTRIBUTE || "class" !== t.name || t.strings?.length > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
|
|
35905
|
-
}
|
|
35906
|
-
render(t) {
|
|
35907
|
-
return " " + Object.keys(t).filter((s) => t[s]).join(" ") + " ";
|
|
35908
|
-
}
|
|
35909
|
-
update(s, [i]) {
|
|
35910
|
-
if (void 0 === this.st) {
|
|
35911
|
-
this.st = /* @__PURE__ */ new Set(), void 0 !== s.strings && (this.nt = new Set(s.strings.join(" ").split(/\s/).filter((t) => "" !== t)));
|
|
35912
|
-
for (const t in i) i[t] && !this.nt?.has(t) && this.st.add(t);
|
|
35913
|
-
return this.render(i);
|
|
35914
|
-
}
|
|
35915
|
-
const r = s.element.classList;
|
|
35916
|
-
for (const t of this.st) t in i || (r.remove(t), this.st.delete(t));
|
|
35917
|
-
for (const t in i) {
|
|
35918
|
-
const s = !!i[t];
|
|
35919
|
-
s === this.st.has(t) || this.nt?.has(t) || (s ? (r.add(t), this.st.add(t)) : (r.remove(t), this.st.delete(t)));
|
|
35920
|
-
}
|
|
35921
|
-
return E;
|
|
35922
|
-
}
|
|
35923
|
-
});
|
|
35924
|
-
//#endregion
|
|
35925
37337
|
//#region src/util/is-numeric.ts
|
|
35926
37338
|
function isNumeric(str) {
|
|
35927
37339
|
if (typeof str === `number`) return true;
|
|
@@ -35991,11 +37403,11 @@ let TooltipElement = class TooltipElement extends i$4 {
|
|
|
35991
37403
|
return this;
|
|
35992
37404
|
}
|
|
35993
37405
|
};
|
|
35994
|
-
__decorate([n$2({ type: String })], TooltipElement.prototype, "orientation", void 0);
|
|
35995
|
-
__decorate([n$2({ type: String })], TooltipElement.prototype, "anchor", void 0);
|
|
35996
|
-
__decorate([n$2()], TooltipElement.prototype, "value", void 0);
|
|
35997
|
-
__decorate([n$2({ type: String })], TooltipElement.prototype, "icon", void 0);
|
|
35998
|
-
TooltipElement = _TooltipElement = __decorate([safeCustomElement(`ixfx-tooltip`)], TooltipElement);
|
|
37406
|
+
__decorate$1([n$2({ type: String })], TooltipElement.prototype, "orientation", void 0);
|
|
37407
|
+
__decorate$1([n$2({ type: String })], TooltipElement.prototype, "anchor", void 0);
|
|
37408
|
+
__decorate$1([n$2()], TooltipElement.prototype, "value", void 0);
|
|
37409
|
+
__decorate$1([n$2({ type: String })], TooltipElement.prototype, "icon", void 0);
|
|
37410
|
+
TooltipElement = _TooltipElement = __decorate$1([safeCustomElement(`ixfx-tooltip`)], TooltipElement);
|
|
35999
37411
|
//#endregion
|
|
36000
37412
|
//#region src/vertical-list/vertical-list.ts
|
|
36001
37413
|
const ITEM_SELECTOR = `li, [data-list-item]`;
|
|
@@ -36578,20 +37990,20 @@ let VerticalListElement = class VerticalListElement extends i$4 {
|
|
|
36578
37990
|
`;
|
|
36579
37991
|
}
|
|
36580
37992
|
};
|
|
36581
|
-
__decorate([n$2({
|
|
37993
|
+
__decorate$1([n$2({
|
|
36582
37994
|
type: String,
|
|
36583
37995
|
attribute: `selection-mode`
|
|
36584
37996
|
})], VerticalListElement.prototype, "selectionMode", void 0);
|
|
36585
|
-
__decorate([n$2({
|
|
37997
|
+
__decorate$1([n$2({
|
|
36586
37998
|
type: String,
|
|
36587
37999
|
attribute: `interaction-mode`
|
|
36588
38000
|
})], VerticalListElement.prototype, "interactionMode", void 0);
|
|
36589
|
-
__decorate([n$2({ attribute: false })], VerticalListElement.prototype, "filterPredicate", void 0);
|
|
36590
|
-
__decorate([r$1()], VerticalListElement.prototype, "_selectedItems", void 0);
|
|
36591
|
-
__decorate([r$1()], VerticalListElement.prototype, "_searchVisible", void 0);
|
|
36592
|
-
__decorate([r$1()], VerticalListElement.prototype, "_searchQuery", void 0);
|
|
36593
|
-
__decorate([e$4(`.search-input`)], VerticalListElement.prototype, "_searchInputEl", void 0);
|
|
36594
|
-
VerticalListElement = __decorate([safeCustomElement(`ixfx-vertical-list`)], VerticalListElement);
|
|
38001
|
+
__decorate$1([n$2({ attribute: false })], VerticalListElement.prototype, "filterPredicate", void 0);
|
|
38002
|
+
__decorate$1([r$1()], VerticalListElement.prototype, "_selectedItems", void 0);
|
|
38003
|
+
__decorate$1([r$1()], VerticalListElement.prototype, "_searchVisible", void 0);
|
|
38004
|
+
__decorate$1([r$1()], VerticalListElement.prototype, "_searchQuery", void 0);
|
|
38005
|
+
__decorate$1([e$4(`.search-input`)], VerticalListElement.prototype, "_searchInputEl", void 0);
|
|
38006
|
+
VerticalListElement = __decorate$1([safeCustomElement(`ixfx-vertical-list`)], VerticalListElement);
|
|
36595
38007
|
//#endregion
|
|
36596
38008
|
//#region src/xy-pad.ts
|
|
36597
38009
|
/**
|
|
@@ -36972,53 +38384,53 @@ let XyPad = class XyPad extends i$4 {
|
|
|
36972
38384
|
`;
|
|
36973
38385
|
}
|
|
36974
38386
|
};
|
|
36975
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "xMin", void 0);
|
|
36976
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "xMax", void 0);
|
|
36977
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "x", void 0);
|
|
36978
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "yMin", void 0);
|
|
36979
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "yMax", void 0);
|
|
36980
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "y", void 0);
|
|
36981
|
-
__decorate([n$2({ type: String })], XyPad.prototype, "xScale", void 0);
|
|
36982
|
-
__decorate([n$2({ type: String })], XyPad.prototype, "yScale", void 0);
|
|
36983
|
-
__decorate([n$2({
|
|
38387
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "xMin", void 0);
|
|
38388
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "xMax", void 0);
|
|
38389
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "x", void 0);
|
|
38390
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "yMin", void 0);
|
|
38391
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "yMax", void 0);
|
|
38392
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "y", void 0);
|
|
38393
|
+
__decorate$1([n$2({ type: String })], XyPad.prototype, "xScale", void 0);
|
|
38394
|
+
__decorate$1([n$2({ type: String })], XyPad.prototype, "yScale", void 0);
|
|
38395
|
+
__decorate$1([n$2({
|
|
36984
38396
|
type: Number,
|
|
36985
38397
|
attribute: `x-snap-step`
|
|
36986
38398
|
})], XyPad.prototype, "xSnapStep", void 0);
|
|
36987
|
-
__decorate([n$2({
|
|
38399
|
+
__decorate$1([n$2({
|
|
36988
38400
|
type: Number,
|
|
36989
38401
|
attribute: `y-snap-step`
|
|
36990
38402
|
})], XyPad.prototype, "ySnapStep", void 0);
|
|
36991
|
-
__decorate([n$2({ type: String })], XyPad.prototype, "xLabel", void 0);
|
|
36992
|
-
__decorate([n$2({ type: String })], XyPad.prototype, "yLabel", void 0);
|
|
36993
|
-
__decorate([n$2({
|
|
38403
|
+
__decorate$1([n$2({ type: String })], XyPad.prototype, "xLabel", void 0);
|
|
38404
|
+
__decorate$1([n$2({ type: String })], XyPad.prototype, "yLabel", void 0);
|
|
38405
|
+
__decorate$1([n$2({
|
|
36994
38406
|
type: Boolean,
|
|
36995
38407
|
reflect: true,
|
|
36996
38408
|
attribute: `show-crosshairs`
|
|
36997
38409
|
})], XyPad.prototype, "showCrosshairs", void 0);
|
|
36998
|
-
__decorate([n$2({
|
|
38410
|
+
__decorate$1([n$2({
|
|
36999
38411
|
type: Boolean,
|
|
37000
38412
|
reflect: true,
|
|
37001
38413
|
attribute: `show-grid`
|
|
37002
38414
|
})], XyPad.prototype, "showGrid", void 0);
|
|
37003
|
-
__decorate([n$2({
|
|
38415
|
+
__decorate$1([n$2({
|
|
37004
38416
|
type: Boolean,
|
|
37005
38417
|
reflect: true,
|
|
37006
38418
|
attribute: `hide-cursor`
|
|
37007
38419
|
})], XyPad.prototype, "hideCursor", void 0);
|
|
37008
|
-
__decorate([n$2({
|
|
38420
|
+
__decorate$1([n$2({
|
|
37009
38421
|
type: Boolean,
|
|
37010
38422
|
reflect: true
|
|
37011
38423
|
})], XyPad.prototype, "disabled", void 0);
|
|
37012
|
-
__decorate([n$2({ type: Number })], XyPad.prototype, "stops", void 0);
|
|
37013
|
-
__decorate([n$2({
|
|
38424
|
+
__decorate$1([n$2({ type: Number })], XyPad.prototype, "stops", void 0);
|
|
38425
|
+
__decorate$1([n$2({
|
|
37014
38426
|
type: Number,
|
|
37015
38427
|
attribute: `stops-x`
|
|
37016
38428
|
})], XyPad.prototype, "stopsX", void 0);
|
|
37017
|
-
__decorate([n$2({
|
|
38429
|
+
__decorate$1([n$2({
|
|
37018
38430
|
type: Number,
|
|
37019
38431
|
attribute: `stops-y`
|
|
37020
38432
|
})], XyPad.prototype, "stopsY", void 0);
|
|
37021
|
-
XyPad = __decorate([safeCustomElement(`ixfx-xy-pad`)], XyPad);
|
|
38433
|
+
XyPad = __decorate$1([safeCustomElement(`ixfx-xy-pad`)], XyPad);
|
|
37022
38434
|
//#endregion
|
|
37023
38435
|
//#region src/index.ts
|
|
37024
38436
|
function init() {
|