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.
- package/README.md +115 -115
- package/bin/install.cjs +502 -502
- package/bin/prepare-publish.cjs +28 -28
- package/bin/restore-folders.cjs +28 -28
- package/claude/agents/siesa-ui-kit-specialist.md +2445 -0
- package/claude/prompts/component-template.md +121 -0
- package/claude/prompts/siesa-ui-kit.md +28 -0
- package/claude/settings.local.json +67 -2
- package/dist/components/Button/icons.d.ts +6 -5
- package/dist/components/Button/icons.d.ts.map +1 -1
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -1
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +21 -0
- package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -1
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts +122 -0
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.d.ts.map +1 -0
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts +139 -0
- package/dist/components/NavigationRailCommercial/NavigationRailCommercial.types.d.ts.map +1 -0
- package/dist/components/NavigationRailCommercial/icons.d.ts +33 -0
- package/dist/components/NavigationRailCommercial/icons.d.ts.map +1 -0
- package/dist/components/NavigationRailCommercial/index.d.ts +4 -0
- package/dist/components/NavigationRailCommercial/index.d.ts.map +1 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -1
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +7 -0
- package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -1
- package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -1
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +41 -0
- package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -1
- package/dist/components/NavigationRailTypes/icons.d.ts +15 -29
- package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/icons.d.ts +6 -2
- package/dist/components/Select/icons.d.ts.map +1 -1
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/siesa-ui-kit.cjs +404 -190
- package/dist/siesa-ui-kit.cjs.map +1 -1
- package/dist/siesa-ui-kit.mjs +6590 -1506
- package/dist/siesa-ui-kit.mjs.map +1 -1
- package/dist/views/LayoutCommercial/LayoutCommercial.d.ts +48 -0
- package/dist/views/LayoutCommercial/LayoutCommercial.d.ts.map +1 -0
- package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts +49 -0
- package/dist/views/LayoutCommercial/LayoutCommercial.types.d.ts.map +1 -0
- package/dist/views/LayoutCommercial/index.d.ts +3 -0
- package/dist/views/LayoutCommercial/index.d.ts.map +1 -0
- package/docs/icons.md +12 -31
- package/package.json +111 -110
- package/src/components/Avatar/Avatar.stories.tsx +494 -494
- package/src/components/Button/Button.stories.tsx +950 -950
- package/src/components/Button/Button.tsx +337 -337
- package/src/components/Button/Button.types.ts +180 -180
- package/src/components/Button/icons.tsx +23 -62
- package/src/components/DescriptionList/DescriptionList.stories.tsx +250 -250
- package/src/components/Divider/Divider.stories.tsx +263 -263
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.stories.tsx +317 -317
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.tsx +307 -287
- package/src/components/DropdownItemCollapsible/DropdownItemCollapsible.types.ts +136 -111
- package/src/components/DropdownItemCollapsible/README.md +264 -264
- package/src/components/DropdownItemCollapsible/icons.tsx +57 -57
- package/src/components/DropdownItemCollapsible/index.ts +12 -12
- package/src/components/DropdownItemHeading/DropdownItemHeading.stories.tsx +386 -386
- package/src/components/DropdownItemHeading/DropdownItemHeading.tsx +216 -216
- package/src/components/DropdownItemHeading/DropdownItemHeading.types.ts +93 -93
- package/src/components/DropdownItemHeading/README.md +573 -573
- package/src/components/DropdownItemHeading/icons.tsx +125 -125
- package/src/components/DropdownItemHeading/index.ts +3 -3
- package/src/components/Input/Input.stories.tsx +583 -583
- package/src/components/LoginView/LoginView.stories.tsx +148 -148
- package/src/components/LoginView/LoginView.tsx +426 -426
- package/src/components/LoginView/LoginView.types.ts +52 -52
- package/src/components/LoginView/README.md +396 -396
- package/src/components/LoginView/icons.tsx +85 -85
- package/src/components/LoginView/index.ts +3 -3
- package/src/components/Navbar/Navbar.stories.tsx +810 -810
- package/src/components/Navbar/Navbar.tsx +755 -755
- package/src/components/Navbar/Navbar.types.ts +219 -219
- package/src/components/Navbar/README.md +279 -279
- package/src/components/Navbar/index.ts +8 -8
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.stories.tsx +464 -0
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.tsx +301 -0
- package/src/components/NavigationRailCommercial/NavigationRailCommercial.types.ts +162 -0
- package/src/components/NavigationRailCommercial/README.md +251 -0
- package/src/components/NavigationRailCommercial/icons.tsx +54 -0
- package/src/components/NavigationRailCommercial/index.ts +6 -0
- package/src/components/NavigationRailItem/NavigationRailItem.stories.tsx +667 -667
- package/src/components/NavigationRailItem/NavigationRailItem.tsx +314 -313
- package/src/components/NavigationRailItem/NavigationRailItem.types.ts +175 -167
- package/src/components/NavigationRailItem/README.md +476 -476
- package/src/components/NavigationRailItem/index.ts +2 -2
- package/src/components/NavigationRailPanel/NavigationRailPanel.stories.tsx +462 -462
- package/src/components/NavigationRailPanel/NavigationRailPanel.tsx +332 -332
- package/src/components/NavigationRailPanel/NavigationRailPanel.types.ts +178 -178
- package/src/components/NavigationRailPanel/README.md +461 -461
- package/src/components/NavigationRailPanel/index.ts +6 -6
- package/src/components/NavigationRailTypes/NavigationRailTypes.stories.tsx +682 -528
- package/src/components/NavigationRailTypes/NavigationRailTypes.tsx +363 -378
- package/src/components/NavigationRailTypes/NavigationRailTypes.types.ts +178 -130
- package/src/components/NavigationRailTypes/README.md +573 -573
- package/src/components/NavigationRailTypes/icons.tsx +76 -141
- package/src/components/NavigationRailTypes/index.ts +7 -7
- package/src/components/Notification/Notification.stories.tsx +513 -513
- package/src/components/Notification/Notification.tsx +145 -145
- package/src/components/Notification/Notification.types.ts +142 -142
- package/src/components/Notification/README.md +409 -409
- package/src/components/POSConvention/POSConvention.stories.tsx +235 -235
- package/src/components/POSConvention/POSConvention.tsx +129 -129
- package/src/components/POSConvention/POSConvention.types.ts +38 -38
- package/src/components/POSConvention/README.md +123 -123
- package/src/components/POSConvention/icons.tsx +45 -45
- package/src/components/POSConvention/index.ts +3 -3
- package/src/components/POSLocationButton/POSLocationButton.stories.tsx +531 -531
- package/src/components/POSLocationButton/POSLocationButton.tsx +247 -247
- package/src/components/POSLocationButton/POSLocationButton.types.ts +87 -87
- package/src/components/POSLocationButton/README.md +253 -253
- package/src/components/POSLocationButton/icons.tsx +120 -120
- package/src/components/POSLocationButton/index.ts +14 -14
- package/src/components/POSNumberButton/POSNumberButton.stories.tsx +415 -415
- package/src/components/POSNumberButton/POSNumberButton.tsx +179 -179
- package/src/components/POSNumberButton/POSNumberButton.types.ts +51 -51
- package/src/components/POSNumberButton/README.md +321 -321
- package/src/components/POSNumberButton/index.ts +3 -3
- package/src/components/POSProductButton/POSProductButton.stories.tsx +318 -318
- package/src/components/POSProductCard/POSProductCard.stories.tsx +642 -642
- package/src/components/POSProductCard/POSProductCard.tsx +208 -208
- package/src/components/POSProductCard/POSProductCard.types.ts +76 -76
- package/src/components/POSProductCard/README.md +179 -179
- package/src/components/POSProductCard/icons.tsx +26 -26
- package/src/components/POSProductCard/index.ts +2 -2
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.stories.tsx +753 -753
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.tsx +332 -332
- package/src/components/POSProductSidebarItems/POSProductSidebarItems.types.ts +119 -119
- package/src/components/POSProductSidebarItems/README.md +198 -198
- package/src/components/POSProductSidebarItems/icons.tsx +21 -21
- package/src/components/POSProductSidebarItems/index.ts +3 -3
- package/src/components/POSTable/POSTable.stories.tsx +737 -737
- package/src/components/POSTable/POSTable.tsx +401 -401
- package/src/components/POSTable/README.md +286 -286
- package/src/components/Quantity/Quantity.stories.tsx +457 -457
- package/src/components/Radio/Radio.stories.tsx +523 -523
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/Select/Select.stories.tsx +32 -0
- package/src/components/Select/Select.tsx +457 -454
- package/src/components/Select/icons.tsx +16 -41
- package/src/components/SignUpView/SignUpView.stories.tsx +129 -129
- package/src/components/SignUpView/SignUpView.tsx +503 -503
- package/src/components/SignUpView/SignUpView.types.ts +58 -58
- package/src/components/SignUpView/icons.tsx +71 -71
- package/src/components/SignUpView/index.ts +3 -3
- package/src/components/Switch/README.md +112 -112
- package/src/components/Switch/Switch.stories.tsx +550 -550
- package/src/components/Switch/Switch.tsx +246 -246
- package/src/components/Switch/Switch.types.ts +67 -67
- package/src/components/Table/Table.stories.tsx +805 -805
- package/src/components/Tabs/README.md +201 -201
- package/src/components/Tabs/Tabs.stories.tsx +580 -580
- package/src/components/Tabs/Tabs.tsx +356 -356
- package/src/components/Tabs/Tabs.types.ts +127 -127
- package/src/components/Tabs/icons.tsx +129 -129
- package/src/components/Tabs/index.ts +11 -11
- package/src/components/Textarea/Textarea.stories.tsx +535 -535
- package/src/index.ts +133 -102
- package/src/views/LayoutCommercial/LayoutCommercial.stories.tsx +374 -0
- package/src/views/LayoutCommercial/LayoutCommercial.tsx +125 -0
- package/src/views/LayoutCommercial/LayoutCommercial.types.ts +54 -0
- package/src/views/LayoutCommercial/README.md +286 -0
- package/src/views/LayoutCommercial/index.ts +2 -0
- package/src/views/ListView/ListView.stories.tsx +329 -329
- package/src/views/ListView/ListView.tsx +570 -570
- package/src/views/ListView/ListView.types.ts +211 -211
- package/src/views/ListView/icons.tsx +282 -282
- package/src/views/ListView/index.ts +11 -11
- package/src/views/LoginView/LoginView.tsx +426 -426
- package/src/views/ProductsView/ProductsView.stories.tsx +344 -344
- package/src/views/ProductsView/ProductsView.tsx +480 -480
- package/src/views/ProductsView/ProductsView.types.ts +238 -238
- package/src/views/ProductsView/README.md +312 -312
- package/src/views/ProductsView/icons.tsx +38 -38
- package/src/views/ProductsView/index.ts +8 -8
- package/src/views/RecoverPasswordView/RecoverPasswordView.tsx +376 -376
- package/src/views/SignUpView/SignUpView.tsx +503 -503
- package/src/views/TableLayoutView/README.md +268 -268
- package/src/views/TableLayoutView/TableLayoutView.stories.tsx +235 -235
- package/src/views/TableLayoutView/TableLayoutView.tsx +461 -461
- package/src/views/TableLayoutView/TableLayoutView.types.ts +209 -209
- package/src/views/TableLayoutView/icons.tsx +113 -113
- package/src/views/TableLayoutView/index.ts +6 -6
- package/storybook/main.ts +19 -19
- package/storybook/preview.tsx +84 -84
- package/storybook/vitest.setup.ts +6 -6
- package/tailwind.config.js +128 -128
package/storybook/main.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import type { StorybookConfig } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
const config: StorybookConfig = {
|
|
4
|
-
"stories": [
|
|
5
|
-
"../src/**/*.mdx",
|
|
6
|
-
"../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
|
|
7
|
-
],
|
|
8
|
-
"addons": [
|
|
9
|
-
"@chromatic-com/storybook",
|
|
10
|
-
"@storybook/addon-docs",
|
|
11
|
-
"@storybook/addon-onboarding",
|
|
12
|
-
"@storybook/addon-a11y",
|
|
13
|
-
"@storybook/addon-vitest"
|
|
14
|
-
],
|
|
15
|
-
"framework": {
|
|
16
|
-
"name": "@storybook/react-vite",
|
|
17
|
-
"options": {}
|
|
18
|
-
}
|
|
19
|
-
};
|
|
1
|
+
import type { StorybookConfig } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
const config: StorybookConfig = {
|
|
4
|
+
"stories": [
|
|
5
|
+
"../src/**/*.mdx",
|
|
6
|
+
"../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
|
|
7
|
+
],
|
|
8
|
+
"addons": [
|
|
9
|
+
"@chromatic-com/storybook",
|
|
10
|
+
"@storybook/addon-docs",
|
|
11
|
+
"@storybook/addon-onboarding",
|
|
12
|
+
"@storybook/addon-a11y",
|
|
13
|
+
"@storybook/addon-vitest"
|
|
14
|
+
],
|
|
15
|
+
"framework": {
|
|
16
|
+
"name": "@storybook/react-vite",
|
|
17
|
+
"options": {}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
20
|
export default config;
|
package/storybook/preview.tsx
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
import type { Preview } from '@storybook/react-vite';
|
|
2
|
-
import React, { useEffect } from 'react';
|
|
3
|
-
import '../src/index.css';
|
|
4
|
-
|
|
5
|
-
// Decorador global para manejar el tema en Storybook
|
|
6
|
-
const withTheme = (Story: any, context: any) => {
|
|
7
|
-
const { theme } = context.globals;
|
|
8
|
-
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
const htmlElement = document.documentElement;
|
|
11
|
-
|
|
12
|
-
if (theme === 'dark') {
|
|
13
|
-
htmlElement.classList.add('dark');
|
|
14
|
-
} else {
|
|
15
|
-
htmlElement.classList.remove('dark');
|
|
16
|
-
}
|
|
17
|
-
}, [theme]);
|
|
18
|
-
|
|
19
|
-
return (
|
|
20
|
-
<div className="bg-white dark:bg-dark-bg-primary text-content-primary dark:text-dark-content-primary p-6">
|
|
21
|
-
<Story />
|
|
22
|
-
</div>
|
|
23
|
-
);
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
const preview: Preview = {
|
|
27
|
-
parameters: {
|
|
28
|
-
controls: {
|
|
29
|
-
matchers: {
|
|
30
|
-
color: /(background|color)$/i,
|
|
31
|
-
date: /Date$/i,
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
|
|
35
|
-
a11y: {
|
|
36
|
-
// 'todo' - show a11y violations in the test UI only
|
|
37
|
-
// 'error' - fail CI on a11y violations
|
|
38
|
-
// 'off' - skip a11y checks entirely
|
|
39
|
-
test: 'todo'
|
|
40
|
-
},
|
|
41
|
-
|
|
42
|
-
// Configuración de fondos para las historias
|
|
43
|
-
backgrounds: {
|
|
44
|
-
default: 'light',
|
|
45
|
-
values: [
|
|
46
|
-
{
|
|
47
|
-
name: 'light',
|
|
48
|
-
value: '#ffffff',
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
name: 'dark',
|
|
52
|
-
value: '#000000',
|
|
53
|
-
},
|
|
54
|
-
],
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
// Deshabilitar la cuadrícula de fondo
|
|
58
|
-
grid: {
|
|
59
|
-
disable: true,
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
// Control global de tema
|
|
64
|
-
globalTypes: {
|
|
65
|
-
theme: {
|
|
66
|
-
name: 'Theme',
|
|
67
|
-
description: 'Global theme for components',
|
|
68
|
-
defaultValue: 'light',
|
|
69
|
-
toolbar: {
|
|
70
|
-
title: 'Theme',
|
|
71
|
-
icon: 'circlehollow',
|
|
72
|
-
items: [
|
|
73
|
-
{ value: 'light', icon: 'sun', title: 'Light' },
|
|
74
|
-
{ value: 'dark', icon: 'moon', title: 'Dark' },
|
|
75
|
-
],
|
|
76
|
-
dynamicTitle: true,
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
|
|
81
|
-
decorators: [withTheme],
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
export default preview;
|
|
1
|
+
import type { Preview } from '@storybook/react-vite';
|
|
2
|
+
import React, { useEffect } from 'react';
|
|
3
|
+
import '../src/index.css';
|
|
4
|
+
|
|
5
|
+
// Decorador global para manejar el tema en Storybook
|
|
6
|
+
const withTheme = (Story: any, context: any) => {
|
|
7
|
+
const { theme } = context.globals;
|
|
8
|
+
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const htmlElement = document.documentElement;
|
|
11
|
+
|
|
12
|
+
if (theme === 'dark') {
|
|
13
|
+
htmlElement.classList.add('dark');
|
|
14
|
+
} else {
|
|
15
|
+
htmlElement.classList.remove('dark');
|
|
16
|
+
}
|
|
17
|
+
}, [theme]);
|
|
18
|
+
|
|
19
|
+
return (
|
|
20
|
+
<div className="bg-white dark:bg-dark-bg-primary text-content-primary dark:text-dark-content-primary p-6">
|
|
21
|
+
<Story />
|
|
22
|
+
</div>
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const preview: Preview = {
|
|
27
|
+
parameters: {
|
|
28
|
+
controls: {
|
|
29
|
+
matchers: {
|
|
30
|
+
color: /(background|color)$/i,
|
|
31
|
+
date: /Date$/i,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
a11y: {
|
|
36
|
+
// 'todo' - show a11y violations in the test UI only
|
|
37
|
+
// 'error' - fail CI on a11y violations
|
|
38
|
+
// 'off' - skip a11y checks entirely
|
|
39
|
+
test: 'todo'
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
// Configuración de fondos para las historias
|
|
43
|
+
backgrounds: {
|
|
44
|
+
default: 'light',
|
|
45
|
+
values: [
|
|
46
|
+
{
|
|
47
|
+
name: 'light',
|
|
48
|
+
value: '#ffffff',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
name: 'dark',
|
|
52
|
+
value: '#000000',
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
// Deshabilitar la cuadrícula de fondo
|
|
58
|
+
grid: {
|
|
59
|
+
disable: true,
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
|
|
63
|
+
// Control global de tema
|
|
64
|
+
globalTypes: {
|
|
65
|
+
theme: {
|
|
66
|
+
name: 'Theme',
|
|
67
|
+
description: 'Global theme for components',
|
|
68
|
+
defaultValue: 'light',
|
|
69
|
+
toolbar: {
|
|
70
|
+
title: 'Theme',
|
|
71
|
+
icon: 'circlehollow',
|
|
72
|
+
items: [
|
|
73
|
+
{ value: 'light', icon: 'sun', title: 'Light' },
|
|
74
|
+
{ value: 'dark', icon: 'moon', title: 'Dark' },
|
|
75
|
+
],
|
|
76
|
+
dynamicTitle: true,
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
decorators: [withTheme],
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export default preview;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
|
|
2
|
-
import { setProjectAnnotations } from '@storybook/react-vite';
|
|
3
|
-
import * as projectAnnotations from './preview';
|
|
4
|
-
|
|
5
|
-
// This is an important step to apply the right configuration when testing your stories.
|
|
6
|
-
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
|
|
1
|
+
import * as a11yAddonAnnotations from "@storybook/addon-a11y/preview";
|
|
2
|
+
import { setProjectAnnotations } from '@storybook/react-vite';
|
|
3
|
+
import * as projectAnnotations from './preview';
|
|
4
|
+
|
|
5
|
+
// This is an important step to apply the right configuration when testing your stories.
|
|
6
|
+
// More info at: https://storybook.js.org/docs/api/portable-stories/portable-stories-vitest#setprojectannotations
|
|
7
7
|
setProjectAnnotations([a11yAddonAnnotations, projectAnnotations]);
|
package/tailwind.config.js
CHANGED
|
@@ -1,128 +1,128 @@
|
|
|
1
|
-
/** @type {import('tailwindcss').Config} */
|
|
2
|
-
module.exports = {
|
|
3
|
-
darkMode: 'class', // Habilita dark mode con clase 'dark' en el elemento raíz
|
|
4
|
-
content: [
|
|
5
|
-
"./index.html",
|
|
6
|
-
"./src/**/*.{js,ts,jsx,tsx}",
|
|
7
|
-
],
|
|
8
|
-
theme: {
|
|
9
|
-
extend: {
|
|
10
|
-
// Fuentes
|
|
11
|
-
fontFamily: {
|
|
12
|
-
sans: ['SiesaBT', 'Inter', 'sans-serif'],
|
|
13
|
-
},
|
|
14
|
-
|
|
15
|
-
// Colores del Sistema de Diseño Siesa
|
|
16
|
-
colors: {
|
|
17
|
-
// Primary Custom Colors (extraído de Figma)
|
|
18
|
-
'primary-custom': {
|
|
19
|
-
100: '#dbeefe', // backgroundCustomPrimary - Hover para outline
|
|
20
|
-
300: '#93d1fd', // borderCustomPrimary - Bordes
|
|
21
|
-
400: '#60b6fa', // PrimaryCustom/400 - Focus ring
|
|
22
|
-
500: '#3c9bf6', // PrimaryCustom/500 - Hover para botón default
|
|
23
|
-
600: '#0e79fd', // contentCustomPrimary - Color principal
|
|
24
|
-
700: '#0c6ade', // variante más oscura - Active/pressed
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
// Primary Inverse (para usar con bg-, text-, border-)
|
|
28
|
-
'primary-inverse-content': '#eff8ff', // contentInverseCustomPrimary
|
|
29
|
-
'primary-inverse-background': '#0e79fd', // backgroundInverseCustomPrimary
|
|
30
|
-
'primary-inverse-border': '#3c9bf6', // borderInverseCustomPrimary
|
|
31
|
-
|
|
32
|
-
// System Colors (Light Mode)
|
|
33
|
-
'content-primary': '#18181b', // contentPrimary
|
|
34
|
-
'content-secondary': '#a1a1aa', // contentSecondary - Description text
|
|
35
|
-
'content-tertiary': '#71717a', // contentTertiary - Texto secundario/placeholder
|
|
36
|
-
'bg-primary': '#ffffff', // backgroundPrimary
|
|
37
|
-
'background-secondary': '#f4f4f5', // backgroundSecondary - Fondos disabled
|
|
38
|
-
'border-primary': '#e4e4e7', // borderPrimary
|
|
39
|
-
'border-secondary': '#f4f4f5', // borderSecondary - Divider soft
|
|
40
|
-
|
|
41
|
-
// Error Colors
|
|
42
|
-
'error-border': '#ef4444', // Error border - Red 500
|
|
43
|
-
'error-content': '#dc2626', // Error text - Red 600
|
|
44
|
-
'error-bg': '#fef2f2', // Error background - Red 50
|
|
45
|
-
|
|
46
|
-
// Extensions Colors (para badges, notificaciones, etc)
|
|
47
|
-
'content-extensions-red': '#b91c1c', // contentRed - Red 700 para notificaciones
|
|
48
|
-
|
|
49
|
-
// Dark Mode Colors (extraído de Figma node 4001-17241)
|
|
50
|
-
'dark-bg-primary': '#18181b', // backgroundPrimary - Fondo principal oscuro (zinc-900)
|
|
51
|
-
'dark-bg-custom': '#112d57', // backgroundCustomPrimary - Fondo activo en dark mode
|
|
52
|
-
'dark-content-primary': '#f4f4f5', // contentPrimary - Texto principal en dark mode (zinc-100)
|
|
53
|
-
'dark-content-custom': '#93d1fd', // contentCustomPrimary - Texto activo en dark mode
|
|
54
|
-
'dark-border-primary': '#71717a', // borderPrimary - Bordes en dark
|
|
55
|
-
'dark-border-custom': '#0f6ae3', // borderCustomPrimary - Bordes de componentes
|
|
56
|
-
'dark-bg-inverse': '#bfe2fe', // backgroundInverseCustomPrimary - Fondos inversos (botón dark)
|
|
57
|
-
'dark-content-inverse': '#0e79fd', // contentInverseCustomPrimary - Texto inverso (botón dark)
|
|
58
|
-
'dark-border-inverse': '#93d1fd', // borderInverseCustomPrimary - Borde botón en dark
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
// Background colors adicionales para hover
|
|
62
|
-
backgroundColor: {
|
|
63
|
-
'hover-overlay': 'rgba(0, 0, 0, 0.1)', // Light mode hover overlay
|
|
64
|
-
'hover-overlay-inverse': 'rgba(255, 255, 255, 0.2)', // Inverse hover
|
|
65
|
-
'hover-overlay-dark': 'rgba(255, 255, 255, 0.2)', // Dark mode hover overlay (20% white)
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
// Text colors adicionales
|
|
69
|
-
textColor: {
|
|
70
|
-
'primary-inverse-content': '#eff8ff',
|
|
71
|
-
'primary-custom-600': '#0e79fd',
|
|
72
|
-
},
|
|
73
|
-
|
|
74
|
-
// Border colors adicionales
|
|
75
|
-
borderColor: {
|
|
76
|
-
'primary-inverse-border': '#3c9bf6',
|
|
77
|
-
'primary-custom-300': '#93d1fd',
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
// Tipografía completa del sistema de diseño (typography.md)
|
|
81
|
-
fontSize: {
|
|
82
|
-
// Display - Para heros y títulos muy grandes
|
|
83
|
-
'9xl': ['8rem', { lineHeight: '8rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 128px
|
|
84
|
-
'8xl': ['6rem', { lineHeight: '6rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 96px
|
|
85
|
-
'7xl': ['4.5rem', { lineHeight: '4.5rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 72px
|
|
86
|
-
'6xl': ['3.75rem', { lineHeight: '3.75rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 60px
|
|
87
|
-
'5xl': ['3rem', { lineHeight: '3rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 48px
|
|
88
|
-
|
|
89
|
-
// Heading - Para títulos de secciones
|
|
90
|
-
'4xl': ['2.25rem', { lineHeight: '2.5rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 36px
|
|
91
|
-
'3xl': ['1.875rem', { lineHeight: '2.25rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 30px
|
|
92
|
-
'2xl': ['1.5rem', { lineHeight: '2rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 24px
|
|
93
|
-
'xl': ['1.25rem', { lineHeight: '1.75rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 20px
|
|
94
|
-
|
|
95
|
-
// Label & Paragraph - Para contenido y labels
|
|
96
|
-
'lg': ['1.125rem', { lineHeight: '1.75rem' }], // 18px
|
|
97
|
-
'base': ['1rem', { lineHeight: '1.5rem' }], // 16px (default)
|
|
98
|
-
'sm': ['0.875rem', { lineHeight: '1.25rem' }], // 14px
|
|
99
|
-
'xs': ['0.75rem', { lineHeight: '1rem' }], // 12px
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
// Border Radius (valores exactos de Figma)
|
|
103
|
-
borderRadius: {
|
|
104
|
-
'md': '6px', // rounded-md de Figma
|
|
105
|
-
'2xl': '16px', // rounded-2xl de Figma
|
|
106
|
-
'3xl': '24px', // rounded-3xl de Figma
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
// Letter Spacing (typography.md)
|
|
110
|
-
letterSpacing: {
|
|
111
|
-
'tighter': '-0.025em', // -2.5% usado en Display y Heading
|
|
112
|
-
},
|
|
113
|
-
|
|
114
|
-
// Espaciado personalizado (alineado con Figma)
|
|
115
|
-
spacing: {
|
|
116
|
-
'1.5': '6px', // spacing/1.5
|
|
117
|
-
'2.5': '10px', // spacing/2.5
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
// Sombras personalizadas
|
|
121
|
-
boxShadow: {
|
|
122
|
-
'button-inset': '0px 2px 0px 0px inset rgba(255,255,255,0.15)',
|
|
123
|
-
'menu': '0px 4px 4px -1px rgba(12, 12, 13, 0.05), 0px 4px 4px -1px rgba(12, 12, 13, 0.1)',
|
|
124
|
-
},
|
|
125
|
-
},
|
|
126
|
-
},
|
|
127
|
-
plugins: [],
|
|
128
|
-
}
|
|
1
|
+
/** @type {import('tailwindcss').Config} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
darkMode: 'class', // Habilita dark mode con clase 'dark' en el elemento raíz
|
|
4
|
+
content: [
|
|
5
|
+
"./index.html",
|
|
6
|
+
"./src/**/*.{js,ts,jsx,tsx}",
|
|
7
|
+
],
|
|
8
|
+
theme: {
|
|
9
|
+
extend: {
|
|
10
|
+
// Fuentes
|
|
11
|
+
fontFamily: {
|
|
12
|
+
sans: ['SiesaBT', 'Inter', 'sans-serif'],
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
// Colores del Sistema de Diseño Siesa
|
|
16
|
+
colors: {
|
|
17
|
+
// Primary Custom Colors (extraído de Figma)
|
|
18
|
+
'primary-custom': {
|
|
19
|
+
100: '#dbeefe', // backgroundCustomPrimary - Hover para outline
|
|
20
|
+
300: '#93d1fd', // borderCustomPrimary - Bordes
|
|
21
|
+
400: '#60b6fa', // PrimaryCustom/400 - Focus ring
|
|
22
|
+
500: '#3c9bf6', // PrimaryCustom/500 - Hover para botón default
|
|
23
|
+
600: '#0e79fd', // contentCustomPrimary - Color principal
|
|
24
|
+
700: '#0c6ade', // variante más oscura - Active/pressed
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
// Primary Inverse (para usar con bg-, text-, border-)
|
|
28
|
+
'primary-inverse-content': '#eff8ff', // contentInverseCustomPrimary
|
|
29
|
+
'primary-inverse-background': '#0e79fd', // backgroundInverseCustomPrimary
|
|
30
|
+
'primary-inverse-border': '#3c9bf6', // borderInverseCustomPrimary
|
|
31
|
+
|
|
32
|
+
// System Colors (Light Mode)
|
|
33
|
+
'content-primary': '#18181b', // contentPrimary
|
|
34
|
+
'content-secondary': '#a1a1aa', // contentSecondary - Description text
|
|
35
|
+
'content-tertiary': '#71717a', // contentTertiary - Texto secundario/placeholder
|
|
36
|
+
'bg-primary': '#ffffff', // backgroundPrimary
|
|
37
|
+
'background-secondary': '#f4f4f5', // backgroundSecondary - Fondos disabled
|
|
38
|
+
'border-primary': '#e4e4e7', // borderPrimary
|
|
39
|
+
'border-secondary': '#f4f4f5', // borderSecondary - Divider soft
|
|
40
|
+
|
|
41
|
+
// Error Colors
|
|
42
|
+
'error-border': '#ef4444', // Error border - Red 500
|
|
43
|
+
'error-content': '#dc2626', // Error text - Red 600
|
|
44
|
+
'error-bg': '#fef2f2', // Error background - Red 50
|
|
45
|
+
|
|
46
|
+
// Extensions Colors (para badges, notificaciones, etc)
|
|
47
|
+
'content-extensions-red': '#b91c1c', // contentRed - Red 700 para notificaciones
|
|
48
|
+
|
|
49
|
+
// Dark Mode Colors (extraído de Figma node 4001-17241)
|
|
50
|
+
'dark-bg-primary': '#18181b', // backgroundPrimary - Fondo principal oscuro (zinc-900)
|
|
51
|
+
'dark-bg-custom': '#112d57', // backgroundCustomPrimary - Fondo activo en dark mode
|
|
52
|
+
'dark-content-primary': '#f4f4f5', // contentPrimary - Texto principal en dark mode (zinc-100)
|
|
53
|
+
'dark-content-custom': '#93d1fd', // contentCustomPrimary - Texto activo en dark mode
|
|
54
|
+
'dark-border-primary': '#71717a', // borderPrimary - Bordes en dark
|
|
55
|
+
'dark-border-custom': '#0f6ae3', // borderCustomPrimary - Bordes de componentes
|
|
56
|
+
'dark-bg-inverse': '#bfe2fe', // backgroundInverseCustomPrimary - Fondos inversos (botón dark)
|
|
57
|
+
'dark-content-inverse': '#0e79fd', // contentInverseCustomPrimary - Texto inverso (botón dark)
|
|
58
|
+
'dark-border-inverse': '#93d1fd', // borderInverseCustomPrimary - Borde botón en dark
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
// Background colors adicionales para hover
|
|
62
|
+
backgroundColor: {
|
|
63
|
+
'hover-overlay': 'rgba(0, 0, 0, 0.1)', // Light mode hover overlay
|
|
64
|
+
'hover-overlay-inverse': 'rgba(255, 255, 255, 0.2)', // Inverse hover
|
|
65
|
+
'hover-overlay-dark': 'rgba(255, 255, 255, 0.2)', // Dark mode hover overlay (20% white)
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
// Text colors adicionales
|
|
69
|
+
textColor: {
|
|
70
|
+
'primary-inverse-content': '#eff8ff',
|
|
71
|
+
'primary-custom-600': '#0e79fd',
|
|
72
|
+
},
|
|
73
|
+
|
|
74
|
+
// Border colors adicionales
|
|
75
|
+
borderColor: {
|
|
76
|
+
'primary-inverse-border': '#3c9bf6',
|
|
77
|
+
'primary-custom-300': '#93d1fd',
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
// Tipografía completa del sistema de diseño (typography.md)
|
|
81
|
+
fontSize: {
|
|
82
|
+
// Display - Para heros y títulos muy grandes
|
|
83
|
+
'9xl': ['8rem', { lineHeight: '8rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 128px
|
|
84
|
+
'8xl': ['6rem', { lineHeight: '6rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 96px
|
|
85
|
+
'7xl': ['4.5rem', { lineHeight: '4.5rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 72px
|
|
86
|
+
'6xl': ['3.75rem', { lineHeight: '3.75rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 60px
|
|
87
|
+
'5xl': ['3rem', { lineHeight: '3rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 48px
|
|
88
|
+
|
|
89
|
+
// Heading - Para títulos de secciones
|
|
90
|
+
'4xl': ['2.25rem', { lineHeight: '2.5rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 36px
|
|
91
|
+
'3xl': ['1.875rem', { lineHeight: '2.25rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 30px
|
|
92
|
+
'2xl': ['1.5rem', { lineHeight: '2rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 24px
|
|
93
|
+
'xl': ['1.25rem', { lineHeight: '1.75rem', letterSpacing: '-0.025em', fontWeight: '700' }], // 20px
|
|
94
|
+
|
|
95
|
+
// Label & Paragraph - Para contenido y labels
|
|
96
|
+
'lg': ['1.125rem', { lineHeight: '1.75rem' }], // 18px
|
|
97
|
+
'base': ['1rem', { lineHeight: '1.5rem' }], // 16px (default)
|
|
98
|
+
'sm': ['0.875rem', { lineHeight: '1.25rem' }], // 14px
|
|
99
|
+
'xs': ['0.75rem', { lineHeight: '1rem' }], // 12px
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
// Border Radius (valores exactos de Figma)
|
|
103
|
+
borderRadius: {
|
|
104
|
+
'md': '6px', // rounded-md de Figma
|
|
105
|
+
'2xl': '16px', // rounded-2xl de Figma
|
|
106
|
+
'3xl': '24px', // rounded-3xl de Figma
|
|
107
|
+
},
|
|
108
|
+
|
|
109
|
+
// Letter Spacing (typography.md)
|
|
110
|
+
letterSpacing: {
|
|
111
|
+
'tighter': '-0.025em', // -2.5% usado en Display y Heading
|
|
112
|
+
},
|
|
113
|
+
|
|
114
|
+
// Espaciado personalizado (alineado con Figma)
|
|
115
|
+
spacing: {
|
|
116
|
+
'1.5': '6px', // spacing/1.5
|
|
117
|
+
'2.5': '10px', // spacing/2.5
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
// Sombras personalizadas
|
|
121
|
+
boxShadow: {
|
|
122
|
+
'button-inset': '0px 2px 0px 0px inset rgba(255,255,255,0.15)',
|
|
123
|
+
'menu': '0px 4px 4px -1px rgba(12, 12, 13, 0.05), 0px 4px 4px -1px rgba(12, 12, 13, 0.1)',
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
plugins: [],
|
|
128
|
+
}
|