spoko-design-system 0.2.79 → 0.2.81

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 (155) 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 +65 -65
  16. package/package.json +3 -3
  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 -36
  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 +49 -49
  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/ProductCarousel.astro +35 -35
  73. package/src/components/Product/ProductCodes.vue +174 -174
  74. package/src/components/Product/ProductEngineType.vue +42 -42
  75. package/src/components/Product/ProductImage.astro +40 -40
  76. package/src/components/Product/ProductLink.astro +101 -101
  77. package/src/components/Product/ProductLink.vue +59 -59
  78. package/src/components/Product/ProductLinkInfo.astro +37 -37
  79. package/src/components/Product/ProductNumber.astro +61 -61
  80. package/src/components/ProductCarousel.astro +38 -38
  81. package/src/components/ProductCodes.vue +39 -39
  82. package/src/components/ProductDetailName.vue +52 -52
  83. package/src/components/ProductDetailsList.vue +65 -65
  84. package/src/components/ProductTile.astro +48 -48
  85. package/src/components/Quote.vue +23 -23
  86. package/src/components/ReloadPrompt.astro +50 -50
  87. package/src/components/SlimBanner.vue +72 -72
  88. package/src/components/Table.vue +32 -32
  89. package/src/components/TableOfContents.astro +15 -15
  90. package/src/components/Translations.vue +23 -23
  91. package/src/components/flags/FlagPL.vue +3 -3
  92. package/src/components/flags/FlagUA.vue +2 -2
  93. package/src/components/layout/Container.astro +7 -7
  94. package/src/components/layout/Header.astro +80 -80
  95. package/src/config.ts +56 -56
  96. package/src/design.config.ts +81 -81
  97. package/src/env.d.ts +1 -1
  98. package/src/layouts/Layout.astro +60 -60
  99. package/src/layouts/MainLayout.astro +81 -81
  100. package/src/layouts/partials/FooterCommon.astro +4 -4
  101. package/src/layouts/partials/HeadCommon.astro +44 -44
  102. package/src/layouts/partials/HeadSEO.astro +41 -41
  103. package/src/pages/components/badges.mdx +57 -57
  104. package/src/pages/components/breadcrumbs.mdx +139 -139
  105. package/src/pages/components/buttons.mdx +236 -236
  106. package/src/pages/components/card.mdx +294 -294
  107. package/src/pages/components/carousel.mdx +62 -62
  108. package/src/pages/components/copyright.mdx +42 -42
  109. package/src/pages/components/details-list.mdx +115 -115
  110. package/src/pages/components/features-list.mdx +37 -37
  111. package/src/pages/components/flags.mdx +49 -49
  112. package/src/pages/components/fuck-russia.mdx +39 -39
  113. package/src/pages/components/hand-drive.mdx +38 -38
  114. package/src/pages/components/headline.mdx +152 -152
  115. package/src/pages/components/icons.astro +48 -48
  116. package/src/pages/components/image.mdx +513 -513
  117. package/src/pages/components/input.mdx +45 -45
  118. package/src/pages/components/jumbatron.mdx +95 -95
  119. package/src/pages/components/modal.mdx +64 -64
  120. package/src/pages/components/post-header.mdx +60 -60
  121. package/src/pages/components/pr-code.mdx +65 -65
  122. package/src/pages/components/product-number.mdx +58 -58
  123. package/src/pages/components/product-tile.mdx +51 -51
  124. package/src/pages/components/quote.mdx +33 -33
  125. package/src/pages/components/slimbanner.mdx +35 -35
  126. package/src/pages/components/table.mdx +108 -108
  127. package/src/pages/core/colors.mdx +10 -10
  128. package/src/pages/core/grid.mdx +89 -89
  129. package/src/pages/core/introduction.mdx +77 -77
  130. package/src/pages/core/shadows.astro +20 -20
  131. package/src/pages/core/typography.astro +47 -47
  132. package/src/pages/index.astro +126 -126
  133. package/src/pages/patterns/introduction.mdx +60 -60
  134. package/src/pwa.ts +12 -12
  135. package/src/styles/_variables.scss +70 -70
  136. package/src/styles/base/base.css +184 -184
  137. package/src/styles/base/grid.css +92 -92
  138. package/src/styles/base/typography.css +70 -70
  139. package/src/styles/content.css +73 -73
  140. package/src/styles/main.css +7 -7
  141. package/src/types/Product.ts +31 -31
  142. package/src/types/astro.d.ts +3 -3
  143. package/src/utils/product/getPriceFormatted.ts +15 -15
  144. package/src/utils/product/getProductChecklist.ts +17 -17
  145. package/src/utils/product/useFormatProductNumber.ts +41 -41
  146. package/src/utils/seo/getShorterDescription.ts +14 -14
  147. package/src/utils/text/formatDate.ts +5 -5
  148. package/src/utils/text/formatLocaleNumber.ts +6 -6
  149. package/src/utils/text/formatPad.ts +12 -12
  150. package/src/utils/text/getNumberFormatted.ts +33 -33
  151. package/src/utils/text/getTranslatedLink.ts +5 -5
  152. package/src/utils/text.ts +28 -28
  153. package/tailwind.config.cjs +8 -8
  154. package/tsconfig.json +28 -28
  155. package/uno.config.ts +256 -256
@@ -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,36 +1,36 @@
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
+ <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>