uikit 3.11.2-dev.f2970ffaa → 3.11.2-dev.f3ade19c4

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 (225) hide show
  1. package/.eslintrc.json +4 -49
  2. package/.prettierignore +14 -0
  3. package/.prettierrc.json +13 -0
  4. package/.webstorm.js +3 -3
  5. package/CHANGELOG.md +54 -18
  6. package/build/.eslintrc.json +1 -3
  7. package/build/build.js +26 -28
  8. package/build/icons.js +7 -11
  9. package/build/less.js +48 -36
  10. package/build/package.json +2 -2
  11. package/build/prefix.js +21 -18
  12. package/build/publishDev.js +6 -8
  13. package/build/release.js +20 -17
  14. package/build/scope.js +21 -11
  15. package/build/scss.js +72 -39
  16. package/build/util.js +71 -62
  17. package/build/wrapper/icons.js +0 -2
  18. package/dist/css/uikit-core-rtl.css +133 -201
  19. package/dist/css/uikit-core-rtl.min.css +1 -1
  20. package/dist/css/uikit-core.css +133 -201
  21. package/dist/css/uikit-core.min.css +1 -1
  22. package/dist/css/uikit-rtl.css +135 -207
  23. package/dist/css/uikit-rtl.min.css +1 -1
  24. package/dist/css/uikit.css +135 -207
  25. package/dist/css/uikit.min.css +1 -1
  26. package/dist/js/components/countdown.js +88 -133
  27. package/dist/js/components/countdown.min.js +1 -1
  28. package/dist/js/components/filter.js +408 -439
  29. package/dist/js/components/filter.min.js +1 -1
  30. package/dist/js/components/lightbox-panel.js +1091 -1319
  31. package/dist/js/components/lightbox-panel.min.js +1 -1
  32. package/dist/js/components/lightbox.js +1137 -1396
  33. package/dist/js/components/lightbox.min.js +1 -1
  34. package/dist/js/components/notification.js +94 -114
  35. package/dist/js/components/notification.min.js +1 -1
  36. package/dist/js/components/parallax.js +347 -372
  37. package/dist/js/components/parallax.min.js +1 -1
  38. package/dist/js/components/slider-parallax.js +345 -360
  39. package/dist/js/components/slider-parallax.min.js +1 -1
  40. package/dist/js/components/slider.js +749 -843
  41. package/dist/js/components/slider.min.js +1 -1
  42. package/dist/js/components/slideshow-parallax.js +345 -360
  43. package/dist/js/components/slideshow-parallax.min.js +1 -1
  44. package/dist/js/components/slideshow.js +628 -798
  45. package/dist/js/components/slideshow.min.js +1 -1
  46. package/dist/js/components/sortable.js +587 -620
  47. package/dist/js/components/sortable.min.js +1 -1
  48. package/dist/js/components/tooltip.js +324 -356
  49. package/dist/js/components/tooltip.min.js +1 -1
  50. package/dist/js/components/upload.js +155 -167
  51. package/dist/js/components/upload.min.js +1 -1
  52. package/dist/js/uikit-core.js +5326 -6526
  53. package/dist/js/uikit-core.min.js +1 -1
  54. package/dist/js/uikit-icons.js +7 -9
  55. package/dist/js/uikit-icons.min.js +1 -1
  56. package/dist/js/uikit.js +8031 -9659
  57. package/dist/js/uikit.min.js +1 -1
  58. package/jsconfig.json +1 -1
  59. package/package.json +64 -60
  60. package/src/js/api/boot.js +25 -32
  61. package/src/js/api/component.js +15 -28
  62. package/src/js/api/global.js +6 -12
  63. package/src/js/api/hooks.js +14 -33
  64. package/src/js/api/instance.js +7 -15
  65. package/src/js/api/state.js +199 -187
  66. package/src/js/components/countdown.js +26 -52
  67. package/src/js/components/filter.js +70 -66
  68. package/src/js/components/index.js +13 -13
  69. package/src/js/components/internal/lightbox-animations.js +14 -25
  70. package/src/js/components/internal/slider-preload.js +9 -0
  71. package/src/js/components/internal/slider-transitioner.js +66 -45
  72. package/src/js/components/internal/slideshow-animations.js +46 -64
  73. package/src/js/components/lightbox-panel.js +107 -105
  74. package/src/js/components/lightbox.js +17 -39
  75. package/src/js/components/notification.js +49 -43
  76. package/src/js/components/parallax.js +21 -46
  77. package/src/js/components/slider-parallax.js +13 -23
  78. package/src/js/components/slider.js +117 -89
  79. package/src/js/components/slideshow-parallax.js +1 -1
  80. package/src/js/components/slideshow.js +15 -13
  81. package/src/js/components/sortable.js +125 -106
  82. package/src/js/components/tooltip.js +41 -31
  83. package/src/js/components/upload.js +52 -63
  84. package/src/js/core/accordion.js +58 -48
  85. package/src/js/core/alert.js +9 -17
  86. package/src/js/core/core.js +17 -69
  87. package/src/js/core/cover.js +15 -15
  88. package/src/js/core/drop.js +110 -94
  89. package/src/js/core/form-custom.js +22 -27
  90. package/src/js/core/gif.js +3 -7
  91. package/src/js/core/grid.js +57 -58
  92. package/src/js/core/height-match.js +16 -29
  93. package/src/js/core/height-viewport.js +30 -34
  94. package/src/js/core/icon.js +47 -52
  95. package/src/js/core/img.js +153 -143
  96. package/src/js/core/index.js +39 -39
  97. package/src/js/core/leader.js +9 -18
  98. package/src/js/core/margin.js +21 -37
  99. package/src/js/core/modal.js +49 -36
  100. package/src/js/core/nav.js +2 -4
  101. package/src/js/core/navbar.js +113 -85
  102. package/src/js/core/offcanvas.js +51 -54
  103. package/src/js/core/overflow-auto.js +13 -17
  104. package/src/js/core/responsive.js +14 -12
  105. package/src/js/core/scroll.js +10 -20
  106. package/src/js/core/scrollspy-nav.js +34 -31
  107. package/src/js/core/scrollspy.js +37 -54
  108. package/src/js/core/sticky.js +175 -123
  109. package/src/js/core/svg.js +68 -83
  110. package/src/js/core/switcher.js +56 -47
  111. package/src/js/core/tab.js +7 -10
  112. package/src/js/core/toggle.js +69 -68
  113. package/src/js/core/video.js +22 -21
  114. package/src/js/mixin/animate.js +19 -20
  115. package/src/js/mixin/class.js +2 -4
  116. package/src/js/mixin/container.js +7 -11
  117. package/src/js/mixin/internal/animate-fade.js +73 -30
  118. package/src/js/mixin/internal/animate-slide.js +58 -41
  119. package/src/js/mixin/internal/slideshow-animations.js +7 -14
  120. package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
  121. package/src/js/mixin/lazyload.js +20 -0
  122. package/src/js/mixin/media.js +5 -10
  123. package/src/js/mixin/modal.js +89 -66
  124. package/src/js/mixin/parallax.js +149 -107
  125. package/src/js/mixin/position.js +26 -20
  126. package/src/js/mixin/slider-autoplay.js +12 -21
  127. package/src/js/mixin/slider-drag.js +64 -65
  128. package/src/js/mixin/slider-nav.js +26 -35
  129. package/src/js/mixin/slider-reactive.js +2 -8
  130. package/src/js/mixin/slider.js +47 -60
  131. package/src/js/mixin/slideshow.js +12 -22
  132. package/src/js/mixin/swipe.js +72 -0
  133. package/src/js/mixin/togglable.js +89 -63
  134. package/src/js/uikit-core.js +2 -4
  135. package/src/js/uikit.js +2 -4
  136. package/src/js/util/ajax.js +25 -40
  137. package/src/js/util/animation.js +77 -75
  138. package/src/js/util/attr.js +17 -21
  139. package/src/js/util/class.js +14 -52
  140. package/src/js/util/dimensions.js +78 -49
  141. package/src/js/util/dom.js +39 -66
  142. package/src/js/util/env.js +7 -12
  143. package/src/js/util/event.js +60 -59
  144. package/src/js/util/fastdom.js +1 -6
  145. package/src/js/util/filter.js +17 -34
  146. package/src/js/util/index.js +1 -1
  147. package/src/js/util/lang.js +82 -121
  148. package/src/js/util/mouse.js +19 -17
  149. package/src/js/util/observer.js +36 -0
  150. package/src/js/util/options.js +35 -49
  151. package/src/js/util/player.js +41 -36
  152. package/src/js/util/position.js +54 -46
  153. package/src/js/util/selector.js +43 -58
  154. package/src/js/util/style.js +39 -49
  155. package/src/js/util/viewport.js +75 -64
  156. package/src/less/components/base.less +10 -33
  157. package/src/less/components/flex.less +0 -9
  158. package/src/less/components/form-range.less +48 -95
  159. package/src/less/components/form.less +0 -1
  160. package/src/less/components/height.less +3 -0
  161. package/src/less/components/leader.less +0 -1
  162. package/src/less/components/lightbox.less +0 -1
  163. package/src/less/components/modal.less +3 -7
  164. package/src/less/components/navbar.less +0 -7
  165. package/src/less/components/progress.less +14 -36
  166. package/src/less/components/slider.less +0 -3
  167. package/src/less/components/slideshow.less +0 -3
  168. package/src/less/components/text.less +16 -32
  169. package/src/less/components/utility.less +25 -0
  170. package/src/scss/components/base.scss +10 -33
  171. package/src/scss/components/flex.scss +0 -9
  172. package/src/scss/components/form-range.scss +48 -95
  173. package/src/scss/components/form.scss +3 -4
  174. package/src/scss/components/height.scss +3 -0
  175. package/src/scss/components/icon.scss +2 -2
  176. package/src/scss/components/leader.scss +0 -1
  177. package/src/scss/components/lightbox.scss +0 -1
  178. package/src/scss/components/modal.scss +3 -7
  179. package/src/scss/components/navbar.scss +0 -7
  180. package/src/scss/components/progress.scss +14 -36
  181. package/src/scss/components/search.scss +1 -1
  182. package/src/scss/components/slider.scss +0 -3
  183. package/src/scss/components/slideshow.scss +0 -3
  184. package/src/scss/components/text.scss +16 -32
  185. package/src/scss/components/utility.scss +25 -0
  186. package/src/scss/mixins-theme.scss +1 -1
  187. package/src/scss/mixins.scss +1 -1
  188. package/src/scss/variables-theme.scss +9 -9
  189. package/src/scss/variables.scss +9 -9
  190. package/tests/align.html +10 -10
  191. package/tests/animation.html +2 -2
  192. package/tests/article.html +2 -2
  193. package/tests/base.html +3 -3
  194. package/tests/card.html +10 -10
  195. package/tests/column.html +3 -3
  196. package/tests/comment.html +9 -9
  197. package/tests/dotnav.html +3 -3
  198. package/tests/image.html +296 -64
  199. package/tests/images/image-type.avif +0 -0
  200. package/tests/images/image-type.jpeg +0 -0
  201. package/tests/images/image-type.webp +0 -0
  202. package/tests/index.html +8 -8
  203. package/tests/js/index.js +114 -85
  204. package/tests/lightbox.html +10 -10
  205. package/tests/marker.html +2 -2
  206. package/tests/modal.html +8 -9
  207. package/tests/navbar.html +2 -2
  208. package/tests/overlay.html +7 -7
  209. package/tests/parallax.html +16 -7
  210. package/tests/position.html +12 -12
  211. package/tests/slidenav.html +12 -12
  212. package/tests/slider.html +20 -20
  213. package/tests/sortable.html +1 -1
  214. package/tests/sticky-parallax.html +87 -99
  215. package/tests/sticky.html +56 -24
  216. package/tests/svg.html +6 -6
  217. package/tests/table.html +11 -11
  218. package/tests/thumbnav.html +12 -12
  219. package/tests/transition.html +30 -30
  220. package/tests/utility.html +50 -33
  221. package/tests/video.html +1 -1
  222. package/tests/width.html +1 -1
  223. package/src/js/mixin/flex-bug.js +0 -56
  224. package/src/js/util/promise.js +0 -191
  225. package/tests/images/animated.gif +0 -0
