@g4rcez/components 4.0.2 → 4.1.1

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 (384) hide show
  1. package/ai/SKILL.md +120 -153
  2. package/ai/docs/Alert.md +47 -48
  3. package/ai/docs/AnimatedList.md +88 -87
  4. package/ai/docs/Autocomplete.md +102 -106
  5. package/ai/docs/Button.md +33 -33
  6. package/ai/docs/Calendar.md +67 -101
  7. package/ai/docs/Card.md +59 -55
  8. package/ai/docs/Checkbox.md +77 -82
  9. package/ai/docs/CommandPalette.md +154 -172
  10. package/ai/docs/DatePicker.md +45 -64
  11. package/ai/docs/Dropdown.md +98 -126
  12. package/ai/docs/Empty.md +41 -44
  13. package/ai/docs/Expand.md +40 -54
  14. package/ai/docs/FileUpload.md +102 -109
  15. package/ai/docs/Form.md +35 -29
  16. package/ai/docs/FormReset.md +37 -37
  17. package/ai/docs/Heading.md +4 -6
  18. package/ai/docs/Input.md +73 -98
  19. package/ai/docs/InputField.md +67 -67
  20. package/ai/docs/List.md +88 -85
  21. package/ai/docs/Menu.md +62 -60
  22. package/ai/docs/Modal.md +129 -136
  23. package/ai/docs/MultiSelect.md +65 -84
  24. package/ai/docs/Notifications.md +96 -96
  25. package/ai/docs/PageCalendar.md +88 -97
  26. package/ai/docs/Polymorph.md +25 -41
  27. package/ai/docs/Progress.md +55 -51
  28. package/ai/docs/Radiobox.md +49 -41
  29. package/ai/docs/RenderOnView.md +26 -32
  30. package/ai/docs/Resizable.md +60 -65
  31. package/ai/docs/Select.md +158 -158
  32. package/ai/docs/Shortcut.md +14 -14
  33. package/ai/docs/Skeleton.md +56 -60
  34. package/ai/docs/Slider.md +26 -49
  35. package/ai/docs/Slot.md +15 -17
  36. package/ai/docs/Spinner.md +17 -15
  37. package/ai/docs/Stats.md +44 -42
  38. package/ai/docs/Step.md +60 -60
  39. package/ai/docs/Switch.md +44 -54
  40. package/ai/docs/Table.md +124 -136
  41. package/ai/docs/Tabs.md +90 -90
  42. package/ai/docs/Tag.md +63 -65
  43. package/ai/docs/TaskList.md +40 -50
  44. package/ai/docs/Textarea.md +47 -70
  45. package/ai/docs/Timeline.md +98 -96
  46. package/ai/docs/Toolbar.md +46 -46
  47. package/ai/docs/Tooltip.md +103 -103
  48. package/ai/docs/Typography.md +55 -55
  49. package/ai/docs/Wizard.md +104 -109
  50. package/ai/docs/index.md +116 -116
  51. package/dist/autocomplete-DcTNOwyg.js +393 -0
  52. package/dist/autocomplete-DcTNOwyg.js.map +1 -0
  53. package/dist/{calendar-B5lSd0ID.js → calendar-BJMHRoy2.js} +104 -105
  54. package/dist/calendar-BJMHRoy2.js.map +1 -0
  55. package/dist/components/core/button.js +10 -10
  56. package/dist/components/core/button.js.map +1 -1
  57. package/dist/components/core/tag.js +4 -4
  58. package/dist/components/core/tag.js.map +1 -1
  59. package/dist/components/display/alert.js +48 -46
  60. package/dist/components/display/alert.js.map +1 -1
  61. package/dist/components/display/calendar.js +6 -6
  62. package/dist/components/display/card.js +2 -2
  63. package/dist/components/display/card.js.map +1 -1
  64. package/dist/components/display/list.js +1 -1
  65. package/dist/components/display/list.js.map +1 -1
  66. package/dist/components/display/notifications.js +3 -3
  67. package/dist/components/display/stats.js +1 -1
  68. package/dist/components/display/tabs.js +2 -2
  69. package/dist/components/display/timeline.js +1 -1
  70. package/dist/components/floating/dropdown.js +25 -17
  71. package/dist/components/floating/dropdown.js.map +1 -1
  72. package/dist/components/floating/expand.js +7 -7
  73. package/dist/components/floating/expand.js.map +1 -1
  74. package/dist/components/floating/menu.js +10 -10
  75. package/dist/components/floating/menu.js.map +1 -1
  76. package/dist/components/floating/modal.js +106 -102
  77. package/dist/components/floating/modal.js.map +1 -1
  78. package/dist/components/floating/tooltip.js +14 -14
  79. package/dist/components/floating/tooltip.js.map +1 -1
  80. package/dist/components/form/autocomplete.js +6 -6
  81. package/dist/components/form/checkbox.js +1 -1
  82. package/dist/components/form/date-picker.js +5 -5
  83. package/dist/components/form/file-upload.js +2 -2
  84. package/dist/components/form/form.js.map +1 -1
  85. package/dist/components/form/input.js +1 -1
  86. package/dist/components/form/radiobox.js +1 -1
  87. package/dist/components/form/select.js +3 -3
  88. package/dist/components/form/switch.js +2 -2
  89. package/dist/components/form/switch.js.map +1 -1
  90. package/dist/components/table/table.js +3 -3
  91. package/dist/{date-picker-DwNo22lx.js → date-picker-Bnl07nd8.js} +8 -6
  92. package/dist/date-picker-Bnl07nd8.js.map +1 -0
  93. package/dist/{dom-Dl8XH0CK.js → dom-CyQHY7ID.js} +66 -61
  94. package/dist/dom-CyQHY7ID.js.map +1 -0
  95. package/dist/{file-upload-Brf2NkLr.js → file-upload-93d5DR4q.js} +139 -129
  96. package/dist/file-upload-93d5DR4q.js.map +1 -0
  97. package/dist/{floating-ui.react-QNHG9W4N.js → floating-ui.react-M2PGXLDp.js} +8 -8
  98. package/dist/floating-ui.react-M2PGXLDp.js.map +1 -0
  99. package/dist/{fns-D2eyJKd5.js → fns-C7Dt27Qd.js} +2 -2
  100. package/dist/fns-C7Dt27Qd.js.map +1 -0
  101. package/dist/index-BJ1ayTam.js +126 -0
  102. package/dist/index-BJ1ayTam.js.map +1 -0
  103. package/dist/index-C-PuFUZi.js.map +1 -1
  104. package/dist/{index-BelDtX5M.js → index-DDeQW0JW.js} +399 -404
  105. package/dist/index-DDeQW0JW.js.map +1 -0
  106. package/dist/index-DE4shK8D.js +215 -0
  107. package/dist/index-DE4shK8D.js.map +1 -0
  108. package/dist/{index-DJSMaZR4.js → index-DlJ_2RBL.js} +2 -2
  109. package/dist/index-DlJ_2RBL.js.map +1 -0
  110. package/dist/index.css +1 -1
  111. package/dist/index.esm-BaIwleSE.js.map +1 -1
  112. package/dist/index.js +2810 -2756
  113. package/dist/index.js.map +1 -1
  114. package/dist/{input-CrGrSnUt.js → input-_MVxmIpu.js} +116 -114
  115. package/dist/input-_MVxmIpu.js.map +1 -0
  116. package/dist/{input-field-5vYcz5tT.js → input-field-CDCOODOl.js} +63 -47
  117. package/dist/input-field-CDCOODOl.js.map +1 -0
  118. package/dist/notifications-Dp0ydKJS.js +2576 -0
  119. package/dist/notifications-Dp0ydKJS.js.map +1 -0
  120. package/dist/polymorph-B5n9fs_K.js.map +1 -1
  121. package/dist/preset/plugin.tailwind.d.ts.map +1 -1
  122. package/dist/preset/plugin.tailwind.js +20 -18
  123. package/dist/preset/preset.tailwind.js +24 -25
  124. package/dist/preset/src/styles/common.js +6 -3
  125. package/dist/preset/src/styles/dark.d.ts.map +1 -1
  126. package/dist/preset/src/styles/dark.js +9 -5
  127. package/dist/preset/src/styles/design-tokens.js +68 -89
  128. package/dist/preset/src/styles/light.d.ts.map +1 -1
  129. package/dist/preset/src/styles/light.js +9 -5
  130. package/dist/preset/src/styles/theme.js +7 -4
  131. package/dist/preset/src/styles/theme.types.d.ts +2 -1
  132. package/dist/preset/src/styles/theme.types.d.ts.map +1 -1
  133. package/dist/preset/src/styles/theme.types.js +2 -1
  134. package/dist/skeleton-BjJobYYf.js +24 -0
  135. package/dist/skeleton-BjJobYYf.js.map +1 -0
  136. package/dist/slot-CRyweuj0.js.map +1 -1
  137. package/dist/styles/common.js +6 -3
  138. package/dist/styles/dark.d.ts.map +1 -1
  139. package/dist/styles/dark.js +9 -5
  140. package/dist/styles/design-tokens.js +68 -89
  141. package/dist/styles/light.d.ts.map +1 -1
  142. package/dist/styles/light.js +9 -5
  143. package/dist/styles/theme.js +7 -4
  144. package/dist/styles/theme.types.d.ts +2 -1
  145. package/dist/styles/theme.types.d.ts.map +1 -1
  146. package/dist/styles/theme.types.js +2 -1
  147. package/dist/tabs-B0g7YtQv.js +123 -0
  148. package/dist/tabs-B0g7YtQv.js.map +1 -0
  149. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  150. package/dist/{context-BFXNJVn2.js → use-translations-DSltA7H_.js} +38 -30
  151. package/dist/use-translations-DSltA7H_.js.map +1 -0
  152. package/package.json +99 -86
  153. package/ai/docs/TransferList.md +0 -142
  154. package/dist/autocomplete-Cn9Z2hLq.js +0 -375
  155. package/dist/autocomplete-Cn9Z2hLq.js.map +0 -1
  156. package/dist/calendar-B5lSd0ID.js.map +0 -1
  157. package/dist/components/core/button.d.ts +0 -77
  158. package/dist/components/core/button.d.ts.map +0 -1
  159. package/dist/components/core/heading.d.ts +0 -3
  160. package/dist/components/core/heading.d.ts.map +0 -1
  161. package/dist/components/core/polymorph.d.ts +0 -10
  162. package/dist/components/core/polymorph.d.ts.map +0 -1
  163. package/dist/components/core/render-on-view.d.ts +0 -7
  164. package/dist/components/core/render-on-view.d.ts.map +0 -1
  165. package/dist/components/core/resizable.d.ts +0 -3
  166. package/dist/components/core/resizable.d.ts.map +0 -1
  167. package/dist/components/core/slot.d.ts +0 -16
  168. package/dist/components/core/slot.d.ts.map +0 -1
  169. package/dist/components/core/tag.d.ts +0 -35
  170. package/dist/components/core/tag.d.ts.map +0 -1
  171. package/dist/components/core/typography.d.ts +0 -25
  172. package/dist/components/core/typography.d.ts.map +0 -1
  173. package/dist/components/display/alert.d.ts +0 -28
  174. package/dist/components/display/alert.d.ts.map +0 -1
  175. package/dist/components/display/calendar.d.ts +0 -42
  176. package/dist/components/display/calendar.d.ts.map +0 -1
  177. package/dist/components/display/card.d.ts +0 -29
  178. package/dist/components/display/card.d.ts.map +0 -1
  179. package/dist/components/display/empty.d.ts +0 -8
  180. package/dist/components/display/empty.d.ts.map +0 -1
  181. package/dist/components/display/list.d.ts +0 -16
  182. package/dist/components/display/list.d.ts.map +0 -1
  183. package/dist/components/display/notifications.d.ts +0 -27
  184. package/dist/components/display/notifications.d.ts.map +0 -1
  185. package/dist/components/display/progress.d.ts +0 -13
  186. package/dist/components/display/progress.d.ts.map +0 -1
  187. package/dist/components/display/shortcut.d.ts +0 -4
  188. package/dist/components/display/shortcut.d.ts.map +0 -1
  189. package/dist/components/display/skeleton.d.ts +0 -12
  190. package/dist/components/display/skeleton.d.ts.map +0 -1
  191. package/dist/components/display/spinner.d.ts +0 -5
  192. package/dist/components/display/spinner.d.ts.map +0 -1
  193. package/dist/components/display/stats.d.ts +0 -12
  194. package/dist/components/display/stats.d.ts.map +0 -1
  195. package/dist/components/display/step.d.ts +0 -24
  196. package/dist/components/display/step.d.ts.map +0 -1
  197. package/dist/components/display/tabs.d.ts +0 -24
  198. package/dist/components/display/tabs.d.ts.map +0 -1
  199. package/dist/components/display/timeline.d.ts +0 -10
  200. package/dist/components/display/timeline.d.ts.map +0 -1
  201. package/dist/components/floating/command-palette.d.ts +0 -49
  202. package/dist/components/floating/command-palette.d.ts.map +0 -1
  203. package/dist/components/floating/dropdown.d.ts +0 -15
  204. package/dist/components/floating/dropdown.d.ts.map +0 -1
  205. package/dist/components/floating/expand.d.ts +0 -11
  206. package/dist/components/floating/expand.d.ts.map +0 -1
  207. package/dist/components/floating/menu.d.ts +0 -52
  208. package/dist/components/floating/menu.d.ts.map +0 -1
  209. package/dist/components/floating/modal.d.ts +0 -60
  210. package/dist/components/floating/modal.d.ts.map +0 -1
  211. package/dist/components/floating/toolbar.d.ts +0 -6
  212. package/dist/components/floating/toolbar.d.ts.map +0 -1
  213. package/dist/components/floating/tooltip.d.ts +0 -17
  214. package/dist/components/floating/tooltip.d.ts.map +0 -1
  215. package/dist/components/floating/wizard.d.ts +0 -26
  216. package/dist/components/floating/wizard.d.ts.map +0 -1
  217. package/dist/components/form/autocomplete.d.ts +0 -16
  218. package/dist/components/form/autocomplete.d.ts.map +0 -1
  219. package/dist/components/form/checkbox.d.ts +0 -12
  220. package/dist/components/form/checkbox.d.ts.map +0 -1
  221. package/dist/components/form/date-picker.d.ts +0 -10
  222. package/dist/components/form/date-picker.d.ts.map +0 -1
  223. package/dist/components/form/file-upload.d.ts +0 -15
  224. package/dist/components/form/file-upload.d.ts.map +0 -1
  225. package/dist/components/form/form.d.ts +0 -3
  226. package/dist/components/form/form.d.ts.map +0 -1
  227. package/dist/components/form/formReset.d.ts +0 -2
  228. package/dist/components/form/formReset.d.ts.map +0 -1
  229. package/dist/components/form/free-text.d.ts +0 -11
  230. package/dist/components/form/free-text.d.ts.map +0 -1
  231. package/dist/components/form/input-field.d.ts +0 -34
  232. package/dist/components/form/input-field.d.ts.map +0 -1
  233. package/dist/components/form/input.d.ts +0 -52
  234. package/dist/components/form/input.d.ts.map +0 -1
  235. package/dist/components/form/multi-select.d.ts +0 -19
  236. package/dist/components/form/multi-select.d.ts.map +0 -1
  237. package/dist/components/form/radiobox.d.ts +0 -7
  238. package/dist/components/form/radiobox.d.ts.map +0 -1
  239. package/dist/components/form/select.d.ts +0 -13
  240. package/dist/components/form/select.d.ts.map +0 -1
  241. package/dist/components/form/slider.d.ts +0 -7
  242. package/dist/components/form/slider.d.ts.map +0 -1
  243. package/dist/components/form/switch.d.ts +0 -9
  244. package/dist/components/form/switch.d.ts.map +0 -1
  245. package/dist/components/form/task-list.d.ts +0 -3
  246. package/dist/components/form/task-list.d.ts.map +0 -1
  247. package/dist/components/form/textarea.d.ts +0 -6
  248. package/dist/components/form/textarea.d.ts.map +0 -1
  249. package/dist/components/form/transfer-list.d.ts +0 -14
  250. package/dist/components/form/transfer-list.d.ts.map +0 -1
  251. package/dist/components/form/transfer-list.js +0 -55
  252. package/dist/components/form/transfer-list.js.map +0 -1
  253. package/dist/components/index.d.ts +0 -46
  254. package/dist/components/index.d.ts.map +0 -1
  255. package/dist/components/page-calendar/calendar-header.d.ts +0 -16
  256. package/dist/components/page-calendar/calendar-header.d.ts.map +0 -1
  257. package/dist/components/page-calendar/day-view.d.ts +0 -12
  258. package/dist/components/page-calendar/day-view.d.ts.map +0 -1
  259. package/dist/components/page-calendar/event-pill.d.ts +0 -9
  260. package/dist/components/page-calendar/event-pill.d.ts.map +0 -1
  261. package/dist/components/page-calendar/index.d.ts +0 -4
  262. package/dist/components/page-calendar/index.d.ts.map +0 -1
  263. package/dist/components/page-calendar/month-view.d.ts +0 -11
  264. package/dist/components/page-calendar/month-view.d.ts.map +0 -1
  265. package/dist/components/page-calendar/page-calendar.d.ts +0 -18
  266. package/dist/components/page-calendar/page-calendar.d.ts.map +0 -1
  267. package/dist/components/page-calendar/page-calendar.types.d.ts +0 -18
  268. package/dist/components/page-calendar/page-calendar.types.d.ts.map +0 -1
  269. package/dist/components/page-calendar/page-calendar.utils.d.ts +0 -24
  270. package/dist/components/page-calendar/page-calendar.utils.d.ts.map +0 -1
  271. package/dist/components/page-calendar/week-view.d.ts +0 -11
  272. package/dist/components/page-calendar/week-view.d.ts.map +0 -1
  273. package/dist/components/table/filter.d.ts +0 -42
  274. package/dist/components/table/filter.d.ts.map +0 -1
  275. package/dist/components/table/group.d.ts +0 -17
  276. package/dist/components/table/group.d.ts.map +0 -1
  277. package/dist/components/table/index.d.ts +0 -20
  278. package/dist/components/table/index.d.ts.map +0 -1
  279. package/dist/components/table/inner-table.d.ts +0 -29
  280. package/dist/components/table/inner-table.d.ts.map +0 -1
  281. package/dist/components/table/metadata.d.ts +0 -4
  282. package/dist/components/table/metadata.d.ts.map +0 -1
  283. package/dist/components/table/pagination.d.ts +0 -3
  284. package/dist/components/table/pagination.d.ts.map +0 -1
  285. package/dist/components/table/row.d.ts +0 -12
  286. package/dist/components/table/row.d.ts.map +0 -1
  287. package/dist/components/table/sort.d.ts +0 -28
  288. package/dist/components/table/sort.d.ts.map +0 -1
  289. package/dist/components/table/table-lib.d.ts +0 -135
  290. package/dist/components/table/table-lib.d.ts.map +0 -1
  291. package/dist/components/table/table.context.d.ts +0 -10
  292. package/dist/components/table/table.context.d.ts.map +0 -1
  293. package/dist/components/table/thead.d.ts +0 -9
  294. package/dist/components/table/thead.d.ts.map +0 -1
  295. package/dist/config/context.d.ts +0 -21
  296. package/dist/config/context.d.ts.map +0 -1
  297. package/dist/config/default-translations.d.ts +0 -90
  298. package/dist/config/default-translations.d.ts.map +0 -1
  299. package/dist/config/default-tweaks.d.ts +0 -13
  300. package/dist/config/default-tweaks.d.ts.map +0 -1
  301. package/dist/constants.d.ts +0 -3
  302. package/dist/constants.d.ts.map +0 -1
  303. package/dist/context-BFXNJVn2.js.map +0 -1
  304. package/dist/date-picker-DwNo22lx.js.map +0 -1
  305. package/dist/dom-Dl8XH0CK.js.map +0 -1
  306. package/dist/file-upload-Brf2NkLr.js.map +0 -1
  307. package/dist/floating-ui.react-QNHG9W4N.js.map +0 -1
  308. package/dist/fns-D2eyJKd5.js.map +0 -1
  309. package/dist/hooks/use-click-outside.d.ts +0 -3
  310. package/dist/hooks/use-click-outside.d.ts.map +0 -1
  311. package/dist/hooks/use-color-parser.d.ts +0 -2
  312. package/dist/hooks/use-color-parser.d.ts.map +0 -1
  313. package/dist/hooks/use-components-provider.d.ts +0 -15
  314. package/dist/hooks/use-components-provider.d.ts.map +0 -1
  315. package/dist/hooks/use-debounce.d.ts +0 -5
  316. package/dist/hooks/use-debounce.d.ts.map +0 -1
  317. package/dist/hooks/use-floating-ref.d.ts +0 -2
  318. package/dist/hooks/use-floating-ref.d.ts.map +0 -1
  319. package/dist/hooks/use-form.d.ts +0 -394
  320. package/dist/hooks/use-form.d.ts.map +0 -1
  321. package/dist/hooks/use-hover.d.ts +0 -3
  322. package/dist/hooks/use-hover.d.ts.map +0 -1
  323. package/dist/hooks/use-input-id.d.ts +0 -4
  324. package/dist/hooks/use-input-id.d.ts.map +0 -1
  325. package/dist/hooks/use-is-coarse-device.d.ts +0 -2
  326. package/dist/hooks/use-is-coarse-device.d.ts.map +0 -1
  327. package/dist/hooks/use-locale.d.ts +0 -3
  328. package/dist/hooks/use-locale.d.ts.map +0 -1
  329. package/dist/hooks/use-media-query.d.ts +0 -2
  330. package/dist/hooks/use-media-query.d.ts.map +0 -1
  331. package/dist/hooks/use-on-event.d.ts +0 -4
  332. package/dist/hooks/use-on-event.d.ts.map +0 -1
  333. package/dist/hooks/use-parent.d.ts +0 -3
  334. package/dist/hooks/use-parent.d.ts.map +0 -1
  335. package/dist/hooks/use-preferences.d.ts +0 -2
  336. package/dist/hooks/use-preferences.d.ts.map +0 -1
  337. package/dist/hooks/use-previous.d.ts +0 -2
  338. package/dist/hooks/use-previous.d.ts.map +0 -1
  339. package/dist/hooks/use-reactive.d.ts +0 -2
  340. package/dist/hooks/use-reactive.d.ts.map +0 -1
  341. package/dist/hooks/use-remove-scroll.d.ts +0 -4
  342. package/dist/hooks/use-remove-scroll.d.ts.map +0 -1
  343. package/dist/hooks/use-resize-observer.d.ts +0 -2
  344. package/dist/hooks/use-resize-observer.d.ts.map +0 -1
  345. package/dist/hooks/use-stable-ref.d.ts +0 -2
  346. package/dist/hooks/use-stable-ref.d.ts.map +0 -1
  347. package/dist/hooks/use-swipe.d.ts +0 -8
  348. package/dist/hooks/use-swipe.d.ts.map +0 -1
  349. package/dist/hooks/use-translations.d.ts +0 -88
  350. package/dist/hooks/use-translations.d.ts.map +0 -1
  351. package/dist/hooks/use-tweaks.d.ts +0 -3
  352. package/dist/hooks/use-tweaks.d.ts.map +0 -1
  353. package/dist/hooks/use-window-size.d.ts +0 -5
  354. package/dist/hooks/use-window-size.d.ts.map +0 -1
  355. package/dist/index-BelDtX5M.js.map +0 -1
  356. package/dist/index-DJSMaZR4.js.map +0 -1
  357. package/dist/index-Z-fZHxfJ.js +0 -335
  358. package/dist/index-Z-fZHxfJ.js.map +0 -1
  359. package/dist/index.d.ts +0 -22
  360. package/dist/index.d.ts.map +0 -1
  361. package/dist/input-CrGrSnUt.js.map +0 -1
  362. package/dist/input-field-5vYcz5tT.js.map +0 -1
  363. package/dist/lib/combi-keys.d.ts +0 -15
  364. package/dist/lib/combi-keys.d.ts.map +0 -1
  365. package/dist/lib/dict.d.ts +0 -12
  366. package/dist/lib/dict.d.ts.map +0 -1
  367. package/dist/lib/dom.d.ts +0 -19
  368. package/dist/lib/dom.d.ts.map +0 -1
  369. package/dist/lib/fns.d.ts +0 -11
  370. package/dist/lib/fns.d.ts.map +0 -1
  371. package/dist/lib/fzf.d.ts +0 -16
  372. package/dist/lib/fzf.d.ts.map +0 -1
  373. package/dist/lib/keyboard-area.d.ts +0 -16
  374. package/dist/lib/keyboard-area.d.ts.map +0 -1
  375. package/dist/notifications-cUdVPs-B.js +0 -2786
  376. package/dist/notifications-cUdVPs-B.js.map +0 -1
  377. package/dist/skeleton-D75GFBV6.js +0 -10
  378. package/dist/skeleton-D75GFBV6.js.map +0 -1
  379. package/dist/tabs-S00a8qq8.js +0 -106
  380. package/dist/tabs-S00a8qq8.js.map +0 -1
  381. package/dist/types.d.ts +0 -26
  382. package/dist/types.d.ts.map +0 -1
  383. package/dist/use-translations-BwLKTrZv.js +0 -10
  384. package/dist/use-translations-BwLKTrZv.js.map +0 -1
