@cwncollab-org/mui-component-kit 0.3.0 → 0.4.1

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.
Files changed (43) hide show
  1. package/README.md +209 -61
  2. package/dist/common-dialogs/ConfirmDialog.d.ts +1 -0
  3. package/dist/common-dialogs/ConfirmDialog.d.ts.map +1 -1
  4. package/dist/common-dialogs/ConfirmDialog.js.map +1 -1
  5. package/dist/common-dialogs/useConfirmDeleteDialog.d.ts.map +1 -1
  6. package/dist/common-dialogs/useConfirmDeleteDialog.js +1 -0
  7. package/dist/common-dialogs/useConfirmDeleteDialog.js.map +1 -1
  8. package/dist/common-dialogs/useConfirmDialog.d.ts.map +1 -1
  9. package/dist/common-dialogs/useConfirmDialog.js +2 -1
  10. package/dist/common-dialogs/useConfirmDialog.js.map +1 -1
  11. package/dist/dialogs/DialogsProvider.d.ts.map +1 -1
  12. package/dist/dialogs/DialogsProvider.js +11 -10
  13. package/dist/dialogs/DialogsProvider.js.map +1 -1
  14. package/dist/dialogs/dialogsContext.d.ts +5 -2
  15. package/dist/dialogs/dialogsContext.d.ts.map +1 -1
  16. package/dist/dialogs/dialogsContext.js.map +1 -1
  17. package/dist/dialogs/dialogsHooks.d.ts +1 -1
  18. package/dist/dialogs/dialogsHooks.d.ts.map +1 -1
  19. package/dist/form/MaskedInput.d.ts +3 -0
  20. package/dist/form/MaskedInput.d.ts.map +1 -1
  21. package/dist/form/MaskedInput.js +6 -5
  22. package/dist/form/MaskedInput.js.map +1 -1
  23. package/dist/form/MaskedTextField.d.ts +4 -0
  24. package/dist/form/MaskedTextField.d.ts.map +1 -1
  25. package/dist/form/MaskedTextField.js +7 -3
  26. package/dist/form/MaskedTextField.js.map +1 -1
  27. package/dist/form/formContext.d.ts +1 -1
  28. package/dist/form/formContext.d.ts.map +1 -1
  29. package/dist/form/formHooks.d.ts +42 -48
  30. package/dist/form/formHooks.d.ts.map +1 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/tabs/RouterTabs.d.ts +9 -0
  36. package/dist/tabs/RouterTabs.d.ts.map +1 -0
  37. package/dist/tabs/RouterTabs.js +10 -0
  38. package/dist/tabs/RouterTabs.js.map +1 -0
  39. package/dist/tabs/index.d.ts +1 -1
  40. package/dist/tabs/index.d.ts.map +1 -1
  41. package/dist/tabs/index.js +1 -1
  42. package/dist/tabs/index.js.map +1 -1
  43. package/package.json +2 -3
package/README.md CHANGED
@@ -12,6 +12,7 @@ A React component library built with TypeScript and Vite. This package provides
12
12
  - Lazy loading support
13
13
  - Payload and result handling for dialogs
14
14
  - Form components with TanStack Form integration
15
+ - Router-integrated tabs with URL synchronization
15
16
 
16
17
  ## Usage Examples
17
18
 
