spoko-design-system 1.18.1 → 1.20.0

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 (94) hide show
  1. package/.claude/settings.json +48 -48
  2. package/.github/dependabot.yml +11 -11
  3. package/.github/todo.yml +3 -3
  4. package/.github/workflows/claude.yml +37 -37
  5. package/.github/workflows/code-quality.yml +72 -72
  6. package/.github/workflows/deploy.yml +43 -43
  7. package/.husky/README.md +41 -41
  8. package/.husky/commit-msg +1 -1
  9. package/.husky/pre-commit +40 -40
  10. package/.prettierignore +14 -14
  11. package/.prettierrc +30 -30
  12. package/.stackblitzrc +5 -5
  13. package/.vscode/extensions.json +4 -4
  14. package/.vscode/launch.json +11 -11
  15. package/.vscode/settings.json +21 -21
  16. package/CHANGELOG.md +462 -450
  17. package/CLAUDE.md +268 -268
  18. package/LICENSE +21 -21
  19. package/README.md +303 -132
  20. package/TOOLTIPS.md +236 -236
  21. package/astro.config.mjs +84 -84
  22. package/commitlint.config.js +3 -3
  23. package/dev-dist/sw.js +91 -91
  24. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  25. package/eslint.config.js +70 -70
  26. package/icon.config.ts +348 -348
  27. package/index.ts +78 -78
  28. package/package.json +160 -160
  29. package/public/arrow-bottom.svg +7 -7
  30. package/public/fonts/lg.svg +53 -53
  31. package/public/fonts/vwhead-bold-demo.html +549 -549
  32. package/public/fonts/vwhead-regular-demo.html +549 -549
  33. package/public/fonts/vwtext-bold-demo.html +549 -549
  34. package/public/fonts/vwtext-regular-demo.html +549 -549
  35. package/public/github.svg +3 -3
  36. package/public/grid_dot.svg +4 -4
  37. package/public/linkedin.svg +44 -44
  38. package/public/make-scrollable-code-focusable.js +3 -3
  39. package/public/pagefind.yml +3 -3
  40. package/public/polo.blue.svg +29 -29
  41. package/public/spoko.space.svg +71 -71
  42. package/public/twitter.svg +46 -46
  43. package/renovate.json +6 -6
  44. package/sandbox.config.json +11 -11
  45. package/sonar-project.properties +26 -26
  46. package/src/components/Category/CategoryDetails.astro +46 -18
  47. package/src/components/Jumbotron/variants/Hero.astro +9 -1
  48. package/src/components/Jumbotron/variants/PostSplit.astro +8 -0
  49. package/src/pages/components/badges.mdx +57 -57
  50. package/src/pages/components/breadcrumbs.mdx +139 -139
  51. package/src/pages/components/buttons.mdx +359 -359
  52. package/src/pages/components/card.mdx +294 -294
  53. package/src/pages/components/carousel.mdx +62 -62
  54. package/src/pages/components/copyright.mdx +42 -42
  55. package/src/pages/components/details-list.mdx +207 -207
  56. package/src/pages/components/features-list.mdx +37 -37
  57. package/src/pages/components/flags.mdx +49 -49
  58. package/src/pages/components/fuck-russia.mdx +39 -39
  59. package/src/pages/components/hand-drive.mdx +78 -78
  60. package/src/pages/components/headline.mdx +337 -337
  61. package/src/pages/components/image.mdx +513 -513
  62. package/src/pages/components/input.mdx +367 -367
  63. package/src/pages/components/jumbotron.mdx +530 -530
  64. package/src/pages/components/modal.mdx +212 -212
  65. package/src/pages/components/post-header.mdx +64 -64
  66. package/src/pages/components/pr-code.mdx +213 -213
  67. package/src/pages/components/product-engine.mdx +418 -418
  68. package/src/pages/components/product-number.mdx +58 -58
  69. package/src/pages/components/product-tile.mdx +51 -51
  70. package/src/pages/components/quote.mdx +33 -33
  71. package/src/pages/components/slimbanner.mdx +260 -260
  72. package/src/pages/components/table.mdx +108 -108
  73. package/src/pages/core/colors.mdx +21 -21
  74. package/src/pages/core/grid.mdx +193 -193
  75. package/src/pages/core/introduction.mdx +77 -77
  76. package/src/pages/core/tooltips.mdx +491 -491
  77. package/src/pages/patterns/introduction.mdx +60 -60
  78. package/src/styles/_variables.scss +70 -70
  79. package/tailwind.config.cjs +8 -8
  80. package/tsconfig.json +28 -28
  81. package/uno-config/index.ts +269 -269
  82. package/uno-config/theme/breakpoints.ts +9 -9
  83. package/uno-config/theme/colors.ts +65 -65
  84. package/uno-config/theme/dimensions.ts +17 -17
  85. package/uno-config/theme/effects.ts +14 -14
  86. package/uno-config/theme/grid.ts +10 -10
  87. package/uno-config/theme/index.ts +26 -26
  88. package/uno-config/theme/shortcuts/buttons.ts +53 -53
  89. package/uno-config/theme/shortcuts/components.ts +124 -124
  90. package/uno-config/theme/shortcuts/index.ts +20 -20
  91. package/uno-config/theme/shortcuts/jumbotron.ts +71 -71
  92. package/uno-config/theme/shortcuts/layout.ts +75 -75
  93. package/uno-config/theme/typography.ts +29 -29
  94. package/uno.config.ts +2 -2
