siesa-ui-kit 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (420) hide show
  1. package/README.md +54 -28
  2. package/claude/settings.local.json +7 -61
  3. package/dist/ButtonTest.d.ts +6 -0
  4. package/dist/ButtonTest.d.ts.map +1 -0
  5. package/dist/components/Alert/Alert.d.ts +23 -0
  6. package/dist/components/Alert/Alert.d.ts.map +1 -0
  7. package/dist/components/Alert/Alert.types.d.ts +46 -0
  8. package/dist/components/Alert/Alert.types.d.ts.map +1 -0
  9. package/dist/components/Avatar/Avatar.d.ts +41 -0
  10. package/dist/components/Avatar/Avatar.d.ts.map +1 -0
  11. package/dist/components/Avatar/Avatar.types.d.ts +46 -0
  12. package/dist/components/Avatar/Avatar.types.d.ts.map +1 -0
  13. package/dist/components/Badge/Badge.d.ts +42 -0
  14. package/dist/components/Badge/Badge.d.ts.map +1 -0
  15. package/dist/components/Badge/Badge.types.d.ts +32 -0
  16. package/dist/components/Badge/Badge.types.d.ts.map +1 -0
  17. package/dist/components/Button/Button.d.ts +84 -0
  18. package/dist/components/Button/Button.d.ts.map +1 -0
  19. package/dist/components/Button/Button.types.d.ts +162 -0
  20. package/dist/components/Button/Button.types.d.ts.map +1 -0
  21. package/dist/components/Button/icons.d.ts +26 -0
  22. package/dist/components/Button/icons.d.ts.map +1 -0
  23. package/dist/components/Button/index.d.ts +4 -0
  24. package/dist/components/Button/index.d.ts.map +1 -0
  25. package/dist/components/Checkbox/Checkbox.d.ts +31 -0
  26. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
  27. package/dist/components/Checkbox/Checkbox.types.d.ts +53 -0
  28. package/dist/components/Checkbox/Checkbox.types.d.ts.map +1 -0
  29. package/dist/components/DescriptionList/DescriptionList.d.ts +38 -0
  30. package/dist/components/DescriptionList/DescriptionList.d.ts.map +1 -0
  31. package/dist/components/DescriptionList/DescriptionList.types.d.ts +27 -0
  32. package/dist/components/DescriptionList/DescriptionList.types.d.ts.map +1 -0
  33. package/dist/components/Divider/Divider.d.ts +33 -0
  34. package/dist/components/Divider/Divider.d.ts.map +1 -0
  35. package/dist/components/Divider/Divider.types.d.ts +22 -0
  36. package/dist/components/Divider/Divider.types.d.ts.map +1 -0
  37. package/dist/components/Dropdown/Dropdown.d.ts +66 -0
  38. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -0
  39. package/dist/components/Dropdown/Dropdown.types.d.ts +124 -0
  40. package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -0
  41. package/dist/components/Dropdown/icons.d.ts +10 -0
  42. package/dist/components/Dropdown/icons.d.ts.map +1 -0
  43. package/dist/components/Dropdown/index.d.ts +4 -0
  44. package/dist/components/Dropdown/index.d.ts.map +1 -0
  45. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +101 -0
  46. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -0
  47. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +95 -0
  48. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -0
  49. package/dist/components/DropdownItemCollapsible/icons.d.ts +19 -0
  50. package/dist/components/DropdownItemCollapsible/icons.d.ts.map +1 -0
  51. package/dist/components/DropdownItemCollapsible/index.d.ts +9 -0
  52. package/dist/components/DropdownItemCollapsible/index.d.ts.map +1 -0
  53. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +75 -0
  54. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +1 -0
  55. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +85 -0
  56. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +1 -0
  57. package/dist/components/DropdownItemHeading/icons.d.ts +48 -0
  58. package/dist/components/DropdownItemHeading/icons.d.ts.map +1 -0
  59. package/dist/components/DropdownItemHeading/index.d.ts +4 -0
  60. package/dist/components/DropdownItemHeading/index.d.ts.map +1 -0
  61. package/dist/components/Input/Input.d.ts +40 -0
  62. package/dist/components/Input/Input.d.ts.map +1 -0
  63. package/dist/components/Input/Input.types.d.ts +71 -0
  64. package/dist/components/Input/Input.types.d.ts.map +1 -0
  65. package/dist/components/Input/icons.d.ts +15 -0
  66. package/dist/components/Input/icons.d.ts.map +1 -0
  67. package/dist/components/Input/index.d.ts +3 -0
  68. package/dist/components/Input/index.d.ts.map +1 -0
  69. package/dist/components/LoginView/LoginView.d.ts +36 -0
  70. package/dist/components/LoginView/LoginView.d.ts.map +1 -0
  71. package/dist/components/LoginView/LoginView.types.d.ts +46 -0
  72. package/dist/components/LoginView/LoginView.types.d.ts.map +1 -0
  73. package/dist/components/LoginView/icons.d.ts +18 -0
  74. package/dist/components/LoginView/icons.d.ts.map +1 -0
  75. package/dist/components/LoginView/index.d.ts +4 -0
  76. package/dist/components/LoginView/index.d.ts.map +1 -0
  77. package/dist/components/Navbar/Navbar.d.ts +63 -0
  78. package/dist/components/Navbar/Navbar.d.ts.map +1 -0
  79. package/dist/components/Navbar/Navbar.types.d.ts +194 -0
  80. package/dist/components/Navbar/Navbar.types.d.ts.map +1 -0
  81. package/dist/components/Navbar/icons.d.ts +12 -0
  82. package/dist/components/Navbar/icons.d.ts.map +1 -0
  83. package/dist/components/Navbar/index.d.ts +4 -0
  84. package/dist/components/Navbar/index.d.ts.map +1 -0
  85. package/dist/components/NavigationBar/NavigationBar.d.ts +75 -0
  86. package/dist/components/NavigationBar/NavigationBar.d.ts.map +1 -0
  87. package/dist/components/NavigationBar/NavigationBar.types.d.ts +63 -0
  88. package/dist/components/NavigationBar/NavigationBar.types.d.ts.map +1 -0
  89. package/dist/components/NavigationBar/index.d.ts +3 -0
  90. package/dist/components/NavigationBar/index.d.ts.map +1 -0
  91. package/dist/components/NavigationRail/NavigationRail.d.ts +7 -0
  92. package/dist/components/NavigationRail/NavigationRail.d.ts.map +1 -0
  93. package/dist/components/NavigationRail/NavigationRail.types.d.ts +92 -0
  94. package/dist/components/NavigationRail/NavigationRail.types.d.ts.map +1 -0
  95. package/dist/components/NavigationRail/index.d.ts +3 -0
  96. package/dist/components/NavigationRail/index.d.ts.map +1 -0
  97. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +90 -0
  98. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -0
  99. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +155 -0
  100. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -0
  101. package/dist/components/NavigationRailItem/index.d.ts +3 -0
  102. package/dist/components/NavigationRailItem/index.d.ts.map +1 -0
  103. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +124 -0
  104. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +1 -0
  105. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +154 -0
  106. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +1 -0
  107. package/dist/components/NavigationRailPanel/index.d.ts +3 -0
  108. package/dist/components/NavigationRailPanel/index.d.ts.map +1 -0
  109. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +99 -0
  110. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -0
  111. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +111 -0
  112. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -0
  113. package/dist/components/NavigationRailTypes/icons.d.ts +58 -0
  114. package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -0
  115. package/dist/components/NavigationRailTypes/index.d.ts +4 -0
  116. package/dist/components/NavigationRailTypes/index.d.ts.map +1 -0
  117. package/dist/components/Notification/Notification.d.ts +52 -0
  118. package/dist/components/Notification/Notification.d.ts.map +1 -0
  119. package/dist/components/Notification/Notification.types.d.ts +138 -0
  120. package/dist/components/Notification/Notification.types.d.ts.map +1 -0
  121. package/dist/components/Notification/index.d.ts +3 -0
  122. package/dist/components/Notification/index.d.ts.map +1 -0
  123. package/dist/components/POSConvention/POSConvention.d.ts +55 -0
  124. package/dist/components/POSConvention/POSConvention.d.ts.map +1 -0
  125. package/dist/components/POSConvention/POSConvention.types.d.ts +37 -0
  126. package/dist/components/POSConvention/POSConvention.types.d.ts.map +1 -0
  127. package/dist/components/POSConvention/icons.d.ts +21 -0
  128. package/dist/components/POSConvention/icons.d.ts.map +1 -0
  129. package/dist/components/POSConvention/index.d.ts +4 -0
  130. package/dist/components/POSConvention/index.d.ts.map +1 -0
  131. package/dist/components/POSLocationButton/POSLocationButton.d.ts +73 -0
  132. package/dist/components/POSLocationButton/POSLocationButton.d.ts.map +1 -0
  133. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts +75 -0
  134. package/dist/components/POSLocationButton/POSLocationButton.types.d.ts.map +1 -0
  135. package/dist/components/POSLocationButton/icons.d.ts +37 -0
  136. package/dist/components/POSLocationButton/icons.d.ts.map +1 -0
  137. package/dist/components/POSLocationButton/index.d.ts +4 -0
  138. package/dist/components/POSLocationButton/index.d.ts.map +1 -0
  139. package/dist/components/POSNumberButton/POSNumberButton.d.ts +61 -0
  140. package/dist/components/POSNumberButton/POSNumberButton.d.ts.map +1 -0
  141. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts +43 -0
  142. package/dist/components/POSNumberButton/POSNumberButton.types.d.ts.map +1 -0
  143. package/dist/components/POSNumberButton/index.d.ts +3 -0
  144. package/dist/components/POSNumberButton/index.d.ts.map +1 -0
  145. package/dist/components/POSProductButton/POSProductButton.d.ts +59 -0
  146. package/dist/components/POSProductButton/POSProductButton.d.ts.map +1 -0
  147. package/dist/components/POSProductButton/POSProductButton.types.d.ts +40 -0
  148. package/dist/components/POSProductButton/POSProductButton.types.d.ts.map +1 -0
  149. package/dist/components/POSProductButton/index.d.ts +3 -0
  150. package/dist/components/POSProductButton/index.d.ts.map +1 -0
  151. package/dist/components/POSProductCard/POSProductCard.d.ts +68 -0
  152. package/dist/components/POSProductCard/POSProductCard.d.ts.map +1 -0
  153. package/dist/components/POSProductCard/POSProductCard.types.d.ts +67 -0
  154. package/dist/components/POSProductCard/POSProductCard.types.d.ts.map +1 -0
  155. package/dist/components/POSProductCard/icons.d.ts +10 -0
  156. package/dist/components/POSProductCard/icons.d.ts.map +1 -0
  157. package/dist/components/POSProductCard/index.d.ts +3 -0
  158. package/dist/components/POSProductCard/index.d.ts.map +1 -0
  159. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts +57 -0
  160. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.d.ts.map +1 -0
  161. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts +85 -0
  162. package/dist/components/POSProductSidebarItems/POSProductSidebarItems.types.d.ts.map +1 -0
  163. package/dist/components/POSProductSidebarItems/icons.d.ts +9 -0
  164. package/dist/components/POSProductSidebarItems/icons.d.ts.map +1 -0
  165. package/dist/components/POSProductSidebarItems/index.d.ts +4 -0
  166. package/dist/components/POSProductSidebarItems/index.d.ts.map +1 -0
  167. package/dist/components/POSTable/POSTable.d.ts +75 -0
  168. package/dist/components/POSTable/POSTable.d.ts.map +1 -0
  169. package/dist/components/POSTable/POSTable.types.d.ts +71 -0
  170. package/dist/components/POSTable/POSTable.types.d.ts.map +1 -0
  171. package/dist/components/POSTable/index.d.ts +3 -0
  172. package/dist/components/POSTable/index.d.ts.map +1 -0
  173. package/dist/components/Pagination/Pagination.d.ts +29 -0
  174. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  175. package/dist/components/Pagination/Pagination.types.d.ts +79 -0
  176. package/dist/components/Pagination/Pagination.types.d.ts.map +1 -0
  177. package/dist/components/Pagination/icons.d.ts +18 -0
  178. package/dist/components/Pagination/icons.d.ts.map +1 -0
  179. package/dist/components/Pagination/index.d.ts +4 -0
  180. package/dist/components/Pagination/index.d.ts.map +1 -0
  181. package/dist/components/Quantity/Quantity.d.ts +38 -0
  182. package/dist/components/Quantity/Quantity.d.ts.map +1 -0
  183. package/dist/components/Quantity/Quantity.types.d.ts +59 -0
  184. package/dist/components/Quantity/Quantity.types.d.ts.map +1 -0
  185. package/dist/components/Radio/Radio.d.ts +45 -0
  186. package/dist/components/Radio/Radio.d.ts.map +1 -0
  187. package/dist/components/Radio/Radio.types.d.ts +115 -0
  188. package/dist/components/Radio/Radio.types.d.ts.map +1 -0
  189. package/dist/components/Select/Select.d.ts +37 -0
  190. package/dist/components/Select/Select.d.ts.map +1 -0
  191. package/dist/components/Select/Select.types.d.ts +124 -0
  192. package/dist/components/Select/Select.types.d.ts.map +1 -0
  193. package/dist/components/Select/icons.d.ts +16 -0
  194. package/dist/components/Select/icons.d.ts.map +1 -0
  195. package/dist/components/Select/index.d.ts +4 -0
  196. package/dist/components/Select/index.d.ts.map +1 -0
  197. package/dist/components/SignUpView/SignUpView.d.ts +38 -0
  198. package/dist/components/SignUpView/SignUpView.d.ts.map +1 -0
  199. package/dist/components/SignUpView/SignUpView.types.d.ts +51 -0
  200. package/dist/components/SignUpView/SignUpView.types.d.ts.map +1 -0
  201. package/dist/components/SignUpView/icons.d.ts +18 -0
  202. package/dist/components/SignUpView/icons.d.ts.map +1 -0
  203. package/dist/components/SignUpView/index.d.ts +4 -0
  204. package/dist/components/SignUpView/index.d.ts.map +1 -0
  205. package/dist/components/Switch/Switch.d.ts +46 -0
  206. package/dist/components/Switch/Switch.d.ts.map +1 -0
  207. package/dist/components/Switch/Switch.types.d.ts +58 -0
  208. package/dist/components/Switch/Switch.types.d.ts.map +1 -0
  209. package/dist/components/Table/Table.d.ts +64 -0
  210. package/dist/components/Table/Table.d.ts.map +1 -0
  211. package/dist/components/Table/Table.types.d.ts +173 -0
  212. package/dist/components/Table/Table.types.d.ts.map +1 -0
  213. package/dist/components/Table/index.d.ts +3 -0
  214. package/dist/components/Table/index.d.ts.map +1 -0
  215. package/dist/components/Tabs/Tabs.d.ts +76 -0
  216. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  217. package/dist/components/Tabs/Tabs.types.d.ts +107 -0
  218. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -0
  219. package/dist/components/Tabs/icons.d.ts +45 -0
  220. package/dist/components/Tabs/icons.d.ts.map +1 -0
  221. package/dist/components/Tabs/index.d.ts +4 -0
  222. package/dist/components/Tabs/index.d.ts.map +1 -0
  223. package/dist/components/Textarea/Textarea.d.ts +38 -0
  224. package/dist/components/Textarea/Textarea.d.ts.map +1 -0
  225. package/dist/components/Textarea/Textarea.types.d.ts +46 -0
  226. package/dist/components/Textarea/Textarea.types.d.ts.map +1 -0
  227. package/dist/context/ThemeContext.d.ts +46 -0
  228. package/dist/context/ThemeContext.d.ts.map +1 -0
  229. package/dist/context/index.d.ts +2 -0
  230. package/dist/context/index.d.ts.map +1 -0
  231. package/dist/index.d.ts +56 -0
  232. package/dist/index.d.ts.map +1 -0
  233. package/dist/siesa-ui-kit.cjs +1260 -0
  234. package/dist/siesa-ui-kit.cjs.map +1 -0
  235. package/dist/siesa-ui-kit.mjs +4496 -0
  236. package/dist/siesa-ui-kit.mjs.map +1 -0
  237. package/dist/views/ListView/ListView.d.ts +47 -0
  238. package/dist/views/ListView/ListView.d.ts.map +1 -0
  239. package/dist/views/ListView/ListView.types.d.ts +177 -0
  240. package/dist/views/ListView/ListView.types.d.ts.map +1 -0
  241. package/dist/views/ListView/icons.d.ts +60 -0
  242. package/dist/views/ListView/icons.d.ts.map +1 -0
  243. package/dist/views/ListView/index.d.ts +3 -0
  244. package/dist/views/ListView/index.d.ts.map +1 -0
  245. package/dist/views/LoginView/LoginView.d.ts +36 -0
  246. package/dist/views/LoginView/LoginView.d.ts.map +1 -0
  247. package/dist/views/LoginView/LoginView.types.d.ts +46 -0
  248. package/dist/views/LoginView/LoginView.types.d.ts.map +1 -0
  249. package/dist/views/LoginView/icons.d.ts +18 -0
  250. package/dist/views/LoginView/icons.d.ts.map +1 -0
  251. package/dist/views/LoginView/index.d.ts +4 -0
  252. package/dist/views/LoginView/index.d.ts.map +1 -0
  253. package/dist/views/ProductsView/ProductsView.d.ts +56 -0
  254. package/dist/views/ProductsView/ProductsView.d.ts.map +1 -0
  255. package/dist/views/ProductsView/ProductsView.types.d.ts +184 -0
  256. package/dist/views/ProductsView/ProductsView.types.d.ts.map +1 -0
  257. package/dist/views/ProductsView/icons.d.ts +12 -0
  258. package/dist/views/ProductsView/icons.d.ts.map +1 -0
  259. package/dist/views/ProductsView/index.d.ts +3 -0
  260. package/dist/views/ProductsView/index.d.ts.map +1 -0
  261. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts +34 -0
  262. package/dist/views/RecoverPasswordView/RecoverPasswordView.d.ts.map +1 -0
  263. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts +50 -0
  264. package/dist/views/RecoverPasswordView/RecoverPasswordView.types.d.ts.map +1 -0
  265. package/dist/views/RecoverPasswordView/icons.d.ts +9 -0
  266. package/dist/views/RecoverPasswordView/icons.d.ts.map +1 -0
  267. package/dist/views/RecoverPasswordView/index.d.ts +3 -0
  268. package/dist/views/RecoverPasswordView/index.d.ts.map +1 -0
  269. package/dist/views/SignUpView/SignUpView.d.ts +38 -0
  270. package/dist/views/SignUpView/SignUpView.d.ts.map +1 -0
  271. package/dist/views/SignUpView/SignUpView.types.d.ts +51 -0
  272. package/dist/views/SignUpView/SignUpView.types.d.ts.map +1 -0
  273. package/dist/views/SignUpView/icons.d.ts +18 -0
  274. package/dist/views/SignUpView/icons.d.ts.map +1 -0
  275. package/dist/views/SignUpView/index.d.ts +4 -0
  276. package/dist/views/SignUpView/index.d.ts.map +1 -0
  277. package/dist/views/TableLayoutView/TableLayoutView.d.ts +46 -0
  278. package/dist/views/TableLayoutView/TableLayoutView.d.ts.map +1 -0
  279. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts +170 -0
  280. package/dist/views/TableLayoutView/TableLayoutView.types.d.ts.map +1 -0
  281. package/dist/views/TableLayoutView/icons.d.ts +27 -0
  282. package/dist/views/TableLayoutView/icons.d.ts.map +1 -0
  283. package/dist/views/TableLayoutView/index.d.ts +3 -0
  284. package/dist/views/TableLayoutView/index.d.ts.map +1 -0
  285. package/docs/border-radius.md +1261 -1261
  286. package/docs/colors.md +832 -832
  287. package/docs/dark-mode-guide.md +1426 -1426
  288. package/docs/filters.md +1243 -1243
  289. package/docs/icons.md +1283 -1283
  290. package/docs/shadows.md +1377 -1377
  291. package/docs/spacing.md +1684 -1684
  292. package/docs/typography.md +1268 -1268
  293. package/package.json +33 -6
  294. package/postcss.config.cjs +6 -6
  295. package/src/App.css +42 -42
  296. package/src/App.tsx +8 -8
  297. package/src/ButtonTest.tsx +147 -147
  298. package/src/assets/fonts/README.md +261 -261
  299. package/src/components/Alert/Alert.stories.tsx +332 -332
  300. package/src/components/Alert/Alert.tsx +106 -106
  301. package/src/components/Alert/Alert.types.ts +54 -54
  302. package/src/components/Avatar/Avatar.tsx +143 -143
  303. package/src/components/Avatar/Avatar.types.ts +53 -53
  304. package/src/components/Badge/Badge.stories.tsx +339 -339
  305. package/src/components/Badge/Badge.tsx +278 -278
  306. package/src/components/Badge/Badge.types.ts +58 -58
  307. package/src/components/Button/icons.tsx +87 -87
  308. package/src/components/Button/index.ts +3 -3
  309. package/src/components/Checkbox/Checkbox.stories.tsx +453 -453
  310. package/src/components/Checkbox/Checkbox.tsx +208 -208
  311. package/src/components/Checkbox/Checkbox.types.ts +61 -61
  312. package/src/components/DescriptionList/DescriptionList.tsx +96 -96
  313. package/src/components/DescriptionList/DescriptionList.types.ts +29 -29
  314. package/src/components/Divider/Divider.tsx +80 -80
  315. package/src/components/Divider/Divider.types.ts +24 -24
  316. package/src/components/Dropdown/Dropdown.stories.tsx +552 -552
  317. package/src/components/Dropdown/Dropdown.tsx +422 -422
  318. package/src/components/Dropdown/Dropdown.types.ts +146 -146
  319. package/src/components/Dropdown/README.md +266 -266
  320. package/src/components/Dropdown/icons.tsx +72 -72
  321. package/src/components/Dropdown/index.ts +8 -8
  322. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +317 -0
  323. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +287 -0
  324. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +111 -0
  325. package/src/components/DropdownItemCollapsible/README.md +264 -0
  326. package/src/components/DropdownItemCollapsible/icons.tsx +57 -0
  327. package/src/components/DropdownItemCollapsible/index.ts +12 -0
  328. package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +386 -0
  329. package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +216 -0
  330. package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +93 -0
  331. package/src/components/DropdownItemHeading/README.md +573 -0
  332. package/src/components/DropdownItemHeading/icons.tsx +125 -0
  333. package/src/components/DropdownItemHeading/index.ts +3 -0
  334. package/src/components/Input/Input.tsx +204 -204
  335. package/src/components/Input/Input.types.ts +80 -80
  336. package/src/components/Input/icons.tsx +145 -145
  337. package/src/components/Input/index.ts +2 -2
  338. package/src/components/Navbar/icons.tsx +102 -102
  339. package/src/components/NavigationBar/NavigationBar.stories.tsx +406 -406
  340. package/src/components/NavigationBar/NavigationBar.tsx +246 -246
  341. package/src/components/NavigationBar/NavigationBar.types.ts +74 -74
  342. package/src/components/NavigationBar/README.md +469 -469
  343. package/src/components/NavigationBar/index.ts +2 -2
  344. package/src/components/NavigationRail/NavigationRail.stories.tsx +417 -417
  345. package/src/components/NavigationRail/NavigationRail.tsx +418 -418
  346. package/src/components/NavigationRail/NavigationRail.types.ts +109 -109
  347. package/src/components/NavigationRail/README.md +224 -224
  348. package/src/components/NavigationRail/index.ts +2 -2
  349. package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +667 -0
  350. package/src/components/NavigationRailItem/NavigationRailItem.tsx +313 -0
  351. package/src/components/NavigationRailItem/NavigationRailItem.types.ts +167 -0
  352. package/src/components/NavigationRailItem/README.md +476 -0
  353. package/src/components/NavigationRailItem/index.ts +2 -0
  354. package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +462 -0
  355. package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +332 -0
  356. package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +178 -0
  357. package/src/components/NavigationRailPanel/README.md +461 -0
  358. package/src/components/NavigationRailPanel/index.ts +6 -0
  359. package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +528 -0
  360. package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +378 -0
  361. package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +130 -0
  362. package/src/components/NavigationRailTypes/README.md +573 -0
  363. package/src/components/NavigationRailTypes/icons.tsx +141 -0
  364. package/src/components/NavigationRailTypes/index.ts +7 -0
  365. package/src/components/Notification/index.ts +3 -3
  366. package/src/components/POSProductButton/POSProductButton.tsx +152 -152
  367. package/src/components/POSProductButton/POSProductButton.types.ts +46 -46
  368. package/src/components/POSProductButton/README.md +269 -269
  369. package/src/components/POSProductButton/index.ts +2 -2
  370. package/src/components/POSTable/POSTable.types.ts +83 -83
  371. package/src/components/POSTable/index.ts +7 -7
  372. package/src/components/Pagination/Pagination.stories.tsx +555 -555
  373. package/src/components/Pagination/Pagination.tsx +286 -286
  374. package/src/components/Pagination/Pagination.types.ts +93 -93
  375. package/src/components/Pagination/README.md +298 -298
  376. package/src/components/Pagination/icons.tsx +47 -47
  377. package/src/components/Pagination/index.ts +3 -3
  378. package/src/components/Quantity/Quantity.tsx +289 -289
  379. package/src/components/Quantity/Quantity.types.ts +70 -70
  380. package/src/components/Radio/Radio.tsx +170 -170
  381. package/src/components/Radio/Radio.types.ts +122 -122
  382. package/src/components/Select/README.md +299 -299
  383. package/src/components/Select/Select.stories.tsx +673 -673
  384. package/src/components/Select/Select.types.ts +148 -148
  385. package/src/components/Select/icons.tsx +50 -50
  386. package/src/components/Select/index.ts +3 -3
  387. package/src/components/Table/README.md +369 -369
  388. package/src/components/Table/Table.tsx +688 -688
  389. package/src/components/Table/Table.types.ts +204 -204
  390. package/src/components/Table/index.ts +9 -9
  391. package/src/components/Textarea/Textarea.tsx +188 -188
  392. package/src/components/Textarea/Textarea.types.ts +54 -54
  393. package/src/context/ThemeContext.tsx +99 -99
  394. package/src/context/index.ts +1 -1
  395. package/src/index.css +29 -29
  396. package/src/index.ts +63 -0
  397. package/src/main.tsx +10 -10
  398. package/src/views/ListView/ListView.stories.tsx +329 -0
  399. package/src/views/ListView/ListView.tsx +570 -0
  400. package/src/views/ListView/ListView.types.ts +211 -0
  401. package/src/views/ListView/icons.tsx +282 -0
  402. package/src/views/ListView/index.ts +11 -0
  403. package/src/views/LoginView/LoginView.stories.tsx +148 -0
  404. package/src/views/LoginView/LoginView.tsx +426 -0
  405. package/src/views/LoginView/LoginView.types.ts +52 -0
  406. package/src/views/LoginView/README.md +396 -0
  407. package/src/views/LoginView/icons.tsx +85 -0
  408. package/src/views/LoginView/index.ts +3 -0
  409. package/src/views/RecoverPasswordView/README.md +269 -269
  410. package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +131 -131
  411. package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +56 -56
  412. package/src/views/RecoverPasswordView/icons.tsx +17 -17
  413. package/src/views/RecoverPasswordView/index.ts +2 -2
  414. package/src/views/SignUpView/SignUpView.stories.tsx +129 -0
  415. package/src/views/SignUpView/SignUpView.tsx +503 -0
  416. package/src/views/SignUpView/SignUpView.types.ts +58 -0
  417. package/src/views/SignUpView/icons.tsx +71 -0
  418. package/src/views/SignUpView/index.ts +3 -0
  419. package/claude/agents/siesa-ui-kit-specialist.md +0 -2401
  420. package/claude/prompts/component-template.md +0 -121
