uikit 3.14.2-dev.1d34cc58b → 3.14.2-dev.404bdcedf

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 (51) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/css/uikit-core-rtl.css +8 -2
  3. package/dist/css/uikit-core-rtl.min.css +1 -1
  4. package/dist/css/uikit-core.css +8 -2
  5. package/dist/css/uikit-core.min.css +1 -1
  6. package/dist/css/uikit-rtl.css +11 -18
  7. package/dist/css/uikit-rtl.min.css +1 -1
  8. package/dist/css/uikit.css +11 -18
  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 +1 -1
  15. package/dist/js/components/lightbox-panel.min.js +1 -1
  16. package/dist/js/components/lightbox.js +1 -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 +1 -1
  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 +1 -1
  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 +15 -5
  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 +27 -15
  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 +27 -15
  41. package/dist/js/uikit.min.js +1 -1
  42. package/package.json +1 -1
  43. package/src/js/mixin/position.js +16 -6
  44. package/src/js/util/position.js +15 -13
  45. package/src/less/components/navbar.less +15 -3
  46. package/src/less/theme/navbar.less +3 -12
  47. package/src/scss/components/navbar.scss +15 -3
  48. package/src/scss/mixins-theme.scss +0 -12
  49. package/src/scss/theme/navbar.scss +3 -0
  50. package/src/scss/variables-theme.scss +3 -1
  51. package/src/scss/variables.scss +2 -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.14.2-dev.1d34cc58b",
