siesa-ui-kit 1.0.2 → 1.0.4

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 (189) hide show
  1. package/README.md +115 -115
  2. package/bin/install.cjs +502 -502
  3. package/bin/prepare-publish.cjs +28 -28
  4. package/bin/restore-folders.cjs +28 -28
  5. package/claude/agents/siesa-ui-kit-specialist.md +2445 -0
  6. package/claude/prompts/component-template.md +121 -0
  7. package/claude/prompts/siesa-ui-kit.md +28 -0
  8. package/claude/settings.local.json +67 -2
  9. package/dist/components/Button/icons.d.ts +6 -5
  10. package/dist/components/Button/icons.d.ts.map +1 -1
  11. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -1
  12. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +21 -0
  13. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -1
  14. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts +122 -0
  15. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts.map +1 -0
  16. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts +139 -0
  17. package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts.map +1 -0
  18. package/dist/components/NavigationRailCommercial/icons.d.ts +33 -0
  19. package/dist/components/NavigationRailCommercial/icons.d.ts.map +1 -0
  20. package/dist/components/NavigationRailCommercial/index.d.ts +4 -0
  21. package/dist/components/NavigationRailCommercial/index.d.ts.map +1 -0
  22. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -1
  23. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +7 -0
  24. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -1
  25. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -1
  26. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +41 -0
  27. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -1
  28. package/dist/components/NavigationRailTypes/icons.d.ts +15 -29
  29. package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -1
  30. package/dist/components/Select/Select.d.ts.map +1 -1
  31. package/dist/components/Select/icons.d.ts +6 -2
  32. package/dist/components/Select/icons.d.ts.map +1 -1
  33. package/dist/index.d.ts +32 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/siesa-ui-kit.cjs +404 -190
  36. package/dist/siesa-ui-kit.cjs.map +1 -1
  37. package/dist/siesa-ui-kit.mjs +6590 -1506
  38. package/dist/siesa-ui-kit.mjs.map +1 -1
  39. package/dist/views/LayoutCommercial/LayoutCommercial.d.ts +48 -0
  40. package/dist/views/LayoutCommercial/LayoutCommercial.d.ts.map +1 -0
  41. package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts +49 -0
  42. package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts.map +1 -0
  43. package/dist/views/LayoutCommercial/index.d.ts +3 -0
  44. package/dist/views/LayoutCommercial/index.d.ts.map +1 -0
  45. package/docs/icons.md +12 -31
  46. package/package.json +111 -110
  47. package/src/components/Avatar/Avatar.stories.tsx +494 -494
  48. package/src/components/Button/Button.stories.tsx +950 -950
  49. package/src/components/Button/Button.tsx +337 -337
  50. package/src/components/Button/Button.types.ts +180 -180
  51. package/src/components/Button/icons.tsx +23 -62
  52. package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -250
  53. package/src/components/Divider/Divider.stories.tsx +263 -263
  54. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +317 -317
  55. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +307 -287
  56. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +136 -111
  57. package/src/components/DropdownItemCollapsible/README.md +264 -264
  58. package/src/components/DropdownItemCollapsible/icons.tsx +57 -57
  59. package/src/components/DropdownItemCollapsible/index.ts +12 -12
  60. package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +386 -386
  61. package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +216 -216
  62. package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +93 -93
  63. package/src/components/DropdownItemHeading/README.md +573 -573
  64. package/src/components/DropdownItemHeading/icons.tsx +125 -125
  65. package/src/components/DropdownItemHeading/index.ts +3 -3
  66. package/src/components/Input/Input.stories.tsx +583 -583
  67. package/src/components/LoginView/LoginView.stories.tsx +148 -148
  68. package/src/components/LoginView/LoginView.tsx +426 -426
  69. package/src/components/LoginView/LoginView.types.ts +52 -52
  70. package/src/components/LoginView/README.md +396 -396
  71. package/src/components/LoginView/icons.tsx +85 -85
  72. package/src/components/LoginView/index.ts +3 -3
  73. package/src/components/Navbar/Navbar.stories.tsx +810 -810
  74. package/src/components/Navbar/Navbar.tsx +755 -755
  75. package/src/components/Navbar/Navbar.types.ts +219 -219
  76. package/src/components/Navbar/README.md +279 -279
  77. package/src/components/Navbar/index.ts +8 -8
  78. package/src/components/NavigationRailCommercial/NavigationRailCommercial.stories.tsx +464 -0
  79. package/src/components/NavigationRailCommercial/NavigationRailCommercial.tsx +301 -0
  80. package/src/components/NavigationRailCommercial/NavigationRailCommercial.types.ts +162 -0
  81. package/src/components/NavigationRailCommercial/README.md +251 -0
  82. package/src/components/NavigationRailCommercial/icons.tsx +54 -0
  83. package/src/components/NavigationRailCommercial/index.ts +6 -0
  84. package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +667 -667
  85. package/src/components/NavigationRailItem/NavigationRailItem.tsx +314 -313
  86. package/src/components/NavigationRailItem/NavigationRailItem.types.ts +175 -167
  87. package/src/components/NavigationRailItem/README.md +476 -476
  88. package/src/components/NavigationRailItem/index.ts +2 -2
  89. package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +462 -462
  90. package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +332 -332
  91. package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +178 -178
  92. package/src/components/NavigationRailPanel/README.md +461 -461
  93. package/src/components/NavigationRailPanel/index.ts +6 -6
  94. package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +682 -528
  95. package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +363 -378
  96. package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +178 -130
  97. package/src/components/NavigationRailTypes/README.md +573 -573
  98. package/src/components/NavigationRailTypes/icons.tsx +76 -141
  99. package/src/components/NavigationRailTypes/index.ts +7 -7
  100. package/src/components/Notification/Notification.stories.tsx +513 -513
  101. package/src/components/Notification/Notification.tsx +145 -145
  102. package/src/components/Notification/Notification.types.ts +142 -142
  103. package/src/components/Notification/README.md +409 -409
  104. package/src/components/POSConvention/POSConvention.stories.tsx +235 -235
  105. package/src/components/POSConvention/POSConvention.tsx +129 -129
  106. package/src/components/POSConvention/POSConvention.types.ts +38 -38
  107. package/src/components/POSConvention/README.md +123 -123
  108. package/src/components/POSConvention/icons.tsx +45 -45
  109. package/src/components/POSConvention/index.ts +3 -3
  110. package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -531
  111. package/src/components/POSLocationButton/POSLocationButton.tsx +247 -247
  112. package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -87
  113. package/src/components/POSLocationButton/README.md +253 -253
  114. package/src/components/POSLocationButton/icons.tsx +120 -120
  115. package/src/components/POSLocationButton/index.ts +14 -14
  116. package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -415
  117. package/src/components/POSNumberButton/POSNumberButton.tsx +179 -179
  118. package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -51
  119. package/src/components/POSNumberButton/README.md +321 -321
  120. package/src/components/POSNumberButton/index.ts +3 -3
  121. package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -318
  122. package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -642
  123. package/src/components/POSProductCard/POSProductCard.tsx +208 -208
  124. package/src/components/POSProductCard/POSProductCard.types.ts +76 -76
  125. package/src/components/POSProductCard/README.md +179 -179
  126. package/src/components/POSProductCard/icons.tsx +26 -26
  127. package/src/components/POSProductCard/index.ts +2 -2
  128. package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -753
  129. package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -332
  130. package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -119
  131. package/src/components/POSProductSidebarItems/README.md +198 -198
  132. package/src/components/POSProductSidebarItems/icons.tsx +21 -21
  133. package/src/components/POSProductSidebarItems/index.ts +3 -3
  134. package/src/components/POSTable/POSTable.stories.tsx +737 -737
  135. package/src/components/POSTable/POSTable.tsx +401 -401
  136. package/src/components/POSTable/README.md +286 -286
  137. package/src/components/Quantity/Quantity.stories.tsx +457 -457
  138. package/src/components/Radio/Radio.stories.tsx +523 -523
  139. package/src/components/Radio/Radio.tsx +1 -1
  140. package/src/components/Select/Select.stories.tsx +32 -0
  141. package/src/components/Select/Select.tsx +457 -454
  142. package/src/components/Select/icons.tsx +16 -41
  143. package/src/components/SignUpView/SignUpView.stories.tsx +129 -129
  144. package/src/components/SignUpView/SignUpView.tsx +503 -503
  145. package/src/components/SignUpView/SignUpView.types.ts +58 -58
  146. package/src/components/SignUpView/icons.tsx +71 -71
  147. package/src/components/SignUpView/index.ts +3 -3
  148. package/src/components/Switch/README.md +112 -112
  149. package/src/components/Switch/Switch.stories.tsx +550 -550
  150. package/src/components/Switch/Switch.tsx +246 -246
  151. package/src/components/Switch/Switch.types.ts +67 -67
  152. package/src/components/Table/Table.stories.tsx +805 -805
  153. package/src/components/Tabs/README.md +201 -201
  154. package/src/components/Tabs/Tabs.stories.tsx +580 -580
  155. package/src/components/Tabs/Tabs.tsx +356 -356
  156. package/src/components/Tabs/Tabs.types.ts +127 -127
  157. package/src/components/Tabs/icons.tsx +129 -129
  158. package/src/components/Tabs/index.ts +11 -11
  159. package/src/components/Textarea/Textarea.stories.tsx +535 -535
  160. package/src/index.ts +133 -102
  161. package/src/views/LayoutCommercial/LayoutCommercial.stories.tsx +374 -0
  162. package/src/views/LayoutCommercial/LayoutCommercial.tsx +125 -0
  163. package/src/views/LayoutCommercial/LayoutCommercial.types.ts +54 -0
  164. package/src/views/LayoutCommercial/README.md +286 -0
  165. package/src/views/LayoutCommercial/index.ts +2 -0
  166. package/src/views/ListView/ListView.stories.tsx +329 -329
  167. package/src/views/ListView/ListView.tsx +570 -570
  168. package/src/views/ListView/ListView.types.ts +211 -211
  169. package/src/views/ListView/icons.tsx +282 -282
  170. package/src/views/ListView/index.ts +11 -11
  171. package/src/views/LoginView/LoginView.tsx +426 -426
  172. package/src/views/ProductsView/ProductsView.stories.tsx +344 -344
  173. package/src/views/ProductsView/ProductsView.tsx +480 -480
  174. package/src/views/ProductsView/ProductsView.types.ts +238 -238
  175. package/src/views/ProductsView/README.md +312 -312
  176. package/src/views/ProductsView/icons.tsx +38 -38
  177. package/src/views/ProductsView/index.ts +8 -8
  178. package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -376
  179. package/src/views/SignUpView/SignUpView.tsx +503 -503
  180. package/src/views/TableLayoutView/README.md +268 -268
  181. package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -235
  182. package/src/views/TableLayoutView/TableLayoutView.tsx +461 -461
  183. package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -209
  184. package/src/views/TableLayoutView/icons.tsx +113 -113
  185. package/src/views/TableLayoutView/index.ts +6 -6
  186. package/storybook/main.ts +19 -19
  187. package/storybook/preview.tsx +84 -84
  188. package/storybook/vitest.setup.ts +6 -6
  189. package/tailwind.config.js +128 -128
