spoko-design-system 0.2.48 → 0.2.50

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 (154) hide show
  1. package/.github/dependabot.yml +11 -11
  2. package/.github/todo.yml +3 -3
  3. package/.github/workflows/deploy.yml +39 -39
  4. package/.stackblitzrc +5 -5
  5. package/.vscode/extensions.json +5 -5
  6. package/.vscode/launch.json +11 -11
  7. package/.vscode/settings.json +5 -5
  8. package/LICENSE +21 -21
  9. package/README.md +113 -113
  10. package/astro-i18next.config.mjs +17 -17
  11. package/astro-i18next.config.ts +10 -10
  12. package/astro.config.mjs +147 -147
  13. package/dev-dist/sw.js +91 -91
  14. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  15. package/index.ts +63 -61
  16. package/package.json +109 -109
  17. package/public/fonts/lg.svg +53 -53
  18. package/public/fonts/vwhead-bold-demo.html +549 -549
  19. package/public/fonts/vwhead-regular-demo.html +549 -549
  20. package/public/fonts/vwtext-bold-demo.html +549 -549
  21. package/public/fonts/vwtext-regular-demo.html +549 -549
  22. package/public/github.svg +3 -3
  23. package/public/grid_dot.svg +4 -4
  24. package/public/linkedin.svg +44 -44
  25. package/public/locales/en/translation.json +8 -8
  26. package/public/locales/pl/translation.json +8 -8
  27. package/public/make-scrollable-code-focusable.js +3 -3
  28. package/public/pagefind.yml +3 -3
  29. package/public/polo.blue.svg +29 -29
  30. package/public/spoko.space.svg +71 -71
  31. package/public/twitter.svg +46 -46
  32. package/renovate.json +6 -6
  33. package/sandbox.config.json +11 -11
  34. package/src/MyComponent.astro +8 -8
  35. package/src/components/Badge.vue +19 -19
  36. package/src/components/Badges.vue +21 -21
  37. package/src/components/Breadcrumbs.vue +107 -107
  38. package/src/components/Button.vue +55 -55
  39. package/src/components/ButtonCopy.vue +36 -47
  40. package/src/components/Card.astro +27 -27
  41. package/src/components/Carousel.astro +26 -26
  42. package/src/components/Category/CategoriesCarousel.astro +101 -101
  43. package/src/components/Category/CategoriesSidebar.astro +186 -186
  44. package/src/components/Category/CategoryDetails.astro +82 -82
  45. package/src/components/Category/CategoryLink.vue +23 -23
  46. package/src/components/Category/CategorySection.astro +69 -69
  47. package/src/components/Category/CategorySidebarToggler.vue +9 -9
  48. package/src/components/Category/CategoryTile.astro +42 -42
  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 +62 -62
  57. package/src/components/HandDrive.astro +29 -29
  58. package/src/components/Header/Header.astro +210 -210
  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 +141 -141
  71. package/src/components/Product/ProductButton.vue +18 -18
  72. package/src/components/Product/ProductCodes.vue +174 -174
  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 +61 -105
  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/ProductTile.astro +48 -48
  82. package/src/components/Quote.vue +23 -23
  83. package/src/components/ReloadPrompt.astro +50 -50
  84. package/src/components/SlimBanner.vue +72 -72
  85. package/src/components/Table.vue +32 -32
  86. package/src/components/TableOfContents.astro +15 -15
  87. package/src/components/Translations.vue +23 -23
  88. package/src/components/flags/FlagPL.vue +3 -3
  89. package/src/components/flags/FlagUA.vue +2 -2
  90. package/src/components/layout/Container.astro +7 -7
  91. package/src/components/layout/Header.astro +80 -80
  92. package/src/config.ts +56 -56
  93. package/src/design.config.ts +81 -81
  94. package/src/env.d.ts +1 -1
  95. package/src/layouts/Layout.astro +60 -60
  96. package/src/layouts/MainLayout.astro +81 -81
  97. package/src/layouts/partials/FooterCommon.astro +4 -4
  98. package/src/layouts/partials/HeadCommon.astro +44 -44
  99. package/src/layouts/partials/HeadSEO.astro +41 -41
  100. package/src/pages/components/badges.mdx +57 -57
  101. package/src/pages/components/breadcrumbs.mdx +139 -139
  102. package/src/pages/components/buttons.mdx +236 -236
  103. package/src/pages/components/card.mdx +294 -294
  104. package/src/pages/components/carousel.mdx +62 -62
  105. package/src/pages/components/copyright.mdx +42 -42
  106. package/src/pages/components/details-list.mdx +115 -115
  107. package/src/pages/components/features-list.mdx +37 -37
  108. package/src/pages/components/flags.mdx +49 -49
  109. package/src/pages/components/fuck-russia.mdx +39 -39
  110. package/src/pages/components/hand-drive.mdx +38 -38
  111. package/src/pages/components/headline.mdx +152 -152
  112. package/src/pages/components/icons.astro +48 -48
  113. package/src/pages/components/image.mdx +513 -513
  114. package/src/pages/components/input.mdx +45 -45
  115. package/src/pages/components/jumbatron.mdx +95 -95
  116. package/src/pages/components/modal.mdx +64 -64
  117. package/src/pages/components/post-header.mdx +60 -60
  118. package/src/pages/components/pr-code.mdx +65 -65
  119. package/src/pages/components/product-number.mdx +59 -66
  120. package/src/pages/components/product-tile.mdx +51 -51
  121. package/src/pages/components/quote.mdx +33 -33
  122. package/src/pages/components/slimbanner.mdx +35 -35
  123. package/src/pages/components/table.mdx +108 -108
  124. package/src/pages/core/colors.mdx +10 -10
  125. package/src/pages/core/grid.mdx +89 -89
  126. package/src/pages/core/introduction.mdx +77 -77
  127. package/src/pages/core/shadows.astro +20 -20
  128. package/src/pages/core/typography.astro +47 -47
  129. package/src/pages/index.astro +126 -126
  130. package/src/pages/patterns/introduction.mdx +60 -60
  131. package/src/pwa.ts +12 -12
  132. package/src/styles/_variables.scss +70 -70
  133. package/src/styles/base/base.css +184 -184
  134. package/src/styles/base/grid.css +92 -92
  135. package/src/styles/base/typography.css +70 -70
  136. package/src/styles/content.css +73 -73
  137. package/src/styles/main.css +7 -7
  138. package/src/types/Product.ts +31 -31
  139. package/src/types/astro.d.ts +3 -3
  140. package/src/utils/product/getPriceFormatted.ts +15 -15
  141. package/src/utils/product/getProductChecklist.ts +17 -17
  142. package/src/utils/product/useFormatProductNumber.ts +42 -0
  143. package/src/utils/seo/getShorterDescription.ts +14 -14
  144. package/src/utils/text/formatDate.ts +5 -5
  145. package/src/utils/text/formatLocaleNumber.ts +6 -6
  146. package/src/utils/text/formatPad.ts +12 -12
  147. package/src/utils/text/getNumberFormatted.ts +33 -33
  148. package/src/utils/text/getTranslatedLink.ts +7 -7
  149. package/src/utils/text.ts +28 -43
  150. package/tailwind.config.cjs +8 -8
  151. package/tsconfig.json +28 -28
  152. package/uno.config.ts +256 -256
  153. package/src/components/ProductNumber copy.astro +0 -116
  154. package/src/components/ProductNumber.astro +0 -105
