@mks2508/mks-ui 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (677) hide show
  1. package/README.md +123 -60
  2. package/dist/core/index.d.ts +7 -0
  3. package/dist/core/index.d.ts.map +1 -0
  4. package/dist/core/types.d.ts +79 -0
  5. package/dist/core/types.d.ts.map +1 -0
  6. package/dist/index.d.ts +19 -6
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +0 -56
  9. package/dist/react/components/MorphingPopover/MorphingPopover.types.d.ts +44 -0
  10. package/dist/react/components/MorphingPopover/MorphingPopover.types.d.ts.map +1 -0
  11. package/dist/react/components/MorphingPopover/index.d.ts +46 -0
  12. package/dist/react/components/MorphingPopover/index.d.ts.map +1 -0
  13. package/dist/{components/ui/morphing-popover/morphing-popover.js → react/components/MorphingPopover/index.js} +47 -7
  14. package/dist/react/components/MorphingPopover/morphing-popover.module.js +5 -0
  15. package/dist/react/components/index.d.ts +9 -0
  16. package/dist/react/components/index.d.ts.map +1 -0
  17. package/dist/react/components/index.js +1 -0
  18. package/dist/react/hooks/Animation/UseAutoHeight.d.ts +30 -0
  19. package/dist/react/hooks/Animation/UseAutoHeight.d.ts.map +1 -0
  20. package/dist/{hooks/use-auto-height.js → react/hooks/Animation/UseAutoHeight.js} +16 -2
  21. package/dist/react/hooks/DOM/UseIsInView.d.ts +32 -0
  22. package/dist/react/hooks/DOM/UseIsInView.d.ts.map +1 -0
  23. package/dist/react/hooks/DOM/UseIsInView.js +33 -0
  24. package/dist/react/hooks/State/UseControlledState.d.ts +31 -0
  25. package/dist/react/hooks/State/UseControlledState.d.ts.map +1 -0
  26. package/dist/react/hooks/State/UseControlledState.js +34 -0
  27. package/dist/react/hooks/State/UseDataState.d.ts +21 -0
  28. package/dist/react/hooks/State/UseDataState.d.ts.map +1 -0
  29. package/dist/react/hooks/State/UseDataState.js +63 -0
  30. package/dist/react/hooks/index.d.ts +14 -0
  31. package/dist/react/hooks/index.d.ts.map +1 -0
  32. package/dist/react/hooks/index.js +4 -0
  33. package/dist/react/icons/index.d.ts +8 -0
  34. package/dist/react/icons/index.d.ts.map +1 -0
  35. package/dist/react/icons/lucide-animated/activity.d.ts +11 -0
  36. package/dist/react/icons/lucide-animated/activity.d.ts.map +1 -0
  37. package/dist/{icons → react/icons}/lucide-animated/activity.js +2 -2
  38. package/dist/{icons → react/icons}/lucide-animated/arrow-down-to-line.d.ts +1 -1
  39. package/dist/react/icons/lucide-animated/arrow-down-to-line.d.ts.map +1 -0
  40. package/dist/{icons → react/icons}/lucide-animated/arrow-down-to-line.js +1 -1
  41. package/dist/{icons → react/icons}/lucide-animated/arrow-up.d.ts +1 -1
  42. package/dist/react/icons/lucide-animated/arrow-up.d.ts.map +1 -0
  43. package/dist/{icons → react/icons}/lucide-animated/arrow-up.js +1 -1
  44. package/dist/react/icons/lucide-animated/bell-electric.d.ts +11 -0
  45. package/dist/react/icons/lucide-animated/bell-electric.d.ts.map +1 -0
  46. package/dist/{icons → react/icons}/lucide-animated/bell-electric.js +2 -2
  47. package/dist/react/icons/lucide-animated/bell.d.ts +11 -0
  48. package/dist/react/icons/lucide-animated/bell.d.ts.map +1 -0
  49. package/dist/{icons → react/icons}/lucide-animated/bell.js +2 -2
  50. package/dist/react/icons/lucide-animated/bot.d.ts +11 -0
  51. package/dist/react/icons/lucide-animated/bot.d.ts.map +1 -0
  52. package/dist/{icons → react/icons}/lucide-animated/bot.js +2 -2
  53. package/dist/react/icons/lucide-animated/box.d.ts +11 -0
  54. package/dist/react/icons/lucide-animated/box.d.ts.map +1 -0
  55. package/dist/{icons → react/icons}/lucide-animated/box.js +2 -2
  56. package/dist/react/icons/lucide-animated/check.d.ts.map +1 -0
  57. package/dist/{icons → react/icons}/lucide-animated/check.js +1 -1
  58. package/dist/react/icons/lucide-animated/circle-check.d.ts +11 -0
  59. package/dist/react/icons/lucide-animated/circle-check.d.ts.map +1 -0
  60. package/dist/{icons → react/icons}/lucide-animated/circle-check.js +2 -2
  61. package/dist/react/icons/lucide-animated/delete.d.ts +11 -0
  62. package/dist/react/icons/lucide-animated/delete.d.ts.map +1 -0
  63. package/dist/{icons → react/icons}/lucide-animated/delete.js +2 -2
  64. package/dist/react/icons/lucide-animated/download.d.ts +11 -0
  65. package/dist/react/icons/lucide-animated/download.d.ts.map +1 -0
  66. package/dist/{icons → react/icons}/lucide-animated/download.js +2 -2
  67. package/dist/react/icons/lucide-animated/edit-2.d.ts.map +1 -0
  68. package/dist/{icons → react/icons}/lucide-animated/edit-2.js +1 -1
  69. package/dist/react/icons/lucide-animated/globe.d.ts.map +1 -0
  70. package/dist/{icons → react/icons}/lucide-animated/globe.js +1 -1
  71. package/dist/react/icons/lucide-animated/home.d.ts +11 -0
  72. package/dist/react/icons/lucide-animated/home.d.ts.map +1 -0
  73. package/dist/{icons → react/icons}/lucide-animated/home.js +2 -2
  74. package/dist/react/icons/lucide-animated/index.d.ts +38 -0
  75. package/dist/react/icons/lucide-animated/index.d.ts.map +1 -0
  76. package/dist/react/icons/lucide-animated/layers.d.ts.map +1 -0
  77. package/dist/{icons → react/icons}/lucide-animated/layers.js +1 -1
  78. package/dist/react/icons/lucide-animated/layout-panel-top.d.ts +11 -0
  79. package/dist/react/icons/lucide-animated/layout-panel-top.d.ts.map +1 -0
  80. package/dist/{icons → react/icons}/lucide-animated/layout-panel-top.js +2 -2
  81. package/dist/{icons → react/icons}/lucide-animated/list.d.ts +1 -1
  82. package/dist/react/icons/lucide-animated/list.d.ts.map +1 -0
  83. package/dist/{icons → react/icons}/lucide-animated/list.js +1 -1
  84. package/dist/react/icons/lucide-animated/package.d.ts.map +1 -0
  85. package/dist/{icons → react/icons}/lucide-animated/package.js +1 -1
  86. package/dist/react/icons/lucide-animated/palette.d.ts.map +1 -0
  87. package/dist/{icons → react/icons}/lucide-animated/palette.js +1 -1
  88. package/dist/react/icons/lucide-animated/plus.d.ts +11 -0
  89. package/dist/react/icons/lucide-animated/plus.d.ts.map +1 -0
  90. package/dist/{icons → react/icons}/lucide-animated/plus.js +2 -2
  91. package/dist/react/icons/lucide-animated/refresh-cw.d.ts.map +1 -0
  92. package/dist/{icons → react/icons}/lucide-animated/refresh-cw.js +1 -1
  93. package/dist/react/icons/lucide-animated/rocket.d.ts.map +1 -0
  94. package/dist/{icons → react/icons}/lucide-animated/rocket.js +1 -1
  95. package/dist/react/icons/lucide-animated/save.d.ts.map +1 -0
  96. package/dist/{icons → react/icons}/lucide-animated/save.js +1 -1
  97. package/dist/react/icons/lucide-animated/search.d.ts +11 -0
  98. package/dist/react/icons/lucide-animated/search.d.ts.map +1 -0
  99. package/dist/{icons → react/icons}/lucide-animated/search.js +2 -2
  100. package/dist/react/icons/lucide-animated/settings.d.ts +11 -0
  101. package/dist/react/icons/lucide-animated/settings.d.ts.map +1 -0
  102. package/dist/{icons → react/icons}/lucide-animated/settings.js +2 -2
  103. package/dist/{icons → react/icons}/lucide-animated/terminal.d.ts +1 -1
  104. package/dist/react/icons/lucide-animated/terminal.d.ts.map +1 -0
  105. package/dist/{icons → react/icons}/lucide-animated/terminal.js +1 -1
  106. package/dist/react/icons/lucide-animated/trash-2.d.ts.map +1 -0
  107. package/dist/{icons → react/icons}/lucide-animated/trash-2.js +1 -1
  108. package/dist/react/icons/lucide-animated/trending-down.d.ts +11 -0
  109. package/dist/react/icons/lucide-animated/trending-down.d.ts.map +1 -0
  110. package/dist/{icons → react/icons}/lucide-animated/trending-down.js +2 -2
  111. package/dist/react/icons/lucide-animated/trending-up.d.ts +11 -0
  112. package/dist/react/icons/lucide-animated/trending-up.d.ts.map +1 -0
  113. package/dist/{icons → react/icons}/lucide-animated/trending-up.js +2 -2
  114. package/dist/react/icons/lucide-animated/type.d.ts.map +1 -0
  115. package/dist/{icons → react/icons}/lucide-animated/type.js +1 -1
  116. package/dist/react/icons/lucide-animated/upload.d.ts.map +1 -0
  117. package/dist/{icons → react/icons}/lucide-animated/upload.js +1 -1
  118. package/dist/react/icons/lucide-animated/x.d.ts +11 -0
  119. package/dist/react/icons/lucide-animated/x.d.ts.map +1 -0
  120. package/dist/{icons → react/icons}/lucide-animated/x.js +2 -2
  121. package/dist/react/index.d.ts +19 -0
  122. package/dist/react/index.d.ts.map +1 -0
  123. package/dist/react/lib/get-strict-context.d.ts +30 -0
  124. package/dist/react/lib/get-strict-context.d.ts.map +1 -0
  125. package/dist/react/lib/get-strict-context.js +40 -0
  126. package/dist/react/lib/index.d.ts +8 -0
  127. package/dist/react/lib/index.d.ts.map +1 -0
  128. package/dist/react/lib/index.js +2 -0
  129. package/dist/{lib → react/lib}/utils.d.ts +2 -2
  130. package/dist/react/lib/utils.d.ts.map +1 -0
  131. package/dist/{lib → react/lib}/utils.js +3 -3
  132. package/dist/react/primitives/AutoHeight/index.d.ts +31 -0
  133. package/dist/react/primitives/AutoHeight/index.d.ts.map +1 -0
  134. package/dist/react/primitives/AutoHeight/index.js +52 -0
  135. package/dist/react/primitives/CountingNumber/index.d.ts +44 -0
  136. package/dist/react/primitives/CountingNumber/index.d.ts.map +1 -0
  137. package/dist/react/primitives/CountingNumber/index.js +97 -0
  138. package/dist/react/primitives/Highlight/Highlight.types.d.ts +113 -0
  139. package/dist/react/primitives/Highlight/Highlight.types.d.ts.map +1 -0
  140. package/dist/react/primitives/Highlight/index.d.ts +48 -0
  141. package/dist/react/primitives/Highlight/index.d.ts.map +1 -0
  142. package/dist/{components/animate-ui/primitives/effects/highlight.js → react/primitives/Highlight/index.js} +45 -5
  143. package/dist/react/primitives/Slot/index.d.ts +53 -0
  144. package/dist/react/primitives/Slot/index.d.ts.map +1 -0
  145. package/dist/{components/animate-ui/primitives/animate/slot.js → react/primitives/Slot/index.js} +27 -4
  146. package/dist/react/primitives/index.d.ts +12 -0
  147. package/dist/react/primitives/index.d.ts.map +1 -0
  148. package/dist/react/primitives/index.js +4 -0
  149. package/dist/react/ui/Accordion/Accordion.styles.d.ts +47 -0
  150. package/dist/react/ui/Accordion/Accordion.styles.d.ts.map +1 -0
  151. package/dist/react/ui/Accordion/Accordion.styles.js +54 -0
  152. package/dist/react/ui/Accordion/Accordion.types.d.ts +160 -0
  153. package/dist/react/ui/Accordion/Accordion.types.d.ts.map +1 -0
  154. package/dist/react/ui/Accordion/index.d.ts +105 -0
  155. package/dist/react/ui/Accordion/index.d.ts.map +1 -0
  156. package/dist/react/ui/Accordion/index.js +266 -0
  157. package/dist/react/ui/AlertDialog/AlertDialog.styles.d.ts +28 -0
  158. package/dist/react/ui/AlertDialog/AlertDialog.styles.d.ts.map +1 -0
  159. package/dist/react/ui/AlertDialog/AlertDialog.styles.js +29 -0
  160. package/dist/react/ui/AlertDialog/AlertDialog.types.d.ts +235 -0
  161. package/dist/react/ui/AlertDialog/AlertDialog.types.d.ts.map +1 -0
  162. package/dist/react/ui/AlertDialog/index.d.ts +194 -0
  163. package/dist/react/ui/AlertDialog/index.d.ts.map +1 -0
  164. package/dist/react/ui/AlertDialog/index.js +319 -0
  165. package/dist/react/ui/Badge/Badge.styles.d.ts +16 -0
  166. package/dist/react/ui/Badge/Badge.styles.d.ts.map +1 -0
  167. package/dist/{components/ui/badge/badge.styles.js → react/ui/Badge/Badge.styles.js} +2 -6
  168. package/dist/react/ui/Badge/Badge.types.d.ts +21 -0
  169. package/dist/react/ui/Badge/Badge.types.d.ts.map +1 -0
  170. package/dist/react/ui/Badge/index.d.ts +20 -0
  171. package/dist/react/ui/Badge/index.d.ts.map +1 -0
  172. package/dist/react/ui/Badge/index.js +34 -0
  173. package/dist/react/ui/Button/Button.styles.d.ts +21 -0
  174. package/dist/react/ui/Button/Button.styles.d.ts.map +1 -0
  175. package/dist/{components/ui/button/button.styles.js → react/ui/Button/Button.styles.js} +3 -9
  176. package/dist/react/ui/Button/Button.types.d.ts +45 -0
  177. package/dist/react/ui/Button/Button.types.d.ts.map +1 -0
  178. package/dist/react/ui/Button/index.d.ts +22 -0
  179. package/dist/react/ui/Button/index.d.ts.map +1 -0
  180. package/dist/react/ui/Button/index.js +103 -0
  181. package/dist/react/ui/Card/Card.styles.d.ts +11 -0
  182. package/dist/react/ui/Card/Card.styles.d.ts.map +1 -0
  183. package/dist/react/ui/Card/Card.styles.js +24 -0
  184. package/dist/react/ui/Card/Card.types.d.ts +22 -0
  185. package/dist/react/ui/Card/Card.types.d.ts.map +1 -0
  186. package/dist/react/ui/Card/index.d.ts +36 -0
  187. package/dist/react/ui/Card/index.d.ts.map +1 -0
  188. package/dist/react/ui/Card/index.js +82 -0
  189. package/dist/react/ui/Checkbox/Checkbox.styles.d.ts +25 -0
  190. package/dist/react/ui/Checkbox/Checkbox.styles.d.ts.map +1 -0
  191. package/dist/react/ui/Checkbox/Checkbox.styles.js +34 -0
  192. package/dist/react/ui/Checkbox/Checkbox.types.d.ts +88 -0
  193. package/dist/react/ui/Checkbox/Checkbox.types.d.ts.map +1 -0
  194. package/dist/react/ui/Checkbox/index.d.ts +59 -0
  195. package/dist/react/ui/Checkbox/index.d.ts.map +1 -0
  196. package/dist/react/ui/Checkbox/index.js +158 -0
  197. package/dist/react/ui/Combobox/Combobox.styles.d.ts +7 -0
  198. package/dist/react/ui/Combobox/Combobox.styles.d.ts.map +1 -0
  199. package/dist/react/ui/Combobox/Combobox.styles.js +17 -0
  200. package/dist/react/ui/Combobox/Combobox.types.d.ts +49 -0
  201. package/dist/react/ui/Combobox/Combobox.types.d.ts.map +1 -0
  202. package/dist/react/ui/Combobox/index.d.ts +60 -0
  203. package/dist/react/ui/Combobox/index.d.ts.map +1 -0
  204. package/dist/{components/ui/combobox.js → react/ui/Combobox/index.js} +54 -16
  205. package/dist/react/ui/CornerBracket/CornerBracket.styles.d.ts +18 -0
  206. package/dist/react/ui/CornerBracket/CornerBracket.styles.d.ts.map +1 -0
  207. package/dist/react/ui/CornerBracket/CornerBracket.styles.js +30 -0
  208. package/dist/react/ui/CornerBracket/CornerBracket.types.d.ts +12 -0
  209. package/dist/react/ui/CornerBracket/CornerBracket.types.d.ts.map +1 -0
  210. package/dist/react/ui/CornerBracket/index.d.ts +23 -0
  211. package/dist/react/ui/CornerBracket/index.d.ts.map +1 -0
  212. package/dist/react/ui/CornerBracket/index.js +42 -0
  213. package/dist/react/ui/Dialog/Dialog.styles.d.ts +24 -0
  214. package/dist/react/ui/Dialog/Dialog.styles.d.ts.map +1 -0
  215. package/dist/react/ui/Dialog/Dialog.styles.js +29 -0
  216. package/dist/react/ui/Dialog/Dialog.types.d.ts +221 -0
  217. package/dist/react/ui/Dialog/Dialog.types.d.ts.map +1 -0
  218. package/dist/react/ui/Dialog/index.d.ts +138 -0
  219. package/dist/react/ui/Dialog/index.d.ts.map +1 -0
  220. package/dist/react/ui/Dialog/index.js +265 -0
  221. package/dist/react/ui/DropdownMenu/DropdownMenu.styles.d.ts +7 -0
  222. package/dist/react/ui/DropdownMenu/DropdownMenu.styles.d.ts.map +1 -0
  223. package/dist/react/ui/DropdownMenu/DropdownMenu.styles.js +16 -0
  224. package/dist/react/ui/DropdownMenu/DropdownMenu.types.d.ts +50 -0
  225. package/dist/react/ui/DropdownMenu/DropdownMenu.types.d.ts.map +1 -0
  226. package/dist/react/ui/DropdownMenu/index.d.ts +50 -0
  227. package/dist/react/ui/DropdownMenu/index.d.ts.map +1 -0
  228. package/dist/{components/ui/dropdown-menu.js → react/ui/DropdownMenu/index.js} +44 -14
  229. package/dist/react/ui/Field/Field.styles.d.ts +11 -0
  230. package/dist/react/ui/Field/Field.styles.d.ts.map +1 -0
  231. package/dist/react/ui/Field/Field.styles.js +27 -0
  232. package/dist/react/ui/Field/Field.types.d.ts +39 -0
  233. package/dist/react/ui/Field/Field.types.d.ts.map +1 -0
  234. package/dist/react/ui/Field/index.d.ts +56 -0
  235. package/dist/react/ui/Field/index.d.ts.map +1 -0
  236. package/dist/{components/ui/field.js → react/ui/Field/index.js} +55 -23
  237. package/dist/react/ui/Input/Input.styles.d.ts +7 -0
  238. package/dist/react/ui/Input/Input.styles.d.ts.map +1 -0
  239. package/dist/react/ui/Input/Input.styles.js +5 -0
  240. package/dist/react/ui/Input/Input.types.d.ts +9 -0
  241. package/dist/react/ui/Input/Input.types.d.ts.map +1 -0
  242. package/dist/react/ui/Input/index.d.ts +17 -0
  243. package/dist/react/ui/Input/index.d.ts.map +1 -0
  244. package/dist/react/ui/Input/index.js +29 -0
  245. package/dist/react/ui/InputGroup/InputGroup.styles.d.ts +15 -0
  246. package/dist/react/ui/InputGroup/InputGroup.styles.d.ts.map +1 -0
  247. package/dist/react/ui/InputGroup/InputGroup.styles.js +34 -0
  248. package/dist/react/ui/InputGroup/InputGroup.types.d.ts +28 -0
  249. package/dist/react/ui/InputGroup/InputGroup.types.d.ts.map +1 -0
  250. package/dist/react/ui/InputGroup/index.d.ts +28 -0
  251. package/dist/react/ui/InputGroup/index.d.ts.map +1 -0
  252. package/dist/react/ui/InputGroup/index.js +81 -0
  253. package/dist/react/ui/Label/Label.styles.d.ts +6 -0
  254. package/dist/react/ui/Label/Label.styles.d.ts.map +1 -0
  255. package/dist/react/ui/Label/Label.styles.js +5 -0
  256. package/dist/react/ui/Label/Label.types.d.ts +8 -0
  257. package/dist/react/ui/Label/Label.types.d.ts.map +1 -0
  258. package/dist/react/ui/Label/index.d.ts +14 -0
  259. package/dist/react/ui/Label/index.d.ts.map +1 -0
  260. package/dist/react/ui/Label/index.js +24 -0
  261. package/dist/react/ui/Menu/Menu.styles.d.ts +42 -0
  262. package/dist/react/ui/Menu/Menu.styles.d.ts.map +1 -0
  263. package/dist/react/ui/Menu/Menu.styles.js +32 -0
  264. package/dist/react/ui/Menu/Menu.types.d.ts +328 -0
  265. package/dist/react/ui/Menu/Menu.types.d.ts.map +1 -0
  266. package/dist/react/ui/Menu/index.d.ts +354 -0
  267. package/dist/react/ui/Menu/index.d.ts.map +1 -0
  268. package/dist/react/ui/Menu/index.js +636 -0
  269. package/dist/react/ui/Popover/Popover.styles.d.ts +23 -0
  270. package/dist/react/ui/Popover/Popover.styles.d.ts.map +1 -0
  271. package/dist/react/ui/Popover/Popover.styles.js +26 -0
  272. package/dist/react/ui/Popover/Popover.types.d.ts +204 -0
  273. package/dist/react/ui/Popover/Popover.types.d.ts.map +1 -0
  274. package/dist/react/ui/Popover/index.d.ts +133 -0
  275. package/dist/react/ui/Popover/index.d.ts.map +1 -0
  276. package/dist/react/ui/Popover/index.js +237 -0
  277. package/dist/react/ui/Progress/Progress.styles.d.ts +28 -0
  278. package/dist/react/ui/Progress/Progress.styles.d.ts.map +1 -0
  279. package/dist/react/ui/Progress/Progress.styles.js +30 -0
  280. package/dist/react/ui/Progress/Progress.types.d.ts +148 -0
  281. package/dist/react/ui/Progress/Progress.types.d.ts.map +1 -0
  282. package/dist/react/ui/Progress/index.d.ts +111 -0
  283. package/dist/react/ui/Progress/index.d.ts.map +1 -0
  284. package/dist/react/ui/Progress/index.js +170 -0
  285. package/dist/react/ui/Select/Select.styles.d.ts +7 -0
  286. package/dist/react/ui/Select/Select.styles.d.ts.map +1 -0
  287. package/dist/react/ui/Select/Select.styles.js +15 -0
  288. package/dist/react/ui/Select/Select.types.d.ts +28 -0
  289. package/dist/react/ui/Select/Select.types.d.ts.map +1 -0
  290. package/dist/react/ui/Select/index.d.ts +38 -0
  291. package/dist/react/ui/Select/index.d.ts.map +1 -0
  292. package/dist/{components/ui/select.js → react/ui/Select/index.js} +35 -13
  293. package/dist/react/ui/Separator/Separator.styles.d.ts +6 -0
  294. package/dist/react/ui/Separator/Separator.styles.d.ts.map +1 -0
  295. package/dist/react/ui/Separator/Separator.styles.js +5 -0
  296. package/dist/react/ui/Separator/Separator.types.d.ts +9 -0
  297. package/dist/react/ui/Separator/Separator.types.d.ts.map +1 -0
  298. package/dist/react/ui/Separator/index.d.ts +16 -0
  299. package/dist/react/ui/Separator/index.d.ts.map +1 -0
  300. package/dist/react/ui/Separator/index.js +29 -0
  301. package/dist/react/ui/Switch/Switch.styles.d.ts +26 -0
  302. package/dist/react/ui/Switch/Switch.styles.d.ts.map +1 -0
  303. package/dist/react/ui/Switch/Switch.styles.js +41 -0
  304. package/dist/react/ui/Switch/Switch.types.d.ts +130 -0
  305. package/dist/react/ui/Switch/Switch.types.d.ts.map +1 -0
  306. package/dist/react/ui/Switch/index.d.ts +79 -0
  307. package/dist/react/ui/Switch/index.d.ts.map +1 -0
  308. package/dist/react/ui/Switch/index.js +199 -0
  309. package/dist/react/ui/Tabs/Tabs.styles.d.ts +43 -0
  310. package/dist/react/ui/Tabs/Tabs.styles.d.ts.map +1 -0
  311. package/dist/react/ui/Tabs/Tabs.styles.js +26 -0
  312. package/dist/react/ui/Tabs/Tabs.types.d.ts +201 -0
  313. package/dist/react/ui/Tabs/Tabs.types.d.ts.map +1 -0
  314. package/dist/react/ui/Tabs/index.d.ts +141 -0
  315. package/dist/react/ui/Tabs/index.d.ts.map +1 -0
  316. package/dist/react/ui/Tabs/index.js +308 -0
  317. package/dist/react/ui/Textarea/Textarea.styles.d.ts +6 -0
  318. package/dist/react/ui/Textarea/Textarea.styles.d.ts.map +1 -0
  319. package/dist/react/ui/Textarea/Textarea.styles.js +5 -0
  320. package/dist/react/ui/Textarea/Textarea.types.d.ts +8 -0
  321. package/dist/react/ui/Textarea/Textarea.types.d.ts.map +1 -0
  322. package/dist/react/ui/Textarea/index.d.ts +14 -0
  323. package/dist/react/ui/Textarea/index.d.ts.map +1 -0
  324. package/dist/react/ui/Textarea/index.js +24 -0
  325. package/dist/react/ui/Tooltip/Tooltip.styles.d.ts +23 -0
  326. package/dist/react/ui/Tooltip/Tooltip.styles.d.ts.map +1 -0
  327. package/dist/react/ui/Tooltip/Tooltip.styles.js +26 -0
  328. package/dist/react/ui/Tooltip/Tooltip.types.d.ts +203 -0
  329. package/dist/react/ui/Tooltip/Tooltip.types.d.ts.map +1 -0
  330. package/dist/react/ui/Tooltip/index.d.ts +110 -0
  331. package/dist/react/ui/Tooltip/index.d.ts.map +1 -0
  332. package/dist/react/ui/Tooltip/index.js +219 -0
  333. package/dist/react/ui/index.d.ts +31 -0
  334. package/dist/react/ui/index.d.ts.map +1 -0
  335. package/dist/react/ui/index.js +37 -0
  336. package/dist/react.js +88 -0
  337. package/package.json +12 -13
  338. package/src/core/index.ts +7 -0
  339. package/src/core/types.ts +82 -0
  340. package/src/index.ts +20 -11
  341. package/src/react/components/MorphingPopover/MorphingPopover.types.ts +49 -0
  342. package/src/react/components/MorphingPopover/index.tsx +186 -0
  343. package/src/react/components/index.ts +9 -0
  344. package/src/{hooks/use-auto-height.tsx → react/hooks/Animation/UseAutoHeight.tsx} +24 -3
  345. package/src/react/hooks/DOM/UseIsInView.tsx +44 -0
  346. package/src/{hooks/use-controlled-state.tsx → react/hooks/State/UseControlledState.tsx} +26 -2
  347. package/src/{hooks/use-data-state.tsx → react/hooks/State/UseDataState.tsx} +22 -0
  348. package/src/react/hooks/index.ts +17 -0
  349. package/src/react/icons/index.ts +12 -0
  350. package/src/{icons → react/icons}/lucide-animated/activity.tsx +1 -1
  351. package/src/{icons → react/icons}/lucide-animated/bell-electric.tsx +1 -1
  352. package/src/{icons → react/icons}/lucide-animated/bell.tsx +1 -1
  353. package/src/{icons → react/icons}/lucide-animated/bot.tsx +1 -1
  354. package/src/{icons → react/icons}/lucide-animated/box.tsx +1 -1
  355. package/src/{icons → react/icons}/lucide-animated/circle-check.tsx +1 -1
  356. package/src/{icons → react/icons}/lucide-animated/delete.tsx +1 -1
  357. package/src/{icons → react/icons}/lucide-animated/download.tsx +1 -1
  358. package/src/{icons → react/icons}/lucide-animated/home.tsx +1 -1
  359. package/src/react/icons/lucide-animated/index.ts +38 -0
  360. package/src/{icons → react/icons}/lucide-animated/layout-panel-top.tsx +1 -1
  361. package/src/{icons → react/icons}/lucide-animated/plus.tsx +1 -1
  362. package/src/{icons → react/icons}/lucide-animated/search.tsx +1 -1
  363. package/src/{icons → react/icons}/lucide-animated/settings.tsx +1 -1
  364. package/src/{icons → react/icons}/lucide-animated/trending-down.tsx +1 -1
  365. package/src/{icons → react/icons}/lucide-animated/trending-up.tsx +1 -1
  366. package/src/{icons → react/icons}/lucide-animated/x.tsx +1 -1
  367. package/src/react/index.ts +30 -0
  368. package/src/{lib → react/lib}/get-strict-context.tsx +20 -0
  369. package/src/react/lib/index.ts +8 -0
  370. package/src/{lib → react/lib}/utils.ts +2 -2
  371. package/src/{components/animate-ui/primitives/effects/auto-height.tsx → react/primitives/AutoHeight/index.tsx} +24 -5
  372. package/src/{components/animate-ui/primitives/texts/counting-number.tsx → react/primitives/CountingNumber/index.tsx} +35 -7
  373. package/src/react/primitives/Highlight/Highlight.types.ts +136 -0
  374. package/src/{components/animate-ui/primitives/effects/highlight.tsx → react/primitives/Highlight/index.tsx} +60 -123
  375. package/src/{components/animate-ui/primitives/animate/slot.tsx → react/primitives/Slot/index.tsx} +43 -11
  376. package/src/react/primitives/index.ts +13 -0
  377. package/src/react/ui/Accordion/Accordion.styles.ts +72 -0
  378. package/src/react/ui/Accordion/Accordion.types.ts +199 -0
  379. package/src/react/ui/Accordion/index.tsx +362 -0
  380. package/src/react/ui/AlertDialog/AlertDialog.styles.ts +38 -0
  381. package/src/react/ui/AlertDialog/AlertDialog.types.ts +296 -0
  382. package/src/react/ui/AlertDialog/index.tsx +540 -0
  383. package/src/react/ui/Badge/Badge.styles.ts +43 -0
  384. package/src/react/ui/Badge/Badge.types.ts +26 -0
  385. package/src/react/ui/Badge/index.tsx +34 -0
  386. package/src/react/ui/Button/Button.styles.ts +57 -0
  387. package/src/react/ui/Button/Button.types.ts +63 -0
  388. package/src/react/ui/Button/index.tsx +155 -0
  389. package/src/react/ui/Card/Card.styles.ts +32 -0
  390. package/src/react/ui/Card/Card.types.ts +39 -0
  391. package/src/react/ui/Card/index.tsx +130 -0
  392. package/src/react/ui/Checkbox/Checkbox.styles.ts +40 -0
  393. package/src/react/ui/Checkbox/Checkbox.types.ts +98 -0
  394. package/src/react/ui/Checkbox/index.tsx +233 -0
  395. package/src/react/ui/Combobox/Combobox.styles.ts +34 -0
  396. package/src/react/ui/Combobox/Combobox.types.ts +89 -0
  397. package/src/react/ui/Combobox/index.tsx +331 -0
  398. package/src/react/ui/CornerBracket/CornerBracket.styles.ts +38 -0
  399. package/src/react/ui/CornerBracket/CornerBracket.types.ts +15 -0
  400. package/src/react/ui/CornerBracket/index.tsx +49 -0
  401. package/src/react/ui/Dialog/Dialog.styles.ts +59 -0
  402. package/src/react/ui/Dialog/Dialog.types.ts +284 -0
  403. package/src/react/ui/Dialog/index.tsx +452 -0
  404. package/src/react/ui/DropdownMenu/DropdownMenu.styles.ts +35 -0
  405. package/src/react/ui/DropdownMenu/DropdownMenu.types.ts +81 -0
  406. package/src/react/ui/DropdownMenu/index.tsx +300 -0
  407. package/src/react/ui/Field/Field.styles.ts +47 -0
  408. package/src/react/ui/Field/Field.types.ts +60 -0
  409. package/src/react/ui/Field/index.tsx +254 -0
  410. package/src/{components/ui/input.tsx → react/ui/Input/Input.styles.ts} +8 -17
  411. package/src/react/ui/Input/Input.types.ts +10 -0
  412. package/src/react/ui/Input/index.tsx +32 -0
  413. package/src/react/ui/InputGroup/InputGroup.styles.ts +53 -0
  414. package/src/react/ui/InputGroup/InputGroup.types.ts +44 -0
  415. package/src/react/ui/InputGroup/index.tsx +147 -0
  416. package/src/react/ui/Label/Label.styles.ts +10 -0
  417. package/src/react/ui/Label/Label.types.ts +9 -0
  418. package/src/react/ui/Label/index.tsx +27 -0
  419. package/src/react/ui/Menu/Menu.styles.ts +71 -0
  420. package/src/react/ui/Menu/Menu.types.ts +425 -0
  421. package/src/react/ui/Menu/index.tsx +900 -0
  422. package/src/react/ui/Popover/Popover.styles.ts +55 -0
  423. package/src/react/ui/Popover/Popover.types.ts +261 -0
  424. package/src/react/ui/Popover/index.tsx +422 -0
  425. package/src/react/ui/Progress/Progress.styles.ts +36 -0
  426. package/src/react/ui/Progress/Progress.types.ts +162 -0
  427. package/src/react/ui/Progress/index.tsx +254 -0
  428. package/src/react/ui/Select/Select.styles.ts +30 -0
  429. package/src/react/ui/Select/Select.types.ts +51 -0
  430. package/src/react/ui/Select/index.tsx +225 -0
  431. package/src/react/ui/Separator/Separator.styles.ts +10 -0
  432. package/src/react/ui/Separator/Separator.types.ts +10 -0
  433. package/src/react/ui/Separator/index.tsx +37 -0
  434. package/src/react/ui/Switch/Switch.styles.ts +50 -0
  435. package/src/react/ui/Switch/Switch.types.ts +155 -0
  436. package/src/react/ui/Switch/index.tsx +253 -0
  437. package/src/react/ui/Tabs/Tabs.styles.ts +60 -0
  438. package/src/react/ui/Tabs/Tabs.types.ts +250 -0
  439. package/src/react/ui/Tabs/index.tsx +421 -0
  440. package/src/{components/ui/textarea.tsx → react/ui/Textarea/Textarea.styles.ts} +7 -15
  441. package/src/react/ui/Textarea/Textarea.types.ts +9 -0
  442. package/src/react/ui/Textarea/index.tsx +27 -0
  443. package/src/react/ui/Tooltip/Tooltip.styles.ts +43 -0
  444. package/src/react/ui/Tooltip/Tooltip.types.ts +253 -0
  445. package/src/react/ui/Tooltip/index.tsx +394 -0
  446. package/src/react/ui/index.ts +34 -0
  447. package/dist/components/animate-ui/primitives/animate/slot.d.ts +0 -18
  448. package/dist/components/animate-ui/primitives/animate/slot.d.ts.map +0 -1
  449. package/dist/components/animate-ui/primitives/base/accordion.d.ts +0 -22
  450. package/dist/components/animate-ui/primitives/base/accordion.d.ts.map +0 -1
  451. package/dist/components/animate-ui/primitives/base/alert-dialog.d.ts +0 -33
  452. package/dist/components/animate-ui/primitives/base/alert-dialog.d.ts.map +0 -1
  453. package/dist/components/animate-ui/primitives/base/checkbox.d.ts +0 -15
  454. package/dist/components/animate-ui/primitives/base/checkbox.d.ts.map +0 -1
  455. package/dist/components/animate-ui/primitives/base/dialog.d.ts +0 -33
  456. package/dist/components/animate-ui/primitives/base/dialog.d.ts.map +0 -1
  457. package/dist/components/animate-ui/primitives/base/menu.d.ts +0 -60
  458. package/dist/components/animate-ui/primitives/base/menu.d.ts.map +0 -1
  459. package/dist/components/animate-ui/primitives/base/popover.d.ts +0 -30
  460. package/dist/components/animate-ui/primitives/base/popover.d.ts.map +0 -1
  461. package/dist/components/animate-ui/primitives/base/progress.d.ts +0 -297
  462. package/dist/components/animate-ui/primitives/base/progress.d.ts.map +0 -1
  463. package/dist/components/animate-ui/primitives/base/switch.d.ts +0 -23
  464. package/dist/components/animate-ui/primitives/base/switch.d.ts.map +0 -1
  465. package/dist/components/animate-ui/primitives/base/switch.js +0 -90
  466. package/dist/components/animate-ui/primitives/base/tabs.d.ts +0 -33
  467. package/dist/components/animate-ui/primitives/base/tabs.d.ts.map +0 -1
  468. package/dist/components/animate-ui/primitives/base/tabs.js +0 -132
  469. package/dist/components/animate-ui/primitives/base/tooltip.d.ts +0 -31
  470. package/dist/components/animate-ui/primitives/base/tooltip.d.ts.map +0 -1
  471. package/dist/components/animate-ui/primitives/effects/auto-height.d.ts +0 -12
  472. package/dist/components/animate-ui/primitives/effects/auto-height.d.ts.map +0 -1
  473. package/dist/components/animate-ui/primitives/effects/auto-height.js +0 -37
  474. package/dist/components/animate-ui/primitives/effects/highlight.d.ts +0 -92
  475. package/dist/components/animate-ui/primitives/effects/highlight.d.ts.map +0 -1
  476. package/dist/components/animate-ui/primitives/texts/counting-number.d.ts +0 -16
  477. package/dist/components/animate-ui/primitives/texts/counting-number.d.ts.map +0 -1
  478. package/dist/components/ui/alert-dialog.d.ts +0 -21
  479. package/dist/components/ui/alert-dialog.d.ts.map +0 -1
  480. package/dist/components/ui/alert-dialog.js +0 -99
  481. package/dist/components/ui/badge/badge.d.ts +0 -37
  482. package/dist/components/ui/badge/badge.d.ts.map +0 -1
  483. package/dist/components/ui/badge/badge.js +0 -52
  484. package/dist/components/ui/badge/badge.styles.d.ts +0 -23
  485. package/dist/components/ui/badge/badge.styles.d.ts.map +0 -1
  486. package/dist/components/ui/badge/badge.types.d.ts +0 -38
  487. package/dist/components/ui/badge/badge.types.d.ts.map +0 -1
  488. package/dist/components/ui/badge/index.d.ts +0 -8
  489. package/dist/components/ui/badge/index.d.ts.map +0 -1
  490. package/dist/components/ui/badge/index.js +0 -2
  491. package/dist/components/ui/button/button.d.ts +0 -79
  492. package/dist/components/ui/button/button.d.ts.map +0 -1
  493. package/dist/components/ui/button/button.js +0 -161
  494. package/dist/components/ui/button/button.styles.d.ts +0 -33
  495. package/dist/components/ui/button/button.styles.d.ts.map +0 -1
  496. package/dist/components/ui/button/button.types.d.ts +0 -103
  497. package/dist/components/ui/button/button.types.d.ts.map +0 -1
  498. package/dist/components/ui/button/index.d.ts +0 -7
  499. package/dist/components/ui/button/index.d.ts.map +0 -1
  500. package/dist/components/ui/button/index.js +0 -2
  501. package/dist/components/ui/card.d.ts +0 -14
  502. package/dist/components/ui/card.d.ts.map +0 -1
  503. package/dist/components/ui/card.js +0 -67
  504. package/dist/components/ui/combobox.d.ts +0 -25
  505. package/dist/components/ui/combobox.d.ts.map +0 -1
  506. package/dist/components/ui/devenv-bracket.d.ts +0 -30
  507. package/dist/components/ui/devenv-bracket.d.ts.map +0 -1
  508. package/dist/components/ui/devenv-bracket.js +0 -66
  509. package/dist/components/ui/dropdown-menu.d.ts +0 -30
  510. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  511. package/dist/components/ui/field.d.ts +0 -25
  512. package/dist/components/ui/field.d.ts.map +0 -1
  513. package/dist/components/ui/index.d.ts +0 -25
  514. package/dist/components/ui/index.d.ts.map +0 -1
  515. package/dist/components/ui/index.js +0 -24
  516. package/dist/components/ui/input-group.d.ts +0 -19
  517. package/dist/components/ui/input-group.d.ts.map +0 -1
  518. package/dist/components/ui/input-group.js +0 -84
  519. package/dist/components/ui/input.d.ts +0 -4
  520. package/dist/components/ui/input.d.ts.map +0 -1
  521. package/dist/components/ui/input.js +0 -17
  522. package/dist/components/ui/label.d.ts +0 -4
  523. package/dist/components/ui/label.d.ts.map +0 -1
  524. package/dist/components/ui/label.js +0 -15
  525. package/dist/components/ui/morphing-popover/index.d.ts +0 -10
  526. package/dist/components/ui/morphing-popover/index.d.ts.map +0 -1
  527. package/dist/components/ui/morphing-popover/index.js +0 -1
  528. package/dist/components/ui/morphing-popover/morphing-popover.d.ts +0 -54
  529. package/dist/components/ui/morphing-popover/morphing-popover.d.ts.map +0 -1
  530. package/dist/components/ui/morphing-popover/morphing-popover.module.js +0 -5
  531. package/dist/components/ui/select.d.ts +0 -16
  532. package/dist/components/ui/select.d.ts.map +0 -1
  533. package/dist/components/ui/separator.d.ts +0 -4
  534. package/dist/components/ui/separator.d.ts.map +0 -1
  535. package/dist/components/ui/separator.js +0 -18
  536. package/dist/components/ui/switch.d.ts +0 -9
  537. package/dist/components/ui/switch.d.ts.map +0 -1
  538. package/dist/components/ui/switch.js +0 -1
  539. package/dist/components/ui/tabs.d.ts +0 -9
  540. package/dist/components/ui/tabs.d.ts.map +0 -1
  541. package/dist/components/ui/tabs.js +0 -1
  542. package/dist/components/ui/textarea.d.ts +0 -4
  543. package/dist/components/ui/textarea.d.ts.map +0 -1
  544. package/dist/components/ui/textarea.js +0 -15
  545. package/dist/hooks/use-auto-height.d.ts +0 -11
  546. package/dist/hooks/use-auto-height.d.ts.map +0 -1
  547. package/dist/hooks/use-controlled-state.d.ts +0 -9
  548. package/dist/hooks/use-controlled-state.d.ts.map +0 -1
  549. package/dist/hooks/use-controlled-state.js +0 -17
  550. package/dist/hooks/use-data-state.d.ts +0 -5
  551. package/dist/hooks/use-data-state.d.ts.map +0 -1
  552. package/dist/hooks/use-is-in-view.d.ts +0 -13
  553. package/dist/hooks/use-is-in-view.d.ts.map +0 -1
  554. package/dist/icons/index.d.ts +0 -8
  555. package/dist/icons/index.d.ts.map +0 -1
  556. package/dist/icons/lucide-animated/activity.d.ts +0 -11
  557. package/dist/icons/lucide-animated/activity.d.ts.map +0 -1
  558. package/dist/icons/lucide-animated/arrow-down-to-line.d.ts.map +0 -1
  559. package/dist/icons/lucide-animated/arrow-up.d.ts.map +0 -1
  560. package/dist/icons/lucide-animated/bell-electric.d.ts +0 -11
  561. package/dist/icons/lucide-animated/bell-electric.d.ts.map +0 -1
  562. package/dist/icons/lucide-animated/bell.d.ts +0 -11
  563. package/dist/icons/lucide-animated/bell.d.ts.map +0 -1
  564. package/dist/icons/lucide-animated/bot.d.ts +0 -11
  565. package/dist/icons/lucide-animated/bot.d.ts.map +0 -1
  566. package/dist/icons/lucide-animated/box.d.ts +0 -11
  567. package/dist/icons/lucide-animated/box.d.ts.map +0 -1
  568. package/dist/icons/lucide-animated/check.d.ts.map +0 -1
  569. package/dist/icons/lucide-animated/circle-check.d.ts +0 -11
  570. package/dist/icons/lucide-animated/circle-check.d.ts.map +0 -1
  571. package/dist/icons/lucide-animated/delete.d.ts +0 -11
  572. package/dist/icons/lucide-animated/delete.d.ts.map +0 -1
  573. package/dist/icons/lucide-animated/download.d.ts +0 -11
  574. package/dist/icons/lucide-animated/download.d.ts.map +0 -1
  575. package/dist/icons/lucide-animated/edit-2.d.ts.map +0 -1
  576. package/dist/icons/lucide-animated/globe.d.ts.map +0 -1
  577. package/dist/icons/lucide-animated/home.d.ts +0 -11
  578. package/dist/icons/lucide-animated/home.d.ts.map +0 -1
  579. package/dist/icons/lucide-animated/index.d.ts +0 -38
  580. package/dist/icons/lucide-animated/index.d.ts.map +0 -1
  581. package/dist/icons/lucide-animated/layers.d.ts.map +0 -1
  582. package/dist/icons/lucide-animated/layout-panel-top.d.ts +0 -11
  583. package/dist/icons/lucide-animated/layout-panel-top.d.ts.map +0 -1
  584. package/dist/icons/lucide-animated/list.d.ts.map +0 -1
  585. package/dist/icons/lucide-animated/package.d.ts.map +0 -1
  586. package/dist/icons/lucide-animated/palette.d.ts.map +0 -1
  587. package/dist/icons/lucide-animated/plus.d.ts +0 -11
  588. package/dist/icons/lucide-animated/plus.d.ts.map +0 -1
  589. package/dist/icons/lucide-animated/refresh-cw.d.ts.map +0 -1
  590. package/dist/icons/lucide-animated/rocket.d.ts.map +0 -1
  591. package/dist/icons/lucide-animated/save.d.ts.map +0 -1
  592. package/dist/icons/lucide-animated/search.d.ts +0 -11
  593. package/dist/icons/lucide-animated/search.d.ts.map +0 -1
  594. package/dist/icons/lucide-animated/settings.d.ts +0 -11
  595. package/dist/icons/lucide-animated/settings.d.ts.map +0 -1
  596. package/dist/icons/lucide-animated/terminal.d.ts.map +0 -1
  597. package/dist/icons/lucide-animated/trash-2.d.ts.map +0 -1
  598. package/dist/icons/lucide-animated/trending-down.d.ts +0 -11
  599. package/dist/icons/lucide-animated/trending-down.d.ts.map +0 -1
  600. package/dist/icons/lucide-animated/trending-up.d.ts +0 -11
  601. package/dist/icons/lucide-animated/trending-up.d.ts.map +0 -1
  602. package/dist/icons/lucide-animated/type.d.ts.map +0 -1
  603. package/dist/icons/lucide-animated/upload.d.ts.map +0 -1
  604. package/dist/icons/lucide-animated/x.d.ts +0 -11
  605. package/dist/icons/lucide-animated/x.d.ts.map +0 -1
  606. package/dist/lib/get-strict-context.d.ts +0 -10
  607. package/dist/lib/get-strict-context.d.ts.map +0 -1
  608. package/dist/lib/get-strict-context.js +0 -20
  609. package/dist/lib/utils.d.ts.map +0 -1
  610. package/src/components/animate-ui/primitives/base/accordion.tsx +0 -179
  611. package/src/components/animate-ui/primitives/base/alert-dialog.tsx +0 -218
  612. package/src/components/animate-ui/primitives/base/checkbox.tsx +0 -153
  613. package/src/components/animate-ui/primitives/base/dialog.tsx +0 -203
  614. package/src/components/animate-ui/primitives/base/menu.tsx +0 -463
  615. package/src/components/animate-ui/primitives/base/popover.tsx +0 -167
  616. package/src/components/animate-ui/primitives/base/progress.tsx +0 -103
  617. package/src/components/animate-ui/primitives/base/switch.tsx +0 -158
  618. package/src/components/animate-ui/primitives/base/tabs.tsx +0 -202
  619. package/src/components/animate-ui/primitives/base/tooltip.tsx +0 -209
  620. package/src/components/ui/alert-dialog.tsx +0 -177
  621. package/src/components/ui/badge/badge.styles.ts +0 -46
  622. package/src/components/ui/badge/badge.tsx +0 -52
  623. package/src/components/ui/badge/badge.types.ts +0 -41
  624. package/src/components/ui/badge/index.ts +0 -8
  625. package/src/components/ui/button/button.styles.ts +0 -66
  626. package/src/components/ui/button/button.tsx +0 -209
  627. package/src/components/ui/button/button.types.ts +0 -125
  628. package/src/components/ui/button/index.ts +0 -7
  629. package/src/components/ui/card.tsx +0 -108
  630. package/src/components/ui/combobox.tsx +0 -293
  631. package/src/components/ui/devenv-bracket.tsx +0 -81
  632. package/src/components/ui/dropdown-menu.tsx +0 -261
  633. package/src/components/ui/field.tsx +0 -227
  634. package/src/components/ui/index.ts +0 -28
  635. package/src/components/ui/input-group.tsx +0 -149
  636. package/src/components/ui/label.tsx +0 -18
  637. package/src/components/ui/morphing-popover/index.ts +0 -10
  638. package/src/components/ui/morphing-popover/morphing-popover.tsx +0 -183
  639. package/src/components/ui/select.tsx +0 -190
  640. package/src/components/ui/separator.tsx +0 -25
  641. package/src/components/ui/switch.tsx +0 -9
  642. package/src/components/ui/tabs.tsx +0 -9
  643. package/src/hooks/use-is-in-view.tsx +0 -25
  644. package/src/icons/index.ts +0 -12
  645. package/src/icons/lucide-animated/index.ts +0 -38
  646. /package/dist/{components/ui/morphing-popover/morphing-popover.module-yxDDcJHZ.css → react/components/MorphingPopover/morphing-popover.module-BkcZcmVy.css} +0 -0
  647. /package/dist/{icons → react/icons}/index.js +0 -0
  648. /package/dist/{icons → react/icons}/lucide-animated/check.d.ts +0 -0
  649. /package/dist/{icons → react/icons}/lucide-animated/edit-2.d.ts +0 -0
  650. /package/dist/{icons → react/icons}/lucide-animated/globe.d.ts +0 -0
  651. /package/dist/{icons → react/icons}/lucide-animated/index.js +0 -0
  652. /package/dist/{icons → react/icons}/lucide-animated/layers.d.ts +0 -0
  653. /package/dist/{icons → react/icons}/lucide-animated/package.d.ts +0 -0
  654. /package/dist/{icons → react/icons}/lucide-animated/palette.d.ts +0 -0
  655. /package/dist/{icons → react/icons}/lucide-animated/refresh-cw.d.ts +0 -0
  656. /package/dist/{icons → react/icons}/lucide-animated/rocket.d.ts +0 -0
  657. /package/dist/{icons → react/icons}/lucide-animated/save.d.ts +0 -0
  658. /package/dist/{icons → react/icons}/lucide-animated/trash-2.d.ts +0 -0
  659. /package/dist/{icons → react/icons}/lucide-animated/type.d.ts +0 -0
  660. /package/dist/{icons → react/icons}/lucide-animated/upload.d.ts +0 -0
  661. /package/src/{components/ui/morphing-popover → react/components/MorphingPopover}/morphing-popover.module.css +0 -0
  662. /package/src/{icons → react/icons}/lucide-animated/arrow-down-to-line.tsx +0 -0
  663. /package/src/{icons → react/icons}/lucide-animated/arrow-up.tsx +0 -0
  664. /package/src/{icons → react/icons}/lucide-animated/check.tsx +0 -0
  665. /package/src/{icons → react/icons}/lucide-animated/edit-2.tsx +0 -0
  666. /package/src/{icons → react/icons}/lucide-animated/globe.tsx +0 -0
  667. /package/src/{icons → react/icons}/lucide-animated/layers.tsx +0 -0
  668. /package/src/{icons → react/icons}/lucide-animated/list.tsx +0 -0
  669. /package/src/{icons → react/icons}/lucide-animated/package.tsx +0 -0
  670. /package/src/{icons → react/icons}/lucide-animated/palette.tsx +0 -0
  671. /package/src/{icons → react/icons}/lucide-animated/refresh-cw.tsx +0 -0
  672. /package/src/{icons → react/icons}/lucide-animated/rocket.tsx +0 -0
  673. /package/src/{icons → react/icons}/lucide-animated/save.tsx +0 -0
  674. /package/src/{icons → react/icons}/lucide-animated/terminal.tsx +0 -0
  675. /package/src/{icons → react/icons}/lucide-animated/trash-2.tsx +0 -0
  676. /package/src/{icons → react/icons}/lucide-animated/type.tsx +0 -0
  677. /package/src/{icons → react/icons}/lucide-animated/upload.tsx +0 -0
