@algorithm-shift/design-system 1.2.31 → 1.2.32
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.d.mts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +259 -487
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +259 -487
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -298,35 +298,17 @@ function Input({ className, type, ...props }) {
|
|
|
298
298
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
299
299
|
var TextInput = ({ className, style, ...props }) => {
|
|
300
300
|
const placeholder = props.placeholder || "Placeholder text";
|
|
301
|
-
const regexPattern = props.regexPattern ?? "";
|
|
302
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
303
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
304
|
-
const isRequired = props.isRequired ?? false;
|
|
305
301
|
const isEditable = props.isEditable ?? true;
|
|
306
302
|
const isDisabled = props.isDisabled ?? false;
|
|
307
303
|
const isReadonly = props.isReadonly ?? false;
|
|
308
304
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
309
|
-
const [value, setValue] = React2.useState("");
|
|
310
305
|
const [error, setError] = React2.useState(null);
|
|
311
306
|
React2.useEffect(() => {
|
|
312
307
|
if (!props.validateOnMount) return;
|
|
313
308
|
setError(props.errorMessage || null);
|
|
314
309
|
}, [props.errorMessage, props.validateOnMount]);
|
|
315
310
|
const handleChange = (e) => {
|
|
316
|
-
|
|
317
|
-
props.onChange?.(e);
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
const val = e.target.value;
|
|
321
|
-
if (val.length > noOfCharacters) return;
|
|
322
|
-
setValue(val);
|
|
323
|
-
if (isRequired && val.trim() === "") {
|
|
324
|
-
setError(errorMessage);
|
|
325
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
326
|
-
setError(errorMessage);
|
|
327
|
-
} else {
|
|
328
|
-
setError(null);
|
|
329
|
-
}
|
|
311
|
+
props.onChange?.(e);
|
|
330
312
|
};
|
|
331
313
|
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
|
|
332
314
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
@@ -339,15 +321,12 @@ var TextInput = ({ className, style, ...props }) => {
|
|
|
339
321
|
...style,
|
|
340
322
|
borderColor: error ? "#f87171" : style?.borderColor
|
|
341
323
|
},
|
|
342
|
-
value: props.value
|
|
324
|
+
value: props.value,
|
|
343
325
|
autoComplete: isAutocomplete ? "on" : "off",
|
|
344
326
|
placeholder,
|
|
345
327
|
onChange: handleChange,
|
|
346
328
|
disabled: isDisabled || !isEditable,
|
|
347
|
-
readOnly: isReadonly
|
|
348
|
-
required: isRequired,
|
|
349
|
-
maxLength: noOfCharacters,
|
|
350
|
-
pattern: regexPattern || void 0
|
|
329
|
+
readOnly: isReadonly
|
|
351
330
|
}
|
|
352
331
|
),
|
|
353
332
|
error && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
@@ -560,35 +539,17 @@ var import_react4 = require("react");
|
|
|
560
539
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
561
540
|
var NumberInput = ({ className, style, ...props }) => {
|
|
562
541
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
563
|
-
const regexPattern = props.regexPattern ?? "";
|
|
564
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
565
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
566
|
-
const isRequired = props.isRequired ?? false;
|
|
567
542
|
const isEditable = props.isEditable ?? true;
|
|
568
543
|
const isDisabled = props.isDisabled ?? false;
|
|
569
544
|
const isReadonly = props.isReadonly ?? false;
|
|
570
545
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
571
|
-
const [value, setValue] = React3.useState("");
|
|
572
546
|
const [error, setError] = React3.useState(null);
|
|
573
547
|
(0, import_react4.useEffect)(() => {
|
|
574
548
|
if (!props.validateOnMount) return;
|
|
575
549
|
setError(props.errorMessage || null);
|
|
576
550
|
}, [props.errorMessage, props.validateOnMount]);
|
|
577
551
|
const handleChange = (e) => {
|
|
578
|
-
|
|
579
|
-
props.onChange?.(e);
|
|
580
|
-
return;
|
|
581
|
-
}
|
|
582
|
-
const val = e.target.value;
|
|
583
|
-
if (val.length > noOfCharacters) return;
|
|
584
|
-
setValue(val);
|
|
585
|
-
if (isRequired && val.trim() === "") {
|
|
586
|
-
setError(errorMessage);
|
|
587
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
588
|
-
setError(errorMessage);
|
|
589
|
-
} else {
|
|
590
|
-
setError(null);
|
|
591
|
-
}
|
|
552
|
+
props.onChange?.(e);
|
|
592
553
|
};
|
|
593
554
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
|
|
594
555
|
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
@@ -597,9 +558,9 @@ var NumberInput = ({ className, style, ...props }) => {
|
|
|
597
558
|
Input,
|
|
598
559
|
{
|
|
599
560
|
type: "number",
|
|
600
|
-
id: "number-field",
|
|
561
|
+
id: props.name || "number-field",
|
|
601
562
|
name: props.name,
|
|
602
|
-
value: props.value
|
|
563
|
+
value: props.value,
|
|
603
564
|
className: cn(className, error ? "border-red-500" : ""),
|
|
604
565
|
style: {
|
|
605
566
|
...style,
|
|
@@ -609,10 +570,7 @@ var NumberInput = ({ className, style, ...props }) => {
|
|
|
609
570
|
placeholder,
|
|
610
571
|
onChange: handleChange,
|
|
611
572
|
disabled: isDisabled || !isEditable,
|
|
612
|
-
readOnly: isReadonly
|
|
613
|
-
required: isRequired,
|
|
614
|
-
maxLength: noOfCharacters,
|
|
615
|
-
pattern: regexPattern || void 0
|
|
573
|
+
readOnly: isReadonly
|
|
616
574
|
}
|
|
617
575
|
)
|
|
618
576
|
] }),
|
|
@@ -626,35 +584,17 @@ var React4 = __toESM(require("react"));
|
|
|
626
584
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
627
585
|
var EmailInput = ({ className, style, ...props }) => {
|
|
628
586
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
629
|
-
const regexPattern = props.regexPattern ?? "";
|
|
630
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
631
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
632
|
-
const isRequired = props.isRequired ?? false;
|
|
633
587
|
const isEditable = props.isEditable ?? true;
|
|
634
588
|
const isDisabled = props.isDisabled ?? false;
|
|
635
589
|
const isReadonly = props.isReadonly ?? false;
|
|
636
590
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
637
|
-
const [value, setValue] = React4.useState("");
|
|
638
591
|
const [error, setError] = React4.useState(null);
|
|
639
592
|
React4.useEffect(() => {
|
|
640
593
|
if (!props.validateOnMount) return;
|
|
641
594
|
setError(props.errorMessage || null);
|
|
642
595
|
}, [props.errorMessage, props.validateOnMount]);
|
|
643
596
|
const handleChange = (e) => {
|
|
644
|
-
|
|
645
|
-
props.onChange?.(e);
|
|
646
|
-
return;
|
|
647
|
-
}
|
|
648
|
-
const val = e.target.value;
|
|
649
|
-
if (val.length > noOfCharacters) return;
|
|
650
|
-
setValue(val);
|
|
651
|
-
if (isRequired && val.trim() === "") {
|
|
652
|
-
setError(errorMessage);
|
|
653
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
654
|
-
setError(errorMessage);
|
|
655
|
-
} else {
|
|
656
|
-
setError(null);
|
|
657
|
-
}
|
|
597
|
+
props.onChange?.(e);
|
|
658
598
|
};
|
|
659
599
|
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
660
600
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
@@ -664,7 +604,7 @@ var EmailInput = ({ className, style, ...props }) => {
|
|
|
664
604
|
{
|
|
665
605
|
type: "email",
|
|
666
606
|
name: props.name,
|
|
667
|
-
value: props.value
|
|
607
|
+
value: props.value,
|
|
668
608
|
className: cn(className, error ? "border-red-500" : ""),
|
|
669
609
|
style: {
|
|
670
610
|
...style,
|
|
@@ -674,10 +614,7 @@ var EmailInput = ({ className, style, ...props }) => {
|
|
|
674
614
|
placeholder,
|
|
675
615
|
onChange: handleChange,
|
|
676
616
|
disabled: isDisabled || !isEditable,
|
|
677
|
-
readOnly: isReadonly
|
|
678
|
-
required: isRequired,
|
|
679
|
-
maxLength: noOfCharacters,
|
|
680
|
-
pattern: regexPattern || void 0
|
|
617
|
+
readOnly: isReadonly
|
|
681
618
|
}
|
|
682
619
|
)
|
|
683
620
|
] }),
|
|
@@ -691,35 +628,17 @@ var React5 = __toESM(require("react"));
|
|
|
691
628
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
692
629
|
var PasswordInput = ({ className, style, ...props }) => {
|
|
693
630
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
694
|
-
const regexPattern = props.regexPattern ?? "";
|
|
695
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
696
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
697
|
-
const isRequired = props.isRequired ?? false;
|
|
698
631
|
const isEditable = props.isEditable ?? true;
|
|
699
632
|
const isDisabled = props.isDisabled ?? false;
|
|
700
633
|
const isReadonly = props.isReadonly ?? false;
|
|
701
634
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
702
|
-
const [value, setValue] = React5.useState("");
|
|
703
635
|
const [error, setError] = React5.useState(null);
|
|
704
636
|
React5.useEffect(() => {
|
|
705
637
|
if (!props.validateOnMount) return;
|
|
706
638
|
setError(props.errorMessage || null);
|
|
707
639
|
}, [props.errorMessage, props.validateOnMount]);
|
|
708
640
|
const handleChange = (e) => {
|
|
709
|
-
|
|
710
|
-
props.onChange?.(e);
|
|
711
|
-
return;
|
|
712
|
-
}
|
|
713
|
-
const val = e.target.value;
|
|
714
|
-
if (val.length > noOfCharacters) return;
|
|
715
|
-
setValue(val);
|
|
716
|
-
if (isRequired && val.trim() === "") {
|
|
717
|
-
setError(errorMessage);
|
|
718
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
719
|
-
setError(errorMessage);
|
|
720
|
-
} else {
|
|
721
|
-
setError(null);
|
|
722
|
-
}
|
|
641
|
+
props.onChange?.(e);
|
|
723
642
|
};
|
|
724
643
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
|
|
725
644
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
@@ -728,9 +647,9 @@ var PasswordInput = ({ className, style, ...props }) => {
|
|
|
728
647
|
Input,
|
|
729
648
|
{
|
|
730
649
|
type: "password",
|
|
731
|
-
id: "password-field",
|
|
650
|
+
id: props.name || "password-field",
|
|
732
651
|
name: props.name,
|
|
733
|
-
value: props.value
|
|
652
|
+
value: props.value,
|
|
734
653
|
className: cn(className, error ? "border-red-500" : ""),
|
|
735
654
|
style: {
|
|
736
655
|
...style,
|
|
@@ -740,10 +659,7 @@ var PasswordInput = ({ className, style, ...props }) => {
|
|
|
740
659
|
placeholder,
|
|
741
660
|
onChange: handleChange,
|
|
742
661
|
disabled: isDisabled || !isEditable,
|
|
743
|
-
readOnly: isReadonly
|
|
744
|
-
required: isRequired,
|
|
745
|
-
maxLength: noOfCharacters,
|
|
746
|
-
pattern: regexPattern || void 0
|
|
662
|
+
readOnly: isReadonly
|
|
747
663
|
}
|
|
748
664
|
)
|
|
749
665
|
] }),
|
|
@@ -775,35 +691,18 @@ function Textarea({ className, ...props }) {
|
|
|
775
691
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
776
692
|
var Textarea2 = ({ className, style, ...props }) => {
|
|
777
693
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
778
|
-
const regexPattern = props.regexPattern ?? "";
|
|
779
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
780
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
781
694
|
const isRequired = props.isRequired ?? false;
|
|
782
695
|
const isEditable = props.isEditable ?? true;
|
|
783
696
|
const isDisabled = props.isDisabled ?? false;
|
|
784
697
|
const isReadonly = props.isReadonly ?? false;
|
|
785
698
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
786
|
-
const [value, setValue] = React6.useState("");
|
|
787
699
|
const [error, setError] = React6.useState(null);
|
|
788
700
|
React6.useEffect(() => {
|
|
789
701
|
if (!props.validateOnMount) return;
|
|
790
702
|
setError(props.errorMessage || null);
|
|
791
703
|
}, [props.errorMessage, props.validateOnMount]);
|
|
792
704
|
const handleChange = (e) => {
|
|
793
|
-
|
|
794
|
-
props.onChange?.(e);
|
|
795
|
-
return;
|
|
796
|
-
}
|
|
797
|
-
const val = e.target.value;
|
|
798
|
-
if (val.length > noOfCharacters) return;
|
|
799
|
-
setValue(val);
|
|
800
|
-
if (isRequired && val.trim() === "") {
|
|
801
|
-
setError(errorMessage);
|
|
802
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
803
|
-
setError(errorMessage);
|
|
804
|
-
} else {
|
|
805
|
-
setError(null);
|
|
806
|
-
}
|
|
705
|
+
props.onChange?.(e);
|
|
807
706
|
};
|
|
808
707
|
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [
|
|
809
708
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
@@ -811,7 +710,7 @@ var Textarea2 = ({ className, style, ...props }) => {
|
|
|
811
710
|
{
|
|
812
711
|
id: "textarea-field",
|
|
813
712
|
name: props.name,
|
|
814
|
-
value: props.value
|
|
713
|
+
value: props.value,
|
|
815
714
|
className: cn(className, error ? "border-red-500" : ""),
|
|
816
715
|
style: {
|
|
817
716
|
...style,
|
|
@@ -822,8 +721,7 @@ var Textarea2 = ({ className, style, ...props }) => {
|
|
|
822
721
|
onChange: handleChange,
|
|
823
722
|
disabled: isDisabled || !isEditable,
|
|
824
723
|
readOnly: isReadonly,
|
|
825
|
-
required: isRequired
|
|
826
|
-
maxLength: noOfCharacters
|
|
724
|
+
required: isRequired
|
|
827
725
|
}
|
|
828
726
|
),
|
|
829
727
|
error && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
@@ -836,35 +734,17 @@ var React7 = __toESM(require("react"));
|
|
|
836
734
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
837
735
|
var UrlInput = ({ className, style, ...props }) => {
|
|
838
736
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
839
|
-
const regexPattern = props.regexPattern ?? "";
|
|
840
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
841
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
842
|
-
const isRequired = props.isRequired ?? false;
|
|
843
737
|
const isEditable = props.isEditable ?? true;
|
|
844
738
|
const isDisabled = props.isDisabled ?? false;
|
|
845
739
|
const isReadonly = props.isReadonly ?? false;
|
|
846
740
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
847
|
-
const [value, setValue] = React7.useState("");
|
|
848
741
|
const [error, setError] = React7.useState(null);
|
|
849
742
|
React7.useEffect(() => {
|
|
850
743
|
if (!props.validateOnMount) return;
|
|
851
744
|
setError(props.errorMessage || null);
|
|
852
745
|
}, [props.errorMessage, props.validateOnMount]);
|
|
853
746
|
const handleChange = (e) => {
|
|
854
|
-
|
|
855
|
-
props.onChange?.(e);
|
|
856
|
-
return;
|
|
857
|
-
}
|
|
858
|
-
const val = e.target.value;
|
|
859
|
-
if (val.length > noOfCharacters) return;
|
|
860
|
-
setValue(val);
|
|
861
|
-
if (isRequired && val.trim() === "") {
|
|
862
|
-
setError(errorMessage);
|
|
863
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
864
|
-
setError(errorMessage);
|
|
865
|
-
} else {
|
|
866
|
-
setError(null);
|
|
867
|
-
}
|
|
747
|
+
props.onChange?.(e);
|
|
868
748
|
};
|
|
869
749
|
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
|
|
870
750
|
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
@@ -875,7 +755,7 @@ var UrlInput = ({ className, style, ...props }) => {
|
|
|
875
755
|
id: "url-field",
|
|
876
756
|
type: "url",
|
|
877
757
|
name: props.name,
|
|
878
|
-
value: props.value
|
|
758
|
+
value: props.value,
|
|
879
759
|
className: cn(className, error ? "border-red-500" : ""),
|
|
880
760
|
style: {
|
|
881
761
|
...style,
|
|
@@ -885,10 +765,7 @@ var UrlInput = ({ className, style, ...props }) => {
|
|
|
885
765
|
placeholder,
|
|
886
766
|
onChange: handleChange,
|
|
887
767
|
disabled: isDisabled || !isEditable,
|
|
888
|
-
readOnly: isReadonly
|
|
889
|
-
required: isRequired,
|
|
890
|
-
maxLength: noOfCharacters,
|
|
891
|
-
pattern: regexPattern || void 0
|
|
768
|
+
readOnly: isReadonly
|
|
892
769
|
}
|
|
893
770
|
)
|
|
894
771
|
] }),
|
|
@@ -1254,106 +1131,58 @@ function SelectScrollDownButton({
|
|
|
1254
1131
|
);
|
|
1255
1132
|
}
|
|
1256
1133
|
|
|
1257
|
-
// src/components/Global/SelectDropdown.tsx
|
|
1258
|
-
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1259
|
-
function SelectDropdown({
|
|
1260
|
-
options,
|
|
1261
|
-
placeholder = "Select an option",
|
|
1262
|
-
value,
|
|
1263
|
-
onChange,
|
|
1264
|
-
className,
|
|
1265
|
-
id,
|
|
1266
|
-
disabled,
|
|
1267
|
-
readOnly,
|
|
1268
|
-
style,
|
|
1269
|
-
name
|
|
1270
|
-
}) {
|
|
1271
|
-
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Select, { name, value, onValueChange: onChange, disabled, children: [
|
|
1272
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1273
|
-
SelectTrigger,
|
|
1274
|
-
{
|
|
1275
|
-
id,
|
|
1276
|
-
className,
|
|
1277
|
-
style: style ?? {},
|
|
1278
|
-
"aria-readonly": readOnly,
|
|
1279
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectValue, { placeholder })
|
|
1280
|
-
}
|
|
1281
|
-
),
|
|
1282
|
-
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectContent, { children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectItem, { value: opt.value, children: opt.label }, opt.value)) })
|
|
1283
|
-
] });
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
1134
|
// src/components/Inputs/Dropdown/Dropdown.tsx
|
|
1287
|
-
var
|
|
1135
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1288
1136
|
var Dropdown = ({ className, style, ...props }) => {
|
|
1289
|
-
const
|
|
1137
|
+
const list = props.data || [];
|
|
1290
1138
|
const placeholder = props.placeholder ? props.placeholder : "Placeholder text";
|
|
1291
|
-
const formatList = text.filter((i) => i.value && i.label).map((item) => ({
|
|
1292
|
-
label: item.label,
|
|
1293
|
-
value: item.value
|
|
1294
|
-
}));
|
|
1295
|
-
const regexPattern = props.regexPattern ?? "";
|
|
1296
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
1297
|
-
const isRequired = props.isRequired ?? false;
|
|
1298
1139
|
const isEditable = props.isEditable ?? true;
|
|
1299
1140
|
const isDisabled = props.isDisabled ?? false;
|
|
1300
1141
|
const isReadonly = props.isReadonly ?? false;
|
|
1301
|
-
const isAutocomplete = props.isAutocomplete ?? false;
|
|
1302
|
-
const [value, setValue] = React8.useState("");
|
|
1303
1142
|
const [error, setError] = React8.useState(null);
|
|
1304
1143
|
React8.useEffect(() => {
|
|
1305
1144
|
if (!props.validateOnMount) return;
|
|
1306
1145
|
setError(props.errorMessage || null);
|
|
1307
1146
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1308
|
-
const handleChange = (
|
|
1309
|
-
|
|
1310
|
-
props.onChange?.(val);
|
|
1311
|
-
return;
|
|
1312
|
-
}
|
|
1313
|
-
setValue(val);
|
|
1314
|
-
if (isRequired && val.trim() === "") {
|
|
1315
|
-
setError(errorMessage);
|
|
1316
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
1317
|
-
setError(errorMessage);
|
|
1318
|
-
} else {
|
|
1319
|
-
setError(null);
|
|
1320
|
-
}
|
|
1147
|
+
const handleChange = (value) => {
|
|
1148
|
+
props.onChange?.(value);
|
|
1321
1149
|
};
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1150
|
+
const dataKey = props.dataKey || "key";
|
|
1151
|
+
const dataLabel = props.dataLabel || "label";
|
|
1152
|
+
const options = list.map((item) => ({
|
|
1153
|
+
key: item[dataKey],
|
|
1154
|
+
label: item[dataLabel]
|
|
1155
|
+
}));
|
|
1156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
1157
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Select, { name: props.name, value: props.value, onValueChange: handleChange, disabled: isDisabled || !isEditable, children: [
|
|
1158
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
1159
|
+
SelectTrigger,
|
|
1160
|
+
{
|
|
1161
|
+
id: props.name || "select-field",
|
|
1162
|
+
className: cn(className, error ? "border-red-500" : ""),
|
|
1163
|
+
style: {
|
|
1164
|
+
...style,
|
|
1165
|
+
borderColor: error ? "#f87171" : style?.borderColor
|
|
1166
|
+
},
|
|
1167
|
+
"aria-readonly": isReadonly,
|
|
1168
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectValue, { placeholder })
|
|
1169
|
+
}
|
|
1170
|
+
),
|
|
1171
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectContent, { children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SelectItem, { value: opt.key, children: opt.label }, opt.key)) })
|
|
1172
|
+
] }),
|
|
1173
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1345
1174
|
] });
|
|
1346
1175
|
};
|
|
1347
1176
|
var Dropdown_default = Dropdown;
|
|
1348
1177
|
|
|
1349
1178
|
// src/components/ui/switch.tsx
|
|
1350
1179
|
var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
|
|
1351
|
-
var
|
|
1180
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1352
1181
|
function Switch({
|
|
1353
1182
|
className,
|
|
1354
1183
|
...props
|
|
1355
1184
|
}) {
|
|
1356
|
-
return /* @__PURE__ */ (0,
|
|
1185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1357
1186
|
SwitchPrimitive.Root,
|
|
1358
1187
|
{
|
|
1359
1188
|
"data-slot": "switch",
|
|
@@ -1362,7 +1191,7 @@ function Switch({
|
|
|
1362
1191
|
className
|
|
1363
1192
|
),
|
|
1364
1193
|
...props,
|
|
1365
|
-
children: /* @__PURE__ */ (0,
|
|
1194
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
1366
1195
|
SwitchPrimitive.Thumb,
|
|
1367
1196
|
{
|
|
1368
1197
|
"data-slot": "switch-thumb",
|
|
@@ -1376,12 +1205,12 @@ function Switch({
|
|
|
1376
1205
|
}
|
|
1377
1206
|
|
|
1378
1207
|
// src/components/Inputs/SwitchToggle/SwitchToggle.tsx
|
|
1379
|
-
var
|
|
1208
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1380
1209
|
var SwitchToggle = ({ className, style, ...props }) => {
|
|
1381
1210
|
const text = Array.isArray(props.text) ? props.text : [props.text ?? "Subscribe"];
|
|
1382
|
-
return /* @__PURE__ */ (0,
|
|
1383
|
-
/* @__PURE__ */ (0,
|
|
1384
|
-
/* @__PURE__ */ (0,
|
|
1211
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className, style, children: text?.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "flex items-center space-x-2 mb-2", children: [
|
|
1212
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Switch, { id: `switch-${index}` }),
|
|
1213
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label, { htmlFor: `switch-${index}`, children: item })
|
|
1385
1214
|
] }, index)) });
|
|
1386
1215
|
};
|
|
1387
1216
|
var SwitchToggle_default = SwitchToggle;
|
|
@@ -1390,14 +1219,9 @@ var SwitchToggle_default = SwitchToggle;
|
|
|
1390
1219
|
var React9 = __toESM(require("react"));
|
|
1391
1220
|
var import_react_international_phone = require("react-international-phone");
|
|
1392
1221
|
var import_style = require("react-international-phone/style.css");
|
|
1393
|
-
var
|
|
1222
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1394
1223
|
var PhoneInput = ({ className, style, ...props }) => {
|
|
1395
1224
|
const placeholder = props.placeholder ?? "Enter phone number";
|
|
1396
|
-
const [value, setValue] = React9.useState("");
|
|
1397
|
-
const regexPattern = props.regexPattern ?? "";
|
|
1398
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
1399
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
1400
|
-
const isRequired = props.isRequired ?? false;
|
|
1401
1225
|
const isEditable = props.isEditable ?? true;
|
|
1402
1226
|
const isDisabled = props.isDisabled ?? false;
|
|
1403
1227
|
const [error, setError] = React9.useState(null);
|
|
@@ -1406,27 +1230,15 @@ var PhoneInput = ({ className, style, ...props }) => {
|
|
|
1406
1230
|
setError(props.errorMessage || null);
|
|
1407
1231
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1408
1232
|
const handleChange = (val) => {
|
|
1409
|
-
|
|
1410
|
-
props.onChange?.(val);
|
|
1411
|
-
return;
|
|
1412
|
-
}
|
|
1413
|
-
if (val.length > noOfCharacters) return;
|
|
1414
|
-
setValue(val);
|
|
1415
|
-
if (isRequired && val.trim() === "") {
|
|
1416
|
-
setError(errorMessage);
|
|
1417
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
1418
|
-
setError(errorMessage);
|
|
1419
|
-
} else {
|
|
1420
|
-
setError(null);
|
|
1421
|
-
}
|
|
1233
|
+
props.onChange?.(val);
|
|
1422
1234
|
};
|
|
1423
|
-
return /* @__PURE__ */ (0,
|
|
1424
|
-
/* @__PURE__ */ (0,
|
|
1235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
1236
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
1425
1237
|
import_react_international_phone.PhoneInput,
|
|
1426
1238
|
{
|
|
1427
1239
|
defaultCountry: "in",
|
|
1428
1240
|
name: props.name,
|
|
1429
|
-
value: props.value
|
|
1241
|
+
value: props.value,
|
|
1430
1242
|
className: cn(className, error ? "border-red-500" : ""),
|
|
1431
1243
|
style: {
|
|
1432
1244
|
...style,
|
|
@@ -1434,64 +1246,44 @@ var PhoneInput = ({ className, style, ...props }) => {
|
|
|
1434
1246
|
},
|
|
1435
1247
|
onChange: (phone) => handleChange(phone),
|
|
1436
1248
|
inputProps: {
|
|
1437
|
-
id: "phone-field"
|
|
1438
|
-
required: isRequired
|
|
1249
|
+
id: "phone-field"
|
|
1439
1250
|
},
|
|
1440
1251
|
placeholder,
|
|
1441
|
-
disabled: isDisabled || !isEditable
|
|
1442
|
-
required: isRequired
|
|
1252
|
+
disabled: isDisabled || !isEditable
|
|
1443
1253
|
}
|
|
1444
1254
|
),
|
|
1445
|
-
error && /* @__PURE__ */ (0,
|
|
1255
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1446
1256
|
] });
|
|
1447
1257
|
};
|
|
1448
1258
|
var PhoneInput_default = PhoneInput;
|
|
1449
1259
|
|
|
1450
1260
|
// src/components/Inputs/SearchInput/SearchInput.tsx
|
|
1451
1261
|
var React10 = __toESM(require("react"));
|
|
1452
|
-
var
|
|
1262
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1453
1263
|
var SearchInput = ({ className, style, ...props }) => {
|
|
1454
1264
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1455
|
-
const regexPattern = props.regexPattern ?? "";
|
|
1456
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
1457
|
-
const noOfCharacters = props.noOfCharacters ?? 100;
|
|
1458
|
-
const isRequired = props.isRequired ?? false;
|
|
1459
1265
|
const isEditable = props.isEditable ?? true;
|
|
1460
1266
|
const isDisabled = props.isDisabled ?? false;
|
|
1461
1267
|
const isReadonly = props.isReadonly ?? false;
|
|
1462
1268
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
1463
|
-
const [value, setValue] = React10.useState("");
|
|
1464
1269
|
const [error, setError] = React10.useState(null);
|
|
1465
1270
|
React10.useEffect(() => {
|
|
1466
1271
|
if (!props.validateOnMount) return;
|
|
1467
1272
|
setError(props.errorMessage || null);
|
|
1468
1273
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1469
1274
|
const handleChange = (e) => {
|
|
1470
|
-
|
|
1471
|
-
props.onChange?.(e);
|
|
1472
|
-
return;
|
|
1473
|
-
}
|
|
1474
|
-
const val = e.target.value;
|
|
1475
|
-
if (val.length > noOfCharacters) return;
|
|
1476
|
-
setValue(val);
|
|
1477
|
-
if (isRequired && val.trim() === "") {
|
|
1478
|
-
setError(errorMessage);
|
|
1479
|
-
} else if (regexPattern && !new RegExp(regexPattern).test(val)) {
|
|
1480
|
-
setError(errorMessage);
|
|
1481
|
-
} else {
|
|
1482
|
-
setError(null);
|
|
1483
|
-
}
|
|
1275
|
+
props.onChange?.(e);
|
|
1484
1276
|
};
|
|
1485
|
-
return /* @__PURE__ */ (0,
|
|
1486
|
-
/* @__PURE__ */ (0,
|
|
1487
|
-
/* @__PURE__ */ (0,
|
|
1488
|
-
/* @__PURE__ */ (0,
|
|
1277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
|
|
1278
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
1279
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Search, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
1280
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1489
1281
|
Input,
|
|
1490
1282
|
{
|
|
1491
1283
|
type: "text",
|
|
1492
|
-
id: "text-field",
|
|
1284
|
+
id: props.name || "text-field",
|
|
1493
1285
|
name: props.name,
|
|
1494
|
-
value: props.value
|
|
1286
|
+
value: props.value,
|
|
1495
1287
|
className: cn(className, error ? "border-red-500" : ""),
|
|
1496
1288
|
style: {
|
|
1497
1289
|
...style,
|
|
@@ -1501,21 +1293,18 @@ var SearchInput = ({ className, style, ...props }) => {
|
|
|
1501
1293
|
placeholder,
|
|
1502
1294
|
onChange: handleChange,
|
|
1503
1295
|
disabled: isDisabled || !isEditable,
|
|
1504
|
-
readOnly: isReadonly
|
|
1505
|
-
required: isRequired,
|
|
1506
|
-
maxLength: noOfCharacters,
|
|
1507
|
-
pattern: regexPattern || void 0
|
|
1296
|
+
readOnly: isReadonly
|
|
1508
1297
|
}
|
|
1509
1298
|
)
|
|
1510
1299
|
] }),
|
|
1511
|
-
error && /* @__PURE__ */ (0,
|
|
1300
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1512
1301
|
] });
|
|
1513
1302
|
};
|
|
1514
1303
|
var SearchInput_default = SearchInput;
|
|
1515
1304
|
|
|
1516
1305
|
// src/components/Inputs/FileInput/FileInput.tsx
|
|
1517
1306
|
var import_react7 = require("react");
|
|
1518
|
-
var
|
|
1307
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1519
1308
|
var FileInput = ({ className, style, ...props }) => {
|
|
1520
1309
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1521
1310
|
const [error, setError] = (0, import_react7.useState)(null);
|
|
@@ -1523,8 +1312,8 @@ var FileInput = ({ className, style, ...props }) => {
|
|
|
1523
1312
|
if (!props.validateOnMount) return;
|
|
1524
1313
|
setError(props.errorMessage || null);
|
|
1525
1314
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1526
|
-
return /* @__PURE__ */ (0,
|
|
1527
|
-
/* @__PURE__ */ (0,
|
|
1315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "d-flex items-center relative align-middle", children: [
|
|
1316
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1528
1317
|
Input,
|
|
1529
1318
|
{
|
|
1530
1319
|
type: "file",
|
|
@@ -1539,34 +1328,28 @@ var FileInput = ({ className, style, ...props }) => {
|
|
|
1539
1328
|
autoComplete: "off",
|
|
1540
1329
|
placeholder,
|
|
1541
1330
|
onChange: (e) => {
|
|
1542
|
-
|
|
1543
|
-
props.onChange?.(e);
|
|
1544
|
-
return;
|
|
1545
|
-
}
|
|
1331
|
+
props.onChange?.(e);
|
|
1546
1332
|
}
|
|
1547
1333
|
}
|
|
1548
1334
|
),
|
|
1549
|
-
error && /* @__PURE__ */ (0,
|
|
1335
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1550
1336
|
] });
|
|
1551
1337
|
};
|
|
1552
1338
|
var FileInput_default = FileInput;
|
|
1553
1339
|
|
|
1554
1340
|
// src/components/Inputs/DatePicker/DatePicker.tsx
|
|
1555
1341
|
var import_react8 = __toESM(require("react"));
|
|
1556
|
-
var
|
|
1342
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1557
1343
|
function DatePicker({ className, style, ...props }) {
|
|
1558
1344
|
const placeholder = props.placeholder ?? "Placeholder text";
|
|
1559
1345
|
const minimumDate = props.minimumDate ?? "none";
|
|
1560
1346
|
const customMinimumDate = props.customMinimumDate ?? "";
|
|
1561
1347
|
const maximumDate = props.maximumDate ?? "none";
|
|
1562
1348
|
const customMaximumDate = props.customMaximumDate ?? "";
|
|
1563
|
-
const errorMessage = props.errorMessage ?? "Required";
|
|
1564
|
-
const isRequired = props.isRequired ?? false;
|
|
1565
1349
|
const isEditable = props.isEditable ?? true;
|
|
1566
1350
|
const isDisabled = props.isDisabled ?? false;
|
|
1567
1351
|
const isReadonly = props.isReadonly ?? false;
|
|
1568
1352
|
const isAutocomplete = props.isAutocomplete ?? false;
|
|
1569
|
-
const [value, setValue] = import_react8.default.useState("");
|
|
1570
1353
|
const [error, setError] = import_react8.default.useState(null);
|
|
1571
1354
|
const resolveDate = (option, customOption) => {
|
|
1572
1355
|
if (!option) return void 0;
|
|
@@ -1587,22 +1370,12 @@ function DatePicker({ className, style, ...props }) {
|
|
|
1587
1370
|
setError(props.errorMessage || null);
|
|
1588
1371
|
}, [props.errorMessage, props.validateOnMount]);
|
|
1589
1372
|
const handleChange = (e) => {
|
|
1590
|
-
|
|
1591
|
-
props.onChange?.(e);
|
|
1592
|
-
return;
|
|
1593
|
-
}
|
|
1594
|
-
const val = e.target.value;
|
|
1595
|
-
setValue(val);
|
|
1596
|
-
if (isRequired && val.trim() === "") {
|
|
1597
|
-
setError(errorMessage);
|
|
1598
|
-
} else {
|
|
1599
|
-
setError(null);
|
|
1600
|
-
}
|
|
1373
|
+
props.onChange?.(e);
|
|
1601
1374
|
};
|
|
1602
|
-
return /* @__PURE__ */ (0,
|
|
1603
|
-
/* @__PURE__ */ (0,
|
|
1604
|
-
/* @__PURE__ */ (0,
|
|
1605
|
-
/* @__PURE__ */ (0,
|
|
1375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
1376
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex justify-start items-center relative", children: [
|
|
1377
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Calendar, { className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-[#BDBDBD]" }),
|
|
1378
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1606
1379
|
Input,
|
|
1607
1380
|
{
|
|
1608
1381
|
type: "date",
|
|
@@ -1611,21 +1384,20 @@ function DatePicker({ className, style, ...props }) {
|
|
|
1611
1384
|
onChange: handleChange,
|
|
1612
1385
|
disabled: isDisabled || !isEditable,
|
|
1613
1386
|
name: props.name,
|
|
1614
|
-
value: props.value
|
|
1387
|
+
value: props.value,
|
|
1615
1388
|
className: cn(className, error ? "border-red-500" : ""),
|
|
1616
1389
|
style: {
|
|
1617
1390
|
...style,
|
|
1618
1391
|
borderColor: error ? "#f87171" : style?.borderColor
|
|
1619
1392
|
},
|
|
1620
1393
|
readOnly: isReadonly,
|
|
1621
|
-
required: isRequired,
|
|
1622
1394
|
placeholder,
|
|
1623
1395
|
min: minDate,
|
|
1624
1396
|
max: maxDate
|
|
1625
1397
|
}
|
|
1626
1398
|
)
|
|
1627
1399
|
] }),
|
|
1628
|
-
error && /* @__PURE__ */ (0,
|
|
1400
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("p", { className: "mt-1 text-xs text-red-500", children: error })
|
|
1629
1401
|
] });
|
|
1630
1402
|
}
|
|
1631
1403
|
|
|
@@ -1636,7 +1408,7 @@ var import_date_fns = require("date-fns");
|
|
|
1636
1408
|
// src/components/ui/calendar.tsx
|
|
1637
1409
|
var React12 = __toESM(require("react"));
|
|
1638
1410
|
var import_react_day_picker = require("react-day-picker");
|
|
1639
|
-
var
|
|
1411
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1640
1412
|
function Calendar2({
|
|
1641
1413
|
className,
|
|
1642
1414
|
classNames,
|
|
@@ -1648,7 +1420,7 @@ function Calendar2({
|
|
|
1648
1420
|
...props
|
|
1649
1421
|
}) {
|
|
1650
1422
|
const defaultClassNames = (0, import_react_day_picker.getDefaultClassNames)();
|
|
1651
|
-
return /* @__PURE__ */ (0,
|
|
1423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1652
1424
|
import_react_day_picker.DayPicker,
|
|
1653
1425
|
{
|
|
1654
1426
|
showOutsideDays,
|
|
@@ -1747,7 +1519,7 @@ function Calendar2({
|
|
|
1747
1519
|
},
|
|
1748
1520
|
components: {
|
|
1749
1521
|
Root: ({ className: className2, rootRef, ...props2 }) => {
|
|
1750
|
-
return /* @__PURE__ */ (0,
|
|
1522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1751
1523
|
"div",
|
|
1752
1524
|
{
|
|
1753
1525
|
"data-slot": "calendar",
|
|
@@ -1759,10 +1531,10 @@ function Calendar2({
|
|
|
1759
1531
|
},
|
|
1760
1532
|
Chevron: ({ className: className2, orientation, ...props2 }) => {
|
|
1761
1533
|
if (orientation === "left") {
|
|
1762
|
-
return /* @__PURE__ */ (0,
|
|
1534
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ChevronLeft, { className: cn("size-4", className2), ...props2 });
|
|
1763
1535
|
}
|
|
1764
1536
|
if (orientation === "right") {
|
|
1765
|
-
return /* @__PURE__ */ (0,
|
|
1537
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1766
1538
|
ChevronRight,
|
|
1767
1539
|
{
|
|
1768
1540
|
className: cn("size-4", className2),
|
|
@@ -1770,11 +1542,11 @@ function Calendar2({
|
|
|
1770
1542
|
}
|
|
1771
1543
|
);
|
|
1772
1544
|
}
|
|
1773
|
-
return /* @__PURE__ */ (0,
|
|
1545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ChevronDown, { className: cn("size-4", className2), ...props2 });
|
|
1774
1546
|
},
|
|
1775
1547
|
DayButton: CalendarDayButton,
|
|
1776
1548
|
WeekNumber: ({ children, ...props2 }) => {
|
|
1777
|
-
return /* @__PURE__ */ (0,
|
|
1549
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("td", { ...props2, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children }) });
|
|
1778
1550
|
},
|
|
1779
1551
|
...components
|
|
1780
1552
|
},
|
|
@@ -1793,7 +1565,7 @@ function CalendarDayButton({
|
|
|
1793
1565
|
React12.useEffect(() => {
|
|
1794
1566
|
if (modifiers.focused) ref.current?.focus();
|
|
1795
1567
|
}, [modifiers.focused]);
|
|
1796
|
-
return /* @__PURE__ */ (0,
|
|
1568
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1797
1569
|
Button,
|
|
1798
1570
|
{
|
|
1799
1571
|
ref,
|
|
@@ -1816,16 +1588,16 @@ function CalendarDayButton({
|
|
|
1816
1588
|
|
|
1817
1589
|
// src/components/ui/popover.tsx
|
|
1818
1590
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
1819
|
-
var
|
|
1591
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1820
1592
|
function Popover({
|
|
1821
1593
|
...props
|
|
1822
1594
|
}) {
|
|
1823
|
-
return /* @__PURE__ */ (0,
|
|
1595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
|
|
1824
1596
|
}
|
|
1825
1597
|
function PopoverTrigger({
|
|
1826
1598
|
...props
|
|
1827
1599
|
}) {
|
|
1828
|
-
return /* @__PURE__ */ (0,
|
|
1600
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
|
|
1829
1601
|
}
|
|
1830
1602
|
function PopoverContent({
|
|
1831
1603
|
className,
|
|
@@ -1833,7 +1605,7 @@ function PopoverContent({
|
|
|
1833
1605
|
sideOffset = 4,
|
|
1834
1606
|
...props
|
|
1835
1607
|
}) {
|
|
1836
|
-
return /* @__PURE__ */ (0,
|
|
1608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PopoverPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1837
1609
|
PopoverPrimitive.Content,
|
|
1838
1610
|
{
|
|
1839
1611
|
"data-slot": "popover-content",
|
|
@@ -1849,14 +1621,14 @@ function PopoverContent({
|
|
|
1849
1621
|
}
|
|
1850
1622
|
|
|
1851
1623
|
// src/components/Inputs/DateRange/DateRange.tsx
|
|
1852
|
-
var
|
|
1624
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1853
1625
|
var DateRange = ({ className, style }) => {
|
|
1854
1626
|
const [date, setDate] = React13.useState({
|
|
1855
1627
|
from: /* @__PURE__ */ new Date(),
|
|
1856
1628
|
to: (0, import_date_fns.addDays)(/* @__PURE__ */ new Date(), 7)
|
|
1857
1629
|
});
|
|
1858
|
-
return /* @__PURE__ */ (0,
|
|
1859
|
-
/* @__PURE__ */ (0,
|
|
1630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Popover, { children: [
|
|
1631
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1860
1632
|
Button,
|
|
1861
1633
|
{
|
|
1862
1634
|
id: "date",
|
|
@@ -1865,15 +1637,15 @@ var DateRange = ({ className, style }) => {
|
|
|
1865
1637
|
"w-[300px] justify-start text-left font-normal text-[11px]",
|
|
1866
1638
|
!date && "text-muted-foreground"
|
|
1867
1639
|
),
|
|
1868
|
-
children: date?.from ? date.to ? /* @__PURE__ */ (0,
|
|
1640
|
+
children: date?.from ? date.to ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
1869
1641
|
(0, import_date_fns.format)(date.from, "LLL dd, y"),
|
|
1870
1642
|
" -",
|
|
1871
1643
|
" ",
|
|
1872
1644
|
(0, import_date_fns.format)(date.to, "LLL dd, y")
|
|
1873
|
-
] }) : (0, import_date_fns.format)(date.from, "LLL dd, y") : /* @__PURE__ */ (0,
|
|
1645
|
+
] }) : (0, import_date_fns.format)(date.from, "LLL dd, y") : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { children: "Pick a date range" })
|
|
1874
1646
|
}
|
|
1875
1647
|
) }),
|
|
1876
|
-
/* @__PURE__ */ (0,
|
|
1648
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(PopoverContent, { className: "w-auto p-0", align: "start", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1877
1649
|
Calendar2,
|
|
1878
1650
|
{
|
|
1879
1651
|
mode: "range",
|
|
@@ -1891,14 +1663,14 @@ var DateRange_default = DateRange;
|
|
|
1891
1663
|
var import_react_table = require("@tanstack/react-table");
|
|
1892
1664
|
|
|
1893
1665
|
// src/components/ui/table.tsx
|
|
1894
|
-
var
|
|
1666
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1895
1667
|
function Table({ className, ...props }) {
|
|
1896
|
-
return /* @__PURE__ */ (0,
|
|
1668
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1897
1669
|
"div",
|
|
1898
1670
|
{
|
|
1899
1671
|
"data-slot": "table-container",
|
|
1900
1672
|
className: "relative w-full overflow-x-auto rounded-md border border-gray-200 bg-white",
|
|
1901
|
-
children: /* @__PURE__ */ (0,
|
|
1673
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1902
1674
|
"table",
|
|
1903
1675
|
{
|
|
1904
1676
|
"data-slot": "table",
|
|
@@ -1910,7 +1682,7 @@ function Table({ className, ...props }) {
|
|
|
1910
1682
|
);
|
|
1911
1683
|
}
|
|
1912
1684
|
function TableHeader({ className, ...props }) {
|
|
1913
|
-
return /* @__PURE__ */ (0,
|
|
1685
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1914
1686
|
"thead",
|
|
1915
1687
|
{
|
|
1916
1688
|
"data-slot": "table-header",
|
|
@@ -1923,7 +1695,7 @@ function TableHeader({ className, ...props }) {
|
|
|
1923
1695
|
);
|
|
1924
1696
|
}
|
|
1925
1697
|
function TableBody({ className, ...props }) {
|
|
1926
|
-
return /* @__PURE__ */ (0,
|
|
1698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1927
1699
|
"tbody",
|
|
1928
1700
|
{
|
|
1929
1701
|
"data-slot": "table-body",
|
|
@@ -1936,7 +1708,7 @@ function TableBody({ className, ...props }) {
|
|
|
1936
1708
|
);
|
|
1937
1709
|
}
|
|
1938
1710
|
function TableRow({ className, ...props }) {
|
|
1939
|
-
return /* @__PURE__ */ (0,
|
|
1711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1940
1712
|
"tr",
|
|
1941
1713
|
{
|
|
1942
1714
|
"data-slot": "table-row",
|
|
@@ -1949,7 +1721,7 @@ function TableRow({ className, ...props }) {
|
|
|
1949
1721
|
);
|
|
1950
1722
|
}
|
|
1951
1723
|
function TableHead({ className, ...props }) {
|
|
1952
|
-
return /* @__PURE__ */ (0,
|
|
1724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1953
1725
|
"th",
|
|
1954
1726
|
{
|
|
1955
1727
|
"data-slot": "table-head",
|
|
@@ -1962,7 +1734,7 @@ function TableHead({ className, ...props }) {
|
|
|
1962
1734
|
);
|
|
1963
1735
|
}
|
|
1964
1736
|
function TableCell({ className, ...props }) {
|
|
1965
|
-
return /* @__PURE__ */ (0,
|
|
1737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1966
1738
|
"td",
|
|
1967
1739
|
{
|
|
1968
1740
|
"data-slot": "table-cell",
|
|
@@ -1976,7 +1748,7 @@ function TableCell({ className, ...props }) {
|
|
|
1976
1748
|
}
|
|
1977
1749
|
|
|
1978
1750
|
// src/components/ui/data-table.tsx
|
|
1979
|
-
var
|
|
1751
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1980
1752
|
function DataTable({
|
|
1981
1753
|
columns,
|
|
1982
1754
|
rowActions,
|
|
@@ -2001,14 +1773,14 @@ function DataTable({
|
|
|
2001
1773
|
onCellClick(rowData, columnId);
|
|
2002
1774
|
}
|
|
2003
1775
|
};
|
|
2004
|
-
return /* @__PURE__ */ (0,
|
|
2005
|
-
/* @__PURE__ */ (0,
|
|
2006
|
-
return /* @__PURE__ */ (0,
|
|
1776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "overflow-hidden rounded-md border w-full", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Table, { children: [
|
|
1777
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: headerGroup.headers.map((header) => {
|
|
1778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableHead, { children: header.isPlaceholder ? null : (0, import_react_table.flexRender)(
|
|
2007
1779
|
header.column.columnDef.header,
|
|
2008
1780
|
header.getContext()
|
|
2009
1781
|
) }, header.id);
|
|
2010
1782
|
}) }, headerGroup.id)) }),
|
|
2011
|
-
/* @__PURE__ */ (0,
|
|
1783
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableBody, { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "Loading..." }) }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_jsx_runtime37.Fragment, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
2012
1784
|
TableRow,
|
|
2013
1785
|
{
|
|
2014
1786
|
"data-state": row.getIsSelected() && "selected",
|
|
@@ -2018,7 +1790,7 @@ function DataTable({
|
|
|
2018
1790
|
const isCellClickable = cellClickEnabled(row.original, cell.column.id);
|
|
2019
1791
|
const dynamicClass = cell.column.columnDef.meta?.cellClass || "";
|
|
2020
1792
|
const dynamicStyle = cell.column.columnDef.meta?.cellStyle || {};
|
|
2021
|
-
return /* @__PURE__ */ (0,
|
|
1793
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
2022
1794
|
TableCell,
|
|
2023
1795
|
{
|
|
2024
1796
|
className: `${dynamicClass} ${isCellClickable ? "underline cursor-pointer" : ""}`,
|
|
@@ -2033,18 +1805,18 @@ function DataTable({
|
|
|
2033
1805
|
cell.id
|
|
2034
1806
|
);
|
|
2035
1807
|
}),
|
|
2036
|
-
rowActions.length > 0 && /* @__PURE__ */ (0,
|
|
1808
|
+
rowActions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "absolute top-0 right-0 bg-white py-3 min-w-[100px] z-50 shadow-md flex items-center justify-center gap-3 p-2 opacity-0 group-hover:opacity-100 duration-300 h-full", children: rowActions.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "text-[#383838] text-[12px] cursor-pointer font-[400]", children: action.header }, index)) })
|
|
2037
1809
|
]
|
|
2038
1810
|
},
|
|
2039
1811
|
row.id
|
|
2040
|
-
)) : /* @__PURE__ */ (0,
|
|
1812
|
+
)) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(TableCell, { colSpan: columns.length, className: "h-24 text-center", children: "No results." }) }) }) })
|
|
2041
1813
|
] }) });
|
|
2042
1814
|
}
|
|
2043
1815
|
|
|
2044
1816
|
// src/components/ui/pagination.tsx
|
|
2045
|
-
var
|
|
1817
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2046
1818
|
function Pagination({ className, ...props }) {
|
|
2047
|
-
return /* @__PURE__ */ (0,
|
|
1819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2048
1820
|
"nav",
|
|
2049
1821
|
{
|
|
2050
1822
|
role: "navigation",
|
|
@@ -2059,7 +1831,7 @@ function PaginationContent({
|
|
|
2059
1831
|
className,
|
|
2060
1832
|
...props
|
|
2061
1833
|
}) {
|
|
2062
|
-
return /* @__PURE__ */ (0,
|
|
1834
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2063
1835
|
"ul",
|
|
2064
1836
|
{
|
|
2065
1837
|
"data-slot": "pagination-content",
|
|
@@ -2069,7 +1841,7 @@ function PaginationContent({
|
|
|
2069
1841
|
);
|
|
2070
1842
|
}
|
|
2071
1843
|
function PaginationItem({ ...props }) {
|
|
2072
|
-
return /* @__PURE__ */ (0,
|
|
1844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("li", { "data-slot": "pagination-item", ...props });
|
|
2073
1845
|
}
|
|
2074
1846
|
function PaginationLink({
|
|
2075
1847
|
className,
|
|
@@ -2077,7 +1849,7 @@ function PaginationLink({
|
|
|
2077
1849
|
size = "icon",
|
|
2078
1850
|
...props
|
|
2079
1851
|
}) {
|
|
2080
|
-
return /* @__PURE__ */ (0,
|
|
1852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2081
1853
|
"a",
|
|
2082
1854
|
{
|
|
2083
1855
|
"aria-current": isActive ? "page" : void 0,
|
|
@@ -2098,7 +1870,7 @@ function PaginationPrevious({
|
|
|
2098
1870
|
className,
|
|
2099
1871
|
...props
|
|
2100
1872
|
}) {
|
|
2101
|
-
return /* @__PURE__ */ (0,
|
|
1873
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2102
1874
|
PaginationLink,
|
|
2103
1875
|
{
|
|
2104
1876
|
"aria-label": "Go to previous page",
|
|
@@ -2106,8 +1878,8 @@ function PaginationPrevious({
|
|
|
2106
1878
|
className: cn("gap-1 px-2.5 sm:pl-2.5", className),
|
|
2107
1879
|
...props,
|
|
2108
1880
|
children: [
|
|
2109
|
-
/* @__PURE__ */ (0,
|
|
2110
|
-
/* @__PURE__ */ (0,
|
|
1881
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronLeft, {}),
|
|
1882
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "hidden sm:block", children: "Previous" })
|
|
2111
1883
|
]
|
|
2112
1884
|
}
|
|
2113
1885
|
);
|
|
@@ -2116,7 +1888,7 @@ function PaginationNext({
|
|
|
2116
1888
|
className,
|
|
2117
1889
|
...props
|
|
2118
1890
|
}) {
|
|
2119
|
-
return /* @__PURE__ */ (0,
|
|
1891
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2120
1892
|
PaginationLink,
|
|
2121
1893
|
{
|
|
2122
1894
|
"aria-label": "Go to next page",
|
|
@@ -2124,8 +1896,8 @@ function PaginationNext({
|
|
|
2124
1896
|
className: cn("gap-1 px-2.5 sm:pr-2.5", className),
|
|
2125
1897
|
...props,
|
|
2126
1898
|
children: [
|
|
2127
|
-
/* @__PURE__ */ (0,
|
|
2128
|
-
/* @__PURE__ */ (0,
|
|
1899
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "hidden sm:block", children: "Next" }),
|
|
1900
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ChevronRight, {})
|
|
2129
1901
|
]
|
|
2130
1902
|
}
|
|
2131
1903
|
);
|
|
@@ -2134,7 +1906,7 @@ function PaginationEllipsis({
|
|
|
2134
1906
|
className,
|
|
2135
1907
|
...props
|
|
2136
1908
|
}) {
|
|
2137
|
-
return /* @__PURE__ */ (0,
|
|
1909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
2138
1910
|
"span",
|
|
2139
1911
|
{
|
|
2140
1912
|
"aria-hidden": true,
|
|
@@ -2142,15 +1914,15 @@ function PaginationEllipsis({
|
|
|
2142
1914
|
className: cn("flex size-9 items-center justify-center", className),
|
|
2143
1915
|
...props,
|
|
2144
1916
|
children: [
|
|
2145
|
-
/* @__PURE__ */ (0,
|
|
2146
|
-
/* @__PURE__ */ (0,
|
|
1917
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Ellipsis, { className: "size-4" }),
|
|
1918
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "sr-only", children: "More pages" })
|
|
2147
1919
|
]
|
|
2148
1920
|
}
|
|
2149
1921
|
);
|
|
2150
1922
|
}
|
|
2151
1923
|
|
|
2152
1924
|
// src/components/DataDisplay/Pagination/Pagination.tsx
|
|
2153
|
-
var
|
|
1925
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2154
1926
|
var CustomPagination = ({
|
|
2155
1927
|
totalPages,
|
|
2156
1928
|
currentPage,
|
|
@@ -2192,15 +1964,15 @@ var CustomPagination = ({
|
|
|
2192
1964
|
}
|
|
2193
1965
|
};
|
|
2194
1966
|
const pageNumbers = getPageNumbers();
|
|
2195
|
-
return /* @__PURE__ */ (0,
|
|
2196
|
-
/* @__PURE__ */ (0,
|
|
1967
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Pagination, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(PaginationContent, { children: [
|
|
1968
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2197
1969
|
PaginationPrevious,
|
|
2198
1970
|
{
|
|
2199
1971
|
onClick: () => handlePageChange(currentPage - 1),
|
|
2200
1972
|
className: currentPage === 1 ? "pointer-events-none opacity-50" : "cursor-pointer"
|
|
2201
1973
|
}
|
|
2202
1974
|
) }),
|
|
2203
|
-
pageNumbers.map((pageNumber, index) => /* @__PURE__ */ (0,
|
|
1975
|
+
pageNumbers.map((pageNumber, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: pageNumber === "..." ? /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationEllipsis, {}) : /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2204
1976
|
PaginationLink,
|
|
2205
1977
|
{
|
|
2206
1978
|
onClick: () => handlePageChange(pageNumber),
|
|
@@ -2209,7 +1981,7 @@ var CustomPagination = ({
|
|
|
2209
1981
|
children: pageNumber
|
|
2210
1982
|
}
|
|
2211
1983
|
) }, index)),
|
|
2212
|
-
/* @__PURE__ */ (0,
|
|
1984
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2213
1985
|
PaginationNext,
|
|
2214
1986
|
{
|
|
2215
1987
|
onClick: () => handlePageChange(currentPage + 1),
|
|
@@ -2222,7 +1994,7 @@ var Pagination_default = CustomPagination;
|
|
|
2222
1994
|
|
|
2223
1995
|
// src/components/DataDisplay/Table/Table.tsx
|
|
2224
1996
|
var import_react9 = require("react");
|
|
2225
|
-
var
|
|
1997
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2226
1998
|
var Table2 = ({ columns, data, rowActions, className, style, pagination = false, itemsPerPage = 10, onPageChange, loading = false }) => {
|
|
2227
1999
|
const rawColumns = Array.isArray(columns) ? columns : [];
|
|
2228
2000
|
const rawData = Array.isArray(data) ? data : [];
|
|
@@ -2234,9 +2006,9 @@ var Table2 = ({ columns, data, rowActions, className, style, pagination = false,
|
|
|
2234
2006
|
onPageChange?.(page);
|
|
2235
2007
|
};
|
|
2236
2008
|
const paginatedData = enablePagination ? rawData.slice((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage) : rawData;
|
|
2237
|
-
return /* @__PURE__ */ (0,
|
|
2238
|
-
/* @__PURE__ */ (0,
|
|
2239
|
-
enablePagination && /* @__PURE__ */ (0,
|
|
2009
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: `${className} space-y-3`, style, children: [
|
|
2010
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(DataTable, { columns: rawColumns, data: paginatedData, rowActions: rawRowActions, loading }),
|
|
2011
|
+
enablePagination && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2240
2012
|
Pagination_default,
|
|
2241
2013
|
{
|
|
2242
2014
|
totalPages: Math.ceil(rawData.length / itemsPerPage),
|
|
@@ -2250,16 +2022,16 @@ var Table_default = Table2;
|
|
|
2250
2022
|
|
|
2251
2023
|
// src/components/ui/dropdown-menu.tsx
|
|
2252
2024
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
2253
|
-
var
|
|
2025
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2254
2026
|
function DropdownMenu({
|
|
2255
2027
|
...props
|
|
2256
2028
|
}) {
|
|
2257
|
-
return /* @__PURE__ */ (0,
|
|
2029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
2258
2030
|
}
|
|
2259
2031
|
function DropdownMenuTrigger({
|
|
2260
2032
|
...props
|
|
2261
2033
|
}) {
|
|
2262
|
-
return /* @__PURE__ */ (0,
|
|
2034
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2263
2035
|
DropdownMenuPrimitive.Trigger,
|
|
2264
2036
|
{
|
|
2265
2037
|
"data-slot": "dropdown-menu-trigger",
|
|
@@ -2272,7 +2044,7 @@ function DropdownMenuContent({
|
|
|
2272
2044
|
sideOffset = 4,
|
|
2273
2045
|
...props
|
|
2274
2046
|
}) {
|
|
2275
|
-
return /* @__PURE__ */ (0,
|
|
2047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2276
2048
|
DropdownMenuPrimitive.Content,
|
|
2277
2049
|
{
|
|
2278
2050
|
"data-slot": "dropdown-menu-content",
|
|
@@ -2291,7 +2063,7 @@ function DropdownMenuItem({
|
|
|
2291
2063
|
variant = "default",
|
|
2292
2064
|
...props
|
|
2293
2065
|
}) {
|
|
2294
|
-
return /* @__PURE__ */ (0,
|
|
2066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2295
2067
|
DropdownMenuPrimitive.Item,
|
|
2296
2068
|
{
|
|
2297
2069
|
"data-slot": "dropdown-menu-item",
|
|
@@ -2310,7 +2082,7 @@ function DropdownMenuLabel({
|
|
|
2310
2082
|
inset,
|
|
2311
2083
|
...props
|
|
2312
2084
|
}) {
|
|
2313
|
-
return /* @__PURE__ */ (0,
|
|
2085
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2314
2086
|
DropdownMenuPrimitive.Label,
|
|
2315
2087
|
{
|
|
2316
2088
|
"data-slot": "dropdown-menu-label",
|
|
@@ -2327,7 +2099,7 @@ function DropdownMenuSeparator({
|
|
|
2327
2099
|
className,
|
|
2328
2100
|
...props
|
|
2329
2101
|
}) {
|
|
2330
|
-
return /* @__PURE__ */ (0,
|
|
2102
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2331
2103
|
DropdownMenuPrimitive.Separator,
|
|
2332
2104
|
{
|
|
2333
2105
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -2338,7 +2110,7 @@ function DropdownMenuSeparator({
|
|
|
2338
2110
|
}
|
|
2339
2111
|
|
|
2340
2112
|
// src/components/Navigation/Tabs/Tabs.tsx
|
|
2341
|
-
var
|
|
2113
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2342
2114
|
var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
|
|
2343
2115
|
const rawTabs = Array.isArray(tabs) ? tabs : [];
|
|
2344
2116
|
const baseClasses = "text-[12px] text-[#E9E9E9] p-2 text-center rounded-md transition-colors border-none outline-none focus:outline-none focus:ring-0 focus:ring-offset-0 cursor-pointer select-none ";
|
|
@@ -2348,7 +2120,7 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
|
|
|
2348
2120
|
if (!path) return false;
|
|
2349
2121
|
return pathname === path || path !== "/" && pathname?.startsWith(path);
|
|
2350
2122
|
};
|
|
2351
|
-
return /* @__PURE__ */ (0,
|
|
2123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className, style, children: rawTabs.map((tab, index) => {
|
|
2352
2124
|
const finalClasses = [
|
|
2353
2125
|
baseClasses,
|
|
2354
2126
|
isActive(tab.href) ? activeClasses : hoverClasses,
|
|
@@ -2356,29 +2128,29 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
|
|
|
2356
2128
|
].join(" ");
|
|
2357
2129
|
const hasDropdown = Array.isArray(tab.children) && tab.children.length > 0 && tab.isDropDown;
|
|
2358
2130
|
if (hasDropdown) {
|
|
2359
|
-
return /* @__PURE__ */ (0,
|
|
2360
|
-
/* @__PURE__ */ (0,
|
|
2131
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(DropdownMenu, { children: [
|
|
2132
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
2361
2133
|
DropdownMenuTrigger,
|
|
2362
2134
|
{
|
|
2363
2135
|
className: `${finalClasses} inline-flex items-center gap-1`,
|
|
2364
2136
|
children: [
|
|
2365
2137
|
tab.header,
|
|
2366
|
-
/* @__PURE__ */ (0,
|
|
2138
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ChevronDown, { className: "h-4 w-4 opacity-80" })
|
|
2367
2139
|
]
|
|
2368
2140
|
}
|
|
2369
2141
|
),
|
|
2370
|
-
/* @__PURE__ */ (0,
|
|
2142
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2371
2143
|
DropdownMenuContent,
|
|
2372
2144
|
{
|
|
2373
2145
|
align: "start",
|
|
2374
2146
|
sideOffset: 6,
|
|
2375
2147
|
className: "z-50 min-w-[160px] rounded-md border border-gray-200 bg-white p-1 shadow-lg",
|
|
2376
|
-
children: tab.children.map((item) => /* @__PURE__ */ (0,
|
|
2148
|
+
children: tab.children.map((item) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2377
2149
|
DropdownMenuItem,
|
|
2378
2150
|
{
|
|
2379
2151
|
asChild: true,
|
|
2380
2152
|
className: "cursor-pointer rounded-sm px-3 py-2 text-[12px] text-gray-800 hover:bg-gray-100 focus:bg-gray-100",
|
|
2381
|
-
children: LinkComponent ? /* @__PURE__ */ (0,
|
|
2153
|
+
children: LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(LinkComponent, { href: item.href || "#", children: item.header }) : item.header
|
|
2382
2154
|
},
|
|
2383
2155
|
item.id
|
|
2384
2156
|
))
|
|
@@ -2386,19 +2158,19 @@ var Tabs = ({ tabs, className, style, pathname, LinkComponent }) => {
|
|
|
2386
2158
|
)
|
|
2387
2159
|
] }, index);
|
|
2388
2160
|
}
|
|
2389
|
-
return tab.url && LinkComponent ? /* @__PURE__ */ (0,
|
|
2161
|
+
return tab.url && LinkComponent ? /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(LinkComponent, { href: tab.url, className: finalClasses, style: tab.style, children: tab.header }, index) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: finalClasses, style: tab.style, role: "button", tabIndex: 0, children: tab.header }, index);
|
|
2390
2162
|
}) });
|
|
2391
2163
|
};
|
|
2392
2164
|
var Tabs_default = Tabs;
|
|
2393
2165
|
|
|
2394
2166
|
// src/components/Navigation/Stages/Stages.tsx
|
|
2395
2167
|
var import_react10 = __toESM(require("react"));
|
|
2396
|
-
var
|
|
2168
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2397
2169
|
var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
|
|
2398
|
-
return /* @__PURE__ */ (0,
|
|
2399
|
-
/* @__PURE__ */ (0,
|
|
2400
|
-
/* @__PURE__ */ (0,
|
|
2401
|
-
/* @__PURE__ */ (0,
|
|
2170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "flex items-center justify-between bg-gray-50 p-2 rounded-lg border border-gray-200 w-full", children: [
|
|
2171
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("button", { className: "p-2 hover:bg-gray-100 rounded", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { className: "w-4 h-4 text-gray-600", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) }) }) }),
|
|
2172
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center flex-1 px-2", children: stages?.length > 0 && stages?.map((stage, index) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_react10.default.Fragment, { children: [
|
|
2173
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2402
2174
|
"button",
|
|
2403
2175
|
{
|
|
2404
2176
|
className: `
|
|
@@ -2406,26 +2178,26 @@ var StagesComponent = ({ stages, isShowBtn, buttonText, className, style }) => {
|
|
|
2406
2178
|
children: stage.header
|
|
2407
2179
|
}
|
|
2408
2180
|
),
|
|
2409
|
-
index < stages.length - 1 && /* @__PURE__ */ (0,
|
|
2181
|
+
index < stages.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex-shrink-0 w-3 h-px bg-gray-300" })
|
|
2410
2182
|
] }, stage.id)) }),
|
|
2411
|
-
isShowBtn && /* @__PURE__ */ (0,
|
|
2183
|
+
isShowBtn && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("button", { className: "bg-[#034486] text-white px-6 py-2 rounded-lg text-sm font-medium transition-colors duration-200 shadow-sm", children: buttonText }) })
|
|
2412
2184
|
] }) });
|
|
2413
2185
|
};
|
|
2414
2186
|
var Stages_default = StagesComponent;
|
|
2415
2187
|
|
|
2416
2188
|
// src/components/Navigation/Spacer/Spacer.tsx
|
|
2417
|
-
var
|
|
2189
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2418
2190
|
var Spacer = ({ className, style }) => {
|
|
2419
|
-
return /* @__PURE__ */ (0,
|
|
2191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: `${className}`, style });
|
|
2420
2192
|
};
|
|
2421
2193
|
var Spacer_default = Spacer;
|
|
2422
2194
|
|
|
2423
2195
|
// src/components/Navigation/Profile/Profile.tsx
|
|
2424
|
-
var
|
|
2196
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2425
2197
|
var Profile = ({ profileType, showName, userName, className, style }) => {
|
|
2426
|
-
return /* @__PURE__ */ (0,
|
|
2427
|
-
showName && /* @__PURE__ */ (0,
|
|
2428
|
-
profileType === "avatar" ? /* @__PURE__ */ (0,
|
|
2198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "flex gap-2 items-center justify-between w-30 cursor-pointer", children: [
|
|
2199
|
+
showName && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("h4", { className: "text-[#000000] dark:text-[#fff] text-[13px] font-[500] mb-0", children: userName }),
|
|
2200
|
+
profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2429
2201
|
"img",
|
|
2430
2202
|
{
|
|
2431
2203
|
src: "https://builder.development.algorithmshift.ai/images/toolset/profile.svg",
|
|
@@ -2433,16 +2205,16 @@ var Profile = ({ profileType, showName, userName, className, style }) => {
|
|
|
2433
2205
|
width: 24,
|
|
2434
2206
|
height: 24
|
|
2435
2207
|
}
|
|
2436
|
-
) : /* @__PURE__ */ (0,
|
|
2208
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-6 h-6 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "A" })
|
|
2437
2209
|
] }) });
|
|
2438
2210
|
};
|
|
2439
2211
|
var Profile_default = Profile;
|
|
2440
2212
|
|
|
2441
2213
|
// src/components/Navigation/Notification/Notification.tsx
|
|
2442
|
-
var
|
|
2214
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2443
2215
|
var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhenZero }) => {
|
|
2444
|
-
return /* @__PURE__ */ (0,
|
|
2445
|
-
/* @__PURE__ */ (0,
|
|
2216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "w-[34px] h-[34px] bg-[#E9E9E9] rounded-md text-center flex items-center justify-center relative", children: [
|
|
2217
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2446
2218
|
"img",
|
|
2447
2219
|
{
|
|
2448
2220
|
src: "https://builder.development.algorithmshift.ai/images/toolset/notification.svg",
|
|
@@ -2451,7 +2223,7 @@ var Notification = ({ className, style, badgeType, badgeCount = 0, hideBadgeWhen
|
|
|
2451
2223
|
height: 18
|
|
2452
2224
|
}
|
|
2453
2225
|
),
|
|
2454
|
-
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0,
|
|
2226
|
+
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "text-[10px] text-[#fff] bg-[#FF4A4A] w-[20px] h-[20px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]", children: badgeCount }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("span", { className: "bg-[#FF4A4A] w-[10px] h-[10px] rounded-full absolute top-0 right-0 transform translate-x-1/2 -translate-y-1/2 leading-[20px]" })
|
|
2455
2227
|
] }) });
|
|
2456
2228
|
};
|
|
2457
2229
|
var Notification_default = Notification;
|
|
@@ -2460,7 +2232,7 @@ var Notification_default = Notification;
|
|
|
2460
2232
|
var logo_placeholder_default = "data:image/png;base64,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dBvJqqioiFtuuSUmT55c6FaOq7q6Ou6666546KGHYs+ePYVu55jKy8vj+9///pe3ki408wpw1OCInIHT3syZM+P2229P4gD0qy644IK47bbbBuRD7JIlSwZNuPGF0tLSuPHGGwfdt4FfZW1BbkaMGBH33HPPoD4I/sLIkSPjRz/60aDbtPML119/fYwcObLQbUSEeQX4KgEHkHdz5syJG2+8MW93Acm3adOmxR133JHX/hcuXBgzZ87MW/3+KC8vj+uvv77QbRyTtQW5qaqqinvvvXdQh5XfNGrUqPje9743YHdAytWkSZPivPPOK3QbEWFeAb5JwAHk1bnnnhvf+c53kv8g09jYGDfffHNeXkdjY2NcdtllmdfN0mDc08LagtxUVFTEnXfeOWjOOOiLxsbGuOKKKwrdxpdKSkriuuuuK3QbEWFeAY5FwAHkTV1dXSxevHjQbMDWX9/61rfiqquuyrRmZWVlLFmyxMFtH1lbkJvi4uK49dZbo6amptCtnLJvf/vbUVdXV+g2IuLo2Qdjx44tdBvmFeA4To9PhsCgU15eHt/73veirKys0K1kav78+XHuuedmVu/qq6+OqqqqzOqdCawtyN1VV10VkyZNKnQb/VJcXBzf/e53BcFfYV4Bjs3OZkBeXHvttVFdXV3oNvLihhtuiM8++yza29v7VaehoWHQXMedEmsLcjNp0qS46KKLMq3Z29sbGzZsiE8//TS2bdsWu3btis7OzoiIGD58eIwfPz6amppi2rRpmYaQdXV1MWfOnHj33Xczq5kq8wpwfAIOIHONjY0xe/bsQreRN5WVlXHdddfFk08+2a8611xzjW+u+sjagtyUlJRk/u346tWr49VXX43W1tZj/ry9vT0+//zzWLFiRVRWVsaCBQti3rx5mV1K9k//9E/x3nvvndG3VjavACfmEhUgU0VFRXHDDTcUuo28a25ujqamplN+fmNjYzQ0NGTY0enP2oLcXXrppZntz7B///546KGH4sknnzzuQfA3tbe3x/PPPx+//e1v4/Dhw5n0MWrUqJg1a1YmtVJlXgFOzBkcQKbmzJmT103PDh06FOvXr4/NmzfHjh07Ys+ePdHR0RERR6/nraqqipqammhoaIjJkyfHmDFj8tbL5ZdfHp9++ukpPXcg7pqyd+/eWLduXWzYsCF27twZbW1tERFRVlYWtbW1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";
|
|
2461
2233
|
|
|
2462
2234
|
// src/components/Navigation/Logo/Logo.tsx
|
|
2463
|
-
var
|
|
2235
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2464
2236
|
var Logo = ({
|
|
2465
2237
|
className,
|
|
2466
2238
|
style,
|
|
@@ -2468,7 +2240,7 @@ var Logo = ({
|
|
|
2468
2240
|
altText = "Preview"
|
|
2469
2241
|
}) => {
|
|
2470
2242
|
if (!imageUrl) {
|
|
2471
|
-
return /* @__PURE__ */ (0,
|
|
2243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2472
2244
|
"div",
|
|
2473
2245
|
{
|
|
2474
2246
|
className: cn(
|
|
@@ -2476,19 +2248,19 @@ var Logo = ({
|
|
|
2476
2248
|
"p-0"
|
|
2477
2249
|
),
|
|
2478
2250
|
style,
|
|
2479
|
-
children: /* @__PURE__ */ (0,
|
|
2251
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("img", { src: logo_placeholder_default, alt: altText, className: "opacity-50", width: 150, height: 80 })
|
|
2480
2252
|
}
|
|
2481
2253
|
);
|
|
2482
2254
|
}
|
|
2483
|
-
return /* @__PURE__ */ (0,
|
|
2255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("img", { src: imageUrl, alt: altText, className, style });
|
|
2484
2256
|
};
|
|
2485
2257
|
var Logo_default = Logo;
|
|
2486
2258
|
|
|
2487
2259
|
// src/components/ui/avatar.tsx
|
|
2488
2260
|
var React15 = __toESM(require("react"));
|
|
2489
2261
|
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
|
|
2490
|
-
var
|
|
2491
|
-
var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2262
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2263
|
+
var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2492
2264
|
AvatarPrimitive.Root,
|
|
2493
2265
|
{
|
|
2494
2266
|
ref,
|
|
@@ -2500,7 +2272,7 @@ var Avatar = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
2500
2272
|
}
|
|
2501
2273
|
));
|
|
2502
2274
|
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
2503
|
-
var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2275
|
+
var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2504
2276
|
AvatarPrimitive.Image,
|
|
2505
2277
|
{
|
|
2506
2278
|
ref,
|
|
@@ -2509,7 +2281,7 @@ var AvatarImage = React15.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
2509
2281
|
}
|
|
2510
2282
|
));
|
|
2511
2283
|
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
2512
|
-
var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0,
|
|
2284
|
+
var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
2513
2285
|
AvatarPrimitive.Fallback,
|
|
2514
2286
|
{
|
|
2515
2287
|
ref,
|
|
@@ -2523,7 +2295,7 @@ var AvatarFallback = React15.forwardRef(({ className, ...props }, ref) => /* @__
|
|
|
2523
2295
|
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
2524
2296
|
|
|
2525
2297
|
// src/components/Navigation/Navbar/Navbar.tsx
|
|
2526
|
-
var
|
|
2298
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2527
2299
|
function Navbar({
|
|
2528
2300
|
style,
|
|
2529
2301
|
badgeType,
|
|
@@ -2538,61 +2310,61 @@ function Navbar({
|
|
|
2538
2310
|
ImageComponent
|
|
2539
2311
|
}) {
|
|
2540
2312
|
const isMobileView = canvasMode === "mobile" || canvasMode === "tablet";
|
|
2541
|
-
return /* @__PURE__ */ (0,
|
|
2542
|
-
LinkComponent && ImageComponent ? /* @__PURE__ */ (0,
|
|
2543
|
-
/* @__PURE__ */ (0,
|
|
2544
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
2545
|
-
/* @__PURE__ */ (0,
|
|
2546
|
-
/* @__PURE__ */ (0,
|
|
2547
|
-
] }) }) : /* @__PURE__ */ (0,
|
|
2313
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("nav", { className: "w-full border-b bg-white shadow-sm", style, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mx-auto flex max-w-7xl items-center justify-between px-4 py-2", children: [
|
|
2314
|
+
LinkComponent && ImageComponent ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(LinkComponent, { href: "/", className: "flex items-center space-x-2", children: imageUrl ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ImageComponent, { src: imageUrl, alt: altText, width: 200, height: 200 }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "font-semibold text-blue-700", children: "Logo" }),
|
|
2315
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-3", children: [
|
|
2316
|
+
!isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 px-6", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative w-full max-w-md border border-gray-300 rounded-md", children: [
|
|
2317
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400" }),
|
|
2318
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Input, { placeholder: "Search", className: "pl-9 text-gray-400" })
|
|
2319
|
+
] }) }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2548
2320
|
Button,
|
|
2549
2321
|
{
|
|
2550
2322
|
variant: "ghost",
|
|
2551
2323
|
size: "icon",
|
|
2552
2324
|
className: "border border-gray-400",
|
|
2553
|
-
children: /* @__PURE__ */ (0,
|
|
2325
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Search, { className: "h-5 w-5 text-gray-400" })
|
|
2554
2326
|
}
|
|
2555
2327
|
),
|
|
2556
|
-
/* @__PURE__ */ (0,
|
|
2557
|
-
/* @__PURE__ */ (0,
|
|
2558
|
-
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0,
|
|
2328
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative bg-[#E9E9E9] rounded-md", children: [
|
|
2329
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { variant: "ghost", size: "icon", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Bell, { className: "h-5 w-5 text-[#1C1B1F]" }) }),
|
|
2330
|
+
badgeType === "number" && !(hideBadgeWhenZero && badgeCount === 0) && badgeCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime49.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_runtime49.jsx)("span", { className: "absolute -top-1 -right-1 flex h-2 w-2 items-center justify-center rounded-full bg-red-500" })
|
|
2559
2331
|
] }),
|
|
2560
|
-
/* @__PURE__ */ (0,
|
|
2561
|
-
/* @__PURE__ */ (0,
|
|
2562
|
-
!isMobileView && showName && /* @__PURE__ */ (0,
|
|
2563
|
-
!isMobileView ? /* @__PURE__ */ (0,
|
|
2564
|
-
/* @__PURE__ */ (0,
|
|
2332
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DropdownMenu, { children: [
|
|
2333
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-2", children: [
|
|
2334
|
+
!isMobileView && showName && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h4", { className: "text-[#000000] text-[13px] font-[500] mb-0", children: "Akbar Sheriff" }),
|
|
2335
|
+
!isMobileView ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
|
|
2336
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Avatar, { className: "cursor-pointer h-8 w-8 text-gray-900", children: profileType === "avatar" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2565
2337
|
AvatarImage,
|
|
2566
2338
|
{
|
|
2567
2339
|
src: "/images/appbuilder/toolset/profile.svg",
|
|
2568
2340
|
alt: "Akbar Sheriff"
|
|
2569
2341
|
}
|
|
2570
|
-
) : /* @__PURE__ */ (0,
|
|
2571
|
-
/* @__PURE__ */ (0,
|
|
2342
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "w-8 h-8 bg-[#12715b] rounded-full text-[#fff] text-center text-[11px] flex items-center justify-center", children: "AS" }) }),
|
|
2343
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2572
2344
|
Button,
|
|
2573
2345
|
{
|
|
2574
2346
|
variant: "ghost",
|
|
2575
2347
|
size: "icon",
|
|
2576
2348
|
className: "text-gray-900 md:hidden",
|
|
2577
|
-
children: /* @__PURE__ */ (0,
|
|
2349
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Menu, { className: "h-6 w-6" })
|
|
2578
2350
|
}
|
|
2579
2351
|
)
|
|
2580
|
-
] }) : /* @__PURE__ */ (0,
|
|
2352
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
2581
2353
|
Button,
|
|
2582
2354
|
{
|
|
2583
2355
|
variant: "ghost",
|
|
2584
2356
|
size: "icon",
|
|
2585
2357
|
className: "text-gray-900",
|
|
2586
|
-
children: /* @__PURE__ */ (0,
|
|
2358
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Menu, { className: "h-6 w-6" })
|
|
2587
2359
|
}
|
|
2588
2360
|
)
|
|
2589
2361
|
] }) }),
|
|
2590
|
-
/* @__PURE__ */ (0,
|
|
2591
|
-
/* @__PURE__ */ (0,
|
|
2592
|
-
/* @__PURE__ */ (0,
|
|
2593
|
-
/* @__PURE__ */ (0,
|
|
2594
|
-
/* @__PURE__ */ (0,
|
|
2595
|
-
/* @__PURE__ */ (0,
|
|
2362
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DropdownMenuContent, { align: "end", className: "bg-white", children: [
|
|
2363
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuLabel, { className: "text-black", children: "My Account" }),
|
|
2364
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuSeparator, {}),
|
|
2365
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { className: "text-black", children: "Profile" }),
|
|
2366
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { className: "text-black", children: "Settings" }),
|
|
2367
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DropdownMenuItem, { className: "text-black", children: "Logout" })
|
|
2596
2368
|
] })
|
|
2597
2369
|
] })
|
|
2598
2370
|
] })
|
|
@@ -2601,28 +2373,28 @@ function Navbar({
|
|
|
2601
2373
|
|
|
2602
2374
|
// src/components/Chart/BarChart.tsx
|
|
2603
2375
|
var import_recharts = require("recharts");
|
|
2604
|
-
var
|
|
2376
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2605
2377
|
var ChartComponent = ({ className, style, ...props }) => {
|
|
2606
2378
|
const data = Array.isArray(props?.data) ? props.data : [];
|
|
2607
2379
|
const chartType = props.chartType || "bar";
|
|
2608
2380
|
const legendsPosition = props.legendsPosition === "middle" || props.legendsPosition === "bottom" ? props.legendsPosition : "top";
|
|
2609
|
-
return /* @__PURE__ */ (0,
|
|
2610
|
-
/* @__PURE__ */ (0,
|
|
2611
|
-
/* @__PURE__ */ (0,
|
|
2612
|
-
/* @__PURE__ */ (0,
|
|
2613
|
-
/* @__PURE__ */ (0,
|
|
2614
|
-
/* @__PURE__ */ (0,
|
|
2615
|
-
/* @__PURE__ */ (0,
|
|
2616
|
-
] }) : /* @__PURE__ */ (0,
|
|
2617
|
-
/* @__PURE__ */ (0,
|
|
2618
|
-
/* @__PURE__ */ (0,
|
|
2619
|
-
/* @__PURE__ */ (0,
|
|
2381
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: `${className} h-[400px]`, style, children: data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.ResponsiveContainer, { width: "100%", height: "100%", children: chartType === "bar" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_recharts.BarChart, { data, children: [
|
|
2382
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
|
|
2383
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.XAxis, { dataKey: "name" }),
|
|
2384
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.YAxis, {}),
|
|
2385
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Tooltip, {}),
|
|
2386
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Legend, { verticalAlign: legendsPosition, align: "center" }),
|
|
2387
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Bar, { dataKey: "value", fill: "#00695C" })
|
|
2388
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_recharts.AreaChart, { data, children: [
|
|
2389
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("linearGradient", { id: "colorCount", x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
2390
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("stop", { offset: "5%", stopColor: "#00695C", stopOpacity: 0.8 }),
|
|
2391
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)("stop", { offset: "95%", stopColor: "#00695C", stopOpacity: 0 })
|
|
2620
2392
|
] }) }),
|
|
2621
|
-
/* @__PURE__ */ (0,
|
|
2622
|
-
/* @__PURE__ */ (0,
|
|
2623
|
-
/* @__PURE__ */ (0,
|
|
2624
|
-
/* @__PURE__ */ (0,
|
|
2625
|
-
/* @__PURE__ */ (0,
|
|
2393
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.CartesianGrid, { strokeDasharray: "3 3" }),
|
|
2394
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.XAxis, { dataKey: "name" }),
|
|
2395
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.YAxis, {}),
|
|
2396
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_recharts.Tooltip, {}),
|
|
2397
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
2626
2398
|
import_recharts.Area,
|
|
2627
2399
|
{
|
|
2628
2400
|
type: "monotone",
|
|
@@ -2638,7 +2410,7 @@ var BarChart_default = ChartComponent;
|
|
|
2638
2410
|
|
|
2639
2411
|
// src/components/Chart/PieChart.tsx
|
|
2640
2412
|
var import_recharts2 = require("recharts");
|
|
2641
|
-
var
|
|
2413
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2642
2414
|
var DonutChart = ({ className, style, ...props }) => {
|
|
2643
2415
|
const data = Array.isArray(props?.data) ? props.data : [];
|
|
2644
2416
|
const total = data.reduce((sum, d) => sum + d.value, 0);
|
|
@@ -2649,7 +2421,7 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2649
2421
|
const renderLabel = ({ value, x, y }) => {
|
|
2650
2422
|
if (value == null) return null;
|
|
2651
2423
|
const percentage = (Number(value) / total * 100).toFixed(0);
|
|
2652
|
-
return /* @__PURE__ */ (0,
|
|
2424
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
2653
2425
|
"text",
|
|
2654
2426
|
{
|
|
2655
2427
|
x,
|
|
@@ -2671,33 +2443,33 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2671
2443
|
const wrapperClass = canvasMode ? forceDesktop ? "flex-row" : "flex-col" : "flex-col md:flex-row";
|
|
2672
2444
|
const renderLegends = () => {
|
|
2673
2445
|
if (!showLegends) return null;
|
|
2674
|
-
return /* @__PURE__ */ (0,
|
|
2446
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: data.map((d) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
2675
2447
|
"div",
|
|
2676
2448
|
{
|
|
2677
2449
|
className: "flex items-center space-x-2 rounded-md border border-gray-200 px-3 py-2 w-[48%] md:w-auto",
|
|
2678
2450
|
children: [
|
|
2679
|
-
/* @__PURE__ */ (0,
|
|
2451
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2680
2452
|
"span",
|
|
2681
2453
|
{
|
|
2682
2454
|
className: "inline-block w-[16px] h-[16px] rounded",
|
|
2683
2455
|
style: { backgroundColor: d.color }
|
|
2684
2456
|
}
|
|
2685
2457
|
),
|
|
2686
|
-
/* @__PURE__ */ (0,
|
|
2458
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("span", { className: "text-[#000000] text-[12px] md:text-[13px] font-[500]", children: d.name })
|
|
2687
2459
|
]
|
|
2688
2460
|
},
|
|
2689
2461
|
d.name
|
|
2690
2462
|
)) });
|
|
2691
2463
|
};
|
|
2692
|
-
return /* @__PURE__ */ (0,
|
|
2464
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
2693
2465
|
"div",
|
|
2694
2466
|
{
|
|
2695
2467
|
className: `relative flex items-center ${wrapperClass} ${className}`,
|
|
2696
2468
|
style,
|
|
2697
2469
|
children: [
|
|
2698
|
-
/* @__PURE__ */ (0,
|
|
2699
|
-
data.length > 0 && /* @__PURE__ */ (0,
|
|
2700
|
-
/* @__PURE__ */ (0,
|
|
2470
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "relative w-full md:w-[70%] h-[300px] md:h-[400px] flex items-center justify-center", children: [
|
|
2471
|
+
data.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_recharts2.PieChart, { children: [
|
|
2472
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
2701
2473
|
import_recharts2.Pie,
|
|
2702
2474
|
{
|
|
2703
2475
|
data,
|
|
@@ -2709,8 +2481,8 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2709
2481
|
labelLine: false,
|
|
2710
2482
|
isAnimationActive: false,
|
|
2711
2483
|
children: [
|
|
2712
|
-
data.map((entry, index) => /* @__PURE__ */ (0,
|
|
2713
|
-
/* @__PURE__ */ (0,
|
|
2484
|
+
data.map((entry, index) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.Cell, { fill: entry.color }, `cell-${index}`)),
|
|
2485
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2714
2486
|
import_recharts2.LabelList,
|
|
2715
2487
|
{
|
|
2716
2488
|
dataKey: "value",
|
|
@@ -2721,14 +2493,14 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2721
2493
|
]
|
|
2722
2494
|
}
|
|
2723
2495
|
),
|
|
2724
|
-
/* @__PURE__ */ (0,
|
|
2496
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_recharts2.Tooltip, { formatter: (value, name) => [`${value}k`, name] })
|
|
2725
2497
|
] }) }),
|
|
2726
|
-
/* @__PURE__ */ (0,
|
|
2498
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 text-2xl md:text-4xl font-bold text-[#000]", children: [
|
|
2727
2499
|
total,
|
|
2728
2500
|
"k"
|
|
2729
2501
|
] })
|
|
2730
2502
|
] }),
|
|
2731
|
-
/* @__PURE__ */ (0,
|
|
2503
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: `flex ${forceDesktop ? "flex-col ml-auto space-y-3" : "flex-wrap justify-center gap-2 mt-4"}
|
|
2732
2504
|
w-full md:w-auto`, children: renderLegends() })
|
|
2733
2505
|
]
|
|
2734
2506
|
}
|
|
@@ -2737,10 +2509,10 @@ var DonutChart = ({ className, style, ...props }) => {
|
|
|
2737
2509
|
var PieChart_default = DonutChart;
|
|
2738
2510
|
|
|
2739
2511
|
// src/components/Blocks/EmailComposer.tsx
|
|
2740
|
-
var
|
|
2512
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2741
2513
|
function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc, setShowBcc, cc, setCc, bcc, setBcc, subject, setSubject, body, setBody }) {
|
|
2742
|
-
return /* @__PURE__ */ (0,
|
|
2743
|
-
/* @__PURE__ */ (0,
|
|
2514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className, style, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "border rounded-md shadow bg-[#fff] p-4 mx-auto z-[50] relative", children: [
|
|
2515
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2744
2516
|
"input",
|
|
2745
2517
|
{
|
|
2746
2518
|
type: "email",
|
|
@@ -2749,8 +2521,8 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2749
2521
|
required: true
|
|
2750
2522
|
}
|
|
2751
2523
|
) }),
|
|
2752
|
-
/* @__PURE__ */ (0,
|
|
2753
|
-
/* @__PURE__ */ (0,
|
|
2524
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
2525
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2754
2526
|
"input",
|
|
2755
2527
|
{
|
|
2756
2528
|
type: "email",
|
|
@@ -2761,7 +2533,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2761
2533
|
required: true
|
|
2762
2534
|
}
|
|
2763
2535
|
),
|
|
2764
|
-
!showCc && /* @__PURE__ */ (0,
|
|
2536
|
+
!showCc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2765
2537
|
"button",
|
|
2766
2538
|
{
|
|
2767
2539
|
onClick: () => setShowCc?.(true),
|
|
@@ -2769,7 +2541,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2769
2541
|
children: "Cc"
|
|
2770
2542
|
}
|
|
2771
2543
|
),
|
|
2772
|
-
!showBcc && /* @__PURE__ */ (0,
|
|
2544
|
+
!showBcc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2773
2545
|
"button",
|
|
2774
2546
|
{
|
|
2775
2547
|
onClick: () => setShowBcc?.(true),
|
|
@@ -2778,7 +2550,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2778
2550
|
}
|
|
2779
2551
|
)
|
|
2780
2552
|
] }) }),
|
|
2781
|
-
showCc && /* @__PURE__ */ (0,
|
|
2553
|
+
showCc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2782
2554
|
"input",
|
|
2783
2555
|
{
|
|
2784
2556
|
type: "text",
|
|
@@ -2788,7 +2560,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2788
2560
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
2789
2561
|
}
|
|
2790
2562
|
) }),
|
|
2791
|
-
showBcc && /* @__PURE__ */ (0,
|
|
2563
|
+
showBcc && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2792
2564
|
"input",
|
|
2793
2565
|
{
|
|
2794
2566
|
type: "text",
|
|
@@ -2798,7 +2570,7 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2798
2570
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
2799
2571
|
}
|
|
2800
2572
|
) }),
|
|
2801
|
-
/* @__PURE__ */ (0,
|
|
2573
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-3", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
2802
2574
|
"input",
|
|
2803
2575
|
{
|
|
2804
2576
|
type: "text",
|
|
@@ -2808,11 +2580,11 @@ function EmailComposer({ className, style, to, setTo, showCc, setShowCc, showBcc
|
|
|
2808
2580
|
className: "w-full flex-1 border-2 rounded-md h-[40px] px-3 focus:outline-none border-[#E9E9E9] text-[#383838]"
|
|
2809
2581
|
}
|
|
2810
2582
|
) }),
|
|
2811
|
-
/* @__PURE__ */ (0,
|
|
2812
|
-
/* @__PURE__ */ (0,
|
|
2813
|
-
/* @__PURE__ */ (0,
|
|
2814
|
-
/* @__PURE__ */ (0,
|
|
2815
|
-
/* @__PURE__ */ (0,
|
|
2583
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { className: "mb-4", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(MyEditor, { value: body, onChange: setBody }) }),
|
|
2584
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("div", { className: "flex justify-end gap-2", children: [
|
|
2585
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "px-4 py-2 rounded-md text-gray-600 hover:bg-gray-100", children: "Discard" }),
|
|
2586
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "px-4 py-2 rounded-md border text-[#12715B] border-[#12715B]", children: "Reset" }),
|
|
2587
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("button", { className: "px-4 py-2 rounded-md bg-[#12715B] text-white", children: "Send" })
|
|
2816
2588
|
] })
|
|
2817
2589
|
] }) });
|
|
2818
2590
|
}
|