@stackshift-ui/blog 6.0.15 → 7.0.0-beta.1
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.
- package/dist/blog.js +1 -1
- package/dist/blog.mjs +1 -1
- package/dist/blog_a.js +1 -1
- package/dist/blog_a.mjs +1 -1
- package/dist/blog_b.js +1 -1
- package/dist/blog_b.mjs +1 -1
- package/dist/blog_c.js +1 -1
- package/dist/blog_c.mjs +1 -1
- package/dist/blog_d.js +1 -1
- package/dist/blog_d.mjs +1 -1
- package/dist/chunk-2HGCY7QJ.mjs +1 -0
- package/dist/chunk-2R3WGAH2.mjs +1 -0
- package/dist/chunk-56BLTZWI.mjs +1 -0
- package/dist/chunk-T6TH744R.mjs +1 -0
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +17 -17
- package/src/blog.test.tsx +2 -2
- package/src/blog_a.tsx +35 -22
- package/src/blog_b.tsx +52 -42
- package/src/blog_c.tsx +29 -17
- package/src/blog_d.tsx +16 -19
- package/dist/chunk-7K4AC7BM.mjs +0 -1
- package/dist/chunk-DK7SFSP5.mjs +0 -1
- package/dist/chunk-HBY4OOKD.mjs +0 -1
- package/dist/chunk-OSCI5VC3.mjs +0 -1
- /package/dist/{chunk-OH3LZBKF.mjs → chunk-D64XJR4X.mjs} +0 -0
package/src/blog_b.tsx
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { Button } from "@stackshift-ui/button";
|
|
2
|
+
import { Card, CardContent } from "@stackshift-ui/card";
|
|
2
3
|
import { Container } from "@stackshift-ui/container";
|
|
3
4
|
import { Flex } from "@stackshift-ui/flex";
|
|
4
5
|
import { Heading } from "@stackshift-ui/heading";
|
|
5
6
|
import { Image } from "@stackshift-ui/image";
|
|
6
7
|
import { Link } from "@stackshift-ui/link";
|
|
7
8
|
import { Section } from "@stackshift-ui/section";
|
|
9
|
+
import { buildSanityLink } from "@stackshift-ui/system";
|
|
8
10
|
import { Text } from "@stackshift-ui/text";
|
|
9
11
|
import { format } from "date-fns";
|
|
10
12
|
import { BlogProps } from ".";
|
|
@@ -70,12 +72,12 @@ function BlogItem({ post, size, key }: { post: BlogPost; size?: string; key: num
|
|
|
70
72
|
const breakpoints = useMediaQuery("1024");
|
|
71
73
|
|
|
72
74
|
return (
|
|
73
|
-
<
|
|
75
|
+
<Card className="overflow-hidden rounded-md shadow">
|
|
74
76
|
{post?.mainImage ? (
|
|
75
77
|
<ImageContainer post={post} size={size} breakpoints={breakpoints} key={key} />
|
|
76
78
|
) : null}
|
|
77
|
-
<
|
|
78
|
-
<
|
|
79
|
+
<Flex direction="col" className="bg-white justify-between" style={{ height: "295px" }}>
|
|
80
|
+
<CardContent className="p-4">
|
|
79
81
|
<Flex align="center">
|
|
80
82
|
{post?.publishedAt ? (
|
|
81
83
|
<Text muted className="text-sm">
|
|
@@ -84,8 +86,8 @@ function BlogItem({ post, size, key }: { post: BlogPost; size?: string; key: num
|
|
|
84
86
|
) : null}
|
|
85
87
|
{post?.authors && (
|
|
86
88
|
<>
|
|
87
|
-
<span className="mx-2 w-1 h-1 bg-gray-500 rounded-full"
|
|
88
|
-
<
|
|
89
|
+
<span className="mx-2 w-1 h-1 bg-gray-500 rounded-full" />
|
|
90
|
+
<Flex className="mt-auto text-sm text-gray-500">
|
|
89
91
|
{post?.authors?.map((author, index, { length }) => (
|
|
90
92
|
<>
|
|
91
93
|
<Text className="italic" fontSize="sm">
|
|
@@ -94,32 +96,32 @@ function BlogItem({ post, size, key }: { post: BlogPost; size?: string; key: num
|
|
|
94
96
|
{index + 1 !== length ? <span> , </span> : null}
|
|
95
97
|
</>
|
|
96
98
|
))}
|
|
97
|
-
</
|
|
99
|
+
</Flex>
|
|
98
100
|
</>
|
|
99
101
|
)}
|
|
100
102
|
</Flex>
|
|
101
103
|
|
|
102
104
|
{post?.title ? (
|
|
103
|
-
<Heading type="h4" className="my-2">
|
|
104
|
-
{post.title
|
|
105
|
+
<Heading type="h4" className="my-2 line-clamp-3 !text-2xl">
|
|
106
|
+
{post.title}
|
|
105
107
|
</Heading>
|
|
106
108
|
) : null}
|
|
107
109
|
{post?.excerpt ? (
|
|
108
|
-
<Text muted className="mb-
|
|
109
|
-
{post.excerpt
|
|
110
|
+
<Text muted className="mb-2 text-justify line-clamp-3">
|
|
111
|
+
{post.excerpt}
|
|
110
112
|
</Text>
|
|
111
113
|
) : null}
|
|
112
|
-
</
|
|
114
|
+
</CardContent>
|
|
113
115
|
{post?.link ? (
|
|
114
116
|
<Link
|
|
115
117
|
aria-label="View Blog Post"
|
|
116
|
-
className="font-bold text-primary hover:text-secondary"
|
|
118
|
+
className="font-bold text-primary hover:text-secondary px-4 pb-4"
|
|
117
119
|
href={`/${post?.link}`}>
|
|
118
120
|
View Blog Post
|
|
119
121
|
</Link>
|
|
120
122
|
) : null}
|
|
121
|
-
</
|
|
122
|
-
</
|
|
123
|
+
</Flex>
|
|
124
|
+
</Card>
|
|
123
125
|
);
|
|
124
126
|
}
|
|
125
127
|
|
|
@@ -134,42 +136,50 @@ function ImageContainer({
|
|
|
134
136
|
breakpoints: boolean;
|
|
135
137
|
key: number;
|
|
136
138
|
}) {
|
|
137
|
-
return (
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
/>
|
|
160
|
-
</div>
|
|
161
|
-
)}
|
|
162
|
-
</>
|
|
139
|
+
return breakpoints ? (
|
|
140
|
+
<Image
|
|
141
|
+
className="object-cover w-full overflow-hidden"
|
|
142
|
+
src={`${post.mainImage}`}
|
|
143
|
+
sizes="100vw"
|
|
144
|
+
style={{ width: "100%", height: "auto", objectFit: "cover" }}
|
|
145
|
+
width={271}
|
|
146
|
+
height={248}
|
|
147
|
+
alt={post?.mainImage ?? `blog-variantB-image-${key}`}
|
|
148
|
+
/>
|
|
149
|
+
) : (
|
|
150
|
+
<div className={`${size === "lg" ? "h-[44.5rem]" : "h-[12.5rem]"}`}>
|
|
151
|
+
<Image
|
|
152
|
+
className="object-cover w-full overflow-hidden rounded-t-md"
|
|
153
|
+
src={`${post.mainImage}`}
|
|
154
|
+
sizes="100vw"
|
|
155
|
+
style={{ width: "100%", height: "100%", objectFit: "cover" }}
|
|
156
|
+
width={271}
|
|
157
|
+
height={248}
|
|
158
|
+
alt={`blog-variantB-image-${post.title}`}
|
|
159
|
+
/>
|
|
160
|
+
</div>
|
|
163
161
|
);
|
|
164
162
|
}
|
|
165
163
|
|
|
166
164
|
function PrimaryButton({ primaryButton }: { primaryButton?: LabeledRoute }) {
|
|
167
165
|
if (!primaryButton?.label) return null;
|
|
168
166
|
|
|
167
|
+
const link = buildSanityLink({
|
|
168
|
+
type: primaryButton?.type ?? "",
|
|
169
|
+
internalLink: primaryButton?.internalLink ?? "",
|
|
170
|
+
externalLink: primaryButton?.externalLink ?? "",
|
|
171
|
+
});
|
|
172
|
+
|
|
169
173
|
return (
|
|
170
174
|
<div className="text-center">
|
|
171
|
-
<Button
|
|
172
|
-
|
|
175
|
+
<Button aria-label={primaryButton?.label} asChild>
|
|
176
|
+
<Link
|
|
177
|
+
href={link.href}
|
|
178
|
+
target={link.target}
|
|
179
|
+
rel={link.rel}
|
|
180
|
+
aria-label={primaryButton?.label}>
|
|
181
|
+
{primaryButton?.label}
|
|
182
|
+
</Link>
|
|
173
183
|
</Button>
|
|
174
184
|
</div>
|
|
175
185
|
);
|
package/src/blog_c.tsx
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Badge } from "@stackshift-ui/badge";
|
|
2
2
|
import { Button } from "@stackshift-ui/button";
|
|
3
|
+
import { Card, CardContent } from "@stackshift-ui/card";
|
|
3
4
|
import { Container } from "@stackshift-ui/container";
|
|
4
5
|
import { Flex } from "@stackshift-ui/flex";
|
|
5
6
|
import { Heading } from "@stackshift-ui/heading";
|
|
6
7
|
import { Image } from "@stackshift-ui/image";
|
|
7
8
|
import { Link } from "@stackshift-ui/link";
|
|
8
9
|
import { Section } from "@stackshift-ui/section";
|
|
10
|
+
import { buildSanityLink } from "@stackshift-ui/system";
|
|
9
11
|
import { Text } from "@stackshift-ui/text";
|
|
10
12
|
import { format } from "date-fns";
|
|
11
|
-
import React from "react";
|
|
12
13
|
import { BlogProps } from ".";
|
|
13
14
|
import { useMediaQuery } from "./hooks/useMediaQuery";
|
|
14
15
|
import { BlogPost, LabeledRoute } from "./types";
|
|
@@ -64,7 +65,8 @@ function BlogItem({ post, className, key }: { key: number; post: BlogPost; class
|
|
|
64
65
|
const maxExcerptLength = breakpoints ? 70 : 200;
|
|
65
66
|
|
|
66
67
|
return (
|
|
67
|
-
<
|
|
68
|
+
<Card
|
|
69
|
+
className={`flex flex-wrap bg-white overflow-hidden rounded-lg shadow w-full ${className}`}>
|
|
68
70
|
{post?.mainImage && (
|
|
69
71
|
<Image
|
|
70
72
|
className="object-cover w-full h-auto rounded-l lg:w-1/2"
|
|
@@ -75,8 +77,8 @@ function BlogItem({ post, className, key }: { key: number; post: BlogPost; class
|
|
|
75
77
|
alt={post?.alt ?? `blog-variantC-image-${key}`}
|
|
76
78
|
/>
|
|
77
79
|
)}
|
|
78
|
-
<
|
|
79
|
-
<
|
|
80
|
+
<CardContent className="w-full px-6 py-6 rounded-r lg:w-1/2 lg:pt-10">
|
|
81
|
+
<Flex className="flex-col sm:flex-row sm:items-center gap-3">
|
|
80
82
|
{post?.categories &&
|
|
81
83
|
post?.categories?.map((category, index) => (
|
|
82
84
|
<Badge className="bg-secondary rounded-global w-fit" key={index}>
|
|
@@ -88,7 +90,7 @@ function BlogItem({ post, className, key }: { key: number; post: BlogPost; class
|
|
|
88
90
|
{format(new Date(post?.publishedAt), " dd MMM, yyyy")}
|
|
89
91
|
</Text>
|
|
90
92
|
)}
|
|
91
|
-
</
|
|
93
|
+
</Flex>
|
|
92
94
|
|
|
93
95
|
{post?.title && (
|
|
94
96
|
<Heading className="my-4 text-xl lg:text-3xl">
|
|
@@ -96,7 +98,7 @@ function BlogItem({ post, className, key }: { key: number; post: BlogPost; class
|
|
|
96
98
|
</Heading>
|
|
97
99
|
)}
|
|
98
100
|
{post?.authors && (
|
|
99
|
-
<
|
|
101
|
+
<Flex wrap className="mb-10">
|
|
100
102
|
<span className="italic text-primary">By </span>
|
|
101
103
|
{post?.authors?.map((author, index, { length }) => (
|
|
102
104
|
<>
|
|
@@ -104,7 +106,7 @@ function BlogItem({ post, className, key }: { key: number; post: BlogPost; class
|
|
|
104
106
|
{index + 1 !== length ? <span> , </span> : null}
|
|
105
107
|
</>
|
|
106
108
|
))}
|
|
107
|
-
</
|
|
109
|
+
</Flex>
|
|
108
110
|
)}
|
|
109
111
|
{post?.excerpt && (
|
|
110
112
|
<Text muted className="mb-6 leading-loose lg:text-justify">
|
|
@@ -116,27 +118,37 @@ function BlogItem({ post, className, key }: { key: number; post: BlogPost; class
|
|
|
116
118
|
{post?.link && (
|
|
117
119
|
<Link
|
|
118
120
|
aria-label="View Blog Post"
|
|
119
|
-
className="font-bold text-primary hover:text-
|
|
121
|
+
className="font-bold text-primary hover:text-secondary"
|
|
120
122
|
href={`/${post?.link}`}>
|
|
121
123
|
View Blog Post
|
|
122
124
|
</Link>
|
|
123
125
|
)}
|
|
124
|
-
</
|
|
125
|
-
</
|
|
126
|
+
</CardContent>
|
|
127
|
+
</Card>
|
|
126
128
|
);
|
|
127
129
|
}
|
|
128
130
|
|
|
129
131
|
function PrimaryButton({ primaryButton }: { primaryButton?: LabeledRoute }) {
|
|
130
132
|
if (!primaryButton?.label) return null;
|
|
131
133
|
|
|
134
|
+
const link = buildSanityLink({
|
|
135
|
+
type: primaryButton?.type ?? "",
|
|
136
|
+
internalLink: primaryButton?.internalLink ?? "",
|
|
137
|
+
externalLink: primaryButton?.externalLink ?? "",
|
|
138
|
+
});
|
|
139
|
+
|
|
132
140
|
return (
|
|
133
|
-
<
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
141
|
+
<div className="text-center">
|
|
142
|
+
<Button aria-label={primaryButton?.label} asChild>
|
|
143
|
+
<Link
|
|
144
|
+
href={link.href}
|
|
145
|
+
target={link.target}
|
|
146
|
+
rel={link.rel}
|
|
147
|
+
aria-label={primaryButton?.label}>
|
|
148
|
+
{primaryButton?.label}
|
|
149
|
+
</Link>
|
|
150
|
+
</Button>
|
|
151
|
+
</div>
|
|
140
152
|
);
|
|
141
153
|
}
|
|
142
154
|
|
package/src/blog_d.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Button } from "@stackshift-ui/button";
|
|
2
|
-
import { Card } from "@stackshift-ui/card";
|
|
2
|
+
import { Card, CardContent } from "@stackshift-ui/card";
|
|
3
3
|
import { Container } from "@stackshift-ui/container";
|
|
4
4
|
import { Flex } from "@stackshift-ui/flex";
|
|
5
5
|
import { Heading } from "@stackshift-ui/heading";
|
|
@@ -114,7 +114,7 @@ export default function Blog_D({ subtitle, title, posts }: BlogProps) {
|
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
function NoPostsMessage({ message = "No post available." }) {
|
|
117
|
-
return <
|
|
117
|
+
return <Text className="w-full px-3 lg:w-3/4 font-medium text-lg">{message}</Text>;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
function SubtitleAndTitleText({ subtitle, title }: { subtitle?: string; title?: string }) {
|
|
@@ -145,10 +145,9 @@ function SearchInput({
|
|
|
145
145
|
onChange={handleSearchChange}
|
|
146
146
|
/>
|
|
147
147
|
<Button
|
|
148
|
-
as="button"
|
|
149
148
|
variant="unstyled"
|
|
150
|
-
|
|
151
|
-
className="absolute right-0 top-0 h-full px-3
|
|
149
|
+
aria-label="Search button"
|
|
150
|
+
className="absolute right-0 top-0 h-full px-3 border-r rounded-global text-primary flex items-center">
|
|
152
151
|
<svg
|
|
153
152
|
className="w-6 h-6"
|
|
154
153
|
fill="none"
|
|
@@ -177,7 +176,7 @@ function CategoryTab({
|
|
|
177
176
|
setActiveTab: (category: string) => void;
|
|
178
177
|
}) {
|
|
179
178
|
return (
|
|
180
|
-
<Card className="w-full
|
|
179
|
+
<Card className="w-full p-3 mb-8 bg-white lg:mb-0 lg:w-1/4 rounded-md">
|
|
181
180
|
{categories && (
|
|
182
181
|
<React.Fragment>
|
|
183
182
|
<Heading
|
|
@@ -220,9 +219,8 @@ function CategoryItem({
|
|
|
220
219
|
return (
|
|
221
220
|
<li key={key}>
|
|
222
221
|
<Button
|
|
223
|
-
as="button"
|
|
224
222
|
variant="unstyled"
|
|
225
|
-
|
|
223
|
+
aria-label="Show all blog posts"
|
|
226
224
|
className={`mb-4 block ${
|
|
227
225
|
!category ? "hidden" : "block"
|
|
228
226
|
} px-3 py-2 hover:bg-secondary-foreground focus:outline-none w-full text-left rounded ${
|
|
@@ -263,10 +261,10 @@ function PostItem({ post }: { post?: BlogPost }) {
|
|
|
263
261
|
if (!post) return null;
|
|
264
262
|
|
|
265
263
|
return (
|
|
266
|
-
<
|
|
264
|
+
<Card className="flex flex-wrap mb-8 lg:mb-6 bg-white shadow rounded-lg">
|
|
267
265
|
<div className="w-full h-full mb-4 lg:mb-0 lg:w-1/4">
|
|
268
266
|
<Image
|
|
269
|
-
className="object-cover w-full h-full overflow-hidden rounded"
|
|
267
|
+
className="object-cover w-full h-full overflow-hidden rounded-l"
|
|
270
268
|
src={`${post?.mainImage}`}
|
|
271
269
|
sizes="100vw"
|
|
272
270
|
width={188}
|
|
@@ -274,13 +272,13 @@ function PostItem({ post }: { post?: BlogPost }) {
|
|
|
274
272
|
alt={post?.alt ?? `blog-variantD-image-${post?.title}`}
|
|
275
273
|
/>
|
|
276
274
|
</div>
|
|
277
|
-
<
|
|
275
|
+
<CardContent className="w-full px-3 py-2 lg:w-3/4">
|
|
278
276
|
{post?.title && (
|
|
279
277
|
<Link
|
|
280
278
|
aria-label={post?.title}
|
|
281
|
-
className="mb-1 text-2xl font-bold hover:text-secondary font-heading"
|
|
279
|
+
className="mb-1 text-2xl font-bold hover:text-secondary font-heading line-clamp-3 sm:line-clamp-1"
|
|
282
280
|
href={`/${post?.link ?? "page-not-added"}`}>
|
|
283
|
-
{post?.title
|
|
281
|
+
{post?.title}
|
|
284
282
|
</Link>
|
|
285
283
|
)}
|
|
286
284
|
<Flex wrap align="center" gap={1} className="mb-2 text-sm">
|
|
@@ -300,12 +298,12 @@ function PostItem({ post }: { post?: BlogPost }) {
|
|
|
300
298
|
) : null}
|
|
301
299
|
</Flex>
|
|
302
300
|
{post?.excerpt ? (
|
|
303
|
-
<Text muted>
|
|
304
|
-
{post?.excerpt
|
|
301
|
+
<Text muted className="line-clamp-6 sm:line-clamp-3">
|
|
302
|
+
{post?.excerpt}
|
|
305
303
|
</Text>
|
|
306
304
|
) : null}
|
|
307
|
-
</
|
|
308
|
-
</
|
|
305
|
+
</CardContent>
|
|
306
|
+
</Card>
|
|
309
307
|
);
|
|
310
308
|
}
|
|
311
309
|
|
|
@@ -330,8 +328,7 @@ function Pagination({ blogsPerPage, totalBlogs, paginate, currentPage }: Paginat
|
|
|
330
328
|
{pageNumber.map(number => (
|
|
331
329
|
<Button
|
|
332
330
|
variant="unstyled"
|
|
333
|
-
|
|
334
|
-
ariaLabel={`Page ${number}`}
|
|
331
|
+
aria-label={`Page ${number}`}
|
|
335
332
|
key={number}
|
|
336
333
|
className={`${
|
|
337
334
|
currentPage === number
|
package/dist/chunk-7K4AC7BM.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as P}from"./chunk-PC6NMI3O.mjs";import{Button as w}from"@stackshift-ui/button";import{Card as I}from"@stackshift-ui/card";import{Container as M}from"@stackshift-ui/container";import{Flex as v}from"@stackshift-ui/flex";import{Heading as C}from"@stackshift-ui/heading";import{Image as F}from"@stackshift-ui/image";import{Input as $}from"@stackshift-ui/input";import{Link as E}from"@stackshift-ui/link";import{Section as H}from"@stackshift-ui/section";import{Text as y}from"@stackshift-ui/text";import f from"react";import{jsx as n,jsxs as c}from"react/jsx-runtime";function R({subtitle:e,title:t,posts:i}){let[l,u]=f.useState("All"),[r,d]=f.useState(1),[h,k]=f.useState(""),o=6;f.useEffect(()=>{d(1)},[l]);let x=(i!=null?i:[]).flatMap(a=>{var g;return((g=a==null?void 0:a.categories)!=null?g:[]).map(b=>({category:b==null?void 0:b.title,title:a==null?void 0:a.title,slug:a==null?void 0:a.slug,excerpt:a==null?void 0:a.excerpt,publishedAt:a==null?void 0:a.publishedAt,mainImage:a==null?void 0:a.mainImage,authors:a==null?void 0:a.authors}))}),B=x==null?void 0:x.reduce((a,g)=>{let b=g==null?void 0:g.category;return a.indexOf(b)===-1&&a.push(b),a},[]),m=l==="All"?i==null?void 0:i.filter(a=>{var g;return(g=a==null?void 0:a.title)==null?void 0:g.toLowerCase().includes(h.toLowerCase())}):x.filter(a=>{var g;return(a==null?void 0:a.category)===l&&((g=a==null?void 0:a.title)==null?void 0:g.toLowerCase().includes(h.toLowerCase()))}),N=r*o,S=N-o,A=m==null?void 0:m.slice(S,N),L=a=>d(a);return n(H,{className:"py-20 bg-background",children:c(M,{maxWidth:1280,children:[n(D,{subtitle:e,title:t}),n(O,{handleSearchChange:a=>{k(a.target.value),u("All"),d(1)}}),c(v,{wrap:!0,children:[n(j,{categories:B,activeTab:l,setActiveTab:u}),(m==null?void 0:m.length)===0?n(z,{}):n(Q,{currentPosts:A,activeTab:l,blogsPerPage:o})]}),n(W,{blogsPerPage:o,totalBlogs:m==null?void 0:m.length,paginate:L,currentPage:r})]})})}function z({message:e="No post available."}){return n("div",{className:"w-full px-3 lg:w-3/4 font-medium text-lg",children:e})}function D({subtitle:e,title:t}){return c("div",{className:"w-full mb-16",children:[e?n(y,{weight:"bold",className:"text-secondary",children:e}):null,t?n(C,{fontSize:"3xl",children:t}):null]})}function O({handleSearchChange:e}){return c("div",{className:"relative mb-5 w-full lg:w-1/4",children:[n($,{type:"text","aria-label":"Search, find any question you want to ask...",className:"w-full bg-white border rounded-global font-heading focus:border-gray-500 focus:outline-none",placeholder:"Search posts...",onChange:e}),n(w,{as:"button",variant:"unstyled",ariaLabel:"Search button",className:"absolute right-0 top-0 h-full px-3 bg-white border-r rounded-global text-primary flex items-center",children:n("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:n("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})})]})}function j({categories:e,activeTab:t,setActiveTab:i}){return n(I,{className:"w-full px-3 mb-8 bg-white lg:mb-0 lg:w-1/4",borderRadius:"md",children:e&&c(f.Fragment,{children:[n(C,{type:"h3",muted:!0,weight:"bold",className:"mb-4 text-base uppercase lg:text-base",children:"Topics"}),c("ul",{children:[(e==null?void 0:e.length)>1&&n(T,{activeTab:t,setActiveTab:i,category:"All"}),e==null?void 0:e.map((l,u)=>n(T,{activeTab:t,setActiveTab:i,category:l},u))]})]})})}function T({key:e,activeTab:t,setActiveTab:i,category:l}){return n("li",{children:n(w,{as:"button",variant:"unstyled",ariaLabel:"Show all blog posts",className:`mb-4 block ${l?"block":"hidden"} px-3 py-2 hover:bg-secondary-foreground focus:outline-none w-full text-left rounded ${t===l?"font-bold text-primary focus:outline-none bg-secondary-foreground":null}`,onClick:()=>i(l),children:l})},e)}function Q({currentPosts:e,activeTab:t,blogsPerPage:i}){var l;return e?n("div",{className:"w-full px-3 lg:w-3/4",children:t==="All"?e==null?void 0:e.map((u,r)=>n(s,{post:u},r)):(l=e==null?void 0:e.slice(0,i))==null?void 0:l.map((u,r)=>n(s,{post:u},r))}):null}function s({post:e}){var t,i,l,u;return e?c(v,{wrap:!0,className:"mb-8 lg:mb-6 bg-white shadow rounded-lg",children:[n("div",{className:"w-full h-full mb-4 lg:mb-0 lg:w-1/4",children:n(F,{className:"object-cover w-full h-full overflow-hidden rounded",src:`${e==null?void 0:e.mainImage}`,sizes:"100vw",width:188,height:129,alt:(t=e==null?void 0:e.alt)!=null?t:`blog-variantD-image-${e==null?void 0:e.title}`})}),c("div",{className:"w-full px-3 py-2 lg:w-3/4",children:[(e==null?void 0:e.title)&&n(E,{"aria-label":e==null?void 0:e.title,className:"mb-1 text-2xl font-bold hover:text-secondary font-heading",href:`/${(i=e==null?void 0:e.link)!=null?i:"page-not-added"}`,children:(e==null?void 0:e.title.length)>25?((l=e==null?void 0:e.title)==null?void 0:l.substring(0,25))+"...":e==null?void 0:e.title}),c(v,{wrap:!0,align:"center",gap:1,className:"mb-2 text-sm",children:[e!=null&&e.authors?(u=e==null?void 0:e.authors)==null?void 0:u.map((r,d,{length:h})=>c(v,{children:[n(y,{className:"text-primary",children:r==null?void 0:r.name}),d+1!==h?n("span",{children:"\xA0,\xA0"}):null]},d)):null,e!=null&&e.publishedAt&&(e!=null&&e.authors)?n("span",{className:"mx-2 text-gray-500",children:"\u2022"}):null,e!=null&&e.publishedAt?n(y,{muted:!0,children:P(new Date(e==null?void 0:e.publishedAt)," dd MMM, yyyy")}):null]}),e!=null&&e.excerpt?n(y,{muted:!0,children:(e==null?void 0:e.excerpt.length)>60?(e==null?void 0:e.excerpt.substring(0,60))+"...":e==null?void 0:e.excerpt}):null]})]}):null}function W({blogsPerPage:e,totalBlogs:t,paginate:i,currentPage:l}){if(!e)return null;let u=[];for(let r=1;r<=Math.ceil(t/e);r++)u.push(r);return n("nav",{className:"mt-4","aria-label":"Pagination",children:n("ul",{className:"flex space-x-2 justify-end mr-5",children:u.map(r=>n(w,{variant:"unstyled",as:"button",ariaLabel:`Page ${r}`,className:`${l===r?"bg-secondary-foreground text-gray-500":"bg-white hover:bg-secondary-foreground hover:text-gray-500"} text-primary font-medium py-2 px-4 border border-primary rounded-global focus:outline-none`,onClick:()=>i(r),children:r},r))})})}export{R as a};
|
package/dist/chunk-DK7SFSP5.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as b}from"./chunk-TMLYY2AQ.mjs";import{a as s}from"./chunk-PC6NMI3O.mjs";import{Button as h}from"@stackshift-ui/button";import{Container as w}from"@stackshift-ui/container";import{Flex as c}from"@stackshift-ui/flex";import{Heading as o}from"@stackshift-ui/heading";import{Image as u}from"@stackshift-ui/image";import{Link as N}from"@stackshift-ui/link";import{Section as P}from"@stackshift-ui/section";import{Text as g}from"@stackshift-ui/text";import{Fragment as d,jsx as l,jsxs as r}from"react/jsx-runtime";function k({subtitle:e,title:i,posts:m,primaryButton:n}){return l(P,{className:"py-20 bg-background",children:r(w,{maxWidth:1280,children:[l(y,{subtitle:e,title:i}),l(z,{posts:m,count:0,blogsPerPage:5}),l(I,{primaryButton:n})]})})}function y({subtitle:e,title:i}){return r("div",{className:"w-full mb-16 text-center",children:[e?l(g,{weight:"bold",className:"text-secondary",children:e}):null,i?l(o,{fontSize:"3xl",children:i}):null]})}function z({posts:e,count:i,blogsPerPage:m}){return r(c,{wrap:!0,justify:"center",className:"mb-16",gap:4,children:[l("div",{className:"w-full lg:w-[45%]",children:e==null?void 0:e.slice(i,i+1).map((n,a)=>l(f,{size:"lg",post:n},a))}),l(c,{wrap:!0,className:"w-full lg:w-[45%]",gap:4,children:e==null?void 0:e.slice(i+1,m).map((n,a)=>l("div",{className:"w-full lg:basis-[45%]",children:l(f,{post:n,size:"sm"},a)},a))})]})}function f({post:e,size:i,key:m}){var a;let n=b("1024");return r("div",{className:"overflow-hidden rounded-md shadow",children:[e!=null&&e.mainImage?l($,{post:e,size:i,breakpoints:n},m):null,r("div",{className:"p-6 bg-white flex flex-col justify-between",style:{height:"295px"},children:[r("div",{children:[r(c,{align:"center",children:[e!=null&&e.publishedAt?l(g,{muted:!0,className:"text-sm",children:s(new Date(e.publishedAt)," dd MMM, yyyy")}):null,(e==null?void 0:e.authors)&&r(d,{children:[l("span",{className:"mx-2 w-1 h-1 bg-gray-500 rounded-full"}),l("div",{className:"flex mt-auto text-sm text-gray-500",children:(a=e==null?void 0:e.authors)==null?void 0:a.map((t,v,{length:x})=>r(d,{children:[l(g,{className:"italic",fontSize:"sm",children:t==null?void 0:t.name}),v+1!==x?l("span",{children:"\xA0,\xA0"}):null]}))})]})]}),e!=null&&e.title?l(o,{type:"h4",className:"my-2",children:e.title.length>25?`${e.title.substring(0,25)}...`:e.title}):null,e!=null&&e.excerpt?l(g,{muted:!0,className:"mb-6 text-justify",children:e.excerpt.length>41?`${e.excerpt.substring(0,41)}...`:e.excerpt}):null]}),e!=null&&e.link?l(N,{"aria-label":"View Blog Post",className:"font-bold text-primary hover:text-secondary",href:`/${e==null?void 0:e.link}`,children:"View Blog Post"}):null]})]})}function $({post:e,size:i,breakpoints:m,key:n}){var a;return l(d,{children:m?l(u,{className:"object-cover w-full overflow-hidden",src:`${e.mainImage}`,sizes:"100vw",style:{width:"100%",height:"auto",objectFit:"cover"},width:271,height:248,alt:(a=e==null?void 0:e.mainImage)!=null?a:`blog-variantB-image-${n}`}):l("div",{className:`${i==="lg"?"h-[44.5rem]":"h-[12.5rem]"}`,children:l(u,{className:"object-cover w-full overflow-hidden rounded-t-md",src:`${e.mainImage}`,sizes:"100vw",style:{width:"100%",height:"100%",objectFit:"cover"},width:271,height:248,alt:`blog-variantB-image-${e.title}`})})})}function I({primaryButton:e}){return e!=null&&e.label?l("div",{className:"text-center",children:l(h,{as:"link",link:e,ariaLabel:e==null?void 0:e.label,children:e==null?void 0:e.label})}):null}export{k as a};
|
package/dist/chunk-HBY4OOKD.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as P}from"./chunk-TMLYY2AQ.mjs";import{a as v}from"./chunk-PC6NMI3O.mjs";import{Badge as L}from"@stackshift-ui/badge";import{Button as y}from"@stackshift-ui/button";import{Container as $}from"@stackshift-ui/container";import{Flex as h}from"@stackshift-ui/flex";import{Heading as k}from"@stackshift-ui/heading";import{Image as C}from"@stackshift-ui/image";import{Link as I}from"@stackshift-ui/link";import{Section as M}from"@stackshift-ui/section";import{Text as g}from"@stackshift-ui/text";import{Fragment as R,jsx as l,jsxs as i}from"react/jsx-runtime";function S({subtitle:e,title:a,posts:m,primaryButton:d}){return l(M,{className:"py-20 bg-background",children:i($,{maxWidth:1280,children:[i(h,{align:"center",justify:"between",className:"flex-col mb-16 md:flex-row",gap:5,children:[l(A,{subtitle:e,title:a}),l(H,{primaryButton:d})]}),l(B,{posts:m,blogsPerPage:3})]})})}function A({subtitle:e,title:a}){return i("div",{className:"flex flex-col gap-3 text-center md:text-left",children:[e?l(g,{weight:"bold",className:"text-primary",children:e}):null,a?l(k,{fontSize:"3xl",children:a}):null]})}function B({posts:e,blogsPerPage:a}){var m;return e?l("div",{children:(m=e==null?void 0:e.slice(0,a))==null?void 0:m.map((d,r)=>l("div",{className:"flex flex-wrap mb-8 overflow-hidden rounded-md shadow",children:l(F,{post:d,className:`${r%2===0?"flex-row":"flex-row-reverse"}`},r)},r))}):null}function F({post:e,className:a,key:m}){var x,c,b,u,w,t,N;let r=P("1100")?70:200;return i(h,{wrap:!0,className:`bg-white overflow-hidden rounded-lg shadow w-full ${a}`,children:[(e==null?void 0:e.mainImage)&&l(C,{className:"object-cover w-full h-auto rounded-l lg:w-1/2",src:`${e==null?void 0:e.mainImage}`,sizes:"100vw",width:554,height:416,alt:(x=e==null?void 0:e.alt)!=null?x:`blog-variantC-image-${m}`}),i("div",{className:"w-full px-6 py-6 rounded-r lg:w-1/2 lg:pt-10",children:[i("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3",children:[(e==null?void 0:e.categories)&&((c=e==null?void 0:e.categories)==null?void 0:c.map((n,f)=>l(L,{className:"bg-secondary rounded-global w-fit",children:n==null?void 0:n.title},f))),(e==null?void 0:e.publishedAt)&&l(g,{muted:!0,className:"m-1",children:v(new Date(e==null?void 0:e.publishedAt)," dd MMM, yyyy")})]}),(e==null?void 0:e.title)&&l(k,{className:"my-4 text-xl lg:text-3xl",children:((b=e==null?void 0:e.title)==null?void 0:b.length)>40?((u=e==null?void 0:e.title)==null?void 0:u.substring(0,40))+"...":e==null?void 0:e.title}),(e==null?void 0:e.authors)&&i("div",{className:"flex mb-10 flex-wrap",children:[l("span",{className:"italic text-primary",children:"By\xA0"}),(w=e==null?void 0:e.authors)==null?void 0:w.map((n,f,{length:T})=>i(R,{children:[l(g,{className:"italic text-primary",children:n==null?void 0:n.name}),f+1!==T?l("span",{children:"\xA0,\xA0"}):null]}))]}),(e==null?void 0:e.excerpt)&&l(g,{muted:!0,className:"mb-6 leading-loose lg:text-justify",children:((t=e==null?void 0:e.excerpt)==null?void 0:t.length)>r?((N=e==null?void 0:e.excerpt)==null?void 0:N.substring(0,r))+"...":e==null?void 0:e.excerpt}),(e==null?void 0:e.link)&&l(I,{"aria-label":"View Blog Post",className:"font-bold text-primary hover:text-primary-foreground",href:`/${e==null?void 0:e.link}`,children:"View Blog Post"})]})]})}function H({primaryButton:e}){return e!=null&&e.label?l(y,{as:"link",link:e,ariaLabel:e==null?void 0:e.label,className:"inline-flex flex-wrap text-center bg-primary text-sm sm:text-base px-6 py-3 rounded-global",children:e==null?void 0:e.label}):null}export{S as a};
|
package/dist/chunk-OSCI5VC3.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as b}from"./chunk-PC6NMI3O.mjs";import{Button as w}from"@stackshift-ui/button";import{Container as N}from"@stackshift-ui/container";import{Flex as u}from"@stackshift-ui/flex";import{Heading as h}from"@stackshift-ui/heading";import{Image as k}from"@stackshift-ui/image";import{Link as P}from"@stackshift-ui/link";import{Section as y}from"@stackshift-ui/section";import{Text as v}from"@stackshift-ui/text";import{Fragment as t,jsx as l,jsxs as m}from"react/jsx-runtime";function A({subtitle:e,title:d,posts:a,primaryButton:c}){return l(y,{className:"py-20 bg-background",children:m(N,{maxWidth:1280,children:[l(F,{subtitle:e,title:d}),l(L,{posts:a}),l(S,{primaryButton:c})]})})}function F({subtitle:e,title:d}){return m("div",{className:"mb-16 text-center",children:[e?l(v,{weight:"bold",className:"text-secondary",children:e}):null,d?l(h,{fontSize:"3xl",children:d}):null]})}function L({posts:e}){var c,x,f,n;if(!e)return null;let d=6,a=0;return m(u,{gap:4,className:"flex-col lg:flex-row",children:[m("div",{className:"w-full space-y-5 lg:w-1/2",children:[(c=e==null?void 0:e.slice(a,a+1))==null?void 0:c.map((i,r)=>l(g,{post:i},r)),l(u,{gap:4,className:"flex-col lg:flex-row",children:(x=e==null?void 0:e.slice(a+1,a+3))==null?void 0:x.map((i,r)=>l(g,{post:i},r))})]}),m("div",{className:"w-full space-y-5 lg:w-1/2",children:[l(u,{gap:4,className:"flex-col lg:flex-row",children:(f=e==null?void 0:e.slice(a+3,a+5))==null?void 0:f.map((i,r)=>l(g,{post:i},r))}),(n=e==null?void 0:e.slice(a+5,d))==null?void 0:n.map((i,r)=>l(g,{post:i},r))]})]})}function g({post:e,key:d}){var a,c,x,f;return m("div",{className:"relative w-full h-64 rounded",children:[e!=null&&e.mainImage?l(k,{className:"relative object-cover w-full h-full overflow-hidden rounded-md",src:`${e==null?void 0:e.mainImage}`,alt:(a=e==null?void 0:e.alt)!=null?a:`blog-variantA-image-${d}`,sizes:"(min-width: 1540px) 740px, (min-width: 1280px) 612px, (min-width: 1040px) 484px, (min-width: 780px) 736px, (min-width: 680px) 608px, calc(94.44vw - 15px)"}):null,l("div",{className:"absolute inset-0 bg-gray-900 rounded-md opacity-75"}),m("div",{className:"absolute inset-0 flex flex-col items-start p-6",children:[e!=null&&e.categories?l("div",{className:"absolute flex left-5 top-5",children:(c=e==null?void 0:e.categories)==null?void 0:c.map((n,i)=>l("span",{className:"px-3 py-1 mb-auto mr-3 text-sm font-bold uppercase bg-white rounded-full text-primary",children:n==null?void 0:n.title},i))}):null,m(u,{align:"center",className:"mt-auto",children:[l("span",{className:"mt-auto text-sm text-gray-500",children:e!=null&&e.publishedAt?b(new Date(e==null?void 0:e.publishedAt),"dd MMM, yyyy"):""}),(e==null?void 0:e.authors)&&m(t,{children:[l("span",{className:"mx-2 w-1 h-1 bg-gray-500 rounded-full"}),l("div",{className:"flex mt-auto text-sm text-gray-500",children:(x=e==null?void 0:e.authors)==null?void 0:x.map((n,i,{length:r})=>m(t,{children:[l(v,{className:"italic",fontSize:"sm",children:n==null?void 0:n.name}),i+1!==r?l("span",{children:"\xA0,\xA0"}):null]}))})]})]}),e!=null&&e.title?l(P,{className:"text-lg font-bold text-white transform hover:scale-110 hover:text-secondary motion-reduce:transform-none",href:`/${e==null?void 0:e.link}`,children:((f=e==null?void 0:e.title)==null?void 0:f.length)>40?(e==null?void 0:e.title.substring(0,40))+"...":e==null?void 0:e.title}):null]})]})}function S({primaryButton:e}){return e!=null&&e.label?l("div",{className:"mt-10 text-center",children:l(w,{as:"link",link:e,ariaLabel:e==null?void 0:e.label,children:e==null?void 0:e.label})}):null}export{A as a};
|
|
File without changes
|