@@ -21,19 +21,19 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components";
21
21
 
22
22
  ### AnimatedList
23
23
 
24
- | Prop | Type | Default | Description |
25
- |------|------|---------|-------------|
26
- | `children` | `React.ReactNode` | — | One or more `AnimatedListItem` elements. |
24
+ | Prop | Type | Default | Description |
25
+ | ---------- | ----------------- | ------- | ---------------------------------------- |
26
+ | `children` | `React.ReactNode` | — | One or more `AnimatedListItem` elements. |
27
27
 
28
28
  ### AnimatedListItem
29
29
 
30
- | Prop | Type | Default | Description |
31
- |------|------|---------|-------------|
32
- | `title` | `Label` | — | Primary heading shown in the list row and the overlay header. |
33
- | `description` | `Label` | — | Secondary text shown below the title in both the row and overlay header. |
34
- | `children` | `Label` | — | Content rendered inside the expanded overlay below the header. |
35
- | `avatar` | `Label` | — | Optional node (icon, image, or element) shown at the leading edge of the row. |
36
- | `leading` | `React.FC<{ open: () => void }>` | — | Optional render-prop component placed at the trailing edge of the row. Receives an `open` function to trigger the overlay programmatically. |
30
+ | Prop | Type | Default | Description |
31
+ | ------------- | -------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
32
+ | `title` | `Label` | — | Primary heading shown in the list row and the overlay header. |
33
+ | `description` | `Label` | — | Secondary text shown below the title in both the row and overlay header. |
34
+ | `children` | `Label` | — | Content rendered inside the expanded overlay below the header. |
35
+ | `avatar` | `Label` | — | Optional node (icon, image, or element) shown at the leading edge of the row. |
36
+ | `leading` | `React.FC<{ open: () => void }>` | — | Optional render-prop component placed at the trailing edge of the row. Receives an `open` function to trigger the overlay programmatically. |
37
37
 
