@gooddata/sdk-ui-kit 10.43.0-alpha.4 → 10.43.0-alpha.5
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/esm/@ui/@utils/keyboardNavigation.d.ts +13 -0
- package/esm/@ui/@utils/keyboardNavigation.d.ts.map +1 -1
- package/esm/@ui/@utils/keyboardNavigation.js +12 -0
- package/esm/@ui/@utils/keyboardNavigation.js.map +1 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableFilter.d.ts.map +1 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableFilter.js +13 -9
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableFilter.js.map +1 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableHeader.d.ts.map +1 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableHeader.js +7 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableHeader.js.map +1 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableRow.js +1 -1
- package/esm/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableRow.js.map +1 -1
- package/esm/@ui/UiAsyncTable/types.d.ts +2 -1
- package/esm/@ui/UiAsyncTable/types.d.ts.map +1 -1
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts +7 -1
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.d.ts.map +1 -1
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js +18 -5
- package/esm/@ui/UiPagedVirtualList/UiPagedVirtualList.js.map +1 -1
- package/esm/@ui/UiPopover/UiPopover.d.ts.map +1 -1
- package/esm/@ui/UiPopover/UiPopover.js +1 -1
- package/esm/@ui/UiPopover/UiPopover.js.map +1 -1
- package/esm/@ui/UiTooltip/UiTooltip.d.ts +1 -1
- package/esm/@ui/UiTooltip/UiTooltip.d.ts.map +1 -1
- package/esm/@ui/UiTooltip/UiTooltip.js +7 -4
- package/esm/@ui/UiTooltip/UiTooltip.js.map +1 -1
- package/esm/@ui/UiTooltip/types.d.ts +6 -2
- package/esm/@ui/UiTooltip/types.d.ts.map +1 -1
- package/esm/@ui/hooks/useListWithActionsFocus.d.ts +28 -0
- package/esm/@ui/hooks/useListWithActionsFocus.d.ts.map +1 -0
- package/esm/@ui/hooks/useListWithActionsFocus.js +35 -0
- package/esm/@ui/hooks/useListWithActionsFocus.js.map +1 -0
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts +2 -1
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts.map +1 -1
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js +56 -8
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js.map +1 -1
- package/esm/Button/Button.d.ts.map +1 -1
- package/esm/Button/Button.js +1 -1
- package/esm/Button/Button.js.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectAllCheckbox.d.ts.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectAllCheckbox.js +4 -2
- package/esm/List/InvertableSelect/InvertableSelectAllCheckbox.js.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectItem.d.ts +1 -0
- package/esm/List/InvertableSelect/InvertableSelectItem.d.ts.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectItem.js.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectSelectionStatus.d.ts.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectSelectionStatus.js +2 -2
- package/esm/List/InvertableSelect/InvertableSelectSelectionStatus.js.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectVirtualised.d.ts +13 -0
- package/esm/List/InvertableSelect/InvertableSelectVirtualised.d.ts.map +1 -1
- package/esm/List/InvertableSelect/InvertableSelectVirtualised.js +70 -48
- package/esm/List/InvertableSelect/InvertableSelectVirtualised.js.map +1 -1
- package/esm/ResponsiveText/ResponsiveText.d.ts +6 -1
- package/esm/ResponsiveText/ResponsiveText.d.ts.map +1 -1
- package/esm/ResponsiveText/ResponsiveText.js +11 -5
- package/esm/ResponsiveText/ResponsiveText.js.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +68 -7
- package/package.json +8 -8
- package/src/@ui/UiAsyncTable/asyncTable.scss +13 -4
- package/src/@ui/UiTooltip/UiTooltip.scss +1 -1
- package/styles/css/list.css +2 -2
- package/styles/css/main.css +15 -6
- package/styles/css/main.css.map +1 -1
- package/styles/css/menu.css +2 -2
- package/styles/scss/list.scss +2 -2
@@ -0,0 +1,35 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
import React from "react";
|
3
|
+
import { createContextStore } from "@gooddata/sdk-ui";
|
4
|
+
import { useIdPrefixed } from "../../utils/useId.js";
|
5
|
+
/**
|
6
|
+
* @internal
|
7
|
+
*/
|
8
|
+
export function useFocusWithinContainer(idToFocus) {
|
9
|
+
const containerRef = React.useRef(null);
|
10
|
+
React.useEffect(() => {
|
11
|
+
const container = containerRef.current;
|
12
|
+
const elementToFocus = idToFocus ? container?.querySelector(`#${idToFocus}`) : null;
|
13
|
+
if (!elementToFocus) {
|
14
|
+
return;
|
15
|
+
}
|
16
|
+
if (!container?.contains(document.activeElement) && container !== document.activeElement) {
|
17
|
+
return;
|
18
|
+
}
|
19
|
+
elementToFocus.focus();
|
20
|
+
}, [idToFocus]);
|
21
|
+
return { containerRef };
|
22
|
+
}
|
23
|
+
/**
|
24
|
+
* @internal
|
25
|
+
*/
|
26
|
+
export const useListWithActionsFocusStoreValue = (getIdFromItem) => {
|
27
|
+
const containerId = useIdPrefixed("focus-store");
|
28
|
+
const makeId = React.useCallback(({ item, action }) => CSS.escape(`${containerId}-${getIdFromItem(item)}-${action}`.replace(/\s/g, "_")), [containerId, getIdFromItem]);
|
29
|
+
return { makeId, containerId };
|
30
|
+
};
|
31
|
+
/**
|
32
|
+
* @internal
|
33
|
+
*/
|
34
|
+
export const ListWithActionsFocusStore = createContextStore("FocusStore");
|
35
|
+
//# sourceMappingURL=useListWithActionsFocus.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useListWithActionsFocus.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsFocus.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAyB;IAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAc,IAAI,CAAC,CAAC;IAErD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,IAAI,CAAC,cAAc,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;YACvF,OAAO;QACX,CAAC;QAEA,cAA8B,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,EAAE,YAAY,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAI,aAAkC,EAAE,EAAE;IACvF,MAAM,WAAW,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,MAAM,GAAG,KAAK,CAAC,WAAW,CAC5B,CAAC,EAAE,IAAI,EAAE,MAAM,EAA+B,EAAE,EAAE,CAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EACrF,CAAC,WAAW,EAAE,aAAa,CAAC,CAC/B,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAClC,kBAAkB,CAAuD,YAAY,CAAC,CAAC"}
|
@@ -6,13 +6,14 @@ export declare const SELECT_ITEM_ACTION = "selectItem";
|
|
6
6
|
/**
|
7
7
|
* @internal
|
8
8
|
*/
|
9
|
-
export declare function useListWithActionsKeyboardNavigation<Item, Action extends string>({ items, actionHandlers, getItemAdditionalActions, isNestedList, focusedIndex: focusedIndexProp, }: {
|
9
|
+
export declare function useListWithActionsKeyboardNavigation<Item, Action extends string>({ items, actionHandlers, getItemAdditionalActions, isNestedList, isSimple, focusedIndex: focusedIndexProp, }: {
|
10
10
|
items: Item[];
|
11
11
|
actionHandlers: {
|
12
12
|
[key in Action | typeof SELECT_ITEM_ACTION]: (item: Item, e?: React.KeyboardEvent) => (() => void) | undefined;
|
13
13
|
};
|
14
14
|
getItemAdditionalActions: (item: Item) => Action[];
|
15
15
|
isNestedList?: boolean;
|
16
|
+
isSimple?: boolean;
|
16
17
|
focusedIndex?: number;
|
17
18
|
}): {
|
18
19
|
onKeyboardNavigation: (event: React.KeyboardEvent<Element>) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListWithActionsKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"useListWithActionsKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAiB/C;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,EAAE,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,EACxB,YAAoB,EACpB,QAAgB,EAChB,YAAY,EAAE,gBAAgB,GACjC,EAAE;IACC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,EAAE;SACX,GAAG,IAAI,MAAM,GAAG,OAAO,kBAAkB,GAAG,CACzC,IAAI,EAAE,IAAI,EACV,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KACtB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;KAChC,CAAC;IACF,wBAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;;;;;;EAoEA"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
2
2
|
import React from "react";
|
3
3
|
import { useAutoupdateRef } from "@gooddata/sdk-ui";
|
4
|
-
import { makeLinearKeyboardNavigation, makeMenuKeyboardNavigation } from "../@utils/keyboardNavigation.js";
|
4
|
+
import { makeGridKeyboardNavigation, makeLinearKeyboardNavigation, makeMenuKeyboardNavigation, } from "../@utils/keyboardNavigation.js";
|
5
5
|
/**
|
6
6
|
* @internal
|
7
7
|
*/
|
@@ -9,7 +9,7 @@ export const SELECT_ITEM_ACTION = "selectItem";
|
|
9
9
|
/**
|
10
10
|
* @internal
|
11
11
|
*/
|
12
|
-
export function useListWithActionsKeyboardNavigation({ items, actionHandlers, getItemAdditionalActions, isNestedList = false, focusedIndex: focusedIndexProp, }) {
|
12
|
+
export function useListWithActionsKeyboardNavigation({ items, actionHandlers, getItemAdditionalActions, isNestedList = false, isSimple = false, focusedIndex: focusedIndexProp, }) {
|
13
13
|
const [focusedIndex, setFocusedIndex] = React.useState(focusedIndexProp ?? 0);
|
14
14
|
const focusedItem = focusedIndex === undefined ? undefined : items[focusedIndex];
|
15
15
|
const [focusedAction, setFocusedAction] = React.useState(SELECT_ITEM_ACTION);
|
@@ -38,13 +38,20 @@ export function useListWithActionsKeyboardNavigation({ items, actionHandlers, ge
|
|
38
38
|
});
|
39
39
|
// There are two separate modes of control,
|
40
40
|
// one switches between items and one controls picking actions for a specific item
|
41
|
-
const selectionMode =
|
41
|
+
const selectionMode = isSimple
|
42
|
+
? "simple"
|
43
|
+
: focusedAction === SELECT_ITEM_ACTION
|
44
|
+
? "item"
|
45
|
+
: "additionalAction";
|
42
46
|
const handleKeyboardNavigation = React.useMemo(() => {
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
: // Selecting
|
47
|
-
|
47
|
+
switch (selectionMode) {
|
48
|
+
case "simple":
|
49
|
+
return makeSimpleSelectionNavigation(keyboardNavigationDepsRef);
|
50
|
+
case "item": // Selecting items
|
51
|
+
return makeItemSelectionNavigation(keyboardNavigationDepsRef);
|
52
|
+
case "additionalAction": // Selecting actions
|
53
|
+
return makeActionSelectionNavigation(keyboardNavigationDepsRef, isNestedList);
|
54
|
+
}
|
48
55
|
}, [keyboardNavigationDepsRef, selectionMode, isNestedList]);
|
49
56
|
const handleBlur = React.useCallback(() => {
|
50
57
|
setFocusedAction(SELECT_ITEM_ACTION);
|
@@ -57,6 +64,47 @@ export function useListWithActionsKeyboardNavigation({ items, actionHandlers, ge
|
|
57
64
|
setFocusedAction,
|
58
65
|
};
|
59
66
|
}
|
67
|
+
function makeSimpleSelectionNavigation(depsRef) {
|
68
|
+
return makeGridKeyboardNavigation({
|
69
|
+
onFocusUp: () => {
|
70
|
+
const { items, setFocusedIndex, setFocusedAction } = depsRef.current;
|
71
|
+
setFocusedIndex((currentIndex) => currentIndex === undefined || currentIndex === 0 ? items.length - 1 : currentIndex - 1);
|
72
|
+
setFocusedAction(SELECT_ITEM_ACTION);
|
73
|
+
},
|
74
|
+
onFocusDown: () => {
|
75
|
+
const { items, setFocusedIndex, setFocusedAction } = depsRef.current;
|
76
|
+
setFocusedIndex((currentIndex) => currentIndex === undefined || currentIndex === items.length - 1 ? 0 : currentIndex + 1);
|
77
|
+
setFocusedAction(SELECT_ITEM_ACTION);
|
78
|
+
},
|
79
|
+
onFocusLeft: () => {
|
80
|
+
const { setFocusedAction, focusedItemAdditionalActions } = depsRef.current;
|
81
|
+
setFocusedAction((currentAction) => {
|
82
|
+
const actions = [SELECT_ITEM_ACTION, ...focusedItemAdditionalActions];
|
83
|
+
const currentActionIndex = actions.indexOf(currentAction);
|
84
|
+
const newIndex = (actions.length + currentActionIndex - 1) % actions.length;
|
85
|
+
return actions[newIndex] ?? actions[0];
|
86
|
+
});
|
87
|
+
},
|
88
|
+
onFocusRight: () => {
|
89
|
+
const { setFocusedAction, focusedItemAdditionalActions } = depsRef.current;
|
90
|
+
setFocusedAction((currentAction) => {
|
91
|
+
const actions = [SELECT_ITEM_ACTION, ...focusedItemAdditionalActions];
|
92
|
+
const currentActionIndex = actions.indexOf(currentAction);
|
93
|
+
const newIndex = (actions.length + currentActionIndex + 1) % actions.length;
|
94
|
+
return actions[newIndex] ?? actions[0];
|
95
|
+
});
|
96
|
+
},
|
97
|
+
onFocusFirst: () => { },
|
98
|
+
onFocusLast: () => { },
|
99
|
+
onSelect: (e) => {
|
100
|
+
const { actionHandlers, focusedItem, focusedAction } = depsRef.current;
|
101
|
+
if (!focusedItem) {
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
actionHandlers[focusedAction](focusedItem, e)?.();
|
105
|
+
},
|
106
|
+
});
|
107
|
+
}
|
60
108
|
function makeItemSelectionNavigation(depsRef) {
|
61
109
|
return makeMenuKeyboardNavigation({
|
62
110
|
onFocusPrevious: () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListWithActionsKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,
|
1
|
+
{"version":3,"file":"useListWithActionsKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EACH,0BAA0B,EAC1B,4BAA4B,EAC5B,0BAA0B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAiB/C;;GAEG;AACH,MAAM,UAAU,oCAAoC,CAA8B,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,EACxB,YAAY,GAAG,KAAK,EACpB,QAAQ,GAAG,KAAK,EAChB,YAAY,EAAE,gBAAgB,GAajC;IACG,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,gBAAgB,IAAI,CAAC,CAAC,CAAC;IAClG,MAAM,WAAW,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEjF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,kBAAkB,CACrB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACjC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,MAAM,4BAA4B,GAAG,KAAK,CAAC,OAAO,CAC9C,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAChE,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAC1C,CAAC;IAEF,wEAAwE;IACxE,IAAI,YAAY,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IACD,iFAAiF;IACjF,IAAI,aAAa,KAAK,kBAAkB,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAChG,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,yBAAyB,GAAG,gBAAgB,CAAwC;QACtF,KAAK;QACL,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,4BAA4B;QAC5B,WAAW;QACX,cAAc;KACjB,CAAC,CAAC;IAEH,2CAA2C;IAC3C,kFAAkF;IAClF,MAAM,aAAa,GAAG,QAAQ;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,aAAa,KAAK,kBAAkB;YACpC,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,kBAAkB,CAAC;IAE3B,MAAM,wBAAwB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAChD,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACT,OAAO,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;YACpE,KAAK,MAAM,EAAE,kBAAkB;gBAC3B,OAAO,2BAA2B,CAAC,yBAAyB,CAAC,CAAC;YAClE,KAAK,kBAAkB,EAAE,oBAAoB;gBACzC,OAAO,6BAA6B,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;QACtF,CAAC;IACL,CAAC,EAAE,CAAC,yBAAyB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAA0B,GAAG,EAAE;QAC/D,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACH,oBAAoB,EAAE,wBAAwB;QAC9C,MAAM,EAAE,UAAU;QAClB,aAAa;QACb,WAAW;QACX,gBAAgB;KACnB,CAAC;AACN,CAAC;AAED,SAAS,6BAA6B,CAClC,OAAsE;IAEtE,OAAO,0BAA0B,CAAC;QAC9B,SAAS,EAAE,GAAG,EAAE;YACZ,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAErE,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;YACF,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAErE,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;YACF,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,CAAC,kBAAkB,EAAE,GAAG,4BAA4B,CAEnE,CAAC;gBAEF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;gBAE5E,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,MAAM,OAAO,GAAG,CAAC,kBAAkB,EAAE,GAAG,4BAA4B,CAEnE,CAAC;gBAEF,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;gBAE5E,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;QACtB,WAAW,EAAE,GAAG,EAAE,GAAE,CAAC;QACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YAED,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QACtD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,2BAA2B,CAChC,OAAsE;IAEtE,OAAO,0BAA0B,CAAC;QAC9B,eAAe,EAAE,GAAG,EAAE;YAClB,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnD,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;QACN,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnD,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;QACN,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE5C,eAAe,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEnD,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAExD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YAED,cAAc,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAClD,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,IAAI,4BAA4B,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO;YACX,CAAC;YAED,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,SAAS,6BAA6B,CAClC,OAAsE,EACtE,YAAqB;IAErB,OAAO,4BAA4B,CAAC;QAChC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YACnB,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAC5E,OAAO,CAAC,OAAO,CAAC;YACpB,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtC,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;gBACF,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;gBAErC,OAAO;YACX,CAAC;YAED,gBAAgB,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;oBACvC,OAAO,aAAa,CAAC;gBACzB,CAAC;gBAED,OAAO,CACH,4BAA4B,CAAC,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrF,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnC,kBAAkB,CACrB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,EAAE,KAAK,EAAE,4BAA4B,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAC5E,OAAO,CAAC,OAAO,CAAC;YAEpB,IAAI,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBACxC,eAAe,CAAC,CAAC,YAAY,EAAE,EAAE,CAC7B,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CACzF,CAAC;gBACF,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;gBAErC,OAAO;YACX,CAAC;YAED,gBAAgB,CAAC,CAAC,aAAa,EAAE,EAAE;gBAC/B,IAAI,aAAa,KAAK,kBAAkB,EAAE,CAAC;oBACvC,OAAO,aAAa,CAAC;gBACzB,CAAC;gBAED,OAAO,CACH,4BAA4B,CAAC,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACrF,4BAA4B,CAAC,CAAC,CAAC;oBAC/B,kBAAkB,CACrB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE3E,gBAAgB,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC;QAChF,CAAC;QACD,QAAQ,EAAE,GAAG,EAAE;YACX,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAEvE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YAED,cAAc,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;YAE7C,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C;;GAEG;AACH,eAAO,MAAM,MAAM,
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C;;GAEG;AACH,eAAO,MAAM,MAAM,kFAsHjB,CAAC"}
|
package/esm/Button/Button.js
CHANGED
@@ -43,7 +43,7 @@ export const Button = React.forwardRef(function Button({ className, describedByF
|
|
43
43
|
.map((datapoint) => datapoint.id)
|
44
44
|
.join(" "));
|
45
45
|
const ariaDescribedBy = isDescribedByFromValidation
|
46
|
-
?
|
46
|
+
? [describedByFromValidation, ariaDescribedByFromConfig].filter(Boolean).join(" ") || undefined
|
47
47
|
: ariaDescribedByFromConfig;
|
48
48
|
const effectiveValue = React.useMemo(() => value ?? children, [children, value]);
|
49
49
|
const testId = dataTestId || getGeneratedTestId(effectiveValue, title, ariaLabel);
|
package/esm/Button/Button.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectAllCheckbox.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectAllCheckbox.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InvertableSelectAllCheckbox.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectAllCheckbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAQnD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iCAAiC,qBAwFnF"}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
import React, { useCallback, useRef } from "react";
|
3
3
|
import cx from "classnames";
|
4
4
|
import { useIntl } from "react-intl";
|
5
|
+
import { ListWithActionsFocusStore } from "../../@ui/hooks/useListWithActionsFocus.js";
|
5
6
|
import { isEnterKey, isSpaceKey } from "../../utils/events.js";
|
6
7
|
/**
|
7
8
|
* @internal
|
@@ -33,12 +34,13 @@ export function InvertableSelectAllCheckbox(props) {
|
|
33
34
|
"checkbox-indefinite": isPartialSelection,
|
34
35
|
});
|
35
36
|
const labelClasses = cx("input-checkbox-label", "s-select-all-checkbox");
|
37
|
+
const controlsId = ListWithActionsFocusStore.useContextStoreOptional((ctx) => ctx.containerId);
|
36
38
|
if (!isVisible) {
|
37
39
|
return null;
|
38
40
|
}
|
39
|
-
return (React.createElement("div", { className: "gd-invertable-select-all-checkbox", ref: itemRef, tabIndex: 0, onFocus: onFocus, onKeyDown: onKeyDown, role: "
|
41
|
+
return (React.createElement("div", { className: "gd-invertable-select-all-checkbox", ref: itemRef, tabIndex: 0, onFocus: onFocus, onKeyDown: onKeyDown, role: "checkbox", "aria-checked": isPartialSelection ? "mixed" : checked, "aria-controls": controlsId },
|
40
42
|
React.createElement("label", { className: labelClasses },
|
41
|
-
React.createElement("input", { readOnly: true, type: "checkbox", className: checkboxClasses, checked: checked, onChange: handleToggle }),
|
43
|
+
React.createElement("input", { readOnly: true, type: "checkbox", className: checkboxClasses, checked: checked, onChange: handleToggle, "aria-hidden": true, role: "presentation", tabIndex: -1 }),
|
42
44
|
React.createElement("span", { className: "input-label-text" },
|
43
45
|
React.createElement("span", { className: cx("gd-list-all-checkbox", { "gd-list-all-checkbox-checked": checked }) },
|
44
46
|
intl.formatMessage({ id: "gs.list.all" }),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectAllCheckbox.js","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectAllCheckbox.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
1
|
+
{"version":3,"file":"InvertableSelectAllCheckbox.js","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectAllCheckbox.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectItem.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectItem.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InvertableSelectItem.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAe,MAAM,OAAO,CAAC;AAOzD;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,oCAAoC,KAAK,YAAY,CAAC;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,qBAAqB,qBA6ChE"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectItem.js","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
1
|
+
{"version":3,"file":"InvertableSelectItem.js","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectItem.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,KAAK,EAAE,EAAgB,WAAW,EAAE,MAAM,OAAO,CAAC;AAEzD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAyB7C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAA4B;IAC7D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,GAC/F,KAAK,CAAC;IACV,MAAM,UAAU,GAAG,WAAW,CAC1B,CAAC,CAAgD,EAAE,EAAE;QACjD,IAAI,UAAU,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,MAAM,EAAE,EAAE,CAAC;IACf,CAAC,EACD,CAAC,MAAM,EAAE,UAAU,CAAC,CACvB,CAAC;IAEF,OAAO,CACH,6BACI,SAAS,EAAE,EAAE,CAAC;YACV,cAAc,EAAE,IAAI;YACpB,CAAC,KAAK,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,IAAI;YAC9C,kBAAkB,EAAE,IAAI;YACxB,aAAa,EAAE,UAAU;YACzB,aAAa,EAAE,UAAU;SAC5B,CAAC,EACF,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EACxC,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU;QAEtB,+BAAO,SAAS,EAAC,sBAAsB;YACnC,+BACI,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,gBAAgB,EAC1B,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,UAAU,GACtB;YACD,IAAI,IAAI,IAAI;YACb,8BAAM,SAAS,EAAC,kBAAkB,IAAE,KAAK,CAAQ,CAC7C;QACP,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CACjC,8BAAM,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAE,UAAU;YACnD,oBAAC,gBAAgB,IAAC,EAAE,EAAC,cAAc,GAAG,CACnC,CACV,CACC,CACT,CAAC;AACN,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectSelectionStatus.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectSelectionStatus.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InvertableSelectSelectionStatus.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectSelectionStatus.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC;;GAEG;AACH,MAAM,WAAW,4BAA4B,CAAC,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,EAAE,CAAC;IACnB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,CAAC,EAC9C,aAAa,EAAE,CAAC,EAAE,EAClB,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,UA+BpC;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC,qBA0C/E"}
|
@@ -54,8 +54,8 @@ export function InvertableSelectStatus(props) {
|
|
54
54
|
"\u00A0",
|
55
55
|
intl.formatMessage({ id: "gs.list.except" }),
|
56
56
|
"\u00A0")) : null,
|
57
|
-
!isAll && !isSelectionEmpty ? (React.createElement(UiTooltip, { arrowPlacement: "top-start", triggerBy: ["hover"
|
58
|
-
React.createElement("span", {
|
57
|
+
!isAll && !isSelectionEmpty ? (React.createElement(UiTooltip, { arrowPlacement: "top-start", triggerBy: ["hover"], content: selectionString, anchor: React.createElement(React.Fragment, null,
|
58
|
+
React.createElement("span", { className: "gd-shortened-text gd-selection-list s-dropdown-attribute-selection-list" }, selectionString),
|
59
59
|
`\xa0(${selectedItems.length})`) })) : null));
|
60
60
|
}
|
61
61
|
//# sourceMappingURL=InvertableSelectSelectionStatus.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectSelectionStatus.js","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectSelectionStatus.tsx"],"names":[],"mappings":"AAAA,qCAAqC;
|
1
|
+
{"version":3,"file":"InvertableSelectSelectionStatus.js","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectSelectionStatus.tsx"],"names":[],"mappings":"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"}
|
@@ -34,6 +34,18 @@ export interface IInvertableSelectVirtualisedRenderItemProps<T> {
|
|
34
34
|
* Select item only
|
35
35
|
*/
|
36
36
|
onSelectOnly: () => void;
|
37
|
+
/**
|
38
|
+
* The ref for the parent list element. Used for focus management.
|
39
|
+
*/
|
40
|
+
listRef?: React.RefObject<HTMLElement>;
|
41
|
+
/**
|
42
|
+
* The index of the item in the list. Used for accessibility purposes.
|
43
|
+
*/
|
44
|
+
index?: number;
|
45
|
+
/**
|
46
|
+
* The number of items in the list. Used for accessibility purposes.
|
47
|
+
*/
|
48
|
+
itemsCount?: number;
|
37
49
|
}
|
38
50
|
/**
|
39
51
|
* @internal
|
@@ -63,6 +75,7 @@ export interface IInvertableSelectVirtualisedProps<T> {
|
|
63
75
|
itemHeight?: number;
|
64
76
|
getItemTitle: (item: T) => string;
|
65
77
|
getItemKey: (item: T) => string;
|
78
|
+
isItemQuestionMarkEnabled?: (item: T) => boolean;
|
66
79
|
isInverted: boolean;
|
67
80
|
selectedItems: T[];
|
68
81
|
selectedItemsLimit?: number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InvertableSelectVirtualised.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectVirtualised.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"InvertableSelectVirtualised.d.ts","sourceRoot":"","sources":["../../../src/List/InvertableSelect/InvertableSelectVirtualised.tsx"],"names":[],"mappings":"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"}
|
@@ -3,6 +3,7 @@ import React, { useCallback, useEffect, useState } from "react";
|
|
3
3
|
import cx from "classnames";
|
4
4
|
import { defaultImport } from "default-import";
|
5
5
|
import noop from "lodash/noop.js";
|
6
|
+
import { useIntl } from "react-intl";
|
6
7
|
import DefaultMeasure from "react-measure";
|
7
8
|
import { ErrorComponent } from "@gooddata/sdk-ui";
|
8
9
|
import { InvertableSelectAllCheckbox } from "./InvertableSelectAllCheckbox.js";
|
@@ -11,6 +12,7 @@ import { InvertableSelectNoResultsMatch } from "./InvertableSelectNoResultsMatch
|
|
11
12
|
import { InvertableSelectSearchBar } from "./InvertableSelectSearchBar.js";
|
12
13
|
import { InvertableSelectStatusBar } from "./InvertableSelectStatusBar.js";
|
13
14
|
import { useInvertableSelect } from "./useInvertableSelect.js";
|
15
|
+
import { ListWithActionsFocusStore, useFocusWithinContainer, useListWithActionsFocusStoreValue, } from "../../@ui/hooks/useListWithActionsFocus.js";
|
14
16
|
import { SELECT_ITEM_ACTION, useListWithActionsKeyboardNavigation, } from "../../@ui/hooks/useListWithActionsKeyboardNavigation.js";
|
15
17
|
import { UiPagedVirtualList } from "../../@ui/UiPagedVirtualList/UiPagedVirtualList.js";
|
16
18
|
import { DETAILED_ANNOUNCEMENT_THRESHOLD, UiSearchResultsAnnouncement, } from "../../@ui/UiSearchResultsAnnouncement/UiSearchResultsAnnouncement.js";
|
@@ -25,7 +27,8 @@ const DEFAULT_VISIBLE_ITEMS_COUNT = 10;
|
|
25
27
|
* @internal
|
26
28
|
*/
|
27
29
|
export function InvertableSelectVirtualised(props) {
|
28
|
-
const { className, height, adaptiveHeight, isSingleSelect = false, items, totalItemsCount, itemHeight, getItemTitle, getItemKey, isInverted = true, selectedItems, selectedItemsLimit = Infinity, onSearch, searchString, searchPlaceholder, error, isLoading, nextPageItemPlaceholdersCount, isLoadingNextPage, canSubmitOnKeyDown, onLoadNextPage, onApplyButtonClick, renderError = defaultError, renderLoading = defaultLoading, renderSearchBar = defaultSearchBar, renderNoData = defaultNoData, renderItem = defaultItem, renderStatusBar = defaultStatusBar, renderActions = defaultActions, } = props;
|
30
|
+
const { className, height, adaptiveHeight, isSingleSelect = false, items, totalItemsCount, itemHeight, getItemTitle, getItemKey, isItemQuestionMarkEnabled = () => true, isInverted = true, selectedItems, selectedItemsLimit = Infinity, onSearch, searchString, searchPlaceholder, error, isLoading, nextPageItemPlaceholdersCount, isLoadingNextPage, canSubmitOnKeyDown, onLoadNextPage, onApplyButtonClick, renderError = defaultError, renderLoading = defaultLoading, renderSearchBar = defaultSearchBar, renderNoData = defaultNoData, renderItem = defaultItem, renderStatusBar = defaultStatusBar, renderActions = defaultActions, } = props;
|
31
|
+
const { formatMessage } = useIntl();
|
29
32
|
const { onSelectAllCheckboxChange, onSelectAllCheckboxToggle, selectOnly, selectItems, deselectItems, selectionState, getIsItemSelected, } = useInvertableSelect(props);
|
30
33
|
const [focusedIndex, setFocusedIndex] = useState(0);
|
31
34
|
const [hasInitializedFocus, setHasInitializedFocus] = useState(false);
|
@@ -78,12 +81,13 @@ export function InvertableSelectVirtualised(props) {
|
|
78
81
|
}
|
79
82
|
selectOnly(item);
|
80
83
|
}, [isSingleSelect, selectOnly]);
|
81
|
-
const getItemAdditionalActions = React.useCallback(() => {
|
84
|
+
const getItemAdditionalActions = React.useCallback((item) => {
|
85
|
+
const questionMark = isItemQuestionMarkEnabled(item) ? ["questionMark"] : [];
|
82
86
|
if (isSingleSelect) {
|
83
|
-
return [
|
87
|
+
return [...questionMark];
|
84
88
|
}
|
85
|
-
return ["only",
|
86
|
-
}, [isSingleSelect]);
|
89
|
+
return ["only", ...questionMark];
|
90
|
+
}, [isItemQuestionMarkEnabled, isSingleSelect]);
|
87
91
|
const { onKeyboardNavigation, focusedItem, focusedAction, setFocusedAction } = useListWithActionsKeyboardNavigation({
|
88
92
|
items,
|
89
93
|
getItemAdditionalActions,
|
@@ -93,23 +97,12 @@ export function InvertableSelectVirtualised(props) {
|
|
93
97
|
questionMark: () => noop,
|
94
98
|
},
|
95
99
|
focusedIndex,
|
100
|
+
isSimple: true,
|
96
101
|
});
|
97
|
-
const
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
setFocusedAction(SELECT_ITEM_ACTION);
|
102
|
-
}
|
103
|
-
else {
|
104
|
-
setFocusedAction("questionMark");
|
105
|
-
}
|
106
|
-
}
|
107
|
-
}
|
108
|
-
else {
|
109
|
-
setFocusedAction(SELECT_ITEM_ACTION);
|
110
|
-
}
|
111
|
-
onKeyboardNavigation(event);
|
112
|
-
};
|
102
|
+
const focusStoreValue = useListWithActionsFocusStoreValue(getItemKey);
|
103
|
+
const { containerRef } = useFocusWithinContainer(focusedItem && focusedAction
|
104
|
+
? focusStoreValue.makeId({ item: focusedItem, action: focusedAction })
|
105
|
+
: "");
|
113
106
|
const itemRenderer = useCallback((item) => {
|
114
107
|
return renderItem({
|
115
108
|
onSelect: () => {
|
@@ -123,16 +116,21 @@ export function InvertableSelectVirtualised(props) {
|
|
123
116
|
title: getItemTitle(item),
|
124
117
|
isSelected: getIsItemSelected(item),
|
125
118
|
focusedAction: item === focusedItem ? focusedAction : undefined,
|
119
|
+
listRef: containerRef,
|
120
|
+
index: items.indexOf(item) + 1,
|
121
|
+
itemsCount: items.length,
|
126
122
|
});
|
127
123
|
}, [
|
128
124
|
renderItem,
|
129
|
-
getIsItemSelected,
|
130
125
|
getItemTitle,
|
126
|
+
getIsItemSelected,
|
127
|
+
focusedItem,
|
128
|
+
focusedAction,
|
129
|
+
containerRef,
|
130
|
+
items,
|
131
131
|
selectItems,
|
132
132
|
deselectItems,
|
133
133
|
selectOnly,
|
134
|
-
focusedAction,
|
135
|
-
focusedItem,
|
136
134
|
]);
|
137
135
|
const handleSearchBarKeyDown = useCallback((e) => {
|
138
136
|
if (isEscapeKey(e) && searchString.length > 0) {
|
@@ -142,29 +140,53 @@ export function InvertableSelectVirtualised(props) {
|
|
142
140
|
const shouldLoadNextPage = useCallback((lastItemIndex, itemsCount) => {
|
143
141
|
return lastItemIndex >= itemsCount - 1;
|
144
142
|
}, []);
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
React.createElement(
|
143
|
+
const listRef = React.useRef(null);
|
144
|
+
const handleFocus = React.useCallback((e) => {
|
145
|
+
if (e.target.id !== focusStoreValue.containerId) {
|
146
|
+
return;
|
147
|
+
}
|
148
|
+
const elementToFocus = document.getElementById(focusStoreValue.makeId({ item: focusedItem, action: SELECT_ITEM_ACTION }));
|
149
|
+
listRef.current.scrollToItem(focusedItem);
|
150
|
+
if (!elementToFocus) {
|
151
|
+
return;
|
152
|
+
}
|
153
|
+
setFocusedAction(SELECT_ITEM_ACTION);
|
154
|
+
elementToFocus.focus();
|
155
|
+
}, [focusStoreValue, focusedItem, setFocusedAction]);
|
156
|
+
const handleBlur = React.useCallback(
|
157
|
+
// Select the default action when the focus leaves the list
|
158
|
+
(e) => {
|
159
|
+
if (containerRef.current.contains(e.relatedTarget)) {
|
160
|
+
return;
|
161
|
+
}
|
162
|
+
setFocusedAction(SELECT_ITEM_ACTION);
|
163
|
+
}, [containerRef, setFocusedAction]);
|
164
|
+
return (React.createElement(ListWithActionsFocusStore, { value: focusStoreValue },
|
165
|
+
React.createElement("div", { className: "gd-invertable-select" },
|
166
|
+
React.createElement("div", { className: "gd-invertable-select-search-bar", onKeyDown: handleSearchBarKeyDown }, renderSearchBar({ onSearch, searchPlaceholder, searchString })),
|
167
|
+
isLoading ? (React.createElement("div", { className: "gd-invertable-select-loading" }, renderLoading({ height }))) : error ? (React.createElement("div", { className: "gd-invertable-select-error" }, renderError({ height, error }))) : (React.createElement(React.Fragment, null,
|
168
|
+
renderActions({
|
169
|
+
isVisible: items.length > 0,
|
170
|
+
checked: selectionState !== "none",
|
171
|
+
onToggle: onSelectAllCheckboxToggle,
|
172
|
+
onChange: onSelectAllCheckboxChange,
|
173
|
+
isFiltered: searchString?.length > 0,
|
174
|
+
totalItemsCount,
|
175
|
+
isPartialSelection: selectionState === "partial",
|
176
|
+
}),
|
177
|
+
items.length > 0 && (React.createElement(Measure, { client: true }, ({ measureRef, contentRect }) => {
|
178
|
+
const maxHeight = adaptiveHeight
|
179
|
+
? contentRect?.client.height
|
180
|
+
: Math.min(items.length, DEFAULT_VISIBLE_ITEMS_COUNT) * itemHeight;
|
181
|
+
return isLoading ? (React.createElement(LoadingMask, { height: height })) : (React.createElement("div", { className: "gd-invertable-select-list", ref: measureRef },
|
182
|
+
React.createElement("div", { tabIndex: 0, onKeyDown: onKeyboardNavigation, onFocus: handleFocus, onBlur: handleBlur, className: cx("gd-async-list", className || ""), ref: containerRef, role: "listbox", "aria-multiselectable": !isSingleSelect, id: focusStoreValue.containerId },
|
183
|
+
React.createElement(UiPagedVirtualList, { items: items, itemHeight: itemHeight, itemsGap: 0, itemPadding: 0, skeletonItemsCount: nextPageItemPlaceholdersCount, hasNextPage: nextPageItemPlaceholdersCount > 0, loadNextPage: onLoadNextPage, isLoading: isLoadingNextPage, maxHeight: maxHeight, scrollToItem: focusedItem, scrollToItemKeyExtractor: getItemKey, tabIndex: -1, shouldLoadNextPage: shouldLoadNextPage, ref: listRef }, itemRenderer))));
|
184
|
+
})),
|
185
|
+
items.length === 0 && (React.createElement("div", { className: "gd-invertable-select-no-data" }, renderNoData?.({ height }))))),
|
186
|
+
React.createElement("div", { className: "gd-invertable-select-status-bar", "aria-label": formatMessage({ id: "attributesDropdown.filterValues" }), role: "status", "aria-live": "off" }, renderStatusBar({ getItemTitle, isInverted, selectedItems, selectedItemsLimit })),
|
187
|
+
React.createElement(UiSearchResultsAnnouncement, { totalResults: searchString && !isLoading ? totalItemsCount : undefined, resultValues: totalItemsCount <= DETAILED_ANNOUNCEMENT_THRESHOLD
|
188
|
+
? items.map(getItemTitle)
|
189
|
+
: undefined }))));
|
168
190
|
}
|
169
191
|
function defaultError(props) {
|
170
192
|
const { error } = props;
|
@@ -182,7 +204,7 @@ function defaultNoData() {
|
|
182
204
|
return React.createElement(InvertableSelectNoResultsMatch, null);
|
183
205
|
}
|
184
206
|
function defaultItem(props) {
|
185
|
-
return (React.createElement(InvertableSelectItem, { title: props.title, isSelected: props.isSelected, onClick: props.isSelected ? props.onDeselect : props.onSelect, onOnly: props.onSelectOnly }));
|
207
|
+
return (React.createElement(InvertableSelectItem, { title: props.title, isSelected: props.isSelected, onClick: props.isSelected ? props.onDeselect : props.onSelect, onOnly: props.onSelectOnly, listRef: props.listRef }));
|
186
208
|
}
|
187
209
|
function defaultStatusBar(props) {
|
188
210
|
const { isInverted, selectedItems, getItemTitle, selectedItemsLimit } = props;
|