@tamagui/select 1.14.0 → 1.14.2

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.
Files changed (143) hide show
  1. package/dist/cjs/BubbleSelect.js +47 -1
  2. package/dist/cjs/BubbleSelect.js.map +2 -2
  3. package/dist/cjs/Select.js +494 -1
  4. package/dist/cjs/Select.js.map +2 -2
  5. package/dist/cjs/SelectContent.js +54 -1
  6. package/dist/cjs/SelectContent.js.map +2 -2
  7. package/dist/cjs/SelectContent.native.js +30 -1
  8. package/dist/cjs/SelectContent.native.js.map +2 -2
  9. package/dist/cjs/SelectImpl.js +308 -1
  10. package/dist/cjs/SelectImpl.js.map +2 -2
  11. package/dist/cjs/SelectImpl.native.js +34 -1
  12. package/dist/cjs/SelectImpl.native.js.map +2 -2
  13. package/dist/cjs/SelectScrollButton.js +175 -1
  14. package/dist/cjs/SelectScrollButton.js.map +2 -2
  15. package/dist/cjs/SelectScrollButton.native.js +31 -1
  16. package/dist/cjs/SelectScrollButton.native.js.map +2 -2
  17. package/dist/cjs/SelectViewport.js +115 -2
  18. package/dist/cjs/SelectViewport.js.map +2 -2
  19. package/dist/cjs/SelectViewport.native.js +52 -1
  20. package/dist/cjs/SelectViewport.native.js.map +2 -2
  21. package/dist/cjs/constants.js +46 -1
  22. package/dist/cjs/constants.js.map +2 -2
  23. package/dist/cjs/context.js +43 -1
  24. package/dist/cjs/context.js.map +2 -2
  25. package/dist/cjs/index.js +19 -1
  26. package/dist/cjs/index.js.map +2 -2
  27. package/dist/cjs/types.js +16 -1
  28. package/dist/cjs/types.js.map +2 -2
  29. package/dist/cjs/useSelectBreakpointActive.js +42 -1
  30. package/dist/cjs/useSelectBreakpointActive.js.map +2 -2
  31. package/dist/esm/BubbleSelect.js +24 -1
  32. package/dist/esm/BubbleSelect.js.map +2 -2
  33. package/dist/esm/BubbleSelect.mjs +24 -1
  34. package/dist/esm/BubbleSelect.mjs.map +2 -2
  35. package/dist/esm/Select.js +464 -1
  36. package/dist/esm/Select.js.map +2 -2
  37. package/dist/esm/Select.mjs +464 -1
  38. package/dist/esm/Select.mjs.map +2 -2
  39. package/dist/esm/SelectContent.js +30 -1
  40. package/dist/esm/SelectContent.js.map +2 -2
  41. package/dist/esm/SelectContent.mjs +30 -1
  42. package/dist/esm/SelectContent.mjs.map +2 -2
  43. package/dist/esm/SelectContent.native.js +6 -1
  44. package/dist/esm/SelectContent.native.js.map +2 -2
  45. package/dist/esm/SelectContent.native.mjs +6 -1
  46. package/dist/esm/SelectContent.native.mjs.map +2 -2
  47. package/dist/esm/SelectImpl.js +294 -1
  48. package/dist/esm/SelectImpl.js.map +2 -2
  49. package/dist/esm/SelectImpl.mjs +294 -1
  50. package/dist/esm/SelectImpl.mjs.map +2 -2
  51. package/dist/esm/SelectImpl.native.js +10 -1
  52. package/dist/esm/SelectImpl.native.js.map +2 -2
  53. package/dist/esm/SelectImpl.native.mjs +10 -1
  54. package/dist/esm/SelectImpl.native.mjs.map +2 -2
  55. package/dist/esm/SelectScrollButton.js +140 -1
  56. package/dist/esm/SelectScrollButton.js.map +2 -2
  57. package/dist/esm/SelectScrollButton.mjs +140 -1
  58. package/dist/esm/SelectScrollButton.mjs.map +2 -2
  59. package/dist/esm/SelectScrollButton.native.js +6 -1
  60. package/dist/esm/SelectScrollButton.native.js.map +2 -2
  61. package/dist/esm/SelectScrollButton.native.mjs +6 -1
  62. package/dist/esm/SelectScrollButton.native.mjs.map +2 -2
  63. package/dist/esm/SelectViewport.js +80 -2
  64. package/dist/esm/SelectViewport.js.map +2 -2
  65. package/dist/esm/SelectViewport.mjs +80 -2
  66. package/dist/esm/SelectViewport.mjs.map +2 -2
  67. package/dist/esm/SelectViewport.native.js +18 -1
  68. package/dist/esm/SelectViewport.native.js.map +2 -2
  69. package/dist/esm/SelectViewport.native.mjs +18 -1
  70. package/dist/esm/SelectViewport.native.mjs.map +2 -2
  71. package/dist/esm/constants.js +16 -1
  72. package/dist/esm/constants.js.map +2 -2
  73. package/dist/esm/constants.mjs +16 -1
  74. package/dist/esm/constants.mjs.map +2 -2
  75. package/dist/esm/context.js +15 -1
  76. package/dist/esm/context.js.map +2 -2
  77. package/dist/esm/context.mjs +15 -1
  78. package/dist/esm/context.mjs.map +2 -2
  79. package/dist/esm/index.js +2 -1
  80. package/dist/esm/index.js.map +1 -1
  81. package/dist/esm/index.mjs +2 -1
  82. package/dist/esm/index.mjs.map +1 -1
  83. package/dist/esm/useSelectBreakpointActive.js +17 -1
  84. package/dist/esm/useSelectBreakpointActive.js.map +2 -2
  85. package/dist/esm/useSelectBreakpointActive.mjs +17 -1
  86. package/dist/esm/useSelectBreakpointActive.mjs.map +2 -2
  87. package/dist/jsx/BubbleSelect.js +24 -1
  88. package/dist/jsx/BubbleSelect.js.map +2 -2
  89. package/dist/jsx/BubbleSelect.mjs +24 -1
  90. package/dist/jsx/BubbleSelect.mjs.map +2 -2
  91. package/dist/jsx/Select.js +428 -1
  92. package/dist/jsx/Select.js.map +2 -2
  93. package/dist/jsx/Select.mjs +428 -1
  94. package/dist/jsx/Select.mjs.map +2 -2
  95. package/dist/jsx/SelectContent.js +29 -1
  96. package/dist/jsx/SelectContent.js.map +2 -2
  97. package/dist/jsx/SelectContent.mjs +29 -1
  98. package/dist/jsx/SelectContent.mjs.map +2 -2
  99. package/dist/jsx/SelectContent.native.js +6 -1
  100. package/dist/jsx/SelectContent.native.js.map +2 -2
  101. package/dist/jsx/SelectContent.native.mjs +6 -1
  102. package/dist/jsx/SelectContent.native.mjs.map +2 -2
  103. package/dist/jsx/SelectImpl.js +286 -1
  104. package/dist/jsx/SelectImpl.js.map +2 -2
  105. package/dist/jsx/SelectImpl.mjs +286 -1
  106. package/dist/jsx/SelectImpl.mjs.map +2 -2
  107. package/dist/jsx/SelectImpl.native.js +9 -1
  108. package/dist/jsx/SelectImpl.native.js.map +2 -2
  109. package/dist/jsx/SelectImpl.native.mjs +9 -1
  110. package/dist/jsx/SelectImpl.native.mjs.map +2 -2
  111. package/dist/jsx/SelectScrollButton.js +126 -1
  112. package/dist/jsx/SelectScrollButton.js.map +2 -2
  113. package/dist/jsx/SelectScrollButton.mjs +126 -1
  114. package/dist/jsx/SelectScrollButton.mjs.map +2 -2
  115. package/dist/jsx/SelectScrollButton.native.js +6 -1
  116. package/dist/jsx/SelectScrollButton.native.js.map +2 -2
  117. package/dist/jsx/SelectScrollButton.native.mjs +6 -1
  118. package/dist/jsx/SelectScrollButton.native.mjs.map +2 -2
  119. package/dist/jsx/SelectViewport.js +72 -2
  120. package/dist/jsx/SelectViewport.js.map +2 -2
  121. package/dist/jsx/SelectViewport.mjs +72 -2
  122. package/dist/jsx/SelectViewport.mjs.map +2 -2
  123. package/dist/jsx/SelectViewport.native.js +17 -1
  124. package/dist/jsx/SelectViewport.native.js.map +2 -2
  125. package/dist/jsx/SelectViewport.native.mjs +17 -1
  126. package/dist/jsx/SelectViewport.native.mjs.map +2 -2
  127. package/dist/jsx/constants.js +16 -1
  128. package/dist/jsx/constants.js.map +2 -2
  129. package/dist/jsx/constants.mjs +16 -1
  130. package/dist/jsx/constants.mjs.map +2 -2
  131. package/dist/jsx/context.js +14 -1
  132. package/dist/jsx/context.js.map +2 -2
  133. package/dist/jsx/context.mjs +14 -1
  134. package/dist/jsx/context.mjs.map +2 -2
  135. package/dist/jsx/index.js +2 -1
  136. package/dist/jsx/index.js.map +1 -1
  137. package/dist/jsx/index.mjs +2 -1
  138. package/dist/jsx/index.mjs.map +1 -1
  139. package/dist/jsx/useSelectBreakpointActive.js +17 -1
  140. package/dist/jsx/useSelectBreakpointActive.js.map +2 -2
  141. package/dist/jsx/useSelectBreakpointActive.mjs +17 -1
  142. package/dist/jsx/useSelectBreakpointActive.mjs.map +2 -2
  143. package/package.json +16 -16
