spoko-design-system 0.2.41 → 0.2.43

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 (158) hide show
  1. package/.env.example +2 -0
  2. package/.github/dependabot.yml +11 -11
  3. package/.github/todo.yml +3 -3
  4. package/.github/workflows/deploy.yml +39 -39
  5. package/.stackblitzrc +5 -5
  6. package/.vscode/extensions.json +5 -5
  7. package/.vscode/launch.json +11 -11
  8. package/.vscode/settings.json +5 -5
  9. package/LICENSE +21 -21
  10. package/README.md +113 -113
  11. package/astro-i18next.config.mjs +17 -17
  12. package/astro-i18next.config.ts +10 -10
  13. package/astro.config.mjs +147 -147
  14. package/dev-dist/sw.js +91 -91
  15. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  16. package/index.ts +51 -58
  17. package/package.json +3 -2
  18. package/public/fonts/lg.svg +53 -53
  19. package/public/fonts/vwhead-bold-demo.html +549 -549
  20. package/public/fonts/vwhead-regular-demo.html +549 -549
  21. package/public/fonts/vwtext-bold-demo.html +549 -549
  22. package/public/fonts/vwtext-regular-demo.html +549 -549
  23. package/public/github.svg +3 -3
  24. package/public/grid_dot.svg +4 -4
  25. package/public/linkedin.svg +44 -44
  26. package/public/locales/en/translation.json +8 -8
  27. package/public/locales/pl/translation.json +8 -8
  28. package/public/make-scrollable-code-focusable.js +3 -3
  29. package/public/pagefind.yml +3 -3
  30. package/public/polo.blue.svg +29 -29
  31. package/public/spoko.space.svg +71 -71
  32. package/public/twitter.svg +46 -46
  33. package/renovate.json +6 -6
  34. package/sandbox.config.json +11 -11
  35. package/src/MyComponent.astro +8 -8
  36. package/src/components/Badge.vue +19 -19
  37. package/src/components/Badges.vue +21 -21
  38. package/src/components/Breadcrumbs.vue +110 -110
  39. package/src/components/Button.vue +55 -55
  40. package/src/components/ButtonCopy.vue +47 -47
  41. package/src/components/Card.astro +27 -27
  42. package/src/components/Carousel.astro +26 -26
  43. package/src/components/Category/CategoriesCarousel.astro +101 -101
  44. package/src/components/Category/CategoriesSidebar.astro +186 -186
  45. package/src/components/Category/CategoryDetails.astro +82 -82
  46. package/src/components/Category/CategoryLink.vue +23 -23
  47. package/src/components/Category/CategorySection.astro +69 -69
  48. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  49. package/src/components/Category/SubCategoryLink.vue +29 -29
  50. package/src/components/CategoryLink.astro +18 -18
  51. package/src/components/Copyright.astro +12 -12
  52. package/src/components/Date.astro +7 -7
  53. package/src/components/Faq.astro +33 -33
  54. package/src/components/FaqItem.astro +96 -96
  55. package/src/components/FeaturesList.vue +41 -41
  56. package/src/components/FuckRussia.vue +80 -80
  57. package/src/components/HandDrive.astro +29 -29
  58. package/src/components/Header/Header.astro +214 -214
  59. package/src/components/Header/SkipToContent.astro +1 -1
  60. package/src/components/Headline.vue +48 -48
  61. package/src/components/Image.astro +30 -30
  62. package/src/components/Jumbatron.vue +40 -40
  63. package/src/components/LeftSidebar.astro +53 -53
  64. package/src/components/MainColors.vue +23 -23
  65. package/src/components/MainInput.vue +15 -15
  66. package/src/components/Modal.astro +27 -27
  67. package/src/components/PageContent.astro +5 -5
  68. package/src/components/PartNumber.vue +27 -27
  69. package/src/components/PostHeader.astro +103 -103
  70. package/src/components/PrCode.vue +156 -156
  71. package/src/components/Product/ProductButton.vue +18 -18
  72. package/src/components/Product/ProductCodes.vue +167 -167
  73. package/src/components/Product/ProductEngineType.vue +42 -42
  74. package/src/components/Product/ProductImage.astro +41 -41
  75. package/src/components/Product/ProductLinkInfo.astro +37 -37
  76. package/src/components/Product/ProductNumber.astro +104 -104
  77. package/src/components/ProductCarousel.astro +38 -38
  78. package/src/components/ProductCodes.vue +39 -39
  79. package/src/components/ProductDetailName.vue +52 -52
  80. package/src/components/ProductDetailsList.vue +65 -65
  81. package/src/components/ProductNumber copy.astro +116 -116
  82. package/src/components/ProductNumber.astro +104 -104
  83. package/src/components/ProductTile.astro +48 -48
  84. package/src/components/Quote.vue +23 -23
  85. package/src/components/ReloadPrompt.astro +50 -50
  86. package/src/components/SlimBanner.vue +72 -72
  87. package/src/components/Table.vue +32 -32
  88. package/src/components/TableOfContents.astro +15 -15
  89. package/src/components/Translations.vue +23 -23
  90. package/src/components/flags/FlagPL.vue +3 -3
  91. package/src/components/flags/FlagUA.vue +2 -2
  92. package/src/components/layout/Container.astro +7 -7
  93. package/src/components/layout/Header.astro +80 -80
  94. package/src/config.ts +56 -56
  95. package/src/design.config.ts +81 -81
  96. package/src/env.d.ts +1 -1
  97. package/src/layouts/Layout.astro +60 -60
  98. package/src/layouts/MainLayout.astro +81 -81
  99. package/src/layouts/partials/FooterCommon.astro +4 -4
  100. package/src/layouts/partials/HeadCommon.astro +44 -44
  101. package/src/layouts/partials/HeadSEO.astro +41 -41
  102. package/src/pages/components/badges.mdx +57 -57
  103. package/src/pages/components/breadcrumbs.mdx +139 -139
  104. package/src/pages/components/buttons.mdx +236 -236
  105. package/src/pages/components/card.mdx +294 -294
  106. package/src/pages/components/carousel.mdx +62 -62
  107. package/src/pages/components/copyright.mdx +42 -42
  108. package/src/pages/components/details-list.mdx +115 -115
  109. package/src/pages/components/features-list.mdx +37 -37
  110. package/src/pages/components/flags.mdx +49 -49
  111. package/src/pages/components/fuck-russia.mdx +39 -39
  112. package/src/pages/components/hand-drive.mdx +38 -38
  113. package/src/pages/components/headline.mdx +152 -152
  114. package/src/pages/components/icons.astro +48 -48
  115. package/src/pages/components/image.mdx +513 -513
  116. package/src/pages/components/input.mdx +45 -45
  117. package/src/pages/components/jumbatron.mdx +95 -95
  118. package/src/pages/components/modal.mdx +64 -64
  119. package/src/pages/components/post-header.mdx +60 -60
  120. package/src/pages/components/pr-code.mdx +65 -65
  121. package/src/pages/components/product-number.mdx +66 -66
  122. package/src/pages/components/product-tile.mdx +51 -51
  123. package/src/pages/components/quote.mdx +33 -33
  124. package/src/pages/components/slimbanner.mdx +35 -35
  125. package/src/pages/components/table.mdx +108 -108
  126. package/src/pages/core/colors.mdx +10 -10
  127. package/src/pages/core/grid.mdx +89 -89
  128. package/src/pages/core/introduction.mdx +77 -77
  129. package/src/pages/core/shadows.astro +20 -20
  130. package/src/pages/core/typography.astro +47 -47
  131. package/src/pages/index.astro +126 -126
  132. package/src/pages/patterns/introduction.mdx +60 -60
  133. package/src/pwa.ts +12 -12
  134. package/src/styles/_variables.scss +70 -70
  135. package/src/styles/base/base.css +184 -184
  136. package/src/styles/base/grid.css +92 -92
  137. package/src/styles/base/typography.css +70 -70
  138. package/src/styles/content.css +73 -73
  139. package/src/styles/main.css +7 -7
  140. package/src/types/Product.ts +31 -31
  141. package/src/types/astro.d.ts +4 -5
  142. package/src/types/index.ts +237 -0
  143. package/src/utils/api/getCategories.ts +3 -0
  144. package/src/utils/category/getMainCategoryList.ts +31 -0
  145. package/src/utils/category/getSortedCategories.ts +11 -0
  146. package/src/utils/getData.ts +52 -0
  147. package/src/utils/product/getPriceFormatted.ts +16 -14
  148. package/src/utils/product/getProductChecklist.ts +17 -15
  149. package/src/utils/seo/getShorterDescription.ts +14 -12
  150. package/src/utils/text/formatDate.ts +5 -5
  151. package/src/utils/text/formatLocaleNumber.ts +6 -6
  152. package/src/utils/text/formatPad.ts +12 -11
  153. package/src/utils/text/getNumberFormatted.ts +33 -32
  154. package/src/utils/text/getTranslatedLink.ts +7 -5
  155. package/src/utils/text.ts +42 -42
  156. package/tailwind.config.cjs +8 -8
  157. package/tsconfig.json +28 -11
  158. package/uno.config.ts +256 -256