@@ -1,60 +1,60 @@
1
- ---
2
- layout: ../../layouts/MainLayout.astro
3
- ---
4
-
5
- import Container from '../../components/layout/Container.astro'
6
- import Header from '../../components/layout/Header.astro'
7
-
8
-
9
- # Patterns
10
-
11
- Common patterns for building interfaces.
12
-
13
-
14
-
15
- ## Container (max-w-screen-xl)
16
-
17
- <div class="component-preview" style="display: block">
18
- <Container class="bg-white">content</Container>
19
- </div>
20
-
21
- ### Code
22
-
23
- ```html
24
- <Container class="bg-white">content</Container>
25
- ```
26
-
27
-
28
- ## Container FullWidth (max-w-full)
29
-
30
- <div class="component-preview" style="display: block">
31
- <Container class="bg-white" isFullWidth>content</Container>
32
- </div>
33
-
34
- ### Code
35
-
36
- ```html
37
- <Container class="bg-white" isFullWidth>content</Container>
38
- ```
39
-
40
- ## Header
41
-
42
- <div class="component-preview" style="display: block">
43
- <Header class="static">
44
- <div slot="logo" class="flex-shrink-0 flex items-center h-8">
45
- <div class="bg-gray">LOGO</div>
46
- </div>
47
- <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
48
- </Header>
49
- </div>
50
-
51
- ### Code
52
-
53
- ```html
54
- <Header>
55
- <div slot="logo" class="flex-shrink-0 flex items-center h-8">
56
- <div class="bg-gray">LOGO</div>
57
- </div>
58
- <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
59
- </Header>
60
- ```
1
+ ---
2
+ layout: ../../layouts/MainLayout.astro
3
+ ---
4
+
5
+ import Container from '../../components/layout/Container.astro'
6
+ import Header from '../../components/layout/Header.astro'
7
+
8
+
9
+ # Patterns
10
+
11
+ Common patterns for building interfaces.
12
+
13
+
14
+
15
+ ## Container (max-w-screen-xl)
16
+
17
+ <div class="component-preview" style="display: block">
18
+ <Container class="bg-white">content</Container>
19
+ </div>
20
+
21
+ ### Code
22
+
23
+ ```html
24
+ <Container class="bg-white">content</Container>
25
+ ```
26
+
27
+
28
+ ## Container FullWidth (max-w-full)
29
+
30
+ <div class="component-preview" style="display: block">
31
+ <Container class="bg-white" isFullWidth>content</Container>
32
+ </div>
33
+
34
+ ### Code
35
+
36
+ ```html
37
+ <Container class="bg-white" isFullWidth>content</Container>
38
+ ```
39
+
40
+ ## Header
41
+
42
+ <div class="component-preview" style="display: block">
43
+ <Header class="static">
44
+ <div slot="logo" class="flex-shrink-0 flex items-center h-8">
45
+ <div class="bg-gray">LOGO</div>
46
+ </div>
47
+ <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
48
+ </Header>
49
+ </div>
50
+
51
+ ### Code
52
+
53
+ ```html
54
+ <Header>
55
+ <div slot="logo" class="flex-shrink-0 flex items-center h-8">
56
+ <div class="bg-gray">LOGO</div>
57
+ </div>
58
+ <input type="text" slot="search" class="h-full w-full sm:w-52 md:w-64 border border-solid px-3 text-sm" placeholder="Search..."/>
59
+ </Header>
60
+ ```
@@ -1,70 +1,70 @@
1
- @use "sass:map";
2
-
3
- $white: #fff !default;
4
- $gray-100: #F3F4F6;
5
- $gray-200: #E5E7EB;
6
- $gray-300: #B5BBC5;
7
- $gray-400: #9CA3AF;
8
- $slate-medium: #64748B!default;
9
- $gray-600: #6c757d !default;
10
- $gray-700: #495057 !default;
11
- $gray-800: #343a40 !default;
12
- $gray-900: #212529 !default;
13
- $black: #000 !default;
14
-
15
- $filter-label: #a8a8a8;
16
-
17
- $bg-stylish: #F6F6F6;
18
- $bg-highlighted: #E7E7E7;
19
- $badge-dark: #202020;
20
-
21
- // social media colors:
22
- $facebook: #4267B2;
23
- $youtube: #ff0000;
24
- $ebay: #3665f3;
25
-
26
-
27
- $grays: () !default;
28
- // stylelint-disable-next-line scss/dollar-variable-default
29
- $grays: map.merge(
30
- (
31
- "100": $gray-100,
32
- "200": $gray-200,
33
- "300": $gray-300,
34
- "400": $gray-400,
35
- "500": $slate-medium,
36
- "600": $gray-600,
37
- "700": $gray-700,
38
- "800": $gray-800,
39
- "900": $gray-900
40
- ),
41
- $grays
42
- );
43
-
44
- $lightblue: #ccecff;
45
- $vwblue: #0786ba;
46
- $vwblue2: #00b1eb;
47
- $blue: #0099da; //#0070B2; //#007bff !default;
48
- $darkblue: #00437A;
49
- $verydarkblue: #001E50;
50
- $indigo: #6610f2 !default;
51
- $purple: #6f42c1 !default;
52
- $pink: #e83e8c !default;
53
- $red: #dc3545;//#e94e1b; //#dc3545 !default;
54
- $orange: #ff5a00; //allegro//#f4831d; //#ff9700; // #fd7e14 !default;
55
- $orange-darken: #e94d1a;
56
- $yellow: #ffc107 !default;
57
- $green: #28a745 !default;
58
- $teal: #20c997 !default;
59
- $cyan: #17a2b8 !default;
60
- $grey: #797878 !default;
61
-
62
-
63
- $primary: $blue; // $blue !default;
64
- $secondary: $grey; //$gray-600; //$gray-600 !default;
65
- $success: $green !default;
66
- $info: $ebay;//$cyan !default;
67
- $warning: $orange !default;
68
- $danger: $red !default;
69
- $light: $gray-100 !default;
70
- $dark: $gray-900 !default;
1
+ @use "sass:map";
2
+
3
+ $white: #fff !default;
4
+ $gray-100: #F3F4F6;
5
+ $gray-200: #E5E7EB;
6
+ $gray-300: #B5BBC5;
7
+ $gray-400: #9CA3AF;
8
+ $slate-medium: #64748B!default;
9
+ $gray-600: #6c757d !default;
10
+ $gray-700: #495057 !default;
11
+ $gray-800: #343a40 !default;
12
+ $gray-900: #212529 !default;
13
+ $black: #000 !default;
14
+
15
+ $filter-label: #a8a8a8;
16
+
17
+ $bg-stylish: #F6F6F6;
18
+ $bg-highlighted: #E7E7E7;
19
+ $badge-dark: #202020;
20
+
21
+ // social media colors:
22
+ $facebook: #4267B2;
23
+ $youtube: #ff0000;
24
+ $ebay: #3665f3;
25
+
26
+
27
+ $grays: () !default;
28
+ // stylelint-disable-next-line scss/dollar-variable-default
29
+ $grays: map.merge(
30
+ (
31
+ "100": $gray-100,
32
+ "200": $gray-200,
33
+ "300": $gray-300,
34
+ "400": $gray-400,
35
+ "500": $slate-medium,
36
+ "600": $gray-600,
37
+ "700": $gray-700,
38
+ "800": $gray-800,
39
+ "900": $gray-900
40
+ ),
41
+ $grays
42
+ );
43
+
44
+ $lightblue: #ccecff;
45
+ $vwblue: #0786ba;
46
+ $vwblue2: #00b1eb;
47
+ $blue: #0099da; //#0070B2; //#007bff !default;
48
+ $darkblue: #00437A;
49
+ $verydarkblue: #001E50;
50
+ $indigo: #6610f2 !default;
51
+ $purple: #6f42c1 !default;
52
+ $pink: #e83e8c !default;
53
+ $red: #dc3545;//#e94e1b; //#dc3545 !default;
54
+ $orange: #ff5a00; //allegro//#f4831d; //#ff9700; // #fd7e14 !default;
55
+ $orange-darken: #e94d1a;
56
+ $yellow: #ffc107 !default;
57
+ $green: #28a745 !default;
58
+ $teal: #20c997 !default;
59
+ $cyan: #17a2b8 !default;
60
+ $grey: #797878 !default;
61
+
62
+
63
+ $primary: $blue; // $blue !default;
64
+ $secondary: $grey; //$gray-600; //$gray-600 !default;
65
+ $success: $green !default;
66
+ $info: $ebay;//$cyan !default;
67
+ $warning: $orange !default;
68
+ $danger: $red !default;
69
+ $light: $gray-100 !default;
70
+ $dark: $gray-900 !default;
@@ -1,8 +1,8 @@
1
- module.exports = {
2
- // darkMode: "class",
3
- content: ["./src/**/*.{astro,html,js,jsx,svelte,ts,tsx,vue}"],
4
- theme: {
5
- extend: {},
6
- },
7
- plugins: [],
8
- };
1
+ module.exports = {
2
+ // darkMode: "class",
3
+ content: ["./src/**/*.{astro,html,js,jsx,svelte,ts,tsx,vue}"],
4
+ theme: {
5
+ extend: {},
6
+ },
7
+ plugins: [],
8
+ };
package/tsconfig.json CHANGED
@@ -1,29 +1,29 @@
1
- {
2
- "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/**/*.astro", "src/**/*.d.ts", "*.ts"],
3
- "compilerOptions": {
4
- "baseUrl": "src",
5
-
6
- // Enable JSON imports.
7
- "resolveJsonModule": true,
8
-
9
- // Enable stricter transpilation for better output.
10
- "isolatedModules": true,
11
-
12
- // Astro will directly run your TypeScript code, no transpilation needed.
13
- "noEmit": true,
14
-
15
- "target": "esnext",
16
- "useDefineForClassFields": true,
17
- "module": "esnext",
18
- "moduleResolution": "node",
19
- "jsx": "preserve",
20
- "allowJs": true,
21
- "types": ["vite/client", "vitest", "@vue/runtime-dom", "@astrojs/ts", "@astrojs/ts-plugin", "unplugin-vue-macros/macros-global", "unplugin-icons/types/astro"],
22
- "paths": {
23
- "@components/*": ["components/*"],
24
- "@utils/*": ["utils/*"],
25
- "@types/*": ["types/*"]
26
- }
27
- },
28
- "exclude": ["dist", "node_modules"]
1
+ {
2
+ "include": ["env.d.ts", "src/**/*", "src/**/*.vue", "src/**/*.astro", "src/**/*.d.ts", "*.ts"],
3
+ "compilerOptions": {
4
+ "baseUrl": "src",
5
+
6
+ // Enable JSON imports.
7
+ "resolveJsonModule": true,
8
+
9
+ // Enable stricter transpilation for better output.
10
+ "isolatedModules": true,
11
+
12
+ // Astro will directly run your TypeScript code, no transpilation needed.
13
+ "noEmit": true,
14
+
15
+ "target": "esnext",
16
+ "useDefineForClassFields": true,
17
+ "module": "esnext",
18
+ "moduleResolution": "node",
19
+ "jsx": "preserve",
20
+ "allowJs": true,
21
+ "types": ["vite/client", "vitest", "@vue/runtime-dom", "@astrojs/ts", "@astrojs/ts-plugin", "unplugin-vue-macros/macros-global", "unplugin-icons/types/astro"],
22
+ "paths": {
23
+ "@components/*": ["components/*"],
24
+ "@utils/*": ["utils/*"],
25
+ "@types/*": ["types/*"]
26
+ }
27
+ },
28
+ "exclude": ["dist", "node_modules"]
29
29
  }