@@ -1,2 +1,30 @@
1
- import{FloatingOverlay as S,FloatingPortal as F}from"@floating-ui/react";import{Theme as C,useIsTouchDevice as N,useThemeName as P}from"@tamagui/core";import{Dismissable as T}from"@tamagui/dismissable";import{FocusScope as D}from"@tamagui/focus-scope";import{useSelectContext as O}from"./context";import{useShowSelectSheet as b}from"./useSelectBreakpointActive";const w="SelectContent",B=({children:t,__scopeSelect:s,zIndex:n=1e3,...r})=>{const e=O(w,s),c=P(),l=b(e),o=<C forceClassName name={c}>{t}</C>,m=N();return l?e.open?<>{o}</>:null:<F>{e.open?<S style={{zIndex:n}}lockScroll={!m}><D loop trapped{...r}><T>{o}</T></D></S>:<div style={{display:"none"}}>{o}</div>}</F>};export{B as SelectContent};
1
+ import { FloatingOverlay, FloatingPortal } from "@floating-ui/react";
2
+ import { Theme, useIsTouchDevice, useThemeName } from "@tamagui/core";
3
+ import { Dismissable } from "@tamagui/dismissable";
4
+ import { FocusScope } from "@tamagui/focus-scope";
5
+ import { useSelectContext } from "./context";
6
+ import { useShowSelectSheet } from "./useSelectBreakpointActive";
7
+ const CONTENT_NAME = "SelectContent";
8
+ const SelectContent = ({
9
+ children,
10
+ __scopeSelect,
11
+ zIndex = 1e3,
12
+ ...focusScopeProps
13
+ }) => {
14
+ const context = useSelectContext(CONTENT_NAME, __scopeSelect);
15
+ const themeName = useThemeName();
16
+ const showSheet = useShowSelectSheet(context);
17
+ const contents = <Theme forceClassName name={themeName}>{children}</Theme>;
18
+ const touch = useIsTouchDevice();
19
+ if (showSheet) {
20
+ if (!context.open) {
21
+ return null;
22
+ }
23
+ return <>{contents}</>;
24
+ }
25
+ return <FloatingPortal>{context.open ? <FloatingOverlay style={{ zIndex }} lockScroll={!touch}><FocusScope loop trapped {...focusScopeProps}><Dismissable>{contents}</Dismissable></FocusScope></FloatingOverlay> : <div style={{ display: "none" }}>{contents}</div>}</FloatingPortal>;
26
+ };
27
+ export {
28
+ SelectContent
29
+ };
2
30
  //# sourceMappingURL=SelectContent.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SelectContent.tsx"],
4
4
  "sourcesContent": ["import { FloatingOverlay, FloatingPortal } from '@floating-ui/react'\nimport { Theme, useIsTouchDevice, useThemeName } from '@tamagui/core'\nimport { Dismissable } from '@tamagui/dismissable'\nimport { FocusScope, FocusScopeProps } from '@tamagui/focus-scope'\n\nimport { useSelectContext } from './context'\nimport { SelectContentProps } from './types'\nimport { useShowSelectSheet } from './useSelectBreakpointActive'\n\n/* -------------------------------------------------------------------------------------------------\n * SelectContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'SelectContent'\n\nexport const SelectContent = ({\n children,\n __scopeSelect,\n zIndex = 1000,\n ...focusScopeProps\n}: SelectContentProps & FocusScopeProps) => {\n const context = useSelectContext(CONTENT_NAME, __scopeSelect)\n const themeName = useThemeName()\n const showSheet = useShowSelectSheet(context)\n const contents = (\n <Theme forceClassName name={themeName}>\n {children}\n </Theme>\n )\n const touch = useIsTouchDevice()\n\n if (showSheet) {\n if (!context.open) {\n return null\n }\n return <>{contents}</>\n }\n\n return (\n <FloatingPortal>\n {context.open ? (\n <FloatingOverlay style={{ zIndex }} lockScroll={!touch}>\n <FocusScope loop trapped {...focusScopeProps}>\n <Dismissable>{contents}</Dismissable>\n </FocusScope>\n </FloatingOverlay>\n ) : (\n <div style={{ display: 'none' }}>{contents}</div>\n )}\n </FloatingPortal>\n )\n}\n"],
