@gnwebsoft/ui 2.18.34 → 2.18.36

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.
@@ -0,0 +1,10 @@
1
+ type AsyncSelectPayload = {
2
+ query: string | null;
3
+ initialValue?: number | null;
4
+ };
5
+ type AsyncSelectMultiPayload = {
6
+ query: string | null;
7
+ initialValues?: number[] | null;
8
+ };
9
+
10
+ export type { AsyncSelectPayload as A, AsyncSelectMultiPayload as a };
@@ -0,0 +1,10 @@
1
+ type AsyncSelectPayload = {
2
+ query: string | null;
3
+ initialValue?: number | null;
4
+ };
5
+ type AsyncSelectMultiPayload = {
6
+ query: string | null;
7
+ initialValues?: number[] | null;
8
+ };
9
+
10
+ export type { AsyncSelectPayload as A, AsyncSelectMultiPayload as a };
@@ -0,0 +1,14 @@
1
+ type OptionItem = {
2
+ Label: string;
3
+ Value: string;
4
+ };
5
+ type AsyncMultiSelectPayload = {
6
+ query: string | null;
7
+ initialValues?: number[] | null;
8
+ };
9
+ type OptionItem2 = {
10
+ Label: string;
11
+ Value: number;
12
+ };
13
+
14
+ export type { AsyncMultiSelectPayload as A, OptionItem as O, OptionItem2 as a };
@@ -0,0 +1,14 @@
1
+ type OptionItem = {
2
+ Label: string;
3
+ Value: string;
4
+ };
5
+ type AsyncMultiSelectPayload = {
6
+ query: string | null;
7
+ initialValues?: number[] | null;
8
+ };
9
+ type OptionItem2 = {
10
+ Label: string;
11
+ Value: number;
12
+ };
13
+
14
+ export type { AsyncMultiSelectPayload as A, OptionItem as O, OptionItem2 as a };
@@ -1000,39 +1000,44 @@ var AsyncMultiSelect_default = AsyncSelectMultiElement2;
1000
1000
 
1001
1001
 
1002
1002
 
