@mks2508/mks-ui 0.2.0 → 0.3.1

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 (900) hide show
  1. package/dist/react-ui/components/MorphingPopover/MorphingPopover.types.d.ts.map +1 -0
  2. package/dist/react-ui/components/MorphingPopover/index.d.ts +46 -0
  3. package/dist/react-ui/components/MorphingPopover/index.d.ts.map +1 -0
  4. package/dist/react-ui/components/MorphingPopover/index.js +119 -0
  5. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.js +5 -0
  6. package/dist/react-ui/components/index.d.ts.map +1 -0
  7. package/dist/react-ui/hooks/Animation/UseAutoHeight.d.ts +30 -0
  8. package/dist/react-ui/hooks/Animation/UseAutoHeight.d.ts.map +1 -0
  9. package/dist/react-ui/hooks/Animation/UseAutoHeight.js +80 -0
  10. package/dist/react-ui/hooks/DOM/UseIsInView.d.ts +32 -0
  11. package/dist/react-ui/hooks/DOM/UseIsInView.d.ts.map +1 -0
  12. package/dist/react-ui/hooks/DOM/UseIsInView.js +33 -0
  13. package/dist/react-ui/hooks/Formatting/UseListFormat.d.ts +49 -0
  14. package/dist/react-ui/hooks/Formatting/UseListFormat.d.ts.map +1 -0
  15. package/dist/react-ui/hooks/Formatting/UseListFormat.js +105 -0
  16. package/dist/react-ui/hooks/State/UseControlledState.d.ts.map +1 -0
  17. package/dist/react-ui/hooks/State/UseControlledState.js +34 -0
  18. package/dist/react-ui/hooks/State/UseDataState.d.ts +21 -0
  19. package/dist/react-ui/hooks/State/UseDataState.d.ts.map +1 -0
  20. package/dist/react-ui/hooks/State/UseDataState.js +63 -0
  21. package/dist/react-ui/hooks/index.d.ts +16 -0
  22. package/dist/react-ui/hooks/index.d.ts.map +1 -0
  23. package/dist/react-ui/hooks/index.js +5 -0
  24. package/dist/react-ui/icons/index.d.ts.map +1 -0
  25. package/dist/react-ui/icons/lucide-animated/activity.d.ts +11 -0
  26. package/dist/react-ui/icons/lucide-animated/activity.d.ts.map +1 -0
  27. package/dist/react-ui/icons/lucide-animated/activity.js +75 -0
  28. package/dist/react-ui/icons/lucide-animated/arrow-down-to-line.d.ts +23 -0
  29. package/dist/react-ui/icons/lucide-animated/arrow-down-to-line.d.ts.map +1 -0
  30. package/dist/react-ui/icons/lucide-animated/arrow-down-to-line.js +45 -0
  31. package/dist/react-ui/icons/lucide-animated/arrow-up.d.ts +23 -0
  32. package/dist/react-ui/icons/lucide-animated/arrow-up.d.ts.map +1 -0
  33. package/dist/react-ui/icons/lucide-animated/arrow-up.js +41 -0
  34. package/dist/react-ui/icons/lucide-animated/bell-electric.d.ts +11 -0
  35. package/dist/react-ui/icons/lucide-animated/bell-electric.d.ts.map +1 -0
  36. package/dist/react-ui/icons/lucide-animated/bell-electric.js +202 -0
  37. package/dist/react-ui/icons/lucide-animated/bell.d.ts +11 -0
  38. package/dist/react-ui/icons/lucide-animated/bell.d.ts.map +1 -0
  39. package/dist/react-ui/icons/lucide-animated/bell.js +65 -0
  40. package/dist/react-ui/icons/lucide-animated/bot.d.ts +11 -0
  41. package/dist/react-ui/icons/lucide-animated/bot.d.ts.map +1 -0
  42. package/dist/react-ui/icons/lucide-animated/bot.js +118 -0
  43. package/dist/react-ui/icons/lucide-animated/box.d.ts +11 -0
  44. package/dist/react-ui/icons/lucide-animated/box.d.ts.map +1 -0
  45. package/dist/react-ui/icons/lucide-animated/box.js +86 -0
  46. package/dist/react-ui/icons/lucide-animated/check.d.ts.map +1 -0
  47. package/dist/react-ui/icons/lucide-animated/check.js +23 -0
  48. package/dist/react-ui/icons/lucide-animated/circle-check.d.ts +11 -0
  49. package/dist/react-ui/icons/lucide-animated/circle-check.d.ts.map +1 -0
  50. package/dist/react-ui/icons/lucide-animated/circle-check.js +76 -0
  51. package/dist/react-ui/icons/lucide-animated/delete.d.ts +11 -0
  52. package/dist/react-ui/icons/lucide-animated/delete.d.ts.map +1 -0
  53. package/dist/react-ui/icons/lucide-animated/delete.js +110 -0
  54. package/dist/react-ui/icons/lucide-animated/download.d.ts +11 -0
  55. package/dist/react-ui/icons/lucide-animated/download.d.ts.map +1 -0
  56. package/dist/react-ui/icons/lucide-animated/download.js +70 -0
  57. package/dist/react-ui/icons/lucide-animated/edit-2.d.ts.map +1 -0
  58. package/dist/react-ui/icons/lucide-animated/edit-2.js +23 -0
  59. package/dist/react-ui/icons/lucide-animated/globe.d.ts.map +1 -0
  60. package/dist/react-ui/icons/lucide-animated/globe.js +31 -0
  61. package/dist/react-ui/icons/lucide-animated/home.d.ts +11 -0
  62. package/dist/react-ui/icons/lucide-animated/home.d.ts.map +1 -0
  63. package/dist/react-ui/icons/lucide-animated/home.js +68 -0
  64. package/dist/react-ui/icons/lucide-animated/index.d.ts.map +1 -0
  65. package/dist/react-ui/icons/lucide-animated/layers.d.ts.map +1 -0
  66. package/dist/react-ui/icons/lucide-animated/layers.js +27 -0
  67. package/dist/react-ui/icons/lucide-animated/layout-panel-top.d.ts +11 -0
  68. package/dist/react-ui/icons/lucide-animated/layout-panel-top.d.ts.map +1 -0
  69. package/dist/react-ui/icons/lucide-animated/layout-panel-top.js +130 -0
  70. package/dist/react-ui/icons/lucide-animated/list.d.ts +23 -0
  71. package/dist/react-ui/icons/lucide-animated/list.d.ts.map +1 -0
  72. package/dist/react-ui/icons/lucide-animated/list.js +78 -0
  73. package/dist/react-ui/icons/lucide-animated/package.d.ts.map +1 -0
  74. package/dist/react-ui/icons/lucide-animated/package.js +28 -0
  75. package/dist/react-ui/icons/lucide-animated/palette.d.ts.map +1 -0
  76. package/dist/react-ui/icons/lucide-animated/palette.js +49 -0
  77. package/dist/react-ui/icons/lucide-animated/plus.d.ts +11 -0
  78. package/dist/react-ui/icons/lucide-animated/plus.d.ts.map +1 -0
  79. package/dist/react-ui/icons/lucide-animated/plus.js +59 -0
  80. package/dist/react-ui/icons/lucide-animated/refresh-cw.d.ts.map +1 -0
  81. package/dist/react-ui/icons/lucide-animated/refresh-cw.js +28 -0
  82. package/dist/react-ui/icons/lucide-animated/rocket.d.ts.map +1 -0
  83. package/dist/react-ui/icons/lucide-animated/rocket.js +28 -0
  84. package/dist/react-ui/icons/lucide-animated/save.d.ts.map +1 -0
  85. package/dist/react-ui/icons/lucide-animated/save.js +27 -0
  86. package/dist/react-ui/icons/lucide-animated/search.d.ts +11 -0
  87. package/dist/react-ui/icons/lucide-animated/search.d.ts.map +1 -0
  88. package/dist/react-ui/icons/lucide-animated/search.js +78 -0
  89. package/dist/react-ui/icons/lucide-animated/settings.d.ts +11 -0
  90. package/dist/react-ui/icons/lucide-animated/settings.d.ts.map +1 -0
  91. package/dist/react-ui/icons/lucide-animated/settings.js +63 -0
  92. package/dist/react-ui/icons/lucide-animated/terminal.d.ts +24 -0
  93. package/dist/react-ui/icons/lucide-animated/terminal.d.ts.map +1 -0
  94. package/dist/react-ui/icons/lucide-animated/terminal.js +36 -0
  95. package/dist/react-ui/icons/lucide-animated/trash-2.d.ts.map +1 -0
  96. package/dist/react-ui/icons/lucide-animated/trash-2.js +39 -0
  97. package/dist/react-ui/icons/lucide-animated/trending-down.d.ts +11 -0
  98. package/dist/react-ui/icons/lucide-animated/trending-down.d.ts.map +1 -0
  99. package/dist/react-ui/icons/lucide-animated/trending-down.js +123 -0
  100. package/dist/react-ui/icons/lucide-animated/trending-up.d.ts +11 -0
  101. package/dist/react-ui/icons/lucide-animated/trending-up.d.ts.map +1 -0
  102. package/dist/react-ui/icons/lucide-animated/trending-up.js +123 -0
  103. package/dist/react-ui/icons/lucide-animated/type.d.ts.map +1 -0
  104. package/dist/react-ui/icons/lucide-animated/type.js +37 -0
  105. package/dist/react-ui/icons/lucide-animated/upload.d.ts.map +1 -0
  106. package/dist/react-ui/icons/lucide-animated/upload.js +32 -0
  107. package/dist/react-ui/icons/lucide-animated/x.d.ts +11 -0
  108. package/dist/react-ui/icons/lucide-animated/x.d.ts.map +1 -0
  109. package/dist/react-ui/icons/lucide-animated/x.js +68 -0
  110. package/dist/react-ui/index.d.ts.map +1 -0
  111. package/dist/react-ui/index.js +108 -0
  112. package/dist/react-ui/lib/get-strict-context.d.ts +30 -0
  113. package/dist/react-ui/lib/get-strict-context.d.ts.map +1 -0
  114. package/dist/react-ui/lib/get-strict-context.js +40 -0
  115. package/dist/react-ui/lib/index.d.ts.map +1 -0
  116. package/dist/react-ui/lib/utils.d.ts.map +1 -0
  117. package/dist/react-ui/lib/utils.js +27 -0
  118. package/dist/react-ui/primitives/AutoHeight/index.d.ts +31 -0
  119. package/dist/react-ui/primitives/AutoHeight/index.d.ts.map +1 -0
  120. package/dist/react-ui/primitives/AutoHeight/index.js +52 -0
  121. package/dist/react-ui/primitives/CountingNumber/index.d.ts +44 -0
  122. package/dist/react-ui/primitives/CountingNumber/index.d.ts.map +1 -0
  123. package/dist/react-ui/primitives/CountingNumber/index.js +97 -0
  124. package/dist/react-ui/primitives/Highlight/Highlight.types.d.ts.map +1 -0
  125. package/dist/react-ui/primitives/Highlight/index.d.ts +48 -0
  126. package/dist/react-ui/primitives/Highlight/index.d.ts.map +1 -0
  127. package/dist/react-ui/primitives/Highlight/index.js +396 -0
  128. package/dist/react-ui/primitives/Slot/index.d.ts +53 -0
  129. package/dist/react-ui/primitives/Slot/index.d.ts.map +1 -0
  130. package/dist/react-ui/primitives/Slot/index.js +65 -0
  131. package/dist/react-ui/primitives/index.d.ts +13 -0
  132. package/dist/react-ui/primitives/index.d.ts.map +1 -0
  133. package/dist/react-ui/primitives/index.js +22 -0
  134. package/dist/react-ui/primitives/waapi/Morph/Morph.types.d.ts +76 -0
  135. package/dist/react-ui/primitives/waapi/Morph/Morph.types.d.ts.map +1 -0
  136. package/dist/react-ui/primitives/waapi/Morph/MorphContext.d.ts +11 -0
  137. package/dist/react-ui/primitives/waapi/Morph/MorphContext.d.ts.map +1 -0
  138. package/dist/react-ui/primitives/waapi/Morph/MorphContext.js +19 -0
  139. package/dist/react-ui/primitives/waapi/Morph/index.d.ts +23 -0
  140. package/dist/react-ui/primitives/waapi/Morph/index.d.ts.map +1 -0
  141. package/dist/react-ui/primitives/waapi/Morph/index.js +45 -0
  142. package/dist/react-ui/primitives/waapi/Morph/techniques/index.d.ts +12 -0
  143. package/dist/react-ui/primitives/waapi/Morph/techniques/index.d.ts.map +1 -0
  144. package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.d.ts +38 -0
  145. package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.d.ts.map +1 -0
  146. package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.js +78 -0
  147. package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.d.ts +23 -0
  148. package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.d.ts.map +1 -0
  149. package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.js +140 -0
  150. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.d.ts +28 -0
  151. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.d.ts.map +1 -0
  152. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.js +77 -0
  153. package/dist/react-ui/primitives/waapi/Morph/useMorph.d.ts +27 -0
  154. package/dist/react-ui/primitives/waapi/Morph/useMorph.d.ts.map +1 -0
  155. package/dist/react-ui/primitives/waapi/Morph/useMorph.js +86 -0
  156. package/dist/react-ui/primitives/waapi/Reorder/Reorder.types.d.ts +168 -0
  157. package/dist/react-ui/primitives/waapi/Reorder/Reorder.types.d.ts.map +1 -0
  158. package/dist/react-ui/primitives/waapi/Reorder/index.d.ts +25 -0
  159. package/dist/react-ui/primitives/waapi/Reorder/index.d.ts.map +1 -0
  160. package/dist/react-ui/primitives/waapi/Reorder/index.js +186 -0
  161. package/dist/react-ui/primitives/waapi/Reorder/useReorder.d.ts +26 -0
  162. package/dist/react-ui/primitives/waapi/Reorder/useReorder.d.ts.map +1 -0
  163. package/dist/react-ui/primitives/waapi/Reorder/useReorder.js +48 -0
  164. package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.d.ts +33 -0
  165. package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.d.ts.map +1 -0
  166. package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.js +137 -0
  167. package/dist/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.d.ts +47 -0
  168. package/dist/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.d.ts.map +1 -0
  169. package/dist/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.js +72 -0
  170. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +10 -0
  171. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts.map +1 -0
  172. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.types.d.ts +74 -0
  173. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.types.d.ts.map +1 -0
  174. package/dist/react-ui/primitives/waapi/SlidingNumber/index.d.ts +33 -0
  175. package/dist/react-ui/primitives/waapi/SlidingNumber/index.d.ts.map +1 -0
  176. package/dist/react-ui/primitives/waapi/SlidingNumber/index.js +354 -0
  177. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +25 -0
  178. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts.map +1 -0
  179. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.types.d.ts +57 -0
  180. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.types.d.ts.map +1 -0
  181. package/dist/react-ui/primitives/waapi/SlidingText/index.d.ts +26 -0
  182. package/dist/react-ui/primitives/waapi/SlidingText/index.d.ts.map +1 -0
  183. package/dist/react-ui/primitives/waapi/SlidingText/index.js +105 -0
  184. package/dist/react-ui/primitives/waapi/core/animationConstants.d.ts +156 -0
  185. package/dist/react-ui/primitives/waapi/core/animationConstants.d.ts.map +1 -0
  186. package/dist/react-ui/primitives/waapi/core/animationConstants.js +180 -0
  187. package/dist/react-ui/primitives/waapi/core/index.d.ts +16 -0
  188. package/dist/react-ui/primitives/waapi/core/index.d.ts.map +1 -0
  189. package/dist/react-ui/primitives/waapi/core/index.js +5 -0
  190. package/dist/react-ui/primitives/waapi/core/types.d.ts +143 -0
  191. package/dist/react-ui/primitives/waapi/core/types.d.ts.map +1 -0
  192. package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.d.ts +32 -0
  193. package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.d.ts.map +1 -0
  194. package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.js +322 -0
  195. package/dist/react-ui/primitives/waapi/core/useElementRegistry.d.ts +21 -0
  196. package/dist/react-ui/primitives/waapi/core/useElementRegistry.d.ts.map +1 -0
  197. package/dist/react-ui/primitives/waapi/core/useElementRegistry.js +65 -0
  198. package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.d.ts +20 -0
  199. package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.d.ts.map +1 -0
  200. package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.js +99 -0
  201. package/dist/react-ui/primitives/waapi/core/usePositionCapture.d.ts +24 -0
  202. package/dist/react-ui/primitives/waapi/core/usePositionCapture.d.ts.map +1 -0
  203. package/dist/react-ui/primitives/waapi/core/usePositionCapture.js +75 -0
  204. package/dist/react-ui/primitives/waapi/index.d.ts +33 -0
  205. package/dist/react-ui/primitives/waapi/index.d.ts.map +1 -0
  206. package/dist/react-ui/primitives/waapi/index.js +18 -0
  207. package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts.map +1 -0
  208. package/dist/react-ui/ui/Accordion/Accordion.styles.js +54 -0
  209. package/dist/react-ui/ui/Accordion/Accordion.types.d.ts.map +1 -0
  210. package/dist/react-ui/ui/Accordion/index.d.ts.map +1 -0
  211. package/dist/react-ui/ui/Accordion/index.js +266 -0
  212. package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts.map +1 -0
  213. package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.js +29 -0
  214. package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts.map +1 -0
  215. package/dist/react-ui/ui/AlertDialog/index.d.ts.map +1 -0
  216. package/dist/react-ui/ui/AlertDialog/index.js +319 -0
  217. package/dist/react-ui/ui/Badge/Badge.styles.d.ts.map +1 -0
  218. package/dist/react-ui/ui/Badge/Badge.styles.js +30 -0
  219. package/dist/react-ui/ui/Badge/Badge.types.d.ts.map +1 -0
  220. package/dist/react-ui/ui/Badge/index.d.ts.map +1 -0
  221. package/dist/react-ui/ui/Badge/index.js +34 -0
  222. package/dist/react-ui/ui/Button/Button.styles.d.ts.map +1 -0
  223. package/dist/react-ui/ui/Button/Button.styles.js +40 -0
  224. package/dist/react-ui/ui/Button/Button.types.d.ts.map +1 -0
  225. package/dist/react-ui/ui/Button/index.d.ts.map +1 -0
  226. package/dist/react-ui/ui/Button/index.js +103 -0
  227. package/dist/react-ui/ui/Card/Card.styles.d.ts.map +1 -0
  228. package/dist/react-ui/ui/Card/Card.styles.js +24 -0
  229. package/dist/react-ui/ui/Card/Card.types.d.ts.map +1 -0
  230. package/dist/react-ui/ui/Card/index.d.ts.map +1 -0
  231. package/dist/react-ui/ui/Card/index.js +82 -0
  232. package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts.map +1 -0
  233. package/dist/react-ui/ui/Checkbox/Checkbox.styles.js +34 -0
  234. package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts.map +1 -0
  235. package/dist/react-ui/ui/Checkbox/index.d.ts.map +1 -0
  236. package/dist/react-ui/ui/Checkbox/index.js +158 -0
  237. package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts.map +1 -0
  238. package/dist/react-ui/ui/Combobox/Combobox.styles.js +17 -0
  239. package/dist/react-ui/ui/Combobox/Combobox.types.d.ts.map +1 -0
  240. package/dist/react-ui/ui/Combobox/index.d.ts +60 -0
  241. package/dist/react-ui/ui/Combobox/index.d.ts.map +1 -0
  242. package/dist/react-ui/ui/Combobox/index.js +216 -0
  243. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts.map +1 -0
  244. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.js +30 -0
  245. package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts.map +1 -0
  246. package/dist/react-ui/ui/CornerBracket/index.d.ts.map +1 -0
  247. package/dist/react-ui/ui/CornerBracket/index.js +42 -0
  248. package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +35 -0
  249. package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts.map +1 -0
  250. package/dist/react-ui/ui/DataCard/DataCard.styles.js +114 -0
  251. package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +135 -0
  252. package/dist/react-ui/ui/DataCard/DataCard.types.d.ts.map +1 -0
  253. package/dist/react-ui/ui/DataCard/index.d.ts +129 -0
  254. package/dist/react-ui/ui/DataCard/index.d.ts.map +1 -0
  255. package/dist/react-ui/ui/DataCard/index.js +276 -0
  256. package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts.map +1 -0
  257. package/dist/react-ui/ui/Dialog/Dialog.styles.js +29 -0
  258. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +221 -0
  259. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts.map +1 -0
  260. package/dist/react-ui/ui/Dialog/index.d.ts.map +1 -0
  261. package/dist/react-ui/ui/Dialog/index.js +265 -0
  262. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts.map +1 -0
  263. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.js +16 -0
  264. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts.map +1 -0
  265. package/dist/react-ui/ui/DropdownMenu/index.d.ts +50 -0
  266. package/dist/react-ui/ui/DropdownMenu/index.d.ts.map +1 -0
  267. package/dist/react-ui/ui/DropdownMenu/index.js +181 -0
  268. package/dist/react-ui/ui/Field/Field.styles.d.ts.map +1 -0
  269. package/dist/react-ui/ui/Field/Field.styles.js +27 -0
  270. package/dist/react-ui/ui/Field/Field.types.d.ts.map +1 -0
  271. package/dist/react-ui/ui/Field/index.d.ts.map +1 -0
  272. package/dist/react-ui/ui/Field/index.js +145 -0
  273. package/dist/react-ui/ui/Input/Input.styles.d.ts.map +1 -0
  274. package/dist/react-ui/ui/Input/Input.styles.js +5 -0
  275. package/dist/react-ui/ui/Input/Input.types.d.ts.map +1 -0
  276. package/dist/react-ui/ui/Input/index.d.ts.map +1 -0
  277. package/dist/react-ui/ui/Input/index.js +29 -0
  278. package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts.map +1 -0
  279. package/dist/react-ui/ui/InputGroup/InputGroup.styles.js +34 -0
  280. package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts.map +1 -0
  281. package/dist/react-ui/ui/InputGroup/index.d.ts.map +1 -0
  282. package/dist/react-ui/ui/InputGroup/index.js +81 -0
  283. package/dist/react-ui/ui/Label/Label.styles.d.ts.map +1 -0
  284. package/dist/react-ui/ui/Label/Label.styles.js +5 -0
  285. package/dist/react-ui/ui/Label/Label.types.d.ts.map +1 -0
  286. package/dist/react-ui/ui/Label/index.d.ts.map +1 -0
  287. package/dist/react-ui/ui/Label/index.js +24 -0
  288. package/dist/react-ui/ui/Menu/Menu.styles.d.ts.map +1 -0
  289. package/dist/react-ui/ui/Menu/Menu.styles.js +32 -0
  290. package/dist/react-ui/ui/Menu/Menu.types.d.ts +328 -0
  291. package/dist/react-ui/ui/Menu/Menu.types.d.ts.map +1 -0
  292. package/dist/react-ui/ui/Menu/index.d.ts.map +1 -0
  293. package/dist/react-ui/ui/Menu/index.js +636 -0
  294. package/dist/react-ui/ui/Popover/Popover.styles.d.ts.map +1 -0
  295. package/dist/react-ui/ui/Popover/Popover.styles.js +26 -0
  296. package/dist/react-ui/ui/Popover/Popover.types.d.ts +204 -0
  297. package/dist/react-ui/ui/Popover/Popover.types.d.ts.map +1 -0
  298. package/dist/react-ui/ui/Popover/index.d.ts.map +1 -0
  299. package/dist/react-ui/ui/Popover/index.js +237 -0
  300. package/dist/react-ui/ui/Progress/Progress.styles.d.ts.map +1 -0
  301. package/dist/react-ui/ui/Progress/Progress.styles.js +30 -0
  302. package/dist/react-ui/ui/Progress/Progress.types.d.ts +148 -0
  303. package/dist/react-ui/ui/Progress/Progress.types.d.ts.map +1 -0
  304. package/dist/react-ui/ui/Progress/index.d.ts.map +1 -0
  305. package/dist/react-ui/ui/Progress/index.js +170 -0
  306. package/dist/react-ui/ui/Select/Select.styles.d.ts.map +1 -0
  307. package/dist/react-ui/ui/Select/Select.styles.js +15 -0
  308. package/dist/react-ui/ui/Select/Select.types.d.ts.map +1 -0
  309. package/dist/react-ui/ui/Select/index.d.ts +38 -0
  310. package/dist/react-ui/ui/Select/index.d.ts.map +1 -0
  311. package/dist/react-ui/ui/Select/index.js +136 -0
  312. package/dist/react-ui/ui/Separator/Separator.styles.d.ts.map +1 -0
  313. package/dist/react-ui/ui/Separator/Separator.styles.js +5 -0
  314. package/dist/react-ui/ui/Separator/Separator.types.d.ts.map +1 -0
  315. package/dist/react-ui/ui/Separator/index.d.ts.map +1 -0
  316. package/dist/react-ui/ui/Separator/index.js +29 -0
  317. package/dist/react-ui/ui/Switch/Switch.styles.d.ts.map +1 -0
  318. package/dist/react-ui/ui/Switch/Switch.styles.js +41 -0
  319. package/dist/react-ui/ui/Switch/Switch.types.d.ts.map +1 -0
  320. package/dist/react-ui/ui/Switch/index.d.ts.map +1 -0
  321. package/dist/react-ui/ui/Switch/index.js +199 -0
  322. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts.map +1 -0
  323. package/dist/react-ui/ui/Tabs/Tabs.styles.js +26 -0
  324. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +201 -0
  325. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts.map +1 -0
  326. package/dist/react-ui/ui/Tabs/index.d.ts.map +1 -0
  327. package/dist/react-ui/ui/Tabs/index.js +308 -0
  328. package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +16 -0
  329. package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts.map +1 -0
  330. package/dist/react-ui/ui/TextFlow/TextFlow.types.d.ts +101 -0
  331. package/dist/react-ui/ui/TextFlow/TextFlow.types.d.ts.map +1 -0
  332. package/dist/react-ui/ui/TextFlow/index.d.ts +26 -0
  333. package/dist/react-ui/ui/TextFlow/index.d.ts.map +1 -0
  334. package/dist/react-ui/ui/TextFlow/index.js +187 -0
  335. package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts.map +1 -0
  336. package/dist/react-ui/ui/Textarea/Textarea.styles.js +5 -0
  337. package/dist/react-ui/ui/Textarea/Textarea.types.d.ts.map +1 -0
  338. package/dist/react-ui/ui/Textarea/index.d.ts.map +1 -0
  339. package/dist/react-ui/ui/Textarea/index.js +24 -0
  340. package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts.map +1 -0
  341. package/dist/react-ui/ui/Tooltip/Tooltip.styles.js +26 -0
  342. package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +203 -0
  343. package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts.map +1 -0
  344. package/dist/react-ui/ui/Tooltip/index.d.ts.map +1 -0
  345. package/dist/react-ui/ui/Tooltip/index.js +219 -0
  346. package/dist/react-ui/ui/index.d.ts +32 -0
  347. package/dist/react-ui/ui/index.d.ts.map +1 -0
  348. package/dist/react-ui/ui/index.js +39 -0
  349. package/package.json +14 -10
  350. package/src/react-ui/components/MorphingPopover/index.tsx +186 -0
  351. package/src/react-ui/hooks/Formatting/UseListFormat.ts +134 -0
  352. package/src/react-ui/hooks/index.ts +20 -0
  353. package/src/react-ui/icons/lucide-animated/activity.tsx +109 -0
  354. package/src/react-ui/icons/lucide-animated/bell-electric.tsx +124 -0
  355. package/src/react-ui/icons/lucide-animated/bell.tsx +93 -0
  356. package/src/react-ui/icons/lucide-animated/bot.tsx +122 -0
  357. package/src/react-ui/icons/lucide-animated/box.tsx +117 -0
  358. package/src/react-ui/icons/lucide-animated/circle-check.tsx +107 -0
  359. package/src/react-ui/icons/lucide-animated/delete.tsx +133 -0
  360. package/src/react-ui/icons/lucide-animated/download.tsx +99 -0
  361. package/src/react-ui/icons/lucide-animated/home.tsx +103 -0
  362. package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +143 -0
  363. package/src/react-ui/icons/lucide-animated/plus.tsx +92 -0
  364. package/src/react-ui/icons/lucide-animated/search.tsx +94 -0
  365. package/src/react-ui/icons/lucide-animated/settings.tsx +92 -0
  366. package/src/react-ui/icons/lucide-animated/trending-down.tsx +151 -0
  367. package/src/react-ui/icons/lucide-animated/trending-up.tsx +150 -0
  368. package/src/react-ui/icons/lucide-animated/x.tsx +102 -0
  369. package/src/react-ui/primitives/AutoHeight/index.tsx +74 -0
  370. package/src/react-ui/primitives/CountingNumber/index.tsx +147 -0
  371. package/src/react-ui/primitives/Highlight/index.tsx +577 -0
  372. package/src/react-ui/primitives/Slot/index.tsx +128 -0
  373. package/src/react-ui/primitives/index.ts +16 -0
  374. package/src/react-ui/primitives/waapi/Morph/Morph.types.ts +106 -0
  375. package/src/react-ui/primitives/waapi/Morph/MorphContext.tsx +21 -0
  376. package/src/react-ui/primitives/waapi/Morph/index.tsx +56 -0
  377. package/src/react-ui/primitives/waapi/Morph/techniques/index.ts +12 -0
  378. package/src/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.ts +88 -0
  379. package/src/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.ts +175 -0
  380. package/src/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.ts +86 -0
  381. package/src/react-ui/primitives/waapi/Morph/useMorph.ts +100 -0
  382. package/src/react-ui/primitives/waapi/Reorder/Reorder.types.ts +177 -0
  383. package/src/react-ui/primitives/waapi/Reorder/index.tsx +260 -0
  384. package/src/react-ui/primitives/waapi/Reorder/useReorder.ts +46 -0
  385. package/src/react-ui/primitives/waapi/Reorder/useReorderPresence.ts +208 -0
  386. package/src/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.ts +104 -0
  387. package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.ts +14 -0
  388. package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.types.ts +84 -0
  389. package/src/react-ui/primitives/waapi/SlidingNumber/index.tsx +474 -0
  390. package/src/react-ui/primitives/waapi/SlidingText/SlidingText.styles.ts +32 -0
  391. package/src/react-ui/primitives/waapi/SlidingText/SlidingText.types.ts +69 -0
  392. package/src/react-ui/primitives/waapi/SlidingText/index.tsx +140 -0
  393. package/src/react-ui/primitives/waapi/core/animationConstants.ts +215 -0
  394. package/src/react-ui/primitives/waapi/core/index.ts +53 -0
  395. package/src/react-ui/primitives/waapi/core/types.ts +200 -0
  396. package/src/react-ui/primitives/waapi/core/useAnimationOrchestrator.ts +429 -0
  397. package/src/react-ui/primitives/waapi/core/useElementRegistry.ts +80 -0
  398. package/src/react-ui/primitives/waapi/core/useFLIPAnimation.ts +137 -0
  399. package/src/react-ui/primitives/waapi/core/usePositionCapture.ts +105 -0
  400. package/src/react-ui/primitives/waapi/index.ts +116 -0
  401. package/src/react-ui/styles/animations.css +369 -0
  402. package/src/react-ui/ui/Accordion/index.tsx +362 -0
  403. package/src/react-ui/ui/AlertDialog/index.tsx +540 -0
  404. package/src/react-ui/ui/Badge/index.tsx +34 -0
  405. package/src/react-ui/ui/Button/index.tsx +155 -0
  406. package/src/react-ui/ui/Card/index.tsx +130 -0
  407. package/src/react-ui/ui/Checkbox/index.tsx +233 -0
  408. package/src/react-ui/ui/Combobox/index.tsx +331 -0
  409. package/src/react-ui/ui/CornerBracket/index.tsx +49 -0
  410. package/src/react-ui/ui/DataCard/DataCard.styles.ts +150 -0
  411. package/src/react-ui/ui/DataCard/DataCard.types.ts +146 -0
  412. package/src/react-ui/ui/DataCard/index.tsx +406 -0
  413. package/src/react-ui/ui/Dialog/index.tsx +452 -0
  414. package/src/react-ui/ui/DropdownMenu/index.tsx +300 -0
  415. package/src/react-ui/ui/Field/index.tsx +254 -0
  416. package/src/react-ui/ui/Input/index.tsx +32 -0
  417. package/src/react-ui/ui/InputGroup/index.tsx +147 -0
  418. package/src/react-ui/ui/Label/index.tsx +27 -0
  419. package/src/react-ui/ui/Menu/Menu.types.ts +425 -0
  420. package/src/react-ui/ui/Menu/index.tsx +900 -0
  421. package/src/react-ui/ui/Popover/index.tsx +422 -0
  422. package/src/react-ui/ui/Progress/Progress.types.ts +162 -0
  423. package/src/react-ui/ui/Progress/index.tsx +254 -0
  424. package/src/react-ui/ui/Select/index.tsx +225 -0
  425. package/src/react-ui/ui/Separator/index.tsx +37 -0
  426. package/src/react-ui/ui/Switch/index.tsx +253 -0
  427. package/src/react-ui/ui/Tabs/Tabs.types.ts +250 -0
  428. package/src/react-ui/ui/Tabs/index.tsx +421 -0
  429. package/src/react-ui/ui/TextFlow/TextFlow.styles.ts +36 -0
  430. package/src/react-ui/ui/TextFlow/TextFlow.types.ts +118 -0
  431. package/src/react-ui/ui/TextFlow/index.tsx +276 -0
  432. package/src/react-ui/ui/Textarea/index.tsx +27 -0
  433. package/src/react-ui/ui/Tooltip/index.tsx +394 -0
  434. package/src/react-ui/ui/index.ts +37 -0
  435. package/dist/react/components/MorphingPopover/MorphingPopover.types.d.ts.map +0 -1
  436. package/dist/react/components/MorphingPopover/index.d.ts +0 -46
  437. package/dist/react/components/MorphingPopover/index.d.ts.map +0 -1
  438. package/dist/react/components/MorphingPopover/index.js +0 -119
  439. package/dist/react/components/MorphingPopover/morphing-popover.module.js +0 -5
  440. package/dist/react/components/index.d.ts.map +0 -1
  441. package/dist/react/hooks/Animation/UseAutoHeight.d.ts +0 -30
  442. package/dist/react/hooks/Animation/UseAutoHeight.d.ts.map +0 -1
  443. package/dist/react/hooks/Animation/UseAutoHeight.js +0 -80
  444. package/dist/react/hooks/DOM/UseIsInView.d.ts +0 -32
  445. package/dist/react/hooks/DOM/UseIsInView.d.ts.map +0 -1
  446. package/dist/react/hooks/DOM/UseIsInView.js +0 -33
  447. package/dist/react/hooks/State/UseControlledState.d.ts.map +0 -1
  448. package/dist/react/hooks/State/UseControlledState.js +0 -34
  449. package/dist/react/hooks/State/UseDataState.d.ts +0 -21
  450. package/dist/react/hooks/State/UseDataState.d.ts.map +0 -1
  451. package/dist/react/hooks/State/UseDataState.js +0 -63
  452. package/dist/react/hooks/index.d.ts +0 -14
  453. package/dist/react/hooks/index.d.ts.map +0 -1
  454. package/dist/react/hooks/index.js +0 -4
  455. package/dist/react/icons/index.d.ts.map +0 -1
  456. package/dist/react/icons/lucide-animated/activity.d.ts +0 -11
  457. package/dist/react/icons/lucide-animated/activity.d.ts.map +0 -1
  458. package/dist/react/icons/lucide-animated/activity.js +0 -75
  459. package/dist/react/icons/lucide-animated/arrow-down-to-line.d.ts +0 -23
  460. package/dist/react/icons/lucide-animated/arrow-down-to-line.d.ts.map +0 -1
  461. package/dist/react/icons/lucide-animated/arrow-down-to-line.js +0 -45
  462. package/dist/react/icons/lucide-animated/arrow-up.d.ts +0 -23
  463. package/dist/react/icons/lucide-animated/arrow-up.d.ts.map +0 -1
  464. package/dist/react/icons/lucide-animated/arrow-up.js +0 -41
  465. package/dist/react/icons/lucide-animated/bell-electric.d.ts +0 -11
  466. package/dist/react/icons/lucide-animated/bell-electric.d.ts.map +0 -1
  467. package/dist/react/icons/lucide-animated/bell-electric.js +0 -202
  468. package/dist/react/icons/lucide-animated/bell.d.ts +0 -11
  469. package/dist/react/icons/lucide-animated/bell.d.ts.map +0 -1
  470. package/dist/react/icons/lucide-animated/bell.js +0 -65
  471. package/dist/react/icons/lucide-animated/bot.d.ts +0 -11
  472. package/dist/react/icons/lucide-animated/bot.d.ts.map +0 -1
  473. package/dist/react/icons/lucide-animated/bot.js +0 -118
  474. package/dist/react/icons/lucide-animated/box.d.ts +0 -11
  475. package/dist/react/icons/lucide-animated/box.d.ts.map +0 -1
  476. package/dist/react/icons/lucide-animated/box.js +0 -86
  477. package/dist/react/icons/lucide-animated/check.d.ts.map +0 -1
  478. package/dist/react/icons/lucide-animated/check.js +0 -23
  479. package/dist/react/icons/lucide-animated/circle-check.d.ts +0 -11
  480. package/dist/react/icons/lucide-animated/circle-check.d.ts.map +0 -1
  481. package/dist/react/icons/lucide-animated/circle-check.js +0 -76
  482. package/dist/react/icons/lucide-animated/delete.d.ts +0 -11
  483. package/dist/react/icons/lucide-animated/delete.d.ts.map +0 -1
  484. package/dist/react/icons/lucide-animated/delete.js +0 -110
  485. package/dist/react/icons/lucide-animated/download.d.ts +0 -11
  486. package/dist/react/icons/lucide-animated/download.d.ts.map +0 -1
  487. package/dist/react/icons/lucide-animated/download.js +0 -70
  488. package/dist/react/icons/lucide-animated/edit-2.d.ts.map +0 -1
  489. package/dist/react/icons/lucide-animated/edit-2.js +0 -23
  490. package/dist/react/icons/lucide-animated/globe.d.ts.map +0 -1
  491. package/dist/react/icons/lucide-animated/globe.js +0 -31
  492. package/dist/react/icons/lucide-animated/home.d.ts +0 -11
  493. package/dist/react/icons/lucide-animated/home.d.ts.map +0 -1
  494. package/dist/react/icons/lucide-animated/home.js +0 -68
  495. package/dist/react/icons/lucide-animated/index.d.ts.map +0 -1
  496. package/dist/react/icons/lucide-animated/layers.d.ts.map +0 -1
  497. package/dist/react/icons/lucide-animated/layers.js +0 -27
  498. package/dist/react/icons/lucide-animated/layout-panel-top.d.ts +0 -11
  499. package/dist/react/icons/lucide-animated/layout-panel-top.d.ts.map +0 -1
  500. package/dist/react/icons/lucide-animated/layout-panel-top.js +0 -130
  501. package/dist/react/icons/lucide-animated/list.d.ts +0 -23
  502. package/dist/react/icons/lucide-animated/list.d.ts.map +0 -1
  503. package/dist/react/icons/lucide-animated/list.js +0 -78
  504. package/dist/react/icons/lucide-animated/package.d.ts.map +0 -1
  505. package/dist/react/icons/lucide-animated/package.js +0 -28
  506. package/dist/react/icons/lucide-animated/palette.d.ts.map +0 -1
  507. package/dist/react/icons/lucide-animated/palette.js +0 -49
  508. package/dist/react/icons/lucide-animated/plus.d.ts +0 -11
  509. package/dist/react/icons/lucide-animated/plus.d.ts.map +0 -1
  510. package/dist/react/icons/lucide-animated/plus.js +0 -59
  511. package/dist/react/icons/lucide-animated/refresh-cw.d.ts.map +0 -1
  512. package/dist/react/icons/lucide-animated/refresh-cw.js +0 -28
  513. package/dist/react/icons/lucide-animated/rocket.d.ts.map +0 -1
  514. package/dist/react/icons/lucide-animated/rocket.js +0 -28
  515. package/dist/react/icons/lucide-animated/save.d.ts.map +0 -1
  516. package/dist/react/icons/lucide-animated/save.js +0 -27
  517. package/dist/react/icons/lucide-animated/search.d.ts +0 -11
  518. package/dist/react/icons/lucide-animated/search.d.ts.map +0 -1
  519. package/dist/react/icons/lucide-animated/search.js +0 -78
  520. package/dist/react/icons/lucide-animated/settings.d.ts +0 -11
  521. package/dist/react/icons/lucide-animated/settings.d.ts.map +0 -1
  522. package/dist/react/icons/lucide-animated/settings.js +0 -63
  523. package/dist/react/icons/lucide-animated/terminal.d.ts +0 -24
  524. package/dist/react/icons/lucide-animated/terminal.d.ts.map +0 -1
  525. package/dist/react/icons/lucide-animated/terminal.js +0 -36
  526. package/dist/react/icons/lucide-animated/trash-2.d.ts.map +0 -1
  527. package/dist/react/icons/lucide-animated/trash-2.js +0 -39
  528. package/dist/react/icons/lucide-animated/trending-down.d.ts +0 -11
  529. package/dist/react/icons/lucide-animated/trending-down.d.ts.map +0 -1
  530. package/dist/react/icons/lucide-animated/trending-down.js +0 -123
  531. package/dist/react/icons/lucide-animated/trending-up.d.ts +0 -11
  532. package/dist/react/icons/lucide-animated/trending-up.d.ts.map +0 -1
  533. package/dist/react/icons/lucide-animated/trending-up.js +0 -123
  534. package/dist/react/icons/lucide-animated/type.d.ts.map +0 -1
  535. package/dist/react/icons/lucide-animated/type.js +0 -37
  536. package/dist/react/icons/lucide-animated/upload.d.ts.map +0 -1
  537. package/dist/react/icons/lucide-animated/upload.js +0 -32
  538. package/dist/react/icons/lucide-animated/x.d.ts +0 -11
  539. package/dist/react/icons/lucide-animated/x.d.ts.map +0 -1
  540. package/dist/react/icons/lucide-animated/x.js +0 -68
  541. package/dist/react/index.d.ts.map +0 -1
  542. package/dist/react/lib/get-strict-context.d.ts +0 -30
  543. package/dist/react/lib/get-strict-context.d.ts.map +0 -1
  544. package/dist/react/lib/get-strict-context.js +0 -40
  545. package/dist/react/lib/index.d.ts.map +0 -1
  546. package/dist/react/lib/utils.d.ts.map +0 -1
  547. package/dist/react/lib/utils.js +0 -27
  548. package/dist/react/primitives/AutoHeight/index.d.ts +0 -31
  549. package/dist/react/primitives/AutoHeight/index.d.ts.map +0 -1
  550. package/dist/react/primitives/AutoHeight/index.js +0 -52
  551. package/dist/react/primitives/CountingNumber/index.d.ts +0 -44
  552. package/dist/react/primitives/CountingNumber/index.d.ts.map +0 -1
  553. package/dist/react/primitives/CountingNumber/index.js +0 -97
  554. package/dist/react/primitives/Highlight/Highlight.types.d.ts.map +0 -1
  555. package/dist/react/primitives/Highlight/index.d.ts +0 -48
  556. package/dist/react/primitives/Highlight/index.d.ts.map +0 -1
  557. package/dist/react/primitives/Highlight/index.js +0 -396
  558. package/dist/react/primitives/Slot/index.d.ts +0 -53
  559. package/dist/react/primitives/Slot/index.d.ts.map +0 -1
  560. package/dist/react/primitives/Slot/index.js +0 -65
  561. package/dist/react/primitives/index.d.ts +0 -12
  562. package/dist/react/primitives/index.d.ts.map +0 -1
  563. package/dist/react/primitives/index.js +0 -4
  564. package/dist/react/ui/Accordion/Accordion.styles.d.ts.map +0 -1
  565. package/dist/react/ui/Accordion/Accordion.styles.js +0 -54
  566. package/dist/react/ui/Accordion/Accordion.types.d.ts.map +0 -1
  567. package/dist/react/ui/Accordion/index.d.ts.map +0 -1
  568. package/dist/react/ui/Accordion/index.js +0 -266
  569. package/dist/react/ui/AlertDialog/AlertDialog.styles.d.ts.map +0 -1
  570. package/dist/react/ui/AlertDialog/AlertDialog.styles.js +0 -29
  571. package/dist/react/ui/AlertDialog/AlertDialog.types.d.ts.map +0 -1
  572. package/dist/react/ui/AlertDialog/index.d.ts.map +0 -1
  573. package/dist/react/ui/AlertDialog/index.js +0 -319
  574. package/dist/react/ui/Badge/Badge.styles.d.ts.map +0 -1
  575. package/dist/react/ui/Badge/Badge.styles.js +0 -30
  576. package/dist/react/ui/Badge/Badge.types.d.ts.map +0 -1
  577. package/dist/react/ui/Badge/index.d.ts.map +0 -1
  578. package/dist/react/ui/Badge/index.js +0 -34
  579. package/dist/react/ui/Button/Button.styles.d.ts.map +0 -1
  580. package/dist/react/ui/Button/Button.styles.js +0 -40
  581. package/dist/react/ui/Button/Button.types.d.ts.map +0 -1
  582. package/dist/react/ui/Button/index.d.ts.map +0 -1
  583. package/dist/react/ui/Button/index.js +0 -103
  584. package/dist/react/ui/Card/Card.styles.d.ts.map +0 -1
  585. package/dist/react/ui/Card/Card.styles.js +0 -24
  586. package/dist/react/ui/Card/Card.types.d.ts.map +0 -1
  587. package/dist/react/ui/Card/index.d.ts.map +0 -1
  588. package/dist/react/ui/Card/index.js +0 -82
  589. package/dist/react/ui/Checkbox/Checkbox.styles.d.ts.map +0 -1
  590. package/dist/react/ui/Checkbox/Checkbox.styles.js +0 -34
  591. package/dist/react/ui/Checkbox/Checkbox.types.d.ts.map +0 -1
  592. package/dist/react/ui/Checkbox/index.d.ts.map +0 -1
  593. package/dist/react/ui/Checkbox/index.js +0 -158
  594. package/dist/react/ui/Combobox/Combobox.styles.d.ts.map +0 -1
  595. package/dist/react/ui/Combobox/Combobox.styles.js +0 -17
  596. package/dist/react/ui/Combobox/Combobox.types.d.ts.map +0 -1
  597. package/dist/react/ui/Combobox/index.d.ts +0 -60
  598. package/dist/react/ui/Combobox/index.d.ts.map +0 -1
  599. package/dist/react/ui/Combobox/index.js +0 -216
  600. package/dist/react/ui/CornerBracket/CornerBracket.styles.d.ts.map +0 -1
  601. package/dist/react/ui/CornerBracket/CornerBracket.styles.js +0 -30
  602. package/dist/react/ui/CornerBracket/CornerBracket.types.d.ts.map +0 -1
  603. package/dist/react/ui/CornerBracket/index.d.ts.map +0 -1
  604. package/dist/react/ui/CornerBracket/index.js +0 -42
  605. package/dist/react/ui/Dialog/Dialog.styles.d.ts.map +0 -1
  606. package/dist/react/ui/Dialog/Dialog.styles.js +0 -29
  607. package/dist/react/ui/Dialog/Dialog.types.d.ts +0 -221
  608. package/dist/react/ui/Dialog/Dialog.types.d.ts.map +0 -1
  609. package/dist/react/ui/Dialog/index.d.ts.map +0 -1
  610. package/dist/react/ui/Dialog/index.js +0 -265
  611. package/dist/react/ui/DropdownMenu/DropdownMenu.styles.d.ts.map +0 -1
  612. package/dist/react/ui/DropdownMenu/DropdownMenu.styles.js +0 -16
  613. package/dist/react/ui/DropdownMenu/DropdownMenu.types.d.ts.map +0 -1
  614. package/dist/react/ui/DropdownMenu/index.d.ts +0 -50
  615. package/dist/react/ui/DropdownMenu/index.d.ts.map +0 -1
  616. package/dist/react/ui/DropdownMenu/index.js +0 -181
  617. package/dist/react/ui/Field/Field.styles.d.ts.map +0 -1
  618. package/dist/react/ui/Field/Field.styles.js +0 -27
  619. package/dist/react/ui/Field/Field.types.d.ts.map +0 -1
  620. package/dist/react/ui/Field/index.d.ts.map +0 -1
  621. package/dist/react/ui/Field/index.js +0 -145
  622. package/dist/react/ui/Input/Input.styles.d.ts.map +0 -1
  623. package/dist/react/ui/Input/Input.styles.js +0 -5
  624. package/dist/react/ui/Input/Input.types.d.ts.map +0 -1
  625. package/dist/react/ui/Input/index.d.ts.map +0 -1
  626. package/dist/react/ui/Input/index.js +0 -29
  627. package/dist/react/ui/InputGroup/InputGroup.styles.d.ts.map +0 -1
  628. package/dist/react/ui/InputGroup/InputGroup.styles.js +0 -34
  629. package/dist/react/ui/InputGroup/InputGroup.types.d.ts.map +0 -1
  630. package/dist/react/ui/InputGroup/index.d.ts.map +0 -1
  631. package/dist/react/ui/InputGroup/index.js +0 -81
  632. package/dist/react/ui/Label/Label.styles.d.ts.map +0 -1
  633. package/dist/react/ui/Label/Label.styles.js +0 -5
  634. package/dist/react/ui/Label/Label.types.d.ts.map +0 -1
  635. package/dist/react/ui/Label/index.d.ts.map +0 -1
  636. package/dist/react/ui/Label/index.js +0 -24
  637. package/dist/react/ui/Menu/Menu.styles.d.ts.map +0 -1
  638. package/dist/react/ui/Menu/Menu.styles.js +0 -32
  639. package/dist/react/ui/Menu/Menu.types.d.ts +0 -328
  640. package/dist/react/ui/Menu/Menu.types.d.ts.map +0 -1
  641. package/dist/react/ui/Menu/index.d.ts.map +0 -1
  642. package/dist/react/ui/Menu/index.js +0 -636
  643. package/dist/react/ui/Popover/Popover.styles.d.ts.map +0 -1
  644. package/dist/react/ui/Popover/Popover.styles.js +0 -26
  645. package/dist/react/ui/Popover/Popover.types.d.ts +0 -204
  646. package/dist/react/ui/Popover/Popover.types.d.ts.map +0 -1
  647. package/dist/react/ui/Popover/index.d.ts.map +0 -1
  648. package/dist/react/ui/Popover/index.js +0 -237
  649. package/dist/react/ui/Progress/Progress.styles.d.ts.map +0 -1
  650. package/dist/react/ui/Progress/Progress.styles.js +0 -30
  651. package/dist/react/ui/Progress/Progress.types.d.ts +0 -148
  652. package/dist/react/ui/Progress/Progress.types.d.ts.map +0 -1
  653. package/dist/react/ui/Progress/index.d.ts.map +0 -1
  654. package/dist/react/ui/Progress/index.js +0 -170
  655. package/dist/react/ui/Select/Select.styles.d.ts.map +0 -1
  656. package/dist/react/ui/Select/Select.styles.js +0 -15
  657. package/dist/react/ui/Select/Select.types.d.ts.map +0 -1
  658. package/dist/react/ui/Select/index.d.ts +0 -38
  659. package/dist/react/ui/Select/index.d.ts.map +0 -1
  660. package/dist/react/ui/Select/index.js +0 -136
  661. package/dist/react/ui/Separator/Separator.styles.d.ts.map +0 -1
  662. package/dist/react/ui/Separator/Separator.styles.js +0 -5
  663. package/dist/react/ui/Separator/Separator.types.d.ts.map +0 -1
  664. package/dist/react/ui/Separator/index.d.ts.map +0 -1
  665. package/dist/react/ui/Separator/index.js +0 -29
  666. package/dist/react/ui/Switch/Switch.styles.d.ts.map +0 -1
  667. package/dist/react/ui/Switch/Switch.styles.js +0 -41
  668. package/dist/react/ui/Switch/Switch.types.d.ts.map +0 -1
  669. package/dist/react/ui/Switch/index.d.ts.map +0 -1
  670. package/dist/react/ui/Switch/index.js +0 -199
  671. package/dist/react/ui/Tabs/Tabs.styles.d.ts.map +0 -1
  672. package/dist/react/ui/Tabs/Tabs.styles.js +0 -26
  673. package/dist/react/ui/Tabs/Tabs.types.d.ts +0 -201
  674. package/dist/react/ui/Tabs/Tabs.types.d.ts.map +0 -1
  675. package/dist/react/ui/Tabs/index.d.ts.map +0 -1
  676. package/dist/react/ui/Tabs/index.js +0 -308
  677. package/dist/react/ui/Textarea/Textarea.styles.d.ts.map +0 -1
  678. package/dist/react/ui/Textarea/Textarea.styles.js +0 -5
  679. package/dist/react/ui/Textarea/Textarea.types.d.ts.map +0 -1
  680. package/dist/react/ui/Textarea/index.d.ts.map +0 -1
  681. package/dist/react/ui/Textarea/index.js +0 -24
  682. package/dist/react/ui/Tooltip/Tooltip.styles.d.ts.map +0 -1
  683. package/dist/react/ui/Tooltip/Tooltip.styles.js +0 -26
  684. package/dist/react/ui/Tooltip/Tooltip.types.d.ts +0 -203
  685. package/dist/react/ui/Tooltip/Tooltip.types.d.ts.map +0 -1
  686. package/dist/react/ui/Tooltip/index.d.ts.map +0 -1
  687. package/dist/react/ui/Tooltip/index.js +0 -219
  688. package/dist/react/ui/index.d.ts +0 -31
  689. package/dist/react/ui/index.d.ts.map +0 -1
  690. package/dist/react/ui/index.js +0 -37
  691. package/dist/react.js +0 -88
  692. package/src/react/components/MorphingPopover/index.tsx +0 -186
  693. package/src/react/hooks/index.ts +0 -17
  694. package/src/react/icons/lucide-animated/activity.tsx +0 -109
  695. package/src/react/icons/lucide-animated/bell-electric.tsx +0 -124
  696. package/src/react/icons/lucide-animated/bell.tsx +0 -93
  697. package/src/react/icons/lucide-animated/bot.tsx +0 -122
  698. package/src/react/icons/lucide-animated/box.tsx +0 -117
  699. package/src/react/icons/lucide-animated/circle-check.tsx +0 -107
  700. package/src/react/icons/lucide-animated/delete.tsx +0 -133
  701. package/src/react/icons/lucide-animated/download.tsx +0 -99
  702. package/src/react/icons/lucide-animated/home.tsx +0 -103
  703. package/src/react/icons/lucide-animated/layout-panel-top.tsx +0 -143
  704. package/src/react/icons/lucide-animated/plus.tsx +0 -92
  705. package/src/react/icons/lucide-animated/search.tsx +0 -94
  706. package/src/react/icons/lucide-animated/settings.tsx +0 -92
  707. package/src/react/icons/lucide-animated/trending-down.tsx +0 -151
  708. package/src/react/icons/lucide-animated/trending-up.tsx +0 -150
  709. package/src/react/icons/lucide-animated/x.tsx +0 -102
  710. package/src/react/primitives/AutoHeight/index.tsx +0 -74
  711. package/src/react/primitives/CountingNumber/index.tsx +0 -147
  712. package/src/react/primitives/Highlight/index.tsx +0 -577
  713. package/src/react/primitives/Slot/index.tsx +0 -128
  714. package/src/react/primitives/index.ts +0 -13
  715. package/src/react/ui/Accordion/index.tsx +0 -362
  716. package/src/react/ui/AlertDialog/index.tsx +0 -540
  717. package/src/react/ui/Badge/index.tsx +0 -34
  718. package/src/react/ui/Button/index.tsx +0 -155
  719. package/src/react/ui/Card/index.tsx +0 -130
  720. package/src/react/ui/Checkbox/index.tsx +0 -233
  721. package/src/react/ui/Combobox/index.tsx +0 -331
  722. package/src/react/ui/CornerBracket/index.tsx +0 -49
  723. package/src/react/ui/Dialog/index.tsx +0 -452
  724. package/src/react/ui/DropdownMenu/index.tsx +0 -300
  725. package/src/react/ui/Field/index.tsx +0 -254
  726. package/src/react/ui/Input/index.tsx +0 -32
  727. package/src/react/ui/InputGroup/index.tsx +0 -147
  728. package/src/react/ui/Label/index.tsx +0 -27
  729. package/src/react/ui/Menu/Menu.types.ts +0 -425
  730. package/src/react/ui/Menu/index.tsx +0 -900
  731. package/src/react/ui/Popover/index.tsx +0 -422
  732. package/src/react/ui/Progress/Progress.types.ts +0 -162
  733. package/src/react/ui/Progress/index.tsx +0 -254
  734. package/src/react/ui/Select/index.tsx +0 -225
  735. package/src/react/ui/Separator/index.tsx +0 -37
  736. package/src/react/ui/Switch/index.tsx +0 -253
  737. package/src/react/ui/Tabs/Tabs.types.ts +0 -250
  738. package/src/react/ui/Tabs/index.tsx +0 -421
  739. package/src/react/ui/Textarea/index.tsx +0 -27
  740. package/src/react/ui/Tooltip/index.tsx +0 -394
  741. package/src/react/ui/index.ts +0 -34
  742. /package/dist/{react → react-ui}/components/MorphingPopover/MorphingPopover.types.d.ts +0 -0
  743. /package/dist/{react/components/MorphingPopover/morphing-popover.module-BkcZcmVy.css → react-ui/components/MorphingPopover/morphing-popover.module-BycNI8nU.css} +0 -0
  744. /package/dist/{react → react-ui}/components/index.d.ts +0 -0
  745. /package/dist/{react → react-ui}/components/index.js +0 -0
  746. /package/dist/{react → react-ui}/hooks/State/UseControlledState.d.ts +0 -0
  747. /package/dist/{react → react-ui}/icons/index.d.ts +0 -0
  748. /package/dist/{react → react-ui}/icons/index.js +0 -0
  749. /package/dist/{react → react-ui}/icons/lucide-animated/check.d.ts +0 -0
  750. /package/dist/{react → react-ui}/icons/lucide-animated/edit-2.d.ts +0 -0
  751. /package/dist/{react → react-ui}/icons/lucide-animated/globe.d.ts +0 -0
  752. /package/dist/{react → react-ui}/icons/lucide-animated/index.d.ts +0 -0
  753. /package/dist/{react → react-ui}/icons/lucide-animated/index.js +0 -0
  754. /package/dist/{react → react-ui}/icons/lucide-animated/layers.d.ts +0 -0
  755. /package/dist/{react → react-ui}/icons/lucide-animated/package.d.ts +0 -0
  756. /package/dist/{react → react-ui}/icons/lucide-animated/palette.d.ts +0 -0
  757. /package/dist/{react → react-ui}/icons/lucide-animated/refresh-cw.d.ts +0 -0
  758. /package/dist/{react → react-ui}/icons/lucide-animated/rocket.d.ts +0 -0
  759. /package/dist/{react → react-ui}/icons/lucide-animated/save.d.ts +0 -0
  760. /package/dist/{react → react-ui}/icons/lucide-animated/trash-2.d.ts +0 -0
  761. /package/dist/{react → react-ui}/icons/lucide-animated/type.d.ts +0 -0
  762. /package/dist/{react → react-ui}/icons/lucide-animated/upload.d.ts +0 -0
  763. /package/dist/{react → react-ui}/index.d.ts +0 -0
  764. /package/dist/{react → react-ui}/lib/index.d.ts +0 -0
  765. /package/dist/{react → react-ui}/lib/index.js +0 -0
  766. /package/dist/{react → react-ui}/lib/utils.d.ts +0 -0
  767. /package/dist/{react → react-ui}/primitives/Highlight/Highlight.types.d.ts +0 -0
  768. /package/dist/{react → react-ui}/ui/Accordion/Accordion.styles.d.ts +0 -0
  769. /package/dist/{react → react-ui}/ui/Accordion/Accordion.types.d.ts +0 -0
  770. /package/dist/{react → react-ui}/ui/Accordion/index.d.ts +0 -0
  771. /package/dist/{react → react-ui}/ui/AlertDialog/AlertDialog.styles.d.ts +0 -0
  772. /package/dist/{react → react-ui}/ui/AlertDialog/AlertDialog.types.d.ts +0 -0
  773. /package/dist/{react → react-ui}/ui/AlertDialog/index.d.ts +0 -0
  774. /package/dist/{react → react-ui}/ui/Badge/Badge.styles.d.ts +0 -0
  775. /package/dist/{react → react-ui}/ui/Badge/Badge.types.d.ts +0 -0
  776. /package/dist/{react → react-ui}/ui/Badge/index.d.ts +0 -0
  777. /package/dist/{react → react-ui}/ui/Button/Button.styles.d.ts +0 -0
  778. /package/dist/{react → react-ui}/ui/Button/Button.types.d.ts +0 -0
  779. /package/dist/{react → react-ui}/ui/Button/index.d.ts +0 -0
  780. /package/dist/{react → react-ui}/ui/Card/Card.styles.d.ts +0 -0
  781. /package/dist/{react → react-ui}/ui/Card/Card.types.d.ts +0 -0
  782. /package/dist/{react → react-ui}/ui/Card/index.d.ts +0 -0
  783. /package/dist/{react → react-ui}/ui/Checkbox/Checkbox.styles.d.ts +0 -0
  784. /package/dist/{react → react-ui}/ui/Checkbox/Checkbox.types.d.ts +0 -0
  785. /package/dist/{react → react-ui}/ui/Checkbox/index.d.ts +0 -0
  786. /package/dist/{react → react-ui}/ui/Combobox/Combobox.styles.d.ts +0 -0
  787. /package/dist/{react → react-ui}/ui/Combobox/Combobox.types.d.ts +0 -0
  788. /package/dist/{react → react-ui}/ui/CornerBracket/CornerBracket.styles.d.ts +0 -0
  789. /package/dist/{react → react-ui}/ui/CornerBracket/CornerBracket.types.d.ts +0 -0
  790. /package/dist/{react → react-ui}/ui/CornerBracket/index.d.ts +0 -0
  791. /package/dist/{react → react-ui}/ui/Dialog/Dialog.styles.d.ts +0 -0
  792. /package/dist/{react → react-ui}/ui/Dialog/index.d.ts +0 -0
  793. /package/dist/{react → react-ui}/ui/DropdownMenu/DropdownMenu.styles.d.ts +0 -0
  794. /package/dist/{react → react-ui}/ui/DropdownMenu/DropdownMenu.types.d.ts +0 -0
  795. /package/dist/{react → react-ui}/ui/Field/Field.styles.d.ts +0 -0
  796. /package/dist/{react → react-ui}/ui/Field/Field.types.d.ts +0 -0
  797. /package/dist/{react → react-ui}/ui/Field/index.d.ts +0 -0
  798. /package/dist/{react → react-ui}/ui/Input/Input.styles.d.ts +0 -0
  799. /package/dist/{react → react-ui}/ui/Input/Input.types.d.ts +0 -0
  800. /package/dist/{react → react-ui}/ui/Input/index.d.ts +0 -0
  801. /package/dist/{react → react-ui}/ui/InputGroup/InputGroup.styles.d.ts +0 -0
  802. /package/dist/{react → react-ui}/ui/InputGroup/InputGroup.types.d.ts +0 -0
  803. /package/dist/{react → react-ui}/ui/InputGroup/index.d.ts +0 -0
  804. /package/dist/{react → react-ui}/ui/Label/Label.styles.d.ts +0 -0
  805. /package/dist/{react → react-ui}/ui/Label/Label.types.d.ts +0 -0
  806. /package/dist/{react → react-ui}/ui/Label/index.d.ts +0 -0
  807. /package/dist/{react → react-ui}/ui/Menu/Menu.styles.d.ts +0 -0
  808. /package/dist/{react → react-ui}/ui/Menu/index.d.ts +0 -0
  809. /package/dist/{react → react-ui}/ui/Popover/Popover.styles.d.ts +0 -0
  810. /package/dist/{react → react-ui}/ui/Popover/index.d.ts +0 -0
  811. /package/dist/{react → react-ui}/ui/Progress/Progress.styles.d.ts +0 -0
  812. /package/dist/{react → react-ui}/ui/Progress/index.d.ts +0 -0
  813. /package/dist/{react → react-ui}/ui/Select/Select.styles.d.ts +0 -0
  814. /package/dist/{react → react-ui}/ui/Select/Select.types.d.ts +0 -0
  815. /package/dist/{react → react-ui}/ui/Separator/Separator.styles.d.ts +0 -0
  816. /package/dist/{react → react-ui}/ui/Separator/Separator.types.d.ts +0 -0
  817. /package/dist/{react → react-ui}/ui/Separator/index.d.ts +0 -0
  818. /package/dist/{react → react-ui}/ui/Switch/Switch.styles.d.ts +0 -0
  819. /package/dist/{react → react-ui}/ui/Switch/Switch.types.d.ts +0 -0
  820. /package/dist/{react → react-ui}/ui/Switch/index.d.ts +0 -0
  821. /package/dist/{react → react-ui}/ui/Tabs/Tabs.styles.d.ts +0 -0
  822. /package/dist/{react → react-ui}/ui/Tabs/index.d.ts +0 -0
  823. /package/dist/{react → react-ui}/ui/Textarea/Textarea.styles.d.ts +0 -0
  824. /package/dist/{react → react-ui}/ui/Textarea/Textarea.types.d.ts +0 -0
  825. /package/dist/{react → react-ui}/ui/Textarea/index.d.ts +0 -0
  826. /package/dist/{react → react-ui}/ui/Tooltip/Tooltip.styles.d.ts +0 -0
  827. /package/dist/{react → react-ui}/ui/Tooltip/index.d.ts +0 -0
  828. /package/src/{react → react-ui}/components/MorphingPopover/MorphingPopover.types.ts +0 -0
  829. /package/src/{react → react-ui}/components/MorphingPopover/morphing-popover.module.css +0 -0
  830. /package/src/{react → react-ui}/components/index.ts +0 -0
  831. /package/src/{react → react-ui}/hooks/Animation/UseAutoHeight.tsx +0 -0
  832. /package/src/{react → react-ui}/hooks/DOM/UseIsInView.tsx +0 -0
  833. /package/src/{react → react-ui}/hooks/State/UseControlledState.tsx +0 -0
  834. /package/src/{react → react-ui}/hooks/State/UseDataState.tsx +0 -0
  835. /package/src/{react → react-ui}/icons/index.ts +0 -0
  836. /package/src/{react → react-ui}/icons/lucide-animated/arrow-down-to-line.tsx +0 -0
  837. /package/src/{react → react-ui}/icons/lucide-animated/arrow-up.tsx +0 -0
  838. /package/src/{react → react-ui}/icons/lucide-animated/check.tsx +0 -0
  839. /package/src/{react → react-ui}/icons/lucide-animated/edit-2.tsx +0 -0
  840. /package/src/{react → react-ui}/icons/lucide-animated/globe.tsx +0 -0
  841. /package/src/{react → react-ui}/icons/lucide-animated/index.ts +0 -0
  842. /package/src/{react → react-ui}/icons/lucide-animated/layers.tsx +0 -0
  843. /package/src/{react → react-ui}/icons/lucide-animated/list.tsx +0 -0
  844. /package/src/{react → react-ui}/icons/lucide-animated/package.tsx +0 -0
  845. /package/src/{react → react-ui}/icons/lucide-animated/palette.tsx +0 -0
  846. /package/src/{react → react-ui}/icons/lucide-animated/refresh-cw.tsx +0 -0
  847. /package/src/{react → react-ui}/icons/lucide-animated/rocket.tsx +0 -0
  848. /package/src/{react → react-ui}/icons/lucide-animated/save.tsx +0 -0
  849. /package/src/{react → react-ui}/icons/lucide-animated/terminal.tsx +0 -0
  850. /package/src/{react → react-ui}/icons/lucide-animated/trash-2.tsx +0 -0
  851. /package/src/{react → react-ui}/icons/lucide-animated/type.tsx +0 -0
  852. /package/src/{react → react-ui}/icons/lucide-animated/upload.tsx +0 -0
  853. /package/src/{react → react-ui}/index.ts +0 -0
  854. /package/src/{react → react-ui}/lib/get-strict-context.tsx +0 -0
  855. /package/src/{react → react-ui}/lib/index.ts +0 -0
  856. /package/src/{react → react-ui}/lib/utils.ts +0 -0
  857. /package/src/{react → react-ui}/primitives/Highlight/Highlight.types.ts +0 -0
  858. /package/src/{react → react-ui}/ui/Accordion/Accordion.styles.ts +0 -0
  859. /package/src/{react → react-ui}/ui/Accordion/Accordion.types.ts +0 -0
  860. /package/src/{react → react-ui}/ui/AlertDialog/AlertDialog.styles.ts +0 -0
  861. /package/src/{react → react-ui}/ui/AlertDialog/AlertDialog.types.ts +0 -0
  862. /package/src/{react → react-ui}/ui/Badge/Badge.styles.ts +0 -0
  863. /package/src/{react → react-ui}/ui/Badge/Badge.types.ts +0 -0
  864. /package/src/{react → react-ui}/ui/Button/Button.styles.ts +0 -0
  865. /package/src/{react → react-ui}/ui/Button/Button.types.ts +0 -0
  866. /package/src/{react → react-ui}/ui/Card/Card.styles.ts +0 -0
  867. /package/src/{react → react-ui}/ui/Card/Card.types.ts +0 -0
  868. /package/src/{react → react-ui}/ui/Checkbox/Checkbox.styles.ts +0 -0
  869. /package/src/{react → react-ui}/ui/Checkbox/Checkbox.types.ts +0 -0
  870. /package/src/{react → react-ui}/ui/Combobox/Combobox.styles.ts +0 -0
  871. /package/src/{react → react-ui}/ui/Combobox/Combobox.types.ts +0 -0
  872. /package/src/{react → react-ui}/ui/CornerBracket/CornerBracket.styles.ts +0 -0
  873. /package/src/{react → react-ui}/ui/CornerBracket/CornerBracket.types.ts +0 -0
  874. /package/src/{react → react-ui}/ui/Dialog/Dialog.styles.ts +0 -0
  875. /package/src/{react → react-ui}/ui/Dialog/Dialog.types.ts +0 -0
  876. /package/src/{react → react-ui}/ui/DropdownMenu/DropdownMenu.styles.ts +0 -0
  877. /package/src/{react → react-ui}/ui/DropdownMenu/DropdownMenu.types.ts +0 -0
  878. /package/src/{react → react-ui}/ui/Field/Field.styles.ts +0 -0
  879. /package/src/{react → react-ui}/ui/Field/Field.types.ts +0 -0
  880. /package/src/{react → react-ui}/ui/Input/Input.styles.ts +0 -0
  881. /package/src/{react → react-ui}/ui/Input/Input.types.ts +0 -0
  882. /package/src/{react → react-ui}/ui/InputGroup/InputGroup.styles.ts +0 -0
  883. /package/src/{react → react-ui}/ui/InputGroup/InputGroup.types.ts +0 -0
  884. /package/src/{react → react-ui}/ui/Label/Label.styles.ts +0 -0
  885. /package/src/{react → react-ui}/ui/Label/Label.types.ts +0 -0
  886. /package/src/{react → react-ui}/ui/Menu/Menu.styles.ts +0 -0
  887. /package/src/{react → react-ui}/ui/Popover/Popover.styles.ts +0 -0
  888. /package/src/{react → react-ui}/ui/Popover/Popover.types.ts +0 -0
  889. /package/src/{react → react-ui}/ui/Progress/Progress.styles.ts +0 -0
  890. /package/src/{react → react-ui}/ui/Select/Select.styles.ts +0 -0
  891. /package/src/{react → react-ui}/ui/Select/Select.types.ts +0 -0
  892. /package/src/{react → react-ui}/ui/Separator/Separator.styles.ts +0 -0
  893. /package/src/{react → react-ui}/ui/Separator/Separator.types.ts +0 -0
  894. /package/src/{react → react-ui}/ui/Switch/Switch.styles.ts +0 -0
  895. /package/src/{react → react-ui}/ui/Switch/Switch.types.ts +0 -0
  896. /package/src/{react → react-ui}/ui/Tabs/Tabs.styles.ts +0 -0
  897. /package/src/{react → react-ui}/ui/Textarea/Textarea.styles.ts +0 -0
  898. /package/src/{react → react-ui}/ui/Textarea/Textarea.types.ts +0 -0
  899. /package/src/{react → react-ui}/ui/Tooltip/Tooltip.styles.ts +0 -0
  900. /package/src/{react → react-ui}/ui/Tooltip/Tooltip.types.ts +0 -0
