uikit 3.24.3-dev.63b12446 → 3.25.1-dev.82212e51

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 (56) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/build/release.js +3 -3
  3. package/build/util.js +6 -6
  4. package/dist/css/uikit-core-rtl.css +2 -2
  5. package/dist/css/uikit-core-rtl.min.css +1 -1
  6. package/dist/css/uikit-core.css +2 -2
  7. package/dist/css/uikit-core.min.css +1 -1
  8. package/dist/css/uikit-rtl.css +2 -2
  9. package/dist/css/uikit-rtl.min.css +1 -1
  10. package/dist/css/uikit.css +2 -2
  11. package/dist/css/uikit.min.css +1 -1
  12. package/dist/js/components/countdown.js +1 -1
  13. package/dist/js/components/countdown.min.js +1 -1
  14. package/dist/js/components/filter.js +1 -1
  15. package/dist/js/components/filter.min.js +1 -1
  16. package/dist/js/components/lightbox-panel.js +16 -16
  17. package/dist/js/components/lightbox-panel.min.js +1 -1
  18. package/dist/js/components/lightbox.js +16 -16
  19. package/dist/js/components/lightbox.min.js +1 -1
  20. package/dist/js/components/notification.js +2 -2
  21. package/dist/js/components/notification.min.js +1 -1
  22. package/dist/js/components/parallax.js +1 -1
  23. package/dist/js/components/parallax.min.js +1 -1
  24. package/dist/js/components/slider-parallax.js +1 -1
  25. package/dist/js/components/slider-parallax.min.js +1 -1
  26. package/dist/js/components/slider.js +15 -15
  27. package/dist/js/components/slider.min.js +1 -1
  28. package/dist/js/components/slideshow-parallax.js +1 -1
  29. package/dist/js/components/slideshow-parallax.min.js +1 -1
  30. package/dist/js/components/slideshow.js +15 -15
  31. package/dist/js/components/slideshow.min.js +1 -1
  32. package/dist/js/components/sortable.js +1 -1
  33. package/dist/js/components/sortable.min.js +1 -1
  34. package/dist/js/components/tooltip.js +2 -2
  35. package/dist/js/components/tooltip.min.js +1 -1
  36. package/dist/js/components/upload.js +1 -1
  37. package/dist/js/components/upload.min.js +1 -1
  38. package/dist/js/uikit-core.js +53 -45
  39. package/dist/js/uikit-core.min.js +1 -1
  40. package/dist/js/uikit-icons.js +1 -1
  41. package/dist/js/uikit-icons.min.js +1 -1
  42. package/dist/js/uikit.js +31 -23
  43. package/dist/js/uikit.min.js +1 -1
  44. package/package.json +2 -3
  45. package/src/js/core/height-viewport.js +12 -1
  46. package/src/js/mixin/slider-nav.js +16 -17
  47. package/src/less/components/accordion.less +2 -1
  48. package/src/scss/components/accordion.scss +1 -1
  49. package/src/scss/variables-theme.scss +1 -0
  50. package/src/scss/variables.scss +1 -0
  51. package/tests/height-viewport.html +12 -3
  52. package/tests/parallax.html +1 -1
  53. package/tests/sticky.html +2 -2
  54. package/tests/tab.html +1 -1
  55. package/tests/thumbnav.html +2 -2
  56. package/tests/toggle.html +2 -2
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.24.3-dev.63b12446",
5
+ "version": "3.25.1-dev.82212e51",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -27,7 +27,7 @@
27
27
  "camelcase": "^9.0.0",
28
28
  "chokidar-cli": "^3.0.0",
29
29
  "clean-css": "^5.3.3",
30
- "dateformat": "^5.0.3",
30
+ "date-fns": "^4.1.0",
31
31
  "esbuild": "^0.27.0",
32
32
  "eslint": "^9.19.0",
33
33
  "eslint-config-prettier": "^10.0.1",
@@ -44,7 +44,6 @@
44
44
  "prettier-plugin-organize-imports": "^4.0.0",
45
45
  "rollup": "^4.34.2",
46
46
  "rollup-plugin-esbuild": "^6.1.1",
47
- "rollup-plugin-modify": "^3.0.0",
48
47
  "rtlcss": "^4.1.1",
49
48
  "semver": "^7.7.1",
50
49
  "strip-css-comments": "^5.0.0",
@@ -14,8 +14,11 @@ import {
14
14
  toFloat,
15
15
  } from 'uikit-util';
16
16
  import { resize, viewport } from '../api/observables';
17
+ import Media from '../mixin/media';
17
18
 
