spoko-design-system 0.9.6 → 1.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.
Files changed (180) hide show
  1. package/.astro/content.d.ts +1 -1
  2. package/.astro/data-store.json +1 -1
  3. package/.astro/settings.json +4 -4
  4. package/.astro/types.d.ts +2 -1
  5. package/.claude/settings.local.json +11 -1
  6. package/.github/dependabot.yml +11 -11
  7. package/.github/todo.yml +3 -3
  8. package/.github/workflows/deploy.yml +39 -39
  9. package/.github/workflows/release.yml +64 -0
  10. package/.releaserc.json +93 -0
  11. package/.stackblitzrc +5 -5
  12. package/.vscode/extensions.json +4 -5
  13. package/.vscode/launch.json +11 -11
  14. package/.vscode/settings.json +1 -5
  15. package/CHANGELOG.md +20 -0
  16. package/CONTRIBUTING.md +183 -0
  17. package/LICENSE +21 -21
  18. package/README.md +132 -116
  19. package/astro.config.mjs +84 -86
  20. package/dev-dist/sw.js +91 -91
  21. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  22. package/icon.config.ts +340 -310
  23. package/index.ts +70 -70
  24. package/package.json +19 -11
  25. package/public/arrow-bottom.svg +7 -7
  26. package/public/fonts/lg.svg +53 -53
  27. package/public/fonts/vwhead-bold-demo.html +549 -549
  28. package/public/fonts/vwhead-regular-demo.html +549 -549
  29. package/public/fonts/vwtext-bold-demo.html +549 -549
  30. package/public/fonts/vwtext-regular-demo.html +549 -549
  31. package/public/github.svg +3 -3
  32. package/public/grid_dot.svg +4 -4
  33. package/public/linkedin.svg +44 -44
  34. package/public/make-scrollable-code-focusable.js +3 -3
  35. package/public/pagefind.yml +3 -3
  36. package/public/polo.blue.svg +29 -29
  37. package/public/spoko.space.svg +71 -71
  38. package/public/twitter.svg +46 -46
  39. package/renovate.json +6 -6
  40. package/sandbox.config.json +11 -11
  41. package/src/MyComponent.astro +8 -8
  42. package/src/components/Badge.vue +19 -19
  43. package/src/components/Badges.vue +21 -21
  44. package/src/components/Breadcrumbs.vue +94 -94
  45. package/src/components/Button.vue +101 -101
  46. package/src/components/ButtonCopy.astro +183 -183
  47. package/src/components/ButtonCopy.vue +36 -36
  48. package/src/components/Card.astro +27 -27
  49. package/src/components/Carousel.astro +26 -26
  50. package/src/components/Category/CategoriesCarousel.astro +100 -101
  51. package/src/components/Category/CategoryDetails.astro +168 -169
  52. package/src/components/Category/CategoryLink.vue +28 -28
  53. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  54. package/src/components/Category/CategoryTile.astro +37 -37
  55. package/src/components/Category/CategoryViewToggler.astro +89 -89
  56. package/src/components/Category/SubCategoryLink.vue +19 -19
  57. package/src/components/Copyright.astro +12 -12
  58. package/src/components/Date.astro +7 -7
  59. package/src/components/Faq.astro +32 -33
  60. package/src/components/FaqItem.astro +80 -80
  61. package/src/components/FeaturesList.vue +37 -37
  62. package/src/components/FuckRussia.vue +62 -62
  63. package/src/components/HandDrive.astro +55 -29
  64. package/src/components/Header/Header.astro +210 -210
  65. package/src/components/Header/SkipToContent.astro +1 -1
  66. package/src/components/Headline.vue +107 -87
  67. package/src/components/Image.astro +30 -30
  68. package/src/components/LeftSidebar.astro +53 -53
  69. package/src/components/MainColors.vue +22 -22
  70. package/src/components/MainInput.vue +15 -15
  71. package/src/components/Modal.astro +27 -27
  72. package/src/components/PageContent.astro +5 -5
  73. package/src/components/PartNumber.vue +27 -27
  74. package/src/components/Post/PostCategories.astro +41 -41
  75. package/src/components/Post/PostCategories.vue +30 -30
  76. package/src/components/PostHeader.astro +103 -103
  77. package/src/components/PrCode.vue +141 -141
  78. package/src/components/Product/ProductButton.vue +18 -18
  79. package/src/components/Product/ProductCarousel.astro +35 -35
  80. package/src/components/Product/ProductEngineType.vue +42 -42
  81. package/src/components/Product/ProductImage.astro +40 -40
  82. package/src/components/Product/ProductLink.astro +96 -101
  83. package/src/components/Product/ProductLink.vue +59 -59
  84. package/src/components/Product/ProductLinkInfo.astro +37 -37
  85. package/src/components/Product/ProductNumber.astro +60 -60
  86. package/src/components/ProductCarousel.astro +38 -38
  87. package/src/components/ProductCodes.vue +39 -39
  88. package/src/components/ProductDetailName.vue +52 -52
  89. package/src/components/ProductDetailsList.vue +216 -216
  90. package/src/components/ProductTile.astro +47 -48
  91. package/src/components/Quote.vue +23 -23
  92. package/src/components/ReloadPrompt.astro +50 -50
  93. package/src/components/SlimBanner.vue +72 -72
  94. package/src/components/Table.vue +32 -32
  95. package/src/components/TableOfContents.astro +15 -15
  96. package/src/components/Translations.vue +23 -23
  97. package/src/components/flags/FlagPL.vue +3 -3
  98. package/src/components/flags/FlagUA.vue +2 -2
  99. package/src/components/{Layout → layout}/CallToAction.astro +52 -52
  100. package/src/components/{Layout → layout}/Container.astro +7 -7
  101. package/src/components/{Layout → layout}/Header.astro +80 -80
  102. package/src/config.ts +56 -56
  103. package/src/design.config.ts +98 -98
  104. package/src/env.d.ts +6 -6
  105. package/src/layouts/Layout.astro +58 -61
  106. package/src/layouts/MainLayout.astro +78 -81
  107. package/src/layouts/partials/FooterCommon.astro +4 -4
  108. package/src/layouts/partials/HeadCommon.astro +44 -44
  109. package/src/layouts/partials/HeadSEO.astro +41 -41
  110. package/src/pages/components/badges.mdx +57 -57
  111. package/src/pages/components/breadcrumbs.mdx +139 -139
  112. package/src/pages/components/buttons.mdx +359 -360
  113. package/src/pages/components/card.mdx +294 -294
  114. package/src/pages/components/carousel.mdx +62 -62
  115. package/src/pages/components/copyright.mdx +42 -42
  116. package/src/pages/components/details-list.mdx +115 -115
  117. package/src/pages/components/features-list.mdx +37 -37
  118. package/src/pages/components/flags.mdx +49 -49
  119. package/src/pages/components/fuck-russia.mdx +39 -39
  120. package/src/pages/components/hand-drive.mdx +78 -38
  121. package/src/pages/components/headline.mdx +137 -137
  122. package/src/pages/components/icons.astro +135 -135
  123. package/src/pages/components/image.mdx +513 -513
  124. package/src/pages/components/input.mdx +367 -367
  125. package/src/pages/components/jumbotron.mdx +359 -359
  126. package/src/pages/components/modal.mdx +64 -64
  127. package/src/pages/components/post-header.mdx +64 -64
  128. package/src/pages/components/pr-code.mdx +65 -65
  129. package/src/pages/components/product-number.mdx +58 -58
  130. package/src/pages/components/product-tile.mdx +51 -51
  131. package/src/pages/components/quote.mdx +33 -33
  132. package/src/pages/components/slimbanner.mdx +35 -35
  133. package/src/pages/components/table.mdx +108 -108
  134. package/src/pages/core/colors.mdx +10 -10
  135. package/src/pages/core/grid.mdx +89 -89
  136. package/src/pages/core/introduction.mdx +77 -77
  137. package/src/pages/core/shadows.astro +20 -20
  138. package/src/pages/core/typography.astro +49 -49
  139. package/src/pages/index.astro +264 -133
  140. package/src/pages/patterns/introduction.mdx +60 -60
  141. package/src/pwa.ts +12 -12
  142. package/src/styles/_variables.scss +70 -70
  143. package/src/styles/base/base.css +184 -184
  144. package/src/styles/base/grid.css +92 -92
  145. package/src/styles/base/typography.css +70 -70
  146. package/src/styles/content.css +73 -73
  147. package/src/styles/main.css +7 -7
  148. package/src/types/Product.ts +31 -31
  149. package/src/types/astro.d.ts +3 -3
  150. package/src/utils/category/getMainCategoryList.ts +8 -17
  151. package/src/utils/product/getPriceFormatted.ts +12 -15
  152. package/src/utils/product/getProductChecklist.ts +16 -17
  153. package/src/utils/product/useFormatProductNumber.ts +41 -41
  154. package/src/utils/seo/getShorterDescription.ts +14 -14
  155. package/src/utils/text/formatDate.ts +5 -5
  156. package/src/utils/text/formatLocaleNumber.ts +5 -6
  157. package/src/utils/text/formatPad.ts +12 -12
  158. package/src/utils/text/getNumberFormatted.ts +33 -33
  159. package/src/utils/text/getTranslatedLink.ts +5 -5
  160. package/src/utils/text.ts +19 -19
  161. package/tailwind.config.cjs +8 -8
  162. package/tsconfig.json +28 -28
  163. package/uno-config/index.ts +262 -268
  164. package/uno-config/theme/breakpoints.ts +9 -9
  165. package/uno-config/theme/colors.ts +64 -64
  166. package/uno-config/theme/dimensions.ts +17 -17
  167. package/uno-config/theme/effects.ts +14 -14
  168. package/uno-config/theme/grid.ts +10 -10
  169. package/uno-config/theme/index.ts +28 -28
  170. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  171. package/uno-config/theme/shortcuts/components.ts +123 -123
  172. package/uno-config/theme/shortcuts/index.ts +20 -20
  173. package/uno-config/theme/shortcuts/layout.ts +74 -74
  174. package/uno-config/theme/typography.ts +29 -29
  175. package/uno.config.ts +2 -2
  176. package/.astro/icon.d.ts +0 -11909
  177. package/astro-i18next.config.mjs +0 -18
  178. package/astro-i18next.config.ts +0 -11
  179. package/public/locales/en/translation.json +0 -13
  180. package/public/locales/pl/translation.json +0 -13
