@mks2508/mks-ui 0.1.4 → 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 (811) hide show
  1. package/README.md +38 -11
  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 -7
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +0 -72
  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/react/components/MorphingPopover/index.js +119 -0
  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/react/hooks/Animation/UseAutoHeight.js +80 -0
  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/react/icons/lucide-animated/activity.js +75 -0
  38. package/dist/react/icons/lucide-animated/arrow-down-to-line.d.ts +23 -0
  39. package/dist/react/icons/lucide-animated/arrow-down-to-line.d.ts.map +1 -0
  40. package/dist/react/icons/lucide-animated/arrow-down-to-line.js +45 -0
  41. package/dist/react/icons/lucide-animated/arrow-up.d.ts +23 -0
  42. package/dist/react/icons/lucide-animated/arrow-up.d.ts.map +1 -0
  43. package/dist/react/icons/lucide-animated/arrow-up.js +41 -0
  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/react/icons/lucide-animated/bell-electric.js +202 -0
  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/react/icons/lucide-animated/bell.js +65 -0
  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/react/icons/lucide-animated/bot.js +118 -0
  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/react/icons/lucide-animated/box.js +86 -0
  56. package/dist/react/icons/lucide-animated/check.d.ts.map +1 -0
  57. package/dist/react/icons/lucide-animated/check.js +23 -0
  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/react/icons/lucide-animated/circle-check.js +76 -0
  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/react/icons/lucide-animated/delete.js +110 -0
  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/react/icons/lucide-animated/download.js +70 -0
  67. package/dist/react/icons/lucide-animated/edit-2.d.ts.map +1 -0
  68. package/dist/react/icons/lucide-animated/edit-2.js +23 -0
  69. package/dist/react/icons/lucide-animated/globe.d.ts.map +1 -0
  70. package/dist/react/icons/lucide-animated/globe.js +31 -0
  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/react/icons/lucide-animated/home.js +68 -0
  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/react/icons/lucide-animated/layers.js +27 -0
  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/react/icons/lucide-animated/layout-panel-top.js +130 -0
  81. package/dist/react/icons/lucide-animated/list.d.ts +23 -0
  82. package/dist/react/icons/lucide-animated/list.d.ts.map +1 -0
  83. package/dist/react/icons/lucide-animated/list.js +78 -0
  84. package/dist/react/icons/lucide-animated/package.d.ts.map +1 -0
  85. package/dist/react/icons/lucide-animated/package.js +28 -0
  86. package/dist/react/icons/lucide-animated/palette.d.ts.map +1 -0
  87. package/dist/react/icons/lucide-animated/palette.js +49 -0
  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/react/icons/lucide-animated/plus.js +59 -0
  91. package/dist/react/icons/lucide-animated/refresh-cw.d.ts.map +1 -0
  92. package/dist/react/icons/lucide-animated/refresh-cw.js +28 -0
  93. package/dist/react/icons/lucide-animated/rocket.d.ts.map +1 -0
  94. package/dist/react/icons/lucide-animated/rocket.js +28 -0
  95. package/dist/react/icons/lucide-animated/save.d.ts.map +1 -0
  96. package/dist/react/icons/lucide-animated/save.js +27 -0
  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/react/icons/lucide-animated/search.js +78 -0
  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/react/icons/lucide-animated/settings.js +63 -0
  103. package/dist/react/icons/lucide-animated/terminal.d.ts +24 -0
  104. package/dist/react/icons/lucide-animated/terminal.d.ts.map +1 -0
  105. package/dist/react/icons/lucide-animated/terminal.js +36 -0
  106. package/dist/react/icons/lucide-animated/trash-2.d.ts.map +1 -0
  107. package/dist/react/icons/lucide-animated/trash-2.js +39 -0
  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/react/icons/lucide-animated/trending-down.js +123 -0
  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/react/icons/lucide-animated/trending-up.js +123 -0
  114. package/dist/react/icons/lucide-animated/type.d.ts.map +1 -0
  115. package/dist/react/icons/lucide-animated/type.js +37 -0
  116. package/dist/react/icons/lucide-animated/upload.d.ts.map +1 -0
  117. package/dist/react/icons/lucide-animated/upload.js +32 -0
  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/react/icons/lucide-animated/x.js +68 -0
  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/react/lib/utils.d.ts +20 -0
  130. package/dist/react/lib/utils.d.ts.map +1 -0
  131. package/dist/react/lib/utils.js +27 -0
  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/react/primitives/Highlight/index.js +396 -0
  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/react/primitives/Slot/index.js +65 -0
  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/react/ui/Badge/Badge.styles.js +30 -0
  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/react/ui/Button/Button.styles.js +40 -0
  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/react/ui/Combobox/index.js +216 -0
  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/react/ui/DropdownMenu/index.js +181 -0
  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/react/ui/Field/index.js +145 -0
  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/react/ui/Select/index.js +136 -0
  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 -9
  338. package/src/core/index.ts +7 -0
  339. package/src/core/types.ts +82 -0
  340. package/src/index.ts +20 -14
  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/react/hooks/Animation/UseAutoHeight.tsx +123 -0
  345. package/src/react/hooks/DOM/UseIsInView.tsx +44 -0
  346. package/src/react/hooks/State/UseControlledState.tsx +57 -0
  347. package/src/react/hooks/State/UseDataState.tsx +76 -0
  348. package/src/react/hooks/index.ts +17 -0
  349. package/src/react/icons/index.ts +12 -0
  350. package/src/react/icons/lucide-animated/activity.tsx +109 -0
  351. package/src/react/icons/lucide-animated/bell-electric.tsx +124 -0
  352. package/src/react/icons/lucide-animated/bell.tsx +93 -0
  353. package/src/react/icons/lucide-animated/bot.tsx +122 -0
  354. package/src/react/icons/lucide-animated/box.tsx +117 -0
  355. package/src/react/icons/lucide-animated/circle-check.tsx +107 -0
  356. package/src/react/icons/lucide-animated/delete.tsx +133 -0
  357. package/src/react/icons/lucide-animated/download.tsx +99 -0
  358. package/src/react/icons/lucide-animated/home.tsx +103 -0
  359. package/src/react/icons/lucide-animated/index.ts +38 -0
  360. package/src/react/icons/lucide-animated/layout-panel-top.tsx +143 -0
  361. package/src/react/icons/lucide-animated/plus.tsx +92 -0
  362. package/src/react/icons/lucide-animated/search.tsx +94 -0
  363. package/src/react/icons/lucide-animated/settings.tsx +92 -0
  364. package/src/react/icons/lucide-animated/trending-down.tsx +151 -0
  365. package/src/react/icons/lucide-animated/trending-up.tsx +150 -0
  366. package/src/react/icons/lucide-animated/x.tsx +102 -0
  367. package/src/react/index.ts +30 -0
  368. package/src/react/lib/get-strict-context.tsx +56 -0
  369. package/src/react/lib/index.ts +8 -0
  370. package/src/react/lib/utils.ts +24 -0
  371. package/src/react/primitives/AutoHeight/index.tsx +74 -0
  372. package/src/react/primitives/CountingNumber/index.tsx +147 -0
  373. package/src/react/primitives/Highlight/Highlight.types.ts +136 -0
  374. package/src/react/primitives/Highlight/index.tsx +577 -0
  375. package/src/react/primitives/Slot/index.tsx +128 -0
  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/react/ui/Input/Input.styles.ts +11 -0
  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/react/ui/Textarea/Textarea.styles.ts +10 -0
  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/animate/slot.js +0 -42
  450. package/dist/components/animate-ui/primitives/base/accordion.d.ts +0 -22
  451. package/dist/components/animate-ui/primitives/base/accordion.d.ts.map +0 -1
  452. package/dist/components/animate-ui/primitives/base/accordion.js +0 -132
  453. package/dist/components/animate-ui/primitives/base/alert-dialog.d.ts +0 -33
  454. package/dist/components/animate-ui/primitives/base/alert-dialog.d.ts.map +0 -1
  455. package/dist/components/animate-ui/primitives/base/alert-dialog.js +0 -132
  456. package/dist/components/animate-ui/primitives/base/checkbox.d.ts +0 -15
  457. package/dist/components/animate-ui/primitives/base/checkbox.d.ts.map +0 -1
  458. package/dist/components/animate-ui/primitives/base/checkbox.js +0 -101
  459. package/dist/components/animate-ui/primitives/base/dialog.d.ts +0 -33
  460. package/dist/components/animate-ui/primitives/base/dialog.d.ts.map +0 -1
  461. package/dist/components/animate-ui/primitives/base/dialog.js +0 -132
  462. package/dist/components/animate-ui/primitives/base/menu.d.ts +0 -60
  463. package/dist/components/animate-ui/primitives/base/menu.d.ts.map +0 -1
  464. package/dist/components/animate-ui/primitives/base/menu.js +0 -266
  465. package/dist/components/animate-ui/primitives/base/popover.d.ts +0 -30
  466. package/dist/components/animate-ui/primitives/base/popover.d.ts.map +0 -1
  467. package/dist/components/animate-ui/primitives/base/popover.js +0 -109
  468. package/dist/components/animate-ui/primitives/base/progress.d.ts +0 -297
  469. package/dist/components/animate-ui/primitives/base/progress.d.ts.map +0 -1
  470. package/dist/components/animate-ui/primitives/base/progress.js +0 -63
  471. package/dist/components/animate-ui/primitives/base/switch.d.ts +0 -23
  472. package/dist/components/animate-ui/primitives/base/switch.d.ts.map +0 -1
  473. package/dist/components/animate-ui/primitives/base/switch.js +0 -90
  474. package/dist/components/animate-ui/primitives/base/tabs.d.ts +0 -33
  475. package/dist/components/animate-ui/primitives/base/tabs.d.ts.map +0 -1
  476. package/dist/components/animate-ui/primitives/base/tabs.js +0 -132
  477. package/dist/components/animate-ui/primitives/base/tooltip.d.ts +0 -31
  478. package/dist/components/animate-ui/primitives/base/tooltip.d.ts.map +0 -1
  479. package/dist/components/animate-ui/primitives/base/tooltip.js +0 -116
  480. package/dist/components/animate-ui/primitives/effects/auto-height.d.ts +0 -12
  481. package/dist/components/animate-ui/primitives/effects/auto-height.d.ts.map +0 -1
  482. package/dist/components/animate-ui/primitives/effects/auto-height.js +0 -37
  483. package/dist/components/animate-ui/primitives/effects/highlight.d.ts +0 -92
  484. package/dist/components/animate-ui/primitives/effects/highlight.d.ts.map +0 -1
  485. package/dist/components/animate-ui/primitives/effects/highlight.js +0 -356
  486. package/dist/components/animate-ui/primitives/texts/counting-number.d.ts +0 -16
  487. package/dist/components/animate-ui/primitives/texts/counting-number.d.ts.map +0 -1
  488. package/dist/components/animate-ui/primitives/texts/counting-number.js +0 -78
  489. package/dist/components/ui/accordion.d.ts +0 -9
  490. package/dist/components/ui/accordion.d.ts.map +0 -1
  491. package/dist/components/ui/accordion.js +0 -1
  492. package/dist/components/ui/alert-dialog.d.ts +0 -9
  493. package/dist/components/ui/alert-dialog.d.ts.map +0 -1
  494. package/dist/components/ui/alert-dialog.js +0 -1
  495. package/dist/components/ui/auto-height.d.ts +0 -9
  496. package/dist/components/ui/auto-height.d.ts.map +0 -1
  497. package/dist/components/ui/auto-height.js +0 -1
  498. package/dist/components/ui/badge/badge.d.ts +0 -37
  499. package/dist/components/ui/badge/badge.d.ts.map +0 -1
  500. package/dist/components/ui/badge/badge.js +0 -52
  501. package/dist/components/ui/badge/badge.styles.d.ts +0 -23
  502. package/dist/components/ui/badge/badge.styles.d.ts.map +0 -1
  503. package/dist/components/ui/badge/badge.styles.js +0 -34
  504. package/dist/components/ui/badge/badge.types.d.ts +0 -38
  505. package/dist/components/ui/badge/badge.types.d.ts.map +0 -1
  506. package/dist/components/ui/badge/index.d.ts +0 -8
  507. package/dist/components/ui/badge/index.d.ts.map +0 -1
  508. package/dist/components/ui/badge/index.js +0 -2
  509. package/dist/components/ui/button/button.d.ts +0 -79
  510. package/dist/components/ui/button/button.d.ts.map +0 -1
  511. package/dist/components/ui/button/button.js +0 -161
  512. package/dist/components/ui/button/button.styles.d.ts +0 -33
  513. package/dist/components/ui/button/button.styles.d.ts.map +0 -1
  514. package/dist/components/ui/button/button.styles.js +0 -46
  515. package/dist/components/ui/button/button.types.d.ts +0 -103
  516. package/dist/components/ui/button/button.types.d.ts.map +0 -1
  517. package/dist/components/ui/button/index.d.ts +0 -7
  518. package/dist/components/ui/button/index.d.ts.map +0 -1
  519. package/dist/components/ui/button/index.js +0 -2
  520. package/dist/components/ui/card.d.ts +0 -14
  521. package/dist/components/ui/card.d.ts.map +0 -1
  522. package/dist/components/ui/card.js +0 -67
  523. package/dist/components/ui/checkbox.d.ts +0 -9
  524. package/dist/components/ui/checkbox.d.ts.map +0 -1
  525. package/dist/components/ui/checkbox.js +0 -1
  526. package/dist/components/ui/combobox.d.ts +0 -25
  527. package/dist/components/ui/combobox.d.ts.map +0 -1
  528. package/dist/components/ui/combobox.js +0 -178
  529. package/dist/components/ui/corner-bracket.d.ts +0 -34
  530. package/dist/components/ui/corner-bracket.d.ts.map +0 -1
  531. package/dist/components/ui/corner-bracket.js +0 -70
  532. package/dist/components/ui/counting-number.d.ts +0 -9
  533. package/dist/components/ui/counting-number.d.ts.map +0 -1
  534. package/dist/components/ui/counting-number.js +0 -1
  535. package/dist/components/ui/dialog.d.ts +0 -9
  536. package/dist/components/ui/dialog.d.ts.map +0 -1
  537. package/dist/components/ui/dialog.js +0 -1
  538. package/dist/components/ui/dropdown-menu.d.ts +0 -30
  539. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  540. package/dist/components/ui/dropdown-menu.js +0 -151
  541. package/dist/components/ui/field.d.ts +0 -25
  542. package/dist/components/ui/field.d.ts.map +0 -1
  543. package/dist/components/ui/field.js +0 -113
  544. package/dist/components/ui/highlight.d.ts +0 -9
  545. package/dist/components/ui/highlight.d.ts.map +0 -1
  546. package/dist/components/ui/highlight.js +0 -1
  547. package/dist/components/ui/index.d.ts +0 -36
  548. package/dist/components/ui/index.d.ts.map +0 -1
  549. package/dist/components/ui/index.js +0 -47
  550. package/dist/components/ui/input-group.d.ts +0 -19
  551. package/dist/components/ui/input-group.d.ts.map +0 -1
  552. package/dist/components/ui/input-group.js +0 -84
  553. package/dist/components/ui/input.d.ts +0 -4
  554. package/dist/components/ui/input.d.ts.map +0 -1
  555. package/dist/components/ui/input.js +0 -17
  556. package/dist/components/ui/label.d.ts +0 -4
  557. package/dist/components/ui/label.d.ts.map +0 -1
  558. package/dist/components/ui/label.js +0 -15
  559. package/dist/components/ui/menu.d.ts +0 -9
  560. package/dist/components/ui/menu.d.ts.map +0 -1
  561. package/dist/components/ui/menu.js +0 -1
  562. package/dist/components/ui/morphing-popover/index.d.ts +0 -10
  563. package/dist/components/ui/morphing-popover/index.d.ts.map +0 -1
  564. package/dist/components/ui/morphing-popover/index.js +0 -1
  565. package/dist/components/ui/morphing-popover/morphing-popover.d.ts +0 -54
  566. package/dist/components/ui/morphing-popover/morphing-popover.d.ts.map +0 -1
  567. package/dist/components/ui/morphing-popover/morphing-popover.js +0 -79
  568. package/dist/components/ui/morphing-popover/morphing-popover.module.js +0 -5
  569. package/dist/components/ui/popover.d.ts +0 -9
  570. package/dist/components/ui/popover.d.ts.map +0 -1
  571. package/dist/components/ui/popover.js +0 -1
  572. package/dist/components/ui/progress.d.ts +0 -9
  573. package/dist/components/ui/progress.d.ts.map +0 -1
  574. package/dist/components/ui/progress.js +0 -1
  575. package/dist/components/ui/select.d.ts +0 -16
  576. package/dist/components/ui/select.d.ts.map +0 -1
  577. package/dist/components/ui/select.js +0 -114
  578. package/dist/components/ui/separator.d.ts +0 -4
  579. package/dist/components/ui/separator.d.ts.map +0 -1
  580. package/dist/components/ui/separator.js +0 -18
  581. package/dist/components/ui/slot.d.ts +0 -9
  582. package/dist/components/ui/slot.d.ts.map +0 -1
  583. package/dist/components/ui/slot.js +0 -1
  584. package/dist/components/ui/switch.d.ts +0 -9
  585. package/dist/components/ui/switch.d.ts.map +0 -1
  586. package/dist/components/ui/switch.js +0 -1
  587. package/dist/components/ui/tabs.d.ts +0 -9
  588. package/dist/components/ui/tabs.d.ts.map +0 -1
  589. package/dist/components/ui/tabs.js +0 -1
  590. package/dist/components/ui/textarea.d.ts +0 -4
  591. package/dist/components/ui/textarea.d.ts.map +0 -1
  592. package/dist/components/ui/textarea.js +0 -15
  593. package/dist/components/ui/tooltip.d.ts +0 -9
  594. package/dist/components/ui/tooltip.d.ts.map +0 -1
  595. package/dist/components/ui/tooltip.js +0 -1
  596. package/dist/hooks/index.d.ts +0 -10
  597. package/dist/hooks/index.d.ts.map +0 -1
  598. package/dist/hooks/index.js +0 -4
  599. package/dist/hooks/use-auto-height.d.ts +0 -11
  600. package/dist/hooks/use-auto-height.d.ts.map +0 -1
  601. package/dist/hooks/use-auto-height.js +0 -66
  602. package/dist/hooks/use-controlled-state.d.ts +0 -9
  603. package/dist/hooks/use-controlled-state.d.ts.map +0 -1
  604. package/dist/hooks/use-controlled-state.js +0 -17
  605. package/dist/hooks/use-data-state.d.ts +0 -5
  606. package/dist/hooks/use-data-state.d.ts.map +0 -1
  607. package/dist/hooks/use-data-state.js +0 -42
  608. package/dist/hooks/use-is-in-view.d.ts +0 -13
  609. package/dist/hooks/use-is-in-view.d.ts.map +0 -1
  610. package/dist/hooks/use-is-in-view.js +0 -20
  611. package/dist/icons/index.d.ts +0 -8
  612. package/dist/icons/index.d.ts.map +0 -1
  613. package/dist/icons/lucide-animated/activity.d.ts +0 -11
  614. package/dist/icons/lucide-animated/activity.d.ts.map +0 -1
  615. package/dist/icons/lucide-animated/activity.js +0 -75
  616. package/dist/icons/lucide-animated/arrow-down-to-line.d.ts +0 -23
  617. package/dist/icons/lucide-animated/arrow-down-to-line.d.ts.map +0 -1
  618. package/dist/icons/lucide-animated/arrow-down-to-line.js +0 -45
  619. package/dist/icons/lucide-animated/arrow-up.d.ts +0 -23
  620. package/dist/icons/lucide-animated/arrow-up.d.ts.map +0 -1
  621. package/dist/icons/lucide-animated/arrow-up.js +0 -41
  622. package/dist/icons/lucide-animated/bell-electric.d.ts +0 -11
  623. package/dist/icons/lucide-animated/bell-electric.d.ts.map +0 -1
  624. package/dist/icons/lucide-animated/bell-electric.js +0 -202
  625. package/dist/icons/lucide-animated/bell.d.ts +0 -11
  626. package/dist/icons/lucide-animated/bell.d.ts.map +0 -1
  627. package/dist/icons/lucide-animated/bell.js +0 -65
  628. package/dist/icons/lucide-animated/bot.d.ts +0 -11
  629. package/dist/icons/lucide-animated/bot.d.ts.map +0 -1
  630. package/dist/icons/lucide-animated/bot.js +0 -118
  631. package/dist/icons/lucide-animated/box.d.ts +0 -11
  632. package/dist/icons/lucide-animated/box.d.ts.map +0 -1
  633. package/dist/icons/lucide-animated/box.js +0 -86
  634. package/dist/icons/lucide-animated/check.d.ts.map +0 -1
  635. package/dist/icons/lucide-animated/check.js +0 -23
  636. package/dist/icons/lucide-animated/circle-check.d.ts +0 -11
  637. package/dist/icons/lucide-animated/circle-check.d.ts.map +0 -1
  638. package/dist/icons/lucide-animated/circle-check.js +0 -76
  639. package/dist/icons/lucide-animated/delete.d.ts +0 -11
  640. package/dist/icons/lucide-animated/delete.d.ts.map +0 -1
  641. package/dist/icons/lucide-animated/delete.js +0 -110
  642. package/dist/icons/lucide-animated/download.d.ts +0 -11
  643. package/dist/icons/lucide-animated/download.d.ts.map +0 -1
  644. package/dist/icons/lucide-animated/download.js +0 -70
  645. package/dist/icons/lucide-animated/edit-2.d.ts.map +0 -1
  646. package/dist/icons/lucide-animated/edit-2.js +0 -23
  647. package/dist/icons/lucide-animated/globe.d.ts.map +0 -1
  648. package/dist/icons/lucide-animated/globe.js +0 -31
  649. package/dist/icons/lucide-animated/home.d.ts +0 -11
  650. package/dist/icons/lucide-animated/home.d.ts.map +0 -1
  651. package/dist/icons/lucide-animated/home.js +0 -68
  652. package/dist/icons/lucide-animated/index.d.ts +0 -38
  653. package/dist/icons/lucide-animated/index.d.ts.map +0 -1
  654. package/dist/icons/lucide-animated/layers.d.ts.map +0 -1
  655. package/dist/icons/lucide-animated/layers.js +0 -27
  656. package/dist/icons/lucide-animated/layout-panel-top.d.ts +0 -11
  657. package/dist/icons/lucide-animated/layout-panel-top.d.ts.map +0 -1
  658. package/dist/icons/lucide-animated/layout-panel-top.js +0 -130
  659. package/dist/icons/lucide-animated/list.d.ts +0 -23
  660. package/dist/icons/lucide-animated/list.d.ts.map +0 -1
  661. package/dist/icons/lucide-animated/list.js +0 -78
  662. package/dist/icons/lucide-animated/package.d.ts.map +0 -1
  663. package/dist/icons/lucide-animated/package.js +0 -28
  664. package/dist/icons/lucide-animated/palette.d.ts.map +0 -1
  665. package/dist/icons/lucide-animated/palette.js +0 -49
  666. package/dist/icons/lucide-animated/plus.d.ts +0 -11
  667. package/dist/icons/lucide-animated/plus.d.ts.map +0 -1
  668. package/dist/icons/lucide-animated/plus.js +0 -59
  669. package/dist/icons/lucide-animated/refresh-cw.d.ts.map +0 -1
  670. package/dist/icons/lucide-animated/refresh-cw.js +0 -28
  671. package/dist/icons/lucide-animated/rocket.d.ts.map +0 -1
  672. package/dist/icons/lucide-animated/rocket.js +0 -28
  673. package/dist/icons/lucide-animated/save.d.ts.map +0 -1
  674. package/dist/icons/lucide-animated/save.js +0 -27
  675. package/dist/icons/lucide-animated/search.d.ts +0 -11
  676. package/dist/icons/lucide-animated/search.d.ts.map +0 -1
  677. package/dist/icons/lucide-animated/search.js +0 -78
  678. package/dist/icons/lucide-animated/settings.d.ts +0 -11
  679. package/dist/icons/lucide-animated/settings.d.ts.map +0 -1
  680. package/dist/icons/lucide-animated/settings.js +0 -63
  681. package/dist/icons/lucide-animated/terminal.d.ts +0 -24
  682. package/dist/icons/lucide-animated/terminal.d.ts.map +0 -1
  683. package/dist/icons/lucide-animated/terminal.js +0 -36
  684. package/dist/icons/lucide-animated/trash-2.d.ts.map +0 -1
  685. package/dist/icons/lucide-animated/trash-2.js +0 -39
  686. package/dist/icons/lucide-animated/trending-down.d.ts +0 -11
  687. package/dist/icons/lucide-animated/trending-down.d.ts.map +0 -1
  688. package/dist/icons/lucide-animated/trending-down.js +0 -123
  689. package/dist/icons/lucide-animated/trending-up.d.ts +0 -11
  690. package/dist/icons/lucide-animated/trending-up.d.ts.map +0 -1
  691. package/dist/icons/lucide-animated/trending-up.js +0 -123
  692. package/dist/icons/lucide-animated/type.d.ts.map +0 -1
  693. package/dist/icons/lucide-animated/type.js +0 -37
  694. package/dist/icons/lucide-animated/upload.d.ts.map +0 -1
  695. package/dist/icons/lucide-animated/upload.js +0 -32
  696. package/dist/icons/lucide-animated/x.d.ts +0 -11
  697. package/dist/icons/lucide-animated/x.d.ts.map +0 -1
  698. package/dist/icons/lucide-animated/x.js +0 -68
  699. package/dist/lib/get-strict-context.d.ts +0 -10
  700. package/dist/lib/get-strict-context.d.ts.map +0 -1
  701. package/dist/lib/get-strict-context.js +0 -20
  702. package/dist/lib/utils.d.ts +0 -20
  703. package/dist/lib/utils.d.ts.map +0 -1
  704. package/dist/lib/utils.js +0 -27
  705. package/src/components/animate-ui/primitives/animate/slot.tsx +0 -96
  706. package/src/components/animate-ui/primitives/base/accordion.tsx +0 -179
  707. package/src/components/animate-ui/primitives/base/alert-dialog.tsx +0 -218
  708. package/src/components/animate-ui/primitives/base/checkbox.tsx +0 -153
  709. package/src/components/animate-ui/primitives/base/dialog.tsx +0 -203
  710. package/src/components/animate-ui/primitives/base/menu.tsx +0 -463
  711. package/src/components/animate-ui/primitives/base/popover.tsx +0 -167
  712. package/src/components/animate-ui/primitives/base/progress.tsx +0 -103
  713. package/src/components/animate-ui/primitives/base/switch.tsx +0 -158
  714. package/src/components/animate-ui/primitives/base/tabs.tsx +0 -202
  715. package/src/components/animate-ui/primitives/base/tooltip.tsx +0 -209
  716. package/src/components/animate-ui/primitives/effects/auto-height.tsx +0 -55
  717. package/src/components/animate-ui/primitives/effects/highlight.tsx +0 -640
  718. package/src/components/animate-ui/primitives/texts/counting-number.tsx +0 -119
  719. package/src/components/ui/accordion.tsx +0 -9
  720. package/src/components/ui/alert-dialog.tsx +0 -9
  721. package/src/components/ui/auto-height.tsx +0 -9
  722. package/src/components/ui/badge/badge.styles.ts +0 -46
  723. package/src/components/ui/badge/badge.tsx +0 -52
  724. package/src/components/ui/badge/badge.types.ts +0 -41
  725. package/src/components/ui/badge/index.ts +0 -8
  726. package/src/components/ui/button/button.styles.ts +0 -66
  727. package/src/components/ui/button/button.tsx +0 -209
  728. package/src/components/ui/button/button.types.ts +0 -125
  729. package/src/components/ui/button/index.ts +0 -7
  730. package/src/components/ui/card.tsx +0 -108
  731. package/src/components/ui/checkbox.tsx +0 -9
  732. package/src/components/ui/combobox.tsx +0 -293
  733. package/src/components/ui/corner-bracket.tsx +0 -85
  734. package/src/components/ui/counting-number.tsx +0 -9
  735. package/src/components/ui/dialog.tsx +0 -9
  736. package/src/components/ui/dropdown-menu.tsx +0 -261
  737. package/src/components/ui/field.tsx +0 -227
  738. package/src/components/ui/highlight.tsx +0 -9
  739. package/src/components/ui/index.ts +0 -43
  740. package/src/components/ui/input-group.tsx +0 -149
  741. package/src/components/ui/input.tsx +0 -20
  742. package/src/components/ui/label.tsx +0 -18
  743. package/src/components/ui/menu.tsx +0 -9
  744. package/src/components/ui/morphing-popover/index.ts +0 -10
  745. package/src/components/ui/morphing-popover/morphing-popover.tsx +0 -183
  746. package/src/components/ui/popover.tsx +0 -9
  747. package/src/components/ui/progress.tsx +0 -9
  748. package/src/components/ui/select.tsx +0 -190
  749. package/src/components/ui/separator.tsx +0 -25
  750. package/src/components/ui/slot.tsx +0 -9
  751. package/src/components/ui/switch.tsx +0 -9
  752. package/src/components/ui/tabs.tsx +0 -9
  753. package/src/components/ui/textarea.tsx +0 -18
  754. package/src/components/ui/tooltip.tsx +0 -9
  755. package/src/hooks/index.ts +0 -10
  756. package/src/hooks/use-auto-height.tsx +0 -102
  757. package/src/hooks/use-controlled-state.tsx +0 -33
  758. package/src/hooks/use-data-state.tsx +0 -54
  759. package/src/hooks/use-is-in-view.tsx +0 -25
  760. package/src/icons/index.ts +0 -12
  761. package/src/icons/lucide-animated/activity.tsx +0 -109
  762. package/src/icons/lucide-animated/bell-electric.tsx +0 -124
  763. package/src/icons/lucide-animated/bell.tsx +0 -93
  764. package/src/icons/lucide-animated/bot.tsx +0 -122
  765. package/src/icons/lucide-animated/box.tsx +0 -117
  766. package/src/icons/lucide-animated/circle-check.tsx +0 -107
  767. package/src/icons/lucide-animated/delete.tsx +0 -133
  768. package/src/icons/lucide-animated/download.tsx +0 -99
  769. package/src/icons/lucide-animated/home.tsx +0 -103
  770. package/src/icons/lucide-animated/index.ts +0 -38
  771. package/src/icons/lucide-animated/layout-panel-top.tsx +0 -143
  772. package/src/icons/lucide-animated/plus.tsx +0 -92
  773. package/src/icons/lucide-animated/search.tsx +0 -94
  774. package/src/icons/lucide-animated/settings.tsx +0 -92
  775. package/src/icons/lucide-animated/trending-down.tsx +0 -151
  776. package/src/icons/lucide-animated/trending-up.tsx +0 -150
  777. package/src/icons/lucide-animated/x.tsx +0 -102
  778. package/src/lib/get-strict-context.tsx +0 -36
  779. package/src/lib/utils.ts +0 -24
  780. /package/dist/{components/ui/morphing-popover/morphing-popover.module-CE9GIgKo.css → react/components/MorphingPopover/morphing-popover.module-BkcZcmVy.css} +0 -0
  781. /package/dist/{icons → react/icons}/index.js +0 -0
  782. /package/dist/{icons → react/icons}/lucide-animated/check.d.ts +0 -0
  783. /package/dist/{icons → react/icons}/lucide-animated/edit-2.d.ts +0 -0
  784. /package/dist/{icons → react/icons}/lucide-animated/globe.d.ts +0 -0
  785. /package/dist/{icons → react/icons}/lucide-animated/index.js +0 -0
  786. /package/dist/{icons → react/icons}/lucide-animated/layers.d.ts +0 -0
  787. /package/dist/{icons → react/icons}/lucide-animated/package.d.ts +0 -0
  788. /package/dist/{icons → react/icons}/lucide-animated/palette.d.ts +0 -0
  789. /package/dist/{icons → react/icons}/lucide-animated/refresh-cw.d.ts +0 -0
  790. /package/dist/{icons → react/icons}/lucide-animated/rocket.d.ts +0 -0
  791. /package/dist/{icons → react/icons}/lucide-animated/save.d.ts +0 -0
  792. /package/dist/{icons → react/icons}/lucide-animated/trash-2.d.ts +0 -0
  793. /package/dist/{icons → react/icons}/lucide-animated/type.d.ts +0 -0
  794. /package/dist/{icons → react/icons}/lucide-animated/upload.d.ts +0 -0
  795. /package/src/{components/ui/morphing-popover → react/components/MorphingPopover}/morphing-popover.module.css +0 -0
  796. /package/src/{icons → react/icons}/lucide-animated/arrow-down-to-line.tsx +0 -0
  797. /package/src/{icons → react/icons}/lucide-animated/arrow-up.tsx +0 -0
  798. /package/src/{icons → react/icons}/lucide-animated/check.tsx +0 -0
  799. /package/src/{icons → react/icons}/lucide-animated/edit-2.tsx +0 -0
  800. /package/src/{icons → react/icons}/lucide-animated/globe.tsx +0 -0
  801. /package/src/{icons → react/icons}/lucide-animated/layers.tsx +0 -0
  802. /package/src/{icons → react/icons}/lucide-animated/list.tsx +0 -0
  803. /package/src/{icons → react/icons}/lucide-animated/package.tsx +0 -0
  804. /package/src/{icons → react/icons}/lucide-animated/palette.tsx +0 -0
  805. /package/src/{icons → react/icons}/lucide-animated/refresh-cw.tsx +0 -0
  806. /package/src/{icons → react/icons}/lucide-animated/rocket.tsx +0 -0
  807. /package/src/{icons → react/icons}/lucide-animated/save.tsx +0 -0
  808. /package/src/{icons → react/icons}/lucide-animated/terminal.tsx +0 -0
  809. /package/src/{icons → react/icons}/lucide-animated/trash-2.tsx +0 -0
  810. /package/src/{icons → react/icons}/lucide-animated/type.tsx +0 -0
  811. /package/src/{icons → react/icons}/lucide-animated/upload.tsx +0 -0
