@undefine-ui/design-system 2.10.0 → 2.11.0

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
@@ -4348,7 +4348,7 @@ var MuiTextField = {
4348
4348
  lineHeight: 1.153,
4349
4349
  position: "relative",
4350
4350
  fontSize: theme.typography.h8.fontSize,
4351
- fontWeight: theme.typography.fontWeightMedium,
4351
+ fontWeight: `${theme.typography.fontWeightMedium} !important`,
4352
4352
  marginBottom: theme.spacing(1),
4353
4353
  color: `${theme.vars.palette.icon.black} !important`,
4354
4354
  // Focused state
@@ -4425,9 +4425,6 @@ var MuiTextField = {
4425
4425
  height: 20,
4426
4426
  color: theme.vars.palette.icon.black
4427
4427
  },
4428
- [`& .${inputBaseClasses.input}`]: {
4429
- paddingLeft: 0
4430
- },
4431
4428
  [`& .${inputAdornmentClasses.sizeSmall}`]: {
4432
4429
  svg: { width: 16, height: 16 }
4433
4430
  },
@@ -6709,22 +6706,223 @@ var RHFUpload = ({ name, multiple, helperText, ...rest }) => {
6709
6706
  );
6710
6707
  };
6711
6708
 
6712
- // src/components/HookForm/RHFTextField.tsx
6709
+ // src/components/HookForm/RHFOTPInput.tsx
6713
6710
  import { Controller as Controller3, useFormContext as useFormContext3 } from "react-hook-form";
