siesa-ui-kit 1.0.4 → 1.0.5

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 (541) hide show
  1. package/README.md +89 -115
  2. package/bin/install.cjs +502 -502
  3. package/bin/prepare-publish.cjs +28 -28
  4. package/bin/restore-folders.cjs +28 -28
  5. package/claude/agents/siesa-ui-kit-specialist.md +2401 -2445
  6. package/claude/prompts/component-template.md +121 -121
  7. package/claude/settings.local.json +61 -72
  8. package/docs/border-radius.md +1261 -1261
  9. package/docs/colors.md +832 -832
  10. package/docs/dark-mode-guide.md +1426 -1426
  11. package/docs/filters.md +1243 -1243
  12. package/docs/icons.md +1283 -1264
  13. package/docs/shadows.md +1377 -1377
  14. package/docs/spacing.md +1684 -1684
  15. package/docs/typography.md +1268 -1268
  16. package/package.json +83 -111
  17. package/postcss.config.cjs +6 -6
  18. package/src/App.css +42 -42
  19. package/src/App.tsx +8 -8
  20. package/src/ButtonTest.tsx +147 -147
  21. package/src/assets/fonts/README.md +261 -261
  22. package/src/components/Alert/Alert.stories.tsx +332 -332
  23. package/src/components/Alert/Alert.tsx +106 -106
  24. package/src/components/Alert/Alert.types.ts +54 -54
  25. package/src/components/Avatar/Avatar.stories.tsx +494 -494
  26. package/src/components/Avatar/Avatar.tsx +143 -143
  27. package/src/components/Avatar/Avatar.types.ts +53 -53
  28. package/src/components/Badge/Badge.stories.tsx +339 -339
  29. package/src/components/Badge/Badge.tsx +278 -278
  30. package/src/components/Badge/Badge.types.ts +58 -58
  31. package/src/components/Button/Button.stories.tsx +950 -950
  32. package/src/components/Button/Button.tsx +337 -337
  33. package/src/components/Button/Button.types.ts +180 -180
  34. package/src/components/Button/icons.tsx +87 -48
  35. package/src/components/Button/index.ts +3 -3
  36. package/src/components/Checkbox/Checkbox.stories.tsx +453 -453
  37. package/src/components/Checkbox/Checkbox.tsx +208 -208
  38. package/src/components/Checkbox/Checkbox.types.ts +61 -61
  39. package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -250
  40. package/src/components/DescriptionList/DescriptionList.tsx +96 -96
  41. package/src/components/DescriptionList/DescriptionList.types.ts +29 -29
  42. package/src/components/Divider/Divider.stories.tsx +263 -263
  43. package/src/components/Divider/Divider.tsx +80 -80
  44. package/src/components/Divider/Divider.types.ts +24 -24
  45. package/src/components/Dropdown/Dropdown.stories.tsx +552 -552
  46. package/src/components/Dropdown/Dropdown.tsx +422 -422
  47. package/src/components/Dropdown/Dropdown.types.ts +146 -146
  48. package/src/components/Dropdown/README.md +266 -266
  49. package/src/components/Dropdown/icons.tsx +72 -72
  50. package/src/components/Dropdown/index.ts +8 -8
  51. package/src/components/Input/Input.stories.tsx +583 -583
  52. package/src/components/Input/Input.tsx +204 -204
  53. package/src/components/Input/Input.types.ts +80 -80
  54. package/src/components/Input/icons.tsx +145 -145
  55. package/src/components/Input/index.ts +2 -2
  56. package/src/components/LoginView/LoginView.stories.tsx +148 -148
  57. package/src/components/LoginView/LoginView.tsx +426 -426
  58. package/src/components/LoginView/LoginView.types.ts +52 -52
  59. package/src/components/LoginView/README.md +396 -396
  60. package/src/components/LoginView/icons.tsx +85 -85
  61. package/src/components/LoginView/index.ts +3 -3
  62. package/src/components/Navbar/Navbar.stories.tsx +810 -810
  63. package/src/components/Navbar/Navbar.tsx +755 -755
  64. package/src/components/Navbar/Navbar.types.ts +219 -219
  65. package/src/components/Navbar/README.md +279 -279
  66. package/src/components/Navbar/icons.tsx +102 -102
  67. package/src/components/Navbar/index.ts +8 -8
  68. package/src/components/NavigationBar/NavigationBar.stories.tsx +406 -406
  69. package/src/components/NavigationBar/NavigationBar.tsx +246 -246
  70. package/src/components/NavigationBar/NavigationBar.types.ts +74 -74
  71. package/src/components/NavigationBar/README.md +469 -469
  72. package/src/components/NavigationBar/index.ts +2 -2
  73. package/src/components/NavigationRail/NavigationRail.stories.tsx +417 -417
  74. package/src/components/NavigationRail/NavigationRail.tsx +418 -418
  75. package/src/components/NavigationRail/NavigationRail.types.ts +109 -109
  76. package/src/components/NavigationRail/README.md +224 -224
  77. package/src/components/NavigationRail/index.ts +2 -2
  78. package/src/components/Notification/Notification.stories.tsx +513 -513
  79. package/src/components/Notification/Notification.tsx +145 -145
  80. package/src/components/Notification/Notification.types.ts +142 -142
  81. package/src/components/Notification/README.md +409 -409
  82. package/src/components/Notification/index.ts +3 -3
  83. package/src/components/POSConvention/POSConvention.stories.tsx +235 -235
  84. package/src/components/POSConvention/POSConvention.tsx +129 -129
  85. package/src/components/POSConvention/POSConvention.types.ts +38 -38
  86. package/src/components/POSConvention/README.md +123 -123
  87. package/src/components/POSConvention/icons.tsx +45 -45
  88. package/src/components/POSConvention/index.ts +3 -3
  89. package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -531
  90. package/src/components/POSLocationButton/POSLocationButton.tsx +247 -247
  91. package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -87
  92. package/src/components/POSLocationButton/README.md +253 -253
  93. package/src/components/POSLocationButton/icons.tsx +120 -120
  94. package/src/components/POSLocationButton/index.ts +14 -14
  95. package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -415
  96. package/src/components/POSNumberButton/POSNumberButton.tsx +179 -179
  97. package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -51
  98. package/src/components/POSNumberButton/README.md +321 -321
  99. package/src/components/POSNumberButton/index.ts +3 -3
  100. package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -318
  101. package/src/components/POSProductButton/POSProductButton.tsx +152 -152
  102. package/src/components/POSProductButton/POSProductButton.types.ts +46 -46
  103. package/src/components/POSProductButton/README.md +269 -269
  104. package/src/components/POSProductButton/index.ts +2 -2
  105. package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -642
  106. package/src/components/POSProductCard/POSProductCard.tsx +208 -208
  107. package/src/components/POSProductCard/POSProductCard.types.ts +76 -76
  108. package/src/components/POSProductCard/README.md +179 -179
  109. package/src/components/POSProductCard/icons.tsx +26 -26
  110. package/src/components/POSProductCard/index.ts +2 -2
  111. package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -753
  112. package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -332
  113. package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -119
  114. package/src/components/POSProductSidebarItems/README.md +198 -198
  115. package/src/components/POSProductSidebarItems/icons.tsx +21 -21
  116. package/src/components/POSProductSidebarItems/index.ts +3 -3
  117. package/src/components/POSTable/POSTable.stories.tsx +737 -737
  118. package/src/components/POSTable/POSTable.tsx +401 -401
  119. package/src/components/POSTable/POSTable.types.ts +83 -83
  120. package/src/components/POSTable/README.md +286 -286
  121. package/src/components/POSTable/index.ts +7 -7
  122. package/src/components/Pagination/Pagination.stories.tsx +555 -555
  123. package/src/components/Pagination/Pagination.tsx +286 -286
  124. package/src/components/Pagination/Pagination.types.ts +93 -93
  125. package/src/components/Pagination/README.md +298 -298
  126. package/src/components/Pagination/icons.tsx +47 -47
  127. package/src/components/Pagination/index.ts +3 -3
  128. package/src/components/Quantity/Quantity.stories.tsx +457 -457
  129. package/src/components/Quantity/Quantity.tsx +289 -289
  130. package/src/components/Quantity/Quantity.types.ts +70 -70
  131. package/src/components/Radio/Radio.stories.tsx +523 -523
  132. package/src/components/Radio/Radio.tsx +170 -170
  133. package/src/components/Radio/Radio.types.ts +122 -122
  134. package/src/components/Select/README.md +299 -299
  135. package/src/components/Select/Select.stories.tsx +673 -705
  136. package/src/components/Select/Select.tsx +454 -457
  137. package/src/components/Select/Select.types.ts +148 -148
  138. package/src/components/Select/icons.tsx +50 -25
  139. package/src/components/Select/index.ts +3 -3
  140. package/src/components/SignUpView/SignUpView.stories.tsx +129 -129
  141. package/src/components/SignUpView/SignUpView.tsx +503 -503
  142. package/src/components/SignUpView/SignUpView.types.ts +58 -58
  143. package/src/components/SignUpView/icons.tsx +71 -71
  144. package/src/components/SignUpView/index.ts +3 -3
  145. package/src/components/Switch/README.md +112 -112
  146. package/src/components/Switch/Switch.stories.tsx +550 -550
  147. package/src/components/Switch/Switch.tsx +246 -246
  148. package/src/components/Switch/Switch.types.ts +67 -67
  149. package/src/components/Table/README.md +369 -369
  150. package/src/components/Table/Table.stories.tsx +805 -805
  151. package/src/components/Table/Table.tsx +688 -688
  152. package/src/components/Table/Table.types.ts +204 -204
  153. package/src/components/Table/index.ts +9 -9
  154. package/src/components/Tabs/README.md +201 -201
  155. package/src/components/Tabs/Tabs.stories.tsx +580 -580
  156. package/src/components/Tabs/Tabs.tsx +356 -356
  157. package/src/components/Tabs/Tabs.types.ts +127 -127
  158. package/src/components/Tabs/icons.tsx +129 -129
  159. package/src/components/Tabs/index.ts +11 -11
  160. package/src/components/Textarea/Textarea.stories.tsx +535 -535
  161. package/src/components/Textarea/Textarea.tsx +188 -188
  162. package/src/components/Textarea/Textarea.types.ts +54 -54
  163. package/src/context/ThemeContext.tsx +99 -99
  164. package/src/context/index.ts +1 -1
  165. package/src/index.css +29 -29
  166. package/src/index.ts +39 -133
  167. package/src/main.tsx +10 -10
  168. package/src/views/ProductsView/ProductsView.stories.tsx +344 -344
  169. package/src/views/ProductsView/ProductsView.tsx +480 -480
  170. package/src/views/ProductsView/ProductsView.types.ts +238 -238
  171. package/src/views/ProductsView/README.md +312 -312
  172. package/src/views/ProductsView/icons.tsx +38 -38
  173. package/src/views/ProductsView/index.ts +8 -8
  174. package/src/views/RecoverPasswordView/README.md +269 -269
  175. package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +131 -131
  176. package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -376
  177. package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +56 -56
  178. package/src/views/RecoverPasswordView/icons.tsx +17 -17
  179. package/src/views/RecoverPasswordView/index.ts +2 -2
  180. package/src/views/TableLayoutView/README.md +268 -268
  181. package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -235
  182. package/src/views/TableLayoutView/TableLayoutView.tsx +461 -461
  183. package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -209
  184. package/src/views/TableLayoutView/icons.tsx +113 -113
  185. package/src/views/TableLayoutView/index.ts +6 -6
  186. package/storybook/main.ts +19 -19
  187. package/storybook/preview.tsx +84 -84
  188. package/storybook/vitest.setup.ts +6 -6
  189. package/tailwind.config.js +128 -128
  190. package/claude/prompts/siesa-ui-kit.md +0 -28
  191. package/dist/ButtonTest.d.ts +0 -6
  192. package/dist/ButtonTest.d.ts.map +0 -1
  193. package/dist/components/Alert/Alert.d.ts +0 -23
  194. package/dist/components/Alert/Alert.d.ts.map +0 -1
  195. package/dist/components/Alert/Alert.types.d.ts +0 -46
  196. package/dist/components/Alert/Alert.types.d.ts.map +0 -1
  197. package/dist/components/Avatar/Avatar.d.ts +0 -41
  198. package/dist/components/Avatar/Avatar.d.ts.map +0 -1
  199. package/dist/components/Avatar/Avatar.types.d.ts +0 -46
  200. package/dist/components/Avatar/Avatar.types.d.ts.map +0 -1
  201. package/dist/components/Badge/Badge.d.ts +0 -42
  202. package/dist/components/Badge/Badge.d.ts.map +0 -1
  203. package/dist/components/Badge/Badge.types.d.ts +0 -32
  204. package/dist/components/Badge/Badge.types.d.ts.map +0 -1
  205. package/dist/components/Button/Button.d.ts +0 -84
  206. package/dist/components/Button/Button.d.ts.map +0 -1
  207. package/dist/components/Button/Button.types.d.ts +0 -162
  208. package/dist/components/Button/Button.types.d.ts.map +0 -1
  209. package/dist/components/Button/icons.d.ts +0 -27
  210. package/dist/components/Button/icons.d.ts.map +0 -1
  211. package/dist/components/Button/index.d.ts +0 -4
  212. package/dist/components/Button/index.d.ts.map +0 -1
  213. package/dist/components/Checkbox/Checkbox.d.ts +0 -31
  214. package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
  215. package/dist/components/Checkbox/Checkbox.types.d.ts +0 -53
  216. package/dist/components/Checkbox/Checkbox.types.d.ts.map +0 -1
  217. package/dist/components/DescriptionList/DescriptionList.d.ts +0 -38
  218. package/dist/components/DescriptionList/DescriptionList.d.ts.map +0 -1
  219. package/dist/components/DescriptionList/DescriptionList.types.d.ts +0 -27
  220. package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +0 -1
  221. package/dist/components/Divider/Divider.d.ts +0 -33
  222. package/dist/components/Divider/Divider.d.ts.map +0 -1
  223. package/dist/components/Divider/Divider.types.d.ts +0 -22
  224. package/dist/components/Divider/Divider.types.d.ts.map +0 -1
  225. package/dist/components/Dropdown/Dropdown.d.ts +0 -66
  226. package/dist/components/Dropdown/Dropdown.d.ts.map +0 -1
  227. package/dist/components/Dropdown/Dropdown.types.d.ts +0 -124
  228. package/dist/components/Dropdown/Dropdown.types.d.ts.map +0 -1
  229. package/dist/components/Dropdown/icons.d.ts +0 -10
  230. package/dist/components/Dropdown/icons.d.ts.map +0 -1
  231. package/dist/components/Dropdown/index.d.ts +0 -4
  232. package/dist/components/Dropdown/index.d.ts.map +0 -1
  233. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +0 -101
  234. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +0 -1
  235. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +0 -116
  236. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +0 -1
  237. package/dist/components/DropdownItemCollapsible/icons.d.ts +0 -19
  238. package/dist/components/DropdownItemCollapsible/icons.d.ts.map +0 -1
  239. package/dist/components/DropdownItemCollapsible/index.d.ts +0 -9
  240. package/dist/components/DropdownItemCollapsible/index.d.ts.map +0 -1
  241. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +0 -75
  242. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +0 -1
  243. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +0 -85
  244. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +0 -1
  245. package/dist/components/DropdownItemHeading/icons.d.ts +0 -48
  246. package/dist/components/DropdownItemHeading/icons.d.ts.map +0 -1
  247. package/dist/components/DropdownItemHeading/index.d.ts +0 -4
  248. package/dist/components/DropdownItemHeading/index.d.ts.map +0 -1
  249. package/dist/components/Input/Input.d.ts +0 -40
  250. package/dist/components/Input/Input.d.ts.map +0 -1
  251. package/dist/components/Input/Input.types.d.ts +0 -71
  252. package/dist/components/Input/Input.types.d.ts.map +0 -1
  253. package/dist/components/Input/icons.d.ts +0 -15
  254. package/dist/components/Input/icons.d.ts.map +0 -1
  255. package/dist/components/Input/index.d.ts +0 -3
  256. package/dist/components/Input/index.d.ts.map +0 -1
  257. package/dist/components/LoginView/LoginView.d.ts +0 -36
  258. package/dist/components/LoginView/LoginView.d.ts.map +0 -1
  259. package/dist/components/LoginView/LoginView.types.d.ts +0 -46
  260. package/dist/components/LoginView/LoginView.types.d.ts.map +0 -1
  261. package/dist/components/LoginView/icons.d.ts +0 -18
  262. package/dist/components/LoginView/icons.d.ts.map +0 -1
  263. package/dist/components/LoginView/index.d.ts +0 -4
  264. package/dist/components/LoginView/index.d.ts.map +0 -1
  265. package/dist/components/Navbar/Navbar.d.ts +0 -63
  266. package/dist/components/Navbar/Navbar.d.ts.map +0 -1
  267. package/dist/components/Navbar/Navbar.types.d.ts +0 -194
  268. package/dist/components/Navbar/Navbar.types.d.ts.map +0 -1
  269. package/dist/components/Navbar/icons.d.ts +0 -12
  270. package/dist/components/Navbar/icons.d.ts.map +0 -1
  271. package/dist/components/Navbar/index.d.ts +0 -4
  272. package/dist/components/Navbar/index.d.ts.map +0 -1
  273. package/dist/components/NavigationBar/NavigationBar.d.ts +0 -75
  274. package/dist/components/NavigationBar/NavigationBar.d.ts.map +0 -1
  275. package/dist/components/NavigationBar/NavigationBar.types.d.ts +0 -63
  276. package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +0 -1
  277. package/dist/components/NavigationBar/index.d.ts +0 -3
  278. package/dist/components/NavigationBar/index.d.ts.map +0 -1
  279. package/dist/components/NavigationRail/NavigationRail.d.ts +0 -7
  280. package/dist/components/NavigationRail/NavigationRail.d.ts.map +0 -1
  281. package/dist/components/NavigationRail/NavigationRail.types.d.ts +0 -92
  282. package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +0 -1
  283. package/dist/components/NavigationRail/index.d.ts +0 -3
  284. package/dist/components/NavigationRail/index.d.ts.map +0 -1
  285. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts +0 -122
  286. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts.map +0 -1
  287. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts +0 -139
  288. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts.map +0 -1
  289. package/dist/components/NavigationRailCommercial/icons.d.ts +0 -33
  290. package/dist/components/NavigationRailCommercial/icons.d.ts.map +0 -1
  291. package/dist/components/NavigationRailCommercial/index.d.ts +0 -4
  292. package/dist/components/NavigationRailCommercial/index.d.ts.map +0 -1
  293. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +0 -90
  294. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +0 -1
  295. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +0 -162
  296. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +0 -1
  297. package/dist/components/NavigationRailItem/index.d.ts +0 -3
  298. package/dist/components/NavigationRailItem/index.d.ts.map +0 -1
  299. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +0 -124
  300. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +0 -1
  301. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +0 -154
  302. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +0 -1
  303. package/dist/components/NavigationRailPanel/index.d.ts +0 -3
  304. package/dist/components/NavigationRailPanel/index.d.ts.map +0 -1
  305. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +0 -99
  306. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +0 -1
  307. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +0 -152
  308. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +0 -1
  309. package/dist/components/NavigationRailTypes/icons.d.ts +0 -44
  310. package/dist/components/NavigationRailTypes/icons.d.ts.map +0 -1
  311. package/dist/components/NavigationRailTypes/index.d.ts +0 -4
  312. package/dist/components/NavigationRailTypes/index.d.ts.map +0 -1
  313. package/dist/components/Notification/Notification.d.ts +0 -52
  314. package/dist/components/Notification/Notification.d.ts.map +0 -1
  315. package/dist/components/Notification/Notification.types.d.ts +0 -138
  316. package/dist/components/Notification/Notification.types.d.ts.map +0 -1
  317. package/dist/components/Notification/index.d.ts +0 -3
  318. package/dist/components/Notification/index.d.ts.map +0 -1
  319. package/dist/components/POSConvention/POSConvention.d.ts +0 -55
  320. package/dist/components/POSConvention/POSConvention.d.ts.map +0 -1
  321. package/dist/components/POSConvention/POSConvention.types.d.ts +0 -37
  322. package/dist/components/POSConvention/POSConvention.types.d.ts.map +0 -1
  323. package/dist/components/POSConvention/icons.d.ts +0 -21
  324. package/dist/components/POSConvention/icons.d.ts.map +0 -1
  325. package/dist/components/POSConvention/index.d.ts +0 -4
  326. package/dist/components/POSConvention/index.d.ts.map +0 -1
  327. package/dist/components/POSLocationButton/POSLocationButton.d.ts +0 -73
  328. package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +0 -1
  329. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +0 -75
  330. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +0 -1
  331. package/dist/components/POSLocationButton/icons.d.ts +0 -37
  332. package/dist/components/POSLocationButton/icons.d.ts.map +0 -1
  333. package/dist/components/POSLocationButton/index.d.ts +0 -4
  334. package/dist/components/POSLocationButton/index.d.ts.map +0 -1
  335. package/dist/components/POSNumberButton/POSNumberButton.d.ts +0 -61
  336. package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +0 -1
  337. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +0 -43
  338. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +0 -1
  339. package/dist/components/POSNumberButton/index.d.ts +0 -3
  340. package/dist/components/POSNumberButton/index.d.ts.map +0 -1
  341. package/dist/components/POSProductButton/POSProductButton.d.ts +0 -59
  342. package/dist/components/POSProductButton/POSProductButton.d.ts.map +0 -1
  343. package/dist/components/POSProductButton/POSProductButton.types.d.ts +0 -40
  344. package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +0 -1
  345. package/dist/components/POSProductButton/index.d.ts +0 -3
  346. package/dist/components/POSProductButton/index.d.ts.map +0 -1
  347. package/dist/components/POSProductCard/POSProductCard.d.ts +0 -68
  348. package/dist/components/POSProductCard/POSProductCard.d.ts.map +0 -1
  349. package/dist/components/POSProductCard/POSProductCard.types.d.ts +0 -67
  350. package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +0 -1
  351. package/dist/components/POSProductCard/icons.d.ts +0 -10
  352. package/dist/components/POSProductCard/icons.d.ts.map +0 -1
  353. package/dist/components/POSProductCard/index.d.ts +0 -3
  354. package/dist/components/POSProductCard/index.d.ts.map +0 -1
  355. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +0 -57
  356. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +0 -1
  357. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +0 -85
  358. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +0 -1
  359. package/dist/components/POSProductSidebarItems/icons.d.ts +0 -9
  360. package/dist/components/POSProductSidebarItems/icons.d.ts.map +0 -1
  361. package/dist/components/POSProductSidebarItems/index.d.ts +0 -4
  362. package/dist/components/POSProductSidebarItems/index.d.ts.map +0 -1
  363. package/dist/components/POSTable/POSTable.d.ts +0 -75
  364. package/dist/components/POSTable/POSTable.d.ts.map +0 -1
  365. package/dist/components/POSTable/POSTable.types.d.ts +0 -71
  366. package/dist/components/POSTable/POSTable.types.d.ts.map +0 -1
  367. package/dist/components/POSTable/index.d.ts +0 -3
  368. package/dist/components/POSTable/index.d.ts.map +0 -1
  369. package/dist/components/Pagination/Pagination.d.ts +0 -29
  370. package/dist/components/Pagination/Pagination.d.ts.map +0 -1
  371. package/dist/components/Pagination/Pagination.types.d.ts +0 -79
  372. package/dist/components/Pagination/Pagination.types.d.ts.map +0 -1
  373. package/dist/components/Pagination/icons.d.ts +0 -18
  374. package/dist/components/Pagination/icons.d.ts.map +0 -1
  375. package/dist/components/Pagination/index.d.ts +0 -4
  376. package/dist/components/Pagination/index.d.ts.map +0 -1
  377. package/dist/components/Quantity/Quantity.d.ts +0 -38
  378. package/dist/components/Quantity/Quantity.d.ts.map +0 -1
  379. package/dist/components/Quantity/Quantity.types.d.ts +0 -59
  380. package/dist/components/Quantity/Quantity.types.d.ts.map +0 -1
  381. package/dist/components/Radio/Radio.d.ts +0 -45
  382. package/dist/components/Radio/Radio.d.ts.map +0 -1
  383. package/dist/components/Radio/Radio.types.d.ts +0 -115
  384. package/dist/components/Radio/Radio.types.d.ts.map +0 -1
  385. package/dist/components/Select/Select.d.ts +0 -37
  386. package/dist/components/Select/Select.d.ts.map +0 -1
  387. package/dist/components/Select/Select.types.d.ts +0 -124
  388. package/dist/components/Select/Select.types.d.ts.map +0 -1
  389. package/dist/components/Select/icons.d.ts +0 -20
  390. package/dist/components/Select/icons.d.ts.map +0 -1
  391. package/dist/components/Select/index.d.ts +0 -4
  392. package/dist/components/Select/index.d.ts.map +0 -1
  393. package/dist/components/SignUpView/SignUpView.d.ts +0 -38
  394. package/dist/components/SignUpView/SignUpView.d.ts.map +0 -1
  395. package/dist/components/SignUpView/SignUpView.types.d.ts +0 -51
  396. package/dist/components/SignUpView/SignUpView.types.d.ts.map +0 -1
  397. package/dist/components/SignUpView/icons.d.ts +0 -18
  398. package/dist/components/SignUpView/icons.d.ts.map +0 -1
  399. package/dist/components/SignUpView/index.d.ts +0 -4
  400. package/dist/components/SignUpView/index.d.ts.map +0 -1
  401. package/dist/components/Switch/Switch.d.ts +0 -46
  402. package/dist/components/Switch/Switch.d.ts.map +0 -1
  403. package/dist/components/Switch/Switch.types.d.ts +0 -58
  404. package/dist/components/Switch/Switch.types.d.ts.map +0 -1
  405. package/dist/components/Table/Table.d.ts +0 -64
  406. package/dist/components/Table/Table.d.ts.map +0 -1
  407. package/dist/components/Table/Table.types.d.ts +0 -173
  408. package/dist/components/Table/Table.types.d.ts.map +0 -1
  409. package/dist/components/Table/index.d.ts +0 -3
  410. package/dist/components/Table/index.d.ts.map +0 -1
  411. package/dist/components/Tabs/Tabs.d.ts +0 -76
  412. package/dist/components/Tabs/Tabs.d.ts.map +0 -1
  413. package/dist/components/Tabs/Tabs.types.d.ts +0 -107
  414. package/dist/components/Tabs/Tabs.types.d.ts.map +0 -1
  415. package/dist/components/Tabs/icons.d.ts +0 -45
  416. package/dist/components/Tabs/icons.d.ts.map +0 -1
  417. package/dist/components/Tabs/index.d.ts +0 -4
  418. package/dist/components/Tabs/index.d.ts.map +0 -1
  419. package/dist/components/Textarea/Textarea.d.ts +0 -38
  420. package/dist/components/Textarea/Textarea.d.ts.map +0 -1
  421. package/dist/components/Textarea/Textarea.types.d.ts +0 -46
  422. package/dist/components/Textarea/Textarea.types.d.ts.map +0 -1
  423. package/dist/context/ThemeContext.d.ts +0 -46
  424. package/dist/context/ThemeContext.d.ts.map +0 -1
  425. package/dist/context/index.d.ts +0 -2
  426. package/dist/context/index.d.ts.map +0 -1
  427. package/dist/index.d.ts +0 -88
  428. package/dist/index.d.ts.map +0 -1
  429. package/dist/siesa-ui-kit.cjs +0 -1474
  430. package/dist/siesa-ui-kit.cjs.map +0 -1
  431. package/dist/siesa-ui-kit.mjs +0 -9580
  432. package/dist/siesa-ui-kit.mjs.map +0 -1
  433. package/dist/views/LayoutCommercial/LayoutCommercial.d.ts +0 -48
  434. package/dist/views/LayoutCommercial/LayoutCommercial.d.ts.map +0 -1
  435. package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts +0 -49
  436. package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts.map +0 -1
  437. package/dist/views/LayoutCommercial/index.d.ts +0 -3
  438. package/dist/views/LayoutCommercial/index.d.ts.map +0 -1
  439. package/dist/views/ListView/ListView.d.ts +0 -47
  440. package/dist/views/ListView/ListView.d.ts.map +0 -1
  441. package/dist/views/ListView/ListView.types.d.ts +0 -177
  442. package/dist/views/ListView/ListView.types.d.ts.map +0 -1
  443. package/dist/views/ListView/icons.d.ts +0 -60
  444. package/dist/views/ListView/icons.d.ts.map +0 -1
  445. package/dist/views/ListView/index.d.ts +0 -3
  446. package/dist/views/ListView/index.d.ts.map +0 -1
  447. package/dist/views/LoginView/LoginView.d.ts +0 -36
  448. package/dist/views/LoginView/LoginView.d.ts.map +0 -1
  449. package/dist/views/LoginView/LoginView.types.d.ts +0 -46
  450. package/dist/views/LoginView/LoginView.types.d.ts.map +0 -1
  451. package/dist/views/LoginView/icons.d.ts +0 -18
  452. package/dist/views/LoginView/icons.d.ts.map +0 -1
  453. package/dist/views/LoginView/index.d.ts +0 -4
  454. package/dist/views/LoginView/index.d.ts.map +0 -1
  455. package/dist/views/ProductsView/ProductsView.d.ts +0 -56
  456. package/dist/views/ProductsView/ProductsView.d.ts.map +0 -1
  457. package/dist/views/ProductsView/ProductsView.types.d.ts +0 -184
  458. package/dist/views/ProductsView/ProductsView.types.d.ts.map +0 -1
  459. package/dist/views/ProductsView/icons.d.ts +0 -12
  460. package/dist/views/ProductsView/icons.d.ts.map +0 -1
  461. package/dist/views/ProductsView/index.d.ts +0 -3
  462. package/dist/views/ProductsView/index.d.ts.map +0 -1
  463. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +0 -34
  464. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +0 -1
  465. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +0 -50
  466. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +0 -1
  467. package/dist/views/RecoverPasswordView/icons.d.ts +0 -9
  468. package/dist/views/RecoverPasswordView/icons.d.ts.map +0 -1
  469. package/dist/views/RecoverPasswordView/index.d.ts +0 -3
  470. package/dist/views/RecoverPasswordView/index.d.ts.map +0 -1
  471. package/dist/views/SignUpView/SignUpView.d.ts +0 -38
  472. package/dist/views/SignUpView/SignUpView.d.ts.map +0 -1
  473. package/dist/views/SignUpView/SignUpView.types.d.ts +0 -51
  474. package/dist/views/SignUpView/SignUpView.types.d.ts.map +0 -1
  475. package/dist/views/SignUpView/icons.d.ts +0 -18
  476. package/dist/views/SignUpView/icons.d.ts.map +0 -1
  477. package/dist/views/SignUpView/index.d.ts +0 -4
  478. package/dist/views/SignUpView/index.d.ts.map +0 -1
  479. package/dist/views/TableLayoutView/TableLayoutView.d.ts +0 -46
  480. package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +0 -1
  481. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +0 -170
  482. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +0 -1
  483. package/dist/views/TableLayoutView/icons.d.ts +0 -27
  484. package/dist/views/TableLayoutView/icons.d.ts.map +0 -1
  485. package/dist/views/TableLayoutView/index.d.ts +0 -3
  486. package/dist/views/TableLayoutView/index.d.ts.map +0 -1
  487. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +0 -317
  488. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +0 -307
  489. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +0 -136
  490. package/src/components/DropdownItemCollapsible/README.md +0 -264
  491. package/src/components/DropdownItemCollapsible/icons.tsx +0 -57
  492. package/src/components/DropdownItemCollapsible/index.ts +0 -12
  493. package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +0 -386
  494. package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +0 -216
  495. package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +0 -93
  496. package/src/components/DropdownItemHeading/README.md +0 -573
  497. package/src/components/DropdownItemHeading/icons.tsx +0 -125
  498. package/src/components/DropdownItemHeading/index.ts +0 -3
  499. package/src/components/NavigationRailCommercial/NavigationRailCommercial.stories.tsx +0 -464
  500. package/src/components/NavigationRailCommercial/NavigationRailCommercial.tsx +0 -301
  501. package/src/components/NavigationRailCommercial/NavigationRailCommercial.types.ts +0 -162
  502. package/src/components/NavigationRailCommercial/README.md +0 -251
  503. package/src/components/NavigationRailCommercial/icons.tsx +0 -54
  504. package/src/components/NavigationRailCommercial/index.ts +0 -6
  505. package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +0 -667
  506. package/src/components/NavigationRailItem/NavigationRailItem.tsx +0 -314
  507. package/src/components/NavigationRailItem/NavigationRailItem.types.ts +0 -175
  508. package/src/components/NavigationRailItem/README.md +0 -476
  509. package/src/components/NavigationRailItem/index.ts +0 -2
  510. package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +0 -462
  511. package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +0 -332
  512. package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +0 -178
  513. package/src/components/NavigationRailPanel/README.md +0 -461
  514. package/src/components/NavigationRailPanel/index.ts +0 -6
  515. package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +0 -682
  516. package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +0 -363
  517. package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +0 -178
  518. package/src/components/NavigationRailTypes/README.md +0 -573
  519. package/src/components/NavigationRailTypes/icons.tsx +0 -76
  520. package/src/components/NavigationRailTypes/index.ts +0 -7
  521. package/src/views/LayoutCommercial/LayoutCommercial.stories.tsx +0 -374
  522. package/src/views/LayoutCommercial/LayoutCommercial.tsx +0 -125
  523. package/src/views/LayoutCommercial/LayoutCommercial.types.ts +0 -54
  524. package/src/views/LayoutCommercial/README.md +0 -286
  525. package/src/views/LayoutCommercial/index.ts +0 -2
  526. package/src/views/ListView/ListView.stories.tsx +0 -329
  527. package/src/views/ListView/ListView.tsx +0 -570
  528. package/src/views/ListView/ListView.types.ts +0 -211
  529. package/src/views/ListView/icons.tsx +0 -282
  530. package/src/views/ListView/index.ts +0 -11
  531. package/src/views/LoginView/LoginView.stories.tsx +0 -148
  532. package/src/views/LoginView/LoginView.tsx +0 -426
  533. package/src/views/LoginView/LoginView.types.ts +0 -52
  534. package/src/views/LoginView/README.md +0 -396
  535. package/src/views/LoginView/icons.tsx +0 -85
  536. package/src/views/LoginView/index.ts +0 -3
  537. package/src/views/SignUpView/SignUpView.stories.tsx +0 -129
  538. package/src/views/SignUpView/SignUpView.tsx +0 -503
  539. package/src/views/SignUpView/SignUpView.types.ts +0 -58
  540. package/src/views/SignUpView/icons.tsx +0 -71
  541. package/src/views/SignUpView/index.ts +0 -3
