@codezee/sixtify-brahma 0.2.124 → 0.2.126

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 (48) hide show
  1. package/package.json +1 -1
  2. package/packages/shared-components/dist/Dialog/DeleteDialog.d.ts.map +1 -1
  3. package/packages/shared-components/dist/Dialog/DeleteDialog.js +1 -1
  4. package/packages/shared-components/dist/FilterList/FilterListV2.d.ts.map +1 -1
  5. package/packages/shared-components/dist/FilterList/FilterListV2.js +4 -1
  6. package/packages/shared-components/dist/FilterList/GetFilterPopupComponent.d.ts +2 -1
  7. package/packages/shared-components/dist/FilterList/GetFilterPopupComponent.d.ts.map +1 -1
  8. package/packages/shared-components/dist/FilterList/GetFilterPopupComponent.js +4 -4
  9. package/packages/shared-components/dist/FormFields/Autocomplete/Autocomplete.js +1 -1
  10. package/packages/shared-components/dist/FormFields/DatePicker/DatePicker.js +1 -1
  11. package/packages/shared-components/dist/FormFields/DateRangePicker/DateRangePicker.js +1 -1
  12. package/packages/shared-components/dist/FormFields/DateTimePicker/DateTimePicker.js +1 -1
  13. package/packages/shared-components/dist/FormFields/FileUpload/FileUpload.js +1 -1
  14. package/packages/shared-components/dist/FormFields/PhoneInputField/PhoneInputField.js +1 -1
  15. package/packages/shared-components/dist/FormFields/Rating/Ratting.js +1 -1
  16. package/packages/shared-components/dist/FormFields/SearchField/SearchField.d.ts.map +1 -1
  17. package/packages/shared-components/dist/FormFields/SearchField/SearchField.js +4 -1
  18. package/packages/shared-components/dist/FormFields/SearchField/StickySearchField.d.ts +11 -0
  19. package/packages/shared-components/dist/FormFields/SearchField/StickySearchField.d.ts.map +1 -0
  20. package/packages/shared-components/dist/FormFields/SearchField/StickySearchField.js +16 -0
  21. package/packages/shared-components/dist/FormFields/SearchField/index.d.ts +1 -0
  22. package/packages/shared-components/dist/FormFields/SearchField/index.d.ts.map +1 -1
  23. package/packages/shared-components/dist/FormFields/SearchField/index.js +1 -0
  24. package/packages/shared-components/dist/FormFields/Select/Select.js +1 -1
  25. package/packages/shared-components/dist/FormFields/TextField/TextField.d.ts +9 -3
  26. package/packages/shared-components/dist/FormFields/TextField/TextField.d.ts.map +1 -1
  27. package/packages/shared-components/dist/FormFields/TextField/TextField.js +22 -3
  28. package/packages/shared-components/dist/FormFields/TimeField/TimeField.js +1 -1
  29. package/packages/shared-components/dist/FormFields/TimePicker/TimePicker.js +1 -1
  30. package/packages/shared-components/dist/SmartGrid/Components/FacetedFilter/FacetedFilter.d.ts +1 -2
  31. package/packages/shared-components/dist/SmartGrid/Components/FacetedFilter/FacetedFilter.d.ts.map +1 -1
  32. package/packages/shared-components/dist/SmartGrid/Components/FacetedFilter/FacetedFilter.js +4 -9
  33. package/packages/shared-components/dist/SmartGrid/Components/FacetedFilter/VirtualCheckboxList.d.ts.map +1 -1
  34. package/packages/shared-components/dist/SmartGrid/Components/FacetedFilter/VirtualCheckboxList.js +6 -44
  35. package/packages/shared-components/dist/SmartGrid/Components/HeaderCell.d.ts +1 -2
  36. package/packages/shared-components/dist/SmartGrid/Components/HeaderCell.d.ts.map +1 -1
  37. package/packages/shared-components/dist/SmartGrid/Components/HeaderCell.js +2 -2
  38. package/packages/shared-components/dist/SmartGrid/Components/SearchFilterRow/GetRenderInputs.d.ts +1 -2
  39. package/packages/shared-components/dist/SmartGrid/Components/SearchFilterRow/GetRenderInputs.d.ts.map +1 -1
  40. package/packages/shared-components/dist/SmartGrid/Components/SearchFilterRow/GetRenderInputs.js +2 -2
  41. package/packages/shared-components/dist/SmartGrid/Components/SearchFilterRow/SearchFilterRow.d.ts +1 -2
  42. package/packages/shared-components/dist/SmartGrid/Components/SearchFilterRow/SearchFilterRow.d.ts.map +1 -1
  43. package/packages/shared-components/dist/SmartGrid/Components/SearchFilterRow/SearchFilterRow.js +2 -2
  44. package/packages/shared-components/dist/SmartGrid/SmartGrid.d.ts.map +1 -1
  45. package/packages/shared-components/dist/SmartGrid/SmartGrid.js +4 -17
  46. package/packages/shared-components/dist/SmartGrid/Components/FilterStatusPanel.d.ts +0 -8
  47. package/packages/shared-components/dist/SmartGrid/Components/FilterStatusPanel.d.ts.map +0 -1
  48. package/packages/shared-components/dist/SmartGrid/Components/FilterStatusPanel.js +0 -77
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codezee/sixtify-brahma",
3
- "version": "0.2.124",
3
+ "version": "0.2.126",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/hardikranpariya/sixtify-brahma.git"
@@ -1 +1 @@
1
- {"version":3,"file":"DeleteDialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/DeleteDialog.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,sDAM1B,iBAAiB,4CA4BnB,CAAC"}
1
+ {"version":3,"file":"DeleteDialog.d.ts","sourceRoot":"","sources":["../../src/Dialog/DeleteDialog.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,sDAM1B,iBAAiB,4CAgCnB,CAAC"}
@@ -11,6 +11,6 @@ const Button_1 = require("../Button");
11
11
  const Dialog_1 = require("./Dialog");
12
12
  const Layouts_1 = require("../Layouts");
13
13
  const DeleteDialog = ({ title, open, isDeleteLoading, onDelete, onClose, }) => {
14
- return ((0, jsx_runtime_1.jsx)(Dialog_1.Dialog, { maxWidth: "xs", isHideCloseIcon: true, isHideDividers: true, open: open, actions: (0, jsx_runtime_1.jsxs)(Layouts_1.ButtonContainer, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onClose, variant: "outlined", children: "Cancel" }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onDelete, color: "error", loading: isDeleteLoading, children: "Delete" })] }), children: (0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", direction: "row", children: [(0, jsx_runtime_1.jsx)(InfoTwoTone_1.default, { color: "error", sx: { mt: "1px" } }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle1", fontWeight: 700, children: title })] }) }));
14
+ return ((0, jsx_runtime_1.jsx)(Dialog_1.Dialog, { maxWidth: "xs", isHideCloseIcon: true, isHideDividers: true, open: open, actions: (0, jsx_runtime_1.jsxs)(Layouts_1.ButtonContainer, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { disabled: isDeleteLoading, onClick: onClose, variant: "outlined", children: "Cancel" }), (0, jsx_runtime_1.jsx)(Button_1.Button, { onClick: onDelete, color: "error", loading: isDeleteLoading, children: "Delete" })] }), children: (0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", direction: "row", children: [(0, jsx_runtime_1.jsx)(InfoTwoTone_1.default, { color: "error", sx: { mt: "1px" } }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle1", fontWeight: 700, children: title })] }) }));
15
15
  };
16
16
  exports.DeleteDialog = DeleteDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterListV2.d.ts","sourceRoot":"","sources":["../../src/FilterList/FilterListV2.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsBnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAiB7B;AAED,eAAO,MAAM,YAAY,GAAI,8EAO1B,iBAAiB,4CA8qBnB,CAAC"}