@@ -35,7 +36,7 @@ function AppPage() {
35
36
  return (
36
37
  <Button
37
38
  variant='contained'
38
- onClick={() => openDialog('example-dialog', ExampleDialog)}
39
+ onClick={() => openDialog(ExampleDialog)}
39
40
  >
40
41
  Open Basic Dialog
41
42
  </Button>
@@ -48,16 +49,18 @@ function AppPage() {
48
49
  ```tsx
49
50
  import {
50
51
  Dialog,
51
- DialogTitle,
52
52
  DialogContentText,
53
53
  DialogContent,
54
54
  DialogProps,
55
+ DialogTitle,
55
56
  } from '@mui/material'
57
+ import { DialogCloseButton } from '@cwncollab-org/component-kit'
56
58
 
57
59
  export default function ExampleDialog({ open, onClose, ...rest }: DialogProps) {
58
60
  return (
59
61
  <Dialog open={open} onClose={onClose} {...rest}>
60
62
  <DialogTitle>Example Dialog</DialogTitle>
63
+ <DialogCloseButton onClick={() => onClose?.({}, 'escapeKeyDown')} />
61
64
  <DialogContent>
62
65
  <DialogContentText>This is an example dialog</DialogContentText>
63
66
  </DialogContent>
@@ -66,6 +69,8 @@ export default function ExampleDialog({ open, onClose, ...rest }: DialogProps) {
66
69
  }
67
70
  ```
68
71
 
72
+ > **Note**: The `DialogCloseButton` is an optional component that provides a close button (X) in the top-right corner of the dialog. It's positioned absolutely and styled to match Material-UI design patterns.
73
+
69
74
  ### Dialog with Payload
70
75
 
71
76
  ```tsx
@@ -85,12 +90,8 @@ function AppPage() {
85
90
  />
86
91
  <Button
87
92
  variant='contained'
88
- onClick={() => {
89
- openDialog(
90
- 'example-dialog-with-payload',
91
- ExampleDialogWithPayload,
92
- { payload: { name } }
93
- )
93
+ onClick={async () => {
94
+ await openDialog(ExampleDialogWithPayload, { payload: { name } })
94
95
  }}
95
96
  >
96
97
  Open Dialog with Payload
@@ -109,7 +110,7 @@ import {
109
110
  DialogContentText,
110
111
  DialogContent,
111
112
  } from '@mui/material'
112
- import { DialogProps } from '../lib'
113
+ import { DialogProps } from '@cwncollab-org/component-kit'
113
114
 
114
115
  type Payload = {
115
116
  name: string
@@ -142,30 +143,22 @@ import ExampleDialogWithResult from './examples/ExampleDialogWithResult'
142
143
 
143
144
  function AppPage() {
144
145
  const { openDialog } = useDialogs()
145
- const [result, setResult] = useState<{ name: string } | null>(null)
146
+ const [result, setResult] = useState('')
146
147
 
147
148
  return (
148
149
  <>
149
150
  <Button
150
151
  variant='contained'
151
152
  onClick={async () => {
152
- const result = await openDialog(
153
- 'example-dialog-with-result',
154
- ExampleDialogWithResult,
155
- { payload: { name: 'Initial Name' } }
156
- )
157
- if (result?.success) {
158
- setResult(result.data)
159
- }
153
+ const result = await openDialog(ExampleDialogWithResult)
154
+ setResult(JSON.stringify(result))
160
155
  }}
161
156
  >
162
157
  Open Dialog with Result
163
158
  </Button>
164
- {result && (
165
- <Typography variant='body1'>
166
- Result: {result.name}
167
- </Typography>
168
- )}
159
+ <Typography variant='body1' sx={{ mt: 1 }}>
160
+ Result: {result}
161
+ </Typography>
169
162
  </>
170
163
  )
171
164
  }
@@ -182,7 +175,7 @@ import {
182
175
  DialogActions,
183
176
  Button,
184
177
  } from '@mui/material'
185
- import { DialogProps } from '../lib'
178
+ import { DialogProps } from '@cwncollab-org/component-kit'
186
179
  import { useState } from 'react'
187
180
 
188
181
  type Payload = {
@@ -234,7 +227,7 @@ function AppPage() {
234
227
  return (
235
228
  <Button
236
229
  variant='contained'
237
- onClick={() => openDialog('example-dialog2', ExampleDialog2)}
230
+ onClick={() => openDialog(ExampleDialog2)}
238
231
  >
239
232
  Open Lazy Loaded Dialog
240
233
  </Button>
@@ -862,6 +855,7 @@ function AdvancedMaskingExamples() {
862
855
  time: '',
863
856
  currency: '',
864
857
  alphanumeric: '',
858
+ ipAddress: '',
865
859
  },
866
860
  onSubmit: ({ value }) => {
867
861
  console.log('Advanced mask values:', value)
@@ -899,42 +893,31 @@ function AdvancedMaskingExamples() {
899
893
  )}
900
894
  />
901
895
 
902
- {/* Currency with decimal */}
896
+ {/* Mixed alphanumeric */}
903
897
  <form.AppField
904
- name="currency"
898
+ name="alphanumeric"
905
899
  children={field => (
906
900
  <field.MaskedTextField
907
- mask="$num"
908
- blocks={{
909
- num: {
910
- mask: Number,
911
- scale: 2,
912
- thousandsSeparator: ',',
913
- padFractionalZeros: true,
914
- normalizeZeros: true,
915
- radix: '.',
916
- mapToRadix: ['.'],
917
- },
918
- }}
919
- label="Amount"
901
+ mask="aa00aa"
902
+ label="Product Code"
920
903
  labelBehavior="shrink"
921
904
  size="small"
922
- fullWidth
923
- placeholder="$1,234.56"
905
+ placeholder="AB12CD"
924
906
  />
925
907
  )}
926
908
  />
927
909
 
928
- {/* Mixed alphanumeric */}
910
+ {/* IP Address */}
929
911
  <form.AppField
930
- name="alphanumeric"
912
+ name="ipAddress"
931
913
  children={field => (
932
914
  <field.MaskedTextField
933
- mask="aa00aa"
934
- label="Product Code"
915
+ mask="000.000.000.000"
916
+ label="IP Address"
935
917
  labelBehavior="shrink"
936
918
  size="small"
937
- placeholder="AB12CD"
919
+ fullWidth
920
+ placeholder="192.168.1.1"
938
921
  />
939
922
  )}
940
923
  />
@@ -962,9 +945,11 @@ The MaskedTextField component accepts all standard MUI TextField props and forwa
962
945
  **Mask Patterns:**
963
946
  - `0` - any digit (0-9)
964
947
  - `a` - any letter (a-z, A-Z)
965
- - `*` - any alphanumeric character
948
+ - `*` - any character
966
949
  - `[]` - make input optional (example: `[00]` for optional digits)
967
- - `{}` - define range of repetitions (example: `{1,3}` for 1 to 3 repetitions)
950
+ - `{}` - 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)
968
953
 
969
954
  **Label Behaviors:**
970
955
  - `'auto'`: Default MUI behavior - label floats when focused or has value
@@ -972,12 +957,131 @@ The MaskedTextField component accepts all standard MUI TextField props and forwa
972
957
  - `'static'`: Label appears as a static label above the input
973
958
 
974
959
  **Advanced Masking:**
975
- For complex masking scenarios like currency formatting or custom validation, you can pass an object with `blocks` configuration to define custom mask behaviors.
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.
976
964
 
977
965
  **SubscribeMaskedTextField:**
978
966
  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.
979
967
 
980
968
 
969
+ ### Router Tabs
970
+
971
+ The Router Tabs components provide tabbed navigation integrated with TanStack Router, allowing you to create tabs that are synced with the browser URL and support nested routing.
972
+
973
+ #### Basic Router Tabs Usage
974
+
975
+ ```tsx
976
+ import { Box } from '@mui/material'
977
+ import { createFileRoute, Outlet } from '@tanstack/react-router'
978
+ import { RouterTab, RouterTabs } from '@cwncollab-org/component-kit'
979
+
980
+ export const Route = createFileRoute('/tabs-example')({
981
+ component: RouteComponent,
982
+ })
983
+
984
+ function RouteComponent() {
985
+ const match = Route.useMatch()
986
+
987
+ return (
988
+ <Box>
989
+ <RouterTabs match={match}>
990
+ <RouterTab value='/tabs-example/tab1' label='Tab 1' />
991
+ <RouterTab value='/tabs-example/tab2' label='Tab 2' />
992
+ <RouterTab value='/tabs-example/tab3' label='Tab 3' />
993
+ </RouterTabs>
994
+ <Outlet />
995
+ </Box>
996
+ )
997
+ }
998
+ ```
999
+
1000
+ #### Router Tabs with TabLabel Components
1001
+
1002
+ The `TabLabel` component allows you to add visual indicators like error states to your tabs:
1003
+
1004
+ ```tsx
1005
+ import { RouterTab, RouterTabs, TabLabel } from '@cwncollab-org/component-kit'
1006
+
1007
+ function MyTabsComponent() {
1008
+ const match = Route.useMatch()
1009
+ const [hasError, setHasError] = useState(false)
1010
+
1011
+ return (
1012
+ <RouterTabs match={match}>
1013
+ <RouterTab
1014
+ value='/dashboard/overview'
1015
+ label={<TabLabel label='Overview' />}
1016
+ />
1017
+ <RouterTab
1018
+ value='/dashboard/settings'
1019
+ label={<TabLabel label='Settings' error={hasError} />}
1020
+ />
1021
+ <RouterTab
1022
+ value='/dashboard/profile'
1023
+ label='Profile'
1024
+ />
1025
+ </RouterTabs>
1026
+ )
1027
+ }
1028
+ ```
1029
+
1030
+ #### Nested Router Tabs
1031
+
1032
+ Router Tabs support nested routing structures:
1033
+
1034
+ ```tsx
1035
+ // Parent route: /tabs-example/tab3
1036
+ function Tab3Component() {
1037
+ const match = Route.useMatch()
1038
+
1039
+ return (
1040
+ <Box>
1041
+ <Typography variant='h6'>Tab 3 Content</Typography>
1042
+ <RouterTabs match={match}>
1043
+ <RouterTab value='/tabs-example/tab3/list' label='List View' />
1044
+ <RouterTab value='/tabs-example/tab3/123' label='Detail View' />
1045
+ </RouterTabs>
1046
+ <Outlet />
1047
+ </Box>
1048
+ )
1049
+ }
1050
+ ```
1051
+
1052
+ #### RouterTabs Props
1053
+
1054
+ | Prop | Type | Default | Description |
1055
+ |------|------|---------|-------------|
1056
+ | `match` | `MakeRouteMatch` | - | The route match object from TanStack Router used to determine active tab |
1057
+ | `children` | `ReactNode` | - | RouterTab components |
1058
+
1059
+ The RouterTabs component also accepts all standard MUI Tabs props except `value` which is automatically managed based on the current route.
1060
+
1061
+ #### RouterTab Props
1062
+
1063
+ | Prop | Type | Default | Description |
1064
+ |------|------|---------|-------------|
1065
+ | `value` | `ValidateToPath` | - | The route path this tab should navigate to |
1066
+ | `label` | `ReactNode` | - | The label content for the tab (can be string or TabLabel component) |
1067
+
1068
+ The RouterTab component also accepts all standard MUI Tab props except `value` which is used for routing.
1069
+
1070
+ #### TabLabel Props
1071
+
1072
+ | Prop | Type | Default | Description |
1073
+ |------|------|---------|-------------|
1074
+ | `label` | `string` | - | The text label for the tab |
1075
+ | `error` | `boolean` | `false` | Whether to show an error indicator (red dot) next to the label |
1076
+
1077
+ **Features:**
1078
+ - **URL Synchronization**: Tab selection is automatically synchronized with the browser URL
1079
+ - **Nested Routing**: Supports complex nested tab structures with child routes
1080
+ - **Type Safety**: Full TypeScript support with path validation
1081
+ - **MUI Integration**: Built on top of Material-UI Tabs with full styling support
1082
+ - **Error Indicators**: Visual error states with the TabLabel component
1083
+
1084
+
981
1085
  ### Common Dialog Patterns
982
1086
 
983
1087
  Here are some common dialog patterns you can implement using the component kit:
@@ -991,19 +1095,24 @@ function MyComponent() {
991
1095
  const confirm = useConfirmDialog()
992
1096
 
993
1097
  const handleClick = async () => {
994
- const { success } = await confirm({
1098
+ const result = await confirm({
995
1099
  title: 'Confirm',
996
- message: 'Are you sure you want to add this item to cart?',
1100
+ message: 'Are you sure you want to confirm?',
1101
+ confirmText: 'Confirm',
1102
+ cancelText: 'Cancel',
997
1103
  })
998
-
999
- if (success) {
1000
- // Proceed
1104
+
1105
+ if (result.success) {
1106
+ // Proceed with the action
1107
+ console.log('User confirmed')
1108
+ } else {
1109
+ console.log('User cancelled')
1001
1110
  }
1002
1111
  }
1003
1112
 
1004
1113
  return (
1005
1114
  <Button onClick={handleClick}>
1006
- Click
1115
+ Confirm Action
1007
1116
  </Button>
1008
1117
  )
1009
1118
  }
@@ -1018,20 +1127,59 @@ function MyComponent() {
1018
1127
  const confirmDelete = useConfirmDeleteDialog()
1019
1128
 
1020
1129
  const handleDelete = async () => {
1021
- const { success } = await confirmDelete({
1022
- title: 'Delete Item',
1023
- message: 'Are you sure you want to delete this item? This action cannot be undone.',
1130
+ const result = await confirmDelete({
1131
+ title: 'Confirm Delete',
1132
+ message: 'Are you sure you want to delete this item?',
1133
+ confirmText: 'Delete',
1134
+ cancelText: 'Cancel',
1024
1135
  })
1025
1136
 
1026
- if (success) {
1137
+ if (result.success) {
1027
1138
  // Proceed with deletion
1139
+ console.log('Item deleted')
1140
+ } else {
1141
+ console.log('Deletion cancelled')
1028
1142
  }
1029
1143
  }
1030
1144
 
1031
1145
  return (
1032
- <Button onClick={handleDelete}>
1146
+ <Button onClick={handleDelete} color="error">
1033
1147
  Delete Item
1034
1148
  </Button>
1035
1149
  )
1036
1150
  }
1037
1151
  ```
1152
+
1153
+ #### Advanced Dialog Usage with Dialog Count
1154
+
1155
+ ```tsx
1156
+ import { useDialogs, useConfirmDialog } from '@cwncollab-org/component-kit'
1157
+
1158
+ function DialogManager() {
1159
+ const { openDialog, dialogs } = useDialogs()
1160
+ const confirm = useConfirmDialog()
1161
+
1162
+ return (
1163
+ <Stack spacing={2}>
1164
+ <Typography variant='body1'>
1165
+ Active dialogs: {dialogs.length}
1166
+ </Typography>
1167
+
1168
+ <Button
1169
+ variant='contained'
1170
+ onClick={async () => {
1171
+ const result = await confirm({
1172
+ title: 'Multiple Dialogs',
1173
+ message: 'You can open multiple dialogs simultaneously.',
1174
+ confirmText: 'OK',
1175
+ cancelText: 'Cancel',
1176
+ })
1177
+ console.log(result)
1178
+ }}
1179
+ >
1180
+ Open Confirmation Dialog
1181
+ </Button>
1182
+ </Stack>
1183
+ )
1184
+ }
1185
+ ```
@@ -9,6 +9,7 @@ export type ConfirmDialogOptions = {
9
9
  confirm?: ButtonProps;
10
10
  cancel?: ButtonProps;
11
11
  };
12
+ dialogKey?: string;
12
13
  };
13
14
  type ConfirmDialogProps = DialogProps<ConfirmDialogOptions>;
14
15
  export declare function ConfirmDialog(props: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/lib/common-dialogs/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAKZ,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,WAAW,CAAA;QACrB,MAAM,CAAC,EAAE,WAAW,CAAA;KACrB,CAAA;CACF,CAAA;AAED,KAAK,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAA;AAE3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA8BtD"}
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/lib/common-dialogs/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAKZ,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,WAAW,CAAA;QACrB,MAAM,CAAC,EAAE,WAAW,CAAA;KACrB,CAAA;IACD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,kBAAkB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAA;AAE3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA8BtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../src/lib/common-dialogs/ConfirmDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EAEN,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAgBtC,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACjD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;IAEtC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,SAAS,CAAA;IACrD,MAAM,YAAY,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI;QAClD,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,WAAW;KACrB,CAAA;IACD,YAAY,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAA;IAClD,MAAM,WAAW,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI;QAChD,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,UAAU;KACpB,CAAA;IACD,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAE3D,OAAO,CACL,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,IAAI,EAAC,SAAS,WAAK,IAAI,aACpE,KAAC,WAAW,cAAE,KAAK,GAAe,EAClC,KAAC,aAAa,cACZ,KAAC,iBAAiB,cAAE,OAAO,GAAqB,GAClC,EAChB,MAAC,aAAa,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aACjC,KAAC,MAAM,OAAK,WAAW,YAAG,UAAU,GAAU,EAC9C,KAAC,MAAM,OAAK,YAAY,YAAG,WAAW,GAAU,IAClC,IACT,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ConfirmDialog.js","sourceRoot":"","sources":["../../src/lib/common-dialogs/ConfirmDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EAEN,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,WAAW,GACZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAiBtC,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IACjD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAA;IAEtC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,SAAS,CAAA;IACrD,MAAM,YAAY,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI;QAClD,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,WAAW;KACrB,CAAA;IACD,YAAY,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,QAAQ,CAAA;IAClD,MAAM,WAAW,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI;QAChD,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,UAAU;KACpB,CAAA;IACD,WAAW,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;IAE3D,OAAO,CACL,MAAC,MAAM,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,IAAI,EAAC,SAAS,WAAK,IAAI,aACpE,KAAC,WAAW,cAAE,KAAK,GAAe,EAClC,KAAC,aAAa,cACZ,KAAC,iBAAiB,cAAE,OAAO,GAAqB,GAClC,EAChB,MAAC,aAAa,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aACjC,KAAC,MAAM,OAAK,WAAW,YAAG,UAAU,GAAU,EAC9C,KAAC,MAAM,OAAK,YAAY,YAAG,WAAW,GAAU,IAClC,IACT,CACV,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConfirmDeleteDialog.d.ts","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDeleteDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAGtD,wBAAgB,sBAAsB,eAEG,oBAAoB,mDAc5D"}
1
+ {"version":3,"file":"useConfirmDeleteDialog.d.ts","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDeleteDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAGtD,wBAAgB,sBAAsB,eAEG,oBAAoB,mDAe5D"}
@@ -12,6 +12,7 @@ export function useConfirmDeleteDialog() {
12
12
  ...options?.slotProps?.confirm,
13
13
  },
14
14
  },
15
+ dialogKey: 'confirm-delete-dialog',
15
16
  });
