spoko-design-system 1.3.3 → 1.3.5

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 (46) hide show
  1. package/.github/workflows/claude.yml +1 -1
  2. package/.prettierrc +1 -0
  3. package/CHANGELOG.md +12 -0
  4. package/package.json +15 -15
  5. package/src/components/Breadcrumbs.vue +8 -5
  6. package/src/components/ButtonCopy.astro +7 -2
  7. package/src/components/Card.astro +4 -1
  8. package/src/components/Category/CategoriesCarousel.astro +8 -2
  9. package/src/components/Category/CategoryDetails.astro +30 -11
  10. package/src/components/Category/CategoryTile.astro +11 -2
  11. package/src/components/Category/CategoryViewToggler.astro +8 -2
  12. package/src/components/Date.astro +4 -1
  13. package/src/components/FaqItem.astro +14 -3
  14. package/src/components/HandDrive.astro +5 -1
  15. package/src/components/Header/Header.astro +14 -3
  16. package/src/components/Header/SkipToContent.astro +5 -1
  17. package/src/components/Input.vue +3 -2
  18. package/src/components/Jumbotron/index.astro +37 -7
  19. package/src/components/Jumbotron/variants/Default.astro +4 -1
  20. package/src/components/Jumbotron/variants/Hero.astro +9 -2
  21. package/src/components/Jumbotron/variants/Post.astro +13 -3
  22. package/src/components/Jumbotron/variants/PostSplit.astro +13 -3
  23. package/src/components/Jumbotron.astro +12 -3
  24. package/src/components/LanguageSuggestion.astro +4 -1
  25. package/src/components/MainInput.vue +3 -2
  26. package/src/components/Modal.astro +9 -2
  27. package/src/components/PageContent.astro +4 -1
  28. package/src/components/PostHeader.astro +13 -3
  29. package/src/components/Product/ProductDetails.vue +2 -2
  30. package/src/components/Product/ProductLink.astro +17 -4
  31. package/src/components/Product/ProductLink.vue +3 -3
  32. package/src/components/Product/ProductLinkInfo.astro +12 -3
  33. package/src/components/Product/ProductModel.vue +2 -3
  34. package/src/components/Product/ProductNumber.astro +23 -5
  35. package/src/components/ProductDetailsList.vue +9 -6
  36. package/src/components/ProductTile.astro +13 -3
  37. package/src/components/ReloadPrompt.astro +5 -1
  38. package/src/components/SlimBanner.vue +6 -4
  39. package/src/components/layout/CallToAction.astro +4 -1
  40. package/src/components/layout/Header.astro +12 -2
  41. package/src/layouts/Layout.astro +9 -2
  42. package/src/layouts/MainLayout.astro +17 -4
  43. package/src/layouts/partials/HeadCommon.astro +24 -7
  44. package/src/layouts/partials/HeadSEO.astro +44 -11
  45. package/src/pages/components/icons.astro +4 -1
  46. package/src/pages/index.astro +58 -14
@@ -28,7 +28,7 @@ jobs:
28
28
  - name: Checkout repository
29
29
  uses: actions/checkout@v4
30
30
  with:
31
- fetch-depth: 1
31
+ fetch-depth: 0
32
32
 
33
33
  - name: Run Claude Code
34
34
  id: claude
package/.prettierrc CHANGED
@@ -8,6 +8,7 @@
8
8
  "bracketSpacing": true,
9
9
  "arrowParens": "avoid",
10
10
  "endOfLine": "lf",
11
+ "singleAttributePerLine": true,
11
12
  "plugins": ["prettier-plugin-astro"],
