@algorithm-shift/design-system 1.2.76 → 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 +18 -3
- package/dist/index.d.ts +18 -3
- package/dist/index.js +698 -647
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +574 -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,
|
|
@@ -28603,8 +28612,8 @@ var MultiSelect = ({
|
|
|
28603
28612
|
dataLabel = "label",
|
|
28604
28613
|
...props
|
|
28605
28614
|
}) => {
|
|
28606
|
-
const [open, setOpen] =
|
|
28607
|
-
|
|
28615
|
+
const [open, setOpen] = React8.useState(false);
|
|
28616
|
+
React8.useEffect(() => {
|
|
28608
28617
|
if (value) {
|
|
28609
28618
|
onChange(value);
|
|
28610
28619
|
}
|
|
@@ -28614,7 +28623,7 @@ var MultiSelect = ({
|
|
|
28614
28623
|
value?.includes(val) ? value.filter((v) => v !== val) : [...value || [], val]
|
|
28615
28624
|
);
|
|
28616
28625
|
};
|
|
28617
|
-
const selectedLabels =
|
|
28626
|
+
const selectedLabels = React8.useMemo(
|
|
28618
28627
|
() => data.filter((opt) => value.includes(opt.value)).map((opt) => opt.label),
|
|
28619
28628
|
[data, value]
|
|
28620
28629
|
);
|
|
@@ -28622,8 +28631,8 @@ var MultiSelect = ({
|
|
|
28622
28631
|
value: item[dataKey],
|
|
28623
28632
|
label: item[dataLabel]
|
|
28624
28633
|
}));
|
|
28625
|
-
return /* @__PURE__ */ (0,
|
|
28626
|
-
/* @__PURE__ */ (0,
|
|
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)(
|
|
28627
28636
|
Button,
|
|
28628
28637
|
{
|
|
28629
28638
|
variant: "outline",
|
|
@@ -28632,12 +28641,12 @@ var MultiSelect = ({
|
|
|
28632
28641
|
disabled,
|
|
28633
28642
|
type: "button",
|
|
28634
28643
|
children: [
|
|
28635
|
-
/* @__PURE__ */ (0,
|
|
28636
|
-
/* @__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" })
|
|
28637
28646
|
]
|
|
28638
28647
|
}
|
|
28639
28648
|
) }),
|
|
28640
|
-
/* @__PURE__ */ (0,
|
|
28649
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
28641
28650
|
PopoverContent,
|
|
28642
28651
|
{
|
|
28643
28652
|
align: "start",
|
|
@@ -28646,26 +28655,26 @@ var MultiSelect = ({
|
|
|
28646
28655
|
onInteractOutside: (e) => {
|
|
28647
28656
|
if (e.target.closest(".keep-open")) e.preventDefault();
|
|
28648
28657
|
},
|
|
28649
|
-
children: /* @__PURE__ */ (0,
|
|
28650
|
-
searchable && /* @__PURE__ */ (0,
|
|
28651
|
-
/* @__PURE__ */ (0,
|
|
28652
|
-
/* @__PURE__ */ (0,
|
|
28653
|
-
/* @__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) => {
|
|
28654
28663
|
const isSelected = value.includes(opt.value);
|
|
28655
|
-
return /* @__PURE__ */ (0,
|
|
28664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
28656
28665
|
"div",
|
|
28657
28666
|
{
|
|
28658
28667
|
className: "keep-open",
|
|
28659
|
-
children: /* @__PURE__ */ (0,
|
|
28668
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
28660
28669
|
CommandItem,
|
|
28661
28670
|
{
|
|
28662
28671
|
onMouseDown: (e) => {
|
|
28663
28672
|
e.preventDefault();
|
|
28664
28673
|
toggleOption(opt.value);
|
|
28665
28674
|
},
|
|
28666
|
-
children: /* @__PURE__ */ (0,
|
|
28667
|
-
/* @__PURE__ */ (0,
|
|
28668
|
-
/* @__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 })
|
|
28669
28678
|
] })
|
|
28670
28679
|
},
|
|
28671
28680
|
opt.value
|
|
@@ -28678,26 +28687,26 @@ var MultiSelect = ({
|
|
|
28678
28687
|
] })
|
|
28679
28688
|
}
|
|
28680
28689
|
),
|
|
28681
|
-
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 })
|
|
28682
28691
|
] });
|
|
28683
28692
|
};
|
|
28684
28693
|
var MultiSelect_default = MultiSelect;
|
|
28685
28694
|
|
|
28686
28695
|
// src/components/ui/data-table.tsx
|
|
28687
|
-
var
|
|
28696
|
+
var React9 = __toESM(require("react"));
|
|
28688
28697
|
var import_free_solid_svg_icons2 = require("@fortawesome/free-solid-svg-icons");
|
|
28689
28698
|
var import_react_fontawesome3 = require("@fortawesome/react-fontawesome");
|
|
28690
28699
|
var import_react_table = require("@tanstack/react-table");
|
|
28691
28700
|
|
|
28692
28701
|
// src/components/ui/table.tsx
|
|
28693
|
-
var
|
|
28702
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
28694
28703
|
function Table3({ className, ...props }) {
|
|
28695
|
-
return /* @__PURE__ */ (0,
|
|
28704
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28696
28705
|
"div",
|
|
28697
28706
|
{
|
|
28698
28707
|
"data-slot": "table-container",
|
|
28699
28708
|
className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
|
|
28700
|
-
children: /* @__PURE__ */ (0,
|
|
28709
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28701
28710
|
"table",
|
|
28702
28711
|
{
|
|
28703
28712
|
"data-slot": "table",
|
|
@@ -28709,7 +28718,7 @@ function Table3({ className, ...props }) {
|
|
|
28709
28718
|
);
|
|
28710
28719
|
}
|
|
28711
28720
|
function TableHeader({ className, ...props }) {
|
|
28712
|
-
return /* @__PURE__ */ (0,
|
|
28721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28713
28722
|
"thead",
|
|
28714
28723
|
{
|
|
28715
28724
|
"data-slot": "table-header",
|
|
@@ -28722,7 +28731,7 @@ function TableHeader({ className, ...props }) {
|
|
|
28722
28731
|
);
|
|
28723
28732
|
}
|
|
28724
28733
|
function TableBody({ className, ...props }) {
|
|
28725
|
-
return /* @__PURE__ */ (0,
|
|
28734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28726
28735
|
"tbody",
|
|
28727
28736
|
{
|
|
28728
28737
|
"data-slot": "table-body",
|
|
@@ -28735,7 +28744,7 @@ function TableBody({ className, ...props }) {
|
|
|
28735
28744
|
);
|
|
28736
28745
|
}
|
|
28737
28746
|
function TableRow({ className, ...props }) {
|
|
28738
|
-
return /* @__PURE__ */ (0,
|
|
28747
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28739
28748
|
"tr",
|
|
28740
28749
|
{
|
|
28741
28750
|
"data-slot": "table-row",
|
|
@@ -28748,7 +28757,7 @@ function TableRow({ className, ...props }) {
|
|
|
28748
28757
|
);
|
|
28749
28758
|
}
|
|
28750
28759
|
function TableHead({ className, ...props }) {
|
|
28751
|
-
return /* @__PURE__ */ (0,
|
|
28760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28752
28761
|
"th",
|
|
28753
28762
|
{
|
|
28754
28763
|
"data-slot": "table-head",
|
|
@@ -28761,7 +28770,7 @@ function TableHead({ className, ...props }) {
|
|
|
28761
28770
|
);
|
|
28762
28771
|
}
|
|
28763
28772
|
function TableCell({ className, ...props }) {
|
|
28764
|
-
return /* @__PURE__ */ (0,
|
|
28773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
28765
28774
|
"td",
|
|
28766
28775
|
{
|
|
28767
28776
|
"data-slot": "table-cell",
|
|
@@ -28775,7 +28784,7 @@ function TableCell({ className, ...props }) {
|
|
|
28775
28784
|
}
|
|
28776
28785
|
|
|
28777
28786
|
// src/components/ui/data-table.tsx
|
|
28778
|
-
var
|
|
28787
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
28779
28788
|
function DataTable({
|
|
28780
28789
|
columns,
|
|
28781
28790
|
data,
|
|
@@ -28790,15 +28799,41 @@ function DataTable({
|
|
|
28790
28799
|
onFilterChange,
|
|
28791
28800
|
onGlobalSearch,
|
|
28792
28801
|
globalSearch,
|
|
28793
|
-
onCellClick
|
|
28802
|
+
onCellClick,
|
|
28803
|
+
onDeleteRow,
|
|
28804
|
+
enableDelete
|
|
28794
28805
|
}) {
|
|
28795
|
-
const [columnFilters, setColumnFilters] =
|
|
28796
|
-
const [columnVisibility, setColumnVisibility] =
|
|
28797
|
-
const [manualSort, setManualSort] =
|
|
28798
|
-
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]);
|
|
28799
28834
|
const table = (0, import_react_table.useReactTable)({
|
|
28800
28835
|
data,
|
|
28801
|
-
columns,
|
|
28836
|
+
columns: combinedColumns,
|
|
28802
28837
|
state: {
|
|
28803
28838
|
columnFilters,
|
|
28804
28839
|
columnVisibility,
|
|
@@ -28843,11 +28878,11 @@ function DataTable({
|
|
|
28843
28878
|
}
|
|
28844
28879
|
return [];
|
|
28845
28880
|
};
|
|
28846
|
-
return /* @__PURE__ */ (0,
|
|
28847
|
-
/* @__PURE__ */ (0,
|
|
28848
|
-
globalSearch && /* @__PURE__ */ (0,
|
|
28849
|
-
/* @__PURE__ */ (0,
|
|
28850
|
-
/* @__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)(
|
|
28851
28886
|
"input",
|
|
28852
28887
|
{
|
|
28853
28888
|
type: "text",
|
|
@@ -28862,9 +28897,9 @@ function DataTable({
|
|
|
28862
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]"
|
|
28863
28898
|
}
|
|
28864
28899
|
),
|
|
28865
|
-
/* @__PURE__ */ (0,
|
|
28900
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Search, { className: "absolute left-2 top-2.5 text-gray-400", size: 16 })
|
|
28866
28901
|
] }),
|
|
28867
|
-
/* @__PURE__ */ (0,
|
|
28902
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28868
28903
|
Button,
|
|
28869
28904
|
{
|
|
28870
28905
|
size: "sm",
|
|
@@ -28874,8 +28909,8 @@ function DataTable({
|
|
|
28874
28909
|
}
|
|
28875
28910
|
)
|
|
28876
28911
|
] }),
|
|
28877
|
-
/* @__PURE__ */ (0,
|
|
28878
|
-
/* @__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)(
|
|
28879
28914
|
Button,
|
|
28880
28915
|
{
|
|
28881
28916
|
variant: "outline",
|
|
@@ -28884,10 +28919,10 @@ function DataTable({
|
|
|
28884
28919
|
children: "Manage Columns"
|
|
28885
28920
|
}
|
|
28886
28921
|
) }),
|
|
28887
|
-
/* @__PURE__ */ (0,
|
|
28888
|
-
/* @__PURE__ */ (0,
|
|
28889
|
-
/* @__PURE__ */ (0,
|
|
28890
|
-
/* @__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)(
|
|
28891
28926
|
"input",
|
|
28892
28927
|
{
|
|
28893
28928
|
type: "checkbox",
|
|
@@ -28906,8 +28941,8 @@ function DataTable({
|
|
|
28906
28941
|
),
|
|
28907
28942
|
"Toggle All"
|
|
28908
28943
|
] }),
|
|
28909
|
-
table.getAllLeafColumns().map((column) => /* @__PURE__ */ (0,
|
|
28910
|
-
/* @__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)(
|
|
28911
28946
|
"input",
|
|
28912
28947
|
{
|
|
28913
28948
|
type: "checkbox",
|
|
@@ -28920,13 +28955,13 @@ function DataTable({
|
|
|
28920
28955
|
] })
|
|
28921
28956
|
] })
|
|
28922
28957
|
] }),
|
|
28923
|
-
/* @__PURE__ */ (0,
|
|
28924
|
-
/* @__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) => {
|
|
28925
28960
|
const canSort = header.column.getCanSort();
|
|
28926
28961
|
const canFilter = header.column.getCanFilter();
|
|
28927
28962
|
const sortDir = manualSort?.key === header.column.id ? manualSort.dir : null;
|
|
28928
|
-
return /* @__PURE__ */ (0,
|
|
28929
|
-
/* @__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)(
|
|
28930
28965
|
"span",
|
|
28931
28966
|
{
|
|
28932
28967
|
className: `flex items-center gap-1 ${canSort ? "cursor-pointer" : ""}`,
|
|
@@ -28938,32 +28973,32 @@ function DataTable({
|
|
|
28938
28973
|
},
|
|
28939
28974
|
children: [
|
|
28940
28975
|
(0, import_react_table.flexRender)(header.column.columnDef.header, header.getContext()),
|
|
28941
|
-
canSort && /* @__PURE__ */ (0,
|
|
28942
|
-
sortDir === "asc" && /* @__PURE__ */ (0,
|
|
28943
|
-
sortDir === "desc" && /* @__PURE__ */ (0,
|
|
28944
|
-
!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" })
|
|
28945
28980
|
] })
|
|
28946
28981
|
]
|
|
28947
28982
|
}
|
|
28948
28983
|
),
|
|
28949
|
-
canFilter && /* @__PURE__ */ (0,
|
|
28950
|
-
/* @__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)(
|
|
28951
28986
|
"span",
|
|
28952
28987
|
{
|
|
28953
28988
|
role: "presentation",
|
|
28954
28989
|
className: "pl-5 cursor-pointer",
|
|
28955
28990
|
onClick: (e) => e.stopPropagation(),
|
|
28956
|
-
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" })
|
|
28957
28992
|
}
|
|
28958
28993
|
) }),
|
|
28959
|
-
/* @__PURE__ */ (0,
|
|
28994
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28960
28995
|
PopoverContent,
|
|
28961
28996
|
{
|
|
28962
28997
|
align: "center",
|
|
28963
28998
|
sideOffset: 14,
|
|
28964
28999
|
className: "w-50 p-3 z-[200] border-gray-300",
|
|
28965
29000
|
avoidCollisions: true,
|
|
28966
|
-
children: /* @__PURE__ */ (0,
|
|
29001
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
28967
29002
|
"form",
|
|
28968
29003
|
{
|
|
28969
29004
|
onSubmit: (e) => {
|
|
@@ -28976,8 +29011,8 @@ function DataTable({
|
|
|
28976
29011
|
},
|
|
28977
29012
|
className: "space-y-2",
|
|
28978
29013
|
children: [
|
|
28979
|
-
/* @__PURE__ */ (0,
|
|
28980
|
-
/* @__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)(
|
|
28981
29016
|
"input",
|
|
28982
29017
|
{
|
|
28983
29018
|
name: "filter",
|
|
@@ -28987,7 +29022,7 @@ function DataTable({
|
|
|
28987
29022
|
autoComplete: "off"
|
|
28988
29023
|
}
|
|
28989
29024
|
),
|
|
28990
|
-
/* @__PURE__ */ (0,
|
|
29025
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "justify-end flex", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
28991
29026
|
Button,
|
|
28992
29027
|
{
|
|
28993
29028
|
type: "submit",
|
|
@@ -29003,13 +29038,13 @@ function DataTable({
|
|
|
29003
29038
|
] })
|
|
29004
29039
|
] }) }, header.id);
|
|
29005
29040
|
}) }, hg.id)) }),
|
|
29006
|
-
/* @__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) => {
|
|
29007
29042
|
const meta = cell.column.columnDef.meta || {};
|
|
29008
29043
|
const isClickable = meta?.isClickable;
|
|
29009
|
-
return /* @__PURE__ */ (0,
|
|
29044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29010
29045
|
TableCell,
|
|
29011
29046
|
{
|
|
29012
|
-
className: `${meta?.cellClass ?? ""} ${isClickable ? "cursor-pointer hover:bg-gray-100
|
|
29047
|
+
className: `${meta?.cellClass ?? ""} ${isClickable ? "cursor-pointer hover:bg-gray-100" : ""}`,
|
|
29013
29048
|
style: meta?.cellStyle,
|
|
29014
29049
|
onClick: () => {
|
|
29015
29050
|
if (isClickable && onCellClick) {
|
|
@@ -29020,17 +29055,17 @@ function DataTable({
|
|
|
29020
29055
|
},
|
|
29021
29056
|
cell.id
|
|
29022
29057
|
);
|
|
29023
|
-
}) }, 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." }) }) })
|
|
29024
29059
|
] }),
|
|
29025
|
-
pagination && /* @__PURE__ */ (0,
|
|
29026
|
-
/* @__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: [
|
|
29027
29062
|
"Page ",
|
|
29028
29063
|
table.getState().pagination.pageIndex + 1,
|
|
29029
29064
|
" of ",
|
|
29030
29065
|
table.getPageCount()
|
|
29031
29066
|
] }),
|
|
29032
|
-
/* @__PURE__ */ (0,
|
|
29033
|
-
/* @__PURE__ */ (0,
|
|
29067
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
29068
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29034
29069
|
"button",
|
|
29035
29070
|
{
|
|
29036
29071
|
onClick: () => table.previousPage(),
|
|
@@ -29043,7 +29078,7 @@ function DataTable({
|
|
|
29043
29078
|
table.getState().pagination.pageIndex + 1,
|
|
29044
29079
|
table.getPageCount(),
|
|
29045
29080
|
5
|
|
29046
|
-
).map((pageNum, index) => /* @__PURE__ */ (0,
|
|
29081
|
+
).map((pageNum, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29047
29082
|
"button",
|
|
29048
29083
|
{
|
|
29049
29084
|
disabled: pageNum === "...",
|
|
@@ -29053,7 +29088,7 @@ function DataTable({
|
|
|
29053
29088
|
},
|
|
29054
29089
|
index
|
|
29055
29090
|
)),
|
|
29056
|
-
/* @__PURE__ */ (0,
|
|
29091
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
29057
29092
|
"button",
|
|
29058
29093
|
{
|
|
29059
29094
|
onClick: () => table.nextPage(),
|
|
@@ -29068,7 +29103,7 @@ function DataTable({
|
|
|
29068
29103
|
}
|
|
29069
29104
|
|
|
29070
29105
|
// src/components/DataDisplay/Table/Table.tsx
|
|
29071
|
-
var
|
|
29106
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
29072
29107
|
var Table4 = ({
|
|
29073
29108
|
columns,
|
|
29074
29109
|
data,
|
|
@@ -29086,12 +29121,15 @@ var Table4 = ({
|
|
|
29086
29121
|
loading = false,
|
|
29087
29122
|
totalRecords = 0,
|
|
29088
29123
|
globalSearch = false,
|
|
29124
|
+
onCellClick,
|
|
29125
|
+
enableDelete,
|
|
29126
|
+
onDeleteRow,
|
|
29089
29127
|
...props
|
|
29090
29128
|
}) => {
|
|
29091
29129
|
const rawColumns = Array.isArray(columns) ? columns : [];
|
|
29092
29130
|
const rawData = Array.isArray(data) ? data : [];
|
|
29093
29131
|
const isControlled = typeof page === "number";
|
|
29094
|
-
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)(
|
|
29095
29133
|
DataTable,
|
|
29096
29134
|
{
|
|
29097
29135
|
...props,
|
|
@@ -29112,17 +29150,21 @@ var Table4 = ({
|
|
|
29112
29150
|
onGlobalSearch: (term) => onGlobalSearch?.({ searchTerm: term }),
|
|
29113
29151
|
globalSearch,
|
|
29114
29152
|
onCellClick: (cell) => {
|
|
29115
|
-
|
|
29116
|
-
}
|
|
29153
|
+
onCellClick?.({ id: cell.id, column: cell });
|
|
29154
|
+
},
|
|
29155
|
+
onDeleteRow: (cell) => {
|
|
29156
|
+
onDeleteRow?.(cell.id);
|
|
29157
|
+
},
|
|
29158
|
+
enableDelete
|
|
29117
29159
|
}
|
|
29118
29160
|
) });
|
|
29119
29161
|
};
|
|
29120
29162
|
var Table_default = Table4;
|
|
29121
29163
|
|
|
29122
29164
|
// src/components/ui/pagination.tsx
|
|
29123
|
-
var
|
|
29165
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
29124
29166
|
function Pagination({ className, ...props }) {
|
|
29125
|
-
return /* @__PURE__ */ (0,
|
|
29167
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
29126
29168
|
"nav",
|
|
29127
29169
|
{
|
|
29128
29170
|
role: "navigation",
|
|
@@ -29137,7 +29179,7 @@ function PaginationContent({
|
|
|
29137
29179
|
className,
|
|
29138
29180
|
...props
|
|
29139
29181
|
}) {
|
|
29140
|
-
return /* @__PURE__ */ (0,
|
|
29182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
29141
29183
|
"ul",
|
|
29142
29184
|
{
|
|
29143
29185
|
"data-slot": "pagination-content",
|
|
@@ -29147,7 +29189,7 @@ function PaginationContent({
|
|
|
29147
29189
|
);
|
|
29148
29190
|
}
|
|
29149
29191
|
function PaginationItem({ ...props }) {
|
|
29150
|
-
return /* @__PURE__ */ (0,
|
|
29192
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
29151
29193
|
}
|
|
29152
29194
|
function PaginationLink({
|
|
29153
29195
|
className,
|
|
@@ -29155,7 +29197,7 @@ function PaginationLink({
|
|
|
29155
29197
|
size = "icon",
|
|
29156
29198
|
...props
|
|
29157
29199
|
}) {
|
|
29158
|
-
return /* @__PURE__ */ (0,
|
|
29200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
29159
29201
|
"a",
|
|
29160
29202
|
{
|
|
29161
29203
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -29176,7 +29218,7 @@ function PaginationPrevious({
|
|
|
29176
29218
|
className,
|
|
29177
29219
|
...props
|
|
29178
29220
|
}) {
|
|
29179
|
-
return /* @__PURE__ */ (0,
|
|
29221
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
29180
29222
|
PaginationLink,
|
|
29181
29223
|
{
|
|
29182
29224
|
"aria-label": "Go to previous page",
|
|
@@ -29184,8 +29226,8 @@ function PaginationPrevious({
|
|
|
29184
29226
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
29185
29227
|
...props,
|
|
29186
29228
|
children: [
|
|
29187
|
-
/* @__PURE__ */ (0,
|
|
29188
|
-
/* @__PURE__ */ (0,
|
|
29229
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ChevronLeft, {}),
|
|
29230
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
29189
29231
|
]
|
|
29190
29232
|
}
|
|
29191
29233
|
);
|
|
@@ -29194,7 +29236,7 @@ function PaginationNext({
|
|
|
29194
29236
|
className,
|
|
29195
29237
|
...props
|
|
29196
29238
|
}) {
|
|
29197
|
-
return /* @__PURE__ */ (0,
|
|
29239
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
29198
29240
|
PaginationLink,
|
|
29199
29241
|
{
|
|
29200
29242
|
"aria-label": "Go to next page",
|
|
@@ -29202,8 +29244,8 @@ function PaginationNext({
|
|
|
29202
29244
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
29203
29245
|
...props,
|
|
29204
29246
|
children: [
|
|
29205
|
-
/* @__PURE__ */ (0,
|
|
29206
|
-
/* @__PURE__ */ (0,
|
|
29247
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
29248
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ChevronRight, {})
|
|
29207
29249
|
]
|
|
29208
29250
|
}
|
|
29209
29251
|
);
|
|
@@ -29212,7 +29254,7 @@ function PaginationEllipsis({
|
|
|
29212
29254
|
className,
|
|
29213
29255
|
...props
|
|
29214
29256
|
}) {
|
|
29215
|
-
return /* @__PURE__ */ (0,
|
|
29257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
29216
29258
|
"span",
|
|
29217
29259
|
{
|
|
29218
29260
|
"aria-hidden": true,
|
|
@@ -29220,15 +29262,15 @@ function PaginationEllipsis({
|
|
|
29220
29262
|
className: cn("flex size-9 items-center justify-center", className),
|
|
29221
29263
|
...props,
|
|
29222
29264
|
children: [
|
|
29223
|
-
/* @__PURE__ */ (0,
|
|
29224
|
-
/* @__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" })
|
|
29225
29267
|
]
|
|
29226
29268
|
}
|
|
29227
29269
|
);
|
|
29228
29270
|
}
|
|
29229
29271
|
|
|
29230
29272
|
// src/components/DataDisplay/Pagination/Pagination.tsx
|
|
29231
|
-
var
|
|
29273
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
29232
29274
|
var CustomPagination = ({
|
|
29233
29275
|
totalPages,
|
|
29234
29276
|
currentPage,
|
|
@@ -29274,10 +29316,10 @@ var CustomPagination = ({
|
|
|
29274
29316
|
}
|
|
29275
29317
|
};
|
|
29276
29318
|
const pageNumbers = getPageNumbers();
|
|
29277
|
-
return /* @__PURE__ */ (0,
|
|
29278
|
-
/* @__PURE__ */ (0,
|
|
29279
|
-
/* @__PURE__ */ (0,
|
|
29280
|
-
/* @__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)(
|
|
29281
29323
|
Select,
|
|
29282
29324
|
{
|
|
29283
29325
|
defaultValue: String(perPage),
|
|
@@ -29285,26 +29327,26 @@ var CustomPagination = ({
|
|
|
29285
29327
|
onPageChange({ page: 1, itemsPerPage: Number(value) });
|
|
29286
29328
|
},
|
|
29287
29329
|
children: [
|
|
29288
|
-
/* @__PURE__ */ (0,
|
|
29289
|
-
/* @__PURE__ */ (0,
|
|
29290
|
-
/* @__PURE__ */ (0,
|
|
29291
|
-
/* @__PURE__ */ (0,
|
|
29292
|
-
/* @__PURE__ */ (0,
|
|
29293
|
-
/* @__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" })
|
|
29294
29336
|
] })
|
|
29295
29337
|
]
|
|
29296
29338
|
}
|
|
29297
29339
|
)
|
|
29298
29340
|
] }),
|
|
29299
|
-
/* @__PURE__ */ (0,
|
|
29300
|
-
/* @__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)(
|
|
29301
29343
|
PaginationPrevious,
|
|
29302
29344
|
{
|
|
29303
29345
|
onClick: () => handlePageChange(currentPage - 1),
|
|
29304
29346
|
className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
|
|
29305
29347
|
}
|
|
29306
29348
|
) }),
|
|
29307
|
-
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)(
|
|
29308
29350
|
PaginationLink,
|
|
29309
29351
|
{
|
|
29310
29352
|
onClick: () => handlePageChange(pageNumber),
|
|
@@ -29313,7 +29355,7 @@ var CustomPagination = ({
|
|
|
29313
29355
|
children: pageNumber
|
|
29314
29356
|
}
|
|
29315
29357
|
) }, index)),
|
|
29316
|
-
/* @__PURE__ */ (0,
|
|
29358
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
29317
29359
|
PaginationNext,
|
|
29318
29360
|
{
|
|
29319
29361
|
onClick: () => handlePageChange(currentPage + 1),
|
|
@@ -29328,8 +29370,8 @@ var Pagination_default = CustomPagination;
|
|
|
29328
29370
|
// src/components/Navigation/Tabs/Tabs.tsx
|
|
29329
29371
|
var import_link5 = __toESM(require("next/link"));
|
|
29330
29372
|
var import_navigation3 = require("next/navigation");
|
|
29331
|
-
var
|
|
29332
|
-
var
|
|
29373
|
+
var import_react27 = require("react");
|
|
29374
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
29333
29375
|
var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuilder = true }) => {
|
|
29334
29376
|
const rawTabs = Array.isArray(tabs) ? tabs : [];
|
|
29335
29377
|
const baseClasses = "text-[12px] text-foreground p-2 text-center rounded-md transition-colors";
|
|
@@ -29340,9 +29382,9 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29340
29382
|
return pathname === path || path !== "/" && pathname?.startsWith(path);
|
|
29341
29383
|
};
|
|
29342
29384
|
const router = (0, import_navigation3.useRouter)();
|
|
29343
|
-
const [showExitDialog, setShowExitDialog] = (0,
|
|
29344
|
-
const [pendingUrl, setPendingUrl] = (0,
|
|
29345
|
-
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)(
|
|
29346
29388
|
(e, url) => {
|
|
29347
29389
|
if (isBuilder) {
|
|
29348
29390
|
e.preventDefault();
|
|
@@ -29361,23 +29403,23 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29361
29403
|
const renderDesktopTab = (tab, index) => {
|
|
29362
29404
|
const finalClasses = [baseClasses, isActive(tab.url) ? activeClasses : hoverClasses, tab.className || ""].join(" ");
|
|
29363
29405
|
if (Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown) {
|
|
29364
|
-
return /* @__PURE__ */ (0,
|
|
29365
|
-
/* @__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: [
|
|
29366
29408
|
tab.header,
|
|
29367
|
-
/* @__PURE__ */ (0,
|
|
29409
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
|
|
29368
29410
|
] }),
|
|
29369
|
-
/* @__PURE__ */ (0,
|
|
29411
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29370
29412
|
DropdownMenuContent,
|
|
29371
29413
|
{
|
|
29372
29414
|
align: "start",
|
|
29373
29415
|
sideOffset: 6,
|
|
29374
29416
|
className: "z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg",
|
|
29375
|
-
children: tab.children.map((item) => /* @__PURE__ */ (0,
|
|
29417
|
+
children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29376
29418
|
DropdownMenuItem,
|
|
29377
29419
|
{
|
|
29378
29420
|
asChild: true,
|
|
29379
29421
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100",
|
|
29380
|
-
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 })
|
|
29381
29423
|
},
|
|
29382
29424
|
item.id
|
|
29383
29425
|
))
|
|
@@ -29385,7 +29427,7 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29385
29427
|
)
|
|
29386
29428
|
] }, index);
|
|
29387
29429
|
}
|
|
29388
|
-
return tab.url ? /* @__PURE__ */ (0,
|
|
29430
|
+
return tab.url ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29389
29431
|
import_link5.default,
|
|
29390
29432
|
{
|
|
29391
29433
|
href: tab.url,
|
|
@@ -29395,14 +29437,14 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29395
29437
|
children: tab.header
|
|
29396
29438
|
},
|
|
29397
29439
|
index
|
|
29398
|
-
) : /* @__PURE__ */ (0,
|
|
29440
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
|
|
29399
29441
|
};
|
|
29400
|
-
const renderMobileMenu = () => /* @__PURE__ */ (0,
|
|
29401
|
-
/* @__PURE__ */ (0,
|
|
29402
|
-
/* @__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" }),
|
|
29403
29445
|
"Menu"
|
|
29404
29446
|
] }),
|
|
29405
|
-
/* @__PURE__ */ (0,
|
|
29447
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29406
29448
|
DropdownMenuContent,
|
|
29407
29449
|
{
|
|
29408
29450
|
align: "start",
|
|
@@ -29411,25 +29453,25 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29411
29453
|
children: rawTabs.map((tab, i) => {
|
|
29412
29454
|
const hasChildren = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
|
|
29413
29455
|
if (hasChildren) {
|
|
29414
|
-
return /* @__PURE__ */ (0,
|
|
29415
|
-
/* @__PURE__ */ (0,
|
|
29416
|
-
/* @__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)(
|
|
29417
29459
|
DropdownMenuItem,
|
|
29418
29460
|
{
|
|
29419
29461
|
asChild: true,
|
|
29420
29462
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100",
|
|
29421
|
-
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 })
|
|
29422
29464
|
},
|
|
29423
29465
|
item.id
|
|
29424
29466
|
)) })
|
|
29425
29467
|
] }, i);
|
|
29426
29468
|
}
|
|
29427
|
-
return /* @__PURE__ */ (0,
|
|
29469
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
29428
29470
|
DropdownMenuItem,
|
|
29429
29471
|
{
|
|
29430
29472
|
asChild: true,
|
|
29431
29473
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[13px] text-gray-800 hover:bg-gray-100",
|
|
29432
|
-
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 })
|
|
29433
29475
|
},
|
|
29434
29476
|
i
|
|
29435
29477
|
);
|
|
@@ -29439,19 +29481,19 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29439
29481
|
] });
|
|
29440
29482
|
const forceMobile = canvasMode ? canvasMode === "mobile" || canvasMode === "tablet" : void 0;
|
|
29441
29483
|
const forceDesktop = canvasMode ? canvasMode === "desktop" : void 0;
|
|
29442
|
-
return /* @__PURE__ */ (0,
|
|
29443
|
-
/* @__PURE__ */ (0,
|
|
29444
|
-
forceDesktop !== void 0 ? forceDesktop && /* @__PURE__ */ (0,
|
|
29445
|
-
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() })
|
|
29446
29488
|
] }),
|
|
29447
|
-
/* @__PURE__ */ (0,
|
|
29448
|
-
/* @__PURE__ */ (0,
|
|
29449
|
-
/* @__PURE__ */ (0,
|
|
29450
|
-
/* @__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." })
|
|
29451
29493
|
] }),
|
|
29452
|
-
/* @__PURE__ */ (0,
|
|
29453
|
-
/* @__PURE__ */ (0,
|
|
29454
|
-
/* @__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" })
|
|
29455
29497
|
] })
|
|
29456
29498
|
] }) })
|
|
29457
29499
|
] });
|
|
@@ -29459,34 +29501,42 @@ var Tabs = ({ className, style, tabs, verticalMenu, pathname, canvasMode, isBuil
|
|
|
29459
29501
|
var Tabs_default = Tabs;
|
|
29460
29502
|
|
|
29461
29503
|
// src/components/Navigation/Stages/Stages.tsx
|
|
29462
|
-
var
|
|
29463
|
-
var
|
|
29464
|
-
var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStageChange }) => {
|
|
29465
|
-
return /* @__PURE__ */ (0,
|
|
29466
|
-
/* @__PURE__ */ (0,
|
|
29467
|
-
/* @__PURE__ */ (0,
|
|
29468
|
-
|
|
29469
|
-
|
|
29470
|
-
|
|
29471
|
-
|
|
29472
|
-
|
|
29473
|
-
|
|
29474
|
-
|
|
29475
|
-
|
|
29476
|
-
|
|
29477
|
-
|
|
29478
|
-
|
|
29479
|
-
|
|
29480
|
-
|
|
29481
|
-
|
|
29482
|
-
|
|
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)(
|
|
29483
29533
|
"button",
|
|
29484
29534
|
{
|
|
29485
29535
|
className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm",
|
|
29486
29536
|
onClick: () => {
|
|
29487
29537
|
const activeStage = stages?.find((stage) => stage.isActive);
|
|
29488
29538
|
if (activeStage && onStageChange) {
|
|
29489
|
-
onStageChange(
|
|
29539
|
+
onStageChange("completed");
|
|
29490
29540
|
}
|
|
29491
29541
|
},
|
|
29492
29542
|
children: buttonText
|
|
@@ -29497,26 +29547,26 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style, onStag
|
|
|
29497
29547
|
var Stages_default = StagesComponent;
|
|
29498
29548
|
|
|
29499
29549
|
// src/components/Navigation/Spacer/Spacer.tsx
|
|
29500
|
-
var
|
|
29550
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
29501
29551
|
var Spacer = ({ className, style }) => {
|
|
29502
|
-
return /* @__PURE__ */ (0,
|
|
29552
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: `${className}`, style });
|
|
29503
29553
|
};
|
|
29504
29554
|
var Spacer_default = Spacer;
|
|
29505
29555
|
|
|
29506
29556
|
// src/components/Navigation/Profile/Profile.tsx
|
|
29507
|
-
var
|
|
29557
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
29508
29558
|
|
|
29509
29559
|
// src/components/Navigation/Notification/Notification.tsx
|
|
29510
|
-
var
|
|
29560
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
29511
29561
|
|
|
29512
29562
|
// src/components/Navigation/Logo/Logo.tsx
|
|
29513
|
-
var
|
|
29563
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
29514
29564
|
|
|
29515
29565
|
// src/components/ui/avatar.tsx
|
|
29516
|
-
var
|
|
29566
|
+
var React11 = __toESM(require("react"));
|
|
29517
29567
|
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
|
|
29518
|
-
var
|
|
29519
|
-
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)(
|
|
29520
29570
|
AvatarPrimitive.Root,
|
|
29521
29571
|
{
|
|
29522
29572
|
ref,
|
|
@@ -29528,7 +29578,7 @@ var Avatar = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
29528
29578
|
}
|
|
29529
29579
|
));
|
|
29530
29580
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
29531
|
-
var AvatarImage =
|
|
29581
|
+
var AvatarImage = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
29532
29582
|
AvatarPrimitive.Image,
|
|
29533
29583
|
{
|
|
29534
29584
|
ref,
|
|
@@ -29537,7 +29587,7 @@ var AvatarImage = React10.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
29537
29587
|
}
|
|
29538
29588
|
));
|
|
29539
29589
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
29540
|
-
var AvatarFallback =
|
|
29590
|
+
var AvatarFallback = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
29541
29591
|
AvatarPrimitive.Fallback,
|
|
29542
29592
|
{
|
|
29543
29593
|
ref,
|
|
@@ -29555,8 +29605,8 @@ var import_link6 = __toESM(require("next/link"));
|
|
|
29555
29605
|
var import_image3 = __toESM(require("next/image"));
|
|
29556
29606
|
var import_navigation4 = require("next/navigation");
|
|
29557
29607
|
var import_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
|
|
29558
|
-
var
|
|
29559
|
-
var
|
|
29608
|
+
var import_react29 = require("react");
|
|
29609
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
29560
29610
|
function Navbar({
|
|
29561
29611
|
style,
|
|
29562
29612
|
badgeType,
|
|
@@ -29576,9 +29626,9 @@ function Navbar({
|
|
|
29576
29626
|
}) {
|
|
29577
29627
|
const isMobileView = canvasMode === "mobile" || canvasMode === "tablet";
|
|
29578
29628
|
const router = (0, import_navigation4.useRouter)();
|
|
29579
|
-
const [showExitDialog, setShowExitDialog] = (0,
|
|
29580
|
-
const [pendingUrl, setPendingUrl] = (0,
|
|
29581
|
-
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)(
|
|
29582
29632
|
(e, url) => {
|
|
29583
29633
|
if (isBuilder) {
|
|
29584
29634
|
e.preventDefault();
|
|
@@ -29594,29 +29644,29 @@ function Navbar({
|
|
|
29594
29644
|
router.push(pendingUrl);
|
|
29595
29645
|
}
|
|
29596
29646
|
};
|
|
29597
|
-
const formatedMenu = (0,
|
|
29647
|
+
const formatedMenu = (0, import_react29.useMemo)(() => {
|
|
29598
29648
|
if (source === "state" && navList && navList.length) {
|
|
29599
29649
|
return navList.map((i) => ({ ...i, header: i.name || "Menu" }));
|
|
29600
29650
|
}
|
|
29601
29651
|
return list || [];
|
|
29602
29652
|
}, [source, navList]);
|
|
29603
|
-
return /* @__PURE__ */ (0,
|
|
29604
|
-
/* @__PURE__ */ (0,
|
|
29653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_jsx_runtime62.Fragment, { children: [
|
|
29654
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
29605
29655
|
"nav",
|
|
29606
29656
|
{
|
|
29607
29657
|
className: "w-full border-b border-b-white dark:border-b-gray-800 dark:bg-gray-800 bg-white shadow-sm",
|
|
29608
29658
|
style,
|
|
29609
|
-
children: /* @__PURE__ */ (0,
|
|
29610
|
-
/* @__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)(
|
|
29611
29661
|
import_link6.default,
|
|
29612
29662
|
{
|
|
29613
29663
|
href: "/",
|
|
29614
29664
|
onClick: (e) => handleBuilderExit(e, "/"),
|
|
29615
29665
|
className: "flex items-center space-x-2",
|
|
29616
|
-
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" })
|
|
29617
29667
|
}
|
|
29618
29668
|
),
|
|
29619
|
-
!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)(
|
|
29620
29670
|
import_link6.default,
|
|
29621
29671
|
{
|
|
29622
29672
|
href: item.url || "#",
|
|
@@ -29626,39 +29676,39 @@ function Navbar({
|
|
|
29626
29676
|
},
|
|
29627
29677
|
item.id
|
|
29628
29678
|
)) }),
|
|
29629
|
-
/* @__PURE__ */ (0,
|
|
29630
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
29631
|
-
/* @__PURE__ */ (0,
|
|
29632
|
-
/* @__PURE__ */ (0,
|
|
29633
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
29634
|
-
/* @__PURE__ */ (0,
|
|
29635
|
-
/* @__PURE__ */ (0,
|
|
29636
|
-
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" })
|
|
29637
29687
|
] }),
|
|
29638
|
-
/* @__PURE__ */ (0,
|
|
29639
|
-
/* @__PURE__ */ (0,
|
|
29640
|
-
!isMobileView && showName && /* @__PURE__ */ (0,
|
|
29641
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
29642
|
-
/* @__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)(
|
|
29643
29693
|
AvatarImage,
|
|
29644
29694
|
{
|
|
29645
29695
|
src: "/images/appbuilder/toolset/profile.svg",
|
|
29646
29696
|
alt: "Profile"
|
|
29647
29697
|
}
|
|
29648
|
-
) : /* @__PURE__ */ (0,
|
|
29649
|
-
/* @__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)(
|
|
29650
29700
|
Button,
|
|
29651
29701
|
{
|
|
29652
29702
|
variant: "ghost",
|
|
29653
29703
|
size: "icon",
|
|
29654
29704
|
className: "text-gray-900 md:hidden dark:invert",
|
|
29655
|
-
children: /* @__PURE__ */ (0,
|
|
29705
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Menu, { className: "h-6 w-6" })
|
|
29656
29706
|
}
|
|
29657
29707
|
)
|
|
29658
|
-
] }) : /* @__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" }) })
|
|
29659
29709
|
] }) }),
|
|
29660
|
-
/* @__PURE__ */ (0,
|
|
29661
|
-
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)(
|
|
29662
29712
|
import_link6.default,
|
|
29663
29713
|
{
|
|
29664
29714
|
href: item.url || "#",
|
|
@@ -29666,9 +29716,9 @@ function Navbar({
|
|
|
29666
29716
|
children: item.header
|
|
29667
29717
|
}
|
|
29668
29718
|
) }, item.id)) }),
|
|
29669
|
-
/* @__PURE__ */ (0,
|
|
29670
|
-
/* @__PURE__ */ (0,
|
|
29671
|
-
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)(
|
|
29672
29722
|
import_link6.default,
|
|
29673
29723
|
{
|
|
29674
29724
|
href: item.url || "#",
|
|
@@ -29683,51 +29733,51 @@ function Navbar({
|
|
|
29683
29733
|
] })
|
|
29684
29734
|
}
|
|
29685
29735
|
),
|
|
29686
|
-
/* @__PURE__ */ (0,
|
|
29687
|
-
/* @__PURE__ */ (0,
|
|
29688
|
-
/* @__PURE__ */ (0,
|
|
29689
|
-
/* @__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." })
|
|
29690
29740
|
] }),
|
|
29691
|
-
/* @__PURE__ */ (0,
|
|
29692
|
-
/* @__PURE__ */ (0,
|
|
29693
|
-
/* @__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" })
|
|
29694
29744
|
] })
|
|
29695
29745
|
] }) })
|
|
29696
29746
|
] });
|
|
29697
29747
|
}
|
|
29698
29748
|
|
|
29699
29749
|
// src/components/Chart/BarChart.tsx
|
|
29700
|
-
var
|
|
29750
|
+
var import_react30 = __toESM(require("react"));
|
|
29701
29751
|
var import_recharts = require("recharts");
|
|
29702
|
-
var
|
|
29752
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
29703
29753
|
var ChartComponent = ({ className, style, loading, ...props }) => {
|
|
29704
29754
|
const data = Array.isArray(props.data) ? props.data : [];
|
|
29705
29755
|
const chartType = props.chartType || "bar";
|
|
29706
29756
|
const legendsPosition = props.legendsPosition === "middle" || props.legendsPosition === "bottom" ? props.legendsPosition : "top";
|
|
29707
29757
|
if (loading || data.length === 0) {
|
|
29708
|
-
return /* @__PURE__ */ (0,
|
|
29758
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
29709
29759
|
"div",
|
|
29710
29760
|
{
|
|
29711
29761
|
className: `flex items-center justify-center w-full h-[300px] md:h-[400px] bg-gray-50 animate-pulse rounded-lg ${className}`,
|
|
29712
29762
|
style,
|
|
29713
|
-
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." })
|
|
29714
29764
|
}
|
|
29715
29765
|
);
|
|
29716
29766
|
}
|
|
29717
|
-
return /* @__PURE__ */ (0,
|
|
29718
|
-
/* @__PURE__ */ (0,
|
|
29719
|
-
/* @__PURE__ */ (0,
|
|
29720
|
-
/* @__PURE__ */ (0,
|
|
29721
|
-
/* @__PURE__ */ (0,
|
|
29722
|
-
/* @__PURE__ */ (0,
|
|
29723
|
-
/* @__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)(
|
|
29724
29774
|
import_recharts.Bar,
|
|
29725
29775
|
{
|
|
29726
29776
|
dataKey: "value",
|
|
29727
29777
|
fill: "#00695C",
|
|
29728
29778
|
radius: [6, 6, 0, 0],
|
|
29729
29779
|
isAnimationActive: false,
|
|
29730
|
-
children: data.map((entry, index) => /* @__PURE__ */ (0,
|
|
29780
|
+
children: data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
29731
29781
|
"rect",
|
|
29732
29782
|
{
|
|
29733
29783
|
fill: entry.color || "#00695C"
|
|
@@ -29736,16 +29786,16 @@ var ChartComponent = ({ className, style, loading, ...props }) => {
|
|
|
29736
29786
|
))
|
|
29737
29787
|
}
|
|
29738
29788
|
)
|
|
29739
|
-
] }) : /* @__PURE__ */ (0,
|
|
29740
|
-
/* @__PURE__ */ (0,
|
|
29741
|
-
/* @__PURE__ */ (0,
|
|
29742
|
-
/* @__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 })
|
|
29743
29793
|
] }) }),
|
|
29744
|
-
/* @__PURE__ */ (0,
|
|
29745
|
-
/* @__PURE__ */ (0,
|
|
29746
|
-
/* @__PURE__ */ (0,
|
|
29747
|
-
/* @__PURE__ */ (0,
|
|
29748
|
-
/* @__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)(
|
|
29749
29799
|
import_recharts.Area,
|
|
29750
29800
|
{
|
|
29751
29801
|
type: "monotone",
|
|
@@ -29758,12 +29808,12 @@ var ChartComponent = ({ className, style, loading, ...props }) => {
|
|
|
29758
29808
|
)
|
|
29759
29809
|
] }) }) });
|
|
29760
29810
|
};
|
|
29761
|
-
var BarChart_default =
|
|
29811
|
+
var BarChart_default = import_react30.default.memo(ChartComponent);
|
|
29762
29812
|
|
|
29763
29813
|
// src/components/Chart/PieChart.tsx
|
|
29764
|
-
var
|
|
29814
|
+
var import_react31 = __toESM(require("react"));
|
|
29765
29815
|
var import_recharts2 = require("recharts");
|
|
29766
|
-
var
|
|
29816
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
29767
29817
|
var getRandomColor = () => {
|
|
29768
29818
|
const palette = [
|
|
29769
29819
|
"#2563eb",
|
|
@@ -29783,32 +29833,32 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29783
29833
|
const showLegends = props.showLegends ?? true;
|
|
29784
29834
|
const labelType = props.labelType || "inside";
|
|
29785
29835
|
const canvasMode = props.canvasMode;
|
|
29786
|
-
const data = (0,
|
|
29836
|
+
const data = (0, import_react31.useMemo)(() => {
|
|
29787
29837
|
if (!Array.isArray(props.data)) return [];
|
|
29788
29838
|
return props.data.map((item) => ({ ...item, color: getRandomColor() }));
|
|
29789
29839
|
}, [props.data]);
|
|
29790
|
-
const total = (0,
|
|
29840
|
+
const total = (0, import_react31.useMemo)(() => data.reduce((sum, d) => sum + d.value, 0), [data]);
|
|
29791
29841
|
const forceMobile = canvasMode === "mobile" || canvasMode === "tablet";
|
|
29792
|
-
const [mounted, setMounted] = (0,
|
|
29793
|
-
(0,
|
|
29842
|
+
const [mounted, setMounted] = (0, import_react31.useState)(false);
|
|
29843
|
+
(0, import_react31.useEffect)(() => {
|
|
29794
29844
|
const timeout = setTimeout(() => setMounted(true), 100);
|
|
29795
29845
|
return () => clearTimeout(timeout);
|
|
29796
29846
|
}, []);
|
|
29797
|
-
const renderLegends = (0,
|
|
29847
|
+
const renderLegends = (0, import_react31.useMemo)(() => {
|
|
29798
29848
|
if (!showLegends) return null;
|
|
29799
|
-
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)(
|
|
29800
29850
|
"div",
|
|
29801
29851
|
{
|
|
29802
29852
|
className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
|
|
29803
29853
|
children: [
|
|
29804
|
-
/* @__PURE__ */ (0,
|
|
29854
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29805
29855
|
"span",
|
|
29806
29856
|
{
|
|
29807
29857
|
className: "inline-block w-[16px] h-[16px] rounded",
|
|
29808
29858
|
style: { backgroundColor: d.color }
|
|
29809
29859
|
}
|
|
29810
29860
|
),
|
|
29811
|
-
/* @__PURE__ */ (0,
|
|
29861
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
|
|
29812
29862
|
]
|
|
29813
29863
|
},
|
|
29814
29864
|
d.name
|
|
@@ -29816,24 +29866,24 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29816
29866
|
}, [data, showLegends]);
|
|
29817
29867
|
if (!mounted) return null;
|
|
29818
29868
|
if (loading || data.length === 0) {
|
|
29819
|
-
return /* @__PURE__ */ (0,
|
|
29869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29820
29870
|
"div",
|
|
29821
29871
|
{
|
|
29822
29872
|
className: `flex items-center justify-center w-full h-[300px] md:h-[400px] bg-gray-50 animate-pulse rounded-lg ${className}`,
|
|
29823
29873
|
style,
|
|
29824
|
-
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." })
|
|
29825
29875
|
}
|
|
29826
29876
|
);
|
|
29827
29877
|
}
|
|
29828
|
-
return /* @__PURE__ */ (0,
|
|
29878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
29829
29879
|
"div",
|
|
29830
29880
|
{
|
|
29831
29881
|
className: `relative flex flex-col items-center ${className}`,
|
|
29832
29882
|
style,
|
|
29833
29883
|
children: [
|
|
29834
|
-
/* @__PURE__ */ (0,
|
|
29835
|
-
/* @__PURE__ */ (0,
|
|
29836
|
-
/* @__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)(
|
|
29837
29887
|
import_recharts2.Pie,
|
|
29838
29888
|
{
|
|
29839
29889
|
data,
|
|
@@ -29845,8 +29895,8 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29845
29895
|
labelLine: false,
|
|
29846
29896
|
isAnimationActive: false,
|
|
29847
29897
|
children: [
|
|
29848
|
-
data.map((entry, index) => /* @__PURE__ */ (0,
|
|
29849
|
-
/* @__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)(
|
|
29850
29900
|
import_recharts2.LabelList,
|
|
29851
29901
|
{
|
|
29852
29902
|
dataKey: "value",
|
|
@@ -29859,14 +29909,14 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29859
29909
|
]
|
|
29860
29910
|
}
|
|
29861
29911
|
),
|
|
29862
|
-
/* @__PURE__ */ (0,
|
|
29912
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
29863
29913
|
import_recharts2.Tooltip,
|
|
29864
29914
|
{
|
|
29865
29915
|
formatter: (value, name) => [`${value}k`, name]
|
|
29866
29916
|
}
|
|
29867
29917
|
)
|
|
29868
29918
|
] }) }),
|
|
29869
|
-
/* @__PURE__ */ (0,
|
|
29919
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
29870
29920
|
"div",
|
|
29871
29921
|
{
|
|
29872
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]`,
|
|
@@ -29877,18 +29927,18 @@ var DonutChart = ({ className, style, loading, ...props }) => {
|
|
|
29877
29927
|
}
|
|
29878
29928
|
)
|
|
29879
29929
|
] }),
|
|
29880
|
-
/* @__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 })
|
|
29881
29931
|
]
|
|
29882
29932
|
}
|
|
29883
29933
|
);
|
|
29884
29934
|
};
|
|
29885
|
-
var PieChart_default =
|
|
29935
|
+
var PieChart_default = import_react31.default.memo(DonutChart);
|
|
29886
29936
|
|
|
29887
29937
|
// src/components/Blocks/EmailComposer.tsx
|
|
29888
|
-
var
|
|
29938
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
29889
29939
|
function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc, setShowBcc, cc, setCc, bcc, setBcc, subject, setSubject, body, setBody }) {
|
|
29890
|
-
return /* @__PURE__ */ (0,
|
|
29891
|
-
/* @__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)(
|
|
29892
29942
|
"input",
|
|
29893
29943
|
{
|
|
29894
29944
|
type: "email",
|
|
@@ -29897,8 +29947,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29897
29947
|
required: true
|
|
29898
29948
|
}
|
|
29899
29949
|
) }),
|
|
29900
|
-
/* @__PURE__ */ (0,
|
|
29901
|
-
/* @__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)(
|
|
29902
29952
|
"input",
|
|
29903
29953
|
{
|
|
29904
29954
|
type: "email",
|
|
@@ -29909,7 +29959,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29909
29959
|
required: true
|
|
29910
29960
|
}
|
|
29911
29961
|
),
|
|
29912
|
-
!showCc && /* @__PURE__ */ (0,
|
|
29962
|
+
!showCc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29913
29963
|
"button",
|
|
29914
29964
|
{
|
|
29915
29965
|
onClick: () => setShowCc?.(true),
|
|
@@ -29917,7 +29967,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29917
29967
|
children: "Cc"
|
|
29918
29968
|
}
|
|
29919
29969
|
),
|
|
29920
|
-
!showBcc && /* @__PURE__ */ (0,
|
|
29970
|
+
!showBcc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29921
29971
|
"button",
|
|
29922
29972
|
{
|
|
29923
29973
|
onClick: () => setShowBcc?.(true),
|
|
@@ -29926,7 +29976,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29926
29976
|
}
|
|
29927
29977
|
)
|
|
29928
29978
|
] }) }),
|
|
29929
|
-
showCc && /* @__PURE__ */ (0,
|
|
29979
|
+
showCc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29930
29980
|
"input",
|
|
29931
29981
|
{
|
|
29932
29982
|
type: "text",
|
|
@@ -29936,7 +29986,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29936
29986
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
29937
29987
|
}
|
|
29938
29988
|
) }),
|
|
29939
|
-
showBcc && /* @__PURE__ */ (0,
|
|
29989
|
+
showBcc && /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29940
29990
|
"input",
|
|
29941
29991
|
{
|
|
29942
29992
|
type: "text",
|
|
@@ -29946,7 +29996,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29946
29996
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
29947
29997
|
}
|
|
29948
29998
|
) }),
|
|
29949
|
-
/* @__PURE__ */ (0,
|
|
29999
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
|
|
29950
30000
|
"input",
|
|
29951
30001
|
{
|
|
29952
30002
|
type: "text",
|
|
@@ -29956,11 +30006,11 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
29956
30006
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
29957
30007
|
}
|
|
29958
30008
|
) }),
|
|
29959
|
-
/* @__PURE__ */ (0,
|
|
29960
|
-
/* @__PURE__ */ (0,
|
|
29961
|
-
/* @__PURE__ */ (0,
|
|
29962
|
-
/* @__PURE__ */ (0,
|
|
29963
|
-
/* @__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" })
|
|
29964
30014
|
] })
|
|
29965
30015
|
] }) });
|
|
29966
30016
|
}
|
|
@@ -30005,10 +30055,10 @@ function showSonnerToast({
|
|
|
30005
30055
|
// src/components/ui/sonner.tsx
|
|
30006
30056
|
var import_next_themes = require("next-themes");
|
|
30007
30057
|
var import_sonner2 = require("sonner");
|
|
30008
|
-
var
|
|
30058
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
30009
30059
|
var Toaster = ({ ...props }) => {
|
|
30010
30060
|
const { theme = "system" } = (0, import_next_themes.useTheme)();
|
|
30011
|
-
return /* @__PURE__ */ (0,
|
|
30061
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
30012
30062
|
import_sonner2.Toaster,
|
|
30013
30063
|
{
|
|
30014
30064
|
theme,
|
|
@@ -30052,6 +30102,7 @@ var Toaster = ({ ...props }) => {
|
|
|
30052
30102
|
Phone,
|
|
30053
30103
|
PieChart,
|
|
30054
30104
|
RadioGroup,
|
|
30105
|
+
Repeater,
|
|
30055
30106
|
RichText,
|
|
30056
30107
|
Search,
|
|
30057
30108
|
Shape,
|