16
17
  };
17
18
  return confirmDelete;
@@ -1 +1 @@
1
- {"version":3,"file":"useConfirmDeleteDialog.js","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDeleteDialog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,MAAM,aAAa,GAAG,KAAK,EAAE,OAA8B,EAAE,EAAE;QAC7D,OAAO,MAAM,OAAO,CAAC;YACnB,GAAG,OAAO;YACV,SAAS,EAAE;gBACT,GAAG,OAAO,EAAE,SAAS;gBACrB,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,WAAW;oBACpB,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO;iBAC/B;aACF;SACF,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,OAAO,aAAa,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"useConfirmDeleteDialog.js","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDeleteDialog.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAClC,MAAM,aAAa,GAAG,KAAK,EAAE,OAA8B,EAAE,EAAE;QAC7D,OAAO,MAAM,OAAO,CAAC;YACnB,GAAG,OAAO;YACV,SAAS,EAAE;gBACT,GAAG,OAAO,EAAE,SAAS;gBACrB,OAAO,EAAE;oBACP,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,WAAW;oBACpB,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO;iBAC/B;aACF;YACD,SAAS,EAAE,uBAAuB;SACnC,CAAC,CAAA;IACJ,CAAC,CAAA;IACD,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDialog.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,wBAAgB,gBAAgB,eAEH,oBAAoB,mDAKhD"}
1
+ {"version":3,"file":"useConfirmDialog.d.ts","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDialog.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAErE,wBAAgB,gBAAgB,eAEH,oBAAoB,mDAMhD"}
@@ -2,7 +2,8 @@ import { useDialogs } from '../dialogs/dialogsHooks';
2
2
  import { ConfirmDialog } from './ConfirmDialog';
3
3
  export function useConfirmDialog() {
4
4
  const { openDialog } = useDialogs();
5
- const confirm = (options) => openDialog('confirm-dialog', ConfirmDialog, {
5
+ const confirm = (options) => openDialog(ConfirmDialog, {
6
+ dialogKey: options?.dialogKey,
6
7
  payload: options,
7
8
  });
8
9
  return confirm;
@@ -1 +1 @@
1
- {"version":3,"file":"useConfirmDialog.js","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAA;AAErE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE,CACjD,UAAU,CAAC,gBAAgB,EAAE,aAAa,EAAE;QAC1C,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IACJ,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"useConfirmDialog.js","sourceRoot":"","sources":["../../src/lib/common-dialogs/useConfirmDialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAwB,MAAM,iBAAiB,CAAA;AAErE,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAAA;IACnC,MAAM,OAAO,GAAG,CAAC,OAA8B,EAAE,EAAE,CACjD,UAAU,CAAC,aAAa,EAAE;QACxB,SAAS,EAAE,OAAO,EAAE,SAAS;QAC7B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAA;IACJ,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogsProvider.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs/DialogsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,OAAO,CAAA;AASpE,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAwG9D"}
1
+ {"version":3,"file":"DialogsProvider.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs/DialogsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6B,MAAM,OAAO,CAAA;AAUpE,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CA4G9D"}
@@ -5,22 +5,23 @@ import { Backdrop, CircularProgress } from '@mui/material';
5
5
  export function DialogsProvider({ children }) {
6
6
  const [dialogs, setDialogs] = useState([]);
7
7
  const providerId = useId();
8
- const openDialog = async (key, Dialog, props) => {
8
+ const openDialog = async (Dialog, opts) => {
9
+ const { dialogKey = Dialog.name, ...props } = opts || {};
9
10
  return new Promise(resolve => {
10
- const existingDialog = dialogs.find(dialog => dialog.key === key);
11
+ const existingDialog = dialogs.find(dialog => dialog.dialogKey === dialogKey);
11
12
  if (existingDialog) {
12
13
  existingDialog.open = true;
13
14
  existingDialog.resolve = resolve;
14
15
  existingDialog.props = props;
15
- setDialogs(prev => prev.map(d => (d.key === key ? existingDialog : d)));
16
+ setDialogs(prev => prev.map(d => (d.dialogKey === dialogKey ? existingDialog : d)));
16
17
  return;
17
18
  }
18
- const dialogId = `${providerId}-${key}`;
19
+ const dialogId = `${providerId}-${dialogKey}`;
19
20
  const dialog = {
20
21
  id: dialogId,
21
22
  open: true,
22
23
  Component: Dialog,
23
- key,
24
+ dialogKey,
24
25
  props: props,
25
26
  resolve: resolve,
26
27
  };
@@ -28,12 +29,12 @@ export function DialogsProvider({ children }) {
28
29
  });
29
30
  };
30
31
  const closeDialog = (key, result) => {
31
- const dialog = dialogs.find(dialog => dialog.key === key);
32
+ const dialog = dialogs.find(dialog => dialog.dialogKey === key);
32
33
  if (!dialog) {
33
34
  return;
34
35
  }
35
36
  dialog.open = false;
36
- setDialogs(prev => prev.map(d => (d.key === key ? dialog : d)));
37
+ setDialogs(prev => prev.map(d => (d.dialogKey === key ? dialog : d)));
37
38
  if (result === 'backdropClick' || result === 'escapeKeyDown') {
38
39
  dialog.resolve({ success: false });
39
40
  return;
@@ -41,7 +42,7 @@ export function DialogsProvider({ children }) {
41
42
  dialog.resolve(result);
42
43
  };
43
44
  const removeDialog = (key) => {
44
- setDialogs(prev => prev.filter(d => d.key !== key));
45
+ setDialogs(prev => prev.filter(d => d.dialogKey !== key));
45
46
  };
46
47
  const handleCloseWithResult = (key, result) => {
47
48
  closeDialog(key, result);
@@ -51,10 +52,10 @@ export function DialogsProvider({ children }) {
51
52
  dialogs,
52
53
  openDialog,
53
54
  closeDialog,
54
- }, children: [children, _jsx(Suspense, { fallback: _jsx(Backdrop, { open: true, sx: { zIndex: t => t.zIndex.drawer + 1 }, children: _jsx(CircularProgress, { color: 'inherit' }) }), children: dialogs.map(dialog => (_jsx(dialog.Component, { id: dialog.id, open: dialog.open, onClose: (_, result) => handleCloseWithResult(dialog.key, result), slotProps: {
55
+ }, children: [children, _jsx(Suspense, { fallback: _jsx(Backdrop, { open: true, sx: { zIndex: t => t.zIndex.drawer + 1 }, children: _jsx(CircularProgress, { color: 'inherit' }) }), children: dialogs.map(dialog => (_jsx(dialog.Component, { id: dialog.id, open: dialog.open, onClose: (_, result) => handleCloseWithResult(dialog.dialogKey, result), slotProps: {
55
56
  transition: {
56
57
  onExited: () => {
57
- removeDialog(dialog.key);
58
+ removeDialog(dialog.dialogKey);
58
59
  },
59
60
  },
60
61
  }, closeAfterTransition: false, ...dialog.props }, dialog.id))) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"DialogsProvider.js","sourceRoot":"","sources":["../../src/lib/dialogs/DialogsProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DialogsProvider.js","sourceRoot":"","sources":["../../src/lib/dialogs/DialogsProvider.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
1
  import { DialogProps, DialogResult } from './types';
2
2
  export type ManagedDialogProps<TPayload, TResult> = Omit<DialogProps<TPayload, TResult>, 'id' | 'open' | 'onClose'>;
3
3
  export type ManagedDialog<TPayload, TResult> = {
4
- key: string;
4
+ dialogKey: string;
5
5
  Component: React.FC<DialogProps<TPayload, TResult>>;
6
6
  props: ManagedDialogProps<TPayload, TResult>;
7
7
  id: string;
8
8
  open: boolean;
9
9
  resolve: (value: DialogResult<TResult> | PromiseLike<DialogResult<TResult>>) => void;
10
10
  };
11
+ export type OpenDialogOptions<TPayload, TResult> = ManagedDialogProps<TPayload, TResult> & {
12
+ dialogKey?: string;
13
+ };
11
14
  type DialogManagerContextType = {
12
15
  providerId: string;
13
- openDialog: <TPayload, TResult>(key: string, Dialog: React.FC<DialogProps<TPayload, TResult>>, props?: ManagedDialogProps<TPayload, TResult>) => Promise<DialogResult<TResult>>;
16
+ openDialog: <TPayload, TResult>(Dialog: React.FC<DialogProps<TPayload, TResult>>, opts?: OpenDialogOptions<TPayload, TResult>) => Promise<DialogResult<TResult>>;
14
17
  closeDialog: <TData>(key: string, result: DialogResult<TData>) => void;
15
18
  dialogs: ManagedDialog<unknown, unknown>[];
16
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dialogsContext.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs/dialogsContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEnD,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CACtD,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC9B,IAAI,GAAG,MAAM,GAAG,SAAS,CAC1B,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,IAAI;IAC7C,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,CACP,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAC9D,IAAI,CAAA;CACV,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAC5B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAChD,KAAK,CAAC,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAC1C,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IACtE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,cAAc,mDAAiD,CAAA"}
1
+ {"version":3,"file":"dialogsContext.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs/dialogsContext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEnD,MAAM,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,CACtD,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAC9B,IAAI,GAAG,MAAM,GAAG,SAAS,CAC1B,CAAA;AAED,MAAM,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,IAAI;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,CACP,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAC9D,IAAI,CAAA;CACV,CAAA;AAED,MAAM,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,IAAI,kBAAkB,CACnE,QAAQ,EACR,OAAO,CACR,GAAG;IACF,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,CAAC,QAAQ,EAAE,OAAO,EAC5B,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAChD,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,KACxC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;IACnC,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAA;IACtE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAA;CAC3C,CAAA;AAED,eAAO,MAAM,cAAc,mDAAiD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"dialogsContext.js","sourceRoot":"","sources":["../../src/lib/dialogs/dialogsContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AA8BrC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAA2B,IAAK,CAAC,CAAA"}
1
+ {"version":3,"file":"dialogsContext.js","sourceRoot":"","sources":["../../src/lib/dialogs/dialogsContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAoCrC,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAA2B,IAAK,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export declare function useDialogs(): {
2
- openDialog: <TPayload, TResult>(key: string, Dialog: React.FC<import("./types").DialogProps<TPayload, TResult>>, props?: import("./dialogsContext").ManagedDialogProps<TPayload, TResult>) => Promise<import("./types").DialogResult<TResult>>;
2
+ openDialog: <TPayload, TResult>(Dialog: React.FC<import("./types").DialogProps<TPayload, TResult>>, opts?: import("./dialogsContext").OpenDialogOptions<TPayload, TResult>) => Promise<import("./types").DialogResult<TResult>>;
3
3
  closeDialog: <TData>(key: string, result: import("./types").DialogResult<TData>) => void;
4
4
  dialogs: import("./dialogsContext").ManagedDialog<unknown, unknown>[];
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dialogsHooks.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs/dialogsHooks.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU;yDAIsW,MAAO,EAAE;;;EADxY"}
1
+ {"version":3,"file":"dialogsHooks.d.ts","sourceRoot":"","sources":["../../src/lib/dialogs/dialogsHooks.ts"],"names":[],"mappings":"AAGA,wBAAgB,UAAU;4CAIsd,MAAO,EAAE;;;EADxf"}
@@ -1,6 +1,9 @@
1
1
  import { IMaskInputProps } from 'react-imask';
2
2
  export type MaskedInputProps = {
3
3
  mask: IMaskInputProps<HTMLInputElement>['mask'];
4
+ pattern?: string;
5
+ definitions?: Record<string, RegExp>;
6
+ blocks?: Record<string, any>;
4
7
  value?: string;
5
8
  onChange?: (value: string) => void;
6
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAA;AAIzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC,CAAA;AA4BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAclD"}
1
+ {"version":3,"file":"MaskedInput.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,eAAe,EAAE,MAAM,aAAa,CAAA;AAIzD,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;AA0BD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAiBlD"}
@@ -3,15 +3,16 @@ import { IMaskInput } from 'react-imask';
3
3
  import { Input as MuiInput } from '@mui/material';
4
4
  import React from 'react';
5
5
  const TextMaskCustom = React.forwardRef(function TextMaskCustom(props, ref) {
6
- const { onChange, mask, ...other } = props;
7
- return (_jsx(IMaskInput, { ...other, mask: mask, definitions: {
8
- '#': /[1-9]/,
9
- }, inputRef: ref, onAccept: (value) => onChange({ target: { name: props.name, value } }), overwrite: true }));
6
+ const { onChange, ...other } = props;
7
+ return (_jsx(IMaskInput, { ...other, inputRef: ref, onAccept: (value) => onChange({ target: { name: props.name, value } }), overwrite: true }));
10
8
  });
11
9
  export function MaskedInput(props) {
12
- const { mask, value, onChange } = props;
10
+ const { mask, value, onChange, definitions, blocks, pattern } = props;
13
11
  return (_jsx(MuiInput, { value: value, onChange: e => onChange?.(e.target.value), name: 'maskedInput', inputComponent: TextMaskCustom, inputProps: {
14
12
  mask: mask,
13
+ definitions: definitions,
14
+ blocks: blocks,
15
+ pattern: pattern,
15
16
  } }));
16
17
  }
17
18
  //# sourceMappingURL=MaskedInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedInput.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAGrC,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG;IAClC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IAC1C,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,IAAI,EAAE,IAAI,EACV,WAAW,EAAE;YACX,GAAG,EAAE,OAAO;SACb,EACD,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAEnD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAA;IAEvC,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,IAAI,EAAC,aAAa,EAClB,cAAc,EAAE,cAAqB,EACrC,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;SACX,GACD,CACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"MaskedInput.js","sourceRoot":"","sources":["../../src/lib/form/MaskedInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,MAAM,OAAO,CAAA;AAmBzB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,SAAS,cAAc,CAAC,KAAK,EAAE,GAAG;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACJ,KAAa,EAClB,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAEnD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,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,IAAI,EAAC,aAAa,EAClB,cAAc,EAAE,cAAqB,EACrC,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;SACjB,GACD,CACH,CAAA;AACH,CAAC"}
@@ -2,6 +2,10 @@ import { IMaskInputProps } from 'react-imask';
2
2
  import { TextFieldProps } from './TextField';
3
3
  export type MaskedTextFieldProps = Omit<TextFieldProps, 'slotProps'> & {
4
4
  mask: IMaskInputProps<HTMLInputElement>['mask'];
5
+ blocks?: Record<string, any>;
6
+ definitions?: Record<string, any>;
7
+ pattern?: string;
8
+ lazy?: boolean;
5
9
  slotProps?: Omit<TextFieldProps['slotProps'], 'input'> & {
6
10
  input?: Omit<TextFieldProps['slotProps'], 'input'>;
7
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedTextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":"AACA,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,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;AAmBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAkB1D"}
1
+ {"version":3,"file":"MaskedTextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":"AACA,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;AAkBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAsB1D"}
@@ -3,17 +3,21 @@ import React from 'react';
3
3
  import { TextField } from './TextField';
4
4
  import { IMaskInput } from 'react-imask';
5
5
  const MaskedInputAdapter = React.forwardRef(function MaskedInputAdapter(props, ref) {
6
- const { onChange, mask, ...other } = props;
7
- return (_jsx(IMaskInput, { ...other, mask: mask, inputRef: ref, onAccept: (value) => onChange({ target: { name: props.name, value } }), overwrite: true }));
6
+ const { onChange, ...other } = props;
7
+ return (_jsx(IMaskInput, { ...other, inputRef: ref, onAccept: (value) => onChange({ target: { name: props.name, value } }), overwrite: true }));
8
8
  });
9
9
  export function MaskedTextField(props) {
10
- const { mask, slotProps, ...rest } = props;
10
+ const { mask, blocks, definitions, pattern, lazy, slotProps, ...rest } = props;
11
11
  return (_jsx(TextField, { ...rest, slotProps: {
12
12
  ...slotProps,
13
13
  input: {
14
14
  inputComponent: MaskedInputAdapter,
15
15
  inputProps: {
16
16
  mask: mask,
17
+ blocks: blocks,
18
+ definitions: definitions,
19
+ pattern: pattern,
20
+ lazy: lazy,
17
21
  },
18
22
  ...slotProps?.input,
19
23
  },
@@ -1 +1 @@
1
- {"version":3,"file":"MaskedTextField.js","sourceRoot":"","sources":["../../src/lib/form/MaskedTextField.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AASxC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CACzC,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IAC1C,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAEnD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAE1C,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;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":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAcxC,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CACzC,SAAS,kBAAkB,CAAC,KAAK,EAAE,GAAG;IACpC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAA;IACpC,OAAO,CACL,KAAC,UAAU,OACL,KAAK,EACT,QAAQ,EAAE,GAAG,EACb,QAAQ,EAAE,CAAC,KAAU,EAAE,EAAE,CACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,EAEnD,SAAS,SACT,CACH,CAAA;AACH,CAAC,CACF,CAAA;AAED,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,2 +1,2 @@
1
- export declare const fieldContext: import("react").Context<import("@tanstack/form-core").AnyFieldApi>, formContext: import("react").Context<import("@tanstack/form-core").AnyFormApi>, useFieldContext: <TData>() => import("@tanstack/form-core").FieldApi<any, string, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, useFormContext: () => import("@tanstack/react-form").ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any>;
1
+ export declare const fieldContext: import("react").Context<import("@tanstack/form-core").AnyFieldApi>, formContext: import("react").Context<import("@tanstack/form-core").AnyFormApi>, useFieldContext: <TData>() => import("@tanstack/form-core").FieldApi<any, string, TData, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>, useFormContext: () => import("@tanstack/react-form").ReactFormExtendedApi<Record<string, never>, any, any, any, any, any, any, any, any, any, any, any>;
2
2
  //# sourceMappingURL=formContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formContext.d.ts","sourceRoot":"","sources":["../../src/lib/form/formContext.ts"],"names":[],"mappings":"AAEA,eAAO,MAAQ,YAAY,sEAAE,WAAW,qEAAE,eAAe,2JAAE,cAAc,+HAC/C,CAAA"}
1
+ {"version":3,"file":"formContext.d.ts","sourceRoot":"","sources":["../../src/lib/form/formContext.ts"],"names":[],"mappings":"AAEA,eAAO,MAAQ,YAAY,sEAAE,WAAW,qEAAE,eAAe,+KAAE,cAAc,yIAC/C,CAAA"}
@@ -17,31 +17,28 @@ import { RadioGroup } from './RadioGroup';
17
17
  import { SubscribeRadioGroup } from './SubscribeRadioGroup';
18
18
  import { MaskedTextField } from './MaskedTextField';
19
19
  import { SubscribeMaskedTextField } from './SubscribeMaskedTextField';
20
- export declare const useAppForm: <TFormData, TOnMount extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: import("@tanstack/form-core").FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta>) => import("@tanstack/form-core").FormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> & import("@tanstack/react-form").ReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta> & NoInfer<{
20
+ export declare const useAppForm: <TFormData, TOnMount extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta>(props: import("@tanstack/form-core").FormOptions<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta>) => import("@tanstack/react-form").AppFieldExtendedReactFormApi<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
21
+ readonly Autocomplete: typeof Autocomplete;
22
+ readonly TextField: typeof TextField;
23
+ readonly Checkbox: typeof Checkbox;
24
+ readonly Select: typeof Select;
25
+ readonly MaskedTextField: typeof MaskedTextField;
26
+ readonly MultiSelect: typeof MultiSelect;
27
+ readonly RadioGroup: typeof RadioGroup;
28
+ readonly DatePicker: typeof DatePicker;
29
+ readonly TimePicker: typeof TimePicker;
30
+ readonly SubscribeAutocomplete: typeof SubscribeAutocomplete;
31
+ readonly SubscribeTextField: typeof SubscribeTextField;
32
+ readonly SubscribeMaskedTextField: typeof SubscribeMaskedTextField;
33
+ readonly SubscribeSelect: typeof SubscribeSelect;
34
+ readonly SubscribeMultiSelect: typeof SubscribeMultiSelect;
35
+ readonly SubscribeCheckbox: typeof SubscribeCheckbox;
36
+ readonly SubscribeDatePicker: typeof SubscribeDatePicker;
37
+ readonly SubscribeTimePicker: typeof SubscribeTimePicker;
38
+ readonly SubscribeRadioGroup: typeof SubscribeRadioGroup;
39
+ }, {
21
40
  readonly SubscribeButton: typeof SubscribeButton;
22
- }> & {
23
- AppField: import("@tanstack/react-form").FieldComponent<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta, NoInfer<{
24
- readonly Autocomplete: typeof Autocomplete;
25
- readonly TextField: typeof TextField;
26
- readonly Checkbox: typeof Checkbox;
27
- readonly Select: typeof Select;
28
- readonly MaskedTextField: typeof MaskedTextField;
29
- readonly MultiSelect: typeof MultiSelect;
30
- readonly RadioGroup: typeof RadioGroup;
31
- readonly DatePicker: typeof DatePicker;
32
- readonly TimePicker: typeof TimePicker;
33
- readonly SubscribeAutocomplete: typeof SubscribeAutocomplete;
34
- readonly SubscribeTextField: typeof SubscribeTextField;
35
- readonly SubscribeMaskedTextField: typeof SubscribeMaskedTextField;
36
- readonly SubscribeSelect: typeof SubscribeSelect;
37
- readonly SubscribeMultiSelect: typeof SubscribeMultiSelect;
38
- readonly SubscribeCheckbox: typeof SubscribeCheckbox;
39
- readonly SubscribeDatePicker: typeof SubscribeDatePicker;
40
- readonly SubscribeTimePicker: typeof SubscribeTimePicker;
41
- readonly SubscribeRadioGroup: typeof SubscribeRadioGroup;
42
- }>>;
43
- AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
44
- }, withForm: <TFormData, TOnMount extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta, TRenderProps extends Record<string, unknown> = {}>({ render, props, }: import("@tanstack/react-form").WithFormProps<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnServer, TSubmitMeta, {
41
+ }>, withForm: <TFormData, TOnMount extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChange extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnChangeAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnBlur extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnBlurAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnSubmit extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnSubmitAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnDynamic extends import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined, TOnDynamicAsync extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TOnServer extends import("@tanstack/form-core").FormAsyncValidateOrFn<TFormData> | undefined, TSubmitMeta, TRenderProps extends object = {}>({ render, props, }: import("@tanstack/react-form").WithFormProps<TFormData, TOnMount, TOnChange, TOnChangeAsync, TOnBlur, TOnBlurAsync, TOnSubmit, TOnSubmitAsync, TOnDynamic, TOnDynamicAsync, TOnServer, TSubmitMeta, {
45
42
  readonly Autocomplete: typeof Autocomplete;
46
43
  readonly TextField: typeof TextField;
47
44
  readonly Checkbox: typeof Checkbox;
@@ -63,30 +60,27 @@ export declare const useAppForm: <TFormData, TOnMount extends import("@tanstack/
63
60
  }, {
64
61
  readonly SubscribeButton: typeof SubscribeButton;
65
62
  }, TRenderProps>) => (props: import("react").PropsWithChildren<NoInfer<[unknown] extends [TRenderProps] ? any : TRenderProps> & {
66
- form: import("@tanstack/form-core").FormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta> & import("@tanstack/react-form").ReactFormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta> & NoInfer<{
63
+ form: import("@tanstack/react-form").AppFieldExtendedReactFormApi<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnDynamic] ? [TOnDynamic] extends [TOnDynamic & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnDynamic : TOnDynamic, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnDynamicAsync] ? [TOnDynamicAsync] extends [TOnDynamicAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnDynamicAsync : TOnDynamicAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta, {
64
+ readonly Autocomplete: typeof Autocomplete;
65
+ readonly TextField: typeof TextField;
66
+ readonly Checkbox: typeof Checkbox;
67
+ readonly Select: typeof Select;
68
+ readonly MaskedTextField: typeof MaskedTextField;
69
+ readonly MultiSelect: typeof MultiSelect;
70
+ readonly RadioGroup: typeof RadioGroup;
71
+ readonly DatePicker: typeof DatePicker;
72
+ readonly TimePicker: typeof TimePicker;
73
+ readonly SubscribeAutocomplete: typeof SubscribeAutocomplete;
74
+ readonly SubscribeTextField: typeof SubscribeTextField;
75
+ readonly SubscribeMaskedTextField: typeof SubscribeMaskedTextField;
76
+ readonly SubscribeSelect: typeof SubscribeSelect;
77
+ readonly SubscribeMultiSelect: typeof SubscribeMultiSelect;
78
+ readonly SubscribeCheckbox: typeof SubscribeCheckbox;
79
+ readonly SubscribeDatePicker: typeof SubscribeDatePicker;
80
+ readonly SubscribeTimePicker: typeof SubscribeTimePicker;
81
+ readonly SubscribeRadioGroup: typeof SubscribeRadioGroup;
82
+ }, {
67
83
  readonly SubscribeButton: typeof SubscribeButton;
68
- }> & {
69
- AppField: import("@tanstack/react-form").FieldComponent<[unknown] extends [TFormData] ? any : TFormData, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnMount] ? [TOnMount] extends [TOnMount & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnMount : TOnMount, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChange] ? [TOnChange] extends [TOnChange & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChange : TOnChange, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnChangeAsync] ? [TOnChangeAsync] extends [TOnChangeAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnChangeAsync : TOnChangeAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlur] ? [TOnBlur] extends [TOnBlur & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlur : TOnBlur, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnBlurAsync] ? [TOnBlurAsync] extends [TOnBlurAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnBlurAsync : TOnBlurAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmit] ? [TOnSubmit] extends [TOnSubmit & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmit : TOnSubmit, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnSubmitAsync] ? [TOnSubmitAsync] extends [TOnSubmitAsync & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnSubmitAsync : TOnSubmitAsync, [import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined] extends [TOnServer] ? [TOnServer] extends [TOnServer & (import("@tanstack/form-core").FormValidateOrFn<TFormData> | undefined)] ? any : TOnServer : TOnServer, [unknown] extends [TSubmitMeta] ? any : TSubmitMeta, NoInfer<{
70
- readonly Autocomplete: typeof Autocomplete;
71
- readonly TextField: typeof TextField;
72
- readonly Checkbox: typeof Checkbox;
73
- readonly Select: typeof Select;
74
- readonly MaskedTextField: typeof MaskedTextField;
75
- readonly MultiSelect: typeof MultiSelect;
76
- readonly RadioGroup: typeof RadioGroup;
77
- readonly DatePicker: typeof DatePicker;
78
- readonly TimePicker: typeof TimePicker;
79
- readonly SubscribeAutocomplete: typeof SubscribeAutocomplete;
80
- readonly SubscribeTextField: typeof SubscribeTextField;
81
- readonly SubscribeMaskedTextField: typeof SubscribeMaskedTextField;
82
- readonly SubscribeSelect: typeof SubscribeSelect;
83
- readonly SubscribeMultiSelect: typeof SubscribeMultiSelect;
84
- readonly SubscribeCheckbox: typeof SubscribeCheckbox;
85
- readonly SubscribeDatePicker: typeof SubscribeDatePicker;
86
- readonly SubscribeTimePicker: typeof SubscribeTimePicker;
87
- readonly SubscribeRadioGroup: typeof SubscribeRadioGroup;
88
- }>>;
89
- AppForm: import("react").ComponentType<import("react").PropsWithChildren>;
90
- };
84
+ }>;
91
85
  }>) => import("react").JSX.Element;
92
86
  //# sourceMappingURL=formHooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formHooks.d.ts","sourceRoot":"","sources":["../../src/lib/form/formHooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAQ,UAAU;;;;;;;;;;;;;;;;;;;;;;;;GAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAwBjC,CAAA"}
1
+ {"version":3,"file":"formHooks.d.ts","sourceRoot":"","sources":["../../src/lib/form/formHooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAQ,UAAU;;;;;;;;;;;;;;;;;;;;;IAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAwBjC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DialogsProvider, DialogCloseButton, useDialogs, type DialogProps, type DialogResult, } from './dialogs';
2
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 { RouterTab, TabLabel, useRouterTabsValue } from './tabs';
3
+ export { RouterTabs, RouterTab, TabLabel } from './tabs';
4
4
  export { useMaterialRouterTable, tableSearchSchema } from './table';
5
5
  export { useConfirmDialog, useConfirmDeleteDialog } from './common-dialogs';
6
6
  //# 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,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA"}
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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { DialogsProvider, DialogCloseButton, useDialogs, } from './dialogs';
2
2
  export { useAppForm, withForm, MaskedInput, MaskedTextField, SubscribeMaskedTextField, } from './form';
3
- export { RouterTab, TabLabel, useRouterTabsValue } from './tabs';
3
+ export { RouterTabs, RouterTab, TabLabel } from './tabs';
4
4
  export { useMaterialRouterTable, tableSearchSchema } from './table';
5
5
  export { useConfirmDialog, useConfirmDeleteDialog } from './common-dialogs';
6
6
  //# 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,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA"}
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"}
@@ -0,0 +1,9 @@
1
+ import { TabsProps as MuiTabProps } from '@mui/material';
2
+ import { type MakeRouteMatch } from '@tanstack/react-router';
3
+ type Match = MakeRouteMatch;
4
+ export type RouterTabsProps = Omit<MuiTabProps, 'value'> & {
5
+ match: Match;
6
+ };
7
+ export declare function RouterTabs(props: RouterTabsProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=RouterTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterTabs.d.ts","sourceRoot":"","sources":["../../src/lib/tabs/RouterTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,WAAW,EAAmB,MAAM,eAAe,CAAA;AACzE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5E,KAAK,KAAK,GAAG,cAAc,CAAA;AAE3B,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAUhD"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Tabs as MuiTabs } from '@mui/material';
3
+ import { useRouterState } from '@tanstack/react-router';
4
+ export function RouterTabs(props) {
5
+ const { match, children, ...rest } = props;
6
+ const matches = useRouterState({ select: state => state.matches });
7
+ const value = matches[match.index + 1]?.fullPath ?? '';
8
+ return (_jsx(MuiTabs, { value: value, ...rest, children: children }));
9
+ }
10
+ //# sourceMappingURL=RouterTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RouterTabs.js","sourceRoot":"","sources":["../../src/lib/tabs/RouterTabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA4B,IAAI,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AACzE,OAAO,EAAE,cAAc,EAAuB,MAAM,wBAAwB,CAAA;AAQ5E,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAC1C,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAA;IAEtD,OAAO,CACL,KAAC,OAAO,IAAC,KAAK,EAAE,KAAK,KAAM,IAAI,YAC5B,QAAQ,GACD,CACX,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
+ export { RouterTabs } from './RouterTabs';
1
2
  export { RouterTab } from './RouterTab';
2
3
  export { TabLabel } from './TabLabel';
3
- export { useRouterTabsValue } from './routerTabHooks';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
+ export { RouterTabs } from './RouterTabs';
1
2
  export { RouterTab } from './RouterTab';
2
3
  export { TabLabel } from './TabLabel';
3
- export { useRouterTabsValue } from './routerTabHooks';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/tabs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,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.3.0",
4
+ "version": "0.4.1",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
@@ -29,7 +29,6 @@
29
29
  "@emotion/styled": "^11.14.0",
30
30
  "@mui/icons-material": "^7.0.2",
31
31
  "@mui/material": "^7.0.2",
32
- "@tanstack/react-form": "^1.0.0",
33
32
  "react": "^19.0.0",
34
33
  "react-dom": "^19.0.0"
35
34
  },
@@ -39,7 +38,7 @@
39
38
  "@mui/icons-material": "^7.0.2",
40
39
  "@mui/material": "^7.0.2",
41
40
  "@mui/x-date-pickers": "^8.0.0",
42
- "@tanstack/react-form": "^1.0.0",
41
+ "@tanstack/react-form": "^1.19.2",
43
42
  "@tanstack/react-router": "^1.116.0",
44
43
  "@tanstack/react-table": "^8.21.3",
45
44
  "dayjs": "^1.11.13",