package/build/util.js CHANGED
@@ -2,32 +2,32 @@ import less from 'less';
2
2
  import fs from 'fs-extra';
3
3
  import pLimit from 'p-limit';
4
4
  import globImport from 'glob';
5
- import {optimize} from 'svgo';
6
- import {promisify} from 'util';
5
+ import { optimize } from 'svgo';
6
+ import { promisify } from 'util';
7
7
  import minimist from 'minimist';
8
8
  import CleanCSS from 'clean-css';
9
9
  import html from 'rollup-plugin-html';
10
- import buble from '@rollup/plugin-buble';
11
10
  import alias from '@rollup/plugin-alias';
12
11
  import modify from 'rollup-plugin-modify';
12
+ import { babel } from '@rollup/plugin-babel';
13
13
  import replace from '@rollup/plugin-replace';
14
- import {basename, dirname, join} from 'path';
15
- import {exec as execImport} from 'child_process';
16
- import {rollup, watch as rollupWatch} from 'rollup';
17
- import {minify as rollupMinify} from 'rollup-plugin-esbuild';
14
+ import { basename, dirname, join } from 'path';
15
+ import { exec as execImport } from 'child_process';
16
+ import { rollup, watch as rollupWatch } from 'rollup';
17
+ import { minify as rollupMinify } from 'rollup-plugin-esbuild';
18
18
 
