uikit 3.20.9-dev.449143287 → 3.20.9-dev.76ecfef9e

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 (71) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/css/uikit-core-rtl.css +18 -1
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +18 -1
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +18 -1
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +18 -1
  9. package/dist/css/uikit.min.css +1 -1
  10. package/dist/js/components/countdown.js +1 -1
  11. package/dist/js/components/countdown.min.js +1 -1
  12. package/dist/js/components/filter.js +1 -1
  13. package/dist/js/components/filter.min.js +1 -1
  14. package/dist/js/components/lightbox-panel.js +4 -1
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +4 -1
  17. package/dist/js/components/lightbox.min.js +1 -1
  18. package/dist/js/components/notification.js +1 -1
  19. package/dist/js/components/notification.min.js +1 -1
  20. package/dist/js/components/parallax.js +1 -1
  21. package/dist/js/components/parallax.min.js +1 -1
  22. package/dist/js/components/slider-parallax.js +1 -1
  23. package/dist/js/components/slider-parallax.min.js +1 -1
  24. package/dist/js/components/slider.js +11 -5
  25. package/dist/js/components/slider.min.js +1 -1
  26. package/dist/js/components/slideshow-parallax.js +1 -1
  27. package/dist/js/components/slideshow-parallax.min.js +1 -1
  28. package/dist/js/components/slideshow.js +10 -4
  29. package/dist/js/components/slideshow.min.js +1 -1
  30. package/dist/js/components/sortable.js +1 -1
  31. package/dist/js/components/sortable.min.js +1 -1
  32. package/dist/js/components/tooltip.js +1 -1
  33. package/dist/js/components/tooltip.min.js +1 -1
  34. package/dist/js/components/upload.js +1 -1
  35. package/dist/js/components/upload.min.js +1 -1
  36. package/dist/js/uikit-core.js +70 -69
  37. package/dist/js/uikit-core.min.js +1 -1
  38. package/dist/js/uikit-icons.js +1 -1
  39. package/dist/js/uikit-icons.min.js +1 -1
  40. package/dist/js/uikit.js +88 -78
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/api/component.js +1 -1
  44. package/src/js/components/internal/slider-transitioner.js +4 -0
  45. package/src/js/components/slider.js +1 -1
  46. package/src/js/core/grid.js +4 -7
  47. package/src/js/core/height-placeholder.js +1 -1
  48. package/src/js/core/inverse.js +30 -3
  49. package/src/js/core/modal.js +2 -1
  50. package/src/js/core/scrollspy-nav.js +2 -2
  51. package/src/js/core/scrollspy.js +1 -1
  52. package/src/js/core/sticky.js +21 -28
  53. package/src/js/mixin/internal/slideshow-transitioner.js +4 -0
  54. package/src/js/mixin/slider-parallax.js +7 -3
  55. package/src/js/util/viewport.js +8 -8
  56. package/src/less/components/card.less +3 -0
  57. package/src/less/components/dropbar.less +1 -0
  58. package/src/less/components/dropdown.less +1 -0
  59. package/src/less/components/navbar.less +1 -0
  60. package/src/less/components/offcanvas.less +1 -0
  61. package/src/less/components/overlay.less +2 -0
  62. package/src/less/components/section.less +5 -0
  63. package/src/less/components/tile.less +4 -0
  64. package/src/scss/components/card.scss +3 -0
  65. package/src/scss/components/dropbar.scss +1 -0
  66. package/src/scss/components/dropdown.scss +1 -0
  67. package/src/scss/components/navbar.scss +1 -0
  68. package/src/scss/components/offcanvas.scss +1 -0
  69. package/src/scss/components/overlay.scss +2 -0
  70. package/src/scss/components/section.scss +5 -0
  71. package/src/scss/components/tile.scss +4 -0
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "uikit",
3
3
  "title": "UIkit",
4
4
  "description": "UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces.",
