@astryxdesign/core 0.7.9-canary.dd5ca29 → 0.7.9-canary.ddb8b34
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/AlertDialog/AlertDialog.d.ts +3 -2
- package/dist/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/AlertDialog/AlertDialog.js +11 -14
- package/dist/Button/Button.d.ts.map +1 -1
- package/dist/Button/Button.js +11 -2
- package/dist/ButtonGroup/ButtonGroup.d.ts +2 -1
- package/dist/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/ButtonGroup/ButtonGroup.js +28 -5
- package/dist/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/DropdownMenu/DropdownMenu.js +17 -7
- package/dist/Icon/index.d.ts +4 -0
- package/dist/Icon/index.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.d.ts.map +1 -1
- package/dist/MultiSelector/hooks.js +28 -28
- package/dist/TabList/TabList.d.ts.map +1 -1
- package/dist/TabList/TabList.js +1 -0
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts +2 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.d.ts.map +1 -1
- package/dist/Table/plugins/rowExpansion/useTableRowExpansion.js +27 -5
- package/dist/Toast/Toast.js +4 -4
- package/dist/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/Toast/ToastViewport.js +61 -3
- package/dist/astryx.css +8 -1
- package/dist/hooks/actionGroupTracker.d.ts +9 -0
- package/dist/hooks/actionGroupTracker.d.ts.map +1 -1
- package/dist/hooks/actionGroupTracker.js +38 -24
- package/dist/hooks/pressGroupContext.d.ts +5 -3
- package/dist/hooks/pressGroupContext.d.ts.map +1 -1
- package/dist/hooks/pressGroupContext.js +17 -9
- package/dist/hooks/useActionGroupTracking.d.ts +29 -4
- package/dist/hooks/useActionGroupTracking.d.ts.map +1 -1
- package/dist/hooks/useActionGroupTracking.js +92 -14
- package/dist/hooks/useGroupPressTracking.d.ts +34 -0
- package/dist/hooks/useGroupPressTracking.d.ts.map +1 -0
- package/dist/hooks/useGroupPressTracking.js +122 -0
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts +8 -5
- package/dist/privateAttributes/pressGroupItem.stylex.d.ts.map +1 -1
- package/dist/privateAttributes/pressGroupItem.stylex.js +11 -5
- package/dist/utils/hitArea.d.ts +28 -2
- package/dist/utils/hitArea.d.ts.map +1 -1
- package/dist/utils/hitArea.js +49 -11
- package/dist/utils/touchHitArea.d.ts +25 -6
- package/dist/utils/touchHitArea.d.ts.map +1 -1
- package/dist/utils/touchHitArea.js +22 -12
- package/dist/utils/touchHitArea.stylex.d.ts +29 -5
- package/dist/utils/touchHitArea.stylex.d.ts.map +1 -1
- package/dist/utils/touchHitArea.stylex.js +37 -6
- package/package.json +4 -4
- package/src/AlertDialog/AlertDialog.tsx +9 -13
- package/src/Button/Button.tsx +17 -2
- package/src/ButtonGroup/ButtonGroup.doc.mjs +3 -2
- package/src/ButtonGroup/ButtonGroup.tsx +28 -4
- package/src/Calendar/useCalendarDays.doc.mjs +158 -0
- package/src/DropdownMenu/DropdownMenu.tsx +16 -9
- package/src/Icon/index.ts +2 -0
- package/src/MultiSelector/hooks.ts +28 -35
- package/src/MultiSelector/useMultiCombobox.doc.mjs +2 -2
- package/src/TabList/TabList.tsx +1 -0
- package/src/Table/Table.doc.mjs +15 -0
- package/src/Table/plugins/rowExpansion/useTableRowExpansion.tsx +32 -7
- package/src/Table/plugins/sortable/useTableSortableState.doc.mjs +173 -0
- package/src/Toast/Toast.doc.mjs +14 -0
- package/src/Toast/Toast.tsx +2 -2
- package/src/Toast/ToastViewport.tsx +40 -0
- package/src/hooks/actionGroupTracker.ts +33 -24
- package/src/hooks/pressGroupContext.ts +18 -9
- package/src/hooks/useActionGroupTracking.ts +139 -19
- package/src/hooks/useGroupPressTracking.ts +154 -0
- package/src/privateAttributes/pressGroupItem.stylex.ts +11 -5
- package/src/utils/hitArea.ts +88 -8
- package/src/utils/touchHitArea.stylex.ts +29 -19
- package/src/utils/touchHitArea.ts +60 -12
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file AlertDialog.tsx
|
|
3
3
|
* @input Uses React, StyleX, Dialog, Layout, Heading, Text, Button, the
|
|
4
|
-
* action-group tracking (hooks/useActionGroupTracking)
|
|
5
|
-
*
|
|
4
|
+
* action-group tracking (hooks/useActionGroupTracking), the press-group
|
|
5
|
+
* context (hooks/pressGroupContext) and the group pointers
|
|
6
|
+
* (hooks/useGroupPressTracking)
|
|
6
7
|
* @output Exports AlertDialog component, AlertDialogProps type
|
|
7
8
|
* @position Core implementation; consumed by index.ts, tested by AlertDialog.test.tsx
|
|
8
9
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../src/AlertDialog/AlertDialog.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../src/AlertDialog/AlertDialog.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAmC,MAAM,OAAO,CAAC;AAUxD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAmC5C,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,iBAAiB,CAAC;IACpE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC;IAE3C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC;IAExB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,WAAW,EACX,WAAW,EAAE,oBAAoB,EACjC,WAAW,EACX,aAA6B,EAC7B,eAAe,EACf,QAAQ,EACR,KAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,EAAE,MAAM,EACrB,GAAG,IAAI,EACR,EAAE,gBAAgB,qBAoHlB;yBAtIe,WAAW"}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @file AlertDialog.tsx
|
|
7
7
|
* @input Uses React, StyleX, Dialog, Layout, Heading, Text, Button, the
|
|
8
|
-
* action-group tracking (hooks/useActionGroupTracking)
|
|
9
|
-
*
|
|
8
|
+
* action-group tracking (hooks/useActionGroupTracking), the press-group
|
|
9
|
+
* context (hooks/pressGroupContext) and the group pointers
|
|
10
|
+
* (hooks/useGroupPressTracking)
|
|
10
11
|
* @output Exports AlertDialog component, AlertDialogProps type
|
|
11
12
|
* @position Core implementation; consumed by index.ts, tested by AlertDialog.test.tsx
|
|
12
13
|
*
|
|
@@ -36,12 +37,10 @@ import { registerEnglishFallback, useComponentTranslator } from "../i18n/useComp
|
|
|
36
37
|
import english from "../i18n/generated-english/AlertDialog/AlertDialog.generated.js";
|
|
37
38
|
import { useActionGroupTracking } from "../hooks/useActionGroupTracking.js";
|
|
38
39
|
import { PressGroupContext } from "../hooks/pressGroupContext.js";
|
|
40
|
+
import { GROUP_PRESS_POINTERS } from "../hooks/useGroupPressTracking.js";
|
|
39
41
|
import { alertController } from "../motion/uikit/alert.js";
|
|
40
|
-
import { pressGroupItemProps } from "../privateAttributes/pressGroupItem.stylex.js";
|
|
41
42
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
42
43
|
registerEnglishFallback(english);
|
|
43
|
-
const SLIDING_POINTERS = ['touch', 'pen'];
|
|
44
|
-
const ACTION_TRACKING_PROPS = pressGroupItemProps(SLIDING_POINTERS);
|
|
45
44
|
const SMALL_SCREEN_QUERY = '(max-width: 640px)';
|
|
46
45
|
const styles = {
|
|
47
46
|
trackingRow: {
|
|
@@ -115,8 +114,8 @@ export function AlertDialog({
|
|
|
115
114
|
onOpenChange(false);
|
|
116
115
|
}, [onOpenChange]);
|
|
117
116
|
|
|
118
|
-
//
|
|
119
|
-
// tracker is its only painter.
|
|
117
|
+
// Through the group's context, each action's Button writes the press-group
|
|
118
|
+
// marker from its first render. So the tracker is its only painter.
|
|
120
119
|
const actionsRef = useRef(null);
|
|
121
120
|
// Only under the touch presentation does a press slide across the
|
|
122
121
|
// actions. A desktop press stays the native button's.
|
|
@@ -130,21 +129,20 @@ export function AlertDialog({
|
|
|
130
129
|
highlightOnsetMs: alertController.actions.highlightOnsetMs,
|
|
131
130
|
highlightExpansion: alertController.actions.highlightExpansion,
|
|
132
131
|
// A mouse press acts as a native button's under any presentation.
|
|
133
|
-
pointerTypes:
|
|
132
|
+
pointerTypes: GROUP_PRESS_POINTERS,
|
|
134
133
|
isEnabled: isTracking
|
|
135
134
|
});
|
|
136
|
-
const actionTrackingProps = isTracking ? ACTION_TRACKING_PROPS : undefined;
|
|
137
135
|
const buttonActionStyle = [styles.action, isSmallScreen && styles.stackedAction];
|
|
138
136
|
const cancelButton = /*#__PURE__*/_jsx(Button, {
|
|
139
137
|
variant: "ghost",
|
|
140
138
|
label: cancelLabel,
|
|
141
139
|
onClick: handleCancel,
|
|
142
|
-
xstyle: buttonActionStyle
|
|
143
|
-
...actionTrackingProps,
|
|
140
|
+
xstyle: buttonActionStyle
|
|
144
141
|
// Dialog focuses [data-autofocus] itself after showModal(), because
|
|
145
142
|
// React's autoFocus runs during commit while the dialog is invisible.
|
|
146
143
|
// Cancel is least destructive, so it remains the autofocus target even
|
|
147
144
|
// when small-screen visual order places the destructive action above it.
|
|
145
|
+
,
|
|
148
146
|
"data-autofocus": true
|
|
149
147
|
}, "cancel");
|
|
150
148
|
const actionButton = /*#__PURE__*/_jsx(Button, {
|
|
@@ -152,8 +150,7 @@ export function AlertDialog({
|
|
|
152
150
|
label: actionLabel,
|
|
153
151
|
onClick: onAction,
|
|
154
152
|
isLoading: isActionLoading,
|
|
155
|
-
xstyle: buttonActionStyle
|
|
156
|
-
...actionTrackingProps
|
|
153
|
+
xstyle: buttonActionStyle
|
|
157
154
|
}, "action");
|
|
158
155
|
return /*#__PURE__*/_jsx(Dialog, {
|
|
159
156
|
...rest,
|
|
@@ -200,7 +197,7 @@ export function AlertDialog({
|
|
|
200
197
|
hAlign: isSmallScreen ? 'stretch' : 'end',
|
|
201
198
|
wrap: isSmallScreen ? 'nowrap' : 'wrap',
|
|
202
199
|
children: /*#__PURE__*/_jsx(PressGroupContext, {
|
|
203
|
-
value: isTracking,
|
|
200
|
+
value: isTracking ? GROUP_PRESS_POINTERS : null,
|
|
204
201
|
children: isSmallScreen ? [actionButton, cancelButton] : [cancelButton, actionButton]
|
|
205
202
|
})
|
|
206
203
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
|
package/dist/Button/Button.js
CHANGED
|
@@ -30,7 +30,7 @@ import { iconBoxSizeStyles } from "../Icon/IconSize.stylex.js";
|
|
|
30
30
|
import { EDGE_COMP_ATTR } from "../Layout/edgeCompensation.stylex.js";
|
|
31
31
|
import { useSize } from "../SizeContext/SizeContext.js";
|
|
32
32
|
import { useButtonGroup } from "../ButtonGroup/ButtonGroupContext.js";
|
|
33
|
-
import { PressGroupContext } from "../hooks/pressGroupContext.js";
|
|
33
|
+
import { PressGroupContext, pressGroupItemProps } from "../hooks/pressGroupContext.js";
|
|
34
34
|
import { useInputGroup } from "../InputGroup/InputGroupContext.js";
|
|
35
35
|
import { InputGroupInternalContext } from "../InputGroup/InputGroupInternalContext.js";
|
|
36
36
|
import { groupStyles as inputGroupStyles, inputGroupItemProps } from "../InputGroup/groupStyles.js";
|
|
@@ -53,6 +53,9 @@ registerEnglishFallback(english);
|
|
|
53
53
|
*/
|
|
54
54
|
const PRESSED_ON = '[data-astryx-press="on"]';
|
|
55
55
|
|
|
56
|
+
/** `aria-haspopup` values of a trigger that keeps its own press and opening. */
|
|
57
|
+
const MENU_POPUPS = new Set(['true', 'menu', 'listbox']);
|
|
58
|
+
|
|
56
59
|
/**
|
|
57
60
|
* Base button styles
|
|
58
61
|
* Pseudo-classes are nested within properties per StyleX recommendation:
|
|
@@ -396,7 +399,11 @@ export function Button({
|
|
|
396
399
|
const t = useComponentTranslator();
|
|
397
400
|
const size = useSize(sizeProp, 'md');
|
|
398
401
|
const buttonGroup = useButtonGroup();
|
|
399
|
-
|
|
402
|
+
// A tracking group's tracker paints this button's pointer press. A menu
|
|
403
|
+
// trigger is not tracked: it keeps its own press and opening.
|
|
404
|
+
const groupPointers = use(PressGroupContext);
|
|
405
|
+
const groupItemProps = groupPointers != null && !MENU_POPUPS.has(String(props['aria-haspopup'])) ? pressGroupItemProps(groupPointers) : undefined;
|
|
406
|
+
const isGroupTracked = groupItemProps != null;
|
|
400
407
|
const inputGroup = useInputGroup();
|
|
401
408
|
const [isPending, startTransition] = useTransition();
|
|
402
409
|
// clickAction is normally fire-once (submit/save/pay), so a same-tick
|
|
@@ -611,6 +618,7 @@ export function Button({
|
|
|
611
618
|
...(inputGroup != null && buttonGroup == null ? inputGroupItemProps : undefined),
|
|
612
619
|
...sharedMergedProps,
|
|
613
620
|
...pressFeedback,
|
|
621
|
+
...groupItemProps,
|
|
614
622
|
...props,
|
|
615
623
|
...ariaLabelProp,
|
|
616
624
|
...describedByProp,
|
|
@@ -633,6 +641,7 @@ export function Button({
|
|
|
633
641
|
...(inputGroup != null && buttonGroup == null ? inputGroupItemProps : undefined),
|
|
634
642
|
...sharedMergedProps,
|
|
635
643
|
...pressFeedback,
|
|
644
|
+
...groupItemProps,
|
|
636
645
|
...props,
|
|
637
646
|
...ariaLabelProp,
|
|
638
647
|
...describedByProp,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file ButtonGroup.tsx
|
|
3
|
-
* @input Uses React, StyleX, Button/IconButton children
|
|
3
|
+
* @input Uses React, StyleX, Button/IconButton children, and the shared group
|
|
4
|
+
* press tracking (hooks/useGroupPressTracking)
|
|
4
5
|
* @output Exports ButtonGroup component, context, and types
|
|
5
6
|
* @position Groups buttons with connected styling; consumed by index.ts
|
|
6
7
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../src/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAkB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAE1C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAW9C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAQjE,MAAM,WAAW,gBAAiB,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjE,yCAAyC;IACzC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEhC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAErC;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,WAA0B,EAC1B,IAAI,EAAE,QAAQ,EACd,UAAkB,EAClB,SAAkB,EAClB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,aAAa,EAAE,MAAM,EACrB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,gBAAgB,GAAG,SAAS,CA+D9B;yBA9Ee,WAAW"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file ButtonGroup.tsx
|
|
7
|
-
* @input Uses React, StyleX, Button/IconButton children
|
|
7
|
+
* @input Uses React, StyleX, Button/IconButton children, and the shared group
|
|
8
|
+
* press tracking (hooks/useGroupPressTracking)
|
|
8
9
|
* @output Exports ButtonGroup component, context, and types
|
|
9
10
|
* @position Groups buttons with connected styling; consumed by index.ts
|
|
10
11
|
*
|
|
@@ -20,12 +21,16 @@
|
|
|
20
21
|
* - /apps/storybook/stories/ButtonGroup.stories.tsx (storybook stories)
|
|
21
22
|
* - /packages/cli/assets/templates/blocks/components/ButtonGroup/ (showcase blocks)
|
|
22
23
|
*/
|
|
23
|
-
import { useMemo } from 'react';
|
|
24
|
+
import { useMemo, useRef } from 'react';
|
|
24
25
|
import * as stylex from '@stylexjs/stylex';
|
|
25
26
|
import "../theme/tokens.stylex.js";
|
|
26
27
|
import { radiusVars, shadowVars } from "../theme/tokens.stylex.js";
|
|
27
28
|
import { SizeProvider, useSize } from "../SizeContext/SizeContext.js";
|
|
28
29
|
import { useListFocus } from "../hooks/useListFocus.js";
|
|
30
|
+
import { PressGroupContext } from "../hooks/pressGroupContext.js";
|
|
31
|
+
import { GROUP_PRESS_POINTERS, useGroupPressTracking } from "../hooks/useGroupPressTracking.js";
|
|
32
|
+
import { useTouchPresentation } from "../utils/touchPresentation.js";
|
|
33
|
+
import { touchHitAreaStyles } from "../utils/touchHitArea.stylex.js";
|
|
29
34
|
import { mergeProps, composeEventHandlers } from "../utils/index.js";
|
|
30
35
|
import { ButtonGroupContext } from "./ButtonGroupContext.js";
|
|
31
36
|
import { themeProps } from "../utils/themeProps.js";
|
|
@@ -47,6 +52,10 @@ const styles = {
|
|
|
47
52
|
vertical: {
|
|
48
53
|
kXwgrk: "xdt5ytf",
|
|
49
54
|
$$css: true
|
|
55
|
+
},
|
|
56
|
+
tracking: {
|
|
57
|
+
kVAEAm: "x1n2onr6",
|
|
58
|
+
$$css: true
|
|
50
59
|
}
|
|
51
60
|
};
|
|
52
61
|
|
|
@@ -154,25 +163,39 @@ export function ButtonGroup({
|
|
|
154
163
|
orientation,
|
|
155
164
|
isDisabled
|
|
156
165
|
}), [orientation, isDisabled]);
|
|
166
|
+
|
|
167
|
+
// Only under the touch presentation does a press slide across the buttons.
|
|
168
|
+
// A desktop press stays the native button's.
|
|
169
|
+
const {
|
|
170
|
+
isTouch
|
|
171
|
+
} = useTouchPresentation();
|
|
172
|
+
const tracksPress = !isDisabled && isTouch;
|
|
173
|
+
const groupRef = useRef(null);
|
|
174
|
+
const {
|
|
175
|
+
hitAreaRef
|
|
176
|
+
} = useGroupPressTracking(groupRef, tracksPress);
|
|
157
177
|
return /*#__PURE__*/_jsx(ButtonGroupContext, {
|
|
158
178
|
value: contextValue,
|
|
159
179
|
children: /*#__PURE__*/_jsx(SizeProvider, {
|
|
160
180
|
value: size,
|
|
161
181
|
children: /*#__PURE__*/_jsx("div", {
|
|
162
|
-
ref: useMergedRefs(ref, listRef),
|
|
182
|
+
ref: useMergedRefs(ref, listRef, groupRef, hitAreaRef),
|
|
163
183
|
...props,
|
|
164
184
|
...mergeProps(themeProps('button-group', {
|
|
165
185
|
size,
|
|
166
186
|
orientation,
|
|
167
187
|
elevation
|
|
168
|
-
}), stylex.props(styles.group, orientation === 'vertical' && styles.vertical, elevationStyles[elevation], xstyle), className, style),
|
|
188
|
+
}), stylex.props(styles.group, tracksPress && styles.tracking, tracksPress && touchHitAreaStyles.layerBelowChildren, orientation === 'vertical' && styles.vertical, elevationStyles[elevation], xstyle), className, style),
|
|
169
189
|
role: "group",
|
|
170
190
|
"aria-label": label,
|
|
171
191
|
onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown),
|
|
172
192
|
onFocus: composeEventHandlers(onFocus, handleFocus),
|
|
173
193
|
"aria-disabled": isDisabled || undefined,
|
|
174
194
|
"data-testid": testId,
|
|
175
|
-
children:
|
|
195
|
+
children: /*#__PURE__*/_jsx(PressGroupContext, {
|
|
196
|
+
value: tracksPress ? GROUP_PRESS_POINTERS : null,
|
|
197
|
+
children: children
|
|
198
|
+
})
|
|
176
199
|
})
|
|
177
200
|
})
|
|
178
201
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,OAAO,EAAS,KAAK,WAAW,EAAC,MAAM,WAAW,CAAC;AAKnD,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../src/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ import { useDropdownMenuPress } from "../hooks/useMenuPress.js";
|
|
|
53
53
|
import { useTypeahead } from "../hooks/useTypeahead.js";
|
|
54
54
|
import { useFocusReturnVisibility } from "../hooks/useFocusReturnVisibility.js";
|
|
55
55
|
import { returnFocusForLastInput } from "../utils/focusReturn.js";
|
|
56
|
+
import { PressGroupContext } from "../hooks/pressGroupContext.js";
|
|
56
57
|
import { useMenuOverflow } from "./useMenuOverflow.js";
|
|
57
58
|
import { MenuRegionsContext } from "./menuRegionsContext.js";
|
|
58
59
|
import { moveRegionsTab } from "./menuRegionStops.js";
|
|
@@ -1324,15 +1325,24 @@ export function DropdownMenu(props) {
|
|
|
1324
1325
|
onOpenChange: handleOpenChange
|
|
1325
1326
|
};
|
|
1326
1327
|
if (resolvedPresentation === 'bottom-sheet' && 'items' in props && props.items !== undefined) {
|
|
1327
|
-
return /*#__PURE__*/_jsx(
|
|
1328
|
-
|
|
1329
|
-
|
|
1328
|
+
return /*#__PURE__*/_jsx(PressGroupContext, {
|
|
1329
|
+
value: null,
|
|
1330
|
+
children: /*#__PURE__*/_jsx(DropdownMenuBottomSheet, {
|
|
1331
|
+
...sharedProps,
|
|
1332
|
+
presentation: "bottom-sheet"
|
|
1333
|
+
})
|
|
1330
1334
|
});
|
|
1331
1335
|
}
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
+
|
|
1337
|
+
// In a group that tracks presses, the trigger keeps its own press and
|
|
1338
|
+
// opening, whatever its `aria-haspopup`.
|
|
1339
|
+
return /*#__PURE__*/_jsx(PressGroupContext, {
|
|
1340
|
+
value: null,
|
|
1341
|
+
children: /*#__PURE__*/_jsx(DropdownMenuPopover, {
|
|
1342
|
+
...sharedProps,
|
|
1343
|
+
presentation: "popover",
|
|
1344
|
+
pressTouchModel: props.presentation === 'popover' ? 'pointer' : 'uikit'
|
|
1345
|
+
})
|
|
1336
1346
|
});
|
|
1337
1347
|
}
|
|
1338
1348
|
DropdownMenu.displayName = 'DropdownMenu';
|
package/dist/Icon/index.d.ts
CHANGED
|
@@ -66,6 +66,10 @@ export interface ComponentIconSlotMap {
|
|
|
66
66
|
'table-sort-indicator': {
|
|
67
67
|
readonly direction: 'ascending' | 'descending' | 'none';
|
|
68
68
|
};
|
|
69
|
+
/** A Table row's expansion toggle (`useTableRowExpansion`), by whether the row is expanded. */
|
|
70
|
+
'table-row-expand': {
|
|
71
|
+
readonly expanded: boolean;
|
|
72
|
+
};
|
|
69
73
|
}
|
|
70
74
|
/** A slot name from the augmentable {@link ComponentIconSlotMap}. */
|
|
71
75
|
export type ComponentIconSlotName = keyof ComponentIconSlotMap & string;
|
package/dist/Icon/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Icon/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,cAAc;CAAG;AAElC,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,GAAG,MAAM,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,iBAAiB,EAAE;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAC,CAAC;IAC9C,kGAAkG;IAClG,gBAAgB,EAAE;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAC,CAAC;IAC7C,gFAAgF;IAChF,sBAAsB,EAAE;QACtB,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;KACzD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Icon/index.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,cAAc;CAAG;AAElC,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,MAAM,cAAc,GAAG,MAAM,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,iBAAiB,EAAE;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAC,CAAC;IAC9C,kGAAkG;IAClG,gBAAgB,EAAE;QAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAC,CAAC;IAC7C,gFAAgF;IAChF,sBAAsB,EAAE;QACtB,QAAQ,CAAC,SAAS,EAAE,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC;KACzD,CAAC;IACF,+FAA+F;IAC/F,kBAAkB,EAAE;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAC,CAAC;CAClD;AAED,qEAAqE;AACrE,MAAM,MAAM,qBAAqB,GAAG,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAExE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,MAAM,GAAG,WAAW,IACnE,QAAQ,CAAC;IACP,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC,CAAC;AAEL;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,SAAS,MAAM,GAAG,WAAW,IACtE,QAAQ,GACR,IAAI,GACJ,oBAAoB,CAAC,OAAO,CAAC,GAC7B,CAAC,CACC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KACnB,oBAAoB,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE3D,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,MAAM,GAAG,WAAW,IAAI;KAClE,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,IAAI,GACrE,QAAQ,GAAG,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAC/C,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CAC5D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAC1C,MAAM,CAAC,qBAAqB,EAAE,QAAQ,GAAG,IAAI,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAC9E,CAAC;AAEF,OAAO,EAAC,IAAI,EAAE,cAAc,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,YAAY,EAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAGrE,OAAO,EACL,aAAa,EACb,eAAe,EACf,OAAO,EACP,eAAe,EACf,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,WAAW,GACZ,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/MultiSelector/hooks.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,SAAS,CAAC;AAGrD,UAAU,uBAAuB;IAC/B,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,UAAU,sBAAsB;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,4EAA4E;IAC5E,eAAe,EAAE,iBAAiB,CAAC;IACnC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,iFAAiF;IACjF,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,+DAA+D;IAC/D,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAChB,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,iBAAiB,KACrB,IAAI,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,UAAkB,EAClB,MAAM,EACN,SAAiB,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,SAAS,EACT,MAAc,EACd,YAAY,EACZ,gBAAgB,GACjB,EAAE,uBAAuB,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/MultiSelector/hooks.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,SAAS,CAAC;AAGrD,UAAU,uBAAuB;IAC/B,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,6DAA6D;AAC7D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpD,UAAU,sBAAsB;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,4EAA4E;IAC5E,eAAe,EAAE,iBAAiB,CAAC;IACnC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,iFAAiF;IACjF,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,+DAA+D;IAC/D,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,CAChB,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,iBAAiB,KACrB,IAAI,CAAC;CACX;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,UAAkB,EAClB,MAAM,EACN,SAAiB,EACjB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,SAAS,EACT,MAAc,EACd,YAAY,EACZ,gBAAgB,GACjB,EAAE,uBAAuB,GAAG,sBAAsB,CAgSlD"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file hooks.ts
|
|
7
|
-
* @input Uses React hooks, MultiSelectorOptionData type
|
|
7
|
+
* @input Uses React hooks, the shared useTypeahead hook, MultiSelectorOptionData type
|
|
8
8
|
* @output Exports useMultiCombobox hook
|
|
9
9
|
* @position Public hook, exported from the MultiSelector entry point; used by
|
|
10
10
|
* MultiSelector.tsx
|
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
* - /packages/core/src/MultiSelector/index.ts
|
|
14
14
|
* - /packages/core/src/MultiSelector/useMultiCombobox.doc.mjs
|
|
15
15
|
*/
|
|
16
|
-
import { useCallback,
|
|
16
|
+
import { useCallback, useState } from 'react';
|
|
17
17
|
import { isRtlElement } from "../hooks/isRtlElement.js";
|
|
18
18
|
import { useHighlightedOptionScroll } from "../hooks/useHighlightedOptionScroll.js";
|
|
19
|
-
import {
|
|
19
|
+
import { useTypeahead } from "../hooks/useTypeahead.js";
|
|
20
20
|
|
|
21
21
|
/** Which cell of the highlighted row the highlight is on. */
|
|
22
22
|
|
|
@@ -48,8 +48,19 @@ export function useMultiCombobox({
|
|
|
48
48
|
setHighlightedIndexState(index);
|
|
49
49
|
setHighlightedCell('option');
|
|
50
50
|
}, []);
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
|
|
52
|
+
// A match on the closed control opens the list on that option.
|
|
53
|
+
const typeahead = useTypeahead({
|
|
54
|
+
getItemLabels: () => selectableItems.map(item => item.label),
|
|
55
|
+
isDisabled: index => selectableItems[index]?.disabled === true,
|
|
56
|
+
getCurrentIndex: () => isOpen ? highlightedIndex : -1,
|
|
57
|
+
onMatch: index => {
|
|
58
|
+
if (isOpen || onOpen() !== false) {
|
|
59
|
+
setHighlightedIndex(index);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const resetTypeahead = typeahead.reset;
|
|
53
64
|
const getItemId = useCallback(index => `${listboxId}-item-${index}`, [listboxId]);
|
|
54
65
|
const getActionCellId = useCallback(index => `${listboxId}-item-${index}-action`, [listboxId]);
|
|
55
66
|
const activeDescendantId = isOpen && highlightedIndex >= 0 ? isGrid && highlightedCell === 'action' ? getActionCellId(highlightedIndex) : getItemId(highlightedIndex) : undefined;
|
|
@@ -57,9 +68,11 @@ export function useMultiCombobox({
|
|
|
57
68
|
return selectableItems.map((item, i) => !item.disabled ? i : -1).filter(i => i >= 0);
|
|
58
69
|
}, [selectableItems]);
|
|
59
70
|
const closeAndReset = useCallback(() => {
|
|
71
|
+
// Clear the typed prefix on close. Otherwise the next key extends it.
|
|
72
|
+
resetTypeahead();
|
|
60
73
|
setHighlightedIndex(-1);
|
|
61
74
|
onClose();
|
|
62
|
-
}, [onClose, setHighlightedIndex]);
|
|
75
|
+
}, [onClose, resetTypeahead, setHighlightedIndex]);
|
|
63
76
|
const onTriggerClick = useCallback(() => {
|
|
64
77
|
if (isDisabled) {
|
|
65
78
|
return;
|
|
@@ -97,6 +110,14 @@ export function useMultiCombobox({
|
|
|
97
110
|
if (isDisabled) {
|
|
98
111
|
return;
|
|
99
112
|
}
|
|
113
|
+
|
|
114
|
+
// With hasSearch the query input owns typing, so type-to-select is off.
|
|
115
|
+
// Space stays the toggle: after a letter jumps to an option, Space picks
|
|
116
|
+
// it, so Space never extends the typed prefix here.
|
|
117
|
+
if (!hasSearch && e.key !== ' ' && typeahead.onKeyDown(e)) {
|
|
118
|
+
e.preventDefault();
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
100
121
|
const enabledIndices = getEnabledIndices();
|
|
101
122
|
|
|
102
123
|
// In a grid the horizontal arrows move between the row's two cells,
|
|
@@ -222,29 +243,8 @@ export function useMultiCombobox({
|
|
|
222
243
|
onClear();
|
|
223
244
|
}
|
|
224
245
|
break;
|
|
225
|
-
default:
|
|
226
|
-
// Typeahead only when search is not present
|
|
227
|
-
if (!hasSearch && e.key.length === 1 && !e.ctrlKey && !e.metaKey) {
|
|
228
|
-
const newTypeahead = typeahead + e.key;
|
|
229
|
-
// INV17: the shared type-to-select fold, as Selector uses.
|
|
230
|
-
const matchIndex = findTypeaheadMatch(selectableItems.flatMap((item, i) => item.disabled ? [] : [i]), i => selectableItems[i].label, newTypeahead);
|
|
231
|
-
const didOpen = isOpen || matchIndex < 0 || onOpen() !== false;
|
|
232
|
-
if (didOpen) {
|
|
233
|
-
setTypeahead(newTypeahead);
|
|
234
|
-
if (typeaheadTimeoutRef.current) {
|
|
235
|
-
clearTimeout(typeaheadTimeoutRef.current);
|
|
236
|
-
}
|
|
237
|
-
typeaheadTimeoutRef.current = setTimeout(() => {
|
|
238
|
-
setTypeahead('');
|
|
239
|
-
}, 500);
|
|
240
|
-
if (matchIndex >= 0) {
|
|
241
|
-
setHighlightedIndex(matchIndex);
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
|
-
break;
|
|
246
246
|
}
|
|
247
|
-
}, [isDisabled, isOpen, onOpen, closeAndReset, selectableItems, highlightedIndex, highlightedCell, isGrid, rowHasAction, onActivateAction, setHighlightedIndex, onToggle, getEnabledIndices,
|
|
247
|
+
}, [isDisabled, isOpen, onOpen, closeAndReset, selectableItems, highlightedIndex, highlightedCell, isGrid, rowHasAction, onActivateAction, setHighlightedIndex, onToggle, getEnabledIndices, hasSearch, typeahead, onClear, hasValue]);
|
|
248
248
|
return {
|
|
249
249
|
highlightedIndex,
|
|
250
250
|
setHighlightedIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabList.d.ts","sourceRoot":"","sources":["../../src/TabList/TabList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAQlD,OAAO,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AA4BjE;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAC5E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAuND;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,GAAG,EACH,KAAK,EACL,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,MAAc,EACd,UAAkB,EAClB,WAAmB,EACnB,IAAI,EACJ,QAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,kBAAkB,EAChC,iBAAiB,EAAE,cAAc,EACjC,kBAAkB,EAAE,gBAAgB,EACpC,CAAC,cAAc,CAAC,EAAE,aAAa,EAC/B,GAAG,SAAS,EACb,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"TabList.d.ts","sourceRoot":"","sources":["../../src/TabList/TabList.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,QAAQ,EACb,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAE5C,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAQlD,OAAO,EAAC,cAAc,EAAC,MAAM,mCAAmC,CAAC;AA4BjE;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAC5E,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAuND;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,EACtB,GAAG,EACH,KAAK,EACL,QAAQ,EACR,IAAI,EAAE,QAAQ,EACd,MAAc,EACd,UAAkB,EAClB,WAAmB,EACnB,IAAI,EACJ,QAAiB,EACjB,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,kBAAkB,EAChC,iBAAiB,EAAE,cAAc,EACjC,kBAAkB,EAAE,gBAAgB,EACpC,CAAC,cAAc,CAAC,EAAE,aAAa,EAC/B,GAAG,SAAS,EACb,EAAE,YAAY,qBAgWd;yBAtXe,OAAO"}
|
package/dist/TabList/TabList.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file useTableRowExpansion.tsx
|
|
3
|
-
* @input React, StyleX, Icon,
|
|
3
|
+
* @input React, StyleX, Icon, the theme's `table-row-expand` icon slot, Table
|
|
4
|
+
* types, table context (density), i18n
|
|
4
5
|
* (useComponentTranslator)
|
|
5
6
|
* @output Exports useTableRowExpansion hook + config type
|
|
6
7
|
* @position Row-expansion plugin (detail panel); consumed by Table via plugins prop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableRowExpansion.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/rowExpansion/useTableRowExpansion.tsx"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"useTableRowExpansion.d.ts","sourceRoot":"","sources":["../../../../src/Table/plugins/rowExpansion/useTableRowExpansion.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAKL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAwBf,OAAO,KAAK,EACV,WAAW,EAMZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAC;AAoBxC;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3E,0CAA0C;IAC1C,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,2DAA2D;IAC3D,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,kDAAkD;IAClD,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAC/B;;;OAGG;IACH,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IACvC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IAClC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACvC;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AA2bD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACpC,WAAW,CAAC,CAAC,CAAC,CAyfhB"}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* @file useTableRowExpansion.tsx
|
|
7
|
-
* @input React, StyleX, Icon,
|
|
7
|
+
* @input React, StyleX, Icon, the theme's `table-row-expand` icon slot, Table
|
|
8
|
+
* types, table context (density), i18n
|
|
8
9
|
* (useComponentTranslator)
|
|
9
10
|
* @output Exports useTableRowExpansion hook + config type
|
|
10
11
|
* @position Row-expansion plugin (detail panel); consumed by Table via plugins prop
|
|
@@ -26,6 +27,8 @@ import { tableRowMarker } from "../../table.stylex.js";
|
|
|
26
27
|
import { panelDividerFor } from "../../rowDivider.js";
|
|
27
28
|
import { useTheme, useThemeName } from "../../../theme/useTheme.js";
|
|
28
29
|
import { Icon } from "../../../Icon/index.js";
|
|
30
|
+
import { ComponentIcon } from "../../../Icon/ComponentIcon.js";
|
|
31
|
+
import { iconBoxSizeStyles } from "../../../Icon/IconSize.stylex.js";
|
|
29
32
|
import { VisuallyHidden } from "../../../VisuallyHidden/index.js";
|
|
30
33
|
import { resolveContextActions } from "../../tableContextMenu.js";
|
|
31
34
|
import { useTableContext } from "../../useTableCellStyles.js";
|
|
@@ -94,6 +97,12 @@ const expansionStyles = {
|
|
|
94
97
|
kTIkBA: "xy5bzlh",
|
|
95
98
|
$$css: true
|
|
96
99
|
},
|
|
100
|
+
glyphBox: {
|
|
101
|
+
k1xSpc: "x1rg5ohu",
|
|
102
|
+
kVAEAm: "x1n2onr6",
|
|
103
|
+
kmuXW: "x2lah0s",
|
|
104
|
+
$$css: true
|
|
105
|
+
},
|
|
97
106
|
chevron: {
|
|
98
107
|
k1ekBW: "x11xpdln",
|
|
99
108
|
kIyJzY: "xuedmi6",
|
|
@@ -243,10 +252,23 @@ function ExpansionChevron({
|
|
|
243
252
|
},
|
|
244
253
|
"aria-label": ariaLabel,
|
|
245
254
|
"aria-expanded": isExpanded,
|
|
246
|
-
children: /*#__PURE__*/_jsx(
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
255
|
+
children: /*#__PURE__*/_jsx("span", {
|
|
256
|
+
...stylex.props(expansionStyles.glyphBox, iconBoxSizeStyles.xsm, expansionStyles.chevron, isExpanded ? expansionStyles.chevronExpanded : expansionStyles.chevronCollapsed),
|
|
257
|
+
children: /*#__PURE__*/_jsx("span", {
|
|
258
|
+
...{
|
|
259
|
+
className: "x10l6tqk x10a8y8t x78zum5 x6s0dn4 xl56j7k"
|
|
260
|
+
},
|
|
261
|
+
children: /*#__PURE__*/_jsx(ComponentIcon, {
|
|
262
|
+
slot: "table-row-expand",
|
|
263
|
+
state: {
|
|
264
|
+
expanded: isExpanded
|
|
265
|
+
},
|
|
266
|
+
fallback: {
|
|
267
|
+
icon: 'chevronRight',
|
|
268
|
+
size: 'xsm'
|
|
269
|
+
}
|
|
270
|
+
})
|
|
271
|
+
})
|
|
250
272
|
})
|
|
251
273
|
});
|
|
252
274
|
}
|
package/dist/Toast/Toast.js
CHANGED
|
@@ -251,16 +251,16 @@ export function ToastSurface({
|
|
|
251
251
|
type
|
|
252
252
|
}), {
|
|
253
253
|
0: {
|
|
254
|
-
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x1i7u4iq x9ynric xjm74w1 xw6l6zx x1qk3xlt x6o7n8i xuedmi6 xsagj69 xlr8y92
|
|
254
|
+
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x1i7u4iq x9ynric xjm74w1 xw6l6zx x1qk3xlt x6o7n8i xuedmi6 xsagj69 xlr8y92 xtx6xzi xy87v36 xenstv7"
|
|
255
255
|
},
|
|
256
256
|
2: {
|
|
257
|
-
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x1i7u4iq x9ynric xjm74w1 xw6l6zx x1qk3xlt x6o7n8i xuedmi6 xsagj69 xlr8y92
|
|
257
|
+
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x1i7u4iq x9ynric xjm74w1 xw6l6zx x1qk3xlt x6o7n8i xuedmi6 xsagj69 xlr8y92 xtx6xzi xy87v36 x1l5t2a3"
|
|
258
258
|
},
|
|
259
259
|
1: {
|
|
260
|
-
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x9ynric xjm74w1 xw6l6zx x6o7n8i xuedmi6 xsagj69 xlr8y92
|
|
260
|
+
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x9ynric xjm74w1 xw6l6zx x6o7n8i xuedmi6 xsagj69 xlr8y92 xtx6xzi xy87v36 xenstv7 xg01cxk x149p1fo"
|
|
261
261
|
},
|
|
262
262
|
3: {
|
|
263
|
-
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x9ynric xjm74w1 xw6l6zx x6o7n8i xuedmi6 xsagj69 xlr8y92
|
|
263
|
+
className: "x1na6nto x1pzlopt x1hviunn x9f619 x1l2rt3b x193iq5w x14hfi27 x9ynric xjm74w1 xw6l6zx x6o7n8i xuedmi6 xsagj69 xlr8y92 xtx6xzi xy87v36 x1l5t2a3 xg01cxk x149p1fo"
|
|
264
264
|
}
|
|
265
265
|
}[!!isError << 1 | !!isExiting << 0]),
|
|
266
266
|
children: /*#__PURE__*/_jsx(MediaTheme, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastViewport.tsx"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAa,aAAa,EAAqB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToastViewport.d.ts","sourceRoot":"","sources":["../../src/Toast/ToastViewport.tsx"],"names":[],"mappings":"AAkDA,OAAO,KAAK,EAAa,aAAa,EAAqB,MAAM,SAAS,CAAC;AAG3E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAkJtD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IACtE;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AA+ID;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAsB,EACtB,UAAc,EACd,KAAK,EACL,UAAU,EACV,UAAiB,EACjB,QAAQ,GACT,EAAE,kBAAkB,+BA6lBpB;yBApmBe,aAAa"}
|