spoko-design-system 0.2.20 → 0.2.21

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 (126) 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 +141 -141
  13. package/dev-dist/sw.js +91 -91
  14. package/dev-dist/workbox-c676b6d3.js +3391 -3391
  15. package/index.ts +6 -6
  16. package/package.json +95 -95
  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 +110 -110
  38. package/src/components/Button.vue +55 -55
  39. package/src/components/ButtonCopy.vue +47 -47
  40. package/src/components/Card.astro +27 -27
  41. package/src/components/Carousel.astro +26 -26
  42. package/src/components/CategoryLink.astro +18 -18
  43. package/src/components/Copyright.astro +12 -12
  44. package/src/components/Date.astro +7 -7
  45. package/src/components/FeaturesList.vue +41 -41
  46. package/src/components/FuckRussia.vue +80 -80
  47. package/src/components/HandDrive.astro +29 -29
  48. package/src/components/Header/Header.astro +214 -214
  49. package/src/components/Header/SkipToContent.astro +1 -1
  50. package/src/components/Headline.vue +48 -48
  51. package/src/components/Image.astro +30 -30
  52. package/src/components/Jumbatron.vue +40 -40
  53. package/src/components/LeftSidebar.astro +53 -53
  54. package/src/components/MainColors.vue +23 -23
  55. package/src/components/MainInput.vue +15 -15
  56. package/src/components/Modal.astro +27 -27
  57. package/src/components/PageContent.astro +5 -5
  58. package/src/components/PartNumber.vue +27 -27
  59. package/src/components/PostHeader.astro +103 -103
  60. package/src/components/PrCode.vue +156 -156
  61. package/src/components/ProductCarousel.astro +38 -38
  62. package/src/components/ProductCodes.vue +39 -39
  63. package/src/components/ProductDetailName.vue +52 -52
  64. package/src/components/ProductDetailsList.vue +65 -65
  65. package/src/components/ProductNumber copy.astro +116 -116
  66. package/src/components/ProductNumber.astro +114 -114
  67. package/src/components/ProductTile.astro +48 -48
  68. package/src/components/Quote.vue +23 -23
  69. package/src/components/ReloadPrompt.astro +50 -50
  70. package/src/components/SlimBanner.vue +70 -70
  71. package/src/components/Table.vue +32 -32
  72. package/src/components/TableOfContents.astro +15 -15
  73. package/src/components/Translations.vue +23 -23
  74. package/src/components/flags/FlagPL.vue +3 -3
  75. package/src/components/flags/FlagUA.vue +2 -2
  76. package/src/components/layout/Container.astro +7 -7
  77. package/src/components/layout/Header.astro +80 -80
  78. package/src/config.ts +56 -56
  79. package/src/design.config.ts +79 -79
  80. package/src/env.d.ts +1 -1
  81. package/src/layouts/Layout.astro +60 -60
  82. package/src/layouts/MainLayout.astro +81 -81
  83. package/src/layouts/partials/FooterCommon.astro +4 -4
  84. package/src/layouts/partials/HeadCommon.astro +44 -44
  85. package/src/layouts/partials/HeadSEO.astro +41 -41
  86. package/src/pages/components/badges.mdx +55 -55
  87. package/src/pages/components/breadcrumbs.mdx +139 -139
  88. package/src/pages/components/buttons.mdx +236 -236
  89. package/src/pages/components/card.mdx +294 -294
  90. package/src/pages/components/carousel.mdx +62 -62
  91. package/src/pages/components/copyright.mdx +42 -42
  92. package/src/pages/components/details-list.mdx +115 -115
  93. package/src/pages/components/features-list.mdx +37 -37
  94. package/src/pages/components/flags.mdx +49 -49
  95. package/src/pages/components/fuck-russia.mdx +39 -39
  96. package/src/pages/components/hand-drive.mdx +38 -38
  97. package/src/pages/components/headline.mdx +152 -152
  98. package/src/pages/components/icons.astro +48 -48
  99. package/src/pages/components/image.mdx +513 -513
  100. package/src/pages/components/input.mdx +45 -45
  101. package/src/pages/components/jumbatron.mdx +73 -73
  102. package/src/pages/components/modal.mdx +64 -64
  103. package/src/pages/components/post-header.mdx +60 -60
  104. package/src/pages/components/pr-code.mdx +65 -65
  105. package/src/pages/components/product-number.mdx +66 -66
  106. package/src/pages/components/product-tile.mdx +51 -51
  107. package/src/pages/components/quote.mdx +33 -33
  108. package/src/pages/components/slimbanner.mdx +29 -29
  109. package/src/pages/components/table.mdx +108 -108
  110. package/src/pages/core/colors.mdx +10 -10
  111. package/src/pages/core/grid.mdx +89 -89
  112. package/src/pages/core/introduction.mdx +77 -77
  113. package/src/pages/core/shadows.astro +20 -20
  114. package/src/pages/core/typography.astro +47 -47
  115. package/src/pages/index.astro +125 -125
  116. package/src/pages/patterns/introduction.mdx +60 -60
  117. package/src/pwa.ts +12 -12
  118. package/src/styles/_variables.scss +66 -66
  119. package/src/styles/base/_base.scss +184 -184
  120. package/src/styles/base/_typography.scss +70 -70
  121. package/src/styles/base/grid.scss +98 -98
  122. package/src/styles/content.scss +64 -64
  123. package/src/styles/main.scss +7 -7
  124. package/tailwind.config.cjs +8 -8
  125. package/tsconfig.json +11 -11
  126. package/uno.config.ts +252 -253
