@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
@@ -1,640 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { AnimatePresence, motion, type Transition } from 'motion/react';
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
- };
16
-
17
- const DEFAULT_BOUNDS_OFFSET: Bounds = {
18
- top: 0,
19
- left: 0,
20
- width: 0,
21
- height: 0,
22
- };
23
-
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
- const HighlightContext = React.createContext<
46
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- HighlightContextType<any> | undefined
48
- >(undefined);
49
-
50
- function useHighlight<T extends string>(): HighlightContextType<T> {
51
- const context = React.useContext(HighlightContext);
52
- if (!context) {
53
- throw new Error('useHighlight must be used within a HighlightProvider');
54
- }
55
- return context as unknown as HighlightContextType<T>;
56
- }
57
-
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
-
120
- function Highlight<T extends React.ElementType = 'div'>({
121
- ref,
122
- ...props
123
- }: HighlightProps<T>) {
124
- const {
125
- as: Component = 'div',
126
- children,
127
- value,
128
- defaultValue,
129
- onValueChange,
130
- className,
131
- style,
132
- transition = { type: 'spring', stiffness: 350, damping: 35 },
133
- hover = false,
134
- click = true,
135
- enabled = true,
136
- controlledItems,
137
- disabled = false,
138
- exitDelay = 200,
139
- mode = 'children',
140
- } = props;
141
-
142
- const localRef = React.useRef<HTMLDivElement>(null);
143
- React.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);
144
-
145
- const propsBoundsOffset = (props as ParentModeHighlightProps)?.boundsOffset;
146
- const boundsOffset = propsBoundsOffset ?? DEFAULT_BOUNDS_OFFSET;
147
- const boundsOffsetTop = boundsOffset.top ?? 0;
148
- const boundsOffsetLeft = boundsOffset.left ?? 0;
149
- const boundsOffsetWidth = boundsOffset.width ?? 0;
150
- const boundsOffsetHeight = boundsOffset.height ?? 0;
151
-
152
- const boundsOffsetRef = React.useRef({
153
- top: boundsOffsetTop,
154
- left: boundsOffsetLeft,
155
- width: boundsOffsetWidth,
156
- height: boundsOffsetHeight,
157
- });
158
-
159
- React.useEffect(() => {
160
- boundsOffsetRef.current = {
161
- top: boundsOffsetTop,
162
- left: boundsOffsetLeft,
163
- width: boundsOffsetWidth,
164
- height: boundsOffsetHeight,
165
- };
166
- }, [
167
- boundsOffsetTop,
168
- boundsOffsetLeft,
169
- boundsOffsetWidth,
170
- boundsOffsetHeight,
171
- ]);
172
-
173
- const [activeValue, setActiveValue] = React.useState<string | null>(
174
- value ?? defaultValue ?? null,
175
- );
176
- const [boundsState, setBoundsState] = React.useState<Bounds | null>(null);
177
- const [activeClassNameState, setActiveClassNameState] =
178
- React.useState<string>('');
179
-
180
- const safeSetActiveValue = (id: string | null) => {
181
- setActiveValue((prev) => {
182
- if (prev !== id) {
183
- onValueChange?.(id);
184
- return id;
185
- }
186
- return prev;
187
- });
188
- };
189
-
190
- const safeSetBoundsRef = React.useRef<
191
- ((bounds: DOMRect) => void) | undefined
192
- >(undefined);
193
-
194
- React.useEffect(() => {
195
- safeSetBoundsRef.current = (bounds: DOMRect) => {
196
- if (!localRef.current) return;
197
-
198
- const containerRect = localRef.current.getBoundingClientRect();
199
- const offset = boundsOffsetRef.current;
200
- const newBounds: Bounds = {
201
- top: bounds.top - containerRect.top + offset.top,
202
- left: bounds.left - containerRect.left + offset.left,
203
- width: bounds.width + offset.width,
204
- height: bounds.height + offset.height,
205
- };
206
-
207
- setBoundsState((prev) => {
208
- if (
209
- prev &&
210
- prev.top === newBounds.top &&
211
- prev.left === newBounds.left &&
212
- prev.width === newBounds.width &&
213
- prev.height === newBounds.height
214
- ) {
215
- return prev;
216
- }
217
- return newBounds;
218
- });
219
- };
220
- });
221
-
222
- const safeSetBounds = (bounds: DOMRect) => {
223
- safeSetBoundsRef.current?.(bounds);
224
- };
225
-
226
- const clearBounds = React.useCallback(() => {
227
- setBoundsState((prev) => (prev === null ? prev : null));
228
- }, []);
229
-
230
- React.useEffect(() => {
231
- if (value !== undefined) setActiveValue(value);
232
- else if (defaultValue !== undefined) setActiveValue(defaultValue);
233
- }, [value, defaultValue]);
234
-
235
- const id = React.useId();
236
-
237
- React.useEffect(() => {
238
- if (mode !== 'parent') return;
239
- const container = localRef.current;
240
- if (!container) return;
241
-
242
- const onScroll = () => {
243
- if (!activeValue) return;
244
- const activeEl = container.querySelector<HTMLElement>(
245
- `[data-value="${activeValue}"][data-highlight="true"]`,
246
- );
247
- if (activeEl)
248
- safeSetBoundsRef.current?.(activeEl.getBoundingClientRect());
249
- };
250
-
251
- container.addEventListener('scroll', onScroll, { passive: true });
252
- return () => container.removeEventListener('scroll', onScroll);
253
- }, [mode, activeValue]);
254
-
255
- const render = (children: React.ReactNode) => {
256
- if (mode === 'parent') {
257
- return (
258
- <Component
259
- ref={localRef}
260
- data-slot="motion-highlight-container"
261
- style={{ position: 'relative', zIndex: 1 }}
262
- className={(props as ParentModeHighlightProps)?.containerClassName}
263
- >
264
- <AnimatePresence initial={false} mode="wait">
265
- {boundsState && (
266
- <motion.div
267
- data-slot="motion-highlight"
268
- animate={{
269
- top: boundsState.top,
270
- left: boundsState.left,
271
- width: boundsState.width,
272
- height: boundsState.height,
273
- opacity: 1,
274
- }}
275
- initial={{
276
- top: boundsState.top,
277
- left: boundsState.left,
278
- width: boundsState.width,
279
- height: boundsState.height,
280
- opacity: 0,
281
- }}
282
- exit={{
283
- opacity: 0,
284
- transition: {
285
- ...transition,
286
- delay: (transition?.delay ?? 0) + (exitDelay ?? 0) / 1000,
287
- },
288
- }}
289
- transition={transition}
290
- style={{ position: 'absolute', zIndex: 0, ...style }}
291
- className={cn(className, activeClassNameState)}
292
- />
293
- )}
294
- </AnimatePresence>
295
- {children}
296
- </Component>
297
- );
298
- }
299
-
300
- return children;
301
- };
302
-
303
- return (
304
- <HighlightContext.Provider
305
- value={{
306
- mode,
307
- activeValue,
308
- setActiveValue: safeSetActiveValue,
309
- id,
310
- hover,
311
- click,
312
- className,
313
- style,
314
- transition,
315
- disabled,
316
- enabled,
317
- exitDelay,
318
- setBounds: safeSetBounds,
319
- clearBounds,
320
- activeClassName: activeClassNameState,
321
- setActiveClassName: setActiveClassNameState,
322
- forceUpdateBounds: (props as ParentModeHighlightProps)
323
- ?.forceUpdateBounds,
324
- }}
325
- >
326
- {enabled
327
- ? controlledItems
328
- ? render(children)
329
- : render(
330
- React.Children.map(children, (child, index) => (
331
- <HighlightItem key={index} className={props?.itemsClassName}>
332
- {child}
333
- </HighlightItem>
334
- )),
335
- )
336
- : children}
337
- </HighlightContext.Provider>
338
- );
339
- }
340
-
341
- function getNonOverridingDataAttributes(
342
- element: React.ReactElement,
343
- dataAttributes: Record<string, unknown>,
344
- ): Record<string, unknown> {
345
- return Object.keys(dataAttributes).reduce<Record<string, unknown>>(
346
- (acc, key) => {
347
- if ((element.props as Record<string, unknown>)[key] === undefined) {
348
- acc[key] = dataAttributes[key];
349
- }
350
- return acc;
351
- },
352
- {},
353
- );
354
- }
355
-
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
-
382
- function HighlightItem<T extends React.ElementType>({
383
- ref,
384
- as,
385
- children,
386
- id,
387
- value,
388
- className,
389
- style,
390
- transition,
391
- disabled = false,
392
- activeClassName,
393
- exitDelay,
394
- asChild = false,
395
- forceUpdateBounds,
396
- ...props
397
- }: HighlightItemProps<T>) {
398
- const itemId = React.useId();
399
- const {
400
- activeValue,
401
- setActiveValue,
402
- mode,
403
- setBounds,
404
- clearBounds,
405
- hover,
406
- click,
407
- enabled,
408
- className: contextClassName,
409
- style: contextStyle,
410
- transition: contextTransition,
411
- id: contextId,
412
- disabled: contextDisabled,
413
- exitDelay: contextExitDelay,
414
- forceUpdateBounds: contextForceUpdateBounds,
415
- setActiveClassName,
416
- } = useHighlight();
417
-
418
- const Component = as ?? 'div';
419
- const element = children as React.ReactElement<ExtendedChildProps>;
420
- const childValue =
421
- id ?? value ?? element.props?.['data-value'] ?? element.props?.id ?? itemId;
422
- const isActive = activeValue === childValue;
423
- const isDisabled = disabled === undefined ? contextDisabled : disabled;
424
- const itemTransition = transition ?? contextTransition;
425
-
426
- const localRef = React.useRef<HTMLDivElement>(null);
427
- React.useImperativeHandle(ref, () => localRef.current as HTMLDivElement);
428
-
429
- const refCallback = React.useCallback((node: HTMLElement | null) => {
430
- localRef.current = node as HTMLDivElement;
431
- }, []);
432
-
433
- React.useEffect(() => {
434
- if (mode !== 'parent') return;
435
- let rafId: number;
436
- let previousBounds: Bounds | null = null;
437
- const shouldUpdateBounds =
438
- forceUpdateBounds === true ||
439
- (contextForceUpdateBounds && forceUpdateBounds !== false);
440
-
441
- const updateBounds = () => {
442
- if (!localRef.current) return;
443
-
444
- const bounds = localRef.current.getBoundingClientRect();
445
-
446
- if (shouldUpdateBounds) {
447
- if (
448
- previousBounds &&
449
- previousBounds.top === bounds.top &&
450
- previousBounds.left === bounds.left &&
451
- previousBounds.width === bounds.width &&
452
- previousBounds.height === bounds.height
453
- ) {
454
- rafId = requestAnimationFrame(updateBounds);
455
- return;
456
- }
457
- previousBounds = bounds;
458
- rafId = requestAnimationFrame(updateBounds);
459
- }
460
-
461
- setBounds(bounds);
462
- };
463
-
464
- if (isActive) {
465
- updateBounds();
466
- setActiveClassName(activeClassName ?? '');
467
- } else if (!activeValue) clearBounds();
468
-
469
- if (shouldUpdateBounds) return () => cancelAnimationFrame(rafId);
470
- }, [
471
- mode,
472
- isActive,
473
- activeValue,
474
- setBounds,
475
- clearBounds,
476
- activeClassName,
477
- setActiveClassName,
478
- forceUpdateBounds,
479
- contextForceUpdateBounds,
480
- ]);
481
-
482
- if (!React.isValidElement(children)) return children;
483
-
484
- const dataAttributes = {
485
- 'data-active': isActive ? 'true' : 'false',
486
- 'aria-selected': isActive,
487
- 'data-disabled': isDisabled,
488
- 'data-value': childValue,
489
- 'data-highlight': true,
490
- };
491
-
492
- const commonHandlers = hover
493
- ? {
494
- onMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => {
495
- setActiveValue(childValue);
496
- element.props.onMouseEnter?.(e);
497
- },
498
- onMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => {
499
- setActiveValue(null);
500
- element.props.onMouseLeave?.(e);
501
- },
502
- }
503
- : click
504
- ? {
505
- onClick: (e: React.MouseEvent<HTMLDivElement>) => {
506
- setActiveValue(childValue);
507
- element.props.onClick?.(e);
508
- },
509
- }
510
- : {};
511
-
512
- if (asChild) {
513
- if (mode === 'children') {
514
- return React.cloneElement(
515
- element,
516
- {
517
- key: childValue,
518
- ref: refCallback,
519
- className: cn('relative', element.props.className),
520
- ...getNonOverridingDataAttributes(element, {
521
- ...dataAttributes,
522
- 'data-slot': 'motion-highlight-item-container',
523
- }),
524
- ...commonHandlers,
525
- ...props,
526
- },
527
- <>
528
- <AnimatePresence initial={false} mode="wait">
529
- {isActive && !isDisabled && (
530
- <motion.div
531
- layoutId={`transition-background-${contextId}`}
532
- data-slot="motion-highlight"
533
- style={{
534
- position: 'absolute',
535
- zIndex: 0,
536
- ...contextStyle,
537
- ...style,
538
- }}
539
- className={cn(contextClassName, activeClassName)}
540
- transition={itemTransition}
541
- initial={{ opacity: 0 }}
542
- animate={{ opacity: 1 }}
543
- exit={{
544
- opacity: 0,
545
- transition: {
546
- ...itemTransition,
547
- delay:
548
- (itemTransition?.delay ?? 0) +
549
- (exitDelay ?? contextExitDelay ?? 0) / 1000,
550
- },
551
- }}
552
- {...dataAttributes}
553
- />
554
- )}
555
- </AnimatePresence>
556
-
557
- <Component
558
- data-slot="motion-highlight-item"
559
- style={{ position: 'relative', zIndex: 1 }}
560
- className={className}
561
- {...dataAttributes}
562
- >
563
- {children}
564
- </Component>
565
- </>,
566
- );
567
- }
568
-
569
- return React.cloneElement(element, {
570
- ref: refCallback,
571
- ...getNonOverridingDataAttributes(element, {
572
- ...dataAttributes,
573
- 'data-slot': 'motion-highlight-item',
574
- }),
575
- ...commonHandlers,
576
- });
577
- }
578
-
579
- return enabled ? (
580
- <Component
581
- key={childValue}
582
- ref={localRef}
583
- data-slot="motion-highlight-item-container"
584
- className={cn(mode === 'children' && 'relative', className)}
585
- {...dataAttributes}
586
- {...props}
587
- {...commonHandlers}
588
- >
589
- {mode === 'children' && (
590
- <AnimatePresence initial={false} mode="wait">
591
- {isActive && !isDisabled && (
592
- <motion.div
593
- layoutId={`transition-background-${contextId}`}
594
- data-slot="motion-highlight"
595
- style={{
596
- position: 'absolute',
597
- zIndex: 0,
598
- ...contextStyle,
599
- ...style,
600
- }}
601
- className={cn(contextClassName, activeClassName)}
602
- transition={itemTransition}
603
- initial={{ opacity: 0 }}
604
- animate={{ opacity: 1 }}
605
- exit={{
606
- opacity: 0,
607
- transition: {
608
- ...itemTransition,
609
- delay:
610
- (itemTransition?.delay ?? 0) +
611
- (exitDelay ?? contextExitDelay ?? 0) / 1000,
612
- },
613
- }}
614
- {...dataAttributes}
615
- />
616
- )}
617
- </AnimatePresence>
618
- )}
619
-
620
- {React.cloneElement(element, {
621
- style: { position: 'relative', zIndex: 1 },
622
- className: element.props.className,
623
- ...getNonOverridingDataAttributes(element, {
624
- ...dataAttributes,
625
- 'data-slot': 'motion-highlight-item',
626
- }),
627
- })}
628
- </Component>
629
- ) : (
630
- children
631
- );
632
- }
633
-
634
- export {
635
- Highlight,
636
- HighlightItem,
637
- useHighlight,
638
- type HighlightProps,
639
- type HighlightItemProps,
640
- };