siesa-ui-kit 1.0.5 → 1.0.7

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 (462) hide show
  1. package/README.md +115 -89
  2. package/dist/ButtonTest.d.ts +6 -0
  3. package/dist/ButtonTest.d.ts.map +1 -0
  4. package/dist/components/Alert/Alert.d.ts +23 -0
  5. package/dist/components/Alert/Alert.d.ts.map +1 -0
  6. package/dist/components/Alert/Alert.types.d.ts +46 -0
  7. package/dist/components/Alert/Alert.types.d.ts.map +1 -0
  8. package/dist/components/Avatar/Avatar.d.ts +41 -0
  9. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  10. package/dist/components/Avatar/Avatar.types.d.ts +46 -0
  11. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  12. package/dist/components/Badge/Badge.d.ts +42 -0
  13. package/dist/components/Badge/Badge.d.ts.map +1 -0
  14. package/dist/components/Badge/Badge.types.d.ts +32 -0
  15. package/dist/components/Badge/Badge.types.d.ts.map +1 -0
  16. package/dist/components/Button/Button.d.ts +84 -0
  17. package/dist/components/Button/Button.d.ts.map +1 -0
  18. package/dist/components/Button/Button.types.d.ts +162 -0
  19. package/dist/components/Button/Button.types.d.ts.map +1 -0
  20. package/dist/components/Button/icons.d.ts +26 -0
  21. package/dist/components/Button/icons.d.ts.map +1 -0
  22. package/{src/components/Button/index.ts → dist/components/Button/index.d.ts} +4 -3
  23. package/dist/components/Button/index.d.ts.map +1 -0
  24. package/dist/components/Checkbox/Checkbox.d.ts +31 -0
  25. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  26. package/dist/components/Checkbox/Checkbox.types.d.ts +53 -0
  27. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
  28. package/dist/components/DescriptionList/DescriptionList.d.ts +38 -0
  29. package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
  30. package/dist/components/DescriptionList/DescriptionList.types.d.ts +27 -0
  31. package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +1 -0
  32. package/dist/components/Divider/Divider.d.ts +33 -0
  33. package/dist/components/Divider/Divider.d.ts.map +1 -0
  34. package/dist/components/Divider/Divider.types.d.ts +22 -0
  35. package/dist/components/Divider/Divider.types.d.ts.map +1 -0
  36. package/dist/components/Dropdown/Dropdown.d.ts +66 -0
  37. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -0
  38. package/dist/components/Dropdown/Dropdown.types.d.ts +124 -0
  39. package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -0
  40. package/dist/components/Dropdown/icons.d.ts +10 -0
  41. package/dist/components/Dropdown/icons.d.ts.map +1 -0
  42. package/{src/components/Dropdown/index.ts → dist/components/Dropdown/index.d.ts} +4 -8
  43. package/dist/components/Dropdown/index.d.ts.map +1 -0
  44. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +101 -0
  45. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -0
  46. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +95 -0
  47. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -0
  48. package/dist/components/DropdownItemCollapsible/icons.d.ts +19 -0
  49. package/dist/components/DropdownItemCollapsible/icons.d.ts.map +1 -0
  50. package/dist/components/DropdownItemCollapsible/index.d.ts +9 -0
  51. package/dist/components/DropdownItemCollapsible/index.d.ts.map +1 -0
  52. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +75 -0
  53. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +1 -0
  54. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +85 -0
  55. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +1 -0
  56. package/dist/components/DropdownItemHeading/icons.d.ts +48 -0
  57. package/dist/components/DropdownItemHeading/icons.d.ts.map +1 -0
  58. package/dist/components/DropdownItemHeading/index.d.ts +4 -0
  59. package/dist/components/DropdownItemHeading/index.d.ts.map +1 -0
  60. package/dist/components/Input/Input.d.ts +40 -0
  61. package/dist/components/Input/Input.d.ts.map +1 -0
  62. package/dist/components/Input/Input.types.d.ts +71 -0
  63. package/dist/components/Input/Input.types.d.ts.map +1 -0
  64. package/dist/components/Input/icons.d.ts +15 -0
  65. package/dist/components/Input/icons.d.ts.map +1 -0
  66. package/{src/components/Input/index.ts → dist/components/Input/index.d.ts} +3 -2
  67. package/dist/components/Input/index.d.ts.map +1 -0
  68. package/dist/components/LoginView/LoginView.d.ts +36 -0
  69. package/dist/components/LoginView/LoginView.d.ts.map +1 -0
  70. package/dist/components/LoginView/LoginView.types.d.ts +46 -0
  71. package/dist/components/LoginView/LoginView.types.d.ts.map +1 -0
  72. package/dist/components/LoginView/icons.d.ts +18 -0
  73. package/dist/components/LoginView/icons.d.ts.map +1 -0
  74. package/{src/components/LoginView/index.ts → dist/components/LoginView/index.d.ts} +4 -3
  75. package/dist/components/LoginView/index.d.ts.map +1 -0
  76. package/dist/components/Navbar/Navbar.d.ts +63 -0
  77. package/dist/components/Navbar/Navbar.d.ts.map +1 -0
  78. package/dist/components/Navbar/Navbar.types.d.ts +194 -0
  79. package/dist/components/Navbar/Navbar.types.d.ts.map +1 -0
  80. package/dist/components/Navbar/icons.d.ts +12 -0
  81. package/dist/components/Navbar/icons.d.ts.map +1 -0
  82. package/dist/components/Navbar/index.d.ts +4 -0
  83. package/dist/components/Navbar/index.d.ts.map +1 -0
  84. package/dist/components/NavigationBar/NavigationBar.d.ts +75 -0
  85. package/dist/components/NavigationBar/NavigationBar.d.ts.map +1 -0
  86. package/dist/components/NavigationBar/NavigationBar.types.d.ts +63 -0
  87. package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +1 -0
  88. package/{src/components/NavigationBar/index.ts → dist/components/NavigationBar/index.d.ts} +3 -2
  89. package/dist/components/NavigationBar/index.d.ts.map +1 -0
  90. package/dist/components/NavigationRail/NavigationRail.d.ts +7 -0
  91. package/dist/components/NavigationRail/NavigationRail.d.ts.map +1 -0
  92. package/dist/components/NavigationRail/NavigationRail.types.d.ts +92 -0
  93. package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +1 -0
  94. package/{src/components/NavigationRail/index.ts → dist/components/NavigationRail/index.d.ts} +3 -2
  95. package/dist/components/NavigationRail/index.d.ts.map +1 -0
  96. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +90 -0
  97. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -0
  98. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +155 -0
  99. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -0
  100. package/dist/components/NavigationRailItem/index.d.ts +3 -0
  101. package/dist/components/NavigationRailItem/index.d.ts.map +1 -0
  102. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +124 -0
  103. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +1 -0
  104. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +154 -0
  105. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +1 -0
  106. package/dist/components/NavigationRailPanel/index.d.ts +3 -0
  107. package/dist/components/NavigationRailPanel/index.d.ts.map +1 -0
  108. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +99 -0
  109. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -0
  110. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +111 -0
  111. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -0
  112. package/dist/components/NavigationRailTypes/icons.d.ts +58 -0
  113. package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -0
  114. package/dist/components/NavigationRailTypes/index.d.ts +4 -0
  115. package/dist/components/NavigationRailTypes/index.d.ts.map +1 -0
  116. package/dist/components/Notification/Notification.d.ts +52 -0
  117. package/dist/components/Notification/Notification.d.ts.map +1 -0
  118. package/dist/components/Notification/Notification.types.d.ts +138 -0
  119. package/dist/components/Notification/Notification.types.d.ts.map +1 -0
  120. package/{src/components/Notification/index.ts → dist/components/Notification/index.d.ts} +3 -3
  121. package/dist/components/Notification/index.d.ts.map +1 -0
  122. package/dist/components/POSConvention/POSConvention.d.ts +55 -0
  123. package/dist/components/POSConvention/POSConvention.d.ts.map +1 -0
  124. package/{src/components/POSConvention/POSConvention.types.ts → dist/components/POSConvention/POSConvention.types.d.ts} +37 -38
  125. package/dist/components/POSConvention/POSConvention.types.d.ts.map +1 -0
  126. package/dist/components/POSConvention/icons.d.ts +21 -0
  127. package/dist/components/POSConvention/icons.d.ts.map +1 -0
  128. package/{src/components/POSConvention/index.ts → dist/components/POSConvention/index.d.ts} +4 -3
  129. package/dist/components/POSConvention/index.d.ts.map +1 -0
  130. package/dist/components/POSLocationButton/POSLocationButton.d.ts +73 -0
  131. package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +1 -0
  132. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +75 -0
  133. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +1 -0
  134. package/dist/components/POSLocationButton/icons.d.ts +37 -0
  135. package/dist/components/POSLocationButton/icons.d.ts.map +1 -0
  136. package/dist/components/POSLocationButton/index.d.ts +4 -0
  137. package/dist/components/POSLocationButton/index.d.ts.map +1 -0
  138. package/dist/components/POSNumberButton/POSNumberButton.d.ts +61 -0
  139. package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +1 -0
  140. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +43 -0
  141. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +1 -0
  142. package/{src/components/POSNumberButton/index.ts → dist/components/POSNumberButton/index.d.ts} +3 -3
  143. package/dist/components/POSNumberButton/index.d.ts.map +1 -0
  144. package/dist/components/POSProductButton/POSProductButton.d.ts +59 -0
  145. package/dist/components/POSProductButton/POSProductButton.d.ts.map +1 -0
  146. package/dist/components/POSProductButton/POSProductButton.types.d.ts +40 -0
  147. package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +1 -0
  148. package/{src/components/POSProductButton/index.ts → dist/components/POSProductButton/index.d.ts} +3 -2
  149. package/dist/components/POSProductButton/index.d.ts.map +1 -0
  150. package/dist/components/POSProductCard/POSProductCard.d.ts +68 -0
  151. package/dist/components/POSProductCard/POSProductCard.d.ts.map +1 -0
  152. package/dist/components/POSProductCard/POSProductCard.types.d.ts +67 -0
  153. package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +1 -0
  154. package/dist/components/POSProductCard/icons.d.ts +10 -0
  155. package/dist/components/POSProductCard/icons.d.ts.map +1 -0
  156. package/{src/components/POSProductCard/index.ts → dist/components/POSProductCard/index.d.ts} +3 -2
  157. package/dist/components/POSProductCard/index.d.ts.map +1 -0
  158. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +57 -0
  159. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +1 -0
  160. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +85 -0
  161. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +1 -0
  162. package/dist/components/POSProductSidebarItems/icons.d.ts +9 -0
  163. package/dist/components/POSProductSidebarItems/icons.d.ts.map +1 -0
  164. package/{src/components/POSProductSidebarItems/index.ts → dist/components/POSProductSidebarItems/index.d.ts} +4 -3
  165. package/dist/components/POSProductSidebarItems/index.d.ts.map +1 -0
  166. package/dist/components/POSTable/POSTable.d.ts +75 -0
  167. package/dist/components/POSTable/POSTable.d.ts.map +1 -0
  168. package/dist/components/POSTable/POSTable.types.d.ts +71 -0
  169. package/dist/components/POSTable/POSTable.types.d.ts.map +1 -0
  170. package/dist/components/POSTable/index.d.ts +3 -0
  171. package/dist/components/POSTable/index.d.ts.map +1 -0
  172. package/dist/components/Pagination/Pagination.d.ts +29 -0
  173. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  174. package/dist/components/Pagination/Pagination.types.d.ts +79 -0
  175. package/dist/components/Pagination/Pagination.types.d.ts.map +1 -0
  176. package/dist/components/Pagination/icons.d.ts +18 -0
  177. package/dist/components/Pagination/icons.d.ts.map +1 -0
  178. package/{src/components/Pagination/index.ts → dist/components/Pagination/index.d.ts} +4 -3
  179. package/dist/components/Pagination/index.d.ts.map +1 -0
  180. package/dist/components/Quantity/Quantity.d.ts +38 -0
  181. package/dist/components/Quantity/Quantity.d.ts.map +1 -0
  182. package/dist/components/Quantity/Quantity.types.d.ts +59 -0
  183. package/dist/components/Quantity/Quantity.types.d.ts.map +1 -0
  184. package/dist/components/Radio/Radio.d.ts +45 -0
  185. package/dist/components/Radio/Radio.d.ts.map +1 -0
  186. package/dist/components/Radio/Radio.types.d.ts +115 -0
  187. package/dist/components/Radio/Radio.types.d.ts.map +1 -0
  188. package/dist/components/Select/Select.d.ts +37 -0
  189. package/dist/components/Select/Select.d.ts.map +1 -0
  190. package/dist/components/Select/Select.types.d.ts +124 -0
  191. package/dist/components/Select/Select.types.d.ts.map +1 -0
  192. package/dist/components/Select/icons.d.ts +16 -0
  193. package/dist/components/Select/icons.d.ts.map +1 -0
  194. package/{src/components/Select/index.ts → dist/components/Select/index.d.ts} +4 -3
  195. package/dist/components/Select/index.d.ts.map +1 -0
  196. package/dist/components/SignUpView/SignUpView.d.ts +38 -0
  197. package/dist/components/SignUpView/SignUpView.d.ts.map +1 -0
  198. package/dist/components/SignUpView/SignUpView.types.d.ts +51 -0
  199. package/dist/components/SignUpView/SignUpView.types.d.ts.map +1 -0
  200. package/dist/components/SignUpView/icons.d.ts +18 -0
  201. package/dist/components/SignUpView/icons.d.ts.map +1 -0
  202. package/{src/components/SignUpView/index.ts → dist/components/SignUpView/index.d.ts} +4 -3
  203. package/dist/components/SignUpView/index.d.ts.map +1 -0
  204. package/dist/components/Switch/Switch.d.ts +46 -0
  205. package/dist/components/Switch/Switch.d.ts.map +1 -0
  206. package/dist/components/Switch/Switch.types.d.ts +58 -0
  207. package/dist/components/Switch/Switch.types.d.ts.map +1 -0
  208. package/dist/components/Table/Table.d.ts +64 -0
  209. package/dist/components/Table/Table.d.ts.map +1 -0
  210. package/dist/components/Table/Table.types.d.ts +173 -0
  211. package/dist/components/Table/Table.types.d.ts.map +1 -0
  212. package/dist/components/Table/index.d.ts +3 -0
  213. package/dist/components/Table/index.d.ts.map +1 -0
  214. package/dist/components/Tabs/Tabs.d.ts +76 -0
  215. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  216. package/dist/components/Tabs/Tabs.types.d.ts +107 -0
  217. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
  218. package/dist/components/Tabs/icons.d.ts +45 -0
  219. package/dist/components/Tabs/icons.d.ts.map +1 -0
  220. package/dist/components/Tabs/index.d.ts +4 -0
  221. package/dist/components/Tabs/index.d.ts.map +1 -0
  222. package/dist/components/Textarea/Textarea.d.ts +38 -0
  223. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  224. package/dist/components/Textarea/Textarea.types.d.ts +46 -0
  225. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
  226. package/dist/context/ThemeContext.d.ts +46 -0
  227. package/dist/context/ThemeContext.d.ts.map +1 -0
  228. package/{src/context/index.ts → dist/context/index.d.ts} +2 -1
  229. package/dist/context/index.d.ts.map +1 -0
  230. package/dist/index.d.ts +56 -0
  231. package/dist/index.d.ts.map +1 -0
  232. package/dist/siesa-ui-kit.cjs +1273 -0
  233. package/dist/siesa-ui-kit.cjs.map +1 -0
  234. package/dist/siesa-ui-kit.mjs +4510 -0
  235. package/dist/siesa-ui-kit.mjs.map +1 -0
  236. package/dist/views/ListView/ListView.d.ts +47 -0
  237. package/dist/views/ListView/ListView.d.ts.map +1 -0
  238. package/dist/views/ListView/ListView.types.d.ts +177 -0
  239. package/dist/views/ListView/ListView.types.d.ts.map +1 -0
  240. package/dist/views/ListView/icons.d.ts +60 -0
  241. package/dist/views/ListView/icons.d.ts.map +1 -0
  242. package/dist/views/ListView/index.d.ts +3 -0
  243. package/dist/views/ListView/index.d.ts.map +1 -0
  244. package/dist/views/LoginView/LoginView.d.ts +36 -0
  245. package/dist/views/LoginView/LoginView.d.ts.map +1 -0
  246. package/dist/views/LoginView/LoginView.types.d.ts +46 -0
  247. package/dist/views/LoginView/LoginView.types.d.ts.map +1 -0
  248. package/dist/views/LoginView/icons.d.ts +18 -0
  249. package/dist/views/LoginView/icons.d.ts.map +1 -0
  250. package/dist/views/LoginView/index.d.ts +4 -0
  251. package/dist/views/LoginView/index.d.ts.map +1 -0
  252. package/dist/views/ProductsView/ProductsView.d.ts +56 -0
  253. package/dist/views/ProductsView/ProductsView.d.ts.map +1 -0
  254. package/dist/views/ProductsView/ProductsView.types.d.ts +184 -0
  255. package/dist/views/ProductsView/ProductsView.types.d.ts.map +1 -0
  256. package/dist/views/ProductsView/icons.d.ts +12 -0
  257. package/dist/views/ProductsView/icons.d.ts.map +1 -0
  258. package/dist/views/ProductsView/index.d.ts +3 -0
  259. package/dist/views/ProductsView/index.d.ts.map +1 -0
  260. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +34 -0
  261. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +1 -0
  262. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +50 -0
  263. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +1 -0
  264. package/dist/views/RecoverPasswordView/icons.d.ts +9 -0
  265. package/dist/views/RecoverPasswordView/icons.d.ts.map +1 -0
  266. package/{src/views/RecoverPasswordView/index.ts → dist/views/RecoverPasswordView/index.d.ts} +3 -2
  267. package/dist/views/RecoverPasswordView/index.d.ts.map +1 -0
  268. package/dist/views/SignUpView/SignUpView.d.ts +38 -0
  269. package/dist/views/SignUpView/SignUpView.d.ts.map +1 -0
  270. package/dist/views/SignUpView/SignUpView.types.d.ts +51 -0
  271. package/dist/views/SignUpView/SignUpView.types.d.ts.map +1 -0
  272. package/dist/views/SignUpView/icons.d.ts +18 -0
  273. package/dist/views/SignUpView/icons.d.ts.map +1 -0
  274. package/dist/views/SignUpView/index.d.ts +4 -0
  275. package/dist/views/SignUpView/index.d.ts.map +1 -0
  276. package/dist/views/TableLayoutView/TableLayoutView.d.ts +46 -0
  277. package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +1 -0
  278. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +170 -0
  279. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +1 -0
  280. package/dist/views/TableLayoutView/icons.d.ts +27 -0
  281. package/dist/views/TableLayoutView/icons.d.ts.map +1 -0
  282. package/dist/views/TableLayoutView/index.d.ts +3 -0
  283. package/dist/views/TableLayoutView/index.d.ts.map +1 -0
  284. package/package.json +93 -83
  285. package/bin/install.cjs +0 -502
  286. package/bin/prepare-publish.cjs +0 -28
  287. package/bin/restore-folders.cjs +0 -28
  288. package/claude/agents/siesa-ui-kit-specialist.md +0 -2401
  289. package/claude/prompts/component-template.md +0 -121
  290. package/claude/settings.local.json +0 -61
  291. package/docs/border-radius.md +0 -1261
  292. package/docs/colors.md +0 -832
  293. package/docs/dark-mode-guide.md +0 -1426
  294. package/docs/filters.md +0 -1243
  295. package/docs/icons.md +0 -1283
  296. package/docs/shadows.md +0 -1377
  297. package/docs/spacing.md +0 -1684
  298. package/docs/typography.md +0 -1268
  299. package/postcss.config.cjs +0 -6
  300. package/public/,Business Logo.png +0 -0
  301. package/public/.Siesa Logo.png +0 -0
  302. package/public/bg_siesa.png +0 -0
  303. package/public/siesa_logo_mobile.png +0 -0
  304. package/public/vite.svg +0 -1
  305. package/src/App.css +0 -42
  306. package/src/App.tsx +0 -8
  307. package/src/ButtonTest.tsx +0 -147
  308. package/src/assets/fonts/README.md +0 -261
  309. package/src/assets/fonts/SiesaBT/SiesaBT-Bold.otf +0 -0
  310. package/src/assets/fonts/SiesaBT/SiesaBT-Light.otf +0 -0
  311. package/src/assets/fonts/SiesaBT/SiesaBT-Regular.otf +0 -0
  312. package/src/assets/react.svg +0 -1
  313. package/src/components/Alert/Alert.stories.tsx +0 -332
  314. package/src/components/Alert/Alert.tsx +0 -106
  315. package/src/components/Alert/Alert.types.ts +0 -54
  316. package/src/components/Avatar/Avatar.stories.tsx +0 -494
  317. package/src/components/Avatar/Avatar.tsx +0 -143
  318. package/src/components/Avatar/Avatar.types.ts +0 -53
  319. package/src/components/Badge/Badge.stories.tsx +0 -339
  320. package/src/components/Badge/Badge.tsx +0 -278
  321. package/src/components/Badge/Badge.types.ts +0 -58
  322. package/src/components/Button/Button.stories.tsx +0 -950
  323. package/src/components/Button/Button.tsx +0 -337
  324. package/src/components/Button/Button.types.ts +0 -180
  325. package/src/components/Button/icons.tsx +0 -87
  326. package/src/components/Checkbox/Checkbox.stories.tsx +0 -453
  327. package/src/components/Checkbox/Checkbox.tsx +0 -208
  328. package/src/components/Checkbox/Checkbox.types.ts +0 -61
  329. package/src/components/DescriptionList/DescriptionList.stories.tsx +0 -250
  330. package/src/components/DescriptionList/DescriptionList.tsx +0 -96
  331. package/src/components/DescriptionList/DescriptionList.types.ts +0 -29
  332. package/src/components/Divider/Divider.stories.tsx +0 -263
  333. package/src/components/Divider/Divider.tsx +0 -80
  334. package/src/components/Divider/Divider.types.ts +0 -24
  335. package/src/components/Dropdown/Dropdown.stories.tsx +0 -552
  336. package/src/components/Dropdown/Dropdown.tsx +0 -422
  337. package/src/components/Dropdown/Dropdown.types.ts +0 -146
  338. package/src/components/Dropdown/README.md +0 -266
  339. package/src/components/Dropdown/icons.tsx +0 -72
  340. package/src/components/Input/Input.stories.tsx +0 -583
  341. package/src/components/Input/Input.tsx +0 -204
  342. package/src/components/Input/Input.types.ts +0 -80
  343. package/src/components/Input/icons.tsx +0 -145
  344. package/src/components/LoginView/LoginView.stories.tsx +0 -148
  345. package/src/components/LoginView/LoginView.tsx +0 -426
  346. package/src/components/LoginView/LoginView.types.ts +0 -52
  347. package/src/components/LoginView/README.md +0 -396
  348. package/src/components/LoginView/icons.tsx +0 -85
  349. package/src/components/Navbar/Navbar.stories.tsx +0 -810
  350. package/src/components/Navbar/Navbar.tsx +0 -755
  351. package/src/components/Navbar/Navbar.types.ts +0 -219
  352. package/src/components/Navbar/README.md +0 -279
  353. package/src/components/Navbar/icons.tsx +0 -102
  354. package/src/components/Navbar/index.ts +0 -8
  355. package/src/components/NavigationBar/NavigationBar.stories.tsx +0 -406
  356. package/src/components/NavigationBar/NavigationBar.tsx +0 -246
  357. package/src/components/NavigationBar/NavigationBar.types.ts +0 -74
  358. package/src/components/NavigationBar/README.md +0 -469
  359. package/src/components/NavigationRail/NavigationRail.stories.tsx +0 -417
  360. package/src/components/NavigationRail/NavigationRail.tsx +0 -418
  361. package/src/components/NavigationRail/NavigationRail.types.ts +0 -109
  362. package/src/components/NavigationRail/README.md +0 -224
  363. package/src/components/Notification/Notification.stories.tsx +0 -513
  364. package/src/components/Notification/Notification.tsx +0 -145
  365. package/src/components/Notification/Notification.types.ts +0 -142
  366. package/src/components/Notification/README.md +0 -409
  367. package/src/components/POSConvention/POSConvention.stories.tsx +0 -235
  368. package/src/components/POSConvention/POSConvention.tsx +0 -129
  369. package/src/components/POSConvention/README.md +0 -123
  370. package/src/components/POSConvention/icons.tsx +0 -45
  371. package/src/components/POSLocationButton/POSLocationButton.stories.tsx +0 -531
  372. package/src/components/POSLocationButton/POSLocationButton.tsx +0 -247
  373. package/src/components/POSLocationButton/POSLocationButton.types.ts +0 -87
  374. package/src/components/POSLocationButton/README.md +0 -253
  375. package/src/components/POSLocationButton/icons.tsx +0 -120
  376. package/src/components/POSLocationButton/index.ts +0 -14
  377. package/src/components/POSNumberButton/POSNumberButton.stories.tsx +0 -415
  378. package/src/components/POSNumberButton/POSNumberButton.tsx +0 -179
  379. package/src/components/POSNumberButton/POSNumberButton.types.ts +0 -51
  380. package/src/components/POSNumberButton/README.md +0 -321
  381. package/src/components/POSProductButton/POSProductButton.stories.tsx +0 -318
  382. package/src/components/POSProductButton/POSProductButton.tsx +0 -152
  383. package/src/components/POSProductButton/POSProductButton.types.ts +0 -46
  384. package/src/components/POSProductButton/README.md +0 -269
  385. package/src/components/POSProductCard/POSProductCard.stories.tsx +0 -642
  386. package/src/components/POSProductCard/POSProductCard.tsx +0 -208
  387. package/src/components/POSProductCard/POSProductCard.types.ts +0 -76
  388. package/src/components/POSProductCard/README.md +0 -179
  389. package/src/components/POSProductCard/icons.tsx +0 -26
  390. package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +0 -753
  391. package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +0 -332
  392. package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +0 -119
  393. package/src/components/POSProductSidebarItems/README.md +0 -198
  394. package/src/components/POSProductSidebarItems/icons.tsx +0 -21
  395. package/src/components/POSTable/POSTable.stories.tsx +0 -737
  396. package/src/components/POSTable/POSTable.tsx +0 -401
  397. package/src/components/POSTable/POSTable.types.ts +0 -83
  398. package/src/components/POSTable/README.md +0 -286
  399. package/src/components/POSTable/index.ts +0 -7
  400. package/src/components/Pagination/Pagination.stories.tsx +0 -555
  401. package/src/components/Pagination/Pagination.tsx +0 -286
  402. package/src/components/Pagination/Pagination.types.ts +0 -93
  403. package/src/components/Pagination/README.md +0 -298
  404. package/src/components/Pagination/icons.tsx +0 -47
  405. package/src/components/Quantity/Quantity.stories.tsx +0 -457
  406. package/src/components/Quantity/Quantity.tsx +0 -289
  407. package/src/components/Quantity/Quantity.types.ts +0 -70
  408. package/src/components/Radio/Radio.stories.tsx +0 -523
  409. package/src/components/Radio/Radio.tsx +0 -170
  410. package/src/components/Radio/Radio.types.ts +0 -122
  411. package/src/components/Select/README.md +0 -299
  412. package/src/components/Select/Select.stories.tsx +0 -673
  413. package/src/components/Select/Select.tsx +0 -454
  414. package/src/components/Select/Select.types.ts +0 -148
  415. package/src/components/Select/icons.tsx +0 -50
  416. package/src/components/SignUpView/SignUpView.stories.tsx +0 -129
  417. package/src/components/SignUpView/SignUpView.tsx +0 -503
  418. package/src/components/SignUpView/SignUpView.types.ts +0 -58
  419. package/src/components/SignUpView/icons.tsx +0 -71
  420. package/src/components/Switch/README.md +0 -112
  421. package/src/components/Switch/Switch.stories.tsx +0 -550
  422. package/src/components/Switch/Switch.tsx +0 -246
  423. package/src/components/Switch/Switch.types.ts +0 -67
  424. package/src/components/Table/README.md +0 -369
  425. package/src/components/Table/Table.stories.tsx +0 -805
  426. package/src/components/Table/Table.tsx +0 -688
  427. package/src/components/Table/Table.types.ts +0 -204
  428. package/src/components/Table/index.ts +0 -9
  429. package/src/components/Tabs/README.md +0 -201
  430. package/src/components/Tabs/Tabs.stories.tsx +0 -580
  431. package/src/components/Tabs/Tabs.tsx +0 -356
  432. package/src/components/Tabs/Tabs.types.ts +0 -127
  433. package/src/components/Tabs/icons.tsx +0 -129
  434. package/src/components/Tabs/index.ts +0 -11
  435. package/src/components/Textarea/Textarea.stories.tsx +0 -535
  436. package/src/components/Textarea/Textarea.tsx +0 -188
  437. package/src/components/Textarea/Textarea.types.ts +0 -54
  438. package/src/context/ThemeContext.tsx +0 -99
  439. package/src/index.css +0 -29
  440. package/src/index.ts +0 -39
  441. package/src/main.tsx +0 -10
  442. package/src/views/ProductsView/ProductsView.stories.tsx +0 -344
  443. package/src/views/ProductsView/ProductsView.tsx +0 -480
  444. package/src/views/ProductsView/ProductsView.types.ts +0 -238
  445. package/src/views/ProductsView/README.md +0 -312
  446. package/src/views/ProductsView/icons.tsx +0 -38
  447. package/src/views/ProductsView/index.ts +0 -8
  448. package/src/views/RecoverPasswordView/README.md +0 -269
  449. package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +0 -131
  450. package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +0 -376
  451. package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +0 -56
  452. package/src/views/RecoverPasswordView/icons.tsx +0 -17
  453. package/src/views/TableLayoutView/README.md +0 -268
  454. package/src/views/TableLayoutView/TableLayoutView.stories.tsx +0 -235
  455. package/src/views/TableLayoutView/TableLayoutView.tsx +0 -461
  456. package/src/views/TableLayoutView/TableLayoutView.types.ts +0 -209
  457. package/src/views/TableLayoutView/icons.tsx +0 -113
  458. package/src/views/TableLayoutView/index.ts +0 -6
  459. package/storybook/main.ts +0 -20
  460. package/storybook/preview.tsx +0 -84
  461. package/storybook/vitest.setup.ts +0 -7
  462. package/tailwind.config.js +0 -128
