uikit 3.16.27-dev.fa3746952 → 3.17.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 (124) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/build/less.js +5 -4
  3. package/build/util.js +7 -9
  4. package/dist/css/uikit-core-rtl.css +28 -11
  5. package/dist/css/uikit-core-rtl.min.css +1 -1
  6. package/dist/css/uikit-core.css +28 -11
  7. package/dist/css/uikit-core.min.css +1 -1
  8. package/dist/css/uikit-rtl.css +31 -10
  9. package/dist/css/uikit-rtl.min.css +1 -1
  10. package/dist/css/uikit.css +31 -10
  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 +24 -43
  15. package/dist/js/components/filter.min.js +1 -1
  16. package/dist/js/components/lightbox-panel.js +2 -3
  17. package/dist/js/components/lightbox-panel.min.js +1 -1
  18. package/dist/js/components/lightbox.js +2 -3
  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 +11 -18
  23. package/dist/js/components/parallax.min.js +1 -1
  24. package/dist/js/components/slider-parallax.js +10 -14
  25. package/dist/js/components/slider-parallax.min.js +1 -1
  26. package/dist/js/components/slider.js +2 -2
  27. package/dist/js/components/slider.min.js +1 -1
  28. package/dist/js/components/slideshow-parallax.js +10 -14
  29. package/dist/js/components/slideshow-parallax.min.js +1 -1
  30. package/dist/js/components/slideshow.js +19 -4
  31. package/dist/js/components/slideshow.min.js +1 -1
  32. package/dist/js/components/sortable.js +24 -43
  33. package/dist/js/components/sortable.min.js +1 -1
  34. package/dist/js/components/tooltip.js +1 -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 +457 -194
  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 +482 -209
  43. package/dist/js/uikit.min.js +1 -1
  44. package/package.json +3 -3
  45. package/src/js/api/boot.js +2 -2
  46. package/src/js/api/computed.js +1 -1
  47. package/src/js/api/observables.js +1 -4
  48. package/src/js/components/notification.js +1 -1
  49. package/src/js/components/slideshow.js +19 -2
  50. package/src/js/core/cover.js +30 -1
  51. package/src/js/core/drop.js +15 -9
  52. package/src/js/core/dropnav.js +16 -2
  53. package/src/js/core/grid.js +119 -64
  54. package/src/js/core/height-viewport.js +14 -17
  55. package/src/js/core/margin.js +23 -39
  56. package/src/js/core/navbar.js +219 -1
  57. package/src/js/core/scrollspy-nav.js +13 -4
  58. package/src/js/core/scrollspy.js +1 -1
  59. package/src/js/core/sticky.js +4 -4
  60. package/src/js/mixin/internal/animate-fade.js +1 -11
  61. package/src/js/mixin/internal/slideshow-animations.js +1 -1
  62. package/src/js/mixin/parallax.js +4 -1
  63. package/src/js/mixin/slider-reactive.js +1 -1
  64. package/src/js/mixin/togglable.js +0 -2
  65. package/src/js/util/animation.js +19 -13
  66. package/src/js/util/class.js +30 -26
  67. package/src/js/util/dom.js +3 -8
  68. package/src/js/util/filter.js +2 -6
  69. package/src/js/util/player.js +3 -11
  70. package/src/js/util/viewport.js +26 -4
  71. package/src/less/components/base.less +4 -2
  72. package/src/less/components/form.less +3 -0
  73. package/src/less/components/heading.less +18 -0
  74. package/src/less/components/navbar.less +6 -12
  75. package/src/less/components/position.less +1 -0
  76. package/src/less/components/section.less +6 -0
  77. package/src/less/theme/heading.less +4 -0
  78. package/src/less/theme/navbar.less +5 -0
  79. package/src/scss/components/base.scss +4 -2
  80. package/src/scss/components/form.scss +3 -0
  81. package/src/scss/components/heading.scss +13 -0
  82. package/src/scss/components/navbar.scss +5 -12
  83. package/src/scss/components/position.scss +1 -0
  84. package/src/scss/components/section.scss +4 -0
  85. package/src/scss/mixins-theme.scss +11 -0
  86. package/src/scss/mixins.scss +6 -0
  87. package/src/scss/theme/heading.scss +4 -0
  88. package/src/scss/variables-theme.scss +7 -0
  89. package/src/scss/variables.scss +7 -0
  90. package/tests/alert.html +7 -7
  91. package/tests/close.html +2 -2
  92. package/tests/cover.html +2 -2
  93. package/tests/drop.html +13 -7
  94. package/tests/dropbar.html +11 -11
  95. package/tests/dropnav.html +42 -30
  96. package/tests/filter.html +5 -5
  97. package/tests/form.html +1 -1
  98. package/tests/grid-masonry.html +49 -73
  99. package/tests/grid-parallax.html +82 -40
  100. package/tests/grid.html +21 -3
  101. package/tests/heading.html +33 -4
  102. package/tests/height-viewport.html +3 -3
  103. package/tests/height.html +2 -2
  104. package/tests/icon.html +1 -1
  105. package/tests/image.html +6 -6
  106. package/tests/index.html +5 -5
  107. package/tests/leader.html +3 -3
  108. package/tests/nav.html +9 -9
  109. package/tests/navbar.html +50 -32
  110. package/tests/notification.html +1 -1
  111. package/tests/offcanvas.html +2 -2
  112. package/tests/parallax.html +1 -1
  113. package/tests/scrollspy.html +3 -3
  114. package/tests/sortable.html +3 -3
  115. package/tests/sticky-navbar.html +239 -20
  116. package/tests/sticky.html +8 -8
  117. package/tests/subnav.html +3 -3
  118. package/tests/svg.html +1 -1
  119. package/tests/tab.html +2 -2
  120. package/tests/toggle.html +2 -2
  121. package/tests/tooltip.html +2 -2
  122. package/tests/upload.html +16 -16
  123. package/tests/utility.html +2 -2
  124. package/tests/video.html +3 -3
