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
@@ -1,106 +1,106 @@
1
- import { forwardRef } from 'react';
2
- import type { AlertProps } from './Alert.types';
3
- import { Button } from '../Button/Button';
4
-
5
- /**
6
- * Alert - Componente de alerta/diálogo del sistema de diseño Siesa
7
- *
8
- * Componente modal para confirmaciones con soporte para:
9
- * - Título y descripción
10
- * - Contenido personalizado (children)
11
- * - Botones de acción personalizados o por defecto
12
- * - Dark mode
13
- *
14
- * @example
15
- * ```tsx
16
- * <Alert
17
- * title="Are you sure you want to refund this payment?"
18
- * description="The refund will be reflected in 2 to 3 business days."
19
- * onCancel={() => console.log('Cancelled')}
20
- * onConfirm={() => console.log('Confirmed')}
21
- * confirmText="Refund"
22
- * />
23
- * ```
24
- */
25
- export const Alert = forwardRef<HTMLDivElement, AlertProps>(
26
- (
27
- {
28
- title,
29
- description,
30
- children,
31
- actions,
32
- onCancel,
33
- onConfirm,
34
- cancelText = 'Cancelar',
35
- confirmText = 'Confirmar',
36
- className = '',
37
- ...props
38
- },
39
- ref
40
- ) => {
41
- // Si se proveen actions personalizadas, usarlas. Si no, usar botones por defecto
42
- const actionButtons = actions || (
43
- <>
44
- {onCancel && (
45
- <Button type="plain" size="base" onClick={onCancel}>
46
- {cancelText}
47
- </Button>
48
- )}
49
- {onConfirm && (
50
- <Button type="default" size="base" onClick={onConfirm}>
51
- {confirmText}
52
- </Button>
53
- )}
54
- </>
55
- );
56
-
57
- return (
58
- <div
59
- ref={ref}
60
- className={`
61
- w-[512px]
62
- bg-white
63
- dark:bg-dark-bg-primary
64
- border
65
- border-border-primary
66
- dark:border-dark-border-primary
67
- rounded-xl
68
- ${className}
69
- `.trim().replace(/\s+/g, ' ')}
70
- {...props}
71
- >
72
- {/* Content Container */}
73
- <div className="p-6 flex flex-col gap-4">
74
- {/* Text Section */}
75
- <div className="flex flex-col gap-3">
76
- {/* Title */}
77
- <p className="text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary">
78
- {title}
79
- </p>
80
-
81
- {/* Description (optional) */}
82
- {description && (
83
- <p className="text-sm leading-5 font-normal text-content-tertiary dark:text-content-tertiary">
84
- {description}
85
- </p>
86
- )}
87
- </div>
88
-
89
- {/* Body Content (optional) */}
90
- {children && (
91
- <div className="flex flex-col gap-3">
92
- {children}
93
- </div>
94
- )}
95
-
96
- {/* Actions */}
97
- <div className="flex flex-wrap gap-3 items-center justify-end">
98
- {actionButtons}
99
- </div>
100
- </div>
101
- </div>
102
- );
103
- }
104
- );
105
-
106
- Alert.displayName = 'Alert';
1
+ import { forwardRef } from 'react';
2
+ import type { AlertProps } from './Alert.types';
3
+ import { Button } from '../Button/Button';
4
+
5
+ /**
6
+ * Alert - Componente de alerta/diálogo del sistema de diseño Siesa
7
+ *
8
+ * Componente modal para confirmaciones con soporte para:
9
+ * - Título y descripción
10
+ * - Contenido personalizado (children)
11
+ * - Botones de acción personalizados o por defecto
12
+ * - Dark mode
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <Alert
17
+ * title="Are you sure you want to refund this payment?"
18
+ * description="The refund will be reflected in 2 to 3 business days."
19
+ * onCancel={() => console.log('Cancelled')}
20
+ * onConfirm={() => console.log('Confirmed')}
21
+ * confirmText="Refund"
22
+ * />
23
+ * ```
24
+ */
25
+ export const Alert = forwardRef<HTMLDivElement, AlertProps>(
26
+ (
27
+ {
28
+ title,
29
+ description,
30
+ children,
31
+ actions,
32
+ onCancel,
33
+ onConfirm,
34
+ cancelText = 'Cancelar',
35
+ confirmText = 'Confirmar',
36
+ className = '',
37
+ ...props
38
+ },
39
+ ref
40
+ ) => {
41
+ // Si se proveen actions personalizadas, usarlas. Si no, usar botones por defecto
42
+ const actionButtons = actions || (
43
+ <>
44
+ {onCancel && (
45
+ <Button type="plain" size="base" onClick={onCancel}>
46
+ {cancelText}
47
+ </Button>
48
+ )}
49
+ {onConfirm && (
50
+ <Button type="default" size="base" onClick={onConfirm}>
51
+ {confirmText}
52
+ </Button>
53
+ )}
54
+ </>
55
+ );
56
+
57
+ return (
58
+ <div
59
+ ref={ref}
60
+ className={`
61
+ w-[512px]
62
+ bg-white
63
+ dark:bg-dark-bg-primary
64
+ border
65
+ border-border-primary
66
+ dark:border-dark-border-primary
67
+ rounded-xl
68
+ ${className}
69
+ `.trim().replace(/\s+/g, ' ')}
70
+ {...props}
71
+ >
72
+ {/* Content Container */}
73
+ <div className="p-6 flex flex-col gap-4">
74
+ {/* Text Section */}
75
+ <div className="flex flex-col gap-3">
76
+ {/* Title */}
77
+ <p className="text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary">
78
+ {title}
79
+ </p>
80
+
81
+ {/* Description (optional) */}
82
+ {description && (
83
+ <p className="text-sm leading-5 font-normal text-content-tertiary dark:text-content-tertiary">
84
+ {description}
85
+ </p>
86
+ )}
87
+ </div>
88
+
89
+ {/* Body Content (optional) */}
90
+ {children && (
91
+ <div className="flex flex-col gap-3">
92
+ {children}
93
+ </div>
94
+ )}
95
+
96
+ {/* Actions */}
97
+ <div className="flex flex-wrap gap-3 items-center justify-end">
98
+ {actionButtons}
99
+ </div>
100
+ </div>
101
+ </div>
102
+ );
103
+ }
104
+ );
105
+
106
+ Alert.displayName = 'Alert';
@@ -1,54 +1,54 @@
1
- import type { HTMLAttributes, ReactNode } from 'react';
2
-
3
- /**
4
- * Props del componente Alert
5
- */
6
- export interface AlertProps extends HTMLAttributes<HTMLDivElement> {
7
- /**
8
- * Título del alert (texto principal en negrita)
9
- */
10
- title: string;
11
-
12
- /**
13
- * Descripción opcional (texto secundario)
14
- */
15
- description?: string;
16
-
17
- /**
18
- * Contenido opcional del body (por ejemplo, input, placeholder, etc.)
19
- */
20
- children?: ReactNode;
21
-
22
- /**
23
- * Botones de acción personalizados
24
- * Si no se proveen, se mostrarán los botones por defecto (Cancel/Confirm)
25
- */
26
- actions?: ReactNode;
27
-
28
- /**
29
- * Callback cuando se hace click en Cancel
30
- */
31
- onCancel?: () => void;
32
-
33
- /**
34
- * Callback cuando se hace click en Confirm
35
- */
36
- onConfirm?: () => void;
37
-
38
- /**
39
- * Texto del botón de cancelar
40
- * @default "Cancelar"
41
- */
42
- cancelText?: string;
43
-
44
- /**
45
- * Texto del botón de confirmar
46
- * @default "Confirmar"
47
- */
48
- confirmText?: string;
49
-
50
- /**
51
- * Clases CSS adicionales
52
- */
53
- className?: string;
54
- }
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+
3
+ /**
4
+ * Props del componente Alert
5
+ */
6
+ export interface AlertProps extends HTMLAttributes<HTMLDivElement> {
7
+ /**
8
+ * Título del alert (texto principal en negrita)
9
+ */
10
+ title: string;
11
+
12
+ /**
13
+ * Descripción opcional (texto secundario)
14
+ */
15
+ description?: string;
16
+
17
+ /**
18
+ * Contenido opcional del body (por ejemplo, input, placeholder, etc.)
19
+ */
20
+ children?: ReactNode;
21
+
22
+ /**
23
+ * Botones de acción personalizados
24
+ * Si no se proveen, se mostrarán los botones por defecto (Cancel/Confirm)
25
+ */
26
+ actions?: ReactNode;
27
+
28
+ /**
29
+ * Callback cuando se hace click en Cancel
30
+ */
31
+ onCancel?: () => void;
32
+
33
+ /**
34
+ * Callback cuando se hace click en Confirm
35
+ */
36
+ onConfirm?: () => void;
37
+
38
+ /**
39
+ * Texto del botón de cancelar
40
+ * @default "Cancelar"
41
+ */
42
+ cancelText?: string;
43
+
44
+ /**
45
+ * Texto del botón de confirmar
46
+ * @default "Confirmar"
47
+ */
48
+ confirmText?: string;
49
+
50
+ /**
51
+ * Clases CSS adicionales
52
+ */
53
+ className?: string;
54
+ }
@@ -1,143 +1,143 @@
1
- import { forwardRef } from 'react';
2
- import type { AvatarProps } from './Avatar.types';
3
-
4
- /**
5
- * Avatar - Componente de avatar del sistema de diseño Siesa
6
- *
7
- * Componente para mostrar imágenes de usuario o iniciales con soporte para:
8
- * - Tamaños: 4 (20px), 6 (24px), 8 (32px), 10 (40px)
9
- * - Tipos: circular (completamente redondo) y rounded (esquinas redondeadas)
10
- * - Imagen o iniciales
11
- * - Dark mode completo
12
- *
13
- * Mejores prácticas implementadas:
14
- * - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
15
- * - Dark mode con estrategia 'class' (darkMode: 'class')
16
- * - Tokens de color consistentes con la documentación
17
- * - Tipografía adaptativa según tamaño
18
- * - Type safety con TypeScript estricto
19
- *
20
- * @see docs/colors.md - Sistema de colores
21
- * @see docs/typography.md - Sistema tipográfico
22
- * @see docs/spacing.md - Sistema de espaciado
23
- *
24
- * @example
25
- * ```tsx
26
- * // Con imagen
27
- * <Avatar
28
- * src="/path/to/image.jpg"
29
- * alt="John Doe"
30
- * size="10"
31
- * type="circular"
32
- * />
33
- *
34
- * // Con iniciales
35
- * <Avatar
36
- * initials="JD"
37
- * size="10"
38
- * type="circular"
39
- * />
40
- * ```
41
- */
42
- export const Avatar = forwardRef<HTMLDivElement, AvatarProps>(
43
- (
44
- {
45
- size = '10',
46
- type = 'circular',
47
- src,
48
- alt = '',
49
- initials,
50
- className = '',
51
- ...props
52
- },
53
- ref
54
- ) => {
55
- // ===== CLASES DE TAMAÑO =====
56
- // Tamaño del contenedor del avatar
57
- const containerSizeClasses = {
58
- '4': 'w-5 h-5',
59
- '6': 'w-6 h-6',
60
- '8': 'w-8 h-8',
61
- '10': 'w-10 h-10',
62
- };
63
-
64
- // ===== CLASES DE TEXTO =====
65
- // Tamaño de texto para iniciales (basado en sistema tipográfico)
66
- const textSizeClasses = {
67
- '4': 'text-xs', // 12px - Paragraph Tiny
68
- '6': 'text-xs', // 12px - Paragraph Tiny
69
- '8': 'text-sm', // 14px - Paragraph Small
70
- '10': 'text-base', // 16px - Paragraph Base
71
- };
72
-
73
- // ===== CLASES DE TIPO (Forma) =====
74
- const typeClasses = {
75
- circular: 'rounded-full',
76
- rounded: 'rounded-md',
77
- };
78
-
79
- // ===== CLASES BASE =====
80
- const baseClasses = `
81
- relative
82
- inline-flex
83
- items-center
84
- justify-center
85
- overflow-hidden
86
- ${containerSizeClasses[size]}
87
- ${typeClasses[type]}
88
- `;
89
-
90
- // Si hay imagen, mostrarla
91
- if (src) {
92
- return (
93
- <div
94
- ref={ref}
95
- className={`${baseClasses} ${className}`.trim().replace(/\s+/g, ' ')}
96
- >
97
- <img
98
- src={src}
99
- alt={alt}
100
- className="w-full h-full object-cover"
101
- {...(props as any)}
102
- />
103
- </div>
104
- );
105
- }
106
-
107
- // Si hay iniciales, mostrarlas
108
- if (initials) {
109
- return (
110
- <div
111
- ref={ref}
112
- className={`
113
- ${baseClasses}
114
- ${textSizeClasses[size]}
115
- bg-content-primary
116
- text-white
117
- font-normal
118
- dark:bg-dark-bg-inverse
119
- dark:text-dark-content-inverse
120
- ${className}
121
- `.trim().replace(/\s+/g, ' ')}
122
- >
123
- <span className="leading-none">{initials}</span>
124
- </div>
125
- );
126
- }
127
-
128
- // Fallback: avatar vacío
129
- return (
130
- <div
131
- ref={ref}
132
- className={`
133
- ${baseClasses}
134
- bg-background-secondary
135
- dark:bg-dark-bg-primary
136
- ${className}
137
- `.trim().replace(/\s+/g, ' ')}
138
- />
139
- );
140
- }
141
- );
142
-
143
- Avatar.displayName = 'Avatar';
1
+ import { forwardRef } from 'react';
2
+ import type { AvatarProps } from './Avatar.types';
3
+
4
+ /**
5
+ * Avatar - Componente de avatar del sistema de diseño Siesa
6
+ *
7
+ * Componente para mostrar imágenes de usuario o iniciales con soporte para:
8
+ * - Tamaños: 4 (20px), 6 (24px), 8 (32px), 10 (40px)
9
+ * - Tipos: circular (completamente redondo) y rounded (esquinas redondeadas)
10
+ * - Imagen o iniciales
11
+ * - Dark mode completo
12
+ *
13
+ * Mejores prácticas implementadas:
14
+ * - Orden de modificadores: {responsive}:{dark}:{state}:{utility}
15
+ * - Dark mode con estrategia 'class' (darkMode: 'class')
16
+ * - Tokens de color consistentes con la documentación
17
+ * - Tipografía adaptativa según tamaño
18
+ * - Type safety con TypeScript estricto
19
+ *
20
+ * @see docs/colors.md - Sistema de colores
21
+ * @see docs/typography.md - Sistema tipográfico
22
+ * @see docs/spacing.md - Sistema de espaciado
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Con imagen
27
+ * <Avatar
28
+ * src="/path/to/image.jpg"
29
+ * alt="John Doe"
30
+ * size="10"
31
+ * type="circular"
32
+ * />
33
+ *
34
+ * // Con iniciales
35
+ * <Avatar
36
+ * initials="JD"
37
+ * size="10"
38
+ * type="circular"
39
+ * />
40
+ * ```
41
+ */
42
+ export const Avatar = forwardRef<HTMLDivElement, AvatarProps>(
43
+ (
44
+ {
45
+ size = '10',
46
+ type = 'circular',
47
+ src,
48
+ alt = '',
49
+ initials,
50
+ className = '',
51
+ ...props
52
+ },
53
+ ref
54
+ ) => {
55
+ // ===== CLASES DE TAMAÑO =====
56
+ // Tamaño del contenedor del avatar
57
+ const containerSizeClasses = {
58
+ '4': 'w-5 h-5',
59
+ '6': 'w-6 h-6',
60
+ '8': 'w-8 h-8',
61
+ '10': 'w-10 h-10',
62
+ };
63
+
64
+ // ===== CLASES DE TEXTO =====
65
+ // Tamaño de texto para iniciales (basado en sistema tipográfico)
66
+ const textSizeClasses = {
67
+ '4': 'text-xs', // 12px - Paragraph Tiny
68
+ '6': 'text-xs', // 12px - Paragraph Tiny
69
+ '8': 'text-sm', // 14px - Paragraph Small
70
+ '10': 'text-base', // 16px - Paragraph Base
71
+ };
72
+
73
+ // ===== CLASES DE TIPO (Forma) =====
74
+ const typeClasses = {
75
+ circular: 'rounded-full',
76
+ rounded: 'rounded-md',
77
+ };
78
+
79
+ // ===== CLASES BASE =====
80
+ const baseClasses = `
81
+ relative
82
+ inline-flex
83
+ items-center
84
+ justify-center
85
+ overflow-hidden
86
+ ${containerSizeClasses[size]}
87
+ ${typeClasses[type]}
88
+ `;
89
+
90
+ // Si hay imagen, mostrarla
91
+ if (src) {
92
+ return (
93
+ <div
94
+ ref={ref}
95
+ className={`${baseClasses} ${className}`.trim().replace(/\s+/g, ' ')}
96
+ >
97
+ <img
98
+ src={src}
99
+ alt={alt}
100
+ className="w-full h-full object-cover"
101
+ {...(props as any)}
102
+ />
103
+ </div>
104
+ );
105
+ }
106
+
107
+ // Si hay iniciales, mostrarlas
108
+ if (initials) {
109
+ return (
110
+ <div
111
+ ref={ref}
112
+ className={`
113
+ ${baseClasses}
114
+ ${textSizeClasses[size]}
115
+ bg-content-primary
116
+ text-white
117
+ font-normal
118
+ dark:bg-dark-bg-inverse
119
+ dark:text-dark-content-inverse
120
+ ${className}
121
+ `.trim().replace(/\s+/g, ' ')}
122
+ >
123
+ <span className="leading-none">{initials}</span>
124
+ </div>
125
+ );
126
+ }
127
+
128
+ // Fallback: avatar vacío
129
+ return (
130
+ <div
131
+ ref={ref}
132
+ className={`
133
+ ${baseClasses}
134
+ bg-background-secondary
135
+ dark:bg-dark-bg-primary
136
+ ${className}
137
+ `.trim().replace(/\s+/g, ' ')}
138
+ />
139
+ );
140
+ }
141
+ );
142
+
143
+ Avatar.displayName = 'Avatar';