38
38
  `Label` is `string | number | ReactNode`.
39
39
 
@@ -41,19 +41,19 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components";
41
41
 
42
42
  Tokens this component reads. Customize by overriding these CSS variables in your theme.
43
43
 
44
- | Token | CSS Variable | Purpose |
45
- |-------|-------------|---------|
46
- | `border-card-border` | `--card-border` | Row separator border and overlay border |
47
- | `bg-card-background` | `--card-background` | Overlay card background |
48
- | `rounded-card` | `--radius-card` | Overlay card border radius |
49
- | `shadow-shadow-card` | `--shadow-card` | Overlay card drop shadow |
50
- | `text-foreground` | `--foreground` | Default row and overlay text color |
51
- | `text-secondary` | `--secondary` | Description text color in rows and overlay |
52
- | `text-primary` | `--primary` | Row title hover color |
53
- | `text-danger` | `--danger` | Close button hover color |
44
+ | Token | CSS Variable | Purpose |
45
+ | --------------------- | -------------------- | ------------------------------------------- |
46
+ | `border-card-border` | `--card-border` | Row separator border and overlay border |
47
+ | `bg-card-background` | `--card-background` | Overlay card background |
48
+ | `rounded-card` | `--radius-card` | Overlay card border radius |
49
+ | `shadow-shadow-card` | `--shadow-card` | Overlay card drop shadow |
50
+ | `text-foreground` | `--foreground` | Default row and overlay text color |
51
+ | `text-secondary` | `--secondary` | Description text color in rows and overlay |
52
+ | `text-primary` | `--primary` | Row title hover color |
53
+ | `text-danger` | `--danger` | Close button hover color |
54
54
  | `bg-floating-overlay` | `--floating-overlay` | Overlay backdrop tint (used at 70% opacity) |
