@cdx-ui/primitives 0.0.1-beta.159 → 0.0.1-beta.160

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 (233) hide show
  1. package/lib/commonjs/dialog/DialogContent.js +17 -3
  2. package/lib/commonjs/dialog/DialogContent.js.map +1 -1
  3. package/lib/commonjs/dialog/DialogPopup.js +5 -1
  4. package/lib/commonjs/dialog/DialogPopup.js.map +1 -1
  5. package/lib/commonjs/index.js +54 -0
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/menu/MenuCheckboxItem.js +42 -0
  8. package/lib/commonjs/menu/MenuCheckboxItem.js.map +1 -0
  9. package/lib/commonjs/menu/MenuItem.js +142 -0
  10. package/lib/commonjs/menu/MenuItem.js.map +1 -0
  11. package/lib/commonjs/menu/MenuOverlayRoot.js +80 -0
  12. package/lib/commonjs/menu/MenuOverlayRoot.js.map +1 -0
  13. package/lib/commonjs/menu/MenuPopup.js +78 -0
  14. package/lib/commonjs/menu/MenuPopup.js.map +1 -0
  15. package/lib/commonjs/menu/MenuRadioGroup.js +48 -0
  16. package/lib/commonjs/menu/MenuRadioGroup.js.map +1 -0
  17. package/lib/commonjs/menu/MenuRadioItem.js +32 -0
  18. package/lib/commonjs/menu/MenuRadioItem.js.map +1 -0
  19. package/lib/commonjs/menu/MenuRoot.js +139 -0
  20. package/lib/commonjs/menu/MenuRoot.js.map +1 -0
  21. package/lib/commonjs/menu/MenuTrigger.js +59 -0
  22. package/lib/commonjs/menu/MenuTrigger.js.map +1 -0
  23. package/lib/commonjs/menu/context.js +36 -0
  24. package/lib/commonjs/menu/context.js.map +1 -0
  25. package/lib/commonjs/menu/index.js +118 -0
  26. package/lib/commonjs/menu/index.js.map +1 -0
  27. package/lib/commonjs/menu/overlayContext.js +30 -0
  28. package/lib/commonjs/menu/overlayContext.js.map +1 -0
  29. package/lib/commonjs/menu/types.js +6 -0
  30. package/lib/commonjs/menu/types.js.map +1 -0
  31. package/lib/commonjs/menu/useMenuNavigation.js +87 -0
  32. package/lib/commonjs/menu/useMenuNavigation.js.map +1 -0
  33. package/lib/commonjs/menu/useMenuOverlayLifecycle.js +68 -0
  34. package/lib/commonjs/menu/useMenuOverlayLifecycle.js.map +1 -0
  35. package/lib/commonjs/menu/useMenuTrigger.js +115 -0
  36. package/lib/commonjs/menu/useMenuTrigger.js.map +1 -0
  37. package/lib/commonjs/overlay/OverlayContainer.js +2 -3
  38. package/lib/commonjs/overlay/OverlayContainer.js.map +1 -1
  39. package/lib/commonjs/overlay/OverlayStack.js +125 -0
  40. package/lib/commonjs/overlay/OverlayStack.js.map +1 -0
  41. package/lib/commonjs/overlay/constants.js +7 -1
  42. package/lib/commonjs/overlay/constants.js.map +1 -1
  43. package/lib/commonjs/overlay/getAnchoredOverlayPosition.js +188 -0
  44. package/lib/commonjs/overlay/getAnchoredOverlayPosition.js.map +1 -0
  45. package/lib/commonjs/overlay/index.js +39 -0
  46. package/lib/commonjs/overlay/index.js.map +1 -1
  47. package/lib/commonjs/overlay/useAnchoredOverlay.js +127 -0
  48. package/lib/commonjs/overlay/useAnchoredOverlay.js.map +1 -0
  49. package/lib/commonjs/overlay/useDismissOverlay.js +8 -1
  50. package/lib/commonjs/overlay/useDismissOverlay.js.map +1 -1
  51. package/lib/commonjs/overlay/useDismissOverlay.web.js +11 -3
  52. package/lib/commonjs/overlay/useDismissOverlay.web.js.map +1 -1
  53. package/lib/commonjs/overlay/useEscapeKey.js +8 -1
  54. package/lib/commonjs/overlay/useEscapeKey.js.map +1 -1
  55. package/lib/commonjs/overlay/useEscapeKey.web.js +11 -3
  56. package/lib/commonjs/overlay/useEscapeKey.web.js.map +1 -1
  57. package/lib/commonjs/overlay/useOverlayPosition.js +16 -7
  58. package/lib/commonjs/overlay/useOverlayPosition.js.map +1 -1
  59. package/lib/commonjs/portal/portal.js +86 -63
  60. package/lib/commonjs/portal/portal.js.map +1 -1
  61. package/lib/commonjs/select/SelectContent.js +23 -11
  62. package/lib/commonjs/select/SelectContent.js.map +1 -1
  63. package/lib/commonjs/select/useListboxNavigation.js +10 -11
  64. package/lib/commonjs/select/useListboxNavigation.js.map +1 -1
  65. package/lib/commonjs/tooltip/TooltipContent.js +25 -24
  66. package/lib/commonjs/tooltip/TooltipContent.js.map +1 -1
  67. package/lib/commonjs/tooltip/getTooltipPosition.js +37 -84
  68. package/lib/commonjs/tooltip/getTooltipPosition.js.map +1 -1
  69. package/lib/module/dialog/DialogContent.js +18 -4
  70. package/lib/module/dialog/DialogContent.js.map +1 -1
  71. package/lib/module/dialog/DialogPopup.js +5 -1
  72. package/lib/module/dialog/DialogPopup.js.map +1 -1
  73. package/lib/module/index.js +2 -1
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/menu/MenuCheckboxItem.js +38 -0
  76. package/lib/module/menu/MenuCheckboxItem.js.map +1 -0
  77. package/lib/module/menu/MenuItem.js +138 -0
  78. package/lib/module/menu/MenuItem.js.map +1 -0
  79. package/lib/module/menu/MenuOverlayRoot.js +76 -0
  80. package/lib/module/menu/MenuOverlayRoot.js.map +1 -0
  81. package/lib/module/menu/MenuPopup.js +74 -0
  82. package/lib/module/menu/MenuPopup.js.map +1 -0
  83. package/lib/module/menu/MenuRadioGroup.js +44 -0
  84. package/lib/module/menu/MenuRadioGroup.js.map +1 -0
  85. package/lib/module/menu/MenuRadioItem.js +28 -0
  86. package/lib/module/menu/MenuRadioItem.js.map +1 -0
  87. package/lib/module/menu/MenuRoot.js +135 -0
  88. package/lib/module/menu/MenuRoot.js.map +1 -0
  89. package/lib/module/menu/MenuTrigger.js +55 -0
  90. package/lib/module/menu/MenuTrigger.js.map +1 -0
  91. package/lib/module/menu/context.js +27 -0
  92. package/lib/module/menu/context.js.map +1 -0
  93. package/lib/module/menu/index.js +13 -0
  94. package/lib/module/menu/index.js.map +1 -0
  95. package/lib/module/menu/overlayContext.js +24 -0
  96. package/lib/module/menu/overlayContext.js.map +1 -0
  97. package/lib/module/menu/types.js +4 -0
  98. package/lib/module/menu/types.js.map +1 -0
  99. package/lib/module/menu/useMenuNavigation.js +84 -0
  100. package/lib/module/menu/useMenuNavigation.js.map +1 -0
  101. package/lib/module/menu/useMenuOverlayLifecycle.js +63 -0
  102. package/lib/module/menu/useMenuOverlayLifecycle.js.map +1 -0
  103. package/lib/module/menu/useMenuTrigger.js +111 -0
  104. package/lib/module/menu/useMenuTrigger.js.map +1 -0
  105. package/lib/module/overlay/OverlayContainer.js +2 -3
  106. package/lib/module/overlay/OverlayContainer.js.map +1 -1
  107. package/lib/module/overlay/OverlayStack.js +119 -0
  108. package/lib/module/overlay/OverlayStack.js.map +1 -0
  109. package/lib/module/overlay/constants.js +6 -0
  110. package/lib/module/overlay/constants.js.map +1 -1
  111. package/lib/module/overlay/getAnchoredOverlayPosition.js +183 -0
  112. package/lib/module/overlay/getAnchoredOverlayPosition.js.map +1 -0
  113. package/lib/module/overlay/index.js +4 -1
  114. package/lib/module/overlay/index.js.map +1 -1
  115. package/lib/module/overlay/useAnchoredOverlay.js +123 -0
  116. package/lib/module/overlay/useAnchoredOverlay.js.map +1 -0
  117. package/lib/module/overlay/useDismissOverlay.js +9 -1
  118. package/lib/module/overlay/useDismissOverlay.js.map +1 -1
  119. package/lib/module/overlay/useDismissOverlay.web.js +11 -3
  120. package/lib/module/overlay/useDismissOverlay.web.js.map +1 -1
  121. package/lib/module/overlay/useEscapeKey.js +9 -1
  122. package/lib/module/overlay/useEscapeKey.js.map +1 -1
  123. package/lib/module/overlay/useEscapeKey.web.js +11 -3
  124. package/lib/module/overlay/useEscapeKey.web.js.map +1 -1
  125. package/lib/module/overlay/useOverlayPosition.js +16 -7
  126. package/lib/module/overlay/useOverlayPosition.js.map +1 -1
  127. package/lib/module/portal/portal.js +86 -64
  128. package/lib/module/portal/portal.js.map +1 -1
  129. package/lib/module/select/SelectContent.js +25 -13
  130. package/lib/module/select/SelectContent.js.map +1 -1
  131. package/lib/module/select/useListboxNavigation.js +10 -11
  132. package/lib/module/select/useListboxNavigation.js.map +1 -1
  133. package/lib/module/tooltip/TooltipContent.js +30 -29
  134. package/lib/module/tooltip/TooltipContent.js.map +1 -1
  135. package/lib/module/tooltip/getTooltipPosition.js +37 -84
  136. package/lib/module/tooltip/getTooltipPosition.js.map +1 -1
  137. package/lib/typescript/dialog/DialogContent.d.ts.map +1 -1
  138. package/lib/typescript/dialog/DialogPopup.d.ts.map +1 -1
  139. package/lib/typescript/index.d.ts +2 -1
  140. package/lib/typescript/index.d.ts.map +1 -1
  141. package/lib/typescript/menu/MenuCheckboxItem.d.ts +6 -0
  142. package/lib/typescript/menu/MenuCheckboxItem.d.ts.map +1 -0
  143. package/lib/typescript/menu/MenuItem.d.ts +8 -0
  144. package/lib/typescript/menu/MenuItem.d.ts.map +1 -0
  145. package/lib/typescript/menu/MenuOverlayRoot.d.ts +8 -0
  146. package/lib/typescript/menu/MenuOverlayRoot.d.ts.map +1 -0
  147. package/lib/typescript/menu/MenuPopup.d.ts +8 -0
  148. package/lib/typescript/menu/MenuPopup.d.ts.map +1 -0
  149. package/lib/typescript/menu/MenuRadioGroup.d.ts +8 -0
  150. package/lib/typescript/menu/MenuRadioGroup.d.ts.map +1 -0
  151. package/lib/typescript/menu/MenuRadioItem.d.ts +6 -0
  152. package/lib/typescript/menu/MenuRadioItem.d.ts.map +1 -0
  153. package/lib/typescript/menu/MenuRoot.d.ts +8 -0
  154. package/lib/typescript/menu/MenuRoot.d.ts.map +1 -0
  155. package/lib/typescript/menu/MenuTrigger.d.ts +7 -0
  156. package/lib/typescript/menu/MenuTrigger.d.ts.map +1 -0
  157. package/lib/typescript/menu/context.d.ts +15 -0
  158. package/lib/typescript/menu/context.d.ts.map +1 -0
  159. package/lib/typescript/menu/index.d.ts +12 -0
  160. package/lib/typescript/menu/index.d.ts.map +1 -0
  161. package/lib/typescript/menu/overlayContext.d.ts +35 -0
  162. package/lib/typescript/menu/overlayContext.d.ts.map +1 -0
  163. package/lib/typescript/menu/types.d.ts +104 -0
  164. package/lib/typescript/menu/types.d.ts.map +1 -0
  165. package/lib/typescript/menu/useMenuNavigation.d.ts +16 -0
  166. package/lib/typescript/menu/useMenuNavigation.d.ts.map +1 -0
  167. package/lib/typescript/menu/useMenuOverlayLifecycle.d.ts +15 -0
  168. package/lib/typescript/menu/useMenuOverlayLifecycle.d.ts.map +1 -0
  169. package/lib/typescript/menu/useMenuTrigger.d.ts +35 -0
  170. package/lib/typescript/menu/useMenuTrigger.d.ts.map +1 -0
  171. package/lib/typescript/overlay/OverlayContainer.d.ts.map +1 -1
  172. package/lib/typescript/overlay/OverlayStack.d.ts +46 -0
  173. package/lib/typescript/overlay/OverlayStack.d.ts.map +1 -0
  174. package/lib/typescript/overlay/constants.d.ts +5 -0
  175. package/lib/typescript/overlay/constants.d.ts.map +1 -1
  176. package/lib/typescript/overlay/getAnchoredOverlayPosition.d.ts +45 -0
  177. package/lib/typescript/overlay/getAnchoredOverlayPosition.d.ts.map +1 -0
  178. package/lib/typescript/overlay/index.d.ts +5 -2
  179. package/lib/typescript/overlay/index.d.ts.map +1 -1
  180. package/lib/typescript/overlay/useAnchoredOverlay.d.ts +15 -0
  181. package/lib/typescript/overlay/useAnchoredOverlay.d.ts.map +1 -0
  182. package/lib/typescript/overlay/useDismissOverlay.d.ts +2 -1
  183. package/lib/typescript/overlay/useDismissOverlay.d.ts.map +1 -1
  184. package/lib/typescript/overlay/useDismissOverlay.web.d.ts +2 -1
  185. package/lib/typescript/overlay/useDismissOverlay.web.d.ts.map +1 -1
  186. package/lib/typescript/overlay/useEscapeKey.d.ts +2 -1
  187. package/lib/typescript/overlay/useEscapeKey.d.ts.map +1 -1
  188. package/lib/typescript/overlay/useEscapeKey.web.d.ts +2 -1
  189. package/lib/typescript/overlay/useEscapeKey.web.d.ts.map +1 -1
  190. package/lib/typescript/overlay/useOverlayPosition.d.ts +5 -1
  191. package/lib/typescript/overlay/useOverlayPosition.d.ts.map +1 -1
  192. package/lib/typescript/portal/portal.d.ts +3 -0
  193. package/lib/typescript/portal/portal.d.ts.map +1 -1
  194. package/lib/typescript/select/SelectContent.d.ts.map +1 -1
  195. package/lib/typescript/select/useListboxNavigation.d.ts.map +1 -1
  196. package/lib/typescript/tooltip/TooltipContent.d.ts.map +1 -1
  197. package/lib/typescript/tooltip/getTooltipPosition.d.ts +6 -8
  198. package/lib/typescript/tooltip/getTooltipPosition.d.ts.map +1 -1
  199. package/package.json +3 -3
  200. package/src/dialog/DialogContent.tsx +16 -4
  201. package/src/dialog/DialogPopup.tsx +5 -1
  202. package/src/index.ts +23 -0
  203. package/src/menu/MenuCheckboxItem.tsx +51 -0
  204. package/src/menu/MenuItem.tsx +197 -0
  205. package/src/menu/MenuOverlayRoot.tsx +100 -0
  206. package/src/menu/MenuPopup.tsx +81 -0
  207. package/src/menu/MenuRadioGroup.tsx +48 -0
  208. package/src/menu/MenuRadioItem.tsx +32 -0
  209. package/src/menu/MenuRoot.tsx +190 -0
  210. package/src/menu/MenuTrigger.tsx +57 -0
  211. package/src/menu/context.tsx +38 -0
  212. package/src/menu/index.ts +36 -0
  213. package/src/menu/overlayContext.tsx +61 -0
  214. package/src/menu/types.ts +119 -0
  215. package/src/menu/useMenuNavigation.ts +102 -0
  216. package/src/menu/useMenuOverlayLifecycle.ts +77 -0
  217. package/src/menu/useMenuTrigger.ts +161 -0
  218. package/src/overlay/OverlayContainer.tsx +3 -1
  219. package/src/overlay/OverlayStack.tsx +202 -0
  220. package/src/overlay/constants.ts +6 -0
  221. package/src/overlay/getAnchoredOverlayPosition.ts +326 -0
  222. package/src/overlay/index.ts +29 -1
  223. package/src/overlay/useAnchoredOverlay.ts +153 -0
  224. package/src/overlay/useDismissOverlay.ts +10 -2
  225. package/src/overlay/useDismissOverlay.web.ts +9 -2
  226. package/src/overlay/useEscapeKey.ts +13 -1
  227. package/src/overlay/useEscapeKey.web.ts +13 -3
  228. package/src/overlay/useOverlayPosition.ts +35 -8
  229. package/src/portal/portal.tsx +109 -69
  230. package/src/select/SelectContent.tsx +29 -17
  231. package/src/select/useListboxNavigation.ts +12 -9
  232. package/src/tooltip/TooltipContent.tsx +32 -34
  233. package/src/tooltip/getTooltipPosition.ts +58 -125
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useRef","useListboxNavigation","items","activeValue","setActiveValue","onSelect","onDismiss","onSelectRef","current","onDismissRef","getEnabledItems","filter","item","disabled","handleKeyDown","e","enabledItems","length","idx","findIndex","i","value","key","preventDefault","last","at"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,OAAO;;AAG3C;;AAUA,OAAO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,QAAQ;EACRC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,WAAW,GAAGP,MAAM,CAACK,QAAQ,CAAC;EACpCE,WAAW,CAACC,OAAO,GAAGH,QAAQ;EAE9B,MAAMI,YAAY,GAAGT,MAAM,CAACM,SAAS,CAAC;EACtCG,YAAY,CAACD,OAAO,GAAGF,SAAS;EAEhC,MAAMI,eAAe,GAAGX,WAAW,CAAC,MAAMG,KAAK,CAACS,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAE1F,MAAMY,aAAa,GAAGf,WAAW,CAC9BgB,CAAM,IAAK;IACV,MAAMC,YAAY,GAAGN,eAAe,CAAC,CAAC;IACtC,IAAIM,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B;IACF;IAEA,MAAMC,GAAG,GAAGF,YAAY,CAACG,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKlB,WAAW,CAAC;IAElE,QAAQY,CAAC,CAACO,GAAG;MACX,KAAK,WAAW;QAAE;UAChBP,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBnB,cAAc,CAACY,YAAY,CAACE,GAAG,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,SAAS;QAAE;UACdN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBnB,cAAc,CAACY,YAAY,CAACE,GAAG,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,CAAC,CAACI,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,MAAM;QAAE;UACXN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBnB,cAAc,CAACY,YAAY,CAAC,CAAC,CAAC,CAACK,KAAK,CAAC;UACrC;QACF;MACA,KAAK,KAAK;QAAE;UACVN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClB,MAAMC,IAAI,GAAGR,YAAY,CAACS,EAAE,CAAC,CAAC,CAAC,CAAC;UAChC,IAAID,IAAI,EAAE;YACRpB,cAAc,CAACoB,IAAI,CAACH,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClB,IAAIpB,WAAW,EAAE;YACfI,WAAW,CAACC,OAAO,CAACL,WAAW,CAAC;UAClC;UACA;QACF;MACA,KAAK,QAAQ;QAAE;UACbY,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBd,YAAY,CAACD,OAAO,CAAC,CAAC;UACtB;QACF;MACA,KAAK,KAAK;QAAE;UACVC,YAAY,CAACD,OAAO,CAAC,CAAC;UACtB;QACF;IACF;EACF,CAAC,EACD,CAACL,WAAW,EAAEO,eAAe,EAAEN,cAAc,CAC/C,CAAC;EAED,OAAO;IAAEU,aAAa;IAAEJ;EAAgB,CAAC;AAC3C","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useRef","useListboxNavigation","items","activeValue","setActiveValue","onSelect","onDismiss","onSelectRef","current","onDismissRef","getEnabledItems","filter","item","disabled","handleKeyDown","e","key","preventDefault","stopPropagation","enabledItems","length","idx","findIndex","i","value","last","at"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,MAAM,QAAQ,OAAO;;AAG3C;;AAUA,OAAO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,QAAQ;EACRC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,WAAW,GAAGP,MAAM,CAACK,QAAQ,CAAC;EACpCE,WAAW,CAACC,OAAO,GAAGH,QAAQ;EAE9B,MAAMI,YAAY,GAAGT,MAAM,CAACM,SAAS,CAAC;EACtCG,YAAY,CAACD,OAAO,GAAGF,SAAS;EAEhC,MAAMI,eAAe,GAAGX,WAAW,CAAC,MAAMG,KAAK,CAACS,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACX,KAAK,CAAC,CAAC;EAE1F,MAAMY,aAAa,GAAGf,WAAW,CAC9BgB,CAAM,IAAK;IACV,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBF,CAAC,CAACG,eAAe,GAAG,CAAC;MACrBT,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,IAAIO,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;MACnBP,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,MAAMW,YAAY,GAAGT,eAAe,CAAC,CAAC;IACtC,IAAIS,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B;IACF;IAEA,MAAMC,GAAG,GAAGF,YAAY,CAACG,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKrB,WAAW,CAAC;IAElE,QAAQY,CAAC,CAACC,GAAG;MACX,KAAK,WAAW;QAAE;UAChBD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBb,cAAc,CAACe,YAAY,CAACE,GAAG,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,SAAS;QAAE;UACdT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBb,cAAc,CAACe,YAAY,CAACE,GAAG,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,CAAC,CAACI,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,MAAM;QAAE;UACXT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBb,cAAc,CAACe,YAAY,CAAC,CAAC,CAAC,CAACK,KAAK,CAAC;UACrC;QACF;MACA,KAAK,KAAK;QAAE;UACVT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,MAAMQ,IAAI,GAAGN,YAAY,CAACO,EAAE,CAAC,CAAC,CAAC,CAAC;UAChC,IAAID,IAAI,EAAE;YACRrB,cAAc,CAACqB,IAAI,CAACD,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,IAAId,WAAW,EAAE;YACfI,WAAW,CAACC,OAAO,CAACL,WAAW,CAAC;UAClC;UACA;QACF;IACF;EACF,CAAC,EACD,CAACA,WAAW,EAAEO,eAAe,EAAEN,cAAc,CAC/C,CAAC;EAED,OAAO;IAAEU,aAAa;IAAEJ;EAAgB,CAAC;AAC3C","ignoreList":[]}
@@ -1,19 +1,20 @@
1
1
  "use strict";
