@verma-consulting/design-library 0.1.45 → 0.1.46

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.js CHANGED
@@ -49,11 +49,11 @@ __export(index_exports, {
49
49
  StatusPill: () => StatusPill_default,
50
50
  TabPanel: () => TabPanel_default,
51
51
  TablePagination: () => TablePagination_default,
52
- ThemeProvider: () => import_styles19.ThemeProvider,
53
- createTheme: () => import_styles19.createTheme,
54
- makeStyles: () => import_styles20.makeStyles,
55
- styled: () => import_styles19.styled,
56
- useTheme: () => import_styles19.useTheme
52
+ ThemeProvider: () => import_styles18.ThemeProvider,
53
+ createTheme: () => import_styles18.createTheme,
54
+ makeStyles: () => import_styles19.makeStyles,
55
+ styled: () => import_styles18.styled,
56
+ useTheme: () => import_styles18.useTheme
57
57
  });
58
58
  module.exports = __toCommonJS(index_exports);
59
59
  __reExport(index_exports, require("@mui/material"), module.exports);
@@ -268,8 +268,8 @@ var TablePagination = React.forwardRef(function TablePagination2(props, ref) {
268
268
  var TablePagination_default = TablePagination;
269
269
 
270
270
  // src/index.tsx
271
- var import_styles19 = require("@mui/material/styles");
272
- var import_styles20 = require("@mui/styles");
271
+ var import_styles18 = require("@mui/material/styles");
272
+ var import_styles19 = require("@mui/styles");
273
273
 
274
274
  // src/Logo.tsx
275
275
  var import_react = require("react");
@@ -389,14 +389,18 @@ var Logo_default = Logo;
389
389
  // src/FormDialog.tsx
390
390
  var import_styles2 = require("@mui/material/styles");
391
391
  var import_material3 = require("@mui/material");
392
- var import_styles3 = require("@mui/material/styles");
393
392
  var import_icons_material = require("@mui/icons-material");
394
393
  var import_jsx_runtime4 = require("react/jsx-runtime");
395
394
  var BootstrapDialog = (0, import_styles2.styled)(import_material3.Dialog)(({ theme }) => ({
396
395
  "& .MuiDialog-paper": {
397
396
  borderRadius: 24,
397
+ backgroundColor: theme.palette.background.paper,
398
+ display: "flex",
399
+ flexDirection: "column",
400
+ maxHeight: "min(92vh, 1200px)",
398
401
  [theme.breakpoints.down("md")]: {
399
- borderRadius: 0
402
+ borderRadius: 0,
403
+ maxHeight: "100%"
400
404
  }
401
405
  },
402
406
  "& .MuiDialogContent-root": {
@@ -406,40 +410,50 @@ var BootstrapDialog = (0, import_styles2.styled)(import_material3.Dialog)(({ the
406
410
  padding: theme.spacing(4)
407
411
  }
408
412
  }));
409
- var BootstrapDialogTitle = (props) => {
410
- const { children, onClose, ...other } = props;
411
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
412
- import_material3.DialogTitle,
413
- {
414
- sx: {
415
- px: 3,
416
- py: 3,
417
- pt: 3.5,
418
- pb: 2.5,
419
- fontSize: "1.25rem",
420
- fontWeight: 600,
421
- letterSpacing: "0.02em",
422
- lineHeight: 1.35,
423
- color: "primary.main"
424
- },
425
- ...other,
426
- children: [
427
- children,
428
- onClose ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
429
- import_material3.IconButton,
430
- {
431
- onClick: onClose,
432
- sx: {
433
- position: "absolute",
434
- right: 16,
435
- top: 16
436
- },
437
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.Close, { color: "primary" })
438
- }
439
- ) : null
440
- ]
441
- }
442
- );
413
+ var BootstrapDialogTitle = ({
414
+ children,
415
+ onClose,
416
+ ...other
417
+ }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
418
+ import_material3.DialogTitle,
419
+ {
420
+ sx: {
421
+ position: "relative",
422
+ px: 3,
423
+ py: 3,
424
+ pt: 3.5,
425
+ pb: 2.5,
426
+ fontSize: "1.25rem",
427
+ fontWeight: 600,
428
+ letterSpacing: "0.02em",
429
+ lineHeight: 1.35,
430
+ color: "primary.main",
431
+ flexShrink: 0,
432
+ bgcolor: "background.paper"
433
+ },
434
+ ...other,
435
+ children: [
436
+ children,
437
+ onClose ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
438
+ import_material3.IconButton,
439
+ {
440
+ onClick: onClose,
441
+ sx: {
442
+ position: "absolute",
443
+ right: 16,
444
+ top: 16
445
+ },
446
+ "aria-label": "Close",
447
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material.Close, { color: "primary" })
448
+ }
449
+ ) : null
450
+ ]
451
+ }
452
+ );
453
+ var defaultBackdropSx = {
454
+ backgroundColor: (t) => (0, import_styles2.alpha)(t.palette.common.black, t.palette.mode === "dark" ? 0.52 : 0.28),
455
+ backdropFilter: "saturate(150%) blur(10px)",
456
+ WebkitBackdropFilter: "saturate(150%) blur(10px)"
443
457
  };
444
458
  var FormDialog = ({
445
459
  open = false,
@@ -448,22 +462,53 @@ var FormDialog = ({
448
462
  actions,
449
463
  children,
450
464
  maxWidth = "lg",
465
+ BackdropProps,
451
466
  ...props
452
467
  }) => {
453
468
  const theme = (0, import_material3.useTheme)();
454
469
  const mdMatches = (0, import_material3.useMediaQuery)(theme.breakpoints.down("md"));
470
+ const close = () => setOpen(false);
471
+ const bp = BackdropProps != null ? BackdropProps : {};
472
+ const mergedBackdrop = {
473
+ ...bp,
474
+ sx: Array.isArray(bp.sx) ? [defaultBackdropSx, ...bp.sx] : [defaultBackdropSx, bp.sx].filter(Boolean)
475
+ };
455
476
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
456
477
  BootstrapDialog,
457
478
  {
479
+ ...props,
458
480
  fullWidth: true,
459
- onClose: () => setOpen(false),
481
+ onClose: close,
460
482
  open,
461
483
  maxWidth,
462
484
  fullScreen: mdMatches,
485
+ BackdropProps: mergedBackdrop,
463
486
  children: [
464
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(BootstrapDialogTitle, { onClose: () => setOpen(false), children: title }),
465
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material3.DialogContent, { dividers: true, children }),
466
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material3.DialogActions, { children: actions })
487
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(BootstrapDialogTitle, { onClose: close, children: title }),
488
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
489
+ import_material3.DialogContent,
490
+ {
491
+ dividers: true,
492
+ sx: {
493
+ flex: "1 1 auto",
494
+ minHeight: 0,
495
+ overflow: "auto",
496
+ bgcolor: "background.paper"
497
+ },
498
+ children
499
+ }
500
+ ),
501
+ actions != null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
502
+ import_material3.DialogActions,
503
+ {
504
+ sx: {
505
+ flexShrink: 0,
506
+ bgcolor: "background.paper",
507
+ borderTop: (t) => `1px solid ${t.palette.divider}`
508
+ },
509
+ children: actions
510
+ }
511
+ ) : null
467
512
  ]
468
513
  }
