builder-settings-types 0.0.296 → 0.0.301
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Font.svg +3 -3
- package/dist/Opacity.svg +7 -7
- package/dist/Typography-Size.svg +3 -3
- package/dist/URL.svg +3 -3
- package/dist/Upload.svg +4 -4
- package/dist/Weight.svg +3 -3
- package/dist/align-centre.svg +4 -4
- package/dist/align-left.svg +4 -4
- package/dist/align-right.svg +4 -4
- package/dist/border-size.svg +3 -3
- package/dist/builder-settings-types.cjs.js +64 -37
- package/dist/builder-settings-types.es.js +706 -672
- package/dist/chevron-down.svg +5 -5
- package/dist/colors.svg +3 -3
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/margins-bottom.svg +3 -3
- package/dist/margins-left.svg +3 -3
- package/dist/margins-right.svg +3 -3
- package/dist/margins-top.svg +3 -3
- package/dist/radius.svg +3 -3
- package/dist/settings/gradient-settings/components/EmbeddedColorPicker.d.ts +28 -24
- package/dist/spacing-height.svg +3 -3
- package/dist/spacing-width.svg +3 -3
- package/package.json +1 -1
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
const
|
|
1
|
+
const gt = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
2
2
|
let lt = (c = 21) => {
|
|
3
3
|
let t = "", e = crypto.getRandomValues(new Uint8Array(c |= 0));
|
|
4
4
|
for (; c--; )
|
|
5
|
-
t +=
|
|
5
|
+
t += gt[e[c] & 63];
|
|
6
6
|
return t;
|
|
7
7
|
};
|
|
8
|
-
function
|
|
8
|
+
function mt(c) {
|
|
9
9
|
let t = 0, e = c.parentElement;
|
|
10
10
|
for (; e; )
|
|
11
11
|
e.classList.contains("setting-group") && e !== c && t++, e = e.parentElement;
|
|
12
12
|
return t;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
14
|
+
function q(c, t) {
|
|
15
15
|
const e = Math.min(Math.max(t, 0), 5);
|
|
16
16
|
c.setAttribute("data-nesting-level", e.toString()), e > 0 ? c.style.setProperty("--visual-indent", `${e * 2}px`) : (c.style.removeProperty("--visual-indent"), c.style.marginLeft = "");
|
|
17
17
|
}
|
|
18
|
-
function
|
|
18
|
+
function Q(c, t = 0) {
|
|
19
19
|
c.querySelectorAll(":scope > .setting-group-content > .setting-group").forEach((i) => {
|
|
20
20
|
const s = i, n = t + 1;
|
|
21
|
-
|
|
21
|
+
q(s, n), Q(s, n);
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
const
|
|
24
|
+
const ft = {
|
|
25
25
|
maxLevel: 5,
|
|
26
26
|
spacingMultiplier: 1,
|
|
27
27
|
visualIndentMultiplier: 2,
|
|
28
28
|
enableAutoDetection: !0
|
|
29
29
|
};
|
|
30
|
-
class
|
|
30
|
+
class vt {
|
|
31
31
|
constructor(t = {}) {
|
|
32
|
-
this.observedElements = /* @__PURE__ */ new Set(), this.config = { ...
|
|
32
|
+
this.observedElements = /* @__PURE__ */ new Set(), this.config = { ...ft, ...t }, this.config.enableAutoDetection && this.setupAutoDetection();
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Setup automatic detection using MutationObserver
|
|
@@ -63,7 +63,7 @@ class yt {
|
|
|
63
63
|
* Update nesting for a specific element
|
|
64
64
|
*/
|
|
65
65
|
updateElementNesting(t) {
|
|
66
|
-
const e =
|
|
66
|
+
const e = mt(t);
|
|
67
67
|
this.applyNestingWithConfig(t, e);
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
@@ -111,7 +111,7 @@ class yt {
|
|
|
111
111
|
this.observer && (this.observer.disconnect(), this.observer = void 0), this.observedElements.clear();
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
const it = new
|
|
114
|
+
const it = new vt();
|
|
115
115
|
function J(c) {
|
|
116
116
|
if (c === null || typeof c != "object") return c;
|
|
117
117
|
if (c instanceof Date) return new Date(c.getTime());
|
|
@@ -124,7 +124,7 @@ function J(c) {
|
|
|
124
124
|
}
|
|
125
125
|
return c;
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function Ct(c) {
|
|
128
128
|
switch (c) {
|
|
129
129
|
case "number":
|
|
130
130
|
return 0;
|
|
@@ -192,7 +192,7 @@ class b {
|
|
|
192
192
|
const i = document.createElement("div");
|
|
193
193
|
i.className = t.wrapperClassName || "";
|
|
194
194
|
const s = document.createElement("input");
|
|
195
|
-
this.inputEl = s, s.value = String(t.value ||
|
|
195
|
+
this.inputEl = s, s.value = String(t.value || Ct(t.inputType)), s.type = t.inputType, s.placeholder = t.placeholder || "", s.className = t.inputClassName || "", this.dataPropsPath && s.setAttribute("data-test-id", this.dataPropsPath);
|
|
196
196
|
const n = (a) => {
|
|
197
197
|
const l = a.target;
|
|
198
198
|
let r = l.value;
|
|
@@ -233,30 +233,30 @@ class b {
|
|
|
233
233
|
return i.className = "input-icon " + (e || ""), i.innerHTML = t, i;
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
-
function
|
|
236
|
+
function D(c) {
|
|
237
237
|
return c instanceof b;
|
|
238
238
|
}
|
|
239
239
|
function w(c) {
|
|
240
|
-
return c instanceof
|
|
240
|
+
return c instanceof T;
|
|
241
241
|
}
|
|
242
242
|
function st(c) {
|
|
243
|
-
return
|
|
243
|
+
return D(c) || w(c);
|
|
244
244
|
}
|
|
245
|
-
function
|
|
245
|
+
function W(c, t) {
|
|
246
246
|
for (const e in c)
|
|
247
247
|
if (Object.prototype.hasOwnProperty.call(c, e)) {
|
|
248
248
|
const i = c[e];
|
|
249
249
|
t(e, i);
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
-
const
|
|
252
|
+
const K = class K {
|
|
253
253
|
constructor(t) {
|
|
254
254
|
this.elementRef = null, this.isHidden = !1, this.custom = !1, this.initialValues = {}, this.changeTimeout = null, this.isHandlingChange = !1, this.changeHandlers = /* @__PURE__ */ new Set(), this.blurTimeout = null, this.lastChangeTime = 0, this.handleBlur = () => {
|
|
255
255
|
}, this.pendingBlurHandler = null, this.originalDefaultValues = {}, this.nestingLevel = 0, this.dataPropsPath = "", this.hide = !1, this.id = t.id || lt(), this.title = t.title, this.settings = t.settings, this.isCollapsed = t.collapsed ?? !1, this.isMain = t.main ?? !1, this.custom = t.custom ?? !1, this.nestingLevel = 0, this.includeGetJson = t.includeGetJson ?? !0, this.addItemCfg = t.addItem, this.deleteItemCfg = t.deleteItem, this.dataProps = t.dataProps, this.dataPropsPath = t.dataProps || "", this.hide = t.hide ?? !1, Object.assign(this, t.settings), this.initialValues = this.getValues(), this.originalDefaultValues = this.getDefaultValues(), this.propagateNestingLevel(), this.propagateDataPropsPath();
|
|
256
256
|
}
|
|
257
257
|
propagateNestingLevel() {
|
|
258
258
|
const t = this.nestingLevel + 1;
|
|
259
|
-
|
|
259
|
+
W(this.settings, (e, i) => {
|
|
260
260
|
w(i) && (i.nestingLevel = t, i.propagateNestingLevel());
|
|
261
261
|
});
|
|
262
262
|
}
|
|
@@ -273,13 +273,13 @@ const Z = class Z {
|
|
|
273
273
|
this.dataPropsPath = t, this.propagateDataPropsPath();
|
|
274
274
|
}
|
|
275
275
|
propagateDataPropsPath() {
|
|
276
|
-
|
|
276
|
+
W(this.settings, (t, e) => {
|
|
277
277
|
const i = String(t), s = this.dataPropsPath ? `${this.dataPropsPath}_${i}` : i;
|
|
278
|
-
(w(e) ||
|
|
278
|
+
(w(e) || D(e) && typeof e.setDataPropsPath == "function") && e.setDataPropsPath(s);
|
|
279
279
|
});
|
|
280
280
|
}
|
|
281
281
|
updateNestingStyles() {
|
|
282
|
-
this.elementRef && (
|
|
282
|
+
this.elementRef && (q(this.elementRef, this.nestingLevel), Q(this.elementRef, this.nestingLevel));
|
|
283
283
|
}
|
|
284
284
|
forceChildUIRefresh() {
|
|
285
285
|
Object.entries(this.settings).forEach(([t, e]) => {
|
|
@@ -328,7 +328,7 @@ const Z = class Z {
|
|
|
328
328
|
}
|
|
329
329
|
clone() {
|
|
330
330
|
const t = {};
|
|
331
|
-
|
|
331
|
+
W(this.settings, (s, n) => {
|
|
332
332
|
const o = String(s);
|
|
333
333
|
typeof n.clone == "function" ? t[o] = n.clone() : (console.warn(
|
|
334
334
|
`Setting with key '${o}' does not have a clone method. Copying reference.`
|
|
@@ -345,7 +345,7 @@ const Z = class Z {
|
|
|
345
345
|
deleteItem: this.deleteItemCfg,
|
|
346
346
|
dataProps: this.dataProps,
|
|
347
347
|
hide: this.hide
|
|
348
|
-
}, i =
|
|
348
|
+
}, i = Et(e);
|
|
349
349
|
return i.initialValues = this.getValues(), i;
|
|
350
350
|
}
|
|
351
351
|
resetDefault() {
|
|
@@ -355,7 +355,7 @@ const Z = class Z {
|
|
|
355
355
|
setMobileValues(t) {
|
|
356
356
|
!t || typeof t != "object" || (Object.entries(t).forEach(([e, i]) => {
|
|
357
357
|
const s = this.settings[e];
|
|
358
|
-
s && (w(s) ||
|
|
358
|
+
s && (w(s) || D(s)) && typeof s.setMobileValue == "function" && s.setMobileValue(i);
|
|
359
359
|
}), this.setValue(t), this.onChange && this.onChange(this.getValues()));
|
|
360
360
|
}
|
|
361
361
|
getMobileValues(t) {
|
|
@@ -391,14 +391,14 @@ const Z = class Z {
|
|
|
391
391
|
Object.keys(s).length > 0 && (this.lastChangeTime = Date.now(), this.initialValues = i, t(i), this.updateVisibility()), this.isHandlingChange = !1;
|
|
392
392
|
}, 50));
|
|
393
393
|
};
|
|
394
|
-
return this.changeHandlers.clear(),
|
|
394
|
+
return this.changeHandlers.clear(), W(this.settings, (i, s) => {
|
|
395
395
|
var n;
|
|
396
396
|
if (w(s))
|
|
397
397
|
s.setOnChange(() => {
|
|
398
398
|
const o = this.getValues();
|
|
399
399
|
this.initialValues = o, t(o);
|
|
400
400
|
}), this.changeHandlers.add(() => t(this.getValues()));
|
|
401
|
-
else if (
|
|
401
|
+
else if (D(s)) {
|
|
402
402
|
const o = () => e();
|
|
403
403
|
this.changeHandlers.add(o), s.setOnChange(o);
|
|
404
404
|
} else {
|
|
@@ -424,7 +424,7 @@ const Z = class Z {
|
|
|
424
424
|
st(l) && (this.addSetting(i, l), n = l);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
|
-
n && (w(n) ||
|
|
427
|
+
n && (w(n) || D(n)) && typeof n.setValue == "function" && n.setValue(s);
|
|
428
428
|
}), setTimeout(() => {
|
|
429
429
|
this.forceChildUIRefresh();
|
|
430
430
|
}, 0);
|
|
@@ -438,7 +438,7 @@ const Z = class Z {
|
|
|
438
438
|
const s = this.getValues();
|
|
439
439
|
this.initialValues = s, (n = this.onChange) == null || n.call(this, s), this.updateVisibility();
|
|
440
440
|
};
|
|
441
|
-
w(t) ? t.setOnChange(() => e()) :
|
|
441
|
+
w(t) ? t.setOnChange(() => e()) : D(t) ? t.setOnChange(() => e()) : (i = t.setOnChange) == null || i.call(t, () => e());
|
|
442
442
|
}
|
|
443
443
|
addSetting(t, e) {
|
|
444
444
|
var s, n;
|
|
@@ -450,13 +450,13 @@ const Z = class Z {
|
|
|
450
450
|
w(e) && typeof e.setNestingLevel == "function" && e.setNestingLevel(this.nestingLevel + 1);
|
|
451
451
|
const a = e.draw(), l = this.deleteItemCfg ?? this.addItemCfg;
|
|
452
452
|
if (l) {
|
|
453
|
-
const
|
|
454
|
-
|
|
453
|
+
const p = l.keyPrefix ?? ((s = this.addItemCfg) == null ? void 0 : s.keyPrefix);
|
|
454
|
+
p && t.startsWith(p) && this.addDeleteButtonToElement(a, t);
|
|
455
455
|
}
|
|
456
456
|
const r = o.querySelector(".sg-add-button-bottom");
|
|
457
|
-
r ? o.insertBefore(a, r) : o.appendChild(a), it.trackElement(a),
|
|
458
|
-
const
|
|
459
|
-
a.style.display = "none", a.offsetHeight, a.style.display =
|
|
457
|
+
r ? o.insertBefore(a, r) : o.appendChild(a), it.trackElement(a), q(a, this.nestingLevel + 1), Q(a, this.nestingLevel + 1);
|
|
458
|
+
const h = a.style.display;
|
|
459
|
+
a.style.display = "none", a.offsetHeight, a.style.display = h, this.updateNestingStyles();
|
|
460
460
|
}
|
|
461
461
|
}
|
|
462
462
|
const i = this.getValues();
|
|
@@ -473,9 +473,9 @@ const Z = class Z {
|
|
|
473
473
|
const r = Array.from(
|
|
474
474
|
t.querySelectorAll(".setting-group-title")
|
|
475
475
|
);
|
|
476
|
-
for (const
|
|
477
|
-
if (
|
|
478
|
-
s =
|
|
476
|
+
for (const h of r)
|
|
477
|
+
if (h.closest(".setting-group") === t) {
|
|
478
|
+
s = h;
|
|
479
479
|
break;
|
|
480
480
|
}
|
|
481
481
|
s || (s = r[0] ?? null);
|
|
@@ -508,8 +508,8 @@ const Z = class Z {
|
|
|
508
508
|
}), o.addEventListener("mouseleave", () => {
|
|
509
509
|
o.style.backgroundColor = "transparent";
|
|
510
510
|
}), o.addEventListener("click", (r) => {
|
|
511
|
-
r.stopPropagation(), r.preventDefault(), this.showDeleteConfirmation().then((
|
|
512
|
-
|
|
511
|
+
r.stopPropagation(), r.preventDefault(), this.showDeleteConfirmation().then((h) => {
|
|
512
|
+
h && (i && i.deleteItemCfg ? this.removeSetting(e) : this.removeSetting(e));
|
|
513
513
|
});
|
|
514
514
|
});
|
|
515
515
|
const l = n.querySelector(".setting-group-arrow");
|
|
@@ -603,13 +603,13 @@ const Z = class Z {
|
|
|
603
603
|
r(), t(!1);
|
|
604
604
|
}), l.addEventListener("click", () => {
|
|
605
605
|
r(), t(!0);
|
|
606
|
-
}), e.addEventListener("click", (
|
|
607
|
-
|
|
606
|
+
}), e.addEventListener("click", (p) => {
|
|
607
|
+
p.target === e && (r(), t(!1));
|
|
608
608
|
});
|
|
609
|
-
const
|
|
610
|
-
|
|
609
|
+
const h = (p) => {
|
|
610
|
+
p.key === "Escape" && (r(), t(!1), document.removeEventListener("keydown", h));
|
|
611
611
|
};
|
|
612
|
-
document.addEventListener("keydown",
|
|
612
|
+
document.addEventListener("keydown", h), o.appendChild(a), o.appendChild(l), i.appendChild(s), i.appendChild(n), i.appendChild(o), e.appendChild(i), document.body.appendChild(e), requestAnimationFrame(() => {
|
|
613
613
|
e.style.opacity = "1", i.style.transform = "scale(1)";
|
|
614
614
|
}), setTimeout(() => l.focus(), 100);
|
|
615
615
|
});
|
|
@@ -705,7 +705,7 @@ const Z = class Z {
|
|
|
705
705
|
}
|
|
706
706
|
draw() {
|
|
707
707
|
const t = document.createElement("div");
|
|
708
|
-
t.className = "setting-group", t.id = `setting-group-${this.id}`,
|
|
708
|
+
t.className = "setting-group", t.id = `setting-group-${this.id}`, K.hiddenElements.add(t), this.hide && (t.style.display = "none"), this.isMain && t.classList.add("main-group"), this.custom && t.classList.add("custom_class"), q(t, this.nestingLevel);
|
|
709
709
|
const e = document.createElement("div");
|
|
710
710
|
e.className = "setting-group-title", this.isCollapsed && e.classList.add("collapsed-view"), e.setAttribute("role", "button"), e.setAttribute(
|
|
711
711
|
"aria-expanded",
|
|
@@ -731,41 +731,41 @@ const Z = class Z {
|
|
|
731
731
|
(!this.isCollapsed).toString()
|
|
732
732
|
);
|
|
733
733
|
};
|
|
734
|
-
if (e.onclick = l, e.onkeydown = (
|
|
735
|
-
(
|
|
734
|
+
if (e.onclick = l, e.onkeydown = (h) => {
|
|
735
|
+
(h.key === "Enter" || h.key === " ") && (h.preventDefault(), l());
|
|
736
736
|
}, Object.keys(this.settings).length > 0) {
|
|
737
|
-
for (const
|
|
738
|
-
if (Object.prototype.hasOwnProperty.call(this.settings,
|
|
739
|
-
const
|
|
740
|
-
w(
|
|
741
|
-
const
|
|
742
|
-
w(
|
|
743
|
-
p,
|
|
737
|
+
for (const h in this.settings)
|
|
738
|
+
if (Object.prototype.hasOwnProperty.call(this.settings, h)) {
|
|
739
|
+
const p = this.settings[h];
|
|
740
|
+
w(p) && typeof p.setNestingLevel == "function" && p.setNestingLevel(this.nestingLevel + 1);
|
|
741
|
+
const d = p.draw();
|
|
742
|
+
w(p) && p.deleteItemCfg && this.addDeleteButtonToElement(
|
|
744
743
|
d,
|
|
745
|
-
h
|
|
746
|
-
|
|
744
|
+
h,
|
|
745
|
+
p
|
|
746
|
+
), a.appendChild(d);
|
|
747
747
|
}
|
|
748
748
|
} else {
|
|
749
|
-
const
|
|
750
|
-
|
|
749
|
+
const h = document.createElement("div");
|
|
750
|
+
h.className = "setting-group-empty", h.textContent = "No settings in this group", a.appendChild(h);
|
|
751
751
|
}
|
|
752
752
|
if (this.addItemCfg) {
|
|
753
|
-
const
|
|
754
|
-
|
|
755
|
-
const
|
|
753
|
+
const h = document.createElement("button");
|
|
754
|
+
h.type = "button", h.className = "sg-add-button-bottom", h.style.marginTop = "8px";
|
|
755
|
+
const p = `
|
|
756
756
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none"
|
|
757
757
|
xmlns="http://www.w3.org/2000/svg">
|
|
758
758
|
<path d="M8 3.333v9.334M3.333 8h9.334" stroke="currentColor"
|
|
759
759
|
stroke-width="1.5" stroke-linecap="round"/>
|
|
760
760
|
</svg>`;
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
const u = this.getNextIndexFromPrefix(this.addItemCfg.keyPrefix),
|
|
764
|
-
if (st(
|
|
761
|
+
h.innerHTML = `${p}<span style="margin-left:4px;">${this.addItemCfg.buttonLabel ?? "Add"}</span>`, h.addEventListener("click", (d) => {
|
|
762
|
+
d.stopPropagation(), d.preventDefault();
|
|
763
|
+
const u = this.getNextIndexFromPrefix(this.addItemCfg.keyPrefix), m = this.addItemCfg.createItem(u);
|
|
764
|
+
if (st(m)) {
|
|
765
765
|
const f = `${this.addItemCfg.keyPrefix}${u}`;
|
|
766
|
-
this.addSetting(f,
|
|
766
|
+
this.addSetting(f, m);
|
|
767
767
|
}
|
|
768
|
-
}), a.appendChild(
|
|
768
|
+
}), a.appendChild(h);
|
|
769
769
|
}
|
|
770
770
|
return e.appendChild(i), e.appendChild(n), t.appendChild(e), t.appendChild(a), this.elementRef = t, it.trackElement(t), setTimeout(() => {
|
|
771
771
|
this.updateNestingStyles();
|
|
@@ -809,12 +809,12 @@ const Z = class Z {
|
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
};
|
|
812
|
-
|
|
813
|
-
let
|
|
812
|
+
K.hiddenElements = /* @__PURE__ */ new Set();
|
|
813
|
+
let T = K;
|
|
814
814
|
function oe(c) {
|
|
815
|
-
return new
|
|
815
|
+
return new yt(c);
|
|
816
816
|
}
|
|
817
|
-
class
|
|
817
|
+
class yt extends T {
|
|
818
818
|
constructor(t) {
|
|
819
819
|
super(t);
|
|
820
820
|
const e = Object.keys(this.settings)[0];
|
|
@@ -852,12 +852,12 @@ class bt extends P {
|
|
|
852
852
|
if (o.className = "tab-content", this.contentContainers = {}, Object.keys(this.settings).forEach((a, l) => {
|
|
853
853
|
const r = document.createElement("button");
|
|
854
854
|
r.className = "tab-button", r.type = "button", r.setAttribute("data-tab-id", a), r.textContent = a, r.addEventListener("click", () => this.switchToTab(a)), n.appendChild(r);
|
|
855
|
-
const
|
|
856
|
-
|
|
857
|
-
const
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
)), o.appendChild(
|
|
855
|
+
const h = document.createElement("div");
|
|
856
|
+
h.className = "tab-panel", this.contentContainers[a] = h;
|
|
857
|
+
const p = this.settings[a];
|
|
858
|
+
p && (w(p) && typeof p.setNestingLevel == "function" && p.setNestingLevel(this.getNestingLevel() + 1), h.appendChild(
|
|
859
|
+
p.draw()
|
|
860
|
+
)), o.appendChild(h), l === 0 && !this.activeTabId && (this.activeTabId = a);
|
|
861
861
|
}), e.appendChild(i), e.appendChild(n), e.appendChild(o), !this.activeTabId) {
|
|
862
862
|
const a = Object.keys(this.settings)[0];
|
|
863
863
|
this.activeTabId = a || "";
|
|
@@ -865,13 +865,13 @@ class bt extends P {
|
|
|
865
865
|
return this.updateTabUI(), t;
|
|
866
866
|
}
|
|
867
867
|
}
|
|
868
|
-
function
|
|
869
|
-
return new
|
|
868
|
+
function Et(c) {
|
|
869
|
+
return new T(c);
|
|
870
870
|
}
|
|
871
871
|
function ae(c) {
|
|
872
872
|
return c;
|
|
873
873
|
}
|
|
874
|
-
class
|
|
874
|
+
class bt extends b {
|
|
875
875
|
constructor(t = {}) {
|
|
876
876
|
super(t), this.inputType = "text", t.onChange && this.setOnChange(t.onChange);
|
|
877
877
|
}
|
|
@@ -891,29 +891,29 @@ class xt extends b {
|
|
|
891
891
|
});
|
|
892
892
|
}
|
|
893
893
|
}
|
|
894
|
-
const
|
|
895
|
-
class
|
|
894
|
+
const wt = "<svg xmlns='http://www.w3.org/2000/svg' width='18' height='19' viewBox='0 0 18 19' fill='none'><path d='M8.99999 15.8542C9.79613 16.5667 10.8475 17 12 17C14.4853 17 16.5 14.9853 16.5 12.5C16.5 10.4248 15.0953 8.67769 13.1849 8.15763M4.81513 8.15762C2.9047 8.67768 1.5 10.4248 1.5 12.5C1.5 14.9853 3.51472 17 6 17C8.48528 17 10.5 14.9853 10.5 12.5C10.5 11.9146 10.3882 11.3554 10.1849 10.8424M13.5 6.5C13.5 8.98528 11.4853 11 9 11C6.51472 11 4.5 8.98528 4.5 6.5C4.5 4.01472 6.51472 2 9 2C11.4853 2 13.5 4.01472 13.5 6.5Z' stroke='#667085' stroke-linecap='round' stroke-linejoin='round'/></svg>";
|
|
895
|
+
class M extends bt {
|
|
896
896
|
constructor(t) {
|
|
897
897
|
super({
|
|
898
898
|
...t,
|
|
899
|
-
icon: t.icon ||
|
|
899
|
+
icon: t.icon || wt,
|
|
900
900
|
title: t.title || "Color",
|
|
901
|
-
default: t.default ?
|
|
901
|
+
default: t.default ? M.normalizeColorValue(t.default) : "#000000"
|
|
902
902
|
}), this.inputType = "color", this.element = null, this.colorInputEl = null, this.textInputEl = null, this.detectChange = t.detectChange;
|
|
903
903
|
}
|
|
904
904
|
static normalizeColorValue(t) {
|
|
905
|
-
return t.startsWith("#") ?
|
|
905
|
+
return t.startsWith("#") ? M.normalizeHexValue(t) : t.includes(",") ? M.rgbToHexStatic(t) : M.normalizeHexValue(t);
|
|
906
906
|
}
|
|
907
907
|
static normalizeHexValue(t) {
|
|
908
908
|
return t = t.replace("#", ""), t.length === 3 && (t = t.split("").map((e) => e + e).join("")), t.length !== 6 ? (console.warn(`Invalid hex value "${t}", using default "#000000"`), "#000000") : /^[0-9A-Fa-f]{6}$/.test(t) ? `#${t.toLowerCase()}` : (console.warn(`Invalid hex value "${t}", using default "#000000"`), "#000000");
|
|
909
909
|
}
|
|
910
910
|
static rgbToHexStatic(t) {
|
|
911
|
-
const e = t.split(",").map((
|
|
911
|
+
const e = t.split(",").map((h) => parseInt(h.trim()));
|
|
912
912
|
if (e.length !== 3 || e.some(isNaN))
|
|
913
913
|
return console.warn(`Invalid RGB value "${t}", using default "#000000"`), "#000000";
|
|
914
|
-
const [i, s, n] = e, o = Math.max(0, Math.min(255, i)), a = Math.max(0, Math.min(255, s)), l = Math.max(0, Math.min(255, n)), r = (
|
|
915
|
-
const
|
|
916
|
-
return
|
|
914
|
+
const [i, s, n] = e, o = Math.max(0, Math.min(255, i)), a = Math.max(0, Math.min(255, s)), l = Math.max(0, Math.min(255, n)), r = (h) => {
|
|
915
|
+
const p = h.toString(16);
|
|
916
|
+
return p.length === 1 ? "0" + p : p;
|
|
917
917
|
};
|
|
918
918
|
return `#${r(o)}${r(a)}${r(l)}`;
|
|
919
919
|
}
|
|
@@ -923,7 +923,7 @@ class S extends xt {
|
|
|
923
923
|
return;
|
|
924
924
|
}
|
|
925
925
|
if (typeof t == "string") {
|
|
926
|
-
const e =
|
|
926
|
+
const e = M.normalizeColorValue(t);
|
|
927
927
|
this.value = e, this.colorInputEl && (this.colorInputEl.value = e), this.textInputEl && (this.textInputEl.value = e), this.onChange && this.onChange(e), this.props.detectChange && this.props.detectChange(e);
|
|
928
928
|
} else
|
|
929
929
|
this.value = "#000000", this.colorInputEl && (this.colorInputEl.value = "#000000"), this.textInputEl && (this.textInputEl.value = "#000000"), this.onChange && this.onChange("#000000"), this.props.detectChange && this.props.detectChange("#000000");
|
|
@@ -953,8 +953,8 @@ class S extends xt {
|
|
|
953
953
|
const r = l.value.trim();
|
|
954
954
|
if (!r)
|
|
955
955
|
return e.classList.remove("error"), !0;
|
|
956
|
-
const
|
|
957
|
-
return
|
|
956
|
+
const p = /^#([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/.test(r);
|
|
957
|
+
return p ? e.classList.remove("error") : e.classList.add("error"), p;
|
|
958
958
|
}, s = document.createElement("input");
|
|
959
959
|
s.type = "color", s.className = "color-picker", s.value = this.value || "#000000", s.setAttribute("aria-label", "Choose color"), s.setAttribute("title", "Click to open color picker"), this.getDataPropsPath() && s.setAttribute("data-test-id", this.getDataPropsPath()), this.colorInputEl = s;
|
|
960
960
|
const n = document.createElement("div");
|
|
@@ -963,20 +963,20 @@ class S extends xt {
|
|
|
963
963
|
n.style.backgroundColor = o;
|
|
964
964
|
const a = document.createElement("input");
|
|
965
965
|
return a.type = "text", a.className = "color-text-input", a.value = this.value || "", a.placeholder = "#000000", a.setAttribute("pattern", "#[0-9A-Fa-f]{6}"), a.setAttribute("title", "Enter a hex color value (e.g., #ff0000)"), a.setAttribute("aria-label", "Hex color value"), a.setAttribute("maxlength", "7"), this.getDataPropsPath() && a.setAttribute("data-test-id", `${this.getDataPropsPath()}_text`), this.textInputEl = a, this.textInputEl.addEventListener("input", (l) => {
|
|
966
|
-
var
|
|
966
|
+
var h, p;
|
|
967
967
|
let r = l.target.value.trim();
|
|
968
968
|
if (this.textInputEl && i(this.textInputEl)) {
|
|
969
|
-
const
|
|
970
|
-
this.value =
|
|
969
|
+
const d = M.normalizeColorValue(r);
|
|
970
|
+
this.value = d, (h = this.onChange) == null || h.call(this, d), (p = this.detectChange) == null || p.call(this, d), this.colorInputEl && (this.colorInputEl.value = d), n.style.backgroundColor = d;
|
|
971
971
|
}
|
|
972
972
|
}), this.colorInputEl.addEventListener("input", (l) => {
|
|
973
|
-
var
|
|
974
|
-
const r = l.target.value,
|
|
975
|
-
this.value =
|
|
973
|
+
var p, d;
|
|
974
|
+
const r = l.target.value, h = M.normalizeColorValue(r);
|
|
975
|
+
this.value = h, (p = this.onChange) == null || p.call(this, h), (d = this.detectChange) == null || d.call(this, h), this.textInputEl && (this.textInputEl.value = h), n.style.backgroundColor = h, e.classList.remove("error");
|
|
976
976
|
}), this.colorInputEl.addEventListener("change", (l) => {
|
|
977
|
-
var
|
|
978
|
-
const r = l.target.value,
|
|
979
|
-
this.value =
|
|
977
|
+
var p, d;
|
|
978
|
+
const r = l.target.value, h = M.normalizeColorValue(r);
|
|
979
|
+
this.value = h, (p = this.onChange) == null || p.call(this, h), (d = this.detectChange) == null || d.call(this, h), this.textInputEl && (this.textInputEl.value = h), n.style.backgroundColor = h;
|
|
980
980
|
}), e.appendChild(s), e.appendChild(n), e.appendChild(a), t.appendChild(e), this.element = t, t;
|
|
981
981
|
}
|
|
982
982
|
getElement() {
|
|
@@ -984,7 +984,7 @@ class S extends xt {
|
|
|
984
984
|
}
|
|
985
985
|
// Helper method to get normalized hex value
|
|
986
986
|
getNormalizedValue() {
|
|
987
|
-
return this.value ?
|
|
987
|
+
return this.value ? M.normalizeColorValue(this.value) : "#000000";
|
|
988
988
|
}
|
|
989
989
|
// Helper method to check if current value is valid hex
|
|
990
990
|
isValidHex() {
|
|
@@ -995,20 +995,20 @@ class S extends xt {
|
|
|
995
995
|
return this.isValidHex() ? this.hexToRgb(this.value) : "0, 0, 0";
|
|
996
996
|
}
|
|
997
997
|
}
|
|
998
|
-
const
|
|
998
|
+
const xt = `
|
|
999
999
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1000
1000
|
<path d="M8.99999 15.8542C9.79613 16.5667 10.8475 17 12 17C14.4853 17 16.5 14.9853 16.5 12.5C16.5 10.4248 15.0953 8.67769 13.1849 8.15763M4.81513 8.15762C2.9047 8.67768 1.5 10.4248 1.5 12.5C1.5 14.9853 3.51472 17 6 17C8.48528 17 10.5 14.9853 10.5 12.5C10.5 11.9146 10.3882 11.3554 10.1849 10.8424M13.5 6.5C13.5 8.98528 11.4853 11 9 11C6.51472 11 4.5 8.98528 4.5 6.5C4.5 4.01472 6.51472 2 9 2C11.4853 2 13.5 4.01472 13.5 6.5Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1001
1001
|
<path d="M9 17C13.4183 17 17 13.4183 17 9C17 4.58172 13.4183 1 9 1C4.58172 1 1 4.58172 1 9C1 13.4183 4.58172 17 9 17Z" stroke="#667085" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.5"/>
|
|
1002
1002
|
<path d="M9 1V17C4.58172 17 1 13.4183 1 9C1 4.58172 4.58172 1 9 1Z" fill="#667085" stroke="#667085" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round" opacity="0.5"/>
|
|
1003
1003
|
</svg>`;
|
|
1004
|
-
class
|
|
1004
|
+
class R extends b {
|
|
1005
1005
|
constructor(t = {}) {
|
|
1006
1006
|
super({
|
|
1007
1007
|
...t,
|
|
1008
|
-
icon: t.icon ||
|
|
1008
|
+
icon: t.icon || xt,
|
|
1009
1009
|
title: t.title || "Color & Opacity",
|
|
1010
1010
|
default: t.default || "#000000FF"
|
|
1011
|
-
}), this.inputType = "color", this.element = null, this.colorInputEl = null, this.textInputEl = null, this.opacityInputEl = null, this.colorPreviewEl = null, this.detectChange = t.detectChange, this.value && (this.value =
|
|
1011
|
+
}), this.inputType = "color", this.element = null, this.colorInputEl = null, this.textInputEl = null, this.opacityInputEl = null, this.colorPreviewEl = null, this.detectChange = t.detectChange, this.value && (this.value = R.normalizeHexWithOpacity(this.value));
|
|
1012
1012
|
}
|
|
1013
1013
|
static normalizeHexWithOpacity(t) {
|
|
1014
1014
|
return t = t.replace("#", ""), t.length === 3 && (t = t.split("").map((e) => e + e).join("")), t.length === 6 && (t = t + "FF"), t.length === 8 && /^[0-9A-Fa-f]{8}$/.test(t) ? `#${t.toUpperCase()}` : (console.warn(`Invalid hex value "${t}", using default "#000000FF"`), "#000000FF");
|
|
@@ -1026,7 +1026,7 @@ class B extends b {
|
|
|
1026
1026
|
return `#${i}${n}`;
|
|
1027
1027
|
}
|
|
1028
1028
|
setValue(t) {
|
|
1029
|
-
t === void 0 || t === "" ? this.value = "#000000FF" : this.value =
|
|
1029
|
+
t === void 0 || t === "" ? this.value = "#000000FF" : this.value = R.normalizeHexWithOpacity(t), this.updateInputElements(), this.updateColorPreview(), this.onChange && this.onChange(this.value), this.detectChange && this.detectChange(this.value);
|
|
1030
1030
|
}
|
|
1031
1031
|
updateInputElements() {
|
|
1032
1032
|
this.value && (this.colorInputEl && (this.colorInputEl.value = this.getRgbColor()), this.textInputEl && (this.textInputEl.value = this.value), this.opacityInputEl && (this.opacityInputEl.value = this.getOpacityPercent().toString()));
|
|
@@ -1037,7 +1037,7 @@ class B extends b {
|
|
|
1037
1037
|
this.colorPreviewEl.style.backgroundColor = `rgba(${s}, ${n}, ${o}, ${e})`;
|
|
1038
1038
|
}
|
|
1039
1039
|
handleColorChange(t) {
|
|
1040
|
-
const e = this.getOpacityPercent(), i =
|
|
1040
|
+
const e = this.getOpacityPercent(), i = R.combineColorOpacity(
|
|
1041
1041
|
t,
|
|
1042
1042
|
e
|
|
1043
1043
|
);
|
|
@@ -1048,7 +1048,7 @@ class B extends b {
|
|
|
1048
1048
|
return e || i ? (this.setValue(t), !0) : !1;
|
|
1049
1049
|
}
|
|
1050
1050
|
handleOpacityChange(t) {
|
|
1051
|
-
const e = this.getRgbColor(), i = Math.max(0, Math.min(100, t)), s =
|
|
1051
|
+
const e = this.getRgbColor(), i = Math.max(0, Math.min(100, t)), s = R.combineColorOpacity(
|
|
1052
1052
|
e,
|
|
1053
1053
|
i
|
|
1054
1054
|
);
|
|
@@ -1155,7 +1155,7 @@ class le extends b {
|
|
|
1155
1155
|
return e.addEventListener("input", i), e.addEventListener("change", i), e.addEventListener("blur", s), t.appendChild(e), t;
|
|
1156
1156
|
}
|
|
1157
1157
|
}
|
|
1158
|
-
class
|
|
1158
|
+
class S extends b {
|
|
1159
1159
|
constructor(t) {
|
|
1160
1160
|
super(t), this.inputType = "number", this.inputElement = null, this.mobileValue = t.mobile, this.validateProps(), this.value = this.validateValue(this.value);
|
|
1161
1161
|
}
|
|
@@ -1214,12 +1214,12 @@ class N extends b {
|
|
|
1214
1214
|
);
|
|
1215
1215
|
}
|
|
1216
1216
|
}
|
|
1217
|
-
const
|
|
1217
|
+
const Lt = `
|
|
1218
1218
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1219
1219
|
<path d="M9 17C13.4183 17 17 13.4183 17 9C17 4.58172 13.4183 1 9 1C4.58172 1 1 4.58172 1 9C1 13.4183 4.58172 17 9 17Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1220
1220
|
<path d="M9 1V17C4.58172 17 1 13.4183 1 9C1 4.58172 4.58172 1 9 1Z" fill="#667085" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1221
1221
|
</svg>`;
|
|
1222
|
-
class
|
|
1222
|
+
class kt extends S {
|
|
1223
1223
|
constructor(t = {}) {
|
|
1224
1224
|
const e = {
|
|
1225
1225
|
title: "Opacity",
|
|
@@ -1228,7 +1228,7 @@ class St extends N {
|
|
|
1228
1228
|
maxValue: 100,
|
|
1229
1229
|
step: 1,
|
|
1230
1230
|
default: t.default ?? 100,
|
|
1231
|
-
icon:
|
|
1231
|
+
icon: Lt,
|
|
1232
1232
|
...t
|
|
1233
1233
|
};
|
|
1234
1234
|
super(e), this.inputType = "number", this.mobileValue = t.mobile;
|
|
@@ -1240,12 +1240,12 @@ class St extends N {
|
|
|
1240
1240
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1241
1241
|
}
|
|
1242
1242
|
}
|
|
1243
|
-
const
|
|
1243
|
+
const Mt = `
|
|
1244
1244
|
<svg xmlns="http://www.w3.org/2000/svg" class="svg-select" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
1245
1245
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
1246
1246
|
</svg>
|
|
1247
1247
|
`;
|
|
1248
|
-
class
|
|
1248
|
+
class tt extends b {
|
|
1249
1249
|
constructor(t = {}) {
|
|
1250
1250
|
if (super(t), this.inputType = "select", this._options = [], this.isOpen = !1, this.selectedOptionIndex = null, this.optionsListEl = null, this.svgContainer = null, this.buttonEl = null, this.isLoading = !1, this.container = null, this.clickOutsideListener = null, this.resizeListener = null, t.options && (this._options = [...t.options]), t.getOptions && this._options.push(...t.getOptions()), t.getOptionsAsync && (this.isLoading = !0), this.value !== void 0) {
|
|
1251
1251
|
const e = this._options.findIndex((i) => i.value === this.value);
|
|
@@ -1289,7 +1289,7 @@ class Q extends b {
|
|
|
1289
1289
|
a.onclick = (l) => this.selectOption(l, o, e), i.appendChild(a);
|
|
1290
1290
|
}), document.body.appendChild(i);
|
|
1291
1291
|
const s = document.createElement("div");
|
|
1292
|
-
return s.classList.add("svg-container"), s.innerHTML =
|
|
1292
|
+
return s.classList.add("svg-container"), s.innerHTML = Mt, t.appendChild(s), this.optionsListEl = i, this.svgContainer = s, this.props.getOptionsAsync && (this.isLoading = !0, this.updateButtonText(), this.props.getOptionsAsync().then((n) => {
|
|
1293
1293
|
this._options.push(...n), this.isLoading = !1, this.updateOptionsList(), this.updateButtonText();
|
|
1294
1294
|
}).catch((n) => {
|
|
1295
1295
|
console.error("Failed to fetch async options:", n), this.isLoading = !1, this.updateButtonText("Failed to load options");
|
|
@@ -1352,7 +1352,7 @@ class Q extends b {
|
|
|
1352
1352
|
this.clickOutsideListener && (document.removeEventListener("click", this.clickOutsideListener), this.clickOutsideListener = null), this.resizeListener && (window.removeEventListener("resize", this.resizeListener), this.resizeListener = null), this.cleanupDropdownPosition(), this.optionsListEl && this.optionsListEl.parentNode && this.optionsListEl.parentNode.removeChild(this.optionsListEl), super.destroy();
|
|
1353
1353
|
}
|
|
1354
1354
|
}
|
|
1355
|
-
class
|
|
1355
|
+
class St extends b {
|
|
1356
1356
|
constructor(t = {}) {
|
|
1357
1357
|
super(t), this.inputType = "button", this.value || (this.value = "center");
|
|
1358
1358
|
}
|
|
@@ -1422,8 +1422,8 @@ class re extends b {
|
|
|
1422
1422
|
/^rgba\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)$/i
|
|
1423
1423
|
);
|
|
1424
1424
|
if (n) {
|
|
1425
|
-
let a = +n[1], l = +n[2], r = +n[3],
|
|
1426
|
-
|
|
1425
|
+
let a = +n[1], l = +n[2], r = +n[3], h = +n[4];
|
|
1426
|
+
h >= 1 ? (a = Math.round(a * 0.9), l = Math.round(l * 0.9), r = Math.round(r * 0.9)) : h = Math.min(1, h + 0.12), s = `rgba(${a},${l},${r},${h})`;
|
|
1427
1427
|
}
|
|
1428
1428
|
t.addEventListener("mouseenter", () => {
|
|
1429
1429
|
console.log("hoverBg", s), t.style.setProperty("background-color", s, "important");
|
|
@@ -1444,20 +1444,20 @@ class ce extends b {
|
|
|
1444
1444
|
this.value || (this.value = {
|
|
1445
1445
|
width: e,
|
|
1446
1446
|
height: i
|
|
1447
|
-
}), this.minWidth = t.minWidth ?? 0, this.maxWidth = t.maxWidth, this.minHeight = t.minHeight ?? 0, this.maxHeight = t.maxHeight, this.locked = t.locked ?? !1, this.value.height > 0 && (this.aspectRatio = this.value.width / this.value.height), this.widthSetting = new
|
|
1447
|
+
}), this.minWidth = t.minWidth ?? 0, this.maxWidth = t.maxWidth, this.minHeight = t.minHeight ?? 0, this.maxHeight = t.maxHeight, this.locked = t.locked ?? !1, this.value.height > 0 && (this.aspectRatio = this.value.width / this.value.height), this.widthSetting = new S({
|
|
1448
1448
|
title: "Width",
|
|
1449
1449
|
default: this.value.width,
|
|
1450
1450
|
suffix: "px",
|
|
1451
1451
|
minValue: this.minWidth,
|
|
1452
1452
|
maxValue: this.maxWidth,
|
|
1453
|
-
icon:
|
|
1454
|
-
}), this.heightSetting = new
|
|
1453
|
+
icon: It
|
|
1454
|
+
}), this.heightSetting = new S({
|
|
1455
1455
|
title: "Height",
|
|
1456
1456
|
default: this.value.height,
|
|
1457
1457
|
suffix: "px",
|
|
1458
1458
|
minValue: this.minHeight,
|
|
1459
1459
|
maxValue: this.maxHeight,
|
|
1460
|
-
icon:
|
|
1460
|
+
icon: Nt
|
|
1461
1461
|
}), this.widthSetting.setOnChange(this.handleWidthChange.bind(this)), this.heightSetting.setOnChange(this.handleHeightChange.bind(this));
|
|
1462
1462
|
}
|
|
1463
1463
|
handleWidthChange(t) {
|
|
@@ -1551,24 +1551,24 @@ class ce extends b {
|
|
|
1551
1551
|
}
|
|
1552
1552
|
}
|
|
1553
1553
|
}
|
|
1554
|
-
const
|
|
1554
|
+
const It = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1555
1555
|
<path d="M4.5 9.5H13.5M4.5 9.5L6 7.25M4.5 9.5L6 11.75M13.5 9.5L12 7.25M13.5 9.5L12 11.75M15.75 16.25V2.75M2.25 16.25V2.75" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1556
|
-
</svg>`,
|
|
1556
|
+
</svg>`, Nt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1557
1557
|
<path d="M9 14L9 5M9 14L6.75 12.5M9 14L11.25 12.5M9 5L6.75 6.5M9 5L11.25 6.5M15.75 2.75H2.25M15.75 16.25H2.25" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1558
|
-
</svg>`,
|
|
1558
|
+
</svg>`, Y = `
|
|
1559
1559
|
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16" fill="none">
|
|
1560
1560
|
<path d="M5 10.5L7.5 8M7.5 8L10 10.5M7.5 8V13.625M12.5 10.9643C13.2634 10.3338 13.75 9.37996 13.75 8.3125C13.75 6.41402 12.211 4.875 10.3125 4.875C10.1759 4.875 10.0482 4.80375 9.97882 4.68609C9.16379 3.30302 7.65902 2.375 5.9375 2.375C3.34867 2.375 1.25 4.47367 1.25 7.0625C1.25 8.35381 1.77215 9.52317 2.61684 10.371" stroke="#475467" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1561
1561
|
</svg>
|
|
1562
|
-
`,
|
|
1562
|
+
`, Vt = `
|
|
1563
1563
|
<svg width="91" height="71" viewBox="0 0 91 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1564
1564
|
<rect width="91" height="71" rx="4" fill="#F2F4F7"/>
|
|
1565
1565
|
<path d="M37 31.5L39.5 29M39.5 29L42 31.5M39.5 29V34.625M44.5 31.9643C45.2634 31.3338 45.75 30.38 45.75 29.3125C45.75 27.414 44.211 25.875 42.3125 25.875C42.1759 25.875 42.0482 25.8037 41.9788 25.6861C41.1638 24.303 39.659 23.375 37.9375 23.375C35.3487 23.375 33.25 25.4737 33.25 28.0625C33.25 29.3538 33.7721 30.5232 34.6168 31.371" stroke="#475467" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1566
1566
|
</svg>
|
|
1567
|
-
`,
|
|
1567
|
+
`, Tt = `
|
|
1568
1568
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 12 12" fill="none">
|
|
1569
1569
|
<path d="M8 3V2.6C8 2.03995 8 1.75992 7.89101 1.54601C7.79513 1.35785 7.64215 1.20487 7.45399 1.10899C7.24008 1 6.96005 1 6.4 1H5.6C5.03995 1 4.75992 1 4.54601 1.10899C4.35785 1.20487 4.20487 1.35785 4.10899 1.54601C4 1.75992 4 2.03995 4 2.6V3M5 5.75V8.25M7 5.75V8.25M1.5 3H10.5M9.5 3V8.6C9.5 9.44008 9.5 9.86012 9.33651 10.181C9.1927 10.4632 8.96323 10.6927 8.68099 10.8365C8.36012 11 7.94008 11 7.1 11H4.9C4.05992 11 3.63988 11 3.31901 10.8365C3.03677 10.6927 2.8073 10.4632 2.66349 10.181C2.5 9.86012 2.5 9.44008 2.5 8.6V3" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1570
1570
|
</svg>
|
|
1571
|
-
`,
|
|
1571
|
+
`, Pt = `
|
|
1572
1572
|
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29" fill="none">
|
|
1573
1573
|
<!-- Top dot -->
|
|
1574
1574
|
<circle cx="14.5" cy="3" r="1.5" fill="#02CC59" opacity="1"/>
|
|
@@ -1641,7 +1641,7 @@ class rt extends b {
|
|
|
1641
1641
|
);
|
|
1642
1642
|
if (t && t !== "") {
|
|
1643
1643
|
this.showLoading(), s && s instanceof HTMLElement && (s.style.display = "none"), e && e.classList.remove("no-image"), i && (i.innerHTML = `
|
|
1644
|
-
<span class="upload-icon">${
|
|
1644
|
+
<span class="upload-icon">${Y}</span>
|
|
1645
1645
|
<span class="upload-label">Replace</span>
|
|
1646
1646
|
`);
|
|
1647
1647
|
const n = () => {
|
|
@@ -1652,7 +1652,7 @@ class rt extends b {
|
|
|
1652
1652
|
this.previewEl.addEventListener("load", n), this.previewEl.addEventListener("error", o), this.previewEl.src = t;
|
|
1653
1653
|
} else
|
|
1654
1654
|
this.hideLoading(), this.previewWrapper.classList.remove("has-image"), this.previewEl.src = "", this.previewEl.style.display = "none", this.previewWrapper.style.display = "none", s && s instanceof HTMLElement && (s.style.display = "block"), e && e.classList.add("no-image"), i && (i.innerHTML = `
|
|
1655
|
-
<span class="upload-icon">${
|
|
1655
|
+
<span class="upload-icon">${Y}</span>
|
|
1656
1656
|
<span class="upload-label">Upload</span>
|
|
1657
1657
|
`);
|
|
1658
1658
|
}
|
|
@@ -1685,9 +1685,9 @@ class rt extends b {
|
|
|
1685
1685
|
const s = this.value && this.value !== "";
|
|
1686
1686
|
s || i.classList.add("no-image");
|
|
1687
1687
|
const n = document.createElement("div");
|
|
1688
|
-
if (n.className = "preview-placeholder", n.innerHTML =
|
|
1688
|
+
if (n.className = "preview-placeholder", n.innerHTML = Vt, this.previewWrapper = document.createElement("div"), this.previewWrapper.className = "preview-wrapper", this.loadingSpinner = document.createElement("div"), this.loadingSpinner.className = "loading-spinner", this.loadingSpinner.innerHTML = Pt, this.loadingSpinner.style.display = "none", this.previewWrapper.appendChild(this.loadingSpinner), this.previewEl = document.createElement("img"), this.previewEl.className = "upload-preview", this.props.delete) {
|
|
1689
1689
|
const a = document.createElement("button");
|
|
1690
|
-
a.className = "delete-button", a.type = "button", a.title = "Delete image", a.innerHTML =
|
|
1690
|
+
a.className = "delete-button", a.type = "button", a.title = "Delete image", a.innerHTML = Tt, this.previewWrapper.appendChild(a), a.onclick = (l) => {
|
|
1691
1691
|
var r;
|
|
1692
1692
|
l.stopPropagation(), this.value = "", this.updatePreviewState(null), (r = this.onChange) == null || r.call(this, ""), this.hideError();
|
|
1693
1693
|
};
|
|
@@ -1695,7 +1695,7 @@ class rt extends b {
|
|
|
1695
1695
|
this.previewWrapper.appendChild(this.previewEl);
|
|
1696
1696
|
const o = document.createElement("button");
|
|
1697
1697
|
return o.className = "upload-button", this.getDataPropsPath() && o.setAttribute("data-test-id", this.getDataPropsPath()), o.innerHTML = `
|
|
1698
|
-
<span class="upload-icon">${
|
|
1698
|
+
<span class="upload-icon">${Y}</span>
|
|
1699
1699
|
<span class="upload-label">Upload</span>
|
|
1700
1700
|
`, i.appendChild(n), i.appendChild(this.previewWrapper), i.appendChild(o), t.appendChild(i), s ? this.updatePreviewState(this.value) : this.updatePreviewState(null), o.onclick = () => {
|
|
1701
1701
|
window.postMessage(
|
|
@@ -1708,14 +1708,14 @@ class rt extends b {
|
|
|
1708
1708
|
}, t;
|
|
1709
1709
|
}
|
|
1710
1710
|
}
|
|
1711
|
-
class he extends
|
|
1711
|
+
class he extends S {
|
|
1712
1712
|
constructor(t = {}) {
|
|
1713
1713
|
super({
|
|
1714
1714
|
...t,
|
|
1715
1715
|
title: t.title || "Height",
|
|
1716
1716
|
suffix: t.suffix || "px",
|
|
1717
1717
|
minValue: t.minValue ?? 0,
|
|
1718
|
-
icon: t.icon ||
|
|
1718
|
+
icon: t.icon || Ot,
|
|
1719
1719
|
default: t.default ?? 100
|
|
1720
1720
|
}), this.inputType = "number", this.mobileValue = t.mobile;
|
|
1721
1721
|
}
|
|
@@ -1726,17 +1726,17 @@ class he extends N {
|
|
|
1726
1726
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1727
1727
|
}
|
|
1728
1728
|
}
|
|
1729
|
-
const
|
|
1729
|
+
const Ot = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1730
1730
|
<path d="M9 14L9 5M9 14L6.75 12.5M9 14L11.25 12.5M9 5L6.75 6.5M9 5L11.25 6.5M15.75 2.75H2.25M15.75 16.25H2.25" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1731
1731
|
</svg>`;
|
|
1732
|
-
class pe extends
|
|
1732
|
+
class pe extends S {
|
|
1733
1733
|
constructor(t = {}) {
|
|
1734
1734
|
super({
|
|
1735
1735
|
...t,
|
|
1736
1736
|
title: t.title || "Width",
|
|
1737
1737
|
suffix: t.suffix || "px",
|
|
1738
1738
|
minValue: t.minValue ?? 0,
|
|
1739
|
-
icon: t.icon ||
|
|
1739
|
+
icon: t.icon || Ht,
|
|
1740
1740
|
default: t.default ?? 100
|
|
1741
1741
|
}), this.inputType = "number", this.mobileValue = t.mobile;
|
|
1742
1742
|
}
|
|
@@ -1747,9 +1747,9 @@ class pe extends N {
|
|
|
1747
1747
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1748
1748
|
}
|
|
1749
1749
|
}
|
|
1750
|
-
const
|
|
1750
|
+
const Ht = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1751
1751
|
<path d="M4.5 9.5H13.5M4.5 9.5L6 7.25M4.5 9.5L6 11.75M13.5 9.5L12 7.25M13.5 9.5L12 11.75M15.75 16.25V2.75M2.25 16.25V2.75" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1752
|
-
</svg>`,
|
|
1752
|
+
</svg>`, $t = `
|
|
1753
1753
|
<svg xmlns="http://www.w3.org/2000/svg" class="svg-select-api" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down">
|
|
1754
1754
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
1755
1755
|
</svg>
|
|
@@ -1809,7 +1809,7 @@ class de extends b {
|
|
|
1809
1809
|
a.onclick = (l) => this.selectApiOption(l, o, e), i.appendChild(a);
|
|
1810
1810
|
}), t.appendChild(i);
|
|
1811
1811
|
const s = document.createElement("div");
|
|
1812
|
-
return s.classList.add("svg-container"), s.innerHTML =
|
|
1812
|
+
return s.classList.add("svg-container"), s.innerHTML = $t, t.appendChild(s), s.onclick = () => {
|
|
1813
1813
|
var n, o;
|
|
1814
1814
|
this.isLoading || (this.isOpen = !this.isOpen, (n = this.optionsListEl) == null || n.classList.toggle("open", this.isOpen), (o = this.svgContainer) == null || o.classList.toggle("open", this.isOpen));
|
|
1815
1815
|
}, this.optionsListEl = i, this.svgContainer = s, this.props.getOptionsAsync && !this.hasInitializedOptions ? (this.isLoading = !0, this.updateButtonText(), this.props.getOptionsAsync().then((n) => {
|
|
@@ -1856,7 +1856,7 @@ class de extends b {
|
|
|
1856
1856
|
return JSON.stringify(t ? {} : { value: this.value }, null, 2);
|
|
1857
1857
|
}
|
|
1858
1858
|
selectApiOption(t, e, i) {
|
|
1859
|
-
var l, r,
|
|
1859
|
+
var l, r, h, p;
|
|
1860
1860
|
const s = t.target, n = s.querySelector(".select-api-radio") || ((l = s.closest(".select-api-option")) == null ? void 0 : l.querySelector(".select-api-radio"));
|
|
1861
1861
|
n && (n.checked = !0), this.selectedOptionIndex = e;
|
|
1862
1862
|
const o = this._options[e].value;
|
|
@@ -1865,10 +1865,10 @@ class de extends b {
|
|
|
1865
1865
|
if (a)
|
|
1866
1866
|
a.textContent = this._options[e].name;
|
|
1867
1867
|
else {
|
|
1868
|
-
const
|
|
1869
|
-
|
|
1868
|
+
const d = i.firstChild;
|
|
1869
|
+
d && d.tagName === "SPAN" && (d.textContent = this._options[e].name);
|
|
1870
1870
|
}
|
|
1871
|
-
this.isOpen = !1, (r = this.optionsListEl) == null || r.classList.remove("open"), (
|
|
1871
|
+
this.isOpen = !1, (r = this.optionsListEl) == null || r.classList.remove("open"), (h = this.svgContainer) == null || h.classList.remove("open"), (p = this.onChange) == null || p.call(this, o), this.detectChangeCallback && this.detectChangeCallback(o);
|
|
1872
1872
|
}
|
|
1873
1873
|
updateOptionsList() {
|
|
1874
1874
|
!this.optionsListEl || !this.buttonEl || (this.optionsListEl.innerHTML = "", this._options.forEach((t, e) => {
|
|
@@ -1924,19 +1924,19 @@ class ue extends b {
|
|
|
1924
1924
|
i.className = "toggle-switch";
|
|
1925
1925
|
const s = document.createElement("input");
|
|
1926
1926
|
s.type = "checkbox", s.checked = ((a = (o = this.props.options) == null ? void 0 : o.find((l) => l.value === this.value)) == null ? void 0 : a.status) ?? !1, this.getDataPropsPath() && s.setAttribute("data-test-id", this.getDataPropsPath()), s.addEventListener("change", () => {
|
|
1927
|
-
var r,
|
|
1928
|
-
const l = ((
|
|
1927
|
+
var r, h;
|
|
1928
|
+
const l = ((h = (r = this.props.options) == null ? void 0 : r.find((p) => p.status === s.checked)) == null ? void 0 : h.value) ?? "";
|
|
1929
1929
|
this.value = l, this.onChange && this.onChange(this.value), this.detectChangeCallback && this.detectChangeCallback(this.value);
|
|
1930
1930
|
});
|
|
1931
1931
|
const n = document.createElement("span");
|
|
1932
1932
|
if (n.className = "toggle-slider", this.props.activeColor || this.props.inactiveColor) {
|
|
1933
|
-
const l = document.createElement("style"), r = this.props.activeColor || "#4CAF50",
|
|
1933
|
+
const l = document.createElement("style"), r = this.props.activeColor || "#4CAF50", h = this.props.inactiveColor || "#ccc";
|
|
1934
1934
|
l.textContent = `
|
|
1935
1935
|
.toggle-switch input:checked + .toggle-slider {
|
|
1936
1936
|
background-color: ${r};
|
|
1937
1937
|
}
|
|
1938
1938
|
.toggle-switch .toggle-slider {
|
|
1939
|
-
background-color: ${
|
|
1939
|
+
background-color: ${h};
|
|
1940
1940
|
}
|
|
1941
1941
|
`, document.head.appendChild(l);
|
|
1942
1942
|
}
|
|
@@ -1951,13 +1951,13 @@ class ue extends b {
|
|
|
1951
1951
|
this.detectChangeCallback = t;
|
|
1952
1952
|
}
|
|
1953
1953
|
}
|
|
1954
|
-
const
|
|
1954
|
+
const At = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1955
1955
|
<path d="M13.3334 5.99996H2.66675M13.3334 9.99996H2.66675M5.33341 12.6666V3.33329M10.6667 12.6666V3.33329" stroke="#667085" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
|
|
1956
1956
|
</svg>`;
|
|
1957
1957
|
class ge extends b {
|
|
1958
1958
|
// Store mobile value
|
|
1959
1959
|
constructor(t = {}) {
|
|
1960
|
-
t.rowGap = t.rowGap ?? !0, t.columnGap = t.columnGap ?? !0, t.title = t.title ?? "Gap", t.icon = t.icon ??
|
|
1960
|
+
t.rowGap = t.rowGap ?? !0, t.columnGap = t.columnGap ?? !0, t.title = t.title ?? "Gap", t.icon = t.icon ?? At, t.suffix = t.suffix ?? "px", t.minValue = t.minValue ?? 0, super(t), this.inputType = "number", this.inputValues = {}, this.mobileValue = t.mobile, this.value = this.validateValue(t.default ?? 0), t.rowGap && (this.inputValues.row = this.value), t.columnGap && (this.inputValues.column = this.value);
|
|
1961
1961
|
}
|
|
1962
1962
|
draw() {
|
|
1963
1963
|
const t = document.createElement("div");
|
|
@@ -2008,33 +2008,33 @@ class ge extends b {
|
|
|
2008
2008
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
2009
2009
|
}
|
|
2010
2010
|
}
|
|
2011
|
-
const
|
|
2011
|
+
const Bt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
2012
2012
|
<path d="M2.25 11.75H15.75M5.85 2.75H12.15C13.4101 2.75 14.0402 2.75 14.5215 2.99524C14.9448 3.21095 15.289 3.55516 15.5048 3.97852C15.75 4.45982 15.75 5.08988 15.75 6.35V12.65C15.75 13.9101 15.75 14.5402 15.5048 15.0215C15.289 15.4448 14.9448 15.789 14.5215 16.0048C14.0402 16.25 13.4101 16.25 12.15 16.25H5.85C4.58988 16.25 3.95982 16.25 3.47852 16.0048C3.05516 15.789 2.71095 15.4448 2.49524 15.0215C2.25 14.5402 2.25 13.9101 2.25 12.65V6.35C2.25 5.08988 2.25 4.45982 2.49524 3.97852C2.71095 3.55516 3.05516 3.21095 3.47852 2.99524C3.95982 2.75 4.58988 2.75 5.85 2.75Z" stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2013
2013
|
</svg>`;
|
|
2014
|
-
class me extends
|
|
2014
|
+
class me extends S {
|
|
2015
2015
|
constructor(t = {}) {
|
|
2016
2016
|
super({
|
|
2017
2017
|
...t,
|
|
2018
2018
|
minValue: t.minValue ?? 0,
|
|
2019
2019
|
maxValue: t.maxValue ?? 1e3,
|
|
2020
|
-
icon: t.icon ||
|
|
2020
|
+
icon: t.icon || Bt,
|
|
2021
2021
|
title: t.title || "Margin Bottom",
|
|
2022
2022
|
default: t.default ?? 20,
|
|
2023
2023
|
wrapperClassName: "margin-bottom-wrapper " + (t.wrapperClassName || "")
|
|
2024
2024
|
}), this.inputType = "number";
|
|
2025
2025
|
}
|
|
2026
2026
|
}
|
|
2027
|
-
const
|
|
2027
|
+
const Dt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
2028
2028
|
<path d="M15.75 7.25H2.25m9.9 9h-6.3c-1.26 0-1.89 0-2.371-.245a2.25 2.25 0 0 1-.984-.983c-.245-.482-.245-1.112-.245-2.372v-6.3c0-1.26 0-1.89.245-2.371a2.25 2.25 0 0 1 .984-.984c.48-.245 1.11-.245 2.371-.245h6.3c1.26 0 1.89 0 2.371.245.424.216.768.56.984.984.245.48.245 1.11.245 2.371v6.3c0 1.26 0 1.89-.245 2.371-.216.424-.56.768-.984.984-.48.245-1.11.245-2.371.245"
|
|
2029
2029
|
stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2030
2030
|
</svg>`;
|
|
2031
|
-
class fe extends
|
|
2031
|
+
class fe extends S {
|
|
2032
2032
|
constructor(t = {}) {
|
|
2033
2033
|
super({
|
|
2034
2034
|
...t,
|
|
2035
2035
|
minValue: t.minValue ?? 0,
|
|
2036
2036
|
maxValue: t.maxValue ?? 1e3,
|
|
2037
|
-
icon: t.icon ||
|
|
2037
|
+
icon: t.icon || Dt,
|
|
2038
2038
|
title: t.title || "Margin Top",
|
|
2039
2039
|
default: t.default ?? 20,
|
|
2040
2040
|
wrapperClassName: "margin-top-wrapper " + (t.wrapperClassName || "")
|
|
@@ -2073,14 +2073,14 @@ class ve extends b {
|
|
|
2073
2073
|
t.placeholder = e;
|
|
2074
2074
|
return;
|
|
2075
2075
|
}
|
|
2076
|
-
const
|
|
2077
|
-
let
|
|
2078
|
-
for (;
|
|
2079
|
-
const f = Math.floor((
|
|
2080
|
-
this.measureTextWidth(
|
|
2076
|
+
const h = "...";
|
|
2077
|
+
let p = 0, d = e.length, u = 0;
|
|
2078
|
+
for (; p <= d; ) {
|
|
2079
|
+
const f = Math.floor((p + d) / 2), g = e.slice(0, f).trimEnd() + h;
|
|
2080
|
+
this.measureTextWidth(g, i) <= l ? (u = f, p = f + 1) : d = f - 1;
|
|
2081
2081
|
}
|
|
2082
|
-
const
|
|
2083
|
-
t.placeholder =
|
|
2082
|
+
const m = e.slice(0, u).trimEnd() + h;
|
|
2083
|
+
t.placeholder = m;
|
|
2084
2084
|
}
|
|
2085
2085
|
autosizeTextarea(t, e = 3) {
|
|
2086
2086
|
t.style.height = "auto";
|
|
@@ -2115,8 +2115,8 @@ class ve extends b {
|
|
|
2115
2115
|
), n.addEventListener("input", (l) => {
|
|
2116
2116
|
const r = l.target;
|
|
2117
2117
|
this.updateLanguageValue(t, r.value), t === this.defaultLanguage && this.updateOtherLanguagePlaceholders(r.value), this.autosizeTextarea(r, 3);
|
|
2118
|
-
const
|
|
2119
|
-
|
|
2118
|
+
const h = n.getAttribute("data-full-placeholder") || "";
|
|
2119
|
+
h && this.adaptPlaceholderToSingleLine(n, h);
|
|
2120
2120
|
}), i.appendChild(n), ((l) => (typeof queueMicrotask == "function" ? queueMicrotask : (r) => setTimeout(r, 0))(l))(() => {
|
|
2121
2121
|
this.autosizeTextarea(n, 3);
|
|
2122
2122
|
const l = n.getAttribute("data-full-placeholder") || "";
|
|
@@ -2199,7 +2199,7 @@ class Ce extends b {
|
|
|
2199
2199
|
{ name: "Bounce", value: "bounce 1.5s ease-in-out infinite" },
|
|
2200
2200
|
{ name: "Pulse", value: "pulse 1.5s ease-in-out infinite" }
|
|
2201
2201
|
];
|
|
2202
|
-
this.selectSetting = new
|
|
2202
|
+
this.selectSetting = new tt({
|
|
2203
2203
|
title: this.title || "Animation",
|
|
2204
2204
|
options: e,
|
|
2205
2205
|
default: this.props.default || "none"
|
|
@@ -2217,49 +2217,49 @@ class Ce extends b {
|
|
|
2217
2217
|
}
|
|
2218
2218
|
const ct = (c, t, e) => {
|
|
2219
2219
|
let i = !1, s = 0, n = 0, o = 0, a = 0;
|
|
2220
|
-
const l = (
|
|
2221
|
-
if (
|
|
2222
|
-
i = !0, s =
|
|
2223
|
-
const
|
|
2224
|
-
o =
|
|
2225
|
-
}, r = (
|
|
2220
|
+
const l = (p) => {
|
|
2221
|
+
if (p.target.closest("button")) return;
|
|
2222
|
+
i = !0, s = p.clientX, n = p.clientY;
|
|
2223
|
+
const d = t.getBoundingClientRect();
|
|
2224
|
+
o = d.left, a = d.top, document.addEventListener("mousemove", r), document.addEventListener("mouseup", h), document.body.style.userSelect = "none";
|
|
2225
|
+
}, r = (p) => {
|
|
2226
2226
|
if (!i) return;
|
|
2227
|
-
const
|
|
2228
|
-
let
|
|
2229
|
-
|
|
2230
|
-
},
|
|
2231
|
-
i = !1, document.removeEventListener("mousemove", r), document.removeEventListener("mouseup",
|
|
2227
|
+
const d = p.clientX - s, u = p.clientY - n, m = window.innerWidth, f = window.innerHeight, g = t.offsetWidth, C = t.offsetHeight;
|
|
2228
|
+
let y = o + d, L = a + u;
|
|
2229
|
+
y = Math.max(8, Math.min(m - g - 8, y)), L = Math.max(8, Math.min(f - C - 8, L)), t.style.left = `${y}px`, t.style.top = `${L}px`, e == null || e(y, L);
|
|
2230
|
+
}, h = () => {
|
|
2231
|
+
i = !1, document.removeEventListener("mousemove", r), document.removeEventListener("mouseup", h), document.body.style.userSelect = "";
|
|
2232
2232
|
};
|
|
2233
2233
|
c.addEventListener("mousedown", l);
|
|
2234
|
-
},
|
|
2234
|
+
}, A = (c) => {
|
|
2235
2235
|
if (!c) return null;
|
|
2236
2236
|
let t = c.trim();
|
|
2237
2237
|
return !t.startsWith("#") || (t = t.slice(1), t.length === 3 && (t = t.split("").map((e) => e + e).join("")), !/^[0-9a-fA-F]{6}$/.test(t)) ? null : `#${t.toUpperCase()}`;
|
|
2238
|
-
},
|
|
2238
|
+
}, F = (c, t, e) => `#${[c, t, e].map((i) => Math.max(0, Math.min(255, i)).toString(16).padStart(2, "0")).join("")}`, k = (c) => {
|
|
2239
2239
|
const t = c.replace("#", ""), e = t.length === 3 ? t.split("").map((i) => i + i).join("") : t;
|
|
2240
2240
|
return {
|
|
2241
2241
|
r: parseInt(e.slice(0, 2), 16),
|
|
2242
2242
|
g: parseInt(e.slice(2, 4), 16),
|
|
2243
2243
|
b: parseInt(e.slice(4, 6), 16)
|
|
2244
2244
|
};
|
|
2245
|
-
},
|
|
2246
|
-
const { r: t, g: e, b: i } =
|
|
2247
|
-
let
|
|
2248
|
-
r !== 0 && (a === s ?
|
|
2249
|
-
const
|
|
2250
|
-
return { h:
|
|
2251
|
-
},
|
|
2245
|
+
}, H = (c) => {
|
|
2246
|
+
const { r: t, g: e, b: i } = k(c), s = t / 255, n = e / 255, o = i / 255, a = Math.max(s, n, o), l = Math.min(s, n, o), r = a - l;
|
|
2247
|
+
let h = 0;
|
|
2248
|
+
r !== 0 && (a === s ? h = (n - o) / r % 6 : a === n ? h = (o - s) / r + 2 : h = (s - n) / r + 4), h < 0 && (h += 6);
|
|
2249
|
+
const p = a === 0 ? 0 : r / a, d = a;
|
|
2250
|
+
return { h: h * 60, s: p, v: d };
|
|
2251
|
+
}, G = (c, t, e) => {
|
|
2252
2252
|
const i = (c % 360 + 360) % 360, s = e * t, n = s * (1 - Math.abs(i / 60 % 2 - 1)), o = e - s;
|
|
2253
2253
|
let a = 0, l = 0, r = 0;
|
|
2254
|
-
return i < 60 ? (a = s, l = n, r = 0) : i < 120 ? (a = n, l = s, r = 0) : i < 180 ? (a = 0, l = s, r = n) : i < 240 ? (a = 0, l = n, r = s) : i < 300 ? (a = n, l = 0, r = s) : (a = s, l = 0, r = n),
|
|
2254
|
+
return i < 60 ? (a = s, l = n, r = 0) : i < 120 ? (a = n, l = s, r = 0) : i < 180 ? (a = 0, l = s, r = n) : i < 240 ? (a = 0, l = n, r = s) : i < 300 ? (a = n, l = 0, r = s) : (a = s, l = 0, r = n), F(
|
|
2255
2255
|
Math.round((a + o) * 255),
|
|
2256
2256
|
Math.round((l + o) * 255),
|
|
2257
2257
|
Math.round((r + o) * 255)
|
|
2258
2258
|
);
|
|
2259
|
-
},
|
|
2259
|
+
}, Rt = (c, t, e) => {
|
|
2260
2260
|
const i = e * (1 - t / 2), s = i === 0 || i === 1 ? 0 : (e - i) / Math.min(i, 1 - i);
|
|
2261
2261
|
return { hue: c, sat: s, lightness: i };
|
|
2262
|
-
},
|
|
2262
|
+
}, X = (c, t, e) => {
|
|
2263
2263
|
const i = (1 - Math.abs(2 * e - 1)) * t, s = i * (1 - Math.abs(c / 60 % 2 - 1)), n = e - i / 2;
|
|
2264
2264
|
let o = 0, a = 0, l = 0;
|
|
2265
2265
|
return c < 60 ? (o = i, a = s, l = 0) : c < 120 ? (o = s, a = i, l = 0) : c < 180 ? (o = 0, a = i, l = s) : c < 240 ? (o = 0, a = s, l = i) : c < 300 ? (o = s, a = 0, l = i) : (o = i, a = 0, l = s), {
|
|
@@ -2267,10 +2267,10 @@ const ct = (c, t, e) => {
|
|
|
2267
2267
|
g: Math.round((a + n) * 255),
|
|
2268
2268
|
b: Math.round((l + n) * 255)
|
|
2269
2269
|
};
|
|
2270
|
-
},
|
|
2270
|
+
}, ht = (c, t) => {
|
|
2271
2271
|
const e = Math.max(0, Math.min(100, t)) / 100;
|
|
2272
2272
|
if (c.startsWith("#")) {
|
|
2273
|
-
const { r: s, g: n, b: o } =
|
|
2273
|
+
const { r: s, g: n, b: o } = k(c);
|
|
2274
2274
|
return `rgba(${s}, ${n}, ${o}, ${e})`;
|
|
2275
2275
|
}
|
|
2276
2276
|
if (c.startsWith("rgba("))
|
|
@@ -2280,7 +2280,7 @@ const ct = (c, t, e) => {
|
|
|
2280
2280
|
if (c.startsWith("hsl(")) {
|
|
2281
2281
|
const s = c.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);
|
|
2282
2282
|
if (s) {
|
|
2283
|
-
const { r: n, g: o, b: a } =
|
|
2283
|
+
const { r: n, g: o, b: a } = X(
|
|
2284
2284
|
parseInt(s[1]),
|
|
2285
2285
|
parseInt(s[2]) / 100,
|
|
2286
2286
|
parseInt(s[3]) / 100
|
|
@@ -2291,7 +2291,7 @@ const ct = (c, t, e) => {
|
|
|
2291
2291
|
if (c.startsWith("hsla(")) {
|
|
2292
2292
|
const s = c.match(/hsla\((\d+),\s*(\d+)%,\s*(\d+)%,\s*[\d.]+\)/);
|
|
2293
2293
|
if (s) {
|
|
2294
|
-
const { r: n, g: o, b: a } =
|
|
2294
|
+
const { r: n, g: o, b: a } = X(
|
|
2295
2295
|
parseInt(s[1]),
|
|
2296
2296
|
parseInt(s[2]) / 100,
|
|
2297
2297
|
parseInt(s[3]) / 100
|
|
@@ -2299,13 +2299,13 @@ const ct = (c, t, e) => {
|
|
|
2299
2299
|
return `rgba(${n}, ${o}, ${a}, ${e})`;
|
|
2300
2300
|
}
|
|
2301
2301
|
}
|
|
2302
|
-
const i =
|
|
2302
|
+
const i = A(c);
|
|
2303
2303
|
if (i) {
|
|
2304
|
-
const { r: s, g: n, b: o } =
|
|
2304
|
+
const { r: s, g: n, b: o } = k(i);
|
|
2305
2305
|
return `rgba(${s}, ${n}, ${o}, ${e})`;
|
|
2306
2306
|
}
|
|
2307
2307
|
return c;
|
|
2308
|
-
},
|
|
2308
|
+
}, Ft = (c) => [
|
|
2309
2309
|
"red",
|
|
2310
2310
|
"green",
|
|
2311
2311
|
"blue",
|
|
@@ -2329,22 +2329,22 @@ const ct = (c, t, e) => {
|
|
|
2329
2329
|
"teal",
|
|
2330
2330
|
"fuchsia",
|
|
2331
2331
|
"transparent"
|
|
2332
|
-
].includes(c.toLowerCase()),
|
|
2332
|
+
].includes(c.toLowerCase()), pt = (c) => [
|
|
2333
2333
|
/^#[0-9a-fA-F]{3,8}$/,
|
|
2334
2334
|
/^rgba?\s*\([^)]+\)$/,
|
|
2335
2335
|
/^hsla?\s*\([^)]+\)$/,
|
|
2336
2336
|
/^[a-zA-Z]+$/
|
|
2337
2337
|
].some((e) => e.test(c.trim())), Ut = (c) => {
|
|
2338
2338
|
if (typeof document > "u")
|
|
2339
|
-
return
|
|
2339
|
+
return pt(c) || !!A(c);
|
|
2340
2340
|
const t = document.createElement("div");
|
|
2341
2341
|
return t.style.color = c, t.style.color !== "";
|
|
2342
|
-
},
|
|
2342
|
+
}, dt = (c) => {
|
|
2343
2343
|
const t = c.trim();
|
|
2344
2344
|
if (/^#[0-9A-Fa-f]{8}$/.test(t)) {
|
|
2345
2345
|
const n = t.slice(1), o = parseInt(n.slice(0, 2), 16), a = parseInt(n.slice(2, 4), 16), l = parseInt(n.slice(4, 6), 16), r = parseInt(n.slice(6, 8), 16);
|
|
2346
2346
|
return {
|
|
2347
|
-
color:
|
|
2347
|
+
color: F(o, a, l),
|
|
2348
2348
|
position: 0,
|
|
2349
2349
|
opacity: Math.round(r / 255 * 100)
|
|
2350
2350
|
};
|
|
@@ -2355,7 +2355,7 @@ const ct = (c, t, e) => {
|
|
|
2355
2355
|
if (e) {
|
|
2356
2356
|
const n = parseInt(e[1]), o = parseInt(e[2]), a = parseInt(e[3]), l = e[4] ? parseFloat(e[4]) : 1;
|
|
2357
2357
|
return {
|
|
2358
|
-
color:
|
|
2358
|
+
color: F(n, o, a),
|
|
2359
2359
|
position: 0,
|
|
2360
2360
|
opacity: Math.round(l * 100)
|
|
2361
2361
|
};
|
|
@@ -2364,18 +2364,18 @@ const ct = (c, t, e) => {
|
|
|
2364
2364
|
/hsla?\s*\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)/
|
|
2365
2365
|
);
|
|
2366
2366
|
if (i) {
|
|
2367
|
-
const { r: n, g: o, b: a } =
|
|
2367
|
+
const { r: n, g: o, b: a } = X(
|
|
2368
2368
|
parseFloat(i[1]),
|
|
2369
2369
|
parseFloat(i[2]) / 100,
|
|
2370
2370
|
parseFloat(i[3]) / 100
|
|
2371
2371
|
), l = i[4] ? parseFloat(i[4]) : 1;
|
|
2372
2372
|
return {
|
|
2373
|
-
color:
|
|
2373
|
+
color: F(n, o, a),
|
|
2374
2374
|
position: 0,
|
|
2375
2375
|
opacity: Math.round(l * 100)
|
|
2376
2376
|
};
|
|
2377
2377
|
}
|
|
2378
|
-
return { color:
|
|
2378
|
+
return { color: A(t) || t, position: 0, opacity: 100 };
|
|
2379
2379
|
}, nt = (c) => {
|
|
2380
2380
|
const t = [];
|
|
2381
2381
|
let e = "", i = 0;
|
|
@@ -2398,7 +2398,7 @@ const ct = (c, t, e) => {
|
|
|
2398
2398
|
for (let a = s; a < c.length && n > 0; a++)
|
|
2399
2399
|
c[a] === "(" ? n++ : c[a] === ")" && n--, o = a;
|
|
2400
2400
|
return n === 0 ? c.substring(s, o) : null;
|
|
2401
|
-
},
|
|
2401
|
+
}, Gt = (c) => {
|
|
2402
2402
|
const t = c.split(" ")[0].toLowerCase();
|
|
2403
2403
|
return [
|
|
2404
2404
|
"circle",
|
|
@@ -2410,7 +2410,7 @@ const ct = (c, t, e) => {
|
|
|
2410
2410
|
"at",
|
|
2411
2411
|
"contain",
|
|
2412
2412
|
"cover"
|
|
2413
|
-
].includes(t) ? !1 : /^#[0-9a-f]{3,8}$/i.test(t) || /^rgb/i.test(c) || /^hsl/i.test(c) ||
|
|
2413
|
+
].includes(t) ? !1 : /^#[0-9a-f]{3,8}$/i.test(t) || /^rgb/i.test(c) || /^hsl/i.test(c) || Ft(t);
|
|
2414
2414
|
}, at = (c) => {
|
|
2415
2415
|
const t = [];
|
|
2416
2416
|
return c.forEach((e, i) => {
|
|
@@ -2418,11 +2418,11 @@ const ct = (c, t, e) => {
|
|
|
2418
2418
|
if (!s) return;
|
|
2419
2419
|
let n = "", o = 0;
|
|
2420
2420
|
const a = s.match(/^(.+?)\s+(\d+(?:\.\d+)?)%?\s*$/);
|
|
2421
|
-
a &&
|
|
2422
|
-
const l =
|
|
2421
|
+
a && pt(a[1].trim()) ? (n = a[1].trim(), o = parseFloat(a[2])) : (n = s, o = c.length === 1 ? 0 : i / (c.length - 1) * 100);
|
|
2422
|
+
const l = dt(n);
|
|
2423
2423
|
l.position = Math.max(0, Math.min(100, Math.round(o))), t.push(l);
|
|
2424
2424
|
}), t;
|
|
2425
|
-
},
|
|
2425
|
+
}, $ = (c) => {
|
|
2426
2426
|
const t = c.stops && c.stops.length ? c.stops : [{ color: "#000000", position: 0, opacity: 100 }];
|
|
2427
2427
|
return {
|
|
2428
2428
|
type: c.type && ["linear", "radial", "solid"].includes(c.type) ? c.type : "linear",
|
|
@@ -2433,11 +2433,11 @@ const ct = (c, t, e) => {
|
|
|
2433
2433
|
opacity: e.opacity === void 0 || Number.isNaN(e.opacity) ? 100 : e.opacity
|
|
2434
2434
|
}))
|
|
2435
2435
|
};
|
|
2436
|
-
},
|
|
2436
|
+
}, P = (c) => {
|
|
2437
2437
|
const t = c.replace(/;$/, "").trim();
|
|
2438
2438
|
if (Ut(t)) {
|
|
2439
|
-
const s =
|
|
2440
|
-
return
|
|
2439
|
+
const s = dt(t);
|
|
2440
|
+
return $({ type: "solid", angle: 0, stops: [s] });
|
|
2441
2441
|
}
|
|
2442
2442
|
const e = ot(t, "linear-gradient");
|
|
2443
2443
|
if (e) {
|
|
@@ -2458,24 +2458,24 @@ const ct = (c, t, e) => {
|
|
|
2458
2458
|
"to top left": 315
|
|
2459
2459
|
}[a] ?? 90, o = s.slice(1));
|
|
2460
2460
|
const l = at(o);
|
|
2461
|
-
return l.length ?
|
|
2461
|
+
return l.length ? $({ type: "linear", angle: n, stops: l }) : null;
|
|
2462
2462
|
}
|
|
2463
2463
|
const i = ot(t, "radial-gradient");
|
|
2464
2464
|
if (i) {
|
|
2465
|
-
const s = nt(i), n = s[0] && !
|
|
2466
|
-
return o.length ?
|
|
2465
|
+
const s = nt(i), n = s[0] && !Gt(s[0]) ? s.slice(1) : s, o = at(n);
|
|
2466
|
+
return o.length ? $({ type: "radial", angle: 0, stops: o }) : null;
|
|
2467
2467
|
}
|
|
2468
2468
|
return null;
|
|
2469
|
-
},
|
|
2469
|
+
}, N = (c) => {
|
|
2470
2470
|
if (c.type === "solid") {
|
|
2471
2471
|
const e = c.stops[0], i = e.opacity ?? 100, s = e.color.replace("#", ""), n = Math.round(i / 100 * 255).toString(16).toUpperCase().padStart(2, "0");
|
|
2472
2472
|
return `#${s}${n}`;
|
|
2473
2473
|
}
|
|
2474
2474
|
const t = c.stops.map(
|
|
2475
|
-
(e) => `${
|
|
2475
|
+
(e) => `${ht(e.color, e.opacity ?? 100)} ${e.position}%`
|
|
2476
2476
|
).join(", ");
|
|
2477
2477
|
return c.type === "radial" ? `radial-gradient(circle, ${t})` : `linear-gradient(${c.angle}deg, ${t})`;
|
|
2478
|
-
},
|
|
2478
|
+
}, zt = (c) => Math.round(c / 100 * 255).toString(16).toUpperCase().padStart(2, "0"), _ = (c) => {
|
|
2479
2479
|
if (c.type === "solid") {
|
|
2480
2480
|
const t = c.stops[0];
|
|
2481
2481
|
if (t) {
|
|
@@ -2483,14 +2483,14 @@ const ct = (c, t, e) => {
|
|
|
2483
2483
|
if (i === 100)
|
|
2484
2484
|
return e;
|
|
2485
2485
|
{
|
|
2486
|
-
const s =
|
|
2486
|
+
const s = zt(i);
|
|
2487
2487
|
return `${e}${s}`;
|
|
2488
2488
|
}
|
|
2489
2489
|
}
|
|
2490
2490
|
return "#000000";
|
|
2491
2491
|
}
|
|
2492
2492
|
return c.type === "linear" ? `Linear ${c.angle}°` : "Radial Gradient";
|
|
2493
|
-
},
|
|
2493
|
+
}, z = class z {
|
|
2494
2494
|
static defaults() {
|
|
2495
2495
|
return {
|
|
2496
2496
|
solid: [],
|
|
@@ -2500,8 +2500,8 @@ const ct = (c, t, e) => {
|
|
|
2500
2500
|
static normalizeList(t) {
|
|
2501
2501
|
const e = /* @__PURE__ */ new Set(), i = [];
|
|
2502
2502
|
return t.forEach((s) => {
|
|
2503
|
-
let n =
|
|
2504
|
-
n ||
|
|
2503
|
+
let n = A(s);
|
|
2504
|
+
n || P(s) && (n = s), n && (e.has(n) || (e.add(n), i.push(n)));
|
|
2505
2505
|
}), i.slice(0, this.MAX_COLORS);
|
|
2506
2506
|
}
|
|
2507
2507
|
static ensureLoaded() {
|
|
@@ -2544,11 +2544,11 @@ const ct = (c, t, e) => {
|
|
|
2544
2544
|
}
|
|
2545
2545
|
static addColor(t, e) {
|
|
2546
2546
|
if (!t) return;
|
|
2547
|
-
let i =
|
|
2547
|
+
let i = A(t), s = "solid";
|
|
2548
2548
|
if (i)
|
|
2549
2549
|
s = "solid";
|
|
2550
2550
|
else {
|
|
2551
|
-
const l =
|
|
2551
|
+
const l = P(t);
|
|
2552
2552
|
l && (i = t, s = l.type === "solid" ? "solid" : "gradient");
|
|
2553
2553
|
}
|
|
2554
2554
|
if (!i) return;
|
|
@@ -2556,68 +2556,66 @@ const ct = (c, t, e) => {
|
|
|
2556
2556
|
a !== -1 && o.splice(a, 1), o.unshift(i), o.length > this.MAX_COLORS && (o.length = this.MAX_COLORS), this.persist();
|
|
2557
2557
|
}
|
|
2558
2558
|
};
|
|
2559
|
-
|
|
2560
|
-
let
|
|
2559
|
+
z.STORAGE_KEY = "settingsLib_recentColors", z.MAX_COLORS = 12, z.colors = null;
|
|
2560
|
+
let B = z;
|
|
2561
2561
|
const et = (c, t) => {
|
|
2562
2562
|
const e = document.createElement("div");
|
|
2563
2563
|
e.className = "color-picker-recent-section";
|
|
2564
2564
|
const i = document.createElement("div");
|
|
2565
2565
|
i.className = "color-picker-recent-title", i.textContent = "Recently Used";
|
|
2566
2566
|
const s = document.createElement("div");
|
|
2567
|
-
s.className = "color-picker-
|
|
2568
|
-
const n = ()
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
const l = document.createElement("div");
|
|
2576
|
-
l.className = "color-picker-recent-placeholder", l.textContent = "No recent colors yet", e.appendChild(i), e.appendChild(a), e.appendChild(l);
|
|
2577
|
-
const r = () => {
|
|
2578
|
-
n(), a.innerHTML = "";
|
|
2579
|
-
const d = $.getColors(t);
|
|
2580
|
-
if (d.length === 0) {
|
|
2581
|
-
a.style.display = "none", l.style.display = "block";
|
|
2567
|
+
s.className = "color-picker-recent-grid";
|
|
2568
|
+
const n = document.createElement("div");
|
|
2569
|
+
n.className = "color-picker-recent-placeholder", n.textContent = "No recent colors yet", e.appendChild(i), e.appendChild(s), e.appendChild(n);
|
|
2570
|
+
const o = () => {
|
|
2571
|
+
s.innerHTML = "";
|
|
2572
|
+
const a = B.getColors(t);
|
|
2573
|
+
if (a.length === 0) {
|
|
2574
|
+
s.style.display = "none", n.style.display = "block";
|
|
2582
2575
|
return;
|
|
2583
2576
|
}
|
|
2584
|
-
|
|
2585
|
-
const
|
|
2586
|
-
|
|
2587
|
-
const
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2577
|
+
s.style.display = "grid", n.style.display = "none", a.forEach((l) => {
|
|
2578
|
+
const r = document.createElement("button");
|
|
2579
|
+
r.type = "button", r.className = "color-picker-recent-swatch";
|
|
2580
|
+
const h = Wt(l);
|
|
2581
|
+
r.title = h, r.setAttribute("aria-label", `Use color: ${h}`), r.style.background = l, r.style.borderColor = l;
|
|
2582
|
+
const p = document.createElement("div");
|
|
2583
|
+
p.className = "color-picker-tooltip", p.textContent = h, p.style.display = "none", document.body.appendChild(p), r.addEventListener("mouseenter", (d) => {
|
|
2584
|
+
const u = r.getBoundingClientRect();
|
|
2585
|
+
p.style.display = "block", p.style.left = `${u.left + u.width / 2}px`, p.style.top = `${u.bottom + 8}px`;
|
|
2586
|
+
}), r.addEventListener("mouseleave", () => {
|
|
2587
|
+
p.style.display = "none", r.style.boxShadow = "";
|
|
2588
|
+
}), r.addEventListener("mousedown", () => {
|
|
2589
|
+
r.style.boxShadow = "0px 0px 0px 2px var(--grey40)";
|
|
2590
|
+
}), r.addEventListener("mouseup", () => {
|
|
2593
2591
|
setTimeout(() => {
|
|
2594
|
-
|
|
2592
|
+
r.style.boxShadow = "";
|
|
2595
2593
|
}, 150);
|
|
2596
|
-
}),
|
|
2597
|
-
|
|
2598
|
-
}),
|
|
2594
|
+
}), r.addEventListener("click", () => c(l)), r.addEventListener("DOMNodeRemoved", () => {
|
|
2595
|
+
p.parentNode && p.parentNode.removeChild(p);
|
|
2596
|
+
}), s.appendChild(r);
|
|
2599
2597
|
});
|
|
2600
2598
|
};
|
|
2601
|
-
return
|
|
2602
|
-
},
|
|
2603
|
-
const t =
|
|
2599
|
+
return o(), { container: e, refresh: o };
|
|
2600
|
+
}, Wt = (c) => {
|
|
2601
|
+
const t = P(c);
|
|
2604
2602
|
if (t)
|
|
2605
|
-
return
|
|
2606
|
-
const e =
|
|
2603
|
+
return _(t);
|
|
2604
|
+
const e = A(c);
|
|
2607
2605
|
if (e) {
|
|
2608
|
-
const i =
|
|
2606
|
+
const i = k(e);
|
|
2609
2607
|
return `${e} (RGB: ${i.r}, ${i.g}, ${i.b})`;
|
|
2610
2608
|
}
|
|
2611
2609
|
return c;
|
|
2612
|
-
},
|
|
2610
|
+
}, ut = `<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2613
2611
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
2614
2612
|
d="M6.12347 4.96653L1.41158 0.254304C1.25449 0.102568 1.04409 0.0186071 0.825694 0.0205049C0.607302 0.0224037 0.398393 0.110007 0.24396 0.26445C0.0895282 0.418893 0.0019303 0.627818 3.24698e-05 0.846225C-0.00186536 1.06463 0.0820894 1.27505 0.233815 1.43215L4.9457 6.14438L0.233814 10.8566C0.0820886 11.0137 -0.00186625 11.2241 3.15434e-05 11.4425C0.00192934 11.6609 0.0895272 11.8699 0.243959 12.0243C0.398392 12.1787 0.607301 12.2663 0.825693 12.2682C1.04408 12.2701 1.25449 12.1862 1.41158 12.0344L6.12347 7.32222L10.8354 12.0344C10.9932 12.1824 11.2023 12.2632 11.4186 12.2597C11.6349 12.2562 11.8414 12.1687 11.9943 12.0156C12.1472 11.8626 12.2346 11.6561 12.2379 11.4398C12.2413 11.2234 12.1604 11.0143 12.0123 10.8566L7.30123 6.14438L12.0131 1.43215C12.0927 1.35531 12.1561 1.2634 12.1998 1.16177C12.2434 1.06014 12.2664 0.950833 12.2674 0.84023C12.2683 0.729626 12.2473 0.61994 12.2054 0.517568C12.1635 0.415196 12.1017 0.322191 12.0234 0.243979C11.9452 0.165768 11.8522 0.103916 11.7499 0.0620327C11.6475 0.0201492 11.5378 -0.000927989 11.4272 3.33052e-05C11.3166 0.000993646 11.2073 0.0239743 11.1057 0.0676297C11.0041 0.111286 10.9122 0.174745 10.8354 0.254305L6.12347 4.96653Z"
|
|
2615
2613
|
fill="#919EAB"/>
|
|
2616
|
-
</svg>`,
|
|
2614
|
+
</svg>`, jt = `<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2617
2615
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.1972 3.29156C18.936 3.03034 18.6259 2.82313 18.2847 2.68176C17.9434 2.54039 17.5777 2.46763 17.2083 2.46763C16.8389 2.46763 16.4731 2.54039 16.1319 2.68176C15.7906 2.82313 15.4805 3.03034 15.2194 3.29156L13.7822 4.72875C13.2585 4.4772 12.6697 4.39449 12.097 4.49207C11.5243 4.58964 10.9961 4.86267 10.5853 5.27343L9.91687 5.94281C9.74268 6.11693 9.6045 6.32366 9.51023 6.5512C9.41595 6.77873 9.36743 7.02261 9.36743 7.2689C9.36743 7.5152 9.41595 7.75907 9.51023 7.98661C9.6045 8.21414 9.74268 8.42088 9.91687 8.595L3.83625 14.6747C3.57512 14.936 3.36803 15.2462 3.2268 15.5875C3.08556 15.9288 3.01296 16.2947 3.01312 16.6641V18.3516C3.01312 18.6499 3.13165 18.9361 3.34263 19.1471C3.55361 19.358 3.83975 19.4766 4.13812 19.4766H5.82562C6.57129 19.4759 7.28618 19.1792 7.81312 18.6516L13.8937 12.5728C14.0679 12.747 14.2746 12.8852 14.5021 12.9795C14.7297 13.0737 14.9735 13.1223 15.2198 13.1223C15.4661 13.1223 15.71 13.0737 15.9375 12.9795C16.1651 12.8852 16.3718 12.747 16.5459 12.5728L17.2153 11.9025C17.6261 11.4917 17.8991 10.9635 17.9967 10.3908C18.0942 9.81811 18.0115 9.22926 17.76 8.70562L19.1972 7.26937C19.4584 7.0082 19.6656 6.69813 19.807 6.35687C19.9484 6.01561 20.0211 5.64985 20.0211 5.28047C20.0211 4.91108 19.9484 4.54532 19.807 4.20406C19.6656 3.8628 19.4584 3.55273 19.1972 3.29156ZM5.16281 16.0012L11.2425 9.92062L12.5681 11.2462L6.48844 17.3269C6.31266 17.5027 6.07424 17.6015 5.82562 17.6016H4.88812V16.6641C4.88818 16.4154 4.98698 16.177 5.16281 16.0012Z" fill="#353C47"/>
|
|
2618
|
-
</svg>`,
|
|
2616
|
+
</svg>`, qt = `<svg width="15" height="17" viewBox="0 0 15 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2619
2617
|
<path d="M14.1333 12.4667H0.8M0.8 12.4667L4.13333 9.13332M0.8 12.4667L4.13333 15.8M0.8 4.13332H14.1333M14.1333 4.13332L10.8 0.799988M14.1333 4.13332L10.8 7.46665" stroke="#919EAB" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2620
|
-
</svg>`,
|
|
2618
|
+
</svg>`, _t = `<svg width="14" height="2" viewBox="0 0 14 2" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2621
2619
|
<path d="M0.8 0.800003H12.4667" stroke="#919EAB" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2622
2620
|
</svg>`;
|
|
2623
2621
|
class Jt {
|
|
@@ -2626,18 +2624,10 @@ class Jt {
|
|
|
2626
2624
|
if (!this.isOpen) return;
|
|
2627
2625
|
const s = i.target;
|
|
2628
2626
|
if (this.element.contains(s)) return;
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
const n = document.querySelectorAll(
|
|
2634
|
-
".gstop-color-input, .gstop-color-preview, .gradient-mini-preview"
|
|
2635
|
-
);
|
|
2636
|
-
if (Array.from(n).some(
|
|
2637
|
-
(l) => l.contains(s)
|
|
2638
|
-
)) return;
|
|
2639
|
-
const a = document.querySelector(".gradient-popover");
|
|
2640
|
-
a && a.contains(s) || (i.preventDefault(), i.stopPropagation(), this.close(!0));
|
|
2627
|
+
const n = document.querySelectorAll(".gstop-color-input");
|
|
2628
|
+
Array.from(n).some(
|
|
2629
|
+
(a) => a.contains(s)
|
|
2630
|
+
) || (i.preventDefault(), i.stopPropagation(), this.close(!0));
|
|
2641
2631
|
}, this.keyDown = (i) => {
|
|
2642
2632
|
if (this.isOpen) {
|
|
2643
2633
|
if (i.key === "Escape")
|
|
@@ -2662,7 +2652,7 @@ class Jt {
|
|
|
2662
2652
|
const i = document.createElement("span");
|
|
2663
2653
|
i.textContent = "Color";
|
|
2664
2654
|
const s = document.createElement("button");
|
|
2665
|
-
s.className = "color-picker-close", s.innerHTML =
|
|
2655
|
+
s.className = "color-picker-close", s.innerHTML = ut, s.addEventListener("click", () => this.close(!0)), e.appendChild(i), e.appendChild(s), ct(e, t);
|
|
2666
2656
|
const n = document.createElement("div");
|
|
2667
2657
|
n.className = "color-picker-area", this.colorArea = n;
|
|
2668
2658
|
const o = document.createElement("div");
|
|
@@ -2670,38 +2660,38 @@ class Jt {
|
|
|
2670
2660
|
const a = document.createElement("div");
|
|
2671
2661
|
a.className = "color-picker-sliders-container";
|
|
2672
2662
|
const l = document.createElement("button");
|
|
2673
|
-
l.className = "color-picker-eyedropper", l.type = "button", l.innerHTML =
|
|
2663
|
+
l.className = "color-picker-eyedropper", l.type = "button", l.innerHTML = jt;
|
|
2674
2664
|
const r = document.createElement("div");
|
|
2675
2665
|
r.className = "color-picker-sliders-group";
|
|
2676
|
-
const d = document.createElement("div");
|
|
2677
|
-
d.className = "color-picker-hue", this.hueSlider = d;
|
|
2678
2666
|
const h = document.createElement("div");
|
|
2679
|
-
h.className = "color-picker-hue
|
|
2667
|
+
h.className = "color-picker-hue", this.hueSlider = h;
|
|
2680
2668
|
const p = document.createElement("div");
|
|
2681
|
-
p.className = "color-picker-
|
|
2669
|
+
p.className = "color-picker-hue-marker", this.hueMarker = p, h.appendChild(p);
|
|
2670
|
+
const d = document.createElement("div");
|
|
2671
|
+
d.className = "color-picker-opacity", this.opacitySlider = d;
|
|
2682
2672
|
const u = document.createElement("div");
|
|
2683
|
-
u.className = "color-picker-opacity-marker", this.opacityMarker = u,
|
|
2684
|
-
const
|
|
2685
|
-
var
|
|
2686
|
-
this.setColor(E), (
|
|
2673
|
+
u.className = "color-picker-opacity-marker", this.opacityMarker = u, d.appendChild(u), r.appendChild(h), r.appendChild(d), a.appendChild(l), a.appendChild(r);
|
|
2674
|
+
const m = et((E) => {
|
|
2675
|
+
var x;
|
|
2676
|
+
this.setColor(E), (x = this.onChange) == null || x.call(this, E, this.currentOpacity);
|
|
2687
2677
|
}, this.recentScope);
|
|
2688
|
-
this.recentSectionRefresh =
|
|
2678
|
+
this.recentSectionRefresh = m.refresh;
|
|
2689
2679
|
const f = document.createElement("div");
|
|
2690
2680
|
f.className = "color-picker-format-section";
|
|
2691
|
-
const
|
|
2692
|
-
|
|
2693
|
-
const v = document.createElement("option");
|
|
2694
|
-
v.value = "hex", v.textContent = "HEX";
|
|
2681
|
+
const g = document.createElement("select");
|
|
2682
|
+
g.className = "color-picker-format-select", this.select = g;
|
|
2695
2683
|
const C = document.createElement("option");
|
|
2696
|
-
C.value = "
|
|
2697
|
-
const
|
|
2698
|
-
|
|
2699
|
-
const
|
|
2700
|
-
|
|
2684
|
+
C.value = "hex", C.textContent = "HEX";
|
|
2685
|
+
const y = document.createElement("option");
|
|
2686
|
+
y.value = "rgb", y.textContent = "RGB";
|
|
2687
|
+
const L = document.createElement("option");
|
|
2688
|
+
L.value = "hsl", L.textContent = "HSL", g.appendChild(C), g.appendChild(y), g.appendChild(L);
|
|
2689
|
+
const I = document.createElement("input");
|
|
2690
|
+
I.type = "text", I.className = "color-picker-color-input", I.value = this.currentColor, this.input = I;
|
|
2701
2691
|
const O = document.createElement("div");
|
|
2702
2692
|
O.className = "color-picker-input-container";
|
|
2703
|
-
const
|
|
2704
|
-
return
|
|
2693
|
+
const v = document.createElement("button");
|
|
2694
|
+
return v.className = "color-picker-copy-inside", v.textContent = "Copy", O.appendChild(I), O.appendChild(v), f.appendChild(g), f.appendChild(O), t.appendChild(e), t.appendChild(n), t.appendChild(a), t.appendChild(m.container), t.appendChild(f), t.addEventListener("click", (E) => E.stopPropagation()), this.bind(n, h, d, I, g, v, l), t;
|
|
2705
2695
|
}
|
|
2706
2696
|
createBackdrop() {
|
|
2707
2697
|
const t = document.createElement("div");
|
|
@@ -2710,44 +2700,44 @@ class Jt {
|
|
|
2710
2700
|
}), t;
|
|
2711
2701
|
}
|
|
2712
2702
|
bind(t, e, i, s, n, o, a) {
|
|
2713
|
-
const l = (
|
|
2714
|
-
var
|
|
2715
|
-
const
|
|
2716
|
-
this.colorMarker.style.left = `${u * 100}%`, this.colorMarker.style.top = `${
|
|
2717
|
-
const
|
|
2718
|
-
this.currentColor =
|
|
2719
|
-
}, r = (
|
|
2720
|
-
var
|
|
2721
|
-
const
|
|
2722
|
-
let u = Math.max(0, Math.min(1, (
|
|
2703
|
+
const l = (p) => {
|
|
2704
|
+
var y;
|
|
2705
|
+
const d = t.getBoundingClientRect(), u = Math.max(0, Math.min(1, (p.clientX - d.left) / d.width)), m = Math.max(0, Math.min(1, (p.clientY - d.top) / d.height));
|
|
2706
|
+
this.colorMarker.style.left = `${u * 100}%`, this.colorMarker.style.top = `${m * 100}%`;
|
|
2707
|
+
const g = this.parsePercentage(this.hueMarker.style.left || "0%") * 360, C = G(g, u, 1 - m);
|
|
2708
|
+
this.currentColor = C, this.syncInput(), this.updateOpacityBg(), (y = this.onChange) == null || y.call(this, C, this.currentOpacity);
|
|
2709
|
+
}, r = (p) => {
|
|
2710
|
+
var y;
|
|
2711
|
+
const d = e.getBoundingClientRect();
|
|
2712
|
+
let u = Math.max(0, Math.min(1, (p.clientX - d.left) / d.width));
|
|
2723
2713
|
this.hueMarker.style.left = `${u * 100}%`;
|
|
2724
|
-
const
|
|
2725
|
-
this.currentColor =
|
|
2726
|
-
},
|
|
2727
|
-
var
|
|
2728
|
-
const
|
|
2729
|
-
this.opacityMarker.style.left = `${u * 100}%`, this.currentOpacity = Math.round(u * 100), (
|
|
2714
|
+
const m = u * 360, f = this.parsePercentage(this.colorMarker.style.left || "0%"), g = this.parsePercentage(this.colorMarker.style.top || "0%"), C = G(m, f, 1 - g);
|
|
2715
|
+
this.currentColor = C, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${m}, 100%, 50%))`, this.syncInput(), this.updateOpacityBg(), (y = this.onChange) == null || y.call(this, C, this.currentOpacity);
|
|
2716
|
+
}, h = (p) => {
|
|
2717
|
+
var m;
|
|
2718
|
+
const d = i.getBoundingClientRect(), u = Math.max(0, Math.min(1, (p.clientX - d.left) / d.width));
|
|
2719
|
+
this.opacityMarker.style.left = `${u * 100}%`, this.currentOpacity = Math.round(u * 100), (m = this.onChange) == null || m.call(this, this.currentColor, this.currentOpacity);
|
|
2730
2720
|
};
|
|
2731
|
-
t.addEventListener("mousedown", (
|
|
2732
|
-
|
|
2733
|
-
const
|
|
2734
|
-
document.removeEventListener("mousemove",
|
|
2721
|
+
t.addEventListener("mousedown", (p) => {
|
|
2722
|
+
p.preventDefault(), l(p);
|
|
2723
|
+
const d = (m) => l(m), u = () => {
|
|
2724
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", u);
|
|
2735
2725
|
};
|
|
2736
|
-
document.addEventListener("mousemove",
|
|
2737
|
-
}), e.addEventListener("mousedown", (
|
|
2738
|
-
|
|
2739
|
-
const
|
|
2740
|
-
document.removeEventListener("mousemove",
|
|
2726
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", u);
|
|
2727
|
+
}), e.addEventListener("mousedown", (p) => {
|
|
2728
|
+
p.preventDefault(), r(p);
|
|
2729
|
+
const d = (m) => r(m), u = () => {
|
|
2730
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", u);
|
|
2741
2731
|
};
|
|
2742
|
-
document.addEventListener("mousemove",
|
|
2743
|
-
}), i.addEventListener("mousedown", (
|
|
2744
|
-
|
|
2745
|
-
const
|
|
2746
|
-
document.removeEventListener("mousemove",
|
|
2732
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", u);
|
|
2733
|
+
}), i.addEventListener("mousedown", (p) => {
|
|
2734
|
+
p.preventDefault(), h(p);
|
|
2735
|
+
const d = (m) => h(m), u = () => {
|
|
2736
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", u);
|
|
2747
2737
|
};
|
|
2748
|
-
document.addEventListener("mousemove",
|
|
2749
|
-
}), n.addEventListener("change", () => this.syncInput()), s.addEventListener("input", () => this.applyFromInput()), s.addEventListener("blur", () => this.syncInput()), s.addEventListener("keydown", (
|
|
2750
|
-
|
|
2738
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", u);
|
|
2739
|
+
}), n.addEventListener("change", () => this.syncInput()), s.addEventListener("input", () => this.applyFromInput()), s.addEventListener("blur", () => this.syncInput()), s.addEventListener("keydown", (p) => {
|
|
2740
|
+
p.key === "Enter" && (p.preventDefault(), this.syncInput(), s.blur());
|
|
2751
2741
|
}), o.addEventListener("click", async () => {
|
|
2752
2742
|
try {
|
|
2753
2743
|
await navigator.clipboard.writeText(s.value);
|
|
@@ -2755,14 +2745,14 @@ class Jt {
|
|
|
2755
2745
|
s.select(), document.execCommand("copy");
|
|
2756
2746
|
}
|
|
2757
2747
|
}), a.addEventListener("click", async () => {
|
|
2758
|
-
var
|
|
2748
|
+
var p;
|
|
2759
2749
|
if (!("EyeDropper" in window)) {
|
|
2760
2750
|
alert("EyeDropper API is not supported in this browser.");
|
|
2761
2751
|
return;
|
|
2762
2752
|
}
|
|
2763
2753
|
try {
|
|
2764
|
-
const
|
|
2765
|
-
this.setColor(u), (
|
|
2754
|
+
const d = new window.EyeDropper(), { sRGBHex: u } = await d.open();
|
|
2755
|
+
this.setColor(u), (p = this.onChange) == null || p.call(this, u, this.currentOpacity);
|
|
2766
2756
|
} catch {
|
|
2767
2757
|
}
|
|
2768
2758
|
}), document.addEventListener("keydown", this.keyDown, !0), setTimeout(
|
|
@@ -2773,17 +2763,17 @@ class Jt {
|
|
|
2773
2763
|
setColor(t) {
|
|
2774
2764
|
var o;
|
|
2775
2765
|
this.currentColor = t;
|
|
2776
|
-
const { h: e, s: i, v: s } =
|
|
2766
|
+
const { h: e, s: i, v: s } = H(t), n = e >= 360 ? e % 360 : e;
|
|
2777
2767
|
this.hueMarker.style.left = `${n / 360 * 100}%`, this.colorMarker.style.left = `${i * 100}%`, this.colorMarker.style.top = `${(1 - s) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${n}, 100%, 50%))`, this.syncInput(), this.updateOpacityBg(), (o = this.onChange) == null || o.call(this, t, this.currentOpacity);
|
|
2778
2768
|
}
|
|
2779
2769
|
syncInput() {
|
|
2780
|
-
const t = this.select.value, { h: e, s: i, v: s } =
|
|
2770
|
+
const t = this.select.value, { h: e, s: i, v: s } = H(this.currentColor);
|
|
2781
2771
|
if (t === "hex") this.input.value = this.currentColor;
|
|
2782
2772
|
else if (t === "rgb") {
|
|
2783
|
-
const { r: n, g: o, b: a } =
|
|
2773
|
+
const { r: n, g: o, b: a } = k(this.currentColor);
|
|
2784
2774
|
this.input.value = `rgb(${n}, ${o}, ${a})`;
|
|
2785
2775
|
} else {
|
|
2786
|
-
const { hue: n, sat: o, lightness: a } =
|
|
2776
|
+
const { hue: n, sat: o, lightness: a } = Rt(e, i, s);
|
|
2787
2777
|
this.input.value = `hsl(${Math.round(n)}, ${Math.round(
|
|
2788
2778
|
o * 100
|
|
2789
2779
|
)}%, ${Math.round(a * 100)}%)`;
|
|
@@ -2802,34 +2792,34 @@ class Jt {
|
|
|
2802
2792
|
const s = t.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);
|
|
2803
2793
|
if (s) {
|
|
2804
2794
|
const n = parseInt(s[1]), o = parseInt(s[2]) / 100, a = parseInt(s[3]) / 100, l = a + o * Math.min(a, 1 - a), r = l === 0 ? 0 : 2 * (1 - a / l);
|
|
2805
|
-
e =
|
|
2795
|
+
e = G(n, r, l);
|
|
2806
2796
|
}
|
|
2807
2797
|
}
|
|
2808
2798
|
}
|
|
2809
2799
|
e && this.setColor(e);
|
|
2810
2800
|
}
|
|
2811
2801
|
updateOpacityBg() {
|
|
2812
|
-
const { r: t, g: e, b: i } =
|
|
2802
|
+
const { r: t, g: e, b: i } = k(this.currentColor);
|
|
2813
2803
|
this.opacitySlider.style.setProperty(
|
|
2814
2804
|
"--base-color",
|
|
2815
2805
|
`rgb(${t}, ${e}, ${i})`
|
|
2816
2806
|
);
|
|
2817
2807
|
}
|
|
2818
2808
|
open(t, e, i) {
|
|
2819
|
-
var
|
|
2809
|
+
var L;
|
|
2820
2810
|
this.currentColor = t, this.currentOpacity = i ?? 100, this.syncInput();
|
|
2821
|
-
const { h: s, s: n, v: o } =
|
|
2822
|
-
this.hueMarker.style.left = `${s / 360 * 100}%`, this.colorMarker.style.left = `${n * 100}%`, this.colorMarker.style.top = `${(1 - o) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${s}, 100%, 50%))`, this.updateOpacityBg(), this.opacityMarker.style.left = `${this.currentOpacity}%`, (
|
|
2823
|
-
const a = this.element.offsetWidth, l = this.element.offsetHeight, r = e.getBoundingClientRect(),
|
|
2824
|
-
let u = r.right + 8,
|
|
2825
|
-
const f =
|
|
2826
|
-
f >= a +
|
|
2827
|
-
const
|
|
2828
|
-
|
|
2811
|
+
const { h: s, s: n, v: o } = H(t);
|
|
2812
|
+
this.hueMarker.style.left = `${s / 360 * 100}%`, this.colorMarker.style.left = `${n * 100}%`, this.colorMarker.style.top = `${(1 - o) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${s}, 100%, 50%))`, this.updateOpacityBg(), this.opacityMarker.style.left = `${this.currentOpacity}%`, (L = this.recentSectionRefresh) == null || L.call(this), this.isOpen = !0, this.backdrop.style.display = "block", this.backdrop.parentElement || document.body.appendChild(this.backdrop), this.element.style.display = "block", this.element.style.position = "fixed", this.element.style.zIndex = "10002", this.element.style.left = "-9999px", this.element.style.top = "0px", this.element.parentElement || document.body.appendChild(this.element);
|
|
2813
|
+
const a = this.element.offsetWidth, l = this.element.offsetHeight, r = e.getBoundingClientRect(), h = window.innerWidth, p = window.innerHeight, d = 16;
|
|
2814
|
+
let u = r.right + 8, m = r.top;
|
|
2815
|
+
const f = h - r.right, g = r.left;
|
|
2816
|
+
f >= a + d ? u = r.right + 8 : g >= a + d ? u = r.left - a - 8 : u = Math.max(d, (h - a) / 2);
|
|
2817
|
+
const C = p - r.bottom, y = r.top;
|
|
2818
|
+
C >= l + d ? m = r.bottom + 8 : y >= l + d ? m = r.top - l - 8 : C > y ? (m = r.bottom + 8, m + l > p - d && (m = p - l - d)) : (m = r.top - l - 8, m < d && (m = d)), this.element.style.left = `${u}px`, this.element.style.top = `${m}px`;
|
|
2829
2819
|
}
|
|
2830
2820
|
close(t) {
|
|
2831
2821
|
var e;
|
|
2832
|
-
this.isOpen && (this.isOpen = !1, this.backdrop.style.display = "none", this.element.style.display = "none", document.removeEventListener("click", this.outsideClick, !0), document.removeEventListener("keydown", this.keyDown, !0), t && this.onChange && this.recentScope === "solid" && (
|
|
2822
|
+
this.isOpen && (this.isOpen = !1, this.backdrop.style.display = "none", this.element.style.display = "none", document.removeEventListener("click", this.outsideClick, !0), document.removeEventListener("keydown", this.keyDown, !0), t && this.onChange && this.recentScope === "solid" && (B.addColor(this.currentColor, this.recentScope), (e = this.recentSectionRefresh) == null || e.call(this)));
|
|
2833
2823
|
}
|
|
2834
2824
|
getElement() {
|
|
2835
2825
|
return this.element;
|
|
@@ -2837,194 +2827,238 @@ class Jt {
|
|
|
2837
2827
|
}
|
|
2838
2828
|
class Xt {
|
|
2839
2829
|
constructor(t) {
|
|
2840
|
-
this.
|
|
2841
|
-
}
|
|
2842
|
-
parsePercentage(t) {
|
|
2843
|
-
const e = parseFloat(t);
|
|
2844
|
-
return isNaN(e) ? 0 : e / 100;
|
|
2830
|
+
this.recentScope = "all", this.currentColor = t.initialColor, this.currentOpacity = t.initialOpacity, this.onColorChange = t.onColorChange, t.scope && (this.recentScope = t.scope), this.container = this.createContainer(), this.initializePicker();
|
|
2845
2831
|
}
|
|
2846
|
-
|
|
2832
|
+
createContainer() {
|
|
2847
2833
|
const t = document.createElement("div");
|
|
2848
|
-
t.className = "embedded-color-picker"
|
|
2849
|
-
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2834
|
+
t.className = "embedded-color-picker-content", t.innerHTML = `
|
|
2835
|
+
<div class="color-picker-area embedded">
|
|
2836
|
+
<div class="color-picker-marker"></div>
|
|
2837
|
+
</div>
|
|
2838
|
+
<div class="color-picker-sliders-container embedded">
|
|
2839
|
+
<button class="color-picker-eyedropper">
|
|
2840
|
+
<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2841
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M19.1972 3.29156C18.936 3.03034 18.6259 2.82313 18.2847 2.68176C17.9434 2.54039 17.5777 2.46763 17.2083 2.46763C16.8389 2.46763 16.4731 2.54039 16.1319 2.68176C15.7906 2.82313 15.4805 3.03034 15.2194 3.29156L13.7822 4.72875C13.2585 4.4772 12.6697 4.39449 12.097 4.49207C11.5243 4.58964 10.9961 4.86267 10.5853 5.27343L9.91687 5.94281C9.74268 6.11693 9.6045 6.32366 9.51023 6.5512C9.41595 6.77873 9.36743 7.02261 9.36743 7.2689C9.36743 7.5152 9.41595 7.75907 9.51023 7.98661C9.6045 8.21414 9.74268 8.42088 9.91687 8.595L3.83625 14.6747C3.57512 14.936 3.36803 15.2462 3.2268 15.5875C3.08556 15.9288 3.01296 16.2947 3.01312 16.6641V18.3516C3.01312 18.6499 3.13165 18.9361 3.34263 19.1471C3.55361 19.358 3.83975 19.4766 4.13812 19.4766H5.82562C6.57129 19.4759 7.28618 19.1792 7.81312 18.6516L13.8937 12.5728C14.0679 12.747 14.2746 12.8852 14.5021 12.9795C14.7297 13.0737 14.9735 13.1223 15.2198 13.1223C15.4661 13.1223 15.71 13.0737 15.9375 12.9795C16.1651 12.8852 16.3718 12.747 16.5459 12.5728L17.2153 11.9025C17.6261 11.4917 17.8991 10.9635 17.9967 10.3908C18.0942 9.81811 18.0115 9.22926 17.76 8.70562L19.1972 7.26937C19.4584 7.0082 19.6656 6.69813 19.807 6.35687C19.9484 6.01561 20.0211 5.64985 20.0211 5.28047C20.0211 4.91108 19.9484 4.54532 19.807 4.20406C19.6656 3.8628 19.4584 3.55273 19.1972 3.29156ZM5.16281 16.0012L11.2425 9.92062L12.5681 11.2462L6.48844 17.3269C6.31266 17.5027 6.07424 17.6015 5.82562 17.6016H4.88812V16.6641C4.88818 16.4154 4.98698 16.177 5.16281 16.0012Z" fill="#353C47"/>
|
|
2842
|
+
</svg>
|
|
2843
|
+
</button>
|
|
2844
|
+
<div class="color-picker-sliders-group">
|
|
2845
|
+
<div class="color-picker-hue embedded">
|
|
2846
|
+
<div class="color-picker-hue-marker"></div>
|
|
2847
|
+
</div>
|
|
2848
|
+
<div class="color-picker-opacity embedded">
|
|
2849
|
+
<div class="color-picker-opacity-marker"></div>
|
|
2850
|
+
</div>
|
|
2851
|
+
</div>
|
|
2852
|
+
</div>
|
|
2853
|
+
<div class="color-picker-format-section embedded">
|
|
2854
|
+
<select class="color-picker-format-select">
|
|
2855
|
+
<option value="hex">HEX</option>
|
|
2856
|
+
<option value="rgb">RGB</option>
|
|
2857
|
+
<option value="hsl">HSL</option>
|
|
2858
|
+
</select>
|
|
2859
|
+
<div class="color-picker-input-container">
|
|
2860
|
+
<input type="text" class="color-picker-color-input" />
|
|
2861
|
+
<button class="color-picker-copy-inside">Copy</button>
|
|
2862
|
+
</div>
|
|
2863
|
+
</div>
|
|
2864
|
+
`;
|
|
2865
|
+
const e = et((i) => {
|
|
2866
|
+
this.applyRecentColor(i);
|
|
2869
2867
|
}, this.recentScope);
|
|
2870
|
-
this.recentSectionRefresh =
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2868
|
+
return this.recentSectionRefresh = e.refresh, t.appendChild(e.container), t;
|
|
2869
|
+
}
|
|
2870
|
+
initializePicker() {
|
|
2871
|
+
this.colorArea = this.container.querySelector(
|
|
2872
|
+
".color-picker-area"
|
|
2873
|
+
), this.colorMarker = this.container.querySelector(
|
|
2874
|
+
".color-picker-marker"
|
|
2875
|
+
), this.hueSlider = this.container.querySelector(
|
|
2876
|
+
".color-picker-hue"
|
|
2877
|
+
), this.hueMarker = this.container.querySelector(
|
|
2878
|
+
".color-picker-hue-marker"
|
|
2879
|
+
), this.opacitySlider = this.container.querySelector(
|
|
2880
|
+
".color-picker-opacity"
|
|
2881
|
+
), this.opacityMarker = this.container.querySelector(
|
|
2882
|
+
".color-picker-opacity-marker"
|
|
2883
|
+
), this.formatSelect = this.container.querySelector(
|
|
2884
|
+
".color-picker-format-select"
|
|
2885
|
+
), this.colorInput = this.container.querySelector(
|
|
2886
|
+
".color-picker-color-input"
|
|
2887
|
+
);
|
|
2888
|
+
const t = this.container.querySelector(
|
|
2889
|
+
".color-picker-copy-inside"
|
|
2890
|
+
), { h: e, s: i, v: s } = H(this.currentColor);
|
|
2891
|
+
this.hueMarker.style.left = `${e / 360 * 100}%`, this.colorMarker.style.left = `${i * 100}%`, this.colorMarker.style.top = `${(1 - s) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${e}, 100%, 50%))`, this.opacityMarker.style.left = `${this.currentOpacity}%`, this.updateOpacityBackground(this.opacitySlider), this.updateColorInput(this.formatSelect, this.colorInput), this.setupColorAreaEvents(), this.setupHueSliderEvents(), this.setupOpacitySliderEvents(), this.setupFormatEvents(t);
|
|
2892
|
+
}
|
|
2893
|
+
scheduleInputUpdate() {
|
|
2894
|
+
this.inputUpdateTimeout && clearTimeout(this.inputUpdateTimeout), this.inputUpdateTimeout = window.setTimeout(() => {
|
|
2895
|
+
this.updateColorInput(this.formatSelect, this.colorInput);
|
|
2896
|
+
}, 16);
|
|
2887
2897
|
}
|
|
2888
|
-
|
|
2889
|
-
const
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
2898
|
+
updateOpacityBackground(t) {
|
|
2899
|
+
const e = k(this.currentColor);
|
|
2900
|
+
t.style.setProperty(
|
|
2901
|
+
"--base-color",
|
|
2902
|
+
`rgb(${e.r}, ${e.g}, ${e.b})`
|
|
2903
|
+
);
|
|
2904
|
+
}
|
|
2905
|
+
updateColorInput(t, e) {
|
|
2906
|
+
switch (t.value) {
|
|
2907
|
+
case "hex":
|
|
2908
|
+
e.value = this.currentColor;
|
|
2909
|
+
break;
|
|
2910
|
+
case "rgb":
|
|
2911
|
+
const s = k(this.currentColor);
|
|
2912
|
+
e.value = `rgb(${s.r}, ${s.g}, ${s.b})`;
|
|
2913
|
+
break;
|
|
2914
|
+
case "hsl":
|
|
2915
|
+
const { h: n, s: o, v: a } = H(this.currentColor), l = a * (1 - o / 2), r = l === 0 || l === 1 ? 0 : (a - l) / Math.min(l, 1 - l);
|
|
2916
|
+
e.value = `hsl(${Math.round(n)}, ${Math.round(
|
|
2917
|
+
r * 100
|
|
2918
|
+
)}%, ${Math.round(l * 100)}%)`;
|
|
2919
|
+
break;
|
|
2920
|
+
}
|
|
2921
|
+
}
|
|
2922
|
+
applyRecentColor(t) {
|
|
2923
|
+
this.currentColor = t, t.includes("gradient") || t.includes("radial") || (this.updatePickerVisualState(), this.updateColorInput(this.formatSelect, this.colorInput)), this.triggerChange();
|
|
2924
|
+
}
|
|
2925
|
+
commitRecentColor() {
|
|
2926
|
+
var t;
|
|
2927
|
+
B.addColor(this.currentColor, this.recentScope), (t = this.recentSectionRefresh) == null || t.call(this);
|
|
2928
|
+
}
|
|
2929
|
+
setupColorAreaEvents() {
|
|
2930
|
+
const t = (e) => {
|
|
2931
|
+
const i = this.colorArea.getBoundingClientRect(), s = Math.max(0, Math.min(1, (e.clientX - i.left) / i.width)), n = Math.max(0, Math.min(1, (e.clientY - i.top) / i.height));
|
|
2932
|
+
this.colorMarker.style.left = `${s * 100}%`, this.colorMarker.style.top = `${n * 100}%`;
|
|
2933
|
+
const o = parseFloat(this.hueMarker.style.left || "0%"), a = Math.max(0, Math.min(360, o / 100 * 360)), l = Math.max(0, Math.min(1, s)), r = Math.max(0, Math.min(1, 1 - n)), h = G(a, l, r);
|
|
2934
|
+
this.currentColor = h, this.updateOpacityBackground(this.opacitySlider), this.triggerChange();
|
|
2903
2935
|
};
|
|
2904
|
-
|
|
2905
|
-
|
|
2906
|
-
const
|
|
2907
|
-
|
|
2936
|
+
this.colorArea.addEventListener("mousedown", (e) => {
|
|
2937
|
+
e.preventDefault(), t(e);
|
|
2938
|
+
const i = (n) => t(n), s = () => {
|
|
2939
|
+
document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", s), this.updateColorInput(this.formatSelect, this.colorInput), this.updateOpacityBackground(this.opacitySlider);
|
|
2908
2940
|
};
|
|
2909
|
-
document.addEventListener("mousemove",
|
|
2910
|
-
})
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2941
|
+
document.addEventListener("mousemove", i), document.addEventListener("mouseup", s);
|
|
2942
|
+
});
|
|
2943
|
+
}
|
|
2944
|
+
setupHueSliderEvents() {
|
|
2945
|
+
const t = (e) => {
|
|
2946
|
+
const i = this.hueSlider.getBoundingClientRect();
|
|
2947
|
+
let s = (e.clientX - i.left) / i.width;
|
|
2948
|
+
s = Math.max(0, Math.min(1, s)), this.hueMarker.style.left = `${s * 100}%`;
|
|
2949
|
+
const n = Math.max(0, Math.min(360, s * 360)), o = parseFloat(
|
|
2950
|
+
this.colorMarker.style.left || "50%"
|
|
2951
|
+
), a = parseFloat(this.colorMarker.style.top || "50%"), l = Math.max(
|
|
2952
|
+
0,
|
|
2953
|
+
Math.min(1, (isNaN(o) ? 50 : o) / 100)
|
|
2954
|
+
), r = Math.max(
|
|
2955
|
+
0,
|
|
2956
|
+
Math.min(1, (isNaN(a) ? 50 : a) / 100)
|
|
2957
|
+
);
|
|
2958
|
+
this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${n}, 100%, 50%))`;
|
|
2959
|
+
const h = G(n, l, 1 - r);
|
|
2960
|
+
this.currentColor = h, this.updateOpacityBackground(this.opacitySlider), this.triggerChange();
|
|
2961
|
+
};
|
|
2962
|
+
this.hueSlider.addEventListener("mousedown", (e) => {
|
|
2963
|
+
e.preventDefault(), t(e);
|
|
2964
|
+
const i = (n) => t(n), s = () => {
|
|
2965
|
+
document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", s), this.inputUpdateTimeout && clearTimeout(this.inputUpdateTimeout), this.updateColorInput(this.formatSelect, this.colorInput);
|
|
2914
2966
|
};
|
|
2915
|
-
document.addEventListener("mousemove",
|
|
2916
|
-
})
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2967
|
+
document.addEventListener("mousemove", i), document.addEventListener("mouseup", s);
|
|
2968
|
+
});
|
|
2969
|
+
}
|
|
2970
|
+
setupOpacitySliderEvents() {
|
|
2971
|
+
const t = (e) => {
|
|
2972
|
+
const i = this.opacitySlider.getBoundingClientRect(), s = Math.max(0, Math.min(1, (e.clientX - i.left) / i.width));
|
|
2973
|
+
this.opacityMarker.style.left = `${s * 100}%`, this.currentOpacity = Math.round(s * 100), this.triggerChange();
|
|
2974
|
+
};
|
|
2975
|
+
this.opacitySlider.addEventListener("mousedown", (e) => {
|
|
2976
|
+
e.preventDefault(), t(e);
|
|
2977
|
+
const i = (n) => t(n), s = () => {
|
|
2978
|
+
document.removeEventListener("mousemove", i), document.removeEventListener("mouseup", s);
|
|
2920
2979
|
};
|
|
2921
|
-
document.addEventListener("mousemove",
|
|
2922
|
-
}), n.addEventListener("change", () => {
|
|
2923
|
-
this.syncInput();
|
|
2924
|
-
}), s.addEventListener("input", () => {
|
|
2925
|
-
this.applyFromInput();
|
|
2926
|
-
}), s.addEventListener("blur", () => {
|
|
2927
|
-
this.syncInput();
|
|
2928
|
-
}), s.addEventListener("keydown", (h) => {
|
|
2929
|
-
h.key === "Enter" && (h.preventDefault(), this.syncInput(), s.blur());
|
|
2930
|
-
}), o.addEventListener("click", async () => {
|
|
2931
|
-
try {
|
|
2932
|
-
await navigator.clipboard.writeText(s.value);
|
|
2933
|
-
} catch {
|
|
2934
|
-
s.select(), document.execCommand("copy");
|
|
2935
|
-
}
|
|
2936
|
-
}), a.addEventListener("click", async () => {
|
|
2937
|
-
if (!("EyeDropper" in window)) {
|
|
2938
|
-
alert("EyeDropper API is not supported in this browser.");
|
|
2939
|
-
return;
|
|
2940
|
-
}
|
|
2941
|
-
try {
|
|
2942
|
-
const h = new window.EyeDropper(), { sRGBHex: p } = await h.open();
|
|
2943
|
-
this.setColor(p), this.onColorChange(this.currentColor, this.currentOpacity);
|
|
2944
|
-
} catch {
|
|
2945
|
-
}
|
|
2980
|
+
document.addEventListener("mousemove", i), document.addEventListener("mouseup", s);
|
|
2946
2981
|
});
|
|
2947
2982
|
}
|
|
2948
|
-
|
|
2949
|
-
this.
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2983
|
+
setupFormatEvents(t) {
|
|
2984
|
+
this.formatSelect.addEventListener("change", () => {
|
|
2985
|
+
this.updateColorInput(this.formatSelect, this.colorInput);
|
|
2986
|
+
}), t.addEventListener("click", () => {
|
|
2987
|
+
navigator.clipboard.writeText(this.colorInput.value).catch(() => {
|
|
2988
|
+
this.colorInput.select(), document.execCommand("copy");
|
|
2989
|
+
});
|
|
2990
|
+
}), this.colorInput.addEventListener("input", () => {
|
|
2991
|
+
this.handleManualColorInput(this.colorInput.value, this.formatSelect);
|
|
2992
|
+
}), this.colorInput.addEventListener("blur", () => {
|
|
2993
|
+
this.updateColorInput(this.formatSelect, this.colorInput);
|
|
2994
|
+
});
|
|
2953
2995
|
}
|
|
2954
|
-
|
|
2955
|
-
const
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
2962
|
-
|
|
2963
|
-
|
|
2964
|
-
|
|
2965
|
-
|
|
2996
|
+
handleManualColorInput(t, e) {
|
|
2997
|
+
const i = t.trim();
|
|
2998
|
+
let s = null;
|
|
2999
|
+
switch (e.value) {
|
|
3000
|
+
case "hex":
|
|
3001
|
+
s = this.parseHexInput(i);
|
|
3002
|
+
break;
|
|
3003
|
+
case "rgb":
|
|
3004
|
+
s = this.parseRgbInput(i);
|
|
3005
|
+
break;
|
|
3006
|
+
case "hsl":
|
|
3007
|
+
s = this.parseHslInput(i);
|
|
3008
|
+
break;
|
|
3009
|
+
}
|
|
3010
|
+
s || (s = this.autoDetectColorFormat(i)), s && (this.currentColor = s, this.updatePickerVisualState(), this.triggerChange());
|
|
3011
|
+
}
|
|
3012
|
+
parseHexInput(t) {
|
|
3013
|
+
const e = t.startsWith("#") ? t : `#${t}`;
|
|
3014
|
+
return A(e);
|
|
3015
|
+
}
|
|
3016
|
+
parseRgbInput(t) {
|
|
3017
|
+
const e = t.match(
|
|
3018
|
+
/rgba?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*[\d.]+)?\s*\)/
|
|
3019
|
+
);
|
|
3020
|
+
if (e) {
|
|
3021
|
+
const i = parseInt(e[1]), s = parseInt(e[2]), n = parseInt(e[3]);
|
|
3022
|
+
if (i <= 255 && s <= 255 && n <= 255)
|
|
3023
|
+
return F(i, s, n);
|
|
2966
3024
|
}
|
|
3025
|
+
return null;
|
|
2967
3026
|
}
|
|
2968
|
-
|
|
2969
|
-
const
|
|
2970
|
-
|
|
2971
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
s <= 255 && n <= 255 && o <= 255 && (e = "#" + [s, n, o].map((a) => a.toString(16).padStart(2, "0")).join(""));
|
|
2978
|
-
} else {
|
|
2979
|
-
const s = t.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);
|
|
2980
|
-
if (s) {
|
|
2981
|
-
const n = parseInt(s[1], 10), o = parseInt(s[2], 10) / 100, a = parseInt(s[3], 10) / 100, l = a + o * Math.min(a, 1 - a), r = l === 0 ? 0 : 2 * (1 - a / l);
|
|
2982
|
-
e = R(n, r, l);
|
|
2983
|
-
}
|
|
3027
|
+
parseHslInput(t) {
|
|
3028
|
+
const e = t.match(
|
|
3029
|
+
/hsla?\s*\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*[\d.]+)?\s*\)/
|
|
3030
|
+
);
|
|
3031
|
+
if (e) {
|
|
3032
|
+
const i = parseFloat(e[1]), s = parseFloat(e[2]) / 100, n = parseFloat(e[3]) / 100;
|
|
3033
|
+
if (i >= 0 && i <= 360 && s >= 0 && s <= 1 && n >= 0 && n <= 1) {
|
|
3034
|
+
const o = X(i, s, n);
|
|
3035
|
+
return F(o.r, o.g, o.b);
|
|
2984
3036
|
}
|
|
2985
3037
|
}
|
|
2986
|
-
|
|
2987
|
-
}
|
|
2988
|
-
updateOpacityBg() {
|
|
2989
|
-
const { r: t, g: e, b: i } = M(this.currentColor);
|
|
2990
|
-
this.opacitySlider.style.setProperty(
|
|
2991
|
-
"--base-color",
|
|
2992
|
-
`rgb(${t}, ${e}, ${i})`
|
|
2993
|
-
);
|
|
2994
|
-
}
|
|
2995
|
-
queueChange() {
|
|
2996
|
-
this.changeRafId === void 0 && (this.changeRafId = window.requestAnimationFrame(() => {
|
|
2997
|
-
this.changeRafId = void 0, this.onColorChange(this.currentColor, this.currentOpacity);
|
|
2998
|
-
}));
|
|
2999
|
-
}
|
|
3000
|
-
flushChange() {
|
|
3001
|
-
this.changeRafId !== void 0 && (cancelAnimationFrame(this.changeRafId), this.changeRafId = void 0), this.onColorChange(this.currentColor, this.currentOpacity);
|
|
3038
|
+
return null;
|
|
3002
3039
|
}
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3040
|
+
autoDetectColorFormat(t) {
|
|
3041
|
+
const e = this.parseHexInput(t);
|
|
3042
|
+
if (e) return e;
|
|
3043
|
+
const i = this.parseRgbInput(t);
|
|
3044
|
+
if (i) return i;
|
|
3045
|
+
const s = this.parseHslInput(t);
|
|
3046
|
+
return s || null;
|
|
3007
3047
|
}
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
this.
|
|
3011
|
-
const { h: i, s, v: n } = D(t), o = i >= 360 ? i % 360 : i;
|
|
3012
|
-
this.hueMarker.style.left = `${o / 360 * 100}%`, this.colorMarker.style.left = `${s * 100}%`, this.colorMarker.style.top = `${(1 - n) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent),
|
|
3013
|
-
linear-gradient(to right, #fff, hsl(${o}, 100%, 50%))`, this.opacityMarker.style.left = `${e}%`, this.updateOpacityBg(), this.syncInput(), (a = this.recentSectionRefresh) == null || a.call(this);
|
|
3048
|
+
updatePickerVisualState() {
|
|
3049
|
+
const { h: t, s: e, v: i } = H(this.currentColor);
|
|
3050
|
+
this.hueMarker.style.left = `${t / 360 * 100}%`, this.colorMarker.style.left = `${e * 100}%`, this.colorMarker.style.top = `${(1 - i) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${t}, 100%, 50%))`, this.updateOpacityBackground(this.opacitySlider);
|
|
3014
3051
|
}
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
this.recentScope === "solid" && ($.addColor(this.currentColor, this.recentScope), (t = this.recentSectionRefresh) == null || t.call(this));
|
|
3052
|
+
triggerChange() {
|
|
3053
|
+
this.onColorChange(this.currentColor, this.currentOpacity);
|
|
3018
3054
|
}
|
|
3019
3055
|
getElement() {
|
|
3020
|
-
return this.
|
|
3056
|
+
return this.container;
|
|
3021
3057
|
}
|
|
3022
3058
|
updateColor(t, e) {
|
|
3023
|
-
|
|
3024
|
-
|
|
3025
|
-
|
|
3026
|
-
}
|
|
3027
|
-
this.initFromColor(t, e);
|
|
3059
|
+
this.currentColor = t, this.currentOpacity = e;
|
|
3060
|
+
const { h: i, s, v: n } = H(t), o = i >= 360 ? i % 360 : i;
|
|
3061
|
+
this.hueMarker.style.left = `${o / 360 * 100}%`, this.colorMarker.style.left = `${s * 100}%`, this.colorMarker.style.top = `${(1 - n) * 100}%`, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${o}, 100%, 50%))`, this.opacityMarker.style.left = `${e}%`, this.updateOpacityBackground(this.opacitySlider), this.updateColorInput(this.formatSelect, this.colorInput);
|
|
3028
3062
|
}
|
|
3029
3063
|
}
|
|
3030
3064
|
const V = class V extends b {
|
|
@@ -3039,16 +3073,16 @@ const V = class V extends b {
|
|
|
3039
3073
|
angle: "number",
|
|
3040
3074
|
stops: "text"
|
|
3041
3075
|
}, this.element = null, this.previewEl = null, this.inputEl = void 0, this.popoverEl = null, this.backdropEl = null, this.isPopoverOpen = !1, this.isEditing = !1, this.popoverPosition = null, this.previewUpdateTimeout = null, this.solidPicker = null, this.pendingSolidColor = null, this.onBackgroundClick = (i) => {
|
|
3042
|
-
var
|
|
3076
|
+
var d;
|
|
3043
3077
|
if (!this.popoverEl || !this.isPopoverOpen) return;
|
|
3044
|
-
const s = i.target, n = this.popoverEl.contains(s), o = (
|
|
3078
|
+
const s = i.target, n = this.popoverEl.contains(s), o = (d = this.element) == null ? void 0 : d.contains(s), a = document.querySelectorAll(".custom-color-picker"), l = Array.from(a).some((u) => u.contains(s)), r = s.closest(
|
|
3045
3079
|
".gstop-color-input, .gradient-mini-preview, .gstop-color-preview"
|
|
3046
|
-
), d = s.classList.contains(
|
|
3047
|
-
"color-picker-backdrop"
|
|
3048
3080
|
), h = s.classList.contains(
|
|
3081
|
+
"color-picker-backdrop"
|
|
3082
|
+
), p = s.classList.contains(
|
|
3049
3083
|
"gradient-popover-backdrop"
|
|
3050
3084
|
);
|
|
3051
|
-
!n && !o && !l && !r && !
|
|
3085
|
+
!n && !o && !l && !r && !h && !p && this.closePopover();
|
|
3052
3086
|
}, this.handlePopoverKeydown = (i) => {
|
|
3053
3087
|
if (this.isPopoverOpen) {
|
|
3054
3088
|
if (i.key === "Escape") {
|
|
@@ -3067,11 +3101,11 @@ const V = class V extends b {
|
|
|
3067
3101
|
defaultValue() {
|
|
3068
3102
|
const t = this.originalDefault;
|
|
3069
3103
|
if (typeof t == "string") {
|
|
3070
|
-
const i =
|
|
3104
|
+
const i = P(t);
|
|
3071
3105
|
if (i)
|
|
3072
|
-
return
|
|
3106
|
+
return $(i);
|
|
3073
3107
|
}
|
|
3074
|
-
return
|
|
3108
|
+
return $(t && typeof t == "object" ? t : {
|
|
3075
3109
|
type: "linear",
|
|
3076
3110
|
angle: 90,
|
|
3077
3111
|
stops: [
|
|
@@ -3083,20 +3117,20 @@ const V = class V extends b {
|
|
|
3083
3117
|
setValue(t) {
|
|
3084
3118
|
var i, s;
|
|
3085
3119
|
let e = null;
|
|
3086
|
-
typeof t == "string" ? e =
|
|
3120
|
+
typeof t == "string" ? e = P(t) : t && typeof t == "object" && (e = $(t)), e || (e = this.defaultValue()), this.value = e, this.updateUI(), this.isPopoverOpen && this.refreshPopoverContent(), (i = this.onChange) == null || i.call(this, this.value), (s = this.detectChange) == null || s.call(this, this.value), this.pendingSolidColor = null;
|
|
3087
3121
|
}
|
|
3088
3122
|
updateUI() {
|
|
3089
3123
|
if (this.previewEl && this.value)
|
|
3090
3124
|
if (this.value.type === "solid") {
|
|
3091
3125
|
const t = this.value.stops[0], e = t.opacity ?? 100;
|
|
3092
|
-
this.previewEl.style.background =
|
|
3126
|
+
this.previewEl.style.background = ht(t.color, e);
|
|
3093
3127
|
} else
|
|
3094
|
-
this.previewEl.style.background =
|
|
3095
|
-
this.inputEl && this.value && !this.isEditing && (this.inputEl.value =
|
|
3128
|
+
this.previewEl.style.background = N(this.value);
|
|
3129
|
+
this.inputEl && this.value && !this.isEditing && (this.inputEl.value = _(this.value));
|
|
3096
3130
|
}
|
|
3097
3131
|
cssForTextValue() {
|
|
3098
3132
|
return this.value ? {
|
|
3099
|
-
background:
|
|
3133
|
+
background: N(this.value),
|
|
3100
3134
|
"-webkit-background-clip": "text",
|
|
3101
3135
|
"background-clip": "text",
|
|
3102
3136
|
color: "transparent",
|
|
@@ -3112,9 +3146,9 @@ const V = class V extends b {
|
|
|
3112
3146
|
s.className = "input-label", s.textContent = this.props.title, i.appendChild(s), t.appendChild(i);
|
|
3113
3147
|
}
|
|
3114
3148
|
const e = document.createElement("div");
|
|
3115
|
-
return e.className = "gradient-input-wrapper", this.previewEl = document.createElement("div"), this.previewEl.className = "gradient-mini-preview", this.previewEl.style.background = this.value ?
|
|
3149
|
+
return e.className = "gradient-input-wrapper", this.previewEl = document.createElement("div"), this.previewEl.className = "gradient-mini-preview", this.previewEl.style.background = this.value ? N(this.value) : "linear-gradient(90deg, #a84b4b 0%, #786666 100%)", this.previewEl.addEventListener("click", (i) => {
|
|
3116
3150
|
i.preventDefault(), i.stopPropagation(), this.openPopover();
|
|
3117
|
-
}), this.inputEl = document.createElement("input"), this.inputEl.type = "text", this.inputEl.className = "gradient-text-input", this.inputEl.placeholder = "Enter gradient CSS or paste color...", this.inputEl.value = this.value ?
|
|
3151
|
+
}), this.inputEl = document.createElement("input"), this.inputEl.type = "text", this.inputEl.className = "gradient-text-input", this.inputEl.placeholder = "Enter gradient CSS or paste color...", this.inputEl.value = this.value ? _(this.value) : "", this.inputEl.readOnly = !1, this.inputEl.addEventListener("focus", () => {
|
|
3118
3152
|
if (this.isEditing = !0, this.value)
|
|
3119
3153
|
if (this.value.type === "solid") {
|
|
3120
3154
|
const i = this.value.stops[0];
|
|
@@ -3128,14 +3162,14 @@ const V = class V extends b {
|
|
|
3128
3162
|
}
|
|
3129
3163
|
}
|
|
3130
3164
|
} else
|
|
3131
|
-
this.inputEl.value =
|
|
3165
|
+
this.inputEl.value = N(this.value);
|
|
3132
3166
|
}), this.inputEl.addEventListener("blur", () => {
|
|
3133
|
-
this.isEditing = !1, this.value && (this.inputEl.value =
|
|
3167
|
+
this.isEditing = !1, this.value && (this.inputEl.value = _(this.value));
|
|
3134
3168
|
}), this.inputEl.addEventListener(
|
|
3135
3169
|
"paste",
|
|
3136
3170
|
(i) => this.handlePaste(i)
|
|
3137
3171
|
), this.inputEl.addEventListener("input", (i) => this.handleTextInput(i)), this.inputEl.addEventListener("keydown", (i) => {
|
|
3138
|
-
i.key === "Enter" && (this.handleTextInput(i), this.inputEl.blur()), i.key === "Escape" && (this.value && (this.inputEl.value =
|
|
3172
|
+
i.key === "Enter" && (this.handleTextInput(i), this.inputEl.blur()), i.key === "Escape" && (this.value && (this.inputEl.value = N(this.value)), this.inputEl.blur());
|
|
3139
3173
|
}), e.appendChild(this.previewEl), e.appendChild(this.inputEl), t.appendChild(e), this.createPopover(), this.element = t, t;
|
|
3140
3174
|
}
|
|
3141
3175
|
createPopover() {
|
|
@@ -3150,7 +3184,7 @@ const V = class V extends b {
|
|
|
3150
3184
|
const e = document.createElement("span");
|
|
3151
3185
|
e.textContent = "Fill";
|
|
3152
3186
|
const i = document.createElement("button");
|
|
3153
|
-
i.type = "button", i.className = "gradient-popover-close", i.innerHTML =
|
|
3187
|
+
i.type = "button", i.className = "gradient-popover-close", i.innerHTML = ut, i.addEventListener("click", () => this.closePopover()), t.appendChild(e), t.appendChild(i), ct(t, this.popoverEl, (a, l) => {
|
|
3154
3188
|
this.popoverPosition = { left: a, top: l };
|
|
3155
3189
|
});
|
|
3156
3190
|
const s = document.createElement("div");
|
|
@@ -3198,7 +3232,7 @@ const V = class V extends b {
|
|
|
3198
3232
|
initialOpacity: e.opacity ?? 100,
|
|
3199
3233
|
onColorChange: (s, n) => {
|
|
3200
3234
|
if (this.value) {
|
|
3201
|
-
const o =
|
|
3235
|
+
const o = P(s);
|
|
3202
3236
|
if (o && o.type !== "solid") {
|
|
3203
3237
|
this.value = o, this.switchType(o.type);
|
|
3204
3238
|
return;
|
|
@@ -3222,42 +3256,42 @@ const V = class V extends b {
|
|
|
3222
3256
|
const o = document.createElement("input");
|
|
3223
3257
|
o.type = "text", o.inputMode = "numeric", o.className = "gradient-degree-input", o.value = `${this.value.angle ?? 90}°`, o.style.width = "75px", o.style.textAlign = "center", (!this.value.angle || this.value.stops.length < 2) && (this.value.angle = 90, o.value = "90°");
|
|
3224
3258
|
const a = document.createElement("button");
|
|
3225
|
-
a.type = "button", a.className = "gradient-flip-btn", a.innerHTML =
|
|
3259
|
+
a.type = "button", a.className = "gradient-flip-btn", a.innerHTML = qt, i.addEventListener("change", () => {
|
|
3226
3260
|
this.switchType(i.value === "radial" ? "radial" : "linear"), this.updateDegreeVisibility(o);
|
|
3227
3261
|
}), o.addEventListener("focus", (f) => {
|
|
3228
|
-
const
|
|
3229
|
-
|
|
3262
|
+
const g = f.target;
|
|
3263
|
+
g.value = g.value.replace(/[^0-9-]/g, ""), setTimeout(() => g.select(), 0);
|
|
3230
3264
|
}), o.addEventListener("input", (f) => {
|
|
3231
|
-
const
|
|
3232
|
-
!Number.isNaN(
|
|
3265
|
+
const g = parseInt(f.target.value);
|
|
3266
|
+
!Number.isNaN(g) && this.value && (this.value.angle = Math.max(0, Math.min(360, g)), this.debouncedPreviewUpdate());
|
|
3233
3267
|
}), o.addEventListener("blur", (f) => {
|
|
3234
|
-
var
|
|
3268
|
+
var y;
|
|
3235
3269
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null);
|
|
3236
|
-
const
|
|
3237
|
-
let
|
|
3238
|
-
Number.isNaN(
|
|
3270
|
+
const g = f.target;
|
|
3271
|
+
let C = parseInt(g.value);
|
|
3272
|
+
Number.isNaN(C) && (C = ((y = this.value) == null ? void 0 : y.angle) ?? 0), C = Math.max(0, Math.min(360, C)), this.value && (this.value.angle = C), g.value = `${C}°`, this.updateGradientPreview(), this.updateUI(), this.triggerChange();
|
|
3239
3273
|
}), a.addEventListener("click", () => {
|
|
3240
3274
|
!this.value || !this.value.stops || (this.value.stops.forEach((f) => {
|
|
3241
3275
|
f.position = 100 - f.position;
|
|
3242
|
-
}), this.value.stops.sort((f,
|
|
3276
|
+
}), this.value.stops.sort((f, g) => f.position - g.position), this.updateGradientPreview(l), this.createHandles(r, l), this.updateStopsList(u), this.updateUI(), this.triggerChange());
|
|
3243
3277
|
}), e.appendChild(i), e.appendChild(o), e.appendChild(a), t.appendChild(e), this.updateDegreeVisibility(o);
|
|
3244
3278
|
const l = document.createElement("div");
|
|
3245
3279
|
l.className = "gradient-preview", this.updateGradientPreview(l);
|
|
3246
3280
|
const r = document.createElement("div");
|
|
3247
3281
|
r.className = "gradient-handles", l.appendChild(r), t.appendChild(l), this.createHandles(r, l);
|
|
3248
|
-
const
|
|
3249
|
-
|
|
3250
|
-
const
|
|
3251
|
-
|
|
3252
|
-
const
|
|
3253
|
-
|
|
3282
|
+
const h = document.createElement("div");
|
|
3283
|
+
h.className = "gradient-stops-header";
|
|
3284
|
+
const p = document.createElement("span");
|
|
3285
|
+
p.textContent = "Stops";
|
|
3286
|
+
const d = document.createElement("button");
|
|
3287
|
+
d.type = "button", d.className = "gradient-add-stop", d.textContent = "+", h.appendChild(p), h.appendChild(d);
|
|
3254
3288
|
const u = document.createElement("div");
|
|
3255
|
-
u.className = "gradient-stops", t.appendChild(
|
|
3256
|
-
const
|
|
3257
|
-
const
|
|
3258
|
-
|
|
3289
|
+
u.className = "gradient-stops", t.appendChild(h), t.appendChild(u), this.updateStopsList(u);
|
|
3290
|
+
const m = et((f) => {
|
|
3291
|
+
const g = P(f);
|
|
3292
|
+
g && (this.value = g, this.switchType(g.type), this.updateUI(), this.triggerChange());
|
|
3259
3293
|
}, "all");
|
|
3260
|
-
this.recentGradientRefresh =
|
|
3294
|
+
this.recentGradientRefresh = m.refresh, t.appendChild(m.container), d.addEventListener("click", () => {
|
|
3261
3295
|
var f;
|
|
3262
3296
|
this.addStop(), this.updateStopsList(u), this.updateGradientPreview(l), this.createHandles(r, l), this.updateUI(), ((f = document.activeElement) == null ? void 0 : f.tagName) !== "INPUT" && this.repositionPopover(), this.triggerChange();
|
|
3263
3297
|
});
|
|
@@ -3269,7 +3303,7 @@ const V = class V extends b {
|
|
|
3269
3303
|
updateGradientPreview(t) {
|
|
3270
3304
|
var i;
|
|
3271
3305
|
const e = t || ((i = this.popoverEl) == null ? void 0 : i.querySelector(".gradient-preview"));
|
|
3272
|
-
e && this.value && (e.style.background =
|
|
3306
|
+
e && this.value && (e.style.background = N(this.value));
|
|
3273
3307
|
}
|
|
3274
3308
|
debouncedPreviewUpdate(t) {
|
|
3275
3309
|
this.previewUpdateTimeout && clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = window.setTimeout(() => {
|
|
@@ -3283,24 +3317,24 @@ const V = class V extends b {
|
|
|
3283
3317
|
const o = document.createElement("div");
|
|
3284
3318
|
o.className = "gstop-chip", o.style.backgroundColor = i.color, n.appendChild(o);
|
|
3285
3319
|
let a = !1, l = 0, r = 0;
|
|
3286
|
-
const
|
|
3287
|
-
a = !0, l = u.clientX, r = this.value.stops[s].position, n.classList.add("selected"), document.addEventListener("mousemove",
|
|
3288
|
-
},
|
|
3320
|
+
const h = (u) => {
|
|
3321
|
+
a = !0, l = u.clientX, r = this.value.stops[s].position, n.classList.add("selected"), document.addEventListener("mousemove", p), document.addEventListener("mouseup", d), u.preventDefault(), u.stopPropagation();
|
|
3322
|
+
}, p = (u) => {
|
|
3289
3323
|
if (!a || !this.value) return;
|
|
3290
|
-
const
|
|
3291
|
-
let
|
|
3292
|
-
|
|
3293
|
-
},
|
|
3294
|
-
a && (a = !1, n.classList.remove("selected"), document.removeEventListener("mousemove",
|
|
3324
|
+
const m = e.getBoundingClientRect(), f = u.clientX - l;
|
|
3325
|
+
let g = r + f / m.width * 100;
|
|
3326
|
+
g = Math.max(0, Math.min(100, g)), this.value.stops[s].position = Math.round(g), n.style.left = `${g}%`, this.updateGradientPreview();
|
|
3327
|
+
}, d = () => {
|
|
3328
|
+
a && (a = !1, n.classList.remove("selected"), document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", d), this.value && (this.value.stops.sort((u, m) => u.position - m.position), this.createHandles(t, e), this.updateStopsList()), this.updateUI(), this.triggerChange());
|
|
3295
3329
|
};
|
|
3296
|
-
n.addEventListener("mousedown",
|
|
3330
|
+
n.addEventListener("mousedown", h), t.appendChild(n);
|
|
3297
3331
|
});
|
|
3298
3332
|
}
|
|
3299
3333
|
updateStopsList(t) {
|
|
3300
3334
|
var i;
|
|
3301
3335
|
const e = t || ((i = this.popoverEl) == null ? void 0 : i.querySelector(".gradient-stops"));
|
|
3302
3336
|
!e || !this.value || this.value.type === "solid" || !this.value.stops || (e.innerHTML = "", this.value.stops.forEach((s, n) => {
|
|
3303
|
-
var
|
|
3337
|
+
var I, O;
|
|
3304
3338
|
const o = document.createElement("div");
|
|
3305
3339
|
o.className = "gstop-row";
|
|
3306
3340
|
const a = document.createElement("div");
|
|
@@ -3309,90 +3343,90 @@ const V = class V extends b {
|
|
|
3309
3343
|
l.type = "text", l.className = "gstop-position-input", l.value = `${s.position}%`, l.style.width = "60px", a.appendChild(l);
|
|
3310
3344
|
const r = document.createElement("div");
|
|
3311
3345
|
r.className = "gstop-color-container";
|
|
3312
|
-
const
|
|
3313
|
-
|
|
3314
|
-
const
|
|
3315
|
-
|
|
3316
|
-
const
|
|
3317
|
-
|
|
3346
|
+
const h = document.createElement("div");
|
|
3347
|
+
h.className = "gstop-color-preview", h.style.backgroundColor = s.color;
|
|
3348
|
+
const p = document.createElement("input");
|
|
3349
|
+
p.type = "text", p.className = "gstop-color-input", p.value = s.color.replace("#", "").toUpperCase();
|
|
3350
|
+
const d = document.createElement("button");
|
|
3351
|
+
d.type = "button", d.className = "gstop-color-copy", d.textContent = "Copy", r.appendChild(h), r.appendChild(p), r.appendChild(d);
|
|
3318
3352
|
const u = document.createElement("button");
|
|
3319
|
-
u.type = "button", u.className = "gstop-del", u.innerHTML =
|
|
3320
|
-
const
|
|
3321
|
-
|
|
3353
|
+
u.type = "button", u.className = "gstop-del", u.innerHTML = _t, u.disabled = (((O = (I = this.value) == null ? void 0 : I.stops) == null ? void 0 : O.length) || 0) <= 2, o.appendChild(a), o.appendChild(r), o.appendChild(u), e.appendChild(o);
|
|
3354
|
+
const m = document.createElement("span");
|
|
3355
|
+
m.className = "gstop-opacity-label", m.textContent = "Opacity";
|
|
3322
3356
|
const f = document.createElement("div");
|
|
3323
3357
|
f.className = "gstop-opacity-group";
|
|
3324
|
-
const
|
|
3325
|
-
|
|
3326
|
-
const
|
|
3327
|
-
|
|
3358
|
+
const g = document.createElement("input");
|
|
3359
|
+
g.type = "range", g.className = "gstop-opacity-slider", g.min = "0", g.max = "100", g.value = String(s.opacity ?? 100);
|
|
3360
|
+
const C = k(s.color);
|
|
3361
|
+
g.style.setProperty(
|
|
3328
3362
|
"--slider-color",
|
|
3329
|
-
`rgb(${
|
|
3363
|
+
`rgb(${C.r}, ${C.g}, ${C.b})`
|
|
3330
3364
|
);
|
|
3331
|
-
const
|
|
3332
|
-
|
|
3333
|
-
const
|
|
3334
|
-
|
|
3335
|
-
const
|
|
3336
|
-
|
|
3365
|
+
const y = document.createElement("span");
|
|
3366
|
+
y.className = "gstop-opacity-value", y.textContent = `${s.opacity ?? 100}%`, f.appendChild(g), f.appendChild(y);
|
|
3367
|
+
const L = new Jt((v, E) => {
|
|
3368
|
+
p.value = v.replace("#", "").toUpperCase(), h.style.backgroundColor = v, this.value.stops[n].color = v, E !== void 0 && (this.value.stops[n].opacity = E, g.value = String(E), y.textContent = `${E}%`);
|
|
3369
|
+
const x = k(v);
|
|
3370
|
+
g.style.setProperty(
|
|
3337
3371
|
"--slider-color",
|
|
3338
|
-
`rgb(${
|
|
3372
|
+
`rgb(${x.r}, ${x.g}, ${x.b})`
|
|
3339
3373
|
), this.updateGradientPreview(), this.createHandles(
|
|
3340
3374
|
this.popoverEl.querySelector(".gradient-handles"),
|
|
3341
3375
|
this.popoverEl.querySelector(".gradient-preview")
|
|
3342
3376
|
), this.updateUI(), this.triggerChange();
|
|
3343
3377
|
}, "solid");
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
}),
|
|
3347
|
-
const
|
|
3378
|
+
p.addEventListener("click", (v) => {
|
|
3379
|
+
v.preventDefault(), v.stopPropagation(), L.open(s.color, p, s.opacity ?? 100);
|
|
3380
|
+
}), p.addEventListener("input", () => {
|
|
3381
|
+
const v = p.value.trim(), E = v.startsWith("#") ? v : `#${v}`;
|
|
3348
3382
|
if (/^#[0-9A-Fa-f]{6}$/.test(E)) {
|
|
3349
|
-
this.value.stops[n].color = E,
|
|
3350
|
-
const
|
|
3351
|
-
|
|
3383
|
+
this.value.stops[n].color = E, h.style.backgroundColor = E;
|
|
3384
|
+
const x = k(E);
|
|
3385
|
+
g.style.setProperty(
|
|
3352
3386
|
"--slider-color",
|
|
3353
|
-
`rgb(${
|
|
3387
|
+
`rgb(${x.r}, ${x.g}, ${x.b})`
|
|
3354
3388
|
), this.debouncedPreviewUpdate();
|
|
3355
3389
|
}
|
|
3356
|
-
}),
|
|
3390
|
+
}), p.addEventListener("blur", () => {
|
|
3357
3391
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null), this.updateGradientPreview(), this.updateUI(), this.triggerChange();
|
|
3358
|
-
}),
|
|
3359
|
-
|
|
3392
|
+
}), d.addEventListener("click", async (v) => {
|
|
3393
|
+
v.stopPropagation();
|
|
3360
3394
|
try {
|
|
3361
|
-
await navigator.clipboard.writeText(`#${
|
|
3395
|
+
await navigator.clipboard.writeText(`#${p.value}`);
|
|
3362
3396
|
} catch {
|
|
3363
3397
|
}
|
|
3364
|
-
}), l.addEventListener("focus", (
|
|
3365
|
-
const E =
|
|
3398
|
+
}), l.addEventListener("focus", (v) => {
|
|
3399
|
+
const E = v.target;
|
|
3366
3400
|
E.value = E.value.replace("%", ""), E.select();
|
|
3367
|
-
}), l.addEventListener("input", (
|
|
3368
|
-
const E =
|
|
3369
|
-
if (!Number.isNaN(
|
|
3370
|
-
const
|
|
3371
|
-
this.value.stops[n].position =
|
|
3401
|
+
}), l.addEventListener("input", (v) => {
|
|
3402
|
+
const E = v.target, x = parseInt(E.value.replace(/[^\d]/g, ""), 10);
|
|
3403
|
+
if (!Number.isNaN(x)) {
|
|
3404
|
+
const U = Math.max(0, Math.min(100, x));
|
|
3405
|
+
this.value.stops[n].position = U, E.value = `${U}%`, this.debouncedPreviewUpdate();
|
|
3372
3406
|
}
|
|
3373
|
-
}), l.addEventListener("blur", (
|
|
3407
|
+
}), l.addEventListener("blur", (v) => {
|
|
3374
3408
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null);
|
|
3375
|
-
const E =
|
|
3376
|
-
if (Number.isNaN(
|
|
3409
|
+
const E = v.target, x = parseInt(E.value.replace(/[^\d]/g, ""), 10);
|
|
3410
|
+
if (Number.isNaN(x))
|
|
3377
3411
|
E.value = `${this.value.stops[n].position}%`;
|
|
3378
3412
|
else {
|
|
3379
|
-
const
|
|
3380
|
-
this.value.stops[n].position =
|
|
3413
|
+
const U = Math.max(0, Math.min(100, x));
|
|
3414
|
+
this.value.stops[n].position = U, E.value = `${U}%`;
|
|
3381
3415
|
}
|
|
3382
3416
|
this.updateGradientPreview(), this.createHandles(
|
|
3383
3417
|
this.popoverEl.querySelector(".gradient-handles"),
|
|
3384
3418
|
this.popoverEl.querySelector(".gradient-preview")
|
|
3385
3419
|
), this.updateStopsList(), this.updateUI(), this.triggerChange();
|
|
3386
3420
|
}), u.addEventListener("click", () => {
|
|
3387
|
-
var
|
|
3421
|
+
var v;
|
|
3388
3422
|
(this.value.stops.length || 0) <= 2 || (this.value.stops.splice(n, 1), this.createHandles(
|
|
3389
3423
|
this.popoverEl.querySelector(".gradient-handles"),
|
|
3390
3424
|
this.popoverEl.querySelector(".gradient-preview")
|
|
3391
|
-
), this.updateStopsList(), this.updateGradientPreview(), this.updateUI(), ((
|
|
3392
|
-
}),
|
|
3393
|
-
const
|
|
3394
|
-
this.value.stops[n].opacity = Math.max(0, Math.min(100,
|
|
3395
|
-
}),
|
|
3425
|
+
), this.updateStopsList(), this.updateGradientPreview(), this.updateUI(), ((v = document.activeElement) == null ? void 0 : v.tagName) !== "INPUT" && this.repositionPopover(), this.triggerChange());
|
|
3426
|
+
}), g.addEventListener("input", () => {
|
|
3427
|
+
const v = parseInt(g.value, 10);
|
|
3428
|
+
this.value.stops[n].opacity = Math.max(0, Math.min(100, v)), y.textContent = `${this.value.stops[n].opacity}%`, this.debouncedPreviewUpdate();
|
|
3429
|
+
}), g.addEventListener("change", () => {
|
|
3396
3430
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null), this.updateGradientPreview(), this.updateUI(), this.triggerChange();
|
|
3397
3431
|
});
|
|
3398
3432
|
}));
|
|
@@ -3421,10 +3455,10 @@ const V = class V extends b {
|
|
|
3421
3455
|
this.popoverEl.style.position = "fixed", this.popoverEl.style.zIndex = "10000", this.popoverEl.style.left = "-9999px", this.popoverEl.style.top = "0px";
|
|
3422
3456
|
const o = this.popoverEl.offsetHeight;
|
|
3423
3457
|
let a = t.right + 8, l = t.top;
|
|
3424
|
-
const r = i - t.right,
|
|
3425
|
-
r <
|
|
3426
|
-
const
|
|
3427
|
-
u >= o + n ? l = t.top - o - 8 :
|
|
3458
|
+
const r = i - t.right, h = t.left, p = e + n;
|
|
3459
|
+
r < p && h > r + 100 && (a = t.left - e - 8);
|
|
3460
|
+
const d = s - t.bottom, u = t.top;
|
|
3461
|
+
u >= o + n ? l = t.top - o - 8 : d >= o + n ? l = t.bottom + 8 : u > d ? (l = t.top - o - 8, l < n && (l = n)) : (l = t.bottom + 8, l + o > s - n && (l = s - o - n)), this.popoverEl.style.left = `${a}px`, this.popoverEl.style.top = `${l}px`, this.popoverPosition = { left: a, top: l };
|
|
3428
3462
|
}
|
|
3429
3463
|
setTimeout(
|
|
3430
3464
|
() => document.addEventListener("click", this.onBackgroundClick, !0),
|
|
@@ -3445,10 +3479,10 @@ const V = class V extends b {
|
|
|
3445
3479
|
this.popoverEl.style.left, this.popoverEl.style.top, this.popoverEl.style.left = "-9999px", this.popoverEl.style.top = "0px";
|
|
3446
3480
|
const a = this.popoverEl.offsetHeight;
|
|
3447
3481
|
let l = e.right + 8, r = e.top;
|
|
3448
|
-
const
|
|
3449
|
-
|
|
3450
|
-
const u = n - e.bottom,
|
|
3451
|
-
|
|
3482
|
+
const h = s - e.right, p = e.left, d = i + o;
|
|
3483
|
+
h < d && p > h + 100 && (l = e.left - i - 8);
|
|
3484
|
+
const u = n - e.bottom, m = e.top;
|
|
3485
|
+
m >= a + o ? r = e.top - a - 8 : u >= a + o ? r = e.bottom + 8 : m > u ? (r = e.top - a - 8, r < o && (r = o)) : (r = e.bottom + 8, r + a > n - o && (r = n - a - o)), this.popoverEl.style.left = `${l}px`, this.popoverEl.style.top = `${r}px`;
|
|
3452
3486
|
});
|
|
3453
3487
|
}
|
|
3454
3488
|
}
|
|
@@ -3466,14 +3500,14 @@ const V = class V extends b {
|
|
|
3466
3500
|
var t;
|
|
3467
3501
|
if (!(!this.popoverEl || !this.isPopoverOpen)) {
|
|
3468
3502
|
if (this.isPopoverOpen = !1, this.popoverPosition = null, this.backdropEl && (this.backdropEl.style.display = "none"), this.popoverEl.style.display = "none", document.removeEventListener("click", this.onBackgroundClick, !0), document.removeEventListener("keydown", this.handlePopoverKeydown, !0), this.commitPendingSolidColor(), this.value && this.value.type !== "solid") {
|
|
3469
|
-
const e =
|
|
3470
|
-
|
|
3503
|
+
const e = N(this.value);
|
|
3504
|
+
B.addColor(e, "gradient"), (t = this.recentGradientRefresh) == null || t.call(this);
|
|
3471
3505
|
}
|
|
3472
3506
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null), V.openInstance === this && (V.openInstance = null);
|
|
3473
3507
|
}
|
|
3474
3508
|
}
|
|
3475
3509
|
commitPendingSolidColor() {
|
|
3476
|
-
this.pendingSolidColor && (this.solidPicker ? this.solidPicker.commitRecentColor() :
|
|
3510
|
+
this.pendingSolidColor && (this.solidPicker ? this.solidPicker.commitRecentColor() : B.addColor(this.pendingSolidColor, "solid"), this.pendingSolidColor = null);
|
|
3477
3511
|
}
|
|
3478
3512
|
handlePaste(t) {
|
|
3479
3513
|
var i;
|
|
@@ -3486,7 +3520,7 @@ const V = class V extends b {
|
|
|
3486
3520
|
this.parseAndSet(e.value);
|
|
3487
3521
|
}
|
|
3488
3522
|
parseAndSet(t) {
|
|
3489
|
-
const e =
|
|
3523
|
+
const e = P(t.trim());
|
|
3490
3524
|
e && this.setValue(e);
|
|
3491
3525
|
}
|
|
3492
3526
|
triggerChange() {
|
|
@@ -3497,10 +3531,10 @@ const V = class V extends b {
|
|
|
3497
3531
|
return this.element;
|
|
3498
3532
|
}
|
|
3499
3533
|
getValue() {
|
|
3500
|
-
return this.value ?
|
|
3534
|
+
return this.value ? N(this.value) : "";
|
|
3501
3535
|
}
|
|
3502
3536
|
getCSSValue() {
|
|
3503
|
-
return this.value ?
|
|
3537
|
+
return this.value ? N(this.value) : "";
|
|
3504
3538
|
}
|
|
3505
3539
|
getCSSForText() {
|
|
3506
3540
|
return this.value ? this.cssForTextValue() : {};
|
|
@@ -3510,7 +3544,7 @@ const V = class V extends b {
|
|
|
3510
3544
|
}
|
|
3511
3545
|
};
|
|
3512
3546
|
V.openInstance = null;
|
|
3513
|
-
let
|
|
3547
|
+
let Z = V;
|
|
3514
3548
|
const Zt = `
|
|
3515
3549
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
3516
3550
|
<path d="M5.625 9.5H5.6325M12.375 9.5H12.3825M9 9.5H9.0075M9 12.875H9.0075M9 6.125H9.0075M2.25 6.35L2.25 12.65C2.25 13.9101 2.25 14.5402 2.49524 15.0215C2.71095 15.4448 3.05516 15.789 3.47852 16.0048C3.95982 16.25 4.58988 16.25 5.85 16.25H12.15C13.4101 16.25 14.0402 16.25 14.5215 16.0048C14.9448 15.789 15.289 15.4448 15.5048 15.0215C15.75 14.5402 15.75 13.9101 15.75 12.65V6.35C15.75 5.08988 15.75 4.45982 15.5048 3.97852C15.289 3.55516 14.9448 3.21095 14.5215 2.99524C14.0402 2.75 13.4101 2.75 12.15 2.75L5.85 2.75C4.58988 2.75 3.95982 2.75 3.47852 2.99524C3.05516 3.21095 2.71095 3.55516 2.49524 3.97852C2.25 4.45982 2.25 5.08988 2.25 6.35Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
@@ -3520,23 +3554,23 @@ const Zt = `
|
|
|
3520
3554
|
<path d="M6 2.75H5.85C4.58988 2.75 3.95982 2.75 3.47852 2.99524C3.05516 3.21095 2.71095 3.55516 2.49524 3.97852C2.25 4.45982 2.25 5.08988 2.25 6.35V6.5M6 16.25H5.85C4.58988 16.25 3.95982 16.25 3.47852 16.0048C3.05516 15.789 2.71095 15.4448 2.49524 15.0215C2.25 14.5402 2.25 13.9101 2.25 12.65V12.5M15.75 6.5V6.35C15.75 5.08988 15.75 4.45982 15.5048 3.97852C15.289 3.55516 14.9448 3.21095 14.5215 2.99524C14.0402 2.75 13.4101 2.75 12.15 2.75H12M15.75 12.5V12.65C15.75 13.9101 15.75 14.5402 15.5048 15.0215C15.289 15.4448 14.9448 15.789 14.5215 16.0048C14.0402 16.25 13.4101 16.25 12.15 16.25H12" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3521
3555
|
</svg>
|
|
3522
3556
|
`;
|
|
3523
|
-
class ye extends
|
|
3557
|
+
class ye extends T {
|
|
3524
3558
|
constructor(t) {
|
|
3525
3559
|
super({
|
|
3526
3560
|
title: "Border",
|
|
3527
3561
|
collapsed: t == null ? void 0 : t.collapsed,
|
|
3528
3562
|
settings: {
|
|
3529
|
-
size: new
|
|
3563
|
+
size: new S({
|
|
3530
3564
|
title: "Size",
|
|
3531
3565
|
icon: Kt,
|
|
3532
3566
|
default: (t == null ? void 0 : t.size) ?? 0,
|
|
3533
3567
|
suffix: "px"
|
|
3534
3568
|
}),
|
|
3535
|
-
color: new
|
|
3569
|
+
color: new Z({
|
|
3536
3570
|
title: "Border Color",
|
|
3537
3571
|
default: (t == null ? void 0 : t.color) || "#000000"
|
|
3538
3572
|
}),
|
|
3539
|
-
radius: new
|
|
3573
|
+
radius: new S({
|
|
3540
3574
|
title: "Radius",
|
|
3541
3575
|
icon: Zt,
|
|
3542
3576
|
default: (t == null ? void 0 : t.radius) ?? 12,
|
|
@@ -3549,7 +3583,7 @@ class ye extends P {
|
|
|
3549
3583
|
const t = super.getValues(), e = this.settings.color.getValue();
|
|
3550
3584
|
return {
|
|
3551
3585
|
...t,
|
|
3552
|
-
color: e ? `${e}
|
|
3586
|
+
color: e ? `${e}` : t.color
|
|
3553
3587
|
};
|
|
3554
3588
|
}
|
|
3555
3589
|
getCssCode() {
|
|
@@ -3575,7 +3609,7 @@ const Yt = `
|
|
|
3575
3609
|
<path d="M6 5.75H12M9 5.75V13.25M5.85 16.25H12.15C13.4101 16.25 14.0402 16.25 14.5215 16.0048C14.9448 15.789 15.289 15.4448 15.5048 15.0215C15.75 14.5402 15.75 13.9101 15.75 12.65V6.35C15.75 5.08988 15.75 4.45982 15.5048 3.97852C15.289 3.55516 14.9448 3.21095 14.5215 2.99524C14.0402 2.75 13.4101 2.75 12.15 2.75H5.85C4.58988 2.75 3.95982 2.75 3.47852 2.99524C3.05516 3.21095 2.71095 3.55516 2.49524 3.97852C2.25 4.45982 2.25 5.08988 2.25 6.35V12.65C2.25 13.9101 2.25 14.5402 2.49524 15.0215C2.71095 15.4448 3.05516 15.789 3.47852 16.0048C3.95982 16.25 4.58988 16.25 5.85 16.25Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3576
3610
|
</svg>
|
|
3577
3611
|
`;
|
|
3578
|
-
class Ee extends
|
|
3612
|
+
class Ee extends T {
|
|
3579
3613
|
constructor(t = {}) {
|
|
3580
3614
|
const { showAlign: e = t.showAlign ?? !0, ...i } = t;
|
|
3581
3615
|
super({
|
|
@@ -3583,11 +3617,11 @@ class Ee extends P {
|
|
|
3583
3617
|
collapsed: i.collapsed,
|
|
3584
3618
|
settings: (() => {
|
|
3585
3619
|
const s = {
|
|
3586
|
-
color: new
|
|
3620
|
+
color: new Z({
|
|
3587
3621
|
title: "Color",
|
|
3588
3622
|
default: i.colorDefault ?? "#001E1E"
|
|
3589
3623
|
}),
|
|
3590
|
-
fontFamily: new
|
|
3624
|
+
fontFamily: new tt({
|
|
3591
3625
|
title: "Font",
|
|
3592
3626
|
icon: Yt,
|
|
3593
3627
|
default: i.fontFamilyDefault ?? "Satoshi",
|
|
@@ -3600,7 +3634,7 @@ class Ee extends P {
|
|
|
3600
3634
|
getOptions: i.fontFamilyGetOptions,
|
|
3601
3635
|
getOptionsAsync: i.fontFamilyGetOptionsAsync
|
|
3602
3636
|
}),
|
|
3603
|
-
fontWeight: new
|
|
3637
|
+
fontWeight: new tt({
|
|
3604
3638
|
title: "Weight",
|
|
3605
3639
|
icon: Qt,
|
|
3606
3640
|
default: i.fontWeightDefault ?? "400",
|
|
@@ -3612,7 +3646,7 @@ class Ee extends P {
|
|
|
3612
3646
|
getOptions: i.fontWeightGetOptions,
|
|
3613
3647
|
getOptionsAsync: i.fontWeightGetOptionsAsync
|
|
3614
3648
|
}),
|
|
3615
|
-
fontSize: new
|
|
3649
|
+
fontSize: new S({
|
|
3616
3650
|
title: "Size",
|
|
3617
3651
|
icon: te,
|
|
3618
3652
|
default: i.fontSizeDefault ?? 12,
|
|
@@ -3622,7 +3656,7 @@ class Ee extends P {
|
|
|
3622
3656
|
};
|
|
3623
3657
|
return e ? {
|
|
3624
3658
|
...s,
|
|
3625
|
-
align: new
|
|
3659
|
+
align: new St({
|
|
3626
3660
|
title: "Align",
|
|
3627
3661
|
default: i.alignDefault ?? "center"
|
|
3628
3662
|
})
|
|
@@ -3654,7 +3688,7 @@ class Ee extends P {
|
|
|
3654
3688
|
`;
|
|
3655
3689
|
}
|
|
3656
3690
|
}
|
|
3657
|
-
class
|
|
3691
|
+
class j extends b {
|
|
3658
3692
|
constructor(t) {
|
|
3659
3693
|
super({
|
|
3660
3694
|
...t,
|
|
@@ -3665,8 +3699,8 @@ class W extends b {
|
|
|
3665
3699
|
const t = this.value === "auto" ? "text" : "number", e = (a) => {
|
|
3666
3700
|
this.value !== "auto" && (this.props.minValue !== void 0 && (a.min = String(this.props.minValue)), this.props.maxValue !== void 0 && (a.max = String(this.props.maxValue)), this.props.className && a.classList.add(this.props.className), a.addEventListener("input", () => {
|
|
3667
3701
|
const l = this.props.minValue ?? Number.MIN_SAFE_INTEGER, r = this.props.maxValue ?? Number.MAX_SAFE_INTEGER;
|
|
3668
|
-
let
|
|
3669
|
-
|
|
3702
|
+
let h = Number(a.value);
|
|
3703
|
+
h < l && (h = l), h > r && (h = r), a.value = String(h);
|
|
3670
3704
|
}));
|
|
3671
3705
|
}, i = this.createInput({
|
|
3672
3706
|
value: this.value,
|
|
@@ -3700,31 +3734,31 @@ class W extends b {
|
|
|
3700
3734
|
}), i;
|
|
3701
3735
|
}
|
|
3702
3736
|
}
|
|
3703
|
-
class be extends
|
|
3737
|
+
class be extends T {
|
|
3704
3738
|
constructor(t) {
|
|
3705
3739
|
super({
|
|
3706
3740
|
title: "Margins",
|
|
3707
3741
|
collapsed: t == null ? void 0 : t.collapsed,
|
|
3708
3742
|
settings: {
|
|
3709
|
-
marginTop: new
|
|
3743
|
+
marginTop: new j({
|
|
3710
3744
|
title: "Top",
|
|
3711
3745
|
icon: ee,
|
|
3712
3746
|
suffix: "px",
|
|
3713
3747
|
default: (t == null ? void 0 : t.marginTop) ?? "auto"
|
|
3714
3748
|
}),
|
|
3715
|
-
marginRight: new
|
|
3749
|
+
marginRight: new j({
|
|
3716
3750
|
title: "Right",
|
|
3717
3751
|
icon: ie,
|
|
3718
3752
|
suffix: "px",
|
|
3719
3753
|
default: (t == null ? void 0 : t.marginRight) ?? 0
|
|
3720
3754
|
}),
|
|
3721
|
-
marginBottom: new
|
|
3755
|
+
marginBottom: new j({
|
|
3722
3756
|
title: "Bottom",
|
|
3723
3757
|
icon: se,
|
|
3724
3758
|
suffix: "px",
|
|
3725
3759
|
default: (t == null ? void 0 : t.marginBottom) ?? 0
|
|
3726
3760
|
}),
|
|
3727
|
-
marginLeft: new
|
|
3761
|
+
marginLeft: new j({
|
|
3728
3762
|
title: "Left",
|
|
3729
3763
|
icon: ne,
|
|
3730
3764
|
suffix: "px",
|
|
@@ -3752,7 +3786,7 @@ const ee = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewB
|
|
|
3752
3786
|
</svg>`, ne = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
3753
3787
|
<path d="M5.625 2.75H5.6325M5.625 9.5H5.6325M5.625 16.25H5.6325M12.375 2.75H12.3825M12.375 9.5H12.3825M12.375 16.25H12.3825M9 2.75H9.0075M9 9.5H9.0075M9 16.25H9.0075M9 12.875H9.0075M9 6.125H9.0075M15.75 2.75H15.7575M15.75 9.5H15.7575M15.75 16.25H15.7575M15.75 12.875H15.7575M15.75 6.125H15.7575M2.25 16.25V2.75" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3754
3788
|
</svg>`;
|
|
3755
|
-
class we extends
|
|
3789
|
+
class we extends T {
|
|
3756
3790
|
constructor(t) {
|
|
3757
3791
|
super({
|
|
3758
3792
|
title: "Background Image",
|
|
@@ -3762,10 +3796,10 @@ class we extends P {
|
|
|
3762
3796
|
...t == null ? void 0 : t.uploadProps,
|
|
3763
3797
|
default: (t == null ? void 0 : t.backgroundImage) ?? ""
|
|
3764
3798
|
}),
|
|
3765
|
-
opacity: new
|
|
3799
|
+
opacity: new kt({
|
|
3766
3800
|
default: (t == null ? void 0 : t.opacity) ?? 100
|
|
3767
3801
|
}),
|
|
3768
|
-
backgroundColor: new
|
|
3802
|
+
backgroundColor: new R({
|
|
3769
3803
|
default: (t == null ? void 0 : t.backgroundColor) ?? "0, 0, 30"
|
|
3770
3804
|
})
|
|
3771
3805
|
}
|
|
@@ -3792,16 +3826,16 @@ class we extends P {
|
|
|
3792
3826
|
}
|
|
3793
3827
|
}
|
|
3794
3828
|
export {
|
|
3795
|
-
|
|
3829
|
+
St as AlignSetting,
|
|
3796
3830
|
Ce as AnimationSetting,
|
|
3797
3831
|
we as BackgroundSettingSet,
|
|
3798
3832
|
ye as BorderSettingSet,
|
|
3799
3833
|
re as ButtonSetting,
|
|
3800
|
-
|
|
3801
|
-
|
|
3834
|
+
M as ColorSetting,
|
|
3835
|
+
R as ColorWithOpacitySetting,
|
|
3802
3836
|
ce as DimensionSetting,
|
|
3803
3837
|
ge as GapSetting,
|
|
3804
|
-
|
|
3838
|
+
Z as GradientSetting,
|
|
3805
3839
|
Ee as HeaderTypographySettingSet,
|
|
3806
3840
|
he as HeightSetting,
|
|
3807
3841
|
le as HtmlSetting,
|
|
@@ -3809,23 +3843,23 @@ export {
|
|
|
3809
3843
|
be as MarginSettingGroup,
|
|
3810
3844
|
fe as MarginTopSetting,
|
|
3811
3845
|
ve as MultiLanguageSetting,
|
|
3812
|
-
|
|
3813
|
-
|
|
3846
|
+
S as NumberSetting,
|
|
3847
|
+
kt as OpacitySetting,
|
|
3814
3848
|
de as SelectApiSettings,
|
|
3815
|
-
|
|
3849
|
+
tt as SelectSetting,
|
|
3816
3850
|
b as Setting,
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3851
|
+
T as SettingGroup,
|
|
3852
|
+
bt as StringSetting,
|
|
3853
|
+
yt as TabSettingGroup,
|
|
3854
|
+
yt as TabsSettingGroup,
|
|
3821
3855
|
ue as Toggle,
|
|
3822
3856
|
rt as UploadSetting,
|
|
3823
3857
|
pe as WidthSetting,
|
|
3824
3858
|
ae as asSettingGroupWithSettings,
|
|
3825
|
-
|
|
3859
|
+
Et as createSettingGroup,
|
|
3826
3860
|
oe as createTabSettingGroup,
|
|
3827
|
-
|
|
3861
|
+
D as isSetting,
|
|
3828
3862
|
st as isSettingChild,
|
|
3829
3863
|
w as isSettingGroup,
|
|
3830
|
-
|
|
3864
|
+
W as iterateSettings
|
|
3831
3865
|
};
|