spoko-design-system 1.1.0 → 1.1.2

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 (111) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/.github/workflows/code-quality.yml +3 -3
  3. package/.github/workflows/sonarcloud.yml +1 -1
  4. package/.prettierrc +1 -0
  5. package/CHANGELOG.md +12 -0
  6. package/package.json +8 -2
  7. package/src/MyComponent.astro +1 -1
  8. package/src/components/Badge.vue +2 -2
  9. package/src/components/Badges.vue +17 -7
  10. package/src/components/Breadcrumbs.vue +47 -39
  11. package/src/components/Button.vue +31 -30
  12. package/src/components/ButtonCopy.astro +12 -17
  13. package/src/components/ButtonCopy.vue +26 -25
  14. package/src/components/Card.astro +4 -6
  15. package/src/components/Carousel.astro +4 -4
  16. package/src/components/Category/CategoriesCarousel.astro +75 -75
  17. package/src/components/Category/CategoryDetails.astro +75 -79
  18. package/src/components/Category/CategoryLink.vue +8 -12
  19. package/src/components/Category/CategorySidebarToggler.vue +2 -7
  20. package/src/components/Category/CategoryTile.astro +3 -3
  21. package/src/components/Category/CategoryViewToggler.astro +18 -18
  22. package/src/components/Category/SubCategoryLink.vue +13 -13
  23. package/src/components/Faq.astro +16 -17
  24. package/src/components/FaqItem.astro +27 -27
  25. package/src/components/FeaturesList.vue +19 -29
  26. package/src/components/FuckRussia.vue +40 -27
  27. package/src/components/HandDrive.astro +11 -15
  28. package/src/components/Header/Header.astro +165 -166
  29. package/src/components/Header/SkipToContent.astro +1 -1
  30. package/src/components/Headline.vue +44 -27
  31. package/src/components/Image.astro +5 -7
  32. package/src/components/Input.vue +143 -153
  33. package/src/components/Jumbotron/index.astro +143 -156
  34. package/src/components/Jumbotron/types.ts +28 -29
  35. package/src/components/Jumbotron/variants/Default.astro +44 -40
  36. package/src/components/Jumbotron/variants/Hero.astro +45 -53
  37. package/src/components/Jumbotron/variants/Post.astro +68 -64
  38. package/src/components/Jumbotron/variants/PostSplit.astro +89 -81
  39. package/src/components/Jumbotron.astro +12 -12
  40. package/src/components/LanguageSuggestion.astro +66 -69
  41. package/src/components/LeftSidebar.astro +10 -10
  42. package/src/components/MainColors.vue +2 -2
  43. package/src/components/MainInput.vue +6 -3
  44. package/src/components/Modal.astro +2 -2
  45. package/src/components/PartNumber.vue +2 -3
  46. package/src/components/Post/PostCategories.astro +2 -4
  47. package/src/components/Post/PostCategories.vue +2 -2
  48. package/src/components/PostHeader.astro +4 -6
  49. package/src/components/PrCode.vue +20 -19
  50. package/src/components/Product/ProductButton.vue +2 -5
  51. package/src/components/Product/ProductCarousel.astro +38 -27
  52. package/src/components/Product/ProductColors.vue +46 -42
  53. package/src/components/Product/ProductDetailName.vue +22 -22
  54. package/src/components/Product/ProductDetails.vue +115 -99
  55. package/src/components/Product/ProductDoc.vue +27 -25
  56. package/src/components/Product/ProductEngineType.vue +13 -10
  57. package/src/components/Product/ProductImage.astro +18 -19
  58. package/src/components/Product/ProductLink.vue +55 -58
  59. package/src/components/Product/ProductLinkInfo.astro +15 -18
  60. package/src/components/Product/ProductModel.vue +25 -24
  61. package/src/components/Product/ProductModels.vue +29 -33
  62. package/src/components/Product/ProductName.vue +15 -15
  63. package/src/components/Product/ProductNumber.astro +23 -31
  64. package/src/components/Product/ProductPositions.vue +32 -34
  65. package/src/components/ProductCarousel.astro +5 -5
  66. package/src/components/ProductCodes.vue +12 -14
  67. package/src/components/ProductDetailName.vue +18 -20
  68. package/src/components/ProductDetailsList.vue +48 -27
  69. package/src/components/Quote.vue +8 -6
  70. package/src/components/ReloadPrompt.astro +39 -47
  71. package/src/components/SlimBanner.vue +44 -19
  72. package/src/components/Table.vue +4 -6
  73. package/src/components/Translations.vue +17 -8
  74. package/src/components/flags/FlagPL.vue +4 -3
  75. package/src/components/flags/FlagUA.vue +2 -2
  76. package/src/components/layout/CallToAction.astro +17 -12
  77. package/src/components/layout/Container.astro +3 -1
  78. package/src/components/layout/Header.astro +12 -21
  79. package/src/config.ts +43 -43
  80. package/src/design.config.ts +63 -63
  81. package/src/env.d.ts +4 -4
  82. package/src/layouts/Layout.astro +10 -19
  83. package/src/layouts/MainLayout.astro +13 -19
  84. package/src/layouts/partials/FooterCommon.astro +2 -2
  85. package/src/layouts/partials/HeadCommon.astro +9 -9
  86. package/src/layouts/partials/HeadSEO.astro +12 -5
  87. package/src/pages/components/icons.astro +130 -121
  88. package/src/pages/core/shadows.astro +18 -11
  89. package/src/pages/index.astro +178 -75
  90. package/src/pwa.ts +4 -4
  91. package/src/styles/base/base.css +14 -19
  92. package/src/styles/base/grid.css +54 -58
  93. package/src/styles/base/typography.css +40 -40
  94. package/src/styles/content.css +25 -23
  95. package/src/styles/main.css +5 -6
  96. package/src/types/Product.ts +31 -31
  97. package/src/types/astro.d.ts +1 -1
  98. package/src/types/index.ts +234 -237
  99. package/src/utils/api/getCategories.ts +9 -9
  100. package/src/utils/category/getMainCategoryList.ts +22 -22
  101. package/src/utils/category/getSortedCategories.ts +7 -11
  102. package/src/utils/product/getPriceFormatted.ts +14 -11
  103. package/src/utils/product/getProductChecklist.ts +10 -11
  104. package/src/utils/product/useFormatProductNumber.ts +18 -9
  105. package/src/utils/seo/getShorterDescription.ts +6 -4
  106. package/src/utils/text/formatDate.ts +2 -3
  107. package/src/utils/text/formatLocaleNumber.ts +2 -2
  108. package/src/utils/text/formatPad.ts +2 -2
  109. package/src/utils/text/getNumberFormatted.ts +10 -10
  110. package/src/utils/text/getTranslatedLink.ts +3 -3
  111. package/src/utils/text.ts +11 -8
