@ilo-org/styles 0.0.1

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 (55) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +74 -0
  3. package/build/css/components/index.css +5924 -0
  4. package/build/css/components/index.css.map +1 -0
  5. package/build/css/index.css +6183 -0
  6. package/build/css/index.css.map +1 -0
  7. package/package.json +35 -0
  8. package/scss/_animations.scss +29 -0
  9. package/scss/_config.scss +6 -0
  10. package/scss/_functions.scss +126 -0
  11. package/scss/_mixins.scss +331 -0
  12. package/scss/_reset.scss +166 -0
  13. package/scss/_tokens.scss +5 -0
  14. package/scss/_typography.scss +72 -0
  15. package/scss/components/_accordion.scss +102 -0
  16. package/scss/components/_breadcrumb.scss +258 -0
  17. package/scss/components/_button.scss +272 -0
  18. package/scss/components/_callout.scss +151 -0
  19. package/scss/components/_card.scss +667 -0
  20. package/scss/components/_cardgroup.scss +45 -0
  21. package/scss/components/_checkbox.scss +124 -0
  22. package/scss/components/_contextmenu.scss +75 -0
  23. package/scss/components/_credit.scss +82 -0
  24. package/scss/components/_datepicker.scss +19 -0
  25. package/scss/components/_dropdown.scss +115 -0
  26. package/scss/components/_empty.scss +33 -0
  27. package/scss/components/_fieldset.scss +74 -0
  28. package/scss/components/_file-upload.scss +130 -0
  29. package/scss/components/_footer.scss +329 -0
  30. package/scss/components/_formgroup.scss +20 -0
  31. package/scss/components/_heading.scss +74 -0
  32. package/scss/components/_hero.scss +445 -0
  33. package/scss/components/_image.scss +42 -0
  34. package/scss/components/_input.scss +71 -0
  35. package/scss/components/_link.scss +6 -0
  36. package/scss/components/_linklist.scss +148 -0
  37. package/scss/components/_list.scss +79 -0
  38. package/scss/components/_loading.scss +93 -0
  39. package/scss/components/_modal.scss +84 -0
  40. package/scss/components/_notification.scss +162 -0
  41. package/scss/components/_pagination.scss +238 -0
  42. package/scss/components/_profile.scss +138 -0
  43. package/scss/components/_radio.scss +121 -0
  44. package/scss/components/_readmore.scss +53 -0
  45. package/scss/components/_richtext.scss +390 -0
  46. package/scss/components/_searchfield.scss +66 -0
  47. package/scss/components/_table.scss +177 -0
  48. package/scss/components/_tableofcontents.scss +98 -0
  49. package/scss/components/_tabs.scss +194 -0
  50. package/scss/components/_tag.scss +103 -0
  51. package/scss/components/_textarea.scss +89 -0
  52. package/scss/components/_tooltip.scss +198 -0
  53. package/scss/components/_video.scss +674 -0
  54. package/scss/components/index.scss +39 -0
  55. package/scss/index.scss +11 -0