@@ -1,58 +1,58 @@
1
- /**
2
- * Props del componente SignUpView
3
- */
4
- export interface SignUpViewProps {
5
- /**
6
- * Handler para el submit del formulario de registro
7
- * @param name - Nombre ingresado por el usuario
8
- * @param email - Email ingresado por el usuario
9
- * @param password - Contraseña ingresada por el usuario
10
- */
11
- onSubmit?: (name: string, email: string, password: string) => void;
12
-
13
- /**
14
- * Handler para el click en "Ya tengo una cuenta"
15
- */
16
- onSignIn?: () => void;
17
-
18
- /**
19
- * Handler para el click en "Condiciones de Uso"
20
- */
21
- onTermsClick?: () => void;
22
-
23
- /**
24
- * Handler para el click en "Políticas de Privacidad"
25
- */
26
- onPrivacyClick?: () => void;
27
-
28
- /**
29
- * Estado de carga del botón de submit
30
- * @default false
31
- */
32
- isLoading?: boolean;
33
-
34
- /**
35
- * Mensaje de error general para mostrar en el formulario
36
- */
37
- errorMessage?: string;
38
-
39
- /**
40
- * Clases CSS adicionales para el contenedor
41
- */
42
- className?: string;
43
-
44
- /**
45
- * Si se muestra el fondo decorativo con imagen
46
- * @default true
47
- */
48
- showBackground?: boolean;
49
-
50
- /**
51
- * Variante de visualización
52
- * - 'responsive': Se adapta según el viewport (default)
53
- * - 'mobile': Siempre se muestra como mobile sin efectos de card
54
- * - 'desktop': Siempre se muestra como desktop con card
55
- * @default 'responsive'
56
- */
57
- variant?: 'responsive' | 'mobile' | 'desktop';
58
- }
1
+ /**
2
+ * Props del componente SignUpView
3
+ */
4
+ export interface SignUpViewProps {
5
+ /**
6
+ * Handler para el submit del formulario de registro
7
+ * @param name - Nombre ingresado por el usuario
8
+ * @param email - Email ingresado por el usuario
9
+ * @param password - Contraseña ingresada por el usuario
10
+ */
11
+ onSubmit?: (name: string, email: string, password: string) => void;
12
+
13
+ /**
14
+ * Handler para el click en "Ya tengo una cuenta"
15
+ */
16
+ onSignIn?: () => void;
17
+
18
+ /**
19
+ * Handler para el click en "Condiciones de Uso"
20
+ */
21
+ onTermsClick?: () => void;
22
+
23
+ /**
24
+ * Handler para el click en "Políticas de Privacidad"
25
+ */
26
+ onPrivacyClick?: () => void;
27
+
28
+ /**
29
+ * Estado de carga del botón de submit
30
+ * @default false
31
+ */
32
+ isLoading?: boolean;
33
+
34
+ /**
35
+ * Mensaje de error general para mostrar en el formulario
36
+ */
37
+ errorMessage?: string;
38
+
39
+ /**
40
+ * Clases CSS adicionales para el contenedor
41
+ */
42
+ className?: string;
43
+
44
+ /**
45
+ * Si se muestra el fondo decorativo con imagen
46
+ * @default true
47
+ */
48
+ showBackground?: boolean;
49
+
50
+ /**
51
+ * Variante de visualización
52
+ * - 'responsive': Se adapta según el viewport (default)
53
+ * - 'mobile': Siempre se muestra como mobile sin efectos de card
54
+ * - 'desktop': Siempre se muestra como desktop con card
55
+ * @default 'responsive'
56
+ */
57
+ variant?: 'responsive' | 'mobile' | 'desktop';
58
+ }
@@ -1,71 +1,71 @@
1
- import React from 'react';
2
-
3
- /**
4
- * Icono de círculo de usuario para el input de nombre
5
- */
6
- export const UserCircleIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
7
- <svg
8
- xmlns="http://www.w3.org/2000/svg"
9
- viewBox="0 0 16 16"
10
- fill="currentColor"
11
- {...props}
12
- >
13
- <path
14
- fillRule="evenodd"
15
- d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-5-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 9c-1.825 0-3.422.977-4.295 2.437A5.49 5.49 0 0 0 8 13.5a5.49 5.49 0 0 0 4.294-2.063A4.997 4.997 0 0 0 8 9Z"
16
- clipRule="evenodd"
17
- />
18
- </svg>
19
- );
20
-
21
- /**
22
- * Icono de sobre (envelope) para el input de email
23
- */
24
- export const EnvelopeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
25
- <svg
26
- xmlns="http://www.w3.org/2000/svg"
27
- viewBox="0 0 16 16"
28
- fill="currentColor"
29
- {...props}
30
- >
31
- <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" />
32
- <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" />
33
- </svg>
34
- );
35
-
36
- /**
37
- * Icono de candado cerrado (lock) para el input de contraseña
38
- */
39
- export const LockClosedIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
40
- <svg
41
- xmlns="http://www.w3.org/2000/svg"
42
- viewBox="0 0 16 16"
43
- fill="currentColor"
44
- {...props}
45
- >
46
- <path
47
- fillRule="evenodd"
48
- d="M8 1a3.5 3.5 0 0 0-3.5 3.5V7A1.5 1.5 0 0 0 3 8.5v5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 11.5 7V4.5A3.5 3.5 0 0 0 8 1Zm2 6V4.5a2 2 0 1 0-4 0V7h4Z"
49
- clipRule="evenodd"
50
- />
51
- </svg>
52
- );
53
-
54
- /**
55
- * Icono de ojo (eye) para mostrar/ocultar contraseña
56
- */
57
- export const EyeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
58
- <svg
59
- xmlns="http://www.w3.org/2000/svg"
60
- viewBox="0 0 16 16"
61
- fill="currentColor"
62
- {...props}
63
- >
64
- <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" />
65
- <path
66
- fillRule="evenodd"
67
- d="M1.38 8.28a.87.87 0 0 1 0-.566 7.003 7.003 0 0 1 13.238.006.87.87 0 0 1 0 .56A7.003 7.003 0 0 1 1.379 8.28ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
68
- clipRule="evenodd"
69
- />
70
- </svg>
71
- );
1
+ import React from 'react';
2
+
3
+ /**
4
+ * Icono de círculo de usuario para el input de nombre
5
+ */
6
+ export const UserCircleIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
7
+ <svg
8
+ xmlns="http://www.w3.org/2000/svg"
9
+ viewBox="0 0 16 16"
10
+ fill="currentColor"
11
+ {...props}
12
+ >
13
+ <path
14
+ fillRule="evenodd"
15
+ d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0Zm-5-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 9c-1.825 0-3.422.977-4.295 2.437A5.49 5.49 0 0 0 8 13.5a5.49 5.49 0 0 0 4.294-2.063A4.997 4.997 0 0 0 8 9Z"
16
+ clipRule="evenodd"
17
+ />
18
+ </svg>
19
+ );
20
+
21
+ /**
22
+ * Icono de sobre (envelope) para el input de email
23
+ */
24
+ export const EnvelopeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
25
+ <svg
26
+ xmlns="http://www.w3.org/2000/svg"
27
+ viewBox="0 0 16 16"
28
+ fill="currentColor"
29
+ {...props}
30
+ >
31
+ <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" />
32
+ <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" />
33
+ </svg>
34
+ );
35
+
36
+ /**
37
+ * Icono de candado cerrado (lock) para el input de contraseña
38
+ */
39
+ export const LockClosedIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
40
+ <svg
41
+ xmlns="http://www.w3.org/2000/svg"
42
+ viewBox="0 0 16 16"
43
+ fill="currentColor"
44
+ {...props}
45
+ >
46
+ <path
47
+ fillRule="evenodd"
48
+ d="M8 1a3.5 3.5 0 0 0-3.5 3.5V7A1.5 1.5 0 0 0 3 8.5v5A1.5 1.5 0 0 0 4.5 15h7a1.5 1.5 0 0 0 1.5-1.5v-5A1.5 1.5 0 0 0 11.5 7V4.5A3.5 3.5 0 0 0 8 1Zm2 6V4.5a2 2 0 1 0-4 0V7h4Z"
49
+ clipRule="evenodd"
50
+ />
51
+ </svg>
52
+ );
53
+
54
+ /**
55
+ * Icono de ojo (eye) para mostrar/ocultar contraseña
56
+ */
57
+ export const EyeIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
58
+ <svg
59
+ xmlns="http://www.w3.org/2000/svg"
60
+ viewBox="0 0 16 16"
61
+ fill="currentColor"
62
+ {...props}
63
+ >
64
+ <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z" />
65
+ <path
66
+ fillRule="evenodd"
67
+ d="M1.38 8.28a.87.87 0 0 1 0-.566 7.003 7.003 0 0 1 13.238.006.87.87 0 0 1 0 .56A7.003 7.003 0 0 1 1.379 8.28ZM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"
68
+ clipRule="evenodd"
69
+ />
70
+ </svg>
71
+ );
@@ -1,3 +1,3 @@
1
- export { SignUpView } from './SignUpView';
2
- export type { SignUpViewProps } from './SignUpView.types';
3
- export { UserCircleIcon, EnvelopeIcon, LockClosedIcon, EyeIcon } from './icons';
1
+ export { SignUpView } from './SignUpView';
2
+ export type { SignUpViewProps } from './SignUpView.types';
3
+ export { UserCircleIcon, EnvelopeIcon, LockClosedIcon, EyeIcon } from './icons';
@@ -1,112 +1,112 @@
1
- # Switch
2
-
3
- Componente de switch del sistema de diseño Siesa para activación/desactivación de opciones.
4
-
5
- ## Uso Básico
6
-
7
- ```tsx
8
- import { Switch } from './Switch';
9
-
10
- // Switch simple (label a la izquierda - default)
11
- <Switch
12
- label="Activar notificaciones"
13
- checked={isEnabled}
14
- onChange={(e) => setIsEnabled(e.target.checked)}
15
- />
16
-
17
- // Con descripción
18
- <Switch
19
- label="Permitir inserción"
20
- description="Permite que otros inserten los detalles de tu evento en su propio sitio."
21
- checked={isEnabled}
22
- onChange={(e) => setIsEnabled(e.target.checked)}
23
- />
24
-
25
- // Label a la derecha (trailing)
26
- <Switch
27
- label="Activar notificaciones"
28
- labelPosition="trailing"
29
- checked={isEnabled}
30
- onChange={(e) => setIsEnabled(e.target.checked)}
31
- />
32
- ```
33
-
34
- ## Props
35
-
36
- | Prop | Tipo | Default | Descripción |
37
- |------|------|---------|-------------|
38
- | `label` | `string` | - | Etiqueta del switch |
39
- | `description` | `string` | - | Descripción debajo del label |
40
- | `labelPosition` | `'leading' \| 'trailing'` | `'leading'` | Posición del label respecto al switch |
41
- | `checked` | `boolean` | `false` | Si el switch está activado |
42
- | `disabled` | `boolean` | `false` | Si el switch está deshabilitado |
43
- | `onChange` | `(e: ChangeEvent) => void` | - | Callback cuando cambia el estado |
44
- | `ariaLabel` | `string` | - | Label para accesibilidad (ARIA) |
45
- | `className` | `string` | `''` | Clases CSS adicionales |
46
-
47
- ## Posición del Label
48
-
49
- El componente soporta dos posiciones para el label:
50
-
51
- - **leading** (default): Label a la izquierda, switch a la derecha
52
- - **trailing**: Switch a la izquierda, label a la derecha
53
-
54
- ```tsx
55
- // Leading (default)
56
- <Switch label="Opción" labelPosition="leading" />
57
- // Resultado: [Label] [Switch]
58
-
59
- // Trailing
60
- <Switch label="Opción" labelPosition="trailing" />
61
- // Resultado: [Switch] [Label]
62
- ```
63
-
64
- ## Estados
65
-
66
- El switch soporta los siguientes estados:
67
-
68
- - **Default OFF**: Fondo `#fafafa`, borde `#e4e4e7`
69
- - **Default ON**: Fondo `#0e79fd`, borde `#3c9bf6`
70
- - **Hover OFF**: Borde cambia a `#b6b6b9`
71
- - **Hover ON**: Borde cambia a `#307cc5`
72
- - **Focus**: Shadow ring con `#60b6fa` (4px) + `#dbeefe` (2px)
73
- - **Disabled**: Opacidad 50%
74
-
75
- ## Dark Mode
76
-
77
- El componente tiene soporte completo para dark mode:
78
-
79
- - **Track OFF Dark**: Fondo `#18181b`, borde `#71717a`
80
- - **Track ON Dark**: Fondo `#0e79fd`, borde `#3c9bf6`
81
- - **Focus Dark**: Mismo shadow ring que light mode
82
-
83
- ## Dimensiones
84
-
85
- - **Track**: 32x20px
86
- - **Button**: 16x16px
87
- - **Border radius**: 12px (rounded-xl)
88
- - **Posición OFF**: left 1px
89
- - **Posición ON**: left 13px
90
-
91
- ## Accesibilidad
92
-
93
- - Usa un `<input type="checkbox">` nativo oculto para accesibilidad
94
- - Soporte completo de teclado (Tab, Space)
95
- - `aria-label` configurable
96
- - Labels clicables para mejor UX
97
-
98
- ## Archivos
99
-
100
- ```
101
- Switch/
102
- ├── Switch.tsx # Componente principal
103
- ├── Switch.types.ts # TypeScript types
104
- ├── Switch.stories.tsx # Storybook stories
105
- ├── index.ts # Exports
106
- └── README.md # Documentación
107
- ```
108
-
109
- ## Referencias
110
-
111
- - **Figma**: [Switch Component](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4028-7829)
112
- - **Docs**: `docs/colors.md`, `docs/typography.md`
1
+ # Switch
2
+
3
+ Componente de switch del sistema de diseño Siesa para activación/desactivación de opciones.
4
+
5
+ ## Uso Básico
6
+
7
+ ```tsx
8
+ import { Switch } from './Switch';
9
+
10
+ // Switch simple (label a la izquierda - default)
11
+ <Switch
12
+ label="Activar notificaciones"
13
+ checked={isEnabled}
14
+ onChange={(e) => setIsEnabled(e.target.checked)}
15
+ />
16
+
17
+ // Con descripción
18
+ <Switch
19
+ label="Permitir inserción"
20
+ description="Permite que otros inserten los detalles de tu evento en su propio sitio."
21
+ checked={isEnabled}
22
+ onChange={(e) => setIsEnabled(e.target.checked)}
23
+ />
24
+
25
+ // Label a la derecha (trailing)
26
+ <Switch
27
+ label="Activar notificaciones"
28
+ labelPosition="trailing"
29
+ checked={isEnabled}
30
+ onChange={(e) => setIsEnabled(e.target.checked)}
31
+ />
32
+ ```
33
+
34
+ ## Props
35
+
36
+ | Prop | Tipo | Default | Descripción |
37
+ |------|------|---------|-------------|
38
+ | `label` | `string` | - | Etiqueta del switch |
39
+ | `description` | `string` | - | Descripción debajo del label |
40
+ | `labelPosition` | `'leading' \| 'trailing'` | `'leading'` | Posición del label respecto al switch |
41
+ | `checked` | `boolean` | `false` | Si el switch está activado |
42
+ | `disabled` | `boolean` | `false` | Si el switch está deshabilitado |
43
+ | `onChange` | `(e: ChangeEvent) => void` | - | Callback cuando cambia el estado |
44
+ | `ariaLabel` | `string` | - | Label para accesibilidad (ARIA) |
45
+ | `className` | `string` | `''` | Clases CSS adicionales |
46
+
47
+ ## Posición del Label
48
+
49
+ El componente soporta dos posiciones para el label:
50
+
51
+ - **leading** (default): Label a la izquierda, switch a la derecha
52
+ - **trailing**: Switch a la izquierda, label a la derecha
53
+
54
+ ```tsx
55
+ // Leading (default)
56
+ <Switch label="Opción" labelPosition="leading" />
57
+ // Resultado: [Label] [Switch]
58
+
59
+ // Trailing
60
+ <Switch label="Opción" labelPosition="trailing" />
61
+ // Resultado: [Switch] [Label]
62
+ ```
63
+
64
+ ## Estados
65
+
66
+ El switch soporta los siguientes estados:
67
+
68
+ - **Default OFF**: Fondo `#fafafa`, borde `#e4e4e7`
69
+ - **Default ON**: Fondo `#0e79fd`, borde `#3c9bf6`
70
+ - **Hover OFF**: Borde cambia a `#b6b6b9`
71
+ - **Hover ON**: Borde cambia a `#307cc5`
72
+ - **Focus**: Shadow ring con `#60b6fa` (4px) + `#dbeefe` (2px)
73
+ - **Disabled**: Opacidad 50%
74
+
75
+ ## Dark Mode
76
+
77
+ El componente tiene soporte completo para dark mode:
78
+
79
+ - **Track OFF Dark**: Fondo `#18181b`, borde `#71717a`
80
+ - **Track ON Dark**: Fondo `#0e79fd`, borde `#3c9bf6`
81
+ - **Focus Dark**: Mismo shadow ring que light mode
82
+
83
+ ## Dimensiones
84
+
85
+ - **Track**: 32x20px
86
+ - **Button**: 16x16px
87
+ - **Border radius**: 12px (rounded-xl)
88
+ - **Posición OFF**: left 1px
89
+ - **Posición ON**: left 13px
90
+
91
+ ## Accesibilidad
92
+
93
+ - Usa un `<input type="checkbox">` nativo oculto para accesibilidad
94
+ - Soporte completo de teclado (Tab, Space)
95
+ - `aria-label` configurable
96
+ - Labels clicables para mejor UX
97
+
98
+ ## Archivos
99
+
100
+ ```
101
+ Switch/
102
+ ├── Switch.tsx # Componente principal
103
+ ├── Switch.types.ts # TypeScript types
104
+ ├── Switch.stories.tsx # Storybook stories
105
+ ├── index.ts # Exports
106
+ └── README.md # Documentación
107
+ ```
108
+
109
+ ## Referencias
110
+
111
+ - **Figma**: [Switch Component](https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=4028-7829)
112
+ - **Docs**: `docs/colors.md`, `docs/typography.md`