19
19
  const limit = pLimit(Number(process.env.cpus || 2));
20
20
 
21
21
  export const exec = promisify(execImport);
22
22
  export const glob = promisify(globImport);
23
- export const {pathExists, readJson} = fs;
23
+ export const { pathExists, readJson } = fs;
24
24
 
25
25
  export const banner = `/*! UIkit ${await getVersion()} | https://www.getuikit.com | (c) 2014 - ${new Date().getFullYear()} YOOtheme | MIT License */\n`;
26
26
  export const validClassName = /[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/;
27
27
 
28
28
  const argv = minimist(process.argv.slice(2));
29
29
 
30
- argv._.forEach(arg => {
30
+ argv._.forEach((arg) => {
31
31
  const tokens = arg.split('=');
32
32
  argv[tokens[0]] = tokens[1] || true;
33
33
  });
@@ -39,7 +39,6 @@ export function read(file) {
39
39
  }
40
40
 
41
41
  export async function write(dest, data) {
42
-
43
42
  const err = await fs.writeFile(dest, data);
44
43
 
45
44
  if (err) {
@@ -50,7 +49,6 @@ export async function write(dest, data) {
50
49
  await logFile(dest);
51
50
 
52
51
  return dest;
53
-
54
52
  }
55
53
 
56
54
  export async function logFile(file) {
@@ -59,26 +57,25 @@ export async function logFile(file) {
59
57
  }
60
58
 
61
59
  export async function minify(file) {
62
-
63
- const {styles} = await limit(() => new CleanCSS({
64
- advanced: false,
65
- keepSpecialComments: 0,
66
- rebase: false,
67
- returnPromise: true
68
- }).minify([file]));
60
+ const { styles } = await limit(() =>
61
+ new CleanCSS({
62
+ advanced: false,
63
+ keepSpecialComments: 0,
64
+ rebase: false,
65
+ returnPromise: true,
66
+ }).minify([file])
67
+ );
69
68
 
70
69
  await write(`${join(dirname(file), basename(file, '.css'))}.min.css`, styles);
71
70
 
72
71
  return styles;
73
-
74
72
  }
75
73
 
76
74
  export function renderLess(data, options) {
77
75
  return limit(async () => (await less.render(data, options)).css);
78
76
  }
79
77
 
80
- export async function compile(file, dest, {external, globals, name, aliases, replaces} = {}) {
81
-
78
+ export async function compile(file, dest, { external, globals, name, aliases, replaces } = {}) {
82
79
  const minify = !args.nominify;
83
80
  const debug = args.d || args.debug;
84
81
  const watch = args.w || args.watch;
@@ -93,48 +90,65 @@ export async function compile(file, dest, {external, globals, name, aliases, rep
93
90
  preventAssignment: true,
94
91
  values: {
95
92
  VERSION: `'${await getVersion()}'`,
96
- ...replaces
97
- }
93
+ ...replaces,
94
+ },
98
95
  }),
99
96
  alias({
100
97
  entries: {
101
98
  'uikit-util': './src/js/util/index.js',
102
- ...aliases
103
- }
99
+ ...aliases,
100
+ },
104
101
  }),
105
102
  html({
106
103
  include: '**/*.svg',
107
104
  htmlMinifierOptions: {
108
- collapseWhitespace: true
109
- }
105
+ collapseWhitespace: true,
106
+ },
107
+ }),
108
+ babel({
109
+ presets: [
110
+ [
111
+ '@babel/preset-env',
112
+ {
113
+ loose: true,
114
+ targets: {
115
+ safari: '12',
116
+ },
117
+ },
118
+ ],
119
+ ],
120
+ extensions: ['.js'],
121
+ babelHelpers: 'bundled',
122
+ retainLines: true,
110
123
  }),
111
- buble({namedFunctionExpressions: false}),
112
124
  modify({
113
125
  find: /(>)\\n\s+|\\n\s+(<)/,
114
- replace: (m, m1, m2) => `${m1 || ''} ${m2 || ''}`
115
- })
116
- ]
126
+ replace: (m, m1, m2) => `${m1 || ''} ${m2 || ''}`,
127
+ }),
128
+ ],
117
129
  };