package/CHANGELOG.md CHANGED
@@ -1,10 +1,29 @@
1
1
  # Changelog
2
2
 
3
- ## WIP
3
+ ## 3.17.0 (September 28, 2023)
4
+
5
+ ### Added
6
+
7
+ - Add modes `pack` (default) and `next` to Grid component's `masonry` option
8
+ - Add `parallax-start`, `parallax-end`, `parallax-justify` option to Grid component
9
+ - Add `close-on-scroll` option to Drop and Dropdown component
10
+ - Add transparent Navbar gets its color modifier from underlying section
11
+ - Add support for `<td>` and `<tr>` elements to `fragment()` function
12
+ - Add 3XL size modifier to Heading component
13
+ - Add support for a CSS Selector in `offsetTop` option in Height Viewport component
14
+
15
+ ### Change
16
+
17
+ - Scroll component scrolls beneath elements covering its target
18
+ - The `closest()` function no longer accepts an array of elements
19
+ - Reset fieldset min-width
20
+
21
+ ## 3.16.27 (September 28, 2023)
4
22
 
5
23
  ### Fixed
6
24
 
7
25
  - Fix Height Viewport component not observing viewport changes with `expand: true`
26
+ - Fix passing a `vh` unit to option `scale` relates to element's height in Parallax component
8
27
 
9
28
  ## 3.16.26 (August 28, 2023)
10
29
 
package/build/less.js CHANGED
@@ -1,7 +1,8 @@
1
+ import fs from 'fs-extra';
1
2
  import { glob } from 'glob';
2
3
  import path from 'path';
3
4
  import rtlcss from 'rtlcss';
4
- import { args, banner, minify, pathExists, read, readJson, renderLess, write } from './util.js';
5
+ import { args, banner, minify, read, renderLess, write } from './util.js';
5
6
 
6
7
  const { rtl } = args;
7
8
  const develop = args.develop || args.debug || args.d || args.nominify;
@@ -10,7 +11,7 @@ const sources = [
10
11
  { src: 'src/less/uikit.theme.less', dist: `dist/css/uikit${rtl ? '-rtl' : ''}.css` },
11
12
  ];
12
13
 
13
- const themes = (await pathExists('themes.json')) ? await readJson('themes.json') : {};
14
+ const themes = (await fs.pathExists('themes.json')) ? await fs.readJson('themes.json') : {};
14
15
 