@@ -1,70 +1,70 @@
1
1
  @font-face {
2
- font-family: 'vw_textregular';
3
- src: url('/fonts/vwtext-regular-webfont.woff2') format('woff2');
4
- font-weight: normal;
5
- font-style: normal;
6
- font-display: swap;
2
+ font-family: 'vw_textregular';
3
+ src: url('/fonts/vwtext-regular-webfont.woff2') format('woff2');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ font-display: swap;
7
7
  }
8
8
 
9
9
  @font-face {
10
- font-family: 'vw_textbold';
11
- src: url('/fonts/vwtext-bold-webfont.woff2') format('woff2');
12
- font-weight: normal;
13
- font-style: normal;
14
- font-display: fallback;
10
+ font-family: 'vw_textbold';
11
+ src: url('/fonts/vwtext-bold-webfont.woff2') format('woff2');
12
+ font-weight: normal;
13
+ font-style: normal;
14
+ font-display: fallback;
15
15
  }
16
16
 
17
17
  .font-vw-textbold {
18
- font-family: 'vw_textbold';
19
- font-display: fallback;
18
+ font-family: 'vw_textbold';
19
+ font-display: fallback;
20
20
  }
21
21
 
22
22
  @font-face {
23
- font-family: 'vw_headbold';
24
- src: url('/fonts/vwhead-bold-webfont.woff2') format('woff2');
25
- font-weight: normal;
26
- font-style: normal;
27
- font-display: fallback;
23
+ font-family: 'vw_headbold';
24
+ src: url('/fonts/vwhead-bold-webfont.woff2') format('woff2');
25
+ font-weight: normal;
26
+ font-style: normal;
27
+ font-display: fallback;
28
28
  }
