vanilla-framework 4.6.0 → 4.8.0

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 (37) hide show
  1. package/package.json +12 -13
  2. package/scss/_base.scss +2 -0
  3. package/scss/_base_background.scss +2 -6
  4. package/scss/_base_forms.scss +23 -104
  5. package/scss/_base_hr.scss +5 -39
  6. package/scss/_base_icon-definitions.scss +335 -46
  7. package/scss/_base_links.scss +2 -10
  8. package/scss/_base_placeholders.scss +1 -1
  9. package/scss/_base_tables.scss +2 -2
  10. package/scss/_base_themes.scss +52 -0
  11. package/scss/_base_typography-definitions.scss +1 -1
  12. package/scss/_global_functions.scss +10 -0
  13. package/scss/_layouts_application-panels.scss +1 -1
  14. package/scss/_patterns_chip.scss +156 -189
  15. package/scss/_patterns_contextual-menu.scss +16 -75
  16. package/scss/_patterns_divider.scss +5 -35
  17. package/scss/_patterns_form-help-text.scss +1 -29
  18. package/scss/_patterns_form-password-toggle.scss +1 -1
  19. package/scss/_patterns_form-tick-elements.scss +12 -129
  20. package/scss/_patterns_form-validation.scss +31 -229
  21. package/scss/_patterns_icons.scss +623 -442
  22. package/scss/_patterns_links.scss +12 -9
  23. package/scss/_patterns_lists.scss +0 -31
  24. package/scss/_patterns_navigation.scss +66 -13
  25. package/scss/_patterns_notifications.scss +21 -12
  26. package/scss/_patterns_search-box.scss +20 -99
  27. package/scss/_patterns_section.scss +12 -1
  28. package/scss/_patterns_side-navigation-expandable.scss +18 -55
  29. package/scss/_patterns_side-navigation.scss +117 -317
  30. package/scss/_patterns_strip.scss +87 -21
  31. package/scss/_patterns_suru.scss +126 -10
  32. package/scss/_patterns_table-mobile-card.scss +1 -1
  33. package/scss/_patterns_table-sortable.scss +2 -2
  34. package/scss/_patterns_tabs.scss +23 -74
  35. package/scss/_settings_colors.scss +164 -2
  36. package/scss/_settings_placeholders.scss +4 -1
  37. package/scss/_settings_themes.scss +6 -6
@@ -14,7 +14,7 @@ $color-input-shadow: rgba($color-x-dark, 0.12) !default;
14
14
 
15
15
  // SEMANTIC COLOURS
16
16
  $color-negative: #c7162b !default;
17
- $color-caution: #f99b11 !default;
17
+ $color-caution: #cc7900 !default;
18
18
  $color-positive: #0e8420 !default;
19
19
  $color-information: #24598f !default;
20
20
 
