@economic/taco 1.21.1 → 1.21.3
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.
- package/dist/components/Provider/Localization.d.ts +70 -7
- package/dist/components/Table2/Table2.d.ts +74 -9
- package/dist/components/Table2/Table2.stories.d.ts +0 -1
- package/dist/components/Table2/components/EditModeButton.d.ts +1 -0
- package/dist/components/Table2/components/filters/components/InferredControl.d.ts +1 -1
- package/dist/components/Table2/types.d.ts +7 -4
- package/dist/components/Table2/utilities/columns.d.ts +5 -4
- package/dist/esm/packages/taco/src/components/Provider/Localization.js +70 -7
- package/dist/esm/packages/taco/src/components/Provider/Localization.js.map +1 -1
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js +1 -0
- package/dist/esm/packages/taco/src/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js +1 -1
- package/dist/esm/packages/taco/src/components/Select2/Select2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/Table2.js +17 -6
- package/dist/esm/packages/taco/src/components/Table2/Table2.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js +24 -22
- package/dist/esm/packages/taco/src/components/Table2/components/ColumnSettingsButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js +23 -4
- package/dist/esm/packages/taco/src/components/Table2/components/EditModeButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js +6 -2
- package/dist/esm/packages/taco/src/components/Table2/components/RowDensityButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js +5 -0
- package/dist/esm/packages/taco/src/components/Table2/components/Search.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js +14 -16
- package/dist/esm/packages/taco/src/components/Table2/components/ShortcutsGuideButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js +14 -6
- package/dist/esm/packages/taco/src/components/Table2/components/column/Cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js +6 -2
- package/dist/esm/packages/taco/src/components/Table2/components/column/Footer.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js +10 -12
- package/dist/esm/packages/taco/src/components/Table2/components/column/Indicator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js +10 -5
- package/dist/esm/packages/taco/src/components/Table2/components/filters/FiltersButton.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js +5 -5
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/ColumnFilter.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js +20 -12
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/Comparator.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js +3 -0
- package/dist/esm/packages/taco/src/components/Table2/components/filters/components/InferredControl.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js +4 -3
- package/dist/esm/packages/taco/src/components/Table2/components/row/Row.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js +8 -4
- package/dist/esm/packages/taco/src/components/Table2/hooks/useColumnDefinitions.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js +1 -5
- package/dist/esm/packages/taco/src/components/Table2/hooks/useGridTemplate.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/types.js +2 -0
- package/dist/esm/packages/taco/src/components/Table2/types.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/cell.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js +31 -37
- package/dist/esm/packages/taco/src/components/Table2/utilities/columns.js.map +1 -1
- package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js +4 -0
- package/dist/esm/packages/taco/src/components/Table2/utilities/filterFn.js.map +1 -1
- package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js +2 -1
- package/dist/esm/packages/taco/src/primitives/Collection/components/Root.js.map +1 -1
- package/dist/taco.cjs.development.js +274 -151
- package/dist/taco.cjs.development.js.map +1 -1
- package/dist/taco.cjs.production.min.js +1 -1
- package/dist/taco.cjs.production.min.js.map +1 -1
- package/package.json +2 -2
- package/types.json +316 -9
@@ -122,7 +122,77 @@ export declare const defaultLocalisationTexts: {
|
|
122
122
|
loading: string;
|
123
123
|
};
|
124
124
|
table2: {
|
125
|
+
columns: {
|
126
|
+
actions: {
|
127
|
+
tooltip: string;
|
128
|
+
};
|
129
|
+
drag: {
|
130
|
+
tooltip: string;
|
131
|
+
};
|
132
|
+
expansion: {
|
133
|
+
collapse: string;
|
134
|
+
collapseAll: string;
|
135
|
+
expand: string;
|
136
|
+
expandAll: string;
|
137
|
+
};
|
138
|
+
select: {
|
139
|
+
deselect: string;
|
140
|
+
deselectAll: string;
|
141
|
+
select: string;
|
142
|
+
selectAll: string;
|
143
|
+
};
|
144
|
+
};
|
145
|
+
columnSettings: {
|
146
|
+
columnsOther: string;
|
147
|
+
columnsOtherDrop: string;
|
148
|
+
columnsPinned: string;
|
149
|
+
columnsPinnedDrop: string;
|
150
|
+
search: string;
|
151
|
+
tooltip: string;
|
152
|
+
};
|
153
|
+
editing: {
|
154
|
+
button: string;
|
155
|
+
tooltip: string;
|
156
|
+
tooltipDisabled: string;
|
157
|
+
rowIndicator: {
|
158
|
+
rowWillMove: string;
|
159
|
+
rowWillBeHidden: string;
|
160
|
+
rowWillMoveReasonSearch: string;
|
161
|
+
rowWillMoveReasonFilter: string;
|
162
|
+
rowWillMoveReasonSorting: string;
|
163
|
+
};
|
164
|
+
};
|
165
|
+
filters: {
|
166
|
+
button: string;
|
167
|
+
buttons: {
|
168
|
+
addFilter: string;
|
169
|
+
clearFilters: string;
|
170
|
+
};
|
171
|
+
comparators: {
|
172
|
+
contains: string;
|
173
|
+
doesNotContain: string;
|
174
|
+
isEqualTo: string;
|
175
|
+
isNotEqualTo: string;
|
176
|
+
isGreaterThan: string;
|
177
|
+
isLessThan: string;
|
178
|
+
isBetween: string;
|
179
|
+
isOneOf: string;
|
180
|
+
isNoneOf: string;
|
181
|
+
isAllOf: string;
|
182
|
+
isEmpty: string;
|
183
|
+
isNotEmpty: string;
|
184
|
+
};
|
185
|
+
tooltip: string;
|
186
|
+
total: string;
|
187
|
+
};
|
188
|
+
rowDensity: {
|
189
|
+
tooltip: string;
|
190
|
+
};
|
191
|
+
search: {
|
192
|
+
placeholder: string;
|
193
|
+
};
|
125
194
|
shortcuts: {
|
195
|
+
tooltip: string;
|
126
196
|
search: string;
|
127
197
|
filter: string;
|
128
198
|
previousRow: string;
|
@@ -136,13 +206,6 @@ export declare const defaultLocalisationTexts: {
|
|
136
206
|
expandRow: string;
|
137
207
|
collapseRow: string;
|
138
208
|
};
|
139
|
-
rowIndicator: {
|
140
|
-
rowWillMove: string;
|
141
|
-
rowWillBeFiltered: string;
|
142
|
-
searchFilterMovementReason: string;
|
143
|
-
tableFilterMovementReason: string;
|
144
|
-
sortingMovementReason: string;
|
145
|
-
};
|
146
209
|
};
|
147
210
|
select: {
|
148
211
|
allOptionsSelected: string;
|
@@ -1,7 +1,77 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { Table2Props, Table2ColumnProps, Table2ToolbarProps } from './types';
|
3
3
|
export declare type Table2Texts = {
|
4
|
+
columns: {
|
5
|
+
actions: {
|
6
|
+
tooltip: string;
|
7
|
+
};
|
8
|
+
drag: {
|
9
|
+
tooltip: string;
|
10
|
+
};
|
11
|
+
expansion: {
|
12
|
+
collapse: string;
|
13
|
+
collapseAll: string;
|
14
|
+
expand: string;
|
15
|
+
expandAll: string;
|
16
|
+
};
|
17
|
+
select: {
|
18
|
+
deselect: string;
|
19
|
+
deselectAll: string;
|
20
|
+
select: string;
|
21
|
+
selectAll: string;
|
22
|
+
};
|
23
|
+
};
|
24
|
+
columnSettings: {
|
25
|
+
columnsOther: string;
|
26
|
+
columnsOtherDrop: string;
|
27
|
+
columnsPinned: string;
|
28
|
+
columnsPinnedDrop: string;
|
29
|
+
search: string;
|
30
|
+
tooltip: string;
|
31
|
+
};
|
32
|
+
editing: {
|
33
|
+
button: string;
|
34
|
+
tooltip: string;
|
35
|
+
tooltipDisabled: string;
|
36
|
+
rowIndicator: {
|
37
|
+
rowWillMove: string;
|
38
|
+
rowWillBeHidden: string;
|
39
|
+
rowWillMoveReasonSearch: string;
|
40
|
+
rowWillMoveReasonFilter: string;
|
41
|
+
rowWillMoveReasonSorting: string;
|
42
|
+
};
|
43
|
+
};
|
44
|
+
filters: {
|
45
|
+
button: string;
|
46
|
+
buttons: {
|
47
|
+
addFilter: string;
|
48
|
+
clearFilters: string;
|
49
|
+
};
|
50
|
+
comparators: {
|
51
|
+
contains: string;
|
52
|
+
doesNotContain: string;
|
53
|
+
isEqualTo: string;
|
54
|
+
isNotEqualTo: string;
|
55
|
+
isGreaterThan: string;
|
56
|
+
isLessThan: string;
|
57
|
+
isBetween: string;
|
58
|
+
isOneOf: string;
|
59
|
+
isNoneOf: string;
|
60
|
+
isAllOf: string;
|
61
|
+
isEmpty: string;
|
62
|
+
isNotEmpty: string;
|
63
|
+
};
|
64
|
+
tooltip: string;
|
65
|
+
total: string;
|
66
|
+
};
|
67
|
+
rowDensity: {
|
68
|
+
tooltip: string;
|
69
|
+
};
|
70
|
+
search: {
|
71
|
+
placeholder: string;
|
72
|
+
};
|
4
73
|
shortcuts: {
|
74
|
+
tooltip: string;
|
5
75
|
search: string;
|
6
76
|
filter: string;
|
7
77
|
previousRow: string;
|
@@ -15,18 +85,13 @@ export declare type Table2Texts = {
|
|
15
85
|
expandRow: string;
|
16
86
|
collapseRow: string;
|
17
87
|
};
|
18
|
-
rowIndicator: {
|
19
|
-
rowWillMove: string;
|
20
|
-
rowWillBeFiltered: string;
|
21
|
-
searchFilterMovementReason: string;
|
22
|
-
tableFilterMovementReason: string;
|
23
|
-
sortingMovementReason: string;
|
24
|
-
};
|
25
88
|
};
|
26
89
|
export declare type ForwardedTable2WithStatics = React.ForwardRefExoticComponent<Table2Props<any>> & {
|
27
|
-
Column:
|
90
|
+
Column: <TType>(props: Table2ColumnProps<TType>) => JSX.Element | null;
|
28
91
|
Toolbar: React.FunctionComponent<Table2ToolbarProps>;
|
29
|
-
}
|
92
|
+
} & (<TType>(props: Table2Props<TType> & {
|
93
|
+
ref?: React.Ref<HTMLDivElement>;
|
94
|
+
}) => JSX.Element);
|
30
95
|
declare const Table2: ForwardedTable2WithStatics;
|
31
96
|
export { Table2 };
|
32
97
|
export type { Table2Props };
|
@@ -37,7 +37,6 @@ export declare const SearchControlled: () => JSX.Element;
|
|
37
37
|
export declare const ActiveRow: () => JSX.Element;
|
38
38
|
export declare const ActiveRowDefault: () => JSX.Element;
|
39
39
|
export declare const InlineEditing: () => JSX.Element;
|
40
|
-
export declare const InlineEditingWithDisabledColumnFields: () => JSX.Element;
|
41
40
|
export declare const InlineEditingWithCustomColumnFields: () => JSX.Element;
|
42
41
|
export declare const InlineEditingWithValidation: () => JSX.Element;
|
43
42
|
export declare const InlineEditingControlled: () => JSX.Element;
|
@@ -6,5 +6,5 @@ declare type InferredControlProps = {
|
|
6
6
|
comparator: Table2FilterComparator;
|
7
7
|
value: any | any[];
|
8
8
|
};
|
9
|
-
export declare const InferredControl: ({ column, comparator, value }: InferredControlProps) => JSX.Element;
|
9
|
+
export declare const InferredControl: ({ column, comparator, value }: InferredControlProps) => JSX.Element | null;
|
10
10
|
export {};
|
@@ -13,7 +13,9 @@ export declare enum Table2FilterComparator {
|
|
13
13
|
IsBetween = 6,
|
14
14
|
IsOneOf = 7,
|
15
15
|
IsNoneOf = 8,
|
16
|
-
IsAllOf = 9
|
16
|
+
IsAllOf = 9,
|
17
|
+
IsEmpty = 10,
|
18
|
+
IsNotEmpty = 11
|
17
19
|
}
|
18
20
|
export declare type Table2Filter<TType = any> = {
|
19
21
|
comparator?: Table2FilterComparator;
|
@@ -29,15 +31,16 @@ export declare type Table2ColumnHeaderRenderer<TType = any> = (value: any, row:
|
|
29
31
|
export declare type Table2ColumnHeaderMenu = (props: Partial<MenuProps>) => JSX.Element;
|
30
32
|
export declare type Table2ColumnFooterRenderer = (values: any[]) => JSX.Element | string | null;
|
31
33
|
export declare type Table2ColumnControlProps = {
|
34
|
+
className?: string;
|
35
|
+
disabled?: boolean;
|
36
|
+
invalid?: boolean;
|
32
37
|
onBlur: (newValue?: any) => Promise<void>;
|
33
38
|
onFocus: React.FocusEventHandler;
|
39
|
+
readOnly?: boolean;
|
34
40
|
ref: React.RefObject<HTMLElement>;
|
35
41
|
setValue: (value: any) => void;
|
36
42
|
value: any;
|
37
|
-
disabled?: boolean;
|
38
|
-
readOnly?: boolean;
|
39
43
|
'data-inline-editing-component'?: 'true';
|
40
|
-
className?: string;
|
41
44
|
};
|
42
45
|
export declare type Table2ColumnControlRenderer<TType = any> = ((props: Table2ColumnControlProps, row?: TType) => JSX.Element) | 'datepicker' | 'input' | 'switch';
|
43
46
|
export declare type Table2ColumnProps<TType = any> = {
|
@@ -1,13 +1,14 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { DisplayColumnDef } from '@tanstack/react-table';
|
3
3
|
import { RowDragHandler } from '../types';
|
4
|
+
import { LocalizationTexts } from '../../Provider/Localization';
|
4
5
|
export declare const COLUMN_ID_FOR_DRAGGABLE = "__draggable";
|
5
6
|
export declare const COLUMN_ID_FOR_SELECTION = "__select";
|
6
7
|
export declare const COLUMN_ID_FOR_EXPANSION = "__expansion";
|
7
8
|
export declare const COLUMN_ID_FOR_ACTIONS = "__actions";
|
8
9
|
export declare const isInternalColumn: (id: string) => boolean;
|
9
10
|
export declare const MIN_COLUMN_SIZE = 80;
|
10
|
-
export declare function createRowDraggableColumn<TType = any>(onRowDrag: RowDragHandler<TType
|
11
|
-
export declare function createRowSelectionColumn<TType = any>(enableMultipleRowSelection: boolean, lastSelectedRowIndex: React.MutableRefObject<number | undefined>, onRowDrag: RowDragHandler<TType> | undefined, tableRef: React.RefObject<HTMLDivElement
|
12
|
-
export declare function createRowExpansionColumn<TType = any>(): DisplayColumnDef<TType, any>;
|
13
|
-
export declare function createRowActionsColumn<TType = any>(rowActions: any): DisplayColumnDef<TType, any>;
|
11
|
+
export declare function createRowDraggableColumn<TType = any>(onRowDrag: RowDragHandler<TType>, texts: LocalizationTexts): DisplayColumnDef<TType, any>;
|
12
|
+
export declare function createRowSelectionColumn<TType = any>(enableMultipleRowSelection: boolean, lastSelectedRowIndex: React.MutableRefObject<number | undefined>, onRowDrag: RowDragHandler<TType> | undefined, tableRef: React.RefObject<HTMLDivElement>, texts: LocalizationTexts): DisplayColumnDef<TType, any>;
|
13
|
+
export declare function createRowExpansionColumn<TType = any>(texts: LocalizationTexts): DisplayColumnDef<TType, any>;
|
14
|
+
export declare function createRowActionsColumn<TType = any>(rowActions: any, texts: LocalizationTexts): DisplayColumnDef<TType, any>;
|
@@ -61,7 +61,77 @@ const defaultLocalisationTexts = {
|
|
61
61
|
loading: 'Loading...'
|
62
62
|
},
|
63
63
|
table2: {
|
64
|
+
columns: {
|
65
|
+
actions: {
|
66
|
+
tooltip: 'Other actions'
|
67
|
+
},
|
68
|
+
drag: {
|
69
|
+
tooltip: 'Drag row'
|
70
|
+
},
|
71
|
+
expansion: {
|
72
|
+
collapse: 'Collapse row',
|
73
|
+
collapseAll: 'Collapse all rows',
|
74
|
+
expand: 'Expand row',
|
75
|
+
expandAll: 'Expand all rows'
|
76
|
+
},
|
77
|
+
select: {
|
78
|
+
deselect: 'Deselect row',
|
79
|
+
deselectAll: 'Deselect all rows',
|
80
|
+
select: 'Select row',
|
81
|
+
selectAll: 'Select all rows'
|
82
|
+
}
|
83
|
+
},
|
84
|
+
columnSettings: {
|
85
|
+
columnsOther: 'Pinned columns',
|
86
|
+
columnsOtherDrop: 'Drop column here to unpin',
|
87
|
+
columnsPinned: 'Other columns',
|
88
|
+
columnsPinnedDrop: 'Drop column here to pin',
|
89
|
+
search: 'Search column...',
|
90
|
+
tooltip: 'Column settings'
|
91
|
+
},
|
92
|
+
editing: {
|
93
|
+
button: 'Edit',
|
94
|
+
tooltip: 'Edit',
|
95
|
+
tooltipDisabled: 'There are no visible columns that support editing',
|
96
|
+
rowIndicator: {
|
97
|
+
rowWillMove: 'Row will move due to sorting',
|
98
|
+
rowWillBeHidden: 'Row will hide due to filtering',
|
99
|
+
rowWillMoveReasonSearch: 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',
|
100
|
+
rowWillMoveReasonFilter: "Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row",
|
101
|
+
rowWillMoveReasonSorting: "Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row"
|
102
|
+
}
|
103
|
+
},
|
104
|
+
filters: {
|
105
|
+
button: 'Filters',
|
106
|
+
buttons: {
|
107
|
+
addFilter: 'Add Filter',
|
108
|
+
clearFilters: 'Clear all filters'
|
109
|
+
},
|
110
|
+
comparators: {
|
111
|
+
contains: 'Contains',
|
112
|
+
doesNotContain: 'Does not contain',
|
113
|
+
isEqualTo: 'Is',
|
114
|
+
isNotEqualTo: 'Is not',
|
115
|
+
isGreaterThan: 'Is greater than',
|
116
|
+
isLessThan: 'Is less than',
|
117
|
+
isBetween: 'Is between',
|
118
|
+
isOneOf: 'Is one of',
|
119
|
+
isNoneOf: 'Is none of',
|
120
|
+
isAllOf: 'Is all of',
|
121
|
+
isEmpty: 'Is empty',
|
122
|
+
isNotEmpty: 'Is not empty'
|
123
|
+
},
|
124
|
+
tooltip: 'Apply filters',
|
125
|
+
total: 'Viewing [CURRENT] of [TOTAL]'
|
126
|
+
},
|
127
|
+
rowDensity: {
|
128
|
+
tooltip: 'Row density'
|
129
|
+
},
|
130
|
+
search: {
|
131
|
+
placeholder: 'Search...'
|
132
|
+
},
|
64
133
|
shortcuts: {
|
134
|
+
tooltip: 'View keyboard shortcuts',
|
65
135
|
search: 'Search',
|
66
136
|
filter: 'Filter',
|
67
137
|
previousRow: 'Previous row',
|
@@ -74,13 +144,6 @@ const defaultLocalisationTexts = {
|
|
74
144
|
selectAllRows: 'Select all rows',
|
75
145
|
expandRow: 'Expand current row',
|
76
146
|
collapseRow: 'Collapse current row'
|
77
|
-
},
|
78
|
-
rowIndicator: {
|
79
|
-
rowWillMove: 'Row will move due to sorting',
|
80
|
-
rowWillBeFiltered: 'Row will hide due to filtering',
|
81
|
-
searchFilterMovementReason: 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',
|
82
|
-
tableFilterMovementReason: "Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row",
|
83
|
-
sortingMovementReason: "Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row"
|
84
147
|
}
|
85
148
|
},
|
86
149
|
select: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { TableTexts } from '../Table/Table';\nimport { Table2Texts } from '../Table2/Table2';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table2](component:table2) component */\n table2: Table2Texts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n hanger: {\n close: 'Close',\n },\n banner: {\n close: 'Close',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n table: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table2: {\n shortcuts: {\n search: 'Search',\n filter: 'Filter',\n previousRow: 'Previous row',\n nextRow: 'Next row',\n editCell: 'Edit cell',\n previousColumn: 'Previous column',\n nextColumn: 'Next column',\n rowClick: 'Activate current row',\n selectRow: 'Select current row',\n selectAllRows: 'Select all rows',\n expandRow: 'Expand current row',\n collapseRow: 'Collapse current row',\n },\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeFiltered: 'Row will hide due to filtering',\n searchFilterMovementReason:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n tableFilterMovementReason:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n sortingMovementReason:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n};\n\nconst defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization || defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","calendar","months","weekdaysShort","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","hanger","close","banner","listbox","loading","empty","allOption","dialog","drag","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","table","edit","copy","del","newSubRow","table2","search","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","rowIndicator","rowWillMove","rowWillBeFiltered","searchFilterMovementReason","tableFilterMovementReason","sortingMovementReason","select","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","searchInput","button","placeholder","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Localization.js","sources":["../../../../../../../src/components/Provider/Localization.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Locale } from '../../types';\nimport { CalendarTexts } from '../Calendar/Calendar';\nimport { ComboboxTexts } from '../Combobox/Combobox';\nimport { DialogTexts } from '../Dialog/Dialog';\nimport { PaginationTexts } from '../Pagination/Pagination';\nimport { ListboxTexts } from '../Listbox/Listbox';\nimport { ToastsTexts } from '../Toast/Toast';\nimport { DatepickerTexts } from '../Datepicker/Datepicker';\nimport { HangerTexts } from '../Hanger/Hanger';\nimport { SelectTexts } from '../Select/Select';\nimport { TourTexts } from '../Tour/Tour';\nimport { TableTexts } from '../Table/Table';\nimport { Table2Texts } from '../Table2/Table2';\nimport { SearchInputTexts } from '../SearchInput/SearchInput';\nimport { Select2Texts } from '../Select2/Select2';\nimport { BannerTexts } from '../Banner/Banner';\n\nexport type LocalizationTexts = {\n /** Localized texts and aria-labels for [Calendar](component:calendar) component */\n calendar: CalendarTexts;\n /** Localized texts and aria-labels for [Combobox](component:combobox) component */\n combobox: ComboboxTexts;\n /** Localized texts and aria-labels for [DatePicker](component:datepicker) component */\n datepicker: DatepickerTexts;\n /** Localized texts and aria-labels for [Hanger](component:hanger) component */\n hanger: HangerTexts;\n /** Localized texts and aria-labels for [Banner](component:banner) component */\n banner: BannerTexts;\n /** Localized texts and aria-labels for [Listbox](component:listbox) component */\n listbox: ListboxTexts;\n /** Localized texts and aria-labels for [Dialog](component:dialog) component */\n dialog: DialogTexts;\n /** Localized texts and aria-labels for [Pagination](component:pagination) component */\n pagination: PaginationTexts;\n /** Localized texts and aria-labels for [Table](component:table) component */\n table: TableTexts;\n /** Localized texts and aria-labels for [Table2](component:table2) component */\n table2: Table2Texts;\n /** Localized texts and aria-labels for [Select](component:select) component */\n select: SelectTexts;\n /** Localized texts and aria-labels for [Select2](component:select2) component */\n select2: Select2Texts;\n /** Localized texts and aria-labels for [Toast](component:toast) component */\n toasts: ToastsTexts;\n /** Localized texts and aria-labels for [Tour](component:tour) component */\n tour: TourTexts;\n /** Localized texts and aria-labels for [SearchInput](component:searchinput) component */\n searchInput: SearchInputTexts;\n};\n\nexport type Localization = {\n /**\n * Provide the language code used in application.\n * Default value is `en-GB`\n */\n locale: Locale;\n /** Provide the texts and aria-labels for components used within the provider */\n texts: LocalizationTexts;\n /** Provide the formatting */\n formatting: {\n /** Default value is `dd.mm.yy` */\n date: string;\n };\n};\n\nexport const defaultLocalisationTexts = {\n calendar: {\n months: [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ],\n weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n actions: {\n previousMonth: 'Previous month',\n nextMonth: 'Next month',\n previousYear: 'Previous year',\n nextYear: 'Next year',\n today: 'Today',\n },\n },\n combobox: {\n tooltip: 'Search in list',\n },\n datepicker: {\n calendar: 'Calendar',\n clear: 'Clear',\n expand: 'Show calendar',\n shortcuts: 'Shortcuts',\n },\n hanger: {\n close: 'Close',\n },\n banner: {\n close: 'Close',\n },\n listbox: {\n loading: 'Loading results...',\n empty: 'No results found',\n allOption: 'All',\n },\n dialog: {\n close: 'Close',\n drag: 'Drag',\n },\n pagination: {\n label: 'Pagination',\n pageSize: 'Items per page',\n showingXofYofTotal: 'Showing [X] - [Y] of [total]',\n actions: {\n firstPage: 'Goto first page',\n firstPageWithShortcut: 'Goto first page (Home)',\n previousPage: 'Goto previous page',\n previousPageWithShortcut: 'Goto previous page (Page Up)',\n nextPage: 'Goto next page',\n nextPageWithShortcut: 'Goto next page (Page Down)',\n lastPage: 'Goto last page',\n lastPageWithShortcut: 'Goto last page (End)',\n pageX: 'Goto page [X]',\n },\n },\n table: {\n actions: 'Other actions',\n edit: 'Edit (e)',\n copy: 'Copy (c)',\n del: 'Delete (del)',\n newSubRow: 'New row (shift + n)',\n loading: 'Loading...',\n },\n table2: {\n columns: {\n actions: {\n tooltip: 'Other actions',\n },\n drag: {\n tooltip: 'Drag row',\n },\n expansion: {\n collapse: 'Collapse row',\n collapseAll: 'Collapse all rows',\n expand: 'Expand row',\n expandAll: 'Expand all rows',\n },\n select: {\n deselect: 'Deselect row',\n deselectAll: 'Deselect all rows',\n select: 'Select row',\n selectAll: 'Select all rows',\n },\n },\n columnSettings: {\n columnsOther: 'Pinned columns',\n columnsOtherDrop: 'Drop column here to unpin',\n columnsPinned: 'Other columns',\n columnsPinnedDrop: 'Drop column here to pin',\n search: 'Search column...',\n tooltip: 'Column settings',\n },\n editing: {\n button: 'Edit',\n tooltip: 'Edit',\n tooltipDisabled: 'There are no visible columns that support editing',\n rowIndicator: {\n rowWillMove: 'Row will move due to sorting',\n rowWillBeHidden: 'Row will hide due to filtering',\n rowWillMoveReasonSearch:\n 'Due to a search filter applied to this table, this row will be hidden as soon as you select another row',\n rowWillMoveReasonFilter:\n \"Due to a filter applied to the column '[COLUMN]', this row will be hidden as soon as you select another row\",\n rowWillMoveReasonSorting:\n \"Due to sorting applied to the column '[COLUMN]', this row will move position as soon as you select another row\",\n },\n },\n filters: {\n button: 'Filters',\n buttons: {\n addFilter: 'Add Filter',\n clearFilters: 'Clear all filters',\n },\n comparators: {\n contains: 'Contains',\n doesNotContain: 'Does not contain',\n isEqualTo: 'Is',\n isNotEqualTo: 'Is not',\n isGreaterThan: 'Is greater than',\n isLessThan: 'Is less than',\n isBetween: 'Is between',\n isOneOf: 'Is one of',\n isNoneOf: 'Is none of',\n isAllOf: 'Is all of',\n isEmpty: 'Is empty',\n isNotEmpty: 'Is not empty',\n },\n tooltip: 'Apply filters',\n total: 'Viewing [CURRENT] of [TOTAL]',\n },\n rowDensity: {\n tooltip: 'Row density',\n },\n search: {\n placeholder: 'Search...',\n },\n shortcuts: {\n tooltip: 'View keyboard shortcuts',\n search: 'Search',\n filter: 'Filter',\n previousRow: 'Previous row',\n nextRow: 'Next row',\n editCell: 'Edit cell',\n previousColumn: 'Previous column',\n nextColumn: 'Next column',\n rowClick: 'Activate current row',\n selectRow: 'Select current row',\n selectAllRows: 'Select all rows',\n expandRow: 'Expand current row',\n collapseRow: 'Collapse current row',\n },\n },\n select: {\n allOptionsSelected: 'All',\n },\n select2: {\n allSelect: 'Select all',\n allDeselect: 'Deselect all',\n cancel: 'Cancel',\n chooseColor: 'Pick a color',\n create: 'Create',\n delete: 'Delete',\n save: 'Save',\n search: 'Search...',\n searchOrCreate: 'Search or create...',\n },\n toasts: {\n dismiss: 'Dismiss',\n },\n tour: {\n back: 'Back',\n close: 'Close',\n skip: 'Close and complete',\n last: 'Done',\n next: 'Next',\n open: 'Open',\n },\n searchInput: {\n button: 'Search',\n placeholder: 'Search...',\n clear: 'Clear',\n },\n};\n\nconst defaultLocalizationContext: Localization = {\n locale: 'en-GB',\n texts: defaultLocalisationTexts,\n formatting: {\n date: 'dd.mm.yy',\n },\n};\n\nexport const LocalizationContext = React.createContext<Localization>(defaultLocalizationContext);\nexport interface LocalizationProviderProps {\n children: React.ReactNode;\n localization?: Localization;\n}\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({ localization, children }) => {\n return (\n <LocalizationContext.Provider value={localization || defaultLocalizationContext}>{children}</LocalizationContext.Provider>\n );\n};\n\nexport const useLocalization = () => React.useContext(LocalizationContext);\n"],"names":["defaultLocalisationTexts","calendar","months","weekdaysShort","actions","previousMonth","nextMonth","previousYear","nextYear","today","combobox","tooltip","datepicker","clear","expand","shortcuts","hanger","close","banner","listbox","loading","empty","allOption","dialog","drag","pagination","label","pageSize","showingXofYofTotal","firstPage","firstPageWithShortcut","previousPage","previousPageWithShortcut","nextPage","nextPageWithShortcut","lastPage","lastPageWithShortcut","pageX","table","edit","copy","del","newSubRow","table2","columns","expansion","collapse","collapseAll","expandAll","select","deselect","deselectAll","selectAll","columnSettings","columnsOther","columnsOtherDrop","columnsPinned","columnsPinnedDrop","search","editing","button","tooltipDisabled","rowIndicator","rowWillMove","rowWillBeHidden","rowWillMoveReasonSearch","rowWillMoveReasonFilter","rowWillMoveReasonSorting","filters","buttons","addFilter","clearFilters","comparators","contains","doesNotContain","isEqualTo","isNotEqualTo","isGreaterThan","isLessThan","isBetween","isOneOf","isNoneOf","isAllOf","isEmpty","isNotEmpty","total","rowDensity","placeholder","filter","previousRow","nextRow","editCell","previousColumn","nextColumn","rowClick","selectRow","selectAllRows","expandRow","collapseRow","allOptionsSelected","select2","allSelect","allDeselect","cancel","chooseColor","create","delete","save","searchOrCreate","toasts","dismiss","tour","back","skip","last","next","open","searchInput","defaultLocalizationContext","locale","texts","formatting","date","LocalizationContext","React","LocalizationProvider","localization","children","Provider","value","useLocalization"],"mappings":"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"}
|
@@ -48,6 +48,7 @@ const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
|
|
48
48
|
className: "group-peer-focus:!border-transparent group-peer-focus:group-peer-active:!border-transparent -mr-2 !border-transparent !bg-transparent focus:!border-transparent",
|
49
49
|
disabled: props.disabled || props.readOnly,
|
50
50
|
onClick: handleClick,
|
51
|
+
tabIndex: -1,
|
51
52
|
tooltip: texts.searchInput.button
|
52
53
|
})),
|
53
54
|
ref: internalRef,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SearchInput.js","sources":["../../../../../../../src/components/SearchInput/SearchInput.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input, InputProps } from '../Input/Input';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef } from '../../utils/input';\n\nexport type SearchInputTexts = {\n button: string;\n clear: string;\n placeholder: string;\n};\n\nexport type SearchInputProps = Omit<InputProps, 'button' | 'icon' | 'prefix' | 'postfix'> & {\n /** Current input value will be passed to the method. In order to get the value, the component must be controlled otherwise value will always be undefined */\n onSearch?: (value: string | number | readonly string[] | undefined) => void;\n};\n\nexport const SearchInput = React.forwardRef(function SearchInput(\n { onSearch, ...props }: SearchInputProps,\n ref: React.Ref<HTMLInputElement>\n) {\n const internalRef = useMergedRef<HTMLInputElement>(ref);\n const { texts } = useLocalization();\n\n const handleClick = (): void => {\n onSearch?.(internalRef.current?.value ?? '');\n };\n\n const handleCancelClick = (): void => {\n setInputValueByRef(internalRef.current, '');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n if (event.key === 'Enter') {\n event.preventDefault();\n handleClick();\n return;\n }\n\n props.onKeyDown?.(event);\n };\n\n return (\n <Input\n aria-label={texts.searchInput.placeholder}\n placeholder={texts.searchInput.placeholder}\n {...props}\n onKeyDown={handleKeyDown}\n postfix={\n <>\n {props.disabled || props.readOnly || !props.value ? null : (\n <IconButton\n aria-hidden\n className=\"group-peer-focus:visible group-peer-hover:visible !text-grey-700 invisible mr-0.5 !h-5 !min-h-[theme(spacing.4)] !w-5 !min-w-[theme(spacing.4)] text-xs hover:visible group-hover:visible\"\n icon=\"close\"\n onClick={handleCancelClick}\n rounded\n tabIndex={-1}\n tooltip={texts.searchInput.clear}\n />\n )}\n <IconButton\n aria-label={texts.searchInput.button}\n icon=\"search\"\n className=\"group-peer-focus:!border-transparent group-peer-focus:group-peer-active:!border-transparent -mr-2 !border-transparent !bg-transparent focus:!border-transparent\"\n disabled={props.disabled || props.readOnly}\n onClick={handleClick}\n tooltip={texts.searchInput.button}\n />\n </>\n }\n ref={internalRef}\n type=\"search\"\n />\n );\n});\n"],"names":["SearchInput","React","onSearch","props","ref","internalRef","useMergedRef","texts","useLocalization","handleClick","current","value","handleCancelClick","setInputValueByRef","handleKeyDown","event","key","preventDefault","onKeyDown","Input","searchInput","placeholder","postfix","disabled","readOnly","IconButton","className","icon","onClick","rounded","tabIndex","tooltip","clear","button","type"],"mappings":";;;;;;;MAkBaA,WAAW,gBAAGC,UAAgB,CAAC,SAASD,WAAW,CAC5D;EAAEE,QAAQ;EAAE,GAAGC;CAAyB,EACxCC,GAAgC;EAEhC,MAAMC,WAAW,GAAGC,YAAY,CAAmBF,GAAG,CAAC;EACvD,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EAEnC,MAAMC,WAAW,GAAG;;IAChBP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,kDAAGG,WAAW,CAACK,OAAO,yDAAnB,qBAAqBC,KAAK,yEAAI,EAAE,CAAC;GAC/C;EAED,MAAMC,iBAAiB,GAAG;IACtBC,kBAAkB,CAACR,WAAW,CAACK,OAAO,EAAE,EAAE,CAAC;GAC9C;EAED,MAAMI,aAAa,GAAIC,KAA4C;;IAC/D,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE;MACvBD,KAAK,CAACE,cAAc,EAAE;MACtBR,WAAW,EAAE;MACb;;IAGJ,oBAAAN,KAAK,CAACe,SAAS,qDAAf,sBAAAf,KAAK,EAAaY,KAAK,CAAC;GAC3B;EAED,oBACId,cAACkB,KAAK;kBACUZ,KAAK,CAACa,WAAW,CAACC,WAAW;IACzCA,WAAW,EAAEd,KAAK,CAACa,WAAW,CAACC;KAC3BlB,KAAK;IACTe,SAAS,EAAEJ,aAAa;IACxBQ,OAAO,eACHrB,8BACKE,KAAK,CAACoB,QAAQ,IAAIpB,KAAK,CAACqB,QAAQ,IAAI,CAACrB,KAAK,CAACQ,KAAK,GAAG,IAAI,gBACpDV,cAACwB,UAAU;;MAEPC,SAAS,EAAC,2LAA2L;MACrMC,IAAI,EAAC,OAAO;MACZC,OAAO,EAAEhB,iBAAiB;MAC1BiB,OAAO;MACPC,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAExB,KAAK,CAACa,WAAW,CAACY;MAElC,eACD/B,cAACwB,UAAU;oBACKlB,KAAK,CAACa,WAAW,CAACa,MAAM;MACpCN,IAAI,EAAC,QAAQ;MACbD,SAAS,EAAC,iKAAiK;MAC3KH,QAAQ,EAAEpB,KAAK,CAACoB,QAAQ,IAAIpB,KAAK,CAACqB,QAAQ;MAC1CI,OAAO,EAAEnB,WAAW;
|
1
|
+
{"version":3,"file":"SearchInput.js","sources":["../../../../../../../src/components/SearchInput/SearchInput.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input, InputProps } from '../Input/Input';\nimport { useLocalization } from '../Provider/Localization';\nimport { IconButton } from '../IconButton/IconButton';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { setInputValueByRef } from '../../utils/input';\n\nexport type SearchInputTexts = {\n button: string;\n clear: string;\n placeholder: string;\n};\n\nexport type SearchInputProps = Omit<InputProps, 'button' | 'icon' | 'prefix' | 'postfix'> & {\n /** Current input value will be passed to the method. In order to get the value, the component must be controlled otherwise value will always be undefined */\n onSearch?: (value: string | number | readonly string[] | undefined) => void;\n};\n\nexport const SearchInput = React.forwardRef(function SearchInput(\n { onSearch, ...props }: SearchInputProps,\n ref: React.Ref<HTMLInputElement>\n) {\n const internalRef = useMergedRef<HTMLInputElement>(ref);\n const { texts } = useLocalization();\n\n const handleClick = (): void => {\n onSearch?.(internalRef.current?.value ?? '');\n };\n\n const handleCancelClick = (): void => {\n setInputValueByRef(internalRef.current, '');\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n if (event.key === 'Enter') {\n event.preventDefault();\n handleClick();\n return;\n }\n\n props.onKeyDown?.(event);\n };\n\n return (\n <Input\n aria-label={texts.searchInput.placeholder}\n placeholder={texts.searchInput.placeholder}\n {...props}\n onKeyDown={handleKeyDown}\n postfix={\n <>\n {props.disabled || props.readOnly || !props.value ? null : (\n <IconButton\n aria-hidden\n className=\"group-peer-focus:visible group-peer-hover:visible !text-grey-700 invisible mr-0.5 !h-5 !min-h-[theme(spacing.4)] !w-5 !min-w-[theme(spacing.4)] text-xs hover:visible group-hover:visible\"\n icon=\"close\"\n onClick={handleCancelClick}\n rounded\n tabIndex={-1}\n tooltip={texts.searchInput.clear}\n />\n )}\n <IconButton\n aria-label={texts.searchInput.button}\n icon=\"search\"\n className=\"group-peer-focus:!border-transparent group-peer-focus:group-peer-active:!border-transparent -mr-2 !border-transparent !bg-transparent focus:!border-transparent\"\n disabled={props.disabled || props.readOnly}\n onClick={handleClick}\n tabIndex={-1}\n tooltip={texts.searchInput.button}\n />\n </>\n }\n ref={internalRef}\n type=\"search\"\n />\n );\n});\n"],"names":["SearchInput","React","onSearch","props","ref","internalRef","useMergedRef","texts","useLocalization","handleClick","current","value","handleCancelClick","setInputValueByRef","handleKeyDown","event","key","preventDefault","onKeyDown","Input","searchInput","placeholder","postfix","disabled","readOnly","IconButton","className","icon","onClick","rounded","tabIndex","tooltip","clear","button","type"],"mappings":";;;;;;;MAkBaA,WAAW,gBAAGC,UAAgB,CAAC,SAASD,WAAW,CAC5D;EAAEE,QAAQ;EAAE,GAAGC;CAAyB,EACxCC,GAAgC;EAEhC,MAAMC,WAAW,GAAGC,YAAY,CAAmBF,GAAG,CAAC;EACvD,MAAM;IAAEG;GAAO,GAAGC,eAAe,EAAE;EAEnC,MAAMC,WAAW,GAAG;;IAChBP,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,kDAAGG,WAAW,CAACK,OAAO,yDAAnB,qBAAqBC,KAAK,yEAAI,EAAE,CAAC;GAC/C;EAED,MAAMC,iBAAiB,GAAG;IACtBC,kBAAkB,CAACR,WAAW,CAACK,OAAO,EAAE,EAAE,CAAC;GAC9C;EAED,MAAMI,aAAa,GAAIC,KAA4C;;IAC/D,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE;MACvBD,KAAK,CAACE,cAAc,EAAE;MACtBR,WAAW,EAAE;MACb;;IAGJ,oBAAAN,KAAK,CAACe,SAAS,qDAAf,sBAAAf,KAAK,EAAaY,KAAK,CAAC;GAC3B;EAED,oBACId,cAACkB,KAAK;kBACUZ,KAAK,CAACa,WAAW,CAACC,WAAW;IACzCA,WAAW,EAAEd,KAAK,CAACa,WAAW,CAACC;KAC3BlB,KAAK;IACTe,SAAS,EAAEJ,aAAa;IACxBQ,OAAO,eACHrB,8BACKE,KAAK,CAACoB,QAAQ,IAAIpB,KAAK,CAACqB,QAAQ,IAAI,CAACrB,KAAK,CAACQ,KAAK,GAAG,IAAI,gBACpDV,cAACwB,UAAU;;MAEPC,SAAS,EAAC,2LAA2L;MACrMC,IAAI,EAAC,OAAO;MACZC,OAAO,EAAEhB,iBAAiB;MAC1BiB,OAAO;MACPC,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAExB,KAAK,CAACa,WAAW,CAACY;MAElC,eACD/B,cAACwB,UAAU;oBACKlB,KAAK,CAACa,WAAW,CAACa,MAAM;MACpCN,IAAI,EAAC,QAAQ;MACbD,SAAS,EAAC,iKAAiK;MAC3KH,QAAQ,EAAEpB,KAAK,CAACoB,QAAQ,IAAIpB,KAAK,CAACqB,QAAQ;MAC1CI,OAAO,EAAEnB,WAAW;MACpBqB,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAExB,KAAK,CAACa,WAAW,CAACa;MAC7B,CACH;IAEP7B,GAAG,EAAEC,WAAW;IAChB6B,IAAI,EAAC;KACP;AAEV,CAAC;;;;"}
|
@@ -104,7 +104,7 @@ const Select2 = /*#__PURE__*/React__default.forwardRef(function Select2(props, r
|
|
104
104
|
var _listboxRef$current;
|
105
105
|
if (open) {
|
106
106
|
event.preventDefault();
|
107
|
-
} else if (event.key === 'ArrowDown'
|
107
|
+
} else if (event.key === 'ArrowDown') {
|
108
108
|
setOpen(true);
|
109
109
|
}
|
110
110
|
// the focus should always remain on the input, so we forward events on to the listbox
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Select2.js","sources":["../../../../../../../src/components/Select2/Select2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as ListboxPrimitive from '../../primitives/Listbox2/Listbox2';\nimport { Select2OptionValue, Select2Value } from './types';\nimport { Option, Select2OptionProps } from './components/Option';\nimport { Group, Select2GroupProps } from './components/Group';\nimport { Select2TitleProps, Title } from './components/Title';\nimport { Select2Context } from './components/Context';\nimport { createCollectionClassName } from './utilities';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener';\nimport { createCustomKeyboardEvent } from '../../utils/input';\nimport { Trigger } from './components/Trigger';\nimport { useIsFormControl } from '../../hooks/useIsFormControl';\nimport { BubbleSelect } from '../../primitives/BubbleSelect';\nimport { Search } from './components/Search';\nimport { useChildren } from './hooks/useChildren';\nimport { Color } from '../../utils/colors';\nimport { Create } from './components/Create';\nimport { Collection } from './components/Collection';\nimport { CollectionRef } from '../../primitives/Collection/Collection';\nimport { useLocalization } from '../Provider/Localization';\n//import { All } from './components/All';\n\ntype Select2Texts = {\n allSelect: string;\n allDeselect: string;\n cancel: string;\n chooseColor: string;\n create: string;\n delete: string;\n save: string;\n search: string;\n searchOrCreate: string;\n};\n\ntype Select2Props = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n autoFocus?: boolean;\n children: React.ReactElement<Select2OptionProps>[];\n defaultValue?: Select2Value;\n emptyValue?: Select2OptionValue;\n disabled?: boolean;\n disableSearch?: boolean;\n highlighted?: boolean;\n invalid?: boolean;\n multiple?: boolean;\n name?: string;\n onChange?: (value: Select2Value) => void;\n onCreate?: (name: string, color: Color | undefined) => Promise<Select2OptionProps>;\n onDelete?: (value: Select2OptionValue) => Promise<void>;\n onEdit?: (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void>;\n readOnly?: boolean;\n required?: boolean;\n tags?: boolean;\n value?: Select2Value;\n};\ntype Select2PropsWithStatics = React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLButtonElement>> & {\n Option: React.ForwardRefExoticComponent<Select2OptionProps>;\n Group: React.ForwardRefExoticComponent<Select2GroupProps>;\n Title: React.ForwardRefExoticComponent<Select2TitleProps>;\n};\n\nconst Select2 = React.forwardRef<HTMLButtonElement, Select2Props>(function Select2(props, ref) {\n const {\n children: initialChildren,\n defaultValue: defaultProp,\n disabled = false,\n disableSearch = false,\n emptyValue = undefined,\n highlighted = false,\n invalid = false,\n multiple = false,\n name,\n onChange,\n onCreate,\n onDelete,\n onEdit,\n readOnly = false,\n tabIndex = 0,\n tags = false,\n value: prop,\n ...otherProps\n } = props;\n\n // refs\n const internalRef = useMergedRef<HTMLButtonElement>(ref);\n const listboxRef = React.useRef<CollectionRef>(null);\n const searchRef = React.useRef<HTMLInputElement>(null);\n const { texts } = useLocalization();\n // align the listbox min width with the width of the input - it should never be smaller\n const dimensions = useBoundingClientRectListener(internalRef);\n\n // state\n const [open, setOpen] = React.useState(false);\n const [value, _setValue] = useControllableState<Select2Value>({\n // uncontrolled\n defaultProp,\n // controlled\n onChange,\n prop,\n });\n const setValue = ListboxPrimitive.createListboxValueSetter(multiple, _setValue);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n\n const { allChildren, filteredChildren, searchQuery, setSearchQuery } = useChildren({\n children: initialChildren,\n emptyValue,\n multiple,\n open,\n setValue,\n value,\n });\n\n // context\n const context = {\n disabled,\n highlighted,\n invalid,\n listboxRef,\n multiple,\n onCreate,\n onDelete,\n onEdit,\n open,\n readOnly,\n ref: internalRef,\n searchQuery,\n searchRef,\n setOpen,\n setSearchQuery,\n setValidationError,\n setValue,\n tags,\n validationError,\n value,\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (open) {\n event.preventDefault();\n } else if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n setOpen(true);\n }\n\n // the focus should always remain on the input, so we forward events on to the listbox\n listboxRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n };\n\n let handleBlur;\n\n if (otherProps.onBlur) {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n const elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (!portalId || event.currentTarget.getAttribute(`aria-controls`) !== portalId) {\n otherProps.onBlur?.(event);\n }\n };\n }\n\n const className = cn('border-grey-300 rounded border bg-white py-1.5 shadow-md outline-none', createCollectionClassName());\n\n return (\n <Select2Context.Provider value={context}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <ControlledHiddenField\n emptyValue={emptyValue}\n multiple={multiple || tags}\n name={name}\n options={allChildren.map(child => child.props.value)}\n parentRef={internalRef}\n setValue={setValue}\n value={value}\n />\n <PopoverPrimitive.Trigger asChild data-taco=\"Select2\">\n <Trigger\n {...otherProps}\n aria-haspopup=\"listbox\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n ref={internalRef}>\n {allChildren}\n </Trigger>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n asChild\n align=\"start\"\n onOpenAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n onCloseAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n sideOffset={4}\n tabIndex={-1}>\n <div className={className} style={{ minWidth: dimensions?.width ? `${dimensions.width}px` : undefined }}>\n {!disableSearch && (allChildren.length > 0 || onCreate) ? (\n <Search\n placeholder={onCreate ? texts.select2.searchOrCreate : texts.select2.search}\n ref={searchRef}\n />\n ) : null}\n {allChildren.length <= 0 ? (\n <div className=\"text-grey-700 -mt-0.5 flex h-8 items-center px-2\" role=\"presentation\">\n No results found...\n </div>\n ) : (\n <ListboxPrimitive.Root\n className=\"flex flex-col gap-0.5\"\n customSelector=\":scope > button\"\n disabled={disabled}\n multiple={multiple}\n readOnly={readOnly}\n ref={listboxRef}\n setValue={setValue}\n tabIndex={-1}\n value={value}>\n {/*multiple && !searchQuery && Array.isArray(value) ? (\n <All\n children={allChildren}\n onToggle={_setValue}\n selected={value.length === allChildren.length}\n />\n ) : null*/}\n <Collection>{filteredChildren}</Collection>\n {onCreate ? <Create onCreate={onCreate} options={allChildren} /> : null}\n </ListboxPrimitive.Root>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </Select2Context.Provider>\n );\n}) as Select2PropsWithStatics;\nSelect2.Option = Option;\nSelect2.Group = Group;\nSelect2.Title = Title;\n\nconst ControlledHiddenField = props => {\n const { emptyValue, multiple, name, options, parentRef, value, setValue } = props;\n const isFormControl = useIsFormControl(parentRef, () => setValue(multiple ? [] : undefined));\n\n let bubbleValue;\n\n if (isFormControl) {\n if (value !== undefined) {\n if (multiple) {\n bubbleValue = Array.isArray(value) ? value.map(String) : [value === null ? '' : String(value)];\n } else {\n bubbleValue = value === null ? '' : String(value);\n }\n }\n\n return (\n <BubbleSelect aria-hidden key={String(bubbleValue)} multiple={multiple} name={name} value={bubbleValue}>\n {emptyValue !== undefined ? <option value={emptyValue} /> : null}\n {options.map(option => (\n <option key={String(option)} value={String(option)} />\n ))}\n </BubbleSelect>\n );\n }\n\n return null;\n};\nSelect2.displayName = 'Select2';\n\nexport { Select2 };\n\nexport type {\n Select2Texts,\n Select2GroupProps,\n Select2OptionProps,\n Select2OptionValue,\n Select2Value,\n Select2Props,\n Select2TitleProps,\n};\n"],"names":["Select2","React","forwardRef","props","ref","children","initialChildren","defaultValue","defaultProp","disabled","disableSearch","emptyValue","undefined","highlighted","invalid","multiple","name","onChange","onCreate","onDelete","onEdit","readOnly","tabIndex","tags","value","prop","otherProps","internalRef","useMergedRef","listboxRef","useRef","searchRef","texts","useLocalization","dimensions","useBoundingClientRectListener","open","setOpen","useState","_setValue","useControllableState","setValue","ListboxPrimitive","validationError","setValidationError","allChildren","filteredChildren","searchQuery","setSearchQuery","useChildren","context","handleKeyDown","event","preventDefault","key","current","dispatchEvent","createCustomKeyboardEvent","handleBlur","onBlur","elementGainingFocus","relatedTarget","portalId","closest","id","currentTarget","getAttribute","className","cn","createCollectionClassName","Select2Context","Provider","PopoverPrimitive","onOpenChange","ControlledHiddenField","options","map","child","parentRef","asChild","Trigger","onKeyDown","align","onOpenAutoFocus","stopPropagation","focus","onCloseAutoFocus","sideOffset","style","minWidth","width","length","Search","placeholder","select2","searchOrCreate","search","role","customSelector","Collection","Create","Option","Group","Title","isFormControl","useIsFormControl","bubbleValue","Array","isArray","String","BubbleSelect","option","displayName"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Select2.js","sources":["../../../../../../../src/components/Select2/Select2.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\nimport * as ListboxPrimitive from '../../primitives/Listbox2/Listbox2';\nimport { Select2OptionValue, Select2Value } from './types';\nimport { Option, Select2OptionProps } from './components/Option';\nimport { Group, Select2GroupProps } from './components/Group';\nimport { Select2TitleProps, Title } from './components/Title';\nimport { Select2Context } from './components/Context';\nimport { createCollectionClassName } from './utilities';\nimport { useMergedRef } from '../../hooks/useMergedRef';\nimport { useBoundingClientRectListener } from '../../hooks/useBoundingClientRectListener';\nimport { createCustomKeyboardEvent } from '../../utils/input';\nimport { Trigger } from './components/Trigger';\nimport { useIsFormControl } from '../../hooks/useIsFormControl';\nimport { BubbleSelect } from '../../primitives/BubbleSelect';\nimport { Search } from './components/Search';\nimport { useChildren } from './hooks/useChildren';\nimport { Color } from '../../utils/colors';\nimport { Create } from './components/Create';\nimport { Collection } from './components/Collection';\nimport { CollectionRef } from '../../primitives/Collection/Collection';\nimport { useLocalization } from '../Provider/Localization';\n//import { All } from './components/All';\n\ntype Select2Texts = {\n allSelect: string;\n allDeselect: string;\n cancel: string;\n chooseColor: string;\n create: string;\n delete: string;\n save: string;\n search: string;\n searchOrCreate: string;\n};\n\ntype Select2Props = Omit<React.HTMLAttributes<HTMLButtonElement>, 'children' | 'defaultValue' | 'onChange' | 'value'> & {\n autoFocus?: boolean;\n children: React.ReactElement<Select2OptionProps>[];\n defaultValue?: Select2Value;\n emptyValue?: Select2OptionValue;\n disabled?: boolean;\n disableSearch?: boolean;\n highlighted?: boolean;\n invalid?: boolean;\n multiple?: boolean;\n name?: string;\n onChange?: (value: Select2Value) => void;\n onCreate?: (name: string, color: Color | undefined) => Promise<Select2OptionProps>;\n onDelete?: (value: Select2OptionValue) => Promise<void>;\n onEdit?: (value: Select2OptionValue, text: string, color: Color | undefined) => Promise<void>;\n readOnly?: boolean;\n required?: boolean;\n tags?: boolean;\n value?: Select2Value;\n};\ntype Select2PropsWithStatics = React.ForwardRefExoticComponent<Select2Props & React.RefAttributes<HTMLButtonElement>> & {\n Option: React.ForwardRefExoticComponent<Select2OptionProps>;\n Group: React.ForwardRefExoticComponent<Select2GroupProps>;\n Title: React.ForwardRefExoticComponent<Select2TitleProps>;\n};\n\nconst Select2 = React.forwardRef<HTMLButtonElement, Select2Props>(function Select2(props, ref) {\n const {\n children: initialChildren,\n defaultValue: defaultProp,\n disabled = false,\n disableSearch = false,\n emptyValue = undefined,\n highlighted = false,\n invalid = false,\n multiple = false,\n name,\n onChange,\n onCreate,\n onDelete,\n onEdit,\n readOnly = false,\n tabIndex = 0,\n tags = false,\n value: prop,\n ...otherProps\n } = props;\n\n // refs\n const internalRef = useMergedRef<HTMLButtonElement>(ref);\n const listboxRef = React.useRef<CollectionRef>(null);\n const searchRef = React.useRef<HTMLInputElement>(null);\n const { texts } = useLocalization();\n // align the listbox min width with the width of the input - it should never be smaller\n const dimensions = useBoundingClientRectListener(internalRef);\n\n // state\n const [open, setOpen] = React.useState(false);\n const [value, _setValue] = useControllableState<Select2Value>({\n // uncontrolled\n defaultProp,\n // controlled\n onChange,\n prop,\n });\n const setValue = ListboxPrimitive.createListboxValueSetter(multiple, _setValue);\n const [validationError, setValidationError] = React.useState<Error | undefined>();\n\n const { allChildren, filteredChildren, searchQuery, setSearchQuery } = useChildren({\n children: initialChildren,\n emptyValue,\n multiple,\n open,\n setValue,\n value,\n });\n\n // context\n const context = {\n disabled,\n highlighted,\n invalid,\n listboxRef,\n multiple,\n onCreate,\n onDelete,\n onEdit,\n open,\n readOnly,\n ref: internalRef,\n searchQuery,\n searchRef,\n setOpen,\n setSearchQuery,\n setValidationError,\n setValue,\n tags,\n validationError,\n value,\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (open) {\n event.preventDefault();\n } else if (event.key === 'ArrowDown') {\n setOpen(true);\n }\n\n // the focus should always remain on the input, so we forward events on to the listbox\n listboxRef.current?.dispatchEvent(createCustomKeyboardEvent(event as React.KeyboardEvent<HTMLInputElement>));\n };\n\n let handleBlur;\n\n if (otherProps.onBlur) {\n // we might be focusing on an input or something inside the dropdown that was triggered by the select\n // so see if the element gaining focus is inside a portal and look up its controller\n // if we don't do this, things like validate on blur occur while simply opening the select\n handleBlur = (event: React.FocusEvent<HTMLButtonElement>) => {\n const elementGainingFocus = event.relatedTarget;\n\n if (elementGainingFocus === undefined) {\n return;\n }\n\n const portalId = elementGainingFocus?.closest('[data-radix-popper-content-wrapper] > :first-child')?.id;\n\n if (!portalId || event.currentTarget.getAttribute(`aria-controls`) !== portalId) {\n otherProps.onBlur?.(event);\n }\n };\n }\n\n const className = cn('border-grey-300 rounded border bg-white py-1.5 shadow-md outline-none', createCollectionClassName());\n\n return (\n <Select2Context.Provider value={context}>\n <PopoverPrimitive.Root open={open} onOpenChange={setOpen}>\n <ControlledHiddenField\n emptyValue={emptyValue}\n multiple={multiple || tags}\n name={name}\n options={allChildren.map(child => child.props.value)}\n parentRef={internalRef}\n setValue={setValue}\n value={value}\n />\n <PopoverPrimitive.Trigger asChild data-taco=\"Select2\">\n <Trigger\n {...otherProps}\n aria-haspopup=\"listbox\"\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n ref={internalRef}>\n {allChildren}\n </Trigger>\n </PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n asChild\n align=\"start\"\n onOpenAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n onCloseAutoFocus={event => {\n event.preventDefault();\n event.stopPropagation();\n internalRef.current?.focus();\n }}\n sideOffset={4}\n tabIndex={-1}>\n <div className={className} style={{ minWidth: dimensions?.width ? `${dimensions.width}px` : undefined }}>\n {!disableSearch && (allChildren.length > 0 || onCreate) ? (\n <Search\n placeholder={onCreate ? texts.select2.searchOrCreate : texts.select2.search}\n ref={searchRef}\n />\n ) : null}\n {allChildren.length <= 0 ? (\n <div className=\"text-grey-700 -mt-0.5 flex h-8 items-center px-2\" role=\"presentation\">\n No results found...\n </div>\n ) : (\n <ListboxPrimitive.Root\n className=\"flex flex-col gap-0.5\"\n customSelector=\":scope > button\"\n disabled={disabled}\n multiple={multiple}\n readOnly={readOnly}\n ref={listboxRef}\n setValue={setValue}\n tabIndex={-1}\n value={value}>\n {/*multiple && !searchQuery && Array.isArray(value) ? (\n <All\n children={allChildren}\n onToggle={_setValue}\n selected={value.length === allChildren.length}\n />\n ) : null*/}\n <Collection>{filteredChildren}</Collection>\n {onCreate ? <Create onCreate={onCreate} options={allChildren} /> : null}\n </ListboxPrimitive.Root>\n )}\n </div>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n </Select2Context.Provider>\n );\n}) as Select2PropsWithStatics;\nSelect2.Option = Option;\nSelect2.Group = Group;\nSelect2.Title = Title;\n\nconst ControlledHiddenField = props => {\n const { emptyValue, multiple, name, options, parentRef, value, setValue } = props;\n const isFormControl = useIsFormControl(parentRef, () => setValue(multiple ? [] : undefined));\n\n let bubbleValue;\n\n if (isFormControl) {\n if (value !== undefined) {\n if (multiple) {\n bubbleValue = Array.isArray(value) ? value.map(String) : [value === null ? '' : String(value)];\n } else {\n bubbleValue = value === null ? '' : String(value);\n }\n }\n\n return (\n <BubbleSelect aria-hidden key={String(bubbleValue)} multiple={multiple} name={name} value={bubbleValue}>\n {emptyValue !== undefined ? <option value={emptyValue} /> : null}\n {options.map(option => (\n <option key={String(option)} value={String(option)} />\n ))}\n </BubbleSelect>\n );\n }\n\n return null;\n};\nSelect2.displayName = 'Select2';\n\nexport { Select2 };\n\nexport type {\n Select2Texts,\n Select2GroupProps,\n Select2OptionProps,\n Select2OptionValue,\n Select2Value,\n Select2Props,\n Select2TitleProps,\n};\n"],"names":["Select2","React","forwardRef","props","ref","children","initialChildren","defaultValue","defaultProp","disabled","disableSearch","emptyValue","undefined","highlighted","invalid","multiple","name","onChange","onCreate","onDelete","onEdit","readOnly","tabIndex","tags","value","prop","otherProps","internalRef","useMergedRef","listboxRef","useRef","searchRef","texts","useLocalization","dimensions","useBoundingClientRectListener","open","setOpen","useState","_setValue","useControllableState","setValue","ListboxPrimitive","validationError","setValidationError","allChildren","filteredChildren","searchQuery","setSearchQuery","useChildren","context","handleKeyDown","event","preventDefault","key","current","dispatchEvent","createCustomKeyboardEvent","handleBlur","onBlur","elementGainingFocus","relatedTarget","portalId","closest","id","currentTarget","getAttribute","className","cn","createCollectionClassName","Select2Context","Provider","PopoverPrimitive","onOpenChange","ControlledHiddenField","options","map","child","parentRef","asChild","Trigger","onKeyDown","align","onOpenAutoFocus","stopPropagation","focus","onCloseAutoFocus","sideOffset","style","minWidth","width","length","Search","placeholder","select2","searchOrCreate","search","role","customSelector","Collection","Create","Option","Group","Title","isFormControl","useIsFormControl","bubbleValue","Array","isArray","String","BubbleSelect","option","displayName"],"mappings":"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"}
|