29
29
 
30
30
  .font-vw-headbold {
31
- font-family: 'vw_headbold' !important;
32
- font-display: fallback;
31
+ font-family: 'vw_headbold' !important;
32
+ font-display: fallback;
33
33
  }
34
34
 
35
35
  @font-face {
36
- font-family: 'vw_headregular';
37
- src: url('/fonts/vwhead-regular-webfont.woff2') format('woff2');
38
- font-weight: normal;
39
- font-style: normal;
40
- font-display: fallback;
36
+ font-family: 'vw_headregular';
37
+ src: url('/fonts/vwhead-regular-webfont.woff2') format('woff2');
38
+ font-weight: normal;
39
+ font-style: normal;
40
+ font-display: fallback;
41
41
  }
42
42
 
43
43
  @font-face {
44
- font-family: 'vw_headlight';
45
- src: url('/fonts/vwhead-light-webfont.woff2') format('woff2'),;
46
- font-weight: normal;
47
- font-style: normal;
48
- font-display: swap;
44
+ font-family: 'vw_headlight';
45
+ src: url('/fonts/vwhead-light-webfont.woff2') format('woff2');
46
+ font-weight: normal;
47
+ font-style: normal;
48
+ font-display: swap;
49
49
  }
50
50
 
51
51
  @font-face {
52
- font-family: 'Nova Mono';
53
- src: url('/fonts/nova-mono-v13-latin-regular.woff2') format('woff2');
54
- font-weight: normal;
55
- font-style: normal;
56
- font-display: swap;
52
+ font-family: 'Nova Mono';
53
+ src: url('/fonts/nova-mono-v13-latin-regular.woff2') format('woff2');
54
+ font-weight: normal;
55
+ font-style: normal;
56
+ font-display: swap;
57
57
  }
58
58
 
59
59
  @font-face {
60
- font-family: 'vw_textlight';
61
- src: url('/fonts/vwtext-light-webfont.woff2') format('woff2');
62
- font-weight: normal;
63
- font-style: normal;
64
- font-display: swap;
60
+ font-family: 'vw_textlight';
61
+ src: url('/fonts/vwtext-light-webfont.woff2') format('woff2');
62
+ font-weight: normal;
63
+ font-style: normal;
64
+ font-display: swap;
65
65
  }
66
66
 
67
67
  /* for some content which don't need to index in Google */
68
68
  [data-text]:before {
69
- content: attr(data-text);
69
+ content: attr(data-text);
70
70
  }
