dinocollab-core 1.0.20 → 1.0.21

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 (75) hide show
  1. package/README.md +1 -1
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -1
  3. package/dist/filter-bar/base.js +1 -1
  4. package/dist/filter-bar/base.js.map +1 -1
  5. package/dist/filter-bar/create.filter-bar.js +1 -1
  6. package/dist/filter-bar/create.filter-bar.js.map +1 -1
  7. package/dist/filter-bar/create.filter-menu.js +1 -1
  8. package/dist/filter-bar/create.filter-menu.js.map +1 -1
  9. package/dist/filter-bar/create.filter-panel.js +1 -1
  10. package/dist/filter-bar/create.filter-panel.js.map +1 -1
  11. package/dist/filter-bar/create.filtered.js +1 -1
  12. package/dist/filter-bar/create.filtered.js.map +1 -1
  13. package/dist/filter-bar/types.js.map +1 -1
  14. package/dist/filter-bar/ui.units.js +1 -1
  15. package/dist/filter-bar/ui.units.js.map +1 -1
  16. package/dist/form/create.autocomplete.chips.js.map +1 -1
  17. package/dist/form/create.form-base.js +1 -1
  18. package/dist/form/create.form-base.js.map +1 -1
  19. package/dist/form/create.form-grid-layout.js +1 -1
  20. package/dist/form/create.form-grid-layout.js.map +1 -1
  21. package/dist/form/create.input-file.csv-local-parser.js.map +1 -1
  22. package/dist/form/create.input.js +1 -1
  23. package/dist/form/create.input.js.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/table-grid/create.table-grid.js +1 -1
  26. package/dist/table-grid/create.table-grid.js.map +1 -1
  27. package/dist/types/filter-bar/base.d.ts +10 -16
  28. package/dist/types/filter-bar/create.filter-bar.d.ts +3 -91
  29. package/dist/types/filter-bar/create.filter-menu.d.ts +6 -59
  30. package/dist/types/filter-bar/create.filter-panel.d.ts +7 -111
  31. package/dist/types/filter-bar/create.filtered.d.ts +11 -8
  32. package/dist/types/filter-bar/create.sort-menu.d.ts +1 -7
  33. package/dist/types/filter-bar/index.d.ts +0 -1
  34. package/dist/types/filter-bar/types.d.ts +42 -23
  35. package/dist/types/filter-bar/ui.units.d.ts +4 -3
  36. package/dist/types/form/create.autocomplete.chips.d.ts +3 -3
  37. package/dist/types/form/create.form-base.d.ts +15 -21
  38. package/dist/types/form/create.form-grid-layout.units.d.ts +6 -2
  39. package/dist/types/form/create.input-file.csv-local-parser.d.ts +1 -2
  40. package/dist/types/form/create.input.d.ts +1 -2
  41. package/dist/types/form/dino-form.d.ts +4 -2
  42. package/dist/types/form/types.d.ts +18 -7
  43. package/dist/types/table-grid/types.d.ts +2 -2
  44. package/dist/types/utils/helpers.d.ts +1 -0
  45. package/dist/utils/helpers.js +1 -1
  46. package/dist/utils/helpers.js.map +1 -1
  47. package/package.json +5 -2
  48. package/dist/filter-bar/create.sort-menu.js +0 -2
  49. package/dist/filter-bar/create.sort-menu.js.map +0 -1
  50. package/dist/types/filter-bar/demo.d.ts +0 -3
  51. package/dist/types/lab/create.autocomplete.simple.d.ts +0 -19
  52. package/dist/types/lab/create.dino-store.d.ts +0 -1
  53. package/dist/types/lab/grafana-dashboard/configs.d.ts +0 -4
  54. package/dist/types/lab/grafana-dashboard/date-time-range/absolute-time-rage.d.ts +0 -14
  55. package/dist/types/lab/grafana-dashboard/date-time-range/helpers.d.ts +0 -36
  56. package/dist/types/lab/grafana-dashboard/date-time-range/index.d.ts +0 -24
  57. package/dist/types/lab/grafana-dashboard/date-time-range/menu-wrap.d.ts +0 -19
  58. package/dist/types/lab/grafana-dashboard/date-time-range/quick-ranges.d.ts +0 -20
  59. package/dist/types/lab/grafana-dashboard/date-time-range/types.d.ts +0 -8
  60. package/dist/types/lab/grafana-dashboard/date-time-range/units.d.ts +0 -2
  61. package/dist/types/lab/grafana-dashboard/helper.d.ts +0 -7
  62. package/dist/types/lab/grafana-dashboard/hooks.d.ts +0 -10
  63. package/dist/types/lab/grafana-dashboard/icons.d.ts +0 -5
  64. package/dist/types/lab/grafana-dashboard/index.d.ts +0 -12
  65. package/dist/types/lab/grafana-dashboard/top-bar.d.ts +0 -19
  66. package/dist/types/lab/grafana-dashboard/top-bar.types.d.ts +0 -4
  67. package/dist/types/lab/grafana-dashboard/types.d.ts +0 -8
  68. package/dist/types/lab/media-player.core1.d.ts +0 -14
  69. package/dist/types/lab/media-player.muted.d.ts +0 -10
  70. package/dist/types/lab/media-player.units.d.ts +0 -36
  71. package/dist/types/lab/select-mul-with-api/create.select-mul-with-api.d.ts +0 -26
  72. package/dist/types/lab/select-mul-with-api/index.d.ts +0 -2
  73. package/dist/types/lab/select-mul-with-api/table-custom.d.ts +0 -43
  74. package/dist/types/lab/select-mul-with-api/types.d.ts +0 -21
  75. package/dist/types/lab/select-mul-with-api/ui.units.d.ts +0 -29