6711
+
6712
+ // src/components/OTPInput/index.tsx
6713
+ import { useRef as useRef4, useState as useState8 } from "react";
6714
+ import { useTheme as useTheme2 } from "@mui/material/styles";
6715
+ import Box13 from "@mui/material/Box";
6716
+ import FormHelperText3 from "@mui/material/FormHelperText";
6717
+ import { inputBaseClasses as inputBaseClasses3 } from "@mui/material/InputBase";
6718
+ import TextField from "@mui/material/TextField";
6719
+ import { Fragment, jsx as jsx53, jsxs as jsxs30 } from "react/jsx-runtime";
6720
+ var OTPInput = (props) => {
6721
+ const { length = 6, onChange, onComplete, error: error2, helperText, containerProps, ...rest } = props;
6722
+ const theme = useTheme2();
6723
+ const [otp, setOtp] = useState8(Array(length).fill(""));
6724
+ const inputsRef = useRef4([]);
6725
+ const handleChange = (value, index) => {
6726
+ if (!/^[0-9]$/.test(value) && value !== "") return;
6727
+ const newOtp = [...otp];
6728
+ newOtp[index] = value;
6729
+ setOtp(newOtp);
6730
+ onChange?.(newOtp.join(""));
6731
+ if (value && index < length - 1) {
6732
+ inputsRef.current[index + 1]?.focus();
6733
+ }
6734
+ if (newOtp.every((val) => val !== "")) {
6735
+ onComplete?.(newOtp.join(""));
6736
+ }
6737
+ };
6738
+ const handleKeyDown = (event, index) => {
6739
+ if (event.key === "Backspace") {
6740
+ if (otp[index] === "") {
6741
+ if (index > 0) {
6742
+ inputsRef.current[index - 1]?.focus();
6743
+ setOtp((prevOtp) => {
6744
+ const newOtp = [...prevOtp];
6745
+ newOtp[index - 1] = "";
6746
+ return newOtp;
6747
+ });
6748
+ }
6749
+ } else {
6750
+ setOtp((prevOtp) => {
6751
+ const newOtp = [...prevOtp];
6752
+ newOtp[index] = "";
6753
+ return newOtp;
6754
+ });
6755
+ }
6756
+ } else if (event.key === "ArrowLeft" || event.key === "ArrowUp") {
6757
+ if (index > 0) {
6758
+ inputsRef.current[index - 1]?.focus();
6759
+ }
6760
+ } else if (event.key === "ArrowRight" || event.key === "ArrowDown") {
6761
+ if (index < length - 1) {
6762
+ inputsRef.current[index + 1]?.focus();
6763
+ }
6764
+ }
6765
+ };
6766
+ const handlePaste = (event) => {
6767
+ event.preventDefault();
6768
+ const pasteData = event.clipboardData.getData("text");
6769
+ if (!/^\d+$/.test(pasteData)) return;
6770
+ const newOtp = [...otp];
6771
+ for (let i = 0; i < length; i++) {
6772
+ if (pasteData[i]) {
6773
+ newOtp[i] = pasteData[i];
6774
+ } else {
6775
+ newOtp[i] = "";
6776
+ }
6777
+ }
6778
+ setOtp(newOtp);
6779
+ onChange?.(newOtp.join(""));
6780
+ const filled = newOtp.filter((otp2) => otp2 !== "");
6781
+ inputsRef.current[filled.length]?.focus();
6782
+ if (newOtp.every((val) => val !== "")) {
6783
+ inputsRef.current[filled.length - 1]?.focus();
6784
+ onComplete?.(newOtp.join(""));
6785
+ }
6786
+ };
6787
+ return /* @__PURE__ */ jsxs30(Fragment, { children: [
6788
+ /* @__PURE__ */ jsx53(Box13, { display: "flex", justifyContent: "center", ...containerProps, children: otp.map((_, index) => /* @__PURE__ */ jsx53(
6789
+ Box13,
6790
+ {
6791
+ display: "flex",
6792
+ alignItems: "center",
6793
+ sx: {
6794
+ "&:not(:last-of-type)": {
6795
+ mr: 1.5
6796
+ }
6797
+ },
6798
+ children: /* @__PURE__ */ jsx53(
6799
+ TextField,
6800
+ {
6801
+ size: "medium",
6802
+ value: otp[index],
6803
+ onChange: (e) => handleChange(e.target.value, index),
6804
+ onKeyDown: (e) => handleKeyDown(e, index),
6805
+ onPaste: handlePaste,
6806
+ inputRef: (el) => inputsRef.current[index] = el,
6807
+ error: error2,
6808
+ slotProps: {
6809
+ htmlInput: {
6810
+ maxLength: 1,
6811
+ inputMode: "numeric",
6812
+ autoComplete: "one-time-code"
6813
+ }
6814
+ },
6815
+ sx: {
6816
+ [`& .${inputBaseClasses3.root}`]: {
6817
+ borderRadius: theme.radius["radius-lg"],
6818
+ backgroundColor: "transparent",
6819
+ border: `1px solid ${theme.vars.palette.border.default}`,
6820
+ transition: theme.transitions.create(
6821
+ ["background-color", "border-color", "box-shadow"],
6822
+ {
6823
+ duration: theme.transitions.duration.short
6824
+ }
6825
+ ),
6826
+ // Remove default underline
6827
+ "&::before, &::after": {
6828
+ display: "none"
6829
+ },
6830
+ // Hover state
6831
+ "&:hover": {
6832
+ backgroundColor: "transparent",
6833
+ borderColor: theme.vars.palette.border.default
6834
+ },
6835
+ // Focus state
6836
+ [`&.${inputBaseClasses3.focused}`]: {
6837
+ backgroundColor: theme.vars.palette.common.white,
6838
+ border: `1px solid ${theme.vars.palette.border.default}`,
6839
+ boxShadow: `0 0 0 2px ${varAlpha(theme.vars.palette.primary["300Channel"], 1)}`
6840
+ },
6841
+ // Error state
6842
+ [`&.${inputBaseClasses3.error}`]: {
6843
+ backgroundColor: theme.vars.palette.error[100],
6844
+ borderColor: theme.vars.palette.error[300],
6845
+ "&:hover": {
6846
+ backgroundColor: theme.vars.palette.error[100],
6847
+ borderColor: theme.vars.palette.error[300]
6848
+ },
6849
+ [`&.${inputBaseClasses3.focused}`]: {
6850
+ backgroundColor: theme.vars.palette.error[100],
6851
+ border: `1px solid ${theme.vars.palette.border.default}`,
6852
+ boxShadow: `0 0 0 2px ${varAlpha(theme.vars.palette.error["300Channel"], 1)}`
6853
+ }
6854
+ },
6855
+ // Disabled state
6856
+ [`&.${inputBaseClasses3.disabled}`]: {
6857
+ backgroundColor: theme.vars.palette.surface.disable,
6858
+ borderColor: theme.vars.palette.surface.disable,
6859
+ color: theme.vars.palette.text.disabled,
6860
+ "&:hover": {
6861
+ backgroundColor: theme.vars.palette.surface.disable,
6862
+ borderColor: theme.vars.palette.surface.disable
6863
+ }
6864
+ }
6865
+ },
6866
+ "& .MuiFilledInput-input": {
6867
+ padding: "0px !important",
6868
+ borderRadius: theme.radius["radius-lg"],
6869
+ fontWeight: 600,
6870
+ width: { xs: 44 },
6871
+ height: { xs: 44 },
6872
+ textAlign: "center"
6873
+ },
6874
+ ...rest.sx
6875
+ }
6876
+ }
6877
+ )
6878
+ },
6879
+ index
6880
+ )) }),
6881
+ error2 && /* @__PURE__ */ jsx53(FormHelperText3, { sx: { color: "error.main" }, children: helperText })
6882
+ ] });
6883
+ };
6884
+ var OTPInput_default = OTPInput;
6885
+
6886
+ // src/components/HookForm/RHFOTPInput.tsx
6887
+ import { jsx as jsx54 } from "react/jsx-runtime";
6888
+ var RHFOTPInput = ({ name, length = 6, helperText, ...rest }) => {
6889
+ const { control, setValue } = useFormContext3();
6890
+ return /* @__PURE__ */ jsx54(
6891
+ Controller3,
6892
+ {
6893
+ name,
6894
+ control,
6895
+ render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsx54(
6896
+ OTPInput_default,
6897
+ {
6898
+ length,
6899
+ onChange: field.onChange,
6900
+ onComplete: (otp) => setValue(name, otp),
6901
+ error: Boolean(error2),
6902
+ helperText: error2?.message ?? helperText,
6903
+ ...rest
6904
+ }
6905
+ )
6906
+ }
6907
+ );
6908
+ };
6909
+
6910
+ // src/components/HookForm/RHFTextField.tsx
6911
+ import { Controller as Controller4, useFormContext as useFormContext4 } from "react-hook-form";
6714
6912
  import IconButton3 from "@mui/material/IconButton";
