@navikt/ds-react 8.5.0 → 8.5.2
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/cjs/data/table/helpers/table-grid-nav.d.ts +9 -15
- package/cjs/data/table/helpers/table-grid-nav.js +18 -25
- package/cjs/data/table/helpers/table-grid-nav.js.map +1 -1
- package/cjs/data/table/helpers/table-keyboard.d.ts +1 -1
- package/cjs/data/table/helpers/table-keyboard.js +1 -6
- package/cjs/data/table/helpers/table-keyboard.js.map +1 -1
- package/cjs/data/table/root/DataTableRoot.d.ts +41 -4
- package/cjs/data/table/root/DataTableRoot.js +10 -6
- package/cjs/data/table/root/DataTableRoot.js.map +1 -1
- package/cjs/data/table/root/useTableKeyboardNav.d.ts +1 -1
- package/cjs/data/table/root/useTableKeyboardNav.js +32 -19
- package/cjs/data/table/root/useTableKeyboardNav.js.map +1 -1
- package/cjs/data/table/td/DataTableTd.d.ts +5 -4
- package/cjs/data/table/td/DataTableTd.js +2 -2
- package/cjs/data/table/td/DataTableTd.js.map +1 -1
- package/cjs/data/token-filter/AutoSuggest.d.ts +9 -0
- package/cjs/data/token-filter/AutoSuggest.js +56 -0
- package/cjs/data/token-filter/AutoSuggest.js.map +1 -0
- package/cjs/data/token-filter/AutoSuggest.types.d.ts +12 -0
- package/cjs/data/token-filter/AutoSuggest.types.js +3 -0
- package/cjs/data/token-filter/AutoSuggest.types.js.map +1 -0
- package/cjs/data/token-filter/TokenFilter.d.ts +11 -0
- package/cjs/data/token-filter/TokenFilter.js +102 -0
- package/cjs/data/token-filter/TokenFilter.js.map +1 -0
- package/cjs/data/token-filter/TokenFilter.types.d.ts +52 -0
- package/cjs/data/token-filter/TokenFilter.types.js +3 -0
- package/cjs/data/token-filter/TokenFilter.types.js.map +1 -0
- package/cjs/data/token-filter/helpers/generate-autocomplete-options.d.ts +24 -0
- package/cjs/data/token-filter/helpers/generate-autocomplete-options.js +197 -0
- package/cjs/data/token-filter/helpers/generate-autocomplete-options.js.map +1 -0
- package/cjs/data/token-filter/helpers/grouping.d.ts +28 -0
- package/cjs/data/token-filter/helpers/grouping.js +61 -0
- package/cjs/data/token-filter/helpers/grouping.js.map +1 -0
- package/cjs/data/token-filter/helpers/operators.d.ts +22 -0
- package/cjs/data/token-filter/helpers/operators.js +66 -0
- package/cjs/data/token-filter/helpers/operators.js.map +1 -0
- package/cjs/data/token-filter/helpers/parse-query-text.d.ts +25 -0
- package/cjs/data/token-filter/helpers/parse-query-text.js +46 -0
- package/cjs/data/token-filter/helpers/parse-query-text.js.map +1 -0
- package/cjs/data/token-filter/helpers/query-builder.d.ts +20 -0
- package/cjs/data/token-filter/helpers/query-builder.js +38 -0
- package/cjs/data/token-filter/helpers/query-builder.js.map +1 -0
- package/cjs/data/token-filter/helpers/text-matching.d.ts +16 -0
- package/cjs/data/token-filter/helpers/text-matching.js +47 -0
- package/cjs/data/token-filter/helpers/text-matching.js.map +1 -0
- package/cjs/form/combobox/Input/InputController.js +1 -1
- package/cjs/form/combobox/Input/InputController.js.map +1 -1
- package/cjs/form/file-upload/dropzone/FileUploadDropzone.js +1 -1
- package/cjs/form/file-upload/dropzone/FileUploadDropzone.js.map +1 -1
- package/cjs/tooltip/Tooltip.js +1 -1
- package/cjs/tooltip/Tooltip.js.map +1 -1
- package/cjs/utils/i18n/locales/nb.d.ts +75 -154
- package/cjs/utils/i18n/locales/nb.js +75 -154
- package/cjs/utils/i18n/locales/nb.js.map +1 -1
- package/esm/data/table/helpers/table-grid-nav.d.ts +9 -15
- package/esm/data/table/helpers/table-grid-nav.js +18 -25
- package/esm/data/table/helpers/table-grid-nav.js.map +1 -1
- package/esm/data/table/helpers/table-keyboard.d.ts +1 -1
- package/esm/data/table/helpers/table-keyboard.js +1 -6
- package/esm/data/table/helpers/table-keyboard.js.map +1 -1
- package/esm/data/table/root/DataTableRoot.d.ts +41 -4
- package/esm/data/table/root/DataTableRoot.js +10 -6
- package/esm/data/table/root/DataTableRoot.js.map +1 -1
- package/esm/data/table/root/useTableKeyboardNav.d.ts +1 -1
- package/esm/data/table/root/useTableKeyboardNav.js +32 -19
- package/esm/data/table/root/useTableKeyboardNav.js.map +1 -1
- package/esm/data/table/td/DataTableTd.d.ts +5 -4
- package/esm/data/table/td/DataTableTd.js +2 -2
- package/esm/data/table/td/DataTableTd.js.map +1 -1
- package/esm/data/token-filter/AutoSuggest.d.ts +9 -0
- package/esm/data/token-filter/AutoSuggest.js +20 -0
- package/esm/data/token-filter/AutoSuggest.js.map +1 -0
- package/esm/data/token-filter/AutoSuggest.types.d.ts +12 -0
- package/esm/data/token-filter/AutoSuggest.types.js +2 -0
- package/esm/data/token-filter/AutoSuggest.types.js.map +1 -0
- package/esm/data/token-filter/TokenFilter.d.ts +11 -0
- package/esm/data/token-filter/TokenFilter.js +66 -0
- package/esm/data/token-filter/TokenFilter.js.map +1 -0
- package/esm/data/token-filter/TokenFilter.types.d.ts +52 -0
- package/esm/data/token-filter/TokenFilter.types.js +2 -0
- package/esm/data/token-filter/TokenFilter.types.js.map +1 -0
- package/esm/data/token-filter/helpers/generate-autocomplete-options.d.ts +24 -0
- package/esm/data/token-filter/helpers/generate-autocomplete-options.js +195 -0
- package/esm/data/token-filter/helpers/generate-autocomplete-options.js.map +1 -0
- package/esm/data/token-filter/helpers/grouping.d.ts +28 -0
- package/esm/data/token-filter/helpers/grouping.js +59 -0
- package/esm/data/token-filter/helpers/grouping.js.map +1 -0
- package/esm/data/token-filter/helpers/operators.d.ts +22 -0
- package/esm/data/token-filter/helpers/operators.js +60 -0
- package/esm/data/token-filter/helpers/operators.js.map +1 -0
- package/esm/data/token-filter/helpers/parse-query-text.d.ts +25 -0
- package/esm/data/token-filter/helpers/parse-query-text.js +44 -0
- package/esm/data/token-filter/helpers/parse-query-text.js.map +1 -0
- package/esm/data/token-filter/helpers/query-builder.d.ts +20 -0
- package/esm/data/token-filter/helpers/query-builder.js +34 -0
- package/esm/data/token-filter/helpers/query-builder.js.map +1 -0
- package/esm/data/token-filter/helpers/text-matching.d.ts +16 -0
- package/esm/data/token-filter/helpers/text-matching.js +45 -0
- package/esm/data/token-filter/helpers/text-matching.js.map +1 -0
- package/esm/form/combobox/Input/InputController.js +1 -1
- package/esm/form/combobox/Input/InputController.js.map +1 -1
- package/esm/form/file-upload/dropzone/FileUploadDropzone.js +1 -1
- package/esm/form/file-upload/dropzone/FileUploadDropzone.js.map +1 -1
- package/esm/tooltip/Tooltip.js +2 -2
- package/esm/tooltip/Tooltip.js.map +1 -1
- package/esm/utils/i18n/locales/nb.d.ts +75 -154
- package/esm/utils/i18n/locales/nb.js +75 -154
- package/esm/utils/i18n/locales/nb.js.map +1 -1
- package/package.json +3 -3
- package/src/data/table/helpers/table-grid-nav.test.ts +659 -0
- package/src/data/table/helpers/table-grid-nav.ts +19 -38
- package/src/data/table/helpers/table-keyboard.ts +1 -10
- package/src/data/table/root/DataTableRoot.tsx +50 -10
- package/src/data/table/root/useTableKeyboardNav.ts +35 -23
- package/src/data/table/td/DataTableTd.tsx +13 -6
- package/src/data/token-filter/AutoSuggest.tsx +55 -0
- package/src/data/token-filter/AutoSuggest.types.ts +14 -0
- package/src/data/token-filter/TokenFilter.tsx +129 -0
- package/src/data/token-filter/TokenFilter.types.ts +85 -0
- package/src/data/token-filter/helpers/generate-autocomplete-options.test.ts +896 -0
- package/src/data/token-filter/helpers/generate-autocomplete-options.ts +289 -0
- package/src/data/token-filter/helpers/grouping.test.ts +206 -0
- package/src/data/token-filter/helpers/grouping.ts +73 -0
- package/src/data/token-filter/helpers/operators.test.ts +281 -0
- package/src/data/token-filter/helpers/operators.ts +91 -0
- package/src/data/token-filter/helpers/parse-query-text.test.ts +201 -0
- package/src/data/token-filter/helpers/parse-query-text.ts +86 -0
- package/src/data/token-filter/helpers/query-builder.test.ts +126 -0
- package/src/data/token-filter/helpers/query-builder.ts +41 -0
- package/src/data/token-filter/helpers/text-matching.test.ts +125 -0
- package/src/data/token-filter/helpers/text-matching.ts +58 -0
- package/src/form/combobox/Input/InputController.tsx +0 -1
- package/src/form/file-upload/dropzone/FileUploadDropzone.tsx +0 -1
- package/src/tooltip/Tooltip.tsx +3 -3
- package/src/utils/i18n/locales/nb.ts +4 -83
|
@@ -27,13 +27,13 @@ declare function getNextGridPosition(grid: (Element | undefined)[][], currentPos
|
|
|
27
27
|
y: number;
|
|
28
28
|
} | null;
|
|
29
29
|
/**
|
|
30
|
-
* Checks if a cell is focusable (
|
|
30
|
+
* Checks if a cell is focusable (contains focusable elements).
|
|
31
31
|
* Type guard that narrows Element | undefined to Element.
|
|
32
32
|
*/
|
|
33
|
-
declare function isCellFocusable(cell: Element | undefined
|
|
33
|
+
declare function isCellFocusable(cell: Element | undefined): cell is Element;
|
|
34
34
|
/**
|
|
35
35
|
* Finds the next cell in the given direction, starting from the current position.
|
|
36
|
-
* Skips over cells that are not focusable
|
|
36
|
+
* Skips over cells that are not focusable.
|
|
37
37
|
* Returns null if no next cell is found in the given direction.
|
|
38
38
|
*/
|
|
39
39
|
declare function findNextFocusableCell(grid: (Element | undefined)[][], currentPos: {
|
|
@@ -44,26 +44,20 @@ declare function findNextFocusableCell(grid: (Element | undefined)[][], currentP
|
|
|
44
44
|
y: number;
|
|
45
45
|
}, currentCell: Element): Element | null;
|
|
46
46
|
/**
|
|
47
|
-
* Finds the first focusable cell in the
|
|
47
|
+
* Finds the first focusable cell in the given row.
|
|
48
48
|
*/
|
|
49
|
-
declare function findFirstCellInRow(grid: (Element | undefined)[][],
|
|
50
|
-
x: number;
|
|
51
|
-
y: number;
|
|
52
|
-
}>, currentCell: Element): Element | null;
|
|
49
|
+
declare function findFirstCellInRow(grid: (Element | undefined)[][], rowIndex: number): Element | null;
|
|
53
50
|
/**
|
|
54
|
-
* Finds the last focusable cell in the
|
|
51
|
+
* Finds the last focusable cell in the given row.
|
|
55
52
|
*/
|
|
56
|
-
declare function findLastCellInRow(grid: (Element | undefined)[][],
|
|
57
|
-
x: number;
|
|
58
|
-
y: number;
|
|
59
|
-
}>, currentCell: Element): Element | null;
|
|
53
|
+
declare function findLastCellInRow(grid: (Element | undefined)[][], rowIndex: number): Element | null;
|
|
60
54
|
/**
|
|
61
55
|
* Finds the first focusable cell in the entire table.
|
|
62
56
|
*/
|
|
63
|
-
declare function findFirstCell(grid: (Element | undefined)[][]
|
|
57
|
+
declare function findFirstCell(grid: (Element | undefined)[][]): Element | null;
|
|
64
58
|
/**
|
|
65
59
|
* Finds the last focusable cell in the entire table.
|
|
66
60
|
*/
|
|
67
|
-
declare function findLastCell(grid: (Element | undefined)[][]
|
|
61
|
+
declare function findLastCell(grid: (Element | undefined)[][]): Element | null;
|
|
68
62
|
export { buildTableGridMap, findFirstCell, findFirstCellInRow, findLastCell, findLastCellInRow, findNextFocusableCell, getNextGridPosition, isCellFocusable, };
|
|
69
63
|
export type { GridCache };
|
|
@@ -69,18 +69,18 @@ function getNextGridPosition(grid, currentPos, delta) {
|
|
|
69
69
|
return { x, y };
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
|
-
* Checks if a cell is focusable (
|
|
72
|
+
* Checks if a cell is focusable (contains focusable elements).
|
|
73
73
|
* Type guard that narrows Element | undefined to Element.
|
|
74
74
|
*/
|
|
75
|
-
function isCellFocusable(cell
|
|
76
|
-
if (!cell
|
|
75
|
+
function isCellFocusable(cell) {
|
|
76
|
+
if (!cell) {
|
|
77
77
|
return false;
|
|
78
78
|
}
|
|
79
79
|
return !!(0, table_focus_1.findFocusableElementInCell)(cell);
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
* Finds the next cell in the given direction, starting from the current position.
|
|
83
|
-
* Skips over cells that are not focusable
|
|
83
|
+
* Skips over cells that are not focusable.
|
|
84
84
|
* Returns null if no next cell is found in the given direction.
|
|
85
85
|
*/
|
|
86
86
|
function findNextFocusableCell(grid, currentPos, delta, currentCell) {
|
|
@@ -91,43 +91,36 @@ function findNextFocusableCell(grid, currentPos, delta, currentCell) {
|
|
|
91
91
|
return null;
|
|
92
92
|
}
|
|
93
93
|
const cell = grid[nextPos.y][nextPos.x];
|
|
94
|
-
|
|
94
|
+
/* We check against current cell to avoid returning the same cell in cases of rowspan/colspan. */
|
|
95
|
+
if (cell !== currentCell && isCellFocusable(cell)) {
|
|
95
96
|
return cell;
|
|
96
97
|
}
|
|
97
98
|
position = nextPos;
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
101
|
/**
|
|
101
|
-
* Finds the first focusable cell in the
|
|
102
|
+
* Finds the first focusable cell in the given row.
|
|
102
103
|
*/
|
|
103
|
-
function findFirstCellInRow(grid,
|
|
104
|
+
function findFirstCellInRow(grid, rowIndex) {
|
|
104
105
|
var _a;
|
|
105
|
-
const
|
|
106
|
-
if (!currentPos) {
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
const row = (_a = grid[currentPos.y]) !== null && _a !== void 0 ? _a : [];
|
|
106
|
+
const row = (_a = grid[rowIndex]) !== null && _a !== void 0 ? _a : [];
|
|
110
107
|
for (let x = 0; x < row.length; x += 1) {
|
|
111
108
|
const cell = row[x];
|
|
112
|
-
if (isCellFocusable(cell
|
|
109
|
+
if (isCellFocusable(cell)) {
|
|
113
110
|
return cell;
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
113
|
return null;
|
|
117
114
|
}
|
|
118
115
|
/**
|
|
119
|
-
* Finds the last focusable cell in the
|
|
116
|
+
* Finds the last focusable cell in the given row.
|
|
120
117
|
*/
|
|
121
|
-
function findLastCellInRow(grid,
|
|
118
|
+
function findLastCellInRow(grid, rowIndex) {
|
|
122
119
|
var _a;
|
|
123
|
-
const
|
|
124
|
-
if (!currentPos) {
|
|
125
|
-
return null;
|
|
126
|
-
}
|
|
127
|
-
const row = (_a = grid[currentPos.y]) !== null && _a !== void 0 ? _a : [];
|
|
120
|
+
const row = (_a = grid[rowIndex]) !== null && _a !== void 0 ? _a : [];
|
|
128
121
|
for (let x = row.length - 1; x >= 0; x -= 1) {
|
|
129
122
|
const cell = row[x];
|
|
130
|
-
if (isCellFocusable(cell
|
|
123
|
+
if (isCellFocusable(cell)) {
|
|
131
124
|
return cell;
|
|
132
125
|
}
|
|
133
126
|
}
|
|
@@ -136,13 +129,13 @@ function findLastCellInRow(grid, positions, currentCell) {
|
|
|
136
129
|
/**
|
|
137
130
|
* Finds the first focusable cell in the entire table.
|
|
138
131
|
*/
|
|
139
|
-
function findFirstCell(grid
|
|
132
|
+
function findFirstCell(grid) {
|
|
140
133
|
var _a;
|
|
141
134
|
for (let y = 0; y < grid.length; y += 1) {
|
|
142
135
|
const row = (_a = grid[y]) !== null && _a !== void 0 ? _a : [];
|
|
143
136
|
for (let x = 0; x < row.length; x += 1) {
|
|
144
137
|
const cell = row[x];
|
|
145
|
-
if (isCellFocusable(cell
|
|
138
|
+
if (isCellFocusable(cell)) {
|
|
146
139
|
return cell;
|
|
147
140
|
}
|
|
148
141
|
}
|
|
@@ -152,13 +145,13 @@ function findFirstCell(grid, currentCell) {
|
|
|
152
145
|
/**
|
|
153
146
|
* Finds the last focusable cell in the entire table.
|
|
154
147
|
*/
|
|
155
|
-
function findLastCell(grid
|
|
148
|
+
function findLastCell(grid) {
|
|
156
149
|
var _a;
|
|
157
150
|
for (let y = grid.length - 1; y >= 0; y -= 1) {
|
|
158
151
|
const row = (_a = grid[y]) !== null && _a !== void 0 ? _a : [];
|
|
159
152
|
for (let x = row.length - 1; x >= 0; x -= 1) {
|
|
160
153
|
const cell = row[x];
|
|
161
|
-
if (isCellFocusable(cell
|
|
154
|
+
if (isCellFocusable(cell)) {
|
|
162
155
|
return cell;
|
|
163
156
|
}
|
|
164
157
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-grid-nav.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-grid-nav.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"table-grid-nav.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-grid-nav.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,6 @@ declare function getNavigationAction(event: KeyboardEvent): NavigationAction | n
|
|
|
31
31
|
* - User is navigating inside multiline textarea
|
|
32
32
|
* - contenteditable attrb is in use
|
|
33
33
|
*/
|
|
34
|
-
declare function shouldBlockNavigation(event: KeyboardEvent
|
|
34
|
+
declare function shouldBlockNavigation(event: KeyboardEvent): boolean;
|
|
35
35
|
export { getNavigationAction, shouldBlockNavigation };
|
|
36
36
|
export type { Delta, NavigationAction };
|
|
@@ -19,7 +19,6 @@ function getNavigationAction(event) {
|
|
|
19
19
|
if (key in keyToCoord) {
|
|
20
20
|
return { type: "delta", delta: keyToCoord[key] };
|
|
21
21
|
}
|
|
22
|
-
// Home/End keys
|
|
23
22
|
if (key === "Home") {
|
|
24
23
|
return event.ctrlKey || event.metaKey
|
|
25
24
|
? { type: "tableStart" }
|
|
@@ -43,11 +42,7 @@ function getNavigationAction(event) {
|
|
|
43
42
|
* - User is navigating inside multiline textarea
|
|
44
43
|
* - contenteditable attrb is in use
|
|
45
44
|
*/
|
|
46
|
-
function shouldBlockNavigation(event
|
|
47
|
-
/* Check custom block function first */
|
|
48
|
-
if (customBlockFn === null || customBlockFn === void 0 ? void 0 : customBlockFn(event)) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
45
|
+
function shouldBlockNavigation(event) {
|
|
51
46
|
const key = event.key;
|
|
52
47
|
if (!(key in keyToCoord)) {
|
|
53
48
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-keyboard.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-keyboard.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"table-keyboard.js","sourceRoot":"","sources":["../../../../src/data/table/helpers/table-keyboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,18 +8,49 @@ import { DataTableThead, type DataTableTheadProps } from "../thead/DataTableThea
|
|
|
8
8
|
import { DataTableTr, type DataTableTrProps } from "../tr/DataTableTr";
|
|
9
9
|
interface DataTableProps extends React.HTMLAttributes<HTMLTableElement> {
|
|
10
10
|
children: React.ReactNode;
|
|
11
|
-
rowDensity?: "condensed" | "normal" | "spacious";
|
|
12
11
|
/**
|
|
13
|
-
*
|
|
14
|
-
* @default
|
|
12
|
+
* Controls vertical cell padding.
|
|
13
|
+
* @default "normal"
|
|
15
14
|
*/
|
|
16
|
-
|
|
15
|
+
rowDensity?: "condensed" | "normal" | "spacious";
|
|
17
16
|
/**
|
|
18
17
|
* Zebra striped table
|
|
19
18
|
* @default false
|
|
20
19
|
*/
|
|
21
20
|
zebraStripes?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Truncate content in cells and show ellipsis for overflowed text.
|
|
23
|
+
*
|
|
24
|
+
* **NB:** When using `layout="auto"`, you have to manually set a `maxWidth` on columns that should be truncated.
|
|
25
|
+
* @default true
|
|
26
|
+
*/
|
|
22
27
|
truncateContent?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Enables keyboard navigation for table rows and cells.
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
withKeyboardNav?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Custom callback to determine if navigation should be blocked.
|
|
35
|
+
* Called before default blocking logic.
|
|
36
|
+
* Requires `withKeyboardNav` to be `true`.
|
|
37
|
+
*/
|
|
38
|
+
shouldBlockNavigation?: (event: KeyboardEvent) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Controls table layout.
|
|
41
|
+
*
|
|
42
|
+
* ### fixed
|
|
43
|
+
* Gives you full control of column widths. This is required for resizable columns.
|
|
44
|
+
*
|
|
45
|
+
* ### auto
|
|
46
|
+
* Makes the columns resize automatically based on the content.
|
|
47
|
+
* The table will take up at least 100% of available width.
|
|
48
|
+
*
|
|
49
|
+
* **NB:** When using this with `truncateContent`, you have to manually
|
|
50
|
+
* set a `contentMaxWidth` on cells that should be truncated.
|
|
51
|
+
* @default "fixed"
|
|
52
|
+
*/
|
|
53
|
+
layout?: "fixed" | "auto";
|
|
23
54
|
}
|
|
24
55
|
interface DataTableRootComponent extends React.ForwardRefExoticComponent<DataTableProps & React.RefAttributes<HTMLTableElement>> {
|
|
25
56
|
/**
|
|
@@ -113,6 +144,12 @@ interface DataTableRootComponent extends React.ForwardRefExoticComponent<DataTab
|
|
|
113
144
|
*/
|
|
114
145
|
Tfoot: typeof DataTableTfoot;
|
|
115
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* TODO Component description etc.
|
|
149
|
+
*
|
|
150
|
+
* **NB:** To get sticky headers, you have to set a height restriction on the table container. You can use VStack for this:
|
|
151
|
+
* TODO example
|
|
152
|
+
*/
|
|
116
153
|
declare const DataTable: DataTableRootComponent;
|
|
117
154
|
export { DataTable, DataTableCaption, DataTableTbody, DataTableTd, DataTableTfoot, DataTableTh, DataTableThead, DataTableTr, };
|
|
118
155
|
export default DataTable;
|
|
@@ -63,19 +63,23 @@ Object.defineProperty(exports, "DataTableThead", { enumerable: true, get: functi
|
|
|
63
63
|
const DataTableTr_1 = require("../tr/DataTableTr");
|
|
64
64
|
Object.defineProperty(exports, "DataTableTr", { enumerable: true, get: function () { return DataTableTr_1.DataTableTr; } });
|
|
65
65
|
const useTableKeyboardNav_1 = require("./useTableKeyboardNav");
|
|
66
|
+
/**
|
|
67
|
+
* TODO Component description etc.
|
|
68
|
+
*
|
|
69
|
+
* **NB:** To get sticky headers, you have to set a height restriction on the table container. You can use VStack for this:
|
|
70
|
+
* TODO example
|
|
71
|
+
*/
|
|
66
72
|
const DataTable = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
67
|
-
var { className, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true } = _a, rest = __rest(_a, ["className", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent"]);
|
|
73
|
+
var { className, rowDensity = "normal", withKeyboardNav = false, zebraStripes = false, truncateContent = true, shouldBlockNavigation, layout = "fixed" } = _a, rest = __rest(_a, ["className", "rowDensity", "withKeyboardNav", "zebraStripes", "truncateContent", "shouldBlockNavigation", "layout"]);
|
|
68
74
|
const [tableRef, setTableRef] = (0, react_1.useState)(null);
|
|
69
75
|
const mergedRef = (0, hooks_1.useMergeRefs)(forwardedRef, setTableRef);
|
|
70
|
-
const {
|
|
76
|
+
const { tabIndex } = (0, useTableKeyboardNav_1.useTableKeyboardNav)(tableRef, {
|
|
71
77
|
enabled: withKeyboardNav,
|
|
78
|
+
shouldBlockNavigation,
|
|
72
79
|
});
|
|
73
80
|
return (react_1.default.createElement("div", { className: "aksel-data-table__border-wrapper" },
|
|
74
81
|
react_1.default.createElement("div", { className: "aksel-data-table__scroll-wrapper" },
|
|
75
|
-
react_1.default.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: (0, helpers_1.cl)("aksel-data-table", className,
|
|
76
|
-
"aksel-data-table--zebra-stripes": zebraStripes,
|
|
77
|
-
"aksel-data-table--truncate-content": truncateContent,
|
|
78
|
-
}), "data-density": rowDensity, tabIndex: tableTabIndex })))));
|
|
82
|
+
react_1.default.createElement("table", Object.assign({}, rest, { ref: mergedRef, className: (0, helpers_1.cl)("aksel-data-table", className), "data-zebra-stripes": zebraStripes, "data-truncate-content": truncateContent, "data-density": rowDensity, "data-layout": layout, tabIndex: tabIndex })))));
|
|
79
83
|
});
|
|
80
84
|
exports.DataTable = DataTable;
|
|
81
85
|
DataTable.Caption = DataTableCaption_1.DataTableCaption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,oDAA4C;AAC5C,gDAAoD;AACpD,kEAGqC;
|
|
1
|
+
{"version":3,"file":"DataTableRoot.js","sourceRoot":"","sources":["../../../../src/data/table/root/DataTableRoot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,oDAA4C;AAC5C,gDAAoD;AACpD,kEAGqC;AAyNnC,iGA3NA,mCAAgB,OA2NA;AAxNlB,4DAGiC;AAsN/B,+FAxNA,+BAAc,OAwNA;AArNhB,mDAAuE;AAsNrE,4FAtNO,yBAAW,OAsNP;AArNb,4DAGiC;AAmN/B,+FArNA,+BAAc,OAqNA;AAlNhB,mDAAuE;AAmNrE,4FAnNO,yBAAW,OAmNP;AAlNb,4DAGiC;AAgN/B,+FAlNA,+BAAc,OAkNA;AA/MhB,mDAAuE;AAgNrE,4FAhNO,yBAAW,OAgNP;AA/Mb,+DAA4D;AAgJ5D;;;;;GAKG;AACH,MAAM,SAAS,GAAG,IAAA,kBAAU,EAC1B,CACE,EASC,EACD,YAAY,EACZ,EAAE;QAXF,EACE,SAAS,EACT,UAAU,GAAG,QAAQ,EACrB,eAAe,GAAG,KAAK,EACvB,YAAY,GAAG,KAAK,EACpB,eAAe,GAAG,IAAI,EACtB,qBAAqB,EACrB,MAAM,GAAG,OAAO,OAEjB,EADI,IAAI,cART,oHASC,CADQ;IAIT,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAA0B,IAAI,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IAE1D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,yCAAmB,EAAC,QAAQ,EAAE;QACjD,OAAO,EAAE,eAAe;QACxB,qBAAqB;KACtB,CAAC,CAAC;IAEH,OAAO,CACL,uCAAK,SAAS,EAAC,kCAAkC;QAC/C,uCAAK,SAAS,EAAC,kCAAkC;YAC/C,yDACM,IAAI,IACR,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,IAAA,YAAE,EAAC,kBAAkB,EAAE,SAAS,CAAC,wBACxB,YAAY,2BACT,eAAe,kBACxB,UAAU,iBACX,MAAM,EACnB,QAAQ,EAAE,QAAQ,IAClB,CACE,CACF,CACP,CAAC;AACJ,CAAC,CACwB,CAAC;AAW1B,8BAAS;AATX,SAAS,CAAC,OAAO,GAAG,mCAAgB,CAAC;AACrC,SAAS,CAAC,KAAK,GAAG,+BAAc,CAAC;AACjC,SAAS,CAAC,KAAK,GAAG,+BAAc,CAAC;AACjC,SAAS,CAAC,EAAE,GAAG,yBAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,yBAAW,CAAC;AAC3B,SAAS,CAAC,EAAE,GAAG,yBAAW,CAAC;AAC3B,SAAS,CAAC,KAAK,GAAG,+BAAc,CAAC;AAYjC,kBAAe,SAAS,CAAC"}
|
|
@@ -7,7 +7,7 @@ type UseTableKeyboardNavOptions = {
|
|
|
7
7
|
shouldBlockNavigation?: (event: KeyboardEvent) => boolean;
|
|
8
8
|
};
|
|
9
9
|
declare function useTableKeyboardNav(tableRef: HTMLTableElement | null, { enabled, shouldBlockNavigation: customBlockFn }: UseTableKeyboardNavOptions): {
|
|
10
|
-
|
|
10
|
+
tabIndex: number | undefined;
|
|
11
11
|
};
|
|
12
12
|
export { useTableKeyboardNav };
|
|
13
13
|
export type { UseTableKeyboardNavOptions };
|
|
@@ -24,39 +24,52 @@ function useTableKeyboardNav(tableRef, { enabled, shouldBlockNavigation: customB
|
|
|
24
24
|
}
|
|
25
25
|
const { grid, positions } = getTableGrid(tableRef);
|
|
26
26
|
const currentPos = positions.get(currentCell);
|
|
27
|
-
if (!currentPos &&
|
|
28
|
-
action.type !== "tableStart" &&
|
|
29
|
-
action.type !== "tableEnd") {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
27
|
let nextCell = null;
|
|
33
28
|
switch (action.type) {
|
|
34
|
-
case "delta":
|
|
29
|
+
case "delta": {
|
|
30
|
+
if (!currentPos) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
35
33
|
nextCell = (0, table_grid_nav_1.findNextFocusableCell)(grid, currentPos, action.delta, currentCell);
|
|
36
34
|
break;
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
}
|
|
36
|
+
case "home": {
|
|
37
|
+
if (!currentPos) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
nextCell = (0, table_grid_nav_1.findFirstCellInRow)(grid, currentPos.y);
|
|
39
41
|
break;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
}
|
|
43
|
+
case "end": {
|
|
44
|
+
if (!currentPos) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
nextCell = (0, table_grid_nav_1.findLastCellInRow)(grid, currentPos.y);
|
|
42
48
|
break;
|
|
43
|
-
|
|
44
|
-
|
|
49
|
+
}
|
|
50
|
+
case "tableStart": {
|
|
51
|
+
nextCell = (0, table_grid_nav_1.findFirstCell)(grid);
|
|
45
52
|
break;
|
|
46
|
-
|
|
47
|
-
|
|
53
|
+
}
|
|
54
|
+
case "tableEnd": {
|
|
55
|
+
nextCell = (0, table_grid_nav_1.findLastCell)(grid);
|
|
48
56
|
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (!nextCell || nextCell === currentCell) {
|
|
60
|
+
return null;
|
|
49
61
|
}
|
|
50
|
-
return nextCell
|
|
51
|
-
? (0, table_focus_1.focusCellAndUpdateTabIndex)(nextCell, currentCell)
|
|
52
|
-
: null;
|
|
62
|
+
return (0, table_focus_1.focusCellAndUpdateTabIndex)(nextCell, currentCell);
|
|
53
63
|
});
|
|
54
64
|
/**
|
|
55
65
|
* Handles keyboard navigation with arrow keys, Home/End, and PageUp/PageDown.
|
|
56
66
|
* Checks if navigation should be blocked based on current focus context.
|
|
57
67
|
*/
|
|
58
68
|
const handleTableKeyDown = (0, hooks_1.useEventCallback)((event) => {
|
|
59
|
-
if (
|
|
69
|
+
if (customBlockFn === null || customBlockFn === void 0 ? void 0 : customBlockFn(event)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if ((0, table_keyboard_1.shouldBlockNavigation)(event)) {
|
|
60
73
|
return;
|
|
61
74
|
}
|
|
62
75
|
const action = (0, table_keyboard_1.getNavigationAction)(event);
|
|
@@ -105,7 +118,7 @@ function useTableKeyboardNav(tableRef, { enabled, shouldBlockNavigation: customB
|
|
|
105
118
|
}, [tableRef, handleTableKeyDown, handleTableFocusIn, enabled]);
|
|
106
119
|
return {
|
|
107
120
|
/* Table should only have tabIndex until the focus is moved inside and is enabled */
|
|
108
|
-
|
|
121
|
+
tabIndex: enabled ? (activeCell ? undefined : 0) : undefined,
|
|
109
122
|
};
|
|
110
123
|
}
|
|
111
124
|
//# sourceMappingURL=useTableKeyboardNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableKeyboardNav.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"useTableKeyboardNav.js","sourceRoot":"","sources":["../../../../src/data/table/root/useTableKeyboardNav.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
interface DataTableTdProps extends React.
|
|
2
|
+
interface DataTableTdProps extends React.TdHTMLAttributes<HTMLTableCellElement> {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Sets a max-width on the content wrapper div inside the cell.
|
|
5
|
+
* This is only needed when using `layout="auto"` together with
|
|
6
|
+
* `truncateContent` on `<DataTable>` and you want the cell to be truncated.
|
|
5
7
|
*/
|
|
6
|
-
|
|
7
|
-
rowSpan?: number;
|
|
8
|
+
contentMaxWidth?: number | `${number}${string}`;
|
|
8
9
|
}
|
|
9
10
|
declare const DataTableTd: React.ForwardRefExoticComponent<DataTableTdProps & React.RefAttributes<HTMLTableCellElement>>;
|
|
10
11
|
export { DataTableTd };
|
|
@@ -48,9 +48,9 @@ exports.DataTableTd = void 0;
|
|
|
48
48
|
const react_1 = __importStar(require("react"));
|
|
49
49
|
const helpers_1 = require("../../../utils/helpers");
|
|
50
50
|
const DataTableTd = (0, react_1.forwardRef)((_a, forwardedRef) => {
|
|
51
|
-
var { className, children } = _a, rest = __rest(_a, ["className", "children"]);
|
|
51
|
+
var { className, children, contentMaxWidth } = _a, rest = __rest(_a, ["className", "children", "contentMaxWidth"]);
|
|
52
52
|
return (react_1.default.createElement("td", Object.assign({}, rest, { ref: forwardedRef, className: (0, helpers_1.cl)("aksel-data-table__td", className) }),
|
|
53
|
-
react_1.default.createElement("div",
|
|
53
|
+
react_1.default.createElement("div", { style: { maxWidth: contentMaxWidth } }, children)));
|
|
54
54
|
});
|
|
55
55
|
exports.DataTableTd = DataTableTd;
|
|
56
56
|
//# sourceMappingURL=DataTableTd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableTd.js","sourceRoot":"","sources":["../../../../src/data/table/td/DataTableTd.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA4C;
|
|
1
|
+
{"version":3,"file":"DataTableTd.js","sourceRoot":"","sources":["../../../../src/data/table/td/DataTableTd.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,oDAA4C;AAiB5C,MAAM,WAAW,GAAG,IAAA,kBAAU,EAC5B,CAAC,EAAiD,EAAE,YAAY,EAAE,EAAE;QAAnE,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,OAAW,EAAN,IAAI,cAA/C,4CAAiD,CAAF;IAC9C,OAAO,CACL,sDACM,IAAI,IACR,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAA,YAAE,EAAC,sBAAsB,EAAE,SAAS,CAAC;QAEhD,uCAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAG,QAAQ,CAAO,CACxD,CACN,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,kCAAW"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { AutoCompleteOption, OptionGroup } from "./AutoSuggest.types";
|
|
3
|
+
interface AutoSuggestProps {
|
|
4
|
+
options: OptionGroup<AutoCompleteOption>[];
|
|
5
|
+
onSelect: (value: string) => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const AutoSuggest: React.ForwardRefExoticComponent<AutoSuggestProps & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export { AutoSuggest };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AutoSuggest = void 0;
|
|
37
|
+
const react_1 = __importStar(require("react"));
|
|
38
|
+
const box_1 = require("../../primitives/box");
|
|
39
|
+
const stack_1 = require("../../primitives/stack");
|
|
40
|
+
const typography_1 = require("../../typography");
|
|
41
|
+
const AutoSuggest = (0, react_1.forwardRef)(({ options, onSelect }, ref) => {
|
|
42
|
+
return (react_1.default.createElement(box_1.Box, { ref: ref, padding: "space-6" }, options.map((group) => (react_1.default.createElement("div", { key: group.label },
|
|
43
|
+
react_1.default.createElement(typography_1.Label, { as: "div" }, group.label),
|
|
44
|
+
react_1.default.createElement(stack_1.VStack, { gap: "space-4" }, group.options.map((option) => {
|
|
45
|
+
var _a, _b;
|
|
46
|
+
return (react_1.default.createElement("div", { key: option.value },
|
|
47
|
+
react_1.default.createElement("button", { type: "button", onClick: () => { var _a;
|
|
48
|
+
/* @ts-expect-error TODO: We need to convert the data properly */
|
|
49
|
+
return onSelect((_a = option.value) !== null && _a !== void 0 ? _a : option.propertyKey); } },
|
|
50
|
+
react_1.default.createElement("span", null, (_b = (_a = option.value) !== null && _a !== void 0 ? _a : option.label) !== null && _b !== void 0 ? _b : option.propertyLabel),
|
|
51
|
+
option.description && react_1.default.createElement("span", null, option.description),
|
|
52
|
+
option.tags && option.tags.length > 0 && (react_1.default.createElement("div", null, option.tags.map((tag) => (react_1.default.createElement("span", { key: tag }, tag))))))));
|
|
53
|
+
})))))));
|
|
54
|
+
});
|
|
55
|
+
exports.AutoSuggest = AutoSuggest;
|
|
56
|
+
//# sourceMappingURL=AutoSuggest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoSuggest.js","sourceRoot":"","sources":["../../../src/data/token-filter/AutoSuggest.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,8CAA2C;AAC3C,kDAAgD;AAChD,iDAAyC;AASzC,MAAM,WAAW,GAAG,IAAA,kBAAU,EAC5B,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE;IAC7B,OAAO,CACL,8BAAC,SAAG,IAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAC,SAAS,IAC7B,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,uCAAK,GAAG,EAAE,KAAK,CAAC,KAAK;QACnB,8BAAC,kBAAK,IAAC,EAAE,EAAC,KAAK,IAAE,KAAK,CAAC,KAAK,CAAS;QACrC,8BAAC,cAAM,IAAC,GAAG,EAAC,SAAS,IAClB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;YAC5B,OAAO,CACL,uCAAK,GAAG,EAAE,MAAM,CAAC,KAAK;gBACpB,0CACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oBACZ,iEAAiE;oBACjE,OAAA,QAAQ,CAAC,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,WAAW,CAAC,CAAA,EAAA;oBAG9C,4CAEG,MAAA,MAAA,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,KAAK,mCAAI,MAAM,CAAC,aAAa,CAChD;oBACN,MAAM,CAAC,WAAW,IAAI,4CAAO,MAAM,CAAC,WAAW,CAAQ;oBACvD,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CACxC,2CACG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACxB,wCAAM,GAAG,EAAE,GAAG,IAAG,GAAG,CAAQ,CAC7B,CAAC,CACE,CACP,CACM,CACL,CACP,CAAC;QACJ,CAAC,CAAC,CACK,CACL,CACP,CAAC,CACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEO,kCAAW"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface OptionGroup<T> {
|
|
2
|
+
label: string;
|
|
3
|
+
options: T[];
|
|
4
|
+
}
|
|
5
|
+
interface AutoCompleteOption {
|
|
6
|
+
value: string;
|
|
7
|
+
label: string;
|
|
8
|
+
tags?: string[];
|
|
9
|
+
filteringTags?: string[];
|
|
10
|
+
description?: string;
|
|
11
|
+
}
|
|
12
|
+
export type { AutoCompleteOption, OptionGroup };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoSuggest.types.js","sourceRoot":"","sources":["../../../src/data/token-filter/AutoSuggest.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { QueryFilterQuery, QueryFilteringOptions, QueryFilteringProperties } from "./TokenFilter.types";
|
|
3
|
+
type TokenFilterProps = {
|
|
4
|
+
query: QueryFilterQuery;
|
|
5
|
+
onChange: (newQuery: QueryFilterQuery) => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
filteringOptions: QueryFilteringOptions;
|
|
8
|
+
filteringProperties: QueryFilteringProperties;
|
|
9
|
+
};
|
|
10
|
+
export declare const TokenFilter: React.ForwardRefExoticComponent<TokenFilterProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export {};
|