@randstad-uca/design-system 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.
- package/dist/assets/icons/default/ayuda.svg +12 -0
- package/dist/assets/icons/default/calendar.svg +20 -0
- package/dist/assets/icons/default/check.svg +10 -0
- package/dist/assets/icons/default/email.svg +11 -0
- package/dist/assets/icons/default/eye.svg +11 -0
- package/dist/assets/icons/default/eye_crossed.svg +10 -0
- package/dist/assets/icons/default/info.svg +12 -0
- package/dist/assets/icons/default/warning.svg +12 -0
- package/dist/components/Button.d.ts +15 -0
- package/dist/components/Checkbox.d.ts +14 -0
- package/dist/components/Datepicker.d.ts +1 -0
- package/dist/components/Form.d.ts +25 -0
- package/dist/components/Icon.d.ts +12 -0
- package/dist/components/Modal.d.ts +14 -0
- package/dist/components/Notice.d.ts +1 -0
- package/dist/components/Popup.d.ts +15 -0
- package/dist/components/Progress.d.ts +11 -0
- package/dist/components/Radio.d.ts +11 -0
- package/dist/components/Select.d.ts +25 -0
- package/dist/components/Snackbar.d.ts +1 -0
- package/dist/components/Stepper.d.ts +7 -0
- package/dist/components/Test.d.ts +5 -0
- package/dist/components/TestButton.d.ts +6 -0
- package/dist/components/iconList.d.ts +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +5196 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +49 -0
- package/dist/stories/Button.stories.d.ts +26 -0
- package/dist/stories/Checkbox.stories.d.ts +6 -0
- package/dist/stories/Datepicker.stories.d.ts +6 -0
- package/dist/stories/Form.stories.d.ts +40 -0
- package/dist/stories/Icon.stories.d.ts +7 -0
- package/dist/stories/Modal.stories.d.ts +7 -0
- package/dist/stories/Notice.stories.d.ts +39 -0
- package/dist/stories/Popup.stories.d.ts +9 -0
- package/dist/stories/Progress.stories.d.ts +15 -0
- package/dist/stories/Radio.stories.d.ts +11 -0
- package/dist/stories/Select.stories.d.ts +87 -0
- package/dist/stories/Snackbar.stories.d.ts +39 -0
- package/dist/stories/Stepper.stories.d.ts +38 -0
- package/dist/styles/buttons.css +209 -0
- package/dist/styles/colors.css +36 -0
- package/dist/styles/fonts.css +51 -0
- package/dist/styles/forms.css +151 -0
- package/dist/styles/globalStyles.d.ts +2 -0
- package/dist/styles/globalStyles.ts +22 -0
- package/dist/styles/icons.css +25 -0
- package/dist/styles/index.css +5 -0
- package/dist/styles/notice.css +0 -0
- package/dist/styles/select.css +12 -0
- package/dist/styles/snackbar.css +0 -0
- package/package.json +49 -0
- package/readme.md +170 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@randstad-uca/design-system",
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"main": "dist/index.js",
|
|
5
|
+
"files": ["dist"],
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
8
|
+
"storybook-live": "storybook dev -p 6006",
|
|
9
|
+
"build-test": "storybook build",
|
|
10
|
+
"generate-icons": "node src/utils/generateIconList.js",
|
|
11
|
+
"build": "rollup -c"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [],
|
|
14
|
+
"author": "",
|
|
15
|
+
"license": "ISC",
|
|
16
|
+
"description": "",
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@chromatic-com/storybook": "^3.2.3",
|
|
19
|
+
"@rollup/plugin-commonjs": "^28.0.2",
|
|
20
|
+
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
21
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
22
|
+
"@rollup/plugin-typescript": "^12.1.2",
|
|
23
|
+
"@storybook/addon-essentials": "^8.5.0",
|
|
24
|
+
"@storybook/blocks": "^8.5.0",
|
|
25
|
+
"@storybook/test": "^8.5.0",
|
|
26
|
+
"@storybook/web-components": "^8.5.0",
|
|
27
|
+
"@storybook/web-components-webpack5": "^8.5.0",
|
|
28
|
+
"autoprefixer": "^10.4.20",
|
|
29
|
+
"css-loader": "^7.1.2",
|
|
30
|
+
"lit-css-loader": "^3.0.1",
|
|
31
|
+
"postcss": "^8.5.1",
|
|
32
|
+
"rollup": "^4.30.1",
|
|
33
|
+
"rollup-plugin-copy": "^3.5.0",
|
|
34
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
35
|
+
"storybook": "^8.5.0",
|
|
36
|
+
"tailwindcss": "^3.4.17",
|
|
37
|
+
"ts-loader": "^9.5.2",
|
|
38
|
+
"typescript": "^5.7.3",
|
|
39
|
+
"webpack": "^5.98.0",
|
|
40
|
+
"webpack-cli": "^6.0.1"
|
|
41
|
+
},
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"@material/web": "^2.2.0",
|
|
44
|
+
"@vaadin/vaadin-date-picker": "^23.5.12"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"lit": "^3.2.1"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
+
import '../components/Button';
|
|
3
|
+
interface ButtonArgs {
|
|
4
|
+
variant: 'button-primary' | 'button-secondary' | 'button-tertiary' | 'button-round';
|
|
5
|
+
size: 'md' | 'lg';
|
|
6
|
+
label: string;
|
|
7
|
+
loader: boolean;
|
|
8
|
+
iconSrc?: string;
|
|
9
|
+
iconPosition: 'left' | 'right';
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
hover?: boolean;
|
|
12
|
+
active?: boolean;
|
|
13
|
+
focusVisible?: boolean;
|
|
14
|
+
iconName?: string | null;
|
|
15
|
+
}
|
|
16
|
+
declare const meta: Meta<ButtonArgs>;
|
|
17
|
+
export default meta;
|
|
18
|
+
type Story = StoryObj<ButtonArgs>;
|
|
19
|
+
export declare const Default: Story;
|
|
20
|
+
export declare const PrimaryLoader: Story;
|
|
21
|
+
export declare const SecondaryLoader: Story;
|
|
22
|
+
export declare const TertiaryLoader: Story;
|
|
23
|
+
export declare const Primary: Story;
|
|
24
|
+
export declare const Secondary: Story;
|
|
25
|
+
export declare const Tertiary: Story;
|
|
26
|
+
export declare const GoogleRoundButton: Story;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
+
import '../components/Form';
|
|
3
|
+
export interface FormProps {
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
value?: string;
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
icon?: 'left' | 'right' | null;
|
|
9
|
+
helper?: boolean;
|
|
10
|
+
error?: boolean;
|
|
11
|
+
errorMessage?: string;
|
|
12
|
+
tooltipMessage?: string;
|
|
13
|
+
success?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
typing?: boolean;
|
|
16
|
+
type?: 'text' | 'password' | 'textarea';
|
|
17
|
+
linkText?: string;
|
|
18
|
+
linkRoute?: string;
|
|
19
|
+
labelColor?: string;
|
|
20
|
+
}
|
|
21
|
+
declare const meta: Meta<FormProps>;
|
|
22
|
+
export default meta;
|
|
23
|
+
type Story = StoryObj<FormProps>;
|
|
24
|
+
export declare const Default: Story;
|
|
25
|
+
export declare const Filled: Story;
|
|
26
|
+
export declare const Disabled: Story;
|
|
27
|
+
export declare const WithHelper: Story;
|
|
28
|
+
export declare const WithError: Story;
|
|
29
|
+
export declare const WithHelperError: Story;
|
|
30
|
+
export declare const WithSuccess: Story;
|
|
31
|
+
export declare const WithIconLeft: Story;
|
|
32
|
+
export declare const WithIconRight: Story;
|
|
33
|
+
export declare const PasswordField: Story;
|
|
34
|
+
export declare const TextareaField: Story;
|
|
35
|
+
export declare const TextareaWithHelper: Story;
|
|
36
|
+
export declare const TextareaWithError: Story;
|
|
37
|
+
export declare const TextareaDisabled: Story;
|
|
38
|
+
export declare const Help: Story;
|
|
39
|
+
export declare const Link: Story;
|
|
40
|
+
export declare const LabelColor: Story;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import '../components/Notice';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
decorators: ((story: any) => TemplateResult<1>)[];
|
|
10
|
+
argTypes: {
|
|
11
|
+
icon: {
|
|
12
|
+
control: string;
|
|
13
|
+
};
|
|
14
|
+
message: {
|
|
15
|
+
control: string;
|
|
16
|
+
};
|
|
17
|
+
open: {
|
|
18
|
+
control: string;
|
|
19
|
+
};
|
|
20
|
+
type: {
|
|
21
|
+
control: string;
|
|
22
|
+
options: string[];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export default _default;
|
|
27
|
+
export declare const Default: {
|
|
28
|
+
render: (args: any) => TemplateResult;
|
|
29
|
+
args: {
|
|
30
|
+
type: string;
|
|
31
|
+
icon: string;
|
|
32
|
+
message: string;
|
|
33
|
+
open: boolean;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export declare const Informative: (args: any) => TemplateResult;
|
|
37
|
+
export declare const Success: (args: any) => TemplateResult;
|
|
38
|
+
export declare const Warning: (args: any) => TemplateResult;
|
|
39
|
+
export declare const Error: (args: any) => TemplateResult;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
+
import '../components/Popup';
|
|
3
|
+
declare const meta: Meta;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const YesNo: Story;
|
|
8
|
+
export declare const YesNoCheck: Story;
|
|
9
|
+
export declare const YesNoTrash: Story;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { StoryFn, Meta } from '@storybook/web-components';
|
|
2
|
+
import '../components/Progress';
|
|
3
|
+
declare const _default: Meta;
|
|
4
|
+
export default _default;
|
|
5
|
+
interface CircularProgressArgs {
|
|
6
|
+
steps: number;
|
|
7
|
+
currentStep: number;
|
|
8
|
+
size: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const HalfProgress: StoryFn<CircularProgressArgs>;
|
|
11
|
+
export declare const Completed: StoryFn<CircularProgressArgs>;
|
|
12
|
+
export declare const Initial: StoryFn<CircularProgressArgs>;
|
|
13
|
+
export declare const Large: StoryFn<CircularProgressArgs>;
|
|
14
|
+
export declare const Small: StoryFn<CircularProgressArgs>;
|
|
15
|
+
export declare const LongText: StoryFn<CircularProgressArgs>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components';
|
|
2
|
+
import '../components/Radio';
|
|
3
|
+
declare const meta: Meta;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Hover: Story;
|
|
8
|
+
export declare const Focus: Story;
|
|
9
|
+
export declare const Disabled: Story;
|
|
10
|
+
export declare const ErrorOn: Story;
|
|
11
|
+
export declare const ErrorOff: Story;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import '../components/Select';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: string;
|
|
5
|
+
argTypes: {
|
|
6
|
+
options: {
|
|
7
|
+
control: string;
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
placeholder: {
|
|
11
|
+
control: string;
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
14
|
+
defaultValue: {
|
|
15
|
+
control: string;
|
|
16
|
+
description: string;
|
|
17
|
+
};
|
|
18
|
+
disabled: {
|
|
19
|
+
control: string;
|
|
20
|
+
description: string;
|
|
21
|
+
};
|
|
22
|
+
label: {
|
|
23
|
+
control: string;
|
|
24
|
+
description: string;
|
|
25
|
+
};
|
|
26
|
+
labelColor: {
|
|
27
|
+
control: string;
|
|
28
|
+
description: string;
|
|
29
|
+
};
|
|
30
|
+
filterable: {
|
|
31
|
+
control: string;
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
onOptionSelected: {
|
|
35
|
+
action: string;
|
|
36
|
+
description: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
parameters: {
|
|
40
|
+
docs: {
|
|
41
|
+
description: {
|
|
42
|
+
component: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
export default _default;
|
|
48
|
+
export declare const Default: ({ options, placeholder, defaultValue, disabled, label, labelColor, filterable, onOptionSelected }: {
|
|
49
|
+
options: any;
|
|
50
|
+
placeholder: any;
|
|
51
|
+
defaultValue: any;
|
|
52
|
+
disabled: any;
|
|
53
|
+
label: any;
|
|
54
|
+
labelColor: any;
|
|
55
|
+
filterable: any;
|
|
56
|
+
onOptionSelected: any;
|
|
57
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
58
|
+
export declare const WithLabel: ({ options, placeholder, defaultValue, disabled, label, labelColor, filterable, onOptionSelected }: {
|
|
59
|
+
options: any;
|
|
60
|
+
placeholder: any;
|
|
61
|
+
defaultValue: any;
|
|
62
|
+
disabled: any;
|
|
63
|
+
label: any;
|
|
64
|
+
labelColor: any;
|
|
65
|
+
filterable: any;
|
|
66
|
+
onOptionSelected: any;
|
|
67
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
68
|
+
export declare const NonFilterable: ({ options, placeholder, defaultValue, disabled, label, labelColor, filterable, onOptionSelected }: {
|
|
69
|
+
options: any;
|
|
70
|
+
placeholder: any;
|
|
71
|
+
defaultValue: any;
|
|
72
|
+
disabled: any;
|
|
73
|
+
label: any;
|
|
74
|
+
labelColor: any;
|
|
75
|
+
filterable: any;
|
|
76
|
+
onOptionSelected: any;
|
|
77
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
78
|
+
export declare const Disabled: ({ options, placeholder, defaultValue, disabled, label, labelColor, filterable, onOptionSelected }: {
|
|
79
|
+
options: any;
|
|
80
|
+
placeholder: any;
|
|
81
|
+
defaultValue: any;
|
|
82
|
+
disabled: any;
|
|
83
|
+
label: any;
|
|
84
|
+
labelColor: any;
|
|
85
|
+
filterable: any;
|
|
86
|
+
onOptionSelected: any;
|
|
87
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TemplateResult } from 'lit';
|
|
2
|
+
import '../components/Snackbar';
|
|
3
|
+
declare const _default: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: string;
|
|
6
|
+
parameters: {
|
|
7
|
+
layout: string;
|
|
8
|
+
};
|
|
9
|
+
decorators: ((story: () => TemplateResult) => TemplateResult)[];
|
|
10
|
+
argTypes: {
|
|
11
|
+
icon: {
|
|
12
|
+
control: string;
|
|
13
|
+
options: string[];
|
|
14
|
+
};
|
|
15
|
+
message: {
|
|
16
|
+
control: string;
|
|
17
|
+
};
|
|
18
|
+
open: {
|
|
19
|
+
control: string;
|
|
20
|
+
};
|
|
21
|
+
type: {
|
|
22
|
+
control: string;
|
|
23
|
+
options: string[];
|
|
24
|
+
};
|
|
25
|
+
position: {
|
|
26
|
+
control: string;
|
|
27
|
+
options: string[];
|
|
28
|
+
};
|
|
29
|
+
color: {
|
|
30
|
+
control: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export default _default;
|
|
35
|
+
export declare const Default: any;
|
|
36
|
+
export declare const Informative: any;
|
|
37
|
+
export declare const Success: any;
|
|
38
|
+
export declare const Warning: any;
|
|
39
|
+
export declare const Error: any;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import '../components/Stepper';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
component: string;
|
|
5
|
+
argTypes: {
|
|
6
|
+
steps: {
|
|
7
|
+
control: string;
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
currentStep: {
|
|
11
|
+
control: {
|
|
12
|
+
type: string;
|
|
13
|
+
min: number;
|
|
14
|
+
max: number;
|
|
15
|
+
step: number;
|
|
16
|
+
};
|
|
17
|
+
description: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export default _default;
|
|
22
|
+
export declare const Default: ({ steps, currentStep }: {
|
|
23
|
+
steps: any;
|
|
24
|
+
currentStep: any;
|
|
25
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
26
|
+
export declare const MixedLabels: ({ steps, currentStep }: {
|
|
27
|
+
steps: any;
|
|
28
|
+
currentStep: any;
|
|
29
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
30
|
+
export declare const NoLabels: ({ steps, currentStep }: {
|
|
31
|
+
steps: any;
|
|
32
|
+
currentStep: any;
|
|
33
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
34
|
+
export declare const AllStepsCompleted: ({ steps, currentStep }: {
|
|
35
|
+
steps: any;
|
|
36
|
+
currentStep: any;
|
|
37
|
+
}) => import("lit-html").TemplateResult<1>;
|
|
38
|
+
export declare const Interactive: () => import("lit-html").TemplateResult<1>;
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/* Estilo base para todos los botones */
|
|
2
|
+
.button {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
font-family: "Graphik", sans-serif;
|
|
7
|
+
border-radius: 4px;
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
font-weight: 400;
|
|
10
|
+
padding: 16px;
|
|
11
|
+
border: none;
|
|
12
|
+
transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
|
|
13
|
+
gap: 4px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.button-lg {
|
|
17
|
+
font-size: 18px;
|
|
18
|
+
line-height: 30px;
|
|
19
|
+
min-width: 48px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.button-md {
|
|
23
|
+
font-size: 14px;
|
|
24
|
+
line-height: 25px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.button-primary {
|
|
28
|
+
background-color: var(--primary-color);
|
|
29
|
+
color: var(--white);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.button-primary.hover {
|
|
33
|
+
background-color: var(--primary-button-hover);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.button-primary.active {
|
|
37
|
+
background-color: var(--primary-button-active);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.button-primary.focus-visible {
|
|
41
|
+
background-color: var(--primary-button-focus);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.button-primary.disabled {
|
|
45
|
+
color: var(--secondary-color-60);
|
|
46
|
+
background-color: var(--secondary-color-20);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.button-secondary {
|
|
50
|
+
background: none;
|
|
51
|
+
color: var(--primary-color);
|
|
52
|
+
border: 1px solid var(--primary-color);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.button-secondary.hover {
|
|
56
|
+
color: var(#175197);
|
|
57
|
+
border: 1px solid var(#175197);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.button-secondary.active {
|
|
61
|
+
color: var(--secondary-color-80);
|
|
62
|
+
border: 1px solid var(--secondary-color-80);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.button-secondary.focus-visible {
|
|
66
|
+
color: var(--primary-color);
|
|
67
|
+
border: 1px solid var(--primary-color);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.button-secondary.disabled {
|
|
71
|
+
color: var(--secondary-color-60);
|
|
72
|
+
border: 1px solid var(--secondary-color-60);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.button-tertiary {
|
|
76
|
+
background: none;
|
|
77
|
+
border: none;
|
|
78
|
+
color: var(--primary-color);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.button-tertiary.hover {
|
|
82
|
+
background: #2175D90D;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.button-tertiary.active {
|
|
86
|
+
background-color: #2175D91A;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.button-tertiary.focus-visible {
|
|
90
|
+
border: 1px solid var(--primary-color);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.button-tertiary.disabled {
|
|
94
|
+
color: #6F758D;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* Botones con íconos */
|
|
98
|
+
.button-icon-left>.icon,
|
|
99
|
+
.button-icon-right>.icon {
|
|
100
|
+
display: inline-block;
|
|
101
|
+
width: 1rem;
|
|
102
|
+
height: 1rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.button-icon-left>.icon {
|
|
106
|
+
margin-right: 0.5rem;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.button-icon-right>.icon {
|
|
110
|
+
margin-left: 0.5rem;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.button-round {
|
|
114
|
+
width: 48px;
|
|
115
|
+
height: 48px;
|
|
116
|
+
border-radius: 50%;
|
|
117
|
+
background-color: var(--white);
|
|
118
|
+
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
|
|
119
|
+
display: flex;
|
|
120
|
+
align-items: center;
|
|
121
|
+
justify-content: center;
|
|
122
|
+
padding: 0;
|
|
123
|
+
border: none;
|
|
124
|
+
cursor: pointer;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.button-round img.button-icon {
|
|
128
|
+
width: 24px;
|
|
129
|
+
height: 24px;
|
|
130
|
+
object-fit: contain;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/* Cambiar el color del ícono para todos los botones */
|
|
134
|
+
.button randstad-icon {
|
|
135
|
+
color: var(--white);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/* Cambiar el color solo para un variant específico */
|
|
139
|
+
.button.button-primary randstad-icon {
|
|
140
|
+
color: var(--white);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.button.button-secondary randstad-icon {
|
|
144
|
+
color: var(--primary-color);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.button.button-tertiary randstad-icon {
|
|
148
|
+
color: var(--primary-color);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
/* Loader */
|
|
153
|
+
.loader {
|
|
154
|
+
display: flex;
|
|
155
|
+
gap: 6px; /* Reduce el espacio entre puntos */
|
|
156
|
+
justify-content: center;
|
|
157
|
+
align-items: center;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* Puntos animados */
|
|
161
|
+
.dot {
|
|
162
|
+
width: 10px;
|
|
163
|
+
height: 10px;
|
|
164
|
+
border-radius: 50%;
|
|
165
|
+
display: inline-block;
|
|
166
|
+
animation: growAndFade 1.2s infinite ease-in-out;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* Retrasamos la animación de cada punto */
|
|
170
|
+
.dot:nth-child(1) {
|
|
171
|
+
animation-delay: 0s;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.dot:nth-child(2) {
|
|
175
|
+
animation-delay: 0.2s;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.dot:nth-child(3) {
|
|
179
|
+
animation-delay: 0.4s;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/* Nueva animación con efecto de escala y opacidad */
|
|
183
|
+
@keyframes growAndFade {
|
|
184
|
+
0% {
|
|
185
|
+
transform: scale(0.9);
|
|
186
|
+
opacity: 0.3;
|
|
187
|
+
}
|
|
188
|
+
50% {
|
|
189
|
+
transform: scale(1.4);
|
|
190
|
+
opacity: 1;
|
|
191
|
+
}
|
|
192
|
+
100% {
|
|
193
|
+
transform: scale(0.9);
|
|
194
|
+
opacity: 0.3;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/* ✅ Estilos específicos para button-primary y button-secondary con loader */
|
|
199
|
+
.button-primary.loader .dot,
|
|
200
|
+
.button-secondary.loader .dot {
|
|
201
|
+
background-color: var(--white);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/* ✅ Asegurar que el botón secundario también tenga el mismo fondo que el primario al cargar */
|
|
205
|
+
.button-secondary.loader {
|
|
206
|
+
background-color: var(--primary-color);
|
|
207
|
+
border: none;
|
|
208
|
+
color: var(--white);
|
|
209
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--primary-color: #2175D9;
|
|
3
|
+
--primary-color-80: #4E90E1;
|
|
4
|
+
--primary-color-60: #7AACE8;
|
|
5
|
+
--primary-color-40: #A6C8F0;
|
|
6
|
+
--primary-color-20: #D3E3F7;
|
|
7
|
+
--primary-color-10: #E8F1FB;
|
|
8
|
+
|
|
9
|
+
--secondary-color: #0F1941;
|
|
10
|
+
--secondary-color-80: #404767;
|
|
11
|
+
--secondary-color-60: #6F758D;
|
|
12
|
+
--secondary-color-40: #9FA3B3;
|
|
13
|
+
--secondary-color-20: #CFD1D9;
|
|
14
|
+
--secondary-color-10: #E7E8EC;
|
|
15
|
+
|
|
16
|
+
--brand-randstad-blue: #2175D9;
|
|
17
|
+
--brand-dark-blue: #0F1941;
|
|
18
|
+
--brand-light-blue: #00D7FF;
|
|
19
|
+
--brand-off-white: #F7F5F0;
|
|
20
|
+
|
|
21
|
+
--ui-negative: #E00F0FEE;
|
|
22
|
+
--ui-positive: #257F56;
|
|
23
|
+
--ui-warning: #E9A204;
|
|
24
|
+
--ui-informative: #4E90E1;
|
|
25
|
+
|
|
26
|
+
--tertiary-shade: #DEDCD8;
|
|
27
|
+
--tertiary-tint: #F9F7F3;
|
|
28
|
+
--gray-20: #D7D7D7;
|
|
29
|
+
--gray-10: #F7F7F7;
|
|
30
|
+
--white: #FFFFFF;
|
|
31
|
+
|
|
32
|
+
--primary-button-hover: #175197;
|
|
33
|
+
--primary-button-active: #124077;
|
|
34
|
+
--primary-button-focus: #2175D9;
|
|
35
|
+
|
|
36
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'Graphik';
|
|
3
|
+
src: url('/src/assets/font/Graphik-Regular.woff2') format('woff2'),
|
|
4
|
+
url('/src/assets/font/Graphik-Regular.woff') format('woff'),
|
|
5
|
+
url('/src/assets/font/Graphik-Regular.eot') format('embedded-opentype');
|
|
6
|
+
font-weight: normal;
|
|
7
|
+
font-style: normal;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
:root {
|
|
11
|
+
--body-xs-font-size: 12px;
|
|
12
|
+
--body-s-font-size: 14px;
|
|
13
|
+
--body-m-font-size: 16px;
|
|
14
|
+
--body-l-font-size: 18px;
|
|
15
|
+
--body-xs-line-height: 20px;
|
|
16
|
+
--body-s-line-height: 25px;
|
|
17
|
+
--body-m-line-height: 25px;
|
|
18
|
+
--body-l-line-height: 30px;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.body-l {
|
|
22
|
+
font-family: Graphik;
|
|
23
|
+
font-weight: 400;
|
|
24
|
+
font-size: 18px;
|
|
25
|
+
line-height: 100%;
|
|
26
|
+
letter-spacing: 0%;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.body-m {
|
|
30
|
+
font-family: Graphik;
|
|
31
|
+
font-weight: 400;
|
|
32
|
+
font-size: 16px;
|
|
33
|
+
line-height: 100%;
|
|
34
|
+
letter-spacing: 0%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.body-s {
|
|
38
|
+
font-family: Graphik;
|
|
39
|
+
font-weight: 400;
|
|
40
|
+
font-size: 149px;
|
|
41
|
+
line-height: 100%;
|
|
42
|
+
letter-spacing: 0%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.body-xs {
|
|
46
|
+
font-family: Graphik;
|
|
47
|
+
font-weight: 400;
|
|
48
|
+
font-size: 149px;
|
|
49
|
+
line-height: 100%;
|
|
50
|
+
letter-spacing: 0%;
|
|
51
|
+
}
|