15
16
  for (const src of await glob('custom/*.less')) {
16
17
  const theme = path.basename(src, '.less');
@@ -18,7 +19,7 @@ for (const src of await glob('custom/*.less')) {
18
19
 
19
20
  themes[theme] = { css: `../${dist}` };
20
21
 
21
- if (await pathExists(`dist/js/uikit-icons-${theme}.js`)) {
22
+ if (await fs.pathExists(`dist/js/uikit-icons-${theme}.js`)) {
22
23
  themes[theme].icons = `../dist/js/uikit-icons-${theme}.js`;
23
24
  }
24
25
 
@@ -27,7 +28,7 @@ for (const src of await glob('custom/*.less')) {
27
28
 
28
29
  await Promise.all(sources.map(({ src, dist }) => compile(src, dist, develop, rtl)));
29
30
 
30
- if (!rtl && (Object.keys(themes).length || !(await pathExists('themes.json')))) {
31
+ if (!rtl && (Object.keys(themes).length || !(await fs.pathExists('themes.json')))) {
31
32
  await write('themes.json', JSON.stringify(themes));
32
33
  }
33
34
 
package/build/util.js CHANGED
@@ -14,8 +14,6 @@ import svgo from 'svgo';
14
14
 
15
15
  const limit = pLimit(Number(process.env.cpus || 2));
16
16
 
17
- export const { pathExists, readJson } = fs;
18
-
19
17
  export const banner = `/*! UIkit ${await getVersion()} | https://www.getuikit.com | (c) 2014 - ${new Date().getFullYear()} YOOtheme | MIT License */\n`;
20
18
  export const validClassName = /[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/;
21
19
 
@@ -46,8 +44,8 @@ export async function write(dest, data) {
46
44
  }
47
45
 
48
46
  export async function logFile(file) {
49
- const data = await read(file);
50
- console.log(`${cyan(file)} ${getSize(data)}`);
47
+ const { size } = await fs.stat(file);
48
+ console.log(`${cyan(file)} ${formatSize(size)}`);
51
49
  }
52
50
 
53
51
  export async function minify(file) {
@@ -107,8 +105,8 @@ export async function compile(file, dest, { external, globals, name, aliases, re
107
105
 
108
106
  !debug &&
109
107
  modify({
110
- find: /(>)\n\s+|\n\s+(<)/,
111
- replace: (m, m1, m2) => `${m1 || ''} ${m2 || ''}`,
108
+ find: /(?<=>)\n\s+|\n\s+(?=<)/,
109
+ replace: ' ',
112
110
  }),
113
111
  ],
114
112
  };
@@ -198,7 +196,7 @@ export function ucfirst(str) {
198
196
  }
199
197
 
200
198
  export async function getVersion() {
201
- return (await readJson('package.json')).version;
199
+ return (await fs.readJson('package.json')).version;
202
200
  }
203
201
 
204
202
  export async function replaceInFile(file, fn) {
@@ -209,8 +207,8 @@ function cyan(str) {
209
207
  return `\x1b[1m\x1b[36m${str}\x1b[39m\x1b[22m`;
210
208
  }
211
209
 
212
- function getSize(data) {
213
- return `${(data.length / 1024).toFixed(2)}kb`;
210
+ function formatSize(bytes) {
211
+ return `${(bytes / 1024).toFixed(2)}kb`;
214
212
  }
215
213
 
216
214
  async function optimizeSvg(svg) {
@@ -1,4 +1,4 @@
1
- /*! UIkit 3.16.27-dev.fa3746952 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
1
+ /*! UIkit 3.17.0 | https://www.getuikit.com | (c) 2014 - 2023 YOOtheme | MIT License */
2
2
  /* ========================================================================
3
3
  Component: Base
4
4
  ========================================================================== */
@@ -217,7 +217,8 @@ h6,
217
217
  .uk-heading-medium,
218
218
  .uk-heading-large,
219
219
  .uk-heading-xlarge,
220
- .uk-heading-2xlarge {
220
+ .uk-heading-2xlarge,
221
+ .uk-heading-3xlarge {
221
222
  margin: 0 0 20px 0;
222
223
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
223
224
  font-weight: normal;
@@ -241,7 +242,8 @@ h6,
241
242
  * + .uk-heading-medium,
242
243
  * + .uk-heading-large,
243
244
  * + .uk-heading-xlarge,
244
- * + .uk-heading-2xlarge {
245
+ * + .uk-heading-2xlarge,
246
+ * + .uk-heading-3xlarge {
245
247
  margin-top: 40px;
246
248
  }
247
249
  /*
@@ -506,6 +508,10 @@ a.uk-link-reset,
506
508
  font-size: 6rem;
507
509
  line-height: 1;
508
510
  }
511
+ .uk-heading-3xlarge {
512
+ font-size: 8rem;
513
+ line-height: 1;
514
+ }
509
515
  /* Tablet Landscape and bigger */
510
516
  @media (min-width: 960px) {
511
517
  .uk-heading-small {
@@ -523,6 +529,9 @@ a.uk-link-reset,
523
529
  .uk-heading-2xlarge {
524
530
  font-size: 8rem;
525
531
  }
532
+ .uk-heading-3xlarge {
533
+ font-size: 11rem;
534
+ }
526
535
  }
527
536
  /* Laptop and bigger */
528
537
  @media (min-width: 1200px) {
@@ -538,6 +547,9 @@ a.uk-link-reset,
538
547
  .uk-heading-2xlarge {
539
548
  font-size: 11rem;
540
549
  }
550
+ .uk-heading-3xlarge {
551
+ font-size: 15rem;
552
+ }
541
553
  }
542
554
  /* Primary
543
555
  Deprecated: Use `uk-heading-medium` instead
@@ -1363,11 +1375,14 @@ button.uk-icon:not(:disabled) {
1363
1375
  }
1364
1376
  /*
1365
1377
  * Define consistent border, margin, and padding.
1378
+ * 1. Reset `min-width`
1366
1379
  */
1367
1380
  .uk-fieldset {
1368
1381
  border: none;
1369
1382
  margin: 0;
1370
1383
  padding: 0;
1384
+ /* 1 */
1385
+ min-width: 0;
1371
1386
  }
1372
1387
  /* Input, select and textarea
1373
1388
  * Allowed: `text`, `password`, `datetime-local`, `date`, `month`,
@@ -2169,24 +2184,28 @@ select.uk-form-width-xsmall {
2169
2184
  */
2170
2185
  .uk-section-default {
2171
2186
  background: #fff;
2187
+ --uk-navbar-color: dark;
2172
2188
  }
2173
2189
  /*
2174
2190
  * Muted
2175
2191
  */
2176
2192
  .uk-section-muted {
2177
2193
  background: #f8f8f8;
2194
+ --uk-navbar-color: dark;
2178
2195
  }
2179
2196
  /*
2180
2197
  * Primary
2181
2198
  */
2182
2199
  .uk-section-primary {
2183
2200
  background: #1e87f0;
2201
+ --uk-navbar-color: light;
2184
2202
  }
2185
2203
  /*
2186
2204
  * Secondary
2187
2205
  */
2188
2206
  .uk-section-secondary {
2189
2207
  background: #222;
2208
+ --uk-navbar-color: light;
2190
2209
  }
2191
2210
  /* Overlap modifier
2192
2211
  ========================================================================== */
@@ -4879,11 +4898,14 @@ ul.uk-nav-sub {
4879
4898
  ========================================================================== */
4880
4899
  /*
4881
4900
  * 1. Create position context to center navbar group
4901
+ * 2. Pass dropbar behind color to JS
4882
4902
  */
4883
4903
  .uk-navbar {
4884
4904
  display: flex;
4885
4905
  /* 1 */
4886
4906
  position: relative;
4907
+ /* 2 */
4908
+ --uk-navbar-dropbar-behind-color: dark;
4887
4909
  }
4888
4910
  /* Container
4889
4911
  ========================================================================== */
@@ -5222,14 +5244,6 @@ ul.uk-nav-sub {
5222
5244
  /*
5223
5245
  * Adopts `uk-dropnav-dropbar`
5224
5246
  */
5225
- /*
5226
- * Create navbar placeholder space if dropbar is behind navbar
5227
- */
5228
- .uk-navbar-dropbar-behind::before {
5229
- content: "";
5230
- display: block;
5231
- height: 80px;
5232
- }
5233
5247
  /* ========================================================================
5234
5248
  Component: Subnav
5235
5249
  ========================================================================== */
@@ -8798,6 +8812,9 @@ iframe[data-uk-cover] {
8798
8812
  .uk-position-z-index-negative {
8799
8813
  z-index: -1;
8800
8814
  }
8815
+ .uk-position-z-index-high {
8816
+ z-index: 990;
8817
+ }
8801
8818
  /* ========================================================================
8802
8819
  Component: Transition
8803
8820
  ========================================================================== */