6715
6913
  import InputAdornment from "@mui/material/InputAdornment";
6716
- import TextField from "@mui/material/TextField";
6717
- import { jsx as jsx53 } from "react/jsx-runtime";
6914
+ import TextField2 from "@mui/material/TextField";
6915
+ import { jsx as jsx55 } from "react/jsx-runtime";
6718
6916
  var RHFTextField = ({ name, helperText, type, slotProps, ...rest }) => {
6719
- const { control } = useFormContext3();
6917
+ const { control } = useFormContext4();
6720
6918
  const passwordVisibility = useBoolean();
6721
- return /* @__PURE__ */ jsx53(
6722
- Controller3,
6919
+ return /* @__PURE__ */ jsx55(
6920
+ Controller4,
6723
6921
  {
6724
6922
  name,
6725
6923
  control,
6726
- render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsx53(
6727
- TextField,
6924
+ render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsx55(
6925
+ TextField2,
6728
6926
  {
6729
6927
  ...field,
6730
6928
  fullWidth: true,
@@ -6744,7 +6942,7 @@ var RHFTextField = ({ name, helperText, type, slotProps, ...rest }) => {
6744
6942
  input: {
6745
6943
  ...slotProps?.input,
6746
6944
  ...type === "password" && {
6747
- endAdornment: /* @__PURE__ */ jsx53(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx53(IconButton3, { edge: "end", onClick: passwordVisibility.onToggle, children: /* @__PURE__ */ jsx53(
6945
+ endAdornment: /* @__PURE__ */ jsx55(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx55(IconButton3, { edge: "end", onClick: passwordVisibility.onToggle, children: /* @__PURE__ */ jsx55(
6748
6946
  Icon,
6749
6947
  {
6750
6948
  icon: passwordVisibility.value ? "EyeClosed" : "Eye",
@@ -6762,7 +6960,7 @@ var RHFTextField = ({ name, helperText, type, slotProps, ...rest }) => {
6762
6960
  };
6763
6961
 
6764
6962
  // src/components/HookForm/RHFRadioGroup.tsx
6765
- import { Controller as Controller4, useFormContext as useFormContext4 } from "react-hook-form";
6963
+ import { Controller as Controller5, useFormContext as useFormContext5 } from "react-hook-form";
6766
6964
  import Stack5 from "@mui/material/Stack";
6767
6965
  import Typography4 from "@mui/material/Typography";
6768
6966
  import Radio from "@mui/material/Radio";
@@ -6770,8 +6968,8 @@ import FormControlLabel2 from "@mui/material/FormControlLabel";
6770
6968
  import FormLabel2 from "@mui/material/FormLabel";
6771
6969
  import RadioGroup from "@mui/material/RadioGroup";
6772
6970
  import FormControl2 from "@mui/material/FormControl";
6773
- import FormHelperText3 from "@mui/material/FormHelperText";
6774
- import { jsx as jsx54, jsxs as jsxs30 } from "react/jsx-runtime";
6971
+ import FormHelperText4 from "@mui/material/FormHelperText";
6972
+ import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
6775
6973
  var RHFRadioGroup = ({
6776
6974
  name,
6777
6975
  label,
@@ -6780,16 +6978,16 @@ var RHFRadioGroup = ({
6780
6978
  slotProps,
6781
6979
  ...other
6782
6980
  }) => {
6783
- const { control } = useFormContext4();
6981
+ const { control } = useFormContext5();
6784
6982
  const labelledby = `${name}-radio-buttons-group-label`;
6785
6983
  const ariaLabel = (val) => `Radio ${val}`;
6786
- return /* @__PURE__ */ jsx54(
6787
- Controller4,
6984
+ return /* @__PURE__ */ jsx56(
6985
+ Controller5,
6788
6986
  {
6789
6987
  name,
6790
6988
  control,
6791
- render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsxs30(FormControl2, { component: "fieldset", sx: slotProps?.wrap, children: [
6792
- label && /* @__PURE__ */ jsx54(
6989
+ render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsxs31(FormControl2, { component: "fieldset", sx: slotProps?.wrap, children: [
6990
+ label && /* @__PURE__ */ jsx56(
6793
6991
  FormLabel2,
6794
6992
  {
6795
6993
  id: labelledby,
@@ -6799,11 +6997,11 @@ var RHFRadioGroup = ({
6799
6997
  children: label
6800
6998
  }
6801
6999
  ),
6802
- /* @__PURE__ */ jsx54(RadioGroup, { ...field, "aria-labelledby": labelledby, ...other, children: options.map((option) => /* @__PURE__ */ jsx54(
7000
+ /* @__PURE__ */ jsx56(RadioGroup, { ...field, "aria-labelledby": labelledby, ...other, children: options.map((option) => /* @__PURE__ */ jsx56(
6803
7001
  FormControlLabel2,
6804
7002
  {
6805
7003
  value: option.value,
6806
- control: /* @__PURE__ */ jsx54(
7004
+ control: /* @__PURE__ */ jsx56(
6807
7005
  Radio,
6808
7006
  {
6809
7007
  ...slotProps?.radio,
@@ -6815,9 +7013,9 @@ var RHFRadioGroup = ({
6815
7013
  }
6816
7014
  }
6817
7015
  ),
6818
- label: /* @__PURE__ */ jsxs30(Stack5, { children: [
6819
- /* @__PURE__ */ jsx54(Typography4, { variant: "bodyMd", color: "textHeader", fontWeight: 500, children: option.label }),
6820
- option?.description && /* @__PURE__ */ jsx54(Typography4, { variant: "body2", color: "textBody", children: option?.description })
7016
+ label: /* @__PURE__ */ jsxs31(Stack5, { children: [
7017
+ /* @__PURE__ */ jsx56(Typography4, { variant: "bodyMd", color: "textHeader", fontWeight: 500, children: option.label }),
7018
+ option?.description && /* @__PURE__ */ jsx56(Typography4, { variant: "body2", color: "textBody", children: option?.description })
6821
7019
  ] }),
6822
7020
  sx: {
6823
7021
  alignItems: option?.description ? "flex-start" : "center"
@@ -6825,17 +7023,17 @@ var RHFRadioGroup = ({
6825
7023
  },
6826
7024
  option.value
6827
7025
  )) }),
6828
- (!!error2 || helperText) && /* @__PURE__ */ jsx54(FormHelperText3, { error: !!error2, sx: { mx: 0 }, ...slotProps?.formHelperText, children: error2 ? error2?.message : helperText })
7026
+ (!!error2 || helperText) && /* @__PURE__ */ jsx56(FormHelperText4, { error: !!error2, sx: { mx: 0 }, ...slotProps?.formHelperText, children: error2 ? error2?.message : helperText })
6829
7027
  ] })
6830
7028
  }
6831
7029
  );
6832
7030
  };
6833
7031
 
6834
7032
  // src/components/HookForm/RHFAutocomplete.tsx
6835
- import { Controller as Controller5, useFormContext as useFormContext5 } from "react-hook-form";
6836
- import TextField2 from "@mui/material/TextField";
7033
+ import { Controller as Controller6, useFormContext as useFormContext6 } from "react-hook-form";
7034
+ import TextField3 from "@mui/material/TextField";
6837
7035
  import Autocomplete from "@mui/material/Autocomplete";
6838
- import { jsx as jsx55 } from "react/jsx-runtime";
7036
+ import { jsx as jsx57 } from "react/jsx-runtime";
6839
7037
  var RHFAutocomplete = ({
6840
7038
  name,
6841
7039
  label,
@@ -6845,13 +7043,13 @@ var RHFAutocomplete = ({
6845
7043
  handleChange,
6846
7044
  ...other
6847
7045
  }) => {
6848
- const { control, setValue } = useFormContext5();
6849
- return /* @__PURE__ */ jsx55(
6850
- Controller5,
7046
+ const { control, setValue } = useFormContext6();
7047
+ return /* @__PURE__ */ jsx57(
7048
+ Controller6,
6851
7049
  {
6852
7050
  name,
6853
7051
  control,
6854
- render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsx55(
7052
+ render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsx57(
6855
7053
  Autocomplete,
6856
7054
  {
6857
7055
  ...field,
@@ -6860,8 +7058,8 @@ var RHFAutocomplete = ({
6860
7058
  setValue(name, newValue, { shouldValidate: true });
6861
7059
  handleChange?.(newValue);
6862
7060
  },
6863
- renderInput: (params) => /* @__PURE__ */ jsx55(
6864
- TextField2,
7061
+ renderInput: (params) => /* @__PURE__ */ jsx57(
7062
+ TextField3,
6865
7063
  {
6866
7064
  label,
6867
7065
  placeholder,
@@ -6879,17 +7077,17 @@ var RHFAutocomplete = ({
6879
7077
  };
6880
7078
 
6881
7079
  // src/components/HookForm/RHFCheckbox.tsx
6882
- import { Controller as Controller6, useFormContext as useFormContext6 } from "react-hook-form";
7080
+ import { Controller as Controller7, useFormContext as useFormContext7 } from "react-hook-form";
6883
7081
  import Stack6 from "@mui/material/Stack";
6884
- import Box13 from "@mui/material/Box";
7082
+ import Box14 from "@mui/material/Box";
6885
7083
  import Typography5 from "@mui/material/Typography";
6886
7084
  import Checkbox from "@mui/material/Checkbox";
6887
7085
  import FormGroup2 from "@mui/material/FormGroup";
6888
7086
  import FormLabel3 from "@mui/material/FormLabel";
6889
7087
  import FormControl3 from "@mui/material/FormControl";
6890
- import FormHelperText4 from "@mui/material/FormHelperText";
7088
+ import FormHelperText5 from "@mui/material/FormHelperText";
6891
7089
  import FormControlLabel3 from "@mui/material/FormControlLabel";
6892
- import { jsx as jsx56, jsxs as jsxs31 } from "react/jsx-runtime";
7090
+ import { jsx as jsx58, jsxs as jsxs32 } from "react/jsx-runtime";
6893
7091
  var RHFCheckbox = ({
6894
7092
  name,
6895
7093
  description,
@@ -6899,18 +7097,18 @@ var RHFCheckbox = ({
6899
7097
  slotProps,
6900
7098
  ...other
6901
7099
  }) => {
6902
- const { control } = useFormContext6();
7100
+ const { control } = useFormContext7();
6903
7101
  const baseAriaLabel = `Checkbox for ${name}`;
6904
- return /* @__PURE__ */ jsx56(
6905
- Controller6,
7102
+ return /* @__PURE__ */ jsx58(
7103
+ Controller7,
6906
7104
  {
6907
7105
  name,
6908
7106
  control,
6909
- render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsxs31(Box13, { sx: slotProps?.wrap, children: [
6910
- /* @__PURE__ */ jsx56(
7107
+ render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsxs32(Box14, { sx: slotProps?.wrap, children: [
7108
+ /* @__PURE__ */ jsx58(
6911
7109
  FormControlLabel3,
6912
7110
  {
6913
- control: /* @__PURE__ */ jsx56(
7111
+ control: /* @__PURE__ */ jsx58(
6914
7112
  Checkbox,
6915
7113
  {
6916
7114
  ...field,
@@ -6925,9 +7123,9 @@ var RHFCheckbox = ({
6925
7123
  }
6926
7124
  }
6927
7125
  ),
6928
- label: /* @__PURE__ */ jsxs31(Stack6, { children: [
6929
- /* @__PURE__ */ jsx56(Typography5, { variant: "bodyMd", color: "textHeader", fontWeight: 500, children: label }),
6930
- description && /* @__PURE__ */ jsx56(Typography5, { variant: "body2", color: "textBody", children: description })
7126
+ label: /* @__PURE__ */ jsxs32(Stack6, { children: [
7127
+ /* @__PURE__ */ jsx58(Typography5, { variant: "bodyMd", color: "textHeader", fontWeight: 500, children: label }),
7128
+ description && /* @__PURE__ */ jsx58(Typography5, { variant: "body2", color: "textBody", children: description })
6931
7129
  ] }),
6932
7130
  sx: {
6933
7131
  alignItems: description ? "flex-start" : "center",
@@ -6936,7 +7134,7 @@ var RHFCheckbox = ({
6936
7134
  ...other
6937
7135
  }
6938
7136
  ),
6939
- (!!error2 || helperText) && /* @__PURE__ */ jsx56(FormHelperText4, { error: !!error2, ...slotProps?.formHelperText, children: error2 ? error2?.message : helperText })
7137
+ (!!error2 || helperText) && /* @__PURE__ */ jsx58(FormHelperText5, { error: !!error2, ...slotProps?.formHelperText, children: error2 ? error2?.message : helperText })
6940
7138
  ] })
6941
7139
  }
6942
7140
  );
@@ -6950,15 +7148,15 @@ var RHFMultiCheckbox = ({
6950
7148
  row,
6951
7149
  ...other
6952
7150
  }) => {
6953
- const { control } = useFormContext6();
7151
+ const { control } = useFormContext7();
6954
7152
  const getSelected = (currentValues, optionValue) => currentValues.includes(optionValue) ? currentValues.filter((value) => value !== optionValue) : [...currentValues, optionValue];
6955
- return /* @__PURE__ */ jsx56(
6956
- Controller6,
7153
+ return /* @__PURE__ */ jsx58(
7154
+ Controller7,
6957
7155
  {
6958
7156
  name,
6959
7157
  control,
6960
7158
  defaultValue: [],
6961
- render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsxs31(
7159
+ render: ({ field, fieldState: { error: error2 } }) => /* @__PURE__ */ jsxs32(
6962
7160
  FormControl3,
6963
7161
  {
6964
7162
  component: "fieldset",
@@ -6966,7 +7164,7 @@ var RHFMultiCheckbox = ({
6966
7164
  sx: slotProps?.formControl?.sx,
6967
7165
  ...slotProps?.formControl,
6968
7166
  children: [
6969
- label && /* @__PURE__ */ jsx56(
7167
+ label && /* @__PURE__ */ jsx58(
6970
7168
  FormLabel3,
6971
7169
  {
6972
7170
  component: "legend",
@@ -6975,12 +7173,12 @@ var RHFMultiCheckbox = ({
6975
7173
  children: label
6976
7174
  }
6977
7175
  ),
6978
- /* @__PURE__ */ jsx56(FormGroup2, { row, ...other, children: options.map((option) => {
7176
+ /* @__PURE__ */ jsx58(FormGroup2, { row, ...other, children: options.map((option) => {
6979
7177
  const itemAriaLabel = option.label || `Option ${option.value}`;
6980
- return /* @__PURE__ */ jsx56(
7178
+ return /* @__PURE__ */ jsx58(
6981
7179
  FormControlLabel3,
6982
7180
  {
6983
- control: /* @__PURE__ */ jsx56(
7181
+ control: /* @__PURE__ */ jsx58(
6984
7182
  Checkbox,
6985
7183
  {
6986
7184
  checked: (field.value || []).includes(option.value),
@@ -6998,9 +7196,9 @@ var RHFMultiCheckbox = ({
6998
7196
  }
6999
7197
  }
7000
7198
  ),
7001
- label: /* @__PURE__ */ jsxs31(Stack6, { children: [
7002
- /* @__PURE__ */ jsx56(Typography5, { variant: "bodyMd", color: "textHeader", fontWeight: 500, children: option.label }),
7003
- option?.description && /* @__PURE__ */ jsx56(Typography5, { variant: "body2", color: "textBody", children: option?.description })
7199
+ label: /* @__PURE__ */ jsxs32(Stack6, { children: [
7200
+ /* @__PURE__ */ jsx58(Typography5, { variant: "bodyMd", color: "textHeader", fontWeight: 500, children: option.label }),
7201
+ option?.description && /* @__PURE__ */ jsx58(Typography5, { variant: "body2", color: "textBody", children: option?.description })
7004
7202
  ] }),
7005
7203
  sx: {
7006
7204
  alignItems: option?.description ? "flex-start" : "center"
@@ -7009,8 +7207,8 @@ var RHFMultiCheckbox = ({
7009
7207
  option.value
7010
7208
  );
7011
7209
  }) }),
7012
- (!!error2 || helperText) && /* @__PURE__ */ jsx56(
7013
- FormHelperText4,
7210
+ (!!error2 || helperText) && /* @__PURE__ */ jsx58(
7211
+ FormHelperText5,
7014
7212
  {
7015
7213
  sx: { mx: 0, ...slotProps?.formHelperText?.sx },
7016
7214
  ...slotProps?.formHelperText,
@@ -7026,6 +7224,7 @@ var RHFMultiCheckbox = ({
7026
7224
 
7027
7225
  // src/components/HookForm/fields.ts
7028
7226
  var Field = {
7227
+ OTP: RHFOTPInput,
7029
7228
  Switch: RHFSwitch,
7030
7229
  Upload: RHFUpload,
7031
7230
  Text: RHFTextField,
@@ -7038,29 +7237,29 @@ var Field = {
7038
7237
  // src/components/CopyButton/index.tsx
7039
7238
  import Tooltip from "@mui/material/Tooltip";
7040
7239
  import IconButton4 from "@mui/material/IconButton";
7041
- import { jsx as jsx57 } from "react/jsx-runtime";
7240
+ import { jsx as jsx59 } from "react/jsx-runtime";
7042
7241
  var CopyButton = ({ text: text2, size = "small" }) => {
7043
7242
  const { copy, isCopied } = useCopyToClipboard();
7044
- return /* @__PURE__ */ jsx57(Tooltip, { title: isCopied ? "Copied" : "Copy", children: /* @__PURE__ */ jsx57(
7243
+ return /* @__PURE__ */ jsx59(Tooltip, { title: isCopied ? "Copied" : "Copy", children: /* @__PURE__ */ jsx59(
7045
7244
  IconButton4,
7046
7245
  {
7047
7246
  size,
7048
7247
  onClick: () => copy(text2),
7049
7248
  "aria-label": "copy token",
7050
7249
  sx: { color: "icon.black" },
7051
- children: /* @__PURE__ */ jsx57(Icon, { icon: isCopied ? "ClipboardCheck" : "Copy", sx: { width: 20, height: 20 } })
7250
+ children: /* @__PURE__ */ jsx59(Icon, { icon: isCopied ? "ClipboardCheck" : "Copy", sx: { width: 20, height: 20 } })
7052
7251
  }
7053
7252
  ) });
7054
7253
  };
7055
7254
 
7056
7255
  // src/components/LoadingScreen/index.tsx
7057
7256
  import Portal from "@mui/material/Portal";
7058
- import Box14 from "@mui/material/Box";
7257
+ import Box15 from "@mui/material/Box";
7059
7258
  import LinearProgress from "@mui/material/LinearProgress";
7060
- import { jsx as jsx58 } from "react/jsx-runtime";
7259
+ import { jsx as jsx60 } from "react/jsx-runtime";
7061
7260
  var LoadingScreen = ({ portal, sx, ...rest }) => {
7062
- const content = /* @__PURE__ */ jsx58(
7063
- Box14,
7261
+ const content = /* @__PURE__ */ jsx60(
7262
+ Box15,
7064
7263
  {
7065
7264
  sx: {
7066
7265
  px: 5,
@@ -7073,17 +7272,17 @@ var LoadingScreen = ({ portal, sx, ...rest }) => {
7073
7272
  ...sx
7074
7273
  },
7075
7274
  ...rest,
7076
- children: /* @__PURE__ */ jsx58(LinearProgress, { color: "primary", sx: { width: 1, maxWidth: 360 } })
7275
+ children: /* @__PURE__ */ jsx60(LinearProgress, { color: "primary", sx: { width: 1, maxWidth: 360 } })
7077
7276
  }
7078
7277
  );
7079
7278
  if (portal) {
7080
- return /* @__PURE__ */ jsx58(Portal, { children: content });
7279
+ return /* @__PURE__ */ jsx60(Portal, { children: content });
7081
7280
  }
7082
7281
  return content;
7083
7282
  };
7084
7283
  var SplashScreen = ({ portal, sx, ...rest }) => {
7085
- const content = /* @__PURE__ */ jsx58(
7086
- Box14,
7284
+ const content = /* @__PURE__ */ jsx60(
7285
+ Box15,
7087
7286
  {
7088
7287
  sx: {
7089
7288
  right: 0,
@@ -7099,11 +7298,11 @@ var SplashScreen = ({ portal, sx, ...rest }) => {
7099
7298
  ...sx
7100
7299
  },
7101
7300
  ...rest,
7102
- children: /* @__PURE__ */ jsx58(AnimatedLogo, {})
7301
+ children: /* @__PURE__ */ jsx60(AnimatedLogo, {})
7103
7302
  }
7104
7303
  );
7105
7304
  if (portal) {
7106
- return /* @__PURE__ */ jsx58(Portal, { children: content });
7305
+ return /* @__PURE__ */ jsx60(Portal, { children: content });
7107
7306
  }
7108
7307
  return content;
7109
7308
  };
@@ -7134,10 +7333,12 @@ export {
7134
7333
  NavArrowDown,
7135
7334
  NavArrowLeft,
7136
7335
  NavArrowRight,
7336
+ OTPInput,
7137
7337
  RHFAutocomplete,
7138
7338
  RHFCheckbox,
7139
7339
  RHFMultiCheckbox,
7140
7340
  RHFMultiSwitch,
7341
+ RHFOTPInput,
7141
7342
  RHFRadioGroup,
7142
7343
  RHFSwitch,
7143
7344
  RHFTextField,