@@ -5,7 +5,7 @@ import { motion, useAnimation } from "framer-motion";
5
5
  import type { HTMLAttributes } from "react";
6
6
  import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
7
7
 
8
- import { cn } from "@/lib/utils";
8
+ import { cn } from "@/react/lib/utils";
9
9
 
10
10
  export interface TrendingUpIconHandle {
11
11
  startAnimation: () => void;
@@ -5,7 +5,7 @@ import { motion, useAnimation } from "framer-motion";
5
5
  import type { HTMLAttributes } from "react";
6
6
  import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
7
7
 
8
- import { cn } from "@/lib/utils";
8
+ import { cn } from "@/react/lib/utils";
9
9
 
10
10
  export interface XIconHandle {
11
11
  startAnimation: () => void;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * React components, hooks, icons, and utilities barrel export.
3
+ *
4
+ * @module @mks2508/mks-ui/react
5
+ *
6
+ * @example
7
+ * ```tsx
8
+ * import { Button, Card, Dialog, CornerBracket } from '@mks2508/mks-ui/react';
9
+ * import { useAutoHeight, useControlledState } from '@mks2508/mks-ui/react';
10
+ * import { cn } from '@mks2508/mks-ui/react';
11
+ * ```
12
+ */
13
+
14
+ // Primitives (internal building blocks, re-exported for advanced use)
15
+ export * from './primitives';
16
+
17
+ // UI components (primary public API)
18
+ export * from './ui';
19
+
20
+ // Complex components (CSS modules, advanced patterns)
21
+ export * from './components';
22
+
23
+ // Custom hooks
24
+ export * from './hooks';
25
+
26
+ // Icons
27
+ export * from './icons';
28
+
29
+ // Utilities
30
+ export * from './lib';
@@ -1,5 +1,25 @@
1
1
  import * as React from 'react';
2
2
 
3
+ /**
4
+ * Creates a strict context pair — a Provider and a hook that throws
5
+ * if used outside the Provider.
6
+ *
7
+ * @param name - Display name for error messages
8
+ * @returns A tuple of [Provider, useSafeContext]
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const [ThemeProvider, useTheme] = getStrictContext<IThemeContext>('ThemeProvider');
13
+ *
14
+ * function App() {
15
+ * return (
16
+ * <ThemeProvider value={{ mode: 'dark' }}>
17
+ * <MyComponent />
18
+ * </ThemeProvider>
19
+ * );
20
+ * }
21
+ * ```
22
+ */
3
23
  function getStrictContext<T>(
4
24
  name?: string,
5
25
  ): readonly [
@@ -0,0 +1,8 @@
1
+ /**
2
+ * React-specific utility functions barrel export.
3
+ *
4
+ * @module @mks2508/mks-ui/react/lib
5
+ */
6
+
7
+ export { cn } from './utils';
8
+ export { getStrictContext } from './get-strict-context';
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Utility functions for UI components.
2
+ * React-specific utility functions.
3
3
  *
4
- * @module @mks2508/mks-ui/lib/utils
4
+ * @module @mks2508/mks-ui/react/lib/utils
5
5
  */
6
6
 
7
7
  import { type ClassValue, clsx } from 'clsx';
@@ -9,18 +9,37 @@ import {
9
9
  type Transition,
10
10
  } from 'motion/react';
11
11
 
12
- import { useAutoHeight } from '@/hooks/use-auto-height';
13
- import { Slot, WithAsChild } from '@/components/animate-ui/primitives/animate/slot';
12
+ import { useAutoHeight } from '@/react/hooks/Animation/UseAutoHeight';
13
+ import { Slot, type WithAsChild } from '@/react/primitives/Slot';
14
14
 
15
- type AutoHeightProps = WithAsChild<
15
+ /** Props for the AutoHeight primitive component. */
16
+ type IAutoHeightProps = WithAsChild<
16
17
  {
17
18
  children: React.ReactNode;
19
+ /** Dependency list to trigger re-measurement. */
18
20
  deps?: React.DependencyList;
21
+ /** Motion animate target. */
19
22
  animate?: TargetAndTransition | LegacyAnimationControls;
23
+ /** Motion transition config. */
20
24
  transition?: Transition;
21
25
  } & Omit<HTMLMotionProps<'div'>, 'animate'>
22
26
  >;
23
27
 
28
+ /**
29
+ * AutoHeight primitive — animates height changes of dynamic content.
30
+ * Uses ResizeObserver internally to track content height and Motion for animation.
31
+ *
32
+ * @param deps - Dependency list to trigger re-measurement
33
+ * @param transition - Motion spring/tween transition config
34
+ * @param asChild - Render as child element using Slot pattern
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * <AutoHeight deps={[content]}>
39
+ * <div>{content}</div>
40
+ * </AutoHeight>
41
+ * ```
42
+ */
24
43
  function AutoHeight({
25
44
  children,
26
45
  deps = [],
@@ -35,7 +54,7 @@ function AutoHeight({
35
54
  animate,
36
55
  asChild = false,
37
56
  ...props
38
- }: AutoHeightProps) {
57
+ }: IAutoHeightProps) {
39
58
  const { ref, height } = useAutoHeight<HTMLDivElement>(deps);
40
59
 
41
60
  const Comp = asChild ? Slot : motion.div;
@@ -52,4 +71,4 @@ function AutoHeight({
52
71
  );
53
72
  }
54
73
 
55
- export { AutoHeight, type AutoHeightProps };
74
+ export { AutoHeight, type IAutoHeightProps };
@@ -5,20 +5,48 @@ import { useMotionValue, useSpring, type SpringOptions } from 'motion/react';
5
5
 
6
6
  import {
7
7
  useIsInView,
8
- type UseIsInViewOptions,
9
- } from '@/hooks/use-is-in-view';
8
+ type IUseIsInViewOptions,
9
+ } from '@/react/hooks/DOM/UseIsInView';
10
10
 
11
- type CountingNumberProps = Omit<React.ComponentProps<'span'>, 'children'> & {
11
+ /** Props for the CountingNumber primitive. */
12
+ type ICountingNumberProps = Omit<React.ComponentProps<'span'>, 'children'> & {
13
+ /** Target number to animate to. */
12
14
  number: number;
15
+ /** Starting number (default: 0). */
13
16
  fromNumber?: number;
17
+ /** Pad integer part with leading zeros. */
14
18
  padStart?: boolean;
19
+ /** Decimal separator character. */
15
20
  decimalSeparator?: string;
21
+ /** Number of decimal places to show. */
16
22
  decimalPlaces?: number;
23
+ /** Spring transition options. */
17
24
  transition?: SpringOptions;
25
+ /** Delay in ms before animation starts. */
18
26
  delay?: number;
27
+ /** Start at target number instead of fromNumber. */
19
28
  initiallyStable?: boolean;
20
- } & UseIsInViewOptions;
21
-
29
+ } & IUseIsInViewOptions;
30
+
31
+ /**
32
+ * CountingNumber primitive — animates a number from one value to another
33
+ * using spring physics. Supports decimal places, padding, and in-view triggers.
34
+ *
35
+ * @param number - Target number to animate to
36
+ * @param fromNumber - Starting number (default: 0)
37
+ * @param transition - Spring physics options
38
+ * @param inView - Only animate when in viewport
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <CountingNumber number={1234} transition={{ stiffness: 90, damping: 50 }} />
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * <CountingNumber number={99.99} decimalPlaces={2} decimalSeparator="," inView inViewOnce />
48
+ * ```
49
+ */
22
50
  function CountingNumber({
23
51
  ref,
24
52
  number,
@@ -33,7 +61,7 @@ function CountingNumber({
33
61
  delay = 0,
34
62
  initiallyStable = false,
35
63
  ...props
36
- }: CountingNumberProps) {
64
+ }: ICountingNumberProps) {
37
65
  const { ref: localRef, isInView } = useIsInView(
38
66
  ref as React.Ref<HTMLElement>,
39
67
  {
@@ -116,4 +144,4 @@ function CountingNumber({
116
144
  );
117
145
  }
118
146
 
119
- export { CountingNumber, type CountingNumberProps };
147
+ export { CountingNumber, type ICountingNumberProps };
@@ -0,0 +1,136 @@
1
+ import type { Transition } from 'motion/react';
2
+
3
+ /** Mode for highlight tracking. */
4
+ export type HighlightMode = 'children' | 'parent';
5
+
6
+ /** Bounding rectangle offsets. */
7
+ export type Bounds = {
8
+ top: number;
9
+ left: number;
10
+ width: number;
11
+ height: number;
12
+ };
13
+
14
+ /** Internal context type for Highlight state. */
15
+ export type HighlightContextType<T extends string> = {
16
+ as?: keyof HTMLElementTagNameMap;
17
+ mode: HighlightMode;
18
+ activeValue: T | null;
19
+ setActiveValue: (value: T | null) => void;
20
+ setBounds: (bounds: DOMRect) => void;
21
+ clearBounds: () => void;
22
+ id: string;
23
+ hover: boolean;
24
+ click: boolean;
25
+ className?: string;
26
+ style?: React.CSSProperties;
27
+ activeClassName?: string;
28
+ setActiveClassName: (className: string) => void;
29
+ transition?: Transition;
30
+ disabled?: boolean;
31
+ enabled?: boolean;
32
+ exitDelay?: number;
33
+ forceUpdateBounds?: boolean;
34
+ };
35
+
36
+ /** Base props shared by all Highlight variants. */
37
+ export type BaseHighlightProps<T extends React.ElementType = 'div'> = {
38
+ as?: T;
39
+ ref?: React.Ref<HTMLDivElement>;
40
+ mode?: HighlightMode;
41
+ value?: string | null;
42
+ defaultValue?: string | null;
43
+ onValueChange?: (value: string | null) => void;
44
+ className?: string;
45
+ style?: React.CSSProperties;
46
+ transition?: Transition;
47
+ hover?: boolean;
48
+ click?: boolean;
49
+ disabled?: boolean;
50
+ enabled?: boolean;
51
+ exitDelay?: number;
52
+ };
53
+
54
+ /** Props specific to parent mode. */
55
+ export type ParentModeHighlightProps = {
56
+ boundsOffset?: Partial<Bounds>;
57
+ containerClassName?: string;
58
+ forceUpdateBounds?: boolean;
59
+ };
60
+
61
+ /** Controlled parent mode highlight props. */
62
+ export type ControlledParentModeHighlightProps<T extends React.ElementType = 'div'> =
63
+ BaseHighlightProps<T> &
64
+ ParentModeHighlightProps & {
65
+ mode: 'parent';
66
+ controlledItems: true;
67
+ children: React.ReactNode;
68
+ };
69
+
70
+ /** Controlled children mode highlight props. */
71
+ export type ControlledChildrenModeHighlightProps<T extends React.ElementType = 'div'> =
72
+ BaseHighlightProps<T> & {
73
+ mode?: 'children' | undefined;
74
+ controlledItems: true;
75
+ children: React.ReactNode;
76
+ };
77
+
78
+ /** Uncontrolled parent mode highlight props. */
79
+ export type UncontrolledParentModeHighlightProps<T extends React.ElementType = 'div'> =
80
+ BaseHighlightProps<T> &
81
+ ParentModeHighlightProps & {
82
+ mode: 'parent';
83
+ controlledItems?: false;
84
+ itemsClassName?: string;
85
+ children: React.ReactElement | React.ReactElement[];
86
+ };
87
+
88
+ /** Uncontrolled children mode highlight props. */
89
+ export type UncontrolledChildrenModeHighlightProps<
90
+ T extends React.ElementType = 'div',
91
+ > = BaseHighlightProps<T> & {
92
+ mode?: 'children';
93
+ controlledItems?: false;
94
+ itemsClassName?: string;
95
+ children: React.ReactElement | React.ReactElement[];
96
+ };
97
+
98
+ /**
99
+ * Props for the Highlight component.
100
+ * Discriminated union supporting controlled/uncontrolled + children/parent modes.
101
+ */
102
+ export type IHighlightProps<T extends React.ElementType = 'div'> =
103
+ | ControlledParentModeHighlightProps<T>
104
+ | ControlledChildrenModeHighlightProps<T>
105
+ | UncontrolledParentModeHighlightProps<T>
106
+ | UncontrolledChildrenModeHighlightProps<T>;
107
+
108
+ /** Extended child props used internally by HighlightItem. */
109
+ export type ExtendedChildProps = React.ComponentProps<'div'> & {
110
+ id?: string;
111
+ ref?: React.Ref<HTMLElement>;
112
+ 'data-active'?: string;
113
+ 'data-value'?: string;
114
+ 'data-disabled'?: boolean;
115
+ 'data-highlight'?: boolean;
116
+ 'data-slot'?: string;
117
+ };
118
+
119
+ /**
120
+ * Props for a HighlightItem within a Highlight container.
121
+ */
122
+ export type IHighlightItemProps<T extends React.ElementType = 'div'> =
123
+ React.ComponentProps<T> & {
124
+ as?: T;
125
+ children: React.ReactElement;
126
+ id?: string;
127
+ value?: string;
128
+ className?: string;
129
+ style?: React.CSSProperties;
130
+ transition?: Transition;
131
+ activeClassName?: string;
132
+ disabled?: boolean;
133
+ exitDelay?: number;
134
+ asChild?: boolean;
135
+ forceUpdateBounds?: boolean;
136
+ };
@@ -3,16 +3,15 @@
3
3
  import * as React from 'react';
4
4
  import { AnimatePresence, motion, type Transition } from 'motion/react';
5
5
 
6
- import { cn } from '@/lib/utils';
7
-
8
- type HighlightMode = 'children' | 'parent';
9
-
10
- type Bounds = {
11
- top: number;
12
- left: number;
13
- width: number;
14
- height: number;
15
- };
6
+ import { cn } from '@/react/lib/utils';
7
+ import type {
8
+ Bounds,
9
+ HighlightContextType,
10
+ IHighlightProps,
11
+ IHighlightItemProps,
12
+ ParentModeHighlightProps,
13
+ ExtendedChildProps,
14
+ } from './Highlight.types';
16
15
 
17
16
  const DEFAULT_BOUNDS_OFFSET: Bounds = {
18
17
  top: 0,
@@ -21,32 +20,17 @@ const DEFAULT_BOUNDS_OFFSET: Bounds = {
21
20
  height: 0,
22
21
  };
23
22
 
24
- type HighlightContextType<T extends string> = {
25
- as?: keyof HTMLElementTagNameMap;
26
- mode: HighlightMode;
27
- activeValue: T | null;
28
- setActiveValue: (value: T | null) => void;
29
- setBounds: (bounds: DOMRect) => void;
30
- clearBounds: () => void;
31
- id: string;
32
- hover: boolean;
33
- click: boolean;
34
- className?: string;
35
- style?: React.CSSProperties;
36
- activeClassName?: string;
37
- setActiveClassName: (className: string) => void;
38
- transition?: Transition;
39
- disabled?: boolean;
40
- enabled?: boolean;
41
- exitDelay?: number;
42
- forceUpdateBounds?: boolean;
43
- };
44
-
45
23
  const HighlightContext = React.createContext<
46
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
25
  HighlightContextType<any> | undefined
48
26
  >(undefined);
49
27
 
28
+ /**
29
+ * Hook to access the Highlight context.
30
+ * Must be used within a Highlight provider.
31
+ *
32
+ * @returns The current highlight context
33
+ */
50
34
  function useHighlight<T extends string>(): HighlightContextType<T> {
51
35
  const context = React.useContext(HighlightContext);
52
36
  if (!context) {
@@ -55,72 +39,29 @@ function useHighlight<T extends string>(): HighlightContextType<T> {
55
39
  return context as unknown as HighlightContextType<T>;
56
40
  }
57
41
 
58
- type BaseHighlightProps<T extends React.ElementType = 'div'> = {
59
- as?: T;
60
- ref?: React.Ref<HTMLDivElement>;
61
- mode?: HighlightMode;
62
- value?: string | null;
63
- defaultValue?: string | null;
64
- onValueChange?: (value: string | null) => void;
65
- className?: string;
66
- style?: React.CSSProperties;
67
- transition?: Transition;
68
- hover?: boolean;
69
- click?: boolean;
70
- disabled?: boolean;
71
- enabled?: boolean;
72
- exitDelay?: number;
73
- };
74
-
75
- type ParentModeHighlightProps = {
76
- boundsOffset?: Partial<Bounds>;
77
- containerClassName?: string;
78
- forceUpdateBounds?: boolean;
79
- };
80
-
81
- type ControlledParentModeHighlightProps<T extends React.ElementType = 'div'> =
82
- BaseHighlightProps<T> &
83
- ParentModeHighlightProps & {
84
- mode: 'parent';
85
- controlledItems: true;
86
- children: React.ReactNode;
87
- };
88
-
89
- type ControlledChildrenModeHighlightProps<T extends React.ElementType = 'div'> =
90
- BaseHighlightProps<T> & {
91
- mode?: 'children' | undefined;
92
- controlledItems: true;
93
- children: React.ReactNode;
94
- };
95
-
96
- type UncontrolledParentModeHighlightProps<T extends React.ElementType = 'div'> =
97
- BaseHighlightProps<T> &
98
- ParentModeHighlightProps & {
99
- mode: 'parent';
100
- controlledItems?: false;
101
- itemsClassName?: string;
102
- children: React.ReactElement | React.ReactElement[];
103
- };
104
-
105
- type UncontrolledChildrenModeHighlightProps<
106
- T extends React.ElementType = 'div',
107
- > = BaseHighlightProps<T> & {
108
- mode?: 'children';
109
- controlledItems?: false;
110
- itemsClassName?: string;
111
- children: React.ReactElement | React.ReactElement[];
112
- };
113
-
114
- type HighlightProps<T extends React.ElementType = 'div'> =
115
- | ControlledParentModeHighlightProps<T>
116
- | ControlledChildrenModeHighlightProps<T>
117
- | UncontrolledParentModeHighlightProps<T>
118
- | UncontrolledChildrenModeHighlightProps<T>;
119
-
42
+ /**
43
+ * Highlight primitive — animated background indicator that follows the active item.
44
+ * Supports two modes: "children" (layoutId-based per item) and "parent" (absolute positioned).
45
+ *
46
+ * This is an internal primitive used by Tabs, Menu, and similar components.
47
+ *
48
+ * @param mode - Tracking mode: 'children' or 'parent'
49
+ * @param hover - Activate on hover instead of click
50
+ * @param click - Activate on click (default: true)
51
+ * @param transition - Motion transition config
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * <Highlight hover>
56
+ * <HighlightItem><button>Tab 1</button></HighlightItem>
57
+ * <HighlightItem><button>Tab 2</button></HighlightItem>
58
+ * </Highlight>
59
+ * ```
60
+ */
120
61
  function Highlight<T extends React.ElementType = 'div'>({
121
62
  ref,
122
63
  ...props
123
- }: HighlightProps<T>) {
64
+ }: IHighlightProps<T>) {
124
65
  const {
125
66
  as: Component = 'div',
126
67
  children,
@@ -353,32 +294,21 @@ function getNonOverridingDataAttributes(
353
294
  );
354
295
  }
355
296
 
356
- type ExtendedChildProps = React.ComponentProps<'div'> & {
357
- id?: string;
358
- ref?: React.Ref<HTMLElement>;
359
- 'data-active'?: string;
360
- 'data-value'?: string;
361
- 'data-disabled'?: boolean;
362
- 'data-highlight'?: boolean;
363
- 'data-slot'?: string;
364
- };
365
-
366
- type HighlightItemProps<T extends React.ElementType = 'div'> =
367
- React.ComponentProps<T> & {
368
- as?: T;
369
- children: React.ReactElement;
370
- id?: string;
371
- value?: string;
372
- className?: string;
373
- style?: React.CSSProperties;
374
- transition?: Transition;
375
- activeClassName?: string;
376
- disabled?: boolean;
377
- exitDelay?: number;
378
- asChild?: boolean;
379
- forceUpdateBounds?: boolean;
380
- };
381
-
297
+ /**
298
+ * HighlightItem — a single item within a Highlight container.
299
+ * Tracks its own position and renders the animated highlight indicator.
300
+ *
301
+ * @param value - Unique identifier for this item
302
+ * @param activeClassName - Additional class when this item is active
303
+ * @param asChild - Use the child element directly instead of wrapping
304
+ *
305
+ * @example
306
+ * ```tsx
307
+ * <HighlightItem value="tab-1">
308
+ * <button>Tab 1</button>
309
+ * </HighlightItem>
310
+ * ```
311
+ */
382
312
  function HighlightItem<T extends React.ElementType>({
383
313
  ref,
384
314
  as,
@@ -394,7 +324,7 @@ function HighlightItem<T extends React.ElementType>({
394
324
  asChild = false,
395
325
  forceUpdateBounds,
396
326
  ...props
397
- }: HighlightItemProps<T>) {
327
+ }: IHighlightItemProps<T>) {
398
328
  const itemId = React.useId();
399
329
  const {
400
330
  activeValue,
@@ -635,6 +565,13 @@ export {
635
565
  Highlight,
636
566
  HighlightItem,
637
567
  useHighlight,
638
- type HighlightProps,
639
- type HighlightItemProps,
640
568
  };
569
+
570
+ // Re-exports
571
+ export type {
572
+ IHighlightProps,
573
+ IHighlightItemProps,
574
+ Bounds,
575
+ HighlightMode,
576
+ HighlightContextType,
577
+ } from './Highlight.types';
@@ -2,7 +2,8 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { motion, isMotionComponent, type HTMLMotionProps } from 'motion/react';
5
- import { cn } from '@/lib/utils';
5
+
6
+ import { cn } from '@/react/lib/utils';
6
7
 
7
8
  type AnyProps = Record<string, unknown>;
8
9
 
@@ -15,10 +16,24 @@ type WithAsChild<Base extends object> =
15
16
  | (Base & { asChild: true; children: React.ReactElement })
16
17
  | (Base & { asChild?: false | undefined });
17
18
 
18
- type SlotProps<T extends HTMLElement = HTMLElement> = {
19
+ /**
20
+ * Props for the Slot component.
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <Slot asChild>
25
+ * <button>Click me</button>
26
+ * </Slot>
27
+ * ```
28
+ */
29
+ export interface ISlotProps<T extends HTMLElement = HTMLElement>
30
+ extends DOMMotionProps<T> {
31
+ /** Child element to render with motion enhancements. */
19
32
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
33
  children?: any;
21
- } & DOMMotionProps<T>;
34
+ }
35
+
36
+ type SlotProps<T extends HTMLElement = HTMLElement> = ISlotProps<T>;
22
37
 
23
38
  function mergeRefs<T>(
24
39
  ...refs: (React.Ref<T> | undefined)[]
@@ -58,7 +73,30 @@ function mergeProps<T extends HTMLElement>(
58
73
  return merged;
59
74
  }
60
75
 
61
- function Slot<T extends HTMLElement = HTMLElement>({
76
+ /**
77
+ * Slot component - Motion-enhanced composition primitive.
78
+ *
79
+ * Wraps a child element with motion capabilities using the asChild pattern.
80
+ * When the child is already a motion component, it's used directly.
81
+ * Otherwise, a motion wrapper is created with the child's element type.
82
+ *
83
+ * @param children - Child element to render with motion enhancements
84
+ * @param ref - Ref to the merged element
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * // Basic usage
89
+ * <Slot asChild>
90
+ * <button>Click me</button>
91
+ * </Slot>
92
+ *
93
+ * // With motion props
94
+ * <Slot asChild>
95
+ * <button onClick={handleClick}>Hover me</button>
96
+ * </Slot>
97
+ * ```
98
+ */
99
+ export function Slot<T extends HTMLElement = HTMLElement>({
62
100
  children,
63
101
  ref,
64
102
  ...props
@@ -87,10 +125,4 @@ function Slot<T extends HTMLElement = HTMLElement>({
87
125
  );
88
126
  }
89
127
 
90
- export {
91
- Slot,
92
- type SlotProps,
93
- type WithAsChild,
94
- type DOMMotionProps,
95
- type AnyProps,
96
- };
128
+ export type { WithAsChild, DOMMotionProps, AnyProps };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Primitives barrel export.
3
+ *
4
+ * Building blocks for components. Not meant to be used directly by consumers.
5
+ *
6
+ * @module @mks2508/mks-ui/react/primitives
7
+ */
8
+
9
+ // Internal animation primitives
10
+ export * from './Slot';
11
+ export * from './Highlight';
12
+ export * from './AutoHeight';
13
+ export * from './CountingNumber';