atomos_next_genesis 0.0.6 → 0.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +340 -318
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +22 -37
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +8 -30
- package/dist/index.d.ts +8 -30
- package/dist/index.js +308 -285
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -192,7 +192,8 @@ var Avatar = forwardRef((props, ref) => {
|
|
|
192
192
|
"relative -z-10 ",
|
|
193
193
|
rounded && "rounded-full",
|
|
194
194
|
border && "border border-gray-200",
|
|
195
|
-
disabled && "opacity-50 pointer-events-none select-none"
|
|
195
|
+
disabled && "opacity-50 pointer-events-none select-none",
|
|
196
|
+
onClick && "cursor-pointer"
|
|
196
197
|
),
|
|
197
198
|
style: {
|
|
198
199
|
borderColor,
|
|
@@ -556,7 +557,7 @@ var Callout_default = Callout;
|
|
|
556
557
|
|
|
557
558
|
// app/components/Card.tsx
|
|
558
559
|
import React7 from "react";
|
|
559
|
-
function
|
|
560
|
+
function Card({ children, className }) {
|
|
560
561
|
return /* @__PURE__ */ React7.createElement("div", { className: cn("bg-white rounded-lg border border-gray-200 shadow-sm", className) }, children);
|
|
561
562
|
}
|
|
562
563
|
var CardHeader = ({ children, className }) => {
|
|
@@ -912,7 +913,7 @@ var Input = forwardRef4(
|
|
|
912
913
|
"div",
|
|
913
914
|
{
|
|
914
915
|
className: cn(
|
|
915
|
-
"group flex items-center gap-2 p-3.5 border border-gray-200 rounded-lg bg-white shadow-[0px_1px_2px_0px_#1018280D] hover:bg-gray-50 hover:border-gray-300 focus-within:border-
|
|
916
|
+
"group flex items-center gap-2 p-3.5 border border-gray-200 rounded-lg bg-white shadow-[0px_1px_2px_0px_#1018280D] hover:bg-gray-50 hover:border-gray-300 focus-within:border-primary-600 focus-within:bg-gray-25 focus-within:hover:bg-gray-50 focus-within:hover:border-primary-600 has-[:disabled]:opacity-30 has-[:disabled]:bg-gray-300 has-[:disabled]:select-none has-[:disabled]:pointer-events-none",
|
|
916
917
|
size === "sm" ? "w-[320px] h-10" : size === "lg" ? "w-[313px] h-11" : "w-full h-10",
|
|
917
918
|
error && "border-error-500 hover:border-error-600 focus-within:border-error-500 focus-within:hover:border-error-500",
|
|
918
919
|
className
|
|
@@ -2179,50 +2180,8 @@ var HelperText = ({ children, className, size, error }) => {
|
|
|
2179
2180
|
};
|
|
2180
2181
|
var HelperText_default = HelperText;
|
|
2181
2182
|
|
|
2182
|
-
// app/components/ListItem.tsx
|
|
2183
|
-
import Link from "next/link";
|
|
2184
|
-
import React23 from "react";
|
|
2185
|
-
var ListItem = React23.forwardRef(({ className, title, href, onClick, as = "link", icon }, ref) => {
|
|
2186
|
-
const commonClasses = cn(
|
|
2187
|
-
"px-4 py-[8px] w-full flex items-center gap-2 focus:outline-none focus:ring-2 focus:ring-primary-600 focus-visible:ring-2 rounded",
|
|
2188
|
-
className
|
|
2189
|
-
);
|
|
2190
|
-
if (as === "button") {
|
|
2191
|
-
return /* @__PURE__ */ React23.createElement(
|
|
2192
|
-
"button",
|
|
2193
|
-
{
|
|
2194
|
-
className: commonClasses,
|
|
2195
|
-
onClick,
|
|
2196
|
-
ref,
|
|
2197
|
-
type: "button",
|
|
2198
|
-
role: "menuitem"
|
|
2199
|
-
},
|
|
2200
|
-
/* @__PURE__ */ React23.createElement("span", { className: "text-base font-normal" }, title),
|
|
2201
|
-
icon && /* @__PURE__ */ React23.createElement("span", { className: "flex-shrink-0", "aria-hidden": "true" }, icon)
|
|
2202
|
-
);
|
|
2203
|
-
}
|
|
2204
|
-
return /* @__PURE__ */ React23.createElement(
|
|
2205
|
-
Link,
|
|
2206
|
-
{
|
|
2207
|
-
href: href ?? "",
|
|
2208
|
-
className: commonClasses,
|
|
2209
|
-
ref,
|
|
2210
|
-
role: "menuitem",
|
|
2211
|
-
onClick: (e) => {
|
|
2212
|
-
if (!href) {
|
|
2213
|
-
e.preventDefault();
|
|
2214
|
-
}
|
|
2215
|
-
}
|
|
2216
|
-
},
|
|
2217
|
-
/* @__PURE__ */ React23.createElement("span", { className: "text-base font-normal" }, title),
|
|
2218
|
-
icon && /* @__PURE__ */ React23.createElement("span", { className: "flex-shrink-0", "aria-hidden": "true" }, icon)
|
|
2219
|
-
);
|
|
2220
|
-
});
|
|
2221
|
-
ListItem.displayName = "ListItem";
|
|
2222
|
-
var ListItem_default = ListItem;
|
|
2223
|
-
|
|
2224
2183
|
// app/components/ListPagination.tsx
|
|
2225
|
-
import
|
|
2184
|
+
import React23, { useState as useState6 } from "react";
|
|
2226
2185
|
import { RiArrowLeftSLine, RiArrowRightSLine } from "@remixicon/react";
|
|
2227
2186
|
var ListPagination = ({
|
|
2228
2187
|
count,
|
|
@@ -2235,7 +2194,7 @@ var ListPagination = ({
|
|
|
2235
2194
|
const [expanded, setExpanded] = useState6(false);
|
|
2236
2195
|
const renderPages = () => {
|
|
2237
2196
|
if (totalPages <= 6 || expanded) {
|
|
2238
|
-
return [...Array(totalPages)].map((_, i) => /* @__PURE__ */
|
|
2197
|
+
return [...Array(totalPages)].map((_, i) => /* @__PURE__ */ React23.createElement(PageBtn, { key: i, i, page, onPageChange }));
|
|
2239
2198
|
}
|
|
2240
2199
|
const start = [0, 1];
|
|
2241
2200
|
const mid = [page - 1, page, page + 1].filter(
|
|
@@ -2244,7 +2203,7 @@ var ListPagination = ({
|
|
|
2244
2203
|
const end = [totalPages - 2, totalPages - 1];
|
|
2245
2204
|
const range = Array.from(/* @__PURE__ */ new Set([...start, ...mid, ...end]));
|
|
2246
2205
|
return range.map(
|
|
2247
|
-
(i, idx) => typeof range[idx - 1] === "number" && i - range[idx - 1] > 1 ? /* @__PURE__ */
|
|
2206
|
+
(i, idx) => typeof range[idx - 1] === "number" && i - range[idx - 1] > 1 ? /* @__PURE__ */ React23.createElement(
|
|
2248
2207
|
Button_default,
|
|
2249
2208
|
{
|
|
2250
2209
|
key: `dots-${i}`,
|
|
@@ -2253,20 +2212,20 @@ var ListPagination = ({
|
|
|
2253
2212
|
onClick: () => setExpanded(true)
|
|
2254
2213
|
},
|
|
2255
2214
|
"..."
|
|
2256
|
-
) : /* @__PURE__ */
|
|
2215
|
+
) : /* @__PURE__ */ React23.createElement(PageBtn, { key: i, i, page, onPageChange })
|
|
2257
2216
|
);
|
|
2258
2217
|
};
|
|
2259
|
-
return /* @__PURE__ */
|
|
2218
|
+
return /* @__PURE__ */ React23.createElement("section", { className: cn("flex items-center gap-1", className) }, /* @__PURE__ */ React23.createElement(
|
|
2260
2219
|
NavBtn,
|
|
2261
2220
|
{
|
|
2262
|
-
icon: /* @__PURE__ */
|
|
2221
|
+
icon: /* @__PURE__ */ React23.createElement(RiArrowLeftSLine, { size: 22 }),
|
|
2263
2222
|
onClick: () => onPageChange(page - 1),
|
|
2264
2223
|
disabled: page === 0
|
|
2265
2224
|
}
|
|
2266
|
-
), /* @__PURE__ */
|
|
2225
|
+
), /* @__PURE__ */ React23.createElement("div", { className: "max-w-[90vw] w-max overflow-auto flex items-center gap-2 p-2" }, renderPages()), /* @__PURE__ */ React23.createElement(
|
|
2267
2226
|
NavBtn,
|
|
2268
2227
|
{
|
|
2269
|
-
icon: /* @__PURE__ */
|
|
2228
|
+
icon: /* @__PURE__ */ React23.createElement(RiArrowRightSLine, { size: 22 }),
|
|
2270
2229
|
onClick: () => onPageChange(page + 1),
|
|
2271
2230
|
disabled: page === totalPages - 1
|
|
2272
2231
|
}
|
|
@@ -2276,7 +2235,7 @@ var PageBtn = ({
|
|
|
2276
2235
|
i,
|
|
2277
2236
|
page,
|
|
2278
2237
|
onPageChange
|
|
2279
|
-
}) => /* @__PURE__ */
|
|
2238
|
+
}) => /* @__PURE__ */ React23.createElement(
|
|
2280
2239
|
Button_default,
|
|
2281
2240
|
{
|
|
2282
2241
|
size: "sm",
|
|
@@ -2292,7 +2251,7 @@ var NavBtn = ({
|
|
|
2292
2251
|
icon,
|
|
2293
2252
|
onClick,
|
|
2294
2253
|
disabled
|
|
2295
|
-
}) => /* @__PURE__ */
|
|
2254
|
+
}) => /* @__PURE__ */ React23.createElement(
|
|
2296
2255
|
Button_default,
|
|
2297
2256
|
{
|
|
2298
2257
|
size: "sm",
|
|
@@ -2306,9 +2265,9 @@ var NavBtn = ({
|
|
|
2306
2265
|
var ListPagination_default = ListPagination;
|
|
2307
2266
|
|
|
2308
2267
|
// app/components/Loading.tsx
|
|
2309
|
-
import
|
|
2268
|
+
import React24 from "react";
|
|
2310
2269
|
var Loading = ({ width, height, loaderColor, variant }) => {
|
|
2311
|
-
return /* @__PURE__ */
|
|
2270
|
+
return /* @__PURE__ */ React24.createElement(
|
|
2312
2271
|
"div",
|
|
2313
2272
|
{
|
|
2314
2273
|
className: cn(
|
|
@@ -2327,7 +2286,7 @@ var Loading = ({ width, height, loaderColor, variant }) => {
|
|
|
2327
2286
|
var Loading_default = Loading;
|
|
2328
2287
|
|
|
2329
2288
|
// app/components/Modal.tsx
|
|
2330
|
-
import
|
|
2289
|
+
import React25, { useEffect as useEffect7 } from "react";
|
|
2331
2290
|
import { RiCloseLine as RiCloseLine2 } from "@remixicon/react";
|
|
2332
2291
|
function Modal({
|
|
2333
2292
|
children,
|
|
@@ -2353,13 +2312,13 @@ function Modal({
|
|
|
2353
2312
|
setShowModal(false);
|
|
2354
2313
|
}
|
|
2355
2314
|
};
|
|
2356
|
-
return /* @__PURE__ */
|
|
2315
|
+
return /* @__PURE__ */ React25.createElement(React25.Fragment, null, showModal && /* @__PURE__ */ React25.createElement(
|
|
2357
2316
|
"div",
|
|
2358
2317
|
{
|
|
2359
2318
|
onClick: handleClickOutside,
|
|
2360
2319
|
className: "w-full h-full bg-backdrop bg-blend-overlay fixed top-0 bottom-0 left-0 right-0 flex justify-center items-center z-[1000000] overflow-hidden"
|
|
2361
2320
|
},
|
|
2362
|
-
/* @__PURE__ */
|
|
2321
|
+
/* @__PURE__ */ React25.createElement(
|
|
2363
2322
|
"div",
|
|
2364
2323
|
{
|
|
2365
2324
|
style: { width },
|
|
@@ -2368,14 +2327,14 @@ function Modal({
|
|
|
2368
2327
|
className
|
|
2369
2328
|
)
|
|
2370
2329
|
},
|
|
2371
|
-
/* @__PURE__ */
|
|
2372
|
-
closeModal && /* @__PURE__ */
|
|
2330
|
+
/* @__PURE__ */ React25.createElement("div", null, children),
|
|
2331
|
+
closeModal && /* @__PURE__ */ React25.createElement(
|
|
2373
2332
|
"div",
|
|
2374
2333
|
{
|
|
2375
2334
|
className: "absolute top-4 ml-5 right-5 z-10 shadow-backdrop rounded-md cursor-pointer hover:bg-gray-100",
|
|
2376
2335
|
onClick: () => setShowModal(false)
|
|
2377
2336
|
},
|
|
2378
|
-
/* @__PURE__ */
|
|
2337
|
+
/* @__PURE__ */ React25.createElement(RiCloseLine2, { size: 24 })
|
|
2379
2338
|
)
|
|
2380
2339
|
)
|
|
2381
2340
|
));
|
|
@@ -2383,11 +2342,11 @@ function Modal({
|
|
|
2383
2342
|
|
|
2384
2343
|
// app/components/Notice.tsx
|
|
2385
2344
|
import { cva as cva6 } from "class-variance-authority";
|
|
2386
|
-
import
|
|
2345
|
+
import React26 from "react";
|
|
2387
2346
|
import {
|
|
2388
2347
|
RiAlertFill,
|
|
2389
2348
|
RiCloseLine as RiCloseLine3,
|
|
2390
|
-
RiErrorWarningLine
|
|
2349
|
+
RiErrorWarningLine,
|
|
2391
2350
|
RiQuestionLine,
|
|
2392
2351
|
RiThumbUpLine,
|
|
2393
2352
|
RiShieldCheckLine
|
|
@@ -2395,15 +2354,15 @@ import {
|
|
|
2395
2354
|
var VariantIcon = ({ variant }) => {
|
|
2396
2355
|
switch (variant) {
|
|
2397
2356
|
case "success":
|
|
2398
|
-
return /* @__PURE__ */
|
|
2357
|
+
return /* @__PURE__ */ React26.createElement("span", null, /* @__PURE__ */ React26.createElement(RiThumbUpLine, { size: 20, color: "#039855" }));
|
|
2399
2358
|
case "warning":
|
|
2400
|
-
return /* @__PURE__ */
|
|
2359
|
+
return /* @__PURE__ */ React26.createElement("span", null, /* @__PURE__ */ React26.createElement(RiQuestionLine, { color: "#F79009", size: 20 }));
|
|
2401
2360
|
case "info":
|
|
2402
|
-
return /* @__PURE__ */
|
|
2361
|
+
return /* @__PURE__ */ React26.createElement("span", null, /* @__PURE__ */ React26.createElement(RiErrorWarningLine, { color: "#1570EF", size: 20 }));
|
|
2403
2362
|
case "error":
|
|
2404
|
-
return /* @__PURE__ */
|
|
2363
|
+
return /* @__PURE__ */ React26.createElement("span", null, /* @__PURE__ */ React26.createElement(RiAlertFill, { color: "#F04438", size: 20 }));
|
|
2405
2364
|
default:
|
|
2406
|
-
return /* @__PURE__ */
|
|
2365
|
+
return /* @__PURE__ */ React26.createElement("span", null, /* @__PURE__ */ React26.createElement(RiShieldCheckLine, { color: "#475467", size: 20 }));
|
|
2407
2366
|
}
|
|
2408
2367
|
};
|
|
2409
2368
|
var noticeVariants = cva6("p-4 w-fit rounded-[6px]", {
|
|
@@ -2432,7 +2391,7 @@ var Notice = ({
|
|
|
2432
2391
|
showIcon = true
|
|
2433
2392
|
}) => {
|
|
2434
2393
|
const handleClose = () => setOpen(false);
|
|
2435
|
-
return /* @__PURE__ */
|
|
2394
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, open && /* @__PURE__ */ React26.createElement(
|
|
2436
2395
|
"div",
|
|
2437
2396
|
{
|
|
2438
2397
|
className: cn(
|
|
@@ -2443,27 +2402,27 @@ var Notice = ({
|
|
|
2443
2402
|
position === "center" && open && `animate-fade-in`
|
|
2444
2403
|
)
|
|
2445
2404
|
},
|
|
2446
|
-
/* @__PURE__ */
|
|
2405
|
+
/* @__PURE__ */ React26.createElement("div", { className: "relative" }, showIcon ? noticeTitle == "" ? /* @__PURE__ */ React26.createElement("div", { className: "flex items-start" }, /* @__PURE__ */ React26.createElement(VariantIcon, { variant }), /* @__PURE__ */ React26.createElement("span", { className: "ml-2 mr-8 text-text-sm" }, children), /* @__PURE__ */ React26.createElement("span", { onClick: handleClose }, /* @__PURE__ */ React26.createElement(RiCloseLine3, { size: 20 }))) : /* @__PURE__ */ React26.createElement("div", { className: "" }, /* @__PURE__ */ React26.createElement("section", { className: "flex items-start" }, /* @__PURE__ */ React26.createElement(VariantIcon, { variant }), /* @__PURE__ */ React26.createElement("div", { className: "ml-2 mr-8 -mt-[3px]" }, /* @__PURE__ */ React26.createElement("span", { className: "font-bold text-gray-800 mb-1" }, noticeTitle), /* @__PURE__ */ React26.createElement("p", { className: "text-text-sm text-gray-700" }, children))), /* @__PURE__ */ React26.createElement(
|
|
2447
2406
|
"span",
|
|
2448
2407
|
{
|
|
2449
2408
|
className: cn("absolute top-0 right-0 cursor-pointer"),
|
|
2450
2409
|
onClick: handleClose
|
|
2451
2410
|
},
|
|
2452
|
-
/* @__PURE__ */
|
|
2453
|
-
)) : /* @__PURE__ */
|
|
2411
|
+
/* @__PURE__ */ React26.createElement(RiCloseLine3, { size: 20 })
|
|
2412
|
+
)) : /* @__PURE__ */ React26.createElement("div", { className: "mr-8" }, /* @__PURE__ */ React26.createElement("section", { className: "flex items-center" }, /* @__PURE__ */ React26.createElement("p", { className: "font-bold text-gray-800 mb-1" }, noticeTitle)), /* @__PURE__ */ React26.createElement(
|
|
2454
2413
|
"span",
|
|
2455
2414
|
{
|
|
2456
2415
|
className: cn("absolute top-0 right-0 cursor-pointer"),
|
|
2457
2416
|
onClick: handleClose
|
|
2458
2417
|
},
|
|
2459
|
-
/* @__PURE__ */
|
|
2460
|
-
), /* @__PURE__ */
|
|
2418
|
+
/* @__PURE__ */ React26.createElement(RiCloseLine3, { size: 20 })
|
|
2419
|
+
), /* @__PURE__ */ React26.createElement("p", { className: "text-text-sm" }, children)))
|
|
2461
2420
|
));
|
|
2462
2421
|
};
|
|
2463
2422
|
var Notice_default = Notice;
|
|
2464
2423
|
|
|
2465
2424
|
// app/components/OTPInput.tsx
|
|
2466
|
-
import
|
|
2425
|
+
import React27, { useRef as useRef6, useState as useState7 } from "react";
|
|
2467
2426
|
var OTPInput = ({
|
|
2468
2427
|
length,
|
|
2469
2428
|
onChange,
|
|
@@ -2509,7 +2468,7 @@ var OTPInput = ({
|
|
|
2509
2468
|
onChange(newOtp.join(""));
|
|
2510
2469
|
(_a = inputsRef.current[Math.min(pasteData.length, length - 1)]) == null ? void 0 : _a.focus();
|
|
2511
2470
|
};
|
|
2512
|
-
return /* @__PURE__ */
|
|
2471
|
+
return /* @__PURE__ */ React27.createElement("div", { className: "flex items-center gap-2" }, Array.from({ length }).map((_, idx) => /* @__PURE__ */ React27.createElement(
|
|
2513
2472
|
Input_default,
|
|
2514
2473
|
{
|
|
2515
2474
|
key: idx,
|
|
@@ -2530,7 +2489,7 @@ var OTPInput = ({
|
|
|
2530
2489
|
var OTPInput_default = OTPInput;
|
|
2531
2490
|
|
|
2532
2491
|
// app/components/Pagination.tsx
|
|
2533
|
-
import
|
|
2492
|
+
import React28, { useState as useState8 } from "react";
|
|
2534
2493
|
import {
|
|
2535
2494
|
RiArrowLeftLine,
|
|
2536
2495
|
RiArrowRightLine,
|
|
@@ -2567,7 +2526,7 @@ var Pagination = ({
|
|
|
2567
2526
|
}
|
|
2568
2527
|
setShowOptions(false);
|
|
2569
2528
|
};
|
|
2570
|
-
return /* @__PURE__ */
|
|
2529
|
+
return /* @__PURE__ */ React28.createElement(
|
|
2571
2530
|
"div",
|
|
2572
2531
|
{
|
|
2573
2532
|
className: cn(
|
|
@@ -2576,7 +2535,7 @@ var Pagination = ({
|
|
|
2576
2535
|
className
|
|
2577
2536
|
)
|
|
2578
2537
|
},
|
|
2579
|
-
/* @__PURE__ */
|
|
2538
|
+
/* @__PURE__ */ React28.createElement("section", { className: "flex gap-1.5 items-center" }, countVariable && /* @__PURE__ */ React28.createElement("p", { className: "text-text-sm text-gray-800 font-medium" }, count, " ", countVariable ?? "Items"), itemsPerPage && /* @__PURE__ */ React28.createElement("div", { className: "flex gap-1.5 items-center" }, /* @__PURE__ */ React28.createElement("span", { className: "text-gray-800 text-text-sm font-medium" }, "Items per page"), /* @__PURE__ */ React28.createElement("div", { className: "relative z-[100]" }, /* @__PURE__ */ React28.createElement(
|
|
2580
2539
|
"div",
|
|
2581
2540
|
{
|
|
2582
2541
|
className: "border border-gray-600 w-[88px] rounded text-sm px-1.5 py-1 cursor-pointer flex items-center justify-between gap-1 text-gray-600",
|
|
@@ -2584,8 +2543,8 @@ var Pagination = ({
|
|
|
2584
2543
|
},
|
|
2585
2544
|
rowsPerPage,
|
|
2586
2545
|
" ",
|
|
2587
|
-
!showOptions ? /* @__PURE__ */
|
|
2588
|
-
), showOptions && /* @__PURE__ */
|
|
2546
|
+
!showOptions ? /* @__PURE__ */ React28.createElement(RiArrowDownSLine4, { size: 14 }) : /* @__PURE__ */ React28.createElement(RiArrowUpSLine, { size: 14 })
|
|
2547
|
+
), showOptions && /* @__PURE__ */ React28.createElement("div", { className: "absolute top-full left-0 shadow bg-white rounded-md text-sm mt-1 z-50" }, rowsPerPageOptions == null ? void 0 : rowsPerPageOptions.map((option, index) => /* @__PURE__ */ React28.createElement(
|
|
2589
2548
|
"div",
|
|
2590
2549
|
{
|
|
2591
2550
|
key: index,
|
|
@@ -2594,35 +2553,35 @@ var Pagination = ({
|
|
|
2594
2553
|
},
|
|
2595
2554
|
typeof option === "number" ? option : option.label
|
|
2596
2555
|
)))))),
|
|
2597
|
-
/* @__PURE__ */
|
|
2556
|
+
/* @__PURE__ */ React28.createElement("section", { className: "flex items-center gap-2 font-medium" }, variant === "primary" ? /* @__PURE__ */ React28.createElement("div", { className: "flex items-center gap-2 text-gray-800 text-text-sm" }, /* @__PURE__ */ React28.createElement("span", null, "page"), /* @__PURE__ */ React28.createElement(
|
|
2598
2557
|
"select",
|
|
2599
2558
|
{
|
|
2600
2559
|
value: page + 1,
|
|
2601
2560
|
onChange: (e) => onPageChange(parseInt(e.target.value, 10) - 1),
|
|
2602
2561
|
className: "bg-gray-25 text-gray-500 px-3.5 py-1 border border-gray-200 rounded-md text-sm focus:outline-none focus:border-gray-600"
|
|
2603
2562
|
},
|
|
2604
|
-
totalPages > 0 && [...Array(totalPages)].map((_, index) => /* @__PURE__ */
|
|
2605
|
-
), /* @__PURE__ */
|
|
2563
|
+
totalPages > 0 && [...Array(totalPages)].map((_, index) => /* @__PURE__ */ React28.createElement("option", { key: index + 1, value: index + 1 }, index + 1))
|
|
2564
|
+
), /* @__PURE__ */ React28.createElement("span", null, "of ", totalPages > 0 ? totalPages : 0)) : /* @__PURE__ */ React28.createElement("div", { className: "flex items-center gap-2 text-gray-800 text-text-sm mx-3" }, /* @__PURE__ */ React28.createElement("span", null, page + 1, " of ", totalPages > 0 ? totalPages : 0)), variant === "primary" ? /* @__PURE__ */ React28.createElement("div", { className: "flex items-center" }, /* @__PURE__ */ React28.createElement(
|
|
2606
2565
|
Button_default,
|
|
2607
2566
|
{
|
|
2608
2567
|
variant: "outlined",
|
|
2609
2568
|
intent: "default-outlined",
|
|
2610
|
-
startIcon: /* @__PURE__ */
|
|
2569
|
+
startIcon: /* @__PURE__ */ React28.createElement(RiArrowLeftLine, { size: 20 }),
|
|
2611
2570
|
onClick: handlePrevPageClick,
|
|
2612
2571
|
disabled: page === 0,
|
|
2613
2572
|
className: "rounded-none h-8 rounded-l-lg"
|
|
2614
2573
|
}
|
|
2615
|
-
), /* @__PURE__ */
|
|
2574
|
+
), /* @__PURE__ */ React28.createElement(
|
|
2616
2575
|
Button_default,
|
|
2617
2576
|
{
|
|
2618
2577
|
variant: "outlined",
|
|
2619
2578
|
intent: "default-outlined",
|
|
2620
|
-
startIcon: /* @__PURE__ */
|
|
2579
|
+
startIcon: /* @__PURE__ */ React28.createElement(RiArrowRightLine, { size: 20 }),
|
|
2621
2580
|
onClick: handleNextPageClick,
|
|
2622
2581
|
disabled: page === totalPages - 1,
|
|
2623
2582
|
className: "rounded-none h-8 rounded-r-lg"
|
|
2624
2583
|
}
|
|
2625
|
-
)) : /* @__PURE__ */
|
|
2584
|
+
)) : /* @__PURE__ */ React28.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React28.createElement(
|
|
2626
2585
|
RiArrowLeftSLine2,
|
|
2627
2586
|
{
|
|
2628
2587
|
size: 22,
|
|
@@ -2632,7 +2591,7 @@ var Pagination = ({
|
|
|
2632
2591
|
page === 0 && "pointer-events-none select-none opacity-30"
|
|
2633
2592
|
)
|
|
2634
2593
|
}
|
|
2635
|
-
), /* @__PURE__ */
|
|
2594
|
+
), /* @__PURE__ */ React28.createElement(
|
|
2636
2595
|
RiArrowRightSLine2,
|
|
2637
2596
|
{
|
|
2638
2597
|
size: 22,
|
|
@@ -2648,7 +2607,7 @@ var Pagination = ({
|
|
|
2648
2607
|
var Pagination_default = Pagination;
|
|
2649
2608
|
|
|
2650
2609
|
// app/components/Progress.tsx
|
|
2651
|
-
import
|
|
2610
|
+
import React29 from "react";
|
|
2652
2611
|
var ProgressBar = ({
|
|
2653
2612
|
progress,
|
|
2654
2613
|
progressText = "",
|
|
@@ -2656,7 +2615,7 @@ var ProgressBar = ({
|
|
|
2656
2615
|
progressTextPosition
|
|
2657
2616
|
}) => {
|
|
2658
2617
|
const _progress = Math == null ? void 0 : Math.min(Math == null ? void 0 : Math.max(0, progress), 100);
|
|
2659
|
-
return /* @__PURE__ */
|
|
2618
|
+
return /* @__PURE__ */ React29.createElement(
|
|
2660
2619
|
"div",
|
|
2661
2620
|
{
|
|
2662
2621
|
className: cn(
|
|
@@ -2664,7 +2623,7 @@ var ProgressBar = ({
|
|
|
2664
2623
|
progressTextPosition === "right" ? "flex items-center gap-1" : progressTextPosition === "left" ? "flex items-center gap-1" : ""
|
|
2665
2624
|
)
|
|
2666
2625
|
},
|
|
2667
|
-
/* @__PURE__ */
|
|
2626
|
+
/* @__PURE__ */ React29.createElement(
|
|
2668
2627
|
"span",
|
|
2669
2628
|
{
|
|
2670
2629
|
className: cn(
|
|
@@ -2674,7 +2633,7 @@ var ProgressBar = ({
|
|
|
2674
2633
|
},
|
|
2675
2634
|
progressText
|
|
2676
2635
|
),
|
|
2677
|
-
/* @__PURE__ */
|
|
2636
|
+
/* @__PURE__ */ React29.createElement(
|
|
2678
2637
|
"div",
|
|
2679
2638
|
{
|
|
2680
2639
|
className: "w-full h-2 rounded bg-gray-200",
|
|
@@ -2683,7 +2642,7 @@ var ProgressBar = ({
|
|
|
2683
2642
|
"aria-valuemin": 0,
|
|
2684
2643
|
"aria-valuemax": 100
|
|
2685
2644
|
},
|
|
2686
|
-
/* @__PURE__ */
|
|
2645
|
+
/* @__PURE__ */ React29.createElement(
|
|
2687
2646
|
"div",
|
|
2688
2647
|
{
|
|
2689
2648
|
className: `${progressColor} h-full transition-all delay-100 duration-300 rounded ease-in`,
|
|
@@ -2691,7 +2650,7 @@ var ProgressBar = ({
|
|
|
2691
2650
|
}
|
|
2692
2651
|
)
|
|
2693
2652
|
),
|
|
2694
|
-
/* @__PURE__ */
|
|
2653
|
+
/* @__PURE__ */ React29.createElement(
|
|
2695
2654
|
"span",
|
|
2696
2655
|
{
|
|
2697
2656
|
className: cn(
|
|
@@ -2706,7 +2665,7 @@ var ProgressBar = ({
|
|
|
2706
2665
|
var Progress_default = ProgressBar;
|
|
2707
2666
|
|
|
2708
2667
|
// app/components/Radio.tsx
|
|
2709
|
-
import
|
|
2668
|
+
import React30, { forwardRef as forwardRef10 } from "react";
|
|
2710
2669
|
import { cva as cva7 } from "class-variance-authority";
|
|
2711
2670
|
var radioVariants = cva7("", {
|
|
2712
2671
|
variants: {
|
|
@@ -2721,7 +2680,7 @@ var radioVariants = cva7("", {
|
|
|
2721
2680
|
});
|
|
2722
2681
|
var Radio = forwardRef10(
|
|
2723
2682
|
({ size, disabled, checked, className, children, id, name, ...props }, ref) => {
|
|
2724
|
-
return /* @__PURE__ */
|
|
2683
|
+
return /* @__PURE__ */ React30.createElement("div", { className: "relative inline-flex items-center cursor-pointer" }, /* @__PURE__ */ React30.createElement(
|
|
2725
2684
|
"input",
|
|
2726
2685
|
{
|
|
2727
2686
|
...props,
|
|
@@ -2738,7 +2697,7 @@ var Radio = forwardRef10(
|
|
|
2738
2697
|
radioVariants({ size, className })
|
|
2739
2698
|
)
|
|
2740
2699
|
}
|
|
2741
|
-
), /* @__PURE__ */
|
|
2700
|
+
), /* @__PURE__ */ React30.createElement(
|
|
2742
2701
|
"span",
|
|
2743
2702
|
{
|
|
2744
2703
|
"aria-hidden": "true",
|
|
@@ -2754,7 +2713,7 @@ Radio.displayName = "Radio";
|
|
|
2754
2713
|
var Radio_default = Radio;
|
|
2755
2714
|
|
|
2756
2715
|
// app/components/RazorPayFileUpload.tsx
|
|
2757
|
-
import
|
|
2716
|
+
import React32, { useRef as useRef7, useState as useState9 } from "react";
|
|
2758
2717
|
import {
|
|
2759
2718
|
RiDeleteBin6Line,
|
|
2760
2719
|
RiRefreshLine,
|
|
@@ -2773,7 +2732,7 @@ import {
|
|
|
2773
2732
|
} from "@remixicon/react";
|
|
2774
2733
|
|
|
2775
2734
|
// app/components/Spinner.tsx
|
|
2776
|
-
import
|
|
2735
|
+
import React31 from "react";
|
|
2777
2736
|
var colorVars = {
|
|
2778
2737
|
primary: {
|
|
2779
2738
|
c1: "var(--primary-500)",
|
|
@@ -2808,7 +2767,7 @@ var Spinner = ({ size = "md", color = "primary" }) => {
|
|
|
2808
2767
|
return colorVars.primary;
|
|
2809
2768
|
};
|
|
2810
2769
|
const colorValues = getColorValues(color);
|
|
2811
|
-
return /* @__PURE__ */
|
|
2770
|
+
return /* @__PURE__ */ React31.createElement("div", { className: cn("relative", sizeClass) }, /* @__PURE__ */ React31.createElement(
|
|
2812
2771
|
"div",
|
|
2813
2772
|
{
|
|
2814
2773
|
className: "spinner",
|
|
@@ -2822,35 +2781,109 @@ var Spinner = ({ size = "md", color = "primary" }) => {
|
|
|
2822
2781
|
var Spinner_default = Spinner;
|
|
2823
2782
|
|
|
2824
2783
|
// app/components/RazorPayFileUpload.tsx
|
|
2825
|
-
|
|
2784
|
+
var fileSvg = () => {
|
|
2785
|
+
return /* @__PURE__ */ React32.createElement(
|
|
2786
|
+
"svg",
|
|
2787
|
+
{
|
|
2788
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2789
|
+
width: "40",
|
|
2790
|
+
height: "55",
|
|
2791
|
+
viewBox: "0 0 36 47",
|
|
2792
|
+
fill: "none"
|
|
2793
|
+
},
|
|
2794
|
+
/* @__PURE__ */ React32.createElement(
|
|
2795
|
+
"path",
|
|
2796
|
+
{
|
|
2797
|
+
d: "M0 8.72494C0 5.48487 2.6266 2.85828 5.86667 2.85828H20.5333L33 15.8583V40.9916C33 44.2317 30.3734 46.8583 27.1333 46.8583H5.86667C2.6266 46.8583 0 44.2317 0 40.9916V8.72494Z",
|
|
2798
|
+
fill: "var(--primary-600)"
|
|
2799
|
+
}
|
|
2800
|
+
),
|
|
2801
|
+
/* @__PURE__ */ React32.createElement("g", { filter: "url(#filter0_d_5101_541)" }, /* @__PURE__ */ React32.createElement(
|
|
2802
|
+
"path",
|
|
2803
|
+
{
|
|
2804
|
+
d: "M20.5334 13.4052V2.85828L33 15.8582L22.974 15.8482C21.6257 15.8469 20.5334 14.7535 20.5334 13.4052Z",
|
|
2805
|
+
fill: "var(--primary-300)"
|
|
2806
|
+
}
|
|
2807
|
+
)),
|
|
2808
|
+
/* @__PURE__ */ React32.createElement("defs", null, /* @__PURE__ */ React32.createElement(
|
|
2809
|
+
"filter",
|
|
2810
|
+
{
|
|
2811
|
+
id: "filter0_d_5101_541",
|
|
2812
|
+
x: "14.7435",
|
|
2813
|
+
y: "-2.98023e-05",
|
|
2814
|
+
width: "21.1148",
|
|
2815
|
+
height: "21.6482",
|
|
2816
|
+
filterUnits: "userSpaceOnUse",
|
|
2817
|
+
"color-interpolation-filters": "sRGB"
|
|
2818
|
+
},
|
|
2819
|
+
/* @__PURE__ */ React32.createElement("feFlood", { "flood-opacity": "0", result: "BackgroundImageFix" }),
|
|
2820
|
+
/* @__PURE__ */ React32.createElement(
|
|
2821
|
+
"feColorMatrix",
|
|
2822
|
+
{
|
|
2823
|
+
in: "SourceAlpha",
|
|
2824
|
+
type: "matrix",
|
|
2825
|
+
values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
|
|
2826
|
+
result: "hardAlpha"
|
|
2827
|
+
}
|
|
2828
|
+
),
|
|
2829
|
+
/* @__PURE__ */ React32.createElement("feOffset", { dx: "-1.4658", dy: "1.4658" }),
|
|
2830
|
+
/* @__PURE__ */ React32.createElement("feGaussianBlur", { stdDeviation: "2.16205" }),
|
|
2831
|
+
/* @__PURE__ */ React32.createElement("feComposite", { in2: "hardAlpha", operator: "out" }),
|
|
2832
|
+
/* @__PURE__ */ React32.createElement(
|
|
2833
|
+
"feColorMatrix",
|
|
2834
|
+
{
|
|
2835
|
+
type: "matrix",
|
|
2836
|
+
values: "0 0 0 0 0.0417487 0 0 0 0 0.107741 0 0 0 0 0.401705 0 0 0 0.07 0"
|
|
2837
|
+
}
|
|
2838
|
+
),
|
|
2839
|
+
/* @__PURE__ */ React32.createElement(
|
|
2840
|
+
"feBlend",
|
|
2841
|
+
{
|
|
2842
|
+
mode: "normal",
|
|
2843
|
+
in2: "BackgroundImageFix",
|
|
2844
|
+
result: "effect1_dropShadow_5101_541"
|
|
2845
|
+
}
|
|
2846
|
+
),
|
|
2847
|
+
/* @__PURE__ */ React32.createElement(
|
|
2848
|
+
"feBlend",
|
|
2849
|
+
{
|
|
2850
|
+
mode: "normal",
|
|
2851
|
+
in: "SourceGraphic",
|
|
2852
|
+
in2: "effect1_dropShadow_5101_541",
|
|
2853
|
+
result: "shape"
|
|
2854
|
+
}
|
|
2855
|
+
)
|
|
2856
|
+
))
|
|
2857
|
+
);
|
|
2858
|
+
};
|
|
2826
2859
|
var defaultGetFileIcon = (fileName, fileType) => {
|
|
2827
2860
|
var _a;
|
|
2828
2861
|
const extension = ((_a = fileName.split(".").pop()) == null ? void 0 : _a.toLowerCase()) || "";
|
|
2829
2862
|
if (fileType.startsWith("image/") || ["jpg", "jpeg", "png", "gif", "svg", "webp", "bmp"].includes(extension)) {
|
|
2830
|
-
return /* @__PURE__ */
|
|
2863
|
+
return /* @__PURE__ */ React32.createElement(RiImageLine2, { className: "w-5 h-5 text-white" });
|
|
2831
2864
|
}
|
|
2832
2865
|
if (fileType.startsWith("audio/") || ["mp3", "wav", "ogg", "m4a"].includes(extension)) {
|
|
2833
|
-
return /* @__PURE__ */
|
|
2866
|
+
return /* @__PURE__ */ React32.createElement(RiMusic2Line2, { className: "w-5 h-5 text-white" });
|
|
2834
2867
|
}
|
|
2835
2868
|
if (fileType.startsWith("video/") || ["mp4", "avi", "mkv", "mov", "wmv"].includes(extension)) {
|
|
2836
|
-
return /* @__PURE__ */
|
|
2869
|
+
return /* @__PURE__ */ React32.createElement(RiVideoLine2, { className: "w-5 h-5 text-white" });
|
|
2837
2870
|
}
|
|
2838
2871
|
if (fileType.includes("excel") || ["xls", "xlsx", "csv", "txt", "ods"].includes(extension)) {
|
|
2839
|
-
return /* @__PURE__ */
|
|
2872
|
+
return /* @__PURE__ */ React32.createElement(RiFileExcel2Line2, { className: "w-5 h-5 text-white" });
|
|
2840
2873
|
}
|
|
2841
2874
|
if (fileType.includes("word") || ["doc", "docx", "odt", "xml"].includes(extension)) {
|
|
2842
|
-
return /* @__PURE__ */
|
|
2875
|
+
return /* @__PURE__ */ React32.createElement(RiFileWord2Line2, { className: "w-5 h-5 text-white" });
|
|
2843
2876
|
}
|
|
2844
2877
|
if (["pptx", "pptm", "xps", "ppsx"].includes(extension)) {
|
|
2845
|
-
return /* @__PURE__ */
|
|
2878
|
+
return /* @__PURE__ */ React32.createElement(RiFilePpt2Line2, { className: "w-5 h-5 text-white" });
|
|
2846
2879
|
}
|
|
2847
2880
|
if (fileType.includes("zip") || ["zip", "rar", "7z", "tar", "gz"].includes(extension)) {
|
|
2848
|
-
return /* @__PURE__ */
|
|
2881
|
+
return /* @__PURE__ */ React32.createElement(RiFileZipLine2, { className: "w-5 h-5 text-white" });
|
|
2849
2882
|
}
|
|
2850
2883
|
if (fileType === "application/pdf" || extension === "pdf") {
|
|
2851
|
-
return /* @__PURE__ */
|
|
2884
|
+
return /* @__PURE__ */ React32.createElement(RiFilePdf2Line2, { className: "w-5 h-5 text-white" });
|
|
2852
2885
|
}
|
|
2853
|
-
return /* @__PURE__ */
|
|
2886
|
+
return /* @__PURE__ */ React32.createElement(RiFileLine2, { className: "w-5 h-5 text-white" });
|
|
2854
2887
|
};
|
|
2855
2888
|
function ImageUploadControlled({
|
|
2856
2889
|
items,
|
|
@@ -2896,7 +2929,7 @@ function ImageUploadControlled({
|
|
|
2896
2929
|
text: "Uploading",
|
|
2897
2930
|
color: "text-blue-600",
|
|
2898
2931
|
showSpinner: true,
|
|
2899
|
-
icon: /* @__PURE__ */
|
|
2932
|
+
icon: /* @__PURE__ */ React32.createElement(Spinner_default, { size: "xs", color: "gray" }),
|
|
2900
2933
|
canPreview: false
|
|
2901
2934
|
};
|
|
2902
2935
|
case "success":
|
|
@@ -2904,7 +2937,7 @@ function ImageUploadControlled({
|
|
|
2904
2937
|
text: "Completed",
|
|
2905
2938
|
color: "text-green-600",
|
|
2906
2939
|
showSpinner: false,
|
|
2907
|
-
icon: /* @__PURE__ */
|
|
2940
|
+
icon: /* @__PURE__ */ React32.createElement(RiCheckLine, { className: "w-3 h-3 text-white" }),
|
|
2908
2941
|
canPreview: true
|
|
2909
2942
|
};
|
|
2910
2943
|
case "error":
|
|
@@ -2912,7 +2945,7 @@ function ImageUploadControlled({
|
|
|
2912
2945
|
text: "Failed",
|
|
2913
2946
|
color: "text-red-600",
|
|
2914
2947
|
showSpinner: false,
|
|
2915
|
-
icon: /* @__PURE__ */
|
|
2948
|
+
icon: /* @__PURE__ */ React32.createElement(RiCloseLine4, { className: "w-3 h-3 text-white" }),
|
|
2916
2949
|
canPreview: false
|
|
2917
2950
|
};
|
|
2918
2951
|
default:
|
|
@@ -2943,18 +2976,24 @@ function ImageUploadControlled({
|
|
|
2943
2976
|
const fileType = ((_b = item.file) == null ? void 0 : _b.type) || "";
|
|
2944
2977
|
return getFileIcon(fileName, fileType);
|
|
2945
2978
|
};
|
|
2946
|
-
const handleUpload =
|
|
2979
|
+
const handleUpload = React32.useCallback(
|
|
2947
2980
|
async (item) => {
|
|
2948
|
-
if (!item.file || !onUpload)
|
|
2981
|
+
if (!item.file || !onUpload || item.status === "success" || item.status === "uploading") {
|
|
2949
2982
|
return;
|
|
2983
|
+
}
|
|
2950
2984
|
try {
|
|
2951
2985
|
if (onUpdateItem) {
|
|
2952
2986
|
onUpdateItem(item.id, { status: "uploading", progress: 0 });
|
|
2953
2987
|
}
|
|
2988
|
+
uploadProgress.current.delete(item.id);
|
|
2954
2989
|
const previewUrl = await onUpload(item.file, (progress) => {
|
|
2955
|
-
|
|
2990
|
+
const clampedProgress = Math.min(100, Math.max(0, progress));
|
|
2991
|
+
uploadProgress.current.set(item.id, clampedProgress);
|
|
2956
2992
|
if (onUpdateItem) {
|
|
2957
|
-
onUpdateItem(item.id, {
|
|
2993
|
+
onUpdateItem(item.id, {
|
|
2994
|
+
progress: clampedProgress,
|
|
2995
|
+
status: "uploading"
|
|
2996
|
+
});
|
|
2958
2997
|
}
|
|
2959
2998
|
});
|
|
2960
2999
|
if (onUpdateItem) {
|
|
@@ -2964,15 +3003,25 @@ function ImageUploadControlled({
|
|
|
2964
3003
|
previewUrl
|
|
2965
3004
|
});
|
|
2966
3005
|
}
|
|
3006
|
+
uploadProgress.current.delete(item.id);
|
|
2967
3007
|
} catch (error) {
|
|
3008
|
+
console.error("Upload error:", error);
|
|
2968
3009
|
if (onUpdateItem) {
|
|
2969
|
-
onUpdateItem(item.id, {
|
|
3010
|
+
onUpdateItem(item.id, {
|
|
3011
|
+
progress: 0,
|
|
3012
|
+
status: "error"
|
|
3013
|
+
});
|
|
2970
3014
|
}
|
|
3015
|
+
uploadProgress.current.delete(item.id);
|
|
2971
3016
|
}
|
|
2972
3017
|
},
|
|
2973
3018
|
[onUpload, onUpdateItem]
|
|
2974
3019
|
);
|
|
2975
3020
|
const getCurrentProgress = (item) => {
|
|
3021
|
+
if (item.status === "success")
|
|
3022
|
+
return 100;
|
|
3023
|
+
if (item.status === "error")
|
|
3024
|
+
return 0;
|
|
2976
3025
|
return uploadProgress.current.get(item.id) ?? item.progress ?? 0;
|
|
2977
3026
|
};
|
|
2978
3027
|
const handleRetry = (id) => {
|
|
@@ -3040,7 +3089,7 @@ function ImageUploadControlled({
|
|
|
3040
3089
|
triggerInput();
|
|
3041
3090
|
}
|
|
3042
3091
|
};
|
|
3043
|
-
|
|
3092
|
+
React32.useEffect(() => {
|
|
3044
3093
|
if (autoUpload && onUpload) {
|
|
3045
3094
|
items.forEach((item) => {
|
|
3046
3095
|
if (item.status === "idle" && item.file) {
|
|
@@ -3049,13 +3098,13 @@ function ImageUploadControlled({
|
|
|
3049
3098
|
});
|
|
3050
3099
|
}
|
|
3051
3100
|
}, [items, autoUpload, onUpload, handleUpload]);
|
|
3052
|
-
|
|
3101
|
+
React32.useEffect(() => {
|
|
3053
3102
|
const previews = localPreviews == null ? void 0 : localPreviews.current;
|
|
3054
3103
|
return () => {
|
|
3055
3104
|
previews == null ? void 0 : previews.forEach((url) => URL == null ? void 0 : URL.revokeObjectURL(url));
|
|
3056
3105
|
};
|
|
3057
3106
|
}, []);
|
|
3058
|
-
return /* @__PURE__ */
|
|
3107
|
+
return /* @__PURE__ */ React32.createElement("div", { className: `w-full ${className}` }, /* @__PURE__ */ React32.createElement(
|
|
3059
3108
|
"input",
|
|
3060
3109
|
{
|
|
3061
3110
|
ref: inputRef,
|
|
@@ -3066,7 +3115,7 @@ function ImageUploadControlled({
|
|
|
3066
3115
|
onChange: handleInputChange,
|
|
3067
3116
|
disabled
|
|
3068
3117
|
}
|
|
3069
|
-
), /* @__PURE__ */
|
|
3118
|
+
), /* @__PURE__ */ React32.createElement(
|
|
3070
3119
|
Label_default,
|
|
3071
3120
|
{
|
|
3072
3121
|
htmlFor: (_a = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a.id,
|
|
@@ -3085,42 +3134,27 @@ function ImageUploadControlled({
|
|
|
3085
3134
|
disabled && "pointer-events-none cursor-not-allowed"
|
|
3086
3135
|
)
|
|
3087
3136
|
},
|
|
3088
|
-
/* @__PURE__ */
|
|
3089
|
-
), /* @__PURE__ */
|
|
3137
|
+
/* @__PURE__ */ React32.createElement("div", { className: "flex items-center gap-3 text-center" }, /* @__PURE__ */ React32.createElement("div", null, /* @__PURE__ */ React32.createElement("p", { className: "text-sm text-gray-600" }, "Drag files here or", /* @__PURE__ */ React32.createElement("span", { className: "text-primary-600 font-semibold ml-1" }, "Upload"), " ", /* @__PURE__ */ React32.createElement("br", null))))
|
|
3138
|
+
), /* @__PURE__ */ React32.createElement("span", { className: "text-xs" }, hintText ?? `Only PNG, JPG, GIF. Max file size ${maxSizeMB}MB`), /* @__PURE__ */ React32.createElement("div", { className: "flex flex-col gap-4 mt-4" }, items == null ? void 0 : items.map((item) => {
|
|
3090
3139
|
var _a2, _b;
|
|
3091
|
-
const previewUrl = getPreviewUrl(item);
|
|
3092
3140
|
const progress = getCurrentProgress(item);
|
|
3093
3141
|
const statusInfo = getStatusDisplay(item.status);
|
|
3094
3142
|
const progressColor = getProgressColor(item == null ? void 0 : item.status);
|
|
3095
3143
|
const fileIcon = getItemFileIcon(item);
|
|
3096
|
-
return /* @__PURE__ */
|
|
3144
|
+
return /* @__PURE__ */ React32.createElement(
|
|
3097
3145
|
"div",
|
|
3098
3146
|
{
|
|
3099
3147
|
key: item == null ? void 0 : item.id,
|
|
3100
3148
|
className: "flex items-center gap-4 bg-white max-w-[564px] w-full p-4 rounded-lg border border-gray-200"
|
|
3101
3149
|
},
|
|
3102
|
-
/* @__PURE__ */
|
|
3103
|
-
|
|
3150
|
+
/* @__PURE__ */ React32.createElement("div", { className: "w-14 h-14 flex-shrink-0 rounded-md overflow-hidden relative" }, /* @__PURE__ */ React32.createElement("div", { className: "absolute inset-0 w-full h-full object-contain" }, fileSvg()), /* @__PURE__ */ React32.createElement("div", { className: "relative z-10 top-2 -left-2.5 flex items-center justify-center w-full h-full text-white" }, fileIcon)),
|
|
3151
|
+
/* @__PURE__ */ React32.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React32.createElement("div", { className: "flex items-start justify-between gap-2 mb-3" }, /* @__PURE__ */ React32.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React32.createElement("h4", { className: "text-sm font-medium text-gray-900 truncate" }, (item == null ? void 0 : item.name) || ((_a2 = item.file) == null ? void 0 : _a2.name) || "Unnamed file"), showSizeText && /* @__PURE__ */ React32.createElement("div", { className: "text-xs text-gray-500 mt-1 flex items-center gap-1" }, formatSize((item == null ? void 0 : item.size) || ((_b = item.file) == null ? void 0 : _b.size)), statusInfo.text && /* @__PURE__ */ React32.createElement("div", { className: "ml-2 font-medium flex items-center gap-1" }, (statusInfo == null ? void 0 : statusInfo.showSpinner) ? /* @__PURE__ */ React32.createElement(React32.Fragment, null, statusInfo.icon, /* @__PURE__ */ React32.createElement("span", { className: statusInfo.color }, statusInfo.text)) : /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(
|
|
3152
|
+
"div",
|
|
3104
3153
|
{
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
}
|
|
3110
|
-
), /* @__PURE__ */ React33.createElement("div", { className: "relative z-10 mt-2 -ml-[2px] flex items-center justify-center w-full h-full text-white" }, fileIcon)),
|
|
3111
|
-
/* @__PURE__ */ React33.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React33.createElement("div", { className: "flex items-start justify-between gap-2 mb-3" }, /* @__PURE__ */ React33.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ React33.createElement("h4", { className: "text-sm font-medium text-gray-900 truncate" }, (item == null ? void 0 : item.name) || ((_a2 = item.file) == null ? void 0 : _a2.name) || "Unnamed file"), showSizeText && /* @__PURE__ */ React33.createElement("div", { className: "text-xs text-gray-500 mt-1 flex items-center gap-1" }, formatSize((item == null ? void 0 : item.size) || ((_b = item.file) == null ? void 0 : _b.size)), statusInfo.text && /* @__PURE__ */ React33.createElement("div", { className: "ml-2 font-medium flex items-center gap-1" }, (statusInfo == null ? void 0 : statusInfo.showSpinner) ? (
|
|
3112
|
-
// For uploading - just show spinner without circle
|
|
3113
|
-
/* @__PURE__ */ React33.createElement(React33.Fragment, null, statusInfo.icon, /* @__PURE__ */ React33.createElement("span", { className: statusInfo.color }, statusInfo.text))
|
|
3114
|
-
) : (
|
|
3115
|
-
// For completed/failed - show circle with icon
|
|
3116
|
-
/* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement(
|
|
3117
|
-
"div",
|
|
3118
|
-
{
|
|
3119
|
-
className: `w-4 h-4 rounded-full flex justify-center items-center ${(statusInfo == null ? void 0 : statusInfo.color) === "text-red-600" ? "bg-red-600" : (statusInfo == null ? void 0 : statusInfo.color) === "text-green-600" ? "bg-green-600" : "bg-gray-400"}`
|
|
3120
|
-
},
|
|
3121
|
-
statusInfo == null ? void 0 : statusInfo.icon
|
|
3122
|
-
), /* @__PURE__ */ React33.createElement("span", { className: statusInfo.color }, statusInfo == null ? void 0 : statusInfo.text))
|
|
3123
|
-
)))), /* @__PURE__ */ React33.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React33.createElement("div", { className: "flex items-center gap-2" }, onPreview && (item == null ? void 0 : item.status) === "success" && /* @__PURE__ */ React33.createElement(
|
|
3154
|
+
className: `w-4 h-4 rounded-full flex justify-center items-center ${(statusInfo == null ? void 0 : statusInfo.color) === "text-red-600" ? "bg-red-600" : (statusInfo == null ? void 0 : statusInfo.color) === "text-green-600" ? "bg-green-600" : "bg-gray-400"}`
|
|
3155
|
+
},
|
|
3156
|
+
statusInfo == null ? void 0 : statusInfo.icon
|
|
3157
|
+
), /* @__PURE__ */ React32.createElement("span", { className: statusInfo.color }, statusInfo == null ? void 0 : statusInfo.text))))), /* @__PURE__ */ React32.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React32.createElement("div", { className: "flex items-center gap-2" }, onPreview && (item == null ? void 0 : item.status) === "success" && /* @__PURE__ */ React32.createElement(
|
|
3124
3158
|
"button",
|
|
3125
3159
|
{
|
|
3126
3160
|
type: "button",
|
|
@@ -3128,8 +3162,8 @@ function ImageUploadControlled({
|
|
|
3128
3162
|
className: "p-2 rounded-md hover:bg-gray-100 transition-colors text-gray-600",
|
|
3129
3163
|
title: "Preview"
|
|
3130
3164
|
},
|
|
3131
|
-
/* @__PURE__ */
|
|
3132
|
-
), (item == null ? void 0 : item.status) === "error" && /* @__PURE__ */
|
|
3165
|
+
/* @__PURE__ */ React32.createElement(RiEyeLine, { size: 16 })
|
|
3166
|
+
), (item == null ? void 0 : item.status) === "error" && /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement("span", { className: "hidden sm:inline-block" }, /* @__PURE__ */ React32.createElement(
|
|
3133
3167
|
Button_default,
|
|
3134
3168
|
{
|
|
3135
3169
|
variant: "outlined",
|
|
@@ -3139,9 +3173,9 @@ function ImageUploadControlled({
|
|
|
3139
3173
|
onClick: () => handleRetry(item == null ? void 0 : item.id),
|
|
3140
3174
|
className: "whitespace-nowrap h-[30px]"
|
|
3141
3175
|
},
|
|
3142
|
-
/* @__PURE__ */
|
|
3176
|
+
/* @__PURE__ */ React32.createElement(RiRefreshLine, { size: 16 }),
|
|
3143
3177
|
"Try Again"
|
|
3144
|
-
)), /* @__PURE__ */
|
|
3178
|
+
)), /* @__PURE__ */ React32.createElement("span", { className: "sm:hidden" }, /* @__PURE__ */ React32.createElement(
|
|
3145
3179
|
Button_default,
|
|
3146
3180
|
{
|
|
3147
3181
|
variant: "outlined",
|
|
@@ -3151,8 +3185,8 @@ function ImageUploadControlled({
|
|
|
3151
3185
|
onClick: () => handleRetry(item == null ? void 0 : item.id),
|
|
3152
3186
|
className: "h-[30px] px-1 py-1"
|
|
3153
3187
|
},
|
|
3154
|
-
/* @__PURE__ */
|
|
3155
|
-
))), /* @__PURE__ */
|
|
3188
|
+
/* @__PURE__ */ React32.createElement(RiRefreshLine, { size: 16 })
|
|
3189
|
+
))), /* @__PURE__ */ React32.createElement(
|
|
3156
3190
|
"button",
|
|
3157
3191
|
{
|
|
3158
3192
|
type: "button",
|
|
@@ -3160,28 +3194,28 @@ function ImageUploadControlled({
|
|
|
3160
3194
|
className: "p-2 rounded-md hover:bg-gray-100 transition-colors text-gray-600",
|
|
3161
3195
|
title: "Delete"
|
|
3162
3196
|
},
|
|
3163
|
-
/* @__PURE__ */
|
|
3164
|
-
)))), /* @__PURE__ */
|
|
3165
|
-
|
|
3197
|
+
/* @__PURE__ */ React32.createElement(RiDeleteBin6Line, { size: 16 })
|
|
3198
|
+
)))), /* @__PURE__ */ React32.createElement("div", { className: "flex items-center gap-4" }, /* @__PURE__ */ React32.createElement("div", { className: "flex-1" }, /* @__PURE__ */ React32.createElement("div", { className: "w-full h-2 bg-gray-200 rounded-full overflow-hidden" }, /* @__PURE__ */ React32.createElement(
|
|
3199
|
+
"div",
|
|
3166
3200
|
{
|
|
3167
|
-
progressColor
|
|
3168
|
-
progress
|
|
3201
|
+
className: `h-full rounded-full transition-all duration-300 ease-out ${progressColor}`,
|
|
3202
|
+
style: { width: `${progress}%` }
|
|
3169
3203
|
}
|
|
3170
|
-
)), /* @__PURE__ */
|
|
3204
|
+
))), /* @__PURE__ */ React32.createElement("div", { className: "text-xs text-gray-500 w-12 text-right" }, item.status === "error" ? "--%" : item.status === "success" ? "100%" : `${Math.round(progress)}%`)))
|
|
3171
3205
|
);
|
|
3172
3206
|
})));
|
|
3173
3207
|
}
|
|
3174
3208
|
|
|
3175
3209
|
// app/components/Sidebar.tsx
|
|
3176
|
-
import
|
|
3177
|
-
import
|
|
3210
|
+
import React33, { useState as useState10 } from "react";
|
|
3211
|
+
import Link from "next/link";
|
|
3178
3212
|
import {
|
|
3179
3213
|
RiArrowDownSLine as RiArrowDownSLine5,
|
|
3180
3214
|
RiArrowRightSLine as RiArrowRightSLine3
|
|
3181
3215
|
} from "@remixicon/react";
|
|
3182
3216
|
import { usePathname } from "next/navigation";
|
|
3183
3217
|
var Sidebar = ({ children, collapsed, setCollapsed, dense = false }) => {
|
|
3184
|
-
return /* @__PURE__ */
|
|
3218
|
+
return /* @__PURE__ */ React33.createElement(
|
|
3185
3219
|
"div",
|
|
3186
3220
|
{
|
|
3187
3221
|
onMouseEnter: () => setCollapsed(true),
|
|
@@ -3191,14 +3225,14 @@ var Sidebar = ({ children, collapsed, setCollapsed, dense = false }) => {
|
|
|
3191
3225
|
!collapsed ? dense ? "w-[76px] py-[19px] px-[15px]" : "w-[80px] py-[21px] px-[17px]" : dense ? "w-[304px] py-[20px] px-5" : "w-[308px] py-[22px] px-6"
|
|
3192
3226
|
)
|
|
3193
3227
|
},
|
|
3194
|
-
/* @__PURE__ */
|
|
3228
|
+
/* @__PURE__ */ React33.createElement("div", null, children)
|
|
3195
3229
|
);
|
|
3196
3230
|
};
|
|
3197
3231
|
var SidebarHeader = ({
|
|
3198
3232
|
children,
|
|
3199
3233
|
dense = false
|
|
3200
3234
|
}) => {
|
|
3201
|
-
return /* @__PURE__ */
|
|
3235
|
+
return /* @__PURE__ */ React33.createElement("div", { className: cn("z-20", dense ? "mb-3" : "mb-4") }, /* @__PURE__ */ React33.createElement("div", { className: "flex justify-between items-center" }, /* @__PURE__ */ React33.createElement("span", { className: "whitespace-nowrap" }, children)));
|
|
3202
3236
|
};
|
|
3203
3237
|
var SidebarMenu = ({
|
|
3204
3238
|
collapsed,
|
|
@@ -3211,7 +3245,7 @@ var SidebarMenu = ({
|
|
|
3211
3245
|
const toggleMenu = (label) => {
|
|
3212
3246
|
setOpenMenus((prev) => ({ ...prev, [label]: !prev[label] }));
|
|
3213
3247
|
};
|
|
3214
|
-
|
|
3248
|
+
React33.useEffect(() => {
|
|
3215
3249
|
if (!collapsed) {
|
|
3216
3250
|
setOpenMenus({});
|
|
3217
3251
|
}
|
|
@@ -3227,13 +3261,13 @@ var SidebarMenu = ({
|
|
|
3227
3261
|
}
|
|
3228
3262
|
};
|
|
3229
3263
|
const renderMenuItems = (items, level = 0) => {
|
|
3230
|
-
return /* @__PURE__ */
|
|
3264
|
+
return /* @__PURE__ */ React33.createElement("ul", { className: level > 0 ? "ml-5 border-l border-gray-200" : "" }, items == null ? void 0 : items.map((item, index) => {
|
|
3231
3265
|
const hasSubItems = item.subItems && item.subItems.length > 0;
|
|
3232
3266
|
const isActive = item.href === currentPath;
|
|
3233
3267
|
const isOpen = openMenus[item.label];
|
|
3234
3268
|
const paddingLeft = level === 0 ? dense ? "10px" : "12px" : `${level * 5 + (dense ? 10 : 12)}px`;
|
|
3235
|
-
return /* @__PURE__ */
|
|
3236
|
-
|
|
3269
|
+
return /* @__PURE__ */ React33.createElement("li", { key: index }, hasSubItems ? /* @__PURE__ */ React33.createElement(
|
|
3270
|
+
Link,
|
|
3237
3271
|
{
|
|
3238
3272
|
href: item.href || "#",
|
|
3239
3273
|
className: cn(
|
|
@@ -3253,22 +3287,22 @@ var SidebarMenu = ({
|
|
|
3253
3287
|
e.preventDefault();
|
|
3254
3288
|
}
|
|
3255
3289
|
},
|
|
3256
|
-
/* @__PURE__ */
|
|
3257
|
-
collapsed && hasSubItems && /* @__PURE__ */
|
|
3290
|
+
/* @__PURE__ */ React33.createElement("div", { className: "flex items-center gap-2" }, item.icon && level === 0 && /* @__PURE__ */ React33.createElement("span", { className: dense ? "text-xs" : "text-text-sm" }, item.icon), /* @__PURE__ */ React33.createElement("span", { className: cn(!collapsed ? "opacity-0" : "") }, item.label)),
|
|
3291
|
+
collapsed && hasSubItems && /* @__PURE__ */ React33.createElement("span", null, isOpen ? /* @__PURE__ */ React33.createElement(
|
|
3258
3292
|
RiArrowDownSLine5,
|
|
3259
3293
|
{
|
|
3260
3294
|
size: dense ? 16 : 18,
|
|
3261
3295
|
color: "#475467"
|
|
3262
3296
|
}
|
|
3263
|
-
) : /* @__PURE__ */
|
|
3297
|
+
) : /* @__PURE__ */ React33.createElement(
|
|
3264
3298
|
RiArrowRightSLine3,
|
|
3265
3299
|
{
|
|
3266
3300
|
size: dense ? 16 : 18,
|
|
3267
3301
|
color: "#475467"
|
|
3268
3302
|
}
|
|
3269
3303
|
))
|
|
3270
|
-
) : /* @__PURE__ */
|
|
3271
|
-
|
|
3304
|
+
) : /* @__PURE__ */ React33.createElement(
|
|
3305
|
+
Link,
|
|
3272
3306
|
{
|
|
3273
3307
|
href: item.href || "#",
|
|
3274
3308
|
className: cn(
|
|
@@ -3279,12 +3313,12 @@ var SidebarMenu = ({
|
|
|
3279
3313
|
level > 0 ? "text-sm font-medium" : "font-semibold"
|
|
3280
3314
|
)
|
|
3281
3315
|
},
|
|
3282
|
-
item.icon && level === 0 && /* @__PURE__ */
|
|
3283
|
-
/* @__PURE__ */
|
|
3284
|
-
), hasSubItems && isOpen && /* @__PURE__ */
|
|
3316
|
+
item.icon && level === 0 && /* @__PURE__ */ React33.createElement("span", { className: dense ? "text-xs" : "text-text-sm" }, item.icon),
|
|
3317
|
+
/* @__PURE__ */ React33.createElement("span", { className: cn(!collapsed ? "opacity-0" : "") }, item.label)
|
|
3318
|
+
), hasSubItems && isOpen && /* @__PURE__ */ React33.createElement("div", { className: dense ? "mt-0.5" : "mt-1" }, renderMenuItems(item.subItems, level + 1)));
|
|
3285
3319
|
}));
|
|
3286
3320
|
};
|
|
3287
|
-
return /* @__PURE__ */
|
|
3321
|
+
return /* @__PURE__ */ React33.createElement(
|
|
3288
3322
|
"nav",
|
|
3289
3323
|
{
|
|
3290
3324
|
className: cn(
|
|
@@ -3293,7 +3327,7 @@ var SidebarMenu = ({
|
|
|
3293
3327
|
scroll && collapsed ? "overflow-y-auto customScroll" : "overflow-hidden"
|
|
3294
3328
|
)
|
|
3295
3329
|
},
|
|
3296
|
-
/* @__PURE__ */
|
|
3330
|
+
/* @__PURE__ */ React33.createElement(
|
|
3297
3331
|
"ul",
|
|
3298
3332
|
{
|
|
3299
3333
|
className: cn(
|
|
@@ -3301,13 +3335,13 @@ var SidebarMenu = ({
|
|
|
3301
3335
|
dense ? "my-1.5" : "my-2"
|
|
3302
3336
|
)
|
|
3303
3337
|
},
|
|
3304
|
-
navItems == null ? void 0 : navItems.map((parentItem, parentIndex) => /* @__PURE__ */
|
|
3338
|
+
navItems == null ? void 0 : navItems.map((parentItem, parentIndex) => /* @__PURE__ */ React33.createElement(
|
|
3305
3339
|
"li",
|
|
3306
3340
|
{
|
|
3307
3341
|
key: parentIndex,
|
|
3308
3342
|
className: "flex flex-col gap-3 mb-1 whitespace-nowrap overflow-hidden"
|
|
3309
3343
|
},
|
|
3310
|
-
/* @__PURE__ */
|
|
3344
|
+
/* @__PURE__ */ React33.createElement(
|
|
3311
3345
|
"p",
|
|
3312
3346
|
{
|
|
3313
3347
|
className: cn(
|
|
@@ -3331,7 +3365,7 @@ var SidebarFooter = ({
|
|
|
3331
3365
|
dense = false
|
|
3332
3366
|
}) => {
|
|
3333
3367
|
const currentPath = usePathname();
|
|
3334
|
-
return /* @__PURE__ */
|
|
3368
|
+
return /* @__PURE__ */ React33.createElement(
|
|
3335
3369
|
"div",
|
|
3336
3370
|
{
|
|
3337
3371
|
className: cn({
|
|
@@ -3343,8 +3377,8 @@ var SidebarFooter = ({
|
|
|
3343
3377
|
}),
|
|
3344
3378
|
onClick: () => setCollapsed(true)
|
|
3345
3379
|
},
|
|
3346
|
-
collapsed && /* @__PURE__ */
|
|
3347
|
-
navItems && navItems.length > 0 && /* @__PURE__ */
|
|
3380
|
+
collapsed && /* @__PURE__ */ React33.createElement("div", { className: "shadow-md" }, /* @__PURE__ */ React33.createElement(Divider_default, null)),
|
|
3381
|
+
navItems && navItems.length > 0 && /* @__PURE__ */ React33.createElement("nav", { className: "flex-grow w-full" }, /* @__PURE__ */ React33.createElement(
|
|
3348
3382
|
"ul",
|
|
3349
3383
|
{
|
|
3350
3384
|
className: cn(
|
|
@@ -3354,13 +3388,13 @@ var SidebarFooter = ({
|
|
|
3354
3388
|
},
|
|
3355
3389
|
navItems == null ? void 0 : navItems.map((parentItem, parentIndex) => {
|
|
3356
3390
|
var _a;
|
|
3357
|
-
return /* @__PURE__ */
|
|
3391
|
+
return /* @__PURE__ */ React33.createElement(
|
|
3358
3392
|
"li",
|
|
3359
3393
|
{
|
|
3360
3394
|
key: parentIndex,
|
|
3361
3395
|
className: "flex flex-col gap-3 mb-1 whitespace-nowrap overflow-hidden"
|
|
3362
3396
|
},
|
|
3363
|
-
/* @__PURE__ */
|
|
3397
|
+
/* @__PURE__ */ React33.createElement(
|
|
3364
3398
|
"p",
|
|
3365
3399
|
{
|
|
3366
3400
|
className: cn({
|
|
@@ -3373,8 +3407,8 @@ var SidebarFooter = ({
|
|
|
3373
3407
|
},
|
|
3374
3408
|
parentItem.label
|
|
3375
3409
|
),
|
|
3376
|
-
/* @__PURE__ */
|
|
3377
|
-
|
|
3410
|
+
/* @__PURE__ */ React33.createElement("ul", null, (_a = parentItem == null ? void 0 : parentItem.items) == null ? void 0 : _a.map((item, index) => /* @__PURE__ */ React33.createElement("li", { key: index }, /* @__PURE__ */ React33.createElement(
|
|
3411
|
+
Link,
|
|
3378
3412
|
{
|
|
3379
3413
|
className: cn({
|
|
3380
3414
|
"hover:bg-gray-100 flex items-center cursor-pointer rounded-md transition-colors duration-300 font-semibold whitespace-nowrap overflow-hidden": true,
|
|
@@ -3387,12 +3421,12 @@ var SidebarFooter = ({
|
|
|
3387
3421
|
href: (item == null ? void 0 : item.href) || "#",
|
|
3388
3422
|
passHref: true
|
|
3389
3423
|
},
|
|
3390
|
-
/* @__PURE__ */
|
|
3424
|
+
/* @__PURE__ */ React33.createElement(
|
|
3391
3425
|
"div",
|
|
3392
3426
|
{
|
|
3393
3427
|
className: `flex items-center gap-2 whitespace-nowrap`
|
|
3394
3428
|
},
|
|
3395
|
-
/* @__PURE__ */
|
|
3429
|
+
/* @__PURE__ */ React33.createElement(
|
|
3396
3430
|
"span",
|
|
3397
3431
|
{
|
|
3398
3432
|
className: dense ? "text-xs" : "text-text-sm"
|
|
@@ -3400,7 +3434,7 @@ var SidebarFooter = ({
|
|
|
3400
3434
|
" ",
|
|
3401
3435
|
item.icon
|
|
3402
3436
|
),
|
|
3403
|
-
/* @__PURE__ */
|
|
3437
|
+
/* @__PURE__ */ React33.createElement("span", { className: cn(!collapsed ? "opacity-0" : "") }, item.label)
|
|
3404
3438
|
)
|
|
3405
3439
|
))))
|
|
3406
3440
|
);
|
|
@@ -3415,7 +3449,7 @@ Sidebar.Footer = SidebarFooter;
|
|
|
3415
3449
|
var Sidebar_default = Sidebar;
|
|
3416
3450
|
|
|
3417
3451
|
// app/components/Skeleton.tsx
|
|
3418
|
-
import
|
|
3452
|
+
import React34 from "react";
|
|
3419
3453
|
var Skeleton = ({
|
|
3420
3454
|
width = "100%",
|
|
3421
3455
|
height = "100%",
|
|
@@ -3428,7 +3462,7 @@ var Skeleton = ({
|
|
|
3428
3462
|
borderRadius: circle ? "50%" : void 0,
|
|
3429
3463
|
display: "block"
|
|
3430
3464
|
};
|
|
3431
|
-
return /* @__PURE__ */
|
|
3465
|
+
return /* @__PURE__ */ React34.createElement(
|
|
3432
3466
|
"span",
|
|
3433
3467
|
{
|
|
3434
3468
|
className: cn(
|
|
@@ -3445,11 +3479,11 @@ var Skeleton = ({
|
|
|
3445
3479
|
var Skeleton_default = Skeleton;
|
|
3446
3480
|
|
|
3447
3481
|
// app/components/Slider.tsx
|
|
3448
|
-
import
|
|
3482
|
+
import React35, { forwardRef as forwardRef11 } from "react";
|
|
3449
3483
|
var Slider = forwardRef11(
|
|
3450
3484
|
({ value, min = 0, max = 100, size = "sm", ...props }, ref) => {
|
|
3451
3485
|
const progress = (value - min) / (max - min) * 100;
|
|
3452
|
-
return /* @__PURE__ */
|
|
3486
|
+
return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(
|
|
3453
3487
|
"input",
|
|
3454
3488
|
{
|
|
3455
3489
|
ref,
|
|
@@ -3473,10 +3507,10 @@ Slider.displayName = "Slider";
|
|
|
3473
3507
|
var Slider_default = Slider;
|
|
3474
3508
|
|
|
3475
3509
|
// app/components/SplitButton.tsx
|
|
3476
|
-
import
|
|
3510
|
+
import React36, { forwardRef as forwardRef12 } from "react";
|
|
3477
3511
|
var SplitButton = forwardRef12(
|
|
3478
3512
|
({ children, className = "", size = "md", appearance = "primary", compact = false, ...props }, ref) => {
|
|
3479
|
-
return /* @__PURE__ */
|
|
3513
|
+
return /* @__PURE__ */ React36.createElement(
|
|
3480
3514
|
"div",
|
|
3481
3515
|
{
|
|
3482
3516
|
ref,
|
|
@@ -3491,7 +3525,7 @@ SplitButton.displayName = "SplitButton";
|
|
|
3491
3525
|
var SplitButton_default = SplitButton;
|
|
3492
3526
|
|
|
3493
3527
|
// app/components/Stepper.tsx
|
|
3494
|
-
import
|
|
3528
|
+
import React37, { useRef as useRef8 } from "react";
|
|
3495
3529
|
import { RiCheckLine as RiCheckLine2 } from "@remixicon/react";
|
|
3496
3530
|
var Stepper = ({
|
|
3497
3531
|
stepsConfig,
|
|
@@ -3507,14 +3541,14 @@ var Stepper = ({
|
|
|
3507
3541
|
return null;
|
|
3508
3542
|
}
|
|
3509
3543
|
const ActiveComponent = (_a = stepsConfig[currentStep - 1]) == null ? void 0 : _a.Component;
|
|
3510
|
-
return /* @__PURE__ */
|
|
3544
|
+
return /* @__PURE__ */ React37.createElement(
|
|
3511
3545
|
"div",
|
|
3512
3546
|
{
|
|
3513
3547
|
role: "region",
|
|
3514
3548
|
"aria-label": "Step Progress",
|
|
3515
3549
|
className: cn(position !== "horizontal" && "flex")
|
|
3516
3550
|
},
|
|
3517
|
-
/* @__PURE__ */
|
|
3551
|
+
/* @__PURE__ */ React37.createElement(
|
|
3518
3552
|
"div",
|
|
3519
3553
|
{
|
|
3520
3554
|
className: cn(
|
|
@@ -3524,7 +3558,7 @@ var Stepper = ({
|
|
|
3524
3558
|
role: "list",
|
|
3525
3559
|
"aria-label": `Progress: ${currentStep} of ${stepsConfig.length} steps`
|
|
3526
3560
|
},
|
|
3527
|
-
stepsConfig == null ? void 0 : stepsConfig.map((step, index) => /* @__PURE__ */
|
|
3561
|
+
stepsConfig == null ? void 0 : stepsConfig.map((step, index) => /* @__PURE__ */ React37.createElement(
|
|
3528
3562
|
"div",
|
|
3529
3563
|
{
|
|
3530
3564
|
key: index,
|
|
@@ -3539,7 +3573,7 @@ var Stepper = ({
|
|
|
3539
3573
|
"aria-current": currentStep === index + 1 ? "step" : void 0,
|
|
3540
3574
|
"aria-label": `${step.name}${step.helperName ? `, ${step.helperName}` : ""}, ${currentStep > index + 1 || isComplete ? "completed" : currentStep === index + 1 ? "current step" : "pending"}`
|
|
3541
3575
|
},
|
|
3542
|
-
/* @__PURE__ */
|
|
3576
|
+
/* @__PURE__ */ React37.createElement(
|
|
3543
3577
|
"div",
|
|
3544
3578
|
{
|
|
3545
3579
|
className: cn(
|
|
@@ -3547,23 +3581,23 @@ var Stepper = ({
|
|
|
3547
3581
|
position === "horizontal" ? "flex items-center" : "flex flex-col"
|
|
3548
3582
|
)
|
|
3549
3583
|
},
|
|
3550
|
-
/* @__PURE__ */
|
|
3584
|
+
/* @__PURE__ */ React37.createElement(
|
|
3551
3585
|
"div",
|
|
3552
3586
|
{
|
|
3553
3587
|
className: `w-[20px] h-[20px] rounded-full bg-gray-100 flex justify-center items-center ${currentStep === index + 1 ? "border border-primary-600" : "border border-gray-200"} ${currentStep > index + 1 || isComplete ? "bg-primary-600 border-none" : ""}`,
|
|
3554
3588
|
role: "status",
|
|
3555
3589
|
"aria-label": `Step ${index + 1} ${currentStep > index + 1 || isComplete ? "completed" : currentStep === index + 1 ? "current" : "pending"}`
|
|
3556
3590
|
},
|
|
3557
|
-
currentStep === index + 1 && !isComplete && /* @__PURE__ */
|
|
3591
|
+
currentStep === index + 1 && !isComplete && /* @__PURE__ */ React37.createElement(
|
|
3558
3592
|
"span",
|
|
3559
3593
|
{
|
|
3560
3594
|
"aria-hidden": "true",
|
|
3561
3595
|
className: "w-[10px] h-[10px] rounded-full bg-primary-600"
|
|
3562
3596
|
}
|
|
3563
3597
|
),
|
|
3564
|
-
(currentStep > index + 1 || isComplete) && /* @__PURE__ */
|
|
3598
|
+
(currentStep > index + 1 || isComplete) && /* @__PURE__ */ React37.createElement("span", { "aria-hidden": "true" }, /* @__PURE__ */ React37.createElement(RiCheckLine2, { size: 12, color: "#fff" }))
|
|
3565
3599
|
),
|
|
3566
|
-
index !== stepsConfig.length - 1 && /* @__PURE__ */
|
|
3600
|
+
index !== stepsConfig.length - 1 && /* @__PURE__ */ React37.createElement(
|
|
3567
3601
|
"div",
|
|
3568
3602
|
{
|
|
3569
3603
|
className: cn(
|
|
@@ -3572,7 +3606,7 @@ var Stepper = ({
|
|
|
3572
3606
|
),
|
|
3573
3607
|
"aria-hidden": "true"
|
|
3574
3608
|
},
|
|
3575
|
-
/* @__PURE__ */
|
|
3609
|
+
/* @__PURE__ */ React37.createElement(
|
|
3576
3610
|
"p",
|
|
3577
3611
|
{
|
|
3578
3612
|
className: cn(
|
|
@@ -3583,7 +3617,7 @@ var Stepper = ({
|
|
|
3583
3617
|
)
|
|
3584
3618
|
)
|
|
3585
3619
|
),
|
|
3586
|
-
/* @__PURE__ */
|
|
3620
|
+
/* @__PURE__ */ React37.createElement(
|
|
3587
3621
|
"div",
|
|
3588
3622
|
{
|
|
3589
3623
|
"aria-hidden": currentStep !== index + 1,
|
|
@@ -3592,7 +3626,7 @@ var Stepper = ({
|
|
|
3592
3626
|
position === "vertical" || (step == null ? void 0 : step.helperName) ? "-mt-1" : ""
|
|
3593
3627
|
)
|
|
3594
3628
|
},
|
|
3595
|
-
/* @__PURE__ */
|
|
3629
|
+
/* @__PURE__ */ React37.createElement(
|
|
3596
3630
|
"span",
|
|
3597
3631
|
{
|
|
3598
3632
|
"aria-label": "Helper text",
|
|
@@ -3600,27 +3634,27 @@ var Stepper = ({
|
|
|
3600
3634
|
},
|
|
3601
3635
|
step == null ? void 0 : step.helperName
|
|
3602
3636
|
),
|
|
3603
|
-
/* @__PURE__ */
|
|
3637
|
+
/* @__PURE__ */ React37.createElement("p", null, step == null ? void 0 : step.name)
|
|
3604
3638
|
)
|
|
3605
3639
|
))
|
|
3606
3640
|
),
|
|
3607
|
-
ActiveComponent && /* @__PURE__ */
|
|
3641
|
+
ActiveComponent && /* @__PURE__ */ React37.createElement(
|
|
3608
3642
|
"div",
|
|
3609
3643
|
{
|
|
3610
3644
|
role: "tabpanel",
|
|
3611
3645
|
"aria-label": `Current step: ${(_b = stepsConfig[currentStep - 1]) == null ? void 0 : _b.name}`,
|
|
3612
3646
|
tabIndex: 0
|
|
3613
3647
|
},
|
|
3614
|
-
/* @__PURE__ */
|
|
3648
|
+
/* @__PURE__ */ React37.createElement(ActiveComponent, null)
|
|
3615
3649
|
)
|
|
3616
3650
|
);
|
|
3617
3651
|
};
|
|
3618
3652
|
var Stepper_default = Stepper;
|
|
3619
3653
|
|
|
3620
3654
|
// app/components/TableComponents.tsx
|
|
3621
|
-
import
|
|
3655
|
+
import React38 from "react";
|
|
3622
3656
|
var Table = ({ children, className, dense, ...props }) => {
|
|
3623
|
-
return /* @__PURE__ */
|
|
3657
|
+
return /* @__PURE__ */ React38.createElement(
|
|
3624
3658
|
"table",
|
|
3625
3659
|
{
|
|
3626
3660
|
...props,
|
|
@@ -3638,7 +3672,7 @@ var TableHead = ({
|
|
|
3638
3672
|
className,
|
|
3639
3673
|
...props
|
|
3640
3674
|
}) => {
|
|
3641
|
-
return /* @__PURE__ */
|
|
3675
|
+
return /* @__PURE__ */ React38.createElement(
|
|
3642
3676
|
"thead",
|
|
3643
3677
|
{
|
|
3644
3678
|
...props,
|
|
@@ -3652,7 +3686,7 @@ var TableBody = ({
|
|
|
3652
3686
|
className,
|
|
3653
3687
|
...props
|
|
3654
3688
|
}) => {
|
|
3655
|
-
return /* @__PURE__ */
|
|
3689
|
+
return /* @__PURE__ */ React38.createElement("tbody", { ...props, className: cn(className) }, children);
|
|
3656
3690
|
};
|
|
3657
3691
|
var TableRow = ({
|
|
3658
3692
|
children,
|
|
@@ -3660,7 +3694,7 @@ var TableRow = ({
|
|
|
3660
3694
|
indent,
|
|
3661
3695
|
...props
|
|
3662
3696
|
}) => {
|
|
3663
|
-
return /* @__PURE__ */
|
|
3697
|
+
return /* @__PURE__ */ React38.createElement(
|
|
3664
3698
|
"tr",
|
|
3665
3699
|
{
|
|
3666
3700
|
...props,
|
|
@@ -3684,7 +3718,7 @@ var TableHeadCell = ({
|
|
|
3684
3718
|
right,
|
|
3685
3719
|
...props
|
|
3686
3720
|
}) => {
|
|
3687
|
-
return /* @__PURE__ */
|
|
3721
|
+
return /* @__PURE__ */ React38.createElement(
|
|
3688
3722
|
"th",
|
|
3689
3723
|
{
|
|
3690
3724
|
...props,
|
|
@@ -3702,7 +3736,7 @@ var TableHeadCell = ({
|
|
|
3702
3736
|
right
|
|
3703
3737
|
}
|
|
3704
3738
|
},
|
|
3705
|
-
/* @__PURE__ */
|
|
3739
|
+
/* @__PURE__ */ React38.createElement("div", { className: "flex items-center gap-1" }, /* @__PURE__ */ React38.createElement("span", { className: "font-medium text-xs" }, children), icon && /* @__PURE__ */ React38.createElement(
|
|
3706
3740
|
"span",
|
|
3707
3741
|
{
|
|
3708
3742
|
className: "hover:bg-gray-200 w-5 h-5 flex items-center justify-center p-1 rounded focus:bg-gray-300 active:bg-gray-300"
|
|
@@ -3722,7 +3756,7 @@ var TableDataCell = ({
|
|
|
3722
3756
|
right,
|
|
3723
3757
|
...props
|
|
3724
3758
|
}) => {
|
|
3725
|
-
return /* @__PURE__ */
|
|
3759
|
+
return /* @__PURE__ */ React38.createElement(
|
|
3726
3760
|
"td",
|
|
3727
3761
|
{
|
|
3728
3762
|
...props,
|
|
@@ -3740,8 +3774,8 @@ var TableDataCell = ({
|
|
|
3740
3774
|
right
|
|
3741
3775
|
}
|
|
3742
3776
|
},
|
|
3743
|
-
/* @__PURE__ */
|
|
3744
|
-
icon && /* @__PURE__ */
|
|
3777
|
+
/* @__PURE__ */ React38.createElement("span", { className: "font-medium text-sm" }, children),
|
|
3778
|
+
icon && /* @__PURE__ */ React38.createElement(
|
|
3745
3779
|
"span",
|
|
3746
3780
|
{
|
|
3747
3781
|
className: "hover:bg-gray-200 w-5 h-5 flex items-center justify-center p-1 rounded focus:bg-gray-300 active:bg-gray-300"
|
|
@@ -3753,13 +3787,13 @@ var TableDataCell = ({
|
|
|
3753
3787
|
var TableComponents_default = Table;
|
|
3754
3788
|
|
|
3755
3789
|
// app/components/Tabs.tsx
|
|
3756
|
-
import
|
|
3790
|
+
import React39 from "react";
|
|
3757
3791
|
var TabsContainer = ({
|
|
3758
3792
|
children,
|
|
3759
3793
|
className,
|
|
3760
3794
|
position = "horizontal"
|
|
3761
3795
|
}) => {
|
|
3762
|
-
return /* @__PURE__ */
|
|
3796
|
+
return /* @__PURE__ */ React39.createElement("div", { className: cn(position === "vertical" ? "flex" : "block", className) }, children);
|
|
3763
3797
|
};
|
|
3764
3798
|
var TabList = ({
|
|
3765
3799
|
onChange,
|
|
@@ -3770,11 +3804,11 @@ var TabList = ({
|
|
|
3770
3804
|
className,
|
|
3771
3805
|
position = "horizontal"
|
|
3772
3806
|
}) => {
|
|
3773
|
-
const [focusIndex, setFocusIndex] =
|
|
3774
|
-
const tabRefs =
|
|
3807
|
+
const [focusIndex, setFocusIndex] = React39.useState(0);
|
|
3808
|
+
const tabRefs = React39.useRef([]);
|
|
3775
3809
|
const handleKeyDown = (e, index) => {
|
|
3776
3810
|
var _a, _b, _c, _d, _e, _f;
|
|
3777
|
-
const tabCount =
|
|
3811
|
+
const tabCount = React39.Children.count(children);
|
|
3778
3812
|
switch (e.key) {
|
|
3779
3813
|
case "ArrowRight":
|
|
3780
3814
|
if (position === "horizontal") {
|
|
@@ -3821,7 +3855,7 @@ var TabList = ({
|
|
|
3821
3855
|
break;
|
|
3822
3856
|
}
|
|
3823
3857
|
};
|
|
3824
|
-
return /* @__PURE__ */
|
|
3858
|
+
return /* @__PURE__ */ React39.createElement(
|
|
3825
3859
|
"div",
|
|
3826
3860
|
{
|
|
3827
3861
|
className: cn(
|
|
@@ -3833,8 +3867,8 @@ var TabList = ({
|
|
|
3833
3867
|
"aria-label": ariaLabel,
|
|
3834
3868
|
"aria-orientation": position
|
|
3835
3869
|
},
|
|
3836
|
-
|
|
3837
|
-
if (
|
|
3870
|
+
React39.Children.map(children, (child, index) => {
|
|
3871
|
+
if (React39.isValidElement(child)) {
|
|
3838
3872
|
const childProps = {
|
|
3839
3873
|
onChange,
|
|
3840
3874
|
box,
|
|
@@ -3844,7 +3878,7 @@ var TabList = ({
|
|
|
3844
3878
|
onKeyDown: (e) => handleKeyDown(e, index),
|
|
3845
3879
|
tabIndex: index === focusIndex ? 0 : -1
|
|
3846
3880
|
};
|
|
3847
|
-
return
|
|
3881
|
+
return React39.cloneElement(child, {
|
|
3848
3882
|
...childProps,
|
|
3849
3883
|
ref: (el) => {
|
|
3850
3884
|
tabRefs.current[index] = el;
|
|
@@ -3863,7 +3897,7 @@ var TabList = ({
|
|
|
3863
3897
|
})
|
|
3864
3898
|
);
|
|
3865
3899
|
};
|
|
3866
|
-
var Tab =
|
|
3900
|
+
var Tab = React39.forwardRef(
|
|
3867
3901
|
({
|
|
3868
3902
|
label,
|
|
3869
3903
|
value,
|
|
@@ -3879,7 +3913,7 @@ var Tab = React40.forwardRef(
|
|
|
3879
3913
|
position = "horizontal"
|
|
3880
3914
|
}, ref) => {
|
|
3881
3915
|
const isSelected = value === selectedTabValue;
|
|
3882
|
-
return /* @__PURE__ */
|
|
3916
|
+
return /* @__PURE__ */ React39.createElement(
|
|
3883
3917
|
"button",
|
|
3884
3918
|
{
|
|
3885
3919
|
ref,
|
|
@@ -3920,9 +3954,9 @@ var Tab = React40.forwardRef(
|
|
|
3920
3954
|
),
|
|
3921
3955
|
onClick: () => onChange(value)
|
|
3922
3956
|
},
|
|
3923
|
-
icon && /* @__PURE__ */
|
|
3957
|
+
icon && /* @__PURE__ */ React39.createElement("span", { "aria-hidden": "true" }, icon),
|
|
3924
3958
|
label,
|
|
3925
|
-
content && /* @__PURE__ */
|
|
3959
|
+
content && /* @__PURE__ */ React39.createElement("span", { "aria-hidden": "true" }, content)
|
|
3926
3960
|
);
|
|
3927
3961
|
}
|
|
3928
3962
|
);
|
|
@@ -3932,7 +3966,7 @@ var TabPanel = ({
|
|
|
3932
3966
|
children,
|
|
3933
3967
|
className
|
|
3934
3968
|
}) => {
|
|
3935
|
-
return value === currentValue ? /* @__PURE__ */
|
|
3969
|
+
return value === currentValue ? /* @__PURE__ */ React39.createElement(
|
|
3936
3970
|
"div",
|
|
3937
3971
|
{
|
|
3938
3972
|
role: "tabpanel",
|
|
@@ -3948,22 +3982,12 @@ var Tabs_default = TabsContainer;
|
|
|
3948
3982
|
Tab.displayName = "Tab";
|
|
3949
3983
|
|
|
3950
3984
|
// app/components/Textarea.tsx
|
|
3951
|
-
import
|
|
3985
|
+
import React40, {
|
|
3952
3986
|
forwardRef as forwardRef13
|
|
3953
3987
|
} from "react";
|
|
3954
3988
|
var Textarea = forwardRef13(
|
|
3955
|
-
({
|
|
3956
|
-
|
|
3957
|
-
className,
|
|
3958
|
-
rows,
|
|
3959
|
-
cols,
|
|
3960
|
-
disabled,
|
|
3961
|
-
error,
|
|
3962
|
-
children,
|
|
3963
|
-
id,
|
|
3964
|
-
...props
|
|
3965
|
-
}, ref) => {
|
|
3966
|
-
return /* @__PURE__ */ React41.createElement(
|
|
3989
|
+
({ size, className, rows, cols, disabled, error, children, id, ...props }, ref) => {
|
|
3990
|
+
return /* @__PURE__ */ React40.createElement(
|
|
3967
3991
|
"textarea",
|
|
3968
3992
|
{
|
|
3969
3993
|
...props,
|
|
@@ -3972,7 +3996,7 @@ var Textarea = forwardRef13(
|
|
|
3972
3996
|
rows,
|
|
3973
3997
|
cols,
|
|
3974
3998
|
className: cn(
|
|
3975
|
-
"group flex items-center gap-2 border border-gray-200 rounded-lg bg-gray-
|
|
3999
|
+
"group flex items-center gap-2 border border-gray-200 rounded-lg bg-gray-25 shadow-xs hover:bg-gray-50 hover:border-gray-300 text-sm focus-within:border-primary-600 focus-within:bg-gray-25 focus-within:hover:bg-gray-50 focus-within:hover:border-primary-600 outline-none disabled:bg-gray-300 disabled:select-none disabled:pointer-events-none disabled:opacity-30 w-full placeholder:text-gray-500 hover:placeholder:text-gray-500 shadow-[0px_1px_2px_0px_#1018280D]",
|
|
3976
4000
|
size === "sm" ? "py-2.5 px-3.5" : "p-2.5",
|
|
3977
4001
|
error && "border-error-500 hover:border-error-600 focus-within:hover:border-error-500 focus-within:border-error-500",
|
|
3978
4002
|
className,
|
|
@@ -3988,7 +4012,7 @@ var Textarea_default = Textarea;
|
|
|
3988
4012
|
|
|
3989
4013
|
// app/components/TextInputWithLabel.tsx
|
|
3990
4014
|
import { RiCloseCircleLine } from "@remixicon/react";
|
|
3991
|
-
import
|
|
4015
|
+
import React41 from "react";
|
|
3992
4016
|
var TextInputWithLabel = ({
|
|
3993
4017
|
intent = "primary",
|
|
3994
4018
|
placeholder = "Enter tags",
|
|
@@ -4020,7 +4044,7 @@ var TextInputWithLabel = ({
|
|
|
4020
4044
|
const pasteData = e.clipboardData.getData("text");
|
|
4021
4045
|
handleAddTags(pasteData);
|
|
4022
4046
|
};
|
|
4023
|
-
return /* @__PURE__ */
|
|
4047
|
+
return /* @__PURE__ */ React41.createElement("div", null, /* @__PURE__ */ React41.createElement(
|
|
4024
4048
|
Input_default,
|
|
4025
4049
|
{
|
|
4026
4050
|
type,
|
|
@@ -4031,13 +4055,13 @@ var TextInputWithLabel = ({
|
|
|
4031
4055
|
className: "w-full",
|
|
4032
4056
|
...props
|
|
4033
4057
|
}
|
|
4034
|
-
), /* @__PURE__ */
|
|
4058
|
+
), /* @__PURE__ */ React41.createElement("div", { className: "flex flex-wrap items-center gap-2 mt-2 transition-all duration-300" }, tags == null ? void 0 : tags.map((tag, idx) => /* @__PURE__ */ React41.createElement(
|
|
4035
4059
|
Chip_default,
|
|
4036
4060
|
{
|
|
4037
4061
|
size: "md",
|
|
4038
4062
|
intent,
|
|
4039
4063
|
key: `${tag}-${idx}`,
|
|
4040
|
-
endIcon: /* @__PURE__ */
|
|
4064
|
+
endIcon: /* @__PURE__ */ React41.createElement(
|
|
4041
4065
|
RiCloseCircleLine,
|
|
4042
4066
|
{
|
|
4043
4067
|
size: 14,
|
|
@@ -4053,7 +4077,7 @@ var TextInputWithLabel_default = TextInputWithLabel;
|
|
|
4053
4077
|
|
|
4054
4078
|
// app/components/Toggle.tsx
|
|
4055
4079
|
import { cva as cva8 } from "class-variance-authority";
|
|
4056
|
-
import
|
|
4080
|
+
import React42, { forwardRef as forwardRef14 } from "react";
|
|
4057
4081
|
var toggleVariants = cva8("", {
|
|
4058
4082
|
variants: {
|
|
4059
4083
|
size: {
|
|
@@ -4073,7 +4097,7 @@ var toggleVariants = cva8("", {
|
|
|
4073
4097
|
});
|
|
4074
4098
|
var Toggle = forwardRef14(
|
|
4075
4099
|
({ size, className, intent, disabled, children, id, ...props }, ref) => {
|
|
4076
|
-
return /* @__PURE__ */
|
|
4100
|
+
return /* @__PURE__ */ React42.createElement(
|
|
4077
4101
|
"label",
|
|
4078
4102
|
{
|
|
4079
4103
|
className: cn(
|
|
@@ -4082,7 +4106,7 @@ var Toggle = forwardRef14(
|
|
|
4082
4106
|
),
|
|
4083
4107
|
htmlFor: id
|
|
4084
4108
|
},
|
|
4085
|
-
/* @__PURE__ */
|
|
4109
|
+
/* @__PURE__ */ React42.createElement(
|
|
4086
4110
|
"input",
|
|
4087
4111
|
{
|
|
4088
4112
|
type: "checkbox",
|
|
@@ -4095,7 +4119,7 @@ var Toggle = forwardRef14(
|
|
|
4095
4119
|
className: "sr-only peer"
|
|
4096
4120
|
}
|
|
4097
4121
|
),
|
|
4098
|
-
/* @__PURE__ */
|
|
4122
|
+
/* @__PURE__ */ React42.createElement(
|
|
4099
4123
|
"span",
|
|
4100
4124
|
{
|
|
4101
4125
|
className: cn(
|
|
@@ -4118,7 +4142,7 @@ var Toggle_default = Toggle;
|
|
|
4118
4142
|
|
|
4119
4143
|
// app/components/Tooltip.tsx
|
|
4120
4144
|
import { cva as cva9 } from "class-variance-authority";
|
|
4121
|
-
import
|
|
4145
|
+
import React43 from "react";
|
|
4122
4146
|
var tooltipVariants = cva9(
|
|
4123
4147
|
"bg-white shadow-lg rounded-lg absolute hidden group-hover:block p-3 z-10 max-w-[328px] w-max whitespace-normal opacity-0 group-hover:opacity-100 transform transition-all duration-1000 ease-in-out group-hover:delay-[2000ms]",
|
|
4124
4148
|
{
|
|
@@ -4152,12 +4176,12 @@ var Tooltip = ({
|
|
|
4152
4176
|
className,
|
|
4153
4177
|
...props
|
|
4154
4178
|
}) => {
|
|
4155
|
-
return /* @__PURE__ */
|
|
4179
|
+
return /* @__PURE__ */ React43.createElement("div", { ...props, className: "relative cursor-pointer text-sm group w-fit" }, /* @__PURE__ */ React43.createElement("div", null, children), /* @__PURE__ */ React43.createElement("div", { className: cn(tooltipVariants({ position }), className) }, content, /* @__PURE__ */ React43.createElement("div", { className: cn(arrowVariants({ position })) })));
|
|
4156
4180
|
};
|
|
4157
4181
|
var Tooltip_default = Tooltip;
|
|
4158
4182
|
|
|
4159
4183
|
// app/components/TreeView.tsx
|
|
4160
|
-
import
|
|
4184
|
+
import React44, { useState as useState11 } from "react";
|
|
4161
4185
|
import { RiArrowDownSFill, RiArrowRightSFill } from "@remixicon/react";
|
|
4162
4186
|
var TreeView = ({
|
|
4163
4187
|
children,
|
|
@@ -4170,8 +4194,8 @@ var TreeView = ({
|
|
|
4170
4194
|
allowMultiple = true,
|
|
4171
4195
|
expandTopLevelByDefault = false
|
|
4172
4196
|
}) => {
|
|
4173
|
-
const topLevelIds =
|
|
4174
|
-
(child) =>
|
|
4197
|
+
const topLevelIds = React44.Children.toArray(children).map(
|
|
4198
|
+
(child) => React44.isValidElement(child) ? child.props.id : null
|
|
4175
4199
|
).filter(Boolean);
|
|
4176
4200
|
const [internalExpanded, setInternalExpanded] = useState11(
|
|
4177
4201
|
() => new Set(
|
|
@@ -4199,9 +4223,9 @@ var TreeView = ({
|
|
|
4199
4223
|
}
|
|
4200
4224
|
};
|
|
4201
4225
|
const handleSelect = (id) => setSelectedId(id);
|
|
4202
|
-
const enhanceChildren = (nodes, level = 0) =>
|
|
4203
|
-
if (
|
|
4204
|
-
return
|
|
4226
|
+
const enhanceChildren = (nodes, level = 0) => React44.Children.map(nodes, (child) => {
|
|
4227
|
+
if (React44.isValidElement(child)) {
|
|
4228
|
+
return React44.cloneElement(child, {
|
|
4205
4229
|
level,
|
|
4206
4230
|
expanded: expandedNodes.has(child.props.id),
|
|
4207
4231
|
onToggle: toggleNode,
|
|
@@ -4213,7 +4237,7 @@ var TreeView = ({
|
|
|
4213
4237
|
}
|
|
4214
4238
|
return child;
|
|
4215
4239
|
});
|
|
4216
|
-
return /* @__PURE__ */
|
|
4240
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4217
4241
|
"ul",
|
|
4218
4242
|
{
|
|
4219
4243
|
role: "tree",
|
|
@@ -4223,7 +4247,7 @@ var TreeView = ({
|
|
|
4223
4247
|
enhanceChildren(children)
|
|
4224
4248
|
);
|
|
4225
4249
|
};
|
|
4226
|
-
var DefaultExpandIcon = ({ expanded }) => /* @__PURE__ */
|
|
4250
|
+
var DefaultExpandIcon = ({ expanded }) => /* @__PURE__ */ React44.createElement("span", { className: "transition-transform duration-200" }, expanded ? /* @__PURE__ */ React44.createElement(RiArrowDownSFill, { size: 18 }) : /* @__PURE__ */ React44.createElement(RiArrowRightSFill, { size: 18 }));
|
|
4227
4251
|
var TreeViewItem = ({
|
|
4228
4252
|
id,
|
|
4229
4253
|
children,
|
|
@@ -4240,8 +4264,8 @@ var TreeViewItem = ({
|
|
|
4240
4264
|
const trailing = [];
|
|
4241
4265
|
const content = [];
|
|
4242
4266
|
let subTree = null;
|
|
4243
|
-
|
|
4244
|
-
if (
|
|
4267
|
+
React44.Children.forEach(children, (child) => {
|
|
4268
|
+
if (React44.isValidElement(child)) {
|
|
4245
4269
|
if (child.type === TreeViewLeadingVisual)
|
|
4246
4270
|
leading.push(child);
|
|
4247
4271
|
else if (child.type === TreeViewTrailingVisual)
|
|
@@ -4282,8 +4306,8 @@ var TreeViewItem = ({
|
|
|
4282
4306
|
break;
|
|
4283
4307
|
}
|
|
4284
4308
|
};
|
|
4285
|
-
const processedSubTree = subTree &&
|
|
4286
|
-
return /* @__PURE__ */
|
|
4309
|
+
const processedSubTree = subTree && React44.isValidElement(subTree) ? React44.cloneElement(subTree, { expanded, flat }) : null;
|
|
4310
|
+
return /* @__PURE__ */ React44.createElement(React44.Fragment, null, /* @__PURE__ */ React44.createElement(
|
|
4287
4311
|
"li",
|
|
4288
4312
|
{
|
|
4289
4313
|
role: "treeitem",
|
|
@@ -4301,8 +4325,8 @@ var TreeViewItem = ({
|
|
|
4301
4325
|
onKeyDown: handleKeyDown,
|
|
4302
4326
|
tabIndex: 0
|
|
4303
4327
|
},
|
|
4304
|
-
/* @__PURE__ */
|
|
4305
|
-
/* @__PURE__ */
|
|
4328
|
+
/* @__PURE__ */ React44.createElement("span", { className: "flex items-center gap-1" }, !leading.length && hasSubTree && !flat && /* @__PURE__ */ React44.createElement(DefaultExpandIcon, { expanded }), leading),
|
|
4329
|
+
/* @__PURE__ */ React44.createElement("span", { className: "flex-1" }, content),
|
|
4306
4330
|
trailing
|
|
4307
4331
|
), processedSubTree);
|
|
4308
4332
|
};
|
|
@@ -4317,9 +4341,9 @@ var TreeViewSubTree = ({
|
|
|
4317
4341
|
if (flat)
|
|
4318
4342
|
return null;
|
|
4319
4343
|
if (state === "loading") {
|
|
4320
|
-
return /* @__PURE__ */
|
|
4344
|
+
return /* @__PURE__ */ React44.createElement("ul", { role: "group", className: cn("list-none m-0", className) }, /* @__PURE__ */ React44.createElement("li", { className: "text-gray-500 italic p-1 pl-6" }, "Loading", count ? ` ${count} items...` : "..."));
|
|
4321
4345
|
}
|
|
4322
|
-
return /* @__PURE__ */
|
|
4346
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4323
4347
|
"ul",
|
|
4324
4348
|
{
|
|
4325
4349
|
role: "group",
|
|
@@ -4332,8 +4356,8 @@ var TreeViewSubTree = ({
|
|
|
4332
4356
|
children
|
|
4333
4357
|
);
|
|
4334
4358
|
};
|
|
4335
|
-
var TreeViewLeadingVisual = ({ children, className }) => /* @__PURE__ */
|
|
4336
|
-
var TreeViewTrailingVisual = ({ children, label, className }) => /* @__PURE__ */
|
|
4359
|
+
var TreeViewLeadingVisual = ({ children, className }) => /* @__PURE__ */ React44.createElement("span", { className: cn("flex items-center flex-shrink-0", className) }, children);
|
|
4360
|
+
var TreeViewTrailingVisual = ({ children, label, className }) => /* @__PURE__ */ React44.createElement(
|
|
4337
4361
|
"span",
|
|
4338
4362
|
{
|
|
4339
4363
|
className: cn("flex items-center ml-auto flex-shrink-0", className),
|
|
@@ -4349,7 +4373,7 @@ var TreeView_default = TreeView;
|
|
|
4349
4373
|
|
|
4350
4374
|
// app/components/Typography.tsx
|
|
4351
4375
|
import { cva as cva10 } from "class-variance-authority";
|
|
4352
|
-
import
|
|
4376
|
+
import React45 from "react";
|
|
4353
4377
|
var typographyVariant = cva10("text-dark", {
|
|
4354
4378
|
variants: {
|
|
4355
4379
|
variant: {
|
|
@@ -4387,7 +4411,7 @@ var Typography = ({
|
|
|
4387
4411
|
...props
|
|
4388
4412
|
}) => {
|
|
4389
4413
|
const Component = as || ((variant == null ? void 0 : variant.startsWith("b")) ? "p" : variant);
|
|
4390
|
-
return /* @__PURE__ */
|
|
4414
|
+
return /* @__PURE__ */ React45.createElement(
|
|
4391
4415
|
Component,
|
|
4392
4416
|
{
|
|
4393
4417
|
className: cn(typographyVariant({ variant, intent, className })),
|
|
@@ -4407,7 +4431,7 @@ export {
|
|
|
4407
4431
|
Breadcrumb_default as BreadCrumb,
|
|
4408
4432
|
Button_default as Button,
|
|
4409
4433
|
Callout_default as Callout,
|
|
4410
|
-
|
|
4434
|
+
Card,
|
|
4411
4435
|
CardAction,
|
|
4412
4436
|
CardContent,
|
|
4413
4437
|
CardDescription,
|
|
@@ -4435,9 +4459,9 @@ export {
|
|
|
4435
4459
|
FileUploadPreview_default as FileUploadPreview,
|
|
4436
4460
|
GlobalNavigation_default as GlobalNavigation,
|
|
4437
4461
|
HelperText_default as HelperText,
|
|
4462
|
+
ImageUploadControlled,
|
|
4438
4463
|
Input_default as Input,
|
|
4439
4464
|
Label_default as Label,
|
|
4440
|
-
ListItem_default as ListItem,
|
|
4441
4465
|
ListPagination_default as ListPagination,
|
|
4442
4466
|
Loading_default as Loading,
|
|
4443
4467
|
Modal,
|
|
@@ -4446,7 +4470,6 @@ export {
|
|
|
4446
4470
|
Pagination_default as Pagination,
|
|
4447
4471
|
Progress_default as ProgressBar,
|
|
4448
4472
|
Radio_default as Radio,
|
|
4449
|
-
ImageUploadControlled as RazorPayFileUpload,
|
|
4450
4473
|
Sidebar_default as Sidebar,
|
|
4451
4474
|
Skeleton_default as Skeleton,
|
|
4452
4475
|
Slider_default as Slider,
|