@@ -1,107 +1,107 @@
1
- <script setup lang="ts">
2
-
3
- export interface Breadcrumb {
4
- name: string,
5
- path: string
6
- }
7
-
8
- import type { PropType } from 'vue'
9
-
10
- const props = defineProps({
11
- showBack: {
12
- type: Boolean,
13
- required: false,
14
- },
15
- textBack: {
16
- type: String,
17
- required: false,
18
- default: 'Back'
19
- },
20
- showHome: {
21
- type: Boolean,
22
- required: false,
23
- },
24
- breadcrumbs: {
25
- type: Object as PropType<Breadcrumb[]>,
26
- required: true
27
- },
28
- productNumber: {
29
- type: String,
30
- required: false,
31
- default: null
32
- }
33
- })
34
-
35
- const isLast = (index: Number) => {
36
- return index === props.breadcrumbs.length - 1
37
- }
38
- </script>
39
-
40
- <template>
41
- <nav>
42
- <ul class="breadcrumbs flex items-center p-0 leading-none ">
43
- <li v-if="props.showBack" class="breadcrumb-item flex">
44
- <button
45
- class="breadcrumb-link flex items-center px-3 sm:px-0 py-4.25 sm:py-1 hover:text-lightBlue-500 whitespace-nowrap my-auto"
46
- :title="props.textBack" onclick="history.back()">
47
- <span class="block px-3" i-bx-bx-arrow-back />
48
- </button>
49
- </li>
50
- </ul>
51
- <ul class="breadcrumbs flex items-center p-0 overflow-x-auto overflow-y-hidden sm:mr-12 leading-none " itemscope
52
- itemtype="https://schema.org/BreadcrumbList">
53
- <li v-if="props.showHome" class="breadcrumb-item flex">
54
- <a href="/"
55
- class="breadcrumb-link flex items-center px-3 sm:px-0 py-4.25 sm:py-1 hover:text-lightBlue-400 whitespace-nowrap translate-y-0 text-sm my-auto px-3"
56
- :title="textBack" itemprop="item" i-carbon-home>
57
- </a>
58
- <meta itemprop="position" content="1">
59
- </li>
60
- <li v-for="(crumb, index) in breadcrumbs" :key="index" class="breadcrumb-item flex" itemprop="itemListElement"
61
- itemscope itemtype="https://schema.org/ListItem">
62
- <a v-if="!isLast(index)" :href="crumb.path" class="breadcrumb-link whitespace-nowrap py-4.25 sm:py-1 px-1"
63
- itemprop="item" :title="`Polo 6R ${crumb.name}`">
64
- <strong class="font-normal" itemprop="name">{{ crumb.name }}</strong>
65
- </a>
66
- <a v-else :href="crumb.path"
67
- class="breadcrumb-link breadcrumb-link--disabled whitespace-nowrap pointer-events-none py-4.25 sm:py-1 px-1"
68
- :title="`Polo 6R ${crumb.name} ${productNumber}`">
69
- <strong class="font-normal" itemprop="name" v-html="crumb.name" /> <b>{{ productNumber }}</b>
70
- </a>
71
- <meta itemprop="position" :content="String(props.showHome ? index + 2 : index + 1)">
72
- </li>
73
- </ul>
74
- </nav>
75
- </template>
76
-
77
- <style scoped>.breadcrumbs {
78
- list-style: none;
79
- font-size: 0.875rem;
80
- }
81
-
82
- .breadcrumb-item + .breadcrumb-item::before {
83
- @apply py-4.25 sm:py-1 px-1;
84
- display: inline-block;
85
- padding-right: .5rem;
86
- color: #bdbdbd;
87
- content: "/";
88
- }
89
-
90
- .breadcrumb-item b {
91
- @apply hidden sm:inline font-normal;
92
- }
93
-
94
- .breadcrumb-link {
95
- border: 0;
96
- cursor: pointer;
97
- }
98
-
99
- .breadcrumb-link--disabled {
100
- cursor: default;
101
- }
102
-
103
- .breadcrumb-link--disabled:hover {
104
- color: inherit;
105
- }
106
-
107
- </style>
1
+ <script setup lang="ts">
2
+
3
+ export interface Breadcrumb {
4
+ name: string,
5
+ path: string
6
+ }
7
+
8
+ import type { PropType } from 'vue'
9
+
10
+ const props = defineProps({
11
+ showBack: {
12
+ type: Boolean,
13
+ required: false,
14
+ },
15
+ textBack: {
16
+ type: String,
17
+ required: false,
18
+ default: 'Back'
19
+ },
20
+ showHome: {
21
+ type: Boolean,
22
+ required: false,
23
+ },
24
+ breadcrumbs: {
25
+ type: Object as PropType<Breadcrumb[]>,
26
+ required: true
27
+ },
28
+ productNumber: {
29
+ type: String,
30
+ required: false,
31
+ default: null
32
+ }
33
+ })
34
+
35
+ const isLast = (index: Number) => {
36
+ return index === props.breadcrumbs.length - 1
37
+ }
38
+ </script>
39
+
40
+ <template>
41
+ <nav>
42
+ <ul class="breadcrumbs flex items-center p-0 leading-none ">
43
+ <li v-if="props.showBack" class="breadcrumb-item flex">
44
+ <button
45
+ class="breadcrumb-link flex items-center px-3 sm:px-0 py-4.25 sm:py-1 hover:text-lightBlue-500 whitespace-nowrap my-auto"
46
+ :title="props.textBack" onclick="history.back()">
47
+ <span class="block px-3" i-bx-bx-arrow-back />
48
+ </button>
49
+ </li>
50
+ </ul>
51
+ <ul class="breadcrumbs flex items-center p-0 overflow-x-auto overflow-y-hidden sm:mr-12 leading-none " itemscope
52
+ itemtype="https://schema.org/BreadcrumbList">
53
+ <li v-if="props.showHome" class="breadcrumb-item flex">
54
+ <a href="/"
55
+ class="breadcrumb-link flex items-center px-3 sm:px-0 py-4.25 sm:py-1 hover:text-lightBlue-400 whitespace-nowrap translate-y-0 text-sm my-auto px-3"
56
+ :title="textBack" itemprop="item" i-carbon-home>
57
+ </a>
58
+ <meta itemprop="position" content="1">
59
+ </li>
60
+ <li v-for="(crumb, index) in breadcrumbs" :key="index" class="breadcrumb-item flex" itemprop="itemListElement"
61
+ itemscope itemtype="https://schema.org/ListItem">
62
+ <a v-if="!isLast(index)" :href="crumb.path" class="breadcrumb-link whitespace-nowrap py-4.25 sm:py-1 px-1"
63
+ itemprop="item" :title="`Polo 6R ${crumb.name}`">
64
+ <strong class="font-normal" itemprop="name">{{ crumb.name }}</strong>
65
+ </a>
66
+ <a v-else :href="crumb.path"
67
+ class="breadcrumb-link breadcrumb-link--disabled whitespace-nowrap pointer-events-none py-4.25 sm:py-1 px-1"
68
+ :title="`Polo 6R ${crumb.name} ${productNumber}`">
69
+ <strong class="font-normal" itemprop="name" v-html="crumb.name" /> <b>{{ productNumber }}</b>
70
+ </a>
71
+ <meta itemprop="position" :content="String(props.showHome ? index + 2 : index + 1)">
72
+ </li>
73
+ </ul>
74
+ </nav>
75
+ </template>
76
+
77
+ <style scoped>.breadcrumbs {
78
+ list-style: none;
79
+ font-size: 0.875rem;
80
+ }
81
+
82
+ .breadcrumb-item + .breadcrumb-item::before {
83
+ @apply py-4.25 sm:py-1 px-1;
84
+ display: inline-block;
85
+ padding-right: .5rem;
86
+ color: #bdbdbd;
87
+ content: "/";
88
+ }
89
+
90
+ .breadcrumb-item b {
91
+ @apply hidden sm:inline font-normal;
92
+ }
93
+
94
+ .breadcrumb-link {
95
+ border: 0;
96
+ cursor: pointer;
97
+ }
98
+
99
+ .breadcrumb-link--disabled {
100
+ cursor: default;
101
+ }
102
+
103
+ .breadcrumb-link--disabled:hover {
104
+ color: inherit;
105
+ }
106
+
107
+ </style>
@@ -1,56 +1,56 @@
1
- <script setup lang="ts">
2
-
3
- const props = defineProps<{
4
- href?: string;
5
- title?: string;
6
- primary?: boolean;
7
- primaryOutline?: boolean;
8
- secondary?: boolean;
9
- secondaryOutline?: boolean;
10
- tertiary?: boolean;
11
- tertiaryOutline?: boolean;
12
- text?: boolean;
13
- tag?: boolean;
14
- small?: boolean;
15
- medium?: boolean;
16
- rounded?: boolean;
17
- }>();
18
-
19
- const tag = props.href && props.href.length ? 'a' : 'button'
20
- const classes = {
21
- "btn-primary": props.primary,
22
- "btn-primary-outline": props.primaryOutline,
23
- "btn-secondary": props.secondary,
24
- "btn-secondary-outline": props.secondaryOutline,
25
- "btn-tertiary": props.tertiary,
26
- "btn-tertiary-outline": props.tertiaryOutline,
27
- "btn-text": props.text,
28
- "btn-tag": props.tag,
29
- "btn-sm": props.medium,
30
- "btn-xs": props.small,
31
- "btn-normal": !props.small && !props.medium,
32
- "rounded-full": props.rounded
33
- };
34
- </script>
35
-
36
- <template>
37
- <component :is="tag" :class="classes" :href="props.href" :title="props.title ? props.title : null">
38
- <slot></slot>
39
- </component>
40
- </template>
41
-
42
- <style>
43
- .btn-primary,
44
- .btn-secondary {
45
- svg {
46
- color: #fff;
47
- }
48
- }
49
-
50
- .btn-tertiary {
51
- svg {
52
- color: var(--primary);
53
- }
54
- }
55
-
1
+ <script setup lang="ts">
2
+
3
+ const props = defineProps<{
4
+ href?: string;
5
+ title?: string;
6
+ primary?: boolean;
7
+ primaryOutline?: boolean;
8
+ secondary?: boolean;
9
+ secondaryOutline?: boolean;
10
+ tertiary?: boolean;
11
+ tertiaryOutline?: boolean;
12
+ text?: boolean;
13
+ tag?: boolean;
14
+ small?: boolean;
15
+ medium?: boolean;
16
+ rounded?: boolean;
17
+ }>();
18
+
19
+ const tag = props.href && props.href.length ? 'a' : 'button'
20
+ const classes = {
21
+ "btn-primary": props.primary,
22
+ "btn-primary-outline": props.primaryOutline,
23
+ "btn-secondary": props.secondary,
24
+ "btn-secondary-outline": props.secondaryOutline,
25
+ "btn-tertiary": props.tertiary,
26
+ "btn-tertiary-outline": props.tertiaryOutline,
27
+ "btn-text": props.text,
28
+ "btn-tag": props.tag,
29
+ "btn-sm": props.medium,
30
+ "btn-xs": props.small,
31
+ "btn-normal": !props.small && !props.medium,
32
+ "rounded-full": props.rounded
33
+ };
34
+ </script>
35
+
36
+ <template>
37
+ <component :is="tag" :class="classes" :href="props.href" :title="props.title ? props.title : null">
38
+ <slot></slot>
39
+ </component>
40
+ </template>
41
+
42
+ <style>
43
+ .btn-primary,
44
+ .btn-secondary {
45
+ svg {
46
+ color: #fff;
47
+ }
48
+ }
49
+
50
+ .btn-tertiary {
51
+ svg {
52
+ color: var(--primary);
53
+ }
54
+ }
55
+
56
56
  </style>