@@ -205,6 +205,6 @@ declare module 'astro:content' {
205
205
  LiveContentConfig['collections'][C]['loader']
206
206
  >;
207
207
 
208
- export type ContentConfig = typeof import("./../src/content.config.mjs");
208
+ export type ContentConfig = typeof import("../src/content.config.mjs");
209
209
  export type LiveContentConfig = never;
210
210
  }
@@ -1 +1 @@
1
- [["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.13.2","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://sds.spoko.space/\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":1234,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[\"placehold.co\",\"api.polo.blue\",\"polo.blue\",\"media.istockphoto.com\",\"freepik.com\",\"img.freepik.com\",\"polo6r.pl\"],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false},\"legacy\":{\"collections\":false}}"]
1
+ [["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.13.10","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://sds.spoko.space/\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":1234,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[\"placehold.co\",\"api.polo.blue\",\"polo.blue\",\"media.istockphoto.com\",\"freepik.com\",\"img.freepik.com\",\"polo6r.pl\"],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false},\"legacy\":{\"collections\":false}}"]
@@ -1,5 +1,5 @@
1
- {
2
- "_variables": {
3
- "lastUpdateCheck": 1757938917015
4
- }
1
+ {
2
+ "_variables": {
3
+ "lastUpdateCheck": 1758628311891
4
+ }
5
5
  }
package/.astro/types.d.ts CHANGED
@@ -1 +1,2 @@
1
- /// <reference types="astro/client" />
1
+ /// <reference types="astro/client" />
2
+ /// <reference path="content.d.ts" />
@@ -5,7 +5,17 @@
5
5
  "Bash(npm run dev:*)",
6
6
  "Bash(tasklist)",
7
7
  "Bash(findstr:*)",
8
- "Bash(git add:*)"
8
+ "Bash(git add:*)",
9
+ "Bash(npm install:*)",
10
+ "Bash(pnpm add:*)",
11
+ "Bash(pnpm i:*)",
12
+ "Bash(pnpm install:*)",
13
+ "Bash(pnpm dev:*)",
14
+ "Bash(node:*)",
15
+ "WebFetch(domain:polo.blue)",
16
+ "Bash(git commit:*)",
17
+ "Bash(git push:*)",
18
+ "Bash(pnpm run:*)"
9
19
  ],
10
20
  "deny": [],
11
21
  "ask": []
@@ -1,11 +1,11 @@
1
- # To get started with Dependabot version updates, you'll need to specify which
2
- # package ecosystems to update and where the package manifests are located.
3
- # Please see the documentation for all configuration options:
4
- # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
-
6
- version: 2
7
- updates:
8
- - package-ecosystem: "" # See documentation for possible values
9
- directory: "/" # Location of package manifests
10
- schedule:
11
- interval: "weekly"
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "" # See documentation for possible values
9
+ directory: "/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
package/.github/todo.yml CHANGED
@@ -1,3 +1,3 @@
1
- - name: todo-issue
2
- uses: DerJuulsn/todo-issue@v1.1.4
3
-
1
+ - name: todo-issue
2
+ uses: DerJuulsn/todo-issue@v1.1.4
3
+
@@ -1,40 +1,40 @@
1
- name: Deploy to GitHub Pages
2
-
3
- on:
4
- # Trigger the workflow every time you push to the `main` branch
5
- # Using a different branch name? Replace `main` with your branch’s name
6
- push:
7
- branches: [ ma ]
8
- # Allows you to run this workflow manually from the Actions tab on GitHub.
9
- workflow_dispatch:
10
-
11
- # Allow this job to clone the repo and create a page deployment
12
- permissions:
13
- contents: read
14
- pages: write
15
- id-token: write
16
-
17
- jobs:
18
- build:
19
- runs-on: ubuntu-latest
20
- steps:
21
- - name: Checkout your repository using git
22
- uses: actions/checkout@v4
23
- - name: Install, build, and upload your site
24
- uses: withastro/action@v3
25
- with:
26
- pnpm@latest
27
- # path: . # The root location of your Astro project inside the repository. (optional)
28
- # node-version: 18 # The specific version of Node that should be used to build your site. Defaults to 18. (optional)
29
- # package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
30
-
31
- deploy:
32
- needs: build
33
- runs-on: ubuntu-latest
34
- environment:
35
- name: github-pages
36
- url: ${{ steps.deployment.outputs.page_url }}
37
- steps:
38
- - name: Deploy to GitHub Pages
39
- id: deployment
1
+ name: Deploy to GitHub Pages
2
+
3
+ on:
4
+ # Trigger the workflow every time you push to the `main` branch
5
+ # Using a different branch name? Replace `main` with your branch’s name
6
+ push:
7
+ branches: [ ma ]
8
+ # Allows you to run this workflow manually from the Actions tab on GitHub.
9
+ workflow_dispatch:
10
+
11
+ # Allow this job to clone the repo and create a page deployment
12
+ permissions:
13
+ contents: read
14
+ pages: write
15
+ id-token: write
16
+
17
+ jobs:
18
+ build:
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - name: Checkout your repository using git
22
+ uses: actions/checkout@v4
23
+ - name: Install, build, and upload your site
24
+ uses: withastro/action@v3
25
+ with:
26
+ pnpm@latest
27
+ # path: . # The root location of your Astro project inside the repository. (optional)
28
+ # node-version: 18 # The specific version of Node that should be used to build your site. Defaults to 18. (optional)
29
+ # package-manager: pnpm@latest # The Node package manager that should be used to install dependencies and build your site. Automatically detected based on your lockfile. (optional)
30
+
31
+ deploy:
32
+ needs: build
33
+ runs-on: ubuntu-latest
34
+ environment:
35
+ name: github-pages
36
+ url: ${{ steps.deployment.outputs.page_url }}
37
+ steps:
38
+ - name: Deploy to GitHub Pages
39
+ id: deployment
40
40
  uses: actions/deploy-pages@v4
@@ -0,0 +1,64 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - next
8
+ - beta
9
+
10
+ permissions:
11
+ contents: write
12
+ issues: write
13
+ pull-requests: write
14
+ id-token: write
15
+
16
+ jobs:
17
+ release:
18
+ name: Release
19
+ runs-on: ubuntu-latest
20
+ if: "!contains(github.event.head_commit.message, '[skip ci]')"
21
+
22
+ steps:
23
+ - name: Checkout
24
+ uses: actions/checkout@v4
25
+ with:
26
+ fetch-depth: 0
27
+ token: ${{ secrets.GITHUB_TOKEN }}
28
+
29
+ - name: Setup Node.js
30
+ uses: actions/setup-node@v4
31
+ with:
32
+ node-version: 20
33
+ registry-url: 'https://registry.npmjs.org'
34
+
35
+ - name: Setup pnpm
36
+ uses: pnpm/action-setup@v4
37
+ with:
38
+ version: 10.16.1
39
+
40
+ - name: Get pnpm store directory
41
+ shell: bash
42
+ run: |
43
+ echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
44
+
45
+ - name: Setup pnpm cache
46
+ uses: actions/cache@v4
47
+ with:
48
+ path: ${{ env.STORE_PATH }}
49
+ key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
50
+ restore-keys: |
51
+ ${{ runner.os }}-pnpm-store-
52
+
53
+ - name: Install dependencies
54
+ run: pnpm install --frozen-lockfile
55
+
56
+ - name: Build package
57
+ run: pnpm run build
58
+
59
+ - name: Release
60
+ env:
61
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
63
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
64
+ run: pnpm exec semantic-release
@@ -0,0 +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
+ "type": "feat",
53
+ "release": "minor"
54
+ },
55
+ {
56
+ "type": "fix",
57
+ "release": "patch"
58
+ },
59
+ {
60
+ "type": "perf",
61
+ "release": "patch"
62
+ },
63
+ {
64
+ "type": "refactor",
65
+ "release": "patch"
66
+ },
67
+ {
68
+ "type": "style",
69
+ "release": "patch"
70
+ },
71
+ {
72
+ "type": "docs",
73
+ "release": "patch"
74
+ },
75
+ {
76
+ "type": "test",
77
+ "release": false
78
+ },
79
+ {
80
+ "type": "ci",
81
+ "release": false
82
+ },
83
+ {
84
+ "type": "chore",
85
+ "release": false
86
+ },
87
+ {
88
+ "scope": "BREAKING CHANGE",
89
+ "release": "major"
90
+ }
91
+ ]
92
+ }
93
+ }
package/.stackblitzrc CHANGED
@@ -1,6 +1,6 @@
1
- {
2
- "startCommand": "npm start",
3
- "env": {
4
- "ENABLE_CJS_IMPORTS": true
5
- }
1
+ {
2
+ "startCommand": "npm start",
3
+ "env": {
4
+ "ENABLE_CJS_IMPORTS": true
5
+ }
6
6
  }
@@ -1,5 +1,4 @@
1
- {
2
- "recommendations": ["astro-build.astro-vscode"],
3
- "unwantedRecommendations": [],
4
- "lokalise.i18n-ally"
5
- }
1
+ {
2
+ "recommendations": ["astro-build.astro-vscode"],
3
+ "unwantedRecommendations": [],
4
+ }
@@ -1,11 +1,11 @@
1
- {
2
- "version": "0.2.0",
3
- "configurations": [
4
- {
5
- "command": "./node_modules/.bin/astro dev",
6
- "name": "Development server",
7
- "request": "launch",
8
- "type": "node-terminal"
9
- }
10
- ]
11
- }
1
+ {
2
+ "version": "0.2.0",
3
+ "configurations": [
4
+ {
5
+ "command": "./node_modules/.bin/astro dev",
6
+ "name": "Development server",
7
+ "request": "launch",
8
+ "type": "node-terminal"
9
+ }
10
+ ]
11
+ }
@@ -1,6 +1,2 @@
1
- {
2
- "i18n-ally.sourceLanguage": "en",
3
- "i18n-ally.keystyle": "nested",
4
- "i18n-ally.localesPaths": "public/locales",
5
- "i18n-ally.sortKeys": true,
1
+ {
6
2
  }
package/CHANGELOG.md ADDED
@@ -0,0 +1,20 @@
1
+ ## [1.0.1](https://github.com/polo-blue/sds/compare/v1.0.0...v1.0.1) (2025-09-23)
2
+
3
+ ### Bug Fixes
4
+
5
+ * improve design system and add icon collections documentation ([007c465](https://github.com/polo-blue/sds/commit/007c46522f48bad8d0a04fbe811066edf6c3c78f))
6
+ * remove invalid vscode-icons to resolve build errors ([ab1fea5](https://github.com/polo-blue/sds/commit/ab1fea51182b35159953ae0005bb8c226fe14e9d))
7
+ * update icons and improve UnoCSS extractor ([aca7861](https://github.com/polo-blue/sds/commit/aca786103a56f5a180a15d6db044068bab596f62))
8
+
9
+ ## 1.0.0 (2025-09-23)
10
+
11
+ ### Features
12
+
13
+ * add automated semantic-release with HandDrive component improvements ([dd5f138](https://github.com/polo-blue/sds/commit/dd5f138636d90b3d0932c67c51afd39e42fab35a))
14
+
15
+ ### Bug Fixes
16
+
17
+ * add missing conventional-changelog-conventionalcommits dependency ([ad4f47b](https://github.com/polo-blue/sds/commit/ad4f47b47f5de6f684bdbea84a839f5d5642cb62))
18
+ * add updated pnpm-lock.yaml for semantic-release dependencies ([9ac21c9](https://github.com/polo-blue/sds/commit/9ac21c9150f8cfc997767d7c302a999d92b2fb01))
19
+ * correct semantic-release version and update lockfile ([dbee5ef](https://github.com/polo-blue/sds/commit/dbee5efbadcfc4dde616ca163ff496ecffd3f15a))
20
+ * update pnpm version in GitHub Actions to match package.json ([2b25473](https://github.com/polo-blue/sds/commit/2b25473148265e85660209ba457a0aea0c190dcd))
@@ -0,0 +1,183 @@
1
+ # Contributing to Spoko Design System
2
+
3
+ ## 🚀 Automated Release Process
4
+
5
+ This project uses **semantic-release** for fully automated version management and package publishing.
6
+
7
+ ### How It Works
8
+
9
+ 1. **Conventional Commits** - All commits must follow the conventional commit format
10
+ 2. **Automated Versioning** - Version bumps are determined automatically from commit messages
11
+ 3. **Automated Publishing** - Packages are published to npm automatically on main branch
12
+ 4. **Changelog Generation** - CHANGELOG.md is automatically updated with each release
13
+
14
+ ### Commit Message Format
15
+
16
+ We use [Conventional Commits](https://www.conventionalcommits.org/) specification:
17
+
18
+ ```
19
+ <type>[optional scope]: <description>
20
+
21
+ [optional body]
22
+
23
+ [optional footer(s)]
24
+ ```
25
+
26
+ #### Commit Types
27
+
28
+ | Type | Description | Version Bump |
29
+ |------|-------------|--------------|
30
+ | `feat` | New feature | **MINOR** (0.1.0) |
31
+ | `fix` | Bug fix | **PATCH** (0.0.1) |
32
+ | `perf` | Performance improvement | **PATCH** (0.0.1) |
33
+ | `refactor` | Code refactoring | **PATCH** (0.0.1) |
34
+ | `style` | Code style changes | **PATCH** (0.0.1) |
35
+ | `docs` | Documentation changes | **PATCH** (0.0.1) |
36
+ | `test` | Test changes | **No release** |
37
+ | `ci` | CI/CD changes | **No release** |
38
+ | `chore` | Maintenance tasks | **No release** |
39
+
40
+ #### Breaking Changes
41
+
42
+ For **MAJOR** version bumps, include `BREAKING CHANGE:` in the commit footer:
43
+
44
+ ```
45
+ feat!: remove deprecated HandDrive numeric API
46
+
47
+ BREAKING CHANGE: HandDrive component now only accepts 'lhd' | 'rhd' strings instead of numbers
48
+ ```
49
+
50
+ ### Examples
51
+
52
+ #### ✅ Good Commit Messages
53
+
54
+ ```bash
55
+ # New component (minor release)
56
+ feat(components): add Button component with variants
57
+
58
+ # Bug fix (patch release)
59
+ fix(HandDrive): handle null values correctly
60
+
61
+ # Breaking change (major release)
62
+ feat!: update HandDrive API to use strings
63
+
64
+ BREAKING CHANGE: handDrive prop now accepts 'lhd' | 'rhd' instead of 1 | 2
65
+
66
+ # Documentation update (patch release)
67
+ docs: update HandDrive component examples
68
+
69
+ # No release
70
+ test: add HandDrive component tests
71
+ chore: update dependencies
72
+ ```
73
+
74
+ #### ❌ Bad Commit Messages
75
+
76
+ ```bash
77
+ # Too vague
78
+ fix: bug fix
79
+
80
+ # No conventional format
81
+ Updated the HandDrive component
82
+
83
+ # Missing type
84
+ add new button component
85
+ ```
86
+
87
+ ### Release Branches
88
+
89
+ | Branch | Purpose | Release Type |
90
+ |--------|---------|--------------|
91
+ | `main` | Production releases | **Stable** |
92
+ | `next` | Next major version | **Pre-release** |
93
+ | `beta` | Beta features | **Pre-release** |
94
+
95
+ ### Workflow
96
+
97
+ 1. **Create Feature Branch**
98
+ ```bash
99
+ git checkout -b feat/new-component
100
+ ```
101
+
102
+ 2. **Make Changes & Commit**
103
+ ```bash
104
+ git add .
105
+ git commit -m "feat(components): add NewComponent with TypeScript support"
106
+ ```
107
+
108
+ 3. **Push & Create PR**
109
+ ```bash
110
+ git push origin feat/new-component
111
+ # Create PR to main branch
112
+ ```
113
+
114
+ 4. **Merge to Main**
115
+ - Once PR is approved and merged to `main`
116
+ - GitHub Actions will automatically:
117
+ - Analyze commit messages
118
+ - Determine version bump
119
+ - Update package.json
120
+ - Generate CHANGELOG.md
121
+ - Create GitHub release
122
+ - Publish to npm
123
+
124
+ ### Manual Release (if needed)
125
+
126
+ ```bash
127
+ # Install dependencies
128
+ pnpm install
129
+
130
+ # Run semantic-release locally
131
+ pnpm run semantic-release
132
+ ```
133
+
134
+ ### Setup Requirements
135
+
136
+ #### GitHub Repository Secrets
137
+
138
+ Add these secrets to your GitHub repository settings:
139
+
140
+ 1. **NPM_TOKEN** - npm authentication token
141
+ ```bash
142
+ # Create npm token
143
+ npm login
144
+ npm token create --access=public
145
+ ```
146
+
147
+ 2. **GITHUB_TOKEN** - Automatically provided by GitHub Actions
148
+
149
+ #### npm Authentication
150
+
151
+ Make sure your npm account has publish access to the `spoko-design-system` package.
152
+
153
+ ### Version History
154
+
155
+ All releases are automatically documented in:
156
+ - [CHANGELOG.md](./CHANGELOG.md) - Detailed changelog
157
+ - [GitHub Releases](https://github.com/polo-blue/sds/releases) - Release notes
158
+ - [npm Versions](https://www.npmjs.com/package/spoko-design-system?activeTab=versions) - Published versions
159
+
160
+ ### Troubleshooting
161
+
162
+ #### Release Didn't Trigger
163
+ - Check commit message follows conventional format
164
+ - Ensure commit was pushed to `main` branch
165
+ - Check GitHub Actions logs
166
+
167
+ #### Release Failed
168
+ - Check NPM_TOKEN is valid and has publish permissions
169
+ - Verify package.json version is correct
170
+ - Check for breaking changes in dependencies
171
+
172
+ #### Skip Release
173
+ Add `[skip ci]` to commit message to skip release:
174
+ ```bash
175
+ git commit -m "docs: update README [skip ci]"
176
+ ```
177
+
178
+ ## 📦 Package Information
179
+
180
+ - **Current Version**: ![npm version](https://img.shields.io/npm/v/spoko-design-system)
181
+ - **Downloads**: ![npm downloads](https://img.shields.io/npm/dm/spoko-design-system)
182
+ - **License**: MIT
183
+ - **Repository**: https://github.com/polo-blue/sds
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 Jordi Enric Roig Ramis
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Jordi Enric Roig Ramis
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.