@@ -85,6 +85,10 @@ $states: (
85
85
  // --text-disabled - dimmed version of default text color, to be used on disabled controls
86
86
  // --text-muted - muted version of default text color, to be used on elements with less prominence
87
87
  //
88
+ // Link colors:
89
+ // --link-default - default link color
90
+ // --link-visited - visited link color
91
+ //
88
92
  // Background colors:
89
93
  // --background - default background color
90
94
  // --background-alt - alternative version of background color, to be used to differentiate given surface
@@ -102,6 +106,9 @@ $colors--light-theme--text-default: #000 !default;
102
106
  $colors--light-theme--text-muted: rgba($color-x-dark, $muted-text-opacity-amount) !default;
103
107
  $colors--light-theme--text-inactive: rgba($color-x-dark, $inactive-text-opacity-amount) !default;
104
108
 
109
+ $colors--light-theme--link-default: $color-link !default;
110
+ $colors--light-theme--link-visited: $color-link-visited !default;
111
+
105
112
  $colors--light-theme--background-default: #fff !default;
106
113
  $colors--light-theme--background-alt: #f7f7f7 !default;
107
114
  $colors--light-theme--background-inputs: adjust-color($color-x-dark, $lightness: 100% * (1 - $input-background-opacity-amount)) !default;
@@ -113,6 +120,10 @@ $colors--light-theme--border-default: rgba($color-x-dark, 0.2) !default;
113
120
  $colors--light-theme--border-high-contrast: rgba($color-x-dark, 0.56) !default;
114
121
  $colors--light-theme--border-low-contrast: rgba($color-x-dark, 0.1) !default;
115
122
 
123
+ $colors--light-theme--icon: $colors--light-theme--text-default !default;
124
+
125
+ $colors--light-theme--icon: $colors--light-theme--text-default !default;
126
+
116
127
  $colors-light-theme--tinted-backgrounds: (
117
128
  neutral: (
118
129
  default: #f2f2f2,
@@ -144,7 +155,7 @@ $colors-light-theme--tinted-backgrounds: (
144
155
  $colors-light-theme--tinted-borders: (
145
156
  neutral: $colors--light-theme--border-high-contrast,
146
157
  positive: $color-positive,
147
- caution: hsl(27deg 100% 39%),
158
+ caution: $color-caution,
148
159
  negative: $color-negative,
149
160
  information: $color-information,
150
161
  );
@@ -155,6 +166,9 @@ $colors--dark-theme--text-hover: hsl(0, 0%, 76%) !default; // minimum contrast o
155
166
  $colors--dark-theme--text-muted: rgba($colors--dark-theme--text-default, $muted-text-opacity-amount) !default;
156
167
  $colors--dark-theme--text-inactive: rgba($colors--dark-theme--text-default, $inactive-text-opacity-amount) !default;
157
168
 
169
+ $colors--dark-theme--link-default: $color-link-dark !default;
170
+ $colors--dark-theme--link-visited: $color-link-visited-dark !default;
171
+
158
172
  $colors--dark-theme--background-default: #262626 !default;
159
173
  $colors--dark-theme--background-alt: #2d2d2d !default;
160
174
  $colors--dark-theme--background-inputs: rgba($colors--dark-theme--text-default, $input-background-opacity-amount) !default;
@@ -166,6 +180,10 @@ $colors--dark-theme--border-default: rgba($colors--dark-theme--text-default, 0.3
166
180
  $colors--dark-theme--border-high-contrast: rgba($colors--dark-theme--text-default, 0.5) !default;
167
181
  $colors--dark-theme--border-low-contrast: rgba($colors--dark-theme--text-default, 0.05) !default;
168
182
 
183
+ $colors--dark-theme--icon: $colors--dark-theme--text-default !default;
184
+
185
+ $colors--dark-theme--icon: $colors--dark-theme--text-default !default;
186
+
169
187
  $colors-dark-theme--tinted-backgrounds: (
170
188
  neutral: (
171
189
  default: rgba(255, 255, 255, 0.15),
@@ -207,6 +225,150 @@ $colors--paper-theme--background-inputs: rgba($color-x-dark, $input-background-o
207
225
  $colors--paper-theme--background-active: rgba($color-x-dark, $active-background-opacity-amount) !default;
208
226
  $colors--paper-theme--background-hover: rgba($color-x-dark, $hover-background-opacity-amount) !default;
209
227
 
228
+ // Current theme (based on CSS variables)
229
+ // This is a mapping between SCSS variable and it's CSS property equivalent.
230
+ // These SCSS variables should be used in components as colour values.
231
+ // See _base_themes.scss for CSS custom properties definitions.
232
+ $colors--theme--text-default: var(--vf-color-text-default);
233
+ $colors--theme--text-muted: var(--vf-color-text-muted);
234
+ $colors--theme--text-inactive: var(--vf-color-text-inactive);
235
+
236
+ $colors--theme--link-default: var(--vf-color-link-default);
237
+ $colors--theme--link-visited: var(--vf-color-link-visited);
238
+
239
+ $colors--theme--background-default: var(--vf-color-background-default);
240
+ $colors--theme--background-alt: var(--vf-color-background-alt);
241
+ $colors--theme--background-inputs: var(--vf-color-background-inputs);
242
+ $colors--theme--background-active: var(--vf-color-background-active);
243
+ $colors--theme--background-hover: var(--vf-color-background-hover);
244
+ $colors--theme--background-overlay: var(--vf-color-background-overlay);
245
+
246
+ $colors--theme--border-default: var(--vf-color-border-default);
247
+ $colors--theme--border-high-contrast: var(--vf-color-border-high-contrast);
248
+ $colors--theme--border-low-contrast: var(--vf-color-border-low-contrast);
249
+
250
+ $colors--theme--border-neutral: var(--vf-color-border-neutral);
251
+ $colors--theme--border-positive: var(--vf-color-border-positive);
252
+ $colors--theme--border-negative: var(--vf-color-border-negative);
253
+ $colors--theme--border-information: var(--vf-color-border-information);
254
+ $colors--theme--border-caution: var(--vf-color-border-caution);
255
+
256
+ $colors--theme--background-neutral-default: var(--vf-color-background-neutral-default);
257
+ $colors--theme--background-neutral-hover: var(--vf-color-background-neutral-hover);
258
+ $colors--theme--background-neutral-active: var(--vf-color-background-neutral-active);
259
+ $colors--theme--background-positive-default: var(--vf-color-background-positive-default);
260
+ $colors--theme--background-positive-hover: var(--vf-color-background-positive-hover);
261
+ $colors--theme--background-positive-active: var(--vf-color-background-positive-active);
262
+ $colors--theme--background-caution-default: var(--vf-color-background-caution-default);
263
+ $colors--theme--background-caution-hover: var(--vf-color-background-caution-hover);
264
+ $colors--theme--background-caution-active: var(--vf-color-background-caution-active);
265
+ $colors--theme--background-negative-default: var(--vf-color-background-negative-default);
266
+ $colors--theme--background-negative-hover: var(--vf-color-background-negative-hover);
267
+ $colors--theme--background-negative-active: var(--vf-color-background-negative-active);
268
+ $colors--theme--background-information-default: var(--vf-color-background-information-default);
269
+ $colors--theme--background-information-hover: var(--vf-color-background-information-hover);
270
+ $colors--theme--background-information-active: var(--vf-color-background-information-active);
271
+
272
+ // Theme colors exposed as CSS custom properties
273
+ @mixin vf-theme-light--colors {
274
+ // SCSS variables need to be interpolated to work in CSS custom properties
275
+ --vf-color-text-default: #{$colors--light-theme--text-default};
276
+ --vf-color-text-muted: #{$colors--light-theme--text-muted};
277
+ --vf-color-text-inactive: #{$colors--light-theme--text-inactive};
278
+
279
+ --vf-color-link-default: #{$colors--light-theme--link-default};
280
+ --vf-color-link-visited: #{$colors--light-theme--link-visited};
281
+
282
+ --vf-color-background-default: #{$colors--light-theme--background-default};
283
+ --vf-color-background-alt: #{$colors--light-theme--background-alt};
284
+ --vf-color-background-inputs: #{$colors--light-theme--background-inputs};
285
+ --vf-color-background-active: #{$colors--light-theme--background-active};
286
+ --vf-color-background-hover: #{$colors--light-theme--background-hover};
287
+ --vf-color-background-overlay: #{$colors--light-theme--background-overlay};
288
+
289
+ --vf-color-border-default: #{$colors--light-theme--border-default};
290
+ --vf-color-border-high-contrast: #{$colors--light-theme--border-high-contrast};
291
+ --vf-color-border-low-contrast: #{$colors--light-theme--border-low-contrast};
292
+
293
+ --vf-color-border-neutral: #{map-get($colors-light-theme--tinted-borders, neutral)};
294
+ --vf-color-border-positive: #{map-get($colors-light-theme--tinted-borders, positive)};
295
+ --vf-color-border-negative: #{map-get($colors-light-theme--tinted-borders, negative)};
296
+ --vf-color-border-information: #{map-get($colors-light-theme--tinted-borders, information)};
297
+ --vf-color-border-caution: #{map-get($colors-light-theme--tinted-borders, caution)};
298
+
299
+ --vf-color-background-neutral-default: #{map-get($colors-light-theme--tinted-backgrounds, neutral, default)};
300
+ --vf-color-background-neutral-hover: #{map-get($colors-light-theme--tinted-backgrounds, neutral, 'hover')};
301
+ --vf-color-background-neutral-active: #{map-get($colors-light-theme--tinted-backgrounds, neutral, active)};
302
+ --vf-color-background-positive-default: #{map-get($colors-light-theme--tinted-backgrounds, positive, default)};
303
+ --vf-color-background-positive-hover: #{map-get($colors-light-theme--tinted-backgrounds, positive, 'hover')};
304
+ --vf-color-background-positive-active: #{map-get($colors-light-theme--tinted-backgrounds, positive, active)};
305
+ --vf-color-background-caution-default: #{map-get($colors-light-theme--tinted-backgrounds, caution, default)};
306
+ --vf-color-background-caution-hover: #{map-get($colors-light-theme--tinted-backgrounds, caution, 'hover')};
307
+ --vf-color-background-caution-active: #{map-get($colors-light-theme--tinted-backgrounds, caution, active)};
308
+ --vf-color-background-negative-default: #{map-get($colors-light-theme--tinted-backgrounds, negative, default)};
309
+ --vf-color-background-negative-hover: #{map-get($colors-light-theme--tinted-backgrounds, negative, 'hover')};
310
+ --vf-color-background-negative-active: #{map-get($colors-light-theme--tinted-backgrounds, negative, active)};
311
+ --vf-color-background-information-default: #{map-get($colors-light-theme--tinted-backgrounds, information, default)};
312
+ --vf-color-background-information-hover: #{map-get($colors-light-theme--tinted-backgrounds, information, 'hover')};
313
+ --vf-color-background-information-active: #{map-get($colors-light-theme--tinted-backgrounds, information, active)};
314
+ }
315
+
316
+ @mixin vf-theme-dark--colors {
317
+ // SCSS variables need to be interpolated to work in CSS custom properties
318
+ --vf-color-text-default: #{$colors--dark-theme--text-default};
319
+ --vf-color-text-muted: #{$colors--dark-theme--text-muted};
320
+ --vf-color-text-inactive: #{$colors--dark-theme--text-inactive};
321
+
322
+ --vf-color-link-default: #{$colors--dark-theme--link-default};
323
+ --vf-color-link-visited: #{$colors--dark-theme--link-visited};
324
+
325
+ --vf-color-background-default: #{$colors--dark-theme--background-default};
326
+ --vf-color-background-alt: #{$colors--dark-theme--background-alt};
327
+ --vf-color-background-inputs: #{$colors--dark-theme--background-inputs};
328
+ --vf-color-background-active: #{$colors--dark-theme--background-active};
329
+ --vf-color-background-hover: #{$colors--dark-theme--background-hover};
330
+ --vf-color-background-overlay: #{$colors--dark-theme--background-overlay};
331
+
332
+ --vf-color-border-default: #{$colors--dark-theme--border-default};
333
+ --vf-color-border-high-contrast: #{$colors--dark-theme--border-high-contrast};
334
+ --vf-color-border-low-contrast: #{$colors--dark-theme--border-low-contrast};
335
+
336
+ --vf-color-border-neutral: #{map-get($colors-dark-theme--tinted-borders, neutral)};
337
+ --vf-color-border-positive: #{map-get($colors-dark-theme--tinted-borders, positive)};
338
+ --vf-color-border-negative: #{map-get($colors-dark-theme--tinted-borders, negative)};
339
+ --vf-color-border-information: #{map-get($colors-dark-theme--tinted-borders, information)};
340
+ --vf-color-border-caution: #{map-get($colors-dark-theme--tinted-borders, caution)};
341
+
342
+ --vf-color-background-neutral-default: #{map-get($colors-dark-theme--tinted-backgrounds, neutral, default)};
343
+ --vf-color-background-neutral-hover: #{map-get($colors-dark-theme--tinted-backgrounds, neutral, hover)};
344
+ --vf-color-background-neutral-active: #{map-get($colors-dark-theme--tinted-backgrounds, neutral, active)};
345
+ --vf-color-background-positive-default: #{map-get($colors-dark-theme--tinted-backgrounds, positive, default)};
346
+ --vf-color-background-positive-hover: #{map-get($colors-dark-theme--tinted-backgrounds, positive, hover)};
347
+ --vf-color-background-positive-active: #{map-get($colors-dark-theme--tinted-backgrounds, positive, active)};
348
+ --vf-color-background-caution-default: #{map-get($colors-dark-theme--tinted-backgrounds, caution, default)};
349
+ --vf-color-background-caution-hover: #{map-get($colors-dark-theme--tinted-backgrounds, caution, hover)};
350
+ --vf-color-background-caution-active: #{map-get($colors-dark-theme--tinted-backgrounds, caution, active)};
351
+ --vf-color-background-negative-default: #{map-get($colors-dark-theme--tinted-backgrounds, negative, default)};
352
+ --vf-color-background-negative-hover: #{map-get($colors-dark-theme--tinted-backgrounds, negative, hover)};
353
+ --vf-color-background-negative-active: #{map-get($colors-dark-theme--tinted-backgrounds, negative, active)};
354
+ --vf-color-background-information-default: #{map-get($colors-dark-theme--tinted-backgrounds, information, default)};
355
+ --vf-color-background-information-hover: #{map-get($colors-dark-theme--tinted-backgrounds, information, hover)};
356
+ --vf-color-background-information-active: #{map-get($colors-dark-theme--tinted-backgrounds, information, active)};
357
+ }
358
+
359
+ @mixin vf-theme-paper--colors {
360
+ // paper theme is based on light theme with some background colours adjusted
361
+ @include vf-theme-light--colors;
362
+
363
+ // SCSS variables need to be interpolated to work in CSS custom properties
364
+ --vf-color-background-default: #{$color-paper};
365
+ --vf-color-background-alt: #{$color-x-light};
366
+
367
+ --vf-color-background-inputs: #{$colors--paper-theme--background-inputs};
368
+ --vf-color-background-active: #{$colors--paper-theme--background-active};
369
+ --vf-color-background-hover: #{$colors--paper-theme--background-hover};
370
+ }
371
+
210
372
  // Branding colors
211
373
  $color-ubuntu: #e95420; // Ubuntu orange, should not be overridden
212
374
  $color-brand: $color-ubuntu !default;
@@ -6,5 +6,8 @@ $input-border-thickness: 1.5px;
6
6
  $bar-thickness: 0.1875rem !default; // 3px at 16px fontsize, expressed in rems so it scales with text if the root font-size changes at a breakpoint
7
7
  $border-radius: 0; // deprecated, will be removed in future version of Vanilla
8
8
  $border: $input-border-thickness solid $color-mid-light !default;
9
- $box-shadow: 0 1px 1px 0 transparentize($color-x-dark, 0.85), 0 2px 2px -1px transparentize($color-x-dark, 0.85), 0 0 3px 0 transparentize($color-x-dark, 0.8) !default;
9
+ $box-shadow:
10
+ 0 1px 1px 0 transparentize($color-x-dark, 0.85),
11
+ 0 2px 2px -1px transparentize($color-x-dark, 0.85),
12
+ 0 0 3px 0 transparentize($color-x-dark, 0.8) !default;
10
13
  $box-shadow--deep: 0 0 2rem 0 rgba($color-x-dark, $shadow-opacity) !default;
@@ -1,11 +1,11 @@
1
1
  $theme-default-forms: 'light' !default;
2
- $theme-default-hr: 'light' !default;
2
+ $theme-default-hr: 'light' !default; // deprecated -- use new theme classes instead
3
3
  $theme-default-nav: 'light' !default;
4
- $theme-default-p-side-navigation: 'light' !default;
4
+ $theme-default-p-side-navigation: 'light' !default; // deprecated -- use new theme classes instead
5
5
  $theme-default-p-search-box: 'light' !default;
6
- $theme-default-p-divider: 'light' !default;
7
- $theme-default-p-contextual-menu: 'light' !default;
8
- $theme-default-p-inline-list--middot: 'light' !default;
6
+ $theme-default-p-divider: 'light' !default; // deprecated -- use new theme classes instead
7
+ $theme-default-p-contextual-menu: 'light' !default; // deprecated -- use new theme classes instead
8
+ $theme-default-p-inline-list--middot: 'light' !default; // deprecated -- use new theme classes instead
9
9
  $theme-default-p-button: 'light' !default;
10
10
  $theme-default-p-chip: 'light' !default;
11
- $theme-default-p-tabs: 'light' !default;
11
+ $theme-default-p-tabs: 'light' !default; // deprecated -- use new theme classes instead