5
+ "version": "3.14.2-dev.404bdcedf",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -22,12 +22,22 @@ export default {
22
22
  positionAt(element, target, boundary) {
23
23
  const [dir, align] = this.pos;
24
24
 
25
- let offset = toPx(
26
- this.offset === false ? getCssVar('position-offset', element) : this.offset,
27
- this.axis === 'x' ? 'width' : 'height',
28
- element
29
- );
30
- offset = [includes(['left', 'top'], dir) ? -offset : +offset, 0];
25
+ const mainAxisOffset =
26
+ toPx(
27
+ this.offset === false ? getCssVar('position-offset', element) : this.offset,
28
+ this.axis === 'x' ? 'width' : 'height',
29
+ element
30
+ ) * (includes(['left', 'top'], dir) ? -1 : 1);
31
+
32
+ const crossAxisOffset = includes(['center', 'justify'], align)
33
+ ? 0
34
+ : toPx(
35
+ getCssVar('position-shift-offset', element),
36
+ this.axis === 'y' ? 'width' : 'height',
37
+ element
38
+ ) * (includes(['left', 'top'], align) ? 1 : -1);
39
+
40
+ let offset = [mainAxisOffset, crossAxisOffset];
31
41
 
32
42
  const attach = {
33
43
  element: [flipPosition(dir), align],
@@ -143,19 +143,21 @@ function attachToWithFlip(element, target, options) {
143
143
  return false;
144
144
  }
145
145
 
146
- const newPos = attachToWithFlip(element, target, {
147
- ...options,
148
- attach: {
149
- element: elAttach.map(flipDir).reverse(),
150
- target: targetAttach.map(flipDir).reverse(),
151
- },
152
- offset: elOffset.reverse(),
153
- flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
154
- recursion: true,
155
- });
156
-
157
- if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
158
- return newPos;
146
+ if (flip === true || includes(flip, dirs[1 - i][1])) {
147
+ const newPos = attachToWithFlip(element, target, {
148
+ ...options,
149
+ attach: {
150
+ element: elAttach.map(flipDir).reverse(),
151
+ target: targetAttach.map(flipDir).reverse(),
152
+ },
153
+ offset: elOffset.reverse(),
154
+ flip: flip === true ? flip : [...flip, dirs[1 - i][1]],
155
+ recursion: true,
156
+ });
157
+
158
+ if (newPos && isInScrollArea(newPos, scrollElement, 1 - i)) {
159
+ return newPos;
160
+ }
159
161
  }
160
162
  }
161
163
 
@@ -40,6 +40,7 @@
40
40
  @navbar-color-mode: none;
41
41
 
42
42
  @navbar-nav-item-height: 80px;
43
+ @navbar-nav-item-gap: 0;
43
44
  @navbar-nav-item-padding-horizontal: 15px;
44
45
  @navbar-nav-item-color: @global-muted-color;
45
46
  @navbar-nav-item-font-size: @global-font-size;
@@ -48,6 +49,7 @@
48
49
  @navbar-nav-item-onclick-color: @global-emphasis-color;
49
50
  @navbar-nav-item-active-color: @global-emphasis-color;
50
51
 
52
+ @navbar-item-padding-horizontal: @navbar-nav-item-padding-horizontal;
51
53
  @navbar-item-color: @global-color;
52
54
 
53
55
  @navbar-toggle-color: @global-muted-color;
@@ -93,6 +95,7 @@
93
95
 
94
96
  .uk-navbar {
95
97
  display: flex;
98
+ --uk-navbar-nav-item-gap: @navbar-nav-item-gap;
96
99
  /* 1 */
97
100
  position: relative;
98
101
  .hook-navbar();
@@ -127,6 +130,7 @@
127
130
  .uk-navbar-center-left > *,
128
131
  .uk-navbar-center-right > * {
129
132
  display: flex;
133
+ gap: var(--uk-navbar-nav-item-gap);
130
134
  /* 1 */
131
135
  align-items: center;
132
136
  }
@@ -168,8 +172,14 @@
168
172
  top: 0;
169
173
  }
170
174
 
171
- .uk-navbar-center-left { right: 100%; }
172
- .uk-navbar-center-right { left: 100%; }
175
+ .uk-navbar-center-left {
176
+ right: 100%; // Fallback if gap is 0
177
+ right: ~'calc(100% + var(--uk-navbar-nav-item-gap))';
178
+ }
179
+ .uk-navbar-center-right {
180
+ left: 100%; // Fallback if gap is 0
181
+ left: ~'calc(100% + var(--uk-navbar-nav-item-gap))';
182
+ }
173
183
 
174
184
  [class*='uk-navbar-center-'] {
175
185
  width: max-content;
@@ -186,6 +196,7 @@
186
196
 
187
197
  .uk-navbar-nav {
188
198
  display: flex;
199
+ gap: var(--uk-navbar-nav-item-gap);
189
200
  /* 1 */
190
201
  margin: 0;
191
202
  padding: 0;
@@ -267,6 +278,7 @@
267
278
  ========================================================================== */
268
279
 
269
280
  .uk-navbar-item {
281
+ padding: 0 @navbar-item-padding-horizontal;
270
282
  color: @navbar-item-color;
271
283
  .hook-navbar-item();
272
284
  }
@@ -362,6 +374,7 @@
362
374
  position: absolute;
363
375
  z-index: @navbar-dropdown-z-index;
364
376
  --uk-position-offset: @navbar-dropdown-margin;
377
+ --uk-position-shift-offset: 0;
365
378
  --uk-position-viewport-offset: 10;
366
379
  /* 3 */
367
380
  box-sizing: border-box;
@@ -411,7 +424,6 @@
411
424
  .uk-navbar-dropdown-dropbar {
412
425
  /* 1 */
413
426
  --uk-position-offset: @navbar-dropdown-dropbar-margin-top;
414
- --uk-position-viewport-offset: 0;
415
427
  /* 2 */
416
428
  margin-bottom: @navbar-dropdown-dropbar-margin-bottom;
417
429
  /* 3 */
@@ -7,6 +7,9 @@
7
7
  // Variables
8
8
  // ========================================================================
9
9
 
10
+ @navbar-nav-item-gap: 30px;
11
+ @navbar-nav-item-padding-horizontal: 0;
12
+
10
13
  @navbar-nav-item-font-size: @global-small-font-size;
11
14
 
12
15
  @navbar-dropdown-margin: 15px;
@@ -129,18 +132,6 @@
129
132
 
130
133
  .hook-navbar-misc() {
131
134
 
132
- /*
133
- * Navbar
134
- */
135
-
136
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-nav:first-child,
137
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-item:first-child,
138
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-toggle:first-child { margin-left: -@navbar-nav-item-padding-horizontal; }
139
-
140
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-nav:last-child,
141
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-item:last-child,
142
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-toggle:last-child { margin-right: -@navbar-nav-item-padding-horizontal; }
143
-
144
135
  /*
145
136
  * Grid Divider
146
137
  */
@@ -40,6 +40,7 @@ $navbar-background: $global-muted-background !defau
40
40
  $navbar-color-mode: none !default;
41
41
 
42
42
  $navbar-nav-item-height: 80px !default;
43
+ $navbar-nav-item-gap: 0 !default;
43
44
  $navbar-nav-item-padding-horizontal: 15px !default;
44
45
  $navbar-nav-item-color: $global-muted-color !default;
45
46
  $navbar-nav-item-font-size: $global-font-size !default;
@@ -48,6 +49,7 @@ $navbar-nav-item-hover-color: $global-color !default;
48
49
  $navbar-nav-item-onclick-color: $global-emphasis-color !default;
49
50
  $navbar-nav-item-active-color: $global-emphasis-color !default;
50
51
 
52
+ $navbar-item-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
51
53
  $navbar-item-color: $global-color !default;
52
54
 
53
55
  $navbar-toggle-color: $global-muted-color !default;
@@ -93,6 +95,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
93
95
 
94
96
  .uk-navbar {
95
97
  display: flex;
98
+ --uk-navbar-nav-item-gap: #{$navbar-nav-item-gap};
96
99
  /* 1 */
97
100
  position: relative;
98
101
  @if(mixin-exists(hook-navbar)) {@include hook-navbar();}
@@ -127,6 +130,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
127
130
  .uk-navbar-center-left > *,
128
131
  .uk-navbar-center-right > * {
129
132
  display: flex;
133
+ gap: var(--uk-navbar-nav-item-gap);
130
134
  /* 1 */
131
135
  align-items: center;
132
136
  }
@@ -168,8 +172,14 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
168
172
  top: 0;
169
173
  }
170
174
 
171
- .uk-navbar-center-left { right: 100%; }
172
- .uk-navbar-center-right { left: 100%; }
175
+ .uk-navbar-center-left {
176
+ right: 100%; // Fallback if gap is 0
177
+ right: unquote('calc(100% + var(--uk-navbar-nav-item-gap))');
178
+ }
179
+ .uk-navbar-center-right {
180
+ left: 100%; // Fallback if gap is 0
181
+ left: unquote('calc(100% + var(--uk-navbar-nav-item-gap))');
182
+ }
173
183
 
174
184
  [class*='uk-navbar-center-'] {
175
185
  width: max-content;
@@ -186,6 +196,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
186
196
 
187
197
  .uk-navbar-nav {
188
198
  display: flex;
199
+ gap: var(--uk-navbar-nav-item-gap);
189
200
  /* 1 */
190
201
  margin: 0;
191
202
  padding: 0;
@@ -267,6 +278,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
267
278
  ========================================================================== */
268
279
 
269
280
  .uk-navbar-item {
281
+ padding: 0 $navbar-item-padding-horizontal;
270
282
  color: $navbar-item-color;
271
283
  @if(mixin-exists(hook-navbar-item)) {@include hook-navbar-item();}
272
284
  }
@@ -362,6 +374,7 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
362
374
  position: absolute;
363
375
  z-index: $navbar-dropdown-z-index;
364
376
  --uk-position-offset: #{$navbar-dropdown-margin};
377
+ --uk-position-shift-offset: 0;
365
378
  --uk-position-viewport-offset: 10;
366
379
  /* 3 */
367
380
  box-sizing: border-box;
@@ -411,7 +424,6 @@ $navbar-dropbar-z-index: $global-z-index - 20 !default;
411
424
  .uk-navbar-dropdown-dropbar {
412
425
  /* 1 */
413
426
  --uk-position-offset: #{$navbar-dropdown-dropbar-margin-top};
414
- --uk-position-viewport-offset: 0;
415
427
  /* 2 */
416
428
  margin-bottom: $navbar-dropdown-dropbar-margin-bottom;
417
429
  /* 3 */
@@ -1761,18 +1761,6 @@
1761
1761
  @mixin hook-navbar-dropbar(){ box-shadow: $navbar-dropbar-box-shadow; }
1762
1762
  @mixin hook-navbar-misc(){
1763
1763
 
1764
- /*
1765
- * Navbar
1766
- */
1767
-
1768
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-nav:first-child,
1769
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-item:first-child,
1770
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-left .uk-navbar-toggle:first-child { margin-left: (-$navbar-nav-item-padding-horizontal); }
1771
-
1772
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-nav:last-child,
1773
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-item:last-child,
1774
- .uk-container > :not(.uk-navbar-justified) > .uk-navbar-right .uk-navbar-toggle:last-child { margin-right: (-$navbar-nav-item-padding-horizontal); }
1775
-
1776
1764
  /*
1777
1765
  * Grid Divider
1778
1766
  */
@@ -7,6 +7,9 @@
7
7
  // Variables
8
8
  // ========================================================================
9
9
 
10
+ $navbar-nav-item-gap: 30px !default;
11
+ $navbar-nav-item-padding-horizontal: 0 !default;
12
+
10
13
  $navbar-nav-item-font-size: $global-small-font-size !default;
11
14
 
12
15
  $navbar-dropdown-margin: 15px !default;
@@ -730,13 +730,15 @@ $inverse-nav-dividers-border: $inverse-global-border !default;
730
730
  $navbar-background: $global-muted-background !default;
731
731
  $navbar-color-mode: none !default;
732
732
  $navbar-nav-item-height: 80px !default;
733
- $navbar-nav-item-padding-horizontal: 15px !default;
733
+ $navbar-nav-item-gap: 30px !default;
734
+ $navbar-nav-item-padding-horizontal: 0 !default;
734
735
  $navbar-nav-item-color: $global-muted-color !default;
735
736
  $navbar-nav-item-font-size: $global-small-font-size !default;
736
737
  $navbar-nav-item-font-family: $global-font-family !default;
737
738
  $navbar-nav-item-hover-color: $global-color !default;
738
739
  $navbar-nav-item-onclick-color: $global-emphasis-color !default;
739
740
  $navbar-nav-item-active-color: $global-emphasis-color !default;
741
+ $navbar-item-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
740
742
  $navbar-item-color: $global-color !default;
741
743
  $navbar-toggle-color: $global-muted-color !default;
742
744
  $navbar-toggle-hover-color: $global-color !default;
@@ -728,6 +728,7 @@ $inverse-nav-dividers-border: $inverse-global-border !default;
728
728
  $navbar-background: $global-muted-background !default;
729
729
  $navbar-color-mode: none !default;
730
730
  $navbar-nav-item-height: 80px !default;
731
+ $navbar-nav-item-gap: 0 !default;
731
732
  $navbar-nav-item-padding-horizontal: 15px !default;
732
733
  $navbar-nav-item-color: $global-muted-color !default;
733
734
  $navbar-nav-item-font-size: $global-font-size !default;
@@ -735,6 +736,7 @@ $navbar-nav-item-font-family: $global-font-family !default;
735
736
  $navbar-nav-item-hover-color: $global-color !default;
736
737
  $navbar-nav-item-onclick-color: $global-emphasis-color !default;
737
738
  $navbar-nav-item-active-color: $global-emphasis-color !default;
739
+ $navbar-item-padding-horizontal: $navbar-nav-item-padding-horizontal !default;
738
740
  $navbar-item-color: $global-color !default;
739
741
  $navbar-toggle-color: $global-muted-color !default;
740
742
  $navbar-toggle-hover-color: $global-color !default;