@@ -0,0 +1,900 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * Menu component -- animated dropdown/context menu built on base-ui Menu
5
+ * with motion transitions, highlight tracking, and the v0.2.0 slot system.
6
+ *
7
+ * Provides sub-components for triggers, items, checkbox items, radio groups,
8
+ * submenus, keyboard shortcut hints, separators, and animated highlights.
9
+ *
10
+ * @module @mks2508/mks-ui/react/ui/Menu
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <Menu>
15
+ * <MenuTrigger>Open Menu</MenuTrigger>
16
+ * <MenuPortal>
17
+ * <MenuPositioner sideOffset={8}>
18
+ * <MenuPopup className="rounded-lg border bg-zinc-900 p-1 shadow-xl">
19
+ * <MenuHighlight className="rounded-md bg-white/10" />
20
+ * <MenuHighlightItem>
21
+ * <MenuItem id="edit">Edit</MenuItem>
22
+ * </MenuHighlightItem>
23
+ * <MenuSeparator className="my-1 border-white/10" />
24
+ * <MenuHighlightItem>
25
+ * <MenuItem id="delete">Delete</MenuItem>
26
+ * </MenuHighlightItem>
27
+ * </MenuPopup>
28
+ * </MenuPositioner>
29
+ * </MenuPortal>
30
+ * </Menu>
31
+ * ```
32
+ */
33
+
34
+ import * as React from 'react';
35
+ import { Menu as MenuPrimitive } from '@base-ui/react/menu';
36
+ import { AnimatePresence, motion } from 'motion/react';
37
+
38
+ import {
39
+ Highlight,
40
+ HighlightItem,
41
+ } from '@/react-ui/primitives/Highlight';
42
+ import { getStrictContext } from '@/react-ui/lib/get-strict-context';
43
+ import { useControlledState } from '@/react-ui/hooks/State/UseControlledState';
44
+ import { useDataState } from '@/react-ui/hooks/State/UseDataState';
45
+ import { cn } from '@/react-ui/lib/utils';
46
+ import { menuStyles } from './Menu.styles';
47
+
48
+ import type {
49
+ MenuActiveValueContextType,
50
+ MenuContextType,
51
+ IMenuProps,
52
+ IMenuTriggerProps,
53
+ IMenuPortalProps,
54
+ IMenuGroupProps,
55
+ IMenuGroupLabelProps,
56
+ IMenuSubmenuProps,
57
+ IMenuSubmenuTriggerProps,
58
+ IMenuHighlightProps,
59
+ IMenuHighlightItemProps,
60
+ IMenuPositionerProps,
61
+ IMenuPopupProps,
62
+ IMenuItemProps,
63
+ IMenuCheckboxItemProps,
64
+ IMenuCheckboxItemIndicatorProps,
65
+ IMenuRadioGroupProps,
66
+ IMenuRadioItemProps,
67
+ IMenuRadioItemIndicatorProps,
68
+ IMenuShortcutProps,
69
+ IMenuArrowProps,
70
+ IMenuSeparatorProps,
71
+ } from './Menu.types';
72
+
73
+ // ---------------------------------------------------------------------------
74
+ // Context
75
+ // ---------------------------------------------------------------------------
76
+
77
+ const [MenuActiveValueProvider, useMenuActiveValue] =
78
+ getStrictContext<MenuActiveValueContextType>('MenuActiveValueContext');
79
+
80
+ const [MenuProvider, useMenu] =
81
+ getStrictContext<MenuContextType>('MenuContext');
82
+
83
+ // ---------------------------------------------------------------------------
84
+ // Menu (Root)
85
+ // ---------------------------------------------------------------------------
86
+
87
+ /**
88
+ * Root Menu component -- provides open/close state and highlighted-value context.
89
+ * Wraps base-ui Menu.Root with controlled state management.
90
+ *
91
+ * @param open - Controlled open state
92
+ * @param defaultOpen - Uncontrolled initial open state
93
+ * @param onOpenChange - Callback when open state changes
94
+ * @param slots - Partial class overrides per slot
95
+ * @param config - Menu behavior / animation configuration
96
+ *
97
+ * @example
98
+ * ```tsx
99
+ * <Menu slots={{ popup: 'bg-zinc-900' }}>
100
+ * <MenuTrigger>Actions</MenuTrigger>
101
+ * <MenuPortal>...</MenuPortal>
102
+ * </Menu>
103
+ * ```
104
+ */
105
+ function Menu({ slots, config, ...props }: IMenuProps) {
106
+ const [isOpen, setIsOpen] = useControlledState({
107
+ value: props?.open,
108
+ defaultValue: props?.defaultOpen,
109
+ onChange: props?.onOpenChange,
110
+ });
111
+ const [highlightedValue, setHighlightedValue] = React.useState<string | null>(
112
+ null,
113
+ );
114
+
115
+ return (
116
+ <MenuActiveValueProvider value={{ highlightedValue, setHighlightedValue }}>
117
+ <MenuProvider value={{ isOpen, setIsOpen }}>
118
+ <MenuPrimitive.Root
119
+ data-slot="menu"
120
+ {...props}
121
+ onOpenChange={setIsOpen}
122
+ />
123
+ </MenuProvider>
124
+ </MenuActiveValueProvider>
125
+ );
126
+ }
127
+
128
+ // ---------------------------------------------------------------------------
129
+ // MenuTrigger
130
+ // ---------------------------------------------------------------------------
131
+
132
+ /**
133
+ * MenuTrigger -- the interactive element that toggles the menu open/closed.
134
+ * Renders a base-ui Menu.Trigger with the `trigger` slot classes.
135
+ *
136
+ * @param slots - Partial class overrides per slot
137
+ * @param className - Additional class names
138
+ *
139
+ * @example
140
+ * ```tsx
141
+ * <MenuTrigger className="rounded-md px-3 py-1.5">
142
+ * Open Menu
143
+ * </MenuTrigger>
144
+ * ```
145
+ */
146
+ function MenuTrigger({ slots, className, ...props }: IMenuTriggerProps) {
147
+ return (
148
+ <MenuPrimitive.Trigger
149
+ data-slot="menu-trigger"
150
+ className={cn(menuStyles.trigger, slots?.trigger, className)}
151
+ {...props}
152
+ />
153
+ );
154
+ }
155
+
156
+ // ---------------------------------------------------------------------------
157
+ // MenuPortal
158
+ // ---------------------------------------------------------------------------
159
+
160
+ /**
161
+ * MenuPortal -- wraps menu content in a portal with AnimatePresence.
162
+ * Internally keeps the portal mounted and uses AnimatePresence for
163
+ * smooth enter/exit transitions of children.
164
+ *
165
+ * @example
166
+ * ```tsx
167
+ * <MenuPortal>
168
+ * <MenuPositioner>
169
+ * <MenuPopup>...</MenuPopup>
170
+ * </MenuPositioner>
171
+ * </MenuPortal>
172
+ * ```
173
+ */
174
+ function MenuPortal(props: IMenuPortalProps) {
175
+ const { isOpen } = useMenu();
176
+
177
+ return (
178
+ <AnimatePresence>
179
+ {isOpen && (
180
+ <MenuPrimitive.Portal keepMounted data-slot="menu-portal" {...props} />
181
+ )}
182
+ </AnimatePresence>
183
+ );
184
+ }
185
+
186
+ // ---------------------------------------------------------------------------
187
+ // MenuGroup
188
+ // ---------------------------------------------------------------------------
189
+
190
+ /**
191
+ * MenuGroup -- logical grouping of related menu items.
192
+ * Renders a base-ui Menu.Group with the `group` slot classes.
193
+ *
194
+ * @param slots - Partial class overrides per slot
195
+ * @param className - Additional class names
196
+ *
197
+ * @example
198
+ * ```tsx
199
+ * <MenuGroup>
200
+ * <MenuGroupLabel>Editing</MenuGroupLabel>
201
+ * <MenuItem id="cut">Cut</MenuItem>
202
+ * <MenuItem id="copy">Copy</MenuItem>
203
+ * </MenuGroup>
204
+ * ```
205
+ */
206
+ function MenuGroup({ slots, className, ...props }: IMenuGroupProps) {
207
+ return (
208
+ <MenuPrimitive.Group
209
+ data-slot="menu-group"
210
+ className={cn(menuStyles.group, slots?.group, className)}
211
+ {...props}
212
+ />
213
+ );
214
+ }
215
+
216
+ // ---------------------------------------------------------------------------
217
+ // MenuGroupLabel
218
+ // ---------------------------------------------------------------------------
219
+
220
+ /**
221
+ * MenuGroupLabel -- heading text for a MenuGroup.
222
+ * Renders a base-ui Menu.GroupLabel with the `groupLabel` slot classes.
223
+ *
224
+ * @param slots - Partial class overrides per slot
225
+ * @param className - Additional class names
226
+ *
227
+ * @example
228
+ * ```tsx
229
+ * <MenuGroupLabel className="text-xs font-medium uppercase tracking-wider">
230
+ * Navigation
231
+ * </MenuGroupLabel>
232
+ * ```
233
+ */
234
+ function MenuGroupLabel({ slots, className, ...props }: IMenuGroupLabelProps) {
235
+ return (
236
+ <MenuPrimitive.GroupLabel
237
+ data-slot="menu-group-label"
238
+ className={cn(menuStyles.groupLabel, slots?.groupLabel, className)}
239
+ {...props}
240
+ />
241
+ );
242
+ }
243
+
244
+ // ---------------------------------------------------------------------------
245
+ // MenuSubmenu
246
+ // ---------------------------------------------------------------------------
247
+
248
+ /**
249
+ * MenuSubmenu -- a nested sub-menu with its own open/close state.
250
+ * Wraps base-ui Menu.SubmenuRoot and provides a scoped MenuProvider.
251
+ *
252
+ * @param open - Controlled open state
253
+ * @param defaultOpen - Uncontrolled initial open state
254
+ * @param onOpenChange - Callback when open state changes
255
+ *
256
+ * @example
257
+ * ```tsx
258
+ * <MenuSubmenu>
259
+ * <MenuSubmenuTrigger>More Actions</MenuSubmenuTrigger>
260
+ * <MenuPortal>
261
+ * <MenuPositioner>
262
+ * <MenuPopup>
263
+ * <MenuItem id="archive">Archive</MenuItem>
264
+ * </MenuPopup>
265
+ * </MenuPositioner>
266
+ * </MenuPortal>
267
+ * </MenuSubmenu>
268
+ * ```
269
+ */
270
+ function MenuSubmenu(props: IMenuSubmenuProps) {
271
+ const [isOpen, setIsOpen] = useControlledState({
272
+ value: props?.open,
273
+ defaultValue: props?.defaultOpen,
274
+ onChange: props?.onOpenChange,
275
+ });
276
+
277
+ return (
278
+ <MenuProvider value={{ isOpen, setIsOpen }}>
279
+ <MenuPrimitive.SubmenuRoot
280
+ data-slot="menu-submenu"
281
+ {...props}
282
+ onOpenChange={setIsOpen}
283
+ />
284
+ </MenuProvider>
285
+ );
286
+ }
287
+
288
+ // ---------------------------------------------------------------------------
289
+ // MenuSubmenuTrigger
290
+ // ---------------------------------------------------------------------------
291
+
292
+ /**
293
+ * MenuSubmenuTrigger -- the item that opens a submenu on hover/focus.
294
+ * Tracks its own highlighted state via useDataState for highlight integration.
295
+ *
296
+ * @param label - Accessible label for the trigger
297
+ * @param id - Unique identifier used for highlight tracking
298
+ * @param disabled - Whether the trigger is disabled
299
+ * @param slots - Partial class overrides per slot
300
+ * @param className - Additional class names
301
+ *
302
+ * @example
303
+ * ```tsx
304
+ * <MenuSubmenuTrigger id="more" label="More actions">
305
+ * More...
306
+ * </MenuSubmenuTrigger>
307
+ * ```
308
+ */
309
+ function MenuSubmenuTrigger({
310
+ label,
311
+ id,
312
+ nativeButton,
313
+ slots,
314
+ className,
315
+ ...props
316
+ }: IMenuSubmenuTriggerProps) {
317
+ const { setHighlightedValue } = useMenuActiveValue();
318
+ const [, highlightedRef] = useDataState<HTMLDivElement>(
319
+ 'highlighted',
320
+ undefined,
321
+ (value) => {
322
+ if (value === true) {
323
+ const el = highlightedRef.current;
324
+ const v = el?.dataset.value || el?.id || null;
325
+ if (v) setHighlightedValue(v);
326
+ }
327
+ },
328
+ );
329
+
330
+ return (
331
+ <MenuPrimitive.SubmenuTrigger
332
+ ref={highlightedRef}
333
+ label={label}
334
+ id={id}
335
+ nativeButton={nativeButton}
336
+ data-slot="menu-submenu-trigger"
337
+ className={cn(menuStyles.submenuTrigger, slots?.submenuTrigger, className)}
338
+ {...(props as any)}
339
+ />
340
+ );
341
+ }
342
+
343
+ // ---------------------------------------------------------------------------
344
+ // MenuHighlight
345
+ // ---------------------------------------------------------------------------
346
+
347
+ /**
348
+ * MenuHighlight -- animated background that follows the currently
349
+ * focused/highlighted menu item. Wraps the Highlight primitive with
350
+ * menu-specific defaults (spring transition, no click activation).
351
+ *
352
+ * @param transition - Motion transition config (default: spring 350/35)
353
+ * @param animateOnHover - Whether to activate on hover
354
+ * @param slots - Partial class overrides per slot
355
+ * @param className - Additional class names
356
+ *
357
+ * @example
358
+ * ```tsx
359
+ * <MenuHighlight className="rounded-md bg-white/10" />
360
+ * ```
361
+ */
362
+ function MenuHighlight({
363
+ transition = { type: 'spring', stiffness: 350, damping: 35 },
364
+ slots,
365
+ className,
366
+ ...props
367
+ }: IMenuHighlightProps) {
368
+ const { highlightedValue } = useMenuActiveValue();
369
+
370
+ return (
371
+ <Highlight
372
+ data-slot="menu-highlight"
373
+ click={false}
374
+ controlledItems
375
+ transition={transition}
376
+ value={highlightedValue}
377
+ className={cn(menuStyles.highlight, slots?.highlight, className)}
378
+ {...props}
379
+ />
380
+ );
381
+ }
382
+
383
+ // ---------------------------------------------------------------------------
384
+ // MenuHighlightItem
385
+ // ---------------------------------------------------------------------------
386
+
387
+ /**
388
+ * MenuHighlightItem -- wraps a MenuItem for highlight position tracking.
389
+ * Must be placed inside a MenuHighlight context.
390
+ *
391
+ * @param slots - Partial class overrides per slot
392
+ *
393
+ * @example
394
+ * ```tsx
395
+ * <MenuHighlight className="rounded bg-white/10">
396
+ * <MenuHighlightItem>
397
+ * <MenuItem id="edit">Edit</MenuItem>
398
+ * </MenuHighlightItem>
399
+ * </MenuHighlight>
400
+ * ```
401
+ */
402
+ function MenuHighlightItem({ slots, ...props }: IMenuHighlightItemProps) {
403
+ return <HighlightItem data-slot="menu-highlight-item" {...props} />;
404
+ }
405
+
406
+ // ---------------------------------------------------------------------------
407
+ // MenuPositioner
408
+ // ---------------------------------------------------------------------------
409
+
410
+ /**
411
+ * MenuPositioner -- positions the popup relative to the trigger element.
412
+ * Thin wrapper over base-ui Menu.Positioner.
413
+ *
414
+ * @param sideOffset - Gap between trigger and popup
415
+ * @param align - Alignment along the trigger edge
416
+ *
417
+ * @example
418
+ * ```tsx
419
+ * <MenuPositioner sideOffset={8} align="start">
420
+ * <MenuPopup>...</MenuPopup>
421
+ * </MenuPositioner>
422
+ * ```
423
+ */
424
+ function MenuPositioner(props: IMenuPositionerProps) {
425
+ return <MenuPrimitive.Positioner data-slot="menu-positioner" {...props} />;
426
+ }
427
+
428
+ // ---------------------------------------------------------------------------
429
+ // MenuPopup
430
+ // ---------------------------------------------------------------------------
431
+
432
+ /**
433
+ * MenuPopup -- the visible flyout surface containing menu items.
434
+ * Uses Motion for animated entrance (scale + opacity) and exit.
435
+ *
436
+ * @param transition - Motion transition config (default: 0.2s duration)
437
+ * @param slots - Partial class overrides per slot
438
+ * @param className - Additional class names
439
+ * @param style - Inline styles merged with will-change hint
440
+ *
441
+ * @example
442
+ * ```tsx
443
+ * <MenuPopup className="min-w-[180px] rounded-lg border bg-zinc-900 p-1 shadow-xl">
444
+ * <MenuItem id="edit">Edit</MenuItem>
445
+ * <MenuItem id="delete">Delete</MenuItem>
446
+ * </MenuPopup>
447
+ * ```
448
+ */
449
+ function MenuPopup({
450
+ finalFocus,
451
+ id,
452
+ transition = { duration: 0.2 },
453
+ style,
454
+ slots,
455
+ className,
456
+ ...props
457
+ }: IMenuPopupProps) {
458
+ return (
459
+ <MenuPrimitive.Popup
460
+ finalFocus={finalFocus}
461
+ id={id}
462
+ render={
463
+ <motion.div
464
+ key="menu-popup"
465
+ data-slot="menu-popup"
466
+ initial={{ opacity: 0, scale: 0.95 }}
467
+ animate={{ opacity: 1, scale: 1 }}
468
+ exit={{ opacity: 0, scale: 0.95 }}
469
+ transition={transition}
470
+ style={{ willChange: 'opacity, transform', ...style }}
471
+ className={cn(menuStyles.popup, slots?.popup, className)}
472
+ {...(props as any)}
473
+ />
474
+ }
475
+ />
476
+ );
477
+ }
478
+
479
+ // ---------------------------------------------------------------------------
480
+ // MenuItem
481
+ // ---------------------------------------------------------------------------
482
+
483
+ /**
484
+ * MenuItem -- a single actionable row within the menu.
485
+ * Tracks highlight state via useDataState for animated highlight integration.
486
+ *
487
+ * @param id - Unique identifier, also used as highlight tracking value
488
+ * @param label - Accessible label
489
+ * @param disabled - Whether the item is disabled
490
+ * @param closeOnClick - Close menu when this item is clicked
491
+ * @param slots - Partial class overrides per slot
492
+ * @param className - Additional class names
493
+ *
494
+ * @example
495
+ * ```tsx
496
+ * <MenuItem id="edit" label="Edit document">
497
+ * <PencilIcon className="mr-2 size-4" />
498
+ * Edit
499
+ * <MenuShortcut>Ctrl+E</MenuShortcut>
500
+ * </MenuItem>
501
+ * ```
502
+ */
503
+ function MenuItem({
504
+ disabled,
505
+ label,
506
+ closeOnClick,
507
+ nativeButton,
508
+ id,
509
+ slots,
510
+ className,
511
+ ...props
512
+ }: IMenuItemProps) {
513
+ const { setHighlightedValue } = useMenuActiveValue();
514
+ const [, highlightedRef] = useDataState<HTMLDivElement>(
515
+ 'highlighted',
516
+ undefined,
517
+ (value) => {
518
+ if (value === true) {
519
+ const el = highlightedRef.current;
520
+ const v = el?.dataset.value || el?.id || null;
521
+ if (v) setHighlightedValue(v);
522
+ }
523
+ },
524
+ );
525
+
526
+ return (
527
+ <MenuPrimitive.Item
528
+ ref={highlightedRef}
529
+ label={label}
530
+ closeOnClick={closeOnClick}
531
+ nativeButton={nativeButton}
532
+ disabled={disabled}
533
+ id={id}
534
+ data-slot="menu-item"
535
+ className={cn(menuStyles.item, slots?.item, className)}
536
+ {...(props as any)}
537
+ />
538
+ );
539
+ }
540
+
541
+ // ---------------------------------------------------------------------------
542
+ // MenuCheckboxItem
543
+ // ---------------------------------------------------------------------------
544
+
545
+ /**
546
+ * MenuCheckboxItem -- a toggleable checkbox item within the menu.
547
+ * Tracks highlight state for animated highlight integration.
548
+ *
549
+ * @param checked - Controlled checked state
550
+ * @param defaultChecked - Uncontrolled initial checked state
551
+ * @param onCheckedChange - Callback when checked state changes
552
+ * @param disabled - Whether the item is disabled
553
+ * @param slots - Partial class overrides per slot
554
+ * @param className - Additional class names
555
+ *
556
+ * @example
557
+ * ```tsx
558
+ * <MenuCheckboxItem checked={showGrid} onCheckedChange={setShowGrid}>
559
+ * <MenuCheckboxItemIndicator>
560
+ * <CheckIcon />
561
+ * </MenuCheckboxItemIndicator>
562
+ * Show Grid
563
+ * </MenuCheckboxItem>
564
+ * ```
565
+ */
566
+ function MenuCheckboxItem({
567
+ label,
568
+ defaultChecked,
569
+ checked,
570
+ onCheckedChange,
571
+ disabled,
572
+ closeOnClick,
573
+ nativeButton,
574
+ id,
575
+ slots,
576
+ className,
577
+ ...props
578
+ }: IMenuCheckboxItemProps) {
579
+ const { setHighlightedValue } = useMenuActiveValue();
580
+ const [, highlightedRef] = useDataState<HTMLDivElement>(
581
+ 'highlighted',
582
+ undefined,
583
+ (value) => {
584
+ if (value === true) {
585
+ const el = highlightedRef.current;
586
+ const v = el?.dataset.value || el?.id || null;
587
+ if (v) setHighlightedValue(v);
588
+ }
589
+ },
590
+ );
591
+
592
+ return (
593
+ <MenuPrimitive.CheckboxItem
594
+ ref={highlightedRef}
595
+ label={label}
596
+ checked={checked}
597
+ defaultChecked={defaultChecked}
598
+ onCheckedChange={onCheckedChange}
599
+ disabled={disabled}
600
+ closeOnClick={closeOnClick}
601
+ nativeButton={nativeButton}
602
+ id={id}
603
+ data-slot="menu-checkbox-item"
604
+ className={cn(menuStyles.checkboxItem, slots?.checkboxItem, className)}
605
+ {...props}
606
+ />
607
+ );
608
+ }
609
+
610
+ // ---------------------------------------------------------------------------
611
+ // MenuCheckboxItemIndicator
612
+ // ---------------------------------------------------------------------------
613
+
614
+ /**
615
+ * MenuCheckboxItemIndicator -- the visual check/indeterminate icon.
616
+ * Renders via a motion.div for animated enter/exit transitions.
617
+ *
618
+ * @param keepMounted - Keep in DOM when unchecked (for exit animations)
619
+ *
620
+ * @example
621
+ * ```tsx
622
+ * <MenuCheckboxItemIndicator
623
+ * initial={{ opacity: 0, scale: 0.8 }}
624
+ * animate={{ opacity: 1, scale: 1 }}
625
+ * >
626
+ * <CheckIcon className="size-4" />
627
+ * </MenuCheckboxItemIndicator>
628
+ * ```
629
+ */
630
+ function MenuCheckboxItemIndicator({
631
+ keepMounted,
632
+ ...props
633
+ }: IMenuCheckboxItemIndicatorProps) {
634
+ return (
635
+ <MenuPrimitive.CheckboxItemIndicator
636
+ data-slot="menu-checkbox-item-indicator"
637
+ keepMounted={keepMounted}
638
+ render={
639
+ <motion.div data-slot="menu-checkbox-item-indicator" {...(props as any)} />
640
+ }
641
+ />
642
+ );
643
+ }
644
+
645
+ // ---------------------------------------------------------------------------
646
+ // MenuRadioGroup
647
+ // ---------------------------------------------------------------------------
648
+
649
+ /**
650
+ * MenuRadioGroup -- groups radio items for single-selection within a menu.
651
+ * Wraps base-ui Menu.RadioGroup.
652
+ *
653
+ * @param value - Controlled selected value
654
+ * @param defaultValue - Uncontrolled initial selected value
655
+ * @param onValueChange - Callback when selection changes
656
+ *
657
+ * @example
658
+ * ```tsx
659
+ * <MenuRadioGroup value={sortBy} onValueChange={setSortBy}>
660
+ * <MenuRadioItem value="name">Name</MenuRadioItem>
661
+ * <MenuRadioItem value="date">Date</MenuRadioItem>
662
+ * <MenuRadioItem value="size">Size</MenuRadioItem>
663
+ * </MenuRadioGroup>
664
+ * ```
665
+ */
666
+ function MenuRadioGroup(props: IMenuRadioGroupProps) {
667
+ return <MenuPrimitive.RadioGroup data-slot="menu-radio-group" {...props} />;
668
+ }
669
+
670
+ // ---------------------------------------------------------------------------
671
+ // MenuRadioItem
672
+ // ---------------------------------------------------------------------------
673
+
674
+ /**
675
+ * MenuRadioItem -- a single option within a MenuRadioGroup.
676
+ * Tracks highlight state for animated highlight integration.
677
+ *
678
+ * @param value - The value this item represents
679
+ * @param disabled - Whether the item is disabled
680
+ * @param label - Accessible label
681
+ * @param slots - Partial class overrides per slot
682
+ * @param className - Additional class names
683
+ *
684
+ * @example
685
+ * ```tsx
686
+ * <MenuRadioItem value="name">
687
+ * <MenuRadioItemIndicator>
688
+ * <DotIcon />
689
+ * </MenuRadioItemIndicator>
690
+ * Sort by Name
691
+ * </MenuRadioItem>
692
+ * ```
693
+ */
694
+ function MenuRadioItem({
695
+ value,
696
+ disabled,
697
+ label,
698
+ closeOnClick,
699
+ nativeButton,
700
+ id,
701
+ slots,
702
+ className,
703
+ ...props
704
+ }: IMenuRadioItemProps) {
705
+ const { setHighlightedValue } = useMenuActiveValue();
706
+ const [, highlightedRef] = useDataState<HTMLDivElement>(
707
+ 'highlighted',
708
+ undefined,
709
+ (value) => {
710
+ if (value === true) {
711
+ const el = highlightedRef.current;
712
+ const v = el?.dataset.value || el?.id || null;
713
+ if (v) setHighlightedValue(v);
714
+ }
715
+ },
716
+ );
717
+
718
+ return (
719
+ <MenuPrimitive.RadioItem
720
+ ref={highlightedRef}
721
+ value={value}
722
+ disabled={disabled}
723
+ label={label}
724
+ closeOnClick={closeOnClick}
725
+ nativeButton={nativeButton}
726
+ id={id}
727
+ data-slot="menu-radio-item"
728
+ className={cn(menuStyles.radioItem, slots?.radioItem, className)}
729
+ {...props}
730
+ />
731
+ );
732
+ }
733
+
734
+ // ---------------------------------------------------------------------------
735
+ // MenuRadioItemIndicator
736
+ // ---------------------------------------------------------------------------
737
+
738
+ /**
739
+ * MenuRadioItemIndicator -- the selection dot/icon for a radio item.
740
+ * Renders via a motion.div for animated enter/exit transitions.
741
+ *
742
+ * @param keepMounted - Keep in DOM when unselected (for exit animations)
743
+ *
744
+ * @example
745
+ * ```tsx
746
+ * <MenuRadioItemIndicator
747
+ * initial={{ opacity: 0 }}
748
+ * animate={{ opacity: 1 }}
749
+ * >
750
+ * <DotFilledIcon className="size-4" />
751
+ * </MenuRadioItemIndicator>
752
+ * ```
753
+ */
754
+ function MenuRadioItemIndicator({
755
+ keepMounted,
756
+ ...props
757
+ }: IMenuRadioItemIndicatorProps) {
758
+ return (
759
+ <MenuPrimitive.RadioItemIndicator
760
+ data-slot="menu-radio-item-indicator"
761
+ keepMounted={keepMounted}
762
+ render={<motion.div data-slot="menu-radio-item-indicator" {...(props as any)} />}
763
+ />
764
+ );
765
+ }
766
+
767
+ // ---------------------------------------------------------------------------
768
+ // MenuShortcut
769
+ // ---------------------------------------------------------------------------
770
+
771
+ /**
772
+ * MenuShortcut -- displays a keyboard shortcut hint aligned to the right.
773
+ * Renders a plain `<span>` with the `shortcut` slot classes.
774
+ *
775
+ * @param slots - Partial class overrides per slot
776
+ * @param className - Additional class names
777
+ *
778
+ * @example
779
+ * ```tsx
780
+ * <MenuItem id="copy">
781
+ * Copy
782
+ * <MenuShortcut>Ctrl+C</MenuShortcut>
783
+ * </MenuItem>
784
+ * ```
785
+ */
786
+ function MenuShortcut({ slots, className, ...props }: IMenuShortcutProps) {
787
+ return (
788
+ <span
789
+ data-slot="menu-shortcut"
790
+ className={cn(menuStyles.shortcut, slots?.shortcut, className)}
791
+ {...props}
792
+ />
793
+ );
794
+ }
795
+
796
+ // ---------------------------------------------------------------------------
797
+ // MenuArrow
798
+ // ---------------------------------------------------------------------------
799
+
800
+ /**
801
+ * MenuArrow -- the directional caret/arrow on the popup edge.
802
+ * Wraps base-ui Menu.Arrow.
803
+ *
804
+ * @example
805
+ * ```tsx
806
+ * <MenuPopup>
807
+ * <MenuArrow className="fill-zinc-800" />
808
+ * <MenuItem id="edit">Edit</MenuItem>
809
+ * </MenuPopup>
810
+ * ```
811
+ */
812
+ function MenuArrow(props: IMenuArrowProps) {
813
+ return <MenuPrimitive.Arrow data-slot="menu-arrow" {...props} />;
814
+ }
815
+
816
+ // ---------------------------------------------------------------------------
817
+ // MenuSeparator
818
+ // ---------------------------------------------------------------------------
819
+
820
+ /**
821
+ * MenuSeparator -- a horizontal divider between menu items or groups.
822
+ * Renders a base-ui Menu.Separator with the `separator` slot classes.
823
+ *
824
+ * @param slots - Partial class overrides per slot
825
+ * @param className - Additional class names
826
+ *
827
+ * @example
828
+ * ```tsx
829
+ * <MenuItem id="edit">Edit</MenuItem>
830
+ * <MenuSeparator className="my-1 h-px bg-white/10" />
831
+ * <MenuItem id="delete">Delete</MenuItem>
832
+ * ```
833
+ */
834
+ function MenuSeparator({ slots, className, ...props }: IMenuSeparatorProps) {
835
+ return (
836
+ <MenuPrimitive.Separator
837
+ data-slot="menu-separator"
838
+ className={cn(menuStyles.separator, slots?.separator, className)}
839
+ {...props}
840
+ />
841
+ );
842
+ }
843
+
844
+ // ---------------------------------------------------------------------------
845
+ // Exports
846
+ // ---------------------------------------------------------------------------
847
+
848
+ export {
849
+ Menu,
850
+ MenuTrigger,
851
+ MenuPortal,
852
+ MenuPositioner,
853
+ MenuPopup,
854
+ MenuArrow,
855
+ MenuItem,
856
+ MenuCheckboxItem,
857
+ MenuCheckboxItemIndicator,
858
+ MenuRadioGroup,
859
+ MenuRadioItem,
860
+ MenuRadioItemIndicator,
861
+ MenuGroup,
862
+ MenuGroupLabel,
863
+ MenuSeparator,
864
+ MenuShortcut,
865
+ MenuHighlight,
866
+ MenuHighlightItem,
867
+ MenuSubmenu,
868
+ MenuSubmenuTrigger,
869
+ useMenuActiveValue,
870
+ useMenu,
871
+ };
872
+
873
+ // Re-export all types
874
+ export type {
875
+ IMenuProps,
876
+ IMenuTriggerProps,
877
+ IMenuPortalProps,
878
+ IMenuPositionerProps,
879
+ IMenuPopupProps,
880
+ IMenuArrowProps,
881
+ IMenuItemProps,
882
+ IMenuCheckboxItemProps,
883
+ IMenuCheckboxItemIndicatorProps,
884
+ IMenuRadioItemProps,
885
+ IMenuRadioItemIndicatorProps,
886
+ IMenuRadioGroupProps,
887
+ IMenuGroupProps,
888
+ IMenuGroupLabelProps,
889
+ IMenuSeparatorProps,
890
+ IMenuShortcutProps,
891
+ IMenuHighlightProps,
892
+ IMenuHighlightItemProps,
893
+ IMenuSubmenuProps,
894
+ IMenuSubmenuTriggerProps,
895
+ IMenuConfig,
896
+ MenuActiveValueContextType,
897
+ MenuContextType,
898
+ } from './Menu.types';
899
+
900
+ export type { MenuSlot } from './Menu.styles';