@oxyhq/bloom 0.70.0 → 0.71.0
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/lib/commonjs/select/index.web.js +77 -4
- package/lib/commonjs/select/index.web.js.map +1 -1
- package/lib/module/select/index.web.js +78 -5
- package/lib/module/select/index.web.js.map +1 -1
- package/lib/typescript/commonjs/select/index.web.d.ts +1 -1
- package/lib/typescript/commonjs/select/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/select/types.d.ts +6 -0
- package/lib/typescript/commonjs/select/types.d.ts.map +1 -1
- package/lib/typescript/module/select/index.web.d.ts +1 -1
- package/lib/typescript/module/select/index.web.d.ts.map +1 -1
- package/lib/typescript/module/select/types.d.ts +6 -0
- package/lib/typescript/module/select/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/SelectItemLabel.test.tsx +46 -0
- package/src/select/index.web.tsx +87 -4
- package/src/select/types.ts +6 -0
|
@@ -26,6 +26,7 @@ var _index2 = require("../overlay/index.js");
|
|
|
26
26
|
var _indexWeb = require("../portal/index.web.js");
|
|
27
27
|
var _zIndex = require("../styles/z-index.js");
|
|
28
28
|
var _webViewStyle = require("../styles/web-view-style.js");
|
|
29
|
+
var _dropdownPlacement = require("../overlay/dropdown-placement.js");
|
|
29
30
|
var _shadows = require("../design-tokens/shadows");
|
|
30
31
|
var _useInteractionState = require("../hooks/useInteractionState.js");
|
|
31
32
|
var _Chevron = require("../icons/Chevron.js");
|
|
@@ -34,6 +35,8 @@ var _common = require("./common.js");
|
|
|
34
35
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
36
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
36
37
|
const selectZIndex = (0, _zIndex.createOverlayZIndex)();
|
|
38
|
+
const VIEWPORT_GUTTER = 8;
|
|
39
|
+
const SELECT_OFFSET = 6;
|
|
37
40
|
|
|
38
41
|
// ---------------------------------------------------------------------------
|
|
39
42
|
// Context
|
|
@@ -60,13 +63,15 @@ function Select({
|
|
|
60
63
|
disabled
|
|
61
64
|
}) {
|
|
62
65
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
66
|
+
const triggerRef = (0, _react.useRef)(null);
|
|
63
67
|
const ctx = (0, _react.useMemo)(() => ({
|
|
64
68
|
value,
|
|
65
69
|
onValueChange,
|
|
66
70
|
disabled,
|
|
67
71
|
isOpen,
|
|
68
72
|
open: () => setIsOpen(true),
|
|
69
|
-
close: () => setIsOpen(false)
|
|
73
|
+
close: () => setIsOpen(false),
|
|
74
|
+
triggerRef
|
|
70
75
|
}), [value, onValueChange, disabled, isOpen]);
|
|
71
76
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(SelectContext.Provider, {
|
|
72
77
|
value: ctx,
|
|
@@ -111,6 +116,7 @@ function SelectTrigger({
|
|
|
111
116
|
pressed: false
|
|
112
117
|
},
|
|
113
118
|
props: {
|
|
119
|
+
ref: ctx.triggerRef,
|
|
114
120
|
onPress: ctx.open,
|
|
115
121
|
onFocus,
|
|
116
122
|
onBlur,
|
|
@@ -119,6 +125,7 @@ function SelectTrigger({
|
|
|
119
125
|
});
|
|
120
126
|
}
|
|
121
127
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
128
|
+
ref: ctx.triggerRef,
|
|
122
129
|
onPress: ctx.open,
|
|
123
130
|
onFocus: onFocus,
|
|
124
131
|
onBlur: onBlur,
|
|
@@ -184,6 +191,58 @@ function SelectContent({
|
|
|
184
191
|
}) {
|
|
185
192
|
const ctx = useSelectContext();
|
|
186
193
|
const theme = (0, _useTheme.useTheme)();
|
|
194
|
+
const [position, setPosition] = (0, _react.useState)(null);
|
|
195
|
+
// The mounted dropdown node, as STATE rather than a bare ref: positioning has
|
|
196
|
+
// to measure it, and `Portal` renders null on its first pass (it resolves its
|
|
197
|
+
// host in its own layout effect), so the node lands one render after `isOpen`
|
|
198
|
+
// flips. An effect keyed only on `isOpen` would measure nothing.
|
|
199
|
+
const [dropdownNode, setDropdownNode] = (0, _react.useState)(null);
|
|
200
|
+
const attachDropdown = (0, _react.useCallback)(node => {
|
|
201
|
+
setDropdownNode(node);
|
|
202
|
+
}, []);
|
|
203
|
+
|
|
204
|
+
// Anchored to the trigger, left edges aligned, and never off-screen: sit below
|
|
205
|
+
// when it fits, flip above when it doesn't, clamp when neither. Before this the
|
|
206
|
+
// dropdown had no `top`/`left` at all, so it rendered at the `Portal` root's
|
|
207
|
+
// origin — the viewport's top-left corner — however far from its trigger.
|
|
208
|
+
(0, _react.useLayoutEffect)(() => {
|
|
209
|
+
if (!ctx.isOpen || typeof window === 'undefined') return;
|
|
210
|
+
const triggerNode = ctx.triggerRef.current;
|
|
211
|
+
if (!triggerNode?.getBoundingClientRect || !dropdownNode) return;
|
|
212
|
+
const updatePosition = () => {
|
|
213
|
+
const rect = triggerNode.getBoundingClientRect();
|
|
214
|
+
// Measured BEFORE `minWidth` is applied, so the final surface can only be
|
|
215
|
+
// wider than this — and a wider surface wraps less, so the measured height
|
|
216
|
+
// is an upper bound. Erring that way flips early in a tie, never late.
|
|
217
|
+
const surface = dropdownNode.getBoundingClientRect();
|
|
218
|
+
const width = Math.max(surface.width, rect.width);
|
|
219
|
+
setPosition({
|
|
220
|
+
position: _webViewStyle.WEB_POSITION_FIXED,
|
|
221
|
+
...(0, _dropdownPlacement.resolveDropdownPlacement)({
|
|
222
|
+
anchor: rect,
|
|
223
|
+
size: {
|
|
224
|
+
width,
|
|
225
|
+
height: surface.height
|
|
226
|
+
},
|
|
227
|
+
viewport: {
|
|
228
|
+
width: window.innerWidth,
|
|
229
|
+
height: window.innerHeight
|
|
230
|
+
},
|
|
231
|
+
offset: SELECT_OFFSET,
|
|
232
|
+
gutter: VIEWPORT_GUTTER,
|
|
233
|
+
align: 'start'
|
|
234
|
+
}),
|
|
235
|
+
minWidth: width
|
|
236
|
+
});
|
|
237
|
+
};
|
|
238
|
+
updatePosition();
|
|
239
|
+
window.addEventListener('resize', updatePosition);
|
|
240
|
+
window.addEventListener('scroll', updatePosition, true);
|
|
241
|
+
return () => {
|
|
242
|
+
window.removeEventListener('resize', updatePosition);
|
|
243
|
+
window.removeEventListener('scroll', updatePosition, true);
|
|
244
|
+
};
|
|
245
|
+
}, [ctx.isOpen, ctx.triggerRef, dropdownNode]);
|
|
187
246
|
if (!ctx.isOpen) return null;
|
|
188
247
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_indexWeb.Portal, {
|
|
189
248
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Backdrop, {
|
|
@@ -191,13 +250,14 @@ function SelectContent({
|
|
|
191
250
|
onPress: ctx.close,
|
|
192
251
|
accessibilityLabel: "Close selection"
|
|
193
252
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
253
|
+
ref: attachDropdown,
|
|
194
254
|
accessibilityRole: "list",
|
|
195
255
|
accessibilityLabel: label,
|
|
196
256
|
style: [styles.dropdown, {
|
|
197
257
|
backgroundColor: theme.isDark ? theme.colors.backgroundSecondary : theme.colors.background,
|
|
198
258
|
borderColor: theme.colors.borderLight,
|
|
199
259
|
...(0, _shadows.bloomShadowStyle)('m')
|
|
200
|
-
}],
|
|
260
|
+
}, position],
|
|
201
261
|
children: items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
|
|
202
262
|
children: renderItem(item, index, ctx.value)
|
|
203
263
|
}, valueExtractor(item)))
|
|
@@ -212,6 +272,7 @@ function SelectContent({
|
|
|
212
272
|
function SelectItem({
|
|
213
273
|
ref,
|
|
214
274
|
value,
|
|
275
|
+
label,
|
|
215
276
|
children,
|
|
216
277
|
style
|
|
217
278
|
}) {
|
|
@@ -236,7 +297,12 @@ function SelectItem({
|
|
|
236
297
|
}), [isSelected, hovered, focused]);
|
|
237
298
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
238
299
|
ref: ref,
|
|
239
|
-
accessibilityRole: "radio"
|
|
300
|
+
accessibilityRole: "radio"
|
|
301
|
+
// The native fork has always applied this; web declared `label` and then
|
|
302
|
+
// dropped it, leaving every option a `role="radio"` with no accessible
|
|
303
|
+
// name for a screen reader to announce.
|
|
304
|
+
,
|
|
305
|
+
accessibilityLabel: label,
|
|
240
306
|
accessibilityState: {
|
|
241
307
|
checked: isSelected
|
|
242
308
|
},
|
|
@@ -340,7 +406,14 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
340
406
|
pointerEvents: 'auto'
|
|
341
407
|
},
|
|
342
408
|
dropdown: {
|
|
343
|
-
|
|
409
|
+
// Fixed from the outset, not only once positioned: the `Portal` root is a
|
|
410
|
+
// block container, so a static child would stretch to the full viewport
|
|
411
|
+
// width and the pre-position measurement would under-read the height (less
|
|
412
|
+
// wrapping at a width the surface never actually has). A fixed box
|
|
413
|
+
// shrink-wraps to the same width it ends up with.
|
|
414
|
+
position: _webViewStyle.WEB_POSITION_FIXED,
|
|
415
|
+
top: 0,
|
|
416
|
+
left: 0,
|
|
344
417
|
zIndex: selectZIndex.surface,
|
|
345
418
|
borderRadius: 8,
|
|
346
419
|
borderWidth: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_index","_index2","_indexWeb","_zIndex","_webViewStyle","_shadows","_useInteractionState","_Chevron","_Check","_common","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","selectZIndex","createOverlayZIndex","SelectContext","createContext","displayName","useSelectContext","ctx","useContext","Error","Select","children","value","onValueChange","disabled","isOpen","setIsOpen","useState","useMemo","open","close","jsx","Provider","SelectTrigger","label","theme","useTheme","triggerId","useId","state","hovered","onIn","onMouseEnter","onOut","onMouseLeave","useInteractionState","focused","onFocus","onBlur","control","id","ref","current","pressed","props","onPress","accessibilityLabel","Pressable","accessibilityRole","style","styles","trigger","backgroundColor","colors","contrast50","borderColor","primary","SelectValue","extractLabel","placeholder","display","Text","numberOfLines","valueText","color","text","textSecondary","SelectIcon","ChevronBottom_Stroke2_Corner0_Rounded","size","fill","SelectContent","items","renderItem","valueExtractor","defaultItemValueExtractor","jsxs","Portal","Backdrop","backdrop","View","dropdown","isDark","backgroundSecondary","background","borderLight","bloomShadowStyle","map","item","index","Fragment","SelectItem","isSelected","itemCtx","selected","accessibilityState","checked","primaryLight","ItemContext","SelectItemText","itemText","SelectItemIndicator","icon","IconComponent","CheckIcon","useSelectItemContext","itemIndicatorPlaceholder","itemIndicatorContainer","SelectSeparator","separator","StyleSheet","create","flexDirection","position","alignItems","gap","justifyContent","paddingVertical","paddingHorizontal","borderRadius","maxWidth","borderWidth","borderStyle","fontSize","WEB_POSITION_FIXED","top","left","right","bottom","zIndex","pointerEvents","surface","overflow","padding","minWidth","minHeight","paddingLeft","paddingRight","width","height","marginVertical"],"sourceRoot":"../../../src","sources":["select/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_index","_index2","_indexWeb","_zIndex","_webViewStyle","_dropdownPlacement","_shadows","_useInteractionState","_Chevron","_Check","_common","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","selectZIndex","createOverlayZIndex","VIEWPORT_GUTTER","SELECT_OFFSET","SelectContext","createContext","displayName","useSelectContext","ctx","useContext","Error","Select","children","value","onValueChange","disabled","isOpen","setIsOpen","useState","triggerRef","useRef","useMemo","open","close","jsx","Provider","SelectTrigger","label","theme","useTheme","triggerId","useId","state","hovered","onIn","onMouseEnter","onOut","onMouseLeave","useInteractionState","focused","onFocus","onBlur","control","id","ref","current","pressed","props","onPress","accessibilityLabel","Pressable","accessibilityRole","style","styles","trigger","backgroundColor","colors","contrast50","borderColor","primary","SelectValue","extractLabel","placeholder","display","Text","numberOfLines","valueText","color","text","textSecondary","SelectIcon","ChevronBottom_Stroke2_Corner0_Rounded","size","fill","SelectContent","items","renderItem","valueExtractor","defaultItemValueExtractor","position","setPosition","dropdownNode","setDropdownNode","attachDropdown","useCallback","node","useLayoutEffect","window","triggerNode","getBoundingClientRect","updatePosition","rect","surface","width","Math","max","WEB_POSITION_FIXED","resolveDropdownPlacement","anchor","height","viewport","innerWidth","innerHeight","offset","gutter","align","minWidth","addEventListener","removeEventListener","jsxs","Portal","Backdrop","backdrop","View","dropdown","isDark","backgroundSecondary","background","borderLight","bloomShadowStyle","map","item","index","Fragment","SelectItem","isSelected","itemCtx","selected","accessibilityState","checked","primaryLight","ItemContext","SelectItemText","itemText","SelectItemIndicator","icon","IconComponent","CheckIcon","useSelectItemContext","itemIndicatorPlaceholder","itemIndicatorContainer","SelectSeparator","separator","StyleSheet","create","flexDirection","alignItems","gap","justifyContent","paddingVertical","paddingHorizontal","borderRadius","maxWidth","borderWidth","borderStyle","fontSize","top","left","right","bottom","zIndex","pointerEvents","overflow","padding","minHeight","paddingLeft","paddingRight","marginVertical"],"sourceRoot":"../../../src","sources":["select/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { createContext, useContext, useId, useMemo, useState } from 'react';
|
|
3
|
+
import React, { createContext, useCallback, useContext, useId, useLayoutEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { Pressable, StyleSheet, View } from 'react-native';
|
|
5
5
|
import { useTheme } from "../theme/use-theme.js";
|
|
6
6
|
import { Text } from "../typography/index.js";
|
|
@@ -8,6 +8,7 @@ import { Backdrop } from "../overlay/index.js";
|
|
|
8
8
|
import { Portal } from "../portal/index.web.js";
|
|
9
9
|
import { createOverlayZIndex } from "../styles/z-index.js";
|
|
10
10
|
import { WEB_POSITION_FIXED } from "../styles/web-view-style.js";
|
|
11
|
+
import { resolveDropdownPlacement } from "../overlay/dropdown-placement.js";
|
|
11
12
|
import { bloomShadowStyle } from '../design-tokens/shadows';
|
|
12
13
|
import { useInteractionState } from "../hooks/useInteractionState.js";
|
|
13
14
|
import { ChevronBottom_Stroke2_Corner0_Rounded as ChevronDownIcon } from "../icons/Chevron.js";
|
|
@@ -16,6 +17,8 @@ import { defaultItemValueExtractor, ItemContext, useSelectItemContext } from "./
|
|
|
16
17
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
18
|
export { useSelectItemContext };
|
|
18
19
|
const selectZIndex = createOverlayZIndex();
|
|
20
|
+
const VIEWPORT_GUTTER = 8;
|
|
21
|
+
const SELECT_OFFSET = 6;
|
|
19
22
|
|
|
20
23
|
// ---------------------------------------------------------------------------
|
|
21
24
|
// Context
|
|
@@ -42,13 +45,15 @@ export function Select({
|
|
|
42
45
|
disabled
|
|
43
46
|
}) {
|
|
44
47
|
const [isOpen, setIsOpen] = useState(false);
|
|
48
|
+
const triggerRef = useRef(null);
|
|
45
49
|
const ctx = useMemo(() => ({
|
|
46
50
|
value,
|
|
47
51
|
onValueChange,
|
|
48
52
|
disabled,
|
|
49
53
|
isOpen,
|
|
50
54
|
open: () => setIsOpen(true),
|
|
51
|
-
close: () => setIsOpen(false)
|
|
55
|
+
close: () => setIsOpen(false),
|
|
56
|
+
triggerRef
|
|
52
57
|
}), [value, onValueChange, disabled, isOpen]);
|
|
53
58
|
return /*#__PURE__*/_jsx(SelectContext.Provider, {
|
|
54
59
|
value: ctx,
|
|
@@ -93,6 +98,7 @@ export function SelectTrigger({
|
|
|
93
98
|
pressed: false
|
|
94
99
|
},
|
|
95
100
|
props: {
|
|
101
|
+
ref: ctx.triggerRef,
|
|
96
102
|
onPress: ctx.open,
|
|
97
103
|
onFocus,
|
|
98
104
|
onBlur,
|
|
@@ -101,6 +107,7 @@ export function SelectTrigger({
|
|
|
101
107
|
});
|
|
102
108
|
}
|
|
103
109
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
110
|
+
ref: ctx.triggerRef,
|
|
104
111
|
onPress: ctx.open,
|
|
105
112
|
onFocus: onFocus,
|
|
106
113
|
onBlur: onBlur,
|
|
@@ -166,6 +173,58 @@ export function SelectContent({
|
|
|
166
173
|
}) {
|
|
167
174
|
const ctx = useSelectContext();
|
|
168
175
|
const theme = useTheme();
|
|
176
|
+
const [position, setPosition] = useState(null);
|
|
177
|
+
// The mounted dropdown node, as STATE rather than a bare ref: positioning has
|
|
178
|
+
// to measure it, and `Portal` renders null on its first pass (it resolves its
|
|
179
|
+
// host in its own layout effect), so the node lands one render after `isOpen`
|
|
180
|
+
// flips. An effect keyed only on `isOpen` would measure nothing.
|
|
181
|
+
const [dropdownNode, setDropdownNode] = useState(null);
|
|
182
|
+
const attachDropdown = useCallback(node => {
|
|
183
|
+
setDropdownNode(node);
|
|
184
|
+
}, []);
|
|
185
|
+
|
|
186
|
+
// Anchored to the trigger, left edges aligned, and never off-screen: sit below
|
|
187
|
+
// when it fits, flip above when it doesn't, clamp when neither. Before this the
|
|
188
|
+
// dropdown had no `top`/`left` at all, so it rendered at the `Portal` root's
|
|
189
|
+
// origin — the viewport's top-left corner — however far from its trigger.
|
|
190
|
+
useLayoutEffect(() => {
|
|
191
|
+
if (!ctx.isOpen || typeof window === 'undefined') return;
|
|
192
|
+
const triggerNode = ctx.triggerRef.current;
|
|
193
|
+
if (!triggerNode?.getBoundingClientRect || !dropdownNode) return;
|
|
194
|
+
const updatePosition = () => {
|
|
195
|
+
const rect = triggerNode.getBoundingClientRect();
|
|
196
|
+
// Measured BEFORE `minWidth` is applied, so the final surface can only be
|
|
197
|
+
// wider than this — and a wider surface wraps less, so the measured height
|
|
198
|
+
// is an upper bound. Erring that way flips early in a tie, never late.
|
|
199
|
+
const surface = dropdownNode.getBoundingClientRect();
|
|
200
|
+
const width = Math.max(surface.width, rect.width);
|
|
201
|
+
setPosition({
|
|
202
|
+
position: WEB_POSITION_FIXED,
|
|
203
|
+
...resolveDropdownPlacement({
|
|
204
|
+
anchor: rect,
|
|
205
|
+
size: {
|
|
206
|
+
width,
|
|
207
|
+
height: surface.height
|
|
208
|
+
},
|
|
209
|
+
viewport: {
|
|
210
|
+
width: window.innerWidth,
|
|
211
|
+
height: window.innerHeight
|
|
212
|
+
},
|
|
213
|
+
offset: SELECT_OFFSET,
|
|
214
|
+
gutter: VIEWPORT_GUTTER,
|
|
215
|
+
align: 'start'
|
|
216
|
+
}),
|
|
217
|
+
minWidth: width
|
|
218
|
+
});
|
|
219
|
+
};
|
|
220
|
+
updatePosition();
|
|
221
|
+
window.addEventListener('resize', updatePosition);
|
|
222
|
+
window.addEventListener('scroll', updatePosition, true);
|
|
223
|
+
return () => {
|
|
224
|
+
window.removeEventListener('resize', updatePosition);
|
|
225
|
+
window.removeEventListener('scroll', updatePosition, true);
|
|
226
|
+
};
|
|
227
|
+
}, [ctx.isOpen, ctx.triggerRef, dropdownNode]);
|
|
169
228
|
if (!ctx.isOpen) return null;
|
|
170
229
|
return /*#__PURE__*/_jsxs(Portal, {
|
|
171
230
|
children: [/*#__PURE__*/_jsx(Backdrop, {
|
|
@@ -173,13 +232,14 @@ export function SelectContent({
|
|
|
173
232
|
onPress: ctx.close,
|
|
174
233
|
accessibilityLabel: "Close selection"
|
|
175
234
|
}), /*#__PURE__*/_jsx(View, {
|
|
235
|
+
ref: attachDropdown,
|
|
176
236
|
accessibilityRole: "list",
|
|
177
237
|
accessibilityLabel: label,
|
|
178
238
|
style: [styles.dropdown, {
|
|
179
239
|
backgroundColor: theme.isDark ? theme.colors.backgroundSecondary : theme.colors.background,
|
|
180
240
|
borderColor: theme.colors.borderLight,
|
|
181
241
|
...bloomShadowStyle('m')
|
|
182
|
-
}],
|
|
242
|
+
}, position],
|
|
183
243
|
children: items.map((item, index) => /*#__PURE__*/_jsx(React.Fragment, {
|
|
184
244
|
children: renderItem(item, index, ctx.value)
|
|
185
245
|
}, valueExtractor(item)))
|
|
@@ -194,6 +254,7 @@ export function SelectContent({
|
|
|
194
254
|
export function SelectItem({
|
|
195
255
|
ref,
|
|
196
256
|
value,
|
|
257
|
+
label,
|
|
197
258
|
children,
|
|
198
259
|
style
|
|
199
260
|
}) {
|
|
@@ -218,7 +279,12 @@ export function SelectItem({
|
|
|
218
279
|
}), [isSelected, hovered, focused]);
|
|
219
280
|
return /*#__PURE__*/_jsx(Pressable, {
|
|
220
281
|
ref: ref,
|
|
221
|
-
accessibilityRole: "radio"
|
|
282
|
+
accessibilityRole: "radio"
|
|
283
|
+
// The native fork has always applied this; web declared `label` and then
|
|
284
|
+
// dropped it, leaving every option a `role="radio"` with no accessible
|
|
285
|
+
// name for a screen reader to announce.
|
|
286
|
+
,
|
|
287
|
+
accessibilityLabel: label,
|
|
222
288
|
accessibilityState: {
|
|
223
289
|
checked: isSelected
|
|
224
290
|
},
|
|
@@ -322,7 +388,14 @@ const styles = StyleSheet.create({
|
|
|
322
388
|
pointerEvents: 'auto'
|
|
323
389
|
},
|
|
324
390
|
dropdown: {
|
|
325
|
-
|
|
391
|
+
// Fixed from the outset, not only once positioned: the `Portal` root is a
|
|
392
|
+
// block container, so a static child would stretch to the full viewport
|
|
393
|
+
// width and the pre-position measurement would under-read the height (less
|
|
394
|
+
// wrapping at a width the surface never actually has). A fixed box
|
|
395
|
+
// shrink-wraps to the same width it ends up with.
|
|
396
|
+
position: WEB_POSITION_FIXED,
|
|
397
|
+
top: 0,
|
|
398
|
+
left: 0,
|
|
326
399
|
zIndex: selectZIndex.surface,
|
|
327
400
|
borderRadius: 8,
|
|
328
401
|
borderWidth: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useId","useMemo","useState","Pressable","StyleSheet","View","useTheme","Text","Backdrop","Portal","createOverlayZIndex","WEB_POSITION_FIXED","bloomShadowStyle","useInteractionState","ChevronBottom_Stroke2_Corner0_Rounded","ChevronDownIcon","Check_Stroke2_Corner0_Rounded","CheckIcon","defaultItemValueExtractor","ItemContext","useSelectItemContext","jsx","_jsx","jsxs","_jsxs","selectZIndex","SelectContext","displayName","useSelectContext","ctx","Error","Select","children","value","onValueChange","disabled","isOpen","setIsOpen","open","close","Provider","SelectTrigger","label","theme","triggerId","state","hovered","onIn","onMouseEnter","onOut","onMouseLeave","focused","onFocus","onBlur","control","id","ref","current","pressed","props","onPress","accessibilityLabel","accessibilityRole","style","styles","trigger","backgroundColor","colors","contrast50","borderColor","primary","SelectValue","extractLabel","placeholder","display","numberOfLines","valueText","color","text","textSecondary","SelectIcon","size","fill","SelectContent","items","renderItem","valueExtractor","backdrop","dropdown","isDark","backgroundSecondary","background","borderLight","map","item","index","Fragment","SelectItem","isSelected","itemCtx","selected","accessibilityState","checked","primaryLight","SelectItemText","itemText","SelectItemIndicator","icon","IconComponent","itemIndicatorPlaceholder","itemIndicatorContainer","SelectSeparator","separator","create","flexDirection","position","alignItems","gap","justifyContent","paddingVertical","paddingHorizontal","borderRadius","maxWidth","borderWidth","borderStyle","fontSize","top","left","right","bottom","zIndex","pointerEvents","surface","overflow","padding","minWidth","minHeight","paddingLeft","paddingRight","width","height","marginVertical"],"sourceRoot":"../../../src","sources":["select/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useId","useLayoutEffect","useMemo","useRef","useState","Pressable","StyleSheet","View","useTheme","Text","Backdrop","Portal","createOverlayZIndex","WEB_POSITION_FIXED","resolveDropdownPlacement","bloomShadowStyle","useInteractionState","ChevronBottom_Stroke2_Corner0_Rounded","ChevronDownIcon","Check_Stroke2_Corner0_Rounded","CheckIcon","defaultItemValueExtractor","ItemContext","useSelectItemContext","jsx","_jsx","jsxs","_jsxs","selectZIndex","VIEWPORT_GUTTER","SELECT_OFFSET","SelectContext","displayName","useSelectContext","ctx","Error","Select","children","value","onValueChange","disabled","isOpen","setIsOpen","triggerRef","open","close","Provider","SelectTrigger","label","theme","triggerId","state","hovered","onIn","onMouseEnter","onOut","onMouseLeave","focused","onFocus","onBlur","control","id","ref","current","pressed","props","onPress","accessibilityLabel","accessibilityRole","style","styles","trigger","backgroundColor","colors","contrast50","borderColor","primary","SelectValue","extractLabel","placeholder","display","numberOfLines","valueText","color","text","textSecondary","SelectIcon","size","fill","SelectContent","items","renderItem","valueExtractor","position","setPosition","dropdownNode","setDropdownNode","attachDropdown","node","window","triggerNode","getBoundingClientRect","updatePosition","rect","surface","width","Math","max","anchor","height","viewport","innerWidth","innerHeight","offset","gutter","align","minWidth","addEventListener","removeEventListener","backdrop","dropdown","isDark","backgroundSecondary","background","borderLight","map","item","index","Fragment","SelectItem","isSelected","itemCtx","selected","accessibilityState","checked","primaryLight","SelectItemText","itemText","SelectItemIndicator","icon","IconComponent","itemIndicatorPlaceholder","itemIndicatorContainer","SelectSeparator","separator","create","flexDirection","alignItems","gap","justifyContent","paddingVertical","paddingHorizontal","borderRadius","maxWidth","borderWidth","borderStyle","fontSize","top","left","right","bottom","zIndex","pointerEvents","overflow","padding","minHeight","paddingLeft","paddingRight","marginVertical"],"sourceRoot":"../../../src","sources":["select/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ export declare function SelectTrigger({ children, label }: SelectTriggerProps):
|
|
|
7
7
|
export declare function SelectValue({ children: extractLabel, placeholder, style, }: SelectValueProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare function SelectIcon({ style }: SelectIconProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export declare function SelectContent<T>({ items, renderItem, label, valueExtractor, }: SelectContentProps<T>): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
-
export declare function SelectItem({ ref, value, children, style }: SelectItemProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function SelectItem({ ref, value, label, children, style }: SelectItemProps): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare function SelectItemText({ children, style }: SelectItemTextProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export declare function SelectItemIndicator({ icon: IconComponent }: SelectItemIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export declare function SelectSeparator(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/select/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/select/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAiBf,OAAO,EAA0C,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAiChC,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAkB/E;AAMD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB,yTAyDpE;AAMD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EAAE,YAAY,EACtB,WAAW,EACX,KAAK,GACN,EAAE,gBAAgB,2CAkBlB;AAMD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAGpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,UAAU,EACV,KAA0B,EAC1B,cAA0C,GAC3C,EAAE,kBAAkB,CAAC,CAAC,CAAC,kDAyFvB;AAMD,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,2CA6CjF;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAMtE;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,2CAYhG;AAMD,wBAAgB,eAAe,4CAW9B"}
|
|
@@ -19,6 +19,12 @@ export type TriggerChildProps = {
|
|
|
19
19
|
pressed: boolean;
|
|
20
20
|
};
|
|
21
21
|
props: {
|
|
22
|
+
/**
|
|
23
|
+
* Attach this to the element the trigger actually renders. On web the
|
|
24
|
+
* dropdown is positioned against its measured rect; a trigger that drops
|
|
25
|
+
* it falls back to the viewport's top-left corner.
|
|
26
|
+
*/
|
|
27
|
+
ref?: React.Ref<unknown>;
|
|
22
28
|
onPress: () => void;
|
|
23
29
|
onFocus: () => void;
|
|
24
30
|
onBlur: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5E,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;IAClC;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,oEAAoE;IACpE,UAAU,EAAE,CACV,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,KAC1B,KAAK,CAAC,YAAY,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/select/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare function SelectTrigger({ children, label }: SelectTriggerProps):
|
|
|
7
7
|
export declare function SelectValue({ children: extractLabel, placeholder, style, }: SelectValueProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export declare function SelectIcon({ style }: SelectIconProps): import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export declare function SelectContent<T>({ items, renderItem, label, valueExtractor, }: SelectContentProps<T>): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
-
export declare function SelectItem({ ref, value, children, style }: SelectItemProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function SelectItem({ ref, value, label, children, style }: SelectItemProps): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
export declare function SelectItemText({ children, style }: SelectItemTextProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export declare function SelectItemIndicator({ icon: IconComponent }: SelectItemIndicatorProps): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export declare function SelectSeparator(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/select/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/select/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KASN,MAAM,OAAO,CAAC;AAiBf,OAAO,EAA0C,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACxF,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,WAAW,EAEX,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAiChC,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,WAAW,2CAkB/E;AAMD,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,kBAAkB,yTAyDpE;AAMD,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EAAE,YAAY,EACtB,WAAW,EACX,KAAK,GACN,EAAE,gBAAgB,2CAkBlB;AAMD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,2CAGpD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,KAAK,EACL,UAAU,EACV,KAA0B,EAC1B,cAA0C,GAC3C,EAAE,kBAAkB,CAAC,CAAC,CAAC,kDAyFvB;AAMD,wBAAgB,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,eAAe,2CA6CjF;AAMD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAMtE;AAMD,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,aAAyB,EAAE,EAAE,wBAAwB,2CAYhG;AAMD,wBAAgB,eAAe,4CAW9B"}
|
|
@@ -19,6 +19,12 @@ export type TriggerChildProps = {
|
|
|
19
19
|
pressed: boolean;
|
|
20
20
|
};
|
|
21
21
|
props: {
|
|
22
|
+
/**
|
|
23
|
+
* Attach this to the element the trigger actually renders. On web the
|
|
24
|
+
* dropdown is positioned against its measured rect; a trigger that drops
|
|
25
|
+
* it falls back to the viewport's top-left corner.
|
|
26
|
+
*/
|
|
27
|
+
ref?: React.Ref<unknown>;
|
|
22
28
|
onPress: () => void;
|
|
23
29
|
onFocus: () => void;
|
|
24
30
|
onBlur: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/select/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/select/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { render } from '@testing-library/react-native';
|
|
3
|
+
|
|
4
|
+
import { BloomThemeProvider } from '../theme/BloomThemeProvider';
|
|
5
|
+
// Imported by explicit filename: jest has no platform-extension resolution, so
|
|
6
|
+
// `'../select'` would silently exercise the NATIVE fork — which has always
|
|
7
|
+
// applied the label — and the suite would pass no matter what the web fork did.
|
|
8
|
+
import {
|
|
9
|
+
Select as WebSelect,
|
|
10
|
+
SelectItem as WebSelectItem,
|
|
11
|
+
SelectItemText as WebSelectItemText,
|
|
12
|
+
} from '../select/index.web';
|
|
13
|
+
import {
|
|
14
|
+
Select as NativeSelect,
|
|
15
|
+
SelectItem as NativeSelectItem,
|
|
16
|
+
SelectItemText as NativeSelectItemText,
|
|
17
|
+
} from '../select/index';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* `SelectItem` renders `accessibilityRole="radio"`. A radio with no accessible
|
|
21
|
+
* name is announced as nothing at all, and the web fork declared `label` in its
|
|
22
|
+
* props type and then dropped it on the floor — invisible to `tsc`, since an
|
|
23
|
+
* unused destructured prop is not an error.
|
|
24
|
+
*
|
|
25
|
+
* Both forks are asserted from one file so the platforms cannot drift again.
|
|
26
|
+
*/
|
|
27
|
+
describe.each([
|
|
28
|
+
['web', WebSelect, WebSelectItem, WebSelectItemText] as const,
|
|
29
|
+
['native', NativeSelect, NativeSelectItem, NativeSelectItemText] as const,
|
|
30
|
+
])('SelectItem (%s fork)', (_platform, Select, SelectItem, SelectItemText) => {
|
|
31
|
+
it('exposes its label as the accessible name', () => {
|
|
32
|
+
const { getByLabelText } = render(
|
|
33
|
+
<BloomThemeProvider mode="light" colorPreset="teal">
|
|
34
|
+
<Select value="a">
|
|
35
|
+
<SelectItem value="a" label="Option A">
|
|
36
|
+
<SelectItemText>Option A</SelectItemText>
|
|
37
|
+
</SelectItem>
|
|
38
|
+
</Select>
|
|
39
|
+
</BloomThemeProvider>,
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
const item = getByLabelText('Option A');
|
|
43
|
+
expect(item).toBeTruthy();
|
|
44
|
+
expect(item.props.accessibilityRole).toBe('radio');
|
|
45
|
+
});
|
|
46
|
+
});
|
package/src/select/index.web.tsx
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
import React, {
|
|
2
|
-
|
|
1
|
+
import React, {
|
|
2
|
+
createContext,
|
|
3
|
+
useCallback,
|
|
4
|
+
useContext,
|
|
5
|
+
useId,
|
|
6
|
+
useLayoutEffect,
|
|
7
|
+
useMemo,
|
|
8
|
+
useRef,
|
|
9
|
+
useState,
|
|
10
|
+
} from 'react';
|
|
11
|
+
import { Pressable, StyleSheet, View, type ViewStyle } from 'react-native';
|
|
3
12
|
|
|
4
13
|
import { useTheme } from '../theme/use-theme';
|
|
5
14
|
import { Text } from '../typography';
|
|
@@ -7,6 +16,7 @@ import { Backdrop } from '../overlay';
|
|
|
7
16
|
import { Portal } from '../portal/index.web';
|
|
8
17
|
import { createOverlayZIndex } from '../styles/z-index';
|
|
9
18
|
import { WEB_POSITION_FIXED } from '../styles/web-view-style';
|
|
19
|
+
import { resolveDropdownPlacement } from '../overlay/dropdown-placement';
|
|
10
20
|
import { bloomShadowStyle } from '../design-tokens/shadows';
|
|
11
21
|
import { RadioIndicator } from '../radio-indicator';
|
|
12
22
|
import { useInteractionState } from '../hooks/useInteractionState';
|
|
@@ -30,6 +40,8 @@ import type {
|
|
|
30
40
|
export { useSelectItemContext };
|
|
31
41
|
|
|
32
42
|
const selectZIndex = createOverlayZIndex();
|
|
43
|
+
const VIEWPORT_GUTTER = 8;
|
|
44
|
+
const SELECT_OFFSET = 6;
|
|
33
45
|
|
|
34
46
|
// ---------------------------------------------------------------------------
|
|
35
47
|
// Context
|
|
@@ -39,6 +51,8 @@ type SelectContextValue = Pick<SelectProps, 'value' | 'onValueChange' | 'disable
|
|
|
39
51
|
isOpen: boolean;
|
|
40
52
|
open: () => void;
|
|
41
53
|
close: () => void;
|
|
54
|
+
/** The trigger element, so `SelectContent` can position itself against it. */
|
|
55
|
+
triggerRef: React.RefObject<unknown>;
|
|
42
56
|
};
|
|
43
57
|
|
|
44
58
|
const SelectContext = createContext<SelectContextValue | null>(null);
|
|
@@ -58,6 +72,7 @@ function useSelectContext(): SelectContextValue {
|
|
|
58
72
|
|
|
59
73
|
export function Select({ children, value, onValueChange, disabled }: SelectProps) {
|
|
60
74
|
const [isOpen, setIsOpen] = useState(false);
|
|
75
|
+
const triggerRef = useRef<unknown>(null);
|
|
61
76
|
|
|
62
77
|
const ctx = useMemo<SelectContextValue>(
|
|
63
78
|
() => ({
|
|
@@ -67,6 +82,7 @@ export function Select({ children, value, onValueChange, disabled }: SelectProps
|
|
|
67
82
|
isOpen,
|
|
68
83
|
open: () => setIsOpen(true),
|
|
69
84
|
close: () => setIsOpen(false),
|
|
85
|
+
triggerRef,
|
|
70
86
|
}),
|
|
71
87
|
[value, onValueChange, disabled, isOpen],
|
|
72
88
|
);
|
|
@@ -103,6 +119,7 @@ export function SelectTrigger({ children, label }: SelectTriggerProps) {
|
|
|
103
119
|
pressed: false,
|
|
104
120
|
},
|
|
105
121
|
props: {
|
|
122
|
+
ref: ctx.triggerRef,
|
|
106
123
|
onPress: ctx.open,
|
|
107
124
|
onFocus,
|
|
108
125
|
onBlur,
|
|
@@ -113,6 +130,7 @@ export function SelectTrigger({ children, label }: SelectTriggerProps) {
|
|
|
113
130
|
|
|
114
131
|
return (
|
|
115
132
|
<Pressable
|
|
133
|
+
ref={ctx.triggerRef as React.Ref<View>}
|
|
116
134
|
onPress={ctx.open}
|
|
117
135
|
onFocus={onFocus}
|
|
118
136
|
onBlur={onBlur}
|
|
@@ -184,6 +202,58 @@ export function SelectContent<T>({
|
|
|
184
202
|
}: SelectContentProps<T>) {
|
|
185
203
|
const ctx = useSelectContext();
|
|
186
204
|
const theme = useTheme();
|
|
205
|
+
const [position, setPosition] = useState<ViewStyle | null>(null);
|
|
206
|
+
// The mounted dropdown node, as STATE rather than a bare ref: positioning has
|
|
207
|
+
// to measure it, and `Portal` renders null on its first pass (it resolves its
|
|
208
|
+
// host in its own layout effect), so the node lands one render after `isOpen`
|
|
209
|
+
// flips. An effect keyed only on `isOpen` would measure nothing.
|
|
210
|
+
const [dropdownNode, setDropdownNode] = useState<HTMLElement | null>(null);
|
|
211
|
+
|
|
212
|
+
const attachDropdown = useCallback((node: View | null) => {
|
|
213
|
+
setDropdownNode(node as unknown as HTMLElement | null);
|
|
214
|
+
}, []);
|
|
215
|
+
|
|
216
|
+
// Anchored to the trigger, left edges aligned, and never off-screen: sit below
|
|
217
|
+
// when it fits, flip above when it doesn't, clamp when neither. Before this the
|
|
218
|
+
// dropdown had no `top`/`left` at all, so it rendered at the `Portal` root's
|
|
219
|
+
// origin — the viewport's top-left corner — however far from its trigger.
|
|
220
|
+
useLayoutEffect(() => {
|
|
221
|
+
if (!ctx.isOpen || typeof window === 'undefined') return;
|
|
222
|
+
|
|
223
|
+
const triggerNode = ctx.triggerRef.current as HTMLElement | null;
|
|
224
|
+
if (!triggerNode?.getBoundingClientRect || !dropdownNode) return;
|
|
225
|
+
|
|
226
|
+
const updatePosition = () => {
|
|
227
|
+
const rect = triggerNode.getBoundingClientRect();
|
|
228
|
+
// Measured BEFORE `minWidth` is applied, so the final surface can only be
|
|
229
|
+
// wider than this — and a wider surface wraps less, so the measured height
|
|
230
|
+
// is an upper bound. Erring that way flips early in a tie, never late.
|
|
231
|
+
const surface = dropdownNode.getBoundingClientRect();
|
|
232
|
+
const width = Math.max(surface.width, rect.width);
|
|
233
|
+
|
|
234
|
+
setPosition({
|
|
235
|
+
position: WEB_POSITION_FIXED,
|
|
236
|
+
...resolveDropdownPlacement({
|
|
237
|
+
anchor: rect,
|
|
238
|
+
size: { width, height: surface.height },
|
|
239
|
+
viewport: { width: window.innerWidth, height: window.innerHeight },
|
|
240
|
+
offset: SELECT_OFFSET,
|
|
241
|
+
gutter: VIEWPORT_GUTTER,
|
|
242
|
+
align: 'start',
|
|
243
|
+
}),
|
|
244
|
+
minWidth: width,
|
|
245
|
+
});
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
updatePosition();
|
|
249
|
+
window.addEventListener('resize', updatePosition);
|
|
250
|
+
window.addEventListener('scroll', updatePosition, true);
|
|
251
|
+
|
|
252
|
+
return () => {
|
|
253
|
+
window.removeEventListener('resize', updatePosition);
|
|
254
|
+
window.removeEventListener('scroll', updatePosition, true);
|
|
255
|
+
};
|
|
256
|
+
}, [ctx.isOpen, ctx.triggerRef, dropdownNode]);
|
|
187
257
|
|
|
188
258
|
if (!ctx.isOpen) return null;
|
|
189
259
|
|
|
@@ -195,6 +265,7 @@ export function SelectContent<T>({
|
|
|
195
265
|
accessibilityLabel="Close selection"
|
|
196
266
|
/>
|
|
197
267
|
<View
|
|
268
|
+
ref={attachDropdown}
|
|
198
269
|
accessibilityRole="list"
|
|
199
270
|
accessibilityLabel={label}
|
|
200
271
|
style={[
|
|
@@ -206,6 +277,7 @@ export function SelectContent<T>({
|
|
|
206
277
|
borderColor: theme.colors.borderLight,
|
|
207
278
|
...bloomShadowStyle('m'),
|
|
208
279
|
},
|
|
280
|
+
position,
|
|
209
281
|
]}
|
|
210
282
|
>
|
|
211
283
|
{items.map((item, index) => (
|
|
@@ -222,7 +294,7 @@ export function SelectContent<T>({
|
|
|
222
294
|
// SelectItem
|
|
223
295
|
// ---------------------------------------------------------------------------
|
|
224
296
|
|
|
225
|
-
export function SelectItem({ ref, value, children, style }: SelectItemProps) {
|
|
297
|
+
export function SelectItem({ ref, value, label, children, style }: SelectItemProps) {
|
|
226
298
|
const theme = useTheme();
|
|
227
299
|
const ctx = useSelectContext();
|
|
228
300
|
const {
|
|
@@ -243,6 +315,10 @@ export function SelectItem({ ref, value, children, style }: SelectItemProps) {
|
|
|
243
315
|
<Pressable
|
|
244
316
|
ref={ref}
|
|
245
317
|
accessibilityRole="radio"
|
|
318
|
+
// The native fork has always applied this; web declared `label` and then
|
|
319
|
+
// dropped it, leaving every option a `role="radio"` with no accessible
|
|
320
|
+
// name for a screen reader to announce.
|
|
321
|
+
accessibilityLabel={label}
|
|
246
322
|
accessibilityState={{ checked: isSelected }}
|
|
247
323
|
onPress={() => {
|
|
248
324
|
ctx.onValueChange?.(value);
|
|
@@ -344,7 +420,14 @@ const styles = StyleSheet.create({
|
|
|
344
420
|
pointerEvents: 'auto',
|
|
345
421
|
},
|
|
346
422
|
dropdown: {
|
|
347
|
-
|
|
423
|
+
// Fixed from the outset, not only once positioned: the `Portal` root is a
|
|
424
|
+
// block container, so a static child would stretch to the full viewport
|
|
425
|
+
// width and the pre-position measurement would under-read the height (less
|
|
426
|
+
// wrapping at a width the surface never actually has). A fixed box
|
|
427
|
+
// shrink-wraps to the same width it ends up with.
|
|
428
|
+
position: WEB_POSITION_FIXED,
|
|
429
|
+
top: 0,
|
|
430
|
+
left: 0,
|
|
348
431
|
zIndex: selectZIndex.surface,
|
|
349
432
|
borderRadius: 8,
|
|
350
433
|
borderWidth: 1,
|
package/src/select/types.ts
CHANGED
|
@@ -23,6 +23,12 @@ export type TriggerChildProps = {
|
|
|
23
23
|
pressed: boolean;
|
|
24
24
|
};
|
|
25
25
|
props: {
|
|
26
|
+
/**
|
|
27
|
+
* Attach this to the element the trigger actually renders. On web the
|
|
28
|
+
* dropdown is positioned against its measured rect; a trigger that drops
|
|
29
|
+
* it falls back to the viewport's top-left corner.
|
|
30
|
+
*/
|
|
31
|
+
ref?: React.Ref<unknown>;
|
|
26
32
|
onPress: () => void;
|
|
27
33
|
onFocus: () => void;
|
|
28
34
|
onBlur: () => void;
|