builder-settings-types 0.0.92 → 0.0.93

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.
@@ -1,18 +1,18 @@
1
1
  const R = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
2
- let I = (h = 21) => {
3
- let t = "", e = crypto.getRandomValues(new Uint8Array(h |= 0));
4
- for (; h--; )
5
- t += R[e[h] & 63];
2
+ let I = (c = 21) => {
3
+ let t = "", e = crypto.getRandomValues(new Uint8Array(c |= 0));
4
+ for (; c--; )
5
+ t += R[e[c] & 63];
6
6
  return t;
7
7
  };
8
- function B(h, t) {
9
- for (const e in h)
10
- if (h.hasOwnProperty(e)) {
11
- const i = h[e];
8
+ function B(c, t) {
9
+ for (const e in c)
10
+ if (c.hasOwnProperty(e)) {
11
+ const i = c[e];
12
12
  t(e, i);
13
13
  }
14
14
  }
15
- const b = class b {
15
+ const x = class x {
16
16
  constructor(t) {
17
17
  this.elementRef = null, this.isHidden = !1, this.id = t.id || I(), this.title = t.title, this.settings = t.settings, this.description = t.description, this.icon = t.icon, this.isCollapsed = t.collapsed ?? !1, this.isMain = t.main ?? !1, this.hideCondition = t.hideCondition, Object.assign(this, t.settings);
18
18
  }
@@ -45,17 +45,17 @@ const b = class b {
45
45
  for (const i in this.settings)
46
46
  if (this.settings.hasOwnProperty(i)) {
47
47
  const n = this.settings[i];
48
- n instanceof b ? e[i] = n.getValues() : e[i] = n.value;
48
+ n instanceof x ? e[i] = n.getValues() : e[i] = n.value;
49
49
  }
50
50
  return e;
51
51
  } else {
52
52
  const e = this.settings[t];
53
- return e ? e instanceof b ? e.getValues() : e.value : void 0;
53
+ return e ? e instanceof x ? e.getValues() : e.value : void 0;
54
54
  }
55
55
  }
56
56
  draw() {
57
57
  const t = document.createElement("div");
58
- t.className = "setting-group", t.id = `setting-group-${this.id}`, b.hiddenElements.add(t), this.hideCondition && this.hideCondition() && (t.style.display = "none"), this.isMain && t.classList.add("main-group");
58
+ t.className = "setting-group", t.id = `setting-group-${this.id}`, x.hiddenElements.add(t), this.hideCondition && this.hideCondition() && (t.style.display = "none"), this.isMain && t.classList.add("main-group");
59
59
  const e = document.createElement("div");
60
60
  e.className = "setting-group-title", this.isCollapsed && e.classList.add("collapsed-view"), e.setAttribute("role", "button"), e.setAttribute(
61
61
  "aria-expanded",
@@ -78,23 +78,23 @@ const b = class b {
78
78
  </svg>
79
79
  `, r.title = this.description, s.appendChild(r);
80
80
  }
81
- const o = document.createElement("span");
82
- o.className = "setting-group-arrow", o.innerHTML = `
81
+ const a = document.createElement("span");
82
+ a.className = "setting-group-arrow", a.innerHTML = `
83
83
  <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
84
84
  <path d="M4 6L8 10L12 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
85
85
  </svg>
86
- `, this.isCollapsed && o.classList.add("rotated"), s.appendChild(o);
87
- const a = document.createElement("div");
88
- if (a.className = "setting-group-content", this.isCollapsed && (a.classList.add("collapsed"), e.classList.add("collapsed-view"), o.classList.add("rotated"), t.classList.add("collapsed")), this.isMain && a.classList.add("main-content"), this.description && !this.isCollapsed) {
86
+ `, this.isCollapsed && a.classList.add("rotated"), s.appendChild(a);
87
+ const o = document.createElement("div");
88
+ if (o.className = "setting-group-content", this.isCollapsed && (o.classList.add("collapsed"), e.classList.add("collapsed-view"), a.classList.add("rotated"), t.classList.add("collapsed")), this.isMain && o.classList.add("main-content"), this.description && !this.isCollapsed) {
89
89
  const r = document.createElement("div");
90
- r.className = "setting-group-description", r.textContent = this.description, a.appendChild(r);
90
+ r.className = "setting-group-description", r.textContent = this.description, o.appendChild(r);
91
91
  }
92
92
  const l = () => {
93
- this.isCollapsed = !this.isCollapsed, a.classList.toggle("collapsed"), e.classList.toggle("collapsed-view"), o.classList.toggle("rotated"), t.classList.toggle("collapsed", this.isCollapsed), e.setAttribute(
93
+ this.isCollapsed = !this.isCollapsed, o.classList.toggle("collapsed"), e.classList.toggle("collapsed-view"), a.classList.toggle("rotated"), t.classList.toggle("collapsed", this.isCollapsed), e.setAttribute(
94
94
  "aria-expanded",
95
95
  (!this.isCollapsed).toString()
96
96
  );
97
- const r = a.querySelector(
97
+ const r = o.querySelector(
98
98
  ".setting-group-description"
99
99
  ), u = s.querySelector(".info-marker");
100
100
  if (this.description)
@@ -106,14 +106,14 @@ const b = class b {
106
106
  <path d="M8 5.33333V8M8 10.6667H8.00667M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8Z"
107
107
  stroke="currentColor" stroke-width="1.33333" stroke-linecap="round" stroke-linejoin="round"/>
108
108
  </svg>
109
- `, p.title = this.description, s.insertBefore(p, o);
109
+ `, p.title = this.description, s.insertBefore(p, a);
110
110
  }
111
111
  } else {
112
112
  if (!r) {
113
113
  const p = document.createElement("div");
114
- p.className = "setting-group-description", p.textContent = this.description, a.insertBefore(
114
+ p.className = "setting-group-description", p.textContent = this.description, o.insertBefore(
115
115
  p,
116
- a.firstChild
116
+ o.firstChild
117
117
  );
118
118
  }
119
119
  u && u.remove();
@@ -125,13 +125,13 @@ const b = class b {
125
125
  for (const r in this.settings)
126
126
  if (this.settings.hasOwnProperty(r)) {
127
127
  const u = this.settings[r];
128
- a.appendChild(u.draw());
128
+ o.appendChild(u.draw());
129
129
  }
130
130
  } else {
131
131
  const r = document.createElement("div");
132
- r.className = "setting-group-empty", r.textContent = "No settings in this group", a.appendChild(r);
132
+ r.className = "setting-group-empty", r.textContent = "No settings in this group", o.appendChild(r);
133
133
  }
134
- return e.appendChild(i), e.appendChild(s), t.appendChild(e), t.appendChild(a), this.elementRef = t, t;
134
+ return e.appendChild(i), e.appendChild(s), t.appendChild(e), t.appendChild(o), this.elementRef = t, t;
135
135
  }
136
136
  collapse() {
137
137
  if (!this.elementRef || this.isCollapsed) return;
@@ -158,10 +158,10 @@ const b = class b {
158
158
  this.isHidden ? this.show() : this.hide();
159
159
  }
160
160
  };
161
- b.hiddenElements = /* @__PURE__ */ new Set();
162
- let v = b;
163
- function W(h) {
164
- switch (h) {
161
+ x.hiddenElements = /* @__PURE__ */ new Set();
162
+ let v = x;
163
+ function W(c) {
164
+ switch (c) {
165
165
  case "number":
166
166
  return 0;
167
167
  case "text":
@@ -195,45 +195,45 @@ class C {
195
195
  t = { ...this.props.inputProps, ...t };
196
196
  const e = document.createElement("div");
197
197
  if (e.className = t.wrapperClassName || "", t.title || t.icon) {
198
- const o = document.createElement("div");
199
- if (o.className = "icon-container", t.icon) {
200
- const a = this.createIcon(t.icon, t.iconClassName);
201
- o.appendChild(a);
198
+ const a = document.createElement("div");
199
+ if (a.className = "icon-container", t.icon) {
200
+ const o = this.createIcon(t.icon, t.iconClassName);
201
+ a.appendChild(o);
202
202
  }
203
203
  if (t.title) {
204
- const a = this.createLabel(t.title, t.labelClassName);
205
- o.appendChild(a);
204
+ const o = this.createLabel(t.title, t.labelClassName);
205
+ a.appendChild(o);
206
206
  }
207
- e.appendChild(o);
207
+ e.appendChild(a);
208
208
  }
209
209
  const i = document.createElement("div");
210
210
  i.className = t.wrapperClassName || "";
211
211
  const n = document.createElement("input");
212
212
  this.inputEl = n, n.value = String(t.value || W(t.inputType)), n.type = t.inputType, n.placeholder = t.placeholder || "", n.className = t.inputClassName || "";
213
- const s = (o) => {
214
- const a = o.target;
215
- let l = a.value;
213
+ const s = (a) => {
214
+ const o = a.target;
215
+ let l = o.value;
216
216
  switch (t.inputType) {
217
217
  case "number":
218
- l = Number(a.value);
218
+ l = Number(o.value);
219
219
  break;
220
220
  case "color":
221
- l = a.value;
221
+ l = o.value;
222
222
  break;
223
223
  case "date":
224
- l = a.value;
224
+ l = o.value;
225
225
  break;
226
226
  case "select":
227
- l = a.value;
227
+ l = o.value;
228
228
  break;
229
229
  case "text":
230
- l = a.value;
230
+ l = o.value;
231
231
  break;
232
232
  case "button":
233
- l = a.value;
233
+ l = o.value;
234
234
  break;
235
235
  default:
236
- l = a.value;
236
+ l = o.value;
237
237
  }
238
238
  this.value = l, this.onChange && this.onChange(this.value), this.props.detectChange && this.props.detectChange(this.value);
239
239
  };
@@ -283,11 +283,11 @@ class S extends H {
283
283
  return `${e}, ${i}, ${n}`;
284
284
  }
285
285
  rgbToHex(t) {
286
- const [e, i, n] = t.split(",").map((o) => parseInt(o.trim()));
286
+ const [e, i, n] = t.split(",").map((a) => parseInt(a.trim()));
287
287
  if (isNaN(e) || isNaN(i) || isNaN(n)) return "#000000";
288
- const s = (o) => {
289
- const a = o.toString(16);
290
- return a.length === 1 ? "0" + a : a;
288
+ const s = (a) => {
289
+ const o = a.toString(16);
290
+ return o.length === 1 ? "0" + o : o;
291
291
  };
292
292
  return `#${s(e)}${s(i)}${s(n)}`;
293
293
  }
@@ -300,36 +300,36 @@ class S extends H {
300
300
  e.appendChild(i), e.appendChild(n);
301
301
  const s = document.createElement("div");
302
302
  s.className = "color-input-wrapper";
303
- const o = (p) => {
303
+ const a = (p) => {
304
304
  const g = p.value.split(",").map((N) => parseInt(N.trim()));
305
305
  if (g.length !== 3 || g.some(isNaN))
306
306
  return p.style.border = "1px solid red", !1;
307
307
  const [d, m, f] = g, L = d >= 0 && d <= 255 && m >= 0 && m <= 255 && f >= 0 && f <= 255;
308
308
  return p.style.border = L ? "" : "1px solid red", L;
309
- }, a = document.createElement("div");
310
- a.className = "color-preview", a.style.backgroundColor = this.value ? `rgb(${this.value})` : "";
309
+ }, o = document.createElement("div");
310
+ o.className = "color-preview", o.style.backgroundColor = this.value ? `rgb(${this.value})` : "";
311
311
  const l = this.createInput({
312
312
  value: this.value,
313
313
  inputType: "text",
314
314
  inputClassName: "color-text-input"
315
- }), c = l.querySelector("input"), r = this.createInput({
315
+ }), h = l.querySelector("input"), r = this.createInput({
316
316
  value: this.value ? this.rgbToHex(this.value) : "",
317
317
  inputType: this.inputType,
318
318
  inputClassName: "color-picker"
319
319
  }), u = r.querySelector("input");
320
- return c.oninput = (p) => {
320
+ return h.oninput = (p) => {
321
321
  var d;
322
322
  let g = p.target.value.trim();
323
- o(c) && (this.value = g, (d = this.onChange) == null || d.call(this, g), u.value = this.rgbToHex(g), a.style.backgroundColor = `rgb(${g})`);
323
+ a(h) && (this.value = g, (d = this.onChange) == null || d.call(this, g), u.value = this.rgbToHex(g), o.style.backgroundColor = `rgb(${g})`);
324
324
  }, u.oninput = (p) => {
325
325
  var m, f;
326
326
  const g = p.target.value, d = this.hexToRgb(g);
327
- this.value = d, (m = this.onChange) == null || m.call(this, d), (f = this.detectChange) == null || f.call(this, d), c.value = d, a.style.backgroundColor = `rgb(${d})`;
327
+ this.value = d, (m = this.onChange) == null || m.call(this, d), (f = this.detectChange) == null || f.call(this, d), h.value = d, o.style.backgroundColor = `rgb(${d})`;
328
328
  }, u.onchange = (p) => {
329
329
  var m, f;
330
330
  const g = p.target.value, d = this.hexToRgb(g);
331
- this.value = d, (m = this.onChange) == null || m.call(this, d), (f = this.detectChange) == null || f.call(this, d), c.value = d, a.style.backgroundColor = `rgb(${d})`;
332
- }, s.appendChild(a), s.appendChild(r), s.appendChild(l), t.appendChild(e), t.appendChild(s), this.value && (c.value = this.value, u.value = this.rgbToHex(this.value), a.style.backgroundColor = `rgb(${this.value})`), t;
331
+ this.value = d, (m = this.onChange) == null || m.call(this, d), (f = this.detectChange) == null || f.call(this, d), h.value = d, o.style.backgroundColor = `rgb(${d})`;
332
+ }, s.appendChild(o), s.appendChild(r), s.appendChild(l), t.appendChild(e), t.appendChild(s), this.value && (h.value = this.value, u.value = this.rgbToHex(this.value), o.style.backgroundColor = `rgb(${this.value})`), t;
333
333
  }
334
334
  }
335
335
  class w extends C {
@@ -339,9 +339,9 @@ class w extends C {
339
339
  draw() {
340
340
  const t = (s) => {
341
341
  this.props.minValue !== void 0 && (s.min = String(this.props.minValue)), this.props.maxValue !== void 0 && (s.max = String(this.props.maxValue)), this.props.className && s.classList.add(this.props.className), s.addEventListener("input", () => {
342
- const o = this.props.minValue ?? Number.MIN_SAFE_INTEGER, a = this.props.maxValue ?? Number.MAX_SAFE_INTEGER;
342
+ const a = this.props.minValue ?? Number.MIN_SAFE_INTEGER, o = this.props.maxValue ?? Number.MAX_SAFE_INTEGER;
343
343
  let l = Number(s.value);
344
- l < o && (l = o), l > a && (l = a), s.value = String(l);
344
+ l < a && (l = a), l > o && (l = o), s.value = String(l);
345
345
  });
346
346
  }, e = this.createInput({
347
347
  value: this.value,
@@ -387,7 +387,7 @@ const A = `
387
387
  <polyline points="6 9 12 15 18 9"></polyline>
388
388
  </svg>
389
389
  `;
390
- class V extends C {
390
+ class T extends C {
391
391
  constructor(t = {}) {
392
392
  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, t.options && (this._options = [...t.options]), t.getOptions && this._options.push(...t.getOptions()), t.getOptionsAsync && (this.isLoading = !0), this.value !== void 0) {
393
393
  const e = this._options.findIndex((i) => i.value === this.value);
@@ -403,12 +403,12 @@ class V extends C {
403
403
  if (t.classList.add("select-container"), this.container = t, this.props.icon || this.props.title) {
404
404
  const s = document.createElement("div");
405
405
  if (s.className = "icon-container", this.props.icon) {
406
- const o = this.createIcon(this.props.icon);
407
- s.appendChild(o);
406
+ const a = this.createIcon(this.props.icon);
407
+ s.appendChild(a);
408
408
  }
409
409
  if (this.props.title) {
410
- const o = this.createLabel(this.props.title);
411
- s.appendChild(o);
410
+ const a = this.createLabel(this.props.title);
411
+ s.appendChild(a);
412
412
  }
413
413
  t.appendChild(s);
414
414
  } else {
@@ -417,13 +417,13 @@ class V extends C {
417
417
  }
418
418
  const e = document.createElement("div");
419
419
  e.classList.add("select-button"), this.isLoading ? e.classList.add("loading") : e.textContent = this.selectedOptionIndex !== null ? this._options[this.selectedOptionIndex].name : this.props.placeholder || "Select an option", e.onclick = () => {
420
- var s, o;
421
- this.isLoading || (this.isOpen = !this.isOpen, (s = this.optionsListEl) == null || s.classList.toggle("open", this.isOpen), (o = this.svgContainer) == null || o.classList.toggle("open", this.isOpen));
420
+ var s, a;
421
+ this.isLoading || (this.isOpen = !this.isOpen, (s = this.optionsListEl) == null || s.classList.toggle("open", this.isOpen), (a = this.svgContainer) == null || a.classList.toggle("open", this.isOpen));
422
422
  }, t.appendChild(e), this.buttonEl = e;
423
423
  const i = document.createElement("ul");
424
- i.classList.add("select-options"), this._options.forEach((s, o) => {
425
- const a = this.createOption(s, o);
426
- a.onclick = (l) => this.selectOption(l, o, e), i.appendChild(a);
424
+ i.classList.add("select-options"), this._options.forEach((s, a) => {
425
+ const o = this.createOption(s, a);
426
+ o.onclick = (l) => this.selectOption(l, a, e), i.appendChild(o);
427
427
  }), t.appendChild(i);
428
428
  const n = document.createElement("div");
429
429
  return n.classList.add("svg-container"), n.innerHTML = $, t.appendChild(n), this.optionsListEl = i, this.svgContainer = n, this.props.getOptionsAsync && (this.isLoading = !0, this.updateButtonText(), this.props.getOptionsAsync().then((s) => {
@@ -431,15 +431,15 @@ class V extends C {
431
431
  }).catch((s) => {
432
432
  console.error("Failed to fetch async options:", s), this.isLoading = !1, this.updateButtonText("Failed to load options");
433
433
  })), this.clickOutsideListener && document.removeEventListener("click", this.clickOutsideListener), this.clickOutsideListener = (s) => {
434
- var o, a;
435
- this.isOpen && !t.contains(s.target) && (this.isOpen = !1, (o = this.optionsListEl) == null || o.classList.remove("open"), (a = this.svgContainer) == null || a.classList.remove("open"));
434
+ var a, o;
435
+ this.isOpen && !t.contains(s.target) && (this.isOpen = !1, (a = this.optionsListEl) == null || a.classList.remove("open"), (o = this.svgContainer) == null || o.classList.remove("open"));
436
436
  }, document.addEventListener("click", this.clickOutsideListener), t;
437
437
  }
438
438
  selectOption(t, e, i) {
439
- var s, o, a;
439
+ var s, a, o;
440
440
  const n = this._options[e];
441
- n && (this.value = n.value, (s = this.onChange) == null || s.call(this, this.value), this.selectedOptionIndex = e, this.isOpen = !1, i.textContent = n.name, (o = this.optionsListEl) == null || o.classList.remove("open"), (a = this.svgContainer) == null || a.classList.remove("open"), this.optionsListEl && this.optionsListEl.querySelectorAll(".select-option").forEach((c, r) => {
442
- r === e ? c.classList.add("selected") : c.classList.remove("selected");
441
+ n && (this.value = n.value, (s = this.onChange) == null || s.call(this, this.value), this.selectedOptionIndex = e, this.isOpen = !1, i.textContent = n.name, (a = this.optionsListEl) == null || a.classList.remove("open"), (o = this.svgContainer) == null || o.classList.remove("open"), this.optionsListEl && this.optionsListEl.querySelectorAll(".select-option").forEach((h, r) => {
442
+ r === e ? h.classList.add("selected") : h.classList.remove("selected");
443
443
  }));
444
444
  }
445
445
  updateOptionsList() {
@@ -516,11 +516,11 @@ class _ extends C {
516
516
  `
517
517
  }
518
518
  ].forEach((s) => {
519
- const o = document.createElement("button");
520
- o.className = "align-option-button", o.innerHTML = s.icon, this.value === s.name && o.classList.add("selected"), o.addEventListener("click", () => {
521
- var a;
522
- i.querySelectorAll(".align-option-button").forEach((l) => l.classList.remove("selected")), o.classList.add("selected"), this.value = s.name, (a = this.onChange) == null || a.call(this, this.value);
523
- }), i.appendChild(o);
519
+ const a = document.createElement("button");
520
+ a.className = "align-option-button", a.innerHTML = s.icon, this.value === s.name && a.classList.add("selected"), a.addEventListener("click", () => {
521
+ var o;
522
+ i.querySelectorAll(".align-option-button").forEach((l) => l.classList.remove("selected")), a.classList.add("selected"), this.value = s.name, (o = this.onChange) == null || o.call(this, this.value);
523
+ }), i.appendChild(a);
524
524
  }), t.appendChild(i), t;
525
525
  }
526
526
  }
@@ -537,7 +537,7 @@ class nt extends C {
537
537
  return e.className = "button-setting-wrapper " + (this.props.wrapperClassName || ""), e.appendChild(t), e;
538
538
  }
539
539
  }
540
- class ot extends C {
540
+ class at extends C {
541
541
  constructor(t = {}) {
542
542
  super(t), this.inputType = { width: "number", height: "number" }, this.aspectRatio = 1, this.isUpdating = !1;
543
543
  const e = t.width || 100, i = t.height || 100;
@@ -625,8 +625,8 @@ class ot extends C {
625
625
  return s.className = "dimension-lock-icon", s.setAttribute("type", "button"), s.setAttribute("aria-pressed", String(this.locked)), s.setAttribute(
626
626
  "aria-label",
627
627
  this.locked ? "Unlock aspect ratio" : "Lock aspect ratio"
628
- ), s.title = this.locked ? "Unlock aspect ratio" : "Lock aspect ratio", s.innerHTML = this.getLockSVG(this.locked), s.onclick = (o) => {
629
- o.preventDefault(), this.toggleLock(s);
628
+ ), s.title = this.locked ? "Unlock aspect ratio" : "Lock aspect ratio", s.innerHTML = this.getLockSVG(this.locked), s.onclick = (a) => {
629
+ a.preventDefault(), this.toggleLock(s);
630
630
  }, n.appendChild(s), t.appendChild(e), t.appendChild(n), t.appendChild(i), t;
631
631
  }
632
632
  isLocked() {
@@ -657,7 +657,7 @@ const j = `<svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBo
657
657
  <svg xmlns="http://www.w3.org/2000/svg" width="15" height="16" viewBox="0 0 15 16" fill="none">
658
658
  <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"/>
659
659
  </svg>
660
- `, T = `
660
+ `, V = `
661
661
  <svg width="91" height="71" viewBox="0 0 91 71" fill="none" xmlns="http://www.w3.org/2000/svg">
662
662
  <rect width="91" height="71" rx="4" fill="#F2F4F7"/>
663
663
  <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"/>
@@ -689,44 +689,44 @@ class F extends C {
689
689
  t.className = "upload-setting-wrapper";
690
690
  const e = !!(this.props.title || this.props.icon);
691
691
  if (e || t.classList.add("no-label"), e) {
692
- const c = document.createElement("div");
693
- if (c.className = "icon-title-container", this.props.icon) {
692
+ const h = document.createElement("div");
693
+ if (h.className = "icon-title-container", this.props.icon) {
694
694
  const r = this.createIcon(this.props.icon);
695
- c.appendChild(r);
695
+ h.appendChild(r);
696
696
  }
697
697
  if (this.props.title) {
698
698
  const r = this.createLabel(this.props.title);
699
- c.appendChild(r);
699
+ h.appendChild(r);
700
700
  }
701
- t.appendChild(c);
701
+ t.appendChild(h);
702
702
  }
703
703
  const i = document.createElement("div");
704
704
  i.className = "preview-button-container";
705
705
  const n = this.value && this.value !== "";
706
706
  n || i.classList.add("no-image");
707
707
  const s = document.createElement("div");
708
- s.className = "preview-placeholder", s.innerHTML = T, this.previewWrapper = document.createElement("div"), this.previewWrapper.className = "preview-wrapper", this.emptyStateEl = document.createElement("div"), this.emptyStateEl.className = "empty-state", this.emptyStateEl.innerHTML = T, this.previewEl = document.createElement("img"), this.previewEl.className = "upload-preview";
709
- const o = document.createElement("button");
710
- o.className = "delete-button", o.type = "button", o.title = "Delete image", o.innerHTML = q, this.previewWrapper.appendChild(this.emptyStateEl), this.previewWrapper.appendChild(this.previewEl), this.previewWrapper.appendChild(o);
708
+ s.className = "preview-placeholder", s.innerHTML = V, this.previewWrapper = document.createElement("div"), this.previewWrapper.className = "preview-wrapper", this.emptyStateEl = document.createElement("div"), this.emptyStateEl.className = "empty-state", this.emptyStateEl.innerHTML = V, this.previewEl = document.createElement("img"), this.previewEl.className = "upload-preview";
711
709
  const a = document.createElement("button");
712
- a.className = "upload-button", a.innerHTML = `
710
+ a.className = "delete-button", a.type = "button", a.title = "Delete image", a.innerHTML = q, this.previewWrapper.appendChild(this.emptyStateEl), this.previewWrapper.appendChild(this.previewEl), this.previewWrapper.appendChild(a);
711
+ const o = document.createElement("button");
712
+ o.className = "upload-button", o.innerHTML = `
713
713
  <span class="upload-icon">${y}</span>
714
714
  <span class="upload-label">Upload</span>
715
715
  `;
716
716
  const l = document.createElement("input");
717
- return l.type = "file", l.accept = "image/*", l.style.display = "none", i.appendChild(s), i.appendChild(this.previewWrapper), i.appendChild(a), t.appendChild(i), t.appendChild(l), n ? this.updatePreviewState(this.value) : this.updatePreviewState(null), o.onclick = (c) => {
717
+ return l.type = "file", l.accept = "image/*", l.style.display = "none", i.appendChild(s), i.appendChild(this.previewWrapper), i.appendChild(o), t.appendChild(i), t.appendChild(l), n ? this.updatePreviewState(this.value) : this.updatePreviewState(null), a.onclick = (h) => {
718
718
  var r;
719
- c.stopPropagation(), this.value = "", this.updatePreviewState(null), (r = this.onChange) == null || r.call(this, "");
720
- }, a.onclick = () => {
719
+ h.stopPropagation(), this.value = "", this.updatePreviewState(null), (r = this.onChange) == null || r.call(this, "");
720
+ }, o.onclick = () => {
721
721
  l.click();
722
722
  }, l.onchange = async () => {
723
723
  var r, u, p;
724
- const c = (r = l.files) == null ? void 0 : r[0];
725
- if (c)
724
+ const h = (r = l.files) == null ? void 0 : r[0];
725
+ if (h)
726
726
  try {
727
- a.classList.add("loading"), a.disabled = !0;
727
+ o.classList.add("loading"), o.disabled = !0;
728
728
  const g = new FormData(), d = this.props.formFieldName || "file";
729
- g.append(d, c, c.name);
729
+ g.append(d, h, h.name);
730
730
  const m = this.props.uploadUrl;
731
731
  if (!m)
732
732
  throw new Error("No uploadUrl provided to UploadSetting.");
@@ -735,23 +735,23 @@ class F extends C {
735
735
  body: g,
736
736
  headers: L
737
737
  })).json();
738
- let x;
738
+ let b;
739
739
  if (this.props.parseResponse)
740
- x = this.props.parseResponse(E);
741
- else if (x = (u = E == null ? void 0 : E.data) == null ? void 0 : u.url, !x)
740
+ b = this.props.parseResponse(E);
741
+ else if (b = (u = E == null ? void 0 : E.data) == null ? void 0 : u.url, !b)
742
742
  throw new Error(
743
743
  "No URL found in response. Provide a parseResponse if needed."
744
744
  );
745
- this.value = x, this.updatePreviewState(x), (p = this.onChange) == null || p.call(this, x);
745
+ this.value = b, this.updatePreviewState(b), (p = this.onChange) == null || p.call(this, b);
746
746
  } catch (g) {
747
747
  console.error("Error uploading file:", g), this.updatePreviewState(null);
748
748
  } finally {
749
- a.classList.remove("loading"), a.disabled = !1;
749
+ o.classList.remove("loading"), o.disabled = !1;
750
750
  }
751
751
  }, t;
752
752
  }
753
753
  }
754
- class at extends C {
754
+ class ot extends C {
755
755
  constructor(t = {}) {
756
756
  super(t), this.inputType = "number", this.value = this.value ?? 100, this.numberSetting = new w({
757
757
  title: "Height",
@@ -822,34 +822,34 @@ class rt extends C {
822
822
  e.classList.add("has-label");
823
823
  const s = document.createElement("div");
824
824
  s.className = "select-label", s.textContent = this.props.title, e.appendChild(s);
825
- const o = document.createElement("span");
826
- o.className = "select-value", this.isLoading ? o.textContent = this.props.loadingText || "Loading options..." : o.textContent = this.selectedOptionIndex !== null ? this._options[this.selectedOptionIndex].name : "Select an option", e.appendChild(o);
825
+ const a = document.createElement("span");
826
+ a.className = "select-value", this.isLoading ? a.textContent = this.props.loadingText || "Loading options..." : a.textContent = this.selectedOptionIndex !== null ? this._options[this.selectedOptionIndex].name : "Select an option", e.appendChild(a);
827
827
  } else {
828
828
  const s = document.createElement("span");
829
829
  this.isLoading ? s.textContent = this.props.loadingText || "Loading options..." : s.textContent = this.selectedOptionIndex !== null ? this._options[this.selectedOptionIndex].name : "Select an option", e.appendChild(s);
830
830
  }
831
831
  e.onclick = () => {
832
- var s, o;
833
- this.isLoading || (this.isOpen = !this.isOpen, (s = this.optionsListEl) == null || s.classList.toggle("open", this.isOpen), (o = this.svgContainer) == null || o.classList.toggle("open", this.isOpen));
832
+ var s, a;
833
+ this.isLoading || (this.isOpen = !this.isOpen, (s = this.optionsListEl) == null || s.classList.toggle("open", this.isOpen), (a = this.svgContainer) == null || a.classList.toggle("open", this.isOpen));
834
834
  }, t.appendChild(e), this.buttonEl = e;
835
835
  const i = document.createElement("ul");
836
- i.classList.add("select-api-options"), this._options.forEach((s, o) => {
837
- const a = this.createOption(s, o);
838
- a.onclick = (l) => this.selectApiOption(l, o, e), i.appendChild(a);
836
+ i.classList.add("select-api-options"), this._options.forEach((s, a) => {
837
+ const o = this.createOption(s, a);
838
+ o.onclick = (l) => this.selectApiOption(l, a, e), i.appendChild(o);
839
839
  }), t.appendChild(i);
840
840
  const n = document.createElement("div");
841
841
  return n.classList.add("svg-container"), n.innerHTML = D, t.appendChild(n), n.onclick = () => {
842
- var s, o;
843
- this.isLoading || (this.isOpen = !this.isOpen, (s = this.optionsListEl) == null || s.classList.toggle("open", this.isOpen), (o = this.svgContainer) == null || o.classList.toggle("open", this.isOpen));
842
+ var s, a;
843
+ this.isLoading || (this.isOpen = !this.isOpen, (s = this.optionsListEl) == null || s.classList.toggle("open", this.isOpen), (a = this.svgContainer) == null || a.classList.toggle("open", this.isOpen));
844
844
  }, this.optionsListEl = i, this.svgContainer = n, this.props.getOptionsAsync && !this.hasInitializedOptions ? (this.isLoading = !0, this.updateButtonText(), this.props.getOptionsAsync().then((s) => {
845
845
  this._options.push(...s), this.isLoading = !1, this.value !== void 0 && this.selectedOptionIndex === null && (this.selectedOptionIndex = this._options.findIndex(
846
- (o) => JSON.stringify(o.value) === JSON.stringify(this.value)
846
+ (a) => JSON.stringify(a.value) === JSON.stringify(this.value)
847
847
  )), this.updateOptionsList(), this.updateButtonText();
848
848
  }).catch((s) => {
849
849
  console.error("Failed to fetch async options:", s), this.isLoading = !1, this.updateButtonText("Failed to load options");
850
850
  })) : this.props.getOptionsAsync && this._options.length <= 1 && (this.isLoading = !0, this.updateButtonText(), this.props.getOptionsAsync().then((s) => {
851
- const o = new Set(this._options.map((l) => JSON.stringify(l.value))), a = s.filter((l) => !o.has(JSON.stringify(l.value)));
852
- this._options.push(...a), this.isLoading = !1, this.value !== void 0 && this.selectedOptionIndex === null && (this.selectedOptionIndex = this._options.findIndex(
851
+ const a = new Set(this._options.map((l) => JSON.stringify(l.value))), o = s.filter((l) => !a.has(JSON.stringify(l.value)));
852
+ this._options.push(...o), this.isLoading = !1, this.value !== void 0 && this.selectedOptionIndex === null && (this.selectedOptionIndex = this._options.findIndex(
853
853
  (l) => JSON.stringify(l.value) === JSON.stringify(this.value)
854
854
  )), this.updateOptionsList(), this.updateButtonText();
855
855
  }).catch((s) => {
@@ -857,14 +857,14 @@ class rt extends C {
857
857
  })), t;
858
858
  }
859
859
  selectApiOption(t, e, i) {
860
- var s, o;
860
+ var s, a;
861
861
  const n = this._options[e];
862
862
  if (n) {
863
- const a = n.value;
864
- this.value = a, this.onChange && this.onChange(a), this.detectChangeCallback && this.detectChangeCallback(a), this.selectedOptionIndex = e, this.isOpen = !1, this.updateButtonText(), (s = this.optionsListEl) == null || s.classList.remove("open"), (o = this.svgContainer) == null || o.classList.remove("open"), this.optionsListEl && this.optionsListEl.querySelectorAll(
863
+ const o = n.value;
864
+ this.value = o, this.onChange && this.onChange(o), this.detectChangeCallback && this.detectChangeCallback(o), this.selectedOptionIndex = e, this.isOpen = !1, this.updateButtonText(), (s = this.optionsListEl) == null || s.classList.remove("open"), (a = this.svgContainer) == null || a.classList.remove("open"), this.optionsListEl && this.optionsListEl.querySelectorAll(
865
865
  ".select-api-radio"
866
- ).forEach((c, r) => {
867
- c.checked = r === e;
866
+ ).forEach((h, r) => {
867
+ h.checked = r === e;
868
868
  });
869
869
  }
870
870
  }
@@ -890,17 +890,17 @@ class rt extends C {
890
890
  const e = this.buttonEl.querySelector(".select-value"), i = this.buttonEl.classList.contains("has-label"), n = this.buttonEl.querySelector(".select-label");
891
891
  if (this.isLoading) {
892
892
  this.buttonEl.classList.add("loading");
893
- const o = this.props.loadingText || "Loading options...";
893
+ const a = this.props.loadingText || "Loading options...";
894
894
  if (e)
895
- e.textContent = o;
895
+ e.textContent = a;
896
896
  else if (i && this.props.title && !n) {
897
897
  this.buttonEl.innerHTML = "";
898
- const a = document.createElement("div");
899
- a.className = "select-label", a.textContent = this.props.title, this.buttonEl.appendChild(a);
898
+ const o = document.createElement("div");
899
+ o.className = "select-label", o.textContent = this.props.title, this.buttonEl.appendChild(o);
900
900
  const l = document.createElement("span");
901
- l.className = "select-value", l.textContent = o, this.buttonEl.appendChild(l);
901
+ l.className = "select-value", l.textContent = a, this.buttonEl.appendChild(l);
902
902
  } else
903
- this.buttonEl.textContent = o;
903
+ this.buttonEl.textContent = a;
904
904
  return;
905
905
  }
906
906
  this.buttonEl.classList.remove("loading", "error");
@@ -909,10 +909,10 @@ class rt extends C {
909
909
  e.textContent = s;
910
910
  else if (i && this.props.title && !n) {
911
911
  this.buttonEl.innerHTML = "";
912
- const o = document.createElement("div");
913
- o.className = "select-label", o.textContent = this.props.title, this.buttonEl.appendChild(o);
914
- const a = document.createElement("span");
915
- a.className = "select-value", a.textContent = s, this.buttonEl.appendChild(a);
912
+ const a = document.createElement("div");
913
+ a.className = "select-label", a.textContent = this.props.title, this.buttonEl.appendChild(a);
914
+ const o = document.createElement("span");
915
+ o.className = "select-value", o.textContent = s, this.buttonEl.appendChild(o);
916
916
  } else
917
917
  this.buttonEl.textContent = s;
918
918
  }
@@ -929,12 +929,12 @@ class ht extends C {
929
929
  t.className = "toggle-setting-container", this.props.icon && t.classList.add("toggle-with-icon");
930
930
  const e = document.createElement("div");
931
931
  if (e.className = "toggle-label", this.props.icon) {
932
- const o = document.createElement("span");
933
- o.className = "toggle-icon", o.innerHTML = this.props.icon, e.appendChild(o);
932
+ const a = document.createElement("span");
933
+ a.className = "toggle-icon", a.innerHTML = this.props.icon, e.appendChild(a);
934
934
  }
935
935
  if (this.props.title) {
936
- const o = document.createElement("span");
937
- o.textContent = this.props.title, e.appendChild(o);
936
+ const a = document.createElement("span");
937
+ a.textContent = this.props.title, e.appendChild(a);
938
938
  }
939
939
  t.appendChild(e);
940
940
  const i = document.createElement("label");
@@ -988,9 +988,9 @@ class ct extends C {
988
988
  n.classList.add("gap-label-container");
989
989
  const s = document.createElement("div");
990
990
  s.classList.add("gap-setting-icon"), s.innerHTML = this.props.icon || Z, n.appendChild(s);
991
- const o = document.createElement("label");
992
- o.classList.add("gap-input-label"), o.textContent = t, n.appendChild(o), i.appendChild(n);
993
- const a = (u) => {
991
+ const a = document.createElement("label");
992
+ a.classList.add("gap-input-label"), a.textContent = t, n.appendChild(a), i.appendChild(n);
993
+ const o = (u) => {
994
994
  this.props.minValue !== void 0 && (u.min = String(this.props.minValue)), this.props.maxValue !== void 0 && (u.max = String(this.props.maxValue)), this.props.className && u.classList.add(this.props.className), u.addEventListener("input", () => {
995
995
  var m;
996
996
  const p = this.props.minValue ?? 0, g = this.props.maxValue ?? 100;
@@ -1002,17 +1002,58 @@ class ct extends C {
1002
1002
  inputType: this.inputType,
1003
1003
  inputClassName: "gap-setting-input " + (this.props.inputClassName || ""),
1004
1004
  wrapperClassName: "gap-setting-inner-wrapper " + (this.props.wrapperClassName || ""),
1005
- inputCustomizer: a
1005
+ inputCustomizer: o
1006
1006
  });
1007
1007
  if (!this.props.suffix || this.props.suffix === "none")
1008
1008
  return i.appendChild(l), i;
1009
1009
  l.classList.add("suffix-wrapper");
1010
- const c = l.querySelector("input.gap-setting-input");
1011
- c && (c.style.paddingRight = "35px");
1010
+ const h = l.querySelector("input.gap-setting-input");
1011
+ h && (h.style.paddingRight = "35px");
1012
1012
  const r = document.createElement("span");
1013
1013
  return r.className = "suffix-label", r.textContent = this.props.suffix, l.appendChild(r), i.appendChild(l), i;
1014
1014
  }
1015
1015
  }
1016
+ class dt extends C {
1017
+ constructor(t) {
1018
+ var e;
1019
+ if (!t.tabs)
1020
+ throw new Error("Tabs array is required for TabsSettings");
1021
+ super(t), this.inputType = "tabs", this.tabs = [], this.activeTabId = "", this.tabsContainer = null, this.contentContainer = null, this.previousTabId = "", this.tabs = t.tabs, this.activeTabId = t.activeTabId || ((e = this.tabs[0]) == null ? void 0 : e.id) || "", this.previousTabId = this.activeTabId, t.onChange && this.setOnChange(t.onChange);
1022
+ }
1023
+ draw() {
1024
+ const t = document.createElement("div");
1025
+ t.classList.add("tabs-settings-container"), this.props.className && t.classList.add(this.props.className);
1026
+ const e = document.createElement("div");
1027
+ e.classList.add("tabs-header"), this.tabsContainer = e, this.tabs.forEach((n) => {
1028
+ const s = document.createElement("button");
1029
+ s.classList.add("tab-button"), n.id === this.activeTabId && s.classList.add("active"), s.textContent = n.label, s.onclick = () => this.handleTabClick(n.id), e.appendChild(s);
1030
+ }), t.appendChild(e);
1031
+ const i = document.createElement("div");
1032
+ return i.classList.add("tab-content"), this.contentContainer = i, this.tabs.forEach((n) => {
1033
+ const s = document.createElement("div");
1034
+ s.classList.add("tab-panel"), n.id === this.activeTabId && s.classList.add("active"), n.content instanceof v ? s.appendChild(n.content.draw()) : s.appendChild(n.content), i.appendChild(s);
1035
+ }), t.appendChild(i), t;
1036
+ }
1037
+ handleTabClick(t) {
1038
+ var i, n;
1039
+ if (t === this.activeTabId) return;
1040
+ this.previousTabId = this.activeTabId, this.activeTabId = t;
1041
+ const e = (i = this.tabsContainer) == null ? void 0 : i.querySelectorAll(".tab-button");
1042
+ if (e == null || e.forEach((s) => {
1043
+ var a;
1044
+ s instanceof HTMLElement && s.classList.toggle("active", s.textContent === ((a = this.tabs.find((o) => o.id === t)) == null ? void 0 : a.label));
1045
+ }), this.contentContainer) {
1046
+ const s = this.contentContainer.querySelectorAll(".tab-panel"), a = this.tabs.findIndex((l) => l.id === this.previousTabId), o = this.tabs.findIndex((l) => l.id === t);
1047
+ s.forEach((l, h) => {
1048
+ l instanceof HTMLElement && (h === o ? (l.classList.add("active"), l.classList.remove("slide-left", "slide-right")) : h === a ? (l.classList.remove("active"), l.classList.add(o > a ? "slide-left" : "slide-right")) : l.classList.remove("active", "slide-left", "slide-right"));
1049
+ });
1050
+ }
1051
+ (n = this.onChangeCallback) == null || n.call(this, t);
1052
+ }
1053
+ setOnChange(t) {
1054
+ return this.onChangeCallback = t, this;
1055
+ }
1056
+ }
1016
1057
  const J = `
1017
1058
  <svg xmlns="http://www.w3.org/2000/svg" width="18" height="19" viewBox="0 0 18 19" fill="none">
1018
1059
  <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"/>
@@ -1022,7 +1063,7 @@ const J = `
1022
1063
  <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"/>
1023
1064
  </svg>
1024
1065
  `;
1025
- class dt extends v {
1066
+ class pt extends v {
1026
1067
  constructor(t) {
1027
1068
  super({
1028
1069
  title: "Border",
@@ -1078,7 +1119,7 @@ const X = `
1078
1119
  <path d="M6 5.75H12M9 5.75V13.25M5.85 16.25H12.15C13.4101 16.25 14.0402 16.25 14.5215 16.0048C14.9448 15.789 15.289 15.4448 15.5048 15.0215C15.75 14.5402 15.75 13.9101 15.75 12.65V6.35C15.75 5.08988 15.75 4.45982 15.5048 3.97852C15.289 3.55516 14.9448 3.21095 14.5215 2.99524C14.0402 2.75 13.4101 2.75 12.15 2.75H5.85C4.58988 2.75 3.95982 2.75 3.47852 2.99524C3.05516 3.21095 2.71095 3.55516 2.49524 3.97852C2.25 4.45982 2.25 5.08988 2.25 6.35V12.65C2.25 13.9101 2.25 14.5402 2.49524 15.0215C2.71095 15.4448 3.05516 15.789 3.47852 16.0048C3.95982 16.25 4.58988 16.25 5.85 16.25Z" stroke="#667085" stroke-linecap="round" stroke-linejoin="round"/>
1079
1120
  </svg>
1080
1121
  `;
1081
- class pt extends v {
1122
+ class ut extends v {
1082
1123
  constructor(t = {}) {
1083
1124
  super({
1084
1125
  title: t.title || "Typography",
@@ -1091,7 +1132,7 @@ class pt extends v {
1091
1132
  opacity: new M({
1092
1133
  default: t.colorOpacityDefault ?? 100
1093
1134
  }),
1094
- fontFamily: new V({
1135
+ fontFamily: new T({
1095
1136
  title: "Font",
1096
1137
  icon: X,
1097
1138
  default: t.fontFamilyDefault ?? "Satoshi",
@@ -1103,7 +1144,7 @@ class pt extends v {
1103
1144
  getOptions: t.fontFamilyGetOptions,
1104
1145
  getOptionsAsync: t.fontFamilyGetOptionsAsync
1105
1146
  }),
1106
- fontWeight: new V({
1147
+ fontWeight: new T({
1107
1148
  title: "Weight",
1108
1149
  icon: Q,
1109
1150
  default: t.fontWeightDefault ?? "400",
@@ -1129,14 +1170,14 @@ class pt extends v {
1129
1170
  });
1130
1171
  }
1131
1172
  getCssCode() {
1132
- const t = this.settings.color.value ?? "#000000", e = this.settings.opacity.value ?? 100, i = this.settings.fontFamily.value ?? "Satoshi", n = this.settings.fontWeight.value ?? "bold", s = this.settings.fontSize.value ?? 12, o = this.settings.align.value ?? "left";
1173
+ const t = this.settings.color.value ?? "#000000", e = this.settings.opacity.value ?? 100, i = this.settings.fontFamily.value ?? "Satoshi", n = this.settings.fontWeight.value ?? "bold", s = this.settings.fontSize.value ?? 12, a = this.settings.align.value ?? "left";
1133
1174
  return `
1134
1175
  color: ${t};
1135
1176
  opacity: ${e / 100};
1136
1177
  font-family: ${i};
1137
1178
  font-weight: ${n};
1138
1179
  font-size: ${s}px;
1139
- text-align: ${o};
1180
+ text-align: ${a};
1140
1181
  `;
1141
1182
  }
1142
1183
  }
@@ -1148,11 +1189,11 @@ class k extends C {
1148
1189
  }), this.inputType = "number", this.value = t.default !== void 0 ? t.default : "auto";
1149
1190
  }
1150
1191
  draw() {
1151
- const t = this.value === "auto" ? "text" : "number", e = (a) => {
1152
- this.value !== "auto" && (this.props.minValue !== void 0 && (a.min = String(this.props.minValue)), this.props.maxValue !== void 0 && (a.max = String(this.props.maxValue)), this.props.className && a.classList.add(this.props.className), a.addEventListener("input", () => {
1153
- const l = this.props.minValue ?? Number.MIN_SAFE_INTEGER, c = this.props.maxValue ?? Number.MAX_SAFE_INTEGER;
1154
- let r = Number(a.value);
1155
- r < l && (r = l), r > c && (r = c), a.value = String(r);
1192
+ const t = this.value === "auto" ? "text" : "number", e = (o) => {
1193
+ this.value !== "auto" && (this.props.minValue !== void 0 && (o.min = String(this.props.minValue)), this.props.maxValue !== void 0 && (o.max = String(this.props.maxValue)), this.props.className && o.classList.add(this.props.className), o.addEventListener("input", () => {
1194
+ const l = this.props.minValue ?? Number.MIN_SAFE_INTEGER, h = this.props.maxValue ?? Number.MAX_SAFE_INTEGER;
1195
+ let r = Number(o.value);
1196
+ r < l && (r = l), r > h && (r = h), o.value = String(r);
1156
1197
  }));
1157
1198
  }, i = this.createInput({
1158
1199
  value: this.value,
@@ -1173,20 +1214,20 @@ class k extends C {
1173
1214
  n && (n.style.paddingRight = "35px");
1174
1215
  const s = document.createElement("span");
1175
1216
  s.className = "suffix-label", s.textContent = this.props.suffix, i.appendChild(s);
1176
- const o = i.querySelector("input");
1177
- return o && (o.oninput = (a) => {
1178
- const l = a.target.value.trim();
1217
+ const a = i.querySelector("input");
1218
+ return a && (a.oninput = (o) => {
1219
+ const l = o.target.value.trim();
1179
1220
  if (l.toLowerCase() === "auto")
1180
1221
  this.value = "auto";
1181
1222
  else {
1182
- const c = Number(l);
1183
- isNaN(c) || (this.value = c);
1223
+ const h = Number(l);
1224
+ isNaN(h) || (this.value = h);
1184
1225
  }
1185
1226
  this.onChange && this.onChange(this.value);
1186
1227
  }), i;
1187
1228
  }
1188
1229
  }
1189
- class ut extends v {
1230
+ class gt extends v {
1190
1231
  constructor(t) {
1191
1232
  super({
1192
1233
  title: "Margins",
@@ -1274,16 +1315,16 @@ class st extends v {
1274
1315
  <path d="M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2"></path>
1275
1316
  </svg>
1276
1317
  `, s.onclick = () => {
1277
- var a;
1278
- return (a = this.onDeleteCallback) == null ? void 0 : a.call(this);
1318
+ var o;
1319
+ return (o = this.onDeleteCallback) == null ? void 0 : o.call(this);
1279
1320
  }, n.appendChild(s);
1280
- const o = i.querySelector("h3");
1281
- o ? o.insertAdjacentElement("afterend", n) : i.appendChild(n);
1321
+ const a = i.querySelector("h3");
1322
+ a ? a.insertAdjacentElement("afterend", n) : i.appendChild(n);
1282
1323
  }
1283
1324
  return t;
1284
1325
  }
1285
1326
  }
1286
- class gt extends v {
1327
+ class mt extends v {
1287
1328
  // Store the rendered element
1288
1329
  constructor(t) {
1289
1330
  super({
@@ -1352,7 +1393,7 @@ class gt extends v {
1352
1393
  }));
1353
1394
  }
1354
1395
  }
1355
- class mt extends v {
1396
+ class Ct extends v {
1356
1397
  /**
1357
1398
  * Constructs a new BackgroundSettingSet.
1358
1399
  *
@@ -1405,10 +1446,10 @@ class mt extends v {
1405
1446
  draw() {
1406
1447
  const t = super.draw(), e = t.querySelector(".setting-group-content");
1407
1448
  if (!e) return t;
1408
- const i = Array.from(e.children), [n, s, o, a] = i;
1449
+ const i = Array.from(e.children), [n, s, a, o] = i;
1409
1450
  e.innerHTML = "", e.appendChild(n), e.appendChild(s);
1410
1451
  const l = document.createElement("div");
1411
- return l.className = "bgset-or-label", l.textContent = "OR", e.appendChild(l), e.appendChild(o), e.appendChild(a), t;
1452
+ return l.className = "bgset-or-label", l.textContent = "OR", e.appendChild(l), e.appendChild(a), e.appendChild(o), t;
1412
1453
  }
1413
1454
  /**
1414
1455
  * Helper method to generate CSS based on the current settings.
@@ -1428,23 +1469,24 @@ class mt extends v {
1428
1469
  }
1429
1470
  export {
1430
1471
  _ as AlignSetting,
1431
- mt as BackgroundSettingSet,
1432
- dt as BorderSettingSet,
1472
+ Ct as BackgroundSettingSet,
1473
+ pt as BorderSettingSet,
1433
1474
  nt as ButtonSetting,
1434
1475
  S as ColorSetting,
1435
- ot as DimensionSetting,
1476
+ at as DimensionSetting,
1436
1477
  ct as GapSetting,
1437
- pt as HeaderTypographySettingSet,
1438
- at as HeightSetting,
1439
- ut as MarginSettingGroup,
1478
+ ut as HeaderTypographySettingSet,
1479
+ ot as HeightSetting,
1480
+ gt as MarginSettingGroup,
1440
1481
  w as NumberSetting,
1441
1482
  M as OpacitySetting,
1442
1483
  rt as SelectApiSettings,
1443
- V as SelectSetting,
1484
+ T as SelectSetting,
1444
1485
  C as Setting,
1445
1486
  v as SettingGroup,
1446
1487
  H as StringSetting,
1447
- gt as TabsContainerGroup,
1488
+ mt as TabsContainerGroup,
1489
+ dt as TabsSettings,
1448
1490
  ht as Toggle,
1449
1491
  F as UploadSetting,
1450
1492
  lt as WidthSetting,