5
- "mappings": "AAAA,OAAS,mBAAAA,EAAiB,kBAAAC,MAAsB,qBAChD,OAAS,SAAAC,EAAO,oBAAAC,EAAkB,gBAAAC,MAAoB,gBACtD,OAAS,eAAAC,MAAmB,uBAC5B,OAAS,cAAAC,MAAmC,uBAE5C,OAAS,oBAAAC,MAAwB,YAEjC,OAAS,sBAAAC,MAA0B,8BAMnC,MAAMC,EAAe,gBAERC,EAAgB,CAAC,CAC5B,SAAAC,EACA,cAAAC,EACA,OAAAC,EAAS,IACT,GAAGC,CACL,IAA4C,CAC1C,MAAMC,EAAUR,EAAiBE,EAAcG,CAAa,EACtDI,EAAYZ,EAAa,EACzBa,EAAYT,EAAmBO,CAAO,EACtCG,EACJ,CAAChB,EAAM,eAAe,MAAMc,IACzBL,EACH,EAFCT,GAIGiB,EAAQhB,EAAiB,EAE/B,OAAIc,EACGF,EAAQ,KAGN,GAAGG,EAAS,IAFV,KAMT,CAACjB,GACEc,EAAQ,KACP,CAACf,EAAgB,OAAO,CAAE,OAAAa,CAAO,EAAG,YAAY,CAACM,GAC/C,CAACb,EAAW,KAAK,WAAYQ,GAC3B,CAACT,GAAaa,EAAS,EAAtBb,EACH,EAFCC,EAGH,EAJCN,GAMD,CAAC,IAAI,OAAO,CAAE,QAAS,MAAO,IAAIkB,EAAS,EAA1C,KAEL,EAVCjB,EAYL",
6
- "names": ["FloatingOverlay", "FloatingPortal", "Theme", "useIsTouchDevice", "useThemeName", "Dismissable", "FocusScope", "useSelectContext", "useShowSelectSheet", "CONTENT_NAME", "SelectContent", "children", "__scopeSelect", "zIndex", "focusScopeProps", "context", "themeName", "showSheet", "contents", "touch"]
5
+ "mappings": "AAAA,SAAS,iBAAiB,sBAAsB;AAChD,SAAS,OAAO,kBAAkB,oBAAoB;AACtD,SAAS,mBAAmB;AAC5B,SAAS,kBAAmC;AAE5C,SAAS,wBAAwB;AAEjC,SAAS,0BAA0B;AAMnC,MAAM,eAAe;AAEd,MAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,GAAG;AACL,MAA4C;AAC1C,QAAM,UAAU,iBAAiB,cAAc,aAAa;AAC5D,QAAM,YAAY,aAAa;AAC/B,QAAM,YAAY,mBAAmB,OAAO;AAC5C,QAAM,WACJ,CAAC,MAAM,eAAe,MAAM,YACzB,SACH,EAFC;AAIH,QAAM,QAAQ,iBAAiB;AAE/B,MAAI,WAAW;AACb,QAAI,CAAC,QAAQ,MAAM;AACjB,aAAO;AAAA,IACT;AACA,WAAO,GAAG,SAAS;AAAA,EACrB;AAEA,SACE,CAAC,gBACE,QAAQ,OACP,CAAC,gBAAgB,OAAO,EAAE,OAAO,GAAG,YAAY,CAAC,OAC/C,CAAC,WAAW,KAAK,YAAY,iBAC3B,CAAC,aAAa,SAAS,EAAtB,YACH,EAFC,WAGH,EAJC,mBAMD,CAAC,IAAI,OAAO,EAAE,SAAS,OAAO,IAAI,SAAS,EAA1C,KAEL,EAVC;AAYL;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,7 @@
1
- const n=({children:t})=>t;export{n as SelectContent};
1
+ const SelectContent = ({ children }) => {
2
+ return children;
3
+ };
4
+ export {
5
+ SelectContent
6
+ };
2
7
  //# sourceMappingURL=SelectContent.native.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SelectContent.native.tsx"],
4
4
  "sourcesContent": ["import { SelectContentProps } from './types'\n\nexport const SelectContent = ({ children }: SelectContentProps) => {\n return children\n}\n"],
5
- "mappings": "AAEO,MAAMA,EAAgB,CAAC,CAAE,SAAAC,CAAS,IAChCA",
6
- "names": ["SelectContent", "children"]
5
+ "mappings": "AAEO,MAAM,gBAAgB,CAAC,EAAE,SAAS,MAA0B;AACjE,SAAO;AACT;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,7 @@
1
- const n=({children:t})=>t;export{n as SelectContent};
1
+ const SelectContent = ({ children }) => {
2
+ return children;
3
+ };
4
+ export {
5
+ SelectContent
6
+ };
2
7
  //# sourceMappingURL=SelectContent.native.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SelectContent.native.tsx"],
4
4
  "sourcesContent": ["import { SelectContentProps } from './types'\n\nexport const SelectContent = ({ children }: SelectContentProps) => {\n return children\n}\n"],
5
- "mappings": "AAEO,MAAMA,EAAgB,CAAC,CAAE,SAAAC,CAAS,IAChCA",
6
- "names": ["SelectContent", "children"]
5
+ "mappings": "AAEO,MAAM,gBAAgB,CAAC,EAAE,SAAS,MAA0B;AACjE,SAAO;AACT;",
6
+ "names": []
7
7
  }
