@famalabs/web-ui 1.0.0-beta.3 → 1.0.0-beta.30

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 (78) hide show
  1. package/dist/components/auth/AuthSuccess.d.ts +2 -2
  2. package/dist/components/auth/AuthSuccess.js +1 -1
  3. package/dist/components/auth/PasswordField.js +1 -1
  4. package/dist/components/common/MainDiv.d.ts +2 -1
  5. package/dist/components/common/MainDiv.js +1 -1
  6. package/dist/components/common/MenuItems.d.ts +7 -6
  7. package/dist/components/common/MenuItems.js +1 -1
  8. package/dist/components/forms/AiEditingContext.d.ts +31 -7
  9. package/dist/components/forms/AiEditingContext.js +1 -1
  10. package/dist/components/forms/AiUtils.js +1 -1
  11. package/dist/components/forms/AutocompleteField.js +1 -1
  12. package/dist/components/forms/DateField.d.ts +1 -0
  13. package/dist/components/forms/DateField.js +1 -1
  14. package/dist/components/forms/InputField.js +1 -1
  15. package/dist/components/forms/RichTextEditor/AiMenuItems.js +1 -0
  16. package/dist/components/forms/RichTextEditor/FormattingToolbar.d.ts +3 -1
  17. package/dist/components/forms/RichTextEditor/FormattingToolbar.js +1 -1
  18. package/dist/components/forms/RichTextEditor/RichTextEditor.d.ts +21 -11
  19. package/dist/components/forms/RichTextEditor/RichTextEditor.js +1 -1
  20. package/dist/components/forms/RichTextField.d.ts +1 -0
  21. package/dist/components/forms/RichTextField.js +1 -1
  22. package/dist/components/forms/SelectField.js +1 -1
  23. package/dist/components/forms/TimeField.d.ts +1 -0
  24. package/dist/components/forms/TimeField.js +1 -1
  25. package/dist/components/sidebar/SidebarFooter.d.ts +7 -3
  26. package/dist/components/sidebar/SidebarFooter.js +1 -1
  27. package/dist/components/sidebar/SidebarLayout.d.ts +10 -6
  28. package/dist/components/sidebar/SidebarLayout.js +1 -1
  29. package/dist/components/snackbar/Notifier/Notifier.d.ts +1 -2
  30. package/dist/components/snackbar/Notifier/Notifier.js +1 -1
  31. package/dist/components/tables/CardsTable/CardsTable.d.ts +6 -0
  32. package/dist/components/tables/CardsTable/CardsTable.js +1 -0
  33. package/dist/components/tables/CardsTable/CardsTableBody.js +1 -0
  34. package/dist/components/tables/CardsTable/CardsTableFooter.js +1 -0
  35. package/dist/components/tables/{CardsGrid/DynamicCardsTypes.d.ts → CardsTable/CardsTableTypes.d.ts} +11 -20
  36. package/dist/components/tables/RealtimeTable/RealTimeTableBody.js +1 -1
  37. package/dist/components/tables/RealtimeTable/RealTimeTableFooter.js +1 -1
  38. package/dist/components/tables/RealtimeTable/RealtimeTable.d.ts +1 -1
  39. package/dist/components/tables/RealtimeTable/RealtimeTable.js +1 -1
  40. package/dist/components/tables/RealtimeTable/RealtimeTableTypes.d.ts +31 -13
  41. package/dist/components/tables/StaticTable/StaticFiltersUlts.js +1 -0
  42. package/dist/components/tables/StaticTable/StaticTable.d.ts +6 -0
  43. package/dist/components/tables/StaticTable/StaticTable.js +1 -0
  44. package/dist/components/tables/StaticTable/StaticTableBody.js +1 -0
  45. package/dist/components/tables/StaticTable/StaticTableFooter.js +1 -0
  46. package/dist/components/tables/StaticTable/StaticTableTypes.d.ts +15 -0
  47. package/dist/components/tables/TableCells/ActionCell.d.ts +2 -2
  48. package/dist/components/tables/TableCells/ActionCell.js +1 -1
  49. package/dist/components/tables/TableCells/AvatarCell.d.ts +2 -2
  50. package/dist/components/tables/TableCells/AvatarCell.js +1 -1
  51. package/dist/components/tables/TableCells/SelectCell.d.ts +1 -0
  52. package/dist/components/tables/TableCells/SelectCell.js +1 -1
  53. package/dist/components/tables/TableComponents/TableActionHeader.js +1 -1
  54. package/dist/components/tables/TableComponents/TableCommonBody.js +1 -1
  55. package/dist/components/tables/TableComponents/TableFilterComponents.js +1 -1
  56. package/dist/components/tables/TableComponents/TableFilterHeader.js +1 -1
  57. package/dist/components/tables/TableComponents/TableFunctions.d.ts +7 -0
  58. package/dist/components/tables/TableComponents/TableFunctions.js +1 -0
  59. package/dist/components/tables/TableComponents/TableLocales.js +1 -1
  60. package/dist/components/tables/TableComponents/TableTypes.d.ts +71 -79
  61. package/dist/components/theme/ThemeLoader/Loader.d.ts +4 -4
  62. package/dist/components/theme/ThemeLoader/Loader.js +1 -1
  63. package/dist/index.d.ts +10 -11
  64. package/dist/index.js +1 -1
  65. package/package.json +18 -12
  66. package/dist/components/tables/CardsGrid/CardsBodyCreator.js +0 -1
  67. package/dist/components/tables/CardsGrid/DynamcCardsFooter.js +0 -1
  68. package/dist/components/tables/CardsGrid/DynamicCardsTable.d.ts +0 -6
  69. package/dist/components/tables/CardsGrid/DynamicCardsTable.js +0 -1
  70. package/dist/components/tables/LegacyTable/LegacyTable.d.ts +0 -6
  71. package/dist/components/tables/LegacyTable/LegacyTable.js +0 -1
  72. package/dist/components/tables/LegacyTable/LegacyTableFooter.js +0 -1
  73. package/dist/components/tables/TableCells/ImageCell.d.ts +0 -7
  74. package/dist/components/tables/TableCells/ImageCell.js +0 -1
  75. package/dist/components/tables/TableCells/LinkCell.d.ts +0 -8
  76. package/dist/components/tables/TableCells/LinkCell.js +0 -1
  77. package/dist/components/tables/TableCells/StatusCell.d.ts +0 -11
  78. package/dist/components/tables/TableCells/StatusCell.js +0 -1
@@ -1,59 +1,71 @@
1
- import { IconButtonOwnProps, ButtonProps, IconButtonProps } from '@mui/material';
2
- import { Dispatch, SetStateAction } from 'react';
1
+ import { ButtonProps, IconButtonProps } from '@mui/material';
3
2
 
3
+ declare const mongoOperators: {
4
+ readonly string: readonly ["$regex"];
5
+ readonly number: readonly ["$eq", "$gt", "$gte", "$lt", "$lte"];
6
+ readonly select: readonly ["$in"];
7
+ readonly date: readonly ["$gt", "$gte", "$lt", "$lte", "$eq"];
8
+ };
9
+ type FilterType = 'string' | 'number' | 'select' | 'date';
10
+ type FilterValue = unknown;
11
+ type FilterOperator<T = FilterType> = T extends 'string' ? (typeof mongoOperators.string)[number] : T extends 'number' ? (typeof mongoOperators.number)[number] : T extends 'select' ? (typeof mongoOperators.select)[number] : T extends 'date' ? (typeof mongoOperators.date)[number] : never;
12
+ interface ActiveFilter<T = FilterType> {
13
+ index: number;
14
+ column: string;
15
+ type?: T;
16
+ value?: FilterValue;
17
+ operator?: FilterOperator<T>;
18
+ }
4
19
  interface DynamicFilterOptions {
5
- id: string | number | boolean;
20
+ id: string | number | boolean | null;
21
+ label: string;
22
+ icon?: React.ElementType;
23
+ }
24
+ type ColumnFilterTypeOptions<T = FilterType> = T extends 'string' ? {
25
+ type: 'string';
26
+ regex?: boolean;
27
+ } : T extends 'number' ? {
28
+ type: 'number';
29
+ comparators?: boolean;
30
+ } : T extends 'select' ? {
31
+ type: 'select';
32
+ options: DynamicFilterOptions[];
33
+ multiple?: boolean;
34
+ } : T extends 'date' ? {
35
+ type: 'date';
36
+ singleDate?: boolean;
37
+ } : never;
38
+ type ColumnFilterOptions<T = FilterType> = ColumnFilterTypeOptions<T> & {
39
+ locked?: boolean;
40
+ };
41
+ type ColumnOptions = {
42
+ visible?: boolean;
43
+ locked?: boolean;
44
+ sticky?: 'left' | 'right';
45
+ priority?: boolean;
46
+ maxWidth?: number | string | 'auto';
47
+ export?: boolean;
48
+ };
49
+ interface CellProps<T> {
50
+ cellValue: string;
51
+ currentColumn?: DynamicColumns<T>;
52
+ currentRow?: T;
53
+ }
54
+ interface TooltipProps {
55
+ icon?: React.ReactNode;
56
+ color?: IconButtonProps['color'];
6
57
  label: string;
7
58
  }