@@ -1,26 +1,21 @@
1
1
  import { Component } from 'react';
2
- import { IFilterField, IFilterFields, IFilterItemModel, IFilterModel, IFilterState } from './types';
2
+ import { IFilterModel, IFilterState, IQuickSearchDef } from './types';
3
+ import { IFilterField, IFilterFields, IFilterItemChangeModel } from './types';
3
4
  export declare const filterPanelClasses: {
4
5
  root: string;
5
6
  list: string;
6
7
  item: string;
7
8
  };
9
+ export interface IFilterChange<T> {
10
+ isChanged: boolean;
11
+ filterState: IFilterState<T>;
12
+ }
8
13
  export default class FilterBarBase<P, S, T = any> extends Component<P, S> {
9
14
  mergeFilter: (f1?: IFilterState<T>, f2?: IFilterState<T>) => IFilterState<T>;
10
- patchFilterWithKey: (filterState: IFilterState<T>, key: keyof IFilterModel<T>, value: IFilterItemModel) => {
11
- isChanged: boolean;
12
- filterState: {
13
- filter: IFilterModel<T>;
14
- details?: "add" | "remove" | undefined;
15
- };
16
- };
17
- deleteFilterWithKey: (filterState: IFilterState<T>, key: keyof IFilterModel<T>) => {
18
- isChanged: boolean;
19
- filterState: {
20
- filter: IFilterModel<T>;
21
- details?: "add" | "remove" | undefined;
22
- };
23
- };
15
+ addQuickSearch: (filterState: IFilterState<T>, def?: IQuickSearchDef<T>, value?: string) => IFilterChange<T>;
16
+ removeQuickSearch: (filterState: IFilterState<T>) => IFilterChange<T>;
17
+ patchFilterWithKey: (filterState: IFilterState<T>, data: IFilterItemChangeModel<T>) => IFilterChange<T>;
18
+ deleteFilterWithKey: (filterState: IFilterState<T>, data: IFilterItemChangeModel<T>) => IFilterChange<T>;
24
19
  isFilterEmpty: (filterState: IFilterState<T>) => boolean;
25
20
  isYoutubeLink: (val: string) => boolean;
26
21
  isGenericLink: (val: string) => boolean;
@@ -30,5 +25,4 @@ export default class FilterBarBase<P, S, T = any> extends Component<P, S> {
30
25
  error: boolean;
31
26
  message?: string;
32
27
  };
33
- getSortFields: (fields: IFilterFields<T>) => IFilterFields<T>;
34
28
  }
