@billabex/ui-components 0.0.0 → 0.1.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 (329) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +135 -0
  3. package/dist/components/badge/badge.d.ts +19 -0
  4. package/dist/components/badge/badge.d.ts.map +1 -0
  5. package/dist/components/badge/badge.recipe.d.ts +26 -0
  6. package/dist/components/badge/badge.recipe.d.ts.map +1 -0
  7. package/dist/components/badge/badge.spec.d.ts +2 -0
  8. package/dist/components/badge/badge.spec.d.ts.map +1 -0
  9. package/dist/components/badge/badge.stories.d.ts +33 -0
  10. package/dist/components/badge/badge.stories.d.ts.map +1 -0
  11. package/dist/components/badge/index.d.ts +5 -0
  12. package/dist/components/badge/index.d.ts.map +1 -0
  13. package/dist/components/banner/banner.d.ts +17 -0
  14. package/dist/components/banner/banner.d.ts.map +1 -0
  15. package/dist/components/banner/banner.recipe.d.ts +31 -0
  16. package/dist/components/banner/banner.recipe.d.ts.map +1 -0
  17. package/dist/components/banner/banner.spec.d.ts +2 -0
  18. package/dist/components/banner/banner.spec.d.ts.map +1 -0
  19. package/dist/components/banner/banner.stories.d.ts +32 -0
  20. package/dist/components/banner/banner.stories.d.ts.map +1 -0
  21. package/dist/components/banner/index.d.ts +5 -0
  22. package/dist/components/banner/index.d.ts.map +1 -0
  23. package/dist/components/breadcrumb/breadcrumb.d.ts +20 -0
  24. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  25. package/dist/components/breadcrumb/breadcrumb.recipe.d.ts +2 -0
  26. package/dist/components/breadcrumb/breadcrumb.recipe.d.ts.map +1 -0
  27. package/dist/components/breadcrumb/breadcrumb.spec.d.ts +2 -0
  28. package/dist/components/breadcrumb/breadcrumb.spec.d.ts.map +1 -0
  29. package/dist/components/breadcrumb/breadcrumb.stories.d.ts +23 -0
  30. package/dist/components/breadcrumb/breadcrumb.stories.d.ts.map +1 -0
  31. package/dist/components/breadcrumb/index.d.ts +4 -0
  32. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  33. package/dist/components/button/button.d.ts +5 -1
  34. package/dist/components/button/button.d.ts.map +1 -1
  35. package/dist/components/button/button.spec.d.ts +2 -0
  36. package/dist/components/button/button.spec.d.ts.map +1 -0
  37. package/dist/components/button/button.stories.d.ts +4 -1
  38. package/dist/components/button/button.stories.d.ts.map +1 -1
  39. package/dist/components/card/card.d.ts +15 -0
  40. package/dist/components/card/card.d.ts.map +1 -0
  41. package/dist/components/card/card.recipe.d.ts +10 -0
  42. package/dist/components/card/card.recipe.d.ts.map +1 -0
  43. package/dist/components/card/card.spec.d.ts +2 -0
  44. package/dist/components/card/card.spec.d.ts.map +1 -0
  45. package/dist/components/card/card.stories.d.ts +25 -0
  46. package/dist/components/card/card.stories.d.ts.map +1 -0
  47. package/dist/components/card/index.d.ts +5 -0
  48. package/dist/components/card/index.d.ts.map +1 -0
  49. package/dist/components/checkbox/checkbox.d.ts +12 -0
  50. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  51. package/dist/components/checkbox/checkbox.recipe.d.ts +3 -0
  52. package/dist/components/checkbox/checkbox.recipe.d.ts.map +1 -0
  53. package/dist/components/checkbox/checkbox.spec.d.ts +2 -0
  54. package/dist/components/checkbox/checkbox.spec.d.ts.map +1 -0
  55. package/dist/components/checkbox/checkbox.stories.d.ts +35 -0
  56. package/dist/components/checkbox/checkbox.stories.d.ts.map +1 -0
  57. package/dist/components/checkbox/index.d.ts +4 -0
  58. package/dist/components/checkbox/index.d.ts.map +1 -0
  59. package/dist/components/divider/divider.d.ts +13 -0
  60. package/dist/components/divider/divider.d.ts.map +1 -0
  61. package/dist/components/divider/divider.recipe.d.ts +14 -0
  62. package/dist/components/divider/divider.recipe.d.ts.map +1 -0
  63. package/dist/components/divider/divider.spec.d.ts +2 -0
  64. package/dist/components/divider/divider.spec.d.ts.map +1 -0
  65. package/dist/components/divider/divider.stories.d.ts +22 -0
  66. package/dist/components/divider/divider.stories.d.ts.map +1 -0
  67. package/dist/components/divider/index.d.ts +5 -0
  68. package/dist/components/divider/index.d.ts.map +1 -0
  69. package/dist/components/dropdown/dropdown-item.d.ts +18 -0
  70. package/dist/components/dropdown/dropdown-item.d.ts.map +1 -0
  71. package/dist/components/dropdown/dropdown-item.recipe.d.ts +9 -0
  72. package/dist/components/dropdown/dropdown-item.recipe.d.ts.map +1 -0
  73. package/dist/components/dropdown/dropdown-item.spec.d.ts +2 -0
  74. package/dist/components/dropdown/dropdown-item.spec.d.ts.map +1 -0
  75. package/dist/components/dropdown/dropdown-item.stories.d.ts +34 -0
  76. package/dist/components/dropdown/dropdown-item.stories.d.ts.map +1 -0
  77. package/dist/components/dropdown/dropdown-menu.d.ts +13 -0
  78. package/dist/components/dropdown/dropdown-menu.d.ts.map +1 -0
  79. package/dist/components/dropdown/dropdown-menu.recipe.d.ts +2 -0
  80. package/dist/components/dropdown/dropdown-menu.recipe.d.ts.map +1 -0
  81. package/dist/components/dropdown/dropdown-menu.spec.d.ts +2 -0
  82. package/dist/components/dropdown/dropdown-menu.spec.d.ts.map +1 -0
  83. package/dist/components/dropdown/dropdown-menu.stories.d.ts +16 -0
  84. package/dist/components/dropdown/dropdown-menu.stories.d.ts.map +1 -0
  85. package/dist/components/dropdown/index.d.ts +7 -0
  86. package/dist/components/dropdown/index.d.ts.map +1 -0
  87. package/dist/components/empty-state/empty-state.d.ts +21 -0
  88. package/dist/components/empty-state/empty-state.d.ts.map +1 -0
  89. package/dist/components/empty-state/empty-state.recipe.d.ts +52 -0
  90. package/dist/components/empty-state/empty-state.recipe.d.ts.map +1 -0
  91. package/dist/components/empty-state/empty-state.spec.d.ts +2 -0
  92. package/dist/components/empty-state/empty-state.spec.d.ts.map +1 -0
  93. package/dist/components/empty-state/empty-state.stories.d.ts +35 -0
  94. package/dist/components/empty-state/empty-state.stories.d.ts.map +1 -0
  95. package/dist/components/empty-state/index.d.ts +5 -0
  96. package/dist/components/empty-state/index.d.ts.map +1 -0
  97. package/dist/components/filter/filter-button.d.ts +18 -0
  98. package/dist/components/filter/filter-button.d.ts.map +1 -0
  99. package/dist/components/filter/filter-button.recipe.d.ts +13 -0
  100. package/dist/components/filter/filter-button.recipe.d.ts.map +1 -0
  101. package/dist/components/filter/filter-button.spec.d.ts +2 -0
  102. package/dist/components/filter/filter-button.spec.d.ts.map +1 -0
  103. package/dist/components/filter/filter-button.stories.d.ts +29 -0
  104. package/dist/components/filter/filter-button.stories.d.ts.map +1 -0
  105. package/dist/components/filter/filter-row.d.ts +12 -0
  106. package/dist/components/filter/filter-row.d.ts.map +1 -0
  107. package/dist/components/filter/filter-row.recipe.d.ts +2 -0
  108. package/dist/components/filter/filter-row.recipe.d.ts.map +1 -0
  109. package/dist/components/filter/filter-row.spec.d.ts +2 -0
  110. package/dist/components/filter/filter-row.spec.d.ts.map +1 -0
  111. package/dist/components/filter/filter-row.stories.d.ts +16 -0
  112. package/dist/components/filter/filter-row.stories.d.ts.map +1 -0
  113. package/dist/components/filter/index.d.ts +7 -0
  114. package/dist/components/filter/index.d.ts.map +1 -0
  115. package/dist/components/form-field/form-field.d.ts +18 -0
  116. package/dist/components/form-field/form-field.d.ts.map +1 -0
  117. package/dist/components/form-field/form-field.recipe.d.ts +13 -0
  118. package/dist/components/form-field/form-field.recipe.d.ts.map +1 -0
  119. package/dist/components/form-field/form-field.spec.d.ts +2 -0
  120. package/dist/components/form-field/form-field.spec.d.ts.map +1 -0
  121. package/dist/components/form-field/form-field.stories.d.ts +36 -0
  122. package/dist/components/form-field/form-field.stories.d.ts.map +1 -0
  123. package/dist/components/form-field/index.d.ts +4 -0
  124. package/dist/components/form-field/index.d.ts.map +1 -0
  125. package/dist/components/icon-button/icon-button.d.ts +20 -0
  126. package/dist/components/icon-button/icon-button.d.ts.map +1 -0
  127. package/dist/components/icon-button/icon-button.recipe.d.ts +14 -0
  128. package/dist/components/icon-button/icon-button.recipe.d.ts.map +1 -0
  129. package/dist/components/icon-button/icon-button.spec.d.ts +2 -0
  130. package/dist/components/icon-button/icon-button.spec.d.ts.map +1 -0
  131. package/dist/components/icon-button/icon-button.stories.d.ts +34 -0
  132. package/dist/components/icon-button/icon-button.stories.d.ts.map +1 -0
  133. package/dist/components/icon-button/index.d.ts +5 -0
  134. package/dist/components/icon-button/index.d.ts.map +1 -0
  135. package/dist/components/info-row/index.d.ts +5 -0
  136. package/dist/components/info-row/index.d.ts.map +1 -0
  137. package/dist/components/info-row/info-row.d.ts +19 -0
  138. package/dist/components/info-row/info-row.d.ts.map +1 -0
  139. package/dist/components/info-row/info-row.recipe.d.ts +19 -0
  140. package/dist/components/info-row/info-row.recipe.d.ts.map +1 -0
  141. package/dist/components/info-row/info-row.spec.d.ts +2 -0
  142. package/dist/components/info-row/info-row.spec.d.ts.map +1 -0
  143. package/dist/components/info-row/info-row.stories.d.ts +38 -0
  144. package/dist/components/info-row/info-row.stories.d.ts.map +1 -0
  145. package/dist/components/input/index.d.ts +4 -0
  146. package/dist/components/input/index.d.ts.map +1 -0
  147. package/dist/components/input/input.d.ts +14 -0
  148. package/dist/components/input/input.d.ts.map +1 -0
  149. package/dist/components/input/input.recipe.d.ts +15 -0
  150. package/dist/components/input/input.recipe.d.ts.map +1 -0
  151. package/dist/components/input/input.spec.d.ts +2 -0
  152. package/dist/components/input/input.spec.d.ts.map +1 -0
  153. package/dist/components/input/input.stories.d.ts +40 -0
  154. package/dist/components/input/input.stories.d.ts.map +1 -0
  155. package/dist/components/link/index.d.ts +5 -0
  156. package/dist/components/link/index.d.ts.map +1 -0
  157. package/dist/components/link/link.d.ts +15 -0
  158. package/dist/components/link/link.d.ts.map +1 -0
  159. package/dist/components/link/link.recipe.d.ts +20 -0
  160. package/dist/components/link/link.recipe.d.ts.map +1 -0
  161. package/dist/components/link/link.spec.d.ts +2 -0
  162. package/dist/components/link/link.spec.d.ts.map +1 -0
  163. package/dist/components/link/link.stories.d.ts +34 -0
  164. package/dist/components/link/link.stories.d.ts.map +1 -0
  165. package/dist/components/list-item/index.d.ts +4 -0
  166. package/dist/components/list-item/index.d.ts.map +1 -0
  167. package/dist/components/list-item/list-item.d.ts +20 -0
  168. package/dist/components/list-item/list-item.d.ts.map +1 -0
  169. package/dist/components/list-item/list-item.recipe.d.ts +14 -0
  170. package/dist/components/list-item/list-item.recipe.d.ts.map +1 -0
  171. package/dist/components/list-item/list-item.spec.d.ts +2 -0
  172. package/dist/components/list-item/list-item.spec.d.ts.map +1 -0
  173. package/dist/components/list-item/list-item.stories.d.ts +38 -0
  174. package/dist/components/list-item/list-item.stories.d.ts.map +1 -0
  175. package/dist/components/modal/index.d.ts +4 -0
  176. package/dist/components/modal/index.d.ts.map +1 -0
  177. package/dist/components/modal/modal.d.ts +18 -0
  178. package/dist/components/modal/modal.d.ts.map +1 -0
  179. package/dist/components/modal/modal.recipe.d.ts +6 -0
  180. package/dist/components/modal/modal.recipe.d.ts.map +1 -0
  181. package/dist/components/modal/modal.spec.d.ts +2 -0
  182. package/dist/components/modal/modal.spec.d.ts.map +1 -0
  183. package/dist/components/modal/modal.stories.d.ts +27 -0
  184. package/dist/components/modal/modal.stories.d.ts.map +1 -0
  185. package/dist/components/nav-item/index.d.ts +4 -0
  186. package/dist/components/nav-item/index.d.ts.map +1 -0
  187. package/dist/components/nav-item/nav-item.d.ts +18 -0
  188. package/dist/components/nav-item/nav-item.d.ts.map +1 -0
  189. package/dist/components/nav-item/nav-item.recipe.d.ts +9 -0
  190. package/dist/components/nav-item/nav-item.recipe.d.ts.map +1 -0
  191. package/dist/components/nav-item/nav-item.spec.d.ts +2 -0
  192. package/dist/components/nav-item/nav-item.spec.d.ts.map +1 -0
  193. package/dist/components/nav-item/nav-item.stories.d.ts +28 -0
  194. package/dist/components/nav-item/nav-item.stories.d.ts.map +1 -0
  195. package/dist/components/page-header/index.d.ts +4 -0
  196. package/dist/components/page-header/index.d.ts.map +1 -0
  197. package/dist/components/page-header/page-header.d.ts +12 -0
  198. package/dist/components/page-header/page-header.d.ts.map +1 -0
  199. package/dist/components/page-header/page-header.recipe.d.ts +2 -0
  200. package/dist/components/page-header/page-header.recipe.d.ts.map +1 -0
  201. package/dist/components/page-header/page-header.spec.d.ts +2 -0
  202. package/dist/components/page-header/page-header.spec.d.ts.map +1 -0
  203. package/dist/components/page-header/page-header.stories.d.ts +15 -0
  204. package/dist/components/page-header/page-header.stories.d.ts.map +1 -0
  205. package/dist/components/panel-header/index.d.ts +4 -0
  206. package/dist/components/panel-header/index.d.ts.map +1 -0
  207. package/dist/components/panel-header/panel-header.d.ts +21 -0
  208. package/dist/components/panel-header/panel-header.d.ts.map +1 -0
  209. package/dist/components/panel-header/panel-header.recipe.d.ts +6 -0
  210. package/dist/components/panel-header/panel-header.recipe.d.ts.map +1 -0
  211. package/dist/components/panel-header/panel-header.spec.d.ts +2 -0
  212. package/dist/components/panel-header/panel-header.spec.d.ts.map +1 -0
  213. package/dist/components/panel-header/panel-header.stories.d.ts +25 -0
  214. package/dist/components/panel-header/panel-header.stories.d.ts.map +1 -0
  215. package/dist/components/section-title/index.d.ts +4 -0
  216. package/dist/components/section-title/index.d.ts.map +1 -0
  217. package/dist/components/section-title/section-title.d.ts +14 -0
  218. package/dist/components/section-title/section-title.d.ts.map +1 -0
  219. package/dist/components/section-title/section-title.recipe.d.ts +12 -0
  220. package/dist/components/section-title/section-title.recipe.d.ts.map +1 -0
  221. package/dist/components/section-title/section-title.spec.d.ts +2 -0
  222. package/dist/components/section-title/section-title.spec.d.ts.map +1 -0
  223. package/dist/components/section-title/section-title.stories.d.ts +28 -0
  224. package/dist/components/section-title/section-title.stories.d.ts.map +1 -0
  225. package/dist/components/select/index.d.ts +4 -0
  226. package/dist/components/select/index.d.ts.map +1 -0
  227. package/dist/components/select/select.d.ts +16 -0
  228. package/dist/components/select/select.d.ts.map +1 -0
  229. package/dist/components/select/select.recipe.d.ts +15 -0
  230. package/dist/components/select/select.recipe.d.ts.map +1 -0
  231. package/dist/components/select/select.spec.d.ts +2 -0
  232. package/dist/components/select/select.spec.d.ts.map +1 -0
  233. package/dist/components/select/select.stories.d.ts +35 -0
  234. package/dist/components/select/select.stories.d.ts.map +1 -0
  235. package/dist/components/sidebar/index.d.ts +4 -0
  236. package/dist/components/sidebar/index.d.ts.map +1 -0
  237. package/dist/components/sidebar/sidebar.d.ts +16 -0
  238. package/dist/components/sidebar/sidebar.d.ts.map +1 -0
  239. package/dist/components/sidebar/sidebar.recipe.d.ts +5 -0
  240. package/dist/components/sidebar/sidebar.recipe.d.ts.map +1 -0
  241. package/dist/components/sidebar/sidebar.spec.d.ts +2 -0
  242. package/dist/components/sidebar/sidebar.spec.d.ts.map +1 -0
  243. package/dist/components/sidebar/sidebar.stories.d.ts +17 -0
  244. package/dist/components/sidebar/sidebar.stories.d.ts.map +1 -0
  245. package/dist/components/stepper/index.d.ts +7 -0
  246. package/dist/components/stepper/index.d.ts.map +1 -0
  247. package/dist/components/stepper/stepper-item.d.ts +20 -0
  248. package/dist/components/stepper/stepper-item.d.ts.map +1 -0
  249. package/dist/components/stepper/stepper-item.recipe.d.ts +35 -0
  250. package/dist/components/stepper/stepper-item.recipe.d.ts.map +1 -0
  251. package/dist/components/stepper/stepper-item.spec.d.ts +2 -0
  252. package/dist/components/stepper/stepper-item.spec.d.ts.map +1 -0
  253. package/dist/components/stepper/stepper-item.stories.d.ts +35 -0
  254. package/dist/components/stepper/stepper-item.stories.d.ts.map +1 -0
  255. package/dist/components/stepper/stepper.d.ts +12 -0
  256. package/dist/components/stepper/stepper.d.ts.map +1 -0
  257. package/dist/components/stepper/stepper.recipe.d.ts +4 -0
  258. package/dist/components/stepper/stepper.recipe.d.ts.map +1 -0
  259. package/dist/components/stepper/stepper.spec.d.ts +2 -0
  260. package/dist/components/stepper/stepper.spec.d.ts.map +1 -0
  261. package/dist/components/stepper/stepper.stories.d.ts +16 -0
  262. package/dist/components/stepper/stepper.stories.d.ts.map +1 -0
  263. package/dist/components/tab-item/index.d.ts +4 -0
  264. package/dist/components/tab-item/index.d.ts.map +1 -0
  265. package/dist/components/tab-item/tab-item.d.ts +14 -0
  266. package/dist/components/tab-item/tab-item.d.ts.map +1 -0
  267. package/dist/components/tab-item/tab-item.recipe.d.ts +10 -0
  268. package/dist/components/tab-item/tab-item.recipe.d.ts.map +1 -0
  269. package/dist/components/tab-item/tab-item.spec.d.ts +2 -0
  270. package/dist/components/tab-item/tab-item.spec.d.ts.map +1 -0
  271. package/dist/components/tab-item/tab-item.stories.d.ts +28 -0
  272. package/dist/components/tab-item/tab-item.stories.d.ts.map +1 -0
  273. package/dist/components/table/index.d.ts +7 -0
  274. package/dist/components/table/index.d.ts.map +1 -0
  275. package/dist/components/table/table-row.d.ts +14 -0
  276. package/dist/components/table/table-row.d.ts.map +1 -0
  277. package/dist/components/table/table-row.recipe.d.ts +11 -0
  278. package/dist/components/table/table-row.recipe.d.ts.map +1 -0
  279. package/dist/components/table/table-row.spec.d.ts +2 -0
  280. package/dist/components/table/table-row.spec.d.ts.map +1 -0
  281. package/dist/components/table/table-row.stories.d.ts +23 -0
  282. package/dist/components/table/table-row.stories.d.ts.map +1 -0
  283. package/dist/components/table/table.d.ts +14 -0
  284. package/dist/components/table/table.d.ts.map +1 -0
  285. package/dist/components/table/table.recipe.d.ts +3 -0
  286. package/dist/components/table/table.recipe.d.ts.map +1 -0
  287. package/dist/components/table/table.spec.d.ts +2 -0
  288. package/dist/components/table/table.spec.d.ts.map +1 -0
  289. package/dist/components/table/table.stories.d.ts +16 -0
  290. package/dist/components/table/table.stories.d.ts.map +1 -0
  291. package/dist/components/toast/index.d.ts +5 -0
  292. package/dist/components/toast/index.d.ts.map +1 -0
  293. package/dist/components/toast/toast.d.ts +19 -0
  294. package/dist/components/toast/toast.d.ts.map +1 -0
  295. package/dist/components/toast/toast.recipe.d.ts +18 -0
  296. package/dist/components/toast/toast.recipe.d.ts.map +1 -0
  297. package/dist/components/toast/toast.spec.d.ts +2 -0
  298. package/dist/components/toast/toast.spec.d.ts.map +1 -0
  299. package/dist/components/toast/toast.stories.d.ts +31 -0
  300. package/dist/components/toast/toast.stories.d.ts.map +1 -0
  301. package/dist/components/toggle/index.d.ts +4 -0
  302. package/dist/components/toggle/index.d.ts.map +1 -0
  303. package/dist/components/toggle/toggle.d.ts +16 -0
  304. package/dist/components/toggle/toggle.d.ts.map +1 -0
  305. package/dist/components/toggle/toggle.recipe.d.ts +15 -0
  306. package/dist/components/toggle/toggle.recipe.d.ts.map +1 -0
  307. package/dist/components/toggle/toggle.spec.d.ts +2 -0
  308. package/dist/components/toggle/toggle.spec.d.ts.map +1 -0
  309. package/dist/components/toggle/toggle.stories.d.ts +35 -0
  310. package/dist/components/toggle/toggle.stories.d.ts.map +1 -0
  311. package/dist/components/tooltip/index.d.ts +4 -0
  312. package/dist/components/tooltip/index.d.ts.map +1 -0
  313. package/dist/components/tooltip/tooltip.d.ts +13 -0
  314. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  315. package/dist/components/tooltip/tooltip.recipe.d.ts +2 -0
  316. package/dist/components/tooltip/tooltip.recipe.d.ts.map +1 -0
  317. package/dist/components/tooltip/tooltip.spec.d.ts +2 -0
  318. package/dist/components/tooltip/tooltip.spec.d.ts.map +1 -0
  319. package/dist/components/tooltip/tooltip.stories.d.ts +21 -0
  320. package/dist/components/tooltip/tooltip.stories.d.ts.map +1 -0
  321. package/dist/index.d.ts +96 -0
  322. package/dist/index.d.ts.map +1 -1
  323. package/dist/index.js +2301 -194
  324. package/package.json +18 -22
  325. package/dist/components/button/button.test.d.ts +0 -2
  326. package/dist/components/button/button.test.d.ts.map +0 -1
  327. package/dist/preset.d.ts +0 -2
  328. package/dist/preset.d.ts.map +0 -1
  329. package/dist/preset.js +0 -130
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Billabex
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,135 @@
1
+ # @billabex/ui-components
2
+
3
+ [![npm](https://img.shields.io/npm/v/@billabex/ui-components?color=d4a853)](https://www.npmjs.com/package/@billabex/ui-components)
4
+
5
+ RSC-compatible React components for the [Billabex](https://next.billabex.com) design system. They ship with prebuilt CSS, so consuming apps do **not** need Panda CSS just to use the components.
6
+
7
+ Part of the [Lingot](https://github.com/billabex/lingot) monorepo. 📖 [Browse the Storybook →](https://main--<your-chromatic-app-id>.chromatic.com)
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ pnpm add @billabex/ui-components
13
+ ```
14
+
15
+ ## Setup
16
+
17
+ Import the distributed stylesheet once in your app entrypoint, then use the components:
18
+
19
+ ```ts
20
+ import '@billabex/ui-components/styles.css'
21
+ ```
22
+
23
+ ```tsx
24
+ import { Button } from '@billabex/ui-components'
25
+ ```
26
+
27
+ ## Optional Panda CSS Preset
28
+
29
+ If your app already uses Panda CSS and you want Billabex tokens/conditions in your own config, install the dedicated preset package:
30
+
31
+ ```bash
32
+ pnpm add -D @billabex/ui-preset @pandacss/dev
33
+ ```
34
+
35
+ ```ts
36
+ // panda.config.ts
37
+ import { defineConfig } from '@pandacss/dev'
38
+ import { billabexPreset } from '@billabex/ui-preset'
39
+
40
+ export default defineConfig({
41
+ presets: [billabexPreset],
42
+ // ...
43
+ })
44
+ ```
45
+
46
+ ## Components
47
+
48
+ All components are RSC-compatible by default — only components that require interactivity use `"use client"`.
49
+
50
+ ### Actions
51
+
52
+ | Component | Description |
53
+ |-----------|-------------|
54
+ | `Button` | Primary action trigger (`primary` \| `secondary` \| `ghost` \| `destructive`) |
55
+ | `IconButton` | Icon-only action button |
56
+ | `Link` | Anchor-style navigation |
57
+ | `Toggle` | On/off switch |
58
+ | `FilterButton` | Active/inactive filter chip |
59
+
60
+ ### Data Display
61
+
62
+ | Component | Description |
63
+ |-----------|-------------|
64
+ | `Badge` | Status labels and counters |
65
+ | `Card` | Content container with optional header/footer |
66
+ | `Divider` | Horizontal or vertical separator |
67
+ | `EmptyState` | Placeholder for empty lists/views |
68
+ | `InfoRow` | Label–value pair row |
69
+ | `ListItem` | Row in a list with title, meta, preview |
70
+ | `Table` | Data table container with header |
71
+ | `TableRow` | Individual row in a table |
72
+ | `Tooltip` | Hover info popup |
73
+
74
+ ### Data Entry
75
+
76
+ | Component | Description |
77
+ |-----------|-------------|
78
+ | `Checkbox` | Boolean toggle input |
79
+ | `FormField` | Label + input + helper/error wrapper |
80
+ | `Input` | Text input field |
81
+ | `Select` | Dropdown select input |
82
+
83
+ ### Feedback
84
+
85
+ | Component | Description |
86
+ |-----------|-------------|
87
+ | `Banner` | Contextual messages (info, warning, error, success) |
88
+ | `Modal` | Dialog overlay |
89
+ | `Toast` | Transient notification |
90
+
91
+ ### Navigation
92
+
93
+ | Component | Description |
94
+ |-----------|-------------|
95
+ | `Breadcrumb` | Navigation breadcrumb trail |
96
+ | `NavItem` | Sidebar navigation entry |
97
+ | `PageHeader` | Top-level page title bar with actions |
98
+ | `SectionTitle` | Collapsible section heading |
99
+ | `Sidebar` | App-level sidebar with header, content, footer |
100
+ | `Stepper` | Multi-step progress indicator |
101
+ | `StepperItem` | Individual step in a stepper |
102
+ | `TabItem` | Individual tab trigger |
103
+
104
+ ### Layout
105
+
106
+ | Component | Description |
107
+ |-----------|-------------|
108
+ | `DropdownMenu` | Menu container for dropdown items |
109
+ | `DropdownItem` | Individual item inside a dropdown menu |
110
+ | `FilterRow` | Container for filter buttons |
111
+ | `PanelHeader` | Panel title bar with filters and actions |
112
+
113
+ ### Quick start
114
+
115
+ ```tsx
116
+ import { Button } from '@billabex/ui-components'
117
+
118
+ <Button variant="primary" size="medium">
119
+ Get Started
120
+ </Button>
121
+ ```
122
+ ## What the optional preset includes
123
+
124
+ The `billabexPreset` provides:
125
+
126
+ - **Colors**: neutral, gold, terracotta scales + semantic aliases (bg, text, action, status, border)
127
+ - **Spacing**: `xs` through `5xl` (4px–64px)
128
+ - **Radii**: `sm`, `md`, `lg`, `xl`, `full`
129
+ - **Shadows**: `sm`, `md`, `lg`
130
+ - **Typography**: heading, body, label, caption font styles
131
+ - **Breakpoints**: `sm` (350px) through `desktopXl` (1920px)
132
+
133
+ ## License
134
+
135
+ [MIT](https://github.com/billabex/lingot/blob/main/LICENSE)
@@ -0,0 +1,19 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { BadgeVariant } from './badge.recipe';
3
+ export interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
4
+ /** Color variant */
5
+ variant?: BadgeVariant;
6
+ /** Optional icon before the label (12px) */
7
+ leftIcon?: ReactNode;
8
+ /** Optional icon after the label (12px) */
9
+ rightIcon?: ReactNode;
10
+ /** Badge content */
11
+ children: ReactNode;
12
+ }
13
+ /**
14
+ * Badge — A small status indicator.
15
+ *
16
+ * RSC-compatible (no `'use client'` needed).
17
+ */
18
+ export declare function Badge({ variant, leftIcon, rightIcon, children, className, ...props }: BadgeProps): import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,eAAe,CAAC;IACjE,oBAAoB;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,oBAAoB;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAmB,EACnB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,UAAU,2CAmBZ"}
@@ -0,0 +1,26 @@
1
+ export declare const badgeRecipe: import('../../../styled-system/types').RecipeRuntimeFn<{
2
+ variant: {
3
+ neutral: {
4
+ bg: "bg.muted";
5
+ color: "text.secondary";
6
+ };
7
+ info: {
8
+ bg: "status.infoSubtle";
9
+ color: "status.info";
10
+ };
11
+ success: {
12
+ bg: "status.successSubtle";
13
+ color: "status.success";
14
+ };
15
+ warning: {
16
+ bg: "status.warningSubtle";
17
+ color: "status.warning";
18
+ };
19
+ error: {
20
+ bg: "status.errorSubtle";
21
+ color: "status.error";
22
+ };
23
+ };
24
+ }>;
25
+ export type BadgeVariant = "neutral" | "info" | "success" | "warning" | "error";
26
+ //# sourceMappingURL=badge.recipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.recipe.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.recipe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;EAyCtB,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=badge.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.spec.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ import { Badge } from './badge';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Badge;
6
+ tags: string[];
7
+ argTypes: {
8
+ variant: {
9
+ control: "select";
10
+ options: string[];
11
+ description: string;
12
+ };
13
+ children: {
14
+ control: "text";
15
+ description: string;
16
+ };
17
+ };
18
+ args: {
19
+ children: string;
20
+ variant: "neutral";
21
+ };
22
+ };
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+ export declare const Neutral: Story;
26
+ export declare const InfoBadge: Story;
27
+ export declare const Success: Story;
28
+ export declare const Warning: Story;
29
+ export declare const Error: Story;
30
+ export declare const WithIcons: Story;
31
+ /** All variants side by side */
32
+ export declare const AllVariants: Story;
33
+ //# sourceMappingURL=badge.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.stories.d.ts","sourceRoot":"","sources":["../../../src/components/badge/badge.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;CAgBoB,CAAC;AAE/B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Badge } from './badge';
2
+ export type { BadgeProps } from './badge';
3
+ export { badgeRecipe } from './badge.recipe';
4
+ export type { BadgeVariant } from './badge.recipe';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { BannerVariant } from './banner.recipe';
3
+ export interface BannerProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Color variant */
5
+ variant?: BannerVariant;
6
+ /** Optional icon on the left (16px) */
7
+ icon?: ReactNode;
8
+ /** Banner content */
9
+ children: ReactNode;
10
+ }
11
+ /**
12
+ * Banner — An alert/notification banner.
13
+ *
14
+ * RSC-compatible (no `'use client'` needed).
15
+ */
16
+ export declare function Banner({ variant, icon, children, className, ...props }: BannerProps): import("react/jsx-runtime").JSX.Element;
17
+ //# sourceMappingURL=banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/components/banner/banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE,oBAAoB;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,WAAW,2CAeb"}
@@ -0,0 +1,31 @@
1
+ export declare const bannerRecipe: import('../../../styled-system/types').RecipeRuntimeFn<{
2
+ variant: {
3
+ neutral: {
4
+ bg: "bg.muted";
5
+ borderColor: "border.default";
6
+ color: "text.secondary";
7
+ };
8
+ info: {
9
+ bg: "status.infoSubtle";
10
+ borderColor: "status.info";
11
+ color: "status.info";
12
+ };
13
+ warning: {
14
+ bg: "status.warningSubtle";
15
+ borderColor: "status.warning";
16
+ color: "status.warning";
17
+ };
18
+ error: {
19
+ bg: "status.errorSubtle";
20
+ borderColor: "status.error";
21
+ color: "status.error";
22
+ };
23
+ success: {
24
+ bg: "status.successSubtle";
25
+ borderColor: "status.success";
26
+ color: "status.success";
27
+ };
28
+ };
29
+ }>;
30
+ export type BannerVariant = "neutral" | "info" | "warning" | "error" | "success";
31
+ //# sourceMappingURL=banner.recipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.recipe.d.ts","sourceRoot":"","sources":["../../../src/components/banner/banner.recipe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=banner.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.spec.d.ts","sourceRoot":"","sources":["../../../src/components/banner/banner.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ import { Banner } from './banner';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Banner;
6
+ tags: string[];
7
+ argTypes: {
8
+ variant: {
9
+ control: "select";
10
+ options: string[];
11
+ description: string;
12
+ };
13
+ children: {
14
+ control: "text";
15
+ description: string;
16
+ };
17
+ };
18
+ args: {
19
+ children: string;
20
+ variant: "neutral";
21
+ };
22
+ };
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+ export declare const Neutral: Story;
26
+ export declare const InfoBanner: Story;
27
+ export declare const Warning: Story;
28
+ export declare const Error: Story;
29
+ export declare const Success: Story;
30
+ /** All variants stacked */
31
+ export declare const AllVariants: Story;
32
+ //# sourceMappingURL=banner.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"banner.stories.d.ts","sourceRoot":"","sources":["../../../src/components/banner/banner.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;CAgBqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,WAAW,EAAE,KAUzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Banner } from './banner';
2
+ export type { BannerProps } from './banner';
3
+ export { bannerRecipe } from './banner.recipe';
4
+ export type { BannerVariant } from './banner.recipe';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/banner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ export interface BreadcrumbItem {
3
+ /** Display label */
4
+ label: string;
5
+ /** Link URL — omit for the current/last item */
6
+ href?: string;
7
+ }
8
+ export interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
9
+ /** Breadcrumb items — last item is treated as current page */
10
+ items: BreadcrumbItem[];
11
+ /** Custom separator (defaults to chevron-right) */
12
+ separator?: ReactNode;
13
+ }
14
+ /**
15
+ * Breadcrumb — A navigation breadcrumb trail.
16
+ *
17
+ * RSC-compatible (no `'use client'` needed).
18
+ */
19
+ export declare function Breadcrumb({ items, separator, className, ...props }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,WAAW,CAAC;IAClE,8DAA8D;IAC9D,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,mDAAmD;IACnD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoBD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,2CAkCjB"}
@@ -0,0 +1,2 @@
1
+ export declare const breadcrumbRecipe: import('../../../styled-system/types').RecipeRuntimeFn<{}>;
2
+ //# sourceMappingURL=breadcrumb.recipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.recipe.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.recipe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,4DAe3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=breadcrumb.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.spec.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ import { Breadcrumb } from './breadcrumb';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Breadcrumb;
6
+ tags: string[];
7
+ args: {
8
+ items: ({
9
+ label: string;
10
+ href: string;
11
+ } | {
12
+ label: string;
13
+ href?: undefined;
14
+ })[];
15
+ };
16
+ };
17
+ export default meta;
18
+ type Story = StoryObj<typeof meta>;
19
+ export declare const Default: Story;
20
+ export declare const TwoItems: Story;
21
+ export declare const ManyItems: Story;
22
+ export declare const CustomSeparator: Story;
23
+ //# sourceMappingURL=breadcrumb.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.stories.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAA,MAAM,IAAI;;;;;;;;;;;;;CAWyB,CAAC;AAEpC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KASvB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAQ7B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { Breadcrumb } from './breadcrumb';
2
+ export type { BreadcrumbProps, BreadcrumbItem } from './breadcrumb';
3
+ export { breadcrumbRecipe } from './breadcrumb.recipe';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/breadcrumb/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -5,6 +5,10 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
5
5
  variant?: ButtonVariant;
6
6
  /** Size preset */
7
7
  size?: ButtonSize;
8
+ /** Optional icon rendered before the label */
9
+ leftIcon?: ReactNode;
10
+ /** Optional icon rendered after the label */
11
+ rightIcon?: ReactNode;
8
12
  /** Content to render inside the button */
9
13
  children: ReactNode;
10
14
  }
@@ -20,5 +24,5 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
20
24
  * </Button>
21
25
  * ```
22
26
  */
23
- export declare function Button({ variant, size, children, className, disabled, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function Button({ variant, size, leftIcon, rightIcon, children, className, disabled, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
24
28
  //# sourceMappingURL=button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAe,EACf,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,2CAUb"}
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjE,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,2BAA2B;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kBAAkB;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAe,EACf,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,WAAW,2CAsBb"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=button.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.spec.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.spec.tsx"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- import { StoryObj } from '@storybook/react';
1
+ import { StoryObj } from '@storybook/react-vite';
2
2
  import { Button } from './button';
3
3
  declare const meta: {
4
4
  title: string;
@@ -39,6 +39,9 @@ export declare const Ghost: Story;
39
39
  export declare const Destructive: Story;
40
40
  export declare const Small: Story;
41
41
  export declare const Disabled: Story;
42
+ export declare const WithLeftIcon: Story;
43
+ export declare const WithRightIcon: Story;
44
+ export declare const WithBothIcons: Story;
42
45
  /** All variants side by side */
43
46
  export declare const AllVariants: Story;
44
47
  /** All sizes side by side */
@@ -1 +1 @@
1
- {"version":3,"file":"button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAMnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC"}
1
+ {"version":3,"file":"button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAMnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAM3B,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,WAAW,EAAE,KASzB,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,QAAQ,EAAE,KAOtB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { HTMLAttributes, ReactNode } from 'react';
2
+ import { CardVariant } from './card.recipe';
3
+ export interface CardProps extends HTMLAttributes<HTMLDivElement> {
4
+ /** Visual variant */
5
+ variant?: CardVariant;
6
+ /** Card content */
7
+ children: ReactNode;
8
+ }
9
+ /**
10
+ * Card — A container with border and optional elevation.
11
+ *
12
+ * RSC-compatible (no `'use client'` needed).
13
+ */
14
+ export declare function Card({ variant, children, className, ...props }: CardProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../src/components/card/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D,qBAAqB;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EACnB,OAAgB,EAChB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,SAAS,2CASX"}
@@ -0,0 +1,10 @@
1
+ export declare const cardRecipe: import('../../../styled-system/types').RecipeRuntimeFn<{
2
+ variant: {
3
+ flat: {};
4
+ elevated: {
5
+ shadow: "sm";
6
+ };
7
+ };
8
+ }>;
9
+ export type CardVariant = "flat" | "elevated";
10
+ //# sourceMappingURL=card.recipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.recipe.d.ts","sourceRoot":"","sources":["../../../src/components/card/card.recipe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;;;;;;EAmBrB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=card.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.spec.d.ts","sourceRoot":"","sources":["../../../src/components/card/card.spec.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { StoryObj } from '@storybook/react-vite';
2
+ import { Card } from './card';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Card;
6
+ tags: string[];
7
+ argTypes: {
8
+ variant: {
9
+ control: "select";
10
+ options: string[];
11
+ description: string;
12
+ };
13
+ };
14
+ args: {
15
+ variant: "flat";
16
+ children: string;
17
+ };
18
+ };
19
+ export default meta;
20
+ type Story = StoryObj<typeof meta>;
21
+ export declare const Flat: Story;
22
+ export declare const Elevated: Story;
23
+ /** Both variants side by side */
24
+ export declare const AllVariants: Story;
25
+ //# sourceMappingURL=card.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.stories.d.ts","sourceRoot":"","sources":["../../../src/components/card/card.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;CAemB,CAAC;AAE9B,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,IAAI,EAAE,KAKlB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,WAAW,EAAE,KAWzB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { Card } from './card';
2
+ export type { CardProps } from './card';
3
+ export { cardRecipe } from './card.recipe';
4
+ export type { CardVariant } from './card.recipe';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/card/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { InputHTMLAttributes } from 'react';
2
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type"> {
3
+ /** Optional label next to the checkbox */
4
+ label?: string;
5
+ }
6
+ /**
7
+ * Checkbox — A styled checkbox input with optional label.
8
+ *
9
+ * RSC-compatible (no `'use client'` needed).
10
+ */
11
+ export declare function Checkbox({ label, className, id, disabled, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAGjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACxF,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,SAAS,EACT,EAAE,EACF,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,aAAa,2CA6Bf"}
@@ -0,0 +1,3 @@
1
+ export declare const checkboxRecipe: import('../../../styled-system/types').RecipeRuntimeFn<{}>;
2
+ export declare const checkboxInputRecipe: import('../../../styled-system/types').RecipeRuntimeFn<{}>;
3
+ //# sourceMappingURL=checkbox.recipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.recipe.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.recipe.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,4DASzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,4DAmC9B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=checkbox.spec.d.ts.map