8
- type ColumnType = 'string' | 'number' | 'action' | 'avatar' | 'boolean' | 'date' | 'image' | 'link' | 'status' | 'select';
9
59
  interface DynamicColumns<T> {
10
60
  accessor: string;
11
61
  label: string;
12
- filterOptions?: {
13
- type: FilterType;
14
- options?: DynamicFilterOptions[];
15
- singleDate?: boolean;
16
- regex?: boolean;
17
- priority?: boolean;
18
- export?: boolean;
19
- };
62
+ filterOptions?: ColumnFilterOptions;
63
+ columnOptions?: ColumnOptions;
20
64
  ColumnCell?: () => React.ReactNode;
21
- Cell?: (props: {
22
- cellValue: string;
23
- currentColumn?: DynamicColumns<T>;
24
- currentRow?: T;
25
- }) => React.ReactNode;
26
- Tooltip?: {
27
- icon?: React.ReactNode;
28
- color?: IconButtonOwnProps['color'];
29
- label: string;
30
- };
31
- maxWidth?: number | string | 'stretch';
32
- visible?: boolean;
33
- locked?: boolean;
34
- }
35
- type FilterType = 'string' | 'number' | 'select' | 'date';
36
- type FilterValue = unknown;
37
- interface ActiveFilter {
38
- filterIndex: number;
39
- filterColumn: string;
40
- filterValue?: FilterValue;
41
- filterType?: FilterType;
42
- filterComparator?: string;
65
+ Cell?: (props: CellProps<T>) => React.ReactNode;
66
+ Tooltip?: TooltipProps;
43
67
  }
44
- /**
45
- * Type for the action event.
46
- */
47
68
  type ActionEvent<T> = (actionType: string, selectedRows: T[], activeFilters: ActiveFilter[], allSelected?: boolean) => void;