118
130
 
119
131
  const outputOptions = {
120
132
  globals,
121
133
  banner,
122
134
  format: 'umd',
123
- amd: {id: `UIkit${name}`.toLowerCase()},
135
+ amd: { id: `UIkit${name}`.toLowerCase() },
124
136
  name: `UIkit${ucfirst(name)}`,
125
- sourcemap: debug ? 'inline' : false
137
+ sourcemap: debug ? 'inline' : false,
126
138
  };
127
139
 
128
- const output = [{
129
- ...outputOptions,
130
- file: `${dest}.js`
131
- }];
140
+ const output = [
141
+ {
142
+ ...outputOptions,
143
+ file: `${dest}.js`,
144
+ },
145
+ ];
132
146
 
133
147
  if (minify) {
134
148
  output.push({
135
149
  ...outputOptions,
136
150
  file: `${dest}.min.js`,
137
- plugins: [minify ? rollupMinify() : undefined]
151
+ plugins: [minify ? rollupMinify() : undefined],
138
152
  });
139
153
  }
140
154
 
@@ -148,18 +162,16 @@ export async function compile(file, dest, {external, globals, name, aliases, rep
148
162
 
149
163
  await bundle.close();
150
164
  } else {
151
-
152
165
  console.log('UIkit is watching the files...');
153
166
 
154
167
  const watcher = rollupWatch({
155
168
  ...inputOptions,
156
- output
169
+ output,
157
170
  });
158
171
 
159
- watcher.on('event', ({code, result, output, error}) => {
172
+ watcher.on('event', ({ code, result, output, error }) => {
160
173
  if (result) {
161
174
  result.close();
162
-
163
175
  }
164
176
  if (code === 'BUNDLE_END' && output) {
165
177
  output.map(logFile);
@@ -171,11 +183,9 @@ export async function compile(file, dest, {external, globals, name, aliases, rep
171
183
 
172
184
  watcher.close();
173
185
  }
174
-
175
186
  }
176
187
 
177
188
  export async function icons(src) {
178
-
179
189
  const options = {
180
190
  plugins: [
181
191
  {
@@ -184,7 +194,7 @@ export async function icons(src) {
184
194
  overrides: {
185
195
  removeViewBox: false,
186
196
  cleanupNumericValues: {
187
- floatPrecision: 3
197
+ floatPrecision: 3,
188
198
  },
189
199
  convertPathData: false,
190
200
  convertShapeToPath: false,
@@ -193,31 +203,30 @@ export async function icons(src) {
193
203
  removeStyleElement: false,
194
204
  removeScriptElement: false,
195
205
  removeUnknownsAndDefaults: false,
196
- removeUselessStrokeAndFill: false
197
- }
198
- }
199
- }
200
- ]
206
+ removeUselessStrokeAndFill: false,
207
+ },
208
+ },
209
+ },
210
+ ],
201
211
  };
202
212
 
203
- const files = await glob(src, {nosort: true});
213
+ const files = await glob(src, { nosort: true });
204
214
  const icons = await Promise.all(
205
- files.map(file =>
206
- limit(async () =>
207
- (await optimize(await read(file), options)).data
208
- )
209
- )
215
+ files.map((file) => limit(async () => (await optimize(await read(file), options)).data))
210
216
  );
211
217
 
212
- return JSON.stringify(files.reduce((result, file, i) => {
213
- result[basename(file, '.svg')] = icons[i];
214
- return result;
215
- }, {}), null, ' ');
216
-
218
+ return JSON.stringify(
219
+ files.reduce((result, file, i) => {
220
+ result[basename(file, '.svg')] = icons[i];
221
+ return result;
222
+ }, {}),
223
+ null,
224
+ ' '
225
+ );
217
226
  }
218
227
 
219
228
  export async function run(cmd, options) {
220
- const {stdout, stderr} = await limit(() => exec(cmd, options));
229
+ const { stdout, stderr } = await limit(() => exec(cmd, options));
221
230
 
222
231
  stdout && console.log(stdout.trim());
223
232
  stderr && console.log(stderr.trim());
@@ -1,11 +1,9 @@
1
1
  function plugin(UIkit) {
2
-
3
2
  if (plugin.installed) {
4
3
  return;
5
4
  }
6
5
 
7
6
  UIkit.icon.add(ICONS);
8
-
9
7
  }
10
8
 
11
9
  if (typeof window !== 'undefined' && window.UIkit) {