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,513 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react';
2
- import { Notification } from './Notification';
3
-
4
- const meta = {
5
- title: 'Siesa UI Kit/Notification',
6
- component: Notification,
7
- parameters: {
8
- layout: 'centered',
9
- docs: {
10
- description: {
11
- component:
12
- '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+. Ideal para usar como overlay en iconos o botones.',
13
- },
14
- },
15
- },
16
- tags: ['autodocs'],
17
- argTypes: {
18
- count: {
19
- control: 'number',
20
- description: 'Número de notificaciones (undefined = punto simple, 1-99 = número exacto, 100+ = "99+")',
21
- },
22
- color: {
23
- control: 'select',
24
- options: ['red', 'orange', 'yellow', 'green', 'blue', 'purple', 'zinc', 'primary'],
25
- description: 'Color del badge (default: red)',
26
- },
27
- className: {
28
- control: 'text',
29
- description: 'Clases CSS adicionales para posicionamiento',
30
- },
31
- ariaLabel: {
32
- control: 'text',
33
- description: 'Label para accesibilidad (se genera automáticamente si no se especifica)',
34
- },
35
- },
36
- } satisfies Meta<typeof Notification>;
37
-
38
- export default meta;
39
- type Story = StoryObj<typeof meta>;
40
-
41
- // ============================================
42
- // 1. PLAYGROUND INTERACTIVO
43
- // ============================================
44
- export const Playground: Story = {
45
- name: 'Playground',
46
- args: {
47
- count: 5,
48
- color: 'red',
49
- },
50
- };
51
-
52
- // ============================================
53
- // 2. VARIANTES BÁSICAS
54
- // ============================================
55
- export const VariantesBasicas: Story = {
56
- name: 'Variantes Básicas',
57
- render: () => (
58
- <div className="space-y-8 p-6">
59
- {/* Badge Simple (Dot) */}
60
- <div>
61
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
62
- Badge Simple (Dot)
63
- </h3>
64
- <div className="flex items-center gap-6">
65
- <div className="flex flex-col items-center gap-2">
66
- <Notification />
67
- <span className="text-xs text-gray-500 dark:text-gray-300">Default (sin count)</span>
68
- </div>
69
- <div className="flex flex-col items-center gap-2">
70
- <Notification count={0} />
71
- <span className="text-xs text-gray-500 dark:text-gray-300">count={0}</span>
72
- </div>
73
- </div>
74
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
75
- Punto rojo de 8px × 8px para indicar notificaciones sin especificar cantidad
76
- </p>
77
- </div>
78
-
79
- {/* Badge con Número */}
80
- <div>
81
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
82
- Badge con Número
83
- </h3>
84
- <div className="flex items-center gap-6">
85
- <div className="flex flex-col items-center gap-2">
86
- <Notification count={1} />
87
- <span className="text-xs text-gray-500 dark:text-gray-300">1</span>
88
- </div>
89
- <div className="flex flex-col items-center gap-2">
90
- <Notification count={5} />
91
- <span className="text-xs text-gray-500 dark:text-gray-300">5</span>
92
- </div>
93
- <div className="flex flex-col items-center gap-2">
94
- <Notification count={12} />
95
- <span className="text-xs text-gray-500 dark:text-gray-300">12</span>
96
- </div>
97
- <div className="flex flex-col items-center gap-2">
98
- <Notification count={99} />
99
- <span className="text-xs text-gray-500 dark:text-gray-300">99</span>
100
- </div>
101
- <div className="flex flex-col items-center gap-2">
102
- <Notification count={150} />
103
- <span className="text-xs text-gray-500 dark:text-gray-300">99+ (150)</span>
104
- </div>
105
- </div>
106
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
107
- Badge de 16px altura con número. Límite automático a &quot;99+&quot; para valores ≥ 100
108
- </p>
109
- </div>
110
-
111
- <div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
112
- <p className="text-xs text-gray-600 dark:text-gray-300">
113
- <strong>💡 Especificaciones:</strong>
114
- <br />• Badge simple: 8px × 8px (w-2 h-2), rounded-full
115
- <br />• Badge con número: 16px altura, 10px Bold, padding horizontal 4px
116
- <br />• Límite automático: números ≥ 100 muestran &quot;99+&quot;
117
- <br />• Color default: content-extensions-red (#b91c1c)
118
- </p>
119
- </div>
120
- </div>
121
- ),
122
- };
123
-
124
- // ============================================
125
- // 3. RANGOS DE CONTEO
126
- // ============================================
127
- export const RangosDeConteo: Story = {
128
- name: 'Rangos de Conteo',
129
- render: () => (
130
- <div className="space-y-8 p-6">
131
- <div>
132
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
133
- Pocas Notificaciones (1-9)
134
- </h3>
135
- <div className="flex gap-4">
136
- <Notification count={1} />
137
- <Notification count={3} />
138
- <Notification count={5} />
139
- <Notification count={9} />
140
- </div>
141
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
142
- Badge angosto para números de un dígito
143
- </p>
144
- </div>
145
-
146
- <div>
147
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
148
- Muchas Notificaciones (10-99)
149
- </h3>
150
- <div className="flex gap-4">
151
- <Notification count={10} />
152
- <Notification count={25} />
153
- <Notification count={50} />
154
- <Notification count={99} />
155
- </div>
156
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
157
- Badge se expande automáticamente para dos dígitos
158
- </p>
159
- </div>
160
-
161
- <div>
162
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
163
- Demasiadas Notificaciones (100+)
164
- </h3>
165
- <div className="flex gap-4">
166
- <Notification count={100} />
167
- <Notification count={250} />
168
- <Notification count={500} />
169
- <Notification count={999} />
170
- </div>
171
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
172
- Todos muestran &quot;99+&quot; para mantener badge compacto
173
- </p>
174
- </div>
175
- </div>
176
- ),
177
- };
178
-
179
- // ============================================
180
- // 4. COLORES
181
- // ============================================
182
- export const Colores: Story = {
183
- name: 'Colores',
184
- render: () => (
185
- <div className="space-y-8 p-6">
186
- <div>
187
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
188
- Badge con Número - Colores Disponibles
189
- </h3>
190
- <div className="flex flex-wrap items-center gap-6">
191
- <div className="flex flex-col items-center gap-2">
192
- <Notification count={5} color="red" />
193
- <span className="text-xs text-gray-500 dark:text-gray-300">Red (default)</span>
194
- </div>
195
- <div className="flex flex-col items-center gap-2">
196
- <Notification count={8} color="orange" />
197
- <span className="text-xs text-gray-500 dark:text-gray-300">Orange</span>
198
- </div>
199
- <div className="flex flex-col items-center gap-2">
200
- <Notification count={3} color="yellow" />
201
- <span className="text-xs text-gray-500 dark:text-gray-300">Yellow</span>
202
- </div>
203
- <div className="flex flex-col items-center gap-2">
204
- <Notification count={12} color="green" />
205
- <span className="text-xs text-gray-500 dark:text-gray-300">Green</span>
206
- </div>
207
- <div className="flex flex-col items-center gap-2">
208
- <Notification count={7} color="blue" />
209
- <span className="text-xs text-gray-500 dark:text-gray-300">Blue</span>
210
- </div>
211
- <div className="flex flex-col items-center gap-2">
212
- <Notification count={15} color="purple" />
213
- <span className="text-xs text-gray-500 dark:text-gray-300">Purple</span>
214
- </div>
215
- <div className="flex flex-col items-center gap-2">
216
- <Notification count={2} color="zinc" />
217
- <span className="text-xs text-gray-500 dark:text-gray-300">Zinc</span>
218
- </div>
219
- <div className="flex flex-col items-center gap-2">
220
- <Notification count={9} color="primary" />
221
- <span className="text-xs text-gray-500 dark:text-gray-300">Primary</span>
222
- </div>
223
- </div>
224
- </div>
225
-
226
- <div>
227
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
228
- Badge Simple - Colores Disponibles
229
- </h3>
230
- <div className="flex flex-wrap items-center gap-6">
231
- <div className="flex flex-col items-center gap-2">
232
- <Notification color="red" />
233
- <span className="text-xs text-gray-500 dark:text-gray-300">Red</span>
234
- </div>
235
- <div className="flex flex-col items-center gap-2">
236
- <Notification color="orange" />
237
- <span className="text-xs text-gray-500 dark:text-gray-300">Orange</span>
238
- </div>
239
- <div className="flex flex-col items-center gap-2">
240
- <Notification color="green" />
241
- <span className="text-xs text-gray-500 dark:text-gray-300">Green</span>
242
- </div>
243
- <div className="flex flex-col items-center gap-2">
244
- <Notification color="blue" />
245
- <span className="text-xs text-gray-500 dark:text-gray-300">Blue</span>
246
- </div>
247
- <div className="flex flex-col items-center gap-2">
248
- <Notification color="purple" />
249
- <span className="text-xs text-gray-500 dark:text-gray-300">Purple</span>
250
- </div>
251
- </div>
252
- </div>
253
-
254
- <div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
255
- <p className="text-xs text-gray-600 dark:text-gray-300">
256
- <strong>💡 Uso recomendado:</strong>
257
- <br />• <strong>Red:</strong> Errores, alertas críticas
258
- <br />• <strong>Orange:</strong> Advertencias importantes
259
- <br />• <strong>Yellow:</strong> Avisos, atención requerida
260
- <br />• <strong>Green:</strong> Confirmaciones, éxitos
261
- <br />• <strong>Blue:</strong> Información general
262
- <br />• <strong>Purple:</strong> Especiales o premium
263
- <br />• <strong>Zinc:</strong> Neutras
264
- </p>
265
- </div>
266
- </div>
267
- ),
268
- };
269
-
270
- // ============================================
271
- // 5. DARK MODE
272
- // ============================================
273
- export const DarkMode: Story = {
274
- name: 'Dark Mode',
275
- parameters: {
276
- backgrounds: {
277
- default: 'dark',
278
- },
279
- },
280
- render: () => (
281
- <div className="dark bg-dark-bg-primary p-8 rounded-lg space-y-8">
282
- <div>
283
- <h3 className="text-sm font-bold mb-4 text-dark-content-primary">
284
- Badge Simple en Dark Mode
285
- </h3>
286
- <div className="flex gap-6">
287
- <Notification />
288
- <Notification color="orange" />
289
- <Notification color="green" />
290
- <Notification color="blue" />
291
- </div>
292
- <p className="text-xs text-gray-400 mt-4">
293
- Punto de 8px mantiene visibilidad en fondos oscuros
294
- </p>
295
- </div>
296
-
297
- <div>
298
- <h3 className="text-sm font-bold mb-4 text-dark-content-primary">
299
- Badge con Número en Dark Mode
300
- </h3>
301
- <div className="flex gap-6">
302
- <Notification count={3} />
303
- <Notification count={12} color="orange" />
304
- <Notification count={25} color="green" />
305
- <Notification count={99} color="blue" />
306
- </div>
307
- <p className="text-xs text-gray-400 mt-4">
308
- Badge con contraste óptimo: colores mantienen intensidad en dark mode
309
- </p>
310
- </div>
311
-
312
- <div className="mt-6 p-4 bg-blue-900/20 border border-blue-800 rounded-lg">
313
- <p className="text-xs text-gray-300">
314
- <strong>✨ Dark Mode:</strong>
315
- <br />• Colores mantienen intensidad (ej: content-extensions-red #b91c1c)
316
- <br />• Texto siempre blanco para máximo contraste
317
- <br />• Sin bordes en badge simple
318
- </p>
319
- </div>
320
- </div>
321
- ),
322
- };
323
-
324
- // ============================================
325
- // 6. COMO OVERLAY
326
- // ============================================
327
- export const ComoOverlay: Story = {
328
- name: 'Como Overlay',
329
- render: () => (
330
- <div className="space-y-8 p-6">
331
- <div>
332
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
333
- Overlay en Botón
334
- </h3>
335
- <div className="flex gap-6">
336
- <button className="relative p-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
337
- <svg className="w-6 h-6 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
338
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
339
- </svg>
340
- <Notification count={5} className="absolute -top-1 -right-1" />
341
- </button>
342
-
343
- <button className="relative p-3 bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 rounded-lg hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors">
344
- <svg className="w-6 h-6 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
345
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
346
- </svg>
347
- <Notification className="absolute -top-1 -right-1" />
348
- </button>
349
-
350
- <button className="relative p-3 bg-primary-custom-600 text-white rounded-lg hover:bg-primary-custom-500 transition-colors">
351
- <svg className="w-6 h-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
352
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
353
- </svg>
354
- <Notification count={12} className="absolute -top-1 -right-1" />
355
- </button>
356
- </div>
357
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
358
- Usa <code className="px-1 bg-gray-100 dark:bg-gray-700">className=&quot;absolute -top-1 -right-1&quot;</code> para posicionar
359
- </p>
360
- </div>
361
-
362
- <div>
363
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
364
- Overlay en Avatar
365
- </h3>
366
- <div className="flex gap-6">
367
- <div className="relative">
368
- <div className="w-12 h-12 bg-gradient-to-br from-purple-400 to-pink-500 rounded-full flex items-center justify-center text-white font-bold">
369
- JD
370
- </div>
371
- <Notification count={3} className="absolute -top-1 -right-1" />
372
- </div>
373
-
374
- <div className="relative">
375
- <div className="w-12 h-12 bg-gradient-to-br from-blue-400 to-cyan-500 rounded-full flex items-center justify-center text-white font-bold">
376
- AS
377
- </div>
378
- <Notification className="absolute -top-1 -right-1" />
379
- </div>
380
- </div>
381
- <p className="text-xs text-gray-500 dark:text-gray-300 mt-2">
382
- Badge como indicador de estado en avatares
383
- </p>
384
- </div>
385
-
386
- <div>
387
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
388
- En Barra de Navegación
389
- </h3>
390
- <div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4">
391
- <div className="flex items-center justify-between">
392
- <span className="text-sm font-medium text-gray-700 dark:text-white">Mi App</span>
393
- <div className="flex items-center gap-4">
394
- <button className="relative p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors">
395
- <svg className="w-5 h-5 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
396
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9" />
397
- </svg>
398
- <Notification count={7} className="absolute top-0 right-0" />
399
- </button>
400
- <button className="relative p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors">
401
- <svg className="w-5 h-5 text-gray-700 dark:text-white" fill="none" viewBox="0 0 24 24" stroke="currentColor">
402
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" />
403
- </svg>
404
- <Notification count={2} className="absolute top-0 right-0" />
405
- </button>
406
- </div>
407
- </div>
408
- </div>
409
- </div>
410
-
411
- <div className="mt-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg">
412
- <p className="text-xs text-gray-600 dark:text-gray-300">
413
- <strong>💡 Posicionamiento:</strong>
414
- <br />• Envuelve el elemento en <code className="px-1 bg-white dark:bg-gray-700">relative</code>
415
- <br />• Agrega badge con <code className="px-1 bg-white dark:bg-gray-700">absolute -top-1 -right-1</code>
416
- <br />• Ajusta offset según necesites (top-0, -top-2, etc.)
417
- </p>
418
- </div>
419
- </div>
420
- ),
421
- };
422
-
423
- // ============================================
424
- // 7. CASOS DE USO REALES
425
- // ============================================
426
- export const CasosDeUso: Story = {
427
- name: 'Casos de Uso Reales',
428
- render: () => (
429
- <div className="space-y-8 p-6">
430
- {/* Menú Lateral */}
431
- <div>
432
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
433
- Menú Lateral con Notificaciones
434
- </h3>
435
- <div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 w-64">
436
- <div className="space-y-2">
437
- <div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
438
- <span className="text-sm text-gray-700 dark:text-white">Dashboard</span>
439
- </div>
440
- <div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
441
- <span className="text-sm text-gray-700 dark:text-white">Notificaciones</span>
442
- <Notification count={12} />
443
- </div>
444
- <div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
445
- <span className="text-sm text-gray-700 dark:text-white">Mensajes</span>
446
- <Notification count={5} />
447
- </div>
448
- <div className="flex items-center justify-between p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded cursor-pointer">
449
- <span className="text-sm text-gray-700 dark:text-white">Configuración</span>
450
- </div>
451
- </div>
452
- </div>
453
- </div>
454
-
455
- {/* Lista de Tareas */}
456
- <div>
457
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
458
- Lista de Tareas con Prioridades
459
- </h3>
460
- <div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg p-4 space-y-3">
461
- <div className="flex items-center gap-3 p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded cursor-pointer">
462
- <Notification color="red" />
463
- <div className="flex-1">
464
- <p className="text-sm font-medium text-gray-700 dark:text-white">Urgente: Revisar servidor</p>
465
- <p className="text-xs text-gray-500 dark:text-gray-400">Prioridad alta</p>
466
- </div>
467
- </div>
468
- <div className="flex items-center gap-3 p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded cursor-pointer">
469
- <Notification color="orange" />
470
- <div className="flex-1">
471
- <p className="text-sm font-medium text-gray-700 dark:text-white">Advertencia: Actualización disponible</p>
472
- <p className="text-xs text-gray-500 dark:text-gray-400">Prioridad media</p>
473
- </div>
474
- </div>
475
- <div className="flex items-center gap-3 p-2 hover:bg-gray-50 dark:hover:bg-gray-700 rounded cursor-pointer">
476
- <Notification color="blue" />
477
- <div className="flex-1">
478
- <p className="text-sm font-medium text-gray-700 dark:text-white">Info: Nuevo feature disponible</p>
479
- <p className="text-xs text-gray-500 dark:text-gray-400">Prioridad baja</p>
480
- </div>
481
- </div>
482
- </div>
483
- </div>
484
-
485
- {/* Tabs con Contadores */}
486
- <div>
487
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">
488
- Tabs con Contadores
489
- </h3>
490
- <div className="bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg">
491
- <div className="flex border-b border-gray-200 dark:border-gray-700">
492
- <button className="flex items-center gap-2 px-4 py-3 border-b-2 border-primary-custom-600 text-sm font-medium text-primary-custom-600">
493
- Pendientes
494
- <Notification count={8} />
495
- </button>
496
- <button className="flex items-center gap-2 px-4 py-3 text-sm font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">
497
- En Progreso
498
- <Notification count={3} color="blue" />
499
- </button>
500
- <button className="flex items-center gap-2 px-4 py-3 text-sm font-medium text-gray-500 dark:text-gray-400 hover:text-gray-700 dark:hover:text-gray-300">
501
- Completados
502
- </button>
503
- </div>
504
- <div className="p-4">
505
- <p className="text-sm text-gray-600 dark:text-gray-300">
506
- Contenido de la pestaña seleccionada
507
- </p>
508
- </div>
509
- </div>
510
- </div>
511
- </div>
512
- ),
513
- };
@@ -1,145 +0,0 @@
1
- import React from 'react';
2
- import type { NotificationProps } from './Notification.types';
3
-
4
- /**
5
- * Componente Notification del sistema de diseño Siesa
6
- *
7
- * Badge de notificación para indicar alertas, mensajes o notificaciones pendientes.
8
- * Puede mostrar un punto simple o un contador numérico con límite automático a 99+.
9
- *
10
- * **Especificaciones de Figma:**
11
- * - Badge con número: 27px × 13px (aprox), Label/XXSmall (10px Bold, line-height 12px)
12
- * - Badge simple (dot): 13px × 13px
13
- * - Color: `content-extensions-red` (#b91c1c) por defecto
14
- * - Border radius: Pill (rounded-full)
15
- * - Padding: 4px horizontal
16
- *
17
- * **Variantes:**
18
- * - Sin count: Muestra punto circular (dot)
19
- * - Con count: Muestra badge con número (máximo 99+)
20
- *
21
- * **Uso típico:**
22
- * - Como overlay en iconos o botones
23
- * - En elementos de menú o navegación
24
- * - Standalone para indicar estado
25
- *
26
- * @see docs/colors.md - Sistema de colores (token content-extensions-red)
27
- * @see docs/typography.md - Sistema tipográfico (Label/XXSmall)
28
- * @see src/components/Button/Button.tsx - Referencia de badges en botones
29
- * @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4310-22651
30
- *
31
- * @example
32
- * ```tsx
33
- * // Badge simple (punto)
34
- * <Notification />
35
- *
36
- * // Badge con número
37
- * <Notification count={5} />
38
- *
39
- * // Badge con muchos (muestra 99+)
40
- * <Notification count={150} />
41
- *
42
- * // Con color personalizado
43
- * <Notification count={3} color="green" />
44
- *
45
- * // Como overlay en botón
46
- * <button className="relative">
47
- * <BellIcon />
48
- * <Notification count={5} className="absolute -top-1 -right-1" />
49
- * </button>
50
- * ```
51
- */
52
- export const Notification: React.FC<NotificationProps> = ({
53
- count,
54
- color = 'red',
55
- className = '',
56
- ariaLabel,
57
- }) => {
58
- // ===== MAPA DE COLORES =====
59
- // Sistema de colores consistente con Button y Badge
60
- const colorClasses: Record<string, { bg: string; text: string }> = {
61
- zinc: { bg: 'bg-zinc-600', text: 'text-white' },
62
- red: { bg: 'bg-content-extensions-red', text: 'text-white' },
63
- orange: { bg: 'bg-orange-700', text: 'text-white' },
64
- amber: { bg: 'bg-amber-700', text: 'text-white' },
65
- yellow: { bg: 'bg-yellow-700', text: 'text-white' },
66
- lime: { bg: 'bg-lime-700', text: 'text-white' },
67
- green: { bg: 'bg-green-700', text: 'text-white' },
68
- emerald: { bg: 'bg-emerald-700', text: 'text-white' },
69
- teal: { bg: 'bg-teal-700', text: 'text-white' },
70
- cyan: { bg: 'bg-cyan-700', text: 'text-white' },
71
- sky: { bg: 'bg-sky-700', text: 'text-white' },
72
- blue: { bg: 'bg-blue-700', text: 'text-white' },
73
- indigo: { bg: 'bg-indigo-700', text: 'text-white' },
74
- violet: { bg: 'bg-violet-700', text: 'text-white' },
75
- purple: { bg: 'bg-purple-700', text: 'text-white' },
76
- fuchsia: { bg: 'bg-fuchsia-700', text: 'text-white' },
77
- pink: { bg: 'bg-pink-700', text: 'text-white' },
78
- rose: { bg: 'bg-rose-700', text: 'text-white' },
79
- primary: { bg: 'bg-primary-custom-600', text: 'text-white' },
80
- secondary: { bg: 'bg-zinc-600', text: 'text-white' },
81
- tertiary: { bg: 'bg-zinc-600', text: 'text-white' },
82
- };
83
-
84
- const colors = colorClasses[color] || colorClasses.red;
85
-
86
- // ===== ARIA LABEL DINÁMICO =====
87
- const dynamicAriaLabel = ariaLabel ||
88
- (count !== undefined && count > 0
89
- ? `${count} notificaci${count === 1 ? 'ón' : 'ones'}`
90
- : 'Notificación pendiente');
91
-
92
- // ===== BADGE CON NÚMERO =====
93
- if (count !== undefined && count > 0) {
94
- const displayCount = count > 99 ? '99+' : count.toString();
95
-
96
- return (
97
- <span
98
- className={`
99
- inline-flex
100
- items-center
101
- justify-center
102
- min-w-[16px]
103
- h-4
104
- px-1
105
- rounded-full
106
- text-[10px]
107
- font-bold
108
- leading-none
109
- ${colors.bg}
110
- ${colors.text}
111
- pointer-events-none
112
- dark:${colors.bg}
113
- dark:${colors.text}
114
- ${className}
115
- `
116
- .trim()
117
- .replace(/\s+/g, ' ')}
118
- role="status"
119
- aria-label={dynamicAriaLabel}
120
- >
121
- {displayCount}
122
- </span>
123
- );
124
- }
125
-
126
- // ===== BADGE SIMPLE (DOT) =====
127
- return (
128
- <span
129
- className={`
130
- inline-block
131
- w-2
132
- h-2
133
- rounded-full
134
- ${colors.bg}
135
- pointer-events-none
136
- dark:${colors.bg}
137
- ${className}
138
- `
139
- .trim()
140
- .replace(/\s+/g, ' ')}
141
- role="status"
142
- aria-label={dynamicAriaLabel}
143
- />
144
- );
145
- };