@@ -1,52 +1,53 @@
1
1
  .content {
2
2
  .main-section {
3
- &>h1,
4
- &>h2,
5
- &>h3,
6
- &>h4,
7
- &>h5,
8
- &>h6 {
3
+ & > h1,
4
+ & > h2,
5
+ & > h3,
6
+ & > h4,
7
+ & > h5,
8
+ & > h6 {
9
9
  margin-top: 1.77rem;
10
10
  }
11
- &>h1 {
11
+ & > h1 {
12
12
  font-size: 22pt;
13
13
  font-weight: 400;
14
14
  }
15
- &>h2 {
15
+ & > h2 {
16
16
  font-size: 17pt;
17
17
  font-weight: 500;
18
18
  }
19
- &>h3 {
19
+ & > h3 {
20
20
  font-size: 15pt;
21
21
  }
22
- &>h4 {
22
+ & > h4 {
23
23
  font-size: 13pt;
24
24
  }
25
25
 
26
- &>ul {
27
- @apply list-disc pl-5
26
+ & > ul {
27
+ @apply list-disc pl-5;
28
28
  }
29
29
  }
30
30
 
31
- &>h1,
32
- &>h2,
33
- &>h3,
34
- &>h4,
35
- &>h5 {
36
- font-weight: bold;
37
- @apply font-textbold;
31
+ & > h1,
32
+ & > h2,
33
+ & > h3,
34
+ & > h4,
35
+ & > h5 {
36
+ font-weight: bold;
37
+ @apply font-textbold;
38
38
  }
39
39
 
40
40
  code {
41
- font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
42
- Consolas, "Liberation Mono", "Courier New", monospace;
41
+ font-family:
42
+ 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
43
+ 'Courier New', monospace;
43
44
  }
44
45
 
45
46
  .component-preview {
46
47
  @apply bg-blue-medium bg-opacity-5 px-4 py-4 mx-0 flex items-center overflow-x-auto sm:(p-8);
47
48
  gap: 1rem;
48
49
  border-radius: 0.33rem;
49
- border: 1px solid theme("colors.slate.200");
50
+ border: 1px solid theme('colors.slate.200');
50
51
  resize: both;
51
52
  }
52
53
 
@@ -63,7 +64,8 @@ table {
63
64
  @apply border;
64
65
  }
65
66
 
66
- td, th {
67
+ td,
68
+ th {
67
69
  @apply px-4 py-2;
68
70
  }
69
71
 
@@ -1,7 +1,6 @@
1
-
2
1
  /* @import "variables"; */
3
- @import "base/typography";
4
- @import "base/base";
5
- @import "base/grid";
6
-
7
- @import "content.css";
2
+ @import 'base/typography';
3
+ @import 'base/base';
4
+ @import 'base/grid';
5
+
6
+ @import 'content.css';
@@ -1,32 +1,32 @@
1
1
  export interface ProductImage {
2
- path: string;
3
- }
4
-
5
- export interface BaseProduct {
6
- id: string | number;
7
- number: string;
8
- photo: string | null;
9
- price_pln?: number;
10
- }
11
-
12
- export interface ShopProduct extends BaseProduct {
13
- images: ProductImage[];
14
- slug: string;
15
- name_pl: string;
16
- name_en: string;
17
- }
18
-
19
- export interface CatalogProduct extends BaseProduct {
20
- photo: string | null;
21
- }
22
-
23
- export type Product = ShopProduct | CatalogProduct;
24
-
25
- export interface ProductLinkProps {
26
- productId: string;
27
- bigTile?: boolean;
28
- locale: string;
29
- index?: number | null;
30
- loading?: 'lazy' | 'eager';
31
- isShopProduct?: boolean;
32
- }
2
+ path: string;
3
+ }
4
+
5
+ export interface BaseProduct {
6
+ id: string | number;
7
+ number: string;
8
+ photo: string | null;
9
+ price_pln?: number;
10
+ }
11
+
12
+ export interface ShopProduct extends BaseProduct {
13
+ images: ProductImage[];
14
+ slug: string;
15
+ name_pl: string;
16
+ name_en: string;
17
+ }
18
+
19
+ export interface CatalogProduct extends BaseProduct {
20
+ photo: string | null;
21
+ }
22
+
23
+ export type Product = ShopProduct | CatalogProduct;
24
+
25
+ export interface ProductLinkProps {
26
+ productId: string;
27
+ bigTile?: boolean;
28
+ locale: string;
29
+ index?: number | null;
30
+ loading?: 'lazy' | 'eager';
31
+ isShopProduct?: boolean;
32
+ }
@@ -1,4 +1,4 @@
1
1
  declare module '*.astro' {
2
2
  const component: any;
3
3
  export default component;
4
- }
4
+ }