@@ -1,92 +1,4 @@
1
- import React from 'react';
2
- import { IFilterHelpNotesProps } from './ui.units';
3
- import { IFilterFields, IFilterItemModel, IFilterModel, FilterReason, IFilterState } from './types';
4
- import { FilterPanelState } from './create.filter-panel';
5
- export interface IFilterBarParams<T> {
6
- fields: IFilterFields<T>;
7
- id?: string;
8
- placeholder?: string;
9
- helpNotes?: IFilterHelpNotesProps;
10
- }
11
- export interface IFilterBarProps<T> {
12
- id?: string;
13
- placeholder?: string;
14
- value?: IFilterState<T>;
15
- onChange?: (value: IFilterState<T>) => void;
16
- }
17
- export interface IFilterBarState {
18
- panelState: FilterPanelState;
19
- keyword: string;
20
- }
21
- declare function CreateFilterBar<T>(params: IFilterBarParams<T>): {
22
- new (props: IFilterBarProps<T>): {
23
- defaultState: IFilterBarState;
24
- filterStateStore: IFilterState<T>;
25
- readonly filterState: IFilterState<T>;
26
- setFilterState: (filterState: IFilterState<T>) => void;
27
- readonly configs: {
28
- id: string;
29
- placeholder: string;
30
- helpNotes: IFilterHelpNotesProps | undefined;
31
- };
32
- refFilterButton: HTMLButtonElement | null;
33
- refSortButton: HTMLButtonElement | null;
34
- render(): import("react/jsx-runtime").JSX.Element;
35
- refInput: HTMLInputElement | null;
36
- refBeforeInput: HTMLElement | null;
37
- renderTextField: () => import("react/jsx-runtime").JSX.Element;
38
- handleKeyDown: (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
39
- handleAdd: (key: keyof IFilterModel<T>, value: IFilterItemModel) => void;
40
- handleRemove: (key: keyof IFilterModel<T>) => void;
41
- handleClear: () => void;
42
- showPanel: (reason: FilterReason) => void;
43
- closePanel: () => void;
44
- mergeFilter: (f1?: IFilterState<T> | undefined, f2?: IFilterState<T> | undefined) => IFilterState<T>;
45
- patchFilterWithKey: (filterState: IFilterState<T>, key: "Search" | keyof T, value: IFilterItemModel) => {
46
- isChanged: boolean;
47
- filterState: {
48
- filter: IFilterModel<T>;
49
- details?: "add" | "remove" | undefined;
50
- };
51
- };
52
- deleteFilterWithKey: (filterState: IFilterState<T>, key: "Search" | keyof T) => {
53
- isChanged: boolean;
54
- filterState: {
55
- filter: IFilterModel<T>;
56
- details?: "add" | "remove" | undefined;
57
- };
58
- };
59
- isFilterEmpty: (filterState: IFilterState<T>) => boolean;
60
- isYoutubeLink: (val: string) => boolean;
61
- isGenericLink: (val: string) => boolean;
62
- isGuid: (val: string) => boolean;
63
- getFieldsMatches: (fields: IFilterFields<T>, keyword: string, showAll?: boolean | undefined) => IFilterFields<T>;
64
- validated: (value: string, fieldKey: "Search" | keyof T, filterField?: import("./types").IFilterField | undefined) => {
65
- error: boolean;
66
- message?: string | undefined;
67
- };
68
- getSortFields: (fields: IFilterFields<T>) => IFilterFields<T>;
69
- context: unknown;
70
- setState<K extends keyof IFilterBarState>(state: IFilterBarState | ((prevState: Readonly<IFilterBarState>, props: Readonly<IFilterBarProps<T>>) => IFilterBarState | Pick<IFilterBarState, K> | null) | Pick<IFilterBarState, K> | null, callback?: (() => void) | undefined): void;
71
- forceUpdate(callback?: (() => void) | undefined): void;
72
- readonly props: Readonly<IFilterBarProps<T>>;
73
- state: Readonly<IFilterBarState>;
74
- refs: {
75
- [key: string]: React.ReactInstance;
76
- };
77
- componentDidMount?(): void;
78
- shouldComponentUpdate?(nextProps: Readonly<IFilterBarProps<T>>, nextState: Readonly<IFilterBarState>, nextContext: any): boolean;
79
- componentWillUnmount?(): void;
80
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
81
- getSnapshotBeforeUpdate?(prevProps: Readonly<IFilterBarProps<T>>, prevState: Readonly<IFilterBarState>): any;
82
- componentDidUpdate?(prevProps: Readonly<IFilterBarProps<T>>, prevState: Readonly<IFilterBarState>, snapshot?: any): void;
83
- componentWillMount?(): void;
84
- UNSAFE_componentWillMount?(): void;
85
- componentWillReceiveProps?(nextProps: Readonly<IFilterBarProps<T>>, nextContext: any): void;
86
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<IFilterBarProps<T>>, nextContext: any): void;
87
- componentWillUpdate?(nextProps: Readonly<IFilterBarProps<T>>, nextState: Readonly<IFilterBarState>, nextContext: any): void;
88
- UNSAFE_componentWillUpdate?(nextProps: Readonly<IFilterBarProps<T>>, nextState: Readonly<IFilterBarState>, nextContext: any): void;
89
- };
90
- contextType?: React.Context<any> | undefined;
91
- };
1
+ import { ComponentType } from 'react';
2
+ import { IFilterBarParams, IFilterBarProps } from './types';
3
+ declare function CreateFilterBar<T>(params: IFilterBarParams<T>): ComponentType<IFilterBarProps<T>>;
92
4
  export default CreateFilterBar;
@@ -1,66 +1,13 @@
1
- import React from 'react';
1
+ import { ComponentType } from 'react';
2
2
  import { ButtonProps } from '@mui/material';