55
- | `z-floating` | `--z-floating` | `z-index` for the overlay (value: 22) |
56
- | `z-overlay` | `--z-overlay` | `z-index` for the backdrop scrim |
55
+ | `z-floating` | `--z-floating` | `z-index` for the overlay (value: 22) |
56
+ | `z-overlay` | `--z-overlay` | `z-index` for the backdrop scrim |
57
57
 
58
58
  ## Examples
59
59
 
@@ -63,26 +63,20 @@ Tokens this component reads. Customize by overriding these CSS variables in your
63
63
  import { AnimatedList, AnimatedListItem } from "@g4rcez/components";
64
64
 
65
65
  const items = [
66
- { id: "1", name: "Alice Johnson", role: "Engineering" },
67
- { id: "2", name: "Bob Smith", role: "Design" },
66
+ { id: "1", name: "Alice Johnson", role: "Engineering" },
67
+ { id: "2", name: "Bob Smith", role: "Design" },
68
68
  ];
69
69
 
70
70
  export function TeamList() {
71
- return (
72
- <AnimatedList>
73
- {items.map((member) => (
74
- <AnimatedListItem
75
- key={member.id}
76
- title={member.name}
77
- description={member.role}
78
- >
79
- <p className="text-foreground">
80
- Full profile details for {member.name}.
81
- </p>
82
- </AnimatedListItem>
83
- ))}
84
- </AnimatedList>
85
- );
71
+ return (
72
+ <AnimatedList>
73
+ {items.map((member) => (
74
+ <AnimatedListItem key={member.id} title={member.name} description={member.role}>
75
+ <p className="text-foreground">Full profile details for {member.name}.</p>
76
+ </AnimatedListItem>
77
+ ))}
78
+ </AnimatedList>
79
+ );
86
80
  }
