@tamagui/floating 2.0.0-rc.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/dist/cjs/Floating.cjs +7 -5
  2. package/dist/cjs/Floating.native.js +19 -13
  3. package/dist/cjs/Floating.native.js.map +1 -1
  4. package/dist/cjs/index.cjs +46 -13
  5. package/dist/cjs/index.native.js +46 -13
  6. package/dist/cjs/index.native.js.map +1 -1
  7. package/dist/cjs/interactions/PopupTriggerMap.cjs +49 -0
  8. package/dist/cjs/interactions/PopupTriggerMap.native.js +97 -0
  9. package/dist/cjs/interactions/PopupTriggerMap.native.js.map +1 -0
  10. package/dist/cjs/interactions/createFloatingEvents.cjs +50 -0
  11. package/dist/cjs/interactions/createFloatingEvents.native.js +56 -0
  12. package/dist/cjs/interactions/createFloatingEvents.native.js.map +1 -0
  13. package/dist/cjs/interactions/safePolygon.cjs +273 -0
  14. package/dist/cjs/interactions/safePolygon.native.js +284 -0
  15. package/dist/cjs/interactions/safePolygon.native.js.map +1 -0
  16. package/dist/cjs/interactions/types.cjs +18 -0
  17. package/dist/cjs/interactions/types.native.js +21 -0
  18. package/dist/cjs/interactions/types.native.js.map +1 -0
  19. package/dist/cjs/interactions/useClick.cjs +124 -0
  20. package/dist/cjs/interactions/useClick.native.js +132 -0
  21. package/dist/cjs/interactions/useClick.native.js.map +1 -0
  22. package/dist/cjs/interactions/useDelayGroup.cjs +115 -0
  23. package/dist/cjs/interactions/useDelayGroup.native.js +125 -0
  24. package/dist/cjs/interactions/useDelayGroup.native.js.map +1 -0
  25. package/dist/cjs/interactions/useFocus.cjs +130 -0
  26. package/dist/cjs/interactions/useFocus.native.js +139 -0
  27. package/dist/cjs/interactions/useFocus.native.js.map +1 -0
  28. package/dist/cjs/interactions/useHover.cjs +357 -0
  29. package/dist/cjs/interactions/useHover.native.js +373 -0
  30. package/dist/cjs/interactions/useHover.native.js.map +1 -0
  31. package/dist/cjs/interactions/useInnerOffset.cjs +128 -0
  32. package/dist/cjs/interactions/useInnerOffset.native.js +141 -0
  33. package/dist/cjs/interactions/useInnerOffset.native.js.map +1 -0
  34. package/dist/cjs/interactions/useInteractions.cjs +105 -0
  35. package/dist/cjs/interactions/useInteractions.native.js +216 -0
  36. package/dist/cjs/interactions/useInteractions.native.js.map +1 -0
  37. package/dist/cjs/interactions/useListNavigation.cjs +418 -0
  38. package/dist/cjs/interactions/useListNavigation.native.js +433 -0
  39. package/dist/cjs/interactions/useListNavigation.native.js.map +1 -0
  40. package/dist/cjs/interactions/useRole.cjs +122 -0
  41. package/dist/cjs/interactions/useRole.native.js +136 -0
  42. package/dist/cjs/interactions/useRole.native.js.map +1 -0
  43. package/dist/cjs/interactions/useTypeahead.cjs +143 -0
  44. package/dist/cjs/interactions/useTypeahead.native.js +159 -0
  45. package/dist/cjs/interactions/useTypeahead.native.js.map +1 -0
  46. package/dist/cjs/interactions/utils.cjs +208 -0
  47. package/dist/cjs/interactions/utils.native.js +227 -0
  48. package/dist/cjs/interactions/utils.native.js.map +1 -0
  49. package/dist/cjs/middleware/inner.cjs +118 -0
  50. package/dist/cjs/middleware/inner.native.js +130 -0
  51. package/dist/cjs/middleware/inner.native.js.map +1 -0
  52. package/dist/cjs/useFloating.cjs +35 -28
  53. package/dist/cjs/useFloating.native.js +51 -47
  54. package/dist/cjs/useFloating.native.js.map +1 -1
  55. package/dist/esm/Floating.native.js +6 -3
  56. package/dist/esm/Floating.native.js.map +1 -1
  57. package/dist/esm/index.js +17 -34
  58. package/dist/esm/index.js.map +1 -6
  59. package/dist/esm/index.mjs +16 -2
  60. package/dist/esm/index.mjs.map +1 -1
  61. package/dist/esm/index.native.js +16 -2
  62. package/dist/esm/index.native.js.map +1 -1
  63. package/dist/esm/interactions/PopupTriggerMap.mjs +24 -0
  64. package/dist/esm/interactions/PopupTriggerMap.mjs.map +1 -0
  65. package/dist/esm/interactions/PopupTriggerMap.native.js +69 -0
  66. package/dist/esm/interactions/PopupTriggerMap.native.js.map +1 -0
  67. package/dist/esm/interactions/createFloatingEvents.mjs +25 -0
  68. package/dist/esm/interactions/createFloatingEvents.mjs.map +1 -0
  69. package/dist/esm/interactions/createFloatingEvents.native.js +28 -0
  70. package/dist/esm/interactions/createFloatingEvents.native.js.map +1 -0
  71. package/dist/esm/interactions/safePolygon.mjs +248 -0
  72. package/dist/esm/interactions/safePolygon.mjs.map +1 -0
  73. package/dist/esm/interactions/safePolygon.native.js +256 -0
  74. package/dist/esm/interactions/safePolygon.native.js.map +1 -0
  75. package/dist/esm/interactions/types.mjs +2 -0
  76. package/dist/esm/interactions/types.mjs.map +1 -0
  77. package/dist/esm/interactions/types.native.js +2 -0
  78. package/dist/esm/interactions/types.native.js.map +1 -0
  79. package/dist/esm/interactions/useClick.mjs +99 -0
  80. package/dist/esm/interactions/useClick.mjs.map +1 -0
  81. package/dist/esm/interactions/useClick.native.js +104 -0
  82. package/dist/esm/interactions/useClick.native.js.map +1 -0
  83. package/dist/esm/interactions/useDelayGroup.mjs +77 -0
  84. package/dist/esm/interactions/useDelayGroup.mjs.map +1 -0
  85. package/dist/esm/interactions/useDelayGroup.native.js +84 -0
  86. package/dist/esm/interactions/useDelayGroup.native.js.map +1 -0
  87. package/dist/esm/interactions/useFocus.mjs +105 -0
  88. package/dist/esm/interactions/useFocus.mjs.map +1 -0
  89. package/dist/esm/interactions/useFocus.native.js +111 -0
  90. package/dist/esm/interactions/useFocus.native.js.map +1 -0
  91. package/dist/esm/interactions/useHover.mjs +320 -0
  92. package/dist/esm/interactions/useHover.mjs.map +1 -0
  93. package/dist/esm/interactions/useHover.native.js +333 -0
  94. package/dist/esm/interactions/useHover.native.js.map +1 -0
  95. package/dist/esm/interactions/useInnerOffset.mjs +92 -0
  96. package/dist/esm/interactions/useInnerOffset.mjs.map +1 -0
  97. package/dist/esm/interactions/useInnerOffset.native.js +102 -0
  98. package/dist/esm/interactions/useInnerOffset.native.js.map +1 -0
  99. package/dist/esm/interactions/useInteractions.mjs +80 -0
  100. package/dist/esm/interactions/useInteractions.mjs.map +1 -0
  101. package/dist/esm/interactions/useInteractions.native.js +188 -0
  102. package/dist/esm/interactions/useInteractions.native.js.map +1 -0
  103. package/dist/esm/interactions/useListNavigation.mjs +393 -0
  104. package/dist/esm/interactions/useListNavigation.mjs.map +1 -0
  105. package/dist/esm/interactions/useListNavigation.native.js +405 -0
  106. package/dist/esm/interactions/useListNavigation.native.js.map +1 -0
  107. package/dist/esm/interactions/useRole.mjs +86 -0
  108. package/dist/esm/interactions/useRole.mjs.map +1 -0
  109. package/dist/esm/interactions/useRole.native.js +97 -0
  110. package/dist/esm/interactions/useRole.native.js.map +1 -0
  111. package/dist/esm/interactions/useTypeahead.mjs +118 -0
  112. package/dist/esm/interactions/useTypeahead.mjs.map +1 -0
  113. package/dist/esm/interactions/useTypeahead.native.js +131 -0
  114. package/dist/esm/interactions/useTypeahead.native.js.map +1 -0
  115. package/dist/esm/interactions/utils.mjs +162 -0
  116. package/dist/esm/interactions/utils.mjs.map +1 -0
  117. package/dist/esm/interactions/utils.native.js +178 -0
  118. package/dist/esm/interactions/utils.native.js.map +1 -0
  119. package/dist/esm/middleware/inner.mjs +82 -0
  120. package/dist/esm/middleware/inner.mjs.map +1 -0
  121. package/dist/esm/middleware/inner.native.js +91 -0
  122. package/dist/esm/middleware/inner.native.js.map +1 -0
  123. package/dist/esm/useFloating.mjs +8 -3
  124. package/dist/esm/useFloating.mjs.map +1 -1
  125. package/dist/esm/useFloating.native.js +25 -23
  126. package/dist/esm/useFloating.native.js.map +1 -1
  127. package/package.json +8 -7
  128. package/src/Floating.native.tsx +1 -0
  129. package/src/index.ts +49 -0
  130. package/src/interactions/PopupTriggerMap.ts +30 -0
  131. package/src/interactions/createFloatingEvents.ts +34 -0
  132. package/src/interactions/safePolygon.ts +500 -0
  133. package/src/interactions/types.ts +165 -0
  134. package/src/interactions/useClick.ts +148 -0
  135. package/src/interactions/useDelayGroup.ts +114 -0
  136. package/src/interactions/useFocus.ts +164 -0
  137. package/src/interactions/useHover.ts +453 -0
  138. package/src/interactions/useInnerOffset.ts +116 -0
  139. package/src/interactions/useInteractions.ts +101 -0
  140. package/src/interactions/useListNavigation.ts +578 -0
  141. package/src/interactions/useRole.ts +103 -0
  142. package/src/interactions/useTypeahead.ts +173 -0
  143. package/src/interactions/utils.ts +234 -0
  144. package/src/middleware/inner.ts +141 -0
  145. package/src/useFloating.tsx +13 -1
  146. package/types/Floating.native.d.ts +1 -0
  147. package/types/Floating.native.d.ts.map +1 -1
  148. package/types/index.d.ts +17 -2
  149. package/types/index.d.ts.map +1 -1
  150. package/types/interactions/PopupTriggerMap.d.ts +8 -0
  151. package/types/interactions/PopupTriggerMap.d.ts.map +1 -0
  152. package/types/interactions/createFloatingEvents.d.ts +7 -0
  153. package/types/interactions/createFloatingEvents.d.ts.map +1 -0
  154. package/types/interactions/safePolygon.d.ts +4 -0
  155. package/types/interactions/safePolygon.d.ts.map +1 -0
  156. package/types/interactions/types.d.ts +123 -0
  157. package/types/interactions/types.d.ts.map +1 -0
  158. package/types/interactions/useClick.d.ts +3 -0
  159. package/types/interactions/useClick.d.ts.map +1 -0
  160. package/types/interactions/useDelayGroup.d.ts +23 -0
  161. package/types/interactions/useDelayGroup.d.ts.map +1 -0
  162. package/types/interactions/useFocus.d.ts +3 -0
  163. package/types/interactions/useFocus.d.ts.map +1 -0
  164. package/types/interactions/useHover.d.ts +6 -0
  165. package/types/interactions/useHover.d.ts.map +1 -0
  166. package/types/interactions/useInnerOffset.d.ts +3 -0
  167. package/types/interactions/useInnerOffset.d.ts.map +1 -0
  168. package/types/interactions/useInteractions.d.ts +8 -0
  169. package/types/interactions/useInteractions.d.ts.map +1 -0
  170. package/types/interactions/useListNavigation.d.ts +3 -0
  171. package/types/interactions/useListNavigation.d.ts.map +1 -0
  172. package/types/interactions/useRole.d.ts +3 -0
  173. package/types/interactions/useRole.d.ts.map +1 -0
  174. package/types/interactions/useTypeahead.d.ts +3 -0
  175. package/types/interactions/useTypeahead.d.ts.map +1 -0
  176. package/types/interactions/utils.d.ts +46 -0
  177. package/types/interactions/utils.d.ts.map +1 -0
  178. package/types/middleware/inner.d.ts +14 -0
  179. package/types/middleware/inner.d.ts.map +1 -0
  180. package/types/useFloating.d.ts +7 -1
  181. package/types/useFloating.d.ts.map +1 -1
  182. package/dist/cjs/Floating.js +0 -15
  183. package/dist/cjs/Floating.js.map +0 -6
  184. package/dist/cjs/index.js +0 -34
  185. package/dist/cjs/index.js.map +0 -6
  186. package/dist/cjs/useFloating.js +0 -46
  187. package/dist/cjs/useFloating.js.map +0 -6
  188. package/dist/esm/Floating.js +0 -2
  189. package/dist/esm/Floating.js.map +0 -6
  190. package/dist/esm/useFloating.js +0 -23
  191. package/dist/esm/useFloating.js.map +0 -6
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEvent","clearTimeoutIfSet","contains","getDocument","isElement","isMouseLikePointerType","safePolygonIdentifier","getDelay","value","prop","pointerType","useHover","context","props","arguments","length","open","onOpenChange","dataRef","events","elements","enabled","delay","handleClose","mouseOnly","restMs","move","handleCloseRef","useRef","current","delayRef","openRef","restMsRef","stableOnOpenChange","pointerTypeRef","timeoutRef","handlerRef","restTimeoutRef","blockMouseMoveRef","performedPointerEventsMutationRef","unbindMouseMoveRef","restTimeoutPendingRef","isHoverOpen","_dataRef_current_openEvent","type","openEvent","includes","useEffect","onOpenChange2","param","open2","on","off","closeWithDelay","event","runElseBranch","reason","closeDelay","window","setTimeout","cleanupMouseMoveHandler","handleCloseActiveRef","clearPointerEvents","body","floating","style","pointerEvents","removeAttribute","isClickLikeOpenEvent","onReferenceMouseEnter","openDelay","onReferenceMouseLeave","_context_triggerElements","triggerElements","hasElement","relatedTarget","doc","placement","reference3","domReference","floating2","x","clientX","y","clientY","reference","onClose","handler","addEventListener","removeEventListener","shouldClose","onScrollMouseLeave","_handleCloseRef_current","call","onFloatingMouseEnter","onFloatingMouseLeave","reference2","once","useLayoutEffect","_handleCloseRef_current___options","__options","blockPointerEvents","floatingEl","setAttribute","ref","useMemo","setPointerRef","onPointerDown","onPointerEnter","onMouseMove","nativeEvent","handleMouseMove","Math","pow","movementX","movementY"],"sources":["../../../src/interactions/useHover.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAA,QAAgB;AASzB,SAAAC,iBAAA,EAAAC,QAAA,EAAAC,WAAA,EAAAC,SAAA,EAAAC,sBAAA;AAAA,IACEC,qBAAA;AAAA,SACAC,SAAAC,KAAA,EAAAC,IAAA,EAAAC,WAAA;EACA,IAAAA,WAAA,KAAAL,sBAAA,CAAAK,WAAA;IACA;EACA;EAAA,WACKF,KAAA;IAEP,OAAMA,KAAA;EAEC;EAKL,OAAIA,KAAA,SAAgB,IAAAA,KAAA,cAAuB,SAAAA,KAAc,CAAAC,IAAA;AACvD;AAAO,SACTE,SAAAC,OAAA;EAEA,IAAIC,KAAA,GAAOC,SAAU,CAAAC,MAAA,GAAU,KAAAD,SAAA,iBAAAA,SAAA;EAC7B;IAAAE,IAAO;IAAAC,YAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC;EAAA,IAAAR,OAAA;EACT;IAAAS,OAAA;IAAAC,KAAA;IAAAC,WAAA;IAAAC,SAAA;IAAAC,MAAA;IAAAC,IAAA;EAAA,IAAAb,KAAA;EAEA,IAAAc,cAAe,GAAI5B,KAAA,CAAA6B,MAAA,CAAAL,WAAA;EACrBI,cAAA,CAAAE,OAAA,GAAAN,WAAA;EAUO,IAAAO,QAAS,GAAA/B,KACd,CAAA6B,MACA,CAAAN,KAAuB,CAAC;EAExBQ,QAAQ,CAAAD,OAAM,GAAAP,KAAA;EACd,IAAAS,OAAM,GAAAhC,KAAA,CAAA6B,MAAA,CAAAZ,IAAA;EAAAe,OACJ,CAAAF,OAAU,GAAAb,IAAA;EAAA,IACVgB,SAAQ,GAAAjC,KAAA,CAAA6B,MAAA,CAAAH,MAAA;EAAAO,SACR,CAAAH,OAAc,GAAAJ,MAAA;EAAA,IACdQ,kBAAY,GAAAjC,QAAA,CAAAiB,YAAA;EAAA,IACZiB,cAAS,GAAAnC,KAAA,CAAA6B,MAAA;EAAA,IACTO,UAAO,GAAApC,KAAA,CAAA6B,MAAA;EACT,IAAIQ,UAAA,GAAArC,KAAA,CAAA6B,MAAA;EAGJ,IAAAS,cAAM,GAAAtC,KAAiB,CAAA6B,MAAM,GAAO;EACpC,IAAAU,iBAAe,GAAAvC,KAAU,CAAA6B,MAAA;EACzB,IAAAW,iCAAmC,GAAAxC,KAAA,CAAA6B,MAAA;EACnC,IAAAY,kBAAmB,GAAAzC,KAAA,CAAA6B,MAAA,cACnB;EACA,IAAAa,qBAAkB,GAAA1C,KAAA,CAAA6B,MAAA;EAClB,IAAAc,WAAM,GAAY1C,QAAM,aAAa;IACrC,IAAA2C,0BAAoB;IAEpB,IAAMC,IAAA,IAAAD,0BAA8B,GAAAzB,OAAY,CAAAW,OAAA,CAAAgB,SAAA,cAAAF,0BAAA,uBAAAA,0BAAA,CAAAC,IAAA;IAEhD,OAAM,CAAAA,IAAA,SAAiB,IAAAA,IAAM,KAA2B,MAAS,YAAAA,IAAA,CAAAE,QAAA,cAAAF,IAAA;EACjE;EACA7C,KAAA,CAAMgD,SAAA,aAAmB;IACzB,IAAM,CAAA1B,OAAA;IACN,IAAM,CAAAF,MAAA;IACN,SAAM6B,cAAAC,KAAA;MACN,IAAM;QAAAjC,IAAA,EAAAkC;MAAA,IAAAD,KAAqB;MAAqB,KAAAC,KAAA;QAC1CjD,iBAAA,CAAAkC,UAAwB;QAExBlC,iBAAc,CAAAoC,cAAe;QACjCC,iBAAqB,CAAAT,OAAQ;QAC7BY,qBAAsB,CAAAZ,OAAO,GAAK;MACnC;IAID;IACEV,MAAK,CAAAgC,EAAA,aAAS,EAAAH,aAAA;IACd,OAAK,YAAQ;MAEb7B,MAAA,CAASiC,GAAA,aAAe,EAAAJ,aAA2B;IACjD;EACE,IACA3B,OAAA,EACAF,MAAA,CACA;EAAgC,IAClCkC,cAAA,GAAArD,QAAA,WAAAsD,KAAA;IACF,IAAAC,aAAA,GAAAzC,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;MAAA0C,MAAA,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;IAEA,IAAA2C,UAAU,GAAAlD,QAAc,CAAAuB,QAAA,CAAAD,OAAY,WAAAK,cAAA,CAAAL,OAAA;IACpC,IAAA4B,UAAa,KAAArB,UAAA,CAAAP,OAAA;MACX5B,iBAAW,CAAAkC,UAAc;MAC3BA,UAAA,CAAAN,OAAA,GAAA6B,MAAA,CAAAC,UAAA;QACE,OAAS1B,kBAAO,QAAAqB,KAAA,EAAAE,MAAA;MAKpB,GAAMC,UAAA;IACJ,CAAC,UAAcF,aAAgB;MAC7BtD,iBAAM,CAAAkC,UAAsB;MAC5BF,kBAAkB,CAAC,OAAAqB,KAAW,EAAAE,MAAS;IACrC;EACA;EAA4B,IAAAI,uBACpB,GAAA5D,QAAmB,aAAc;IAAMwC,kBAC7C,CAAAX,OAAA;IAAAO,UACF,CAAAP,OAAA;IAAA,IACFjB,OAAA,CAAAiD,oBAA0B;MACxBjD,OAAA,CAAAiD,oBAAkB,CAAAhC,OAAU;IAC5B;EAAuC;EACzC,IACFiC,kBAAA,GAAA9D,QAAA;IACF,IAAAuC,iCAAA,CAAAV,OAAA;MAEA,IAAMkC,IAAA,GAAA5D,WAAA,CAAAiB,QAA0B,CAAA4C,QAAS,EAAAD,IAAM;MAC7CA,IAAA,CAAAE,KAAA,CAAAC,aAAmB,GAAQ;MAC3BH,IAAA,CAAAI,eAAqB,CAAA7D,qBAAA;MACrBiC,iCAAkC,CAAAV,OAAA;IAChC;EAAuC,EACzC;EACF,IAACuC,oBAAA,GAAApE,QAAA;IAED,OAAMkB,OAAA,CAAAW,OAAA,CAAAgB,SAAqB,GAAS,CAClC,OAAI,EACF,WAAM,CACN,CAAAC,QAAK,CAAA5B,OAAM,CAAAW,OAAA,CAAAgB,SAAgB,CAAAD,IAAA;EAC3B;EACA7C,KAAA,CAAAgD,SAAA;IACF,KAAA1B,OAAA;IACD,SAAAgD,sBAAAf,KAAA;MAEDrD,iBAAM,CAAAkC,UAAuB;MAC3BG,iBAAe,CAAAT,OAAQ,QACnB;MAEL,IAAAL,SAAA,KAAAnB,sBAAA,CAAA6B,cAAA,CAAAL,OAAA,KAAAG,SAAA,CAAAH,OAAA,SAAAtB,QAAA,CAAAuB,QAAA,CAAAD,OAAA;QAKK;MACJ;MAEA,IAAAyC,SAAS,GAAA/D,QAAA,CAAAuB,QAAsB,CAAAD,OAAmB,UAAAK,cAAA,CAAAL,OAAA;MAChD,IAAAyC,SAAA;QACAnC,UAAA,CAAAN,OAAkB,GAAA6B,MAAU,CAAAC,UAAA;UAGzB,KAAA5B,OAAA,CAAaF,OAAC;YAGfI,kBAAA,OAAAqB,KAAA;UACF;QAEA,GAAAgB,SAAM;MAEN,OAAI,KAAAtD,IAAW;QACbiB,kBAAW,KAAU,EAAAqB,KAAO,SAAW;MACrC;IACE;IAAuC,SACzCiB,sBAAAjB,KAAA;MAAA,IACFkB,wBAAY;MACd,IAAAJ,oBAAkB;QAChBN,kBAAA,CAAmB;QACrB;MACF;MAEA,KAAAU,wBAA+B,GAAA5D,OAAmB,CAAA6D,eAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAE,UAAA,CAAApB,KAAA,CAAAqB,aAAA;QAChD;MACE;MACAnC,kBAAA,CAAAX,OAAA;MACF,IAAA+C,GAAA,GAAAzE,WAAA,CAAAiB,QAAA,CAAA4C,QAAA;MAGA/D,iBAAY,CAAAoC,cAAiB;MAC3BI,qBAAA,CAAAZ,OAAA;MACF,IAAAF,cAAA,CAAAE,OAAA;QAEA,KAAAb,IAAA;UAEAf,iBAAY,CAAAkC,UAAY,CAAS;QACjC;QACA,IAAA0C,SAAA,GAAA3D,OAAsB,CAAAW,OAAU,CAAAgD,SAAA;QAEhC,IAAIC,UAAA,GAAe1D,QAAA,CAAS2D,YAAA;QAE1B,IAAIC,SAAO,GAAA5D,QAAA,CAAA4C,QAAA;QACT,KAAAc,UAAA,KAAkBE,SAAA,EAAU;QAC9B5C,UAAA,CAAAP,OAAA,GAAAF,cAAA,CAAAE,OAAA;UAEAoD,CAAA,EAAA3B,KAAM,CAAA4B,OAAY;UAClBC,CAAA,EAAA7B,KAAM,CAAA8B,OAAA;UACNP,SAAM;UAENzD,QAAK;YAKLiE,SAAW,EAAAP,UAAU;YACnBd,QAAS,EAAAgB,SAAA;YACTD,YAAS,EAAAD;UACT;UACAQ,QAAA,EAAU;YACR,IAAA1E,OAAW,CAAAiD,oBAAA;cACXjD,OAAA,CAAAiD,oBAAA,CAAAhC,OAAA;YACA;YACFiC,kBAAA;YACAF,uBAAU;YACR,IAAI,CAAAQ,oBAAQ;cACVf,cAAQ,CAAAC,KAAA,sBAA+B;YACzC;UACA;QACA;QACA,IAAA1C,OAAK,CAAAiD,oBAAqB,EAAG;UAC3BjD,OAAA,CAAAiD,oBAAsB,CAAAhC,OAAM;QAAc;QAC5C,IACF0D,OAAA,GAAAnD,UAAA,CAAAP,OAAA;QACF+C,GAAC,CAAAY,gBAAA,cAAAD,OAAA;QAED/C,kBAAY,CAAAX,OAAA,eAAsB;UAChC+C,GAAA,CAAAa,mBAAQ,YAAqB,EAAAF,OAAU;QACzC;QAEA;MAEA;MACA,IAAAG,WAAA,GAAAxD,cAA6B,CAAAL,OAAM,gBAAA3B,QAAA,CAAAkB,QAAA,CAAA4C,QAAA,EAAAV,KAAA,CAAAqB,aAAA;MACjC,IAAAe,WAAI;QACNrC,cAAA,CAAAC,KAAA;MAEA;IAAA;IAKF,SAAMqC,kBACJA,CAAArC,KAAA;MAGF,IAAIkB,wBAAa,EAAAoB,uBAAA;MACf,IAAAxB,oBAAoB;MACtB,KAAAI,wBAAA,GAAA5D,OAAA,CAAA6D,eAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAE,UAAA,CAAApB,KAAA,CAAAqB,aAAA;QACF;MAIA;MACE,IAAIE,SAAA,GAAA3D,OAAA,CAAAW,OAAwB,CAAAgD,SAAA;MAG5B,IAAIC,UAAQ,GAAA1D,QAAA,CAAA2D,YAAiB;MAC3B,IAAAC,SAAA,GAAA5D,QAAA,CAAA4C,QAAA;MACF,KAAAc,UAAA,KAAAE,SAAA;MAEA,CAAAY,uBAAkB,GAAQjE,cAAQ,CAAAE,OAAa,cAAA+D,uBAAA,uBAAAA,uBAAA,CAAAC,IAAA,CAAAlE,cAAA;QAC/CsD,CAAA,EAAA3B,KAAM,CAAA4B,OAAA;QACNC,CAAA,EAAA7B,KAAM,CAAA8B,OAAW;QAEjBP,SAAK;QAILzD,QAAA;UACEiE,SAAS,EAAAP,UAAA;UACTd,QAAS,EAAAgB,SAAA;UACTD,YAAA,EAAAD;QACA;QAAUQ,OACRA,CAAA;UACAxB,kBAAA;UACAF,uBAAc;UAChB,KAAAQ,oBAAA;YACAf,cAAU,CAAAC,KAAA;UACR;QACA;MACA,GAAAA,KAAI,CAAC;IACH;IAAoB,SACtBwC,qBAAA;MAAA7F,iBACF,CAAAkC,UAAA;IAAA;IAEJ,SAAA4D,qBAAAzC,KAAA;MAEA,IAAAkB,wBAAS;MACP,IAAAJ,oBAAkB,IAAU;MAC9B,KAAAI,wBAAA,GAAA5D,OAAA,CAAA6D,eAAA,cAAAD,wBAAA,uBAAAA,wBAAA,CAAAE,UAAA,CAAApB,KAAA,CAAAqB,aAAA;QAEA;MACE;MAGAtB,cAAY,CAAAC,KAAA;IACV;IAAA,IACFlD,SAAA,CAAAgB,QAAA,CAAA2D,YAAA;MAEA,IAAAiB,UAAA,GAAe5E,QAAO,CAAA2D,YAAK;MAC7B,IAAAf,QAAA,GAAA5C,QAAA,CAAA4C,QAAA;MAEA,IAAIhD,IAAA;QACFgF,UAAM,CAAAR,gBAAqB,eAAAG,kBAAA;MAC3B;MAEA,IAAIjE,IAAA,EAAM;QACRsE,UAAA,CAAUR,gBAAA,CAAiB,aAAAnB,qBAAgC;UAC7D4B,IAAA;QAEA,EAAI;MACF;MAA+DD,UACvD,CAAAR,gBAAA,eAAAnB,qBAAA;MAAA2B,UACP,CAAAR,gBAAA,eAAAjB,qBAAA;MACH,IAAAP,QAAA;QAEAA,QAAA,CAAUwB,gBAAA,CAAiB,cAAcG,kBAAA;QACzC3B,QAAA,CAAUwB,gBAAA,CAAiB,cAAcM,oBAAA,CAAqB;QAE9D9B,QAAI,CAAAwB,gBAAU,eAAAO,oBAAA;MACZ;MACA,mBAAS;QACT,IAAA/E,IAAA,EAAS;UACXgF,UAAA,CAAAP,mBAAA,eAAAE,kBAAA;QAEA;QACE,IAAIjE,IAAA,EAAM;UACRsE,UAAA,CAAUP,mBAAA,CAAoB,aAAApB,qBAAgC;QAChE;QAEA2B,UAAU,CAAAP,mBAAA,eAAApB,qBAAA;QACR2B,UAAA,CAAAP,mBAAU,aAAoB,EAAAlB,qBAAa,CAAqB;QAClE,IAAAP,QAAA;UAEAA,QAAA,CAAUyB,mBAAA,CAAoB,cAAcE,kBAAA;UAC5C3B,QAAA,CAAUyB,mBAAA,CAAoB,cAAcK,oBAAA,CAAqB;UAEjE9B,QAAI,CAAAyB,mBAAU,eAAAM,oBAAA;QACZ;QACAnC,uBAAS;MACT;IAA+D;EAMjE,IAAwBxC,QAC1B,EACFC,OAAA,EACFT,OAAI,EAKJY,SAAM,EACJE,IAAI,EAEJV,IAAI,EACFE,OAAA,CACA;EAEAnB,KAAA,CAAAmG,eAAc,aAAS;IACrB,IAAAC,iCAAyB,EAASP,uBAAU;IAC5C,KAAAvE,OAAK;IAEL,IAAAL,IAAA,KAAM,CAAA4E,uBAAe,GAAAjE,cAAA,CAAAE,OAAA,cAAA+D,uBAAA,wBAAAO,iCAAA,GAAAP,uBAAA,CAAAQ,SAAA,cAAAD,iCAAA,uBAAAA,iCAAA,CAAAE,kBAAA,KAAA3D,WAAA;MAErBH,iCAA2B,CAAAV,OAAA;MAC3B,IAAAyE,UAAU,GAAAlF,QAAA,CAAA4C,QAAgB;MAC1B,IAAA5D,SAAW,CAAAgB,QAAM,CAAA2D,YAAgB,KAAAuB,UAAA;QAEjC,IAAAvC,IAAO,GAAA5D,WAAM,CAAAiB,QAAA,CAAA4C,QAAA,EAAAD,IAAA;QACXA,IAAA,CAAAwC,YAAW,CAAAjG,qBAAgB;QAC3B,IAAAkG,GAAI,GAAApF,QAAM,CAAA2D,YAAgB;QAC1BhB,IAAA,CAAAE,KAAA,CAAAC,aAAiB;QACnBsC,GAAA,CAAAvC,KAAA,CAAAC,aAAA;QACFoC,UAAA,CAAArC,KAAA,CAAAC,aAAA;QACF;UACEH,IAAA,CAASE,KAAA,CAAMC,aAAU;UAEvBsC,GAAA,CAAAvC,KAAA,CAAAC,aAAsB;UACrBoC,UAAM,CAAArC,KAAA,CAAAC,aAAA;QACT;MACA;IACA;EACA,IACF7C,OAAA,EACFL,IAAI,EAEJI,QAAM,EACJsB,WAAO,CACL;EACA3C,KAAA,CAAAmG,eAAA,CAAkB,YAAU;IAC5B,KAAAlF,IAAA;MACAkB,cAAA,CAAAL,OAAmB;MACrBY,qBAAA,CAAAZ,OAAA;MACE+B,uBAAkB;MAEtBE,kBAA6C,EAAM;IACjD;EACE,IACF9C,IAAA,CAEA;EAAOjB,KACL,CAAAgD,SAAA,aAAe;IAAA,OACf,YAAgB;MAChBa,uBAAqC;MACnC3D,iBAAQ,CAAAkC,UAAgB;MAExBlC,iBAAS,CAAAoC,cAAkB;MACzByB,kBAAK;IACH;EAA6C,IAC/CzC,OACF,EAEAD,QAAI,CAAA2D,YAAa,CACf;EAAA,IAAAM,SACF,GAAAtF,KAAA,CAAA0G,OAAA;IAEA,SAAIC,aAAQA,CAAApD,KAAU;MACpBpB,cAAA,CAAAL,OAAA,GAAAyB,KAAA,CAAA5C,WAAA;IAAA;IAIF;MAIEiG,aAAA,EAAAD,aAAA;MAAAE,cACF,EAAAF,aAAA;MAEAG,YAAAvD,KAAA;QAEA,IAAI;UAAAwD;QAAA,CAAe,GAAAxD,KAAA;QACjB,SAAAyD,eAAgBA,CAAA;UAClB,KAAOzE,iBAAA,CAAAT,OAAA,KAAAE,OAAA,CAAAF,OAAA;YACLI,kBAAA,KAAsB,EAAA6E,WAAU;UAChC;QAAgC;QAC9B,IACAtF,SAAA,IAAU,CAAAnB,sBAAA,CAAA6B,cAAA,CAAAL,OAAA;UACZ;QACF;QACF,IAAAb,IAAA,IAAAgB,SAAA,CAAAH,OAAA;UACF;QACE;QAEJ,IAAOY,qBAAqB,CAAAZ,OAAY,IAAAmF,IAAA,CAAAC,GAAU,CAAA3D,KAAS,CAAC4D,SAAS,OAAAF,IAAU,CAAAC,GAAA,CAAA3D,KAAA,CAAA6D,SAAA;UACjF","ignoreList":[]}
@@ -0,0 +1,92 @@
1
+ import * as React from "react";
2
+ import * as ReactDOM from "react-dom";
3
+ import { useEvent } from "@tamagui/use-event";
4
+ function useInnerOffset(context, props) {
5
+ const {
6
+ open,
7
+ elements
8
+ } = context;
9
+ const {
10
+ enabled = true,
11
+ overflowRef,
12
+ scrollRef,
13
+ onChange: unstable_onChange
14
+ } = props;
15
+ const onChange = useEvent(unstable_onChange);
16
+ const controlledScrollingRef = React.useRef(false);
17
+ const prevScrollTopRef = React.useRef(null);
18
+ const initialOverflowRef = React.useRef(null);
19
+ React.useEffect(() => {
20
+ if (!enabled) return;
21
+ function onWheel(e) {
22
+ if (e.ctrlKey || !el || overflowRef.current == null) {
23
+ return;
24
+ }
25
+ const dY = e.deltaY;
26
+ const isAtTop = overflowRef.current.top >= -0.5;
27
+ const isAtBottom = overflowRef.current.bottom >= -0.5;
28
+ const remainingScroll = el.scrollHeight - el.clientHeight;
29
+ const sign = dY < 0 ? -1 : 1;
30
+ const method = dY < 0 ? "max" : "min";
31
+ if (el.scrollHeight <= el.clientHeight) {
32
+ return;
33
+ }
34
+ if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
35
+ e.preventDefault();
36
+ ReactDOM.flushSync(() => {
37
+ onChange(d => d + Math[method](dY, remainingScroll * sign));
38
+ });
39
+ } else if (/firefox/i.test(navigator.userAgent)) {
40
+ el.scrollTop += dY;
41
+ }
42
+ }
43
+ const el = scrollRef?.current || elements.floating;
44
+ if (open && el) {
45
+ el.addEventListener("wheel", onWheel);
46
+ requestAnimationFrame(() => {
47
+ prevScrollTopRef.current = el.scrollTop;
48
+ if (overflowRef.current != null) {
49
+ initialOverflowRef.current = {
50
+ ...overflowRef.current
51
+ };
52
+ }
53
+ });
54
+ return () => {
55
+ prevScrollTopRef.current = null;
56
+ initialOverflowRef.current = null;
57
+ el.removeEventListener("wheel", onWheel);
58
+ };
59
+ }
60
+ }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);
61
+ const floating = React.useMemo(() => ({
62
+ onKeyDown() {
63
+ controlledScrollingRef.current = true;
64
+ },
65
+ onWheel() {
66
+ controlledScrollingRef.current = false;
67
+ },
68
+ onPointerMove() {
69
+ controlledScrollingRef.current = false;
70
+ },
71
+ onScroll() {
72
+ const el = scrollRef?.current || elements.floating;
73
+ if (!overflowRef.current || !el || !controlledScrollingRef.current) {
74
+ return;
75
+ }
76
+ if (prevScrollTopRef.current !== null) {
77
+ const scrollDiff = el.scrollTop - prevScrollTopRef.current;
78
+ if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {
79
+ ReactDOM.flushSync(() => onChange(d => d + scrollDiff));
80
+ }
81
+ }
82
+ requestAnimationFrame(() => {
83
+ prevScrollTopRef.current = el.scrollTop;
84
+ });
85
+ }
86
+ }), [elements.floating, onChange, overflowRef, scrollRef]);
87
+ return React.useMemo(() => enabled ? {
88
+ floating
89
+ } : {}, [enabled, floating]);
90
+ }
91
+ export { useInnerOffset };
92
+ //# sourceMappingURL=useInnerOffset.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ReactDOM","useEvent","useInnerOffset","context","props","open","elements","enabled","overflowRef","scrollRef","onChange","unstable_onChange","controlledScrollingRef","useRef","prevScrollTopRef","initialOverflowRef","useEffect","onWheel","e","ctrlKey","el","current","dY","deltaY","isAtTop","top","isAtBottom","bottom","remainingScroll","scrollHeight","clientHeight","sign","method","preventDefault","flushSync","d","Math","test","navigator","userAgent","scrollTop","floating","addEventListener","requestAnimationFrame","removeEventListener","useMemo","onKeyDown","onPointerMove","onScroll","scrollDiff"],"sources":["../../../src/interactions/useInnerOffset.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,102 @@
1
+ import * as React from "react";
2
+ import * as ReactDOM from "react-dom";
3
+ import { useEvent } from "@tamagui/use-event";
4
+ function useInnerOffset(context, props) {
5
+ var {
6
+ open,
7
+ elements
8
+ } = context;
9
+ var {
10
+ enabled = true,
11
+ overflowRef,
12
+ scrollRef,
13
+ onChange: unstable_onChange
14
+ } = props;
15
+ var onChange = useEvent(unstable_onChange);
16
+ var controlledScrollingRef = React.useRef(false);
17
+ var prevScrollTopRef = React.useRef(null);
18
+ var initialOverflowRef = React.useRef(null);
19
+ React.useEffect(function () {
20
+ if (!enabled) return;
21
+ function onWheel(e) {
22
+ if (e.ctrlKey || !el || overflowRef.current == null) {
23
+ return;
24
+ }
25
+ var dY = e.deltaY;
26
+ var isAtTop = overflowRef.current.top >= -0.5;
27
+ var isAtBottom = overflowRef.current.bottom >= -0.5;
28
+ var remainingScroll = el.scrollHeight - el.clientHeight;
29
+ var sign = dY < 0 ? -1 : 1;
30
+ var method = dY < 0 ? "max" : "min";
31
+ if (el.scrollHeight <= el.clientHeight) {
32
+ return;
33
+ }
34
+ if (!isAtTop && dY > 0 || !isAtBottom && dY < 0) {
35
+ e.preventDefault();
36
+ ReactDOM.flushSync(function () {
37
+ onChange(function (d) {
38
+ return d + Math[method](dY, remainingScroll * sign);
39
+ });
40
+ });
41
+ } else if (/firefox/i.test(navigator.userAgent)) {
42
+ el.scrollTop += dY;
43
+ }
44
+ }
45
+ var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;
46
+ if (open && el) {
47
+ el.addEventListener("wheel", onWheel);
48
+ requestAnimationFrame(function () {
49
+ prevScrollTopRef.current = el.scrollTop;
50
+ if (overflowRef.current != null) {
51
+ initialOverflowRef.current = {
52
+ ...overflowRef.current
53
+ };
54
+ }
55
+ });
56
+ return function () {
57
+ prevScrollTopRef.current = null;
58
+ initialOverflowRef.current = null;
59
+ el.removeEventListener("wheel", onWheel);
60
+ };
61
+ }
62
+ }, [enabled, open, elements.floating, overflowRef, scrollRef, onChange]);
63
+ var floating = React.useMemo(function () {
64
+ return {
65
+ onKeyDown() {
66
+ controlledScrollingRef.current = true;
67
+ },
68
+ onWheel() {
69
+ controlledScrollingRef.current = false;
70
+ },
71
+ onPointerMove() {
72
+ controlledScrollingRef.current = false;
73
+ },
74
+ onScroll() {
75
+ var el = (scrollRef === null || scrollRef === void 0 ? void 0 : scrollRef.current) || elements.floating;
76
+ if (!overflowRef.current || !el || !controlledScrollingRef.current) {
77
+ return;
78
+ }
79
+ if (prevScrollTopRef.current !== null) {
80
+ var scrollDiff = el.scrollTop - prevScrollTopRef.current;
81
+ if (overflowRef.current.bottom < -0.5 && scrollDiff < -1 || overflowRef.current.top < -0.5 && scrollDiff > 1) {
82
+ ReactDOM.flushSync(function () {
83
+ return onChange(function (d) {
84
+ return d + scrollDiff;
85
+ });
86
+ });
87
+ }
88
+ }
89
+ requestAnimationFrame(function () {
90
+ prevScrollTopRef.current = el.scrollTop;
91
+ });
92
+ }
93
+ };
94
+ }, [elements.floating, onChange, overflowRef, scrollRef]);
95
+ return React.useMemo(function () {
96
+ return enabled ? {
97
+ floating
98
+ } : {};
99
+ }, [enabled, floating]);
100
+ }
101
+ export { useInnerOffset };
102
+ //# sourceMappingURL=useInnerOffset.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","ReactDOM","useEvent","useInnerOffset","context","props","open","elements","enabled","overflowRef","scrollRef","onChange","unstable_onChange","controlledScrollingRef","useRef","prevScrollTopRef","initialOverflowRef","useEffect","onWheel","e","ctrlKey","el","current","dY","deltaY","isAtTop","top","isAtBottom","bottom","remainingScroll","scrollHeight","clientHeight","sign","method","preventDefault","flushSync","d","Math","test","navigator","userAgent","scrollTop","floating","addEventListener","requestAnimationFrame","removeEventListener","useMemo","onKeyDown","onPointerMove","onScroll","scrollDiff"],"sources":["../../../src/interactions/useInnerOffset.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ function useInteractions(propsList) {
2
+ const filtered = propsList.filter(Boolean);
3
+ const referenceFns = /* @__PURE__ */new Map();
4
+ const floatingFns = /* @__PURE__ */new Map();
5
+ const itemFns = /* @__PURE__ */new Map();
6
+ const referenceStatic = {};
7
+ const floatingStatic = {};
8
+ for (const props of filtered) {
9
+ if (props.reference) {
10
+ collectProps(props.reference, referenceFns, referenceStatic);
11
+ }
12
+ if (props.floating) {
13
+ collectProps(props.floating, floatingFns, floatingStatic);
14
+ }
15
+ if (props.item && typeof props.item === "object") {
16
+ collectProps(props.item, itemFns, {});
17
+ }
18
+ }
19
+ return {
20
+ getReferenceProps(userProps) {
21
+ return buildProps(referenceFns, referenceStatic, userProps);
22
+ },
23
+ getFloatingProps(userProps) {
24
+ return buildProps(floatingFns, floatingStatic, userProps);
25
+ },
26
+ getItemProps(userProps) {
27
+ return buildProps(itemFns, {}, userProps);
28
+ }
29
+ };
30
+ }
31
+ function collectProps(props, fnMap, staticMap) {
32
+ for (const key of Object.keys(props)) {
33
+ if (typeof props[key] === "function") {
34
+ let arr = fnMap.get(key);
35
+ if (!arr) {
36
+ arr = [];
37
+ fnMap.set(key, arr);
38
+ }
39
+ arr.push(props[key]);
40
+ } else {
41
+ staticMap[key] = props[key];
42
+ }
43
+ }
44
+ }
45
+ function buildProps(fnMap, staticProps, userProps) {
46
+ const result = {
47
+ ...staticProps
48
+ };
49
+ for (const [key, fns] of fnMap) {
50
+ const hookHandler = (...args) => {
51
+ for (const fn of fns) {
52
+ const result2 = fn(...args);
53
+ if (result2 !== void 0) return result2;
54
+ }
55
+ };
56
+ result[key] = hookHandler;
57
+ }
58
+ if (userProps) {
59
+ for (const key of Object.keys(userProps)) {
60
+ if (key === "style") {
61
+ result.style = {
62
+ ...result.style,
63
+ ...userProps.style
64
+ };
65
+ } else if (typeof userProps[key] === "function" && result[key]) {
66
+ const hookFn = result[key];
67
+ const userFn = userProps[key];
68
+ result[key] = (...args) => {
69
+ userFn(...args);
70
+ hookFn(...args);
71
+ };
72
+ } else {
73
+ result[key] = userProps[key];
74
+ }
75
+ }
76
+ }
77
+ return result;
78
+ }
79
+ export { useInteractions };
80
+ //# sourceMappingURL=useInteractions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useInteractions","propsList","filtered","filter","Boolean","referenceFns","Map","floatingFns","itemFns","referenceStatic","floatingStatic","props","reference","collectProps","floating","item","getReferenceProps","userProps","buildProps","getFloatingProps","getItemProps","fnMap","staticMap","key","Object","keys","arr","get","set","push","staticProps","result","fns","hookHandler","args","fn","result2","style","hookFn","userFn"],"sources":["../../../src/interactions/useInteractions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,188 @@
1
+ function _type_of(obj) {
2
+ "@swc/helpers - typeof";
3
+
4
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
5
+ }
6
+ function useInteractions(propsList) {
7
+ var filtered = propsList.filter(Boolean);
8
+ var referenceFns = /* @__PURE__ */new Map();
9
+ var floatingFns = /* @__PURE__ */new Map();
10
+ var itemFns = /* @__PURE__ */new Map();
11
+ var referenceStatic = {};
12
+ var floatingStatic = {};
13
+ var _iteratorNormalCompletion = true,
14
+ _didIteratorError = false,
15
+ _iteratorError = void 0;
16
+ try {
17
+ for (var _iterator = filtered[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
18
+ var props = _step.value;
19
+ if (props.reference) {
20
+ collectProps(props.reference, referenceFns, referenceStatic);
21
+ }
22
+ if (props.floating) {
23
+ collectProps(props.floating, floatingFns, floatingStatic);
24
+ }
25
+ if (props.item && _type_of(props.item) === "object") {
26
+ collectProps(props.item, itemFns, {});
27
+ }
28
+ }
29
+ } catch (err) {
30
+ _didIteratorError = true;
31
+ _iteratorError = err;
32
+ } finally {
33
+ try {
34
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
35
+ _iterator.return();
36
+ }
37
+ } finally {
38
+ if (_didIteratorError) {
39
+ throw _iteratorError;
40
+ }
41
+ }
42
+ }
43
+ return {
44
+ getReferenceProps(userProps) {
45
+ return buildProps(referenceFns, referenceStatic, userProps);
46
+ },
47
+ getFloatingProps(userProps) {
48
+ return buildProps(floatingFns, floatingStatic, userProps);
49
+ },
50
+ getItemProps(userProps) {
51
+ return buildProps(itemFns, {}, userProps);
52
+ }
53
+ };
54
+ }
55
+ function collectProps(props, fnMap, staticMap) {
56
+ var _iteratorNormalCompletion = true,
57
+ _didIteratorError = false,
58
+ _iteratorError = void 0;
59
+ try {
60
+ for (var _iterator = Object.keys(props)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
61
+ var key = _step.value;
62
+ if (typeof props[key] === "function") {
63
+ var arr = fnMap.get(key);
64
+ if (!arr) {
65
+ arr = [];
66
+ fnMap.set(key, arr);
67
+ }
68
+ arr.push(props[key]);
69
+ } else {
70
+ staticMap[key] = props[key];
71
+ }
72
+ }
73
+ } catch (err) {
74
+ _didIteratorError = true;
75
+ _iteratorError = err;
76
+ } finally {
77
+ try {
78
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
79
+ _iterator.return();
80
+ }
81
+ } finally {
82
+ if (_didIteratorError) {
83
+ throw _iteratorError;
84
+ }
85
+ }
86
+ }
87
+ }
88
+ function buildProps(fnMap, staticProps, userProps) {
89
+ var result = {
90
+ ...staticProps
91
+ };
92
+ var _iteratorNormalCompletion = true,
93
+ _didIteratorError = false,
94
+ _iteratorError = void 0;
95
+ try {
96
+ var _loop = function () {
97
+ var [key, fns] = _step.value;
98
+ var hookHandler = function () {
99
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
100
+ args[_key] = arguments[_key];
101
+ }
102
+ var _iteratorNormalCompletion2 = true,
103
+ _didIteratorError2 = false,
104
+ _iteratorError2 = void 0;
105
+ try {
106
+ for (var _iterator2 = fns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
107
+ var fn = _step2.value;
108
+ var result2 = fn(...args);
109
+ if (result2 !== void 0) return result2;
110
+ }
111
+ } catch (err) {
112
+ _didIteratorError2 = true;
113
+ _iteratorError2 = err;
114
+ } finally {
115
+ try {
116
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
117
+ _iterator2.return();
118
+ }
119
+ } finally {
120
+ if (_didIteratorError2) {
121
+ throw _iteratorError2;
122
+ }
123
+ }
124
+ }
125
+ };
126
+ result[key] = hookHandler;
127
+ };
128
+ for (var _iterator = fnMap[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
129
+ } catch (err) {
130
+ _didIteratorError = true;
131
+ _iteratorError = err;
132
+ } finally {
133
+ try {
134
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
135
+ _iterator.return();
136
+ }
137
+ } finally {
138
+ if (_didIteratorError) {
139
+ throw _iteratorError;
140
+ }
141
+ }
142
+ }
143
+ if (userProps) {
144
+ var _iteratorNormalCompletion1 = true,
145
+ _didIteratorError1 = false,
146
+ _iteratorError1 = void 0;
147
+ try {
148
+ var _loop1 = function () {
149
+ var key = _step1.value;
150
+ if (key === "style") {
151
+ result.style = {
152
+ ...result.style,
153
+ ...userProps.style
154
+ };
155
+ } else if (typeof userProps[key] === "function" && result[key]) {
156
+ var hookFn = result[key];
157
+ var userFn = userProps[key];
158
+ result[key] = function () {
159
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
160
+ args[_key] = arguments[_key];
161
+ }
162
+ userFn(...args);
163
+ hookFn(...args);
164
+ };
165
+ } else {
166
+ result[key] = userProps[key];
167
+ }
168
+ };
169
+ for (var _iterator1 = Object.keys(userProps)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) _loop1();
170
+ } catch (err) {
171
+ _didIteratorError1 = true;
172
+ _iteratorError1 = err;
173
+ } finally {
174
+ try {
175
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
176
+ _iterator1.return();
177
+ }
178
+ } finally {
179
+ if (_didIteratorError1) {
180
+ throw _iteratorError1;
181
+ }
182
+ }
183
+ }
184
+ }
185
+ return result;
186
+ }
187
+ export { useInteractions };
188
+ //# sourceMappingURL=useInteractions.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_type_of","obj","Symbol","constructor","useInteractions","propsList","filtered","filter","Boolean","referenceFns","Map","floatingFns","itemFns","referenceStatic","floatingStatic","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","props","value","reference","collectProps","floating","item","err","return","getReferenceProps","userProps","buildProps","getFloatingProps","getItemProps","fnMap","staticMap","Object","keys","key","arr","get","set","push"],"sources":["../../../src/interactions/useInteractions.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}