18
19
  export default {
20
+ mixins: [Media],
21
+
19
22
  props: {
20
23
  expand: Boolean,
21
24
  offsetTop: Boolean,
@@ -44,6 +47,10 @@ export default {
44
47
  return false;
45
48
  }
46
49
 
50
+ if (!this.matchMedia) {
51
+ return { minHeight: false };
52
+ }
53
+
47
54
  let minHeight = '';
48
55
  const box = boxModelAdjust(this.$el, 'height', 'content-box');
49
56
 
@@ -90,7 +97,11 @@ export default {
90
97
  },
91
98
 
92
99
  write({ minHeight }) {
93
- css(this.$el, this.property, `max(${this.min || 0}px, ${minHeight})`);
100
+ css(
101
+ this.$el,
102
+ this.property,
103
+ minHeight === false ? '' : `max(${this.min || 0}px, ${minHeight})`,
104
+ );
94
105
  },
95
106
 
96
107
  events: ['resize'],
@@ -33,10 +33,10 @@ export default {
33
33
  },
34
34
 
35
35
  computed: {
36
- nav: ({ selNav }, $el) => $(selNav, $el),
36
+ nav: ({ selNav }, $el) => $$(selNav, $el),
37
37
 
38
38
  navChildren() {
39
- return children(this.nav);
39
+ return this.nav.map((nav) => children(nav)).flat();
40
40
  },
41
41
 
42
42
  selNavItem: ({ attrItem }) => `[${attrItem}],[data-${attrItem}]`,
@@ -109,9 +109,9 @@ export default {
109
109
  slides(slides) {
110
110
  slides.forEach((slide, i) =>
111
111
  attr(slide, {
112
- role: this.nav ? 'tabpanel' : 'group',
112
+ role: this.nav.length ? 'tabpanel' : 'group',
113
113
  'aria-label': this.t('slideLabel', i + 1, this.length),
114
- 'aria-roledescription': this.nav ? null : 'slide',
114
+ 'aria-roledescription': this.nav.length ? null : 'slide',
115
115
  }),
116
116
  );
117
117
 
@@ -229,19 +229,18 @@ export default {
229
229
  },
230
230
 
231
231
  padNavitems() {
232
- if (!this.nav) {
233
- return;
234
- }
235
-
236
- const children = [];
237
- for (let i = 0; i < this.length; i++) {
238
- const attr = `${this.attrItem}="${i}"`;
239
- children[i] =
240
- this.navChildren.findLast((el) => el.matches(`[${attr}]`)) ||
241
- $(`<li ${attr}><a href></a></li>`);
242
- }
243
- if (!isEqual(children, this.navChildren)) {
244
- html(this.nav, children);
232
+ for (const nav of this.nav) {
233
+ const navChildren = children(nav);
234
+ const navItems = [];
235
+ for (let i = 0; i < this.length; i++) {
236
+ const attr = `${this.attrItem}="${i}"`;
237
+ navItems[i] =
238
+ navChildren.findLast((el) => el.matches(`[${attr}]`)) ||
239
+ $(`<li ${attr}><a href></a></li>`);
240
+ }
241
+ if (!isEqual(navItems, navChildren)) {
242
+ html(this.nav, navItems);
243
+ }
245
244
  }
246
245
  },
247
246
  },
@@ -18,6 +18,7 @@
18
18
 
19
19
  @accordion-default-item-margin-top: @global-margin;
20
20
 
21
+ @accordion-default-title-gap: 15px;
21
22
  @accordion-default-title-font-size: @global-medium-font-size;
22
23
  @accordion-default-title-line-height: 1.4;
23
24
  @accordion-default-title-color: @global-emphasis-color;
@@ -80,7 +81,7 @@
80
81
  display: flex;
81
82
  align-items: center;
82
83
  /* 2 */
83
- column-gap: 0.25em;
84
+ column-gap: @accordion-default-title-gap;
84
85
  /* 3 */
85
86
  font-size: @accordion-default-title-font-size;
86
87
  line-height: @accordion-default-title-line-height;
@@ -76,7 +76,7 @@
76
76
  display: flex;
77
77
  align-items: center;
78
78
  /* 2 */
79
- column-gap: 0.25em;
79
+ column-gap: $accordion-default-title-gap;
80
80
  /* 3 */
81
81
  font-size: $accordion-default-title-font-size;
82
82
  line-height: $accordion-default-title-line-height;
@@ -4,6 +4,7 @@
4
4
 
5
5
  $global-margin: 20px !default;
6
6
  $accordion-default-item-margin-top: $global-margin !default;
7
+ $accordion-default-title-gap: 15px !default;
7
8
  $global-medium-font-size: 1.25rem !default;
8
9
  $accordion-default-title-font-size: $global-medium-font-size !default;
9
10
  $accordion-default-title-line-height: 1.4 !default;
@@ -4,6 +4,7 @@
4
4
 
5
5
  $global-margin: 20px !default;
6
6
  $accordion-default-item-margin-top: $global-margin !default;
7
+ $accordion-default-title-gap: 15px !default;
7
8
  $global-medium-font-size: 1.25rem !default;
8
9
  $accordion-default-title-font-size: $global-medium-font-size !default;
9
10
  $accordion-default-title-line-height: 1.4 !default;
@@ -65,11 +65,12 @@
65
65
  </div>
66
66
  <div>
67
67
 
68
- <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px">
68
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px; media: @xl">
69
69
  <div>
70
70
  <h1>JS</h1>
71
71
  <div>top: true</div>
72
72
  <div>bottom: 50px</div>
73
+ <div>media: @xl</div>
73
74
  </div>
74
75
  </div>
75
76
 
@@ -127,11 +128,12 @@
127
128
  </div>
128
129
  <div>
129
130
 
130
- <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px">
131
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px; media: @xl">
131
132
  <div>
132
133
  <h1>JS</h1>
133
134
  <div>top: true</div>
134
135
  <div>bottom: 50px</div>
136
+ <div>media: @xl</div>
135
137
  </div>
136
138
  </div>
137
139
 
@@ -189,11 +191,12 @@
189
191
  </div>
190
192
  <div>
191
193
 
192
- <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px">
194
+ <div class="uk-section uk-section-primary uk-flex uk-flex-center uk-flex-middle uk-text-center" uk-height-viewport="offset-top: true; offset-bottom: 50px; media: @xl">
193
195
  <div>
194
196
  <h1>JS</h1>
195
197
  <div>top: true</div>
196
198
  <div>bottom: 50px</div>
199
+ <div>media: @xl</div>
197
200
  </div>
198
201
  </div>
199
202
 
@@ -243,6 +246,12 @@
243
246
  <td>min-height</td>
244
247
  <td>The CSS property to set. (min-height, height, max-height)</td>
245
248
  </tr>
249
+ <tr>
250
+ <td><code>media</code></td>
251
+ <td>Boolean, Number, String</td>
252
+ <td>false</td>
253
+ <td>Condition for the component to be active - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl) or any valid media query (e.g. (min-width: 900px)).</td>
254
+ </tr>
246
255
  </tbody>
247
256
  </table>
248
257
  </div>
@@ -182,7 +182,7 @@
182
182
  <td><code>media</code></td>
183
183
  <td>Boolean, Number, String</td>
184
184
  <td>false</td>
185
- <td>Condition for the active status - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl).</td>
185
+ <td>Condition for the active status - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl) or any valid media query (e.g. (min-width: 900px)).</td>
186
186
  </tr>
187
187
  </tbody>
188
188
  </table>
package/tests/sticky.html CHANGED
@@ -395,9 +395,9 @@
395
395
  </tr>
396
396
  <tr>
397
397
  <td><code>media</code></td>
398
- <td>Number, String</td>
398
+ <td>Boolean, Number, String</td>
399
399
  <td>false</td>
400
- <td>Condition for the active status - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl).</td>
400
+ <td>Condition for the active status - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl) or any valid media query (e.g. (min-width: 900px)).</td>
401
401
  </tr>
