tp-react-elements-dev 1.10.7 → 1.10.10

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,11 @@
1
+ interface MultiSelectProps {
2
+ value: string;
3
+ options: {
4
+ value: number | string;
5
+ label: string;
6
+ }[];
7
+ onChangeFn: (e: any) => void;
8
+ disable?: boolean;
9
+ }
10
+ export default function MultiSelectFieldComponent({ value, options, onChangeFn, disable, }: MultiSelectProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -7,3 +7,4 @@ export { Box as BoxTP } from "@mui/material";
7
7
  export { Grid as GridTP } from "@mui/material";
8
8
  export { ThemeProvider as ThemeProviderTP } from "@emotion/react";
9
9
  export * from '@mui/material/styles';
10
+ export { default as MultiSelectFieldComponent } from '../components/SelectField/MultiSelectFieldComponent';
package/dist/index.d.ts CHANGED
@@ -17,3 +17,4 @@ export { default as DeleteFieldTP } from "./components/DeleteComponent/DeleteFie
17
17
  export { default as SessionTimeoutFieldTP } from "./components/SessionTimeOut/SessionTimeOut";
18
18
  export { useForm as useFormElementTP };
19
19
  export { yupResolver as yupResolverTP };
20
+ export { default as MultiSelectFieldComponent } from './components/SelectField/MultiSelectFieldComponent';
package/dist/index.esm.js CHANGED
@@ -54012,12 +54012,12 @@ function makeStyles(stylesOrCreator, options = {}) {
54012
54012
  return useStyles;
54013
54013
  }
54014
54014
 
54015
- const ITEM_HEIGHT = 48;
54016
- const ITEM_PADDING_TOP = 3;
54017
- const MenuProps = {
54015
+ const ITEM_HEIGHT$1 = 48;
54016
+ const ITEM_PADDING_TOP$1 = 3;
54017
+ const MenuProps$1 = {
54018
54018
  PaperProps: {
54019
54019
  style: {
54020
- maxHeight: ITEM_HEIGHT * 5.5 + ITEM_PADDING_TOP,
54020
+ maxHeight: ITEM_HEIGHT$1 * 5.5 + ITEM_PADDING_TOP$1,
54021
54021
  // width: 250,
54022
54022
  },
54023
54023
  },
@@ -54032,7 +54032,7 @@ makeStyles((theme) => ({
54032
54032
  fontSize: "11px",
54033
54033
  },
54034
54034
  }));
54035
- const extractValuesToArray = (inputString) => {
54035
+ const extractValuesToArray$1 = (inputString) => {
54036
54036
  const valuesArray = inputString === null || inputString === void 0 ? void 0 : inputString.split(",");
54037
54037
  const trimmedArray = valuesArray === null || valuesArray === void 0 ? void 0 : valuesArray.map((value) => value.trim());
54038
54038
  return trimmedArray;
@@ -54041,7 +54041,7 @@ function MultiSelectV1({ props, variant }) {
54041
54041
  var _a;
54042
54042
  console.log(props, "ksjh");
54043
54043
  const [personName, setPersonName] = React$1.useState(props.getValues(props.item.name)
54044
- ? extractValuesToArray(props.getValues(props.item.name))
54044
+ ? extractValuesToArray$1(props.getValues(props.item.name))
54045
54045
  : []);
54046
54046
  const [searchText, setSearchText] = useState("");
54047
54047
  const options = (_a = props.item) === null || _a === void 0 ? void 0 : _a.options;
@@ -54102,7 +54102,7 @@ function MultiSelectV1({ props, variant }) {
54102
54102
  fontSize: "5px !important",
54103
54103
  },
54104
54104
  }, disabled: props.item.disable, value: props.getValues(props.item.name)
54105
- ? extractValuesToArray(props.getValues(props.item.name))
54105
+ ? extractValuesToArray$1(props.getValues(props.item.name))
54106
54106
  : [], onChange: handleChange, onOpen: () => {
54107
54107
  setTimeout(() => {
54108
54108
  var _a;
@@ -54116,7 +54116,7 @@ function MultiSelectV1({ props, variant }) {
54116
54116
  ((_a = props === null || props === void 0 ? void 0 : props.item) === null || _a === void 0 ? void 0 : _a.onCloseMenu) && ((_b = props === null || props === void 0 ? void 0 : props.item) === null || _b === void 0 ? void 0 : _b.onCloseMenu());
54117
54117
  }, input: jsxRuntimeExports.jsx(OutlinedInput, { label: variant !== "standard" ? props.item.label : '' }), renderValue: (selected) => (jsxRuntimeExports.jsx(Tooltip, Object.assign({ title: selectedValues }, { children: selectedOptions.length > 3
54118
54118
  ? selectedOptions.length + " Selected"
54119
- : selectedValues }))), MenuProps: MenuProps, autoFocus: false }, { children: [jsxRuntimeExports.jsx(Box, Object.assign({ sx: {
54119
+ : selectedValues }))), MenuProps: MenuProps$1, autoFocus: false }, { children: [jsxRuntimeExports.jsx(Box, Object.assign({ sx: {
54120
54120
  width: "100%",
54121
54121
  position: "sticky",
54122
54122
  top: "0px",
@@ -59670,7 +59670,7 @@ function formatDateMonthAndYear(date) {
59670
59670
  }
59671
59671
  const renderLabel = (variant, props) => variant === "standard" && (jsxRuntimeExports.jsxs("span", Object.assign({ className: "formInputlabel", style: { fontSize: "12px" } }, { children: [props.item.label, " ", props.item.required && jsxRuntimeExports.jsx("span", Object.assign({ style: { color: "red" } }, { children: "*" }))] })));
59672
59672
  const RenderForm = (props) => {
59673
- var _a, _b;
59673
+ var _a, _b, _c;
59674
59674
  const variant = props.variant || "";
59675
59675
  switch ((_a = props.item) === null || _a === void 0 ? void 0 : _a.inputType) {
59676
59676
  case "text":
@@ -59968,6 +59968,22 @@ const RenderForm = (props) => {
59968
59968
  // />
59969
59969
  // </>
59970
59970
  // );
59971
+ case "checkbox-group":
59972
+ return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [renderLabel(variant, props), jsxRuntimeExports.jsx(FormControl, Object.assign({ component: "fieldset" }, { children: jsxRuntimeExports.jsx(FormGroup, Object.assign({ row: true }, { children: ((_c = props.item) === null || _c === void 0 ? void 0 : _c.settings) &&
59973
+ props.item.settings.map((settings, i) => {
59974
+ return (jsxRuntimeExports.jsx(Controller, { name: settings.name, control: props.control, render: ({ field }) => {
59975
+ return (jsxRuntimeExports.jsx(FormControlLabel, { control: jsxRuntimeExports.jsx(Checkbox, Object.assign({}, field, { checked: field.value })), sx: {
59976
+ ".MuiCheckbox-root": {
59977
+ padding: "6px 2px 6px 8px",
59978
+ ".css-imrjgg-MuiButtonBase-root-MuiCheckbox-root": {
59979
+ color: "rgb(0, 0, 0) !important",
59980
+ },
59981
+ },
59982
+ },
59983
+ // label={settings.label}
59984
+ label: jsxRuntimeExports.jsx(Typography, Object.assign({ variant: "subtitle2", fontSize: "11px", fontWeight: "normal !important" }, { children: settings.label })), labelPlacement: "end" }));
59985
+ } }, i));
59986
+ }) })) })), jsxRuntimeExports.jsx(ErrorMessageComponent, { children: jsxRuntimeExports.jsx(s, { errors: props.errors, name: props.item.name }) })] }));
59971
59987
  case "radio-group":
59972
59988
  return (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [renderLabel(variant, props), jsxRuntimeExports.jsx(FormControl, Object.assign({ component: "fieldset" }, { children: jsxRuntimeExports.jsx(Controller, { name: props.item.name, control: props.control, render: ({ field }) => {
59973
59989
  var _a, _b;
@@ -63034,5 +63050,135 @@ const SessionTimeOut = ({ sessionTime, handleSubmitSession, onSessionExpire, han
63034
63050
  return (jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: jsxRuntimeExports.jsx(ConfirmationDialog, { openConfirmDialog: openConfirmModal, handleCancel: handleCancel, onClickSubmit: handleSubmit, text: sessionMessage, Submit: SubmitButtonName, buttonStyleProps: buttonStyleProps }) }));
63035
63051
  };
63036
63052
 
63037
- export { Box as BoxTP, Button as ButtonTP, DeleteField, DeleteField as DeleteFieldTP, CssVarsProvider as Experimental_CssVarsProvider, Grid as GridTP, FormRenderWrapper as RenderForm, FormRenderWrapper as RenderFormTP, SessionTimeOut as SessionTimeoutField, SessionTimeOut as SessionTimeoutFieldTP, StyledEngineProvider, THEME_ID, ThemeProvider, ThemeProvider$3 as ThemeProviderTP, Typography as TypographyTP, adaptV4Theme, alpha, createMuiTheme, createStyles, createTheme, css$1 as css, darken, decomposeColor, duration, easing, emphasize, styled$1 as experimentalStyled, extendTheme as experimental_extendTheme, experimental_sx, getContrastRatio, getInitColorSchemeScript, getLuminance, getOverlayAlpha$1 as getOverlayAlpha, hexToRgb, hslToRgb, keyframes, lighten, makeStyles$1 as makeStyles, createMixins as private_createMixins, createTypography as private_createTypography, excludeVariablesFromRoot$1 as private_excludeVariablesFromRoot, recomposeColor, responsiveFontSizes, rgbToHex, shouldSkipGeneratingVar, styled$1 as styled, createMuiStrictModeTheme as unstable_createMuiStrictModeTheme, getUnit as unstable_getUnit, toUnitless as unstable_toUnitless, useColorScheme, useForm as useFormElement, useForm as useFormElementTP, useFormValidatingContext, useFormValidatingContext as useFormValidatingContextTP, useTheme$2 as useTheme, useThemeProps$1 as useThemeProps, withStyles, withTheme, o as yupResolverTP };
63053
+ const ITEM_HEIGHT = 48;
63054
+ const ITEM_PADDING_TOP = 3;
63055
+ const MenuProps = {
63056
+ PaperProps: {
63057
+ style: {
63058
+ maxHeight: ITEM_HEIGHT * 5.5 + ITEM_PADDING_TOP,
63059
+ // width: 250,
63060
+ },
63061
+ },
63062
+ autoFocus: false,
63063
+ disableAutoFocusItem: true,
63064
+ };
63065
+ makeStyles((theme) => ({
63066
+ option: {
63067
+ fontSize: "10px", // Adjust the font size as needed
63068
+ },
63069
+ option2: {
63070
+ fontSize: "11px",
63071
+ },
63072
+ }));
63073
+ const extractValuesToArray = (inputString) => {
63074
+ const valuesArray = inputString === null || inputString === void 0 ? void 0 : inputString.split(",");
63075
+ const trimmedArray = valuesArray === null || valuesArray === void 0 ? void 0 : valuesArray.map((value) => value.trim());
63076
+ return trimmedArray;
63077
+ };
63078
+ function MultiSelectFieldComponent({ value, options, onChangeFn, disable = false, }) {
63079
+ const [personName, setPersonName] = React$1.useState(value ? extractValuesToArray(value) : []);
63080
+ const [searchText, setSearchText] = useState("");
63081
+ const [filterOptions, setFilterOptions] = useState(options);
63082
+ const [selectAll, setSelectAll] = useState(false);
63083
+ const textfieldRef = React$1.useRef();
63084
+ const fieldValue = value;
63085
+ const mappedIds = filterOptions.map((item) => item.value);
63086
+ const filterIds = filterOptions.map((item) => item.value);
63087
+ // console.log(value, "mnnmnmnnn");
63088
+ React$1.useEffect(() => {
63089
+ // setFilterOptions(options);
63090
+ if (searchText !== "") {
63091
+ setFilterOptions(options.filter((item) => item.label.toLowerCase().includes(searchText.toLowerCase())));
63092
+ }
63093
+ else {
63094
+ setFilterOptions(options);
63095
+ }
63096
+ }, [options, searchText]);
63097
+ function hasExactMatch(array, value) {
63098
+ return array.some((item) => item === value);
63099
+ }
63100
+ React$1.useEffect(() => {
63101
+ if ((fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(",").length) !== filterOptions.length) {
63102
+ setSelectAll(false);
63103
+ }
63104
+ else {
63105
+ console.log(fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(","), 'fieldValue?.split(",")', filterIds);
63106
+ if (fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(",").every((value) => hasExactMatch(filterIds, value))) {
63107
+ setSelectAll(true);
63108
+ }
63109
+ }
63110
+ }, [filterOptions, fieldValue]);
63111
+ const handleChange = (event) => {
63112
+ const { target: { value }, } = event;
63113
+ setPersonName(typeof value === "string" ? value === null || value === void 0 ? void 0 : value.split(",") : value);
63114
+ onChangeFn((typeof value === "string" ? value === null || value === void 0 ? void 0 : value.split(",") : value).join(","));
63115
+ };
63116
+ const selectedOptions = options.filter((item) => fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(",").some((value) => value === item.value));
63117
+ const selectedValues = selectedOptions
63118
+ .map((item) => item.label)
63119
+ .join(" , ");
63120
+ // console.log(fieldValue,'sjshshsh');
63121
+ console.log(value, "value");
63122
+ return (jsxRuntimeExports.jsx(Box, { children: jsxRuntimeExports.jsx(FormControl, Object.assign({ fullWidth: true, sx: {
63123
+ "& .css-kichxs-MuiFormLabel-root-MuiInputLabel-root,.css-1holvmy": {
63124
+ top: "-10px",
63125
+ },
63126
+ } }, { children: jsxRuntimeExports.jsxs(Select, Object.assign({ labelId: "demo-multiple-checkbox-label", id: "demo-multiple-checkbox", multiple: true, sx: {
63127
+ "& .MuiTypography-root": {
63128
+ fontSize: "5px !important",
63129
+ },
63130
+ }, disabled: disable, value: value ? extractValuesToArray(value) : [], onChange: handleChange, onOpen: () => {
63131
+ setTimeout(() => {
63132
+ var _a;
63133
+ if (textfieldRef.current) {
63134
+ (_a = textfieldRef.current) === null || _a === void 0 ? void 0 : _a.focus();
63135
+ }
63136
+ }, 0);
63137
+ }, onClose: () => {
63138
+ setSearchText("");
63139
+ // props?.item?.onCloseMenu && props?.item?.onCloseMenu();
63140
+ }, renderValue: (selected) => (jsxRuntimeExports.jsx(Tooltip, Object.assign({ title: selectedValues }, { children: selectedOptions.length > 3
63141
+ ? selectedOptions.length + " Selected"
63142
+ : selectedValues }))), MenuProps: MenuProps, autoFocus: false }, { children: [jsxRuntimeExports.jsx(Box, Object.assign({ sx: {
63143
+ width: "100%",
63144
+ position: "sticky",
63145
+ top: "0px",
63146
+ padding: "7px",
63147
+ zIndex: 2,
63148
+ height: "33px",
63149
+ background: "#fff",
63150
+ display: options.length === 0 ? "none" : undefined,
63151
+ } }, { children: jsxRuntimeExports.jsx(TextField, { inputRef: textfieldRef, autoFocus: true, value: searchText, sx: {
63152
+ width: "100%",
63153
+ }, placeholder: "Search...", onChange: (e) => {
63154
+ setSearchText(e.target.value);
63155
+ }, onKeyDown: (e) => {
63156
+ if (e.key !== "Escape") {
63157
+ e.stopPropagation();
63158
+ }
63159
+ } }) })), jsxRuntimeExports.jsxs(MenuItem, Object.assign({ disabled: filterOptions.length === 0, sx: { zIndex: 0, fontSize: "5px !important" } }, { children: [jsxRuntimeExports.jsx(Checkbox, { size: "small", checked: selectAll, onChange: (e) => {
63160
+ setSelectAll(!selectAll);
63161
+ const selectChanged = !selectAll;
63162
+ if (!selectChanged) {
63163
+ onChangeFn("");
63164
+ }
63165
+ else {
63166
+ const allDataMapped = mappedIds.join(",");
63167
+ console.log(allDataMapped, "allDataMapped");
63168
+ onChangeFn(allDataMapped);
63169
+ }
63170
+ } }), jsxRuntimeExports.jsx(ListItemText, { primary: "Select All", sx: {
63171
+ fontSize: "5px !important",
63172
+ "& span": {
63173
+ fontSize: "12px !important",
63174
+ },
63175
+ } })] })), filterOptions.length !== 0 ? (filterOptions.map((option) => (jsxRuntimeExports.jsxs(MenuItem, Object.assign({ value: `${option.value}`, sx: { zIndex: 0, fontSize: "11px !important" } }, { children: [jsxRuntimeExports.jsx(Checkbox, { checked: fieldValue === null || fieldValue === void 0 ? void 0 : fieldValue.split(",").some((value) => value === option.value), size: "small" }), jsxRuntimeExports.jsx(ListItemText, { primary: option.label, sx: {
63176
+ fontSize: "5px !important",
63177
+ "& span": {
63178
+ fontSize: "12px !important",
63179
+ },
63180
+ } })] }), option.value)))) : (jsxRuntimeExports.jsx(MenuItem, Object.assign({ disabled: true, value: "NA" }, { children: "No data Found" }), "NA"))] })) })) }));
63181
+ }
63182
+
63183
+ export { Box as BoxTP, Button as ButtonTP, DeleteField, DeleteField as DeleteFieldTP, CssVarsProvider as Experimental_CssVarsProvider, Grid as GridTP, MultiSelectFieldComponent, FormRenderWrapper as RenderForm, FormRenderWrapper as RenderFormTP, SessionTimeOut as SessionTimeoutField, SessionTimeOut as SessionTimeoutFieldTP, StyledEngineProvider, THEME_ID, ThemeProvider, ThemeProvider$3 as ThemeProviderTP, Typography as TypographyTP, adaptV4Theme, alpha, createMuiTheme, createStyles, createTheme, css$1 as css, darken, decomposeColor, duration, easing, emphasize, styled$1 as experimentalStyled, extendTheme as experimental_extendTheme, experimental_sx, getContrastRatio, getInitColorSchemeScript, getLuminance, getOverlayAlpha$1 as getOverlayAlpha, hexToRgb, hslToRgb, keyframes, lighten, makeStyles$1 as makeStyles, createMixins as private_createMixins, createTypography as private_createTypography, excludeVariablesFromRoot$1 as private_excludeVariablesFromRoot, recomposeColor, responsiveFontSizes, rgbToHex, shouldSkipGeneratingVar, styled$1 as styled, createMuiStrictModeTheme as unstable_createMuiStrictModeTheme, getUnit as unstable_getUnit, toUnitless as unstable_toUnitless, useColorScheme, useForm as useFormElement, useForm as useFormElementTP, useFormValidatingContext, useFormValidatingContext as useFormValidatingContextTP, useTheme$2 as useTheme, useThemeProps$1 as useThemeProps, withStyles, withTheme, o as yupResolverTP };
63038
63184
  //# sourceMappingURL=index.esm.js.map