2
2
 
3
- import { forwardRef, useCallback, useLayoutEffect, useMemo, useRef } from 'react';
4
- import { Platform, StyleSheet, View, useWindowDimensions } from 'react-native';
5
- import { mergeRefs } from '@cdx-ui/utils';
3
+ import { forwardRef, useCallback, useLayoutEffect } from 'react';
4
+ import { Platform, StyleSheet, View } from 'react-native';
5
+ import { composeEventHandlers, mergeRefs } from '@cdx-ui/utils';
6
6
  import { Portal } from '../portal';
7
- import { useAnchorPosition, useDismissOverlay, useEscapeKey } from '../overlay';
7
+ import { useAnchoredOverlay, useDismissOverlay, useEscapeKey } from '../overlay';
8
8
  import { createPortalFn } from '../utils/createPortal';
9
9
  import { Slot } from '../slot';
10
10
  import { dataAttributes, mergeDataAttributes } from '../utils/dataAttributes';
11
11
  import { TooltipProvider, useTooltipContext } from './context';
12
- import { getTooltipAnchorStyle } from './getTooltipPosition';
12
+ import { TOOLTIP_Z_INDEX } from './getTooltipPosition';
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  export const TooltipContent = /*#__PURE__*/forwardRef(({
15
15
  asChild,
16
16
  children,
17
+ onLayout,
17
18
  ...props
18
19
  }, ref) => {
19
20
  const contextValue = useTooltipContext();
@@ -26,36 +27,33 @@ export const TooltipContent = /*#__PURE__*/forwardRef(({
26
27
  trigger,
27
28
  triggerRef,
28
29
  contentId,
30
+ resolvedPlacement,
29
31
  setResolvedPlacement
30
32
  } = contextValue;
31
- const contentRef = useRef(null);
32
- const mergedRef = mergeRefs(ref, contentRef);
33
+ const {
34
+ floatingRef,
35
+ onFloatingLayout,
36
+ style: overlayStyle,
37
+ position
38
+ } = useAnchoredOverlay(triggerRef, open && !isDisabled, {
39
+ placement,
40
+ offset,
41
+ collisionBehavior: 'none',
42
+ width: 'content'
43
+ });
44
+ const mergedRef = mergeRefs(ref, floatingRef);
33
45
  const handleDismiss = useCallback(() => {
34
46
  setOpen(false);
35
47
  }, [setOpen]);
36
48
  const shouldDismissOnInteraction = trigger === 'click' && Platform.OS === 'web' && open && !isDisabled;
37
- useDismissOverlay(shouldDismissOnInteraction, contentRef, [triggerRef], handleDismiss);
49
+ useDismissOverlay(shouldDismissOnInteraction, floatingRef, [triggerRef], handleDismiss);
38
50
  useEscapeKey(shouldDismissOnInteraction, handleDismiss);
39
- const {
40
- width,
41
- height
42
- } = useWindowDimensions();
43
- const anchorLayout = useAnchorPosition(triggerRef, open && !isDisabled);
44
- const position = useMemo(() => {
45
- if (!anchorLayout) {
46
- return null;
47
- }
48
- return getTooltipAnchorStyle(anchorLayout, placement, offset, {
49
- width,
50
- height
51
- });
52
- }, [anchorLayout, height, offset, placement, width]);
53
51
  useLayoutEffect(() => {
54
- if (position) {
55
- setResolvedPlacement(position.resolved);
52
+ if (position && (resolvedPlacement?.side !== position.resolvedPlacement.side || resolvedPlacement.align !== position.resolvedPlacement.align)) {
53
+ setResolvedPlacement(position.resolvedPlacement);
56
54
  }
57
- }, [position, setResolvedPlacement]);
58
- if (!open || isDisabled || !position) {
55
+ }, [position, resolvedPlacement, setResolvedPlacement]);
56
+ if (!open || isDisabled) {
59
57
  return null;
60
58
  }
61
59
  const Comp = asChild ? Slot : View;
@@ -70,14 +68,17 @@ export const TooltipContent = /*#__PURE__*/forwardRef(({
70
68
  value: contextValue,
71
69
  children: /*#__PURE__*/_jsx(View, {
72
70
  pointerEvents: "none",
73
- style: position.style,
71
+ style: [overlayStyle, {
72
+ zIndex: TOOLTIP_Z_INDEX
73
+ }],
74
74
  children: /*#__PURE__*/_jsx(Comp, {
75
75
  ref: mergedRef,
76
+ onLayout: composeEventHandlers(onLayout, onFloatingLayout),
76
77
  ...props,
77
78
  ...webProps,
78
79
  ...mergeDataAttributes(props, dataAttributes({
79
- side: position.resolved.side,
80
- align: position.resolved.align,
80
+ side: position?.resolvedPlacement.side,
81
+ align: position?.resolvedPlacement.align,
81
82
  state: 'open'
82
83
  })),
83
84
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useLayoutEffect","useMemo","useRef","Platform","StyleSheet","View","useWindowDimensions","mergeRefs","Portal","useAnchorPosition","useDismissOverlay","useEscapeKey","createPortalFn","Slot","dataAttributes","mergeDataAttributes","TooltipProvider","useTooltipContext","getTooltipAnchorStyle","jsx","_jsx","TooltipContent","asChild","children","props","ref","contextValue","open","setOpen","isDisabled","placement","offset","trigger","triggerRef","contentId","setResolvedPlacement","contentRef","mergedRef","handleDismiss","shouldDismissOnInteraction","OS","width","height","anchorLayout","position","resolved","Comp","webProps","id","role","accessibilityRole","accessibilityLiveRegion","popup","value","pointerEvents","style","side","align","state","document","body","name","absoluteFill","zIndex","displayName"],"sourceRoot":"../../../src","sources":["tooltip/TooltipContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useLayoutEffect","Platform","StyleSheet","View","composeEventHandlers","mergeRefs","Portal","useAnchoredOverlay","useDismissOverlay","useEscapeKey","createPortalFn","Slot","dataAttributes","mergeDataAttributes","TooltipProvider","useTooltipContext","TOOLTIP_Z_INDEX","jsx","_jsx","TooltipContent","asChild","children","onLayout","props","ref","contextValue","open","setOpen","isDisabled","placement","offset","trigger","triggerRef","contentId","resolvedPlacement","setResolvedPlacement","floatingRef","onFloatingLayout","style","overlayStyle","position","collisionBehavior","width","mergedRef","handleDismiss","shouldDismissOnInteraction","OS","side","align","Comp","webProps","id","role","accessibilityRole","accessibilityLiveRegion","popup","value","pointerEvents","zIndex","state","document","body","name","absoluteFill","displayName"],"sourceRoot":"../../../src","sources":["tooltip/TooltipContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,75 +1,15 @@
1
1
  "use strict";
2
2
 
3
3
  import { Platform } from 'react-native';
4
- export const TOOLTIP_PLACEMENTS = ['auto', 'auto-start', 'auto-end', 'top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end', 'right', 'right-start', 'right-end'];
4
+ import { getAnchoredOverlayPosition, OVERLAY_PLACEMENTS } from '../overlay/getAnchoredOverlayPosition';
5
+ export const TOOLTIP_PLACEMENTS = OVERLAY_PLACEMENTS;
5
6
  export const TOOLTIP_Z_INDEX = 9999;
6
- const SCREEN_PADDING = 8;
7
- function parsePlacement(placement) {
8
- if (placement === 'auto' || placement === 'auto-start' || placement === 'auto-end') {
9
- return 'auto';
10
- }
11
- const segments = placement.split('-');
12
- const side = segments[0];
13
- if (segments.length === 1) {
14
- return {
15
- side,
16
- align: 'center'
17
- };
18
- }
19
- return {
20
- side,
21
- align: segments[1]
22
- };
23
- }
24
- function resolveAutoPlacement(anchor, viewport, alignPreference) {
25
- const spaceTop = anchor.y - SCREEN_PADDING;
26
- const spaceBottom = viewport.height - anchor.y - anchor.height - SCREEN_PADDING;
27
- const spaceLeft = anchor.x - SCREEN_PADDING;
28
- const spaceRight = viewport.width - anchor.x - anchor.width - SCREEN_PADDING;
29
- const spaces = [{
30
- side: 'top',
31
- value: spaceTop
32
- }, {
33
- side: 'bottom',
34
- value: spaceBottom
35
- }, {
36
- side: 'left',
37
- value: spaceLeft
38
- }, {
39
- side: 'right',
40
- value: spaceRight
41
- }];
42
- const best = spaces.reduce((current, next) => next.value > current.value ? next : current);
43
- return {
44
- side: best.side,
45
- align: alignPreference
46
- };
47
- }
48
- function getAlignOffset(anchor, align, axis) {
49
- if (align === 'start') {
50
- return axis === 'horizontal' ? anchor.x : anchor.y;
51
- }
52
- if (align === 'end') {
53
- return axis === 'horizontal' ? anchor.x + anchor.width : anchor.y + anchor.height;
54
- }
55
- return axis === 'horizontal' ? anchor.x + anchor.width / 2 : anchor.y + anchor.height / 2;
56
- }
57
- export function getTooltipAnchorStyle(anchor, placement, offset, viewport) {
58
- const parsed = parsePlacement(placement);
59
- const resolved = parsed === 'auto' ? resolveAutoPlacement(anchor, viewport, placement === 'auto-start' ? 'start' : placement === 'auto-end' ? 'end' : 'center') : parsed;
60
- const position = Platform.OS === 'web' ? 'fixed' : 'absolute';
61
- const style = {
62
- position,
63
- zIndex: TOOLTIP_Z_INDEX
64
- };
65
- const {
66
- side,
67
- align
68
- } = resolved;
7
+ function getCompatibilityTransform({
8
+ side,
9
+ align
10
+ }) {
69
11
  if (side === 'top') {
70
- style.top = anchor.y - offset;
71
- style.left = getAlignOffset(anchor, align, 'horizontal');
72
- style.transform = align === 'center' ? [{
12
+ return align === 'center' ? [{
73
13
  translateX: '-50%'
74
14
  }, {
75
15
  translateY: '-100%'
@@ -80,18 +20,16 @@ export function getTooltipAnchorStyle(anchor, placement, offset, viewport) {
80
20
  }] : [{
81
21
  translateY: '-100%'
82
22
  }];
83
- } else if (side === 'bottom') {
84
- style.top = anchor.y + anchor.height + offset;
85
- style.left = getAlignOffset(anchor, align, 'horizontal');
86
- style.transform = align === 'center' ? [{
23
+ }
24
+ if (side === 'bottom') {
25
+ return align === 'center' ? [{
87
26
  translateX: '-50%'
88
27
  }] : align === 'end' ? [{
89
28
  translateX: '-100%'
90
29
  }] : undefined;
91
- } else if (side === 'left') {
92
- style.left = anchor.x - offset;
93
- style.top = getAlignOffset(anchor, align, 'vertical');
94
- style.transform = align === 'center' ? [{
30
+ }
31
+ if (side === 'left') {
32
+ return align === 'center' ? [{
95
33
  translateX: '-100%'
96
34
  }, {
97
35
  translateY: '-50%'
@@ -102,17 +40,32 @@ export function getTooltipAnchorStyle(anchor, placement, offset, viewport) {
102
40
  }] : [{
103
41
  translateX: '-100%'
104
42
  }];
105
- } else {
106
- style.left = anchor.x + anchor.width + offset;
107
- style.top = getAlignOffset(anchor, align, 'vertical');
108
- style.transform = align === 'center' ? [{
109
- translateY: '-50%'
110
- }] : align === 'end' ? [{
111
- translateY: '-100%'
112
- }] : undefined;
113
43
  }
44
+ return align === 'center' ? [{
45
+ translateY: '-50%'
46
+ }] : align === 'end' ? [{
47
+ translateY: '-100%'
48
+ }] : undefined;
49
+ }
50
+ export function getTooltipAnchorStyle(anchor, placement, offset, viewport) {
51
+ const result = getAnchoredOverlayPosition(anchor, {
52
+ width: 0,
53
+ height: 0
54
+ }, viewport, {
55
+ placement,
56
+ offset,
57
+ collisionBehavior: 'none'
58
+ });
59
+ const resolved = result.resolvedPlacement;
60
+ const position = Platform.OS === 'web' ? 'fixed' : 'absolute';
114
61
  return {
115
- style,
62
+ style: {
63
+ position,
64
+ left: result.style.left,
65
+ top: result.style.top,
66
+ zIndex: TOOLTIP_Z_INDEX,
67
+ transform: getCompatibilityTransform(resolved)
68
+ },
116
69
  resolved
117
70
  };
118
71
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","TOOLTIP_PLACEMENTS","TOOLTIP_Z_INDEX","SCREEN_PADDING","parsePlacement","placement","segments","split","side","length","align","resolveAutoPlacement","anchor","viewport","alignPreference","spaceTop","y","spaceBottom","height","spaceLeft","x","spaceRight","width","spaces","value","best","reduce","current","next","getAlignOffset","axis","getTooltipAnchorStyle","offset","parsed","resolved","position","OS","style","zIndex","top","left","transform","translateX","translateY","undefined"],"sourceRoot":"../../../src","sources":["tooltip/getTooltipPosition.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","getAnchoredOverlayPosition","OVERLAY_PLACEMENTS","TOOLTIP_PLACEMENTS","TOOLTIP_Z_INDEX","getCompatibilityTransform","side","align","translateX","translateY","undefined","getTooltipAnchorStyle","anchor","placement","offset","viewport","result","width","height","collisionBehavior","resolved","resolvedPlacement","position","OS","style","left","top","zIndex","transform"],"sourceRoot":"../../../src","sources":["tooltip/getTooltipPosition.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAwB,cAAc;AAEvD,SACEC,0BAA0B,EAC1BC,kBAAkB,QAKb,uCAAuC;AAE9C,OAAO,MAAMC,kBAAkB,GAAGD,kBAAkB;AAQpD,OAAO,MAAME,eAAe,GAAG,IAAI;AAEnC,SAASC,yBAAyBA,CAAC;EACjCC,IAAI;EACJC;AACwB,CAAC,EAA0B;EACnD,IAAID,IAAI,KAAK,KAAK,EAAE;IAClB,OAAOC,KAAK,KAAK,QAAQ,GACpB,CAAC;MAAEC,UAAU,EAAE;IAAO,CAAC,EAAE;MAAEC,UAAU,EAAE;IAAQ,CAAC,CAAC,GAClDF,KAAK,KAAK,KAAK,GACZ,CAAC;MAAEC,UAAU,EAAE;IAAQ,CAAC,EAAE;MAAEC,UAAU,EAAE;IAAQ,CAAC,CAAC,GAClD,CAAC;MAAEA,UAAU,EAAE;IAAQ,CAAC,CAA4B;EAC7D;EAEA,IAAIH,IAAI,KAAK,QAAQ,EAAE;IACrB,OAAOC,KAAK,KAAK,QAAQ,GACpB,CAAC;MAAEC,UAAU,EAAE;IAAO,CAAC,CAAC,GACzBD,KAAK,KAAK,KAAK,GACZ,CAAC;MAAEC,UAAU,EAAE;IAAQ,CAAC,CAAC,GAC1BE,SAAS;EACjB;EAEA,IAAIJ,IAAI,KAAK,MAAM,EAAE;IACnB,OAAOC,KAAK,KAAK,QAAQ,GACpB,CAAC;MAAEC,UAAU,EAAE;IAAQ,CAAC,EAAE;MAAEC,UAAU,EAAE;IAAO,CAAC,CAAC,GAClDF,KAAK,KAAK,KAAK,GACZ,CAAC;MAAEC,UAAU,EAAE;IAAQ,CAAC,EAAE;MAAEC,UAAU,EAAE;IAAQ,CAAC,CAAC,GAClD,CAAC;MAAED,UAAU,EAAE;IAAQ,CAAC,CAA4B;EAC7D;EAEA,OAAOD,KAAK,KAAK,QAAQ,GACpB,CAAC;IAAEE,UAAU,EAAE;EAAO,CAAC,CAAC,GACzBF,KAAK,KAAK,KAAK,GACZ,CAAC;IAAEE,UAAU,EAAE;EAAQ,CAAC,CAAC,GAC1BC,SAAS;AACjB;AAEA,OAAO,SAASC,qBAAqBA,CACnCC,MAAoB,EACpBC,SAA2B,EAC3BC,MAAc,EACdC,QAA2C,EACe;EAC1D,MAAMC,MAAM,GAAGf,0BAA0B,CAACW,MAAM,EAAE;IAAEK,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE;EAAE,CAAC,EAAEH,QAAQ,EAAE;IACnFF,SAAS;IACTC,MAAM;IACNK,iBAAiB,EAAE;EACrB,CAAC,CAAC;EACF,MAAMC,QAAQ,GAAGJ,MAAM,CAACK,iBAAiB;EACzC,MAAMC,QAAQ,GAAItB,QAAQ,CAACuB,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,UAAoC;EACxF,OAAO;IACLC,KAAK,EAAE;MACLF,QAAQ;MACRG,IAAI,EAAET,MAAM,CAACQ,KAAK,CAACC,IAAI;MACvBC,GAAG,EAAEV,MAAM,CAACQ,KAAK,CAACE,GAAG;MACrBC,MAAM,EAAEvB,eAAe;MACvBwB,SAAS,EAAEvB,yBAAyB,CAACe,QAAQ;IAC/C,CAAC;IACDA;EACF,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,IAAI,EAAkB,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;CAAG;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,qGAsDzB,CAAC"}
1
+ {"version":3,"file":"DialogContent.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogContent.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,IAAI,EAAkB,MAAM,cAAc,CAAC;AAM3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;CAAG;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,qGAkEzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogPopup.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,IAAI,EAEL,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,mGAuHvB,CAAC"}
1
+ {"version":3,"file":"DialogPopup.d.ts","sourceRoot":"","sources":["../../../src/dialog/DialogPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,IAAI,EAEL,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,WAAW,mGA2HvB,CAAC"}
@@ -21,7 +21,8 @@ export * from './date-time-list';
21
21
  export * from './date-time-picker';
22
22
  export * from './link';
23
23
  export * from './list-item';
24
- export { MODAL_OVERLAY_Z_INDEX, type EdgeInsets, OverlayContainer, OverlayInsetsProvider, useAnchorPosition, useDismissOverlay, useEscapeKey, useOverlayPosition, type AnchorLayout, type OverlayPosition, } from './overlay';
24
+ export * from './menu';
25
+ export { MODAL_OVERLAY_Z_INDEX, NOTIFICATION_OVERLAY_Z_INDEX, OVERLAY_PLACEMENTS, type EdgeInsets, getAnchoredOverlayPosition, OverlayContainer, OverlayInsetsProvider, OverlayStackProvider, useAnchorPosition, useAnchoredOverlay, useDismissOverlay, useEscapeKey, useOverlayStackRegistration, useOverlayPosition, type AnchorLayout, type AnchoredOverlayPosition, type AnchoredOverlayPositionOptions, type FloatingLayout, type OverlayAlign, type OverlayCollisionBehavior, type OverlayPlacement, type OverlayPosition, type OverlaySide, type OverlayStackCapability, type OverlayStackLayer, type OverlayStackMetadata, type OverlayStackRegistrationOptions, type OverlayStackRegistrationResult, type OverlayWidthPolicy, type ResolvedOverlayPlacement, type UseAnchoredOverlayOptions, type UseAnchoredOverlayResult, } from './overlay';
25
26
  export * from './select';
26
27
  export * from './switch';
27
28
  export * from './tabs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,KAAK,UAAU,EACf,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AACnB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,UAAU,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,2BAA2B,EAC3B,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,GAC9B,MAAM,WAAW,CAAC;AACnB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IMenuCheckboxItemProps } from './types';
2
+ export interface MenuCheckboxItemProps extends IMenuCheckboxItemProps {
3
+ asChild?: boolean;
4
+ }
5
+ export declare const MenuCheckboxItem: import("react").ForwardRefExoticComponent<MenuCheckboxItemProps & import("react").RefAttributes<import("react-native").View>>;
6
+ //# sourceMappingURL=MenuCheckboxItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuCheckboxItem.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuCheckboxItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,+HAsC5B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { IMenuItemProps } from './types';
3
+ export interface MenuItemProps extends Omit<IMenuItemProps, 'children'> {
4
+ asChild?: boolean;
5
+ children?: ReactNode;
6
+ }
7
+ export declare const MenuItem: import("react").ForwardRefExoticComponent<MenuItemProps & import("react").RefAttributes<import("react-native").View>>;
8
+ //# sourceMappingURL=MenuItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,QAAQ,uHA0KpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { View } from 'react-native';
2
+ import type { IMenuOverlayRootProps } from './types';
3
+ export interface MenuOverlayRootProps extends IMenuOverlayRootProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ export declare const MenuOverlayRoot: import("react").ForwardRefExoticComponent<MenuOverlayRootProps & import("react").RefAttributes<View>>;
8
+ //# sourceMappingURL=MenuOverlayRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuOverlayRoot.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuOverlayRoot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAKpC,OAAO,KAAK,EAAE,qBAAqB,EAAmB,MAAM,SAAS,CAAC;AAEtE,MAAM,WAAW,oBAAqB,SAAQ,qBAAqB;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,uGAoF3B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { View } from 'react-native';
2
+ import type { IMenuPopupProps } from './types';
3
+ export interface MenuPopupProps extends IMenuPopupProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ export declare const MenuPopup: import("react").ForwardRefExoticComponent<MenuPopupProps & import("react").RefAttributes<View>>;
8
+ //# sourceMappingURL=MenuPopup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuPopup.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuPopup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAOpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,iGA8DrB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { View } from 'react-native';
2
+ import type { IMenuRadioGroupProps } from './types';
3
+ export interface MenuRadioGroupProps extends IMenuRadioGroupProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ export declare const MenuRadioGroup: import("react").ForwardRefExoticComponent<MenuRadioGroupProps & import("react").RefAttributes<View>>;
8
+ //# sourceMappingURL=MenuRadioGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuRadioGroup.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuRadioGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,sGAiC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { IMenuRadioItemProps } from './types';
2
+ export interface MenuRadioItemProps extends IMenuRadioItemProps {
3
+ asChild?: boolean;
4
+ }
5
+ export declare const MenuRadioItem: import("react").ForwardRefExoticComponent<MenuRadioItemProps & import("react").RefAttributes<import("react-native").View>>;
6
+ //# sourceMappingURL=MenuRadioItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuRadioItem.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuRadioItem.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,4HAkBzB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { View } from 'react-native';
2
+ import type { IMenuProps } from './types';
3
+ export interface MenuRootProps extends IMenuProps {
4
+ asChild?: boolean;
5
+ className?: string;
6
+ }
7
+ export declare const MenuRoot: import("react").ForwardRefExoticComponent<MenuRootProps & import("react").RefAttributes<View>>;
8
+ //# sourceMappingURL=MenuRoot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuRoot.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuRoot.tsx"],"names":[],"mappings":"AASA,OAAO,EAAY,IAAI,EAAE,MAAM,cAAc,CAAC;AAM9C,OAAO,KAAK,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AA8B9D,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,gGAyIpB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type ReactNode } from 'react';
2
+ import type { IMenuTriggerProps } from './types';
3
+ export interface MenuTriggerProps extends Omit<IMenuTriggerProps, 'children'> {
4
+ children?: ReactNode;
5
+ }
6
+ export declare const MenuTrigger: import("react").ForwardRefExoticComponent<MenuTriggerProps & import("react").RefAttributes<import("react-native").View>>;
7
+ //# sourceMappingURL=MenuTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuTrigger.d.ts","sourceRoot":"","sources":["../../../src/menu/MenuTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,0HA2CvB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { MenuContextValue, MenuItemInteractionState } from './types';
2
+ export declare const MenuProvider: import("react").FunctionComponent<{
3
+ children: import("react").ReactNode;
4
+ value: MenuContextValue;
5
+ }>, useMenuContext: () => MenuContextValue;
6
+ export declare const MenuItemProvider: import("react").Provider<MenuItemInteractionState | null>;
7
+ export declare function useMenuItemContext(): MenuItemInteractionState;
8
+ export declare function useOptionalMenuItemContext(): MenuItemInteractionState | null;
9
+ export interface MenuRadioGroupContextValue {
10
+ value: string | undefined;
11
+ setValue: (value: string) => void;
12
+ }
13
+ export declare const MenuRadioGroupProvider: import("react").Provider<MenuRadioGroupContextValue | null>;
14
+ export declare function useMenuRadioGroupContext(): MenuRadioGroupContextValue;
15
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/menu/context.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAE1E,eAAO,MAAO,YAAY;;;IAAE,cAAc,wBAAkD,CAAC;AAI7F,eAAO,MAAM,gBAAgB,2DAA2B,CAAC;AAEzD,wBAAgB,kBAAkB,IAAI,wBAAwB,CAM7D;AAED,wBAAgB,0BAA0B,IAAI,wBAAwB,GAAG,IAAI,CAE5E;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAID,eAAO,MAAM,sBAAsB,6DAAiC,CAAC;AAErE,wBAAgB,wBAAwB,IAAI,0BAA0B,CAMrE"}
@@ -0,0 +1,12 @@
1
+ export type { IMenuCheckboxItemProps, IMenuItemProps, IMenuOverlayRootProps, IMenuPopupProps, IMenuProps, IMenuRadioGroupProps, IMenuRadioItemProps, IMenuTriggerProps, MenuCloseReason, MenuContextValue, MenuItemInteractionState, RegisteredMenuItem, } from './types';
2
+ export { useMenuContext, useMenuItemContext, useMenuRadioGroupContext, useOptionalMenuItemContext, } from './context';
3
+ export { MenuPopupProvider, useMenuOverlayContext, useOptionalMenuPopupContext, useOptionalMenuOverlayContext, MenuOverlayProvider, } from './overlayContext';
4
+ export { MenuOverlayRoot, type MenuOverlayRootProps } from './MenuOverlayRoot';
5
+ export { MenuTrigger, type MenuTriggerProps } from './MenuTrigger';
6
+ export { MenuPopup, type MenuPopupProps } from './MenuPopup';
7
+ export { MenuRoot, type MenuRootProps } from './MenuRoot';
8
+ export { MenuItem, type MenuItemProps } from './MenuItem';
9
+ export { MenuCheckboxItem, type MenuCheckboxItemProps } from './MenuCheckboxItem';
10
+ export { MenuRadioGroup, type MenuRadioGroupProps } from './MenuRadioGroup';
11
+ export { MenuRadioItem, type MenuRadioItemProps } from './MenuRadioItem';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/menu/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { type MutableRefObject, type RefObject } from 'react';
2
+ import type { View } from 'react-native';
3
+ import type { OverlayPlacement } from '../overlay';
4
+ import type { MenuCloseReason } from './types';
5
+ /** Where to place focus when an overlay menu opens. */
6
+ export type MenuFocusOnOpen = 'first' | 'last' | 'menu';
7
+ export interface MenuOverlayContextValue {
8
+ open: boolean;
9
+ setOpen: (open: boolean) => void;
10
+ closeMenu: (reason?: MenuCloseReason) => void;
11
+ disabled: boolean;
12
+ placement: OverlayPlacement;
13
+ offset: number;
14
+ crossOffset: number;
15
+ triggerRef: RefObject<View | null>;
16
+ triggerId: string;
17
+ menuId: string;
18
+ contentRef: RefObject<View | null>;
19
+ /**
20
+ * Set by the trigger immediately before `setOpen(true)`.
21
+ * `'menu'` keeps pointer-opened menus from highlighting the first item.
22
+ */
23
+ focusOnOpenRef: MutableRefObject<MenuFocusOnOpen>;
24
+ closeReasonRef: MutableRefObject<MenuCloseReason>;
25
+ }
26
+ export declare const MenuOverlayProvider: import("react").Provider<MenuOverlayContextValue | null>;
27
+ export declare function useMenuOverlayContext(): MenuOverlayContextValue;
28
+ export declare function useOptionalMenuOverlayContext(): MenuOverlayContextValue | null;
29
+ export interface MenuPopupContextValue {
30
+ availableHeight: number | undefined;
31
+ availableWidth: number | undefined;
32
+ }
33
+ export declare const MenuPopupProvider: import("react").Provider<MenuPopupContextValue | null>;
34
+ export declare function useOptionalMenuPopupContext(): MenuPopupContextValue | null;
35
+ //# sourceMappingURL=overlayContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlayContext.d.ts","sourceRoot":"","sources":["../../../src/menu/overlayContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACnC;;;OAGG;IACH,cAAc,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IAClD,cAAc,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;CACnD;AAID,eAAO,MAAM,mBAAmB,0DAA8B,CAAC;AAE/D,wBAAgB,qBAAqB,IAAI,uBAAuB,CAM/D;AAED,wBAAgB,6BAA6B,IAAI,uBAAuB,GAAG,IAAI,CAE9E;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAID,eAAO,MAAM,iBAAiB,wDAA4B,CAAC;AAE3D,wBAAgB,2BAA2B,IAAI,qBAAqB,GAAG,IAAI,CAE1E"}