uikit 3.11.2-dev.bbaa4362f → 3.11.2-dev.c7ed3c19b
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.
- package/.eslintrc.json +4 -49
- package/.prettierignore +14 -0
- package/.prettierrc.json +13 -0
- package/.webstorm.js +3 -3
- package/CHANGELOG.md +8 -0
- package/build/.eslintrc.json +1 -3
- package/build/build.js +26 -28
- package/build/icons.js +7 -11
- package/build/less.js +48 -36
- package/build/package.json +2 -2
- package/build/prefix.js +21 -18
- package/build/publishDev.js +6 -8
- package/build/release.js +20 -17
- package/build/scope.js +21 -11
- package/build/scss.js +72 -39
- package/build/util.js +71 -62
- package/build/wrapper/icons.js +0 -2
- package/dist/css/uikit-core-rtl.css +42 -17
- package/dist/css/uikit-core-rtl.min.css +1 -1
- package/dist/css/uikit-core.css +42 -17
- package/dist/css/uikit-core.min.css +1 -1
- package/dist/css/uikit-rtl.css +42 -17
- package/dist/css/uikit-rtl.min.css +1 -1
- package/dist/css/uikit.css +42 -17
- package/dist/css/uikit.min.css +1 -1
- package/dist/js/components/countdown.js +88 -133
- package/dist/js/components/countdown.min.js +1 -1
- package/dist/js/components/filter.js +409 -438
- package/dist/js/components/filter.min.js +1 -1
- package/dist/js/components/lightbox-panel.js +1116 -1305
- package/dist/js/components/lightbox-panel.min.js +1 -1
- package/dist/js/components/lightbox.js +1164 -1383
- package/dist/js/components/lightbox.min.js +1 -1
- package/dist/js/components/notification.js +94 -114
- package/dist/js/components/notification.min.js +1 -1
- package/dist/js/components/parallax.js +294 -345
- package/dist/js/components/parallax.min.js +1 -1
- package/dist/js/components/slider-parallax.js +292 -344
- package/dist/js/components/slider-parallax.min.js +1 -1
- package/dist/js/components/slider.js +727 -850
- package/dist/js/components/slider.min.js +1 -1
- package/dist/js/components/slideshow-parallax.js +292 -344
- package/dist/js/components/slideshow-parallax.min.js +1 -1
- package/dist/js/components/slideshow.js +615 -799
- package/dist/js/components/slideshow.min.js +1 -1
- package/dist/js/components/sortable.js +588 -619
- package/dist/js/components/sortable.min.js +1 -1
- package/dist/js/components/tooltip.js +324 -356
- package/dist/js/components/tooltip.min.js +1 -1
- package/dist/js/components/upload.js +155 -167
- package/dist/js/components/upload.min.js +1 -1
- package/dist/js/uikit-core.js +5356 -6709
- package/dist/js/uikit-core.min.js +1 -1
- package/dist/js/uikit-icons.js +7 -9
- package/dist/js/uikit-icons.min.js +1 -1
- package/dist/js/uikit.js +8116 -9913
- package/dist/js/uikit.min.js +1 -1
- package/jsconfig.json +1 -1
- package/package.json +64 -60
- package/src/js/api/boot.js +25 -32
- package/src/js/api/component.js +23 -27
- package/src/js/api/global.js +6 -12
- package/src/js/api/hooks.js +13 -32
- package/src/js/api/instance.js +7 -15
- package/src/js/api/state.js +79 -100
- package/src/js/components/countdown.js +24 -50
- package/src/js/components/filter.js +71 -66
- package/src/js/components/index.js +13 -13
- package/src/js/components/internal/lightbox-animations.js +11 -23
- package/src/js/components/internal/slider-transitioner.js +66 -45
- package/src/js/components/internal/slideshow-animations.js +42 -61
- package/src/js/components/lightbox-panel.js +135 -109
- package/src/js/components/lightbox.js +18 -39
- package/src/js/components/notification.js +49 -43
- package/src/js/components/parallax.js +16 -30
- package/src/js/components/slider-parallax.js +13 -23
- package/src/js/components/slider.js +75 -64
- package/src/js/components/slideshow-parallax.js +1 -1
- package/src/js/components/slideshow.js +8 -13
- package/src/js/components/sortable.js +125 -106
- package/src/js/components/tooltip.js +41 -31
- package/src/js/components/upload.js +52 -63
- package/src/js/core/accordion.js +53 -48
- package/src/js/core/alert.js +10 -17
- package/src/js/core/core.js +74 -53
- package/src/js/core/cover.js +11 -15
- package/src/js/core/drop.js +107 -93
- package/src/js/core/form-custom.js +20 -25
- package/src/js/core/gif.js +3 -7
- package/src/js/core/grid.js +57 -58
- package/src/js/core/height-match.js +16 -29
- package/src/js/core/height-viewport.js +28 -35
- package/src/js/core/icon.js +38 -50
- package/src/js/core/img.js +59 -58
- package/src/js/core/index.js +39 -39
- package/src/js/core/leader.js +9 -18
- package/src/js/core/margin.js +21 -37
- package/src/js/core/modal.js +50 -36
- package/src/js/core/nav.js +2 -4
- package/src/js/core/navbar.js +112 -88
- package/src/js/core/offcanvas.js +49 -53
- package/src/js/core/overflow-auto.js +13 -17
- package/src/js/core/responsive.js +14 -12
- package/src/js/core/scroll.js +10 -20
- package/src/js/core/scrollspy-nav.js +34 -31
- package/src/js/core/scrollspy.js +37 -54
- package/src/js/core/sticky.js +130 -91
- package/src/js/core/svg.js +60 -79
- package/src/js/core/switcher.js +47 -46
- package/src/js/core/tab.js +7 -10
- package/src/js/core/toggle.js +64 -66
- package/src/js/core/video.js +11 -22
- package/src/js/mixin/animate.js +19 -20
- package/src/js/mixin/class.js +2 -4
- package/src/js/mixin/container.js +7 -11
- package/src/js/mixin/internal/animate-fade.js +73 -30
- package/src/js/mixin/internal/animate-slide.js +61 -41
- package/src/js/mixin/internal/slideshow-animations.js +7 -14
- package/src/js/mixin/internal/slideshow-transitioner.js +10 -17
- package/src/js/mixin/media.js +5 -10
- package/src/js/mixin/modal.js +89 -66
- package/src/js/mixin/parallax.js +53 -48
- package/src/js/mixin/position.js +26 -20
- package/src/js/mixin/slider-autoplay.js +12 -21
- package/src/js/mixin/slider-drag.js +64 -65
- package/src/js/mixin/slider-nav.js +26 -35
- package/src/js/mixin/slider-reactive.js +2 -8
- package/src/js/mixin/slider.js +51 -50
- package/src/js/mixin/slideshow.js +13 -19
- package/src/js/mixin/togglable.js +90 -63
- package/src/js/uikit-core.js +2 -4
- package/src/js/uikit.js +2 -4
- package/src/js/util/ajax.js +27 -43
- package/src/js/util/animation.js +82 -75
- package/src/js/util/attr.js +17 -21
- package/src/js/util/class.js +14 -52
- package/src/js/util/dimensions.js +56 -43
- package/src/js/util/dom.js +40 -73
- package/src/js/util/env.js +7 -12
- package/src/js/util/event.js +60 -59
- package/src/js/util/fastdom.js +1 -6
- package/src/js/util/filter.js +17 -34
- package/src/js/util/index.js +0 -1
- package/src/js/util/lang.js +79 -119
- package/src/js/util/mouse.js +19 -17
- package/src/js/util/options.js +44 -49
- package/src/js/util/player.js +40 -36
- package/src/js/util/position.js +54 -46
- package/src/js/util/selector.js +34 -49
- package/src/js/util/style.js +36 -46
- package/src/js/util/viewport.js +75 -64
- package/src/less/components/flex.less +0 -9
- package/src/less/components/navbar.less +0 -7
- package/src/less/components/utility.less +22 -0
- package/src/scss/components/flex.scss +0 -9
- package/src/scss/components/form.scss +3 -3
- package/src/scss/components/icon.scss +2 -2
- package/src/scss/components/navbar.scss +0 -7
- package/src/scss/components/search.scss +1 -1
- package/src/scss/components/utility.scss +22 -0
- package/src/scss/variables-theme.scss +6 -6
- package/src/scss/variables.scss +6 -6
- package/tests/js/index.js +114 -85
- package/src/js/mixin/flex-bug.js +0 -56
- package/src/js/util/promise.js +0 -191
package/.eslintrc.json
CHANGED
|
@@ -1,62 +1,17 @@
|
|
|
1
1
|
{
|
|
2
|
-
"root":true,
|
|
2
|
+
"root": true,
|
|
3
3
|
"env": {
|
|
4
4
|
"es6": true,
|
|
5
5
|
"browser": true
|
|
6
6
|
},
|
|
7
|
-
"extends": [
|
|
8
|
-
"eslint:recommended"
|
|
9
|
-
],
|
|
7
|
+
"extends": ["eslint:recommended", "prettier"],
|
|
10
8
|
"parserOptions": {
|
|
11
|
-
"sourceType": "module"
|
|
9
|
+
"sourceType": "module",
|
|
10
|
+
"ecmaVersion": 2022
|
|
12
11
|
},
|
|
13
12
|
"globals": {
|
|
14
13
|
"VERSION": true,
|
|
15
14
|
"ICONS": true,
|
|
16
15
|
"NAME": true
|
|
17
|
-
},
|
|
18
|
-
"rules": {
|
|
19
|
-
"arrow-parens": ["error", "as-needed"],
|
|
20
|
-
"brace-style": ["error", "1tbs", {"allowSingleLine": true}],
|
|
21
|
-
"comma-dangle": ["error", "never"],
|
|
22
|
-
"comma-spacing": "error",
|
|
23
|
-
"comma-style": "error",
|
|
24
|
-
"eqeqeq": ["error", "smart"],
|
|
25
|
-
"eol-last": "error",
|
|
26
|
-
"indent": "off",
|
|
27
|
-
"indent-legacy": ["error", 4, {"SwitchCase": 1}],
|
|
28
|
-
"key-spacing": "error",
|
|
29
|
-
"keyword-spacing": "error",
|
|
30
|
-
"linebreak-style": ["error", "unix"],
|
|
31
|
-
"no-array-constructor": "error",
|
|
32
|
-
"no-case-declarations": "warn",
|
|
33
|
-
"no-duplicate-imports": "error",
|
|
34
|
-
"no-empty": ["error", {"allowEmptyCatch": true}],
|
|
35
|
-
"no-extend-native": "error",
|
|
36
|
-
"no-lone-blocks": "error",
|
|
37
|
-
"no-lonely-if": "error",
|
|
38
|
-
"no-multi-spaces": "error",
|
|
39
|
-
"no-multiple-empty-lines": ["error", {"max": 2, "maxEOF": 1, "maxBOF": 0}],
|
|
40
|
-
"no-template-curly-in-string": "error",
|
|
41
|
-
"no-trailing-spaces": "error",
|
|
42
|
-
"no-unused-vars": ["error", {"vars": "local", "args": "none"}],
|
|
43
|
-
"no-var": "error",
|
|
44
|
-
"object-curly-spacing": "error",
|
|
45
|
-
"object-shorthand": "error",
|
|
46
|
-
"prefer-const": ["error", {"destructuring": "all"}],
|
|
47
|
-
"prefer-destructuring": "warn",
|
|
48
|
-
"quotes": ["error", "single", {"avoidEscape": true}],
|
|
49
|
-
"semi": ["error", "always"],
|
|
50
|
-
"sort-imports": ["error", {
|
|
51
|
-
"ignoreCase": true,
|
|
52
|
-
"ignoreDeclarationSort": true
|
|
53
|
-
}],
|
|
54
|
-
"space-before-blocks": "error",
|
|
55
|
-
"space-before-function-paren": ["error", {"anonymous": "always", "named": "never", "asyncArrow": "always"}],
|
|
56
|
-
"space-in-parens": "error",
|
|
57
|
-
"space-infix-ops": "error",
|
|
58
|
-
"space-unary-ops": "error",
|
|
59
|
-
"spaced-comment": "error",
|
|
60
|
-
"template-curly-spacing": "error"
|
|
61
16
|
}
|
|
62
17
|
}
|
package/.prettierignore
ADDED
package/.prettierrc.json
ADDED
package/.webstorm.js
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -6,16 +6,24 @@
|
|
|
6
6
|
|
|
7
7
|
- Add `position` option with `top`, `bottom` and `auto` values to Sticky component
|
|
8
8
|
- Add support for basic math operands in `offset` option of Sticky component
|
|
9
|
+
- Add object fit and position classes to Utility component
|
|
9
10
|
|
|
10
11
|
### Changed
|
|
11
12
|
|
|
12
13
|
- Improve sticky behavior if sticky content is larger than the viewport
|
|
14
|
+
- Sticky component's `bottom` option checks for bottom padding if sticky element is within referenced element
|
|
15
|
+
|
|
16
|
+
## Removed
|
|
17
|
+
|
|
18
|
+
- Drop IE11 support from JavaScript
|
|
13
19
|
|
|
14
20
|
### Fixed
|
|
15
21
|
|
|
16
22
|
- Fix infinite sliding in Slider component with equally sized slides
|
|
17
23
|
- Fix Sticky component setting wrong margin for placeholder
|
|
18
24
|
- Fix dropdowns not closing in Navbar component when hovering dropbar and navigation with keyboard
|
|
25
|
+
- Fix dropdown no longer closes if pointer is still moving towards it
|
|
26
|
+
- Fix `fadein` not transformed correctly to `fade-in` in scss build
|
|
19
27
|
|
|
20
28
|
## 3.11.1 (February 7, 2022)
|
|
21
29
|
|
package/build/.eslintrc.json
CHANGED
package/build/build.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import camelize from 'camelcase';
|
|
2
|
-
import {basename, resolve} from 'path';
|
|
3
|
-
import {args, compile, glob, icons} from './util.js';
|
|
2
|
+
import { basename, resolve } from 'path';
|
|
3
|
+
import { args, compile, glob, icons } from './util.js';
|
|
4
4
|
|
|
5
5
|
const bundles = getBundleTasks();
|
|
6
6
|
const components = await getComponentTasks();
|
|
7
|
-
const buildAll =
|
|
8
|
-
|
|
9
|
-
).
|
|
7
|
+
const buildAll =
|
|
8
|
+
args.all ||
|
|
9
|
+
!Object.keys(args).filter((name) => !['d', 'debug', 'nominify', 'watch', '_'].includes(name))
|
|
10
|
+
.length;
|
|
10
11
|
|
|
11
12
|
if (args.h || args.help) {
|
|
12
13
|
console.log(`
|
|
@@ -30,62 +31,59 @@ if (args.h || args.help) {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
let tasks;
|
|
33
|
-
const allTasks = {...bundles, ...components};
|
|
34
|
+
const allTasks = { ...bundles, ...components };
|
|
34
35
|
if (buildAll) {
|
|
35
36
|
tasks = allTasks;
|
|
36
37
|
} else if (args.components) {
|
|
37
38
|
tasks = components;
|
|
38
39
|
} else {
|
|
39
40
|
tasks = Object.keys(args)
|
|
40
|
-
.map(step => allTasks[step])
|
|
41
|
-
.filter(t => t);
|
|
41
|
+
.map((step) => allTasks[step])
|
|
42
|
+
.filter((t) => t);
|
|
42
43
|
}
|
|
43
44
|
|
|
44
|
-
await Promise.all(Object.values(tasks).map(task => task()));
|
|
45
|
+
await Promise.all(Object.values(tasks).map((task) => task()));
|
|
45
46
|
|
|
46
47
|
function getBundleTasks() {
|
|
47
48
|
return {
|
|
48
|
-
|
|
49
49
|
core: () => compile('src/js/uikit-core.js', 'dist/js/uikit-core'),
|
|
50
50
|
|
|
51
51
|
uikit: () => compile('src/js/uikit.js', 'dist/js/uikit'),
|
|
52
52
|
|
|
53
|
-
icons: async () =>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
icons: async () =>
|
|
54
|
+
compile('build/wrapper/icons.js', 'dist/js/uikit-icons', {
|
|
55
|
+
name: 'icons',
|
|
56
|
+
replaces: { ICONS: await icons('{src/images,custom}/icons/*.svg') },
|
|
57
|
+
}),
|
|
58
|
+
|
|
59
|
+
tests: async () =>
|
|
60
|
+
compile('tests/js/index.js', 'tests/js/test', {
|
|
61
|
+
name: 'test',
|
|
62
|
+
replaces: { TESTS: await getTestFiles() },
|
|
63
|
+
}),
|
|
63
64
|
};
|
|
64
65
|
}
|
|
65
66
|
|
|
66
67
|
async function getComponentTasks() {
|
|
67
|
-
|
|
68
68
|
const components = await glob('src/js/components/!(index).js');
|
|
69
69
|
|
|
70
70
|
return components.reduce((components, file) => {
|
|
71
|
-
|
|
72
71
|
const name = basename(file, '.js');
|
|
73
72
|
|
|
74
73
|
components[name] = () =>
|
|
75
74
|
compile('build/wrapper/component.js', `dist/js/components/${name}`, {
|
|
76
75
|
name,
|
|
77
76
|
external: ['uikit', 'uikit-util'],
|
|
78
|
-
globals: {uikit: 'UIkit', 'uikit-util': 'UIkit.util'},
|
|
79
|
-
aliases: {component: resolve('src/js/components', name)},
|
|
80
|
-
replaces: {NAME: `'${camelize(name)}'`}
|
|
77
|
+
globals: { uikit: 'UIkit', 'uikit-util': 'UIkit.util' },
|
|
78
|
+
aliases: { component: resolve('src/js/components', name) },
|
|
79
|
+
replaces: { NAME: `'${camelize(name)}'` },
|
|
81
80
|
});
|
|
82
81
|
|
|
83
82
|
return components;
|
|
84
|
-
|
|
85
83
|
}, {});
|
|
86
84
|
}
|
|
87
85
|
|
|
88
86
|
async function getTestFiles() {
|
|
89
|
-
const files = await glob('tests/!(index).html', {nosort: true});
|
|
90
|
-
return JSON.stringify(files.map(file => basename(file, '.html')));
|
|
87
|
+
const files = await glob('tests/!(index).html', { nosort: true });
|
|
88
|
+
return JSON.stringify(files.map((file) => basename(file, '.html')));
|
|
91
89
|
}
|
package/build/icons.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {args, compile, glob, icons} from './util.js';
|
|
1
|
+
import { args, compile, glob, icons } from './util.js';
|
|
2
2
|
|
|
3
3
|
if (args.h || args.help) {
|
|
4
4
|
console.log(`
|
|
@@ -25,14 +25,10 @@ await Promise.all((await glob(path)).map(compileIcons));
|
|
|
25
25
|
|
|
26
26
|
async function compileIcons(folder) {
|
|
27
27
|
const [, name] = folder.toString().match(new RegExp(match, 'i'));
|
|
28
|
-
return compile(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
ICONS: await icons(`{src/images/icons,${folder}}/*.svg`)
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
);
|
|
28
|
+
return compile('build/wrapper/icons.js', `dist/js/uikit-icons-${name}`, {
|
|
29
|
+
name,
|
|
30
|
+
replaces: {
|
|
31
|
+
ICONS: await icons(`{src/images/icons,${folder}}/*.svg`),
|
|
32
|
+
},
|
|
33
|
+
});
|
|
38
34
|
}
|
package/build/less.js
CHANGED
|
@@ -1,59 +1,72 @@
|
|
|
1
1
|
import rtlcss from 'rtlcss';
|
|
2
|
-
import {basename} from 'path';
|
|
3
|
-
import {
|
|
2
|
+
import { basename } from 'path';
|
|
3
|
+
import {
|
|
4
|
+
args,
|
|
5
|
+
banner,
|
|
6
|
+
glob,
|
|
7
|
+
minify,
|
|
8
|
+
pathExists,
|
|
9
|
+
read,
|
|
10
|
+
readJson,
|
|
11
|
+
renderLess,
|
|
12
|
+
write,
|
|
13
|
+
} from './util.js';
|
|
4
14
|
|
|
5
|
-
const {rtl} = args;
|
|
15
|
+
const { rtl } = args;
|
|
6
16
|
const develop = args.develop || args.debug || args.d || args.nominify;
|
|
7
17
|
const sources = [
|
|
8
|
-
{src: 'src/less/uikit.less', dist: `dist/css/uikit-core${rtl ? '-rtl' : ''}.css`},
|
|
9
|
-
{src: 'src/less/uikit.theme.less', dist: `dist/css/uikit${rtl ? '-rtl' : ''}.css`}
|
|
18
|
+
{ src: 'src/less/uikit.less', dist: `dist/css/uikit-core${rtl ? '-rtl' : ''}.css` },
|
|
19
|
+
{ src: 'src/less/uikit.theme.less', dist: `dist/css/uikit${rtl ? '-rtl' : ''}.css` },
|
|
10
20
|
];
|
|
11
21
|
|
|
12
|
-
const themes = await pathExists('themes.json') ? await readJson('themes.json') : {};
|
|
22
|
+
const themes = (await pathExists('themes.json')) ? await readJson('themes.json') : {};
|
|
13
23
|
|
|
14
24
|
for (const src of await glob('custom/*.less')) {
|
|
15
25
|
const theme = basename(src, '.less');
|
|
16
26
|
const dist = `dist/css/uikit.${theme}${rtl ? '-rtl' : ''}.css`;
|
|
17
27
|
|
|
18
|
-
themes[theme] = {css: `../${dist}`};
|
|
28
|
+
themes[theme] = { css: `../${dist}` };
|
|
19
29
|
|
|
20
30
|
if (await pathExists(`dist/js/uikit-icons-${theme}.js`)) {
|
|
21
31
|
themes[theme].icons = `../dist/js/uikit-icons-${theme}.js`;
|
|
22
32
|
}
|
|
23
33
|
|
|
24
|
-
sources.push({src, dist});
|
|
34
|
+
sources.push({ src, dist });
|
|
25
35
|
}
|
|
26
36
|
|
|
27
|
-
await Promise.all(sources.map(({src, dist}) => compile(src, dist, develop, rtl)));
|
|
37
|
+
await Promise.all(sources.map(({ src, dist }) => compile(src, dist, develop, rtl)));
|
|
28
38
|
|
|
29
|
-
if (!rtl && (Object.keys(themes).length || !await pathExists('themes.json'))) {
|
|
39
|
+
if (!rtl && (Object.keys(themes).length || !(await pathExists('themes.json')))) {
|
|
30
40
|
await write('themes.json', JSON.stringify(themes));
|
|
31
41
|
}
|
|
32
42
|
|
|
33
43
|
async function compile(file, dist, develop, rtl) {
|
|
34
|
-
|
|
35
44
|
const less = await read(file);
|
|
36
45
|
|
|
37
|
-
let output = (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
let output = (
|
|
47
|
+
await renderLess(less, {
|
|
48
|
+
relativeUrls: true,
|
|
49
|
+
rootpath: '../../',
|
|
50
|
+
paths: ['src/less/', 'custom/'],
|
|
51
|
+
})
|
|
52
|
+
).replace(/\.\.\/dist\//g, '');
|
|
42
53
|
|
|
43
54
|
if (rtl) {
|
|
44
55
|
output = rtlcss.process(
|
|
45
56
|
output,
|
|
46
57
|
{
|
|
47
|
-
stringMap: [
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
stringMap: [
|
|
59
|
+
{
|
|
60
|
+
name: 'previous-next',
|
|
61
|
+
priority: 100,
|
|
62
|
+
search: ['previous', 'Previous', 'PREVIOUS'],
|
|
63
|
+
replace: ['next', 'Next', 'NEXT'],
|
|
64
|
+
options: {
|
|
65
|
+
scope: '*',
|
|
66
|
+
ignoreCase: false,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
],
|
|
57
70
|
},
|
|
58
71
|
[
|
|
59
72
|
{
|
|
@@ -61,23 +74,23 @@ async function compile(file, dist, develop, rtl) {
|
|
|
61
74
|
priority: 50,
|
|
62
75
|
directives: {
|
|
63
76
|
control: {},
|
|
64
|
-
value: []
|
|
77
|
+
value: [],
|
|
65
78
|
},
|
|
66
79
|
processors: [
|
|
67
80
|
{
|
|
68
81
|
expr: ['--uk-position-translate-x', 'stroke-dashoffset'].join('|'),
|
|
69
82
|
action(prop, value, context) {
|
|
70
|
-
return {prop, value: context.util.negate(value)};
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
]
|
|
74
|
-
}
|
|
83
|
+
return { prop, value: context.util.negate(value) };
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
},
|
|
75
88
|
],
|
|
76
89
|
{
|
|
77
90
|
pre(root, postcss) {
|
|
78
|
-
root.prepend(postcss.comment({text: 'rtl:begin:rename'}));
|
|
79
|
-
root.append(postcss.comment({text: 'rtl:end:rename'}));
|
|
80
|
-
}
|
|
91
|
+
root.prepend(postcss.comment({ text: 'rtl:begin:rename' }));
|
|
92
|
+
root.append(postcss.comment({ text: 'rtl:end:rename' }));
|
|
93
|
+
},
|
|
81
94
|
}
|
|
82
95
|
);
|
|
83
96
|
}
|
|
@@ -87,5 +100,4 @@ async function compile(file, dist, develop, rtl) {
|
|
|
87
100
|
if (!develop) {
|
|
88
101
|
await minify(dist);
|
|
89
102
|
}
|
|
90
|
-
|
|
91
103
|
}
|
package/build/package.json
CHANGED
package/build/prefix.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import inquirer from 'inquirer';
|
|
2
|
-
import {args, glob, read, replaceInFile, validClassName} from './util.js';
|
|
2
|
+
import { args, glob, read, replaceInFile, validClassName } from './util.js';
|
|
3
3
|
|
|
4
4
|
if (args.h || args.help) {
|
|
5
5
|
console.log(`
|
|
@@ -26,24 +26,27 @@ if (currentPrefix === prefix) {
|
|
|
26
26
|
await replacePrefix(currentPrefix, prefix);
|
|
27
27
|
|
|
28
28
|
async function findExistingPrefix() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
return (await read('dist/css/uikit.css')).match(
|
|
30
|
+
new RegExp(`(${validClassName.source})(-[a-z]+)?-grid`)
|
|
31
|
+
)?.[1];
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
async function getPrefix() {
|
|
35
|
-
|
|
36
35
|
const prefixFromInput = args.p || args.prefix;
|
|
37
36
|
|
|
38
37
|
if (!prefixFromInput) {
|
|
39
|
-
|
|
40
38
|
const prompt = inquirer.createPromptModule();
|
|
41
39
|
|
|
42
|
-
return (
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
return (
|
|
41
|
+
await prompt({
|
|
42
|
+
name: 'prefix',
|
|
43
|
+
message: 'enter a prefix',
|
|
44
|
+
validate: (val, res) =>
|
|
45
|
+
val.length && val.match(validClassName)
|
|
46
|
+
? !!(res.prefix = val)
|
|
47
|
+
: 'invalid prefix',
|
|
48
|
+
})
|
|
49
|
+
).prefix;
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
if (validClassName.test(prefixFromInput)) {
|
|
@@ -55,16 +58,16 @@ async function getPrefix() {
|
|
|
55
58
|
|
|
56
59
|
async function replacePrefix(from, to) {
|
|
57
60
|
for (const file of await glob('dist/**/*.css')) {
|
|
58
|
-
await replaceInFile(file, data =>
|
|
59
|
-
new RegExp(`${from}-${/([a-z\d-]+)/.source}`, 'g'),
|
|
60
|
-
|
|
61
|
-
));
|
|
61
|
+
await replaceInFile(file, (data) =>
|
|
62
|
+
data.replace(new RegExp(`${from}-${/([a-z\d-]+)/.source}`, 'g'), `${to}-$1`)
|
|
63
|
+
);
|
|
62
64
|
}
|
|
63
65
|
|
|
64
66
|
for (const file of await glob('dist/**/*.js')) {
|
|
65
|
-
await replaceInFile(file, data =>
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
await replaceInFile(file, (data) =>
|
|
68
|
+
data
|
|
69
|
+
.replace(new RegExp(`${from}-`, 'g'), `${to}-`)
|
|
70
|
+
.replace(new RegExp(`(${from})?UIkit`, 'g'), `${to === 'uk' ? '' : to}UIkit`)
|
|
68
71
|
);
|
|
69
72
|
}
|
|
70
73
|
}
|
package/build/publishDev.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import semver from 'semver';
|
|
2
|
-
import {args, getVersion, run} from './util.js';
|
|
2
|
+
import { args, getVersion, run } from './util.js';
|
|
3
3
|
|
|
4
|
-
const {inc} = semver;
|
|
4
|
+
const { inc } = semver;
|
|
5
5
|
|
|
6
6
|
// default exec options
|
|
7
|
-
if (args.f || args.force || await isDevCommit()) {
|
|
8
|
-
|
|
7
|
+
if (args.f || args.force || (await isDevCommit())) {
|
|
9
8
|
// increase version patch number
|
|
10
9
|
const version = inc(await getVersion(), 'patch');
|
|
11
10
|
|
|
@@ -20,17 +19,16 @@ if (args.f || args.force || await isDevCommit()) {
|
|
|
20
19
|
|
|
21
20
|
// publish to dev tag
|
|
22
21
|
await run('npm publish --tag dev');
|
|
23
|
-
|
|
24
22
|
}
|
|
25
23
|
|
|
26
24
|
async function isDevCommit() {
|
|
27
|
-
|
|
28
25
|
// check for changes to publish (%B: raw body (unwrapped subject and body)
|
|
29
26
|
const message = await run('git log -1 --pretty=%B');
|
|
30
27
|
|
|
31
28
|
// https://www.conventionalcommits.org/en/v1.0.0/
|
|
32
|
-
const type = message.match(
|
|
29
|
+
const type = message.match(
|
|
30
|
+
/^(revert: )?(feat|fix|polish|docs|style|refactor|perf|test|workflow|ci|chore|types|build)(\(.+\))?: .{1,50}/
|
|
31
|
+
);
|
|
33
32
|
|
|
34
33
|
return type && ['feat', 'fix', 'refactor', 'perf'].includes(type[2]);
|
|
35
|
-
|
|
36
34
|
}
|
package/build/release.js
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import archiver from 'archiver';
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
3
|
import dateFormat from 'dateformat/lib/dateformat.js';
|
|
4
|
-
import {createWriteStream} from 'fs';
|
|
4
|
+
import { createWriteStream } from 'fs';
|
|
5
5
|
import semver from 'semver';
|
|
6
|
-
import {args, getVersion, glob, logFile, replaceInFile, run} from './util.js';
|
|
6
|
+
import { args, getVersion, glob, logFile, replaceInFile, run } from './util.js';
|
|
7
7
|
|
|
8
|
-
const {coerce, inc, prerelease, valid} = semver;
|
|
8
|
+
const { coerce, inc, prerelease, valid } = semver;
|
|
9
9
|
|
|
10
10
|
const prevVersion = await getVersion();
|
|
11
11
|
const version = await inquireVersion(args.v || args.version);
|
|
12
12
|
|
|
13
13
|
await Promise.all([
|
|
14
14
|
run(`npm version ${version} --git-tag-version false`),
|
|
15
|
-
replaceInFile('CHANGELOG.md', data =>
|
|
16
|
-
data.replace(
|
|
15
|
+
replaceInFile('CHANGELOG.md', (data) =>
|
|
16
|
+
data.replace(
|
|
17
|
+
/^##\s*WIP/m,
|
|
18
|
+
`## ${versionFormat(version)} (${dateFormat(Date.now(), 'mmmm d, yyyy')})`
|
|
19
|
+
)
|
|
17
20
|
),
|
|
18
|
-
replaceInFile('.github/ISSUE_TEMPLATE/bug-report.md', data =>
|
|
21
|
+
replaceInFile('.github/ISSUE_TEMPLATE/bug-report.md', (data) =>
|
|
19
22
|
data.replace(prevVersion, version)
|
|
20
|
-
)
|
|
23
|
+
),
|
|
21
24
|
]);
|
|
22
25
|
|
|
23
26
|
await run('yarn compile');
|
|
@@ -27,20 +30,20 @@ await run('yarn build-scss');
|
|
|
27
30
|
await createPackage(version);
|
|
28
31
|
|
|
29
32
|
async function inquireVersion(v) {
|
|
30
|
-
|
|
31
33
|
if (valid(v)) {
|
|
32
34
|
return v;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
const prompt = inquirer.createPromptModule();
|
|
36
38
|
|
|
37
|
-
return (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
return (
|
|
40
|
+
await prompt({
|
|
41
|
+
name: 'version',
|
|
42
|
+
message: 'Enter a version',
|
|
43
|
+
default: () => inc(prevVersion, prerelease(prevVersion) ? 'prerelease' : 'patch'),
|
|
44
|
+
validate: (val) => !!val.length || 'Invalid version',
|
|
45
|
+
})
|
|
46
|
+
).version;
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
async function createPackage(version) {
|
|
@@ -49,8 +52,8 @@ async function createPackage(version) {
|
|
|
49
52
|
|
|
50
53
|
archive.pipe(createWriteStream(file));
|
|
51
54
|
|
|
52
|
-
(await glob('dist/{js,css}/uikit?(-icons|-rtl)?(.min).{js,css}')).forEach(file =>
|
|
53
|
-
archive.file(file, {name: file.substring(5)})
|
|
55
|
+
(await glob('dist/{js,css}/uikit?(-icons|-rtl)?(.min).{js,css}')).forEach((file) =>
|
|
56
|
+
archive.file(file, { name: file.substring(5) })
|
|
54
57
|
);
|
|
55
58
|
|
|
56
59
|
await archive.finalize();
|