lecom-ui 5.4.35 → 5.4.36

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 (339) hide show
  1. package/dist/_virtual/_commonjsHelpers.js +5 -0
  2. package/dist/_virtual/index.js +7 -0
  3. package/dist/components/Collapse/Collapse.js +128 -0
  4. package/dist/components/CustomIcon/Icons/CadastroFacil.js +23 -0
  5. package/dist/components/CustomIcon/Icons/LogoLecom.js +30 -0
  6. package/dist/components/CustomIcon/Icons/LogoLecomBrand.js +23 -0
  7. package/dist/components/CustomIcon/Icons/ModoTeste.js +23 -0
  8. package/dist/components/CustomIcon/Icons/Rpa.js +23 -0
  9. package/dist/components/CustomIcon/Icons/SairModoTeste.js +31 -0
  10. package/dist/components/MaskedInput/MaskedInput.js +41 -0
  11. package/dist/components/MaskedInput/presets.js +64 -0
  12. package/dist/components/Table/Table.js +80 -0
  13. package/dist/hooks/use-mobile.js +20 -0
  14. package/dist/index.d.ts +116 -10
  15. package/dist/index.js +2 -0
  16. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +806 -0
  17. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +726 -0
  18. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +347 -0
  19. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +154 -0
  20. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +136 -0
  21. package/dist/node_modules/@radix-ui/number/dist/index.js +6 -0
  22. package/dist/node_modules/@radix-ui/primitive/dist/index.js +11 -0
  23. package/dist/node_modules/@radix-ui/react-accordion/dist/index.js +303 -0
  24. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-collapsible/dist/index.js +144 -0
  25. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-collection/dist/index.js +68 -0
  26. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  27. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  28. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  29. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  30. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  31. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  32. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  33. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  34. package/dist/node_modules/@radix-ui/react-accordion/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  35. package/dist/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  36. package/dist/node_modules/@radix-ui/react-checkbox/dist/index.js +157 -0
  37. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  38. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  39. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  40. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  41. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  42. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  43. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  44. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-previous/dist/index.js +15 -0
  45. package/dist/node_modules/@radix-ui/react-checkbox/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  46. package/dist/node_modules/@radix-ui/react-collapsible/dist/index.js +144 -0
  47. package/dist/node_modules/@radix-ui/react-collection/dist/index.js +68 -0
  48. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  49. package/dist/node_modules/@radix-ui/react-context/dist/index.js +79 -0
  50. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +319 -0
  51. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  52. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-context/dist/index.js +79 -0
  53. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +211 -0
  54. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-focus-guards/dist/index.js +29 -0
  55. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-focus-scope/dist/index.js +207 -0
  56. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  57. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  58. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  59. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive/dist/index.js +41 -0
  60. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  61. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  62. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  63. package/dist/node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  64. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/Combination.js +9 -0
  65. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +160 -0
  66. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/UI.js +38 -0
  67. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +21 -0
  68. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +109 -0
  69. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/medium.js +5 -0
  70. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll/dist/es2015/sidecar.js +7 -0
  71. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll-bar/dist/es2015/component.js +56 -0
  72. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +10 -0
  73. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +31 -0
  74. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-style-singleton/dist/es2015/component.js +19 -0
  75. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-style-singleton/dist/es2015/hook.js +25 -0
  76. package/dist/node_modules/@radix-ui/react-dialog/node_modules/react-style-singleton/dist/es2015/singleton.js +51 -0
  77. package/dist/node_modules/@radix-ui/react-dialog/node_modules/use-callback-ref/dist/es2015/assignRef.js +24 -0
  78. package/dist/node_modules/@radix-ui/react-dialog/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +48 -0
  79. package/dist/node_modules/@radix-ui/react-dialog/node_modules/use-callback-ref/dist/es2015/useRef.js +42 -0
  80. package/dist/node_modules/@radix-ui/react-dialog/node_modules/use-sidecar/dist/es2015/exports.js +21 -0
  81. package/dist/node_modules/@radix-ui/react-dialog/node_modules/use-sidecar/dist/es2015/medium.js +77 -0
  82. package/dist/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  83. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +211 -0
  84. package/dist/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +265 -0
  85. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +347 -0
  86. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  87. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-collection/dist/index.js +68 -0
  88. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  89. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  90. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  91. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +211 -0
  92. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-focus-guards/dist/index.js +29 -0
  93. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-focus-scope/dist/index.js +207 -0
  94. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  95. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-menu/dist/index.js +831 -0
  96. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-popper/dist/index.js +278 -0
  97. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  98. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  99. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-primitive/dist/index.js +41 -0
  100. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-roving-focus/dist/index.js +220 -0
  101. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  102. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  103. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  104. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  105. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  106. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/Combination.js +9 -0
  107. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +160 -0
  108. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/UI.js +38 -0
  109. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +21 -0
  110. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +109 -0
  111. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/medium.js +5 -0
  112. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll/dist/es2015/sidecar.js +7 -0
  113. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll-bar/dist/es2015/component.js +56 -0
  114. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +10 -0
  115. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +31 -0
  116. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-style-singleton/dist/es2015/component.js +19 -0
  117. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-style-singleton/dist/es2015/hook.js +25 -0
  118. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/react-style-singleton/dist/es2015/singleton.js +51 -0
  119. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/use-callback-ref/dist/es2015/assignRef.js +24 -0
  120. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +48 -0
  121. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/use-callback-ref/dist/es2015/useRef.js +42 -0
  122. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/use-sidecar/dist/es2015/exports.js +21 -0
  123. package/dist/node_modules/@radix-ui/react-dropdown-menu/node_modules/use-sidecar/dist/es2015/medium.js +77 -0
  124. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +29 -0
  125. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +207 -0
  126. package/dist/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  127. package/dist/node_modules/@radix-ui/react-menu/dist/index.js +831 -0
  128. package/dist/node_modules/@radix-ui/react-popover/dist/index.js +296 -0
  129. package/dist/node_modules/@radix-ui/react-popover/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +347 -0
  130. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  131. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  132. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  133. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +211 -0
  134. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-guards/dist/index.js +29 -0
  135. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-focus-scope/dist/index.js +207 -0
  136. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  137. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-popper/dist/index.js +278 -0
  138. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  139. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  140. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-primitive/dist/index.js +41 -0
  141. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  142. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  143. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  144. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  145. package/dist/node_modules/@radix-ui/react-popover/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  146. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/Combination.js +9 -0
  147. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +160 -0
  148. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/UI.js +38 -0
  149. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +21 -0
  150. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +109 -0
  151. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/medium.js +5 -0
  152. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll/dist/es2015/sidecar.js +7 -0
  153. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll-bar/dist/es2015/component.js +56 -0
  154. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +10 -0
  155. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +31 -0
  156. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-style-singleton/dist/es2015/component.js +19 -0
  157. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-style-singleton/dist/es2015/hook.js +25 -0
  158. package/dist/node_modules/@radix-ui/react-popover/node_modules/react-style-singleton/dist/es2015/singleton.js +51 -0
  159. package/dist/node_modules/@radix-ui/react-popover/node_modules/use-callback-ref/dist/es2015/assignRef.js +24 -0
  160. package/dist/node_modules/@radix-ui/react-popover/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +48 -0
  161. package/dist/node_modules/@radix-ui/react-popover/node_modules/use-callback-ref/dist/es2015/useRef.js +42 -0
  162. package/dist/node_modules/@radix-ui/react-popover/node_modules/use-sidecar/dist/es2015/exports.js +21 -0
  163. package/dist/node_modules/@radix-ui/react-popover/node_modules/use-sidecar/dist/es2015/medium.js +77 -0
  164. package/dist/node_modules/@radix-ui/react-popper/dist/index.js +278 -0
  165. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  166. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  167. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +41 -0
  168. package/dist/node_modules/@radix-ui/react-radio-group/dist/index.js +267 -0
  169. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-collection/dist/index.js +68 -0
  170. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  171. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  172. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  173. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  174. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  175. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  176. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-roving-focus/dist/index.js +220 -0
  177. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  178. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  179. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  180. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-previous/dist/index.js +15 -0
  181. package/dist/node_modules/@radix-ui/react-radio-group/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  182. package/dist/node_modules/@radix-ui/react-roving-focus/dist/index.js +220 -0
  183. package/dist/node_modules/@radix-ui/react-scroll-area/dist/index.js +718 -0
  184. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  185. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  186. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  187. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  188. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  189. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  190. package/dist/node_modules/@radix-ui/react-scroll-area/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  191. package/dist/node_modules/@radix-ui/react-select/dist/index.js +1143 -0
  192. package/dist/node_modules/@radix-ui/react-select/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +347 -0
  193. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  194. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-collection/dist/index.js +68 -0
  195. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  196. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  197. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-direction/dist/index.js +11 -0
  198. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +211 -0
  199. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-focus-guards/dist/index.js +29 -0
  200. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-focus-scope/dist/index.js +207 -0
  201. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  202. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-popper/dist/index.js +278 -0
  203. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  204. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-primitive/dist/index.js +41 -0
  205. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  206. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  207. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  208. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  209. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-previous/dist/index.js +15 -0
  210. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  211. package/dist/node_modules/@radix-ui/react-select/node_modules/@radix-ui/react-visually-hidden/dist/index.js +34 -0
  212. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/Combination.js +9 -0
  213. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +160 -0
  214. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/UI.js +38 -0
  215. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +21 -0
  216. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +109 -0
  217. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/medium.js +5 -0
  218. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll/dist/es2015/sidecar.js +7 -0
  219. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll-bar/dist/es2015/component.js +56 -0
  220. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +10 -0
  221. package/dist/node_modules/@radix-ui/react-select/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +31 -0
  222. package/dist/node_modules/@radix-ui/react-select/node_modules/react-style-singleton/dist/es2015/component.js +19 -0
  223. package/dist/node_modules/@radix-ui/react-select/node_modules/react-style-singleton/dist/es2015/hook.js +25 -0
  224. package/dist/node_modules/@radix-ui/react-select/node_modules/react-style-singleton/dist/es2015/singleton.js +51 -0
  225. package/dist/node_modules/@radix-ui/react-select/node_modules/use-callback-ref/dist/es2015/assignRef.js +24 -0
  226. package/dist/node_modules/@radix-ui/react-select/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +48 -0
  227. package/dist/node_modules/@radix-ui/react-select/node_modules/use-callback-ref/dist/es2015/useRef.js +42 -0
  228. package/dist/node_modules/@radix-ui/react-select/node_modules/use-sidecar/dist/es2015/exports.js +21 -0
  229. package/dist/node_modules/@radix-ui/react-select/node_modules/use-sidecar/dist/es2015/medium.js +77 -0
  230. package/dist/node_modules/@radix-ui/react-separator/dist/index.js +30 -0
  231. package/dist/node_modules/@radix-ui/react-separator/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  232. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +81 -0
  233. package/dist/node_modules/@radix-ui/react-slot/node_modules/@radix-ui/react-compose-refs/dist/index.js +36 -0
  234. package/dist/node_modules/@radix-ui/react-switch/dist/index.js +137 -0
  235. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  236. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  237. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-primitive/dist/index.js +38 -0
  238. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  239. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  240. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  241. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-use-previous/dist/index.js +15 -0
  242. package/dist/node_modules/@radix-ui/react-switch/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  243. package/dist/node_modules/@radix-ui/react-tooltip/dist/index.js +484 -0
  244. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +347 -0
  245. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-arrow/dist/index.js +25 -0
  246. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-compose-refs/dist/index.js +39 -0
  247. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context/dist/index.js +63 -0
  248. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +211 -0
  249. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  250. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-popper/dist/index.js +278 -0
  251. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal/dist/index.js +17 -0
  252. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  253. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-primitive/dist/index.js +41 -0
  254. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  255. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  256. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  257. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  258. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  259. package/dist/node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-visually-hidden/dist/index.js +35 -0
  260. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  261. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +46 -0
  262. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  263. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  264. package/dist/node_modules/@radix-ui/react-use-previous/dist/index.js +15 -0
  265. package/dist/node_modules/@radix-ui/react-use-size/dist/index.js +40 -0
  266. package/dist/node_modules/@radix-ui/react-visually-hidden/dist/index.js +35 -0
  267. package/dist/node_modules/@tanstack/react-table/build/lib/index.js +74 -0
  268. package/dist/node_modules/@tanstack/table-core/build/lib/index.js +3023 -0
  269. package/dist/node_modules/aria-hidden/dist/es2015/index.js +136 -0
  270. package/dist/node_modules/class-variance-authority/dist/index.js +44 -0
  271. package/dist/node_modules/clsx/dist/clsx.js +3 -0
  272. package/dist/node_modules/get-nonce/dist/es2015/index.js +8 -0
  273. package/dist/node_modules/hex-color-opacity/lib/index.js +22 -0
  274. package/dist/node_modules/i18next/dist/esm/i18next.js +2228 -0
  275. package/dist/node_modules/lucide-react/dist/esm/Icon.js +44 -0
  276. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +26 -0
  277. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +20 -0
  278. package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.js +18 -0
  279. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +13 -0
  280. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +15 -0
  281. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-first.js +16 -0
  282. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-last.js +16 -0
  283. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js +15 -0
  284. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +15 -0
  285. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +13 -0
  286. package/dist/node_modules/lucide-react/dist/esm/icons/circle-alert.js +17 -0
  287. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.js +16 -0
  288. package/dist/node_modules/lucide-react/dist/esm/icons/circle-help.js +17 -0
  289. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +15 -0
  290. package/dist/node_modules/lucide-react/dist/esm/icons/ellipsis.js +17 -0
  291. package/dist/node_modules/lucide-react/dist/esm/icons/info.js +17 -0
  292. package/dist/node_modules/lucide-react/dist/esm/icons/menu.js +17 -0
  293. package/dist/node_modules/lucide-react/dist/esm/icons/message-square.js +15 -0
  294. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js +13 -0
  295. package/dist/node_modules/lucide-react/dist/esm/icons/panel-left.js +16 -0
  296. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.js +23 -0
  297. package/dist/node_modules/lucide-react/dist/esm/icons/user.js +16 -0
  298. package/dist/node_modules/lucide-react/dist/esm/icons/x.js +16 -0
  299. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +13 -0
  300. package/dist/node_modules/react-i18next/dist/es/Translation.js +15 -0
  301. package/dist/node_modules/react-i18next/dist/es/context.js +18 -0
  302. package/dist/node_modules/react-i18next/dist/es/defaults.js +21 -0
  303. package/dist/node_modules/react-i18next/dist/es/i18nInstance.js +7 -0
  304. package/dist/node_modules/react-i18next/dist/es/initReactI18next.js +12 -0
  305. package/dist/node_modules/react-i18next/dist/es/unescape.js +27 -0
  306. package/dist/node_modules/react-i18next/dist/es/useTranslation.js +112 -0
  307. package/dist/node_modules/react-i18next/dist/es/utils.js +63 -0
  308. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +9 -0
  309. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +160 -0
  310. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +38 -0
  311. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +21 -0
  312. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +109 -0
  313. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +5 -0
  314. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +7 -0
  315. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +56 -0
  316. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +10 -0
  317. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +31 -0
  318. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +19 -0
  319. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +25 -0
  320. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +51 -0
  321. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2493 -0
  322. package/dist/node_modules/tslib/tslib.es6.js +56 -0
  323. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +24 -0
  324. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +48 -0
  325. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +42 -0
  326. package/dist/node_modules/use-color-luminance/index.es.js +105 -0
  327. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +21 -0
  328. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +77 -0
  329. package/dist/plugin/extend.ts +78 -0
  330. package/dist/plugin/fontFaces.ts +172 -0
  331. package/dist/plugin/general.ts +12 -0
  332. package/dist/plugin/plugin.cjs +7 -0
  333. package/dist/plugin/pluginNext.cjs +5 -5
  334. package/dist/plugin/pluginVite.cjs +5 -5
  335. package/dist/plugin/template.ts +31 -0
  336. package/dist/plugin/typographies.ts +152 -0
  337. package/dist/plugin/varsTheme.ts +79 -0
  338. package/dist/style.min.css +1 -1
  339. package/package.json +1 -1