@@ -1,409 +1,409 @@
1
- # Notification Badge
2
-
3
- Badge de notificación para mostrar alertas, mensajes o notificaciones pendientes. Puede mostrar un punto simple o un contador numérico con límite automático a 99+.
4
-
5
- ## 🎯 Características
6
-
7
- - ✅ Soporte completo de dark mode
8
- - ✅ Dos variantes: badge simple (dot) o badge con número
9
- - ✅ Límite automático a 99+ para números grandes
10
- - ✅ 20+ colores personalizables
11
- - ✅ TypeScript con types estrictos
12
- - ✅ Accesibilidad con ARIA labels automáticos
13
- - ✅ Pixel-perfect según especificaciones de Figma
14
- - ✅ Ideal como overlay en iconos, botones o avatares
15
-
16
- ## 📦 Instalación
17
-
18
- ```tsx
19
- import { Notification } from './components/Notification';
20
- ```
21
-
22
- ## 🚀 Uso Básico
23
-
24
- ### Badge Simple (Dot)
25
- ```tsx
26
- // Punto rojo simple de 8px × 8px
27
- <Notification />
28
-
29
- // Con count=0 también muestra punto
30
- <Notification count={0} />
31
- ```
32
-
33
- ### Badge con Número
34
- ```tsx
35
- // Badge con contador
36
- <Notification count={5} />
37
-
38
- // Límite automático a 99+
39
- <Notification count={150} /> // Muestra "99+"
40
- ```
41
-
42
- ### Badge con Color Personalizado
43
- ```tsx
44
- <Notification count={3} color="red" /> // Error/Crítico (default)
45
- <Notification count={5} color="orange" /> // Advertencia
46
- <Notification count={8} color="green" /> // Éxito
47
- <Notification count={2} color="blue" /> // Info
48
- <Notification count={1} color="purple" /> // Especial
49
- ```
50
-
51
- ### Como Overlay en Botón
52
- ```tsx
53
- <button className="relative p-3 bg-white border rounded-lg">
54
- <BellIcon className="w-6 h-6" />
55
- <Notification count={5} className="absolute -top-1 -right-1" />
56
- </button>
57
- ```
58
-
59
- ## 🎨 Props
60
-
61
- | Prop | Tipo | Default | Descripción |
62
- |------|------|---------|-------------|
63
- | `count` | `number \| undefined` | `undefined` | Número de notificaciones. `undefined`/`0` = dot, `1-99` = número, `100+` = "99+" |
64
- | `color` | `'red' \| 'orange' \| 'yellow' \| 'green' \| 'blue' \| 'purple' \| 'zinc' \| ...` | `'red'` | Color del badge (20+ colores disponibles) |
65
- | `className` | `string` | `''` | Clases CSS adicionales para posicionamiento |
66
- | `ariaLabel` | `string` | Auto-generado | Label de accesibilidad (incluye conteo automático) |
67
-
68
- ## 📏 Especificaciones
69
-
70
- ### Badge Simple (Dot)
71
- - **Dimensiones**: 8px × 8px (w-2 h-2)
72
- - **Forma**: rounded-full (circular)
73
- - **Uso**: Indica notificaciones sin especificar cantidad
74
-
75
- ### Badge con Número
76
- - **Altura**: 16px (h-4)
77
- - **Ancho mínimo**: 16px (min-w-[16px])
78
- - **Padding horizontal**: 4px (px-1)
79
- - **Tipografía**: 10px Bold, leading-none
80
- - **Forma**: rounded-full (pill)
81
- - **Límite**: Números ≥ 100 muestran "99+"
82
-
83
- ## 🎨 Colores Disponibles
84
-
85
- El badge soporta 20+ colores para diferentes contextos:
86
-
87
- | Color | Uso Recomendado | Ejemplo |
88
- |-------|-----------------|---------|
89
- | `red` (default) | Errores, alertas críticas | `<Notification count={5} color="red" />` |
90
- | `orange` | Advertencias importantes | `<Notification count={3} color="orange" />` |
91
- | `yellow` | Avisos, atención requerida | `<Notification count={2} color="yellow" />` |
92
- | `green` | Confirmaciones, éxitos | `<Notification count={8} color="green" />` |
93
- | `blue` | Información general | `<Notification count={7} color="blue" />` |
94
- | `purple` | Especiales, premium | `<Notification count={1} color="purple" />` |
95
- | `zinc` | Notificaciones neutras | `<Notification count={4} color="zinc" />` |
96
-
97
- **Colores adicionales disponibles**: `amber`, `lime`, `emerald`, `teal`, `cyan`, `sky`, `indigo`, `violet`, `fuchsia`, `pink`, `rose`, `primary`, `secondary`, `tertiary`
98
-
99
- ## 🎯 Casos de Uso
100
-
101
- ### 1. Overlay en Botón de Navegación
102
- ```tsx
103
- <nav className="flex items-center justify-between p-4">
104
- <Logo />
105
- <div className="flex items-center gap-4">
106
- <button className="relative p-2 hover:bg-gray-100 rounded">
107
- <BellIcon className="w-5 h-5" />
108
- <Notification count={3} className="absolute -top-1 -right-1" />
109
- </button>
110
- <UserMenu />
111
- </div>
112
- </nav>
113
- ```
114
-
115
- ### 2. Contador en Menú Lateral
116
- ```tsx
117
- <aside className="w-64">
118
- <MenuItem href="/dashboard">Dashboard</MenuItem>
119
- <MenuItem href="/notifications">
120
- Notificaciones
121
- <Notification count={12} className="ml-auto" />
122
- </MenuItem>
123
- <MenuItem href="/messages">
124
- Mensajes
125
- <Notification count={5} className="ml-auto" />
126
- </MenuItem>
127
- </aside>
128
- ```
129
-
130
- ### 3. Overlay en Avatar
131
- ```tsx
132
- <div className="relative">
133
- <img src="/avatar.jpg" className="w-12 h-12 rounded-full" />
134
- <Notification count={3} className="absolute -top-1 -right-1" />
135
- </div>
136
- ```
137
-
138
- ### 4. Indicador de Estado en Lista
139
- ```tsx
140
- <div className="space-y-2">
141
- <div className="flex items-center gap-3 p-2">
142
- <Notification color="red" />
143
- <span>Urgente: Revisar servidor</span>
144
- </div>
145
- <div className="flex items-center gap-3 p-2">
146
- <Notification color="orange" />
147
- <span>Advertencia: Actualización disponible</span>
148
- </div>
149
- <div className="flex items-center gap-3 p-2">
150
- <Notification color="blue" />
151
- <span>Info: Nuevo feature disponible</span>
152
- </div>
153
- </div>
154
- ```
155
-
156
- ### 5. Contador en Tabs
157
- ```tsx
158
- <div className="flex border-b">
159
- <button className="flex items-center gap-2 px-4 py-2 border-b-2 border-blue-600">
160
- Pendientes
161
- <Notification count={8} />
162
- </button>
163
- <button className="flex items-center gap-2 px-4 py-2">
164
- En Progreso
165
- <Notification count={3} color="blue" />
166
- </button>
167
- <button className="px-4 py-2">
168
- Completados
169
- </button>
170
- </div>
171
- ```
172
-
173
- ## 🌓 Dark Mode
174
-
175
- El componente se adapta automáticamente a dark mode:
176
-
177
- ```tsx
178
- // Funciona automáticamente con la clase 'dark' en <html>
179
- <html className="dark">
180
- <body>
181
- <Notification count={5} />
182
- {/* Badge mantiene visibilidad y contraste en dark mode */}
183
- </body>
184
- </html>
185
- ```
186
-
187
- **Adaptaciones en Dark Mode:**
188
- - Colores mantienen intensidad (ej: content-extensions-red #b91c1c)
189
- - Texto siempre blanco para máximo contraste
190
- - Sin bordes en badge simple para mantener limpieza visual
191
-
192
- ## ♿ Accesibilidad
193
-
194
- ### ARIA Labels Automáticos
195
- El componente genera automáticamente labels descriptivos:
196
-
197
- ```tsx
198
- // Badge simple
199
- <Notification />
200
- // → aria-label="Notificación pendiente"
201
-
202
- // Badge con número
203
- <Notification count={5} />
204
- // → aria-label="5 notificaciones"
205
-
206
- <Notification count={1} />
207
- // → aria-label="1 notificación"
208
- ```
209
-
210
- ### ARIA Label Personalizado
211
- Proporciona un label específico cuando necesites más contexto:
212
-
213
- ```tsx
214
- <Notification
215
- count={5}
216
- ariaLabel="5 mensajes no leídos de soporte"
217
- />
218
-
219
- <Notification
220
- ariaLabel="Nueva alerta de seguridad crítica"
221
- />
222
- ```
223
-
224
- ### Role Status
225
- Todos los badges incluyen `role="status"` para anunciar cambios a lectores de pantalla.
226
-
227
- ## 🎨 Tokens de Color Utilizados
228
-
229
- El componente usa **exclusivamente tokens del sistema de diseño**:
230
-
231
- ### Light Mode
232
- - Badge red (default): `bg-content-extensions-red` (#b91c1c)
233
- - Otros colores: `bg-{color}-700` (ej: orange-700, green-700)
234
- - Texto: `text-white` (#ffffff)
235
-
236
- ### Dark Mode
237
- - Colores mantienen intensidad: `dark:bg-content-extensions-red`, `dark:bg-{color}-700`
238
- - Texto: `dark:text-white` (#ffffff)
239
-
240
- ### Token Extensions
241
- El token `content-extensions-red` está definido en `tailwind.config.js` y garantiza consistencia en todos los badges del sistema.
242
-
243
- ## 💡 Mejores Prácticas
244
-
245
- ### ✅ Hacer
246
- - Usa badge simple (sin count) cuando no necesites mostrar número exacto
247
- - Usa badge con número para mostrar cantidad de notificaciones pendientes
248
- - Posiciona como overlay usando `className="absolute -top-1 -right-1"` en elemento `relative`
249
- - Proporciona `ariaLabel` descriptivo cuando el contexto no sea obvio
250
- - Usa colores semánticos (red=error, orange=warning, green=success, blue=info)
251
- - Combina con botones, iconos o avatares para indicar estado
252
-
253
- ### ❌ Evitar
254
- - No uses el badge como botón interactivo (es un indicador de estado)
255
- - No muestres números mayores a 99 sin usar el límite automático (ya incluido)
256
- - No uses como reemplazo de texto explicativo (es complementario)
257
- - No olvides envolver en `relative` cuando uses posicionamiento absoluto
258
- - No uses colores sin significado semántico consistente
259
-
260
- ## 📐 Posicionamiento
261
-
262
- ### Posicionamiento Absoluto (Overlay)
263
- Para usar como overlay sobre otro elemento:
264
-
265
- ```tsx
266
- {/* Elemento padre debe tener position: relative */}
267
- <div className="relative">
268
- <YourElement />
269
- <Notification count={5} className="absolute -top-1 -right-1" />
270
- </div>
271
- ```
272
-
273
- **Variantes de posición comunes:**
274
- - Esquina superior derecha: `-top-1 -right-1`
275
- - Esquina superior izquierda: `-top-1 -left-1`
276
- - Sin overflow: `top-0 right-0`
277
- - Con más separación: `-top-2 -right-2`
278
-
279
- ### Posicionamiento Inline
280
- Para usar dentro del flujo normal:
281
-
282
- ```tsx
283
- <div className="flex items-center gap-2">
284
- <span>Notificaciones</span>
285
- <Notification count={12} />
286
- </div>
287
- ```
288
-
289
- ## 🔗 Recursos Relacionados
290
-
291
- - **Figma**: [Notification Badge](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4310-22651&m=dev)
292
- - **Storybook**: Ejecuta `npm run storybook` y navega a "Siesa UI Kit/Notification"
293
- - **Documentación**:
294
- - [Sistema de colores](../../../docs/colors.md)
295
- - [Guía de dark mode](../../../docs/dark-mode-guide.md)
296
- - [Tipografía](../../../docs/typography.md)
297
-
298
- ## 📝 Ejemplo Completo
299
-
300
- ```tsx
301
- import { useState } from 'react';
302
- import { Notification } from './components/Notification';
303
-
304
- function NotificationCenter() {
305
- const [unreadCount, setUnreadCount] = useState(5);
306
-
307
- const handleMarkAllRead = () => {
308
- setUnreadCount(0);
309
- };
310
-
311
- return (
312
- <nav className="flex items-center justify-between p-4 bg-white border-b">
313
- <h1 className="text-lg font-bold">Mi App</h1>
314
-
315
- <div className="flex items-center gap-4">
316
- {/* Badge como overlay en botón */}
317
- <button
318
- className="relative p-2 hover:bg-gray-100 rounded transition-colors"
319
- onClick={() => console.log('Ver notificaciones')}
320
- aria-label={
321
- unreadCount > 0
322
- ? `${unreadCount} notificaciones no leídas`
323
- : 'Notificaciones'
324
- }
325
- >
326
- <BellIcon className="w-5 h-5" />
327
- {unreadCount > 0 && (
328
- <Notification
329
- count={unreadCount}
330
- className="absolute -top-1 -right-1"
331
- />
332
- )}
333
- </button>
334
-
335
- {/* Badge inline en menú */}
336
- <div className="flex items-center gap-2 px-3 py-2 bg-blue-50 rounded">
337
- <span className="text-sm">Mensajes</span>
338
- <Notification count={3} color="blue" />
339
- </div>
340
-
341
- <button
342
- onClick={handleMarkAllRead}
343
- className="text-sm text-blue-600 hover:underline"
344
- >
345
- Marcar todo como leído
346
- </button>
347
- </div>
348
- </nav>
349
- );
350
- }
351
- ```
352
-
353
- ## 🐛 Solución de Problemas
354
-
355
- ### El badge no se ve
356
- - Verifica que el componente esté renderizándose (inspecciona en DevTools)
357
- - Si usas posicionamiento absoluto, verifica que el padre tenga `relative`
358
- - Verifica que los colores de Tailwind estén cargados correctamente
359
-
360
- ### El badge se solapa con otros elementos
361
- - Ajusta el offset usando `-top-2 -right-2` en lugar de `-top-1 -right-1`
362
- - Considera usar `z-10` o `z-20` en className si hay problemas de z-index
363
-
364
- ### El número no se muestra
365
- - Verifica que `count` sea mayor a 0
366
- - Si `count={0}` o `count={undefined}`, se muestra badge simple (dot)
367
-
368
- ### El color no se aplica
369
- - Verifica que el color esté en la lista de colores disponibles
370
- - Usa nombres en minúscula (ej: `"red"`, no `"Red"`)
371
-
372
- ---
373
-
374
- ## 📋 Historial de Cambios
375
-
376
- ### v2.0.0 (2025-11-19) - Refactorización Mayor ⭐⭐⭐
377
- - 🚨 **BREAKING CHANGE**: Componente completamente refactorizado
378
- - ✅ **ELIMINADO**: Icono de campana - ahora es badge puro (sin botón)
379
- - ✅ **ELIMINADAS** props: `size`, `showBadge`, `onClick` (ya no es interactivo)
380
- - ✅ **RENOMBRADAS** props: `badgeCount` → `count`, `badgeColor` → `color`
381
- - ✅ **NUEVA API**: Componente ahora es `<span>` para uso como overlay o inline
382
- - ✅ **Simplificado**: De 7 props a 4 props (count, color, className, ariaLabel)
383
- - ✅ **Alineado con Figma**: Badge puro sin elementos adicionales
384
- - ✅ **Specs estandarizadas**:
385
- - Badge simple: 8px × 8px fijo (w-2 h-2)
386
- - Badge con número: 16px altura (h-4), min-w-[16px], 10px Bold
387
- - ✅ **ARIA label dinámico mejorado**: Genera automáticamente labels con singular/plural correcto
388
- - ✅ **Build validado**: Sin errores ni warnings
389
- - ✅ **Stories actualizadas**: 7 historias nuevas con ejemplos de overlay y uso real
390
-
391
- ### v1.2.0 (2025-11-19)
392
- - ✅ Prop `badgeColor` con 20+ colores personalizables
393
- - ✅ Estandarización de tamaños de badges
394
- - ✅ ARIA label dinámico automático
395
- - ✅ Alineación con componente Button
396
-
397
- ### v1.1.0 (2025-11-19)
398
- - ✅ Migración a tokens del sistema
399
- - ✅ Dark mode mejorado
400
- - ✅ Tipografía pixel-perfect
401
-
402
- ### v1.0.0 (2025-11-11)
403
- - 🎉 Versión inicial
404
-
405
- ---
406
-
407
- **Versión**: 2.0.0
408
- **Última actualización**: 2025-11-19
409
- **Autor**: Siesa UI Kit Team
1
+ # Notification Badge
2
+
3
+ Badge de notificación para mostrar alertas, mensajes o notificaciones pendientes. Puede mostrar un punto simple o un contador numérico con límite automático a 99+.
4
+
5
+ ## 🎯 Características
6
+
7
+ - ✅ Soporte completo de dark mode
8
+ - ✅ Dos variantes: badge simple (dot) o badge con número
9
+ - ✅ Límite automático a 99+ para números grandes
10
+ - ✅ 20+ colores personalizables
11
+ - ✅ TypeScript con types estrictos
12
+ - ✅ Accesibilidad con ARIA labels automáticos
13
+ - ✅ Pixel-perfect según especificaciones de Figma
14
+ - ✅ Ideal como overlay en iconos, botones o avatares
15
+
16
+ ## 📦 Instalación
17
+
18
+ ```tsx
19
+ import { Notification } from './components/Notification';
20
+ ```
21
+
22
+ ## 🚀 Uso Básico
23
+
24
+ ### Badge Simple (Dot)
25
+ ```tsx
26
+ // Punto rojo simple de 8px × 8px
27
+ <Notification />
28
+
29
+ // Con count=0 también muestra punto
30
+ <Notification count={0} />
31
+ ```
32
+
33
+ ### Badge con Número
34
+ ```tsx
35
+ // Badge con contador
36
+ <Notification count={5} />
37
+
38
+ // Límite automático a 99+
39
+ <Notification count={150} /> // Muestra "99+"
40
+ ```
41
+
42
+ ### Badge con Color Personalizado
43
+ ```tsx
44
+ <Notification count={3} color="red" /> // Error/Crítico (default)
45
+ <Notification count={5} color="orange" /> // Advertencia
46
+ <Notification count={8} color="green" /> // Éxito
47
+ <Notification count={2} color="blue" /> // Info
48
+ <Notification count={1} color="purple" /> // Especial
49
+ ```
50
+
51
+ ### Como Overlay en Botón
52
+ ```tsx
53
+ <button className="relative p-3 bg-white border rounded-lg">
54
+ <BellIcon className="w-6 h-6" />
55
+ <Notification count={5} className="absolute -top-1 -right-1" />
56
+ </button>
57
+ ```
58
+
59
+ ## 🎨 Props
60
+
61
+ | Prop | Tipo | Default | Descripción |
62
+ |------|------|---------|-------------|
63
+ | `count` | `number \| undefined` | `undefined` | Número de notificaciones. `undefined`/`0` = dot, `1-99` = número, `100+` = "99+" |
64
+ | `color` | `'red' \| 'orange' \| 'yellow' \| 'green' \| 'blue' \| 'purple' \| 'zinc' \| ...` | `'red'` | Color del badge (20+ colores disponibles) |
65
+ | `className` | `string` | `''` | Clases CSS adicionales para posicionamiento |
66
+ | `ariaLabel` | `string` | Auto-generado | Label de accesibilidad (incluye conteo automático) |
67
+
68
+ ## 📏 Especificaciones
69
+
70
+ ### Badge Simple (Dot)
71
+ - **Dimensiones**: 8px × 8px (w-2 h-2)
72
+ - **Forma**: rounded-full (circular)
73
+ - **Uso**: Indica notificaciones sin especificar cantidad
74
+
75
+ ### Badge con Número
76
+ - **Altura**: 16px (h-4)
77
+ - **Ancho mínimo**: 16px (min-w-[16px])
78
+ - **Padding horizontal**: 4px (px-1)
79
+ - **Tipografía**: 10px Bold, leading-none
80
+ - **Forma**: rounded-full (pill)
81
+ - **Límite**: Números ≥ 100 muestran "99+"
82
+
83
+ ## 🎨 Colores Disponibles
84
+
85
+ El badge soporta 20+ colores para diferentes contextos:
86
+
87
+ | Color | Uso Recomendado | Ejemplo |
88
+ |-------|-----------------|---------|
89
+ | `red` (default) | Errores, alertas críticas | `<Notification count={5} color="red" />` |
90
+ | `orange` | Advertencias importantes | `<Notification count={3} color="orange" />` |
91
+ | `yellow` | Avisos, atención requerida | `<Notification count={2} color="yellow" />` |
92
+ | `green` | Confirmaciones, éxitos | `<Notification count={8} color="green" />` |
93
+ | `blue` | Información general | `<Notification count={7} color="blue" />` |
94
+ | `purple` | Especiales, premium | `<Notification count={1} color="purple" />` |
95
+ | `zinc` | Notificaciones neutras | `<Notification count={4} color="zinc" />` |
96
+
97
+ **Colores adicionales disponibles**: `amber`, `lime`, `emerald`, `teal`, `cyan`, `sky`, `indigo`, `violet`, `fuchsia`, `pink`, `rose`, `primary`, `secondary`, `tertiary`
98
+
99
+ ## 🎯 Casos de Uso
100
+
101
+ ### 1. Overlay en Botón de Navegación
102
+ ```tsx
103
+ <nav className="flex items-center justify-between p-4">
104
+ <Logo />
105
+ <div className="flex items-center gap-4">
106
+ <button className="relative p-2 hover:bg-gray-100 rounded">
107
+ <BellIcon className="w-5 h-5" />
108
+ <Notification count={3} className="absolute -top-1 -right-1" />
109
+ </button>
110
+ <UserMenu />
111
+ </div>
112
+ </nav>
113
+ ```
114
+
115
+ ### 2. Contador en Menú Lateral
116
+ ```tsx
117
+ <aside className="w-64">
118
+ <MenuItem href="/dashboard">Dashboard</MenuItem>
119
+ <MenuItem href="/notifications">
120
+ Notificaciones
121
+ <Notification count={12} className="ml-auto" />
122
+ </MenuItem>
123
+ <MenuItem href="/messages">
124
+ Mensajes
125
+ <Notification count={5} className="ml-auto" />
126
+ </MenuItem>
127
+ </aside>
128
+ ```
129
+
130
+ ### 3. Overlay en Avatar
131
+ ```tsx
132
+ <div className="relative">
133
+ <img src="/avatar.jpg" className="w-12 h-12 rounded-full" />
134
+ <Notification count={3} className="absolute -top-1 -right-1" />
135
+ </div>
136
+ ```
137
+
138
+ ### 4. Indicador de Estado en Lista
139
+ ```tsx
140
+ <div className="space-y-2">
141
+ <div className="flex items-center gap-3 p-2">
142
+ <Notification color="red" />
143
+ <span>Urgente: Revisar servidor</span>
144
+ </div>
145
+ <div className="flex items-center gap-3 p-2">
146
+ <Notification color="orange" />
147
+ <span>Advertencia: Actualización disponible</span>
148
+ </div>
149
+ <div className="flex items-center gap-3 p-2">
150
+ <Notification color="blue" />
151
+ <span>Info: Nuevo feature disponible</span>
152
+ </div>
153
+ </div>
154
+ ```
155
+
156
+ ### 5. Contador en Tabs
157
+ ```tsx
158
+ <div className="flex border-b">
159
+ <button className="flex items-center gap-2 px-4 py-2 border-b-2 border-blue-600">
160
+ Pendientes
161
+ <Notification count={8} />
162
+ </button>
163
+ <button className="flex items-center gap-2 px-4 py-2">
164
+ En Progreso
165
+ <Notification count={3} color="blue" />
166
+ </button>
167
+ <button className="px-4 py-2">
168
+ Completados
169
+ </button>
170
+ </div>
171
+ ```
172
+
173
+ ## 🌓 Dark Mode
174
+
175
+ El componente se adapta automáticamente a dark mode:
176
+
177
+ ```tsx
178
+ // Funciona automáticamente con la clase 'dark' en <html>
179
+ <html className="dark">
180
+ <body>
181
+ <Notification count={5} />
182
+ {/* Badge mantiene visibilidad y contraste en dark mode */}
183
+ </body>
184
+ </html>
185
+ ```
186
+
187
+ **Adaptaciones en Dark Mode:**
188
+ - Colores mantienen intensidad (ej: content-extensions-red #b91c1c)
189
+ - Texto siempre blanco para máximo contraste
190
+ - Sin bordes en badge simple para mantener limpieza visual
191
+
192
+ ## ♿ Accesibilidad
193
+
194
+ ### ARIA Labels Automáticos
195
+ El componente genera automáticamente labels descriptivos:
196
+
197
+ ```tsx
198
+ // Badge simple
199
+ <Notification />
200
+ // → aria-label="Notificación pendiente"
201
+
202
+ // Badge con número
203
+ <Notification count={5} />
204
+ // → aria-label="5 notificaciones"
205
+
206
+ <Notification count={1} />
207
+ // → aria-label="1 notificación"
208
+ ```
209
+
210
+ ### ARIA Label Personalizado
211
+ Proporciona un label específico cuando necesites más contexto:
212
+
213
+ ```tsx
214
+ <Notification
215
+ count={5}
216
+ ariaLabel="5 mensajes no leídos de soporte"
217
+ />
218
+
219
+ <Notification
220
+ ariaLabel="Nueva alerta de seguridad crítica"
221
+ />
222
+ ```
223
+
224
+ ### Role Status
225
+ Todos los badges incluyen `role="status"` para anunciar cambios a lectores de pantalla.
226
+
227
+ ## 🎨 Tokens de Color Utilizados
228
+
229
+ El componente usa **exclusivamente tokens del sistema de diseño**:
230
+
231
+ ### Light Mode
232
+ - Badge red (default): `bg-content-extensions-red` (#b91c1c)
233
+ - Otros colores: `bg-{color}-700` (ej: orange-700, green-700)
234
+ - Texto: `text-white` (#ffffff)
235
+
236
+ ### Dark Mode
237
+ - Colores mantienen intensidad: `dark:bg-content-extensions-red`, `dark:bg-{color}-700`
238
+ - Texto: `dark:text-white` (#ffffff)
239
+
240
+ ### Token Extensions
241
+ El token `content-extensions-red` está definido en `tailwind.config.js` y garantiza consistencia en todos los badges del sistema.
242
+
243
+ ## 💡 Mejores Prácticas
244
+
245
+ ### ✅ Hacer
246
+ - Usa badge simple (sin count) cuando no necesites mostrar número exacto
247
+ - Usa badge con número para mostrar cantidad de notificaciones pendientes
248
+ - Posiciona como overlay usando `className="absolute -top-1 -right-1"` en elemento `relative`
249
+ - Proporciona `ariaLabel` descriptivo cuando el contexto no sea obvio
250
+ - Usa colores semánticos (red=error, orange=warning, green=success, blue=info)
251
+ - Combina con botones, iconos o avatares para indicar estado
252
+
253
+ ### ❌ Evitar
254
+ - No uses el badge como botón interactivo (es un indicador de estado)
255
+ - No muestres números mayores a 99 sin usar el límite automático (ya incluido)
256
+ - No uses como reemplazo de texto explicativo (es complementario)
257
+ - No olvides envolver en `relative` cuando uses posicionamiento absoluto
258
+ - No uses colores sin significado semántico consistente
259
+
260
+ ## 📐 Posicionamiento
261
+
262
+ ### Posicionamiento Absoluto (Overlay)
263
+ Para usar como overlay sobre otro elemento:
264
+
265
+ ```tsx
266
+ {/* Elemento padre debe tener position: relative */}
267
+ <div className="relative">
268
+ <YourElement />
269
+ <Notification count={5} className="absolute -top-1 -right-1" />
270
+ </div>
271
+ ```
272
+
273
+ **Variantes de posición comunes:**
274
+ - Esquina superior derecha: `-top-1 -right-1`
275
+ - Esquina superior izquierda: `-top-1 -left-1`
276
+ - Sin overflow: `top-0 right-0`
277
+ - Con más separación: `-top-2 -right-2`
278
+
279
+ ### Posicionamiento Inline
280
+ Para usar dentro del flujo normal:
281
+
282
+ ```tsx
283
+ <div className="flex items-center gap-2">
284
+ <span>Notificaciones</span>
285
+ <Notification count={12} />
286
+ </div>
287
+ ```
288
+
289
+ ## 🔗 Recursos Relacionados
290
+
291
+ - **Figma**: [Notification Badge](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4310-22651&m=dev)
292
+ - **Storybook**: Ejecuta `npm run storybook` y navega a "Siesa UI Kit/Notification"
293
+ - **Documentación**:
294
+ - [Sistema de colores](../../../docs/colors.md)
295
+ - [Guía de dark mode](../../../docs/dark-mode-guide.md)
296
+ - [Tipografía](../../../docs/typography.md)
297
+
298
+ ## 📝 Ejemplo Completo
299
+
300
+ ```tsx
301
+ import { useState } from 'react';
302
+ import { Notification } from './components/Notification';
303
+
304
+ function NotificationCenter() {
305
+ const [unreadCount, setUnreadCount] = useState(5);
306
+
307
+ const handleMarkAllRead = () => {
308
+ setUnreadCount(0);
309
+ };
310
+
311
+ return (
312
+ <nav className="flex items-center justify-between p-4 bg-white border-b">
313
+ <h1 className="text-lg font-bold">Mi App</h1>
314
+
315
+ <div className="flex items-center gap-4">
316
+ {/* Badge como overlay en botón */}
317
+ <button
318
+ className="relative p-2 hover:bg-gray-100 rounded transition-colors"
319
+ onClick={() => console.log('Ver notificaciones')}
320
+ aria-label={
321
+ unreadCount > 0
322
+ ? `${unreadCount} notificaciones no leídas`
323
+ : 'Notificaciones'
324
+ }
325
+ >
326
+ <BellIcon className="w-5 h-5" />
327
+ {unreadCount > 0 && (
328
+ <Notification
329
+ count={unreadCount}
330
+ className="absolute -top-1 -right-1"
331
+ />
332
+ )}
333
+ </button>
334
+
335
+ {/* Badge inline en menú */}
336
+ <div className="flex items-center gap-2 px-3 py-2 bg-blue-50 rounded">
337
+ <span className="text-sm">Mensajes</span>
338
+ <Notification count={3} color="blue" />
339
+ </div>
340
+
341
+ <button
342
+ onClick={handleMarkAllRead}
343
+ className="text-sm text-blue-600 hover:underline"
344
+ >
345
+ Marcar todo como leído
346
+ </button>
347
+ </div>
348
+ </nav>
349
+ );
350
+ }
351
+ ```
352
+
353
+ ## 🐛 Solución de Problemas
354
+
355
+ ### El badge no se ve
356
+ - Verifica que el componente esté renderizándose (inspecciona en DevTools)
357
+ - Si usas posicionamiento absoluto, verifica que el padre tenga `relative`
358
+ - Verifica que los colores de Tailwind estén cargados correctamente
359
+
360
+ ### El badge se solapa con otros elementos
361
+ - Ajusta el offset usando `-top-2 -right-2` en lugar de `-top-1 -right-1`
362
+ - Considera usar `z-10` o `z-20` en className si hay problemas de z-index
363
+
364
+ ### El número no se muestra
365
+ - Verifica que `count` sea mayor a 0
366
+ - Si `count={0}` o `count={undefined}`, se muestra badge simple (dot)
367
+
368
+ ### El color no se aplica
369
+ - Verifica que el color esté en la lista de colores disponibles
370
+ - Usa nombres en minúscula (ej: `"red"`, no `"Red"`)
371
+
372
+ ---
373
+
374
+ ## 📋 Historial de Cambios
375
+
376
+ ### v2.0.0 (2025-11-19) - Refactorización Mayor ⭐⭐⭐
377
+ - 🚨 **BREAKING CHANGE**: Componente completamente refactorizado
378
+ - ✅ **ELIMINADO**: Icono de campana - ahora es badge puro (sin botón)
379
+ - ✅ **ELIMINADAS** props: `size`, `showBadge`, `onClick` (ya no es interactivo)
380
+ - ✅ **RENOMBRADAS** props: `badgeCount` → `count`, `badgeColor` → `color`
381
+ - ✅ **NUEVA API**: Componente ahora es `<span>` para uso como overlay o inline
382
+ - ✅ **Simplificado**: De 7 props a 4 props (count, color, className, ariaLabel)
383
+ - ✅ **Alineado con Figma**: Badge puro sin elementos adicionales
384
+ - ✅ **Specs estandarizadas**:
385
+ - Badge simple: 8px × 8px fijo (w-2 h-2)
386
+ - Badge con número: 16px altura (h-4), min-w-[16px], 10px Bold
387
+ - ✅ **ARIA label dinámico mejorado**: Genera automáticamente labels con singular/plural correcto
388
+ - ✅ **Build validado**: Sin errores ni warnings
389
+ - ✅ **Stories actualizadas**: 7 historias nuevas con ejemplos de overlay y uso real
390
+
391
+ ### v1.2.0 (2025-11-19)
392
+ - ✅ Prop `badgeColor` con 20+ colores personalizables
393
+ - ✅ Estandarización de tamaños de badges
394
+ - ✅ ARIA label dinámico automático
395
+ - ✅ Alineación con componente Button
396
+
397
+ ### v1.1.0 (2025-11-19)
398
+ - ✅ Migración a tokens del sistema
399
+ - ✅ Dark mode mejorado
400
+ - ✅ Tipografía pixel-perfect
401
+
402
+ ### v1.0.0 (2025-11-11)
403
+ - 🎉 Versión inicial
404
+
405
+ ---
406
+
407
+ **Versión**: 2.0.0
408
+ **Última actualización**: 2025-11-19
409
+ **Autor**: Siesa UI Kit Team