87
81
  ```
88
82
 
@@ -93,20 +87,20 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components";
93
87
  import { UserCircleIcon } from "@phosphor-icons/react";
94
88
 
95
89
  export function UserDirectory() {
96
- return (
97
- <AnimatedList>
98
- <AnimatedListItem
99
- title="Carol White"
100
- description="Product Manager"
101
- avatar={<UserCircleIcon size={40} className="text-muted-foreground" />}
102
- >
103
- <div className="flex flex-col gap-2 text-foreground">
104
- <p>Department: Product</p>
105
- <p>Location: San Francisco</p>
106
- </div>
107
- </AnimatedListItem>
108
- </AnimatedList>
109
- );
90
+ return (
91
+ <AnimatedList>
92
+ <AnimatedListItem
93
+ title="Carol White"
94
+ description="Product Manager"
95
+ avatar={<UserCircleIcon size={40} className="text-muted-foreground" />}
96
+ >
97
+ <div className="flex flex-col gap-2 text-foreground">
98
+ <p>Department: Product</p>
99
+ <p>Location: San Francisco</p>
100
+ </div>
101
+ </AnimatedListItem>
102
+ </AnimatedList>
103
+ );
110
104
  }
111
105
  ```
112
106
 
@@ -117,24 +111,24 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components";
117
111
  import { Button } from "@g4rcez/components/button";
118
112
 
119
113
  export function OrderList({ orders }: { orders: Order[] }) {
120
- return (
121
- <AnimatedList>
122
- {orders.map((order) => (
123
- <AnimatedListItem
124
- key={order.id}
125
- title={`Order #${order.id}`}
126
- description={`Total: ${order.total}`}
127
- leading={({ open }) => (
128
- <Button size="small" theme="ghost-muted" onClick={open}>
129
- View details
130
- </Button>
131
- )}
132
- >
133
- <OrderDetailContent order={order} />
134
- </AnimatedListItem>
135
- ))}
136
- </AnimatedList>
137
- );
114
+ return (
115
+ <AnimatedList>
116
+ {orders.map((order) => (
117
+ <AnimatedListItem
118
+ key={order.id}
119
+ title={`Order #${order.id}`}
120
+ description={`Total: ${order.total}`}
121
+ leading={({ open }) => (
122
+ <Button size="small" theme="ghost-muted" onClick={open}>
123
+ View details
124
+ </Button>
125
+ )}
126
+ >
127
+ <OrderDetailContent order={order} />
128
+ </AnimatedListItem>
129
+ ))}
130
+ </AnimatedList>
131
+ );
138
132
  }