@@ -1,110 +1,110 @@
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-0 py-2 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-0 py-2 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-2 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-2 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 lang="scss" scoped>
78
- .breadcrumbs {
79
- list-style: none;
80
- font-size: 0.875rem;
81
- }
82
-
83
- .breadcrumb-item {
84
-
85
- &+.breadcrumb-item:before {
86
- @apply py-2 sm:py-1 px-1;
87
- display: inline-block;
88
- padding-right: .5rem;
89
- color: #bdbdbd;
90
- content: "/";
91
- }
92
-
93
- b {
94
- @apply hidden sm:inline font-normal;
95
- }
96
- }
97
-
98
- .breadcrumb-link {
99
- border: 0;
100
- cursor: pointer;
101
-
102
- &--disabled {
103
- cursor: default;
104
-
105
- &:hover {
106
- color: inherit;
107
- }
108
- }
109
- }
110
- </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-0 py-2 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-0 py-2 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-2 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-2 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 lang="scss" scoped>
78
+ .breadcrumbs {
79
+ list-style: none;
80
+ font-size: 0.875rem;
81
+ }
82
+
83
+ .breadcrumb-item {
84
+
85
+ &+.breadcrumb-item:before {
86
+ @apply py-2 sm:py-1 px-1;
87
+ display: inline-block;
88
+ padding-right: .5rem;
89
+ color: #bdbdbd;
90
+ content: "/";
91
+ }
92
+
93
+ b {
94
+ @apply hidden sm:inline font-normal;
95
+ }
96
+ }
97
+
98
+ .breadcrumb-link {
99
+ border: 0;
100
+ cursor: pointer;
101
+
102
+ &--disabled {
103
+ cursor: default;
104
+
105
+ &:hover {
106
+ color: inherit;
107
+ }
108
+ }
109
+ }
110
+ </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 lang="scss">
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 lang="scss">
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,47 @@
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
+ 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,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>
@@ -1,18 +1,18 @@
1
- ---
2
- const { categories } = Astro.props;
3
- ---
4
-
5
- <div class="text-light-blue-400 uppercase text-base z-3 relative w-full">
6
- {
7
- categories
8
- ? categories.map((category) => (
9
- <a
10
- class="term-link text-sm sm:text-base not-first:(before:content-empty) before:(w-px h-2.5 bg-gray-300 mx-2.5 inline-block relative)"
11
- href={category.uri}
12
- >
13
- {category.name}
14
- </a>
15
- ))
16
- : null
17
- }
18
- </div>
1
+ ---
2
+ const { categories } = Astro.props;
3
+ ---
4
+
5
+ <div class="text-light-blue-400 uppercase text-base z-3 relative w-full">
6
+ {
7
+ categories
8
+ ? categories.map((category) => (
9
+ <a
10
+ class="term-link text-sm sm:text-base not-first:(before:content-empty) before:(w-px h-2.5 bg-gray-300 mx-2.5 inline-block relative)"
11
+ href={category.uri}
12
+ >
13
+ {category.name}
14
+ </a>
15
+ ))
16
+ : null
17
+ }
18
+ </div>
@@ -1,12 +1,12 @@
1
- ---
2
- const { class: className } = Astro.props;
3
- ---
4
-
5
- <div
6
- class="bg-vw h-11 flex items-center font-headlight justify-between px-4"
7
- class:list={[className]}
8
- >
9
- <slot name="left-item" />
10
- <slot name="middle-item" />
11
- <slot name="right-item" />
12
- </div>
1
+ ---
2
+ const { class: className } = Astro.props;
3
+ ---
4
+
5
+ <div
6
+ class="bg-vw h-11 flex items-center font-headlight justify-between px-4"
7
+ class:list={[className]}
8
+ >
9
+ <slot name="left-item" />
10
+ <slot name="middle-item" />
11
+ <slot name="right-item" />
12
+ </div>
@@ -1,7 +1,7 @@
1
- ---
2
- const { date } = Astro.props;
3
- ---
4
-
5
- <time class="text-sm flex items-center mr-2" datetime={date}>
6
- {new Date(date).toLocaleDateString()}
7
- </time>
1
+ ---
2
+ const { date } = Astro.props;
3
+ ---
4
+
5
+ <time class="text-sm flex items-center mr-2" datetime={date}>
6
+ {new Date(date).toLocaleDateString()}
7
+ </time>