@deframe-sdk/components 0.1.56 → 0.1.57
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/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +283 -141
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +283 -141
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +15 -0
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -52,7 +52,7 @@ function ActionButton(_a) {
|
|
|
52
52
|
"className",
|
|
53
53
|
"type"
|
|
54
54
|
]);
|
|
55
|
-
const
|
|
55
|
+
const baseClasses2 = [
|
|
56
56
|
"flex-1 inline-flex items-center justify-center overflow-hidden",
|
|
57
57
|
"h-[var(--deframe-widget-font-leading-lg)]",
|
|
58
58
|
"px-[var(--deframe-widget-size-padding-x-sm)] py-[var(--deframe-widget-size-padding-y-xs)]",
|
|
@@ -62,7 +62,7 @@ function ActionButton(_a) {
|
|
|
62
62
|
"transition-[background,border-color,box-shadow,opacity] duration-200",
|
|
63
63
|
"focus:outline-none focus:ring-2 focus:ring-[color:var(--deframe-widget-color-brand-primary)]"
|
|
64
64
|
].join(" ");
|
|
65
|
-
const
|
|
65
|
+
const stateClasses2 = disabled ? [
|
|
66
66
|
"cursor-not-allowed",
|
|
67
67
|
"bg-[var(--deframe-widget-color-bg-tertiary)]",
|
|
68
68
|
"text-[color:var(--deframe-widget-color-text-primary-disabled)]"
|
|
@@ -74,8 +74,8 @@ function ActionButton(_a) {
|
|
|
74
74
|
"hover:shadow-[0_2px_8px_color-mix(in_srgb,var(--deframe-widget-color-text-primary)_18%,transparent)]"
|
|
75
75
|
].join(" ");
|
|
76
76
|
const containerClasses = twMerge(
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
baseClasses2,
|
|
78
|
+
stateClasses2,
|
|
79
79
|
className
|
|
80
80
|
);
|
|
81
81
|
return /* @__PURE__ */ jsx(
|
|
@@ -90,13 +90,13 @@ function ActionButton(_a) {
|
|
|
90
90
|
);
|
|
91
91
|
}
|
|
92
92
|
var CloseButton = ({ onClick, testId, ariaLabel = "Close", className }) => {
|
|
93
|
-
const
|
|
93
|
+
const baseClasses2 = "w-12 h-12 rounded-[var(--deframe-widget-size-radius-sm)] flex items-center justify-center text-[color:var(--deframe-widget-color-text-secondary)] hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-tertiary)_92%,transparent)] transition-[background] duration-150 cursor-pointer";
|
|
94
94
|
return /* @__PURE__ */ jsx(
|
|
95
95
|
"button",
|
|
96
96
|
{
|
|
97
97
|
"data-test-id": testId != null ? testId : "close-button",
|
|
98
98
|
onClick,
|
|
99
|
-
className: twMerge(
|
|
99
|
+
className: twMerge(baseClasses2, className),
|
|
100
100
|
"aria-label": ariaLabel,
|
|
101
101
|
children: /* @__PURE__ */ jsx(HiXMark, { className: "w-6 h-6" })
|
|
102
102
|
}
|
|
@@ -149,7 +149,7 @@ function PrimaryButton(_a) {
|
|
|
149
149
|
"className",
|
|
150
150
|
"type"
|
|
151
151
|
]);
|
|
152
|
-
const
|
|
152
|
+
const baseClasses2 = [
|
|
153
153
|
/** layout */
|
|
154
154
|
"overflow-hidden w-full flex items-center justify-center transition-all duration-200",
|
|
155
155
|
/** typography */
|
|
@@ -165,7 +165,7 @@ function PrimaryButton(_a) {
|
|
|
165
165
|
"border-solid border-[length:var(--deframe-widget-size-border-xs)]",
|
|
166
166
|
"gap-[var(--deframe-widget-size-gap-sm)]"
|
|
167
167
|
].join(" ");
|
|
168
|
-
const
|
|
168
|
+
const stateClasses2 = {
|
|
169
169
|
/** enabled state */
|
|
170
170
|
enabled: [
|
|
171
171
|
"hover:opacity-90",
|
|
@@ -183,8 +183,8 @@ function PrimaryButton(_a) {
|
|
|
183
183
|
].join(" ")
|
|
184
184
|
};
|
|
185
185
|
const buttonClasses = twMerge(
|
|
186
|
-
|
|
187
|
-
|
|
186
|
+
baseClasses2,
|
|
187
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
188
188
|
className
|
|
189
189
|
);
|
|
190
190
|
return /* @__PURE__ */ jsx(
|
|
@@ -213,7 +213,7 @@ function SecondaryButton(_a) {
|
|
|
213
213
|
"className",
|
|
214
214
|
"type"
|
|
215
215
|
]);
|
|
216
|
-
const
|
|
216
|
+
const baseClasses2 = [
|
|
217
217
|
/** layout */
|
|
218
218
|
"overflow-hidden w-full flex items-center justify-center transition-all duration-200",
|
|
219
219
|
/** typography */
|
|
@@ -230,7 +230,7 @@ function SecondaryButton(_a) {
|
|
|
230
230
|
"border-solid border-[length:var(--deframe-widget-size-border-xs)]",
|
|
231
231
|
"gap-[var(--deframe-widget-size-gap-sm)]"
|
|
232
232
|
].join(" ");
|
|
233
|
-
const
|
|
233
|
+
const stateClasses2 = {
|
|
234
234
|
enabled: [
|
|
235
235
|
"text-[color:var(--deframe-widget-color-brand-primary)]",
|
|
236
236
|
"border-[color:var(--deframe-widget-color-brand-primary)]",
|
|
@@ -244,8 +244,8 @@ function SecondaryButton(_a) {
|
|
|
244
244
|
].join(" ")
|
|
245
245
|
};
|
|
246
246
|
const buttonClasses = twMerge(
|
|
247
|
-
|
|
248
|
-
|
|
247
|
+
baseClasses2,
|
|
248
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
249
249
|
className
|
|
250
250
|
);
|
|
251
251
|
return /* @__PURE__ */ jsx(
|
|
@@ -274,7 +274,7 @@ function TertiaryButton(_a) {
|
|
|
274
274
|
"className",
|
|
275
275
|
"type"
|
|
276
276
|
]);
|
|
277
|
-
const
|
|
277
|
+
const baseClasses2 = [
|
|
278
278
|
/** layout */
|
|
279
279
|
"overflow-hidden w-full flex items-center justify-center transition-all duration-200",
|
|
280
280
|
/** typography */
|
|
@@ -290,7 +290,7 @@ function TertiaryButton(_a) {
|
|
|
290
290
|
"rounded-[var(--deframe-widget-size-radius-xs)]",
|
|
291
291
|
"gap-[var(--deframe-widget-size-gap-sm)]"
|
|
292
292
|
].join(" ");
|
|
293
|
-
const
|
|
293
|
+
const stateClasses2 = {
|
|
294
294
|
enabled: [
|
|
295
295
|
"text-[color:var(--deframe-widget-color-text-tertiary)]",
|
|
296
296
|
"hover:opacity-90",
|
|
@@ -302,8 +302,8 @@ function TertiaryButton(_a) {
|
|
|
302
302
|
].join(" ")
|
|
303
303
|
};
|
|
304
304
|
const buttonClasses = twMerge(
|
|
305
|
-
|
|
306
|
-
|
|
305
|
+
baseClasses2,
|
|
306
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
307
307
|
className
|
|
308
308
|
);
|
|
309
309
|
return /* @__PURE__ */ jsx(
|
|
@@ -322,7 +322,7 @@ function TertiaryButton(_a) {
|
|
|
322
322
|
}
|
|
323
323
|
function Input(_a) {
|
|
324
324
|
var _b = _a, { className = "" } = _b, props = __objRest(_b, ["className"]);
|
|
325
|
-
const
|
|
325
|
+
const baseClasses2 = [
|
|
326
326
|
"flex flex-col",
|
|
327
327
|
"[gap:var(--deframe-widget-size-gap-xs)]"
|
|
328
328
|
].join(" ");
|
|
@@ -331,13 +331,13 @@ function Input(_a) {
|
|
|
331
331
|
__spreadValues({
|
|
332
332
|
"data-slot": "input",
|
|
333
333
|
"data-test-id": "input",
|
|
334
|
-
className: twMerge(
|
|
334
|
+
className: twMerge(baseClasses2, className)
|
|
335
335
|
}, props)
|
|
336
336
|
);
|
|
337
337
|
}
|
|
338
338
|
function InputLabel(_a) {
|
|
339
339
|
var _b = _a, { className = "" } = _b, props = __objRest(_b, ["className"]);
|
|
340
|
-
const
|
|
340
|
+
const baseClasses2 = [
|
|
341
341
|
"[font-family:var(--deframe-widget-font-family)]",
|
|
342
342
|
"[font-size:var(--deframe-widget-font-size-xs)]",
|
|
343
343
|
"[font-weight:var(--deframe-widget-font-weight-medium)]",
|
|
@@ -348,13 +348,13 @@ function InputLabel(_a) {
|
|
|
348
348
|
__spreadValues({
|
|
349
349
|
"data-slot": "input-label",
|
|
350
350
|
"data-test-id": "input-label",
|
|
351
|
-
className: twMerge(
|
|
351
|
+
className: twMerge(baseClasses2, className)
|
|
352
352
|
}, props)
|
|
353
353
|
);
|
|
354
354
|
}
|
|
355
355
|
function InputField(_a) {
|
|
356
356
|
var _b = _a, { hasError = false, disabled, className = "" } = _b, props = __objRest(_b, ["hasError", "disabled", "className"]);
|
|
357
|
-
const
|
|
357
|
+
const baseClasses2 = [
|
|
358
358
|
"w-full",
|
|
359
359
|
"[font-family:var(--deframe-widget-font-family)]",
|
|
360
360
|
"[font-size:var(--deframe-widget-font-size-md)]",
|
|
@@ -368,7 +368,7 @@ function InputField(_a) {
|
|
|
368
368
|
"outline-none",
|
|
369
369
|
"transition-colors"
|
|
370
370
|
].join(" ");
|
|
371
|
-
const
|
|
371
|
+
const stateClasses2 = {
|
|
372
372
|
default: [
|
|
373
373
|
"border border-[var(--deframe-widget-color-border-primary)]",
|
|
374
374
|
"bg-[var(--deframe-widget-color-bg-raised)]"
|
|
@@ -386,7 +386,7 @@ function InputField(_a) {
|
|
|
386
386
|
].join(" ")
|
|
387
387
|
};
|
|
388
388
|
const stateKey = hasError ? "error" : disabled ? "disabled" : "default";
|
|
389
|
-
const fieldClasses = twMerge(
|
|
389
|
+
const fieldClasses = twMerge(baseClasses2, stateClasses2[stateKey], className);
|
|
390
390
|
return /* @__PURE__ */ jsx(
|
|
391
391
|
"input",
|
|
392
392
|
__spreadValues({
|
|
@@ -418,13 +418,13 @@ function Link(_a) {
|
|
|
418
418
|
"replace",
|
|
419
419
|
"scroll"
|
|
420
420
|
]);
|
|
421
|
-
const
|
|
421
|
+
const baseClasses2 = [
|
|
422
422
|
"[font-family:var(--deframe-widget-font-family)]",
|
|
423
423
|
"[font-size:var(--deframe-widget-font-size-md)]",
|
|
424
424
|
"[font-weight:var(--deframe-widget-font-weight-medium)]",
|
|
425
425
|
"[line-height:var(--deframe-widget-font-leading-lg)]"
|
|
426
426
|
].join(" ");
|
|
427
|
-
const
|
|
427
|
+
const stateClasses2 = {
|
|
428
428
|
enabled: [
|
|
429
429
|
"text-[color:var(--deframe-widget-color-text-primary)]",
|
|
430
430
|
"hover:underline",
|
|
@@ -437,8 +437,8 @@ function Link(_a) {
|
|
|
437
437
|
].join(" ")
|
|
438
438
|
};
|
|
439
439
|
const linkClasses = twMerge(
|
|
440
|
-
|
|
441
|
-
|
|
440
|
+
baseClasses2,
|
|
441
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
442
442
|
className
|
|
443
443
|
);
|
|
444
444
|
if (disabled) {
|
|
@@ -548,7 +548,7 @@ function ListItem(_a) {
|
|
|
548
548
|
}
|
|
549
549
|
function ListItemLeftSide(_a) {
|
|
550
550
|
var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
|
|
551
|
-
const
|
|
551
|
+
const baseClasses2 = [
|
|
552
552
|
"flex justify-center items-center",
|
|
553
553
|
"text-[var(--deframe-widget-color-text-primary)]"
|
|
554
554
|
].join(" ");
|
|
@@ -557,7 +557,7 @@ function ListItemLeftSide(_a) {
|
|
|
557
557
|
__spreadProps(__spreadValues({
|
|
558
558
|
"data-slot": "list-item-left-side",
|
|
559
559
|
"data-test-id": "list-item-left-side",
|
|
560
|
-
className: twMerge(
|
|
560
|
+
className: twMerge(baseClasses2, className)
|
|
561
561
|
}, props), {
|
|
562
562
|
children
|
|
563
563
|
})
|
|
@@ -565,7 +565,7 @@ function ListItemLeftSide(_a) {
|
|
|
565
565
|
}
|
|
566
566
|
function ListItemContent(_a) {
|
|
567
567
|
var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
|
|
568
|
-
const
|
|
568
|
+
const baseClasses2 = [
|
|
569
569
|
"flex-1 self-stretch inline-flex flex-col justify-center items-start overflow-hidden",
|
|
570
570
|
"text-[var(--deframe-widget-color-text-primary)]"
|
|
571
571
|
].join(" ");
|
|
@@ -574,7 +574,7 @@ function ListItemContent(_a) {
|
|
|
574
574
|
__spreadProps(__spreadValues({
|
|
575
575
|
"data-slot": "list-item-content",
|
|
576
576
|
"data-test-id": "list-item-content",
|
|
577
|
-
className: twMerge(
|
|
577
|
+
className: twMerge(baseClasses2, className)
|
|
578
578
|
}, props), {
|
|
579
579
|
children
|
|
580
580
|
})
|
|
@@ -582,7 +582,7 @@ function ListItemContent(_a) {
|
|
|
582
582
|
}
|
|
583
583
|
function ListItemRightSide(_a) {
|
|
584
584
|
var _b = _a, { children, className } = _b, props = __objRest(_b, ["children", "className"]);
|
|
585
|
-
const
|
|
585
|
+
const baseClasses2 = [
|
|
586
586
|
"flex flex-col justify-start items-end",
|
|
587
587
|
"text-[var(--deframe-widget-color-text-primary)]"
|
|
588
588
|
].join(" ");
|
|
@@ -591,7 +591,7 @@ function ListItemRightSide(_a) {
|
|
|
591
591
|
__spreadProps(__spreadValues({
|
|
592
592
|
"data-slot": "list-item-right-side",
|
|
593
593
|
"data-test-id": "list-item-right-side",
|
|
594
|
-
className: twMerge(
|
|
594
|
+
className: twMerge(baseClasses2, className)
|
|
595
595
|
}, props), {
|
|
596
596
|
children
|
|
597
597
|
})
|
|
@@ -901,19 +901,19 @@ var Text = React6.forwardRef(
|
|
|
901
901
|
"disabled",
|
|
902
902
|
"className"
|
|
903
903
|
]);
|
|
904
|
-
const
|
|
904
|
+
const baseClasses2 = [
|
|
905
905
|
"[font-family:var(--deframe-widget-font-family)]",
|
|
906
906
|
"[font-size:var(--deframe-widget-font-size-md)]",
|
|
907
907
|
"[line-height:var(--deframe-widget-font-leading-md)]",
|
|
908
908
|
"[font-weight:var(--deframe-widget-font-weight-regular)]"
|
|
909
909
|
].join(" ");
|
|
910
|
-
const
|
|
910
|
+
const stateClasses2 = {
|
|
911
911
|
enabled: "text-[color:var(--deframe-widget-color-text-primary)]",
|
|
912
912
|
disabled: "text-[color:var(--deframe-widget-color-text-primary-disabled)]"
|
|
913
913
|
};
|
|
914
914
|
const textClasses = twMerge(
|
|
915
|
-
|
|
916
|
-
|
|
915
|
+
baseClasses2,
|
|
916
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
917
917
|
className
|
|
918
918
|
);
|
|
919
919
|
return React6.createElement(
|
|
@@ -959,14 +959,14 @@ var TextAccent = React6.forwardRef(
|
|
|
959
959
|
"[font-weight:var(--deframe-widget-font-weight-semibold)]"
|
|
960
960
|
].join(" ")
|
|
961
961
|
};
|
|
962
|
-
const
|
|
962
|
+
const stateClasses2 = {
|
|
963
963
|
enabled: "text-[color:var(--deframe-widget-color-text-primary)]",
|
|
964
964
|
disabled: "text-[color:var(--deframe-widget-color-text-primary-disabled)]"
|
|
965
965
|
};
|
|
966
966
|
const variantClass = accentVariants[variant];
|
|
967
967
|
const accentClasses = twMerge(
|
|
968
968
|
variantClass,
|
|
969
|
-
|
|
969
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
970
970
|
className
|
|
971
971
|
);
|
|
972
972
|
return /* @__PURE__ */ jsx(
|
|
@@ -1013,14 +1013,14 @@ var TextBody = React6.forwardRef(
|
|
|
1013
1013
|
"[font-weight:var(--deframe-widget-font-weight-regular)]"
|
|
1014
1014
|
].join(" ")
|
|
1015
1015
|
};
|
|
1016
|
-
const
|
|
1016
|
+
const stateClasses2 = {
|
|
1017
1017
|
enabled: "text-[color:var(--deframe-widget-color-text-primary)]",
|
|
1018
1018
|
disabled: "text-[color:var(--deframe-widget-color-text-primary-disabled)]"
|
|
1019
1019
|
};
|
|
1020
1020
|
const variantClass = bodyVariants[variant];
|
|
1021
1021
|
const bodyClasses = twMerge(
|
|
1022
1022
|
variantClass,
|
|
1023
|
-
|
|
1023
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
1024
1024
|
className
|
|
1025
1025
|
);
|
|
1026
1026
|
return /* @__PURE__ */ jsx(
|
|
@@ -1082,14 +1082,14 @@ var TextHeading = React6.forwardRef(
|
|
|
1082
1082
|
"[font-weight:var(--deframe-widget-font-weight-bold)]"
|
|
1083
1083
|
].join(" ")
|
|
1084
1084
|
};
|
|
1085
|
-
const
|
|
1085
|
+
const stateClasses2 = {
|
|
1086
1086
|
enabled: "text-[color:var(--deframe-widget-color-text-primary)]",
|
|
1087
1087
|
disabled: "text-[color:var(--deframe-widget-color-text-primary-disabled)]"
|
|
1088
1088
|
};
|
|
1089
1089
|
const variantClass = headingVariants[variant];
|
|
1090
1090
|
const headingClasses = twMerge(
|
|
1091
1091
|
variantClass,
|
|
1092
|
-
|
|
1092
|
+
stateClasses2[disabled ? "disabled" : "enabled"],
|
|
1093
1093
|
className
|
|
1094
1094
|
);
|
|
1095
1095
|
return /* @__PURE__ */ jsx(
|
|
@@ -1575,7 +1575,7 @@ var Skeleton = (_a) => {
|
|
|
1575
1575
|
Skeleton.displayName = "Skeleton";
|
|
1576
1576
|
function BannerNotificationIcon(_a) {
|
|
1577
1577
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1578
|
-
const
|
|
1578
|
+
const baseClasses2 = [
|
|
1579
1579
|
"flex items-center justify-center",
|
|
1580
1580
|
"flex-shrink-0",
|
|
1581
1581
|
"[font-size:var(--deframe-widget-font-size-xxl)]"
|
|
@@ -1585,19 +1585,19 @@ function BannerNotificationIcon(_a) {
|
|
|
1585
1585
|
__spreadValues({
|
|
1586
1586
|
"data-slot": "banner-notification-icon",
|
|
1587
1587
|
"data-test-id": "banner-notification-icon",
|
|
1588
|
-
className: twMerge(
|
|
1588
|
+
className: twMerge(baseClasses2, className)
|
|
1589
1589
|
}, props)
|
|
1590
1590
|
);
|
|
1591
1591
|
}
|
|
1592
1592
|
function BannerNotificationContent(_a) {
|
|
1593
1593
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1594
|
-
const
|
|
1594
|
+
const baseClasses2 = "flex-1 min-w-0 px-[var(--deframe-widget-size-padding-x-sm)] py-[var(--deframe-widget-size-padding-y-sm)]";
|
|
1595
1595
|
return /* @__PURE__ */ jsx(
|
|
1596
1596
|
"div",
|
|
1597
1597
|
__spreadValues({
|
|
1598
1598
|
"data-slot": "banner-notification-content",
|
|
1599
1599
|
"data-test-id": "banner-notification-content",
|
|
1600
|
-
className: twMerge(
|
|
1600
|
+
className: twMerge(baseClasses2, className)
|
|
1601
1601
|
}, props)
|
|
1602
1602
|
);
|
|
1603
1603
|
}
|
|
@@ -1628,7 +1628,7 @@ function BannerNotificationMessage(_a) {
|
|
|
1628
1628
|
}
|
|
1629
1629
|
function BannerNotificationClose(_a) {
|
|
1630
1630
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
1631
|
-
const
|
|
1631
|
+
const baseClasses2 = [
|
|
1632
1632
|
"flex-shrink-0",
|
|
1633
1633
|
"self-start",
|
|
1634
1634
|
"[font-size:var(--deframe-widget-font-size-xl)]",
|
|
@@ -1640,7 +1640,7 @@ function BannerNotificationClose(_a) {
|
|
|
1640
1640
|
"data-slot": "banner-notification-close",
|
|
1641
1641
|
"data-test-id": "banner-notification-close",
|
|
1642
1642
|
"aria-label": "Close notification",
|
|
1643
|
-
className: twMerge(
|
|
1643
|
+
className: twMerge(baseClasses2, className)
|
|
1644
1644
|
}, props)
|
|
1645
1645
|
);
|
|
1646
1646
|
}
|
|
@@ -1739,7 +1739,7 @@ var BannerNotification = (_a) => {
|
|
|
1739
1739
|
const v = variant;
|
|
1740
1740
|
const t = type;
|
|
1741
1741
|
const p = position;
|
|
1742
|
-
const
|
|
1742
|
+
const baseClasses2 = [
|
|
1743
1743
|
"flex items-center",
|
|
1744
1744
|
"[gap:var(--deframe-widget-size-gap-md)]",
|
|
1745
1745
|
"px-[var(--deframe-widget-size-padding-x-md)]",
|
|
@@ -1757,7 +1757,7 @@ var BannerNotification = (_a) => {
|
|
|
1757
1757
|
].join(" ")
|
|
1758
1758
|
};
|
|
1759
1759
|
const bannerClasses = twMerge(
|
|
1760
|
-
|
|
1760
|
+
baseClasses2,
|
|
1761
1761
|
typeClasses[t],
|
|
1762
1762
|
t === "toast" ? "text-white" : variantTextClasses[v],
|
|
1763
1763
|
isExiting && "opacity-0 -translate-y-2",
|
|
@@ -2219,13 +2219,13 @@ function DeframeComponentsProvider({
|
|
|
2219
2219
|
);
|
|
2220
2220
|
}
|
|
2221
2221
|
var InfoRow = ({ children, borderBottom, className }) => {
|
|
2222
|
-
const
|
|
2222
|
+
const baseClasses2 = "self-stretch inline-flex justify-between items-start";
|
|
2223
2223
|
const borderClasses = borderBottom ? "border-b border-[color:var(--deframe-widget-color-border-secondary)] pb-[var(--deframe-widget-size-padding-y-sm)]" : "";
|
|
2224
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-row", className: twMerge(
|
|
2224
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-row", className: twMerge(baseClasses2, borderClasses, className), children });
|
|
2225
2225
|
};
|
|
2226
2226
|
var InfoLabel = ({ children, className }) => {
|
|
2227
|
-
const
|
|
2228
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-label", className: twMerge(
|
|
2227
|
+
const baseClasses2 = "[font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] text-[color:var(--deframe-widget-color-text-secondary)]";
|
|
2228
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-label", className: twMerge(baseClasses2, className), children });
|
|
2229
2229
|
};
|
|
2230
2230
|
var variantClasses = {
|
|
2231
2231
|
default: "text-[color:var(--deframe-widget-color-text-primary)]",
|
|
@@ -2234,24 +2234,24 @@ var variantClasses = {
|
|
|
2234
2234
|
error: "text-[color:var(--deframe-widget-color-state-error)]"
|
|
2235
2235
|
};
|
|
2236
2236
|
var InfoValue = ({ children, variant = "default", className }) => {
|
|
2237
|
-
const
|
|
2238
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-value", className: twMerge(
|
|
2237
|
+
const baseClasses2 = "[font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] [font-weight:var(--deframe-widget-font-weight-semibold)]";
|
|
2238
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-value", className: twMerge(baseClasses2, variantClasses[variant], className), children });
|
|
2239
2239
|
};
|
|
2240
2240
|
var InfoRowWithIcon = ({ children, borderBottom, className }) => {
|
|
2241
|
-
const
|
|
2241
|
+
const baseClasses2 = "flex items-start justify-between h-[17px]";
|
|
2242
2242
|
const borderClasses = borderBottom ? "border-b border-[color:var(--deframe-widget-color-border-secondary)] pb-[var(--deframe-widget-size-padding-y-sm)]" : "";
|
|
2243
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-row-with-icon", className: twMerge(
|
|
2243
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-row-with-icon", className: twMerge(baseClasses2, borderClasses, className), children });
|
|
2244
2244
|
};
|
|
2245
2245
|
var InfoRowIconLabel = ({ children, className }) => {
|
|
2246
|
-
const
|
|
2247
|
-
return /* @__PURE__ */ jsxs("div", { "data-test-id": "info-row-icon-label", className: twMerge(
|
|
2246
|
+
const baseClasses2 = "[font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] text-[color:var(--deframe-widget-color-text-secondary)]";
|
|
2247
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": "info-row-icon-label", className: twMerge(baseClasses2, className), children: [
|
|
2248
2248
|
"\u2022 ",
|
|
2249
2249
|
children
|
|
2250
2250
|
] });
|
|
2251
2251
|
};
|
|
2252
2252
|
var InfoRowIconValue = ({ children, className }) => {
|
|
2253
|
-
const
|
|
2254
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-row-icon-value", className: twMerge(
|
|
2253
|
+
const baseClasses2 = "[font-size:var(--deframe-widget-font-size-sm)] [line-height:var(--deframe-widget-font-leading-sm)] [font-weight:var(--deframe-widget-font-weight-semibold)] text-[color:var(--deframe-widget-color-text-primary)]";
|
|
2254
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "info-row-icon-value", className: twMerge(baseClasses2, className), children });
|
|
2255
2255
|
};
|
|
2256
2256
|
var CollapsibleInfoRow = ({
|
|
2257
2257
|
label,
|
|
@@ -2263,8 +2263,8 @@ var CollapsibleInfoRow = ({
|
|
|
2263
2263
|
expandLabel
|
|
2264
2264
|
}) => {
|
|
2265
2265
|
const [isOpen, setIsOpen] = React6__default.useState(defaultOpen);
|
|
2266
|
-
const
|
|
2267
|
-
return /* @__PURE__ */ jsxs("div", { "data-test-id": "collapsible-info-row", className: twMerge(
|
|
2266
|
+
const baseClasses2 = "flex flex-col gap-[var(--deframe-widget-size-gap-sm)] w-full";
|
|
2267
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": "collapsible-info-row", className: twMerge(baseClasses2, className), children: [
|
|
2268
2268
|
/* @__PURE__ */ jsxs(
|
|
2269
2269
|
"button",
|
|
2270
2270
|
{
|
|
@@ -2286,16 +2286,16 @@ var CollapsibleInfoRow = ({
|
|
|
2286
2286
|
] });
|
|
2287
2287
|
};
|
|
2288
2288
|
var BackgroundContainer = ({ children, className }) => {
|
|
2289
|
-
const
|
|
2290
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "background-container", className: twMerge(
|
|
2289
|
+
const baseClasses2 = "w-full flex-1 min-h-0 px-[var(--deframe-widget-size-padding-x-md)] bg-[var(--deframe-widget-color-bg-primary)] lg:bg-[var(--deframe-widget-color-bg-secondary)] text-[color:var(--deframe-widget-color-text-primary)] flex flex-col relative overflow-y-auto";
|
|
2290
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "background-container", className: twMerge(baseClasses2, className), children });
|
|
2291
2291
|
};
|
|
2292
2292
|
var SectionCard = ({ children, className }) => {
|
|
2293
|
-
const
|
|
2294
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "section-card", className: twMerge(
|
|
2293
|
+
const baseClasses2 = "bg-[var(--deframe-widget-color-bg-secondary)] lg:!bg-[var(--deframe-widget-color-bg-secondary)] rounded-[var(--deframe-widget-size-radius-xs)] shadow-[0_2px_8px_color-mix(in_srgb,var(--deframe-widget-color-text-primary)_18%,transparent)] px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-md)] flex flex-col gap-[var(--deframe-widget-size-gap-sm)]";
|
|
2294
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "section-card", className: twMerge(baseClasses2, className), children });
|
|
2295
2295
|
};
|
|
2296
2296
|
var Navbar = ({ children, className }) => {
|
|
2297
|
-
const
|
|
2298
|
-
return /* @__PURE__ */ jsx("nav", { "data-test-id": "navbar", className: twMerge(
|
|
2297
|
+
const baseClasses2 = "w-full px-[var(--deframe-widget-size-padding-x-sm)] pr-[var(--deframe-widget-size-padding-x-md)] pt-[var(--deframe-widget-size-padding-y-sm)] pb-[var(--deframe-widget-size-padding-y-md)] border-b items-center border-[color:var(--deframe-widget-color-border-tertiary)] flex";
|
|
2298
|
+
return /* @__PURE__ */ jsx("nav", { "data-test-id": "navbar", className: twMerge(baseClasses2, className), children });
|
|
2299
2299
|
};
|
|
2300
2300
|
var gapClasses = {
|
|
2301
2301
|
xs: "gap-[var(--deframe-widget-size-gap-xs)]",
|
|
@@ -2304,8 +2304,8 @@ var gapClasses = {
|
|
|
2304
2304
|
lg: "gap-[var(--deframe-widget-size-gap-lg)]"
|
|
2305
2305
|
};
|
|
2306
2306
|
var FlexCol = ({ children, className, gap = "xs" }) => {
|
|
2307
|
-
const
|
|
2308
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "flex-col", className: twMerge(
|
|
2307
|
+
const baseClasses2 = "flex flex-col";
|
|
2308
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "flex-col", className: twMerge(baseClasses2, gapClasses[gap], className), children });
|
|
2309
2309
|
};
|
|
2310
2310
|
var gapClasses2 = {
|
|
2311
2311
|
xs: "gap-[var(--deframe-widget-size-gap-xs)]",
|
|
@@ -2314,16 +2314,16 @@ var gapClasses2 = {
|
|
|
2314
2314
|
lg: "gap-[var(--deframe-widget-size-gap-lg)]"
|
|
2315
2315
|
};
|
|
2316
2316
|
var FlexRow = ({ children, className, gap = "xs" }) => {
|
|
2317
|
-
const
|
|
2318
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "flex-row", className: twMerge(
|
|
2317
|
+
const baseClasses2 = "flex items-center";
|
|
2318
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "flex-row", className: twMerge(baseClasses2, gapClasses2[gap], className), children });
|
|
2319
2319
|
};
|
|
2320
2320
|
var ScrollableContent = ({ children, className }) => {
|
|
2321
|
-
const
|
|
2322
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "scrollable-content", className: twMerge(
|
|
2321
|
+
const baseClasses2 = "flex-1 overflow-y-auto px-[var(--deframe-widget-size-padding-x-md)] py-[var(--deframe-widget-size-padding-y-lg)]";
|
|
2322
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "scrollable-content", className: twMerge(baseClasses2, className), children });
|
|
2323
2323
|
};
|
|
2324
2324
|
var DetailsHeader = ({ title, onBack, className, backAriaLabel = "Back" }) => {
|
|
2325
|
-
const
|
|
2326
|
-
return /* @__PURE__ */ jsxs("div", { "data-test-id": "details-header", className: twMerge(
|
|
2325
|
+
const baseClasses2 = "w-full px-[var(--deframe-widget-size-padding-x-sm)] pr-[var(--deframe-widget-size-padding-x-md)] pt-[var(--deframe-widget-size-padding-y-sm)] pb-[var(--deframe-widget-size-padding-y-md)] border-b border-[color:var(--deframe-widget-color-border-tertiary)] flex items-center";
|
|
2326
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": "details-header", className: twMerge(baseClasses2, className), children: [
|
|
2327
2327
|
/* @__PURE__ */ jsx(
|
|
2328
2328
|
"button",
|
|
2329
2329
|
{
|
|
@@ -2338,8 +2338,8 @@ var DetailsHeader = ({ title, onBack, className, backAriaLabel = "Back" }) => {
|
|
|
2338
2338
|
] });
|
|
2339
2339
|
};
|
|
2340
2340
|
var HighRiskBadge = ({ className, label }) => {
|
|
2341
|
-
const
|
|
2342
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "high-risk-badge", className: twMerge(
|
|
2341
|
+
const baseClasses2 = "inline-flex justify-start items-start gap-[var(--deframe-widget-size-gap-xs)]";
|
|
2342
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "high-risk-badge", className: twMerge(baseClasses2, className), children: /* @__PURE__ */ jsx(
|
|
2343
2343
|
"div",
|
|
2344
2344
|
{
|
|
2345
2345
|
"data-size": "Small",
|
|
@@ -2350,8 +2350,8 @@ var HighRiskBadge = ({ className, label }) => {
|
|
|
2350
2350
|
) });
|
|
2351
2351
|
};
|
|
2352
2352
|
var MediumRiskBadge = ({ className, label }) => {
|
|
2353
|
-
const
|
|
2354
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "medium-risk-badge", className: twMerge(
|
|
2353
|
+
const baseClasses2 = "inline-flex justify-start items-start gap-[var(--deframe-widget-size-gap-xs)]";
|
|
2354
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "medium-risk-badge", className: twMerge(baseClasses2, className), children: /* @__PURE__ */ jsx(
|
|
2355
2355
|
"div",
|
|
2356
2356
|
{
|
|
2357
2357
|
"data-size": "Small",
|
|
@@ -2362,8 +2362,8 @@ var MediumRiskBadge = ({ className, label }) => {
|
|
|
2362
2362
|
) });
|
|
2363
2363
|
};
|
|
2364
2364
|
var LowRiskBadge = ({ className, label }) => {
|
|
2365
|
-
const
|
|
2366
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "low-risk-badge", className: twMerge(
|
|
2365
|
+
const baseClasses2 = "inline-flex justify-start items-start gap-[var(--deframe-widget-size-gap-xs)]";
|
|
2366
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "low-risk-badge", className: twMerge(baseClasses2, className), children: /* @__PURE__ */ jsx(
|
|
2367
2367
|
"div",
|
|
2368
2368
|
{
|
|
2369
2369
|
"data-size": "Small",
|
|
@@ -2387,7 +2387,7 @@ var ProcessingBadge = ({
|
|
|
2387
2387
|
size = "default"
|
|
2388
2388
|
}) => {
|
|
2389
2389
|
const isCompact = size === "compact";
|
|
2390
|
-
const
|
|
2390
|
+
const baseClasses2 = [
|
|
2391
2391
|
"inline-flex max-w-fit items-center gap-[var(--deframe-widget-size-gap-xs)] rounded-[var(--deframe-widget-size-radius-full)] border",
|
|
2392
2392
|
"text-[color:var(--deframe-widget-color-state-info)]",
|
|
2393
2393
|
"bg-[color:color-mix(in_srgb,var(--deframe-widget-color-state-info)_18%,transparent)]",
|
|
@@ -2398,7 +2398,7 @@ var ProcessingBadge = ({
|
|
|
2398
2398
|
compact: "px-[calc(var(--deframe-widget-size-padding-x-xs)+2px)] py-[2px]"
|
|
2399
2399
|
};
|
|
2400
2400
|
const processingBadgeClasses = twMerge(
|
|
2401
|
-
|
|
2401
|
+
baseClasses2,
|
|
2402
2402
|
sizeClasses[isCompact ? "compact" : "default"],
|
|
2403
2403
|
className
|
|
2404
2404
|
);
|
|
@@ -4252,7 +4252,7 @@ var SwapAmountInputView = ({
|
|
|
4252
4252
|
}
|
|
4253
4253
|
return val;
|
|
4254
4254
|
};
|
|
4255
|
-
const
|
|
4255
|
+
const baseClasses2 = "[font-size:var(--deframe-widget-font-size-xxl)] [line-height:var(--deframe-widget-font-leading-xxl)] [font-weight:var(--deframe-widget-font-weight-extrabold)] bg-transparent outline-none text-right w-full min-w-[120px] placeholder:text-[color:var(--deframe-widget-color-text-primary-disabled)]";
|
|
4256
4256
|
const colorClasses = hasError ? "text-[color:var(--deframe-widget-color-state-error)]" : "text-[color:var(--deframe-widget-color-text-primary)]";
|
|
4257
4257
|
return /* @__PURE__ */ jsx(
|
|
4258
4258
|
"input",
|
|
@@ -4266,7 +4266,7 @@ var SwapAmountInputView = ({
|
|
|
4266
4266
|
min: "0",
|
|
4267
4267
|
step: "any",
|
|
4268
4268
|
value,
|
|
4269
|
-
className: twMerge(
|
|
4269
|
+
className: twMerge(baseClasses2, colorClasses, className)
|
|
4270
4270
|
}, field), {
|
|
4271
4271
|
onChange: (event) => {
|
|
4272
4272
|
let normalized = normalizeAmountInput(event.target.value);
|
|
@@ -5818,14 +5818,14 @@ var SwapTokenSelectorView = ({
|
|
|
5818
5818
|
selectTokenLabel = "Select token",
|
|
5819
5819
|
className
|
|
5820
5820
|
}) => {
|
|
5821
|
-
const
|
|
5821
|
+
const baseClasses2 = "h-[56px] border border-[color:var(--deframe-widget-color-border-secondary)] rounded-[var(--deframe-widget-size-radius-xs)] overflow-hidden hover:border-[color:var(--deframe-widget-color-border-primary)] transition-colors flex items-center px-[var(--deframe-widget-size-padding-x-sm)] py-[6px] w-full cursor-pointer";
|
|
5822
5822
|
return /* @__PURE__ */ jsxs(
|
|
5823
5823
|
"button",
|
|
5824
5824
|
{
|
|
5825
5825
|
"data-test-id": testId,
|
|
5826
5826
|
type: "button",
|
|
5827
5827
|
onClick,
|
|
5828
|
-
className: twMerge(
|
|
5828
|
+
className: twMerge(baseClasses2, className),
|
|
5829
5829
|
"aria-label": token ? token.symbol : selectTokenLabel,
|
|
5830
5830
|
children: [
|
|
5831
5831
|
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-sm)] flex-1", children: token ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -5845,8 +5845,8 @@ var SwapNetworkSelectorView = ({
|
|
|
5845
5845
|
testId = "swap-network-selector",
|
|
5846
5846
|
className
|
|
5847
5847
|
}) => {
|
|
5848
|
-
const
|
|
5849
|
-
return /* @__PURE__ */ jsxs("div", { "data-test-id": testId, className: twMerge(
|
|
5848
|
+
const baseClasses2 = "flex flex-row items-center gap-[var(--deframe-widget-size-gap-xs)]";
|
|
5849
|
+
return /* @__PURE__ */ jsxs("div", { "data-test-id": testId, className: twMerge(baseClasses2, className), children: [
|
|
5850
5850
|
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "tracking-wide text-[color:var(--deframe-widget-color-text-tertiary)]", children: directionLabel }),
|
|
5851
5851
|
/* @__PURE__ */ jsxs(
|
|
5852
5852
|
"button",
|
|
@@ -5967,8 +5967,8 @@ var SwapOutputAmountView = ({
|
|
|
5967
5967
|
searchingQuoteLabel = "Searching quote...",
|
|
5968
5968
|
className
|
|
5969
5969
|
}) => {
|
|
5970
|
-
const
|
|
5971
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-flow-output-amount", className: twMerge(
|
|
5970
|
+
const baseClasses2 = "[font-size:var(--deframe-widget-font-size-xxl)] [line-height:var(--deframe-widget-font-leading-xxl)] [font-weight:var(--deframe-widget-font-weight-extrabold)] text-right w-full min-w-[120px] text-[color:var(--deframe-widget-color-text-primary)]";
|
|
5971
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-flow-output-amount", className: twMerge(baseClasses2, className), children: isLoading ? /* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "text-[color:var(--deframe-widget-color-text-primary-disabled)] inline-flex items-center", children: loadingElement != null ? loadingElement : searchingQuoteLabel }) : displayOutput });
|
|
5972
5972
|
};
|
|
5973
5973
|
var SwapToCardView = ({
|
|
5974
5974
|
labels,
|
|
@@ -6047,10 +6047,66 @@ var SwapToCardView = ({
|
|
|
6047
6047
|
] })
|
|
6048
6048
|
] }) });
|
|
6049
6049
|
};
|
|
6050
|
+
var baseClasses = [
|
|
6051
|
+
"inline-flex items-center justify-center",
|
|
6052
|
+
"py-[3px] px-[10px]",
|
|
6053
|
+
"rounded-[var(--deframe-widget-size-radius-full)]",
|
|
6054
|
+
"cursor-pointer text-[12px] transition-all duration-150 outline-none",
|
|
6055
|
+
"font-[var(--deframe-widget-font-family)] whitespace-nowrap border"
|
|
6056
|
+
].join(" ");
|
|
6057
|
+
var stateClasses = {
|
|
6058
|
+
active: [
|
|
6059
|
+
"border-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_32%,transparent)]",
|
|
6060
|
+
"bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_12%,transparent)]",
|
|
6061
|
+
"text-[color:var(--deframe-widget-color-brand-primary)]",
|
|
6062
|
+
"[font-weight:var(--deframe-widget-font-weight-semibold)]"
|
|
6063
|
+
].join(" "),
|
|
6064
|
+
default: [
|
|
6065
|
+
"border-[color:var(--deframe-widget-color-border-secondary)]",
|
|
6066
|
+
"bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-tertiary)_84%,transparent)]",
|
|
6067
|
+
"text-[color:var(--deframe-widget-color-text-secondary)]",
|
|
6068
|
+
"[font-weight:var(--deframe-widget-font-weight-regular)]",
|
|
6069
|
+
"hover:border-[color:var(--deframe-widget-color-border-primary)]",
|
|
6070
|
+
"hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-tertiary)_92%,transparent)]",
|
|
6071
|
+
"hover:text-[color:var(--deframe-widget-color-text-primary)]"
|
|
6072
|
+
].join(" ")
|
|
6073
|
+
};
|
|
6074
|
+
function SlippageChip({
|
|
6075
|
+
options = [],
|
|
6076
|
+
selected = null,
|
|
6077
|
+
onSelect,
|
|
6078
|
+
formatLabel,
|
|
6079
|
+
className
|
|
6080
|
+
}) {
|
|
6081
|
+
return /* @__PURE__ */ jsx(
|
|
6082
|
+
"div",
|
|
6083
|
+
{
|
|
6084
|
+
"data-test-id": "slippage-chips",
|
|
6085
|
+
"data-slot": "slippage-chips",
|
|
6086
|
+
className: twMerge("flex gap-[6px] items-center", className),
|
|
6087
|
+
children: options.map((bps) => /* @__PURE__ */ jsx(
|
|
6088
|
+
"button",
|
|
6089
|
+
{
|
|
6090
|
+
"data-test-id": "slippage-chip",
|
|
6091
|
+
"data-slot": "slippage-chip",
|
|
6092
|
+
type: "button",
|
|
6093
|
+
onClick: () => onSelect(bps),
|
|
6094
|
+
className: twMerge(baseClasses, stateClasses[bps === selected ? "active" : "default"]),
|
|
6095
|
+
children: formatLabel(bps)
|
|
6096
|
+
},
|
|
6097
|
+
bps
|
|
6098
|
+
))
|
|
6099
|
+
}
|
|
6100
|
+
);
|
|
6101
|
+
}
|
|
6050
6102
|
var SwapAdvancedSettingsView = ({
|
|
6051
6103
|
title,
|
|
6052
6104
|
isOpen,
|
|
6053
6105
|
onOpenChange,
|
|
6106
|
+
slippageBps,
|
|
6107
|
+
onSlippageSelect,
|
|
6108
|
+
formatPercentage,
|
|
6109
|
+
slippageOptions,
|
|
6054
6110
|
percentageOptions,
|
|
6055
6111
|
onPercentageClick,
|
|
6056
6112
|
slippageFormatted,
|
|
@@ -6067,19 +6123,30 @@ var SwapAdvancedSettingsView = ({
|
|
|
6067
6123
|
onOpenChange,
|
|
6068
6124
|
collapseText,
|
|
6069
6125
|
expandText,
|
|
6070
|
-
children: /* @__PURE__ */
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
return /* @__PURE__ */ jsx(
|
|
6074
|
-
PercentageButton,
|
|
6126
|
+
children: /* @__PURE__ */ jsxs("div", { className: "w-full flex flex-col gap-sm", children: [
|
|
6127
|
+
/* @__PURE__ */ jsx(
|
|
6128
|
+
SlippageChip,
|
|
6075
6129
|
{
|
|
6076
|
-
|
|
6077
|
-
|
|
6078
|
-
|
|
6079
|
-
|
|
6080
|
-
|
|
6081
|
-
)
|
|
6082
|
-
|
|
6130
|
+
options: slippageOptions,
|
|
6131
|
+
selected: slippageBps,
|
|
6132
|
+
onSelect: onSlippageSelect,
|
|
6133
|
+
formatLabel: formatPercentage
|
|
6134
|
+
}
|
|
6135
|
+
),
|
|
6136
|
+
/* @__PURE__ */ jsx("div", { className: "flex w-full gap-sm", children: percentageOptions.map((pct, index) => {
|
|
6137
|
+
const isMax = index === percentageOptions.length - 1;
|
|
6138
|
+
const label = isMax ? maxLabel : `${pct / 100}%`;
|
|
6139
|
+
return /* @__PURE__ */ jsx(
|
|
6140
|
+
PercentageButton,
|
|
6141
|
+
{
|
|
6142
|
+
type: "button",
|
|
6143
|
+
onClick: () => onPercentageClick(pct),
|
|
6144
|
+
children: label
|
|
6145
|
+
},
|
|
6146
|
+
pct
|
|
6147
|
+
);
|
|
6148
|
+
}) })
|
|
6149
|
+
] })
|
|
6083
6150
|
}
|
|
6084
6151
|
) }) });
|
|
6085
6152
|
};
|
|
@@ -6088,8 +6155,8 @@ var SwapQuoteHeaderView = ({
|
|
|
6088
6155
|
timerElement,
|
|
6089
6156
|
className
|
|
6090
6157
|
}) => {
|
|
6091
|
-
const
|
|
6092
|
-
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-header", className: twMerge(
|
|
6158
|
+
const baseClasses2 = "border-b border-[color:var(--deframe-widget-color-border-secondary)] pb-[var(--deframe-widget-size-padding-y-sm)]";
|
|
6159
|
+
return /* @__PURE__ */ jsx("div", { "data-test-id": "swap-quote-header", className: twMerge(baseClasses2, className), children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
6093
6160
|
/* @__PURE__ */ jsx(TextBody, { as: "span", variant: "text-small", className: "[font-weight:var(--deframe-widget-font-weight-semibold)] text-[color:var(--deframe-widget-color-text-secondary)] inline-flex items-center", children: label }),
|
|
6094
6161
|
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-[var(--deframe-widget-size-gap-md)]", children: timerElement })
|
|
6095
6162
|
] }) });
|
|
@@ -6797,7 +6864,7 @@ function ChevronDown() {
|
|
|
6797
6864
|
);
|
|
6798
6865
|
}
|
|
6799
6866
|
function ChipPill({ label, active, onClick }) {
|
|
6800
|
-
const
|
|
6867
|
+
const baseClasses2 = twMerge(
|
|
6801
6868
|
"inline-flex items-center justify-center",
|
|
6802
6869
|
"py-[3px] px-[10px]",
|
|
6803
6870
|
"rounded-[var(--deframe-widget-size-radius-full)]",
|
|
@@ -6809,7 +6876,7 @@ function ChipPill({ label, active, onClick }) {
|
|
|
6809
6876
|
"whitespace-nowrap",
|
|
6810
6877
|
"border"
|
|
6811
6878
|
);
|
|
6812
|
-
const
|
|
6879
|
+
const stateClasses2 = active ? twMerge(
|
|
6813
6880
|
"border-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_32%,transparent)]",
|
|
6814
6881
|
"bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_12%,transparent)]",
|
|
6815
6882
|
"text-[color:var(--deframe-widget-color-brand-primary)]",
|
|
@@ -6830,7 +6897,7 @@ function ChipPill({ label, active, onClick }) {
|
|
|
6830
6897
|
type: "button",
|
|
6831
6898
|
onClick,
|
|
6832
6899
|
"aria-label": label,
|
|
6833
|
-
className: twMerge(
|
|
6900
|
+
className: twMerge(baseClasses2, stateClasses2),
|
|
6834
6901
|
children: /* @__PURE__ */ jsx("span", { "data-test-id": "swap-from-card-simple-chip-label", children: label })
|
|
6835
6902
|
}
|
|
6836
6903
|
);
|
|
@@ -7265,9 +7332,13 @@ var SwapFormViewSimple = ({
|
|
|
7265
7332
|
if (!advancedSettings.isOpen) setShowPanel(false);
|
|
7266
7333
|
}, [advancedSettings.isOpen]);
|
|
7267
7334
|
const updatePanelPos = useCallback(() => {
|
|
7268
|
-
if (containerRef.current
|
|
7269
|
-
|
|
7270
|
-
|
|
7335
|
+
if (!containerRef.current || !showPanel) return;
|
|
7336
|
+
const rect = containerRef.current.getBoundingClientRect();
|
|
7337
|
+
const GAP = 16;
|
|
7338
|
+
if (window.innerWidth < 640) {
|
|
7339
|
+
setPanelPos({ top: rect.bottom + GAP, left: rect.left, width: rect.width });
|
|
7340
|
+
} else {
|
|
7341
|
+
setPanelPos({ top: rect.top, left: rect.right + GAP });
|
|
7271
7342
|
}
|
|
7272
7343
|
}, [showPanel]);
|
|
7273
7344
|
useEffect(() => {
|
|
@@ -7381,15 +7452,21 @@ var SwapFormViewSimple = ({
|
|
|
7381
7452
|
{
|
|
7382
7453
|
"data-test-id": "swap-form-simple-advanced-panel",
|
|
7383
7454
|
className: twMerge(
|
|
7384
|
-
"fixed",
|
|
7385
|
-
"w-[320px]
|
|
7455
|
+
"fixed z-[9999]",
|
|
7456
|
+
!panelPos.width && "w-[320px]",
|
|
7386
7457
|
"bg-[var(--deframe-widget-color-bg-secondary)]",
|
|
7387
7458
|
"rounded-[var(--deframe-widget-size-radius-md)]",
|
|
7388
7459
|
"border border-[color:var(--deframe-widget-color-border-secondary)]",
|
|
7389
7460
|
"shadow-[0px_4px_24px_0px_#0000003D]",
|
|
7390
|
-
"font-[var(--deframe-widget-font-family)]"
|
|
7461
|
+
"font-[var(--deframe-widget-font-family)]",
|
|
7462
|
+
"overflow-y-auto"
|
|
7391
7463
|
),
|
|
7392
|
-
style: {
|
|
7464
|
+
style: __spreadProps(__spreadValues({
|
|
7465
|
+
top: panelPos.top,
|
|
7466
|
+
left: panelPos.left
|
|
7467
|
+
}, panelPos.width && { width: panelPos.width }), {
|
|
7468
|
+
maxHeight: `calc(100vh - ${panelPos.top}px - 16px)`
|
|
7469
|
+
}),
|
|
7393
7470
|
children: /* @__PURE__ */ jsx(
|
|
7394
7471
|
AdvancedPanelContent,
|
|
7395
7472
|
{
|
|
@@ -7548,6 +7625,7 @@ function AdvancedPill({ label, isOpen, onClick }) {
|
|
|
7548
7625
|
);
|
|
7549
7626
|
}
|
|
7550
7627
|
function AdvancedPanelContent({ advancedSettings, transactionDetails }) {
|
|
7628
|
+
const handleSlippageSelect = advancedSettings.onSlippageSelect;
|
|
7551
7629
|
return /* @__PURE__ */ jsxs(
|
|
7552
7630
|
"div",
|
|
7553
7631
|
{
|
|
@@ -7621,9 +7699,18 @@ function AdvancedPanelContent({ advancedSettings, transactionDetails }) {
|
|
|
7621
7699
|
/* @__PURE__ */ jsx(DetailRow, { label: transactionDetails.labels.blockchainCostsLabel, value: transactionDetails.totalCostFormatted }),
|
|
7622
7700
|
/* @__PURE__ */ jsx(DetailRow, { label: transactionDetails.labels.networkGasLabel, value: transactionDetails.gasCostFormatted }),
|
|
7623
7701
|
/* @__PURE__ */ jsx(DetailRow, { label: transactionDetails.labels.protocolFeeLabel, value: transactionDetails.protocolFee }),
|
|
7624
|
-
/* @__PURE__ */ jsx(
|
|
7702
|
+
/* @__PURE__ */ jsx(
|
|
7703
|
+
SlippageDetailRow,
|
|
7704
|
+
{
|
|
7705
|
+
label: transactionDetails.labels.slippageLabel,
|
|
7706
|
+
options: advancedSettings.slippageOptions,
|
|
7707
|
+
selected: advancedSettings.slippageBps,
|
|
7708
|
+
onSelect: handleSlippageSelect,
|
|
7709
|
+
formatLabel: advancedSettings.formatPercentage
|
|
7710
|
+
}
|
|
7711
|
+
),
|
|
7625
7712
|
/* @__PURE__ */ jsx(DetailRow, { label: transactionDetails.labels.etaLabel, value: transactionDetails.etaFormatted }),
|
|
7626
|
-
transactionDetails.quoteId && /* @__PURE__ */ jsx(
|
|
7713
|
+
transactionDetails.quoteId && /* @__PURE__ */ jsx(QuoteIdRow, { label: transactionDetails.labels.quoteIdLabel, quoteId: transactionDetails.quoteId })
|
|
7627
7714
|
]
|
|
7628
7715
|
}
|
|
7629
7716
|
);
|
|
@@ -7656,6 +7743,61 @@ function DetailRow({ label, value }) {
|
|
|
7656
7743
|
}
|
|
7657
7744
|
);
|
|
7658
7745
|
}
|
|
7746
|
+
function SlippageDetailRow({ label, options, selected, onSelect: handleSelect, formatLabel }) {
|
|
7747
|
+
return /* @__PURE__ */ jsxs(
|
|
7748
|
+
"div",
|
|
7749
|
+
{
|
|
7750
|
+
"data-test-id": "swap-form-simple-slippage-row",
|
|
7751
|
+
className: "flex justify-between items-center py-[10px] gap-[var(--deframe-widget-size-gap-sm)]",
|
|
7752
|
+
children: [
|
|
7753
|
+
/* @__PURE__ */ jsx(
|
|
7754
|
+
"span",
|
|
7755
|
+
{
|
|
7756
|
+
"data-test-id": "swap-form-simple-detail-row-label",
|
|
7757
|
+
className: "text-[11px] [font-weight:var(--deframe-widget-font-weight-medium)] uppercase tracking-[0.07em] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)] flex-shrink-0",
|
|
7758
|
+
children: label
|
|
7759
|
+
}
|
|
7760
|
+
),
|
|
7761
|
+
/* @__PURE__ */ jsx(
|
|
7762
|
+
SlippageChip,
|
|
7763
|
+
{
|
|
7764
|
+
options,
|
|
7765
|
+
selected,
|
|
7766
|
+
onSelect: handleSelect,
|
|
7767
|
+
formatLabel,
|
|
7768
|
+
className: "gap-[4px] [&_button]:py-[2px] [&_button]:px-[7px] [&_button]:text-[11px]"
|
|
7769
|
+
}
|
|
7770
|
+
)
|
|
7771
|
+
]
|
|
7772
|
+
}
|
|
7773
|
+
);
|
|
7774
|
+
}
|
|
7775
|
+
function QuoteIdRow({ label, quoteId }) {
|
|
7776
|
+
return /* @__PURE__ */ jsxs(
|
|
7777
|
+
"div",
|
|
7778
|
+
{
|
|
7779
|
+
"data-test-id": "swap-form-simple-quote-id-row",
|
|
7780
|
+
className: "flex justify-between items-center py-[10px] gap-[var(--deframe-widget-size-gap-sm)]",
|
|
7781
|
+
children: [
|
|
7782
|
+
/* @__PURE__ */ jsx(
|
|
7783
|
+
"span",
|
|
7784
|
+
{
|
|
7785
|
+
"data-test-id": "swap-form-simple-detail-row-label",
|
|
7786
|
+
className: "text-[11px] [font-weight:var(--deframe-widget-font-weight-medium)] uppercase tracking-[0.07em] text-[color:var(--deframe-widget-color-text-tertiary)] font-[var(--deframe-widget-font-family)] flex-shrink-0",
|
|
7787
|
+
children: label
|
|
7788
|
+
}
|
|
7789
|
+
),
|
|
7790
|
+
/* @__PURE__ */ jsx(
|
|
7791
|
+
AddressDisplay,
|
|
7792
|
+
{
|
|
7793
|
+
address: quoteId,
|
|
7794
|
+
className: "py-[3px] px-[8px] max-w-[150px] min-w-0"
|
|
7795
|
+
}
|
|
7796
|
+
)
|
|
7797
|
+
]
|
|
7798
|
+
}
|
|
7799
|
+
);
|
|
7800
|
+
}
|
|
7659
7801
|
var ChooseANetworkView = ({
|
|
7660
7802
|
labels,
|
|
7661
7803
|
autoFocus = true,
|
|
@@ -7757,7 +7899,7 @@ function useIsMobile(breakpoint = 640) {
|
|
|
7757
7899
|
return isMobile;
|
|
7758
7900
|
}
|
|
7759
7901
|
function CloseButtonInline({ onClick, ariaLabel }) {
|
|
7760
|
-
const
|
|
7902
|
+
const baseClasses2 = [
|
|
7761
7903
|
"inline-flex items-center justify-center",
|
|
7762
7904
|
"w-9 h-9",
|
|
7763
7905
|
"rounded-[var(--deframe-widget-size-radius-sm)]",
|
|
@@ -7776,7 +7918,7 @@ function CloseButtonInline({ onClick, ariaLabel }) {
|
|
|
7776
7918
|
"data-test-id": "close-button",
|
|
7777
7919
|
onClick,
|
|
7778
7920
|
"aria-label": ariaLabel,
|
|
7779
|
-
className:
|
|
7921
|
+
className: baseClasses2,
|
|
7780
7922
|
children: /* @__PURE__ */ jsx(
|
|
7781
7923
|
"svg",
|
|
7782
7924
|
{
|
|
@@ -7836,7 +7978,7 @@ function hasSignificantBalance(balanceUsd) {
|
|
|
7836
7978
|
return !isNaN(num) && num >= 0.01;
|
|
7837
7979
|
}
|
|
7838
7980
|
function NetworkRow({ network, selected, onClick, onKeyDown, index }) {
|
|
7839
|
-
const
|
|
7981
|
+
const baseClasses2 = [
|
|
7840
7982
|
"relative flex items-center gap-[10px]",
|
|
7841
7983
|
"py-[9px] px-[var(--deframe-widget-size-padding-x-sm)] pl-[14px]",
|
|
7842
7984
|
"rounded-[var(--deframe-widget-size-radius-sm)]",
|
|
@@ -7845,11 +7987,11 @@ function NetworkRow({ network, selected, onClick, onKeyDown, index }) {
|
|
|
7845
7987
|
"mb-[var(--deframe-widget-size-gap-none)].5",
|
|
7846
7988
|
"transition-[background] duration-150"
|
|
7847
7989
|
].join(" ");
|
|
7848
|
-
const
|
|
7990
|
+
const stateClasses2 = {
|
|
7849
7991
|
selected: "bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_12%,transparent)] hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_12%,transparent)]",
|
|
7850
7992
|
default: "bg-transparent hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-secondary)_72%,transparent)]"
|
|
7851
7993
|
};
|
|
7852
|
-
const rowClasses = twMerge(
|
|
7994
|
+
const rowClasses = twMerge(baseClasses2, stateClasses2[selected ? "selected" : "default"]);
|
|
7853
7995
|
const nameClasses = [
|
|
7854
7996
|
"text-[14px] [font-weight:var(--deframe-widget-font-weight-medium)]",
|
|
7855
7997
|
selected ? "text-[color:var(--deframe-widget-color-text-primary)]" : "text-[color:var(--deframe-widget-color-text-secondary)]"
|
|
@@ -7914,7 +8056,7 @@ function NetworkRow({ network, selected, onClick, onKeyDown, index }) {
|
|
|
7914
8056
|
);
|
|
7915
8057
|
}
|
|
7916
8058
|
function NetworkChip({ network, selected, onClick }) {
|
|
7917
|
-
const
|
|
8059
|
+
const baseClasses2 = [
|
|
7918
8060
|
"inline-flex items-center gap-[var(--deframe-widget-size-gap-sm)]",
|
|
7919
8061
|
"py-[var(--deframe-widget-size-padding-y-sm)] pl-[var(--deframe-widget-size-padding-x-sm)] pr-[14px]",
|
|
7920
8062
|
"rounded-[var(--deframe-widget-size-radius-full)]",
|
|
@@ -7925,11 +8067,11 @@ function NetworkChip({ network, selected, onClick }) {
|
|
|
7925
8067
|
"outline-none",
|
|
7926
8068
|
"border"
|
|
7927
8069
|
].join(" ");
|
|
7928
|
-
const
|
|
8070
|
+
const stateClasses2 = {
|
|
7929
8071
|
selected: "border-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_32%,transparent)] bg-[color:color-mix(in_srgb,var(--deframe-widget-color-brand-primary)_12%,transparent)]",
|
|
7930
8072
|
default: "border-[color:var(--deframe-widget-color-border-secondary)] bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-secondary)_72%,transparent)]"
|
|
7931
8073
|
};
|
|
7932
|
-
const buttonClasses = twMerge(
|
|
8074
|
+
const buttonClasses = twMerge(baseClasses2, stateClasses2[selected ? "selected" : "default"]);
|
|
7933
8075
|
const nameLabelClasses = [
|
|
7934
8076
|
"text-[13px] [font-weight:var(--deframe-widget-font-weight-medium)] leading-[1.2]",
|
|
7935
8077
|
selected ? "text-[color:var(--deframe-widget-color-brand-primary)]" : "text-[color:var(--deframe-widget-color-text-secondary)]"
|
|
@@ -8063,7 +8205,7 @@ function AssetRowInline({
|
|
|
8063
8205
|
const priceUSD = Number(balance == null ? void 0 : balance.priceUSD) || token.priceInUSD || 0;
|
|
8064
8206
|
const formattedAmount = balance ? formatTokenAmount(balance.amountUI, priceUSD) : void 0;
|
|
8065
8207
|
const formattedUsd = balance ? formatCurrencyValue(parseFloat(balance.amountInUSD)) : void 0;
|
|
8066
|
-
const
|
|
8208
|
+
const baseClasses2 = [
|
|
8067
8209
|
"group",
|
|
8068
8210
|
"relative flex items-center gap-[var(--deframe-widget-size-gap-sm)]",
|
|
8069
8211
|
"py-[10px] px-[14px]",
|
|
@@ -8071,7 +8213,7 @@ function AssetRowInline({
|
|
|
8071
8213
|
"cursor-pointer outline-none",
|
|
8072
8214
|
"transition-[background] duration-150"
|
|
8073
8215
|
].join(" ");
|
|
8074
|
-
const rowClasses = twMerge(
|
|
8216
|
+
const rowClasses = twMerge(baseClasses2, "bg-transparent hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-secondary)_72%,transparent)]");
|
|
8075
8217
|
return /* @__PURE__ */ jsxs(
|
|
8076
8218
|
"div",
|
|
8077
8219
|
{
|
|
@@ -9579,13 +9721,13 @@ var StrategyGridCardSimple = ({
|
|
|
9579
9721
|
);
|
|
9580
9722
|
};
|
|
9581
9723
|
var BackButton = ({ onClick, ariaLabel = "Back", className }) => {
|
|
9582
|
-
const
|
|
9724
|
+
const baseClasses2 = "w-12 h-12 rounded-[var(--deframe-widget-size-radius-full)] flex items-center justify-center text-[color:var(--deframe-widget-color-text-secondary)] hover:text-[color:var(--deframe-widget-color-brand-primary)] transition-colors cursor-pointer";
|
|
9583
9725
|
return /* @__PURE__ */ jsx(
|
|
9584
9726
|
"button",
|
|
9585
9727
|
{
|
|
9586
9728
|
"data-test-id": "back-button",
|
|
9587
9729
|
onClick,
|
|
9588
|
-
className: twMerge(
|
|
9730
|
+
className: twMerge(baseClasses2, className),
|
|
9589
9731
|
"aria-label": ariaLabel,
|
|
9590
9732
|
children: /* @__PURE__ */ jsx(HiArrowLeft, { className: "w-6 h-6" })
|
|
9591
9733
|
}
|
|
@@ -11384,7 +11526,7 @@ var EarnTokenSelectorSimpleView = ({
|
|
|
11384
11526
|
}) => {
|
|
11385
11527
|
const hasToken = selectedToken != null;
|
|
11386
11528
|
const isInteractive = !!onNetworkAndAssetClick;
|
|
11387
|
-
const
|
|
11529
|
+
const baseClasses2 = [
|
|
11388
11530
|
"inline-flex items-center gap-[10px]",
|
|
11389
11531
|
"h-[54px] px-[10px]",
|
|
11390
11532
|
"rounded-[var(--deframe-widget-size-radius-sm)]",
|
|
@@ -11393,13 +11535,13 @@ var EarnTokenSelectorSimpleView = ({
|
|
|
11393
11535
|
"transition-[background] duration-150",
|
|
11394
11536
|
"flex-shrink-0"
|
|
11395
11537
|
].join(" ");
|
|
11396
|
-
const
|
|
11538
|
+
const stateClasses2 = {
|
|
11397
11539
|
interactive: "cursor-pointer hover:bg-[color:color-mix(in_srgb,var(--deframe-widget-color-bg-tertiary)_92%,transparent)]",
|
|
11398
11540
|
static: "cursor-default"
|
|
11399
11541
|
};
|
|
11400
11542
|
const selectorClasses = twMerge(
|
|
11401
|
-
|
|
11402
|
-
|
|
11543
|
+
baseClasses2,
|
|
11544
|
+
stateClasses2[isInteractive ? "interactive" : "static"],
|
|
11403
11545
|
className
|
|
11404
11546
|
);
|
|
11405
11547
|
return /* @__PURE__ */ jsx(
|
|
@@ -11730,14 +11872,14 @@ var EarnInlineNotificationSimpleView = ({
|
|
|
11730
11872
|
variant,
|
|
11731
11873
|
message
|
|
11732
11874
|
}) => {
|
|
11733
|
-
const
|
|
11875
|
+
const baseClasses2 = [
|
|
11734
11876
|
"relative flex items-center gap-[var(--deframe-widget-size-gap-sm)]",
|
|
11735
11877
|
"py-[7px] pr-[10px] pl-[14px]",
|
|
11736
11878
|
"rounded-[var(--deframe-widget-size-radius-sm)]",
|
|
11737
11879
|
"border",
|
|
11738
11880
|
"overflow-hidden"
|
|
11739
11881
|
].join(" ");
|
|
11740
|
-
const wrapperClasses = twMerge(
|
|
11882
|
+
const wrapperClasses = twMerge(baseClasses2, variantWrapperClasses[variant]);
|
|
11741
11883
|
return /* @__PURE__ */ jsxs(
|
|
11742
11884
|
"div",
|
|
11743
11885
|
{
|