siesa-ui-kit 1.0.0 → 1.0.2

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 (420) hide show
  1. package/README.md +54 -28
  2. package/claude/settings.local.json +7 -61
  3. package/dist/ButtonTest.d.ts +6 -0
  4. package/dist/ButtonTest.d.ts.map +1 -0
  5. package/dist/components/Alert/Alert.d.ts +23 -0
  6. package/dist/components/Alert/Alert.d.ts.map +1 -0
  7. package/dist/components/Alert/Alert.types.d.ts +46 -0
  8. package/dist/components/Alert/Alert.types.d.ts.map +1 -0
  9. package/dist/components/Avatar/Avatar.d.ts +41 -0
  10. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  11. package/dist/components/Avatar/Avatar.types.d.ts +46 -0
  12. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  13. package/dist/components/Badge/Badge.d.ts +42 -0
  14. package/dist/components/Badge/Badge.d.ts.map +1 -0
  15. package/dist/components/Badge/Badge.types.d.ts +32 -0
  16. package/dist/components/Badge/Badge.types.d.ts.map +1 -0
  17. package/dist/components/Button/Button.d.ts +84 -0
  18. package/dist/components/Button/Button.d.ts.map +1 -0
  19. package/dist/components/Button/Button.types.d.ts +162 -0
  20. package/dist/components/Button/Button.types.d.ts.map +1 -0
  21. package/dist/components/Button/icons.d.ts +26 -0
  22. package/dist/components/Button/icons.d.ts.map +1 -0
  23. package/dist/components/Button/index.d.ts +4 -0
  24. package/dist/components/Button/index.d.ts.map +1 -0
  25. package/dist/components/Checkbox/Checkbox.d.ts +31 -0
  26. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  27. package/dist/components/Checkbox/Checkbox.types.d.ts +53 -0
  28. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
  29. package/dist/components/DescriptionList/DescriptionList.d.ts +38 -0
  30. package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
  31. package/dist/components/DescriptionList/DescriptionList.types.d.ts +27 -0
  32. package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +1 -0
  33. package/dist/components/Divider/Divider.d.ts +33 -0
  34. package/dist/components/Divider/Divider.d.ts.map +1 -0
  35. package/dist/components/Divider/Divider.types.d.ts +22 -0
  36. package/dist/components/Divider/Divider.types.d.ts.map +1 -0
  37. package/dist/components/Dropdown/Dropdown.d.ts +66 -0
  38. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -0
  39. package/dist/components/Dropdown/Dropdown.types.d.ts +124 -0
  40. package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -0
  41. package/dist/components/Dropdown/icons.d.ts +10 -0
  42. package/dist/components/Dropdown/icons.d.ts.map +1 -0
  43. package/dist/components/Dropdown/index.d.ts +4 -0
  44. package/dist/components/Dropdown/index.d.ts.map +1 -0
  45. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +101 -0
  46. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -0
  47. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +95 -0
  48. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -0
  49. package/dist/components/DropdownItemCollapsible/icons.d.ts +19 -0
  50. package/dist/components/DropdownItemCollapsible/icons.d.ts.map +1 -0
  51. package/dist/components/DropdownItemCollapsible/index.d.ts +9 -0
  52. package/dist/components/DropdownItemCollapsible/index.d.ts.map +1 -0
  53. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +75 -0
  54. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +1 -0
  55. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +85 -0
  56. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +1 -0
  57. package/dist/components/DropdownItemHeading/icons.d.ts +48 -0
  58. package/dist/components/DropdownItemHeading/icons.d.ts.map +1 -0
  59. package/dist/components/DropdownItemHeading/index.d.ts +4 -0
  60. package/dist/components/DropdownItemHeading/index.d.ts.map +1 -0
  61. package/dist/components/Input/Input.d.ts +40 -0
  62. package/dist/components/Input/Input.d.ts.map +1 -0
  63. package/dist/components/Input/Input.types.d.ts +71 -0
  64. package/dist/components/Input/Input.types.d.ts.map +1 -0
  65. package/dist/components/Input/icons.d.ts +15 -0
  66. package/dist/components/Input/icons.d.ts.map +1 -0
  67. package/dist/components/Input/index.d.ts +3 -0
  68. package/dist/components/Input/index.d.ts.map +1 -0
  69. package/dist/components/LoginView/LoginView.d.ts +36 -0
  70. package/dist/components/LoginView/LoginView.d.ts.map +1 -0
  71. package/dist/components/LoginView/LoginView.types.d.ts +46 -0
  72. package/dist/components/LoginView/LoginView.types.d.ts.map +1 -0
  73. package/dist/components/LoginView/icons.d.ts +18 -0
  74. package/dist/components/LoginView/icons.d.ts.map +1 -0
  75. package/dist/components/LoginView/index.d.ts +4 -0
  76. package/dist/components/LoginView/index.d.ts.map +1 -0
  77. package/dist/components/Navbar/Navbar.d.ts +63 -0
  78. package/dist/components/Navbar/Navbar.d.ts.map +1 -0
  79. package/dist/components/Navbar/Navbar.types.d.ts +194 -0
  80. package/dist/components/Navbar/Navbar.types.d.ts.map +1 -0
  81. package/dist/components/Navbar/icons.d.ts +12 -0
  82. package/dist/components/Navbar/icons.d.ts.map +1 -0
  83. package/dist/components/Navbar/index.d.ts +4 -0
  84. package/dist/components/Navbar/index.d.ts.map +1 -0
  85. package/dist/components/NavigationBar/NavigationBar.d.ts +75 -0
  86. package/dist/components/NavigationBar/NavigationBar.d.ts.map +1 -0
  87. package/dist/components/NavigationBar/NavigationBar.types.d.ts +63 -0
  88. package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +1 -0
  89. package/dist/components/NavigationBar/index.d.ts +3 -0
  90. package/dist/components/NavigationBar/index.d.ts.map +1 -0
  91. package/dist/components/NavigationRail/NavigationRail.d.ts +7 -0
  92. package/dist/components/NavigationRail/NavigationRail.d.ts.map +1 -0
  93. package/dist/components/NavigationRail/NavigationRail.types.d.ts +92 -0
  94. package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +1 -0
  95. package/dist/components/NavigationRail/index.d.ts +3 -0
  96. package/dist/components/NavigationRail/index.d.ts.map +1 -0
  97. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +90 -0
  98. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -0
  99. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +155 -0
  100. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -0
  101. package/dist/components/NavigationRailItem/index.d.ts +3 -0
  102. package/dist/components/NavigationRailItem/index.d.ts.map +1 -0
  103. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +124 -0
  104. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +1 -0
  105. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +154 -0
  106. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +1 -0
  107. package/dist/components/NavigationRailPanel/index.d.ts +3 -0
  108. package/dist/components/NavigationRailPanel/index.d.ts.map +1 -0
  109. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +99 -0
  110. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -0
  111. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +111 -0
  112. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -0
  113. package/dist/components/NavigationRailTypes/icons.d.ts +58 -0
  114. package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -0
  115. package/dist/components/NavigationRailTypes/index.d.ts +4 -0
  116. package/dist/components/NavigationRailTypes/index.d.ts.map +1 -0
  117. package/dist/components/Notification/Notification.d.ts +52 -0
  118. package/dist/components/Notification/Notification.d.ts.map +1 -0
  119. package/dist/components/Notification/Notification.types.d.ts +138 -0
  120. package/dist/components/Notification/Notification.types.d.ts.map +1 -0
  121. package/dist/components/Notification/index.d.ts +3 -0
  122. package/dist/components/Notification/index.d.ts.map +1 -0
  123. package/dist/components/POSConvention/POSConvention.d.ts +55 -0
  124. package/dist/components/POSConvention/POSConvention.d.ts.map +1 -0
  125. package/dist/components/POSConvention/POSConvention.types.d.ts +37 -0
  126. package/dist/components/POSConvention/POSConvention.types.d.ts.map +1 -0
  127. package/dist/components/POSConvention/icons.d.ts +21 -0
  128. package/dist/components/POSConvention/icons.d.ts.map +1 -0
  129. package/dist/components/POSConvention/index.d.ts +4 -0
  130. package/dist/components/POSConvention/index.d.ts.map +1 -0
  131. package/dist/components/POSLocationButton/POSLocationButton.d.ts +73 -0
  132. package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +1 -0
  133. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +75 -0
  134. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +1 -0
  135. package/dist/components/POSLocationButton/icons.d.ts +37 -0
  136. package/dist/components/POSLocationButton/icons.d.ts.map +1 -0
  137. package/dist/components/POSLocationButton/index.d.ts +4 -0
  138. package/dist/components/POSLocationButton/index.d.ts.map +1 -0
  139. package/dist/components/POSNumberButton/POSNumberButton.d.ts +61 -0
  140. package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +1 -0
  141. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +43 -0
  142. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +1 -0
  143. package/dist/components/POSNumberButton/index.d.ts +3 -0
  144. package/dist/components/POSNumberButton/index.d.ts.map +1 -0
  145. package/dist/components/POSProductButton/POSProductButton.d.ts +59 -0
  146. package/dist/components/POSProductButton/POSProductButton.d.ts.map +1 -0
  147. package/dist/components/POSProductButton/POSProductButton.types.d.ts +40 -0
  148. package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +1 -0
  149. package/dist/components/POSProductButton/index.d.ts +3 -0
  150. package/dist/components/POSProductButton/index.d.ts.map +1 -0
  151. package/dist/components/POSProductCard/POSProductCard.d.ts +68 -0
  152. package/dist/components/POSProductCard/POSProductCard.d.ts.map +1 -0
  153. package/dist/components/POSProductCard/POSProductCard.types.d.ts +67 -0
  154. package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +1 -0
  155. package/dist/components/POSProductCard/icons.d.ts +10 -0
  156. package/dist/components/POSProductCard/icons.d.ts.map +1 -0
  157. package/dist/components/POSProductCard/index.d.ts +3 -0
  158. package/dist/components/POSProductCard/index.d.ts.map +1 -0
  159. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +57 -0
  160. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +1 -0
  161. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +85 -0
  162. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +1 -0
  163. package/dist/components/POSProductSidebarItems/icons.d.ts +9 -0
  164. package/dist/components/POSProductSidebarItems/icons.d.ts.map +1 -0
  165. package/dist/components/POSProductSidebarItems/index.d.ts +4 -0
  166. package/dist/components/POSProductSidebarItems/index.d.ts.map +1 -0
  167. package/dist/components/POSTable/POSTable.d.ts +75 -0
  168. package/dist/components/POSTable/POSTable.d.ts.map +1 -0
  169. package/dist/components/POSTable/POSTable.types.d.ts +71 -0
  170. package/dist/components/POSTable/POSTable.types.d.ts.map +1 -0
  171. package/dist/components/POSTable/index.d.ts +3 -0
  172. package/dist/components/POSTable/index.d.ts.map +1 -0
  173. package/dist/components/Pagination/Pagination.d.ts +29 -0
  174. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  175. package/dist/components/Pagination/Pagination.types.d.ts +79 -0
  176. package/dist/components/Pagination/Pagination.types.d.ts.map +1 -0
  177. package/dist/components/Pagination/icons.d.ts +18 -0
  178. package/dist/components/Pagination/icons.d.ts.map +1 -0
  179. package/dist/components/Pagination/index.d.ts +4 -0
  180. package/dist/components/Pagination/index.d.ts.map +1 -0
  181. package/dist/components/Quantity/Quantity.d.ts +38 -0
  182. package/dist/components/Quantity/Quantity.d.ts.map +1 -0
  183. package/dist/components/Quantity/Quantity.types.d.ts +59 -0
  184. package/dist/components/Quantity/Quantity.types.d.ts.map +1 -0
  185. package/dist/components/Radio/Radio.d.ts +45 -0
  186. package/dist/components/Radio/Radio.d.ts.map +1 -0
  187. package/dist/components/Radio/Radio.types.d.ts +115 -0
  188. package/dist/components/Radio/Radio.types.d.ts.map +1 -0
  189. package/dist/components/Select/Select.d.ts +37 -0
  190. package/dist/components/Select/Select.d.ts.map +1 -0
  191. package/dist/components/Select/Select.types.d.ts +124 -0
  192. package/dist/components/Select/Select.types.d.ts.map +1 -0
  193. package/dist/components/Select/icons.d.ts +16 -0
  194. package/dist/components/Select/icons.d.ts.map +1 -0
  195. package/dist/components/Select/index.d.ts +4 -0
  196. package/dist/components/Select/index.d.ts.map +1 -0
  197. package/dist/components/SignUpView/SignUpView.d.ts +38 -0
  198. package/dist/components/SignUpView/SignUpView.d.ts.map +1 -0
  199. package/dist/components/SignUpView/SignUpView.types.d.ts +51 -0
  200. package/dist/components/SignUpView/SignUpView.types.d.ts.map +1 -0
  201. package/dist/components/SignUpView/icons.d.ts +18 -0
  202. package/dist/components/SignUpView/icons.d.ts.map +1 -0
  203. package/dist/components/SignUpView/index.d.ts +4 -0
  204. package/dist/components/SignUpView/index.d.ts.map +1 -0
  205. package/dist/components/Switch/Switch.d.ts +46 -0
  206. package/dist/components/Switch/Switch.d.ts.map +1 -0
  207. package/dist/components/Switch/Switch.types.d.ts +58 -0
  208. package/dist/components/Switch/Switch.types.d.ts.map +1 -0
  209. package/dist/components/Table/Table.d.ts +64 -0
  210. package/dist/components/Table/Table.d.ts.map +1 -0
  211. package/dist/components/Table/Table.types.d.ts +173 -0
  212. package/dist/components/Table/Table.types.d.ts.map +1 -0
  213. package/dist/components/Table/index.d.ts +3 -0
  214. package/dist/components/Table/index.d.ts.map +1 -0
  215. package/dist/components/Tabs/Tabs.d.ts +76 -0
  216. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  217. package/dist/components/Tabs/Tabs.types.d.ts +107 -0
  218. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
  219. package/dist/components/Tabs/icons.d.ts +45 -0
  220. package/dist/components/Tabs/icons.d.ts.map +1 -0
  221. package/dist/components/Tabs/index.d.ts +4 -0
  222. package/dist/components/Tabs/index.d.ts.map +1 -0
  223. package/dist/components/Textarea/Textarea.d.ts +38 -0
  224. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  225. package/dist/components/Textarea/Textarea.types.d.ts +46 -0
  226. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
  227. package/dist/context/ThemeContext.d.ts +46 -0
  228. package/dist/context/ThemeContext.d.ts.map +1 -0
  229. package/dist/context/index.d.ts +2 -0
  230. package/dist/context/index.d.ts.map +1 -0
  231. package/dist/index.d.ts +56 -0
  232. package/dist/index.d.ts.map +1 -0
  233. package/dist/siesa-ui-kit.cjs +1260 -0
  234. package/dist/siesa-ui-kit.cjs.map +1 -0
  235. package/dist/siesa-ui-kit.mjs +4496 -0
  236. package/dist/siesa-ui-kit.mjs.map +1 -0
  237. package/dist/views/ListView/ListView.d.ts +47 -0
  238. package/dist/views/ListView/ListView.d.ts.map +1 -0
  239. package/dist/views/ListView/ListView.types.d.ts +177 -0
  240. package/dist/views/ListView/ListView.types.d.ts.map +1 -0
  241. package/dist/views/ListView/icons.d.ts +60 -0
  242. package/dist/views/ListView/icons.d.ts.map +1 -0
  243. package/dist/views/ListView/index.d.ts +3 -0
  244. package/dist/views/ListView/index.d.ts.map +1 -0
  245. package/dist/views/LoginView/LoginView.d.ts +36 -0
  246. package/dist/views/LoginView/LoginView.d.ts.map +1 -0
  247. package/dist/views/LoginView/LoginView.types.d.ts +46 -0
  248. package/dist/views/LoginView/LoginView.types.d.ts.map +1 -0
  249. package/dist/views/LoginView/icons.d.ts +18 -0
  250. package/dist/views/LoginView/icons.d.ts.map +1 -0
  251. package/dist/views/LoginView/index.d.ts +4 -0
  252. package/dist/views/LoginView/index.d.ts.map +1 -0
  253. package/dist/views/ProductsView/ProductsView.d.ts +56 -0
  254. package/dist/views/ProductsView/ProductsView.d.ts.map +1 -0
  255. package/dist/views/ProductsView/ProductsView.types.d.ts +184 -0
  256. package/dist/views/ProductsView/ProductsView.types.d.ts.map +1 -0
  257. package/dist/views/ProductsView/icons.d.ts +12 -0
  258. package/dist/views/ProductsView/icons.d.ts.map +1 -0
  259. package/dist/views/ProductsView/index.d.ts +3 -0
  260. package/dist/views/ProductsView/index.d.ts.map +1 -0
  261. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +34 -0
  262. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +1 -0
  263. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +50 -0
  264. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +1 -0
  265. package/dist/views/RecoverPasswordView/icons.d.ts +9 -0
  266. package/dist/views/RecoverPasswordView/icons.d.ts.map +1 -0
  267. package/dist/views/RecoverPasswordView/index.d.ts +3 -0
  268. package/dist/views/RecoverPasswordView/index.d.ts.map +1 -0
  269. package/dist/views/SignUpView/SignUpView.d.ts +38 -0
  270. package/dist/views/SignUpView/SignUpView.d.ts.map +1 -0
  271. package/dist/views/SignUpView/SignUpView.types.d.ts +51 -0
  272. package/dist/views/SignUpView/SignUpView.types.d.ts.map +1 -0
  273. package/dist/views/SignUpView/icons.d.ts +18 -0
  274. package/dist/views/SignUpView/icons.d.ts.map +1 -0
  275. package/dist/views/SignUpView/index.d.ts +4 -0
  276. package/dist/views/SignUpView/index.d.ts.map +1 -0
  277. package/dist/views/TableLayoutView/TableLayoutView.d.ts +46 -0
  278. package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +1 -0
  279. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +170 -0
  280. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +1 -0
  281. package/dist/views/TableLayoutView/icons.d.ts +27 -0
  282. package/dist/views/TableLayoutView/icons.d.ts.map +1 -0
  283. package/dist/views/TableLayoutView/index.d.ts +3 -0
  284. package/dist/views/TableLayoutView/index.d.ts.map +1 -0
  285. package/docs/border-radius.md +1261 -1261
  286. package/docs/colors.md +832 -832
  287. package/docs/dark-mode-guide.md +1426 -1426
  288. package/docs/filters.md +1243 -1243
  289. package/docs/icons.md +1283 -1283
  290. package/docs/shadows.md +1377 -1377
  291. package/docs/spacing.md +1684 -1684
  292. package/docs/typography.md +1268 -1268
  293. package/package.json +33 -6
  294. package/postcss.config.cjs +6 -6
  295. package/src/App.css +42 -42
  296. package/src/App.tsx +8 -8
  297. package/src/ButtonTest.tsx +147 -147
  298. package/src/assets/fonts/README.md +261 -261
  299. package/src/components/Alert/Alert.stories.tsx +332 -332
  300. package/src/components/Alert/Alert.tsx +106 -106
  301. package/src/components/Alert/Alert.types.ts +54 -54
  302. package/src/components/Avatar/Avatar.tsx +143 -143
  303. package/src/components/Avatar/Avatar.types.ts +53 -53
  304. package/src/components/Badge/Badge.stories.tsx +339 -339
  305. package/src/components/Badge/Badge.tsx +278 -278
  306. package/src/components/Badge/Badge.types.ts +58 -58
  307. package/src/components/Button/icons.tsx +87 -87
  308. package/src/components/Button/index.ts +3 -3
  309. package/src/components/Checkbox/Checkbox.stories.tsx +453 -453
  310. package/src/components/Checkbox/Checkbox.tsx +208 -208
  311. package/src/components/Checkbox/Checkbox.types.ts +61 -61
  312. package/src/components/DescriptionList/DescriptionList.tsx +96 -96
  313. package/src/components/DescriptionList/DescriptionList.types.ts +29 -29
  314. package/src/components/Divider/Divider.tsx +80 -80
  315. package/src/components/Divider/Divider.types.ts +24 -24
  316. package/src/components/Dropdown/Dropdown.stories.tsx +552 -552
  317. package/src/components/Dropdown/Dropdown.tsx +422 -422
  318. package/src/components/Dropdown/Dropdown.types.ts +146 -146
  319. package/src/components/Dropdown/README.md +266 -266
  320. package/src/components/Dropdown/icons.tsx +72 -72
  321. package/src/components/Dropdown/index.ts +8 -8
  322. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +317 -0
  323. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +287 -0
  324. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +111 -0
  325. package/src/components/DropdownItemCollapsible/README.md +264 -0
  326. package/src/components/DropdownItemCollapsible/icons.tsx +57 -0
  327. package/src/components/DropdownItemCollapsible/index.ts +12 -0
  328. package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +386 -0
  329. package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +216 -0
  330. package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +93 -0
  331. package/src/components/DropdownItemHeading/README.md +573 -0
  332. package/src/components/DropdownItemHeading/icons.tsx +125 -0
  333. package/src/components/DropdownItemHeading/index.ts +3 -0
  334. package/src/components/Input/Input.tsx +204 -204
  335. package/src/components/Input/Input.types.ts +80 -80
  336. package/src/components/Input/icons.tsx +145 -145
  337. package/src/components/Input/index.ts +2 -2
  338. package/src/components/Navbar/icons.tsx +102 -102
  339. package/src/components/NavigationBar/NavigationBar.stories.tsx +406 -406
  340. package/src/components/NavigationBar/NavigationBar.tsx +246 -246
  341. package/src/components/NavigationBar/NavigationBar.types.ts +74 -74
  342. package/src/components/NavigationBar/README.md +469 -469
  343. package/src/components/NavigationBar/index.ts +2 -2
  344. package/src/components/NavigationRail/NavigationRail.stories.tsx +417 -417
  345. package/src/components/NavigationRail/NavigationRail.tsx +418 -418
  346. package/src/components/NavigationRail/NavigationRail.types.ts +109 -109
  347. package/src/components/NavigationRail/README.md +224 -224
  348. package/src/components/NavigationRail/index.ts +2 -2
  349. package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +667 -0
  350. package/src/components/NavigationRailItem/NavigationRailItem.tsx +313 -0
  351. package/src/components/NavigationRailItem/NavigationRailItem.types.ts +167 -0
  352. package/src/components/NavigationRailItem/README.md +476 -0
  353. package/src/components/NavigationRailItem/index.ts +2 -0
  354. package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +462 -0
  355. package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +332 -0
  356. package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +178 -0
  357. package/src/components/NavigationRailPanel/README.md +461 -0
  358. package/src/components/NavigationRailPanel/index.ts +6 -0
  359. package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +528 -0
  360. package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +378 -0
  361. package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +130 -0
  362. package/src/components/NavigationRailTypes/README.md +573 -0
  363. package/src/components/NavigationRailTypes/icons.tsx +141 -0
  364. package/src/components/NavigationRailTypes/index.ts +7 -0
  365. package/src/components/Notification/index.ts +3 -3
  366. package/src/components/POSProductButton/POSProductButton.tsx +152 -152
  367. package/src/components/POSProductButton/POSProductButton.types.ts +46 -46
  368. package/src/components/POSProductButton/README.md +269 -269
  369. package/src/components/POSProductButton/index.ts +2 -2
  370. package/src/components/POSTable/POSTable.types.ts +83 -83
  371. package/src/components/POSTable/index.ts +7 -7
  372. package/src/components/Pagination/Pagination.stories.tsx +555 -555
  373. package/src/components/Pagination/Pagination.tsx +286 -286
  374. package/src/components/Pagination/Pagination.types.ts +93 -93
  375. package/src/components/Pagination/README.md +298 -298
  376. package/src/components/Pagination/icons.tsx +47 -47
  377. package/src/components/Pagination/index.ts +3 -3
  378. package/src/components/Quantity/Quantity.tsx +289 -289
  379. package/src/components/Quantity/Quantity.types.ts +70 -70
  380. package/src/components/Radio/Radio.tsx +170 -170
  381. package/src/components/Radio/Radio.types.ts +122 -122
  382. package/src/components/Select/README.md +299 -299
  383. package/src/components/Select/Select.stories.tsx +673 -673
  384. package/src/components/Select/Select.types.ts +148 -148
  385. package/src/components/Select/icons.tsx +50 -50
  386. package/src/components/Select/index.ts +3 -3
  387. package/src/components/Table/README.md +369 -369
  388. package/src/components/Table/Table.tsx +688 -688
  389. package/src/components/Table/Table.types.ts +204 -204
  390. package/src/components/Table/index.ts +9 -9
  391. package/src/components/Textarea/Textarea.tsx +188 -188
  392. package/src/components/Textarea/Textarea.types.ts +54 -54
  393. package/src/context/ThemeContext.tsx +99 -99
  394. package/src/context/index.ts +1 -1
  395. package/src/index.css +29 -29
  396. package/src/index.ts +63 -0
  397. package/src/main.tsx +10 -10
  398. package/src/views/ListView/ListView.stories.tsx +329 -0
  399. package/src/views/ListView/ListView.tsx +570 -0
  400. package/src/views/ListView/ListView.types.ts +211 -0
  401. package/src/views/ListView/icons.tsx +282 -0
  402. package/src/views/ListView/index.ts +11 -0
  403. package/src/views/LoginView/LoginView.stories.tsx +148 -0
  404. package/src/views/LoginView/LoginView.tsx +426 -0
  405. package/src/views/LoginView/LoginView.types.ts +52 -0
  406. package/src/views/LoginView/README.md +396 -0
  407. package/src/views/LoginView/icons.tsx +85 -0
  408. package/src/views/LoginView/index.ts +3 -0
  409. package/src/views/RecoverPasswordView/README.md +269 -269
  410. package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +131 -131
  411. package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +56 -56
  412. package/src/views/RecoverPasswordView/icons.tsx +17 -17
  413. package/src/views/RecoverPasswordView/index.ts +2 -2
  414. package/src/views/SignUpView/SignUpView.stories.tsx +129 -0
  415. package/src/views/SignUpView/SignUpView.tsx +503 -0
  416. package/src/views/SignUpView/SignUpView.types.ts +58 -0
  417. package/src/views/SignUpView/icons.tsx +71 -0
  418. package/src/views/SignUpView/index.ts +3 -0
  419. package/claude/agents/siesa-ui-kit-specialist.md +0 -2401
  420. package/claude/prompts/component-template.md +0 -121