402
402
  <tr>
403
403
  <td><code>target-offset</code></td>
package/tests/tab.html CHANGED
@@ -254,7 +254,7 @@
254
254
  <td><code>media</code></td>
255
255
  <td>Number, String</td>
256
256
  <td>960</td>
257
- <td>When to become horizontal - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl).</td>
257
+ <td>Condition for the horizontal mode - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl) or any valid media query (e.g. (min-width: 900px)).</td>
258
258
  </tr>
259
259
  </tbody>
260
260
  </table>
@@ -41,7 +41,7 @@
41
41
  </div>
42
42
 
43
43
  <div class="uk-position-bottom-center uk-position-small">
44
- <ul class="uk-thumbnav">
44
+ <ul class="uk-slideshow-nav uk-thumbnav">
45
45
  <li uk-slideshow-item="0"><a href><img src="images/photo.jpg" width="100" height="67" alt=""></a></li>
46
46
  <li uk-slideshow-item="1"><a href><img src="images/dark.jpg" width="100" height="67" alt=""></a></li>
47
47
  <li uk-slideshow-item="2"><a href><img src="images/light.jpg" width="100" height="67" alt=""></a></li>
@@ -49,7 +49,7 @@
49
49
  </div>
50
50
 
51
51
  <div class="uk-position-center-right uk-position-small">
52
- <ul class="uk-thumbnav uk-thumbnav-vertical">
52
+ <ul class="uk-slideshow-nav uk-thumbnav uk-thumbnav-vertical">
53
53
  <li uk-slideshow-item="0"><a href><img src="images/photo.jpg" width="100" height="67" alt=""></a></li>
54
54
  <li uk-slideshow-item="1"><a href><img src="images/dark.jpg" width="100" height="67" alt=""></a></li>
55
55
  <li uk-slideshow-item="2"><a href><img src="images/light.jpg" width="100" height="67" alt=""></a></li>
package/tests/toggle.html CHANGED
@@ -148,9 +148,9 @@
148
148
  </tr>
149
149
  <tr>
150
150
  <td><code>media</code></td>
151
- <td>media</td>
151
+ <td>Boolean, Number, String</td>
152
152
  <td>false</td>
153
- <td>In media mode, the breakpoint that triggers the toggle.</td>
153
+ <td>Condition to trigger the toggle in media mode - a width as integer (e.g. 640) or a breakpoint (e.g. @s, @m, @l, @xl) or any valid media query (e.g. (min-width: 900px)).</td>
154
154
  </tr>
155
155
  <tr>
156
156
  <td><code>cls</code></td>