1003
-
1003
+ function isOptionType(option, key) {
1004
+ return typeof option === "object" && option !== null && key in option;
1005
+ }
1004
1006
  var Component8 = function SelectElement(props) {
1005
1007
  const {
1006
1008
  name,
1007
- onBlur,
1009
+ control,
1008
1010
  onChange,
1009
- disabled,
1011
+ isEdit,
1010
1012
  options,
1011
- control,
1012
- gridProps,
1013
- loading = false,
1014
- placeholder,
1015
1013
  label,
1016
- variant,
1017
- sx,
1018
- isEdit = false,
1014
+ labelKey = "Label",
1015
+ valueKey = "Value",
1019
1016
  ...rest
1020
1017
  } = props;
1021
- const {
1022
- field,
1023
- fieldState: { error }
1024
- } = _reacthookform.useController.call(void 0, {
1018
+ const { field } = _reacthookform.useController.call(void 0, {
1025
1019
  name,
1026
1020
  control
1027
1021
  });
1028
- const theme = _material.useTheme.call(void 0, );
1029
1022
  const [hasAutoSelected, setHasAutoSelected] = _react.useState.call(void 0, false);
1023
+ const handleChange = (event, newValue, reason) => {
1024
+ if (reason === "clear") {
1025
+ field.onChange(null);
1026
+ setHasAutoSelected(true);
1027
+ } else {
1028
+ const option = newValue;
1029
+ field.onChange(_nullishCoalesce(option[valueKey], () => ( null)));
1030
+ setHasAutoSelected(true);
1031
+ }
1032
+ _optionalChain([onChange, 'optionalCall', _21 => _21(event, newValue, reason)]);
1033
+ };
1030
1034
  _react.useEffect.call(void 0, () => {
1031
1035
  if (isEdit) {
1032
1036
  return;
1033
1037
  } else {
1034
1038
  if (options.length === 1 && field.value == null && !hasAutoSelected) {
1035
- field.onChange(options[0].Value);
1039
+ const option = options[0];
1040
+ field.onChange(option);
1036
1041
  setHasAutoSelected(true);
1037
1042
  }
1038
1043
  }
@@ -1041,51 +1046,15 @@ var Component8 = function SelectElement(props) {
1041
1046
  _material.Autocomplete,
1042
1047
  {
1043
1048
  ...rest,
1044
- value: field.value !== null ? _nullishCoalesce(options.find((option) => {
1045
- return field.value === option.Value;
1046
- }), () => ( null)) : null,
1047
- loading,
1049
+ filterSelectedOptions: false,
1048
1050
  options,
1049
- getOptionLabel: (c) => c.Label,
1050
- isOptionEqualToValue: (option, Value) => option.Value === Value.Value,
1051
- ref: field.ref,
1052
- disabled,
1053
- onChange: (event, newValue, reason) => {
1054
- if (reason === "clear") {
1055
- field.onChange(null);
1056
- setHasAutoSelected(true);
1057
- } else {
1058
- field.onChange(_nullishCoalesce(_optionalChain([newValue, 'optionalAccess', _21 => _21.Value]), () => ( null)));
1059
- setHasAutoSelected(true);
1060
- }
1061
- _optionalChain([onChange, 'optionalCall', _22 => _22(event, newValue, reason)]);
1062
- },
1063
- onBlur: (event) => {
1064
- field.onBlur();
1065
- if (typeof onBlur === "function") {
1066
- onBlur(event);
1067
- }
1068
- },
1069
- fullWidth: true,
1070
- renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1071
- _material.TextField,
1072
- {
1073
- ...params,
1074
- fullWidth: true,
1075
- error: !!error,
1076
- helperText: error ? error.message : "",
1077
- placeholder,
1078
- label,
1079
- variant: variant ? variant : "outlined",
1080
- sx: {
1081
- "& .MuiInputBase-input": {
1082
- cursor: disabled ? "not-allowed" : "default"
1083
- },
1084
- bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent",
1085
- ...sx
1086
- }
1087
- }
1088
- )
1051
+ value: field.value !== null ? _nullishCoalesce(options.find(
1052
+ (option) => isOptionType(option, valueKey) && field.value === option[valueKey]
1053
+ ), () => ( null)) : null,
1054
+ onChange: handleChange,
1055
+ getOptionLabel: (option) => isOptionType(option, labelKey) ? String(option[labelKey]) : typeof option === "string" ? option : "",
1056
+ isOptionEqualToValue: (option, value) => isOptionType(option, valueKey) && isOptionType(value, valueKey) ? option[valueKey] === value[valueKey] : false,
1057
+ renderInput: (params) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _material.TextField, { ...params, label })
1089
1058
  }
1090
1059
  );
1091
1060
  };
@@ -1247,7 +1216,7 @@ var Component10 = function SelectCascadeElement(props) {
1247
1216
  });
1248
1217
  const parentValueRef = _react.useRef.call(void 0, _nullishCoalesce(dependentField.value, () => ( null)));
1249
1218
  _react.useEffect.call(void 0, () => {
1250
- if (!!dependentField.value && _optionalChain([parentValueRef, 'optionalAccess', _23 => _23.current, 'optionalAccess', _24 => _24.Value]) !== dependentField.value || dependentField.value === null) {
1219
+ if (!!dependentField.value && _optionalChain([parentValueRef, 'optionalAccess', _22 => _22.current, 'optionalAccess', _23 => _23.Value]) !== dependentField.value || dependentField.value === null) {
1251
1220
  field.onChange(null);
1252
1221
  }
1253
1222
  }, [dependentField.value]);
@@ -1421,7 +1390,7 @@ var Component12 = function CheckboxGroup(props) {
1421
1390
  disabled: rest.disabled
1422
1391
  });
1423
1392
  const [selectedValues, setSelectedValues] = _react.useState.call(void 0,
1424
- options.filter((c) => _optionalChain([field, 'access', _25 => _25.value, 'optionalAccess', _26 => _26.includes, 'call', _27 => _27(c.Value)])).map((c) => c.Value) || []
1393
+ options.filter((c) => _optionalChain([field, 'access', _24 => _24.value, 'optionalAccess', _25 => _25.includes, 'call', _26 => _26(c.Value)])).map((c) => c.Value) || []
1425
1394
  );
1426
1395
  _react.useEffect.call(void 0, () => {
1427
1396
  field.onChange(selectedValues ? [...selectedValues] : []);
@@ -992,47 +992,52 @@ var AsyncMultiSelect_default = AsyncSelectMultiElement2;
992
992
  // src/wrappers/SelectElement/SelectElement.tsx
993
993
  import {
994
994
  Autocomplete as Autocomplete3,
995
- Grid2 as Grid28,
996
995
  TextField as TextField5,
997
- useTheme as useTheme5
996
+ Grid2 as Grid28
998
997
  } from "@mui/material";
998
+ import { useEffect as useEffect4, useState as useState4 } from "react";
999
999
  import {
1000
1000
  useController as useController8
1001
1001
  } from "react-hook-form";
1002
- import { useEffect as useEffect4, useState as useState4 } from "react";
1003
1002
  import { jsx as jsx8 } from "react/jsx-runtime";
1003
+ function isOptionType(option, key) {
1004
+ return typeof option === "object" && option !== null && key in option;
1005
+ }
1004
1006
  var Component8 = function SelectElement(props) {
1005
1007
  const {
1006
1008
  name,
1007
- onBlur,
1009
+ control,
1008
1010
  onChange,
1009
- disabled,
1011
+ isEdit,
1010
1012
  options,
1011
- control,
1012
- gridProps,
1013
- loading = false,
1014
- placeholder,
1015
1013
  label,
1016
- variant,
1017
- sx,
1018
- isEdit = false,
1014
+ labelKey = "Label",
1015
+ valueKey = "Value",
1019
1016
  ...rest
1020
1017
  } = props;
1021
- const {
1022
- field,
1023
- fieldState: { error }
1024
- } = useController8({
1018
+ const { field } = useController8({
1025
1019
  name,
1026
1020
  control
1027
1021
  });
1028
- const theme = useTheme5();
1029
1022
  const [hasAutoSelected, setHasAutoSelected] = useState4(false);
1023
+ const handleChange = (event, newValue, reason) => {
1024
+ if (reason === "clear") {
1025
+ field.onChange(null);
1026
+ setHasAutoSelected(true);
1027
+ } else {
1028
+ const option = newValue;
1029
+ field.onChange(option[valueKey] ?? null);
1030
+ setHasAutoSelected(true);
1031
+ }
1032
+ onChange?.(event, newValue, reason);
1033
+ };
1030
1034
  useEffect4(() => {
1031
1035
  if (isEdit) {
1032
1036
  return;
1033
1037
  } else {
1034
1038
  if (options.length === 1 && field.value == null && !hasAutoSelected) {
1035
- field.onChange(options[0].Value);
1039
+ const option = options[0];
1040
+ field.onChange(option);
1036
1041
  setHasAutoSelected(true);
1037
1042
  }
1038
1043
  }
@@ -1041,51 +1046,15 @@ var Component8 = function SelectElement(props) {
1041
1046
  Autocomplete3,
1042
1047
  {
1043
1048
  ...rest,
1044
- value: field.value !== null ? options.find((option) => {
1045
- return field.value === option.Value;
1046
- }) ?? null : null,
1047
- loading,
1049
+ filterSelectedOptions: false,
1048
1050
  options,
1049
- getOptionLabel: (c) => c.Label,
1050
- isOptionEqualToValue: (option, Value) => option.Value === Value.Value,
1051
- ref: field.ref,
1052
- disabled,
1053
- onChange: (event, newValue, reason) => {
1054
- if (reason === "clear") {
1055
- field.onChange(null);
1056
- setHasAutoSelected(true);
1057
- } else {
1058
- field.onChange(newValue?.Value ?? null);
1059
- setHasAutoSelected(true);
1060
- }
1061
- onChange?.(event, newValue, reason);
1062
- },
1063
- onBlur: (event) => {
1064
- field.onBlur();
1065
- if (typeof onBlur === "function") {
1066
- onBlur(event);
1067
- }
1068
- },
1069
- fullWidth: true,
1070
- renderInput: (params) => /* @__PURE__ */ jsx8(
1071
- TextField5,
1072
- {
1073
- ...params,
1074
- fullWidth: true,
1075
- error: !!error,
1076
- helperText: error ? error.message : "",
1077
- placeholder,
1078
- label,
1079
- variant: variant ? variant : "outlined",
1080
- sx: {
1081
- "& .MuiInputBase-input": {
1082
- cursor: disabled ? "not-allowed" : "default"
1083
- },
1084
- bgcolor: disabled ? theme.palette.action.disabledBackground : "transparent",
1085
- ...sx
1086
- }
1087
- }
1088
- )
1051
+ value: field.value !== null ? options.find(
1052
+ (option) => isOptionType(option, valueKey) && field.value === option[valueKey]
1053
+ ) ?? null : null,
1054
+ onChange: handleChange,
1055
+ getOptionLabel: (option) => isOptionType(option, labelKey) ? String(option[labelKey]) : typeof option === "string" ? option : "",
1056
+ isOptionEqualToValue: (option, value) => isOptionType(option, valueKey) && isOptionType(value, valueKey) ? option[valueKey] === value[valueKey] : false,
1057
+ renderInput: (params) => /* @__PURE__ */ jsx8(TextField5, { ...params, label })
1089
1058
  }
1090
1059
  );
1091
1060
  };
@@ -1207,7 +1176,7 @@ import {
1207
1176
  Autocomplete as Autocomplete5,
1208
1177
  Grid2 as Grid210,
1209
1178
  TextField as TextField7,
1210
- useTheme as useTheme6
1179
+ useTheme as useTheme5
1211
1180
  } from "@mui/material";
1212
1181
  import { useEffect as useEffect5, useRef as useRef3, useState as useState6 } from "react";
1213
1182
  import {
@@ -1240,7 +1209,7 @@ var Component10 = function SelectCascadeElement(props) {
1240
1209
  name,
1241
1210
  control
1242
1211
  });
1243
- const theme = useTheme6();
1212
+ const theme = useTheme5();
1244
1213
  const { field: dependentField } = useController10({
1245
1214
  name: dependsOn,
1246
1215
  control
package/dist/index.d.mts CHANGED
@@ -4,7 +4,8 @@ export { ApiResponse, ListResponse, OperationResponse, PostModel, ValidationErro
4
4
  export { api, api2, flattenObjectKeys, getTimezone, handleServerErrors, propertyExists, readValueAsDate, removeLeadingTrailingSlashes, schemaTools } from './utils/index.mjs';
5
5
  export { Field } from './wrappers/index.mjs';
6
6
  export { Field2 } from './wrappers2/index.mjs';
7
- export { b as AsyncMultiSelectPayload, a as AsyncSelectMultiPayload, A as AsyncSelectPayload, O as OptionItem, c as OptionItem2 } from './OptionItem-CzX7oHfv.mjs';
7
+ export { a as AsyncSelectMultiPayload, A as AsyncSelectPayload } from './AsyncSelectPayload-CiwoX8EE.mjs';
8
+ export { A as AsyncMultiSelectPayload, O as OptionItem, a as OptionItem2 } from './OptionItem-BSg3KSRJ.mjs';
8
9
  import 'react/jsx-runtime';
9
10
  import '@mui/material';
10
11
  import 'react';
package/dist/index.d.ts CHANGED
@@ -4,7 +4,8 @@ export { ApiResponse, ListResponse, OperationResponse, PostModel, ValidationErro
4
4
  export { api, api2, flattenObjectKeys, getTimezone, handleServerErrors, propertyExists, readValueAsDate, removeLeadingTrailingSlashes, schemaTools } from './utils/index.js';
5
5
  export { Field } from './wrappers/index.js';
6
6
  export { Field2 } from './wrappers2/index.js';
7
- export { b as AsyncMultiSelectPayload, a as AsyncSelectMultiPayload, A as AsyncSelectPayload, O as OptionItem, c as OptionItem2 } from './OptionItem-CzX7oHfv.js';
7
+ export { a as AsyncSelectMultiPayload, A as AsyncSelectPayload } from './AsyncSelectPayload-CiwoX8EE.js';
8
+ export { A as AsyncMultiSelectPayload, O as OptionItem, a as OptionItem2 } from './OptionItem-BSg3KSRJ.js';
8
9
  import 'react/jsx-runtime';
9
10
  import '@mui/material';
10
11
  import 'react';
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ require('./chunk-7M2VOCYN.js');
13
13
  require('./chunk-6BGQA4BQ.js');
14
14
 
15
15
 
16
- var _chunkTYB6OIU3js = require('./chunk-TYB6OIU3.js');
16
+ var _chunkDIGNPXO5js = require('./chunk-DIGNPXO5.js');
17
17
 
18
18
 
19
19
  var _chunkSTC2BZ2Ljs = require('./chunk-STC2BZ2L.js');
@@ -53,4 +53,4 @@ var _chunkDKBPCLECjs = require('./chunk-DKBPCLEC.js');
53
53
 
54
54
 
55
55
 
56
- exports.AuthorizedView = _chunkWEPRO2OOjs.AuthorizedView_default; exports.ClearButton = _chunkWEPRO2OOjs.ClearButton_default; exports.Field = _chunkTYB6OIU3js.Field_default; exports.Field2 = _chunkSTC2BZ2Ljs.Field_default; exports.FilterButton = _chunkWEPRO2OOjs.FilterButton_default; exports.FilterWrapper = _chunkWEPRO2OOjs.FilterWrapper_default; exports.FormWrapper = _chunkWEPRO2OOjs.FormWrapper_default; exports.LabelText = _chunkWEPRO2OOjs.LabelText_default; exports.ListWrapper = _chunkWEPRO2OOjs.ListWrapper_default; exports.SimpleButton = _chunkWEPRO2OOjs.SimpleButton_default; exports.SimpleToolbar = _chunkWEPRO2OOjs.SimpleToolbar_default; exports.api = _chunkDKBPCLECjs.api; exports.api2 = _chunkDKBPCLECjs.api2; exports.flattenObjectKeys = _chunkDKBPCLECjs.flattenObjectKeys; exports.getTimezone = _chunkDKBPCLECjs.getTimezone; exports.handleServerErrors = _chunkDKBPCLECjs.handleServerErrors; exports.propertyExists = _chunkDKBPCLECjs.propertyExists; exports.readValueAsDate = _chunkDKBPCLECjs.readValueAsDate; exports.removeLeadingTrailingSlashes = _chunkDKBPCLECjs.removeLeadingTrailingSlashes; exports.schemaTools = _chunkDKBPCLECjs.schemaTools; exports.useTransform = _chunk6JZ35VQJjs.useTransform;
56
+ exports.AuthorizedView = _chunkWEPRO2OOjs.AuthorizedView_default; exports.ClearButton = _chunkWEPRO2OOjs.ClearButton_default; exports.Field = _chunkDIGNPXO5js.Field_default; exports.Field2 = _chunkSTC2BZ2Ljs.Field_default; exports.FilterButton = _chunkWEPRO2OOjs.FilterButton_default; exports.FilterWrapper = _chunkWEPRO2OOjs.FilterWrapper_default; exports.FormWrapper = _chunkWEPRO2OOjs.FormWrapper_default; exports.LabelText = _chunkWEPRO2OOjs.LabelText_default; exports.ListWrapper = _chunkWEPRO2OOjs.ListWrapper_default; exports.SimpleButton = _chunkWEPRO2OOjs.SimpleButton_default; exports.SimpleToolbar = _chunkWEPRO2OOjs.SimpleToolbar_default; exports.api = _chunkDKBPCLECjs.api; exports.api2 = _chunkDKBPCLECjs.api2; exports.flattenObjectKeys = _chunkDKBPCLECjs.flattenObjectKeys; exports.getTimezone = _chunkDKBPCLECjs.getTimezone; exports.handleServerErrors = _chunkDKBPCLECjs.handleServerErrors; exports.propertyExists = _chunkDKBPCLECjs.propertyExists; exports.readValueAsDate = _chunkDKBPCLECjs.readValueAsDate; exports.removeLeadingTrailingSlashes = _chunkDKBPCLECjs.removeLeadingTrailingSlashes; exports.schemaTools = _chunkDKBPCLECjs.schemaTools; exports.useTransform = _chunk6JZ35VQJjs.useTransform;
package/dist/index.mjs CHANGED
@@ -13,7 +13,7 @@ import "./chunk-2JFL7TS5.mjs";
13
13
  import "./chunk-EVPUCTZA.mjs";
14
14
  import {
15
15
  Field_default
16
- } from "./chunk-KTFNE7FP.mjs";
16
+ } from "./chunk-VOOWINZA.mjs";
17
17
  import {
18
18
  Field_default as Field_default2
19
19
  } from "./chunk-34X2YRTY.mjs";
@@ -1,5 +1,6 @@
1
1
  import { GridSortModel } from '@mui/x-data-grid';
2
- export { b as AsyncMultiSelectPayload, a as AsyncSelectMultiPayload, A as AsyncSelectPayload, O as OptionItem, c as OptionItem2 } from '../OptionItem-CzX7oHfv.mjs';
2
+ export { a as AsyncSelectMultiPayload, A as AsyncSelectPayload } from '../AsyncSelectPayload-CiwoX8EE.mjs';
3
+ export { A as AsyncMultiSelectPayload, O as OptionItem, a as OptionItem2 } from '../OptionItem-BSg3KSRJ.mjs';
3
4
 
4
5
  type ValidationErrors = {
5
6
  [field: string]: string | string[] | boolean | {
@@ -1,5 +1,6 @@
1
1
  import { GridSortModel } from '@mui/x-data-grid';
2
- export { b as AsyncMultiSelectPayload, a as AsyncSelectMultiPayload, A as AsyncSelectPayload, O as OptionItem, c as OptionItem2 } from '../OptionItem-CzX7oHfv.js';
2
+ export { a as AsyncSelectMultiPayload, A as AsyncSelectPayload } from '../AsyncSelectPayload-CiwoX8EE.js';
3
+ export { A as AsyncMultiSelectPayload, O as OptionItem, a as OptionItem2 } from '../OptionItem-BSg3KSRJ.js';
3
4
 
4
5
  type ValidationErrors = {
5
6
  [field: string]: string | string[] | boolean | {
@@ -4,7 +4,8 @@ import { useLocalizationContext } from '@mui/x-date-pickers/internals';
4
4
  import { FieldValues, UseFormSetError } from 'react-hook-form';
5
5
  import { z } from 'zod';
6
6
  import '@mui/x-data-grid';
7
- import '../OptionItem-CzX7oHfv.mjs';
7
+ import '../AsyncSelectPayload-CiwoX8EE.mjs';
8
+ import '../OptionItem-BSg3KSRJ.mjs';
8
9
 
9
10
  declare class api {
10
11
  static filter<T, TFilter>(url: string, postModel: PostModel<TFilter>): Promise<ApiResponse<ListResponse<T>>>;
@@ -4,7 +4,8 @@ import { useLocalizationContext } from '@mui/x-date-pickers/internals';
4
4
  import { FieldValues, UseFormSetError } from 'react-hook-form';
5
5
  import { z } from 'zod';
6
6
  import '@mui/x-data-grid';
7
- import '../OptionItem-CzX7oHfv.js';
7
+ import '../AsyncSelectPayload-CiwoX8EE.js';
8
+ import '../OptionItem-BSg3KSRJ.js';
8
9
 
9
10
  declare class api {
10
11
  static filter<T, TFilter>(url: string, postModel: PostModel<TFilter>): Promise<ApiResponse<ListResponse<T>>>;
@@ -1,10 +1,9 @@
1
1
  import { CheckboxProps, FormControlLabelProps, Grid2Props, ChipTypeMap, AutocompleteProps, TextFieldVariants as TextFieldVariants$1, SxProps as SxProps$1, TextFieldProps, IconButtonProps, FormLabelProps, RadioProps, TextField } from '@mui/material';
2
2
  import * as react_hook_form from 'react-hook-form';
3
3
  import { FieldValues, FieldPath, Control, UseControllerProps, FieldError, PathValue } from 'react-hook-form';
4
- import { b as AsyncMultiSelectPayload, O as OptionItem, A as AsyncSelectPayload } from '../OptionItem-CzX7oHfv.mjs';
4
+ import { A as AsyncSelectPayload } from '../AsyncSelectPayload-CiwoX8EE.mjs';
5
5
  import * as react from 'react';
6
6
  import { ReactNode, ChangeEvent } from 'react';
7
- import * as react_jsx_runtime from 'react/jsx-runtime';
8
7
  import { TimePickerProps, TimePickerSlotProps, PickerChangeHandlerContext, TimeValidationError, DateValidationError, DatePickerSlotProps, DatePickerProps } from '@mui/x-date-pickers';
9
8
  import { PickerValidDate } from '@mui/x-date-pickers/models';
10
9
 
@@ -20,24 +19,6 @@ type CheckboxGroupProps<TFieldValues extends FieldValues = FieldValues, TName ex
20
19
  }[];
21
20
  };
22
21
 
23
- type AsyncMultiSelectElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends {
24
- Value: number;
25
- Label: string;
26
- } = {
27
- Value: number;
28
- Label: string;
29
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> = Omit<AutocompleteProps<TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>, "name" | "control" | "ref" | "multiple" | "loading" | "getOptionLabel" | "getOptionKey" | "isOptionEqualToValue" | "options" | "value" | "filterSelectedOptions" | "filterOptions" | "onChange" | "onInputChange" | "renderInput"> & {
30
- name: TName;
31
- control?: Control<TFieldValues>;
32
- gridProps?: Grid2Props;
33
- placeholder?: string;
34
- label?: string;
35
- initialValues: number[] | null;
36
- queryFn: (data: AsyncMultiSelectPayload) => Promise<OptionItem[] | undefined>;
37
- variant?: TextFieldVariants$1;
38
- sx?: SxProps$1;
39
- };
40
-
41
22
  type AsyncSelectElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends {
42
23
  Value: number;
43
24
  Label: string;
@@ -93,13 +74,7 @@ type SelectMultiElementProps<TFieldValues extends FieldValues = FieldValues, TNa
93
74
  sx?: SxProps;
94
75
  };
95
76
 
96
- type SelectElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends {
97
- Value: number;
98
- Label: string;
99
- } = {
100
- Value: number;
101
- Label: string;
102
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> = Omit<AutocompleteProps<TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>, "name" | "renderInput" | "isOptionEqualToValue" | "getOptionLabel"> & {
77
+ type SelectElementProps<TOption, TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> = Omit<AutocompleteProps<TOption, Multiple, DisableClearable, FreeSolo, ChipComponent>, "name" | "renderInput" | "isOptionEqualToValue" | "getOptionLabel"> & {
103
78
  rules?: UseControllerProps<TFieldValues, TName>["rules"];
104
79
  name: TName;
105
80
  control?: Control<TFieldValues>;
@@ -109,6 +84,8 @@ type SelectElementProps<TFieldValues extends FieldValues = FieldValues, TName ex
109
84
  variant?: TextFieldVariants$1;
110
85
  sx?: SxProps$1;
111
86
  isEdit?: boolean;
87
+ labelKey?: keyof TOption;
88
+ valueKey?: keyof TOption;
112
89
  };
113
90
 
114
91
  type TimePickerElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends PickerValidDate = PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<TimePickerProps<TValue>, "value" | "renderInput"> & {
@@ -221,13 +198,7 @@ declare const Field: {
221
198
  RadioGroup: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue = unknown>(props: RadioButtonGroupProps<TFieldValues, TName, TValue>) => JSX.Element;
222
199
  Password: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>>(props: PasswordElementProps<TFieldValues, TName>) => JSX.Element;
223
200
  Time: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends unknown = any>(props: TimePickerElementProps<TFieldValues, TName, TValue>) => JSX.Element;
224
- Select: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends {
225
- Value: number;
226
- Label: string;
227
- } = {
228
- Value: number;
229
- Label: string;
230
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: SelectElementProps<TFieldValues, TName, TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react_jsx_runtime.JSX.Element;
201
+ Select: <TOption, TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: SelectElementProps<TOption, TFieldValues, TName, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react.JSX.Element;
231
202
  SelectMulti: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends {
232
203
  Value: number;
233
204
  Label: string;
@@ -249,13 +220,7 @@ declare const Field: {
249
220
  Value: number;
250
221
  Label: string;
251
222
  }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: AsyncSelectElementProps<TFieldValues, TName, TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react.JSX.Element;
252
- AsyncMultiSelect: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends {
253
- Value: number;
254
- Label: string;
255
- } = {
256
- Value: number;
257
- Label: string;
258
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: AsyncMultiSelectElementProps<TFieldValues, TName, TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
223
+ AsyncMultiSelect: any;
259
224
  CheckboxGroup: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends number[] = number[]>(props: CheckboxGroupProps<TFieldValues, TName, TValue>) => JSX.Element;
260
225
  };
261
226
 
@@ -1,10 +1,9 @@
1
1
  import { CheckboxProps, FormControlLabelProps, Grid2Props, ChipTypeMap, AutocompleteProps, TextFieldVariants as TextFieldVariants$1, SxProps as SxProps$1, TextFieldProps, IconButtonProps, FormLabelProps, RadioProps, TextField } from '@mui/material';
2
2
  import * as react_hook_form from 'react-hook-form';
3
3
  import { FieldValues, FieldPath, Control, UseControllerProps, FieldError, PathValue } from 'react-hook-form';
4
- import { b as AsyncMultiSelectPayload, O as OptionItem, A as AsyncSelectPayload } from '../OptionItem-CzX7oHfv.js';
4
+ import { A as AsyncSelectPayload } from '../AsyncSelectPayload-CiwoX8EE.js';
5
5
  import * as react from 'react';
6
6
  import { ReactNode, ChangeEvent } from 'react';
7
- import * as react_jsx_runtime from 'react/jsx-runtime';
8
7
  import { TimePickerProps, TimePickerSlotProps, PickerChangeHandlerContext, TimeValidationError, DateValidationError, DatePickerSlotProps, DatePickerProps } from '@mui/x-date-pickers';
9
8
  import { PickerValidDate } from '@mui/x-date-pickers/models';
10
9
 
@@ -20,24 +19,6 @@ type CheckboxGroupProps<TFieldValues extends FieldValues = FieldValues, TName ex
20
19
  }[];
21
20
  };
22
21
 
23
- type AsyncMultiSelectElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends {
24
- Value: number;
25
- Label: string;
26
- } = {
27
- Value: number;
28
- Label: string;
29
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> = Omit<AutocompleteProps<TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>, "name" | "control" | "ref" | "multiple" | "loading" | "getOptionLabel" | "getOptionKey" | "isOptionEqualToValue" | "options" | "value" | "filterSelectedOptions" | "filterOptions" | "onChange" | "onInputChange" | "renderInput"> & {
30
- name: TName;
31
- control?: Control<TFieldValues>;
32
- gridProps?: Grid2Props;
33
- placeholder?: string;
34
- label?: string;
35
- initialValues: number[] | null;
36
- queryFn: (data: AsyncMultiSelectPayload) => Promise<OptionItem[] | undefined>;
37
- variant?: TextFieldVariants$1;
38
- sx?: SxProps$1;
39
- };
40
-
41
22
  type AsyncSelectElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends {
42
23
  Value: number;
43
24
  Label: string;
@@ -93,13 +74,7 @@ type SelectMultiElementProps<TFieldValues extends FieldValues = FieldValues, TNa
93
74
  sx?: SxProps;
94
75
  };
95
76
 
96
- type SelectElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends {
97
- Value: number;
98
- Label: string;
99
- } = {
100
- Value: number;
101
- Label: string;
102
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> = Omit<AutocompleteProps<TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>, "name" | "renderInput" | "isOptionEqualToValue" | "getOptionLabel"> & {
77
+ type SelectElementProps<TOption, TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = ChipTypeMap["defaultComponent"]> = Omit<AutocompleteProps<TOption, Multiple, DisableClearable, FreeSolo, ChipComponent>, "name" | "renderInput" | "isOptionEqualToValue" | "getOptionLabel"> & {
103
78
  rules?: UseControllerProps<TFieldValues, TName>["rules"];
104
79
  name: TName;
105
80
  control?: Control<TFieldValues>;
@@ -109,6 +84,8 @@ type SelectElementProps<TFieldValues extends FieldValues = FieldValues, TName ex
109
84
  variant?: TextFieldVariants$1;
110
85
  sx?: SxProps$1;
111
86
  isEdit?: boolean;
87
+ labelKey?: keyof TOption;
88
+ valueKey?: keyof TOption;
112
89
  };
113
90
 
114
91
  type TimePickerElementProps<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>, TValue extends PickerValidDate = PickerValidDate, TEnableAccessibleFieldDOMStructure extends boolean = false> = Omit<TimePickerProps<TValue>, "value" | "renderInput"> & {
@@ -221,13 +198,7 @@ declare const Field: {
221
198
  RadioGroup: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue = unknown>(props: RadioButtonGroupProps<TFieldValues, TName, TValue>) => JSX.Element;
222
199
  Password: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>>(props: PasswordElementProps<TFieldValues, TName>) => JSX.Element;
223
200
  Time: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends unknown = any>(props: TimePickerElementProps<TFieldValues, TName, TValue>) => JSX.Element;
224
- Select: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends {
225
- Value: number;
226
- Label: string;
227
- } = {
228
- Value: number;
229
- Label: string;
230
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: SelectElementProps<TFieldValues, TName, TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react_jsx_runtime.JSX.Element;
201
+ Select: <TOption, TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: SelectElementProps<TOption, TFieldValues, TName, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react.JSX.Element;
231
202
  SelectMulti: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends {
232
203
  Value: number;
233
204
  Label: string;
@@ -249,13 +220,7 @@ declare const Field: {
249
220
  Value: number;
250
221
  Label: string;
251
222
  }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: AsyncSelectElementProps<TFieldValues, TName, TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>) => react.JSX.Element;
252
- AsyncMultiSelect: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends {
253
- Value: number;
254
- Label: string;
255
- } = {
256
- Value: number;
257
- Label: string;
258
- }, Multiple extends boolean | undefined = false, DisableClearable extends boolean | undefined = false, FreeSolo extends boolean | undefined = false, ChipComponent extends React.ElementType = "div">(props: AsyncMultiSelectElementProps<TFieldValues, TName, TValue, Multiple, DisableClearable, FreeSolo, ChipComponent>) => JSX.Element;
223
+ AsyncMultiSelect: any;
259
224
  CheckboxGroup: <TFieldValues extends react_hook_form.FieldValues = react_hook_form.FieldValues, TName extends react_hook_form.FieldPath<TFieldValues> = react_hook_form.FieldPath<TFieldValues>, TValue extends number[] = number[]>(props: CheckboxGroupProps<TFieldValues, TName, TValue>) => JSX.Element;
260
225
  };
261
226
 
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkTYB6OIU3js = require('../chunk-TYB6OIU3.js');
3
+ var _chunkDIGNPXO5js = require('../chunk-DIGNPXO5.js');
4
4
  require('../chunk-6JZ35VQJ.js');
5
5
  require('../chunk-DKBPCLEC.js');
6
6
 
7
7
 
8
- exports.Field = _chunkTYB6OIU3js.Field_default;
8
+ exports.Field = _chunkDIGNPXO5js.Field_default;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Field_default
3
- } from "../chunk-KTFNE7FP.mjs";
3
+ } from "../chunk-VOOWINZA.mjs";
4
4
  import "../chunk-GFSTK7KN.mjs";
5
5
  import "../chunk-AVNKSUE5.mjs";
6
6
  export {
@@ -1,7 +1,8 @@
1
1
  import { CheckboxProps, FormControlLabelProps, Grid2Props, ChipTypeMap, AutocompleteProps, TextFieldProps, IconButtonProps, FormLabelProps, RadioProps, TextField } from '@mui/material';
2
2
  import * as react_hook_form from 'react-hook-form';
3
3
  import { FieldValues, FieldPath, Control, UseControllerProps, FieldError, PathValue } from 'react-hook-form';
4
- import { b as AsyncMultiSelectPayload, O as OptionItem, A as AsyncSelectPayload } from '../OptionItem-CzX7oHfv.mjs';
4
+ import { A as AsyncMultiSelectPayload, O as OptionItem } from '../OptionItem-BSg3KSRJ.mjs';
5
+ import { A as AsyncSelectPayload } from '../AsyncSelectPayload-CiwoX8EE.mjs';
5
6
  import * as react from 'react';
6
7
  import { ReactNode, ChangeEvent } from 'react';
7
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -1,7 +1,8 @@
1
1
  import { CheckboxProps, FormControlLabelProps, Grid2Props, ChipTypeMap, AutocompleteProps, TextFieldProps, IconButtonProps, FormLabelProps, RadioProps, TextField } from '@mui/material';
2
2
  import * as react_hook_form from 'react-hook-form';
3
3
  import { FieldValues, FieldPath, Control, UseControllerProps, FieldError, PathValue } from 'react-hook-form';
4
- import { b as AsyncMultiSelectPayload, O as OptionItem, A as AsyncSelectPayload } from '../OptionItem-CzX7oHfv.js';
4
+ import { A as AsyncMultiSelectPayload, O as OptionItem } from '../OptionItem-BSg3KSRJ.js';
5
+ import { A as AsyncSelectPayload } from '../AsyncSelectPayload-CiwoX8EE.js';
5
6
  import * as react from 'react';
6
7
  import { ReactNode, ChangeEvent } from 'react';
7
8
  import * as react_jsx_runtime from 'react/jsx-runtime';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gnwebsoft/ui",
3
- "version": "2.18.34",
3
+ "version": "2.18.36",
4
4
  "description": "A set of reusable wrappers for MUI v6",
5
5
  "author": "GNWebsoft Private Limited",
6
6
  "license": "",
@@ -71,26 +71,22 @@
71
71
  "@emotion/cache": "^11.14.0",
72
72
  "@emotion/react": "^11.14.0",
73
73
  "@emotion/styled": "^11.14.0",
74
- "@fontsource/roboto": "^5.1.1",
75
74
  "@hookform/resolvers": "^3.9.1",
76
75
  "@mui/icons-material": "^6.4.11",
77
76
  "@mui/lab": "^6.0.0-beta.21",
78
- "@mui/material": "6.4.11",
79
- "@mui/x-data-grid": "^7.23.5",
80
- "@mui/x-date-pickers": "^7.28.3",
81
- "@mui/x-tree-view": "^7.23.2",
77
+ "@mui/material": "^6.5.0",
78
+ "@mui/x-data-grid": "^7.29.8",
79
+ "@mui/x-date-pickers": "^7.29.4",
82
80
  "autosuggest-highlight": "^3.3.4",
83
- "axios": "^1.8.4",
81
+ "axios": "^1.10.0",
84
82
  "dayjs": "^1.11.13",
85
- "es-toolkit": "^1.31.0",
83
+ "es-toolkit": "^1.39.7",
86
84
  "lodash": "^4.17.21",
87
85
  "react": "^18.3.1",
88
86
  "react-dom": "^18.3.1",
89
- "react-hook-form": "^7.54.2",
90
- "react-router-dom": "^7.1.1",
91
- "sonner": "1.5.0",
92
- "typescript": "5.8.3",
93
- "zod": "^3.24.1",
87
+ "react-hook-form": "^7.60.0",
88
+ "typescript": "^5.7.2",
89
+ "zod": "^3.25.76",
94
90
  "zustand": "^5.0.2"
95
91
  }
96
92
  }
@@ -1,23 +0,0 @@
1
- type AsyncSelectPayload = {
2
- query: string | null;
3
- initialValue?: number | null;
4
- };
5
- type AsyncSelectMultiPayload = {
6
- query: string | null;
7
- initialValues?: number[] | null;
8
- };
9
-
10
- type OptionItem = {
11
- Label: string;
12
- Value: string;
13
- };
14
- type AsyncMultiSelectPayload = {
15
- query: string | null;
16
- initialValues?: number[] | null;
17
- };
18
- type OptionItem2 = {
19
- Label: string;
20
- Value: number;
21
- };
22
-
23
- export type { AsyncSelectPayload as A, OptionItem as O, AsyncSelectMultiPayload as a, AsyncMultiSelectPayload as b, OptionItem2 as c };
@@ -1,23 +0,0 @@
1
- type AsyncSelectPayload = {
2
- query: string | null;
3
- initialValue?: number | null;
4
- };
5
- type AsyncSelectMultiPayload = {
6
- query: string | null;
7
- initialValues?: number[] | null;
8
- };
9
-
10
- type OptionItem = {
11
- Label: string;
12
- Value: string;
13
- };
14
- type AsyncMultiSelectPayload = {
15
- query: string | null;
16
- initialValues?: number[] | null;
17
- };
18
- type OptionItem2 = {
19
- Label: string;
20
- Value: number;
21
- };
22
-
23
- export type { AsyncSelectPayload as A, OptionItem as O, AsyncSelectMultiPayload as a, AsyncMultiSelectPayload as b, OptionItem2 as c };