@@ -1,47 +1,36 @@
1
- <script lang="ts" setup>
2
- import { useClipboard } from "@vueuse/core";
3
- import { Icon } from "@iconify/vue";
4
- import { PropType } from "vue";
5
-
6
- const props = defineProps({
7
- productNumber: {
8
- type: String,
9
- default: '',
10
- required: true,
11
- },
12
- tooltipClasses: {
13
- type: String,
14
- required: false,
15
- default: '',
16
- },
17
- texts: {
18
- type: Object as PropType<{ copy: String, copied: String }>,
19
- required: true,
20
- default: {
21
- copy: 'copy',
22
- copied: 'copied',
23
- }
24
- }
25
- })
26
- const source = props.productNumber;
27
- const { copy, copied, isSupported } = useClipboard({ source });
28
-
29
- </script>
30
-
31
- <template>
32
- <button v-if="isSupported" :aria-label="String(texts.copy)" class="btn-copy has-tooltip" @click="copy()">
33
- <span :class="`tooltip rounded-full btn-copy-text ${tooltipClasses}`"
34
- :data-text="!copied ? texts.copy : texts.copied" />
35
- <Icon icon="ph-copy-simple-light" class="leading-none w-full h-full" />
36
- </button>
37
- </template>
38
-
39
- <style>
40
- .tooltip {
41
- @apply invisible absolute;
42
- }
43
-
44
- .has-tooltip:hover .tooltip {
45
- @apply visible z-50;
46
- }
47
- </style>
1
+ <script lang="ts" setup>
2
+ import { useClipboard } from "@vueuse/core";
3
+ // import { Icon } from "@iconify/vue";
4
+
5
+ const props = defineProps({
6
+ productNumber: {
7
+ type: String,
8
+ default: null,
9
+ required: true,
10
+ },
11
+ tooltipClasses: {
12
+ type: String,
13
+ required: false,
14
+ default: '',
15
+ },
16
+ texts: {
17
+ type: Object as PropType<{ copy: String, copied: String }>,
18
+ required: true,
19
+ default: {
20
+ copy: 'copy',
21
+ copied: 'copied',
22
+ }
23
+ }
24
+ })
25
+ const source = props.productNumber;
26
+ const { copy, copied, isSupported } = useClipboard({ source, legacy: true });
27
+
28
+ </script>
29
+
30
+ <template>
31
+ <button :aria-label="texts.copy" class="btn-copy has-tooltip" @click="copy()">
32
+ <span :class="`tooltip rounded-full btn-copy-text ${tooltipClasses}`"
33
+ :data-text="!copied ? texts.copy : texts.copied" />
34
+ <span i-ph-copy-simple-light class="leading-none w-full h-full" />
35
+ </button>
36
+ </template>
@@ -1,27 +1,27 @@
1
- ---
2
- const { class: className, imgSrc, imgAlt, href } = Astro.props;
3
-
4
- import Image from "../components/Image.astro";
5
- ---
6
-
7
- <div
8
- class="bg-white border border-gray-200 rounded-lg shadow overflow-hidden"
9
- >
10
- <a href={href} class="aspect-ratio-video block relative">
11
- {
12
- imgSrc && (
13
- <Image
14
- imageObject={{
15
- src: imgSrc,
16
- alt: imgAlt,
17
- height: "405",
18
- width: "720",
19
- }}
20
- />
21
- )
22
- }
23
- </a>
24
- <div class="p-5">
25
- <slot />
26
- </div>
27
- </div>
1
+ ---
2
+ const { class: className, imgSrc, imgAlt, href } = Astro.props;
3
+
4
+ import Image from "../components/Image.astro";
5
+ ---
6
+
7
+ <div
8
+ class="bg-white border border-gray-200 rounded-lg shadow overflow-hidden"
9
+ >
10
+ <a href={href} class="aspect-ratio-video block relative">
11
+ {
12
+ imgSrc && (
13
+ <Image
14
+ imageObject={{
15
+ src: imgSrc,
16
+ alt: imgAlt,
17
+ height: "405",
18
+ width: "720",
19
+ }}
20
+ />
21
+ )
22
+ }
23
+ </a>
24
+ <div class="p-5">
25
+ <slot />
26
+ </div>
27
+ </div>
@@ -1,26 +1,26 @@
1
- ---
2
- export const productObject = {
3
- name: "Combi-instrument MFA+",
4
- url: "https://google.com",
5
- number: "6R0920870F",
6
- photo:
7
- "https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337",
8
- };
9
- ---
10
-
11
- <swiper-container
12
- class="max-w-full w-full flex overflow-hidden"
13
- grid-rows="1"
14
- mousewheel-force-to-axis="true"
15
- navigation="true"
16
- pagination-type="fraction"
17
- scrollbar="false"
18
- slides-per-view="auto"
19
- space-between="0"
20
- >
21
- <swiper-slide class="bg-blue-50 p-12 border-1 min-w-full">A</swiper-slide>
22
- <swiper-slide class="bg-blue-100 p-12 border-1 min-w-full">B</swiper-slide>
23
- <swiper-slide class="bg-blue-200 p-12 border-1 min-w-full">C</swiper-slide>
24
- <swiper-slide class="bg-blue-300 p-12 border-1 min-w-full">D</swiper-slide>
25
- <swiper-slide class="bg-blue-400 p-12 border-1 min-w-full">A</swiper-slide>
26
- </swiper-container>
1
+ ---
2
+ export const productObject = {
3
+ name: "Combi-instrument MFA+",
4
+ url: "https://google.com",
5
+ number: "6R0920870F",
6
+ photo:
7
+ "https://img.freepik.com/darmowe-wektory/tlo-retro-modeli-geometrycznych_52683-17902.jpg?w=1380&t=st=1706311337",
8
+ };
9
+ ---
10
+
11
+ <swiper-container
12
+ class="max-w-full w-full flex overflow-hidden"
13
+ grid-rows="1"
14
+ mousewheel-force-to-axis="true"
15
+ navigation="true"
16
+ pagination-type="fraction"
17
+ scrollbar="false"
18
+ slides-per-view="auto"
19
+ space-between="0"
20
+ >
21
+ <swiper-slide class="bg-blue-50 p-12 border-1 min-w-full">A</swiper-slide>
22
+ <swiper-slide class="bg-blue-100 p-12 border-1 min-w-full">B</swiper-slide>
23
+ <swiper-slide class="bg-blue-200 p-12 border-1 min-w-full">C</swiper-slide>
24
+ <swiper-slide class="bg-blue-300 p-12 border-1 min-w-full">D</swiper-slide>
25
+ <swiper-slide class="bg-blue-400 p-12 border-1 min-w-full">A</swiper-slide>
26
+ </swiper-container>