@nexub/react 3.0.0 → 3.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 (493) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +10 -0
  2. package/dist/{chunk-DOVZNUSH.js → components/Accordion/Accordion.js} +12 -17
  3. package/dist/components/Accordion/index.d.ts +1 -0
  4. package/dist/components/Accordion/index.js +1 -5
  5. package/dist/components/Alert/Alert.d.ts +14 -0
  6. package/dist/{chunk-U422B6UE.js → components/Alert/Alert.js} +8 -15
  7. package/dist/components/Alert/index.d.ts +2 -0
  8. package/dist/components/Alert/index.js +1 -7
  9. package/dist/components/AlertDialog/AlertDialog.d.ts +15 -0
  10. package/dist/{chunk-PDQTKE2C.js → components/AlertDialog/AlertDialog.js} +32 -42
  11. package/dist/components/AlertDialog/index.d.ts +1 -0
  12. package/dist/components/AlertDialog/index.js +1 -9
  13. package/dist/components/Amount/Amount.d.ts +22 -0
  14. package/dist/{chunk-IBBICKEZ.js → components/Amount/Amount.js} +10 -21
  15. package/dist/components/Amount/index.d.ts +2 -0
  16. package/dist/components/Amount/index.js +1 -8
  17. package/dist/components/AppShell/AppShell.d.ts +8 -0
  18. package/dist/{chunk-EPJ4CMZP.js → components/AppShell/AppShell.js} +8 -14
  19. package/dist/components/AppShell/index.d.ts +1 -0
  20. package/dist/components/AppShell/index.js +1 -5
  21. package/dist/components/AspectRatio/AspectRatio.d.ts +5 -0
  22. package/dist/{chunk-52CXVN3U.js → components/AspectRatio/AspectRatio.js} +4 -10
  23. package/dist/components/AspectRatio/index.d.ts +2 -0
  24. package/dist/components/AspectRatio/index.js +1 -5
  25. package/dist/components/Autocomplete/Autocomplete.d.ts +18 -0
  26. package/dist/{chunk-E7RLUHG3.js → components/Autocomplete/Autocomplete.js} +4 -11
  27. package/dist/components/Autocomplete/index.d.ts +2 -0
  28. package/dist/components/Autocomplete/index.js +1 -7
  29. package/dist/components/Avatar/Avatar.d.ts +13 -0
  30. package/dist/{chunk-AYG7HBDZ.js → components/Avatar/Avatar.js} +8 -13
  31. package/dist/components/Avatar/index.d.ts +2 -0
  32. package/dist/components/Avatar/index.js +1 -7
  33. package/dist/components/AvatarGroup/AvatarGroup.d.ts +12 -0
  34. package/dist/{chunk-BMUAR6H2.js → components/AvatarGroup/AvatarGroup.js} +9 -18
  35. package/dist/components/AvatarGroup/index.d.ts +2 -0
  36. package/dist/components/AvatarGroup/index.js +1 -8
  37. package/dist/components/Badge/Badge.d.ts +12 -0
  38. package/dist/{chunk-FBUKWIWR.js → components/Badge/Badge.js} +7 -13
  39. package/dist/components/Badge/index.d.ts +2 -0
  40. package/dist/components/Badge/index.js +1 -6
  41. package/dist/components/Box/Box.d.ts +5 -0
  42. package/dist/{chunk-ZCHZNGWU.js → components/Box/Box.js} +3 -9
  43. package/dist/components/Box/index.d.ts +2 -0
  44. package/dist/components/Box/index.js +1 -5
  45. package/dist/components/Breadcrumb/Breadcrumb.d.ts +21 -0
  46. package/dist/{chunk-SQGRT72E.js → components/Breadcrumb/Breadcrumb.js} +12 -19
  47. package/dist/components/Breadcrumb/index.d.ts +1 -0
  48. package/dist/components/Breadcrumb/index.js +1 -6
  49. package/dist/components/Button/Button.d.ts +30 -0
  50. package/dist/{chunk-GHLMHKMV.js → components/Button/Button.js} +19 -37
  51. package/dist/components/Button/index.d.ts +2 -0
  52. package/dist/components/Button/index.js +1 -9
  53. package/dist/components/ButtonGroup/ButtonGroup.d.ts +6 -0
  54. package/dist/{chunk-7EQ2LIYD.js → components/ButtonGroup/ButtonGroup.js} +3 -9
  55. package/dist/components/ButtonGroup/index.d.ts +2 -0
  56. package/dist/components/ButtonGroup/index.js +1 -6
  57. package/dist/components/Card/Card.d.ts +27 -0
  58. package/dist/{chunk-T466ZB34.js → components/Card/Card.js} +18 -46
  59. package/dist/components/Card/index.d.ts +2 -0
  60. package/dist/components/Card/index.js +1 -8
  61. package/dist/components/Chart/Chart.d.ts +81 -0
  62. package/dist/components/Chart/Chart.js +174 -0
  63. package/dist/components/Chart/index.d.ts +2 -0
  64. package/dist/components/Chart/index.js +9 -0
  65. package/dist/components/CheckList/CheckList.d.ts +10 -0
  66. package/dist/{chunk-T3RBFJML.js → components/CheckList/CheckList.js} +4 -10
  67. package/dist/components/CheckList/index.d.ts +2 -0
  68. package/dist/components/CheckList/index.js +1 -6
  69. package/dist/components/Checkbox/Checkbox.d.ts +5 -0
  70. package/dist/{chunk-JOOKMCAF.js → components/Checkbox/Checkbox.js} +4 -9
  71. package/dist/components/Checkbox/index.d.ts +2 -0
  72. package/dist/components/Checkbox/index.js +1 -5
  73. package/dist/components/CheckboxCard/CheckboxCard.d.ts +9 -0
  74. package/dist/{chunk-EYGT5IX4.js → components/CheckboxCard/CheckboxCard.js} +7 -12
  75. package/dist/components/CheckboxCard/index.d.ts +2 -0
  76. package/dist/components/CheckboxCard/index.js +1 -6
  77. package/dist/components/Chip/Chip.d.ts +12 -0
  78. package/dist/{chunk-PFDUHXT5.js → components/Chip/Chip.js} +8 -15
  79. package/dist/components/Chip/index.d.ts +2 -0
  80. package/dist/components/Chip/index.js +1 -7
  81. package/dist/components/Citation/Citation.d.ts +44 -0
  82. package/dist/{chunk-IA2362SO.js → components/Citation/Citation.js} +12 -21
  83. package/dist/components/Citation/index.d.ts +2 -0
  84. package/dist/components/Citation/index.js +1 -11
  85. package/dist/components/Code/Code.d.ts +6 -0
  86. package/dist/{chunk-NX44VGON.js → components/Code/Code.js} +3 -9
  87. package/dist/components/Code/index.d.ts +2 -0
  88. package/dist/components/Code/index.js +1 -5
  89. package/dist/components/Collapsible/Collapsible.d.ts +7 -0
  90. package/dist/{chunk-4WIUGX5Z.js → components/Collapsible/Collapsible.js} +10 -15
  91. package/dist/components/Collapsible/index.d.ts +1 -0
  92. package/dist/components/Collapsible/index.js +1 -5
  93. package/dist/components/Combobox/Combobox.d.ts +75 -0
  94. package/dist/{chunk-XWELMPYD.js → components/Combobox/Combobox.js} +11 -16
  95. package/dist/components/Combobox/index.d.ts +1 -0
  96. package/dist/components/Combobox/index.js +1 -6
  97. package/dist/components/CommandPalette/CommandPalette.d.ts +73 -0
  98. package/dist/{chunk-LASPHHH6.js → components/CommandPalette/CommandPalette.js} +16 -28
  99. package/dist/components/CommandPalette/index.d.ts +2 -0
  100. package/dist/components/CommandPalette/index.js +1 -8
  101. package/dist/components/Container/Container.d.ts +10 -0
  102. package/dist/{chunk-EQ5ASTJM.js → components/Container/Container.js} +7 -12
  103. package/dist/components/Container/index.d.ts +2 -0
  104. package/dist/components/Container/index.js +1 -6
  105. package/dist/components/ContextMenu/ContextMenu.d.ts +18 -0
  106. package/dist/{chunk-CUCTSWR2.js → components/ContextMenu/ContextMenu.js} +42 -53
  107. package/dist/components/ContextMenu/index.d.ts +1 -0
  108. package/dist/components/ContextMenu/index.js +1 -6
  109. package/dist/components/CountryBadge/CountryBadge.d.ts +8 -0
  110. package/dist/{chunk-JZCZ2SDT.js → components/CountryBadge/CountryBadge.js} +5 -13
  111. package/dist/components/CountryBadge/index.d.ts +2 -0
  112. package/dist/components/CountryBadge/index.js +1 -6
  113. package/dist/components/DataTable/DataTable.d.ts +24 -0
  114. package/dist/{chunk-A7PS3EZO.js → components/DataTable/DataTable.js} +15 -27
  115. package/dist/components/DataTable/index.d.ts +2 -0
  116. package/dist/components/DataTable/index.js +1 -8
  117. package/dist/components/DatePicker/DatePicker.d.ts +39 -0
  118. package/dist/{chunk-OY5CWWIM.js → components/DatePicker/DatePicker.js} +11 -24
  119. package/dist/components/DatePicker/index.d.ts +2 -0
  120. package/dist/components/DatePicker/index.js +1 -9
  121. package/dist/components/DateRangePicker/DateRangePicker.d.ts +20 -0
  122. package/dist/{chunk-YYAXXJH3.js → components/DateRangePicker/DateRangePicker.js} +9 -23
  123. package/dist/components/DateRangePicker/index.d.ts +2 -0
  124. package/dist/components/DateRangePicker/index.js +1 -9
  125. package/dist/components/Dialog/Dialog.d.ts +21 -0
  126. package/dist/{chunk-CEFGILJY.js → components/Dialog/Dialog.js} +28 -38
  127. package/dist/components/Dialog/index.d.ts +1 -0
  128. package/dist/components/Dialog/index.js +1 -7
  129. package/dist/components/Drawer/Drawer.d.ts +94 -0
  130. package/dist/components/Drawer/Drawer.js +131 -0
  131. package/dist/components/Drawer/index.d.ts +2 -0
  132. package/dist/components/Drawer/index.js +1 -9
  133. package/dist/components/DropdownMenu/DropdownMenu.d.ts +18 -0
  134. package/dist/{chunk-GWFIMQBC.js → components/DropdownMenu/DropdownMenu.js} +42 -53
  135. package/dist/components/DropdownMenu/index.d.ts +1 -0
  136. package/dist/components/DropdownMenu/index.js +1 -7
  137. package/dist/components/EmptyState/EmptyState.d.ts +8 -0
  138. package/dist/{chunk-AWTSLASB.js → components/EmptyState/EmptyState.js} +8 -14
  139. package/dist/components/EmptyState/index.d.ts +1 -0
  140. package/dist/components/EmptyState/index.js +1 -5
  141. package/dist/components/ErrorState/ErrorState.d.ts +10 -0
  142. package/dist/{chunk-NX5ZJSRU.js → components/ErrorState/ErrorState.js} +6 -13
  143. package/dist/components/ErrorState/index.d.ts +2 -0
  144. package/dist/components/ErrorState/index.js +1 -6
  145. package/dist/components/EyebrowChip/EyebrowChip.d.ts +11 -0
  146. package/dist/{chunk-MXXJOAWQ.js → components/EyebrowChip/EyebrowChip.js} +7 -13
  147. package/dist/components/EyebrowChip/index.d.ts +2 -0
  148. package/dist/components/EyebrowChip/index.js +1 -8
  149. package/dist/components/FileUpload/FileUpload.d.ts +16 -0
  150. package/dist/{chunk-LR6KNEKL.js → components/FileUpload/FileUpload.js} +12 -19
  151. package/dist/components/FileUpload/index.d.ts +2 -0
  152. package/dist/components/FileUpload/index.js +1 -6
  153. package/dist/components/FilterChip/FilterChip.d.ts +8 -0
  154. package/dist/{chunk-36QSSD7I.js → components/FilterChip/FilterChip.js} +6 -15
  155. package/dist/components/FilterChip/index.d.ts +2 -0
  156. package/dist/components/FilterChip/index.js +1 -7
  157. package/dist/components/Flag/Flag.d.ts +7 -0
  158. package/dist/{chunk-HOQPHAGW.js → components/Flag/Flag.js} +4 -10
  159. package/dist/components/Flag/index.d.ts +2 -0
  160. package/dist/components/Flag/index.js +1 -6
  161. package/dist/components/Flex/Flex.d.ts +10 -0
  162. package/dist/{chunk-BOO4VH3M.js → components/Flex/Flex.js} +5 -13
  163. package/dist/components/Flex/index.d.ts +2 -0
  164. package/dist/components/Flex/index.js +1 -6
  165. package/dist/components/FormError/FormError.d.ts +3 -0
  166. package/dist/{chunk-H2X6MSNY.js → components/FormError/FormError.js} +3 -9
  167. package/dist/components/FormError/index.d.ts +2 -0
  168. package/dist/components/FormError/index.js +1 -6
  169. package/dist/components/FormField/FormField.d.ts +46 -0
  170. package/dist/{chunk-FT73REUG.js → components/FormField/FormField.js} +9 -20
  171. package/dist/components/FormField/index.d.ts +2 -0
  172. package/dist/components/FormField/index.js +1 -11
  173. package/dist/components/GradientDivider/GradientDivider.d.ts +6 -0
  174. package/dist/{chunk-FDRAGYDV.js → components/GradientDivider/GradientDivider.js} +7 -13
  175. package/dist/components/GradientDivider/index.d.ts +2 -0
  176. package/dist/components/GradientDivider/index.js +1 -5
  177. package/dist/components/Grid/Grid.d.ts +9 -0
  178. package/dist/{chunk-F5S2KP3Z.js → components/Grid/Grid.js} +5 -13
  179. package/dist/components/Grid/index.d.ts +2 -0
  180. package/dist/components/Grid/index.js +1 -6
  181. package/dist/components/Heading/Heading.d.ts +17 -0
  182. package/dist/{chunk-Z7OR2LYG.js → components/Heading/Heading.js} +8 -16
  183. package/dist/components/Heading/index.d.ts +2 -0
  184. package/dist/components/Heading/index.js +1 -9
  185. package/dist/components/HelperText/HelperText.d.ts +6 -0
  186. package/dist/{chunk-QKGQBJ4U.js → components/HelperText/HelperText.js} +4 -12
  187. package/dist/components/HelperText/index.d.ts +2 -0
  188. package/dist/components/HelperText/index.js +1 -9
  189. package/dist/components/HoverCard/HoverCard.d.ts +10 -0
  190. package/dist/{chunk-KL55E5PE.js → components/HoverCard/HoverCard.js} +15 -22
  191. package/dist/components/HoverCard/index.d.ts +1 -0
  192. package/dist/components/HoverCard/index.js +1 -7
  193. package/dist/components/IconButton/IconButton.d.ts +11 -0
  194. package/dist/{chunk-RH2HEPC7.js → components/IconButton/IconButton.js} +7 -17
  195. package/dist/components/IconButton/index.d.ts +2 -0
  196. package/dist/components/IconButton/index.js +1 -8
  197. package/dist/components/Input/Input.d.ts +21 -0
  198. package/dist/{chunk-G7VMAWAX.js → components/Input/Input.js} +10 -21
  199. package/dist/components/Input/index.d.ts +2 -0
  200. package/dist/components/Input/index.js +1 -10
  201. package/dist/components/Kbd/Kbd.d.ts +4 -0
  202. package/dist/{chunk-OM62PQSE.js → components/Kbd/Kbd.js} +3 -9
  203. package/dist/components/Kbd/index.d.ts +2 -0
  204. package/dist/components/Kbd/index.js +1 -6
  205. package/dist/components/KeyboardShortcut/KeyboardShortcut.d.ts +5 -0
  206. package/dist/{chunk-PR3CEPFG.js → components/KeyboardShortcut/KeyboardShortcut.js} +4 -12
  207. package/dist/components/KeyboardShortcut/index.d.ts +2 -0
  208. package/dist/components/KeyboardShortcut/index.js +1 -6
  209. package/dist/components/Label/Label.d.ts +15 -0
  210. package/dist/{chunk-BM5PGGK2.js → components/Label/Label.js} +7 -15
  211. package/dist/components/Label/index.d.ts +2 -0
  212. package/dist/components/Label/index.js +1 -10
  213. package/dist/components/Link/Link.d.ts +11 -0
  214. package/dist/{chunk-QCLE5VQW.js → components/Link/Link.js} +6 -12
  215. package/dist/components/Link/index.d.ts +2 -0
  216. package/dist/components/Link/index.js +1 -6
  217. package/dist/components/Logo/Logo.d.ts +15 -0
  218. package/dist/{chunk-ZGJF4HAT.js → components/Logo/Logo.js} +8 -14
  219. package/dist/components/Logo/index.d.ts +2 -0
  220. package/dist/components/Logo/index.js +1 -6
  221. package/dist/components/MediaCard/MediaCard.d.ts +24 -0
  222. package/dist/{chunk-5DHLFPC4.js → components/MediaCard/MediaCard.js} +5 -13
  223. package/dist/components/MediaCard/index.d.ts +2 -0
  224. package/dist/components/MediaCard/index.js +1 -6
  225. package/dist/components/Menubar/Menubar.d.ts +1 -0
  226. package/dist/{chunk-PPECMYKJ.js → components/Menubar/Menubar.js} +50 -61
  227. package/dist/components/Menubar/index.d.ts +1 -0
  228. package/dist/components/Menubar/index.js +1 -6
  229. package/dist/components/MessageBubble/MessageBubble.d.ts +43 -0
  230. package/dist/{chunk-RNS35DNZ.js → components/MessageBubble/MessageBubble.js} +13 -27
  231. package/dist/components/MessageBubble/index.d.ts +2 -0
  232. package/dist/components/MessageBubble/index.js +1 -13
  233. package/dist/components/MoneyInput/MoneyInput.d.ts +19 -0
  234. package/dist/{chunk-FOFNTKCK.js → components/MoneyInput/MoneyInput.js} +8 -24
  235. package/dist/components/MoneyInput/index.d.ts +2 -0
  236. package/dist/components/MoneyInput/index.js +1 -11
  237. package/dist/components/Motion/Collapse.d.ts +29 -0
  238. package/dist/components/Motion/Collapse.js +103 -0
  239. package/dist/components/Motion/Fade.d.ts +16 -0
  240. package/dist/components/Motion/Fade.js +42 -0
  241. package/dist/components/Motion/Float.d.ts +8 -0
  242. package/dist/components/Motion/Float.js +14 -0
  243. package/dist/components/Motion/ListTransition.d.ts +46 -0
  244. package/dist/components/Motion/ListTransition.js +110 -0
  245. package/dist/components/Motion/Marquee.d.ts +13 -0
  246. package/dist/components/Motion/Marquee.js +13 -0
  247. package/dist/components/Motion/Reveal.d.ts +12 -0
  248. package/dist/components/Motion/Reveal.js +32 -0
  249. package/dist/components/Motion/Scale.d.ts +22 -0
  250. package/dist/components/Motion/Scale.js +45 -0
  251. package/dist/components/Motion/Slide.d.ts +22 -0
  252. package/dist/components/Motion/Slide.js +59 -0
  253. package/dist/components/Motion/index.d.ts +18 -0
  254. package/dist/components/Motion/index.js +12 -10
  255. package/dist/components/Motion/motion.types.d.ts +25 -0
  256. package/dist/components/Motion/motion.types.js +1 -0
  257. package/dist/components/Motion/useMotion.d.ts +41 -0
  258. package/dist/components/Motion/useMotion.js +102 -0
  259. package/dist/components/NavigationMenu/NavigationMenu.d.ts +12 -0
  260. package/dist/{chunk-FXVI4RCJ.js → components/NavigationMenu/NavigationMenu.js} +21 -28
  261. package/dist/components/NavigationMenu/index.d.ts +1 -0
  262. package/dist/components/NavigationMenu/index.js +1 -6
  263. package/dist/components/NavigationRail/NavigationRail.d.ts +19 -0
  264. package/dist/{chunk-5MGCYR4G.js → components/NavigationRail/NavigationRail.js} +7 -14
  265. package/dist/components/NavigationRail/index.d.ts +2 -0
  266. package/dist/components/NavigationRail/index.js +1 -6
  267. package/dist/components/NexubProvider/NexubProvider.d.ts +34 -0
  268. package/dist/{chunk-VMSWIC3O.js → components/NexubProvider/NexubProvider.js} +7 -9
  269. package/dist/components/NexubProvider/index.d.ts +2 -0
  270. package/dist/components/NexubProvider/index.js +1 -8
  271. package/dist/components/NumberInput/NumberInput.d.ts +15 -0
  272. package/dist/{chunk-V3EWVSVI.js → components/NumberInput/NumberInput.js} +9 -20
  273. package/dist/components/NumberInput/index.d.ts +2 -0
  274. package/dist/components/NumberInput/index.js +1 -8
  275. package/dist/components/NumberTicker/NumberTicker.d.ts +25 -0
  276. package/dist/{chunk-2G3XUIQZ.js → components/NumberTicker/NumberTicker.js} +30 -19
  277. package/dist/components/NumberTicker/index.d.ts +2 -0
  278. package/dist/components/NumberTicker/index.js +1 -7
  279. package/dist/components/PageHeader/PageHeader.d.ts +10 -0
  280. package/dist/{chunk-SEW66BU7.js → components/PageHeader/PageHeader.js} +3 -9
  281. package/dist/components/PageHeader/index.d.ts +2 -0
  282. package/dist/components/PageHeader/index.js +1 -5
  283. package/dist/components/Pagination/Pagination.d.ts +9 -0
  284. package/dist/{chunk-NLVP74RX.js → components/Pagination/Pagination.js} +7 -17
  285. package/dist/components/Pagination/index.d.ts +2 -0
  286. package/dist/components/Pagination/index.js +1 -7
  287. package/dist/components/PasswordInput/PasswordInput.d.ts +9 -0
  288. package/dist/{chunk-OGHOT6XN.js → components/PasswordInput/PasswordInput.js} +7 -18
  289. package/dist/components/PasswordInput/index.d.ts +2 -0
  290. package/dist/components/PasswordInput/index.js +1 -10
  291. package/dist/components/Popover/Popover.d.ts +13 -0
  292. package/dist/{chunk-MPJG4WFP.js → components/Popover/Popover.js} +20 -29
  293. package/dist/components/Popover/index.d.ts +1 -0
  294. package/dist/components/Popover/index.js +1 -7
  295. package/dist/components/Progress/Progress.d.ts +17 -0
  296. package/dist/{chunk-HXNUIIXB.js → components/Progress/Progress.js} +9 -16
  297. package/dist/components/Progress/index.d.ts +2 -0
  298. package/dist/components/Progress/index.js +1 -8
  299. package/dist/components/PromptInput/PromptInput.d.ts +33 -0
  300. package/dist/{chunk-ZUMC7SX5.js → components/PromptInput/PromptInput.js} +12 -30
  301. package/dist/components/PromptInput/index.d.ts +2 -0
  302. package/dist/components/PromptInput/index.js +1 -12
  303. package/dist/components/RadioCard/RadioCard.d.ts +11 -0
  304. package/dist/{chunk-YNLXG574.js → components/RadioCard/RadioCard.js} +11 -16
  305. package/dist/components/RadioCard/index.d.ts +2 -0
  306. package/dist/components/RadioCard/index.js +1 -7
  307. package/dist/components/RadioCard/selectableCard.d.ts +29 -0
  308. package/dist/{chunk-6SPCGCDG.js → components/RadioCard/selectableCard.js} +6 -11
  309. package/dist/components/RadioGroup/RadioGroup.d.ts +6 -0
  310. package/dist/{chunk-QQR4PPF3.js → components/RadioGroup/RadioGroup.js} +8 -13
  311. package/dist/components/RadioGroup/index.d.ts +1 -0
  312. package/dist/components/RadioGroup/index.js +1 -5
  313. package/dist/components/Rating/Rating.d.ts +12 -0
  314. package/dist/{chunk-VCCQ64G7.js → components/Rating/Rating.js} +9 -18
  315. package/dist/components/Rating/index.d.ts +2 -0
  316. package/dist/components/Rating/index.js +1 -9
  317. package/dist/components/ScrollArea/ScrollArea.d.ts +6 -0
  318. package/dist/{chunk-2DZWTBDL.js → components/ScrollArea/ScrollArea.js} +4 -9
  319. package/dist/components/ScrollArea/index.d.ts +2 -0
  320. package/dist/components/ScrollArea/index.js +1 -5
  321. package/dist/components/SearchInput/SearchInput.d.ts +6 -0
  322. package/dist/{chunk-YVS6AVPD.js → components/SearchInput/SearchInput.js} +7 -18
  323. package/dist/components/SearchInput/index.d.ts +2 -0
  324. package/dist/components/SearchInput/index.js +1 -10
  325. package/dist/components/Section/Section.d.ts +10 -0
  326. package/dist/{chunk-EIV37DAQ.js → components/Section/Section.js} +6 -12
  327. package/dist/components/Section/index.d.ts +2 -0
  328. package/dist/components/Section/index.js +1 -6
  329. package/dist/components/SegmentedControl/SegmentedControl.d.ts +12 -0
  330. package/dist/{chunk-KRIRCSUB.js → components/SegmentedControl/SegmentedControl.js} +12 -21
  331. package/dist/components/SegmentedControl/index.d.ts +2 -0
  332. package/dist/components/SegmentedControl/index.js +1 -8
  333. package/dist/components/Select/Select.d.ts +16 -0
  334. package/dist/{chunk-M5PDVHFN.js → components/Select/Select.js} +35 -48
  335. package/dist/components/Select/index.d.ts +1 -0
  336. package/dist/components/Select/index.js +1 -7
  337. package/dist/components/Separator/Separator.d.ts +12 -0
  338. package/dist/{chunk-YVCUKIAC.js → components/Separator/Separator.js} +6 -12
  339. package/dist/components/Separator/index.d.ts +2 -0
  340. package/dist/components/Separator/index.js +1 -6
  341. package/dist/components/Sidebar/Sidebar.d.ts +25 -0
  342. package/dist/{chunk-NAESV7K3.js → components/Sidebar/Sidebar.js} +11 -18
  343. package/dist/components/Sidebar/index.d.ts +2 -0
  344. package/dist/components/Sidebar/index.js +1 -6
  345. package/dist/components/Skeleton/Skeleton.d.ts +14 -0
  346. package/dist/{chunk-3C4WVTAN.js → components/Skeleton/Skeleton.js} +7 -13
  347. package/dist/components/Skeleton/index.d.ts +2 -0
  348. package/dist/components/Skeleton/index.js +1 -6
  349. package/dist/components/Slider/Slider.d.ts +7 -0
  350. package/dist/{chunk-5QWRBJSZ.js → components/Slider/Slider.js} +4 -9
  351. package/dist/components/Slider/index.d.ts +2 -0
  352. package/dist/components/Slider/index.js +1 -5
  353. package/dist/components/Spinner/Spinner.d.ts +12 -0
  354. package/dist/{chunk-P3SAE4T2.js → components/Spinner/Spinner.js} +8 -15
  355. package/dist/components/Spinner/index.d.ts +2 -0
  356. package/dist/components/Spinner/index.js +1 -7
  357. package/dist/components/SplitButton/SplitButton.d.ts +15 -0
  358. package/dist/{chunk-ILIM4BLN.js → components/SplitButton/SplitButton.js} +7 -18
  359. package/dist/components/SplitButton/index.d.ts +2 -0
  360. package/dist/components/SplitButton/index.js +1 -11
  361. package/dist/components/Stack/Stack.d.ts +11 -0
  362. package/dist/{chunk-ST4O3EQ3.js → components/Stack/Stack.js} +4 -12
  363. package/dist/components/Stack/index.d.ts +2 -0
  364. package/dist/components/Stack/index.js +1 -6
  365. package/dist/components/StreamingText/StreamingText.d.ts +19 -0
  366. package/dist/{chunk-4ESZQDPB.js → components/StreamingText/StreamingText.js} +5 -10
  367. package/dist/components/StreamingText/index.d.ts +2 -0
  368. package/dist/components/StreamingText/index.js +1 -5
  369. package/dist/components/Switch/Switch.d.ts +12 -0
  370. package/dist/{chunk-EWW6PWTK.js → components/Switch/Switch.js} +9 -12
  371. package/dist/components/Switch/index.d.ts +2 -0
  372. package/dist/components/Switch/index.js +1 -5
  373. package/dist/components/Table/Table.d.ts +18 -0
  374. package/dist/{chunk-KA6RZ7VN.js → components/Table/Table.js} +13 -18
  375. package/dist/components/Table/index.d.ts +2 -0
  376. package/dist/components/Table/index.js +1 -6
  377. package/dist/components/Tabs/Tabs.d.ts +8 -0
  378. package/dist/{chunk-BIWSXGTZ.js → components/Tabs/Tabs.js} +14 -23
  379. package/dist/components/Tabs/index.d.ts +1 -0
  380. package/dist/components/Tabs/index.js +1 -8
  381. package/dist/components/Text/Text.d.ts +13 -0
  382. package/dist/{chunk-UYINKNCI.js → components/Text/Text.js} +7 -13
  383. package/dist/components/Text/index.d.ts +2 -0
  384. package/dist/components/Text/index.js +1 -6
  385. package/dist/components/TextGradient/TextGradient.d.ts +4 -0
  386. package/dist/{chunk-IDPRAXCG.js → components/TextGradient/TextGradient.js} +3 -9
  387. package/dist/components/TextGradient/index.d.ts +2 -0
  388. package/dist/components/TextGradient/index.js +1 -5
  389. package/dist/components/Textarea/Textarea.d.ts +13 -0
  390. package/dist/{chunk-HL64PWVQ.js → components/Textarea/Textarea.js} +8 -17
  391. package/dist/components/Textarea/index.d.ts +2 -0
  392. package/dist/components/Textarea/index.js +1 -7
  393. package/dist/components/ThemeProvider/ThemeProvider.d.ts +69 -0
  394. package/dist/{chunk-ZBRRQHZG.js → components/ThemeProvider/ThemeProvider.js} +11 -15
  395. package/dist/components/ThemeProvider/index.d.ts +2 -0
  396. package/dist/components/ThemeProvider/index.js +1 -7
  397. package/dist/components/ThinkingIndicator/ThinkingIndicator.d.ts +18 -0
  398. package/dist/{chunk-VX56VQMF.js → components/ThinkingIndicator/ThinkingIndicator.js} +6 -13
  399. package/dist/components/ThinkingIndicator/index.d.ts +2 -0
  400. package/dist/components/ThinkingIndicator/index.js +1 -6
  401. package/dist/components/Toast/Toast.d.ts +17 -0
  402. package/dist/components/Toast/Toast.js +82 -0
  403. package/dist/components/Toast/Toaster.d.ts +21 -0
  404. package/dist/{chunk-MQGBAWSJ.js → components/Toast/Toaster.js} +27 -189
  405. package/dist/components/Toast/index.d.ts +5 -0
  406. package/dist/components/Toast/index.js +3 -10
  407. package/dist/components/Toast/useToast.d.ts +45 -0
  408. package/dist/components/Toast/useToast.js +74 -0
  409. package/dist/components/Toggle/Toggle.d.ts +10 -0
  410. package/dist/{chunk-NMSQDI4A.js → components/Toggle/Toggle.js} +7 -12
  411. package/dist/components/Toggle/index.d.ts +2 -0
  412. package/dist/components/Toggle/index.js +1 -7
  413. package/dist/components/ToggleGroup/ToggleGroup.d.ts +16 -0
  414. package/dist/{chunk-UOBWHPXG.js → components/ToggleGroup/ToggleGroup.js} +10 -17
  415. package/dist/components/ToggleGroup/index.d.ts +1 -0
  416. package/dist/components/ToggleGroup/index.js +1 -6
  417. package/dist/components/Toolbar/Toolbar.d.ts +18 -0
  418. package/dist/{chunk-WGW7TZOV.js → components/Toolbar/Toolbar.js} +15 -22
  419. package/dist/components/Toolbar/index.d.ts +2 -0
  420. package/dist/components/Toolbar/index.js +1 -6
  421. package/dist/components/Tooltip/Tooltip.d.ts +14 -0
  422. package/dist/{chunk-6SWOLUMF.js → components/Tooltip/Tooltip.js} +16 -21
  423. package/dist/components/Tooltip/index.d.ts +1 -0
  424. package/dist/components/Tooltip/index.js +1 -10
  425. package/dist/components/TopNav/TopNav.d.ts +20 -0
  426. package/dist/{chunk-BNG3Y5I7.js → components/TopNav/TopNav.js} +11 -20
  427. package/dist/components/TopNav/index.d.ts +2 -0
  428. package/dist/components/TopNav/index.js +1 -7
  429. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +2 -0
  430. package/dist/components/VisuallyHidden/VisuallyHidden.js +5 -0
  431. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  432. package/dist/components/VisuallyHidden/index.js +2 -5
  433. package/dist/hooks/useClassScrollLock.d.ts +6 -0
  434. package/dist/{chunk-47UGX37F.js → hooks/useClassScrollLock.js} +2 -5
  435. package/dist/hooks/useControllableState.d.ts +7 -0
  436. package/dist/{chunk-JLUCMNVS.js → hooks/useControllableState.js} +2 -7
  437. package/dist/hooks/useDisclosure.d.ts +6 -0
  438. package/dist/hooks/useDisclosure.js +12 -0
  439. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -0
  440. package/dist/hooks/useIsomorphicLayoutEffect.js +5 -0
  441. package/dist/hooks/useMediaQuery.d.ts +1 -0
  442. package/dist/hooks/useMediaQuery.js +17 -0
  443. package/dist/hooks/useMergedRefs.d.ts +2 -0
  444. package/dist/{chunk-MNEXMMLM.js → hooks/useMergedRefs.js} +1 -4
  445. package/dist/hooks/usePointerSheen.d.ts +8 -0
  446. package/dist/hooks/usePointerSheen.js +25 -0
  447. package/dist/hooks/useSlidingIndicator.d.ts +8 -0
  448. package/dist/{chunk-6UKNUI46.js → hooks/useSlidingIndicator.js} +2 -7
  449. package/dist/index.d.ts +198 -1849
  450. package/dist/index.js +123 -413
  451. package/dist/styles.css +1 -1
  452. package/dist/utils/cn.d.ts +2 -0
  453. package/dist/{chunk-WRVFNYO3.js → utils/cn.js} +8 -11
  454. package/dist/utils/control.d.ts +20 -0
  455. package/dist/utils/control.js +41 -0
  456. package/dist/utils/deprecated.d.ts +6 -0
  457. package/dist/utils/deprecated.js +16 -0
  458. package/dist/utils/glass.d.ts +9 -0
  459. package/dist/utils/glass.js +4 -0
  460. package/dist/utils/layout.d.ts +14 -0
  461. package/dist/{chunk-VLQGQFW7.js → utils/layout.js} +5 -9
  462. package/dist/utils/money.d.ts +1 -0
  463. package/dist/{chunk-R3SUPKKI.js → utils/money.js} +3 -6
  464. package/dist/utils/surface.d.ts +11 -0
  465. package/dist/{chunk-5FWJXSXT.js → utils/surface.js} +9 -13
  466. package/dist/utils/viewTransition.d.ts +5 -0
  467. package/dist/utils/viewTransition.js +8 -0
  468. package/dist/{chunk-PZL6AJH5.js → vendor/vaul.js} +2 -140
  469. package/package.json +15 -7
  470. package/dist/chunk-4B4XWDAH.js +0 -1
  471. package/dist/chunk-4GVGS5N4.js +0 -468
  472. package/dist/chunk-52ZVJPF7.js +0 -1
  473. package/dist/chunk-A3O23F2B.js +0 -1
  474. package/dist/chunk-ADO2DB6Q.js +0 -1
  475. package/dist/chunk-BV3U3ATL.js +0 -1
  476. package/dist/chunk-CAOLGXA5.js +0 -1
  477. package/dist/chunk-DEIBF3P7.js +0 -8
  478. package/dist/chunk-EV43I5J6.js +0 -1
  479. package/dist/chunk-HI7GBSW2.js +0 -1
  480. package/dist/chunk-HY3JWSG4.js +0 -1
  481. package/dist/chunk-IZ6ZPEZ2.js +0 -1
  482. package/dist/chunk-KLTQJZOX.js +0 -1
  483. package/dist/chunk-LVPU7455.js +0 -1
  484. package/dist/chunk-NHUQLIHL.js +0 -9
  485. package/dist/chunk-NZ7UK3G6.js +0 -1
  486. package/dist/chunk-P26VJEIW.js +0 -1
  487. package/dist/chunk-PICMOOAZ.js +0 -1
  488. package/dist/chunk-VALIDQXU.js +0 -31
  489. package/dist/chunk-WLRRMT6W.js +0 -1
  490. package/dist/chunk-XYXMPHND.js +0 -1
  491. package/dist/chunk-YJU4ZRQZ.js +0 -1
  492. package/dist/chunk-ZT3NWE5U.js +0 -1
  493. package/dist/chunk-ZXLACKEB.js +0 -8
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { type InputProps } from '../Input/Input.js';
3
+ export interface MoneyInputProps extends Omit<InputProps, 'value' | 'defaultValue' | 'onChange' | 'type' | 'inputMode' | 'leadingIcon' | 'leadingAddon'> {
4
+ /** The amount, or null when empty. */
5
+ value?: number | null;
6
+ defaultValue?: number | null;
7
+ /** Called with the parsed amount (rounded to the currency's minor unit) as the person types. */
8
+ onValueChange?: (value: number | null) => void;
9
+ /** ISO 4217 code, e.g. 'USD'. */
10
+ currency: string;
11
+ /** BCP 47 locale for separators. Defaults to the user's. */
12
+ locale?: string;
13
+ }
14
+ /**
15
+ * An amount field: the currency symbol leads, digits are tabular, the locale's
16
+ * separators parse correctly, and the value is grouped on blur
17
+ * (e.g. 1234.5 → "1,234.50"). Raw while editing so the caret never jumps.
18
+ */
19
+ export declare const MoneyInput: React.ForwardRefExoticComponent<MoneyInputProps & React.RefAttributes<HTMLInputElement>>;
@@ -1,27 +1,12 @@
1
- 'use client';
2
- import {
3
- useControllableState
4
- } from "./chunk-JLUCMNVS.js";
5
- import {
6
- Input
7
- } from "./chunk-G7VMAWAX.js";
8
- import {
9
- currencySymbol,
10
- formatForDisplay,
11
- formatForEditing,
12
- parseMoney
13
- } from "./chunk-R3SUPKKI.js";
14
- import {
15
- useIntlLocale
16
- } from "./chunk-VMSWIC3O.js";
17
- import {
18
- cn
19
- } from "./chunk-WRVFNYO3.js";
20
-
21
- // src/components/MoneyInput/MoneyInput.tsx
22
- import * as React from "react";
1
+ "use client";
23
2
  import { jsx } from "react/jsx-runtime";
