@oxyhq/bloom 0.8.3 → 0.8.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/lib/commonjs/menu/index.web.js +59 -12
- package/lib/commonjs/menu/index.web.js.map +1 -1
- package/lib/commonjs/theme/native-root-vars.js +1 -2
- package/lib/commonjs/theme/native-root-vars.js.map +1 -1
- package/lib/commonjs/theme/native-root-vars.native.js +5 -5
- package/lib/module/menu/index.web.js +60 -13
- package/lib/module/menu/index.web.js.map +1 -1
- package/lib/module/theme/native-root-vars.js +1 -2
- package/lib/module/theme/native-root-vars.js.map +1 -1
- package/lib/module/theme/native-root-vars.native.js +5 -5
- package/lib/typescript/commonjs/menu/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/menu/types.d.ts +11 -0
- package/lib/typescript/commonjs/menu/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/native-root-vars.d.ts +1 -2
- package/lib/typescript/commonjs/theme/native-root-vars.d.ts.map +1 -1
- package/lib/typescript/module/menu/index.web.d.ts.map +1 -1
- package/lib/typescript/module/menu/types.d.ts +11 -0
- package/lib/typescript/module/menu/types.d.ts.map +1 -1
- package/lib/typescript/module/theme/native-root-vars.d.ts +1 -2
- package/lib/typescript/module/theme/native-root-vars.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/menu/index.web.tsx +84 -20
- package/src/menu/types.ts +12 -0
- package/src/react-native-css.d.ts +12 -13
- package/src/theme/native-root-vars.native.ts +5 -5
- package/src/theme/native-root-vars.ts +1 -2
|
@@ -22,11 +22,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
22
22
|
var _reactNative = require("react-native");
|
|
23
23
|
var _useTheme = require("../theme/use-theme.js");
|
|
24
24
|
var _index = require("../typography/index.js");
|
|
25
|
+
var _indexWeb = require("../portal/index.web.js");
|
|
25
26
|
var _zIndex = require("../styles/z-index.js");
|
|
26
27
|
var _context = require("./context.js");
|
|
27
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
28
29
|
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); }
|
|
29
30
|
const menuZIndex = (0, _zIndex.createDropdownZIndex)();
|
|
31
|
+
const VIEWPORT_GUTTER = 8;
|
|
32
|
+
const MENU_OFFSET = 6;
|
|
30
33
|
function useMenuControl() {
|
|
31
34
|
const id = (0, _react.useId)();
|
|
32
35
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
@@ -74,9 +77,13 @@ function Root({
|
|
|
74
77
|
const activeControl = control ?? defaultControl;
|
|
75
78
|
const dialogControl = useMenuControlAsDialogControl(activeControl);
|
|
76
79
|
const rootRef = (0, _react.useRef)(null);
|
|
80
|
+
const triggerRef = (0, _react.useRef)(null);
|
|
81
|
+
const dropdownRef = (0, _react.useRef)(null);
|
|
77
82
|
const context = (0, _react.useMemo)(() => ({
|
|
78
83
|
control: dialogControl,
|
|
79
|
-
isOpen: activeControl.isOpen
|
|
84
|
+
isOpen: activeControl.isOpen,
|
|
85
|
+
triggerRef,
|
|
86
|
+
dropdownRef
|
|
80
87
|
}), [activeControl.isOpen, dialogControl]);
|
|
81
88
|
(0, _react.useEffect)(() => {
|
|
82
89
|
if (!activeControl.isOpen || typeof document === 'undefined') {
|
|
@@ -84,7 +91,9 @@ function Root({
|
|
|
84
91
|
}
|
|
85
92
|
const handlePointerDown = event => {
|
|
86
93
|
const rootNode = rootRef.current;
|
|
87
|
-
|
|
94
|
+
const dropdownNode = dropdownRef.current;
|
|
95
|
+
const eventTarget = event.target;
|
|
96
|
+
if (rootNode?.contains(eventTarget) || dropdownNode?.contains(eventTarget)) {
|
|
88
97
|
return;
|
|
89
98
|
}
|
|
90
99
|
activeControl.close();
|
|
@@ -117,7 +126,8 @@ function Trigger({
|
|
|
117
126
|
hint
|
|
118
127
|
}) {
|
|
119
128
|
const {
|
|
120
|
-
control
|
|
129
|
+
control,
|
|
130
|
+
triggerRef
|
|
121
131
|
} = (0, _context.useMenuContext)();
|
|
122
132
|
const [hovered, setHovered] = (0, _react.useState)(false);
|
|
123
133
|
const [focused, setFocused] = (0, _react.useState)(false);
|
|
@@ -129,6 +139,7 @@ function Trigger({
|
|
|
129
139
|
pressed: false
|
|
130
140
|
},
|
|
131
141
|
props: {
|
|
142
|
+
ref: triggerRef,
|
|
132
143
|
onPress: () => control.open(),
|
|
133
144
|
onFocus: () => setFocused(true),
|
|
134
145
|
onBlur: () => setFocused(false),
|
|
@@ -144,18 +155,51 @@ function Outer({
|
|
|
144
155
|
}) {
|
|
145
156
|
const theme = (0, _useTheme.useTheme)();
|
|
146
157
|
const context = (0, _context.useMenuContext)();
|
|
147
|
-
const
|
|
158
|
+
const [position, setPosition] = (0, _react.useState)(null);
|
|
159
|
+
(0, _react.useLayoutEffect)(() => {
|
|
160
|
+
if (!context.isOpen || typeof window === 'undefined') {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const triggerNode = context.triggerRef?.current;
|
|
164
|
+
if (!triggerNode?.getBoundingClientRect) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const updatePosition = () => {
|
|
168
|
+
const rect = triggerNode.getBoundingClientRect();
|
|
169
|
+
const width = Math.max(180, rect.width);
|
|
170
|
+
const availableRight = window.innerWidth - VIEWPORT_GUTTER;
|
|
171
|
+
const left = Math.min(Math.max(VIEWPORT_GUTTER, rect.right - width), Math.max(VIEWPORT_GUTTER, availableRight - width));
|
|
172
|
+
const top = Math.min(rect.bottom + MENU_OFFSET, Math.max(VIEWPORT_GUTTER, window.innerHeight - VIEWPORT_GUTTER));
|
|
173
|
+
setPosition({
|
|
174
|
+
position: 'fixed',
|
|
175
|
+
top,
|
|
176
|
+
left,
|
|
177
|
+
right: undefined,
|
|
178
|
+
bottom: undefined,
|
|
179
|
+
minWidth: width
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
updatePosition();
|
|
183
|
+
window.addEventListener('resize', updatePosition);
|
|
184
|
+
window.addEventListener('scroll', updatePosition, true);
|
|
185
|
+
return () => {
|
|
186
|
+
window.removeEventListener('resize', updatePosition);
|
|
187
|
+
window.removeEventListener('scroll', updatePosition, true);
|
|
188
|
+
};
|
|
189
|
+
}, [context.isOpen, context.triggerRef]);
|
|
148
190
|
if (!context.isOpen) {
|
|
149
191
|
return null;
|
|
150
192
|
}
|
|
151
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
193
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_indexWeb.Portal, {
|
|
194
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
195
|
+
ref: context.dropdownRef,
|
|
196
|
+
style: [styles.dropdown, {
|
|
197
|
+
backgroundColor: theme.isDark ? theme.colors.backgroundSecondary : theme.colors.background,
|
|
198
|
+
borderColor: theme.colors.borderLight,
|
|
199
|
+
shadowColor: theme.colors.shadow
|
|
200
|
+
}, style, styles.portaledDropdown, position],
|
|
201
|
+
children: children
|
|
202
|
+
})
|
|
159
203
|
});
|
|
160
204
|
}
|
|
161
205
|
function Item({
|
|
@@ -270,6 +314,9 @@ const styles = _reactNative.StyleSheet.create({
|
|
|
270
314
|
},
|
|
271
315
|
minWidth: 180
|
|
272
316
|
},
|
|
317
|
+
portaledDropdown: {
|
|
318
|
+
pointerEvents: 'auto'
|
|
319
|
+
},
|
|
273
320
|
webItem: {
|
|
274
321
|
flexDirection: 'row',
|
|
275
322
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_index","_zIndex","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","menuZIndex","createDropdownZIndex","useMenuControl","id","useId","isOpen","setIsOpen","useState","useMemo","open","close","useMenuControlAsDialogControl","menuControl","ref","useRef","dialogControl","cb","Root","children","control","defaultControl","activeControl","rootRef","context","useEffect","document","undefined","handlePointerDown","event","rootNode","current","contains","target","handleKeyDown","key","addEventListener","removeEventListener","jsx","MenuContext","Provider","value","View","style","styles","root","openRoot","Trigger","label","role","hint","useMenuContext","hovered","setHovered","focused","setFocused","state","pressed","props","onPress","onFocus","onBlur","accessibilityHint","accessibilityLabel","accessibilityRole","Outer","theme","useTheme","dropdownRef","dropdown","backgroundColor","isDark","colors","backgroundSecondary","background","borderColor","borderLight","shadowColor","shadow","Item","rest","handlePress","useCallback","defaultPrevented","isDisabled","Boolean","disabled","isHighlighted","itemContextValue","Pressable","onMouseEnter","onMouseLeave","webItem","contrast50","ItemContext","ItemText","useMenuItemContext","Text","webItemText","color","textTertiary","text","ItemIcon","icon","Comp","position","fill","iconLeft","iconRight","size","textSecondary","Group","Fragment","Divider","divider","StyleSheet","create","zIndex","borderRadius","padding","borderWidth","overflow","surface","shadowOpacity","shadowRadius","shadowOffset","width","height","minWidth","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","minHeight","flex","fontWeight","marginLeft","marginRight","marginVertical"],"sourceRoot":"../../../src","sources":["menu/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useTheme","_index","_indexWeb","_zIndex","_context","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","menuZIndex","createDropdownZIndex","VIEWPORT_GUTTER","MENU_OFFSET","useMenuControl","id","useId","isOpen","setIsOpen","useState","useMemo","open","close","useMenuControlAsDialogControl","menuControl","ref","useRef","dialogControl","cb","Root","children","control","defaultControl","activeControl","rootRef","triggerRef","dropdownRef","context","useEffect","document","undefined","handlePointerDown","event","rootNode","current","dropdownNode","eventTarget","target","contains","handleKeyDown","key","addEventListener","removeEventListener","jsx","MenuContext","Provider","value","View","style","styles","root","openRoot","Trigger","label","role","hint","useMenuContext","hovered","setHovered","focused","setFocused","state","pressed","props","onPress","onFocus","onBlur","accessibilityHint","accessibilityLabel","accessibilityRole","Outer","theme","useTheme","position","setPosition","useLayoutEffect","window","triggerNode","getBoundingClientRect","updatePosition","rect","width","Math","max","availableRight","innerWidth","left","min","right","top","bottom","innerHeight","minWidth","Portal","dropdown","backgroundColor","isDark","colors","backgroundSecondary","background","borderColor","borderLight","shadowColor","shadow","portaledDropdown","Item","rest","handlePress","useCallback","defaultPrevented","isDisabled","Boolean","disabled","isHighlighted","itemContextValue","Pressable","onMouseEnter","onMouseLeave","webItem","contrast50","ItemContext","ItemText","useMenuItemContext","Text","webItemText","color","textTertiary","text","ItemIcon","icon","Comp","fill","iconLeft","iconRight","size","textSecondary","Group","Fragment","Divider","divider","StyleSheet","create","zIndex","borderRadius","padding","borderWidth","overflow","surface","shadowOpacity","shadowRadius","shadowOffset","height","pointerEvents","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","minHeight","flex","fontWeight","marginLeft","marginRight","marginVertical"],"sourceRoot":"../../../src","sources":["menu/index.web.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAYA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AAKmB,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAYnB,MAAMkB,UAAU,GAAG,IAAAC,4BAAoB,EAAC,CAAC;AACzC,MAAMC,eAAe,GAAG,CAAC;AACzB,MAAMC,WAAW,GAAG,CAAC;AASd,SAASC,cAAcA,CAAA,EAAqB;EACjD,MAAMC,EAAE,GAAG,IAAAC,YAAK,EAAC,CAAC;EAClB,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE3C,OAAO,IAAAC,cAAO,EACZ,OAAO;IACLL,EAAE;IACFE,MAAM;IACNI,IAAIA,CAAA,EAAG;MACLH,SAAS,CAAC,IAAI,CAAC;IACjB,CAAC;IACDI,KAAKA,CAAA,EAAG;MACNJ,SAAS,CAAC,KAAK,CAAC;IAClB;EACF,CAAC,CAAC,EACF,CAACH,EAAE,EAAEE,MAAM,CACb,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASM,6BAA6BA,CACpCC,WAA6B,EACT;EACpB,MAAMC,GAAG,GAAG,IAAAC,aAAM,EAAgE,IAAI,CAAC;EAEvF,OAAO,IAAAN,cAAO,EAAqB,MAAM;IACvC,MAAMO,aAAiC,GAAG;MACxCZ,EAAE,EAAES,WAAW,CAACT,EAAE;MAClBU,GAAG;MACHJ,IAAIA,CAAA,EAAG;QACLG,WAAW,CAACH,IAAI,CAAC,CAAC;MACpB,CAAC;MACDC,KAAKA,CAACM,EAAe,EAAE;QACrBJ,WAAW,CAACF,KAAK,CAAC,CAAC;QACnB,IAAI,OAAOM,EAAE,KAAK,UAAU,EAAE;UAC5BA,EAAE,CAAC,CAAC;QACN;MACF;IACF,CAAC;IACD,OAAOD,aAAa;EACtB,CAAC,EAAE,CAACH,WAAW,CAAC,CAAC;AACnB;AAEO,SAASK,IAAIA,CAAC;EACnBC,QAAQ;EACRC;AAGD,CAAC,EAAE;EACF,MAAMC,cAAc,GAAGlB,cAAc,CAAC,CAAC;EACvC,MAAMmB,aAAa,GAAGF,OAAO,IAAIC,cAAc;EAC/C,MAAML,aAAa,GAAGJ,6BAA6B,CAACU,aAAa,CAAC;EAClE,MAAMC,OAAO,GAAG,IAAAR,aAAM,EAAO,IAAI,CAAC;EAClC,MAAMS,UAAU,GAAG,IAAAT,aAAM,EAAU,IAAI,CAAC;EACxC,MAAMU,WAAW,GAAG,IAAAV,aAAM,EAAU,IAAI,CAAC;EAEzC,MAAMW,OAAO,GAAG,IAAAjB,cAAO,EACrB,OAAO;IACLW,OAAO,EAAEJ,aAAa;IACtBV,MAAM,EAAEgB,aAAa,CAAChB,MAAM;IAC5BkB,UAAU;IACVC;EACF,CAAC,CAAC,EACF,CAACH,aAAa,CAAChB,MAAM,EAAEU,aAAa,CACtC,CAAC;EAED,IAAAW,gBAAS,EAAC,MAAM;IACd,IAAI,CAACL,aAAa,CAAChB,MAAM,IAAI,OAAOsB,QAAQ,KAAK,WAAW,EAAE;MAC5D,OAAOC,SAAS;IAClB;IAEA,MAAMC,iBAAiB,GAAIC,KAAmB,IAAK;MACjD,MAAMC,QAAQ,GAAGT,OAAO,CAACU,OAAwC;MACjE,MAAMC,YAAY,GAAGT,WAAW,CAACQ,OAA6B;MAC9D,MAAME,WAAW,GAAGJ,KAAK,CAACK,MAAc;MACxC,IAAIJ,QAAQ,EAAEK,QAAQ,CAACF,WAAW,CAAC,IAAID,YAAY,EAAEG,QAAQ,CAACF,WAAW,CAAC,EAAE;QAC1E;MACF;MACAb,aAAa,CAACX,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,MAAM2B,aAAa,GAAIP,KAAoB,IAAK;MAC9C,IAAIA,KAAK,CAACQ,GAAG,KAAK,QAAQ,EAAE;QAC1BjB,aAAa,CAACX,KAAK,CAAC,CAAC;MACvB;IACF,CAAC;IAEDiB,QAAQ,CAACY,gBAAgB,CAAC,aAAa,EAAEV,iBAAiB,EAAE,IAAI,CAAC;IACjEF,QAAQ,CAACY,gBAAgB,CAAC,SAAS,EAAEF,aAAa,CAAC;IAEnD,OAAO,MAAM;MACXV,QAAQ,CAACa,mBAAmB,CAAC,aAAa,EAAEX,iBAAiB,EAAE,IAAI,CAAC;MACpEF,QAAQ,CAACa,mBAAmB,CAAC,SAAS,EAAEH,aAAa,CAAC;IACxD,CAAC;EACH,CAAC,EAAE,CAAChB,aAAa,CAAC,CAAC;EAEnB,oBACE,IAAA3C,WAAA,CAAA+D,GAAA,EAAChE,QAAA,CAAAiE,WAAW,CAACC,QAAQ;IAACC,KAAK,EAAEnB,OAAQ;IAAAP,QAAA,eACnC,IAAAxC,WAAA,CAAA+D,GAAA,EAACrE,YAAA,CAAAyE,IAAI;MACHhC,GAAG,EAAES,OAAQ;MACbwB,KAAK,EAAE,CAACC,MAAM,CAACC,IAAI,EAAE3B,aAAa,CAAChB,MAAM,IAAI0C,MAAM,CAACE,QAAQ,CAAE;MAAA/B,QAAA,EAE7DA;IAAQ,CACL;EAAC,CACa,CAAC;AAE3B;AAEO,SAASgC,OAAOA,CAAC;EACtBhC,QAAQ;EACRiC,KAAK;EACLC,IAAI,GAAG,QAAQ;EACfC;AACY,CAAC,EAAE;EACf,MAAM;IAAElC,OAAO;IAAEI;EAAW,CAAC,GAAG,IAAA+B,uBAAc,EAAC,CAAC;EAChD,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAjD,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAM,CAACkD,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAnD,eAAQ,EAAC,KAAK,CAAC;EAE7C,OAAOW,QAAQ,CAAC;IACdC,OAAO;IACPwC,KAAK,EAAE;MACLJ,OAAO;MACPE,OAAO;MACPG,OAAO,EAAE;IACX,CAAC;IACDC,KAAK,EAAE;MACLhD,GAAG,EAAEU,UAAU;MACfuC,OAAO,EAAEA,CAAA,KAAM3C,OAAO,CAACV,IAAI,CAAC,CAAC;MAC7BsD,OAAO,EAAEA,CAAA,KAAML,UAAU,CAAC,IAAI,CAAC;MAC/BM,MAAM,EAAEA,CAAA,KAAMN,UAAU,CAAC,KAAK,CAAC;MAC/BO,iBAAiB,EAAEZ,IAAI;MACvBa,kBAAkB,EAAEf,KAAK;MACzBgB,iBAAiB,EAAEf;IACrB;EACF,CAAC,CAAC;AACJ;AAEO,SAASgB,KAAKA,CAAC;EACpBlD,QAAQ;EACR4B;AAID,CAAC,EAAE;EACF,MAAMuB,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAM7C,OAAO,GAAG,IAAA6B,uBAAc,EAAC,CAAC;EAChC,MAAM,CAACiB,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAjE,eAAQ,EAAmB,IAAI,CAAC;EAEhE,IAAAkE,sBAAe,EAAC,MAAM;IACpB,IAAI,CAAChD,OAAO,CAACpB,MAAM,IAAI,OAAOqE,MAAM,KAAK,WAAW,EAAE;MACpD;IACF;IAEA,MAAMC,WAAW,GAAGlD,OAAO,CAACF,UAAU,EAAES,OAA6B;IACrE,IAAI,CAAC2C,WAAW,EAAEC,qBAAqB,EAAE;MACvC;IACF;IAEA,MAAMC,cAAc,GAAGA,CAAA,KAAM;MAC3B,MAAMC,IAAI,GAAGH,WAAW,CAACC,qBAAqB,CAAC,CAAC;MAChD,MAAMG,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAEH,IAAI,CAACC,KAAK,CAAC;MACvC,MAAMG,cAAc,GAAGR,MAAM,CAACS,UAAU,GAAGnF,eAAe;MAC1D,MAAMoF,IAAI,GAAGJ,IAAI,CAACK,GAAG,CACnBL,IAAI,CAACC,GAAG,CAACjF,eAAe,EAAE8E,IAAI,CAACQ,KAAK,GAAGP,KAAK,CAAC,EAC7CC,IAAI,CAACC,GAAG,CAACjF,eAAe,EAAEkF,cAAc,GAAGH,KAAK,CAClD,CAAC;MACD,MAAMQ,GAAG,GAAGP,IAAI,CAACK,GAAG,CAClBP,IAAI,CAACU,MAAM,GAAGvF,WAAW,EACzB+E,IAAI,CAACC,GAAG,CAACjF,eAAe,EAAE0E,MAAM,CAACe,WAAW,GAAGzF,eAAe,CAChE,CAAC;MAEDwE,WAAW,CAAC;QACVD,QAAQ,EAAE,OAAqB;QAC/BgB,GAAG;QACHH,IAAI;QACJE,KAAK,EAAE1D,SAAS;QAChB4D,MAAM,EAAE5D,SAAS;QACjB8D,QAAQ,EAAEX;MACZ,CAAC,CAAC;IACJ,CAAC;IAEDF,cAAc,CAAC,CAAC;IAChBH,MAAM,CAACnC,gBAAgB,CAAC,QAAQ,EAAEsC,cAAc,CAAC;IACjDH,MAAM,CAACnC,gBAAgB,CAAC,QAAQ,EAAEsC,cAAc,EAAE,IAAI,CAAC;IAEvD,OAAO,MAAM;MACXH,MAAM,CAAClC,mBAAmB,CAAC,QAAQ,EAAEqC,cAAc,CAAC;MACpDH,MAAM,CAAClC,mBAAmB,CAAC,QAAQ,EAAEqC,cAAc,EAAE,IAAI,CAAC;IAC5D,CAAC;EACH,CAAC,EAAE,CAACpD,OAAO,CAACpB,MAAM,EAAEoB,OAAO,CAACF,UAAU,CAAC,CAAC;EAExC,IAAI,CAACE,OAAO,CAACpB,MAAM,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,oBACE,IAAA3B,WAAA,CAAA+D,GAAA,EAAClE,SAAA,CAAAoH,MAAM;IAAAzE,QAAA,eACL,IAAAxC,WAAA,CAAA+D,GAAA,EAACrE,YAAA,CAAAyE,IAAI;MACHhC,GAAG,EAAEY,OAAO,CAACD,WAA+B;MAC5CsB,KAAK,EAAE,CACLC,MAAM,CAAC6C,QAAQ,EACf;QACEC,eAAe,EAAExB,KAAK,CAACyB,MAAM,GACzBzB,KAAK,CAAC0B,MAAM,CAACC,mBAAmB,GAChC3B,KAAK,CAAC0B,MAAM,CAACE,UAAU;QAC3BC,WAAW,EAAE7B,KAAK,CAAC0B,MAAM,CAACI,WAAW;QACrCC,WAAW,EAAE/B,KAAK,CAAC0B,MAAM,CAACM;MAC5B,CAAC,EACDvD,KAAK,EACLC,MAAM,CAACuD,gBAAgB,EACvB/B,QAAQ,CACR;MAAArD,QAAA,EAEDA;IAAQ,CACL;EAAC,CACD,CAAC;AAEb;AAEO,SAASqF,IAAIA,CAAC;EAAErF,QAAQ;EAAEiC,KAAK;EAAEW,OAAO;EAAEhB,KAAK;EAAE,GAAG0D;AAAgB,CAAC,EAAE;EAC5E,MAAMnC,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAM;IAAEnD;EAAQ,CAAC,GAAG,IAAAmC,uBAAc,EAAC,CAAC;EACpC,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAjD,eAAQ,EAAC,KAAK,CAAC;EAC7C,MAAM,CAACkD,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAnD,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMkG,WAAW,GAAG,IAAAC,kBAAW,EAC5B/H,CAA+C,IAAK;IACnDmF,OAAO,CAACnF,CAAC,CAAC;IACV,IAAI,CAACA,CAAC,CAACgI,gBAAgB,EAAE;MACvBxF,OAAO,CAACT,KAAK,CAAC,CAAC;IACjB;EACF,CAAC,EACD,CAACS,OAAO,EAAE2C,OAAO,CACnB,CAAC;EAED,MAAM8C,UAAU,GAAGC,OAAO,CAACL,IAAI,CAACM,QAAQ,CAAC;EACzC,MAAMC,aAAa,GAAG,CAACxD,OAAO,IAAIE,OAAO,KAAK,CAACmD,UAAU;EAEzD,MAAMI,gBAAgB,GAAG,IAAAxG,cAAO,EAC9B,OAAO;IAAEsG,QAAQ,EAAEF;EAAW,CAAC,CAAC,EAChC,CAACA,UAAU,CACb,CAAC;EAED,oBACE,IAAAlI,WAAA,CAAA+D,GAAA,EAACrE,YAAA,CAAA6I,SAAS;IAAA,GACJT,IAAI;IACRvC,iBAAiB,EAAC,EAAE;IACpBC,kBAAkB,EAAEf,KAAM;IAC1BW,OAAO,EAAE2C,WAAY;IACrB1C,OAAO,EAAEA,CAAA,KAAML,UAAU,CAAC,IAAI,CAAE;IAChCM,MAAM,EAAEA,CAAA,KAAMN,UAAU,CAAC,KAAK,CAAE;IAE9BwD,YAAY,EAAEA,CAAA,KAAM1D,UAAU,CAAC,IAAI,CAAC;IACpC2D,YAAY,EAAEA,CAAA,KAAM3D,UAAU,CAAC,KAAK,CAAC;IAEvCV,KAAK,EAAE,CACLC,MAAM,CAACqE,OAAO,EACdL,aAAa,IAAI;MACflB,eAAe,EAAExB,KAAK,CAACyB,MAAM,GACzBzB,KAAK,CAAC0B,MAAM,CAACsB,UAAU,GACvBhD,KAAK,CAAC0B,MAAM,CAACC;IACnB,CAAC,EACDlD,KAAK,CACL;IAAA5B,QAAA,eAEF,IAAAxC,WAAA,CAAA+D,GAAA,EAAChE,QAAA,CAAA6I,WAAW,CAAC3E,QAAQ;MAACC,KAAK,EAAEoE,gBAAiB;MAAA9F,QAAA,EAC3CA;IAAQ,CACW;EAAC,CACd,CAAC;AAEhB;AAEO,SAASqG,QAAQA,CAAC;EAAErG,QAAQ;EAAE4B;AAAqB,CAAC,EAAE;EAC3D,MAAMuB,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAM;IAAEwC;EAAS,CAAC,GAAG,IAAAU,2BAAkB,EAAC,CAAC;EAEzC,oBACE,IAAA9I,WAAA,CAAA+D,GAAA,EAACnE,MAAA,CAAAmJ,IAAI;IACH3E,KAAK,EAAE,CACLC,MAAM,CAAC2E,WAAW,EAClB;MAAEC,KAAK,EAAEb,QAAQ,GAAGzC,KAAK,CAAC0B,MAAM,CAAC6B,YAAY,GAAGvD,KAAK,CAAC0B,MAAM,CAAC8B;IAAK,CAAC,EACnE,IAAI/E,KAAK,GAAG,CAACA,KAAK,CAAC,GAAG,EAAE,CAAC,CACzB;IAAA5B,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX;AAEO,SAAS4G,QAAQA,CAAC;EAAEC,IAAI,EAAEC,IAAI;EAAEzD,QAAQ,GAAG,MAAM;EAAE0D;AAAoB,CAAC,EAAE;EAC/E,MAAM5D,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACxB,MAAM;IAAEwC;EAAS,CAAC,GAAG,IAAAU,2BAAkB,EAAC,CAAC;EAEzC,oBACE,IAAA9I,WAAA,CAAA+D,GAAA,EAACrE,YAAA,CAAAyE,IAAI;IACHC,KAAK,EAAE,CACLyB,QAAQ,KAAK,MAAM,IAAIxB,MAAM,CAACmF,QAAQ,EACtC3D,QAAQ,KAAK,OAAO,IAAIxB,MAAM,CAACoF,SAAS,CACxC;IAAAjH,QAAA,eAEF,IAAAxC,WAAA,CAAA+D,GAAA,EAACuF,IAAI;MACHI,IAAI,EAAC,IAAI;MACTH,IAAI,EACFA,IAAI,GACAA,IAAI,CAAC;QAAEnB;MAAS,CAAC,CAAC,GAClBA,QAAQ,GACNzC,KAAK,CAAC0B,MAAM,CAAC6B,YAAY,GACzBvD,KAAK,CAAC0B,MAAM,CAACsC;IACpB,CACF;EAAC,CACE,CAAC;AAEX;AAEO,SAASC,KAAKA,CAAC;EAAEpH;AAAqB,CAAC,EAAE;EAC9C,oBAAO,IAAAxC,WAAA,CAAA+D,GAAA,EAAA/D,WAAA,CAAA6J,QAAA;IAAArH,QAAA,EAAGA;EAAQ,CAAG,CAAC;AACxB;AAEO,SAASsH,OAAOA,CAAA,EAAG;EACxB,MAAMnE,KAAK,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EAExB,oBACE,IAAA5F,WAAA,CAAA+D,GAAA,EAACrE,YAAA,CAAAyE,IAAI;IACHC,KAAK,EAAE,CACLC,MAAM,CAAC0F,OAAO,EACd;MAAE5C,eAAe,EAAExB,KAAK,CAAC0B,MAAM,CAACI;IAAY,CAAC;EAC7C,CACH,CAAC;AAEN;AAEA,MAAMpD,MAAM,GAAG2F,uBAAU,CAACC,MAAM,CAAC;EAC/B3F,IAAI,EAAE;IACJuB,QAAQ,EAAE;EACZ,CAAC;EACDtB,QAAQ,EAAE;IACR2F,MAAM,EAAE9I,UAAU,CAACkD;EACrB,CAAC;EACD4C,QAAQ,EAAE;IACRiD,YAAY,EAAE,CAAC;IACfC,OAAO,EAAE,CAAC;IACVC,WAAW,EAAE,CAAC;IACdC,QAAQ,EAAE,QAAQ;IAClBJ,MAAM,EAAE9I,UAAU,CAACmJ,OAAO;IAC1BC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE,EAAE;IAChBC,YAAY,EAAE;MAAErE,KAAK,EAAE,CAAC;MAAEsE,MAAM,EAAE;IAAE,CAAC;IACrC3D,QAAQ,EAAE;EACZ,CAAC;EACDY,gBAAgB,EAAE;IAChBgD,aAAa,EAAE;EACjB,CAAC;EACDlC,OAAO,EAAE;IACPmC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,EAAE;IACPC,eAAe,EAAE,CAAC;IAClBb,YAAY,EAAE,CAAC;IACfG,QAAQ,EAAE,QAAQ;IAClBW,iBAAiB,EAAE,EAAE;IACrBC,SAAS,EAAE;EACb,CAAC;EACDlC,WAAW,EAAE;IACXmC,IAAI,EAAE,CAAC;IACPC,UAAU,EAAE;EACd,CAAC;EACD5B,QAAQ,EAAE;IACR6B,UAAU,EAAE,CAAC;EACf,CAAC;EACD5B,SAAS,EAAE;IACT6B,WAAW,EAAE,CAAC,CAAC;IACfD,UAAU,EAAE;EACd,CAAC;EACDtB,OAAO,EAAE;IACPY,MAAM,EAAE,CAAC;IACTY,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -15,8 +15,7 @@ exports.applyNativeRootVars = applyNativeRootVars;
|
|
|
15
15
|
* `exports` `import`/`require` conditions to `lib/.../native-root-vars.js`.
|
|
16
16
|
*
|
|
17
17
|
* It deliberately does NOT import `react-native-css/native-internal`. That subpath
|
|
18
|
-
* is native-only
|
|
19
|
-
* dependency. Statically importing it from a file a web bundler resolves breaks
|
|
18
|
+
* is native-only. Statically importing it from a file a web bundler resolves breaks
|
|
20
19
|
* module resolution outright (the original report: `Rolldown failed to resolve
|
|
21
20
|
* import "react-native-css/native-internal" from .../native-root-vars.js`).
|
|
22
21
|
* Importing it from a file a consumer's `tsc` resolves breaks type-check (TS2307).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,mBAAmBA,CAACC,YAA0B,EAAEC,KAAuB,EAAQ;EAC7F;EACA;AAAA","ignoreList":[]}
|
|
@@ -17,11 +17,11 @@ var _tokenRegistry = require("./token-registry.js");
|
|
|
17
17
|
// `node_modules/@oxyhq/bloom/src/**`, and TypeScript does NOT auto-pick-up
|
|
18
18
|
// ambient `.d.ts` files that live under `node_modules`, so
|
|
19
19
|
// `react-native-css/native-internal` is unresolved (TS2307) unless the reference
|
|
20
|
-
// travels with the source. react-native-css
|
|
21
|
-
//
|
|
22
|
-
//
|
|
23
|
-
//
|
|
24
|
-
//
|
|
20
|
+
// travels with the source. Bloom now declares react-native-css directly because
|
|
21
|
+
// this native source imports it; the ambient declaration still travels with
|
|
22
|
+
// `src/` so consumer TypeScript programs that read Bloom source see the exact
|
|
23
|
+
// subpath shape. The directive ships raw in `src/` (Bloom publishes
|
|
24
|
+
// `files: ["src", "lib"]`).
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Publish the active color preset's CSS custom properties into react-native-css's
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import React, { useCallback, useEffect, 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";
|
|
7
|
+
import { Portal } from "../portal/index.web.js";
|
|
7
8
|
import { createDropdownZIndex } from "../styles/z-index.js";
|
|
8
9
|
import { MenuContext, ItemContext, useMenuContext, useMenuItemContext } from "./context.js";
|
|
9
10
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
11
|
export { useMenuContext };
|
|
11
12
|
const menuZIndex = createDropdownZIndex();
|
|
13
|
+
const VIEWPORT_GUTTER = 8;
|
|
14
|
+
const MENU_OFFSET = 6;
|
|
12
15
|
export function useMenuControl() {
|
|
13
16
|
const id = useId();
|
|
14
17
|
const [isOpen, setIsOpen] = useState(false);
|
|
@@ -56,9 +59,13 @@ export function Root({
|
|
|
56
59
|
const activeControl = control ?? defaultControl;
|
|
57
60
|
const dialogControl = useMenuControlAsDialogControl(activeControl);
|
|
58
61
|
const rootRef = useRef(null);
|
|
62
|
+
const triggerRef = useRef(null);
|
|
63
|
+
const dropdownRef = useRef(null);
|
|
59
64
|
const context = useMemo(() => ({
|
|
60
65
|
control: dialogControl,
|
|
61
|
-
isOpen: activeControl.isOpen
|
|
66
|
+
isOpen: activeControl.isOpen,
|
|
67
|
+
triggerRef,
|
|
68
|
+
dropdownRef
|
|
62
69
|
}), [activeControl.isOpen, dialogControl]);
|
|
63
70
|
useEffect(() => {
|
|
64
71
|
if (!activeControl.isOpen || typeof document === 'undefined') {
|
|
@@ -66,7 +73,9 @@ export function Root({
|
|
|
66
73
|
}
|
|
67
74
|
const handlePointerDown = event => {
|
|
68
75
|
const rootNode = rootRef.current;
|
|
69
|
-
|
|
76
|
+
const dropdownNode = dropdownRef.current;
|
|
77
|
+
const eventTarget = event.target;
|
|
78
|
+
if (rootNode?.contains(eventTarget) || dropdownNode?.contains(eventTarget)) {
|
|
70
79
|
return;
|
|
71
80
|
}
|
|
72
81
|
activeControl.close();
|
|
@@ -99,7 +108,8 @@ export function Trigger({
|
|
|
99
108
|
hint
|
|
100
109
|
}) {
|
|
101
110
|
const {
|
|
102
|
-
control
|
|
111
|
+
control,
|
|
112
|
+
triggerRef
|
|
103
113
|
} = useMenuContext();
|
|
104
114
|
const [hovered, setHovered] = useState(false);
|
|
105
115
|
const [focused, setFocused] = useState(false);
|
|
@@ -111,6 +121,7 @@ export function Trigger({
|
|
|
111
121
|
pressed: false
|
|
112
122
|
},
|
|
113
123
|
props: {
|
|
124
|
+
ref: triggerRef,
|
|
114
125
|
onPress: () => control.open(),
|
|
115
126
|
onFocus: () => setFocused(true),
|
|
116
127
|
onBlur: () => setFocused(false),
|
|
@@ -126,18 +137,51 @@ export function Outer({
|
|
|
126
137
|
}) {
|
|
127
138
|
const theme = useTheme();
|
|
128
139
|
const context = useMenuContext();
|
|
129
|
-
const
|
|
140
|
+
const [position, setPosition] = useState(null);
|
|
141
|
+
useLayoutEffect(() => {
|
|
142
|
+
if (!context.isOpen || typeof window === 'undefined') {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const triggerNode = context.triggerRef?.current;
|
|
146
|
+
if (!triggerNode?.getBoundingClientRect) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
const updatePosition = () => {
|
|
150
|
+
const rect = triggerNode.getBoundingClientRect();
|
|
151
|
+
const width = Math.max(180, rect.width);
|
|
152
|
+
const availableRight = window.innerWidth - VIEWPORT_GUTTER;
|
|
153
|
+
const left = Math.min(Math.max(VIEWPORT_GUTTER, rect.right - width), Math.max(VIEWPORT_GUTTER, availableRight - width));
|
|
154
|
+
const top = Math.min(rect.bottom + MENU_OFFSET, Math.max(VIEWPORT_GUTTER, window.innerHeight - VIEWPORT_GUTTER));
|
|
155
|
+
setPosition({
|
|
156
|
+
position: 'fixed',
|
|
157
|
+
top,
|
|
158
|
+
left,
|
|
159
|
+
right: undefined,
|
|
160
|
+
bottom: undefined,
|
|
161
|
+
minWidth: width
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
updatePosition();
|
|
165
|
+
window.addEventListener('resize', updatePosition);
|
|
166
|
+
window.addEventListener('scroll', updatePosition, true);
|
|
167
|
+
return () => {
|
|
168
|
+
window.removeEventListener('resize', updatePosition);
|
|
169
|
+
window.removeEventListener('scroll', updatePosition, true);
|
|
170
|
+
};
|
|
171
|
+
}, [context.isOpen, context.triggerRef]);
|
|
130
172
|
if (!context.isOpen) {
|
|
131
173
|
return null;
|
|
132
174
|
}
|
|
133
|
-
return /*#__PURE__*/_jsx(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
175
|
+
return /*#__PURE__*/_jsx(Portal, {
|
|
176
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
177
|
+
ref: context.dropdownRef,
|
|
178
|
+
style: [styles.dropdown, {
|
|
179
|
+
backgroundColor: theme.isDark ? theme.colors.backgroundSecondary : theme.colors.background,
|
|
180
|
+
borderColor: theme.colors.borderLight,
|
|
181
|
+
shadowColor: theme.colors.shadow
|
|
182
|
+
}, style, styles.portaledDropdown, position],
|
|
183
|
+
children: children
|
|
184
|
+
})
|
|
141
185
|
});
|
|
142
186
|
}
|
|
143
187
|
export function Item({
|
|
@@ -252,6 +296,9 @@ const styles = StyleSheet.create({
|
|
|
252
296
|
},
|
|
253
297
|
minWidth: 180
|
|
254
298
|
},
|
|
299
|
+
portaledDropdown: {
|
|
300
|
+
pointerEvents: 'auto'
|
|
301
|
+
},
|
|
255
302
|
webItem: {
|
|
256
303
|
flexDirection: 'row',
|
|
257
304
|
alignItems: 'center',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useId","useMemo","useRef","useState","Pressable","StyleSheet","View","useTheme","Text","createDropdownZIndex","MenuContext","ItemContext","useMenuContext","useMenuItemContext","jsx","_jsx","Fragment","_Fragment","menuZIndex","useMenuControl","id","isOpen","setIsOpen","open","close","useMenuControlAsDialogControl","menuControl","ref","dialogControl","cb","Root","children","control","defaultControl","activeControl","rootRef","context","document","undefined","handlePointerDown","event","rootNode","current","contains","target","handleKeyDown","key","addEventListener","removeEventListener","Provider","value","style","styles","root","openRoot","Trigger","label","role","hint","hovered","setHovered","focused","setFocused","state","pressed","props","onPress","onFocus","onBlur","accessibilityHint","accessibilityLabel","accessibilityRole","Outer","theme","dropdownRef","dropdown","backgroundColor","isDark","colors","backgroundSecondary","background","borderColor","borderLight","shadowColor","shadow","Item","rest","handlePress","e","defaultPrevented","isDisabled","Boolean","disabled","isHighlighted","itemContextValue","onMouseEnter","onMouseLeave","webItem","contrast50","ItemText","webItemText","color","textTertiary","text","ItemIcon","icon","Comp","position","fill","iconLeft","iconRight","size","textSecondary","Group","Divider","divider","create","zIndex","borderRadius","padding","borderWidth","overflow","surface","shadowOpacity","shadowRadius","shadowOffset","width","height","minWidth","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","minHeight","flex","fontWeight","marginLeft","marginRight","marginVertical"],"sourceRoot":"../../../src","sources":["menu/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useId","useLayoutEffect","useMemo","useRef","useState","Pressable","StyleSheet","View","useTheme","Text","Portal","createDropdownZIndex","MenuContext","ItemContext","useMenuContext","useMenuItemContext","jsx","_jsx","Fragment","_Fragment","menuZIndex","VIEWPORT_GUTTER","MENU_OFFSET","useMenuControl","id","isOpen","setIsOpen","open","close","useMenuControlAsDialogControl","menuControl","ref","dialogControl","cb","Root","children","control","defaultControl","activeControl","rootRef","triggerRef","dropdownRef","context","document","undefined","handlePointerDown","event","rootNode","current","dropdownNode","eventTarget","target","contains","handleKeyDown","key","addEventListener","removeEventListener","Provider","value","style","styles","root","openRoot","Trigger","label","role","hint","hovered","setHovered","focused","setFocused","state","pressed","props","onPress","onFocus","onBlur","accessibilityHint","accessibilityLabel","accessibilityRole","Outer","theme","position","setPosition","window","triggerNode","getBoundingClientRect","updatePosition","rect","width","Math","max","availableRight","innerWidth","left","min","right","top","bottom","innerHeight","minWidth","dropdown","backgroundColor","isDark","colors","backgroundSecondary","background","borderColor","borderLight","shadowColor","shadow","portaledDropdown","Item","rest","handlePress","e","defaultPrevented","isDisabled","Boolean","disabled","isHighlighted","itemContextValue","onMouseEnter","onMouseLeave","webItem","contrast50","ItemText","webItemText","color","textTertiary","text","ItemIcon","icon","Comp","fill","iconLeft","iconRight","size","textSecondary","Group","Divider","divider","create","zIndex","borderRadius","padding","borderWidth","overflow","surface","shadowOpacity","shadowRadius","shadowOffset","height","pointerEvents","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","minHeight","flex","fontWeight","marginLeft","marginRight","marginVertical"],"sourceRoot":"../../../src","sources":["menu/index.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
* `exports` `import`/`require` conditions to `lib/.../native-root-vars.js`.
|
|
12
12
|
*
|
|
13
13
|
* It deliberately does NOT import `react-native-css/native-internal`. That subpath
|
|
14
|
-
* is native-only
|
|
15
|
-
* dependency. Statically importing it from a file a web bundler resolves breaks
|
|
14
|
+
* is native-only. Statically importing it from a file a web bundler resolves breaks
|
|
16
15
|
* module resolution outright (the original report: `Rolldown failed to resolve
|
|
17
16
|
* import "react-native-css/native-internal" from .../native-root-vars.js`).
|
|
18
17
|
* Importing it from a file a consumer's `tsc` resolves breaks type-check (TS2307).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA
|
|
1
|
+
{"version":3,"names":["applyNativeRootVars","_colorPreset","_mode"],"sourceRoot":"../../../src","sources":["theme/native-root-vars.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAACC,YAA0B,EAAEC,KAAuB,EAAQ;EAC7F;EACA;AAAA","ignoreList":[]}
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
// `node_modules/@oxyhq/bloom/src/**`, and TypeScript does NOT auto-pick-up
|
|
12
12
|
// ambient `.d.ts` files that live under `node_modules`, so
|
|
13
13
|
// `react-native-css/native-internal` is unresolved (TS2307) unless the reference
|
|
14
|
-
// travels with the source. react-native-css
|
|
15
|
-
//
|
|
16
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
14
|
+
// travels with the source. Bloom now declares react-native-css directly because
|
|
15
|
+
// this native source imports it; the ambient declaration still travels with
|
|
16
|
+
// `src/` so consumer TypeScript programs that read Bloom source see the exact
|
|
17
|
+
// subpath shape. The directive ships raw in `src/` (Bloom publishes
|
|
18
|
+
// `files: ["src", "lib"]`).
|
|
19
19
|
import { rootVariables } from 'react-native-css/native-internal';
|
|
20
20
|
import { getResolvedTokens } from "./token-registry.js";
|
|
21
21
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/menu/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/menu/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAWN,MAAM,OAAO,CAAC;AACf,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAO3F,OAAO,EAGL,cAAc,EAEf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,CAAC;AAM1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,cAAc,IAAI,gBAAgB,CAiBjD;AA8BD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,OAAO,GACR,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC,2CA0DD;AAED,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,IAAe,EACf,IAAI,GACL,EAAE,YAAY,mBAsBd;AAED,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,kDA0ED;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAmD3E;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAe1D;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,EAAE,aAAa,2CAuB9E;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,2CAE7C;AAED,wBAAgB,OAAO,4CAWtB"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { AccessibilityRole, GestureResponderEvent, PressableProps, StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
2
2
|
import type { Props as SVGIconProps } from '../icons/common';
|
|
3
3
|
import type { DialogControlProps } from '../dialog/types';
|
|
4
|
+
export type MenuAnchorRect = {
|
|
5
|
+
top: number;
|
|
6
|
+
left: number;
|
|
7
|
+
right: number;
|
|
8
|
+
bottom: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
4
12
|
export type MenuContextType = {
|
|
5
13
|
control: DialogControlProps;
|
|
6
14
|
isOpen?: boolean;
|
|
15
|
+
triggerRef?: React.RefObject<unknown>;
|
|
16
|
+
dropdownRef?: React.RefObject<unknown>;
|
|
7
17
|
};
|
|
8
18
|
export type ItemContextType = {
|
|
9
19
|
disabled: boolean;
|
|
@@ -16,6 +26,7 @@ export type TriggerChildProps = {
|
|
|
16
26
|
pressed: boolean;
|
|
17
27
|
};
|
|
18
28
|
props: {
|
|
29
|
+
ref?: React.Ref<unknown>;
|
|
19
30
|
onPress: () => void;
|
|
20
31
|
onFocus?: () => void;
|
|
21
32
|
onBlur?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/menu/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/menu/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB,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,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAC7C,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CACF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC"}
|
|
@@ -10,8 +10,7 @@ import { type AppColorName } from './color-presets';
|
|
|
10
10
|
* `exports` `import`/`require` conditions to `lib/.../native-root-vars.js`.
|
|
11
11
|
*
|
|
12
12
|
* It deliberately does NOT import `react-native-css/native-internal`. That subpath
|
|
13
|
-
* is native-only
|
|
14
|
-
* dependency. Statically importing it from a file a web bundler resolves breaks
|
|
13
|
+
* is native-only. Statically importing it from a file a web bundler resolves breaks
|
|
15
14
|
* module resolution outright (the original report: `Rolldown failed to resolve
|
|
16
15
|
* import "react-native-css/native-internal" from .../native-root-vars.js`).
|
|
17
16
|
* Importing it from a file a consumer's `tsc` resolves breaks type-check (TS2307).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-root-vars.d.ts","sourceRoot":"","sources":["../../../../src/theme/native-root-vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"native-root-vars.d.ts","sourceRoot":"","sources":["../../../../src/theme/native-root-vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/menu/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../../src/menu/index.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAWN,MAAM,OAAO,CAAC;AACf,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAO3F,OAAO,EAGL,cAAc,EAEf,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAEV,UAAU,EACV,aAAa,EACb,SAAS,EACT,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,cAAc,EAAE,CAAC;AAM1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,wBAAgB,cAAc,IAAI,gBAAgB,CAiBjD;AA8BD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,OAAO,GACR,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC,2CA0DD;AAED,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,IAAe,EACf,IAAI,GACL,EAAE,YAAY,mBAsBd;AAED,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,GACN,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,kDA0ED;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAmD3E;AAED,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,aAAa,2CAe1D;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,EAAE,aAAa,2CAuB9E;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,2CAE7C;AAED,wBAAgB,OAAO,4CAWtB"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import type { AccessibilityRole, GestureResponderEvent, PressableProps, StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
2
2
|
import type { Props as SVGIconProps } from '../icons/common';
|
|
3
3
|
import type { DialogControlProps } from '../dialog/types';
|
|
4
|
+
export type MenuAnchorRect = {
|
|
5
|
+
top: number;
|
|
6
|
+
left: number;
|
|
7
|
+
right: number;
|
|
8
|
+
bottom: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
};
|
|
4
12
|
export type MenuContextType = {
|
|
5
13
|
control: DialogControlProps;
|
|
6
14
|
isOpen?: boolean;
|
|
15
|
+
triggerRef?: React.RefObject<unknown>;
|
|
16
|
+
dropdownRef?: React.RefObject<unknown>;
|
|
7
17
|
};
|
|
8
18
|
export type ItemContextType = {
|
|
9
19
|
disabled: boolean;
|
|
@@ -16,6 +26,7 @@ export type TriggerChildProps = {
|
|
|
16
26
|
pressed: boolean;
|
|
17
27
|
};
|
|
18
28
|
props: {
|
|
29
|
+
ref?: React.Ref<unknown>;
|
|
19
30
|
onPress: () => void;
|
|
20
31
|
onFocus?: () => void;
|
|
21
32
|
onBlur?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/menu/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/menu/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,OAAO,CAAC;CACnB,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,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAC7C,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CACF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAClD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,MAAM,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,CAAC,CAAC"}
|
|
@@ -10,8 +10,7 @@ import { type AppColorName } from './color-presets';
|
|
|
10
10
|
* `exports` `import`/`require` conditions to `lib/.../native-root-vars.js`.
|
|
11
11
|
*
|
|
12
12
|
* It deliberately does NOT import `react-native-css/native-internal`. That subpath
|
|
13
|
-
* is native-only
|
|
14
|
-
* dependency. Statically importing it from a file a web bundler resolves breaks
|
|
13
|
+
* is native-only. Statically importing it from a file a web bundler resolves breaks
|
|
15
14
|
* module resolution outright (the original report: `Rolldown failed to resolve
|
|
16
15
|
* import "react-native-css/native-internal" from .../native-root-vars.js`).
|
|
17
16
|
* Importing it from a file a consumer's `tsc` resolves breaks type-check (TS2307).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-root-vars.d.ts","sourceRoot":"","sources":["../../../../src/theme/native-root-vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"native-root-vars.d.ts","sourceRoot":"","sources":["../../../../src/theme/native-root-vars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG7F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/bloom",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.5",
|
|
4
4
|
"description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -871,6 +871,7 @@
|
|
|
871
871
|
},
|
|
872
872
|
"dependencies": {
|
|
873
873
|
"nanoid": "^5.1.5",
|
|
874
|
+
"react-native-css": "3.0.7",
|
|
874
875
|
"react-remove-scroll-bar": "^2.3.8"
|
|
875
876
|
}
|
|
876
877
|
}
|
package/src/menu/index.web.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import React, {
|
|
|
5
5
|
useCallback,
|
|
6
6
|
useEffect,
|
|
7
7
|
useId,
|
|
8
|
+
useLayoutEffect,
|
|
8
9
|
useMemo,
|
|
9
10
|
useRef,
|
|
10
11
|
useState,
|
|
@@ -14,6 +15,7 @@ import { Pressable, StyleSheet, View, type StyleProp, type ViewStyle } from 'rea
|
|
|
14
15
|
import { useTheme } from '../theme/use-theme';
|
|
15
16
|
import { Text } from '../typography';
|
|
16
17
|
import type { DialogControlProps } from '../dialog/types';
|
|
18
|
+
import { Portal } from '../portal/index.web';
|
|
17
19
|
import { createDropdownZIndex } from '../styles/z-index';
|
|
18
20
|
import {
|
|
19
21
|
MenuContext,
|
|
@@ -33,6 +35,8 @@ import type {
|
|
|
33
35
|
export { useMenuContext };
|
|
34
36
|
|
|
35
37
|
const menuZIndex = createDropdownZIndex();
|
|
38
|
+
const VIEWPORT_GUTTER = 8;
|
|
39
|
+
const MENU_OFFSET = 6;
|
|
36
40
|
|
|
37
41
|
export type MenuControlProps = {
|
|
38
42
|
id: string;
|
|
@@ -98,9 +102,16 @@ export function Root({
|
|
|
98
102
|
const activeControl = control ?? defaultControl;
|
|
99
103
|
const dialogControl = useMenuControlAsDialogControl(activeControl);
|
|
100
104
|
const rootRef = useRef<View>(null);
|
|
105
|
+
const triggerRef = useRef<unknown>(null);
|
|
106
|
+
const dropdownRef = useRef<unknown>(null);
|
|
101
107
|
|
|
102
108
|
const context = useMemo<MenuContextType>(
|
|
103
|
-
() => ({
|
|
109
|
+
() => ({
|
|
110
|
+
control: dialogControl,
|
|
111
|
+
isOpen: activeControl.isOpen,
|
|
112
|
+
triggerRef,
|
|
113
|
+
dropdownRef,
|
|
114
|
+
}),
|
|
104
115
|
[activeControl.isOpen, dialogControl],
|
|
105
116
|
);
|
|
106
117
|
|
|
@@ -111,7 +122,9 @@ export function Root({
|
|
|
111
122
|
|
|
112
123
|
const handlePointerDown = (event: PointerEvent) => {
|
|
113
124
|
const rootNode = rootRef.current as unknown as HTMLElement | null;
|
|
114
|
-
|
|
125
|
+
const dropdownNode = dropdownRef.current as HTMLElement | null;
|
|
126
|
+
const eventTarget = event.target as Node;
|
|
127
|
+
if (rootNode?.contains(eventTarget) || dropdownNode?.contains(eventTarget)) {
|
|
115
128
|
return;
|
|
116
129
|
}
|
|
117
130
|
activeControl.close();
|
|
@@ -150,7 +163,7 @@ export function Trigger({
|
|
|
150
163
|
role = 'button',
|
|
151
164
|
hint,
|
|
152
165
|
}: TriggerProps) {
|
|
153
|
-
const { control } = useMenuContext();
|
|
166
|
+
const { control, triggerRef } = useMenuContext();
|
|
154
167
|
const [hovered, setHovered] = useState(false);
|
|
155
168
|
const [focused, setFocused] = useState(false);
|
|
156
169
|
|
|
@@ -162,6 +175,7 @@ export function Trigger({
|
|
|
162
175
|
pressed: false,
|
|
163
176
|
},
|
|
164
177
|
props: {
|
|
178
|
+
ref: triggerRef,
|
|
165
179
|
onPress: () => control.open(),
|
|
166
180
|
onFocus: () => setFocused(true),
|
|
167
181
|
onBlur: () => setFocused(false),
|
|
@@ -181,29 +195,76 @@ export function Outer({
|
|
|
181
195
|
}>) {
|
|
182
196
|
const theme = useTheme();
|
|
183
197
|
const context = useMenuContext();
|
|
184
|
-
const
|
|
198
|
+
const [position, setPosition] = useState<ViewStyle | null>(null);
|
|
199
|
+
|
|
200
|
+
useLayoutEffect(() => {
|
|
201
|
+
if (!context.isOpen || typeof window === 'undefined') {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
const triggerNode = context.triggerRef?.current as HTMLElement | null;
|
|
206
|
+
if (!triggerNode?.getBoundingClientRect) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
const updatePosition = () => {
|
|
211
|
+
const rect = triggerNode.getBoundingClientRect();
|
|
212
|
+
const width = Math.max(180, rect.width);
|
|
213
|
+
const availableRight = window.innerWidth - VIEWPORT_GUTTER;
|
|
214
|
+
const left = Math.min(
|
|
215
|
+
Math.max(VIEWPORT_GUTTER, rect.right - width),
|
|
216
|
+
Math.max(VIEWPORT_GUTTER, availableRight - width),
|
|
217
|
+
);
|
|
218
|
+
const top = Math.min(
|
|
219
|
+
rect.bottom + MENU_OFFSET,
|
|
220
|
+
Math.max(VIEWPORT_GUTTER, window.innerHeight - VIEWPORT_GUTTER),
|
|
221
|
+
);
|
|
222
|
+
|
|
223
|
+
setPosition({
|
|
224
|
+
position: 'fixed' as 'absolute',
|
|
225
|
+
top,
|
|
226
|
+
left,
|
|
227
|
+
right: undefined,
|
|
228
|
+
bottom: undefined,
|
|
229
|
+
minWidth: width,
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
updatePosition();
|
|
234
|
+
window.addEventListener('resize', updatePosition);
|
|
235
|
+
window.addEventListener('scroll', updatePosition, true);
|
|
236
|
+
|
|
237
|
+
return () => {
|
|
238
|
+
window.removeEventListener('resize', updatePosition);
|
|
239
|
+
window.removeEventListener('scroll', updatePosition, true);
|
|
240
|
+
};
|
|
241
|
+
}, [context.isOpen, context.triggerRef]);
|
|
185
242
|
|
|
186
243
|
if (!context.isOpen) {
|
|
187
244
|
return null;
|
|
188
245
|
}
|
|
189
246
|
|
|
190
247
|
return (
|
|
191
|
-
<
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
248
|
+
<Portal>
|
|
249
|
+
<View
|
|
250
|
+
ref={context.dropdownRef as React.Ref<View>}
|
|
251
|
+
style={[
|
|
252
|
+
styles.dropdown,
|
|
253
|
+
{
|
|
254
|
+
backgroundColor: theme.isDark
|
|
255
|
+
? theme.colors.backgroundSecondary
|
|
256
|
+
: theme.colors.background,
|
|
257
|
+
borderColor: theme.colors.borderLight,
|
|
258
|
+
shadowColor: theme.colors.shadow,
|
|
259
|
+
},
|
|
260
|
+
style,
|
|
261
|
+
styles.portaledDropdown,
|
|
262
|
+
position,
|
|
263
|
+
]}
|
|
264
|
+
>
|
|
265
|
+
{children}
|
|
266
|
+
</View>
|
|
267
|
+
</Portal>
|
|
207
268
|
);
|
|
208
269
|
}
|
|
209
270
|
|
|
@@ -337,6 +398,9 @@ const styles = StyleSheet.create({
|
|
|
337
398
|
shadowOffset: { width: 0, height: 4 },
|
|
338
399
|
minWidth: 180,
|
|
339
400
|
},
|
|
401
|
+
portaledDropdown: {
|
|
402
|
+
pointerEvents: 'auto',
|
|
403
|
+
},
|
|
340
404
|
webItem: {
|
|
341
405
|
flexDirection: 'row',
|
|
342
406
|
alignItems: 'center',
|
package/src/menu/types.ts
CHANGED
|
@@ -10,9 +10,20 @@ import type {
|
|
|
10
10
|
import type { Props as SVGIconProps } from '../icons/common';
|
|
11
11
|
import type { DialogControlProps } from '../dialog/types';
|
|
12
12
|
|
|
13
|
+
export type MenuAnchorRect = {
|
|
14
|
+
top: number;
|
|
15
|
+
left: number;
|
|
16
|
+
right: number;
|
|
17
|
+
bottom: number;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
};
|
|
21
|
+
|
|
13
22
|
export type MenuContextType = {
|
|
14
23
|
control: DialogControlProps;
|
|
15
24
|
isOpen?: boolean;
|
|
25
|
+
triggerRef?: React.RefObject<unknown>;
|
|
26
|
+
dropdownRef?: React.RefObject<unknown>;
|
|
16
27
|
};
|
|
17
28
|
|
|
18
29
|
export type ItemContextType = {
|
|
@@ -27,6 +38,7 @@ export type TriggerChildProps = {
|
|
|
27
38
|
pressed: boolean;
|
|
28
39
|
};
|
|
29
40
|
props: {
|
|
41
|
+
ref?: React.Ref<unknown>;
|
|
30
42
|
onPress: () => void;
|
|
31
43
|
onFocus?: () => void;
|
|
32
44
|
onBlur?: () => void;
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Ambient declaration for `react-native-css/native-internal`.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Bloom's `native-root-vars.native.ts` statically imports `rootVariables` from
|
|
7
|
-
* this subpath so Metro resolves the `import` export condition to the package's
|
|
4
|
+
* Bloom's native theme bridge statically imports `rootVariables` from this
|
|
5
|
+
* subpath so Metro resolves the `import` export condition to the package's
|
|
8
6
|
* `module` build — the SAME family instance the react-native-css renderer
|
|
9
|
-
* (`varResolver`) subscribes to.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* `
|
|
7
|
+
* (`varResolver`) subscribes to. `react-native-css` is a direct Bloom dependency
|
|
8
|
+
* because this subpath is imported from published native source, including
|
|
9
|
+
* NativeWind 4 consumers whose test/native resolvers still select `.native.ts`.
|
|
10
|
+
* A runtime `require()` would resolve the `require` condition to the separate
|
|
11
|
+
* `commonjs` build, whose `rootVariables` is a distinct, un-observed family
|
|
12
|
+
* instance (see the file-level comment in `native-root-vars.native.ts`).
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* the subpath, so on web bundlers the static import is never reached.
|
|
14
|
+
* We declare the slice we use here — typed to match react-native-css @3.0.7's
|
|
15
|
+
* `dist/typescript/.../native-internal/root.d.ts` exactly (no `any`, no shims).
|
|
16
|
+
* This file is `.native`-only in spirit; the web fork never imports the subpath,
|
|
17
|
+
* so on web bundlers the static import is never reached.
|
|
19
18
|
*/
|
|
20
19
|
declare module 'react-native-css/native-internal' {
|
|
21
20
|
/**
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
// `node_modules/@oxyhq/bloom/src/**`, and TypeScript does NOT auto-pick-up
|
|
10
10
|
// ambient `.d.ts` files that live under `node_modules`, so
|
|
11
11
|
// `react-native-css/native-internal` is unresolved (TS2307) unless the reference
|
|
12
|
-
// travels with the source. react-native-css
|
|
13
|
-
//
|
|
14
|
-
//
|
|
15
|
-
//
|
|
16
|
-
//
|
|
12
|
+
// travels with the source. Bloom now declares react-native-css directly because
|
|
13
|
+
// this native source imports it; the ambient declaration still travels with
|
|
14
|
+
// `src/` so consumer TypeScript programs that read Bloom source see the exact
|
|
15
|
+
// subpath shape. The directive ships raw in `src/` (Bloom publishes
|
|
16
|
+
// `files: ["src", "lib"]`).
|
|
17
17
|
import { rootVariables } from 'react-native-css/native-internal';
|
|
18
18
|
|
|
19
19
|
import { type AppColorName } from './color-presets';
|
|
@@ -11,8 +11,7 @@ import { type AppColorName } from './color-presets';
|
|
|
11
11
|
* `exports` `import`/`require` conditions to `lib/.../native-root-vars.js`.
|
|
12
12
|
*
|
|
13
13
|
* It deliberately does NOT import `react-native-css/native-internal`. That subpath
|
|
14
|
-
* is native-only
|
|
15
|
-
* dependency. Statically importing it from a file a web bundler resolves breaks
|
|
14
|
+
* is native-only. Statically importing it from a file a web bundler resolves breaks
|
|
16
15
|
* module resolution outright (the original report: `Rolldown failed to resolve
|
|
17
16
|
* import "react-native-css/native-internal" from .../native-root-vars.js`).
|
|
18
17
|
* Importing it from a file a consumer's `tsc` resolves breaks type-check (TS2307).
|