builder-settings-types 0.0.277 → 0.0.279
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/builder-settings-types.cjs.js +32 -32
- package/dist/builder-settings-types.es.js +537 -459
- package/dist/settings/gradient-settings/GradientSetting.d.ts +7 -2
- package/dist/settings/gradient-settings/components/EmbeddedColorPicker.d.ts +6 -0
- package/dist/settings/gradient-settings/recent/RecentColorManager.d.ts +4 -3
- package/dist/settings/gradient-settings/recent/createRecentColorsSection.d.ts +2 -2
- package/dist/settings/gradient-settings/utils/types.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
const
|
|
2
|
-
let
|
|
1
|
+
const ft = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
|
|
2
|
+
let ht = (c = 21) => {
|
|
3
3
|
let t = "", e = crypto.getRandomValues(new Uint8Array(c |= 0));
|
|
4
4
|
for (; c--; )
|
|
5
|
-
t +=
|
|
5
|
+
t += ft[e[c] & 63];
|
|
6
6
|
return t;
|
|
7
7
|
};
|
|
8
|
-
function
|
|
8
|
+
function vt(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;
|
|
@@ -15,21 +15,21 @@ function J(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 tt(c, t = 0) {
|
|
19
19
|
c.querySelectorAll(":scope > .setting-group-content > .setting-group").forEach((i) => {
|
|
20
20
|
const s = i, n = t + 1;
|
|
21
|
-
J(s, n),
|
|
21
|
+
J(s, n), tt(s, n);
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
const
|
|
24
|
+
const Ct = {
|
|
25
25
|
maxLevel: 5,
|
|
26
26
|
spacingMultiplier: 1,
|
|
27
27
|
visualIndentMultiplier: 2,
|
|
28
28
|
enableAutoDetection: !0
|
|
29
29
|
};
|
|
30
|
-
class
|
|
30
|
+
class yt {
|
|
31
31
|
constructor(t = {}) {
|
|
32
|
-
this.observedElements = /* @__PURE__ */ new Set(), this.config = { ...
|
|
32
|
+
this.observedElements = /* @__PURE__ */ new Set(), this.config = { ...Ct, ...t }, this.config.enableAutoDetection && this.setupAutoDetection();
|
|
33
33
|
}
|
|
34
34
|
/**
|
|
35
35
|
* Setup automatic detection using MutationObserver
|
|
@@ -63,7 +63,7 @@ class Ct {
|
|
|
63
63
|
* Update nesting for a specific element
|
|
64
64
|
*/
|
|
65
65
|
updateElementNesting(t) {
|
|
66
|
-
const e =
|
|
66
|
+
const e = vt(t);
|
|
67
67
|
this.applyNestingWithConfig(t, e);
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
@@ -111,20 +111,20 @@ class Ct {
|
|
|
111
111
|
this.observer && (this.observer.disconnect(), this.observer = void 0), this.observedElements.clear();
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
const
|
|
115
|
-
function
|
|
114
|
+
const nt = new yt();
|
|
115
|
+
function X(c) {
|
|
116
116
|
if (c === null || typeof c != "object") return c;
|
|
117
117
|
if (c instanceof Date) return new Date(c.getTime());
|
|
118
|
-
if (c instanceof Array) return c.map((t) =>
|
|
118
|
+
if (c instanceof Array) return c.map((t) => X(t));
|
|
119
119
|
if (typeof c == "object") {
|
|
120
120
|
const t = {};
|
|
121
121
|
for (const e in c)
|
|
122
|
-
Object.prototype.hasOwnProperty.call(c, e) && (t[e] =
|
|
122
|
+
Object.prototype.hasOwnProperty.call(c, e) && (t[e] = X(c[e]));
|
|
123
123
|
return t;
|
|
124
124
|
}
|
|
125
125
|
return c;
|
|
126
126
|
}
|
|
127
|
-
function
|
|
127
|
+
function Et(c) {
|
|
128
128
|
switch (c) {
|
|
129
129
|
case "number":
|
|
130
130
|
return 0;
|
|
@@ -142,15 +142,15 @@ function yt(c) {
|
|
|
142
142
|
return "";
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
class
|
|
145
|
+
class w {
|
|
146
146
|
constructor(t = {}) {
|
|
147
|
-
this.props = t, this.dataPropsPath = "", this.id = t.id ||
|
|
147
|
+
this.props = t, this.dataPropsPath = "", this.id = t.id || ht(), this.value = this.props.default, this.desktop = this.props.default, this.title = t.title || "", this.includeGetJson = t.includeGetJson !== void 0 ? t.includeGetJson : !0;
|
|
148
148
|
}
|
|
149
149
|
static SetUploadUrl(t) {
|
|
150
|
-
globalThis.DefaultUploadUrl = t,
|
|
150
|
+
globalThis.DefaultUploadUrl = t, w.DefaultUploadUrl = t;
|
|
151
151
|
}
|
|
152
152
|
static SetDefaultLanguage(t) {
|
|
153
|
-
globalThis.DefaultLanguage = t,
|
|
153
|
+
globalThis.DefaultLanguage = t, w.DefaultLanguage = t;
|
|
154
154
|
}
|
|
155
155
|
destroy() {
|
|
156
156
|
throw new Error("Method not implemented.");
|
|
@@ -171,8 +171,8 @@ class b {
|
|
|
171
171
|
this.value = t, this.inputEl && (this.inputEl.value = String(t)), this.onChange && this.onChange(t), this.props.detectChange && this.props.detectChange(t);
|
|
172
172
|
}
|
|
173
173
|
clone() {
|
|
174
|
-
const t = this.constructor, e =
|
|
175
|
-
return i.value =
|
|
174
|
+
const t = this.constructor, e = X(this.props), i = new t(e);
|
|
175
|
+
return i.value = X(this.value), i;
|
|
176
176
|
}
|
|
177
177
|
createInput(t) {
|
|
178
178
|
t = { ...this.props.inputProps, ...t };
|
|
@@ -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 || Et(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,14 +233,14 @@ class b {
|
|
|
233
233
|
return i.className = "input-icon " + (e || ""), i.innerHTML = t, i;
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
|
-
function
|
|
237
|
-
return c instanceof
|
|
236
|
+
function R(c) {
|
|
237
|
+
return c instanceof w;
|
|
238
238
|
}
|
|
239
239
|
function L(c) {
|
|
240
240
|
return c instanceof T;
|
|
241
241
|
}
|
|
242
|
-
function
|
|
243
|
-
return
|
|
242
|
+
function ot(c) {
|
|
243
|
+
return R(c) || L(c);
|
|
244
244
|
}
|
|
245
245
|
function j(c, t) {
|
|
246
246
|
for (const e in c)
|
|
@@ -249,10 +249,10 @@ function j(c, t) {
|
|
|
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
|
-
}, this.pendingBlurHandler = null, this.originalDefaultValues = {}, this.nestingLevel = 0, this.dataPropsPath = "", this.hide = !1, this.id = t.id ||
|
|
255
|
+
}, this.pendingBlurHandler = null, this.originalDefaultValues = {}, this.nestingLevel = 0, this.dataPropsPath = "", this.hide = !1, this.id = t.id || ht(), 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;
|
|
@@ -275,11 +275,11 @@ const Y = class Y {
|
|
|
275
275
|
propagateDataPropsPath() {
|
|
276
276
|
j(this.settings, (t, e) => {
|
|
277
277
|
const i = String(t), s = this.dataPropsPath ? `${this.dataPropsPath}_${i}` : i;
|
|
278
|
-
(L(e) ||
|
|
278
|
+
(L(e) || R(e) && typeof e.setDataPropsPath == "function") && e.setDataPropsPath(s);
|
|
279
279
|
});
|
|
280
280
|
}
|
|
281
281
|
updateNestingStyles() {
|
|
282
|
-
this.elementRef && (J(this.elementRef, this.nestingLevel),
|
|
282
|
+
this.elementRef && (J(this.elementRef, this.nestingLevel), tt(this.elementRef, this.nestingLevel));
|
|
283
283
|
}
|
|
284
284
|
forceChildUIRefresh() {
|
|
285
285
|
Object.entries(this.settings).forEach(([t, e]) => {
|
|
@@ -345,7 +345,7 @@ const Y = class Y {
|
|
|
345
345
|
deleteItem: this.deleteItemCfg,
|
|
346
346
|
dataProps: this.dataProps,
|
|
347
347
|
hide: this.hide
|
|
348
|
-
}, i =
|
|
348
|
+
}, i = wt(e);
|
|
349
349
|
return i.initialValues = this.getValues(), i;
|
|
350
350
|
}
|
|
351
351
|
resetDefault() {
|
|
@@ -355,7 +355,7 @@ const Y = class Y {
|
|
|
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 && (L(s) ||
|
|
358
|
+
s && (L(s) || R(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) {
|
|
@@ -398,7 +398,7 @@ const Y = class Y {
|
|
|
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 (R(s)) {
|
|
402
402
|
const o = () => e();
|
|
403
403
|
this.changeHandlers.add(o), s.setOnChange(o);
|
|
404
404
|
} else {
|
|
@@ -421,10 +421,10 @@ const Y = class Y {
|
|
|
421
421
|
const o = i.slice(this.addItemCfg.keyPrefix.length), a = Number(o);
|
|
422
422
|
if (Number.isFinite(a)) {
|
|
423
423
|
const l = this.addItemCfg.createItem(a);
|
|
424
|
-
|
|
424
|
+
ot(l) && (this.addSetting(i, l), n = l);
|
|
425
425
|
}
|
|
426
426
|
}
|
|
427
|
-
n && (L(n) ||
|
|
427
|
+
n && (L(n) || R(n)) && typeof n.setValue == "function" && n.setValue(s);
|
|
428
428
|
}), setTimeout(() => {
|
|
429
429
|
this.forceChildUIRefresh();
|
|
430
430
|
}, 0);
|
|
@@ -438,7 +438,7 @@ const Y = class Y {
|
|
|
438
438
|
const s = this.getValues();
|
|
439
439
|
this.initialValues = s, (n = this.onChange) == null || n.call(this, s), this.updateVisibility();
|
|
440
440
|
};
|
|
441
|
-
L(t) ? t.setOnChange(() => e()) :
|
|
441
|
+
L(t) ? t.setOnChange(() => e()) : R(t) ? t.setOnChange(() => e()) : (i = t.setOnChange) == null || i.call(t, () => e());
|
|
442
442
|
}
|
|
443
443
|
addSetting(t, e) {
|
|
444
444
|
var s, n;
|
|
@@ -454,7 +454,7 @@ const Y = class Y {
|
|
|
454
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),
|
|
457
|
+
r ? o.insertBefore(a, r) : o.appendChild(a), nt.trackElement(a), J(a, this.nestingLevel + 1), tt(a, this.nestingLevel + 1);
|
|
458
458
|
const h = a.style.display;
|
|
459
459
|
a.style.display = "none", a.offsetHeight, a.style.display = h, this.updateNestingStyles();
|
|
460
460
|
}
|
|
@@ -705,7 +705,7 @@ const Y = class Y {
|
|
|
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"), J(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",
|
|
@@ -760,14 +760,14 @@ const Y = class Y {
|
|
|
760
760
|
</svg>`;
|
|
761
761
|
h.innerHTML = `${p}<span style="margin-left:4px;">${this.addItemCfg.buttonLabel ?? "Add"}</span>`, h.addEventListener("click", (d) => {
|
|
762
762
|
d.stopPropagation(), d.preventDefault();
|
|
763
|
-
const
|
|
764
|
-
if (
|
|
765
|
-
const m = `${this.addItemCfg.keyPrefix}${
|
|
766
|
-
this.addSetting(m,
|
|
763
|
+
const u = this.getNextIndexFromPrefix(this.addItemCfg.keyPrefix), g = this.addItemCfg.createItem(u);
|
|
764
|
+
if (ot(g)) {
|
|
765
|
+
const m = `${this.addItemCfg.keyPrefix}${u}`;
|
|
766
|
+
this.addSetting(m, g);
|
|
767
767
|
}
|
|
768
768
|
}), a.appendChild(h);
|
|
769
769
|
}
|
|
770
|
-
return e.appendChild(i), e.appendChild(n), t.appendChild(e), t.appendChild(a), this.elementRef = t,
|
|
770
|
+
return e.appendChild(i), e.appendChild(n), t.appendChild(e), t.appendChild(a), this.elementRef = t, nt.trackElement(t), setTimeout(() => {
|
|
771
771
|
this.updateNestingStyles();
|
|
772
772
|
}, 0), this.pendingBlurHandler && (this.pendingBlurHandler = null), t;
|
|
773
773
|
}
|
|
@@ -809,12 +809,12 @@ const Y = class Y {
|
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
};
|
|
812
|
-
|
|
813
|
-
let T =
|
|
812
|
+
K.hiddenElements = /* @__PURE__ */ new Set();
|
|
813
|
+
let T = K;
|
|
814
814
|
function ae(c) {
|
|
815
|
-
return new
|
|
815
|
+
return new bt(c);
|
|
816
816
|
}
|
|
817
|
-
class
|
|
817
|
+
class bt extends T {
|
|
818
818
|
constructor(t) {
|
|
819
819
|
super(t);
|
|
820
820
|
const e = Object.keys(this.settings)[0];
|
|
@@ -865,13 +865,13 @@ class Et extends T {
|
|
|
865
865
|
return this.updateTabUI(), t;
|
|
866
866
|
}
|
|
867
867
|
}
|
|
868
|
-
function
|
|
868
|
+
function wt(c) {
|
|
869
869
|
return new T(c);
|
|
870
870
|
}
|
|
871
871
|
function le(c) {
|
|
872
872
|
return c;
|
|
873
873
|
}
|
|
874
|
-
class
|
|
874
|
+
class xt extends w {
|
|
875
875
|
constructor(t = {}) {
|
|
876
876
|
super(t), this.inputType = "text", t.onChange && this.setOnChange(t.onChange);
|
|
877
877
|
}
|
|
@@ -891,12 +891,12 @@ class wt extends b {
|
|
|
891
891
|
});
|
|
892
892
|
}
|
|
893
893
|
}
|
|
894
|
-
const
|
|
895
|
-
class M extends
|
|
894
|
+
const Lt = "<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 xt {
|
|
896
896
|
constructor(t) {
|
|
897
897
|
super({
|
|
898
898
|
...t,
|
|
899
|
-
icon: t.icon ||
|
|
899
|
+
icon: t.icon || Lt,
|
|
900
900
|
title: t.title || "Color",
|
|
901
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;
|
|
@@ -995,20 +995,20 @@ class M extends wt {
|
|
|
995
995
|
return this.isValidHex() ? this.hexToRgb(this.value) : "0, 0, 0";
|
|
996
996
|
}
|
|
997
997
|
}
|
|
998
|
-
const
|
|
998
|
+
const kt = `
|
|
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 P extends w {
|
|
1005
1005
|
constructor(t = {}) {
|
|
1006
1006
|
super({
|
|
1007
1007
|
...t,
|
|
1008
|
-
icon: t.icon ||
|
|
1008
|
+
icon: t.icon || kt,
|
|
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 = P.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 H 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 = P.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 H 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 = P.combineColorOpacity(
|
|
1041
1041
|
t,
|
|
1042
1042
|
e
|
|
1043
1043
|
);
|
|
@@ -1048,7 +1048,7 @@ class H 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 = P.combineColorOpacity(
|
|
1052
1052
|
e,
|
|
1053
1053
|
i
|
|
1054
1054
|
);
|
|
@@ -1123,7 +1123,7 @@ class H extends b {
|
|
|
1123
1123
|
};
|
|
1124
1124
|
}
|
|
1125
1125
|
}
|
|
1126
|
-
class re extends
|
|
1126
|
+
class re extends w {
|
|
1127
1127
|
constructor(t = {}) {
|
|
1128
1128
|
super(t), this.inputType = "text", t.onChange && this.setOnChange(t.onChange);
|
|
1129
1129
|
}
|
|
@@ -1155,7 +1155,7 @@ class re 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 I extends
|
|
1158
|
+
class I extends w {
|
|
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 I extends b {
|
|
|
1214
1214
|
);
|
|
1215
1215
|
}
|
|
1216
1216
|
}
|
|
1217
|
-
const
|
|
1217
|
+
const Mt = `
|
|
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 St extends I {
|
|
1223
1223
|
constructor(t = {}) {
|
|
1224
1224
|
const e = {
|
|
1225
1225
|
title: "Opacity",
|
|
@@ -1228,7 +1228,7 @@ class Mt extends I {
|
|
|
1228
1228
|
maxValue: 100,
|
|
1229
1229
|
step: 1,
|
|
1230
1230
|
default: t.default ?? 100,
|
|
1231
|
-
icon:
|
|
1231
|
+
icon: Mt,
|
|
1232
1232
|
...t
|
|
1233
1233
|
};
|
|
1234
1234
|
super(e), this.inputType = "number", this.mobileValue = t.mobile;
|
|
@@ -1240,12 +1240,12 @@ class Mt extends I {
|
|
|
1240
1240
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1241
1241
|
}
|
|
1242
1242
|
}
|
|
1243
|
-
const
|
|
1243
|
+
const It = `
|
|
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 et extends w {
|
|
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 it 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 = It, 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");
|
|
@@ -1358,7 +1358,7 @@ class it extends b {
|
|
|
1358
1358
|
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();
|
|
1359
1359
|
}
|
|
1360
1360
|
}
|
|
1361
|
-
class
|
|
1361
|
+
class Nt extends w {
|
|
1362
1362
|
constructor(t = {}) {
|
|
1363
1363
|
super(t), this.inputType = "button", this.value || (this.value = "center");
|
|
1364
1364
|
}
|
|
@@ -1414,7 +1414,7 @@ class It extends b {
|
|
|
1414
1414
|
}), t.appendChild(i), t;
|
|
1415
1415
|
}
|
|
1416
1416
|
}
|
|
1417
|
-
class ce extends
|
|
1417
|
+
class ce extends w {
|
|
1418
1418
|
constructor(t) {
|
|
1419
1419
|
super(t), this.inputType = "button", this.bgWithAlpha = "rgba(145, 158, 171, 0.08)";
|
|
1420
1420
|
}
|
|
@@ -1443,7 +1443,7 @@ class ce extends b {
|
|
|
1443
1443
|
return o.className = "button-setting-wrapper " + (this.props.wrapperClassName || ""), o.appendChild(t), o;
|
|
1444
1444
|
}
|
|
1445
1445
|
}
|
|
1446
|
-
class he extends
|
|
1446
|
+
class he extends w {
|
|
1447
1447
|
constructor(t = {}) {
|
|
1448
1448
|
super(t), this.inputType = { width: "number", height: "number" }, this.aspectRatio = 1, this.isUpdating = !1;
|
|
1449
1449
|
const e = t.width || 0, i = t.height || 0;
|
|
@@ -1456,14 +1456,14 @@ class he extends b {
|
|
|
1456
1456
|
suffix: "px",
|
|
1457
1457
|
minValue: this.minWidth,
|
|
1458
1458
|
maxValue: this.maxWidth,
|
|
1459
|
-
icon:
|
|
1459
|
+
icon: Vt
|
|
1460
1460
|
}), this.heightSetting = new I({
|
|
1461
1461
|
title: "Height",
|
|
1462
1462
|
default: this.value.height,
|
|
1463
1463
|
suffix: "px",
|
|
1464
1464
|
minValue: this.minHeight,
|
|
1465
1465
|
maxValue: this.maxHeight,
|
|
1466
|
-
icon:
|
|
1466
|
+
icon: Tt
|
|
1467
1467
|
}), this.widthSetting.setOnChange(this.handleWidthChange.bind(this)), this.heightSetting.setOnChange(this.handleHeightChange.bind(this));
|
|
1468
1468
|
}
|
|
1469
1469
|
handleWidthChange(t) {
|
|
@@ -1557,24 +1557,24 @@ class he extends b {
|
|
|
1557
1557
|
}
|
|
1558
1558
|
}
|
|
1559
1559
|
}
|
|
1560
|
-
const
|
|
1560
|
+
const Vt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1561
1561
|
<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"/>
|
|
1562
|
-
</svg>`,
|
|
1562
|
+
</svg>`, Tt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1563
1563
|
<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"/>
|
|
1564
|
-
</svg>`,
|
|
1564
|
+
</svg>`, Y = `
|
|
1565
1565
|
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16" fill="none">
|
|
1566
1566
|
<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"/>
|
|
1567
1567
|
</svg>
|
|
1568
|
-
`,
|
|
1568
|
+
`, Ot = `
|
|
1569
1569
|
<svg width="91" height="71" viewBox="0 0 91 71" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1570
1570
|
<rect width="91" height="71" rx="4" fill="#F2F4F7"/>
|
|
1571
1571
|
<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"/>
|
|
1572
1572
|
</svg>
|
|
1573
|
-
`,
|
|
1573
|
+
`, Pt = `
|
|
1574
1574
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 12 12" fill="none">
|
|
1575
1575
|
<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"/>
|
|
1576
1576
|
</svg>
|
|
1577
|
-
`,
|
|
1577
|
+
`, Ht = `
|
|
1578
1578
|
<svg xmlns="http://www.w3.org/2000/svg" width="29" height="29" viewBox="0 0 29 29" fill="none">
|
|
1579
1579
|
<!-- Top dot -->
|
|
1580
1580
|
<circle cx="14.5" cy="3" r="1.5" fill="#02CC59" opacity="1"/>
|
|
@@ -1594,7 +1594,7 @@ const Nt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewB
|
|
|
1594
1594
|
<circle cx="6.7" cy="6.7" r="1.5" fill="#02CC59" opacity="0.3"/>
|
|
1595
1595
|
</svg>
|
|
1596
1596
|
`;
|
|
1597
|
-
class
|
|
1597
|
+
class pt extends w {
|
|
1598
1598
|
constructor(t = {}) {
|
|
1599
1599
|
super(t), this.inputType = "button", this.previewWrapper = null, this.previewEl = null, this.emptyStateEl = null, this.errorContainer = null, this.messageListener = null, this.loadingSpinner = null, this.props.delete === void 0 && (this.props.delete = !0), this.props.maxFileSizeMB === void 0 && (this.props.maxFileSizeMB = 5), !this.value && t.defaultUrl && t.defaultUrl !== "" && (this.value = t.defaultUrl), this.setupMessageListener();
|
|
1600
1600
|
}
|
|
@@ -1647,7 +1647,7 @@ class ht extends b {
|
|
|
1647
1647
|
);
|
|
1648
1648
|
if (t && t !== "") {
|
|
1649
1649
|
this.showLoading(), s && s instanceof HTMLElement && (s.style.display = "none"), e && e.classList.remove("no-image"), i && (i.innerHTML = `
|
|
1650
|
-
<span class="upload-icon">${
|
|
1650
|
+
<span class="upload-icon">${Y}</span>
|
|
1651
1651
|
<span class="upload-label">Replace</span>
|
|
1652
1652
|
`);
|
|
1653
1653
|
const n = () => {
|
|
@@ -1658,7 +1658,7 @@ class ht extends b {
|
|
|
1658
1658
|
this.previewEl.addEventListener("load", n), this.previewEl.addEventListener("error", o), this.previewEl.src = t;
|
|
1659
1659
|
} else
|
|
1660
1660
|
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 = `
|
|
1661
|
-
<span class="upload-icon">${
|
|
1661
|
+
<span class="upload-icon">${Y}</span>
|
|
1662
1662
|
<span class="upload-label">Upload</span>
|
|
1663
1663
|
`);
|
|
1664
1664
|
}
|
|
@@ -1691,9 +1691,9 @@ class ht extends b {
|
|
|
1691
1691
|
const s = this.value && this.value !== "";
|
|
1692
1692
|
s || i.classList.add("no-image");
|
|
1693
1693
|
const n = document.createElement("div");
|
|
1694
|
-
if (n.className = "preview-placeholder", n.innerHTML =
|
|
1694
|
+
if (n.className = "preview-placeholder", n.innerHTML = Ot, this.previewWrapper = document.createElement("div"), this.previewWrapper.className = "preview-wrapper", this.loadingSpinner = document.createElement("div"), this.loadingSpinner.className = "loading-spinner", this.loadingSpinner.innerHTML = Ht, this.loadingSpinner.style.display = "none", this.previewWrapper.appendChild(this.loadingSpinner), this.previewEl = document.createElement("img"), this.previewEl.className = "upload-preview", this.props.delete) {
|
|
1695
1695
|
const a = document.createElement("button");
|
|
1696
|
-
a.className = "delete-button", a.type = "button", a.title = "Delete image", a.innerHTML =
|
|
1696
|
+
a.className = "delete-button", a.type = "button", a.title = "Delete image", a.innerHTML = Pt, this.previewWrapper.appendChild(a), a.onclick = (l) => {
|
|
1697
1697
|
var r;
|
|
1698
1698
|
l.stopPropagation(), this.value = "", this.updatePreviewState(null), (r = this.onChange) == null || r.call(this, ""), this.hideError();
|
|
1699
1699
|
};
|
|
@@ -1701,7 +1701,7 @@ class ht extends b {
|
|
|
1701
1701
|
this.previewWrapper.appendChild(this.previewEl);
|
|
1702
1702
|
const o = document.createElement("button");
|
|
1703
1703
|
return o.className = "upload-button", this.getDataPropsPath() && o.setAttribute("data-test-id", this.getDataPropsPath()), o.innerHTML = `
|
|
1704
|
-
<span class="upload-icon">${
|
|
1704
|
+
<span class="upload-icon">${Y}</span>
|
|
1705
1705
|
<span class="upload-label">Upload</span>
|
|
1706
1706
|
`, i.appendChild(n), i.appendChild(this.previewWrapper), i.appendChild(o), t.appendChild(i), s ? this.updatePreviewState(this.value) : this.updatePreviewState(null), o.onclick = () => {
|
|
1707
1707
|
window.postMessage(
|
|
@@ -1721,7 +1721,7 @@ class pe extends I {
|
|
|
1721
1721
|
title: t.title || "Height",
|
|
1722
1722
|
suffix: t.suffix || "px",
|
|
1723
1723
|
minValue: t.minValue ?? 0,
|
|
1724
|
-
icon: t.icon ||
|
|
1724
|
+
icon: t.icon || $t,
|
|
1725
1725
|
default: t.default ?? 100
|
|
1726
1726
|
}), this.inputType = "number", this.mobileValue = t.mobile;
|
|
1727
1727
|
}
|
|
@@ -1732,7 +1732,7 @@ class pe extends I {
|
|
|
1732
1732
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1733
1733
|
}
|
|
1734
1734
|
}
|
|
1735
|
-
const
|
|
1735
|
+
const $t = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1736
1736
|
<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"/>
|
|
1737
1737
|
</svg>`;
|
|
1738
1738
|
class de extends I {
|
|
@@ -1742,7 +1742,7 @@ class de extends I {
|
|
|
1742
1742
|
title: t.title || "Width",
|
|
1743
1743
|
suffix: t.suffix || "px",
|
|
1744
1744
|
minValue: t.minValue ?? 0,
|
|
1745
|
-
icon: t.icon ||
|
|
1745
|
+
icon: t.icon || At,
|
|
1746
1746
|
default: t.default ?? 100
|
|
1747
1747
|
}), this.inputType = "number", this.mobileValue = t.mobile;
|
|
1748
1748
|
}
|
|
@@ -1753,14 +1753,14 @@ class de extends I {
|
|
|
1753
1753
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
1754
1754
|
}
|
|
1755
1755
|
}
|
|
1756
|
-
const
|
|
1756
|
+
const At = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
1757
1757
|
<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"/>
|
|
1758
|
-
</svg>`,
|
|
1758
|
+
</svg>`, Bt = `
|
|
1759
1759
|
<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">
|
|
1760
1760
|
<polyline points="6 9 12 15 18 9"></polyline>
|
|
1761
1761
|
</svg>
|
|
1762
1762
|
`;
|
|
1763
|
-
class ue extends
|
|
1763
|
+
class ue extends w {
|
|
1764
1764
|
constructor(t = {}) {
|
|
1765
1765
|
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.hasInitializedOptions = !1, this.selectedOptionIndex = null, t.default !== void 0 && (this.value = t.default), this.initializeOptions(t), !t.getOptionsAsync && this.value !== void 0) {
|
|
1766
1766
|
const e = this._options.findIndex(
|
|
@@ -1815,7 +1815,7 @@ class ue extends b {
|
|
|
1815
1815
|
a.onclick = (l) => this.selectApiOption(l, o, e), i.appendChild(a);
|
|
1816
1816
|
}), t.appendChild(i);
|
|
1817
1817
|
const s = document.createElement("div");
|
|
1818
|
-
return s.classList.add("svg-container"), s.innerHTML =
|
|
1818
|
+
return s.classList.add("svg-container"), s.innerHTML = Bt, t.appendChild(s), s.onclick = () => {
|
|
1819
1819
|
var n, o;
|
|
1820
1820
|
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));
|
|
1821
1821
|
}, this.optionsListEl = i, this.svgContainer = s, this.props.getOptionsAsync && !this.hasInitializedOptions ? (this.isLoading = !0, this.updateButtonText(), this.props.getOptionsAsync().then((n) => {
|
|
@@ -1907,7 +1907,7 @@ class ue extends b {
|
|
|
1907
1907
|
), this.updateButtonText();
|
|
1908
1908
|
}
|
|
1909
1909
|
}
|
|
1910
|
-
class ge extends
|
|
1910
|
+
class ge extends w {
|
|
1911
1911
|
constructor(t) {
|
|
1912
1912
|
var e, i;
|
|
1913
1913
|
super(t), this.inputType = "text", this.value = t.default ?? ((i = (e = t.options) == null ? void 0 : e[0]) == null ? void 0 : i.value) ?? "", this.detectChangeCallback = t.detectChange;
|
|
@@ -1957,13 +1957,13 @@ class ge extends b {
|
|
|
1957
1957
|
this.detectChangeCallback = t;
|
|
1958
1958
|
}
|
|
1959
1959
|
}
|
|
1960
|
-
const
|
|
1960
|
+
const Dt = `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
1961
1961
|
<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"/>
|
|
1962
1962
|
</svg>`;
|
|
1963
|
-
class me extends
|
|
1963
|
+
class me extends w {
|
|
1964
1964
|
// Store mobile value
|
|
1965
1965
|
constructor(t = {}) {
|
|
1966
|
-
t.rowGap = t.rowGap ?? !0, t.columnGap = t.columnGap ?? !0, t.title = t.title ?? "Gap", t.icon = t.icon ??
|
|
1966
|
+
t.rowGap = t.rowGap ?? !0, t.columnGap = t.columnGap ?? !0, t.title = t.title ?? "Gap", t.icon = t.icon ?? Dt, 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);
|
|
1967
1967
|
}
|
|
1968
1968
|
draw() {
|
|
1969
1969
|
const t = document.createElement("div");
|
|
@@ -2014,7 +2014,7 @@ class me extends b {
|
|
|
2014
2014
|
this.mobileValue = t, t !== void 0 && this.setValue(t);
|
|
2015
2015
|
}
|
|
2016
2016
|
}
|
|
2017
|
-
const
|
|
2017
|
+
const Rt = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
2018
2018
|
<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"/>
|
|
2019
2019
|
</svg>`;
|
|
2020
2020
|
class fe extends I {
|
|
@@ -2023,14 +2023,14 @@ class fe extends I {
|
|
|
2023
2023
|
...t,
|
|
2024
2024
|
minValue: t.minValue ?? 0,
|
|
2025
2025
|
maxValue: t.maxValue ?? 1e3,
|
|
2026
|
-
icon: t.icon ||
|
|
2026
|
+
icon: t.icon || Rt,
|
|
2027
2027
|
title: t.title || "Margin Bottom",
|
|
2028
2028
|
default: t.default ?? 20,
|
|
2029
2029
|
wrapperClassName: "margin-bottom-wrapper " + (t.wrapperClassName || "")
|
|
2030
2030
|
}), this.inputType = "number";
|
|
2031
2031
|
}
|
|
2032
2032
|
}
|
|
2033
|
-
const
|
|
2033
|
+
const Ft = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
2034
2034
|
<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"
|
|
2035
2035
|
stroke="#667085" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2036
2036
|
</svg>`;
|
|
@@ -2040,16 +2040,16 @@ class ve extends I {
|
|
|
2040
2040
|
...t,
|
|
2041
2041
|
minValue: t.minValue ?? 0,
|
|
2042
2042
|
maxValue: t.maxValue ?? 1e3,
|
|
2043
|
-
icon: t.icon ||
|
|
2043
|
+
icon: t.icon || Ft,
|
|
2044
2044
|
title: t.title || "Margin Top",
|
|
2045
2045
|
default: t.default ?? 20,
|
|
2046
2046
|
wrapperClassName: "margin-top-wrapper " + (t.wrapperClassName || "")
|
|
2047
2047
|
}), this.inputType = "number";
|
|
2048
2048
|
}
|
|
2049
2049
|
}
|
|
2050
|
-
class Ce extends
|
|
2050
|
+
class Ce extends w {
|
|
2051
2051
|
constructor(t) {
|
|
2052
|
-
super(t), this.inputType = {}, this.container = null, this.defaultLanguage = "", this.uploadSettings = /* @__PURE__ */ new Map(), t.default ? this.value = { ...t.default } : this.value || (this.value = {}), this.defaultLanguage = t.languages.includes(
|
|
2052
|
+
super(t), this.inputType = {}, this.container = null, this.defaultLanguage = "", this.uploadSettings = /* @__PURE__ */ new Map(), t.default ? this.value = { ...t.default } : this.value || (this.value = {}), this.defaultLanguage = t.languages.includes(w.DefaultLanguage) ? w.DefaultLanguage : t.languages[0];
|
|
2053
2053
|
const e = t.defaultValue || `Enter text in ${this.capitalizeFirstLetter(this.defaultLanguage)}`;
|
|
2054
2054
|
t.languages.forEach((i) => {
|
|
2055
2055
|
var s, n;
|
|
@@ -2080,13 +2080,13 @@ class Ce extends b {
|
|
|
2080
2080
|
return;
|
|
2081
2081
|
}
|
|
2082
2082
|
const h = "...";
|
|
2083
|
-
let p = 0, d = e.length,
|
|
2083
|
+
let p = 0, d = e.length, u = 0;
|
|
2084
2084
|
for (; p <= d; ) {
|
|
2085
2085
|
const m = Math.floor((p + d) / 2), f = e.slice(0, m).trimEnd() + h;
|
|
2086
|
-
this.measureTextWidth(f, i) <= l ? (
|
|
2086
|
+
this.measureTextWidth(f, i) <= l ? (u = m, p = m + 1) : d = m - 1;
|
|
2087
2087
|
}
|
|
2088
|
-
const
|
|
2089
|
-
t.placeholder =
|
|
2088
|
+
const g = e.slice(0, u).trimEnd() + h;
|
|
2089
|
+
t.placeholder = g;
|
|
2090
2090
|
}
|
|
2091
2091
|
autosizeTextarea(t, e = 3) {
|
|
2092
2092
|
t.style.height = "auto";
|
|
@@ -2098,7 +2098,7 @@ class Ce extends b {
|
|
|
2098
2098
|
i.classList.add("simple-multi-language-row");
|
|
2099
2099
|
const s = document.createElement("label");
|
|
2100
2100
|
if (s.classList.add("simple-language-label"), s.textContent = t.toUpperCase(), s.setAttribute("for", `textarea-${t}`), i.appendChild(s), this.props.multiImg) {
|
|
2101
|
-
const n = new
|
|
2101
|
+
const n = new pt({
|
|
2102
2102
|
defaultUrl: e || "",
|
|
2103
2103
|
title: "",
|
|
2104
2104
|
id: `${this.id}_upload_${t}`
|
|
@@ -2194,7 +2194,7 @@ class Ce extends b {
|
|
|
2194
2194
|
});
|
|
2195
2195
|
}
|
|
2196
2196
|
}
|
|
2197
|
-
class ye extends
|
|
2197
|
+
class ye extends w {
|
|
2198
2198
|
constructor(t = {}) {
|
|
2199
2199
|
super(t), this.inputType = "select";
|
|
2200
2200
|
const e = [
|
|
@@ -2205,7 +2205,7 @@ class ye extends b {
|
|
|
2205
2205
|
{ name: "Bounce", value: "bounce 1.5s ease-in-out infinite" },
|
|
2206
2206
|
{ name: "Pulse", value: "pulse 1.5s ease-in-out infinite" }
|
|
2207
2207
|
];
|
|
2208
|
-
this.selectSetting = new
|
|
2208
|
+
this.selectSetting = new et({
|
|
2209
2209
|
title: this.title || "Animation",
|
|
2210
2210
|
options: e,
|
|
2211
2211
|
default: this.props.default || "none"
|
|
@@ -2221,7 +2221,7 @@ class ye extends b {
|
|
|
2221
2221
|
this.selectSetting.destroy(), super.destroy();
|
|
2222
2222
|
}
|
|
2223
2223
|
}
|
|
2224
|
-
const
|
|
2224
|
+
const Ut = (c, t) => {
|
|
2225
2225
|
let e = !1, i = 0, s = 0, n = 0, o = 0;
|
|
2226
2226
|
const a = (h) => {
|
|
2227
2227
|
if (h.target.closest("button")) return;
|
|
@@ -2230,42 +2230,42 @@ const Ft = (c, t) => {
|
|
|
2230
2230
|
n = p.left, o = p.top, document.addEventListener("mousemove", l), document.addEventListener("mouseup", r), document.body.style.userSelect = "none";
|
|
2231
2231
|
}, l = (h) => {
|
|
2232
2232
|
if (!e) return;
|
|
2233
|
-
const p = h.clientX - i, d = h.clientY - s,
|
|
2234
|
-
let C = n + p,
|
|
2235
|
-
C = Math.max(8, Math.min(
|
|
2233
|
+
const p = h.clientX - i, d = h.clientY - s, u = window.innerWidth, g = window.innerHeight, m = t.offsetWidth, f = t.offsetHeight;
|
|
2234
|
+
let C = n + p, y = o + d;
|
|
2235
|
+
C = Math.max(8, Math.min(u - m - 8, C)), y = Math.max(8, Math.min(g - f - 8, y)), t.style.left = `${C}px`, t.style.top = `${y}px`;
|
|
2236
2236
|
}, r = () => {
|
|
2237
2237
|
e = !1, document.removeEventListener("mousemove", l), document.removeEventListener("mouseup", r), document.body.style.userSelect = "";
|
|
2238
2238
|
};
|
|
2239
2239
|
c.addEventListener("mousedown", a);
|
|
2240
|
-
},
|
|
2240
|
+
}, U = (c) => {
|
|
2241
2241
|
if (!c) return null;
|
|
2242
2242
|
let t = c.trim();
|
|
2243
2243
|
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()}`;
|
|
2244
|
-
},
|
|
2244
|
+
}, F = (c, t, e) => `#${[c, t, e].map((i) => Math.max(0, Math.min(255, i)).toString(16).padStart(2, "0")).join("")}`, S = (c) => {
|
|
2245
2245
|
const t = c.replace("#", ""), e = t.length === 3 ? t.split("").map((i) => i + i).join("") : t;
|
|
2246
2246
|
return {
|
|
2247
2247
|
r: parseInt(e.slice(0, 2), 16),
|
|
2248
2248
|
g: parseInt(e.slice(2, 4), 16),
|
|
2249
2249
|
b: parseInt(e.slice(4, 6), 16)
|
|
2250
2250
|
};
|
|
2251
|
-
},
|
|
2251
|
+
}, $ = (c) => {
|
|
2252
2252
|
const { r: t, g: e, b: i } = S(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;
|
|
2253
2253
|
let h = 0;
|
|
2254
2254
|
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);
|
|
2255
2255
|
const p = a === 0 ? 0 : r / a, d = a;
|
|
2256
2256
|
return { h: h * 60, s: p, v: d };
|
|
2257
|
-
},
|
|
2257
|
+
}, W = (c, t, e) => {
|
|
2258
2258
|
const i = (c % 360 + 360) % 360, s = e * t, n = s * (1 - Math.abs(i / 60 % 2 - 1)), o = e - s;
|
|
2259
2259
|
let a = 0, l = 0, r = 0;
|
|
2260
|
-
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),
|
|
2260
|
+
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(
|
|
2261
2261
|
Math.round((a + o) * 255),
|
|
2262
2262
|
Math.round((l + o) * 255),
|
|
2263
2263
|
Math.round((r + o) * 255)
|
|
2264
2264
|
);
|
|
2265
|
-
},
|
|
2265
|
+
}, Gt = (c, t, e) => {
|
|
2266
2266
|
const i = e * (1 - t / 2), s = i === 0 || i === 1 ? 0 : (e - i) / Math.min(i, 1 - i);
|
|
2267
2267
|
return { hue: c, sat: s, lightness: i };
|
|
2268
|
-
},
|
|
2268
|
+
}, Z = (c, t, e) => {
|
|
2269
2269
|
const i = (1 - Math.abs(2 * e - 1)) * t, s = i * (1 - Math.abs(c / 60 % 2 - 1)), n = e - i / 2;
|
|
2270
2270
|
let o = 0, a = 0, l = 0;
|
|
2271
2271
|
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), {
|
|
@@ -2273,7 +2273,7 @@ const Ft = (c, t) => {
|
|
|
2273
2273
|
g: Math.round((a + n) * 255),
|
|
2274
2274
|
b: Math.round((l + n) * 255)
|
|
2275
2275
|
};
|
|
2276
|
-
},
|
|
2276
|
+
}, dt = (c, t) => {
|
|
2277
2277
|
const e = Math.max(0, Math.min(100, t)) / 100;
|
|
2278
2278
|
if (c.startsWith("#")) {
|
|
2279
2279
|
const { r: s, g: n, b: o } = S(c);
|
|
@@ -2286,7 +2286,7 @@ const Ft = (c, t) => {
|
|
|
2286
2286
|
if (c.startsWith("hsl(")) {
|
|
2287
2287
|
const s = c.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);
|
|
2288
2288
|
if (s) {
|
|
2289
|
-
const { r: n, g: o, b: a } =
|
|
2289
|
+
const { r: n, g: o, b: a } = Z(
|
|
2290
2290
|
parseInt(s[1]),
|
|
2291
2291
|
parseInt(s[2]) / 100,
|
|
2292
2292
|
parseInt(s[3]) / 100
|
|
@@ -2297,7 +2297,7 @@ const Ft = (c, t) => {
|
|
|
2297
2297
|
if (c.startsWith("hsla(")) {
|
|
2298
2298
|
const s = c.match(/hsla\((\d+),\s*(\d+)%,\s*(\d+)%,\s*[\d.]+\)/);
|
|
2299
2299
|
if (s) {
|
|
2300
|
-
const { r: n, g: o, b: a } =
|
|
2300
|
+
const { r: n, g: o, b: a } = Z(
|
|
2301
2301
|
parseInt(s[1]),
|
|
2302
2302
|
parseInt(s[2]) / 100,
|
|
2303
2303
|
parseInt(s[3]) / 100
|
|
@@ -2305,13 +2305,13 @@ const Ft = (c, t) => {
|
|
|
2305
2305
|
return `rgba(${n}, ${o}, ${a}, ${e})`;
|
|
2306
2306
|
}
|
|
2307
2307
|
}
|
|
2308
|
-
const i =
|
|
2308
|
+
const i = U(c);
|
|
2309
2309
|
if (i) {
|
|
2310
2310
|
const { r: s, g: n, b: o } = S(i);
|
|
2311
2311
|
return `rgba(${s}, ${n}, ${o}, ${e})`;
|
|
2312
2312
|
}
|
|
2313
2313
|
return c;
|
|
2314
|
-
},
|
|
2314
|
+
}, zt = (c) => [
|
|
2315
2315
|
"red",
|
|
2316
2316
|
"green",
|
|
2317
2317
|
"blue",
|
|
@@ -2335,22 +2335,22 @@ const Ft = (c, t) => {
|
|
|
2335
2335
|
"teal",
|
|
2336
2336
|
"fuchsia",
|
|
2337
2337
|
"transparent"
|
|
2338
|
-
].includes(c.toLowerCase()),
|
|
2338
|
+
].includes(c.toLowerCase()), ut = (c) => [
|
|
2339
2339
|
/^#[0-9a-fA-F]{3,8}$/,
|
|
2340
2340
|
/^rgba?\s*\([^)]+\)$/,
|
|
2341
2341
|
/^hsla?\s*\([^)]+\)$/,
|
|
2342
2342
|
/^[a-zA-Z]+$/
|
|
2343
2343
|
].some((e) => e.test(c.trim())), Wt = (c) => {
|
|
2344
2344
|
if (typeof document > "u")
|
|
2345
|
-
return
|
|
2345
|
+
return ut(c) || !!U(c);
|
|
2346
2346
|
const t = document.createElement("div");
|
|
2347
2347
|
return t.style.color = c, t.style.color !== "";
|
|
2348
|
-
},
|
|
2348
|
+
}, gt = (c) => {
|
|
2349
2349
|
const t = c.trim();
|
|
2350
2350
|
if (/^#[0-9A-Fa-f]{8}$/.test(t)) {
|
|
2351
2351
|
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);
|
|
2352
2352
|
return {
|
|
2353
|
-
color:
|
|
2353
|
+
color: F(o, a, l),
|
|
2354
2354
|
position: 0,
|
|
2355
2355
|
opacity: Math.round(r / 255 * 100)
|
|
2356
2356
|
};
|
|
@@ -2361,7 +2361,7 @@ const Ft = (c, t) => {
|
|
|
2361
2361
|
if (e) {
|
|
2362
2362
|
const n = parseInt(e[1]), o = parseInt(e[2]), a = parseInt(e[3]), l = e[4] ? parseFloat(e[4]) : 1;
|
|
2363
2363
|
return {
|
|
2364
|
-
color:
|
|
2364
|
+
color: F(n, o, a),
|
|
2365
2365
|
position: 0,
|
|
2366
2366
|
opacity: Math.round(l * 100)
|
|
2367
2367
|
};
|
|
@@ -2370,21 +2370,136 @@ const Ft = (c, t) => {
|
|
|
2370
2370
|
/hsla?\s*\(\s*([\d.]+)\s*,\s*([\d.]+)%\s*,\s*([\d.]+)%(?:\s*,\s*([\d.]+))?\s*\)/
|
|
2371
2371
|
);
|
|
2372
2372
|
if (i) {
|
|
2373
|
-
const { r: n, g: o, b: a } =
|
|
2373
|
+
const { r: n, g: o, b: a } = Z(
|
|
2374
2374
|
parseFloat(i[1]),
|
|
2375
2375
|
parseFloat(i[2]) / 100,
|
|
2376
2376
|
parseFloat(i[3]) / 100
|
|
2377
2377
|
), l = i[4] ? parseFloat(i[4]) : 1;
|
|
2378
2378
|
return {
|
|
2379
|
-
color:
|
|
2379
|
+
color: F(n, o, a),
|
|
2380
2380
|
position: 0,
|
|
2381
2381
|
opacity: Math.round(l * 100)
|
|
2382
2382
|
};
|
|
2383
2383
|
}
|
|
2384
|
-
return { color:
|
|
2384
|
+
return { color: U(t) || t, position: 0, opacity: 100 };
|
|
2385
|
+
}, at = (c) => {
|
|
2386
|
+
const t = [];
|
|
2387
|
+
let e = "", i = 0;
|
|
2388
|
+
for (let s = 0; s < c.length; s++) {
|
|
2389
|
+
const n = c[s];
|
|
2390
|
+
if (n === "(") i++;
|
|
2391
|
+
else if (n === ")") i--;
|
|
2392
|
+
else if (n === "," && i === 0) {
|
|
2393
|
+
t.push(e.trim()), e = "";
|
|
2394
|
+
continue;
|
|
2395
|
+
}
|
|
2396
|
+
e += n;
|
|
2397
|
+
}
|
|
2398
|
+
return e.trim() && t.push(e.trim()), t;
|
|
2399
|
+
}, lt = (c, t) => {
|
|
2400
|
+
const e = new RegExp(`${t}\\s*\\(`, "i"), i = c.match(e);
|
|
2401
|
+
if (!i) return null;
|
|
2402
|
+
const s = i.index + i[0].length;
|
|
2403
|
+
let n = 1, o = s;
|
|
2404
|
+
for (let a = s; a < c.length && n > 0; a++)
|
|
2405
|
+
c[a] === "(" ? n++ : c[a] === ")" && n--, o = a;
|
|
2406
|
+
return n === 0 ? c.substring(s, o) : null;
|
|
2407
|
+
}, qt = (c) => {
|
|
2408
|
+
const t = c.split(" ")[0].toLowerCase();
|
|
2409
|
+
return [
|
|
2410
|
+
"circle",
|
|
2411
|
+
"ellipse",
|
|
2412
|
+
"closest-side",
|
|
2413
|
+
"closest-corner",
|
|
2414
|
+
"farthest-side",
|
|
2415
|
+
"farthest-corner",
|
|
2416
|
+
"at",
|
|
2417
|
+
"contain",
|
|
2418
|
+
"cover"
|
|
2419
|
+
].includes(t) ? !1 : /^#[0-9a-f]{3,8}$/i.test(t) || /^rgb/i.test(c) || /^hsl/i.test(c) || zt(t);
|
|
2420
|
+
}, rt = (c) => {
|
|
2421
|
+
const t = [];
|
|
2422
|
+
return c.forEach((e, i) => {
|
|
2423
|
+
const s = e.trim();
|
|
2424
|
+
if (!s) return;
|
|
2425
|
+
let n = "", o = 0;
|
|
2426
|
+
const a = s.match(/^(.+?)\s+(\d+(?:\.\d+)?)%?\s*$/);
|
|
2427
|
+
a && ut(a[1].trim()) ? (n = a[1].trim(), o = parseFloat(a[2])) : (n = s, o = c.length === 1 ? 0 : i / (c.length - 1) * 100);
|
|
2428
|
+
const l = gt(n);
|
|
2429
|
+
l.position = Math.max(0, Math.min(100, Math.round(o))), t.push(l);
|
|
2430
|
+
}), t;
|
|
2431
|
+
}, A = (c) => {
|
|
2432
|
+
const t = c.stops && c.stops.length ? c.stops : [{ color: "#000000", position: 0, opacity: 100 }];
|
|
2433
|
+
return {
|
|
2434
|
+
type: c.type && ["linear", "radial", "solid"].includes(c.type) ? c.type : "linear",
|
|
2435
|
+
angle: typeof c.angle == "number" ? c.angle : 90,
|
|
2436
|
+
stops: t.map((e, i) => ({
|
|
2437
|
+
color: e.color || "#000000",
|
|
2438
|
+
position: typeof e.position == "number" ? e.position : t.length === 1 ? 0 : Math.round(i / (t.length - 1) * 100),
|
|
2439
|
+
opacity: e.opacity === void 0 || Number.isNaN(e.opacity) ? 100 : e.opacity
|
|
2440
|
+
}))
|
|
2441
|
+
};
|
|
2442
|
+
}, H = (c) => {
|
|
2443
|
+
const t = c.replace(/;$/, "").trim();
|
|
2444
|
+
if (Wt(t)) {
|
|
2445
|
+
const s = gt(t);
|
|
2446
|
+
return A({ type: "solid", angle: 0, stops: [s] });
|
|
2447
|
+
}
|
|
2448
|
+
const e = lt(t, "linear-gradient");
|
|
2449
|
+
if (e) {
|
|
2450
|
+
const s = at(e);
|
|
2451
|
+
let n = 90, o = s;
|
|
2452
|
+
const a = s[0];
|
|
2453
|
+
if (a.includes("deg")) {
|
|
2454
|
+
const r = a.match(/(-?\d+(?:\.\d+)?)deg/);
|
|
2455
|
+
r && (n = parseFloat(r[1]), o = s.slice(1));
|
|
2456
|
+
} else a.includes("to ") && (n = {
|
|
2457
|
+
"to right": 90,
|
|
2458
|
+
"to left": 270,
|
|
2459
|
+
"to bottom": 180,
|
|
2460
|
+
"to top": 0,
|
|
2461
|
+
"to bottom right": 135,
|
|
2462
|
+
"to bottom left": 225,
|
|
2463
|
+
"to top right": 45,
|
|
2464
|
+
"to top left": 315
|
|
2465
|
+
}[a] ?? 90, o = s.slice(1));
|
|
2466
|
+
const l = rt(o);
|
|
2467
|
+
return l.length ? A({ type: "linear", angle: n, stops: l }) : null;
|
|
2468
|
+
}
|
|
2469
|
+
const i = lt(t, "radial-gradient");
|
|
2470
|
+
if (i) {
|
|
2471
|
+
const s = at(i), n = s[0] && !qt(s[0]) ? s.slice(1) : s, o = rt(n);
|
|
2472
|
+
return o.length ? A({ type: "radial", angle: 0, stops: o }) : null;
|
|
2473
|
+
}
|
|
2474
|
+
return null;
|
|
2475
|
+
}, N = (c) => {
|
|
2476
|
+
if (c.type === "solid") {
|
|
2477
|
+
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");
|
|
2478
|
+
return `#${s}${n}`;
|
|
2479
|
+
}
|
|
2480
|
+
const t = c.stops.map(
|
|
2481
|
+
(e) => `${dt(e.color, e.opacity ?? 100)} ${e.position}%`
|
|
2482
|
+
).join(", ");
|
|
2483
|
+
return c.type === "radial" ? `radial-gradient(circle, ${t})` : `linear-gradient(${c.angle}deg, ${t})`;
|
|
2484
|
+
}, Q = (c) => {
|
|
2485
|
+
if (c.type === "solid") {
|
|
2486
|
+
const t = c.stops[0];
|
|
2487
|
+
return t ? t.color.replace("#", "").toUpperCase() : "Color";
|
|
2488
|
+
}
|
|
2489
|
+
return c.type === "linear" ? `Linear ${c.angle}°` : "Radial Gradient";
|
|
2385
2490
|
}, q = class q {
|
|
2386
2491
|
static defaults() {
|
|
2387
|
-
return {
|
|
2492
|
+
return {
|
|
2493
|
+
solid: [],
|
|
2494
|
+
gradient: []
|
|
2495
|
+
};
|
|
2496
|
+
}
|
|
2497
|
+
static normalizeList(t) {
|
|
2498
|
+
const e = /* @__PURE__ */ new Set(), i = [];
|
|
2499
|
+
return t.forEach((s) => {
|
|
2500
|
+
let n = U(s);
|
|
2501
|
+
n || H(s) && (n = s), n && (e.has(n) || (e.add(n), i.push(n)));
|
|
2502
|
+
}), i.slice(0, this.MAX_COLORS);
|
|
2388
2503
|
}
|
|
2389
2504
|
static ensureLoaded() {
|
|
2390
2505
|
var t;
|
|
@@ -2393,10 +2508,12 @@ const Ft = (c, t) => {
|
|
|
2393
2508
|
const e = (t = window.sessionStorage) == null ? void 0 : t.getItem(this.STORAGE_KEY);
|
|
2394
2509
|
if (!e) return;
|
|
2395
2510
|
const i = JSON.parse(e);
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2511
|
+
if (Array.isArray(i))
|
|
2512
|
+
this.colors.solid = this.normalizeList(i);
|
|
2513
|
+
else if (i && typeof i == "object") {
|
|
2514
|
+
const s = i;
|
|
2515
|
+
s.solid && (this.colors.solid = this.normalizeList(s.solid)), s.gradient && (this.colors.gradient = this.normalizeList(s.gradient));
|
|
2516
|
+
}
|
|
2400
2517
|
} catch {
|
|
2401
2518
|
this.colors = this.defaults();
|
|
2402
2519
|
}
|
|
@@ -2416,18 +2533,29 @@ const Ft = (c, t) => {
|
|
|
2416
2533
|
return this.ensureLoaded(), this.colors || (this.colors = this.defaults()), this.colors[t];
|
|
2417
2534
|
}
|
|
2418
2535
|
static getColors(t) {
|
|
2536
|
+
if (t === "all") {
|
|
2537
|
+
const e = this.list("solid"), i = this.list("gradient"), s = [...e, ...i];
|
|
2538
|
+
return this.normalizeList(s);
|
|
2539
|
+
}
|
|
2419
2540
|
return [...this.list(t)];
|
|
2420
2541
|
}
|
|
2421
2542
|
static addColor(t, e) {
|
|
2422
|
-
|
|
2543
|
+
if (!t) return;
|
|
2544
|
+
let i = U(t), s = "solid";
|
|
2545
|
+
if (i)
|
|
2546
|
+
s = "solid";
|
|
2547
|
+
else {
|
|
2548
|
+
const l = H(t);
|
|
2549
|
+
l && (i = t, s = l.type === "solid" ? "solid" : "gradient");
|
|
2550
|
+
}
|
|
2423
2551
|
if (!i) return;
|
|
2424
|
-
const s = this.list(
|
|
2425
|
-
|
|
2552
|
+
const n = e === "all" ? s : e, o = this.list(n), a = o.indexOf(i);
|
|
2553
|
+
a !== -1 && o.splice(a, 1), o.unshift(i), o.length > this.MAX_COLORS && (o.length = this.MAX_COLORS), this.persist();
|
|
2426
2554
|
}
|
|
2427
2555
|
};
|
|
2428
2556
|
q.STORAGE_KEY = "settingsLib_recentColors", q.MAX_COLORS = 12, q.colors = null;
|
|
2429
|
-
let
|
|
2430
|
-
const
|
|
2557
|
+
let B = q;
|
|
2558
|
+
const it = (c, t) => {
|
|
2431
2559
|
const e = document.createElement("div");
|
|
2432
2560
|
e.className = "color-picker-recent-section";
|
|
2433
2561
|
const i = document.createElement("div");
|
|
@@ -2438,7 +2566,7 @@ const zt = (c, t) => {
|
|
|
2438
2566
|
n.className = "color-picker-recent-placeholder", n.textContent = "No recent colors yet", e.appendChild(i), e.appendChild(s), e.appendChild(n);
|
|
2439
2567
|
const o = () => {
|
|
2440
2568
|
s.innerHTML = "";
|
|
2441
|
-
const a =
|
|
2569
|
+
const a = B.getColors(t);
|
|
2442
2570
|
if (a.length === 0) {
|
|
2443
2571
|
s.style.display = "none", n.style.display = "block";
|
|
2444
2572
|
return;
|
|
@@ -2449,20 +2577,20 @@ const zt = (c, t) => {
|
|
|
2449
2577
|
});
|
|
2450
2578
|
};
|
|
2451
2579
|
return o(), { container: e, refresh: o };
|
|
2452
|
-
},
|
|
2580
|
+
}, mt = `<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2453
2581
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
2454
2582
|
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"
|
|
2455
2583
|
fill="#919EAB"/>
|
|
2456
|
-
</svg>`,
|
|
2584
|
+
</svg>`, jt = `<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2457
2585
|
<path fill-rule="evenodd" clip-rule="evenodd"
|
|
2458
2586
|
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.29156Z"
|
|
2459
2587
|
fill="#353C47"/>
|
|
2460
|
-
</svg>`,
|
|
2588
|
+
</svg>`, _t = `<svg width="15" height="17" viewBox="0 0 15 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2461
2589
|
<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"/>
|
|
2462
|
-
</svg>`,
|
|
2590
|
+
</svg>`, Jt = `<svg width="14" height="2" viewBox="0 0 14 2" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2463
2591
|
<path d="M0.8 0.800003H12.4667" stroke="#919EAB" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
2464
2592
|
</svg>`;
|
|
2465
|
-
class
|
|
2593
|
+
class Xt {
|
|
2466
2594
|
constructor(t, e = "gradient") {
|
|
2467
2595
|
this.isOpen = !1, this.currentColor = "#FF0000", this.currentOpacity = 100, this.outsideClick = (i) => {
|
|
2468
2596
|
if (!this.isOpen) return;
|
|
@@ -2471,7 +2599,7 @@ class Jt {
|
|
|
2471
2599
|
const n = document.querySelectorAll(".gstop-color-input");
|
|
2472
2600
|
Array.from(n).some(
|
|
2473
2601
|
(a) => a.contains(s)
|
|
2474
|
-
) || (i.preventDefault(), i.stopPropagation(), this.close(!
|
|
2602
|
+
) || (i.preventDefault(), i.stopPropagation(), this.close(!0));
|
|
2475
2603
|
}, this.keyDown = (i) => {
|
|
2476
2604
|
if (this.isOpen) {
|
|
2477
2605
|
if (i.key === "Escape")
|
|
@@ -2496,7 +2624,7 @@ class Jt {
|
|
|
2496
2624
|
const i = document.createElement("span");
|
|
2497
2625
|
i.textContent = "Color";
|
|
2498
2626
|
const s = document.createElement("button");
|
|
2499
|
-
s.className = "color-picker-close", s.innerHTML =
|
|
2627
|
+
s.className = "color-picker-close", s.innerHTML = mt, s.addEventListener("click", () => this.close(!0)), e.appendChild(i), e.appendChild(s), Ut(e, t);
|
|
2500
2628
|
const n = document.createElement("div");
|
|
2501
2629
|
n.className = "color-picker-area", this.colorArea = n;
|
|
2502
2630
|
const o = document.createElement("div");
|
|
@@ -2504,7 +2632,7 @@ class Jt {
|
|
|
2504
2632
|
const a = document.createElement("div");
|
|
2505
2633
|
a.className = "color-picker-hue-container";
|
|
2506
2634
|
const l = document.createElement("button");
|
|
2507
|
-
l.className = "color-picker-eyedropper", l.type = "button", l.innerHTML =
|
|
2635
|
+
l.className = "color-picker-eyedropper", l.type = "button", l.innerHTML = jt;
|
|
2508
2636
|
const r = document.createElement("div");
|
|
2509
2637
|
r.className = "color-picker-hue", this.hueSlider = r;
|
|
2510
2638
|
const h = document.createElement("div");
|
|
@@ -2513,74 +2641,71 @@ class Jt {
|
|
|
2513
2641
|
p.className = "color-picker-opacity", this.opacitySlider = p;
|
|
2514
2642
|
const d = document.createElement("div");
|
|
2515
2643
|
d.className = "color-picker-opacity-marker", this.opacityMarker = d, p.appendChild(d);
|
|
2516
|
-
const
|
|
2517
|
-
var
|
|
2518
|
-
this.setColor(
|
|
2644
|
+
const u = it((D) => {
|
|
2645
|
+
var G;
|
|
2646
|
+
this.setColor(D), (G = this.onChange) == null || G.call(this, D, this.currentOpacity);
|
|
2519
2647
|
}, this.recentScope);
|
|
2520
|
-
this.recentSectionRefresh =
|
|
2521
|
-
const
|
|
2522
|
-
|
|
2648
|
+
this.recentSectionRefresh = u.refresh;
|
|
2649
|
+
const g = document.createElement("div");
|
|
2650
|
+
g.className = "color-picker-format-section";
|
|
2523
2651
|
const m = document.createElement("select");
|
|
2524
2652
|
m.className = "color-picker-format-select", this.select = m;
|
|
2525
2653
|
const f = document.createElement("option");
|
|
2526
2654
|
f.value = "hex", f.textContent = "HEX";
|
|
2527
2655
|
const C = document.createElement("option");
|
|
2528
2656
|
C.value = "rgb", C.textContent = "RGB";
|
|
2529
|
-
const
|
|
2530
|
-
|
|
2531
|
-
const
|
|
2532
|
-
|
|
2657
|
+
const y = document.createElement("option");
|
|
2658
|
+
y.value = "hsl", y.textContent = "HSL", m.appendChild(f), m.appendChild(C), m.appendChild(y);
|
|
2659
|
+
const E = document.createElement("input");
|
|
2660
|
+
E.type = "text", E.className = "color-picker-color-input", E.value = this.currentColor, this.input = E;
|
|
2533
2661
|
const O = document.createElement("div");
|
|
2534
2662
|
O.className = "color-picker-input-container";
|
|
2535
2663
|
const k = document.createElement("button");
|
|
2536
|
-
return k.className = "color-picker-copy-inside", k.textContent = "Copy", O.appendChild(
|
|
2664
|
+
return k.className = "color-picker-copy-inside", k.textContent = "Copy", O.appendChild(E), O.appendChild(k), g.appendChild(m), g.appendChild(O), t.appendChild(e), t.appendChild(n), t.appendChild(a), t.appendChild(p), t.appendChild(u.container), t.appendChild(g), t.addEventListener("click", (D) => D.stopPropagation()), this.bind(n, r, p, E, m, k, l), t;
|
|
2537
2665
|
}
|
|
2538
2666
|
createBackdrop() {
|
|
2539
2667
|
const t = document.createElement("div");
|
|
2540
2668
|
return t.className = "color-picker-backdrop", t.style.display = "none", t.addEventListener("click", (e) => {
|
|
2541
|
-
e.preventDefault(), e.stopPropagation(), this.close(!
|
|
2669
|
+
e.preventDefault(), e.stopPropagation(), this.close(!0);
|
|
2542
2670
|
}), t;
|
|
2543
2671
|
}
|
|
2544
2672
|
bind(t, e, i, s, n, o, a) {
|
|
2545
2673
|
const l = (p) => {
|
|
2546
|
-
var
|
|
2547
|
-
const d = t.getBoundingClientRect(),
|
|
2548
|
-
this.colorMarker.style.left = `${
|
|
2549
|
-
const f = this.parsePercentage(this.hueMarker.style.left || "0%") * 360, C =
|
|
2550
|
-
this.currentColor = C, this.syncInput(), this.updateOpacityBg(), (
|
|
2674
|
+
var y;
|
|
2675
|
+
const d = t.getBoundingClientRect(), u = Math.max(0, Math.min(1, (p.clientX - d.left) / d.width)), g = Math.max(0, Math.min(1, (p.clientY - d.top) / d.height));
|
|
2676
|
+
this.colorMarker.style.left = `${u * 100}%`, this.colorMarker.style.top = `${g * 100}%`;
|
|
2677
|
+
const f = this.parsePercentage(this.hueMarker.style.left || "0%") * 360, C = W(f, u, 1 - g);
|
|
2678
|
+
this.currentColor = C, this.syncInput(), this.updateOpacityBg(), (y = this.onChange) == null || y.call(this, C, this.currentOpacity);
|
|
2551
2679
|
}, r = (p) => {
|
|
2552
|
-
var
|
|
2680
|
+
var y;
|
|
2553
2681
|
const d = e.getBoundingClientRect();
|
|
2554
|
-
let
|
|
2555
|
-
this.hueMarker.style.left = `${
|
|
2556
|
-
const
|
|
2557
|
-
this.currentColor = C, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${
|
|
2682
|
+
let u = Math.max(0, Math.min(1, (p.clientX - d.left) / d.width));
|
|
2683
|
+
this.hueMarker.style.left = `${u * 100}%`;
|
|
2684
|
+
const g = u * 360, m = this.parsePercentage(this.colorMarker.style.left || "0%"), f = this.parsePercentage(this.colorMarker.style.top || "0%"), C = W(g, m, 1 - f);
|
|
2685
|
+
this.currentColor = C, this.colorArea.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${g}, 100%, 50%))`, this.syncInput(), this.updateOpacityBg(), (y = this.onChange) == null || y.call(this, C, this.currentOpacity);
|
|
2558
2686
|
}, h = (p) => {
|
|
2559
|
-
var
|
|
2560
|
-
const d = i.getBoundingClientRect(),
|
|
2561
|
-
this.opacityMarker.style.left = `${
|
|
2687
|
+
var g;
|
|
2688
|
+
const d = i.getBoundingClientRect(), u = Math.max(0, Math.min(1, (p.clientX - d.left) / d.width));
|
|
2689
|
+
this.opacityMarker.style.left = `${u * 100}%`, this.currentOpacity = Math.round(u * 100), (g = this.onChange) == null || g.call(this, this.currentColor, this.currentOpacity);
|
|
2562
2690
|
};
|
|
2563
2691
|
t.addEventListener("mousedown", (p) => {
|
|
2564
2692
|
p.preventDefault(), l(p);
|
|
2565
|
-
const d = (
|
|
2566
|
-
|
|
2567
|
-
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", g), V.addColor(this.currentColor, this.recentScope), (u = this.recentSectionRefresh) == null || u.call(this);
|
|
2693
|
+
const d = (g) => l(g), u = () => {
|
|
2694
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", u);
|
|
2568
2695
|
};
|
|
2569
|
-
document.addEventListener("mousemove", d), document.addEventListener("mouseup",
|
|
2696
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", u);
|
|
2570
2697
|
}), e.addEventListener("mousedown", (p) => {
|
|
2571
2698
|
p.preventDefault(), r(p);
|
|
2572
|
-
const d = (
|
|
2573
|
-
|
|
2574
|
-
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", g), V.addColor(this.currentColor, this.recentScope), (u = this.recentSectionRefresh) == null || u.call(this);
|
|
2699
|
+
const d = (g) => r(g), u = () => {
|
|
2700
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", u);
|
|
2575
2701
|
};
|
|
2576
|
-
document.addEventListener("mousemove", d), document.addEventListener("mouseup",
|
|
2702
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", u);
|
|
2577
2703
|
}), i.addEventListener("mousedown", (p) => {
|
|
2578
2704
|
p.preventDefault(), h(p);
|
|
2579
|
-
const d = (
|
|
2580
|
-
|
|
2581
|
-
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", g), V.addColor(this.currentColor, this.recentScope), (u = this.recentSectionRefresh) == null || u.call(this);
|
|
2705
|
+
const d = (g) => h(g), u = () => {
|
|
2706
|
+
document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", u);
|
|
2582
2707
|
};
|
|
2583
|
-
document.addEventListener("mousemove", d), document.addEventListener("mouseup",
|
|
2708
|
+
document.addEventListener("mousemove", d), document.addEventListener("mouseup", u);
|
|
2584
2709
|
}), n.addEventListener("change", () => this.syncInput()), s.addEventListener("input", () => this.applyFromInput()), s.addEventListener("blur", () => this.syncInput()), s.addEventListener("keydown", (p) => {
|
|
2585
2710
|
p.key === "Enter" && (p.preventDefault(), this.syncInput(), s.blur());
|
|
2586
2711
|
}), o.addEventListener("click", async () => {
|
|
@@ -2590,14 +2715,14 @@ class Jt {
|
|
|
2590
2715
|
s.select(), document.execCommand("copy");
|
|
2591
2716
|
}
|
|
2592
2717
|
}), a.addEventListener("click", async () => {
|
|
2593
|
-
var p
|
|
2718
|
+
var p;
|
|
2594
2719
|
if (!("EyeDropper" in window)) {
|
|
2595
2720
|
alert("EyeDropper API is not supported in this browser.");
|
|
2596
2721
|
return;
|
|
2597
2722
|
}
|
|
2598
2723
|
try {
|
|
2599
|
-
const
|
|
2600
|
-
this.setColor(u), (p = this.onChange) == null || p.call(this, u, this.currentOpacity)
|
|
2724
|
+
const d = new window.EyeDropper(), { sRGBHex: u } = await d.open();
|
|
2725
|
+
this.setColor(u), (p = this.onChange) == null || p.call(this, u, this.currentOpacity);
|
|
2601
2726
|
} catch {
|
|
2602
2727
|
}
|
|
2603
2728
|
}), document.addEventListener("keydown", this.keyDown, !0), setTimeout(
|
|
@@ -2608,17 +2733,17 @@ class Jt {
|
|
|
2608
2733
|
setColor(t) {
|
|
2609
2734
|
var o;
|
|
2610
2735
|
this.currentColor = t;
|
|
2611
|
-
const { h: e, s: i, v: s } =
|
|
2736
|
+
const { h: e, s: i, v: s } = $(t), n = e >= 360 ? e % 360 : e;
|
|
2612
2737
|
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);
|
|
2613
2738
|
}
|
|
2614
2739
|
syncInput() {
|
|
2615
|
-
const t = this.select.value, { h: e, s: i, v: s } =
|
|
2740
|
+
const t = this.select.value, { h: e, s: i, v: s } = $(this.currentColor);
|
|
2616
2741
|
if (t === "hex") this.input.value = this.currentColor;
|
|
2617
2742
|
else if (t === "rgb") {
|
|
2618
2743
|
const { r: n, g: o, b: a } = S(this.currentColor);
|
|
2619
2744
|
this.input.value = `rgb(${n}, ${o}, ${a})`;
|
|
2620
2745
|
} else {
|
|
2621
|
-
const { hue: n, sat: o, lightness: a } =
|
|
2746
|
+
const { hue: n, sat: o, lightness: a } = Gt(e, i, s);
|
|
2622
2747
|
this.input.value = `hsl(${Math.round(n)}, ${Math.round(
|
|
2623
2748
|
o * 100
|
|
2624
2749
|
)}%, ${Math.round(a * 100)}%)`;
|
|
@@ -2637,7 +2762,7 @@ class Jt {
|
|
|
2637
2762
|
const s = t.match(/hsl\((\d+),\s*(\d+)%,\s*(\d+)%\)/);
|
|
2638
2763
|
if (s) {
|
|
2639
2764
|
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);
|
|
2640
|
-
e =
|
|
2765
|
+
e = W(n, r, l);
|
|
2641
2766
|
}
|
|
2642
2767
|
}
|
|
2643
2768
|
}
|
|
@@ -2651,20 +2776,20 @@ class Jt {
|
|
|
2651
2776
|
);
|
|
2652
2777
|
}
|
|
2653
2778
|
open(t, e, i) {
|
|
2654
|
-
var
|
|
2779
|
+
var E;
|
|
2655
2780
|
this.currentColor = t, this.currentOpacity = i ?? 100, this.syncInput();
|
|
2656
|
-
const { h: s, s: n, v: o } =
|
|
2657
|
-
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}%`, (
|
|
2781
|
+
const { h: s, s: n, v: o } = $(t);
|
|
2782
|
+
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}%`, (E = this.recentSectionRefresh) == null || E.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);
|
|
2658
2783
|
const a = this.element.offsetWidth, l = this.element.offsetHeight, r = e.getBoundingClientRect(), h = window.innerWidth, p = window.innerHeight, d = 16;
|
|
2659
|
-
let
|
|
2784
|
+
let u = r.right + 8, g = r.top;
|
|
2660
2785
|
const m = h - r.right, f = r.left;
|
|
2661
|
-
m >= a + d ?
|
|
2662
|
-
const C = p - r.bottom,
|
|
2663
|
-
C >= l + d ?
|
|
2786
|
+
m >= a + d ? u = r.right + 8 : f >= a + d ? u = r.left - a - 8 : u = Math.max(d, (h - a) / 2);
|
|
2787
|
+
const C = p - r.bottom, y = r.top;
|
|
2788
|
+
C >= l + d ? g = r.bottom + 8 : y >= l + d ? g = r.top - l - 8 : C > y ? (g = r.bottom + 8, g + l > p - d && (g = p - l - d)) : (g = r.top - l - 8, g < d && (g = d)), this.element.style.left = `${u}px`, this.element.style.top = `${g}px`;
|
|
2664
2789
|
}
|
|
2665
2790
|
close(t) {
|
|
2666
2791
|
var e;
|
|
2667
|
-
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 && (
|
|
2792
|
+
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.recentScope !== "gradient" && (B.addColor(this.currentColor, this.recentScope), (e = this.recentSectionRefresh) == null || e.call(this)));
|
|
2668
2793
|
}
|
|
2669
2794
|
getElement() {
|
|
2670
2795
|
return this.element;
|
|
@@ -2672,11 +2797,11 @@ class Jt {
|
|
|
2672
2797
|
}
|
|
2673
2798
|
class Zt {
|
|
2674
2799
|
constructor(t) {
|
|
2675
|
-
this.currentColor = t.initialColor, this.currentOpacity = t.initialOpacity, this.onColorChange = t.onColorChange, this.container = this.createContainer(), this.initializePicker();
|
|
2800
|
+
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();
|
|
2676
2801
|
}
|
|
2677
2802
|
createContainer() {
|
|
2678
2803
|
const t = document.createElement("div");
|
|
2679
|
-
|
|
2804
|
+
t.className = "embedded-color-picker-content", t.innerHTML = `
|
|
2680
2805
|
<div class="color-picker-area embedded">
|
|
2681
2806
|
<div class="color-picker-marker"></div>
|
|
2682
2807
|
</div>
|
|
@@ -2704,7 +2829,11 @@ class Zt {
|
|
|
2704
2829
|
<button class="color-picker-copy-inside">Copy</button>
|
|
2705
2830
|
</div>
|
|
2706
2831
|
</div>
|
|
2707
|
-
|
|
2832
|
+
`;
|
|
2833
|
+
const e = it((i) => {
|
|
2834
|
+
this.applyRecentColor(i);
|
|
2835
|
+
}, this.recentScope);
|
|
2836
|
+
return this.recentSectionRefresh = e.refresh, t.appendChild(e.container), t;
|
|
2708
2837
|
}
|
|
2709
2838
|
initializePicker() {
|
|
2710
2839
|
const t = this.container.querySelector(
|
|
@@ -2725,7 +2854,7 @@ class Zt {
|
|
|
2725
2854
|
".color-picker-color-input"
|
|
2726
2855
|
), r = this.container.querySelector(
|
|
2727
2856
|
".color-picker-copy-inside"
|
|
2728
|
-
), { h, s: p, v: d } =
|
|
2857
|
+
), { h, s: p, v: d } = $(this.currentColor);
|
|
2729
2858
|
s.style.left = `${h / 360 * 100}%`, e.style.left = `${p * 100}%`, e.style.top = `${(1 - d) * 100}%`, t.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${h}, 100%, 50%))`, o.style.left = `${this.currentOpacity}%`, this.updateOpacityBackground(n), this.updateColorInput(a, l), this.setupColorAreaEvents(t, e, s), this.setupHueSliderEvents(
|
|
2730
2859
|
i,
|
|
2731
2860
|
s,
|
|
@@ -2753,27 +2882,43 @@ class Zt {
|
|
|
2753
2882
|
e.value = `rgb(${s.r}, ${s.g}, ${s.b})`;
|
|
2754
2883
|
break;
|
|
2755
2884
|
case "hsl":
|
|
2756
|
-
const { h: n, s: o, v: a } =
|
|
2885
|
+
const { h: n, s: o, v: a } = $(this.currentColor), l = a * (1 - o / 2), r = l === 0 || l === 1 ? 0 : (a - l) / Math.min(l, 1 - l);
|
|
2757
2886
|
e.value = `hsl(${Math.round(n)}, ${Math.round(
|
|
2758
2887
|
r * 100
|
|
2759
2888
|
)}%, ${Math.round(l * 100)}%)`;
|
|
2760
2889
|
break;
|
|
2761
2890
|
}
|
|
2762
2891
|
}
|
|
2892
|
+
applyRecentColor(t) {
|
|
2893
|
+
if (this.currentColor = t, !(t.includes("gradient") || t.includes("radial"))) {
|
|
2894
|
+
this.updatePickerVisualState();
|
|
2895
|
+
const i = this.container.querySelector(
|
|
2896
|
+
".color-picker-format-select"
|
|
2897
|
+
), s = this.container.querySelector(
|
|
2898
|
+
".color-picker-color-input"
|
|
2899
|
+
);
|
|
2900
|
+
this.updateColorInput(i, s);
|
|
2901
|
+
}
|
|
2902
|
+
this.triggerChange();
|
|
2903
|
+
}
|
|
2904
|
+
commitRecentColor() {
|
|
2905
|
+
var t;
|
|
2906
|
+
B.addColor(this.currentColor, this.recentScope), (t = this.recentSectionRefresh) == null || t.call(this);
|
|
2907
|
+
}
|
|
2763
2908
|
setupColorAreaEvents(t, e, i) {
|
|
2764
2909
|
const s = (n) => {
|
|
2765
2910
|
const o = t.getBoundingClientRect(), a = Math.max(0, Math.min(1, (n.clientX - o.left) / o.width)), l = Math.max(0, Math.min(1, (n.clientY - o.top) / o.height));
|
|
2766
2911
|
e.style.left = `${a * 100}%`, e.style.top = `${l * 100}%`;
|
|
2767
|
-
const r = parseFloat(i.style.left || "0%") / 100 * 360, h =
|
|
2912
|
+
const r = parseFloat(i.style.left || "0%") / 100 * 360, h = W(r, a, 1 - l);
|
|
2768
2913
|
this.currentColor = h;
|
|
2769
2914
|
const p = this.container.querySelector(
|
|
2770
2915
|
".color-picker-format-select"
|
|
2771
2916
|
), d = this.container.querySelector(
|
|
2772
2917
|
".color-picker-color-input"
|
|
2773
|
-
),
|
|
2918
|
+
), u = this.container.querySelector(
|
|
2774
2919
|
".color-picker-opacity"
|
|
2775
2920
|
);
|
|
2776
|
-
this.updateColorInput(p, d), this.updateOpacityBackground(
|
|
2921
|
+
this.updateColorInput(p, d), this.updateOpacityBackground(u), this.triggerChange();
|
|
2777
2922
|
};
|
|
2778
2923
|
t.addEventListener("mousedown", (n) => {
|
|
2779
2924
|
n.preventDefault(), s(n);
|
|
@@ -2788,9 +2933,9 @@ class Zt {
|
|
|
2788
2933
|
const h = t.getBoundingClientRect();
|
|
2789
2934
|
let p = (r.clientX - h.left) / h.width;
|
|
2790
2935
|
p = Math.max(0, Math.min(1, p)), e.style.left = `${p * 100}%`;
|
|
2791
|
-
const d = p * 360,
|
|
2936
|
+
const d = p * 360, u = parseFloat(s.style.left || "50%") / 100, g = parseFloat(s.style.top || "50%") / 100;
|
|
2792
2937
|
i.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${d}, 100%, 50%))`;
|
|
2793
|
-
const m =
|
|
2938
|
+
const m = W(d, u, 1 - g);
|
|
2794
2939
|
this.currentColor = m, this.updateColorInput(n, o), this.updateOpacityBackground(a), this.triggerChange();
|
|
2795
2940
|
};
|
|
2796
2941
|
t.addEventListener("mousedown", (r) => {
|
|
@@ -2845,7 +2990,7 @@ class Zt {
|
|
|
2845
2990
|
}
|
|
2846
2991
|
parseHexInput(t) {
|
|
2847
2992
|
const e = t.startsWith("#") ? t : `#${t}`;
|
|
2848
|
-
return
|
|
2993
|
+
return U(e);
|
|
2849
2994
|
}
|
|
2850
2995
|
parseRgbInput(t) {
|
|
2851
2996
|
const e = t.match(
|
|
@@ -2854,7 +2999,7 @@ class Zt {
|
|
|
2854
2999
|
if (e) {
|
|
2855
3000
|
const i = parseInt(e[1]), s = parseInt(e[2]), n = parseInt(e[3]);
|
|
2856
3001
|
if (i <= 255 && s <= 255 && n <= 255)
|
|
2857
|
-
return
|
|
3002
|
+
return F(i, s, n);
|
|
2858
3003
|
}
|
|
2859
3004
|
return null;
|
|
2860
3005
|
}
|
|
@@ -2865,8 +3010,8 @@ class Zt {
|
|
|
2865
3010
|
if (e) {
|
|
2866
3011
|
const i = parseFloat(e[1]), s = parseFloat(e[2]) / 100, n = parseFloat(e[3]) / 100;
|
|
2867
3012
|
if (i >= 0 && i <= 360 && s >= 0 && s <= 1 && n >= 0 && n <= 1) {
|
|
2868
|
-
const o =
|
|
2869
|
-
return
|
|
3013
|
+
const o = Z(i, s, n);
|
|
3014
|
+
return F(o.r, o.g, o.b);
|
|
2870
3015
|
}
|
|
2871
3016
|
}
|
|
2872
3017
|
return null;
|
|
@@ -2888,7 +3033,7 @@ class Zt {
|
|
|
2888
3033
|
".color-picker-hue-marker"
|
|
2889
3034
|
), s = this.container.querySelector(
|
|
2890
3035
|
".color-picker-opacity"
|
|
2891
|
-
), { h: n, s: o, v: a } =
|
|
3036
|
+
), { h: n, s: o, v: a } = $(this.currentColor);
|
|
2892
3037
|
i.style.left = `${n / 360 * 100}%`, e.style.left = `${o * 100}%`, e.style.top = `${(1 - a) * 100}%`, t.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${n}, 100%, 50%))`, this.updateOpacityBackground(s);
|
|
2893
3038
|
}
|
|
2894
3039
|
triggerChange() {
|
|
@@ -2913,116 +3058,11 @@ class Zt {
|
|
|
2913
3058
|
".color-picker-format-select"
|
|
2914
3059
|
), r = this.container.querySelector(
|
|
2915
3060
|
".color-picker-color-input"
|
|
2916
|
-
), { h, s: p, v: d } =
|
|
2917
|
-
n.style.left = `${
|
|
3061
|
+
), { h, s: p, v: d } = $(t), u = h >= 360 ? h % 360 : h;
|
|
3062
|
+
n.style.left = `${u / 360 * 100}%`, s.style.left = `${p * 100}%`, s.style.top = `${(1 - d) * 100}%`, i.style.background = `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${u}, 100%, 50%))`, o.style.left = `${e}%`, this.updateOpacityBackground(a), this.updateColorInput(l, r);
|
|
2918
3063
|
}
|
|
2919
3064
|
}
|
|
2920
|
-
const
|
|
2921
|
-
const t = [];
|
|
2922
|
-
let e = "", i = 0;
|
|
2923
|
-
for (let s = 0; s < c.length; s++) {
|
|
2924
|
-
const n = c[s];
|
|
2925
|
-
if (n === "(") i++;
|
|
2926
|
-
else if (n === ")") i--;
|
|
2927
|
-
else if (n === "," && i === 0) {
|
|
2928
|
-
t.push(e.trim()), e = "";
|
|
2929
|
-
continue;
|
|
2930
|
-
}
|
|
2931
|
-
e += n;
|
|
2932
|
-
}
|
|
2933
|
-
return e.trim() && t.push(e.trim()), t;
|
|
2934
|
-
}, at = (c, t) => {
|
|
2935
|
-
const e = new RegExp(`${t}\\s*\\(`, "i"), i = c.match(e);
|
|
2936
|
-
if (!i) return null;
|
|
2937
|
-
const s = i.index + i[0].length;
|
|
2938
|
-
let n = 1, o = s;
|
|
2939
|
-
for (let a = s; a < c.length && n > 0; a++)
|
|
2940
|
-
c[a] === "(" ? n++ : c[a] === ")" && n--, o = a;
|
|
2941
|
-
return n === 0 ? c.substring(s, o) : null;
|
|
2942
|
-
}, Xt = (c) => {
|
|
2943
|
-
const t = c.split(" ")[0].toLowerCase();
|
|
2944
|
-
return [
|
|
2945
|
-
"circle",
|
|
2946
|
-
"ellipse",
|
|
2947
|
-
"closest-side",
|
|
2948
|
-
"closest-corner",
|
|
2949
|
-
"farthest-side",
|
|
2950
|
-
"farthest-corner",
|
|
2951
|
-
"at",
|
|
2952
|
-
"contain",
|
|
2953
|
-
"cover"
|
|
2954
|
-
].includes(t) ? !1 : /^#[0-9a-f]{3,8}$/i.test(t) || /^rgb/i.test(c) || /^hsl/i.test(c) || Gt(t);
|
|
2955
|
-
}, lt = (c) => {
|
|
2956
|
-
const t = [];
|
|
2957
|
-
return c.forEach((e, i) => {
|
|
2958
|
-
const s = e.trim();
|
|
2959
|
-
if (!s) return;
|
|
2960
|
-
let n = "", o = 0;
|
|
2961
|
-
const a = s.match(/^(.+?)\s+(\d+(?:\.\d+)?)%?\s*$/);
|
|
2962
|
-
a && dt(a[1].trim()) ? (n = a[1].trim(), o = parseFloat(a[2])) : (n = s, o = c.length === 1 ? 0 : i / (c.length - 1) * 100);
|
|
2963
|
-
const l = ut(n);
|
|
2964
|
-
l.position = Math.max(0, Math.min(100, Math.round(o))), t.push(l);
|
|
2965
|
-
}), t;
|
|
2966
|
-
}, B = (c) => {
|
|
2967
|
-
const t = c.stops && c.stops.length ? c.stops : [{ color: "#000000", position: 0, opacity: 100 }];
|
|
2968
|
-
return {
|
|
2969
|
-
type: c.type && ["linear", "radial", "solid"].includes(c.type) ? c.type : "linear",
|
|
2970
|
-
angle: typeof c.angle == "number" ? c.angle : 90,
|
|
2971
|
-
stops: t.map((e, i) => ({
|
|
2972
|
-
color: e.color || "#000000",
|
|
2973
|
-
position: typeof e.position == "number" ? e.position : t.length === 1 ? 0 : Math.round(i / (t.length - 1) * 100),
|
|
2974
|
-
opacity: e.opacity === void 0 || Number.isNaN(e.opacity) ? 100 : e.opacity
|
|
2975
|
-
}))
|
|
2976
|
-
};
|
|
2977
|
-
}, Q = (c) => {
|
|
2978
|
-
const t = c.replace(/;$/, "").trim();
|
|
2979
|
-
if (Wt(t)) {
|
|
2980
|
-
const s = ut(t);
|
|
2981
|
-
return B({ type: "solid", angle: 0, stops: [s] });
|
|
2982
|
-
}
|
|
2983
|
-
const e = at(t, "linear-gradient");
|
|
2984
|
-
if (e) {
|
|
2985
|
-
const s = ot(e);
|
|
2986
|
-
let n = 90, o = s;
|
|
2987
|
-
const a = s[0];
|
|
2988
|
-
if (a.includes("deg")) {
|
|
2989
|
-
const r = a.match(/(-?\d+(?:\.\d+)?)deg/);
|
|
2990
|
-
r && (n = parseFloat(r[1]), o = s.slice(1));
|
|
2991
|
-
} else a.includes("to ") && (n = {
|
|
2992
|
-
"to right": 90,
|
|
2993
|
-
"to left": 270,
|
|
2994
|
-
"to bottom": 180,
|
|
2995
|
-
"to top": 0,
|
|
2996
|
-
"to bottom right": 135,
|
|
2997
|
-
"to bottom left": 225,
|
|
2998
|
-
"to top right": 45,
|
|
2999
|
-
"to top left": 315
|
|
3000
|
-
}[a] ?? 90, o = s.slice(1));
|
|
3001
|
-
const l = lt(o);
|
|
3002
|
-
return l.length ? B({ type: "linear", angle: n, stops: l }) : null;
|
|
3003
|
-
}
|
|
3004
|
-
const i = at(t, "radial-gradient");
|
|
3005
|
-
if (i) {
|
|
3006
|
-
const s = ot(i), n = s[0] && !Xt(s[0]) ? s.slice(1) : s, o = lt(n);
|
|
3007
|
-
return o.length ? B({ type: "radial", angle: 0, stops: o }) : null;
|
|
3008
|
-
}
|
|
3009
|
-
return null;
|
|
3010
|
-
}, P = (c) => {
|
|
3011
|
-
if (c.type === "solid") {
|
|
3012
|
-
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");
|
|
3013
|
-
return `#${s}${n}`;
|
|
3014
|
-
}
|
|
3015
|
-
const t = c.stops.map(
|
|
3016
|
-
(e) => `${pt(e.color, e.opacity ?? 100)} ${e.position}%`
|
|
3017
|
-
).join(", ");
|
|
3018
|
-
return c.type === "radial" ? `radial-gradient(circle, ${t})` : `linear-gradient(${c.angle}deg, ${t})`;
|
|
3019
|
-
}, tt = (c) => {
|
|
3020
|
-
if (c.type === "solid") {
|
|
3021
|
-
const t = c.stops[0];
|
|
3022
|
-
return t ? t.color.replace("#", "").toUpperCase() : "Color";
|
|
3023
|
-
}
|
|
3024
|
-
return c.type === "linear" ? `Linear ${c.angle}°` : "Radial Gradient";
|
|
3025
|
-
}, N = class N extends b {
|
|
3065
|
+
const V = class V extends w {
|
|
3026
3066
|
constructor(t = {}) {
|
|
3027
3067
|
const e = typeof t.default == "string" ? void 0 : t.default;
|
|
3028
3068
|
super({
|
|
@@ -3033,23 +3073,36 @@ const ot = (c) => {
|
|
|
3033
3073
|
type: "text",
|
|
3034
3074
|
angle: "number",
|
|
3035
3075
|
stops: "text"
|
|
3036
|
-
}, this.element = null, this.previewEl = null, this.inputEl = void 0, this.popoverEl = null, this.isPopoverOpen = !1, this.isEditing = !1, this.previewUpdateTimeout = null, this.onBackgroundClick = (i) => {
|
|
3076
|
+
}, this.element = null, this.previewEl = null, this.inputEl = void 0, this.popoverEl = null, this.isPopoverOpen = !1, this.isEditing = !1, this.previewUpdateTimeout = null, this.solidPicker = null, this.pendingSolidColor = null, this.onBackgroundClick = (i) => {
|
|
3037
3077
|
var p;
|
|
3038
3078
|
if (!this.popoverEl || !this.isPopoverOpen) return;
|
|
3039
3079
|
const s = i.target, n = this.popoverEl.contains(s), o = (p = this.element) == null ? void 0 : p.contains(s), a = document.querySelectorAll(".custom-color-picker"), l = Array.from(a).some((d) => d.contains(s)), r = s.closest(
|
|
3040
3080
|
".gstop-color-input, .gradient-mini-preview, .gstop-color-preview"
|
|
3041
3081
|
), h = s.classList.contains("color-picker-backdrop");
|
|
3042
3082
|
!n && !o && !l && !r && !h && this.closePopover();
|
|
3043
|
-
}, this.
|
|
3083
|
+
}, this.handlePopoverKeydown = (i) => {
|
|
3084
|
+
if (this.isPopoverOpen) {
|
|
3085
|
+
if (i.key === "Escape") {
|
|
3086
|
+
i.preventDefault(), this.closePopover();
|
|
3087
|
+
return;
|
|
3088
|
+
}
|
|
3089
|
+
if (i.key === "Enter") {
|
|
3090
|
+
const s = i.target;
|
|
3091
|
+
if (s && (s.tagName === "INPUT" || s.tagName === "TEXTAREA"))
|
|
3092
|
+
return;
|
|
3093
|
+
i.preventDefault(), this.closePopover();
|
|
3094
|
+
}
|
|
3095
|
+
}
|
|
3096
|
+
}, this.detectChange = t.detectChange, this.originalDefault = t.default, this.value = this.defaultValue();
|
|
3044
3097
|
}
|
|
3045
3098
|
defaultValue() {
|
|
3046
3099
|
const t = this.originalDefault;
|
|
3047
3100
|
if (typeof t == "string") {
|
|
3048
|
-
const i =
|
|
3101
|
+
const i = H(t);
|
|
3049
3102
|
if (i)
|
|
3050
|
-
return
|
|
3103
|
+
return A(i);
|
|
3051
3104
|
}
|
|
3052
|
-
return
|
|
3105
|
+
return A(t && typeof t == "object" ? t : {
|
|
3053
3106
|
type: "linear",
|
|
3054
3107
|
angle: 90,
|
|
3055
3108
|
stops: [
|
|
@@ -3061,20 +3114,20 @@ const ot = (c) => {
|
|
|
3061
3114
|
setValue(t) {
|
|
3062
3115
|
var i, s;
|
|
3063
3116
|
let e = null;
|
|
3064
|
-
typeof t == "string" ? e =
|
|
3117
|
+
typeof t == "string" ? e = H(t) : t && typeof t == "object" && (e = A(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;
|
|
3065
3118
|
}
|
|
3066
3119
|
updateUI() {
|
|
3067
3120
|
if (this.previewEl && this.value)
|
|
3068
3121
|
if (this.value.type === "solid") {
|
|
3069
3122
|
const t = this.value.stops[0], e = t.opacity ?? 100;
|
|
3070
|
-
this.previewEl.style.background =
|
|
3123
|
+
this.previewEl.style.background = dt(t.color, e);
|
|
3071
3124
|
} else
|
|
3072
|
-
this.previewEl.style.background =
|
|
3073
|
-
this.inputEl && this.value && !this.isEditing && (this.inputEl.value =
|
|
3125
|
+
this.previewEl.style.background = N(this.value);
|
|
3126
|
+
this.inputEl && this.value && !this.isEditing && (this.inputEl.value = Q(this.value));
|
|
3074
3127
|
}
|
|
3075
3128
|
cssForTextValue() {
|
|
3076
3129
|
return this.value ? {
|
|
3077
|
-
background:
|
|
3130
|
+
background: N(this.value),
|
|
3078
3131
|
"-webkit-background-clip": "text",
|
|
3079
3132
|
"background-clip": "text",
|
|
3080
3133
|
color: "transparent",
|
|
@@ -3090,17 +3143,17 @@ const ot = (c) => {
|
|
|
3090
3143
|
s.className = "input-label", s.textContent = this.props.title, i.appendChild(s), t.appendChild(i);
|
|
3091
3144
|
}
|
|
3092
3145
|
const e = document.createElement("div");
|
|
3093
|
-
return e.className = "gradient-input-wrapper", this.previewEl = document.createElement("div"), this.previewEl.className = "gradient-mini-preview", this.previewEl.style.background = this.value ?
|
|
3146
|
+
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("mousedown", (i) => {
|
|
3094
3147
|
i.preventDefault(), i.stopPropagation(), this.openPopover();
|
|
3095
|
-
}), 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 ?
|
|
3096
|
-
this.isEditing = !0, this.value && (this.inputEl.value =
|
|
3148
|
+
}), 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 ? Q(this.value) : "", this.inputEl.readOnly = !1, this.inputEl.addEventListener("focus", () => {
|
|
3149
|
+
this.isEditing = !0, this.value && (this.inputEl.value = N(this.value));
|
|
3097
3150
|
}), this.inputEl.addEventListener("blur", () => {
|
|
3098
|
-
this.isEditing = !1, this.value && (this.inputEl.value =
|
|
3151
|
+
this.isEditing = !1, this.value && (this.inputEl.value = Q(this.value));
|
|
3099
3152
|
}), this.inputEl.addEventListener(
|
|
3100
3153
|
"paste",
|
|
3101
3154
|
(i) => this.handlePaste(i)
|
|
3102
3155
|
), this.inputEl.addEventListener("input", (i) => this.handleTextInput(i)), this.inputEl.addEventListener("keydown", (i) => {
|
|
3103
|
-
i.key === "Enter" && (this.handleTextInput(i), this.inputEl.blur()), i.key === "Escape" && (this.value && (this.inputEl.value =
|
|
3156
|
+
i.key === "Enter" && (this.handleTextInput(i), this.inputEl.blur()), i.key === "Escape" && (this.value && (this.inputEl.value = N(this.value)), this.inputEl.blur());
|
|
3104
3157
|
}), e.appendChild(this.previewEl), e.appendChild(this.inputEl), t.appendChild(e), this.createPopover(), this.element = t, t;
|
|
3105
3158
|
}
|
|
3106
3159
|
createPopover() {
|
|
@@ -3111,7 +3164,7 @@ const ot = (c) => {
|
|
|
3111
3164
|
const e = document.createElement("span");
|
|
3112
3165
|
e.textContent = "Fill";
|
|
3113
3166
|
const i = document.createElement("button");
|
|
3114
|
-
i.type = "button", i.className = "gradient-popover-close", i.innerHTML =
|
|
3167
|
+
i.type = "button", i.className = "gradient-popover-close", i.innerHTML = mt, i.addEventListener("click", () => this.closePopover()), t.appendChild(e), t.appendChild(i);
|
|
3115
3168
|
const s = document.createElement("div");
|
|
3116
3169
|
s.className = "gradient-editor";
|
|
3117
3170
|
const n = this.createTypeTabs();
|
|
@@ -3156,12 +3209,20 @@ const ot = (c) => {
|
|
|
3156
3209
|
initialColor: e.color,
|
|
3157
3210
|
initialOpacity: e.opacity ?? 100,
|
|
3158
3211
|
onColorChange: (s, n) => {
|
|
3159
|
-
|
|
3212
|
+
if (this.value) {
|
|
3213
|
+
const o = H(s);
|
|
3214
|
+
if (o && o.type !== "solid") {
|
|
3215
|
+
this.value = o, this.switchType(o.type);
|
|
3216
|
+
return;
|
|
3217
|
+
}
|
|
3218
|
+
this.value.stops[0].color = s, this.value.stops[0].opacity = n, this.updateUI(), this.triggerChange(), this.pendingSolidColor = s;
|
|
3219
|
+
}
|
|
3160
3220
|
}
|
|
3161
3221
|
});
|
|
3162
|
-
t.appendChild(i.getElement());
|
|
3222
|
+
this.solidPicker = i, t.appendChild(i.getElement());
|
|
3163
3223
|
}
|
|
3164
3224
|
renderGradient(t) {
|
|
3225
|
+
this.solidPicker = null;
|
|
3165
3226
|
const e = document.createElement("div");
|
|
3166
3227
|
e.className = "gradient-subtype-inline";
|
|
3167
3228
|
const i = document.createElement("select");
|
|
@@ -3173,24 +3234,24 @@ const ot = (c) => {
|
|
|
3173
3234
|
const o = document.createElement("input");
|
|
3174
3235
|
o.type = "text", o.inputMode = "numeric", o.className = "gradient-degree-input", o.value = `${this.value.angle ?? 0}°`, o.style.width = "75px", o.style.textAlign = "center";
|
|
3175
3236
|
const a = document.createElement("button");
|
|
3176
|
-
a.type = "button", a.className = "gradient-flip-btn", a.innerHTML =
|
|
3237
|
+
a.type = "button", a.className = "gradient-flip-btn", a.innerHTML = _t, i.addEventListener("change", () => {
|
|
3177
3238
|
this.switchType(i.value === "radial" ? "radial" : "linear"), this.updateDegreeVisibility(o);
|
|
3178
|
-
}), o.addEventListener("focus", (
|
|
3179
|
-
const
|
|
3180
|
-
|
|
3181
|
-
}), o.addEventListener("input", (
|
|
3182
|
-
const
|
|
3183
|
-
!Number.isNaN(
|
|
3184
|
-
}), o.addEventListener("blur", (
|
|
3185
|
-
var
|
|
3239
|
+
}), o.addEventListener("focus", (m) => {
|
|
3240
|
+
const f = m.target;
|
|
3241
|
+
f.value = f.value.replace(/[^0-9-]/g, ""), setTimeout(() => f.select(), 0);
|
|
3242
|
+
}), o.addEventListener("input", (m) => {
|
|
3243
|
+
const f = parseInt(m.target.value);
|
|
3244
|
+
!Number.isNaN(f) && this.value && (this.value.angle = Math.max(0, Math.min(360, f)), this.debouncedPreviewUpdate());
|
|
3245
|
+
}), o.addEventListener("blur", (m) => {
|
|
3246
|
+
var y;
|
|
3186
3247
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null);
|
|
3187
|
-
const
|
|
3188
|
-
let
|
|
3189
|
-
Number.isNaN(
|
|
3248
|
+
const f = m.target;
|
|
3249
|
+
let C = parseInt(f.value);
|
|
3250
|
+
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), f.value = `${C}°`, this.updateGradientPreview(), this.updateUI(), this.triggerChange();
|
|
3190
3251
|
}), a.addEventListener("click", () => {
|
|
3191
|
-
!this.value || !this.value.stops || (this.value.stops.forEach((
|
|
3192
|
-
|
|
3193
|
-
}), this.value.stops.sort((
|
|
3252
|
+
!this.value || !this.value.stops || (this.value.stops.forEach((m) => {
|
|
3253
|
+
m.position = 100 - m.position;
|
|
3254
|
+
}), this.value.stops.sort((m, f) => m.position - f.position), this.updateGradientPreview(l), this.createHandles(r, l), this.updateStopsList(u), this.updateUI(), this.triggerChange());
|
|
3194
3255
|
}), e.appendChild(i), e.appendChild(o), e.appendChild(a), t.appendChild(e), this.updateDegreeVisibility(o);
|
|
3195
3256
|
const l = document.createElement("div");
|
|
3196
3257
|
l.className = "gradient-preview", this.updateGradientPreview(l);
|
|
@@ -3202,10 +3263,15 @@ const ot = (c) => {
|
|
|
3202
3263
|
p.textContent = "Stops";
|
|
3203
3264
|
const d = document.createElement("button");
|
|
3204
3265
|
d.type = "button", d.className = "gradient-add-stop", d.textContent = "+", h.appendChild(p), h.appendChild(d);
|
|
3205
|
-
const
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3266
|
+
const u = document.createElement("div");
|
|
3267
|
+
u.className = "gradient-stops", t.appendChild(h), t.appendChild(u), this.updateStopsList(u);
|
|
3268
|
+
const g = it((m) => {
|
|
3269
|
+
const f = H(m);
|
|
3270
|
+
f && (this.value = f, this.switchType(f.type), this.updateUI(), this.triggerChange());
|
|
3271
|
+
}, "all");
|
|
3272
|
+
this.recentGradientRefresh = g.refresh, t.appendChild(g.container), d.addEventListener("click", () => {
|
|
3273
|
+
var m;
|
|
3274
|
+
this.addStop(), this.updateStopsList(u), this.updateGradientPreview(l), this.createHandles(r, l), this.updateUI(), ((m = document.activeElement) == null ? void 0 : m.tagName) !== "INPUT" && this.repositionPopover(), this.triggerChange();
|
|
3209
3275
|
});
|
|
3210
3276
|
}
|
|
3211
3277
|
updateDegreeVisibility(t) {
|
|
@@ -3215,7 +3281,7 @@ const ot = (c) => {
|
|
|
3215
3281
|
updateGradientPreview(t) {
|
|
3216
3282
|
var i;
|
|
3217
3283
|
const e = t || ((i = this.popoverEl) == null ? void 0 : i.querySelector(".gradient-preview"));
|
|
3218
|
-
e && this.value && (e.style.background =
|
|
3284
|
+
e && this.value && (e.style.background = N(this.value));
|
|
3219
3285
|
}
|
|
3220
3286
|
debouncedPreviewUpdate(t) {
|
|
3221
3287
|
this.previewUpdateTimeout && clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = window.setTimeout(() => {
|
|
@@ -3229,15 +3295,15 @@ const ot = (c) => {
|
|
|
3229
3295
|
const o = document.createElement("div");
|
|
3230
3296
|
o.className = "gstop-chip", o.style.backgroundColor = i.color, n.appendChild(o);
|
|
3231
3297
|
let a = !1, l = 0, r = 0;
|
|
3232
|
-
const h = (
|
|
3233
|
-
a = !0, l =
|
|
3234
|
-
}, p = (
|
|
3298
|
+
const h = (u) => {
|
|
3299
|
+
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();
|
|
3300
|
+
}, p = (u) => {
|
|
3235
3301
|
if (!a || !this.value) return;
|
|
3236
|
-
const
|
|
3237
|
-
let f = r + m /
|
|
3302
|
+
const g = e.getBoundingClientRect(), m = u.clientX - l;
|
|
3303
|
+
let f = r + m / g.width * 100;
|
|
3238
3304
|
f = Math.max(0, Math.min(100, f)), this.value.stops[s].position = Math.round(f), n.style.left = `${f}%`, this.updateGradientPreview(), this.updateUI();
|
|
3239
3305
|
}, d = () => {
|
|
3240
|
-
a && (a = !1, n.classList.remove("selected"), document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", d), this.value && (this.value.stops.sort((
|
|
3306
|
+
a && (a = !1, n.classList.remove("selected"), document.removeEventListener("mousemove", p), document.removeEventListener("mouseup", d), this.value && (this.value.stops.sort((u, g) => u.position - g.position), this.createHandles(t, e)), this.updateStopsList(), this.updateUI(), this.triggerChange());
|
|
3241
3307
|
};
|
|
3242
3308
|
n.addEventListener("mousedown", h), t.appendChild(n);
|
|
3243
3309
|
});
|
|
@@ -3252,12 +3318,12 @@ const ot = (c) => {
|
|
|
3252
3318
|
(n, o) => n.position - o.position
|
|
3253
3319
|
);
|
|
3254
3320
|
i.forEach((n, o) => {
|
|
3255
|
-
var
|
|
3321
|
+
var G, st;
|
|
3256
3322
|
const a = this.value.stops.findIndex(
|
|
3257
|
-
(v,
|
|
3258
|
-
(
|
|
3323
|
+
(v, b) => v.position === n.position && v.color === n.color && v.opacity === n.opacity && this.value.stops.slice(0, b).filter(
|
|
3324
|
+
(x) => x.position === n.position && x.color === n.color && x.opacity === n.opacity
|
|
3259
3325
|
).length === i.slice(0, o).filter(
|
|
3260
|
-
(
|
|
3326
|
+
(x) => x.position === n.position && x.color === n.color && x.opacity === n.opacity
|
|
3261
3327
|
).length
|
|
3262
3328
|
), l = a !== -1 ? a : o, r = document.createElement("div");
|
|
3263
3329
|
r.className = "gstop-row";
|
|
@@ -3267,75 +3333,75 @@ const ot = (c) => {
|
|
|
3267
3333
|
p.type = "text", p.className = "gstop-position-input", p.value = `${n.position}%`, p.style.width = "60px", h.appendChild(p);
|
|
3268
3334
|
const d = document.createElement("div");
|
|
3269
3335
|
d.className = "gstop-color-container";
|
|
3270
|
-
const
|
|
3271
|
-
|
|
3272
|
-
const
|
|
3273
|
-
|
|
3336
|
+
const u = document.createElement("div");
|
|
3337
|
+
u.className = "gstop-color-preview", u.style.backgroundColor = n.color;
|
|
3338
|
+
const g = document.createElement("input");
|
|
3339
|
+
g.type = "text", g.className = "gstop-color-input", g.value = n.color.replace("#", "").toUpperCase();
|
|
3274
3340
|
const m = document.createElement("button");
|
|
3275
|
-
m.type = "button", m.className = "gstop-color-copy", m.textContent = "Copy", d.appendChild(
|
|
3341
|
+
m.type = "button", m.className = "gstop-color-copy", m.textContent = "Copy", d.appendChild(u), d.appendChild(g), d.appendChild(m);
|
|
3276
3342
|
const f = document.createElement("button");
|
|
3277
|
-
f.type = "button", f.className = "gstop-del", f.innerHTML =
|
|
3343
|
+
f.type = "button", f.className = "gstop-del", f.innerHTML = Jt, f.disabled = (((st = (G = this.value) == null ? void 0 : G.stops) == null ? void 0 : st.length) || 0) <= 2, r.appendChild(h), r.appendChild(d), r.appendChild(f), e.appendChild(r);
|
|
3278
3344
|
const C = document.createElement("span");
|
|
3279
3345
|
C.className = "gstop-opacity-label", C.textContent = "Opacity";
|
|
3280
|
-
const
|
|
3281
|
-
|
|
3282
|
-
const
|
|
3283
|
-
|
|
3346
|
+
const y = document.createElement("div");
|
|
3347
|
+
y.className = "gstop-opacity-group";
|
|
3348
|
+
const E = document.createElement("input");
|
|
3349
|
+
E.type = "range", E.className = "gstop-opacity-slider", E.min = "0", E.max = "100", E.value = String(n.opacity ?? 100);
|
|
3284
3350
|
const O = S(n.color);
|
|
3285
|
-
|
|
3351
|
+
E.style.setProperty(
|
|
3286
3352
|
"--slider-color",
|
|
3287
3353
|
`rgb(${O.r}, ${O.g}, ${O.b})`
|
|
3288
3354
|
);
|
|
3289
3355
|
const k = document.createElement("span");
|
|
3290
|
-
k.className = "gstop-opacity-value", k.textContent = `${n.opacity ?? 100}%`,
|
|
3291
|
-
const
|
|
3292
|
-
|
|
3293
|
-
const
|
|
3294
|
-
|
|
3356
|
+
k.className = "gstop-opacity-value", k.textContent = `${n.opacity ?? 100}%`, y.appendChild(E), y.appendChild(k);
|
|
3357
|
+
const D = new Xt((v, b) => {
|
|
3358
|
+
g.value = v.replace("#", "").toUpperCase(), u.style.backgroundColor = v, this.value.stops[l].color = v, b !== void 0 && (this.value.stops[l].opacity = b, E.value = String(b), k.textContent = `${b}%`);
|
|
3359
|
+
const x = S(v);
|
|
3360
|
+
E.style.setProperty(
|
|
3295
3361
|
"--slider-color",
|
|
3296
|
-
`rgb(${
|
|
3362
|
+
`rgb(${x.r}, ${x.g}, ${x.b})`
|
|
3297
3363
|
), this.updateGradientPreview(), this.createHandles(
|
|
3298
3364
|
this.popoverEl.querySelector(".gradient-handles"),
|
|
3299
3365
|
this.popoverEl.querySelector(".gradient-preview")
|
|
3300
3366
|
), this.updateUI(), this.triggerChange();
|
|
3301
|
-
}, "
|
|
3302
|
-
|
|
3303
|
-
v.preventDefault(), v.stopPropagation(),
|
|
3304
|
-
}),
|
|
3305
|
-
const v =
|
|
3306
|
-
if (/^#[0-9A-Fa-f]{6}$/.test(
|
|
3307
|
-
this.value.stops[l].color =
|
|
3308
|
-
const
|
|
3309
|
-
|
|
3367
|
+
}, "solid");
|
|
3368
|
+
g.addEventListener("click", (v) => {
|
|
3369
|
+
v.preventDefault(), v.stopPropagation(), D.open(n.color, g, n.opacity ?? 100);
|
|
3370
|
+
}), g.addEventListener("input", () => {
|
|
3371
|
+
const v = g.value.trim(), b = v.startsWith("#") ? v : `#${v}`;
|
|
3372
|
+
if (/^#[0-9A-Fa-f]{6}$/.test(b)) {
|
|
3373
|
+
this.value.stops[l].color = b, u.style.backgroundColor = b;
|
|
3374
|
+
const x = S(b);
|
|
3375
|
+
E.style.setProperty(
|
|
3310
3376
|
"--slider-color",
|
|
3311
|
-
`rgb(${
|
|
3377
|
+
`rgb(${x.r}, ${x.g}, ${x.b})`
|
|
3312
3378
|
), this.debouncedPreviewUpdate();
|
|
3313
3379
|
}
|
|
3314
|
-
}),
|
|
3380
|
+
}), g.addEventListener("blur", () => {
|
|
3315
3381
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null), this.updateGradientPreview(), this.updateUI(), this.triggerChange();
|
|
3316
3382
|
}), m.addEventListener("click", async (v) => {
|
|
3317
3383
|
v.stopPropagation();
|
|
3318
3384
|
try {
|
|
3319
|
-
await navigator.clipboard.writeText(`#${
|
|
3385
|
+
await navigator.clipboard.writeText(`#${g.value}`);
|
|
3320
3386
|
} catch {
|
|
3321
3387
|
}
|
|
3322
3388
|
}), p.addEventListener("focus", (v) => {
|
|
3323
|
-
const
|
|
3324
|
-
|
|
3389
|
+
const b = v.target;
|
|
3390
|
+
b.value = b.value.replace("%", ""), b.select();
|
|
3325
3391
|
}), p.addEventListener("input", (v) => {
|
|
3326
|
-
const
|
|
3327
|
-
if (!Number.isNaN(
|
|
3328
|
-
const
|
|
3329
|
-
this.value.stops[l].position =
|
|
3392
|
+
const b = v.target, x = parseInt(b.value.replace(/[^\d]/g, ""), 10);
|
|
3393
|
+
if (!Number.isNaN(x)) {
|
|
3394
|
+
const z = Math.max(0, Math.min(100, x));
|
|
3395
|
+
this.value.stops[l].position = z, b.value = `${z}%`, this.debouncedPreviewUpdate();
|
|
3330
3396
|
}
|
|
3331
3397
|
}), p.addEventListener("blur", (v) => {
|
|
3332
3398
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null);
|
|
3333
|
-
const
|
|
3334
|
-
if (Number.isNaN(
|
|
3335
|
-
|
|
3399
|
+
const b = v.target, x = parseInt(b.value.replace(/[^\d]/g, ""), 10);
|
|
3400
|
+
if (Number.isNaN(x))
|
|
3401
|
+
b.value = `${this.value.stops[l].position}%`;
|
|
3336
3402
|
else {
|
|
3337
|
-
const
|
|
3338
|
-
this.value.stops[l].position =
|
|
3403
|
+
const z = Math.max(0, Math.min(100, x));
|
|
3404
|
+
this.value.stops[l].position = z, b.value = `${z}%`;
|
|
3339
3405
|
}
|
|
3340
3406
|
this.updateGradientPreview(), this.createHandles(
|
|
3341
3407
|
this.popoverEl.querySelector(".gradient-handles"),
|
|
@@ -3347,10 +3413,10 @@ const ot = (c) => {
|
|
|
3347
3413
|
this.popoverEl.querySelector(".gradient-handles"),
|
|
3348
3414
|
this.popoverEl.querySelector(".gradient-preview")
|
|
3349
3415
|
), this.updateStopsList(), this.updateGradientPreview(), this.updateUI(), ((v = document.activeElement) == null ? void 0 : v.tagName) !== "INPUT" && this.repositionPopover(), this.triggerChange());
|
|
3350
|
-
}),
|
|
3351
|
-
const v = parseInt(
|
|
3416
|
+
}), E.addEventListener("input", () => {
|
|
3417
|
+
const v = parseInt(E.value, 10);
|
|
3352
3418
|
this.value.stops[l].opacity = Math.max(0, Math.min(100, v)), k.textContent = `${this.value.stops[l].opacity}%`, this.debouncedPreviewUpdate();
|
|
3353
|
-
}),
|
|
3419
|
+
}), E.addEventListener("change", () => {
|
|
3354
3420
|
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null), this.updateGradientPreview(), this.updateUI(), this.triggerChange();
|
|
3355
3421
|
});
|
|
3356
3422
|
});
|
|
@@ -3373,21 +3439,21 @@ const ot = (c) => {
|
|
|
3373
3439
|
this.value.stops.push(n), this.value.stops.sort((o, a) => o.position - a.position);
|
|
3374
3440
|
}
|
|
3375
3441
|
openPopover() {
|
|
3376
|
-
if (this.popoverEl && (
|
|
3377
|
-
if (this.isPopoverOpen = !0,
|
|
3442
|
+
if (this.popoverEl && (V.openInstance && V.openInstance !== this && V.openInstance.closePopover(), !this.isPopoverOpen)) {
|
|
3443
|
+
if (this.isPopoverOpen = !0, V.openInstance = this, this.popoverEl.style.display = "flex", this.refreshPopoverContent(), this.element) {
|
|
3378
3444
|
const t = this.element.getBoundingClientRect(), e = 306, i = window.innerWidth, s = window.innerHeight, n = 16;
|
|
3379
3445
|
this.popoverEl.style.position = "fixed", this.popoverEl.style.zIndex = "10000", this.popoverEl.style.left = "-9999px", this.popoverEl.style.top = "0px";
|
|
3380
3446
|
const o = this.popoverEl.offsetHeight;
|
|
3381
3447
|
let a = t.right + 8, l = t.top;
|
|
3382
3448
|
const r = i - t.right, h = t.left, p = e + n;
|
|
3383
3449
|
r < p && h > r + 100 && (a = t.left - e - 8);
|
|
3384
|
-
const d = s - t.bottom,
|
|
3385
|
-
|
|
3450
|
+
const d = s - t.bottom, u = t.top;
|
|
3451
|
+
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`;
|
|
3386
3452
|
}
|
|
3387
3453
|
setTimeout(
|
|
3388
3454
|
() => document.addEventListener("click", this.onBackgroundClick, !0),
|
|
3389
3455
|
0
|
|
3390
|
-
);
|
|
3456
|
+
), document.addEventListener("keydown", this.handlePopoverKeydown, !0);
|
|
3391
3457
|
}
|
|
3392
3458
|
}
|
|
3393
3459
|
repositionPopover() {
|
|
@@ -3400,22 +3466,31 @@ const ot = (c) => {
|
|
|
3400
3466
|
let l = e.right + 8, r = e.top;
|
|
3401
3467
|
const h = s - e.right, p = e.left, d = i + o;
|
|
3402
3468
|
h < d && p > h + 100 && (l = e.left - i - 8);
|
|
3403
|
-
const
|
|
3404
|
-
|
|
3469
|
+
const u = n - e.bottom, g = e.top;
|
|
3470
|
+
g >= a + o ? r = e.top - a - 8 : u >= a + o ? r = e.bottom + 8 : g > 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`;
|
|
3405
3471
|
});
|
|
3406
3472
|
}
|
|
3407
3473
|
refreshPopoverContent() {
|
|
3408
|
-
var n;
|
|
3474
|
+
var n, o;
|
|
3409
3475
|
if (!this.popoverEl) return;
|
|
3410
3476
|
const t = this.popoverEl.querySelectorAll(".gradient-type-tab");
|
|
3411
|
-
t.forEach((
|
|
3477
|
+
t.forEach((a) => a.classList.remove("active"));
|
|
3412
3478
|
const e = t[0], i = t[1];
|
|
3413
|
-
((n = this.value) == null ? void 0 : n.type) === "solid" ? e.classList.add("active") : i.classList.add("active"), this.popoverEl.offsetHeight;
|
|
3479
|
+
((n = this.value) == null ? void 0 : n.type) === "solid" ? e.classList.add("active") : (i.classList.add("active"), (o = this.recentGradientRefresh) == null || o.call(this)), this.popoverEl.offsetHeight;
|
|
3414
3480
|
const s = this.popoverEl.querySelector(".gradient-editor-content");
|
|
3415
3481
|
s && this.updatePopoverContent(s);
|
|
3416
3482
|
}
|
|
3417
3483
|
closePopover() {
|
|
3418
|
-
|
|
3484
|
+
if (!(!this.popoverEl || !this.isPopoverOpen)) {
|
|
3485
|
+
if (this.isPopoverOpen = !1, 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") {
|
|
3486
|
+
const t = N(this.value);
|
|
3487
|
+
B.addColor(t, "gradient");
|
|
3488
|
+
}
|
|
3489
|
+
this.previewUpdateTimeout && (clearTimeout(this.previewUpdateTimeout), this.previewUpdateTimeout = null), V.openInstance === this && (V.openInstance = null);
|
|
3490
|
+
}
|
|
3491
|
+
}
|
|
3492
|
+
commitPendingSolidColor() {
|
|
3493
|
+
this.pendingSolidColor && (this.solidPicker ? this.solidPicker.commitRecentColor() : B.addColor(this.pendingSolidColor, "solid"), this.pendingSolidColor = null);
|
|
3419
3494
|
}
|
|
3420
3495
|
handlePaste(t) {
|
|
3421
3496
|
var i;
|
|
@@ -3428,7 +3503,7 @@ const ot = (c) => {
|
|
|
3428
3503
|
this.parseAndSet(e.value);
|
|
3429
3504
|
}
|
|
3430
3505
|
parseAndSet(t) {
|
|
3431
|
-
const e =
|
|
3506
|
+
const e = H(t.trim());
|
|
3432
3507
|
e && this.setValue(e);
|
|
3433
3508
|
}
|
|
3434
3509
|
triggerChange() {
|
|
@@ -3439,22 +3514,25 @@ const ot = (c) => {
|
|
|
3439
3514
|
return this.element;
|
|
3440
3515
|
}
|
|
3441
3516
|
getValue() {
|
|
3442
|
-
return this.value ?
|
|
3517
|
+
return this.value ? N(this.value) : "";
|
|
3443
3518
|
}
|
|
3444
3519
|
getCSSValue() {
|
|
3445
|
-
return this.value ?
|
|
3520
|
+
return this.value ? N(this.value) : "";
|
|
3521
|
+
}
|
|
3522
|
+
getCSSForText() {
|
|
3523
|
+
return this.value ? this.cssForTextValue() : {};
|
|
3446
3524
|
}
|
|
3447
3525
|
getRawValue() {
|
|
3448
3526
|
return this.value;
|
|
3449
3527
|
}
|
|
3450
3528
|
};
|
|
3451
|
-
|
|
3452
|
-
let
|
|
3453
|
-
const
|
|
3529
|
+
V.openInstance = null;
|
|
3530
|
+
let ct = V;
|
|
3531
|
+
const Kt = `
|
|
3454
3532
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
3455
3533
|
<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"/>
|
|
3456
3534
|
</svg>
|
|
3457
|
-
`,
|
|
3535
|
+
`, Yt = `
|
|
3458
3536
|
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
|
|
3459
3537
|
<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"/>
|
|
3460
3538
|
</svg>
|
|
@@ -3467,16 +3545,16 @@ class Ee extends T {
|
|
|
3467
3545
|
settings: {
|
|
3468
3546
|
size: new I({
|
|
3469
3547
|
title: "Size",
|
|
3470
|
-
icon:
|
|
3548
|
+
icon: Yt,
|
|
3471
3549
|
default: (t == null ? void 0 : t.size) ?? 0,
|
|
3472
3550
|
suffix: "px"
|
|
3473
3551
|
}),
|
|
3474
|
-
color: new
|
|
3552
|
+
color: new P({
|
|
3475
3553
|
default: (t == null ? void 0 : t.color) ?? "0, 0, 30"
|
|
3476
3554
|
}),
|
|
3477
3555
|
radius: new I({
|
|
3478
3556
|
title: "Radius",
|
|
3479
|
-
icon:
|
|
3557
|
+
icon: Kt,
|
|
3480
3558
|
default: (t == null ? void 0 : t.radius) ?? 12,
|
|
3481
3559
|
suffix: "px"
|
|
3482
3560
|
})
|
|
@@ -3516,10 +3594,10 @@ class be extends T {
|
|
|
3516
3594
|
collapsed: i.collapsed,
|
|
3517
3595
|
settings: (() => {
|
|
3518
3596
|
const s = {
|
|
3519
|
-
color: new
|
|
3597
|
+
color: new P({
|
|
3520
3598
|
default: i.colorDefault ?? "0, 0, 30"
|
|
3521
3599
|
}),
|
|
3522
|
-
fontFamily: new
|
|
3600
|
+
fontFamily: new et({
|
|
3523
3601
|
title: "Font",
|
|
3524
3602
|
icon: Qt,
|
|
3525
3603
|
default: i.fontFamilyDefault ?? "Satoshi",
|
|
@@ -3532,7 +3610,7 @@ class be extends T {
|
|
|
3532
3610
|
getOptions: i.fontFamilyGetOptions,
|
|
3533
3611
|
getOptionsAsync: i.fontFamilyGetOptionsAsync
|
|
3534
3612
|
}),
|
|
3535
|
-
fontWeight: new
|
|
3613
|
+
fontWeight: new et({
|
|
3536
3614
|
title: "Weight",
|
|
3537
3615
|
icon: te,
|
|
3538
3616
|
default: i.fontWeightDefault ?? "400",
|
|
@@ -3554,7 +3632,7 @@ class be extends T {
|
|
|
3554
3632
|
};
|
|
3555
3633
|
return e ? {
|
|
3556
3634
|
...s,
|
|
3557
|
-
align: new
|
|
3635
|
+
align: new Nt({
|
|
3558
3636
|
title: "Align",
|
|
3559
3637
|
default: i.alignDefault ?? "center"
|
|
3560
3638
|
})
|
|
@@ -3574,7 +3652,7 @@ class be extends T {
|
|
|
3574
3652
|
`;
|
|
3575
3653
|
}
|
|
3576
3654
|
}
|
|
3577
|
-
class _ extends
|
|
3655
|
+
class _ extends w {
|
|
3578
3656
|
constructor(t) {
|
|
3579
3657
|
super({
|
|
3580
3658
|
...t,
|
|
@@ -3678,14 +3756,14 @@ class xe extends T {
|
|
|
3678
3756
|
title: "Background Image",
|
|
3679
3757
|
collapsed: t == null ? void 0 : t.collapsed,
|
|
3680
3758
|
settings: {
|
|
3681
|
-
backgroundImage: new
|
|
3759
|
+
backgroundImage: new pt({
|
|
3682
3760
|
...t == null ? void 0 : t.uploadProps,
|
|
3683
3761
|
default: (t == null ? void 0 : t.backgroundImage) ?? ""
|
|
3684
3762
|
}),
|
|
3685
|
-
opacity: new
|
|
3763
|
+
opacity: new St({
|
|
3686
3764
|
default: (t == null ? void 0 : t.opacity) ?? 100
|
|
3687
3765
|
}),
|
|
3688
|
-
backgroundColor: new
|
|
3766
|
+
backgroundColor: new P({
|
|
3689
3767
|
default: (t == null ? void 0 : t.backgroundColor) ?? "0, 0, 30"
|
|
3690
3768
|
})
|
|
3691
3769
|
}
|
|
@@ -3712,16 +3790,16 @@ class xe extends T {
|
|
|
3712
3790
|
}
|
|
3713
3791
|
}
|
|
3714
3792
|
export {
|
|
3715
|
-
|
|
3793
|
+
Nt as AlignSetting,
|
|
3716
3794
|
ye as AnimationSetting,
|
|
3717
3795
|
xe as BackgroundSettingSet,
|
|
3718
3796
|
Ee as BorderSettingSet,
|
|
3719
3797
|
ce as ButtonSetting,
|
|
3720
3798
|
M as ColorSetting,
|
|
3721
|
-
|
|
3799
|
+
P as ColorWithOpacitySetting,
|
|
3722
3800
|
he as DimensionSetting,
|
|
3723
3801
|
me as GapSetting,
|
|
3724
|
-
|
|
3802
|
+
ct as GradientSetting,
|
|
3725
3803
|
be as HeaderTypographySettingSet,
|
|
3726
3804
|
pe as HeightSetting,
|
|
3727
3805
|
re as HtmlSetting,
|
|
@@ -3730,22 +3808,22 @@ export {
|
|
|
3730
3808
|
ve as MarginTopSetting,
|
|
3731
3809
|
Ce as MultiLanguageSetting,
|
|
3732
3810
|
I as NumberSetting,
|
|
3733
|
-
|
|
3811
|
+
St as OpacitySetting,
|
|
3734
3812
|
ue as SelectApiSettings,
|
|
3735
|
-
|
|
3736
|
-
|
|
3813
|
+
et as SelectSetting,
|
|
3814
|
+
w as Setting,
|
|
3737
3815
|
T as SettingGroup,
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3816
|
+
xt as StringSetting,
|
|
3817
|
+
bt as TabSettingGroup,
|
|
3818
|
+
bt as TabsSettingGroup,
|
|
3741
3819
|
ge as Toggle,
|
|
3742
|
-
|
|
3820
|
+
pt as UploadSetting,
|
|
3743
3821
|
de as WidthSetting,
|
|
3744
3822
|
le as asSettingGroupWithSettings,
|
|
3745
|
-
|
|
3823
|
+
wt as createSettingGroup,
|
|
3746
3824
|
ae as createTabSettingGroup,
|
|
3747
|
-
|
|
3748
|
-
|
|
3825
|
+
R as isSetting,
|
|
3826
|
+
ot as isSettingChild,
|
|
3749
3827
|
L as isSettingGroup,
|
|
3750
3828
|
j as iterateSettings
|
|
3751
3829
|
};
|