@@ -1,157 +1,157 @@
1
- <script lang="ts" setup>
2
- /*
3
- VAG group (VW/Audi/Skoda/Seat/Porsche/Bentley/Lamborghini/Ducati/Cupra/Scania/MAN) manufacturer PR-Code
4
- */
5
-
6
- import type { PropType } from 'vue'
7
-
8
- const props = defineProps({
9
- prcode: {
10
- type: String,
11
- default: null,
12
- required: true,
13
- },
14
- isPdp: {
15
- type: Boolean,
16
- default: false,
17
- required: false,
18
- },
19
- })
20
- </script>
21
-
22
- <template>
23
- <span data-pagefind-filter="PR-Code" class="btn-prcode "
24
- :class="`btn-prcode--${props.prcode} ${props.isPdp ? ' btn-prcode--pdp' : ''}`">
25
- {{ props.prcode }}
26
- </span>
27
- </template>
28
-
29
- <style lang="scss" scoped>
30
- .btn-prcode {
31
-
32
- &--pdp {
33
- @apply mb-1
34
- }
35
-
36
- &:before {
37
- @apply rounded-2 shadow-sm py-0.5 px-2 bg-gray-100 whitespace-nowrap text-xs dark:text-black dark:bg-lightBlue-500 text-center z-50;
38
-
39
- display: none;
40
- position: absolute;
41
- top: -10px;
42
- transform: translateY(-50%) translateX(-50%);
43
- left: 50%;
44
- }
45
-
46
- &:hover:before {
47
- display: block;
48
- }
49
-
50
- &--2JK {
51
- color: #f3881d;
52
-
53
- &:before {
54
- content: 'CROSS';
55
- }
56
- }
57
-
58
- &--1LR,
59
- &--1ZG,
60
- &--1ZJ {
61
- &:before {
62
- content: '⌀ 256 mm';
63
- }
64
- }
65
-
66
- &--1KD,
67
- &--1ZP,
68
- &--1ZR {
69
- &:before {
70
- content: '⌀ 310 mm';
71
- }
72
- }
73
-
74
- &--1ZD,
75
- &--1ZC,
76
- &--1LN {
77
- &:before {
78
- content: '⌀ 288 mm; LUCAS';
79
- }
80
- }
81
-
82
- &--2JZ {
83
- @apply: text-lightBlue-500;
84
-
85
- &:before {
86
- content: 'Bluemotion';
87
- }
88
- }
89
-
90
- &--7L6 {
91
- @apply: text-lightBlue-500;
92
-
93
- &:before {
94
- content: 'Bluemotion (CFWA + start-stop)';
95
- }
96
- }
97
-
98
- &--1KK,
99
- &--1KT,
100
- &--1KV,
101
- &--1LV,
102
- &--2EJ {
103
- &:before {
104
- content: '⌀ 230 mm';
105
- }
106
- }
107
-
108
- &--2JE {
109
- @apply text-lightBlue-700;
110
-
111
- &:before {
112
- content: 'BlueGT';
113
- }
114
- }
115
-
116
- &--2JP {
117
- &:before {
118
- content: 'R-Line';
119
- }
120
- }
121
-
122
- // WRC Street R
123
- &--E5M,
124
-
125
- // emblems/stickers
126
- &--1KD,
127
-
128
- //brakes
129
- &--1ZP,
130
-
131
- //brakes
132
- &--2JQ,
133
-
134
- //bumpers / engine parts
135
- &--TA2 {
136
- color: blue;
137
-
138
- &:before {
139
- content: 'R WRC Street';
140
- }
141
- }
142
-
143
- // GTI
144
- &--1KV,
145
- &--1ZD,
146
- &--1ZR,
147
- &--0NH,
148
- &--2JD {
149
- color: red;
150
-
151
- &:before {
152
- content: 'GTI';
153
- }
154
- }
155
-
156
- }
1
+ <script lang="ts" setup>
2
+ /*
3
+ VAG group (VW/Audi/Skoda/Seat/Porsche/Bentley/Lamborghini/Ducati/Cupra/Scania/MAN) manufacturer PR-Code
4
+ */
5
+
6
+ import type { PropType } from 'vue'
7
+
8
+ const props = defineProps({
9
+ prcode: {
10
+ type: String,
11
+ default: null,
12
+ required: true,
13
+ },
14
+ isPdp: {
15
+ type: Boolean,
16
+ default: false,
17
+ required: false,
18
+ },
19
+ })
20
+ </script>
21
+
22
+ <template>
23
+ <span data-pagefind-filter="PR-Code" class="btn-prcode "
24
+ :class="`btn-prcode--${props.prcode} ${props.isPdp ? ' btn-prcode--pdp' : ''}`">
25
+ {{ props.prcode }}
26
+ </span>
27
+ </template>
28
+
29
+ <style lang="scss" scoped>
30
+ .btn-prcode {
31
+
32
+ &--pdp {
33
+ @apply mb-1
34
+ }
35
+
36
+ &:before {
37
+ @apply rounded-2 shadow-sm py-0.5 px-2 bg-gray-100 whitespace-nowrap text-xs dark:text-black dark:bg-lightBlue-500 text-center z-50;
38
+
39
+ display: none;
40
+ position: absolute;
41
+ top: -10px;
42
+ transform: translateY(-50%) translateX(-50%);
43
+ left: 50%;
44
+ }
45
+
46
+ &:hover:before {
47
+ display: block;
48
+ }
49
+
50
+ &--2JK {
51
+ color: #f3881d;
52
+
53
+ &:before {
54
+ content: 'CROSS';
55
+ }
56
+ }
57
+
58
+ &--1LR,
59
+ &--1ZG,
60
+ &--1ZJ {
61
+ &:before {
62
+ content: '⌀ 256 mm';
63
+ }
64
+ }
65
+
66
+ &--1KD,
67
+ &--1ZP,
68
+ &--1ZR {
69
+ &:before {
70
+ content: '⌀ 310 mm';
71
+ }
72
+ }
73
+
74
+ &--1ZD,
75
+ &--1ZC,
76
+ &--1LN {
77
+ &:before {
78
+ content: '⌀ 288 mm; LUCAS';
79
+ }
80
+ }
81
+
82
+ &--2JZ {
83
+ @apply: text-lightBlue-500;
84
+
85
+ &:before {
86
+ content: 'Bluemotion';
87
+ }
88
+ }
89
+
90
+ &--7L6 {
91
+ @apply: text-lightBlue-500;
92
+
93
+ &:before {
94
+ content: 'Bluemotion (CFWA + start-stop)';
95
+ }
96
+ }
97
+
98
+ &--1KK,
99
+ &--1KT,
100
+ &--1KV,
101
+ &--1LV,
102
+ &--2EJ {
103
+ &:before {
104
+ content: '⌀ 230 mm';
105
+ }
106
+ }
107
+
108
+ &--2JE {
109
+ @apply text-lightBlue-700;
110
+
111
+ &:before {
112
+ content: 'BlueGT';
113
+ }
114
+ }
115
+
116
+ &--2JP {
117
+ &:before {
118
+ content: 'R-Line';
119
+ }
120
+ }
121
+
122
+ // WRC Street R
123
+ &--E5M,
124
+
125
+ // emblems/stickers
126
+ &--1KD,
127
+
128
+ //brakes
129
+ &--1ZP,
130
+
131
+ //brakes
132
+ &--2JQ,
133
+
134
+ //bumpers / engine parts
135
+ &--TA2 {
136
+ color: blue;
137
+
138
+ &:before {
139
+ content: 'R WRC Street';
140
+ }
141
+ }
142
+
143
+ // GTI
144
+ &--1KV,
145
+ &--1ZD,
146
+ &--1ZR,
147
+ &--0NH,
148
+ &--2JD {
149
+ color: red;
150
+
151
+ &:before {
152
+ content: 'GTI';
153
+ }
154
+ }
155
+
156
+ }
157
157
  </style>