469
514
  );
@@ -471,30 +516,30 @@ var FormDialog = ({
471
516
  var FormDialog_default = FormDialog;
472
517
 
473
518
  // src/InputFileUpload.tsx
474
- var import_styles5 = require("@mui/material/styles");
519
+ var import_styles4 = require("@mui/material/styles");
475
520
  var import_material4 = require("@mui/material");
476
521
  var import_icons_material2 = require("@mui/icons-material");
477
522
 
478
523
  // src/glassStyles.ts
479
- var import_styles4 = require("@mui/material/styles");
480
- var glassBorder = (theme) => `1px solid ${(0, import_styles4.alpha)(
524
+ var import_styles3 = require("@mui/material/styles");
525
+ var glassBorder = (theme) => `1px solid ${(0, import_styles3.alpha)(
481
526
  "#FFFFFF",
482
527
  theme.palette.mode === "dark" ? 0.16 : 0.62
483
528
  )}`;
484
529
  var glassSurface = (theme) => ({
485
- background: theme.palette.mode === "dark" ? `linear-gradient(160deg, ${(0, import_styles4.alpha)("#1F2937", 0.78)} 0%, ${(0, import_styles4.alpha)("#111827", 0.68)} 100%)` : `linear-gradient(160deg, ${(0, import_styles4.alpha)("#FFFFFF", 0.88)} 0%, ${(0, import_styles4.alpha)("#F5F9FF", 0.72)} 100%)`,
530
+ background: theme.palette.mode === "dark" ? `linear-gradient(160deg, ${(0, import_styles3.alpha)("#1F2937", 0.78)} 0%, ${(0, import_styles3.alpha)("#111827", 0.68)} 100%)` : `linear-gradient(160deg, ${(0, import_styles3.alpha)("#FFFFFF", 0.88)} 0%, ${(0, import_styles3.alpha)("#F5F9FF", 0.72)} 100%)`,
486
531
  border: glassBorder(theme),
487
532
  backdropFilter: "blur(18px) saturate(155%)",
488
533
  WebkitBackdropFilter: "blur(18px) saturate(155%)",
489
534
  boxShadow: theme.palette.mode === "dark" ? "0 16px 40px rgba(0,0,0,0.34)" : "0 14px 34px rgba(15, 23, 42, 0.12)"
490
535
  });
491
536
  var glassHover = (theme) => ({
492
- background: theme.palette.mode === "dark" ? `linear-gradient(160deg, ${(0, import_styles4.alpha)("#374151", 0.8)} 0%, ${(0, import_styles4.alpha)("#1F2937", 0.74)} 100%)` : `linear-gradient(160deg, ${(0, import_styles4.alpha)("#FFFFFF", 0.97)} 0%, ${(0, import_styles4.alpha)("#EEF5FF", 0.86)} 100%)`
537
+ background: theme.palette.mode === "dark" ? `linear-gradient(160deg, ${(0, import_styles3.alpha)("#374151", 0.8)} 0%, ${(0, import_styles3.alpha)("#1F2937", 0.74)} 100%)` : `linear-gradient(160deg, ${(0, import_styles3.alpha)("#FFFFFF", 0.97)} 0%, ${(0, import_styles3.alpha)("#EEF5FF", 0.86)} 100%)`
493
538
  });
494
539
 
495
540
  // src/InputFileUpload.tsx
496
541
  var import_jsx_runtime5 = require("react/jsx-runtime");
497
- var VisuallyHiddenInput = (0, import_styles5.styled)("input")({
542
+ var VisuallyHiddenInput = (0, import_styles4.styled)("input")({
498
543
  clip: "rect(0 0 0 0)",
499
544
  clipPath: "inset(50%)",
500
545
  height: 1,
@@ -515,7 +560,7 @@ var InputFileUpload = ({
515
560
  disabled = false,
516
561
  fullWidth = false
517
562
  }) => {
518
- const theme = (0, import_styles5.useTheme)();
563
+ const theme = (0, import_styles4.useTheme)();
519
564
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
520
565
  import_material4.Box,
521
566
  {
@@ -536,17 +581,17 @@ var InputFileUpload = ({
536
581
  transition: "box-shadow 0.2s ease, transform 0.2s ease",
537
582
  borderStyle: "dashed",
538
583
  borderWidth: 1,
539
- borderColor: (0, import_styles5.alpha)(
584
+ borderColor: (0, import_styles4.alpha)(
540
585
  t.palette.primary.main,
541
586
  t.palette.mode === "dark" ? 0.35 : 0.28
542
587
  ),
543
588
  "&:hover": !disabled ? {
544
589
  ...glassHover(t),
545
- borderColor: (0, import_styles5.alpha)(t.palette.primary.main, 0.45),
590
+ borderColor: (0, import_styles4.alpha)(t.palette.primary.main, 0.45),
546
591
  boxShadow: t.palette.mode === "dark" ? "0 12px 28px rgba(0,0,0,0.38)" : "0 12px 28px rgba(15, 23, 42, 0.12)"
547
592
  } : void 0,
548
593
  "&:focus-within": {
549
- outline: `2px solid ${(0, import_styles5.alpha)(t.palette.primary.main, 0.45)}`,
594
+ outline: `2px solid ${(0, import_styles4.alpha)(t.palette.primary.main, 0.45)}`,
550
595
  outlineOffset: 2
551
596
  }
552
597
  }),
@@ -563,11 +608,11 @@ var InputFileUpload = ({
563
608
  display: "flex",
564
609
  alignItems: "center",
565
610
  justifyContent: "center",
566
- background: (0, import_styles5.alpha)(
611
+ background: (0, import_styles4.alpha)(
567
612
  theme.palette.primary.main,
568
613
  theme.palette.mode === "dark" ? 0.22 : 0.12
569
614
  ),
570
- border: `1px solid ${(0, import_styles5.alpha)(theme.palette.primary.main, 0.25)}`,
615
+ border: `1px solid ${(0, import_styles4.alpha)(theme.palette.primary.main, 0.25)}`,
571
616
  color: "primary.main"
572
617
  },
573
618
  children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_icons_material2.CloudUpload, { sx: { fontSize: 22 } })
@@ -617,7 +662,7 @@ var InputFileUpload_default = InputFileUpload;
617
662
  // src/ImageUploadAvatar.tsx
618
663
  var import_react2 = require("react");
619
664
  var import_material5 = require("@mui/material");
620
- var import_styles6 = require("@mui/material/styles");
665
+ var import_styles5 = require("@mui/material/styles");
621
666
  var import_icons_material3 = require("@mui/icons-material");
622
667
  var import_jsx_runtime6 = require("react/jsx-runtime");
623
668
  var DEFAULT_ACCEPT = "image/jpeg,image/png,image/gif,image/webp,image/avif,image/bmp,image/svg+xml,image/heic,image/heif";
@@ -631,7 +676,7 @@ function isValidImageFile(file) {
631
676
  }
632
677
  return false;
633
678
  }
634
- var HiddenInput = (0, import_styles6.styled)("input")({
679
+ var HiddenInput = (0, import_styles5.styled)("input")({
635
680
  position: "absolute",
636
681
  width: 1,
637
682
  height: 1,
@@ -641,7 +686,7 @@ var HiddenInput = (0, import_styles6.styled)("input")({
641
686
  clip: "rect(0 0 0 0)",
642
687
  border: 0
643
688
  });
644
- var Wrapper = (0, import_styles6.styled)(import_material5.Box, {
689
+ var Wrapper = (0, import_styles5.styled)(import_material5.Box, {
645
690
  shouldForwardProp: (prop) => prop !== "variant" && prop !== "size"
646
691
  })(({ theme, size, variant }) => ({
647
692
  position: "relative",
@@ -649,20 +694,20 @@ var Wrapper = (0, import_styles6.styled)(import_material5.Box, {
649
694
  height: size,
650
695
  borderRadius: variant === "circular" ? "50%" : variant === "rounded" ? theme.shape.borderRadius * 2 : 0,
651
696
  ...glassSurface(theme),
652
- border: `1px dashed ${(0, import_styles6.alpha)(theme.palette.primary.main, 0.28)}`,
697
+ border: `1px dashed ${(0, import_styles5.alpha)(theme.palette.primary.main, 0.28)}`,
653
698
  overflow: "hidden",
654
699
  cursor: "pointer",
655
700
  display: "flex",
656
701
  alignItems: "center",
657
702
  justifyContent: "center"
658
703
  }));
659
- var PreviewImg = (0, import_styles6.styled)("img")({
704
+ var PreviewImg = (0, import_styles5.styled)("img")({
660
705
  width: "100%",
661
706
  height: "100%",
662
707
  objectFit: "cover",
663
708
  display: "block"
664
709
  });
665
- var Overlay = (0, import_styles6.styled)(import_material5.Box)(({ theme }) => ({
710
+ var Overlay = (0, import_styles5.styled)(import_material5.Box)(({ theme }) => ({
666
711
  position: "absolute",
667
712
  inset: 0,
668
713
  display: "flex",
@@ -684,14 +729,14 @@ var Overlay = (0, import_styles6.styled)(import_material5.Box)(({ theme }) => ({
684
729
  "& .uploadIcon": { opacity: 1, transform: "scale(1)" }
685
730
  }
686
731
  }));
687
- var ClearButton = (0, import_styles6.styled)(import_material5.IconButton)(({ theme }) => ({
732
+ var ClearButton = (0, import_styles5.styled)(import_material5.IconButton)(({ theme }) => ({
688
733
  position: "absolute",
689
734
  top: -8,
690
735
  right: -8,
691
736
  ...glassSurface(theme),
692
737
  boxShadow: theme.shadows[2],
693
738
  "&:hover": {
694
- background: (0, import_styles6.alpha)(theme.palette.background.paper, 0.9)
739
+ background: (0, import_styles5.alpha)(theme.palette.background.paper, 0.9)
695
740
  }
696
741
  }));
697
742
  var ImageUploadAvatar = ({
@@ -776,7 +821,7 @@ var ImageUploadAvatar_default = ImageUploadAvatar;
776
821
  // src/FormSnackBar.tsx
777
822
  var import_react3 = require("react");
778
823
  var import_material6 = require("@mui/material");
779
- var import_styles7 = require("@mui/material/styles");
824
+ var import_styles6 = require("@mui/material/styles");
780
825
  var import_Close = __toESM(require("@mui/icons-material/Close"));
781
826
  var import_common_library = require("@verma-consulting/common-library");
782
827
  var import_jsx_runtime7 = require("react/jsx-runtime");
@@ -805,7 +850,7 @@ var FormSnackBar = ({
805
850
  autoHideDuration = 3500
806
851
  }) => {
807
852
  var _a2, _b;
808
- const theme = (0, import_styles7.useTheme)();
853
+ const theme = (0, import_styles6.useTheme)();
809
854
  const [queue, setQueue] = (0, import_react3.useState)([]);
810
855
  const idRef = (0, import_react3.useRef)(0);
811
856
  const prevOpenRef = (0, import_react3.useRef)(!!(snackBar == null ? void 0 : snackBar.open));
@@ -850,7 +895,7 @@ var FormSnackBar = ({
850
895
  const typeStyles = (severity2) => {
851
896
  const baseHex = severity2 === "success" ? DULL_SNACKBAR_COLORS.success : severity2 === "error" ? DULL_SNACKBAR_COLORS.error : severity2 === "warning" ? DULL_SNACKBAR_COLORS.warning : DULL_SNACKBAR_COLORS.info;
852
897
  return {
853
- bg: theme.palette.mode === "dark" ? (0, import_styles7.alpha)(baseHex, 0.34) : (0, import_styles7.alpha)(baseHex, 0.24),
898
+ bg: theme.palette.mode === "dark" ? (0, import_styles6.alpha)(baseHex, 0.34) : (0, import_styles6.alpha)(baseHex, 0.24),
854
899
  text: theme.palette.mode === "dark" ? "rgba(255,255,255,0.94)" : baseHex,
855
900
  icon: baseHex
856
901
  };
@@ -891,7 +936,7 @@ var FormSnackBar = ({
891
936
  color: colors.text,
892
937
  backdropFilter: "blur(14px) saturate(150%)",
893
938
  WebkitBackdropFilter: "blur(14px) saturate(150%)",
894
- border: `1px solid ${(0, import_styles7.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
939
+ border: `1px solid ${(0, import_styles6.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
895
940
  "& .MuiAlert-icon": {
896
941
  color: colors.icon
897
942
  },
@@ -923,10 +968,10 @@ var FormSnackBar_default = FormSnackBar;
923
968
 
924
969
  // src/Loader.tsx
925
970
  var import_material7 = require("@mui/material");
926
- var import_styles8 = require("@mui/styles");
927
- var import_styles9 = require("@mui/material/styles");
971
+ var import_styles7 = require("@mui/styles");
972
+ var import_styles8 = require("@mui/material/styles");
928
973
  var import_jsx_runtime8 = require("react/jsx-runtime");
929
- var useStyles = (0, import_styles8.makeStyles)({
974
+ var useStyles = (0, import_styles7.makeStyles)({
930
975
  "@keyframes pulse": {
931
976
  "0%": { transform: "scale(1)", opacity: 0.9 },
932
977
  "50%": { transform: "scale(1.05)", opacity: 1 },
@@ -958,7 +1003,7 @@ var Loader = ({ size = 48, color = "primary" }) => {
958
1003
  p: 1,
959
1004
  borderRadius: "50%",
960
1005
  backgroundColor: "transparent",
961
- border: (theme) => `1px solid ${(0, import_styles9.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.14 : 0.56)}`,
1006
+ border: (theme) => `1px solid ${(0, import_styles8.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.14 : 0.56)}`,
962
1007
  boxShadow: (theme) => theme.palette.mode === "dark" ? "0 10px 24px rgba(0,0,0,0.32)" : "0 10px 20px rgba(15,23,42,0.14)"
963
1008
  }
964
1009
  }
@@ -1066,7 +1111,7 @@ var EmptyState_default = EmptyState;
1066
1111
 
1067
1112
  // src/Pill.tsx
1068
1113
  var import_material10 = require("@mui/material");
1069
- var import_styles10 = require("@mui/material/styles");
1114
+ var import_styles9 = require("@mui/material/styles");
1070
1115
  var import_jsx_runtime11 = require("react/jsx-runtime");
1071
1116
  var Pill = ({
1072
1117
  variant = "filter",
@@ -1078,7 +1123,7 @@ var Pill = ({
1078
1123
  label = "",
1079
1124
  disabled = false
1080
1125
  }) => {
1081
- const theme = (0, import_styles10.useTheme)();
1126
+ const theme = (0, import_styles9.useTheme)();
1082
1127
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1083
1128
  import_material10.Button,
1084
1129
  {
@@ -1090,10 +1135,10 @@ var Pill = ({
1090
1135
  padding: "8px 16px",
1091
1136
  minHeight: 38,
1092
1137
  textTransform: "none",
1093
- borderColor: isSelected ? (0, import_styles10.alpha)(theme.palette.primary.main, 0.34) : (0, import_styles10.alpha)(theme.palette.text.primary, 0.18),
1138
+ borderColor: isSelected ? (0, import_styles9.alpha)(theme.palette.primary.main, 0.34) : (0, import_styles9.alpha)(theme.palette.text.primary, 0.18),
1094
1139
  color: isSelected ? "primary.main" : "text.primary",
1095
1140
  "&:hover": {
1096
- borderColor: (0, import_styles10.alpha)(theme.palette.primary.main, 0.42),
1141
+ borderColor: (0, import_styles9.alpha)(theme.palette.primary.main, 0.42),
1097
1142
  boxShadow: theme.palette.mode === "dark" ? "0 10px 22px rgba(0,0,0,0.34)" : "0 10px 20px rgba(15,23,42,0.14)"
1098
1143
  }
1099
1144
  },
@@ -1128,10 +1173,10 @@ var Pill = ({
1128
1173
  var Pill_default = Pill;
1129
1174
 
1130
1175
  // src/IOSSwitch.tsx
1131
- var import_styles11 = require("@mui/material/styles");
1176
+ var import_styles10 = require("@mui/material/styles");
1132
1177
  var import_Switch = __toESM(require("@mui/material/Switch"));
1133
1178
  var import_jsx_runtime12 = require("react/jsx-runtime");
1134
- var IOSSwitch = (0, import_styles11.styled)((props) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_Switch.default, { focusVisibleClassName: ".Mui-focusVisible", disableRipple: true, ...props }))(({ theme }) => ({
1179
+ var IOSSwitch = (0, import_styles10.styled)((props) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_Switch.default, { focusVisibleClassName: ".Mui-focusVisible", disableRipple: true, ...props }))(({ theme }) => ({
1135
1180
  width: 46,
1136
1181
  height: 30,
1137
1182
  padding: 0,
@@ -1143,7 +1188,7 @@ var IOSSwitch = (0, import_styles11.styled)((props) => /* @__PURE__ */ (0, impor
1143
1188
  transform: "translateX(16px)",
1144
1189
  color: "#fff",
1145
1190
  "& + .MuiSwitch-track": {
1146
- background: `linear-gradient(120deg, ${(0, import_styles11.alpha)(theme.palette.primary.light, 0.92)} 0%, ${(0, import_styles11.alpha)(theme.palette.primary.main, 0.94)} 100%)`,
1191
+ background: `linear-gradient(120deg, ${(0, import_styles10.alpha)(theme.palette.primary.light, 0.92)} 0%, ${(0, import_styles10.alpha)(theme.palette.primary.main, 0.94)} 100%)`,
1147
1192
  opacity: 1,
1148
1193
  border: 0
1149
1194
  },
@@ -1171,7 +1216,7 @@ var IOSSwitch = (0, import_styles11.styled)((props) => /* @__PURE__ */ (0, impor
1171
1216
  "& .MuiSwitch-track": {
1172
1217
  borderRadius: 16,
1173
1218
  background: theme.palette.mode === "light" ? "linear-gradient(120deg, rgba(245,248,255,0.92) 0%, rgba(224,232,245,0.92) 100%)" : "linear-gradient(120deg, rgba(55,65,81,0.74) 0%, rgba(31,41,55,0.8) 100%)",
1174
- border: `1px solid ${(0, import_styles11.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.56)}`,
1219
+ border: `1px solid ${(0, import_styles10.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.56)}`,
1175
1220
  backdropFilter: "blur(10px) saturate(145%)",
1176
1221
  WebkitBackdropFilter: "blur(10px) saturate(145%)",
1177
1222
  opacity: 1,
@@ -1184,7 +1229,7 @@ var IOSSwitch_default = IOSSwitch;
1184
1229
 
1185
1230
  // src/StatusPill.tsx
1186
1231
  var import_material11 = require("@mui/material");
1187
- var import_styles12 = require("@mui/material/styles");
1232
+ var import_styles11 = require("@mui/material/styles");
1188
1233
  var import_common_library2 = require("@verma-consulting/common-library");
1189
1234
  var import_jsx_runtime13 = require("react/jsx-runtime");
1190
1235
  var statusColorMap = {
@@ -1195,7 +1240,7 @@ var statusColorMap = {
1195
1240
  };
1196
1241
  var StatusPill = ({ status }) => {
1197
1242
  var _a2, _b, _c;
1198
- const theme = (0, import_styles12.useTheme)();
1243
+ const theme = (0, import_styles11.useTheme)();
1199
1244
  return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1200
1245
  import_material11.Chip,
1201
1246
  {
@@ -1209,11 +1254,11 @@ var StatusPill = ({ status }) => {
1209
1254
  px: 1.25,
1210
1255
  letterSpacing: "0.01em",
1211
1256
  color: (_a2 = statusColorMap[status]) != null ? _a2 : theme.palette.text.primary,
1212
- backgroundColor: (0, import_styles12.alpha)(
1257
+ backgroundColor: (0, import_styles11.alpha)(
1213
1258
  (_b = statusColorMap[status]) != null ? _b : theme.palette.text.primary,
1214
1259
  theme.palette.mode === "dark" ? 0.24 : 0.12
1215
1260
  ),
1216
- borderColor: (0, import_styles12.alpha)(
1261
+ borderColor: (0, import_styles11.alpha)(
1217
1262
  (_c = statusColorMap[status]) != null ? _c : theme.palette.text.primary,
1218
1263
  theme.palette.mode === "dark" ? 0.36 : 0.28
1219
1264
  ),
@@ -1279,17 +1324,17 @@ var FormPopover_default = FormPopover;
1279
1324
  // src/SearchableSelect.tsx
1280
1325
  var import_react6 = __toESM(require("react"));
1281
1326
  var import_material13 = require("@mui/material");
1282
- var import_styles13 = require("@mui/material/styles");
1327
+ var import_styles12 = require("@mui/material/styles");
1283
1328
  var import_icons_material6 = require("@mui/icons-material");
1284
- var import_styles14 = require("@mui/styles");
1329
+ var import_styles13 = require("@mui/styles");
1285
1330
  var import_jsx_runtime15 = require("react/jsx-runtime");
1286
- var useStyles2 = (0, import_styles14.makeStyles)((theme) => ({
1331
+ var useStyles2 = (0, import_styles13.makeStyles)((theme) => ({
1287
1332
  defaultMode: {
1288
1333
  margin: "4px",
1289
1334
  padding: "14px 8px",
1290
1335
  cursor: "pointer",
1291
1336
  borderRadius: 8,
1292
- border: `1px solid ${(0, import_styles13.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
1337
+ border: `1px solid ${(0, import_styles12.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
1293
1338
  backdropFilter: "blur(14px) saturate(150%)",
1294
1339
  background: theme.palette.mode === "dark" ? "linear-gradient(160deg, rgba(31,41,55,0.78), rgba(17,24,39,0.68))" : "linear-gradient(160deg, rgba(255,255,255,0.9), rgba(245,249,255,0.72))",
1295
1340
  "&:hover": {
@@ -1319,7 +1364,7 @@ var SearchableSelect = import_react6.default.memo(
1319
1364
  defaultEditMode = false,
1320
1365
  multiple = false
1321
1366
  }) => {
1322
- const theme = (0, import_styles13.useTheme)();
1367
+ const theme = (0, import_styles12.useTheme)();
1323
1368
  const classes = useStyles2();
1324
1369
  const wrapperRef = (0, import_react6.useRef)(null);
1325
1370
  const inputRef = (0, import_react6.useRef)(null);
@@ -1435,17 +1480,17 @@ var SearchableSelect = import_react6.default.memo(
1435
1480
  sx: {
1436
1481
  background: glassBackground,
1437
1482
  backdropFilter: "blur(12px) saturate(150%)",
1438
- border: `1px solid ${(0, import_styles13.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
1483
+ border: `1px solid ${(0, import_styles12.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
1439
1484
  boxShadow: theme.palette.mode === "dark" ? "rgba(0, 0, 0, 0.34) 0px 10px 26px" : "rgba(15, 23, 42, 0.16) 0px 8px 24px",
1440
1485
  "& .MuiAutocomplete-option": {
1441
1486
  "&[aria-selected='true']": {
1442
- backgroundColor: (0, import_styles13.alpha)(
1487
+ backgroundColor: (0, import_styles12.alpha)(
1443
1488
  theme.palette.primary.main,
1444
1489
  theme.palette.mode === "dark" ? 0.28 : 0.14
1445
1490
  )
1446
1491
  },
1447
1492
  "&.Mui-focused": {
1448
- backgroundColor: (0, import_styles13.alpha)(
1493
+ backgroundColor: (0, import_styles12.alpha)(
1449
1494
  theme.palette.primary.main,
1450
1495
  theme.palette.mode === "dark" ? 0.2 : 0.1
1451
1496
  )
@@ -1481,7 +1526,7 @@ var SearchableSelect = import_react6.default.memo(
1481
1526
  WebkitTextFillColor: "currentColor"
1482
1527
  },
1483
1528
  "& .MuiOutlinedInput-notchedOutline": {
1484
- borderColor: (0, import_styles13.alpha)(
1529
+ borderColor: (0, import_styles12.alpha)(
1485
1530
  "#FFFFFF",
1486
1531
  theme.palette.mode === "dark" ? 0.18 : 0.6
1487
1532
  )
@@ -1550,7 +1595,7 @@ var SearchableSelect_default = SearchableSelect;
1550
1595
 
1551
1596
  // src/FormDrawer.tsx
1552
1597
  var import_material14 = require("@mui/material");
1553
- var import_styles15 = require("@mui/material/styles");
1598
+ var import_styles14 = require("@mui/material/styles");
1554
1599
  var import_icons_material7 = require("@mui/icons-material");
1555
1600
  var import_jsx_runtime16 = require("react/jsx-runtime");
1556
1601
  var FormDrawer = ({
@@ -1558,67 +1603,106 @@ var FormDrawer = ({
1558
1603
  setOpen,
1559
1604
  title,
1560
1605
  actions,
1561
- children
1606
+ children,
1607
+ BackdropProps,
1608
+ sx,
1609
+ ...props
1562
1610
  }) => {
1563
1611
  const theme = (0, import_material14.useTheme)();
1564
1612
  const mdMatches = (0, import_material14.useMediaQuery)(theme.breakpoints.down("md"));
1613
+ const close = () => setOpen(false);
1614
+ const defaultBackdropSx2 = {
1615
+ backgroundColor: (t) => (0, import_styles14.alpha)(t.palette.common.black, t.palette.mode === "dark" ? 0.52 : 0.28),
1616
+ backdropFilter: "saturate(150%) blur(10px)",
1617
+ WebkitBackdropFilter: "saturate(150%) blur(10px)"
1618
+ };
1619
+ const bp = BackdropProps != null ? BackdropProps : {};
1620
+ const mergedBackdrop = {
1621
+ ...bp,
1622
+ sx: Array.isArray(bp.sx) ? [defaultBackdropSx2, ...bp.sx] : [defaultBackdropSx2, bp.sx].filter(Boolean)
1623
+ };
1565
1624
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1566
1625
  import_material14.Drawer,
1567
1626
  {
1627
+ ...props,
1568
1628
  anchor: mdMatches ? "bottom" : "right",
1569
1629
  open,
1570
- onClose: () => setOpen(false),
1571
- sx: {
1572
- "& .MuiDrawer-paper": {
1573
- width: mdMatches ? "100%" : "72%",
1574
- height: "100%",
1575
- display: "flex",
1576
- flexDirection: "column",
1577
- borderRadius: mdMatches ? 0 : "24px 0 0 24px"
1578
- }
1579
- },
1630
+ onClose: close,
1631
+ BackdropProps: mergedBackdrop,
1632
+ sx: [
1633
+ {
1634
+ "& .MuiDrawer-paper": {
1635
+ width: mdMatches ? "100%" : "78%",
1636
+ maxWidth: "100%",
1637
+ height: mdMatches ? "100%" : "100%",
1638
+ maxHeight: mdMatches ? "100%" : "100%",
1639
+ display: "flex",
1640
+ flexDirection: "column",
1641
+ borderRadius: mdMatches ? 0 : "24px 0 0 24px",
1642
+ overflow: "hidden",
1643
+ bgcolor: "background.paper"
1644
+ }
1645
+ },
1646
+ ...Array.isArray(sx) ? sx : sx ? [sx] : []
1647
+ ],
1580
1648
  children: [
1581
1649
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1582
1650
  import_material14.Box,
1583
1651
  {
1584
- p: 3,
1585
- borderBottom: `1px solid ${(0, import_styles15.alpha)(theme.palette.divider, 0.36)}`,
1652
+ sx: {
1653
+ position: "relative",
1654
+ flexShrink: 0,
1655
+ p: 3,
1656
+ borderBottom: (t) => `1px solid ${(0, import_styles14.alpha)(t.palette.divider, 0.36)}`,
1657
+ bgcolor: "background.paper"
1658
+ },
1586
1659
  children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_material14.Grid, { container: true, children: [
1587
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material14.Grid, { item: true, children: title && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material14.Typography, { variant: "h6", fontWeight: "bold", children: title }) }),
1660
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material14.Grid, { item: true, children: title ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material14.Typography, { variant: "h6", fontWeight: "bold", component: "div", children: title }) : null }),
1588
1661
  /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material14.Grid, { item: true, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1589
1662
  import_material14.IconButton,
1590
1663
  {
1591
1664
  size: "medium",
1592
- onClick: () => setOpen(false),
1665
+ onClick: close,
1593
1666
  sx: {
1594
1667
  position: "absolute",
1595
1668
  top: 8,
1596
1669
  right: 8,
1597
1670
  zIndex: 2,
1598
- backgroundColor: (0, import_styles15.alpha)(theme.palette.background.paper, 0.46)
1671
+ bgcolor: "background.paper",
1672
+ boxShadow: 1
1599
1673
  },
1674
+ "aria-label": "Close",
1600
1675
  children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_icons_material7.Close, { fontSize: "inherit" })
1601
1676
  }
1602
1677
  ) })
1603
1678
  ] })
1604
1679
  }
1605
1680
  ),
1606
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material14.Box, { flex: 1, overflow: "auto", p: 3, children }),
1607
- actions && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1681
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1682
+ import_material14.Box,
1683
+ {
1684
+ sx: {
1685
+ flex: 1,
1686
+ minHeight: 0,
1687
+ overflow: "auto",
1688
+ p: 3,
1689
+ bgcolor: "background.paper"
1690
+ },
1691
+ children
1692
+ }
1693
+ ),
1694
+ actions != null ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1608
1695
  import_material14.Box,
1609
1696
  {
1610
- p: 2,
1611
- borderTop: `1px solid ${(0, import_styles15.alpha)(theme.palette.divider, 0.36)}`,
1612
1697
  sx: {
1613
- position: "sticky",
1614
- bottom: 0,
1615
- zIndex: 1,
1616
- backgroundColor: (0, import_styles15.alpha)(theme.palette.background.paper, 0.38),
1617
- backdropFilter: "blur(10px)"
1698
+ flexShrink: 0,
1699
+ p: 2,
1700
+ borderTop: (t) => `1px solid ${(0, import_styles14.alpha)(t.palette.divider, 0.36)}`,
1701
+ bgcolor: "background.paper"
1618
1702
  },
1619
1703
  children: actions
1620
1704
  }
1621
- )
1705
+ ) : null
1622
1706
  ]
1623
1707
  }
1624
1708
  );
@@ -1629,7 +1713,7 @@ var FormDrawer_default = FormDrawer;
1629
1713
  var import_react7 = require("react");
1630
1714
  var import_material15 = require("@mui/material");
1631
1715
  var import_Autocomplete = require("@mui/material/Autocomplete");
1632
- var import_styles16 = require("@mui/material/styles");
1716
+ var import_styles15 = require("@mui/material/styles");
1633
1717
  var import_common_library3 = require("@verma-consulting/common-library");
1634
1718
  var import_jsx_runtime17 = require("react/jsx-runtime");
1635
1719
  var import_react8 = require("react");
@@ -1671,9 +1755,7 @@ function parsePhoneValue(raw, countries, defaultCountry) {
1671
1755
  }
1672
1756
  const digitsOnly = mainPart.replace(/\D/g, "");
1673
1757
  if (!digitsOnly) return { dial: "", local: "", extension: ext };
1674
- const sorted = [...countries].sort(
1675
- (a, b) => b.phone.length - a.phone.length
1676
- );
1758
+ const sorted = [...countries].sort((a, b) => b.phone.length - a.phone.length);
1677
1759
  if (mainPart.trim().startsWith("+")) {
1678
1760
  const found2 = sorted.find((c) => digitsOnly.startsWith(c.phone));
1679
1761
  if (found2) {
@@ -1759,7 +1841,10 @@ var PhoneNumberField = ({
1759
1841
  size = "small",
1760
1842
  disabled = false,
1761
1843
  autoFocus = false,
1762
- onBlur
1844
+ onBlur,
1845
+ error = false,
1846
+ helperText,
1847
+ onKeyDown
1763
1848
  }) => {
1764
1849
  var _a2, _b;
1765
1850
  const theme = (0, import_material15.useTheme)();
@@ -1768,7 +1853,7 @@ var PhoneNumberField = ({
1768
1853
  const glassInputSx = {
1769
1854
  backdropFilter: "blur(10px) saturate(150%)",
1770
1855
  "& .MuiOutlinedInput-notchedOutline": {
1771
- borderColor: (0, import_styles16.alpha)(
1856
+ borderColor: (0, import_styles15.alpha)(
1772
1857
  "#FFFFFF",
1773
1858
  theme.palette.mode === "dark" ? 0.16 : 0.58
1774
1859
  )
@@ -1831,9 +1916,7 @@ var PhoneNumberField = ({
1831
1916
  }
1832
1917
  setLocalNumber(mainDigits);
1833
1918
  setExtension(extDigits);
1834
- setBareExtensionX(
1835
- /[xX]/.test(raw) && extDigits.length === 0
1836
- );
1919
+ setBareExtensionX(/[xX]/.test(raw) && extDigits.length === 0);
1837
1920
  };
1838
1921
  const dialForDisplay = (_b = (_a2 = countries.find((c) => c.code === country)) == null ? void 0 : _a2.phone) != null ? _b : "";
1839
1922
  const displayLocal = formatLineDisplay(dialForDisplay, localNumber, extension) + (bareExtensionX ? localNumber ? " x" : "x" : "");
@@ -1900,9 +1983,9 @@ var PhoneNumberField = ({
1900
1983
  },
1901
1984
  onClose: () => setSelectOpen(false),
1902
1985
  sx: {
1903
- width: smMatches ? 64 : 108,
1904
- minWidth: smMatches ? 64 : 108,
1905
- maxWidth: smMatches ? 64 : 108,
1986
+ width: smMatches ? 56 : 96,
1987
+ minWidth: smMatches ? 56 : 96,
1988
+ maxWidth: smMatches ? 56 : 96,
1906
1989
  flexShrink: 0,
1907
1990
  "& .MuiOutlinedInput-root": {
1908
1991
  borderTopRightRadius: 0,
@@ -1948,6 +2031,9 @@ var PhoneNumberField = ({
1948
2031
  value: displayLocal,
1949
2032
  onChange: handleLocalChange,
1950
2033
  placeholder: "415-555-0100 x123",
2034
+ error,
2035
+ helperText,
2036
+ onKeyDown,
1951
2037
  inputProps: {
1952
2038
  inputMode: "text",
1953
2039
  autoComplete: "tel-national",
@@ -1977,12 +2063,12 @@ var PhoneNumberField_default = PhoneNumberField;
1977
2063
  // src/CountrySelect.tsx
1978
2064
  var import_react9 = require("react");
1979
2065
  var import_material16 = require("@mui/material");
1980
- var import_styles17 = require("@mui/material/styles");
1981
- var import_styles18 = require("@mui/styles");
2066
+ var import_styles16 = require("@mui/material/styles");
2067
+ var import_styles17 = require("@mui/styles");
1982
2068
  var import_common_library4 = require("@verma-consulting/common-library");
1983
2069
  var import_jsx_runtime18 = require("react/jsx-runtime");
1984
2070
  var import_react10 = require("react");
1985
- var useStyles3 = (0, import_styles18.makeStyles)((theme) => ({
2071
+ var useStyles3 = (0, import_styles17.makeStyles)((theme) => ({
1986
2072
  defaultMode: {
1987
2073
  margin: "4px",
1988
2074
  paddingTop: 14,
@@ -1991,7 +2077,7 @@ var useStyles3 = (0, import_styles18.makeStyles)((theme) => ({
1991
2077
  paddingRight: 8,
1992
2078
  cursor: "pointer",
1993
2079
  borderRadius: 8,
1994
- border: `1px solid ${(0, import_styles17.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
2080
+ border: `1px solid ${(0, import_styles16.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
1995
2081
  backdropFilter: "blur(14px) saturate(150%)",
1996
2082
  background: theme.palette.mode === "dark" ? "linear-gradient(160deg, rgba(31,41,55,0.78), rgba(17,24,39,0.68))" : "linear-gradient(160deg, rgba(255,255,255,0.9), rgba(245,249,255,0.72))",
1997
2083
  "&:hover": {
@@ -2016,7 +2102,7 @@ var CountrySelect = ({
2016
2102
  disabled = false,
2017
2103
  style = {}
2018
2104
  }) => {
2019
- const theme = (0, import_styles17.useTheme)();
2105
+ const theme = (0, import_styles16.useTheme)();
2020
2106
  const classes = useStyles3();
2021
2107
  const [editMode, setEditMode] = (0, import_react9.useState)(false);
2022
2108
  const glassBackground = theme.palette.mode === "dark" ? "linear-gradient(160deg, rgba(31,41,55,0.78), rgba(17,24,39,0.68))" : "linear-gradient(160deg, rgba(255,255,255,0.9), rgba(245,249,255,0.72))";
@@ -2084,17 +2170,17 @@ var CountrySelect = ({
2084
2170
  sx: {
2085
2171
  background: glassBackground,
2086
2172
  backdropFilter: "blur(12px) saturate(150%)",
2087
- border: `1px solid ${(0, import_styles17.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
2173
+ border: `1px solid ${(0, import_styles16.alpha)("#FFFFFF", theme.palette.mode === "dark" ? 0.16 : 0.55)}`,
2088
2174
  boxShadow: theme.palette.mode === "dark" ? "rgba(0, 0, 0, 0.34) 0px 10px 26px" : "rgba(15, 23, 42, 0.16) 0px 8px 24px",
2089
2175
  "& .MuiAutocomplete-option": {
2090
2176
  "&[aria-selected='true']": {
2091
- backgroundColor: (0, import_styles17.alpha)(
2177
+ backgroundColor: (0, import_styles16.alpha)(
2092
2178
  theme.palette.primary.main,
2093
2179
  theme.palette.mode === "dark" ? 0.28 : 0.14
2094
2180
  )
2095
2181
  },
2096
2182
  "&.Mui-focused": {
2097
- backgroundColor: (0, import_styles17.alpha)(
2183
+ backgroundColor: (0, import_styles16.alpha)(
2098
2184
  theme.palette.primary.main,
2099
2185
  theme.palette.mode === "dark" ? 0.2 : 0.1
2100
2186
  )
@@ -2158,7 +2244,7 @@ var CountrySelect = ({
2158
2244
  WebkitTextFillColor: "currentColor"
2159
2245
  },
2160
2246
  "& .MuiOutlinedInput-notchedOutline": {
2161
- borderColor: (0, import_styles17.alpha)(
2247
+ borderColor: (0, import_styles16.alpha)(
2162
2248
  "#FFFFFF",
2163
2249
  theme.palette.mode === "dark" ? 0.18 : 0.6
2164
2250
  )