uikit 3.25.28-dev.779d915 → 3.25.28-dev.fcd5185

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 (53) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/build/ci-publish-dev.js +19 -0
  3. package/build/ci-release.js +128 -0
  4. package/dist/css/uikit-core-rtl.css +1 -1
  5. package/dist/css/uikit-core-rtl.min.css +1 -1
  6. package/dist/css/uikit-core.css +1 -1
  7. package/dist/css/uikit-core.min.css +1 -1
  8. package/dist/css/uikit-rtl.css +1 -1
  9. package/dist/css/uikit-rtl.min.css +1 -1
  10. package/dist/css/uikit.css +1 -1
  11. package/dist/css/uikit.min.css +1 -1
  12. package/dist/js/components/countdown.js +3 -3
  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 +1 -1
  17. package/dist/js/components/lightbox-panel.min.js +1 -1
  18. package/dist/js/components/lightbox.js +1 -1
  19. package/dist/js/components/lightbox.min.js +1 -1
  20. package/dist/js/components/notification.js +1 -1
  21. package/dist/js/components/notification.min.js +1 -1
  22. package/dist/js/components/parallax.js +2 -2
  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 +1 -1
  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 +2 -2
  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 +1 -1
  35. package/dist/js/components/tooltip.min.js +1 -1
  36. package/dist/js/components/upload.js +8 -6
  37. package/dist/js/components/upload.min.js +1 -1
  38. package/dist/js/uikit-core.js +8 -10
  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 +19 -19
  43. package/dist/js/uikit.min.js +1 -1
  44. package/package.json +1 -2
  45. package/src/js/components/countdown.js +2 -2
  46. package/src/js/components/parallax.js +1 -1
  47. package/src/js/components/slideshow.js +1 -1
  48. package/src/js/components/upload.js +5 -9
  49. package/src/js/core/drop.js +5 -7
  50. package/src/js/core/scrollspy-nav.js +0 -1
  51. package/src/js/util/style.js +1 -0
  52. package/build/publishDev.js +0 -32
  53. package/build/release.js +0 -132
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.25.28-dev.779d915",
5
+ "version": "3.25.28-dev.fcd5185",
6
6
  "main": "dist/js/uikit.js",
7
7
  "style": "dist/css/uikit.css",
8
8
  "sideEffects": [
@@ -19,7 +19,6 @@
19
19
  "icons": "node build/icons",
20
20
  "prefix": "node build/prefix",
21
21
  "scope": "node build/scope",
22
- "release": "node build/release",
23
22
  "watch": "node build/watch.js"
24
23
  },