5
- "version": "3.20.9-dev.449143287",
5
+ "version": "3.20.9-dev.76ecfef9e",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -78,7 +78,7 @@ export function attachToElement(element, instance) {
78
78
  export function detachFromElement(element, instance) {
79
79
  delete element[DATA]?.[instance.$options.name];
80
80
 
81
- if (!isEmpty(element[DATA])) {
81
+ if (isEmpty(element[DATA])) {
82
82
  delete element[DATA];
83
83
  }
84
84
  }
@@ -69,6 +69,10 @@ export default function (prev, next, dir, { center, easing, list }) {
69
69
  },
70
70
 
71
71
  translate(percent) {
72
+ if (percent === this.percent()) {
73
+ return;
74
+ }
75
+
72
76
  const distance = this.getDistance() * dir * (isRtl ? -1 : 1);
73
77
 
74
78
  css(
@@ -219,7 +219,7 @@ export default {
219
219
  ),
220
220
  );
221
221
 
222
- if (!this.center) {
222
+ if (!this.center || !this.length) {
223
223
  return;
224
224
  }
225
225
 
@@ -123,14 +123,11 @@ export default {
123
123
 
124
124
  {
125
125
  read({ rows, scrollColumns, parallaxStart, parallaxEnd }) {
126
- if (scrollColumns && positionedAbsolute(rows)) {
127
- return false;
128
- }
129
-
130
126
  return {
131
- scrolled: scrollColumns
132
- ? scrolledOver(this.$el, parallaxStart, parallaxEnd)
133
- : false,
127
+ scrolled:
128
+ scrollColumns && !positionedAbsolute(rows)
129
+ ? scrolledOver(this.$el, parallaxStart, parallaxEnd)
130
+ : false,
134
131
  };
135
132
  },
136
133
 
@@ -23,7 +23,7 @@ export default {
23
23
 
24
24
  update: {
25
25
  read() {
26
- return { height: this.target.offsetHeight };
26
+ return this.target ? { height: this.target.offsetHeight } : false;
27
27
  },
28
28
 
29
29
  write({ height }) {
@@ -1,4 +1,14 @@
1
- import { $$, css, dimensions, matches, observeResize, on, replaceClass, toNodes } from 'uikit-util';
1
+ import {
2
+ $$,
3
+ css,
4
+ dimensions,
5
+ matches,
6
+ observeResize,
7
+ on,
8
+ parent,
9
+ replaceClass,
10
+ toNodes,
11
+ } from 'uikit-util';
2
12
  import { intersection, mutation } from '../api/observables';
3
13
 
4
14
  export default {
@@ -91,13 +101,14 @@ function findTargetColor(target) {
91
101
  let last;
92
102
  for (const percent of [0.25, 0.5, 0.75]) {
93
103
  const elements = target.ownerDocument.elementsFromPoint(
94
- Math.max(0, left) + width * percent,
95
- Math.max(0, top) + height / 2,
104
+ Math.max(0, left + width * percent),
105
+ Math.max(0, top + height / 2),
96
106
  );
97
107
 
98
108
  for (const element of elements) {
99
109
  if (
100
110
  target.contains(element) ||
111
+ !isVisible(element) ||
101
112
  (element.closest('[class*="-leave"]') &&
102
113
  elements.some((el) => element !== el && matches(el, '[class*="-enter"]')))
103
114
  ) {
@@ -118,3 +129,19 @@ function findTargetColor(target) {
118
129
 
119
130
  return last ? `uk-${last}` : '';
120
131
  }
132
+
133
+ // TODO: once it becomes Baseline `element.checkVisibility({ opacityProperty: true, visibilityProperty: true })`
134
+ function isVisible(element) {
135
+ if (css(element, 'visibility') !== 'visible') {
136
+ return false;
137
+ }
138
+
139
+ while (element) {
140
+ if (css(element, 'opacity') === '0') {
141
+ return false;
142
+ }
143
+ element = parent(element);
144
+ }
145
+
146
+ return true;
147
+ }
@@ -126,7 +126,7 @@ function install({ modal }) {
126
126
  ({ i18n }) => `<form class="uk-form-stacked">
127
127
  <div class="uk-modal-body">
128
128
  <label>${isString(message) ? message : html(message)}</label>
129
- <input class="uk-input" value="${value || ''}" autofocus>
129
+ <input class="uk-input" autofocus>
130
130
  </div>
131
131
  <div class="uk-modal-footer uk-text-right">
132
132
  <button class="uk-button uk-button-default uk-modal-close" type="button">${
@@ -142,6 +142,7 @@ function install({ modal }) {
142
142
 
143
143
  const { $el } = promise.dialog;
144
144
  const input = $('input', $el);
145
+ input.value = value || '';
145
146
  on($el, 'show', () => input.select());
146
147
 
147
148
  return promise;
@@ -68,9 +68,9 @@ export default {
68
68
  if (scrollTop === max) {
69
69
  active = length - 1;
70
70
  } else {
71
+ const offsetBy = this.offset + offset(getCoveringElement()).height;
72
+
71
73
  for (let i = 0; i < targets.length; i++) {
72
- const fixedEl = getCoveringElement(targets[i]);
73
- const offsetBy = this.offset + (fixedEl ? offset(fixedEl).height : 0);
74
74
  if (offset(targets[i]).top - viewport.top - offsetBy > 0) {
75
75
  break;
76
76
  }
@@ -108,7 +108,7 @@ export default {
108
108
 
109
109
  methods: {
110
110
  toggle(el, inview) {
111
- const state = this.elementData.get(el);
111
+ const state = this.elementData?.get(el);
112
112
 
113
113
  if (!state) {
114
114
  return;
@@ -16,7 +16,6 @@ import {
16
16
  isVisible,
17
17
  noop,
18
18
  offsetPosition,
19
- once,
20
19
  parent,
21
20
  query,
22
21
  remove,
@@ -97,19 +96,19 @@ export default {
97
96
  },
98
97
 
99
98
  observe: [
100
- viewport({
101
- handler() {
102
- if (toPx('100vh', 'height') !== this._data.viewport) {
103
- this.$emit('resize');
104
- }
105
- },
106
- }),
99
+ viewport(),
107
100
  scroll({ target: () => document.scrollingElement }),
108
101
  resize({
109
- target: () => document.scrollingElement,
110
- options: { box: 'content-box' },
102
+ target: ({ $el }) => [$el, parent($el), document.scrollingElement],
103
+ handler(entries) {
104
+ this.$emit(
105
+ this._data.resized && entries.some(({ target }) => target === parent(this.$el))
106
+ ? 'update'
107
+ : 'resize',
108
+ );
109
+ this._data.resized = true;
110
+ },
111
111
  }),
112
- resize(),
113
112
  ],
114
113
 
115
114
  events: [
@@ -146,29 +145,18 @@ export default {
146
145
  });
147
146
  },
148
147
  },
149
- {
150
- name: 'transitionstart',
151
-
152
- handler() {
153
- this.transitionInProgress = once(
154
- this.$el,
155
- 'transitionend transitioncancel',
156
- () => (this.transitionInProgress = null),
157
- );
158
- },
159
- },
160
148
  ],
161
149
 
162
150
  update: [
163
151
  {
164
- read({ height, width, margin, sticky }) {
152
+ read({ height, width, margin, sticky }, types) {
165
153
  this.inactive = !this.matchMedia || !isVisible(this.$el);
166
154
 
167
155
  if (this.inactive) {
168
156
  return;
169
157
  }
170
158
 
171
- const hide = this.isFixed && !this.transitionInProgress;
159
+ const hide = this.isFixed && types.has('update');
172
160
  if (hide) {
173
161
  preventTransition(this.target);
174
162
  this.hide();
@@ -243,6 +231,7 @@ export default {
243
231
  top: offsetPosition(referenceElement)[0],
244
232
  sticky,
245
233
  viewport,
234
+ maxScrollHeight,
246
235
  };
247
236
  },
248
237
 
@@ -287,8 +276,9 @@ export default {
287
276
  elHeight,
288
277
  height,
289
278
  sticky,
279
+ maxScrollHeight,
290
280
  }) {
291
- const scroll = document.scrollingElement.scrollTop;
281
+ const scroll = Math.min(document.scrollingElement.scrollTop, maxScrollHeight);
292
282
  const dir = prevScroll <= scroll ? 'down' : 'up';
293
283
  const referenceElement = this.isFixed ? this.placeholder : this.$el;
294
284
 
@@ -490,7 +480,10 @@ function reset(el) {
490
480
  css(el, { position: '', top: '', marginTop: '', width: '' });
491
481
  }
492
482
 
493
- function preventTransition(el) {
494
- addClass(el, 'uk-transition-disable');
495
- requestAnimationFrame(() => removeClass(el, 'uk-transition-disable'));
483
+ const clsTransitionDisable = 'uk-transition-disable';
484
+ function preventTransition(element) {
485
+ if (!hasClass(element, clsTransitionDisable)) {
486
+ addClass(element, clsTransitionDisable);
487
+ requestAnimationFrame(() => removeClass(element, clsTransitionDisable));
488
+ }
496
489
  }
@@ -46,6 +46,10 @@ export default function Transitioner(prev, next, dir, { animation, easing }) {
46
46
  },
47
47
 
48
48
  translate(percent) {
49
+ if (percent === this.percent()) {
50
+ return;
51
+ }
52
+
49
53
  this.reset();
50
54
 
51
55
  const props = translate(percent, dir);
@@ -34,9 +34,9 @@ export default {
34
34
  },
35
35
 
36
36
  update: {
37
- write() {
37
+ read() {
38
38
  if (!this.parallax) {
39
- return;
39
+ return false;
40
40
  }
41
41
 
42
42
  const target = this.parallaxTarget;
@@ -44,7 +44,11 @@ export default {
44
44
  const end = toPx(this.parallaxEnd, 'height', target, true);
45
45
  const percent = ease(scrolledOver(target, start, end), this.parallaxEasing);
46
46
 
47
- const [prevIndex, slidePercent] = this.getIndexAt(percent);
47
+ return { parallax: this.getIndexAt(percent) };
48
+ },
49
+
50
+ write({ parallax }) {
51
+ const [prevIndex, slidePercent] = parallax;
48
52
 
49
53
  const nextIndex = this.getValidIndex(prevIndex + Math.ceil(slidePercent));
50
54
 
@@ -184,7 +184,7 @@ export function offsetViewport(scrollElement) {
184
184
  ]) {
185
185
  if (isWindow(viewportElement)) {
186
186
  // iOS 12 returns <body> as scrollingElement
187
- viewportElement = scrollElement.ownerDocument;
187
+ viewportElement = viewportElement.document;
188
188
  } else {
189
189
  rect[start] += toFloat(css(viewportElement, `border-${start}-width`));
190
190
  }
@@ -199,9 +199,9 @@ export function offsetViewport(scrollElement) {
199
199
 
200
200
  export function getCoveringElement(target) {
201
201
  const { left, width, top } = dimensions(target);
202
- for (const topPosition of [0, top]) {
203
- const coverEl = target.ownerDocument.elementsFromPoint(left + width / 2, topPosition).find(
204
- (el) =>
202
+ for (const position of top ? [0, top] : [0]) {
203
+ for (const el of toWindow(target).document.elementsFromPoint(left + width / 2, position)) {
204
+ if (
205
205
  !el.contains(target) &&
206
206
  // If e.g. Offcanvas is not yet closed
207
207
  !hasClass(el, 'uk-togglable-leave') &&
@@ -213,10 +213,10 @@ export function getCoveringElement(target) {
213
213
  (parent) => !parent.contains(el) && !hasPosition(parent, 'static'),
214
214
  ),
215
215
  ) < zIndex(el)) ||
216
- (hasPosition(el, 'sticky') && parent(el).contains(target))),
217
- );
218
- if (coverEl) {
219
- return coverEl;
216
+ (hasPosition(el, 'sticky') && parent(el).contains(target)))
217
+ ) {
218
+ return el;
219
+ }
220
220
  }
221
221
  }
222
222
  }
@@ -238,6 +238,7 @@
238
238
  */
239
239
 
240
240
  .uk-card-default {
241
+ --uk-inverse: @card-default-color-mode;
241
242
  background-color: @card-default-background;
242
243
  color: @card-default-color;
243
244
  .hook-card-default();
@@ -272,6 +273,7 @@
272
273
  */
273
274
 
274
275
  .uk-card-primary {
276
+ --uk-inverse: @card-primary-color-mode;
275
277
  background-color: @card-primary-background;
276
278
  color: @card-primary-color;
277
279
  .hook-card-primary();
@@ -298,6 +300,7 @@
298
300
  */
299
301
 
300
302
  .uk-card-secondary {
303
+ --uk-inverse: @card-secondary-color-mode;
301
304
  background-color: @card-secondary-background;
302
305
  color: @card-secondary-color;
303
306
  .hook-card-secondary();
@@ -44,6 +44,7 @@
44
44
  --uk-position-offset: @dropbar-margin;
45
45
  --uk-position-shift-offset: 0;
46
46
  --uk-position-viewport-offset: 0;
47
+ --uk-inverse: @dropbar-color-mode;
47
48
  /* 1 */
48
49
  width: auto;
49
50
  /* 2 */
@@ -59,6 +59,7 @@
59
59
  .uk-dropdown {
60
60
  --uk-position-offset: @dropdown-margin;
61
61
  --uk-position-viewport-offset: @dropdown-viewport-margin;
62
+ --uk-inverse: @dropdown-color-mode;
62
63
  /* 1 */
63
64
  width: auto;
64
65
  /* 2 */
@@ -383,6 +383,7 @@
383
383
  --uk-position-offset: @navbar-dropdown-margin;
384
384
  --uk-position-shift-offset: @navbar-dropdown-shift-margin;
385
385
  --uk-position-viewport-offset: @navbar-dropdown-viewport-margin;
386
+ --uk-inverse: @navbar-dropdown-color-mode;
386
387
  /* 1 */
387
388
  width: @navbar-dropdown-width;
388
389
  /* 2 */
@@ -83,6 +83,7 @@
83
83
  */
84
84
 
85
85
  .uk-offcanvas-bar {
86
+ --uk-inverse: @offcanvas-bar-color-mode;
86
87
  /* 1 */
87
88
  position: absolute;
88
89
  top: 0;
@@ -56,6 +56,7 @@
56
56
  */
57
57
 
58
58
  .uk-overlay-default {
59
+ --uk-inverse: @overlay-default-color-mode;
59
60
  background: @overlay-default-background;
60
61
  .hook-overlay-default();
61
62
  }
@@ -69,6 +70,7 @@
69
70
  */
70
71
 
71
72
  .uk-overlay-primary {
73
+ --uk-inverse: @overlay-primary-color-mode;
72
74
  background: @overlay-primary-background;
73
75
  .hook-overlay-primary();
74
76
  }
@@ -148,6 +148,7 @@
148
148
  */
149
149
 
150
150
  .uk-section-default {
151
+ --uk-inverse: @section-default-color-mode;
151
152
  background: @section-default-background;
152
153
  .hook-section-default();
153
154
  }
@@ -160,6 +161,7 @@
160
161
  */
161
162
 
162
163
  .uk-section-muted {
164
+ --uk-inverse: @section-muted-color-mode;
163
165
  background: @section-muted-background;
164
166
  .hook-section-muted();
165
167
  }
@@ -167,11 +169,13 @@
167
169
  .uk-section-muted:not(.uk-preserve-color):extend(.uk-light all) when (@section-muted-color-mode = light) {}
168
170
  .uk-section-muted:not(.uk-preserve-color):extend(.uk-dark all) when (@section-muted-color-mode = dark) {}
169
171
 
172
+
170
173
  /*
171
174
  * Primary
172
175
  */
173
176
 
174
177
  .uk-section-primary {
178
+ --uk-inverse: @section-primary-color-mode;
175
179
  background: @section-primary-background;
176
180
  .hook-section-primary();
177
181
  }
@@ -184,6 +188,7 @@
184
188
  */
185
189
 
186
190
  .uk-section-secondary {
191
+ --uk-inverse: @section-secondary-color-mode;
187
192
  background: @section-secondary-background;
188
193
  .hook-section-secondary();
189
194
  }
@@ -162,6 +162,7 @@
162
162
  */
163
163
 
164
164
  .uk-tile-default {
165
+ --uk-inverse: @tile-default-color-mode;
165
166
  background-color: @tile-default-background;
166
167
  .hook-tile-default();
167
168
  }
@@ -179,6 +180,7 @@
179
180
  */
180
181
 
181
182
  .uk-tile-muted {
183
+ --uk-inverse: @tile-muted-color-mode;
182
184
  background-color: @tile-muted-background;
183
185
  .hook-tile-muted();
184
186
  }
@@ -196,6 +198,7 @@
196
198
  */
197
199
 
198
200
  .uk-tile-primary {
201
+ --uk-inverse: @tile-primary-color-mode;
199
202
  background-color: @tile-primary-background;
200
203
  .hook-tile-primary();
201
204
  }
@@ -213,6 +216,7 @@
213
216
  */
214
217
 
215
218
  .uk-tile-secondary {
219
+ --uk-inverse: @tile-secondary-color-mode;
216
220
  background-color: @tile-secondary-background;
217
221
  .hook-tile-secondary();
218
222
  }
@@ -189,6 +189,7 @@
189
189
  */
190
190
 
191
191
  .uk-card-default {
192
+ --uk-inverse: #{$card-default-color-mode};
192
193
  background-color: $card-default-background;
193
194
  color: $card-default-color;
194
195
  @if(mixin-exists(hook-card-default)) {@include hook-card-default();}
@@ -223,6 +224,7 @@
223
224
  */
224
225
 
225
226
  .uk-card-primary {
227
+ --uk-inverse: #{$card-primary-color-mode};
226
228
  background-color: $card-primary-background;
227
229
  color: $card-primary-color;
228
230
  @if(mixin-exists(hook-card-primary)) {@include hook-card-primary();}
@@ -249,6 +251,7 @@
249
251
  */
250
252
 
251
253
  .uk-card-secondary {
254
+ --uk-inverse: #{$card-secondary-color-mode};
252
255
  background-color: $card-secondary-background;
253
256
  color: $card-secondary-color;
254
257
  @if(mixin-exists(hook-card-secondary)) {@include hook-card-secondary();}
@@ -32,6 +32,7 @@
32
32
  --uk-position-offset: #{$dropbar-margin};
33
33
  --uk-position-shift-offset: 0;
34
34
  --uk-position-viewport-offset: 0;
35
+ --uk-inverse: #{$dropbar-color-mode};
35
36
  /* 1 */
36
37
  width: auto;
37
38
  /* 2 */
@@ -35,6 +35,7 @@
35
35
  .uk-dropdown {
36
36
  --uk-position-offset: #{$dropdown-margin};
37
37
  --uk-position-viewport-offset: #{$dropdown-viewport-margin};
38
+ --uk-inverse: #{$dropdown-color-mode};
38
39
  /* 1 */
39
40
  width: auto;
40
41
  /* 2 */
@@ -334,6 +334,7 @@ $navbar-nav-gap: 0px !default; // Must have a un
334
334
  --uk-position-offset: #{$navbar-dropdown-margin};
335
335
  --uk-position-shift-offset: #{$navbar-dropdown-shift-margin};
336
336
  --uk-position-viewport-offset: #{$navbar-dropdown-viewport-margin};
337
+ --uk-inverse: #{$navbar-dropdown-color-mode};
337
338
  /* 1 */
338
339
  width: $navbar-dropdown-width;
339
340
  /* 2 */
@@ -70,6 +70,7 @@
70
70
  */
71
71
 
72
72
  .uk-offcanvas-bar {
73
+ --uk-inverse: #{$offcanvas-bar-color-mode};
73
74
  /* 1 */
74
75
  position: absolute;
75
76
  top: 0;
@@ -50,6 +50,7 @@
50
50
  */
51
51
 
52
52
  .uk-overlay-default {
53
+ --uk-inverse: #{$overlay-default-color-mode};
53
54
  background: $overlay-default-background;
54
55
  @if(mixin-exists(hook-overlay-default)) {@include hook-overlay-default();}
55
56
  }
@@ -63,6 +64,7 @@
63
64
  */
64
65
 
65
66
  .uk-overlay-primary {
67
+ --uk-inverse: #{$overlay-primary-color-mode};
66
68
  background: $overlay-primary-background;
67
69
  @if(mixin-exists(hook-overlay-primary)) {@include hook-overlay-primary();}
68
70
  }
@@ -132,6 +132,7 @@
132
132
  */
133
133
 
134
134
  .uk-section-default {
135
+ --uk-inverse: #{$section-default-color-mode};
135
136
  background: $section-default-background;
136
137
  @if(mixin-exists(hook-section-default)) {@include hook-section-default();}
137
138
  }
@@ -144,6 +145,7 @@
144
145
  */
145
146
 
146
147
  .uk-section-muted {
148
+ --uk-inverse: #{$section-muted-color-mode};
147
149
  background: $section-muted-background;
148
150
  @if(mixin-exists(hook-section-muted)) {@include hook-section-muted();}
149
151
  }
@@ -151,11 +153,13 @@
151
153
  @if ( $section-muted-color-mode == light ) { .uk-section-muted:not(.uk-preserve-color) { @extend .uk-light !optional;} }
152
154
  @if ( $section-muted-color-mode == dark ) { .uk-section-muted:not(.uk-preserve-color) { @extend .uk-dark !optional;} }
153
155
 
156
+
154
157
  /*
155
158
  * Primary
156
159
  */
157
160
 
158
161
  .uk-section-primary {
162
+ --uk-inverse: #{$section-primary-color-mode};
159
163
  background: $section-primary-background;
160
164
  @if(mixin-exists(hook-section-primary)) {@include hook-section-primary();}
161
165
  }
@@ -168,6 +172,7 @@
168
172
  */
169
173
 
170
174
  .uk-section-secondary {
175
+ --uk-inverse: #{$section-secondary-color-mode};
171
176
  background: $section-secondary-background;
172
177
  @if(mixin-exists(hook-section-secondary)) {@include hook-section-secondary();}
173
178
  }
@@ -143,6 +143,7 @@
143
143
  */
144
144
 
145
145
  .uk-tile-default {
146
+ --uk-inverse: #{$tile-default-color-mode};
146
147
  background-color: $tile-default-background;
147
148
  @if(mixin-exists(hook-tile-default)) {@include hook-tile-default();}
148
149
  }
@@ -160,6 +161,7 @@
160
161
  */
161
162
 
162
163
  .uk-tile-muted {
164
+ --uk-inverse: #{$tile-muted-color-mode};
163
165
  background-color: $tile-muted-background;
164
166
  @if(mixin-exists(hook-tile-muted)) {@include hook-tile-muted();}
165
167
  }
@@ -177,6 +179,7 @@
177
179
  */
178
180
 
179
181
  .uk-tile-primary {
182
+ --uk-inverse: #{$tile-primary-color-mode};
180
183
  background-color: $tile-primary-background;
181
184
  @if(mixin-exists(hook-tile-primary)) {@include hook-tile-primary();}
182
185
  }
@@ -194,6 +197,7 @@
194
197
  */
195
198
 
196
199
  .uk-tile-secondary {
200
+ --uk-inverse: #{$tile-secondary-color-mode};
197
201
  background-color: $tile-secondary-background;
198
202
  @if(mixin-exists(hook-tile-secondary)) {@include hook-tile-secondary();}
199
203
  }