@billgangcom/theme-lib 1.8.1 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts +2 -0
- package/dist/builder.cjs.js +3 -3
- package/dist/builder.es.js +521 -541
- package/dist/{index-C6aV8YdJ.js → index-BS_tTsUw.js} +9 -8
- package/dist/{index-aZQncUjW.cjs → index-D4KlodOJ.cjs} +2 -2
- package/dist/store/useLayersStore.d.ts +3 -7
- package/dist/ui.cjs.js +1 -1
- package/dist/ui.es.js +163 -160
- package/package.json +1 -1
package/dist/ui.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as t, I as
|
|
2
|
-
import { h as rs, i as ds, f as us, M as _s, P as ps, R as ms, e as hs, g as gs } from "./index-
|
|
1
|
+
import { j as t, I as x, a as P, c as U, S, T as q, C as J, b as D, D as et, H as st, B as K, v as E, u as nt, d as ot } from "./index-BS_tTsUw.js";
|
|
2
|
+
import { h as rs, i as ds, f as us, M as _s, P as ps, R as ms, e as hs, g as gs } from "./index-BS_tTsUw.js";
|
|
3
3
|
import v from "react";
|
|
4
4
|
const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82c_15", at = "_subtitle_1g82c_22", rt = "_alignmentContent_1g82c_29", dt = "_alignments_1g82c_35", ut = "_alignment_1g82c_8", _t = "_circle_1g82c_54", pt = "_paddings_1g82c_61", mt = "_padding_1g82c_61", ht = "_input_1g82c_79", $ = {
|
|
5
5
|
wrapper: ct,
|
|
@@ -24,7 +24,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
24
24
|
"bottom",
|
|
25
25
|
"bottomRight"
|
|
26
26
|
], xt = ["left", "top", "right", "bottom"], cs = (d) => {
|
|
27
|
-
const { alignment: s, padding: o, setPadding: c, setAlignment:
|
|
27
|
+
const { alignment: s, padding: o, setPadding: c, setAlignment: i } = d;
|
|
28
28
|
function e() {
|
|
29
29
|
switch (s) {
|
|
30
30
|
case "left":
|
|
@@ -52,13 +52,13 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
52
52
|
"div",
|
|
53
53
|
{
|
|
54
54
|
onClick: () => {
|
|
55
|
-
|
|
55
|
+
i(n);
|
|
56
56
|
},
|
|
57
57
|
className: $.alignment,
|
|
58
58
|
children: [
|
|
59
59
|
n !== s && /* @__PURE__ */ t.jsx("div", { className: $.circle }),
|
|
60
60
|
n === s && /* @__PURE__ */ t.jsx(
|
|
61
|
-
|
|
61
|
+
x,
|
|
62
62
|
{
|
|
63
63
|
name: `text-align-${e()}`,
|
|
64
64
|
fill: "#FF3F19",
|
|
@@ -72,7 +72,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
72
72
|
)) }),
|
|
73
73
|
/* @__PURE__ */ t.jsx("div", { className: $.paddings, children: xt.map((n) => /* @__PURE__ */ t.jsxs("label", { className: $.padding, children: [
|
|
74
74
|
/* @__PURE__ */ t.jsx("div", { children: /* @__PURE__ */ t.jsx(
|
|
75
|
-
|
|
75
|
+
x,
|
|
76
76
|
{
|
|
77
77
|
name: `align-${n}`,
|
|
78
78
|
width: 20,
|
|
@@ -80,13 +80,13 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
80
80
|
}
|
|
81
81
|
) }),
|
|
82
82
|
/* @__PURE__ */ t.jsx(
|
|
83
|
-
|
|
83
|
+
P,
|
|
84
84
|
{
|
|
85
85
|
type: "text",
|
|
86
86
|
value: String(o[n]),
|
|
87
|
-
onChange: (
|
|
87
|
+
onChange: (a) => c({
|
|
88
88
|
...o,
|
|
89
|
-
[n]: Number(
|
|
89
|
+
[n]: Number(a)
|
|
90
90
|
}),
|
|
91
91
|
paddingless: !0,
|
|
92
92
|
borderless: !0
|
|
@@ -115,15 +115,15 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
115
115
|
[H.active]: s.includes(c)
|
|
116
116
|
}),
|
|
117
117
|
onClick: () => {
|
|
118
|
-
const
|
|
119
|
-
if (
|
|
120
|
-
const e =
|
|
118
|
+
const i = [...s];
|
|
119
|
+
if (i.includes(c)) {
|
|
120
|
+
const e = i.filter((n) => n !== c);
|
|
121
121
|
o(e);
|
|
122
122
|
} else
|
|
123
|
-
|
|
123
|
+
i.push(c), o(i);
|
|
124
124
|
},
|
|
125
125
|
children: /* @__PURE__ */ t.jsx(
|
|
126
|
-
|
|
126
|
+
x,
|
|
127
127
|
{
|
|
128
128
|
name: `text-${c}`,
|
|
129
129
|
fill: s.includes(c) ? "#252525" : "#757575",
|
|
@@ -139,17 +139,17 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
139
139
|
typesText: s,
|
|
140
140
|
isActiveText: o,
|
|
141
141
|
setIsActiveText: c,
|
|
142
|
-
text:
|
|
142
|
+
text: i,
|
|
143
143
|
setText: e,
|
|
144
144
|
setTypesText: n,
|
|
145
|
-
title:
|
|
145
|
+
title: a,
|
|
146
146
|
subtitle: h = "Items"
|
|
147
147
|
} = d;
|
|
148
148
|
return /* @__PURE__ */ t.jsxs("div", { className: O.text, children: [
|
|
149
|
-
(
|
|
150
|
-
|
|
149
|
+
(a || o) && /* @__PURE__ */ t.jsxs("div", { className: O.top, children: [
|
|
150
|
+
a && /* @__PURE__ */ t.jsx("h3", { className: O.title, children: a }),
|
|
151
151
|
o && c && /* @__PURE__ */ t.jsx(
|
|
152
|
-
|
|
152
|
+
S,
|
|
153
153
|
{
|
|
154
154
|
current: o,
|
|
155
155
|
onChange: (j) => c(j)
|
|
@@ -162,7 +162,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
162
162
|
q,
|
|
163
163
|
{
|
|
164
164
|
onChange: (j) => e(j),
|
|
165
|
-
value:
|
|
165
|
+
value: i,
|
|
166
166
|
maxLength: 150
|
|
167
167
|
}
|
|
168
168
|
),
|
|
@@ -196,7 +196,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
196
196
|
link: Ut,
|
|
197
197
|
modalOptions: qt
|
|
198
198
|
}, Jt = (d) => {
|
|
199
|
-
const { activeItem: s, setActiveItem: o, popupPosition: c, modalOptions:
|
|
199
|
+
const { activeItem: s, setActiveItem: o, popupPosition: c, modalOptions: i } = d;
|
|
200
200
|
return /* @__PURE__ */ t.jsxs(
|
|
201
201
|
"div",
|
|
202
202
|
{
|
|
@@ -212,7 +212,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
212
212
|
/* @__PURE__ */ t.jsxs("div", { className: f.top, children: [
|
|
213
213
|
/* @__PURE__ */ t.jsx("h3", { children: s.name }),
|
|
214
214
|
/* @__PURE__ */ t.jsx(
|
|
215
|
-
|
|
215
|
+
x,
|
|
216
216
|
{
|
|
217
217
|
name: "x",
|
|
218
218
|
height: 20,
|
|
@@ -222,18 +222,18 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
222
222
|
}
|
|
223
223
|
)
|
|
224
224
|
] }),
|
|
225
|
-
/* @__PURE__ */ t.jsx("div", { className: f.modalOptions, children:
|
|
225
|
+
/* @__PURE__ */ t.jsx("div", { className: f.modalOptions, children: i.map((e) => {
|
|
226
226
|
if (e.type === "image")
|
|
227
227
|
return /* @__PURE__ */ t.jsx(
|
|
228
228
|
J,
|
|
229
229
|
{
|
|
230
230
|
label: "Put up an attractive image",
|
|
231
231
|
onChange: (n) => {
|
|
232
|
-
const
|
|
232
|
+
const a = {
|
|
233
233
|
...s,
|
|
234
234
|
[e.field]: n[0]
|
|
235
235
|
};
|
|
236
|
-
o(
|
|
236
|
+
o(a);
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
);
|
|
@@ -243,33 +243,33 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
243
243
|
{
|
|
244
244
|
typesText: s[e.field.type],
|
|
245
245
|
setTypesText: (n) => {
|
|
246
|
-
const
|
|
246
|
+
const a = {
|
|
247
247
|
...s,
|
|
248
248
|
[e.field.type]: n
|
|
249
249
|
};
|
|
250
|
-
o(
|
|
250
|
+
o(a);
|
|
251
251
|
},
|
|
252
252
|
text: s[e.field.text] || "",
|
|
253
253
|
setText: (n) => {
|
|
254
|
-
const
|
|
254
|
+
const a = {
|
|
255
255
|
...s,
|
|
256
256
|
[e.field.text]: n
|
|
257
257
|
};
|
|
258
|
-
o(
|
|
258
|
+
o(a);
|
|
259
259
|
},
|
|
260
260
|
subtitle: e.label
|
|
261
261
|
}
|
|
262
262
|
);
|
|
263
263
|
if (e.type === "input")
|
|
264
264
|
return /* @__PURE__ */ t.jsx(
|
|
265
|
-
|
|
265
|
+
P,
|
|
266
266
|
{
|
|
267
267
|
onChange: (n) => {
|
|
268
|
-
const
|
|
268
|
+
const a = {
|
|
269
269
|
...s,
|
|
270
270
|
[e.field]: n
|
|
271
271
|
};
|
|
272
|
-
o(
|
|
272
|
+
o(a);
|
|
273
273
|
},
|
|
274
274
|
value: s[e.field] || "",
|
|
275
275
|
label: e.label,
|
|
@@ -279,14 +279,14 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
279
279
|
if (e.type === "inputSwitch")
|
|
280
280
|
return /* @__PURE__ */ t.jsxs("div", { className: f.link, children: [
|
|
281
281
|
/* @__PURE__ */ t.jsx(
|
|
282
|
-
|
|
282
|
+
P,
|
|
283
283
|
{
|
|
284
284
|
onChange: (n) => {
|
|
285
|
-
const
|
|
285
|
+
const a = {
|
|
286
286
|
...s,
|
|
287
287
|
[e.field.text]: n
|
|
288
288
|
};
|
|
289
|
-
o(
|
|
289
|
+
o(a);
|
|
290
290
|
},
|
|
291
291
|
value: s[e.field.text] || "",
|
|
292
292
|
label: e.inputLabel,
|
|
@@ -294,16 +294,16 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
294
294
|
}
|
|
295
295
|
),
|
|
296
296
|
/* @__PURE__ */ t.jsx(
|
|
297
|
-
|
|
297
|
+
S,
|
|
298
298
|
{
|
|
299
299
|
current: !!s[e.field.switch] || !1,
|
|
300
300
|
label: e.switchLabel,
|
|
301
301
|
onChange: (n) => {
|
|
302
|
-
const
|
|
302
|
+
const a = {
|
|
303
303
|
...s,
|
|
304
304
|
[e.field.switch]: n
|
|
305
305
|
};
|
|
306
|
-
o(
|
|
306
|
+
o(a);
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
)
|
|
@@ -314,11 +314,11 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
314
314
|
{
|
|
315
315
|
items: s[e.field] || [],
|
|
316
316
|
setItems: (n) => {
|
|
317
|
-
const
|
|
317
|
+
const a = {
|
|
318
318
|
...s,
|
|
319
319
|
[e.field]: n
|
|
320
320
|
};
|
|
321
|
-
o(
|
|
321
|
+
o(a);
|
|
322
322
|
},
|
|
323
323
|
itemsType: "select",
|
|
324
324
|
draggable: e.draggable || !1,
|
|
@@ -334,11 +334,11 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
334
334
|
{
|
|
335
335
|
options: e.itemsOptions,
|
|
336
336
|
onChange: (n) => {
|
|
337
|
-
const
|
|
337
|
+
const a = {
|
|
338
338
|
...s,
|
|
339
339
|
[e.field]: n
|
|
340
340
|
};
|
|
341
|
-
o(
|
|
341
|
+
o(a);
|
|
342
342
|
},
|
|
343
343
|
label: e.label,
|
|
344
344
|
value: s[e.field] || "String"
|
|
@@ -357,10 +357,10 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
357
357
|
return /* @__PURE__ */ t.jsxs("div", { className: M.other, children: [
|
|
358
358
|
/* @__PURE__ */ t.jsx("h5", { className: M.subtitle, children: o }),
|
|
359
359
|
/* @__PURE__ */ t.jsx("div", { className: M.items, children: s.map((c) => /* @__PURE__ */ t.jsx(
|
|
360
|
-
|
|
360
|
+
S,
|
|
361
361
|
{
|
|
362
362
|
current: c.isItem,
|
|
363
|
-
onChange: (
|
|
363
|
+
onChange: (i) => c.setIsItem(i),
|
|
364
364
|
label: c.label,
|
|
365
365
|
hasBackground: !0,
|
|
366
366
|
paddingless: !1
|
|
@@ -368,22 +368,22 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
368
368
|
)) })
|
|
369
369
|
] });
|
|
370
370
|
}, Xt = (d) => {
|
|
371
|
-
const { index: s, moveProduct: o, children: c } = d, [,
|
|
371
|
+
const { index: s, moveProduct: o, children: c } = d, [, i] = nt({
|
|
372
372
|
accept: "product",
|
|
373
|
-
hover(
|
|
374
|
-
|
|
373
|
+
hover(a) {
|
|
374
|
+
a.index !== s && (o(a.index, s), a.index = s);
|
|
375
375
|
}
|
|
376
376
|
}), [{ isDragging: e }, n] = ot({
|
|
377
377
|
type: "product",
|
|
378
378
|
item: { index: s },
|
|
379
|
-
collect: (
|
|
380
|
-
isDragging:
|
|
379
|
+
collect: (a) => ({
|
|
380
|
+
isDragging: a.isDragging()
|
|
381
381
|
})
|
|
382
382
|
});
|
|
383
383
|
return /* @__PURE__ */ t.jsx(
|
|
384
384
|
"div",
|
|
385
385
|
{
|
|
386
|
-
ref: (
|
|
386
|
+
ref: (a) => n(i(a)),
|
|
387
387
|
className: `${f.product} ${e ? f.dragging : ""}`,
|
|
388
388
|
children: c
|
|
389
389
|
}
|
|
@@ -393,63 +393,63 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
393
393
|
isActiveItems: s,
|
|
394
394
|
setIsActiveItems: o,
|
|
395
395
|
items: c,
|
|
396
|
-
setItems:
|
|
396
|
+
setItems: i,
|
|
397
397
|
other: e,
|
|
398
398
|
title: n,
|
|
399
|
-
subtitle:
|
|
399
|
+
subtitle: a,
|
|
400
400
|
editable: h = !0,
|
|
401
401
|
draggable: j = !1,
|
|
402
402
|
withImage: r = !1,
|
|
403
403
|
deletable: p = !0,
|
|
404
404
|
addable: u = !0,
|
|
405
405
|
itemsType: k,
|
|
406
|
-
itemsPlaceholder:
|
|
406
|
+
itemsPlaceholder: b = "",
|
|
407
407
|
itemsOptions: _,
|
|
408
408
|
hasRangeSelector: R = !1,
|
|
409
409
|
rangeSelectorOptions: F,
|
|
410
410
|
modalOptions: G,
|
|
411
411
|
addableOptions: z = {}
|
|
412
|
-
} = d, [C,
|
|
412
|
+
} = d, [C, T] = v.useState(null), [V, W] = v.useState({
|
|
413
413
|
top: 0,
|
|
414
414
|
left: 0
|
|
415
|
-
}), X = (
|
|
416
|
-
const w = [...c], [
|
|
417
|
-
w.splice(y, 0,
|
|
415
|
+
}), X = (l, y) => {
|
|
416
|
+
const w = [...c], [g] = w.splice(l, 1);
|
|
417
|
+
w.splice(y, 0, g), i(w);
|
|
418
418
|
};
|
|
419
419
|
v.useEffect(() => {
|
|
420
|
-
const
|
|
421
|
-
|
|
420
|
+
const l = () => {
|
|
421
|
+
T(null);
|
|
422
422
|
};
|
|
423
|
-
return document.body.addEventListener("click",
|
|
424
|
-
|
|
423
|
+
return document.body.addEventListener("click", l), T(null), () => {
|
|
424
|
+
T(null), document.body.removeEventListener("click", l);
|
|
425
425
|
};
|
|
426
426
|
}, []), v.useEffect(() => {
|
|
427
427
|
if (C) {
|
|
428
|
-
const
|
|
429
|
-
l
|
|
428
|
+
const l = [...c].map((y) => y.id === C.id ? C : y);
|
|
429
|
+
i(l);
|
|
430
430
|
}
|
|
431
431
|
}, [C]);
|
|
432
|
-
const Z = (
|
|
433
|
-
|
|
434
|
-
const w =
|
|
432
|
+
const Z = (l, y) => {
|
|
433
|
+
l.stopPropagation();
|
|
434
|
+
const w = l.target.getBoundingClientRect(), g = 100, A = window.innerHeight;
|
|
435
435
|
let B = w.top + window.scrollY;
|
|
436
|
-
B +
|
|
436
|
+
B + g > A && (B = A - g - 20), W({
|
|
437
437
|
top: B - 80,
|
|
438
438
|
left: w.left - 30
|
|
439
|
-
}),
|
|
439
|
+
}), T(y);
|
|
440
440
|
};
|
|
441
|
-
function tt(
|
|
441
|
+
function tt(l) {
|
|
442
442
|
if (r)
|
|
443
|
-
return
|
|
443
|
+
return l ? /* @__PURE__ */ t.jsx(
|
|
444
444
|
"img",
|
|
445
445
|
{
|
|
446
|
-
src: `https://imagedelivery.net/${
|
|
446
|
+
src: `https://imagedelivery.net/${l}/w=1000`,
|
|
447
447
|
alt: "image",
|
|
448
448
|
width: 16,
|
|
449
449
|
height: 16
|
|
450
450
|
}
|
|
451
451
|
) : /* @__PURE__ */ t.jsx(
|
|
452
|
-
|
|
452
|
+
x,
|
|
453
453
|
{
|
|
454
454
|
name: "image",
|
|
455
455
|
width: 16,
|
|
@@ -458,10 +458,10 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
458
458
|
}
|
|
459
459
|
);
|
|
460
460
|
}
|
|
461
|
-
const Y = (
|
|
461
|
+
const Y = (l, y) => {
|
|
462
462
|
const w = /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
|
|
463
463
|
j && /* @__PURE__ */ t.jsx("div", { children: /* @__PURE__ */ t.jsx(
|
|
464
|
-
|
|
464
|
+
x,
|
|
465
465
|
{
|
|
466
466
|
name: "drag",
|
|
467
467
|
hoverable: !0,
|
|
@@ -472,64 +472,67 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
472
472
|
k === "select" && /* @__PURE__ */ t.jsx(
|
|
473
473
|
D,
|
|
474
474
|
{
|
|
475
|
-
onChange: (
|
|
476
|
-
const B = [...c].map((N) => N.id ===
|
|
477
|
-
...
|
|
478
|
-
name:
|
|
475
|
+
onChange: (g) => {
|
|
476
|
+
const B = [...c].map((N) => N.id === l.id ? {
|
|
477
|
+
...l,
|
|
478
|
+
name: g
|
|
479
479
|
} : N);
|
|
480
|
-
|
|
480
|
+
T({
|
|
481
|
+
...l,
|
|
482
|
+
name: g
|
|
483
|
+
}), i([...B]);
|
|
481
484
|
},
|
|
482
|
-
value:
|
|
485
|
+
value: l.name,
|
|
483
486
|
options: _,
|
|
484
|
-
leftAddon: tt(
|
|
487
|
+
leftAddon: tt(l.image)
|
|
485
488
|
}
|
|
486
489
|
),
|
|
487
490
|
k === "input" && /* @__PURE__ */ t.jsx(
|
|
488
|
-
|
|
491
|
+
P,
|
|
489
492
|
{
|
|
490
|
-
onChange: (
|
|
491
|
-
const B = [...c].map((N) => N.id ===
|
|
492
|
-
...
|
|
493
|
-
name:
|
|
493
|
+
onChange: (g) => {
|
|
494
|
+
const B = [...c].map((N) => N.id === l.id ? {
|
|
495
|
+
...l,
|
|
496
|
+
name: g
|
|
494
497
|
} : N);
|
|
495
|
-
|
|
498
|
+
i([...B]);
|
|
496
499
|
},
|
|
497
|
-
value:
|
|
498
|
-
placeholder:
|
|
500
|
+
value: l.name,
|
|
501
|
+
placeholder: b
|
|
499
502
|
}
|
|
500
503
|
),
|
|
501
504
|
k === "image" && /* @__PURE__ */ t.jsx(
|
|
502
505
|
J,
|
|
503
506
|
{
|
|
504
|
-
onChange: (
|
|
505
|
-
const B = [...c].map((N) => N.id ===
|
|
506
|
-
...
|
|
507
|
-
image:
|
|
507
|
+
onChange: (g) => {
|
|
508
|
+
const B = [...c].map((N) => N.id === l.id ? {
|
|
509
|
+
...l,
|
|
510
|
+
image: g[0]
|
|
508
511
|
} : N);
|
|
509
|
-
|
|
512
|
+
i([...B]);
|
|
510
513
|
}
|
|
511
514
|
}
|
|
512
515
|
),
|
|
513
516
|
/* @__PURE__ */ t.jsxs("div", { className: f.buttons, children: [
|
|
514
517
|
h && /* @__PURE__ */ t.jsx(
|
|
515
|
-
|
|
518
|
+
x,
|
|
516
519
|
{
|
|
517
520
|
name: "sliders",
|
|
518
521
|
hoverable: !0,
|
|
519
522
|
width: 20,
|
|
520
523
|
height: 20,
|
|
521
|
-
onClick: (
|
|
524
|
+
onClick: (g) => Z(g, l)
|
|
522
525
|
}
|
|
523
526
|
),
|
|
524
527
|
p && /* @__PURE__ */ t.jsx(
|
|
525
|
-
|
|
528
|
+
x,
|
|
526
529
|
{
|
|
527
530
|
name: "trash",
|
|
528
531
|
hoverable: !0,
|
|
529
532
|
width: 20,
|
|
530
533
|
height: 20,
|
|
531
534
|
fill: "#C12A2A",
|
|
532
|
-
onClick: () =>
|
|
535
|
+
onClick: () => i(c.filter((g) => g.id !== l.id))
|
|
533
536
|
}
|
|
534
537
|
)
|
|
535
538
|
] })
|
|
@@ -537,29 +540,29 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
537
540
|
return j ? /* @__PURE__ */ t.jsx(
|
|
538
541
|
Xt,
|
|
539
542
|
{
|
|
540
|
-
product:
|
|
543
|
+
product: l,
|
|
541
544
|
index: y,
|
|
542
545
|
moveProduct: X,
|
|
543
546
|
children: w
|
|
544
547
|
},
|
|
545
|
-
|
|
548
|
+
l.id
|
|
546
549
|
) : /* @__PURE__ */ t.jsx(
|
|
547
550
|
"div",
|
|
548
551
|
{
|
|
549
552
|
className: f.product,
|
|
550
553
|
children: w
|
|
551
554
|
},
|
|
552
|
-
|
|
555
|
+
l.id
|
|
553
556
|
);
|
|
554
557
|
};
|
|
555
558
|
return /* @__PURE__ */ t.jsxs("div", { className: f.productsBlock, children: [
|
|
556
559
|
(n || s !== void 0) && /* @__PURE__ */ t.jsxs("div", { className: f.top, children: [
|
|
557
560
|
n && /* @__PURE__ */ t.jsx("h3", { className: f.title, children: n }),
|
|
558
561
|
s !== void 0 && /* @__PURE__ */ t.jsx(
|
|
559
|
-
|
|
562
|
+
S,
|
|
560
563
|
{
|
|
561
564
|
current: s,
|
|
562
|
-
onChange: (
|
|
565
|
+
onChange: (l) => o == null ? void 0 : o(l)
|
|
563
566
|
}
|
|
564
567
|
)
|
|
565
568
|
] }),
|
|
@@ -567,40 +570,40 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
567
570
|
Jt,
|
|
568
571
|
{
|
|
569
572
|
activeItem: C,
|
|
570
|
-
setActiveItem:
|
|
573
|
+
setActiveItem: T,
|
|
571
574
|
popupPosition: V,
|
|
572
575
|
modalOptions: G
|
|
573
576
|
}
|
|
574
577
|
),
|
|
575
578
|
R && F && /* @__PURE__ */ t.jsx(ss, { ...F }),
|
|
576
579
|
/* @__PURE__ */ t.jsxs("div", { className: f.products, children: [
|
|
577
|
-
|
|
578
|
-
j ? /* @__PURE__ */ t.jsx(et, { backend: st, children: c.map((
|
|
580
|
+
a && /* @__PURE__ */ t.jsx("h5", { className: f.subtitle, children: a }),
|
|
581
|
+
j ? /* @__PURE__ */ t.jsx(et, { backend: st, children: c.map((l, y) => Y(l, y)) }) : c.map((l, y) => Y(l, y)),
|
|
579
582
|
u && /* @__PURE__ */ t.jsxs(
|
|
580
583
|
K,
|
|
581
584
|
{
|
|
582
585
|
className: f.button,
|
|
583
586
|
size: "s",
|
|
584
587
|
onClick: () => {
|
|
585
|
-
const
|
|
586
|
-
k === "select" ?
|
|
588
|
+
const l = [...c];
|
|
589
|
+
k === "select" ? l.push({
|
|
587
590
|
name: _[0] || `Product ${c.length + 1}`,
|
|
588
591
|
id: E(),
|
|
589
592
|
...z
|
|
590
|
-
}) : k === "input" ?
|
|
593
|
+
}) : k === "input" ? l.push({
|
|
591
594
|
name: "",
|
|
592
595
|
id: E(),
|
|
593
596
|
...z
|
|
594
|
-
}) :
|
|
597
|
+
}) : l.push({
|
|
595
598
|
name: `Image ${c.length + 1}`,
|
|
596
599
|
id: E(),
|
|
597
600
|
...z
|
|
598
|
-
}), l
|
|
601
|
+
}), i(l);
|
|
599
602
|
},
|
|
600
603
|
children: [
|
|
601
604
|
/* @__PURE__ */ t.jsx("span", { children: "Add Option" }),
|
|
602
605
|
/* @__PURE__ */ t.jsx(
|
|
603
|
-
|
|
606
|
+
x,
|
|
604
607
|
{
|
|
605
608
|
name: "plus",
|
|
606
609
|
width: 16,
|
|
@@ -613,7 +616,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
613
616
|
] }),
|
|
614
617
|
e !== void 0 && /* @__PURE__ */ t.jsx(Wt, { items: e })
|
|
615
618
|
] });
|
|
616
|
-
}, te = "_subtitle_41klp_1", ee = "_header_41klp_8", se = "_text_41klp_9", ne = "_productsBlock_41klp_10", oe = "_buttonsBlock_41klp_11", ce = "_top_41klp_21", le = "_itemsBlock_41klp_28", ie = "_typeTexts_41klp_34", ae = "_block_41klp_40", re = "_active_41klp_51", de = "_products_41klp_10", ue = "_product_41klp_10", _e = "_button_41klp_11", pe = "_image_41klp_79", me = "_info_41klp_86", he = "_name_41klp_97", ge = "_buttons_41klp_11", xe = "_modal_41klp_107", be = "_other_41klp_124", fe = "_options_41klp_130",
|
|
619
|
+
}, te = "_subtitle_41klp_1", ee = "_header_41klp_8", se = "_text_41klp_9", ne = "_productsBlock_41klp_10", oe = "_buttonsBlock_41klp_11", ce = "_top_41klp_21", le = "_itemsBlock_41klp_28", ie = "_typeTexts_41klp_34", ae = "_block_41klp_40", re = "_active_41klp_51", de = "_products_41klp_10", ue = "_product_41klp_10", _e = "_button_41klp_11", pe = "_image_41klp_79", me = "_info_41klp_86", he = "_name_41klp_97", ge = "_buttons_41klp_11", xe = "_modal_41klp_107", be = "_other_41klp_124", fe = "_options_41klp_130", I = {
|
|
617
620
|
subtitle: te,
|
|
618
621
|
header: ee,
|
|
619
622
|
text: se,
|
|
@@ -635,7 +638,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
635
638
|
other: be,
|
|
636
639
|
options: fe
|
|
637
640
|
}, ve = (d) => {
|
|
638
|
-
const { activeButton: s, setActiveButton: o, popupPosition: c } = d, [
|
|
641
|
+
const { activeButton: s, setActiveButton: o, popupPosition: c } = d, [i, e] = v.useState(s.typesText), [n, a] = v.useState(s.destination), [h, j] = v.useState(s.link || ""), [r, p] = v.useState(s.text || "");
|
|
639
642
|
return v.useEffect(() => {
|
|
640
643
|
o({
|
|
641
644
|
...s,
|
|
@@ -643,13 +646,13 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
643
646
|
text: r,
|
|
644
647
|
link: h,
|
|
645
648
|
destination: n,
|
|
646
|
-
typesText:
|
|
649
|
+
typesText: i
|
|
647
650
|
}
|
|
648
651
|
});
|
|
649
|
-
}, [
|
|
652
|
+
}, [i, n, h, r]), /* @__PURE__ */ t.jsxs(
|
|
650
653
|
"div",
|
|
651
654
|
{
|
|
652
|
-
className:
|
|
655
|
+
className: I.modal,
|
|
653
656
|
onClick: (u) => {
|
|
654
657
|
u.stopPropagation();
|
|
655
658
|
},
|
|
@@ -658,10 +661,10 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
658
661
|
left: `${c.left}px`
|
|
659
662
|
},
|
|
660
663
|
children: [
|
|
661
|
-
/* @__PURE__ */ t.jsxs("div", { className:
|
|
664
|
+
/* @__PURE__ */ t.jsxs("div", { className: I.top, children: [
|
|
662
665
|
/* @__PURE__ */ t.jsx("h3", { children: s.type }),
|
|
663
666
|
/* @__PURE__ */ t.jsx(
|
|
664
|
-
|
|
667
|
+
x,
|
|
665
668
|
{
|
|
666
669
|
name: "x",
|
|
667
670
|
height: 20,
|
|
@@ -671,12 +674,12 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
671
674
|
}
|
|
672
675
|
)
|
|
673
676
|
] }),
|
|
674
|
-
/* @__PURE__ */ t.jsxs("div", { className:
|
|
677
|
+
/* @__PURE__ */ t.jsxs("div", { className: I.options, children: [
|
|
675
678
|
/* @__PURE__ */ t.jsx(
|
|
676
679
|
D,
|
|
677
680
|
{
|
|
678
681
|
label: "Destination",
|
|
679
|
-
onChange: (u) =>
|
|
682
|
+
onChange: (u) => a(u),
|
|
680
683
|
options: ["Go to Page", "Open Link"],
|
|
681
684
|
value: n
|
|
682
685
|
}
|
|
@@ -691,7 +694,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
691
694
|
value: "Homepage"
|
|
692
695
|
}
|
|
693
696
|
) : /* @__PURE__ */ t.jsx(
|
|
694
|
-
|
|
697
|
+
P,
|
|
695
698
|
{
|
|
696
699
|
onChange: (u) => j(u),
|
|
697
700
|
value: h,
|
|
@@ -700,7 +703,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
700
703
|
}
|
|
701
704
|
),
|
|
702
705
|
/* @__PURE__ */ t.jsx(
|
|
703
|
-
|
|
706
|
+
S,
|
|
704
707
|
{
|
|
705
708
|
current: !1,
|
|
706
709
|
label: "Open in new tab"
|
|
@@ -718,7 +721,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
718
721
|
/* @__PURE__ */ t.jsx(
|
|
719
722
|
Q,
|
|
720
723
|
{
|
|
721
|
-
typesText:
|
|
724
|
+
typesText: i,
|
|
722
725
|
setTypesText: e
|
|
723
726
|
}
|
|
724
727
|
)
|
|
@@ -748,7 +751,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
748
751
|
other: ze,
|
|
749
752
|
options: He
|
|
750
753
|
}, Me = (d) => {
|
|
751
|
-
const { buttons: s, setButtons: o, deletable: c = !0, addable:
|
|
754
|
+
const { buttons: s, setButtons: o, deletable: c = !0, addable: i = !0 } = d, [e, n] = v.useState(null), [a, h] = v.useState({
|
|
752
755
|
top: 0,
|
|
753
756
|
left: 0
|
|
754
757
|
});
|
|
@@ -764,12 +767,12 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
764
767
|
const r = [...s].map((p) => p.id === e.id ? e : p);
|
|
765
768
|
o(r);
|
|
766
769
|
}
|
|
767
|
-
}, [e])
|
|
770
|
+
}, [e]);
|
|
768
771
|
const j = (r, p) => {
|
|
769
772
|
r.stopPropagation();
|
|
770
|
-
const u = r.target.getBoundingClientRect(), k = 490,
|
|
773
|
+
const u = r.target.getBoundingClientRect(), k = 490, b = window.innerHeight;
|
|
771
774
|
let _ = u.top + window.scrollY;
|
|
772
|
-
_ + k >
|
|
775
|
+
_ + k > b && (_ = b - k - 20), h({
|
|
773
776
|
top: _,
|
|
774
777
|
left: u.left - 30
|
|
775
778
|
}), n(p);
|
|
@@ -785,10 +788,10 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
785
788
|
D,
|
|
786
789
|
{
|
|
787
790
|
onChange: (p) => {
|
|
788
|
-
const k = [...s].map((
|
|
791
|
+
const k = [...s].map((b) => b.id === r.id ? {
|
|
789
792
|
...r,
|
|
790
793
|
type: p
|
|
791
|
-
} :
|
|
794
|
+
} : b);
|
|
792
795
|
o(k);
|
|
793
796
|
},
|
|
794
797
|
value: r.type,
|
|
@@ -797,7 +800,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
797
800
|
),
|
|
798
801
|
/* @__PURE__ */ t.jsxs("div", { className: L.buttons, children: [
|
|
799
802
|
/* @__PURE__ */ t.jsx(
|
|
800
|
-
|
|
803
|
+
x,
|
|
801
804
|
{
|
|
802
805
|
name: "sliders",
|
|
803
806
|
hoverable: !0,
|
|
@@ -809,7 +812,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
809
812
|
}
|
|
810
813
|
),
|
|
811
814
|
c && /* @__PURE__ */ t.jsx(
|
|
812
|
-
|
|
815
|
+
x,
|
|
813
816
|
{
|
|
814
817
|
name: "trash",
|
|
815
818
|
hoverable: !0,
|
|
@@ -832,10 +835,10 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
832
835
|
{
|
|
833
836
|
activeButton: e,
|
|
834
837
|
setActiveButton: n,
|
|
835
|
-
popupPosition:
|
|
838
|
+
popupPosition: a
|
|
836
839
|
}
|
|
837
840
|
),
|
|
838
|
-
|
|
841
|
+
i && /* @__PURE__ */ t.jsxs(
|
|
839
842
|
K,
|
|
840
843
|
{
|
|
841
844
|
className: L.button,
|
|
@@ -853,7 +856,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
853
856
|
children: [
|
|
854
857
|
/* @__PURE__ */ t.jsx("span", { children: "Add Option" }),
|
|
855
858
|
/* @__PURE__ */ t.jsx(
|
|
856
|
-
|
|
859
|
+
x,
|
|
857
860
|
{
|
|
858
861
|
name: "plus",
|
|
859
862
|
width: 16,
|
|
@@ -865,12 +868,12 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
865
868
|
)
|
|
866
869
|
] });
|
|
867
870
|
}, ls = (d) => {
|
|
868
|
-
const { isActiveButtons: s, setIsActiveButtons: o, buttons: c, setButtons:
|
|
869
|
-
return /* @__PURE__ */ t.jsx(t.Fragment, { children: /* @__PURE__ */ t.jsxs("div", { className:
|
|
870
|
-
/* @__PURE__ */ t.jsxs("div", { className:
|
|
871
|
-
/* @__PURE__ */ t.jsx("h3", { className:
|
|
871
|
+
const { isActiveButtons: s, setIsActiveButtons: o, buttons: c, setButtons: i } = d;
|
|
872
|
+
return /* @__PURE__ */ t.jsx(t.Fragment, { children: /* @__PURE__ */ t.jsxs("div", { className: I.buttonsBlock, children: [
|
|
873
|
+
/* @__PURE__ */ t.jsxs("div", { className: I.top, children: [
|
|
874
|
+
/* @__PURE__ */ t.jsx("h3", { className: I.title, children: "Buttons" }),
|
|
872
875
|
/* @__PURE__ */ t.jsx(
|
|
873
|
-
|
|
876
|
+
S,
|
|
874
877
|
{
|
|
875
878
|
current: s,
|
|
876
879
|
onChange: (e) => o(e)
|
|
@@ -881,7 +884,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
881
884
|
Me,
|
|
882
885
|
{
|
|
883
886
|
buttons: c,
|
|
884
|
-
setButtons:
|
|
887
|
+
setButtons: i
|
|
885
888
|
}
|
|
886
889
|
)
|
|
887
890
|
] }) });
|
|
@@ -901,12 +904,12 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
901
904
|
controls: ts,
|
|
902
905
|
button: es
|
|
903
906
|
}, ss = (d) => {
|
|
904
|
-
const { label: s, min: o = 1, max: c = 4, step:
|
|
905
|
-
e < c && n(e +
|
|
907
|
+
const { label: s, min: o = 1, max: c = 4, step: i = 1, count: e, setCount: n } = d, [a, h] = v.useState(!1), j = Array.from({ length: (c - o) / i + 1 }), r = (e - o) / (c - o) * 100, p = () => {
|
|
908
|
+
e < c && n(e + i);
|
|
906
909
|
}, u = () => {
|
|
907
|
-
e > o && n(e -
|
|
908
|
-
}, k = (
|
|
909
|
-
const _ = o +
|
|
910
|
+
e > o && n(e - i);
|
|
911
|
+
}, k = (b) => {
|
|
912
|
+
const _ = o + b * i;
|
|
910
913
|
n(_);
|
|
911
914
|
};
|
|
912
915
|
return /* @__PURE__ */ t.jsxs("div", { className: m.wrapper, children: [
|
|
@@ -921,8 +924,8 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
921
924
|
style: { width: `${r}%` }
|
|
922
925
|
}
|
|
923
926
|
),
|
|
924
|
-
/* @__PURE__ */ t.jsx("div", { className: m.dots, children: j.map((
|
|
925
|
-
const R = _ <= (e - o) /
|
|
927
|
+
/* @__PURE__ */ t.jsx("div", { className: m.dots, children: j.map((b, _) => {
|
|
928
|
+
const R = _ <= (e - o) / i;
|
|
926
929
|
return /* @__PURE__ */ t.jsx(
|
|
927
930
|
"button",
|
|
928
931
|
{
|
|
@@ -930,9 +933,9 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
930
933
|
className: U(m.dot, {
|
|
931
934
|
[m.active]: R,
|
|
932
935
|
[m.inactive]: !R,
|
|
933
|
-
[m.dragging]:
|
|
936
|
+
[m.dragging]: a
|
|
934
937
|
}),
|
|
935
|
-
"aria-label": `Set value to ${o + _ *
|
|
938
|
+
"aria-label": `Set value to ${o + _ * i}`
|
|
936
939
|
},
|
|
937
940
|
_
|
|
938
941
|
);
|
|
@@ -943,9 +946,9 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
943
946
|
type: "range",
|
|
944
947
|
min: o,
|
|
945
948
|
max: c,
|
|
946
|
-
step:
|
|
949
|
+
step: i,
|
|
947
950
|
value: e,
|
|
948
|
-
onChange: (
|
|
951
|
+
onChange: (b) => n(Number(b.target.value)),
|
|
949
952
|
onMouseDown: () => h(!0),
|
|
950
953
|
onMouseUp: () => h(!1),
|
|
951
954
|
onTouchStart: () => h(!0),
|
|
@@ -956,14 +959,14 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
956
959
|
] }),
|
|
957
960
|
/* @__PURE__ */ t.jsxs("div", { className: m.countBlock, children: [
|
|
958
961
|
/* @__PURE__ */ t.jsx(
|
|
959
|
-
|
|
962
|
+
P,
|
|
960
963
|
{
|
|
961
964
|
type: "number",
|
|
962
965
|
min: o,
|
|
963
966
|
max: c,
|
|
964
967
|
paddingless: !0,
|
|
965
|
-
onChange: (
|
|
966
|
-
const _ = Number(
|
|
968
|
+
onChange: (b) => {
|
|
969
|
+
const _ = Number(b);
|
|
967
970
|
_ > c ? n(c) : _ < o ? n(o) : n(_);
|
|
968
971
|
},
|
|
969
972
|
value: String(e)
|
|
@@ -978,7 +981,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
978
981
|
className: m.button,
|
|
979
982
|
"aria-label": "Increment count",
|
|
980
983
|
children: /* @__PURE__ */ t.jsx(
|
|
981
|
-
|
|
984
|
+
x,
|
|
982
985
|
{
|
|
983
986
|
name: "arrow-down",
|
|
984
987
|
width: 15,
|
|
@@ -996,7 +999,7 @@ const ct = "_wrapper_1g82c_2", lt = "_alignmentBlock_1g82c_8", it = "_title_1g82
|
|
|
996
999
|
className: m.button,
|
|
997
1000
|
"aria-label": "Decrement count",
|
|
998
1001
|
children: /* @__PURE__ */ t.jsx(
|
|
999
|
-
|
|
1002
|
+
x,
|
|
1000
1003
|
{
|
|
1001
1004
|
name: "arrow-down",
|
|
1002
1005
|
width: 15,
|
|
@@ -1018,8 +1021,8 @@ export {
|
|
|
1018
1021
|
J as ChooseImage,
|
|
1019
1022
|
ds as ChooseImageModal,
|
|
1020
1023
|
us as ColorPicker,
|
|
1021
|
-
|
|
1022
|
-
|
|
1024
|
+
x as Icon,
|
|
1025
|
+
P as Input,
|
|
1023
1026
|
Zt as ItemsSettings,
|
|
1024
1027
|
cs as LayoutSettings,
|
|
1025
1028
|
_s as Modal,
|
|
@@ -1028,7 +1031,7 @@ export {
|
|
|
1028
1031
|
ss as RangeSelector,
|
|
1029
1032
|
D as Select,
|
|
1030
1033
|
hs as Submodal,
|
|
1031
|
-
|
|
1034
|
+
S as Switch,
|
|
1032
1035
|
Nt as TextSettings,
|
|
1033
1036
|
q as Textarea,
|
|
1034
1037
|
gs as Tip,
|