1
+ {"version":3,"file":"FilterListV2.d.ts","sourceRoot":"","sources":["../../src/FilterList/FilterListV2.tsx"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsBnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,eAAe,EAAE,cAAc,EAAE,GAChC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAiB7B;AAED,eAAO,MAAM,YAAY,GAAI,8EAO1B,iBAAiB,4CAorBnB,CAAC"}
@@ -279,6 +279,7 @@ const FilterListV2 = ({ filterListItems, isDisabled = false, filterListData, onA
279
279
  handleClick(buttonElement);
280
280
  },
281
281
  });
282
+ const firstNonSwitchIndex = filterListItems.findIndex(({ type }) => type !== "switch" && type !== "dateRange");
282
283
  return ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: { flexGrow: 1 }, children: [(0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: { xs: "end", md: "space-between" }, spacing: 1, children: [isDesktop && ((0, jsx_runtime_1.jsx)(material_1.Stack, { direction: "row", alignItems: "center", sx: {
283
284
  maxWidth: {
284
285
  xs: "40vw",
@@ -321,7 +322,8 @@ const FilterListV2 = ({ filterListItems, isDisabled = false, filterListData, onA
321
322
  }, children: [(0, jsx_runtime_1.jsx)(PadBox_1.PadBox, { padding: { padding: "10px 30px" }, children: (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", width: "100%", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h6", children: "Filter" }), (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: () => {
322
323
  reset();
323
324
  handleClose();
324
- }, children: (0, jsx_runtime_1.jsx)(icons_1.ClearIcon, {}) })] }) }), (0, jsx_runtime_1.jsx)(material_1.Divider, { sx: { width: "100%" } })] }), (0, jsx_runtime_1.jsx)(material_1.Stack, { flexGrow: 1, sx: { overflowX: "hidden" }, children: filterListItems.map((filter) => filter.type === "switch" ? ((0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", width: "80%", sx: { padding: "10px 5px 10px 20px ", margin: "auto" }, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", children: filter.label }), (0, jsx_runtime_1.jsx)(SwitchField_1.SwitchField, { control: control, name: filter.key })] }, filter.key)) : ((0, jsx_runtime_1.jsxs)(material_1.Accordion, { defaultExpanded: !!filterListData?.[filter.key] ||
325
+ }, children: (0, jsx_runtime_1.jsx)(icons_1.ClearIcon, {}) })] }) }), (0, jsx_runtime_1.jsx)(material_1.Divider, { sx: { width: "100%" } })] }), (0, jsx_runtime_1.jsx)(material_1.Stack, { flexGrow: 1, sx: { overflowX: "hidden" }, children: filterListItems.map((filter, index) => filter.type === "switch" ? ((0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", alignItems: "center", width: "80%", sx: { padding: "10px 5px 10px 20px ", margin: "auto" }, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "body2", children: filter.label }), (0, jsx_runtime_1.jsx)(SwitchField_1.SwitchField, { control: control, name: filter.key })] }, filter.key)) : ((0, jsx_runtime_1.jsxs)(material_1.Accordion, { defaultExpanded: index === firstNonSwitchIndex ||
326
+ !!filterListData?.[filter.key] ||
325
327
  !!defaultValues?.[filter.key] ||
326
328
  filter.required, disabled: filter.isDisabled, sx: {
327
329
  boxShadow: "none",
@@ -376,6 +378,7 @@ const FilterListV2 = ({ filterListItems, isDisabled = false, filterListData, onA
376
378
  control,
377
379
  errors,
378
380
  setIsPopupOpen,
381
+ autoFocus: index === firstNonSwitchIndex,
379
382
  })[filter.type] })) }) })] }, filter.key))) }), (0, jsx_runtime_1.jsx)(material_1.Divider, {}), (0, jsx_runtime_1.jsx)(material_1.Stack, { children: (0, jsx_runtime_1.jsx)(PadBox_1.PadBox, { padding: { padding: "10px" }, children: (0, jsx_runtime_1.jsxs)(Layouts_1.ButtonContainer, { children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { type: "submit", disabled: shouldFormSubmit, variant: "contained", onClick: () => {
380
383
  handleSubmit(onSubmit)();
381
384
  }, children: "Apply" }), (0, jsx_runtime_1.jsx)(Button_1.Button, { type: "button", onClick: () => handlerReset(), disabled: Object.keys(formData).every((key) => !formData[key]), variant: "outlined", children: "Reset" })] }) }) })] }) }), currentFilter && ((0, jsx_runtime_1.jsx)(FilterPopupWrapper_1.FilterPopupWrapper, { open: openFilterPopup, onClose: handleCloseFilterPopup, onApply: () => {
@@ -6,7 +6,8 @@ type GetFilterPopupComponentArgs = {
6
6
  control: Control<FieldValues>;
7
7
  errors: FieldErrors<FieldValues>;
8
8
  setIsPopupOpen?: (isOpen: boolean) => void;
9
+ autoFocus?: boolean;
9
10
  };
10
- export declare function getFilterPopupComponent({ selectedFilter, control, errors, setIsPopupOpen, }: GetFilterPopupComponentArgs): FilterPopupComponentType;
11
+ export declare function getFilterPopupComponent({ selectedFilter, control, errors, setIsPopupOpen, autoFocus, }: GetFilterPopupComponentArgs): FilterPopupComponentType;
11
12
  export {};
12
13
  //# sourceMappingURL=GetFilterPopupComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetFilterPopupComponent.d.ts","sourceRoot":"","sources":["../../src/FilterList/GetFilterPopupComponent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,KAAK,2BAA2B,GAAG;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,cAAc,EACd,OAAO,EACP,MAAM,EACN,cAAc,GACf,EAAE,2BAA2B,GAAG,wBAAwB,CA4ExD"}
1
+ {"version":3,"file":"GetFilterPopupComponent.d.ts","sourceRoot":"","sources":["../../src/FilterList/GetFilterPopupComponent.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOzE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAQ1D,KAAK,2BAA2B,GAAG;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,cAAc,EACd,OAAO,EACP,MAAM,EACN,cAAc,EACd,SAAiB,GAClB,EAAE,2BAA2B,GAAG,wBAAwB,CA+ExD"}
@@ -4,12 +4,12 @@ exports.getFilterPopupComponent = getFilterPopupComponent;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
6
  const FormFields_1 = require("../FormFields");
7
- function getFilterPopupComponent({ selectedFilter, control, errors, setIsPopupOpen, }) {
7
+ function getFilterPopupComponent({ selectedFilter, control, errors, setIsPopupOpen, autoFocus = false, }) {
8
8
  const theme = (0, material_1.useTheme)();
9
9
  const { sapphireBlue, black } = theme.palette.app.color;
10
10
  const errorSelectedKey = errors[selectedFilter.key];
11
11
  return {
12
- autoComplete: selectedFilter.options && ((0, jsx_runtime_1.jsx)(FormFields_1.Autocomplete, { disableClearable: true, multiple: selectedFilter.multiSelect ?? false, placeholder: `Select ${selectedFilter.label}`, name: `${selectedFilter.key}`, disabled: selectedFilter.isDisabled, shouldCloseOnSelect: selectedFilter.multiSelect ?? false, control: control, options: selectedFilter.options ?? [], onOpen: () => setIsPopupOpen?.(true), onClose: () => setIsPopupOpen?.(false), sx: {
12
+ autoComplete: selectedFilter.options && ((0, jsx_runtime_1.jsx)(FormFields_1.Autocomplete, { disableClearable: true, multiple: selectedFilter.multiSelect ?? false, placeholder: `Select ${selectedFilter.label}`, name: `${selectedFilter.key}`, disabled: selectedFilter.isDisabled, shouldCloseOnSelect: selectedFilter.multiSelect ?? false, control: control, options: selectedFilter.options ?? [], onOpen: () => setIsPopupOpen?.(true), onClose: () => setIsPopupOpen?.(false), autoFocus: autoFocus, sx: {
13
13
  maxHeight: "250px",
14
14
  overflowY: "auto",
15
15
  width: "100%",
@@ -26,8 +26,8 @@ function getFilterPopupComponent({ selectedFilter, control, errors, setIsPopupOp
26
26
  return `${option.label} (${option.employee_code}) - ${option.punch_code}`;
27
27
  },
28
28
  }), error: !!errorSelectedKey, helperText: errorSelectedKey?.message })),
29
- text: ((0, jsx_runtime_1.jsx)(FormFields_1.TextField, { name: selectedFilter.key, control: control, disabled: selectedFilter.isDisabled, placeholder: selectedFilter.label, error: !!errorSelectedKey, helperText: errorSelectedKey?.message })),
30
- date: ((0, jsx_runtime_1.jsx)(FormFields_1.DatePicker, { name: selectedFilter.key, control: control, disabled: selectedFilter.isDisabled, error: !!errorSelectedKey, helperText: errorSelectedKey?.message, ...(selectedFilter.monthYearFormat && {
29
+ text: ((0, jsx_runtime_1.jsx)(FormFields_1.TextField, { name: selectedFilter.key, control: control, disabled: selectedFilter.isDisabled, placeholder: selectedFilter.label, error: !!errorSelectedKey, helperText: errorSelectedKey?.message, autoFocus: autoFocus })),
30
+ date: ((0, jsx_runtime_1.jsx)(FormFields_1.DatePicker, { name: selectedFilter.key, control: control, disabled: selectedFilter.isDisabled, error: !!errorSelectedKey, helperText: errorSelectedKey?.message, autoFocus: autoFocus, ...(selectedFilter.monthYearFormat && {
31
31
  format: "MMM yyyy",
32
32
  views: ["year", "month"],
33
33
  }) })),
@@ -124,7 +124,7 @@ function Autocomplete({ control, defaultValue, name, required = false, label, mu
124
124
  if (loading) {
125
125
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, styling: styling });
126
126
  }
127
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", ...containerProps, children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", gap: "10px", alignItems: "start", children: [(0, jsx_runtime_1.jsx)(material_1.Autocomplete, { PopperComponent: material_1.Popper, PaperComponent: StyledPaper, sx: {
127
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", ...containerProps, children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", gap: "10px", alignItems: "start", children: [(0, jsx_runtime_1.jsx)(material_1.Autocomplete, { PopperComponent: material_1.Popper, PaperComponent: StyledPaper, sx: {
128
128
  "& .MuiAutocomplete-tag": {
129
129
  backgroundColor: (0, styles_1.alpha)(color.iron[700], 0.6),
130
130
  color: color.black[900],
@@ -65,7 +65,7 @@ function DatePicker({ setError, control, defaultValue, disabled = false, label,
65
65
  if (loading) {
66
66
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, styling: styling });
67
67
  }
68
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", ...containerProps, children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(DatePicker_1.DatePicker, { ...restField, ...restProps, disabled: disabled, views: views, format: format, value: finalValue, readOnly: readOnly, open: open && !readOnly, onOpen: () => setOpen(true), onClose: () => setOpen(false), slotProps: {
68
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", ...containerProps, children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(DatePicker_1.DatePicker, { ...restField, ...restProps, disabled: disabled, views: views, format: format, value: finalValue, readOnly: readOnly, open: open && !readOnly, onOpen: () => setOpen(true), onClose: () => setOpen(false), slotProps: {
69
69
  field: {
70
70
  clearable,
71
71
  onClear: () => onChange(null),
@@ -20,7 +20,7 @@ function DateRangePicker({ control, defaultValue, disabled = false, label, name,
20
20
  if (loading) {
21
21
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, {});
22
22
  }
23
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(react_date_range_1.DateRangePicker, { ranges: range, onChange: (ranges) => {
23
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(react_date_range_1.DateRangePicker, { ranges: range, onChange: (ranges) => {
24
24
  const selectedRange = ranges.selection;
25
25
  if (selectedRange?.endDate &&
26
26
  selectedRange?.startDate &&
@@ -53,7 +53,7 @@ function DateTimePicker({ control, defaultValue, disabled = false, label, readOn
53
53
  return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: "350px" }, children: (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, styling: styling }) }));
54
54
  }
55
55
  const EmptyIcon = () => null;
56
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsxs)(material_1.Stack, { alignItems: "center", flexDirection: "row", gap: "5px", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), helperIcon && toolTipText && ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: toolTipText, placement: "bottom", children: helperIcon }))] })), (0, jsx_runtime_1.jsx)(DateTimePicker_1.DateTimePicker, { ...restField, ...restProps, disabled: disabled, readOnly: readOnly, open: open, ampm: false, value: pickerValue, timeSteps: { minutes: timeStepsMinutes }, format: format, onOpen: () => setOpen(true), onClose: () => setOpen(false), slotProps: {
56
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsxs)(material_1.Stack, { alignItems: "center", flexDirection: "row", gap: "5px", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), helperIcon && toolTipText && ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: toolTipText, placement: "bottom", children: helperIcon }))] })), (0, jsx_runtime_1.jsx)(DateTimePicker_1.DateTimePicker, { ...restField, ...restProps, disabled: disabled, readOnly: readOnly, open: open, ampm: false, value: pickerValue, timeSteps: { minutes: timeStepsMinutes }, format: format, onOpen: () => setOpen(true), onClose: () => setOpen(false), slotProps: {
57
57
  field: {
58
58
  clearable,
59
59
  onClear: () => onChange(null),
@@ -61,7 +61,7 @@ function FileUpload({ loading = false, onChange, isDisabled, multiple = false, r
61
61
  if (loading) {
62
62
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, {});
63
63
  }
64
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", children: [(0, jsx_runtime_1.jsx)(material_1.InputLabel, { disabled: isDisabled, required: required, children: label }), (0, jsx_runtime_1.jsx)(FileUpload_styled_1.FileUploadContainer, { onClick: () => inputRef.current?.click(), error: error, disabled: isDisabled, ...restProps, children: (0, jsx_runtime_1.jsx)(PadBox_1.PadBox, { padding: { padding: "20px" }, children: (0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "4px", alignItems: "center", justifyContent: "center", children: [(0, jsx_runtime_1.jsx)(FileUpload_styled_1.FileInput, { disabled: isDisabled, type: "file", accept: accept.toString(), ref: inputRef, onChange: handleFileChange, multiple: multiple }), (0, jsx_runtime_1.jsx)(Svgs_1.SvgDrop, { disabled: isDisabled }), (0, jsx_runtime_1.jsx)(material_1.Typography, { color: isDisabled ? iron[800] : "revert-layer", children: "Drag & drop files or Browse" }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", color: isDisabled ? iron[800] : "revert-layer", children: acceptTitle })] }) }) }), error && ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", sx: {
64
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", children: [(0, jsx_runtime_1.jsx)(material_1.InputLabel, { disabled: isDisabled, required: required, children: label }), (0, jsx_runtime_1.jsx)(FileUpload_styled_1.FileUploadContainer, { onClick: () => inputRef.current?.click(), error: error, disabled: isDisabled, ...restProps, children: (0, jsx_runtime_1.jsx)(PadBox_1.PadBox, { padding: { padding: "20px" }, children: (0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "4px", alignItems: "center", justifyContent: "center", children: [(0, jsx_runtime_1.jsx)(FileUpload_styled_1.FileInput, { disabled: isDisabled, type: "file", accept: accept.toString(), ref: inputRef, onChange: handleFileChange, multiple: multiple }), (0, jsx_runtime_1.jsx)(Svgs_1.SvgDrop, { disabled: isDisabled }), (0, jsx_runtime_1.jsx)(material_1.Typography, { color: isDisabled ? iron[800] : "revert-layer", children: "Drag & drop files or Browse" }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", color: isDisabled ? iron[800] : "revert-layer", children: acceptTitle })] }) }) }), error && ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", sx: {
65
65
  color: `${red[900]}`,
66
66
  whiteSpace: "pre",
67
67
  textWrap: "wrap",
@@ -22,7 +22,7 @@ function PhoneInputField({ control, name, defaultValue, rules, label, disabled =
22
22
  if (loading) {
23
23
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, rows: rows });
24
24
  }
25
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "4px", children: [(0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(react_phone_input_2_1.default, { country: "in", enableSearch: true, disabled: disabled, placeholder: placeholder || label, onChange: (phone) => {
25
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "4px", children: [(0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(react_phone_input_2_1.default, { country: "in", enableSearch: true, disabled: disabled, placeholder: placeholder || label, onChange: (phone) => {
26
26
  onChange(phone);
27
27
  }, value: value, containerStyle: {
28
28
  width: "100%",
@@ -10,7 +10,7 @@ function Rating({ control, name, defaultValue, label = "", rules, disabled, load
10
10
  if (loading) {
11
11
  return (0, jsx_runtime_1.jsx)(Skeleton_1.RatingSkeleton, { label: label });
12
12
  }
13
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", direction: direction, alignItems: direction === "row" ? "center" : "flex-start", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: {
13
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", direction: direction, alignItems: direction === "row" ? "center" : "flex-start", children: [label && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: {
14
14
  minWidth: direction === "row" ? "120px" : "auto",
15
15
  marginBottom: direction === "row" ? 0 : "auto",
16
16
  }, children: label })), (0, jsx_runtime_1.jsx)(material_1.Rating, { disabled: disabled, value: value ?? null, onChange: (event, newValue) => {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchField.d.ts","sourceRoot":"","sources":["../../../src/FormFields/SearchField/SearchField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,2CA6B1E"}
1
+ {"version":3,"file":"SearchField.d.ts","sourceRoot":"","sources":["../../../src/FormFields/SearchField/SearchField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,wBAAgB,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,2CAiC1E"}
@@ -22,5 +22,8 @@ function SearchField(props) {
22
22
  },
23
23
  },
24
24
  }
25
- : undefined, ...props }));
25
+ : undefined, ...props, containerProps: {
26
+ width: { sm: "auto", xs: "100%" },
27
+ ...props.containerProps,
28
+ } }));
26
29
  }
@@ -0,0 +1,11 @@
1
+ import { type PaperProps, type SxProps } from "@mui/material";
2
+ import type { FieldValues } from "react-hook-form";
3
+ import type { TextFieldProps } from "../TextField";
4
+ type StickySearchFieldProps<T extends FieldValues> = TextFieldProps<T> & {
5
+ top?: object | string;
6
+ paperSx?: PaperProps;
7
+ boxSx?: SxProps;
8
+ };
9
+ export declare const StickySearchField: <T extends FieldValues>({ top, paperSx, boxSx, ...props }: StickySearchFieldProps<T>) => import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=StickySearchField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StickySearchField.d.ts","sourceRoot":"","sources":["../../../src/FormFields/SearchField/StickySearchField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,KAAK,sBAAsB,CAAC,CAAC,SAAS,WAAW,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG;IACvE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,WAAW,EAAE,mCAKtD,sBAAsB,CAAC,CAAC,CAAC,4CAkB3B,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StickySearchField = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const material_1 = require("@mui/material");
6
+ const PadBox_1 = require("../../PadBox");
7
+ const SearchField_1 = require("./SearchField");
8
+ const StickySearchField = ({ top = "0px", paperSx, boxSx, ...props }) => {
9
+ return ((0, jsx_runtime_1.jsx)(material_1.Paper, { variant: "outlined", sx: {
10
+ position: "sticky",
11
+ top,
12
+ zIndex: 100,
13
+ ...paperSx,
14
+ }, children: (0, jsx_runtime_1.jsx)(PadBox_1.PadBox, { padding: { padding: "5px" }, children: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { display: "flex", justifyContent: "flex-end", ...boxSx }, children: (0, jsx_runtime_1.jsx)(SearchField_1.SearchField, { ...props }) }) }) }));
15
+ };
16
+ exports.StickySearchField = StickySearchField;
@@ -1,2 +1,3 @@
1
1
  export * from "./SearchField";
2
+ export * from "./StickySearchField";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/FormFields/SearchField/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/FormFields/SearchField/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC"}
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./SearchField"), exports);
18
+ __exportStar(require("./StickySearchField"), exports);
@@ -140,7 +140,7 @@ function Select({ control, defaultValue, name, required = false, label, multiple
140
140
  });
141
141
  return items;
142
142
  };
143
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", gap: "10px", alignItems: "start", children: [(0, jsx_runtime_1.jsxs)(Select_styled_1.StyledFormControl, { fullWidth: true, error: error, disabled: disabled, required: required, sx: styling === "default"
143
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", justifyContent: "space-between", gap: "10px", alignItems: "start", children: [(0, jsx_runtime_1.jsxs)(Select_styled_1.StyledFormControl, { fullWidth: true, error: error, disabled: disabled, required: required, sx: styling === "default"
144
144
  ? {
145
145
  ...(0, commonStyles_1.getDefaultFormControlSx)(styling),
146
146
  "& .MuiOutlinedInput-notchedOutline": {
@@ -1,6 +1,7 @@
1
1
  import { type TextFieldProps as MuiTextFieldProps, type StackProps } from "@mui/material";
2
+ import type { ReactNode } from "react";
2
3
  import { type ControllerRenderProps, type FieldError, type FieldValues, type UseControllerProps } from "react-hook-form";
3
- export type AllowedCharacterType = "string" | "string-number" | "string-number-special";
4
+ export type AllowedCharacterType = "string" | "string-number" | "string-number-special" | "string-special" | "string-special-all" | "custom";
4
5
  export type LetterCase = "uppercase" | "lowercase" | "mixed";
5
6
  export type TextFieldProps<P extends FieldValues> = UseControllerProps<P> & Omit<MuiTextFieldProps, keyof ControllerRenderProps<P>> & {
6
7
  label?: string;
@@ -8,7 +9,6 @@ export type TextFieldProps<P extends FieldValues> = UseControllerProps<P> & Omit
8
9
  rows?: number;
9
10
  isCapitalize?: boolean;
10
11
  isTrimStartDisabled?: boolean;
11
- characterType?: AllowedCharacterType;
12
12
  letterCase?: LetterCase;
13
13
  setError?: (name: keyof P, error: FieldError | {
14
14
  type: string;
@@ -16,6 +16,12 @@ export type TextFieldProps<P extends FieldValues> = UseControllerProps<P> & Omit
16
16
  }) => void;
17
17
  containerProps?: StackProps;
18
18
  styling?: "custom" | "default";
19
+ infoMessage?: ReactNode;
20
+ characterType?: AllowedCharacterType;
21
+ regexExpression?: {
22
+ message: string | null;
23
+ regex: RegExp;
24
+ };
19
25
  };
20
- export declare function TextField<P extends FieldValues>({ control, name, defaultValue, label, rules, type, required, disabled, loading, placeholder, isCapitalize, isTrimStartDisabled, rows, characterType, letterCase, setError, containerProps, styling, ...inputFieldProps }: TextFieldProps<P>): import("react/jsx-runtime").JSX.Element;
26
+ export declare function TextField<P extends FieldValues>({ control, name, defaultValue, label, rules, type, required, disabled, loading, placeholder, isCapitalize, isTrimStartDisabled, rows, characterType, letterCase, setError, containerProps, styling, infoMessage, regexExpression, ...inputFieldProps }: TextFieldProps<P>): import("react/jsx-runtime").JSX.Element;
21
27
  //# sourceMappingURL=TextField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/FormFields/TextField/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,IAAI,iBAAiB,EACxC,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,eAAe,GACf,uBAAuB,CAAC;AAE5B,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;AAQ7D,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC,GACvE,IAAI,CAAC,iBAAiB,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,MAAM,CAAC,EACb,KAAK,EAAE,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KACnD,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAChC,CAAC;AAEJ,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,EAC/C,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,KAAU,EACV,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAe,EACf,WAAgB,EAChB,YAAoB,EACpB,mBAA2B,EAC3B,IAAI,EACJ,aAAuC,EACvC,UAAoB,EACpB,QAAQ,EACR,cAAc,EACd,OAAkB,EAClB,GAAG,eAAe,EACnB,EAAE,cAAc,CAAC,CAAC,CAAC,2CAmHnB"}
1
+ {"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../src/FormFields/TextField/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,IAAI,iBAAiB,EACxC,KAAK,UAAU,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACxB,MAAM,iBAAiB,CAAC;AAWzB,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,eAAe,GACf,uBAAuB,GACvB,gBAAgB,GAChB,oBAAoB,GACpB,QAAQ,CAAC;AAEb,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;AAY7D,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,IAAI,kBAAkB,CAAC,CAAC,CAAC,GACvE,IAAI,CAAC,iBAAiB,EAAE,MAAM,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAAG;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,MAAM,CAAC,EACb,KAAK,EAAE,UAAU,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KACnD,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,OAAO,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,eAAe,CAAC,EAAE;QAChB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH,CAAC;AAEJ,wBAAgB,SAAS,CAAC,CAAC,SAAS,WAAW,EAAE,EAC/C,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,KAAU,EACV,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAe,EACf,WAAgB,EAChB,YAAoB,EACpB,mBAA2B,EAC3B,IAAI,EACJ,aAAuC,EACvC,UAAoB,EACpB,QAAQ,EACR,cAAc,EACd,OAAkB,EAClB,WAAW,EACX,eAGC,EACD,GAAG,eAAe,EACnB,EAAE,cAAc,CAAC,CAAC,CAAC,2CA4InB"}
@@ -4,14 +4,22 @@ exports.TextField = TextField;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
6
  const react_hook_form_1 = require("react-hook-form");
7
+ const icons_material_1 = require("@mui/icons-material");
8
+ const Tooltip_1 = require("../../Tooltip");
7
9
  const commonStyles_1 = require("../commonStyles");
8
10
  const Skeleton_1 = require("./Skeleton");
9
11
  const characterTypeMessages = {
10
12
  string: "Only alphabetic characters are allowed.",
11
13
  "string-number": "Only letters and numbers are allowed.",
12
14
  "string-number-special": "Special characters are allowed.",
15
+ "string-special": "Only letters, accents, apostrophes, and hyphens are allowed.",
16
+ "string-special-all": "Only letters and Special characters are allowed",
17
+ custom: "Please enter a valid input",
13
18
  };
14
- function TextField({ control, name, defaultValue, label = "", rules, type, required, disabled, loading = false, placeholder = "", isCapitalize = false, isTrimStartDisabled = false, rows, characterType = "string-number-special", letterCase = "mixed", setError, containerProps, styling = "custom", ...inputFieldProps }) {
19
+ function TextField({ control, name, defaultValue, label = "", rules, type, required, disabled, loading = false, placeholder = "", isCapitalize = false, isTrimStartDisabled = false, rows, characterType = "string-number-special", letterCase = "mixed", setError, containerProps, styling = "custom", infoMessage, regexExpression = {
20
+ message: null,
21
+ regex: /^[\s\S]*$/,
22
+ }, ...inputFieldProps }) {
15
23
  const { field: { value, onChange, ...restField }, fieldState: { error }, } = (0, react_hook_form_1.useController)({ name, control, defaultValue, rules });
16
24
  const handleKeyDown = (event) => {
17
25
  if (event.key === "-" && type === "number") {
@@ -26,6 +34,12 @@ function TextField({ control, name, defaultValue, label = "", rules, type, requi
26
34
  return /^[A-Za-z0-9\s]*$/;
27
35
  case "string-number-special":
28
36
  return /^[\s\S]*$/;
37
+ case "string-special":
38
+ return /^[\p{L}’'\-\s]+$/u;
39
+ case "string-special-all":
40
+ return /^[^\d]+$/;
41
+ case "custom":
42
+ return regexExpression.regex;
29
43
  default:
30
44
  return /^[\s\S]*$/;
31
45
  }
@@ -47,10 +61,16 @@ function TextField({ control, name, defaultValue, label = "", rules, type, requi
47
61
  }
48
62
  return result;
49
63
  };
64
+ const { message } = regexExpression;
65
+ const errorMessage = !message
66
+ ? characterTypeMessages[characterType]
67
+ : message;
50
68
  if (loading) {
51
69
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, rows: rows, styling: styling });
52
70
  }
53
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { ...containerProps, gap: "10px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(material_1.TextField, { disabled: disabled, required: required, fullWidth: true, onKeyDown: handleKeyDown, placeholder: styling === "default" ? placeholder : placeholder || label, type: type, label: styling === "default" ? label : undefined, sx: (0, commonStyles_1.getDefaultTextFieldSx)(styling), InputLabelProps: (0, commonStyles_1.getDefaultInputLabelProps)(styling), inputProps: {
71
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { ...containerProps, gap: "5px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsxs)(material_1.Stack, { direction: "row", children: [(0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label }), infoMessage && ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { toolTipLabel: infoMessage, children: (0, jsx_runtime_1.jsx)(icons_material_1.InfoOutlined, { sx: {
72
+ fontSize: 13,
73
+ } }) }))] })), (0, jsx_runtime_1.jsx)(material_1.TextField, { disabled: disabled, required: required, fullWidth: true, onKeyDown: handleKeyDown, placeholder: styling === "default" ? placeholder : placeholder || label, type: type, label: styling === "default" ? label : undefined, sx: (0, commonStyles_1.getDefaultTextFieldSx)(styling), InputLabelProps: (0, commonStyles_1.getDefaultInputLabelProps)(styling), inputProps: {
54
74
  min: 0,
55
75
  }, error: Boolean(error), helperText: error?.message, onChange: (event) => {
56
76
  let value = event.target.value || null;
@@ -62,7 +82,6 @@ function TextField({ control, name, defaultValue, label = "", rules, type, requi
62
82
  }
63
83
  const cleanedVal = value && cleanInput(value);
64
84
  if (value !== cleanedVal) {
65
- const errorMessage = characterTypeMessages[characterType];
66
85
  if (setError) {
67
86
  setError(name, { type: "manual", message: errorMessage });
68
87
  return;
@@ -21,7 +21,7 @@ function TimeField({ control, defaultValue, disabled = false, label, name, error
21
21
  if (loading) {
22
22
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, styling: styling });
23
23
  }
24
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(TimeField_1.TimeField, { ...restField, ...restProps, disabled: disabled, value: pickerValue, onChange: (value) => {
24
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", children: [label && styling === "custom" && ((0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label })), (0, jsx_runtime_1.jsx)(TimeField_1.TimeField, { ...restField, ...restProps, disabled: disabled, value: pickerValue, onChange: (value) => {
25
25
  if (value?.isValid) {
26
26
  if (isReturnLocalTime) {
27
27
  return onChange(value.toFormat(format));
@@ -23,7 +23,7 @@ function TimePicker({ control, defaultValue, disabled = false, label, readOnly =
23
23
  if (loading) {
24
24
  return (0, jsx_runtime_1.jsx)(Skeleton_1.Skeleton, { label: label, styling: styling });
25
25
  }
26
- return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "10px", ...containerProps, children: [label && styling === "custom" && ((0, jsx_runtime_1.jsxs)(material_1.Stack, { alignItems: "center", flexDirection: "row", gap: "5px", children: [(0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label }), helperIcon && toolTipText && ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: toolTipText, placement: "bottom", children: helperIcon }))] })), (0, jsx_runtime_1.jsx)(TimePicker_1.TimePicker, { ...restField, ...restProps, disabled: disabled, readOnly: readOnly, open: open, ampm: false, value: pickerValue, format: format, onOpen: () => setOpen(true), onClose: () => setOpen(false), timeSteps: { minutes: timeStepsMinutes }, slotProps: {
26
+ return ((0, jsx_runtime_1.jsxs)(material_1.Stack, { gap: "5px", ...containerProps, children: [label && styling === "custom" && ((0, jsx_runtime_1.jsxs)(material_1.Stack, { alignItems: "center", flexDirection: "row", gap: "5px", children: [(0, jsx_runtime_1.jsx)(material_1.InputLabel, { sx: { fontSize: { xs: "14px", md: "16px" } }, required: required, disabled: disabled, children: label }), helperIcon && toolTipText && ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: toolTipText, placement: "bottom", children: helperIcon }))] })), (0, jsx_runtime_1.jsx)(TimePicker_1.TimePicker, { ...restField, ...restProps, disabled: disabled, readOnly: readOnly, open: open, ampm: false, value: pickerValue, format: format, onOpen: () => setOpen(true), onClose: () => setOpen(false), timeSteps: { minutes: timeStepsMinutes }, slotProps: {
27
27
  textField: {
28
28
  disabled,
29
29
  helperText,
@@ -1,8 +1,7 @@
1
1
  import type { Header } from "@tanstack/react-table";
2
2
  type FacetedFilterProps<T> = {
3
3
  header: Header<T, unknown>;
4
- resetAllFilters: boolean;
5
4
  };
6
- export declare const FacetedFilter: <T>({ header, resetAllFilters, }: FacetedFilterProps<T>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const FacetedFilter: <T>({ header }: FacetedFilterProps<T>) => import("react/jsx-runtime").JSX.Element;
7
6
  export {};
8
7
  //# sourceMappingURL=FacetedFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacetedFilter.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/FacetedFilter/FacetedFilter.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAUpD,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,EAAG,8BAG/B,kBAAkB,CAAC,CAAC,CAAC,4CA0TvB,CAAC"}
1
+ {"version":3,"file":"FacetedFilter.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/FacetedFilter/FacetedFilter.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAUpD,KAAK,kBAAkB,CAAC,CAAC,IAAI;IAC3B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,EAAG,YAAY,kBAAkB,CAAC,CAAC,CAAC,4CAoTlE,CAAC"}
@@ -9,7 +9,7 @@ const useGetDynamicOptionData_1 = require("./hooks/useGetDynamicOptionData");
9
9
  const DebouncedInput_1 = require("../SearchFilterRow/DebouncedInput");
10
10
  const VirtualCheckboxList_1 = require("./VirtualCheckboxList");
11
11
  const Tooltip_1 = require("../../../Tooltip");
12
- const FacetedFilter = ({ header, resetAllFilters, }) => {
12
+ const FacetedFilter = ({ header }) => {
13
13
  const theme = (0, material_1.useTheme)();
14
14
  const { butterflyBlue, iron, mirage } = theme.palette.app.color;
15
15
  const [isOpen, setIsOpen] = (0, react_1.useState)(false);
@@ -132,22 +132,17 @@ const FacetedFilter = ({ header, resetAllFilters, }) => {
132
132
  setSearchValue("");
133
133
  setIsOpen(false);
134
134
  }, [header.column, isCombinedFilter]);
135
- (0, react_1.useMemo)(() => {
136
- if (resetAllFilters) {
137
- handleReset();
138
- }
139
- }, [resetAllFilters]);
140
135
  return ((0, jsx_runtime_1.jsxs)("div", { style: { position: "relative" }, children: [(0, jsx_runtime_1.jsxs)(material_1.IconButton, { ref: buttonRef, onClick: () => setIsOpen(!isOpen), sx: { padding: 0, position: "relative" }, children: [(0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { toolTipLabel: "Faceted Filter", children: (0, jsx_runtime_1.jsx)(icons_material_1.FilterListRounded, {}) }), activeFilterCount > 0 && ((0, jsx_runtime_1.jsx)("span", { style: {
141
136
  backgroundColor: butterflyBlue[900],
142
- border: `2px solid ${iron[600]}`,
143
137
  borderRadius: "50%",
144
138
  color: iron[600],
145
139
  fontSize: "10px",
146
140
  fontWeight: "bold",
147
141
  height: "6px",
142
+ lineHeight: "6px",
148
143
  position: "absolute",
149
144
  right: 0,
150
- top: 1,
145
+ top: 3,
151
146
  width: "6px",
152
147
  } }))] }), isOpen && ((0, jsx_runtime_1.jsx)(material_1.ClickAwayListener, { onClickAway: handleClickAway, children: (0, jsx_runtime_1.jsxs)("div", { ref: popoverRef, style: {
153
148
  backgroundColor: iron[600],
@@ -155,7 +150,7 @@ const FacetedFilter = ({ header, resetAllFilters, }) => {
155
150
  boxShadow: `0 0 20px ${mirage[50]}`,
156
151
  display: "flex",
157
152
  flexDirection: "column",
158
- height: "290px",
153
+ height: "251px",
159
154
  left: 0,
160
155
  padding: "8px",
161
156
  position: "absolute",
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualCheckboxList.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/FacetedFilter/VirtualCheckboxList.tsx"],"names":[],"mappings":"AAGA,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,0EACM,wBAAwB,6CA6J7D,CAAC"}
1
+ {"version":3,"file":"VirtualCheckboxList.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/FacetedFilter/VirtualCheckboxList.tsx"],"names":[],"mappings":"AAGA,KAAK,wBAAwB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,0EACM,wBAAwB,6CAmG7D,CAAC"}
@@ -6,14 +6,14 @@ const material_1 = require("@mui/material");
6
6
  const react_1 = require("react");
7
7
  exports.VirtualCheckboxList = (0, react_1.memo)(({ checkedMap, onToggle, options }) => {
8
8
  const theme = (0, material_1.useTheme)();
9
- const { butterflyBlue, sapphireBlue } = theme.palette.app.color;
9
+ const { butterflyBlue } = theme.palette.app.color;
10
10
  const containerRef = (0, react_1.useRef)(null);
11
11
  const [visibleRange, setVisibleRange] = (0, react_1.useState)({ end: 20, start: 0 });
12
- const [isMouseDown, setIsMouseDown] = (0, react_1.useState)(false);
13
- const [dragMode, setDragMode] = (0, react_1.useState)(null);
14
- const ITEM_HEIGHT = 25;
12
+ const ITEM_HEIGHT = 32;
15
13
  const BUFFER = 5;
16
14
  const CONTAINER_HEIGHT = 200;
15
+ // useCallback is used to stabilize the scroll handler reference,
16
+ // preventing unnecessary re-attachment when used in event listeners or memoized components.
17
17
  const handleScroll = (0, react_1.useCallback)(() => {
18
18
  if (!containerRef.current) {
19
19
  return;
@@ -28,44 +28,12 @@ exports.VirtualCheckboxList = (0, react_1.memo)(({ checkedMap, onToggle, options
28
28
  const visibleItems = (0, react_1.useMemo)(() => {
29
29
  return options.slice(visibleRange.start, visibleRange.end);
30
30
  }, [options, visibleRange.start, visibleRange.end]);
31
- // useCallback is used to memoize the handler and prevent unnecessary re-creations
32
- // when passed to event listeners inside the list items.
33
- const handleMouseDown = (0, react_1.useCallback)((value) => {
34
- setIsMouseDown(true);
35
- const isAlreadyChecked = checkedMap[value];
36
- setDragMode(isAlreadyChecked ? "unCheck" : "check");
37
- onToggle(value);
38
- }, [onToggle, checkedMap]);
39
- // useCallback ensures stable reference when attached to multiple items’ mouse events,
40
- // avoiding re-binding on every render and improving performance.
41
- const handleMouseEnter = (0, react_1.useCallback)((value) => {
42
- if (isMouseDown && dragMode) {
43
- const isChecked = checkedMap[value];
44
- if ((dragMode === "check" && !isChecked) ||
45
- (dragMode === "unCheck" && isChecked)) {
46
- onToggle(value);
47
- }
48
- }
49
- }, [isMouseDown, dragMode, checkedMap, onToggle]);
50
- // useCallback memoizes this function so the global mouseup listener
51
- // remains stable across renders, preventing multiple event bindings.
52
- const handleMouseUp = (0, react_1.useCallback)(() => {
53
- setIsMouseDown(false);
54
- setDragMode(null);
55
- }, []);
56
- // Stop drag globally when mouse released anywhere
57
- (0, react_1.useMemo)(() => {
58
- document.addEventListener("mouseup", handleMouseUp);
59
- return () => document.removeEventListener("mouseup", handleMouseUp);
60
- }, [handleMouseUp]);
61
31
  return ((0, jsx_runtime_1.jsx)("div", { ref: containerRef, onScroll: handleScroll, style: {
62
32
  display: "flex",
63
33
  flexDirection: "column",
64
- height: "300px",
65
34
  maxHeight: `${CONTAINER_HEIGHT}px`,
66
35
  overflowY: "auto",
67
36
  position: "relative",
68
- userSelect: "none",
69
37
  }, children: (0, jsx_runtime_1.jsx)("div", { style: {
70
38
  height: `${options.length * ITEM_HEIGHT}px`,
71
39
  position: "relative",
@@ -75,20 +43,14 @@ exports.VirtualCheckboxList = (0, react_1.memo)(({ checkedMap, onToggle, options
75
43
  width: "100%",
76
44
  }, children: visibleItems.map((value) => {
77
45
  const isChecked = checkedMap[value] || false;
78
- return ((0, jsx_runtime_1.jsxs)(material_1.Typography, { onMouseDown: () => handleMouseDown(value), onMouseEnter: () => handleMouseEnter(value), style: {
46
+ return ((0, jsx_runtime_1.jsxs)(material_1.Typography, { onClick: () => onToggle(value), style: {
79
47
  alignItems: "center",
80
- backgroundColor: isChecked
81
- ? sapphireBlue[400]
82
- : "transparent",
83
48
  cursor: "pointer",
84
49
  display: "flex",
85
50
  fontSize: "12px",
86
51
  gap: "4px",
87
52
  height: `${ITEM_HEIGHT}px`,
88
- }, children: [(0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: isChecked, onChange: (e) => {
89
- e.stopPropagation();
90
- onToggle(value);
91
- }, onMouseDown: (e) => e.stopPropagation(), size: "small", style: {
53
+ }, children: [(0, jsx_runtime_1.jsx)(material_1.Checkbox, { checked: isChecked, onChange: () => onToggle(value), size: "small", style: {
92
54
  color: isChecked ? butterflyBlue[900] : "",
93
55
  padding: "4px",
94
56
  } }), value] }, value));
@@ -3,8 +3,7 @@ type HeaderCellProps<T> = {
3
3
  defaultGrouping?: (keyof T)[];
4
4
  header: Header<T, unknown>;
5
5
  loading: boolean;
6
- resetAllFilters: boolean;
7
6
  };
8
- export declare const HeaderCell: <T>({ defaultGrouping, header, loading, resetAllFilters, }: HeaderCellProps<T>) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const HeaderCell: <T>({ defaultGrouping, header, loading, }: HeaderCellProps<T>) => import("react/jsx-runtime").JSX.Element;
9
8
  export {};
10
9
  //# sourceMappingURL=HeaderCell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderCell.d.ts","sourceRoot":"","sources":["../../../src/SmartGrid/Components/HeaderCell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,uBAAuB,CAAC;AAQhE,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAG,wDAK5B,eAAe,CAAC,CAAC,CAAC,4CA0IpB,CAAC"}
1
+ {"version":3,"file":"HeaderCell.d.ts","sourceRoot":"","sources":["../../../src/SmartGrid/Components/HeaderCell.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,uBAAuB,CAAC;AAQhE,KAAK,eAAe,CAAC,CAAC,IAAI;IACxB,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAG,uCAI5B,eAAe,CAAC,CAAC,CAAC,4CAoIpB,CAAC"}
@@ -13,7 +13,7 @@ const FacetedFilter_1 = require("./FacetedFilter/FacetedFilter");
13
13
  const useGetGroupedColumn_1 = require("../hooks/useGetGroupedColumn");
14
14
  const useGetSortedColumn_1 = require("../hooks/useGetSortedColumn");
15
15
  const Tooltip_1 = require("../../Tooltip");
16
- const HeaderCell = ({ defaultGrouping, header, loading = false, resetAllFilters, }) => {
16
+ const HeaderCell = ({ defaultGrouping, header, loading = false, }) => {
17
17
  const theme = (0, material_1.useTheme)();
18
18
  const { butterflyBlue, iron, slate } = theme.palette.app.color;
19
19
  const { isSortable, mutipleSortCounts, sortableIcon } = (0, useGetSortedColumn_1.useGetSortedColumn)({
@@ -54,7 +54,7 @@ const HeaderCell = ({ defaultGrouping, header, loading = false, resetAllFilters,
54
54
  textOverflow: "ellipsis",
55
55
  textWrap: "nowrap",
56
56
  }, children: !header.isPlaceholder &&
57
- (0, react_table_1.flexRender)(columnDef.header, header.getContext()) }) }), showFacetedFilter && !loading && ((0, jsx_runtime_1.jsx)(FacetedFilter_1.FacetedFilter, { header: header, resetAllFilters: resetAllFilters })), isSortable && !loading && ((0, jsx_runtime_1.jsxs)(Tooltip_1.Tooltip, { toolTipLabel: "Sorting", children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { sx: { padding: 0 }, onClick: getToggleSortingHandler(), children: sortableIcon }), isSortable && mutipleSortCounts > 0 && ((0, jsx_runtime_1.jsxs)(material_1.Typography, { color: iron[400], variant: "body2", children: ["(", mutipleSortCounts + 1, ")"] }))] })), isGroupable && !defaultGrouping?.length && !loading && ((0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: getToggleGroupingHandler(),
57
+ (0, react_table_1.flexRender)(columnDef.header, header.getContext()) }) }), isSortable && mutipleSortCounts > 0 && mutipleSortCounts + 1, showFacetedFilter && !loading && (0, jsx_runtime_1.jsx)(FacetedFilter_1.FacetedFilter, { header: header }), isSortable && !loading && ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { toolTipLabel: "Sorting", children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { sx: { padding: 0 }, onClick: getToggleSortingHandler(), children: sortableIcon }) })), isGroupable && !defaultGrouping?.length && !loading && ((0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: getToggleGroupingHandler(),
58
58
  style: {
59
59
  cursor: "pointer",
60
60
  padding: 0,
@@ -3,8 +3,7 @@ type GetRenderInputsProps<T> = {
3
3
  filterVariant?: "smartTextFilter" | "smartNumberFilter" | "smartDateFilter" | "smartSelectFilter";
4
4
  header: Header<T, unknown>;
5
5
  headerDyanmicWidth: number;
6
- resetAllFilters: boolean;
7
6
  };
8
- export declare const GetRenderInputs: <T>({ filterVariant, header, headerDyanmicWidth, resetAllFilters, }: GetRenderInputsProps<T>) => import("react/jsx-runtime").JSX.Element | null;
7
+ export declare const GetRenderInputs: <T>({ filterVariant, header, headerDyanmicWidth, }: GetRenderInputsProps<T>) => import("react/jsx-runtime").JSX.Element | null;
9
8
  export {};
10
9
  //# sourceMappingURL=GetRenderInputs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GetRenderInputs.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/SearchFilterRow/GetRenderInputs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,aAAa,CAAC,EACV,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAG,iEAKjC,oBAAoB,CAAC,CAAC,CAAC,mDAyGzB,CAAC"}
1
+ {"version":3,"file":"GetRenderInputs.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/SearchFilterRow/GetRenderInputs.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,aAAa,CAAC,EACV,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,mBAAmB,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAG,gDAIjC,oBAAoB,CAAC,CAAC,CAAC,mDAyGzB,CAAC"}
@@ -4,7 +4,7 @@ exports.GetRenderInputs = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
6
  const DebouncedInput_1 = require("./DebouncedInput");
7
- const GetRenderInputs = ({ filterVariant, header, headerDyanmicWidth, resetAllFilters, }) => {
7
+ const GetRenderInputs = ({ filterVariant, header, headerDyanmicWidth, }) => {
8
8
  const { columnDef, getFilterValue, setFilterValue } = header.column;
9
9
  const { facetedFilter, filterParams, filterVariant: hasFilterVariant, } = columnDef;
10
10
  const isCombinedFilter = facetedFilter && hasFilterVariant;
@@ -26,7 +26,7 @@ const GetRenderInputs = ({ filterVariant, header, headerDyanmicWidth, resetAllFi
26
26
  const setValue = (value) => isCombinedFilter
27
27
  ? updateCombinedFilter({ search: value })
28
28
  : setFilterValue(value);
29
- const renderDebouncedInput = (type) => ((0, jsx_runtime_1.jsx)(DebouncedInput_1.DebouncedInput, { onChange: (value) => setValue(resetAllFilters ? "" : value), type: type, value: resetAllFilters ? "" : getValue(), style: commonInputStyle }));
29
+ const renderDebouncedInput = (type) => ((0, jsx_runtime_1.jsx)(DebouncedInput_1.DebouncedInput, { onChange: (value) => setValue(value), type: type, value: getValue(), style: commonInputStyle }));
30
30
  const renderSelectInput = () => {
31
31
  const options = filterParams?.filterOptions ?? [];
32
32
  const value = isCombinedFilter
@@ -1,8 +1,7 @@
1
1
  import type { Header } from "@tanstack/react-table";
2
2
  type SearchFilterRowProps<T> = {
3
3
  header: Header<T, unknown>;
4
- resetAllFilters: boolean;
5
4
  };
6
- export declare const SearchFilterRow: <T>({ header, resetAllFilters, }: SearchFilterRowProps<T>) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const SearchFilterRow: <T>({ header }: SearchFilterRowProps<T>) => import("react/jsx-runtime").JSX.Element;
7
6
  export {};
8
7
  //# sourceMappingURL=SearchFilterRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterRow.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/SearchFilterRow/SearchFilterRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAG,8BAGjC,oBAAoB,CAAC,CAAC,CAAC,4CAgDzB,CAAC"}
1
+ {"version":3,"file":"SearchFilterRow.d.ts","sourceRoot":"","sources":["../../../../src/SmartGrid/Components/SearchFilterRow/SearchFilterRow.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,KAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,CAAC,EAAG,YAAY,oBAAoB,CAAC,CAAC,CAAC,4CA+CtE,CAAC"}
@@ -4,7 +4,7 @@ exports.SearchFilterRow = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const material_1 = require("@mui/material");
6
6
  const GetRenderInputs_1 = require("./GetRenderInputs");
7
- const SearchFilterRow = ({ header, resetAllFilters, }) => {
7
+ const SearchFilterRow = ({ header }) => {
8
8
  const theme = (0, material_1.useTheme)();
9
9
  const { iron, slate } = theme.palette.app.color;
10
10
  const headerDyanmicWidth = header.column.getIsPinned()
@@ -29,6 +29,6 @@ const SearchFilterRow = ({ header, resetAllFilters, }) => {
29
29
  textAlign: "left",
30
30
  width: headerDyanmicWidth,
31
31
  zIndex: header.column.getIsPinned() ? 3 : 0,
32
- }, children: filterVariant ? ((0, jsx_runtime_1.jsx)(GetRenderInputs_1.GetRenderInputs, { filterVariant: filterVariant, header: header, headerDyanmicWidth: headerDyanmicWidth, resetAllFilters: resetAllFilters })) : ("-") }));
32
+ }, children: filterVariant ? ((0, jsx_runtime_1.jsx)(GetRenderInputs_1.GetRenderInputs, { filterVariant: filterVariant, header: header, headerDyanmicWidth: headerDyanmicWidth })) : ("-") }));
33
33
  };
34
34
  exports.SearchFilterRow = SearchFilterRow;
@@ -1 +1 @@
1
- {"version":3,"file":"SmartGrid.d.ts","sourceRoot":"","sources":["../../src/SmartGrid/SmartGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAON,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,SAAS,CAAC;AA6BjB,KAAK,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAC3E,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;AAErE,eAAO,MAAM,SAAS,EA+UjB,aAAa,CAAC"}
1
+ {"version":3,"file":"SmartGrid.d.ts","sourceRoot":"","sources":["../../src/SmartGrid/SmartGrid.tsx"],"names":[],"mappings":"AAIA,OAAO,KAMN,MAAM,OAAO,CAAC;AAcf,OAAO,KAAK,EACV,cAAc,EAIf,MAAM,SAAS,CAAC;AA6BjB,KAAK,aAAa,GAAG,KAAK,CAAC,yBAAyB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAC3E,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;AAErE,eAAO,MAAM,SAAS,EAuTjB,aAAa,CAAC"}
@@ -7,7 +7,6 @@ const react_virtual_1 = require("@tanstack/react-virtual");
7
7
  const react_1 = require("react");
8
8
  const CircularLoader_1 = require("./Components/CircularLoader");
9
9
  const DataNotFound_1 = require("./Components/DataNotFound");
10
- const FilterStatusPanel_1 = require("./Components/FilterStatusPanel");
11
10
  const HeaderCell_1 = require("./Components/HeaderCell");
12
11
  const SearchFilterRow_1 = require("./Components/SearchFilterRow/SearchFilterRow");
13
12
  const TableFooterComponent_1 = require("./Components/TableFooterComponent/TableFooterComponent");
@@ -30,7 +29,6 @@ const calculateGroupSummary = (groupRow, globalSummary, dynamicSummaryConfig) =>
30
29
  exports.SmartGrid = (0, react_1.forwardRef)(({ defaultGrouping = [], emptyMessage = "No data found", enableCellSelection = false, exportActions = [], exportData = false, height = "calc(100vh - 130px)", loading = false, rowHeight = 38, rowSelection = false, totalCount = 0, ...props }, ref) => {
31
30
  const theme = (0, material_1.useTheme)();
32
31
  const { butterflyBlue } = theme.palette.app.color;
33
- const [resetAllFilters, setResetAllFilters] = (0, react_1.useState)(false);
34
32
  const containerRef = (0, react_1.useRef)(null);
35
33
  const headerRef = (0, react_1.useRef)(null);
36
34
  const { columns: propsColumns, data, dynamicSummaryConfig, summary, } = props;
@@ -114,17 +112,6 @@ exports.SmartGrid = (0, react_1.forwardRef)(({ defaultGrouping = [], emptyMessag
114
112
  return hasFilterVariant || (hasFacetedFilter && !isCombinedFilter);
115
113
  }));
116
114
  }, [columns]);
117
- const clearAllFilters = () => {
118
- table.setColumnFilters([]);
119
- table.resetColumnFilters();
120
- getHeaderGroups()
121
- .flatMap((group) => group.headers)
122
- .forEach((header) => header.column.setFilterValue(undefined));
123
- setResetAllFilters(true);
124
- setTimeout(() => {
125
- setResetAllFilters(false);
126
- }, 100);
127
- };
128
115
  return ((0, jsx_runtime_1.jsxs)(CellSelectionContext_1.CellSelectionProvider, { value: {
129
116
  ...cellSelection,
130
117
  enabled: enableCellSelection,
@@ -164,11 +151,11 @@ exports.SmartGrid = (0, react_1.forwardRef)(({ defaultGrouping = [], emptyMessag
164
151
  zIndex: 10,
165
152
  }, children: getHeaderGroups().map((headerGroup) => ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("tr", { children: [headerGroup.headers
166
153
  .filter((h) => h.column.getIsPinned() === "left")
167
- .map((header) => ((0, jsx_runtime_1.jsx)(HeaderCell_1.HeaderCell, { header: header, loading: loading, resetAllFilters: resetAllFilters }, header.id))), headerGroup.headers
154
+ .map((header) => ((0, jsx_runtime_1.jsx)(HeaderCell_1.HeaderCell, { header: header, loading: loading }, header.id))), headerGroup.headers
168
155
  .filter((h) => !h.column.getIsPinned())
169
- .map((header) => ((0, jsx_runtime_1.jsx)(HeaderCell_1.HeaderCell, { header: header, loading: loading, resetAllFilters: resetAllFilters }, header.id))), headerGroup.headers
156
+ .map((header) => ((0, jsx_runtime_1.jsx)(HeaderCell_1.HeaderCell, { header: header, loading: loading }, header.id))), headerGroup.headers
170
157
  .filter((h) => h.column.getIsPinned() === "right")
171
- .map((header) => ((0, jsx_runtime_1.jsx)(HeaderCell_1.HeaderCell, { header: header, loading: loading, resetAllFilters: resetAllFilters }, header.id)))] }, headerGroup.id), enableSecondRowFilter && !loading && ((0, jsx_runtime_1.jsx)("tr", { children: headerGroup.headers.map((header) => ((0, jsx_runtime_1.jsx)(SearchFilterRow_1.SearchFilterRow, { header: header, resetAllFilters: resetAllFilters }, header.id))) }))] }, headerGroup.id))) }), (0, jsx_runtime_1.jsx)("tbody", { style: {
158
+ .map((header) => ((0, jsx_runtime_1.jsx)(HeaderCell_1.HeaderCell, { header: header, loading: loading }, header.id)))] }, headerGroup.id), enableSecondRowFilter && !loading && ((0, jsx_runtime_1.jsx)("tr", { children: headerGroup.headers.map((header) => ((0, jsx_runtime_1.jsx)(SearchFilterRow_1.SearchFilterRow, { header: header }, header.id))) }))] }, headerGroup.id))) }), (0, jsx_runtime_1.jsx)("tbody", { style: {
172
159
  filter: loading ? "blur(2px)" : "none",
173
160
  height: `${rowVirtualizer.getTotalSize()}px`,
174
161
  position: "relative",
@@ -180,6 +167,6 @@ exports.SmartGrid = (0, react_1.forwardRef)(({ defaultGrouping = [], emptyMessag
180
167
  }
181
168
  const { groupId, isSummary, row, summaryData } = enhancedRow;
182
169
  return ((0, jsx_runtime_1.jsx)(TableRowComponent_1.TableRowComponent, { columnWidths: columnWidths, row: row, index: virtualRow.index, virtualRow: virtualRow, rowHeight: rowHeight, rowSelection: rowSelection, isSummaryRow: isSummary, summaryData: summaryData, exportData: exportData, exportActions: exportActions }, `table-row-${virtualRow.index}-${isSummary ? "summary" : "normal"}-${groupId}`));
183
- }) }), !loading && summary && ((0, jsx_runtime_1.jsx)(TableFooterComponent_1.TableFooterComponent, { table: table, summary: summary }))] }) }), rowSelection && getSelectedRowModel().rows.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { style: { fontSize: "14px" }, children: ["Selected Rows: ", getSelectedRowModel().rows.length] })), (0, jsx_runtime_1.jsx)(FilterStatusPanel_1.FilterStatusPanel, { table: table, clearAllFilters: clearAllFilters }), loading && (0, jsx_runtime_1.jsx)(CircularLoader_1.CircularLoader, {}), !rows.length && !loading && (0, jsx_runtime_1.jsx)(DataNotFound_1.DataNotFound, { message: emptyMessage })] })] }));
170
+ }) }), !loading && summary && ((0, jsx_runtime_1.jsx)(TableFooterComponent_1.TableFooterComponent, { table: table, summary: summary }))] }) }), rowSelection && getSelectedRowModel().rows.length > 0 && ((0, jsx_runtime_1.jsxs)("div", { style: { fontSize: "14px" }, children: ["Selected Rows: ", getSelectedRowModel().rows.length] })), loading && (0, jsx_runtime_1.jsx)(CircularLoader_1.CircularLoader, {}), !rows.length && !loading && (0, jsx_runtime_1.jsx)(DataNotFound_1.DataNotFound, { message: emptyMessage })] })] }));
184
171
  });
185
172
  exports.SmartGrid.displayName = "SmartGrid";
@@ -1,8 +0,0 @@
1
- import type { Table } from "@tanstack/react-table";
2
- type FilterStatusPanelProps<T> = {
3
- clearAllFilters: () => void;
4
- table: Table<T>;
5
- };
6
- export declare const FilterStatusPanel: <T>({ clearAllFilters, table, }: FilterStatusPanelProps<T>) => import("react/jsx-runtime").JSX.Element;
7
- export {};
8
- //# sourceMappingURL=FilterStatusPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FilterStatusPanel.d.ts","sourceRoot":"","sources":["../../../src/SmartGrid/Components/FilterStatusPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,KAAK,sBAAsB,CAAC,CAAC,IAAI;IAC/B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAG,6BAGnC,sBAAsB,CAAC,CAAC,CAAC,4CA2I3B,CAAC"}
@@ -1,77 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FilterStatusPanel = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const icons_material_1 = require("@mui/icons-material");
6
- const material_1 = require("@mui/material");
7
- const react_1 = require("react");
8
- const FilterStatusPanel = ({ clearAllFilters, table, }) => {
9
- const theme = (0, material_1.useTheme)();
10
- const { brown, butterflyBlue, iron, slate } = theme.palette.app.color;
11
- const { getHeaderGroups } = table;
12
- return ((0, jsx_runtime_1.jsx)("div", { style: {
13
- backgroundColor: slate[600],
14
- borderTop: `1px solid ${iron[700]}`,
15
- display: "flex",
16
- overflow: "auto",
17
- width: "100%",
18
- }, children: (() => {
19
- // Helper function to extract filter values from different filter types
20
- const extractFilterValues = (filter) => {
21
- if (!filter) {
22
- return { facets: [], search: [] };
23
- }
24
- const { facets: filterFacets, search: filterSearch } = filter;
25
- // Handle array filters
26
- if (Array.isArray(filter)) {
27
- return { facets: filter.map(String), search: [] };
28
- }
29
- // Handle primitive filters (string/number)
30
- if (typeof filter === "string" || typeof filter === "number") {
31
- return {
32
- facets: filter !== "" ? [String(filter)] : [],
33
- search: [],
34
- };
35
- }
36
- // Handle object filters with facets and search
37
- if (typeof filter === "object" && filter != null) {
38
- const facets = Array.isArray(filterFacets) ? filterFacets : [];
39
- const search = filterSearch != null && filterSearch !== ""
40
- ? [String(filterSearch)]
41
- : [];
42
- return { facets, search };
43
- }
44
- return { facets: [], search: [] };
45
- };
46
- // Build applied filters list
47
- const appliedFilters = getHeaderGroups()
48
- .flatMap((group) => group.headers)
49
- .map((header) => {
50
- const filter = header.column.getFilterValue();
51
- const { facets, search } = extractFilterValues(filter);
52
- const hasValues = facets.length > 0 || search.length > 0;
53
- return hasValues ? ((0, jsx_runtime_1.jsxs)(material_1.Stack, { flexDirection: "row", gap: "3px", children: [(0, jsx_runtime_1.jsxs)(material_1.Typography, { variant: "caption", fontWeight: 600, children: [header.column.columnDef.header, ":"] }), facets.length > 0 && ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", sx: { color: butterflyBlue[900] }, children: facets.join(", ") })), facets.length > 0 && search.length > 0 && ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", children: "," })), search.length > 0 && ((0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", sx: { color: brown[900] }, children: search.join(", ") }))] }, header.id)) : null;
54
- })
55
- .filter(Boolean);
56
- // Don't render if no filters applied
57
- if (!appliedFilters.length) {
58
- return null;
59
- }
60
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
61
- alignItems: "center",
62
- display: "flex",
63
- gap: "5px",
64
- padding: "5px 0px",
65
- }, children: [(0, jsx_runtime_1.jsx)(material_1.IconButton, { sx: { borderRight: `2px solid ${iron[700]}`, padding: "0px 5px" }, onClick: clearAllFilters, children: (0, jsx_runtime_1.jsx)(icons_material_1.HighlightOffRounded, { fontSize: "small" }) }), (0, jsx_runtime_1.jsx)("div", { style: {
66
- alignItems: "center",
67
- display: "flex",
68
- gap: "3px",
69
- overflow: "hidden",
70
- textOverflow: "ellipsis",
71
- whiteSpace: "nowrap",
72
- }, children: appliedFilters.map((filter, index) => (
73
- // eslint-disable-next-line sonarjs/no-array-index-key
74
- (0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [index > 0 && (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", children: "," }), filter] }, index))) })] }));
75
- })() }));
76
- };
77
- exports.FilterStatusPanel = FilterStatusPanel;