@zydon/common 2.7.86 → 2.7.88

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 (92) hide show
  1. package/dist/{chunk-TB4Y7LXN.js → chunk-2W54CJ6E.js} +3 -3
  2. package/dist/chunk-2W54CJ6E.js.map +1 -0
  3. package/dist/chunk-3C7RDPW6.js +19 -0
  4. package/dist/chunk-3C7RDPW6.js.map +1 -0
  5. package/dist/chunk-4P2L7UJA.js +5 -0
  6. package/dist/chunk-4P2L7UJA.js.map +1 -0
  7. package/dist/chunk-CJXYDF24.js +26 -0
  8. package/dist/chunk-CJXYDF24.js.map +1 -0
  9. package/dist/chunk-G5LWV77F.js +12 -0
  10. package/dist/chunk-G5LWV77F.js.map +1 -0
  11. package/dist/chunk-HNEGKBXI.js +5 -0
  12. package/dist/chunk-HNEGKBXI.js.map +1 -0
  13. package/dist/chunk-K4FZQR7Q.js +19 -0
  14. package/dist/chunk-K4FZQR7Q.js.map +1 -0
  15. package/dist/chunk-LG2B5RFV.js +12 -0
  16. package/dist/chunk-LG2B5RFV.js.map +1 -0
  17. package/dist/{chunk-QGWIO2AX.js → chunk-MZOCS5HH.js} +3 -3
  18. package/dist/{chunk-UWW26H42.js → chunk-VXSEKK3V.js} +12 -12
  19. package/dist/chunk-VXSEKK3V.js.map +1 -0
  20. package/dist/chunk-ZOUROFZV.js +9 -0
  21. package/dist/chunk-ZOUROFZV.js.map +1 -0
  22. package/dist/components/Autocomplete/index.d.ts +1 -1
  23. package/dist/components/Autocomplete/index.js +1 -1
  24. package/dist/components/AutocompleteDetailed/index.d.ts +2 -2
  25. package/dist/components/AutocompleteDetailed/index.js +1 -1
  26. package/dist/components/AvatarButton/index.js +3 -3
  27. package/dist/components/BulkEditModal/index.js +3 -3
  28. package/dist/components/CardBrand/index.d.ts +4 -2
  29. package/dist/components/CardBrand/index.js +2 -2
  30. package/dist/components/CardBrand/index.js.map +1 -1
  31. package/dist/components/Common/index.js +3 -3
  32. package/dist/components/DataView/index.d.ts +8 -5
  33. package/dist/components/DataView/index.js +2 -2
  34. package/dist/components/DateRangeCalendar/index.d.ts +8 -4
  35. package/dist/components/DateRangeCalendar/index.js +3 -3
  36. package/dist/components/DateRangeCalendar/index.js.map +1 -1
  37. package/dist/components/DynamicDataView/index.d.ts +57 -33
  38. package/dist/components/DynamicDataView/index.js +32 -14
  39. package/dist/components/DynamicDataView/index.js.map +1 -1
  40. package/dist/components/FileUpload/index.d.ts +3 -1
  41. package/dist/components/FileUpload/index.js +2 -2
  42. package/dist/components/IconButton/index.d.ts +0 -2
  43. package/dist/components/IconButton/index.js +1 -1
  44. package/dist/components/ResponsivePopover/index.d.ts +19 -0
  45. package/dist/components/ResponsivePopover/index.js +4 -0
  46. package/dist/components/ResponsivePopover/index.js.map +1 -0
  47. package/dist/components/ToggleTheme/index.js +3 -3
  48. package/dist/components/form/Address/index.js +2 -2
  49. package/dist/components/form/Autocomplete/index.d.ts +1 -1
  50. package/dist/components/form/Autocomplete/index.js +2 -2
  51. package/dist/components/form/AutocompleteDetailed/index.d.ts +1 -1
  52. package/dist/components/form/AutocompleteDetailed/index.js +3 -3
  53. package/dist/components/form/AutocompleteDetailed/index.js.map +1 -1
  54. package/dist/components/form/Codes/index.js +2 -2
  55. package/dist/components/form/Codes/index.js.map +1 -1
  56. package/dist/components/form/FileUpload/index.js +3 -3
  57. package/dist/components/form/FileUpload/index.js.map +1 -1
  58. package/dist/components/form/Webhook/index.js +2 -2
  59. package/dist/hooks/useAutocomplete.js +3 -3
  60. package/dist/hooks/useAutocomplete.js.map +1 -1
  61. package/dist/hooks/useThemeToggle.js +3 -3
  62. package/dist/hooks/useUploadImage.d.ts +2 -1
  63. package/dist/hooks/useUploadImage.js +1 -1
  64. package/dist/hooks/useUploadImage.js.map +1 -1
  65. package/dist/index.js +3 -3
  66. package/dist/theme/theme-provider.js +3 -3
  67. package/dist/types/autoCompleteProps.d.ts +1 -1
  68. package/dist/types/entityMetadata.d.ts +30 -3
  69. package/dist/types/entityMetadata.js +1 -1
  70. package/dist/types/export.d.ts +42 -0
  71. package/dist/types/export.js +5 -0
  72. package/dist/types/export.js.map +1 -0
  73. package/dist/types/filter.d.ts +44 -0
  74. package/dist/types/filter.js +3 -0
  75. package/dist/types/filter.js.map +1 -0
  76. package/dist/utils/buildExportPayload.d.ts +20 -0
  77. package/dist/utils/buildExportPayload.js +8 -0
  78. package/dist/utils/buildExportPayload.js.map +1 -0
  79. package/package.json +1 -1
  80. package/dist/chunk-4HWP7ZLZ.js +0 -26
  81. package/dist/chunk-4HWP7ZLZ.js.map +0 -1
  82. package/dist/chunk-5PLCCVXS.js +0 -9
  83. package/dist/chunk-5PLCCVXS.js.map +0 -1
  84. package/dist/chunk-A22V4WPA.js +0 -19
  85. package/dist/chunk-A22V4WPA.js.map +0 -1
  86. package/dist/chunk-CKYSHYJK.js +0 -19
  87. package/dist/chunk-CKYSHYJK.js.map +0 -1
  88. package/dist/chunk-FCXNL2OG.js +0 -12
  89. package/dist/chunk-FCXNL2OG.js.map +0 -1
  90. package/dist/chunk-TB4Y7LXN.js.map +0 -1
  91. package/dist/chunk-UWW26H42.js.map +0 -1
  92. /package/dist/{chunk-QGWIO2AX.js.map → chunk-MZOCS5HH.js.map} +0 -0
@@ -1,6 +1,7 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { GridValidRowModel } from '@mui/x-data-grid-premium';
1
3
  import * as react from 'react';
2
4
  import { ReactNode, Dispatch, SetStateAction, PropsWithChildren } from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
5
  import * as _mui_material_Stack from '@mui/material/Stack';
5
6
  import { StackProps } from '@mui/material/Stack';
6
7
  import * as _mui_material_styles from '@mui/material/styles';
@@ -11,23 +12,25 @@ import * as _mui_material_OverridableComponent from '@mui/material/OverridableCo
11
12
  import * as _emotion_styled from '@emotion/styled';
12
13
  import * as _mui_system from '@mui/system';
13
14
  import { P as PanelProps } from '../../props-a62a2c29.js';
14
- import '@mui/x-data-grid-premium';
15
15
 