@@ -1,142 +0,0 @@
1
- /**
2
- * Props del componente Notification
3
- *
4
- * Badge de notificación para mostrar alertas, mensajes o notificaciones pendientes.
5
- * Alineado pixel-perfect con el diseño de Figma.
6
- *
7
- * @see src/components/Notification/Notification.tsx - Implementación del componente
8
- * @see docs/colors.md - Sistema de colores (token content-extensions-red)
9
- * @see docs/typography.md - Sistema tipográfico (Label/XXSmall)
10
- * @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4310-22651
11
- *
12
- * @example
13
- * ```tsx
14
- * // Badge simple (punto)
15
- * const simpleProps: NotificationProps = {};
16
- *
17
- * // Badge con número
18
- * const withCountProps: NotificationProps = {
19
- * count: 5,
20
- * color: 'red',
21
- * };
22
- *
23
- * // Como overlay
24
- * <button className="relative">
25
- * <Icon />
26
- * <Notification count={3} className="absolute -top-1 -right-1" />
27
- * </button>
28
- * ```
29
- */
30
- export interface NotificationProps {
31
- /**
32
- * Número de notificaciones a mostrar
33
- *
34
- * **Comportamiento:**
35
- * - `undefined`: Muestra badge simple (punto rojo de 8px)
36
- * - `1-99`: Muestra el número exacto en el badge
37
- * - `100+`: Muestra "99+" en el badge
38
- * - `0` o menor: Muestra badge simple (punto)
39
- *
40
- * **Nota:** El badge ajusta su ancho automáticamente según el contenido,
41
- * con un mínimo de 16px y padding de 4px horizontal.
42
- *
43
- * @example
44
- * ```tsx
45
- * <Notification /> // Punto rojo simple
46
- * <Notification count={5} /> // Muestra "5"
47
- * <Notification count={99} /> // Muestra "99"
48
- * <Notification count={150} /> // Muestra "99+"
49
- * <Notification count={0} /> // Punto rojo simple
50
- * ```
51
- *
52
- * @see src/components/Notification/Notification.tsx:93-123 - Renderizado con número
53
- */
54
- count?: number;
55
-
56
- /**
57
- * Color del badge
58
- *
59
- * Define el color de fondo del badge. Permite personalizar según el contexto
60
- * o tipo de notificación.
61
- *
62
- * **Colores disponibles:**
63
- * - `red` (default): Notificaciones de error, alertas críticas
64
- * - `orange`: Advertencias importantes
65
- * - `yellow`: Avisos, atención requerida
66
- * - `green`: Notificaciones positivas, éxito
67
- * - `blue`: Información general
68
- * - `purple`: Notificaciones especiales o premium
69
- * - `zinc`: Notificaciones neutras
70
- * - Y 15+ colores adicionales de Tailwind
71
- *
72
- * **Nota:** El texto siempre será blanco para mantener contraste adecuado.
73
- *
74
- * @default 'red'
75
- *
76
- * @example
77
- * ```tsx
78
- * <Notification count={5} color="red" /> // Error/Crítico
79
- * <Notification count={2} color="orange" /> // Advertencia
80
- * <Notification count={8} color="green" /> // Éxito
81
- * <Notification count={3} color="blue" /> // Info
82
- * <Notification count={1} color="purple" /> // Especial
83
- * ```
84
- *
85
- * @see src/components/Button/Button.tsx:220-244 - Referencia de colores
86
- */
87
- color?: 'zinc' | 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' |
88
- 'emerald' | 'teal' | 'cyan' | 'sky' | 'blue' | 'indigo' | 'violet' |
89
- 'purple' | 'fuchsia' | 'pink' | 'rose' | 'primary' | 'secondary' | 'tertiary';
90
-
91
- /**
92
- * Clases CSS adicionales para posicionamiento o personalización
93
- *
94
- * Útil para posicionar el badge como overlay usando absolute positioning.
95
- *
96
- * **Advertencia:** Evita sobrescribir tamaños, colores o formas core del badge.
97
- * Usa solo para posicionamiento, márgenes o efectos adicionales.
98
- *
99
- * @example
100
- * ```tsx
101
- * // Como overlay en botón
102
- * <button className="relative">
103
- * <BellIcon />
104
- * <Notification count={5} className="absolute -top-1 -right-1" />
105
- * </button>
106
- *
107
- * // Con margen personalizado
108
- * <Notification count={3} className="ml-2" />
109
- *
110
- * // Con sombra adicional
111
- * <Notification count={7} className="shadow-lg" />
112
- * ```
113
- */
114
- className?: string;
115
-
116
- /**
117
- * Label de accesibilidad (ARIA) personalizado
118
- *
119
- * Si no se proporciona, se genera automáticamente:
120
- * - Con count: "{count} notificación(es)"
121
- * - Sin count: "Notificación pendiente"
122
- *
123
- * **Mejores prácticas:**
124
- * - Describe el tipo de notificación si es específico
125
- * - Incluye contexto relevante para screen readers
126
- * - Mantén el texto conciso pero descriptivo
127
- *
128
- * @example
129
- * ```tsx
130
- * // Auto-generado (recomendado)
131
- * <Notification count={5} />
132
- * // → aria-label="5 notificaciones"
133
- *
134
- * // Personalizado
135
- * <Notification count={3} ariaLabel="3 mensajes no leídos" />
136
- * <Notification ariaLabel="Nueva alerta de seguridad" />
137
- * ```
138
- *
139
- * @see https://www.w3.org/WAI/WCAG21/Understanding/name-role-value.html
140
- */
141
- ariaLabel?: string;
142
- }
@@ -1,409 +0,0 @@
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