@@ -1,2 +1,287 @@
1
- import{autoUpdate as Y,flip as Z,inner as $,offset as ee,shift as te,size as ne,useClick as oe,useDismiss as re,useFloating as se,useInnerOffset as le,useInteractions as ce,useListNavigation as ie,useRole as ue,useTypeahead as ae}from"@floating-ui/react";import{isClient as fe,isWeb as de,useIsTouchDevice as pe,useIsomorphicLayoutEffect as d}from"@tamagui/core";import*as t from"react";import{flushSync as me}from"react-dom";import{SCROLL_ARROW_THRESHOLD as W,WINDOW_PADDING as O}from"./constants";import{SelectProvider as Re,useSelectContext as Se}from"./context";const Ee=_=>{const{__scopeSelect:T,children:V,open:n=!1,selectedIndexRef:we,listContentRef:b}=_,A=Se("SelectSheetImpl",T),{setActiveIndex:p,setOpen:u,setSelectedIndex:j,selectedIndex:c,activeIndex:i,forceUpdate:ve}=A,[E,m]=t.useState(0),M=pe(),a=t.useRef([]),D=t.useRef(null),P=t.useRef(null),C=t.useRef(null),w=t.useRef(!1),L=t.useRef(!0),v=t.useRef(),g=t.useRef({isMouseOutside:!1}),[I,f]=t.useState(!1),[l,h]=t.useState(!1),[q,x]=t.useState(0),[z,K]=t.useState(!1),k=t.useRef({});t.useEffect(()=>{const e=requestAnimationFrame(()=>{n||(m(0),h(!1),p(null),f(!1))});return()=>{cancelAnimationFrame(e)}},[n,p]),de&&fe&&t.useEffect(()=>{if(!n)return;const e=o=>{g.current.isMouseOutside&&u(!1)};return document.addEventListener("mouseup",e),()=>{document.removeEventListener("mouseup",e)}},[n]);const H=ne({apply({availableHeight:e,rects:{reference:{width:o}}}){k.current={width:o,maxHeight:e}},padding:O}),{x:F,y:N,reference:B,floating:U,strategy:G,context:r,refs:s}=se({open:n,onOpenChange:u,whileElementsMounted:Y,placement:"bottom-start",middleware:l?[ee(5),M?te({crossAxis:!0,padding:O}):Z({padding:O}),H]:[$({listRef:a,overflowRef:D,index:c,offset:q,onFallbackChange:h,padding:10,minItemsVisible:M?10:4,referenceOverflowThreshold:20}),H]}),R=s.floating,J=n&&E>W,Q=n&&R.current&&E<R.current.scrollHeight-R.current.clientHeight-W,S=ce([oe(r,{event:"mousedown"}),re(r,{outsidePress:!0}),ue(r,{role:"listbox"}),le(r,{enabled:!l,onChange:x,overflowRef:D}),ie(r,{listRef:a,activeIndex:i,selectedIndex:c,onNavigate:p}),ae(r,{listRef:b,onMatch:n?p:j,selectedIndex:c,activeIndex:i})]),X=t.useMemo(()=>({...S,getReferenceProps(){return S.getReferenceProps({ref:B,className:"SelectTrigger",onKeyDown(e){(e.key==="Enter"||e.key===" "&&!r.dataRef.current.typing)&&(e.preventDefault(),u(!0))}})},getFloatingProps(e){return S.getFloatingProps({ref:U,className:"Select",...e,style:{position:G,top:N??"",left:F??"",outline:0,scrollbarWidth:"none",...k.current,...e?.style},onPointerEnter(){f(!1),g.current.isMouseOutside=!1},onPointerLeave(){g.current.isMouseOutside=!0},onPointerMove(){g.current.isMouseOutside=!1,f(!1)},onKeyDown(){f(!0)},onContextMenu(o){o.preventDefault()},onScroll(o){me(()=>m(o.currentTarget.scrollTop))}})}}),[U,N,F,S]);return d(()=>{if(n)return v.current=setTimeout(()=>{w.current=!0},300),()=>{clearTimeout(v.current)};w.current=!1,L.current=!0,x(0),h(!1),K(!1)},[n]),d(()=>{function e(o){const y=o.target;s.floating.current?.contains(y)||P.current?.contains(y)||C.current?.contains(y)||(u(!1),f(!1))}if(n)return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[n,s,u]),d(()=>{n&&I&&i!=null&&a.current[i]?.scrollIntoView({block:"nearest"}),m(s.floating.current?.scrollTop??0)},[n,s,I,i]),d(()=>{n&&l&&c!=null&&a.current[c]?.scrollIntoView({block:"nearest"})},[n,l,c]),d(()=>{s.floating.current&&l&&(s.floating.current.style.maxHeight="")},[s,l]),<Re scope={T}{...A}setScrollTop={m}setInnerOffset={x}floatingRef={R}setValueAtIndex={(e,o)=>{b.current[e]=o}}fallback={l}interactions={X}floatingContext={r}activeIndex={i}canScrollDown={!!Q}canScrollUp={!!J}controlledScrolling={I}dataRef={r.dataRef}listRef={a}blockSelection={z}allowMouseUpRef={L}upArrowRef={P}downArrowRef={C}selectTimeoutRef={v}allowSelectRef={w}>{V}</Re>},Me=typeof navigator<"u"&&navigator.userAgent||"";export{Ee as SelectInlineImpl};
1
+ import {
2
+ autoUpdate,
3
+ flip,
4
+ inner,
5
+ offset,
6
+ shift,
7
+ size,
8
+ useClick,
9
+ useDismiss,
10
+ useFloating,
11
+ useInnerOffset,
12
+ useInteractions,
13
+ useListNavigation,
14
+ useRole,
15
+ useTypeahead
16
+ } from "@floating-ui/react";
17
+ import {
18
+ isClient,
19
+ isWeb,
20
+ useIsTouchDevice,
21
+ useIsomorphicLayoutEffect
22
+ } from "@tamagui/core";
23
+ import * as React from "react";
24
+ import { flushSync } from "react-dom";
25
+ import { SCROLL_ARROW_THRESHOLD, WINDOW_PADDING } from "./constants";
26
+ import { SelectProvider, useSelectContext } from "./context";
27
+ const SelectInlineImpl = (props) => {
28
+ const {
29
+ __scopeSelect,
30
+ children,
31
+ open = false,
32
+ selectedIndexRef,
33
+ listContentRef
34
+ } = props;
35
+ const selectContext = useSelectContext("SelectSheetImpl", __scopeSelect);
36
+ const {
37
+ setActiveIndex,
38
+ setOpen,
39
+ setSelectedIndex,
40
+ selectedIndex,
41
+ activeIndex,
42
+ forceUpdate
43
+ } = selectContext;
44
+ const [scrollTop, setScrollTop] = React.useState(0);
45
+ const touch = useIsTouchDevice();
46
+ const listItemsRef = React.useRef([]);
47
+ const overflowRef = React.useRef(null);
48
+ const upArrowRef = React.useRef(null);
49
+ const downArrowRef = React.useRef(null);
50
+ const allowSelectRef = React.useRef(false);
51
+ const allowMouseUpRef = React.useRef(true);
52
+ const selectTimeoutRef = React.useRef();
53
+ const state = React.useRef({
54
+ isMouseOutside: false
55
+ });
56
+ const [controlledScrolling, setControlledScrolling] = React.useState(false);
57
+ const [fallback, setFallback] = React.useState(false);
58
+ const [innerOffset, setInnerOffset] = React.useState(0);
59
+ const [blockSelection, setBlockSelection] = React.useState(false);
60
+ const floatingStyle = React.useRef({});
61
+ React.useEffect(() => {
62
+ const frame = requestAnimationFrame(() => {
63
+ if (!open) {
64
+ setScrollTop(0);
65
+ setFallback(false);
66
+ setActiveIndex(null);
67
+ setControlledScrolling(false);
68
+ }
69
+ });
70
+ return () => {
71
+ cancelAnimationFrame(frame);
72
+ };
73
+ }, [open, setActiveIndex]);
74
+ if (isWeb && isClient) {
75
+ React.useEffect(() => {
76
+ if (!open)
77
+ return;
78
+ const mouseUp = (e) => {
79
+ if (state.current.isMouseOutside) {
80
+ setOpen(false);
81
+ }
82
+ };
83
+ document.addEventListener("mouseup", mouseUp);
84
+ return () => {
85
+ document.removeEventListener("mouseup", mouseUp);
86
+ };
87
+ }, [open]);
88
+ }
89
+ const updateFloatingSize = size({
90
+ apply({
91
+ availableHeight,
92
+ rects: {
93
+ reference: { width }
94
+ }
95
+ }) {
96
+ floatingStyle.current = {
97
+ width,
98
+ maxHeight: availableHeight
99
+ };
100
+ },
101
+ padding: WINDOW_PADDING
102
+ });
103
+ const { x, y, reference, floating, strategy, context, refs } = useFloating({
104
+ open,
105
+ onOpenChange: setOpen,
106
+ whileElementsMounted: autoUpdate,
107
+ placement: "bottom-start",
108
+ middleware: fallback ? [
109
+ offset(5),
110
+ ...[
111
+ touch ? shift({ crossAxis: true, padding: WINDOW_PADDING }) : flip({ padding: WINDOW_PADDING })
112
+ ],
113
+ updateFloatingSize
114
+ ] : [
115
+ inner({
116
+ listRef: listItemsRef,
117
+ overflowRef,
118
+ index: selectedIndex,
119
+ offset: innerOffset,
120
+ onFallbackChange: setFallback,
121
+ padding: 10,
122
+ minItemsVisible: touch ? 10 : 4,
123
+ referenceOverflowThreshold: 20
124
+ }),
125
+ updateFloatingSize
126
+ ]
127
+ });
128
+ const floatingRef = refs.floating;
129
+ const showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD;
130
+ const showDownArrow = open && floatingRef.current && scrollTop < floatingRef.current.scrollHeight - floatingRef.current.clientHeight - SCROLL_ARROW_THRESHOLD;
131
+ const interactions = useInteractions([
132
+ useClick(context, { event: "mousedown" }),
133
+ useDismiss(context, { outsidePress: true }),
134
+ useRole(context, { role: "listbox" }),
135
+ useInnerOffset(context, {
136
+ enabled: !fallback,
137
+ onChange: setInnerOffset,
138
+ overflowRef
139
+ }),
140
+ useListNavigation(context, {
141
+ listRef: listItemsRef,
142
+ activeIndex,
143
+ selectedIndex,
144
+ onNavigate: setActiveIndex
145
+ }),
146
+ useTypeahead(context, {
147
+ listRef: listContentRef,
148
+ onMatch: open ? setActiveIndex : setSelectedIndex,
149
+ selectedIndex,
150
+ activeIndex
151
+ })
152
+ ]);
153
+ const interactionsContext = React.useMemo(() => {
154
+ return {
155
+ ...interactions,
156
+ getReferenceProps() {
157
+ return interactions.getReferenceProps({
158
+ ref: reference,
159
+ className: "SelectTrigger",
160
+ onKeyDown(event) {
161
+ if (event.key === "Enter" || event.key === " " && !context.dataRef.current.typing) {
162
+ event.preventDefault();
163
+ setOpen(true);
164
+ }
165
+ }
166
+ });
167
+ },
168
+ getFloatingProps(props2) {
169
+ return interactions.getFloatingProps({
170
+ ref: floating,
171
+ className: "Select",
172
+ ...props2,
173
+ style: {
174
+ position: strategy,
175
+ top: y ?? "",
176
+ left: x ?? "",
177
+ outline: 0,
178
+ scrollbarWidth: "none",
179
+ ...floatingStyle.current,
180
+ ...props2?.style
181
+ },
182
+ onPointerEnter() {
183
+ setControlledScrolling(false);
184
+ state.current.isMouseOutside = false;
185
+ },
186
+ onPointerLeave() {
187
+ state.current.isMouseOutside = true;
188
+ },
189
+ onPointerMove() {
190
+ state.current.isMouseOutside = false;
191
+ setControlledScrolling(false);
192
+ },
193
+ onKeyDown() {
194
+ setControlledScrolling(true);
195
+ },
196
+ onContextMenu(e) {
197
+ e.preventDefault();
198
+ },
199
+ onScroll(event) {
200
+ flushSync(() => setScrollTop(event.currentTarget.scrollTop));
201
+ }
202
+ });
203
+ }
204
+ };
205
+ }, [floating, y, x, interactions]);
206
+ useIsomorphicLayoutEffect(() => {
207
+ if (open) {
208
+ selectTimeoutRef.current = setTimeout(() => {
209
+ allowSelectRef.current = true;
210
+ }, 300);
211
+ return () => {
212
+ clearTimeout(selectTimeoutRef.current);
213
+ };
214
+ } else {
215
+ allowSelectRef.current = false;
216
+ allowMouseUpRef.current = true;
217
+ setInnerOffset(0);
218
+ setFallback(false);
219
+ setBlockSelection(false);
220
+ }
221
+ }, [open]);
222
+ useIsomorphicLayoutEffect(() => {
223
+ function onPointerDown(e) {
224
+ const target = e.target;
225
+ if (!(refs.floating.current?.contains(target) || upArrowRef.current?.contains(target) || downArrowRef.current?.contains(target))) {
226
+ setOpen(false);
227
+ setControlledScrolling(false);
228
+ }
229
+ }
230
+ if (open) {
231
+ document.addEventListener("pointerdown", onPointerDown);
232
+ return () => {
233
+ document.removeEventListener("pointerdown", onPointerDown);
234
+ };
235
+ }
236
+ }, [open, refs, setOpen]);
237
+ useIsomorphicLayoutEffect(() => {
238
+ if (open && controlledScrolling) {
239
+ if (activeIndex != null) {
240
+ listItemsRef.current[activeIndex]?.scrollIntoView({ block: "nearest" });
241
+ }
242
+ }
243
+ setScrollTop(refs.floating.current?.scrollTop ?? 0);
244
+ }, [open, refs, controlledScrolling, activeIndex]);
245
+ useIsomorphicLayoutEffect(() => {
246
+ if (open && fallback) {
247
+ if (selectedIndex != null) {
248
+ listItemsRef.current[selectedIndex]?.scrollIntoView({ block: "nearest" });
249
+ }
250
+ }
251
+ }, [open, fallback, selectedIndex]);
252
+ useIsomorphicLayoutEffect(() => {
253
+ if (refs.floating.current && fallback) {
254
+ refs.floating.current.style.maxHeight = "";
255
+ }
256
+ }, [refs, fallback]);
257
+ return <SelectProvider
258
+ scope={__scopeSelect}
259
+ {...selectContext}
260
+ setScrollTop={setScrollTop}
261
+ setInnerOffset={setInnerOffset}
262
+ floatingRef={floatingRef}
263
+ setValueAtIndex={(index, value) => {
264
+ listContentRef.current[index] = value;
265
+ }}
266
+ fallback={fallback}
267
+ interactions={interactionsContext}
268
+ floatingContext={context}
269
+ activeIndex={activeIndex}
270
+ canScrollDown={!!showDownArrow}
271
+ canScrollUp={!!showUpArrow}
272
+ controlledScrolling={controlledScrolling}
273
+ dataRef={context.dataRef}
274
+ listRef={listItemsRef}
275
+ blockSelection={blockSelection}
276
+ allowMouseUpRef={allowMouseUpRef}
277
+ upArrowRef={upArrowRef}
278
+ downArrowRef={downArrowRef}
279
+ selectTimeoutRef={selectTimeoutRef}
280
+ allowSelectRef={allowSelectRef}
281
+ >{children}</SelectProvider>;
282
+ };
283
+ const userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
284
+ export {
285
+ SelectInlineImpl
286
+ };
2
287
  //# sourceMappingURL=SelectImpl.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/SelectImpl.tsx"],
4
4
  "sourcesContent": ["import {\n SideObject,\n autoUpdate,\n flip,\n inner,\n offset,\n shift,\n size,\n useClick,\n useDismiss,\n useFloating,\n useInnerOffset,\n useInteractions,\n useListNavigation,\n useRole,\n useTypeahead,\n} from '@floating-ui/react'\nimport {\n isClient,\n isWeb,\n useIsTouchDevice,\n useIsomorphicLayoutEffect,\n} from '@tamagui/core'\nimport * as React from 'react'\nimport { flushSync } from 'react-dom'\n\nimport { SCROLL_ARROW_THRESHOLD, WINDOW_PADDING } from './constants'\nimport { SelectProvider, useSelectContext } from './context'\nimport { SelectImplProps } from './types'\n\n// TODO use id for focusing from label\nexport const SelectInlineImpl = (props: SelectImplProps) => {\n const {\n __scopeSelect,\n children,\n open = false,\n selectedIndexRef,\n listContentRef,\n } = props\n\n const selectContext = useSelectContext('SelectSheetImpl', __scopeSelect)\n const {\n setActiveIndex,\n setOpen,\n setSelectedIndex,\n selectedIndex,\n activeIndex,\n forceUpdate,\n } = selectContext\n const [scrollTop, setScrollTop] = React.useState(0)\n const touch = useIsTouchDevice()\n\n const listItemsRef = React.useRef<Array<HTMLElement | null>>([])\n const overflowRef = React.useRef<null | SideObject>(null)\n const upArrowRef = React.useRef<HTMLDivElement | null>(null)\n const downArrowRef = React.useRef<HTMLDivElement | null>(null)\n const allowSelectRef = React.useRef(false)\n const allowMouseUpRef = React.useRef(true)\n const selectTimeoutRef = React.useRef<any>()\n const state = React.useRef({\n isMouseOutside: false,\n })\n\n const [controlledScrolling, setControlledScrolling] = React.useState(false)\n const [fallback, setFallback] = React.useState(false)\n const [innerOffset, setInnerOffset] = React.useState(0)\n const [blockSelection, setBlockSelection] = React.useState(false)\n const floatingStyle = React.useRef({})\n\n // Wait for scroll position to settle before showing arrows to prevent\n // interference with pointer events.\n React.useEffect(() => {\n const frame = requestAnimationFrame(() => {\n if (!open) {\n setScrollTop(0)\n setFallback(false)\n setActiveIndex(null)\n setControlledScrolling(false)\n }\n })\n return () => {\n cancelAnimationFrame(frame)\n }\n }, [open, setActiveIndex])\n\n // close when mouseup outside select\n if (isWeb && isClient) {\n React.useEffect(() => {\n if (!open) return\n const mouseUp = (e: MouseEvent) => {\n if (state.current.isMouseOutside) {\n setOpen(false)\n }\n }\n document.addEventListener('mouseup', mouseUp)\n return () => {\n document.removeEventListener('mouseup', mouseUp)\n }\n }, [open])\n }\n\n const updateFloatingSize = size({\n apply({\n availableHeight,\n rects: {\n reference: { width },\n },\n }) {\n floatingStyle.current = {\n width: width,\n maxHeight: availableHeight,\n }\n },\n padding: WINDOW_PADDING,\n })\n\n const { x, y, reference, floating, strategy, context, refs } = useFloating({\n open,\n onOpenChange: setOpen,\n whileElementsMounted: autoUpdate,\n placement: 'bottom-start',\n middleware: fallback\n ? [\n offset(5),\n ...[\n touch\n ? shift({ crossAxis: true, padding: WINDOW_PADDING })\n : flip({ padding: WINDOW_PADDING }),\n ],\n updateFloatingSize,\n ]\n : [\n inner({\n listRef: listItemsRef,\n overflowRef,\n index: selectedIndex,\n offset: innerOffset,\n onFallbackChange: setFallback,\n padding: 10,\n minItemsVisible: touch ? 10 : 4,\n referenceOverflowThreshold: 20,\n }),\n updateFloatingSize,\n ],\n })\n\n const floatingRef = refs.floating\n\n const showUpArrow = open && scrollTop > SCROLL_ARROW_THRESHOLD\n const showDownArrow =\n open &&\n floatingRef.current &&\n scrollTop <\n floatingRef.current.scrollHeight -\n floatingRef.current.clientHeight -\n SCROLL_ARROW_THRESHOLD\n\n const interactions = useInteractions([\n useClick(context, { event: 'mousedown' }),\n useDismiss(context, { outsidePress: true }),\n useRole(context, { role: 'listbox' }),\n useInnerOffset(context, {\n enabled: !fallback,\n onChange: setInnerOffset,\n overflowRef,\n }),\n useListNavigation(context, {\n listRef: listItemsRef,\n activeIndex,\n selectedIndex,\n onNavigate: setActiveIndex,\n }),\n useTypeahead(context, {\n listRef: listContentRef,\n onMatch: open ? setActiveIndex : setSelectedIndex,\n selectedIndex,\n activeIndex,\n }),\n ])\n\n const interactionsContext = React.useMemo(() => {\n return {\n ...interactions,\n getReferenceProps() {\n return interactions.getReferenceProps({\n ref: reference,\n className: 'SelectTrigger',\n onKeyDown(event) {\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && !context.dataRef.current.typing)\n ) {\n event.preventDefault()\n setOpen(true)\n }\n },\n })\n },\n getFloatingProps(props) {\n return interactions.getFloatingProps({\n ref: floating,\n className: 'Select',\n ...props,\n style: {\n position: strategy,\n top: y ?? '',\n left: x ?? '',\n outline: 0,\n scrollbarWidth: 'none',\n ...floatingStyle.current,\n ...props?.style,\n },\n onPointerEnter() {\n setControlledScrolling(false)\n state.current.isMouseOutside = false\n },\n onPointerLeave() {\n state.current.isMouseOutside = true\n },\n onPointerMove() {\n state.current.isMouseOutside = false\n setControlledScrolling(false)\n },\n onKeyDown() {\n setControlledScrolling(true)\n },\n onContextMenu(e) {\n e.preventDefault()\n },\n onScroll(event) {\n // In React 18, the ScrollArrows need to synchronously know this value to prevent\n // painting at the wrong time.\n flushSync(() => setScrollTop(event.currentTarget.scrollTop))\n },\n })\n },\n }\n }, [floating, y, x, interactions])\n\n // effects\n\n useIsomorphicLayoutEffect(() => {\n if (open) {\n selectTimeoutRef.current = setTimeout(() => {\n allowSelectRef.current = true\n }, 300)\n\n return () => {\n clearTimeout(selectTimeoutRef.current)\n }\n } else {\n allowSelectRef.current = false\n allowMouseUpRef.current = true\n setInnerOffset(0)\n setFallback(false)\n setBlockSelection(false)\n }\n }, [open])\n\n // Replacement for `useDismiss` as the arrows are outside of the floating\n // element DOM tree.\n useIsomorphicLayoutEffect(() => {\n function onPointerDown(e: PointerEvent) {\n const target = e.target as Node\n if (\n !(\n refs.floating.current?.contains(target) ||\n upArrowRef.current?.contains(target) ||\n downArrowRef.current?.contains(target)\n )\n ) {\n setOpen(false)\n setControlledScrolling(false)\n }\n }\n\n if (open) {\n document.addEventListener('pointerdown', onPointerDown)\n return () => {\n document.removeEventListener('pointerdown', onPointerDown)\n }\n }\n }, [open, refs, setOpen])\n\n // Scroll the `activeIndex` item into view only in \"controlledScrolling\"\n // (keyboard nav) mode.\n useIsomorphicLayoutEffect(() => {\n if (open && controlledScrolling) {\n if (activeIndex != null) {\n listItemsRef.current[activeIndex]?.scrollIntoView({ block: 'nearest' })\n }\n }\n\n setScrollTop(refs.floating.current?.scrollTop ?? 0)\n }, [open, refs, controlledScrolling, activeIndex])\n\n // Scroll the `selectedIndex` into view upon opening the floating element.\n useIsomorphicLayoutEffect(() => {\n if (open && fallback) {\n if (selectedIndex != null) {\n listItemsRef.current[selectedIndex]?.scrollIntoView({ block: 'nearest' })\n }\n }\n }, [open, fallback, selectedIndex])\n\n // Unset the height limiting for fallback mode. This gets executed prior to\n // the positioning call.\n useIsomorphicLayoutEffect(() => {\n if (refs.floating.current && fallback) {\n refs.floating.current.style.maxHeight = ''\n }\n }, [refs, fallback])\n\n // We set this to true by default so that events bubble to forms without JS (SSR)\n // const isFormControl = trigger ? Boolean(trigger.closest('form')) : true\n // const [bubbleSelect, setBubbleSelect] = React.useState<HTMLSelectElement | null>(null)\n // const triggerPointerDownPosRef = React.useRef<{ x: number; y: number } | null>(null)\n\n return (\n <SelectProvider\n scope={__scopeSelect}\n {...(selectContext as Required<typeof selectContext>)}\n setScrollTop={setScrollTop}\n setInnerOffset={setInnerOffset}\n floatingRef={floatingRef}\n setValueAtIndex={(index, value) => {\n listContentRef.current[index] = value\n }}\n fallback={fallback}\n interactions={interactionsContext}\n floatingContext={context}\n activeIndex={activeIndex}\n canScrollDown={!!showDownArrow}\n canScrollUp={!!showUpArrow}\n controlledScrolling={controlledScrolling}\n dataRef={context.dataRef}\n listRef={listItemsRef}\n blockSelection={blockSelection}\n allowMouseUpRef={allowMouseUpRef}\n upArrowRef={upArrowRef}\n downArrowRef={downArrowRef}\n selectTimeoutRef={selectTimeoutRef}\n allowSelectRef={allowSelectRef}\n >\n {children}\n {/* {isFormControl ? (\n <BubbleSelect\n ref={setBubbleSelect}\n aria-hidden\n tabIndex={-1}\n name={name}\n autoComplete={autoComplete}\n value={value}\n // enable form autofill\n onChange={(event) => setValue(event.target.value)}\n />\n ) : null} */}\n </SelectProvider>\n )\n}\n\n// Cross browser fixes for pinch-zooming/backdrop-filter \uD83D\uDE44\nconst userAgent = (typeof navigator !== 'undefined' && navigator.userAgent) || ''\n"],
5
- "mappings": "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",
6
- "names": ["autoUpdate", "flip", "inner", "offset", "shift", "size", "useClick", "useDismiss", "useFloating", "useInnerOffset", "useInteractions", "useListNavigation", "useRole", "useTypeahead", "isClient", "isWeb", "useIsTouchDevice", "useIsomorphicLayoutEffect", "React", "flushSync", "SCROLL_ARROW_THRESHOLD", "WINDOW_PADDING", "SelectProvider", "useSelectContext", "SelectInlineImpl", "props", "__scopeSelect", "children", "open", "selectedIndexRef", "listContentRef", "selectContext", "setActiveIndex", "setOpen", "setSelectedIndex", "selectedIndex", "activeIndex", "forceUpdate", "scrollTop", "setScrollTop", "touch", "listItemsRef", "overflowRef", "upArrowRef", "downArrowRef", "allowSelectRef", "allowMouseUpRef", "selectTimeoutRef", "state", "controlledScrolling", "setControlledScrolling", "fallback", "setFallback", "innerOffset", "setInnerOffset", "blockSelection", "setBlockSelection", "floatingStyle", "frame", "mouseUp", "e", "updateFloatingSize", "availableHeight", "width", "x", "y", "reference", "floating", "strategy", "context", "refs", "floatingRef", "showUpArrow", "showDownArrow", "interactions", "interactionsContext", "event", "onPointerDown", "target", "index", "value", "userAgent"]
5
+ "mappings": "AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,YAAY,WAAW;AACvB,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB,sBAAsB;AACvD,SAAS,gBAAgB,wBAAwB;AAI1C,MAAM,mBAAmB,CAAC,UAA2B;AAC1D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,gBAAgB,iBAAiB,mBAAmB,aAAa;AACvE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,CAAC;AAClD,QAAM,QAAQ,iBAAiB;AAE/B,QAAM,eAAe,MAAM,OAAkC,CAAC,CAAC;AAC/D,QAAM,cAAc,MAAM,OAA0B,IAAI;AACxD,QAAM,aAAa,MAAM,OAA8B,IAAI;AAC3D,QAAM,eAAe,MAAM,OAA8B,IAAI;AAC7D,QAAM,iBAAiB,MAAM,OAAO,KAAK;AACzC,QAAM,kBAAkB,MAAM,OAAO,IAAI;AACzC,QAAM,mBAAmB,MAAM,OAAY;AAC3C,QAAM,QAAQ,MAAM,OAAO;AAAA,IACzB,gBAAgB;AAAA,EAClB,CAAC;AAED,QAAM,CAAC,qBAAqB,sBAAsB,IAAI,MAAM,SAAS,KAAK;AAC1E,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,KAAK;AACpD,QAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAS,CAAC;AACtD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,MAAM,SAAS,KAAK;AAChE,QAAM,gBAAgB,MAAM,OAAO,CAAC,CAAC;AAIrC,QAAM,UAAU,MAAM;AACpB,UAAM,QAAQ,sBAAsB,MAAM;AACxC,UAAI,CAAC,MAAM;AACT,qBAAa,CAAC;AACd,oBAAY,KAAK;AACjB,uBAAe,IAAI;AACnB,+BAAuB,KAAK;AAAA,MAC9B;AAAA,IACF,CAAC;AACD,WAAO,MAAM;AACX,2BAAqB,KAAK;AAAA,IAC5B;AAAA,EACF,GAAG,CAAC,MAAM,cAAc,CAAC;AAGzB,MAAI,SAAS,UAAU;AACrB,UAAM,UAAU,MAAM;AACpB,UAAI,CAAC;AAAM;AACX,YAAM,UAAU,CAAC,MAAkB;AACjC,YAAI,MAAM,QAAQ,gBAAgB;AAChC,kBAAQ,KAAK;AAAA,QACf;AAAA,MACF;AACA,eAAS,iBAAiB,WAAW,OAAO;AAC5C,aAAO,MAAM;AACX,iBAAS,oBAAoB,WAAW,OAAO;AAAA,MACjD;AAAA,IACF,GAAG,CAAC,IAAI,CAAC;AAAA,EACX;AAEA,QAAM,qBAAqB,KAAK;AAAA,IAC9B,MAAM;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACL,WAAW,EAAE,MAAM;AAAA,MACrB;AAAA,IACF,GAAG;AACD,oBAAc,UAAU;AAAA,QACtB;AAAA,QACA,WAAW;AAAA,MACb;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AAED,QAAM,EAAE,GAAG,GAAG,WAAW,UAAU,UAAU,SAAS,KAAK,IAAI,YAAY;AAAA,IACzE;AAAA,IACA,cAAc;AAAA,IACd,sBAAsB;AAAA,IACtB,WAAW;AAAA,IACX,YAAY,WACR;AAAA,MACE,OAAO,CAAC;AAAA,MACR,GAAG;AAAA,QACD,QACI,MAAM,EAAE,WAAW,MAAM,SAAS,eAAe,CAAC,IAClD,KAAK,EAAE,SAAS,eAAe,CAAC;AAAA,MACtC;AAAA,MACA;AAAA,IACF,IACA;AAAA,MACE,MAAM;AAAA,QACJ,SAAS;AAAA,QACT;AAAA,QACA,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,kBAAkB;AAAA,QAClB,SAAS;AAAA,QACT,iBAAiB,QAAQ,KAAK;AAAA,QAC9B,4BAA4B;AAAA,MAC9B,CAAC;AAAA,MACD;AAAA,IACF;AAAA,EACN,CAAC;AAED,QAAM,cAAc,KAAK;AAEzB,QAAM,cAAc,QAAQ,YAAY;AACxC,QAAM,gBACJ,QACA,YAAY,WACZ,YACE,YAAY,QAAQ,eAClB,YAAY,QAAQ,eACpB;AAEN,QAAM,eAAe,gBAAgB;AAAA,IACnC,SAAS,SAAS,EAAE,OAAO,YAAY,CAAC;AAAA,IACxC,WAAW,SAAS,EAAE,cAAc,KAAK,CAAC;AAAA,IAC1C,QAAQ,SAAS,EAAE,MAAM,UAAU,CAAC;AAAA,IACpC,eAAe,SAAS;AAAA,MACtB,SAAS,CAAC;AAAA,MACV,UAAU;AAAA,MACV;AAAA,IACF,CAAC;AAAA,IACD,kBAAkB,SAAS;AAAA,MACzB,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA,YAAY;AAAA,IACd,CAAC;AAAA,IACD,aAAa,SAAS;AAAA,MACpB,SAAS;AAAA,MACT,SAAS,OAAO,iBAAiB;AAAA,MACjC;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,QAAM,sBAAsB,MAAM,QAAQ,MAAM;AAC9C,WAAO;AAAA,MACL,GAAG;AAAA,MACH,oBAAoB;AAClB,eAAO,aAAa,kBAAkB;AAAA,UACpC,KAAK;AAAA,UACL,WAAW;AAAA,UACX,UAAU,OAAO;AACf,gBACE,MAAM,QAAQ,WACb,MAAM,QAAQ,OAAO,CAAC,QAAQ,QAAQ,QAAQ,QAC/C;AACA,oBAAM,eAAe;AACrB,sBAAQ,IAAI;AAAA,YACd;AAAA,UACF;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,iBAAiBA,QAAO;AACtB,eAAO,aAAa,iBAAiB;AAAA,UACnC,KAAK;AAAA,UACL,WAAW;AAAA,UACX,GAAGA;AAAA,UACH,OAAO;AAAA,YACL,UAAU;AAAA,YACV,KAAK,KAAK;AAAA,YACV,MAAM,KAAK;AAAA,YACX,SAAS;AAAA,YACT,gBAAgB;AAAA,YAChB,GAAG,cAAc;AAAA,YACjB,GAAGA,QAAO;AAAA,UACZ;AAAA,UACA,iBAAiB;AACf,mCAAuB,KAAK;AAC5B,kBAAM,QAAQ,iBAAiB;AAAA,UACjC;AAAA,UACA,iBAAiB;AACf,kBAAM,QAAQ,iBAAiB;AAAA,UACjC;AAAA,UACA,gBAAgB;AACd,kBAAM,QAAQ,iBAAiB;AAC/B,mCAAuB,KAAK;AAAA,UAC9B;AAAA,UACA,YAAY;AACV,mCAAuB,IAAI;AAAA,UAC7B;AAAA,UACA,cAAc,GAAG;AACf,cAAE,eAAe;AAAA,UACnB;AAAA,UACA,SAAS,OAAO;AAGd,sBAAU,MAAM,aAAa,MAAM,cAAc,SAAS,CAAC;AAAA,UAC7D;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,GAAG,CAAC,UAAU,GAAG,GAAG,YAAY,CAAC;AAIjC,4BAA0B,MAAM;AAC9B,QAAI,MAAM;AACR,uBAAiB,UAAU,WAAW,MAAM;AAC1C,uBAAe,UAAU;AAAA,MAC3B,GAAG,GAAG;AAEN,aAAO,MAAM;AACX,qBAAa,iBAAiB,OAAO;AAAA,MACvC;AAAA,IACF,OAAO;AACL,qBAAe,UAAU;AACzB,sBAAgB,UAAU;AAC1B,qBAAe,CAAC;AAChB,kBAAY,KAAK;AACjB,wBAAkB,KAAK;AAAA,IACzB;AAAA,EACF,GAAG,CAAC,IAAI,CAAC;AAIT,4BAA0B,MAAM;AAC9B,aAAS,cAAc,GAAiB;AACtC,YAAM,SAAS,EAAE;AACjB,UACE,EACE,KAAK,SAAS,SAAS,SAAS,MAAM,KACtC,WAAW,SAAS,SAAS,MAAM,KACnC,aAAa,SAAS,SAAS,MAAM,IAEvC;AACA,gBAAQ,KAAK;AACb,+BAAuB,KAAK;AAAA,MAC9B;AAAA,IACF;AAEA,QAAI,MAAM;AACR,eAAS,iBAAiB,eAAe,aAAa;AACtD,aAAO,MAAM;AACX,iBAAS,oBAAoB,eAAe,aAAa;AAAA,MAC3D;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,MAAM,OAAO,CAAC;AAIxB,4BAA0B,MAAM;AAC9B,QAAI,QAAQ,qBAAqB;AAC/B,UAAI,eAAe,MAAM;AACvB,qBAAa,QAAQ,WAAW,GAAG,eAAe,EAAE,OAAO,UAAU,CAAC;AAAA,MACxE;AAAA,IACF;AAEA,iBAAa,KAAK,SAAS,SAAS,aAAa,CAAC;AAAA,EACpD,GAAG,CAAC,MAAM,MAAM,qBAAqB,WAAW,CAAC;AAGjD,4BAA0B,MAAM;AAC9B,QAAI,QAAQ,UAAU;AACpB,UAAI,iBAAiB,MAAM;AACzB,qBAAa,QAAQ,aAAa,GAAG,eAAe,EAAE,OAAO,UAAU,CAAC;AAAA,MAC1E;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,UAAU,aAAa,CAAC;AAIlC,4BAA0B,MAAM;AAC9B,QAAI,KAAK,SAAS,WAAW,UAAU;AACrC,WAAK,SAAS,QAAQ,MAAM,YAAY;AAAA,IAC1C;AAAA,EACF,GAAG,CAAC,MAAM,QAAQ,CAAC;AAOnB,SACE,CAAC;AAAA,IACC,OAAO;AAAA,QACF;AAAA,IACL,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,aAAa;AAAA,IACb,iBAAiB,CAAC,OAAO,UAAU;AACjC,qBAAe,QAAQ,KAAK,IAAI;AAAA,IAClC;AAAA,IACA,UAAU;AAAA,IACV,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe,CAAC,CAAC;AAAA,IACjB,aAAa,CAAC,CAAC;AAAA,IACf,qBAAqB;AAAA,IACrB,SAAS,QAAQ;AAAA,IACjB,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAEf,SAaH,EAtCC;AAwCL;AAGA,MAAM,YAAa,OAAO,cAAc,eAAe,UAAU,aAAc;",
6
+ "names": ["props"]
7
7
  }