siesa-ui-kit 1.0.2 → 1.0.3

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 (236) hide show
  1. package/package.json +2 -9
  2. package/claude/settings.local.json +0 -7
  3. package/docs/border-radius.md +0 -1261
  4. package/docs/colors.md +0 -832
  5. package/docs/dark-mode-guide.md +0 -1426
  6. package/docs/filters.md +0 -1243
  7. package/docs/icons.md +0 -1283
  8. package/docs/shadows.md +0 -1377
  9. package/docs/spacing.md +0 -1684
  10. package/docs/typography.md +0 -1268
  11. package/postcss.config.cjs +0 -6
  12. package/public/,Business Logo.png +0 -0
  13. package/public/.Siesa Logo.png +0 -0
  14. package/public/bg_siesa.png +0 -0
  15. package/public/siesa_logo_mobile.png +0 -0
  16. package/public/vite.svg +0 -1
  17. package/src/App.css +0 -42
  18. package/src/App.tsx +0 -8
  19. package/src/ButtonTest.tsx +0 -147
  20. package/src/assets/fonts/README.md +0 -261
  21. package/src/assets/fonts/SiesaBT/SiesaBT-Bold.otf +0 -0
  22. package/src/assets/fonts/SiesaBT/SiesaBT-Light.otf +0 -0
  23. package/src/assets/fonts/SiesaBT/SiesaBT-Regular.otf +0 -0
  24. package/src/assets/react.svg +0 -1
  25. package/src/components/Alert/Alert.stories.tsx +0 -332
  26. package/src/components/Alert/Alert.tsx +0 -106
  27. package/src/components/Alert/Alert.types.ts +0 -54
  28. package/src/components/Avatar/Avatar.stories.tsx +0 -494
  29. package/src/components/Avatar/Avatar.tsx +0 -143
  30. package/src/components/Avatar/Avatar.types.ts +0 -53
  31. package/src/components/Badge/Badge.stories.tsx +0 -339
  32. package/src/components/Badge/Badge.tsx +0 -278
  33. package/src/components/Badge/Badge.types.ts +0 -58
  34. package/src/components/Button/Button.stories.tsx +0 -950
  35. package/src/components/Button/Button.tsx +0 -337
  36. package/src/components/Button/Button.types.ts +0 -180
  37. package/src/components/Button/icons.tsx +0 -87
  38. package/src/components/Button/index.ts +0 -3
  39. package/src/components/Checkbox/Checkbox.stories.tsx +0 -453
  40. package/src/components/Checkbox/Checkbox.tsx +0 -208
  41. package/src/components/Checkbox/Checkbox.types.ts +0 -61
  42. package/src/components/DescriptionList/DescriptionList.stories.tsx +0 -250
  43. package/src/components/DescriptionList/DescriptionList.tsx +0 -96
  44. package/src/components/DescriptionList/DescriptionList.types.ts +0 -29
  45. package/src/components/Divider/Divider.stories.tsx +0 -263
  46. package/src/components/Divider/Divider.tsx +0 -80
  47. package/src/components/Divider/Divider.types.ts +0 -24
  48. package/src/components/Dropdown/Dropdown.stories.tsx +0 -552
  49. package/src/components/Dropdown/Dropdown.tsx +0 -422
  50. package/src/components/Dropdown/Dropdown.types.ts +0 -146
  51. package/src/components/Dropdown/README.md +0 -266
  52. package/src/components/Dropdown/icons.tsx +0 -72
  53. package/src/components/Dropdown/index.ts +0 -8
  54. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +0 -317
  55. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +0 -287
  56. package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +0 -111
  57. package/src/components/DropdownItemCollapsible/README.md +0 -264
  58. package/src/components/DropdownItemCollapsible/icons.tsx +0 -57
  59. package/src/components/DropdownItemCollapsible/index.ts +0 -12
  60. package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +0 -386
  61. package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +0 -216
  62. package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +0 -93
  63. package/src/components/DropdownItemHeading/README.md +0 -573
  64. package/src/components/DropdownItemHeading/icons.tsx +0 -125
  65. package/src/components/DropdownItemHeading/index.ts +0 -3
  66. package/src/components/Input/Input.stories.tsx +0 -583
  67. package/src/components/Input/Input.tsx +0 -204
  68. package/src/components/Input/Input.types.ts +0 -80
  69. package/src/components/Input/icons.tsx +0 -145
  70. package/src/components/Input/index.ts +0 -2
  71. package/src/components/LoginView/LoginView.stories.tsx +0 -148
  72. package/src/components/LoginView/LoginView.tsx +0 -426
  73. package/src/components/LoginView/LoginView.types.ts +0 -52
  74. package/src/components/LoginView/README.md +0 -396
  75. package/src/components/LoginView/icons.tsx +0 -85
  76. package/src/components/LoginView/index.ts +0 -3
  77. package/src/components/Navbar/Navbar.stories.tsx +0 -810
  78. package/src/components/Navbar/Navbar.tsx +0 -755
  79. package/src/components/Navbar/Navbar.types.ts +0 -219
  80. package/src/components/Navbar/README.md +0 -279
  81. package/src/components/Navbar/icons.tsx +0 -102
  82. package/src/components/Navbar/index.ts +0 -8
  83. package/src/components/NavigationBar/NavigationBar.stories.tsx +0 -406
  84. package/src/components/NavigationBar/NavigationBar.tsx +0 -246
  85. package/src/components/NavigationBar/NavigationBar.types.ts +0 -74
  86. package/src/components/NavigationBar/README.md +0 -469
  87. package/src/components/NavigationBar/index.ts +0 -2
  88. package/src/components/NavigationRail/NavigationRail.stories.tsx +0 -417
  89. package/src/components/NavigationRail/NavigationRail.tsx +0 -418
  90. package/src/components/NavigationRail/NavigationRail.types.ts +0 -109
  91. package/src/components/NavigationRail/README.md +0 -224
  92. package/src/components/NavigationRail/index.ts +0 -2
  93. package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +0 -667
  94. package/src/components/NavigationRailItem/NavigationRailItem.tsx +0 -313
  95. package/src/components/NavigationRailItem/NavigationRailItem.types.ts +0 -167
  96. package/src/components/NavigationRailItem/README.md +0 -476
  97. package/src/components/NavigationRailItem/index.ts +0 -2
  98. package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +0 -462
  99. package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +0 -332
  100. package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +0 -178
  101. package/src/components/NavigationRailPanel/README.md +0 -461
  102. package/src/components/NavigationRailPanel/index.ts +0 -6
  103. package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +0 -528
  104. package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +0 -378
  105. package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +0 -130
  106. package/src/components/NavigationRailTypes/README.md +0 -573
  107. package/src/components/NavigationRailTypes/icons.tsx +0 -141
  108. package/src/components/NavigationRailTypes/index.ts +0 -7
  109. package/src/components/Notification/Notification.stories.tsx +0 -513
  110. package/src/components/Notification/Notification.tsx +0 -145
  111. package/src/components/Notification/Notification.types.ts +0 -142
  112. package/src/components/Notification/README.md +0 -409
  113. package/src/components/Notification/index.ts +0 -3
  114. package/src/components/POSConvention/POSConvention.stories.tsx +0 -235
  115. package/src/components/POSConvention/POSConvention.tsx +0 -129
  116. package/src/components/POSConvention/POSConvention.types.ts +0 -38
  117. package/src/components/POSConvention/README.md +0 -123
  118. package/src/components/POSConvention/icons.tsx +0 -45
  119. package/src/components/POSConvention/index.ts +0 -3
  120. package/src/components/POSLocationButton/POSLocationButton.stories.tsx +0 -531
  121. package/src/components/POSLocationButton/POSLocationButton.tsx +0 -247
  122. package/src/components/POSLocationButton/POSLocationButton.types.ts +0 -87
  123. package/src/components/POSLocationButton/README.md +0 -253
  124. package/src/components/POSLocationButton/icons.tsx +0 -120
  125. package/src/components/POSLocationButton/index.ts +0 -14
  126. package/src/components/POSNumberButton/POSNumberButton.stories.tsx +0 -415
  127. package/src/components/POSNumberButton/POSNumberButton.tsx +0 -179
  128. package/src/components/POSNumberButton/POSNumberButton.types.ts +0 -51
  129. package/src/components/POSNumberButton/README.md +0 -321
  130. package/src/components/POSNumberButton/index.ts +0 -3
  131. package/src/components/POSProductButton/POSProductButton.stories.tsx +0 -318
  132. package/src/components/POSProductButton/POSProductButton.tsx +0 -152
  133. package/src/components/POSProductButton/POSProductButton.types.ts +0 -46
  134. package/src/components/POSProductButton/README.md +0 -269
  135. package/src/components/POSProductButton/index.ts +0 -2
  136. package/src/components/POSProductCard/POSProductCard.stories.tsx +0 -642
  137. package/src/components/POSProductCard/POSProductCard.tsx +0 -208
  138. package/src/components/POSProductCard/POSProductCard.types.ts +0 -76
  139. package/src/components/POSProductCard/README.md +0 -179
  140. package/src/components/POSProductCard/icons.tsx +0 -26
  141. package/src/components/POSProductCard/index.ts +0 -2
  142. package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +0 -753
  143. package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +0 -332
  144. package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +0 -119
  145. package/src/components/POSProductSidebarItems/README.md +0 -198
  146. package/src/components/POSProductSidebarItems/icons.tsx +0 -21
  147. package/src/components/POSProductSidebarItems/index.ts +0 -3
  148. package/src/components/POSTable/POSTable.stories.tsx +0 -737
  149. package/src/components/POSTable/POSTable.tsx +0 -401
  150. package/src/components/POSTable/POSTable.types.ts +0 -83
  151. package/src/components/POSTable/README.md +0 -286
  152. package/src/components/POSTable/index.ts +0 -7
  153. package/src/components/Pagination/Pagination.stories.tsx +0 -555
  154. package/src/components/Pagination/Pagination.tsx +0 -286
  155. package/src/components/Pagination/Pagination.types.ts +0 -93
  156. package/src/components/Pagination/README.md +0 -298
  157. package/src/components/Pagination/icons.tsx +0 -47
  158. package/src/components/Pagination/index.ts +0 -3
  159. package/src/components/Quantity/Quantity.stories.tsx +0 -457
  160. package/src/components/Quantity/Quantity.tsx +0 -289
  161. package/src/components/Quantity/Quantity.types.ts +0 -70
  162. package/src/components/Radio/Radio.stories.tsx +0 -523
  163. package/src/components/Radio/Radio.tsx +0 -170
  164. package/src/components/Radio/Radio.types.ts +0 -122
  165. package/src/components/Select/README.md +0 -299
  166. package/src/components/Select/Select.stories.tsx +0 -673
  167. package/src/components/Select/Select.tsx +0 -454
  168. package/src/components/Select/Select.types.ts +0 -148
  169. package/src/components/Select/icons.tsx +0 -50
  170. package/src/components/Select/index.ts +0 -3
  171. package/src/components/SignUpView/SignUpView.stories.tsx +0 -129
  172. package/src/components/SignUpView/SignUpView.tsx +0 -503
  173. package/src/components/SignUpView/SignUpView.types.ts +0 -58
  174. package/src/components/SignUpView/icons.tsx +0 -71
  175. package/src/components/SignUpView/index.ts +0 -3
  176. package/src/components/Switch/README.md +0 -112
  177. package/src/components/Switch/Switch.stories.tsx +0 -550
  178. package/src/components/Switch/Switch.tsx +0 -246
  179. package/src/components/Switch/Switch.types.ts +0 -67
  180. package/src/components/Table/README.md +0 -369
  181. package/src/components/Table/Table.stories.tsx +0 -805
  182. package/src/components/Table/Table.tsx +0 -688
  183. package/src/components/Table/Table.types.ts +0 -204
  184. package/src/components/Table/index.ts +0 -9
  185. package/src/components/Tabs/README.md +0 -201
  186. package/src/components/Tabs/Tabs.stories.tsx +0 -580
  187. package/src/components/Tabs/Tabs.tsx +0 -356
  188. package/src/components/Tabs/Tabs.types.ts +0 -127
  189. package/src/components/Tabs/icons.tsx +0 -129
  190. package/src/components/Tabs/index.ts +0 -11
  191. package/src/components/Textarea/Textarea.stories.tsx +0 -535
  192. package/src/components/Textarea/Textarea.tsx +0 -188
  193. package/src/components/Textarea/Textarea.types.ts +0 -54
  194. package/src/context/ThemeContext.tsx +0 -99
  195. package/src/context/index.ts +0 -1
  196. package/src/index.css +0 -29
  197. package/src/index.ts +0 -102
  198. package/src/main.tsx +0 -10
  199. package/src/views/ListView/ListView.stories.tsx +0 -329
  200. package/src/views/ListView/ListView.tsx +0 -570
  201. package/src/views/ListView/ListView.types.ts +0 -211
  202. package/src/views/ListView/icons.tsx +0 -282
  203. package/src/views/ListView/index.ts +0 -11
  204. package/src/views/LoginView/LoginView.stories.tsx +0 -148
  205. package/src/views/LoginView/LoginView.tsx +0 -426
  206. package/src/views/LoginView/LoginView.types.ts +0 -52
  207. package/src/views/LoginView/README.md +0 -396
  208. package/src/views/LoginView/icons.tsx +0 -85
  209. package/src/views/LoginView/index.ts +0 -3
  210. package/src/views/ProductsView/ProductsView.stories.tsx +0 -344
  211. package/src/views/ProductsView/ProductsView.tsx +0 -480
  212. package/src/views/ProductsView/ProductsView.types.ts +0 -238
  213. package/src/views/ProductsView/README.md +0 -312
  214. package/src/views/ProductsView/icons.tsx +0 -38
  215. package/src/views/ProductsView/index.ts +0 -8
  216. package/src/views/RecoverPasswordView/README.md +0 -269
  217. package/src/views/RecoverPasswordView/RecoverPasswordView.stories.tsx +0 -131
  218. package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +0 -376
  219. package/src/views/RecoverPasswordView/RecoverPasswordView.types.ts +0 -56
  220. package/src/views/RecoverPasswordView/icons.tsx +0 -17
  221. package/src/views/RecoverPasswordView/index.ts +0 -2
  222. package/src/views/SignUpView/SignUpView.stories.tsx +0 -129
  223. package/src/views/SignUpView/SignUpView.tsx +0 -503
  224. package/src/views/SignUpView/SignUpView.types.ts +0 -58
  225. package/src/views/SignUpView/icons.tsx +0 -71
  226. package/src/views/SignUpView/index.ts +0 -3
  227. package/src/views/TableLayoutView/README.md +0 -268
  228. package/src/views/TableLayoutView/TableLayoutView.stories.tsx +0 -235
  229. package/src/views/TableLayoutView/TableLayoutView.tsx +0 -461
  230. package/src/views/TableLayoutView/TableLayoutView.types.ts +0 -209
  231. package/src/views/TableLayoutView/icons.tsx +0 -113
  232. package/src/views/TableLayoutView/index.ts +0 -6
  233. package/storybook/main.ts +0 -20
  234. package/storybook/preview.tsx +0 -84
  235. package/storybook/vitest.setup.ts +0 -7
  236. package/tailwind.config.js +0 -128
