@nuka-ui/core 1.0.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 (561) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +370 -0
  3. package/dist/components/Accordion/Accordion.context.d.ts +20 -0
  4. package/dist/components/Accordion/Accordion.context.d.ts.map +1 -0
  5. package/dist/components/Accordion/Accordion.d.ts +22 -0
  6. package/dist/components/Accordion/Accordion.d.ts.map +1 -0
  7. package/dist/components/Accordion/AccordionContent.d.ts +6 -0
  8. package/dist/components/Accordion/AccordionContent.d.ts.map +1 -0
  9. package/dist/components/Accordion/AccordionItem.d.ts +8 -0
  10. package/dist/components/Accordion/AccordionItem.d.ts.map +1 -0
  11. package/dist/components/Accordion/AccordionTrigger.d.ts +6 -0
  12. package/dist/components/Accordion/AccordionTrigger.d.ts.map +1 -0
  13. package/dist/components/Accordion/index.d.ts +11 -0
  14. package/dist/components/Accordion/index.d.ts.map +1 -0
  15. package/dist/components/Alert/Alert.d.ts +9 -0
  16. package/dist/components/Alert/Alert.d.ts.map +1 -0
  17. package/dist/components/Alert/Alert.variants.d.ts +8 -0
  18. package/dist/components/Alert/Alert.variants.d.ts.map +1 -0
  19. package/dist/components/Alert/index.d.ts +5 -0
  20. package/dist/components/Alert/index.d.ts.map +1 -0
  21. package/dist/components/AppShell/AppShell.d.ts +6 -0
  22. package/dist/components/AppShell/AppShell.d.ts.map +1 -0
  23. package/dist/components/AppShell/AppShellBody.d.ts +6 -0
  24. package/dist/components/AppShell/AppShellBody.d.ts.map +1 -0
  25. package/dist/components/AppShell/AppShellHeader.d.ts +7 -0
  26. package/dist/components/AppShell/AppShellHeader.d.ts.map +1 -0
  27. package/dist/components/AppShell/AppShellMain.d.ts +7 -0
  28. package/dist/components/AppShell/AppShellMain.d.ts.map +1 -0
  29. package/dist/components/AppShell/index.d.ts +9 -0
  30. package/dist/components/AppShell/index.d.ts.map +1 -0
  31. package/dist/components/AspectRatio/AspectRatio.d.ts +10 -0
  32. package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -0
  33. package/dist/components/AspectRatio/AspectRatio.utils.d.ts +3 -0
  34. package/dist/components/AspectRatio/AspectRatio.utils.d.ts.map +1 -0
  35. package/dist/components/AspectRatio/index.d.ts +3 -0
  36. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  37. package/dist/components/Avatar/Avatar.d.ts +11 -0
  38. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  39. package/dist/components/Avatar/Avatar.variants.d.ts +7 -0
  40. package/dist/components/Avatar/Avatar.variants.d.ts.map +1 -0
  41. package/dist/components/Avatar/index.d.ts +5 -0
  42. package/dist/components/Avatar/index.d.ts.map +1 -0
  43. package/dist/components/Badge/Badge.d.ts +8 -0
  44. package/dist/components/Badge/Badge.d.ts.map +1 -0
  45. package/dist/components/Badge/Badge.variants.d.ts +8 -0
  46. package/dist/components/Badge/Badge.variants.d.ts.map +1 -0
  47. package/dist/components/Badge/index.d.ts +5 -0
  48. package/dist/components/Badge/index.d.ts.map +1 -0
  49. package/dist/components/Banner/Banner.d.ts +10 -0
  50. package/dist/components/Banner/Banner.d.ts.map +1 -0
  51. package/dist/components/Banner/Banner.variants.d.ts +6 -0
  52. package/dist/components/Banner/Banner.variants.d.ts.map +1 -0
  53. package/dist/components/Banner/index.d.ts +5 -0
  54. package/dist/components/Banner/index.d.ts.map +1 -0
  55. package/dist/components/Breadcrumb/Breadcrumb.d.ts +7 -0
  56. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  57. package/dist/components/Breadcrumb/BreadcrumbEllipsis.d.ts +6 -0
  58. package/dist/components/Breadcrumb/BreadcrumbEllipsis.d.ts.map +1 -0
  59. package/dist/components/Breadcrumb/BreadcrumbItem.d.ts +6 -0
  60. package/dist/components/Breadcrumb/BreadcrumbItem.d.ts.map +1 -0
  61. package/dist/components/Breadcrumb/BreadcrumbLink.d.ts +7 -0
  62. package/dist/components/Breadcrumb/BreadcrumbLink.d.ts.map +1 -0
  63. package/dist/components/Breadcrumb/BreadcrumbList.d.ts +6 -0
  64. package/dist/components/Breadcrumb/BreadcrumbList.d.ts.map +1 -0
  65. package/dist/components/Breadcrumb/BreadcrumbPage.d.ts +6 -0
  66. package/dist/components/Breadcrumb/BreadcrumbPage.d.ts.map +1 -0
  67. package/dist/components/Breadcrumb/BreadcrumbSeparator.d.ts +6 -0
  68. package/dist/components/Breadcrumb/BreadcrumbSeparator.d.ts.map +1 -0
  69. package/dist/components/Breadcrumb/index.d.ts +15 -0
  70. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  71. package/dist/components/Button/Button.d.ts +8 -0
  72. package/dist/components/Button/Button.d.ts.map +1 -0
  73. package/dist/components/Button/Button.variants.d.ts +8 -0
  74. package/dist/components/Button/Button.variants.d.ts.map +1 -0
  75. package/dist/components/Button/index.d.ts +5 -0
  76. package/dist/components/Button/index.d.ts.map +1 -0
  77. package/dist/components/Card/Card.d.ts +28 -0
  78. package/dist/components/Card/Card.d.ts.map +1 -0
  79. package/dist/components/Card/Card.variants.d.ts +6 -0
  80. package/dist/components/Card/Card.variants.d.ts.map +1 -0
  81. package/dist/components/Card/index.d.ts +5 -0
  82. package/dist/components/Card/index.d.ts.map +1 -0
  83. package/dist/components/Checkbox/Checkbox.d.ts +8 -0
  84. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  85. package/dist/components/Checkbox/Checkbox.variants.d.ts +14 -0
  86. package/dist/components/Checkbox/Checkbox.variants.d.ts.map +1 -0
  87. package/dist/components/Checkbox/index.d.ts +5 -0
  88. package/dist/components/Checkbox/index.d.ts.map +1 -0
  89. package/dist/components/Code/Code.d.ts +7 -0
  90. package/dist/components/Code/Code.d.ts.map +1 -0
  91. package/dist/components/Code/Code.variants.d.ts +8 -0
  92. package/dist/components/Code/Code.variants.d.ts.map +1 -0
  93. package/dist/components/Code/index.d.ts +5 -0
  94. package/dist/components/Code/index.d.ts.map +1 -0
  95. package/dist/components/Collapsible/Collapsible.context.d.ts +12 -0
  96. package/dist/components/Collapsible/Collapsible.context.d.ts.map +1 -0
  97. package/dist/components/Collapsible/Collapsible.d.ts +10 -0
  98. package/dist/components/Collapsible/Collapsible.d.ts.map +1 -0
  99. package/dist/components/Collapsible/CollapsibleContent.d.ts +6 -0
  100. package/dist/components/Collapsible/CollapsibleContent.d.ts.map +1 -0
  101. package/dist/components/Collapsible/CollapsibleTrigger.d.ts +7 -0
  102. package/dist/components/Collapsible/CollapsibleTrigger.d.ts.map +1 -0
  103. package/dist/components/Collapsible/index.d.ts +9 -0
  104. package/dist/components/Collapsible/index.d.ts.map +1 -0
  105. package/dist/components/Combobox/Combobox.context.d.ts +7 -0
  106. package/dist/components/Combobox/Combobox.context.d.ts.map +1 -0
  107. package/dist/components/Combobox/Combobox.d.ts +7 -0
  108. package/dist/components/Combobox/Combobox.d.ts.map +1 -0
  109. package/dist/components/Combobox/Combobox.types.d.ts +74 -0
  110. package/dist/components/Combobox/Combobox.types.d.ts.map +1 -0
  111. package/dist/components/Combobox/Combobox.utils.d.ts +4 -0
  112. package/dist/components/Combobox/Combobox.utils.d.ts.map +1 -0
  113. package/dist/components/Combobox/Combobox.variants.d.ts +7 -0
  114. package/dist/components/Combobox/Combobox.variants.d.ts.map +1 -0
  115. package/dist/components/Combobox/ComboboxContent.d.ts +5 -0
  116. package/dist/components/Combobox/ComboboxContent.d.ts.map +1 -0
  117. package/dist/components/Combobox/ComboboxEmpty.d.ts +5 -0
  118. package/dist/components/Combobox/ComboboxEmpty.d.ts.map +1 -0
  119. package/dist/components/Combobox/ComboboxGroup.d.ts +5 -0
  120. package/dist/components/Combobox/ComboboxGroup.d.ts.map +1 -0
  121. package/dist/components/Combobox/ComboboxInput.d.ts +5 -0
  122. package/dist/components/Combobox/ComboboxInput.d.ts.map +1 -0
  123. package/dist/components/Combobox/ComboboxListbox.d.ts +5 -0
  124. package/dist/components/Combobox/ComboboxListbox.d.ts.map +1 -0
  125. package/dist/components/Combobox/ComboboxOption.d.ts +5 -0
  126. package/dist/components/Combobox/ComboboxOption.d.ts.map +1 -0
  127. package/dist/components/Combobox/ComboboxTrigger.d.ts +5 -0
  128. package/dist/components/Combobox/ComboboxTrigger.d.ts.map +1 -0
  129. package/dist/components/Combobox/index.d.ts +14 -0
  130. package/dist/components/Combobox/index.d.ts.map +1 -0
  131. package/dist/components/CommandMenu/CommandMenu.context.d.ts +17 -0
  132. package/dist/components/CommandMenu/CommandMenu.context.d.ts.map +1 -0
  133. package/dist/components/CommandMenu/CommandMenu.d.ts +35 -0
  134. package/dist/components/CommandMenu/CommandMenu.d.ts.map +1 -0
  135. package/dist/components/CommandMenu/index.d.ts +5 -0
  136. package/dist/components/CommandMenu/index.d.ts.map +1 -0
  137. package/dist/components/Container/Container.d.ts +11 -0
  138. package/dist/components/Container/Container.d.ts.map +1 -0
  139. package/dist/components/Container/index.d.ts +3 -0
  140. package/dist/components/Container/index.d.ts.map +1 -0
  141. package/dist/components/ContextMenu/ContextMenu.context.d.ts +13 -0
  142. package/dist/components/ContextMenu/ContextMenu.context.d.ts.map +1 -0
  143. package/dist/components/ContextMenu/ContextMenu.d.ts +11 -0
  144. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -0
  145. package/dist/components/ContextMenu/ContextMenuCheckboxItem.d.ts +6 -0
  146. package/dist/components/ContextMenu/ContextMenuCheckboxItem.d.ts.map +1 -0
  147. package/dist/components/ContextMenu/ContextMenuContent.d.ts +6 -0
  148. package/dist/components/ContextMenu/ContextMenuContent.d.ts.map +1 -0
  149. package/dist/components/ContextMenu/ContextMenuItem.d.ts +6 -0
  150. package/dist/components/ContextMenu/ContextMenuItem.d.ts.map +1 -0
  151. package/dist/components/ContextMenu/ContextMenuLabel.d.ts +6 -0
  152. package/dist/components/ContextMenu/ContextMenuLabel.d.ts.map +1 -0
  153. package/dist/components/ContextMenu/ContextMenuRadioGroup.d.ts +7 -0
  154. package/dist/components/ContextMenu/ContextMenuRadioGroup.d.ts.map +1 -0
  155. package/dist/components/ContextMenu/ContextMenuRadioItem.d.ts +6 -0
  156. package/dist/components/ContextMenu/ContextMenuRadioItem.d.ts.map +1 -0
  157. package/dist/components/ContextMenu/ContextMenuSeparator.d.ts +6 -0
  158. package/dist/components/ContextMenu/ContextMenuSeparator.d.ts.map +1 -0
  159. package/dist/components/ContextMenu/ContextMenuTrigger.d.ts +7 -0
  160. package/dist/components/ContextMenu/ContextMenuTrigger.d.ts.map +1 -0
  161. package/dist/components/ContextMenu/index.d.ts +21 -0
  162. package/dist/components/ContextMenu/index.d.ts.map +1 -0
  163. package/dist/components/DataTable/DataTable.d.ts +23 -0
  164. package/dist/components/DataTable/DataTable.d.ts.map +1 -0
  165. package/dist/components/DataTable/index.d.ts +3 -0
  166. package/dist/components/DataTable/index.d.ts.map +1 -0
  167. package/dist/components/DatePicker/DatePicker.context.d.ts +27 -0
  168. package/dist/components/DatePicker/DatePicker.context.d.ts.map +1 -0
  169. package/dist/components/DatePicker/DatePicker.d.ts +21 -0
  170. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
  171. package/dist/components/DatePicker/DatePicker.hooks.d.ts +19 -0
  172. package/dist/components/DatePicker/DatePicker.hooks.d.ts.map +1 -0
  173. package/dist/components/DatePicker/DatePicker.utils.d.ts +8 -0
  174. package/dist/components/DatePicker/DatePicker.utils.d.ts.map +1 -0
  175. package/dist/components/DatePicker/DatePickerCalendar.d.ts +6 -0
  176. package/dist/components/DatePicker/DatePickerCalendar.d.ts.map +1 -0
  177. package/dist/components/DatePicker/DatePickerInput.d.ts +12 -0
  178. package/dist/components/DatePicker/DatePickerInput.d.ts.map +1 -0
  179. package/dist/components/DatePicker/index.d.ts +5 -0
  180. package/dist/components/DatePicker/index.d.ts.map +1 -0
  181. package/dist/components/Dialog/Dialog.context.d.ts +12 -0
  182. package/dist/components/Dialog/Dialog.context.d.ts.map +1 -0
  183. package/dist/components/Dialog/Dialog.d.ts +13 -0
  184. package/dist/components/Dialog/Dialog.d.ts.map +1 -0
  185. package/dist/components/Dialog/index.d.ts +5 -0
  186. package/dist/components/Dialog/index.d.ts.map +1 -0
  187. package/dist/components/Divider/Divider.d.ts +13 -0
  188. package/dist/components/Divider/Divider.d.ts.map +1 -0
  189. package/dist/components/Divider/Divider.variants.d.ts +7 -0
  190. package/dist/components/Divider/Divider.variants.d.ts.map +1 -0
  191. package/dist/components/Divider/index.d.ts +5 -0
  192. package/dist/components/Divider/index.d.ts.map +1 -0
  193. package/dist/components/DropdownMenu/DropdownMenu.context.d.ts +14 -0
  194. package/dist/components/DropdownMenu/DropdownMenu.context.d.ts.map +1 -0
  195. package/dist/components/DropdownMenu/DropdownMenu.d.ts +13 -0
  196. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
  197. package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts +6 -0
  198. package/dist/components/DropdownMenu/DropdownMenuCheckboxItem.d.ts.map +1 -0
  199. package/dist/components/DropdownMenu/DropdownMenuContent.d.ts +6 -0
  200. package/dist/components/DropdownMenu/DropdownMenuContent.d.ts.map +1 -0
  201. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts +6 -0
  202. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -0
  203. package/dist/components/DropdownMenu/DropdownMenuLabel.d.ts +6 -0
  204. package/dist/components/DropdownMenu/DropdownMenuLabel.d.ts.map +1 -0
  205. package/dist/components/DropdownMenu/DropdownMenuRadioGroup.d.ts +7 -0
  206. package/dist/components/DropdownMenu/DropdownMenuRadioGroup.d.ts.map +1 -0
  207. package/dist/components/DropdownMenu/DropdownMenuRadioItem.d.ts +6 -0
  208. package/dist/components/DropdownMenu/DropdownMenuRadioItem.d.ts.map +1 -0
  209. package/dist/components/DropdownMenu/DropdownMenuSeparator.d.ts +6 -0
  210. package/dist/components/DropdownMenu/DropdownMenuSeparator.d.ts.map +1 -0
  211. package/dist/components/DropdownMenu/DropdownMenuTrigger.d.ts +7 -0
  212. package/dist/components/DropdownMenu/DropdownMenuTrigger.d.ts.map +1 -0
  213. package/dist/components/DropdownMenu/index.d.ts +21 -0
  214. package/dist/components/DropdownMenu/index.d.ts.map +1 -0
  215. package/dist/components/EmptyState/EmptyState.d.ts +11 -0
  216. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -0
  217. package/dist/components/EmptyState/index.d.ts +3 -0
  218. package/dist/components/EmptyState/index.d.ts.map +1 -0
  219. package/dist/components/FormField/FormField.context.d.ts +13 -0
  220. package/dist/components/FormField/FormField.context.d.ts.map +1 -0
  221. package/dist/components/FormField/FormField.d.ts +11 -0
  222. package/dist/components/FormField/FormField.d.ts.map +1 -0
  223. package/dist/components/FormField/index.d.ts +5 -0
  224. package/dist/components/FormField/index.d.ts.map +1 -0
  225. package/dist/components/Grid/Grid.d.ts +12 -0
  226. package/dist/components/Grid/Grid.d.ts.map +1 -0
  227. package/dist/components/Grid/index.d.ts +3 -0
  228. package/dist/components/Grid/index.d.ts.map +1 -0
  229. package/dist/components/Heading/Heading.d.ts +9 -0
  230. package/dist/components/Heading/Heading.d.ts.map +1 -0
  231. package/dist/components/Heading/Heading.variants.d.ts +9 -0
  232. package/dist/components/Heading/Heading.variants.d.ts.map +1 -0
  233. package/dist/components/Heading/index.d.ts +5 -0
  234. package/dist/components/Heading/index.d.ts.map +1 -0
  235. package/dist/components/Icon/Icon.d.ts +9 -0
  236. package/dist/components/Icon/Icon.d.ts.map +1 -0
  237. package/dist/components/Icon/Icon.variants.d.ts +9 -0
  238. package/dist/components/Icon/Icon.variants.d.ts.map +1 -0
  239. package/dist/components/Icon/index.d.ts +5 -0
  240. package/dist/components/Icon/index.d.ts.map +1 -0
  241. package/dist/components/Input/Input.d.ts +7 -0
  242. package/dist/components/Input/Input.d.ts.map +1 -0
  243. package/dist/components/Input/Input.variants.d.ts +7 -0
  244. package/dist/components/Input/Input.variants.d.ts.map +1 -0
  245. package/dist/components/Input/index.d.ts +5 -0
  246. package/dist/components/Input/index.d.ts.map +1 -0
  247. package/dist/components/Kbd/Kbd.d.ts +7 -0
  248. package/dist/components/Kbd/Kbd.d.ts.map +1 -0
  249. package/dist/components/Kbd/Kbd.variants.d.ts +6 -0
  250. package/dist/components/Kbd/Kbd.variants.d.ts.map +1 -0
  251. package/dist/components/Kbd/index.d.ts +5 -0
  252. package/dist/components/Kbd/index.d.ts.map +1 -0
  253. package/dist/components/Label/Label.d.ts +7 -0
  254. package/dist/components/Label/Label.d.ts.map +1 -0
  255. package/dist/components/Label/index.d.ts +3 -0
  256. package/dist/components/Label/index.d.ts.map +1 -0
  257. package/dist/components/Menu/MenuCheckboxItemBase.d.ts +10 -0
  258. package/dist/components/Menu/MenuCheckboxItemBase.d.ts.map +1 -0
  259. package/dist/components/Menu/MenuContentBase.d.ts +29 -0
  260. package/dist/components/Menu/MenuContentBase.d.ts.map +1 -0
  261. package/dist/components/Menu/MenuItemBase.d.ts +10 -0
  262. package/dist/components/Menu/MenuItemBase.d.ts.map +1 -0
  263. package/dist/components/Menu/MenuLabelBase.d.ts +4 -0
  264. package/dist/components/Menu/MenuLabelBase.d.ts.map +1 -0
  265. package/dist/components/Menu/MenuRadioGroupBase.d.ts +18 -0
  266. package/dist/components/Menu/MenuRadioGroupBase.d.ts.map +1 -0
  267. package/dist/components/Menu/MenuRadioItemBase.d.ts +9 -0
  268. package/dist/components/Menu/MenuRadioItemBase.d.ts.map +1 -0
  269. package/dist/components/Menu/MenuSeparatorBase.d.ts +4 -0
  270. package/dist/components/Menu/MenuSeparatorBase.d.ts.map +1 -0
  271. package/dist/components/Menu/index.d.ts +15 -0
  272. package/dist/components/Menu/index.d.ts.map +1 -0
  273. package/dist/components/Menu/menuItemVariants.d.ts +13 -0
  274. package/dist/components/Menu/menuItemVariants.d.ts.map +1 -0
  275. package/dist/components/Menubar/Menubar.context.d.ts +26 -0
  276. package/dist/components/Menubar/Menubar.context.d.ts.map +1 -0
  277. package/dist/components/Menubar/Menubar.d.ts +6 -0
  278. package/dist/components/Menubar/Menubar.d.ts.map +1 -0
  279. package/dist/components/Menubar/MenubarCheckboxItem.d.ts +6 -0
  280. package/dist/components/Menubar/MenubarCheckboxItem.d.ts.map +1 -0
  281. package/dist/components/Menubar/MenubarContent.d.ts +6 -0
  282. package/dist/components/Menubar/MenubarContent.d.ts.map +1 -0
  283. package/dist/components/Menubar/MenubarItem.d.ts +6 -0
  284. package/dist/components/Menubar/MenubarItem.d.ts.map +1 -0
  285. package/dist/components/Menubar/MenubarMenu.d.ts +11 -0
  286. package/dist/components/Menubar/MenubarMenu.d.ts.map +1 -0
  287. package/dist/components/Menubar/MenubarRadioGroup.d.ts +7 -0
  288. package/dist/components/Menubar/MenubarRadioGroup.d.ts.map +1 -0
  289. package/dist/components/Menubar/MenubarRadioItem.d.ts +6 -0
  290. package/dist/components/Menubar/MenubarRadioItem.d.ts.map +1 -0
  291. package/dist/components/Menubar/MenubarSeparator.d.ts +6 -0
  292. package/dist/components/Menubar/MenubarSeparator.d.ts.map +1 -0
  293. package/dist/components/Menubar/MenubarTrigger.d.ts +6 -0
  294. package/dist/components/Menubar/MenubarTrigger.d.ts.map +1 -0
  295. package/dist/components/Menubar/index.d.ts +21 -0
  296. package/dist/components/Menubar/index.d.ts.map +1 -0
  297. package/dist/components/NavigationMenu/NavigationMenu.context.d.ts +31 -0
  298. package/dist/components/NavigationMenu/NavigationMenu.context.d.ts.map +1 -0
  299. package/dist/components/NavigationMenu/NavigationMenu.d.ts +27 -0
  300. package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
  301. package/dist/components/NavigationMenu/index.d.ts +5 -0
  302. package/dist/components/NavigationMenu/index.d.ts.map +1 -0
  303. package/dist/components/Pagination/Pagination.d.ts +7 -0
  304. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  305. package/dist/components/Pagination/PaginationContent.d.ts +6 -0
  306. package/dist/components/Pagination/PaginationContent.d.ts.map +1 -0
  307. package/dist/components/Pagination/PaginationEllipsis.d.ts +6 -0
  308. package/dist/components/Pagination/PaginationEllipsis.d.ts.map +1 -0
  309. package/dist/components/Pagination/PaginationItem.d.ts +6 -0
  310. package/dist/components/Pagination/PaginationItem.d.ts.map +1 -0
  311. package/dist/components/Pagination/PaginationLink.d.ts +8 -0
  312. package/dist/components/Pagination/PaginationLink.d.ts.map +1 -0
  313. package/dist/components/Pagination/PaginationNext.d.ts +8 -0
  314. package/dist/components/Pagination/PaginationNext.d.ts.map +1 -0
  315. package/dist/components/Pagination/PaginationPrevious.d.ts +8 -0
  316. package/dist/components/Pagination/PaginationPrevious.d.ts.map +1 -0
  317. package/dist/components/Pagination/index.d.ts +15 -0
  318. package/dist/components/Pagination/index.d.ts.map +1 -0
  319. package/dist/components/Popover/Popover.context.d.ts +14 -0
  320. package/dist/components/Popover/Popover.context.d.ts.map +1 -0
  321. package/dist/components/Popover/Popover.d.ts +15 -0
  322. package/dist/components/Popover/Popover.d.ts.map +1 -0
  323. package/dist/components/Popover/PopoverContent.d.ts +8 -0
  324. package/dist/components/Popover/PopoverContent.d.ts.map +1 -0
  325. package/dist/components/Popover/PopoverTrigger.d.ts +7 -0
  326. package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -0
  327. package/dist/components/Popover/index.d.ts +9 -0
  328. package/dist/components/Popover/index.d.ts.map +1 -0
  329. package/dist/components/Progress/Progress.d.ts +9 -0
  330. package/dist/components/Progress/Progress.d.ts.map +1 -0
  331. package/dist/components/Progress/Progress.variants.d.ts +11 -0
  332. package/dist/components/Progress/Progress.variants.d.ts.map +1 -0
  333. package/dist/components/Progress/index.d.ts +5 -0
  334. package/dist/components/Progress/index.d.ts.map +1 -0
  335. package/dist/components/RadioGroup/Radio.d.ts +9 -0
  336. package/dist/components/RadioGroup/Radio.d.ts.map +1 -0
  337. package/dist/components/RadioGroup/Radio.variants.d.ts +11 -0
  338. package/dist/components/RadioGroup/Radio.variants.d.ts.map +1 -0
  339. package/dist/components/RadioGroup/RadioGroup.context.d.ts +13 -0
  340. package/dist/components/RadioGroup/RadioGroup.context.d.ts.map +1 -0
  341. package/dist/components/RadioGroup/RadioGroup.d.ts +13 -0
  342. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
  343. package/dist/components/RadioGroup/index.d.ts +9 -0
  344. package/dist/components/RadioGroup/index.d.ts.map +1 -0
  345. package/dist/components/Select/Select.context.d.ts +22 -0
  346. package/dist/components/Select/Select.context.d.ts.map +1 -0
  347. package/dist/components/Select/Select.d.ts +15 -0
  348. package/dist/components/Select/Select.d.ts.map +1 -0
  349. package/dist/components/Select/SelectContent.d.ts +8 -0
  350. package/dist/components/Select/SelectContent.d.ts.map +1 -0
  351. package/dist/components/Select/SelectItem.d.ts +10 -0
  352. package/dist/components/Select/SelectItem.d.ts.map +1 -0
  353. package/dist/components/Select/SelectSeparator.d.ts +6 -0
  354. package/dist/components/Select/SelectSeparator.d.ts.map +1 -0
  355. package/dist/components/Select/SelectTrigger.d.ts +8 -0
  356. package/dist/components/Select/SelectTrigger.d.ts.map +1 -0
  357. package/dist/components/Select/SelectTrigger.variants.d.ts +7 -0
  358. package/dist/components/Select/SelectTrigger.variants.d.ts.map +1 -0
  359. package/dist/components/Select/index.d.ts +15 -0
  360. package/dist/components/Select/index.d.ts.map +1 -0
  361. package/dist/components/Sheet/Sheet.context.d.ts +12 -0
  362. package/dist/components/Sheet/Sheet.context.d.ts.map +1 -0
  363. package/dist/components/Sheet/Sheet.d.ts +15 -0
  364. package/dist/components/Sheet/Sheet.d.ts.map +1 -0
  365. package/dist/components/Sheet/index.d.ts +5 -0
  366. package/dist/components/Sheet/index.d.ts.map +1 -0
  367. package/dist/components/Sidebar/Sidebar.context.d.ts +11 -0
  368. package/dist/components/Sidebar/Sidebar.context.d.ts.map +1 -0
  369. package/dist/components/Sidebar/Sidebar.d.ts +6 -0
  370. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
  371. package/dist/components/Sidebar/SidebarContent.d.ts +6 -0
  372. package/dist/components/Sidebar/SidebarContent.d.ts.map +1 -0
  373. package/dist/components/Sidebar/SidebarFooter.d.ts +6 -0
  374. package/dist/components/Sidebar/SidebarFooter.d.ts.map +1 -0
  375. package/dist/components/Sidebar/SidebarGroup.d.ts +6 -0
  376. package/dist/components/Sidebar/SidebarGroup.d.ts.map +1 -0
  377. package/dist/components/Sidebar/SidebarGroupLabel.d.ts +6 -0
  378. package/dist/components/Sidebar/SidebarGroupLabel.d.ts.map +1 -0
  379. package/dist/components/Sidebar/SidebarHeader.d.ts +6 -0
  380. package/dist/components/Sidebar/SidebarHeader.d.ts.map +1 -0
  381. package/dist/components/Sidebar/SidebarInset.d.ts +6 -0
  382. package/dist/components/Sidebar/SidebarInset.d.ts.map +1 -0
  383. package/dist/components/Sidebar/SidebarMenu.d.ts +6 -0
  384. package/dist/components/Sidebar/SidebarMenu.d.ts.map +1 -0
  385. package/dist/components/Sidebar/SidebarMenuButton.d.ts +8 -0
  386. package/dist/components/Sidebar/SidebarMenuButton.d.ts.map +1 -0
  387. package/dist/components/Sidebar/SidebarMenuItem.d.ts +6 -0
  388. package/dist/components/Sidebar/SidebarMenuItem.d.ts.map +1 -0
  389. package/dist/components/Sidebar/SidebarProvider.d.ts +10 -0
  390. package/dist/components/Sidebar/SidebarProvider.d.ts.map +1 -0
  391. package/dist/components/Sidebar/SidebarTrigger.d.ts +6 -0
  392. package/dist/components/Sidebar/SidebarTrigger.d.ts.map +1 -0
  393. package/dist/components/Sidebar/index.d.ts +27 -0
  394. package/dist/components/Sidebar/index.d.ts.map +1 -0
  395. package/dist/components/Skeleton/Skeleton.d.ts +8 -0
  396. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
  397. package/dist/components/Skeleton/Skeleton.variants.d.ts +4 -0
  398. package/dist/components/Skeleton/Skeleton.variants.d.ts.map +1 -0
  399. package/dist/components/Skeleton/index.d.ts +4 -0
  400. package/dist/components/Skeleton/index.d.ts.map +1 -0
  401. package/dist/components/Slider/Slider.d.ts +20 -0
  402. package/dist/components/Slider/Slider.d.ts.map +1 -0
  403. package/dist/components/Slider/Slider.variants.d.ts +19 -0
  404. package/dist/components/Slider/Slider.variants.d.ts.map +1 -0
  405. package/dist/components/Slider/index.d.ts +5 -0
  406. package/dist/components/Slider/index.d.ts.map +1 -0
  407. package/dist/components/Spinner/Spinner.d.ts +8 -0
  408. package/dist/components/Spinner/Spinner.d.ts.map +1 -0
  409. package/dist/components/Spinner/Spinner.variants.d.ts +9 -0
  410. package/dist/components/Spinner/Spinner.variants.d.ts.map +1 -0
  411. package/dist/components/Spinner/index.d.ts +5 -0
  412. package/dist/components/Spinner/index.d.ts.map +1 -0
  413. package/dist/components/Stack/Stack.d.ts +13 -0
  414. package/dist/components/Stack/Stack.d.ts.map +1 -0
  415. package/dist/components/Stack/index.d.ts +3 -0
  416. package/dist/components/Stack/index.d.ts.map +1 -0
  417. package/dist/components/Stepper/Stepper.context.d.ts +18 -0
  418. package/dist/components/Stepper/Stepper.context.d.ts.map +1 -0
  419. package/dist/components/Stepper/Stepper.d.ts +10 -0
  420. package/dist/components/Stepper/Stepper.d.ts.map +1 -0
  421. package/dist/components/Stepper/StepperContent.d.ts +6 -0
  422. package/dist/components/Stepper/StepperContent.d.ts.map +1 -0
  423. package/dist/components/Stepper/StepperDescription.d.ts +6 -0
  424. package/dist/components/Stepper/StepperDescription.d.ts.map +1 -0
  425. package/dist/components/Stepper/StepperIndicator.d.ts +6 -0
  426. package/dist/components/Stepper/StepperIndicator.d.ts.map +1 -0
  427. package/dist/components/Stepper/StepperItem.d.ts +10 -0
  428. package/dist/components/Stepper/StepperItem.d.ts.map +1 -0
  429. package/dist/components/Stepper/StepperTitle.d.ts +6 -0
  430. package/dist/components/Stepper/StepperTitle.d.ts.map +1 -0
  431. package/dist/components/Stepper/index.d.ts +15 -0
  432. package/dist/components/Stepper/index.d.ts.map +1 -0
  433. package/dist/components/Switch/Switch.d.ts +11 -0
  434. package/dist/components/Switch/Switch.d.ts.map +1 -0
  435. package/dist/components/Switch/Switch.variants.d.ts +9 -0
  436. package/dist/components/Switch/Switch.variants.d.ts.map +1 -0
  437. package/dist/components/Switch/index.d.ts +5 -0
  438. package/dist/components/Switch/index.d.ts.map +1 -0
  439. package/dist/components/Table/Table.context.d.ts +7 -0
  440. package/dist/components/Table/Table.context.d.ts.map +1 -0
  441. package/dist/components/Table/Table.d.ts +8 -0
  442. package/dist/components/Table/Table.d.ts.map +1 -0
  443. package/dist/components/Table/Table.variants.d.ts +6 -0
  444. package/dist/components/Table/Table.variants.d.ts.map +1 -0
  445. package/dist/components/Table/TableBody.d.ts +6 -0
  446. package/dist/components/Table/TableBody.d.ts.map +1 -0
  447. package/dist/components/Table/TableCell.d.ts +6 -0
  448. package/dist/components/Table/TableCell.d.ts.map +1 -0
  449. package/dist/components/Table/TableFooter.d.ts +6 -0
  450. package/dist/components/Table/TableFooter.d.ts.map +1 -0
  451. package/dist/components/Table/TableHead.d.ts +10 -0
  452. package/dist/components/Table/TableHead.d.ts.map +1 -0
  453. package/dist/components/Table/TableHeader.d.ts +6 -0
  454. package/dist/components/Table/TableHeader.d.ts.map +1 -0
  455. package/dist/components/Table/TableRow.d.ts +9 -0
  456. package/dist/components/Table/TableRow.d.ts.map +1 -0
  457. package/dist/components/Table/index.d.ts +19 -0
  458. package/dist/components/Table/index.d.ts.map +1 -0
  459. package/dist/components/Tabs/Tabs.context.d.ts +13 -0
  460. package/dist/components/Tabs/Tabs.context.d.ts.map +1 -0
  461. package/dist/components/Tabs/Tabs.d.ts +11 -0
  462. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  463. package/dist/components/Tabs/Tabs.variants.d.ts +6 -0
  464. package/dist/components/Tabs/Tabs.variants.d.ts.map +1 -0
  465. package/dist/components/Tabs/TabsContent.d.ts +7 -0
  466. package/dist/components/Tabs/TabsContent.d.ts.map +1 -0
  467. package/dist/components/Tabs/TabsList.d.ts +7 -0
  468. package/dist/components/Tabs/TabsList.d.ts.map +1 -0
  469. package/dist/components/Tabs/TabsTrigger.d.ts +7 -0
  470. package/dist/components/Tabs/TabsTrigger.d.ts.map +1 -0
  471. package/dist/components/Tabs/index.d.ts +13 -0
  472. package/dist/components/Tabs/index.d.ts.map +1 -0
  473. package/dist/components/Tag/Tag.d.ts +9 -0
  474. package/dist/components/Tag/Tag.d.ts.map +1 -0
  475. package/dist/components/Tag/Tag.variants.d.ts +8 -0
  476. package/dist/components/Tag/Tag.variants.d.ts.map +1 -0
  477. package/dist/components/Tag/index.d.ts +5 -0
  478. package/dist/components/Tag/index.d.ts.map +1 -0
  479. package/dist/components/Text/Text.d.ts +9 -0
  480. package/dist/components/Text/Text.d.ts.map +1 -0
  481. package/dist/components/Text/Text.variants.d.ts +10 -0
  482. package/dist/components/Text/Text.variants.d.ts.map +1 -0
  483. package/dist/components/Text/index.d.ts +5 -0
  484. package/dist/components/Text/index.d.ts.map +1 -0
  485. package/dist/components/Textarea/Textarea.d.ts +7 -0
  486. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  487. package/dist/components/Textarea/Textarea.variants.d.ts +7 -0
  488. package/dist/components/Textarea/Textarea.variants.d.ts.map +1 -0
  489. package/dist/components/Textarea/index.d.ts +5 -0
  490. package/dist/components/Textarea/index.d.ts.map +1 -0
  491. package/dist/components/Timeline/Timeline.d.ts +6 -0
  492. package/dist/components/Timeline/Timeline.d.ts.map +1 -0
  493. package/dist/components/Timeline/Timeline.variants.d.ts +6 -0
  494. package/dist/components/Timeline/Timeline.variants.d.ts.map +1 -0
  495. package/dist/components/Timeline/TimelineItem.d.ts +11 -0
  496. package/dist/components/Timeline/TimelineItem.d.ts.map +1 -0
  497. package/dist/components/Timeline/index.d.ts +7 -0
  498. package/dist/components/Timeline/index.d.ts.map +1 -0
  499. package/dist/components/Toast/Toast.d.ts +10 -0
  500. package/dist/components/Toast/Toast.d.ts.map +1 -0
  501. package/dist/components/Toast/Toast.variants.d.ts +4 -0
  502. package/dist/components/Toast/Toast.variants.d.ts.map +1 -0
  503. package/dist/components/Toast/Toaster.d.ts +9 -0
  504. package/dist/components/Toast/Toaster.d.ts.map +1 -0
  505. package/dist/components/Toast/index.d.ts +8 -0
  506. package/dist/components/Toast/index.d.ts.map +1 -0
  507. package/dist/components/Toast/toastStore.d.ts +36 -0
  508. package/dist/components/Toast/toastStore.d.ts.map +1 -0
  509. package/dist/components/Tooltip/Tooltip.context.d.ts +13 -0
  510. package/dist/components/Tooltip/Tooltip.context.d.ts.map +1 -0
  511. package/dist/components/Tooltip/Tooltip.d.ts +15 -0
  512. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
  513. package/dist/components/Tooltip/TooltipContent.d.ts +6 -0
  514. package/dist/components/Tooltip/TooltipContent.d.ts.map +1 -0
  515. package/dist/components/Tooltip/TooltipTrigger.d.ts +7 -0
  516. package/dist/components/Tooltip/TooltipTrigger.d.ts.map +1 -0
  517. package/dist/components/Tooltip/index.d.ts +9 -0
  518. package/dist/components/Tooltip/index.d.ts.map +1 -0
  519. package/dist/hooks/index.d.ts +9 -0
  520. package/dist/hooks/index.d.ts.map +1 -0
  521. package/dist/hooks/use-controllable-state.d.ts +4 -0
  522. package/dist/hooks/use-controllable-state.d.ts.map +1 -0
  523. package/dist/hooks/use-escape-key.d.ts +3 -0
  524. package/dist/hooks/use-escape-key.d.ts.map +1 -0
  525. package/dist/hooks/use-focus-first-interactive.d.ts +4 -0
  526. package/dist/hooks/use-focus-first-interactive.d.ts.map +1 -0
  527. package/dist/hooks/use-focus-trap.d.ts +3 -0
  528. package/dist/hooks/use-focus-trap.d.ts.map +1 -0
  529. package/dist/hooks/use-form-field-props.d.ts +20 -0
  530. package/dist/hooks/use-form-field-props.d.ts.map +1 -0
  531. package/dist/hooks/use-media-query.d.ts +3 -0
  532. package/dist/hooks/use-media-query.d.ts.map +1 -0
  533. package/dist/hooks/use-menu-navigation.d.ts +19 -0
  534. package/dist/hooks/use-menu-navigation.d.ts.map +1 -0
  535. package/dist/hooks/use-scroll-lock.d.ts +4 -0
  536. package/dist/hooks/use-scroll-lock.d.ts.map +1 -0
  537. package/dist/index.cjs +2 -0
  538. package/dist/index.cjs.map +1 -0
  539. package/dist/index.d.ts +147 -0
  540. package/dist/index.d.ts.map +1 -0
  541. package/dist/index.js +10328 -0
  542. package/dist/index.js.map +1 -0
  543. package/dist/styles-root.css +344 -0
  544. package/dist/styles.css +455 -0
  545. package/dist/utils/cn.d.ts +3 -0
  546. package/dist/utils/cn.d.ts.map +1 -0
  547. package/dist/utils/dismiss-button.d.ts +9 -0
  548. package/dist/utils/dismiss-button.d.ts.map +1 -0
  549. package/dist/utils/field-base.d.ts +3 -0
  550. package/dist/utils/field-base.d.ts.map +1 -0
  551. package/dist/utils/modal-primitive.d.ts +44 -0
  552. package/dist/utils/modal-primitive.d.ts.map +1 -0
  553. package/dist/utils/portal.d.ts +11 -0
  554. package/dist/utils/portal.d.ts.map +1 -0
  555. package/dist/utils/responsive.d.ts +24 -0
  556. package/dist/utils/responsive.d.ts.map +1 -0
  557. package/dist/utils/slot.d.ts +9 -0
  558. package/dist/utils/slot.d.ts.map +1 -0
  559. package/dist/utils/variants.d.ts +57 -0
  560. package/dist/utils/variants.d.ts.map +1 -0
  561. package/package.json +101 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sinisa Kusic
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,370 @@
1
+ # nuka-ui
2
+
3
+ A production-grade React component library built on Tailwind v4. Composable, accessible, and designed from the ground up with the kind of API and architectural rigor that scales to more components, more developers, more products, and more edge cases.
4
+
5
+ [![npm](https://img.shields.io/npm/v/@nuka-ui/core)](https://www.npmjs.com/package/@nuka-ui/core)
6
+ [![license](https://img.shields.io/npm/l/nuka-ui)](./LICENSE)
7
+ [![storybook](https://img.shields.io/badge/storybook-live-ff4785)](https://ku5ic.github.io/nuka-ui)
8
+ [![stackblitz](https://img.shields.io/badge/stackblitz-try_it-1389fd)](https://stackblitz.com/github/ku5ic/nuka-ui)
9
+ [![typescript](https://img.shields.io/badge/TypeScript-strict-3178c6)](./tsconfig.json)
10
+ [![wcag](https://img.shields.io/badge/WCAG_2.2-AA-00857C)](./docs/DECISIONS.md)
11
+
12
+ ---
13
+
14
+ ## Why nuka-ui
15
+
16
+ Most component libraries make one of two mistakes: they either expose too much (every Tailwind class, every CSS variable, infinite flexibility with no guardrails) or too little (hardcoded styles, no theming, take it or leave it).
17
+
18
+ nuka-ui takes a different position. It is opinionated about the things that should be consistent (accessibility, token structure, API shape) and flexible about the things that should be customizable (color, spacing, radius, theming). Every decision has been made deliberately and documented. Nothing is accidental.
19
+
20
+ **What this project demonstrates:**
21
+
22
+ - Component API design that separates concerns correctly from the start, not after a painful refactor
23
+ - A two-layer CSS token architecture that makes theming predictable and safe
24
+ - WCAG 2.2 AA compliance treated as a constraint, not an afterthought
25
+ - TypeScript strict mode with `exactOptionalPropertyTypes` and `noUncheckedIndexedAccess`, the flags most projects turn off
26
+ - A testing discipline that covers behavior, not implementation, with full coverage of the variant system
27
+ - Storybook stories that document real-world usage patterns alongside isolated component states
28
+
29
+ ---
30
+
31
+ ## Stack
32
+
33
+ | Concern | Tool |
34
+ | ------------- | ------------------------ |
35
+ | Framework | React 19 |
36
+ | Language | TypeScript 6 (strict) |
37
+ | Styling | Tailwind v4 |
38
+ | Positioning | Floating UI |
39
+ | Variants | class-variance-authority |
40
+ | Testing | Vitest + Testing Library |
41
+ | Documentation | Storybook 10 |
42
+ | Build | Vite 8 |
43
+
44
+ ---
45
+
46
+ ## Installation
47
+
48
+ ```bash
49
+ npm install @nuka-ui/core
50
+ ```
51
+
52
+ Import the stylesheet once at your application entry point:
53
+
54
+ ```tsx
55
+ import "@nuka-ui/core/styles";
56
+ ```
57
+
58
+ If your project does not need dark mode or runtime theme switching, import the
59
+ light-theme-only stylesheet instead. It scopes all tokens to `:root` and omits the
60
+ `[data-theme]` selectors entirely:
61
+
62
+ ```tsx
63
+ import "@nuka-ui/core/styles/root";
64
+ ```
65
+
66
+ Add `data-theme` to your root element:
67
+
68
+ ```html
69
+ <html data-theme="light"></html>
70
+ ```
71
+
72
+ > **No ThemeProvider required.** nuka-ui does not ship a ThemeProvider component or
73
+ > useTheme hook. This is intentional. Theming is a single DOM attribute (`data-theme`),
74
+ > not a React context. If you are coming from Radix, MUI, or similar libraries, this is
75
+ > a deliberate simplification, not a missing feature.
76
+
77
+ Toggle the theme by mutating the attribute directly:
78
+
79
+ ```ts
80
+ document.documentElement.dataset.theme = "dark";
81
+ ```
82
+
83
+ ---
84
+
85
+ ## Usage
86
+
87
+ ### Basic
88
+
89
+ ```tsx
90
+ import { Button } from "@nuka-ui/core";
91
+
92
+ export function SaveButton() {
93
+ return <Button variant="primary">Save changes</Button>;
94
+ }
95
+ ```
96
+
97
+ ### Variant and intent
98
+
99
+ Every component exposes two independent style axes:
100
+
101
+ - `variant` controls **visual weight**: how much attention the component demands
102
+ - `intent` controls **semantic meaning**: what the action communicates
103
+
104
+ ```tsx
105
+ // Visual weight only
106
+ <Button variant="primary">Save</Button>
107
+ <Button variant="secondary">Cancel</Button>
108
+ <Button variant="ghost">Skip</Button>
109
+
110
+ // Semantic meaning only
111
+ <Button intent="danger">Delete account</Button>
112
+ <Button intent="success">Confirm order</Button>
113
+ <Button intent="warning">Proceed anyway</Button>
114
+
115
+ // Combined
116
+ <Button variant="ghost" intent="danger">Remove item</Button>
117
+ <Button variant="outline" intent="success">Mark as complete</Button>
118
+ ```
119
+
120
+ This composability means you never need `variant="ghost-danger"` or `variant="outline-success"`. The matrix is clean, predictable, and fully typed.
121
+
122
+ ### Sizes
123
+
124
+ ```tsx
125
+ <Button size="sm">Compact</Button>
126
+ <Button size="md">Default</Button>
127
+ <Button size="lg">Prominent</Button>
128
+ ```
129
+
130
+ ### Polymorphism via `asChild`
131
+
132
+ Render as any element or component while preserving all styles and behavior. Built on a first-party `Slot` utility.
133
+
134
+ ```tsx
135
+ import { Link } from "react-router-dom";
136
+ import { Button } from "@nuka-ui/core";
137
+
138
+ // Renders as <a> with full Button styles
139
+ <Button asChild variant="primary">
140
+ <Link to="/dashboard">Go to dashboard</Link>
141
+ </Button>;
142
+ ```
143
+
144
+ ### Ref forwarding
145
+
146
+ All components forward refs to their underlying DOM element.
147
+
148
+ ```tsx
149
+ const ref = useRef<HTMLButtonElement>(null)
150
+
151
+ <Button ref={ref} onClick={() => ref.current?.focus()}>
152
+ Focus me
153
+ </Button>
154
+ ```
155
+
156
+ ---
157
+
158
+ ## Theming
159
+
160
+ nuka-ui uses a two-layer CSS custom property system.
161
+
162
+ **Primitive tokens** define the raw scale: color steps, spacing, radius, typography. They have no semantic meaning and no `--nuka-` prefix.
163
+
164
+ **Semantic tokens** define purpose. They reference primitives and carry the `--nuka-` prefix. These are the tokens components actually use.
165
+
166
+ ```
167
+ --color-accent-500 <- primitive (raw oklch value)
168
+ --nuka-accent-bg <- semantic (references the primitive)
169
+ bg-(--nuka-accent-bg) <- component (references the semantic token)
170
+ ```
171
+
172
+ This indirection means you can retheme the entire library by overriding semantic tokens, without touching a single component file.
173
+
174
+ ### Customizing the theme
175
+
176
+ ```css
177
+ /* Override semantic tokens on your theme root */
178
+ [data-theme="light"] {
179
+ --nuka-accent-bg: oklch(44% 0.043 257);
180
+ --nuka-accent-bg-hover: oklch(37.2% 0.044 257);
181
+ --nuka-accent-bg-active: oklch(27.9% 0.041 257);
182
+ --nuka-accent-text: oklch(44% 0.043 257);
183
+ }
184
+
185
+ [data-theme="dark"] {
186
+ --nuka-accent-bg: oklch(44% 0.043 257);
187
+ --nuka-accent-bg-hover: oklch(70.4% 0.04 257);
188
+ --nuka-accent-text: oklch(86.9% 0.022 257);
189
+ }
190
+ ```
191
+
192
+ ### Nested themes
193
+
194
+ Because theming is attribute-based, multiple themes can coexist on the same page:
195
+
196
+ ```html
197
+ <div data-theme="light">
198
+ <button>Light button</button>
199
+
200
+ <div data-theme="dark">
201
+ <button>Dark button</button>
202
+ </div>
203
+ </div>
204
+ ```
205
+
206
+ ### Full token reference
207
+
208
+ See [`src/styles/tokens.css`](./src/styles/tokens.css) for all primitive and semantic tokens with inline documentation.
209
+
210
+ ---
211
+
212
+ ## Accessibility
213
+
214
+ WCAG 2.2 AA compliance is a hard constraint, not a goal. It is verified at the token level (contrast ratios calculated and documented), the component level (correct semantic HTML, keyboard navigation, focus management), and the Storybook level (accessibility panel must show zero violations on every story).
215
+
216
+ **What this means in practice:**
217
+
218
+ - All text color tokens are verified at 4.5:1 minimum contrast ratio against their intended backgrounds
219
+ - The primary accent color achieves 7.74:1 on white (AAA)
220
+ - Focus indicators meet WCAG 2.2's updated 2.4.11 requirements
221
+ - Interactive target sizes meet 2.5.8 (24x24px minimum)
222
+ - `asChild` correctly delegates accessible names to child elements
223
+ - Disabled states use the native `disabled` attribute, not just visual opacity
224
+ - Intent-specific foreground tokens (`--nuka-danger-fg`, `--nuka-success-fg`, `--nuka-warning-fg`) ensure filled surfaces pass contrast in both light and dark themes
225
+
226
+ ---
227
+
228
+ ## Components
229
+
230
+ ### Actions
231
+
232
+ | Component | Description |
233
+ | --------- | --------------------------------------------------------------- |
234
+ | `Button` | Actions and form submissions. 5 variants x 4 intents x 3 sizes. |
235
+
236
+ ### Typography
237
+
238
+ | Component | Description |
239
+ | --------- | --------------------------------------------------- |
240
+ | `Heading` | `h1`-`h6` via `as` prop. Semantic size scale. |
241
+ | `Text` | Typography component. Size, weight, color variants. |
242
+ | `Code` | Inline code. Monospace, subtle background. |
243
+ | `Kbd` | Keyboard shortcut display. |
244
+
245
+ ### Forms
246
+
247
+ | Component | Description |
248
+ | ------------ | -------------------------------------------------------------- |
249
+ | `Input` | Text input. Intent for validation state. Size variants. |
250
+ | `Textarea` | Multi-line input. Same API as Input. |
251
+ | `Select` | Custom select with keyboard navigation. Styled to match Input. |
252
+ | `Checkbox` | Custom checkbox. Intent for validation. |
253
+ | `RadioGroup` | Custom radio group. |
254
+ | `Switch` | Custom toggle switch. |
255
+ | `Slider` | Custom range slider. |
256
+ | `Label` | Associates with form controls. Required indicator. |
257
+ | `FormField` | Layout wrapper: Label + control + error message. |
258
+
259
+ ### Feedback
260
+
261
+ | Component | Description |
262
+ | ---------- | ------------------------------------------------------ |
263
+ | `Alert` | Inline feedback. variant + intent. Dismissible option. |
264
+ | `Toast` | Programmatic toast notifications via `Toaster`. |
265
+ | `Banner` | Full-width informational strip. Dismissible. |
266
+ | `Progress` | Linear progress bar. Intent for status. |
267
+ | `Skeleton` | Loading placeholder. Matches shapes of real content. |
268
+ | `Spinner` | Loading indicator. Size variants. Accessible. |
269
+ | `Tooltip` | Positioned tooltip with Floating UI. |
270
+ | `Popover` | Positioned popover with Floating UI. |
271
+
272
+ ### Display
273
+
274
+ | Component | Description |
275
+ | ------------ | ------------------------------------------------------------- |
276
+ | `Badge` | Inline label. variant + intent. No interactive states. |
277
+ | `Tag` | Dismissible Badge variant. Adds close button. |
278
+ | `Avatar` | Image with fallback initials. Size variants. |
279
+ | `Icon` | Wrapper for icon libraries. Size + color tokens. |
280
+ | `Divider` | Horizontal/vertical separator. Optional label. |
281
+ | `EmptyState` | Blank slate. Illustration slot, heading, description, action. |
282
+ | `Timeline` | Vertical event sequence. Display-only. |
283
+
284
+ ### Layout
285
+
286
+ | Component | Description |
287
+ | ------------- | ------------------------------------------------------- |
288
+ | `Stack` | Flex container. `direction`, `gap`, `align`, `justify`. |
289
+ | `Grid` | Grid container. `cols`, `gap`. |
290
+ | `Container` | Max-width centered wrapper. `size` variants. |
291
+ | `AspectRatio` | Fixed aspect ratio wrapper. Named and numeric ratios. |
292
+
293
+ ### Navigation
294
+
295
+ | Component | Description |
296
+ | ---------------- | ----------------------------------------------------------------------- |
297
+ | `Card` | Surface container. Header/body/footer slots. Elevated, outlined, flat. |
298
+ | `Collapsible` | Generic expand/collapse primitive. CSS grid-rows animation. |
299
+ | `Accordion` | Expand/collapse group with keyboard navigation. |
300
+ | `Tabs` | Tab group with keyboard navigation. Three visual variants. |
301
+ | `Dialog` | Modal dialog with focus trapping and scroll lock. |
302
+ | `Sheet` | Slide-in panel. Dialog variant for side drawers. |
303
+ | `DropdownMenu` | Dropdown with keyboard navigation and type-ahead. |
304
+ | `ContextMenu` | Right-click menu. Cursor-position placement via Floating UI. |
305
+ | `Menubar` | Horizontal application menu. Cross-menu keyboard coordination. |
306
+ | `NavigationMenu` | Site-level navigation with floating sub-panels. `role="dialog"` panels. |
307
+ | `Breadcrumb` | Navigation trail. `<nav><ol>` with `aria-current="page"`. |
308
+ | `Pagination` | Page navigation. Compound API with `asChild` links. |
309
+ | `Stepper` | Multi-step flow indicator. State inference from `currentStep`. |
310
+ | `Sidebar` | App navigation panel. Collapsible. Sheet-based drawer on mobile. |
311
+
312
+ ### Composites
313
+
314
+ | Component | Description |
315
+ | ------------- | ------------------------------------------------------ |
316
+ | `AppShell` | Top-level layout: sidebar + header + main. |
317
+ | `Table` | Sortable, accessible. `thead`/`tbody`/`tfoot`. |
318
+ | `DataTable` | Table with pagination and filtering. |
319
+ | `CommandMenu` | Keyboard-first search and action palette. |
320
+ | `DatePicker` | Popover calendar. Text input with keyboard navigation. |
321
+ | `Combobox` | Searchable select with keyboard navigation. |
322
+
323
+ ---
324
+
325
+ ## Architecture
326
+
327
+ The key decisions that shaped this library are documented in [`docs/DECISIONS.md`](./docs/DECISIONS.md). Reading it gives you a clear picture of not just what was built, but why: which tradeoffs were accepted, which alternatives were considered, and which decisions are explicitly deferred.
328
+
329
+ For the full component inventory and build status, see [`docs/COMPONENTS.md`](./docs/COMPONENTS.md). For customization options, limitations, and the correct approach for each use case, see [`docs/CUSTOMIZATION.md`](./docs/CUSTOMIZATION.md).
330
+
331
+ Short version:
332
+
333
+ - **Variant + intent**: over flat variants, `ghost` + `danger` is cleaner than `ghost-danger` and scales to any combination
334
+ - **Two-layer tokens**: primitives for scale, semantics for purpose, components touch only semantics
335
+ - **`data-theme` attribute**: enables nested themes and avoids class pollution
336
+ - **No third-party UI primitives**: `Slot`, `composeRefs`, focus trap, scroll lock, and all ARIA patterns are first-party
337
+ - **No component-level tokens by default**: added only when semantic tokens are genuinely insufficient
338
+
339
+ ---
340
+
341
+ ## Development
342
+
343
+ ```bash
344
+ # Install dependencies
345
+ npm install
346
+
347
+ # Start Storybook
348
+ npm run dev
349
+
350
+ # Run tests
351
+ npm run test:watch
352
+
353
+ # Type check
354
+ npm run typecheck
355
+
356
+ # Lint
357
+ npm run lint
358
+
359
+ # Format
360
+ npm run format
361
+
362
+ # Build
363
+ npm run build
364
+ ```
365
+
366
+ ---
367
+
368
+ ## License
369
+
370
+ MIT © [Sinisa Kusic](https://github.com/ku5ic)
@@ -0,0 +1,20 @@
1
+ type HeadingLevel = "h2" | "h3" | "h4";
2
+ interface AccordionContextValue {
3
+ type: "single" | "multiple";
4
+ collapsible: boolean;
5
+ headingLevel: HeadingLevel;
6
+ isItemOpen: (value: string) => boolean;
7
+ toggleItem: (value: string) => void;
8
+ }
9
+ declare const AccordionContext: import("react").Context<AccordionContextValue | null>;
10
+ declare function useAccordionContext(): AccordionContextValue;
11
+ interface AccordionItemContextValue {
12
+ value: string;
13
+ disabled: boolean;
14
+ open: boolean;
15
+ }
16
+ declare const AccordionItemContext: import("react").Context<AccordionItemContextValue | null>;
17
+ declare function useAccordionItemContext(): AccordionItemContextValue;
18
+ export { AccordionContext, useAccordionContext, AccordionItemContext, useAccordionItemContext, };
19
+ export type { AccordionContextValue, AccordionItemContextValue, HeadingLevel };
20
+ //# sourceMappingURL=Accordion.context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.context.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.context.tsx"],"names":[],"mappings":"AAEA,KAAK,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEvC,UAAU,qBAAqB;IAC7B,IAAI,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,QAAA,MAAM,gBAAgB,uDAAoD,CAAC;AAE3E,iBAAS,mBAAmB,IAAI,qBAAqB,CAQpD;AAED,UAAU,yBAAyB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,QAAA,MAAM,oBAAoB,2DAEzB,CAAC;AAEF,iBAAS,uBAAuB,IAAI,yBAAyB,CAQ5D;AAED,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,CAAC;AACF,YAAY,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import type { HeadingLevel } from "@nuka/components/Accordion/Accordion.context";
3
+ interface AccordionSingleProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ type: "single";
5
+ value?: string;
6
+ defaultValue?: string;
7
+ onValueChange?: (value: string) => void;
8
+ collapsible?: boolean;
9
+ headingLevel?: HeadingLevel;
10
+ }
11
+ interface AccordionMultipleProps extends React.HTMLAttributes<HTMLDivElement> {
12
+ type: "multiple";
13
+ value?: string[];
14
+ defaultValue?: string[];
15
+ onValueChange?: (value: string[]) => void;
16
+ collapsible?: never;
17
+ headingLevel?: HeadingLevel;
18
+ }
19
+ export type AccordionProps = AccordionSingleProps | AccordionMultipleProps;
20
+ declare const Accordion: React.ForwardRefExoticComponent<AccordionProps & React.RefAttributes<HTMLDivElement>>;
21
+ export { Accordion };
22
+ //# sourceMappingURL=Accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAEjF,UAAU,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,UAAU,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,CAAC;AAuC3E,QAAA,MAAM,SAAS,uFAgDd,CAAC;AA4HF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface AccordionContentProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ declare const AccordionContent: React.ForwardRefExoticComponent<AccordionContentProps & React.RefAttributes<HTMLDivElement>>;
5
+ export { AccordionContent };
6
+ //# sourceMappingURL=AccordionContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionContent.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEtF,QAAA,MAAM,gBAAgB,8FASpB,CAAC;AAIH,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ export interface AccordionItemProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ value: string;
4
+ disabled?: boolean;
5
+ }
6
+ declare const AccordionItem: React.ForwardRefExoticComponent<AccordionItemProps & React.RefAttributes<HTMLDivElement>>;
7
+ export { AccordionItem };
8
+ //# sourceMappingURL=AccordionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItem.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,aAAa,2FAyBlB,CAAC;AAIF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface AccordionTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ }
4
+ declare const AccordionTrigger: React.ForwardRefExoticComponent<AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>;
5
+ export { AccordionTrigger };
6
+ //# sourceMappingURL=AccordionTrigger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionTrigger.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/AccordionTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;CAAG;AAE/F,QAAA,MAAM,gBAAgB,iGAmDpB,CAAC;AAIH,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ export { Accordion } from "./Accordion";
2
+ export type { AccordionProps } from "./Accordion";
3
+ export { AccordionItem } from "./AccordionItem";
4
+ export type { AccordionItemProps } from "./AccordionItem";
5
+ export { AccordionTrigger } from "./AccordionTrigger";
6
+ export type { AccordionTriggerProps } from "./AccordionTrigger";
7
+ export { AccordionContent } from "./AccordionContent";
8
+ export type { AccordionContentProps } from "./AccordionContent";
9
+ export { AccordionContext, useAccordionContext, AccordionItemContext, useAccordionItemContext, } from "./Accordion.context";
10
+ export type { AccordionContextValue, AccordionItemContextValue, HeadingLevel, } from "./Accordion.context";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,YAAY,GACb,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { alertVariants, type AlertVariantProps } from "@nuka/components/Alert/Alert.variants";
3
+ export interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, AlertVariantProps {
4
+ onDismiss?: () => void;
5
+ icon?: React.ReactNode;
6
+ }
7
+ declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
8
+ export { Alert, alertVariants };
9
+ //# sourceMappingURL=Alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACvB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,iBAAiB;IAC/D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,QAAA,MAAM,KAAK,mFAuBV,CAAC;AAIF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type VariantProps } from "@nuka/utils/variants";
2
+ export declare const alertVariants: (props?: ({
3
+ variant?: "primary" | "secondary" | "outline" | "ghost" | null | undefined;
4
+ intent?: "default" | "danger" | "success" | "warning" | null | undefined;
5
+ size?: "sm" | "md" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export type AlertVariantProps = VariantProps<typeof alertVariants>;
8
+ //# sourceMappingURL=Alert.variants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.variants.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/Alert.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,aAAa;;;;8EAqCzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Alert } from "./Alert";
2
+ export { alertVariants } from "@nuka/components/Alert/Alert.variants";
3
+ export type { AlertProps } from "./Alert";
4
+ export type { AlertVariantProps } from "@nuka/components/Alert/Alert.variants";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface AppShellProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ declare const AppShell: React.ForwardRefExoticComponent<AppShellProps & React.RefAttributes<HTMLDivElement>>;
5
+ export { AppShell };
6
+ //# sourceMappingURL=AppShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAE9E,QAAA,MAAM,QAAQ,sFAQb,CAAC;AAIF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface AppShellBodyProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ declare const AppShellBody: React.ForwardRefExoticComponent<AppShellBodyProps & React.RefAttributes<HTMLDivElement>>;
5
+ export { AppShellBody };
6
+ //# sourceMappingURL=AppShellBody.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShellBody.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/AppShellBody.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAElF,QAAA,MAAM,YAAY,0FAQjB,CAAC;AAIF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ export interface AppShellHeaderProps extends React.HTMLAttributes<HTMLElement> {
3
+ border?: boolean;
4
+ }
5
+ declare const AppShellHeader: React.ForwardRefExoticComponent<AppShellHeaderProps & React.RefAttributes<HTMLElement>>;
6
+ export { AppShellHeader };
7
+ //# sourceMappingURL=AppShellHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShellHeader.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/AppShellHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,mBAAoB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC5E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,cAAc,yFAenB,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ export interface AppShellMainProps extends React.HTMLAttributes<HTMLElement> {
3
+ padded?: boolean;
4
+ }
5
+ declare const AppShellMain: React.ForwardRefExoticComponent<AppShellMainProps & React.RefAttributes<HTMLElement>>;
6
+ export { AppShellMain };
7
+ //# sourceMappingURL=AppShellMain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShellMain.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/AppShellMain.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,QAAA,MAAM,YAAY,uFAYjB,CAAC;AAIF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { AppShell } from "./AppShell";
2
+ export type { AppShellProps } from "./AppShell";
3
+ export { AppShellHeader } from "./AppShellHeader";
4
+ export type { AppShellHeaderProps } from "./AppShellHeader";
5
+ export { AppShellBody } from "./AppShellBody";
6
+ export type { AppShellBodyProps } from "./AppShellBody";
7
+ export { AppShellMain } from "./AppShellMain";
8
+ export type { AppShellMainProps } from "./AppShellMain";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ import type { AspectRatioValue } from "@nuka/components/AspectRatio/AspectRatio.utils";
3
+ export type { AspectRatioValue };
4
+ export interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ ratio?: AspectRatioValue;
6
+ asChild?: boolean;
7
+ }
8
+ declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
9
+ export { AspectRatio };
10
+ //# sourceMappingURL=AspectRatio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AspectRatio.d.ts","sourceRoot":"","sources":["../../../src/components/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAEjC,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,WAAW,yFAkBhB,CAAC;AAIF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export type AspectRatioValue = "1/1" | "16/9" | "9/16" | "4/3" | "3/4" | "21/9" | number;
2
+ export declare function resolveRatio(ratio: AspectRatioValue): number;
3
+ //# sourceMappingURL=AspectRatio.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AspectRatio.utils.d.ts","sourceRoot":"","sources":["../../../src/components/AspectRatio/AspectRatio.utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GACxB,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAM,CAAC;AAWX,wBAAgB,YAAY,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAG5D"}
@@ -0,0 +1,3 @@
1
+ export { AspectRatio } from "./AspectRatio";
2
+ export type { AspectRatioProps, AspectRatioValue } from "./AspectRatio";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AspectRatio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}