16
- interface DataViewProps extends DataGridProps {
16
+ interface DataViewProps<T = unknown> extends DataGridProps {
17
17
  containerProps?: StackProps;
18
18
  title: string;
19
19
  headerContent?: ReactNode;
20
20
  breakpoint?: Breakpoint | number;
21
21
  onPaginationChange: (page: number, rowsPerPage: number) => void;
22
- mobileRender: (row: any) => ReactNode;
22
+ mobileRender: (row: T) => ReactNode;
23
23
  actions?: ReactNode;
24
24
  moreActions?: ReactNode;
25
25
  onAdd?: () => void;
26
26
  onSearch?: (value: string) => void;
27
27
  searchValue?: string;
28
28
  onSearchChange?: (value: string) => void;
29
+ hideFooter?: boolean;
29
30
  hideHeader?: boolean;
30
31
  showColumnButton?: boolean;
32
+ filterButton?: ReactNode;
33
+ activeFilters?: ReactNode;
31
34
  }
32
35
  interface ToolbarProps {
33
36
  setFilterButtonEl: Dispatch<SetStateAction<HTMLButtonElement | null>>;
@@ -77,6 +80,6 @@ declare const MobilePaginationContainer: _emotion_styled.StyledComponent<_mui_ma
77
80
 
78
81
  declare const Toolbar: ({ setFilterButtonEl }: ToolbarProps) => react_jsx_runtime.JSX.Element;
79
82
 
80
- declare const _default: react.MemoExoticComponent<({ title, headerContent, breakpoint, columns, rows, mobileRender, rowCount, paginationModel, onPaginationChange, actions, moreActions, onAdd, onSearch, searchValue, onSearchChange, slots, slotProps, loading, fetching, containerProps, hideFooter, hideHeader, showColumnButton, ...others }: DataViewProps) => react_jsx_runtime.JSX.Element>;
83
+ declare const _default: <T extends GridValidRowModel = GridValidRowModel>({ title, headerContent, breakpoint, columns, rows, mobileRender, rowCount, paginationModel, onPaginationChange, actions, moreActions, onAdd, onSearch, searchValue, onSearchChange, slots, slotProps, loading, fetching, containerProps, hideFooter, hideHeader, showColumnButton, filterButton, activeFilters, ...others }: DataViewProps<T>) => react_jsx_runtime.JSX.Element;
81
84
 
82
85
  export { ActionsContainer, ActionsDivider, Container, _default$2 as DesktopFooter, _default$1 as EnhancedMoreActions, Header, MobilePaginationContainer, SearchContainer, Toolbar, ToolbarActionsDivider, Topbar, _default as default };
@@ -1,11 +1,11 @@
1
- export { a as DesktopFooter, b as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-4HWP7ZLZ.js';
1
+ export { a as DesktopFooter, b as EnhancedMoreActions, c as Toolbar, d as default } from '../../chunk-CJXYDF24.js';
2
2
  import '../../chunk-SHJKJLBQ.js';
3
3
  import '../../chunk-IJZCVZ32.js';
4
4
  import '../../chunk-IDFJFFIV.js';
5
5
  import '../../chunk-6U5LS7MP.js';
6
6
  import '../../chunk-BNBE2OMA.js';
7
7
  import '../../chunk-NIQW2J3M.js';
8
- export { c as ActionsContainer, d as ActionsDivider, a as Container, b as Header, h as MobilePaginationContainer, g as SearchContainer, e as ToolbarActionsDivider, f as Topbar } from '../../chunk-TB4Y7LXN.js';
8
+ export { c as ActionsContainer, d as ActionsDivider, a as Container, b as Header, h as MobilePaginationContainer, g as SearchContainer, e as ToolbarActionsDivider, f as Topbar } from '../../chunk-2W54CJ6E.js';
9
9
  import '../../chunk-UVPQR2Q2.js';
10
10
  import '../../chunk-RBTYTONM.js';
11
11
  import '../../chunk-I4PPSW36.js';
@@ -1,12 +1,16 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { DateRangeCalendarProps as DateRangeCalendarProps$1 } from '@mui/x-date-pickers-pro';
3
2
  import { Dayjs } from 'dayjs';
3
+ import { DateRangeCalendarProps as DateRangeCalendarProps$1 } from '@mui/x-date-pickers-pro';
4
4
 
5
+ type DateRangeValue = [Date | null, Date | null];
6
+ type MaybeDateRangeValue = DateRangeValue | undefined;
5
7
  type DateRangeCalendarProps = Omit<DateRangeCalendarProps$1<Dayjs>, 'value' | 'onChange'> & {
6
- value?: [Date | null, Date | null] | undefined;
7
- onChange(value: [Date | null, Date | null]): void;
8
+ value?: MaybeDateRangeValue;
9
+ onChange(value: DateRangeValue): void;
8
10
  };
9
11
 
12
+ declare const toCalendarValue: (value: MaybeDateRangeValue) => [Dayjs | null, Dayjs | null];
13
+ declare const toDateRange: (newRange: [Dayjs | null, Dayjs | null]) => DateRangeValue;
10
14
  declare const DateRangeCalendar: ({ value, onChange, ...other }: DateRangeCalendarProps) => react_jsx_runtime.JSX.Element;
11
15
 
12
- export { DateRangeCalendar as default };
16
+ export { DateRangeCalendar as default, toCalendarValue, toDateRange };
@@ -1,9 +1,9 @@
1
1
  import { DateRangeCalendar } from '@mui/x-date-pickers-pro';
2
- import n from 'dayjs';
2
+ import e from 'dayjs';
3
3
  import { jsx } from 'react/jsx-runtime';
4
4
 
5
- var d=({value:a,onChange:e,...t})=>{let o=[a?.[0]?n(a[0]):null,a?.[1]?n(a[1]):null];return jsx(DateRangeCalendar,{...t,value:o,onChange:l=>{e([l[0]?l[0].toDate():null,l[1]?l[1].toDate():null]);}})},j=d;
5
+ var r=a=>[a?.[0]?e(a[0]):null,a?.[1]?e(a[1]):null],u=a=>[a[0]?a[0].toDate():null,a[1]?a[1].toDate():null],s=({value:a,onChange:l,...n})=>{let t=r(a);return jsx(DateRangeCalendar,{...n,value:t,onChange:o=>{l(u(o));}})},C=s;
6
6
 
7
- export { j as default };
7
+ export { C as default, r as toCalendarValue, u as toDateRange };
8
8
  //# sourceMappingURL=out.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DateRangeCalendar/index.tsx"],"names":["MuiDateRangeCalendar","dayjs","jsx","DateRangeCalendar","value","onChange","other","calendarValue","newRange","DateRangeCalendar_default"],"mappings":"AAAA,OAAS,qBAAqBA,MAA4B,0BAC1D,OAAOC,MAAW,QAsBd,cAAAC,MAAA,oBAlBJ,IAAMC,EAAoB,CAAC,CACzB,MAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAA8B,CAC5B,IAAMC,EAA0D,CAC9DH,IAAQ,CAAC,EAAIH,EAAMG,EAAM,CAAC,CAAC,EAAI,KAC/BA,IAAQ,CAAC,EAAIH,EAAMG,EAAM,CAAC,CAAC,EAAI,IACjC,EASA,OACEF,EAACF,EAAA,CACE,GAAGM,EACJ,MAAOC,EACP,SAXkBC,GAAuD,CAC3EH,EAAS,CACPG,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAE,OAAO,EAAI,KACrCA,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAE,OAAO,EAAI,IACvC,CAAC,CACH,EAOE,CAEJ,EAEOC,EAAQN","sourcesContent":["import { DateRangeCalendar as MuiDateRangeCalendar } from '@mui/x-date-pickers-pro';\nimport dayjs from 'dayjs';\n\nimport { DateRangeCalendarProps } from './props';\n\nconst DateRangeCalendar = ({\n value,\n onChange,\n ...other\n}: DateRangeCalendarProps) => {\n const calendarValue: [dayjs.Dayjs | null, dayjs.Dayjs | null] = [\n value?.[0] ? dayjs(value[0]) : null,\n value?.[1] ? dayjs(value[1]) : null,\n ];\n\n const handleChange = (newRange: [dayjs.Dayjs | null, dayjs.Dayjs | null]) => {\n onChange([\n newRange[0] ? newRange[0].toDate() : null,\n newRange[1] ? newRange[1].toDate() : null,\n ]);\n };\n\n return (\n <MuiDateRangeCalendar\n {...other}\n value={calendarValue}\n onChange={handleChange}\n />\n );\n};\n\nexport default DateRangeCalendar;\n"]}
1
+ {"version":3,"sources":["../../../src/components/DateRangeCalendar/index.tsx"],"names":["MuiDateRangeCalendar","dayjs","jsx","toCalendarValue","value","toDateRange","newRange","DateRangeCalendar","onChange","other","calendarValue","DateRangeCalendar_default"],"mappings":"AAAA,OAAS,qBAAqBA,MAA4B,0BAC1D,OAAOC,MAA2B,QAkC9B,cAAAC,MAAA,oBA1BG,IAAMC,EACXC,GACiC,CACjCA,IAAQ,CAAC,EAAIH,EAAMG,EAAM,CAAC,CAAC,EAAI,KAC/BA,IAAQ,CAAC,EAAIH,EAAMG,EAAM,CAAC,CAAC,EAAI,IACjC,EAEaC,EACXC,GACmB,CACnBA,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAE,OAAO,EAAI,KACrCA,EAAS,CAAC,EAAIA,EAAS,CAAC,EAAE,OAAO,EAAI,IACvC,EAEMC,EAAoB,CAAC,CACzB,MAAAH,EACA,SAAAI,EACA,GAAGC,CACL,IAA8B,CAC5B,IAAMC,EAAgBP,EAAgBC,CAAK,EAM3C,OACEF,EAACF,EAAA,CACE,GAAGS,EACJ,MAAOC,EACP,SARkBJ,GAA2C,CAC/DE,EAASH,EAAYC,CAAQ,CAAC,CAChC,EAOE,CAEJ,EAEOK,EAAQJ","sourcesContent":["import { DateRangeCalendar as MuiDateRangeCalendar } from '@mui/x-date-pickers-pro';\nimport dayjs, { type Dayjs } from 'dayjs';\n\nimport {\n DateRangeCalendarProps,\n DateRangeValue,\n MaybeDateRangeValue,\n} from './props';\n\nexport const toCalendarValue = (\n value: MaybeDateRangeValue,\n): [Dayjs | null, Dayjs | null] => [\n value?.[0] ? dayjs(value[0]) : null,\n value?.[1] ? dayjs(value[1]) : null,\n];\n\nexport const toDateRange = (\n newRange: [Dayjs | null, Dayjs | null],\n): DateRangeValue => [\n newRange[0] ? newRange[0].toDate() : null,\n newRange[1] ? newRange[1].toDate() : null,\n];\n\nconst DateRangeCalendar = ({\n value,\n onChange,\n ...other\n}: DateRangeCalendarProps) => {\n const calendarValue = toCalendarValue(value);\n\n const handleChange = (newRange: [Dayjs | null, Dayjs | null]) => {\n onChange(toDateRange(newRange));\n };\n\n return (\n <MuiDateRangeCalendar\n {...other}\n value={calendarValue}\n onChange={handleChange}\n />\n );\n};\n\nexport default DateRangeCalendar;\n"]}
@@ -1,29 +1,26 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, ReactElement } from 'react';
3
+ import { MouseEvent, ReactNode, ReactElement } from 'react';
4
4
  import { GridColDef, GridColumnVisibilityModel } from '@mui/x-data-grid-premium';
5
- import { PagedResponse } from '../../types/api.js';
6
5
  import { Field, EntityMetadataResponse } from '../../types/entityMetadata.js';
6
+ import { Filter, Sort } from '../../types/filter.js';
7
+ export { FilterConditional, FilterState, FilterValue } from '../../types/filter.js';
8
+ import { PagedResponse } from '../../types/api.js';
9
+ import { SxProps, Theme } from '@mui/material/styles';
7
10
  import { Icon } from '../../types/icon.js';
8
11
 
9
- interface DynamicRow {
10
- id: string;
11
- [key: string]: unknown;
12
+ interface StatusRendererProps {
13
+ active: boolean;
14
+ activeLabel?: string;
15
+ inactiveLabel?: string;
12
16
  }
13
- type DynamicRowData<T = object> = DynamicRow & T;
14
- type CellRenderer<T = object> = (field: Field, row: DynamicRowData<T>, metadata?: {
15
- id_field_name?: string;
16
- description_field_name?: string;
17
- }) => ReactNode;
18
-
19
- type ColumnStrategy<T = object> = (field: Field, renderCell: CellRenderer<T>, metadata?: {
20
- id_field_name?: string;
21
- }) => GridColDef;
22
-
23
- interface BooleanRendererProps {
24
- value: unknown;
25
- trueLabel?: string;
26
- falseLabel?: string;
17
+ interface ImageRendererProps {
18
+ imageResourceId?: string | null;
19
+ getImageUrl?: (resourceId: string) => string;
20
+ size?: number;
21
+ alt?: string;
22
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
23
+ sx?: SxProps<Theme>;
27
24
  }
28
25
  interface EntityRendererProps {
29
26
  value: unknown;
@@ -49,9 +46,22 @@ interface TextRendererProps {
49
46
  value: unknown;
50
47
  showCopyButton?: boolean;
51
48
  copyMessage?: string;
49
+ copyLabel?: string;
50
+ mask?: (value: string) => string | null;
52
51
  }
53
52
 
54
- type MobileRenderFunction<T = object> = (row: DynamicRowData<T>) => ReactNode;
53
+ type ColumnStrategy<T = object> = (field: Field, renderCell: CellRenderer<T>, metadata?: {
54
+ id_field_name?: string;
55
+ }) => GridColDef;
56
+ interface DynamicRow {
57
+ id: string;
58
+ [key: string]: unknown;
59
+ }
60
+ type DynamicRowData<T = object> = DynamicRow & T;
61
+ type CellRenderer<T = object> = (field: Field, row: DynamicRowData<T>, metadata?: {
62
+ id_field_name?: string;
63
+ description_field_name?: string;
64
+ }) => ReactNode;
55
65
  interface DynamicDataViewProps<T = object> {
56
66
  title: string;
57
67
  metadata: EntityMetadataResponse;
@@ -74,45 +84,59 @@ interface DynamicDataViewProps<T = object> {
74
84
  slots?: {
75
85
  noRowsOverlay?: () => ReactElement;
76
86
  };
77
- mobileRender?: MobileRenderFunction<T>;
87
+ mobileRender: (row: T) => ReactNode;
78
88
  containerHeight?: number;
79
89
  showColumnButton?: boolean;
90
+ showFilterButton?: boolean;
91
+ filter?: Filter;
92
+ onFilterChange?: (filter: Filter | undefined) => void;
93
+ sort?: Sort;
94
+ onSortChange?: (sort: Sort | undefined) => void;
80
95
  defaultVisibleFieldNames?: string[];
81
96
  preferredFieldOrder?: string[];
82
97
  columnStrategies?: {
83
98
  [fieldName: string]: ColumnStrategy<T>;
84
99
  };
85
100
  onColumnVisibilityModelChange?: (model: GridColumnVisibilityModel) => void;
86
- columnVisibilityStorageKey?: string;
101
+ storageKey: string;
87
102
  }
88
103
 
89
- declare const _default$8: <T extends object = object>({ title, metadata, data, isLoading, isFetching, page, perPage, searchValue, onSearchChange, onSearch, onPaginationChange, onAdd, onRowAction, onRowDoubleClick, actions, moreActions, hideHeader, slots, mobileRender, containerHeight, showColumnButton, defaultVisibleFieldNames, preferredFieldOrder, columnStrategies, onColumnVisibilityModelChange, columnVisibilityStorageKey, }: DynamicDataViewProps<T>) => react_jsx_runtime.JSX.Element;
90
-
91
- declare const _default$7: react.MemoExoticComponent<({ value, trueLabel, falseLabel, }: BooleanRendererProps) => ReactNode>;
104
+ declare const _default$9: <T extends object = object>({ title, metadata, data, isLoading, isFetching, page, perPage, searchValue, onSearchChange, onSearch, onPaginationChange, onAdd, onRowAction, onRowDoubleClick, actions, moreActions, hideHeader, slots, mobileRender, containerHeight, showColumnButton, showFilterButton, filter, onFilterChange, sort, onSortChange, defaultVisibleFieldNames, preferredFieldOrder, columnStrategies, onColumnVisibilityModelChange, storageKey, }: DynamicDataViewProps<T>) => react_jsx_runtime.JSX.Element;
92
105
 
93
106
  interface DateRendererProps {
94
107
  value: unknown;
95
108
  format?: string;
96
109
  }
97
- declare const _default$6: react.MemoExoticComponent<({ value, format }: DateRendererProps) => ReactNode>;
110
+ declare const _default$8: react.MemoExoticComponent<({ value, format }: DateRendererProps) => ReactNode>;
98
111
 
99
112
  interface DateTimeRendererProps {
100
113
  value: unknown;
101
114
  format?: string;
102
115
  }
103
- declare const _default$5: react.MemoExoticComponent<({ value, format, }: DateTimeRendererProps) => ReactNode>;
116
+ declare const _default$7: react.MemoExoticComponent<({ value, format, }: DateTimeRendererProps) => ReactNode>;
104
117
 
105
- declare const _default$4: react.MemoExoticComponent<({ value, field }: EntityRendererProps) => ReactNode>;
118
+ declare const _default$6: react.MemoExoticComponent<({ value, field }: EntityRendererProps) => ReactNode>;
106
119
 
107
- declare const _default$3: react.MemoExoticComponent<({ value, trueIcon, falseIcon, color, width, }: IconRendererProps) => ReactNode>;
120
+ declare const _default$5: react.MemoExoticComponent<({ value, trueIcon, falseIcon, color, width, }: IconRendererProps) => ReactNode>;
108
121
 
109
- declare const _default$2: react.MemoExoticComponent<({ id, displayName, copyMessage, }: NameRendererProps) => ReactNode>;
122
+ declare const _default$4: react.MemoExoticComponent<({ imageResourceId, getImageUrl, size, alt, onClick, sx, }: ImageRendererProps) => ReactNode>;
110
123
 
111
- declare const _default$1: react.MemoExoticComponent<({ value, isCurrency, }: NumberRendererProps) => ReactNode>;
124
+ declare const _default$3: react.MemoExoticComponent<({ id, displayName, copyMessage, }: NameRendererProps) => ReactNode>;
112
125
 
113
- declare const _default: react.MemoExoticComponent<({ value, showCopyButton, copyMessage, }: TextRendererProps) => ReactNode>;
126
+ declare const _default$2: react.MemoExoticComponent<({ value, isCurrency, }: NumberRendererProps) => ReactNode>;
127
+
128
+ declare const _default$1: react.MemoExoticComponent<({ active, activeLabel, inactiveLabel, }: StatusRendererProps) => ReactNode>;
129
+
130
+ declare const _default: react.MemoExoticComponent<({ value, showCopyButton, copyMessage, copyLabel, mask, }: TextRendererProps) => ReactNode>;
114
131
 
115
132
  declare const createActionsField: () => Field;
116
133
  declare const addActionsFieldToMetadata: (metadata: EntityMetadataResponse) => EntityMetadataResponse;
117
134
 
118
- export { _default$7 as BooleanRenderer, CellRenderer, ColumnStrategy, _default$6 as DateRenderer, _default$5 as DateTimeRenderer, DynamicDataViewProps, DynamicRowData, _default$4 as EntityRenderer, _default$3 as IconRenderer, MobileRenderFunction, _default$2 as NameRenderer, _default$1 as NumberRenderer, _default as TextRenderer, addActionsFieldToMetadata, createActionsField, _default$8 as default };
135
+ interface BuildVisibleFieldsParams {
136
+ metadata?: EntityMetadataResponse;
137
+ columnVisibilityModel?: GridColumnVisibilityModel;
138
+ defaultVisibleFields?: string[];
139
+ }
140
+ declare const buildVisibleFields: ({ metadata, columnVisibilityModel, defaultVisibleFields, }: BuildVisibleFieldsParams) => string[] | undefined;
141
+
142
+ export { ColumnStrategy, _default$8 as DateRenderer, _default$7 as DateTimeRenderer, DynamicDataViewProps, DynamicRowData, _default$6 as EntityRenderer, Filter, _default$5 as IconRenderer, _default$4 as ImageRenderer, _default$3 as NameRenderer, _default$2 as NumberRenderer, Sort, _default$1 as StatusRenderer, _default as TextRenderer, addActionsFieldToMetadata, buildVisibleFields, createActionsField, _default$9 as default };
@@ -1,7 +1,9 @@
1
- import { d, c as c$1 } from '../../chunk-N7IK5EUP.js';
2
- import { a } from '../../chunk-AVPFUSEB.js';
1
+ import '../../chunk-4P2L7UJA.js';
2
+ import '../../chunk-HNEGKBXI.js';
3
+ import { a as a$1 } from '../../chunk-LG2B5RFV.js';
4
+ import { d, c } from '../../chunk-N7IK5EUP.js';
3
5
  import { h, a as a$3 } from '../../chunk-OF6623HG.js';
4
- import { d as d$1 } from '../../chunk-4HWP7ZLZ.js';
6
+ import { d as d$1 } from '../../chunk-CJXYDF24.js';
5
7
  import '../../chunk-SHJKJLBQ.js';
6
8
  import '../../chunk-IJZCVZ32.js';
7
9
  import { a as a$2 } from '../../chunk-6RC5O2YL.js';
@@ -10,16 +12,17 @@ import '../../chunk-IDFJFFIV.js';
10
12
  import '../../chunk-6U5LS7MP.js';
11
13
  import '../../chunk-BNBE2OMA.js';
12
14
  import '../../chunk-NIQW2J3M.js';
13
- import '../../chunk-TB4Y7LXN.js';
15
+ import { e } from '../../chunk-2W54CJ6E.js';
14
16
  import '../../chunk-UVPQR2Q2.js';
15
17
  import '../../chunk-RBTYTONM.js';
16
18
  import '../../chunk-I4PPSW36.js';
17
19
  import '../../chunk-CO2KQFUN.js';
18
- import { a as a$1 } from '../../chunk-VPG46WNM.js';
20
+ import { a } from '../../chunk-VPG46WNM.js';
19
21
  import '../../chunk-CIGSMWKF.js';
22
+ import { a as a$5 } from '../../chunk-F6H765KA.js';
20
23
  import '../../chunk-F65ZXAGV.js';
21
24
  import '../../chunk-LQRRMVFN.js';
22
- import '../../chunk-RPO7AI5K.js';
25
+ import { b } from '../../chunk-RPO7AI5K.js';
23
26
  import '../../chunk-IAOMC4C4.js';
24
27
  import '../../chunk-GLRLKFPS.js';
25
28
  import { a as a$4 } from '../../chunk-CYWFK4OE.js';
@@ -27,15 +30,30 @@ import '../../chunk-KKVRDMSE.js';
27
30
  import '../../chunk-POTVACYB.js';
28
31
  import '../../chunk-ET3WPQIO.js';
29
32
  import '../../chunk-CFNATBO2.js';
30
- import { memo, useMemo, useCallback } from 'react';
31
- import dr from 'react-fast-compare';
32
- import { jsx, jsxs } from 'react/jsx-runtime';
33
- import Be from '@mui/material/Chip';
34
- import oe from '@mui/material/Stack';
35
- import ne from '@mui/material/Typography';
33
+ import { memo, useMemo, useCallback, useState, useEffect, useRef } from 'react';
34
+ import vo from 'react-fast-compare';
35
+ import Ye from '@mui/material/Badge';
36
+ import ge from '@mui/material/Button';
37
+ import qe from '@mui/material/IconButton';
38
+ import Tt from '@mui/material/Stack';
39
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
40
+ import at from '@mui/material/Divider';
41
+ import fe from '@mui/material/Typography';
42
+ import de from '@mui/material/FormControl';
43
+ import pe from '@mui/material/InputLabel';
44
+ import z from '@mui/material/MenuItem';
45
+ import ce from '@mui/material/Select';
46
+ import Yo from '@mui/material/TextField';
47
+ import q from '@mui/material/Box';
48
+ import { styled } from '@mui/material/styles';
49
+ import ur from '@mui/material/Dialog';
50
+ import fr from '@mui/material/DialogActions';
51
+ import Cr from '@mui/material/DialogContent';
52
+ import gr from '@mui/material/DialogTitle';
53
+ import Br from '@mui/material/Chip';
36
54
 
37
- var c={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},S={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},$=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Ae=(e,r)=>({field:e.name,headerName:e.description,sortable:!1,width:c.IMAGE_WIDTH,resizable:!1,renderCell:t=>r(e,t.row)}),Se=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ID_MIN_WIDTH,flex:c.ID_FLEX,renderCell:t=>r(e,t.row)}),xe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.ENTITY_MIN_WIDTH,flex:c.ENTITY_FLEX,renderCell:t=>r(e,t.row)}),Fe=(e,r)=>({field:e.name,headerName:e.description,minWidth:c.MIN_WIDTH,renderCell:t=>r(e,t.row)}),Me=(e,r)=>({field:e.name,headerName:"A\xE7\xF5es",width:c.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:t=>r(e,t.row)}),ee=(e,r)=>e.name===r?.id_field_name||e.name==="name"?Se:e.name==="ACTIONS"?Me:e.type==="FILE"?Ae:e.type==="ENTITY"?xe:Fe;var re=({metadata:e,renderCell:r,columnStrategies:t})=>useMemo(()=>{if(!e?.fields)return [];let a=new Map;return e.fields.filter(o=>o.access_type===S.READ_ONLY||o.access_type===S.READ_AND_WRITE?!0:o.name==="ACTIONS"||o.name===e?.id_field_name||o.name==="NAME").forEach(o=>{if(a.has(o.name))return;let b=(t?.[o.name]??ee(o,e))(o,r,e);a.set(o.name,b);}),Array.from(a.values())},[t,e,r]);var te=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),x=e=>e.fields.some(t=>t.name==="ACTIONS")?e:{...e,fields:[...e.fields,te()]};var Le=({value:e,trueLabel:r="Ativo",falseLabel:t="Inativo"})=>jsx(a,{color:e?"success":"warning",children:e?r:t}),F=memo(Le);var ve=({value:e,format:r})=>e==null?"-":d(e,r),M=memo(ve);var Ve=({value:e,format:r})=>e==null?"-":c$1(e,r),P=memo(Ve);var He=({value:e,field:r})=>{if(!r.metadata||typeof e!="object"||e===null)return e?String(e):"-";let t=e[r.metadata.description_field_name];return t?jsx(Be,{label:String(t),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},G=memo(He);var ze=({value:e,trueIcon:r="STAR_02",falseIcon:t="STAR",color:a="primary.main",width:i=18})=>jsx(a$1,{icon:e?r:t,color:a,width:i}),Xe=memo(ze);var Ke=({id:e,displayName:r,copyMessage:t="ID copiado!"})=>jsxs(oe,{height:1,justifyContent:"center",children:[jsx(ne,{variant:"subtitle2",noWrap:!0,title:r,children:r}),jsxs(oe,{direction:"row",gap:1,alignItems:"center",children:[jsxs(ne,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:t})]})]}),Qe=memo(Ke);var rr=({value:e,isCurrency:r=!1})=>e==null?"-":jsx(oe,{direction:"row",alignItems:"center",height:"100%",children:jsx(ne,{variant:"body2",noWrap:!0,width:"fit-content",children:r?h(Number(e)):a$3(Number(e))})}),W=memo(rr);var ar=e=>e.replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim(),ir=({value:e,showCopyButton:r=!1,copyMessage:t="Copiado"})=>{if(!e)return "-";let a=String(e),i=ar(a);return r?jsxs(oe,{direction:"row",gap:1,alignItems:"center",children:[jsx(ne,{variant:"body2",noWrap:!0,children:i}),jsx(a$2,{toCopy:i,message:t})]}):i},k=memo(ir);function sr(e){return $.includes(e)}var se=e=>{let{onRowAction:r}=e,t=(a,i)=>{let o=i[a.name];if(a.name==="ACTIONS")return r?.(i.id,i);switch(a.type){case"BOOLEAN":return jsx(F,{value:o});case"DATE":return jsx(M,{value:o});case"DATETIME":return jsx(P,{value:o});case"DECIMAL":case"INTEGER":return jsx(W,{value:o,isCurrency:sr(a.name)});case"FILE":case"ENTITY":return jsx(G,{value:o,field:a});case"TEXT":default:return jsx(k,{value:o})}};return t.displayName="CellRendererComponent",t};function v(e){return e.name}var cr=({title:e,metadata:r,data:t,isLoading:a,isFetching:i,page:o,perPage:O,searchValue:b,onSearchChange:de,onSearch:ce,onPaginationChange:pe,onAdd:ue,onRowAction:N,onRowDoubleClick:I,actions:fe,moreActions:Re,hideHeader:ye,slots:Te,mobileRender:Ce,containerHeight:V=600,showColumnButton:De=!1,defaultVisibleFieldNames:_,preferredFieldOrder:E,columnStrategies:ge,onColumnVisibilityModelChange:w,columnVisibilityStorageKey:Y})=>{let{items:Ne=[],total:Ie=0}=t||{},s=useMemo(()=>N?x(r):r,[r,N]),_e=useMemo(()=>se({onRowAction:N}),[N]),T=re({metadata:s,renderCell:_e,columnStrategies:ge}),C=useMemo(()=>new Map(T.map(n=>[n.field,n])),[T]),B=useMemo(()=>new Map(s?.fields?.map(n=>[n.name,n])||[]),[s]),D=!!Y,[A,H]=a$4(Y||"__dynamic-data-view:columns__",void 0,{initializeWithValue:D}),Ee=useMemo(()=>{if(!E||E.length===0||!s?.fields)return T;let n="ACTIONS",p=E.filter(l=>l!==n),d=new Set,m=[],g=l=>{let u=B.get(l);if(!u)return;let f=v(u),U=C.get(f);!U||d.has(f)||(m.push(U),d.add(f));};return p.forEach(l=>{g(l);}),s.fields.forEach(l=>{if(l.name===n||p.includes(l.name))return;let u=v(l),f=C.get(u);!f||d.has(u)||(m.push(f),d.add(u));}),g(n),m.length===0?T:m},[T,C,B,E,s]),he=useMemo(()=>{if(!s?.fields)return;let n={};if(s.fields.forEach(p=>{let d=v(p);if(!C.has(d))return;let m;if(D&&A){let g=A[d];typeof g=="boolean"&&(m=g);}m===void 0&&_&&_.length>0&&(m=_.includes(p.name)),typeof m=="boolean"&&(n[d]=m);}),Object.keys(n).length!==0)return {columns:{columnVisibilityModel:n}}},[C,_,s,D,A]),be=useCallback(n=>{D&&H(n),w&&w(n);},[D,w,H]),we=useCallback(n=>{if(!I)return;let p=n.id?.toString()||"";I(p,n.row);},[I]);return jsx(d$1,{title:e,columns:Ee,rows:Ne,mobileRender:Ce||(()=>null),rowCount:Ie,loading:a,fetching:i,searchValue:b,onSearch:ce,onSearchChange:de,paginationModel:{page:o,pageSize:O},onPaginationChange:pe,actions:fe,moreActions:Re,onAdd:ue,hideHeader:ye,onRowDoubleClick:I?we:void 0,disableRowSelectionOnClick:!0,slots:Te,initialState:he,showColumnButton:De,containerProps:{height:V,maxHeight:V},onColumnVisibilityModelChange:be})},pr=memo(cr,dr);
55
+ var wo=({showFilterButton:e$1,isMobile:t,hasActiveFilters:o,activeFiltersCount:i,sort:n,onFilterClick:r,onSortClick:l})=>e$1?t?jsxs(Tt,{direction:"row",spacing:.5,children:[jsx(Ye,{badgeContent:i,color:"primary",invisible:i===0,sx:{"& .MuiBadge-badge":{transform:"scale(0.9) translate(10px, 9px)",opacity:i===0?0:1}},children:jsx(qe,{color:o?"primary":"default",onClick:r,size:"small","aria-label":"Filtrar",sx:{overflow:"visible"},children:jsx(a,{icon:"FILTER_VERTICAL"})})}),jsx(e,{sx:{height:16},orientation:"vertical",flexItem:!0}),jsx(qe,{color:n?"primary":"default",onClick:l,size:"small","aria-label":"Ordenar",children:jsx(a,{icon:n?.sortType==="DESC"?"SORTING_DESC":"SORTING_ASC"})})]}):jsx(Ye,{badgeContent:i,color:"primary",invisible:i===0,sx:{"& .MuiBadge-badge":i?{transform:"scale(0.9) translate(-3px, 7px)",position:"relative",opacity:1,transition:"none"}:{transition:"none",opacity:0}},children:jsx(ge,{variant:"text",color:o?"primary":"inherit",startIcon:jsx(a,{icon:"FILTER_VERTICAL"}),onClick:r,size:"small",children:"Filtrar"})}):null,$e=memo(wo,vo);var Ke=e=>e.filter(t=>t.available_filter_conditions&&t.available_filter_conditions.length>0&&t.name!=="ACTIONS");var Xe=e=>{let{type:t,available_filter_conditions:o}=e;return o.length===0?"EQUALS":t==="TEXT"&&o.includes("LIKE")?"LIKE":o[0]},G=e=>e.value.length>0||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",Qe=e=>{if(e.length===0)return;let t=e.filter(G);if(t.length!==0)return {operator:"AND",groups:[{operator:t[0]?.operator||"AND",conditionals:t.map(o=>({fieldName:o.fieldName,conditional:o.conditional,value:o.value}))}]}};var je={["EQUALS"]:"Igual a",["NOT_EQUALS"]:"Diferente de",["LIKE"]:"Cont\xE9m",["NOT_LIKE"]:"N\xE3o cont\xE9m",["GREATER_THAN"]:"Maior que",["LESS_THAN"]:"Menor que",["GREATER_THAN_OR_EQUAL"]:"Maior ou igual a",["LESS_THAN_OR_EQUAL"]:"Menor ou igual a",["IN"]:"Em",["NOT_IN"]:"N\xE3o em",["IS_NULL"]:"\xC9 nulo",["IS_NOT_NULL"]:"N\xE3o \xE9 nulo"};var Wo=({value:e,onChange:t,totalConditions:o,isFirst:i})=>o===1?null:i?jsx(Tt,{sx:{width:55,flexShrink:0}}):jsxs(ce,{value:e,onChange:n=>t(n.target.value),size:"small",sx:{width:55,flexShrink:0},children:[jsx(z,{value:"AND",children:"e"}),jsx(z,{value:"OR",children:"ou"})]}),Ze=memo(Wo,vo);var O={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},qo=({condition:e,fields:t,onChange:o,onRemove:i,totalConditions:n,isFirst:r})=>{let l=useMemo(()=>t.find(a=>a.name===e.fieldName),[t,e.fieldName]),m=useMemo(()=>l?.available_filter_conditions||[],[l]),s=useMemo(()=>!e.fieldName||e.conditional==="IS_NULL"||e.conditional==="IS_NOT_NULL",[e.fieldName,e.conditional]),d=useCallback(a=>{let f=t.find(L=>L.name===a);if(!f)return;let w=f.available_filter_conditions[0]||"EQUALS";o({...e,fieldName:a,conditional:w,value:[]});},[t,e,o]),u=useCallback(a=>{o({...e,conditional:a});},[e,o]),p=useCallback(a=>{o({...e,value:a?[a]:[]});},[e,o]),c=useCallback(a=>{o({...e,operator:a});},[e,o]);return jsxs(Tt,{direction:"row",spacing:1,alignItems:"center",children:[jsx(qe,{onClick:i,size:"small","aria-label":"Remover filtro",sx:{flexShrink:0},children:jsx(a,{icon:"CLOSE_MARK_BUTTON",width:18})}),jsx(Ze,{value:e.operator,onChange:c,totalConditions:n,isFirst:r}),jsxs(de,{size:"small",sx:{minWidth:150,flex:1},children:[jsx(pe,{id:`field-label-${e.id}`,children:"Coluna"}),jsx(ce,{labelId:`field-label-${e.id}`,label:"Coluna",value:e.fieldName,onChange:a=>d(a.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:t.map(a=>jsx(z,{value:a.name,sx:O,title:a.description||a.name,children:a.description||a.name},a.name))})]}),jsxs(de,{size:"small",sx:{minWidth:90},disabled:!e.fieldName,children:[jsx(pe,{id:`condition-label-${e.id}`,children:"Condi\xE7\xE3o"}),jsx(ce,{labelId:`condition-label-${e.id}`,label:"Condi\xE7\xE3o",value:e.conditional,onChange:a=>u(a.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:m.map(a=>jsx(z,{value:a,sx:O,children:je[a]||a},a))})]}),l?.type==="BOOLEAN"?jsxs(de,{size:"small",sx:{flex:1,minWidth:120},disabled:s,children:[jsx(pe,{id:`value-label-${e.id}`,children:"Valor"}),jsxs(ce,{labelId:`value-label-${e.id}`,label:"Valor",value:e.value[0]||"",onChange:a=>p(a.target.value),size:"small",sx:{"& .MuiSelect-select":O},children:[jsx(z,{value:"true",children:"Verdadeiro"}),jsx(z,{value:"false",children:"Falso"})]})]}):jsx(Yo,{label:"Filtro",value:e.value[0]||"",onChange:a=>p(a.target.value),size:"small",disabled:s,InputLabelProps:{shrink:!0},sx:{flex:1,minWidth:120}})]})},et=memo(qo,vo);var Qo=({filterableFields:e,conditions:t,onUpdateCondition:o,onRemoveCondition:i})=>{let n=useCallback(s=>{o(s.id,s);},[o]),r=useCallback(s=>()=>{i(s);},[i]),l=useMemo(()=>t.map(s=>s.fieldName).filter(s=>!!s),[t]),m=useCallback(s=>e.filter(d=>!l.includes(d.name)||d.name===s),[e,l]);return e.length===0?jsx(fe,{variant:"body2",color:"text.secondary",textAlign:"center",children:"Nenhum filtro dispon\xEDvel"}):t.length===0?jsxs(fe,{variant:"body2",color:"text.secondary",textAlign:"center",children:["Clique em"," ",jsx(fe,{component:"strong",variant:"body2",fontWeight:600,color:"text.primary",children:'"+"'})," ","para adicionar um filtro"]}):jsx(Fragment,{children:t.map((s,d)=>jsx(et,{condition:s,fields:m(s.fieldName),onChange:n,onRemove:r(s.id),showOperator:d>0,totalConditions:t.length,isFirst:d===0},s.id))})},tt=memo(Qo,vo);var ot=styled(q)({display:"flex",flexDirection:"column",height:"100%"}),rt=styled(q)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2,3)})),it=styled(q)(({theme:e})=>({flex:1,overflowY:"auto",padding:e.spacing(3),display:"flex",flexDirection:"column",gap:e.spacing(2)})),nt=styled(q)(({theme:e})=>({display:"flex",alignItems:"center",justifyContent:"space-between",padding:e.spacing(2)}));var ir=({onClose:e,fields:t,conditions:o,onAddCondition:i,onUpdateCondition:n,onRemoveCondition:r,onApply:l,onClear:m,onCancel:s})=>{let d=Ke(t),u=o.length>0,p=useCallback(()=>{l(),e();},[l,e]),c=useCallback(()=>{m(),e();},[m,e]),a$1=useCallback(()=>{s();},[s]);return jsxs(ot,{children:[jsxs(rt,{children:[jsx(fe,{variant:"overline",fontWeight:600,color:"text.secondary",children:"Defina as condi\xE7\xF5es para filtrar"}),jsx(qe,{onClick:i,size:"small","aria-label":"Adicionar filtro",title:"Adicionar filtro",disabled:o.length>=d.length,children:jsx(a,{icon:"SIMPLE_ADD"})})]}),jsx(at,{}),jsx(it,{children:jsx(tt,{filterableFields:d,conditions:o,onUpdateCondition:n,onRemoveCondition:r})}),jsx(at,{}),jsxs(nt,{children:[jsx(ge,{variant:"text",color:"inherit",onClick:c,children:"Limpar"}),jsxs(Tt,{direction:"row",spacing:1,children:[jsx(ge,{variant:"outlined",color:"inherit",onClick:a$1,startIcon:jsx(a,{icon:"CANCEL_CIRCLE"}),children:"Cancelar"}),jsx(ge,{variant:"contained",onClick:p,disabled:!u,startIcon:jsx(a,{icon:"SIMPLE_CHECK"}),children:"Aplicar"})]})]})]})},lt=memo(ir,vo);var lr=e=>jsx(a$1,{open:e.open,onClose:e.onClose,anchorEl:e.anchorEl,isMobile:e.isMobileProp,popoverProps:{slotProps:{paper:{sx:{width:520,maxWidth:"calc(100vw - 24px)",maxHeight:600,mt:1}}}},drawerProps:{anchor:"right",PaperProps:{sx:{width:"100%",maxWidth:"100%",height:"100%",maxHeight:"100%",borderRadius:0}}},children:jsx(lt,{...e})}),mt=memo(lr,vo);var dr=({showFilterButton:e,isOpen:t,filterAnchorEl:o,fields:i,conditions:n,isMobile:r,onClose:l,onAddCondition:m,onUpdateCondition:s,onRemoveCondition:d,onApply:u,onClear:p,onCancel:c})=>e?jsx(mt,{open:t||!!o,anchorEl:o,onClose:l,fields:i,conditions:n,onAddCondition:m,onUpdateCondition:s,onRemoveCondition:d,onApply:u,onClear:p,onCancel:c,isMobileProp:r}):null,dt=memo(dr,vo);var pt=styled(ur)(()=>({"& .MuiDialog-paper":{width:"100%"}})),ct=styled(gr)(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),ut=styled(Cr)(({theme:e})=>({padding:e.spacing(2)})),ft=styled(fr)(({theme:e})=>({borderTop:"1px solid",borderColor:e.palette.divider,padding:e.spacing(1.5,2)})),Ct=styled(ge)(({theme:e})=>({minWidth:24,[e.breakpoints.down(330)]:{padding:e.spacing(1)}})),ye=styled(fe)(({theme:e})=>({fontWeight:"600",margin:e.spacing(0,1),[e.breakpoints.down(330)]:{fontSize:0,margin:0}}));var Rt=({open:e,onClose:t,fields:o,sort:i,onSortChange:n})=>{let[r,l]=useState(i?.fieldName||""),[m,s]=useState(i?.sortType||"ASC"),d=useMemo(()=>o.filter(f=>f.name!=="ACTIONS"&&f.access_type!=="WRITE_ONLY"),[o]),u=useMemo(()=>o.find(f=>f.name===r),[o,r]),p=u?.type==="DECIMAL"||u?.type==="INTEGER";useEffect(()=>{e&&(l(i?.fieldName||""),s(i?.sortType||"ASC"));},[e,i]);let c=useCallback(()=>{n&&n(r?{fieldName:r,sortType:m}:void 0),t();},[n,r,m,t]),a$1=useCallback(()=>{n&&(l(""),s("ASC"),n(void 0),t());},[n,t]);return jsxs(pt,{open:e,onClose:t,maxWidth:"xs",fullWidth:!0,children:[jsx(ct,{children:jsx(fe,{variant:"overline",color:"text.secondary",children:"Ordenar por"})}),jsx(ut,{children:jsxs(Tt,{spacing:2,pt:2,children:[jsxs(de,{fullWidth:!0,size:"small",children:[jsx(pe,{id:"sort-field-label",children:"Campo"}),jsxs(ce,{labelId:"sort-field-label",value:r,label:"Campo",onChange:f=>l(f.target.value),children:[jsx(z,{value:"",children:jsx("em",{children:"Nenhum"})}),d.map(f=>jsx(z,{value:f.name,children:f.description||f.name},f.name))]})]}),jsxs(de,{fullWidth:!0,size:"small",disabled:!r,children:[jsx(pe,{id:"sort-direction-label",children:"Dire\xE7\xE3o"}),jsxs(ce,{labelId:"sort-direction-label",value:m,label:"Dire\xE7\xE3o",onChange:f=>s(f.target.value),children:[jsxs(z,{value:"ASC",children:["Crescente ",p?"(1-9)":"(A-Z)"]}),jsxs(z,{value:"DESC",children:["Decrescente ",p?"(9-1)":"(Z-A)"]})]})]})]})}),jsxs(ft,{children:[jsx(Tt,{flex:1,width:"100%",direction:"row",children:jsx(ge,{color:"inherit",onClick:a$1,children:"Limpar"})}),jsxs(ge,{onClick:t,variant:"outlined",color:"inherit",sx:{minWidth:24},children:[jsx(a,{icon:"CANCEL_CIRCLE"}),jsx(ye,{children:"Cancelar"})]}),jsxs(Ct,{onClick:c,variant:"contained",children:[jsx(a,{icon:"SIMPLE_CHECK"}),jsx(ye,{children:"Aplicar"})]})]})]})};Rt.displayName="SortModal";var Dt=memo(Rt);var xt=({columns:e,fields:t,preferredFieldOrder:o})=>{let i=useMemo(()=>new Map(e.map(l=>[l.field,l])),[e]),n=useMemo(()=>new Map(t?.map(l=>[l.name,l])||[]),[t]);return {orderedColumns:useMemo(()=>{if(!o||o.length===0||!t)return e;let l="ACTIONS",m=o.filter(p=>p!==l),s=new Set,d=[],u=p=>{let c=n.get(p);if(!c)return;let a=i.get(c.name);!a||s.has(c.name)||(d.push(a),s.add(c.name));};return m.forEach(p=>{u(p);}),t.forEach(p=>{if(p.name===l||m.includes(p.name))return;let c=i.get(p.name);!c||s.has(p.name)||(d.push(c),s.add(p.name));}),u(l),d.length===0?e:d},[e,i,n,o,t]),columnsByFieldId:i,fieldsByName:n}};function Tr(e){return e.name}var Nt=({fields:e,columnsByFieldId:t,defaultVisibleFieldNames:o,columnVisibilityStorageKey:i,onColumnVisibilityModelChange:n})=>{let r=!!i,[l,m]=a$4(i||"__dynamic-data-view:columns__",void 0,{initializeWithValue:r}),s=useMemo(()=>{if(!e)return;let u={};if(e.forEach(p=>{let c=Tr(p);if(!t.has(c))return;let a;if(r&&l){let f=l[c];typeof f=="boolean"&&(a=f);}a===void 0&&o&&o.length>0&&(a=o.includes(p.name)),typeof a=="boolean"&&(u[c]=a);}),Object.keys(u).length!==0)return {columns:{columnVisibilityModel:u}}},[t,o,e,r,l]),d=useCallback(u=>{r&&m(u),n&&n(u);},[r,n,m]);return {initialState:s,handleColumnVisibilityModelChange:d}};var x={IMAGE_WIDTH:90,MIN_WIDTH:130,ENTITY_MIN_WIDTH:100,ENTITY_FLEX:.5,ID_MIN_WIDTH:200,ID_FLEX:1,ACTIONS_WIDTH:80},be={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},At=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var Rr=(e,t)=>({field:e.name,headerName:e.description,sortable:!1,width:x.IMAGE_WIDTH,resizable:!1,headerAlign:"center",align:"center",renderCell:o=>t(e,o.row)}),Dr=(e,t)=>({field:e.name,headerName:e.description,minWidth:x.ID_MIN_WIDTH,flex:x.ID_FLEX,renderCell:o=>t(e,o.row)}),xr=(e,t)=>({field:e.name,headerName:e.description,minWidth:x.ENTITY_MIN_WIDTH,flex:x.ENTITY_FLEX,renderCell:o=>t(e,o.row)}),Nr=(e,t)=>({field:e.name,headerName:e.description,minWidth:x.MIN_WIDTH,renderCell:o=>t(e,o.row)}),Ar=(e,t)=>({field:e.name,headerName:"A\xE7\xF5es",width:x.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:o=>t(e,o.row)}),Et=(e,t)=>e.name===t?.id_field_name||e.name==="name"?Dr:e.name==="ACTIONS"?Ar:e.type==="FILE"?Rr:e.type==="ENTITY"?xr:Nr;var vt=({metadata:e,renderCell:t,columnStrategies:o})=>useMemo(()=>{if(!e?.fields)return [];let i=new Map;return e.fields.filter(r=>r.access_type===be.READ_ONLY||r.access_type===be.READ_AND_WRITE?!0:r.name==="ACTIONS"||r.name===e?.id_field_name||r.name==="NAME").forEach(r=>{if(i.has(r.name))return;let m=(o?.[r.name]??Et(r,e))(r,t,e);i.set(r.name,m);}),Array.from(i.values())},[o,e,t]);var _t=e=>e?.groups?.[0]?.conditionals?e.groups[0].conditionals.map(t=>({id:a$5(),operator:e.groups[0].operator,fieldName:t.fieldName,conditional:t.conditional,value:t.value})):[],Mt=({fields:e,initialFilter:t})=>{let[o,i]=useState(!1),[n,r]=useState(()=>_t(t)),[l,m]=useState(t),[s,d]=useState(()=>_t(t)),u=useRef([]),p=useCallback(()=>{u.current=n.map(C=>({...C})),d(n.map(C=>({...C}))),i(!0);},[n]),c=()=>i(!1),a=useCallback(()=>{let C=e.filter(R=>R.available_filter_conditions?.length>0);if(C.length===0)return;let y=s.map(R=>R.fieldName),I=C.filter(R=>!y.includes(R.name));if(I.length===0)return;let N=s.length>0?s[0].operator:"AND",h=I[0],A={id:a$5(),operator:N,fieldName:h.name,conditional:Xe(h),value:[]};d(R=>[...R,A]);},[e,s]),f=useCallback((C,y)=>{d(I=>{let N=I.find(h=>h.id===C);if(!N)return I;if(y.operator&&y.operator!==N.operator){let h=y.operator;return I.map(A=>A.id===C?{...A,...y}:{...A,operator:h})}return I.map(h=>h.id===C?{...h,...y}:h)});},[]),w=useCallback(C=>{d(y=>y.filter(I=>I.id!==C));},[]),L=()=>{d([]),r([]),m(void 0);},Z=()=>{let C=Qe(s);return r(s.map(y=>({...y}))),m(C),i(!1),C},ee=()=>{d(u.current.map(C=>({...C}))),i(!1);},B=n.some(G),te=n.filter(G).length;return {conditions:s,filter:l,isOpen:o,hasActiveFilters:B,activeFiltersCount:te,openDrawer:p,closeDrawer:c,addCondition:a,updateCondition:f,removeCondition:w,clearAllFilters:L,applyFilters:Z,cancelChanges:ee}};var Pt=e=>{try{let t=localStorage.getItem(e);return t?JSON.parse(t):void 0}catch{return}},Ot=(e,t)=>{try{t===void 0?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify(t));}catch{}},kt=(e,t,o)=>{let i=`${e}:filter`,[n,r]=useState(()=>Pt(i)||t);return useEffect(()=>{t!==void 0&&r(t);},[t]),{filter:n,setFilter:m=>{r(m),Ot(i,m),o?.(m);}}},Bt=(e,t,o)=>{let i=`${e}:sort`,[n,r]=useState(()=>Pt(i)||t);return useEffect(()=>{t!==void 0&&r(t);},[t]),{sort:n,setSort:m=>{r(m),Ot(i,m),o?.(m);}}};var Wt=({sort:e,onSortChange:t})=>{let o=useMemo(()=>e?[{field:e.fieldName,sort:e.sortType.toLowerCase()}]:[],[e]),i=useCallback(n=>{if(!t)return;let r=n[0];if(!r||!r.sort){t(void 0);return}let l={fieldName:r.field,sortType:r.sort.toUpperCase()};t(l);},[t]);return {sortModel:o,handleSortModelChange:i}};var Ut=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),he=e=>e.fields.some(o=>o.name==="ACTIONS")?e:{...e,fields:[...e.fields,Ut()]};var Lr=({value:e,format:t})=>e==null?"-":d(e,t),Fe=memo(Lr);var Or=({value:e,format:t})=>e==null?"-":c(e,t),Ie=memo(Or);var Wr=({value:e,field:t})=>{if(!t.metadata||typeof e!="object"||e===null)return e?String(e):"-";let o=e[t.metadata.description_field_name];return o?jsx(Br,{label:String(o),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",borderRadius:3}}):null},Te=memo(Wr);var Gr=({value:e,trueIcon:t="STAR_02",falseIcon:o="STAR",color:i="primary.main",width:n=18})=>jsx(a,{icon:e?t:o,color:i,width:n}),Hr=memo(Gr);var Gt=styled("span")(({theme:e,isActive:t})=>({display:"inline-flex",alignItems:"center",justifyContent:"center",padding:e.spacing(.2,1),borderRadius:e.shape.borderRadius,fontSize:"0.75rem",fontWeight:600,width:"fit-content",height:"auto",lineHeight:"1.25rem",whiteSpace:"nowrap",margin:"auto",backgroundColor:t?e.palette.success.lighter||"#00A76F29":e.palette.warning.lighter||"#FF563029",color:t?e.palette.success.darker||"#007867":e.palette.warning.darker||"#B71D18"})),Ht=styled(q,{shouldForwardProp:e=>!["size","noImage","clickable"].includes(e)})(({theme:e,size:t,noImage:o,clickable:i})=>({width:t,height:t,minWidth:t,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",overflow:"hidden",cursor:i?"pointer":"default",transition:"opacity 0.2s ease-in-out",color:e.palette.text.disabled,...o&&{border:`1px dashed ${e.palette.divider}`,backgroundColor:e.palette.grey[100]},...i&&{"&:hover":{opacity:.8}},"& img":{width:"100%",height:"100%",objectFit:"cover",borderRadius:"50%"},[e.breakpoints.down("sm")]:{justifyContent:"flex-start",alignItems:"flex-start"}}));var $r=({imageResourceId:e,getImageUrl:t,size:o=48,alt:i="Imagem",onClick:n,sx:r})=>{let l=!!e,m=l&&t?t(e):void 0;return jsx(Ht,{size:o,noImage:!l,clickable:!!n,onClick:n,sx:r,children:m?jsx("img",{src:m,alt:i}):jsx(a,{icon:"SEARCH_IMAGE",width:Math.round(o/2),color:"text.disabled"})})},Kr=memo($r);var Qr=({id:e,displayName:t,copyMessage:o="ID copiado!"})=>jsxs(Tt,{height:1,justifyContent:"center",children:[jsx(fe,{variant:"subtitle2",noWrap:!0,title:t,children:t}),jsxs(Tt,{direction:"row",gap:1,alignItems:"center",children:[jsxs(fe,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:o})]})]}),jr=memo(Qr);var ti=({value:e,isCurrency:t=!1})=>e==null?"-":jsx(Tt,{direction:"row",alignItems:"center",height:"100%",children:jsx(fe,{variant:"body2",noWrap:!0,width:"fit-content",children:t?h(Number(e)):a$3(Number(e))})}),xe=memo(ti);var ri=({active:e,activeLabel:t="Ativo",inactiveLabel:o="Inativo"})=>jsx(Gt,{isActive:e,children:e?t:o}),Ne=memo(ri);var si=e=>e.replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim(),mi=({value:e,showCopyButton:t=!1,copyMessage:o="Copiado",copyLabel:i,mask:n})=>{if(!e)return "-";let r=String(e),l=n?n(r):si(r);return t?jsxs(Tt,{direction:"row",gap:1,alignItems:"center",children:[jsx(fe,{variant:"body2",noWrap:!0,children:l}),jsx(a$2,{toCopy:r,message:o,label:i})]}):l},Ae=memo(mi);function pi(e){return At.includes(e)}var Xt=e=>{let{onRowAction:t}=e,o=(i,n)=>{let r=n[i.name];if(i.name==="ACTIONS")return t?.(n.id,n);switch(i.type){case"BOOLEAN":return jsx(Ne,{active:!!r,activeLabel:"Ativo",inactiveLabel:"Inativo"});case"DATE":return jsx(Fe,{value:r});case"DATETIME":return jsx(Ie,{value:r});case"DECIMAL":case"INTEGER":return jsx(xe,{value:r,isCurrency:pi(i.name)});case"FILE":case"ENTITY":return jsx(Te,{value:r,field:i});case"TEXT":default:return jsx(Ae,{value:r})}};return o.displayName="CellRendererComponent",o};var fi=({title:e,metadata:t,data:o,isLoading:i,isFetching:n,page:r,perPage:l,searchValue:m,onSearchChange:s,onSearch:d,onPaginationChange:u,onAdd:p,onRowAction:c,onRowDoubleClick:a,actions:f,moreActions:w,hideHeader:L,slots:Z,mobileRender:ee,containerHeight:B=600,showColumnButton:te=!1,showFilterButton:C=!1,filter:y,onFilterChange:I,sort:N,onSortChange:h,defaultVisibleFieldNames:A,preferredFieldOrder:R,columnStrategies:jt,onColumnVisibilityModelChange:Jt,storageKey:oe})=>{let{items:Zt=[],total:eo=0}=o||{},P=useMemo(()=>c?he(t):t,[t,c]),re=useMemo(()=>P?.fields||[],[P]),to=useMemo(()=>Xt({onRowAction:c}),[c]),oo=vt({metadata:P,renderCell:to,columnStrategies:jt}),{orderedColumns:ro,columnsByFieldId:io}=xt({columns:oo,fields:P?.fields,preferredFieldOrder:R}),{initialState:no,handleColumnVisibilityModelChange:ao}=Nt({fields:P?.fields,columnsByFieldId:io,defaultVisibleFieldNames:A,columnVisibilityStorageKey:`${oe}:columns`,onColumnVisibilityModelChange:Jt}),lo=useCallback(E=>{if(!a)return;let Ao=E.id?.toString()||"";a(Ao,E.row);},[a]),W=b("down","md"),[so,ie]=useState(null),{filter:mo,setFilter:U}=kt(oe,y,I),{sort:po,setSort:ve}=Bt(oe,N,h),co=y??mo,ne=N??po,{sortModel:uo,handleSortModelChange:fo}=Wt({sort:ne,onSortChange:ve}),{conditions:Co,isOpen:go,openDrawer:ae,closeDrawer:_e,addCondition:yo,updateCondition:So,removeCondition:bo,clearAllFilters:Me,applyFilters:we,cancelChanges:Le,hasActiveFilters:ho,activeFiltersCount:Fo}=Mt({fields:re,initialFilter:co}),Io=useCallback(()=>{let E=we();U(E);},[we,U]),To=useCallback(()=>{Me(),U(void 0);},[Me,U]),Ro=useCallback(E=>{W?ae():(ae(),ie(E.currentTarget));},[W,ae]),Do=useCallback(()=>{Le(),ie(null);},[Le]),[xo,Pe]=useState(!1),No=useCallback(()=>{ie(null),_e();},[_e]);return jsxs(Fragment,{children:[jsx(d$1,{title:e,columns:ro,rows:Zt,mobileRender:ee,rowCount:eo,loading:i,fetching:n,searchValue:m,onSearch:d,onSearchChange:s,paginationModel:{page:r,pageSize:l},onPaginationChange:u,actions:f,moreActions:w,onAdd:p,hideHeader:L,onRowDoubleClick:a?lo:void 0,disableRowSelectionOnClick:!0,slots:Z,initialState:no,showColumnButton:te,containerProps:{height:B,maxHeight:B},onColumnVisibilityModelChange:ao,filterButton:jsx($e,{showFilterButton:C,isMobile:W,hasActiveFilters:ho,activeFiltersCount:Fo,sort:ne,onFilterClick:Ro,onSortClick:()=>Pe(!0)}),sortingMode:"server",sortModel:uo,onSortModelChange:fo,disableColumnFilter:!0}),jsx(dt,{showFilterButton:C,isOpen:go,filterAnchorEl:so,fields:re,conditions:Co,isMobile:W,onClose:No,onAddCondition:yo,onUpdateCondition:So,onRemoveCondition:bo,onApply:Io,onClear:To,onCancel:Do}),jsx(Dt,{open:xo,onClose:()=>Pe(!1),fields:re,sort:ne,onSortChange:ve})]})},Ci=memo(fi,vo);var Si=({metadata:e,columnVisibilityModel:t,defaultVisibleFields:o})=>{if(!e?.fields)return;let n=e.fields.map(r=>r.name).filter(r=>r==="ACTIONS"?!1:t?t[r]!==!1:o?.includes(r)??!0);return o?n.sort((r,l)=>{let m=o.indexOf(r),s=o.indexOf(l);return m-s||0}):n};
38
56
 
39
- export { F as BooleanRenderer, M as DateRenderer, P as DateTimeRenderer, G as EntityRenderer, Xe as IconRenderer, Qe as NameRenderer, W as NumberRenderer, k as TextRenderer, x as addActionsFieldToMetadata, te as createActionsField, pr as default };
57
+ export { Fe as DateRenderer, Ie as DateTimeRenderer, Te as EntityRenderer, Hr as IconRenderer, Kr as ImageRenderer, jr as NameRenderer, xe as NumberRenderer, Ne as StatusRenderer, Ae as TextRenderer, he as addActionsFieldToMetadata, Si as buildVisibleFields, Ut as createActionsField, Ci as default };
40
58
  //# sourceMappingURL=out.js.map
41
59
  //# sourceMappingURL=index.js.map