@@ -1,208 +1,208 @@
1
- import { forwardRef, useEffect, useRef } from 'react';
2
- import type { CheckboxProps } from './Checkbox.types';
3
-
4
- /**
5
- * Checkbox del sistema de diseño Siesa
6
- *
7
- * Componente de checkbox con soporte completo para estados interactivos,
8
- * indeterminate, y dark mode pixel-perfect según especificaciones de Figma.
9
- *
10
- * Mejores prácticas implementadas:
11
- * - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
12
- * - Dark mode con estrategia 'class' (darkMode: 'class')
13
- * - Tokens de color consistentes con la documentación
14
- * - Sombra button-inset para estado checked
15
- * - Type safety con TypeScript estricto
16
- * - Accesibilidad con input nativo y ARIA
17
- *
18
- * @see docs/colors.md - Sistema de colores
19
- * @see docs/typography.md - Sistema tipográfico (Label/Paragraph)
20
- * @see docs/spacing.md - Sistema de espaciado
21
- *
22
- * @example
23
- * ```tsx
24
- * <Checkbox
25
- * label="Show on Events Page"
26
- * description="Make this event visible on your profile"
27
- * checked={true}
28
- * onChange={(e) => console.log(e.target.checked)}
29
- * />
30
- * ```
31
- */
32
- export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(
33
- (
34
- {
35
- label,
36
- description,
37
- checked = false,
38
- indeterminate = false,
39
- disabled = false,
40
- className = '',
41
- id,
42
- onChange,
43
- ...props
44
- },
45
- ref
46
- ) => {
47
- const inputRef = useRef<HTMLInputElement>(null);
48
- const combinedRef = (ref as any) || inputRef;
49
-
50
- // Generar ID único si no se proporciona
51
- const checkboxId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
52
-
53
- // Manejar el estado indeterminate
54
- useEffect(() => {
55
- if (combinedRef.current) {
56
- combinedRef.current.indeterminate = indeterminate;
57
- }
58
- }, [indeterminate, combinedRef]);
59
-
60
- // ===== CLASES BASE DEL CHECKBOX =====
61
- const baseCheckboxClasses = `
62
- w-4
63
- h-4
64
- rounded
65
- border
66
- border-border-primary
67
- bg-bg-primary
68
- transition-all
69
- duration-150
70
- flex
71
- items-center
72
- justify-center
73
- dark:bg-dark-bg-primary
74
- dark:border-dark-border-primary
75
- `;
76
-
77
- // ===== CLASES PARA ESTADOS INTERACTIVOS =====
78
- const interactiveClasses = !disabled
79
- ? (checked || indeterminate)
80
- ? `
81
- peer-hover:border-[#50a5f7]
82
- peer-focus:ring-2
83
- peer-focus:ring-primary-custom-400/20
84
- peer-focus:border-primary-custom-600
85
- dark:peer-hover:border-[#50a5f7]
86
- dark:peer-focus:border-dark-border-custom
87
- dark:peer-focus:ring-dark-border-custom/20
88
- `
89
- : `
90
- peer-hover:border-[#b6b6b9]
91
- peer-focus:ring-2
92
- peer-focus:ring-primary-custom-400/20
93
- peer-focus:border-primary-custom-600
94
- dark:peer-hover:border-[#b6b6b9]
95
- dark:peer-focus:border-dark-border-custom
96
- dark:peer-focus:ring-dark-border-custom/20
97
- `
98
- : `
99
- opacity-50
100
- cursor-not-allowed
101
- `;
102
-
103
- // ===== CLASES PARA ESTADO CHECKED/INDETERMINATE =====
104
- // Orden de modificadores: {responsive}:{dark}:{state}:{utility}
105
- const checkedClasses = checked || indeterminate
106
- ? `
107
- !bg-primary-custom-600
108
- !border-primary-custom-500
109
- shadow-button-inset
110
- dark:!bg-dark-bg-inverse
111
- dark:!border-dark-bg-inverse
112
- `
113
- : '';
114
-
115
- // ===== COMBINAR TODAS LAS CLASES DEL CHECKBOX =====
116
- const checkboxClasses = [
117
- baseCheckboxClasses,
118
- interactiveClasses,
119
- checkedClasses,
120
- disabled ? 'cursor-not-allowed' : 'cursor-pointer',
121
- ]
122
- .join(' ')
123
- .replace(/\s+/g, ' ')
124
- .trim();
125
-
126
- return (
127
- <div className={`inline-flex gap-3 items-start ${className}`}>
128
- {/* Checkbox Input Container */}
129
- <div className="flex items-center justify-center h-5 w-4 shrink-0">
130
- {/* Native Input (hidden but accessible) */}
131
- <input
132
- ref={combinedRef}
133
- type="checkbox"
134
- id={checkboxId}
135
- checked={checked}
136
- disabled={disabled}
137
- onChange={onChange}
138
- className="peer sr-only"
139
- {...props}
140
- />
141
-
142
- {/* Custom Checkbox Visual */}
143
- <label htmlFor={checkboxId} className={checkboxClasses}>
144
- {/* Check Icon - Usar primary-inverse-content para consistencia */}
145
- {checked && !indeterminate && (
146
- <svg
147
- className="w-3 h-3 text-primary-inverse-content pointer-events-none"
148
- viewBox="0 0 12 12"
149
- fill="none"
150
- xmlns="http://www.w3.org/2000/svg"
151
- >
152
- <path
153
- d="M10 3L4.5 8.5L2 6"
154
- stroke="currentColor"
155
- strokeWidth="2"
156
- strokeLinecap="round"
157
- strokeLinejoin="round"
158
- />
159
- </svg>
160
- )}
161
-
162
- {/* Indeterminate Icon (minus) - Usar primary-inverse-content */}
163
- {indeterminate && (
164
- <svg
165
- className="w-3 h-3 text-primary-inverse-content pointer-events-none"
166
- viewBox="0 0 12 12"
167
- fill="none"
168
- xmlns="http://www.w3.org/2000/svg"
169
- >
170
- <path
171
- d="M2 6H10"
172
- stroke="currentColor"
173
- strokeWidth="2"
174
- strokeLinecap="round"
175
- />
176
- </svg>
177
- )}
178
- </label>
179
- </div>
180
-
181
- {/* Label and Description */}
182
- {(label || description) && (
183
- <label
184
- htmlFor={checkboxId}
185
- className={`flex-1 flex flex-col gap-1 text-sm leading-5 ${
186
- disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer'
187
- }`}
188
- >
189
- {/* Label - Label/Small (14px, Bold) */}
190
- {label && (
191
- <span className="font-bold text-content-primary dark:text-dark-content-primary">
192
- {label}
193
- </span>
194
- )}
195
- {/* Description - Paragraph/Small (14px, Regular) */}
196
- {description && (
197
- <span className="font-normal text-content-secondary dark:text-content-secondary">
198
- {description}
199
- </span>
200
- )}
201
- </label>
202
- )}
203
- </div>
204
- );
205
- }
206
- );
207
-
208
- Checkbox.displayName = 'Checkbox';
1
+ import { forwardRef, useEffect, useRef } from 'react';
2
+ import type { CheckboxProps } from './Checkbox.types';
3
+
4
+ /**
5
+ * Checkbox del sistema de diseño Siesa
6
+ *
7
+ * Componente de checkbox con soporte completo para estados interactivos,
8
+ * indeterminate, y dark mode pixel-perfect según especificaciones de Figma.
9
+ *
10
+ * Mejores prácticas implementadas:
11
+ * - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
12
+ * - Dark mode con estrategia 'class' (darkMode: 'class')
13
+ * - Tokens de color consistentes con la documentación
14
+ * - Sombra button-inset para estado checked
15
+ * - Type safety con TypeScript estricto
16
+ * - Accesibilidad con input nativo y ARIA
17
+ *
18
+ * @see docs/colors.md - Sistema de colores
19
+ * @see docs/typography.md - Sistema tipográfico (Label/Paragraph)
20
+ * @see docs/spacing.md - Sistema de espaciado
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * <Checkbox
25
+ * label="Show on Events Page"
26
+ * description="Make this event visible on your profile"
27
+ * checked={true}
28
+ * onChange={(e) => console.log(e.target.checked)}
29
+ * />
30
+ * ```
31
+ */
32
+ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(
33
+ (
34
+ {
35
+ label,
36
+ description,
37
+ checked = false,
38
+ indeterminate = false,
39
+ disabled = false,
40
+ className = '',
41
+ id,
42
+ onChange,
43
+ ...props
44
+ },
45
+ ref
46
+ ) => {
47
+ const inputRef = useRef<HTMLInputElement>(null);
48
+ const combinedRef = (ref as any) || inputRef;
49
+
50
+ // Generar ID único si no se proporciona
51
+ const checkboxId = id || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
52
+
53
+ // Manejar el estado indeterminate
54
+ useEffect(() => {
55
+ if (combinedRef.current) {
56
+ combinedRef.current.indeterminate = indeterminate;
57
+ }
58
+ }, [indeterminate, combinedRef]);
59
+
60
+ // ===== CLASES BASE DEL CHECKBOX =====
61
+ const baseCheckboxClasses = `
62
+ w-4
63
+ h-4
64
+ rounded
65
+ border
66
+ border-border-primary
67
+ bg-bg-primary
68
+ transition-all
69
+ duration-150
70
+ flex
71
+ items-center
72
+ justify-center
73
+ dark:bg-dark-bg-primary
74
+ dark:border-dark-border-primary
75
+ `;
76
+
77
+ // ===== CLASES PARA ESTADOS INTERACTIVOS =====
78
+ const interactiveClasses = !disabled
79
+ ? (checked || indeterminate)
80
+ ? `
81
+ peer-hover:border-[#50a5f7]
82
+ peer-focus:ring-2
83
+ peer-focus:ring-primary-custom-400/20
84
+ peer-focus:border-primary-custom-600
85
+ dark:peer-hover:border-[#50a5f7]
86
+ dark:peer-focus:border-dark-border-custom
87
+ dark:peer-focus:ring-dark-border-custom/20
88
+ `
89
+ : `
90
+ peer-hover:border-[#b6b6b9]
91
+ peer-focus:ring-2
92
+ peer-focus:ring-primary-custom-400/20
93
+ peer-focus:border-primary-custom-600
94
+ dark:peer-hover:border-[#b6b6b9]
95
+ dark:peer-focus:border-dark-border-custom
96
+ dark:peer-focus:ring-dark-border-custom/20
97
+ `
98
+ : `
99
+ opacity-50
100
+ cursor-not-allowed
101
+ `;
102
+
103
+ // ===== CLASES PARA ESTADO CHECKED/INDETERMINATE =====
104
+ // Orden de modificadores: {responsive}:{dark}:{state}:{utility}
105
+ const checkedClasses = checked || indeterminate
106
+ ? `
107
+ !bg-primary-custom-600
108
+ !border-primary-custom-500
109
+ shadow-button-inset
110
+ dark:!bg-dark-bg-inverse
111
+ dark:!border-dark-bg-inverse
112
+ `
113
+ : '';
114
+
115
+ // ===== COMBINAR TODAS LAS CLASES DEL CHECKBOX =====
116
+ const checkboxClasses = [
117
+ baseCheckboxClasses,
118
+ interactiveClasses,
119
+ checkedClasses,
120
+ disabled ? 'cursor-not-allowed' : 'cursor-pointer',
121
+ ]
122
+ .join(' ')
123
+ .replace(/\s+/g, ' ')
124
+ .trim();
125
+
126
+ return (
127
+ <div className={`inline-flex gap-3 items-start ${className}`}>
128
+ {/* Checkbox Input Container */}
129
+ <div className="flex items-center justify-center h-5 w-4 shrink-0">
130
+ {/* Native Input (hidden but accessible) */}
131
+ <input
132
+ ref={combinedRef}
133
+ type="checkbox"
134
+ id={checkboxId}
135
+ checked={checked}
136
+ disabled={disabled}
137
+ onChange={onChange}
138
+ className="peer sr-only"
139
+ {...props}
140
+ />
141
+
142
+ {/* Custom Checkbox Visual */}
143
+ <label htmlFor={checkboxId} className={checkboxClasses}>
144
+ {/* Check Icon - Usar primary-inverse-content para consistencia */}
145
+ {checked && !indeterminate && (
146
+ <svg
147
+ className="w-3 h-3 text-primary-inverse-content pointer-events-none"
148
+ viewBox="0 0 12 12"
149
+ fill="none"
150
+ xmlns="http://www.w3.org/2000/svg"
151
+ >
152
+ <path
153
+ d="M10 3L4.5 8.5L2 6"
154
+ stroke="currentColor"
155
+ strokeWidth="2"
156
+ strokeLinecap="round"
157
+ strokeLinejoin="round"
158
+ />
159
+ </svg>
160
+ )}
161
+
162
+ {/* Indeterminate Icon (minus) - Usar primary-inverse-content */}
163
+ {indeterminate && (
164
+ <svg
165
+ className="w-3 h-3 text-primary-inverse-content pointer-events-none"
166
+ viewBox="0 0 12 12"
167
+ fill="none"
168
+ xmlns="http://www.w3.org/2000/svg"
169
+ >
170
+ <path
171
+ d="M2 6H10"
172
+ stroke="currentColor"
173
+ strokeWidth="2"
174
+ strokeLinecap="round"
175
+ />
176
+ </svg>
177
+ )}
178
+ </label>
179
+ </div>
180
+
181
+ {/* Label and Description */}
182
+ {(label || description) && (
183
+ <label
184
+ htmlFor={checkboxId}
185
+ className={`flex-1 flex flex-col gap-1 text-sm leading-5 ${
186
+ disabled ? 'cursor-not-allowed opacity-50' : 'cursor-pointer'
187
+ }`}
188
+ >
189
+ {/* Label - Label/Small (14px, Bold) */}
190
+ {label && (
191
+ <span className="font-bold text-content-primary dark:text-dark-content-primary">
192
+ {label}
193
+ </span>
194
+ )}
195
+ {/* Description - Paragraph/Small (14px, Regular) */}
196
+ {description && (
197
+ <span className="font-normal text-content-secondary dark:text-content-secondary">
198
+ {description}
199
+ </span>
200
+ )}
201
+ </label>
202
+ )}
203
+ </div>
204
+ );
205
+ }
206
+ );
207
+
208
+ Checkbox.displayName = 'Checkbox';
@@ -1,61 +1,61 @@
1
- import type { InputHTMLAttributes } from 'react';
2
-
3
- /**
4
- * Estados visuales del Checkbox
5
- */
6
- export type CheckboxState = 'default' | 'hover' | 'focus' | 'disabled';
7
-
8
- /**
9
- * Props del componente Checkbox
10
- *
11
- * Extiende HTMLInputElement con props adicionales específicas del componente.
12
- * Excluye 'type' y 'size' que son manejados internamente.
13
- */
14
- export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
15
- /**
16
- * Etiqueta del checkbox
17
- * Tipografía: Label/Small (14px, Bold)
18
- */
19
- label?: string;
20
-
21
- /**
22
- * Descripción debajo del label
23
- * Tipografía: Paragraph/Small (14px, Regular)
24
- */
25
- description?: string;
26
-
27
- /**
28
- * Si el checkbox está marcado
29
- * @default false
30
- */
31
- checked?: boolean;
32
-
33
- /**
34
- * Si el checkbox está en estado indeterminado (parcialmente seleccionado)
35
- * Útil para "select all" cuando solo algunos items están seleccionados
36
- * @default false
37
- */
38
- indeterminate?: boolean;
39
-
40
- /**
41
- * Si el checkbox está deshabilitado
42
- * @default false
43
- */
44
- disabled?: boolean;
45
-
46
- /**
47
- * Clases CSS adicionales para el contenedor principal
48
- */
49
- className?: string;
50
-
51
- /**
52
- * ID único para el checkbox
53
- * Si no se proporciona, se genera automáticamente
54
- */
55
- id?: string;
56
-
57
- /**
58
- * Callback cuando el estado del checkbox cambia
59
- */
60
- onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
61
- }
1
+ import type { InputHTMLAttributes } from 'react';
2
+
3
+ /**
4
+ * Estados visuales del Checkbox
5
+ */
6
+ export type CheckboxState = 'default' | 'hover' | 'focus' | 'disabled';
7
+
8
+ /**
9
+ * Props del componente Checkbox
10
+ *
11
+ * Extiende HTMLInputElement con props adicionales específicas del componente.
12
+ * Excluye 'type' y 'size' que son manejados internamente.
13
+ */
14
+ export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
15
+ /**
16
+ * Etiqueta del checkbox
17
+ * Tipografía: Label/Small (14px, Bold)
18
+ */
19
+ label?: string;
20
+
21
+ /**
22
+ * Descripción debajo del label
23
+ * Tipografía: Paragraph/Small (14px, Regular)
24
+ */
25
+ description?: string;
26
+
27
+ /**
28
+ * Si el checkbox está marcado
29
+ * @default false
30
+ */
31
+ checked?: boolean;
32
+
33
+ /**
34
+ * Si el checkbox está en estado indeterminado (parcialmente seleccionado)
35
+ * Útil para "select all" cuando solo algunos items están seleccionados
36
+ * @default false
37
+ */
38
+ indeterminate?: boolean;
39
+
40
+ /**
41
+ * Si el checkbox está deshabilitado
42
+ * @default false
43
+ */
44
+ disabled?: boolean;
45
+
46
+ /**
47
+ * Clases CSS adicionales para el contenedor principal
48
+ */
49
+ className?: string;
50
+
51
+ /**
52
+ * ID único para el checkbox
53
+ * Si no se proporciona, se genera automáticamente
54
+ */
55
+ id?: string;
56
+
57
+ /**
58
+ * Callback cuando el estado del checkbox cambia
59
+ */
60
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
61
+ }