139
133
  ```
140
134
 
@@ -145,25 +139,32 @@ import { AnimatedList, AnimatedListItem } from "@g4rcez/components";
145
139
  import { BellIcon, CheckCircleIcon, WarningIcon } from "@phosphor-icons/react";
146
140
 
147
141
  const activities = [
148
- { id: "a1", icon: <CheckCircleIcon size={20} className="text-success" />, title: "Deployment succeeded", description: "2 minutes ago", detail: "All 3 services started." },
149
- { id: "a2", icon: <WarningIcon size={20} className="text-warn" />, title: "High memory usage", description: "15 minutes ago", detail: "Instance i-0ab2c was at 91%." },
142
+ {
143
+ id: "a1",
144
+ icon: <CheckCircleIcon size={20} className="text-success" />,
145
+ title: "Deployment succeeded",
146
+ description: "2 minutes ago",
147
+ detail: "All 3 services started.",
148
+ },
149
+ {
150
+ id: "a2",
151
+ icon: <WarningIcon size={20} className="text-warn" />,
152
+ title: "High memory usage",
153
+ description: "15 minutes ago",
154
+ detail: "Instance i-0ab2c was at 91%.",
155
+ },
150
156
  ];
151
157
 
152
158
  export function ActivityFeed() {
153
- return (
154
- <AnimatedList>
155
- {activities.map((a) => (
156
- <AnimatedListItem
157
- key={a.id}
158
- title={a.title}
159
- description={a.description}
160
- avatar={a.icon}
161
- >
162
- <p className="text-sm text-muted-foreground">{a.detail}</p>
163
- </AnimatedListItem>
164
- ))}
165
- </AnimatedList>
166
- );
159
+ return (
160
+ <AnimatedList>
161
+ {activities.map((a) => (
162
+ <AnimatedListItem key={a.id} title={a.title} description={a.description} avatar={a.icon}>
163
+ <p className="text-sm text-muted-foreground">{a.detail}</p>
164
+ </AnimatedListItem>
165
+ ))}
166
+ </AnimatedList>
167
+ );
167
168
  }
168
169
  ```
169
170
 
@@ -19,34 +19,34 @@ import { Autocomplete } from "@g4rcez/components/autocomplete";
19
19
 
20
20
  ## Props
21
21
 
22
- | Prop | Type | Default | Description |
23
- |------|------|---------|-------------|
24
- | `title` | `string` | - | Field label |
25
- | `value` | `string` | - | Controlled selected value |
26
- | `options` | `AutocompleteItemProps[]` | - | List of selectable options |
27
- | `emptyMessage` | `Label` | - | Message displayed when no options match |
28
- | `dynamicOption` | `boolean` | `false` | Allow creating new options from typed text |
29
- | `onChange` | `(e: React.ChangeEvent<HTMLInputElement>) => void` | - | Change handler |
30
- | `error` | `string` | - | Error message displayed below the field |
31
- | `feedback` | `Label` | - | Success/neutral feedback text below the field |
32
- | `left` | `Label` | - | Content rendered on the left inside the field border |
33
- | `right` | `Label` | - | Content rendered on the right inside the field border |
34
- | `required` | `boolean` | `false` | Marks field as required; hides "Optional" text |
35
- | `disabled` | `boolean` | `false` | Disables the field |
36
- | `loading` | `boolean` | `false` | Shows loading state |
37
- | `container` | `string` | - | Extra CSS classes for the outer `fieldset` |
38
- | `labelClassName` | `string` | - | Extra CSS classes for the label/border wrapper |
22
+ | Prop | Type | Default | Description |
23
+ | ---------------- | -------------------------------------------------- | ------- | ----------------------------------------------------- |
24
+ | `title` | `string` | - | Field label |
25
+ | `value` | `string` | - | Controlled selected value |
26
+ | `options` | `AutocompleteItemProps[]` | - | List of selectable options |
27
+ | `emptyMessage` | `Label` | - | Message displayed when no options match |
28
+ | `dynamicOption` | `boolean` | `false` | Allow creating new options from typed text |
29
+ | `onChange` | `(e: React.ChangeEvent<HTMLInputElement>) => void` | - | Change handler |
30
+ | `error` | `string` | - | Error message displayed below the field |
31
+ | `feedback` | `Label` | - | Success/neutral feedback text below the field |
32
+ | `left` | `Label` | - | Content rendered on the left inside the field border |
33
+ | `right` | `Label` | - | Content rendered on the right inside the field border |
34
+ | `required` | `boolean` | `false` | Marks field as required; hides "Optional" text |
35
+ | `disabled` | `boolean` | `false` | Disables the field |
36
+ | `loading` | `boolean` | `false` | Shows loading state |
37
+ | `container` | `string` | - | Extra CSS classes for the outer `fieldset` |
38
+ | `labelClassName` | `string` | - | Extra CSS classes for the label/border wrapper |
39
39
 
40
40
  ### AutocompleteItemProps
41
41
 
42
42
  ```tsx
43
43
  type AutocompleteItemProps = {
44
- value: string;
45
- label?: string;
46
- hidden?: boolean;
47
- disabled?: boolean;
48
- "data-dynamic"?: string;
49
- Render?: React.FC<OptionProps>;
44
+ value: string;
45
+ label?: string;
46
+ hidden?: boolean;
47
+ disabled?: boolean;
48
+ "data-dynamic"?: string;
49
+ Render?: React.FC<OptionProps>;
50
50
  } & Record<`data-${string}`, string>;
51
51
  ```
52
52
 