@@ -1,332 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/react-vite';
2
- import { Alert } from './Alert';
3
- import { Input } from '../Input/Input';
4
- import { useState } from 'react';
5
-
6
- /**
7
- * Alert - Componente de alerta/diálogo del sistema de diseño Siesa
8
- *
9
- * Sistema completo para mostrar diálogos de confirmación con soporte para:
10
- * - **Título y descripción**: Texto principal y secundario
11
- * - **Contenido personalizado**: Children para inputs, placeholders, etc.
12
- * - **Botones de acción**: Personalizables o por defecto
13
- * - **Dark mode**: Adaptación completa al tema oscuro
14
- */
15
- const meta = {
16
- title: 'Siesa UI Kit/Alert',
17
- component: Alert,
18
- parameters: {
19
- layout: 'centered',
20
- docs: {
21
- description: {
22
- component:
23
- 'Componente para mostrar diálogos de confirmación y alertas. Ideal para confirmaciones de acciones destructivas, advertencias, o cualquier acción que requiera confirmación del usuario.',
24
- },
25
- },
26
- backgrounds: {
27
- default: 'light',
28
- values: [
29
- { name: 'light', value: '#ffffff' },
30
- { name: 'gray', value: '#f3f4f6' },
31
- { name: 'dark', value: '#1f2937' },
32
- ],
33
- },
34
- },
35
- tags: ['autodocs'],
36
- argTypes: {
37
- title: {
38
- control: 'text',
39
- description: 'Título del alert (texto principal)',
40
- table: {
41
- type: { summary: 'string' },
42
- category: 'Content',
43
- },
44
- },
45
- description: {
46
- control: 'text',
47
- description: 'Descripción opcional (texto secundario)',
48
- table: {
49
- type: { summary: 'string' },
50
- category: 'Content',
51
- },
52
- },
53
- children: {
54
- control: false,
55
- description: 'Contenido opcional del body',
56
- table: {
57
- type: { summary: 'ReactNode' },
58
- category: 'Content',
59
- },
60
- },
61
- cancelText: {
62
- control: 'text',
63
- description: 'Texto del botón de cancelar',
64
- table: {
65
- type: { summary: 'string' },
66
- defaultValue: { summary: 'Cancelar' },
67
- category: 'Actions',
68
- },
69
- },
70
- confirmText: {
71
- control: 'text',
72
- description: 'Texto del botón de confirmar',
73
- table: {
74
- type: { summary: 'string' },
75
- defaultValue: { summary: 'Confirmar' },
76
- category: 'Actions',
77
- },
78
- },
79
- onCancel: {
80
- action: 'cancelled',
81
- description: 'Callback cuando se hace click en Cancel',
82
- table: {
83
- type: { summary: '() => void' },
84
- category: 'Actions',
85
- },
86
- },
87
- onConfirm: {
88
- action: 'confirmed',
89
- description: 'Callback cuando se hace click en Confirm',
90
- table: {
91
- type: { summary: '() => void' },
92
- category: 'Actions',
93
- },
94
- },
95
- },
96
- } satisfies Meta<typeof Alert>;
97
-
98
- export default meta;
99
- type Story = StoryObj<typeof meta>;
100
-
101
- // ============================================
102
- // 1. PLAYGROUND INTERACTIVO
103
- // ============================================
104
-
105
- /**
106
- * Playground Interactivo
107
- *
108
- * Usa los controles para experimentar con el Alert en tiempo real.
109
- */
110
- export const Playground: Story = {
111
- name: 'Playground',
112
- args: {
113
- title: '¿Está seguro de que desea reembolsar este pago?',
114
- description:
115
- 'El reembolso se reflejará en la cuenta bancaria del cliente de 2 a 3 días hábiles después del procesamiento.',
116
- cancelText: 'Cancelar',
117
- confirmText: 'Reembolsar',
118
- },
119
- };
120
-
121
- // ============================================
122
- // 2. TODAS LAS VARIANTES
123
- // ============================================
124
-
125
- /**
126
- * Todas las Variantes
127
- *
128
- * Vista de todas las variantes del Alert según Figma.
129
- */
130
- export const AllVariants: Story = {
131
- name: 'Todas las Variantes',
132
- args: {
133
- title: '',
134
- description: '',
135
- },
136
- render: () => (
137
- <div className="space-y-6">
138
- {/* 1. Con descripción */}
139
- <div>
140
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Con Descripción</h3>
141
- <Alert
142
- title="¿Está seguro de que desea reembolsar este pago?"
143
- description="El reembolso se reflejará en la cuenta bancaria del cliente de 2 a 3 días hábiles después del procesamiento."
144
- onCancel={() => console.log('Cancelled')}
145
- onConfirm={() => console.log('Confirmed')}
146
- confirmText="Reembolsar"
147
- />
148
- </div>
149
-
150
- {/* 2. Sin descripción */}
151
- <div>
152
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Sin Descripción</h3>
153
- <Alert
154
- title="¿Está seguro de que desea reembolsar este pago?"
155
- onCancel={() => console.log('Cancelled')}
156
- onConfirm={() => console.log('Confirmed')}
157
- confirmText="Reembolsar"
158
- />
159
- </div>
160
-
161
- {/* 3. Con placeholder */}
162
- <div>
163
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Con Placeholder</h3>
164
- <Alert
165
- title="¿Está seguro de que desea reembolsar este pago?"
166
- description="El reembolso se reflejará en la cuenta bancaria del cliente de 2 a 3 días hábiles después del procesamiento."
167
- onCancel={() => console.log('Cancelled')}
168
- onConfirm={() => console.log('Confirmed')}
169
- confirmText="Reembolsar"
170
- >
171
- <div className="bg-background-secondary dark:bg-gray-700 border border-border-primary dark:border-dark-border-primary border-dashed h-16 rounded flex items-center justify-center">
172
- <p className="text-xs font-bold text-content-tertiary dark:text-content-tertiary">
173
- Marcador de Posición
174
- </p>
175
- </div>
176
- </Alert>
177
- </div>
178
-
179
- {/* 4. Con input */}
180
- <div>
181
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Con Input</h3>
182
- <Alert
183
- title="¿Está seguro de que desea reembolsar este pago?"
184
- description="El reembolso se reflejará en la cuenta bancaria del cliente de 2 a 3 días hábiles después del procesamiento."
185
- onCancel={() => console.log('Cancelled')}
186
- onConfirm={() => console.log('Confirmed')}
187
- confirmText="Reembolsar"
188
- >
189
- <Input placeholder="****" fullWidth />
190
- </Alert>
191
- </div>
192
- </div>
193
- ),
194
- };
195
-
196
- // ============================================
197
- // 3. CON INPUT INTERACTIVO
198
- // ============================================
199
-
200
- /**
201
- * Con Input Interactivo
202
- *
203
- * Ejemplo de Alert con un campo de input funcional.
204
- */
205
- export const WithInput: Story = {
206
- name: 'Con Input Interactivo',
207
- args: {
208
- title: '',
209
- description: '',
210
- },
211
- render: () => {
212
- const InteractiveAlert = () => {
213
- const [value, setValue] = useState('');
214
-
215
- return (
216
- <Alert
217
- title="Ingrese el código de confirmación"
218
- description="Por favor ingrese el código de 4 dígitos enviado a su correo electrónico."
219
- onCancel={() => console.log('Cancelled')}
220
- onConfirm={() => console.log('Confirmed with value:', value)}
221
- confirmText="Verificar"
222
- >
223
- <Input
224
- placeholder="Ingrese el código"
225
- value={value}
226
- onChange={(e) => setValue(e.target.value)}
227
- fullWidth
228
- />
229
- </Alert>
230
- );
231
- };
232
-
233
- return <InteractiveAlert />;
234
- },
235
- };
236
-
237
- // ============================================
238
- // 4. CASOS DE USO REALES
239
- // ============================================
240
-
241
- /**
242
- * Casos de Uso Reales
243
- *
244
- * Ejemplos prácticos de cómo usar Alert en situaciones reales.
245
- */
246
- export const UseCases: Story = {
247
- name: 'Casos de Uso Reales',
248
- args: {
249
- title: '',
250
- description: '',
251
- },
252
- render: () => (
253
- <div className="space-y-6">
254
- {/* Delete Confirmation */}
255
- <div>
256
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Confirmación de Eliminación</h3>
257
- <Alert
258
- title="¿Eliminar este elemento permanentemente?"
259
- description="Esta acción no se puede deshacer. Todos los datos asociados con este elemento serán eliminados permanentemente."
260
- onCancel={() => console.log('Cancelled')}
261
- onConfirm={() => console.log('Deleted')}
262
- cancelText="Cancelar"
263
- confirmText="Eliminar"
264
- />
265
- </div>
266
-
267
- {/* Logout Confirmation */}
268
- <div>
269
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Confirmación de Cierre de Sesión</h3>
270
- <Alert
271
- title="¿Está seguro de que desea cerrar sesión?"
272
- onCancel={() => console.log('Cancelled')}
273
- onConfirm={() => console.log('Logged out')}
274
- cancelText="Permanecer"
275
- confirmText="Cerrar Sesión"
276
- />
277
- </div>
278
-
279
- {/* Save Changes */}
280
- <div>
281
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Guardar Cambios</h3>
282
- <Alert
283
- title="¿Guardar cambios antes de salir?"
284
- description="Tiene cambios sin guardar. ¿Desea guardarlos antes de salir de esta página?"
285
- onCancel={() => console.log('Discarded')}
286
- onConfirm={() => console.log('Saved')}
287
- cancelText="Descartar"
288
- confirmText="Guardar"
289
- />
290
- </div>
291
-
292
- {/* Cancel Subscription */}
293
- <div>
294
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Cancelar Suscripción</h3>
295
- <Alert
296
- title="¿Cancelar su suscripción?"
297
- description="Su suscripción permanecerá activa hasta el final de su período de facturación actual."
298
- onCancel={() => console.log('Keep subscription')}
299
- onConfirm={() => console.log('Cancelled subscription')}
300
- cancelText="Mantener Suscripción"
301
- confirmText="Cancelar Suscripción"
302
- />
303
- </div>
304
-
305
- {/* Reset Settings */}
306
- <div>
307
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Restablecer Configuración</h3>
308
- <Alert
309
- title="¿Restablecer toda la configuración a los valores predeterminados?"
310
- description="Esto restablecerá todas sus preferencias y configuraciones a sus valores predeterminados."
311
- onCancel={() => console.log('Cancelled')}
312
- onConfirm={() => console.log('Reset')}
313
- cancelText="Cancelar"
314
- confirmText="Restablecer"
315
- />
316
- </div>
317
-
318
- {/* Archive Item */}
319
- <div>
320
- <h3 className="text-sm font-bold mb-4 text-gray-700 dark:text-white">Archivar Elemento</h3>
321
- <Alert
322
- title="¿Archivar este proyecto?"
323
- description="Los proyectos archivados pueden restaurarse más tarde desde la sección de archivos."
324
- onCancel={() => console.log('Cancelled')}
325
- onConfirm={() => console.log('Archived')}
326
- cancelText="Cancelar"
327
- confirmText="Archivar"
328
- />
329
- </div>
330
- </div>
331
- ),
332
- };
@@ -1,106 +0,0 @@
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 +0,0 @@
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
- }