spoko-design-system 1.40.0 → 2.0.1
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/.releaserc.json +92 -92
- package/CHANGELOG.md +19 -0
- package/astro.config.mjs +6 -0
- package/package.json +6 -5
- package/src/pages/components/jumbotron.mdx +3 -9
- package/uno-config/index.ts +22 -57
package/.releaserc.json
CHANGED
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
{
|
|
2
|
-
"branches": [
|
|
3
|
-
"main",
|
|
4
|
-
{
|
|
5
|
-
"name": "next",
|
|
6
|
-
"prerelease": true
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"name": "beta",
|
|
10
|
-
"prerelease": true
|
|
11
|
-
}
|
|
12
|
-
],
|
|
13
|
-
"plugins": [
|
|
14
|
-
"@semantic-release/commit-analyzer",
|
|
15
|
-
"@semantic-release/release-notes-generator",
|
|
16
|
-
"@semantic-release/changelog",
|
|
17
|
-
[
|
|
18
|
-
"@semantic-release/npm",
|
|
19
|
-
{
|
|
20
|
-
"npmPublish": true,
|
|
21
|
-
"tarballDir": "dist"
|
|
22
|
-
}
|
|
23
|
-
],
|
|
24
|
-
"@semantic-release/github",
|
|
25
|
-
[
|
|
26
|
-
"@semantic-release/git",
|
|
27
|
-
{
|
|
28
|
-
"assets": [
|
|
29
|
-
"package.json",
|
|
30
|
-
"CHANGELOG.md"
|
|
31
|
-
],
|
|
32
|
-
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
],
|
|
36
|
-
"preset": "conventionalcommits",
|
|
37
|
-
"parserOpts": {
|
|
38
|
-
"noteKeywords": [
|
|
39
|
-
"BREAKING CHANGE",
|
|
40
|
-
"BREAKING CHANGES"
|
|
41
|
-
]
|
|
42
|
-
},
|
|
43
|
-
"writerOpts": {
|
|
44
|
-
"commitsSort": [
|
|
45
|
-
"subject",
|
|
46
|
-
"scope"
|
|
47
|
-
]
|
|
48
|
-
},
|
|
49
|
-
"analyzeCommits": {
|
|
50
|
-
"releaseRules": [
|
|
51
|
-
{
|
|
52
|
-
"
|
|
53
|
-
"release": "
|
|
54
|
-
},
|
|
55
|
-
{
|
|
56
|
-
"type": "
|
|
57
|
-
"release": "
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"type": "
|
|
61
|
-
"release": "patch"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"type": "
|
|
65
|
-
"release": "patch"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"type": "
|
|
69
|
-
"release": "patch"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"type": "
|
|
73
|
-
"release": "patch"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"type": "
|
|
77
|
-
"release":
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"type": "
|
|
81
|
-
"release": false
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"type": "
|
|
85
|
-
"release": false
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"
|
|
89
|
-
"release":
|
|
90
|
-
}
|
|
91
|
-
]
|
|
92
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"branches": [
|
|
3
|
+
"main",
|
|
4
|
+
{
|
|
5
|
+
"name": "next",
|
|
6
|
+
"prerelease": true
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"name": "beta",
|
|
10
|
+
"prerelease": true
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"plugins": [
|
|
14
|
+
"@semantic-release/commit-analyzer",
|
|
15
|
+
"@semantic-release/release-notes-generator",
|
|
16
|
+
"@semantic-release/changelog",
|
|
17
|
+
[
|
|
18
|
+
"@semantic-release/npm",
|
|
19
|
+
{
|
|
20
|
+
"npmPublish": true,
|
|
21
|
+
"tarballDir": "dist"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"@semantic-release/github",
|
|
25
|
+
[
|
|
26
|
+
"@semantic-release/git",
|
|
27
|
+
{
|
|
28
|
+
"assets": [
|
|
29
|
+
"package.json",
|
|
30
|
+
"CHANGELOG.md"
|
|
31
|
+
],
|
|
32
|
+
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
],
|
|
36
|
+
"preset": "conventionalcommits",
|
|
37
|
+
"parserOpts": {
|
|
38
|
+
"noteKeywords": [
|
|
39
|
+
"BREAKING CHANGE",
|
|
40
|
+
"BREAKING CHANGES"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"writerOpts": {
|
|
44
|
+
"commitsSort": [
|
|
45
|
+
"subject",
|
|
46
|
+
"scope"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"analyzeCommits": {
|
|
50
|
+
"releaseRules": [
|
|
51
|
+
{
|
|
52
|
+
"breaking": true,
|
|
53
|
+
"release": "major"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"type": "feat",
|
|
57
|
+
"release": "minor"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "fix",
|
|
61
|
+
"release": "patch"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"type": "perf",
|
|
65
|
+
"release": "patch"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"type": "refactor",
|
|
69
|
+
"release": "patch"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "style",
|
|
73
|
+
"release": "patch"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"type": "docs",
|
|
77
|
+
"release": "patch"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "test",
|
|
81
|
+
"release": false
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "ci",
|
|
85
|
+
"release": false
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "chore",
|
|
89
|
+
"release": false
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
93
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
## [2.0.1](https://github.com/polo-blue/sds/compare/v2.0.0...v2.0.1) (2026-06-26)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **uno-config:** load icon collections from disk via loadCollectionFromFS ([#473](https://github.com/polo-blue/sds/issues/473)) ([cfbd892](https://github.com/polo-blue/sds/commit/cfbd8923dab1692c67b9272ce9e4e77cb6980755))
|
|
6
|
+
|
|
7
|
+
## [2.0.0](https://github.com/polo-blue/sds/compare/v1.40.0...v2.0.0) (2026-06-25)
|
|
8
|
+
|
|
9
|
+
### ⚠ BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* the Breadcrumbs prop `productNumber` is renamed to `suffix`
|
|
12
|
+
and the hard-coded `Polo 6R` link-title prefix is removed (use `titlePrefix`).
|
|
13
|
+
This first shipped in 1.40.0, which a release-config bug mis-versioned as a
|
|
14
|
+
minor; 1.40.0 is deprecated in favour of 2.0.0. See MIGRATION-BREADCRUMBS.md.
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* upgrade to Astro 7 (Vite 8/rolldown) and correct release config ([#472](https://github.com/polo-blue/sds/issues/472)) ([77b6e26](https://github.com/polo-blue/sds/commit/77b6e269573800e7cd376be6f19d95439175f279))
|
|
19
|
+
|
|
1
20
|
## [1.40.0](https://github.com/polo-blue/sds/compare/v1.39.3...v1.40.0) (2026-06-25)
|
|
2
21
|
|
|
3
22
|
### ⚠ BREAKING CHANGES
|
package/astro.config.mjs
CHANGED
|
@@ -19,6 +19,12 @@ export default defineConfig({
|
|
|
19
19
|
server: {
|
|
20
20
|
port: 1234
|
|
21
21
|
},
|
|
22
|
+
vite: {
|
|
23
|
+
// Vite 8 changed the default CSS minifier to lightningcss, which is stricter
|
|
24
|
+
// than esbuild and rejects some of our UnoCSS-generated CSS with
|
|
25
|
+
// "Unexpected token Colon". Restore the esbuild CSS minifier we built with.
|
|
26
|
+
build: { cssMinify: 'esbuild' },
|
|
27
|
+
},
|
|
22
28
|
image: {
|
|
23
29
|
service: sharpImageService(),
|
|
24
30
|
domains: ["placehold.co", "api.polo.blue", "polo.blue", "media.istockphoto.com", "freepik.com", "img.freepik.com", "polo6r.pl"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spoko-design-system",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "./index.ts",
|
|
@@ -65,11 +65,11 @@
|
|
|
65
65
|
"spoko design system"
|
|
66
66
|
],
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@astrojs/mdx": "^
|
|
69
|
-
"@astrojs/node": "^
|
|
68
|
+
"@astrojs/mdx": "^7.0.0",
|
|
69
|
+
"@astrojs/node": "^11.0.0",
|
|
70
70
|
"@astrojs/sitemap": "^3.7.3",
|
|
71
71
|
"@astrojs/ts-plugin": "^1.10.9",
|
|
72
|
-
"@astrojs/vue": "^
|
|
72
|
+
"@astrojs/vue": "^7.0.0",
|
|
73
73
|
"@docsearch/css": "^4.6.3",
|
|
74
74
|
"@floating-ui/dom": "^1.7.6",
|
|
75
75
|
"@floating-ui/vue": "^2.0.0",
|
|
@@ -102,6 +102,7 @@
|
|
|
102
102
|
"@iconify-json/uil": "^1.2.3",
|
|
103
103
|
"@iconify-json/vscode-icons": "^1.2.57",
|
|
104
104
|
"@iconify/json": "^2.2.486",
|
|
105
|
+
"@iconify/utils": "^2.3.0",
|
|
105
106
|
"@iconify/vue": "^5.0.1",
|
|
106
107
|
"@unocss/astro": "66.7.2",
|
|
107
108
|
"@unocss/preset-attributify": "66.7.2",
|
|
@@ -140,7 +141,7 @@
|
|
|
140
141
|
"@vitejs/plugin-vue": "^6.0.7",
|
|
141
142
|
"@vue/compiler-sfc": "^3.5.38",
|
|
142
143
|
"@vue/eslint-config-typescript": "^14.8.0",
|
|
143
|
-
"astro": "^
|
|
144
|
+
"astro": "^7.0.2",
|
|
144
145
|
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
145
146
|
"eslint": "^10.5.0",
|
|
146
147
|
"eslint-config-prettier": "^10.1.8",
|
|
@@ -43,9 +43,7 @@ The default variant is ideal for primary content sections. It supports custom in
|
|
|
43
43
|
variant="default"
|
|
44
44
|
title={`Lorem ipsum dolor sit amet, <span class="text-accent-light">consectetur</span> adipiscing elit.`}
|
|
45
45
|
>
|
|
46
|
-
<p slot="subtitle"
|
|
47
|
-
class="mt-3 text-base text-gray-200 sm:mt-5 text-lg md:text-xl lg:mx-0 md:mt-5"
|
|
48
|
-
>Nunc posuere massa eget turpis laoreet ultrices eget vel massa.</p>
|
|
46
|
+
<p slot="subtitle" class="mt-3 text-base text-gray-200 sm:mt-5 text-lg md:text-xl lg:mx-0 md:mt-5">Nunc posuere massa eget turpis laoreet ultrices eget vel massa.</p>
|
|
49
47
|
<Fragment slot="cta-content">
|
|
50
48
|
<Button primary rounded href="#" title="short text">
|
|
51
49
|
Read More
|
|
@@ -81,9 +79,7 @@ A more compact version of the default variant, useful for secondary content sect
|
|
|
81
79
|
slim
|
|
82
80
|
title={`Lorem ipsum dolor sit amet, <span class="text-accent-light">consectetur</span> adipiscing elit.`}
|
|
83
81
|
>
|
|
84
|
-
<p slot="subtitle"
|
|
85
|
-
class="mt-5 sm:mt-8 sm:flex sm:justify-center"
|
|
86
|
-
>Nunc posuere massa eget turpis laoreet ultrices eget vel massa.</p>
|
|
82
|
+
<p slot="subtitle" class="mt-5 sm:mt-8 sm:flex sm:justify-center">Nunc posuere massa eget turpis laoreet ultrices eget vel massa.</p>
|
|
87
83
|
</Jumbotron>
|
|
88
84
|
</div>
|
|
89
85
|
|
|
@@ -468,9 +464,7 @@ Shows how to fully customize the header section using the intro slot. Useful for
|
|
|
468
464
|
<h2 slot="intro" class="text-3xl text-white sm:(text-3xl pt-0) md:text-4xl lg:text-5xl">
|
|
469
465
|
Lorem ipsum dolor sit amet, <span class="text-accent-light">consectetur</span> adipiscing elit.
|
|
470
466
|
</h2>
|
|
471
|
-
<p slot="subtitle"
|
|
472
|
-
class="mt-5 sm:mt-8 sm:flex sm:justify-center"
|
|
473
|
-
>Nunc posuere massa eget turpis laoreet ultrices eget vel massa.</p>
|
|
467
|
+
<p slot="subtitle" class="mt-5 sm:mt-8 sm:flex sm:justify-center">Nunc posuere massa eget turpis laoreet ultrices eget vel massa.</p>
|
|
474
468
|
</Jumbotron>
|
|
475
469
|
</div>
|
|
476
470
|
|
package/uno-config/index.ts
CHANGED
|
@@ -16,39 +16,32 @@ import presetUno from '@unocss/preset-uno'; // Primary UnoCSS preset
|
|
|
16
16
|
import presetTypography from '@unocss/preset-typography'; // Typography preset
|
|
17
17
|
import presetWebFonts from '@unocss/preset-web-fonts'; // Web fonts preset
|
|
18
18
|
|
|
19
|
+
import { fileURLToPath } from 'node:url';
|
|
20
|
+
import { dirname } from 'node:path';
|
|
21
|
+
import { loadCollectionFromFS } from '@iconify/utils/lib/loader/fs';
|
|
22
|
+
|
|
19
23
|
import { shortcuts } from './theme/shortcuts/index.ts';
|
|
20
24
|
import { theme } from './theme/index.ts';
|
|
21
25
|
import { generatePalette, defaultPalette, type PaletteInput } from './palette-generator.ts';
|
|
22
26
|
import { peerSelectorClasses, peerVariant } from './peer-variants.ts';
|
|
23
27
|
|
|
24
|
-
//
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
import materialSymbolsLightIcons from '@iconify-json/material-symbols-light/icons.json';
|
|
42
|
-
import mdiIcons from '@iconify-json/mdi/icons.json';
|
|
43
|
-
import notoV1Icons from '@iconify-json/noto-v1/icons.json';
|
|
44
|
-
import octiconIcons from '@iconify-json/octicon/icons.json';
|
|
45
|
-
import phIcons from '@iconify-json/ph/icons.json';
|
|
46
|
-
import simpleIcons from '@iconify-json/simple-icons/icons.json';
|
|
47
|
-
import systemUiconsIcons from '@iconify-json/system-uicons/icons.json';
|
|
48
|
-
import uilIcons from '@iconify-json/uil/icons.json';
|
|
49
|
-
import vscodeIcons from '@iconify-json/vscode-icons/icons.json';
|
|
50
|
-
import streamlineFreehandColorIcons from '@iconify-json/streamline-freehand-color/icons.json';
|
|
51
|
-
|
|
28
|
+
// Icon collections are loaded from disk via loadCollectionFromFS anchored at
|
|
29
|
+
// this file's own directory. This lets Node's module resolution walk up the
|
|
30
|
+
// tree and find @iconify-json/* regardless of whether SDS is the root project
|
|
31
|
+
// or a nested dep under strict pnpm — without going through the Vite module
|
|
32
|
+
// runner (which closes before icons are resolved during consumer builds).
|
|
33
|
+
// Static imports are deliberately avoided: inlining 26 collection JSONs into
|
|
34
|
+
// this module produces a sourcemap > V8's max string length on Vite 8 / Astro 7.
|
|
35
|
+
const _thisDir = dirname(fileURLToPath(import.meta.url));
|
|
36
|
+
const fromFS = (name: string) => () => loadCollectionFromFS(name, false, '@iconify-json', _thisDir);
|
|
37
|
+
|
|
38
|
+
const ICON_COLLECTIONS = [
|
|
39
|
+
'ant-design', 'bi', 'bx', 'carbon', 'circle-flags', 'ei', 'el',
|
|
40
|
+
'eos-icons', 'et', 'flowbite', 'fluent', 'fluent-emoji', 'ic',
|
|
41
|
+
'icon-park-outline', 'la', 'lucide', 'material-symbols-light', 'mdi',
|
|
42
|
+
'noto-v1', 'octicon', 'ph', 'simple-icons', 'system-uicons', 'uil',
|
|
43
|
+
'vscode-icons', 'streamline-freehand-color',
|
|
44
|
+
] as const;
|
|
52
45
|
|
|
53
46
|
interface CustomConfig extends Partial<UserConfig> {
|
|
54
47
|
shortcuts?: UserShortcuts;
|
|
@@ -208,35 +201,7 @@ export function createSdsConfig(customConfig: CustomConfig = {}) {
|
|
|
208
201
|
'display': 'inline-block',
|
|
209
202
|
'vertical-align': 'middle',
|
|
210
203
|
},
|
|
211
|
-
collections:
|
|
212
|
-
// All icon collections with static imports to prevent Vite module runner issues
|
|
213
|
-
'ant-design': antDesignIcons,
|
|
214
|
-
'bi': biIcons,
|
|
215
|
-
'bx': bxIcons,
|
|
216
|
-
'carbon': carbonIcons,
|
|
217
|
-
'circle-flags': circleFlagsIcons,
|
|
218
|
-
'ei': eiIcons,
|
|
219
|
-
'el': elIcons,
|
|
220
|
-
'eos-icons': eosIcons,
|
|
221
|
-
'et': etIcons,
|
|
222
|
-
'flowbite': flowbiteIcons,
|
|
223
|
-
'fluent': fluentIcons,
|
|
224
|
-
'fluent-emoji': fluentEmojiIcons,
|
|
225
|
-
'ic': icIcons,
|
|
226
|
-
'icon-park-outline': iconParkOutlineIcons,
|
|
227
|
-
'la': laIcons,
|
|
228
|
-
'lucide': lucideIcons,
|
|
229
|
-
'material-symbols-light': materialSymbolsLightIcons,
|
|
230
|
-
'mdi': mdiIcons,
|
|
231
|
-
'noto-v1': notoV1Icons,
|
|
232
|
-
'octicon': octiconIcons,
|
|
233
|
-
'ph': phIcons,
|
|
234
|
-
'simple-icons': simpleIcons,
|
|
235
|
-
'system-uicons': systemUiconsIcons,
|
|
236
|
-
'uil': uilIcons,
|
|
237
|
-
'vscode-icons': vscodeIcons,
|
|
238
|
-
'streamline-freehand-color': streamlineFreehandColorIcons,
|
|
239
|
-
}
|
|
204
|
+
collections: Object.fromEntries(ICON_COLLECTIONS.map((n) => [n, fromFS(n)]))
|
|
240
205
|
}),
|
|
241
206
|
presetTypography(),
|
|
242
207
|
presetWebFonts({
|