@iroco/ui 1.0.0-2 → 1.0.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/dist/Alert.stories.svelte +31 -0
- package/dist/Alert.stories.svelte.d.ts +37 -0
- package/dist/Alert.svelte +60 -7
- package/dist/Button.stories.svelte +5 -7
- package/dist/Button.stories.svelte.d.ts +6 -3
- package/dist/Button.svelte +70 -15
- package/dist/DataTable.stories.svelte +33 -0
- package/dist/DataTable.stories.svelte.d.ts +29 -0
- package/dist/DataTable.svelte +55 -2
- package/dist/IconBurger.stories.svelte +32 -0
- package/dist/IconBurger.stories.svelte.d.ts +48 -0
- package/dist/IconClose.stories.svelte +32 -0
- package/dist/IconClose.stories.svelte.d.ts +48 -0
- package/dist/IconFloppyDisk.stories.svelte +36 -0
- package/dist/IconFloppyDisk.stories.svelte.d.ts +55 -0
- package/dist/IconInfo.stories.svelte +34 -0
- package/dist/IconInfo.stories.svelte.d.ts +50 -0
- package/dist/IconIrocoLogo.stories.svelte +37 -0
- package/dist/IconIrocoLogo.stories.svelte.d.ts +57 -0
- package/dist/IconMoreSign.stories.svelte +34 -0
- package/dist/IconMoreSign.stories.svelte.d.ts +50 -0
- package/dist/IconTrashCan.stories.svelte +34 -0
- package/dist/IconTrashCan.stories.svelte.d.ts +50 -0
- package/dist/IrocoLogo.stories.svelte +37 -0
- package/dist/IrocoLogo.stories.svelte.d.ts +50 -0
- package/dist/Loader.stories.svelte +23 -0
- package/dist/Loader.stories.svelte.d.ts +29 -0
- package/dist/NavBar.stories.svelte +38 -0
- package/dist/NavBar.stories.svelte.d.ts +37 -0
- package/dist/NavBar.svelte +132 -24
- package/dist/Navigation.stories.svelte +8 -10
- package/dist/Navigation.stories.svelte.d.ts +0 -4
- package/dist/Navigation.svelte +57 -4
- package/dist/NumberInput.stories.svelte +50 -0
- package/dist/NumberInput.stories.svelte.d.ts +77 -0
- package/dist/NumberInput.svelte +60 -7
- package/dist/RadioButton.stories.svelte +53 -0
- package/dist/RadioButton.stories.svelte.d.ts +56 -0
- package/dist/RadioButton.svelte +57 -5
- package/dist/RadioButton.svelte.d.ts +0 -2
- package/dist/TextInput.stories.svelte +75 -0
- package/dist/TextInput.stories.svelte.d.ts +111 -0
- package/dist/TextInput.svelte +61 -8
- package/dist/scss/button.scss +24 -14
- package/dist/scss/colors.scss +82 -0
- package/dist/scss/fields/_input.scss +11 -15
- package/dist/scss/forms.scss +7 -7
- package/package.json +3 -2
- package/dist/NumberInputSized.svelte +0 -4
- package/dist/NumberInputSized.svelte.d.ts +0 -14
- package/dist/TopBar.svelte +0 -0
- package/dist/TopBar.svelte.d.ts +0 -23
- package/dist/scss/check.scss +0 -47
- package/dist/scss/iroco.scss +0 -36
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { RadioButton as component };
|
|
4
|
+
export namespace argTypes {
|
|
5
|
+
namespace value {
|
|
6
|
+
namespace control {
|
|
7
|
+
let type: string;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
namespace group {
|
|
11
|
+
export namespace control_1 {
|
|
12
|
+
let type_1: string;
|
|
13
|
+
export { type_1 as type };
|
|
14
|
+
}
|
|
15
|
+
export { control_1 as control };
|
|
16
|
+
}
|
|
17
|
+
namespace name {
|
|
18
|
+
export namespace control_2 {
|
|
19
|
+
let type_2: string;
|
|
20
|
+
export { type_2 as type };
|
|
21
|
+
}
|
|
22
|
+
export { control_2 as control };
|
|
23
|
+
}
|
|
24
|
+
namespace checked {
|
|
25
|
+
export namespace control_3 {
|
|
26
|
+
let type_3: string;
|
|
27
|
+
export { type_3 as type };
|
|
28
|
+
}
|
|
29
|
+
export { control_3 as control };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** @typedef {typeof __propDef.props} RadioButtonProps */
|
|
34
|
+
/** @typedef {typeof __propDef.events} RadioButtonEvents */
|
|
35
|
+
/** @typedef {typeof __propDef.slots} RadioButtonSlots */
|
|
36
|
+
export default class RadioButton extends SvelteComponent<{
|
|
37
|
+
[x: string]: never;
|
|
38
|
+
}, {
|
|
39
|
+
[evt: string]: CustomEvent<any>;
|
|
40
|
+
}, {}> {
|
|
41
|
+
}
|
|
42
|
+
export type RadioButtonProps = typeof __propDef.props;
|
|
43
|
+
export type RadioButtonEvents = typeof __propDef.events;
|
|
44
|
+
export type RadioButtonSlots = typeof __propDef.slots;
|
|
45
|
+
import { RadioButton } from './index';
|
|
46
|
+
import { SvelteComponent } from "svelte";
|
|
47
|
+
declare const __propDef: {
|
|
48
|
+
props: {
|
|
49
|
+
[x: string]: never;
|
|
50
|
+
};
|
|
51
|
+
events: {
|
|
52
|
+
[evt: string]: CustomEvent<any>;
|
|
53
|
+
};
|
|
54
|
+
slots: {};
|
|
55
|
+
};
|
|
56
|
+
export {};
|
package/dist/RadioButton.svelte
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
<script>export
|
|
2
|
-
export let value;
|
|
1
|
+
<script>export let value;
|
|
3
2
|
export let group = null;
|
|
4
3
|
export let name;
|
|
5
4
|
export let checked;
|
|
@@ -60,8 +59,61 @@ $:
|
|
|
60
59
|
color: #f5f5f5;
|
|
61
60
|
}
|
|
62
61
|
|
|
62
|
+
:root {
|
|
63
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
64
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
65
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
66
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
67
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
68
|
+
--color-dark-blue-op-30: #211d284d;
|
|
69
|
+
/* semantic colors */
|
|
70
|
+
--color-primary-light: #82eec7;
|
|
71
|
+
--color-primary: #00d692;
|
|
72
|
+
--color-primary-bg: #00d69280;
|
|
73
|
+
--color-primary-dark: #00a873;
|
|
74
|
+
--color-secondary-light: #ffffff;
|
|
75
|
+
--color-secondary: #f2ebe3;
|
|
76
|
+
--color-secondary-dark: #a9a29e;
|
|
77
|
+
/* feedback */
|
|
78
|
+
--color-success: #00d692;
|
|
79
|
+
--color-success-bg: #00d69280;
|
|
80
|
+
--color-danger: #ff504d;
|
|
81
|
+
--color-danger-bg: #ff504d80;
|
|
82
|
+
--color-warning: #ffe032;
|
|
83
|
+
--color-warning-bg: #ffe03280;
|
|
84
|
+
/* typography */
|
|
85
|
+
--color-text-light: #ffffff;
|
|
86
|
+
--color-text: #f2ebe3;
|
|
87
|
+
--color-text-op-50: #f2ebe380;
|
|
88
|
+
--color-text-op-60: #f2ebe399;
|
|
89
|
+
--color-text-dark: #464452;
|
|
90
|
+
/* border */
|
|
91
|
+
--color-border: #464452;
|
|
92
|
+
/* body */
|
|
93
|
+
--color-body: #211d28;
|
|
94
|
+
/* forms */
|
|
95
|
+
--form-element-border: var(--color-border);
|
|
96
|
+
--form-element-bg: #f2ebe3;
|
|
97
|
+
--form-text-placeholder: #a9a29e;
|
|
98
|
+
/* buttons */
|
|
99
|
+
--btn-primary-bg: #f2ebe3;
|
|
100
|
+
--btn-primary-border: #18151e;
|
|
101
|
+
--btn-primary-label: #f2ebe3;
|
|
102
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
103
|
+
--dark-btn-primary-bg: #18151e;
|
|
104
|
+
--btn-basic-label: #18151e;
|
|
105
|
+
--btn-basic-bg: #f2ebe3;
|
|
106
|
+
--btn-basic-border: #18151e;
|
|
107
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
108
|
+
--btn-disabled-bg: #a9a29e;
|
|
109
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
110
|
+
/* icons */
|
|
111
|
+
--color-icon-primary: #a9a29e;
|
|
112
|
+
--color-icon-secondary: inherit;
|
|
113
|
+
}
|
|
114
|
+
|
|
63
115
|
.iroco-ui-radio {
|
|
64
|
-
color:
|
|
116
|
+
color: var(--color-text);
|
|
65
117
|
position: relative;
|
|
66
118
|
margin-top: 0.5em;
|
|
67
119
|
padding-left: 1.5em;
|
|
@@ -84,10 +136,10 @@ $:
|
|
|
84
136
|
left: 0;
|
|
85
137
|
height: 1em;
|
|
86
138
|
width: 1em;
|
|
87
|
-
background-color:
|
|
139
|
+
background-color: var(--form-element-bg);
|
|
88
140
|
border-radius: 50%;
|
|
89
141
|
}
|
|
90
142
|
|
|
91
143
|
.iroco-ui-radio input:checked ~ .radio-button-color {
|
|
92
|
-
background-color:
|
|
144
|
+
background-color: var(--color-primary);
|
|
93
145
|
}</style>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { SvelteComponent } from "svelte";
|
|
2
2
|
declare const __propDef: {
|
|
3
3
|
props: {
|
|
4
|
-
label?: "" | undefined;
|
|
5
4
|
value: string | null;
|
|
6
5
|
group?: string | null | undefined;
|
|
7
6
|
name: string | null;
|
|
@@ -18,6 +17,5 @@ export type RadioButtonProps = typeof __propDef.props;
|
|
|
18
17
|
export type RadioButtonEvents = typeof __propDef.events;
|
|
19
18
|
export type RadioButtonSlots = typeof __propDef.slots;
|
|
20
19
|
export default class RadioButton extends SvelteComponent<RadioButtonProps, RadioButtonEvents, RadioButtonSlots> {
|
|
21
|
-
get label(): "";
|
|
22
20
|
}
|
|
23
21
|
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
<script context="module">
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { TextInput } from './index';
|
|
5
|
+
|
|
6
|
+
export const meta = {
|
|
7
|
+
title: 'Iroco-UI/Form/TextInput',
|
|
8
|
+
component: TextInput,
|
|
9
|
+
argTypes: {
|
|
10
|
+
id: {
|
|
11
|
+
control: { type: 'text' }
|
|
12
|
+
},
|
|
13
|
+
type: {
|
|
14
|
+
control: { type: 'select' },
|
|
15
|
+
options: ['text', 'email', 'password']
|
|
16
|
+
},
|
|
17
|
+
name: {
|
|
18
|
+
control: { type: 'text' }
|
|
19
|
+
},
|
|
20
|
+
label: {
|
|
21
|
+
control: { type: 'text' }
|
|
22
|
+
},
|
|
23
|
+
placeholder: {
|
|
24
|
+
control: { type: 'text' }
|
|
25
|
+
},
|
|
26
|
+
error: {
|
|
27
|
+
control: { type: 'text' }
|
|
28
|
+
},
|
|
29
|
+
htmlError: {
|
|
30
|
+
control: { type: 'text' }
|
|
31
|
+
},
|
|
32
|
+
value: {
|
|
33
|
+
control: { type: 'number' }
|
|
34
|
+
},
|
|
35
|
+
readonly: {
|
|
36
|
+
control: { type: 'boolean' }
|
|
37
|
+
},
|
|
38
|
+
border: {
|
|
39
|
+
control: { type: 'boolean' }
|
|
40
|
+
},
|
|
41
|
+
autocomplete: {
|
|
42
|
+
control: { type: 'text' }
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
args: {
|
|
46
|
+
type: 'text'
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<script>
|
|
52
|
+
import { Story, Template } from '@storybook/addon-svelte-csf';
|
|
53
|
+
|
|
54
|
+
let group = 'bar';
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<Template let:args>
|
|
58
|
+
<form class="iroco-ui-form">
|
|
59
|
+
<TextInput {...args}></TextInput>
|
|
60
|
+
</form>
|
|
61
|
+
</Template>
|
|
62
|
+
|
|
63
|
+
<Story name="Default"></Story>
|
|
64
|
+
<Story name="Text" args={{ type: 'text' }} />
|
|
65
|
+
<Story name="Email" args={{ type: 'email' }} />
|
|
66
|
+
<Story name="Password" args={{ type: 'password' }} />
|
|
67
|
+
<Story name="Label" args={{ label: 'Label' }} />
|
|
68
|
+
<Story name="Error" args={{ error: 'An error message' }} />
|
|
69
|
+
<Story name="Placeholder" args={{ placeholder: 'A placeholder' }} />
|
|
70
|
+
<Story name="Border" args={{ placeholder: 'A placeholder' }} />
|
|
71
|
+
<Story name="Html Error" args={{error:`<details>
|
|
72
|
+
<summary>HTML error</summary>
|
|
73
|
+
<p>Foo bar</p>
|
|
74
|
+
</details>`, htmlError: true }} />
|
|
75
|
+
<Story name="Autocomplete" args={{ type:'text',autocomplete: 'name' }} />
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
export namespace meta {
|
|
2
|
+
export let title: string;
|
|
3
|
+
export { TextInput as component };
|
|
4
|
+
export namespace argTypes {
|
|
5
|
+
export namespace id {
|
|
6
|
+
namespace control {
|
|
7
|
+
let type: string;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export namespace type_1 {
|
|
11
|
+
export namespace control_1 {
|
|
12
|
+
let type_2: string;
|
|
13
|
+
export { type_2 as type };
|
|
14
|
+
}
|
|
15
|
+
export { control_1 as control };
|
|
16
|
+
export let options: string[];
|
|
17
|
+
}
|
|
18
|
+
export { type_1 as type };
|
|
19
|
+
export namespace name {
|
|
20
|
+
export namespace control_2 {
|
|
21
|
+
let type_3: string;
|
|
22
|
+
export { type_3 as type };
|
|
23
|
+
}
|
|
24
|
+
export { control_2 as control };
|
|
25
|
+
}
|
|
26
|
+
export namespace label {
|
|
27
|
+
export namespace control_3 {
|
|
28
|
+
let type_4: string;
|
|
29
|
+
export { type_4 as type };
|
|
30
|
+
}
|
|
31
|
+
export { control_3 as control };
|
|
32
|
+
}
|
|
33
|
+
export namespace placeholder {
|
|
34
|
+
export namespace control_4 {
|
|
35
|
+
let type_5: string;
|
|
36
|
+
export { type_5 as type };
|
|
37
|
+
}
|
|
38
|
+
export { control_4 as control };
|
|
39
|
+
}
|
|
40
|
+
export namespace error {
|
|
41
|
+
export namespace control_5 {
|
|
42
|
+
let type_6: string;
|
|
43
|
+
export { type_6 as type };
|
|
44
|
+
}
|
|
45
|
+
export { control_5 as control };
|
|
46
|
+
}
|
|
47
|
+
export namespace htmlError {
|
|
48
|
+
export namespace control_6 {
|
|
49
|
+
let type_7: string;
|
|
50
|
+
export { type_7 as type };
|
|
51
|
+
}
|
|
52
|
+
export { control_6 as control };
|
|
53
|
+
}
|
|
54
|
+
export namespace value {
|
|
55
|
+
export namespace control_7 {
|
|
56
|
+
let type_8: string;
|
|
57
|
+
export { type_8 as type };
|
|
58
|
+
}
|
|
59
|
+
export { control_7 as control };
|
|
60
|
+
}
|
|
61
|
+
export namespace readonly {
|
|
62
|
+
export namespace control_8 {
|
|
63
|
+
let type_9: string;
|
|
64
|
+
export { type_9 as type };
|
|
65
|
+
}
|
|
66
|
+
export { control_8 as control };
|
|
67
|
+
}
|
|
68
|
+
export namespace border {
|
|
69
|
+
export namespace control_9 {
|
|
70
|
+
let type_10: string;
|
|
71
|
+
export { type_10 as type };
|
|
72
|
+
}
|
|
73
|
+
export { control_9 as control };
|
|
74
|
+
}
|
|
75
|
+
export namespace autocomplete {
|
|
76
|
+
export namespace control_10 {
|
|
77
|
+
let type_11: string;
|
|
78
|
+
export { type_11 as type };
|
|
79
|
+
}
|
|
80
|
+
export { control_10 as control };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
export namespace args {
|
|
84
|
+
let type_12: string;
|
|
85
|
+
export { type_12 as type };
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** @typedef {typeof __propDef.props} TextInputProps */
|
|
89
|
+
/** @typedef {typeof __propDef.events} TextInputEvents */
|
|
90
|
+
/** @typedef {typeof __propDef.slots} TextInputSlots */
|
|
91
|
+
export default class TextInput extends SvelteComponent<{
|
|
92
|
+
[x: string]: never;
|
|
93
|
+
}, {
|
|
94
|
+
[evt: string]: CustomEvent<any>;
|
|
95
|
+
}, {}> {
|
|
96
|
+
}
|
|
97
|
+
export type TextInputProps = typeof __propDef.props;
|
|
98
|
+
export type TextInputEvents = typeof __propDef.events;
|
|
99
|
+
export type TextInputSlots = typeof __propDef.slots;
|
|
100
|
+
import { TextInput } from './index';
|
|
101
|
+
import { SvelteComponent } from "svelte";
|
|
102
|
+
declare const __propDef: {
|
|
103
|
+
props: {
|
|
104
|
+
[x: string]: never;
|
|
105
|
+
};
|
|
106
|
+
events: {
|
|
107
|
+
[evt: string]: CustomEvent<any>;
|
|
108
|
+
};
|
|
109
|
+
slots: {};
|
|
110
|
+
};
|
|
111
|
+
export {};
|
package/dist/TextInput.svelte
CHANGED
|
@@ -91,6 +91,59 @@ function typeAction(node) {
|
|
|
91
91
|
color: #f5f5f5;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
:root {
|
|
95
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
96
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
97
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
98
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
99
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
100
|
+
--color-dark-blue-op-30: #211d284d;
|
|
101
|
+
/* semantic colors */
|
|
102
|
+
--color-primary-light: #82eec7;
|
|
103
|
+
--color-primary: #00d692;
|
|
104
|
+
--color-primary-bg: #00d69280;
|
|
105
|
+
--color-primary-dark: #00a873;
|
|
106
|
+
--color-secondary-light: #ffffff;
|
|
107
|
+
--color-secondary: #f2ebe3;
|
|
108
|
+
--color-secondary-dark: #a9a29e;
|
|
109
|
+
/* feedback */
|
|
110
|
+
--color-success: #00d692;
|
|
111
|
+
--color-success-bg: #00d69280;
|
|
112
|
+
--color-danger: #ff504d;
|
|
113
|
+
--color-danger-bg: #ff504d80;
|
|
114
|
+
--color-warning: #ffe032;
|
|
115
|
+
--color-warning-bg: #ffe03280;
|
|
116
|
+
/* typography */
|
|
117
|
+
--color-text-light: #ffffff;
|
|
118
|
+
--color-text: #f2ebe3;
|
|
119
|
+
--color-text-op-50: #f2ebe380;
|
|
120
|
+
--color-text-op-60: #f2ebe399;
|
|
121
|
+
--color-text-dark: #464452;
|
|
122
|
+
/* border */
|
|
123
|
+
--color-border: #464452;
|
|
124
|
+
/* body */
|
|
125
|
+
--color-body: #211d28;
|
|
126
|
+
/* forms */
|
|
127
|
+
--form-element-border: var(--color-border);
|
|
128
|
+
--form-element-bg: #f2ebe3;
|
|
129
|
+
--form-text-placeholder: #a9a29e;
|
|
130
|
+
/* buttons */
|
|
131
|
+
--btn-primary-bg: #f2ebe3;
|
|
132
|
+
--btn-primary-border: #18151e;
|
|
133
|
+
--btn-primary-label: #f2ebe3;
|
|
134
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
135
|
+
--dark-btn-primary-bg: #18151e;
|
|
136
|
+
--btn-basic-label: #18151e;
|
|
137
|
+
--btn-basic-bg: #f2ebe3;
|
|
138
|
+
--btn-basic-border: #18151e;
|
|
139
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
140
|
+
--btn-disabled-bg: #a9a29e;
|
|
141
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
142
|
+
/* icons */
|
|
143
|
+
--color-icon-primary: #a9a29e;
|
|
144
|
+
--color-icon-secondary: inherit;
|
|
145
|
+
}
|
|
146
|
+
|
|
94
147
|
input,
|
|
95
148
|
textarea {
|
|
96
149
|
outline: none;
|
|
@@ -109,9 +162,9 @@ textarea:focus {
|
|
|
109
162
|
flex-direction: column;
|
|
110
163
|
}
|
|
111
164
|
.iroco-ui-input > input {
|
|
112
|
-
color:
|
|
113
|
-
background:
|
|
114
|
-
border: 1px solid
|
|
165
|
+
color: var(--color-text);
|
|
166
|
+
background: var(--color-body);
|
|
167
|
+
border: 1px solid var(--color-border);
|
|
115
168
|
padding: 1em 1.5em;
|
|
116
169
|
text-overflow: ellipsis;
|
|
117
170
|
white-space: nowrap;
|
|
@@ -119,23 +172,23 @@ textarea:focus {
|
|
|
119
172
|
border-radius: 0.3em;
|
|
120
173
|
}
|
|
121
174
|
.iroco-ui-input > input.border {
|
|
122
|
-
border: 1px solid
|
|
175
|
+
border: 1px solid var(--form-element-border);
|
|
123
176
|
}
|
|
124
177
|
.iroco-ui-input > input::placeholder {
|
|
125
|
-
color:
|
|
178
|
+
color: var(--color-text-op-50);
|
|
126
179
|
}
|
|
127
180
|
.iroco-ui-input > input.error {
|
|
128
|
-
border-color:
|
|
181
|
+
border-color: var(--color-danger);
|
|
129
182
|
}
|
|
130
183
|
.iroco-ui-input > input.readonlyInput {
|
|
131
184
|
cursor: not-allowed;
|
|
132
185
|
}
|
|
133
186
|
.iroco-ui-input .error {
|
|
134
|
-
color:
|
|
187
|
+
color: var(--color-danger);
|
|
135
188
|
}
|
|
136
189
|
|
|
137
190
|
.iroco-ui-label {
|
|
138
|
-
color:
|
|
191
|
+
color: var(--color-text-op-60);
|
|
139
192
|
font-weight: bold;
|
|
140
193
|
padding-bottom: 10px;
|
|
141
194
|
display: inline-block;
|
package/dist/scss/button.scss
CHANGED
|
@@ -7,35 +7,40 @@
|
|
|
7
7
|
cursor: pointer;
|
|
8
8
|
-webkit-touch-callout: none;
|
|
9
9
|
-webkit-user-select: none;
|
|
10
|
-
-khtml-user-select: none;
|
|
11
10
|
-moz-user-select: none;
|
|
12
11
|
-ms-user-select: none;
|
|
13
12
|
user-select: none;
|
|
14
13
|
border: none;
|
|
15
14
|
flex-shrink: 0;
|
|
16
|
-
margin: 1em
|
|
15
|
+
margin: 1em 0;
|
|
17
16
|
position: relative;
|
|
18
17
|
text-transform: uppercase;
|
|
19
18
|
border-radius: constants.$border-radius;
|
|
20
19
|
|
|
21
20
|
&--basic {
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
color: var(--btn-basic-label);
|
|
22
|
+
background: var(--btn-basic-bg);
|
|
23
|
+
border: 1px solid var(--btn-basic-border);
|
|
24
24
|
}
|
|
25
|
+
|
|
25
26
|
&--dark {
|
|
26
|
-
background:
|
|
27
|
-
color:
|
|
27
|
+
background: var(--dark-btn-primary-bg);
|
|
28
|
+
color: var(--dark-btn-primary-label);
|
|
28
29
|
}
|
|
30
|
+
|
|
29
31
|
&--success {
|
|
30
|
-
background:
|
|
31
|
-
color:
|
|
32
|
+
background: var(--color-success);
|
|
33
|
+
color: var(--btn-secondary-label);
|
|
32
34
|
}
|
|
35
|
+
|
|
33
36
|
&--danger {
|
|
34
|
-
background:
|
|
37
|
+
background: var(--color-danger);
|
|
35
38
|
}
|
|
39
|
+
|
|
36
40
|
&--regular {
|
|
37
41
|
padding: 1em 2em;
|
|
38
42
|
}
|
|
43
|
+
|
|
39
44
|
&--small {
|
|
40
45
|
padding: 0.5em 1em;
|
|
41
46
|
}
|
|
@@ -43,19 +48,24 @@
|
|
|
43
48
|
&--basic:hover,
|
|
44
49
|
&--success:hover,
|
|
45
50
|
&--danger:hover {
|
|
46
|
-
box-shadow: inset 0 0 0 10em
|
|
51
|
+
box-shadow: inset 0 0 0 10em var(--color-black-op-20);
|
|
47
52
|
}
|
|
53
|
+
|
|
48
54
|
&--dark:hover {
|
|
49
|
-
box-shadow: inset 0 0 0 10em
|
|
55
|
+
box-shadow: inset 0 0 0 10em var(--color-white-op-20);
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
&:active {
|
|
53
59
|
box-shadow: none;
|
|
54
60
|
}
|
|
55
61
|
|
|
56
|
-
&.disabled
|
|
57
|
-
|
|
62
|
+
&.disabled,
|
|
63
|
+
&:disabled {
|
|
64
|
+
background-color: var(--btn-disabled-bg);
|
|
65
|
+
color: var(--btn-disabled-label);
|
|
66
|
+
border-color: var(--btn-disabled-border);
|
|
58
67
|
cursor: default;
|
|
68
|
+
|
|
59
69
|
&:hover {
|
|
60
70
|
box-shadow: none;
|
|
61
71
|
}
|
|
@@ -66,6 +76,6 @@
|
|
|
66
76
|
background: none;
|
|
67
77
|
border: none;
|
|
68
78
|
font-family: fonts.$arial;
|
|
69
|
-
color:
|
|
79
|
+
color: var(--color-text);
|
|
70
80
|
cursor: pointer;
|
|
71
81
|
}
|
package/dist/scss/colors.scss
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
// Declarative colors
|
|
2
|
+
|
|
1
3
|
$blue: #00b9ff;
|
|
2
4
|
$darkBlue: #211d28;
|
|
3
5
|
$nightBlue: #18151e;
|
|
6
|
+
$greenLight: #82eec7;
|
|
4
7
|
$green: #00d692;
|
|
8
|
+
$greenDark: #00a873;
|
|
5
9
|
$red: #ff504d;
|
|
6
10
|
$yellow: #ffe032;
|
|
11
|
+
$white: #ffffff;
|
|
7
12
|
$beige: #f2ebe3;
|
|
8
13
|
$darkBeige: #a9a29e;
|
|
9
14
|
$mediumGrey: #464452;
|
|
@@ -13,33 +18,110 @@ $lightGrey: #f5f5f5;
|
|
|
13
18
|
.font-color-blue {
|
|
14
19
|
color: $blue;
|
|
15
20
|
}
|
|
21
|
+
|
|
16
22
|
.font-color-darkBlue {
|
|
17
23
|
color: $darkBlue;
|
|
18
24
|
}
|
|
25
|
+
|
|
19
26
|
.font-color-nightBlue {
|
|
20
27
|
color: $nightBlue;
|
|
21
28
|
}
|
|
29
|
+
|
|
22
30
|
.font-color-green {
|
|
23
31
|
color: $green;
|
|
24
32
|
}
|
|
33
|
+
|
|
25
34
|
.font-color-red {
|
|
26
35
|
color: $red;
|
|
27
36
|
}
|
|
37
|
+
|
|
28
38
|
.font-color-yellow {
|
|
29
39
|
color: $yellow;
|
|
30
40
|
}
|
|
41
|
+
|
|
31
42
|
.font-color-beige {
|
|
32
43
|
color: $beige;
|
|
33
44
|
}
|
|
45
|
+
|
|
34
46
|
.font-color-darkBeige {
|
|
35
47
|
color: $darkBeige;
|
|
36
48
|
}
|
|
49
|
+
|
|
37
50
|
.font-color-mediumGrey {
|
|
38
51
|
color: $mediumGrey;
|
|
39
52
|
}
|
|
53
|
+
|
|
40
54
|
.font-color-darkGrey {
|
|
41
55
|
color: $darkGrey;
|
|
42
56
|
}
|
|
57
|
+
|
|
43
58
|
.font-color-lightGrey {
|
|
44
59
|
color: $lightGrey;
|
|
45
60
|
}
|
|
61
|
+
|
|
62
|
+
:root {
|
|
63
|
+
--color-white-op-20: rgba(255, 255, 255, 0.2);
|
|
64
|
+
--color-white-op-30: rgba(255, 255, 255, 0.3);
|
|
65
|
+
|
|
66
|
+
--color-black-op-20: rgba(0, 0, 0, 0.2);
|
|
67
|
+
--color-black-op-40: rgba(0, 0, 0, 0.4);
|
|
68
|
+
--color-black-op-60: rgba(0, 0, 0, 0.6);
|
|
69
|
+
|
|
70
|
+
--color-dark-blue-op-30: #211d284d;
|
|
71
|
+
|
|
72
|
+
/* semantic colors */
|
|
73
|
+
--color-primary-light: #82eec7;
|
|
74
|
+
--color-primary: #00d692;
|
|
75
|
+
--color-primary-bg: #00d69280;
|
|
76
|
+
--color-primary-dark: #00a873;
|
|
77
|
+
|
|
78
|
+
--color-secondary-light: #ffffff;
|
|
79
|
+
--color-secondary: #f2ebe3;
|
|
80
|
+
--color-secondary-dark: #a9a29e;
|
|
81
|
+
|
|
82
|
+
/* feedback */
|
|
83
|
+
--color-success: #00d692;
|
|
84
|
+
--color-success-bg: #00d69280;
|
|
85
|
+
--color-danger: #ff504d;
|
|
86
|
+
--color-danger-bg: #ff504d80;
|
|
87
|
+
--color-warning: #ffe032;
|
|
88
|
+
--color-warning-bg: #ffe03280;
|
|
89
|
+
|
|
90
|
+
/* typography */
|
|
91
|
+
--color-text-light: #ffffff;
|
|
92
|
+
--color-text: #f2ebe3;
|
|
93
|
+
--color-text-op-50: #f2ebe380;
|
|
94
|
+
--color-text-op-60: #f2ebe399;
|
|
95
|
+
--color-text-dark: #464452;
|
|
96
|
+
|
|
97
|
+
/* border */
|
|
98
|
+
--color-border: #464452;
|
|
99
|
+
|
|
100
|
+
/* body */
|
|
101
|
+
--color-body: #211d28;
|
|
102
|
+
|
|
103
|
+
/* forms */
|
|
104
|
+
--form-element-border: var(--color-border);
|
|
105
|
+
--form-element-bg: #f2ebe3;
|
|
106
|
+
--form-text-placeholder: #a9a29e;
|
|
107
|
+
|
|
108
|
+
/* buttons */
|
|
109
|
+
--btn-primary-bg: #f2ebe3;
|
|
110
|
+
--btn-primary-border: #18151e;
|
|
111
|
+
--btn-primary-label: #f2ebe3;
|
|
112
|
+
|
|
113
|
+
--dark-btn-primary-label: #f2ebe3;
|
|
114
|
+
--dark-btn-primary-bg: #18151e;
|
|
115
|
+
|
|
116
|
+
--btn-basic-label: #18151e;
|
|
117
|
+
--btn-basic-bg: #f2ebe3;
|
|
118
|
+
--btn-basic-border: #18151e;
|
|
119
|
+
|
|
120
|
+
--btn-disabled-label: var(--color-black-op-60);
|
|
121
|
+
--btn-disabled-bg: #a9a29e;
|
|
122
|
+
--btn-disabled-border: var(--color-black-op-60);
|
|
123
|
+
|
|
124
|
+
/* icons */
|
|
125
|
+
--color-icon-primary: #a9a29e;
|
|
126
|
+
--color-icon-secondary: inherit;
|
|
127
|
+
}
|