25
24
  "repository": {
@@ -54,8 +54,8 @@ export default {
54
54
  stop() {
55
55
  if (this.timer) {
56
56
  clearInterval(this.timer);
57
- trigger(this.$el, 'countdownstop');
58
57
  this.timer = null;
58
+ trigger(this.$el, 'countdownstop');
59
59
  }
60
60
  },
61
61
 
@@ -65,8 +65,8 @@ export default {
65
65
  if (!timespan.total) {
66
66
  this.stop();
67
67
  if (!this.end) {
68
- trigger(this.$el, 'countdownend');
69
68
  this.end = true;
69
+ trigger(this.$el, 'countdownend');
70
70
  if (this.reload && this.started) {
71
71
  window.location.reload();
72
72
  }
@@ -46,7 +46,7 @@ export default {
46
46
 
47
47
  update: {
48
48
  read({ percent }, types) {
49
- if (!types.has('scroll')) {
49
+ if (!types.has('scroll') || types.has('resize')) {
50
50
  percent = false;
51
51
  }
52
52
 
@@ -28,7 +28,7 @@ export default {
28
28
  watch: {
29
29
  list(list) {
30
30
  css(list, {
31
- aspectRatio: this.ratio ? this.ratio.replace(':', '/') : undefined,
31
+ aspectRatio: this.ratio && this.ratio !== 'false' ? this.ratio.replace(':', '/') : '',
32
32
  minHeight: this.minHeight,
33
33
  maxHeight: this.maxHeight,
34
34
  width: '100%',
@@ -172,16 +172,12 @@ export default {
172
172
  };
173
173
 
174
174
  function match(pattern, path) {
175
- return path.match(
176
- new RegExp(
177
- `^${pattern
178
- .replace(/\//g, '\\/')
179
- .replace(/\*\*/g, '(\\/[^\\/]+)*')
180
- .replace(/\*/g, '[^\\/]+')
181
- .replace(/((?!\\))\?/g, '$1.')}$`,
182
- 'i',
183
- ),
175
+ const expression = pattern.replace(
176
+ /\*\*|[.*+?^${}()|[\]\\]/g,
177
+ (s) => ({ '**': '.*', '*': '[^/]+', '?': '[^/]', '|': '|' })[s] ?? `\\${s}`,
184
178
  );
179
+
180
+ return new RegExp(`^(?:${expression})$`, 'i').test(path);
185
181
  }
186
182
 
187
183
  function chunk(files, size) {
@@ -458,16 +458,14 @@ function getViewport(el, target) {
458
458
  }
459
459
 
460
460
  function createToggleComponent(drop) {
461
- const el = query(drop.toggle, drop.$el);
461
+ const target = drop.$el;
462
+ const el = query(drop.toggle, target);
462
463
 
463
464
  if (el) {
464
- drop.$create('toggle', el, { target: drop.$el, mode: drop.mode });
465
+ drop.$create('toggle', el, { target, mode: drop.mode });
465
466
 
466
- const dropEl = drop.$el;
467
- if (!dropEl.id) {
468
- dropEl.id = generateId(drop, dropEl);
469
- }
470
- attr(el, 'aria-controls', dropEl.id);
467
+ target.id = generateId(drop, target);
468
+ attr(el, 'aria-controls', target.id);
471
469
  }
472
470
 
473
471
  return el;
@@ -96,7 +96,6 @@ export default {
96
96
  const { elements } = this;
97
97
  const changed = active !== false && !hasClass(elements[active], this.cls);
98
98
 
99
- this.links.forEach((el) => el.blur());
100
99
  for (let i = 0; i < elements.length; i++) {
101
100
  toggleClass(elements[i], this.cls, +i === active);
102
101
  }
@@ -13,6 +13,7 @@ import {
13
13
 
14
14
  const cssNumber = {
15
15
  'animation-iteration-count': true,
16
+ 'aspect-ratio': true,
16
17
  'column-count': true,
17
18
  'fill-opacity': true,
18
19
  'flex-grow': true,
@@ -1,32 +0,0 @@
1
- import { $ } from 'execa';
2
- import semver from 'semver';
3
- import { args, getVersion } from './util.js';
4
-
5
- const $$ = $({ stdio: 'inherit' });
6
-
7
- // default exec options
8
- if (args.f || args.force || (await isDevCommit())) {
9
- // increase version patch number
10
- const version = semver.inc(await getVersion(), 'patch');
11
-
12
- // get current git hash
13
- const hash = (await $`git rev-parse --short HEAD`).stdout.trim();
14
-
15
- // set version of package.json
16
- await $$`pnpm version ${version}-dev.${hash} --no-git-tag-version`;
17
-
18
- // create dist files
19
- await $$`pnpm compile`;
20
- await $$`pnpm compile-rtl`;
21
- await $$`pnpm build-scss`;
22
- } else {
23
- process.exit(1);
24
- }
25
-
26
- async function isDevCommit() {
27
- // check for changes to publish (%B: raw body (unwrapped subject and body)
28
- const message = (await $`git log -1 --pretty=%B`).stdout.trim();
29
-
30
- // https://www.conventionalcommits.org/en/v1.0.0/
31
- return Boolean(message.match(/^(revert: )?(feat|fix|refactor|perf)(\(.+\))?: .{1,50}/));
32
- }
package/build/release.js DELETED
@@ -1,132 +0,0 @@
1
- import { ZipArchive } from 'archiver';
2
- import { $ } from 'execa';
3
- import inquirer from 'inquirer';
4
- import fs from 'node:fs';
5
- import { glob } from 'node:fs/promises';
6
- import semver from 'semver';
7
- import { args, getVersion, logFile, read, replaceInFile } from './util.js';
8
-
9
- const $$ = $({ stdio: 'inherit' });
10
- const prompt = inquirer.createPromptModule();
11
-
12
- if ((await $`git status --porcelain`).stdout.trim()) {
13
- throw 'Repository contains uncommitted changes.';
14
- }
15
-
16
- const prevVersion = await getVersion();
17
- const version = await inquireVersion(args.v || args.version);
18
-
19
- await raiseVersion(version);
20
-
21
- await $$`pnpm compile`;
22
- await $$`pnpm compile-rtl`;
23
- await $$`pnpm build-scss`;
24
-
25
- await createPackage(version);
26
-
27
- if (args.d || args.deploy || (await inquireDeploy())) {
28
- await deploy(version);
29
- }
30
-
31
- function isValidVersion(version) {
32
- return semver.valid(version) && semver.gt(version, prevVersion);
33
- }
34
-
35
- async function inquireVersion(version) {
36
- if (isValidVersion(version)) {
37
- return version;
38
- }
39
-
40
- return (
41
- await prompt({
42
- name: 'version',
43
- message: 'Enter a version',
44
- default: () =>
45
- semver.inc(prevVersion, semver.prerelease(prevVersion) ? 'prerelease' : 'patch'),
46
- validate: (val) => isValidVersion(val) || 'Invalid version',
47
- })
48
- ).version;
49
- }
50
-
51
- function raiseVersion(version) {
52
- return Promise.all([
53
- $$`npm version ${version} --git-tag-version false`,
54
- replaceInFile('CHANGELOG.md', (data) =>
55
- data.replace(/^##\s*WIP.*$/m, `## ${versionFormat(version)} (${dateFormat()})`),
56
- ),
57
- replaceInFile('.github/ISSUE_TEMPLATE/bug-report.md', (data) =>
58
- data.replace(prevVersion, version),
59
- ),
60
- ]);
61
- }
62
-
63
- async function createPackage(version) {
64
- const dest = `dist/uikit-${version}.zip`;
65
- const archive = new ZipArchive({ zlib: { level: 9 } });
66
-
67
- const output = fs.createWriteStream(dest);
68
- const closed = new Promise((resolve, reject) => {
69
- output.on('close', resolve);
70
- output.on('error', reject);
71
- });
72
-
73
- archive.pipe(output);
74
-
75
- for await (const file of glob('dist/{js,css}/uikit?(-icons|-rtl)?(.min).{js,css}')) {
76
- archive.file(file, { name: file.slice(5) });
77
- }
78
-
79
- await archive.finalize();
80
- await closed;
81
- await logFile(dest);
82
- }
83
-
84
- function versionFormat(version) {
85
- return [semver.coerce(version).version].concat(semver.prerelease(version) || []).join(' ');
86
- }
87
-
88
- async function inquireDeploy() {
89
- return (
90
- await prompt({
91
- name: 'deploy',
92
- type: 'confirm',
93
- message: 'Do you want to deploy the release?',
94
- default: true,
95
- })
96
- ).deploy;
97
- }
98
-
99
- async function deploy(version) {
100
- const tag = `v${version}`;
101
- const branch = `release/v${version}`;
102
-
103
- await $$`git checkout -b ${branch}`;
104
- await $$`git add --all`;
105
- await $$`git commit -am v${version}`;
106
-
107
- await $$`git checkout main`;
108
- await $$`git merge ${branch} --commit --no-ff -m ${`Merge branch '${branch}'`}`;
109
- await $$`git tag ${tag}`;
110
-
111
- await $$`git push origin main --tags`;
112
-
113
- const notes = (await read('./CHANGELOG.md'))
114
- .match(/## \d.*?$\s*(.*?)\s*(?=## \d)/ms)[1]
115
- .replace(/(["`])/g, '\\$1');
116
- await $$`gh release create v${version} --repo uikit/uikit --notes ${notes} ./dist/uikit-${version}.zip`;
117
-
118
- await $$`git checkout develop`;
119
- await $$`git merge ${tag} --commit --no-ff -m ${`Merge tag '${tag}' into develop`}`;
120
-
121
- await $$`git branch --delete ${branch}`;
122
-
123
- await $$`git push origin develop`;
124
- }
125
-
126
- function dateFormat() {
127
- return new Intl.DateTimeFormat('en-US', {
128
- month: 'long',
129
- day: 'numeric',
130
- year: 'numeric',
131
- }).format(new Date());
132
- }