3
- import { IFilterModel, IFilterPanelParams, IFilterPannelSubmitFunc } from './types';
4
- interface IProps<T> {
5
- onSubmit?: IFilterPannelSubmitFunc<T>;
3
+ import { IFilterBarParams, IFilterModel, IFilterSubmitFunc } from './types';
4
+ export interface IFilterMenuProps<T> {
5
+ onSubmit?: IFilterSubmitFunc<T>;
6
6
  onCancel?: ButtonProps['onClick'];
7
7
  }
8
- interface IState<T> {
8
+ export interface IFilterMenuState<T> {
9
9
  fieldSelected: keyof IFilterModel<T> | null;
10
10
  messageError?: string;
11
11
  }
12
- declare function CreateFilterMenu<T>(params: IFilterPanelParams<T>): {
13
- new (props: IProps<T>): {
14
- render(): import("react/jsx-runtime").JSX.Element;
15
- renderFrom: (fieldSelected: keyof IFilterModel<T>) => import("react/jsx-runtime").JSX.Element;
16
- renderWithMode: (fieldSelected: keyof IFilterModel<T>) => import("react/jsx-runtime").JSX.Element;
17
- handleSubmit: (fieldSelected: keyof IFilterModel<T>, event: React.FormEvent<HTMLFormElement>) => void;
18
- mergeFilter: (f1?: import("./types").IFilterState<T> | undefined, f2?: import("./types").IFilterState<T> | undefined) => import("./types").IFilterState<T>;
19
- patchFilterWithKey: (filterState: import("./types").IFilterState<T>, key: "Search" | keyof T, value: import("./types").IFilterItemModel) => {
20
- isChanged: boolean;
21
- filterState: {
22
- filter: IFilterModel<T>;
23
- details?: "add" | "remove" | undefined;
24
- };
25
- };
26
- deleteFilterWithKey: (filterState: import("./types").IFilterState<T>, key: "Search" | keyof T) => {
27
- isChanged: boolean;
28
- filterState: {
29
- filter: IFilterModel<T>;
30
- details?: "add" | "remove" | undefined;
31
- };
32
- };
33
- isFilterEmpty: (filterState: import("./types").IFilterState<T>) => boolean;
34
- isYoutubeLink: (val: string) => boolean;
35
- isGenericLink: (val: string) => boolean;
36
- isGuid: (val: string) => boolean;
37
- getFieldsMatches: (fields: import("./types").IFilterFields<T>, keyword: string, showAll?: boolean | undefined) => import("./types").IFilterFields<T>;
38
- validated: (value: string, fieldKey: "Search" | keyof T, filterField?: import("./types").IFilterField | undefined) => {
39
- error: boolean;
40
- message?: string | undefined;
41
- };
42
- getSortFields: (fields: import("./types").IFilterFields<T>) => import("./types").IFilterFields<T>;
43
- context: unknown;
44
- setState<K extends keyof IState<T>>(state: IState<T> | ((prevState: Readonly<IState<T>>, props: Readonly<IProps<T>>) => IState<T> | Pick<IState<T>, K> | null) | Pick<IState<T>, K> | null, callback?: (() => void) | undefined): void;
45
- forceUpdate(callback?: (() => void) | undefined): void;
46
- readonly props: Readonly<IProps<T>>;
47
- state: Readonly<IState<T>>;
48
- refs: {
49
- [key: string]: React.ReactInstance;
50
- };
51
- componentDidMount?(): void;
52
- shouldComponentUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<IState<T>>, nextContext: any): boolean;
53
- componentWillUnmount?(): void;
54
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
55
- getSnapshotBeforeUpdate?(prevProps: Readonly<IProps<T>>, prevState: Readonly<IState<T>>): any;
56
- componentDidUpdate?(prevProps: Readonly<IProps<T>>, prevState: Readonly<IState<T>>, snapshot?: any): void;
57
- componentWillMount?(): void;
58
- UNSAFE_componentWillMount?(): void;
59
- componentWillReceiveProps?(nextProps: Readonly<IProps<T>>, nextContext: any): void;
60
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<IProps<T>>, nextContext: any): void;
61
- componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<IState<T>>, nextContext: any): void;
62
- UNSAFE_componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<IState<T>>, nextContext: any): void;
63
- };
64
- contextType?: React.Context<any> | undefined;
65
- };
12
+ declare function CreateFilterMenu<T>(params: IFilterBarParams<T>): ComponentType<IFilterMenuProps<T>>;
66
13
  export default CreateFilterMenu;
