spoko-design-system 1.1.1 → 1.1.3

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 (113) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/.github/workflows/code-quality.yml +3 -3
  3. package/.prettierrc +1 -0
  4. package/CHANGELOG.md +12 -0
  5. package/package.json +8 -2
  6. package/src/MyComponent.astro +1 -1
  7. package/src/components/Badge.vue +2 -2
  8. package/src/components/Badges.vue +17 -7
  9. package/src/components/Breadcrumbs.vue +47 -39
  10. package/src/components/Button.vue +31 -30
  11. package/src/components/ButtonCopy.astro +12 -17
  12. package/src/components/ButtonCopy.vue +26 -25
  13. package/src/components/Card.astro +4 -6
  14. package/src/components/Carousel.astro +4 -4
  15. package/src/components/Category/CategoriesCarousel.astro +75 -75
  16. package/src/components/Category/CategoryDetails.astro +75 -79
  17. package/src/components/Category/CategoryLink.vue +8 -12
  18. package/src/components/Category/CategorySidebarToggler.vue +2 -7
  19. package/src/components/Category/CategoryTile.astro +3 -3
  20. package/src/components/Category/CategoryViewToggler.astro +18 -18
  21. package/src/components/Category/SubCategoryLink.vue +13 -13
  22. package/src/components/Faq.astro +16 -17
  23. package/src/components/FaqItem.astro +27 -27
  24. package/src/components/FeaturesList.vue +19 -29
  25. package/src/components/FuckRussia.vue +40 -27
  26. package/src/components/HandDrive.astro +11 -15
  27. package/src/components/Header/Header.astro +165 -166
  28. package/src/components/Header/SkipToContent.astro +1 -1
  29. package/src/components/Headline.vue +44 -27
  30. package/src/components/Image.astro +5 -7
  31. package/src/components/Input.vue +143 -153
  32. package/src/components/Jumbotron/index.astro +143 -156
  33. package/src/components/Jumbotron/types.ts +28 -29
  34. package/src/components/Jumbotron/variants/Default.astro +44 -40
  35. package/src/components/Jumbotron/variants/Hero.astro +45 -53
  36. package/src/components/Jumbotron/variants/Post.astro +68 -64
  37. package/src/components/Jumbotron/variants/PostSplit.astro +89 -81
  38. package/src/components/Jumbotron.astro +12 -12
  39. package/src/components/LanguageSuggestion.astro +66 -69
  40. package/src/components/LeftSidebar.astro +10 -10
  41. package/src/components/MainColors.vue +2 -2
  42. package/src/components/MainInput.vue +6 -3
  43. package/src/components/Modal.astro +2 -2
  44. package/src/components/PartNumber.vue +2 -3
  45. package/src/components/Post/PostCategories.astro +2 -4
  46. package/src/components/Post/PostCategories.vue +2 -2
  47. package/src/components/PostHeader.astro +4 -6
  48. package/src/components/PrCode.vue +20 -19
  49. package/src/components/Product/ProductButton.vue +2 -5
  50. package/src/components/Product/ProductCarousel.astro +38 -27
  51. package/src/components/Product/ProductColors.vue +46 -42
  52. package/src/components/Product/ProductDetailName.vue +22 -22
  53. package/src/components/Product/ProductDetails.vue +115 -99
  54. package/src/components/Product/ProductDoc.vue +27 -25
  55. package/src/components/Product/ProductEngineType.vue +13 -10
  56. package/src/components/Product/ProductImage.astro +18 -19
  57. package/src/components/Product/ProductLink.astro +78 -57
  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/ProductTile.astro +40 -36
  70. package/src/components/Quote.vue +8 -6
  71. package/src/components/ReloadPrompt.astro +39 -47
  72. package/src/components/SlimBanner.vue +44 -19
  73. package/src/components/Table.vue +4 -6
  74. package/src/components/Translations.vue +17 -8
  75. package/src/components/flags/FlagPL.vue +4 -3
  76. package/src/components/flags/FlagUA.vue +2 -2
  77. package/src/components/layout/CallToAction.astro +17 -12
  78. package/src/components/layout/Container.astro +3 -1
  79. package/src/components/layout/Header.astro +12 -21
  80. package/src/config.ts +43 -43
  81. package/src/design.config.ts +63 -63
  82. package/src/env.d.ts +4 -4
  83. package/src/layouts/Layout.astro +10 -19
  84. package/src/layouts/MainLayout.astro +13 -19
  85. package/src/layouts/partials/FooterCommon.astro +2 -2
  86. package/src/layouts/partials/HeadCommon.astro +9 -9
  87. package/src/layouts/partials/HeadSEO.astro +12 -5
  88. package/src/pages/components/icons.astro +130 -121
  89. package/src/pages/core/shadows.astro +18 -11
  90. package/src/pages/core/typography.astro +36 -36
  91. package/src/pages/index.astro +178 -75
  92. package/src/pwa.ts +4 -4
  93. package/src/styles/base/base.css +14 -19
  94. package/src/styles/base/grid.css +54 -58
  95. package/src/styles/base/typography.css +40 -40
  96. package/src/styles/content.css +25 -23
  97. package/src/styles/main.css +5 -6
  98. package/src/types/Product.ts +31 -31
  99. package/src/types/astro.d.ts +1 -1
  100. package/src/types/index.ts +234 -237
  101. package/src/utils/api/getCategories.ts +9 -9
  102. package/src/utils/category/getMainCategoryList.ts +22 -22
  103. package/src/utils/category/getSortedCategories.ts +7 -11
  104. package/src/utils/product/getPriceFormatted.ts +14 -11
  105. package/src/utils/product/getProductChecklist.ts +10 -11
  106. package/src/utils/product/useFormatProductNumber.ts +18 -9
  107. package/src/utils/seo/getShorterDescription.ts +6 -4
  108. package/src/utils/text/formatDate.ts +2 -3
  109. package/src/utils/text/formatLocaleNumber.ts +2 -2
  110. package/src/utils/text/formatPad.ts +2 -2
  111. package/src/utils/text/getNumberFormatted.ts +10 -10
  112. package/src/utils/text/getTranslatedLink.ts +3 -3
  113. package/src/utils/text.ts +11 -8