@@ -0,0 +1,233 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * Checkbox component with animated SVG indicator.
5
+ *
6
+ * Built on Base UI Checkbox primitives with Motion animations for
7
+ * tap/hover interactions and an animated checkmark/indeterminate indicator.
8
+ *
9
+ * @module @mks2508/mks-ui/react/ui/Checkbox
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * import { Checkbox, CheckboxIndicator } from '@mks2508/mks-ui';
14
+ *
15
+ * function MyCheckbox() {
16
+ * const [checked, setChecked] = useState(false);
17
+ * return (
18
+ * <Checkbox checked={checked} onCheckedChange={setChecked}>
19
+ * <CheckboxIndicator />
20
+ * </Checkbox>
21
+ * );
22
+ * }
23
+ * ```
24
+ */
25
+
26
+ import * as React from 'react';
27
+ import { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';
28
+ import { motion } from 'motion/react';
29
+
30
+ import { cn } from '@/react/lib/utils';
31
+ import { getStrictContext } from '@/react/lib/get-strict-context';
32
+ import { useControlledState } from '@/react/hooks/State/UseControlledState';
33
+
34
+ import { checkboxStyles } from './Checkbox.styles';
35
+ import type {
36
+ CheckboxContextType,
37
+ ICheckboxProps,
38
+ ICheckboxIndicatorProps,
39
+ } from './Checkbox.types';
40
+
41
+ const [CheckboxProvider, useCheckbox] =
42
+ getStrictContext<CheckboxContextType>('CheckboxContext');
43
+
44
+ /**
45
+ * Checkbox root component with animated tap and hover interactions.
46
+ *
47
+ * Wraps Base UI `Checkbox.Root` with a `motion.button` render element,
48
+ * providing spring-based press and hover scale animations. Supports both
49
+ * controlled and uncontrolled checked state via `useControlledState`.
50
+ *
51
+ * @param props - Checkbox props including Base UI root props, motion props, slots, and config
52
+ * @returns A checkbox button element with animation support
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * <Checkbox
57
+ * checked={isChecked}
58
+ * onCheckedChange={setIsChecked}
59
+ * slots={{ root: 'border-2 border-cyan-500 rounded-md' }}
60
+ * >
61
+ * <CheckboxIndicator />
62
+ * </Checkbox>
63
+ * ```
64
+ *
65
+ * @example
66
+ * ```tsx
67
+ * // Indeterminate state
68
+ * <Checkbox indeterminate>
69
+ * <CheckboxIndicator />
70
+ * </Checkbox>
71
+ * ```
72
+ */
73
+ function Checkbox({
74
+ name,
75
+ checked,
76
+ defaultChecked,
77
+ onCheckedChange,
78
+ indeterminate,
79
+ value,
80
+ nativeButton,
81
+ parent,
82
+ disabled,
83
+ readOnly,
84
+ required,
85
+ inputRef,
86
+ id,
87
+ className,
88
+ slots,
89
+ config,
90
+ ...props
91
+ }: ICheckboxProps) {
92
+ const [isChecked, setIsChecked] = useControlledState({
93
+ value: checked,
94
+ defaultValue: defaultChecked,
95
+ onChange: onCheckedChange,
96
+ });
97
+
98
+ const tapScale = config?.tapScale ?? 0.95;
99
+ const hoverScale = config?.hoverScale ?? 1.05;
100
+
101
+ return (
102
+ <CheckboxProvider
103
+ value={{ isChecked, setIsChecked, isIndeterminate: indeterminate }}
104
+ >
105
+ <CheckboxPrimitive.Root
106
+ name={name}
107
+ defaultChecked={defaultChecked}
108
+ checked={checked}
109
+ onCheckedChange={setIsChecked}
110
+ indeterminate={indeterminate}
111
+ value={value}
112
+ nativeButton={nativeButton}
113
+ parent={parent}
114
+ disabled={disabled}
115
+ readOnly={readOnly}
116
+ required={required}
117
+ inputRef={inputRef}
118
+ id={id}
119
+ render={
120
+ <motion.button
121
+ data-slot="checkbox"
122
+ whileTap={{ scale: tapScale }}
123
+ whileHover={{ scale: hoverScale }}
124
+ className={cn(checkboxStyles.root, slots?.root, className)}
125
+ {...props}
126
+ />
127
+ }
128
+ />
129
+ </CheckboxProvider>
130
+ );
131
+ }
132
+
133
+ /**
134
+ * CheckboxIndicator renders an animated SVG checkmark or indeterminate line.
135
+ *
136
+ * Uses Motion `pathLength` and `opacity` variants for smooth check/uncheck
137
+ * transitions. Remains mounted (`keepMounted`) to enable exit animations.
138
+ *
139
+ * @param props - SVG motion props plus optional slot overrides
140
+ * @returns An animated SVG indicator element
141
+ *
142
+ * @example
143
+ * ```tsx
144
+ * <Checkbox checked={isChecked} onCheckedChange={setIsChecked}>
145
+ * <CheckboxIndicator className="size-4 text-white" />
146
+ * </Checkbox>
147
+ * ```
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * // With slot overrides
152
+ * <CheckboxIndicator slots={{ indicator: 'size-3.5' }} />
153
+ * ```
154
+ */
155
+ function CheckboxIndicator({ className, slots, ...props }: ICheckboxIndicatorProps) {
156
+ const { isChecked, isIndeterminate } = useCheckbox();
157
+
158
+ return (
159
+ <CheckboxPrimitive.Indicator
160
+ keepMounted
161
+ render={
162
+ <motion.svg
163
+ data-slot="checkbox-indicator"
164
+ xmlns="http://www.w3.org/2000/svg"
165
+ fill="none"
166
+ viewBox="0 0 24 24"
167
+ strokeWidth="3.5"
168
+ stroke="currentColor"
169
+ initial="unchecked"
170
+ animate={isChecked ? 'checked' : 'unchecked'}
171
+ className={cn(checkboxStyles.indicator, slots?.indicator, className)}
172
+ {...props}
173
+ >
174
+ {isIndeterminate ? (
175
+ <motion.line
176
+ x1="5"
177
+ y1="12"
178
+ x2="19"
179
+ y2="12"
180
+ strokeLinecap="round"
181
+ initial={{ pathLength: 0, opacity: 0 }}
182
+ animate={{
183
+ pathLength: 1,
184
+ opacity: 1,
185
+ transition: { duration: 0.2 },
186
+ }}
187
+ />
188
+ ) : (
189
+ <motion.path
190
+ strokeLinecap="round"
191
+ strokeLinejoin="round"
192
+ d="M4.5 12.75l6 6 9-13.5"
193
+ variants={{
194
+ checked: {
195
+ pathLength: 1,
196
+ opacity: 1,
197
+ transition: {
198
+ duration: 0.2,
199
+ delay: 0.2,
200
+ },
201
+ },
202
+ unchecked: {
203
+ pathLength: 0,
204
+ opacity: 0,
205
+ transition: {
206
+ duration: 0.2,
207
+ },
208
+ },
209
+ }}
210
+ />
211
+ )}
212
+ </motion.svg>
213
+ }
214
+ />
215
+ );
216
+ }
217
+
218
+ export {
219
+ Checkbox,
220
+ CheckboxIndicator,
221
+ useCheckbox,
222
+ };
223
+
224
+ // Re-exports
225
+ export type {
226
+ ICheckboxProps,
227
+ ICheckboxIndicatorProps,
228
+ ICheckboxConfig,
229
+ CheckboxContextType,
230
+ CheckboxSlot,
231
+ } from './Checkbox.types';
232
+
233
+ export { checkboxStyles } from './Checkbox.styles';
@@ -0,0 +1,34 @@
1
+ import type { StyleSlots } from '@/core/types';
2
+
3
+ /** Visual regions for the Combobox component family. */
4
+ type ComboboxSlot =
5
+ | 'root'
6
+ | 'trigger'
7
+ | 'content'
8
+ | 'list'
9
+ | 'item'
10
+ | 'label'
11
+ | 'separator'
12
+ | 'empty'
13
+ | 'chips'
14
+ | 'chip'
15
+ | 'chipInput';
16
+
17
+ const comboboxStyles: StyleSlots<ComboboxSlot> = {
18
+ root: '',
19
+ trigger: '[&_svg:not([class*=\'size-\'])]:size-4',
20
+ content:
21
+ 'bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 overflow-hidden rounded-lg shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) data-[chips=true]:min-w-(--anchor-width)',
22
+ list: 'no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 p-1 data-empty:p-0 overflow-y-auto overscroll-contain',
23
+ item: 'data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*=\'size-\'])]:size-4 relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0',
24
+ label: 'text-muted-foreground px-2 py-1.5 text-xs',
25
+ separator: 'bg-border -mx-1 my-1 h-px',
26
+ empty: 'text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex',
27
+ chips:
28
+ 'dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-8 flex-wrap items-center gap-1 rounded-lg border bg-transparent bg-clip-padding px-2.5 py-1 text-sm transition-colors focus-within:ring-3 has-aria-invalid:ring-3 has-data-[slot=combobox-chip]:px-1',
29
+ chip: 'bg-muted text-foreground flex h-[calc(--spacing(5.25))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pr-0 has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50',
30
+ chipInput: 'min-w-16 flex-1 outline-none',
31
+ };
32
+
33
+ export { comboboxStyles };
34
+ export type { ComboboxSlot };
@@ -0,0 +1,89 @@
1
+ import type { Combobox as ComboboxPrimitive } from '@base-ui/react';
2
+ import type { SlotOverrides } from '@/core/types';
3
+ import type { ComboboxSlot } from './Combobox.styles';
4
+
5
+ /** Props for the Combobox root. */
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ type IComboboxProps = ComboboxPrimitive.Root.Props<any, any>;
8
+
9
+ /** Props for ComboboxValue. */
10
+ type IComboboxValueProps = ComboboxPrimitive.Value.Props;
11
+
12
+ /** Props for ComboboxTrigger. */
13
+ type IComboboxTriggerProps = ComboboxPrimitive.Trigger.Props;
14
+
15
+ /** Props for ComboboxClear. */
16
+ type IComboboxClearProps = ComboboxPrimitive.Clear.Props;
17
+
18
+ /** Props for ComboboxInput. */
19
+ interface IComboboxInputProps extends ComboboxPrimitive.Input.Props {
20
+ /** Show the trigger arrow button. */
21
+ showTrigger?: boolean;
22
+ /** Show the clear button. */
23
+ showClear?: boolean;
24
+ /** Override classes for combobox visual regions. */
25
+ slots?: SlotOverrides<ComboboxSlot>;
26
+ }
27
+
28
+ /** Props for ComboboxContent. */
29
+ interface IComboboxContentProps
30
+ extends ComboboxPrimitive.Popup.Props,
31
+ Pick<
32
+ ComboboxPrimitive.Positioner.Props,
33
+ 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'
34
+ > {
35
+ slots?: SlotOverrides<ComboboxSlot>;
36
+ }
37
+
38
+ /** Props for ComboboxList. */
39
+ type IComboboxListProps = ComboboxPrimitive.List.Props;
40
+
41
+ /** Props for ComboboxItem. */
42
+ type IComboboxItemProps = ComboboxPrimitive.Item.Props;
43
+
44
+ /** Props for ComboboxGroup. */
45
+ type IComboboxGroupProps = ComboboxPrimitive.Group.Props;
46
+
47
+ /** Props for ComboboxLabel. */
48
+ type IComboboxLabelProps = ComboboxPrimitive.GroupLabel.Props;
49
+
50
+ /** Props for ComboboxCollection. */
51
+ type IComboboxCollectionProps = ComboboxPrimitive.Collection.Props;
52
+
53
+ /** Props for ComboboxEmpty. */
54
+ type IComboboxEmptyProps = ComboboxPrimitive.Empty.Props;
55
+
56
+ /** Props for ComboboxSeparator. */
57
+ type IComboboxSeparatorProps = ComboboxPrimitive.Separator.Props;
58
+
59
+ /** Props for ComboboxChips. */
60
+ type IComboboxChipsProps = React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &
61
+ ComboboxPrimitive.Chips.Props;
62
+
63
+ /** Props for ComboboxChip. */
64
+ interface IComboboxChipProps extends ComboboxPrimitive.Chip.Props {
65
+ /** Show the remove button on the chip. */
66
+ showRemove?: boolean;
67
+ }
68
+
69
+ /** Props for ComboboxChipsInput. */
70
+ type IComboboxChipsInputProps = ComboboxPrimitive.Input.Props;
71
+
72
+ export type {
73
+ IComboboxProps,
74
+ IComboboxValueProps,
75
+ IComboboxTriggerProps,
76
+ IComboboxClearProps,
77
+ IComboboxInputProps,
78
+ IComboboxContentProps,
79
+ IComboboxListProps,
80
+ IComboboxItemProps,
81
+ IComboboxGroupProps,
82
+ IComboboxLabelProps,
83
+ IComboboxCollectionProps,
84
+ IComboboxEmptyProps,
85
+ IComboboxSeparatorProps,
86
+ IComboboxChipsProps,
87
+ IComboboxChipProps,
88
+ IComboboxChipsInputProps,
89
+ };
@@ -0,0 +1,331 @@
1
+ import * as React from 'react';
2
+ import { Combobox as ComboboxPrimitive } from '@base-ui/react';
3
+
4
+ import { cn } from '@/react/lib/utils';
5
+ import { Button } from '@/react/ui/Button';
6
+ import {
7
+ InputGroup,
8
+ InputGroupAddon,
9
+ InputGroupButton,
10
+ InputGroupInput,
11
+ } from '@/react/ui/InputGroup';
12
+ import { HugeiconsIcon } from '@hugeicons/react';
13
+ import { ArrowDown01Icon, Cancel01Icon, Tick02Icon } from '@hugeicons/core-free-icons';
14
+ import { comboboxStyles } from './Combobox.styles';
15
+ import type {
16
+ IComboboxTriggerProps,
17
+ IComboboxClearProps,
18
+ IComboboxInputProps,
19
+ IComboboxContentProps,
20
+ IComboboxListProps,
21
+ IComboboxItemProps,
22
+ IComboboxGroupProps,
23
+ IComboboxLabelProps,
24
+ IComboboxCollectionProps,
25
+ IComboboxEmptyProps,
26
+ IComboboxSeparatorProps,
27
+ IComboboxChipsProps,
28
+ IComboboxChipProps,
29
+ IComboboxChipsInputProps,
30
+ IComboboxValueProps,
31
+ } from './Combobox.types';
32
+
33
+ /** Combobox — root component wrapping Base UI Combobox. */
34
+ const Combobox = ComboboxPrimitive.Root;
35
+
36
+ /** ComboboxValue — displays the selected value. */
37
+ function ComboboxValue({ ...props }: IComboboxValueProps) {
38
+ return <ComboboxPrimitive.Value data-slot="combobox-value" {...props} />;
39
+ }
40
+
41
+ /** ComboboxTrigger — trigger button with arrow icon. */
42
+ function ComboboxTrigger({ className, children, ...props }: IComboboxTriggerProps) {
43
+ return (
44
+ <ComboboxPrimitive.Trigger
45
+ data-slot="combobox-trigger"
46
+ className={cn(comboboxStyles.trigger, className)}
47
+ {...props}
48
+ >
49
+ {children}
50
+ <HugeiconsIcon
51
+ icon={ArrowDown01Icon}
52
+ strokeWidth={2}
53
+ className="text-muted-foreground size-4 pointer-events-none"
54
+ />
55
+ </ComboboxPrimitive.Trigger>
56
+ );
57
+ }
58
+
59
+ /** ComboboxClear — clears the combobox selection. */
60
+ function ComboboxClear({ className, ...props }: IComboboxClearProps) {
61
+ return (
62
+ <ComboboxPrimitive.Clear
63
+ data-slot="combobox-clear"
64
+ render={<InputGroupButton size="icon-xs" />}
65
+ className={cn(className)}
66
+ {...props}
67
+ >
68
+ <HugeiconsIcon icon={Cancel01Icon} strokeWidth={2} className="pointer-events-none" />
69
+ </ComboboxPrimitive.Clear>
70
+ );
71
+ }
72
+
73
+ /**
74
+ * ComboboxInput — text input with optional trigger and clear buttons.
75
+ *
76
+ * @param showTrigger - Show dropdown arrow button
77
+ * @param showClear - Show clear button
78
+ *
79
+ * @example
80
+ * ```tsx
81
+ * <Combobox>
82
+ * <ComboboxInput showClear placeholder="Search..." />
83
+ * <ComboboxContent>
84
+ * <ComboboxList>
85
+ * <ComboboxItem>Option 1</ComboboxItem>
86
+ * </ComboboxList>
87
+ * </ComboboxContent>
88
+ * </Combobox>
89
+ * ```
90
+ */
91
+ function ComboboxInput({
92
+ className,
93
+ children,
94
+ disabled = false,
95
+ showTrigger = true,
96
+ showClear = false,
97
+ ...props
98
+ }: IComboboxInputProps) {
99
+ return (
100
+ <InputGroup className={cn('w-auto', className)}>
101
+ <ComboboxPrimitive.Input
102
+ render={<InputGroupInput disabled={disabled} />}
103
+ {...props}
104
+ />
105
+ <InputGroupAddon align="inline-end">
106
+ {showTrigger && (
107
+ <InputGroupButton
108
+ size="icon-xs"
109
+ data-slot="input-group-button"
110
+ className="group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent"
111
+ disabled={disabled}
112
+ >
113
+ <ComboboxTrigger />
114
+ </InputGroupButton>
115
+ )}
116
+ {showClear && <ComboboxClear disabled={disabled} />}
117
+ </InputGroupAddon>
118
+ {children}
119
+ </InputGroup>
120
+ );
121
+ }
122
+
123
+ /** ComboboxContent — popup content area for the combobox. */
124
+ function ComboboxContent({
125
+ className,
126
+ side = 'bottom',
127
+ sideOffset = 6,
128
+ align = 'start',
129
+ alignOffset = 0,
130
+ anchor,
131
+ slots,
132
+ ...props
133
+ }: IComboboxContentProps) {
134
+ return (
135
+ <ComboboxPrimitive.Portal>
136
+ <ComboboxPrimitive.Positioner
137
+ side={side}
138
+ sideOffset={sideOffset}
139
+ align={align}
140
+ alignOffset={alignOffset}
141
+ anchor={anchor}
142
+ className="isolate z-50"
143
+ >
144
+ <ComboboxPrimitive.Popup
145
+ data-slot="combobox-content"
146
+ data-chips={!!anchor}
147
+ className={cn(comboboxStyles.content, slots?.content, className)}
148
+ {...props}
149
+ />
150
+ </ComboboxPrimitive.Positioner>
151
+ </ComboboxPrimitive.Portal>
152
+ );
153
+ }
154
+
155
+ /** ComboboxList — scrollable list of combobox items. */
156
+ function ComboboxList({ className, ...props }: IComboboxListProps) {
157
+ return (
158
+ <ComboboxPrimitive.List
159
+ data-slot="combobox-list"
160
+ className={cn(comboboxStyles.list, className)}
161
+ {...props}
162
+ />
163
+ );
164
+ }
165
+
166
+ /** ComboboxItem — a single selectable item with check indicator. */
167
+ function ComboboxItem({ className, children, ...props }: IComboboxItemProps) {
168
+ return (
169
+ <ComboboxPrimitive.Item
170
+ data-slot="combobox-item"
171
+ className={cn(comboboxStyles.item, className)}
172
+ {...props}
173
+ >
174
+ {children}
175
+ <ComboboxPrimitive.ItemIndicator
176
+ render={
177
+ <span className="pointer-events-none absolute right-2 flex size-4 items-center justify-center" />
178
+ }
179
+ >
180
+ <HugeiconsIcon icon={Tick02Icon} strokeWidth={2} className="pointer-events-none" />
181
+ </ComboboxPrimitive.ItemIndicator>
182
+ </ComboboxPrimitive.Item>
183
+ );
184
+ }
185
+
186
+ /** ComboboxGroup — groups related combobox items. */
187
+ function ComboboxGroup({ className, ...props }: IComboboxGroupProps) {
188
+ return (
189
+ <ComboboxPrimitive.Group
190
+ data-slot="combobox-group"
191
+ className={cn(className)}
192
+ {...props}
193
+ />
194
+ );
195
+ }
196
+
197
+ /** ComboboxLabel — label for a group of combobox items. */
198
+ function ComboboxLabel({ className, ...props }: IComboboxLabelProps) {
199
+ return (
200
+ <ComboboxPrimitive.GroupLabel
201
+ data-slot="combobox-label"
202
+ className={cn(comboboxStyles.label, className)}
203
+ {...props}
204
+ />
205
+ );
206
+ }
207
+
208
+ /** ComboboxCollection — collection for combobox items. */
209
+ function ComboboxCollection({ ...props }: IComboboxCollectionProps) {
210
+ return <ComboboxPrimitive.Collection data-slot="combobox-collection" {...props} />;
211
+ }
212
+
213
+ /** ComboboxEmpty — displayed when no items match the query. */
214
+ function ComboboxEmpty({ className, ...props }: IComboboxEmptyProps) {
215
+ return (
216
+ <ComboboxPrimitive.Empty
217
+ data-slot="combobox-empty"
218
+ className={cn(comboboxStyles.empty, className)}
219
+ {...props}
220
+ />
221
+ );
222
+ }
223
+
224
+ /** ComboboxSeparator — visual divider between combobox items. */
225
+ function ComboboxSeparator({ className, ...props }: IComboboxSeparatorProps) {
226
+ return (
227
+ <ComboboxPrimitive.Separator
228
+ data-slot="combobox-separator"
229
+ className={cn(comboboxStyles.separator, className)}
230
+ {...props}
231
+ />
232
+ );
233
+ }
234
+
235
+ /** ComboboxChips — container for multi-select chips. */
236
+ function ComboboxChips({ className, ...props }: IComboboxChipsProps) {
237
+ return (
238
+ <ComboboxPrimitive.Chips
239
+ data-slot="combobox-chips"
240
+ className={cn(comboboxStyles.chips, className)}
241
+ {...props}
242
+ />
243
+ );
244
+ }
245
+
246
+ /** ComboboxChip — individual chip with optional remove button. */
247
+ function ComboboxChip({
248
+ className,
249
+ children,
250
+ showRemove = true,
251
+ ...props
252
+ }: IComboboxChipProps) {
253
+ return (
254
+ <ComboboxPrimitive.Chip
255
+ data-slot="combobox-chip"
256
+ className={cn(comboboxStyles.chip, className)}
257
+ {...props}
258
+ >
259
+ {children}
260
+ {showRemove && (
261
+ <ComboboxPrimitive.ChipRemove
262
+ render={<Button variant="ghost" size="sm" className="h-5 w-5 p-0" />}
263
+ className="-ml-1 opacity-50 hover:opacity-100"
264
+ data-slot="combobox-chip-remove"
265
+ >
266
+ <HugeiconsIcon icon={Cancel01Icon} strokeWidth={2} className="pointer-events-none" />
267
+ </ComboboxPrimitive.ChipRemove>
268
+ )}
269
+ </ComboboxPrimitive.Chip>
270
+ );
271
+ }
272
+
273
+ /** ComboboxChipsInput — input within the chips container for multi-select. */
274
+ function ComboboxChipsInput({ className, ...props }: IComboboxChipsInputProps) {
275
+ return (
276
+ <ComboboxPrimitive.Input
277
+ data-slot="combobox-chip-input"
278
+ className={cn(comboboxStyles.chipInput, className)}
279
+ {...props}
280
+ />
281
+ );
282
+ }
283
+
284
+ /**
285
+ * Hook to create an anchor ref for the combobox chips.
286
+ *
287
+ * @returns A ref to be used as the anchor for ComboboxContent
288
+ */
289
+ function useComboboxAnchor() {
290
+ return React.useRef<HTMLDivElement | null>(null);
291
+ }
292
+
293
+ export {
294
+ Combobox,
295
+ ComboboxInput,
296
+ ComboboxContent,
297
+ ComboboxList,
298
+ ComboboxItem,
299
+ ComboboxGroup,
300
+ ComboboxLabel,
301
+ ComboboxCollection,
302
+ ComboboxEmpty,
303
+ ComboboxSeparator,
304
+ ComboboxChips,
305
+ ComboboxChip,
306
+ ComboboxChipsInput,
307
+ ComboboxTrigger,
308
+ ComboboxValue,
309
+ useComboboxAnchor,
310
+ };
311
+
312
+ export type {
313
+ IComboboxProps,
314
+ IComboboxValueProps,
315
+ IComboboxTriggerProps,
316
+ IComboboxClearProps,
317
+ IComboboxInputProps,
318
+ IComboboxContentProps,
319
+ IComboboxListProps,
320
+ IComboboxItemProps,
321
+ IComboboxGroupProps,
322
+ IComboboxLabelProps,
323
+ IComboboxCollectionProps,
324
+ IComboboxEmptyProps,
325
+ IComboboxSeparatorProps,
326
+ IComboboxChipsProps,
327
+ IComboboxChipProps,
328
+ IComboboxChipsInputProps,
329
+ } from './Combobox.types';
330
+
331
+ export type { ComboboxSlot } from './Combobox.styles';