@@ -1,117 +1,13 @@
1
- import React, { PropsWithChildren } from 'react';
2
- import { IFilterModel, FilterReason, IFilterPanelParams, IFilterPannelSubmitFunc } from './types';
3
- export interface FilterPanelState {
1
+ import { ComponentType, PropsWithChildren } from 'react';
2
+ import { IFilterReason, IFilterSubmitFunc, IFilterBarParams } from './types';
3
+ export interface IFilterPanelState {
4
4
  anchorEl: HTMLElement | null;
5
- reason?: FilterReason;
5
+ reason?: IFilterReason;
6
6
  }
7
- interface IProps<T> extends FilterPanelState, PropsWithChildren {
7
+ interface IFilterPanelProps<T> extends IFilterPanelState, PropsWithChildren {
8
8
  keyword?: string;
9
- onSubmit?: IFilterPannelSubmitFunc<T>;
9
+ onSubmit?: IFilterSubmitFunc<T>;
10
10
  onClose?: () => void;
11
11
  }
12
- declare function CreateFilterPanel<T>(params: IFilterPanelParams<T>): {
13
- new (props: IProps<T>): {
14
- render(): import("react/jsx-runtime").JSX.Element;
15
- renderContent: () => import("react/jsx-runtime").JSX.Element | undefined;
16
- renderSearchInput: () => import("react/jsx-runtime").JSX.Element;
17
- handleClick: (key: keyof IFilterModel<T>) => void;
18
- mergeFilter: (f1?: import("./types").IFilterState<T> | undefined, f2?: import("./types").IFilterState<T> | undefined) => import("./types").IFilterState<T>;
19
- patchFilterWithKey: (filterState: import("./types").IFilterState<T>, key: "Search" | keyof T, value: import("./types").IFilterItemModel) => {
20
- isChanged: boolean;
21
- filterState: {
22
- filter: IFilterModel<T>;
23
- details?: "add" | "remove" | undefined;
24
- };
25
- };
26
- deleteFilterWithKey: (filterState: import("./types").IFilterState<T>, key: "Search" | keyof T) => {
27
- isChanged: boolean;
28
- filterState: {
29
- filter: IFilterModel<T>;
30
- details?: "add" | "remove" | undefined;
31
- };
32
- };
33
- isFilterEmpty: (filterState: import("./types").IFilterState<T>) => boolean;
34
- isYoutubeLink: (val: string) => boolean;
35
- isGenericLink: (val: string) => boolean;
36
- isGuid: (val: string) => boolean;
37
- getFieldsMatches: (fields: import("./types").IFilterFields<T>, keyword: string, showAll?: boolean | undefined) => import("./types").IFilterFields<T>;
38
- validated: (value: string, fieldKey: "Search" | keyof T, filterField?: import("./types").IFilterField | undefined) => {
39
- error: boolean;
40
- message?: string | undefined;
41
- };
42
- getSortFields: (fields: import("./types").IFilterFields<T>) => import("./types").IFilterFields<T>;
43
- context: unknown;
44
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IProps<T>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
45
- forceUpdate(callback?: (() => void) | undefined): void;
46
- readonly props: Readonly<IProps<T>>;
47
- state: Readonly<{}>;
48
- refs: {
49
- [key: string]: React.ReactInstance;
50
- };
51
- componentDidMount?(): void;
52
- shouldComponentUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): boolean;
53
- componentWillUnmount?(): void;
54
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
55
- getSnapshotBeforeUpdate?(prevProps: Readonly<IProps<T>>, prevState: Readonly<{}>): any;
56
- componentDidUpdate?(prevProps: Readonly<IProps<T>>, prevState: Readonly<{}>, snapshot?: any): void;
57
- componentWillMount?(): void;
58
- UNSAFE_componentWillMount?(): void;
59
- componentWillReceiveProps?(nextProps: Readonly<IProps<T>>, nextContext: any): void;
60
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<IProps<T>>, nextContext: any): void;
61
- componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): void;
62
- UNSAFE_componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): void;
63
- };
64
- new (props: IProps<T>, context: any): {
65
- render(): import("react/jsx-runtime").JSX.Element;
66
- renderContent: () => import("react/jsx-runtime").JSX.Element | undefined;
67
- renderSearchInput: () => import("react/jsx-runtime").JSX.Element;
68
- handleClick: (key: keyof IFilterModel<T>) => void;
69
- mergeFilter: (f1?: import("./types").IFilterState<T> | undefined, f2?: import("./types").IFilterState<T> | undefined) => import("./types").IFilterState<T>;
70
- patchFilterWithKey: (filterState: import("./types").IFilterState<T>, key: "Search" | keyof T, value: import("./types").IFilterItemModel) => {
71
- isChanged: boolean;
72
- filterState: {
73
- filter: IFilterModel<T>;
74
- details?: "add" | "remove" | undefined;
75
- };
76
- };
77
- deleteFilterWithKey: (filterState: import("./types").IFilterState<T>, key: "Search" | keyof T) => {
78
- isChanged: boolean;
79
- filterState: {
80
- filter: IFilterModel<T>;
81
- details?: "add" | "remove" | undefined;
82
- };
83
- };
84
- isFilterEmpty: (filterState: import("./types").IFilterState<T>) => boolean;
85
- isYoutubeLink: (val: string) => boolean;
86
- isGenericLink: (val: string) => boolean;
87
- isGuid: (val: string) => boolean;
88
- getFieldsMatches: (fields: import("./types").IFilterFields<T>, keyword: string, showAll?: boolean | undefined) => import("./types").IFilterFields<T>;
89
- validated: (value: string, fieldKey: "Search" | keyof T, filterField?: import("./types").IFilterField | undefined) => {
90
- error: boolean;
91
- message?: string | undefined;
92
- };
93
- getSortFields: (fields: import("./types").IFilterFields<T>) => import("./types").IFilterFields<T>;
94
- context: unknown;
95
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IProps<T>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
96
- forceUpdate(callback?: (() => void) | undefined): void;
97
- readonly props: Readonly<IProps<T>>;
98
- state: Readonly<{}>;
99
- refs: {
100
- [key: string]: React.ReactInstance;
101
- };
102
- componentDidMount?(): void;
103
- shouldComponentUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): boolean;
104
- componentWillUnmount?(): void;
105
- componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
106
- getSnapshotBeforeUpdate?(prevProps: Readonly<IProps<T>>, prevState: Readonly<{}>): any;
107
- componentDidUpdate?(prevProps: Readonly<IProps<T>>, prevState: Readonly<{}>, snapshot?: any): void;
108
- componentWillMount?(): void;
109
- UNSAFE_componentWillMount?(): void;
110
- componentWillReceiveProps?(nextProps: Readonly<IProps<T>>, nextContext: any): void;
111
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<IProps<T>>, nextContext: any): void;
112
- componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): void;
113
- UNSAFE_componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): void;
114
- };
115
- contextType?: React.Context<any> | undefined;
116
- };
12
+ declare function CreateFilterPanel<T>(params: IFilterBarParams<T>): ComponentType<IFilterPanelProps<T>>;
117
13
  export default CreateFilterPanel;
@@ -1,14 +1,15 @@
1
1
  import React from 'react';