@@ -1,31 +1,31 @@
1
1
  ---
2
- import { Icon } from "astro-icon/components";
3
- import { SITE } from "../config";
4
- import Jumbotron from "../components/Jumbotron.astro";
5
- import Layout from "../layouts/Layout.astro";
6
- import Headline from "../components/Headline.vue";
7
- import Button from "../components/Button.vue";
8
- import Quote from "../components/Quote.vue";
9
- import FeaturesList from "../components/FeaturesList.vue";
2
+ import { Icon } from 'astro-icon/components';
3
+ import { SITE } from '../config';
4
+ import Jumbotron from '../components/Jumbotron.astro';
5
+ import Layout from '../layouts/Layout.astro';
6
+ import Headline from '../components/Headline.vue';
7
+ import Button from '../components/Button.vue';
8
+ import Quote from '../components/Quote.vue';
9
+ import FeaturesList from '../components/FeaturesList.vue';
10
10
 
11
11
  const navItems = [
12
12
  {
13
- title: "Core",
14
- description: "Base colors, typography, shadows etc.",
15
- url: "/core/introduction",
16
- icon: "streamline-freehand-color:database",
13
+ title: 'Core',
14
+ description: 'Base colors, typography, shadows etc.',
15
+ url: '/core/introduction',
16
+ icon: 'streamline-freehand-color:database',
17
17
  },
18
18
  {
19
- title: "Components",
20
- description: "The building blocks for our UI.",
21
- url: "/components/buttons",
22
- icon: "streamline-freehand-color:module-building-blocks",
19
+ title: 'Components',
20
+ description: 'The building blocks for our UI.',
21
+ url: '/components/buttons',
22
+ icon: 'streamline-freehand-color:module-building-blocks',
23
23
  },
24
24
  {
25
- title: "Patterns",
26
- description: "Common patterns for building interfaces.",
27
- url: "/patterns/introduction",
28
- icon: "streamline-freehand-color:layouts-array-1",
25
+ title: 'Patterns',
26
+ description: 'Common patterns for building interfaces.',
27
+ url: '/patterns/introduction',
28
+ icon: 'streamline-freehand-color:layouts-array-1',
29
29
  },
30
30
  ];