@@ -54,24 +54,24 @@ type AutocompleteItemProps = {
54
54
 
55
55
  Tokens this component reads. Customize by overriding these CSS variables in your theme.
56
56
 
57
- | Token | CSS Variable | Purpose |
58
- |-------|-------------|---------|
59
- | `h-input-height` | `--input-height` | Input height |
60
- | `px-input-x` | `--input-x` | Horizontal input padding |
61
- | `py-input-y` | `--input-y` | Vertical input padding |
62
- | `border-input-border` | `--input-border` | Default field border color |
63
- | `placeholder-input-mask` | `--input-mask` | Placeholder text color |
64
- | `placeholder-input-mask-error` | `--input-mask-error` | Placeholder color in error state |
65
- | `text-foreground` | `--foreground` | Input text color |
66
- | `text-danger` | `--danger` | Text color in error state |
67
- | `text-primary` | `--primary` | Focus/hover border and ring color |
68
- | `bg-floating-background` | `--floating-background` | Dropdown background |
69
- | `border-floating-border` | `--floating-border` | Dropdown border color |
70
- | `bg-floating-hover` | `--floating-hover` | Option background on hover/keyboard focus |
71
- | `text-disabled` | `--disabled` | Empty message text color |
72
- | `border-tooltip-border` | `--tooltip-border` | Separator inside dropdown |
73
- | `z-floating` | `--z-floating` | Z-index for the floating panel |
74
- | `shadow-floating` | `--shadow-floating` | Drop shadow for the floating panel |
57
+ | Token | CSS Variable | Purpose |
58
+ | ------------------------------ | ----------------------- | ----------------------------------------- |
59
+ | `h-input-height` | `--input-height` | Input height |
60
+ | `px-input-x` | `--input-x` | Horizontal input padding |
61
+ | `py-input-y` | `--input-y` | Vertical input padding |
62
+ | `border-input-border` | `--input-border` | Default field border color |
63
+ | `placeholder-input-mask` | `--input-mask` | Placeholder text color |
64
+ | `placeholder-input-mask-error` | `--input-mask-error` | Placeholder color in error state |
65
+ | `text-foreground` | `--foreground` | Input text color |
66
+ | `text-danger` | `--danger` | Text color in error state |
67
+ | `text-primary` | `--primary` | Focus/hover border and ring color |
68
+ | `bg-floating-background` | `--floating-background` | Dropdown background |
69
+ | `border-floating-border` | `--floating-border` | Dropdown border color |
70
+ | `bg-floating-hover` | `--floating-hover` | Option background on hover/keyboard focus |
71
+ | `text-disabled` | `--disabled` | Empty message text color |
72
+ | `border-tooltip-border` | `--tooltip-border` | Separator inside dropdown |
73
+ | `z-floating` | `--z-floating` | Z-index for the floating panel |
74
+ | `shadow-floating` | `--shadow-floating` | Drop shadow for the floating panel |
75
75
 
76
76
  ## Examples
77
77
 
@@ -81,23 +81,23 @@ Tokens this component reads. Customize by overriding these CSS variables in your
81
81
  import { Autocomplete } from "@g4rcez/components/autocomplete";
82
82
 
83
83
  const options = [
84
- { value: "react", label: "React" },
85
- { value: "vue", label: "Vue" },
86
- { value: "svelte", label: "Svelte" },
84
+ { value: "react", label: "React" },
85
+ { value: "vue", label: "Vue" },
86
+ { value: "svelte", label: "Svelte" },
87
87
  ];
88
88
 
89
89
  function FrameworkPicker() {
90
- const [value, setValue] = useState("");
91
-
92
- return (
93
- <Autocomplete
94
- title="Framework"
95
- placeholder="Search frameworks..."
96
- options={options}
97
- value={value}
98
- onChange={(e) => setValue(e.target.value)}
99
- />
100
- );
90
+ const [value, setValue] = useState("");
91
+
92
+ return (
93
+ <Autocomplete
94
+ title="Framework"
95
+ placeholder="Search frameworks..."
96
+ options={options}
97
+ value={value}
98
+ onChange={(e) => setValue(e.target.value)}
99
+ />
100
+ );
101
101
  }
102
102
  ```
103
103
 
@@ -105,31 +105,31 @@ function FrameworkPicker() {
105
105
 
106
106
  ```tsx
107
107
  function TagPicker() {
108
- const [value, setValue] = useState("");
109
- const [tags, setTags] = useState([
110
- { value: "typescript", label: "TypeScript" },
111
- { value: "javascript", label: "JavaScript" },
112
- ]);
113
-
114
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
115
- const next = e.target.value;
116
- setValue(next);
117
- if (next && !tags.find((t) => t.value === next)) {
118
- setTags((prev) => [...prev, { value: next, label: next }]);
119
- }
120
- };
121
-
122
- return (
123
- <Autocomplete
124
- title="Tag"
125
- placeholder="Search or create a tag..."
126
- options={tags}
127
- value={value}
128
- onChange={handleChange}
129
- dynamicOption
130
- emptyMessage="Type to create a new tag"
131
- />
132
- );
108
+ const [value, setValue] = useState("");
109
+ const [tags, setTags] = useState([
110
+ { value: "typescript", label: "TypeScript" },
111
+ { value: "javascript", label: "JavaScript" },
112
+ ]);
113
+
114
+ const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
115
+ const next = e.target.value;
116
+ setValue(next);
117
+ if (next && !tags.find((t) => t.value === next)) {
118
+ setTags((prev) => [...prev, { value: next, label: next }]);
119
+ }
120
+ };
121
+
122
+ return (
123
+ <Autocomplete
124
+ title="Tag"
125
+ placeholder="Search or create a tag..."
126
+ options={tags}
127
+ value={value}
128
+ onChange={handleChange}
129
+ dynamicOption
130
+ emptyMessage="Type to create a new tag"
131
+ />
132
+ );
133
133
  }
134
134
  ```
135
135
 
@@ -139,15 +139,15 @@ function TagPicker() {
139
139
  type UserOption = AutocompleteItemProps & { email: string; role: string };
140
140
 
141
141
  const UserRow = ({ value, label, ...props }: UserOption) => (
142
- <div className="flex flex-col gap-0.5 py-1">
143
- <span className="font-medium text-sm text-foreground">{label}</span>
144
- <span className="text-xs text-muted-foreground">{props.email}</span>
145
- </div>
142
+ <div className="flex flex-col gap-0.5 py-1">
143
+ <span className="font-medium text-sm text-foreground">{label}</span>
144
+ <span className="text-xs text-muted-foreground">{props.email}</span>
145
+ </div>
146
146
  );
147
147
 
148
148
  const users: UserOption[] = [
149
- { value: "alice", label: "Alice", email: "alice@example.com", role: "admin", Render: UserRow },
150
- { value: "bob", label: "Bob", email: "bob@example.com", role: "member", Render: UserRow },
149
+ { value: "alice", label: "Alice", email: "alice@example.com", role: "admin", Render: UserRow },
150
+ { value: "bob", label: "Bob", email: "bob@example.com", role: "member", Render: UserRow },
151
151
  ];
152
152
 
153
153
  <Autocomplete title="Assign to" options={users} value="" onChange={() => {}} />;
@@ -160,29 +160,25 @@ import { Form } from "@g4rcez/components/form";
160
160
  import { Button } from "@g4rcez/components/button";
161
161
 
162
162
  const countries = [
163
- { value: "br", label: "Brazil" },
164
- { value: "us", label: "United States" },
165
- { value: "de", label: "Germany" },
163
+ { value: "br", label: "Brazil" },
164
+ { value: "us", label: "United States" },
165
+ { value: "de", label: "Germany" },
166
166
  ];
167
167
 
168
168
  function ContactForm() {
169
- const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
170
- const data = new FormData(e.currentTarget);
171
- console.log(Object.fromEntries(data));
172
- };
173
-
174
- return (
175
- <Form onSubmit={handleSubmit} className="flex flex-col gap-base">
176
- <Autocomplete
177
- name="country"
178
- title="Country"
179
- options={countries}
180
- required
181
- emptyMessage="No countries found"
182
- />
183
- <Button theme="primary" type="submit">Submit</Button>
184
- </Form>
185
- );
169
+ const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {
170
+ const data = new FormData(e.currentTarget);
171
+ console.log(Object.fromEntries(data));
172
+ };
173
+
174
+ return (
175
+ <Form onSubmit={handleSubmit} className="flex flex-col gap-base">
176
+ <Autocomplete name="country" title="Country" options={countries} required emptyMessage="No countries found" />
177
+ <Button theme="primary" type="submit">
178
+ Submit
179
+ </Button>
180
+ </Form>
181
+ );
186
182
  }
187
183
  ```
