@algorithm-shift/design-system 1.2.75 → 1.2.77
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.css +21 -3
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +20 -3
- package/dist/index.d.ts +20 -3
- package/dist/index.js +704 -647
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +580 -524
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -59,6 +59,7 @@ __export(src_exports, {
|
|
|
59
59
|
Phone: () => PhoneInput_default,
|
|
60
60
|
PieChart: () => PieChart_default,
|
|
61
61
|
RadioGroup: () => RadioInput_default,
|
|
62
|
+
Repeater: () => Repeater_default,
|
|
62
63
|
RichText: () => RichText,
|
|
63
64
|
Search: () => SearchInput_default,
|
|
64
65
|
Shape: () => Shape_default,
|
|
@@ -313,10 +314,33 @@ function TabGroupComponent({
|
|
|
313
314
|
] });
|
|
314
315
|
}
|
|
315
316
|
|
|
317
|
+
// src/components/Layout/Repeater.tsx
|
|
318
|
+
var import_react4 = __toESM(require("react"));
|
|
319
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
320
|
+
function Repeater({
|
|
321
|
+
items = [],
|
|
322
|
+
count,
|
|
323
|
+
render,
|
|
324
|
+
emptyFallback = null,
|
|
325
|
+
wrapper,
|
|
326
|
+
className
|
|
327
|
+
}) {
|
|
328
|
+
const list = import_react4.default.useMemo(
|
|
329
|
+
() => typeof count === "number" ? items.slice(0, count) : items,
|
|
330
|
+
[items, count]
|
|
331
|
+
);
|
|
332
|
+
if (!list.length) {
|
|
333
|
+
return emptyFallback ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: emptyFallback }) : null;
|
|
334
|
+
}
|
|
335
|
+
const content = list.map((item, i) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react4.default.Fragment, { children: render(item, i, list) }, i));
|
|
336
|
+
return wrapper ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: wrapper(content) }) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className, children: content });
|
|
337
|
+
}
|
|
338
|
+
var Repeater_default = import_react4.default.memo(Repeater);
|
|
339
|
+
|
|
316
340
|
// src/components/ui/button.tsx
|
|
317
341
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
318
342
|
var import_class_variance_authority = require("class-variance-authority");
|
|
319
|
-
var
|
|
343
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
320
344
|
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
321
345
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
322
346
|
{
|
|
@@ -350,7 +374,7 @@ function Button({
|
|
|
350
374
|
...props
|
|
351
375
|
}) {
|
|
352
376
|
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
353
|
-
return /* @__PURE__ */ (0,
|
|
377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
354
378
|
Comp,
|
|
355
379
|
{
|
|
356
380
|
"data-slot": "button",
|
|
@@ -361,7 +385,7 @@ function Button({
|
|
|
361
385
|
}
|
|
362
386
|
|
|
363
387
|
// src/components/Basic/Button/Button.tsx
|
|
364
|
-
var
|
|
388
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
365
389
|
var ButtonWrapper = ({
|
|
366
390
|
className,
|
|
367
391
|
style,
|
|
@@ -370,7 +394,7 @@ var ButtonWrapper = ({
|
|
|
370
394
|
loading = false,
|
|
371
395
|
...props
|
|
372
396
|
}) => {
|
|
373
|
-
return /* @__PURE__ */ (0,
|
|
397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
374
398
|
Button,
|
|
375
399
|
{
|
|
376
400
|
...props,
|
|
@@ -387,7 +411,7 @@ var Button_default = ButtonWrapper;
|
|
|
387
411
|
var image_placeholder_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAD25JREFUeJzt3XfwHGUdx/H3LyEJoQihJVITIEEQBUQHIQEBQaRMwApIyS8UQQREBQUZRaUXUQwwYoShSlWqQ5ci1ZE2YkIgEBIggNQEQgKk+Mf3t/7utt2ze7u35T6vmZ1M7vae57m7/fxu99nd5wERERERERERERERERERERERERERERERERERERERERERERERERERERERERGR7tJTdANiDAIOBDag3O2sm/eBS4Dnim6IxLsAWKKlkOVtYETrr6j+BhTdgBhfL7oBXWwYsH3RjSiDMgdkUNEN6HKDi25AGSxVdAMSeA14q+hG1FQPsFHRjZBk3qV5v/joYptTa0sTPA7pLbJBZVHmXSyRwikgIjEUEJEYCohIDAVEJIYCIhJDARGJoYCIxFBARGIoICIxqnQtVtYGAbsCewCfB9bELtB7G/gPcBdwBTC7qAaKxMnrWqweYC/gRVrfF/ERcB52+Xed6VqsCN22i7U0cBlwJbCOw/qDgMOAp4DP5dguKaluCshg4AZgnxSvXQu4F9sVky7STccgZwE7hTw+D7gFeBKYD4wEdgHG+NZbHrgR2AR4M7dWijjK8hhkLOHHGH8g/PiiB/g2FgT/ay5uox1lpWOQCsoyIHcS3AB+6vC6McB/fa9bDKzfRlvKSAGJkGQXa1ngCGwXJMp04FxggWOZawDfB1YKeW5ogrbFGQns4HvsZuAMh9c+C0zEdsE8PX2PHZ9F40psAvBF32PvAX/EfUigTwBHYl3oacwHLgSedlx/GWwbHRWzzgxgEvBByjZFuh63IWMudyxvCPCCY5nt/IJ8N6SszRK8vgd41Pf6f6VsS1mF/YJELW/g3u0d9suddJkLrO5Y37WOZV7nWF4iixwrn+tY3uaO5bUbkEm+cmalKON4XxkfUq8ewCQBWQLs7FDm0IRlxi3fcXwfCxzLW+hYXqIv2XXdxxzXm457mNqxaki9Sfl3KQYDK6RrTmLjgduws/ojO1RnnI9w2+VZAEzNoL7FWA+ji8cd1xvoWnk73byzsJ/bRtOAnzi+fg72l+gXwCohz29KgjeSQJr3HPaaRe02xMEE4CL6/zhtA2xHupAn9SLBYZbmAGcCLzm8fgmwO3Aabidlw8wDzgGmOK6/F3Zs6e9EWQ07l5Ur/8/UQTnXl1Uv1tm+ct4k+e7Rqb4y3if/8YInEL5b+xLZ96LVvRfrUILvz0md9qOj+H92VybYqxVnIPCtkDKdP+QU/L8cjdYE7qF+Xc2l1A0BuZ3gQdlpuA+teRiwnu+xm9ttVIxeosPhUUg6pBsC8gbW/ddoM2wjbHU8sjN2iUqjBcCl2TQtoBfr9/d/L09hu3WNFJKS+YDmfbi9c64vyzPpY7CuWf9+6MPAFgSPJ1YGTif8GOCkNtoRpzeivkewHrNx2Ik6//Mv035I6n4MMoHm9zYvj0pOb6hgOnaWNE9Z3w9yFMGNwFueBa7BJo65H+vKDFvvcWxjylov8eHw5BWSugdkGM33/5ySRyU92JwRe5N/OCD7gPRgXYZpT1Y9T/pLJuJMxC0cnjxCUveAAKyInXDclprMWJbHHYU9wDHAxyQLx73A8Azq90saDk/WIemGgNROntMffAa7ALFVMGZi53vy6MxIGw5PliFRQCqoE/ODrAv8ALvA8j7gIeAm7MTgl8nnTD60Hw5PViFRQCqorhPoHEA24fCMJTokox3LUEAqqI4BOQC7+C6rcHjaDYkCUkF1C0he4fC0ExIFpILqFJC8w+FJGxIFpILqEpBOhcOTJiQKSAXVISCdDodnLHYzmr/eVwgPiQKSgR7sJv7x2M3xeat6QIoKhydJSLohIMth4zBvkVcFv6b/w5vaV2GeqhyQAyk2HB7XkNQ9ICtgt0177+2EPCqZR/MHuFcelTTIKyDLYVd37o37PSFJlCUcHpeQ1D0g+9P83vy3DmTC/wFW5ZbbRsOxAQe8Mu8n21/CsoXD0yokdQ+Ibrl1MBz4O/Dphse2Bm4lm5AcCEwmeKXoo9iYwHMyqCOtB7Gbv97zPb46diGm6xn3rtMtAfHCsVHIc+NoPyQHUd5weB4Evkp4SO7qfHOqoRsCEhcOzzhs7Kk0ITkIG46zzOHwPER4SFYroC2VUPeADMfu2/aHYyHB/dCxJA9JlcLhiQqJhKhzQLxwbOh7/GNsGJ9DiA7J8g7lVzEcHoUkB1XqxRqOjcbnb/NH2Mkiz8GE9zo9QHxIol5XdG9VUlsR3rulXqwUqhIQ13B4ojb2BwkPSV3C4YkKSW+BbcqaAtInaTg8riGpWzg841BA2lb2gIwgXTg8rUJS13CAThRGqsskniOwrtyoA/IbHcqY3PfvBTQfeG+FTemwPuU4IF+nb/kn7jN5SUp16MXKIhyeyYT3bo2mHOGYiI3PdR82d+Kl2Iy8gzrYBolQxl2suN2q3duoO2p3qsjdqoFE9zi9iXU5b0e6P3raxcpA2QIyArvsPutweMp2zLEUwfGRw5bZ2AiSWyYoWwHJgH9jOSCPShrEBSTvcHj8ISn6gPw6WgekcZmBTfWwaYty6x4Qb7fZWxbnUcndNG+IeV8BGhWQuHCMz6EduwJ/Bk7G7Qx7nr5JsoA0LlOwG4XGhJRb94BsRP/lRUuAO/KoZBVsOrMrsLny8hYWkE6Ho2yGEjwOeR6bJCjJeMNPYHNJrt1Xbt0DAjar2DXA77DpLSrPH5Cz6O5weC6n+f2/j40RsCrwPayHy3XK7sXYdVk/Dnmut0PvR1LyByTsgLnbwgGwG8HPYU/fOmsAP8S6otPukvXm+zakXf6A+JcP6b5wgJ3zeJvmz+L6mPVHAcdh07glCchDwH4Uf9wlEeIC0q3h8PyJ5s9jAW6TGm0I/Ap4BvegzAf+gp10HZrlm5D2RAWk28MBsCPBz2VCwjI2w6bVezGkrKjlPayTZjd09r5wYQFROMxA4HWaP5tb2yhvS+zk4mzcw/I29ku2A/nNoyIx/AFROJqdR/Pn8zHtd18OwC5XuQC7fMU1LK8B52KXzddi/r8q8AfkV8U2p3S2JrihHpJh+UthQwVdgl2Q6RqWWcCZwOYZtkVCVHno0U7oAV6i+TO6J6e6hgBfA64mOMJm3PIscCLBK61rawD5DNcZRgFp7Tc0f0aLsHGu8rQsNmzrjdhur0tQFgNH5NwuF0PI8RaPnbB7EBZi+5t572sqIK19geDGeFQH618Ru0fF5VKXVzvYLr8B2O0Ai7DOjR3zqMT/c55LJQ0UEDfTaf6cHimgDSsCk4gPyLQC2uXxX30w0/WFSX5u1vT9f50Er5X8XO37/xbAyA7VvQp2lfNM4PCY9d6h2F0s/7a7duhaIap0T/qewMZFN6KE1gh5bC/sPpC8jMB+0Q/FjkmivAH8FuuSnptje0rB/5PZ6TsKtbgvT6b4vF2shR1/zm9R/yvYxZKdmInMRS1HNcnlrq8usQnWtTo1o/K8Cx4nEN+LORM4A7gQ6+GqvDKPavJQ0Q2ouKxmANsXO59xMNHhmI7NjzIaOJ+ahAPK/QvSC5yC/SXU5QutbYAdNHv2JJu5+H5J9HYyBfuOrsK6ULtap49BJJmjCX5Hm2VQbuOUdY3LEVTnD5emYBOuJvjF751BuUdjd276HY71Zkkf/YKU3wM0f0cvks1f+fGEX1YyDfhkBuXnTb8gAtixQKN1SDaAXJSbsDsK/b8kY7BJQKsQklQUkHq5luDBsmtv1vLE7zJ1bUhcaRerGu6i+Xt6ldZ/CPen/+TflcSf64ja3XqG8oaklmPzSjoHEfyuto9Zf2XsXvPG9W8k/p7zqoVEAZH/G4btBjV+V5Nj1j+R4Hdbt5AoINLkFpq/q7cI39hXIP6at7qEpCMBmeGrYNs8KpFM7Etwg9g1ZL2fhayXZUjKcp5kJ5rbNj2PSrYBXsDuST6F6pxF7UbLE5xL5DLfOstgl6M3rrOA8JDcQLVD0oMNJPEBFo6xxTZHysA/l8hcbBR3z48IbtBHASeFPF6HkIg0CZtL5Bt9zw0hOEjc6/Tfv6GQSO2FzSVyXd9zhxHciI/1vT7rkExFIZGS8c8l8gGwEsHxeN8ifBT3kwkPyfUoJFIDYXOJ3BHy2AkxZSgkUlthc4n4lznYycU4WYdkCpp3RErCP5eIfznVsZx2QhI2qNyBCd+HSC52IDoc87C5DV2dElHOX4kOSVh38hKC08aJFGIgNj1B2EZ6dorykoQkbHLQJdhcJppTRErjXIIb6QLSXy/lEpKwe+SXALfRfMKyNlbHxju6Gdil4LZIMuMIbqjnt1lmXEiOjXiuyHCMxy7inExOvWiN9zsvpIvmfKiBHqznqPF8iPP4tDFOJTwIZQvHJjRPI35fHpWoF6LaRgGXYrfOfinDcl1CcjvF7lYdEtKmzPkr0P0g4okLSdHhAI1qIgU7jvDR5O8Edsc6BCpJAZGsHEf/BY5gB8TjqXA4oNxj80r1/Byb6mw5shtZvlAKiGTtpaIbkCXtYonEUEBEYiggIjEUEJEYCohIDAVEJIYCIhJDARGJoYCIxEgSkHm+/8/JsiEiOXrf9/+5eVTSOBL4E/QPUylSdsvRPJ31MXlV9FlgR2xsV5EqWRr4CrBx0Q0RERERERERERERERERkZJLMgT9AGAPbNjKWdj4riJVMRzYD1gDeI4chh89j/5rWV7GJoMUqYJVgVfp337PyaMS/1xz++RRiUgOJtK87c53fWGSy90H+/4/NMFrRYrkv7jWeTBt3TAlEkMBEYmhgIjE6Emwrr9b7HXgXd9j04EjgRdalLUWMAn4VIL6Pc/11TGjxXpr99WxQYo6ngWOAGa2WG9kXx2jU9Qxra+OWS3WGwX8PmUdz2CfVas61u2rY/0UdUzF3sfLDnVMAtZLUccU4HBgdov1RmPvY5Tv8WHAar7Hkmz7TlznonvQoay7EpSXto572qzDZR67f7RZx90OdTTODZlXHQ+3WcftDnU80mYdf3Oo47EE5WVuoWPFLjfEN/ZJp1lcBox4o8063nKo450263i9JHW812Ydr3Sgjla/5mCT9biU9bFDWUCyY5BrHde7OsOyolyT0TpVqKMun1Un3odrHVe5VppkP2wINrPtujHrTAMupnVClwL2BzZKUH+aOiaQbrrqqcAl2K9mnEF9daQ5lpqCzTrrUkcv6Y6lktQxERiToo6ngcuARS3WG4y9jzR1/Bu43LGOA4g/lpoOXAR8lKIdIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIrX3Py2wAaYahY2rAAAAAElFTkSuQmCC";
|
|
388
412
|
|
|
389
413
|
// src/components/Basic/Image/Image.tsx
|
|
390
|
-
var
|
|
414
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
391
415
|
var ImageControl = ({
|
|
392
416
|
className,
|
|
393
417
|
style,
|
|
@@ -404,26 +428,26 @@ var ImageControl = ({
|
|
|
404
428
|
className
|
|
405
429
|
);
|
|
406
430
|
if (!imageUrl && !imageUrlExternal) {
|
|
407
|
-
return /* @__PURE__ */ (0,
|
|
431
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: imageClass, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("img", { src: image_placeholder_default, alt: altText, className: "opacity-50", width: 50, height: 50 }) });
|
|
408
432
|
}
|
|
409
433
|
const url = imageUrlExternal || imageUrl;
|
|
410
|
-
return /* @__PURE__ */ (0,
|
|
434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("img", { src: url, alt: altText, className: defaultImgClass, style });
|
|
411
435
|
};
|
|
412
436
|
var Image_default = ImageControl;
|
|
413
437
|
|
|
414
438
|
// src/components/Basic/Shape/Shape.tsx
|
|
415
|
-
var
|
|
439
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
416
440
|
var Shape = ({
|
|
417
441
|
children,
|
|
418
442
|
className,
|
|
419
443
|
style
|
|
420
444
|
}) => {
|
|
421
|
-
return /* @__PURE__ */ (0,
|
|
445
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className, style, children });
|
|
422
446
|
};
|
|
423
447
|
var Shape_default = Shape;
|
|
424
448
|
|
|
425
449
|
// src/components/Basic/Typography/Typography.tsx
|
|
426
|
-
var
|
|
450
|
+
var import_react5 = __toESM(require("react"));
|
|
427
451
|
var Typography = ({
|
|
428
452
|
className,
|
|
429
453
|
style,
|
|
@@ -431,14 +455,14 @@ var Typography = ({
|
|
|
431
455
|
textContent
|
|
432
456
|
}) => {
|
|
433
457
|
const Tag2 = tagName || "h1";
|
|
434
|
-
return
|
|
458
|
+
return import_react5.default.createElement(
|
|
435
459
|
Tag2,
|
|
436
460
|
{
|
|
437
461
|
style,
|
|
438
462
|
className: cn(className, "pointer-events-auto")
|
|
439
463
|
},
|
|
440
464
|
[
|
|
441
|
-
|
|
465
|
+
import_react5.default.createElement("span", {
|
|
442
466
|
key: "html",
|
|
443
467
|
className: "pointer-events-none",
|
|
444
468
|
dangerouslySetInnerHTML: { __html: textContent }
|
|
@@ -7646,7 +7670,7 @@ __export(icons_exports, {
|
|
|
7646
7670
|
});
|
|
7647
7671
|
|
|
7648
7672
|
// node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
7649
|
-
var
|
|
7673
|
+
var import_react7 = require("react");
|
|
7650
7674
|
|
|
7651
7675
|
// node_modules/lucide-react/dist/esm/shared/src/utils.js
|
|
7652
7676
|
var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
@@ -7670,7 +7694,7 @@ var hasA11yProp = (props) => {
|
|
|
7670
7694
|
};
|
|
7671
7695
|
|
|
7672
7696
|
// node_modules/lucide-react/dist/esm/Icon.js
|
|
7673
|
-
var
|
|
7697
|
+
var import_react6 = require("react");
|
|
7674
7698
|
|
|
7675
7699
|
// node_modules/lucide-react/dist/esm/defaultAttributes.js
|
|
7676
7700
|
var defaultAttributes = {
|
|
@@ -7686,7 +7710,7 @@ var defaultAttributes = {
|
|
|
7686
7710
|
};
|
|
7687
7711
|
|
|
7688
7712
|
// node_modules/lucide-react/dist/esm/Icon.js
|
|
7689
|
-
var Icon = (0,
|
|
7713
|
+
var Icon = (0, import_react6.forwardRef)(
|
|
7690
7714
|
({
|
|
7691
7715
|
color = "currentColor",
|
|
7692
7716
|
size = 24,
|
|
@@ -7696,7 +7720,7 @@ var Icon = (0, import_react5.forwardRef)(
|
|
|
7696
7720
|
children,
|
|
7697
7721
|
iconNode,
|
|
7698
7722
|
...rest
|
|
7699
|
-
}, ref) => (0,
|
|
7723
|
+
}, ref) => (0, import_react6.createElement)(
|
|
7700
7724
|
"svg",
|
|
7701
7725
|
{
|
|
7702
7726
|
ref,
|
|
@@ -7710,7 +7734,7 @@ var Icon = (0, import_react5.forwardRef)(
|
|
|
7710
7734
|
...rest
|
|
7711
7735
|
},
|
|
7712
7736
|
[
|
|
7713
|
-
...iconNode.map(([tag, attrs]) => (0,
|
|
7737
|
+
...iconNode.map(([tag, attrs]) => (0, import_react6.createElement)(tag, attrs)),
|
|
7714
7738
|
...Array.isArray(children) ? children : [children]
|
|
7715
7739
|
]
|
|
7716
7740
|
)
|
|
@@ -7718,8 +7742,8 @@ var Icon = (0, import_react5.forwardRef)(
|
|
|
7718
7742
|
|
|
7719
7743
|
// node_modules/lucide-react/dist/esm/createLucideIcon.js
|
|
7720
7744
|
var createLucideIcon = (iconName, iconNode) => {
|
|
7721
|
-
const Component2 = (0,
|
|
7722
|
-
({ className, ...props }, ref) => (0,
|
|
7745
|
+
const Component2 = (0, import_react7.forwardRef)(
|
|
7746
|
+
({ className, ...props }, ref) => (0, import_react7.createElement)(Icon, {
|
|
7723
7747
|
ref,
|
|
7724
7748
|
iconNode,
|
|
7725
7749
|
className: mergeClasses(
|
|
@@ -26756,9 +26780,9 @@ var ZoomOut = createLucideIcon("zoom-out", __iconNode1634);
|
|
|
26756
26780
|
|
|
26757
26781
|
// src/components/Basic/Breadcrumb/Breadcrumb.tsx
|
|
26758
26782
|
var import_link3 = __toESM(require("next/link"));
|
|
26759
|
-
var
|
|
26783
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
26760
26784
|
var Breadcrumb = ({ list = [], className, style }) => {
|
|
26761
|
-
return /* @__PURE__ */ (0,
|
|
26785
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
26762
26786
|
"nav",
|
|
26763
26787
|
{
|
|
26764
26788
|
"aria-label": "breadcrumb",
|
|
@@ -26766,16 +26790,16 @@ var Breadcrumb = ({ list = [], className, style }) => {
|
|
|
26766
26790
|
style,
|
|
26767
26791
|
children: list.map((item, index) => {
|
|
26768
26792
|
const isLast = index === list.length - 1;
|
|
26769
|
-
return /* @__PURE__ */ (0,
|
|
26770
|
-
item.url && !isLast ? /* @__PURE__ */ (0,
|
|
26793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center", children: [
|
|
26794
|
+
item.url && !isLast ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
26771
26795
|
import_link3.default,
|
|
26772
26796
|
{
|
|
26773
26797
|
href: item.url,
|
|
26774
26798
|
className: "hover:text-foreground transition-colors",
|
|
26775
26799
|
children: item.header
|
|
26776
26800
|
}
|
|
26777
|
-
) : /* @__PURE__ */ (0,
|
|
26778
|
-
!isLast && /* @__PURE__ */ (0,
|
|
26801
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "text-foreground font-medium", children: item.header }),
|
|
26802
|
+
!isLast && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ChevronRight, { className: "mx-2 h-4 w-4 text-muted-foreground" })
|
|
26779
26803
|
] }, item.id);
|
|
26780
26804
|
})
|
|
26781
26805
|
}
|
|
@@ -26785,16 +26809,16 @@ var Breadcrumb_default = Breadcrumb;
|
|
|
26785
26809
|
|
|
26786
26810
|
// src/components/ui/dropdown-menu.tsx
|
|
26787
26811
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
26788
|
-
var
|
|
26812
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
26789
26813
|
function DropdownMenu({
|
|
26790
26814
|
...props
|
|
26791
26815
|
}) {
|
|
26792
|
-
return /* @__PURE__ */ (0,
|
|
26816
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
26793
26817
|
}
|
|
26794
26818
|
function DropdownMenuTrigger({
|
|
26795
26819
|
...props
|
|
26796
26820
|
}) {
|
|
26797
|
-
return /* @__PURE__ */ (0,
|
|
26821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
26798
26822
|
DropdownMenuPrimitive.Trigger,
|
|
26799
26823
|
{
|
|
26800
26824
|
"data-slot": "dropdown-menu-trigger",
|
|
@@ -26807,7 +26831,7 @@ function DropdownMenuContent({
|
|
|
26807
26831
|
sideOffset = 4,
|
|
26808
26832
|
...props
|
|
26809
26833
|
}) {
|
|
26810
|
-
return /* @__PURE__ */ (0,
|
|
26834
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
26811
26835
|
DropdownMenuPrimitive.Content,
|
|
26812
26836
|
{
|
|
26813
26837
|
"data-slot": "dropdown-menu-content",
|
|
@@ -26826,7 +26850,7 @@ function DropdownMenuItem({
|
|
|
26826
26850
|
variant = "default",
|
|
26827
26851
|
...props
|
|
26828
26852
|
}) {
|
|
26829
|
-
return /* @__PURE__ */ (0,
|
|
26853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
26830
26854
|
DropdownMenuPrimitive.Item,
|
|
26831
26855
|
{
|
|
26832
26856
|
"data-slot": "dropdown-menu-item",
|
|
@@ -26843,7 +26867,7 @@ function DropdownMenuItem({
|
|
|
26843
26867
|
function DropdownMenuSub({
|
|
26844
26868
|
...props
|
|
26845
26869
|
}) {
|
|
26846
|
-
return /* @__PURE__ */ (0,
|
|
26870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
26847
26871
|
}
|
|
26848
26872
|
function DropdownMenuSubTrigger({
|
|
26849
26873
|
className,
|
|
@@ -26851,7 +26875,7 @@ function DropdownMenuSubTrigger({
|
|
|
26851
26875
|
children,
|
|
26852
26876
|
...props
|
|
26853
26877
|
}) {
|
|
26854
|
-
return /* @__PURE__ */ (0,
|
|
26878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
26855
26879
|
DropdownMenuPrimitive.SubTrigger,
|
|
26856
26880
|
{
|
|
26857
26881
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -26863,7 +26887,7 @@ function DropdownMenuSubTrigger({
|
|
|
26863
26887
|
...props,
|
|
26864
26888
|
children: [
|
|
26865
26889
|
children,
|
|
26866
|
-
/* @__PURE__ */ (0,
|
|
26890
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ChevronRight, { className: "ml-auto size-4" })
|
|
26867
26891
|
]
|
|
26868
26892
|
}
|
|
26869
26893
|
);
|
|
@@ -26872,7 +26896,7 @@ function DropdownMenuSubContent({
|
|
|
26872
26896
|
className,
|
|
26873
26897
|
...props
|
|
26874
26898
|
}) {
|
|
26875
|
-
return /* @__PURE__ */ (0,
|
|
26899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
26876
26900
|
DropdownMenuPrimitive.SubContent,
|
|
26877
26901
|
{
|
|
26878
26902
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -26887,11 +26911,11 @@ function DropdownMenuSubContent({
|
|
|
26887
26911
|
|
|
26888
26912
|
// src/components/Basic/ButtonGroup/ButtonGroup.tsx
|
|
26889
26913
|
var import_link4 = __toESM(require("next/link"));
|
|
26890
|
-
var
|
|
26914
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
26891
26915
|
function SplitButton({ style, textContent, className, list = [] }) {
|
|
26892
26916
|
const bgColor = style?.backgroundColor || "";
|
|
26893
|
-
return /* @__PURE__ */ (0,
|
|
26894
|
-
/* @__PURE__ */ (0,
|
|
26917
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "inline-flex rounded-md overflow-hidden border border-teal-200 bg-teal-700 items-center focus:ring-0", style: { backgroundColor: bgColor }, children: [
|
|
26918
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
26895
26919
|
Button,
|
|
26896
26920
|
{
|
|
26897
26921
|
className: `rounded-none border-r px-4 py-2 text-whit focus:ring-0 ${className || ""}`,
|
|
@@ -26899,17 +26923,17 @@ function SplitButton({ style, textContent, className, list = [] }) {
|
|
|
26899
26923
|
children: textContent || "Button"
|
|
26900
26924
|
}
|
|
26901
26925
|
),
|
|
26902
|
-
/* @__PURE__ */ (0,
|
|
26903
|
-
/* @__PURE__ */ (0,
|
|
26926
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(DropdownMenu, { children: [
|
|
26927
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
26904
26928
|
Button,
|
|
26905
26929
|
{
|
|
26906
26930
|
className: "rounded-none bg-teal-700 px-4 py-2 text-white ring-0 shadow-none hover:bg-teal-600 focus:ring-0",
|
|
26907
26931
|
"aria-label": "Open Dropdown",
|
|
26908
26932
|
style: { backgroundColor: bgColor },
|
|
26909
|
-
children: /* @__PURE__ */ (0,
|
|
26933
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ChevronDown, { className: "w-4 h-4" })
|
|
26910
26934
|
}
|
|
26911
26935
|
) }),
|
|
26912
|
-
/* @__PURE__ */ (0,
|
|
26936
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownMenuContent, { align: "end", className: "bg-white min-w-[120px]", children: list.map((item) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(DropdownMenuItem, { className: "text-black", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_link4.default, { href: item.url || "#", children: item.header }) }, item.id)) })
|
|
26913
26937
|
] })
|
|
26914
26938
|
] });
|
|
26915
26939
|
}
|
|
@@ -26917,7 +26941,7 @@ function SplitButton({ style, textContent, className, list = [] }) {
|
|
|
26917
26941
|
// src/components/Basic/Icon/Icon.tsx
|
|
26918
26942
|
var faSolid = __toESM(require("@fortawesome/free-solid-svg-icons"));
|
|
26919
26943
|
var import_react_fontawesome2 = require("@fortawesome/react-fontawesome");
|
|
26920
|
-
var
|
|
26944
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
26921
26945
|
var Icon2 = ({ iconType = "fontawesome", name = "Envelope", className, fontSize = 10, style }) => {
|
|
26922
26946
|
let content = null;
|
|
26923
26947
|
if (iconType === "fontawesome") {
|
|
@@ -26926,7 +26950,7 @@ var Icon2 = ({ iconType = "fontawesome", name = "Envelope", className, fontSize
|
|
|
26926
26950
|
if (!faIcon) {
|
|
26927
26951
|
return null;
|
|
26928
26952
|
}
|
|
26929
|
-
content = /* @__PURE__ */ (0,
|
|
26953
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
26930
26954
|
import_react_fontawesome2.FontAwesomeIcon,
|
|
26931
26955
|
{
|
|
26932
26956
|
icon: faIcon,
|
|
@@ -26940,19 +26964,19 @@ var Icon2 = ({ iconType = "fontawesome", name = "Envelope", className, fontSize
|
|
|
26940
26964
|
if (!Lucide) {
|
|
26941
26965
|
return null;
|
|
26942
26966
|
}
|
|
26943
|
-
content = /* @__PURE__ */ (0,
|
|
26967
|
+
content = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Lucide, { className: cn("w-5 h-5"), size: fontSize, style: { color: style?.color } });
|
|
26944
26968
|
}
|
|
26945
|
-
return /* @__PURE__ */ (0,
|
|
26969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { style, className, children: content });
|
|
26946
26970
|
};
|
|
26947
26971
|
var Icon_default = Icon2;
|
|
26948
26972
|
|
|
26949
26973
|
// src/components/Inputs/TextInput/TextInput.tsx
|
|
26950
|
-
var
|
|
26974
|
+
var import_react8 = require("react");
|
|
26951
26975
|
|
|
26952
26976
|
// src/components/ui/input.tsx
|
|
26953
|
-
var
|
|
26977
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
26954
26978
|
function Input({ className, type, ...props }) {
|
|
26955
|
-
return /* @__PURE__ */ (0,
|
|
26979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
26956
26980
|
"input",
|
|
26957
26981
|
{
|
|
26958
26982
|
type,
|
|
@@ -26969,14 +26993,14 @@ function Input({ className, type, ...props }) {
|
|
|
26969
26993
|
}
|
|
26970
26994
|
|
|
26971
26995
|
// src/components/Inputs/TextInput/TextInput.tsx
|
|
26972
|
-
var
|
|
26996
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
26973
26997
|
var TextInput = ({ className, style, ...props }) => {
|
|
26974
26998
|
const placeholder = props.placeholder || "Placeholder text";
|
|
26975
26999
|
const isEditable = props.isEditable ?? true;
|
|
26976
27000
|
const isDisabled = props.isDisabled ?? false;
|
|
26977
27001
|
const isReadonly = props.isReadonly ?? false;
|
|
26978
27002
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
26979
|
-
(0,
|
|
27003
|
+
(0, import_react8.useEffect)(() => {
|
|
26980
27004
|
if (props.value !== void 0) {
|
|
26981
27005
|
const e = { target: { value: props.value } };
|
|
26982
27006
|
handleChange?.(e);
|
|
@@ -26985,8 +27009,8 @@ var TextInput = ({ className, style, ...props }) => {
|
|
|
26985
27009
|
const handleChange = (e) => {
|
|
26986
27010
|
props.onChange?.(e);
|
|
26987
27011
|
};
|
|
26988
|
-
return /* @__PURE__ */ (0,
|
|
26989
|
-
/* @__PURE__ */ (0,
|
|
27012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
27013
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
26990
27014
|
Input,
|
|
26991
27015
|
{
|
|
26992
27016
|
type: "text",
|
|
@@ -27004,21 +27028,21 @@ var TextInput = ({ className, style, ...props }) => {
|
|
|
27004
27028
|
readOnly: isReadonly
|
|
27005
27029
|
}
|
|
27006
27030
|
),
|
|
27007
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27031
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27008
27032
|
] });
|
|
27009
27033
|
};
|
|
27010
27034
|
var TextInput_default = TextInput;
|
|
27011
27035
|
|
|
27012
27036
|
// src/components/Inputs/NumberInput/NumberInput.tsx
|
|
27013
|
-
var
|
|
27014
|
-
var
|
|
27037
|
+
var import_react9 = require("react");
|
|
27038
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
27015
27039
|
var NumberInput = ({ className, style, ...props }) => {
|
|
27016
27040
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27017
27041
|
const isEditable = props.isEditable ?? true;
|
|
27018
27042
|
const isDisabled = props.isDisabled ?? false;
|
|
27019
27043
|
const isReadonly = props.isReadonly ?? false;
|
|
27020
27044
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
27021
|
-
(0,
|
|
27045
|
+
(0, import_react9.useEffect)(() => {
|
|
27022
27046
|
if (props.value !== void 0) {
|
|
27023
27047
|
const e = { target: { value: props.value } };
|
|
27024
27048
|
handleChange?.(e);
|
|
@@ -27027,44 +27051,41 @@ var NumberInput = ({ className, style, ...props }) => {
|
|
|
27027
27051
|
const handleChange = (e) => {
|
|
27028
27052
|
props.onChange?.(e);
|
|
27029
27053
|
};
|
|
27030
|
-
return /* @__PURE__ */ (0,
|
|
27031
|
-
/* @__PURE__ */ (0,
|
|
27032
|
-
|
|
27033
|
-
|
|
27034
|
-
|
|
27035
|
-
|
|
27036
|
-
|
|
27037
|
-
|
|
27038
|
-
|
|
27039
|
-
|
|
27040
|
-
|
|
27041
|
-
|
|
27042
|
-
|
|
27043
|
-
|
|
27044
|
-
|
|
27045
|
-
|
|
27046
|
-
|
|
27047
|
-
|
|
27048
|
-
|
|
27049
|
-
|
|
27050
|
-
|
|
27051
|
-
)
|
|
27052
|
-
] }),
|
|
27053
|
-
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27054
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
27055
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex justify-start items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
27056
|
+
Input,
|
|
27057
|
+
{
|
|
27058
|
+
type: "number",
|
|
27059
|
+
id: props.name || "number-field",
|
|
27060
|
+
name: props.name,
|
|
27061
|
+
value: props.value || "",
|
|
27062
|
+
className: cn(className, props.errorMessage ? "border-red-500" : ""),
|
|
27063
|
+
style: {
|
|
27064
|
+
...style,
|
|
27065
|
+
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
27066
|
+
},
|
|
27067
|
+
autoComplete: isAutocomplete ? "on" : "off",
|
|
27068
|
+
placeholder,
|
|
27069
|
+
onChange: handleChange,
|
|
27070
|
+
disabled: isDisabled || !isEditable,
|
|
27071
|
+
readOnly: isReadonly
|
|
27072
|
+
}
|
|
27073
|
+
) }),
|
|
27074
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27054
27075
|
] });
|
|
27055
27076
|
};
|
|
27056
27077
|
var NumberInput_default = NumberInput;
|
|
27057
27078
|
|
|
27058
27079
|
// src/components/Inputs/EmailInput/EmailInput.tsx
|
|
27059
|
-
var
|
|
27060
|
-
var
|
|
27080
|
+
var import_react10 = require("react");
|
|
27081
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
27061
27082
|
var EmailInput = ({ className, style, ...props }) => {
|
|
27062
27083
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27063
27084
|
const isEditable = props.isEditable ?? true;
|
|
27064
27085
|
const isDisabled = props.isDisabled ?? false;
|
|
27065
27086
|
const isReadonly = props.isReadonly ?? false;
|
|
27066
27087
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
27067
|
-
(0,
|
|
27088
|
+
(0, import_react10.useEffect)(() => {
|
|
27068
27089
|
if (props.value !== void 0) {
|
|
27069
27090
|
const e = { target: { value: props.value } };
|
|
27070
27091
|
handleChange?.(e);
|
|
@@ -27073,43 +27094,40 @@ var EmailInput = ({ className, style, ...props }) => {
|
|
|
27073
27094
|
const handleChange = (e) => {
|
|
27074
27095
|
props.onChange?.(e);
|
|
27075
27096
|
};
|
|
27076
|
-
return /* @__PURE__ */ (0,
|
|
27077
|
-
/* @__PURE__ */ (0,
|
|
27078
|
-
|
|
27079
|
-
|
|
27080
|
-
|
|
27081
|
-
|
|
27082
|
-
|
|
27083
|
-
|
|
27084
|
-
|
|
27085
|
-
|
|
27086
|
-
|
|
27087
|
-
|
|
27088
|
-
|
|
27089
|
-
|
|
27090
|
-
|
|
27091
|
-
|
|
27092
|
-
|
|
27093
|
-
|
|
27094
|
-
|
|
27095
|
-
|
|
27096
|
-
)
|
|
27097
|
-
] }),
|
|
27098
|
-
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27097
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_jsx_runtime22.Fragment, { children: [
|
|
27098
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "flex justify-start items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
27099
|
+
Input,
|
|
27100
|
+
{
|
|
27101
|
+
type: "email",
|
|
27102
|
+
name: props.name,
|
|
27103
|
+
value: props.value || "",
|
|
27104
|
+
className: cn(className, props.errorMessage ? "border-red-500" : ""),
|
|
27105
|
+
style: {
|
|
27106
|
+
...style,
|
|
27107
|
+
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
27108
|
+
},
|
|
27109
|
+
autoComplete: isAutocomplete ? "on" : "off",
|
|
27110
|
+
placeholder,
|
|
27111
|
+
onChange: handleChange,
|
|
27112
|
+
disabled: isDisabled || !isEditable,
|
|
27113
|
+
readOnly: isReadonly
|
|
27114
|
+
}
|
|
27115
|
+
) }),
|
|
27116
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27099
27117
|
] });
|
|
27100
27118
|
};
|
|
27101
27119
|
var EmailInput_default = EmailInput;
|
|
27102
27120
|
|
|
27103
27121
|
// src/components/Inputs/PasswordInput/PasswordInput.tsx
|
|
27104
|
-
var
|
|
27105
|
-
var
|
|
27122
|
+
var import_react11 = require("react");
|
|
27123
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
27106
27124
|
var PasswordInput = ({ className, style, ...props }) => {
|
|
27107
27125
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27108
27126
|
const isEditable = props.isEditable ?? true;
|
|
27109
27127
|
const isDisabled = props.isDisabled ?? false;
|
|
27110
27128
|
const isReadonly = props.isReadonly ?? false;
|
|
27111
27129
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
27112
|
-
(0,
|
|
27130
|
+
(0, import_react11.useEffect)(() => {
|
|
27113
27131
|
if (props.value !== void 0) {
|
|
27114
27132
|
const e = { target: { value: props.value } };
|
|
27115
27133
|
handleChange?.(e);
|
|
@@ -27118,41 +27136,38 @@ var PasswordInput = ({ className, style, ...props }) => {
|
|
|
27118
27136
|
const handleChange = (e) => {
|
|
27119
27137
|
props.onChange?.(e);
|
|
27120
27138
|
};
|
|
27121
|
-
return /* @__PURE__ */ (0,
|
|
27122
|
-
/* @__PURE__ */ (0,
|
|
27123
|
-
|
|
27124
|
-
|
|
27125
|
-
|
|
27126
|
-
|
|
27127
|
-
|
|
27128
|
-
|
|
27129
|
-
|
|
27130
|
-
|
|
27131
|
-
|
|
27132
|
-
|
|
27133
|
-
|
|
27134
|
-
|
|
27135
|
-
|
|
27136
|
-
|
|
27137
|
-
|
|
27138
|
-
|
|
27139
|
-
|
|
27140
|
-
|
|
27141
|
-
|
|
27142
|
-
)
|
|
27143
|
-
] }),
|
|
27144
|
-
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
|
|
27140
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "flex justify-start items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
27141
|
+
Input,
|
|
27142
|
+
{
|
|
27143
|
+
type: "password",
|
|
27144
|
+
id: props.name || "password-field",
|
|
27145
|
+
name: props.name,
|
|
27146
|
+
value: props.value || "",
|
|
27147
|
+
className: cn(className, props.errorMessage ? "border-red-500" : ""),
|
|
27148
|
+
style: {
|
|
27149
|
+
...style,
|
|
27150
|
+
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
27151
|
+
},
|
|
27152
|
+
autoComplete: isAutocomplete ? "on" : "off",
|
|
27153
|
+
placeholder,
|
|
27154
|
+
onChange: handleChange,
|
|
27155
|
+
disabled: isDisabled || !isEditable,
|
|
27156
|
+
readOnly: isReadonly
|
|
27157
|
+
}
|
|
27158
|
+
) }),
|
|
27159
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27145
27160
|
] });
|
|
27146
27161
|
};
|
|
27147
27162
|
var PasswordInput_default = PasswordInput;
|
|
27148
27163
|
|
|
27149
27164
|
// src/components/Inputs/Textarea/Textarea.tsx
|
|
27150
|
-
var
|
|
27165
|
+
var import_react12 = require("react");
|
|
27151
27166
|
|
|
27152
27167
|
// src/components/ui/textarea.tsx
|
|
27153
|
-
var
|
|
27168
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
27154
27169
|
function Textarea({ className, ...props }) {
|
|
27155
|
-
return /* @__PURE__ */ (0,
|
|
27170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
27156
27171
|
"textarea",
|
|
27157
27172
|
{
|
|
27158
27173
|
"data-slot": "textarea",
|
|
@@ -27166,14 +27181,14 @@ function Textarea({ className, ...props }) {
|
|
|
27166
27181
|
}
|
|
27167
27182
|
|
|
27168
27183
|
// src/components/Inputs/Textarea/Textarea.tsx
|
|
27169
|
-
var
|
|
27184
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
27170
27185
|
var Textarea2 = ({ className, style, ...props }) => {
|
|
27171
27186
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27172
27187
|
const isEditable = props.isEditable ?? true;
|
|
27173
27188
|
const isDisabled = props.isDisabled ?? false;
|
|
27174
27189
|
const isReadonly = props.isReadonly ?? false;
|
|
27175
27190
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
27176
|
-
(0,
|
|
27191
|
+
(0, import_react12.useEffect)(() => {
|
|
27177
27192
|
if (props.value !== void 0) {
|
|
27178
27193
|
const e = { target: { value: props.value } };
|
|
27179
27194
|
handleChange?.(e);
|
|
@@ -27182,8 +27197,8 @@ var Textarea2 = ({ className, style, ...props }) => {
|
|
|
27182
27197
|
const handleChange = (e) => {
|
|
27183
27198
|
props.onChange?.(e);
|
|
27184
27199
|
};
|
|
27185
|
-
return /* @__PURE__ */ (0,
|
|
27186
|
-
/* @__PURE__ */ (0,
|
|
27200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
|
|
27201
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
27187
27202
|
Textarea,
|
|
27188
27203
|
{
|
|
27189
27204
|
id: "textarea-field",
|
|
@@ -27201,21 +27216,21 @@ var Textarea2 = ({ className, style, ...props }) => {
|
|
|
27201
27216
|
readOnly: isReadonly
|
|
27202
27217
|
}
|
|
27203
27218
|
),
|
|
27204
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27219
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27205
27220
|
] });
|
|
27206
27221
|
};
|
|
27207
27222
|
var Textarea_default = Textarea2;
|
|
27208
27223
|
|
|
27209
27224
|
// src/components/Inputs/UrlInput/UrlInput.tsx
|
|
27210
|
-
var
|
|
27211
|
-
var
|
|
27225
|
+
var import_react13 = require("react");
|
|
27226
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
27212
27227
|
var UrlInput = ({ className, style, ...props }) => {
|
|
27213
27228
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27214
27229
|
const isEditable = props.isEditable ?? true;
|
|
27215
27230
|
const isDisabled = props.isDisabled ?? false;
|
|
27216
27231
|
const isReadonly = props.isReadonly ?? false;
|
|
27217
27232
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
27218
|
-
(0,
|
|
27233
|
+
(0, import_react13.useEffect)(() => {
|
|
27219
27234
|
if (props.value !== void 0) {
|
|
27220
27235
|
const e = { target: { value: props.value } };
|
|
27221
27236
|
handleChange?.(e);
|
|
@@ -27224,10 +27239,10 @@ var UrlInput = ({ className, style, ...props }) => {
|
|
|
27224
27239
|
const handleChange = (e) => {
|
|
27225
27240
|
props.onChange?.(e);
|
|
27226
27241
|
};
|
|
27227
|
-
return /* @__PURE__ */ (0,
|
|
27228
|
-
/* @__PURE__ */ (0,
|
|
27229
|
-
/* @__PURE__ */ (0,
|
|
27230
|
-
/* @__PURE__ */ (0,
|
|
27242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
27243
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
27244
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: "bg-[#E9E9E9] absolute px-10 text-center top-1/2 h-full justify-center items-center flex w-10 -translate-y-1/2 text-[#383838] font-[500] text-[12px]", children: "https://" }),
|
|
27245
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
27231
27246
|
Input,
|
|
27232
27247
|
{
|
|
27233
27248
|
id: "url-field",
|
|
@@ -27247,22 +27262,22 @@ var UrlInput = ({ className, style, ...props }) => {
|
|
|
27247
27262
|
}
|
|
27248
27263
|
)
|
|
27249
27264
|
] }),
|
|
27250
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27265
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27251
27266
|
] });
|
|
27252
27267
|
};
|
|
27253
27268
|
var UrlInput_default = UrlInput;
|
|
27254
27269
|
|
|
27255
27270
|
// src/components/Inputs/Checkbox/Checkbox.tsx
|
|
27256
|
-
var
|
|
27271
|
+
var import_react14 = require("react");
|
|
27257
27272
|
|
|
27258
27273
|
// src/components/ui/checkbox.tsx
|
|
27259
27274
|
var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
|
|
27260
|
-
var
|
|
27275
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
27261
27276
|
function Checkbox({
|
|
27262
27277
|
className,
|
|
27263
27278
|
...props
|
|
27264
27279
|
}) {
|
|
27265
|
-
return /* @__PURE__ */ (0,
|
|
27280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
27266
27281
|
CheckboxPrimitive.Root,
|
|
27267
27282
|
{
|
|
27268
27283
|
"data-slot": "checkbox",
|
|
@@ -27271,12 +27286,12 @@ function Checkbox({
|
|
|
27271
27286
|
className
|
|
27272
27287
|
),
|
|
27273
27288
|
...props,
|
|
27274
|
-
children: /* @__PURE__ */ (0,
|
|
27289
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
27275
27290
|
CheckboxPrimitive.Indicator,
|
|
27276
27291
|
{
|
|
27277
27292
|
"data-slot": "checkbox-indicator",
|
|
27278
27293
|
className: "flex items-center justify-center text-current transition-none",
|
|
27279
|
-
children: /* @__PURE__ */ (0,
|
|
27294
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Check, { className: "size-3.5" })
|
|
27280
27295
|
}
|
|
27281
27296
|
)
|
|
27282
27297
|
}
|
|
@@ -27285,12 +27300,12 @@ function Checkbox({
|
|
|
27285
27300
|
|
|
27286
27301
|
// src/components/ui/label.tsx
|
|
27287
27302
|
var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
|
|
27288
|
-
var
|
|
27303
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
27289
27304
|
function Label2({
|
|
27290
27305
|
className,
|
|
27291
27306
|
...props
|
|
27292
27307
|
}) {
|
|
27293
|
-
return /* @__PURE__ */ (0,
|
|
27308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
27294
27309
|
LabelPrimitive.Root,
|
|
27295
27310
|
{
|
|
27296
27311
|
"data-slot": "label",
|
|
@@ -27304,12 +27319,12 @@ function Label2({
|
|
|
27304
27319
|
}
|
|
27305
27320
|
|
|
27306
27321
|
// src/components/Inputs/Checkbox/Checkbox.tsx
|
|
27307
|
-
var
|
|
27322
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
27308
27323
|
var CheckboxInput = ({ className, style, ...props }) => {
|
|
27309
27324
|
const isEditable = props.isEditable ?? true;
|
|
27310
27325
|
const isDisabled = props.isDisabled ?? false;
|
|
27311
27326
|
const text = props.text ? props.text : "Subscribe";
|
|
27312
|
-
(0,
|
|
27327
|
+
(0, import_react14.useEffect)(() => {
|
|
27313
27328
|
if (props.value) {
|
|
27314
27329
|
handleChange(props.value);
|
|
27315
27330
|
}
|
|
@@ -27317,9 +27332,9 @@ var CheckboxInput = ({ className, style, ...props }) => {
|
|
|
27317
27332
|
const handleChange = (value) => {
|
|
27318
27333
|
props.onChange?.(value);
|
|
27319
27334
|
};
|
|
27320
|
-
return /* @__PURE__ */ (0,
|
|
27321
|
-
/* @__PURE__ */ (0,
|
|
27322
|
-
/* @__PURE__ */ (0,
|
|
27335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
27336
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
27337
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
27323
27338
|
Checkbox,
|
|
27324
27339
|
{
|
|
27325
27340
|
id: props.name || "checkbox",
|
|
@@ -27328,24 +27343,24 @@ var CheckboxInput = ({ className, style, ...props }) => {
|
|
|
27328
27343
|
disabled: !isEditable || isDisabled
|
|
27329
27344
|
}
|
|
27330
27345
|
),
|
|
27331
|
-
/* @__PURE__ */ (0,
|
|
27346
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Label2, { htmlFor: props.name || "checkbox", children: text })
|
|
27332
27347
|
] }) }),
|
|
27333
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27348
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27334
27349
|
] });
|
|
27335
27350
|
};
|
|
27336
27351
|
var Checkbox_default = CheckboxInput;
|
|
27337
27352
|
|
|
27338
27353
|
// src/components/Inputs/RadioInput/RadioInput.tsx
|
|
27339
|
-
var
|
|
27354
|
+
var import_react15 = require("react");
|
|
27340
27355
|
|
|
27341
27356
|
// src/components/ui/radio-group.tsx
|
|
27342
27357
|
var RadioGroupPrimitive = __toESM(require("@radix-ui/react-radio-group"));
|
|
27343
|
-
var
|
|
27358
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
27344
27359
|
function RadioGroup2({
|
|
27345
27360
|
className,
|
|
27346
27361
|
...props
|
|
27347
27362
|
}) {
|
|
27348
|
-
return /* @__PURE__ */ (0,
|
|
27363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
27349
27364
|
RadioGroupPrimitive.Root,
|
|
27350
27365
|
{
|
|
27351
27366
|
"data-slot": "radio-group",
|
|
@@ -27358,7 +27373,7 @@ function RadioGroupItem({
|
|
|
27358
27373
|
className,
|
|
27359
27374
|
...props
|
|
27360
27375
|
}) {
|
|
27361
|
-
return /* @__PURE__ */ (0,
|
|
27376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
27362
27377
|
RadioGroupPrimitive.Item,
|
|
27363
27378
|
{
|
|
27364
27379
|
"data-slot": "radio-group-item",
|
|
@@ -27367,12 +27382,12 @@ function RadioGroupItem({
|
|
|
27367
27382
|
className
|
|
27368
27383
|
),
|
|
27369
27384
|
...props,
|
|
27370
|
-
children: /* @__PURE__ */ (0,
|
|
27385
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
27371
27386
|
RadioGroupPrimitive.Indicator,
|
|
27372
27387
|
{
|
|
27373
27388
|
"data-slot": "radio-group-indicator",
|
|
27374
27389
|
className: "relative flex items-center justify-center",
|
|
27375
|
-
children: /* @__PURE__ */ (0,
|
|
27390
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Circle, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" })
|
|
27376
27391
|
}
|
|
27377
27392
|
)
|
|
27378
27393
|
}
|
|
@@ -27380,7 +27395,7 @@ function RadioGroupItem({
|
|
|
27380
27395
|
}
|
|
27381
27396
|
|
|
27382
27397
|
// src/components/Inputs/RadioInput/RadioInput.tsx
|
|
27383
|
-
var
|
|
27398
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
27384
27399
|
var RadioInput = ({
|
|
27385
27400
|
className,
|
|
27386
27401
|
style,
|
|
@@ -27396,7 +27411,7 @@ var RadioInput = ({
|
|
|
27396
27411
|
value: item[dataKey || "value"],
|
|
27397
27412
|
label: item[dataLabel || "label"]
|
|
27398
27413
|
}));
|
|
27399
|
-
(0,
|
|
27414
|
+
(0, import_react15.useEffect)(() => {
|
|
27400
27415
|
if (props.value !== void 0) {
|
|
27401
27416
|
handleChange?.(props.value);
|
|
27402
27417
|
}
|
|
@@ -27405,29 +27420,29 @@ var RadioInput = ({
|
|
|
27405
27420
|
onChange?.(value);
|
|
27406
27421
|
};
|
|
27407
27422
|
const resolvedDefaultValue = (typeof defaultValue === "string" ? defaultValue : void 0) ?? options[0]?.value;
|
|
27408
|
-
return /* @__PURE__ */ (0,
|
|
27409
|
-
/* @__PURE__ */ (0,
|
|
27423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
|
27424
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
27410
27425
|
RadioGroup2,
|
|
27411
27426
|
{
|
|
27412
27427
|
defaultValue: resolvedDefaultValue,
|
|
27413
27428
|
onValueChange: handleChange,
|
|
27414
27429
|
children: [
|
|
27415
|
-
options.length === 0 && /* @__PURE__ */ (0,
|
|
27416
|
-
options.map((item) => /* @__PURE__ */ (0,
|
|
27417
|
-
/* @__PURE__ */ (0,
|
|
27418
|
-
/* @__PURE__ */ (0,
|
|
27430
|
+
options.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "text-sm text-gray-500", children: "No options available" }),
|
|
27431
|
+
options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
27432
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(RadioGroupItem, { value: item.value, id: `radio-${item.value}` }),
|
|
27433
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Label2, { htmlFor: `radio-${item.value}`, children: item.label })
|
|
27419
27434
|
] }, item.value))
|
|
27420
27435
|
]
|
|
27421
27436
|
}
|
|
27422
27437
|
) }),
|
|
27423
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27438
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27424
27439
|
] });
|
|
27425
27440
|
};
|
|
27426
27441
|
var RadioInput_default = RadioInput;
|
|
27427
27442
|
|
|
27428
27443
|
// src/components/Inputs/MultiCheckbox/MultiCheckbox.tsx
|
|
27429
|
-
var
|
|
27430
|
-
var
|
|
27444
|
+
var import_react16 = require("react");
|
|
27445
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
27431
27446
|
var MultiCheckbox = ({
|
|
27432
27447
|
className,
|
|
27433
27448
|
style,
|
|
@@ -27440,17 +27455,17 @@ var MultiCheckbox = ({
|
|
|
27440
27455
|
isDisabled = false
|
|
27441
27456
|
}) => {
|
|
27442
27457
|
const list = Array.isArray(data) ? data : [];
|
|
27443
|
-
const [value, setValue] = (0,
|
|
27458
|
+
const [value, setValue] = (0, import_react16.useState)(propValue);
|
|
27444
27459
|
const options = (list || []).map((item) => ({
|
|
27445
27460
|
value: item[dataKey || "value"],
|
|
27446
27461
|
label: item[dataLabel || "label"]
|
|
27447
27462
|
}));
|
|
27448
|
-
(0,
|
|
27463
|
+
(0, import_react16.useEffect)(() => {
|
|
27449
27464
|
if (propValue !== void 0) {
|
|
27450
27465
|
onChange?.(propValue);
|
|
27451
27466
|
}
|
|
27452
27467
|
}, []);
|
|
27453
|
-
const handleChange = (0,
|
|
27468
|
+
const handleChange = (0, import_react16.useCallback)(
|
|
27454
27469
|
(key, checked) => {
|
|
27455
27470
|
setValue((prev) => {
|
|
27456
27471
|
const newValue = { ...prev, [key]: checked };
|
|
@@ -27460,15 +27475,15 @@ var MultiCheckbox = ({
|
|
|
27460
27475
|
},
|
|
27461
27476
|
[onChange]
|
|
27462
27477
|
);
|
|
27463
|
-
return /* @__PURE__ */ (0,
|
|
27478
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
27464
27479
|
"div",
|
|
27465
27480
|
{
|
|
27466
27481
|
className: cn("flex flex-col gap-3", className),
|
|
27467
27482
|
style,
|
|
27468
27483
|
children: [
|
|
27469
|
-
options.length === 0 && /* @__PURE__ */ (0,
|
|
27470
|
-
options.map((opt) => /* @__PURE__ */ (0,
|
|
27471
|
-
/* @__PURE__ */ (0,
|
|
27484
|
+
options.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "text-sm text-gray-500", children: "No options available." }),
|
|
27485
|
+
options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
27486
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
27472
27487
|
Checkbox,
|
|
27473
27488
|
{
|
|
27474
27489
|
id: opt.value,
|
|
@@ -27477,7 +27492,7 @@ var MultiCheckbox = ({
|
|
|
27477
27492
|
disabled: !isEditable || isDisabled
|
|
27478
27493
|
}
|
|
27479
27494
|
),
|
|
27480
|
-
/* @__PURE__ */ (0,
|
|
27495
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Label2, { htmlFor: opt.value, children: opt.label })
|
|
27481
27496
|
] }, opt.value))
|
|
27482
27497
|
]
|
|
27483
27498
|
}
|
|
@@ -27486,18 +27501,18 @@ var MultiCheckbox = ({
|
|
|
27486
27501
|
var MultiCheckbox_default = MultiCheckbox;
|
|
27487
27502
|
|
|
27488
27503
|
// src/components/Inputs/RichText/RichText.tsx
|
|
27489
|
-
var
|
|
27504
|
+
var import_react18 = require("react");
|
|
27490
27505
|
|
|
27491
27506
|
// src/components/Global/TinyMceEditor.tsx
|
|
27492
|
-
var
|
|
27507
|
+
var import_react17 = require("react");
|
|
27493
27508
|
var import_tinymce_react = require("@tinymce/tinymce-react");
|
|
27494
|
-
var
|
|
27509
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
27495
27510
|
function MyEditor({
|
|
27496
27511
|
value,
|
|
27497
27512
|
onChange,
|
|
27498
27513
|
isDefault
|
|
27499
27514
|
}) {
|
|
27500
|
-
const editorRef = (0,
|
|
27515
|
+
const editorRef = (0, import_react17.useRef)(null);
|
|
27501
27516
|
function stripOuterP(html) {
|
|
27502
27517
|
const trimmedHtml = html.trim();
|
|
27503
27518
|
if (!trimmedHtml) return "";
|
|
@@ -27509,14 +27524,14 @@ function MyEditor({
|
|
|
27509
27524
|
}
|
|
27510
27525
|
return trimmedHtml;
|
|
27511
27526
|
}
|
|
27512
|
-
const isDefaultToolbar = (0,
|
|
27527
|
+
const isDefaultToolbar = (0, import_react17.useMemo)(() => {
|
|
27513
27528
|
let toolbar = "undo redo | formatselect | bold italic forecolor";
|
|
27514
27529
|
if (isDefault) {
|
|
27515
27530
|
toolbar = "undo redo | blocks | bold italic forecolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | removeformat | help";
|
|
27516
27531
|
}
|
|
27517
27532
|
return toolbar;
|
|
27518
27533
|
}, [isDefault]);
|
|
27519
|
-
return /* @__PURE__ */ (0,
|
|
27534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
27520
27535
|
import_tinymce_react.Editor,
|
|
27521
27536
|
{
|
|
27522
27537
|
apiKey: process.env.NEXT_PUBLIC_TINYMCE_API_KEY,
|
|
@@ -27560,9 +27575,9 @@ function MyEditor({
|
|
|
27560
27575
|
}
|
|
27561
27576
|
|
|
27562
27577
|
// src/components/Inputs/RichText/RichText.tsx
|
|
27563
|
-
var
|
|
27578
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
27564
27579
|
function RichText({ className, style, ...props }) {
|
|
27565
|
-
(0,
|
|
27580
|
+
(0, import_react18.useEffect)(() => {
|
|
27566
27581
|
if (props.value !== void 0) {
|
|
27567
27582
|
handleChange?.(props.value);
|
|
27568
27583
|
}
|
|
@@ -27570,7 +27585,7 @@ function RichText({ className, style, ...props }) {
|
|
|
27570
27585
|
const handleChange = (content) => {
|
|
27571
27586
|
props.onChange?.(content);
|
|
27572
27587
|
};
|
|
27573
|
-
return /* @__PURE__ */ (0,
|
|
27588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
27574
27589
|
"div",
|
|
27575
27590
|
{
|
|
27576
27591
|
className: cn(className, props.errorMessage ? "border-red-500" : ""),
|
|
@@ -27579,28 +27594,28 @@ function RichText({ className, style, ...props }) {
|
|
|
27579
27594
|
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
27580
27595
|
},
|
|
27581
27596
|
children: [
|
|
27582
|
-
/* @__PURE__ */ (0,
|
|
27583
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27597
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(MyEditor, { onChange: handleChange, value: props.value || "", isDefault: true }),
|
|
27598
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27584
27599
|
]
|
|
27585
27600
|
}
|
|
27586
27601
|
);
|
|
27587
27602
|
}
|
|
27588
27603
|
|
|
27589
27604
|
// src/components/Inputs/Dropdown/Dropdown.tsx
|
|
27590
|
-
var
|
|
27605
|
+
var import_react19 = require("react");
|
|
27591
27606
|
|
|
27592
27607
|
// src/components/ui/select.tsx
|
|
27593
27608
|
var SelectPrimitive = __toESM(require("@radix-ui/react-select"));
|
|
27594
|
-
var
|
|
27609
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
27595
27610
|
function Select({
|
|
27596
27611
|
...props
|
|
27597
27612
|
}) {
|
|
27598
|
-
return /* @__PURE__ */ (0,
|
|
27613
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectPrimitive.Root, { "data-slot": "select", ...props });
|
|
27599
27614
|
}
|
|
27600
27615
|
function SelectValue({
|
|
27601
27616
|
...props
|
|
27602
27617
|
}) {
|
|
27603
|
-
return /* @__PURE__ */ (0,
|
|
27618
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectPrimitive.Value, { "data-slot": "select-value", ...props });
|
|
27604
27619
|
}
|
|
27605
27620
|
function SelectTrigger({
|
|
27606
27621
|
className,
|
|
@@ -27608,7 +27623,7 @@ function SelectTrigger({
|
|
|
27608
27623
|
children,
|
|
27609
27624
|
...props
|
|
27610
27625
|
}) {
|
|
27611
|
-
return /* @__PURE__ */ (0,
|
|
27626
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
27612
27627
|
SelectPrimitive.Trigger,
|
|
27613
27628
|
{
|
|
27614
27629
|
"data-slot": "select-trigger",
|
|
@@ -27620,7 +27635,7 @@ function SelectTrigger({
|
|
|
27620
27635
|
...props,
|
|
27621
27636
|
children: [
|
|
27622
27637
|
children,
|
|
27623
|
-
/* @__PURE__ */ (0,
|
|
27638
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronDown, { className: "size-4 opacity-50" }) })
|
|
27624
27639
|
]
|
|
27625
27640
|
}
|
|
27626
27641
|
);
|
|
@@ -27631,7 +27646,7 @@ function SelectContent({
|
|
|
27631
27646
|
position = "popper",
|
|
27632
27647
|
...props
|
|
27633
27648
|
}) {
|
|
27634
|
-
return /* @__PURE__ */ (0,
|
|
27649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
27635
27650
|
SelectPrimitive.Content,
|
|
27636
27651
|
{
|
|
27637
27652
|
"data-slot": "select-content",
|
|
@@ -27643,8 +27658,8 @@ function SelectContent({
|
|
|
27643
27658
|
position,
|
|
27644
27659
|
...props,
|
|
27645
27660
|
children: [
|
|
27646
|
-
/* @__PURE__ */ (0,
|
|
27647
|
-
/* @__PURE__ */ (0,
|
|
27661
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectScrollUpButton, {}),
|
|
27662
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
27648
27663
|
SelectPrimitive.Viewport,
|
|
27649
27664
|
{
|
|
27650
27665
|
className: cn(
|
|
@@ -27654,7 +27669,7 @@ function SelectContent({
|
|
|
27654
27669
|
children
|
|
27655
27670
|
}
|
|
27656
27671
|
),
|
|
27657
|
-
/* @__PURE__ */ (0,
|
|
27672
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectScrollDownButton, {})
|
|
27658
27673
|
]
|
|
27659
27674
|
}
|
|
27660
27675
|
) });
|
|
@@ -27664,7 +27679,7 @@ function SelectItem({
|
|
|
27664
27679
|
children,
|
|
27665
27680
|
...props
|
|
27666
27681
|
}) {
|
|
27667
|
-
return /* @__PURE__ */ (0,
|
|
27682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
27668
27683
|
SelectPrimitive.Item,
|
|
27669
27684
|
{
|
|
27670
27685
|
"data-slot": "select-item",
|
|
@@ -27674,8 +27689,8 @@ function SelectItem({
|
|
|
27674
27689
|
),
|
|
27675
27690
|
...props,
|
|
27676
27691
|
children: [
|
|
27677
|
-
/* @__PURE__ */ (0,
|
|
27678
|
-
/* @__PURE__ */ (0,
|
|
27692
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Check, { className: "size-4" }) }) }),
|
|
27693
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(SelectPrimitive.ItemText, { children })
|
|
27679
27694
|
]
|
|
27680
27695
|
}
|
|
27681
27696
|
);
|
|
@@ -27684,7 +27699,7 @@ function SelectScrollUpButton({
|
|
|
27684
27699
|
className,
|
|
27685
27700
|
...props
|
|
27686
27701
|
}) {
|
|
27687
|
-
return /* @__PURE__ */ (0,
|
|
27702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
27688
27703
|
SelectPrimitive.ScrollUpButton,
|
|
27689
27704
|
{
|
|
27690
27705
|
"data-slot": "select-scroll-up-button",
|
|
@@ -27693,7 +27708,7 @@ function SelectScrollUpButton({
|
|
|
27693
27708
|
className
|
|
27694
27709
|
),
|
|
27695
27710
|
...props,
|
|
27696
|
-
children: /* @__PURE__ */ (0,
|
|
27711
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronUp, { className: "size-4" })
|
|
27697
27712
|
}
|
|
27698
27713
|
);
|
|
27699
27714
|
}
|
|
@@ -27701,7 +27716,7 @@ function SelectScrollDownButton({
|
|
|
27701
27716
|
className,
|
|
27702
27717
|
...props
|
|
27703
27718
|
}) {
|
|
27704
|
-
return /* @__PURE__ */ (0,
|
|
27719
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
27705
27720
|
SelectPrimitive.ScrollDownButton,
|
|
27706
27721
|
{
|
|
27707
27722
|
"data-slot": "select-scroll-down-button",
|
|
@@ -27710,20 +27725,20 @@ function SelectScrollDownButton({
|
|
|
27710
27725
|
className
|
|
27711
27726
|
),
|
|
27712
27727
|
...props,
|
|
27713
|
-
children: /* @__PURE__ */ (0,
|
|
27728
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(ChevronDown, { className: "size-4" })
|
|
27714
27729
|
}
|
|
27715
27730
|
);
|
|
27716
27731
|
}
|
|
27717
27732
|
|
|
27718
27733
|
// src/components/Inputs/Dropdown/Dropdown.tsx
|
|
27719
|
-
var
|
|
27734
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
27720
27735
|
var Dropdown = ({ className, style, ...props }) => {
|
|
27721
27736
|
const list = Array.isArray(props?.data) ? props.data : [];
|
|
27722
27737
|
const placeholder = props.placeholder ? props.placeholder : "Placeholder text";
|
|
27723
27738
|
const isEditable = props.isEditable ?? true;
|
|
27724
27739
|
const isDisabled = props.isDisabled ?? false;
|
|
27725
27740
|
const isReadonly = props.isReadonly ?? false;
|
|
27726
|
-
(0,
|
|
27741
|
+
(0, import_react19.useEffect)(() => {
|
|
27727
27742
|
if (props.value !== void 0) {
|
|
27728
27743
|
handleChange(props.value);
|
|
27729
27744
|
}
|
|
@@ -27737,9 +27752,9 @@ var Dropdown = ({ className, style, ...props }) => {
|
|
|
27737
27752
|
value: item[dataKey],
|
|
27738
27753
|
label: item[dataLabel]
|
|
27739
27754
|
}));
|
|
27740
|
-
return /* @__PURE__ */ (0,
|
|
27741
|
-
/* @__PURE__ */ (0,
|
|
27742
|
-
/* @__PURE__ */ (0,
|
|
27755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
|
|
27756
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Select, { name: props.name, value: props.value || "", onValueChange: handleChange, disabled: isDisabled || !isEditable, children: [
|
|
27757
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
27743
27758
|
SelectTrigger,
|
|
27744
27759
|
{
|
|
27745
27760
|
id: props.name || "select-field",
|
|
@@ -27749,31 +27764,31 @@ var Dropdown = ({ className, style, ...props }) => {
|
|
|
27749
27764
|
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
27750
27765
|
},
|
|
27751
27766
|
"aria-readonly": isReadonly,
|
|
27752
|
-
children: /* @__PURE__ */ (0,
|
|
27767
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectValue, { placeholder })
|
|
27753
27768
|
}
|
|
27754
27769
|
),
|
|
27755
|
-
/* @__PURE__ */ (0,
|
|
27756
|
-
props.dataLoading && /* @__PURE__ */ (0,
|
|
27757
|
-
!props.dataLoading && options.length === 0 && /* @__PURE__ */ (0,
|
|
27758
|
-
options.map((opt) => /* @__PURE__ */ (0,
|
|
27770
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(SelectContent, { children: [
|
|
27771
|
+
props.dataLoading && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectItem, { value: "none", disabled: true, children: "Loading..." }),
|
|
27772
|
+
!props.dataLoading && options.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectItem, { value: "none", disabled: true, children: "No options" }),
|
|
27773
|
+
options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SelectItem, { value: opt.value, children: opt.label }, opt.value))
|
|
27759
27774
|
] })
|
|
27760
27775
|
] }),
|
|
27761
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27776
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27762
27777
|
] });
|
|
27763
27778
|
};
|
|
27764
27779
|
var Dropdown_default = Dropdown;
|
|
27765
27780
|
|
|
27766
27781
|
// src/components/Inputs/SwitchToggle/SwitchToggle.tsx
|
|
27767
|
-
var
|
|
27782
|
+
var import_react20 = require("react");
|
|
27768
27783
|
|
|
27769
27784
|
// src/components/ui/switch.tsx
|
|
27770
27785
|
var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
|
|
27771
|
-
var
|
|
27786
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
27772
27787
|
function Switch({
|
|
27773
27788
|
className,
|
|
27774
27789
|
...props
|
|
27775
27790
|
}) {
|
|
27776
|
-
return /* @__PURE__ */ (0,
|
|
27791
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
27777
27792
|
SwitchPrimitive.Root,
|
|
27778
27793
|
{
|
|
27779
27794
|
"data-slot": "switch",
|
|
@@ -27782,7 +27797,7 @@ function Switch({
|
|
|
27782
27797
|
className
|
|
27783
27798
|
),
|
|
27784
27799
|
...props,
|
|
27785
|
-
children: /* @__PURE__ */ (0,
|
|
27800
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
27786
27801
|
SwitchPrimitive.Thumb,
|
|
27787
27802
|
{
|
|
27788
27803
|
"data-slot": "switch-thumb",
|
|
@@ -27796,11 +27811,11 @@ function Switch({
|
|
|
27796
27811
|
}
|
|
27797
27812
|
|
|
27798
27813
|
// src/components/Inputs/SwitchToggle/SwitchToggle.tsx
|
|
27799
|
-
var
|
|
27814
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
27800
27815
|
var SwitchToggle = ({ className, style, ...props }) => {
|
|
27801
27816
|
const isEditable = props.isEditable ?? true;
|
|
27802
27817
|
const isDisabled = props.isDisabled ?? false;
|
|
27803
|
-
(0,
|
|
27818
|
+
(0, import_react20.useEffect)(() => {
|
|
27804
27819
|
if (props.value !== void 0) {
|
|
27805
27820
|
handleChange?.(props.value);
|
|
27806
27821
|
}
|
|
@@ -27808,9 +27823,9 @@ var SwitchToggle = ({ className, style, ...props }) => {
|
|
|
27808
27823
|
const handleChange = (value) => {
|
|
27809
27824
|
props.onChange?.(value);
|
|
27810
27825
|
};
|
|
27811
|
-
return /* @__PURE__ */ (0,
|
|
27812
|
-
/* @__PURE__ */ (0,
|
|
27813
|
-
/* @__PURE__ */ (0,
|
|
27826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
27827
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center space-x-2 mb-2", children: [
|
|
27828
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
27814
27829
|
Switch,
|
|
27815
27830
|
{
|
|
27816
27831
|
id: props.name || "switch",
|
|
@@ -27819,23 +27834,23 @@ var SwitchToggle = ({ className, style, ...props }) => {
|
|
|
27819
27834
|
disabled: isDisabled || !isEditable
|
|
27820
27835
|
}
|
|
27821
27836
|
),
|
|
27822
|
-
/* @__PURE__ */ (0,
|
|
27837
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Label2, { htmlFor: props.name || "switch", children: props.text })
|
|
27823
27838
|
] }) }),
|
|
27824
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27839
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27825
27840
|
] });
|
|
27826
27841
|
};
|
|
27827
27842
|
var SwitchToggle_default = SwitchToggle;
|
|
27828
27843
|
|
|
27829
27844
|
// src/components/Inputs/PhoneInput/PhoneInput.tsx
|
|
27830
|
-
var
|
|
27845
|
+
var import_react21 = require("react");
|
|
27831
27846
|
var import_react_international_phone = require("react-international-phone");
|
|
27832
27847
|
var import_style = require("react-international-phone/style.css");
|
|
27833
|
-
var
|
|
27848
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
27834
27849
|
var PhoneInput = ({ className, style, ...props }) => {
|
|
27835
27850
|
const placeholder = props.placeholder ?? "Enter phone number";
|
|
27836
27851
|
const isEditable = props.isEditable ?? true;
|
|
27837
27852
|
const isDisabled = props.isDisabled ?? false;
|
|
27838
|
-
(0,
|
|
27853
|
+
(0, import_react21.useEffect)(() => {
|
|
27839
27854
|
if (props.value !== void 0) {
|
|
27840
27855
|
handleChange?.(props.value);
|
|
27841
27856
|
}
|
|
@@ -27843,8 +27858,8 @@ var PhoneInput = ({ className, style, ...props }) => {
|
|
|
27843
27858
|
const handleChange = (val) => {
|
|
27844
27859
|
props.onChange?.(val);
|
|
27845
27860
|
};
|
|
27846
|
-
return /* @__PURE__ */ (0,
|
|
27847
|
-
/* @__PURE__ */ (0,
|
|
27861
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_jsx_runtime39.Fragment, { children: [
|
|
27862
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
27848
27863
|
import_react_international_phone.PhoneInput,
|
|
27849
27864
|
{
|
|
27850
27865
|
defaultCountry: "in",
|
|
@@ -27868,21 +27883,21 @@ var PhoneInput = ({ className, style, ...props }) => {
|
|
|
27868
27883
|
disabled: isDisabled || !isEditable
|
|
27869
27884
|
}
|
|
27870
27885
|
),
|
|
27871
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27886
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27872
27887
|
] });
|
|
27873
27888
|
};
|
|
27874
27889
|
var PhoneInput_default = PhoneInput;
|
|
27875
27890
|
|
|
27876
27891
|
// src/components/Inputs/SearchInput/SearchInput.tsx
|
|
27877
|
-
var
|
|
27878
|
-
var
|
|
27892
|
+
var import_react22 = require("react");
|
|
27893
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
27879
27894
|
var SearchInput = ({ className, style, ...props }) => {
|
|
27880
27895
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27881
27896
|
const isEditable = props.isEditable ?? true;
|
|
27882
27897
|
const isDisabled = props.isDisabled ?? false;
|
|
27883
27898
|
const isReadonly = props.isReadonly ?? false;
|
|
27884
27899
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
27885
|
-
(0,
|
|
27900
|
+
(0, import_react22.useEffect)(() => {
|
|
27886
27901
|
if (props.value !== void 0) {
|
|
27887
27902
|
const e = { target: { value: props.value } };
|
|
27888
27903
|
handleChange?.(e);
|
|
@@ -27891,40 +27906,37 @@ var SearchInput = ({ className, style, ...props }) => {
|
|
|
27891
27906
|
const handleChange = (e) => {
|
|
27892
27907
|
props.onChange?.(e);
|
|
27893
27908
|
};
|
|
27894
|
-
return /* @__PURE__ */ (0,
|
|
27895
|
-
/* @__PURE__ */ (0,
|
|
27896
|
-
|
|
27897
|
-
|
|
27898
|
-
|
|
27899
|
-
|
|
27900
|
-
|
|
27901
|
-
|
|
27902
|
-
|
|
27903
|
-
|
|
27904
|
-
|
|
27905
|
-
|
|
27906
|
-
|
|
27907
|
-
|
|
27908
|
-
|
|
27909
|
-
|
|
27910
|
-
|
|
27911
|
-
|
|
27912
|
-
|
|
27913
|
-
|
|
27914
|
-
|
|
27915
|
-
)
|
|
27916
|
-
] }),
|
|
27917
|
-
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
27910
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "flex justify-start items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
27911
|
+
Input,
|
|
27912
|
+
{
|
|
27913
|
+
type: "text",
|
|
27914
|
+
id: props.name || "text-field",
|
|
27915
|
+
name: props.name,
|
|
27916
|
+
value: props.value || "",
|
|
27917
|
+
className: cn(className, props.errorMessage ? "border-red-500" : ""),
|
|
27918
|
+
style: {
|
|
27919
|
+
...style,
|
|
27920
|
+
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
27921
|
+
},
|
|
27922
|
+
autoComplete: isAutocomplete ? "on" : "off",
|
|
27923
|
+
placeholder,
|
|
27924
|
+
onChange: handleChange,
|
|
27925
|
+
disabled: isDisabled || !isEditable,
|
|
27926
|
+
readOnly: isReadonly
|
|
27927
|
+
}
|
|
27928
|
+
) }),
|
|
27929
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27918
27930
|
] });
|
|
27919
27931
|
};
|
|
27920
27932
|
var SearchInput_default = SearchInput;
|
|
27921
27933
|
|
|
27922
27934
|
// src/components/Inputs/FileInput/FileInput.tsx
|
|
27923
|
-
var
|
|
27924
|
-
var
|
|
27935
|
+
var import_react23 = require("react");
|
|
27936
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
27925
27937
|
var FileInput2 = ({ className, style, ...props }) => {
|
|
27926
27938
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27927
|
-
(0,
|
|
27939
|
+
(0, import_react23.useEffect)(() => {
|
|
27928
27940
|
if (props.value !== void 0) {
|
|
27929
27941
|
const e = { target: { value: props.value } };
|
|
27930
27942
|
handleChange?.(e);
|
|
@@ -27933,8 +27945,8 @@ var FileInput2 = ({ className, style, ...props }) => {
|
|
|
27933
27945
|
const handleChange = (e) => {
|
|
27934
27946
|
props.onChange?.(e);
|
|
27935
27947
|
};
|
|
27936
|
-
return /* @__PURE__ */ (0,
|
|
27937
|
-
/* @__PURE__ */ (0,
|
|
27948
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "d-flex items-center relative align-middle", children: [
|
|
27949
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
27938
27950
|
Input,
|
|
27939
27951
|
{
|
|
27940
27952
|
type: "file",
|
|
@@ -27951,14 +27963,14 @@ var FileInput2 = ({ className, style, ...props }) => {
|
|
|
27951
27963
|
onChange: handleChange
|
|
27952
27964
|
}
|
|
27953
27965
|
),
|
|
27954
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
27966
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
27955
27967
|
] });
|
|
27956
27968
|
};
|
|
27957
27969
|
var FileInput_default = FileInput2;
|
|
27958
27970
|
|
|
27959
27971
|
// src/components/Inputs/DatePicker/DatePicker.tsx
|
|
27960
|
-
var
|
|
27961
|
-
var
|
|
27972
|
+
var import_react24 = require("react");
|
|
27973
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
27962
27974
|
function DatePicker({ className, style, ...props }) {
|
|
27963
27975
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
27964
27976
|
const minimumDate = props.minimumDate ?? "none";
|
|
@@ -27983,7 +27995,7 @@ function DatePicker({ className, style, ...props }) {
|
|
|
27983
27995
|
};
|
|
27984
27996
|
const minDate = resolveDate(minimumDate, customMinimumDate);
|
|
27985
27997
|
const maxDate = resolveDate(maximumDate, customMaximumDate);
|
|
27986
|
-
(0,
|
|
27998
|
+
(0, import_react24.useEffect)(() => {
|
|
27987
27999
|
if (props.value !== void 0) {
|
|
27988
28000
|
handleChange(props.value);
|
|
27989
28001
|
}
|
|
@@ -27995,47 +28007,44 @@ function DatePicker({ className, style, ...props }) {
|
|
|
27995
28007
|
if (!value) return "";
|
|
27996
28008
|
return new Date(value).toISOString().split("T")[0];
|
|
27997
28009
|
};
|
|
27998
|
-
return /* @__PURE__ */ (0,
|
|
27999
|
-
/* @__PURE__ */ (0,
|
|
28000
|
-
|
|
28001
|
-
|
|
28002
|
-
|
|
28003
|
-
|
|
28004
|
-
|
|
28005
|
-
|
|
28006
|
-
|
|
28007
|
-
|
|
28008
|
-
|
|
28009
|
-
|
|
28010
|
-
|
|
28011
|
-
|
|
28012
|
-
|
|
28013
|
-
|
|
28014
|
-
|
|
28015
|
-
|
|
28016
|
-
|
|
28017
|
-
|
|
28018
|
-
|
|
28019
|
-
|
|
28020
|
-
|
|
28021
|
-
|
|
28022
|
-
|
|
28023
|
-
|
|
28024
|
-
|
|
28025
|
-
)
|
|
28026
|
-
] }),
|
|
28027
|
-
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
28010
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
28011
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex justify-start items-center relative", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
28012
|
+
Input,
|
|
28013
|
+
{
|
|
28014
|
+
type: "date",
|
|
28015
|
+
id: "date",
|
|
28016
|
+
autoComplete: isAutocomplete ? "on" : "off",
|
|
28017
|
+
onChange: handleChange,
|
|
28018
|
+
disabled: isDisabled || !isEditable,
|
|
28019
|
+
name: props.name,
|
|
28020
|
+
value: toDateInputValue(props.value),
|
|
28021
|
+
className: cn(
|
|
28022
|
+
className,
|
|
28023
|
+
props.errorMessage ? "border-red-500" : "",
|
|
28024
|
+
"appearance-auto"
|
|
28025
|
+
),
|
|
28026
|
+
style: {
|
|
28027
|
+
...style,
|
|
28028
|
+
borderColor: props.errorMessage ? "#f87171" : style?.borderColor
|
|
28029
|
+
},
|
|
28030
|
+
readOnly: isReadonly,
|
|
28031
|
+
placeholder,
|
|
28032
|
+
min: minDate,
|
|
28033
|
+
max: maxDate
|
|
28034
|
+
}
|
|
28035
|
+
) }),
|
|
28036
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
28028
28037
|
] });
|
|
28029
28038
|
}
|
|
28030
28039
|
|
|
28031
28040
|
// src/components/Inputs/DateRange/DateRange.tsx
|
|
28032
|
-
var
|
|
28041
|
+
var import_react25 = __toESM(require("react"));
|
|
28033
28042
|
var import_date_fns = require("date-fns");
|
|
28034
28043
|
|
|
28035
28044
|
// src/components/ui/calendar.tsx
|
|
28036
|
-
var
|
|
28045
|
+
var React6 = __toESM(require("react"));
|
|
28037
28046
|
var import_react_day_picker = require("react-day-picker");
|
|
28038
|
-
var
|
|
28047
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
28039
28048
|
function Calendar2({
|
|
28040
28049
|
className,
|
|
28041
28050
|
classNames,
|
|
@@ -28047,7 +28056,7 @@ function Calendar2({
|
|
|
28047
28056
|
...props
|
|
28048
28057
|
}) {
|
|
28049
28058
|
const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
|
|
28050
|
-
return /* @__PURE__ */ (0,
|
|
28059
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
28051
28060
|
import_react_day_picker.DayPicker,
|
|
28052
28061
|
{
|
|
28053
28062
|
showOutsideDays,
|
|
@@ -28146,7 +28155,7 @@ function Calendar2({
|
|
|
28146
28155
|
},
|
|
28147
28156
|
components: {
|
|
28148
28157
|
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
28149
|
-
return /* @__PURE__ */ (0,
|
|
28158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
28150
28159
|
"div",
|
|
28151
28160
|
{
|
|
28152
28161
|
"data-slot": "calendar",
|
|
@@ -28158,10 +28167,10 @@ function Calendar2({
|
|
|
28158
28167
|
},
|
|
28159
28168
|
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
28160
28169
|
if (orientation === "left") {
|
|
28161
|
-
return /* @__PURE__ */ (0,
|
|
28170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronLeft, { className: cn("size-4", className2), ...props2 });
|
|
28162
28171
|
}
|
|
28163
28172
|
if (orientation === "right") {
|
|
28164
|
-
return /* @__PURE__ */ (0,
|
|
28173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
28165
28174
|
ChevronRight,
|
|
28166
28175
|
{
|
|
28167
28176
|
className: cn("size-4", className2),
|
|
@@ -28169,11 +28178,11 @@ function Calendar2({
|
|
|
28169
28178
|
}
|
|
28170
28179
|
);
|
|
28171
28180
|
}
|
|
28172
|
-
return /* @__PURE__ */ (0,
|
|
28181
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ChevronDown, { className: cn("size-4", className2), ...props2 });
|
|
28173
28182
|
},
|
|
28174
28183
|
DayButton: CalendarDayButton,
|
|
28175
28184
|
WeekNumber: ({ children, ...props2 }) => {
|
|
28176
|
-
return /* @__PURE__ */ (0,
|
|
28185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("td", { ...props2, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
28177
28186
|
},
|
|
28178
28187
|
...components
|
|
28179
28188
|
},
|
|
@@ -28188,11 +28197,11 @@ function CalendarDayButton({
|
|
|
28188
28197
|
...props
|
|
28189
28198
|
}) {
|
|
28190
28199
|
const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
|
|
28191
|
-
const ref =
|
|
28192
|
-
|
|
28200
|
+
const ref = React6.useRef(null);
|
|
28201
|
+
React6.useEffect(() => {
|
|
28193
28202
|
if (modifiers.focused) ref.current?.focus();
|
|
28194
28203
|
}, [modifiers.focused]);
|
|
28195
|
-
return /* @__PURE__ */ (0,
|
|
28204
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
28196
28205
|
Button,
|
|
28197
28206
|
{
|
|
28198
28207
|
ref,
|
|
@@ -28215,16 +28224,16 @@ function CalendarDayButton({
|
|
|
28215
28224
|
|
|
28216
28225
|
// src/components/ui/popover.tsx
|
|
28217
28226
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
28218
|
-
var
|
|
28227
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
28219
28228
|
function Popover({
|
|
28220
28229
|
...props
|
|
28221
28230
|
}) {
|
|
28222
|
-
return /* @__PURE__ */ (0,
|
|
28231
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
28223
28232
|
}
|
|
28224
28233
|
function PopoverTrigger({
|
|
28225
28234
|
...props
|
|
28226
28235
|
}) {
|
|
28227
|
-
return /* @__PURE__ */ (0,
|
|
28236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
28228
28237
|
}
|
|
28229
28238
|
function PopoverContent({
|
|
28230
28239
|
className,
|
|
@@ -28232,7 +28241,7 @@ function PopoverContent({
|
|
|
28232
28241
|
sideOffset = 4,
|
|
28233
28242
|
...props
|
|
28234
28243
|
}) {
|
|
28235
|
-
return /* @__PURE__ */ (0,
|
|
28244
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
28236
28245
|
PopoverPrimitive.Content,
|
|
28237
28246
|
{
|
|
28238
28247
|
"data-slot": "popover-content",
|
|
@@ -28248,16 +28257,16 @@ function PopoverContent({
|
|
|
28248
28257
|
}
|
|
28249
28258
|
|
|
28250
28259
|
// src/components/Inputs/DateRange/DateRange.tsx
|
|
28251
|
-
var
|
|
28260
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
28252
28261
|
var DateRange = ({ className, style, ...props }) => {
|
|
28253
28262
|
const isDateRange = (val) => !!val && val.from instanceof Date;
|
|
28254
|
-
const [date, setDate] =
|
|
28263
|
+
const [date, setDate] = import_react25.default.useState(
|
|
28255
28264
|
isDateRange(props.value) ? props.value : {
|
|
28256
28265
|
from: /* @__PURE__ */ new Date(),
|
|
28257
28266
|
to: (0, import_date_fns.addDays)(/* @__PURE__ */ new Date(), 7)
|
|
28258
28267
|
}
|
|
28259
28268
|
);
|
|
28260
|
-
(0,
|
|
28269
|
+
(0, import_react25.useEffect)(() => {
|
|
28261
28270
|
if (props.value && isDateRange(props.value)) {
|
|
28262
28271
|
handleChange?.(props.value);
|
|
28263
28272
|
}
|
|
@@ -28268,9 +28277,9 @@ var DateRange = ({ className, style, ...props }) => {
|
|
|
28268
28277
|
props.onChange?.(value);
|
|
28269
28278
|
}
|
|
28270
28279
|
};
|
|
28271
|
-
return /* @__PURE__ */ (0,
|
|
28272
|
-
/* @__PURE__ */ (0,
|
|
28273
|
-
/* @__PURE__ */ (0,
|
|
28280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
|
|
28281
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Popover, { children: [
|
|
28282
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
28274
28283
|
Button,
|
|
28275
28284
|
{
|
|
28276
28285
|
id: "date",
|
|
@@ -28279,15 +28288,15 @@ var DateRange = ({ className, style, ...props }) => {
|
|
|
28279
28288
|
"w-full justify-start text-left font-normal text-[11px] border-[#BDBDBD]",
|
|
28280
28289
|
!date && "text-muted-foreground"
|
|
28281
28290
|
),
|
|
28282
|
-
children: date?.from ? date.to ? /* @__PURE__ */ (0,
|
|
28291
|
+
children: date?.from ? date.to ? /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
|
|
28283
28292
|
(0, import_date_fns.format)(date.from, "LLL dd, y"),
|
|
28284
28293
|
" -",
|
|
28285
28294
|
" ",
|
|
28286
28295
|
(0, import_date_fns.format)(date.to, "LLL dd, y")
|
|
28287
|
-
] }) : (0, import_date_fns.format)(date.from, "LLL dd, y") : /* @__PURE__ */ (0,
|
|
28296
|
+
] }) : (0, import_date_fns.format)(date.from, "LLL dd, y") : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("span", { children: "Pick a date range" })
|
|
28288
28297
|
}
|
|
28289
28298
|
) }),
|
|
28290
|
-
/* @__PURE__ */ (0,
|
|
28299
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
28291
28300
|
Calendar2,
|
|
28292
28301
|
{
|
|
28293
28302
|
mode: "range",
|
|
@@ -28298,21 +28307,21 @@ var DateRange = ({ className, style, ...props }) => {
|
|
|
28298
28307
|
}
|
|
28299
28308
|
) })
|
|
28300
28309
|
] }) }),
|
|
28301
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
28310
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
28302
28311
|
] });
|
|
28303
28312
|
};
|
|
28304
28313
|
var DateRange_default = DateRange;
|
|
28305
28314
|
|
|
28306
28315
|
// src/components/Inputs/TextInputGroup/TextInputGroup.tsx
|
|
28307
|
-
var
|
|
28308
|
-
var
|
|
28316
|
+
var import_react26 = require("react");
|
|
28317
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
28309
28318
|
var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
28310
28319
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
28311
28320
|
const isEditable = props.isEditable ?? true;
|
|
28312
28321
|
const isDisabled = props.isDisabled ?? false;
|
|
28313
28322
|
const isReadonly = props.isReadonly ?? false;
|
|
28314
28323
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
28315
|
-
(0,
|
|
28324
|
+
(0, import_react26.useEffect)(() => {
|
|
28316
28325
|
if (props.value !== void 0) {
|
|
28317
28326
|
const e = { target: { value: props.value } };
|
|
28318
28327
|
handleChange?.(e);
|
|
@@ -28321,8 +28330,8 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
|
28321
28330
|
const handleChange = (e) => {
|
|
28322
28331
|
props.onChange?.(e);
|
|
28323
28332
|
};
|
|
28324
|
-
return /* @__PURE__ */ (0,
|
|
28325
|
-
/* @__PURE__ */ (0,
|
|
28333
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(import_jsx_runtime46.Fragment, { children: [
|
|
28334
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
28326
28335
|
"div",
|
|
28327
28336
|
{
|
|
28328
28337
|
className: cn(
|
|
@@ -28332,8 +28341,8 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
|
28332
28341
|
props.errorMessage ? "border-red-500" : ""
|
|
28333
28342
|
),
|
|
28334
28343
|
children: [
|
|
28335
|
-
prepend && /* @__PURE__ */ (0,
|
|
28336
|
-
/* @__PURE__ */ (0,
|
|
28344
|
+
prepend && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "px-3 flex items-center bg-gray-500 text-white h-10 rounded-l-md", children: prepend }),
|
|
28345
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
28337
28346
|
Input,
|
|
28338
28347
|
{
|
|
28339
28348
|
id: props.name || "prepend-input",
|
|
@@ -28355,39 +28364,39 @@ var TextInputGroup = ({ className, style, prepend, append, ...props }) => {
|
|
|
28355
28364
|
readOnly: isReadonly
|
|
28356
28365
|
}
|
|
28357
28366
|
),
|
|
28358
|
-
append && /* @__PURE__ */ (0,
|
|
28367
|
+
append && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "px-3 flex items-center bg-gray-500 text-white h-10 rounded-r-md", children: append })
|
|
28359
28368
|
]
|
|
28360
28369
|
}
|
|
28361
28370
|
),
|
|
28362
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
28371
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
28363
28372
|
] });
|
|
28364
28373
|
};
|
|
28365
28374
|
var TextInputGroup_default = TextInputGroup;
|
|
28366
28375
|
|
|
28367
28376
|
// src/components/Inputs/Multiselect/MultiSelect.tsx
|
|
28368
|
-
var
|
|
28377
|
+
var React8 = __toESM(require("react"));
|
|
28369
28378
|
|
|
28370
28379
|
// src/components/ui/command.tsx
|
|
28371
28380
|
var import_cmdk = require("cmdk");
|
|
28372
28381
|
|
|
28373
28382
|
// src/components/ui/dialog.tsx
|
|
28374
28383
|
var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
|
|
28375
|
-
var
|
|
28384
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
28376
28385
|
function Dialog({
|
|
28377
28386
|
...props
|
|
28378
28387
|
}) {
|
|
28379
|
-
return /* @__PURE__ */ (0,
|
|
28388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DialogPrimitive.Root, { "data-slot": "dialog", ...props });
|
|
28380
28389
|
}
|
|
28381
28390
|
function DialogPortal({
|
|
28382
28391
|
...props
|
|
28383
28392
|
}) {
|
|
28384
|
-
return /* @__PURE__ */ (0,
|
|
28393
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DialogPrimitive.Portal, { "data-slot": "dialog-portal", ...props });
|
|
28385
28394
|
}
|
|
28386
28395
|
function DialogOverlay({
|
|
28387
28396
|
className,
|
|
28388
28397
|
...props
|
|
28389
28398
|
}) {
|
|
28390
|
-
return /* @__PURE__ */ (0,
|
|
28399
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28391
28400
|
DialogPrimitive.Overlay,
|
|
28392
28401
|
{
|
|
28393
28402
|
"data-slot": "dialog-overlay",
|
|
@@ -28405,9 +28414,9 @@ function DialogContent({
|
|
|
28405
28414
|
showCloseButton = true,
|
|
28406
28415
|
...props
|
|
28407
28416
|
}) {
|
|
28408
|
-
return /* @__PURE__ */ (0,
|
|
28409
|
-
/* @__PURE__ */ (0,
|
|
28410
|
-
/* @__PURE__ */ (0,
|
|
28417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
28418
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(DialogOverlay, {}),
|
|
28419
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
28411
28420
|
DialogPrimitive.Content,
|
|
28412
28421
|
{
|
|
28413
28422
|
"data-slot": "dialog-content",
|
|
@@ -28418,14 +28427,14 @@ function DialogContent({
|
|
|
28418
28427
|
...props,
|
|
28419
28428
|
children: [
|
|
28420
28429
|
children,
|
|
28421
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
28430
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
28422
28431
|
DialogPrimitive.Close,
|
|
28423
28432
|
{
|
|
28424
28433
|
"data-slot": "dialog-close",
|
|
28425
28434
|
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
28426
28435
|
children: [
|
|
28427
|
-
/* @__PURE__ */ (0,
|
|
28428
|
-
/* @__PURE__ */ (0,
|
|
28436
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(X, {}),
|
|
28437
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { className: "sr-only", children: "Close" })
|
|
28429
28438
|
]
|
|
28430
28439
|
}
|
|
28431
28440
|
)
|
|
@@ -28435,7 +28444,7 @@ function DialogContent({
|
|
|
28435
28444
|
] });
|
|
28436
28445
|
}
|
|
28437
28446
|
function DialogHeader({ className, ...props }) {
|
|
28438
|
-
return /* @__PURE__ */ (0,
|
|
28447
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28439
28448
|
"div",
|
|
28440
28449
|
{
|
|
28441
28450
|
"data-slot": "dialog-header",
|
|
@@ -28445,7 +28454,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
28445
28454
|
);
|
|
28446
28455
|
}
|
|
28447
28456
|
function DialogFooter({ className, ...props }) {
|
|
28448
|
-
return /* @__PURE__ */ (0,
|
|
28457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28449
28458
|
"div",
|
|
28450
28459
|
{
|
|
28451
28460
|
"data-slot": "dialog-footer",
|
|
@@ -28461,7 +28470,7 @@ function DialogTitle({
|
|
|
28461
28470
|
className,
|
|
28462
28471
|
...props
|
|
28463
28472
|
}) {
|
|
28464
|
-
return /* @__PURE__ */ (0,
|
|
28473
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28465
28474
|
DialogPrimitive.Title,
|
|
28466
28475
|
{
|
|
28467
28476
|
"data-slot": "dialog-title",
|
|
@@ -28474,7 +28483,7 @@ function DialogDescription({
|
|
|
28474
28483
|
className,
|
|
28475
28484
|
...props
|
|
28476
28485
|
}) {
|
|
28477
|
-
return /* @__PURE__ */ (0,
|
|
28486
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
28478
28487
|
DialogPrimitive.Description,
|
|
28479
28488
|
{
|
|
28480
28489
|
"data-slot": "dialog-description",
|
|
@@ -28485,12 +28494,12 @@ function DialogDescription({
|
|
|
28485
28494
|
}
|
|
28486
28495
|
|
|
28487
28496
|
// src/components/ui/command.tsx
|
|
28488
|
-
var
|
|
28497
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
28489
28498
|
function Command2({
|
|
28490
28499
|
className,
|
|
28491
28500
|
...props
|
|
28492
28501
|
}) {
|
|
28493
|
-
return /* @__PURE__ */ (0,
|
|
28502
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
28494
28503
|
import_cmdk.Command,
|
|
28495
28504
|
{
|
|
28496
28505
|
"data-slot": "command",
|
|
@@ -28506,14 +28515,14 @@ function CommandInput({
|
|
|
28506
28515
|
className,
|
|
28507
28516
|
...props
|
|
28508
28517
|
}) {
|
|
28509
|
-
return /* @__PURE__ */ (0,
|
|
28518
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
28510
28519
|
"div",
|
|
28511
28520
|
{
|
|
28512
28521
|
"data-slot": "command-input-wrapper",
|
|
28513
28522
|
className: "flex h-9 items-center gap-2 border-b px-3",
|
|
28514
28523
|
children: [
|
|
28515
|
-
/* @__PURE__ */ (0,
|
|
28516
|
-
/* @__PURE__ */ (0,
|
|
28524
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Search, { className: "size-4 shrink-0 opacity-50" }),
|
|
28525
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
28517
28526
|
import_cmdk.Command.Input,
|
|
28518
28527
|
{
|
|
28519
28528
|
"data-slot": "command-input",
|
|
@@ -28532,7 +28541,7 @@ function CommandList({
|
|
|
28532
28541
|
className,
|
|
28533
28542
|
...props
|
|
28534
28543
|
}) {
|
|
28535
|
-
return /* @__PURE__ */ (0,
|
|
28544
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
28536
28545
|
import_cmdk.Command.List,
|
|
28537
28546
|
{
|
|
28538
28547
|
"data-slot": "command-list",
|
|
@@ -28547,7 +28556,7 @@ function CommandList({
|
|
|
28547
28556
|
function CommandEmpty({
|
|
28548
28557
|
...props
|
|
28549
28558
|
}) {
|
|
28550
|
-
return /* @__PURE__ */ (0,
|
|
28559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
28551
28560
|
import_cmdk.Command.Empty,
|
|
28552
28561
|
{
|
|
28553
28562
|
"data-slot": "command-empty",
|
|
@@ -28560,7 +28569,7 @@ function CommandGroup({
|
|
|
28560
28569
|
className,
|
|
28561
28570
|
...props
|
|
28562
28571
|
}) {
|
|
28563
|
-
return /* @__PURE__ */ (0,
|
|
28572
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
28564
28573
|
import_cmdk.Command.Group,
|
|
28565
28574
|
{
|
|
28566
28575
|
"data-slot": "command-group",
|
|
@@ -28576,7 +28585,7 @@ function CommandItem({
|
|
|
28576
28585
|
className,
|
|
28577
28586
|
...props
|
|
28578
28587
|
}) {
|
|
28579
|
-
return /* @__PURE__ */ (0,
|
|
28588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
28580
28589
|
import_cmdk.Command.Item,
|
|
28581
28590
|
{
|
|
28582
28591
|
"data-slot": "command-item",
|
|
@@ -28590,7 +28599,7 @@ function CommandItem({
|
|
|
28590
28599
|
}
|
|
28591
28600
|
|
|
28592
28601
|
// src/components/Inputs/Multiselect/MultiSelect.tsx
|
|
28593
|
-
var
|
|
28602
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
28594
28603
|
var MultiSelect = ({
|
|
28595
28604
|
value = [],
|
|
28596
28605
|
onChange,
|
|
@@ -28599,10 +28608,12 @@ var MultiSelect = ({
|
|
|
28599
28608
|
disabled,
|
|
28600
28609
|
searchable = true,
|
|
28601
28610
|
className = "",
|
|
28611
|
+
dataKey = "value",
|
|
28612
|
+
dataLabel = "label",
|
|
28602
28613
|
...props
|
|
28603
28614
|
}) => {
|
|
28604
|
-
const [open, setOpen] =
|
|
28605
|
-
|
|
28615
|
+
const [open, setOpen] = React8.useState(false);
|
|
28616
|
+
React8.useEffect(() => {
|
|
28606
28617
|
if (value) {
|
|
28607
28618
|
onChange(value);
|
|
28608
28619
|
}
|
|
@@ -28612,12 +28623,16 @@ var MultiSelect = ({
|
|
|
28612
28623
|
value?.includes(val) ? value.filter((v) => v !== val) : [...value || [], val]
|
|
28613
28624
|
);
|
|
28614
28625
|
};
|
|
28615
|
-
const selectedLabels =
|
|
28626
|
+
const selectedLabels = React8.useMemo(
|
|
28616
28627
|
() => data.filter((opt) => value.includes(opt.value)).map((opt) => opt.label),
|
|
28617
28628
|
[data, value]
|
|
28618
28629
|
);
|
|
28619
|
-
|
|
28620
|
-
|
|
28630
|
+
const options = data.map((item) => ({
|
|
28631
|
+
value: item[dataKey],
|
|
28632
|
+
label: item[dataLabel]
|
|
28633
|
+
}));
|
|
28634
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Popover, { open, onOpenChange: setOpen, children: [
|
|
28635
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
28621
28636
|
Button,
|
|
28622
28637
|
{
|
|
28623
28638
|
variant: "outline",
|
|
@@ -28626,12 +28641,12 @@ var MultiSelect = ({
|
|
|
28626
28641
|
disabled,
|
|
28627
28642
|
type: "button",
|
|
28628
28643
|
children: [
|
|
28629
|
-
/* @__PURE__ */ (0,
|
|
28630
|
-
/* @__PURE__ */ (0,
|
|
28644
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "truncate", children: selectedLabels.length > 0 ? selectedLabels.join(", ") : placeholder }),
|
|
28645
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
|
|
28631
28646
|
]
|
|
28632
28647
|
}
|
|
28633
28648
|
) }),
|
|
28634
|
-
/* @__PURE__ */ (0,
|
|
28649
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
28635
28650
|
PopoverContent,
|
|
28636
28651
|
{
|
|
28637
28652
|
align: "start",
|
|
@@ -28640,26 +28655,26 @@ var MultiSelect = ({
|
|
|
28640
28655
|
onInteractOutside: (e) => {
|
|
28641
28656
|
if (e.target.closest(".keep-open")) e.preventDefault();
|
|
28642
28657
|
},
|
|
28643
|
-
children: /* @__PURE__ */ (0,
|
|
28644
|
-
searchable && /* @__PURE__ */ (0,
|
|
28645
|
-
/* @__PURE__ */ (0,
|
|
28646
|
-
/* @__PURE__ */ (0,
|
|
28647
|
-
/* @__PURE__ */ (0,
|
|
28658
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Command2, { shouldFilter: searchable, children: [
|
|
28659
|
+
searchable && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CommandInput, { placeholder: "Search..." }),
|
|
28660
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(CommandList, { children: [
|
|
28661
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CommandEmpty, { children: "No options found." }),
|
|
28662
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CommandGroup, { children: options.map((opt) => {
|
|
28648
28663
|
const isSelected = value.includes(opt.value);
|
|
28649
|
-
return /* @__PURE__ */ (0,
|
|
28664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
28650
28665
|
"div",
|
|
28651
28666
|
{
|
|
28652
28667
|
className: "keep-open",
|
|
28653
|
-
children: /* @__PURE__ */ (0,
|
|
28668
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
28654
28669
|
CommandItem,
|
|
28655
28670
|
{
|
|
28656
28671
|
onMouseDown: (e) => {
|
|
28657
28672
|
e.preventDefault();
|
|
28658
28673
|
toggleOption(opt.value);
|
|
28659
28674
|
},
|
|
28660
|
-
children: /* @__PURE__ */ (0,
|
|
28661
|
-
/* @__PURE__ */ (0,
|
|
28662
|
-
/* @__PURE__ */ (0,
|
|
28675
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
28676
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Checkbox, { checked: isSelected }),
|
|
28677
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { children: opt.label })
|
|
28663
28678
|
] })
|
|
28664
28679
|
},
|
|
28665
28680
|
opt.value
|
|
@@ -28672,26 +28687,26 @@ var MultiSelect = ({
|
|
|
28672
28687
|
] })
|
|
28673
28688
|
}
|
|
28674
28689
|
),
|
|
28675
|
-
props.errorMessage && /* @__PURE__ */ (0,
|
|
28690
|
+
props.errorMessage && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "mt-1 text-xs text-red-500", children: props.errorMessage })
|
|
28676
28691
|
] });
|
|
28677
28692
|
};
|
|
28678
28693
|
var MultiSelect_default = MultiSelect;
|
|
28679
28694
|
|
|
28680
28695
|
// src/components/ui/data-table.tsx
|
|
28681
|
-
var
|
|
28696
|
+
var React9 = __toESM(require("react"));
|
|
28682
28697
|
var import_free_solid_svg_icons2 = require("@fortawesome/free-solid-svg-icons");
|
|
28683
28698
|
var import_react_fontawesome3 = require("@fortawesome/react-fontawesome");
|
|
28684
28699
|
var import_react_table = require("@tanstack/react-table");
|
|
28685
28700
|
|
|
28686
28701
|
// src/components/ui/table.tsx
|
|
28687
|
-
var
|
|
28702
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
28688
28703
|
function Table3({ className, ...props }) {
|
|
28689
|
-
return /* @__PURE__ */ (0,
|
|
28704
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28690
28705
|
"div",
|
|
28691
28706
|
{
|
|
28692
28707
|
"data-slot": "table-container",
|
|
28693
28708
|
className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
|
|
28694
|
-
children: /* @__PURE__ */ (0,
|
|
28709
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28695
28710
|
"table",
|
|
28696
28711
|
{
|
|
28697
28712
|
"data-slot": "table",
|
|
@@ -28703,7 +28718,7 @@ function Table3({ className, ...props }) {
|
|
|
28703
28718
|
);
|
|
28704
28719
|
}
|
|
28705
28720
|
function TableHeader({ className, ...props }) {
|
|
28706
|
-
return /* @__PURE__ */ (0,
|
|
28721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28707
28722
|
"thead",
|
|
28708
28723
|
{
|
|
28709
28724
|
"data-slot": "table-header",
|
|
@@ -28716,7 +28731,7 @@ function TableHeader({ className, ...props }) {
|
|
|
28716
28731
|
);
|
|
28717
28732
|
}
|
|
28718
28733
|
function TableBody({ className, ...props }) {
|
|
28719
|
-
return /* @__PURE__ */ (0,
|
|
28734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28720
28735
|
"tbody",
|
|
28721
28736
|
{
|
|
28722
28737
|
"data-slot": "table-body",
|
|
@@ -28729,7 +28744,7 @@ function TableBody({ className, ...props }) {
|
|
|
28729
28744
|
);
|
|
28730
28745
|
}
|
|
28731
28746
|
function TableRow({ className, ...props }) {
|
|
28732
|
-
return /* @__PURE__ */ (0,
|
|
28747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28733
28748
|
"tr",
|
|
28734
28749
|
{
|
|
28735
28750
|
"data-slot": "table-row",
|
|
@@ -28742,7 +28757,7 @@ function TableRow({ className, ...props }) {
|
|
|
28742
28757
|
);
|
|
28743
28758
|
}
|
|
28744
28759
|
function TableHead({ className, ...props }) {
|
|
28745
|
-
return /* @__PURE__ */ (0,
|
|
28760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28746
28761
|
"th",
|
|
28747
28762
|
{
|
|
28748
28763
|
"data-slot": "table-head",
|
|
@@ -28755,7 +28770,7 @@ function TableHead({ className, ...props }) {
|
|
|
28755
28770
|
);
|
|
28756
28771
|
}
|
|
28757
28772
|
function TableCell({ className, ...props }) {
|
|
28758
|
-
return /* @__PURE__ */ (0,
|
|
28773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28759
28774
|
"td",
|
|
28760
28775
|
{
|
|
28761
28776
|
"data-slot": "table-cell",
|
|
@@ -28769,7 +28784,7 @@ function TableCell({ className, ...props }) {
|
|
|
28769
28784
|
}
|
|
28770
28785
|
|
|
28771
28786
|
// src/components/ui/data-table.tsx
|
|
28772
|
-
var
|
|
28787
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
28773
28788
|
function DataTable({
|
|
28774
28789
|
columns,
|
|
28775
28790
|
data,
|
|
@@ -28784,15 +28799,41 @@ function DataTable({
|
|
|
28784
28799
|
onFilterChange,
|
|
28785
28800
|
onGlobalSearch,
|
|
28786
28801
|
globalSearch,
|
|
28787
|
-
onCellClick
|
|
28802
|
+
onCellClick,
|
|
28803
|
+
onDeleteRow,
|
|
28804
|
+
enableDelete
|
|
28788
28805
|
}) {
|
|
28789
|
-
const [columnFilters, setColumnFilters] =
|
|
28790
|
-
const [columnVisibility, setColumnVisibility] =
|
|
28791
|
-
const [manualSort, setManualSort] =
|
|
28792
|
-
const [searchTerm, setSearchTerm] =
|
|
28806
|
+
const [columnFilters, setColumnFilters] = React9.useState([]);
|
|
28807
|
+
const [columnVisibility, setColumnVisibility] = React9.useState({});
|
|
28808
|
+
const [manualSort, setManualSort] = React9.useState(null);
|
|
28809
|
+
const [searchTerm, setSearchTerm] = React9.useState("");
|
|
28810
|
+
const deleteColumn = React9.useMemo(() => ({
|
|
28811
|
+
id: "delete",
|
|
28812
|
+
header: "Actions",
|
|
28813
|
+
cell: ({ row }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28814
|
+
"button",
|
|
28815
|
+
{
|
|
28816
|
+
className: "px-3 py-1 text-[12px] bg-red-800 text-white rounded hover:bg-neutral-600 cursor-pointer",
|
|
28817
|
+
onClick: (event) => {
|
|
28818
|
+
event.stopPropagation();
|
|
28819
|
+
if (onDeleteRow) {
|
|
28820
|
+
onDeleteRow(row.original, "delete");
|
|
28821
|
+
}
|
|
28822
|
+
},
|
|
28823
|
+
children: "Delete"
|
|
28824
|
+
}
|
|
28825
|
+
),
|
|
28826
|
+
meta: { isClickable: true }
|
|
28827
|
+
}), [onDeleteRow]);
|
|
28828
|
+
const combinedColumns = React9.useMemo(() => {
|
|
28829
|
+
if (enableDelete) {
|
|
28830
|
+
return [...columns, deleteColumn];
|
|
28831
|
+
}
|
|
28832
|
+
return columns;
|
|
28833
|
+
}, [columns, enableDelete, deleteColumn]);
|
|
28793
28834
|
const table = (0, import_react_table.useReactTable)({
|
|
28794
28835
|
data,
|
|
28795
|
-
columns,
|
|
28836
|
+
columns: combinedColumns,
|
|
28796
28837
|
state: {
|
|
28797
28838
|
columnFilters,
|
|
28798
28839
|
columnVisibility,
|
|
@@ -28837,11 +28878,11 @@ function DataTable({
|
|
|
28837
28878
|
}
|
|
28838
28879
|
return [];
|
|
28839
28880
|
};
|
|
28840
|
-
return /* @__PURE__ */ (0,
|
|
28841
|
-
/* @__PURE__ */ (0,
|
|
28842
|
-
globalSearch && /* @__PURE__ */ (0,
|
|
28843
|
-
/* @__PURE__ */ (0,
|
|
28844
|
-
/* @__PURE__ */ (0,
|
|
28881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "overflow-hidden rounded-md w-full", children: [
|
|
28882
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: `flex ${globalSearch ? "justify-between" : "justify-end"} p-2 bg-gray-50`, children: [
|
|
28883
|
+
globalSearch && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2 w-full max-w-sm", children: [
|
|
28884
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "relative w-full", children: [
|
|
28885
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28845
28886
|
"input",
|
|
28846
28887
|
{
|
|
28847
28888
|
type: "text",
|
|
@@ -28856,9 +28897,9 @@ function DataTable({
|
|
|
28856
28897
|
className: "border border-gray-300 rounded-md text-sm px-3 py-2 pl-8 w-full focus:outline-none focus:ring-1 focus:ring-[#12715B]"
|
|
28857
28898
|
}
|
|
28858
28899
|
),
|
|
28859
|
-
/* @__PURE__ */ (0,
|
|
28900
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Search, { className: "absolute left-2 top-2.5 text-gray-400", size: 16 })
|
|
28860
28901
|
] }),
|
|
28861
|
-
/* @__PURE__ */ (0,
|
|
28902
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28862
28903
|
Button,
|
|
28863
28904
|
{
|
|
28864
28905
|
size: "sm",
|
|
@@ -28868,8 +28909,8 @@ function DataTable({
|
|
|
28868
28909
|
}
|
|
28869
28910
|
)
|
|
28870
28911
|
] }),
|
|
28871
|
-
/* @__PURE__ */ (0,
|
|
28872
|
-
/* @__PURE__ */ (0,
|
|
28912
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Popover, { children: [
|
|
28913
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28873
28914
|
Button,
|
|
28874
28915
|
{
|
|
28875
28916
|
variant: "outline",
|
|
@@ -28878,10 +28919,10 @@ function DataTable({
|
|
|
28878
28919
|
children: "Manage Columns"
|
|
28879
28920
|
}
|
|
28880
28921
|
) }),
|
|
28881
|
-
/* @__PURE__ */ (0,
|
|
28882
|
-
/* @__PURE__ */ (0,
|
|
28883
|
-
/* @__PURE__ */ (0,
|
|
28884
|
-
/* @__PURE__ */ (0,
|
|
28922
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(PopoverContent, { align: "end", className: "w-48 p-3 space-y-2", children: [
|
|
28923
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "text-sm font-medium mb-2", children: "Show / Hide Columns" }),
|
|
28924
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("label", { className: "flex items-center gap-2 text-sm font-semibold border-b pb-2 mb-2", children: [
|
|
28925
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28885
28926
|
"input",
|
|
28886
28927
|
{
|
|
28887
28928
|
type: "checkbox",
|
|
@@ -28900,8 +28941,8 @@ function DataTable({
|
|
|
28900
28941
|
),
|
|
28901
28942
|
"Toggle All"
|
|
28902
28943
|
] }),
|
|
28903
|
-
table.getAllLeafColumns().map((column) => /* @__PURE__ */ (0,
|
|
28904
|
-
/* @__PURE__ */ (0,
|
|
28944
|
+
table.getAllLeafColumns().map((column) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("label", { className: "flex items-center gap-2 text-sm", children: [
|
|
28945
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28905
28946
|
"input",
|
|
28906
28947
|
{
|
|
28907
28948
|
type: "checkbox",
|
|
@@ -28914,13 +28955,13 @@ function DataTable({
|
|
|
28914
28955
|
] })
|
|
28915
28956
|
] })
|
|
28916
28957
|
] }),
|
|
28917
|
-
/* @__PURE__ */ (0,
|
|
28918
|
-
/* @__PURE__ */ (0,
|
|
28958
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Table3, { children: [
|
|
28959
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableHeader, { children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableRow, { children: hg.headers.map((header) => {
|
|
28919
28960
|
const canSort = header.column.getCanSort();
|
|
28920
28961
|
const canFilter = header.column.getCanFilter();
|
|
28921
28962
|
const sortDir = manualSort?.key === header.column.id ? manualSort.dir : null;
|
|
28922
|
-
return /* @__PURE__ */ (0,
|
|
28923
|
-
/* @__PURE__ */ (0,
|
|
28963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableHead, { className: "relative select-none", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
28964
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
28924
28965
|
"span",
|
|
28925
28966
|
{
|
|
28926
28967
|
className: `flex items-center gap-1 ${canSort ? "cursor-pointer" : ""}`,
|
|
@@ -28932,32 +28973,32 @@ function DataTable({
|
|
|
28932
28973
|
},
|
|
28933
28974
|
children: [
|
|
28934
28975
|
(0, import_react_table.flexRender)(header.column.columnDef.header, header.getContext()),
|
|
28935
|
-
canSort && /* @__PURE__ */ (0,
|
|
28936
|
-
sortDir === "asc" && /* @__PURE__ */ (0,
|
|
28937
|
-
sortDir === "desc" && /* @__PURE__ */ (0,
|
|
28938
|
-
!sortDir && /* @__PURE__ */ (0,
|
|
28976
|
+
canSort && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
|
|
28977
|
+
sortDir === "asc" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ArrowUp, { size: 14, className: "text-gray-500" }),
|
|
28978
|
+
sortDir === "desc" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ArrowDown, { size: 14, className: "text-gray-500" }),
|
|
28979
|
+
!sortDir && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ArrowUpDown, { size: 14, className: "text-gray-400" })
|
|
28939
28980
|
] })
|
|
28940
28981
|
]
|
|
28941
28982
|
}
|
|
28942
28983
|
),
|
|
28943
|
-
canFilter && /* @__PURE__ */ (0,
|
|
28944
|
-
/* @__PURE__ */ (0,
|
|
28984
|
+
canFilter && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Popover, { children: [
|
|
28985
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28945
28986
|
"span",
|
|
28946
28987
|
{
|
|
28947
28988
|
role: "presentation",
|
|
28948
28989
|
className: "pl-5 cursor-pointer",
|
|
28949
28990
|
onClick: (e) => e.stopPropagation(),
|
|
28950
|
-
children: /* @__PURE__ */ (0,
|
|
28991
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_fontawesome3.FontAwesomeIcon, { icon: import_free_solid_svg_icons2.faEllipsisH, className: "w-5 h-5 text-gray-500" })
|
|
28951
28992
|
}
|
|
28952
28993
|
) }),
|
|
28953
|
-
/* @__PURE__ */ (0,
|
|
28994
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28954
28995
|
PopoverContent,
|
|
28955
28996
|
{
|
|
28956
28997
|
align: "center",
|
|
28957
28998
|
sideOffset: 14,
|
|
28958
28999
|
className: "w-50 p-3 z-[200] border-gray-300",
|
|
28959
29000
|
avoidCollisions: true,
|
|
28960
|
-
children: /* @__PURE__ */ (0,
|
|
29001
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
28961
29002
|
"form",
|
|
28962
29003
|
{
|
|
28963
29004
|
onSubmit: (e) => {
|
|
@@ -28970,8 +29011,8 @@ function DataTable({
|
|
|
28970
29011
|
},
|
|
28971
29012
|
className: "space-y-2",
|
|
28972
29013
|
children: [
|
|
28973
|
-
/* @__PURE__ */ (0,
|
|
28974
|
-
/* @__PURE__ */ (0,
|
|
29014
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("label", { htmlFor: "filter", className: "text-xs text-gray-500 font-normal", children: "Filter by value:" }),
|
|
29015
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28975
29016
|
"input",
|
|
28976
29017
|
{
|
|
28977
29018
|
name: "filter",
|
|
@@ -28981,7 +29022,7 @@ function DataTable({
|
|
|
28981
29022
|
autoComplete: "off"
|
|
28982
29023
|
}
|
|
28983
29024
|
),
|
|
28984
|
-
/* @__PURE__ */ (0,
|
|
29025
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "justify-end flex", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28985
29026
|
Button,
|
|
28986
29027
|
{
|
|
28987
29028
|
type: "submit",
|
|
@@ -28997,13 +29038,13 @@ function DataTable({
|
|
|
28997
29038
|
] })
|
|
28998
29039
|
] }) }, header.id);
|
|
28999
29040
|
}) }, hg.id)) }),
|
|
29000
|
-
/* @__PURE__ */ (0,
|
|
29041
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableBody, { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableCell, { colSpan: combinedColumns.length, className: "h-24 text-center", children: "Loading..." }) }) : table.getRowModel().rows.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableRow, { children: row.getVisibleCells().map((cell) => {
|
|
29001
29042
|
const meta = cell.column.columnDef.meta || {};
|
|
29002
29043
|
const isClickable = meta?.isClickable;
|
|
29003
|
-
return /* @__PURE__ */ (0,
|
|
29044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29004
29045
|
TableCell,
|
|
29005
29046
|
{
|
|
29006
|
-
className: `${meta?.cellClass ?? ""} ${isClickable ? "cursor-pointer hover:bg-gray-100
|
|
29047
|
+
className: `${meta?.cellClass ?? ""} ${isClickable ? "cursor-pointer hover:bg-gray-100" : ""}`,
|
|
29007
29048
|
style: meta?.cellStyle,
|
|
29008
29049
|
onClick: () => {
|
|
29009
29050
|
if (isClickable && onCellClick) {
|
|
@@ -29014,17 +29055,17 @@ function DataTable({
|
|
|
29014
29055
|
},
|
|
29015
29056
|
cell.id
|
|
29016
29057
|
);
|
|
29017
|
-
}) }, row.id)) : /* @__PURE__ */ (0,
|
|
29058
|
+
}) }, row.id)) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(TableCell, { colSpan: combinedColumns.length, className: "h-24 text-center", children: "No results." }) }) })
|
|
29018
29059
|
] }),
|
|
29019
|
-
pagination && /* @__PURE__ */ (0,
|
|
29020
|
-
/* @__PURE__ */ (0,
|
|
29060
|
+
pagination && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center justify-between py-3 px-2 text-sm w-full", children: [
|
|
29061
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { children: [
|
|
29021
29062
|
"Page ",
|
|
29022
29063
|
table.getState().pagination.pageIndex + 1,
|
|
29023
29064
|
" of ",
|
|
29024
29065
|
table.getPageCount()
|
|
29025
29066
|
] }),
|
|
29026
|
-
/* @__PURE__ */ (0,
|
|
29027
|
-
/* @__PURE__ */ (0,
|
|
29067
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
29068
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29028
29069
|
"button",
|
|
29029
29070
|
{
|
|
29030
29071
|
onClick: () => table.previousPage(),
|
|
@@ -29037,7 +29078,7 @@ function DataTable({
|
|
|
29037
29078
|
table.getState().pagination.pageIndex + 1,
|
|
29038
29079
|
table.getPageCount(),
|
|
29039
29080
|
5
|
|
29040
|
-
).map((pageNum, index) => /* @__PURE__ */ (0,
|
|
29081
|
+
).map((pageNum, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29041
29082
|
"button",
|
|
29042
29083
|
{
|
|
29043
29084
|
disabled: pageNum === "...",
|
|
@@ -29047,7 +29088,7 @@ function DataTable({
|
|
|
29047
29088
|
},
|
|
29048
29089
|
index
|
|
29049
29090
|
)),
|
|
29050
|
-
/* @__PURE__ */ (0,
|
|
29091
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29051
29092
|
"button",
|
|
29052
29093
|
{
|
|
29053
29094
|
onClick: () => table.nextPage(),
|
|
@@ -29062,7 +29103,7 @@ function DataTable({
|
|
|
29062
29103
|
}
|
|
29063
29104
|
|
|
29064
29105
|
// src/components/DataDisplay/Table/Table.tsx
|
|
29065
|
-
var
|
|
29106
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
29066
29107
|
var Table4 = ({
|
|
29067
29108
|
columns,
|
|
29068
29109
|
data,
|
|
@@ -29080,12 +29121,15 @@ var Table4 = ({
|
|
|
29080
29121
|
loading = false,
|
|
29081
29122
|
totalRecords = 0,
|
|
29082
29123
|
globalSearch = false,
|
|
29124
|
+
onCellClick,
|
|
29125
|
+
enableDelete,
|
|
29126
|
+
onDeleteRow,
|
|
29083
29127
|
...props
|
|
29084
29128
|
}) => {
|
|
29085
29129
|
const rawColumns = Array.isArray(columns) ? columns : [];
|
|
29086
29130
|
const rawData = Array.isArray(data) ? data : [];
|
|
29087
29131
|
const isControlled = typeof page === "number";
|
|
29088
|
-
return /* @__PURE__ */ (0,
|
|
29132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: `${className || ""} space-y-3`, style, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
29089
29133
|
DataTable,
|
|
29090
29134
|
{
|
|
29091
29135
|
...props,
|
|
@@ -29106,17 +29150,21 @@ var Table4 = ({
|
|
|
29106
29150
|
onGlobalSearch: (term) => onGlobalSearch?.({ searchTerm: term }),
|
|
29107
29151
|
globalSearch,
|
|
29108
29152
|
onCellClick: (cell) => {
|
|
29109
|
-
|
|
29110
|
-
}
|
|
29153
|
+
onCellClick?.({ id: cell.id, column: cell });
|
|
29154
|
+
},
|
|
29155
|
+
onDeleteRow: (cell) => {
|
|
29156
|
+
onDeleteRow?.(cell.id);
|
|
29157
|
+
},
|
|
29158
|
+
enableDelete
|
|
29111
29159
|
}
|
|
29112
29160
|
) });
|
|
29113
29161
|
};
|
|
29114
29162
|
var Table_default = Table4;
|
|
29115
29163
|
|
|
29116
29164
|
// src/components/ui/pagination.tsx
|
|
29117
|
-
var
|
|
29165
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
29118
29166
|
function Pagination({ className, ...props }) {
|
|
29119
|
-
return /* @__PURE__ */ (0,
|
|
29167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
29120
29168
|
"nav",
|
|
29121
29169
|
{
|
|
29122
29170
|
role: "navigation",
|
|
@@ -29131,7 +29179,7 @@ function PaginationContent({
|
|
|
29131
29179
|
className,
|
|
29132
29180
|
...props
|
|
29133
29181
|
}) {
|
|
29134
|
-
return /* @__PURE__ */ (0,
|
|
29182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
29135
29183
|
"ul",
|
|
29136
29184
|
{
|
|
29137
29185
|
"data-slot": "pagination-content",
|
|
@@ -29141,7 +29189,7 @@ function PaginationContent({
|
|
|
29141
29189
|
);
|
|
29142
29190
|
}
|
|
29143
29191
|
function PaginationItem({ ...props }) {
|
|
29144
|
-
return /* @__PURE__ */ (0,
|
|
29192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
29145
29193
|
}
|
|
29146
29194
|
function PaginationLink({
|
|
29147
29195
|
className,
|
|
@@ -29149,7 +29197,7 @@ function PaginationLink({
|
|
|
29149
29197
|
size = "icon",
|
|
29150
29198
|
...props
|
|
29151
29199
|
}) {
|
|
29152
|
-
return /* @__PURE__ */ (0,
|
|
29200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
29153
29201
|
"a",
|
|
29154
29202
|
{
|
|
29155
29203
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -29170,7 +29218,7 @@ function PaginationPrevious({
|
|
|
29170
29218
|
className,
|
|
29171
29219
|
...props
|
|
29172
29220
|
}) {
|
|
29173
|
-
return /* @__PURE__ */ (0,
|
|
29221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
29174
29222
|
PaginationLink,
|
|
29175
29223
|
{
|
|
29176
29224
|
"aria-label": "Go to previous page",
|
|
@@ -29178,8 +29226,8 @@ function PaginationPrevious({
|
|
|
29178
29226
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
29179
29227
|
...props,
|
|
29180
29228
|
children: [
|
|
29181
|
-
/* @__PURE__ */ (0,
|
|
29182
|
-
/* @__PURE__ */ (0,
|
|
29229
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ChevronLeft, {}),
|
|
29230
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
29183
29231
|
]
|
|
29184
29232
|
}
|
|
29185
29233
|
);
|
|
@@ -29188,7 +29236,7 @@ function PaginationNext({
|
|
|
29188
29236
|
className,
|
|
29189
29237
|
...props
|
|
29190
29238
|
}) {
|
|
29191
|
-
return /* @__PURE__ */ (0,
|
|
29239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
29192
29240
|
PaginationLink,
|
|
29193
29241
|
{
|
|
29194
29242
|
"aria-label": "Go to next page",
|
|
@@ -29196,8 +29244,8 @@ function PaginationNext({
|
|
|
29196
29244
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
29197
29245
|
...props,
|
|
29198
29246
|
children: [
|
|
29199
|
-
/* @__PURE__ */ (0,
|
|
29200
|
-
/* @__PURE__ */ (0,
|
|
29247
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
29248
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ChevronRight, {})
|
|
29201
29249
|
]
|
|
29202
29250
|
}
|
|
29203
29251
|
);
|
|
@@ -29206,7 +29254,7 @@ function PaginationEllipsis({
|
|
|
29206
29254
|
className,
|
|
29207
29255
|
...props
|
|
29208
29256
|
}) {
|
|
29209
|
-
return /* @__PURE__ */ (0,
|
|
29257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
29210
29258
|
"span",
|
|
29211
29259
|
{
|
|
29212
29260
|
"aria-hidden": true,
|
|
@@ -29214,15 +29262,15 @@ function PaginationEllipsis({
|
|
|
29214
29262
|
className: cn("flex size-9 items-center justify-center", className),
|
|
29215
29263
|
...props,
|
|
29216
29264
|
children: [
|
|
29217
|
-
/* @__PURE__ */ (0,
|
|
29218
|
-
/* @__PURE__ */ (0,
|
|
29265
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Ellipsis, { className: "size-4" }),
|
|
29266
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
29219
29267
|
]
|
|
29220
29268
|
}
|
|
29221
29269
|
);
|
|
29222
29270
|
}
|
|
29223
29271
|
|
|
29224
29272
|
// src/components/DataDisplay/Pagination/Pagination.tsx
|
|
29225
|
-
var
|
|
29273
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
29226
29274
|
var CustomPagination = ({
|
|
29227
29275
|
totalPages,
|
|
29228
29276
|
currentPage,
|
|
@@ -29268,10 +29316,10 @@ var CustomPagination = ({
|
|
|
29268
29316
|
}
|
|
29269
29317
|
};
|
|
29270
29318
|
const pageNumbers = getPageNumbers();
|
|
29271
|
-
return /* @__PURE__ */ (0,
|
|
29272
|
-
/* @__PURE__ */ (0,
|
|
29273
|
-
/* @__PURE__ */ (0,
|
|
29274
|
-
/* @__PURE__ */ (0,
|
|
29319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-row gap-1 w-full items-center justify-between", children: [
|
|
29320
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
29321
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("p", { className: "text-sm text-muted-foreground whitespace-nowrap", children: "Items per page:" }),
|
|
29322
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
|
|
29275
29323
|
Select,
|
|
29276
29324
|
{
|
|
29277
29325
|
defaultValue: String(perPage),
|
|
@@ -29279,26 +29327,26 @@ var CustomPagination = ({
|
|
|
29279
29327
|
onPageChange({ page: 1, itemsPerPage: Number(value) });
|
|
29280
29328
|
},
|
|
29281
29329
|
children: [
|
|
29282
|
-
/* @__PURE__ */ (0,
|
|
29283
|
-
/* @__PURE__ */ (0,
|
|
29284
|
-
/* @__PURE__ */ (0,
|
|
29285
|
-
/* @__PURE__ */ (0,
|
|
29286
|
-
/* @__PURE__ */ (0,
|
|
29287
|
-
/* @__PURE__ */ (0,
|
|
29330
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectTrigger, { className: "w-[100px]", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectValue, { placeholder: "Select" }) }),
|
|
29331
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(SelectContent, { children: [
|
|
29332
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItem, { value: "5", children: "5" }),
|
|
29333
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItem, { value: "10", children: "10" }),
|
|
29334
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItem, { value: "20", children: "20" }),
|
|
29335
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(SelectItem, { value: "50", children: "50" })
|
|
29288
29336
|
] })
|
|
29289
29337
|
]
|
|
29290
29338
|
}
|
|
29291
29339
|
)
|
|
29292
29340
|
] }),
|
|
29293
|
-
/* @__PURE__ */ (0,
|
|
29294
|
-
/* @__PURE__ */ (0,
|
|
29341
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Pagination, { className: "justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(PaginationContent, { children: [
|
|
29342
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
29295
29343
|
PaginationPrevious,
|
|
29296
29344
|
{
|
|
29297
29345
|
onClick: () => handlePageChange(currentPage - 1),
|
|
29298
29346
|
className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
|
|
29299
29347
|
}
|
|
29300
29348
|
) }),
|
|
29301
|
-
pageNumbers.map((pageNumber, index) => /* @__PURE__ */ (0,
|
|
29349
|
+
pageNumbers.map((pageNumber, index) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
29302
29350
|
PaginationLink,
|
|
29303
29351
|
{
|
|
29304
29352
|
onClick: () => handlePageChange(pageNumber),
|
|
@@ -29307,7 +29355,7 @@ var CustomPagination = ({
|
|
|
29307
29355
|
children: pageNumber
|
|
29308
29356
|
}
|
|
29309
29357
|
) }, index)),
|
|
29310
|
-
/* @__PURE__ */ (0,
|
|
29358
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
29311
29359
|
PaginationNext,
|
|
29312
29360
|
{
|
|
29313
29361
|
onClick: () => handlePageChange(currentPage + 1),
|
|
@@ -29322,8 +29370,8 @@ var Pagination_default = CustomPagination;
|
|
|
29322
29370
|
// src/components/Navigation/Tabs/Tabs.tsx
|
|
29323
29371
|
var import_link5 = __toESM(require("next/link"));
|
|
29324
29372
|
var import_navigation3 = require("next/navigation");
|
|
29325
|
-
var
|
|
29326
|
-
var
|
|
29373
|
+
var import_react27 = require("react");
|
|
29374
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
29327
29375
|
var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuilder = true }) => {
|
|
29328
29376
|
const rawTabs = Array.isArray(tabs) ? tabs : [];
|
|
29329
29377
|
const baseClasses = "text-[12px] text-foreground p-2 text-center rounded-md transition-colors";
|
|
@@ -29334,9 +29382,9 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29334
29382
|
return pathname === path || path !== "/" && pathname?.startsWith(path);
|
|
29335
29383
|
};
|
|
29336
29384
|
const router = (0, import_navigation3.useRouter)();
|
|
29337
|
-
const [showExitDialog, setShowExitDialog] = (0,
|
|
29338
|
-
const [pendingUrl, setPendingUrl] = (0,
|
|
29339
|
-
const handleBuilderExit = (0,
|
|
29385
|
+
const [showExitDialog, setShowExitDialog] = (0, import_react27.useState)(false);
|
|
29386
|
+
const [pendingUrl, setPendingUrl] = (0, import_react27.useState)(null);
|
|
29387
|
+
const handleBuilderExit = (0, import_react27.useCallback)(
|
|
29340
29388
|
(e, url) => {
|
|
29341
29389
|
if (isBuilder) {
|
|
29342
29390
|
e.preventDefault();
|
|
@@ -29355,23 +29403,23 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29355
29403
|
const renderDesktopTab = (tab, index) => {
|
|
29356
29404
|
const finalClasses = [baseClasses, isActive(tab.url) ? activeClasses : hoverClasses, tab.className || ""].join(" ");
|
|
29357
29405
|
if (Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown) {
|
|
29358
|
-
return /* @__PURE__ */ (0,
|
|
29359
|
-
/* @__PURE__ */ (0,
|
|
29406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DropdownMenu, { children: [
|
|
29407
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DropdownMenuTrigger, { className: `${finalClasses} inline-flex items-center gap-1`, children: [
|
|
29360
29408
|
tab.header,
|
|
29361
|
-
/* @__PURE__ */ (0,
|
|
29409
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
|
|
29362
29410
|
] }),
|
|
29363
|
-
/* @__PURE__ */ (0,
|
|
29411
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29364
29412
|
DropdownMenuContent,
|
|
29365
29413
|
{
|
|
29366
29414
|
align: "start",
|
|
29367
29415
|
sideOffset: 6,
|
|
29368
29416
|
className: "z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg",
|
|
29369
|
-
children: tab.children.map((item) => /* @__PURE__ */ (0,
|
|
29417
|
+
children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29370
29418
|
DropdownMenuItem,
|
|
29371
29419
|
{
|
|
29372
29420
|
asChild: true,
|
|
29373
29421
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100",
|
|
29374
|
-
children: /* @__PURE__ */ (0,
|
|
29422
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_link5.default, { href: item.url || "#", onClick: (e) => handleBuilderExit(e, item.url || "#"), children: item.header })
|
|
29375
29423
|
},
|
|
29376
29424
|
item.id
|
|
29377
29425
|
))
|
|
@@ -29379,7 +29427,7 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29379
29427
|
)
|
|
29380
29428
|
] }, index);
|
|
29381
29429
|
}
|
|
29382
|
-
return tab.url ? /* @__PURE__ */ (0,
|
|
29430
|
+
return tab.url ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29383
29431
|
import_link5.default,
|
|
29384
29432
|
{
|
|
29385
29433
|
href: tab.url,
|
|
@@ -29389,14 +29437,14 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29389
29437
|
children: tab.header
|
|
29390
29438
|
},
|
|
29391
29439
|
index
|
|
29392
|
-
) : /* @__PURE__ */ (0,
|
|
29440
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
|
|
29393
29441
|
};
|
|
29394
|
-
const renderMobileMenu = () => /* @__PURE__ */ (0,
|
|
29395
|
-
/* @__PURE__ */ (0,
|
|
29396
|
-
/* @__PURE__ */ (0,
|
|
29442
|
+
const renderMobileMenu = () => /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DropdownMenu, { children: [
|
|
29443
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DropdownMenuTrigger, { className: "flex items-center gap-2 px-3 py-2 rounded-md bg-white/10 text-white text-sm", children: [
|
|
29444
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Menu, { className: "h-4 w-4" }),
|
|
29397
29445
|
"Menu"
|
|
29398
29446
|
] }),
|
|
29399
|
-
/* @__PURE__ */ (0,
|
|
29447
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29400
29448
|
DropdownMenuContent,
|
|
29401
29449
|
{
|
|
29402
29450
|
align: "start",
|
|
@@ -29405,25 +29453,25 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29405
29453
|
children: rawTabs.map((tab, i) => {
|
|
29406
29454
|
const hasChildren = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
|
|
29407
29455
|
if (hasChildren) {
|
|
29408
|
-
return /* @__PURE__ */ (0,
|
|
29409
|
-
/* @__PURE__ */ (0,
|
|
29410
|
-
/* @__PURE__ */ (0,
|
|
29456
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DropdownMenuSub, { children: [
|
|
29457
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DropdownMenuSubTrigger, { className: "flex items-center justify-between cursor-pointer rounded-sm px-3 py-2 text-[13px] text-foreground hover:text-foreground", children: tab.header }),
|
|
29458
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DropdownMenuSubContent, { className: "bg-white border shadow-lg rounded-md p-1", children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29411
29459
|
DropdownMenuItem,
|
|
29412
29460
|
{
|
|
29413
29461
|
asChild: true,
|
|
29414
29462
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100",
|
|
29415
|
-
children: /* @__PURE__ */ (0,
|
|
29463
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_link5.default, { href: item.url || "#", onClick: (e) => handleBuilderExit(e, item.url || "#"), children: item.header })
|
|
29416
29464
|
},
|
|
29417
29465
|
item.id
|
|
29418
29466
|
)) })
|
|
29419
29467
|
] }, i);
|
|
29420
29468
|
}
|
|
29421
|
-
return /* @__PURE__ */ (0,
|
|
29469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29422
29470
|
DropdownMenuItem,
|
|
29423
29471
|
{
|
|
29424
29472
|
asChild: true,
|
|
29425
29473
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[13px] text-gray-800 hover:bg-gray-100",
|
|
29426
|
-
children: /* @__PURE__ */ (0,
|
|
29474
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_link5.default, { href: tab.url || "#", onClick: (e) => handleBuilderExit(e, tab.url || "#"), children: tab.header })
|
|
29427
29475
|
},
|
|
29428
29476
|
i
|
|
29429
29477
|
);
|
|
@@ -29433,19 +29481,19 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29433
29481
|
] });
|
|
29434
29482
|
const forceMobile = canvasMode ? canvasMode === "mobile" || canvasMode === "tablet" : void 0;
|
|
29435
29483
|
const forceDesktop = canvasMode ? canvasMode === "desktop" : void 0;
|
|
29436
|
-
return /* @__PURE__ */ (0,
|
|
29437
|
-
/* @__PURE__ */ (0,
|
|
29438
|
-
forceDesktop !== void 0 ? forceDesktop && /* @__PURE__ */ (0,
|
|
29439
|
-
forceMobile !== void 0 ? forceMobile && /* @__PURE__ */ (0,
|
|
29484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment, { children: [
|
|
29485
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className, style, children: [
|
|
29486
|
+
forceDesktop !== void 0 ? forceDesktop && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "hidden md:flex", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "hidden md:flex", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: `flex gap-2 ${verticalMenu ? "flex-col items-start" : "flex-row"}`, children: rawTabs.map(renderDesktopTab) }) }),
|
|
29487
|
+
forceMobile !== void 0 ? forceMobile && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { children: renderMobileMenu() }) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "flex md:hidden", children: renderMobileMenu() })
|
|
29440
29488
|
] }),
|
|
29441
|
-
/* @__PURE__ */ (0,
|
|
29442
|
-
/* @__PURE__ */ (0,
|
|
29443
|
-
/* @__PURE__ */ (0,
|
|
29444
|
-
/* @__PURE__ */ (0,
|
|
29489
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Dialog, { open: showExitDialog, onOpenChange: setShowExitDialog, children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DialogContent, { className: "bg-[#fff]", children: [
|
|
29490
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DialogHeader, { children: [
|
|
29491
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DialogTitle, { children: "Exit Builder?" }),
|
|
29492
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(DialogDescription, { children: "You are about to leave the builder. Any unsaved changes may be lost." })
|
|
29445
29493
|
] }),
|
|
29446
|
-
/* @__PURE__ */ (0,
|
|
29447
|
-
/* @__PURE__ */ (0,
|
|
29448
|
-
/* @__PURE__ */ (0,
|
|
29494
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(DialogFooter, { children: [
|
|
29495
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { className: "cursor-pointer bg-[#12715b] text-[#fff]", variant: "outline", onClick: () => setShowExitDialog(false), children: "Cancel" }),
|
|
29496
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { className: "cursor-pointer border-[#12715b] border", onClick: confirmExit, children: "Yes, Exit" })
|
|
29449
29497
|
] })
|
|
29450
29498
|
] }) })
|
|
29451
29499
|
] });
|
|
@@ -29453,34 +29501,42 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29453
29501
|
var Tabs_default = Tabs;
|
|
29454
29502
|
|
|
29455
29503
|
// src/components/Navigation/Stages/Stages.tsx
|
|
29456
|
-
var
|
|
29457
|
-
var
|
|
29458
|
-
var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStageChange }) => {
|
|
29459
|
-
return /* @__PURE__ */ (0,
|
|
29460
|
-
/* @__PURE__ */ (0,
|
|
29461
|
-
/* @__PURE__ */ (0,
|
|
29462
|
-
|
|
29463
|
-
|
|
29464
|
-
|
|
29465
|
-
|
|
29466
|
-
|
|
29467
|
-
|
|
29468
|
-
|
|
29469
|
-
|
|
29470
|
-
|
|
29471
|
-
|
|
29472
|
-
|
|
29473
|
-
|
|
29474
|
-
|
|
29475
|
-
|
|
29476
|
-
|
|
29504
|
+
var import_react28 = __toESM(require("react"));
|
|
29505
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
29506
|
+
var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStageChange, currentStage }) => {
|
|
29507
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "flex items-center justify-between bg-red p-2 rounded-lg border border-gray-200 w-full", children: [
|
|
29508
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
|
|
29509
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-center flex-1 px-2 flex-wrap gap-2", children: stages?.length > 0 && stages?.map((stage, index) => {
|
|
29510
|
+
const currentIndex = stages.findIndex((s) => s.key === currentStage);
|
|
29511
|
+
const isAllCompleted = currentStage === "completed";
|
|
29512
|
+
const isCompleted = isAllCompleted || index < currentIndex;
|
|
29513
|
+
const isActive = !isAllCompleted && index === currentIndex;
|
|
29514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_react28.default.Fragment, { children: [
|
|
29515
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
29516
|
+
"button",
|
|
29517
|
+
{
|
|
29518
|
+
className: `
|
|
29519
|
+
min-w-[120px] px-4 py-2 rounded-full text-sm font-medium transition-colors duration-200 whitespace-nowrap
|
|
29520
|
+
${isActive ? "bg-[#034486] text-white shadow-md" : isCompleted ? "bg-[#e0f2fe] text-[#034486] border border-[#034486]" : "bg-white text-gray-700 hover:bg-gray-100 border border-gray-200"}`,
|
|
29521
|
+
onClick: () => {
|
|
29522
|
+
if (onStageChange) {
|
|
29523
|
+
onStageChange(stage.key);
|
|
29524
|
+
}
|
|
29525
|
+
},
|
|
29526
|
+
children: stage.header
|
|
29527
|
+
}
|
|
29528
|
+
),
|
|
29529
|
+
index < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
|
|
29530
|
+
] }, stage.id);
|
|
29531
|
+
}) }),
|
|
29532
|
+
isShowBtn && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
29477
29533
|
"button",
|
|
29478
29534
|
{
|
|
29479
29535
|
className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm",
|
|
29480
29536
|
onClick: () => {
|
|
29481
29537
|
const activeStage = stages?.find((stage) => stage.isActive);
|
|
29482
29538
|
if (activeStage && onStageChange) {
|
|
29483
|
-
onStageChange(
|
|
29539
|
+
onStageChange("completed");
|
|
29484
29540
|
}
|
|
29485
29541
|
},
|
|
29486
29542
|
children: buttonText
|
|
@@ -29491,26 +29547,26 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStag
|
|
|
29491
29547
|
var Stages_default = StagesComponent;
|
|
29492
29548
|
|
|
29493
29549
|
// src/components/Navigation/Spacer/Spacer.tsx
|
|
29494
|
-
var
|
|
29550
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
29495
29551
|
var Spacer = ({ className, style }) => {
|
|
29496
|
-
return /* @__PURE__ */ (0,
|
|
29552
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: `${className}`, style });
|
|
29497
29553
|
};
|
|
29498
29554
|
var Spacer_default = Spacer;
|
|
29499
29555
|
|
|
29500
29556
|
// src/components/Navigation/Profile/Profile.tsx
|
|
29501
|
-
var
|
|
29557
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
29502
29558
|
|
|
29503
29559
|
// src/components/Navigation/Notification/Notification.tsx
|
|
29504
|
-
var
|
|
29560
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
29505
29561
|
|
|
29506
29562
|
// src/components/Navigation/Logo/Logo.tsx
|
|
29507
|
-
var
|
|
29563
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
29508
29564
|
|
|
29509
29565
|
// src/components/ui/avatar.tsx
|
|
29510
|
-
var
|
|
29566
|
+
var React11 = __toESM(require("react"));
|
|
29511
29567
|
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
|
|
29512
|
-
var
|
|
29513
|
-
var Avatar =
|
|
29568
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
29569
|
+
var Avatar = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
29514
29570
|
AvatarPrimitive.Root,
|
|
29515
29571
|
{
|
|
29516
29572
|
ref,
|
|
@@ -29522,7 +29578,7 @@ var Avatar = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
29522
29578
|
}
|
|
29523
29579
|
));
|
|
29524
29580
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
29525
|
-
var AvatarImage =
|
|
29581
|
+
var AvatarImage = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
29526
29582
|
AvatarPrimitive.Image,
|
|
29527
29583
|
{
|
|
29528
29584
|
ref,
|
|
@@ -29531,7 +29587,7 @@ var AvatarImage = React10.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
29531
29587
|
}
|
|
29532
29588
|
));
|
|
29533
29589
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
29534
|
-
var AvatarFallback =
|
|
29590
|
+
var AvatarFallback = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
29535
29591
|
AvatarPrimitive.Fallback,
|
|
29536
29592
|
{
|
|
29537
29593
|
ref,
|
|
@@ -29549,8 +29605,8 @@ var import_link6 = __toESM(require("next/link"));
|
|
|
29549
29605
|
var import_image3 = __toESM(require("next/image"));
|
|
29550
29606
|
var import_navigation4 = require("next/navigation");
|
|
29551
29607
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
29552
|
-
var
|
|
29553
|
-
var
|
|
29608
|
+
var import_react29 = require("react");
|
|
29609
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
29554
29610
|
function Navbar({
|
|
29555
29611
|
style,
|
|
29556
29612
|
badgeType,
|
|
@@ -29570,9 +29626,9 @@ function Navbar({
|
|
|
29570
29626
|
}) {
|
|
29571
29627
|
const isMobileView = canvasMode === "mobile" || canvasMode === "tablet";
|
|
29572
29628
|
const router = (0, import_navigation4.useRouter)();
|
|
29573
|
-
const [showExitDialog, setShowExitDialog] = (0,
|
|
29574
|
-
const [pendingUrl, setPendingUrl] = (0,
|
|
29575
|
-
const handleBuilderExit = (0,
|
|
29629
|
+
const [showExitDialog, setShowExitDialog] = (0, import_react29.useState)(false);
|
|
29630
|
+
const [pendingUrl, setPendingUrl] = (0, import_react29.useState)(null);
|
|
29631
|
+
const handleBuilderExit = (0, import_react29.useCallback)(
|
|
29576
29632
|
(e, url) => {
|
|
29577
29633
|
if (isBuilder) {
|
|
29578
29634
|
e.preventDefault();
|
|
@@ -29588,29 +29644,29 @@ function Navbar({
|
|
|
29588
29644
|
router.push(pendingUrl);
|
|
29589
29645
|
}
|
|
29590
29646
|
};
|
|
29591
|
-
const formatedMenu = (0,
|
|
29647
|
+
const formatedMenu = (0, import_react29.useMemo)(() => {
|
|
29592
29648
|
if (source === "state" && navList && navList.length) {
|
|
29593
29649
|
return navList.map((i) => ({ ...i, header: i.name || "Menu" }));
|
|
29594
29650
|
}
|
|
29595
29651
|
return list || [];
|
|
29596
29652
|
}, [source, navList]);
|
|
29597
|
-
return /* @__PURE__ */ (0,
|
|
29598
|
-
/* @__PURE__ */ (0,
|
|
29653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
|
|
29654
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29599
29655
|
"nav",
|
|
29600
29656
|
{
|
|
29601
29657
|
className: "w-full border-b border-b-white dark:border-b-gray-800 dark:bg-gray-800 bg-white shadow-sm",
|
|
29602
29658
|
style,
|
|
29603
|
-
children: /* @__PURE__ */ (0,
|
|
29604
|
-
/* @__PURE__ */ (0,
|
|
29659
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "mx-auto flex max-w-[90%] items-center justify-between px-4 py-4", children: [
|
|
29660
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29605
29661
|
import_link6.default,
|
|
29606
29662
|
{
|
|
29607
29663
|
href: "/",
|
|
29608
29664
|
onClick: (e) => handleBuilderExit(e, "/"),
|
|
29609
29665
|
className: "flex items-center space-x-2",
|
|
29610
|
-
children: imageUrl ? /* @__PURE__ */ (0,
|
|
29666
|
+
children: imageUrl ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_image3.default, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" })
|
|
29611
29667
|
}
|
|
29612
29668
|
),
|
|
29613
|
-
!isMobileView && /* @__PURE__ */ (0,
|
|
29669
|
+
!isMobileView && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex items-center space-x-6 sm:hidden md:flex", children: formatedMenu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29614
29670
|
import_link6.default,
|
|
29615
29671
|
{
|
|
29616
29672
|
href: item.url || "#",
|
|
@@ -29620,39 +29676,39 @@ function Navbar({
|
|
|
29620
29676
|
},
|
|
29621
29677
|
item.id
|
|
29622
29678
|
)) }),
|
|
29623
|
-
/* @__PURE__ */ (0,
|
|
29624
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
29625
|
-
/* @__PURE__ */ (0,
|
|
29626
|
-
/* @__PURE__ */ (0,
|
|
29627
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
29628
|
-
/* @__PURE__ */ (0,
|
|
29629
|
-
/* @__PURE__ */ (0,
|
|
29630
|
-
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && Number(badgeCount) > 0 ? /* @__PURE__ */ (0,
|
|
29679
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center space-x-3", children: [
|
|
29680
|
+
!isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex-1 px-6", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
|
|
29681
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 dark:text-white text-gray-400" }),
|
|
29682
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
|
|
29683
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { variant: "ghost", size: "icon", className: "border border-gray-400", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Search, { className: "h-5 w-5 text-gray-400" }) }),
|
|
29684
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "relative bg-[#E9E9E9] dark:bg-gray-700 rounded-md", children: [
|
|
29685
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Bell, { className: "h-5 w-5 text-[#1C1B1F] dark:text-gray-400" }) }),
|
|
29686
|
+
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && Number(badgeCount) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "absolute -top-1 -right-1 flex h-4 w-4 items-center justify-center rounded-full bg-red-500 text-[10px] text-white leading-8", children: badgeCount }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
|
|
29631
29687
|
] }),
|
|
29632
|
-
/* @__PURE__ */ (0,
|
|
29633
|
-
/* @__PURE__ */ (0,
|
|
29634
|
-
!isMobileView && showName && /* @__PURE__ */ (0,
|
|
29635
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
29636
|
-
/* @__PURE__ */ (0,
|
|
29688
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenu, { children: [
|
|
29689
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
29690
|
+
!isMobileView && showName && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("h4", { className: "text-[#000000] dark:text-gray-300 text-[13px] font-[500] mb-0", children: userName }),
|
|
29691
|
+
!isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
|
|
29692
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29637
29693
|
AvatarImage,
|
|
29638
29694
|
{
|
|
29639
29695
|
src: "/images/appbuilder/toolset/profile.svg",
|
|
29640
29696
|
alt: "Profile"
|
|
29641
29697
|
}
|
|
29642
|
-
) : /* @__PURE__ */ (0,
|
|
29643
|
-
/* @__PURE__ */ (0,
|
|
29698
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "w-8 h-8 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: userName && getInitials(userName) }) }),
|
|
29699
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29644
29700
|
Button,
|
|
29645
29701
|
{
|
|
29646
29702
|
variant: "ghost",
|
|
29647
29703
|
size: "icon",
|
|
29648
29704
|
className: "text-gray-900 md:hidden dark:invert",
|
|
29649
|
-
children: /* @__PURE__ */ (0,
|
|
29705
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Menu, { className: "h-6 w-6" })
|
|
29650
29706
|
}
|
|
29651
29707
|
)
|
|
29652
|
-
] }) : /* @__PURE__ */ (0,
|
|
29708
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { variant: "ghost", size: "icon", className: "text-gray-900 dark:invert", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Menu, { className: "h-6 w-6" }) })
|
|
29653
29709
|
] }) }),
|
|
29654
|
-
/* @__PURE__ */ (0,
|
|
29655
|
-
profileMenu && profileMenu.length > 0 && /* @__PURE__ */ (0,
|
|
29710
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DropdownMenuContent, { align: "end", className: "bg-white dark:bg-gray-800", children: [
|
|
29711
|
+
profileMenu && profileMenu.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_jsx_runtime62.Fragment, { children: profileMenu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuItem, { className: "text-black dark:invert", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29656
29712
|
import_link6.default,
|
|
29657
29713
|
{
|
|
29658
29714
|
href: item.url || "#",
|
|
@@ -29660,9 +29716,9 @@ function Navbar({
|
|
|
29660
29716
|
children: item.header
|
|
29661
29717
|
}
|
|
29662
29718
|
) }, item.id)) }),
|
|
29663
|
-
/* @__PURE__ */ (0,
|
|
29664
|
-
/* @__PURE__ */ (0,
|
|
29665
|
-
formatedMenu && formatedMenu.length > 0 && /* @__PURE__ */ (0,
|
|
29719
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "md:hidden", children: [
|
|
29720
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_dropdown_menu.DropdownMenuSeparator, {}),
|
|
29721
|
+
formatedMenu && formatedMenu.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_jsx_runtime62.Fragment, { children: formatedMenu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DropdownMenuItem, { className: "text-black dark:invert", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29666
29722
|
import_link6.default,
|
|
29667
29723
|
{
|
|
29668
29724
|
href: item.url || "#",
|
|
@@ -29677,51 +29733,51 @@ function Navbar({
|
|
|
29677
29733
|
] })
|
|
29678
29734
|
}
|
|
29679
29735
|
),
|
|
29680
|
-
/* @__PURE__ */ (0,
|
|
29681
|
-
/* @__PURE__ */ (0,
|
|
29682
|
-
/* @__PURE__ */ (0,
|
|
29683
|
-
/* @__PURE__ */ (0,
|
|
29736
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Dialog, { open: showExitDialog, onOpenChange: setShowExitDialog, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DialogContent, { className: "bg-[#fff]", children: [
|
|
29737
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DialogHeader, { children: [
|
|
29738
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DialogTitle, { children: "Exit Builder?" }),
|
|
29739
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(DialogDescription, { children: "You are about to leave the builder. Any unsaved changes may be lost." })
|
|
29684
29740
|
] }),
|
|
29685
|
-
/* @__PURE__ */ (0,
|
|
29686
|
-
/* @__PURE__ */ (0,
|
|
29687
|
-
/* @__PURE__ */ (0,
|
|
29741
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(DialogFooter, { children: [
|
|
29742
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { className: "cursor-pointer bg-[#12715b] text-[#fff]", variant: "outline", onClick: () => setShowExitDialog(false), children: "Cancel" }),
|
|
29743
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Button, { className: "cursor-pointer border-[#12715b] border", onClick: confirmExit, children: "Yes, Exit" })
|
|
29688
29744
|
] })
|
|
29689
29745
|
] }) })
|
|
29690
29746
|
] });
|
|
29691
29747
|
}
|
|
29692
29748
|
|
|
29693
29749
|
// src/components/Chart/BarChart.tsx
|
|
29694
|
-
var
|
|
29750
|
+
var import_react30 = __toESM(require("react"));
|
|
29695
29751
|
var import_recharts = require("recharts");
|
|
29696
|
-
var
|
|
29752
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
29697
29753
|
var ChartComponent = ({ className, style, loading, ...props }) => {
|
|
29698
29754
|
const data = Array.isArray(props.data) ? props.data : [];
|
|
29699
29755
|
const chartType = props.chartType || "bar";
|
|
29700
29756
|
const legendsPosition = props.legendsPosition === "middle" || props.legendsPosition === "bottom" ? props.legendsPosition : "top";
|
|
29701
29757
|
if (loading || data.length === 0) {
|
|
29702
|
-
return /* @__PURE__ */ (0,
|
|
29758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
29703
29759
|
"div",
|
|
29704
29760
|
{
|
|
29705
29761
|
className: `flex items-center justify-center w-full h-[300px] md:h-[400px] bg-gray-50 animate-pulse rounded-lg ${className}`,
|
|
29706
29762
|
style,
|
|
29707
|
-
children: /* @__PURE__ */ (0,
|
|
29763
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "text-gray-400 text-sm md:text-base", children: loading ? "Loading chart report..." : "No data available to display the chart." })
|
|
29708
29764
|
}
|
|
29709
29765
|
);
|
|
29710
29766
|
}
|
|
29711
|
-
return /* @__PURE__ */ (0,
|
|
29712
|
-
/* @__PURE__ */ (0,
|
|
29713
|
-
/* @__PURE__ */ (0,
|
|
29714
|
-
/* @__PURE__ */ (0,
|
|
29715
|
-
/* @__PURE__ */ (0,
|
|
29716
|
-
/* @__PURE__ */ (0,
|
|
29717
|
-
/* @__PURE__ */ (0,
|
|
29767
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: `${className} h-[400px]`, style, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_recharts.BarChart, { data, title: "Leads", desc: "content", children: [
|
|
29768
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
|
|
29769
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.XAxis, { dataKey: "name" }),
|
|
29770
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.YAxis, {}),
|
|
29771
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.Tooltip, { formatter: (value) => `${value}k` }),
|
|
29772
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.Legend, { verticalAlign: legendsPosition, align: "center" }),
|
|
29773
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
29718
29774
|
import_recharts.Bar,
|
|
29719
29775
|
{
|
|
29720
29776
|
dataKey: "value",
|
|
29721
29777
|
fill: "#00695C",
|
|
29722
29778
|
radius: [6, 6, 0, 0],
|
|
29723
29779
|
isAnimationActive: false,
|
|
29724
|
-
children: data.map((entry, index) => /* @__PURE__ */ (0,
|
|
29780
|
+
children: data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
29725
29781
|
"rect",
|
|
29726
29782
|
{
|
|
29727
29783
|
fill: entry.color || "#00695C"
|
|
@@ -29730,16 +29786,16 @@ var ChartComponent = ({ className, style, loading, ...props }) => {
|
|
|
29730
29786
|
))
|
|
29731
29787
|
}
|
|
29732
29788
|
)
|
|
29733
|
-
] }) : /* @__PURE__ */ (0,
|
|
29734
|
-
/* @__PURE__ */ (0,
|
|
29735
|
-
/* @__PURE__ */ (0,
|
|
29736
|
-
/* @__PURE__ */ (0,
|
|
29789
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_recharts.AreaChart, { data, children: [
|
|
29790
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
29791
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
|
|
29792
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
|
|
29737
29793
|
] }) }),
|
|
29738
|
-
/* @__PURE__ */ (0,
|
|
29739
|
-
/* @__PURE__ */ (0,
|
|
29740
|
-
/* @__PURE__ */ (0,
|
|
29741
|
-
/* @__PURE__ */ (0,
|
|
29742
|
-
/* @__PURE__ */ (0,
|
|
29794
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
|
|
29795
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.XAxis, { dataKey: "name" }),
|
|
29796
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.YAxis, {}),
|
|
29797
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_recharts.Tooltip, { formatter: (value) => `${value}k` }),
|
|
29798
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
29743
29799
|
import_recharts.Area,
|
|
29744
29800
|
{
|
|
29745
29801
|
type: "monotone",
|
|
@@ -29752,12 +29808,12 @@ var ChartComponent = ({ className, style, loading, ...props }) => {
|
|
|
29752
29808
|
)
|
|
29753
29809
|
] }) }) });
|
|
29754
29810
|
};
|
|
29755
|
-
var BarChart_default =
|
|
29811
|
+
var BarChart_default = import_react30.default.memo(ChartComponent);
|
|
29756
29812
|
|
|
29757
29813
|
// src/components/Chart/PieChart.tsx
|
|
29758
|
-
var
|
|
29814
|
+
var import_react31 = __toESM(require("react"));
|
|
29759
29815
|
var import_recharts2 = require("recharts");
|
|
29760
|
-
var
|
|
29816
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
29761
29817
|
var getRandomColor = () => {
|
|
29762
29818
|
const palette = [
|
|
29763
29819
|
"#2563eb",
|
|
@@ -29777,32 +29833,32 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29777
29833
|
const showLegends = props.showLegends ?? true;
|
|
29778
29834
|
const labelType = props.labelType || "inside";
|
|
29779
29835
|
const canvasMode = props.canvasMode;
|
|
29780
|
-
const data = (0,
|
|
29836
|
+
const data = (0, import_react31.useMemo)(() => {
|
|
29781
29837
|
if (!Array.isArray(props.data)) return [];
|
|
29782
29838
|
return props.data.map((item) => ({ ...item, color: getRandomColor() }));
|
|
29783
29839
|
}, [props.data]);
|
|
29784
|
-
const total = (0,
|
|
29840
|
+
const total = (0, import_react31.useMemo)(() => data.reduce((sum, d) => sum + d.value, 0), [data]);
|
|
29785
29841
|
const forceMobile = canvasMode === "mobile" || canvasMode === "tablet";
|
|
29786
|
-
const [mounted, setMounted] = (0,
|
|
29787
|
-
(0,
|
|
29842
|
+
const [mounted, setMounted] = (0, import_react31.useState)(false);
|
|
29843
|
+
(0, import_react31.useEffect)(() => {
|
|
29788
29844
|
const timeout = setTimeout(() => setMounted(true), 100);
|
|
29789
29845
|
return () => clearTimeout(timeout);
|
|
29790
29846
|
}, []);
|
|
29791
|
-
const renderLegends = (0,
|
|
29847
|
+
const renderLegends = (0, import_react31.useMemo)(() => {
|
|
29792
29848
|
if (!showLegends) return null;
|
|
29793
|
-
return /* @__PURE__ */ (0,
|
|
29849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_jsx_runtime64.Fragment, { children: data.map((d) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
29794
29850
|
"div",
|
|
29795
29851
|
{
|
|
29796
29852
|
className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
|
|
29797
29853
|
children: [
|
|
29798
|
-
/* @__PURE__ */ (0,
|
|
29854
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29799
29855
|
"span",
|
|
29800
29856
|
{
|
|
29801
29857
|
className: "inline-block w-[16px] h-[16px] rounded",
|
|
29802
29858
|
style: { backgroundColor: d.color }
|
|
29803
29859
|
}
|
|
29804
29860
|
),
|
|
29805
|
-
/* @__PURE__ */ (0,
|
|
29861
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
|
|
29806
29862
|
]
|
|
29807
29863
|
},
|
|
29808
29864
|
d.name
|
|
@@ -29810,24 +29866,24 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29810
29866
|
}, [data, showLegends]);
|
|
29811
29867
|
if (!mounted) return null;
|
|
29812
29868
|
if (loading || data.length === 0) {
|
|
29813
|
-
return /* @__PURE__ */ (0,
|
|
29869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29814
29870
|
"div",
|
|
29815
29871
|
{
|
|
29816
29872
|
className: `flex items-center justify-center w-full h-[300px] md:h-[400px] bg-gray-50 animate-pulse rounded-lg ${className}`,
|
|
29817
29873
|
style,
|
|
29818
|
-
children: /* @__PURE__ */ (0,
|
|
29874
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "text-gray-400 text-sm md:text-base", children: loading ? "Loading chart report..." : "No data available to display the chart." })
|
|
29819
29875
|
}
|
|
29820
29876
|
);
|
|
29821
29877
|
}
|
|
29822
|
-
return /* @__PURE__ */ (0,
|
|
29878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
29823
29879
|
"div",
|
|
29824
29880
|
{
|
|
29825
29881
|
className: `relative flex flex-col items-center ${className}`,
|
|
29826
29882
|
style,
|
|
29827
29883
|
children: [
|
|
29828
|
-
/* @__PURE__ */ (0,
|
|
29829
|
-
/* @__PURE__ */ (0,
|
|
29830
|
-
/* @__PURE__ */ (0,
|
|
29884
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
|
|
29885
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_recharts2.ResponsiveContainer, { width: "99%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_recharts2.PieChart, { children: [
|
|
29886
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
29831
29887
|
import_recharts2.Pie,
|
|
29832
29888
|
{
|
|
29833
29889
|
data,
|
|
@@ -29839,8 +29895,8 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29839
29895
|
labelLine: false,
|
|
29840
29896
|
isAnimationActive: false,
|
|
29841
29897
|
children: [
|
|
29842
|
-
data.map((entry, index) => /* @__PURE__ */ (0,
|
|
29843
|
-
/* @__PURE__ */ (0,
|
|
29898
|
+
data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_recharts2.Cell, { fill: entry.color }, `cell-${index}`)),
|
|
29899
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29844
29900
|
import_recharts2.LabelList,
|
|
29845
29901
|
{
|
|
29846
29902
|
dataKey: "value",
|
|
@@ -29853,14 +29909,14 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29853
29909
|
]
|
|
29854
29910
|
}
|
|
29855
29911
|
),
|
|
29856
|
-
/* @__PURE__ */ (0,
|
|
29912
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29857
29913
|
import_recharts2.Tooltip,
|
|
29858
29914
|
{
|
|
29859
29915
|
formatter: (value, name) => [`${value}k`, name]
|
|
29860
29916
|
}
|
|
29861
29917
|
)
|
|
29862
29918
|
] }) }),
|
|
29863
|
-
/* @__PURE__ */ (0,
|
|
29919
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
29864
29920
|
"div",
|
|
29865
29921
|
{
|
|
29866
29922
|
className: `absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 ${forceMobile ? "text-2xl" : "text-4xl"} font-bold text-[#000]`,
|
|
@@ -29871,18 +29927,18 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29871
29927
|
}
|
|
29872
29928
|
)
|
|
29873
29929
|
] }),
|
|
29874
|
-
/* @__PURE__ */ (0,
|
|
29930
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex flex-wrap justify-center gap-2 mt-6 w-full md:w-auto", children: renderLegends })
|
|
29875
29931
|
]
|
|
29876
29932
|
}
|
|
29877
29933
|
);
|
|
29878
29934
|
};
|
|
29879
|
-
var PieChart_default =
|
|
29935
|
+
var PieChart_default = import_react31.default.memo(DonutChart);
|
|
29880
29936
|
|
|
29881
29937
|
// src/components/Blocks/EmailComposer.tsx
|
|
29882
|
-
var
|
|
29938
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
29883
29939
|
function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc, setShowBcc, cc, setCc, bcc, setBcc, subject, setSubject, body, setBody }) {
|
|
29884
|
-
return /* @__PURE__ */ (0,
|
|
29885
|
-
/* @__PURE__ */ (0,
|
|
29940
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
|
|
29941
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29886
29942
|
"input",
|
|
29887
29943
|
{
|
|
29888
29944
|
type: "email",
|
|
@@ -29891,8 +29947,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29891
29947
|
required: true
|
|
29892
29948
|
}
|
|
29893
29949
|
) }),
|
|
29894
|
-
/* @__PURE__ */ (0,
|
|
29895
|
-
/* @__PURE__ */ (0,
|
|
29950
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
29951
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29896
29952
|
"input",
|
|
29897
29953
|
{
|
|
29898
29954
|
type: "email",
|
|
@@ -29903,7 +29959,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29903
29959
|
required: true
|
|
29904
29960
|
}
|
|
29905
29961
|
),
|
|
29906
|
-
!showCc && /* @__PURE__ */ (0,
|
|
29962
|
+
!showCc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29907
29963
|
"button",
|
|
29908
29964
|
{
|
|
29909
29965
|
onClick: () => setShowCc?.(true),
|
|
@@ -29911,7 +29967,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29911
29967
|
children: "Cc"
|
|
29912
29968
|
}
|
|
29913
29969
|
),
|
|
29914
|
-
!showBcc && /* @__PURE__ */ (0,
|
|
29970
|
+
!showBcc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29915
29971
|
"button",
|
|
29916
29972
|
{
|
|
29917
29973
|
onClick: () => setShowBcc?.(true),
|
|
@@ -29920,7 +29976,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29920
29976
|
}
|
|
29921
29977
|
)
|
|
29922
29978
|
] }) }),
|
|
29923
|
-
showCc && /* @__PURE__ */ (0,
|
|
29979
|
+
showCc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29924
29980
|
"input",
|
|
29925
29981
|
{
|
|
29926
29982
|
type: "text",
|
|
@@ -29930,7 +29986,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29930
29986
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
29931
29987
|
}
|
|
29932
29988
|
) }),
|
|
29933
|
-
showBcc && /* @__PURE__ */ (0,
|
|
29989
|
+
showBcc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29934
29990
|
"input",
|
|
29935
29991
|
{
|
|
29936
29992
|
type: "text",
|
|
@@ -29940,7 +29996,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29940
29996
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
29941
29997
|
}
|
|
29942
29998
|
) }),
|
|
29943
|
-
/* @__PURE__ */ (0,
|
|
29999
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29944
30000
|
"input",
|
|
29945
30001
|
{
|
|
29946
30002
|
type: "text",
|
|
@@ -29950,11 +30006,11 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29950
30006
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
29951
30007
|
}
|
|
29952
30008
|
) }),
|
|
29953
|
-
/* @__PURE__ */ (0,
|
|
29954
|
-
/* @__PURE__ */ (0,
|
|
29955
|
-
/* @__PURE__ */ (0,
|
|
29956
|
-
/* @__PURE__ */ (0,
|
|
29957
|
-
/* @__PURE__ */ (0,
|
|
30009
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(MyEditor, { value: body, onChange: setBody }) }),
|
|
30010
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex justify-end gap-2", children: [
|
|
30011
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
|
|
30012
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
|
|
30013
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
|
|
29958
30014
|
] })
|
|
29959
30015
|
] }) });
|
|
29960
30016
|
}
|
|
@@ -29999,10 +30055,10 @@ function showSonnerToast({
|
|
|
29999
30055
|
// src/components/ui/sonner.tsx
|
|
30000
30056
|
var import_next_themes = require("next-themes");
|
|
30001
30057
|
var import_sonner2 = require("sonner");
|
|
30002
|
-
var
|
|
30058
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
30003
30059
|
var Toaster = ({ ...props }) => {
|
|
30004
30060
|
const { theme = "system" } = (0, import_next_themes.useTheme)();
|
|
30005
|
-
return /* @__PURE__ */ (0,
|
|
30061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
30006
30062
|
import_sonner2.Toaster,
|
|
30007
30063
|
{
|
|
30008
30064
|
theme,
|
|
@@ -30046,6 +30102,7 @@ var Toaster = ({ ...props }) => {
|
|
|
30046
30102
|
Phone,
|
|
30047
30103
|
PieChart,
|
|
30048
30104
|
RadioGroup,
|
|
30105
|
+
Repeater,
|
|
30049
30106
|
RichText,
|
|
30050
30107
|
Search,
|
|
30051
30108
|
Shape,
|