@tamagui/select 2.0.0-rc.3 → 2.0.0-rc.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Select.cjs +63 -55
- package/dist/cjs/Select.native.js +65 -57
- package/dist/cjs/Select.native.js.map +1 -1
- package/dist/cjs/SelectContent.cjs +41 -47
- package/dist/cjs/SelectImpl.cjs +42 -24
- package/dist/cjs/SelectItem.cjs +10 -3
- package/dist/cjs/SelectItem.native.js +9 -7
- package/dist/cjs/SelectItem.native.js.map +1 -1
- package/dist/cjs/SelectScrollButton.cjs +4 -4
- package/dist/cjs/SelectTrigger.cjs +1 -1
- package/dist/cjs/SelectViewport.cjs +44 -29
- package/dist/cjs/context.cjs +4 -1
- package/dist/cjs/context.native.js +3 -0
- package/dist/cjs/context.native.js.map +1 -1
- package/dist/esm/Select.mjs +64 -56
- package/dist/esm/Select.mjs.map +1 -1
- package/dist/esm/Select.native.js +66 -58
- package/dist/esm/Select.native.js.map +1 -1
- package/dist/esm/SelectContent.mjs +38 -33
- package/dist/esm/SelectContent.mjs.map +1 -1
- package/dist/esm/SelectImpl.mjs +38 -20
- package/dist/esm/SelectImpl.mjs.map +1 -1
- package/dist/esm/SelectItem.mjs +10 -3
- package/dist/esm/SelectItem.mjs.map +1 -1
- package/dist/esm/SelectItem.native.js +9 -7
- package/dist/esm/SelectItem.native.js.map +1 -1
- package/dist/esm/SelectScrollButton.mjs +1 -1
- package/dist/esm/SelectScrollButton.mjs.map +1 -1
- package/dist/esm/SelectTrigger.mjs +1 -1
- package/dist/esm/SelectTrigger.mjs.map +1 -1
- package/dist/esm/SelectViewport.mjs +28 -24
- package/dist/esm/SelectViewport.mjs.map +1 -1
- package/dist/esm/context.mjs +4 -2
- package/dist/esm/context.mjs.map +1 -1
- package/dist/esm/context.native.js +4 -2
- package/dist/esm/context.native.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -6
- package/dist/jsx/Select.mjs +64 -56
- package/dist/jsx/Select.mjs.map +1 -1
- package/dist/jsx/Select.native.js +65 -57
- package/dist/jsx/Select.native.js.map +1 -1
- package/dist/jsx/SelectContent.mjs +38 -33
- package/dist/jsx/SelectContent.mjs.map +1 -1
- package/dist/jsx/SelectImpl.mjs +38 -20
- package/dist/jsx/SelectImpl.mjs.map +1 -1
- package/dist/jsx/SelectItem.mjs +10 -3
- package/dist/jsx/SelectItem.mjs.map +1 -1
- package/dist/jsx/SelectItem.native.js +9 -7
- package/dist/jsx/SelectItem.native.js.map +1 -1
- package/dist/jsx/SelectScrollButton.mjs +1 -1
- package/dist/jsx/SelectScrollButton.mjs.map +1 -1
- package/dist/jsx/SelectTrigger.mjs +1 -1
- package/dist/jsx/SelectTrigger.mjs.map +1 -1
- package/dist/jsx/SelectViewport.mjs +28 -24
- package/dist/jsx/SelectViewport.mjs.map +1 -1
- package/dist/jsx/context.mjs +4 -2
- package/dist/jsx/context.mjs.map +1 -1
- package/dist/jsx/context.native.js +3 -0
- package/dist/jsx/context.native.js.map +1 -1
- package/dist/jsx/index.js +2 -2
- package/dist/jsx/index.js.map +1 -6
- package/package.json +31 -35
- package/src/Select.tsx +16 -1
- package/src/SelectContent.tsx +47 -36
- package/src/SelectImpl.tsx +51 -49
- package/src/SelectItem.tsx +17 -7
- package/src/SelectScrollButton.tsx +1 -1
- package/src/SelectTrigger.tsx +1 -1
- package/src/SelectViewport.tsx +42 -22
- package/src/context.tsx +4 -0
- package/src/types.tsx +44 -4
- package/types/Select.d.ts +2 -2
- package/types/Select.d.ts.map +1 -1
- package/types/SelectContent.d.ts +1 -1
- package/types/SelectContent.d.ts.map +1 -1
- package/types/SelectImpl.d.ts.map +1 -1
- package/types/SelectItem.d.ts.map +1 -1
- package/types/SelectTrigger.d.ts +1 -1
- package/types/SelectViewport.d.ts.map +1 -1
- package/types/context.d.ts +1 -0
- package/types/context.d.ts.map +1 -1
- package/types/types.d.ts +33 -3
- package/types/types.d.ts.map +1 -1
- package/dist/cjs/BubbleSelect.js +0 -34
- package/dist/cjs/BubbleSelect.js.map +0 -6
- package/dist/cjs/Select.js +0 -402
- package/dist/cjs/Select.js.map +0 -6
- package/dist/cjs/SelectContent.js +0 -57
- package/dist/cjs/SelectContent.js.map +0 -6
- package/dist/cjs/SelectImpl.js +0 -222
- package/dist/cjs/SelectImpl.js.map +0 -6
- package/dist/cjs/SelectItem.js +0 -166
- package/dist/cjs/SelectItem.js.map +0 -6
- package/dist/cjs/SelectItemText.js +0 -64
- package/dist/cjs/SelectItemText.js.map +0 -6
- package/dist/cjs/SelectScrollButton.js +0 -105
- package/dist/cjs/SelectScrollButton.js.map +0 -6
- package/dist/cjs/SelectTrigger.js +0 -81
- package/dist/cjs/SelectTrigger.js.map +0 -6
- package/dist/cjs/SelectViewport.js +0 -114
- package/dist/cjs/SelectViewport.js.map +0 -6
- package/dist/cjs/constants.js +0 -27
- package/dist/cjs/constants.js.map +0 -6
- package/dist/cjs/context.js +0 -33
- package/dist/cjs/context.js.map +0 -6
- package/dist/cjs/index.js +0 -16
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/useSelectBreakpointActive.js +0 -25
- package/dist/cjs/useSelectBreakpointActive.js.map +0 -6
- package/dist/esm/BubbleSelect.js +0 -17
- package/dist/esm/BubbleSelect.js.map +0 -6
- package/dist/esm/Select.js +0 -412
- package/dist/esm/Select.js.map +0 -6
- package/dist/esm/SelectContent.js +0 -39
- package/dist/esm/SelectContent.js.map +0 -6
- package/dist/esm/SelectImpl.js +0 -223
- package/dist/esm/SelectImpl.js.map +0 -6
- package/dist/esm/SelectItem.js +0 -148
- package/dist/esm/SelectItem.js.map +0 -6
- package/dist/esm/SelectItemText.js +0 -46
- package/dist/esm/SelectItemText.js.map +0 -6
- package/dist/esm/SelectScrollButton.js +0 -87
- package/dist/esm/SelectScrollButton.js.map +0 -6
- package/dist/esm/SelectTrigger.js +0 -61
- package/dist/esm/SelectTrigger.js.map +0 -6
- package/dist/esm/SelectViewport.js +0 -112
- package/dist/esm/SelectViewport.js.map +0 -6
- package/dist/esm/constants.js +0 -11
- package/dist/esm/constants.js.map +0 -6
- package/dist/esm/context.js +0 -19
- package/dist/esm/context.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/useSelectBreakpointActive.js +0 -9
- package/dist/esm/useSelectBreakpointActive.js.map +0 -6
- package/dist/jsx/BubbleSelect.js +0 -17
- package/dist/jsx/BubbleSelect.js.map +0 -6
- package/dist/jsx/Select.js +0 -412
- package/dist/jsx/Select.js.map +0 -6
- package/dist/jsx/SelectContent.js +0 -39
- package/dist/jsx/SelectContent.js.map +0 -6
- package/dist/jsx/SelectImpl.js +0 -223
- package/dist/jsx/SelectImpl.js.map +0 -6
- package/dist/jsx/SelectItem.js +0 -148
- package/dist/jsx/SelectItem.js.map +0 -6
- package/dist/jsx/SelectItemText.js +0 -46
- package/dist/jsx/SelectItemText.js.map +0 -6
- package/dist/jsx/SelectScrollButton.js +0 -87
- package/dist/jsx/SelectScrollButton.js.map +0 -6
- package/dist/jsx/SelectTrigger.js +0 -61
- package/dist/jsx/SelectTrigger.js.map +0 -6
- package/dist/jsx/SelectViewport.js +0 -112
- package/dist/jsx/SelectViewport.js.map +0 -6
- package/dist/jsx/constants.js +0 -11
- package/dist/jsx/constants.js.map +0 -6
- package/dist/jsx/context.js +0 -19
- package/dist/jsx/context.js.map +0 -6
- package/dist/jsx/types.js +0 -1
- package/dist/jsx/types.js.map +0 -6
- package/dist/jsx/useSelectBreakpointActive.js +0 -9
- package/dist/jsx/useSelectBreakpointActive.js.map +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","SelectItem_exports","SelectItem","SelectItemContextProvider","useSelectItemContext","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_core","import_list_item","React","import_context","_instanceof","left","right","Symbol","hasInstance","ITEM_NAME","Provider","useStyledContext","createStyledContext","ListItem","Frame","styleable","props","forwardedRef","scope","disabled","textValue","textValueProp","index","restProps","context","useSelectItemParentContext","setSelectedIndex","listRef","setOpen","onChange","activeIndexSubscribe","valueSubscribe","allowMouseUpRef","allowSelectRef","setValueAtIndex","selectTimeoutRef","dataRef","interactions","shouldRenderWebNative","size","onActiveChange","initialValue","setActiveIndexFast","isSelected","setSelected","useState","useIsomorphicLayoutEffect","useEffect","
|
|
1
|
+
{"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","SelectItem_exports","SelectItem","SelectItemContextProvider","useSelectItemContext","module","exports","import_jsx_runtime","require","import_compose_refs","import_constants","import_core","import_list_item","React","import_context","_instanceof","left","right","Symbol","hasInstance","ITEM_NAME","Provider","useStyledContext","createStyledContext","ListItem","Frame","styleable","props","forwardedRef","scope","disabled","textValue","textValueProp","index","restProps","context","useSelectItemParentContext","setSelectedIndex","listRef","setOpen","onChange","activeIndexSubscribe","activeIndexRef","valueSubscribe","allowMouseUpRef","allowSelectRef","setValueAtIndex","selectTimeoutRef","dataRef","interactions","shouldRenderWebNative","size","onActiveChange","initialValue","setActiveIndexFast","isSelected","setSelected","useState","useIsomorphicLayoutEffect","useEffect","handleActiveIndex","i","isWeb","requestAnimationFrame","_listRef_current_index","current","focus","currentActiveIndex","val","textId","useId","refCallback","useCallback","node","HTMLElement","composedRefs","useComposedRefs","handleSelect","selectItemProps","useMemo","getItemProps","onTouchMove","onTouchEnd","onKeyDown","event","typing","preventDefault","stopPropagation","_listRef_current_length","itemCount","length","nextIndex","onClick","onMouseUp","clearTimeout","setTimeout","onPress","jsx","children","render","componentName","ref","role","tabIndex","unstyled","cursor","outlineOffset","zIndex","hoverStyle","backgroundColor","pressStyle","focusStyle","focusVisibleStyle","outlineColor","outlineWidth"],"sources":["../../src/SelectItem.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { autoUpdate, offset, useFloating } from "@floating
|
|
1
|
+
import { autoUpdate, offset, useFloatingRaw as useFloating } from "@tamagui/floating";
|
|
2
2
|
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
3
3
|
import { YStack } from "@tamagui/stacks";
|
|
4
4
|
import * as React from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["autoUpdate","offset","useFloating","useComposedRefs","YStack","React","flushSync","useSelectContext","jsx","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","forwardRef","props","forwardedRef","SelectScrollButtonImpl","componentName","dir","ref","displayName","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","memo","scope","scrollIndicatorProps","forceUpdate","open","fallback","setScrollTop","setInnerOffset","context","floatingRef","floatingContext","refs","floating","statusRef","useRef","isVisible","frameRef","x","y","strategy","elements","reference","current","placement","middleware","rects","height","whileElementsMounted","args","animationFrame","composedRef","setFloating","onScroll","amount","scrollTop","value","zIndex","position","left","top","width","offsetWidth","onPointerEnter","prevNow","Date","now","frame","element","currentNow","msElapsed","pixelsToScroll","remainingPixels","scrollHeight","clientHeight","scrollRemaining","Math","min","max","requestAnimationFrame","cancelAnimationFrame","onPointerLeave"],"sources":["../../src/SelectScrollButton.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAA,EAAYC,MAAA,EAAQC,WAAA,QAAmB;
|
|
1
|
+
{"version":3,"names":["autoUpdate","offset","useFloatingRaw","useFloating","useComposedRefs","YStack","React","flushSync","useSelectContext","jsx","SCROLL_UP_BUTTON_NAME","SelectScrollUpButton","forwardRef","props","forwardedRef","SelectScrollButtonImpl","componentName","dir","ref","displayName","SCROLL_DOWN_BUTTON_NAME","SelectScrollDownButton","memo","scope","scrollIndicatorProps","forceUpdate","open","fallback","setScrollTop","setInnerOffset","context","floatingRef","floatingContext","refs","floating","statusRef","useRef","isVisible","frameRef","x","y","strategy","elements","reference","current","placement","middleware","rects","height","whileElementsMounted","args","animationFrame","composedRef","setFloating","onScroll","amount","scrollTop","value","zIndex","position","left","top","width","offsetWidth","onPointerEnter","prevNow","Date","now","frame","element","currentNow","msElapsed","pixelsToScroll","remainingPixels","scrollHeight","clientHeight","scrollRemaining","Math","min","max","requestAnimationFrame","cancelAnimationFrame","onPointerLeave"],"sources":["../../src/SelectScrollButton.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useComposedRefs","ListItem","React","useSelectContext","useSelectItemParentContext","jsx","TRIGGER_NAME","isPointerCoarse","window","matchMedia","matches","SelectTrigger","forwardRef","props","forwardedRef","scope","disabled","unstyled","triggerProps","context","itemParentContext","composedRefs","floatingContext","refs","setReference","shouldRenderWebNative","componentName","render","type","id","focusVisibleStyle","outlineStyle","outlineWidth","outlineColor","borderWidth","size","role","open","dir","ref","interactions","getReferenceProps","onPress","setOpen","onMouseDown","update"],"sources":["../../src/SelectTrigger.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAGhC,SAASC,QAAA,QAAgB;AACzB,YAAYC,KAAA,MAAW;AAEvB,SAASC,gBAAA,EAAkBC,0BAAA,QAAkC;AAiCvD,SAAAC,GAAA;AA3BN,MAAMC,YAAA,GAAe;EAIfC,eAAA,GACJ,OAAOC,MAAA,GAAW,MACdA,MAAA,CAAOC,UAAA,CAAW,kBAAkB,EAAEC,OAAA,GACtC;EAEOC,aAAA,GAAgBT,KAAA,CAAMU,UAAA,CACjC,UAAuBC,KAAA,EAA2BC,YAAA,EAAc;IAC9D,MAAM;QAAEC,KAAA;QAAOC,QAAA,GAAW;QAAOC,QAAA,GAAW;QAAO,GAAGC;MAAa,IAAIL,KAAA;MAEjEM,OAAA,GAAUhB,gBAAA,CAAiBY,KAAK;MAChCK,iBAAA,GAAoBhB,0BAAA,CAA2BW,KAAK;MACpDM,YAAA,GAAerB,eAAA,CACnBc,YAAA,EACAK,OAAA,CAAQG,eAAA,EAAiBC,IAAA,CAAKC,YAChC;IAIA,OAAIJ,iBAAA,CAAkBK,qBAAA,GACb,OAIP,eAAApB,GAAA,CAACJ,QAAA;MACCyB,aAAA,EAAepB,YAAA;MACfW,QAAA;MACAU,MAAA,EAAO;MACPC,IAAA,EAAK;MACLC,EAAA,EAAIT,iBAAA,CAAkBS,EAAA;MACrB,IAAI,CAACZ,QAAA,IAAY;QAChBa,iBAAA,EAAmB;UACjBC,YAAA,EAAc;UACdC,YAAA,EAAc;UACdC,YAAA,EAAc;QAChB;QACAC,WAAA,EAAa;QACbC,IAAA,EAAMf,iBAAA,CAAkBe;MAC1B;MACAC,IAAA,EAAK;MACL,iBAAc;MACd,iBAAejB,OAAA,CAAQkB,IAAA;MACvB,qBAAkB;MAClBC,GAAA,EAAKnB,OAAA,CAAQmB,GAAA;MACbtB,QAAA;MACA,iBAAeA,QAAA,GAAW,KAAK;MAC9B,GAAGE,YAAA;MACJqB,GAAA,EAAKlB,YAAA;MACJ,IAA4CD,iBAAA,CAAkBoB,YAAA,GAC3D;QACE,GAAGpB,iBAAA,CAAkBoB,YAAA,CAAaC,iBAAA,CAAkB;QACpD,IAAIlC,eAAA,GACA;UACEmC,QAAA,EAAU;YACRtB,iBAAA,CAAkBuB,OAAA,CAAQ,CAACxB,OAAA,CAAQkB,IAAI;UACzC;QACF,IACA;UACEO,YAAA,EAAc;YACZzB,OAAA,CAAQG,eAAA,EAAiBuB,MAAA,
|
|
1
|
+
{"version":3,"names":["useComposedRefs","ListItem","React","useSelectContext","useSelectItemParentContext","jsx","TRIGGER_NAME","isPointerCoarse","window","matchMedia","matches","SelectTrigger","forwardRef","props","forwardedRef","scope","disabled","unstyled","triggerProps","context","itemParentContext","composedRefs","floatingContext","refs","setReference","shouldRenderWebNative","componentName","render","type","id","focusVisibleStyle","outlineStyle","outlineWidth","outlineColor","borderWidth","size","role","open","dir","ref","interactions","getReferenceProps","onPress","setOpen","onMouseDown","update"],"sources":["../../src/SelectTrigger.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAGhC,SAASC,QAAA,QAAgB;AACzB,YAAYC,KAAA,MAAW;AAEvB,SAASC,gBAAA,EAAkBC,0BAAA,QAAkC;AAiCvD,SAAAC,GAAA;AA3BN,MAAMC,YAAA,GAAe;EAIfC,eAAA,GACJ,OAAOC,MAAA,GAAW,MACdA,MAAA,CAAOC,UAAA,CAAW,kBAAkB,EAAEC,OAAA,GACtC;EAEOC,aAAA,GAAgBT,KAAA,CAAMU,UAAA,CACjC,UAAuBC,KAAA,EAA2BC,YAAA,EAAc;IAC9D,MAAM;QAAEC,KAAA;QAAOC,QAAA,GAAW;QAAOC,QAAA,GAAW;QAAO,GAAGC;MAAa,IAAIL,KAAA;MAEjEM,OAAA,GAAUhB,gBAAA,CAAiBY,KAAK;MAChCK,iBAAA,GAAoBhB,0BAAA,CAA2BW,KAAK;MACpDM,YAAA,GAAerB,eAAA,CACnBc,YAAA,EACAK,OAAA,CAAQG,eAAA,EAAiBC,IAAA,CAAKC,YAChC;IAIA,OAAIJ,iBAAA,CAAkBK,qBAAA,GACb,OAIP,eAAApB,GAAA,CAACJ,QAAA;MACCyB,aAAA,EAAepB,YAAA;MACfW,QAAA;MACAU,MAAA,EAAO;MACPC,IAAA,EAAK;MACLC,EAAA,EAAIT,iBAAA,CAAkBS,EAAA;MACrB,IAAI,CAACZ,QAAA,IAAY;QAChBa,iBAAA,EAAmB;UACjBC,YAAA,EAAc;UACdC,YAAA,EAAc;UACdC,YAAA,EAAc;QAChB;QACAC,WAAA,EAAa;QACbC,IAAA,EAAMf,iBAAA,CAAkBe;MAC1B;MACAC,IAAA,EAAK;MACL,iBAAc;MACd,iBAAejB,OAAA,CAAQkB,IAAA;MACvB,qBAAkB;MAClBC,GAAA,EAAKnB,OAAA,CAAQmB,GAAA;MACbtB,QAAA;MACA,iBAAeA,QAAA,GAAW,KAAK;MAC9B,GAAGE,YAAA;MACJqB,GAAA,EAAKlB,YAAA;MACJ,IAA4CD,iBAAA,CAAkBoB,YAAA,GAC3D;QACE,GAAGpB,iBAAA,CAAkBoB,YAAA,CAAaC,iBAAA,CAAkB;QACpD,IAAIlC,eAAA,GACA;UACEmC,QAAA,EAAU;YACRtB,iBAAA,CAAkBuB,OAAA,CAAQ,CAACxB,OAAA,CAAQkB,IAAI;UACzC;QACF,IACA;UACEO,YAAA,EAAc;YACZzB,OAAA,CAAQG,eAAA,EAAiBuB,MAAA,GAAS,GAClCzB,iBAAA,CAAkBuB,OAAA,CAAQ,CAACxB,OAAA,CAAQkB,IAAI;UACzC;QACF;MACN,IACA;QACEK,QAAA,EAAU;UACRtB,iBAAA,CAAkBuB,OAAA,CAAQ,CAACxB,OAAA,CAAQkB,IAAI;QACzC;MACF;IAAA,CACN;EAEJ,CACF","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { FloatingFocusManager } from "@floating-ui/react";
|
|
2
1
|
import { AdaptPortalContents, useAdaptIsActive } from "@tamagui/adapt";
|
|
3
2
|
import { AnimatePresence } from "@tamagui/animate-presence";
|
|
4
3
|
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
@@ -6,6 +5,8 @@ import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
|
6
5
|
import { styled } from "@tamagui/core";
|
|
7
6
|
import { needsPortalRepropagation } from "@tamagui/portal";
|
|
8
7
|
import { YStack } from "@tamagui/stacks";
|
|
8
|
+
import { startTransition } from "@tamagui/start-transition";
|
|
9
|
+
import * as React from "react";
|
|
9
10
|
import { VIEWPORT_NAME } from "./constants.mjs";
|
|
10
11
|
import { ForwardSelectContext, useSelectContext, useSelectItemParentContext } from "./context.mjs";
|
|
11
12
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -45,12 +46,20 @@ const SelectViewportFrame = styled(YStack, {
|
|
|
45
46
|
context = useSelectContext(scope),
|
|
46
47
|
itemContext = useSelectItemParentContext(scope),
|
|
47
48
|
isAdapted = useAdaptIsActive(context.adaptScope),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
[lazyMounted, setLazyMounted] = React.useState(!context.lazyMount);
|
|
50
|
+
React.useEffect(() => {
|
|
51
|
+
context.lazyMount && context.open && (lazyMounted || startTransition(() => {
|
|
52
|
+
setLazyMounted(!0);
|
|
53
|
+
}));
|
|
54
|
+
}, [context.lazyMount, context.open, lazyMounted]);
|
|
55
|
+
const composedRefs = useComposedRefs(
|
|
56
|
+
// @ts-ignore TODO react 19 type needs fix
|
|
57
|
+
forwardedRef, context.floatingContext?.refs.setFloating);
|
|
51
58
|
if (useIsomorphicLayoutEffect(() => {
|
|
52
59
|
context.update && context.update();
|
|
53
|
-
}, [isAdapted]),
|
|
60
|
+
}, [isAdapted]), useIsomorphicLayoutEffect(() => {
|
|
61
|
+
context.lazyMount && lazyMounted && context.open && context.update && context.update();
|
|
62
|
+
}, [lazyMounted]), itemContext.shouldRenderWebNative) return /* @__PURE__ */jsx(YStack, {
|
|
54
63
|
position: "relative",
|
|
55
64
|
children
|
|
56
65
|
});
|
|
@@ -78,28 +87,23 @@ const SelectViewportFrame = styled(YStack, {
|
|
|
78
87
|
__html: selectViewportCSS
|
|
79
88
|
}
|
|
80
89
|
}), /* @__PURE__ */jsx(AnimatePresence, {
|
|
81
|
-
children: context.open ? /* @__PURE__ */jsx(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
ref: composedRefs,
|
|
95
|
-
children
|
|
96
|
-
}, "select-viewport")
|
|
97
|
-
}) : null
|
|
98
|
-
}), !context.open && /* @__PURE__ */jsx("div", {
|
|
90
|
+
children: context.open ? /* @__PURE__ */jsx(SelectViewportFrame, {
|
|
91
|
+
size: itemContext.size,
|
|
92
|
+
role: "presentation",
|
|
93
|
+
...viewportProps,
|
|
94
|
+
...style,
|
|
95
|
+
...floatingProps,
|
|
96
|
+
...(!props.unstyled && {
|
|
97
|
+
overflowY: disableScroll ? void 0 : style.overflow ?? "auto"
|
|
98
|
+
}),
|
|
99
|
+
ref: composedRefs,
|
|
100
|
+
children: lazyMounted ? children : null
|
|
101
|
+
}, "select-viewport") : null
|
|
102
|
+
}), !context.open && !(context.lazyMount && context.renderValue) && lazyMounted && /* @__PURE__ */jsx("div", {
|
|
99
103
|
style: {
|
|
100
104
|
display: "none"
|
|
101
105
|
},
|
|
102
|
-
children
|
|
106
|
+
children
|
|
103
107
|
})]
|
|
104
108
|
});
|
|
105
109
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["AdaptPortalContents","useAdaptIsActive","AnimatePresence","useComposedRefs","isWeb","useIsomorphicLayoutEffect","styled","needsPortalRepropagation","YStack","startTransition","React","VIEWPORT_NAME","ForwardSelectContext","useSelectContext","useSelectItemParentContext","Fragment","jsx","jsxs","SelectViewportFrame","name","variants","unstyled","false","size","backgroundColor","elevate","bordered","userSelect","outlineWidth","...size","val","tokens","borderRadius","radius","defaultVariants","process","env","TAMAGUI_HEADLESS","needsRepropagation","SelectViewport","styleable","props","forwardedRef","scope","children","disableScroll","viewportProps","context","itemContext","isAdapted","adaptScope","lazyMounted","setLazyMounted","useState","lazyMount","useEffect","open","composedRefs","floatingContext","refs","setFloating","update","shouldRenderWebNative","position","content","interactions","NODE_ENV","console","warn","style","className","floatingProps","getFloatingProps","dangerouslySetInnerHTML","__html","selectViewportCSS","role","overflowY","overflow","ref","renderValue","display"],"sources":["../../src/SelectViewport.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/jsx/context.mjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { createStyledContext } from "@tamagui/core";
|
|
2
2
|
import { getPortal } from "@tamagui/native";
|
|
3
|
+
import { createContext } from "react";
|
|
3
4
|
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
const
|
|
5
|
+
const SelectZIndexContext = createContext(void 0),
|
|
6
|
+
{
|
|
5
7
|
Provider: SelectProvider,
|
|
6
8
|
useStyledContext: useSelectContext
|
|
7
9
|
} = createStyledContext(null, "Select"),
|
|
@@ -23,5 +25,5 @@ const {
|
|
|
23
25
|
children
|
|
24
26
|
})
|
|
25
27
|
});
|
|
26
|
-
export { ForwardSelectContext, SelectItemParentProvider, SelectProvider, useSelectContext, useSelectItemParentContext };
|
|
28
|
+
export { ForwardSelectContext, SelectItemParentProvider, SelectProvider, SelectZIndexContext, useSelectContext, useSelectItemParentContext };
|
|
27
29
|
//# sourceMappingURL=context.mjs.map
|
package/dist/jsx/context.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createStyledContext","getPortal","jsx","Provider","SelectProvider","useStyledContext","useSelectContext","SelectItemParentProvider","useSelectItemParentContext","ForwardSelectContext","context","itemContext","children","state","type","isInSheet","scope","scopeName"],"sources":["../../src/context.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAA,QAA2B;AACpC,SAASC,SAAA,QAAiB;
|
|
1
|
+
{"version":3,"names":["createStyledContext","getPortal","createContext","jsx","SelectZIndexContext","Provider","SelectProvider","useStyledContext","useSelectContext","SelectItemParentProvider","useSelectItemParentContext","ForwardSelectContext","context","itemContext","children","state","type","isInSheet","scope","scopeName"],"sources":["../../src/context.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,mBAAA,QAA2B;AACpC,SAASC,SAAA,QAAiB;AAC1B,SAASC,aAAA,QAAqB;AAmCxB,SAAAC,GAAA;AA/BC,MAAMC,mBAAA,GAAsBF,aAAA,CAAkC,MAAS;EAEjE;IAAEG,QAAA,EAAUC,cAAA;IAAgBC,gBAAA,EAAkBC;EAAiB,IAC1ER,mBAAA,CAAwC,MAAa,QAAQ;EAIlD;IACXK,QAAA,EAAUI,wBAAA;IACVF,gBAAA,EAAkBG;EACpB,IAAIV,mBAAA,CAAkD,MAAa,YAAY;EAElEW,oBAAA,GAAuBA,CAAC;IACnCC,OAAA;IACAC,WAAA;IACAC;EACF,MAOsBb,SAAA,CAAU,EAAEc,KAAA,CAChBC,IAAA,KAAS,aAChBF,QAAA,GAKP,eAAAX,GAAA,CAACG,cAAA;IAAeW,SAAA,EAAS;IAACC,KAAA,EAAON,OAAA,CAAQO,SAAA;IAAY,GAAGP,OAAA;IACtDE,QAAA,iBAAAX,GAAA,CAACM,wBAAA;MAAyBS,KAAA,EAAON,OAAA,CAAQO,SAAA;MAAY,GAAGN,WAAA;MACrDC;IAAA,CACH;EAAA,CACF","ignoreList":[]}
|
|
@@ -25,6 +25,7 @@ __export(context_exports, {
|
|
|
25
25
|
ForwardSelectContext: () => ForwardSelectContext,
|
|
26
26
|
SelectItemParentProvider: () => SelectItemParentProvider,
|
|
27
27
|
SelectProvider: () => SelectProvider,
|
|
28
|
+
SelectZIndexContext: () => SelectZIndexContext,
|
|
28
29
|
useSelectContext: () => useSelectContext,
|
|
29
30
|
useSelectItemParentContext: () => useSelectItemParentContext
|
|
30
31
|
});
|
|
@@ -32,6 +33,8 @@ module.exports = __toCommonJS(context_exports);
|
|
|
32
33
|
var import_jsx_runtime = require("react/jsx-runtime"),
|
|
33
34
|
import_core = require("@tamagui/core"),
|
|
34
35
|
import_native = require("@tamagui/native"),
|
|
36
|
+
import_react = require("react"),
|
|
37
|
+
SelectZIndexContext = /* @__PURE__ */(0, import_react.createContext)(void 0),
|
|
35
38
|
{
|
|
36
39
|
Provider: SelectProvider,
|
|
37
40
|
useStyledContext: useSelectContext
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key"],"sources":["../../src/context.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAiB;
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call"],"sources":["../../src/context.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAiB;AAC1B,IAAAC,gBAAS,GAAAF,MAAA,CAAqBG,wBAAA;AAmCxB,IAAAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AA/BC,IAAAC,YAAM,GAAAN,MAAA,CAAAO,SAAsB,CAAAC,cAA2C;AAOjE,IACXC,QAAU,GAAAA,CAAAC,MAAA,EAAAC,GAAA;IACV,SAAAC,IAAA,IAAAD,GAAkB,EAChBZ,SAAA,CAAAW,MAAA,EAAAE,IAAkD;MAAaC,GAAA,EAAAF,GAAA,CAAAC,IAAY;MAElEE,UAAA;IAAA;EAAwB;EACnCC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;IACA,IAAAF,IAAA,WAAAA,IAAA,uBAAAA,IAAA,gBACA,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GAQoB,CAAAX,YAAY,CAAAe,IAChB,CAAAL,EAAA,EAAAI,GAAA,CAAS,IAAAA,GAAA,KAAAF,MAChB,IAAAnB,SAKP,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAC,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAe;MAAAN,UAAS,EAAC,EAAAK,IAAA,GAAOjB,gBAAQ,CAAYe,IAAG,EAAAG,GAAA,MACtDD,IAAA,CAAAL;IAAA","ignoreList":[]}
|
package/dist/jsx/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./Select";
|
|
2
|
-
export * from "./context";
|
|
1
|
+
export * from "./Select.mjs";
|
|
2
|
+
export * from "./context.mjs";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/dist/jsx/index.js.map
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/select",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.31",
|
|
4
4
|
"source": "src/index.tsx",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -18,15 +18,12 @@
|
|
|
18
18
|
"./package.json": "./package.json",
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./types/index.d.ts",
|
|
21
|
-
"react-native":
|
|
22
|
-
|
|
23
|
-
"import": "./dist/esm/index.native.js",
|
|
24
|
-
"require": "./dist/cjs/index.native.js"
|
|
25
|
-
},
|
|
21
|
+
"react-native": "./dist/esm/index.native.js",
|
|
22
|
+
"browser": "./dist/esm/index.mjs",
|
|
26
23
|
"module": "./dist/esm/index.mjs",
|
|
27
24
|
"import": "./dist/esm/index.mjs",
|
|
28
25
|
"require": "./dist/cjs/index.cjs",
|
|
29
|
-
"default": "./dist/
|
|
26
|
+
"default": "./dist/esm/index.mjs"
|
|
30
27
|
}
|
|
31
28
|
},
|
|
32
29
|
"publishConfig": {
|
|
@@ -39,38 +36,37 @@
|
|
|
39
36
|
"clean:build": "tamagui-build clean:build"
|
|
40
37
|
},
|
|
41
38
|
"dependencies": {
|
|
42
|
-
"@
|
|
43
|
-
"@
|
|
44
|
-
"@
|
|
45
|
-
"@tamagui/
|
|
46
|
-
"@tamagui/
|
|
47
|
-
"@tamagui/
|
|
48
|
-
"@tamagui/
|
|
49
|
-
"@tamagui/
|
|
50
|
-
"@tamagui/
|
|
51
|
-
"@tamagui/
|
|
52
|
-
"@tamagui/
|
|
53
|
-
"@tamagui/
|
|
54
|
-
"@tamagui/
|
|
55
|
-
"@tamagui/
|
|
56
|
-
"@tamagui/
|
|
57
|
-
"@tamagui/
|
|
58
|
-
"@tamagui/
|
|
59
|
-
"@tamagui/
|
|
60
|
-
"@tamagui/
|
|
61
|
-
"@tamagui/
|
|
62
|
-
"@tamagui/
|
|
63
|
-
"@tamagui/
|
|
64
|
-
"@tamagui/use-
|
|
65
|
-
"@tamagui/use-
|
|
66
|
-
"@tamagui/
|
|
67
|
-
"@tamagui/use-previous": "2.0.0-rc.3"
|
|
39
|
+
"@tamagui/adapt": "2.0.0-rc.31",
|
|
40
|
+
"@tamagui/animate-presence": "2.0.0-rc.31",
|
|
41
|
+
"@tamagui/compose-refs": "2.0.0-rc.31",
|
|
42
|
+
"@tamagui/constants": "2.0.0-rc.31",
|
|
43
|
+
"@tamagui/core": "2.0.0-rc.31",
|
|
44
|
+
"@tamagui/create-context": "2.0.0-rc.31",
|
|
45
|
+
"@tamagui/dismissable": "2.0.0-rc.31",
|
|
46
|
+
"@tamagui/floating": "2.0.0-rc.31",
|
|
47
|
+
"@tamagui/focus-scope": "2.0.0-rc.31",
|
|
48
|
+
"@tamagui/focusable": "2.0.0-rc.31",
|
|
49
|
+
"@tamagui/get-token": "2.0.0-rc.31",
|
|
50
|
+
"@tamagui/helpers": "2.0.0-rc.31",
|
|
51
|
+
"@tamagui/list-item": "2.0.0-rc.31",
|
|
52
|
+
"@tamagui/native": "2.0.0-rc.31",
|
|
53
|
+
"@tamagui/portal": "2.0.0-rc.31",
|
|
54
|
+
"@tamagui/remove-scroll": "2.0.0-rc.31",
|
|
55
|
+
"@tamagui/separator": "2.0.0-rc.31",
|
|
56
|
+
"@tamagui/sheet": "2.0.0-rc.31",
|
|
57
|
+
"@tamagui/stacks": "2.0.0-rc.31",
|
|
58
|
+
"@tamagui/text": "2.0.0-rc.31",
|
|
59
|
+
"@tamagui/use-controllable-state": "2.0.0-rc.31",
|
|
60
|
+
"@tamagui/use-debounce": "2.0.0-rc.31",
|
|
61
|
+
"@tamagui/use-event": "2.0.0-rc.31",
|
|
62
|
+
"@tamagui/use-previous": "2.0.0-rc.31",
|
|
63
|
+
"@tamagui/z-index-stack": "2.0.0-rc.31"
|
|
68
64
|
},
|
|
69
65
|
"devDependencies": {
|
|
70
|
-
"@tamagui/build": "2.0.0-rc.
|
|
66
|
+
"@tamagui/build": "2.0.0-rc.31",
|
|
71
67
|
"react": ">=19",
|
|
72
68
|
"react-dom": "*",
|
|
73
|
-
"react-native": "0.
|
|
69
|
+
"react-native": "0.83.2"
|
|
74
70
|
},
|
|
75
71
|
"peerDependencies": {
|
|
76
72
|
"react": ">=19",
|
package/src/Select.tsx
CHANGED
|
@@ -22,6 +22,7 @@ import * as React from 'react'
|
|
|
22
22
|
import {
|
|
23
23
|
SelectItemParentProvider,
|
|
24
24
|
SelectProvider,
|
|
25
|
+
SelectZIndexContext,
|
|
25
26
|
useSelectContext,
|
|
26
27
|
useSelectItemParentContext,
|
|
27
28
|
} from './context'
|
|
@@ -511,6 +512,8 @@ function SelectInner(props: SelectScopedProps<SelectProps> & { adaptScope: strin
|
|
|
511
512
|
dir,
|
|
512
513
|
id,
|
|
513
514
|
renderValue,
|
|
515
|
+
lazyMount,
|
|
516
|
+
zIndex,
|
|
514
517
|
} = props
|
|
515
518
|
|
|
516
519
|
const isAdapted = useAdaptIsActive(adaptScope)
|
|
@@ -604,7 +607,7 @@ function SelectInner(props: SelectScopedProps<SelectProps> & { adaptScope: strin
|
|
|
604
607
|
[setActiveIndexFast]
|
|
605
608
|
)
|
|
606
609
|
|
|
607
|
-
|
|
610
|
+
const content = (
|
|
608
611
|
<SelectItemParentProvider
|
|
609
612
|
scopeName={scope}
|
|
610
613
|
scope={scope}
|
|
@@ -612,6 +615,7 @@ function SelectInner(props: SelectScopedProps<SelectProps> & { adaptScope: strin
|
|
|
612
615
|
initialValue={React.useMemo(() => value, [open])}
|
|
613
616
|
size={sizeProp}
|
|
614
617
|
activeIndexSubscribe={activeIndexSubscribe}
|
|
618
|
+
activeIndexRef={activeIndexRef}
|
|
615
619
|
valueSubscribe={valueSubscribe}
|
|
616
620
|
setOpen={setOpen}
|
|
617
621
|
id={id}
|
|
@@ -650,6 +654,7 @@ function SelectInner(props: SelectScopedProps<SelectProps> & { adaptScope: strin
|
|
|
650
654
|
open={open}
|
|
651
655
|
native={native}
|
|
652
656
|
renderValue={renderValue}
|
|
657
|
+
lazyMount={lazyMount}
|
|
653
658
|
>
|
|
654
659
|
<SelectSheetController onOpenChange={setOpen} scope={scope}>
|
|
655
660
|
{shouldRenderWebNative ? (
|
|
@@ -671,4 +676,14 @@ function SelectInner(props: SelectScopedProps<SelectProps> & { adaptScope: strin
|
|
|
671
676
|
</SelectProvider>
|
|
672
677
|
</SelectItemParentProvider>
|
|
673
678
|
)
|
|
679
|
+
|
|
680
|
+
if (zIndex !== undefined) {
|
|
681
|
+
return (
|
|
682
|
+
<SelectZIndexContext.Provider value={zIndex}>
|
|
683
|
+
{content}
|
|
684
|
+
</SelectZIndexContext.Provider>
|
|
685
|
+
)
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
return content
|
|
674
689
|
}
|
package/src/SelectContent.tsx
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { isWeb } from '@tamagui/core'
|
|
2
|
+
import { Dismissable } from '@tamagui/dismissable'
|
|
3
3
|
import type { FocusScopeProps } from '@tamagui/focus-scope'
|
|
4
4
|
import { FocusScope } from '@tamagui/focus-scope'
|
|
5
|
-
import React from 'react'
|
|
6
5
|
|
|
7
|
-
import {
|
|
6
|
+
import { Portal } from '@tamagui/portal'
|
|
7
|
+
import { RemoveScroll } from '@tamagui/remove-scroll'
|
|
8
|
+
import { useContext } from 'react'
|
|
9
|
+
import {
|
|
10
|
+
SelectZIndexContext,
|
|
11
|
+
useSelectContext,
|
|
12
|
+
useSelectItemParentContext,
|
|
13
|
+
} from './context'
|
|
8
14
|
import type { SelectContentProps } from './types'
|
|
9
15
|
import { useShowSelectSheet } from './useSelectBreakpointActive'
|
|
10
16
|
|
|
@@ -15,25 +21,14 @@ import { useShowSelectSheet } from './useSelectBreakpointActive'
|
|
|
15
21
|
export const SelectContent = ({
|
|
16
22
|
children,
|
|
17
23
|
scope,
|
|
18
|
-
zIndex = 1000,
|
|
19
24
|
...focusScopeProps
|
|
20
25
|
}: SelectContentProps & FocusScopeProps) => {
|
|
21
26
|
const context = useSelectContext(scope)
|
|
22
27
|
const itemParentContext = useSelectItemParentContext(scope)
|
|
23
|
-
const
|
|
28
|
+
const zIndex = useContext(SelectZIndexContext)
|
|
24
29
|
const showSheet = useShowSelectSheet(context)
|
|
25
30
|
|
|
26
|
-
const contents =
|
|
27
|
-
<Theme forceClassName name={themeName}>
|
|
28
|
-
{children}
|
|
29
|
-
</Theme>
|
|
30
|
-
)
|
|
31
|
-
|
|
32
|
-
const touch = useIsTouchDevice()
|
|
33
|
-
|
|
34
|
-
const overlayStyle = React.useMemo(() => {
|
|
35
|
-
return { zIndex, pointerEvents: context.open ? 'auto' : 'none' } as const
|
|
36
|
-
}, [context.open])
|
|
31
|
+
const contents = children
|
|
37
32
|
|
|
38
33
|
if (itemParentContext.shouldRenderWebNative) {
|
|
39
34
|
return <>{children}</>
|
|
@@ -47,25 +42,41 @@ export const SelectContent = ({
|
|
|
47
42
|
}
|
|
48
43
|
|
|
49
44
|
return (
|
|
50
|
-
<
|
|
51
|
-
<
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
e.preventDefault()
|
|
63
|
-
}}
|
|
45
|
+
<Portal open={context.open} zIndex={zIndex} stackZIndex={100_000}>
|
|
46
|
+
<RemoveScroll enabled={context.open && !context.disablePreventBodyScroll}>
|
|
47
|
+
<Dismissable
|
|
48
|
+
asChild
|
|
49
|
+
forceUnmount={!context.open}
|
|
50
|
+
onDismiss={() => itemParentContext.setOpen(false)}
|
|
51
|
+
// prevent focus-outside and pointer-outside from triggering dismiss:
|
|
52
|
+
// SelectImpl has its own document pointerdown listener for outside clicks,
|
|
53
|
+
// and focus changes during open (e.g. FocusScope trapping) shouldn't dismiss.
|
|
54
|
+
// only escape key should trigger onDismiss here.
|
|
55
|
+
onFocusOutside={(e) => e.preventDefault()}
|
|
56
|
+
onPointerDownOutside={(e) => e.preventDefault()}
|
|
64
57
|
>
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
58
|
+
<FocusScope
|
|
59
|
+
{...focusScopeProps}
|
|
60
|
+
enabled={!!context.open}
|
|
61
|
+
trapped
|
|
62
|
+
onMountAutoFocus={(e) => {
|
|
63
|
+
// prevent FocusScope from auto-focusing - floating-ui handles focus in SelectItem
|
|
64
|
+
e.preventDefault()
|
|
65
|
+
}}
|
|
66
|
+
onUnmountAutoFocus={(e) => {
|
|
67
|
+
// return focus to trigger on close
|
|
68
|
+
e.preventDefault()
|
|
69
|
+
const trigger = context.floatingContext?.refs?.reference?.current
|
|
70
|
+
if (trigger instanceof HTMLElement) {
|
|
71
|
+
trigger.focus()
|
|
72
|
+
}
|
|
73
|
+
}}
|
|
74
|
+
>
|
|
75
|
+
{/* div needed for FocusScope ref, display:contents keeps layout neutral */}
|
|
76
|
+
{isWeb ? <div style={{ display: 'contents' }}>{contents}</div> : contents}
|
|
77
|
+
</FocusScope>
|
|
78
|
+
</Dismissable>
|
|
79
|
+
</RemoveScroll>
|
|
80
|
+
</Portal>
|
|
70
81
|
)
|
|
71
82
|
}
|