188
184
 
package/ai/docs/Button.md CHANGED
@@ -19,43 +19,43 @@ import { Button } from "@g4rcez/components/button";
19
19
 
20
20
  ## Props
21
21
 
22
- | Prop | Type | Default | Description |
23
- |------|------|---------|-------------|
24
- | `theme` | `"main" \| "primary" \| "secondary" \| "info" \| "warn" \| "danger" \| "success" \| "muted" \| "neutral" \| "ghost-primary" \| "ghost-secondary" \| "ghost-info" \| "ghost-warn" \| "ghost-danger" \| "ghost-success" \| "ghost-muted" \| "ghost-neutral" \| "raw" \| "disabled" \| "loading"` | `"main"` | Visual theme/variant of the button |
25
- | `size` | `"icon" \| "min" \| "small" \| "default" \| "big" \| "tiny"` | `"default"` | Size of the button |
26
- | `rounded` | `"rough" \| "squared" \| "default" \| "circle"` | `"default"` | Border radius style |
27
- | `icon` | `React.ReactNode` | - | Icon to display before button content |
28
- | `loading` | `boolean` | `false` | Shows loading state with pulse animation and disables interaction |
29
- | `disabled` | `boolean` | `false` | Disables the button |
30
- | `as` | `React.ElementType` | `"button"` | HTML element to render as |
31
- | `type` | `string` | `"button"` | Button type attribute |
32
- | `className` | `string` | - | Additional CSS classes |
33
- | `children` | `React.ReactNode` | - | Button content |
22
+ | Prop | Type | Default | Description |
23
+ | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ----------------------------------------------------------------- |
24
+ | `theme` | `"main" \| "primary" \| "secondary" \| "info" \| "warn" \| "danger" \| "success" \| "muted" \| "neutral" \| "ghost-primary" \| "ghost-secondary" \| "ghost-info" \| "ghost-warn" \| "ghost-danger" \| "ghost-success" \| "ghost-muted" \| "ghost-neutral" \| "raw" \| "disabled" \| "loading"` | `"main"` | Visual theme/variant of the button |
25
+ | `size` | `"icon" \| "min" \| "small" \| "default" \| "big" \| "tiny"` | `"default"` | Size of the button |
26
+ | `rounded` | `"rough" \| "squared" \| "default" \| "circle"` | `"default"` | Border radius style |
27
+ | `icon` | `React.ReactNode` | - | Icon to display before button content |
28
+ | `loading` | `boolean` | `false` | Shows loading state with pulse animation and disables interaction |
29
+ | `disabled` | `boolean` | `false` | Disables the button |
30
+ | `as` | `React.ElementType` | `"button"` | HTML element to render as |
31
+ | `type` | `string` | `"button"` | Button type attribute |
32
+ | `className` | `string` | - | Additional CSS classes |
33
+ | `children` | `React.ReactNode` | - | Button content |
34
34
 
35
35
  ## Design Tokens
36
36
 
37
37
  Tokens this component reads. Customize by overriding these CSS variables in your theme.
38
38
 
39
- | Token | CSS Variable | Purpose |
40
- |-------|-------------|---------|
41
- | `bg-button-primary-bg` | `--button-primary-bg` | Background for primary/main theme |
42
- | `text-button-primary-text` | `--button-primary-text` | Text color for primary/main theme |
43
- | `bg-button-secondary-bg` | `--button-secondary-bg` | Background for secondary theme |
44
- | `text-button-secondary-text` | `--button-secondary-text` | Text color for secondary theme |
45
- | `bg-button-info-bg` | `--button-info-bg` | Background for info theme |
46
- | `text-button-info-text` | `--button-info-text` | Text color for info theme |
47
- | `bg-button-warn-bg` | `--button-warn-bg` | Background for warn theme |
48
- | `text-button-warn-text` | `--button-warn-text` | Text color for warn theme |
49
- | `bg-button-danger-bg` | `--button-danger-bg` | Background for danger theme |
50
- | `text-button-danger-text` | `--button-danger-text` | Text color for danger theme |
51
- | `bg-button-success-bg` | `--button-success-bg` | Background for success theme |
52
- | `text-button-success-text` | `--button-success-text` | Text color for success theme |
53
- | `bg-button-muted-bg` | `--button-muted-bg` | Background for muted theme |
54
- | `text-button-muted-text` | `--button-muted-text` | Text color for muted theme |
55
- | `bg-disabled` | `--disabled` | Background for disabled/loading states |
56
- | `border-card-border` | `--card-border` | Border color for neutral theme |
57
- | `rounded-button` | `--radius-button` | Default border radius |
58
- | `focus-visible:ring-ring` | `--ring` | Focus ring color |
39
+ | Token | CSS Variable | Purpose |
40
+ | ---------------------------- | ------------------------- | -------------------------------------- |
41
+ | `bg-button-primary-bg` | `--button-primary-bg` | Background for primary/main theme |
42
+ | `text-button-primary-text` | `--button-primary-text` | Text color for primary/main theme |
43
+ | `bg-button-secondary-bg` | `--button-secondary-bg` | Background for secondary theme |
44
+ | `text-button-secondary-text` | `--button-secondary-text` | Text color for secondary theme |
45
+ | `bg-button-info-bg` | `--button-info-bg` | Background for info theme |
46
+ | `text-button-info-text` | `--button-info-text` | Text color for info theme |
47
+ | `bg-button-warn-bg` | `--button-warn-bg` | Background for warn theme |
48
+ | `text-button-warn-text` | `--button-warn-text` | Text color for warn theme |
49
+ | `bg-button-danger-bg` | `--button-danger-bg` | Background for danger theme |
50
+ | `text-button-danger-text` | `--button-danger-text` | Text color for danger theme |
51
+ | `bg-button-success-bg` | `--button-success-bg` | Background for success theme |
52
+ | `text-button-success-text` | `--button-success-text` | Text color for success theme |
53
+ | `bg-button-muted-bg` | `--button-muted-bg` | Background for muted theme |
54
+ | `text-button-muted-text` | `--button-muted-text` | Text color for muted theme |
55
+ | `bg-disabled` | `--disabled` | Background for disabled/loading states |
56
+ | `border-card-border` | `--card-border` | Border color for neutral theme |
57
+ | `rounded-button` | `--radius-button` | Default border radius |
58
+ | `focus-visible:ring-ring` | `--ring` | Focus ring color |
59
59
 
60
60
  ## Theme Variants
61
61
 
@@ -131,7 +131,7 @@ import { PlusIcon } from "@phosphor-icons/react";
131
131
 
132
132
  ```tsx
133
133
  <Button as="a" href="/dashboard" theme="primary">
134
- Go to Dashboard
134
+ Go to Dashboard
135
135
  </Button>
136
136
  ```
137
137