12
13
  "overrides": [
13
14
  {
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [1.3.5](https://github.com/polo-blue/sds/compare/v1.3.4...v1.3.5) (2025-10-07)
2
+
3
+ ### Bug Fixes
4
+
5
+ * remove unused baseURL variable ([c0259f7](https://github.com/polo-blue/sds/commit/c0259f7c9ed0367c18e0c2dbfa34903d28abe49c))
6
+
7
+ ## [1.3.4](https://github.com/polo-blue/sds/compare/v1.3.3...v1.3.4) (2025-10-07)
8
+
9
+ ### Bug Fixes
10
+
11
+ * resolve Prettier parsing errors in CategoryDetails component ([75b309f](https://github.com/polo-blue/sds/commit/75b309f94dd77fe9cdf941f0f21ec1ec63e34dfc))
12
+
1
13
  ## [1.3.3](https://github.com/polo-blue/sds/compare/v1.3.2...v1.3.3) (2025-10-07)
2
14
 
3
15
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spoko-design-system",
3
- "version": "1.3.3",
3
+ "version": "1.3.5",
4
4
  "private": false,
5
5
  "main": "./index.ts",
6
6
  "module": "./index.ts",
@@ -51,7 +51,7 @@
51
51
  "spoko design system"
52
52
  ],
53
53
  "dependencies": {
54
- "@algolia/client-search": "^5.37.0",
54
+ "@algolia/client-search": "^5.40.0",
55
55
  "@astrojs/mdx": "^4.3.6",
56
56
  "@astrojs/node": "^9.4.4",
57
57
  "@astrojs/sitemap": "^3.6.0",
@@ -68,25 +68,25 @@
68
68
  "@iconify-json/eos-icons": "^1.2.4",
69
69
  "@iconify-json/et": "^1.2.1",
70
70
  "@iconify-json/flowbite": "^1.2.7",
71
- "@iconify-json/fluent": "^1.2.31",
71
+ "@iconify-json/fluent": "^1.2.32",
72
72
  "@iconify-json/fluent-emoji": "1.2.6",
73
73
  "@iconify-json/ic": "^1.2.4",
74
74
  "@iconify-json/icon-park-outline": "^1.2.4",
75
75
  "@iconify-json/la": "^1.2.1",
76
76
  "@iconify-json/lucide": "^1.2.68",
77
- "@iconify-json/material-symbols-light": "^1.2.38",
77
+ "@iconify-json/material-symbols-light": "^1.2.40",
78
78
  "@iconify-json/mdi": "^1.2.3",
79
79
  "@iconify-json/noto-v1": "^1.2.5",
80
80
  "@iconify-json/octicon": "^1.2.14",
81
81
  "@iconify-json/ph": "^1.2.2",
82
- "@iconify-json/simple-icons": "^1.2.53",
82
+ "@iconify-json/simple-icons": "^1.2.54",
83
83
  "@iconify-json/streamline": "^1.2.5",
84
84
  "@iconify-json/streamline-emojis": "^1.2.4",
85
85
  "@iconify-json/streamline-freehand-color": "^1.2.2",
86
86
  "@iconify-json/system-uicons": "^1.2.4",
87
87
  "@iconify-json/uil": "^1.2.3",
88
88
  "@iconify-json/vscode-icons": "^1.2.30",
89
- "@iconify/json": "^2.2.387",
89
+ "@iconify/json": "^2.2.392",
90
90
  "@iconify/vue": "^5.0.0",
91
91
  "@playform/compress": "^0.2.0",
92
92
  "@playform/inline": "^0.1.2",
@@ -104,32 +104,32 @@
104
104
  "astro-navbar": "^2.4.0",
105
105
  "astro-pagefind": "^1.8.5",
106
106
  "astro-remote": "^0.3.4",
107
- "dotenv": "^17.2.2",
107
+ "dotenv": "^17.2.3",
108
108
  "swiper": "^12.0.2",
109
109
  "unocss": "66.5.2",
110
- "vue": "^3.5.21"
110
+ "vue": "^3.5.22"
111
111
  },
112
112
  "devDependencies": {
113
113
  "@semantic-release/changelog": "^6.0.3",
114
114
  "@semantic-release/git": "^10.0.1",
115
115
  "@types/gtag.js": "^0.0.20",
116
- "@types/node": "^24.5.2",
117
- "@typescript-eslint/eslint-plugin": "^8.44.1",
118
- "@typescript-eslint/parser": "^8.44.1",
116
+ "@types/node": "^24.7.0",
117
+ "@typescript-eslint/eslint-plugin": "^8.46.0",
118
+ "@typescript-eslint/parser": "^8.46.0",
119
119
  "@unocss/transformer-variant-group": "66.5.2",
120
120
  "@vitejs/plugin-vue": "^6.0.1",
121
- "@vue/compiler-sfc": "^3.5.21",
121
+ "@vue/compiler-sfc": "^3.5.22",
122
122
  "@vue/eslint-config-typescript": "^14.6.0",
123
- "astro": "^5.13.10",
123
+ "astro": "^5.14.1",
124
124
  "conventional-changelog-conventionalcommits": "^9.1.0",
125
- "eslint": "^9.36.0",
125
+ "eslint": "^9.37.0",
126
126
  "eslint-plugin-astro": "^1.3.1",
127
127
  "eslint-plugin-vue": "^10.5.0",
128
128
  "prettier": "^3.6.2",
129
129
  "prettier-plugin-astro": "^0.14.1",
130
130
  "semantic-release": "^24.2.9",
131
131
  "unocss": "^0.65.0",
132
- "vite": "^7.1.7"
132
+ "vite": "^7.1.9"
133
133
  },
134
134
  "packageManager": "pnpm@10.17.1",
135
135
  "pnpm": {
@@ -74,7 +74,7 @@ const isLast = (index: number) => {
74
74
  <meta
75
75
  itemprop="position"
76
76
  content="1"
77
- >
77
+ />
78
78
  </li>
79
79
  <li
80
80
  v-for="(crumb, index) in breadcrumbs"
@@ -87,7 +87,8 @@ const isLast = (index: number) => {
87
87
  <span
88
88
  v-if="index > 0 || props.showHome"
89
89
  class="text-gray-400 px-1 py-4.25 sm:py-1"
90
- >/</span>
90
+ >/</span
91
+ >
91
92
 
92
93
  <a
93
94
  v-if="!isLast(index)"
@@ -99,7 +100,8 @@ const isLast = (index: number) => {
99
100
  <strong
100
101
  class="font-normal"
101
102
  itemprop="name"
102
- >{{ crumb.name }}</strong>
103
+ >{{ crumb.name }}</strong
104
+ >
103
105
  </a>
104
106
  <a
105
107
  v-else
@@ -116,14 +118,15 @@ const isLast = (index: number) => {
116
118
  <b
117
119
  v-if="productNumber"
118
120
  class="hidden sm:inline font-normal ml-1"
119
- >&nbsp;{{ productNumber }}</b>
121
+ >&nbsp;{{ productNumber }}</b
122
+ >
120
123
  </span>
121
124
  </a>
122
125
 
123
126
  <meta
124
127
  itemprop="position"
125
128
  :content="String(props.showHome ? index + 2 : index + 1)"
126
- >
129
+ />
127
130
  </li>
128
131
  </ul>
129
132
  </nav>
@@ -25,8 +25,13 @@ const COPY_ICON = `url("data:image/svg+xml;utf8,${encodeURIComponent(
25
25
  <span
26
26
  class:list={['tooltip rounded-full btn-copy-text', tooltipClasses]}
27
27
  data-text={texts.copy}
28
- data-copied-text={texts.copied}></span>
29
- <span class="copy-icon" role="img" aria-hidden="true"></span>
28
+ data-copied-text={texts.copied}
29
+ ></span>
30
+ <span
31
+ class="copy-icon"
32
+ role="img"
33
+ aria-hidden="true"
34
+ ></span>
30
35
  </button>
31
36
 
32
37
  <script>
@@ -5,7 +5,10 @@ import Image from '../components/Image.astro';
5
5
  ---
6
6
 
7
7
  <div class="bg-white border border-gray-200 rounded-lg shadow overflow-hidden">
8
- <a href={href} class="aspect-ratio-video block relative">
8
+ <a
9
+ href={href}
10
+ class="aspect-ratio-video block relative"
11
+ >
9
12
  {
10
13
  imgSrc && (
11
14
  <Image
@@ -45,7 +45,10 @@ const activeIndex =
45
45
  role="presentation"
46
46
  class={`swiper-slide cats-slide group ${category.slug === activeCategorySlug ? 'active' : ''}`}
47
47
  >
48
- <a href={getTranslatedLink(`/${category.slug}/`)} class="carousel-item">
48
+ <a
49
+ href={getTranslatedLink(`/${category.slug}/`)}
50
+ class="carousel-item"
51
+ >
49
52
  {
50
53
  // itemprop="url"
51
54
  // role="menuitem"
@@ -64,7 +67,10 @@ const activeIndex =
64
67
  />
65
68
  <div class="swiper-lazy-preloader" />
66
69
 
67
- <div class="cat-name" itemprop="name">
70
+ <div
71
+ class="cat-name"
72
+ itemprop="name"
73
+ >
68
74
  {category.name}
69
75
  </div>
70
76
  </a>
@@ -3,10 +3,21 @@ import CategorySidebarToggler from './CategorySidebarToggler.vue';
3
3
  import CategoryViewToggler from './CategoryViewToggler.astro';
4
4
  import { Icon } from 'astro-icon/components';
5
5
 
6
- const { category, subcategory, subtitle, subsubtitle, titleSmall, showViewToggler, viewerLabels } =
7
- Astro.props;
8
-
9
- const baseURL = '';
6
+ const {
7
+ category,
8
+ subcategory,
9
+ subtitle,
10
+ subsubtitle,
11
+ titleSmall,
12
+ showViewToggler,
13
+ viewerLabels,
14
+ locale,
15
+ } = Astro.props;
16
+
17
+ const localePrefix = locale && locale !== 'en' ? `/${locale}` : '';
18
+ const categoryPath = category?.path || `${localePrefix}/${category.slug}`;
19
+ const subcategoryPath =
20
+ subcategory?.path || `${localePrefix}/${category.slug}/${subcategory?.slug}`;
10
21
  ---
11
22
 
12
23
  <div
@@ -14,9 +25,11 @@ const baseURL = '';
14
25
  transition:name="category-details"
15
26
  transition:animate="fade"
16
27
  >
17
- <CategorySidebarToggler class="category-sidebar-toggler w-12 md:w-8" data-state="desktop">
28
+ <CategorySidebarToggler
29
+ class="category-sidebar-toggler w-12 md:w-8"
30
+ data-state="desktop"
31
+ >
18
32
  <div class="desktop-icons hidden md:block">
19
- <!-- Desktop icons container -->
20
33
  <Icon
21
34
  name="ant-design:menu-fold-outlined"
22
35
  class="toggler-btn w-6 expanded-icon"
@@ -28,9 +41,12 @@ const baseURL = '';
28
41
  aria-hidden="true"
29
42
  />
30
43
  </div>
31
- <!-- Mobile icon in separate container -->
32
44
  <div class="mobile-icon block md:hidden">
33
- <Icon name="ant-design:menu-outlined" class="toggler-btn w-6" aria-hidden="true" />
45
+ <Icon
46
+ name="ant-design:menu-outlined"
47
+ class="toggler-btn w-6"
48
+ aria-hidden="true"
49
+ />
34
50
  </div>
35
51
  </CategorySidebarToggler>
36
52
 
@@ -40,7 +56,7 @@ const baseURL = '';
40
56
  <>
41
57
  <a
42
58
  class="text-lg font-vw-headregular whitespace-nowrap block"
43
- href={`${baseURL}/${category.slug}/`}
59
+ href={categoryPath}
44
60
  >
45
61
  {category.name}
46
62
  {titleSmall && <small>{titleSmall}</small>}
@@ -53,7 +69,7 @@ const baseURL = '';
53
69
  ) : (
54
70
  <>
55
71
  <div class="text-lg py-2.5 sm:py-0 whitespace-nowrap">
56
- <a href={`${baseURL}/${category.slug}/${subcategory.slug}/`}>{subtitle}</a>
72
+ <a href={subcategoryPath}>{subtitle}</a>
57
73
  </div>
58
74
  <span class="text-neutral-lighter text-lg inline-block px-1 font-headlight">/</span>
59
75
  <h1 class="text-lg py-2.5 sm:py-0 whitespace-nowrap underline underline-offset-6 decoration-blue-300 decoration-0.5">
@@ -74,7 +90,10 @@ const baseURL = '';
74
90
 
75
91
  {
76
92
  showViewToggler && (
77
- <CategoryViewToggler {...viewerLabels} class="hidden lg:flex items-center gap-2 ml-auto" />
93
+ <CategoryViewToggler
94
+ {...viewerLabels}
95
+ class="hidden lg:flex items-center gap-2 ml-auto"
96
+ />
78
97
  )
79
98
  }
80
99
  </div>
@@ -22,7 +22,11 @@ const prefix = locale === 'en' ? '' : `${locale}/`;
22
22
  const href = `/${prefix}${CategoryObject.slug}/`;
23
23
  ---
24
24
 
25
- <a href={href} class="carousel-item" data-astro-prefetch>
25
+ <a
26
+ href={href}
27
+ class="carousel-item"
28
+ data-astro-prefetch
29
+ >
26
30
  <Image
27
31
  src={CategoryObject.photo}
28
32
  alt={CategoryObject.alt}
@@ -34,5 +38,10 @@ const href = `/${prefix}${CategoryObject.slug}/`;
34
38
  class="cats-img"
35
39
  />
36
40
  <div class="swiper-lazy-preloader"></div>
37
- <div class="cat-name" itemprop="name">{CategoryObject.name}</div>
41
+ <div
42
+ class="cat-name"
43
+ itemprop="name"
44
+ >
45
+ {CategoryObject.name}
46
+ </div>
38
47
  </a>
@@ -29,7 +29,10 @@ const {
29
29
  class="view-toggle flex items-center gap-1 px-3 py-0.5 transition-colors"
30
30
  aria-label={listAriaLabel}
31
31
  >
32
- <Icon name="ant-design:bars-outlined" class="w-4 h-4" />
32
+ <Icon
33
+ name="ant-design:bars-outlined"
34
+ class="w-4 h-4"
35
+ />
33
36
  <span class="text-sm">{listText}</span>
34
37
  </button>
35
38
  <button
@@ -38,7 +41,10 @@ const {
38
41
  class="view-toggle flex items-center gap-1 px-3 py-0.5 transition-colors"
39
42
  aria-label={gridAriaLabel}
40
43
  >
41
- <Icon name="ant-design:appstore-outlined" class="w-4 h-4" />
44
+ <Icon
45
+ name="ant-design:appstore-outlined"
46
+ class="w-4 h-4"
47
+ />
42
48
  <span class="text-sm">{gridText}</span>
43
49
  </button>
44
50
  </div>
@@ -2,6 +2,9 @@
2
2
  const { date } = Astro.props;
3
3
  ---
4
4
 
5
- <time class="text-sm flex items-center mr-2" datetime={date}>
5
+ <time
6
+ class="text-sm flex items-center mr-2"
7
+ datetime={date}
8
+ >
6
9
  {new Date(date).toLocaleDateString()}
7
10
  </time>
@@ -23,10 +23,21 @@ const { data } = Astro.props;
23
23
  class="py-2 outline-none cursor-pointer focus:underline text-xl font-500 relative items-center flex justify-between list-none
24
24
  after:(block duration-200 content-empty bg-[url(/arrow-bottom.svg)] bg-contain bg-center bg-no-repeat h-3 w-4 min-w-4 my-auto ml-4 opacity-60)"
25
25
  >
26
- <h2 itemprop="name" class="font-headbold" set:html={data.question} />
26
+ <h2
27
+ itemprop="name"
28
+ class="font-headbold"
29
+ set:html={data.question}
30
+ />
27
31
  </summary>
28
- <div itemscope itemprop="acceptedAnswer" itemtype="https://schema.org/Answer">
29
- <div itemprop="text" class="px-0 pb-4">
32
+ <div
33
+ itemscope
34
+ itemprop="acceptedAnswer"
35
+ itemtype="https://schema.org/Answer"
36
+ >
37
+ <div
38
+ itemprop="text"
39
+ class="px-0 pb-4"
40
+ >
30
41
  <Markdown content={data.answer} />
31
42
  </div>
32
43
  </div>
@@ -28,7 +28,11 @@ if (!handDrive || (handDrive !== 'lhd' && handDrive !== 'rhd')) {
28
28
  const titleText = title || handDrive.toUpperCase();
29
29
  ---
30
30
 
31
- <div title={titleText} class="flex items-center" class:list={className}>
31
+ <div
32
+ title={titleText}
33
+ class="flex items-center"
34
+ class:list={className}
35
+ >
32
36
  <Image
33
37
  src={handDriveImage}
34
38
  alt={`${handDrive.toUpperCase()} hand drive`}
@@ -7,7 +7,10 @@ import Search from 'astro-pagefind/components/Search';
7
7
 
8
8
  <header class="p-3 bg-blue-medium bg-opacity-10 backdrop-blur-md border-b text-slate-900">
9
9
  <SkipToContent />
10
- <nav title="Top Navigation" class="mx-auto flex justify-between items-center px-4">
10
+ <nav
11
+ title="Top Navigation"
12
+ class="mx-auto flex justify-between items-center px-4"
13
+ >
11
14
  <div class="flex flex-nowrap">
12
15
  <MenuIcon class="w-4 h-4 text-gray-800 lg:hidden mr-4" />
13
16
  <a
@@ -36,7 +39,11 @@ import Search from 'astro-pagefind/components/Search';
36
39
  class="opacity-80 hover:opacity-100 hover:bg-slate-200 p-2 rounded-full transition-colors"
37
40
  href={'https://github.com/' + SITE.github}
38
41
  >
39
- <img class="h-7" src="/github.svg" alt="github logo" />
42
+ <img
43
+ class="h-7"
44
+ src="/github.svg"
45
+ alt="github logo"
46
+ />
40
47
  </a>
41
48
  )
42
49
  }
@@ -47,7 +54,11 @@ import Search from 'astro-pagefind/components/Search';
47
54
  class="opacity-80 hover:opacity-100 hover:bg-blue-50 p-2 rounded-full transition-colors"
48
55
  href={'https://linkedin.com/in/' + SITE.linkedin}
49
56
  >
50
- <img class="h-7" src="/linkedin.svg" alt="linkedin logo" />
57
+ <img
58
+ class="h-7"
59
+ src="/linkedin.svg"
60
+ alt="linkedin logo"
61
+ />
51
62
  </a>
52
63
  )
53
64
  }
@@ -1 +1,5 @@
1
- <a href="#article" class="sr-only focus:not-sr-only skiplink"><span>Skip to Content</span></a>
1
+ <a
2
+ href="#article"
3
+ class="sr-only focus:not-sr-only skiplink"
4
+ ><span>Skip to Content</span></a
5
+ >
@@ -125,7 +125,7 @@ const handleBlur = (event: globalThis.FocusEvent) => emit('blur', event);
125
125
  @input="handleInput"
126
126
  @focus="handleFocus"
127
127
  @blur="handleBlur"
128
- >
128
+ />
129
129
 
130
130
  <label
131
131
  :for="id"
@@ -136,7 +136,8 @@ const handleBlur = (event: globalThis.FocusEvent) => emit('blur', event);
136
136
  <span
137
137
  v-if="required"
138
138
  class="text-red-500 ml-1"
139
- >*</span>
139
+ >*</span
140
+ >
140
141
  </label>
141
142
 
142
143
  <div
@@ -64,25 +64,55 @@ const commonProps = {
64
64
 
65
65
  {
66
66
  variant === 'default' && (
67
- <DefaultVariant {...commonProps} small={small}>
68
- <slot name="intro" slot="intro" />
69
- <slot name="subtitle" slot="subtitle" />
70
- <slot name="cta-content" slot="cta-content" />
67
+ <DefaultVariant
68
+ {...commonProps}
69
+ small={small}
70
+ >
71
+ <slot
72
+ name="intro"
73
+ slot="intro"
74
+ />
75
+ <slot
76
+ name="subtitle"
77
+ slot="subtitle"
78
+ />
79
+ <slot
80
+ name="cta-content"
81
+ slot="cta-content"
82
+ />
71
83
  </DefaultVariant>
72
84
  )
73
85
  }
74
86
 
75
- {variant === 'hero' && <HeroVariant {...commonProps} description={description} info={info} />}
87
+ {
88
+ variant === 'hero' && (
89
+ <HeroVariant
90
+ {...commonProps}
91
+ description={description}
92
+ info={info}
93
+ />
94
+ )
95
+ }
76
96
 
77
97
  {
78
98
  variant === 'post' && (
79
- <PostVariant {...commonProps} author={author} date={date} categories={categories} />
99
+ <PostVariant
100
+ {...commonProps}
101
+ author={author}
102
+ date={date}
103
+ categories={categories}
104
+ />
80
105
  )
81
106
  }
82
107
 
83
108
  {
84
109
  variant === 'post-split' && (
85
- <PostSplitVariant {...commonProps} author={author} date={date} categories={categories} />
110
+ <PostSplitVariant
111
+ {...commonProps}
112
+ author={author}
113
+ date={date}
114
+ categories={categories}
115
+ />
86
116
  )
87
117
  }
88
118
 
@@ -28,7 +28,10 @@ const {
28
28
  hasIntroContent ? (
29
29
  <slot name="intro" />
30
30
  ) : (
31
- <h1 class="jumbotron-title-default" set:html={title} />
31
+ <h1
32
+ class="jumbotron-title-default"
33
+ set:html={title}
34
+ />
32
35
  )
33
36
  }
34
37
 
@@ -16,7 +16,11 @@ const { title = '', image, description, info, backgroundClass } = Astro.props;
16
16
  image && (
17
17
  <div class="absolute inset-0 w-full h-full">
18
18
  <div class="absolute inset-0 bg-gradient-to-r from-blue-900 to-transparent opacity-90 z-1" />
19
- <img class="w-full h-full object-cover" src={image} alt={title} />
19
+ <img
20
+ class="w-full h-full object-cover"
21
+ src={image}
22
+ alt={title}
23
+ />
20
24
  </div>
21
25
  )
22
26
  }
@@ -37,7 +41,10 @@ const { title = '', image, description, info, backgroundClass } = Astro.props;
37
41
  }
38
42
  {
39
43
  info && (
40
- <div class="font-medium mb-4 line-clamp-1 text-base sm:text-lg mt-2" set:html={info} />
44
+ <div
45
+ class="font-medium mb-4 line-clamp-1 text-base sm:text-lg mt-2"
46
+ set:html={info}
47
+ />
41
48
  )
42
49
  }
43
50
  </header>
@@ -41,7 +41,10 @@ const {
41
41
  {
42
42
  hasCategories && (
43
43
  <div class="order-1">
44
- <PostCategories categories={categories} lang={lang} />
44
+ <PostCategories
45
+ categories={categories}
46
+ lang={lang}
47
+ />
45
48
  </div>
46
49
  )
47
50
  }
@@ -50,7 +53,10 @@ const {
50
53
  hasMetadata && (
51
54
  <div class="order-3 flex items-center text-gray-100">
52
55
  {author && (
53
- <span class="text-sm" title={author.firstName}>
56
+ <span
57
+ class="text-sm"
58
+ title={author.firstName}
59
+ >
54
60
  {author.name}
55
61
  </span>
56
62
  )}
@@ -63,6 +69,10 @@ const {
63
69
  </div>
64
70
 
65
71
  <div class="featured-image-overlay">
66
- <img src={image} alt={title} class="w-full h-full object-cover block max-w-full" />
72
+ <img
73
+ src={image}
74
+ alt={title}
75
+ class="w-full h-full object-cover block max-w-full"
76
+ />
67
77
  </div>
68
78
  </header>
@@ -42,12 +42,18 @@ const cleanTitle = stripHtml(title);
42
42
  class="heading flex flex-wrap text-white relative items-center justify-center mt-auto w-full z-[2]"
43
43
  >
44
44
  <div class="jumbotron-split-content">
45
- <h1 class="jumbotron-split-title" set:html={title} />
45
+ <h1
46
+ class="jumbotron-split-title"
47
+ set:html={title}
48
+ />
46
49
 
47
50
  {
48
51
  hasCategories && (
49
52
  <div class="jumbotron-categories">
50
- <PostCategories categories={categories} lang={lang} />
53
+ <PostCategories
54
+ categories={categories}
55
+ lang={lang}
56
+ />
51
57
  </div>
52
58
  )
53
59
  }
@@ -56,7 +62,11 @@ const cleanTitle = stripHtml(title);
56
62
  hasMetadata && (
57
63
  <div class="jumbotron-split-meta">
58
64
  {author && (
59
- <span class="text-sm" title={author.firstName} data-pagefind-ignore>
65
+ <span
66
+ class="text-sm"
67
+ title={author.firstName}
68
+ data-pagefind-ignore
69
+ >
60
70
  {author.name}
61
71
  </span>
62
72
  )}