31
31
  ---
@@ -61,11 +61,7 @@ const navItems = [
61
61
  class="flex w-full flex-wrap bg-white rounded-md hover:-translate-y-1 hover:shadow-lg transition-all flex-1 items-center py-10 px-4 md:(flex-col w-auto flex-nowrap text-center py-16)"
62
62
  >
63
63
  <Headline as="h2" textSize="2xl" underline={false}>
64
- <Icon
65
- name={icon}
66
- aria-hidden="true"
67
- class="text-blue-400 mr-2"
68
- />
64
+ <Icon name={icon} aria-hidden="true" class="text-blue-400 mr-2" />
69
65
  {title}
70
66
  </Headline>
71
67
  <p class="text-slate-500 w-full">{description}</p>
@@ -82,57 +78,142 @@ const navItems = [
82
78
  Why Spoko Design System?
83
79
  </Headline>
84
80
  <p class="text-lg text-gray-600 max-w-2xl mx-auto">
85
- A modern, comprehensive design system built with Astro and Vue, featuring consistent components and patterns for rapid development.
81
+ A modern, comprehensive design system built with Astro and Vue, featuring consistent
82
+ components and patterns for rapid development.
86
83
  </p>
87
84
  </div>
88
85
 
89
86
  <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
90
87
  <div class="text-center p-6 bg-white rounded-lg shadow-sm border border-gray-100">
91
- <Headline as="h3" textSize="xl" underline={false} class="mb-3 text-gray-900 flex items-center justify-center">
92
- <Icon name="simple-icons:astro" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
88
+ <Headline
89
+ as="h3"
90
+ textSize="xl"
91
+ underline={false}
92
+ class="mb-3 text-gray-900 flex items-center justify-center"
93
+ >
94
+ <Icon
95
+ name="simple-icons:astro"
96
+ aria-hidden="true"
97
+ class="text-3xl text-blue-400 mr-3"
98
+ />
93
99
  Astro-Powered
94
100
  </Headline>
95
- <p class="text-gray-600">Built with <a href="https://astro.build/" target="_blank" rel="noopener noreferrer" class="text-blue-600 hover:text-blue-800 underline transition-colors">Astro</a> for lightning-fast performance and seamless integration with modern frameworks.</p>
101
+ <p class="text-gray-600">
102
+ Built with <a
103
+ href="https://astro.build/"
104
+ target="_blank"
105
+ rel="noopener noreferrer"
106
+ class="text-blue-600 hover:text-blue-800 underline transition-colors">Astro</a
107
+ > for lightning-fast performance and seamless integration with modern frameworks.
108
+ </p>
96
109
  </div>
97
110
 
98
111
  <div class="text-center p-6 bg-white rounded-lg shadow-sm border border-gray-100">
99
- <Headline as="h3" textSize="xl" underline={false} class="mb-3 text-gray-900 flex items-center justify-center">
100
- <Icon name="streamline-freehand-color:data-transfer-document-module" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
112
+ <Headline
113
+ as="h3"
114
+ textSize="xl"
115
+ underline={false}
116
+ class="mb-3 text-gray-900 flex items-center justify-center"
117
+ >
118
+ <Icon
119
+ name="streamline-freehand-color:data-transfer-document-module"
120
+ aria-hidden="true"
121
+ class="text-3xl text-blue-400 mr-3"
122
+ />
101
123
  Rich Components
102
124
  </Headline>
103
- <p class="text-gray-600">20+ production-ready components including buttons, modals, carousels, and specialized automotive elements.</p>
125
+ <p class="text-gray-600">
126
+ 20+ production-ready components including buttons, modals, carousels, and specialized
127
+ automotive elements.
128
+ </p>
104
129
  </div>
105
130
 
106
131
  <div class="text-center p-6 bg-white rounded-lg shadow-sm border border-gray-100">
107
- <Headline as="h3" textSize="xl" underline={false} class="mb-3 text-gray-900 flex items-center justify-center">
108
- <Icon name="vscode-icons:file-type-unocss" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
132
+ <Headline
133
+ as="h3"
134
+ textSize="xl"
135
+ underline={false}
136
+ class="mb-3 text-gray-900 flex items-center justify-center"
137
+ >
138
+ <Icon
139
+ name="vscode-icons:file-type-unocss"
140
+ aria-hidden="true"
141
+ class="text-3xl text-blue-400 mr-3"
142
+ />
109
143
  UnoCSS Styling
110
144
  </Headline>
111
- <p class="text-gray-600">Atomic CSS approach with <a href="https://unocss.dev/" target="_blank" rel="noopener noreferrer" class="text-blue-600 hover:text-blue-800 underline transition-colors">UnoCSS</a> for flexible, maintainable styling and consistent design tokens.</p>
145
+ <p class="text-gray-600">
146
+ Atomic CSS approach with <a
147
+ href="https://unocss.dev/"
148
+ target="_blank"
149
+ rel="noopener noreferrer"
150
+ class="text-blue-600 hover:text-blue-800 underline transition-colors">UnoCSS</a
151
+ > for flexible, maintainable styling and consistent design tokens.
152
+ </p>
112
153
  </div>
113
154
 
114
155
  <div class="text-center p-6 bg-white rounded-lg shadow-sm border border-gray-100">
115
- <Headline as="h3" textSize="xl" underline={false} class="mb-3 text-gray-900 flex items-center justify-center">
116
- <Icon name="vscode-icons:file-type-vue" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
156
+ <Headline
157
+ as="h3"
158
+ textSize="xl"
159
+ underline={false}
160
+ class="mb-3 text-gray-900 flex items-center justify-center"
161
+ >
162
+ <Icon
163
+ name="vscode-icons:file-type-vue"
164
+ aria-hidden="true"
165
+ class="text-3xl text-blue-400 mr-3"
166
+ />
117
167
  Vue Integration
118
168
  </Headline>
119
- <p class="text-gray-600">Seamless <a href="https://vuejs.org/" target="_blank" rel="noopener noreferrer" class="text-blue-600 hover:text-blue-800 underline transition-colors">Vue 3</a> component integration with TypeScript support for interactive elements.</p>
169
+ <p class="text-gray-600">
170
+ Seamless <a
171
+ href="https://vuejs.org/"
172
+ target="_blank"
173
+ rel="noopener noreferrer"
174
+ class="text-blue-600 hover:text-blue-800 underline transition-colors">Vue 3</a
175
+ > component integration with TypeScript support for interactive elements.
176
+ </p>
120
177
  </div>
121
178
 
122
179
  <div class="text-center p-6 bg-white rounded-lg shadow-sm border border-gray-100">
123
- <Headline as="h3" textSize="xl" underline={false} class="mb-3 text-gray-900 flex items-center justify-center">
124
- <Icon name="streamline-freehand-color:design-process-drawing-board" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
180
+ <Headline
181
+ as="h3"
182
+ textSize="xl"
183
+ underline={false}
184
+ class="mb-3 text-gray-900 flex items-center justify-center"
185
+ >
186
+ <Icon
187
+ name="streamline-freehand-color:design-process-drawing-board"
188
+ aria-hidden="true"
189
+ class="text-3xl text-blue-400 mr-3"
190
+ />
125
191
  Design Patterns
126
192
  </Headline>
127
- <p class="text-gray-600">Proven patterns and layouts for common use cases, from landing pages to product catalogs.</p>
193
+ <p class="text-gray-600">
194
+ Proven patterns and layouts for common use cases, from landing pages to product
195
+ catalogs.
196
+ </p>
128
197
  </div>
129
198
 
130
199
  <div class="text-center p-6 bg-white rounded-lg shadow-sm border border-gray-100">
131
- <Headline as="h3" textSize="xl" underline={false} class="mb-3 text-gray-900 flex items-center justify-center">
132
- <Icon name="streamline-freehand-color:app-window-source-code" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
200
+ <Headline
201
+ as="h3"
202
+ textSize="xl"
203
+ underline={false}
204
+ class="mb-3 text-gray-900 flex items-center justify-center"
205
+ >
206
+ <Icon
207
+ name="streamline-freehand-color:app-window-source-code"
208
+ aria-hidden="true"
209
+ class="text-3xl text-blue-400 mr-3"
210
+ />
133
211
  Developer Ready
134
212
  </Headline>
135
- <p class="text-gray-600">Complete documentation, TypeScript support, and easy npm installation for quick project setup.</p>
213
+ <p class="text-gray-600">
214
+ Complete documentation, TypeScript support, and easy npm installation for quick project
215
+ setup.
216
+ </p>
136
217
  </div>
137
218
  </div>
138
219
  </section>
@@ -151,11 +232,14 @@ const navItems = [
151
232
  <!-- Download & Examples Section -->
152
233
  <section class="py-16 px-4 max-w-6xl mx-auto">
153
234
  <div class="grid lg:grid-cols-2 gap-8 md:gap-12">
154
-
155
235
  <!-- Download Section -->
156
236
  <div class="text-center">
157
237
  <Headline underline as="h2" class="text-gray-900 mb-8" textSize="3xl">
158
- <Icon name="streamline-freehand-color:archive-box" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
238
+ <Icon
239
+ name="streamline-freehand-color:archive-box"
240
+ aria-hidden="true"
241
+ class="text-3xl text-blue-400 mr-3"
242
+ />
159
243
  Get Started
160
244
  </Headline>
161
245
 
@@ -173,17 +257,21 @@ const navItems = [
173
257
 
174
258
  <!-- Download Links -->
175
259
  <div class="flex justify-center gap-6 mb-6">
176
- <a href="https://www.npmjs.com/package/spoko-design-system"
177
- target="_blank"
178
- rel="noopener noreferrer"
179
- class="flex items-center gap-3 bg-red-600 hover:bg-red-700 text-white px-6 py-3 rounded-lg transition-colors">
260
+ <a
261
+ href="https://www.npmjs.com/package/spoko-design-system"
262
+ target="_blank"
263
+ rel="noopener noreferrer"
264
+ class="flex items-center gap-3 bg-red-600 hover:bg-red-700 text-white px-6 py-3 rounded-lg transition-colors"
265
+ >
180
266
  <Icon name="mdi:npm" class="text-3xl" />
181
267
  <span class="font-semibold">npm Package</span>
182
268
  </a>
183
- <a href="https://github.com/polo-blue/sds"
184
- target="_blank"
185
- rel="noopener noreferrer"
186
- class="flex items-center gap-3 bg-gray-800 hover:bg-gray-900 text-white px-6 py-3 rounded-lg transition-colors">
269
+ <a
270
+ href="https://github.com/polo-blue/sds"
271
+ target="_blank"
272
+ rel="noopener noreferrer"
273
+ class="flex items-center gap-3 bg-gray-800 hover:bg-gray-900 text-white px-6 py-3 rounded-lg transition-colors"
274
+ >
187
275
  <Icon name="mdi:github" class="text-2xl" />
188
276
  <span class="font-semibold">Source Code</span>
189
277
  </a>
@@ -197,27 +285,37 @@ const navItems = [
197
285
  <!-- Examples Section -->
198
286
  <div class="text-center">
199
287
  <Headline underline as="h2" class="text-gray-900 mb-8" textSize="3xl">
200
- <Icon name="streamline-freehand-color:app-window-source-code" aria-hidden="true" class="text-3xl text-blue-400 mr-3" />
288
+ <Icon
289
+ name="streamline-freehand-color:app-window-source-code"
290
+ aria-hidden="true"
291
+ class="text-3xl text-blue-400 mr-3"
292
+ />
201
293
  Live Examples
202
294
  </Headline>
203
295
 
204
296
  <!-- Example Sites Grid -->
205
297
  <div class="grid gap-4 mb-6">
206
- <a href="https://catalog.polo.blue"
207
- target="_blank"
208
- rel="noopener noreferrer"
209
- class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group">
298
+ <a
299
+ href="https://catalog.polo.blue"
300
+ target="_blank"
301
+ rel="noopener noreferrer"
302
+ class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group"
303
+ >
210
304
  <div class="text-left">
211
- <h4 class="font-semibold text-gray-900 group-hover:text-blue-600">catalog.polo.blue</h4>
305
+ <h4 class="font-semibold text-gray-900 group-hover:text-blue-600">
306
+ catalog.polo.blue
307
+ </h4>
212
308
  <p class="text-sm text-gray-600">Car parts catalog</p>
213
309
  </div>
214
310
  <Icon name="lucide:link" class="text-gray-400 group-hover:text-blue-400" />
215
311
  </a>
216
312
 
217
- <a href="https://polo.blue"
218
- target="_blank"
219
- rel="noopener noreferrer"
220
- class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group">
313
+ <a
314
+ href="https://polo.blue"
315
+ target="_blank"
316
+ rel="noopener noreferrer"
317
+ class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group"
318
+ >
221
319
  <div class="text-left">
222
320
  <h4 class="font-semibold text-gray-900 group-hover:text-blue-600">polo.blue</h4>
223
321
  <p class="text-sm text-gray-600">Polo 6R DIY workshop & guides</p>
@@ -225,21 +323,27 @@ const navItems = [
225
323
  <Icon name="lucide:link" class="text-gray-400 group-hover:text-blue-400" />
226
324
  </a>
227
325
 
228
- <a href="https://sale.polo.blue/"
229
- target="_blank"
230
- rel="noopener noreferrer"
231
- class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group">
326
+ <a
327
+ href="https://sale.polo.blue/"
328
+ target="_blank"
329
+ rel="noopener noreferrer"
330
+ class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group"
331
+ >
232
332
  <div class="text-left">
233
- <h4 class="font-semibold text-gray-900 group-hover:text-blue-600">sale.polo.blue</h4>
333
+ <h4 class="font-semibold text-gray-900 group-hover:text-blue-600">
334
+ sale.polo.blue
335
+ </h4>
234
336
  <p class="text-sm text-gray-600">Used car parts marketplace</p>
235
337
  </div>
236
338
  <Icon name="lucide:link" class="text-gray-400 group-hover:text-blue-400" />
237
339
  </a>
238
340
 
239
- <a href="https://polo6r.pl"
240
- target="_blank"
241
- rel="noopener noreferrer"
242
- class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group">
341
+ <a
342
+ href="https://polo6r.pl"
343
+ target="_blank"
344
+ rel="noopener noreferrer"
345
+ class="flex items-center justify-between p-4 bg-white border border-gray-200 rounded-lg hover:border-blue-400 hover:shadow-md transition-all group"
346
+ >
243
347
  <div class="text-left">
244
348
  <h4 class="font-semibold text-gray-900 group-hover:text-blue-600">polo6r.pl</h4>
245
349
  <p class="text-sm text-gray-600">Polo V Manual</p>
@@ -252,7 +356,6 @@ const navItems = [
252
356
  See the design system in action across different project types
253
357
  </p>
254
358
  </div>
255
-
256
359
  </div>
257
360
  </section>
258
361
  </div>
@@ -262,4 +365,4 @@ const navItems = [
262
365
  .example-link {
263
366
  @apply transition ease-in-out delay-200 duration-300 text-blue-medium hover:(text-accent-light decoration-blue-medium) underline decoration-white;
264
367
  }
265
- </style>
368
+ </style>
package/src/pwa.ts CHANGED
@@ -1,13 +1,13 @@
1
- import { registerSW } from 'virtual:pwa-register'
1
+ import { registerSW } from 'virtual:pwa-register';
2
2
 
3
3
  registerSW({
4
4
  immediate: true,
5
5
  onRegisteredSW(swScriptUrl) {
6
6
  // eslint-disable-next-line no-console
7
- console.log('SW registered: ', swScriptUrl)
7
+ console.log('SW registered: ', swScriptUrl);
8
8
  },
9
9
  onOfflineReady() {
10
10
  // eslint-disable-next-line no-console
11
- console.log('PWA application ready to work offline')
11
+ console.log('PWA application ready to work offline');
12
12
  },
13
- })
13
+ });
@@ -1,11 +1,11 @@
1
1
  :root {
2
2
  --color-scheme: light;
3
-
3
+
4
4
  --clr-primary-400: hsl(198, 100%, 43%); /* {$blue}; */
5
- --secondary: #64748B;
6
- --tertiary: #001E50;
5
+ --secondary: #64748b;
6
+ --tertiary: #001e50;
7
7
 
8
- --font-family: 'vw_textregular', 'system-ui', 'ui-sans-serif', sans-serif;;
8
+ --font-family: 'vw_textregular', 'system-ui', 'ui-sans-serif', sans-serif;
9
9
 
10
10
  /* variables for future changes: */
11
11
 
@@ -29,7 +29,6 @@
29
29
  --clr-accent-300: hsl(358, 72%, 65%);
30
30
  --clr-accent-400: hsl(358, 72%, 50%);
31
31
  --clr-accent-500: hsl(358, 72%, 35%);
32
-
33
32
  }
34
33
 
35
34
  * {
@@ -56,7 +55,7 @@ body {
56
55
  }
57
56
 
58
57
  ::-webkit-scrollbar-track {
59
- background: rgba(0, 0, 0, 0.1);
58
+ background: rgba(0, 0, 0, 0.1);
60
59
  border-radius: 0;
61
60
  }
62
61
 
@@ -69,7 +68,7 @@ body {
69
68
  @supports not selector(::-webkit-scrollbar) {
70
69
  * {
71
70
  scrollbar-width: thin;
72
- scrollbar-color: var(--clr-primary-400) rgba(0, 0, 0, 0.1)
71
+ scrollbar-color: var(--clr-primary-400) rgba(0, 0, 0, 0.1);
73
72
  }
74
73
  }
75
74
 
@@ -78,15 +77,13 @@ body {
78
77
  }
79
78
 
80
79
  .bg-spoko {
81
- background: radial-gradient(circle at 50% 85%, #00437A 0%, #001E50 100%);
80
+ background: radial-gradient(circle at 50% 85%, #00437a 0%, #001e50 100%);
82
81
  color: #fff;
83
82
  width: 100%;
84
83
  }
85
84
 
86
85
  .bg-vw {
87
- background: radial-gradient(circle at 50% 85%,
88
- #00437A 0%,
89
- #001E50 100%);
86
+ background: radial-gradient(circle at 50% 85%, #00437a 0%, #001e50 100%);
90
87
  color: #fff;
91
88
  }
92
89
 
@@ -102,12 +99,10 @@ code {
102
99
  @apply font-novamono;
103
100
  }
104
101
 
105
-
106
102
  html {
107
103
  scroll-behavior: smooth;
108
104
  }
109
105
 
110
-
111
106
  /* Swiper styles */
112
107
  :root {
113
108
  /* // --swiper-navigation-color: #0099da; */
@@ -118,7 +113,7 @@ html {
118
113
  }
119
114
 
120
115
  .swiper-horizontal {
121
- &>.swiper-scrollbar {
116
+ & > .swiper-scrollbar {
122
117
  height: 1px;
123
118
  }
124
119
  }
@@ -134,10 +129,10 @@ html {
134
129
  }
135
130
 
136
131
  .items {
137
- &>.item {
132
+ & > .item {
138
133
  &:not(:last-child) {
139
134
  &:after {
140
- content: ', '
135
+ content: ', ';
141
136
  }
142
137
  }
143
138
  }
@@ -162,7 +157,7 @@ html {
162
157
  @apply mr-1;
163
158
 
164
159
  &:after {
165
- content: ','
160
+ content: ',';
166
161
  }
167
162
  }
168
163
 
@@ -171,7 +166,7 @@ html {
171
166
  border-collapse: collapse;
172
167
  border-color: inherit;
173
168
  color: #212529;
174
- margin-bottom: .875rem;
169
+ margin-bottom: 0.875rem;
175
170
  table-layout: fixed;
176
171
  text-indent: 0;
177
172
  width: 100%;
@@ -182,4 +177,4 @@ html {
182
177
  padding: 0.5em;
183
178
  }
184
179
  }
185
- }
180
+ }
@@ -1,93 +1,89 @@
1
1
  .content-grid {
2
- --padding-inline: 1rem;
3
- --content-max-width: 900px;
4
- --breakout-max-width: 1200px;
2
+ --padding-inline: 1rem;
3
+ --content-max-width: 900px;
4
+ --breakout-max-width: 1200px;
5
5
 
6
- --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);
6
+ --breakout-size: calc((var(--breakout-max-width) - var(--content-max-width)) / 2);
7
+
8
+ display: grid;
9
+ grid-template-columns:
10
+ [full-width-start] minmax(var(--padding-inline), 1fr)
11
+ [breakout-start] minmax(0, var(--breakout-size))
12
+ [content-start] min(100% - (var(--padding-inline) * 2), var(--content-max-width))
13
+ [content-end]
14
+ minmax(0, var(--breakout-size)) [breakout-end]
15
+ minmax(var(--padding-inline), 1fr) [full-width-end];
16
+
17
+ > :not(.breakout, .full-width),
18
+ .full-width > :not(.breakout, .full-width) {
19
+ grid-column: content;
20
+ }
21
+
22
+ > .breakout {
23
+ grid-column: breakout;
24
+ }
25
+
26
+ > .full-width {
27
+ grid-column: full-width;
7
28
 
8
29
  display: grid;
9
- grid-template-columns:
10
- [full-width-start] minmax(var(--padding-inline), 1fr)
11
- [breakout-start] minmax(0, var(--breakout-size))
12
- [content-start] min(
13
- 100% - (var(--padding-inline) * 2),
14
- var(--content-max-width)
15
- )
16
- [content-end]
17
- minmax(0, var(--breakout-size)) [breakout-end]
18
- minmax(var(--padding-inline), 1fr) [full-width-end];
19
-
20
- > :not(.breakout, .full-width),
21
- .full-width> :not(.breakout, .full-width) {
22
- grid-column: content;
23
- }
24
-
25
- >.breakout {
26
- grid-column: breakout;
27
- }
28
-
29
- >.full-width {
30
- grid-column: full-width;
31
-
32
- display: grid;
33
- grid-template-columns: inherit;
34
- }
35
-
30
+ grid-template-columns: inherit;
31
+ }
36
32
  }
37
33
 
38
34
  img.full-width {
39
- width: 100%;
40
- max-height: 45vh;
41
- object-fit: cover;
35
+ width: 100%;
36
+ max-height: 45vh;
37
+ object-fit: cover;
42
38
  }
43
39
 
44
40
  *,
45
41
  *::before,
46
42
  *::after {
47
- box-sizing: border-box;
43
+ box-sizing: border-box;
48
44
  }
49
45
 
50
46
  .article-title {
51
- @apply font-textbold;
52
- font-size: var(--fs-800);
53
- line-height: 1.05;
54
- text-transform: uppercase;
47
+ @apply font-textbold;
48
+ font-size: var(--fs-800);
49
+ line-height: 1.05;
50
+ text-transform: uppercase;
55
51
  }
56
52
 
57
53
  .section-title {
58
- font-size: var(--fs-800);
59
- line-height: 1.1;
54
+ font-size: var(--fs-800);
55
+ line-height: 1.1;
60
56
  }
61
57
 
62
58
  .visually-hidden {
63
- clip: rect(0 0 0 0);
64
- clip-path: inset(50%);
65
- height: 1px;
66
- overflow: hidden;
67
- position: absolute;
68
- white-space: nowrap;
69
- width: 1px;
59
+ clip: rect(0 0 0 0);
60
+ clip-path: inset(50%);
61
+ height: 1px;
62
+ overflow: hidden;
63
+ position: absolute;
64
+ white-space: nowrap;
65
+ width: 1px;
70
66
  }
71
67
 
72
68
  .call-to-action {
73
- @apply px-8 py-6;
69
+ @apply px-8 py-6;
74
70
  }
75
71
 
76
72
  .wrapper {
77
- width: calc(100% - 3rem);
78
- max-width: var(--content-max-width);
79
- margin-inline: auto;
73
+ width: calc(100% - 3rem);
74
+ max-width: var(--content-max-width);
75
+ margin-inline: auto;
80
76
  }
81
77
 
82
- .flow>*+* {
83
- margin-top: var(--flow-spacing, 1em);
78
+ .flow > * + * {
79
+ margin-top: var(--flow-spacing, 1em);
84
80
  }
85
81
 
86
82
  .section-padding {
87
- padding-block: 2.5rem;
83
+ padding-block: 2.5rem;
88
84
  }
89
85
 
90
86
  .even-columns {
91
- display: flex;
92
- gap: 1rem;
93
- }
87
+ display: flex;
88
+ gap: 1rem;
89
+ }