48
- /**
49
- * Interface for an action event button.
50
- * Only one of label or icon is required. Both can be provided.
51
- * @param {ActionType} type - The type of the action.
52
- * @param {string} label - Optional label of the button.
53
- * @param {ButtonOwnProps['color']} color - Optional color of the button.
54
- * @param {React.ReactNode} icon - Optional icon of the button.
55
- * @param {boolean} isIconButton - Indicates whether the button is an icon button.
56
- */
57
69
  interface ActionEventItem {
58
70
  type: string;
59
71
  label?: string;
@@ -62,33 +74,17 @@ interface ActionEventItem {
62
74
  isIconButton?: boolean;
63
75
  refetch?: boolean;
64
76
  }
65
- /**
66
- * Interface for the props accepted by the TableInfo prop.
67
- * @param {string} tableName - The name of the table.
68
- * @param {Array<T>} tableData - The data of the table.
69
- * @param {Dispatch<SetStateAction<T[]>>} setTableData - The function to set the table data.
70
- * @param {DynamicColumns[]} columns - The columns of the table.
71
- * @param {number} expectedRowCount - The expected row count.
72
- * @param {boolean} static - Indicates whether the table is static.
73
- * @param {boolean} showVisibleColumnsButton - Indicates whether the visible columns button is shown.
74
- * @param {string} emptyTablePlaceholderSrc - The source of the empty table placeholder.
75
- * @param {string} emptyTablePlaceholderText - The text of the empty table placeholder.
76
- * @param {Object} paginationOptions - The options for the pagination.
77
- */
78
77
  interface TableInfoProps<T> {
79
78
  tableName: string;
80
79
  tableData: Array<T>;
81
- setTableData?: Dispatch<SetStateAction<T[]>>;
82
80
  columns: DynamicColumns<T>[];
83
81
  expectedRowCount: number;
82
+ currentPage: number;
84
83
  variant?: 'standard' | 'dense' | 'compact';
85
- filterMode?: 'single' | 'multiple';
86
84
  defaultShowFilters?: boolean;
87
- staticMode?: boolean;
88
85
  showRefreshButton?: boolean;
89
86
  showVisibleColumnsButton?: boolean;
90
- emptyTablePlaceholderSrc?: string;
91
- emptyTablePlaceholderText?: string;
87
+ emptyTablePlaceholder?: React.ReactNode;
92
88
  paginationOptions?: {
93
89
  stickyHeader?: boolean;
94
90
  stickyFooter?: boolean;
@@ -99,13 +95,6 @@ interface TableInfoProps<T> {
99
95
  footerVariant?: 'standard' | 'simple';
100
96
  };
101
97
  }
102
- interface FetchInfoProps {
103
- fetchData: (limit: number, filters: ActiveFilter[], firstLoad?: boolean) => Promise<void>;
104
- isFetching: boolean;
105
- }
106
- interface QueryInfoProps {
107
- filtersQuery: ActiveFilter[] | string;
108
- }
109
98
  interface DefineActionsProps<T> {
110
99
  actionList: ActionEventItem[];
111
100
  onAction: ActionEvent<T>;
@@ -146,6 +135,8 @@ interface i18nStrings {
146
135
  rowsPerPage: string;
147
136
  of: string;
148
137
  elements: string;
138
+ page: string;
139
+ moreThanTo: string;
149
140
  };
150
141
  }
151
142
  interface TableButton extends ButtonProps {
@@ -156,23 +147,24 @@ interface TableIconButton extends IconButtonProps {
156
147
  icon?: React.ReactNode;
157
148
  activeIcon?: React.ReactNode;
158
149
  }
159
- interface CustomTableButtons {
160
- newItemButton?: TableButton;
150
+ interface TableNewButton<T> extends Omit<TableButton, 'onClick'> {
151
+ onClick: (e: React.MouseEvent<HTMLButtonElement>, columns: DynamicColumns<T>[]) => void;
152
+ }
153
+ interface CustomTableButtons<T> {
154
+ newItemButton?: TableNewButton<T>;
161
155
  columnsButton?: TableIconButton;
162
156
  actionButton?: TableIconButton;
163
157
  exportButton?: TableIconButton;
164
158
  selectAllButton?: TableButton;
165
159
  refreshButton?: TableIconButton;
166
160
  }
167
- interface DynamicTableProps<T> {
168
- tableInfo: TableInfoProps<T>;
169
- fetchInfo: FetchInfoProps;
170
- queryInfo?: QueryInfoProps;
161
+ interface CommonTableProps<T> {
171
162
  tableActions?: TableActions<T>;
172
- tableButtons?: CustomTableButtons;
163
+ tableButtons?: CustomTableButtons<T>;
173
164
  onRowClick?: (row: T) => void;
174
165
  tableLocale?: 'en' | 'it';
175
166
  localeStr?: i18nStrings;
176
167
  }
177
168
 
178
- export type { ActionEvent, ActionEventItem, ActiveFilter, ColumnType, CustomTableButtons, DefineActionsProps, DynamicColumns, DynamicFilterOptions, DynamicTableProps, FetchInfoProps, FilterType, FilterValue, QueryInfoProps, TableActions, TableButton, TableIconButton, TableInfoProps, i18nStrings };
169
+ export { mongoOperators };
170
+ export type { ActionEvent, ActionEventItem, ActiveFilter, CellProps, ColumnFilterOptions, ColumnFilterTypeOptions, ColumnOptions, CommonTableProps, CustomTableButtons, DefineActionsProps, DynamicColumns, DynamicFilterOptions, FilterOperator, FilterType, FilterValue, TableActions, TableButton, TableIconButton, TableInfoProps, TableNewButton, TooltipProps, i18nStrings };
@@ -1,13 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
1
2
  import { Theme } from '@mui/material/styles';
2
3
  import React from 'react';
3
4
 
4
5
  interface ThemeLoaderProps {
5
- loaded: () => void;
6
6
  theme: Theme;
7
7
  load: () => void | Promise<void>;
8
- lang?: string;
9
- children: any;
8
+ loaded?: () => void;
9
+ children: React.ReactNode;
10
10
  }
11
- declare const ThemeLoader: React.FC<ThemeLoaderProps>;
11
+ declare const ThemeLoader: ({ loaded, load, theme, children }: ThemeLoaderProps) => react_jsx_runtime.JSX.Element;
12
12
 
13
13
  export { ThemeLoader };
@@ -1 +1 @@
1
- import e from"@mui/material/CssBaseline";import o from"@mui/material/GlobalStyles";import{ThemeProvider as m}from"@mui/material/styles";import{SnackbarProvider as r}from"notistack";import t from"react";import{jsxs as i,jsx as l}from"react/jsx-runtime";const a=({loaded:a,load:s,theme:c,children:f})=>(t.useEffect(()=>{const e=s();e instanceof Promise?e.then(a).catch(e=>{console.error("Couldn't load theme: ",e)}):a()},[]),i(m,{theme:c,children:[l(o,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),l(e,{}),l(r,{maxSnack:3,children:f})]}));export{a as ThemeLoader};
1
+ import{c as e}from"react/compiler-runtime";import o from"@mui/material/CssBaseline";import t from"@mui/material/GlobalStyles";import{ThemeProvider as r}from"@mui/material/styles";import{useEffectEvent as m,useEffect as l}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";const c=c=>{const s=e(11),{loaded:f,load:u,theme:p,children:d}=c;let h;s[0]!==u||s[1]!==f?(h=()=>{const e=u();e instanceof Promise?e.then(()=>f?.()).catch(n):f?.()},s[0]=u,s[1]=f,s[2]=h):h=s[2];const y=m(h);let b,k,_,S,x;return s[3]!==y?(b=()=>{y()},s[3]=y,s[4]=b):b=s[4],s[5]===Symbol.for("react.memo_cache_sentinel")?(k=[],s[5]=k):k=s[5],l(b,k),s[6]===Symbol.for("react.memo_cache_sentinel")?(_=i(t,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),S=i(o,{}),s[6]=_,s[7]=S):(_=s[6],S=s[7]),s[8]!==d||s[9]!==p?(x=a(r,{theme:p,children:[_,S,d]}),s[8]=d,s[9]=p,s[10]=x):x=s[10],x};function n(e){console.error("Couldn't load theme: ",e)}export{c as ThemeLoader};
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PasswordField, PasswordFieldProps } from './components/auth/PasswordField.js';
2
2
  export { AuthSuccess, AuthSuccessProps } from './components/auth/AuthSuccess.js';
3
3
  export { IProps, MainDiv } from './components/common/MainDiv.js';
4
- export { ListType as MenuID, MenuItems, MenuItemsProps } from './components/common/MenuItems.js';
4
+ export { MenuItems, MenuItemsProps } from './components/common/MenuItems.js';
5
5
  export { Form, FormNodeType, FormNodeValidator, default as useFormState } from './components/forms/useFormState.js';
6
6
  export { InputString, InputStringProps, StringValidator } from './components/forms/InputString.js';
7
7
  export { InputNumber, InputNumberProps, NumberValidator } from './components/forms/InputNumber.js';
@@ -16,18 +16,17 @@ export { AiEditingProvider, useAiEditing } from './components/forms/AiEditingCon
16
16
  export { SidebarItem, SidebarLayout, SidebarLayoutProps, SidebarLogo, SidebarProps } from './components/sidebar/SidebarLayout.js';
17
17
  export { FooterData, SidebarFooterProps } from './components/sidebar/SidebarFooter.js';
18
18
  export { ISnackbar, Notifier, NotifierProps } from './components/snackbar/Notifier/Notifier.js';
19
+ export { CardsTable } from './components/tables/CardsTable/CardsTable.js';
20
+ export { CardFilters, CardItemInfo, CardsTableInfo, CardsTableProps, InfiniteViewType } from './components/tables/CardsTable/CardsTableTypes.js';
19
21
  export { RealtimeTable } from './components/tables/RealtimeTable/RealtimeTable.js';
20
- export { RealtimeTableProps } from './components/tables/RealtimeTable/RealtimeTableTypes.js';
21
- export { LegacyDynamicTable } from './components/tables/LegacyTable/LegacyTable.js';
22
- export { BooleanCell } from './components/tables/TableCells/BooleanCell.js';
23
- export { DateCell } from './components/tables/TableCells/DateCell.js';
22
+ export { FetchAllDataPayload, FetchDataPayload, FetchDataResponse, FilterPayload, RealtimeTableProps } from './components/tables/RealtimeTable/RealtimeTableTypes.js';
23
+ export { StaticTable } from './components/tables/StaticTable/StaticTable.js';
24
+ export { StaticTableProps } from './components/tables/StaticTable/StaticTableTypes.js';
24
25
  export { ActionCell } from './components/tables/TableCells/ActionCell.js';
25
- export { LinkCell } from './components/tables/TableCells/LinkCell.js';
26
26
  export { AvatarCell } from './components/tables/TableCells/AvatarCell.js';
27
- export { ALL_STATUS, IStatus, StatusCell } from './components/tables/TableCells/StatusCell.js';
28
- export { ImageCell } from './components/tables/TableCells/ImageCell.js';
27
+ export { BooleanCell } from './components/tables/TableCells/BooleanCell.js';
28
+ export { DateCell } from './components/tables/TableCells/DateCell.js';
29
29
  export { SelectCell, SelectCellOption } from './components/tables/TableCells/SelectCell.js';
30
- export { ActionEvent, ActionEventItem, ActiveFilter, ColumnType, TableButton as CustomButton, DefineActionsProps, DynamicColumns, DynamicFilterOptions, DynamicTableProps, FetchInfoProps, FilterType, FilterValue, QueryInfoProps, TableInfoProps, i18nStrings } from './components/tables/TableComponents/TableTypes.js';
31
- export { DynamicCardsTable } from './components/tables/CardsGrid/DynamicCardsTable.js';
32
- export { CardFilters, DynamicCardsProps, InfiniteViewType } from './components/tables/CardsGrid/DynamicCardsTypes.js';
30
+ export { buildFiltersQuery, buildRequestFilters, parseFiltersQuery } from './components/tables/TableComponents/TableFunctions.js';
31
+ export { ActionEvent, ActionEventItem, ActiveFilter, CellProps, ColumnFilterOptions, ColumnFilterTypeOptions, ColumnOptions, CommonTableProps, CustomTableButtons, DefineActionsProps, DynamicColumns, DynamicFilterOptions, FilterOperator, FilterType, FilterValue, TableActions, TableButton, TableIconButton, TableInfoProps, TableNewButton, TooltipProps, i18nStrings } from './components/tables/TableComponents/TableTypes.js';
33
32
  export { ThemeLoader } from './components/theme/ThemeLoader/Loader.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export{PasswordField}from"./components/auth/PasswordField.js";export{AuthSuccess}from"./components/auth/AuthSuccess.js";export{MainDiv}from"./components/common/MainDiv.js";export{MenuItems}from"./components/common/MenuItems.js";export{default as useFormState}from"./components/forms/useFormState.js";export{InputString}from"./components/forms/InputString.js";export{InputNumber}from"./components/forms/InputNumber.js";export{AutocompleteField}from"./components/forms/AutocompleteField.js";export{InputField}from"./components/forms/InputField.js";export{RichTextField}from"./components/forms/RichTextField.js";export{SelectField}from"./components/forms/SelectField.js";export{DateField}from"./components/forms/DateField.js";export{TimeField}from"./components/forms/TimeField.js";export{RichTextEditor}from"./components/forms/RichTextEditor/RichTextEditor.js";export{AiEditingProvider,useAiEditing}from"./components/forms/AiEditingContext.js";export{SidebarLayout}from"./components/sidebar/SidebarLayout.js";export{Notifier}from"./components/snackbar/Notifier/Notifier.js";export{RealtimeTable}from"./components/tables/RealtimeTable/RealtimeTable.js";export{LegacyDynamicTable}from"./components/tables/LegacyTable/LegacyTable.js";export{BooleanCell}from"./components/tables/TableCells/BooleanCell.js";export{DateCell}from"./components/tables/TableCells/DateCell.js";export{ActionCell}from"./components/tables/TableCells/ActionCell.js";export{LinkCell}from"./components/tables/TableCells/LinkCell.js";export{AvatarCell}from"./components/tables/TableCells/AvatarCell.js";export{ALL_STATUS,StatusCell}from"./components/tables/TableCells/StatusCell.js";export{ImageCell}from"./components/tables/TableCells/ImageCell.js";export{SelectCell}from"./components/tables/TableCells/SelectCell.js";export{DynamicCardsTable}from"./components/tables/CardsGrid/DynamicCardsTable.js";export{ThemeLoader}from"./components/theme/ThemeLoader/Loader.js";
1
+ export{PasswordField}from"./components/auth/PasswordField.js";export{AuthSuccess}from"./components/auth/AuthSuccess.js";export{MainDiv}from"./components/common/MainDiv.js";export{MenuItems}from"./components/common/MenuItems.js";export{default as useFormState}from"./components/forms/useFormState.js";export{InputString}from"./components/forms/InputString.js";export{InputNumber}from"./components/forms/InputNumber.js";export{AutocompleteField}from"./components/forms/AutocompleteField.js";export{InputField}from"./components/forms/InputField.js";export{RichTextField}from"./components/forms/RichTextField.js";export{SelectField}from"./components/forms/SelectField.js";export{DateField}from"./components/forms/DateField.js";export{TimeField}from"./components/forms/TimeField.js";export{RichTextEditor}from"./components/forms/RichTextEditor/RichTextEditor.js";export{AiEditingProvider,useAiEditing}from"./components/forms/AiEditingContext.js";export{SidebarLayout}from"./components/sidebar/SidebarLayout.js";export{Notifier}from"./components/snackbar/Notifier/Notifier.js";export{CardsTable}from"./components/tables/CardsTable/CardsTable.js";export{RealtimeTable}from"./components/tables/RealtimeTable/RealtimeTable.js";export{StaticTable}from"./components/tables/StaticTable/StaticTable.js";export{ActionCell}from"./components/tables/TableCells/ActionCell.js";export{AvatarCell}from"./components/tables/TableCells/AvatarCell.js";export{BooleanCell}from"./components/tables/TableCells/BooleanCell.js";export{DateCell}from"./components/tables/TableCells/DateCell.js";export{SelectCell}from"./components/tables/TableCells/SelectCell.js";export{buildFiltersQuery,buildRequestFilters,parseFiltersQuery}from"./components/tables/TableComponents/TableFunctions.js";export{ThemeLoader}from"./components/theme/ThemeLoader/Loader.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@famalabs/web-ui",
3
- "version": "1.0.0-beta.3",
3
+ "version": "1.0.0-beta.30",
4
4
  "author": " Fama Labs <info@famalabs.com>",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,19 +15,22 @@
15
15
  }
16
16
  },
17
17
  "peerDependencies": {
18
- "@blocknote/core": "^0.46.1",
19
- "@blocknote/mantine": "^0.46.1",
20
- "@blocknote/react": "^0.46.1",
21
- "@hello-pangea/dnd": "^18.0.1",
22
- "@mui/material": "^7.3.7",
23
- "@mui/x-date-pickers": ">=8.20.0 <9.0.0",
18
+ "@blocknote/core": ">=0.47.0 <1.0.0",
19
+ "@blocknote/mantine": ">=0.47.0 <1.0.0",
20
+ "@blocknote/react": ">=0.47.0 <1.0.0",
21
+ "@blocknote/xl-ai": ">=0.47.0 <1.0.0",
22
+ "@hello-pangea/dnd": "^18.0.0",
23
+ "@mui/material": "^7.3.8 || ^9.0.0",
24
+ "@mui/x-date-pickers": "^8.27.0 || ^9.0.0",
25
+ "ai": "^6.0.84",
24
26
  "dayjs": "^1.11.19",
25
- "lucide-react": ">=0.552.0 <1.0.0",
27
+ "lucide-react": ">=0.563.0 || ^1.0.0",
28
+ "motion": "^12.34.0",
26
29
  "notistack": "^3.0.2",
27
- "qs": "^6.14.1",
28
- "react": "^19.2.3",
29
- "react-dom": "^19.2.3",
30
- "react-hook-form": "^7.71.1"
30
+ "react": "^19.2.4",
31
+ "react-dom": "^19.2.4",
32
+ "react-hook-form": "^7.71.0",
33
+ "zod": "^4.3.6"
31
34
  },
32
35
  "dependencies": {
33
36
  "tslib": "^2.8.1"
@@ -35,6 +38,9 @@
35
38
  "files": [
36
39
  "dist"
37
40
  ],
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
38
44
  "nx": {
39
45
  "targets": {
40
46
  "typecheck": {
@@ -1 +0,0 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Box";import r from"@mui/material/Card";import"@mui/material/CardActionArea";import i from"@mui/material/CardContent";import a from"@mui/material/CardMedia";import m from"@mui/material/Grid";import n from"@mui/material/Skeleton";import o from"@mui/material/Typography";import{jsx as l,jsxs as d,Fragment as c}from"react/jsx-runtime";function s(){const t=e(4);let m,c,s,p;return t[0]===Symbol.for("react.memo_cache_sentinel")?(m={minWidth:150,minHeight:300},c=l(a,{component:n,variant:"rectangular",height:210}),t[0]=m,t[1]=c):(m=t[0],c=t[1]),t[2]===Symbol.for("react.memo_cache_sentinel")?(s=l(o,{gutterBottom:!0,variant:"h5",component:"div",children:l(n,{variant:"text",width:"30%"})}),t[2]=s):s=t[2],t[3]===Symbol.for("react.memo_cache_sentinel")?(p=d(r,{sx:m,children:[c,d(i,{children:[s,l(o,{variant:"body2",color:"text.secondary",children:l(n,{variant:"text",width:"70%"})})]})]}),t[3]=p):p=t[3],p}function p(r){const i=e(51),{tableVariant:a,tableData:n,cardInfo:o,infiniteOptions:p,page:f,rowsPerPage:h,isFetching:g}=r,{CardItem:x,ListItem:u,SkeletonItem:y,SkeletonListItem:v}=o;let b,$,C,S,_,k;if(i[0]!==x||i[1]!==y||i[2]!==p||i[3]!==g||i[4]!==f||i[5]!==h||i[6]!==n||i[7]!==a){const{gridSizings:e,viewType:t,itemsPerPage:r}=p||{},o=void 0===e?{xs:1,sm:1,md:2,lg:3,xl:4}:e;let d;_=void 0===t?"cards":t,i[13]!==f||i[14]!==h||i[15]!==n?(d=h>0?n.slice(f*h,f*h+h):n,i[13]=f,i[14]=h,i[15]=n,i[16]=d):d=i[16];const c=d;$=g?"standard"===a?h-c.length:r??0:0;const u=`repeat(${o.xs}, minmax(0, 1fr))`,v=`repeat(${o.sm}, minmax(0, 1fr))`,k=`repeat(${o.md}, minmax(0, 1fr))`,I=`repeat(${o.lg}, minmax(0, 1fr))`,w=`repeat(${o.xl}, minmax(0, 1fr))`;let A,P;if(i[17]!==u||i[18]!==v||i[19]!==k||i[20]!==I||i[21]!==w?(A={xs:u,sm:v,md:k,lg:I,xl:w},i[17]=u,i[18]=v,i[19]=k,i[20]=I,i[21]=w,i[22]=A):A=i[22],b=A,i[23]!==x||i[24]!==c){let e;i[26]!==x?(e=e=>l(x,{...e},e.id),i[26]=x,i[27]=e):e=i[27],C=c.map(e),i[23]=x,i[24]=c,i[25]=C}else C=i[25];i[28]!==y?(P=(e,t)=>l(m,{size:12,children:l(y||s,{})},`grid-skeleton-${t}`),i[28]=y,i[29]=P):P=i[29],S=Array.from({length:$},P),i[0]=x,i[1]=y,i[2]=p,i[3]=g,i[4]=f,i[5]=h,i[6]=n,i[7]=a,i[8]=b,i[9]=$,i[10]=C,i[11]=S,i[12]=_}else b=i[8],$=i[9],C=i[10],S=i[11],_=i[12];i[30]!==C||i[31]!==S?(k=d(c,{children:[C,S]}),i[30]=C,i[31]=S,i[32]=k):k=i[32];const I=k;let w;i[33]!==x||i[34]!==u||i[35]!==y||i[36]!==v||i[37]!==$||i[38]!==n||i[39]!==_?(w=()=>{const e="cards"===_?x:u,t="cards"===_?y:v;return d(c,{children:[e&&n.map(t=>l(e,{...t},t.id)),Array.from({length:$},(e,r)=>l(m,{size:12,children:l(t||s,{})},`grid-skeleton-${r}`))]})},i[33]=x,i[34]=u,i[35]=y,i[36]=v,i[37]=$,i[38]=n,i[39]=_,i[40]=w):w=i[40];const A=w,P=`cards-table-body-${a}`,z="cards"===_?b:"1fr";let T,B,L;return i[41]!==z?(T={display:"grid",gridTemplateColumns:z,gap:"32px 32px"},i[41]=z,i[42]=T):T=i[42],i[43]!==A||i[44]!==I||i[45]!==a?(B="standard"===a?I:A(),i[43]=A,i[44]=I,i[45]=a,i[46]=B):B=i[46],i[47]!==P||i[48]!==T||i[49]!==B?(L=l(t,{id:P,component:"div",sx:T,children:B}),i[47]=P,i[48]=T,i[49]=B,i[50]=L):L=i[50],L}export{p as CardBodyCreator,s as DefaultSkeletonCard};
@@ -1 +0,0 @@
1
- import e from"@mui/material/Button";import t from"@mui/material/Grid";import n from"@mui/material/TableFooter";import a from"@mui/material/TablePagination";import r from"@mui/material/TableRow";import{useRef as o}from"react";import{TablePaginationActions as i}from"../LegacyTable/LegacyTableFooter.js";import{jsx as c}from"react/jsx-runtime";const g=e=>{const{expectedItemCount:t,rowsPerPage:o,customSelectPages:g,currentPage:l,isFetching:s,handleChangePage:m,handleChangeRowsPerPage:h}=e;return c(n,{children:c(r,{children:c(a,{count:t,rowsPerPage:o,rowsPerPageOptions:g??[6,12],page:l,onPageChange:m,onRowsPerPageChange:h,ActionsComponent:e=>c(i,{...e,isFetching:s}),sx:{paddingY:"1rem !important",borderBottom:"none"}})})})},l=n=>{const{tableData:a=[],expectedItemCount:i,isFetching:g,hasDataFetched:l,fetchEvent:s,loadingType:m="loadMore"}=n;return"loadMore"===m?a.length>=i&&l||g||!l?null:c(t,{container:!0,sx:{justifyContent:"center",alignItems:"center",my:4},children:c(e,{variant:"contained",color:"primary",onClick:()=>s("next"),children:"Carica altri"})}):(()=>{const e=o(null);return c(r,{ref:t=>{e.current&&e.current.disconnect(),e.current=new IntersectionObserver(async e=>{if(e[0].isIntersecting){if(a.length===i)return;await s("next")}}),t&&e.current.observe(t)},children:c("td",{colSpan:6})})})()};function s(e){const{tableData:t,tableVariant:n,fetchEvent:a,loadingType:r,expectedItemCount:o,rowsPerPage:i,customSelectPages:s,currentPage:m,isFetching:h,hasDataFetched:u,handleChangePage:d,handleChangeRowsPerPage:P}=e;return"infinite"===n?c(l,{tableData:t,expectedItemCount:o,isFetching:h,hasDataFetched:u,fetchEvent:a,loadingType:r}):c(g,{expectedItemCount:o,rowsPerPage:i,customSelectPages:s,currentPage:m,isFetching:h,handleChangePage:d,handleChangeRowsPerPage:P})}export{s as DynamicCardsFooter};
@@ -1,6 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { DynamicCardsProps } from './DynamicCardsTypes.js';
3
-
4
- declare function DynamicCardsTable<T extends Record<string, any>>(props: DynamicCardsProps<T>): react_jsx_runtime.JSX.Element;
5
-
6
- export { DynamicCardsTable };
@@ -1 +0,0 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Grid";import i from"@mui/material/Table";import r from"@mui/material/ToggleButton";import a from"@mui/material/ToggleButtonGroup";import o from"@mui/material/Typography";import{Grid2x2Icon as n,Rows2Icon as l}from"lucide-react";import{useState as s,useEffectEvent as c,useEffect as m}from"react";import{TableFilterHeader as d}from"../TableComponents/TableFilterHeader.js";import{localizedTableStrings as f}from"../TableComponents/TableLocales.js";import{CardBodyCreator as p}from"./CardsBodyCreator.js";import{DynamicCardsFooter as g}from"./DynamcCardsFooter.js";import{jsx as u,jsxs as h,Fragment as v}from"react/jsx-runtime";function y(y){const b=e(89),{tableInfo:w,fetchInfo:C,cardInfo:T,queryInfo:S,tableLocale:x,localeStr:I}=y,{tableTitle:F,tableData:z,filtersDef:_,expectedItemCount:j,tableVariant:D,gridSizings:V,filterMode:B,defaultShowFilters:O,standardOptions:M,infiniteOptions:E}=w,G=void 0===D?"standard":D;let H;b[0]!==V?(H=void 0===V?{xs:1,sm:1,md:2,lg:3,xl:4}:V,b[0]=V,b[1]=H):H=b[1];const L=H;let Q;b[2]!==M?(Q=void 0===M?{customPageItemCount:6,customSelectPages:[6,12,24]}:M,b[2]=M,b[3]=Q):Q=b[3];const R=Q;let q;b[4]!==E?(q=void 0===E?{loadingType:"loadMore",itemsPerPage:6,viewType:"cards",switcherPosition:"right",onViewTypeChange:P}:E,b[4]=E,b[5]=q):q=b[5];const A=q,{fetchData:W,isFetching:k}=C;let J;b[6]!==S?(J=void 0===S?{}:S,b[6]=S,b[7]=J):J=b[7];const K=J,N=void 0===x?"en":x,{customPageItemCount:U,customSelectPages:X}=R,Y=void 0===U?6:U;let Z;b[8]!==X?(Z=void 0===X?[6,12,24]:X,b[8]=X,b[9]=Z):Z=b[9];const $=Z,{loadingType:ee,itemsPerPage:te,viewType:ie,onViewTypeChange:re,switcherPosition:ae}=A,oe=void 0===te?6:te,{filtersQuery:ne}=K,le=f[N];let se;b[10]!==I||b[11]!==le?(se={...le,...I},b[10]=I,b[11]=le,b[12]=se):se=b[12];const ce=se,[me,de]=s("dual"===ie?"cards":ie),[fe,pe]=s(0),ge="standard"===G?Y:oe,[ue,he]=s(ge??5),[ve,ye]=s(-1),Pe="standard"===G?!(ve>=fe)&&ve!==fe:k;let be;b[13]===Symbol.for("react.memo_cache_sentinel")?(be=[],b[13]=be):be=b[13];const[we,Ce]=s(be),[Te,Se]=s(!1);let xe;b[14]!==we||b[15]!==fe||b[16]!==W||b[17]!==ve||b[18]!==ee||b[19]!==ue||b[20]!==G?(xe=async e=>{const t=void 0===e?"next":e,i="standard"===G||"infiniteScroll"===ee?2*ue:ue;if("first"===t||("standard"!==G||ve<fe)){await W(i,we,"first"===t),Se(!0);ye("first"===t?0:fe+1)}},b[14]=we,b[15]=fe,b[16]=W,b[17]=ve,b[18]=ee,b[19]=ue,b[20]=G,b[21]=xe):xe=b[21];const Ie=xe;let Fe;b[22]===Symbol.for("react.memo_cache_sentinel")?(Fe=(e,t)=>{pe(t)},b[22]=Fe):Fe=b[22];const ze=Fe;let _e;b[23]!==Ie?(_e=e=>{he(parseInt(e.target.value,10)),pe(0),ye(-1),Ie("first")},b[23]=Ie,b[24]=_e):_e=b[24];const je=_e,De=c(Ie);let Ve,Be,Oe;b[25]!==fe||b[26]!==De?(Ve=()=>{0!==fe&&De()},b[25]=fe,b[26]=De,b[27]=Ve):Ve=b[27],b[28]!==fe?(Be=[fe],b[28]=fe,b[29]=Be):Be=b[29],m(Ve,Be),b[30]!==re?(Oe=(e,t)=>{t&&(de(t),re?.(t))},b[30]=re,b[31]=Oe):Oe=b[31];const Me=Oe;let Ee;b[32]===Symbol.for("react.memo_cache_sentinel")?(Ee={width:"100%",justifyContent:"space-between",alignItems:"center",my:2},b[32]=Ee):Ee=b[32];const Ge="left"===ae?"row-reverse":"row",He="left"===ae?"left":"space-between";let Le,Qe,Re,qe,Ae,We,ke,Je,Ke,Ne,Ue;return b[33]!==F?(Le=F&&u(t,{children:"string"==typeof F?u(o,{variant:"h6",component:"div",children:F}):F}),b[33]=F,b[34]=Le):Le=b[34],b[35]!==we||b[36]!==ce.filters||b[37]!==O||b[38]!==Ie||b[39]!==B||b[40]!==_||b[41]!==ne?(Qe=u(d,{columns:_,filterMode:B,defaultShowFilters:O,filtersQuery:ne,activeFilters:we,setActiveFilters:Ce,fetchEvent:Ie,setCurrentPage:pe,setHighestFetchedPage:ye,showRefreshButton:!1,localeStr:ce.filters}),b[35]=we,b[36]=ce.filters,b[37]=O,b[38]=Ie,b[39]=B,b[40]=_,b[41]=ne,b[42]=Qe):Qe=b[42],b[43]!==Me||b[44]!==me||b[45]!==ie?(Re="dual"===ie&&u(t,{children:h(a,{exclusive:!0,value:me,onChange:Me,"aria-label":"list view",size:"small",sx:{alignSelf:"center"},children:[u(r,{value:"cards",size:"small",color:"primary",sx:{p:"5px"},children:u(n,{size:18})}),u(r,{value:"list",size:"small",color:"primary",sx:{p:"5px"},children:u(l,{size:18})})]})}),b[43]=Me,b[44]=me,b[45]=ie,b[46]=Re):Re=b[46],b[47]!==Ge||b[48]!==He||b[49]!==Le||b[50]!==Qe||b[51]!==Re?(qe=u(t,{id:"cards-table-header",container:!0,sx:Ee,children:h(t,{container:!0,size:12,direction:Ge,justifyContent:He,alignItems:"center",spacing:2,children:[Le,Qe,Re]})}),b[47]=Ge,b[48]=He,b[49]=Le,b[50]=Qe,b[51]=Re,b[52]=qe):qe=b[52],b[53]===Symbol.for("react.memo_cache_sentinel")?(Ae={width:"100%",minWidth:150},b[53]=Ae):Ae=b[53],b[54]!==Y||b[55]!==$?(We={customPageItemCount:Y,customSelectPages:$},b[54]=Y,b[55]=$,b[56]=We):We=b[56],b[57]!==L||b[58]!==oe||b[59]!==ee||b[60]!==me?(ke={loadingType:ee,gridSizings:L,itemsPerPage:oe,viewType:me},b[57]=L,b[58]=oe,b[59]=ee,b[60]=me,b[61]=ke):ke=b[61],b[62]!==T||b[63]!==fe||b[64]!==k||b[65]!==ue||b[66]!==We||b[67]!==ke||b[68]!==z||b[69]!==G?(Je=u(p,{tableVariant:G,tableData:z,cardInfo:T,standardOptions:We,infiniteOptions:ke,page:fe,rowsPerPage:ue,isFetching:k}),b[62]=T,b[63]=fe,b[64]=k,b[65]=ue,b[66]=We,b[67]=ke,b[68]=z,b[69]=G,b[70]=Je):Je=b[70],b[71]!==fe||b[72]!==$||b[73]!==j||b[74]!==Ie||b[75]!==je||b[76]!==Te||b[77]!==Pe||b[78]!==ee||b[79]!==ue||b[80]!==z||b[81]!==G?(Ke=u(g,{tableData:z,tableVariant:G,currentPage:fe,expectedItemCount:j,fetchEvent:Ie,handleChangePage:ze,handleChangeRowsPerPage:je,isFetching:Pe,hasDataFetched:Te,loadingType:ee,rowsPerPage:ue,customSelectPages:$}),b[71]=fe,b[72]=$,b[73]=j,b[74]=Ie,b[75]=je,b[76]=Te,b[77]=Pe,b[78]=ee,b[79]=ue,b[80]=z,b[81]=G,b[82]=Ke):Ke=b[82],b[83]!==Je||b[84]!==Ke?(Ne=h(i,{component:"div",sx:Ae,children:[Je,Ke]}),b[83]=Je,b[84]=Ke,b[85]=Ne):Ne=b[85],b[86]!==qe||b[87]!==Ne?(Ue=h(v,{children:[qe,Ne]}),b[86]=qe,b[87]=Ne,b[88]=Ue):Ue=b[88],Ue}function P(){return null}export{y as DynamicCardsTable};
@@ -1,6 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { DynamicTableProps } from '../TableComponents/TableTypes.js';
3
-
4
- declare function LegacyDynamicTable<T extends Record<string, any>>(props: DynamicTableProps<T>): react_jsx_runtime.JSX.Element;
5
-
6
- export { LegacyDynamicTable };
@@ -1 +0,0 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Grid";import o from"@mui/material/Paper";import s from"@mui/material/Table";import i from"@mui/material/TableContainer";import l,{useEffectEvent as n}from"react";import{TableActionHeader as a}from"../TableComponents/TableActionHeader.js";import{TableCommonBody as r}from"../TableComponents/TableCommonBody.js";import{TableFilterHeader as c}from"../TableComponents/TableFilterHeader.js";import{localizedTableStrings as m}from"../TableComponents/TableLocales.js";import{LegacyTableFooter as u}from"./LegacyTableFooter.js";import{jsx as d,jsxs as f}from"react/jsx-runtime";function h(h){const b=e(97),{tableInfo:p,fetchInfo:g,queryInfo:S,tableActions:v,tableButtons:C,onRowClick:w,tableLocale:y,localeStr:P}=h;let T;b[0]!==S?(T=void 0===S?{}:S,b[0]=S,b[1]=T):T=b[1];const x=T,F=void 0===y?"en":y,{tableName:_,tableData:R,columns:k,expectedRowCount:A,variant:B,filterMode:I,defaultShowFilters:j,staticMode:V,showRefreshButton:q,emptyTablePlaceholderSrc:E,emptyTablePlaceholderText:H,showVisibleColumnsButton:Q}=p,L=void 0===B?"standard":B,O=void 0===I?"single":I,D=void 0!==V&&V,M=void 0===q||q,z=void 0===Q||Q;let N;b[2]!==v?(N=v||{},b[2]=v,b[3]=N):N=b[3];const{quickActions:W}=N;let X;b[4]!==C?(X=C||{},b[4]=C,b[5]=X):X=b[5];const{refreshButton:G}=X,{fetchData:J,isFetching:$}=g;let K;b[6]!==p.paginationOptions?(K=p.paginationOptions||{},b[6]=p.paginationOptions,b[7]=K):K=b[7];const{customPageRowCount:U,customSelectPages:Y,autoSizeHeight:Z,hideFooter:ee,footerVariant:te}=K,oe=void 0===Z||Z,se=void 0!==ee&&ee,ie=void 0===te?"standard":te,{filtersQuery:le}=x,ne=m[F];let ae;b[8]!==P||b[9]!==ne?(ae={...ne,...P},b[8]=P,b[9]=ne,b[10]=ae):ae=b[10];const re=ae,[ce,me]=l.useState(0);let ue;b[11]!==U||b[12]!==A||b[13]!==_?(ue=U?parseInt(localStorage.getItem(`${_}-rowsPerPage`)??"5")||U:A,b[11]=U,b[12]=A,b[13]=_,b[14]=ue):ue=b[14];const[de,fe]=l.useState(ue),[he,be]=l.useState(-1),pe=$&&R.length===ce*de,ge=!!D||he>=ce;let Se;b[15]===Symbol.for("react.memo_cache_sentinel")?(Se=[],b[15]=Se):Se=b[15];const[ve,Ce]=l.useState(Se);let we;b[16]!==_?(we=localStorage.getItem(_),b[16]=_,b[17]=we):we=b[17];const ye=we;let Pe;b[18]===Symbol.for("react.memo_cache_sentinel")?(Pe=[],b[18]=Pe):Pe=b[18];const[Te,xe]=l.useState(Pe),[Fe,_e]=l.useState(!1);let Re;b[19]===Symbol.for("react.memo_cache_sentinel")?(Re=[],b[19]=Re):Re=b[19];const[ke,Ae]=l.useState(Re),[Be,Ie]=l.useState(!1);let je;b[20]!==ve||b[21]!==ce||b[22]!==J||b[23]!==he||b[24]!==de?(je=async e=>{const t=void 0===e?"next":e;("first"===t||he<ce)&&(await J(de,ve,"first"===t),Ie(!0),be("first"===t?0:ce))},b[20]=ve,b[21]=ce,b[22]=J,b[23]=he,b[24]=de,b[25]=je):je=b[25];const Ve=je;let qe;b[26]===Symbol.for("react.memo_cache_sentinel")?(qe=(e,t)=>{me(t)},b[26]=qe):qe=b[26];const Ee=qe;let He;b[27]!==Ve?(He=e=>{fe(parseInt(e.target.value,10)),me(0),be(-1),Ve("first")},b[27]=Ve,b[28]=He):He=b[28];const Qe=He;let Le,Oe;b[29]!==k||b[30]!==ye?(Le=()=>{!function({columns:e,localVisibleCols:t,setCurrentColumns:o}){if(!t)return void o(e);const s=JSON.parse(t);o(e.map(e=>{const t=s.find(t=>t.accessor===e.accessor);return{...e,visible:t?t?.visible:e?.visible??!0,locked:Boolean(e.locked)}}).sort((e,t)=>s.findIndex(t=>t.accessor===e.accessor)-s.findIndex(e=>e.accessor===t.accessor)))}({columns:k,localVisibleCols:ye,setCurrentColumns:xe})},Oe=[k,ye],b[29]=k,b[30]=ye,b[31]=Le,b[32]=Oe):(Le=b[31],Oe=b[32]),l.useEffect(Le,Oe);const De=n(Ve);let Me,ze;b[33]!==ce||b[34]!==De||b[35]!==D?(Me=()=>{0===ce||D||De()},b[33]=ce,b[34]=De,b[35]=D,b[36]=Me):Me=b[36],b[37]!==ce||b[38]!==D?(ze=[ce,D],b[37]=ce,b[38]=D,b[39]=ze):ze=b[39],l.useEffect(Me,ze);const Ne=Be&&!pe&&(0===A||0===R.length);let We,Xe,Ge,Je,$e;b[40]===Symbol.for("react.memo_cache_sentinel")?(We={overflowX:"hidden",tableLayout:"fixed",width:"100%"},b[40]=We):We=b[40],b[41]!==ve||b[42]!==k||b[43]!==re.filters||b[44]!==j||b[45]!==Ve||b[46]!==O||b[47]!==le||b[48]!==G||b[49]!==M?(Xe=d(c,{columns:k,filterMode:O,defaultShowFilters:j,filtersQuery:le,activeFilters:ve,setActiveFilters:Ce,fetchEvent:Ve,setCurrentPage:me,setHighestFetchedPage:be,refreshButton:G,showRefreshButton:M,localeStr:re.filters}),b[41]=ve,b[42]=k,b[43]=re.filters,b[44]=j,b[45]=Ve,b[46]=O,b[47]=le,b[48]=G,b[49]=M,b[50]=Xe):Xe=b[50],b[51]!==ve||b[52]!==Te||b[53]!==re.header||b[54]!==A||b[55]!==$||b[56]!==W||b[57]!==ke||b[58]!==z||b[59]!==Fe||b[60]!==C?(Ge=d(a,{expectedRowCount:A,currentColumns:Te,setCurrentColumns:xe,isFetching:$,quickActions:W,tableActionsActive:Fe,setQuickActions:_e,quickSelectedRows:ke,setQuickSelectedRows:Ae,activeFilters:ve,tableButtons:C,showVisibleColumnsButton:z,localeStr:re.header}),b[51]=ve,b[52]=Te,b[53]=re.header,b[54]=A,b[55]=$,b[56]=W,b[57]=ke,b[58]=z,b[59]=Fe,b[60]=C,b[61]=Ge):Ge=b[61],b[62]!==Xe||b[63]!==Ge?(Je=f(t,{container:!0,children:[Xe,Ge]}),b[62]=Xe,b[63]=Ge,b[64]=Je):Je=b[64],b[65]===Symbol.for("react.memo_cache_sentinel")?($e={overflowX:"auto",scrollbarWidth:"thin",minWidth:150},b[65]=$e):$e=b[65];const Ke=pe||!Be;let Ue,Ye;b[66]!==oe||b[67]!==Te||b[68]!==ce||b[69]!==E||b[70]!==H||b[71]!==se||b[72]!==Ne||b[73]!==w||b[74]!==ke||b[75]!==de||b[76]!==Ke||b[77]!==Fe||b[78]!==R||b[79]!==L?(Ue=d(t,{container:!0,sx:$e,children:d(s,{component:"div",children:d(r,{tableData:R,visibleColumns:Te,setVisibleColumns:xe,page:ce,rowsPerPage:de,tableActionsActive:Fe,quickSelectedRows:ke,setQuickSelectedRows:Ae,isFetching:Ke,onRowClick:w,autoSizeHeight:oe,emptyTablePlaceholderSrc:E,emptyTablePlaceholderText:H,isTableEmpty:Ne,hideFooter:se,variant:L})})}),b[66]=oe,b[67]=Te,b[68]=ce,b[69]=E,b[70]=H,b[71]=se,b[72]=Ne,b[73]=w,b[74]=ke,b[75]=de,b[76]=Ke,b[77]=Fe,b[78]=R,b[79]=L,b[80]=Ue):Ue=b[80],b[81]===Symbol.for("react.memo_cache_sentinel")?(Ye={display:"flex",justifyContent:"flex-end",alignItems:"center"},b[81]=Ye):Ye=b[81];const Ze=!ge;let et,tt;return b[82]!==re.footer||b[83]!==ce||b[84]!==Y||b[85]!==A||b[86]!==ie||b[87]!==Qe||b[88]!==se||b[89]!==Ne||b[90]!==de||b[91]!==Ze?(et=d(t,{component:"div",container:!0,sx:Ye,children:d(u,{expectedRowCount:A,rowsPerPage:de,page:ce,handleChangePage:Ee,handleChangeRowsPerPage:Qe,customSelectPages:Y,localeStr:re.footer,isTableEmpty:Ne,hideFooter:se,isFetching:Ze,footerVariant:ie})}),b[82]=re.footer,b[83]=ce,b[84]=Y,b[85]=A,b[86]=ie,b[87]=Qe,b[88]=se,b[89]=Ne,b[90]=de,b[91]=Ze,b[92]=et):et=b[92],b[93]!==Je||b[94]!==Ue||b[95]!==et?(tt=f(i,{component:o,sx:We,children:[Je,Ue,et]}),b[93]=Je,b[94]=Ue,b[95]=et,b[96]=tt):tt=b[96],tt}export{h as LegacyDynamicTable};
@@ -1 +0,0 @@
1
- import{c as e}from"react/compiler-runtime";import t from"@mui/material/Box";import o from"@mui/material/IconButton";import{useTheme as r}from"@mui/material/styles";import n from"@mui/material/TablePagination";import i from"@mui/material/TableRow";import"react";import{ChevronRightIcon as a,ChevronLeftIcon as l}from"lucide-react";import{jsx as c,jsxs as s}from"react/jsx-runtime";function m(n){const i=e(22),{count:m,page:d,rowsPerPage:g,isFetching:p,onPageChange:u}=n,P=r();let f;i[0]!==u||i[1]!==d?(f=e=>{u(e,d-1)},i[0]=u,i[1]=d,i[2]=f):f=i[2];const h=f;let b;i[3]!==u||i[4]!==d?(b=e=>{u(e,d+1)},i[3]=u,i[4]=d,i[5]=b):b=i[5];const w=b;let C;i[6]===Symbol.for("react.memo_cache_sentinel")?(C={flexShrink:0,ml:2.5},i[6]=C):C=i[6];const x=0===d;let R,$;i[7]!==P.direction?(R="rtl"===P.direction?c(a,{size:20}):c(l,{size:20}),i[7]=P.direction,i[8]=R):R=i[8],i[9]!==h||i[10]!==x||i[11]!==R?($=c(o,{onClick:h,disabled:x,"aria-label":"previous-page",children:R}),i[9]=h,i[10]=x,i[11]=R,i[12]=$):$=i[12];const y=d>=Math.ceil(m/g)-1||p;let S,v,z;return i[13]!==P.direction?(S="rtl"===P.direction?c(l,{size:20}):c(a,{size:20}),i[13]=P.direction,i[14]=S):S=i[14],i[15]!==w||i[16]!==y||i[17]!==S?(v=c(o,{onClick:w,disabled:y,"aria-label":"next-page",children:S}),i[15]=w,i[16]=y,i[17]=S,i[18]=v):v=i[18],i[19]!==$||i[20]!==v?(z=s(t,{component:"div",sx:C,children:[$,v]}),i[19]=$,i[20]=v,i[21]=z):z=i[21],z}function d(t){const o=e(20),{expectedRowCount:r,rowsPerPage:a,page:l,handleChangePage:s,handleChangeRowsPerPage:d,customSelectPages:g,localeStr:p,isTableEmpty:u,hideFooter:P,isFetching:f,footerVariant:h}=t;if(u&&P)return null;let b;o[0]!==f?(b=e=>c(m,{...e,isFetching:f}),o[0]=f,o[1]=b):b=o[1];const w=b;let C;o[2]!==g||o[3]!==h?(C="standard"===h?g??[5,10]:[],o[2]=g,o[3]=h,o[4]=C):C=o[4];const x=C,R="standard"===h?p?.rowsPerPage:"";let $;o[5]!==h||o[6]!==p?.elements||o[7]!==p?.of?($="standard"===h?e=>{const{from:t,to:o,count:r}=e;return`${t} - ${o} ${p?.of} ${r}`}:e=>{const{count:t}=e;return`${t} ${p?.elements}`},o[5]=h,o[6]=p?.elements,o[7]=p?.of,o[8]=$):$=o[8];const y=$,S=w;let v,z;return o[9]===Symbol.for("react.memo_cache_sentinel")?(v={border:"none"},o[9]=v):v=o[9],o[10]!==r||o[11]!==s||o[12]!==d||o[13]!==y||o[14]!==R||o[15]!==l||o[16]!==a||o[17]!==x||o[18]!==S?(z=c(i,{component:"div",children:c(n,{component:"div",count:r,rowsPerPage:a,rowsPerPageOptions:x,page:l,onPageChange:s,onRowsPerPageChange:d,labelRowsPerPage:R,labelDisplayedRows:y,ActionsComponent:S,sx:v})}),o[10]=r,o[11]=s,o[12]=d,o[13]=y,o[14]=R,o[15]=l,o[16]=a,o[17]=x,o[18]=S,o[19]=z):z=o[19],z}export{d as LegacyTableFooter,m as TablePaginationActions};
@@ -1,7 +0,0 @@
1
- import React from 'react';
2
-
3
- declare const ImageCell: (imgProps?: Omit<React.ImgHTMLAttributes<HTMLImageElement>, "src">) => ({ cellValue }: {
4
- cellValue?: string;
5
- }) => React.ReactNode;
6
-
7
- export { ImageCell };
@@ -1 +0,0 @@
1
- import{c as r}from"react/compiler-runtime";import"react";import{jsx as t}from"react/jsx-runtime";const e=e=>m=>{const o=r(2),{cellValue:c}=m,i=c??"";let l;return o[0]!==i?(l=t("img",{src:i,height:"100px",alt:"",...e}),o[0]=i,o[1]=l):l=o[1],l};export{e as ImageCell};
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- import { LinkProps } from '@mui/material/Link';
3
-
4
- declare const LinkCell: (clickAction: (value: unknown) => void, label: (value: string) => string, linkProps?: Omit<LinkProps, "onClick" | "href" | "ref" | "type">) => ({ cellValue }: {
5
- cellValue: string;
6
- }) => React.ReactNode;
7
-
8
- export { LinkCell };
@@ -1 +0,0 @@
1
- import{c as r}from"react/compiler-runtime";import"react";import o from"@mui/material/Link";import{jsx as t}from"react/jsx-runtime";const e=(e,i,c)=>m=>{const n=r(7),{cellValue:l}=m;let a;n[0]!==l?(a=r=>{r.stopPropagation(),e(l)},n[0]=l,n[1]=a):a=n[1];const p=a;let s,u;return n[2]!==l?(s=l?i(l):"",n[2]=l,n[3]=s):s=n[3],n[4]!==p||n[5]!==s?(u=t(o,{color:"secondary",onClick:p,...c,children:s}),n[4]=p,n[5]=s,n[6]=u):u=n[6],u};export{e as LinkCell};
@@ -1,11 +0,0 @@
1
- import { TooltipProps } from '@mui/material/Tooltip';
2
- import React from 'react';
3
-
4
- declare const ALL_STATUS: readonly ["pending", "active", "terminated", "canceled"];
5
- type IStatus = (typeof ALL_STATUS)[number];
6
- declare const StatusCell: (tooltip?: (value: IStatus) => string, tooltipProps?: Omit<TooltipProps, "title" | "children">) => ({ cellValue }: {
7
- cellValue: string;
8
- }) => React.ReactNode;
9
-
10
- export { ALL_STATUS, StatusCell };
11
- export type { IStatus };
@@ -1 +0,0 @@
1
- import{c as e}from"react/compiler-runtime";import r from"@mui/material/Grid";import t from"@mui/material/Tooltip";import{CheckCircle2 as i,Clock as n,Activity as c,XCircle as o}from"lucide-react";import"react";import{jsx as m}from"react/jsx-runtime";const a=["pending","active","terminated","canceled"];const l={canceled:m(o,{}),active:m(c,{}),pending:m(n,{}),terminated:m(i,{})},d=(i,n)=>c=>{const o=e(6),{cellValue:d}=c;if(null==d||(p=d,!a.some(e=>e===p))){let e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=m(r,{container:!0,children:""}),o[0]=e):e=o[0],e}var p;const u=l[d];let f,s;return o[1]!==d?(f=i?.(d),o[1]=d,o[2]=f):f=o[2],o[3]!==u||o[4]!==f?(s=m(r,{container:!0,children:m(t,{title:f,...n,children:u})}),o[3]=u,o[4]=f,o[5]=s):s=o[5],s};export{a as ALL_STATUS,d as StatusCell};