@@ -0,0 +1,272 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @import "../mixins";
4
+
5
+ .ilo--button {
6
+ display: inline-block;
7
+ font-family: $fonts-display;
8
+ font-weight: map-get($type, "weights", "label");
9
+ padding: 0;
10
+ @include borderradius("button");
11
+
12
+ .link__label,
13
+ .button__label {
14
+ display: inline-block;
15
+ }
16
+
17
+ &.icon {
18
+ position: relative;
19
+
20
+ .ilo--icon {
21
+ height: 100%;
22
+ max-height: calc($spacing-icons-icon-height-lg * 2);
23
+ max-width: calc($spacing-icons-icon-height-lg * 2);
24
+ position: absolute;
25
+ width: 100%;
26
+ }
27
+
28
+ &.icon__position--left {
29
+ .link__label,
30
+ .button__label {
31
+ padding-left: $spacing-boxpadding-button-icon-large-left;
32
+ }
33
+
34
+ .ilo--icon {
35
+ left: calc($spacing-icons-icon-padding-lg - 9px);
36
+ top: calc($spacing-boxpadding-button-icon-large-top - 3px);
37
+ }
38
+ }
39
+
40
+ &.icon__position--right {
41
+ .link__label,
42
+ .button__label {
43
+ padding-right: $spacing-boxpadding-button-icon-large-right;
44
+ }
45
+
46
+ .ilo--icon {
47
+ right: calc($spacing-icons-icon-padding-lg - 9px);
48
+ top: calc($spacing-boxpadding-button-icon-large-top - 3px);
49
+ }
50
+ }
51
+
52
+ &--only {
53
+ height: px-to-rem($spacing-padding-3);
54
+ width: px-to-rem($spacing-padding-3);
55
+
56
+ .ilo--icon {
57
+ left: 0;
58
+ top: 0;
59
+ }
60
+
61
+ .button__label {
62
+ @include isVisuallyHidden();
63
+ }
64
+ }
65
+ }
66
+
67
+ &--large {
68
+ .link__label,
69
+ .button__label {
70
+ @include boxpadding("button", "large");
71
+ @include font-styles("button-large");
72
+ }
73
+ }
74
+
75
+ &--medium {
76
+ .link__label,
77
+ .button__label {
78
+ @include boxpadding("button", "medium");
79
+ @include font-styles("button-medium");
80
+ }
81
+
82
+ &.icon {
83
+ .ilo--icon {
84
+ max-height: calc($spacing-icons-icon-height-m * 2);
85
+ max-width: calc($spacing-icons-icon-height-m * 2);
86
+ position: absolute;
87
+ }
88
+
89
+ &.icon__position--left {
90
+ .link__label,
91
+ .button__label {
92
+ padding-left: $spacing-boxpadding-button-icon-medium-left;
93
+ }
94
+
95
+ .ilo--icon {
96
+ left: calc($spacing-icons-icon-padding-m - 9px);
97
+ top: calc($spacing-boxpadding-button-icon-medium-top - 6px);
98
+ }
99
+ }
100
+
101
+ &.icon__position--right {
102
+ .link__label,
103
+ .button__label {
104
+ padding-right: $spacing-boxpadding-button-icon-medium-right;
105
+ }
106
+
107
+ .ilo--icon {
108
+ right: calc($spacing-icons-icon-padding-m - 9px);
109
+ top: calc($spacing-boxpadding-button-icon-medium-top - 6px);
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ &--small {
116
+ .link__label,
117
+ .button__label {
118
+ @include boxpadding("button", "small");
119
+ @include font-styles("button-small");
120
+ }
121
+
122
+ &.icon {
123
+ .ilo--icon {
124
+ max-height: calc($spacing-icons-icon-height-sm * 2);
125
+ max-width: calc($spacing-icons-icon-height-sm * 2);
126
+ position: absolute;
127
+ }
128
+
129
+ &.icon__position--left {
130
+ .link__label,
131
+ .button__label {
132
+ padding-left: $spacing-boxpadding-button-icon-small-left;
133
+ }
134
+
135
+ .ilo--icon {
136
+ left: calc($spacing-icons-icon-padding-sm - 9px);
137
+ top: calc($spacing-boxpadding-button-icon-small-top - 4px);
138
+ }
139
+ }
140
+
141
+ &.icon__position--right {
142
+ .link__label,
143
+ .button__label {
144
+ padding-right: $spacing-boxpadding-button-icon-small-right;
145
+ }
146
+
147
+ .ilo--icon {
148
+ right: calc($spacing-icons-icon-padding-sm - 9px);
149
+ top: calc($spacing-boxpadding-button-icon-small-top - 4px);
150
+ }
151
+ }
152
+ }
153
+ }
154
+
155
+ &--primary {
156
+ background-color: map-get($color, "ux", "background", "attention");
157
+ border: map-get($borders, "base")
158
+ map-get($color, "ux", "borders", "attention") solid;
159
+ color: map-get($color, "ux", "labels", "actionable");
160
+ }
161
+
162
+ &:focus {
163
+ background-color: map-get($color, "ux", "background", "focus");
164
+ border: map-get($borders, "base") map-get($color, "ux", "borders", "focus")
165
+ solid;
166
+ box-shadow: 4px 4px 0 1px map-get($color, "ux", "borders", "focus") inset,
167
+ -4px -4px 0 1px map-get($color, "ux", "borders", "focus") inset;
168
+ color: map-get($color, "ux", "labels", "focus");
169
+ outline: none;
170
+
171
+ &.ilo--button--small {
172
+ box-shadow: 3px 3px 0 1px map-get($color, "ux", "borders", "focus") inset,
173
+ -3px -3px 0 1px map-get($color, "ux", "borders", "focus") inset;
174
+ }
175
+ }
176
+
177
+ &:hover {
178
+ background-color: map-get($color, "ux", "background", "hover");
179
+ border: map-get($borders, "base") map-get($color, "ux", "borders", "hover")
180
+ solid;
181
+ box-shadow: none;
182
+ color: map-get($color, "ux", "labels", "hover");
183
+ cursor: pointer;
184
+
185
+ &.ilo--button--small {
186
+ box-shadow: none;
187
+ }
188
+ }
189
+
190
+ &:active {
191
+ background-color: map-get($color, "ux", "background", "active");
192
+ border: map-get($borders, "base") map-get($color, "ux", "borders", "active")
193
+ solid;
194
+ box-shadow: none;
195
+ color: map-get($color, "ux", "labels", "active");
196
+
197
+ &.ilo--button--small {
198
+ box-shadow: none;
199
+ }
200
+ }
201
+
202
+ &:disabled {
203
+ opacity: map-get($opacity, "disabled");
204
+ pointer-events: none;
205
+ }
206
+
207
+ &--secondary {
208
+ background-color: map-get($color, "ux", "background", "default");
209
+ border: map-get($borders, "small")
210
+ map-get($color, "ux", "borders", "default") solid;
211
+ color: map-get($color, "ux", "labels", "actionable");
212
+
213
+ &:hover {
214
+ background-color: map-get($color, "ux", "background", "hover");
215
+ border: map-get($borders, "small")
216
+ map-get($color, "ux", "borders", "hover") solid;
217
+ }
218
+
219
+ &:active {
220
+ background-color: map-get($color, "ux", "background", "active");
221
+ border: map-get($borders, "base")
222
+ map-get($color, "ux", "borders", "active") solid;
223
+ box-shadow: none;
224
+ color: map-get($color, "ux", "labels", "active");
225
+
226
+ &.ilo--button--small {
227
+ box-shadow: none;
228
+ }
229
+ }
230
+ }
231
+
232
+ &--tertiary {
233
+ background-color: map-get($color, "ux", "background", "highlight");
234
+ border: map-get($borders, "base")
235
+ map-get($color, "ux", "background", "highlight") solid;
236
+ color: map-get($color, "ux", "labels", "actionable");
237
+ }
238
+
239
+ &--alert {
240
+ background-color: map-get($color, "ux", "background", "alert");
241
+ border: map-get($borders, "small") map-get($color, "ux", "borders", "alert")
242
+ solid;
243
+ color: map-get($color, "ux", "labels", "alert");
244
+
245
+ &:hover {
246
+ background-color: map-get($color, "ux", "background", "hover");
247
+ border: map-get($borders, "small")
248
+ map-get($color, "ux", "borders", "hover") solid;
249
+ color: map-get($color, "ux", "labels", "hover");
250
+ }
251
+
252
+ &:focus {
253
+ background-color: map-get($color, "ux", "background", "focus");
254
+ border: map-get($borders, "base")
255
+ map-get($color, "ux", "borders", "focus") solid;
256
+ color: map-get($color, "ux", "labels", "focus");
257
+ outline: none;
258
+ }
259
+
260
+ &:active {
261
+ background-color: map-get($color, "ux", "background", "active");
262
+ border: map-get($borders, "base")
263
+ map-get($color, "ux", "borders", "active") solid;
264
+ box-shadow: none;
265
+ color: map-get($color, "ux", "labels", "active");
266
+
267
+ &.ilo--button--small {
268
+ box-shadow: none;
269
+ }
270
+ }
271
+ }
272
+ }
@@ -0,0 +1,151 @@
1
+ @use "../tokens" as *;
2
+ @use "../functions" as *;
3
+ @import "../mixins";
4
+
5
+ .ilo--callout {
6
+ display: flex;
7
+ transition: max-height 0.2s ease-in-out;
8
+ $self: &;
9
+
10
+ &--collapse:not(.ilo--callout--open) {
11
+ max-height: 68px;
12
+ overflow: hidden;
13
+ }
14
+
15
+ &--open {
16
+ max-height: 300px;
17
+ overflow: hidden;
18
+
19
+ #{$self}--toggle--icon {
20
+ transform: translateY(-50%) rotate(180deg);
21
+ }
22
+ }
23
+
24
+ &--sidebar {
25
+ padding: px-to-rem($spacing-padding-3 + 2) px-to-rem(12px);
26
+ width: px-to-rem(40px);
27
+ }
28
+
29
+ &--content {
30
+ padding: px-to-rem($spacing-padding-3 + 2) px-to-rem($spacing-padding-3 - 2)
31
+ px-to-rem($spacing-padding-3);
32
+ width: 100%;
33
+ }
34
+
35
+ &--copy {
36
+ @include font-styles("body-xs");
37
+
38
+ &:not(:last-child) {
39
+ margin-bottom: px-to-rem($spacing-padding-3);
40
+ }
41
+ }
42
+
43
+ &--header {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ padding: 0 0 px-to-rem(24px);
47
+ }
48
+
49
+ &--headline {
50
+ @include font-styles("nav-bold-b");
51
+
52
+ font-family: $fonts-display;
53
+ font-weight: 700;
54
+ }
55
+
56
+ &--toggle {
57
+ @include font-styles("nav-bold-b");
58
+
59
+ background: none;
60
+ border: none;
61
+ color: $brand-ilo-dark-blue;
62
+ cursor: pointer;
63
+ font-family: $fonts-display;
64
+ font-weight: 500;
65
+ padding-right: 36px;
66
+ position: relative;
67
+
68
+ &--icon {
69
+ @include dataurlicon("arrow", $brand-ilo-dark-blue);
70
+
71
+ background-position: right;
72
+ background-repeat: no-repeat;
73
+ display: inline-block;
74
+ height: 24px;
75
+ position: absolute;
76
+ right: 0;
77
+ top: 50%;
78
+ transform: translateY(-50%) rotate(0);
79
+ transition: transform 0.2s ease-in-out;
80
+ width: 23px;
81
+ }
82
+ }
83
+
84
+ &--footer {
85
+ padding: px-to-rem(24px) 0 0 0;
86
+ }
87
+
88
+ .icon {
89
+ background-repeat: no-repeat;
90
+ background-size: contain;
91
+ display: block;
92
+ height: 16px;
93
+ width: 16px;
94
+
95
+ &--error {
96
+ background-color: $color-ux-notification-type-error;
97
+
98
+ @include dataurlicon("error", $color-ux-notification-icon);
99
+ }
100
+
101
+ &--info {
102
+ background-color: $color-ux-notification-type-info;
103
+
104
+ @include dataurlicon("info", $color-ux-notification-icon);
105
+ }
106
+
107
+ &--success {
108
+ background-color: $color-ux-notification-type-success;
109
+
110
+ @include dataurlicon("success", $color-ux-notification-icon);
111
+ }
112
+
113
+ &--warning {
114
+ background-color: $color-ux-notification-type-warning;
115
+
116
+ @include dataurlicon("warning", $color-ux-notification-icon);
117
+ }
118
+ }
119
+
120
+ &--error {
121
+ background: $brand-ilo-ramp-red;
122
+
123
+ #{$self}--sidebar {
124
+ background: $brand-ilo-red;
125
+ }
126
+ }
127
+
128
+ &--info {
129
+ background: $brand-ilo-ramp-blue;
130
+
131
+ #{$self}--sidebar {
132
+ background: $brand-ilo-blue;
133
+ }
134
+ }
135
+
136
+ &--success {
137
+ background: $brand-ilo-ramp-green;
138
+
139
+ #{$self}--sidebar {
140
+ background: $brand-ilo-green;
141
+ }
142
+ }
143
+
144
+ &--warning {
145
+ background: $brand-ilo-ramp-yellow;
146
+
147
+ #{$self}--sidebar {
148
+ background: $brand-ilo-yellow;
149
+ }
150
+ }
151
+ }