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
package/docs/colors.md DELETED
@@ -1,832 +0,0 @@
1
- # 🎨 Sistema de Colores - Siesa UI Kit
2
-
3
- ## 📋 Tabla de Contenidos
4
-
5
- 1. [Introducción](#introducción)
6
- 2. [Arquitectura de Colores](#arquitectura-de-colores)
7
- 3. [Colores Primitivos](#colores-primitivos)
8
- 4. [Tokens Semánticos](#tokens-semánticos)
9
- 5. [Modos de Color (Light/Dark)](#modos-de-color-lightdark)
10
- 6. [Guía de Uso en Componentes](#guía-de-uso-en-componentes)
11
- 7. [Ejemplos de Código](#ejemplos-de-código)
12
- 8. [Mejores Prácticas](#mejores-prácticas)
13
- 9. [Referencia Rápida](#referencia-rápida)
14
-
15
- ---
16
-
17
- ## Introducción
18
-
19
- Este documento describe el sistema de colores del **Siesa UI Kit**, diseñado para garantizar consistencia visual, accesibilidad y mantenibilidad en todos los componentes de la interfaz.
20
-
21
- ### 🎯 Objetivos del Sistema
22
-
23
- - **Consistencia**: Colores unificados en toda la aplicación
24
- - **Accesibilidad**: Ratios de contraste WCAG AA/AAA
25
- - **Mantenibilidad**: Tokens semánticos fáciles de actualizar
26
- - **Escalabilidad**: Sistema extensible para nuevos componentes
27
- - **Dark Mode**: Soporte completo para modo oscuro
28
-
29
- ---
30
-
31
- ## Arquitectura de Colores
32
-
33
- El sistema de colores está estructurado en 3 capas:
34
-
35
- ```
36
- ┌─────────────────────────────────────┐
37
- │ CAPA 3: Componentes │
38
- │ (Button, Alert, Badge, etc.) │
39
- └─────────────────────────────────────┘
40
-
41
- │ usa tokens
42
-
43
- ┌─────────────────────────────────────┐
44
- │ CAPA 2: Tokens Semánticos │
45
- │ (content-primary, bg-primary, etc) │
46
- └─────────────────────────────────────┘
47
-
48
- │ mapea a
49
-
50
- ┌─────────────────────────────────────┐
51
- │ CAPA 1: Colores Primitivos │
52
- │ (primary-custom-600, gray-100, etc)│
53
- └─────────────────────────────────────┘
54
- ```
55
-
56
- ### Principios de Diseño
57
-
58
- 1. **Primitivos = Valores Hex**: Colores base inmutables
59
- 2. **Tokens = Intención de Uso**: Nombres semánticos que describen propósito
60
- 3. **Componentes = Aplicación**: Uso consistente de tokens
61
-
62
- ---
63
-
64
- ## Colores Primitivos
65
-
66
- Los colores primitivos son la base del sistema. Están organizados en escalas de 100-700 (actualmente) con planes de expandir a 50-950.
67
-
68
- ### 📘 Primary Custom (Azul Principal)
69
-
70
- Color primario de marca Siesa. Usado en botones, enlaces y elementos interactivos principales.
71
-
72
- | Escala | Valor Hex | CSS Class | Uso Principal |
73
- |--------|-----------|-----------|---------------|
74
- | **100** | `#dbeefe` | `primary-custom-100` | Hover backgrounds (outline buttons) |
75
- | **300** | `#93d1fd` | `primary-custom-300` | Bordes (outline buttons, inputs) |
76
- | **400** | `#60b6fa` | `primary-custom-400` | Focus rings |
77
- | **500** | `#3c9bf6` | `primary-custom-500` | Hover state (default buttons) |
78
- | **600** | `#0e79fd` | `primary-custom-600` | **Color principal** (contenido, íconos) |
79
- | **700** | `#0c6ade` | `primary-custom-700` | Active/Pressed states |
80
-
81
- **Ejemplo de Aplicación**:
82
- ```tsx
83
- // Botón primario
84
- <button className="bg-primary-custom-600 hover:bg-primary-custom-500 focus:ring-primary-custom-400">
85
- Click me
86
- </button>
87
- ```
88
-
89
- ---
90
-
91
- ### 🎨 Colores Inverse (Para fondos oscuros)
92
-
93
- Colores optimizados para usar sobre fondos de color primario.
94
-
95
- | Token | Valor Hex | Uso |
96
- |-------|-----------|-----|
97
- | `primary-inverse-content` | `#eff8ff` | Texto sobre fondo primario |
98
- | `primary-inverse-background` | `#0e79fd` | Fondo de botones primarios |
99
- | `primary-inverse-border` | `#3c9bf6` | Bordes sobre fondo primario |
100
-
101
- **Ejemplo de Aplicación**:
102
- ```tsx
103
- // Botón con fondo primario y texto claro
104
- <button className="bg-primary-inverse-background text-primary-inverse-content border-primary-inverse-border">
105
- Botón Primario
106
- </button>
107
- ```
108
-
109
- ---
110
-
111
- ### 🌈 Colores del Sistema (Light Mode)
112
-
113
- Paleta neutral para textos, fondos y bordes en modo claro.
114
-
115
- #### Contenido (Texto)
116
-
117
- | Token | Valor Hex | Uso | Contraste |
118
- |-------|-----------|-----|-----------|
119
- | `content-primary` | `#18181b` | Texto principal | AAA (18:1) |
120
- | `content-secondary` | `#a1a1aa` | Descripciones, labels | AA (4.5:1) |
121
- | `content-tertiary` | `#71717a` | Placeholders, disabled text | AA (4.5:1) |
122
-
123
- #### Fondos
124
-
125
- | Token | Valor Hex | Uso |
126
- |-------|-----------|-----|
127
- | `bg-primary` | `#ffffff` | Fondo principal de la app |
128
- | `background-secondary` | `#f4f4f5` | Cards, fondos disabled |
129
-
130
- #### Bordes
131
-
132
- | Token | Valor Hex | Uso |
133
- |-------|-----------|-----|
134
- | `border-primary` | `#e4e4e7` | Bordes normales (inputs, cards) |
135
- | `border-secondary` | `#f4f4f5` | Dividers, bordes suaves |
136
-
137
- **Ejemplo de Aplicación**:
138
- ```tsx
139
- // Card con sistema de colores semánticos
140
- <div className="bg-bg-primary border border-border-primary">
141
- <h3 className="text-content-primary">Título Principal</h3>
142
- <p className="text-content-secondary">Descripción secundaria</p>
143
- </div>
144
- ```
145
-
146
- ---
147
-
148
- ### 🔴 Colores de Error
149
-
150
- Paleta para estados de error y validación.
151
-
152
- | Token | Valor Hex | Base Color | Uso |
153
- |-------|-----------|------------|-----|
154
- | `error-bg` | `#fef2f2` | Red 50 | Fondo de alertas de error |
155
- | `error-border` | `#ef4444` | Red 500 | Bordes de inputs con error |
156
- | `error-content` | `#dc2626` | Red 600 | Texto de mensajes de error |
157
-
158
- **Ejemplo de Aplicación**:
159
- ```tsx
160
- // Input con error
161
- <div className="border-2 border-error-border bg-error-bg">
162
- <input type="text" />
163
- <span className="text-error-content">Email inválido</span>
164
- </div>
165
- ```
166
-
167
- > **⚠️ PENDIENTE**: Agregar colores para Success, Warning, Info con la misma estructura.
168
-
169
- ---
170
-
171
- ## Tokens Semánticos
172
-
173
- Los tokens semánticos describen **dónde y cómo** usar los colores, no **qué color** son.
174
-
175
- ### 📊 Estructura de Tokens
176
-
177
- ```
178
- {categoria}-{proposito}-{variante}
179
-
180
- Ejemplos:
181
- - content-primary (Categoría: content, Propósito: primary)
182
- - bg-secondary (Categoría: bg, Propósito: secondary)
183
- - border-custom (Categoría: border, Propósito: custom)
184
- ```
185
-
186
- ### Categorías de Tokens
187
-
188
- | Categoría | Prefijo | Uso | Ejemplos |
189
- |-----------|---------|-----|----------|
190
- | **Content** | `content-` | Texto, íconos | `content-primary`, `content-secondary` |
191
- | **Background** | `bg-`, `background-` | Fondos | `bg-primary`, `background-secondary` |
192
- | **Border** | `border-` | Bordes, divisores | `border-primary`, `border-secondary` |
193
- | **Primary Custom** | `primary-custom-` | Color de marca | `primary-custom-600`, `primary-custom-300` |
194
- | **Error** | `error-` | Estados de error | `error-bg`, `error-border`, `error-content` |
195
-
196
- ---
197
-
198
- ## Modos de Color (Light/Dark)
199
-
200
- ### Configuración de Tailwind CSS
201
-
202
- Siesa UI Kit utiliza la estrategia **class-based** de Tailwind CSS para dark mode:
203
-
204
- ```javascript
205
- // tailwind.config.js
206
- module.exports = {
207
- darkMode: 'class', // ✅ Estrategia basada en clases
208
- // ... resto de la configuración
209
- }
210
- ```
211
-
212
- Con `darkMode: 'class'`, el modificador `dark:` se activa cuando un elemento ancestro (típicamente `<html>`) tiene la clase `dark`:
213
-
214
- ### 🌞 Light Mode (Por Defecto)
215
-
216
- ```html
217
- <html>
218
- <!-- Sin clase 'dark' = Light Mode activo -->
219
- <body>
220
- <div class="bg-white text-content-primary">
221
- Contenido en light mode
222
- </div>
223
- </body>
224
- </html>
225
- ```
226
-
227
- ### 🌙 Dark Mode
228
-
229
- ```html
230
- <html class="dark">
231
- <!-- Con clase 'dark' = Dark Mode activo -->
232
- <body>
233
- <div class="bg-white dark:bg-dark-bg-primary text-content-primary dark:text-dark-content-primary">
234
- Contenido adaptado a dark mode
235
- </div>
236
- </body>
237
- </html>
238
- ```
239
-
240
- ### Modificador dark: en Tailwind
241
-
242
- El modificador `dark:` funciona como prefijo para cualquier utilidad de Tailwind:
243
-
244
- ```tsx
245
- // Sintaxis básica
246
- dark:{utility}
247
-
248
- // Ejemplos
249
- dark:bg-dark-bg-primary // Background en dark mode
250
- dark:text-white // Texto en dark mode
251
- dark:border-gray-700 // Borde en dark mode
252
- dark:hover:bg-blue-600 // Hover en dark mode
253
- ```
254
-
255
- ### Colores para Dark Mode
256
-
257
- | Token (Dark) | Valor Hex | Descripción |
258
- |--------------|-----------|-------------|
259
- | `dark-bg-primary` | `#000000` | Fondo principal oscuro |
260
- | `dark-content-primary` | `#ffffff` | Texto principal claro (blanco) |
261
- | `dark-border-primary` | `#71717a` | Bordes en dark mode |
262
- | `dark-border-custom` | `#0f6ae3` | Bordes de componentes interactivos |
263
- | `dark-bg-inverse` | `#bfe2fe` | Fondos inversos (botones) |
264
- | `dark-content-inverse` | `#0e79fd` | Texto inverso |
265
-
266
- ### Combinación con Otros Modificadores
267
-
268
- El modificador `dark:` se puede combinar con cualquier otro modificador de Tailwind:
269
-
270
- ```tsx
271
- // dark: + hover:
272
- <button className="
273
- bg-primary-custom-600
274
- hover:bg-primary-custom-500
275
- dark:bg-dark-bg-inverse
276
- dark:hover:bg-dark-bg-inverse/90
277
- ">
278
- Button con hover en ambos modos
279
- </button>
280
-
281
- // dark: + focus:
282
- <input className="
283
- border-border-primary
284
- focus:border-primary-custom-400
285
- dark:border-dark-border-primary
286
- dark:focus:border-dark-border-custom
287
- " />
288
-
289
- // dark: + responsive (orden correcto: responsive → dark → state)
290
- <div className="
291
- bg-white
292
- md:bg-gray-50
293
- dark:bg-dark-bg-primary
294
- dark:md:bg-gray-900
295
- ">
296
- Responsive + dark mode
297
- </div>
298
-
299
- // dark: + group-hover:
300
- <div className="group">
301
- <p className="
302
- text-content-secondary
303
- group-hover:text-content-primary
304
- dark:text-gray-400
305
- dark:group-hover:text-white
306
- ">
307
- Text con group hover
308
- </p>
309
- </div>
310
- ```
311
-
312
- ### Orden de Modificadores
313
-
314
- Cuando combines múltiples modificadores, sigue este orden:
315
-
316
- **Formato**: `{responsive}:{dark}:{state}:{utility}`
317
-
318
- ```tsx
319
- // ✅ CORRECTO - Orden consistente
320
- <button className="
321
- md:bg-blue-500
322
- md:dark:bg-blue-700
323
- md:dark:hover:bg-blue-800
324
- ">
325
-
326
- // ❌ INCORRECTO - Orden inconsistente
327
- <button className="
328
- dark:md:hover:bg-blue-800
329
- ">
330
- ```
331
-
332
- Ejemplos correctos:
333
- ```tsx
334
- sm:dark:hover:bg-blue-500 // responsive → dark → state
335
- lg:dark:focus:text-white // responsive → dark → state
336
- md:dark:group-hover:opacity-100 // responsive → dark → state
337
- ```
338
-
339
- ### Estados Hover con Dark Mode
340
-
341
- | Token | Light Mode | Dark Mode | Uso |
342
- |-------|------------|-----------|-----|
343
- | Hover Overlay | `rgba(0, 0, 0, 0.1)` | `rgba(255, 255, 255, 0.2)` | Botones ghost |
344
- | Hover Primary | `-primary-custom-500` | `dark-bg-inverse/90` | Botones primarios |
345
- | Hover Border | `-primary-custom-300` | `dark-border-custom` | Cards interactivas |
346
-
347
- ```tsx
348
- // Hover overlay para botones ghost
349
- <button className="
350
- bg-transparent
351
- hover:bg-hover-overlay
352
- dark:hover:bg-hover-overlay-dark
353
- ">
354
- Ghost Button
355
- </button>
356
-
357
- // Hover para botones primarios
358
- <button className="
359
- bg-primary-custom-600
360
- hover:bg-primary-custom-500
361
- dark:bg-dark-bg-inverse
362
- dark:hover:bg-dark-bg-inverse/90
363
- ">
364
- Primary Button
365
- </button>
366
-
367
- // Hover para cards interactivas
368
- <div className="
369
- border-border-primary
370
- hover:border-primary-custom-300
371
- dark:border-dark-border-primary
372
- dark:hover:border-dark-border-custom
373
- ">
374
- Interactive Card
375
- </div>
376
- ```
377
-
378
- ### Implementación con JavaScript
379
-
380
- Para alternar entre modos, agrega/quita la clase `dark` del elemento `<html>`:
381
-
382
- ```tsx
383
- // Toggle básico
384
- const toggleDarkMode = () => {
385
- document.documentElement.classList.toggle('dark');
386
- };
387
-
388
- // Con persistencia en localStorage
389
- const toggleDarkMode = () => {
390
- const isDark = document.documentElement.classList.contains('dark');
391
-
392
- if (isDark) {
393
- document.documentElement.classList.remove('dark');
394
- localStorage.setItem('theme', 'light');
395
- } else {
396
- document.documentElement.classList.add('dark');
397
- localStorage.setItem('theme', 'dark');
398
- }
399
- };
400
-
401
- // Aplicar tema guardado al cargar
402
- const savedTheme = localStorage.getItem('theme');
403
- if (savedTheme === 'dark') {
404
- document.documentElement.classList.add('dark');
405
- }
406
- ```
407
-
408
- **Ver**: `docs/dark-mode-guide.md` para implementación completa con React hooks y Context API.
409
-
410
- ### Ejemplo Completo de Componente
411
-
412
- ```tsx
413
- // Card que adapta todos sus colores a dark mode
414
- export const AdaptiveCard = () => {
415
- return (
416
- <div className="
417
- p-6
418
- bg-white dark:bg-dark-bg-primary
419
- border border-border-primary dark:border-dark-border-primary
420
- rounded-2xl
421
- shadow-base
422
- hover:shadow-lg
423
- transition-shadow
424
- ">
425
- {/* Header */}
426
- <div className="mb-4 flex items-center justify-between">
427
- <h3 className="
428
- text-content-primary dark:text-dark-content-primary
429
- font-bold
430
- text-lg
431
- ">
432
- Card Title
433
- </h3>
434
- <span className="
435
- text-content-secondary dark:text-content-secondary
436
- text-sm
437
- ">
438
- Just now
439
- </span>
440
- </div>
441
-
442
- {/* Content */}
443
- <p className="
444
- mb-4
445
- text-content-secondary dark:text-content-secondary
446
- ">
447
- Card content que se adapta automáticamente según el modo activo.
448
- Todos los colores usan el modificador dark: correctamente.
449
- </p>
450
-
451
- {/* Actions */}
452
- <div className="flex gap-3">
453
- <button className="
454
- px-4 py-2
455
- bg-primary-custom-600 dark:bg-dark-bg-inverse
456
- text-primary-inverse-content dark:text-dark-content-inverse
457
- hover:bg-primary-custom-500 dark:hover:bg-dark-bg-inverse/90
458
- rounded-md
459
- font-bold
460
- transition-colors
461
- ">
462
- Primary
463
- </button>
464
-
465
- <button className="
466
- px-4 py-2
467
- border border-border-primary dark:border-dark-border-custom
468
- text-content-primary dark:text-dark-content-primary
469
- hover:bg-background-secondary dark:hover:bg-dark-bg-primary
470
- rounded-md
471
- font-bold
472
- transition-colors
473
- ">
474
- Secondary
475
- </button>
476
- </div>
477
- </div>
478
- );
479
- };
480
- ```
481
-
482
- ---
483
-
484
- ## Guía de Uso en Componentes
485
-
486
- ### ✅ Buenas Prácticas
487
-
488
- #### 1. **Usar Tokens Semánticos, NO Primitivos**
489
-
490
- ```tsx
491
- // ✅ CORRECTO - Usa tokens semánticos
492
- <p className="text-content-primary">Texto principal</p>
493
-
494
- // ❌ INCORRECTO - Usa primitivos directamente
495
- <p className="text-primary-custom-600">Texto</p>
496
- ```
497
-
498
- **Razón**: Los tokens permiten cambiar el sistema de colores sin tocar componentes.
499
-
500
- ---
501
-
502
- #### 2. **Especificar Dark Mode Explícitamente**
503
-
504
- ```tsx
505
- // ✅ CORRECTO - Dark mode explícito
506
- <div className="bg-white dark:bg-dark-bg-primary">
507
- Contenido
508
- </div>
509
-
510
- // ⚠️ EVITAR - Confiar en defaults
511
- <div className="bg-white">
512
- Contenido
513
- </div>
514
- ```
515
-
516
- ---
517
-
518
- #### 3. **Agrupar Colores Relacionados**
519
-
520
- ```tsx
521
- // ✅ CORRECTO - Colores agrupados por propósito
522
- <button className="
523
- bg-primary-inverse-background
524
- text-primary-inverse-content
525
- border-primary-inverse-border
526
- ">
527
- Botón
528
- </button>
529
- ```
530
-
531
- ---
532
-
533
- #### 4. **Usar Hover Overlay para Interacciones Sutiles**
534
-
535
- ```tsx
536
- // ✅ CORRECTO - Hover overlay ligero
537
- <button className="
538
- bg-transparent
539
- hover:bg-hover-overlay
540
- dark:hover:bg-hover-overlay-dark
541
- ">
542
- Plain Button
543
- </button>
544
- ```
545
-
546
- ---
547
-
548
- ### ❌ Anti-Patrones a Evitar
549
-
550
- #### 1. **NO mezclar capas**
551
-
552
- ```tsx
553
- // ❌ INCORRECTO - Mezcla tokens y primitivos
554
- <div className="text-content-primary bg-primary-custom-600">
555
- Contenido
556
- </div>
557
- ```
558
-
559
- #### 2. **NO hardcodear valores hex**
560
-
561
- ```tsx
562
- // ❌ INCORRECTO - Valor hex hardcodeado
563
- <div style={{ backgroundColor: '#0e79fd' }}>
564
- Contenido
565
- </div>
566
- ```
567
-
568
- #### 3. **NO usar colores Tailwind nativos en componentes core**
569
-
570
- ```tsx
571
- // ❌ INCORRECTO - Tailwind nativo (inconsistente)
572
- <div className="bg-blue-500 text-white">
573
- Contenido
574
- </div>
575
-
576
- // ✅ CORRECTO - Tokens del sistema
577
- <div className="bg-primary-inverse-background text-primary-inverse-content">
578
- Contenido
579
- </div>
580
- ```
581
-
582
- ---
583
-
584
- ## Ejemplos de Código
585
-
586
- ### Ejemplo 1: Botón Primario
587
-
588
- ```tsx
589
- import React from 'react';
590
-
591
- export const PrimaryButton = ({ children, onClick }) => {
592
- return (
593
- <button
594
- onClick={onClick}
595
- className="
596
- bg-primary-inverse-background
597
- text-primary-inverse-content
598
- border border-primary-inverse-border
599
- hover:bg-primary-custom-500
600
- focus:ring-2 focus:ring-primary-custom-400 focus:ring-offset-2
601
- active:scale-95
602
- disabled:opacity-50 disabled:cursor-not-allowed
603
- px-4 py-2 rounded-md font-bold
604
- transition-all duration-150
605
- dark:bg-primary-inverse-background
606
- dark:text-primary-inverse-content
607
- dark:hover:bg-primary-custom-500
608
- "
609
- >
610
- {children}
611
- </button>
612
- );
613
- };
614
- ```
615
-
616
- ---
617
-
618
- ### Ejemplo 2: Card con Dark Mode
619
-
620
- ```tsx
621
- import React from 'react';
622
-
623
- export const Card = ({ title, description }) => {
624
- return (
625
- <div className="
626
- bg-white dark:bg-dark-bg-primary
627
- border border-border-primary dark:border-dark-border-primary
628
- rounded-lg p-6
629
- shadow-sm
630
- ">
631
- <h3 className="
632
- text-content-primary dark:text-dark-content-primary
633
- text-xl font-bold mb-2
634
- ">
635
- {title}
636
- </h3>
637
- <p className="
638
- text-content-secondary dark:text-dark-content-primary
639
- opacity-80
640
- ">
641
- {description}
642
- </p>
643
- </div>
644
- );
645
- };
646
- ```
647
-
648
- ---
649
-
650
- ### Ejemplo 3: Input con Validación
651
-
652
- ```tsx
653
- import React from 'react';
654
-
655
- export const Input = ({ label, error, ...props }) => {
656
- return (
657
- <div className="space-y-1">
658
- <label className="text-content-primary dark:text-dark-content-primary text-sm font-medium">
659
- {label}
660
- </label>
661
- <input
662
- {...props}
663
- className={`
664
- w-full px-3 py-2 rounded-md
665
- bg-white dark:bg-dark-bg-primary
666
- text-content-primary dark:text-dark-content-primary
667
- border-2
668
- ${error
669
- ? 'border-error-border bg-error-bg focus:ring-error-border'
670
- : 'border-border-primary dark:border-dark-border-primary focus:ring-primary-custom-400'
671
- }
672
- focus:outline-none focus:ring-2 focus:ring-offset-1
673
- disabled:opacity-50 disabled:cursor-not-allowed
674
- `}
675
- />
676
- {error && (
677
- <p className="text-error-content text-sm">
678
- {error}
679
- </p>
680
- )}
681
- </div>
682
- );
683
- };
684
- ```
685
-
686
- ---
687
-
688
- ## Mejores Prácticas
689
-
690
- ### 🎯 Principios de Uso
691
-
692
- 1. **Jerarquía de Texto**
693
- - `content-primary`: Títulos y contenido principal
694
- - `content-secondary`: Descripciones y labels
695
- - `content-tertiary`: Placeholders y texto deshabilitado
696
-
697
- 2. **Contraste y Accesibilidad**
698
- - Verificar ratios de contraste (WCAG AA mínimo: 4.5:1)
699
- - Usar herramientas como [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
700
- - Contenido principal debe tener AAA (7:1)
701
-
702
- 3. **Estados Interactivos**
703
- - **Default**: Color base del token
704
- - **Hover**: Tono más claro/oscuro (+100 en escala)
705
- - **Active**: Tono más oscuro (-100 en escala)
706
- - **Focus**: Ring con `primary-custom-400`
707
- - **Disabled**: Reducir opacity a 50%
708
-
709
- 4. **Consistencia en Componentes**
710
- - Todos los botones primarios usan los mismos colores
711
- - Todos los inputs usan los mismos bordes
712
- - Todos los errores usan la misma paleta
713
-
714
- ---
715
-
716
- ### 🔧 Flujo de Trabajo Recomendado
717
-
718
- ```
719
- 1. Diseño en Figma
720
-
721
- 2. Identificar colores usados
722
-
723
- 3. Mapear a tokens existentes
724
-
725
- 4. Si no existe token → Crear nuevo en tailwind.config.js
726
-
727
- 5. Implementar en componente
728
-
729
- 6. Probar en Light y Dark mode
730
-
731
- 7. Verificar accesibilidad (contraste)
732
- ```
733
-
734
- ---
735
-
736
- ## Referencia Rápida
737
-
738
- ### Cheat Sheet: Colores por Caso de Uso
739
-
740
- | Caso de Uso | Light Mode | Dark Mode |
741
- |-------------|------------|-----------|
742
- | **Fondo principal** | `bg-white` | `dark:bg-dark-bg-primary` |
743
- | **Fondo secundario** | `background-secondary` | `dark:bg-dark-bg-primary` |
744
- | **Texto principal** | `text-content-primary` | `dark:text-dark-content-primary` |
745
- | **Texto secundario** | `text-content-secondary` | `dark:text-dark-content-primary opacity-80` |
746
- | **Bordes normales** | `border-border-primary` | `dark:border-dark-border-primary` |
747
- | **Botón primario BG** | `bg-primary-inverse-background` | `dark:bg-primary-inverse-background` |
748
- | **Botón primario texto** | `text-primary-inverse-content` | `dark:text-primary-inverse-content` |
749
- | **Focus ring** | `focus:ring-primary-custom-400` | `focus:ring-primary-custom-400` |
750
- | **Error BG** | `bg-error-bg` | `bg-error-bg` |
751
- | **Error texto** | `text-error-content` | `text-error-content` |
752
- | **Hover overlay** | `hover:bg-hover-overlay` | `dark:hover:bg-hover-overlay-dark` |
753
-
754
- ---
755
-
756
- ### Configuración en `tailwind.config.js`
757
-
758
- ```javascript
759
- // Archivo: tailwind.config.js
760
- module.exports = {
761
- darkMode: 'class',
762
- theme: {
763
- extend: {
764
- colors: {
765
- // Primary Custom Colors
766
- 'primary-custom': {
767
- 100: '#dbeefe',
768
- 300: '#93d1fd',
769
- 400: '#60b6fa',
770
- 500: '#3c9bf6',
771
- 600: '#0e79fd',
772
- 700: '#0c6ade',
773
- },
774
-
775
- // Primary Inverse
776
- 'primary-inverse-content': '#eff8ff',
777
- 'primary-inverse-background': '#0e79fd',
778
- 'primary-inverse-border': '#3c9bf6',
779
-
780
- // System Colors (Light)
781
- 'content-primary': '#18181b',
782
- 'content-secondary': '#a1a1aa',
783
- 'content-tertiary': '#71717a',
784
- 'bg-primary': '#ffffff',
785
- 'background-secondary': '#f4f4f5',
786
- 'border-primary': '#e4e4e7',
787
- 'border-secondary': '#f4f4f5',
788
-
789
- // Error Colors
790
- 'error-border': '#ef4444',
791
- 'error-content': '#dc2626',
792
- 'error-bg': '#fef2f2',
793
-
794
- // Dark Mode Colors
795
- 'dark-bg-primary': '#18181b', // zinc-900 - gris muy oscuro
796
- 'dark-content-primary': '#ffffff',
797
- 'dark-border-primary': '#71717a',
798
- 'dark-border-custom': '#0f6ae3',
799
- 'dark-bg-inverse': '#bfe2fe',
800
- 'dark-content-inverse': '#0e79fd',
801
- },
802
-
803
- backgroundColor: {
804
- 'hover-overlay': 'rgba(0, 0, 0, 0.1)',
805
- 'hover-overlay-dark': 'rgba(255, 255, 255, 0.2)',
806
- },
807
- },
808
- },
809
- };
810
- ```
811
-
812
- ---
813
-
814
- ## 📚 Referencias
815
-
816
- - **Figma**: [Color Primitives](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=16-4560&m=dev)
817
- - **Figma**: [Color Tokens](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4001-1314&m=dev)
818
- - **Código**: `tailwind.config.js` (líneas 15-73)
819
- - **WCAG**: [Web Content Accessibility Guidelines](https://www.w3.org/WAI/WCAG21/quickref/)
820
-
821
- ---
822
-
823
- ## 🔄 Historial de Cambios
824
-
825
- | Versión | Fecha | Cambios |
826
- |---------|-------|---------|
827
- | 1.0.0 | 2025-11-11 | Documentación inicial del sistema de colores |
828
-
829
- ---
830
-
831
- **Última actualización**: 2025-11-11
832
- **Mantenido por**: Equipo de Siesa UI Kit