@@ -1,18 +1,18 @@
1
- <script setup lang="ts">
2
- const props = defineProps({
3
- shadow: {
4
- type: Boolean,
5
- default: false,
6
- required: false,
7
- },
8
- })
9
- </script>
10
-
11
- <template>
12
- <button
13
- class="product-button"
14
- :class="props.shadow ? 'drop-shadow hover:(drop-shadow-md)' : ''"
15
- >
16
- <slot />
17
- </button>
18
- </template>
1
+ <script setup lang="ts">
2
+ const props = defineProps({
3
+ shadow: {
4
+ type: Boolean,
5
+ default: false,
6
+ required: false,
7
+ },
8
+ })
9
+ </script>
10
+
11
+ <template>
12
+ <button
13
+ class="product-button"
14
+ :class="props.shadow ? 'drop-shadow hover:(drop-shadow-md)' : ''"
15
+ >
16
+ <slot />
17
+ </button>
18
+ </template>
@@ -1,167 +1,167 @@
1
- <script lang="ts" setup>
2
- import type { PropType } from 'vue'
3
-
4
- const props = defineProps({
5
- prcodes: {
6
- type: Object as PropType<string[] | null>,
7
- default: null,
8
- required: true,
9
- },
10
- isPdp: {
11
- type: Boolean,
12
- default: false,
13
- required: false,
14
- },
15
- })
16
-
17
- const codes = props.prcodes || []
18
- const decodedCodes = codes ? codes.sort() : []
19
-
20
- const settings = {
21
- prcodes: decodedCodes,
22
- }
23
- </script>
24
-
25
- <template>
26
-
27
- <span
28
- v-for="(prcode, index) in settings.prcodes"
29
- :key="index"
30
- class="not-last:mr-1"
31
- >
32
- <span data-pagefind-filter="PR-Code"
33
- v-if="!String(prcode).includes('+')"
34
- class="btn-prcode "
35
- :class="`btn-prcode--${prcode}`"
36
- >
37
- {{ prcode }}
38
- </span>
39
- <span v-else >
40
- <span v-for="(splittedCode, index2) in String(prcode).split('+')" :key="index2" class="btn-prcode" :class="`btn-prcode--${splittedCode} ${isPdp ? ' btn-prcode--pdp' : ''}` " data-pagefind-filter="PR-Code">
41
- {{ splittedCode }}
42
- </span>
43
- </span>
44
- </span>
45
-
46
- </template>
47
-
48
- <style lang="scss" scoped>
49
- .btn-prcode {
50
- @apply relative inline-block leading-none px-1 py-0.5 mr-1 cursor-pointer font-mono border-solid border-1 border-gray-200 select-none text-gray-500 last:mr-0 dark:border-white dark:border-opacity-10 dark:text-gray-300 dark:bg-white dark:bg-opacity-30 not-last:mr-2 not-last:after:content-[+] dark:after:text-white/50 after:pl-0.5 after:text-blue-700 after:absolute after:w-4 text-center;
51
-
52
- &--pdp {
53
- @apply mb-1
54
- }
55
-
56
- &:before {
57
- @apply rounded-2 shadow-sm py-0.5 px-2 bg-gray-100 whitespace-nowrap text-xs dark:text-black dark:bg-lightBlue-500;
58
-
59
- display: none;
60
- position: absolute;
61
- text-align: center;
62
- // bottom: 100%;
63
- top: -10px;
64
- transform: translateY(-50%) translateX(-50%);
65
- left: 50%;
66
- z-index: 50;
67
- }
68
-
69
- &:hover:before {
70
- display:block;
71
- }
72
-
73
- &--2JK {
74
- color: #f3881d;
75
- &:before {
76
- content: 'CROSS';
77
- }
78
- }
79
-
80
- &--1LR,
81
- &--1ZG,
82
- &--1ZJ {
83
- &:before {
84
- content: '⌀ 256 mm';
85
- }
86
- }
87
-
88
- &--1KD,
89
- &--1ZP,
90
- &--1ZR {
91
- &:before {
92
- content: '⌀ 310 mm';
93
- }
94
- }
95
-
96
- &--1ZD,
97
- &--1ZC,
98
- &--1LN {
99
- &:before {
100
- content: '⌀ 288 mm; LUCAS';
101
- }
102
- }
103
-
104
- &--2JZ {
105
- @apply: text-lightBlue-500;
106
- &:before {
107
- content: 'Bluemotion';
108
- }
109
- }
110
-
111
- &--7L6 {
112
- @apply: text-lightBlue-500;
113
- &:before {
114
- content: 'Bluemotion (CFWA + start-stop)';
115
- }
116
- }
117
-
118
- &--1KK,
119
- &--1KT,
120
- &--1KV,
121
- &--1LV,
122
- &--2EJ {
123
- &:before {
124
- content: '⌀ 230 mm';
125
- }
126
- }
127
-
128
- &--2JE {
129
- @apply text-lightBlue-700;
130
-
131
- &:before {
132
- content: 'BlueGT';
133
- }
134
- }
135
-
136
- &--2JP {
137
- &:before {
138
- content: 'R-Line';
139
- }
140
- }
141
-
142
- // WRC Street R
143
- &--E5M, // emblems/stickers
144
- &--1KD, //brakes
145
- &--1ZP, //brakes
146
- &--2JQ,//bumpers
147
- &--TA2 { //engine parts
148
- color: blue;
149
- &:before {
150
- content: 'R WRC Street';
151
- }
152
- }
153
-
154
- // GTI
155
- &--1KV,
156
- &--1ZD,
157
- &--1ZR,
158
- &--0NH,
159
- &--2JD {
160
- color: red;
161
- &:before {
162
- content: 'GTI';
163
- }
164
- }
165
-
166
- }
167
- </style>
1
+ <script lang="ts" setup>
2
+ import type { PropType } from 'vue'
3
+
4
+ const props = defineProps({
5
+ prcodes: {
6
+ type: Object as PropType<string[] | null>,
7
+ default: null,
8
+ required: true,
9
+ },
10
+ isPdp: {
11
+ type: Boolean,
12
+ default: false,
13
+ required: false,
14
+ },
15
+ })
16
+
17
+ const codes = props.prcodes || []
18
+ const decodedCodes = codes ? codes.sort() : []
19
+
20
+ const settings = {
21
+ prcodes: decodedCodes,
22
+ }
23
+ </script>
24
+
25
+ <template>
26
+
27
+ <span
28
+ v-for="(prcode, index) in settings.prcodes"
29
+ :key="index"
30
+ class="not-last:mr-1"
31
+ >
32
+ <span data-pagefind-filter="PR-Code"
33
+ v-if="!String(prcode).includes('+')"
34
+ class="btn-prcode "
35
+ :class="`btn-prcode--${prcode}`"
36
+ >
37
+ {{ prcode }}
38
+ </span>
39
+ <span v-else >
40
+ <span v-for="(splittedCode, index2) in String(prcode).split('+')" :key="index2" class="btn-prcode" :class="`btn-prcode--${splittedCode} ${isPdp ? ' btn-prcode--pdp' : ''}` " data-pagefind-filter="PR-Code">
41
+ {{ splittedCode }}
42
+ </span>
43
+ </span>
44
+ </span>
45
+
46
+ </template>
47
+
48
+ <style lang="scss" scoped>
49
+ .btn-prcode {
50
+ @apply relative inline-block leading-none px-1 py-0.5 mr-1 cursor-pointer font-mono border-solid border-1 border-gray-200 select-none text-gray-500 last:mr-0 dark:border-white dark:border-opacity-10 dark:text-gray-300 dark:bg-white dark:bg-opacity-30 not-last:mr-2 not-last:after:content-[+] dark:after:text-white/50 after:pl-0.5 after:text-blue-700 after:absolute after:w-4 text-center;
51
+
52
+ &--pdp {
53
+ @apply mb-1
54
+ }
55
+
56
+ &:before {
57
+ @apply rounded-2 shadow-sm py-0.5 px-2 bg-gray-100 whitespace-nowrap text-xs dark:text-black dark:bg-lightBlue-500;
58
+
59
+ display: none;
60
+ position: absolute;
61
+ text-align: center;
62
+ // bottom: 100%;
63
+ top: -10px;
64
+ transform: translateY(-50%) translateX(-50%);
65
+ left: 50%;
66
+ z-index: 50;
67
+ }
68
+
69
+ &:hover:before {
70
+ display:block;
71
+ }
72
+
73
+ &--2JK {
74
+ color: #f3881d;
75
+ &:before {
76
+ content: 'CROSS';
77
+ }
78
+ }
79
+
80
+ &--1LR,
81
+ &--1ZG,
82
+ &--1ZJ {
83
+ &:before {
84
+ content: '⌀ 256 mm';
85
+ }
86
+ }
87
+
88
+ &--1KD,
89
+ &--1ZP,
90
+ &--1ZR {
91
+ &:before {
92
+ content: '⌀ 310 mm';
93
+ }
94
+ }
95
+
96
+ &--1ZD,
97
+ &--1ZC,
98
+ &--1LN {
99
+ &:before {
100
+ content: '⌀ 288 mm; LUCAS';
101
+ }
102
+ }
103
+
104
+ &--2JZ {
105
+ @apply: text-lightBlue-500;
106
+ &:before {
107
+ content: 'Bluemotion';
108
+ }
109
+ }
110
+
111
+ &--7L6 {
112
+ @apply: text-lightBlue-500;
113
+ &:before {
114
+ content: 'Bluemotion (CFWA + start-stop)';
115
+ }
116
+ }
117
+
118
+ &--1KK,
119
+ &--1KT,
120
+ &--1KV,
121
+ &--1LV,
122
+ &--2EJ {
123
+ &:before {
124
+ content: '⌀ 230 mm';
125
+ }
126
+ }
127
+
128
+ &--2JE {
129
+ @apply text-lightBlue-700;
130
+
131
+ &:before {
132
+ content: 'BlueGT';
133
+ }
134
+ }
135
+
136
+ &--2JP {
137
+ &:before {
138
+ content: 'R-Line';
139
+ }
140
+ }
141
+
142
+ // WRC Street R
143
+ &--E5M, // emblems/stickers
144
+ &--1KD, //brakes
145
+ &--1ZP, //brakes
146
+ &--2JQ,//bumpers
147
+ &--TA2 { //engine parts
148
+ color: blue;
149
+ &:before {
150
+ content: 'R WRC Street';
151
+ }
152
+ }
153
+
154
+ // GTI
155
+ &--1KV,
156
+ &--1ZD,
157
+ &--1ZR,
158
+ &--0NH,
159
+ &--2JD {
160
+ color: red;
161
+ &:before {
162
+ content: 'GTI';
163
+ }
164
+ }
165
+
166
+ }
167
+ </style>