@@ -0,0 +1,211 @@
1
+ import type { ReactNode, ReactElement } from 'react';
2
+ import type { BadgeColor } from '../../components/Badge/Badge.types';
3
+
4
+ /**
5
+ * Interfaz para los items de navegación (Navigation Rail)
6
+ */
7
+ export interface ListViewNavigationItem {
8
+ /** ID único del item */
9
+ id: string;
10
+ /** Icono del item */
11
+ icon: ReactNode;
12
+ /** Label del item */
13
+ label: string;
14
+ /** Si el item está seleccionado */
15
+ selected?: boolean;
16
+ /** Si el item está deshabilitado */
17
+ disabled?: boolean;
18
+ /** Badge de notificación */
19
+ badge?: boolean;
20
+ /** Contador de badge */
21
+ badgeCount?: number;
22
+ /** Handler de click */
23
+ onClick?: () => void;
24
+ }
25
+
26
+ /**
27
+ * Interfaz para los filtros rápidos (badges en la barra de navegación)
28
+ */
29
+ export interface ListViewQuickFilter {
30
+ /** ID único del filtro */
31
+ id: string;
32
+ /** Label del filtro */
33
+ label: string;
34
+ /** Color del badge */
35
+ color: BadgeColor;
36
+ /** Icono del filtro */
37
+ icon?: ReactElement;
38
+ /** Si el filtro está activo */
39
+ active?: boolean;
40
+ /** Handler de click */
41
+ onClick?: () => void;
42
+ }
43
+
44
+ /**
45
+ * Interfaz para las columnas de la tabla
46
+ */
47
+ export interface ListViewColumn<T = any> {
48
+ /** Título del header */
49
+ header: string;
50
+ /** Key del objeto para acceder al valor */
51
+ accessor: keyof T | ((row: T) => any);
52
+ /** Si es sortable */
53
+ sortable?: boolean;
54
+ /** Render custom */
55
+ render?: (value: any, row: T, index: number) => ReactNode;
56
+ /** Alineación */
57
+ align?: 'left' | 'center' | 'right';
58
+ /** Ancho */
59
+ width?: string;
60
+ }
61
+
62
+ /**
63
+ * Interfaz para los datos del dropdown de usuario
64
+ */
65
+ export interface ListViewUserDropdown {
66
+ /** URL del avatar */
67
+ avatar: string;
68
+ /** Nombre del usuario */
69
+ name: string;
70
+ /** Email o rol del usuario */
71
+ email?: string;
72
+ /** Rol del usuario */
73
+ role?: string;
74
+ /** Handler del click en menú */
75
+ onMenuClick?: () => void;
76
+ }
77
+
78
+ /**
79
+ * Interfaz para las notificaciones
80
+ */
81
+ export interface ListViewNotifications {
82
+ /** Contador del carrito */
83
+ cart?: number;
84
+ /** Si tiene notificaciones de campana */
85
+ bell?: boolean;
86
+ }
87
+
88
+ /**
89
+ * Interfaz para los botones de acción
90
+ */
91
+ export interface ListViewActionButton {
92
+ /** ID del botón */
93
+ id: string;
94
+ /** Label del botón */
95
+ label: string;
96
+ /** Icono del botón */
97
+ icon?: ReactNode;
98
+ /** Handler del click */
99
+ onClick?: () => void;
100
+ /** Variante del botón */
101
+ variant?: 'primary' | 'secondary';
102
+ }
103
+
104
+ /**
105
+ * Dirección de ordenamiento
106
+ */
107
+ export type ListViewSortDirection = 'asc' | 'desc' | null;
108
+
109
+ /**
110
+ * Props del componente ListView
111
+ */
112
+ export interface ListViewProps<T = any> {
113
+ /** Título de la vista */
114
+ title?: string;
115
+
116
+ /** Título del navbar */
117
+ navbarTitle?: string;
118
+
119
+ /** Título de la tabla */
120
+ tableTitle?: string;
121
+
122
+ /** Columnas de la tabla */
123
+ columns: ListViewColumn<T>[];
124
+
125
+ /** Datos de la tabla */
126
+ data: T[];
127
+
128
+ /** Items de navegación lateral */
129
+ navigationItems?: ListViewNavigationItem[];
130
+
131
+ /** Filtros rápidos */
132
+ quickFilters?: ListViewQuickFilter[];
133
+
134
+ /** Botones de acción */
135
+ actionButtons?: ListViewActionButton[];
136
+
137
+ /** Dropdown del usuario */
138
+ userDropdown?: ListViewUserDropdown;
139
+
140
+ /** Notificaciones */
141
+ notifications?: ListViewNotifications;
142
+
143
+ /** Badge de ambiente */
144
+ environmentBadge?: string;
145
+
146
+ /** Si mostrar el FAB en navigation rail */
147
+ showFab?: boolean;
148
+
149
+ /** Icono del FAB */
150
+ fabIcon?: ReactNode;
151
+
152
+ /** Handler del FAB */
153
+ onFabClick?: () => void;
154
+
155
+ /** Handler de búsqueda */
156
+ onSearch?: (query: string) => void;
157
+
158
+ /** Placeholder del buscador */
159
+ searchPlaceholder?: string;
160
+
161
+ /** Handler de ordenamiento */
162
+ onSort?: (column: keyof T | string, direction: ListViewSortDirection) => void;
163
+
164
+ /** Columna de ordenamiento actual */
165
+ sortColumn?: keyof T | string;
166
+
167
+ /** Dirección de ordenamiento actual */
168
+ sortDirection?: ListViewSortDirection;
169
+
170
+ /** Props de paginación */
171
+ pagination?: {
172
+ currentPage: number;
173
+ totalPages: number;
174
+ onPageChange: (page: number) => void;
175
+ previousLabel?: string;
176
+ nextLabel?: string;
177
+ };
178
+
179
+ /** Si está cargando */
180
+ loading?: boolean;
181
+
182
+ /** Número de filas skeleton */
183
+ loadingRows?: number;
184
+
185
+ /** Mensaje cuando no hay datos */
186
+ emptyMessage?: string;
187
+
188
+ /** Clases adicionales */
189
+ className?: string;
190
+
191
+ /** ID de navegación seleccionado */
192
+ selectedNavId?: string;
193
+
194
+ /** Handler de selección de navegación */
195
+ onNavSelect?: (id: string) => void;
196
+
197
+ /** Handler click en carrito */
198
+ onCartClick?: () => void;
199
+
200
+ /** Handler click en notificaciones */
201
+ onNotificationsClick?: () => void;
202
+
203
+ /** Opciones del dropdown de vista */
204
+ viewOptions?: Array<{ id: string; label: string }>;
205
+
206
+ /** Opción de vista seleccionada */
207
+ selectedViewOption?: string;
208
+
209
+ /** Handler de cambio de opción de vista */
210
+ onViewOptionChange?: (id: string) => void;
211
+ }
@@ -0,0 +1,282 @@
1
+ import React from 'react';
2
+
3
+ /**
4
+ * Iconos para ListView del sistema de diseño Siesa
5
+ * Basados en Heroicons Micro (16x16)
6
+ */
7
+
8
+ export const HomeIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
9
+ <svg
10
+ className={className}
11
+ width="16"
12
+ height="16"
13
+ viewBox="0 0 16 16"
14
+ fill="currentColor"
15
+ xmlns="http://www.w3.org/2000/svg"
16
+ >
17
+ <path d="M8.543 2.232a.75.75 0 0 0-1.085 0l-5.25 5.5A.75.75 0 0 0 2.75 9H4v4a1 1 0 0 0 1 1h1.5a.5.5 0 0 0 .5-.5v-2a1 1 0 0 1 1-1h.5a1 1 0 0 1 1 1v2a.5.5 0 0 0 .5.5H12a1 1 0 0 0 1-1V9h1.25a.75.75 0 0 0 .543-1.268l-5.25-5.5Z" />
18
+ </svg>
19
+ );
20
+
21
+ export const GlobeAltIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
22
+ <svg
23
+ className={className}
24
+ width="16"
25
+ height="16"
26
+ viewBox="0 0 16 16"
27
+ fill="currentColor"
28
+ xmlns="http://www.w3.org/2000/svg"
29
+ >
30
+ <path d="M8 0a8 8 0 1 0 0 16A8 8 0 0 0 8 0ZM5.37 2.822a6.493 6.493 0 0 0-2.818 3.428h2.103c.088-.907.254-1.778.494-2.595a8.932 8.932 0 0 1 .221-.833ZM1.5 8c0 .522.062 1.03.179 1.516l.135.484h2.49a16.15 16.15 0 0 1 0-4H1.815L1.68 6.484A6.533 6.533 0 0 0 1.5 8Zm.552 2.75A6.493 6.493 0 0 0 5.37 14.18a8.932 8.932 0 0 1-.221-.833 13.2 13.2 0 0 1-.494-2.595H2.552Zm4.058 0c.083.78.23 1.497.429 2.128.197.622.423 1.07.649 1.357.225.286.401.265.312.265.089 0 .265.021.49-.265.226-.287.452-.735.649-1.357.199-.631.346-1.348.429-2.128H6.11Zm4.234 0a13.198 13.198 0 0 1-.494 2.595 8.938 8.938 0 0 1-.22.833 6.493 6.493 0 0 0 2.817-3.428h-2.103Zm2.104-2h-2.48a16.15 16.15 0 0 0 0-4h2.48l.135.484A6.538 6.538 0 0 1 14.5 8a6.538 6.538 0 0 1-.179 1.516l-.135.484h.162Zm-2.818-4.928c.167.251.394.699.221.833.24.817.406 1.688.494 2.595h2.103a6.493 6.493 0 0 0-2.818-3.428ZM9.89 6h-3.78c.083-.78.23-1.497.429-2.128.197-.622.423-1.07.649-1.357.225-.286.401-.265.312-.265.089 0 .265-.021.49.265.226.287.452.735.649 1.357.199.631.346 1.348.429 2.128Zm-4.234 0H3.553a6.493 6.493 0 0 1 2.818-3.428 8.932 8.932 0 0 0-.221.833c-.24.817-.406 1.688-.494 2.595Zm.144 2a14.65 14.65 0 0 0 0 4h4.4a14.65 14.65 0 0 0 0-4H5.8Z" />
31
+ </svg>
32
+ );
33
+
34
+ export const DocumentTextIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
35
+ <svg
36
+ className={className}
37
+ width="16"
38
+ height="16"
39
+ viewBox="0 0 16 16"
40
+ fill="currentColor"
41
+ xmlns="http://www.w3.org/2000/svg"
42
+ >
43
+ <path
44
+ fillRule="evenodd"
45
+ d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm1 5a.5.5 0 0 0 0 1h6a.5.5 0 0 0 0-1H5Zm-.5 2.5a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5Zm.5 1.5a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1H5Z"
46
+ clipRule="evenodd"
47
+ />
48
+ </svg>
49
+ );
50
+
51
+ export const CloudIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
52
+ <svg
53
+ className={className}
54
+ width="16"
55
+ height="16"
56
+ viewBox="0 0 16 16"
57
+ fill="currentColor"
58
+ xmlns="http://www.w3.org/2000/svg"
59
+ >
60
+ <path d="M1 9.5A3.5 3.5 0 0 0 4.5 13H12a3 3 0 0 0 .917-5.857 2.503 2.503 0 0 0-3.198-3.019 3.5 3.5 0 0 0-6.628 2.171A3.5 3.5 0 0 0 1 9.5Z" />
61
+ </svg>
62
+ );
63
+
64
+ export const SquaresPlusIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
65
+ <svg
66
+ className={className}
67
+ width="16"
68
+ height="16"
69
+ viewBox="0 0 16 16"
70
+ fill="currentColor"
71
+ xmlns="http://www.w3.org/2000/svg"
72
+ >
73
+ <path d="M2 4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4ZM10 4a2 2 0 0 1 2-2h.5a.5.5 0 0 1 0 1H12a1 1 0 0 0-1 1v.5a.5.5 0 0 1-1 0V4ZM2 12a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v2ZM10.5 8a.5.5 0 0 0-.5.5V10H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V11h1.5a.5.5 0 0 0 0-1H11V8.5a.5.5 0 0 0-.5-.5Z" />
74
+ </svg>
75
+ );
76
+
77
+ export const MagnifyingGlassIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
78
+ <svg
79
+ className={className}
80
+ width="16"
81
+ height="16"
82
+ viewBox="0 0 16 16"
83
+ fill="currentColor"
84
+ xmlns="http://www.w3.org/2000/svg"
85
+ >
86
+ <path
87
+ fillRule="evenodd"
88
+ d="M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z"
89
+ clipRule="evenodd"
90
+ />
91
+ </svg>
92
+ );
93
+
94
+ export const PlusIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
95
+ <svg
96
+ className={className}
97
+ width="16"
98
+ height="16"
99
+ viewBox="0 0 16 16"
100
+ fill="currentColor"
101
+ xmlns="http://www.w3.org/2000/svg"
102
+ >
103
+ <path d="M8.75 3.75a.75.75 0 0 0-1.5 0v3.5h-3.5a.75.75 0 0 0 0 1.5h3.5v3.5a.75.75 0 0 0 1.5 0v-3.5h3.5a.75.75 0 0 0 0-1.5h-3.5v-3.5Z" />
104
+ </svg>
105
+ );
106
+
107
+ export const ListBulletIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
108
+ <svg
109
+ className={className}
110
+ width="16"
111
+ height="16"
112
+ viewBox="0 0 16 16"
113
+ fill="currentColor"
114
+ xmlns="http://www.w3.org/2000/svg"
115
+ >
116
+ <path
117
+ fillRule="evenodd"
118
+ d="M2.5 4a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1ZM4.75 3.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5ZM4 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 4 8Zm.75 3.25a.75.75 0 0 0 0 1.5h8.5a.75.75 0 0 0 0-1.5h-8.5ZM3 8a.5.5 0 1 1-1 0 .5.5 0 0 1 1 0Zm-.5 4.5a.5.5 0 1 0 0-1 .5.5 0 0 0 0 1Z"
119
+ clipRule="evenodd"
120
+ />
121
+ </svg>
122
+ );
123
+
124
+ export const FunnelIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
125
+ <svg
126
+ className={className}
127
+ width="16"
128
+ height="16"
129
+ viewBox="0 0 16 16"
130
+ fill="currentColor"
131
+ xmlns="http://www.w3.org/2000/svg"
132
+ >
133
+ <path d="M14 2H2c-.55 0-.95.538-.75 1.032l3 7.5c.127.318.44.528.783.528h5.934c.343 0 .656-.21.783-.528l3-7.5C14.95 2.538 14.55 2 14 2Z" />
134
+ <path d="M6 12.25v1.25a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-1.25H6Z" />
135
+ </svg>
136
+ );
137
+
138
+ export const DocumentCheckIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
139
+ <svg
140
+ className={className}
141
+ width="16"
142
+ height="16"
143
+ viewBox="0 0 16 16"
144
+ fill="currentColor"
145
+ xmlns="http://www.w3.org/2000/svg"
146
+ >
147
+ <path
148
+ fillRule="evenodd"
149
+ d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm6.78 5.28a.75.75 0 1 0-1.06-1.06L7 8.94 5.78 7.72a.75.75 0 0 0-1.06 1.06l1.75 1.75a.75.75 0 0 0 1.06 0l3.25-3.25Z"
150
+ clipRule="evenodd"
151
+ />
152
+ </svg>
153
+ );
154
+
155
+ export const DocumentMinusIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
156
+ <svg
157
+ className={className}
158
+ width="16"
159
+ height="16"
160
+ viewBox="0 0 16 16"
161
+ fill="currentColor"
162
+ xmlns="http://www.w3.org/2000/svg"
163
+ >
164
+ <path
165
+ fillRule="evenodd"
166
+ d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm1 6.25a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5H5Z"
167
+ clipRule="evenodd"
168
+ />
169
+ </svg>
170
+ );
171
+
172
+ export const DocumentArrowUpIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
173
+ <svg
174
+ className={className}
175
+ width="16"
176
+ height="16"
177
+ viewBox="0 0 16 16"
178
+ fill="currentColor"
179
+ xmlns="http://www.w3.org/2000/svg"
180
+ >
181
+ <path
182
+ fillRule="evenodd"
183
+ d="M4 2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V6.414A2 2 0 0 0 13.414 5L10 1.586A2 2 0 0 0 8.586 1H4Zm4.53 4.22a.75.75 0 0 0-1.06 0L5.22 8.47a.75.75 0 1 0 1.06 1.06l.97-.97v2.69a.75.75 0 0 0 1.5 0V8.56l.97.97a.75.75 0 1 0 1.06-1.06L8.53 6.22Z"
184
+ clipRule="evenodd"
185
+ />
186
+ </svg>
187
+ );
188
+
189
+ export const BellIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
190
+ <svg
191
+ className={className}
192
+ width="16"
193
+ height="16"
194
+ viewBox="0 0 16 16"
195
+ fill="currentColor"
196
+ xmlns="http://www.w3.org/2000/svg"
197
+ >
198
+ <path
199
+ fillRule="evenodd"
200
+ d="M12 5a4 4 0 0 0-8 0v2.379c0 .398-.158.779-.44 1.06L2.294 9.707a1 1 0 0 0 .707 1.707h9.998a1 1 0 0 0 .707-1.707l-1.266-1.268A1.5 1.5 0 0 1 12 7.379V5ZM6.268 13.682a.75.75 0 0 0 1.04.199 1.496 1.496 0 0 0 1.385 0 .75.75 0 1 0-.839-1.244.003.003 0 0 1-.004.003.003.003 0 0 1-.004-.003.75.75 0 0 0-1.244.199.75.75 0 0 0 .666.846Z"
201
+ clipRule="evenodd"
202
+ />
203
+ </svg>
204
+ );
205
+
206
+ export const ChevronDownIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
207
+ <svg
208
+ className={className}
209
+ width="16"
210
+ height="16"
211
+ viewBox="0 0 16 16"
212
+ fill="currentColor"
213
+ xmlns="http://www.w3.org/2000/svg"
214
+ >
215
+ <path
216
+ fillRule="evenodd"
217
+ d="M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z"
218
+ clipRule="evenodd"
219
+ />
220
+ </svg>
221
+ );
222
+
223
+ export const ArrowLongLeftIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
224
+ <svg
225
+ className={className}
226
+ width="16"
227
+ height="16"
228
+ viewBox="0 0 16 16"
229
+ fill="currentColor"
230
+ xmlns="http://www.w3.org/2000/svg"
231
+ >
232
+ <path
233
+ fillRule="evenodd"
234
+ d="M14 8a.75.75 0 0 1-.75.75H3.81l2.72 2.72a.75.75 0 1 1-1.06 1.06l-4-4a.75.75 0 0 1 0-1.06l4-4a.75.75 0 0 1 1.06 1.06L3.81 7.25h9.44A.75.75 0 0 1 14 8Z"
235
+ clipRule="evenodd"
236
+ />
237
+ </svg>
238
+ );
239
+
240
+ export const ArrowLongRightIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
241
+ <svg
242
+ className={className}
243
+ width="16"
244
+ height="16"
245
+ viewBox="0 0 16 16"
246
+ fill="currentColor"
247
+ xmlns="http://www.w3.org/2000/svg"
248
+ >
249
+ <path
250
+ fillRule="evenodd"
251
+ d="M2 8a.75.75 0 0 1 .75-.75h9.44l-2.72-2.72a.75.75 0 0 1 1.06-1.06l4 4a.75.75 0 0 1 0 1.06l-4 4a.75.75 0 1 1-1.06-1.06l2.72-2.72H2.75A.75.75 0 0 1 2 8Z"
252
+ clipRule="evenodd"
253
+ />
254
+ </svg>
255
+ );
256
+
257
+ export const EllipsisHorizontalIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
258
+ <svg
259
+ className={className}
260
+ width="16"
261
+ height="16"
262
+ viewBox="0 0 16 16"
263
+ fill="currentColor"
264
+ xmlns="http://www.w3.org/2000/svg"
265
+ >
266
+ <path d="M2 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM6.5 8a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM12.5 6.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" />
267
+ </svg>
268
+ );
269
+
270
+ export const EnvelopeIcon: React.FC<{ className?: string }> = ({ className = '' }) => (
271
+ <svg
272
+ className={className}
273
+ width="16"
274
+ height="16"
275
+ viewBox="0 0 16 16"
276
+ fill="currentColor"
277
+ xmlns="http://www.w3.org/2000/svg"
278
+ >
279
+ <path d="M2.5 3A1.5 1.5 0 0 0 1 4.5v.793c.026.009.051.02.076.032L7.674 8.51c.206.1.446.1.652 0l6.598-3.185A.755.755 0 0 1 15 5.293V4.5A1.5 1.5 0 0 0 13.5 3h-11Z" />
280
+ <path d="M15 6.954 8.978 9.86a2.25 2.25 0 0 1-1.956 0L1 6.954V11.5A1.5 1.5 0 0 0 2.5 13h11a1.5 1.5 0 0 0 1.5-1.5V6.954Z" />
281
+ </svg>
282
+ );
@@ -0,0 +1,11 @@
1
+ export { ListView } from './ListView';
2
+ export type {
3
+ ListViewProps,
4
+ ListViewColumn,
5
+ ListViewNavigationItem,
6
+ ListViewQuickFilter,
7
+ ListViewUserDropdown,
8
+ ListViewNotifications,
9
+ ListViewActionButton,
10
+ ListViewSortDirection,
11
+ } from './ListView.types';
@@ -0,0 +1,148 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { LoginView } from './LoginView';
3
+
4
+ const meta = {
5
+ title: 'Siesa UI Kit/Views/LoginView',
6
+ component: LoginView,
7
+ parameters: {
8
+ layout: 'fullscreen',
9
+ docs: {
10
+ description: {
11
+ component: 'Vista completa de inicio de sesión del sistema Siesa.',
12
+ },
13
+ },
14
+ },
15
+ tags: ['autodocs'],
16
+ argTypes: {
17
+ onSubmit: {
18
+ action: 'submit',
19
+ description: 'Handler cuando se envía el formulario con (email, password)',
20
+ },
21
+ onForgotPassword: {
22
+ action: 'forgot-password',
23
+ description: 'Handler cuando se hace click en "Olvidé mi Contraseña"',
24
+ },
25
+ onSignUp: {
26
+ action: 'sign-up',
27
+ description: 'Handler cuando se hace click en "¿No tienes una cuenta?"',
28
+ },
29
+ isLoading: {
30
+ control: 'boolean',
31
+ description: 'Si el formulario está en estado de carga',
32
+ },
33
+ errorMessage: {
34
+ control: 'text',
35
+ description: 'Mensaje de error general a mostrar',
36
+ },
37
+ showBackground: {
38
+ control: 'boolean',
39
+ description: 'Si se muestra el fondo decorativo con imagen',
40
+ },
41
+ variant: {
42
+ control: 'select',
43
+ options: ['responsive', 'mobile', 'desktop'],
44
+ description: 'Variante de visualización: responsive (adapta al viewport), mobile (siempre mobile), desktop (siempre desktop)',
45
+ defaultValue: 'responsive',
46
+ },
47
+ },
48
+ } satisfies Meta<typeof LoginView>;
49
+
50
+ export default meta;
51
+ type Story = StoryObj<typeof meta>;
52
+
53
+ // ============================================
54
+ // 1. DESKTOP
55
+ // ============================================
56
+ export const Desktop: Story = {
57
+ render: () => (
58
+ <div className="min-h-screen w-full">
59
+ <LoginView
60
+ onSubmit={(email, password) => {
61
+ console.log('Login:', { email, password });
62
+ alert(`Login con:\nEmail: ${email}\nPassword: ${password}`);
63
+ }}
64
+ onForgotPassword={() => {
65
+ console.log('Forgot password clicked');
66
+ alert('Redirigiendo a recuperación de contraseña...');
67
+ }}
68
+ onSignUp={() => {
69
+ console.log('Sign up clicked');
70
+ alert('Redirigiendo a registro...');
71
+ }}
72
+ />
73
+ </div>
74
+ ),
75
+ };
76
+
77
+ // ============================================
78
+ // 2. CON ESTADO DE CARGA
79
+ // ============================================
80
+ export const Loading: Story = {
81
+ render: () => (
82
+ <div className="min-h-screen w-full">
83
+ <LoginView
84
+ isLoading={true}
85
+ onSubmit={(email, password) => {
86
+ console.log('Login:', { email, password });
87
+ }}
88
+ onForgotPassword={() => {
89
+ console.log('Forgot password clicked');
90
+ }}
91
+ onSignUp={() => {
92
+ console.log('Sign up clicked');
93
+ }}
94
+ />
95
+ </div>
96
+ ),
97
+ };
98
+
99
+ // ============================================
100
+ // 3. CON MENSAJE DE ERROR
101
+ // ============================================
102
+ export const WithError: Story = {
103
+ render: () => (
104
+ <div className="min-h-screen w-full">
105
+ <LoginView
106
+ errorMessage="Credenciales incorrectas. Por favor verifica tu email y contraseña."
107
+ onSubmit={(email, password) => {
108
+ console.log('Login:', { email, password });
109
+ alert(`Login con:\nEmail: ${email}\nPassword: ${password}`);
110
+ }}
111
+ onForgotPassword={() => {
112
+ console.log('Forgot password clicked');
113
+ alert('Redirigiendo a recuperación de contraseña...');
114
+ }}
115
+ onSignUp={() => {
116
+ console.log('Sign up clicked');
117
+ alert('Redirigiendo a registro...');
118
+ }}
119
+ />
120
+ </div>
121
+ ),
122
+ };
123
+
124
+ // ============================================
125
+ // 4. SIN FONDO DECORATIVO
126
+ // ============================================
127
+ export const WithoutBackground: Story = {
128
+ render: () => (
129
+ <div className="min-h-screen w-full bg-gray-100 dark:bg-gray-900">
130
+ <LoginView
131
+ showBackground={false}
132
+ onSubmit={(email, password) => {
133
+ console.log('Login:', { email, password });
134
+ alert(`Login con:\nEmail: ${email}\nPassword: ${password}`);
135
+ }}
136
+ onForgotPassword={() => {
137
+ console.log('Forgot password clicked');
138
+ alert('Redirigiendo a recuperación de contraseña...');
139
+ }}
140
+ onSignUp={() => {
141
+ console.log('Sign up clicked');
142
+ alert('Redirigiendo a registro...');
143
+ }}
144
+ />
145
+ </div>
146
+ ),
147
+ };
148
+