24
- var MoneyInput = React.forwardRef(
3
+ import * as React from "react";
4
+ import { cn } from "../../utils/cn.js";
5
+ import { useIntlLocale } from "../NexubProvider/NexubProvider.js";
6
+ import { useControllableState } from "../../hooks/useControllableState.js";
7
+ import { currencySymbol, formatForDisplay, formatForEditing, parseMoney } from "../../utils/money.js";
8
+ import { Input } from "../Input/Input.js";
9
+ const MoneyInput = React.forwardRef(
25
10
  ({ value: valueProp, defaultValue = null, onValueChange, currency, locale: localeProp, onFocus, onBlur, className, ...props }, ref) => {
26
11
  const locale = useIntlLocale(localeProp);
27
12
  const [value, setValue] = useControllableState({
@@ -59,7 +44,6 @@ var MoneyInput = React.forwardRef(
59
44
  }
60
45
  );
61
46
  MoneyInput.displayName = "MoneyInput";
62
-
63
47
  export {
64
48
  MoneyInput
65
49
  };
@@ -0,0 +1,2 @@
1
+ export { MoneyInput } from './MoneyInput.js';
2
+ export type { MoneyInputProps } from './MoneyInput.js';
@@ -1,14 +1,4 @@
1
- 'use client';
2
- import {
3
- MoneyInput
4
- } from "../../chunk-FOFNTKCK.js";
5
- import "../../chunk-JLUCMNVS.js";
6
- import "../../chunk-NHUQLIHL.js";
7
- import "../../chunk-G7VMAWAX.js";
8
- import "../../chunk-VALIDQXU.js";
9
- import "../../chunk-R3SUPKKI.js";
10
- import "../../chunk-VMSWIC3O.js";
11
- import "../../chunk-WRVFNYO3.js";
1
+ import { MoneyInput } from "./MoneyInput.js";
12
2
  export {
13
3
  MoneyInput
14
4
  };
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+ import type { MotionBaseProps } from './motion.types.js';
3
+ export interface CollapseProps extends Omit<MotionBaseProps, 'easing'>, React.HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * Legacy: set it to use `--duration-*` + `--ease-{value}` instead of the
6
+ * spatial spring for the height transition.
7
+ */
8
+ easing?: MotionBaseProps['easing'];
9
+ /**
10
+ * Starting height when collapsed. Useful for "peek" effects.
11
+ * @default 0
12
+ */
13
+ collapsedHeight?: number | string;
14
+ /** Wrapper element tag. @default 'div' */
15
+ as?: React.ElementType;
16
+ }
17
+ /**
18
+ * Collapse — animates `max-height` to reveal / hide content on the spatial
19
+ * spring. Reduced motion snaps the height instead of animating it.
20
+ * Height is measured from the content ref so you don't need to
21
+ * provide an explicit height.
22
+ *
23
+ * ```tsx
24
+ * <Collapse in={isOpen}>
25
+ * <p>Hidden content</p>
26
+ * </Collapse>
27
+ * ```
28
+ */
29
+ export declare const Collapse: React.ForwardRefExoticComponent<CollapseProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { DURATION_MS, SPRING_MS, SPRING_SPEED, spring, usePrefersReducedMotion } from "./useMotion.js";
5
+ const Collapse = React.forwardRef(function Collapse2({
6
+ in: visible,
7
+ duration = "normal",
8
+ easing,
9
+ unmountOnExit = false,
10
+ collapsedHeight = 0,
11
+ children,
12
+ style,
13
+ as: Tag = "div",
14
+ ...rest
15
+ }, ref) {
16
+ const innerRef = React.useRef(null);
17
+ const reduced = usePrefersReducedMotion();
18
+ const legacy = easing !== void 0;
19
+ const settleMs = duration === "instant" || reduced ? 0 : legacy ? DURATION_MS[duration] : SPRING_MS.spatial[SPRING_SPEED[duration]];
20
+ const [height, setHeight] = React.useState(visible ? "auto" : 0);
21
+ const [overflow, setOverflow] = React.useState(
22
+ visible ? "visible" : "hidden"
23
+ );
24
+ const [mounted, setMounted] = React.useState(unmountOnExit ? visible : true);
25
+ const prevVisible = React.useRef(visible);
26
+ React.useEffect(() => {
27
+ const changed = prevVisible.current !== visible;
28
+ prevVisible.current = visible;
29
+ if (!changed) return;
30
+ let raf1 = 0;
31
+ let raf2 = 0;
32
+ if (visible) {
33
+ setMounted(true);
34
+ raf1 = requestAnimationFrame(() => {
35
+ const el = innerRef.current;
36
+ if (el) {
37
+ setHeight(el.scrollHeight);
38
+ setOverflow("hidden");
39
+ }
40
+ });
41
+ } else {
42
+ const el = innerRef.current;
43
+ if (el) {
44
+ setHeight(el.scrollHeight);
45
+ setOverflow("hidden");
46
+ raf1 = requestAnimationFrame(() => {
47
+ raf2 = requestAnimationFrame(() => {
48
+ setHeight(typeof collapsedHeight === "number" ? collapsedHeight : 0);
49
+ });
50
+ });
51
+ }
52
+ }
53
+ return () => {
54
+ cancelAnimationFrame(raf1);
55
+ cancelAnimationFrame(raf2);
56
+ };
57
+ }, [visible, collapsedHeight]);
58
+ const finish = React.useCallback(() => {
59
+ if (visible) {
60
+ setHeight("auto");
61
+ setOverflow("visible");
62
+ } else if (unmountOnExit) {
63
+ setMounted(false);
64
+ }
65
+ }, [visible, unmountOnExit]);
66
+ const handleTransitionEnd = React.useCallback(
67
+ (e) => {
68
+ if (e.target !== e.currentTarget || e.propertyName !== "max-height") return;
69
+ finish();
70
+ },
71
+ [finish]
72
+ );
73
+ const firstRender = React.useRef(true);
74
+ React.useEffect(() => {
75
+ if (firstRender.current) {
76
+ firstRender.current = false;
77
+ return;
78
+ }
79
+ const t = setTimeout(finish, settleMs + 100);
80
+ return () => clearTimeout(t);
81
+ }, [visible, settleMs, finish]);
82
+ if (!mounted) return null;
83
+ const maxHeight = height === "auto" ? "none" : `${height}px`;
84
+ return /* @__PURE__ */ jsx(
85
+ Tag,
86
+ {
87
+ ref,
88
+ style: {
89
+ maxHeight,
90
+ overflow,
91
+ transition: duration === "instant" || reduced ? "none" : legacy ? `max-height var(--duration-${duration}) var(--ease-${easing})` : spring("max-height", "spatial", SPRING_SPEED[duration]),
92
+ ...style
93
+ },
94
+ onTransitionEnd: handleTransitionEnd,
95
+ ...rest,
96
+ children: /* @__PURE__ */ jsx("div", { ref: innerRef, children })
97
+ }
98
+ );
99
+ });
100
+ Collapse.displayName = "Collapse";
101
+ export {
102
+ Collapse
103
+ };
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import type { MotionBaseProps } from './motion.types.js';
3
+ export interface FadeProps extends MotionBaseProps, React.HTMLAttributes<HTMLDivElement> {
4
+ /** Wrapper element tag. @default 'div' */
5
+ as?: React.ElementType;
6
+ }
7
+ /**
8
+ * Fade — animates opacity between 0 and 1.
9
+ *
10
+ * ```tsx
11
+ * <Fade in={isOpen}>
12
+ * <p>Hello</p>
13
+ * </Fade>
14
+ * ```
15
+ */
16
+ export declare const Fade: React.ForwardRefExoticComponent<FadeProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { useMotion } from "./useMotion.js";
5
+ const Fade = React.forwardRef(function Fade2({
6
+ in: visible,
7
+ duration = "normal",
8
+ easing,
9
+ unmountOnExit = false,
10
+ children,
11
+ style,
12
+ as: Tag = "div",
13
+ ...rest
14
+ }, ref) {
15
+ const { phase, mounted, transitionStyle, handleTransitionEnd } = useMotion({
16
+ visible,
17
+ duration,
18
+ easing,
19
+ unmountOnExit
20
+ });
21
+ if (!mounted) return null;
22
+ const opacity = phase === "entered" ? 1 : 0;
23
+ return /* @__PURE__ */ jsx(
24
+ Tag,
25
+ {
26
+ ref,
27
+ onTransitionEnd: handleTransitionEnd,
28
+ style: {
29
+ opacity,
30
+ willChange: "opacity",
31
+ ...transitionStyle,
32
+ ...style
33
+ },
34
+ ...rest,
35
+ children
36
+ }
37
+ );
38
+ });
39
+ Fade.displayName = "Fade";
40
+ export {
41
+ Fade
42
+ };
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ export interface FloatProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** `slow` drifts on a longer, reversed loop, so two floating cards don't move in step. */
4
+ speed?: 'normal' | 'slow';
5
+ asChild?: boolean;
6
+ }
7
+ /** Gently bobs its content, in marketing mode (@nexub/themes/marketing). Still under reduced motion. */
8
+ export declare const Float: React.ForwardRefExoticComponent<FloatProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,14 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { cn } from "../../utils/cn.js";
5
+ const Float = React.forwardRef(
6
+ ({ speed = "normal", asChild = false, className, ...props }, ref) => {
7
+ const Comp = asChild ? Slot : "div";
8
+ return /* @__PURE__ */ jsx(Comp, { ref, "data-speed": speed, className: cn("nx-mkt-float", className), ...props });
9
+ }
10
+ );
11
+ Float.displayName = "Float";
12
+ export {
13
+ Float
14
+ };
@@ -0,0 +1,46 @@
1
+ import * as React from 'react';
2
+ export interface ListTransitionProps extends React.HTMLAttributes<HTMLElement> {
3
+ /** List element. @default 'div' */
4
+ as?: React.ElementType;
5
+ /** Element wrapping each item, e.g. `'li'` inside a `'ul'`. @default 'div' */
6
+ itemAs?: React.ElementType;
7
+ /** Animate the items present on first render too. @default false */
8
+ appear?: boolean;
9
+ /** Keyed children. Items without a key are rendered but never animated. */
10
+ children?: React.ReactNode;
11
+ }
12
+ /**
13
+ * ListTransition — animates keyed items in and out of a list.
14
+ * New items grow in from zero height and fade in; removed items stay in place
15
+ * while they collapse and fade out, then unmount. Uses CSS keyframes on the
16
+ * spring tokens (`nx-list-item` in `@nexub/themes/base`); reduced motion keeps
17
+ * only the fade.
18
+ *
19
+ * Space items with padding inside each item, not `gap`, so a collapsing item
20
+ * takes its spacing with it.
21
+ *
22
+ * ```tsx
23
+ * <ListTransition as="ul" itemAs="li">
24
+ * {items.map((item) => <Row key={item.id} item={item} />)}
25
+ * </ListTransition>
26
+ * ```
27
+ */
28
+ export declare const ListTransition: React.ForwardRefExoticComponent<ListTransitionProps & React.RefAttributes<HTMLElement>>;
29
+ export interface SkeletonSwapProps extends React.HTMLAttributes<HTMLDivElement> {
30
+ /** While true the skeleton shows; flipping to false crossfades to the content. */
31
+ loading: boolean;
32
+ /** Placeholder shown while loading, usually `Skeleton`s shaped like the content. */
33
+ skeleton: React.ReactNode;
34
+ children?: React.ReactNode;
35
+ }
36
+ /**
37
+ * SkeletonSwap — crossfades from a skeleton to the loaded content in place,
38
+ * instead of popping. Sets `aria-busy` while loading.
39
+ *
40
+ * ```tsx
41
+ * <SkeletonSwap loading={isLoading} skeleton={<Skeleton shape="rect" height={120} />}>
42
+ * <Card>…</Card>
43
+ * </SkeletonSwap>
44
+ * ```
45
+ */
46
+ export declare const SkeletonSwap: React.ForwardRefExoticComponent<SkeletonSwapProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,110 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { SPRING_MS } from "./useMotion.js";
5
+ const EXIT_FALLBACK_MS = SPRING_MS.effects.default + 50;
6
+ function keyed(children) {
7
+ const out = [];
8
+ React.Children.forEach(children, (child, i) => {
9
+ const key = React.isValidElement(child) && child.key != null ? child.key : `__nx-${i}`;
10
+ out.push({ key, node: child });
11
+ });
12
+ return out;
13
+ }
14
+ function merge(prev, next) {
15
+ const before = new Map(prev.map((p) => [p.key, p]));
16
+ const nextKeys = new Set(next.map((n) => n.key));
17
+ const result = next.map((n) => {
18
+ const old = before.get(n.key);
19
+ return { ...n, state: !old || old.state === "exit" ? "enter" : old.state };
20
+ });
21
+ prev.forEach((p, i) => {
22
+ if (nextKeys.has(p.key)) return;
23
+ let at = 0;
24
+ for (let j = i - 1; j >= 0; j--) {
25
+ const idx = result.findIndex((r) => r.key === prev[j].key);
26
+ if (idx !== -1) {
27
+ at = idx + 1;
28
+ break;
29
+ }
30
+ }
31
+ result.splice(at, 0, { ...p, state: "exit" });
32
+ });
33
+ return result;
34
+ }
35
+ const ListTransition = React.forwardRef(function ListTransition2({ as: Tag = "div", itemAs: Item = "div", appear = false, children, ...rest }, ref) {
36
+ const next = keyed(children);
37
+ const [entries, setEntries] = React.useState(
38
+ () => next.map((n) => ({ ...n, state: appear ? "enter" : "idle" }))
39
+ );
40
+ const [prevChildren, setPrevChildren] = React.useState(children);
41
+ let rendered = entries;
42
+ if (children !== prevChildren) {
43
+ rendered = merge(entries, next);
44
+ setPrevChildren(children);
45
+ setEntries(rendered);
46
+ }
47
+ const remove = React.useCallback((key) => {
48
+ setEntries((list) => list.filter((e) => !(e.key === key && e.state === "exit")));
49
+ }, []);
50
+ const settle = React.useCallback((key) => {
51
+ setEntries((list) => list.map((e) => e.key === key && e.state === "enter" ? { ...e, state: "idle" } : e));
52
+ }, []);
53
+ const exiting = rendered.filter((e) => e.state === "exit").map((e) => e.key).join("|");
54
+ React.useEffect(() => {
55
+ if (!exiting) return;
56
+ const keys = rendered.filter((e) => e.state === "exit").map((e) => e.key);
57
+ const t = setTimeout(() => keys.forEach(remove), EXIT_FALLBACK_MS);
58
+ return () => clearTimeout(t);
59
+ }, [exiting, remove]);
60
+ return /* @__PURE__ */ jsx(Tag, { ref, ...rest, children: rendered.map((e) => /* @__PURE__ */ jsx(
61
+ Item,
62
+ {
63
+ className: "nx-list-item",
64
+ "data-state": e.state === "idle" ? void 0 : e.state,
65
+ "aria-hidden": e.state === "exit" ? true : void 0,
66
+ onAnimationEnd: (ev) => {
67
+ if (ev.target !== ev.currentTarget) return;
68
+ if (e.state === "exit") remove(e.key);
69
+ else if (e.state === "enter") settle(e.key);
70
+ },
71
+ children: /* @__PURE__ */ jsx("div", { className: "nx-list-item-inner", children: e.node })
72
+ },
73
+ e.key
74
+ )) });
75
+ });
76
+ ListTransition.displayName = "ListTransition";
77
+ const SkeletonSwap = React.forwardRef(function SkeletonSwap2({ loading, skeleton, children, className, ...rest }, ref) {
78
+ const [phase, setPhase] = React.useState(loading ? "loading" : "done");
79
+ const [prevLoading, setPrevLoading] = React.useState(loading);
80
+ let current = phase;
81
+ if (loading !== prevLoading) {
82
+ current = loading ? "loading" : "out";
83
+ setPrevLoading(loading);
84
+ setPhase(current);
85
+ }
86
+ React.useEffect(() => {
87
+ if (current !== "out") return;
88
+ const t = setTimeout(() => setPhase("done"), SPRING_MS.effects.default + 50);
89
+ return () => clearTimeout(t);
90
+ }, [current]);
91
+ return /* @__PURE__ */ jsxs("div", { ref, className: className ? `nx-swap ${className}` : "nx-swap", "aria-busy": loading || void 0, ...rest, children: [
92
+ current !== "loading" && /* @__PURE__ */ jsx("div", { className: current === "out" ? "nx-swap-in" : void 0, children }),
93
+ current !== "done" && /* @__PURE__ */ jsx(
94
+ "div",
95
+ {
96
+ className: current === "out" ? "nx-swap-out" : void 0,
97
+ "aria-hidden": "true",
98
+ onAnimationEnd: (e) => {
99
+ if (e.target === e.currentTarget) setPhase("done");
100
+ },
101
+ children: skeleton
102
+ }
103
+ )
104
+ ] });
105
+ });
106
+ SkeletonSwap.displayName = "SkeletonSwap";
107
+ export {
108
+ ListTransition,
109
+ SkeletonSwap
110
+ };
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export interface MarqueeProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ speed?: 'slow' | 'normal' | 'fast';
4
+ /** Classes for each copy of the row (gap, alignment). @default 'gap-12 pe-12 items-center' */
5
+ rowClassName?: string;
6
+ }
7
+ /**
8
+ * A row that scrolls sideways forever (logo strips, tool lists), in marketing
9
+ * mode (@nexub/themes/marketing). It pauses on hover and while focus is inside,
10
+ * and stands still under reduced motion. The second copy of the row is
11
+ * hidden from assistive technology and can't be focused.
12
+ */
13
+ export declare const Marquee: React.ForwardRefExoticComponent<MarqueeProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,13 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../../utils/cn.js";
4
+ const Marquee = React.forwardRef(
5
+ ({ speed = "normal", rowClassName = "gap-12 pe-12 items-center", className, children, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, "data-speed": speed, className: cn("nx-mkt-marquee", className), ...props, children: /* @__PURE__ */ jsxs("div", { className: "nx-mkt-marquee-track", children: [
6
+ /* @__PURE__ */ jsx("div", { className: cn("flex shrink-0", rowClassName), children }),
7
+ /* @__PURE__ */ jsx("div", { className: cn("flex shrink-0", rowClassName), "aria-hidden": "true", inert: true, children })
8
+ ] }) })
9
+ );
10
+ Marquee.displayName = "Marquee";
11
+ export {
12
+ Marquee
13
+ };
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ export interface RevealProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ asChild?: boolean;
4
+ }
5
+ /**
6
+ * Fades its content up as it scrolls into view, in marketing mode
7
+ * (@nexub/themes/marketing). Uses a CSS scroll-driven animation where the
8
+ * browser supports one; elsewhere an IntersectionObserver plays the same
9
+ * animation once. Content that starts on screen, and every visitor without
10
+ * JS or with reduced motion, just sees it.
11
+ */
12
+ export declare const Reveal: React.ForwardRefExoticComponent<RevealProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cn } from "../../utils/cn.js";
6
+ import { useMergedRefs } from "../../hooks/useMergedRefs.js";
7
+ const Reveal = React.forwardRef(
8
+ ({ asChild = false, className, ...props }, ref) => {
9
+ const self = React.useRef(null);
10
+ React.useEffect(() => {
11
+ const el = self.current;
12
+ if (!el || typeof IntersectionObserver === "undefined") return;
13
+ if (CSS.supports?.("animation-timeline: view()")) return;
14
+ if (window.matchMedia?.("(prefers-reduced-motion: reduce)").matches) return;
15
+ if (el.getBoundingClientRect().top < window.innerHeight) return;
16
+ el.dataset.reveal = "pending";
17
+ const io = new IntersectionObserver(([entry]) => {
18
+ if (!entry?.isIntersecting) return;
19
+ el.dataset.reveal = "done";
20
+ io.disconnect();
21
+ }, { threshold: 0.15 });
22
+ io.observe(el);
23
+ return () => io.disconnect();
24
+ }, []);
25
+ const Comp = asChild ? Slot : "div";
26
+ return /* @__PURE__ */ jsx(Comp, { ref: useMergedRefs(ref, self), className: cn("nx-mkt-reveal", className), ...props });
27
+ }
28
+ );
29
+ Reveal.displayName = "Reveal";
30
+ export {
31
+ Reveal
32
+ };
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ import type { MotionBaseProps } from './motion.types.js';
3
+ export interface ScaleProps extends MotionBaseProps, React.HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * The scale value at the start/end of the animation (when `in={false}`).
6
+ * @default 0.95
7
+ */
8
+ initialScale?: number;
9
+ /** Wrapper element tag. @default 'div' */
10
+ as?: React.ElementType;
11
+ }
12
+ /**
13
+ * Scale — animates opacity + scale(x) from `initialScale` to 1 on the spring
14
+ * tokens. Reduced motion keeps the fade and drops the scale.
15
+ *
16
+ * ```tsx
17
+ * <Scale in={isOpen} initialScale={0.9}>
18
+ * <Menu />
19
+ * </Scale>
20
+ * ```
21
+ */
22
+ export declare const Scale: React.ForwardRefExoticComponent<ScaleProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { useMotion } from "./useMotion.js";
5
+ const Scale = React.forwardRef(function Scale2({
6
+ in: visible,
7
+ duration = "fast",
8
+ easing,
9
+ unmountOnExit = false,
10
+ initialScale = 0.95,
11
+ children,
12
+ style,
13
+ as: Tag = "div",
14
+ ...rest
15
+ }, ref) {
16
+ const { phase, mounted, reduced, transitionStyle, handleTransitionEnd } = useMotion({
17
+ visible,
18
+ duration,
19
+ easing,
20
+ unmountOnExit
21
+ });
22
+ if (!mounted) return null;
23
+ const isEntered = phase === "entered";
24
+ return /* @__PURE__ */ jsx(
25
+ Tag,
26
+ {
27
+ ref,
28
+ onTransitionEnd: handleTransitionEnd,
29
+ style: {
30
+ opacity: isEntered ? 1 : 0,
31
+ transform: isEntered || reduced ? "scale(1)" : `scale(${initialScale})`,
32
+ transformOrigin: "top center",
33
+ willChange: "opacity, transform",
34
+ ...transitionStyle,
35
+ ...style
36
+ },
37
+ ...rest,
38
+ children
39
+ }
40
+ );
41
+ });
42
+ Scale.displayName = "Scale";
43
+ export {
44
+ Scale
45
+ };
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ import type { MotionBaseProps } from './motion.types.js';
3
+ export type SlideDirection = 'up' | 'down' | 'left' | 'right';
4
+ export interface SlideProps extends MotionBaseProps, React.HTMLAttributes<HTMLDivElement> {
5
+ /** Direction the element slides in from. @default 'up' */
6
+ direction?: SlideDirection;
7
+ /** Distance of the slide offset. @default '12px' */
8
+ distance?: string;
9
+ /** Wrapper element tag. @default 'div' */
10
+ as?: React.ElementType;
11
+ }
12
+ /**
13
+ * Slide — animates opacity + translate from a given direction on the spring
14
+ * tokens. Reduced motion keeps the fade and drops the travel.
15
+ *
16
+ * ```tsx
17
+ * <Slide in={isOpen} direction="up">
18
+ * <Card />
19
+ * </Slide>
20
+ * ```
21
+ */
22
+ export declare const Slide: React.ForwardRefExoticComponent<SlideProps & React.RefAttributes<HTMLDivElement>>;