@cwncollab-org/mui-component-kit 0.4.5 → 0.5.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/README.md CHANGED
@@ -719,6 +719,8 @@ The RadioGroup component also accepts all standard MUI RadioGroup props except `
719
719
 
720
720
  The MaskedTextField component provides input masking functionality, built on top of MUI's TextField component and `react-imask` library, integrated with TanStack Form. This component is useful for formatting user input such as phone numbers, credit card numbers, social security numbers, and other structured data.
721
721
 
722
+ The component now supports the full `react-imask` API, allowing for advanced masking patterns including custom definitions, blocks, regular expressions, and more complex validation patterns.
723
+
722
724
  ```tsx
723
725
  import { useAppForm } from '@cwncollab-org/component-kit'
724
726
  import { z } from 'zod'
@@ -751,7 +753,7 @@ function MyForm() {
751
753
 
752
754
  return (
753
755
  <>
754
- {/* Phone number mask */}
756
+ {/* Basic phone number mask */}
755
757
  <form.AppField
756
758
  name="phone"
757
759
  children={field => (
@@ -796,20 +798,6 @@ function MyForm() {
796
798
  )}
797
799
  />
798
800
 
799
- {/* ZIP Code mask */}
800
- <form.AppField
801
- name="zipCode"
802
- children={field => (
803
- <field.MaskedTextField
804
- mask="00000"
805
- label="ZIP Code"
806
- labelBehavior="shrink"
807
- size="small"
808
- placeholder="12345"
809
- />
810
- )}
811
- />
812
-
813
801
  {/* Date mask */}
814
802
  <form.AppField
815
803
  name="date"
@@ -846,16 +834,22 @@ function MyForm() {
846
834
 
847
835
  #### Advanced Masking Examples
848
836
 
837
+ The MaskedTextField component now supports advanced react-imask features including custom definitions, blocks, regular expressions, and complex validation patterns:
838
+
849
839
  ```tsx
850
- // Custom mask patterns
840
+ import { useAppForm } from '@cwncollab-org/component-kit'
841
+ import { IMask } from 'react-imask'
842
+ import { z } from 'zod'
843
+
844
+ // Advanced masking patterns using react-imask features
851
845
  function AdvancedMaskingExamples() {
852
846
  const form = useAppForm({
853
847
  defaultValues: {
854
- license: '',
848
+ productCode: '',
849
+ email: '',
850
+ serialNumber: '',
851
+ dateRange: '',
855
852
  time: '',
856
- currency: '',
857
- alphanumeric: '',
858
- ipAddress: '',
859
853
  },
860
854
  onSubmit: ({ value }) => {
861
855
  console.log('Advanced mask values:', value)
@@ -864,60 +858,121 @@ function AdvancedMaskingExamples() {
864
858
 
865
859
  return (
866
860
  <>
867
- {/* License plate (letters and numbers) */}
861
+ {/* Custom definitions for product codes */}
868
862
  <form.AppField
869
- name="license"
863
+ name="productCode"
870
864
  children={field => (
871
865
  <field.MaskedTextField
872
- mask="aaa-0000"
873
- label="License Plate"
866
+ mask="AA-####-**"
867
+ definitions={{
868
+ A: /[A-Z]/, // Uppercase letters only
869
+ '#': /[1-9]/, // Digits 1-9 only
870
+ '*': /[A-Z0-9]/, // Alphanumeric uppercase
871
+ }}
872
+ label="Product Code"
874
873
  labelBehavior="shrink"
875
874
  size="small"
876
875
  fullWidth
877
- placeholder="ABC-1234"
876
+ placeholder="AB-1234-CD"
878
877
  />
879
878
  )}
880
879
  />
881
880
 
882
- {/* Time format */}
881
+ {/* Email validation with regex pattern */}
883
882
  <form.AppField
884
- name="time"
883
+ name="email"
885
884
  children={field => (
886
885
  <field.MaskedTextField
887
- mask="00:00"
888
- label="Time (24h format)"
886
+ mask={/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/}
887
+ label="Email with Pattern Validation"
889
888
  labelBehavior="shrink"
890
889
  size="small"
891
- placeholder="14:30"
890
+ fullWidth
891
+ placeholder="user@example.com"
892
892
  />
893
893
  )}
894
894
  />
895
895
 
896
- {/* Mixed alphanumeric */}
896
+ {/* Serial number with mixed definitions */}
897
897
  <form.AppField
898
- name="alphanumeric"
898
+ name="serialNumber"
899
899
  children={field => (
900
900
  <field.MaskedTextField
901
- mask="aa00aa"
902
- label="Product Code"
901
+ mask="SN-LLLNNN-CCC"
902
+ definitions={{
903
+ L: /[A-Z]/, // Letters
904
+ N: /[0-9]/, // Numbers
905
+ C: /[A-Z0-9]/, // Alphanumeric
906
+ }}
907
+ label="Serial Number"
903
908
  labelBehavior="shrink"
904
909
  size="small"
905
- placeholder="AB12CD"
910
+ fullWidth
911
+ placeholder="SN-ABC123-XYZ"
906
912
  />
907
913
  )}
908
914
  />
909
915
 
910
- {/* IP Address */}
916
+ {/* Date range with blocks (advanced pattern) */}
911
917
  <form.AppField
912
- name="ipAddress"
918
+ name="dateRange"
913
919
  children={field => (
914
920
  <field.MaskedTextField
915
- mask="000.000.000.000"
916
- label="IP Address"
921
+ mask={Date}
922
+ pattern="d{/}`m{/}`Y - d{/}`m{/}`Y*"
923
+ blocks={{
924
+ d: {
925
+ mask: IMask.MaskedRange,
926
+ from: 1,
927
+ to: 31,
928
+ maxLength: 2,
929
+ },
930
+ m: {
931
+ mask: IMask.MaskedRange,
932
+ from: 1,
933
+ to: 12,
934
+ maxLength: 2,
935
+ },
936
+ Y: {
937
+ mask: IMask.MaskedRange,
938
+ from: 1900,
939
+ to: 9999,
940
+ maxLength: 4,
941
+ },
942
+ }}
943
+ label="Date Range"
917
944
  labelBehavior="shrink"
918
945
  size="small"
919
946
  fullWidth
920
- placeholder="192.168.1.1"
947
+ placeholder="DD/MM/YYYY - DD/MM/YYYY"
948
+ />
949
+ )}
950
+ />
951
+
952
+ {/* Time format with validation */}
953
+ <form.AppField
954
+ name="time"
955
+ children={field => (
956
+ <field.MaskedTextField
957
+ mask="HH:MM"
958
+ blocks={{
959
+ HH: {
960
+ mask: IMask.MaskedRange,
961
+ from: 0,
962
+ to: 23,
963
+ maxLength: 2,
964
+ },
965
+ MM: {
966
+ mask: IMask.MaskedRange,
967
+ from: 0,
968
+ to: 59,
969
+ maxLength: 2,
970
+ },
971
+ }}
972
+ label="Time (24h format)"
973
+ labelBehavior="shrink"
974
+ size="small"
975
+ placeholder="14:30"
921
976
  />
922
977
  )}
923
978
  />
@@ -928,9 +983,16 @@ function AdvancedMaskingExamples() {
928
983
 
929
984
  #### MaskedTextField Props
930
985
 
986
+ The MaskedTextField component accepts all `react-imask` options as props, providing full access to the masking library's capabilities:
987
+
931
988
  | Prop | Type | Default | Description |
932
989
  |------|------|---------|-------------|
933
- | `mask` | `IMaskInputProps['mask']` | - | The mask pattern to apply to the input |
990
+ | `mask` | `ReactMaskOpts['mask']` | - | The mask pattern - can be string, RegExp, function, or IMask class |
991
+ | `definitions` | `ReactMaskOpts['definitions']` | - | Custom character definitions for the mask pattern |
992
+ | `blocks` | `ReactMaskOpts['blocks']` | - | Block definitions for complex patterns with validation |
993
+ | `pattern` | `ReactMaskOpts['pattern']` | - | Pattern string when using blocks |
994
+ | `lazy` | `ReactMaskOpts['lazy']` | - | Show placeholder and fixed characters only on focus |
995
+ | `placeholderChar` | `ReactMaskOpts['placeholderChar']` | - | Character to show for unfilled mask positions |
934
996
  | `label` | `string` | - | The label text for the text field |
935
997
  | `labelBehavior` | `'auto' \| 'shrink' \| 'static'` | `'auto'` | How the label should behave |
936
998
  | `size` | `'small' \| 'medium'` | `'medium'` | The size of the text field |
@@ -940,31 +1002,33 @@ function AdvancedMaskingExamples() {
940
1002
  | `required` | `boolean` | `false` | Whether the text field is required |
941
1003
  | `slotProps` | `object` | - | Props for underlying MUI components |
942
1004
 
943
- The MaskedTextField component accepts all standard MUI TextField props and forwards them to the underlying TextField component.
1005
+ The MaskedTextField component accepts all standard MUI TextField props and all `react-imask` options, providing full flexibility for complex masking scenarios.
944
1006
 
945
- **Mask Patterns:**
1007
+ **Basic Mask Patterns:**
946
1008
  - `0` - any digit (0-9)
947
- - `a` - any letter (a-z, A-Z)
1009
+ - `a` - any letter (a-z, A-Z)
948
1010
  - `*` - any character
949
- - `[]` - make input optional (example: `[00]` for optional digits)
1011
+ - `[]` - make input optional
950
1012
  - `{}` - include fixed part in unmasked value
951
- - ``` - prevent symbols shift back
952
- - `\\` - escape character to treat definition characters as fixed (example: `\\0` treats 0 as literal)
1013
+ - `\` - escape character
1014
+
1015
+ **Advanced Features:**
1016
+ - **Custom Definitions**: Define your own character patterns using regular expressions
1017
+ - **Blocks**: Create complex validated input segments (like date ranges, time validation)
1018
+ - **Regular Expressions**: Use regex patterns for complex validation rules
1019
+ - **IMask Classes**: Access to all IMask functionality including MaskedRange, MaskedDate, etc.
1020
+ - **Dynamic Masking**: Conditional masks based on input content
953
1021
 
954
1022
  **Label Behaviors:**
955
1023
  - `'auto'`: Default MUI behavior - label floats when focused or has value
956
- - `'shrink'`: Label is always in the shrunk (floating) position
1024
+ - `'shrink'`: Label is always in the shrunk (floating) position
957
1025
  - `'static'`: Label appears as a static label above the input
958
1026
 
959
- **Advanced Masking:**
960
- The current MaskedTextField component supports basic mask patterns. For more advanced masking scenarios like currency formatting, custom validation, or nested patterns with custom definitions and blocks, you would need to extend the component or use IMask directly.
961
-
962
- **Available Mask Patterns:**
963
- The component currently supports simple string patterns where each character in the mask string represents a constraint for the corresponding input character.
964
-
965
1027
  **SubscribeMaskedTextField:**
966
1028
  The `SubscribeMaskedTextField` component has the same props as `MaskedTextField` but automatically disables the field when the form is submitting, providing better UX during form submission.
967
1029
 
1030
+ For more advanced masking scenarios, refer to the [react-imask documentation](https://imask.js.org/) as the MaskedTextField component provides full access to all react-imask features.
1031
+
968
1032
 
969
1033
  ### Router Tabs
970
1034
 
@@ -1,11 +1,96 @@
1
- import { IMaskInputProps } from 'react-imask';
2
- export type MaskedInputProps = {
3
- mask: IMaskInputProps<HTMLInputElement>['mask'];
4
- pattern?: string;
5
- definitions?: Record<string, RegExp>;
6
- blocks?: Record<string, any>;
7
- value?: string;
8
- onChange?: (value: string) => void;
9
- };
10
- export declare function MaskedInput(props: MaskedInputProps): import("react/jsx-runtime").JSX.Element;
1
+ import { ReactMaskOpts } from 'react-imask';
2
+ import { InputProps as MuiInputProps } from '@mui/material';
3
+ import React from 'react';
4
+ export type MaskedInputProps = MuiInputProps & ReactMaskOpts;
5
+ export declare const MaskedInput: React.ForwardRefExoticComponent<(Omit<MuiInputProps & Omit<import("imask").MaskedDateOptions, "mask"> & {
6
+ mask: DateConstructor;
7
+ } & {
8
+ unmask?: "typed" | boolean;
9
+ }, "ref"> | Omit<MuiInputProps & {
10
+ mask: typeof import("imask").MaskedDate;
11
+ } & Omit<Omit<import("imask").MaskedDateOptions, "mask"> & {
12
+ mask: DateConstructor;
13
+ }, "mask"> & {
14
+ unmask?: "typed" | boolean;
15
+ }, "ref"> | Omit<MuiInputProps & Partial<Pick<import("imask").MaskedNumber, "mask" | "scale" | "max" | "min" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "radix" | "thousandsSeparator" | "mapToRadix" | "normalizeZeros" | "padFractionalZeros">> & {
16
+ unmask?: "typed" | boolean;
17
+ }, "ref"> | Omit<MuiInputProps & {
18
+ mask: typeof import("imask").MaskedNumber;
19
+ } & Omit<Partial<Pick<import("imask").MaskedNumber, "mask" | "scale" | "max" | "min" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "radix" | "thousandsSeparator" | "mapToRadix" | "normalizeZeros" | "padFractionalZeros">>, "mask"> & {
20
+ unmask?: "typed" | boolean;
21
+ }, "ref"> | Omit<MuiInputProps & Partial<Pick<import("imask").MaskedPattern<string>, "mask" | "format" | "eager" | "lazy" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "definitions" | "blocks" | "placeholderChar" | "displayChar">> & {
22
+ unmask?: "typed" | boolean;
23
+ }, "ref"> | Omit<MuiInputProps & {
24
+ mask: typeof import("imask").MaskedEnum;
25
+ } & Omit<import("imask").MaskedEnumOptions, "mask"> & {
26
+ unmask?: "typed" | boolean;
27
+ }, "ref"> | Omit<MuiInputProps & {
28
+ mask: typeof import("imask").MaskedRange;
29
+ } & Omit<import("imask").MaskedRangeOptions, "mask"> & {
30
+ unmask?: "typed" | boolean;
31
+ }, "ref"> | Omit<MuiInputProps & Partial<Pick<import("imask").MaskedRegExp, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">> & {
32
+ unmask?: "typed" | boolean;
33
+ }, "ref"> | Omit<MuiInputProps & {
34
+ mask: typeof import("imask").MaskedRegExp;
35
+ } & Omit<Partial<Pick<import("imask").MaskedRegExp, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
36
+ unmask?: "typed" | boolean;
37
+ }, "ref"> | Omit<MuiInputProps & Partial<Pick<import("imask").MaskedFunction<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">> & {
38
+ unmask?: "typed" | boolean;
39
+ }, "ref"> | Omit<MuiInputProps & {
40
+ mask: typeof import("imask").MaskedFunction;
41
+ } & Omit<Partial<Pick<import("imask").MaskedFunction<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
42
+ unmask?: "typed" | boolean;
43
+ }, "ref"> | Omit<MuiInputProps & {
44
+ mask: typeof import("imask").MaskedPattern;
45
+ } & Omit<Partial<Pick<import("imask").MaskedPattern<string>, "mask" | "format" | "eager" | "lazy" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "definitions" | "blocks" | "placeholderChar" | "displayChar">>, "mask"> & {
46
+ unmask?: "typed" | boolean;
47
+ }, "ref"> | Omit<MuiInputProps & Partial<Pick<import("imask").MaskedDynamic<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "dispatch">> & {
48
+ unmask?: "typed" | boolean;
49
+ }, "ref"> | Omit<MuiInputProps & {
50
+ mask: typeof import("imask").MaskedDynamic;
51
+ } & Omit<Partial<Pick<import("imask").MaskedDynamic<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "dispatch">>, "mask"> & {
52
+ unmask?: "typed" | boolean;
53
+ }, "ref"> | Omit<MuiInputProps & {
54
+ mask: typeof import("imask").Masked;
55
+ } & Omit<Partial<Pick<import("imask").Masked<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
56
+ unmask?: "typed" | boolean;
57
+ }, "ref"> | Omit<MuiInputProps & {
58
+ mask: import("imask").MaskedDate;
59
+ } & Omit<Omit<import("imask").MaskedDateOptions, "mask"> & {
60
+ mask: DateConstructor;
61
+ }, "mask"> & {
62
+ unmask?: "typed" | boolean;
63
+ }, "ref"> | Omit<MuiInputProps & {
64
+ mask: import("imask").MaskedNumber;
65
+ } & Omit<Partial<Pick<import("imask").MaskedNumber, "mask" | "scale" | "max" | "min" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "radix" | "thousandsSeparator" | "mapToRadix" | "normalizeZeros" | "padFractionalZeros">>, "mask"> & {
66
+ unmask?: "typed" | boolean;
67
+ }, "ref"> | Omit<MuiInputProps & {
68
+ mask: import("imask").MaskedEnum;
69
+ } & Omit<import("imask").MaskedEnumOptions, "mask"> & {
70
+ unmask?: "typed" | boolean;
71
+ }, "ref"> | Omit<MuiInputProps & {
72
+ mask: import("imask").MaskedRange;
73
+ } & Omit<import("imask").MaskedRangeOptions, "mask"> & {
74
+ unmask?: "typed" | boolean;
75
+ }, "ref"> | Omit<MuiInputProps & {
76
+ mask: import("imask").MaskedRegExp;
77
+ } & Omit<Partial<Pick<import("imask").MaskedRegExp, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
78
+ unmask?: "typed" | boolean;
79
+ }, "ref"> | Omit<MuiInputProps & {
80
+ mask: import("imask").MaskedFunction;
81
+ } & Omit<Partial<Pick<import("imask").MaskedFunction<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
82
+ unmask?: "typed" | boolean;
83
+ }, "ref"> | Omit<MuiInputProps & {
84
+ mask: import("imask").MaskedPattern;
85
+ } & Omit<Partial<Pick<import("imask").MaskedPattern<string>, "mask" | "format" | "eager" | "lazy" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "definitions" | "blocks" | "placeholderChar" | "displayChar">>, "mask"> & {
86
+ unmask?: "typed" | boolean;
87
+ }, "ref"> | Omit<MuiInputProps & {
88
+ mask: import("imask").MaskedDynamic;
89
+ } & Omit<Partial<Pick<import("imask").MaskedDynamic<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "dispatch">>, "mask"> & {
90
+ unmask?: "typed" | boolean;
91
+ }, "ref"> | Omit<MuiInputProps & {
92
+ mask: import("imask").Masked;
93
+ } & Omit<Partial<Pick<import("imask").Masked<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
94
+ unmask?: "typed" | boolean;
95
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
11
96
  //# sourceMappingURL=MaskedInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAI7C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAgBlD"}
1
+ {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,UAAU,IAAI,aAAa,EAAqB,MAAM,eAAe,CAAA;AAK9E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,aAAa,CAAA;AAE5D,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAcvB,CAAA"}
@@ -1,13 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Input as MuiInput } from '@mui/material';
3
- import { MaskedInputAdapter } from './MaskedInputAdapter';
4
- export function MaskedInput(props) {
5
- const { mask, value, onChange, definitions, blocks, pattern } = props;
6
- return (_jsx(MuiInput, { value: value, onChange: e => onChange?.(e.target.value), inputComponent: MaskedInputAdapter, inputProps: {
7
- mask: mask,
8
- definitions: definitions,
9
- blocks: blocks,
10
- pattern: pattern,
11
- } }));
12
- }
3
+ import { MaskedInputAdapter, } from './MaskedInputAdapter';
4
+ import React from 'react';
5
+ export const MaskedInput = React.forwardRef((props, ref) => {
6
+ const { value, onChange, ...inputProps } = props;
7
+ return (_jsx(MuiInput, { ref: ref, value: value, onChange: onChange, inputComponent: MaskedInputAdapter, inputProps: inputProps }));
8
+ });
13
9
  //# sourceMappingURL=MaskedInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInput.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAWzD,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;IAErE,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACzC,cAAc,EAAE,kBAAyB,EACzC,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;SACjB,GACD,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"MaskedInput.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":";AACA,OAAO,EAA+B,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC9E,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;IAEhD,OAAO,CACL,KAAC,QAAQ,IACP,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,UAAqC,GACjD,CACH,CAAA;AACH,CAAC,CACF,CAAA"}
@@ -1,17 +1,96 @@
1
+ import { InputBaseComponentProps as MuiInputBaseComponentProps } from '@mui/material';
1
2
  import React from 'react';
2
- import { IMaskInputProps } from 'react-imask';
3
- export type MaskedInputAdapterProps = {
4
- onChange: (event: {
5
- target: {
6
- name: string;
7
- value: string;
8
- };
9
- }) => void;
10
- name: string;
11
- mask: IMaskInputProps<HTMLInputElement>['mask'];
12
- definitions?: Record<string, RegExp>;
13
- blocks?: Record<string, any>;
14
- overwrite?: boolean;
15
- };
16
- export declare const MaskedInputAdapter: React.ForwardRefExoticComponent<MaskedInputAdapterProps & React.RefAttributes<HTMLInputElement>>;
3
+ import { ReactMaskOpts } from 'react-imask';
4
+ export type MaskedInputAdapterProps = MuiInputBaseComponentProps & ReactMaskOpts;
5
+ export declare const MaskedInputAdapter: React.ForwardRefExoticComponent<(Omit<MuiInputBaseComponentProps & Omit<import("imask").MaskedDateOptions, "mask"> & {
6
+ mask: DateConstructor;
7
+ } & {
8
+ unmask?: "typed" | boolean;
9
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
10
+ mask: typeof import("imask").MaskedDate;
11
+ } & Omit<Omit<import("imask").MaskedDateOptions, "mask"> & {
12
+ mask: DateConstructor;
13
+ }, "mask"> & {
14
+ unmask?: "typed" | boolean;
15
+ }, "ref"> | Omit<MuiInputBaseComponentProps & Partial<Pick<import("imask").MaskedNumber, "mask" | "scale" | "max" | "min" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "radix" | "thousandsSeparator" | "mapToRadix" | "normalizeZeros" | "padFractionalZeros">> & {
16
+ unmask?: "typed" | boolean;
17
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
18
+ mask: typeof import("imask").MaskedNumber;
19
+ } & Omit<Partial<Pick<import("imask").MaskedNumber, "mask" | "scale" | "max" | "min" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "radix" | "thousandsSeparator" | "mapToRadix" | "normalizeZeros" | "padFractionalZeros">>, "mask"> & {
20
+ unmask?: "typed" | boolean;
21
+ }, "ref"> | Omit<MuiInputBaseComponentProps & Partial<Pick<import("imask").MaskedPattern<string>, "mask" | "format" | "eager" | "lazy" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "definitions" | "blocks" | "placeholderChar" | "displayChar">> & {
22
+ unmask?: "typed" | boolean;
23
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
24
+ mask: typeof import("imask").MaskedEnum;
25
+ } & Omit<import("imask").MaskedEnumOptions, "mask"> & {
26
+ unmask?: "typed" | boolean;
27
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
28
+ mask: typeof import("imask").MaskedRange;
29
+ } & Omit<import("imask").MaskedRangeOptions, "mask"> & {
30
+ unmask?: "typed" | boolean;
31
+ }, "ref"> | Omit<MuiInputBaseComponentProps & Partial<Pick<import("imask").MaskedRegExp, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">> & {
32
+ unmask?: "typed" | boolean;
33
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
34
+ mask: typeof import("imask").MaskedRegExp;
35
+ } & Omit<Partial<Pick<import("imask").MaskedRegExp, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
36
+ unmask?: "typed" | boolean;
37
+ }, "ref"> | Omit<MuiInputBaseComponentProps & Partial<Pick<import("imask").MaskedFunction<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">> & {
38
+ unmask?: "typed" | boolean;
39
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
40
+ mask: typeof import("imask").MaskedFunction;
41
+ } & Omit<Partial<Pick<import("imask").MaskedFunction<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
42
+ unmask?: "typed" | boolean;
43
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
44
+ mask: typeof import("imask").MaskedPattern;
45
+ } & Omit<Partial<Pick<import("imask").MaskedPattern<string>, "mask" | "format" | "eager" | "lazy" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "definitions" | "blocks" | "placeholderChar" | "displayChar">>, "mask"> & {
46
+ unmask?: "typed" | boolean;
47
+ }, "ref"> | Omit<MuiInputBaseComponentProps & Partial<Pick<import("imask").MaskedDynamic<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "dispatch">> & {
48
+ unmask?: "typed" | boolean;
49
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
50
+ mask: typeof import("imask").MaskedDynamic;
51
+ } & Omit<Partial<Pick<import("imask").MaskedDynamic<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "dispatch">>, "mask"> & {
52
+ unmask?: "typed" | boolean;
53
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
54
+ mask: typeof import("imask").Masked;
55
+ } & Omit<Partial<Pick<import("imask").Masked<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
56
+ unmask?: "typed" | boolean;
57
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
58
+ mask: import("imask").MaskedDate;
59
+ } & Omit<Omit<import("imask").MaskedDateOptions, "mask"> & {
60
+ mask: DateConstructor;
61
+ }, "mask"> & {
62
+ unmask?: "typed" | boolean;
63
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
64
+ mask: import("imask").MaskedNumber;
65
+ } & Omit<Partial<Pick<import("imask").MaskedNumber, "mask" | "scale" | "max" | "min" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "radix" | "thousandsSeparator" | "mapToRadix" | "normalizeZeros" | "padFractionalZeros">>, "mask"> & {
66
+ unmask?: "typed" | boolean;
67
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
68
+ mask: import("imask").MaskedEnum;
69
+ } & Omit<import("imask").MaskedEnumOptions, "mask"> & {
70
+ unmask?: "typed" | boolean;
71
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
72
+ mask: import("imask").MaskedRange;
73
+ } & Omit<import("imask").MaskedRangeOptions, "mask"> & {
74
+ unmask?: "typed" | boolean;
75
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
76
+ mask: import("imask").MaskedRegExp;
77
+ } & Omit<Partial<Pick<import("imask").MaskedRegExp, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
78
+ unmask?: "typed" | boolean;
79
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
80
+ mask: import("imask").MaskedFunction;
81
+ } & Omit<Partial<Pick<import("imask").MaskedFunction<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
82
+ unmask?: "typed" | boolean;
83
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
84
+ mask: import("imask").MaskedPattern;
85
+ } & Omit<Partial<Pick<import("imask").MaskedPattern<string>, "mask" | "format" | "eager" | "lazy" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "definitions" | "blocks" | "placeholderChar" | "displayChar">>, "mask"> & {
86
+ unmask?: "typed" | boolean;
87
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
88
+ mask: import("imask").MaskedDynamic;
89
+ } & Omit<Partial<Pick<import("imask").MaskedDynamic<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix" | "dispatch">>, "mask"> & {
90
+ unmask?: "typed" | boolean;
91
+ }, "ref"> | Omit<MuiInputBaseComponentProps & {
92
+ mask: import("imask").Masked;
93
+ } & Omit<Partial<Pick<import("imask").Masked<any>, "mask" | "format" | "eager" | "parent" | "prepare" | "prepareChar" | "validate" | "commit" | "parse" | "overwrite" | "skipInvalid" | "autofix">>, "mask"> & {
94
+ unmask?: "typed" | boolean;
95
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
17
96
  //# sourceMappingURL=MaskedInputAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInputAdapter.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInputAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,CAAA;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,kBAAkB,kGAc7B,CAAA"}
1
+ {"version":3,"file":"MaskedInputAdapter.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInputAdapter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,IAAI,0BAA0B,EAAE,MAAM,eAAe,CAAA;AACrF,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAc,aAAa,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,uBAAuB,GAAG,0BAA0B,GAAG,aAAa,CAAA;AAEhF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAc7B,CAAA"}
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import { IMaskInput } from 'react-imask';
4
4
  export const MaskedInputAdapter = React.forwardRef(function MaskedInputAdapter(props, ref) {
5
5
  const { onChange, ...other } = props;
6
- return (_jsx(IMaskInput, { ...other, inputRef: ref, onComplete: (value) => {
6
+ return (_jsx(IMaskInput, { ...other, inputRef: ref, onComplete: value => {
7
7
  onChange({ target: { name: props.name, value } });
8
8
  } }));
9
9
  });
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInputAdapter.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInputAdapter.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;AAWzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGhD,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACJ,KAAa,EAClB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE;YACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC,GACD,CACH,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"MaskedInputAdapter.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInputAdapter.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAiB,MAAM,aAAa,CAAA;AAIvD,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAGhD,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,KAAK,CAAC,EAAE;YAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACnD,CAAC,GACD,CACH,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -1,14 +1,9 @@
1
- import { IMaskInputProps } from 'react-imask';
1
+ import { ReactMaskOpts } from 'react-imask';
2
2
  import { TextFieldProps } from './TextField';
3
3
  export type MaskedTextFieldProps = Omit<TextFieldProps, 'slotProps'> & {
4
- mask: IMaskInputProps<HTMLInputElement>['mask'];
5
- blocks?: Record<string, any>;
6
- definitions?: Record<string, any>;
7
- pattern?: string;
8
- lazy?: boolean;
9
4
  slotProps?: Omit<TextFieldProps['slotProps'], 'input'> & {
10
5
  input?: Omit<TextFieldProps['slotProps'], 'input'>;
11
6
  };
12
- };
7
+ } & ReactMaskOpts;
13
8
  export declare function MaskedTextField(props: MaskedTextFieldProps): import("react/jsx-runtime").JSX.Element;
14
9
  //# sourceMappingURL=MaskedTextField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedTextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;IACrE,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACjC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;QACvD,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;KACnD,CAAA;CACF,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsB1D"}
1
+ {"version":3,"file":"MaskedTextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAa,cAAc,EAAE,MAAM,aAAa,CAAA;AAMvD,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;IACrE,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;QACvD,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAA;KACnD,CAAA;CACF,GAAG,aAAa,CAAA;AAEjB,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAgB1D"}
@@ -1,19 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { TextField } from './TextField';
3
- import { MaskedInputAdapter } from './MaskedInputAdapter';
3
+ import { MaskedInputAdapter, } from './MaskedInputAdapter';
4
4
  export function MaskedTextField(props) {
5
- const { mask, blocks, definitions, pattern, lazy, slotProps, ...rest } = props;
5
+ const { slotProps, ...rest } = props;
6
6
  return (_jsx(TextField, { ...rest, slotProps: {
7
7
  ...slotProps,
8
8
  input: {
9
9
  inputComponent: MaskedInputAdapter,
10
- inputProps: {
11
- mask: mask,
12
- blocks: blocks,
13
- definitions: definitions,
14
- pattern: pattern,
15
- lazy: lazy,
16
- },
10
+ inputProps: rest,
17
11
  ...slotProps?.input,
18
12
  },
19
13
  } }));
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedTextField.js","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAczD,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAE9E,OAAO,CACL,KAAC,SAAS,OACJ,IAAI,EACR,SAAS,EAAE;YACT,GAAG,SAAS;YACZ,KAAK,EAAE;gBACL,cAAc,EAAE,kBAAyB;gBACzC,UAAU,EAAE;oBACV,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,OAAO;oBAChB,IAAI,EAAE,IAAI;iBACX;gBACD,GAAG,SAAS,EAAE,KAAK;aACpB;SACF,GACD,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"MaskedTextField.js","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EACL,kBAAkB,GAEnB,MAAM,sBAAsB,CAAA;AAQ7B,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAEpC,OAAO,CACL,KAAC,SAAS,OACJ,IAAI,EACR,SAAS,EAAE;YACT,GAAG,SAAS;YACZ,KAAK,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,UAAU,EAAE,IAA+B;gBAC3C,GAAG,SAAS,EAAE,KAAK;aACpB;SACF,GACD,CACH,CAAA;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ export { IMask } from 'react-imask';
1
2
  export { useAppForm, withForm } from './formHooks';
2
3
  export { type AutocompleteProps } from './Autocomplete';
3
4
  export { type CheckboxProps } from './Checkbox';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EACL,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAA"}
@@ -1,3 +1,4 @@
1
+ export { IMask } from 'react-imask';
1
2
  export { useAppForm, withForm } from './formHooks';
2
3
  export { MaskedInput } from './MaskedInput';
3
4
  export { MaskedTextField } from './MaskedTextField';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAiBlD,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/form/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAiBlD,OAAO,EAAE,WAAW,EAAyB,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { DialogsProvider, DialogCloseButton, useDialogs, type DialogProps, type DialogResult, } from './dialogs';
2
- export { useAppForm, withForm, type CheckboxProps, type DatePickerProps, type MultiSelectProps, type SelectProps, type TextFieldProps, type TimePickerProps, type SubscribeCheckboxProps, type SubscribeDatePickerProps, type SubscribeMultiSelectProps, type SubscribeSelectProps, type SubscribeTextFieldProps, type SubscribeTimePickerProps, MaskedInput, type MaskedInputProps, MaskedTextField, type MaskedTextFieldProps, SubscribeMaskedTextField, type SubscribeMaskedTextFieldProps, } from './form';
3
- export { RouterTabs, RouterTab, TabLabel } from './tabs';
4
- export { useMaterialRouterTable, tableSearchSchema } from './table';
5
- export { useConfirmDialog, useConfirmDeleteDialog } from './common-dialogs';
1
+ export { useConfirmDeleteDialog, useConfirmDialog } from './common-dialogs';
2
+ export { DialogCloseButton, DialogsProvider, useDialogs, type DialogProps, type DialogResult, } from './dialogs';
3
+ export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppForm, withForm, type CheckboxProps, type DatePickerProps, type MaskedInputProps, type MaskedTextFieldProps, type MultiSelectProps, type SelectProps, type SubscribeCheckboxProps, type SubscribeDatePickerProps, type SubscribeMaskedTextFieldProps, type SubscribeMultiSelectProps, type SubscribeSelectProps, type SubscribeTextFieldProps, type SubscribeTimePickerProps, type TextFieldProps, type TimePickerProps, } from './form';
6
4
  export { Link } from './link';
5
+ export { tableSearchSchema, useMaterialRouterTable } from './table';
6
+ export { RouterTab, RouterTabs, TabLabel } from './tabs';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EACV,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,WAAW,EACX,KAAK,gBAAgB,EACrB,eAAe,EACf,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,KAAK,6BAA6B,GACnC,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- export { DialogsProvider, DialogCloseButton, useDialogs, } from './dialogs';
2
- export { useAppForm, withForm, MaskedInput, MaskedTextField, SubscribeMaskedTextField, } from './form';
3
- export { RouterTabs, RouterTab, TabLabel } from './tabs';
4
- export { useMaterialRouterTable, tableSearchSchema } from './table';
5
- export { useConfirmDialog, useConfirmDeleteDialog } from './common-dialogs';
1
+ export { useConfirmDeleteDialog, useConfirmDialog } from './common-dialogs';
2
+ export { DialogCloseButton, DialogsProvider, useDialogs, } from './dialogs';
3
+ export { IMask, MaskedInput, MaskedTextField, SubscribeMaskedTextField, useAppForm, withForm, } from './form';
6
4
  export { Link } from './link';
5
+ export { tableSearchSchema, useMaterialRouterTable } from './table';
6
+ export { RouterTab, RouterTabs, TabLabel } from './tabs';
7
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,UAAU,GAGX,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,UAAU,EACV,QAAQ,EAaR,WAAW,EAEX,eAAe,EAEf,wBAAwB,GAEzB,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,UAAU,GAGX,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,EACL,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,QAAQ,GAgBT,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cwncollab-org/mui-component-kit",
3
3
  "private": false,
4
- "version": "0.4.5",
4
+ "version": "0.5.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",