2
- import { IFilterFields, IFilterModel, IFilterState } from './types';
2
+ import { IFilterBarParams, IFilterState, IFilterSubmitFunc } from './types';
3
3
  interface IProps<T> {
4
- fields: IFilterFields<T>;
5
4
  filterState: IFilterState<T>;
6
- onRemove?: (key: keyof IFilterModel<T>) => void;
5
+ onRemove?: IFilterSubmitFunc<T>;
7
6
  }
8
- declare function CreateFiltered<T>(): {
7
+ declare function CreateFiltered<T>(params: IFilterBarParams<T>): {
9
8
  new (props: IProps<T>): {
10
- render(): import("react/jsx-runtime").JSX.Element[];
11
- handleRemove: (key: keyof IFilterModel<T>) => void;
9
+ render(): import("react/jsx-runtime").JSX.Element;
10
+ renderQuickSearch: () => import("react/jsx-runtime").JSX.Element;
11
+ handleRemove: (field: keyof T) => void;
12
+ handleQuickSearchRemove: () => void;
12
13
  context: unknown;
13
14
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IProps<T>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
14
15
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -31,8 +32,10 @@ declare function CreateFiltered<T>(): {
31
32
  UNSAFE_componentWillUpdate?(nextProps: Readonly<IProps<T>>, nextState: Readonly<{}>, nextContext: any): void;
32
33
  };
33
34
  new (props: IProps<T>, context: any): {
34
- render(): import("react/jsx-runtime").JSX.Element[];
35
- handleRemove: (key: keyof IFilterModel<T>) => void;
35
+ render(): import("react/jsx-runtime").JSX.Element;
36
+ renderQuickSearch: () => import("react/jsx-runtime").JSX.Element;
37
+ handleRemove: (field: keyof T) => void;
38
+ handleQuickSearchRemove: () => void;
36
39
  context: unknown;
37
40
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<IProps<T>>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
38
41
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -1,7 +1 @@
1
- /// <reference types="react" />
2
- import { IFilterPanelParams, IFilterPannelSubmitFunc } from './types';
3
- interface IProps<T> {
4
- onSubmit?: IFilterPannelSubmitFunc<T>;
5
- }
6
- declare function CreateFilterSort<T>(params: IFilterPanelParams<T>): React.ComponentType<IProps<T>>;
7
- export default CreateFilterSort;
1
+ export {};
@@ -1,3 +1,2 @@
1
1
  export { default as CreateFilterBar } from './create.filter-bar';
2
- export type { IFilterBarParams as FilterBarParams } from './create.filter-bar';
3
2
  export * from './types';
@@ -1,7 +1,6 @@
1
- export type FilterReason = 'searchInput' | 'filterButton' | 'sortButton';
2
- type Dictionary<T, V, E = any> = {
3
- [key in keyof T | keyof E]?: V;
4
- };
1
+ import { IFilterPanelState } from './create.filter-panel';
2
+ import { IFilterNotesProps } from './ui.units';
3
+ export type IFilterReason = 'searchInput' | 'filterButton';
5
4
  type SingleOrArray<T> = T | T[];
6
5
  export declare enum ESearchMatch {
7
6
  AlwaysVisible = "AlwaysVisible",
@@ -37,24 +36,24 @@ interface IFieldValidateQuickly extends IFieldValidateBase {
37
36
  rule: EFieldValidate.Link | EFieldValidate.LinkYoutube;
38
37
  }
39
38
  type IFieldValidate = IFieldValidateQuickly | IFieldValidateCustom;
40
- interface IFilterFieldBase {
39
+ export interface IQuickSearchDef<T> {
40
+ fields: SingleOrArray<keyof T>;
41
+ label?: string;
42
+ notes?: IFilterNotesProps;
43
+ }
44
+ interface IFilterFieldDef {
41
45
  label?: string;
42
46
  /** @default string */
43
47
  type?: 'string' | 'select';
44
48
  searchMatches?: SingleOrArray<IFieldSearchMatch>;
45
- helpeNotes?: {
46
- title?: string;
47
- items: string[];
48
- };
49
- /** @default true */
50
- sortable?: boolean;
49
+ notes?: IFilterNotesProps;
51
50
  /** @default Required */
52
51
  validate?: SingleOrArray<IFieldValidate>;
53
52
  }
54
- export interface IFilterFieldString extends IFilterFieldBase {
53
+ export interface IFilterFieldString extends IFilterFieldDef {
55
54
  type?: 'string';
56
55
  }
57
- export interface IFilterFieldSelect extends IFilterFieldBase {
56
+ export interface IFilterFieldSelect extends IFilterFieldDef {
58
57
  type: 'select';
59
58
  options: {
60
59
  value: string;
@@ -62,24 +61,44 @@ export interface IFilterFieldSelect extends IFilterFieldBase {
62
61
  }[];
63
62
  }
64
63
  export type IFilterField = IFilterFieldString | IFilterFieldSelect;
65
- export type IFilterFields<T> = Dictionary<T, IFilterField, {
66
- Search?: string;
67
- }>;
64
+ export type IFilterFields<T> = {
65
+ [key in keyof T]?: IFilterField;
66
+ };
68
67
  export interface IFilterItemModel {
69
68
  value?: string | number | boolean;
70
69
  label?: string;
71
- /** @default true */
72
- sortable?: boolean;
73
70
  }
74
- export type IFilterModel<T> = Dictionary<T, IFilterItemModel[], {
75
- Search?: string;
76
- }>;
71
+ export interface IFilterItemChangeModel<T> extends IFilterItemModel {
72
+ field: keyof T;
73
+ }
74
+ export type IFilterModel<T> = {
75
+ [key in keyof T]?: IFilterItemModel[];
76
+ };
77
+ export interface IQuickSearchModel<T> {
78
+ fields: SingleOrArray<keyof T>;
79
+ values?: SingleOrArray<string>;
80
+ }
77
81
  export interface IFilterState<T> {
78
82
  filter?: IFilterModel<T>;
83
+ quickSearch?: IQuickSearchModel<T>;
79
84
  details?: 'add' | 'remove';
80
85
  }
81
- export interface IFilterPanelParams<T> {
86
+ export interface IFilterBarParams<T> {
82
87
  fields: IFilterFields<T>;
88
+ quickSearch?: IQuickSearchDef<T>;
89
+ id?: string;
90
+ placeholder?: string;
91
+ notes?: IFilterNotesProps;
92
+ }
93
+ export interface IFilterBarProps<T> {
94
+ id?: string;
95
+ placeholder?: string;
96
+ value?: IFilterState<T>;
97
+ onChange?: (value: IFilterState<T>) => void;
98
+ }
99
+ export interface IFilterBarState {
100
+ panelState: IFilterPanelState;
101
+ keyword: string;
83
102
  }
84
- export type IFilterPannelSubmitFunc<T> = (filed: keyof IFilterModel<T>, value: IFilterItemModel) => void;
103
+ export type IFilterSubmitFunc<T> = (mode: 'field' | 'quickSearch', data?: IFilterItemChangeModel<T>) => void;
85
104
  export {};
@@ -1,13 +1,14 @@
1
- import { FC } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  import { IconButtonProps } from '@mui/material';
3
3
  export interface IButtonClearProps {
4
4
  visibled?: boolean;
5
5
  onClick: IconButtonProps['onClick'];
6
6
  }
7
7
  export declare const ButtonClear: FC<IButtonClearProps>;
8
- export interface IFilterHelpNotesProps {
8
+ export interface IFilterNotesProps {
9
9
  title?: string;
10
10
  items?: string[];
11
11
  disabledSize?: boolean;
12
+ renderContent?: () => ReactNode;
12
13
  }
13
- export declare const FilterHelpNotes: FC<IFilterHelpNotesProps>;
14
+ export declare const FilterNotes: FC<IFilterNotesProps>;
@@ -1,16 +1,16 @@
1
1
  import { ComponentType } from 'react';
2
2
  import { IFormInputBase } from './types';
3
- export interface IAutocompleteChipParams {
3
+ export interface IAutocompleteChipSlots {
4
4
  optionItems?: string[];
5
5
  limitTags?: number;
6
6
  separator?: string;
7
7
  saveLocalStorageByKey?: string;
8
8
  }
9
- export interface IAutocompleteChipProps<T> extends IFormInputBase<T, IAutocompleteChipParams> {
9
+ export interface IAutocompleteChipProps<T> extends IFormInputBase<T, IAutocompleteChipSlots> {
10
10
  }
11
11
  export interface IAutocompleteChipState {
12
12
  value: string[];
13
13
  options: string[];
14
14
  }
15
- declare function CreateAutocompleteChip<T>(params?: IAutocompleteChipParams): ComponentType<IAutocompleteChipProps<T>>;
15
+ declare function CreateAutocompleteChip<T>(params?: IAutocompleteChipSlots): ComponentType<IAutocompleteChipProps<T>>;
16
16
  export default CreateAutocompleteChip;
@@ -1,30 +1,24 @@
1
1
  import React, { ComponentType, PropsWithChildren } from 'react';
2
2
  import { SxProps, Theme } from '@mui/material';
3
- import { IFormBase } from './types';
3
+ import { IFormBaseContext } from './types';
4
4
  import FormValidator, { IPartialError } from './validator';
5
- export interface FormBaseParam<TModel> {
6
- validate?: FormValidator<Partial<TModel>>;
5
+ export interface IFormBaseParams<T> {
6
+ validate?: FormValidator<Partial<T>>;
7
7
  }
8
- export interface FormBaseProps<TModel> extends PropsWithChildren {
8
+ export interface IFormBaseProps<T> extends PropsWithChildren {
9
9
  sx?: SxProps<Theme>;
10
- validate?: FormValidator<Partial<TModel>>;
11
- onSubmit: (data: Partial<TModel>, e: React.FormEvent<HTMLFormElement>) => Promise<void>;
10
+ validate?: FormValidator<Partial<T>>;
11
+ onSubmit: (data: Partial<T>, e: React.FormEvent<HTMLFormElement>) => Promise<void>;
12
12
  }
13
- export interface FormBaseState<TModel> extends Pick<IFormBase<TModel>, 'messageErrors'> {
14
- modelState?: Partial<TModel>;
13
+ export interface IFormBaseState<T> {
14
+ modelState?: Partial<T>;
15
+ messageErrors: IPartialError<T>;
15
16
  }
16
- export interface IFormContextBase<TModel> {
17
- modelState?: Partial<TModel>;
18
- messageErrors: IPartialError<TModel>;
19
- onBlur: (keyName: keyof TModel) => void;
20
- setError: (keyName: keyof TModel, message: string) => void;
21
- clearErrorAll: (keyName: keyof TModel) => void;
17
+ export interface IFormBaseResult<T> {
18
+ Form: ComponentType<IFormBaseProps<T>>;
19
+ Validator?: FormValidator<Partial<T>>;
20
+ Context: React.Context<IFormBaseContext<T>>;
21
+ mapContext: (params: (context: IFormBaseContext<T>) => JSX.Element) => JSX.Element;
22
22
  }
23
- export interface FormBaseResult<TModel> {
24
- Form: ComponentType<FormBaseProps<TModel>>;
25
- Validator?: FormValidator<Partial<TModel>>;
26
- Context: React.Context<IFormContextBase<TModel>>;
27
- contextMapping: (params: (context: IFormContextBase<TModel>) => JSX.Element) => JSX.Element;
28
- }
29
- declare const CreateFormBase: <TModel>(param?: FormBaseParam<TModel> | undefined) => FormBaseResult<TModel>;
23
+ declare const CreateFormBase: <T>(params?: IFormBaseParams<T> | undefined) => IFormBaseResult<T>;
30
24
  export default CreateFormBase;
@@ -1,8 +1,12 @@
1
1
  import React, { ReactNode } from 'react';
2
2
  import { IFormBase } from './types';
3
- export declare const ContentWrap: StyledComponent<ComponentProps, SpecificComponentProps, JSXProps>;
3
+ export declare const ContentWrap: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
4
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
5
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
4
6
  export interface IFormBottomBarProps<T> extends IFormBase<T> {
5
7
  before?: ReactNode;
6
8
  }
7
9
  export declare function CreateFormBottomBar<T>(): React.FC<IFormBottomBarProps<T>>;
8
- export declare const FormBottomBarWrap: StyledComponent<ComponentProps, SpecificComponentProps, JSXProps>;
10
+ export declare const FormBottomBarWrap: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
11
+ ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
12
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
@@ -32,9 +32,8 @@ export interface IInputFileCsvLocalParserSlots {
32
32
  }
33
33
  export interface IInputFileCsvLocalParserParams extends IInputFileCsvLocalParserSlots {
34
34
  }
35
- export interface IInputFileCsvLocalParserProps<T, C> extends IFormInputBase<T> {
35
+ export interface IInputFileCsvLocalParserProps<T, C> extends IFormInputBase<T, IInputFileCsvLocalParserSlots> {
36
36
  onChange?: (value: C[]) => void;
37
- slots?: IInputFileCsvLocalParserSlots;
38
37
  }
39
38
  export interface IInputFileCsvLocalParserState<C> {
40
39
  parsedData: C[];
@@ -17,8 +17,7 @@ export interface IInputSlots<T> {
17
17
  imageLeft?: InputBaseImage<T>;
18
18
  imageRight?: InputBaseImage<T>;
19
19
  }
20
- export interface IInputProps<T> extends IFormInputBase<T> {
21
- slots?: IInputSlots<T>;
20
+ export interface IInputProps<T> extends IFormInputBase<T, IInputSlots<T>> {
22
21
  }
23
22
  export interface IInputState {
24
23
  value?: string;
@@ -8,10 +8,12 @@ import CreateAutocompleteChip from './create.autocomplete.chips';
8
8
  import { createInputFileCsvLocalParser } from './create.input-file.csv-local-parser';
9
9
  declare class DinoFormBase {
10
10
  ModalWrap: import("react").FC<import("./modal-wrapper").IFormModalWrapperProps>;
11
- BottomBarWrap: StyledComponent<ComponentProps, SpecificComponentProps, JSXProps>;
11
+ BottomBarWrap: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
12
+ ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
13
+ }, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
12
14
  FormValidator: typeof FormValidator;
13
15
  validator: <T>(configs: import("./validator").IFormValidatorConfig<T>) => FormValidator<T>;
14
- createFormBase: <TModel>(param?: import("./create.form-base").FormBaseParam<TModel> | undefined) => import("./create.form-base").FormBaseResult<TModel>;
16
+ createFormBase: <T>(params?: import("./create.form-base").IFormBaseParams<T> | undefined) => import("./create.form-base").IFormBaseResult<T>;
15
17
  createFormComfirm: <T = any>(param?: import("./create.form-comfirm").IFormComfirmParam<T> | undefined) => import("react").ComponentType<import("react").PropsWithChildren<import("./create.form-comfirm").IFormComfirmProps<T>>>;
16
18
  createFormGridLayout: <T>(params: import("./create.form-grid-layout").IFormGridLayoutParams<T>) => import("react").ComponentType<import("./create.form-grid-layout").IFormGridLayoutProps<T>>;
17
19
  createDateExpired: typeof CreateDateExpired;