@trading-game/design-intelligence-layer 1.0.7 → 1.2.0
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/AGENTS.md +4 -3
- package/README.md +5 -3
- package/dist/index.cjs +922 -627
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -4
- package/dist/index.d.ts +25 -4
- package/dist/index.js +923 -629
- package/dist/index.js.map +1 -1
- package/docs/components/badge.md +21 -4
- package/docs/components/calendar.md +1 -1
- package/docs/components/date-wheel-picker.md +106 -0
- package/docs/components/item.md +25 -7
- package/docs/components/toast.md +2 -2
- package/docs/foundations/colors.md +3 -3
- package/docs/foundations/shape-layout.md +2 -2
- package/guides/brand-voice/trading-game-brand-voice.md +10 -11
- package/package.json +3 -2
- package/src/styles.css +15 -0
- package/guides/rules/design-system-consuming-project.mdc +0 -366
package/dist/index.js
CHANGED
|
@@ -935,9 +935,11 @@ var badgeVariants = cva4(
|
|
|
935
935
|
"solid-fail": "bg-background-error-solid text-text-on-status-static",
|
|
936
936
|
"solid-warning": "bg-background-warning-solid text-text-on-status-static",
|
|
937
937
|
// Tint — the Section Message surface tokens, coloured foreground.
|
|
938
|
-
// Brand tint
|
|
939
|
-
//
|
|
940
|
-
|
|
938
|
+
// Brand tint rides `brand-selected`, the theme-aware selection
|
|
939
|
+
// family, for the same reason Calendar's range band does: the
|
|
940
|
+
// static `brand-container` is one value in both themes and sits
|
|
941
|
+
// near-white on a dark surface.
|
|
942
|
+
tint: "bg-background-brand-selected border-transparent text-text-brand-selected",
|
|
941
943
|
"tint-demo": "bg-background-demo-default border-transparent text-text-demo-default",
|
|
942
944
|
"tint-neutral": "bg-background-secondary-surface border-transparent text-text-prominent-default",
|
|
943
945
|
"tint-success": "bg-background-success-default border-transparent text-text-success-default",
|
|
@@ -948,7 +950,18 @@ var badgeVariants = cva4(
|
|
|
948
950
|
xs: "type-badge-xs h-5 px-2 py-0.5",
|
|
949
951
|
sm: "type-badge-sm h-6 px-2.5 py-0.5",
|
|
950
952
|
md: "type-badge-md h-8 px-3 py-1",
|
|
951
|
-
lg: "type-badge-lg h-10 px-4 py-1.5"
|
|
953
|
+
lg: "type-badge-lg h-10 px-4 py-1.5",
|
|
954
|
+
/* `count` is a shape, not a step on the xs/sm/md/lg rail: an
|
|
955
|
+
18px disc that grows into a pill as digits are added. The
|
|
956
|
+
padding is deliberately tight (`px-1`): one digit then
|
|
957
|
+
measures under the 18px min-width, so min-width wins and the
|
|
958
|
+
disc is a true circle. Widen the padding and a single digit
|
|
959
|
+
overshoots 18px, turning it back into an oval. `tabular-nums` keeps every digit
|
|
960
|
+
the same width, so a ticking count only resizes when the
|
|
961
|
+
digit count changes, not on every update. Callers that pin
|
|
962
|
+
it over other chrome add their own knockout ring — Badge
|
|
963
|
+
cannot know what sits behind it. */
|
|
964
|
+
count: "type-badge-xs min-w-[1.125rem] h-[1.125rem] px-1 tabular-nums"
|
|
952
965
|
}
|
|
953
966
|
},
|
|
954
967
|
defaultVariants: {
|
|
@@ -3013,25 +3026,297 @@ function ContextMenuShortcut(_a) {
|
|
|
3013
3026
|
);
|
|
3014
3027
|
}
|
|
3015
3028
|
|
|
3029
|
+
// components/ui/date-wheel-picker.tsx
|
|
3030
|
+
import * as React7 from "react";
|
|
3031
|
+
import { jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3032
|
+
var ROW = 40;
|
|
3033
|
+
var VISIBLE_ROWS = 5;
|
|
3034
|
+
var SETTLE_MS = 120;
|
|
3035
|
+
var toParts = (date) => ({
|
|
3036
|
+
y: date.getFullYear(),
|
|
3037
|
+
m: date.getMonth(),
|
|
3038
|
+
d: date.getDate()
|
|
3039
|
+
});
|
|
3040
|
+
var toDate = ({ y, m, d }) => new Date(y, m, d);
|
|
3041
|
+
var daysIn = (y, m) => new Date(y, m + 1, 0).getDate();
|
|
3042
|
+
var dayStart = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
3043
|
+
function clamp(parts, min, max) {
|
|
3044
|
+
const d = Math.min(parts.d, daysIn(parts.y, parts.m));
|
|
3045
|
+
const date = toDate(__spreadProps(__spreadValues({}, parts), { d }));
|
|
3046
|
+
if (date < min) return toParts(min);
|
|
3047
|
+
if (date > max) return toParts(max);
|
|
3048
|
+
return __spreadProps(__spreadValues({}, parts), { d });
|
|
3049
|
+
}
|
|
3050
|
+
function Wheel({ items, index, onIndexChange, label, className }) {
|
|
3051
|
+
var _a;
|
|
3052
|
+
const ref = React7.useRef(null);
|
|
3053
|
+
const settleTimer = React7.useRef(null);
|
|
3054
|
+
const mounted = React7.useRef(false);
|
|
3055
|
+
const [live, setLive] = React7.useState(index);
|
|
3056
|
+
const scrollToIndex = React7.useCallback((i, smooth) => {
|
|
3057
|
+
var _a2;
|
|
3058
|
+
const el = ref.current;
|
|
3059
|
+
if (!el) return;
|
|
3060
|
+
const reduce = (_a2 = window.matchMedia) == null ? void 0 : _a2.call(window, "(prefers-reduced-motion: reduce)").matches;
|
|
3061
|
+
el.scrollTo({ top: i * ROW, behavior: smooth && !reduce ? "smooth" : "auto" });
|
|
3062
|
+
}, []);
|
|
3063
|
+
React7.useEffect(() => {
|
|
3064
|
+
setLive(index);
|
|
3065
|
+
const el = ref.current;
|
|
3066
|
+
if (el && Math.round(el.scrollTop / ROW) !== index) {
|
|
3067
|
+
scrollToIndex(index, mounted.current);
|
|
3068
|
+
}
|
|
3069
|
+
mounted.current = true;
|
|
3070
|
+
}, [index, items.length, scrollToIndex]);
|
|
3071
|
+
React7.useEffect(
|
|
3072
|
+
() => () => {
|
|
3073
|
+
if (settleTimer.current) clearTimeout(settleTimer.current);
|
|
3074
|
+
},
|
|
3075
|
+
[]
|
|
3076
|
+
);
|
|
3077
|
+
const nearestEnabled = (i) => {
|
|
3078
|
+
var _a2;
|
|
3079
|
+
if (!((_a2 = items[i]) == null ? void 0 : _a2.disabled)) return i;
|
|
3080
|
+
for (let step2 = 1; step2 < items.length; step2++) {
|
|
3081
|
+
if (items[i - step2] && !items[i - step2].disabled) return i - step2;
|
|
3082
|
+
if (items[i + step2] && !items[i + step2].disabled) return i + step2;
|
|
3083
|
+
}
|
|
3084
|
+
return i;
|
|
3085
|
+
};
|
|
3086
|
+
const onScroll = () => {
|
|
3087
|
+
var _a2;
|
|
3088
|
+
const el = ref.current;
|
|
3089
|
+
if (!el) return;
|
|
3090
|
+
const i = Math.max(0, Math.min(items.length - 1, Math.round(el.scrollTop / ROW)));
|
|
3091
|
+
if (i !== live) {
|
|
3092
|
+
setLive(i);
|
|
3093
|
+
(_a2 = navigator.vibrate) == null ? void 0 : _a2.call(navigator, 4);
|
|
3094
|
+
}
|
|
3095
|
+
if (settleTimer.current) clearTimeout(settleTimer.current);
|
|
3096
|
+
settleTimer.current = setTimeout(() => {
|
|
3097
|
+
const target = nearestEnabled(i);
|
|
3098
|
+
if (target !== i) {
|
|
3099
|
+
setLive(target);
|
|
3100
|
+
scrollToIndex(target, true);
|
|
3101
|
+
if (target !== index) onIndexChange(target);
|
|
3102
|
+
} else if (target !== index) onIndexChange(target);
|
|
3103
|
+
}, SETTLE_MS);
|
|
3104
|
+
};
|
|
3105
|
+
const step = (from, delta) => {
|
|
3106
|
+
var _a2;
|
|
3107
|
+
let i = from;
|
|
3108
|
+
for (let n = Math.abs(delta); n > 0; n--) {
|
|
3109
|
+
let next = i + Math.sign(delta);
|
|
3110
|
+
while ((_a2 = items[next]) == null ? void 0 : _a2.disabled) next += Math.sign(delta);
|
|
3111
|
+
if (!items[next]) break;
|
|
3112
|
+
i = next;
|
|
3113
|
+
}
|
|
3114
|
+
return i;
|
|
3115
|
+
};
|
|
3116
|
+
const onKeyDown = (e) => {
|
|
3117
|
+
const last = items.length - 1;
|
|
3118
|
+
let next = null;
|
|
3119
|
+
if (e.key === "ArrowDown") next = step(index, 1);
|
|
3120
|
+
else if (e.key === "ArrowUp") next = step(index, -1);
|
|
3121
|
+
else if (e.key === "PageDown") next = step(index, 5);
|
|
3122
|
+
else if (e.key === "PageUp") next = step(index, -5);
|
|
3123
|
+
else if (e.key === "Home") next = nearestEnabled(0);
|
|
3124
|
+
else if (e.key === "End") next = nearestEnabled(last);
|
|
3125
|
+
if (next === null) return;
|
|
3126
|
+
e.preventDefault();
|
|
3127
|
+
if (next !== index) onIndexChange(next);
|
|
3128
|
+
};
|
|
3129
|
+
const enabled = items.filter((it) => !it.disabled);
|
|
3130
|
+
return /* @__PURE__ */ jsxs15(
|
|
3131
|
+
"div",
|
|
3132
|
+
{
|
|
3133
|
+
ref,
|
|
3134
|
+
"data-slot": "date-wheel-picker-wheel",
|
|
3135
|
+
role: "spinbutton",
|
|
3136
|
+
tabIndex: 0,
|
|
3137
|
+
"aria-label": label,
|
|
3138
|
+
"aria-valuenow": index,
|
|
3139
|
+
"aria-valuetext": (_a = items[index]) == null ? void 0 : _a.label,
|
|
3140
|
+
"aria-valuemin": items.indexOf(enabled[0]),
|
|
3141
|
+
"aria-valuemax": items.indexOf(enabled[enabled.length - 1]),
|
|
3142
|
+
onScroll,
|
|
3143
|
+
onKeyDown,
|
|
3144
|
+
className: cn(
|
|
3145
|
+
"relative z-10 h-50 min-w-0 snap-y snap-mandatory overflow-y-scroll rounded-md outline-none",
|
|
3146
|
+
"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
|
|
3147
|
+
// Rows fade toward the edges so the wheel reads as a drum.
|
|
3148
|
+
"[mask-image:linear-gradient(to_bottom,transparent,black_32%,black_68%,transparent)]",
|
|
3149
|
+
"focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong",
|
|
3150
|
+
className
|
|
3151
|
+
),
|
|
3152
|
+
children: [
|
|
3153
|
+
/* @__PURE__ */ jsx23("div", { "aria-hidden": true, className: "h-20" }),
|
|
3154
|
+
items.map((item, i) => /* @__PURE__ */ jsx23(
|
|
3155
|
+
"div",
|
|
3156
|
+
{
|
|
3157
|
+
"aria-hidden": true,
|
|
3158
|
+
"data-selected": i === live ? "" : void 0,
|
|
3159
|
+
"data-disabled": item.disabled ? "" : void 0,
|
|
3160
|
+
onClick: () => !item.disabled && scrollToIndex(i, true),
|
|
3161
|
+
className: cn(
|
|
3162
|
+
"type-date-wheel-picker-item flex h-10 cursor-pointer snap-center items-center justify-center whitespace-nowrap tabular-nums select-none",
|
|
3163
|
+
"text-text-subtle-default transition-[color,transform] duration-fast ease-standard motion-reduce:transition-none",
|
|
3164
|
+
"data-selected:scale-[1.04] data-selected:text-text-brand-selected",
|
|
3165
|
+
"data-disabled:cursor-default data-disabled:text-text-disabled-default"
|
|
3166
|
+
),
|
|
3167
|
+
children: item.label
|
|
3168
|
+
},
|
|
3169
|
+
i
|
|
3170
|
+
)),
|
|
3171
|
+
/* @__PURE__ */ jsx23("div", { "aria-hidden": true, className: "h-20" })
|
|
3172
|
+
]
|
|
3173
|
+
}
|
|
3174
|
+
);
|
|
3175
|
+
}
|
|
3176
|
+
function DateWheelPicker(_a) {
|
|
3177
|
+
var _b = _a, {
|
|
3178
|
+
value,
|
|
3179
|
+
defaultValue,
|
|
3180
|
+
onValueChange,
|
|
3181
|
+
min: minProp,
|
|
3182
|
+
max: maxProp,
|
|
3183
|
+
order = "dmy",
|
|
3184
|
+
monthFormat = "long",
|
|
3185
|
+
locale,
|
|
3186
|
+
className
|
|
3187
|
+
} = _b, props = __objRest(_b, [
|
|
3188
|
+
"value",
|
|
3189
|
+
"defaultValue",
|
|
3190
|
+
"onValueChange",
|
|
3191
|
+
"min",
|
|
3192
|
+
"max",
|
|
3193
|
+
"order",
|
|
3194
|
+
"monthFormat",
|
|
3195
|
+
"locale",
|
|
3196
|
+
"className"
|
|
3197
|
+
]);
|
|
3198
|
+
const min = React7.useMemo(
|
|
3199
|
+
() => dayStart(minProp != null ? minProp : new Date(1900, 0, 1)),
|
|
3200
|
+
[minProp]
|
|
3201
|
+
);
|
|
3202
|
+
const max = React7.useMemo(
|
|
3203
|
+
() => dayStart(maxProp != null ? maxProp : new Date((/* @__PURE__ */ new Date()).getFullYear() + 10, 11, 31)),
|
|
3204
|
+
[maxProp]
|
|
3205
|
+
);
|
|
3206
|
+
const [inner, setInner] = React7.useState(
|
|
3207
|
+
() => clamp(toParts(defaultValue != null ? defaultValue : /* @__PURE__ */ new Date()), min, max)
|
|
3208
|
+
);
|
|
3209
|
+
const parts = value ? clamp(toParts(value), min, max) : clamp(inner, min, max);
|
|
3210
|
+
const commit = (next) => {
|
|
3211
|
+
const c = clamp(next, min, max);
|
|
3212
|
+
if (!value) setInner(c);
|
|
3213
|
+
if (c.y !== parts.y || c.m !== parts.m || c.d !== parts.d) {
|
|
3214
|
+
onValueChange == null ? void 0 : onValueChange(toDate(c));
|
|
3215
|
+
}
|
|
3216
|
+
};
|
|
3217
|
+
const monthNames = React7.useMemo(() => {
|
|
3218
|
+
const fmt = new Intl.DateTimeFormat(locale, {
|
|
3219
|
+
month: monthFormat === "numeric" ? "2-digit" : monthFormat
|
|
3220
|
+
});
|
|
3221
|
+
return Array.from({ length: 12 }, (_, m) => fmt.format(new Date(2e3, m, 1)));
|
|
3222
|
+
}, [locale, monthFormat]);
|
|
3223
|
+
const years = React7.useMemo(() => {
|
|
3224
|
+
const list = [];
|
|
3225
|
+
for (let y = min.getFullYear(); y <= max.getFullYear(); y++) list.push(y);
|
|
3226
|
+
return list;
|
|
3227
|
+
}, [min, max]);
|
|
3228
|
+
const inRange = (y, m, d) => {
|
|
3229
|
+
const date = new Date(y, m, d);
|
|
3230
|
+
return date >= min && date <= max;
|
|
3231
|
+
};
|
|
3232
|
+
const dayItems = Array.from({ length: daysIn(parts.y, parts.m) }, (_, i) => ({
|
|
3233
|
+
label: String(i + 1).padStart(2, "0"),
|
|
3234
|
+
disabled: !inRange(parts.y, parts.m, i + 1)
|
|
3235
|
+
}));
|
|
3236
|
+
const monthItems = monthNames.map((label, m) => ({
|
|
3237
|
+
label,
|
|
3238
|
+
// A month is off only when none of its days are in range.
|
|
3239
|
+
disabled: new Date(parts.y, m, daysIn(parts.y, m)) < min || new Date(parts.y, m, 1) > max
|
|
3240
|
+
}));
|
|
3241
|
+
const yearItems = years.map((y) => ({ label: String(y), disabled: false }));
|
|
3242
|
+
const wheels = {
|
|
3243
|
+
d: /* @__PURE__ */ jsx23(
|
|
3244
|
+
Wheel,
|
|
3245
|
+
{
|
|
3246
|
+
label: "Day",
|
|
3247
|
+
items: dayItems,
|
|
3248
|
+
index: parts.d - 1,
|
|
3249
|
+
onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { d: i + 1 })),
|
|
3250
|
+
className: "flex-[0.8]"
|
|
3251
|
+
},
|
|
3252
|
+
"d"
|
|
3253
|
+
),
|
|
3254
|
+
m: /* @__PURE__ */ jsx23(
|
|
3255
|
+
Wheel,
|
|
3256
|
+
{
|
|
3257
|
+
label: "Month",
|
|
3258
|
+
items: monthItems,
|
|
3259
|
+
index: parts.m,
|
|
3260
|
+
onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { m: i })),
|
|
3261
|
+
className: monthFormat === "long" ? "flex-[1.5]" : "flex-1"
|
|
3262
|
+
},
|
|
3263
|
+
"m"
|
|
3264
|
+
),
|
|
3265
|
+
y: /* @__PURE__ */ jsx23(
|
|
3266
|
+
Wheel,
|
|
3267
|
+
{
|
|
3268
|
+
label: "Year",
|
|
3269
|
+
items: yearItems,
|
|
3270
|
+
index: parts.y - years[0],
|
|
3271
|
+
onIndexChange: (i) => commit(__spreadProps(__spreadValues({}, parts), { y: years[i] })),
|
|
3272
|
+
className: "flex-1"
|
|
3273
|
+
},
|
|
3274
|
+
"y"
|
|
3275
|
+
)
|
|
3276
|
+
};
|
|
3277
|
+
return /* @__PURE__ */ jsxs15(
|
|
3278
|
+
"div",
|
|
3279
|
+
__spreadProps(__spreadValues({
|
|
3280
|
+
"data-slot": "date-wheel-picker",
|
|
3281
|
+
role: "group",
|
|
3282
|
+
"aria-label": "Date",
|
|
3283
|
+
className: cn("relative flex w-full gap-1", className),
|
|
3284
|
+
style: { height: ROW * VISIBLE_ROWS }
|
|
3285
|
+
}, props), {
|
|
3286
|
+
children: [
|
|
3287
|
+
/* @__PURE__ */ jsx23(
|
|
3288
|
+
"div",
|
|
3289
|
+
{
|
|
3290
|
+
"aria-hidden": true,
|
|
3291
|
+
"data-slot": "date-wheel-picker-band",
|
|
3292
|
+
className: "pointer-events-none absolute inset-x-0 top-20 h-10 rounded-md bg-background-brand-selected"
|
|
3293
|
+
}
|
|
3294
|
+
),
|
|
3295
|
+
order.split("").map((k) => wheels[k])
|
|
3296
|
+
]
|
|
3297
|
+
})
|
|
3298
|
+
);
|
|
3299
|
+
}
|
|
3300
|
+
|
|
3016
3301
|
// components/ui/drawer.tsx
|
|
3017
3302
|
import { XIcon as XIcon2 } from "lucide-react";
|
|
3018
3303
|
import { Drawer as DrawerPrimitive } from "vaul";
|
|
3019
|
-
import { jsx as
|
|
3304
|
+
import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3020
3305
|
function Drawer(_a) {
|
|
3021
3306
|
var props = __objRest(_a, []);
|
|
3022
|
-
return /* @__PURE__ */
|
|
3307
|
+
return /* @__PURE__ */ jsx24(DrawerPrimitive.Root, __spreadValues({ "data-slot": "drawer" }, props));
|
|
3023
3308
|
}
|
|
3024
3309
|
function DrawerTrigger(_a) {
|
|
3025
3310
|
var props = __objRest(_a, []);
|
|
3026
|
-
return /* @__PURE__ */
|
|
3311
|
+
return /* @__PURE__ */ jsx24(DrawerPrimitive.Trigger, __spreadValues({ "data-slot": "drawer-trigger" }, props));
|
|
3027
3312
|
}
|
|
3028
3313
|
function DrawerPortal(_a) {
|
|
3029
3314
|
var props = __objRest(_a, []);
|
|
3030
|
-
return /* @__PURE__ */
|
|
3315
|
+
return /* @__PURE__ */ jsx24(DrawerPrimitive.Portal, __spreadValues({ "data-slot": "drawer-portal" }, props));
|
|
3031
3316
|
}
|
|
3032
3317
|
function DrawerClose(_a) {
|
|
3033
3318
|
var props = __objRest(_a, []);
|
|
3034
|
-
return /* @__PURE__ */
|
|
3319
|
+
return /* @__PURE__ */ jsx24(DrawerPrimitive.Close, __spreadValues({ "data-slot": "drawer-close" }, props));
|
|
3035
3320
|
}
|
|
3036
3321
|
function DrawerOverlay(_a) {
|
|
3037
3322
|
var _b = _a, {
|
|
@@ -3039,7 +3324,7 @@ function DrawerOverlay(_a) {
|
|
|
3039
3324
|
} = _b, props = __objRest(_b, [
|
|
3040
3325
|
"className"
|
|
3041
3326
|
]);
|
|
3042
|
-
return /* @__PURE__ */
|
|
3327
|
+
return /* @__PURE__ */ jsx24(
|
|
3043
3328
|
DrawerPrimitive.Overlay,
|
|
3044
3329
|
__spreadValues({
|
|
3045
3330
|
"data-slot": "drawer-overlay",
|
|
@@ -3060,9 +3345,9 @@ function DrawerContent(_a) {
|
|
|
3060
3345
|
"children",
|
|
3061
3346
|
"dismiss"
|
|
3062
3347
|
]);
|
|
3063
|
-
return /* @__PURE__ */
|
|
3064
|
-
/* @__PURE__ */
|
|
3065
|
-
/* @__PURE__ */
|
|
3348
|
+
return /* @__PURE__ */ jsxs16(DrawerPortal, { "data-slot": "drawer-portal", children: [
|
|
3349
|
+
/* @__PURE__ */ jsx24(DrawerOverlay, {}),
|
|
3350
|
+
/* @__PURE__ */ jsxs16(
|
|
3066
3351
|
DrawerPrimitive.Content,
|
|
3067
3352
|
__spreadProps(__spreadValues({
|
|
3068
3353
|
"data-slot": "drawer-content",
|
|
@@ -3076,13 +3361,13 @@ function DrawerContent(_a) {
|
|
|
3076
3361
|
)
|
|
3077
3362
|
}, props), {
|
|
3078
3363
|
children: [
|
|
3079
|
-
dismiss === "handle" ? /* @__PURE__ */
|
|
3364
|
+
dismiss === "handle" ? /* @__PURE__ */ jsx24("div", { className: "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-border-default-default group-data-[vaul-drawer-direction=bottom]/drawer-content:block" }) : /* @__PURE__ */ jsx24("div", { className: "flex shrink-0 justify-end p-4 pb-0", children: /* @__PURE__ */ jsx24(DrawerPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx24(
|
|
3080
3365
|
NavigationButton,
|
|
3081
3366
|
{
|
|
3082
3367
|
"data-slot": "drawer-close",
|
|
3083
3368
|
size: "sm",
|
|
3084
3369
|
"aria-label": "Close",
|
|
3085
|
-
children: /* @__PURE__ */
|
|
3370
|
+
children: /* @__PURE__ */ jsx24(XIcon2, { className: "size-4" })
|
|
3086
3371
|
}
|
|
3087
3372
|
) }) }),
|
|
3088
3373
|
children
|
|
@@ -3093,7 +3378,7 @@ function DrawerContent(_a) {
|
|
|
3093
3378
|
}
|
|
3094
3379
|
function DrawerHeader(_a) {
|
|
3095
3380
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3096
|
-
return /* @__PURE__ */
|
|
3381
|
+
return /* @__PURE__ */ jsx24(
|
|
3097
3382
|
"div",
|
|
3098
3383
|
__spreadValues({
|
|
3099
3384
|
"data-slot": "drawer-header",
|
|
@@ -3106,7 +3391,7 @@ function DrawerHeader(_a) {
|
|
|
3106
3391
|
}
|
|
3107
3392
|
function DrawerFooter(_a) {
|
|
3108
3393
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3109
|
-
return /* @__PURE__ */
|
|
3394
|
+
return /* @__PURE__ */ jsx24(
|
|
3110
3395
|
"div",
|
|
3111
3396
|
__spreadValues({
|
|
3112
3397
|
"data-slot": "drawer-footer",
|
|
@@ -3120,7 +3405,7 @@ function DrawerTitle(_a) {
|
|
|
3120
3405
|
} = _b, props = __objRest(_b, [
|
|
3121
3406
|
"className"
|
|
3122
3407
|
]);
|
|
3123
|
-
return /* @__PURE__ */
|
|
3408
|
+
return /* @__PURE__ */ jsx24(
|
|
3124
3409
|
DrawerPrimitive.Title,
|
|
3125
3410
|
__spreadValues({
|
|
3126
3411
|
"data-slot": "drawer-title",
|
|
@@ -3134,7 +3419,7 @@ function DrawerDescription(_a) {
|
|
|
3134
3419
|
} = _b, props = __objRest(_b, [
|
|
3135
3420
|
"className"
|
|
3136
3421
|
]);
|
|
3137
|
-
return /* @__PURE__ */
|
|
3422
|
+
return /* @__PURE__ */ jsx24(
|
|
3138
3423
|
DrawerPrimitive.Description,
|
|
3139
3424
|
__spreadValues({
|
|
3140
3425
|
"data-slot": "drawer-description",
|
|
@@ -3146,18 +3431,18 @@ function DrawerDescription(_a) {
|
|
|
3146
3431
|
// components/ui/dropdown-menu.tsx
|
|
3147
3432
|
import { CheckIcon as CheckIcon4, ChevronRightIcon as ChevronRightIcon4, CircleIcon as CircleIcon2 } from "lucide-react";
|
|
3148
3433
|
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
|
|
3149
|
-
import { jsx as
|
|
3434
|
+
import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
3150
3435
|
function DropdownMenu(_a) {
|
|
3151
3436
|
var props = __objRest(_a, []);
|
|
3152
|
-
return /* @__PURE__ */
|
|
3437
|
+
return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Root, __spreadValues({ "data-slot": "dropdown-menu" }, props));
|
|
3153
3438
|
}
|
|
3154
3439
|
function DropdownMenuPortal(_a) {
|
|
3155
3440
|
var props = __objRest(_a, []);
|
|
3156
|
-
return /* @__PURE__ */
|
|
3441
|
+
return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, __spreadValues({ "data-slot": "dropdown-menu-portal" }, props));
|
|
3157
3442
|
}
|
|
3158
3443
|
function DropdownMenuTrigger(_a) {
|
|
3159
3444
|
var props = __objRest(_a, []);
|
|
3160
|
-
return /* @__PURE__ */
|
|
3445
|
+
return /* @__PURE__ */ jsx25(
|
|
3161
3446
|
DropdownMenuPrimitive.Trigger,
|
|
3162
3447
|
__spreadValues({
|
|
3163
3448
|
"data-slot": "dropdown-menu-trigger"
|
|
@@ -3172,7 +3457,7 @@ function DropdownMenuContent(_a) {
|
|
|
3172
3457
|
"className",
|
|
3173
3458
|
"sideOffset"
|
|
3174
3459
|
]);
|
|
3175
|
-
return /* @__PURE__ */
|
|
3460
|
+
return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
|
|
3176
3461
|
DropdownMenuPrimitive.Content,
|
|
3177
3462
|
__spreadValues({
|
|
3178
3463
|
"data-slot": "dropdown-menu-content",
|
|
@@ -3186,7 +3471,7 @@ function DropdownMenuContent(_a) {
|
|
|
3186
3471
|
}
|
|
3187
3472
|
function DropdownMenuGroup(_a) {
|
|
3188
3473
|
var props = __objRest(_a, []);
|
|
3189
|
-
return /* @__PURE__ */
|
|
3474
|
+
return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Group, __spreadValues({ "data-slot": "dropdown-menu-group" }, props));
|
|
3190
3475
|
}
|
|
3191
3476
|
function DropdownMenuItem(_a) {
|
|
3192
3477
|
var _b = _a, {
|
|
@@ -3198,7 +3483,7 @@ function DropdownMenuItem(_a) {
|
|
|
3198
3483
|
"inset",
|
|
3199
3484
|
"variant"
|
|
3200
3485
|
]);
|
|
3201
|
-
return /* @__PURE__ */
|
|
3486
|
+
return /* @__PURE__ */ jsx25(
|
|
3202
3487
|
DropdownMenuPrimitive.Item,
|
|
3203
3488
|
__spreadValues({
|
|
3204
3489
|
"data-slot": "dropdown-menu-item",
|
|
@@ -3221,7 +3506,7 @@ function DropdownMenuCheckboxItem(_a) {
|
|
|
3221
3506
|
"children",
|
|
3222
3507
|
"checked"
|
|
3223
3508
|
]);
|
|
3224
|
-
return /* @__PURE__ */
|
|
3509
|
+
return /* @__PURE__ */ jsxs17(
|
|
3225
3510
|
DropdownMenuPrimitive.CheckboxItem,
|
|
3226
3511
|
__spreadProps(__spreadValues({
|
|
3227
3512
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
@@ -3232,7 +3517,7 @@ function DropdownMenuCheckboxItem(_a) {
|
|
|
3232
3517
|
checked
|
|
3233
3518
|
}, props), {
|
|
3234
3519
|
children: [
|
|
3235
|
-
/* @__PURE__ */
|
|
3520
|
+
/* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CheckIcon4, { className: "size-4" }) }) }),
|
|
3236
3521
|
children
|
|
3237
3522
|
]
|
|
3238
3523
|
})
|
|
@@ -3240,7 +3525,7 @@ function DropdownMenuCheckboxItem(_a) {
|
|
|
3240
3525
|
}
|
|
3241
3526
|
function DropdownMenuRadioGroup(_a) {
|
|
3242
3527
|
var props = __objRest(_a, []);
|
|
3243
|
-
return /* @__PURE__ */
|
|
3528
|
+
return /* @__PURE__ */ jsx25(
|
|
3244
3529
|
DropdownMenuPrimitive.RadioGroup,
|
|
3245
3530
|
__spreadValues({
|
|
3246
3531
|
"data-slot": "dropdown-menu-radio-group"
|
|
@@ -3255,7 +3540,7 @@ function DropdownMenuRadioItem(_a) {
|
|
|
3255
3540
|
"className",
|
|
3256
3541
|
"children"
|
|
3257
3542
|
]);
|
|
3258
|
-
return /* @__PURE__ */
|
|
3543
|
+
return /* @__PURE__ */ jsxs17(
|
|
3259
3544
|
DropdownMenuPrimitive.RadioItem,
|
|
3260
3545
|
__spreadProps(__spreadValues({
|
|
3261
3546
|
"data-slot": "dropdown-menu-radio-item",
|
|
@@ -3265,7 +3550,7 @@ function DropdownMenuRadioItem(_a) {
|
|
|
3265
3550
|
)
|
|
3266
3551
|
}, props), {
|
|
3267
3552
|
children: [
|
|
3268
|
-
/* @__PURE__ */
|
|
3553
|
+
/* @__PURE__ */ jsx25("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx25(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx25(CircleIcon2, { className: "size-2 fill-current" }) }) }),
|
|
3269
3554
|
children
|
|
3270
3555
|
]
|
|
3271
3556
|
})
|
|
@@ -3279,7 +3564,7 @@ function DropdownMenuLabel(_a) {
|
|
|
3279
3564
|
"className",
|
|
3280
3565
|
"inset"
|
|
3281
3566
|
]);
|
|
3282
|
-
return /* @__PURE__ */
|
|
3567
|
+
return /* @__PURE__ */ jsx25(
|
|
3283
3568
|
DropdownMenuPrimitive.Label,
|
|
3284
3569
|
__spreadValues({
|
|
3285
3570
|
"data-slot": "dropdown-menu-label",
|
|
@@ -3297,7 +3582,7 @@ function DropdownMenuSeparator(_a) {
|
|
|
3297
3582
|
} = _b, props = __objRest(_b, [
|
|
3298
3583
|
"className"
|
|
3299
3584
|
]);
|
|
3300
|
-
return /* @__PURE__ */
|
|
3585
|
+
return /* @__PURE__ */ jsx25(
|
|
3301
3586
|
DropdownMenuPrimitive.Separator,
|
|
3302
3587
|
__spreadValues({
|
|
3303
3588
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -3311,7 +3596,7 @@ function DropdownMenuShortcut(_a) {
|
|
|
3311
3596
|
} = _b, props = __objRest(_b, [
|
|
3312
3597
|
"className"
|
|
3313
3598
|
]);
|
|
3314
|
-
return /* @__PURE__ */
|
|
3599
|
+
return /* @__PURE__ */ jsx25(
|
|
3315
3600
|
"span",
|
|
3316
3601
|
__spreadValues({
|
|
3317
3602
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -3324,7 +3609,7 @@ function DropdownMenuShortcut(_a) {
|
|
|
3324
3609
|
}
|
|
3325
3610
|
function DropdownMenuSub(_a) {
|
|
3326
3611
|
var props = __objRest(_a, []);
|
|
3327
|
-
return /* @__PURE__ */
|
|
3612
|
+
return /* @__PURE__ */ jsx25(DropdownMenuPrimitive.Sub, __spreadValues({ "data-slot": "dropdown-menu-sub" }, props));
|
|
3328
3613
|
}
|
|
3329
3614
|
function DropdownMenuSubTrigger(_a) {
|
|
3330
3615
|
var _b = _a, {
|
|
@@ -3336,7 +3621,7 @@ function DropdownMenuSubTrigger(_a) {
|
|
|
3336
3621
|
"inset",
|
|
3337
3622
|
"children"
|
|
3338
3623
|
]);
|
|
3339
|
-
return /* @__PURE__ */
|
|
3624
|
+
return /* @__PURE__ */ jsxs17(
|
|
3340
3625
|
DropdownMenuPrimitive.SubTrigger,
|
|
3341
3626
|
__spreadProps(__spreadValues({
|
|
3342
3627
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -3348,7 +3633,7 @@ function DropdownMenuSubTrigger(_a) {
|
|
|
3348
3633
|
}, props), {
|
|
3349
3634
|
children: [
|
|
3350
3635
|
children,
|
|
3351
|
-
/* @__PURE__ */
|
|
3636
|
+
/* @__PURE__ */ jsx25(ChevronRightIcon4, { className: "ml-auto size-4" })
|
|
3352
3637
|
]
|
|
3353
3638
|
})
|
|
3354
3639
|
);
|
|
@@ -3359,7 +3644,7 @@ function DropdownMenuSubContent(_a) {
|
|
|
3359
3644
|
} = _b, props = __objRest(_b, [
|
|
3360
3645
|
"className"
|
|
3361
3646
|
]);
|
|
3362
|
-
return /* @__PURE__ */
|
|
3647
|
+
return /* @__PURE__ */ jsx25(
|
|
3363
3648
|
DropdownMenuPrimitive.SubContent,
|
|
3364
3649
|
__spreadValues({
|
|
3365
3650
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -3373,10 +3658,10 @@ function DropdownMenuSubContent(_a) {
|
|
|
3373
3658
|
|
|
3374
3659
|
// components/ui/empty.tsx
|
|
3375
3660
|
import { cva as cva6 } from "class-variance-authority";
|
|
3376
|
-
import { jsx as
|
|
3661
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
3377
3662
|
function Empty(_a) {
|
|
3378
3663
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3379
|
-
return /* @__PURE__ */
|
|
3664
|
+
return /* @__PURE__ */ jsx26(
|
|
3380
3665
|
"div",
|
|
3381
3666
|
__spreadValues({
|
|
3382
3667
|
"data-slot": "empty",
|
|
@@ -3389,7 +3674,7 @@ function Empty(_a) {
|
|
|
3389
3674
|
}
|
|
3390
3675
|
function EmptyHeader(_a) {
|
|
3391
3676
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3392
|
-
return /* @__PURE__ */
|
|
3677
|
+
return /* @__PURE__ */ jsx26(
|
|
3393
3678
|
"div",
|
|
3394
3679
|
__spreadValues({
|
|
3395
3680
|
"data-slot": "empty-header",
|
|
@@ -3422,7 +3707,7 @@ function EmptyMedia(_a) {
|
|
|
3422
3707
|
"className",
|
|
3423
3708
|
"variant"
|
|
3424
3709
|
]);
|
|
3425
|
-
return /* @__PURE__ */
|
|
3710
|
+
return /* @__PURE__ */ jsx26(
|
|
3426
3711
|
"div",
|
|
3427
3712
|
__spreadValues({
|
|
3428
3713
|
"data-slot": "empty-icon",
|
|
@@ -3433,7 +3718,7 @@ function EmptyMedia(_a) {
|
|
|
3433
3718
|
}
|
|
3434
3719
|
function EmptyTitle(_a) {
|
|
3435
3720
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3436
|
-
return /* @__PURE__ */
|
|
3721
|
+
return /* @__PURE__ */ jsx26(
|
|
3437
3722
|
"div",
|
|
3438
3723
|
__spreadValues({
|
|
3439
3724
|
"data-slot": "empty-title",
|
|
@@ -3443,7 +3728,7 @@ function EmptyTitle(_a) {
|
|
|
3443
3728
|
}
|
|
3444
3729
|
function EmptyDescription(_a) {
|
|
3445
3730
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3446
|
-
return /* @__PURE__ */
|
|
3731
|
+
return /* @__PURE__ */ jsx26(
|
|
3447
3732
|
"div",
|
|
3448
3733
|
__spreadValues({
|
|
3449
3734
|
"data-slot": "empty-description",
|
|
@@ -3456,7 +3741,7 @@ function EmptyDescription(_a) {
|
|
|
3456
3741
|
}
|
|
3457
3742
|
function EmptyContent(_a) {
|
|
3458
3743
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3459
|
-
return /* @__PURE__ */
|
|
3744
|
+
return /* @__PURE__ */ jsx26(
|
|
3460
3745
|
"div",
|
|
3461
3746
|
__spreadValues({
|
|
3462
3747
|
"data-slot": "empty-content",
|
|
@@ -3469,20 +3754,20 @@ function EmptyContent(_a) {
|
|
|
3469
3754
|
}
|
|
3470
3755
|
|
|
3471
3756
|
// components/ui/field.tsx
|
|
3472
|
-
import * as
|
|
3473
|
-
import { useMemo as
|
|
3757
|
+
import * as React8 from "react";
|
|
3758
|
+
import { useMemo as useMemo3 } from "react";
|
|
3474
3759
|
import { cva as cva7 } from "class-variance-authority";
|
|
3475
3760
|
|
|
3476
3761
|
// components/ui/label.tsx
|
|
3477
3762
|
import { Label as LabelPrimitive } from "radix-ui";
|
|
3478
|
-
import { jsx as
|
|
3763
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
3479
3764
|
function Label(_a) {
|
|
3480
3765
|
var _b = _a, {
|
|
3481
3766
|
className
|
|
3482
3767
|
} = _b, props = __objRest(_b, [
|
|
3483
3768
|
"className"
|
|
3484
3769
|
]);
|
|
3485
|
-
return /* @__PURE__ */
|
|
3770
|
+
return /* @__PURE__ */ jsx27(
|
|
3486
3771
|
LabelPrimitive.Root,
|
|
3487
3772
|
__spreadValues({
|
|
3488
3773
|
"data-slot": "label",
|
|
@@ -3498,7 +3783,7 @@ function Label(_a) {
|
|
|
3498
3783
|
|
|
3499
3784
|
// components/ui/separator.tsx
|
|
3500
3785
|
import { Separator as SeparatorPrimitive } from "radix-ui";
|
|
3501
|
-
import { jsx as
|
|
3786
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3502
3787
|
function Separator(_a) {
|
|
3503
3788
|
var _b = _a, {
|
|
3504
3789
|
className,
|
|
@@ -3509,7 +3794,7 @@ function Separator(_a) {
|
|
|
3509
3794
|
"orientation",
|
|
3510
3795
|
"decorative"
|
|
3511
3796
|
]);
|
|
3512
|
-
return /* @__PURE__ */
|
|
3797
|
+
return /* @__PURE__ */ jsx28(
|
|
3513
3798
|
SeparatorPrimitive.Root,
|
|
3514
3799
|
__spreadValues({
|
|
3515
3800
|
"data-slot": "separator",
|
|
@@ -3524,10 +3809,10 @@ function Separator(_a) {
|
|
|
3524
3809
|
}
|
|
3525
3810
|
|
|
3526
3811
|
// components/ui/field.tsx
|
|
3527
|
-
import { jsx as
|
|
3528
|
-
var FieldSizeContext =
|
|
3812
|
+
import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3813
|
+
var FieldSizeContext = React8.createContext("md");
|
|
3529
3814
|
function useFieldSize() {
|
|
3530
|
-
return
|
|
3815
|
+
return React8.useContext(FieldSizeContext);
|
|
3531
3816
|
}
|
|
3532
3817
|
var fieldLabelType = {
|
|
3533
3818
|
sm: "type-field-label-sm",
|
|
@@ -3536,7 +3821,7 @@ var fieldLabelType = {
|
|
|
3536
3821
|
};
|
|
3537
3822
|
function FieldSet(_a) {
|
|
3538
3823
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3539
|
-
return /* @__PURE__ */
|
|
3824
|
+
return /* @__PURE__ */ jsx29(
|
|
3540
3825
|
"fieldset",
|
|
3541
3826
|
__spreadValues({
|
|
3542
3827
|
"data-slot": "field-set",
|
|
@@ -3556,7 +3841,7 @@ function FieldLegend(_a) {
|
|
|
3556
3841
|
"className",
|
|
3557
3842
|
"variant"
|
|
3558
3843
|
]);
|
|
3559
|
-
return /* @__PURE__ */
|
|
3844
|
+
return /* @__PURE__ */ jsx29(
|
|
3560
3845
|
"legend",
|
|
3561
3846
|
__spreadValues({
|
|
3562
3847
|
"data-slot": "field-legend",
|
|
@@ -3573,7 +3858,7 @@ function FieldLegend(_a) {
|
|
|
3573
3858
|
}
|
|
3574
3859
|
function FieldGroup(_a) {
|
|
3575
3860
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3576
|
-
return /* @__PURE__ */
|
|
3861
|
+
return /* @__PURE__ */ jsx29(
|
|
3577
3862
|
"div",
|
|
3578
3863
|
__spreadValues({
|
|
3579
3864
|
"data-slot": "field-group",
|
|
@@ -3623,7 +3908,7 @@ function Field(_a) {
|
|
|
3623
3908
|
"orientation",
|
|
3624
3909
|
"size"
|
|
3625
3910
|
]);
|
|
3626
|
-
return /* @__PURE__ */
|
|
3911
|
+
return /* @__PURE__ */ jsx29(FieldSizeContext.Provider, { value: size != null ? size : "md", children: /* @__PURE__ */ jsx29(
|
|
3627
3912
|
"div",
|
|
3628
3913
|
__spreadValues({
|
|
3629
3914
|
role: "group",
|
|
@@ -3636,7 +3921,7 @@ function Field(_a) {
|
|
|
3636
3921
|
}
|
|
3637
3922
|
function FieldContent(_a) {
|
|
3638
3923
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3639
|
-
return /* @__PURE__ */
|
|
3924
|
+
return /* @__PURE__ */ jsx29(
|
|
3640
3925
|
"div",
|
|
3641
3926
|
__spreadValues({
|
|
3642
3927
|
"data-slot": "field-content",
|
|
@@ -3654,7 +3939,7 @@ function FieldLabel(_a) {
|
|
|
3654
3939
|
"className"
|
|
3655
3940
|
]);
|
|
3656
3941
|
const size = useFieldSize();
|
|
3657
|
-
return /* @__PURE__ */
|
|
3942
|
+
return /* @__PURE__ */ jsx29(
|
|
3658
3943
|
Label,
|
|
3659
3944
|
__spreadValues({
|
|
3660
3945
|
"data-slot": "field-label",
|
|
@@ -3671,7 +3956,7 @@ function FieldLabel(_a) {
|
|
|
3671
3956
|
function FieldTitle(_a) {
|
|
3672
3957
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3673
3958
|
const size = useFieldSize();
|
|
3674
|
-
return /* @__PURE__ */
|
|
3959
|
+
return /* @__PURE__ */ jsx29(
|
|
3675
3960
|
"div",
|
|
3676
3961
|
__spreadValues({
|
|
3677
3962
|
"data-slot": "field-label",
|
|
@@ -3685,7 +3970,7 @@ function FieldTitle(_a) {
|
|
|
3685
3970
|
}
|
|
3686
3971
|
function FieldDescription(_a) {
|
|
3687
3972
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3688
|
-
return /* @__PURE__ */
|
|
3973
|
+
return /* @__PURE__ */ jsx29(
|
|
3689
3974
|
"p",
|
|
3690
3975
|
__spreadValues({
|
|
3691
3976
|
"data-slot": "field-description",
|
|
@@ -3706,7 +3991,7 @@ function FieldSeparator(_a) {
|
|
|
3706
3991
|
"children",
|
|
3707
3992
|
"className"
|
|
3708
3993
|
]);
|
|
3709
|
-
return /* @__PURE__ */
|
|
3994
|
+
return /* @__PURE__ */ jsxs18(
|
|
3710
3995
|
"div",
|
|
3711
3996
|
__spreadProps(__spreadValues({
|
|
3712
3997
|
"data-slot": "field-separator",
|
|
@@ -3717,8 +4002,8 @@ function FieldSeparator(_a) {
|
|
|
3717
4002
|
)
|
|
3718
4003
|
}, props), {
|
|
3719
4004
|
children: [
|
|
3720
|
-
/* @__PURE__ */
|
|
3721
|
-
children && /* @__PURE__ */
|
|
4005
|
+
/* @__PURE__ */ jsx29(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
4006
|
+
children && /* @__PURE__ */ jsx29(
|
|
3722
4007
|
"span",
|
|
3723
4008
|
{
|
|
3724
4009
|
className: "relative mx-auto block w-fit bg-background-primary-surface px-2 text-text-subtle-default",
|
|
@@ -3740,7 +4025,7 @@ function FieldError(_a) {
|
|
|
3740
4025
|
"children",
|
|
3741
4026
|
"errors"
|
|
3742
4027
|
]);
|
|
3743
|
-
const content =
|
|
4028
|
+
const content = useMemo3(() => {
|
|
3744
4029
|
var _a2;
|
|
3745
4030
|
if (children) {
|
|
3746
4031
|
return children;
|
|
@@ -3754,14 +4039,14 @@ function FieldError(_a) {
|
|
|
3754
4039
|
if ((uniqueErrors == null ? void 0 : uniqueErrors.length) == 1) {
|
|
3755
4040
|
return (_a2 = uniqueErrors[0]) == null ? void 0 : _a2.message;
|
|
3756
4041
|
}
|
|
3757
|
-
return /* @__PURE__ */
|
|
3758
|
-
(error, index) => (error == null ? void 0 : error.message) && /* @__PURE__ */
|
|
4042
|
+
return /* @__PURE__ */ jsx29("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
|
|
4043
|
+
(error, index) => (error == null ? void 0 : error.message) && /* @__PURE__ */ jsx29("li", { children: error.message }, index)
|
|
3759
4044
|
) });
|
|
3760
4045
|
}, [children, errors]);
|
|
3761
4046
|
if (!content) {
|
|
3762
4047
|
return null;
|
|
3763
4048
|
}
|
|
3764
|
-
return /* @__PURE__ */
|
|
4049
|
+
return /* @__PURE__ */ jsx29(
|
|
3765
4050
|
"div",
|
|
3766
4051
|
__spreadProps(__spreadValues({
|
|
3767
4052
|
role: "alert",
|
|
@@ -3775,14 +4060,14 @@ function FieldError(_a) {
|
|
|
3775
4060
|
|
|
3776
4061
|
// components/ui/hover-card.tsx
|
|
3777
4062
|
import { HoverCard as HoverCardPrimitive } from "radix-ui";
|
|
3778
|
-
import { jsx as
|
|
4063
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
3779
4064
|
function HoverCard(_a) {
|
|
3780
4065
|
var props = __objRest(_a, []);
|
|
3781
|
-
return /* @__PURE__ */
|
|
4066
|
+
return /* @__PURE__ */ jsx30(HoverCardPrimitive.Root, __spreadValues({ "data-slot": "hover-card" }, props));
|
|
3782
4067
|
}
|
|
3783
4068
|
function HoverCardTrigger(_a) {
|
|
3784
4069
|
var props = __objRest(_a, []);
|
|
3785
|
-
return /* @__PURE__ */
|
|
4070
|
+
return /* @__PURE__ */ jsx30(HoverCardPrimitive.Trigger, __spreadValues({ "data-slot": "hover-card-trigger" }, props));
|
|
3786
4071
|
}
|
|
3787
4072
|
function HoverCardContent(_a) {
|
|
3788
4073
|
var _b = _a, {
|
|
@@ -3794,7 +4079,7 @@ function HoverCardContent(_a) {
|
|
|
3794
4079
|
"align",
|
|
3795
4080
|
"sideOffset"
|
|
3796
4081
|
]);
|
|
3797
|
-
return /* @__PURE__ */
|
|
4082
|
+
return /* @__PURE__ */ jsx30(HoverCardPrimitive.Portal, { "data-slot": "hover-card-portal", children: /* @__PURE__ */ jsx30(
|
|
3798
4083
|
HoverCardPrimitive.Content,
|
|
3799
4084
|
__spreadValues({
|
|
3800
4085
|
"data-slot": "hover-card-content",
|
|
@@ -3810,7 +4095,7 @@ function HoverCardContent(_a) {
|
|
|
3810
4095
|
|
|
3811
4096
|
// components/ui/input.tsx
|
|
3812
4097
|
import { cva as cva8 } from "class-variance-authority";
|
|
3813
|
-
import { jsx as
|
|
4098
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
3814
4099
|
var inputVariants = cva8(
|
|
3815
4100
|
[
|
|
3816
4101
|
"w-full min-w-0 rounded-xs border font-body transition-[color,box-shadow] outline-none",
|
|
@@ -3881,7 +4166,7 @@ function Input(_a) {
|
|
|
3881
4166
|
]);
|
|
3882
4167
|
const fieldSize = useFieldSize();
|
|
3883
4168
|
const resolvedSize = size != null ? size : fieldSize;
|
|
3884
|
-
return /* @__PURE__ */
|
|
4169
|
+
return /* @__PURE__ */ jsx31(
|
|
3885
4170
|
"input",
|
|
3886
4171
|
__spreadValues({
|
|
3887
4172
|
type,
|
|
@@ -3894,14 +4179,14 @@ function Input(_a) {
|
|
|
3894
4179
|
}
|
|
3895
4180
|
|
|
3896
4181
|
// components/ui/input-group.tsx
|
|
3897
|
-
import * as
|
|
4182
|
+
import * as React9 from "react";
|
|
3898
4183
|
import { cva as cva9 } from "class-variance-authority";
|
|
3899
4184
|
|
|
3900
4185
|
// components/ui/textarea.tsx
|
|
3901
|
-
import { jsx as
|
|
4186
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
3902
4187
|
function Textarea(_a) {
|
|
3903
4188
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
3904
|
-
return /* @__PURE__ */
|
|
4189
|
+
return /* @__PURE__ */ jsx32(
|
|
3905
4190
|
"textarea",
|
|
3906
4191
|
__spreadValues({
|
|
3907
4192
|
"data-slot": "textarea",
|
|
@@ -3914,9 +4199,9 @@ function Textarea(_a) {
|
|
|
3914
4199
|
}
|
|
3915
4200
|
|
|
3916
4201
|
// components/ui/input-group.tsx
|
|
3917
|
-
import { jsx as
|
|
3918
|
-
var InputGroupSizeContext =
|
|
3919
|
-
var InputGroupVariantContext =
|
|
4202
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
4203
|
+
var InputGroupSizeContext = React9.createContext("md");
|
|
4204
|
+
var InputGroupVariantContext = React9.createContext("default");
|
|
3920
4205
|
var inputGroupVariants = cva9(
|
|
3921
4206
|
[
|
|
3922
4207
|
"group/input-group relative flex w-full items-center rounded-xs border",
|
|
@@ -3975,11 +4260,11 @@ function InputGroup(_a) {
|
|
|
3975
4260
|
]);
|
|
3976
4261
|
const fieldSize = useFieldSize();
|
|
3977
4262
|
const resolvedSize = size != null ? size : fieldSize;
|
|
3978
|
-
return /* @__PURE__ */
|
|
4263
|
+
return /* @__PURE__ */ jsx33(
|
|
3979
4264
|
InputGroupVariantContext.Provider,
|
|
3980
4265
|
{
|
|
3981
4266
|
value: variant,
|
|
3982
|
-
children: /* @__PURE__ */
|
|
4267
|
+
children: /* @__PURE__ */ jsx33(InputGroupSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx33(
|
|
3983
4268
|
"div",
|
|
3984
4269
|
__spreadValues({
|
|
3985
4270
|
"data-slot": "input-group",
|
|
@@ -4034,7 +4319,7 @@ function InputGroupAddon(_a) {
|
|
|
4034
4319
|
"className",
|
|
4035
4320
|
"align"
|
|
4036
4321
|
]);
|
|
4037
|
-
return /* @__PURE__ */
|
|
4322
|
+
return /* @__PURE__ */ jsx33(
|
|
4038
4323
|
"div",
|
|
4039
4324
|
__spreadValues({
|
|
4040
4325
|
role: "group",
|
|
@@ -4081,7 +4366,7 @@ function InputGroupButton(_a) {
|
|
|
4081
4366
|
"variant",
|
|
4082
4367
|
"size"
|
|
4083
4368
|
]);
|
|
4084
|
-
return /* @__PURE__ */
|
|
4369
|
+
return /* @__PURE__ */ jsx33(
|
|
4085
4370
|
Button,
|
|
4086
4371
|
__spreadValues({
|
|
4087
4372
|
type,
|
|
@@ -4094,7 +4379,7 @@ function InputGroupButton(_a) {
|
|
|
4094
4379
|
}
|
|
4095
4380
|
function InputGroupText(_a) {
|
|
4096
4381
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4097
|
-
return /* @__PURE__ */
|
|
4382
|
+
return /* @__PURE__ */ jsx33(
|
|
4098
4383
|
"span",
|
|
4099
4384
|
__spreadValues({
|
|
4100
4385
|
className: cn(
|
|
@@ -4123,11 +4408,11 @@ function InputGroupInput(_a) {
|
|
|
4123
4408
|
"size",
|
|
4124
4409
|
"variant"
|
|
4125
4410
|
]);
|
|
4126
|
-
const groupSize =
|
|
4127
|
-
const groupVariant =
|
|
4411
|
+
const groupSize = React9.useContext(InputGroupSizeContext);
|
|
4412
|
+
const groupVariant = React9.useContext(InputGroupVariantContext);
|
|
4128
4413
|
const size = sizeProp != null ? sizeProp : groupSize;
|
|
4129
4414
|
const variant = variantProp != null ? variantProp : groupVariant;
|
|
4130
|
-
return /* @__PURE__ */
|
|
4415
|
+
return /* @__PURE__ */ jsx33(
|
|
4131
4416
|
Input,
|
|
4132
4417
|
__spreadValues({
|
|
4133
4418
|
"data-slot": "input-group-control",
|
|
@@ -4146,7 +4431,7 @@ function InputGroupTextarea(_a) {
|
|
|
4146
4431
|
} = _b, props = __objRest(_b, [
|
|
4147
4432
|
"className"
|
|
4148
4433
|
]);
|
|
4149
|
-
return /* @__PURE__ */
|
|
4434
|
+
return /* @__PURE__ */ jsx33(
|
|
4150
4435
|
Textarea,
|
|
4151
4436
|
__spreadValues({
|
|
4152
4437
|
"data-slot": "input-group-control",
|
|
@@ -4159,10 +4444,10 @@ function InputGroupTextarea(_a) {
|
|
|
4159
4444
|
}
|
|
4160
4445
|
|
|
4161
4446
|
// components/ui/input-otp.tsx
|
|
4162
|
-
import * as
|
|
4447
|
+
import * as React10 from "react";
|
|
4163
4448
|
import { OTPInput, OTPInputContext } from "input-otp";
|
|
4164
4449
|
import { MinusIcon } from "lucide-react";
|
|
4165
|
-
import { jsx as
|
|
4450
|
+
import { jsx as jsx34, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
4166
4451
|
function InputOTP(_a) {
|
|
4167
4452
|
var _b = _a, {
|
|
4168
4453
|
className,
|
|
@@ -4171,7 +4456,7 @@ function InputOTP(_a) {
|
|
|
4171
4456
|
"className",
|
|
4172
4457
|
"containerClassName"
|
|
4173
4458
|
]);
|
|
4174
|
-
return /* @__PURE__ */
|
|
4459
|
+
return /* @__PURE__ */ jsx34(
|
|
4175
4460
|
OTPInput,
|
|
4176
4461
|
__spreadValues({
|
|
4177
4462
|
"data-slot": "input-otp",
|
|
@@ -4185,7 +4470,7 @@ function InputOTP(_a) {
|
|
|
4185
4470
|
}
|
|
4186
4471
|
function InputOTPGroup(_a) {
|
|
4187
4472
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4188
|
-
return /* @__PURE__ */
|
|
4473
|
+
return /* @__PURE__ */ jsx34(
|
|
4189
4474
|
"div",
|
|
4190
4475
|
__spreadValues({
|
|
4191
4476
|
"data-slot": "input-otp-group",
|
|
@@ -4202,9 +4487,9 @@ function InputOTPSlot(_a) {
|
|
|
4202
4487
|
"className"
|
|
4203
4488
|
]);
|
|
4204
4489
|
var _a2;
|
|
4205
|
-
const inputOTPContext =
|
|
4490
|
+
const inputOTPContext = React10.useContext(OTPInputContext);
|
|
4206
4491
|
const { char, hasFakeCaret, isActive } = (_a2 = inputOTPContext == null ? void 0 : inputOTPContext.slots[index]) != null ? _a2 : {};
|
|
4207
|
-
return /* @__PURE__ */
|
|
4492
|
+
return /* @__PURE__ */ jsxs19(
|
|
4208
4493
|
"div",
|
|
4209
4494
|
__spreadProps(__spreadValues({
|
|
4210
4495
|
"data-slot": "input-otp-slot",
|
|
@@ -4216,20 +4501,20 @@ function InputOTPSlot(_a) {
|
|
|
4216
4501
|
}, props), {
|
|
4217
4502
|
children: [
|
|
4218
4503
|
char,
|
|
4219
|
-
hasFakeCaret && /* @__PURE__ */
|
|
4504
|
+
hasFakeCaret && /* @__PURE__ */ jsx34("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx34("div", { className: "h-4 w-px animate-caret-blink bg-text-prominent-default duration-1000" }) })
|
|
4220
4505
|
]
|
|
4221
4506
|
})
|
|
4222
4507
|
);
|
|
4223
4508
|
}
|
|
4224
4509
|
function InputOTPSeparator(_a) {
|
|
4225
4510
|
var props = __objRest(_a, []);
|
|
4226
|
-
return /* @__PURE__ */
|
|
4511
|
+
return /* @__PURE__ */ jsx34("div", __spreadProps(__spreadValues({ "data-slot": "input-otp-separator", role: "separator" }, props), { children: /* @__PURE__ */ jsx34(MinusIcon, {}) }));
|
|
4227
4512
|
}
|
|
4228
4513
|
|
|
4229
4514
|
// components/ui/item.tsx
|
|
4230
4515
|
import { cva as cva10 } from "class-variance-authority";
|
|
4231
4516
|
import { Slot as Slot6 } from "radix-ui";
|
|
4232
|
-
import { jsx as
|
|
4517
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
4233
4518
|
function ItemGroup(_a) {
|
|
4234
4519
|
var _b = _a, {
|
|
4235
4520
|
className,
|
|
@@ -4238,7 +4523,7 @@ function ItemGroup(_a) {
|
|
|
4238
4523
|
"className",
|
|
4239
4524
|
"divider"
|
|
4240
4525
|
]);
|
|
4241
|
-
return /* @__PURE__ */
|
|
4526
|
+
return /* @__PURE__ */ jsx35(
|
|
4242
4527
|
"div",
|
|
4243
4528
|
__spreadValues({
|
|
4244
4529
|
role: "list",
|
|
@@ -4271,7 +4556,7 @@ function ItemSeparator(_a) {
|
|
|
4271
4556
|
} = _b, props = __objRest(_b, [
|
|
4272
4557
|
"className"
|
|
4273
4558
|
]);
|
|
4274
|
-
return /* @__PURE__ */
|
|
4559
|
+
return /* @__PURE__ */ jsx35(
|
|
4275
4560
|
Separator,
|
|
4276
4561
|
__spreadValues({
|
|
4277
4562
|
"data-slot": "item-separator",
|
|
@@ -4281,12 +4566,21 @@ function ItemSeparator(_a) {
|
|
|
4281
4566
|
);
|
|
4282
4567
|
}
|
|
4283
4568
|
var itemVariants = cva10(
|
|
4284
|
-
"group/item type-item-description flex flex-wrap items-center rounded-
|
|
4569
|
+
"group/item type-item-description flex flex-wrap items-center rounded-2xl border border-transparent transition-colors duration-instant outline-none focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong [a]:transition-colors [a]:hover:bg-background-hover-default",
|
|
4285
4570
|
{
|
|
4286
4571
|
variants: {
|
|
4287
4572
|
variant: {
|
|
4288
4573
|
default: "bg-transparent",
|
|
4289
4574
|
outline: "border-border-default-default text-text-prominent-default hover:bg-background-hover-default",
|
|
4575
|
+
/* `fill` is `outline` plus a solid surface: a bordered card that reads
|
|
4576
|
+
as its own plane on the page canvas, the wallet-ledger pattern.
|
|
4577
|
+
Its hover steps primary -> secondary surface like the default Chip,
|
|
4578
|
+
because the shared `background-hover-default` glaze is translucent —
|
|
4579
|
+
laid over a filled row it would let the canvas show through instead
|
|
4580
|
+
of darkening the fill. The `[a]:` rule repeats for the same reason:
|
|
4581
|
+
the base link hover is that same glaze and outranks a plain
|
|
4582
|
+
`hover:` on an anchor. */
|
|
4583
|
+
fill: "bg-background-primary-surface border-border-default-default text-text-prominent-default hover:bg-background-secondary-surface [a]:hover:bg-background-secondary-surface",
|
|
4290
4584
|
muted: "bg-background-secondary-surface"
|
|
4291
4585
|
},
|
|
4292
4586
|
size: {
|
|
@@ -4313,7 +4607,7 @@ function Item(_a) {
|
|
|
4313
4607
|
"asChild"
|
|
4314
4608
|
]);
|
|
4315
4609
|
const Comp = asChild ? Slot6.Root : "div";
|
|
4316
|
-
return /* @__PURE__ */
|
|
4610
|
+
return /* @__PURE__ */ jsx35(
|
|
4317
4611
|
Comp,
|
|
4318
4612
|
__spreadValues({
|
|
4319
4613
|
"data-slot": "item",
|
|
@@ -4346,7 +4640,7 @@ function ItemMedia(_a) {
|
|
|
4346
4640
|
"className",
|
|
4347
4641
|
"variant"
|
|
4348
4642
|
]);
|
|
4349
|
-
return /* @__PURE__ */
|
|
4643
|
+
return /* @__PURE__ */ jsx35(
|
|
4350
4644
|
"div",
|
|
4351
4645
|
__spreadValues({
|
|
4352
4646
|
"data-slot": "item-media",
|
|
@@ -4357,7 +4651,7 @@ function ItemMedia(_a) {
|
|
|
4357
4651
|
}
|
|
4358
4652
|
function ItemContent(_a) {
|
|
4359
4653
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4360
|
-
return /* @__PURE__ */
|
|
4654
|
+
return /* @__PURE__ */ jsx35(
|
|
4361
4655
|
"div",
|
|
4362
4656
|
__spreadValues({
|
|
4363
4657
|
"data-slot": "item-content",
|
|
@@ -4370,7 +4664,7 @@ function ItemContent(_a) {
|
|
|
4370
4664
|
}
|
|
4371
4665
|
function ItemTitle(_a) {
|
|
4372
4666
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4373
|
-
return /* @__PURE__ */
|
|
4667
|
+
return /* @__PURE__ */ jsx35(
|
|
4374
4668
|
"div",
|
|
4375
4669
|
__spreadValues({
|
|
4376
4670
|
"data-slot": "item-title",
|
|
@@ -4383,7 +4677,7 @@ function ItemTitle(_a) {
|
|
|
4383
4677
|
}
|
|
4384
4678
|
function ItemDescription(_a) {
|
|
4385
4679
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4386
|
-
return /* @__PURE__ */
|
|
4680
|
+
return /* @__PURE__ */ jsx35(
|
|
4387
4681
|
"p",
|
|
4388
4682
|
__spreadValues({
|
|
4389
4683
|
"data-slot": "item-description",
|
|
@@ -4397,7 +4691,7 @@ function ItemDescription(_a) {
|
|
|
4397
4691
|
}
|
|
4398
4692
|
function ItemActions(_a) {
|
|
4399
4693
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4400
|
-
return /* @__PURE__ */
|
|
4694
|
+
return /* @__PURE__ */ jsx35(
|
|
4401
4695
|
"div",
|
|
4402
4696
|
__spreadValues({
|
|
4403
4697
|
"data-slot": "item-actions",
|
|
@@ -4407,7 +4701,7 @@ function ItemActions(_a) {
|
|
|
4407
4701
|
}
|
|
4408
4702
|
function ItemHeader(_a) {
|
|
4409
4703
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4410
|
-
return /* @__PURE__ */
|
|
4704
|
+
return /* @__PURE__ */ jsx35(
|
|
4411
4705
|
"div",
|
|
4412
4706
|
__spreadValues({
|
|
4413
4707
|
"data-slot": "item-header",
|
|
@@ -4420,7 +4714,7 @@ function ItemHeader(_a) {
|
|
|
4420
4714
|
}
|
|
4421
4715
|
function ItemFooter(_a) {
|
|
4422
4716
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
4423
|
-
return /* @__PURE__ */
|
|
4717
|
+
return /* @__PURE__ */ jsx35(
|
|
4424
4718
|
"div",
|
|
4425
4719
|
__spreadValues({
|
|
4426
4720
|
"data-slot": "item-footer",
|
|
@@ -4435,7 +4729,7 @@ function ItemFooter(_a) {
|
|
|
4435
4729
|
// components/ui/link.tsx
|
|
4436
4730
|
import { cva as cva11 } from "class-variance-authority";
|
|
4437
4731
|
import { Slot as Slot7 } from "radix-ui";
|
|
4438
|
-
import { jsx as
|
|
4732
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
4439
4733
|
var linkVariants = cva11(
|
|
4440
4734
|
[
|
|
4441
4735
|
"inline-flex shrink-0 items-center gap-1.5 whitespace-nowrap transition-colors outline-none focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong active:opacity-60 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:inline font-display normal-case",
|
|
@@ -4477,7 +4771,7 @@ function Link(_a) {
|
|
|
4477
4771
|
"asChild"
|
|
4478
4772
|
]);
|
|
4479
4773
|
const Comp = asChild ? Slot7.Root : "a";
|
|
4480
|
-
return /* @__PURE__ */
|
|
4774
|
+
return /* @__PURE__ */ jsx36(
|
|
4481
4775
|
Comp,
|
|
4482
4776
|
__spreadValues({
|
|
4483
4777
|
"data-slot": "link",
|
|
@@ -4491,14 +4785,14 @@ function Link(_a) {
|
|
|
4491
4785
|
// components/ui/menubar.tsx
|
|
4492
4786
|
import { CheckIcon as CheckIcon5, ChevronRightIcon as ChevronRightIcon5, CircleIcon as CircleIcon3 } from "lucide-react";
|
|
4493
4787
|
import { Menubar as MenubarPrimitive } from "radix-ui";
|
|
4494
|
-
import { jsx as
|
|
4788
|
+
import { jsx as jsx37, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
4495
4789
|
function Menubar(_a) {
|
|
4496
4790
|
var _b = _a, {
|
|
4497
4791
|
className
|
|
4498
4792
|
} = _b, props = __objRest(_b, [
|
|
4499
4793
|
"className"
|
|
4500
4794
|
]);
|
|
4501
|
-
return /* @__PURE__ */
|
|
4795
|
+
return /* @__PURE__ */ jsx37(
|
|
4502
4796
|
MenubarPrimitive.Root,
|
|
4503
4797
|
__spreadValues({
|
|
4504
4798
|
"data-slot": "menubar",
|
|
@@ -4511,19 +4805,19 @@ function Menubar(_a) {
|
|
|
4511
4805
|
}
|
|
4512
4806
|
function MenubarMenu(_a) {
|
|
4513
4807
|
var props = __objRest(_a, []);
|
|
4514
|
-
return /* @__PURE__ */
|
|
4808
|
+
return /* @__PURE__ */ jsx37(MenubarPrimitive.Menu, __spreadValues({ "data-slot": "menubar-menu" }, props));
|
|
4515
4809
|
}
|
|
4516
4810
|
function MenubarGroup(_a) {
|
|
4517
4811
|
var props = __objRest(_a, []);
|
|
4518
|
-
return /* @__PURE__ */
|
|
4812
|
+
return /* @__PURE__ */ jsx37(MenubarPrimitive.Group, __spreadValues({ "data-slot": "menubar-group" }, props));
|
|
4519
4813
|
}
|
|
4520
4814
|
function MenubarPortal(_a) {
|
|
4521
4815
|
var props = __objRest(_a, []);
|
|
4522
|
-
return /* @__PURE__ */
|
|
4816
|
+
return /* @__PURE__ */ jsx37(MenubarPrimitive.Portal, __spreadValues({ "data-slot": "menubar-portal" }, props));
|
|
4523
4817
|
}
|
|
4524
4818
|
function MenubarRadioGroup(_a) {
|
|
4525
4819
|
var props = __objRest(_a, []);
|
|
4526
|
-
return /* @__PURE__ */
|
|
4820
|
+
return /* @__PURE__ */ jsx37(MenubarPrimitive.RadioGroup, __spreadValues({ "data-slot": "menubar-radio-group" }, props));
|
|
4527
4821
|
}
|
|
4528
4822
|
function MenubarTrigger(_a) {
|
|
4529
4823
|
var _b = _a, {
|
|
@@ -4531,7 +4825,7 @@ function MenubarTrigger(_a) {
|
|
|
4531
4825
|
} = _b, props = __objRest(_b, [
|
|
4532
4826
|
"className"
|
|
4533
4827
|
]);
|
|
4534
|
-
return /* @__PURE__ */
|
|
4828
|
+
return /* @__PURE__ */ jsx37(
|
|
4535
4829
|
MenubarPrimitive.Trigger,
|
|
4536
4830
|
__spreadValues({
|
|
4537
4831
|
"data-slot": "menubar-trigger",
|
|
@@ -4554,7 +4848,7 @@ function MenubarContent(_a) {
|
|
|
4554
4848
|
"alignOffset",
|
|
4555
4849
|
"sideOffset"
|
|
4556
4850
|
]);
|
|
4557
|
-
return /* @__PURE__ */
|
|
4851
|
+
return /* @__PURE__ */ jsx37(MenubarPortal, { children: /* @__PURE__ */ jsx37(
|
|
4558
4852
|
MenubarPrimitive.Content,
|
|
4559
4853
|
__spreadValues({
|
|
4560
4854
|
"data-slot": "menubar-content",
|
|
@@ -4578,7 +4872,7 @@ function MenubarItem(_a) {
|
|
|
4578
4872
|
"inset",
|
|
4579
4873
|
"variant"
|
|
4580
4874
|
]);
|
|
4581
|
-
return /* @__PURE__ */
|
|
4875
|
+
return /* @__PURE__ */ jsx37(
|
|
4582
4876
|
MenubarPrimitive.Item,
|
|
4583
4877
|
__spreadValues({
|
|
4584
4878
|
"data-slot": "menubar-item",
|
|
@@ -4601,7 +4895,7 @@ function MenubarCheckboxItem(_a) {
|
|
|
4601
4895
|
"children",
|
|
4602
4896
|
"checked"
|
|
4603
4897
|
]);
|
|
4604
|
-
return /* @__PURE__ */
|
|
4898
|
+
return /* @__PURE__ */ jsxs20(
|
|
4605
4899
|
MenubarPrimitive.CheckboxItem,
|
|
4606
4900
|
__spreadProps(__spreadValues({
|
|
4607
4901
|
"data-slot": "menubar-checkbox-item",
|
|
@@ -4612,7 +4906,7 @@ function MenubarCheckboxItem(_a) {
|
|
|
4612
4906
|
checked
|
|
4613
4907
|
}, props), {
|
|
4614
4908
|
children: [
|
|
4615
|
-
/* @__PURE__ */
|
|
4909
|
+
/* @__PURE__ */ jsx37("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx37(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx37(CheckIcon5, { className: "size-4" }) }) }),
|
|
4616
4910
|
children
|
|
4617
4911
|
]
|
|
4618
4912
|
})
|
|
@@ -4626,7 +4920,7 @@ function MenubarRadioItem(_a) {
|
|
|
4626
4920
|
"className",
|
|
4627
4921
|
"children"
|
|
4628
4922
|
]);
|
|
4629
|
-
return /* @__PURE__ */
|
|
4923
|
+
return /* @__PURE__ */ jsxs20(
|
|
4630
4924
|
MenubarPrimitive.RadioItem,
|
|
4631
4925
|
__spreadProps(__spreadValues({
|
|
4632
4926
|
"data-slot": "menubar-radio-item",
|
|
@@ -4636,7 +4930,7 @@ function MenubarRadioItem(_a) {
|
|
|
4636
4930
|
)
|
|
4637
4931
|
}, props), {
|
|
4638
4932
|
children: [
|
|
4639
|
-
/* @__PURE__ */
|
|
4933
|
+
/* @__PURE__ */ jsx37("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx37(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx37(CircleIcon3, { className: "size-2 fill-current" }) }) }),
|
|
4640
4934
|
children
|
|
4641
4935
|
]
|
|
4642
4936
|
})
|
|
@@ -4650,7 +4944,7 @@ function MenubarLabel(_a) {
|
|
|
4650
4944
|
"className",
|
|
4651
4945
|
"inset"
|
|
4652
4946
|
]);
|
|
4653
|
-
return /* @__PURE__ */
|
|
4947
|
+
return /* @__PURE__ */ jsx37(
|
|
4654
4948
|
MenubarPrimitive.Label,
|
|
4655
4949
|
__spreadValues({
|
|
4656
4950
|
"data-slot": "menubar-label",
|
|
@@ -4668,7 +4962,7 @@ function MenubarSeparator(_a) {
|
|
|
4668
4962
|
} = _b, props = __objRest(_b, [
|
|
4669
4963
|
"className"
|
|
4670
4964
|
]);
|
|
4671
|
-
return /* @__PURE__ */
|
|
4965
|
+
return /* @__PURE__ */ jsx37(
|
|
4672
4966
|
MenubarPrimitive.Separator,
|
|
4673
4967
|
__spreadValues({
|
|
4674
4968
|
"data-slot": "menubar-separator",
|
|
@@ -4682,7 +4976,7 @@ function MenubarShortcut(_a) {
|
|
|
4682
4976
|
} = _b, props = __objRest(_b, [
|
|
4683
4977
|
"className"
|
|
4684
4978
|
]);
|
|
4685
|
-
return /* @__PURE__ */
|
|
4979
|
+
return /* @__PURE__ */ jsx37(
|
|
4686
4980
|
"span",
|
|
4687
4981
|
__spreadValues({
|
|
4688
4982
|
"data-slot": "menubar-shortcut",
|
|
@@ -4695,7 +4989,7 @@ function MenubarShortcut(_a) {
|
|
|
4695
4989
|
}
|
|
4696
4990
|
function MenubarSub(_a) {
|
|
4697
4991
|
var props = __objRest(_a, []);
|
|
4698
|
-
return /* @__PURE__ */
|
|
4992
|
+
return /* @__PURE__ */ jsx37(MenubarPrimitive.Sub, __spreadValues({ "data-slot": "menubar-sub" }, props));
|
|
4699
4993
|
}
|
|
4700
4994
|
function MenubarSubTrigger(_a) {
|
|
4701
4995
|
var _b = _a, {
|
|
@@ -4707,7 +5001,7 @@ function MenubarSubTrigger(_a) {
|
|
|
4707
5001
|
"inset",
|
|
4708
5002
|
"children"
|
|
4709
5003
|
]);
|
|
4710
|
-
return /* @__PURE__ */
|
|
5004
|
+
return /* @__PURE__ */ jsxs20(
|
|
4711
5005
|
MenubarPrimitive.SubTrigger,
|
|
4712
5006
|
__spreadProps(__spreadValues({
|
|
4713
5007
|
"data-slot": "menubar-sub-trigger",
|
|
@@ -4719,7 +5013,7 @@ function MenubarSubTrigger(_a) {
|
|
|
4719
5013
|
}, props), {
|
|
4720
5014
|
children: [
|
|
4721
5015
|
children,
|
|
4722
|
-
/* @__PURE__ */
|
|
5016
|
+
/* @__PURE__ */ jsx37(ChevronRightIcon5, { className: "ml-auto" })
|
|
4723
5017
|
]
|
|
4724
5018
|
})
|
|
4725
5019
|
);
|
|
@@ -4730,7 +5024,7 @@ function MenubarSubContent(_a) {
|
|
|
4730
5024
|
} = _b, props = __objRest(_b, [
|
|
4731
5025
|
"className"
|
|
4732
5026
|
]);
|
|
4733
|
-
return /* @__PURE__ */
|
|
5027
|
+
return /* @__PURE__ */ jsx37(
|
|
4734
5028
|
MenubarPrimitive.SubContent,
|
|
4735
5029
|
__spreadValues({
|
|
4736
5030
|
"data-slot": "menubar-sub-content",
|
|
@@ -4744,7 +5038,7 @@ function MenubarSubContent(_a) {
|
|
|
4744
5038
|
|
|
4745
5039
|
// components/ui/native-select.tsx
|
|
4746
5040
|
import { ChevronDownIcon as ChevronDownIcon4 } from "lucide-react";
|
|
4747
|
-
import { jsx as
|
|
5041
|
+
import { jsx as jsx38, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
4748
5042
|
var sizeClasses = {
|
|
4749
5043
|
sm: "type-native-select-sm h-8 py-1",
|
|
4750
5044
|
md: "type-native-select-md h-10 py-2",
|
|
@@ -4760,13 +5054,13 @@ function NativeSelect(_a) {
|
|
|
4760
5054
|
]);
|
|
4761
5055
|
const fieldSize = useFieldSize();
|
|
4762
5056
|
const resolvedSize = size === "default" || size == null ? size == null ? fieldSize : "md" : size;
|
|
4763
|
-
return /* @__PURE__ */
|
|
5057
|
+
return /* @__PURE__ */ jsxs21(
|
|
4764
5058
|
"div",
|
|
4765
5059
|
{
|
|
4766
5060
|
className: "group/native-select relative w-fit has-[select:disabled]:text-text-disabled-default",
|
|
4767
5061
|
"data-slot": "native-select-wrapper",
|
|
4768
5062
|
children: [
|
|
4769
|
-
/* @__PURE__ */
|
|
5063
|
+
/* @__PURE__ */ jsx38(
|
|
4770
5064
|
"select",
|
|
4771
5065
|
__spreadValues({
|
|
4772
5066
|
"data-slot": "native-select",
|
|
@@ -4779,7 +5073,7 @@ function NativeSelect(_a) {
|
|
|
4779
5073
|
)
|
|
4780
5074
|
}, props)
|
|
4781
5075
|
),
|
|
4782
|
-
/* @__PURE__ */
|
|
5076
|
+
/* @__PURE__ */ jsx38(
|
|
4783
5077
|
ChevronDownIcon4,
|
|
4784
5078
|
{
|
|
4785
5079
|
className: "pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 text-icon-subtle-default select-none group-has-[select:disabled]/native-select:text-icon-disabled-default",
|
|
@@ -4793,7 +5087,7 @@ function NativeSelect(_a) {
|
|
|
4793
5087
|
}
|
|
4794
5088
|
function NativeSelectOption(_a) {
|
|
4795
5089
|
var props = __objRest(_a, []);
|
|
4796
|
-
return /* @__PURE__ */
|
|
5090
|
+
return /* @__PURE__ */ jsx38("option", __spreadValues({ "data-slot": "native-select-option" }, props));
|
|
4797
5091
|
}
|
|
4798
5092
|
function NativeSelectOptGroup(_a) {
|
|
4799
5093
|
var _b = _a, {
|
|
@@ -4801,7 +5095,7 @@ function NativeSelectOptGroup(_a) {
|
|
|
4801
5095
|
} = _b, props = __objRest(_b, [
|
|
4802
5096
|
"className"
|
|
4803
5097
|
]);
|
|
4804
|
-
return /* @__PURE__ */
|
|
5098
|
+
return /* @__PURE__ */ jsx38(
|
|
4805
5099
|
"optgroup",
|
|
4806
5100
|
__spreadValues({
|
|
4807
5101
|
"data-slot": "native-select-optgroup",
|
|
@@ -4814,7 +5108,7 @@ function NativeSelectOptGroup(_a) {
|
|
|
4814
5108
|
import { cva as cva12 } from "class-variance-authority";
|
|
4815
5109
|
import { ChevronDownIcon as ChevronDownIcon5 } from "lucide-react";
|
|
4816
5110
|
import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
|
|
4817
|
-
import { jsx as
|
|
5111
|
+
import { jsx as jsx39, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
4818
5112
|
function NavigationMenu(_a) {
|
|
4819
5113
|
var _b = _a, {
|
|
4820
5114
|
className,
|
|
@@ -4825,7 +5119,7 @@ function NavigationMenu(_a) {
|
|
|
4825
5119
|
"children",
|
|
4826
5120
|
"viewport"
|
|
4827
5121
|
]);
|
|
4828
|
-
return /* @__PURE__ */
|
|
5122
|
+
return /* @__PURE__ */ jsxs22(
|
|
4829
5123
|
NavigationMenuPrimitive.Root,
|
|
4830
5124
|
__spreadProps(__spreadValues({
|
|
4831
5125
|
"data-slot": "navigation-menu",
|
|
@@ -4837,7 +5131,7 @@ function NavigationMenu(_a) {
|
|
|
4837
5131
|
}, props), {
|
|
4838
5132
|
children: [
|
|
4839
5133
|
children,
|
|
4840
|
-
viewport && /* @__PURE__ */
|
|
5134
|
+
viewport && /* @__PURE__ */ jsx39(NavigationMenuViewport, {})
|
|
4841
5135
|
]
|
|
4842
5136
|
})
|
|
4843
5137
|
);
|
|
@@ -4848,7 +5142,7 @@ function NavigationMenuList(_a) {
|
|
|
4848
5142
|
} = _b, props = __objRest(_b, [
|
|
4849
5143
|
"className"
|
|
4850
5144
|
]);
|
|
4851
|
-
return /* @__PURE__ */
|
|
5145
|
+
return /* @__PURE__ */ jsx39(
|
|
4852
5146
|
NavigationMenuPrimitive.List,
|
|
4853
5147
|
__spreadValues({
|
|
4854
5148
|
"data-slot": "navigation-menu-list",
|
|
@@ -4865,7 +5159,7 @@ function NavigationMenuItem(_a) {
|
|
|
4865
5159
|
} = _b, props = __objRest(_b, [
|
|
4866
5160
|
"className"
|
|
4867
5161
|
]);
|
|
4868
|
-
return /* @__PURE__ */
|
|
5162
|
+
return /* @__PURE__ */ jsx39(
|
|
4869
5163
|
NavigationMenuPrimitive.Item,
|
|
4870
5164
|
__spreadValues({
|
|
4871
5165
|
"data-slot": "navigation-menu-item",
|
|
@@ -4884,7 +5178,7 @@ function NavigationMenuTrigger(_a) {
|
|
|
4884
5178
|
"className",
|
|
4885
5179
|
"children"
|
|
4886
5180
|
]);
|
|
4887
|
-
return /* @__PURE__ */
|
|
5181
|
+
return /* @__PURE__ */ jsxs22(
|
|
4888
5182
|
NavigationMenuPrimitive.Trigger,
|
|
4889
5183
|
__spreadProps(__spreadValues({
|
|
4890
5184
|
"data-slot": "navigation-menu-trigger",
|
|
@@ -4893,7 +5187,7 @@ function NavigationMenuTrigger(_a) {
|
|
|
4893
5187
|
children: [
|
|
4894
5188
|
children,
|
|
4895
5189
|
" ",
|
|
4896
|
-
/* @__PURE__ */
|
|
5190
|
+
/* @__PURE__ */ jsx39(
|
|
4897
5191
|
ChevronDownIcon5,
|
|
4898
5192
|
{
|
|
4899
5193
|
className: "relative top-[1px] ml-1 size-3 transition duration-slow group-data-[state=open]:rotate-180",
|
|
@@ -4910,7 +5204,7 @@ function NavigationMenuContent(_a) {
|
|
|
4910
5204
|
} = _b, props = __objRest(_b, [
|
|
4911
5205
|
"className"
|
|
4912
5206
|
]);
|
|
4913
|
-
return /* @__PURE__ */
|
|
5207
|
+
return /* @__PURE__ */ jsx39(
|
|
4914
5208
|
NavigationMenuPrimitive.Content,
|
|
4915
5209
|
__spreadValues({
|
|
4916
5210
|
"data-slot": "navigation-menu-content",
|
|
@@ -4928,13 +5222,13 @@ function NavigationMenuViewport(_a) {
|
|
|
4928
5222
|
} = _b, props = __objRest(_b, [
|
|
4929
5223
|
"className"
|
|
4930
5224
|
]);
|
|
4931
|
-
return /* @__PURE__ */
|
|
5225
|
+
return /* @__PURE__ */ jsx39(
|
|
4932
5226
|
"div",
|
|
4933
5227
|
{
|
|
4934
5228
|
className: cn(
|
|
4935
5229
|
"absolute top-full left-0 isolate z-50 flex justify-center"
|
|
4936
5230
|
),
|
|
4937
|
-
children: /* @__PURE__ */
|
|
5231
|
+
children: /* @__PURE__ */ jsx39(
|
|
4938
5232
|
NavigationMenuPrimitive.Viewport,
|
|
4939
5233
|
__spreadValues({
|
|
4940
5234
|
"data-slot": "navigation-menu-viewport",
|
|
@@ -4953,7 +5247,7 @@ function NavigationMenuLink(_a) {
|
|
|
4953
5247
|
} = _b, props = __objRest(_b, [
|
|
4954
5248
|
"className"
|
|
4955
5249
|
]);
|
|
4956
|
-
return /* @__PURE__ */
|
|
5250
|
+
return /* @__PURE__ */ jsx39(
|
|
4957
5251
|
NavigationMenuPrimitive.Link,
|
|
4958
5252
|
__spreadValues({
|
|
4959
5253
|
"data-slot": "navigation-menu-link",
|
|
@@ -4970,7 +5264,7 @@ function NavigationMenuIndicator(_a) {
|
|
|
4970
5264
|
} = _b, props = __objRest(_b, [
|
|
4971
5265
|
"className"
|
|
4972
5266
|
]);
|
|
4973
|
-
return /* @__PURE__ */
|
|
5267
|
+
return /* @__PURE__ */ jsx39(
|
|
4974
5268
|
NavigationMenuPrimitive.Indicator,
|
|
4975
5269
|
__spreadProps(__spreadValues({
|
|
4976
5270
|
"data-slot": "navigation-menu-indicator",
|
|
@@ -4979,15 +5273,15 @@ function NavigationMenuIndicator(_a) {
|
|
|
4979
5273
|
className
|
|
4980
5274
|
)
|
|
4981
5275
|
}, props), {
|
|
4982
|
-
children: /* @__PURE__ */
|
|
5276
|
+
children: /* @__PURE__ */ jsx39("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border-default-default" })
|
|
4983
5277
|
})
|
|
4984
5278
|
);
|
|
4985
5279
|
}
|
|
4986
5280
|
|
|
4987
5281
|
// components/ui/numpad.tsx
|
|
4988
|
-
import * as
|
|
5282
|
+
import * as React11 from "react";
|
|
4989
5283
|
import { Delete } from "lucide-react";
|
|
4990
|
-
import { jsx as
|
|
5284
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
4991
5285
|
var LONG_PRESS_MS = 600;
|
|
4992
5286
|
function Numpad(_a) {
|
|
4993
5287
|
var _b = _a, {
|
|
@@ -5003,8 +5297,8 @@ function Numpad(_a) {
|
|
|
5003
5297
|
"decimal",
|
|
5004
5298
|
"disabled"
|
|
5005
5299
|
]);
|
|
5006
|
-
const holdTimer =
|
|
5007
|
-
const longPressFired =
|
|
5300
|
+
const holdTimer = React11.useRef(null);
|
|
5301
|
+
const longPressFired = React11.useRef(false);
|
|
5008
5302
|
const startHold = () => {
|
|
5009
5303
|
longPressFired.current = false;
|
|
5010
5304
|
holdTimer.current = setTimeout(() => {
|
|
@@ -5016,7 +5310,7 @@ function Numpad(_a) {
|
|
|
5016
5310
|
if (holdTimer.current) clearTimeout(holdTimer.current);
|
|
5017
5311
|
holdTimer.current = null;
|
|
5018
5312
|
};
|
|
5019
|
-
|
|
5313
|
+
React11.useEffect(() => cancelHold, []);
|
|
5020
5314
|
const keys = [
|
|
5021
5315
|
"1",
|
|
5022
5316
|
"2",
|
|
@@ -5031,7 +5325,7 @@ function Numpad(_a) {
|
|
|
5031
5325
|
"0",
|
|
5032
5326
|
"backspace"
|
|
5033
5327
|
];
|
|
5034
|
-
return /* @__PURE__ */
|
|
5328
|
+
return /* @__PURE__ */ jsx40(
|
|
5035
5329
|
"div",
|
|
5036
5330
|
__spreadProps(__spreadValues({
|
|
5037
5331
|
"data-slot": "numpad",
|
|
@@ -5044,7 +5338,7 @@ function Numpad(_a) {
|
|
|
5044
5338
|
)
|
|
5045
5339
|
}, props), {
|
|
5046
5340
|
children: keys.map(
|
|
5047
|
-
(key, i) => key === null ? /* @__PURE__ */
|
|
5341
|
+
(key, i) => key === null ? /* @__PURE__ */ jsx40("span", { "aria-hidden": true }, `empty-${i}`) : /* @__PURE__ */ jsx40(
|
|
5048
5342
|
"button",
|
|
5049
5343
|
{
|
|
5050
5344
|
type: "button",
|
|
@@ -5069,7 +5363,7 @@ function Numpad(_a) {
|
|
|
5069
5363
|
}
|
|
5070
5364
|
onKeyPress == null ? void 0 : onKeyPress(key);
|
|
5071
5365
|
},
|
|
5072
|
-
children: key === "backspace" ? /* @__PURE__ */
|
|
5366
|
+
children: key === "backspace" ? /* @__PURE__ */ jsx40(Delete, { className: "size-5.5" }) : key
|
|
5073
5367
|
},
|
|
5074
5368
|
key
|
|
5075
5369
|
)
|
|
@@ -5080,14 +5374,14 @@ function Numpad(_a) {
|
|
|
5080
5374
|
|
|
5081
5375
|
// components/ui/popover.tsx
|
|
5082
5376
|
import { Popover as PopoverPrimitive } from "radix-ui";
|
|
5083
|
-
import { jsx as
|
|
5377
|
+
import { jsx as jsx41 } from "react/jsx-runtime";
|
|
5084
5378
|
function Popover(_a) {
|
|
5085
5379
|
var props = __objRest(_a, []);
|
|
5086
|
-
return /* @__PURE__ */
|
|
5380
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Root, __spreadValues({ "data-slot": "popover" }, props));
|
|
5087
5381
|
}
|
|
5088
5382
|
function PopoverTrigger(_a) {
|
|
5089
5383
|
var props = __objRest(_a, []);
|
|
5090
|
-
return /* @__PURE__ */
|
|
5384
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Trigger, __spreadValues({ "data-slot": "popover-trigger" }, props));
|
|
5091
5385
|
}
|
|
5092
5386
|
function PopoverContent(_a) {
|
|
5093
5387
|
var _b = _a, {
|
|
@@ -5099,7 +5393,7 @@ function PopoverContent(_a) {
|
|
|
5099
5393
|
"align",
|
|
5100
5394
|
"sideOffset"
|
|
5101
5395
|
]);
|
|
5102
|
-
return /* @__PURE__ */
|
|
5396
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx41(
|
|
5103
5397
|
PopoverPrimitive.Content,
|
|
5104
5398
|
__spreadValues({
|
|
5105
5399
|
"data-slot": "popover-content",
|
|
@@ -5114,11 +5408,11 @@ function PopoverContent(_a) {
|
|
|
5114
5408
|
}
|
|
5115
5409
|
function PopoverAnchor(_a) {
|
|
5116
5410
|
var props = __objRest(_a, []);
|
|
5117
|
-
return /* @__PURE__ */
|
|
5411
|
+
return /* @__PURE__ */ jsx41(PopoverPrimitive.Anchor, __spreadValues({ "data-slot": "popover-anchor" }, props));
|
|
5118
5412
|
}
|
|
5119
5413
|
function PopoverHeader(_a) {
|
|
5120
5414
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5121
|
-
return /* @__PURE__ */
|
|
5415
|
+
return /* @__PURE__ */ jsx41(
|
|
5122
5416
|
"div",
|
|
5123
5417
|
__spreadValues({
|
|
5124
5418
|
"data-slot": "popover-header",
|
|
@@ -5128,7 +5422,7 @@ function PopoverHeader(_a) {
|
|
|
5128
5422
|
}
|
|
5129
5423
|
function PopoverTitle(_a) {
|
|
5130
5424
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5131
|
-
return /* @__PURE__ */
|
|
5425
|
+
return /* @__PURE__ */ jsx41(
|
|
5132
5426
|
"div",
|
|
5133
5427
|
__spreadValues({
|
|
5134
5428
|
"data-slot": "popover-title",
|
|
@@ -5142,7 +5436,7 @@ function PopoverDescription(_a) {
|
|
|
5142
5436
|
} = _b, props = __objRest(_b, [
|
|
5143
5437
|
"className"
|
|
5144
5438
|
]);
|
|
5145
|
-
return /* @__PURE__ */
|
|
5439
|
+
return /* @__PURE__ */ jsx41(
|
|
5146
5440
|
"p",
|
|
5147
5441
|
__spreadValues({
|
|
5148
5442
|
"data-slot": "popover-description",
|
|
@@ -5152,9 +5446,9 @@ function PopoverDescription(_a) {
|
|
|
5152
5446
|
}
|
|
5153
5447
|
|
|
5154
5448
|
// components/ui/progress.tsx
|
|
5155
|
-
import * as
|
|
5449
|
+
import * as React12 from "react";
|
|
5156
5450
|
import { Progress as ProgressPrimitive } from "radix-ui";
|
|
5157
|
-
import { jsx as
|
|
5451
|
+
import { jsx as jsx42, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5158
5452
|
var BAR_HEIGHTS = {
|
|
5159
5453
|
sm: "h-1",
|
|
5160
5454
|
md: "h-2",
|
|
@@ -5197,11 +5491,11 @@ function Progress(_a) {
|
|
|
5197
5491
|
"onTimerEnd",
|
|
5198
5492
|
"children"
|
|
5199
5493
|
]);
|
|
5200
|
-
const [timerPct, setTimerPct] =
|
|
5494
|
+
const [timerPct, setTimerPct] = React12.useState(
|
|
5201
5495
|
timer != null ? direction === "up" ? 0 : 100 : null
|
|
5202
5496
|
);
|
|
5203
|
-
const endedRef =
|
|
5204
|
-
|
|
5497
|
+
const endedRef = React12.useRef(false);
|
|
5498
|
+
React12.useEffect(() => {
|
|
5205
5499
|
if (timer == null) {
|
|
5206
5500
|
setTimerPct(null);
|
|
5207
5501
|
return;
|
|
@@ -5227,7 +5521,7 @@ function Progress(_a) {
|
|
|
5227
5521
|
const content = typeof children === "function" ? children(pct) : children;
|
|
5228
5522
|
if (variant === "dots") {
|
|
5229
5523
|
const filled = Math.round(pct / 100 * segments);
|
|
5230
|
-
return /* @__PURE__ */
|
|
5524
|
+
return /* @__PURE__ */ jsx42(
|
|
5231
5525
|
"div",
|
|
5232
5526
|
__spreadProps(__spreadValues({
|
|
5233
5527
|
"data-slot": "progress",
|
|
@@ -5238,7 +5532,7 @@ function Progress(_a) {
|
|
|
5238
5532
|
"aria-valuenow": pct,
|
|
5239
5533
|
className: cn("flex items-center gap-1", className)
|
|
5240
5534
|
}, props), {
|
|
5241
|
-
children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */
|
|
5535
|
+
children: Array.from({ length: segments }, (_, i) => /* @__PURE__ */ jsx42(
|
|
5242
5536
|
"span",
|
|
5243
5537
|
{
|
|
5244
5538
|
"data-slot": "progress-dot",
|
|
@@ -5257,7 +5551,7 @@ function Progress(_a) {
|
|
|
5257
5551
|
if (variant === "ring") {
|
|
5258
5552
|
const { box, r, stroke } = RINGS[size in RINGS ? size : "md"];
|
|
5259
5553
|
const circumference = 2 * Math.PI * r;
|
|
5260
|
-
return /* @__PURE__ */
|
|
5554
|
+
return /* @__PURE__ */ jsxs23(
|
|
5261
5555
|
"div",
|
|
5262
5556
|
__spreadProps(__spreadValues({
|
|
5263
5557
|
"data-slot": "progress",
|
|
@@ -5270,14 +5564,14 @@ function Progress(_a) {
|
|
|
5270
5564
|
style: { width: box, height: box }
|
|
5271
5565
|
}, props), {
|
|
5272
5566
|
children: [
|
|
5273
|
-
/* @__PURE__ */
|
|
5567
|
+
/* @__PURE__ */ jsxs23(
|
|
5274
5568
|
"svg",
|
|
5275
5569
|
{
|
|
5276
5570
|
viewBox: `0 0 ${box} ${box}`,
|
|
5277
5571
|
className: "absolute inset-0 -rotate-90",
|
|
5278
5572
|
"aria-hidden": true,
|
|
5279
5573
|
children: [
|
|
5280
|
-
/* @__PURE__ */
|
|
5574
|
+
/* @__PURE__ */ jsx42(
|
|
5281
5575
|
"circle",
|
|
5282
5576
|
{
|
|
5283
5577
|
cx: box / 2,
|
|
@@ -5288,7 +5582,7 @@ function Progress(_a) {
|
|
|
5288
5582
|
strokeWidth: stroke
|
|
5289
5583
|
}
|
|
5290
5584
|
),
|
|
5291
|
-
pct > 0 && /* @__PURE__ */
|
|
5585
|
+
pct > 0 && /* @__PURE__ */ jsx42(
|
|
5292
5586
|
"circle",
|
|
5293
5587
|
{
|
|
5294
5588
|
"data-slot": "progress-ring-fill",
|
|
@@ -5309,12 +5603,12 @@ function Progress(_a) {
|
|
|
5309
5603
|
]
|
|
5310
5604
|
}
|
|
5311
5605
|
),
|
|
5312
|
-
content != null && /* @__PURE__ */
|
|
5606
|
+
content != null && /* @__PURE__ */ jsx42("span", { className: "type-progress-value relative text-text-prominent-default", children: content })
|
|
5313
5607
|
]
|
|
5314
5608
|
})
|
|
5315
5609
|
);
|
|
5316
5610
|
}
|
|
5317
|
-
const bar = /* @__PURE__ */
|
|
5611
|
+
const bar = /* @__PURE__ */ jsx42(
|
|
5318
5612
|
ProgressPrimitive.Root,
|
|
5319
5613
|
__spreadProps(__spreadValues({
|
|
5320
5614
|
"data-slot": "progress",
|
|
@@ -5328,7 +5622,7 @@ function Progress(_a) {
|
|
|
5328
5622
|
label == null && valueLabel == null && className
|
|
5329
5623
|
)
|
|
5330
5624
|
}, props), {
|
|
5331
|
-
children: /* @__PURE__ */
|
|
5625
|
+
children: /* @__PURE__ */ jsx42(
|
|
5332
5626
|
ProgressPrimitive.Indicator,
|
|
5333
5627
|
{
|
|
5334
5628
|
"data-slot": "progress-indicator",
|
|
@@ -5342,10 +5636,10 @@ function Progress(_a) {
|
|
|
5342
5636
|
})
|
|
5343
5637
|
);
|
|
5344
5638
|
if (label == null && valueLabel == null) return bar;
|
|
5345
|
-
return /* @__PURE__ */
|
|
5346
|
-
/* @__PURE__ */
|
|
5347
|
-
label != null && /* @__PURE__ */
|
|
5348
|
-
valueLabel != null && /* @__PURE__ */
|
|
5639
|
+
return /* @__PURE__ */ jsxs23("div", { "data-slot": "progress-meter", className: cn("flex w-full flex-col gap-1.5", className), children: [
|
|
5640
|
+
/* @__PURE__ */ jsxs23("div", { className: "flex items-baseline justify-between gap-3", children: [
|
|
5641
|
+
label != null && /* @__PURE__ */ jsx42("span", { className: "type-progress-label text-text-prominent-default", children: label }),
|
|
5642
|
+
valueLabel != null && /* @__PURE__ */ jsx42("span", { className: "type-progress-label ml-auto text-text-subtle-default tabular-nums", children: valueLabel })
|
|
5349
5643
|
] }),
|
|
5350
5644
|
bar
|
|
5351
5645
|
] });
|
|
@@ -5353,7 +5647,7 @@ function Progress(_a) {
|
|
|
5353
5647
|
|
|
5354
5648
|
// components/ui/profile-photo.tsx
|
|
5355
5649
|
import { Camera, User } from "lucide-react";
|
|
5356
|
-
import { jsx as
|
|
5650
|
+
import { jsx as jsx43, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5357
5651
|
var BOX = 112;
|
|
5358
5652
|
var PHOTO = 96;
|
|
5359
5653
|
var STROKE = 5;
|
|
@@ -5380,7 +5674,7 @@ function ProfilePhoto(_a) {
|
|
|
5380
5674
|
]);
|
|
5381
5675
|
const pct = Math.min(100, Math.max(0, progress));
|
|
5382
5676
|
const complete = pct >= 100;
|
|
5383
|
-
return /* @__PURE__ */
|
|
5677
|
+
return /* @__PURE__ */ jsxs24(
|
|
5384
5678
|
"div",
|
|
5385
5679
|
__spreadProps(__spreadValues({
|
|
5386
5680
|
"data-slot": "profile-photo",
|
|
@@ -5390,14 +5684,14 @@ function ProfilePhoto(_a) {
|
|
|
5390
5684
|
style: { width: BOX, height: BOX }
|
|
5391
5685
|
}, props), {
|
|
5392
5686
|
children: [
|
|
5393
|
-
/* @__PURE__ */
|
|
5687
|
+
/* @__PURE__ */ jsxs24(
|
|
5394
5688
|
"svg",
|
|
5395
5689
|
{
|
|
5396
5690
|
viewBox: `0 0 ${BOX} ${BOX}`,
|
|
5397
5691
|
"aria-hidden": "true",
|
|
5398
5692
|
className: "absolute inset-0 size-full rotate-90",
|
|
5399
5693
|
children: [
|
|
5400
|
-
/* @__PURE__ */
|
|
5694
|
+
/* @__PURE__ */ jsx43(
|
|
5401
5695
|
"circle",
|
|
5402
5696
|
{
|
|
5403
5697
|
cx: BOX / 2,
|
|
@@ -5408,7 +5702,7 @@ function ProfilePhoto(_a) {
|
|
|
5408
5702
|
strokeWidth: STROKE
|
|
5409
5703
|
}
|
|
5410
5704
|
),
|
|
5411
|
-
/* @__PURE__ */
|
|
5705
|
+
/* @__PURE__ */ jsx43(
|
|
5412
5706
|
"circle",
|
|
5413
5707
|
{
|
|
5414
5708
|
"data-slot": "profile-photo-ring",
|
|
@@ -5427,19 +5721,19 @@ function ProfilePhoto(_a) {
|
|
|
5427
5721
|
]
|
|
5428
5722
|
}
|
|
5429
5723
|
),
|
|
5430
|
-
/* @__PURE__ */
|
|
5724
|
+
/* @__PURE__ */ jsx43(
|
|
5431
5725
|
"div",
|
|
5432
5726
|
{
|
|
5433
5727
|
"data-slot": "profile-photo-image",
|
|
5434
5728
|
className: "absolute flex items-center justify-center overflow-hidden rounded-full bg-background-secondary-surface",
|
|
5435
5729
|
style: { inset: INSET },
|
|
5436
|
-
children: src ? /* @__PURE__ */
|
|
5730
|
+
children: src ? /* @__PURE__ */ jsx43("img", { src, alt, className: "size-full object-cover" }) : /* @__PURE__ */ jsx43(User, { className: "size-10 text-icon-subtle-default", strokeWidth: 1.5, "aria-hidden": "true" })
|
|
5437
5731
|
}
|
|
5438
5732
|
),
|
|
5439
5733
|
onPhotoChange ? (
|
|
5440
5734
|
// 24px keeps the chip subordinate to the photo; the ::after extends the
|
|
5441
5735
|
// hit area to ~44px so it still meets the touch-target minimum.
|
|
5442
|
-
/* @__PURE__ */
|
|
5736
|
+
/* @__PURE__ */ jsx43(
|
|
5443
5737
|
Button,
|
|
5444
5738
|
{
|
|
5445
5739
|
variant: "primary",
|
|
@@ -5448,11 +5742,11 @@ function ProfilePhoto(_a) {
|
|
|
5448
5742
|
onClick: onPhotoChange,
|
|
5449
5743
|
"data-slot": "profile-photo-camera",
|
|
5450
5744
|
className: "absolute right-0.5 bottom-5 rounded-full border-2 border-prominent after:absolute after:-inset-2.5 after:content-['']",
|
|
5451
|
-
children: /* @__PURE__ */
|
|
5745
|
+
children: /* @__PURE__ */ jsx43(Camera, {})
|
|
5452
5746
|
}
|
|
5453
5747
|
)
|
|
5454
5748
|
) : null,
|
|
5455
|
-
status ? /* @__PURE__ */
|
|
5749
|
+
status ? /* @__PURE__ */ jsx43(
|
|
5456
5750
|
"div",
|
|
5457
5751
|
{
|
|
5458
5752
|
"data-slot": "profile-photo-status",
|
|
@@ -5468,14 +5762,14 @@ function ProfilePhoto(_a) {
|
|
|
5468
5762
|
// components/ui/radio-group.tsx
|
|
5469
5763
|
import { CircleIcon as CircleIcon4 } from "lucide-react";
|
|
5470
5764
|
import { RadioGroup as RadioGroupPrimitive } from "radix-ui";
|
|
5471
|
-
import { jsx as
|
|
5765
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
5472
5766
|
function RadioGroup(_a) {
|
|
5473
5767
|
var _b = _a, {
|
|
5474
5768
|
className
|
|
5475
5769
|
} = _b, props = __objRest(_b, [
|
|
5476
5770
|
"className"
|
|
5477
5771
|
]);
|
|
5478
|
-
return /* @__PURE__ */
|
|
5772
|
+
return /* @__PURE__ */ jsx44(
|
|
5479
5773
|
RadioGroupPrimitive.Root,
|
|
5480
5774
|
__spreadValues({
|
|
5481
5775
|
"data-slot": "radio-group",
|
|
@@ -5489,7 +5783,7 @@ function RadioGroupItem(_a) {
|
|
|
5489
5783
|
} = _b, props = __objRest(_b, [
|
|
5490
5784
|
"className"
|
|
5491
5785
|
]);
|
|
5492
|
-
return /* @__PURE__ */
|
|
5786
|
+
return /* @__PURE__ */ jsx44(
|
|
5493
5787
|
RadioGroupPrimitive.Item,
|
|
5494
5788
|
__spreadProps(__spreadValues({
|
|
5495
5789
|
"data-slot": "radio-group-item",
|
|
@@ -5498,12 +5792,12 @@ function RadioGroupItem(_a) {
|
|
|
5498
5792
|
className
|
|
5499
5793
|
)
|
|
5500
5794
|
}, props), {
|
|
5501
|
-
children: /* @__PURE__ */
|
|
5795
|
+
children: /* @__PURE__ */ jsx44(
|
|
5502
5796
|
RadioGroupPrimitive.Indicator,
|
|
5503
5797
|
{
|
|
5504
5798
|
"data-slot": "radio-group-indicator",
|
|
5505
5799
|
className: "relative flex items-center justify-center",
|
|
5506
|
-
children: /* @__PURE__ */
|
|
5800
|
+
children: /* @__PURE__ */ jsx44(CircleIcon4, { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-text-brand-selected text-background-brand-default" })
|
|
5507
5801
|
}
|
|
5508
5802
|
)
|
|
5509
5803
|
})
|
|
@@ -5513,14 +5807,14 @@ function RadioGroupItem(_a) {
|
|
|
5513
5807
|
// components/ui/resizable.tsx
|
|
5514
5808
|
import { GripVerticalIcon } from "lucide-react";
|
|
5515
5809
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
5516
|
-
import { jsx as
|
|
5810
|
+
import { jsx as jsx45 } from "react/jsx-runtime";
|
|
5517
5811
|
function ResizablePanelGroup(_a) {
|
|
5518
5812
|
var _b = _a, {
|
|
5519
5813
|
className
|
|
5520
5814
|
} = _b, props = __objRest(_b, [
|
|
5521
5815
|
"className"
|
|
5522
5816
|
]);
|
|
5523
|
-
return /* @__PURE__ */
|
|
5817
|
+
return /* @__PURE__ */ jsx45(
|
|
5524
5818
|
ResizablePrimitive.Group,
|
|
5525
5819
|
__spreadValues({
|
|
5526
5820
|
"data-slot": "resizable-panel-group",
|
|
@@ -5533,7 +5827,7 @@ function ResizablePanelGroup(_a) {
|
|
|
5533
5827
|
}
|
|
5534
5828
|
function ResizablePanel(_a) {
|
|
5535
5829
|
var props = __objRest(_a, []);
|
|
5536
|
-
return /* @__PURE__ */
|
|
5830
|
+
return /* @__PURE__ */ jsx45(ResizablePrimitive.Panel, __spreadValues({ "data-slot": "resizable-panel" }, props));
|
|
5537
5831
|
}
|
|
5538
5832
|
function ResizableHandle(_a) {
|
|
5539
5833
|
var _b = _a, {
|
|
@@ -5543,7 +5837,7 @@ function ResizableHandle(_a) {
|
|
|
5543
5837
|
"withHandle",
|
|
5544
5838
|
"className"
|
|
5545
5839
|
]);
|
|
5546
|
-
return /* @__PURE__ */
|
|
5840
|
+
return /* @__PURE__ */ jsx45(
|
|
5547
5841
|
ResizablePrimitive.Separator,
|
|
5548
5842
|
__spreadProps(__spreadValues({
|
|
5549
5843
|
"data-slot": "resizable-handle",
|
|
@@ -5552,14 +5846,14 @@ function ResizableHandle(_a) {
|
|
|
5552
5846
|
className
|
|
5553
5847
|
)
|
|
5554
5848
|
}, props), {
|
|
5555
|
-
children: withHandle && /* @__PURE__ */
|
|
5849
|
+
children: withHandle && /* @__PURE__ */ jsx45("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-xs border border-border-default-default bg-border-default-default text-icon-subtle-default", children: /* @__PURE__ */ jsx45(GripVerticalIcon, { className: "size-2.5" }) })
|
|
5556
5850
|
})
|
|
5557
5851
|
);
|
|
5558
5852
|
}
|
|
5559
5853
|
|
|
5560
5854
|
// components/ui/scroll-area.tsx
|
|
5561
5855
|
import { ScrollArea as ScrollAreaPrimitive } from "radix-ui";
|
|
5562
|
-
import { jsx as
|
|
5856
|
+
import { jsx as jsx46, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
5563
5857
|
function ScrollArea(_a) {
|
|
5564
5858
|
var _b = _a, {
|
|
5565
5859
|
className,
|
|
@@ -5568,14 +5862,14 @@ function ScrollArea(_a) {
|
|
|
5568
5862
|
"className",
|
|
5569
5863
|
"children"
|
|
5570
5864
|
]);
|
|
5571
|
-
return /* @__PURE__ */
|
|
5865
|
+
return /* @__PURE__ */ jsxs25(
|
|
5572
5866
|
ScrollAreaPrimitive.Root,
|
|
5573
5867
|
__spreadProps(__spreadValues({
|
|
5574
5868
|
"data-slot": "scroll-area",
|
|
5575
5869
|
className: cn("relative", className)
|
|
5576
5870
|
}, props), {
|
|
5577
5871
|
children: [
|
|
5578
|
-
/* @__PURE__ */
|
|
5872
|
+
/* @__PURE__ */ jsx46(
|
|
5579
5873
|
ScrollAreaPrimitive.Viewport,
|
|
5580
5874
|
{
|
|
5581
5875
|
"data-slot": "scroll-area-viewport",
|
|
@@ -5583,8 +5877,8 @@ function ScrollArea(_a) {
|
|
|
5583
5877
|
children
|
|
5584
5878
|
}
|
|
5585
5879
|
),
|
|
5586
|
-
/* @__PURE__ */
|
|
5587
|
-
/* @__PURE__ */
|
|
5880
|
+
/* @__PURE__ */ jsx46(ScrollBar, {}),
|
|
5881
|
+
/* @__PURE__ */ jsx46(ScrollAreaPrimitive.Corner, {})
|
|
5588
5882
|
]
|
|
5589
5883
|
})
|
|
5590
5884
|
);
|
|
@@ -5597,7 +5891,7 @@ function ScrollBar(_a) {
|
|
|
5597
5891
|
"className",
|
|
5598
5892
|
"orientation"
|
|
5599
5893
|
]);
|
|
5600
|
-
return /* @__PURE__ */
|
|
5894
|
+
return /* @__PURE__ */ jsx46(
|
|
5601
5895
|
ScrollAreaPrimitive.ScrollAreaScrollbar,
|
|
5602
5896
|
__spreadProps(__spreadValues({
|
|
5603
5897
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -5609,7 +5903,7 @@ function ScrollBar(_a) {
|
|
|
5609
5903
|
className
|
|
5610
5904
|
)
|
|
5611
5905
|
}, props), {
|
|
5612
|
-
children: /* @__PURE__ */
|
|
5906
|
+
children: /* @__PURE__ */ jsx46(
|
|
5613
5907
|
ScrollAreaPrimitive.ScrollAreaThumb,
|
|
5614
5908
|
{
|
|
5615
5909
|
"data-slot": "scroll-area-thumb",
|
|
@@ -5623,22 +5917,22 @@ function ScrollBar(_a) {
|
|
|
5623
5917
|
// components/ui/sheet.tsx
|
|
5624
5918
|
import { XIcon as XIcon3 } from "lucide-react";
|
|
5625
5919
|
import { Dialog as SheetPrimitive } from "radix-ui";
|
|
5626
|
-
import { jsx as
|
|
5920
|
+
import { jsx as jsx47, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
5627
5921
|
function Sheet(_a) {
|
|
5628
5922
|
var props = __objRest(_a, []);
|
|
5629
|
-
return /* @__PURE__ */
|
|
5923
|
+
return /* @__PURE__ */ jsx47(SheetPrimitive.Root, __spreadValues({ "data-slot": "sheet" }, props));
|
|
5630
5924
|
}
|
|
5631
5925
|
function SheetTrigger(_a) {
|
|
5632
5926
|
var props = __objRest(_a, []);
|
|
5633
|
-
return /* @__PURE__ */
|
|
5927
|
+
return /* @__PURE__ */ jsx47(SheetPrimitive.Trigger, __spreadValues({ "data-slot": "sheet-trigger" }, props));
|
|
5634
5928
|
}
|
|
5635
5929
|
function SheetClose(_a) {
|
|
5636
5930
|
var props = __objRest(_a, []);
|
|
5637
|
-
return /* @__PURE__ */
|
|
5931
|
+
return /* @__PURE__ */ jsx47(SheetPrimitive.Close, __spreadValues({ "data-slot": "sheet-close" }, props));
|
|
5638
5932
|
}
|
|
5639
5933
|
function SheetPortal(_a) {
|
|
5640
5934
|
var props = __objRest(_a, []);
|
|
5641
|
-
return /* @__PURE__ */
|
|
5935
|
+
return /* @__PURE__ */ jsx47(SheetPrimitive.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
|
|
5642
5936
|
}
|
|
5643
5937
|
function SheetOverlay(_a) {
|
|
5644
5938
|
var _b = _a, {
|
|
@@ -5646,7 +5940,7 @@ function SheetOverlay(_a) {
|
|
|
5646
5940
|
} = _b, props = __objRest(_b, [
|
|
5647
5941
|
"className"
|
|
5648
5942
|
]);
|
|
5649
|
-
return /* @__PURE__ */
|
|
5943
|
+
return /* @__PURE__ */ jsx47(
|
|
5650
5944
|
SheetPrimitive.Overlay,
|
|
5651
5945
|
__spreadValues({
|
|
5652
5946
|
"data-slot": "sheet-overlay",
|
|
@@ -5669,9 +5963,9 @@ function SheetContent(_a) {
|
|
|
5669
5963
|
"side",
|
|
5670
5964
|
"showCloseButton"
|
|
5671
5965
|
]);
|
|
5672
|
-
return /* @__PURE__ */
|
|
5673
|
-
/* @__PURE__ */
|
|
5674
|
-
/* @__PURE__ */
|
|
5966
|
+
return /* @__PURE__ */ jsxs26(SheetPortal, { children: [
|
|
5967
|
+
/* @__PURE__ */ jsx47(SheetOverlay, {}),
|
|
5968
|
+
/* @__PURE__ */ jsxs26(
|
|
5675
5969
|
SheetPrimitive.Content,
|
|
5676
5970
|
__spreadProps(__spreadValues({
|
|
5677
5971
|
"data-slot": "sheet-content",
|
|
@@ -5686,14 +5980,14 @@ function SheetContent(_a) {
|
|
|
5686
5980
|
}, props), {
|
|
5687
5981
|
children: [
|
|
5688
5982
|
children,
|
|
5689
|
-
showCloseButton && /* @__PURE__ */
|
|
5983
|
+
showCloseButton && /* @__PURE__ */ jsx47(SheetPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsx47(
|
|
5690
5984
|
NavigationButton,
|
|
5691
5985
|
{
|
|
5692
5986
|
"data-slot": "sheet-close",
|
|
5693
5987
|
size: "sm",
|
|
5694
5988
|
"aria-label": "Close",
|
|
5695
5989
|
className: "absolute top-4 right-4",
|
|
5696
|
-
children: /* @__PURE__ */
|
|
5990
|
+
children: /* @__PURE__ */ jsx47(XIcon3, { className: "size-4" })
|
|
5697
5991
|
}
|
|
5698
5992
|
) })
|
|
5699
5993
|
]
|
|
@@ -5703,7 +5997,7 @@ function SheetContent(_a) {
|
|
|
5703
5997
|
}
|
|
5704
5998
|
function SheetHeader(_a) {
|
|
5705
5999
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5706
|
-
return /* @__PURE__ */
|
|
6000
|
+
return /* @__PURE__ */ jsx47(
|
|
5707
6001
|
"div",
|
|
5708
6002
|
__spreadValues({
|
|
5709
6003
|
"data-slot": "sheet-header",
|
|
@@ -5713,7 +6007,7 @@ function SheetHeader(_a) {
|
|
|
5713
6007
|
}
|
|
5714
6008
|
function SheetFooter(_a) {
|
|
5715
6009
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5716
|
-
return /* @__PURE__ */
|
|
6010
|
+
return /* @__PURE__ */ jsx47(
|
|
5717
6011
|
"div",
|
|
5718
6012
|
__spreadValues({
|
|
5719
6013
|
"data-slot": "sheet-footer",
|
|
@@ -5727,7 +6021,7 @@ function SheetTitle(_a) {
|
|
|
5727
6021
|
} = _b, props = __objRest(_b, [
|
|
5728
6022
|
"className"
|
|
5729
6023
|
]);
|
|
5730
|
-
return /* @__PURE__ */
|
|
6024
|
+
return /* @__PURE__ */ jsx47(
|
|
5731
6025
|
SheetPrimitive.Title,
|
|
5732
6026
|
__spreadValues({
|
|
5733
6027
|
"data-slot": "sheet-title",
|
|
@@ -5741,7 +6035,7 @@ function SheetDescription(_a) {
|
|
|
5741
6035
|
} = _b, props = __objRest(_b, [
|
|
5742
6036
|
"className"
|
|
5743
6037
|
]);
|
|
5744
|
-
return /* @__PURE__ */
|
|
6038
|
+
return /* @__PURE__ */ jsx47(
|
|
5745
6039
|
SheetPrimitive.Description,
|
|
5746
6040
|
__spreadValues({
|
|
5747
6041
|
"data-slot": "sheet-description",
|
|
@@ -5751,17 +6045,17 @@ function SheetDescription(_a) {
|
|
|
5751
6045
|
}
|
|
5752
6046
|
|
|
5753
6047
|
// components/ui/sidebar.tsx
|
|
5754
|
-
import * as
|
|
6048
|
+
import * as React15 from "react";
|
|
5755
6049
|
import { cva as cva13 } from "class-variance-authority";
|
|
5756
6050
|
import { PanelLeftIcon } from "lucide-react";
|
|
5757
6051
|
import { Slot as Slot8 } from "radix-ui";
|
|
5758
6052
|
|
|
5759
6053
|
// hooks/use-mobile.ts
|
|
5760
|
-
import * as
|
|
6054
|
+
import * as React13 from "react";
|
|
5761
6055
|
var MOBILE_BREAKPOINT = 768;
|
|
5762
6056
|
function useIsMobile() {
|
|
5763
|
-
const [isMobile, setIsMobile] =
|
|
5764
|
-
|
|
6057
|
+
const [isMobile, setIsMobile] = React13.useState(void 0);
|
|
6058
|
+
React13.useEffect(() => {
|
|
5765
6059
|
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
|
|
5766
6060
|
const onChange = () => {
|
|
5767
6061
|
setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
|
|
@@ -5774,10 +6068,10 @@ function useIsMobile() {
|
|
|
5774
6068
|
}
|
|
5775
6069
|
|
|
5776
6070
|
// components/ui/skeleton.tsx
|
|
5777
|
-
import { jsx as
|
|
6071
|
+
import { jsx as jsx48 } from "react/jsx-runtime";
|
|
5778
6072
|
function Skeleton(_a) {
|
|
5779
6073
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
5780
|
-
return /* @__PURE__ */
|
|
6074
|
+
return /* @__PURE__ */ jsx48(
|
|
5781
6075
|
"div",
|
|
5782
6076
|
__spreadValues({
|
|
5783
6077
|
"data-slot": "skeleton",
|
|
@@ -5791,17 +6085,17 @@ function Skeleton(_a) {
|
|
|
5791
6085
|
}
|
|
5792
6086
|
|
|
5793
6087
|
// components/ui/tooltip.tsx
|
|
5794
|
-
import * as
|
|
6088
|
+
import * as React14 from "react";
|
|
5795
6089
|
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
5796
|
-
import { jsx as
|
|
5797
|
-
var TooltipModeContext =
|
|
6090
|
+
import { jsx as jsx49, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
6091
|
+
var TooltipModeContext = React14.createContext("tooltip");
|
|
5798
6092
|
function TooltipProvider(_a) {
|
|
5799
6093
|
var _b = _a, {
|
|
5800
6094
|
delayDuration = 0
|
|
5801
6095
|
} = _b, props = __objRest(_b, [
|
|
5802
6096
|
"delayDuration"
|
|
5803
6097
|
]);
|
|
5804
|
-
return /* @__PURE__ */
|
|
6098
|
+
return /* @__PURE__ */ jsx49(
|
|
5805
6099
|
TooltipPrimitive.Provider,
|
|
5806
6100
|
__spreadValues({
|
|
5807
6101
|
"data-slot": "tooltip-provider",
|
|
@@ -5818,9 +6112,9 @@ function Tooltip(_a) {
|
|
|
5818
6112
|
const isMobile = useIsMobile();
|
|
5819
6113
|
const mode = isMobile ? "drawer" : "tooltip";
|
|
5820
6114
|
if (mode === "drawer") {
|
|
5821
|
-
return /* @__PURE__ */
|
|
6115
|
+
return /* @__PURE__ */ jsx49(TooltipModeContext.Provider, { value: "drawer", children: /* @__PURE__ */ jsx49(Drawer, { children }) });
|
|
5822
6116
|
}
|
|
5823
|
-
return /* @__PURE__ */
|
|
6117
|
+
return /* @__PURE__ */ jsx49(TooltipModeContext.Provider, { value: "tooltip", children: /* @__PURE__ */ jsx49(TooltipPrimitive.Root, __spreadProps(__spreadValues({ "data-slot": "tooltip" }, props), { children })) });
|
|
5824
6118
|
}
|
|
5825
6119
|
function TooltipTrigger(_a) {
|
|
5826
6120
|
var _b = _a, {
|
|
@@ -5828,11 +6122,11 @@ function TooltipTrigger(_a) {
|
|
|
5828
6122
|
} = _b, props = __objRest(_b, [
|
|
5829
6123
|
"children"
|
|
5830
6124
|
]);
|
|
5831
|
-
const mode =
|
|
6125
|
+
const mode = React14.useContext(TooltipModeContext);
|
|
5832
6126
|
if (mode === "drawer") {
|
|
5833
|
-
return /* @__PURE__ */
|
|
6127
|
+
return /* @__PURE__ */ jsx49(DrawerTrigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
|
|
5834
6128
|
}
|
|
5835
|
-
return /* @__PURE__ */
|
|
6129
|
+
return /* @__PURE__ */ jsx49(TooltipPrimitive.Trigger, __spreadProps(__spreadValues({ "data-slot": "tooltip-trigger" }, props), { children }));
|
|
5836
6130
|
}
|
|
5837
6131
|
function TooltipContent(_a) {
|
|
5838
6132
|
var _b = _a, {
|
|
@@ -5850,17 +6144,17 @@ function TooltipContent(_a) {
|
|
|
5850
6144
|
"closeLabel",
|
|
5851
6145
|
"children"
|
|
5852
6146
|
]);
|
|
5853
|
-
const mode =
|
|
6147
|
+
const mode = React14.useContext(TooltipModeContext);
|
|
5854
6148
|
if (mode === "drawer") {
|
|
5855
|
-
return /* @__PURE__ */
|
|
5856
|
-
/* @__PURE__ */
|
|
5857
|
-
/* @__PURE__ */
|
|
5858
|
-
/* @__PURE__ */
|
|
6149
|
+
return /* @__PURE__ */ jsxs27(DrawerContent, { "data-slot": "tooltip-content", "data-variant": variant, children: [
|
|
6150
|
+
/* @__PURE__ */ jsx49(DrawerHeader, { children: /* @__PURE__ */ jsx49(DrawerTitle, { children: title }) }),
|
|
6151
|
+
/* @__PURE__ */ jsx49("div", { className: cn("type-drawer-description p-4 text-text-subtle-default", className), children }),
|
|
6152
|
+
/* @__PURE__ */ jsx49(DrawerFooter, { children: /* @__PURE__ */ jsx49(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx49(Button, { variant: "primary", size: "md", children: closeLabel }) }) })
|
|
5859
6153
|
] });
|
|
5860
6154
|
}
|
|
5861
6155
|
const surfaceClasses = variant === "inverse" ? "border border-border-default-default bg-background-primary-surface text-text-prominent-default" : "bg-background-inverse-surface text-text-prominent-inverse";
|
|
5862
6156
|
const arrowClasses = variant === "inverse" ? "fill-background-primary-surface" : "fill-background-inverse-surface";
|
|
5863
|
-
return /* @__PURE__ */
|
|
6157
|
+
return /* @__PURE__ */ jsx49(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs27(
|
|
5864
6158
|
TooltipPrimitive.Content,
|
|
5865
6159
|
__spreadProps(__spreadValues({
|
|
5866
6160
|
"data-slot": "tooltip-content",
|
|
@@ -5874,23 +6168,23 @@ function TooltipContent(_a) {
|
|
|
5874
6168
|
}, props), {
|
|
5875
6169
|
children: [
|
|
5876
6170
|
children,
|
|
5877
|
-
/* @__PURE__ */
|
|
6171
|
+
/* @__PURE__ */ jsx49(TooltipPrimitive.Arrow, { className: arrowClasses })
|
|
5878
6172
|
]
|
|
5879
6173
|
})
|
|
5880
6174
|
) });
|
|
5881
6175
|
}
|
|
5882
6176
|
|
|
5883
6177
|
// components/ui/sidebar.tsx
|
|
5884
|
-
import { jsx as
|
|
6178
|
+
import { jsx as jsx50, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
5885
6179
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
5886
6180
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
5887
6181
|
var SIDEBAR_WIDTH = "16rem";
|
|
5888
6182
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
5889
6183
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
5890
6184
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
5891
|
-
var SidebarContext =
|
|
6185
|
+
var SidebarContext = React15.createContext(null);
|
|
5892
6186
|
function useSidebar() {
|
|
5893
|
-
const context =
|
|
6187
|
+
const context = React15.useContext(SidebarContext);
|
|
5894
6188
|
if (!context) {
|
|
5895
6189
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
5896
6190
|
}
|
|
@@ -5913,10 +6207,10 @@ function SidebarProvider(_a) {
|
|
|
5913
6207
|
"children"
|
|
5914
6208
|
]);
|
|
5915
6209
|
const isMobile = useIsMobile();
|
|
5916
|
-
const [openMobile, setOpenMobile] =
|
|
5917
|
-
const [_open, _setOpen] =
|
|
6210
|
+
const [openMobile, setOpenMobile] = React15.useState(false);
|
|
6211
|
+
const [_open, _setOpen] = React15.useState(defaultOpen);
|
|
5918
6212
|
const open = openProp != null ? openProp : _open;
|
|
5919
|
-
const setOpen =
|
|
6213
|
+
const setOpen = React15.useCallback(
|
|
5920
6214
|
(value) => {
|
|
5921
6215
|
const openState = typeof value === "function" ? value(open) : value;
|
|
5922
6216
|
if (setOpenProp) {
|
|
@@ -5928,10 +6222,10 @@ function SidebarProvider(_a) {
|
|
|
5928
6222
|
},
|
|
5929
6223
|
[setOpenProp, open]
|
|
5930
6224
|
);
|
|
5931
|
-
const toggleSidebar =
|
|
6225
|
+
const toggleSidebar = React15.useCallback(() => {
|
|
5932
6226
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
5933
6227
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
5934
|
-
|
|
6228
|
+
React15.useEffect(() => {
|
|
5935
6229
|
const handleKeyDown = (event) => {
|
|
5936
6230
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
5937
6231
|
event.preventDefault();
|
|
@@ -5942,7 +6236,7 @@ function SidebarProvider(_a) {
|
|
|
5942
6236
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
5943
6237
|
}, [toggleSidebar]);
|
|
5944
6238
|
const state = open ? "expanded" : "collapsed";
|
|
5945
|
-
const contextValue =
|
|
6239
|
+
const contextValue = React15.useMemo(
|
|
5946
6240
|
() => ({
|
|
5947
6241
|
state,
|
|
5948
6242
|
open,
|
|
@@ -5954,7 +6248,7 @@ function SidebarProvider(_a) {
|
|
|
5954
6248
|
}),
|
|
5955
6249
|
[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]
|
|
5956
6250
|
);
|
|
5957
|
-
return /* @__PURE__ */
|
|
6251
|
+
return /* @__PURE__ */ jsx50(SidebarContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx50(TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ jsx50(
|
|
5958
6252
|
"div",
|
|
5959
6253
|
__spreadProps(__spreadValues({
|
|
5960
6254
|
"data-slot": "sidebar-wrapper",
|
|
@@ -5987,7 +6281,7 @@ function Sidebar(_a) {
|
|
|
5987
6281
|
]);
|
|
5988
6282
|
const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
|
|
5989
6283
|
if (collapsible === "none") {
|
|
5990
|
-
return /* @__PURE__ */
|
|
6284
|
+
return /* @__PURE__ */ jsx50(
|
|
5991
6285
|
"div",
|
|
5992
6286
|
__spreadProps(__spreadValues({
|
|
5993
6287
|
"data-slot": "sidebar",
|
|
@@ -6001,7 +6295,7 @@ function Sidebar(_a) {
|
|
|
6001
6295
|
);
|
|
6002
6296
|
}
|
|
6003
6297
|
if (isMobile) {
|
|
6004
|
-
return /* @__PURE__ */
|
|
6298
|
+
return /* @__PURE__ */ jsx50(Sheet, __spreadProps(__spreadValues({ open: openMobile, onOpenChange: setOpenMobile }, props), { children: /* @__PURE__ */ jsxs28(
|
|
6005
6299
|
SheetContent,
|
|
6006
6300
|
{
|
|
6007
6301
|
"data-sidebar": "sidebar",
|
|
@@ -6013,16 +6307,16 @@ function Sidebar(_a) {
|
|
|
6013
6307
|
},
|
|
6014
6308
|
side,
|
|
6015
6309
|
children: [
|
|
6016
|
-
/* @__PURE__ */
|
|
6017
|
-
/* @__PURE__ */
|
|
6018
|
-
/* @__PURE__ */
|
|
6310
|
+
/* @__PURE__ */ jsxs28(SheetHeader, { className: "sr-only", children: [
|
|
6311
|
+
/* @__PURE__ */ jsx50(SheetTitle, { children: "Sidebar" }),
|
|
6312
|
+
/* @__PURE__ */ jsx50(SheetDescription, { children: "Displays the mobile sidebar." })
|
|
6019
6313
|
] }),
|
|
6020
|
-
/* @__PURE__ */
|
|
6314
|
+
/* @__PURE__ */ jsx50("div", { className: "flex h-full w-full flex-col", children })
|
|
6021
6315
|
]
|
|
6022
6316
|
}
|
|
6023
6317
|
) }));
|
|
6024
6318
|
}
|
|
6025
|
-
return /* @__PURE__ */
|
|
6319
|
+
return /* @__PURE__ */ jsxs28(
|
|
6026
6320
|
"div",
|
|
6027
6321
|
{
|
|
6028
6322
|
className: "group peer hidden text-text-prominent-default md:block",
|
|
@@ -6032,7 +6326,7 @@ function Sidebar(_a) {
|
|
|
6032
6326
|
"data-side": side,
|
|
6033
6327
|
"data-slot": "sidebar",
|
|
6034
6328
|
children: [
|
|
6035
|
-
/* @__PURE__ */
|
|
6329
|
+
/* @__PURE__ */ jsx50(
|
|
6036
6330
|
"div",
|
|
6037
6331
|
{
|
|
6038
6332
|
"data-slot": "sidebar-gap",
|
|
@@ -6044,7 +6338,7 @@ function Sidebar(_a) {
|
|
|
6044
6338
|
)
|
|
6045
6339
|
}
|
|
6046
6340
|
),
|
|
6047
|
-
/* @__PURE__ */
|
|
6341
|
+
/* @__PURE__ */ jsx50(
|
|
6048
6342
|
"div",
|
|
6049
6343
|
__spreadProps(__spreadValues({
|
|
6050
6344
|
"data-slot": "sidebar-container",
|
|
@@ -6056,7 +6350,7 @@ function Sidebar(_a) {
|
|
|
6056
6350
|
className
|
|
6057
6351
|
)
|
|
6058
6352
|
}, props), {
|
|
6059
|
-
children: /* @__PURE__ */
|
|
6353
|
+
children: /* @__PURE__ */ jsx50(
|
|
6060
6354
|
"div",
|
|
6061
6355
|
{
|
|
6062
6356
|
"data-sidebar": "sidebar",
|
|
@@ -6080,7 +6374,7 @@ function SidebarTrigger(_a) {
|
|
|
6080
6374
|
"onClick"
|
|
6081
6375
|
]);
|
|
6082
6376
|
const { toggleSidebar } = useSidebar();
|
|
6083
|
-
return /* @__PURE__ */
|
|
6377
|
+
return /* @__PURE__ */ jsxs28(
|
|
6084
6378
|
Button,
|
|
6085
6379
|
__spreadProps(__spreadValues({
|
|
6086
6380
|
"data-sidebar": "trigger",
|
|
@@ -6094,8 +6388,8 @@ function SidebarTrigger(_a) {
|
|
|
6094
6388
|
}
|
|
6095
6389
|
}, props), {
|
|
6096
6390
|
children: [
|
|
6097
|
-
/* @__PURE__ */
|
|
6098
|
-
/* @__PURE__ */
|
|
6391
|
+
/* @__PURE__ */ jsx50(PanelLeftIcon, {}),
|
|
6392
|
+
/* @__PURE__ */ jsx50("span", { className: "sr-only", children: "Toggle Sidebar" })
|
|
6099
6393
|
]
|
|
6100
6394
|
})
|
|
6101
6395
|
);
|
|
@@ -6103,7 +6397,7 @@ function SidebarTrigger(_a) {
|
|
|
6103
6397
|
function SidebarRail(_a) {
|
|
6104
6398
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6105
6399
|
const { toggleSidebar } = useSidebar();
|
|
6106
|
-
return /* @__PURE__ */
|
|
6400
|
+
return /* @__PURE__ */ jsx50(
|
|
6107
6401
|
"button",
|
|
6108
6402
|
__spreadValues({
|
|
6109
6403
|
"data-sidebar": "rail",
|
|
@@ -6126,7 +6420,7 @@ function SidebarRail(_a) {
|
|
|
6126
6420
|
}
|
|
6127
6421
|
function SidebarInset(_a) {
|
|
6128
6422
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6129
|
-
return /* @__PURE__ */
|
|
6423
|
+
return /* @__PURE__ */ jsx50(
|
|
6130
6424
|
"main",
|
|
6131
6425
|
__spreadValues({
|
|
6132
6426
|
"data-slot": "sidebar-inset",
|
|
@@ -6144,7 +6438,7 @@ function SidebarInput(_a) {
|
|
|
6144
6438
|
} = _b, props = __objRest(_b, [
|
|
6145
6439
|
"className"
|
|
6146
6440
|
]);
|
|
6147
|
-
return /* @__PURE__ */
|
|
6441
|
+
return /* @__PURE__ */ jsx50(
|
|
6148
6442
|
Input,
|
|
6149
6443
|
__spreadValues({
|
|
6150
6444
|
"data-slot": "sidebar-input",
|
|
@@ -6155,7 +6449,7 @@ function SidebarInput(_a) {
|
|
|
6155
6449
|
}
|
|
6156
6450
|
function SidebarHeader(_a) {
|
|
6157
6451
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6158
|
-
return /* @__PURE__ */
|
|
6452
|
+
return /* @__PURE__ */ jsx50(
|
|
6159
6453
|
"div",
|
|
6160
6454
|
__spreadValues({
|
|
6161
6455
|
"data-slot": "sidebar-header",
|
|
@@ -6169,7 +6463,7 @@ function SidebarHeader(_a) {
|
|
|
6169
6463
|
}
|
|
6170
6464
|
function SidebarFooter(_a) {
|
|
6171
6465
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6172
|
-
return /* @__PURE__ */
|
|
6466
|
+
return /* @__PURE__ */ jsx50(
|
|
6173
6467
|
"div",
|
|
6174
6468
|
__spreadValues({
|
|
6175
6469
|
"data-slot": "sidebar-footer",
|
|
@@ -6187,7 +6481,7 @@ function SidebarSeparator(_a) {
|
|
|
6187
6481
|
} = _b, props = __objRest(_b, [
|
|
6188
6482
|
"className"
|
|
6189
6483
|
]);
|
|
6190
|
-
return /* @__PURE__ */
|
|
6484
|
+
return /* @__PURE__ */ jsx50(
|
|
6191
6485
|
Separator,
|
|
6192
6486
|
__spreadValues({
|
|
6193
6487
|
"data-slot": "sidebar-separator",
|
|
@@ -6198,7 +6492,7 @@ function SidebarSeparator(_a) {
|
|
|
6198
6492
|
}
|
|
6199
6493
|
function SidebarContent(_a) {
|
|
6200
6494
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6201
|
-
return /* @__PURE__ */
|
|
6495
|
+
return /* @__PURE__ */ jsx50(
|
|
6202
6496
|
"div",
|
|
6203
6497
|
__spreadValues({
|
|
6204
6498
|
"data-slot": "sidebar-content",
|
|
@@ -6212,7 +6506,7 @@ function SidebarContent(_a) {
|
|
|
6212
6506
|
}
|
|
6213
6507
|
function SidebarGroup(_a) {
|
|
6214
6508
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6215
|
-
return /* @__PURE__ */
|
|
6509
|
+
return /* @__PURE__ */ jsx50(
|
|
6216
6510
|
"div",
|
|
6217
6511
|
__spreadValues({
|
|
6218
6512
|
"data-slot": "sidebar-group",
|
|
@@ -6233,7 +6527,7 @@ function SidebarGroupLabel(_a) {
|
|
|
6233
6527
|
"asChild"
|
|
6234
6528
|
]);
|
|
6235
6529
|
const Comp = asChild ? Slot8.Root : "div";
|
|
6236
|
-
return /* @__PURE__ */
|
|
6530
|
+
return /* @__PURE__ */ jsx50(
|
|
6237
6531
|
Comp,
|
|
6238
6532
|
__spreadValues({
|
|
6239
6533
|
"data-slot": "sidebar-group-label",
|
|
@@ -6255,7 +6549,7 @@ function SidebarGroupAction(_a) {
|
|
|
6255
6549
|
"asChild"
|
|
6256
6550
|
]);
|
|
6257
6551
|
const Comp = asChild ? Slot8.Root : "button";
|
|
6258
|
-
return /* @__PURE__ */
|
|
6552
|
+
return /* @__PURE__ */ jsx50(
|
|
6259
6553
|
Comp,
|
|
6260
6554
|
__spreadValues({
|
|
6261
6555
|
"data-slot": "sidebar-group-action",
|
|
@@ -6276,7 +6570,7 @@ function SidebarGroupContent(_a) {
|
|
|
6276
6570
|
} = _b, props = __objRest(_b, [
|
|
6277
6571
|
"className"
|
|
6278
6572
|
]);
|
|
6279
|
-
return /* @__PURE__ */
|
|
6573
|
+
return /* @__PURE__ */ jsx50(
|
|
6280
6574
|
"div",
|
|
6281
6575
|
__spreadValues({
|
|
6282
6576
|
"data-slot": "sidebar-group-content",
|
|
@@ -6287,7 +6581,7 @@ function SidebarGroupContent(_a) {
|
|
|
6287
6581
|
}
|
|
6288
6582
|
function SidebarMenu(_a) {
|
|
6289
6583
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6290
|
-
return /* @__PURE__ */
|
|
6584
|
+
return /* @__PURE__ */ jsx50(
|
|
6291
6585
|
"ul",
|
|
6292
6586
|
__spreadValues({
|
|
6293
6587
|
"data-slot": "sidebar-menu",
|
|
@@ -6298,7 +6592,7 @@ function SidebarMenu(_a) {
|
|
|
6298
6592
|
}
|
|
6299
6593
|
function SidebarMenuItem(_a) {
|
|
6300
6594
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6301
|
-
return /* @__PURE__ */
|
|
6595
|
+
return /* @__PURE__ */ jsx50(
|
|
6302
6596
|
"li",
|
|
6303
6597
|
__spreadValues({
|
|
6304
6598
|
"data-slot": "sidebar-menu-item",
|
|
@@ -6345,7 +6639,7 @@ function SidebarMenuButton(_a) {
|
|
|
6345
6639
|
]);
|
|
6346
6640
|
const Comp = asChild ? Slot8.Root : "button";
|
|
6347
6641
|
const { isMobile, state } = useSidebar();
|
|
6348
|
-
const button = /* @__PURE__ */
|
|
6642
|
+
const button = /* @__PURE__ */ jsx50(
|
|
6349
6643
|
Comp,
|
|
6350
6644
|
__spreadValues({
|
|
6351
6645
|
"data-slot": "sidebar-menu-button",
|
|
@@ -6363,9 +6657,9 @@ function SidebarMenuButton(_a) {
|
|
|
6363
6657
|
children: tooltip
|
|
6364
6658
|
};
|
|
6365
6659
|
}
|
|
6366
|
-
return /* @__PURE__ */
|
|
6367
|
-
/* @__PURE__ */
|
|
6368
|
-
/* @__PURE__ */
|
|
6660
|
+
return /* @__PURE__ */ jsxs28(Tooltip, { children: [
|
|
6661
|
+
/* @__PURE__ */ jsx50(TooltipTrigger, { asChild: true, children: button }),
|
|
6662
|
+
/* @__PURE__ */ jsx50(
|
|
6369
6663
|
TooltipContent,
|
|
6370
6664
|
__spreadValues({
|
|
6371
6665
|
side: "right",
|
|
@@ -6386,7 +6680,7 @@ function SidebarMenuAction(_a) {
|
|
|
6386
6680
|
"showOnHover"
|
|
6387
6681
|
]);
|
|
6388
6682
|
const Comp = asChild ? Slot8.Root : "button";
|
|
6389
|
-
return /* @__PURE__ */
|
|
6683
|
+
return /* @__PURE__ */ jsx50(
|
|
6390
6684
|
Comp,
|
|
6391
6685
|
__spreadValues({
|
|
6392
6686
|
"data-slot": "sidebar-menu-action",
|
|
@@ -6411,7 +6705,7 @@ function SidebarMenuBadge(_a) {
|
|
|
6411
6705
|
} = _b, props = __objRest(_b, [
|
|
6412
6706
|
"className"
|
|
6413
6707
|
]);
|
|
6414
|
-
return /* @__PURE__ */
|
|
6708
|
+
return /* @__PURE__ */ jsx50(
|
|
6415
6709
|
"div",
|
|
6416
6710
|
__spreadValues({
|
|
6417
6711
|
"data-slot": "sidebar-menu-badge",
|
|
@@ -6437,7 +6731,7 @@ function SidebarMenuSkeleton(_a) {
|
|
|
6437
6731
|
"showIcon"
|
|
6438
6732
|
]);
|
|
6439
6733
|
const width = "70%";
|
|
6440
|
-
return /* @__PURE__ */
|
|
6734
|
+
return /* @__PURE__ */ jsxs28(
|
|
6441
6735
|
"div",
|
|
6442
6736
|
__spreadProps(__spreadValues({
|
|
6443
6737
|
"data-slot": "sidebar-menu-skeleton",
|
|
@@ -6445,14 +6739,14 @@ function SidebarMenuSkeleton(_a) {
|
|
|
6445
6739
|
className: cn("flex h-8 items-center gap-2 rounded-md px-2", className)
|
|
6446
6740
|
}, props), {
|
|
6447
6741
|
children: [
|
|
6448
|
-
showIcon && /* @__PURE__ */
|
|
6742
|
+
showIcon && /* @__PURE__ */ jsx50(
|
|
6449
6743
|
Skeleton,
|
|
6450
6744
|
{
|
|
6451
6745
|
className: "size-4 rounded-md",
|
|
6452
6746
|
"data-sidebar": "menu-skeleton-icon"
|
|
6453
6747
|
}
|
|
6454
6748
|
),
|
|
6455
|
-
/* @__PURE__ */
|
|
6749
|
+
/* @__PURE__ */ jsx50(
|
|
6456
6750
|
Skeleton,
|
|
6457
6751
|
{
|
|
6458
6752
|
className: "h-4 max-w-(--skeleton-width) flex-1",
|
|
@@ -6468,7 +6762,7 @@ function SidebarMenuSkeleton(_a) {
|
|
|
6468
6762
|
}
|
|
6469
6763
|
function SidebarMenuSub(_a) {
|
|
6470
6764
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
6471
|
-
return /* @__PURE__ */
|
|
6765
|
+
return /* @__PURE__ */ jsx50(
|
|
6472
6766
|
"ul",
|
|
6473
6767
|
__spreadValues({
|
|
6474
6768
|
"data-slot": "sidebar-menu-sub",
|
|
@@ -6487,7 +6781,7 @@ function SidebarMenuSubItem(_a) {
|
|
|
6487
6781
|
} = _b, props = __objRest(_b, [
|
|
6488
6782
|
"className"
|
|
6489
6783
|
]);
|
|
6490
|
-
return /* @__PURE__ */
|
|
6784
|
+
return /* @__PURE__ */ jsx50(
|
|
6491
6785
|
"li",
|
|
6492
6786
|
__spreadValues({
|
|
6493
6787
|
"data-slot": "sidebar-menu-sub-item",
|
|
@@ -6509,7 +6803,7 @@ function SidebarMenuSubButton(_a) {
|
|
|
6509
6803
|
"className"
|
|
6510
6804
|
]);
|
|
6511
6805
|
const Comp = asChild ? Slot8.Root : "a";
|
|
6512
|
-
return /* @__PURE__ */
|
|
6806
|
+
return /* @__PURE__ */ jsx50(
|
|
6513
6807
|
Comp,
|
|
6514
6808
|
__spreadValues({
|
|
6515
6809
|
"data-slot": "sidebar-menu-sub-button",
|
|
@@ -6529,9 +6823,9 @@ function SidebarMenuSubButton(_a) {
|
|
|
6529
6823
|
}
|
|
6530
6824
|
|
|
6531
6825
|
// components/ui/slider.tsx
|
|
6532
|
-
import * as
|
|
6826
|
+
import * as React16 from "react";
|
|
6533
6827
|
import { Slider as SliderPrimitive } from "radix-ui";
|
|
6534
|
-
import { jsx as
|
|
6828
|
+
import { jsx as jsx51, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
6535
6829
|
function Slider(_a) {
|
|
6536
6830
|
var _b = _a, {
|
|
6537
6831
|
className,
|
|
@@ -6546,11 +6840,11 @@ function Slider(_a) {
|
|
|
6546
6840
|
"min",
|
|
6547
6841
|
"max"
|
|
6548
6842
|
]);
|
|
6549
|
-
const _values =
|
|
6843
|
+
const _values = React16.useMemo(
|
|
6550
6844
|
() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max],
|
|
6551
6845
|
[value, defaultValue, min, max]
|
|
6552
6846
|
);
|
|
6553
|
-
return /* @__PURE__ */
|
|
6847
|
+
return /* @__PURE__ */ jsxs29(
|
|
6554
6848
|
SliderPrimitive.Root,
|
|
6555
6849
|
__spreadProps(__spreadValues({
|
|
6556
6850
|
"data-slot": "slider",
|
|
@@ -6564,7 +6858,7 @@ function Slider(_a) {
|
|
|
6564
6858
|
)
|
|
6565
6859
|
}, props), {
|
|
6566
6860
|
children: [
|
|
6567
|
-
/* @__PURE__ */
|
|
6861
|
+
/* @__PURE__ */ jsx51(
|
|
6568
6862
|
SliderPrimitive.Track,
|
|
6569
6863
|
{
|
|
6570
6864
|
"data-slot": "slider-track",
|
|
@@ -6573,7 +6867,7 @@ function Slider(_a) {
|
|
|
6573
6867
|
// surface, solid brand fill.
|
|
6574
6868
|
"relative grow overflow-hidden rounded-full bg-background-secondary-surface data-[orientation=horizontal]:h-2 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2"
|
|
6575
6869
|
),
|
|
6576
|
-
children: /* @__PURE__ */
|
|
6870
|
+
children: /* @__PURE__ */ jsx51(
|
|
6577
6871
|
SliderPrimitive.Range,
|
|
6578
6872
|
{
|
|
6579
6873
|
"data-slot": "slider-range",
|
|
@@ -6584,7 +6878,7 @@ function Slider(_a) {
|
|
|
6584
6878
|
)
|
|
6585
6879
|
}
|
|
6586
6880
|
),
|
|
6587
|
-
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */
|
|
6881
|
+
Array.from({ length: _values.length }, (_, index) => /* @__PURE__ */ jsx51(
|
|
6588
6882
|
SliderPrimitive.Thumb,
|
|
6589
6883
|
{
|
|
6590
6884
|
"data-slot": "slider-thumb",
|
|
@@ -6598,7 +6892,7 @@ function Slider(_a) {
|
|
|
6598
6892
|
}
|
|
6599
6893
|
|
|
6600
6894
|
// components/ui/toast.tsx
|
|
6601
|
-
import * as
|
|
6895
|
+
import * as React17 from "react";
|
|
6602
6896
|
import {
|
|
6603
6897
|
CircleCheckIcon,
|
|
6604
6898
|
InfoIcon,
|
|
@@ -6606,27 +6900,25 @@ import {
|
|
|
6606
6900
|
OctagonXIcon,
|
|
6607
6901
|
TriangleAlertIcon
|
|
6608
6902
|
} from "lucide-react";
|
|
6609
|
-
import { useTheme } from "next-themes";
|
|
6610
6903
|
import { Toaster as Sonner, toast } from "sonner";
|
|
6611
|
-
import { jsx as
|
|
6904
|
+
import { jsx as jsx52, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
6612
6905
|
var Toaster = (_a) => {
|
|
6613
6906
|
var props = __objRest(_a, []);
|
|
6614
|
-
const { theme = "system" } = useTheme();
|
|
6615
6907
|
const isMobile = useIsMobile();
|
|
6616
|
-
return /* @__PURE__ */
|
|
6908
|
+
return /* @__PURE__ */ jsx52(
|
|
6617
6909
|
Sonner,
|
|
6618
6910
|
__spreadValues({
|
|
6619
|
-
theme,
|
|
6911
|
+
theme: "system",
|
|
6620
6912
|
className: "toaster group",
|
|
6621
6913
|
position: isMobile ? "top-center" : "bottom-right",
|
|
6622
6914
|
visibleToasts: isMobile ? 1 : 3,
|
|
6623
6915
|
duration: 4e3,
|
|
6624
6916
|
icons: {
|
|
6625
|
-
success: /* @__PURE__ */
|
|
6626
|
-
info: /* @__PURE__ */
|
|
6627
|
-
warning: /* @__PURE__ */
|
|
6628
|
-
error: /* @__PURE__ */
|
|
6629
|
-
loading: /* @__PURE__ */
|
|
6917
|
+
success: /* @__PURE__ */ jsx52(CircleCheckIcon, { className: "size-4" }),
|
|
6918
|
+
info: /* @__PURE__ */ jsx52(InfoIcon, { className: "size-4" }),
|
|
6919
|
+
warning: /* @__PURE__ */ jsx52(TriangleAlertIcon, { className: "size-4" }),
|
|
6920
|
+
error: /* @__PURE__ */ jsx52(OctagonXIcon, { className: "size-4" }),
|
|
6921
|
+
loading: /* @__PURE__ */ jsx52(Loader2Icon, { className: "size-4 animate-spin" })
|
|
6630
6922
|
},
|
|
6631
6923
|
toastOptions: {
|
|
6632
6924
|
classNames: {
|
|
@@ -6676,30 +6968,30 @@ function ResultSnackbar(_a) {
|
|
|
6676
6968
|
"className"
|
|
6677
6969
|
]);
|
|
6678
6970
|
const isWin = outcome === "win";
|
|
6679
|
-
const [leaving, setLeaving] =
|
|
6971
|
+
const [leaving, setLeaving] = React17.useState(false);
|
|
6680
6972
|
const reduced = usePrefersReducedMotion();
|
|
6681
|
-
const onDismissRef =
|
|
6682
|
-
|
|
6973
|
+
const onDismissRef = React17.useRef(onDismiss);
|
|
6974
|
+
React17.useEffect(() => {
|
|
6683
6975
|
onDismissRef.current = onDismiss;
|
|
6684
6976
|
}, [onDismiss]);
|
|
6685
|
-
const firedRef =
|
|
6686
|
-
const finish =
|
|
6977
|
+
const firedRef = React17.useRef(false);
|
|
6978
|
+
const finish = React17.useCallback(() => {
|
|
6687
6979
|
var _a2;
|
|
6688
6980
|
if (firedRef.current) return;
|
|
6689
6981
|
firedRef.current = true;
|
|
6690
6982
|
(_a2 = onDismissRef.current) == null ? void 0 : _a2.call(onDismissRef);
|
|
6691
6983
|
}, []);
|
|
6692
|
-
|
|
6984
|
+
React17.useEffect(() => {
|
|
6693
6985
|
const leave = window.setTimeout(() => setLeaving(true), durationMs);
|
|
6694
6986
|
return () => window.clearTimeout(leave);
|
|
6695
6987
|
}, [durationMs]);
|
|
6696
|
-
|
|
6988
|
+
React17.useEffect(() => {
|
|
6697
6989
|
if (!leaving) return;
|
|
6698
6990
|
const done = window.setTimeout(finish, reduced ? 0 : RESULT_SNACKBAR_EXIT_MS);
|
|
6699
6991
|
return () => window.clearTimeout(done);
|
|
6700
6992
|
}, [leaving, finish, reduced]);
|
|
6701
|
-
const [display, setDisplay] =
|
|
6702
|
-
|
|
6993
|
+
const [display, setDisplay] = React17.useState(null);
|
|
6994
|
+
React17.useEffect(() => {
|
|
6703
6995
|
if (amountValue === void 0 || reduced || !Number.isFinite(amountValue)) {
|
|
6704
6996
|
setDisplay(null);
|
|
6705
6997
|
return;
|
|
@@ -6724,7 +7016,7 @@ function ResultSnackbar(_a) {
|
|
|
6724
7016
|
const spoken = announcement != null ? announcement : `${isWin ? "Won" : "Lost"} ${amount} ${currency}. ${contractLabel}, ${duration}.`;
|
|
6725
7017
|
const enterOut = leaving ? "out" : "in";
|
|
6726
7018
|
const motionName = `result-snackbar-${enterOut}-${placement}`;
|
|
6727
|
-
return /* @__PURE__ */
|
|
7019
|
+
return /* @__PURE__ */ jsxs30(
|
|
6728
7020
|
"div",
|
|
6729
7021
|
__spreadProps(__spreadValues({
|
|
6730
7022
|
role: "status",
|
|
@@ -6748,8 +7040,8 @@ function ResultSnackbar(_a) {
|
|
|
6748
7040
|
}
|
|
6749
7041
|
}, props), {
|
|
6750
7042
|
children: [
|
|
6751
|
-
/* @__PURE__ */
|
|
6752
|
-
icon ? /* @__PURE__ */
|
|
7043
|
+
/* @__PURE__ */ jsx52("span", { className: "sr-only", children: spoken }),
|
|
7044
|
+
icon ? /* @__PURE__ */ jsx52(
|
|
6753
7045
|
"span",
|
|
6754
7046
|
{
|
|
6755
7047
|
"data-slot": "result-snackbar-icon",
|
|
@@ -6760,8 +7052,8 @@ function ResultSnackbar(_a) {
|
|
|
6760
7052
|
children: icon
|
|
6761
7053
|
}
|
|
6762
7054
|
) : null,
|
|
6763
|
-
/* @__PURE__ */
|
|
6764
|
-
/* @__PURE__ */
|
|
7055
|
+
/* @__PURE__ */ jsxs30("span", { "aria-hidden": true, className: "flex min-w-max flex-col gap-0.5", children: [
|
|
7056
|
+
/* @__PURE__ */ jsxs30(
|
|
6765
7057
|
"span",
|
|
6766
7058
|
{
|
|
6767
7059
|
className: cn(
|
|
@@ -6771,17 +7063,17 @@ function ResultSnackbar(_a) {
|
|
|
6771
7063
|
children: [
|
|
6772
7064
|
display != null ? display : amount,
|
|
6773
7065
|
" ",
|
|
6774
|
-
/* @__PURE__ */
|
|
7066
|
+
/* @__PURE__ */ jsx52("span", { className: "type-result-snackbar-currency", children: currency })
|
|
6775
7067
|
]
|
|
6776
7068
|
}
|
|
6777
7069
|
),
|
|
6778
|
-
/* @__PURE__ */
|
|
7070
|
+
/* @__PURE__ */ jsxs30("span", { className: "type-result-snackbar-terms min-w-max text-text-subtle-default", children: [
|
|
6779
7071
|
contractLabel,
|
|
6780
7072
|
" \xB7 ",
|
|
6781
7073
|
duration
|
|
6782
7074
|
] })
|
|
6783
7075
|
] }),
|
|
6784
|
-
/* @__PURE__ */
|
|
7076
|
+
/* @__PURE__ */ jsx52(
|
|
6785
7077
|
"span",
|
|
6786
7078
|
{
|
|
6787
7079
|
"aria-hidden": true,
|
|
@@ -6800,8 +7092,8 @@ function ResultSnackbar(_a) {
|
|
|
6800
7092
|
);
|
|
6801
7093
|
}
|
|
6802
7094
|
function usePrefersReducedMotion() {
|
|
6803
|
-
const [reduced, setReduced] =
|
|
6804
|
-
|
|
7095
|
+
const [reduced, setReduced] = React17.useState(false);
|
|
7096
|
+
React17.useEffect(() => {
|
|
6805
7097
|
const query = window.matchMedia("(prefers-reduced-motion: reduce)");
|
|
6806
7098
|
setReduced(query.matches);
|
|
6807
7099
|
const onChange = (event) => setReduced(event.matches);
|
|
@@ -6812,9 +7104,9 @@ function usePrefersReducedMotion() {
|
|
|
6812
7104
|
}
|
|
6813
7105
|
|
|
6814
7106
|
// components/ui/slide-to-confirm.tsx
|
|
6815
|
-
import * as
|
|
7107
|
+
import * as React18 from "react";
|
|
6816
7108
|
import { ArrowRight as ArrowRight2, Check } from "lucide-react";
|
|
6817
|
-
import { jsx as
|
|
7109
|
+
import { jsx as jsx53, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
6818
7110
|
var CONFIRM_AT = 0.9;
|
|
6819
7111
|
var HANDLE = 46;
|
|
6820
7112
|
var INSET2 = 5;
|
|
@@ -6834,21 +7126,21 @@ function SlideToConfirm(_a) {
|
|
|
6834
7126
|
"confirmed",
|
|
6835
7127
|
"className"
|
|
6836
7128
|
]);
|
|
6837
|
-
const trackRef =
|
|
6838
|
-
const [dragX, setDragX] =
|
|
6839
|
-
const [dragging, setDragging] =
|
|
6840
|
-
const [trackWidth, setTrackWidth] =
|
|
6841
|
-
const [internalConfirmed, setInternalConfirmed] =
|
|
7129
|
+
const trackRef = React18.useRef(null);
|
|
7130
|
+
const [dragX, setDragX] = React18.useState(0);
|
|
7131
|
+
const [dragging, setDragging] = React18.useState(false);
|
|
7132
|
+
const [trackWidth, setTrackWidth] = React18.useState(0);
|
|
7133
|
+
const [internalConfirmed, setInternalConfirmed] = React18.useState(false);
|
|
6842
7134
|
const confirmed = controlledConfirmed != null ? controlledConfirmed : internalConfirmed;
|
|
6843
|
-
const firedRef =
|
|
6844
|
-
|
|
7135
|
+
const firedRef = React18.useRef(false);
|
|
7136
|
+
React18.useEffect(() => {
|
|
6845
7137
|
if (controlledConfirmed === false) {
|
|
6846
7138
|
setInternalConfirmed(false);
|
|
6847
7139
|
setDragX(0);
|
|
6848
7140
|
firedRef.current = false;
|
|
6849
7141
|
}
|
|
6850
7142
|
}, [controlledConfirmed]);
|
|
6851
|
-
|
|
7143
|
+
React18.useEffect(() => {
|
|
6852
7144
|
const track = trackRef.current;
|
|
6853
7145
|
if (!track) return;
|
|
6854
7146
|
const ro = new ResizeObserver(() => setTrackWidth(track.clientWidth));
|
|
@@ -6897,7 +7189,7 @@ function SlideToConfirm(_a) {
|
|
|
6897
7189
|
const fillWidth = dragX === 0 ? 0 : dragX + HANDLE;
|
|
6898
7190
|
const revealWidth = INSET2 + dragX + HANDLE / 2;
|
|
6899
7191
|
const spring = "duration-slow ease-(--primitive-ease-spring)";
|
|
6900
|
-
return /* @__PURE__ */
|
|
7192
|
+
return /* @__PURE__ */ jsxs31(
|
|
6901
7193
|
"div",
|
|
6902
7194
|
__spreadProps(__spreadValues({
|
|
6903
7195
|
ref: trackRef,
|
|
@@ -6916,8 +7208,8 @@ function SlideToConfirm(_a) {
|
|
|
6916
7208
|
)
|
|
6917
7209
|
}, props), {
|
|
6918
7210
|
children: [
|
|
6919
|
-
/* @__PURE__ */
|
|
6920
|
-
/* @__PURE__ */
|
|
7211
|
+
/* @__PURE__ */ jsx53("span", { className: "absolute inset-0 grid place-items-center", children: /* @__PURE__ */ jsx53("span", { className: "type-slide-to-confirm text-text-subtle-default", children: label }) }),
|
|
7212
|
+
/* @__PURE__ */ jsx53(
|
|
6921
7213
|
"span",
|
|
6922
7214
|
{
|
|
6923
7215
|
"aria-hidden": true,
|
|
@@ -6935,7 +7227,7 @@ function SlideToConfirm(_a) {
|
|
|
6935
7227
|
}
|
|
6936
7228
|
}
|
|
6937
7229
|
),
|
|
6938
|
-
/* @__PURE__ */
|
|
7230
|
+
/* @__PURE__ */ jsx53(
|
|
6939
7231
|
"span",
|
|
6940
7232
|
{
|
|
6941
7233
|
"aria-hidden": true,
|
|
@@ -6947,10 +7239,10 @@ function SlideToConfirm(_a) {
|
|
|
6947
7239
|
style: {
|
|
6948
7240
|
clipPath: confirmed ? "inset(0 round 9999px)" : `inset(0 calc(100% - ${revealWidth}px) 0 0 round 9999px)`
|
|
6949
7241
|
},
|
|
6950
|
-
children: /* @__PURE__ */
|
|
7242
|
+
children: /* @__PURE__ */ jsx53("span", { className: "type-slide-to-confirm flex items-center gap-2 text-text-on-brand-static", children: confirmed ? confirmedLabel : label })
|
|
6951
7243
|
}
|
|
6952
7244
|
),
|
|
6953
|
-
/* @__PURE__ */
|
|
7245
|
+
/* @__PURE__ */ jsx53(
|
|
6954
7246
|
"span",
|
|
6955
7247
|
{
|
|
6956
7248
|
"data-slot": "slide-to-confirm-handle",
|
|
@@ -6979,7 +7271,7 @@ function SlideToConfirm(_a) {
|
|
|
6979
7271
|
// the keyboard, where dragX never moved.
|
|
6980
7272
|
translate: `${confirmed ? maxTravel : dragX}px -50%`
|
|
6981
7273
|
},
|
|
6982
|
-
children: confirmed ? /* @__PURE__ */
|
|
7274
|
+
children: confirmed ? /* @__PURE__ */ jsx53(Check, { className: "size-4.5 [animation:slide-confirm-pop_var(--motion-pop)_var(--primitive-ease-overshoot)]" }) : /* @__PURE__ */ jsx53(ArrowRight2, { className: "size-4.5" })
|
|
6983
7275
|
}
|
|
6984
7276
|
)
|
|
6985
7277
|
]
|
|
@@ -6988,10 +7280,10 @@ function SlideToConfirm(_a) {
|
|
|
6988
7280
|
}
|
|
6989
7281
|
|
|
6990
7282
|
// components/ui/stepper.tsx
|
|
6991
|
-
import * as
|
|
7283
|
+
import * as React19 from "react";
|
|
6992
7284
|
import { Minus, Plus } from "lucide-react";
|
|
6993
|
-
import { jsx as
|
|
6994
|
-
function
|
|
7285
|
+
import { jsx as jsx54, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
7286
|
+
function clamp2(value, min, max) {
|
|
6995
7287
|
return Math.min(Math.max(value, min), max);
|
|
6996
7288
|
}
|
|
6997
7289
|
function getDecimalPlaces(n) {
|
|
@@ -7018,16 +7310,16 @@ function Stepper({
|
|
|
7018
7310
|
"aria-label": ariaLabel
|
|
7019
7311
|
}) {
|
|
7020
7312
|
const isControlled = controlledValue !== void 0;
|
|
7021
|
-
const [internalValue, setInternalValue] =
|
|
7022
|
-
|
|
7313
|
+
const [internalValue, setInternalValue] = React19.useState(
|
|
7314
|
+
clamp2(defaultValue, min, max)
|
|
7023
7315
|
);
|
|
7024
7316
|
const currentValue = isControlled ? controlledValue : internalValue;
|
|
7025
7317
|
const decimalPlaces = getDecimalPlaces(step);
|
|
7026
|
-
const [displayString, setDisplayString] =
|
|
7318
|
+
const [displayString, setDisplayString] = React19.useState(
|
|
7027
7319
|
formatValue(currentValue, decimalPlaces)
|
|
7028
7320
|
);
|
|
7029
|
-
const [isFocused, setIsFocused] =
|
|
7030
|
-
|
|
7321
|
+
const [isFocused, setIsFocused] = React19.useState(false);
|
|
7322
|
+
React19.useEffect(() => {
|
|
7031
7323
|
if (!isFocused) {
|
|
7032
7324
|
setDisplayString(formatValue(currentValue, decimalPlaces));
|
|
7033
7325
|
}
|
|
@@ -7040,7 +7332,7 @@ function Stepper({
|
|
|
7040
7332
|
committed = max;
|
|
7041
7333
|
} else {
|
|
7042
7334
|
const rounded = decimalPlaces > 0 ? parseFloat(next.toFixed(decimalPlaces)) : Math.round(next);
|
|
7043
|
-
committed =
|
|
7335
|
+
committed = clamp2(rounded, min, max);
|
|
7044
7336
|
}
|
|
7045
7337
|
if (!isControlled) setInternalValue(committed);
|
|
7046
7338
|
setDisplayString(formatValue(committed, decimalPlaces));
|
|
@@ -7084,7 +7376,7 @@ function Stepper({
|
|
|
7084
7376
|
}
|
|
7085
7377
|
}
|
|
7086
7378
|
}
|
|
7087
|
-
return /* @__PURE__ */
|
|
7379
|
+
return /* @__PURE__ */ jsxs32(
|
|
7088
7380
|
"div",
|
|
7089
7381
|
{
|
|
7090
7382
|
"data-slot": "stepper",
|
|
@@ -7103,7 +7395,7 @@ function Stepper({
|
|
|
7103
7395
|
className
|
|
7104
7396
|
),
|
|
7105
7397
|
children: [
|
|
7106
|
-
label != null && /* @__PURE__ */
|
|
7398
|
+
label != null && /* @__PURE__ */ jsx54(
|
|
7107
7399
|
"span",
|
|
7108
7400
|
{
|
|
7109
7401
|
"data-slot": "stepper-label",
|
|
@@ -7114,13 +7406,13 @@ function Stepper({
|
|
|
7114
7406
|
children: label
|
|
7115
7407
|
}
|
|
7116
7408
|
),
|
|
7117
|
-
/* @__PURE__ */
|
|
7409
|
+
/* @__PURE__ */ jsxs32(
|
|
7118
7410
|
"div",
|
|
7119
7411
|
{
|
|
7120
7412
|
"data-slot": "stepper-row",
|
|
7121
7413
|
className: "flex w-full items-center justify-between gap-4",
|
|
7122
7414
|
children: [
|
|
7123
|
-
/* @__PURE__ */
|
|
7415
|
+
/* @__PURE__ */ jsx54(
|
|
7124
7416
|
Button,
|
|
7125
7417
|
{
|
|
7126
7418
|
type: "button",
|
|
@@ -7129,10 +7421,10 @@ function Stepper({
|
|
|
7129
7421
|
onClick: handleDecrement,
|
|
7130
7422
|
disabled: disabled || currentValue <= min,
|
|
7131
7423
|
"aria-label": "Decrease value",
|
|
7132
|
-
children: /* @__PURE__ */
|
|
7424
|
+
children: /* @__PURE__ */ jsx54(Minus, {})
|
|
7133
7425
|
}
|
|
7134
7426
|
),
|
|
7135
|
-
/* @__PURE__ */
|
|
7427
|
+
/* @__PURE__ */ jsx54(
|
|
7136
7428
|
"input",
|
|
7137
7429
|
{
|
|
7138
7430
|
type: "text",
|
|
@@ -7156,7 +7448,7 @@ function Stepper({
|
|
|
7156
7448
|
className: "type-stepper-stake-amount min-w-0 flex-1 border-0 bg-transparent text-center text-text-prominent-default outline-none disabled:text-text-disabled-default [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"
|
|
7157
7449
|
}
|
|
7158
7450
|
),
|
|
7159
|
-
/* @__PURE__ */
|
|
7451
|
+
/* @__PURE__ */ jsx54(
|
|
7160
7452
|
Button,
|
|
7161
7453
|
{
|
|
7162
7454
|
type: "button",
|
|
@@ -7165,7 +7457,7 @@ function Stepper({
|
|
|
7165
7457
|
onClick: handleIncrement,
|
|
7166
7458
|
disabled: disabled || currentValue >= max,
|
|
7167
7459
|
"aria-label": "Increase value",
|
|
7168
|
-
children: /* @__PURE__ */
|
|
7460
|
+
children: /* @__PURE__ */ jsx54(Plus, {})
|
|
7169
7461
|
}
|
|
7170
7462
|
)
|
|
7171
7463
|
]
|
|
@@ -7177,10 +7469,10 @@ function Stepper({
|
|
|
7177
7469
|
}
|
|
7178
7470
|
|
|
7179
7471
|
// components/ui/steps.tsx
|
|
7180
|
-
import * as
|
|
7472
|
+
import * as React20 from "react";
|
|
7181
7473
|
import { Check as Check2 } from "lucide-react";
|
|
7182
|
-
import { jsx as
|
|
7183
|
-
var StepsContext =
|
|
7474
|
+
import { jsx as jsx55, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
7475
|
+
var StepsContext = React20.createContext({ shape: "circle", orientation: "horizontal", size: "md" });
|
|
7184
7476
|
function Steps(_a) {
|
|
7185
7477
|
var _b = _a, {
|
|
7186
7478
|
shape = "circle",
|
|
@@ -7195,8 +7487,8 @@ function Steps(_a) {
|
|
|
7195
7487
|
"className",
|
|
7196
7488
|
"children"
|
|
7197
7489
|
]);
|
|
7198
|
-
const steps =
|
|
7199
|
-
return /* @__PURE__ */
|
|
7490
|
+
const steps = React20.Children.toArray(children);
|
|
7491
|
+
return /* @__PURE__ */ jsx55(StepsContext.Provider, { value: { shape, orientation, size }, children: /* @__PURE__ */ jsx55(
|
|
7200
7492
|
"ol",
|
|
7201
7493
|
__spreadProps(__spreadValues({
|
|
7202
7494
|
"data-slot": "steps",
|
|
@@ -7210,7 +7502,7 @@ function Steps(_a) {
|
|
|
7210
7502
|
)
|
|
7211
7503
|
}, props), {
|
|
7212
7504
|
children: steps.map(
|
|
7213
|
-
(child, index) =>
|
|
7505
|
+
(child, index) => React20.isValidElement(child) ? React20.cloneElement(child, {
|
|
7214
7506
|
index: index + 1,
|
|
7215
7507
|
isFirst: index === 0,
|
|
7216
7508
|
isLast: index === steps.length - 1
|
|
@@ -7241,10 +7533,10 @@ function Step(_a) {
|
|
|
7241
7533
|
"isLast",
|
|
7242
7534
|
"className"
|
|
7243
7535
|
]);
|
|
7244
|
-
const { shape, orientation, size } =
|
|
7536
|
+
const { shape, orientation, size } = React20.useContext(StepsContext);
|
|
7245
7537
|
const horizontal = orientation === "horizontal";
|
|
7246
7538
|
const sm = size === "sm";
|
|
7247
|
-
const indicator = /* @__PURE__ */
|
|
7539
|
+
const indicator = /* @__PURE__ */ jsx55(
|
|
7248
7540
|
"span",
|
|
7249
7541
|
{
|
|
7250
7542
|
"data-slot": "step-indicator",
|
|
@@ -7258,11 +7550,11 @@ function Step(_a) {
|
|
|
7258
7550
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
7259
7551
|
sm ? "[&_svg:not([class*='size-'])]:size-3.5" : "[&_svg:not([class*='size-'])]:size-4"
|
|
7260
7552
|
),
|
|
7261
|
-
children: state === "done" ? /* @__PURE__ */
|
|
7553
|
+
children: state === "done" ? /* @__PURE__ */ jsx55(Check2, {}) : icon != null ? icon : index
|
|
7262
7554
|
}
|
|
7263
7555
|
);
|
|
7264
7556
|
if (horizontal) {
|
|
7265
|
-
return /* @__PURE__ */
|
|
7557
|
+
return /* @__PURE__ */ jsxs33(
|
|
7266
7558
|
"li",
|
|
7267
7559
|
__spreadProps(__spreadValues({
|
|
7268
7560
|
"data-slot": "step",
|
|
@@ -7271,8 +7563,8 @@ function Step(_a) {
|
|
|
7271
7563
|
className: cn("flex min-w-0 flex-1 flex-col items-center", className)
|
|
7272
7564
|
}, props), {
|
|
7273
7565
|
children: [
|
|
7274
|
-
/* @__PURE__ */
|
|
7275
|
-
/* @__PURE__ */
|
|
7566
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex w-full items-center", children: [
|
|
7567
|
+
/* @__PURE__ */ jsx55(
|
|
7276
7568
|
"span",
|
|
7277
7569
|
{
|
|
7278
7570
|
"aria-hidden": true,
|
|
@@ -7280,10 +7572,10 @@ function Step(_a) {
|
|
|
7280
7572
|
className: cn("h-px flex-1", !isFirst && "bg-border-neutral-default")
|
|
7281
7573
|
}
|
|
7282
7574
|
),
|
|
7283
|
-
/* @__PURE__ */
|
|
7575
|
+
/* @__PURE__ */ jsx55("span", { className: cn(!isFirst && "w-1", "shrink-0") }),
|
|
7284
7576
|
indicator,
|
|
7285
|
-
/* @__PURE__ */
|
|
7286
|
-
/* @__PURE__ */
|
|
7577
|
+
/* @__PURE__ */ jsx55("span", { className: cn(!isLast && "w-1", "shrink-0") }),
|
|
7578
|
+
/* @__PURE__ */ jsx55(
|
|
7287
7579
|
"span",
|
|
7288
7580
|
{
|
|
7289
7581
|
"aria-hidden": true,
|
|
@@ -7292,7 +7584,7 @@ function Step(_a) {
|
|
|
7292
7584
|
}
|
|
7293
7585
|
)
|
|
7294
7586
|
] }),
|
|
7295
|
-
(title != null || description != null) && /* @__PURE__ */
|
|
7587
|
+
(title != null || description != null) && /* @__PURE__ */ jsxs33(
|
|
7296
7588
|
"div",
|
|
7297
7589
|
{
|
|
7298
7590
|
"data-slot": "step-body",
|
|
@@ -7301,7 +7593,7 @@ function Step(_a) {
|
|
|
7301
7593
|
sm ? "mt-1" : "mt-1.5"
|
|
7302
7594
|
),
|
|
7303
7595
|
children: [
|
|
7304
|
-
title != null && /* @__PURE__ */
|
|
7596
|
+
title != null && /* @__PURE__ */ jsx55(
|
|
7305
7597
|
"span",
|
|
7306
7598
|
{
|
|
7307
7599
|
className: cn(
|
|
@@ -7311,8 +7603,8 @@ function Step(_a) {
|
|
|
7311
7603
|
children: title
|
|
7312
7604
|
}
|
|
7313
7605
|
),
|
|
7314
|
-
tag != null && /* @__PURE__ */
|
|
7315
|
-
description != null && /* @__PURE__ */
|
|
7606
|
+
tag != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-tag whitespace-nowrap text-text-brand-selected", children: tag }),
|
|
7607
|
+
description != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-description text-text-subtle-default", children: description })
|
|
7316
7608
|
]
|
|
7317
7609
|
}
|
|
7318
7610
|
)
|
|
@@ -7321,7 +7613,7 @@ function Step(_a) {
|
|
|
7321
7613
|
);
|
|
7322
7614
|
}
|
|
7323
7615
|
const hasBody = title != null || description != null;
|
|
7324
|
-
return /* @__PURE__ */
|
|
7616
|
+
return /* @__PURE__ */ jsxs33(
|
|
7325
7617
|
"li",
|
|
7326
7618
|
__spreadProps(__spreadValues({
|
|
7327
7619
|
"data-slot": "step",
|
|
@@ -7338,9 +7630,9 @@ function Step(_a) {
|
|
|
7338
7630
|
)
|
|
7339
7631
|
}, props), {
|
|
7340
7632
|
children: [
|
|
7341
|
-
/* @__PURE__ */
|
|
7633
|
+
/* @__PURE__ */ jsxs33("div", { className: "flex flex-col items-center self-stretch", children: [
|
|
7342
7634
|
indicator,
|
|
7343
|
-
!isLast && /* @__PURE__ */
|
|
7635
|
+
!isLast && /* @__PURE__ */ jsx55(
|
|
7344
7636
|
"span",
|
|
7345
7637
|
{
|
|
7346
7638
|
"aria-hidden": true,
|
|
@@ -7349,13 +7641,13 @@ function Step(_a) {
|
|
|
7349
7641
|
}
|
|
7350
7642
|
)
|
|
7351
7643
|
] }),
|
|
7352
|
-
/* @__PURE__ */
|
|
7644
|
+
/* @__PURE__ */ jsxs33(
|
|
7353
7645
|
"div",
|
|
7354
7646
|
{
|
|
7355
7647
|
"data-slot": "step-body",
|
|
7356
7648
|
className: cn("flex min-w-0 flex-col", !isLast && (sm ? "pb-4" : "pb-6")),
|
|
7357
7649
|
children: [
|
|
7358
|
-
title != null && /* @__PURE__ */
|
|
7650
|
+
title != null && /* @__PURE__ */ jsxs33(
|
|
7359
7651
|
"span",
|
|
7360
7652
|
{
|
|
7361
7653
|
className: cn(
|
|
@@ -7364,12 +7656,12 @@ function Step(_a) {
|
|
|
7364
7656
|
),
|
|
7365
7657
|
children: [
|
|
7366
7658
|
title,
|
|
7367
|
-
tag != null && /* @__PURE__ */
|
|
7659
|
+
tag != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-tag ml-2 whitespace-nowrap text-text-brand-selected", children: tag })
|
|
7368
7660
|
]
|
|
7369
7661
|
}
|
|
7370
7662
|
),
|
|
7371
|
-
description != null && /* @__PURE__ */
|
|
7372
|
-
!hasBody && /* @__PURE__ */
|
|
7663
|
+
description != null && /* @__PURE__ */ jsx55("span", { className: "type-steps-description text-text-subtle-default", children: description }),
|
|
7664
|
+
!hasBody && /* @__PURE__ */ jsxs33("span", { className: "sr-only", children: [
|
|
7373
7665
|
"Step ",
|
|
7374
7666
|
index
|
|
7375
7667
|
] })
|
|
@@ -7383,7 +7675,7 @@ function Step(_a) {
|
|
|
7383
7675
|
|
|
7384
7676
|
// components/ui/switch.tsx
|
|
7385
7677
|
import { Switch as SwitchPrimitive } from "radix-ui";
|
|
7386
|
-
import { jsx as
|
|
7678
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
7387
7679
|
function Switch(_a) {
|
|
7388
7680
|
var _b = _a, {
|
|
7389
7681
|
className,
|
|
@@ -7392,7 +7684,7 @@ function Switch(_a) {
|
|
|
7392
7684
|
"className",
|
|
7393
7685
|
"size"
|
|
7394
7686
|
]);
|
|
7395
|
-
return /* @__PURE__ */
|
|
7687
|
+
return /* @__PURE__ */ jsx56(
|
|
7396
7688
|
SwitchPrimitive.Root,
|
|
7397
7689
|
__spreadProps(__spreadValues({
|
|
7398
7690
|
"data-slot": "switch",
|
|
@@ -7402,7 +7694,7 @@ function Switch(_a) {
|
|
|
7402
7694
|
className
|
|
7403
7695
|
)
|
|
7404
7696
|
}, props), {
|
|
7405
|
-
children: /* @__PURE__ */
|
|
7697
|
+
children: /* @__PURE__ */ jsx56(
|
|
7406
7698
|
SwitchPrimitive.Thumb,
|
|
7407
7699
|
{
|
|
7408
7700
|
"data-slot": "switch-thumb",
|
|
@@ -7416,15 +7708,15 @@ function Switch(_a) {
|
|
|
7416
7708
|
}
|
|
7417
7709
|
|
|
7418
7710
|
// components/ui/table.tsx
|
|
7419
|
-
import { jsx as
|
|
7711
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
7420
7712
|
function Table(_a) {
|
|
7421
7713
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7422
|
-
return /* @__PURE__ */
|
|
7714
|
+
return /* @__PURE__ */ jsx57(
|
|
7423
7715
|
"div",
|
|
7424
7716
|
{
|
|
7425
7717
|
"data-slot": "table-container",
|
|
7426
7718
|
className: "relative w-full overflow-x-auto",
|
|
7427
|
-
children: /* @__PURE__ */
|
|
7719
|
+
children: /* @__PURE__ */ jsx57(
|
|
7428
7720
|
"table",
|
|
7429
7721
|
__spreadValues({
|
|
7430
7722
|
"data-slot": "table",
|
|
@@ -7436,7 +7728,7 @@ function Table(_a) {
|
|
|
7436
7728
|
}
|
|
7437
7729
|
function TableHeader(_a) {
|
|
7438
7730
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7439
|
-
return /* @__PURE__ */
|
|
7731
|
+
return /* @__PURE__ */ jsx57(
|
|
7440
7732
|
"thead",
|
|
7441
7733
|
__spreadValues({
|
|
7442
7734
|
"data-slot": "table-header",
|
|
@@ -7446,7 +7738,7 @@ function TableHeader(_a) {
|
|
|
7446
7738
|
}
|
|
7447
7739
|
function TableBody(_a) {
|
|
7448
7740
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7449
|
-
return /* @__PURE__ */
|
|
7741
|
+
return /* @__PURE__ */ jsx57(
|
|
7450
7742
|
"tbody",
|
|
7451
7743
|
__spreadValues({
|
|
7452
7744
|
"data-slot": "table-body",
|
|
@@ -7456,7 +7748,7 @@ function TableBody(_a) {
|
|
|
7456
7748
|
}
|
|
7457
7749
|
function TableFooter(_a) {
|
|
7458
7750
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7459
|
-
return /* @__PURE__ */
|
|
7751
|
+
return /* @__PURE__ */ jsx57(
|
|
7460
7752
|
"tfoot",
|
|
7461
7753
|
__spreadValues({
|
|
7462
7754
|
"data-slot": "table-footer",
|
|
@@ -7469,7 +7761,7 @@ function TableFooter(_a) {
|
|
|
7469
7761
|
}
|
|
7470
7762
|
function TableRow(_a) {
|
|
7471
7763
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7472
|
-
return /* @__PURE__ */
|
|
7764
|
+
return /* @__PURE__ */ jsx57(
|
|
7473
7765
|
"tr",
|
|
7474
7766
|
__spreadValues({
|
|
7475
7767
|
"data-slot": "table-row",
|
|
@@ -7482,7 +7774,7 @@ function TableRow(_a) {
|
|
|
7482
7774
|
}
|
|
7483
7775
|
function TableHead(_a) {
|
|
7484
7776
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7485
|
-
return /* @__PURE__ */
|
|
7777
|
+
return /* @__PURE__ */ jsx57(
|
|
7486
7778
|
"th",
|
|
7487
7779
|
__spreadValues({
|
|
7488
7780
|
"data-slot": "table-head",
|
|
@@ -7495,7 +7787,7 @@ function TableHead(_a) {
|
|
|
7495
7787
|
}
|
|
7496
7788
|
function TableCell(_a) {
|
|
7497
7789
|
var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
|
|
7498
|
-
return /* @__PURE__ */
|
|
7790
|
+
return /* @__PURE__ */ jsx57(
|
|
7499
7791
|
"td",
|
|
7500
7792
|
__spreadValues({
|
|
7501
7793
|
"data-slot": "table-cell",
|
|
@@ -7512,7 +7804,7 @@ function TableCaption(_a) {
|
|
|
7512
7804
|
} = _b, props = __objRest(_b, [
|
|
7513
7805
|
"className"
|
|
7514
7806
|
]);
|
|
7515
|
-
return /* @__PURE__ */
|
|
7807
|
+
return /* @__PURE__ */ jsx57(
|
|
7516
7808
|
"caption",
|
|
7517
7809
|
__spreadValues({
|
|
7518
7810
|
"data-slot": "table-caption",
|
|
@@ -7524,7 +7816,7 @@ function TableCaption(_a) {
|
|
|
7524
7816
|
// components/ui/tabs.tsx
|
|
7525
7817
|
import { cva as cva14 } from "class-variance-authority";
|
|
7526
7818
|
import { Tabs as TabsPrimitive } from "radix-ui";
|
|
7527
|
-
import { jsx as
|
|
7819
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
7528
7820
|
function Tabs(_a) {
|
|
7529
7821
|
var _b = _a, {
|
|
7530
7822
|
className,
|
|
@@ -7533,7 +7825,7 @@ function Tabs(_a) {
|
|
|
7533
7825
|
"className",
|
|
7534
7826
|
"orientation"
|
|
7535
7827
|
]);
|
|
7536
|
-
return /* @__PURE__ */
|
|
7828
|
+
return /* @__PURE__ */ jsx58(
|
|
7537
7829
|
TabsPrimitive.Root,
|
|
7538
7830
|
__spreadValues({
|
|
7539
7831
|
"data-slot": "tabs",
|
|
@@ -7576,7 +7868,7 @@ function TabsList(_a) {
|
|
|
7576
7868
|
"variant",
|
|
7577
7869
|
"size"
|
|
7578
7870
|
]);
|
|
7579
|
-
return /* @__PURE__ */
|
|
7871
|
+
return /* @__PURE__ */ jsx58(
|
|
7580
7872
|
TabsPrimitive.List,
|
|
7581
7873
|
__spreadValues({
|
|
7582
7874
|
"data-slot": "tabs-list",
|
|
@@ -7594,7 +7886,7 @@ function TabsTrigger(_a) {
|
|
|
7594
7886
|
"className",
|
|
7595
7887
|
"iconPosition"
|
|
7596
7888
|
]);
|
|
7597
|
-
return /* @__PURE__ */
|
|
7889
|
+
return /* @__PURE__ */ jsx58(
|
|
7598
7890
|
TabsPrimitive.Trigger,
|
|
7599
7891
|
__spreadValues({
|
|
7600
7892
|
"data-slot": "tabs-trigger",
|
|
@@ -7620,7 +7912,7 @@ function TabsContent(_a) {
|
|
|
7620
7912
|
} = _b, props = __objRest(_b, [
|
|
7621
7913
|
"className"
|
|
7622
7914
|
]);
|
|
7623
|
-
return /* @__PURE__ */
|
|
7915
|
+
return /* @__PURE__ */ jsx58(
|
|
7624
7916
|
TabsPrimitive.Content,
|
|
7625
7917
|
__spreadValues({
|
|
7626
7918
|
"data-slot": "tabs-content",
|
|
@@ -7632,7 +7924,7 @@ function TabsContent(_a) {
|
|
|
7632
7924
|
// components/ui/toggle.tsx
|
|
7633
7925
|
import { cva as cva15 } from "class-variance-authority";
|
|
7634
7926
|
import { Toggle as TogglePrimitive } from "radix-ui";
|
|
7635
|
-
import { jsx as
|
|
7927
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
7636
7928
|
var toggleVariants = cva15(
|
|
7637
7929
|
"type-toggle inline-flex items-center justify-center gap-2 rounded-md border border-border-default-default bg-background-primary-surface text-text-prominent-default whitespace-nowrap transition-[color,background-color,border-color,box-shadow] outline-none hover:bg-background-secondary-surface active:bg-background-secondary-wash focus-visible:border-ring-focus-default focus-visible:ring-[3px] focus-visible:ring-ring-focus-strong disabled:pointer-events-none disabled:opacity-(--opacity-disabled) aria-invalid:border-border-error-default aria-invalid:ring-ring-error-soft data-[state=on]:border-transparent data-[state=on]:bg-background-brand-default data-[state=on]:text-text-on-brand-static [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
7638
7930
|
{
|
|
@@ -7656,7 +7948,7 @@ function Toggle(_a) {
|
|
|
7656
7948
|
"className",
|
|
7657
7949
|
"size"
|
|
7658
7950
|
]);
|
|
7659
|
-
return /* @__PURE__ */
|
|
7951
|
+
return /* @__PURE__ */ jsx59(
|
|
7660
7952
|
TogglePrimitive.Root,
|
|
7661
7953
|
__spreadValues({
|
|
7662
7954
|
"data-slot": "toggle",
|
|
@@ -7666,10 +7958,10 @@ function Toggle(_a) {
|
|
|
7666
7958
|
}
|
|
7667
7959
|
|
|
7668
7960
|
// components/ui/toggle-group.tsx
|
|
7669
|
-
import * as
|
|
7961
|
+
import * as React21 from "react";
|
|
7670
7962
|
import { ToggleGroup as ToggleGroupPrimitive } from "radix-ui";
|
|
7671
|
-
import { jsx as
|
|
7672
|
-
var ToggleGroupContext =
|
|
7963
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
7964
|
+
var ToggleGroupContext = React21.createContext({
|
|
7673
7965
|
size: "default",
|
|
7674
7966
|
spacing: 0
|
|
7675
7967
|
});
|
|
@@ -7685,7 +7977,7 @@ function ToggleGroup(_a) {
|
|
|
7685
7977
|
"spacing",
|
|
7686
7978
|
"children"
|
|
7687
7979
|
]);
|
|
7688
|
-
return /* @__PURE__ */
|
|
7980
|
+
return /* @__PURE__ */ jsx60(
|
|
7689
7981
|
ToggleGroupPrimitive.Root,
|
|
7690
7982
|
__spreadProps(__spreadValues({
|
|
7691
7983
|
"data-slot": "toggle-group",
|
|
@@ -7697,7 +7989,7 @@ function ToggleGroup(_a) {
|
|
|
7697
7989
|
className
|
|
7698
7990
|
)
|
|
7699
7991
|
}, props), {
|
|
7700
|
-
children: /* @__PURE__ */
|
|
7992
|
+
children: /* @__PURE__ */ jsx60(ToggleGroupContext.Provider, { value: { size, spacing }, children })
|
|
7701
7993
|
})
|
|
7702
7994
|
);
|
|
7703
7995
|
}
|
|
@@ -7711,8 +8003,8 @@ function ToggleGroupItem(_a) {
|
|
|
7711
8003
|
"children",
|
|
7712
8004
|
"size"
|
|
7713
8005
|
]);
|
|
7714
|
-
const context =
|
|
7715
|
-
return /* @__PURE__ */
|
|
8006
|
+
const context = React21.useContext(ToggleGroupContext);
|
|
8007
|
+
return /* @__PURE__ */ jsx60(
|
|
7716
8008
|
ToggleGroupPrimitive.Item,
|
|
7717
8009
|
__spreadProps(__spreadValues({
|
|
7718
8010
|
"data-slot": "toggle-group-item",
|
|
@@ -7735,7 +8027,7 @@ function ToggleGroupItem(_a) {
|
|
|
7735
8027
|
}
|
|
7736
8028
|
|
|
7737
8029
|
// components/blocks/result-block.tsx
|
|
7738
|
-
import { Fragment as Fragment3, jsx as
|
|
8030
|
+
import { Fragment as Fragment3, jsx as jsx61, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
7739
8031
|
var THUMBS_UP_DATA_URL = "data:image/webp;base64,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";
|
|
7740
8032
|
var THUMBS_DOWN_DATA_URL = "data:image/webp;base64,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";
|
|
7741
8033
|
function ResultBlock({
|
|
@@ -7752,9 +8044,9 @@ function ResultBlock({
|
|
|
7752
8044
|
const signedAmount = isWin ? `+${amount}` : `\u2212${amount}`;
|
|
7753
8045
|
const amountColorClass = isWin ? "text-semantic-win" : "text-semantic-loss";
|
|
7754
8046
|
const haloBgClass = isWin ? "bg-semantic-win" : "bg-semantic-loss";
|
|
7755
|
-
return /* @__PURE__ */
|
|
7756
|
-
/* @__PURE__ */
|
|
7757
|
-
/* @__PURE__ */
|
|
8047
|
+
return /* @__PURE__ */ jsxs34(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-5 items-center gap-3", children: [
|
|
8048
|
+
/* @__PURE__ */ jsxs34("div", { className: "relative flex items-center justify-center py-2", children: [
|
|
8049
|
+
/* @__PURE__ */ jsx61(
|
|
7758
8050
|
"span",
|
|
7759
8051
|
{
|
|
7760
8052
|
"aria-hidden": true,
|
|
@@ -7762,7 +8054,7 @@ function ResultBlock({
|
|
|
7762
8054
|
className: `absolute size-24 rounded-full blur-2xl opacity-20 ${haloBgClass}`
|
|
7763
8055
|
}
|
|
7764
8056
|
),
|
|
7765
|
-
/* @__PURE__ */
|
|
8057
|
+
/* @__PURE__ */ jsx61(
|
|
7766
8058
|
"img",
|
|
7767
8059
|
{
|
|
7768
8060
|
"data-results-motion": isWin ? "icon-win" : "icon-loss",
|
|
@@ -7772,28 +8064,28 @@ function ResultBlock({
|
|
|
7772
8064
|
}
|
|
7773
8065
|
)
|
|
7774
8066
|
] }),
|
|
7775
|
-
/* @__PURE__ */
|
|
7776
|
-
/* @__PURE__ */
|
|
7777
|
-
/* @__PURE__ */
|
|
7778
|
-
/* @__PURE__ */
|
|
8067
|
+
/* @__PURE__ */ jsx61("p", { className: "text-lg font-semibold text-on-prominent", children: titleText }),
|
|
8068
|
+
/* @__PURE__ */ jsxs34("p", { className: `flex items-baseline gap-1.5 ${amountColorClass}`, children: [
|
|
8069
|
+
/* @__PURE__ */ jsx61("span", { className: "font-display text-4xl font-semibold tabular-nums tracking-tight", children: signedAmount }),
|
|
8070
|
+
/* @__PURE__ */ jsx61("span", { className: "text-lg font-semibold", children: currency })
|
|
7779
8071
|
] }),
|
|
7780
|
-
/* @__PURE__ */
|
|
7781
|
-
/* @__PURE__ */
|
|
8072
|
+
/* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-2", children: [
|
|
8073
|
+
/* @__PURE__ */ jsxs34(Badge, { variant: "tint-neutral", size: "sm", children: [
|
|
7782
8074
|
contractLabel,
|
|
7783
|
-
pickedDigit !== void 0 && /* @__PURE__ */
|
|
7784
|
-
/* @__PURE__ */
|
|
7785
|
-
/* @__PURE__ */
|
|
8075
|
+
pickedDigit !== void 0 && /* @__PURE__ */ jsxs34(Fragment3, { children: [
|
|
8076
|
+
/* @__PURE__ */ jsx61("span", { "aria-hidden": true, className: "h-3 w-px bg-border-prominent/40 mx-1" }),
|
|
8077
|
+
/* @__PURE__ */ jsx61("span", { className: "tabular-nums", children: pickedDigit })
|
|
7786
8078
|
] })
|
|
7787
8079
|
] }),
|
|
7788
|
-
/* @__PURE__ */
|
|
8080
|
+
/* @__PURE__ */ jsx61(Badge, { variant: "tint-neutral", size: "sm", children: duration })
|
|
7789
8081
|
] }),
|
|
7790
|
-
/* @__PURE__ */
|
|
7791
|
-
ctaMode === "next-round" && /* @__PURE__ */
|
|
7792
|
-
ctaMode === "go-again" && /* @__PURE__ */
|
|
7793
|
-
ctaMode === "conversion" && /* @__PURE__ */
|
|
7794
|
-
/* @__PURE__ */
|
|
7795
|
-
/* @__PURE__ */
|
|
7796
|
-
/* @__PURE__ */
|
|
8082
|
+
/* @__PURE__ */ jsxs34("div", { className: "w-full pt-2", children: [
|
|
8083
|
+
ctaMode === "next-round" && /* @__PURE__ */ jsx61(Button, { className: "w-full", children: "Next round" }),
|
|
8084
|
+
ctaMode === "go-again" && /* @__PURE__ */ jsx61(Button, { className: "w-full", children: "Go again" }),
|
|
8085
|
+
ctaMode === "conversion" && /* @__PURE__ */ jsxs34("div", { className: "w-full flex flex-col gap-3", children: [
|
|
8086
|
+
/* @__PURE__ */ jsx61("p", { className: "text-center text-base font-semibold text-on-prominent", children: "Ready to play for real?" }),
|
|
8087
|
+
/* @__PURE__ */ jsx61(Button, { className: "w-full", children: "Deposit now" }),
|
|
8088
|
+
/* @__PURE__ */ jsx61(Button, { variant: "secondary", className: "w-full", children: "Stay in demo" })
|
|
7797
8089
|
] })
|
|
7798
8090
|
] })
|
|
7799
8091
|
] });
|
|
@@ -7804,21 +8096,21 @@ function ResultDialog({
|
|
|
7804
8096
|
primaryLabel,
|
|
7805
8097
|
secondaryLabel
|
|
7806
8098
|
}) {
|
|
7807
|
-
return /* @__PURE__ */
|
|
7808
|
-
/* @__PURE__ */
|
|
7809
|
-
/* @__PURE__ */
|
|
7810
|
-
/* @__PURE__ */
|
|
8099
|
+
return /* @__PURE__ */ jsxs34(Card, { className: "w-80 shrink-0 overflow-hidden rounded-md shadow-sm px-5 py-6 items-center gap-4", children: [
|
|
8100
|
+
/* @__PURE__ */ jsxs34("div", { className: "flex flex-col items-center gap-2 text-center", children: [
|
|
8101
|
+
/* @__PURE__ */ jsx61("p", { className: "text-lg font-semibold text-on-prominent", children: title }),
|
|
8102
|
+
/* @__PURE__ */ jsx61("p", { className: "text-sm text-on-subtle", children: body })
|
|
7811
8103
|
] }),
|
|
7812
|
-
/* @__PURE__ */
|
|
7813
|
-
/* @__PURE__ */
|
|
7814
|
-
/* @__PURE__ */
|
|
8104
|
+
/* @__PURE__ */ jsxs34("div", { className: "w-full flex flex-col gap-2", children: [
|
|
8105
|
+
/* @__PURE__ */ jsx61(Button, { className: "w-full", children: primaryLabel }),
|
|
8106
|
+
/* @__PURE__ */ jsx61(Button, { variant: "secondary", className: "w-full", children: secondaryLabel })
|
|
7815
8107
|
] })
|
|
7816
8108
|
] });
|
|
7817
8109
|
}
|
|
7818
8110
|
|
|
7819
8111
|
// components/blocks/header-navigation-block.tsx
|
|
7820
8112
|
import { ArrowLeft as ArrowLeft2, History } from "lucide-react";
|
|
7821
|
-
import { jsx as
|
|
8113
|
+
import { jsx as jsx62, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
7822
8114
|
function HeaderNavigationBlock({
|
|
7823
8115
|
onBack,
|
|
7824
8116
|
badge,
|
|
@@ -7827,15 +8119,15 @@ function HeaderNavigationBlock({
|
|
|
7827
8119
|
actions
|
|
7828
8120
|
}) {
|
|
7829
8121
|
var _a;
|
|
7830
|
-
return /* @__PURE__ */
|
|
7831
|
-
onBack && /* @__PURE__ */
|
|
7832
|
-
/* @__PURE__ */
|
|
7833
|
-
badge && /* @__PURE__ */
|
|
7834
|
-
/* @__PURE__ */
|
|
7835
|
-
/* @__PURE__ */
|
|
8122
|
+
return /* @__PURE__ */ jsx62("div", { className: "w-full min-w-80 max-w-layout-diagram-small rounded-md overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs35("header", { className: "flex items-center gap-2 border-b border-border-subtle bg-prominent px-layout-margin-inline py-3", children: [
|
|
8123
|
+
onBack && /* @__PURE__ */ jsx62(NavigationButton, { type: "button", size: "md", "aria-label": "Back", onClick: onBack, children: /* @__PURE__ */ jsx62(ArrowLeft2, { className: "size-5" }) }),
|
|
8124
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex min-w-0 flex-1 items-center justify-center gap-2", children: [
|
|
8125
|
+
badge && /* @__PURE__ */ jsx62(Badge, { variant: (_a = badge.variant) != null ? _a : "tint-warning", size: "sm", children: badge.label }),
|
|
8126
|
+
/* @__PURE__ */ jsx62("span", { className: "font-display font-semibold tabular-nums text-on-prominent", children: balance.amount }),
|
|
8127
|
+
/* @__PURE__ */ jsx62("span", { className: "text-sm text-on-subtle", children: balance.currency })
|
|
7836
8128
|
] }),
|
|
7837
|
-
/* @__PURE__ */
|
|
7838
|
-
history && /* @__PURE__ */
|
|
8129
|
+
/* @__PURE__ */ jsxs35("div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
8130
|
+
history && /* @__PURE__ */ jsx62(HistoryButton, __spreadValues({}, history)),
|
|
7839
8131
|
actions
|
|
7840
8132
|
] })
|
|
7841
8133
|
] }) });
|
|
@@ -7848,13 +8140,14 @@ function HistoryButton({
|
|
|
7848
8140
|
const show = typeof count === "number" && count > 0;
|
|
7849
8141
|
const label = show ? count > 99 ? "99+" : String(count) : null;
|
|
7850
8142
|
const ariaLabel = ariaLabelOverride != null ? ariaLabelOverride : show ? `Open history, ${count} new` : "Open history";
|
|
7851
|
-
return /* @__PURE__ */
|
|
7852
|
-
/* @__PURE__ */
|
|
7853
|
-
show && /* @__PURE__ */
|
|
7854
|
-
|
|
8143
|
+
return /* @__PURE__ */ jsxs35("div", { className: "relative inline-flex", children: [
|
|
8144
|
+
/* @__PURE__ */ jsx62(NavigationButton, { type: "button", size: "md", "aria-label": ariaLabel, onClick, children: /* @__PURE__ */ jsx62(History, { className: "size-5" }) }),
|
|
8145
|
+
show && /* @__PURE__ */ jsx62(
|
|
8146
|
+
Badge,
|
|
7855
8147
|
{
|
|
7856
8148
|
"aria-hidden": true,
|
|
7857
|
-
|
|
8149
|
+
size: "count",
|
|
8150
|
+
className: "pointer-events-none absolute -top-0.5 -right-0.5 ring-2 ring-background-primary-canvas",
|
|
7858
8151
|
children: label
|
|
7859
8152
|
}
|
|
7860
8153
|
)
|
|
@@ -7864,7 +8157,7 @@ function HistoryButton({
|
|
|
7864
8157
|
// components/blocks/faq-block.tsx
|
|
7865
8158
|
import { Plus as Plus2 } from "lucide-react";
|
|
7866
8159
|
import { Accordion as AccordionPrimitive2 } from "radix-ui";
|
|
7867
|
-
import { jsx as
|
|
8160
|
+
import { jsx as jsx63, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
7868
8161
|
function FAQBlock({
|
|
7869
8162
|
eyebrow = "FAQ",
|
|
7870
8163
|
title = "Frequently asked questions",
|
|
@@ -7876,34 +8169,34 @@ function FAQBlock({
|
|
|
7876
8169
|
}) {
|
|
7877
8170
|
var _a, _b;
|
|
7878
8171
|
if (layout === "two-column") {
|
|
7879
|
-
return /* @__PURE__ */
|
|
7880
|
-
/* @__PURE__ */
|
|
7881
|
-
/* @__PURE__ */
|
|
7882
|
-
/* @__PURE__ */
|
|
7883
|
-
intro && /* @__PURE__ */
|
|
8172
|
+
return /* @__PURE__ */ jsx63("div", { className: "@container w-full", children: /* @__PURE__ */ jsxs36("div", { className: "flex flex-col @[600px]:flex-row gap-8 @[600px]:gap-12", children: [
|
|
8173
|
+
/* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-4 flex-1 @[600px]:max-w-xs", children: [
|
|
8174
|
+
/* @__PURE__ */ jsx63("span", { className: "text-xs font-body font-semibold tracking-widest uppercase text-on-subtle", children: eyebrow }),
|
|
8175
|
+
/* @__PURE__ */ jsx63("h2", { className: "text-4xl @[600px]:text-6xl font-semibold font-display text-on-prominent tracking-tight", children: title }),
|
|
8176
|
+
intro && /* @__PURE__ */ jsx63("p", { className: "text-base font-body text-on-subtle", children: intro })
|
|
7884
8177
|
] }),
|
|
7885
|
-
/* @__PURE__ */
|
|
8178
|
+
/* @__PURE__ */ jsx63("div", { className: "flex-1", children: /* @__PURE__ */ jsx63(
|
|
7886
8179
|
Accordion,
|
|
7887
8180
|
{
|
|
7888
8181
|
type: "single",
|
|
7889
8182
|
collapsible: true,
|
|
7890
8183
|
defaultValue: defaultValue != null ? defaultValue : (_a = items[0]) == null ? void 0 : _a.value,
|
|
7891
8184
|
className: "w-full",
|
|
7892
|
-
children: items.map(({ value, question, answer }, i) => /* @__PURE__ */
|
|
7893
|
-
/* @__PURE__ */
|
|
8185
|
+
children: items.map(({ value, question, answer }, i) => /* @__PURE__ */ jsxs36(AccordionItem, { value, children: [
|
|
8186
|
+
/* @__PURE__ */ jsx63(AccordionPrimitive2.Header, { className: "flex", children: /* @__PURE__ */ jsxs36(
|
|
7894
8187
|
AccordionPrimitive2.Trigger,
|
|
7895
8188
|
{
|
|
7896
8189
|
className: "group flex flex-1 items-center justify-between gap-4 py-5 text-left outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
|
|
7897
8190
|
children: [
|
|
7898
|
-
/* @__PURE__ */
|
|
7899
|
-
/* @__PURE__ */
|
|
7900
|
-
/* @__PURE__ */
|
|
8191
|
+
/* @__PURE__ */ jsxs36("span", { className: "flex items-baseline gap-4", children: [
|
|
8192
|
+
/* @__PURE__ */ jsx63("span", { className: "text-sm font-body text-on-subtle shrink-0 w-6", children: String(i + 1).padStart(2, "0") }),
|
|
8193
|
+
/* @__PURE__ */ jsx63("span", { className: "text-lg @[600px]:text-xl font-semibold font-display text-on-prominent", children: question })
|
|
7901
8194
|
] }),
|
|
7902
|
-
/* @__PURE__ */
|
|
8195
|
+
/* @__PURE__ */ jsx63("span", { className: cn(
|
|
7903
8196
|
"shrink-0 size-7 flex items-center justify-center rounded-sm border transition-all duration-200",
|
|
7904
8197
|
"group-data-[state=open]:bg-primary group-data-[state=open]:border-primary",
|
|
7905
8198
|
"group-data-[state=closed]:bg-transparent group-data-[state=closed]:border-border-subtle"
|
|
7906
|
-
), children: /* @__PURE__ */
|
|
8199
|
+
), children: /* @__PURE__ */ jsx63(Plus2, { className: cn(
|
|
7907
8200
|
"size-4 transition-all duration-200",
|
|
7908
8201
|
"group-data-[state=open]:rotate-45 group-data-[state=open]:text-on-primary",
|
|
7909
8202
|
"group-data-[state=closed]:text-on-prominent"
|
|
@@ -7911,7 +8204,7 @@ function FAQBlock({
|
|
|
7911
8204
|
]
|
|
7912
8205
|
}
|
|
7913
8206
|
) }),
|
|
7914
|
-
/* @__PURE__ */
|
|
8207
|
+
/* @__PURE__ */ jsx63(AccordionContent, { children: /* @__PURE__ */ jsx63("p", { className: "text-base font-body text-on-subtle pl-10 pb-4", children: answer }) })
|
|
7915
8208
|
] }, value))
|
|
7916
8209
|
}
|
|
7917
8210
|
) })
|
|
@@ -7922,38 +8215,38 @@ function FAQBlock({
|
|
|
7922
8215
|
const helpCardPaddingClass = layout === "desktop" ? "p-8" : "p-6";
|
|
7923
8216
|
const gapClass = layout === "desktop" ? "gap-12" : "gap-10";
|
|
7924
8217
|
const headerGapClass = layout === "desktop" ? "gap-5" : "gap-4";
|
|
7925
|
-
return /* @__PURE__ */
|
|
7926
|
-
/* @__PURE__ */
|
|
7927
|
-
/* @__PURE__ */
|
|
7928
|
-
/* @__PURE__ */
|
|
7929
|
-
intro && /* @__PURE__ */
|
|
8218
|
+
return /* @__PURE__ */ jsxs36("div", { className: `w-full flex flex-col ${gapClass}`, children: [
|
|
8219
|
+
/* @__PURE__ */ jsxs36("div", { className: `flex flex-col ${headerGapClass} items-center w-full`, children: [
|
|
8220
|
+
/* @__PURE__ */ jsx63("span", { className: "text-sm text-on-subtle font-body", children: eyebrow }),
|
|
8221
|
+
/* @__PURE__ */ jsx63("h2", { className: headingClass, children: title }),
|
|
8222
|
+
intro && /* @__PURE__ */ jsx63("p", { className: "text-lg text-on-subtle font-body text-center", children: intro })
|
|
7930
8223
|
] }),
|
|
7931
|
-
/* @__PURE__ */
|
|
8224
|
+
/* @__PURE__ */ jsx63(
|
|
7932
8225
|
Accordion,
|
|
7933
8226
|
{
|
|
7934
8227
|
type: "single",
|
|
7935
8228
|
collapsible: true,
|
|
7936
8229
|
defaultValue: defaultValue != null ? defaultValue : (_b = items[0]) == null ? void 0 : _b.value,
|
|
7937
8230
|
className: "w-full",
|
|
7938
|
-
children: items.map(({ value, question, answer }) => /* @__PURE__ */
|
|
7939
|
-
/* @__PURE__ */
|
|
7940
|
-
/* @__PURE__ */
|
|
8231
|
+
children: items.map(({ value, question, answer }) => /* @__PURE__ */ jsxs36(AccordionItem, { value, children: [
|
|
8232
|
+
/* @__PURE__ */ jsx63(AccordionTrigger, { className: "text-base font-medium font-body text-on-prominent hover:no-underline", children: question }),
|
|
8233
|
+
/* @__PURE__ */ jsx63(AccordionContent, { children: /* @__PURE__ */ jsx63("p", { className: "text-sm text-on-subtle font-body pb-4", children: answer }) })
|
|
7941
8234
|
] }, value))
|
|
7942
8235
|
}
|
|
7943
8236
|
),
|
|
7944
|
-
helpCard && /* @__PURE__ */
|
|
7945
|
-
/* @__PURE__ */
|
|
7946
|
-
/* @__PURE__ */
|
|
7947
|
-
/* @__PURE__ */
|
|
8237
|
+
helpCard && /* @__PURE__ */ jsxs36("div", { className: `flex flex-col gap-6 items-center w-full bg-subtle rounded-xl ${helpCardPaddingClass}`, children: [
|
|
8238
|
+
/* @__PURE__ */ jsxs36("div", { className: "flex flex-col gap-2 w-full", children: [
|
|
8239
|
+
/* @__PURE__ */ jsx63("h3", { className: helpTitleClass, children: helpCard.title }),
|
|
8240
|
+
/* @__PURE__ */ jsx63("p", { className: "text-base text-on-subtle font-body", children: helpCard.body })
|
|
7948
8241
|
] }),
|
|
7949
|
-
/* @__PURE__ */
|
|
8242
|
+
/* @__PURE__ */ jsx63(Button, { size: "sm", onClick: helpCard.onCtaClick, children: helpCard.ctaLabel })
|
|
7950
8243
|
] })
|
|
7951
8244
|
] });
|
|
7952
8245
|
}
|
|
7953
8246
|
|
|
7954
8247
|
// components/blocks/hero-block.tsx
|
|
7955
8248
|
import { ArrowRight as ArrowRight3, ArrowUpRight } from "lucide-react";
|
|
7956
|
-
import { jsx as
|
|
8249
|
+
import { jsx as jsx64, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
7957
8250
|
function HeroBlock({
|
|
7958
8251
|
layout = "centered",
|
|
7959
8252
|
tagline,
|
|
@@ -7964,31 +8257,31 @@ function HeroBlock({
|
|
|
7964
8257
|
image
|
|
7965
8258
|
}) {
|
|
7966
8259
|
if (layout === "centered") {
|
|
7967
|
-
return /* @__PURE__ */
|
|
7968
|
-
/* @__PURE__ */
|
|
7969
|
-
tagline && /* @__PURE__ */
|
|
7970
|
-
/* @__PURE__ */
|
|
7971
|
-
/* @__PURE__ */
|
|
8260
|
+
return /* @__PURE__ */ jsx64("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-col items-center justify-center gap-8 px-layout-margin-inline py-24 max-w-2xl mx-auto text-center", children: [
|
|
8261
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex flex-col items-center gap-6 w-full", children: [
|
|
8262
|
+
tagline && /* @__PURE__ */ jsx64(TaglinePill, __spreadValues({}, tagline)),
|
|
8263
|
+
/* @__PURE__ */ jsx64("h1", { className: "text-5xl font-semibold font-display tracking-tight text-on-prominent text-center", children: heading }),
|
|
8264
|
+
/* @__PURE__ */ jsx64("p", { className: "text-lg font-body text-on-subtle text-center", children: body })
|
|
7972
8265
|
] }),
|
|
7973
|
-
/* @__PURE__ */
|
|
8266
|
+
/* @__PURE__ */ jsxs37(Button, { size: "sm", onClick: primaryCta.onClick, children: [
|
|
7974
8267
|
primaryCta.label,
|
|
7975
|
-
primaryCta.trailingArrow !== false && /* @__PURE__ */
|
|
8268
|
+
primaryCta.trailingArrow !== false && /* @__PURE__ */ jsx64(ArrowRight3, { className: "size-4" })
|
|
7976
8269
|
] })
|
|
7977
8270
|
] }) });
|
|
7978
8271
|
}
|
|
7979
|
-
return /* @__PURE__ */
|
|
7980
|
-
/* @__PURE__ */
|
|
7981
|
-
/* @__PURE__ */
|
|
7982
|
-
tagline && /* @__PURE__ */
|
|
7983
|
-
/* @__PURE__ */
|
|
7984
|
-
/* @__PURE__ */
|
|
8272
|
+
return /* @__PURE__ */ jsx64("div", { className: "w-full border border-border-subtle rounded-xl overflow-hidden bg-prominent", children: /* @__PURE__ */ jsxs37("div", { className: "flex flex-col min-[600px]:flex-row items-center gap-layout-gutter px-layout-margin-inline py-16 min-[600px]:py-24 max-w-5xl mx-auto", children: [
|
|
8273
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-6 min-[600px]:gap-8 flex-1 min-w-0 items-center min-[600px]:items-start text-center min-[600px]:text-left w-full", children: [
|
|
8274
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex flex-col gap-5 min-[600px]:gap-6 items-center min-[600px]:items-start w-full", children: [
|
|
8275
|
+
tagline && /* @__PURE__ */ jsx64(TaglinePill, __spreadProps(__spreadValues({}, tagline), { responsive: true })),
|
|
8276
|
+
/* @__PURE__ */ jsx64("h1", { className: "text-4xl min-[600px]:text-5xl font-semibold font-display tracking-tight text-on-prominent", children: heading }),
|
|
8277
|
+
/* @__PURE__ */ jsx64("p", { className: "text-lg font-body text-on-subtle", children: body })
|
|
7985
8278
|
] }),
|
|
7986
|
-
/* @__PURE__ */
|
|
7987
|
-
/* @__PURE__ */
|
|
7988
|
-
secondaryCta && /* @__PURE__ */
|
|
8279
|
+
/* @__PURE__ */ jsxs37("div", { className: "flex items-center justify-center min-[600px]:justify-start gap-2", children: [
|
|
8280
|
+
/* @__PURE__ */ jsx64(Button, { size: "sm", onClick: primaryCta.onClick, children: primaryCta.label }),
|
|
8281
|
+
secondaryCta && /* @__PURE__ */ jsx64(Button, { variant: "secondary", size: "sm", onClick: secondaryCta.onClick, children: secondaryCta.label })
|
|
7989
8282
|
] })
|
|
7990
8283
|
] }),
|
|
7991
|
-
/* @__PURE__ */
|
|
8284
|
+
/* @__PURE__ */ jsx64("div", { className: "w-full min-[600px]:flex-1 min-[600px]:min-w-0 aspect-square rounded-xl bg-subtle shrink-0", "aria-hidden": "true", children: image })
|
|
7992
8285
|
] }) });
|
|
7993
8286
|
}
|
|
7994
8287
|
function TaglinePill({
|
|
@@ -7996,25 +8289,25 @@ function TaglinePill({
|
|
|
7996
8289
|
suffix,
|
|
7997
8290
|
responsive
|
|
7998
8291
|
}) {
|
|
7999
|
-
return /* @__PURE__ */
|
|
8000
|
-
/* @__PURE__ */
|
|
8001
|
-
responsive && suffix ? /* @__PURE__ */
|
|
8002
|
-
/* @__PURE__ */
|
|
8292
|
+
return /* @__PURE__ */ jsxs37("div", { className: "inline-flex items-center gap-1.5 h-7 px-3 rounded-full border border-border-subtle bg-prominent shadow-sm shrink-0", children: [
|
|
8293
|
+
/* @__PURE__ */ jsx64("span", { className: "size-1.5 rounded-full bg-semantic-win shrink-0", "aria-hidden": "true" }),
|
|
8294
|
+
responsive && suffix ? /* @__PURE__ */ jsxs37("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
|
|
8295
|
+
/* @__PURE__ */ jsxs37("span", { className: "hidden min-[600px]:inline", children: [
|
|
8003
8296
|
label,
|
|
8004
|
-
/* @__PURE__ */
|
|
8297
|
+
/* @__PURE__ */ jsx64("span", { className: "text-on-subtle", children: " \xB7 " })
|
|
8005
8298
|
] }),
|
|
8006
|
-
/* @__PURE__ */
|
|
8007
|
-
] }) : /* @__PURE__ */
|
|
8299
|
+
/* @__PURE__ */ jsx64("span", { className: "text-on-subtle min-[600px]:text-on-prominent", children: suffix })
|
|
8300
|
+
] }) : /* @__PURE__ */ jsxs37("span", { className: "text-sm font-body text-on-prominent whitespace-nowrap", children: [
|
|
8008
8301
|
label,
|
|
8009
|
-
suffix && /* @__PURE__ */
|
|
8302
|
+
suffix && /* @__PURE__ */ jsx64("span", { className: "text-on-subtle", children: ` \xB7 ${suffix}` })
|
|
8010
8303
|
] }),
|
|
8011
|
-
/* @__PURE__ */
|
|
8304
|
+
/* @__PURE__ */ jsx64(ArrowUpRight, { className: "size-4 text-on-subtle shrink-0", "aria-hidden": "true" })
|
|
8012
8305
|
] });
|
|
8013
8306
|
}
|
|
8014
8307
|
|
|
8015
8308
|
// components/blocks/auth-block.tsx
|
|
8016
|
-
import * as
|
|
8017
|
-
import { jsx as
|
|
8309
|
+
import * as React22 from "react";
|
|
8310
|
+
import { jsx as jsx65, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
8018
8311
|
function AuthBlock({
|
|
8019
8312
|
mode,
|
|
8020
8313
|
logoSrc,
|
|
@@ -8029,20 +8322,20 @@ function AuthBlock({
|
|
|
8029
8322
|
const ctaText = mode === "sign-in" ? "Sign in" : "Sign up";
|
|
8030
8323
|
const footerPrompt = mode === "sign-in" ? "Don't have an account?" : "Already have an account?";
|
|
8031
8324
|
const footerLinkLabel = mode === "sign-in" ? "Sign up" : "Log in";
|
|
8032
|
-
const [email, setEmail] =
|
|
8033
|
-
return /* @__PURE__ */
|
|
8034
|
-
/* @__PURE__ */
|
|
8035
|
-
/* @__PURE__ */
|
|
8036
|
-
/* @__PURE__ */
|
|
8325
|
+
const [email, setEmail] = React22.useState("");
|
|
8326
|
+
return /* @__PURE__ */ jsxs38("div", { className: "flex flex-col items-center gap-6 w-full", children: [
|
|
8327
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-2", children: [
|
|
8328
|
+
/* @__PURE__ */ jsx65("img", { src: logoSrc, alt: wordmark, className: "size-8 object-contain" }),
|
|
8329
|
+
/* @__PURE__ */ jsx65("span", { className: "font-display font-semibold text-base text-on-prominent tracking-tight", children: wordmark })
|
|
8037
8330
|
] }),
|
|
8038
|
-
/* @__PURE__ */
|
|
8039
|
-
/* @__PURE__ */
|
|
8040
|
-
/* @__PURE__ */
|
|
8041
|
-
/* @__PURE__ */
|
|
8042
|
-
/* @__PURE__ */
|
|
8043
|
-
/* @__PURE__ */
|
|
8331
|
+
/* @__PURE__ */ jsx65("h2", { className: "text-3xl font-semibold font-display text-on-prominent text-center", children: headingText }),
|
|
8332
|
+
/* @__PURE__ */ jsx65("div", { className: "flex flex-col gap-3 w-full", children: providers.map((p) => /* @__PURE__ */ jsx65(ProviderButton, { provider: p }, p)) }),
|
|
8333
|
+
/* @__PURE__ */ jsxs38("div", { className: "flex items-center gap-3 w-full", children: [
|
|
8334
|
+
/* @__PURE__ */ jsx65("div", { className: "flex-1 h-px bg-border-subtle" }),
|
|
8335
|
+
/* @__PURE__ */ jsx65("span", { className: "text-sm text-on-subtle font-body", children: "or" }),
|
|
8336
|
+
/* @__PURE__ */ jsx65("div", { className: "flex-1 h-px bg-border-subtle" })
|
|
8044
8337
|
] }),
|
|
8045
|
-
/* @__PURE__ */
|
|
8338
|
+
/* @__PURE__ */ jsx65("div", { className: "flex items-center gap-2 w-full", children: /* @__PURE__ */ jsx65(
|
|
8046
8339
|
Input,
|
|
8047
8340
|
{
|
|
8048
8341
|
id: `${idPrefix}-email`,
|
|
@@ -8053,60 +8346,60 @@ function AuthBlock({
|
|
|
8053
8346
|
onChange: (e) => setEmail(e.target.value)
|
|
8054
8347
|
}
|
|
8055
8348
|
) }),
|
|
8056
|
-
/* @__PURE__ */
|
|
8349
|
+
/* @__PURE__ */ jsxs38("p", { className: "text-sm text-on-subtle font-body text-left w-full", children: [
|
|
8057
8350
|
termsText,
|
|
8058
8351
|
", you agree to our",
|
|
8059
8352
|
" ",
|
|
8060
|
-
/* @__PURE__ */
|
|
8353
|
+
/* @__PURE__ */ jsx65(Link, { size: "sm", href: "#", children: "Terms & Conditions" })
|
|
8061
8354
|
] }),
|
|
8062
|
-
/* @__PURE__ */
|
|
8063
|
-
/* @__PURE__ */
|
|
8355
|
+
/* @__PURE__ */ jsx65(Button, { size: "md", className: "w-full", onClick: () => onSubmit == null ? void 0 : onSubmit({ email }), children: ctaText }),
|
|
8356
|
+
/* @__PURE__ */ jsxs38("p", { className: "text-sm text-on-subtle font-body text-center", children: [
|
|
8064
8357
|
footerPrompt,
|
|
8065
8358
|
" ",
|
|
8066
|
-
/* @__PURE__ */
|
|
8359
|
+
/* @__PURE__ */ jsx65(Link, { size: "sm", href: crossLinkHref, children: footerLinkLabel })
|
|
8067
8360
|
] })
|
|
8068
8361
|
] });
|
|
8069
8362
|
}
|
|
8070
8363
|
function ProviderButton({ provider }) {
|
|
8071
8364
|
switch (provider) {
|
|
8072
8365
|
case "google":
|
|
8073
|
-
return /* @__PURE__ */
|
|
8074
|
-
/* @__PURE__ */
|
|
8075
|
-
/* @__PURE__ */
|
|
8076
|
-
/* @__PURE__ */
|
|
8077
|
-
/* @__PURE__ */
|
|
8078
|
-
/* @__PURE__ */
|
|
8366
|
+
return /* @__PURE__ */ jsxs38(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
|
|
8367
|
+
/* @__PURE__ */ jsxs38("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
|
|
8368
|
+
/* @__PURE__ */ jsx65("path", { d: "M17.64 9.205c0-.639-.057-1.252-.164-1.841H9v3.481h4.844a4.14 4.14 0 0 1-1.796 2.716v2.259h2.908c1.702-1.567 2.684-3.875 2.684-6.615Z", fill: "#4285F4" }),
|
|
8369
|
+
/* @__PURE__ */ jsx65("path", { d: "M9 18c2.43 0 4.467-.806 5.956-2.18l-2.908-2.259c-.806.54-1.837.86-3.048.86-2.344 0-4.328-1.584-5.036-3.711H.957v2.332A8.997 8.997 0 0 0 9 18Z", fill: "#34A853" }),
|
|
8370
|
+
/* @__PURE__ */ jsx65("path", { d: "M3.964 10.71A5.41 5.41 0 0 1 3.682 9c0-.593.102-1.17.282-1.71V4.958H.957A8.996 8.996 0 0 0 0 9c0 1.452.348 2.827.957 4.042l3.007-2.332Z", fill: "#FBBC05" }),
|
|
8371
|
+
/* @__PURE__ */ jsx65("path", { d: "M9 3.58c1.321 0 2.508.454 3.44 1.345l2.582-2.58C13.463.891 11.426 0 9 0A8.997 8.997 0 0 0 .957 4.958L3.964 7.29C4.672 5.163 6.656 3.58 9 3.58Z", fill: "#EA4335" })
|
|
8079
8372
|
] }),
|
|
8080
8373
|
"Continue with Google"
|
|
8081
8374
|
] });
|
|
8082
8375
|
case "telegram":
|
|
8083
|
-
return /* @__PURE__ */
|
|
8084
|
-
/* @__PURE__ */
|
|
8085
|
-
/* @__PURE__ */
|
|
8086
|
-
/* @__PURE__ */
|
|
8087
|
-
/* @__PURE__ */
|
|
8376
|
+
return /* @__PURE__ */ jsxs38(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
|
|
8377
|
+
/* @__PURE__ */ jsxs38("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "none", className: "shrink-0", children: [
|
|
8378
|
+
/* @__PURE__ */ jsx65("circle", { cx: "9", cy: "9", r: "9", fill: "#29B6F6" }),
|
|
8379
|
+
/* @__PURE__ */ jsx65("path", { d: "M13.5 5.25 11.25 13.5l-2.25-3-3 1.5 1.5-5.25 6-1.5Z", fill: "white", opacity: "0.3" }),
|
|
8380
|
+
/* @__PURE__ */ jsx65("path", { d: "m4.5 8.625 7.5-3-1.125 7.125-2.625-2.25-1.5 1.5.375-3.375Z", fill: "white" })
|
|
8088
8381
|
] }),
|
|
8089
8382
|
"Continue with Telegram"
|
|
8090
8383
|
] });
|
|
8091
8384
|
case "x":
|
|
8092
|
-
return /* @__PURE__ */
|
|
8093
|
-
/* @__PURE__ */
|
|
8385
|
+
return /* @__PURE__ */ jsxs38(Button, { variant: "secondary", size: "lg", className: "w-full", children: [
|
|
8386
|
+
/* @__PURE__ */ jsx65("svg", { width: "18", height: "18", viewBox: "0 0 18 18", "aria-hidden": "true", fill: "currentColor", className: "shrink-0", children: /* @__PURE__ */ jsx65("path", { d: "M13.955 2.25h2.423L10.977 8.28 17.25 15.75h-4.812l-3.913-5.116-4.477 5.116H1.645l5.703-6.52L1.125 2.25h4.934l3.538 4.678 4.358-4.678Zm-.85 12.105h1.343L5.025 3.627H3.579l9.526 10.728Z" }) }),
|
|
8094
8387
|
"Continue with X (Twitter)"
|
|
8095
8388
|
] });
|
|
8096
8389
|
}
|
|
8097
8390
|
}
|
|
8098
8391
|
|
|
8099
8392
|
// components/blocks/navbar-block.tsx
|
|
8100
|
-
import * as
|
|
8393
|
+
import * as React23 from "react";
|
|
8101
8394
|
import { Menu, X as X3 } from "lucide-react";
|
|
8102
|
-
import { jsx as
|
|
8395
|
+
import { jsx as jsx66, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
8103
8396
|
function NavBarBlock({ brand, links, signIn, signUp }) {
|
|
8104
8397
|
var _a, _b, _c, _d;
|
|
8105
|
-
const [mobileMenuOpen, setMobileMenuOpen] =
|
|
8106
|
-
return /* @__PURE__ */
|
|
8107
|
-
/* @__PURE__ */
|
|
8108
|
-
/* @__PURE__ */
|
|
8109
|
-
/* @__PURE__ */
|
|
8398
|
+
const [mobileMenuOpen, setMobileMenuOpen] = React23.useState(false);
|
|
8399
|
+
return /* @__PURE__ */ jsx66("div", { className: "w-full border border-border-subtle rounded-md overflow-hidden", children: /* @__PURE__ */ jsxs39("nav", { className: "bg-prominent", children: [
|
|
8400
|
+
/* @__PURE__ */ jsxs39("div", { className: "flex items-center justify-between px-layout-margin-inline py-3", children: [
|
|
8401
|
+
/* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-6", children: [
|
|
8402
|
+
/* @__PURE__ */ jsx66(
|
|
8110
8403
|
"img",
|
|
8111
8404
|
{
|
|
8112
8405
|
src: brand.fullLogoSrc,
|
|
@@ -8114,7 +8407,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
|
|
|
8114
8407
|
className: "hidden min-[600px]:block h-7 w-auto shrink-0 object-contain object-left"
|
|
8115
8408
|
}
|
|
8116
8409
|
),
|
|
8117
|
-
/* @__PURE__ */
|
|
8410
|
+
/* @__PURE__ */ jsx66(
|
|
8118
8411
|
"img",
|
|
8119
8412
|
{
|
|
8120
8413
|
src: brand.iconLogoSrc,
|
|
@@ -8122,13 +8415,13 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
|
|
|
8122
8415
|
className: "min-[600px]:hidden size-7 shrink-0 object-contain"
|
|
8123
8416
|
}
|
|
8124
8417
|
),
|
|
8125
|
-
/* @__PURE__ */
|
|
8418
|
+
/* @__PURE__ */ jsx66("div", { className: "hidden min-[600px]:flex items-center gap-1", children: links.map((l) => /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "sm", onClick: l.onClick, children: l.label }, l.label)) })
|
|
8126
8419
|
] }),
|
|
8127
|
-
/* @__PURE__ */
|
|
8128
|
-
signIn && /* @__PURE__ */
|
|
8129
|
-
signUp && /* @__PURE__ */
|
|
8420
|
+
/* @__PURE__ */ jsxs39("div", { className: "hidden min-[600px]:flex items-center gap-2", children: [
|
|
8421
|
+
signIn && /* @__PURE__ */ jsx66(Button, { variant: "tertiary", size: "sm", onClick: signIn.onClick, children: (_a = signIn.label) != null ? _a : "Sign in" }),
|
|
8422
|
+
signUp && /* @__PURE__ */ jsx66(Button, { size: "sm", onClick: signUp.onClick, children: (_b = signUp.label) != null ? _b : "Sign up" })
|
|
8130
8423
|
] }),
|
|
8131
|
-
/* @__PURE__ */
|
|
8424
|
+
/* @__PURE__ */ jsx66(
|
|
8132
8425
|
Button,
|
|
8133
8426
|
{
|
|
8134
8427
|
variant: "tertiary",
|
|
@@ -8137,12 +8430,12 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
|
|
|
8137
8430
|
"aria-expanded": mobileMenuOpen,
|
|
8138
8431
|
className: "min-[600px]:hidden",
|
|
8139
8432
|
onClick: () => setMobileMenuOpen((prev) => !prev),
|
|
8140
|
-
children: mobileMenuOpen ? /* @__PURE__ */
|
|
8433
|
+
children: mobileMenuOpen ? /* @__PURE__ */ jsx66(X3, { className: "size-4" }) : /* @__PURE__ */ jsx66(Menu, { className: "size-4" })
|
|
8141
8434
|
}
|
|
8142
8435
|
)
|
|
8143
8436
|
] }),
|
|
8144
|
-
mobileMenuOpen && /* @__PURE__ */
|
|
8145
|
-
links.map((l) => /* @__PURE__ */
|
|
8437
|
+
mobileMenuOpen && /* @__PURE__ */ jsxs39("div", { className: "min-[600px]:hidden flex flex-col border-t border-border-subtle px-layout-margin-inline py-3 gap-1", children: [
|
|
8438
|
+
links.map((l) => /* @__PURE__ */ jsx66(
|
|
8146
8439
|
Button,
|
|
8147
8440
|
{
|
|
8148
8441
|
variant: "tertiary",
|
|
@@ -8153,9 +8446,9 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
|
|
|
8153
8446
|
},
|
|
8154
8447
|
l.label
|
|
8155
8448
|
)),
|
|
8156
|
-
(signIn || signUp) && /* @__PURE__ */
|
|
8157
|
-
signIn && /* @__PURE__ */
|
|
8158
|
-
signUp && /* @__PURE__ */
|
|
8449
|
+
(signIn || signUp) && /* @__PURE__ */ jsxs39("div", { className: "flex flex-col gap-2 pt-3 mt-2 border-t border-border-subtle", children: [
|
|
8450
|
+
signIn && /* @__PURE__ */ jsx66(Button, { variant: "secondary", size: "sm", className: "w-full", onClick: signIn.onClick, children: (_c = signIn.label) != null ? _c : "Sign in" }),
|
|
8451
|
+
signUp && /* @__PURE__ */ jsx66(Button, { size: "sm", className: "w-full", onClick: signUp.onClick, children: (_d = signUp.label) != null ? _d : "Sign up" })
|
|
8159
8452
|
] })
|
|
8160
8453
|
] })
|
|
8161
8454
|
] }) });
|
|
@@ -8163,7 +8456,7 @@ function NavBarBlock({ brand, links, signIn, signUp }) {
|
|
|
8163
8456
|
|
|
8164
8457
|
// components/blocks/open-positions-block.tsx
|
|
8165
8458
|
import { History as History2, X as X4 } from "lucide-react";
|
|
8166
|
-
import { jsx as
|
|
8459
|
+
import { jsx as jsx67, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
8167
8460
|
function OpenPositionsBlock({
|
|
8168
8461
|
trigger,
|
|
8169
8462
|
sheetTitle = "Positions",
|
|
@@ -8172,28 +8465,28 @@ function OpenPositionsBlock({
|
|
|
8172
8465
|
emptyState
|
|
8173
8466
|
}) {
|
|
8174
8467
|
const isMobile = useIsMobile();
|
|
8175
|
-
const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */
|
|
8468
|
+
const body = positions.length === 0 ? emptyState != null ? emptyState : /* @__PURE__ */ jsx67(DefaultEmptyState, { onViewHistory }) : /* @__PURE__ */ jsx67(PositionsList, { positions, onViewHistory });
|
|
8176
8469
|
if (isMobile) {
|
|
8177
|
-
return /* @__PURE__ */
|
|
8178
|
-
/* @__PURE__ */
|
|
8179
|
-
/* @__PURE__ */
|
|
8180
|
-
/* @__PURE__ */
|
|
8181
|
-
/* @__PURE__ */
|
|
8182
|
-
/* @__PURE__ */
|
|
8470
|
+
return /* @__PURE__ */ jsxs40(Drawer, { children: [
|
|
8471
|
+
/* @__PURE__ */ jsx67(DrawerTrigger, { asChild: true, children: trigger }),
|
|
8472
|
+
/* @__PURE__ */ jsxs40(DrawerContent, { className: "p-0 flex flex-col", children: [
|
|
8473
|
+
/* @__PURE__ */ jsxs40(DrawerHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0 text-left", children: [
|
|
8474
|
+
/* @__PURE__ */ jsx67(DrawerTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
|
|
8475
|
+
/* @__PURE__ */ jsx67(DrawerClose, { asChild: true, children: /* @__PURE__ */ jsx67(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx67(X4, {}) }) })
|
|
8183
8476
|
] }),
|
|
8184
|
-
/* @__PURE__ */
|
|
8477
|
+
/* @__PURE__ */ jsx67(Separator, {}),
|
|
8185
8478
|
body
|
|
8186
8479
|
] })
|
|
8187
8480
|
] });
|
|
8188
8481
|
}
|
|
8189
|
-
return /* @__PURE__ */
|
|
8190
|
-
/* @__PURE__ */
|
|
8191
|
-
/* @__PURE__ */
|
|
8192
|
-
/* @__PURE__ */
|
|
8193
|
-
/* @__PURE__ */
|
|
8194
|
-
/* @__PURE__ */
|
|
8482
|
+
return /* @__PURE__ */ jsxs40(Sheet, { children: [
|
|
8483
|
+
/* @__PURE__ */ jsx67(SheetTrigger, { asChild: true, children: trigger }),
|
|
8484
|
+
/* @__PURE__ */ jsxs40(SheetContent, { side: "right", showCloseButton: false, className: "p-0 flex flex-col w-80 sm:max-w-xs", children: [
|
|
8485
|
+
/* @__PURE__ */ jsxs40(SheetHeader, { className: "flex-row items-center justify-between px-4 py-3 shrink-0", children: [
|
|
8486
|
+
/* @__PURE__ */ jsx67(SheetTitle, { className: "text-base font-semibold font-display text-on-prominent", children: sheetTitle }),
|
|
8487
|
+
/* @__PURE__ */ jsx67(SheetClose, { asChild: true, children: /* @__PURE__ */ jsx67(NavigationButton, { size: "sm", "aria-label": "Close", children: /* @__PURE__ */ jsx67(X4, {}) }) })
|
|
8195
8488
|
] }),
|
|
8196
|
-
/* @__PURE__ */
|
|
8489
|
+
/* @__PURE__ */ jsx67(Separator, {}),
|
|
8197
8490
|
body
|
|
8198
8491
|
] })
|
|
8199
8492
|
] });
|
|
@@ -8202,23 +8495,23 @@ function PositionsList({
|
|
|
8202
8495
|
positions,
|
|
8203
8496
|
onViewHistory
|
|
8204
8497
|
}) {
|
|
8205
|
-
return /* @__PURE__ */
|
|
8206
|
-
/* @__PURE__ */
|
|
8207
|
-
/* @__PURE__ */
|
|
8208
|
-
/* @__PURE__ */
|
|
8498
|
+
return /* @__PURE__ */ jsxs40("div", { className: "flex flex-col flex-1 min-h-0", children: [
|
|
8499
|
+
/* @__PURE__ */ jsx67(ItemGroup, { className: "min-h-0 overflow-y-auto", children: positions.map((pos, i) => /* @__PURE__ */ jsx67(PositionRow, { position: pos }, i)) }),
|
|
8500
|
+
/* @__PURE__ */ jsx67(Separator, {}),
|
|
8501
|
+
/* @__PURE__ */ jsx67("div", { className: "shrink-0 flex justify-center py-4", children: /* @__PURE__ */ jsx67(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" }) })
|
|
8209
8502
|
] });
|
|
8210
8503
|
}
|
|
8211
8504
|
function PositionRow({ position }) {
|
|
8212
8505
|
const { label, suffix } = positionTitleParts(position);
|
|
8213
|
-
return /* @__PURE__ */
|
|
8214
|
-
/* @__PURE__ */
|
|
8215
|
-
/* @__PURE__ */
|
|
8216
|
-
/* @__PURE__ */
|
|
8217
|
-
suffix && /* @__PURE__ */
|
|
8506
|
+
return /* @__PURE__ */ jsxs40(Item, { size: "sm", children: [
|
|
8507
|
+
/* @__PURE__ */ jsxs40(ItemContent, { children: [
|
|
8508
|
+
/* @__PURE__ */ jsxs40(ItemTitle, { children: [
|
|
8509
|
+
/* @__PURE__ */ jsx67("span", { className: "text-on-prominent", children: label }),
|
|
8510
|
+
suffix && /* @__PURE__ */ jsx67("span", { className: "text-on-subtle", children: ` ${suffix}` })
|
|
8218
8511
|
] }),
|
|
8219
|
-
/* @__PURE__ */
|
|
8512
|
+
/* @__PURE__ */ jsx67(MetaNote, { market: position.market, duration: position.duration })
|
|
8220
8513
|
] }),
|
|
8221
|
-
/* @__PURE__ */
|
|
8514
|
+
/* @__PURE__ */ jsx67(ItemActions, { children: /* @__PURE__ */ jsx67(PnlMeta, { pnl: position.pnl, win: position.win, stake: position.stake }) })
|
|
8222
8515
|
] });
|
|
8223
8516
|
}
|
|
8224
8517
|
var DIGITS_TYPE_LABEL = {
|
|
@@ -8244,29 +8537,29 @@ function positionTitleParts(p) {
|
|
|
8244
8537
|
}
|
|
8245
8538
|
}
|
|
8246
8539
|
function MetaNote({ market, duration }) {
|
|
8247
|
-
return /* @__PURE__ */
|
|
8540
|
+
return /* @__PURE__ */ jsxs40("span", { className: "text-xs text-on-subtle whitespace-nowrap", children: [
|
|
8248
8541
|
market,
|
|
8249
8542
|
" \xB7 ",
|
|
8250
8543
|
duration
|
|
8251
8544
|
] });
|
|
8252
8545
|
}
|
|
8253
8546
|
function PnlMeta({ pnl, win, stake }) {
|
|
8254
|
-
return /* @__PURE__ */
|
|
8255
|
-
/* @__PURE__ */
|
|
8256
|
-
/* @__PURE__ */
|
|
8547
|
+
return /* @__PURE__ */ jsxs40("div", { className: "flex flex-col items-end gap-0.5", children: [
|
|
8548
|
+
/* @__PURE__ */ jsx67("span", { className: `font-display font-semibold tabular-nums text-base ${win ? "text-semantic-win" : "text-semantic-loss"}`, children: pnl }),
|
|
8549
|
+
/* @__PURE__ */ jsx67("span", { className: "tabular-nums text-xs text-on-subtle", children: stake })
|
|
8257
8550
|
] });
|
|
8258
8551
|
}
|
|
8259
8552
|
function DefaultEmptyState({ onViewHistory }) {
|
|
8260
|
-
return /* @__PURE__ */
|
|
8261
|
-
/* @__PURE__ */
|
|
8262
|
-
/* @__PURE__ */
|
|
8263
|
-
/* @__PURE__ */
|
|
8553
|
+
return /* @__PURE__ */ jsx67(Empty, { className: "flex min-h-0 flex-1 flex-col justify-center border-none rounded-none p-6 text-center", children: /* @__PURE__ */ jsxs40(EmptyHeader, { className: "gap-4", children: [
|
|
8554
|
+
/* @__PURE__ */ jsx67(EmptyMedia, { children: /* @__PURE__ */ jsx67(History2, { className: "size-8 text-on-subtle" }) }),
|
|
8555
|
+
/* @__PURE__ */ jsx67(EmptyTitle, { className: "h6 text-on-subtle", children: "No trades yet." }),
|
|
8556
|
+
/* @__PURE__ */ jsx67(Button, { variant: "tertiary", size: "md", onClick: onViewHistory, children: "View trade history" })
|
|
8264
8557
|
] }) });
|
|
8265
8558
|
}
|
|
8266
8559
|
|
|
8267
8560
|
// components/blocks/game-loading-block.tsx
|
|
8268
|
-
import * as
|
|
8269
|
-
import { jsx as
|
|
8561
|
+
import * as React24 from "react";
|
|
8562
|
+
import { jsx as jsx68, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
8270
8563
|
function useSmoothProgress({
|
|
8271
8564
|
checkpoints,
|
|
8272
8565
|
reached,
|
|
@@ -8276,19 +8569,19 @@ function useSmoothProgress({
|
|
|
8276
8569
|
readyLabel = "Ready"
|
|
8277
8570
|
}) {
|
|
8278
8571
|
var _a, _b;
|
|
8279
|
-
const [progress, setProgress] =
|
|
8280
|
-
const [delayed, setDelayed] =
|
|
8281
|
-
const checkpointsRef =
|
|
8282
|
-
const reachedRef =
|
|
8283
|
-
const doneRef =
|
|
8284
|
-
|
|
8572
|
+
const [progress, setProgress] = React24.useState(0);
|
|
8573
|
+
const [delayed, setDelayed] = React24.useState(false);
|
|
8574
|
+
const checkpointsRef = React24.useRef(checkpoints);
|
|
8575
|
+
const reachedRef = React24.useRef(reached);
|
|
8576
|
+
const doneRef = React24.useRef(done);
|
|
8577
|
+
React24.useEffect(() => {
|
|
8285
8578
|
checkpointsRef.current = checkpoints;
|
|
8286
8579
|
reachedRef.current = reached;
|
|
8287
8580
|
doneRef.current = done;
|
|
8288
8581
|
});
|
|
8289
|
-
const progressRef =
|
|
8290
|
-
const lastAdvanceRef =
|
|
8291
|
-
|
|
8582
|
+
const progressRef = React24.useRef(0);
|
|
8583
|
+
const lastAdvanceRef = React24.useRef(0);
|
|
8584
|
+
React24.useEffect(() => {
|
|
8292
8585
|
let raf = 0;
|
|
8293
8586
|
let last = 0;
|
|
8294
8587
|
const tick = (ts) => {
|
|
@@ -8342,14 +8635,14 @@ function GameLoadingBlock({
|
|
|
8342
8635
|
backgroundImageUrl,
|
|
8343
8636
|
className
|
|
8344
8637
|
}) {
|
|
8345
|
-
const [go, setGo] =
|
|
8346
|
-
const [reduced, setReduced] =
|
|
8347
|
-
|
|
8638
|
+
const [go, setGo] = React24.useState(false);
|
|
8639
|
+
const [reduced, setReduced] = React24.useState(false);
|
|
8640
|
+
React24.useEffect(() => {
|
|
8348
8641
|
if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
|
|
8349
8642
|
setReduced(window.matchMedia("(prefers-reduced-motion: reduce)").matches);
|
|
8350
8643
|
}
|
|
8351
8644
|
}, []);
|
|
8352
|
-
|
|
8645
|
+
React24.useEffect(() => {
|
|
8353
8646
|
if (!exiting) return;
|
|
8354
8647
|
const raf = requestAnimationFrame(() => setGo(true));
|
|
8355
8648
|
const timer = setTimeout(() => onExitEnd == null ? void 0 : onExitEnd(), reduced ? 240 : 700);
|
|
@@ -8361,7 +8654,7 @@ function GameLoadingBlock({
|
|
|
8361
8654
|
const isAbsolute = exiting || contained;
|
|
8362
8655
|
const punched = Boolean(logoSrc);
|
|
8363
8656
|
const animate = exiting && go && !reduced;
|
|
8364
|
-
return /* @__PURE__ */
|
|
8657
|
+
return /* @__PURE__ */ jsxs41(
|
|
8365
8658
|
"div",
|
|
8366
8659
|
{
|
|
8367
8660
|
role: "status",
|
|
@@ -8377,7 +8670,7 @@ function GameLoadingBlock({
|
|
|
8377
8670
|
className
|
|
8378
8671
|
),
|
|
8379
8672
|
children: [
|
|
8380
|
-
/* @__PURE__ */
|
|
8673
|
+
/* @__PURE__ */ jsx68(
|
|
8381
8674
|
"div",
|
|
8382
8675
|
{
|
|
8383
8676
|
"aria-hidden": "true",
|
|
@@ -8395,7 +8688,7 @@ function GameLoadingBlock({
|
|
|
8395
8688
|
} : null)
|
|
8396
8689
|
}
|
|
8397
8690
|
),
|
|
8398
|
-
logoSrc && /* @__PURE__ */
|
|
8691
|
+
logoSrc && /* @__PURE__ */ jsx68(
|
|
8399
8692
|
"img",
|
|
8400
8693
|
{
|
|
8401
8694
|
src: logoSrc,
|
|
@@ -8404,16 +8697,16 @@ function GameLoadingBlock({
|
|
|
8404
8697
|
className: cn("game-loader-mark", animate && "game-loader-mark-exit")
|
|
8405
8698
|
}
|
|
8406
8699
|
),
|
|
8407
|
-
!exiting && /* @__PURE__ */
|
|
8408
|
-
/* @__PURE__ */
|
|
8700
|
+
!exiting && /* @__PURE__ */ jsxs41("div", { className: "absolute bottom-10 left-1/2 flex w-[200px] -translate-x-1/2 flex-col items-start gap-3.5", children: [
|
|
8701
|
+
/* @__PURE__ */ jsx68("div", { className: "relative h-2 w-full overflow-hidden rounded-xs bg-background-secondary-surface", children: /* @__PURE__ */ jsx68(
|
|
8409
8702
|
"div",
|
|
8410
8703
|
{
|
|
8411
8704
|
className: "absolute inset-y-0 left-0 overflow-hidden rounded-xs bg-background-brand-default",
|
|
8412
8705
|
style: { width: `${progress}%` },
|
|
8413
|
-
children: /* @__PURE__ */
|
|
8706
|
+
children: /* @__PURE__ */ jsx68("span", { "aria-hidden": "true", className: "game-loader-shimmer absolute inset-y-0 left-[-60%] w-[60%]" })
|
|
8414
8707
|
}
|
|
8415
8708
|
) }),
|
|
8416
|
-
/* @__PURE__ */
|
|
8709
|
+
/* @__PURE__ */ jsx68("span", { className: "caption text-text-subtle-default", children: delayed ? "Taking longer than usual\u2026" : label })
|
|
8417
8710
|
] })
|
|
8418
8711
|
]
|
|
8419
8712
|
}
|
|
@@ -8499,6 +8792,7 @@ export {
|
|
|
8499
8792
|
ContextMenuSubContent,
|
|
8500
8793
|
ContextMenuSubTrigger,
|
|
8501
8794
|
ContextMenuTrigger,
|
|
8795
|
+
DateWheelPicker,
|
|
8502
8796
|
Dialog,
|
|
8503
8797
|
DialogClose,
|
|
8504
8798
|
DialogContent,
|