@@ -0,0 +1,831 @@
1
+ import * as React from 'react';
2
+ import { composeEventHandlers } from '../../primitive/dist/index.js';
3
+ import { createCollection } from '../../react-collection/dist/index.js';
4
+ import { composeRefs, useComposedRefs } from '../../react-compose-refs/dist/index.js';
5
+ import { createContextScope } from '../../react-context/dist/index.js';
6
+ import { useDirection } from '../../react-direction/dist/index.js';
7
+ import { DismissableLayer } from '../../react-dismissable-layer/dist/index.js';
8
+ import { useFocusGuards } from '../../react-focus-guards/dist/index.js';
9
+ import { FocusScope } from '../../react-focus-scope/dist/index.js';
10
+ import { useId } from '../../react-id/dist/index.js';
11
+ import { createPopperScope, Anchor, Content, Root as Root2, Arrow } from '../../react-popper/dist/index.js';
12
+ import { Portal as Portal$1 } from '../../react-portal/dist/index.js';
13
+ import { Presence } from '../../react-presence/dist/index.js';
14
+ import { Primitive, dispatchDiscreteCustomEvent } from '../../react-primitive/dist/index.js';
15
+ import { createRovingFocusGroupScope, Item, Root } from '../../react-roving-focus/dist/index.js';
16
+ import { Slot } from '../../react-slot/dist/index.js';
17
+ import { useCallbackRef } from '../../react-use-callback-ref/dist/index.js';
18
+ import { hideOthers } from '../../../aria-hidden/dist/es2015/index.js';
19
+ import ReactRemoveScroll from '../../../react-remove-scroll/dist/es2015/Combination.js';
20
+ import { jsx } from 'react/jsx-runtime';
21
+
22
+ var SELECTION_KEYS = ["Enter", " "];
23
+ var FIRST_KEYS = ["ArrowDown", "PageUp", "Home"];
24
+ var LAST_KEYS = ["ArrowUp", "PageDown", "End"];
25
+ var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
26
+ var SUB_OPEN_KEYS = {
27
+ ltr: [...SELECTION_KEYS, "ArrowRight"],
28
+ rtl: [...SELECTION_KEYS, "ArrowLeft"]
29
+ };
30
+ var SUB_CLOSE_KEYS = {
31
+ ltr: ["ArrowLeft"],
32
+ rtl: ["ArrowRight"]
33
+ };
34
+ var MENU_NAME = "Menu";
35
+ var [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);
36
+ var [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [
37
+ createCollectionScope,
38
+ createPopperScope,
39
+ createRovingFocusGroupScope
40
+ ]);
41
+ var usePopperScope = createPopperScope();
42
+ var useRovingFocusGroupScope = createRovingFocusGroupScope();
43
+ var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
44
+ var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
45
+ var Menu = (props) => {
46
+ const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
47
+ const popperScope = usePopperScope(__scopeMenu);
48
+ const [content, setContent] = React.useState(null);
49
+ const isUsingKeyboardRef = React.useRef(false);
50
+ const handleOpenChange = useCallbackRef(onOpenChange);
51
+ const direction = useDirection(dir);
52
+ React.useEffect(() => {
53
+ const handleKeyDown = () => {
54
+ isUsingKeyboardRef.current = true;
55
+ document.addEventListener("pointerdown", handlePointer, { capture: true, once: true });
56
+ document.addEventListener("pointermove", handlePointer, { capture: true, once: true });
57
+ };
58
+ const handlePointer = () => isUsingKeyboardRef.current = false;
59
+ document.addEventListener("keydown", handleKeyDown, { capture: true });
60
+ return () => {
61
+ document.removeEventListener("keydown", handleKeyDown, { capture: true });
62
+ document.removeEventListener("pointerdown", handlePointer, { capture: true });
63
+ document.removeEventListener("pointermove", handlePointer, { capture: true });
64
+ };
65
+ }, []);
66
+ return /* @__PURE__ */ jsx(Root2, { ...popperScope, children: /* @__PURE__ */ jsx(
67
+ MenuProvider,
68
+ {
69
+ scope: __scopeMenu,
70
+ open,
71
+ onOpenChange: handleOpenChange,
72
+ content,
73
+ onContentChange: setContent,
74
+ children: /* @__PURE__ */ jsx(
75
+ MenuRootProvider,
76
+ {
77
+ scope: __scopeMenu,
78
+ onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),
79
+ isUsingKeyboardRef,
80
+ dir: direction,
81
+ modal,
82
+ children
83
+ }
84
+ )
85
+ }
86
+ ) });
87
+ };
88
+ Menu.displayName = MENU_NAME;
89
+ var ANCHOR_NAME = "MenuAnchor";
90
+ var MenuAnchor = React.forwardRef(
91
+ (props, forwardedRef) => {
92
+ const { __scopeMenu, ...anchorProps } = props;
93
+ const popperScope = usePopperScope(__scopeMenu);
94
+ return /* @__PURE__ */ jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
95
+ }
96
+ );
97
+ MenuAnchor.displayName = ANCHOR_NAME;
98
+ var PORTAL_NAME = "MenuPortal";
99
+ var [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {
100
+ forceMount: void 0
101
+ });
102
+ var MenuPortal = (props) => {
103
+ const { __scopeMenu, forceMount, children, container } = props;
104
+ const context = useMenuContext(PORTAL_NAME, __scopeMenu);
105
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children }) }) });
106
+ };
107
+ MenuPortal.displayName = PORTAL_NAME;
108
+ var CONTENT_NAME = "MenuContent";
109
+ var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);
110
+ var MenuContent = React.forwardRef(
111
+ (props, forwardedRef) => {
112
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
113
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
114
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
115
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
116
+ return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });
117
+ }
118
+ );
119
+ var MenuRootContentModal = React.forwardRef(
120
+ (props, forwardedRef) => {
121
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
122
+ const ref = React.useRef(null);
123
+ const composedRefs = useComposedRefs(forwardedRef, ref);
124
+ React.useEffect(() => {
125
+ const content = ref.current;
126
+ if (content) return hideOthers(content);
127
+ }, []);
128
+ return /* @__PURE__ */ jsx(
129
+ MenuContentImpl,
130
+ {
131
+ ...props,
132
+ ref: composedRefs,
133
+ trapFocus: context.open,
134
+ disableOutsidePointerEvents: context.open,
135
+ disableOutsideScroll: true,
136
+ onFocusOutside: composeEventHandlers(
137
+ props.onFocusOutside,
138
+ (event) => event.preventDefault(),
139
+ { checkForDefaultPrevented: false }
140
+ ),
141
+ onDismiss: () => context.onOpenChange(false)
142
+ }
143
+ );
144
+ }
145
+ );
146
+ var MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {
147
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
148
+ return /* @__PURE__ */ jsx(
149
+ MenuContentImpl,
150
+ {
151
+ ...props,
152
+ ref: forwardedRef,
153
+ trapFocus: false,
154
+ disableOutsidePointerEvents: false,
155
+ disableOutsideScroll: false,
156
+ onDismiss: () => context.onOpenChange(false)
157
+ }
158
+ );
159
+ });
160
+ var MenuContentImpl = React.forwardRef(
161
+ (props, forwardedRef) => {
162
+ const {
163
+ __scopeMenu,
164
+ loop = false,
165
+ trapFocus,
166
+ onOpenAutoFocus,
167
+ onCloseAutoFocus,
168
+ disableOutsidePointerEvents,
169
+ onEntryFocus,
170
+ onEscapeKeyDown,
171
+ onPointerDownOutside,
172
+ onFocusOutside,
173
+ onInteractOutside,
174
+ onDismiss,
175
+ disableOutsideScroll,
176
+ ...contentProps
177
+ } = props;
178
+ const context = useMenuContext(CONTENT_NAME, __scopeMenu);
179
+ const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);
180
+ const popperScope = usePopperScope(__scopeMenu);
181
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
182
+ const getItems = useCollection(__scopeMenu);
183
+ const [currentItemId, setCurrentItemId] = React.useState(null);
184
+ const contentRef = React.useRef(null);
185
+ const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);
186
+ const timerRef = React.useRef(0);
187
+ const searchRef = React.useRef("");
188
+ const pointerGraceTimerRef = React.useRef(0);
189
+ const pointerGraceIntentRef = React.useRef(null);
190
+ const pointerDirRef = React.useRef("right");
191
+ const lastPointerXRef = React.useRef(0);
192
+ const ScrollLockWrapper = disableOutsideScroll ? ReactRemoveScroll : React.Fragment;
193
+ const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;
194
+ const handleTypeaheadSearch = (key) => {
195
+ const search = searchRef.current + key;
196
+ const items = getItems().filter((item) => !item.disabled);
197
+ const currentItem = document.activeElement;
198
+ const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;
199
+ const values = items.map((item) => item.textValue);
200
+ const nextMatch = getNextMatch(values, search, currentMatch);
201
+ const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;
202
+ (function updateSearch(value) {
203
+ searchRef.current = value;
204
+ window.clearTimeout(timerRef.current);
205
+ if (value !== "") timerRef.current = window.setTimeout(() => updateSearch(""), 1e3);
206
+ })(search);
207
+ if (newItem) {
208
+ setTimeout(() => newItem.focus());
209
+ }
210
+ };
211
+ React.useEffect(() => {
212
+ return () => window.clearTimeout(timerRef.current);
213
+ }, []);
214
+ useFocusGuards();
215
+ const isPointerMovingToSubmenu = React.useCallback((event) => {
216
+ const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;
217
+ return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);
218
+ }, []);
219
+ return /* @__PURE__ */ jsx(
220
+ MenuContentProvider,
221
+ {
222
+ scope: __scopeMenu,
223
+ searchRef,
224
+ onItemEnter: React.useCallback(
225
+ (event) => {
226
+ if (isPointerMovingToSubmenu(event)) event.preventDefault();
227
+ },
228
+ [isPointerMovingToSubmenu]
229
+ ),
230
+ onItemLeave: React.useCallback(
231
+ (event) => {
232
+ if (isPointerMovingToSubmenu(event)) return;
233
+ contentRef.current?.focus();
234
+ setCurrentItemId(null);
235
+ },
236
+ [isPointerMovingToSubmenu]
237
+ ),
238
+ onTriggerLeave: React.useCallback(
239
+ (event) => {
240
+ if (isPointerMovingToSubmenu(event)) event.preventDefault();
241
+ },
242
+ [isPointerMovingToSubmenu]
243
+ ),
244
+ pointerGraceTimerRef,
245
+ onPointerGraceIntentChange: React.useCallback((intent) => {
246
+ pointerGraceIntentRef.current = intent;
247
+ }, []),
248
+ children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(
249
+ FocusScope,
250
+ {
251
+ asChild: true,
252
+ trapped: trapFocus,
253
+ onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {
254
+ event.preventDefault();
255
+ contentRef.current?.focus({ preventScroll: true });
256
+ }),
257
+ onUnmountAutoFocus: onCloseAutoFocus,
258
+ children: /* @__PURE__ */ jsx(
259
+ DismissableLayer,
260
+ {
261
+ asChild: true,
262
+ disableOutsidePointerEvents,
263
+ onEscapeKeyDown,
264
+ onPointerDownOutside,
265
+ onFocusOutside,
266
+ onInteractOutside,
267
+ onDismiss,
268
+ children: /* @__PURE__ */ jsx(
269
+ Root,
270
+ {
271
+ asChild: true,
272
+ ...rovingFocusGroupScope,
273
+ dir: rootContext.dir,
274
+ orientation: "vertical",
275
+ loop,
276
+ currentTabStopId: currentItemId,
277
+ onCurrentTabStopIdChange: setCurrentItemId,
278
+ onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {
279
+ if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();
280
+ }),
281
+ preventScrollOnEntryFocus: true,
282
+ children: /* @__PURE__ */ jsx(
283
+ Content,
284
+ {
285
+ role: "menu",
286
+ "aria-orientation": "vertical",
287
+ "data-state": getOpenState(context.open),
288
+ "data-radix-menu-content": "",
289
+ dir: rootContext.dir,
290
+ ...popperScope,
291
+ ...contentProps,
292
+ ref: composedRefs,
293
+ style: { outline: "none", ...contentProps.style },
294
+ onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {
295
+ const target = event.target;
296
+ const isKeyDownInside = target.closest("[data-radix-menu-content]") === event.currentTarget;
297
+ const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;
298
+ const isCharacterKey = event.key.length === 1;
299
+ if (isKeyDownInside) {
300
+ if (event.key === "Tab") event.preventDefault();
301
+ if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);
302
+ }
303
+ const content = contentRef.current;
304
+ if (event.target !== content) return;
305
+ if (!FIRST_LAST_KEYS.includes(event.key)) return;
306
+ event.preventDefault();
307
+ const items = getItems().filter((item) => !item.disabled);
308
+ const candidateNodes = items.map((item) => item.ref.current);
309
+ if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();
310
+ focusFirst(candidateNodes);
311
+ }),
312
+ onBlur: composeEventHandlers(props.onBlur, (event) => {
313
+ if (!event.currentTarget.contains(event.target)) {
314
+ window.clearTimeout(timerRef.current);
315
+ searchRef.current = "";
316
+ }
317
+ }),
318
+ onPointerMove: composeEventHandlers(
319
+ props.onPointerMove,
320
+ whenMouse((event) => {
321
+ const target = event.target;
322
+ const pointerXHasChanged = lastPointerXRef.current !== event.clientX;
323
+ if (event.currentTarget.contains(target) && pointerXHasChanged) {
324
+ const newDir = event.clientX > lastPointerXRef.current ? "right" : "left";
325
+ pointerDirRef.current = newDir;
326
+ lastPointerXRef.current = event.clientX;
327
+ }
328
+ })
329
+ )
330
+ }
331
+ )
332
+ }
333
+ )
334
+ }
335
+ )
336
+ }
337
+ ) })
338
+ }
339
+ );
340
+ }
341
+ );
342
+ MenuContent.displayName = CONTENT_NAME;
343
+ var GROUP_NAME = "MenuGroup";
344
+ var MenuGroup = React.forwardRef(
345
+ (props, forwardedRef) => {
346
+ const { __scopeMenu, ...groupProps } = props;
347
+ return /* @__PURE__ */ jsx(Primitive.div, { role: "group", ...groupProps, ref: forwardedRef });
348
+ }
349
+ );
350
+ MenuGroup.displayName = GROUP_NAME;
351
+ var LABEL_NAME = "MenuLabel";
352
+ var MenuLabel = React.forwardRef(
353
+ (props, forwardedRef) => {
354
+ const { __scopeMenu, ...labelProps } = props;
355
+ return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });
356
+ }
357
+ );
358
+ MenuLabel.displayName = LABEL_NAME;
359
+ var ITEM_NAME = "MenuItem";
360
+ var ITEM_SELECT = "menu.itemSelect";
361
+ var MenuItem = React.forwardRef(
362
+ (props, forwardedRef) => {
363
+ const { disabled = false, onSelect, ...itemProps } = props;
364
+ const ref = React.useRef(null);
365
+ const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);
366
+ const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);
367
+ const composedRefs = useComposedRefs(forwardedRef, ref);
368
+ const isPointerDownRef = React.useRef(false);
369
+ const handleSelect = () => {
370
+ const menuItem = ref.current;
371
+ if (!disabled && menuItem) {
372
+ const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });
373
+ menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });
374
+ dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);
375
+ if (itemSelectEvent.defaultPrevented) {
376
+ isPointerDownRef.current = false;
377
+ } else {
378
+ rootContext.onClose();
379
+ }
380
+ }
381
+ };
382
+ return /* @__PURE__ */ jsx(
383
+ MenuItemImpl,
384
+ {
385
+ ...itemProps,
386
+ ref: composedRefs,
387
+ disabled,
388
+ onClick: composeEventHandlers(props.onClick, handleSelect),
389
+ onPointerDown: (event) => {
390
+ props.onPointerDown?.(event);
391
+ isPointerDownRef.current = true;
392
+ },
393
+ onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {
394
+ if (!isPointerDownRef.current) event.currentTarget?.click();
395
+ }),
396
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
397
+ const isTypingAhead = contentContext.searchRef.current !== "";
398
+ if (disabled || isTypingAhead && event.key === " ") return;
399
+ if (SELECTION_KEYS.includes(event.key)) {
400
+ event.currentTarget.click();
401
+ event.preventDefault();
402
+ }
403
+ })
404
+ }
405
+ );
406
+ }
407
+ );
408
+ MenuItem.displayName = ITEM_NAME;
409
+ var MenuItemImpl = React.forwardRef(
410
+ (props, forwardedRef) => {
411
+ const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;
412
+ const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);
413
+ const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);
414
+ const ref = React.useRef(null);
415
+ const composedRefs = useComposedRefs(forwardedRef, ref);
416
+ const [isFocused, setIsFocused] = React.useState(false);
417
+ const [textContent, setTextContent] = React.useState("");
418
+ React.useEffect(() => {
419
+ const menuItem = ref.current;
420
+ if (menuItem) {
421
+ setTextContent((menuItem.textContent ?? "").trim());
422
+ }
423
+ }, [itemProps.children]);
424
+ return /* @__PURE__ */ jsx(
425
+ Collection.ItemSlot,
426
+ {
427
+ scope: __scopeMenu,
428
+ disabled,
429
+ textValue: textValue ?? textContent,
430
+ children: /* @__PURE__ */ jsx(Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(
431
+ Primitive.div,
432
+ {
433
+ role: "menuitem",
434
+ "data-highlighted": isFocused ? "" : void 0,
435
+ "aria-disabled": disabled || void 0,
436
+ "data-disabled": disabled ? "" : void 0,
437
+ ...itemProps,
438
+ ref: composedRefs,
439
+ onPointerMove: composeEventHandlers(
440
+ props.onPointerMove,
441
+ whenMouse((event) => {
442
+ if (disabled) {
443
+ contentContext.onItemLeave(event);
444
+ } else {
445
+ contentContext.onItemEnter(event);
446
+ if (!event.defaultPrevented) {
447
+ const item = event.currentTarget;
448
+ item.focus({ preventScroll: true });
449
+ }
450
+ }
451
+ })
452
+ ),
453
+ onPointerLeave: composeEventHandlers(
454
+ props.onPointerLeave,
455
+ whenMouse((event) => contentContext.onItemLeave(event))
456
+ ),
457
+ onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),
458
+ onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))
459
+ }
460
+ ) })
461
+ }
462
+ );
463
+ }
464
+ );
465
+ var CHECKBOX_ITEM_NAME = "MenuCheckboxItem";
466
+ var MenuCheckboxItem = React.forwardRef(
467
+ (props, forwardedRef) => {
468
+ const { checked = false, onCheckedChange, ...checkboxItemProps } = props;
469
+ return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(
470
+ MenuItem,
471
+ {
472
+ role: "menuitemcheckbox",
473
+ "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
474
+ ...checkboxItemProps,
475
+ ref: forwardedRef,
476
+ "data-state": getCheckedState(checked),
477
+ onSelect: composeEventHandlers(
478
+ checkboxItemProps.onSelect,
479
+ () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),
480
+ { checkForDefaultPrevented: false }
481
+ )
482
+ }
483
+ ) });
484
+ }
485
+ );
486
+ MenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
487
+ var RADIO_GROUP_NAME = "MenuRadioGroup";
488
+ var [RadioGroupProvider, useRadioGroupContext] = createMenuContext(
489
+ RADIO_GROUP_NAME,
490
+ { value: void 0, onValueChange: () => {
491
+ } }
492
+ );
493
+ var MenuRadioGroup = React.forwardRef(
494
+ (props, forwardedRef) => {
495
+ const { value, onValueChange, ...groupProps } = props;
496
+ const handleValueChange = useCallbackRef(onValueChange);
497
+ return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });
498
+ }
499
+ );
500
+ MenuRadioGroup.displayName = RADIO_GROUP_NAME;
501
+ var RADIO_ITEM_NAME = "MenuRadioItem";
502
+ var MenuRadioItem = React.forwardRef(
503
+ (props, forwardedRef) => {
504
+ const { value, ...radioItemProps } = props;
505
+ const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);
506
+ const checked = value === context.value;
507
+ return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(
508
+ MenuItem,
509
+ {
510
+ role: "menuitemradio",
511
+ "aria-checked": checked,
512
+ ...radioItemProps,
513
+ ref: forwardedRef,
514
+ "data-state": getCheckedState(checked),
515
+ onSelect: composeEventHandlers(
516
+ radioItemProps.onSelect,
517
+ () => context.onValueChange?.(value),
518
+ { checkForDefaultPrevented: false }
519
+ )
520
+ }
521
+ ) });
522
+ }
523
+ );
524
+ MenuRadioItem.displayName = RADIO_ITEM_NAME;
525
+ var ITEM_INDICATOR_NAME = "MenuItemIndicator";
526
+ var [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(
527
+ ITEM_INDICATOR_NAME,
528
+ { checked: false }
529
+ );
530
+ var MenuItemIndicator = React.forwardRef(
531
+ (props, forwardedRef) => {
532
+ const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;
533
+ const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);
534
+ return /* @__PURE__ */ jsx(
535
+ Presence,
536
+ {
537
+ present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,
538
+ children: /* @__PURE__ */ jsx(
539
+ Primitive.span,
540
+ {
541
+ ...itemIndicatorProps,
542
+ ref: forwardedRef,
543
+ "data-state": getCheckedState(indicatorContext.checked)
544
+ }
545
+ )
546
+ }
547
+ );
548
+ }
549
+ );
550
+ MenuItemIndicator.displayName = ITEM_INDICATOR_NAME;
551
+ var SEPARATOR_NAME = "MenuSeparator";
552
+ var MenuSeparator = React.forwardRef(
553
+ (props, forwardedRef) => {
554
+ const { __scopeMenu, ...separatorProps } = props;
555
+ return /* @__PURE__ */ jsx(
556
+ Primitive.div,
557
+ {
558
+ role: "separator",
559
+ "aria-orientation": "horizontal",
560
+ ...separatorProps,
561
+ ref: forwardedRef
562
+ }
563
+ );
564
+ }
565
+ );
566
+ MenuSeparator.displayName = SEPARATOR_NAME;
567
+ var ARROW_NAME = "MenuArrow";
568
+ var MenuArrow = React.forwardRef(
569
+ (props, forwardedRef) => {
570
+ const { __scopeMenu, ...arrowProps } = props;
571
+ const popperScope = usePopperScope(__scopeMenu);
572
+ return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
573
+ }
574
+ );
575
+ MenuArrow.displayName = ARROW_NAME;
576
+ var SUB_NAME = "MenuSub";
577
+ var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
578
+ var MenuSub = (props) => {
579
+ const { __scopeMenu, children, open = false, onOpenChange } = props;
580
+ const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);
581
+ const popperScope = usePopperScope(__scopeMenu);
582
+ const [trigger, setTrigger] = React.useState(null);
583
+ const [content, setContent] = React.useState(null);
584
+ const handleOpenChange = useCallbackRef(onOpenChange);
585
+ React.useEffect(() => {
586
+ if (parentMenuContext.open === false) handleOpenChange(false);
587
+ return () => handleOpenChange(false);
588
+ }, [parentMenuContext.open, handleOpenChange]);
589
+ return /* @__PURE__ */ jsx(Root2, { ...popperScope, children: /* @__PURE__ */ jsx(
590
+ MenuProvider,
591
+ {
592
+ scope: __scopeMenu,
593
+ open,
594
+ onOpenChange: handleOpenChange,
595
+ content,
596
+ onContentChange: setContent,
597
+ children: /* @__PURE__ */ jsx(
598
+ MenuSubProvider,
599
+ {
600
+ scope: __scopeMenu,
601
+ contentId: useId(),
602
+ triggerId: useId(),
603
+ trigger,
604
+ onTriggerChange: setTrigger,
605
+ children
606
+ }
607
+ )
608
+ }
609
+ ) });
610
+ };
611
+ MenuSub.displayName = SUB_NAME;
612
+ var SUB_TRIGGER_NAME = "MenuSubTrigger";
613
+ var MenuSubTrigger = React.forwardRef(
614
+ (props, forwardedRef) => {
615
+ const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);
616
+ const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);
617
+ const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);
618
+ const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);
619
+ const openTimerRef = React.useRef(null);
620
+ const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;
621
+ const scope = { __scopeMenu: props.__scopeMenu };
622
+ const clearOpenTimer = React.useCallback(() => {
623
+ if (openTimerRef.current) window.clearTimeout(openTimerRef.current);
624
+ openTimerRef.current = null;
625
+ }, []);
626
+ React.useEffect(() => clearOpenTimer, [clearOpenTimer]);
627
+ React.useEffect(() => {
628
+ const pointerGraceTimer = pointerGraceTimerRef.current;
629
+ return () => {
630
+ window.clearTimeout(pointerGraceTimer);
631
+ onPointerGraceIntentChange(null);
632
+ };
633
+ }, [pointerGraceTimerRef, onPointerGraceIntentChange]);
634
+ return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(
635
+ MenuItemImpl,
636
+ {
637
+ id: subContext.triggerId,
638
+ "aria-haspopup": "menu",
639
+ "aria-expanded": context.open,
640
+ "aria-controls": subContext.contentId,
641
+ "data-state": getOpenState(context.open),
642
+ ...props,
643
+ ref: composeRefs(forwardedRef, subContext.onTriggerChange),
644
+ onClick: (event) => {
645
+ props.onClick?.(event);
646
+ if (props.disabled || event.defaultPrevented) return;
647
+ event.currentTarget.focus();
648
+ if (!context.open) context.onOpenChange(true);
649
+ },
650
+ onPointerMove: composeEventHandlers(
651
+ props.onPointerMove,
652
+ whenMouse((event) => {
653
+ contentContext.onItemEnter(event);
654
+ if (event.defaultPrevented) return;
655
+ if (!props.disabled && !context.open && !openTimerRef.current) {
656
+ contentContext.onPointerGraceIntentChange(null);
657
+ openTimerRef.current = window.setTimeout(() => {
658
+ context.onOpenChange(true);
659
+ clearOpenTimer();
660
+ }, 100);
661
+ }
662
+ })
663
+ ),
664
+ onPointerLeave: composeEventHandlers(
665
+ props.onPointerLeave,
666
+ whenMouse((event) => {
667
+ clearOpenTimer();
668
+ const contentRect = context.content?.getBoundingClientRect();
669
+ if (contentRect) {
670
+ const side = context.content?.dataset.side;
671
+ const rightSide = side === "right";
672
+ const bleed = rightSide ? -5 : 5;
673
+ const contentNearEdge = contentRect[rightSide ? "left" : "right"];
674
+ const contentFarEdge = contentRect[rightSide ? "right" : "left"];
675
+ contentContext.onPointerGraceIntentChange({
676
+ area: [
677
+ // Apply a bleed on clientX to ensure that our exit point is
678
+ // consistently within polygon bounds
679
+ { x: event.clientX + bleed, y: event.clientY },
680
+ { x: contentNearEdge, y: contentRect.top },
681
+ { x: contentFarEdge, y: contentRect.top },
682
+ { x: contentFarEdge, y: contentRect.bottom },
683
+ { x: contentNearEdge, y: contentRect.bottom }
684
+ ],
685
+ side
686
+ });
687
+ window.clearTimeout(pointerGraceTimerRef.current);
688
+ pointerGraceTimerRef.current = window.setTimeout(
689
+ () => contentContext.onPointerGraceIntentChange(null),
690
+ 300
691
+ );
692
+ } else {
693
+ contentContext.onTriggerLeave(event);
694
+ if (event.defaultPrevented) return;
695
+ contentContext.onPointerGraceIntentChange(null);
696
+ }
697
+ })
698
+ ),
699
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
700
+ const isTypingAhead = contentContext.searchRef.current !== "";
701
+ if (props.disabled || isTypingAhead && event.key === " ") return;
702
+ if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {
703
+ context.onOpenChange(true);
704
+ context.content?.focus();
705
+ event.preventDefault();
706
+ }
707
+ })
708
+ }
709
+ ) });
710
+ }
711
+ );
712
+ MenuSubTrigger.displayName = SUB_TRIGGER_NAME;
713
+ var SUB_CONTENT_NAME = "MenuSubContent";
714
+ var MenuSubContent = React.forwardRef(
715
+ (props, forwardedRef) => {
716
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);
717
+ const { forceMount = portalContext.forceMount, ...subContentProps } = props;
718
+ const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);
719
+ const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);
720
+ const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);
721
+ const ref = React.useRef(null);
722
+ const composedRefs = useComposedRefs(forwardedRef, ref);
723
+ return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(
724
+ MenuContentImpl,
725
+ {
726
+ id: subContext.contentId,
727
+ "aria-labelledby": subContext.triggerId,
728
+ ...subContentProps,
729
+ ref: composedRefs,
730
+ align: "start",
731
+ side: rootContext.dir === "rtl" ? "left" : "right",
732
+ disableOutsidePointerEvents: false,
733
+ disableOutsideScroll: false,
734
+ trapFocus: false,
735
+ onOpenAutoFocus: (event) => {
736
+ if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();
737
+ event.preventDefault();
738
+ },
739
+ onCloseAutoFocus: (event) => event.preventDefault(),
740
+ onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {
741
+ if (event.target !== subContext.trigger) context.onOpenChange(false);
742
+ }),
743
+ onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {
744
+ rootContext.onClose();
745
+ event.preventDefault();
746
+ }),
747
+ onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {
748
+ const isKeyDownInside = event.currentTarget.contains(event.target);
749
+ const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);
750
+ if (isKeyDownInside && isCloseKey) {
751
+ context.onOpenChange(false);
752
+ subContext.trigger?.focus();
753
+ event.preventDefault();
754
+ }
755
+ })
756
+ }
757
+ ) }) }) });
758
+ }
759
+ );
760
+ MenuSubContent.displayName = SUB_CONTENT_NAME;
761
+ function getOpenState(open) {
762
+ return open ? "open" : "closed";
763
+ }
764
+ function isIndeterminate(checked) {
765
+ return checked === "indeterminate";
766
+ }
767
+ function getCheckedState(checked) {
768
+ return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
769
+ }
770
+ function focusFirst(candidates) {
771
+ const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;
772
+ for (const candidate of candidates) {
773
+ if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;
774
+ candidate.focus();
775
+ if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;
776
+ }
777
+ }
778
+ function wrapArray(array, startIndex) {
779
+ return array.map((_, index) => array[(startIndex + index) % array.length]);
780
+ }
781
+ function getNextMatch(values, search, currentMatch) {
782
+ const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);
783
+ const normalizedSearch = isRepeated ? search[0] : search;
784
+ const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
785
+ let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
786
+ const excludeCurrentMatch = normalizedSearch.length === 1;
787
+ if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
788
+ const nextMatch = wrappedValues.find(
789
+ (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())
790
+ );
791
+ return nextMatch !== currentMatch ? nextMatch : void 0;
792
+ }
793
+ function isPointInPolygon(point, polygon) {
794
+ const { x, y } = point;
795
+ let inside = false;
796
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
797
+ const xi = polygon[i].x;
798
+ const yi = polygon[i].y;
799
+ const xj = polygon[j].x;
800
+ const yj = polygon[j].y;
801
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
802
+ if (intersect) inside = !inside;
803
+ }
804
+ return inside;
805
+ }
806
+ function isPointerInGraceArea(event, area) {
807
+ if (!area) return false;
808
+ const cursorPos = { x: event.clientX, y: event.clientY };
809
+ return isPointInPolygon(cursorPos, area);
810
+ }
811
+ function whenMouse(handler) {
812
+ return (event) => event.pointerType === "mouse" ? handler(event) : void 0;
813
+ }
814
+ var Root3 = Menu;
815
+ var Anchor2 = MenuAnchor;
816
+ var Portal = MenuPortal;
817
+ var Content2 = MenuContent;
818
+ var Group = MenuGroup;
819
+ var Label = MenuLabel;
820
+ var Item2 = MenuItem;
821
+ var CheckboxItem = MenuCheckboxItem;
822
+ var RadioGroup = MenuRadioGroup;
823
+ var RadioItem = MenuRadioItem;
824
+ var ItemIndicator = MenuItemIndicator;
825
+ var Separator = MenuSeparator;
826
+ var Arrow2 = MenuArrow;
827
+ var Sub = MenuSub;
828
+ var SubTrigger = MenuSubTrigger;
829
+ var SubContent = MenuSubContent;
830
+
831
+ export { Anchor2 as Anchor, Arrow2 as Arrow, CheckboxItem, Content2 as Content, Group, Item2 as Item, ItemIndicator, Label, Menu, MenuAnchor, MenuArrow, MenuCheckboxItem, MenuContent, MenuGroup, MenuItem, MenuItemIndicator, MenuLabel, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSub, MenuSubContent, MenuSubTrigger, Portal, RadioGroup, RadioItem, Root3 as Root, Separator, Sub, SubContent, SubTrigger, createMenuScope };