@tutti-os/ui-system 0.0.294 → 0.0.295
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-Q3PM56DM.js → chunk-V2BIMM2U.js} +227 -136
- package/dist/chunk-V2BIMM2U.js.map +1 -0
- package/dist/components/index.d.ts +18 -2
- package/dist/components/index.js +3 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -1
- package/dist/metadata/components.json +23 -0
- package/dist/metadata/index.js +23 -0
- package/dist/metadata/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-Q3PM56DM.js.map +0 -1
|
@@ -1985,6 +1985,96 @@ function DropdownMenuSubContent({
|
|
|
1985
1985
|
) });
|
|
1986
1986
|
}
|
|
1987
1987
|
|
|
1988
|
+
// src/components/image-with-fallback/image-with-fallback.tsx
|
|
1989
|
+
import {
|
|
1990
|
+
useEffect as useEffect4,
|
|
1991
|
+
useRef as useRef3,
|
|
1992
|
+
useState as useState5
|
|
1993
|
+
} from "react";
|
|
1994
|
+
import { Fragment as Fragment3, jsx as jsx17 } from "react/jsx-runtime";
|
|
1995
|
+
import { createElement } from "react";
|
|
1996
|
+
var DEFAULT_RETRY_COUNT = 1;
|
|
1997
|
+
var DEFAULT_RETRY_DELAY_MS = 150;
|
|
1998
|
+
var MAX_RETRY_COUNT = 3;
|
|
1999
|
+
function normalizeRetryCount(value) {
|
|
2000
|
+
if (!Number.isFinite(value)) {
|
|
2001
|
+
return DEFAULT_RETRY_COUNT;
|
|
2002
|
+
}
|
|
2003
|
+
return Math.min(MAX_RETRY_COUNT, Math.max(0, Math.floor(value)));
|
|
2004
|
+
}
|
|
2005
|
+
function normalizeRetryDelay(value) {
|
|
2006
|
+
if (!Number.isFinite(value)) {
|
|
2007
|
+
return DEFAULT_RETRY_DELAY_MS;
|
|
2008
|
+
}
|
|
2009
|
+
return Math.max(0, Math.floor(value));
|
|
2010
|
+
}
|
|
2011
|
+
function ImageWithFallback({
|
|
2012
|
+
fallback = null,
|
|
2013
|
+
onError,
|
|
2014
|
+
retryCount = DEFAULT_RETRY_COUNT,
|
|
2015
|
+
retryDelayMs = DEFAULT_RETRY_DELAY_MS,
|
|
2016
|
+
src,
|
|
2017
|
+
...imageProps
|
|
2018
|
+
}) {
|
|
2019
|
+
const normalizedSrc = src?.trim() ?? "";
|
|
2020
|
+
const maxRetries = normalizeRetryCount(retryCount);
|
|
2021
|
+
const delayMs = normalizeRetryDelay(retryDelayMs);
|
|
2022
|
+
const retryTimerRef = useRef3(null);
|
|
2023
|
+
const [deliveryState, setDeliveryState] = useState5({
|
|
2024
|
+
attempt: 0,
|
|
2025
|
+
phase: "ready",
|
|
2026
|
+
src: normalizedSrc
|
|
2027
|
+
});
|
|
2028
|
+
useEffect4(() => {
|
|
2029
|
+
if (deliveryState.src !== normalizedSrc) {
|
|
2030
|
+
setDeliveryState({ attempt: 0, phase: "ready", src: normalizedSrc });
|
|
2031
|
+
}
|
|
2032
|
+
if (retryTimerRef.current !== null) {
|
|
2033
|
+
clearTimeout(retryTimerRef.current);
|
|
2034
|
+
retryTimerRef.current = null;
|
|
2035
|
+
}
|
|
2036
|
+
}, [deliveryState.src, normalizedSrc]);
|
|
2037
|
+
useEffect4(
|
|
2038
|
+
() => () => {
|
|
2039
|
+
if (retryTimerRef.current !== null) {
|
|
2040
|
+
clearTimeout(retryTimerRef.current);
|
|
2041
|
+
}
|
|
2042
|
+
},
|
|
2043
|
+
[]
|
|
2044
|
+
);
|
|
2045
|
+
const currentState = deliveryState.src === normalizedSrc ? deliveryState : { attempt: 0, phase: "ready", src: normalizedSrc };
|
|
2046
|
+
if (normalizedSrc.length === 0 || currentState.phase === "failed" || currentState.phase === "retrying") {
|
|
2047
|
+
return /* @__PURE__ */ jsx17(Fragment3, { children: fallback });
|
|
2048
|
+
}
|
|
2049
|
+
return /* @__PURE__ */ createElement(
|
|
2050
|
+
"img",
|
|
2051
|
+
{
|
|
2052
|
+
...imageProps,
|
|
2053
|
+
key: `${normalizedSrc}:${currentState.attempt}`,
|
|
2054
|
+
src: normalizedSrc,
|
|
2055
|
+
onError: (event) => {
|
|
2056
|
+
onError?.(event);
|
|
2057
|
+
if (currentState.attempt >= maxRetries) {
|
|
2058
|
+
setDeliveryState(
|
|
2059
|
+
(previous) => previous.src === normalizedSrc ? { ...previous, phase: "failed" } : previous
|
|
2060
|
+
);
|
|
2061
|
+
return;
|
|
2062
|
+
}
|
|
2063
|
+
const nextAttempt = currentState.attempt + 1;
|
|
2064
|
+
setDeliveryState(
|
|
2065
|
+
(previous) => previous.src === normalizedSrc ? { attempt: nextAttempt, phase: "retrying", src: normalizedSrc } : previous
|
|
2066
|
+
);
|
|
2067
|
+
retryTimerRef.current = setTimeout(() => {
|
|
2068
|
+
retryTimerRef.current = null;
|
|
2069
|
+
setDeliveryState(
|
|
2070
|
+
(previous) => previous.src === normalizedSrc && previous.attempt === nextAttempt && previous.phase === "retrying" ? { ...previous, phase: "ready" } : previous
|
|
2071
|
+
);
|
|
2072
|
+
}, delayMs);
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
);
|
|
2076
|
+
}
|
|
2077
|
+
|
|
1988
2078
|
// src/components/mention-pill/mention-pill.tsx
|
|
1989
2079
|
import * as React8 from "react";
|
|
1990
2080
|
|
|
@@ -1993,12 +2083,12 @@ import * as React7 from "react";
|
|
|
1993
2083
|
|
|
1994
2084
|
// src/components/tooltip/tooltip.tsx
|
|
1995
2085
|
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
1996
|
-
import { jsx as
|
|
2086
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
1997
2087
|
function TooltipProvider({
|
|
1998
2088
|
delayDuration = 0,
|
|
1999
2089
|
...props
|
|
2000
2090
|
}) {
|
|
2001
|
-
return /* @__PURE__ */
|
|
2091
|
+
return /* @__PURE__ */ jsx18(
|
|
2002
2092
|
TooltipPrimitive.Provider,
|
|
2003
2093
|
{
|
|
2004
2094
|
"data-slot": "tooltip-provider",
|
|
@@ -2010,17 +2100,17 @@ function TooltipProvider({
|
|
|
2010
2100
|
function Tooltip({
|
|
2011
2101
|
...props
|
|
2012
2102
|
}) {
|
|
2013
|
-
return /* @__PURE__ */
|
|
2103
|
+
return /* @__PURE__ */ jsx18(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props });
|
|
2014
2104
|
}
|
|
2015
2105
|
function TooltipTrigger({
|
|
2016
2106
|
...props
|
|
2017
2107
|
}) {
|
|
2018
|
-
return /* @__PURE__ */
|
|
2108
|
+
return /* @__PURE__ */ jsx18(TooltipPrimitive.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
2019
2109
|
}
|
|
2020
2110
|
function TooltipPortal({
|
|
2021
2111
|
...props
|
|
2022
2112
|
}) {
|
|
2023
|
-
return /* @__PURE__ */
|
|
2113
|
+
return /* @__PURE__ */ jsx18(TooltipPrimitive.Portal, { "data-slot": "tooltip-portal", ...props });
|
|
2024
2114
|
}
|
|
2025
2115
|
function TooltipContent({
|
|
2026
2116
|
className,
|
|
@@ -2029,7 +2119,7 @@ function TooltipContent({
|
|
|
2029
2119
|
style,
|
|
2030
2120
|
...props
|
|
2031
2121
|
}) {
|
|
2032
|
-
return /* @__PURE__ */
|
|
2122
|
+
return /* @__PURE__ */ jsx18(TooltipPortal, { children: /* @__PURE__ */ jsx18(
|
|
2033
2123
|
TooltipPrimitive.Content,
|
|
2034
2124
|
{
|
|
2035
2125
|
"data-slot": "tooltip-content",
|
|
@@ -2046,7 +2136,7 @@ function TooltipContent({
|
|
|
2046
2136
|
}
|
|
2047
2137
|
|
|
2048
2138
|
// src/components/mention-pill/truncating-pill-label.tsx
|
|
2049
|
-
import { jsx as
|
|
2139
|
+
import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2050
2140
|
function useTextOverflow(watch, descendantSelector) {
|
|
2051
2141
|
const ref = React7.useRef(null);
|
|
2052
2142
|
const [overflowing, setOverflowing] = React7.useState(false);
|
|
@@ -2083,7 +2173,7 @@ function TruncatingPillLabel({
|
|
|
2083
2173
|
withTooltipProvider = true
|
|
2084
2174
|
}) {
|
|
2085
2175
|
const { ref: labelRef, overflowing } = useTextOverflow(tooltip);
|
|
2086
|
-
const label = /* @__PURE__ */
|
|
2176
|
+
const label = /* @__PURE__ */ jsx19(
|
|
2087
2177
|
"span",
|
|
2088
2178
|
{
|
|
2089
2179
|
ref: labelRef,
|
|
@@ -2098,14 +2188,14 @@ function TruncatingPillLabel({
|
|
|
2098
2188
|
return label;
|
|
2099
2189
|
}
|
|
2100
2190
|
const tooltipElement = /* @__PURE__ */ jsxs10(Tooltip, { children: [
|
|
2101
|
-
/* @__PURE__ */
|
|
2102
|
-
overflowing ? /* @__PURE__ */
|
|
2191
|
+
/* @__PURE__ */ jsx19(TooltipTrigger, { asChild: true, children: label }),
|
|
2192
|
+
overflowing ? /* @__PURE__ */ jsx19(TooltipContent, { className: "max-w-[min(420px,calc(100vw-32px))] whitespace-normal text-left [overflow-wrap:anywhere]", children: tooltip }) : null
|
|
2103
2193
|
] });
|
|
2104
|
-
return withTooltipProvider ? /* @__PURE__ */
|
|
2194
|
+
return withTooltipProvider ? /* @__PURE__ */ jsx19(TooltipProvider, { delayDuration: 200, children: tooltipElement }) : tooltipElement;
|
|
2105
2195
|
}
|
|
2106
2196
|
|
|
2107
2197
|
// src/components/mention-pill/mention-pill.tsx
|
|
2108
|
-
import { jsx as
|
|
2198
|
+
import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2109
2199
|
var mentionPillTokenByKind = {
|
|
2110
2200
|
app: "var(--rich-text-folder)",
|
|
2111
2201
|
issue: "var(--rich-text-mention-issue)",
|
|
@@ -2173,7 +2263,7 @@ function MentionPill({
|
|
|
2173
2263
|
iconContainerProps?.className
|
|
2174
2264
|
),
|
|
2175
2265
|
children: [
|
|
2176
|
-
normalizedIconUrl && failedIconUrl !== normalizedIconUrl ? /* @__PURE__ */
|
|
2266
|
+
normalizedIconUrl && failedIconUrl !== normalizedIconUrl ? /* @__PURE__ */ jsx20(
|
|
2177
2267
|
"img",
|
|
2178
2268
|
{
|
|
2179
2269
|
src: normalizedIconUrl,
|
|
@@ -2189,7 +2279,7 @@ function MentionPill({
|
|
|
2189
2279
|
setFailedIconUrl(normalizedIconUrl);
|
|
2190
2280
|
}
|
|
2191
2281
|
}
|
|
2192
|
-
) : /* @__PURE__ */
|
|
2282
|
+
) : /* @__PURE__ */ jsx20(
|
|
2193
2283
|
Icon,
|
|
2194
2284
|
{
|
|
2195
2285
|
...fallbackIconProps,
|
|
@@ -2202,7 +2292,7 @@ function MentionPill({
|
|
|
2202
2292
|
"data-mention-pill-fallback-icon": "true"
|
|
2203
2293
|
}
|
|
2204
2294
|
),
|
|
2205
|
-
removable ? /* @__PURE__ */
|
|
2295
|
+
removable ? /* @__PURE__ */ jsx20(
|
|
2206
2296
|
"button",
|
|
2207
2297
|
{
|
|
2208
2298
|
"aria-label": removeButtonProps?.["aria-label"],
|
|
@@ -2212,7 +2302,7 @@ function MentionPill({
|
|
|
2212
2302
|
"absolute top-1/2 left-1/2 inline-flex size-5 -translate-x-1/2 -translate-y-1/2 items-center justify-center text-[var(--text-secondary)] opacity-0 transition-opacity group-hover:opacity-100 hover:text-[var(--text-primary)] focus-visible:opacity-100",
|
|
2213
2303
|
removeButtonProps?.className
|
|
2214
2304
|
),
|
|
2215
|
-
children: /* @__PURE__ */
|
|
2305
|
+
children: /* @__PURE__ */ jsx20(CloseIcon, { className: "size-3.5" })
|
|
2216
2306
|
}
|
|
2217
2307
|
) : null
|
|
2218
2308
|
]
|
|
@@ -2224,7 +2314,7 @@ function MentionPill({
|
|
|
2224
2314
|
tooltip: tooltipEnabled ? tooltipText : "",
|
|
2225
2315
|
withTooltipProvider,
|
|
2226
2316
|
children: [
|
|
2227
|
-
/* @__PURE__ */
|
|
2317
|
+
/* @__PURE__ */ jsx20("span", { children: label }),
|
|
2228
2318
|
summary ? /* @__PURE__ */ jsxs11("span", { className: "text-current", children: [
|
|
2229
2319
|
" ",
|
|
2230
2320
|
summary
|
|
@@ -2238,14 +2328,14 @@ function MentionPill({
|
|
|
2238
2328
|
}
|
|
2239
2329
|
|
|
2240
2330
|
// src/components/radio-indicator/radio-indicator.tsx
|
|
2241
|
-
import { jsx as
|
|
2331
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
2242
2332
|
function RadioIndicator({
|
|
2243
2333
|
checked = false,
|
|
2244
2334
|
disabled = false,
|
|
2245
2335
|
className,
|
|
2246
2336
|
...props
|
|
2247
2337
|
}) {
|
|
2248
|
-
return /* @__PURE__ */
|
|
2338
|
+
return /* @__PURE__ */ jsx21(
|
|
2249
2339
|
"span",
|
|
2250
2340
|
{
|
|
2251
2341
|
...props,
|
|
@@ -2258,7 +2348,7 @@ function RadioIndicator({
|
|
|
2258
2348
|
"inline-flex size-4 shrink-0 items-center justify-center rounded-full border-2 border-[var(--border-1)] bg-transparent transition-[border-color,background-color,box-shadow] data-[state=checked]:border-[var(--tutti-purple)] data-[state=unchecked]:hover:border-[color-mix(in_srgb,var(--text-primary)_40%,transparent)] data-disabled:cursor-not-allowed data-disabled:opacity-60",
|
|
2259
2349
|
className
|
|
2260
2350
|
),
|
|
2261
|
-
children: checked ? /* @__PURE__ */
|
|
2351
|
+
children: checked ? /* @__PURE__ */ jsx21(
|
|
2262
2352
|
"span",
|
|
2263
2353
|
{
|
|
2264
2354
|
"aria-hidden": "true",
|
|
@@ -2271,13 +2361,13 @@ function RadioIndicator({
|
|
|
2271
2361
|
|
|
2272
2362
|
// src/components/resizable/resizable.tsx
|
|
2273
2363
|
import * as ResizablePrimitive from "react-resizable-panels";
|
|
2274
|
-
import { jsx as
|
|
2364
|
+
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
2275
2365
|
function ResizablePanelGroup({
|
|
2276
2366
|
className,
|
|
2277
2367
|
orientation = "horizontal",
|
|
2278
2368
|
...props
|
|
2279
2369
|
}) {
|
|
2280
|
-
return /* @__PURE__ */
|
|
2370
|
+
return /* @__PURE__ */ jsx22(
|
|
2281
2371
|
ResizablePrimitive.Group,
|
|
2282
2372
|
{
|
|
2283
2373
|
"data-orientation": orientation,
|
|
@@ -2292,14 +2382,14 @@ function ResizablePanelGroup({
|
|
|
2292
2382
|
);
|
|
2293
2383
|
}
|
|
2294
2384
|
function ResizablePanel(props) {
|
|
2295
|
-
return /* @__PURE__ */
|
|
2385
|
+
return /* @__PURE__ */ jsx22(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
|
|
2296
2386
|
}
|
|
2297
2387
|
function ResizableHandle({
|
|
2298
2388
|
className,
|
|
2299
2389
|
withHandle,
|
|
2300
2390
|
...props
|
|
2301
2391
|
}) {
|
|
2302
|
-
return /* @__PURE__ */
|
|
2392
|
+
return /* @__PURE__ */ jsx22(
|
|
2303
2393
|
ResizablePrimitive.Separator,
|
|
2304
2394
|
{
|
|
2305
2395
|
"data-slot": "resizable-handle",
|
|
@@ -2308,14 +2398,14 @@ function ResizableHandle({
|
|
|
2308
2398
|
className
|
|
2309
2399
|
),
|
|
2310
2400
|
...props,
|
|
2311
|
-
children: withHandle ? /* @__PURE__ */
|
|
2401
|
+
children: withHandle ? /* @__PURE__ */ jsx22("div", { className: "z-10 flex items-center justify-center rounded-full bg-border/85 opacity-0 transition-[background-color,opacity] group-hover:bg-border group-hover:opacity-100 group-focus-visible:bg-border group-focus-visible:opacity-100 group-aria-[orientation=horizontal]:h-[3px] group-aria-[orientation=horizontal]:w-10 group-aria-[orientation=vertical]:h-10 group-aria-[orientation=vertical]:w-[3px]" }) : null
|
|
2312
2402
|
}
|
|
2313
2403
|
);
|
|
2314
2404
|
}
|
|
2315
2405
|
|
|
2316
2406
|
// src/components/scroll-area/scroll-area.tsx
|
|
2317
2407
|
import * as React9 from "react";
|
|
2318
|
-
import { jsx as
|
|
2408
|
+
import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2319
2409
|
var MIN_THUMB_SIZE_PX = 24;
|
|
2320
2410
|
function ScrollArea({
|
|
2321
2411
|
className,
|
|
@@ -2352,9 +2442,9 @@ function ScrollArea({
|
|
|
2352
2442
|
...props
|
|
2353
2443
|
};
|
|
2354
2444
|
if (scrollbarMode === "native") {
|
|
2355
|
-
return /* @__PURE__ */
|
|
2445
|
+
return /* @__PURE__ */ jsx23(NativeScrollArea, { ...implementationProps, children });
|
|
2356
2446
|
}
|
|
2357
|
-
return /* @__PURE__ */
|
|
2447
|
+
return /* @__PURE__ */ jsx23(CustomScrollArea, { ...implementationProps, children });
|
|
2358
2448
|
}
|
|
2359
2449
|
function NativeScrollArea({
|
|
2360
2450
|
className,
|
|
@@ -2374,7 +2464,7 @@ function NativeScrollArea({
|
|
|
2374
2464
|
...props
|
|
2375
2465
|
}) {
|
|
2376
2466
|
const alwaysVisible = type === "always" || type === "scroll" || hasAlwaysVisibleScrollbarSelector(className);
|
|
2377
|
-
return /* @__PURE__ */
|
|
2467
|
+
return /* @__PURE__ */ jsx23(
|
|
2378
2468
|
ScrollAreaFrame,
|
|
2379
2469
|
{
|
|
2380
2470
|
...props,
|
|
@@ -2455,7 +2545,7 @@ function CustomScrollArea({
|
|
|
2455
2545
|
viewportTestId,
|
|
2456
2546
|
children: [
|
|
2457
2547
|
children,
|
|
2458
|
-
/* @__PURE__ */
|
|
2548
|
+
/* @__PURE__ */ jsx23(
|
|
2459
2549
|
ScrollAreaScrollbar,
|
|
2460
2550
|
{
|
|
2461
2551
|
active: active || alwaysVisible,
|
|
@@ -2480,7 +2570,7 @@ function ScrollAreaFrame({
|
|
|
2480
2570
|
viewportTestId,
|
|
2481
2571
|
...props
|
|
2482
2572
|
}) {
|
|
2483
|
-
return /* @__PURE__ */
|
|
2573
|
+
return /* @__PURE__ */ jsx23(
|
|
2484
2574
|
"div",
|
|
2485
2575
|
{
|
|
2486
2576
|
"data-slot": "scroll-area",
|
|
@@ -2490,7 +2580,7 @@ function ScrollAreaFrame({
|
|
|
2490
2580
|
className
|
|
2491
2581
|
),
|
|
2492
2582
|
...props,
|
|
2493
|
-
children: /* @__PURE__ */
|
|
2583
|
+
children: /* @__PURE__ */ jsx23(
|
|
2494
2584
|
"div",
|
|
2495
2585
|
{
|
|
2496
2586
|
...viewportProps,
|
|
@@ -2501,7 +2591,7 @@ function ScrollAreaFrame({
|
|
|
2501
2591
|
"size-full overflow-auto rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",
|
|
2502
2592
|
viewportClassName
|
|
2503
2593
|
),
|
|
2504
|
-
children: /* @__PURE__ */
|
|
2594
|
+
children: /* @__PURE__ */ jsx23(
|
|
2505
2595
|
"div",
|
|
2506
2596
|
{
|
|
2507
2597
|
ref: contentRef,
|
|
@@ -2716,7 +2806,7 @@ function ScrollAreaScrollbar({
|
|
|
2716
2806
|
React9.useEffect(() => {
|
|
2717
2807
|
scheduleSync();
|
|
2718
2808
|
});
|
|
2719
|
-
return /* @__PURE__ */
|
|
2809
|
+
return /* @__PURE__ */ jsx23(
|
|
2720
2810
|
"div",
|
|
2721
2811
|
{
|
|
2722
2812
|
ref: trackRef,
|
|
@@ -2734,7 +2824,7 @@ function ScrollAreaScrollbar({
|
|
|
2734
2824
|
onPointerEnter: () => setTrackActive(true),
|
|
2735
2825
|
onPointerLeave: () => setTrackActive(false),
|
|
2736
2826
|
onPointerDown: handleTrackPointerDown,
|
|
2737
|
-
children: /* @__PURE__ */
|
|
2827
|
+
children: /* @__PURE__ */ jsx23(
|
|
2738
2828
|
"div",
|
|
2739
2829
|
{
|
|
2740
2830
|
ref: thumbRef,
|
|
@@ -2753,7 +2843,7 @@ function ScrollBar({
|
|
|
2753
2843
|
orientation = "vertical",
|
|
2754
2844
|
...props
|
|
2755
2845
|
}) {
|
|
2756
|
-
return /* @__PURE__ */
|
|
2846
|
+
return /* @__PURE__ */ jsx23(
|
|
2757
2847
|
"div",
|
|
2758
2848
|
{
|
|
2759
2849
|
"data-slot": "scroll-area-scrollbar",
|
|
@@ -2761,7 +2851,7 @@ function ScrollBar({
|
|
|
2761
2851
|
className: cn(scrollbarClassName(orientation), className),
|
|
2762
2852
|
style: scrollbarStyle({ active: false, orientation, scrollable: true }),
|
|
2763
2853
|
...props,
|
|
2764
|
-
children: /* @__PURE__ */
|
|
2854
|
+
children: /* @__PURE__ */ jsx23(
|
|
2765
2855
|
"div",
|
|
2766
2856
|
{
|
|
2767
2857
|
"data-slot": "scroll-area-thumb",
|
|
@@ -2882,17 +2972,17 @@ function clamp(value, min, max) {
|
|
|
2882
2972
|
|
|
2883
2973
|
// src/components/select/select.tsx
|
|
2884
2974
|
import { Select as SelectPrimitive } from "radix-ui";
|
|
2885
|
-
import { jsx as
|
|
2975
|
+
import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2886
2976
|
function Select({
|
|
2887
2977
|
...props
|
|
2888
2978
|
}) {
|
|
2889
|
-
return /* @__PURE__ */
|
|
2979
|
+
return /* @__PURE__ */ jsx24(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
2890
2980
|
}
|
|
2891
2981
|
function SelectGroup({
|
|
2892
2982
|
className,
|
|
2893
2983
|
...props
|
|
2894
2984
|
}) {
|
|
2895
|
-
return /* @__PURE__ */
|
|
2985
|
+
return /* @__PURE__ */ jsx24(
|
|
2896
2986
|
SelectPrimitive.Group,
|
|
2897
2987
|
{
|
|
2898
2988
|
"data-slot": "select-group",
|
|
@@ -2904,7 +2994,7 @@ function SelectGroup({
|
|
|
2904
2994
|
function SelectValue({
|
|
2905
2995
|
...props
|
|
2906
2996
|
}) {
|
|
2907
|
-
return /* @__PURE__ */
|
|
2997
|
+
return /* @__PURE__ */ jsx24(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
2908
2998
|
}
|
|
2909
2999
|
function SelectTrigger({
|
|
2910
3000
|
className,
|
|
@@ -2927,7 +3017,7 @@ function SelectTrigger({
|
|
|
2927
3017
|
...props,
|
|
2928
3018
|
children: [
|
|
2929
3019
|
children,
|
|
2930
|
-
/* @__PURE__ */
|
|
3020
|
+
/* @__PURE__ */ jsx24(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx24(
|
|
2931
3021
|
ChevronDownIcon,
|
|
2932
3022
|
{
|
|
2933
3023
|
className: cn("pointer-events-none size-4", "text-current")
|
|
@@ -2945,7 +3035,7 @@ function SelectContent({
|
|
|
2945
3035
|
style,
|
|
2946
3036
|
...props
|
|
2947
3037
|
}) {
|
|
2948
|
-
return /* @__PURE__ */
|
|
3038
|
+
return /* @__PURE__ */ jsx24(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx24(
|
|
2949
3039
|
SelectPrimitive.Content,
|
|
2950
3040
|
{
|
|
2951
3041
|
asChild: true,
|
|
@@ -2965,8 +3055,8 @@ function SelectContent({
|
|
|
2965
3055
|
),
|
|
2966
3056
|
style: { zIndex: "var(--z-popover)", ...style },
|
|
2967
3057
|
children: [
|
|
2968
|
-
/* @__PURE__ */
|
|
2969
|
-
/* @__PURE__ */
|
|
3058
|
+
/* @__PURE__ */ jsx24(SelectScrollUpButton, {}),
|
|
3059
|
+
/* @__PURE__ */ jsx24(
|
|
2970
3060
|
SelectPrimitive.Viewport,
|
|
2971
3061
|
{
|
|
2972
3062
|
"data-position": position,
|
|
@@ -2976,7 +3066,7 @@ function SelectContent({
|
|
|
2976
3066
|
children
|
|
2977
3067
|
}
|
|
2978
3068
|
),
|
|
2979
|
-
/* @__PURE__ */
|
|
3069
|
+
/* @__PURE__ */ jsx24(SelectScrollDownButton, {})
|
|
2980
3070
|
]
|
|
2981
3071
|
}
|
|
2982
3072
|
)
|
|
@@ -2987,7 +3077,7 @@ function SelectLabel({
|
|
|
2987
3077
|
className,
|
|
2988
3078
|
...props
|
|
2989
3079
|
}) {
|
|
2990
|
-
return /* @__PURE__ */
|
|
3080
|
+
return /* @__PURE__ */ jsx24(
|
|
2991
3081
|
SelectPrimitive.Label,
|
|
2992
3082
|
{
|
|
2993
3083
|
"data-slot": "select-label",
|
|
@@ -3003,7 +3093,7 @@ function SelectSplitLayout({
|
|
|
3003
3093
|
className,
|
|
3004
3094
|
...props
|
|
3005
3095
|
}) {
|
|
3006
|
-
return /* @__PURE__ */
|
|
3096
|
+
return /* @__PURE__ */ jsx24(
|
|
3007
3097
|
"div",
|
|
3008
3098
|
{
|
|
3009
3099
|
"data-slot": "select-split-layout",
|
|
@@ -3019,7 +3109,7 @@ function SelectSplitColumn({
|
|
|
3019
3109
|
className,
|
|
3020
3110
|
...props
|
|
3021
3111
|
}) {
|
|
3022
|
-
return /* @__PURE__ */
|
|
3112
|
+
return /* @__PURE__ */ jsx24(
|
|
3023
3113
|
"div",
|
|
3024
3114
|
{
|
|
3025
3115
|
"data-slot": "select-split-column",
|
|
@@ -3032,7 +3122,7 @@ function SelectSplitColumnLabel({
|
|
|
3032
3122
|
className,
|
|
3033
3123
|
...props
|
|
3034
3124
|
}) {
|
|
3035
|
-
return /* @__PURE__ */
|
|
3125
|
+
return /* @__PURE__ */ jsx24(
|
|
3036
3126
|
"div",
|
|
3037
3127
|
{
|
|
3038
3128
|
"data-slot": "select-split-column-label",
|
|
@@ -3048,7 +3138,7 @@ function SelectSplitColumnItems({
|
|
|
3048
3138
|
className,
|
|
3049
3139
|
...props
|
|
3050
3140
|
}) {
|
|
3051
|
-
return /* @__PURE__ */
|
|
3141
|
+
return /* @__PURE__ */ jsx24(
|
|
3052
3142
|
"div",
|
|
3053
3143
|
{
|
|
3054
3144
|
"data-slot": "select-split-column-items",
|
|
@@ -3064,7 +3154,7 @@ function SelectSplitDivider({
|
|
|
3064
3154
|
className,
|
|
3065
3155
|
...props
|
|
3066
3156
|
}) {
|
|
3067
|
-
return /* @__PURE__ */
|
|
3157
|
+
return /* @__PURE__ */ jsx24(
|
|
3068
3158
|
"div",
|
|
3069
3159
|
{
|
|
3070
3160
|
"aria-hidden": "true",
|
|
@@ -3090,14 +3180,14 @@ function SelectItem({
|
|
|
3090
3180
|
className: cn("w-full", menuItemWithIndicatorClassName, className),
|
|
3091
3181
|
...props,
|
|
3092
3182
|
children: [
|
|
3093
|
-
/* @__PURE__ */
|
|
3183
|
+
/* @__PURE__ */ jsx24("span", { className: menuItemIndicatorClassName, children: forceSelectedIndicator ? /* @__PURE__ */ jsx24(
|
|
3094
3184
|
CheckIcon,
|
|
3095
3185
|
{
|
|
3096
3186
|
className: "pointer-events-none text-[var(--tutti-purple)]",
|
|
3097
3187
|
"data-slot": "select-item-forced-indicator"
|
|
3098
3188
|
}
|
|
3099
|
-
) : /* @__PURE__ */
|
|
3100
|
-
/* @__PURE__ */
|
|
3189
|
+
) : /* @__PURE__ */ jsx24(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(CheckIcon, { className: "pointer-events-none text-[var(--tutti-purple)]" }) }) }),
|
|
3190
|
+
/* @__PURE__ */ jsx24(SelectPrimitive.ItemText, { children })
|
|
3101
3191
|
]
|
|
3102
3192
|
}
|
|
3103
3193
|
);
|
|
@@ -3106,7 +3196,7 @@ function SelectSeparator({
|
|
|
3106
3196
|
className,
|
|
3107
3197
|
...props
|
|
3108
3198
|
}) {
|
|
3109
|
-
return /* @__PURE__ */
|
|
3199
|
+
return /* @__PURE__ */ jsx24(
|
|
3110
3200
|
SelectPrimitive.Separator,
|
|
3111
3201
|
{
|
|
3112
3202
|
"data-slot": "select-separator",
|
|
@@ -3122,7 +3212,7 @@ function SelectScrollUpButton({
|
|
|
3122
3212
|
className,
|
|
3123
3213
|
...props
|
|
3124
3214
|
}) {
|
|
3125
|
-
return /* @__PURE__ */
|
|
3215
|
+
return /* @__PURE__ */ jsx24(
|
|
3126
3216
|
SelectPrimitive.ScrollUpButton,
|
|
3127
3217
|
{
|
|
3128
3218
|
"data-slot": "select-scroll-up-button",
|
|
@@ -3131,7 +3221,7 @@ function SelectScrollUpButton({
|
|
|
3131
3221
|
className
|
|
3132
3222
|
),
|
|
3133
3223
|
...props,
|
|
3134
|
-
children: /* @__PURE__ */
|
|
3224
|
+
children: /* @__PURE__ */ jsx24(ChevronUpIcon, {})
|
|
3135
3225
|
}
|
|
3136
3226
|
);
|
|
3137
3227
|
}
|
|
@@ -3139,7 +3229,7 @@ function SelectScrollDownButton({
|
|
|
3139
3229
|
className,
|
|
3140
3230
|
...props
|
|
3141
3231
|
}) {
|
|
3142
|
-
return /* @__PURE__ */
|
|
3232
|
+
return /* @__PURE__ */ jsx24(
|
|
3143
3233
|
SelectPrimitive.ScrollDownButton,
|
|
3144
3234
|
{
|
|
3145
3235
|
"data-slot": "select-scroll-down-button",
|
|
@@ -3148,21 +3238,21 @@ function SelectScrollDownButton({
|
|
|
3148
3238
|
className
|
|
3149
3239
|
),
|
|
3150
3240
|
...props,
|
|
3151
|
-
children: /* @__PURE__ */
|
|
3241
|
+
children: /* @__PURE__ */ jsx24(ChevronDownIcon, {})
|
|
3152
3242
|
}
|
|
3153
3243
|
);
|
|
3154
3244
|
}
|
|
3155
3245
|
|
|
3156
3246
|
// src/components/separator/separator.tsx
|
|
3157
3247
|
import { Separator as SeparatorPrimitive } from "radix-ui";
|
|
3158
|
-
import { jsx as
|
|
3248
|
+
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
3159
3249
|
function Separator2({
|
|
3160
3250
|
className,
|
|
3161
3251
|
orientation = "horizontal",
|
|
3162
3252
|
decorative = true,
|
|
3163
3253
|
...props
|
|
3164
3254
|
}) {
|
|
3165
|
-
return /* @__PURE__ */
|
|
3255
|
+
return /* @__PURE__ */ jsx25(
|
|
3166
3256
|
SeparatorPrimitive.Root,
|
|
3167
3257
|
{
|
|
3168
3258
|
"data-slot": "separator",
|
|
@@ -3178,7 +3268,7 @@ function Separator2({
|
|
|
3178
3268
|
}
|
|
3179
3269
|
|
|
3180
3270
|
// src/components/section-tabs/section-tabs.tsx
|
|
3181
|
-
import { jsx as
|
|
3271
|
+
import { jsx as jsx26, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
3182
3272
|
function SectionTabs({
|
|
3183
3273
|
tabs,
|
|
3184
3274
|
value,
|
|
@@ -3187,7 +3277,7 @@ function SectionTabs({
|
|
|
3187
3277
|
className,
|
|
3188
3278
|
testId
|
|
3189
3279
|
}) {
|
|
3190
|
-
return /* @__PURE__ */
|
|
3280
|
+
return /* @__PURE__ */ jsx26(
|
|
3191
3281
|
"div",
|
|
3192
3282
|
{
|
|
3193
3283
|
"aria-label": ariaLabel,
|
|
@@ -3212,8 +3302,8 @@ function SectionTabs({
|
|
|
3212
3302
|
type: "button",
|
|
3213
3303
|
onClick: () => onValueChange(tab.value),
|
|
3214
3304
|
children: [
|
|
3215
|
-
/* @__PURE__ */
|
|
3216
|
-
tab.count !== void 0 ? /* @__PURE__ */
|
|
3305
|
+
/* @__PURE__ */ jsx26("span", { className: "min-w-0 truncate", children: tab.label }),
|
|
3306
|
+
tab.count !== void 0 ? /* @__PURE__ */ jsx26("span", { className: "text-[15px] font-semibold leading-5 text-[inherit]", children: tab.count }) : null
|
|
3217
3307
|
]
|
|
3218
3308
|
},
|
|
3219
3309
|
tab.value
|
|
@@ -3224,8 +3314,8 @@ function SectionTabs({
|
|
|
3224
3314
|
}
|
|
3225
3315
|
|
|
3226
3316
|
// src/components/segment-bar/segment-bar.tsx
|
|
3227
|
-
import { useEffect as
|
|
3228
|
-
import { jsx as
|
|
3317
|
+
import { useEffect as useEffect7, useLayoutEffect as useLayoutEffect2, useRef as useRef6, useState as useState9 } from "react";
|
|
3318
|
+
import { jsx as jsx27, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
3229
3319
|
function SegmentBar({
|
|
3230
3320
|
segments,
|
|
3231
3321
|
value,
|
|
@@ -3234,9 +3324,9 @@ function SegmentBar({
|
|
|
3234
3324
|
className,
|
|
3235
3325
|
testId
|
|
3236
3326
|
}) {
|
|
3237
|
-
const containerRef =
|
|
3238
|
-
const buttonRefs =
|
|
3239
|
-
const [indicator, setIndicator] =
|
|
3327
|
+
const containerRef = useRef6(null);
|
|
3328
|
+
const buttonRefs = useRef6({});
|
|
3329
|
+
const [indicator, setIndicator] = useState9({
|
|
3240
3330
|
left: 0,
|
|
3241
3331
|
width: 0,
|
|
3242
3332
|
ready: false
|
|
@@ -3258,7 +3348,7 @@ function SegmentBar({
|
|
|
3258
3348
|
(current) => current.left === next.left && current.width === next.width && current.ready === next.ready ? current : next
|
|
3259
3349
|
);
|
|
3260
3350
|
}, [segments, value]);
|
|
3261
|
-
|
|
3351
|
+
useEffect7(() => {
|
|
3262
3352
|
const container = containerRef.current;
|
|
3263
3353
|
if (!container || typeof ResizeObserver === "undefined") {
|
|
3264
3354
|
return;
|
|
@@ -3299,7 +3389,7 @@ function SegmentBar({
|
|
|
3299
3389
|
ref: containerRef,
|
|
3300
3390
|
role: "tablist",
|
|
3301
3391
|
children: [
|
|
3302
|
-
indicator.ready ? /* @__PURE__ */
|
|
3392
|
+
indicator.ready ? /* @__PURE__ */ jsx27(
|
|
3303
3393
|
"span",
|
|
3304
3394
|
{
|
|
3305
3395
|
"aria-hidden": "true",
|
|
@@ -3310,7 +3400,7 @@ function SegmentBar({
|
|
|
3310
3400
|
) : null,
|
|
3311
3401
|
segments.map((segment) => {
|
|
3312
3402
|
const isActive = value === segment.value;
|
|
3313
|
-
return /* @__PURE__ */
|
|
3403
|
+
return /* @__PURE__ */ jsx27(
|
|
3314
3404
|
"button",
|
|
3315
3405
|
{
|
|
3316
3406
|
"aria-selected": isActive,
|
|
@@ -3340,9 +3430,9 @@ function SegmentBar({
|
|
|
3340
3430
|
}
|
|
3341
3431
|
|
|
3342
3432
|
// src/components/shortcut-badge/shortcut-badge.tsx
|
|
3343
|
-
import { jsx as
|
|
3433
|
+
import { jsx as jsx28 } from "react/jsx-runtime";
|
|
3344
3434
|
function ShortcutBadge({ className, ...props }) {
|
|
3345
|
-
return /* @__PURE__ */
|
|
3435
|
+
return /* @__PURE__ */ jsx28(
|
|
3346
3436
|
"kbd",
|
|
3347
3437
|
{
|
|
3348
3438
|
"data-slot": "shortcut-badge",
|
|
@@ -3358,7 +3448,7 @@ function ShortcutBadge({ className, ...props }) {
|
|
|
3358
3448
|
// src/components/slider/slider.tsx
|
|
3359
3449
|
import * as React10 from "react";
|
|
3360
3450
|
import { Slider as SliderPrimitive } from "radix-ui";
|
|
3361
|
-
import { jsx as
|
|
3451
|
+
import { jsx as jsx29, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3362
3452
|
function Slider({
|
|
3363
3453
|
"aria-label": ariaLabel,
|
|
3364
3454
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -3388,12 +3478,12 @@ function Slider({
|
|
|
3388
3478
|
),
|
|
3389
3479
|
...props,
|
|
3390
3480
|
children: [
|
|
3391
|
-
/* @__PURE__ */
|
|
3481
|
+
/* @__PURE__ */ jsx29(
|
|
3392
3482
|
SliderPrimitive.Track,
|
|
3393
3483
|
{
|
|
3394
3484
|
"data-slot": "slider-track",
|
|
3395
3485
|
className: "relative grow overflow-hidden rounded-full bg-[var(--transparency-block)] data-[orientation=horizontal]:h-1 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1",
|
|
3396
|
-
children: /* @__PURE__ */
|
|
3486
|
+
children: /* @__PURE__ */ jsx29(
|
|
3397
3487
|
SliderPrimitive.Range,
|
|
3398
3488
|
{
|
|
3399
3489
|
"data-slot": "slider-range",
|
|
@@ -3402,7 +3492,7 @@ function Slider({
|
|
|
3402
3492
|
)
|
|
3403
3493
|
}
|
|
3404
3494
|
),
|
|
3405
|
-
Array.from({ length: values.length }, (_, index) => /* @__PURE__ */
|
|
3495
|
+
Array.from({ length: values.length }, (_, index) => /* @__PURE__ */ jsx29(
|
|
3406
3496
|
SliderPrimitive.Thumb,
|
|
3407
3497
|
{
|
|
3408
3498
|
"aria-disabled": props.disabled || void 0,
|
|
@@ -3423,9 +3513,9 @@ import {
|
|
|
3423
3513
|
Toaster as SonnerToaster,
|
|
3424
3514
|
toast
|
|
3425
3515
|
} from "sonner";
|
|
3426
|
-
import { jsx as
|
|
3516
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
3427
3517
|
function Toaster({ toastOptions, style, ...props }) {
|
|
3428
|
-
return /* @__PURE__ */
|
|
3518
|
+
return /* @__PURE__ */ jsx30(
|
|
3429
3519
|
SonnerToaster,
|
|
3430
3520
|
{
|
|
3431
3521
|
closeButton: true,
|
|
@@ -3434,11 +3524,11 @@ function Toaster({ toastOptions, style, ...props }) {
|
|
|
3434
3524
|
position: "top-right",
|
|
3435
3525
|
visibleToasts: 4,
|
|
3436
3526
|
icons: {
|
|
3437
|
-
error: /* @__PURE__ */
|
|
3438
|
-
info: /* @__PURE__ */
|
|
3439
|
-
loading: /* @__PURE__ */
|
|
3440
|
-
success: /* @__PURE__ */
|
|
3441
|
-
warning: /* @__PURE__ */
|
|
3527
|
+
error: /* @__PURE__ */ jsx30(FailedFilledIcon, { className: "size-4" }),
|
|
3528
|
+
info: /* @__PURE__ */ jsx30(WarningLinedIcon, { className: "size-4" }),
|
|
3529
|
+
loading: /* @__PURE__ */ jsx30(LoadingIcon, { className: "size-4 animate-spin" }),
|
|
3530
|
+
success: /* @__PURE__ */ jsx30(SuccessFilledIcon, { className: "size-4" }),
|
|
3531
|
+
warning: /* @__PURE__ */ jsx30(WarningFilledIcon, { className: "size-4" })
|
|
3442
3532
|
},
|
|
3443
3533
|
style: {
|
|
3444
3534
|
"--normal-bg": "var(--background-fronted)",
|
|
@@ -3467,7 +3557,7 @@ function Toaster({ toastOptions, style, ...props }) {
|
|
|
3467
3557
|
}
|
|
3468
3558
|
|
|
3469
3559
|
// src/components/spinner/spinner.tsx
|
|
3470
|
-
import { jsx as
|
|
3560
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
3471
3561
|
function Spinner({
|
|
3472
3562
|
className,
|
|
3473
3563
|
size = 16,
|
|
@@ -3476,7 +3566,7 @@ function Spinner({
|
|
|
3476
3566
|
testId,
|
|
3477
3567
|
trackColor
|
|
3478
3568
|
}) {
|
|
3479
|
-
return /* @__PURE__ */
|
|
3569
|
+
return /* @__PURE__ */ jsx31(
|
|
3480
3570
|
LoadingIcon,
|
|
3481
3571
|
{
|
|
3482
3572
|
"data-slot": "spinner",
|
|
@@ -3564,7 +3654,7 @@ function useComposedRefs(...refs) {
|
|
|
3564
3654
|
}
|
|
3565
3655
|
|
|
3566
3656
|
// src/components/sortable/sortable.tsx
|
|
3567
|
-
import { jsx as
|
|
3657
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
3568
3658
|
var orientationConfig = {
|
|
3569
3659
|
vertical: {
|
|
3570
3660
|
modifiers: [restrictToVerticalAxis, restrictToParentElement],
|
|
@@ -3702,11 +3792,11 @@ function Sortable(props) {
|
|
|
3702
3792
|
flatCursor
|
|
3703
3793
|
]
|
|
3704
3794
|
);
|
|
3705
|
-
return /* @__PURE__ */
|
|
3795
|
+
return /* @__PURE__ */ jsx32(
|
|
3706
3796
|
SortableRootContext.Provider,
|
|
3707
3797
|
{
|
|
3708
3798
|
value: contextValue,
|
|
3709
|
-
children: /* @__PURE__ */
|
|
3799
|
+
children: /* @__PURE__ */ jsx32(
|
|
3710
3800
|
DndContext,
|
|
3711
3801
|
{
|
|
3712
3802
|
collisionDetection: collisionDetection ?? config.collisionDetection,
|
|
@@ -3735,12 +3825,12 @@ function SortableContent(props) {
|
|
|
3735
3825
|
} = props;
|
|
3736
3826
|
const context = useSortableContext(CONTENT_NAME);
|
|
3737
3827
|
const ContentPrimitive = asChild ? SlotPrimitive.Slot : "div";
|
|
3738
|
-
return /* @__PURE__ */
|
|
3828
|
+
return /* @__PURE__ */ jsx32(SortableContentContext.Provider, { value: true, children: /* @__PURE__ */ jsx32(
|
|
3739
3829
|
SortableContext,
|
|
3740
3830
|
{
|
|
3741
3831
|
items: context.items,
|
|
3742
3832
|
strategy: strategyProp ?? context.strategy,
|
|
3743
|
-
children: withoutSlot ? children : /* @__PURE__ */
|
|
3833
|
+
children: withoutSlot ? children : /* @__PURE__ */ jsx32(
|
|
3744
3834
|
ContentPrimitive,
|
|
3745
3835
|
{
|
|
3746
3836
|
"data-slot": "sortable-content",
|
|
@@ -3817,7 +3907,7 @@ function SortableItem(props) {
|
|
|
3817
3907
|
[id, attributes, listeners, setActivatorNodeRef, isDragging, disabled]
|
|
3818
3908
|
);
|
|
3819
3909
|
const ItemPrimitive = asChild ? SlotPrimitive.Slot : "div";
|
|
3820
|
-
return /* @__PURE__ */
|
|
3910
|
+
return /* @__PURE__ */ jsx32(SortableItemContext.Provider, { value: itemContext, children: /* @__PURE__ */ jsx32(
|
|
3821
3911
|
ItemPrimitive,
|
|
3822
3912
|
{
|
|
3823
3913
|
id,
|
|
@@ -3854,7 +3944,7 @@ function SortableItemHandle(props) {
|
|
|
3854
3944
|
itemContext.setActivatorNodeRef(node);
|
|
3855
3945
|
});
|
|
3856
3946
|
const HandlePrimitive = asChild ? SlotPrimitive.Slot : "button";
|
|
3857
|
-
return /* @__PURE__ */
|
|
3947
|
+
return /* @__PURE__ */ jsx32(
|
|
3858
3948
|
HandlePrimitive,
|
|
3859
3949
|
{
|
|
3860
3950
|
type: "button",
|
|
@@ -3913,14 +4003,14 @@ function SortableOverlay(props) {
|
|
|
3913
4003
|
const container = containerProp ?? (mounted ? globalThis.document?.body : null);
|
|
3914
4004
|
if (!container) return null;
|
|
3915
4005
|
return ReactDOM.createPortal(
|
|
3916
|
-
/* @__PURE__ */
|
|
4006
|
+
/* @__PURE__ */ jsx32(
|
|
3917
4007
|
DragOverlay,
|
|
3918
4008
|
{
|
|
3919
4009
|
modifiers: context.modifiers,
|
|
3920
4010
|
className: cn(!context.flatCursor && "cursor-grabbing"),
|
|
3921
4011
|
...overlayProps,
|
|
3922
4012
|
dropAnimation: prefersReducedMotion ? null : callerDropAnimation === void 0 ? defaultDropAnimation : callerDropAnimation,
|
|
3923
|
-
children: /* @__PURE__ */
|
|
4013
|
+
children: /* @__PURE__ */ jsx32(SortableOverlayContext.Provider, { value: true, children: context.activeId ? typeof children === "function" ? children({ value: context.activeId }) : children : null })
|
|
3924
4014
|
}
|
|
3925
4015
|
),
|
|
3926
4016
|
container
|
|
@@ -3929,7 +4019,7 @@ function SortableOverlay(props) {
|
|
|
3929
4019
|
|
|
3930
4020
|
// src/components/status-dot/status-dot.tsx
|
|
3931
4021
|
import { cva as cva4 } from "class-variance-authority";
|
|
3932
|
-
import { jsx as
|
|
4022
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
3933
4023
|
var statusDotVariants = cva4("inline-flex shrink-0 rounded-full", {
|
|
3934
4024
|
variants: {
|
|
3935
4025
|
tone: {
|
|
@@ -3963,7 +4053,7 @@ function StatusDot({
|
|
|
3963
4053
|
title,
|
|
3964
4054
|
className
|
|
3965
4055
|
}) {
|
|
3966
|
-
return /* @__PURE__ */
|
|
4056
|
+
return /* @__PURE__ */ jsx33(
|
|
3967
4057
|
"span",
|
|
3968
4058
|
{
|
|
3969
4059
|
"aria-hidden": ariaLabel ? void 0 : true,
|
|
@@ -3981,7 +4071,7 @@ function StatusDot({
|
|
|
3981
4071
|
|
|
3982
4072
|
// src/components/switch/switch.tsx
|
|
3983
4073
|
import { Switch as SwitchPrimitive } from "radix-ui";
|
|
3984
|
-
import { jsx as
|
|
4074
|
+
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
3985
4075
|
function Switch({
|
|
3986
4076
|
className,
|
|
3987
4077
|
disabled,
|
|
@@ -3989,7 +4079,7 @@ function Switch({
|
|
|
3989
4079
|
size = "default",
|
|
3990
4080
|
...props
|
|
3991
4081
|
}) {
|
|
3992
|
-
return /* @__PURE__ */
|
|
4082
|
+
return /* @__PURE__ */ jsx34(
|
|
3993
4083
|
SwitchPrimitive.Root,
|
|
3994
4084
|
{
|
|
3995
4085
|
"data-slot": "switch",
|
|
@@ -4002,12 +4092,12 @@ function Switch({
|
|
|
4002
4092
|
className
|
|
4003
4093
|
),
|
|
4004
4094
|
...props,
|
|
4005
|
-
children: /* @__PURE__ */
|
|
4095
|
+
children: /* @__PURE__ */ jsx34(
|
|
4006
4096
|
SwitchPrimitive.Thumb,
|
|
4007
4097
|
{
|
|
4008
4098
|
"data-slot": "switch-thumb",
|
|
4009
4099
|
className: "pointer-events-none inline-flex items-center justify-center rounded-full bg-[var(--white-stationary)] ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[14px] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[10px] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0",
|
|
4010
|
-
children: loading ? /* @__PURE__ */
|
|
4100
|
+
children: loading ? /* @__PURE__ */ jsx34(
|
|
4011
4101
|
LoadingIcon,
|
|
4012
4102
|
{
|
|
4013
4103
|
"aria-hidden": "true",
|
|
@@ -4021,9 +4111,9 @@ function Switch({
|
|
|
4021
4111
|
}
|
|
4022
4112
|
|
|
4023
4113
|
// src/components/textarea/textarea.tsx
|
|
4024
|
-
import { jsx as
|
|
4114
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
4025
4115
|
function Textarea({ className, ...props }) {
|
|
4026
|
-
return /* @__PURE__ */
|
|
4116
|
+
return /* @__PURE__ */ jsx35(
|
|
4027
4117
|
"textarea",
|
|
4028
4118
|
{
|
|
4029
4119
|
"data-slot": "textarea",
|
|
@@ -4040,13 +4130,13 @@ function Textarea({ className, ...props }) {
|
|
|
4040
4130
|
import * as React13 from "react";
|
|
4041
4131
|
import { Toast as ToastPrimitive } from "radix-ui";
|
|
4042
4132
|
import { cva as cva5 } from "class-variance-authority";
|
|
4043
|
-
import { jsx as
|
|
4133
|
+
import { jsx as jsx36, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
4044
4134
|
var toastDefaultDurationMs = 3e3;
|
|
4045
4135
|
function ToastProvider({
|
|
4046
4136
|
duration = toastDefaultDurationMs,
|
|
4047
4137
|
...props
|
|
4048
4138
|
}) {
|
|
4049
|
-
return /* @__PURE__ */
|
|
4139
|
+
return /* @__PURE__ */ jsx36(ToastPrimitive.Provider, { duration, ...props });
|
|
4050
4140
|
}
|
|
4051
4141
|
var ToastVisualContext = React13.createContext(null);
|
|
4052
4142
|
var toastStatusIconByVariant = {
|
|
@@ -4104,7 +4194,7 @@ function ToastRoot({
|
|
|
4104
4194
|
...props
|
|
4105
4195
|
}) {
|
|
4106
4196
|
const isDestructive = variant === "destructive";
|
|
4107
|
-
return /* @__PURE__ */
|
|
4197
|
+
return /* @__PURE__ */ jsx36(
|
|
4108
4198
|
ToastPrimitive.Root,
|
|
4109
4199
|
{
|
|
4110
4200
|
"aria-busy": busy,
|
|
@@ -4121,7 +4211,7 @@ function ToastRoot({
|
|
|
4121
4211
|
...style
|
|
4122
4212
|
},
|
|
4123
4213
|
...props,
|
|
4124
|
-
children: /* @__PURE__ */
|
|
4214
|
+
children: /* @__PURE__ */ jsx36(ToastVisualContext.Provider, { value: { busy, variant }, children: /* @__PURE__ */ jsx36("span", { className: "flex min-w-0 max-w-full flex-col items-center justify-center whitespace-normal break-words text-center", children }) })
|
|
4125
4215
|
}
|
|
4126
4216
|
);
|
|
4127
4217
|
}
|
|
@@ -4142,7 +4232,7 @@ function ToastTitle({
|
|
|
4142
4232
|
),
|
|
4143
4233
|
...props,
|
|
4144
4234
|
children: [
|
|
4145
|
-
toastVisual?.busy ? /* @__PURE__ */
|
|
4235
|
+
toastVisual?.busy ? /* @__PURE__ */ jsx36(
|
|
4146
4236
|
Spinner,
|
|
4147
4237
|
{
|
|
4148
4238
|
className: "shrink-0 text-current",
|
|
@@ -4150,8 +4240,8 @@ function ToastTitle({
|
|
|
4150
4240
|
strokeWidth: 2,
|
|
4151
4241
|
trackColor: "color-mix(in srgb, currentColor 28%, transparent)"
|
|
4152
4242
|
}
|
|
4153
|
-
) : StatusIcon ? /* @__PURE__ */
|
|
4154
|
-
/* @__PURE__ */
|
|
4243
|
+
) : StatusIcon ? /* @__PURE__ */ jsx36(StatusIcon, { className: "size-4 shrink-0 text-current" }) : null,
|
|
4244
|
+
/* @__PURE__ */ jsx36("span", { className: "min-w-0 break-words", children: formatToastText(children) })
|
|
4155
4245
|
]
|
|
4156
4246
|
}
|
|
4157
4247
|
);
|
|
@@ -4160,7 +4250,7 @@ function ToastDescription({
|
|
|
4160
4250
|
className,
|
|
4161
4251
|
...props
|
|
4162
4252
|
}) {
|
|
4163
|
-
return /* @__PURE__ */
|
|
4253
|
+
return /* @__PURE__ */ jsx36(
|
|
4164
4254
|
ToastPrimitive.Description,
|
|
4165
4255
|
{
|
|
4166
4256
|
"data-slot": "toast-description",
|
|
@@ -4176,7 +4266,7 @@ function ToastClose({
|
|
|
4176
4266
|
className,
|
|
4177
4267
|
...props
|
|
4178
4268
|
}) {
|
|
4179
|
-
return /* @__PURE__ */
|
|
4269
|
+
return /* @__PURE__ */ jsx36(
|
|
4180
4270
|
ToastPrimitive.Close,
|
|
4181
4271
|
{
|
|
4182
4272
|
"data-slot": "toast-close",
|
|
@@ -4185,7 +4275,7 @@ function ToastClose({
|
|
|
4185
4275
|
className
|
|
4186
4276
|
),
|
|
4187
4277
|
...props,
|
|
4188
|
-
children: /* @__PURE__ */
|
|
4278
|
+
children: /* @__PURE__ */ jsx36(CloseIcon, { className: "size-4" })
|
|
4189
4279
|
}
|
|
4190
4280
|
);
|
|
4191
4281
|
}
|
|
@@ -4194,7 +4284,7 @@ function ToastViewport({
|
|
|
4194
4284
|
style,
|
|
4195
4285
|
...props
|
|
4196
4286
|
}) {
|
|
4197
|
-
return /* @__PURE__ */
|
|
4287
|
+
return /* @__PURE__ */ jsx36(
|
|
4198
4288
|
ToastPrimitive.Viewport,
|
|
4199
4289
|
{
|
|
4200
4290
|
"data-slot": "toast-viewport",
|
|
@@ -4209,8 +4299,8 @@ function ToastViewport({
|
|
|
4209
4299
|
}
|
|
4210
4300
|
|
|
4211
4301
|
// src/components/underline-tabs/underline-tabs.tsx
|
|
4212
|
-
import { useEffect as
|
|
4213
|
-
import { jsx as
|
|
4302
|
+
import { useEffect as useEffect9, useLayoutEffect as useLayoutEffect4, useRef as useRef7, useState as useState11 } from "react";
|
|
4303
|
+
import { jsx as jsx37, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
4214
4304
|
function UnderlineTabs({
|
|
4215
4305
|
tabs,
|
|
4216
4306
|
value,
|
|
@@ -4225,11 +4315,11 @@ function UnderlineTabs({
|
|
|
4225
4315
|
scrollRightTestId,
|
|
4226
4316
|
preventMouseDownDefault = false
|
|
4227
4317
|
}) {
|
|
4228
|
-
const viewportRef =
|
|
4229
|
-
const rowRef =
|
|
4230
|
-
const buttonRefs =
|
|
4231
|
-
const [indicatorStyle, setIndicatorStyle] =
|
|
4232
|
-
const [overflow, setOverflow] =
|
|
4318
|
+
const viewportRef = useRef7(null);
|
|
4319
|
+
const rowRef = useRef7(null);
|
|
4320
|
+
const buttonRefs = useRef7({});
|
|
4321
|
+
const [indicatorStyle, setIndicatorStyle] = useState11({ left: 0, width: 0 });
|
|
4322
|
+
const [overflow, setOverflow] = useState11({
|
|
4233
4323
|
canScrollLeft: false,
|
|
4234
4324
|
canScrollRight: false
|
|
4235
4325
|
});
|
|
@@ -4250,7 +4340,7 @@ function UnderlineTabs({
|
|
|
4250
4340
|
(current) => current.left === nextStyle.left && current.width === nextStyle.width ? current : nextStyle
|
|
4251
4341
|
);
|
|
4252
4342
|
}, [tabs, value]);
|
|
4253
|
-
|
|
4343
|
+
useEffect9(() => {
|
|
4254
4344
|
const viewport = viewportRef.current;
|
|
4255
4345
|
if (!viewport) {
|
|
4256
4346
|
return;
|
|
@@ -4305,7 +4395,7 @@ function UnderlineTabs({
|
|
|
4305
4395
|
"data-testid": testId,
|
|
4306
4396
|
role: "tablist",
|
|
4307
4397
|
children: [
|
|
4308
|
-
/* @__PURE__ */
|
|
4398
|
+
/* @__PURE__ */ jsx37(
|
|
4309
4399
|
"div",
|
|
4310
4400
|
{
|
|
4311
4401
|
ref: viewportRef,
|
|
@@ -4350,14 +4440,14 @@ function UnderlineTabs({
|
|
|
4350
4440
|
onClick: () => onValueChange(tab.value),
|
|
4351
4441
|
onMouseDown: preventMouseDownDefault ? (event) => event.preventDefault() : void 0,
|
|
4352
4442
|
children: [
|
|
4353
|
-
/* @__PURE__ */
|
|
4354
|
-
tab.count !== void 0 ? /* @__PURE__ */
|
|
4443
|
+
/* @__PURE__ */ jsx37("span", { children: tab.label }),
|
|
4444
|
+
tab.count !== void 0 ? /* @__PURE__ */ jsx37("span", { className: "text-[11px] font-medium leading-6 text-[inherit]", children: tab.count }) : null
|
|
4355
4445
|
]
|
|
4356
4446
|
},
|
|
4357
4447
|
tab.value
|
|
4358
4448
|
);
|
|
4359
4449
|
}),
|
|
4360
|
-
/* @__PURE__ */
|
|
4450
|
+
/* @__PURE__ */ jsx37(
|
|
4361
4451
|
"div",
|
|
4362
4452
|
{
|
|
4363
4453
|
"aria-hidden": true,
|
|
@@ -4374,7 +4464,7 @@ function UnderlineTabs({
|
|
|
4374
4464
|
)
|
|
4375
4465
|
}
|
|
4376
4466
|
),
|
|
4377
|
-
/* @__PURE__ */
|
|
4467
|
+
/* @__PURE__ */ jsx37(
|
|
4378
4468
|
"button",
|
|
4379
4469
|
{
|
|
4380
4470
|
"aria-label": scrollLeftLabel,
|
|
@@ -4385,10 +4475,10 @@ function UnderlineTabs({
|
|
|
4385
4475
|
disabled: !overflow.canScrollLeft,
|
|
4386
4476
|
type: "button",
|
|
4387
4477
|
onClick: () => scrollTabs("left"),
|
|
4388
|
-
children: /* @__PURE__ */
|
|
4478
|
+
children: /* @__PURE__ */ jsx37(ArrowLeftIcon, { size: 16 })
|
|
4389
4479
|
}
|
|
4390
4480
|
),
|
|
4391
|
-
/* @__PURE__ */
|
|
4481
|
+
/* @__PURE__ */ jsx37(
|
|
4392
4482
|
"button",
|
|
4393
4483
|
{
|
|
4394
4484
|
"aria-label": scrollRightLabel,
|
|
@@ -4399,7 +4489,7 @@ function UnderlineTabs({
|
|
|
4399
4489
|
disabled: !overflow.canScrollRight,
|
|
4400
4490
|
type: "button",
|
|
4401
4491
|
onClick: () => scrollTabs("right"),
|
|
4402
|
-
children: /* @__PURE__ */
|
|
4492
|
+
children: /* @__PURE__ */ jsx37(ArrowRightIcon, { size: 16 })
|
|
4403
4493
|
}
|
|
4404
4494
|
)
|
|
4405
4495
|
]
|
|
@@ -4410,7 +4500,7 @@ function UnderlineTabs({
|
|
|
4410
4500
|
// src/components/viewport-menu-surface/viewport-menu-surface.tsx
|
|
4411
4501
|
import * as React14 from "react";
|
|
4412
4502
|
import { createPortal as createPortal3 } from "react-dom";
|
|
4413
|
-
import { jsx as
|
|
4503
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
4414
4504
|
var VIEWPORT_MENU_PADDING = 12;
|
|
4415
4505
|
var MENU_BOUNDARY_PADDING = 8;
|
|
4416
4506
|
function clampMenuCoordinate(origin, size, viewportExtent, padding) {
|
|
@@ -4680,7 +4770,7 @@ var ViewportMenuSurface = React14.forwardRef(function ViewportMenuSurface2({
|
|
|
4680
4770
|
}
|
|
4681
4771
|
const portalTarget = resolvedPlacement.portalTarget ?? document.body;
|
|
4682
4772
|
return createPortal3(
|
|
4683
|
-
/* @__PURE__ */
|
|
4773
|
+
/* @__PURE__ */ jsx38(
|
|
4684
4774
|
MenuSurface,
|
|
4685
4775
|
{
|
|
4686
4776
|
...rest,
|
|
@@ -4786,6 +4876,7 @@ export {
|
|
|
4786
4876
|
DropdownMenuSub,
|
|
4787
4877
|
DropdownMenuSubTrigger,
|
|
4788
4878
|
DropdownMenuSubContent,
|
|
4879
|
+
ImageWithFallback,
|
|
4789
4880
|
TooltipProvider,
|
|
4790
4881
|
Tooltip,
|
|
4791
4882
|
TooltipTrigger,
|
|
@@ -4842,4 +4933,4 @@ export {
|
|
|
4842
4933
|
UnderlineTabs,
|
|
4843
4934
|
ViewportMenuSurface
|
|
4844
4935
|
};
|
|
4845
|
-
//# sourceMappingURL=chunk-
|
|
4936
|
+
//# sourceMappingURL=chunk-V2BIMM2U.js.map
|