@opensite/ui 0.6.3 → 0.6.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.
- package/dist/about-startup-team.cjs +2 -2
- package/dist/about-startup-team.js +2 -2
- package/dist/article-breadcrumb-social.cjs +434 -215
- package/dist/article-breadcrumb-social.d.cts +19 -1
- package/dist/article-breadcrumb-social.d.ts +19 -1
- package/dist/article-breadcrumb-social.js +434 -214
- package/dist/article-chapters-author.cjs +422 -204
- package/dist/article-chapters-author.d.cts +19 -1
- package/dist/article-chapters-author.d.ts +19 -1
- package/dist/article-chapters-author.js +422 -203
- package/dist/article-compact-toc.cjs +429 -73
- package/dist/article-compact-toc.d.cts +19 -1
- package/dist/article-compact-toc.d.ts +19 -1
- package/dist/article-compact-toc.js +430 -73
- package/dist/article-hero-prose.cjs +394 -347
- package/dist/article-hero-prose.d.cts +19 -1
- package/dist/article-hero-prose.d.ts +19 -1
- package/dist/article-hero-prose.js +396 -348
- package/dist/article-sidebar-sticky.cjs +398 -152
- package/dist/article-sidebar-sticky.d.cts +19 -1
- package/dist/article-sidebar-sticky.d.ts +19 -1
- package/dist/article-sidebar-sticky.js +400 -153
- package/dist/article-split-animated.cjs +422 -35
- package/dist/article-split-animated.d.cts +19 -1
- package/dist/article-split-animated.d.ts +19 -1
- package/dist/article-split-animated.js +423 -35
- package/dist/article-toc-sidebar.cjs +417 -356
- package/dist/article-toc-sidebar.d.cts +19 -1
- package/dist/article-toc-sidebar.d.ts +19 -1
- package/dist/article-toc-sidebar.js +417 -355
- package/dist/blog-cards-read-time.cjs +66 -27
- package/dist/blog-cards-read-time.js +66 -27
- package/dist/blog-cards-tagline-cta.cjs +64 -14
- package/dist/blog-cards-tagline-cta.js +64 -14
- package/dist/blog-carousel-apple.cjs +1255 -0
- package/dist/blog-carousel-apple.d.cts +113 -0
- package/dist/blog-carousel-apple.d.ts +113 -0
- package/dist/blog-carousel-apple.js +1234 -0
- package/dist/blog-category-overlay.cjs +77 -15
- package/dist/blog-category-overlay.js +77 -15
- package/dist/blog-featured-popular.cjs +72 -14
- package/dist/blog-featured-popular.js +72 -14
- package/dist/blog-filtered-results.cjs +122 -39
- package/dist/blog-filtered-results.js +122 -39
- package/dist/blog-grid-author-cards.cjs +40 -6
- package/dist/blog-grid-author-cards.js +40 -6
- package/dist/blog-grid-nine-posts.cjs +40 -6
- package/dist/blog-grid-nine-posts.js +40 -6
- package/dist/blog-horizontal-cards.cjs +34 -6
- package/dist/blog-horizontal-cards.js +34 -6
- package/dist/blog-horizontal-timeline.cjs +41 -12
- package/dist/blog-horizontal-timeline.js +41 -12
- package/dist/blog-masonry-featured.cjs +96 -52
- package/dist/blog-masonry-featured.js +96 -52
- package/dist/blog-related-articles.cjs +47 -9
- package/dist/blog-related-articles.js +47 -9
- package/dist/blog-tech-insights.cjs +78 -14
- package/dist/blog-tech-insights.js +78 -14
- package/dist/registry.cjs +1036 -687
- package/dist/registry.js +1036 -687
- package/package.json +1 -1
package/dist/registry.cjs
CHANGED
|
@@ -2564,7 +2564,7 @@ function AboutStartupTeam({
|
|
|
2564
2564
|
if (sidebarSlot) return null;
|
|
2565
2565
|
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
2566
2566
|
if (!teamMembers || teamMembers.length === 0) return null;
|
|
2567
|
-
return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex gap-2 overflow-x-auto pb-2
|
|
2567
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full min-w-0 max-w-[calc(100vw-1rem)] overflow-hidden sm:max-w-[calc(100vw-2rem)] lg:hidden", children: /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "-mx-2 flex gap-2 overflow-x-auto px-2 pb-2", children: effectiveTabs.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2568
2568
|
Pressable,
|
|
2569
2569
|
{
|
|
2570
2570
|
componentType: "button",
|
|
@@ -2576,7 +2576,7 @@ function AboutStartupTeam({
|
|
|
2576
2576
|
children: link.label
|
|
2577
2577
|
},
|
|
2578
2578
|
idx
|
|
2579
|
-
)) });
|
|
2579
|
+
)) }) });
|
|
2580
2580
|
}, [sidebarSlot, effectiveTabs, activeTab]);
|
|
2581
2581
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2582
2582
|
Section,
|
|
@@ -32092,15 +32092,22 @@ function BlogGridAuthorCardsComponent({
|
|
|
32092
32092
|
postCardClassName,
|
|
32093
32093
|
viewAllClassName,
|
|
32094
32094
|
optixFlowConfig,
|
|
32095
|
-
background
|
|
32096
|
-
spacing
|
|
32095
|
+
background,
|
|
32096
|
+
spacing,
|
|
32097
32097
|
pattern,
|
|
32098
32098
|
patternOpacity
|
|
32099
32099
|
}) {
|
|
32100
32100
|
const viewAllActionContent = React52__namespace.useMemo(() => {
|
|
32101
32101
|
if (viewAllSlot) return viewAllSlot;
|
|
32102
32102
|
if (!viewAllAction) return null;
|
|
32103
|
-
const {
|
|
32103
|
+
const {
|
|
32104
|
+
label,
|
|
32105
|
+
icon,
|
|
32106
|
+
iconAfter,
|
|
32107
|
+
children,
|
|
32108
|
+
className: actionClassName,
|
|
32109
|
+
...pressableProps
|
|
32110
|
+
} = viewAllAction;
|
|
32104
32111
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32105
32112
|
Pressable,
|
|
32106
32113
|
{
|
|
@@ -32167,11 +32174,38 @@ function BlogGridAuthorCardsComponent({
|
|
|
32167
32174
|
patternOpacity,
|
|
32168
32175
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32169
32176
|
(heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 md:mb-14 lg:mb-16", headerClassName), children: [
|
|
32170
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32177
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32178
|
+
"h2",
|
|
32179
|
+
{
|
|
32180
|
+
className: cn(
|
|
32181
|
+
"mb-4 w-full text-4xl font-medium md:mb-5 md:text-5xl lg:mb-6 lg:text-6xl",
|
|
32182
|
+
headingClassName
|
|
32183
|
+
),
|
|
32184
|
+
children: heading
|
|
32185
|
+
}
|
|
32186
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })) }) }),
|
|
32171
32187
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: descriptionClassName, children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
32172
32188
|
] }),
|
|
32173
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32174
|
-
|
|
32189
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32190
|
+
"div",
|
|
32191
|
+
{
|
|
32192
|
+
className: cn(
|
|
32193
|
+
"grid gap-x-4 gap-y-8 md:grid-cols-2 lg:gap-x-6 lg:gap-y-12 2xl:grid-cols-3",
|
|
32194
|
+
postsClassName
|
|
32195
|
+
),
|
|
32196
|
+
children: postsContent
|
|
32197
|
+
}
|
|
32198
|
+
),
|
|
32199
|
+
(viewAllSlot || viewAllAction) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32200
|
+
"div",
|
|
32201
|
+
{
|
|
32202
|
+
className: cn(
|
|
32203
|
+
"mt-8 flex flex-col items-center py-2 md:hidden",
|
|
32204
|
+
viewAllClassName
|
|
32205
|
+
),
|
|
32206
|
+
children: viewAllActionContent
|
|
32207
|
+
}
|
|
32208
|
+
)
|
|
32175
32209
|
] })
|
|
32176
32210
|
}
|
|
32177
32211
|
);
|
|
@@ -32195,19 +32229,30 @@ function BlogCardsTaglineCta({
|
|
|
32195
32229
|
postsClassName,
|
|
32196
32230
|
postCardClassName,
|
|
32197
32231
|
optixFlowConfig,
|
|
32198
|
-
background
|
|
32199
|
-
spacing
|
|
32232
|
+
background,
|
|
32233
|
+
spacing,
|
|
32200
32234
|
pattern,
|
|
32201
32235
|
patternOpacity
|
|
32202
32236
|
}) {
|
|
32203
32237
|
const ctaActionContent = React52__namespace.useMemo(() => {
|
|
32204
32238
|
if (ctaSlot) return ctaSlot;
|
|
32205
32239
|
if (!ctaAction) return null;
|
|
32206
|
-
const {
|
|
32240
|
+
const {
|
|
32241
|
+
label,
|
|
32242
|
+
icon,
|
|
32243
|
+
iconAfter,
|
|
32244
|
+
children,
|
|
32245
|
+
className: actionClassName,
|
|
32246
|
+
...pressableProps
|
|
32247
|
+
} = ctaAction;
|
|
32207
32248
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32208
32249
|
Pressable,
|
|
32209
32250
|
{
|
|
32210
|
-
className: cn(
|
|
32251
|
+
className: cn(
|
|
32252
|
+
"w-full sm:w-auto inline-flex items-center",
|
|
32253
|
+
actionClassName,
|
|
32254
|
+
ctaClassName
|
|
32255
|
+
),
|
|
32211
32256
|
...pressableProps,
|
|
32212
32257
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32213
32258
|
icon,
|
|
@@ -32228,7 +32273,10 @@ function BlogCardsTaglineCta({
|
|
|
32228
32273
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32229
32274
|
Card,
|
|
32230
32275
|
{
|
|
32231
|
-
className: cn(
|
|
32276
|
+
className: cn(
|
|
32277
|
+
"grid grid-rows-[auto_auto_1fr_auto] overflow-hidden pt-0",
|
|
32278
|
+
postCardClassName
|
|
32279
|
+
),
|
|
32232
32280
|
children: [
|
|
32233
32281
|
post.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32234
32282
|
Pressable,
|
|
@@ -32280,15 +32328,51 @@ function BlogCardsTaglineCta({
|
|
|
32280
32328
|
className: cn(className),
|
|
32281
32329
|
pattern,
|
|
32282
32330
|
patternOpacity,
|
|
32283
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32284
|
-
|
|
32285
|
-
|
|
32286
|
-
|
|
32287
|
-
|
|
32288
|
-
|
|
32289
|
-
|
|
32290
|
-
|
|
32291
|
-
|
|
32331
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32332
|
+
"div",
|
|
32333
|
+
{
|
|
32334
|
+
className: cn(
|
|
32335
|
+
"container mx-auto flex flex-col items-center gap-16 lg:px-16",
|
|
32336
|
+
containerClassName
|
|
32337
|
+
),
|
|
32338
|
+
children: [
|
|
32339
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("text-center", headerClassName), children: [
|
|
32340
|
+
badge && (typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: cn("mb-6", badgeClassName), children: badge }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-6", badgeClassName), children: badge })),
|
|
32341
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32342
|
+
"h2",
|
|
32343
|
+
{
|
|
32344
|
+
className: cn(
|
|
32345
|
+
"mb-3 text-3xl font-semibold text-pretty md:mb-4 md:text-4xl lg:mb-6 lg:max-w-3xl lg:text-5xl",
|
|
32346
|
+
headingClassName
|
|
32347
|
+
),
|
|
32348
|
+
children: heading
|
|
32349
|
+
}
|
|
32350
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
32351
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32352
|
+
"p",
|
|
32353
|
+
{
|
|
32354
|
+
className: cn(
|
|
32355
|
+
"mb-8 text-muted-foreground md:text-base lg:max-w-2xl lg:text-lg",
|
|
32356
|
+
descriptionClassName
|
|
32357
|
+
),
|
|
32358
|
+
children: description
|
|
32359
|
+
}
|
|
32360
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
32361
|
+
ctaActionContent
|
|
32362
|
+
] }),
|
|
32363
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32364
|
+
"div",
|
|
32365
|
+
{
|
|
32366
|
+
className: cn(
|
|
32367
|
+
"grid gap-6 md:grid-cols-2 lg:grid-cols-3 lg:gap-8",
|
|
32368
|
+
postsClassName
|
|
32369
|
+
),
|
|
32370
|
+
children: postsContent
|
|
32371
|
+
}
|
|
32372
|
+
)
|
|
32373
|
+
]
|
|
32374
|
+
}
|
|
32375
|
+
)
|
|
32292
32376
|
}
|
|
32293
32377
|
);
|
|
32294
32378
|
}
|
|
@@ -32310,28 +32394,27 @@ function BlogCardsReadTime({
|
|
|
32310
32394
|
postCardClassName,
|
|
32311
32395
|
viewAllClassName,
|
|
32312
32396
|
optixFlowConfig,
|
|
32313
|
-
background
|
|
32314
|
-
spacing
|
|
32397
|
+
background,
|
|
32398
|
+
spacing,
|
|
32315
32399
|
pattern,
|
|
32316
32400
|
patternOpacity
|
|
32317
32401
|
}) {
|
|
32318
32402
|
const renderedViewAllAction = React52__namespace.useMemo(() => {
|
|
32319
32403
|
if (viewAllSlot) return viewAllSlot;
|
|
32320
32404
|
if (!viewAllAction) return null;
|
|
32321
|
-
const {
|
|
32322
|
-
|
|
32323
|
-
|
|
32324
|
-
|
|
32325
|
-
|
|
32326
|
-
|
|
32327
|
-
|
|
32328
|
-
|
|
32329
|
-
|
|
32330
|
-
|
|
32331
|
-
|
|
32332
|
-
|
|
32333
|
-
|
|
32334
|
-
);
|
|
32405
|
+
const {
|
|
32406
|
+
label,
|
|
32407
|
+
icon,
|
|
32408
|
+
iconAfter,
|
|
32409
|
+
children,
|
|
32410
|
+
className: actionClassName,
|
|
32411
|
+
...pressableProps
|
|
32412
|
+
} = viewAllAction;
|
|
32413
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32414
|
+
icon,
|
|
32415
|
+
label,
|
|
32416
|
+
iconAfter
|
|
32417
|
+
] }) });
|
|
32335
32418
|
}, [viewAllSlot, viewAllAction]);
|
|
32336
32419
|
const renderedPosts = React52__namespace.useMemo(() => {
|
|
32337
32420
|
if (postsSlot) return postsSlot;
|
|
@@ -32360,7 +32443,13 @@ function BlogCardsReadTime({
|
|
|
32360
32443
|
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-5" }),
|
|
32361
32444
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
|
|
32362
32445
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
32363
|
-
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-9 rounded-full ring-1 ring-input", children: post.authorAvatar && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32446
|
+
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "size-9 rounded-full ring-1 ring-input", children: post.authorAvatar && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32447
|
+
AvatarImage,
|
|
32448
|
+
{
|
|
32449
|
+
src: post.authorAvatar,
|
|
32450
|
+
alt: typeof post.author === "string" ? post.author : "Author"
|
|
32451
|
+
}
|
|
32452
|
+
) }),
|
|
32364
32453
|
post.author && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium", children: post.author })
|
|
32365
32454
|
] }),
|
|
32366
32455
|
post.readTime && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "h-fit", children: post.readTime })
|
|
@@ -32381,16 +32470,50 @@ function BlogCardsReadTime({
|
|
|
32381
32470
|
pattern,
|
|
32382
32471
|
patternOpacity,
|
|
32383
32472
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32384
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32385
|
-
|
|
32386
|
-
|
|
32387
|
-
|
|
32388
|
-
|
|
32389
|
-
|
|
32390
|
-
|
|
32391
|
-
|
|
32392
|
-
|
|
32393
|
-
|
|
32473
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32474
|
+
"div",
|
|
32475
|
+
{
|
|
32476
|
+
className: cn(
|
|
32477
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-4 text-center",
|
|
32478
|
+
headerClassName
|
|
32479
|
+
),
|
|
32480
|
+
children: [
|
|
32481
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "outline", className: "gap-1 py-1", children: [
|
|
32482
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32483
|
+
DynamicIcon,
|
|
32484
|
+
{
|
|
32485
|
+
name: "lucide/file-text",
|
|
32486
|
+
size: 16,
|
|
32487
|
+
className: "h-full w-4"
|
|
32488
|
+
}
|
|
32489
|
+
),
|
|
32490
|
+
" ",
|
|
32491
|
+
badge
|
|
32492
|
+
] }) : badge }),
|
|
32493
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32494
|
+
"h1",
|
|
32495
|
+
{
|
|
32496
|
+
className: cn(
|
|
32497
|
+
"text-4xl font-semibold text-balance",
|
|
32498
|
+
headingClassName
|
|
32499
|
+
),
|
|
32500
|
+
children: heading
|
|
32501
|
+
}
|
|
32502
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
32503
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
32504
|
+
]
|
|
32505
|
+
}
|
|
32506
|
+
),
|
|
32507
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32508
|
+
"div",
|
|
32509
|
+
{
|
|
32510
|
+
className: cn(
|
|
32511
|
+
"mt-20 grid gap-4 md:grid-cols-2 lg:grid-cols-3",
|
|
32512
|
+
postsClassName
|
|
32513
|
+
),
|
|
32514
|
+
children: renderedPosts
|
|
32515
|
+
}
|
|
32516
|
+
),
|
|
32394
32517
|
(viewAllSlot || viewAllAction) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-10 flex justify-center", viewAllClassName), children: renderedViewAllAction })
|
|
32395
32518
|
] })
|
|
32396
32519
|
}
|
|
@@ -32416,19 +32539,30 @@ function BlogCategoryOverlay({
|
|
|
32416
32539
|
postCardClassName,
|
|
32417
32540
|
categoryBadgeClassName,
|
|
32418
32541
|
optixFlowConfig,
|
|
32419
|
-
background
|
|
32420
|
-
spacing
|
|
32542
|
+
background,
|
|
32543
|
+
spacing,
|
|
32421
32544
|
pattern,
|
|
32422
32545
|
patternOpacity
|
|
32423
32546
|
}) {
|
|
32424
32547
|
const viewAllActionContent = React52__namespace.useMemo(() => {
|
|
32425
32548
|
if (viewAllSlot) return viewAllSlot;
|
|
32426
32549
|
if (!viewAllAction) return null;
|
|
32427
|
-
const {
|
|
32550
|
+
const {
|
|
32551
|
+
label,
|
|
32552
|
+
icon,
|
|
32553
|
+
iconAfter,
|
|
32554
|
+
children,
|
|
32555
|
+
className: actionClassName,
|
|
32556
|
+
...pressableProps
|
|
32557
|
+
} = viewAllAction;
|
|
32428
32558
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32429
32559
|
Pressable,
|
|
32430
32560
|
{
|
|
32431
|
-
className: cn(
|
|
32561
|
+
className: cn(
|
|
32562
|
+
"flex items-center gap-1 text-sm font-semibold",
|
|
32563
|
+
actionClassName,
|
|
32564
|
+
viewAllClassName
|
|
32565
|
+
),
|
|
32432
32566
|
...pressableProps,
|
|
32433
32567
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32434
32568
|
icon,
|
|
@@ -32459,7 +32593,10 @@ function BlogCategoryOverlay({
|
|
|
32459
32593
|
Badge,
|
|
32460
32594
|
{
|
|
32461
32595
|
variant: "secondary",
|
|
32462
|
-
className: cn(
|
|
32596
|
+
className: cn(
|
|
32597
|
+
"absolute top-4 right-4 bg-background/70 px-3 py-1 text-sm backdrop-blur-sm",
|
|
32598
|
+
categoryBadgeClassName
|
|
32599
|
+
),
|
|
32463
32600
|
children: post.category || post.label
|
|
32464
32601
|
}
|
|
32465
32602
|
)
|
|
@@ -32468,18 +32605,39 @@ function BlogCategoryOverlay({
|
|
|
32468
32605
|
post.title && (typeof post.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mb-5 text-xl font-semibold", children: post.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-5 text-xl font-semibold", children: post.title })),
|
|
32469
32606
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-6 text-sm", children: [
|
|
32470
32607
|
(post.date || post.published) && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-muted-foreground", children: [
|
|
32471
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32608
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32609
|
+
DynamicIcon,
|
|
32610
|
+
{
|
|
32611
|
+
name: "lucide/calendar",
|
|
32612
|
+
size: 16,
|
|
32613
|
+
className: "h-4 w-4"
|
|
32614
|
+
}
|
|
32615
|
+
),
|
|
32472
32616
|
post.date || post.published
|
|
32473
32617
|
] }),
|
|
32474
32618
|
readMoreText && /* @__PURE__ */ jsxRuntime.jsxs(Pressable, { href: postHref, className: "flex items-center gap-1", children: [
|
|
32475
32619
|
readMoreText,
|
|
32476
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32620
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32621
|
+
DynamicIcon,
|
|
32622
|
+
{
|
|
32623
|
+
name: "lucide/chevron-right",
|
|
32624
|
+
size: 12,
|
|
32625
|
+
className: "h-full w-3"
|
|
32626
|
+
}
|
|
32627
|
+
)
|
|
32477
32628
|
] })
|
|
32478
32629
|
] })
|
|
32479
32630
|
] })
|
|
32480
32631
|
] }, postId);
|
|
32481
32632
|
});
|
|
32482
|
-
}, [
|
|
32633
|
+
}, [
|
|
32634
|
+
postsSlot,
|
|
32635
|
+
posts,
|
|
32636
|
+
postCardClassName,
|
|
32637
|
+
categoryBadgeClassName,
|
|
32638
|
+
optixFlowConfig,
|
|
32639
|
+
readMoreText
|
|
32640
|
+
]);
|
|
32483
32641
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32484
32642
|
Section,
|
|
32485
32643
|
{
|
|
@@ -32489,13 +32647,40 @@ function BlogCategoryOverlay({
|
|
|
32489
32647
|
pattern,
|
|
32490
32648
|
patternOpacity,
|
|
32491
32649
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32492
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32493
|
-
|
|
32494
|
-
|
|
32495
|
-
|
|
32496
|
-
|
|
32497
|
-
|
|
32498
|
-
|
|
32650
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32651
|
+
"div",
|
|
32652
|
+
{
|
|
32653
|
+
className: cn(
|
|
32654
|
+
"mx-auto flex max-w-3xl flex-col items-center gap-6 text-center",
|
|
32655
|
+
headerClassName
|
|
32656
|
+
),
|
|
32657
|
+
children: [
|
|
32658
|
+
badge && /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", children: badge }) : badge }),
|
|
32659
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32660
|
+
"h1",
|
|
32661
|
+
{
|
|
32662
|
+
className: cn(
|
|
32663
|
+
"text-4xl font-semibold text-balance",
|
|
32664
|
+
headingClassName
|
|
32665
|
+
),
|
|
32666
|
+
children: heading
|
|
32667
|
+
}
|
|
32668
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
32669
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
32670
|
+
viewAllActionContent
|
|
32671
|
+
]
|
|
32672
|
+
}
|
|
32673
|
+
),
|
|
32674
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32675
|
+
"div",
|
|
32676
|
+
{
|
|
32677
|
+
className: cn(
|
|
32678
|
+
"mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3",
|
|
32679
|
+
postsClassName
|
|
32680
|
+
),
|
|
32681
|
+
children: postsContent
|
|
32682
|
+
}
|
|
32683
|
+
)
|
|
32499
32684
|
] })
|
|
32500
32685
|
}
|
|
32501
32686
|
);
|
|
@@ -32519,8 +32704,8 @@ function BlogFeaturedPopular({
|
|
|
32519
32704
|
postsClassName,
|
|
32520
32705
|
postCardClassName,
|
|
32521
32706
|
optixFlowConfig,
|
|
32522
|
-
background
|
|
32523
|
-
spacing
|
|
32707
|
+
background,
|
|
32708
|
+
spacing,
|
|
32524
32709
|
pattern,
|
|
32525
32710
|
patternOpacity
|
|
32526
32711
|
}) {
|
|
@@ -32535,7 +32720,10 @@ function BlogFeaturedPopular({
|
|
|
32535
32720
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32536
32721
|
PostWrapper,
|
|
32537
32722
|
{
|
|
32538
|
-
className: cn(
|
|
32723
|
+
className: cn(
|
|
32724
|
+
"my-16 grid grid-cols-1 items-center gap-8 md:grid-cols-2 lg:gap-16",
|
|
32725
|
+
featuredClassName
|
|
32726
|
+
),
|
|
32539
32727
|
...wrapperProps,
|
|
32540
32728
|
children: [
|
|
32541
32729
|
featuredPost.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -32543,19 +32731,38 @@ function BlogFeaturedPopular({
|
|
|
32543
32731
|
{
|
|
32544
32732
|
src: featuredPost.image,
|
|
32545
32733
|
alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured post",
|
|
32546
|
-
className: cn(
|
|
32734
|
+
className: cn(
|
|
32735
|
+
"aspect-video rounded-lg object-cover",
|
|
32736
|
+
featuredImageClassName
|
|
32737
|
+
),
|
|
32547
32738
|
optixFlowConfig
|
|
32548
32739
|
}
|
|
32549
32740
|
),
|
|
32550
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32551
|
-
|
|
32552
|
-
|
|
32553
|
-
|
|
32554
|
-
|
|
32741
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32742
|
+
"div",
|
|
32743
|
+
{
|
|
32744
|
+
className: cn(
|
|
32745
|
+
"flex flex-col items-start gap-4",
|
|
32746
|
+
featuredContentClassName
|
|
32747
|
+
),
|
|
32748
|
+
children: [
|
|
32749
|
+
(featuredPost.category || featuredPost.label) && /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: "shrink", children: featuredPost.category || featuredPost.label }),
|
|
32750
|
+
featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-semibold text-balance md:max-w-lg lg:text-3xl", children: featuredPost.title })),
|
|
32751
|
+
(featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground md:max-w-lg", children: featuredPost.description || featuredPost.summary })
|
|
32752
|
+
]
|
|
32753
|
+
}
|
|
32754
|
+
)
|
|
32555
32755
|
]
|
|
32556
32756
|
}
|
|
32557
32757
|
);
|
|
32558
|
-
}, [
|
|
32758
|
+
}, [
|
|
32759
|
+
featuredSlot,
|
|
32760
|
+
featuredPost,
|
|
32761
|
+
featuredClassName,
|
|
32762
|
+
featuredImageClassName,
|
|
32763
|
+
featuredContentClassName,
|
|
32764
|
+
optixFlowConfig
|
|
32765
|
+
]);
|
|
32559
32766
|
const renderedPopularPosts = React52__namespace.useMemo(() => {
|
|
32560
32767
|
if (postsSlot) return postsSlot;
|
|
32561
32768
|
if (!popularPosts || popularPosts.length === 0) return null;
|
|
@@ -32598,19 +32805,55 @@ function BlogFeaturedPopular({
|
|
|
32598
32805
|
patternOpacity,
|
|
32599
32806
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32600
32807
|
(heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-16 text-center", headerClassName), children: [
|
|
32601
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32602
|
-
|
|
32603
|
-
|
|
32604
|
-
|
|
32605
|
-
|
|
32606
|
-
|
|
32607
|
-
|
|
32608
|
-
|
|
32609
|
-
|
|
32610
|
-
|
|
32611
|
-
|
|
32612
|
-
|
|
32613
|
-
|
|
32808
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32809
|
+
"h1",
|
|
32810
|
+
{
|
|
32811
|
+
className: cn(
|
|
32812
|
+
"text-5xl font-medium md:text-6xl",
|
|
32813
|
+
headingClassName
|
|
32814
|
+
),
|
|
32815
|
+
children: heading
|
|
32816
|
+
}
|
|
32817
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
32818
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32819
|
+
"p",
|
|
32820
|
+
{
|
|
32821
|
+
className: cn(
|
|
32822
|
+
"mx-auto mt-4 max-w-xl text-lg text-muted-foreground",
|
|
32823
|
+
descriptionClassName
|
|
32824
|
+
),
|
|
32825
|
+
children: description
|
|
32826
|
+
}
|
|
32827
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
32828
|
+
] }),
|
|
32829
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto max-w-7xl", children: [
|
|
32830
|
+
renderedFeaturedPost,
|
|
32831
|
+
popularHeading && (typeof popularHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32832
|
+
"p",
|
|
32833
|
+
{
|
|
32834
|
+
className: cn(
|
|
32835
|
+
"text-2xl font-medium md:text-3xl",
|
|
32836
|
+
popularHeadingClassName
|
|
32837
|
+
),
|
|
32838
|
+
children: popularHeading
|
|
32839
|
+
}
|
|
32840
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: popularHeadingClassName, children: popularHeading })),
|
|
32841
|
+
renderedPopularPosts && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32842
|
+
"div",
|
|
32843
|
+
{
|
|
32844
|
+
className: cn(
|
|
32845
|
+
"mt-8 grid grid-cols-1 gap-10 md:grid-cols-3 md:gap-6",
|
|
32846
|
+
postsClassName
|
|
32847
|
+
),
|
|
32848
|
+
children: renderedPopularPosts
|
|
32849
|
+
}
|
|
32850
|
+
)
|
|
32851
|
+
] })
|
|
32852
|
+
] })
|
|
32853
|
+
}
|
|
32854
|
+
);
|
|
32855
|
+
}
|
|
32856
|
+
function BlogRelatedArticles({
|
|
32614
32857
|
heading,
|
|
32615
32858
|
seeAllAction,
|
|
32616
32859
|
seeAllSlot,
|
|
@@ -32623,20 +32866,31 @@ function BlogRelatedArticles({
|
|
|
32623
32866
|
seeAllClassName,
|
|
32624
32867
|
articlesClassName,
|
|
32625
32868
|
articleCardClassName,
|
|
32626
|
-
background
|
|
32627
|
-
spacing
|
|
32869
|
+
background,
|
|
32870
|
+
spacing,
|
|
32628
32871
|
pattern,
|
|
32629
32872
|
patternOpacity
|
|
32630
32873
|
}) {
|
|
32631
32874
|
const renderedSeeAllAction = React52__namespace.useMemo(() => {
|
|
32632
32875
|
if (seeAllSlot) return seeAllSlot;
|
|
32633
32876
|
if (!seeAllAction) return null;
|
|
32634
|
-
const {
|
|
32877
|
+
const {
|
|
32878
|
+
label,
|
|
32879
|
+
icon,
|
|
32880
|
+
iconAfter,
|
|
32881
|
+
children,
|
|
32882
|
+
className: actionClassName,
|
|
32883
|
+
...pressableProps
|
|
32884
|
+
} = seeAllAction;
|
|
32635
32885
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32636
32886
|
Pressable,
|
|
32637
32887
|
{
|
|
32638
32888
|
asButton: true,
|
|
32639
|
-
className: cn(
|
|
32889
|
+
className: cn(
|
|
32890
|
+
"md:h-10 md:px-4 md:py-2",
|
|
32891
|
+
actionClassName,
|
|
32892
|
+
seeAllClassName
|
|
32893
|
+
),
|
|
32640
32894
|
...pressableProps,
|
|
32641
32895
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32642
32896
|
icon,
|
|
@@ -32677,11 +32931,38 @@ function BlogRelatedArticles({
|
|
|
32677
32931
|
pattern,
|
|
32678
32932
|
patternOpacity,
|
|
32679
32933
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32680
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32681
|
-
|
|
32682
|
-
|
|
32683
|
-
|
|
32684
|
-
|
|
32934
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32935
|
+
"div",
|
|
32936
|
+
{
|
|
32937
|
+
className: cn(
|
|
32938
|
+
"mb-8 flex flex-wrap items-center justify-between gap-1",
|
|
32939
|
+
headerClassName
|
|
32940
|
+
),
|
|
32941
|
+
children: [
|
|
32942
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32943
|
+
"h1",
|
|
32944
|
+
{
|
|
32945
|
+
className: cn(
|
|
32946
|
+
"text-2xl font-semibold md:text-4xl",
|
|
32947
|
+
headingClassName
|
|
32948
|
+
),
|
|
32949
|
+
children: heading
|
|
32950
|
+
}
|
|
32951
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
32952
|
+
renderedSeeAllAction
|
|
32953
|
+
]
|
|
32954
|
+
}
|
|
32955
|
+
),
|
|
32956
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
32957
|
+
"div",
|
|
32958
|
+
{
|
|
32959
|
+
className: cn(
|
|
32960
|
+
"grid grid-cols-1 gap-16 md:grid-cols-2 lg:grid-cols-4 lg:gap-10",
|
|
32961
|
+
articlesClassName
|
|
32962
|
+
),
|
|
32963
|
+
children: renderedArticles
|
|
32964
|
+
}
|
|
32965
|
+
)
|
|
32685
32966
|
] })
|
|
32686
32967
|
}
|
|
32687
32968
|
);
|
|
@@ -32707,20 +32988,31 @@ function BlogTechInsights({
|
|
|
32707
32988
|
secondaryPostsClassName,
|
|
32708
32989
|
secondaryPostItemClassName,
|
|
32709
32990
|
optixFlowConfig,
|
|
32710
|
-
background
|
|
32711
|
-
spacing
|
|
32991
|
+
background,
|
|
32992
|
+
spacing,
|
|
32712
32993
|
pattern,
|
|
32713
32994
|
patternOpacity
|
|
32714
32995
|
}) {
|
|
32715
32996
|
const readMoreActionContent = React52.useMemo(() => {
|
|
32716
32997
|
if (readMoreSlot) return readMoreSlot;
|
|
32717
32998
|
if (!readMoreAction) return null;
|
|
32718
|
-
const {
|
|
32999
|
+
const {
|
|
33000
|
+
label,
|
|
33001
|
+
icon,
|
|
33002
|
+
iconAfter,
|
|
33003
|
+
children,
|
|
33004
|
+
className: actionClassName,
|
|
33005
|
+
...pressableProps
|
|
33006
|
+
} = readMoreAction;
|
|
32719
33007
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32720
33008
|
Pressable,
|
|
32721
33009
|
{
|
|
32722
33010
|
asButton: true,
|
|
32723
|
-
className: cn(
|
|
33011
|
+
className: cn(
|
|
33012
|
+
"ml-auto rounded-full border-foreground text-foreground",
|
|
33013
|
+
actionClassName,
|
|
33014
|
+
readMoreClassName
|
|
33015
|
+
),
|
|
32724
33016
|
...pressableProps,
|
|
32725
33017
|
children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32726
33018
|
icon,
|
|
@@ -32737,7 +33029,10 @@ function BlogTechInsights({
|
|
|
32737
33029
|
featuredPost.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32738
33030
|
img.Img,
|
|
32739
33031
|
{
|
|
32740
|
-
className: cn(
|
|
33032
|
+
className: cn(
|
|
33033
|
+
"w-full rounded-lg object-cover",
|
|
33034
|
+
featuredImageClassName
|
|
33035
|
+
),
|
|
32741
33036
|
src: featuredPost.image,
|
|
32742
33037
|
alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured item",
|
|
32743
33038
|
optixFlowConfig
|
|
@@ -32752,7 +33047,13 @@ function BlogTechInsights({
|
|
|
32752
33047
|
] })
|
|
32753
33048
|
] })
|
|
32754
33049
|
] });
|
|
32755
|
-
}, [
|
|
33050
|
+
}, [
|
|
33051
|
+
featuredSlot,
|
|
33052
|
+
featuredPost,
|
|
33053
|
+
featuredClassName,
|
|
33054
|
+
featuredImageClassName,
|
|
33055
|
+
optixFlowConfig
|
|
33056
|
+
]);
|
|
32756
33057
|
const secondaryPostsContent = React52.useMemo(() => {
|
|
32757
33058
|
if (secondaryPostsSlot) return secondaryPostsSlot;
|
|
32758
33059
|
if (!secondaryPosts || secondaryPosts.length === 0) return null;
|
|
@@ -32761,7 +33062,10 @@ function BlogTechInsights({
|
|
|
32761
33062
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
32762
33063
|
"div",
|
|
32763
33064
|
{
|
|
32764
|
-
className: cn(
|
|
33065
|
+
className: cn(
|
|
33066
|
+
"flex items-start gap-4 border-b pb-6 last:border-b-0",
|
|
33067
|
+
secondaryPostItemClassName
|
|
33068
|
+
),
|
|
32765
33069
|
children: [
|
|
32766
33070
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-1/4 shrink-0 md:w-1/5", children: post.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
32767
33071
|
img.Img,
|
|
@@ -32778,7 +33082,12 @@ function BlogTechInsights({
|
|
|
32778
33082
|
postId
|
|
32779
33083
|
);
|
|
32780
33084
|
});
|
|
32781
|
-
}, [
|
|
33085
|
+
}, [
|
|
33086
|
+
secondaryPostsSlot,
|
|
33087
|
+
secondaryPosts,
|
|
33088
|
+
secondaryPostItemClassName,
|
|
33089
|
+
optixFlowConfig
|
|
33090
|
+
]);
|
|
32782
33091
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32783
33092
|
Section,
|
|
32784
33093
|
{
|
|
@@ -32789,16 +33098,52 @@ function BlogTechInsights({
|
|
|
32789
33098
|
patternOpacity,
|
|
32790
33099
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
32791
33100
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8", headerClassName), children: [
|
|
32792
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33101
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33102
|
+
"h1",
|
|
33103
|
+
{
|
|
33104
|
+
className: cn(
|
|
33105
|
+
"text-3xl font-bold text-foreground md:text-4xl lg:text-5xl",
|
|
33106
|
+
headingClassName
|
|
33107
|
+
),
|
|
33108
|
+
children: heading
|
|
33109
|
+
}
|
|
33110
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
32793
33111
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 flex justify-start", children: [
|
|
32794
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33112
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33113
|
+
"span",
|
|
33114
|
+
{
|
|
33115
|
+
className: cn(
|
|
33116
|
+
"mt-2 block text-sm text-muted-foreground md:text-base",
|
|
33117
|
+
descriptionClassName
|
|
33118
|
+
),
|
|
33119
|
+
children: description
|
|
33120
|
+
}
|
|
33121
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
|
|
32795
33122
|
readMoreActionContent
|
|
32796
33123
|
] })
|
|
32797
33124
|
] }),
|
|
32798
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
32799
|
-
|
|
32800
|
-
|
|
32801
|
-
|
|
33125
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
33126
|
+
"div",
|
|
33127
|
+
{
|
|
33128
|
+
className: cn(
|
|
33129
|
+
"mt-12 grid grid-cols-1 gap-8 md:grid-cols-2 lg:gap-12",
|
|
33130
|
+
contentClassName
|
|
33131
|
+
),
|
|
33132
|
+
children: [
|
|
33133
|
+
featuredPostContent,
|
|
33134
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33135
|
+
"div",
|
|
33136
|
+
{
|
|
33137
|
+
className: cn(
|
|
33138
|
+
"space-y-6 text-foreground md:space-y-8",
|
|
33139
|
+
secondaryPostsClassName
|
|
33140
|
+
),
|
|
33141
|
+
children: secondaryPostsContent
|
|
33142
|
+
}
|
|
33143
|
+
)
|
|
33144
|
+
]
|
|
33145
|
+
}
|
|
33146
|
+
)
|
|
32802
33147
|
] })
|
|
32803
33148
|
}
|
|
32804
33149
|
);
|
|
@@ -32822,15 +33167,22 @@ function BlogHorizontalCards({
|
|
|
32822
33167
|
postCardClassName,
|
|
32823
33168
|
ctaClassName,
|
|
32824
33169
|
optixFlowConfig,
|
|
32825
|
-
background
|
|
32826
|
-
spacing
|
|
33170
|
+
background,
|
|
33171
|
+
spacing,
|
|
32827
33172
|
pattern,
|
|
32828
33173
|
patternOpacity
|
|
32829
33174
|
}) {
|
|
32830
33175
|
const ctaContent = React52__namespace.useMemo(() => {
|
|
32831
33176
|
if (ctaSlot) return ctaSlot;
|
|
32832
33177
|
if (!ctaAction) return null;
|
|
32833
|
-
const {
|
|
33178
|
+
const {
|
|
33179
|
+
label,
|
|
33180
|
+
icon,
|
|
33181
|
+
iconAfter,
|
|
33182
|
+
children,
|
|
33183
|
+
className: actionClassName,
|
|
33184
|
+
...pressableProps
|
|
33185
|
+
} = ctaAction;
|
|
32834
33186
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32835
33187
|
Pressable,
|
|
32836
33188
|
{
|
|
@@ -32858,7 +33210,10 @@ function BlogHorizontalCards({
|
|
|
32858
33210
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
32859
33211
|
Card,
|
|
32860
33212
|
{
|
|
32861
|
-
className: cn(
|
|
33213
|
+
className: cn(
|
|
33214
|
+
"overflow-hidden border-0 bg-transparent shadow-none",
|
|
33215
|
+
postCardClassName
|
|
33216
|
+
),
|
|
32862
33217
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 sm:flex-row", children: [
|
|
32863
33218
|
post.image && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
32864
33219
|
Pressable,
|
|
@@ -32920,8 +33275,26 @@ function BlogHorizontalCards({
|
|
|
32920
33275
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container mx-auto", containerClassName), children: [
|
|
32921
33276
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl text-center", headerClassName), children: [
|
|
32922
33277
|
badge && (typeof badge === "string" ? /* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "secondary", className: cn("mb-6", badgeClassName), children: badge }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-6", badgeClassName), children: badge })),
|
|
32923
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
32924
|
-
|
|
33278
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33279
|
+
"h2",
|
|
33280
|
+
{
|
|
33281
|
+
className: cn(
|
|
33282
|
+
"mb-3 text-3xl font-semibold text-pretty md:mb-4 md:text-5xl lg:mb-6",
|
|
33283
|
+
headingClassName
|
|
33284
|
+
),
|
|
33285
|
+
children: heading
|
|
33286
|
+
}
|
|
33287
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
33288
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33289
|
+
"p",
|
|
33290
|
+
{
|
|
33291
|
+
className: cn(
|
|
33292
|
+
"mb-12 text-muted-foreground md:text-base lg:text-lg",
|
|
33293
|
+
descriptionClassName
|
|
33294
|
+
),
|
|
33295
|
+
children: description
|
|
33296
|
+
}
|
|
33297
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
32925
33298
|
] }),
|
|
32926
33299
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto max-w-5xl space-y-12", postsClassName), children: postsContent }),
|
|
32927
33300
|
(ctaSlot || ctaAction) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-16 text-center", ctaClassName), children: ctaContent })
|
|
@@ -33006,7 +33379,11 @@ function BreadcrumbSeparator({
|
|
|
33006
33379
|
);
|
|
33007
33380
|
}
|
|
33008
33381
|
var POSTS_PER_PAGE = 6;
|
|
33009
|
-
var BlogCard = React52__namespace.memo(function BlogCard2({
|
|
33382
|
+
var BlogCard = React52__namespace.memo(function BlogCard2({
|
|
33383
|
+
post,
|
|
33384
|
+
optixFlowConfig,
|
|
33385
|
+
className
|
|
33386
|
+
}) {
|
|
33010
33387
|
const postHref = post.href || post.url || post.link || "#";
|
|
33011
33388
|
const postImage = post.thumbnail || post.image;
|
|
33012
33389
|
const postTitle = typeof post.title === "string" ? post.title : "Content item";
|
|
@@ -33040,28 +33417,36 @@ var FilterForm = React52__namespace.memo(function FilterForm2({
|
|
|
33040
33417
|
onCategoryChange,
|
|
33041
33418
|
className
|
|
33042
33419
|
}) {
|
|
33043
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33044
|
-
|
|
33045
|
-
|
|
33046
|
-
|
|
33047
|
-
{
|
|
33048
|
-
|
|
33049
|
-
|
|
33050
|
-
|
|
33051
|
-
|
|
33052
|
-
|
|
33053
|
-
|
|
33054
|
-
|
|
33055
|
-
|
|
33056
|
-
|
|
33057
|
-
|
|
33058
|
-
|
|
33059
|
-
|
|
33060
|
-
|
|
33061
|
-
|
|
33062
|
-
|
|
33420
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33421
|
+
"div",
|
|
33422
|
+
{
|
|
33423
|
+
className: cn("flex w-full flex-wrap items-center gap-2.5", className),
|
|
33424
|
+
children: categories.map((category) => {
|
|
33425
|
+
const isChecked = selectedCategories.includes(category.value);
|
|
33426
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33427
|
+
Label,
|
|
33428
|
+
{
|
|
33429
|
+
className: "flex cursor-pointer items-center gap-2.5 rounded-full bg-muted px-2.5 py-1.5",
|
|
33430
|
+
children: [
|
|
33431
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { children: category.label }),
|
|
33432
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33433
|
+
Checkbox,
|
|
33434
|
+
{
|
|
33435
|
+
checked: isChecked,
|
|
33436
|
+
onCheckedChange: (checked) => onCategoryChange(category.value, !!checked)
|
|
33437
|
+
}
|
|
33438
|
+
)
|
|
33439
|
+
]
|
|
33440
|
+
},
|
|
33441
|
+
category.value
|
|
33442
|
+
);
|
|
33443
|
+
})
|
|
33444
|
+
}
|
|
33445
|
+
);
|
|
33063
33446
|
});
|
|
33064
|
-
var BreadcrumbBlog = React52__namespace.memo(function BreadcrumbBlog2({
|
|
33447
|
+
var BreadcrumbBlog = React52__namespace.memo(function BreadcrumbBlog2({
|
|
33448
|
+
breadcrumb
|
|
33449
|
+
}) {
|
|
33065
33450
|
return /* @__PURE__ */ jsxRuntime.jsx(Breadcrumb, { children: /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbList, { children: breadcrumb.map((item, i) => {
|
|
33066
33451
|
const labelKey = typeof item.label === "string" ? item.label : `breadcrumb-${i}`;
|
|
33067
33452
|
return /* @__PURE__ */ jsxRuntime.jsxs(React52.Fragment, { children: [
|
|
@@ -33097,8 +33482,8 @@ function BlogFilteredResultsComponent({
|
|
|
33097
33482
|
postCardClassName,
|
|
33098
33483
|
loadMoreClassName,
|
|
33099
33484
|
optixFlowConfig,
|
|
33100
|
-
background
|
|
33101
|
-
spacing
|
|
33485
|
+
background,
|
|
33486
|
+
spacing,
|
|
33102
33487
|
pattern,
|
|
33103
33488
|
patternOpacity
|
|
33104
33489
|
}) {
|
|
@@ -33149,7 +33534,14 @@ function BlogFilteredResultsComponent({
|
|
|
33149
33534
|
const primaryPostContent = React52__namespace.useMemo(() => {
|
|
33150
33535
|
if (primaryPostSlot) return primaryPostSlot;
|
|
33151
33536
|
if (!primaryPost) return null;
|
|
33152
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33537
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33538
|
+
BlogCard,
|
|
33539
|
+
{
|
|
33540
|
+
post: primaryPost,
|
|
33541
|
+
optixFlowConfig,
|
|
33542
|
+
className: postCardClassName
|
|
33543
|
+
}
|
|
33544
|
+
);
|
|
33153
33545
|
}, [primaryPostSlot, primaryPost, optixFlowConfig, postCardClassName]);
|
|
33154
33546
|
const categoriesContent = React52__namespace.useMemo(() => {
|
|
33155
33547
|
if (categoriesSlot) return categoriesSlot;
|
|
@@ -33163,7 +33555,13 @@ function BlogFilteredResultsComponent({
|
|
|
33163
33555
|
className: categoriesClassName
|
|
33164
33556
|
}
|
|
33165
33557
|
);
|
|
33166
|
-
}, [
|
|
33558
|
+
}, [
|
|
33559
|
+
categoriesSlot,
|
|
33560
|
+
categories,
|
|
33561
|
+
selectedCategories,
|
|
33562
|
+
handleCategoryChange,
|
|
33563
|
+
categoriesClassName
|
|
33564
|
+
]);
|
|
33167
33565
|
const postsContent = React52__namespace.useMemo(() => {
|
|
33168
33566
|
if (postsSlot) return postsSlot;
|
|
33169
33567
|
return postsToDisplay.slice(0, visibleCount).map((post) => {
|
|
@@ -33178,11 +33576,24 @@ function BlogFilteredResultsComponent({
|
|
|
33178
33576
|
postKey
|
|
33179
33577
|
);
|
|
33180
33578
|
});
|
|
33181
|
-
}, [
|
|
33579
|
+
}, [
|
|
33580
|
+
postsSlot,
|
|
33581
|
+
postsToDisplay,
|
|
33582
|
+
visibleCount,
|
|
33583
|
+
optixFlowConfig,
|
|
33584
|
+
postCardClassName
|
|
33585
|
+
]);
|
|
33182
33586
|
const loadMoreContent = React52__namespace.useMemo(() => {
|
|
33183
33587
|
if (loadMoreSlot) return loadMoreSlot;
|
|
33184
33588
|
if (!loadMoreAction || !hasMore) return null;
|
|
33185
|
-
const {
|
|
33589
|
+
const {
|
|
33590
|
+
label,
|
|
33591
|
+
icon,
|
|
33592
|
+
iconAfter,
|
|
33593
|
+
children,
|
|
33594
|
+
className: actionClassName,
|
|
33595
|
+
...pressableProps
|
|
33596
|
+
} = loadMoreAction;
|
|
33186
33597
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33187
33598
|
Pressable,
|
|
33188
33599
|
{
|
|
@@ -33207,22 +33618,67 @@ function BlogFilteredResultsComponent({
|
|
|
33207
33618
|
pattern,
|
|
33208
33619
|
patternOpacity,
|
|
33209
33620
|
children: [
|
|
33210
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33211
|
-
|
|
33212
|
-
|
|
33213
|
-
|
|
33214
|
-
|
|
33215
|
-
|
|
33621
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33622
|
+
"div",
|
|
33623
|
+
{
|
|
33624
|
+
className: cn(
|
|
33625
|
+
"bg-muted bg-size-[3.125rem_3.125rem] bg-repeat",
|
|
33626
|
+
heroClassName
|
|
33627
|
+
),
|
|
33628
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex flex-col items-start justify-start gap-16 py-20 lg:flex-row lg:items-center lg:justify-between", children: [
|
|
33629
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full flex-col justify-between gap-12", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full max-w-xl flex-col gap-8", children: [
|
|
33630
|
+
breadcrumbContent,
|
|
33631
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col gap-5", children: [
|
|
33632
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33633
|
+
"h1",
|
|
33634
|
+
{
|
|
33635
|
+
className: cn(
|
|
33636
|
+
"text-[2.5rem] leading-[1.2] font-semibold md:text-5xl lg:text-6xl",
|
|
33637
|
+
headingClassName
|
|
33638
|
+
),
|
|
33639
|
+
children: heading
|
|
33640
|
+
}
|
|
33641
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
33642
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33643
|
+
"p",
|
|
33644
|
+
{
|
|
33645
|
+
className: cn(
|
|
33646
|
+
"text-xl leading-[1.4] text-muted-foreground",
|
|
33647
|
+
descriptionClassName
|
|
33648
|
+
),
|
|
33649
|
+
children: description
|
|
33650
|
+
}
|
|
33651
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
33652
|
+
] })
|
|
33653
|
+
] }) }),
|
|
33654
|
+
(primaryPostSlot || primaryPost) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full max-w-110", primaryPostClassName), children: primaryPostContent })
|
|
33216
33655
|
] })
|
|
33217
|
-
|
|
33218
|
-
|
|
33219
|
-
] }) }),
|
|
33656
|
+
}
|
|
33657
|
+
),
|
|
33220
33658
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("py-20", allContentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "container flex flex-col gap-8", children: [
|
|
33221
|
-
allContentHeading && (typeof allContentHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33659
|
+
allContentHeading && (typeof allContentHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33660
|
+
"h2",
|
|
33661
|
+
{
|
|
33662
|
+
className: cn(
|
|
33663
|
+
"text-[1.75rem] leading-none font-medium md:text-[2.25rem] lg:text-[2rem]",
|
|
33664
|
+
allContentHeadingClassName
|
|
33665
|
+
),
|
|
33666
|
+
children: allContentHeading
|
|
33667
|
+
}
|
|
33668
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: allContentHeadingClassName, children: allContentHeading })),
|
|
33222
33669
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
33223
33670
|
categoriesContent,
|
|
33224
33671
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col gap-4 py-8 lg:gap-8", children: [
|
|
33225
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33672
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33673
|
+
"div",
|
|
33674
|
+
{
|
|
33675
|
+
className: cn(
|
|
33676
|
+
"grid gap-10 md:grid-cols-2 lg:grid-cols-3",
|
|
33677
|
+
postsClassName
|
|
33678
|
+
),
|
|
33679
|
+
children: postsContent
|
|
33680
|
+
}
|
|
33681
|
+
),
|
|
33226
33682
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex justify-center", loadMoreClassName), children: loadMoreContent })
|
|
33227
33683
|
] })
|
|
33228
33684
|
] })
|
|
@@ -33244,8 +33700,8 @@ function BlogMasonryFeaturedComponent({
|
|
|
33244
33700
|
featuredImageClassName,
|
|
33245
33701
|
postCardClassName,
|
|
33246
33702
|
optixFlowConfig,
|
|
33247
|
-
background
|
|
33248
|
-
spacing
|
|
33703
|
+
background,
|
|
33704
|
+
spacing,
|
|
33249
33705
|
pattern,
|
|
33250
33706
|
patternOpacity
|
|
33251
33707
|
}) {
|
|
@@ -33253,61 +33709,87 @@ function BlogMasonryFeaturedComponent({
|
|
|
33253
33709
|
const otherPosts = posts?.slice(1);
|
|
33254
33710
|
const featuredPostContent = React52__namespace.useMemo(() => {
|
|
33255
33711
|
if (featuredSlot) return featuredSlot;
|
|
33256
|
-
if (!featuredPost) return null;
|
|
33257
|
-
const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
|
|
33258
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33259
|
-
|
|
33260
|
-
{
|
|
33261
|
-
|
|
33262
|
-
|
|
33263
|
-
|
|
33264
|
-
|
|
33265
|
-
|
|
33266
|
-
|
|
33267
|
-
|
|
33268
|
-
|
|
33269
|
-
|
|
33270
|
-
|
|
33271
|
-
|
|
33272
|
-
|
|
33273
|
-
|
|
33274
|
-
|
|
33275
|
-
|
|
33276
|
-
|
|
33277
|
-
|
|
33278
|
-
|
|
33279
|
-
|
|
33280
|
-
|
|
33281
|
-
|
|
33282
|
-
|
|
33712
|
+
if (!featuredPost) return null;
|
|
33713
|
+
const postHref = featuredPost.href || featuredPost.url || featuredPost.link || "#";
|
|
33714
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33715
|
+
"div",
|
|
33716
|
+
{
|
|
33717
|
+
className: cn(
|
|
33718
|
+
"relative md:row-span-2 lg:col-span-2",
|
|
33719
|
+
featuredClassName
|
|
33720
|
+
),
|
|
33721
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33722
|
+
Pressable,
|
|
33723
|
+
{
|
|
33724
|
+
href: postHref,
|
|
33725
|
+
className: "block h-fit rounded-lg p-3 md:top-0",
|
|
33726
|
+
children: [
|
|
33727
|
+
featuredPost.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33728
|
+
img.Img,
|
|
33729
|
+
{
|
|
33730
|
+
src: featuredPost.image,
|
|
33731
|
+
alt: typeof featuredPost.title === "string" ? featuredPost.title : "Featured content",
|
|
33732
|
+
className: cn(
|
|
33733
|
+
"h-48 w-full rounded-lg object-cover hover:opacity-80 md:h-80 lg:h-96",
|
|
33734
|
+
featuredImageClassName
|
|
33735
|
+
),
|
|
33736
|
+
optixFlowConfig
|
|
33737
|
+
}
|
|
33738
|
+
),
|
|
33739
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-5", children: [
|
|
33740
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
|
|
33741
|
+
(featuredPost.date || featuredPost.published) && /* @__PURE__ */ jsxRuntime.jsx("time", { children: featuredPost.date || featuredPost.published }),
|
|
33742
|
+
(featuredPost.date || featuredPost.published) && featuredPost.author && "\xB7",
|
|
33743
|
+
featuredPost.author && /* @__PURE__ */ jsxRuntime.jsx("span", { children: featuredPost.author })
|
|
33744
|
+
] }),
|
|
33745
|
+
featuredPost.title && (typeof featuredPost.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg md:text-3xl lg:text-4xl", children: featuredPost.title })),
|
|
33746
|
+
(featuredPost.description || featuredPost.summary) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-4 text-muted-foreground", children: featuredPost.description || featuredPost.summary })
|
|
33747
|
+
] })
|
|
33748
|
+
]
|
|
33749
|
+
}
|
|
33750
|
+
)
|
|
33283
33751
|
}
|
|
33284
|
-
)
|
|
33285
|
-
}, [
|
|
33752
|
+
);
|
|
33753
|
+
}, [
|
|
33754
|
+
featuredSlot,
|
|
33755
|
+
featuredPost,
|
|
33756
|
+
featuredClassName,
|
|
33757
|
+
featuredImageClassName,
|
|
33758
|
+
optixFlowConfig
|
|
33759
|
+
]);
|
|
33286
33760
|
const otherPostsContent = React52__namespace.useMemo(() => {
|
|
33287
33761
|
if (postsSlot) return postsSlot;
|
|
33288
33762
|
if (!otherPosts || otherPosts.length === 0) return null;
|
|
33289
33763
|
return otherPosts.map((post) => {
|
|
33290
33764
|
const postHref = post.href || post.url || post.link || "#";
|
|
33291
33765
|
const postId = post.id || String(post.title) || Math.random().toString();
|
|
33292
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33293
|
-
|
|
33294
|
-
|
|
33295
|
-
|
|
33296
|
-
|
|
33297
|
-
|
|
33298
|
-
|
|
33299
|
-
|
|
33300
|
-
|
|
33301
|
-
|
|
33302
|
-
|
|
33303
|
-
|
|
33304
|
-
|
|
33305
|
-
|
|
33306
|
-
|
|
33307
|
-
|
|
33308
|
-
|
|
33309
|
-
|
|
33310
|
-
|
|
33766
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33767
|
+
Pressable,
|
|
33768
|
+
{
|
|
33769
|
+
href: postHref,
|
|
33770
|
+
className: cn("rounded-lg p-3", postCardClassName),
|
|
33771
|
+
children: [
|
|
33772
|
+
post.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33773
|
+
img.Img,
|
|
33774
|
+
{
|
|
33775
|
+
src: post.image,
|
|
33776
|
+
alt: typeof post.title === "string" ? post.title : "Content item",
|
|
33777
|
+
className: "h-48 w-full rounded-lg object-cover hover:opacity-80",
|
|
33778
|
+
optixFlowConfig
|
|
33779
|
+
}
|
|
33780
|
+
),
|
|
33781
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-5", children: [
|
|
33782
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2.5 flex items-center gap-1 text-sm text-muted-foreground", children: [
|
|
33783
|
+
(post.date || post.published) && /* @__PURE__ */ jsxRuntime.jsx("time", { children: post.date || post.published }),
|
|
33784
|
+
(post.date || post.published) && post.author && "\xB7",
|
|
33785
|
+
post.author && /* @__PURE__ */ jsxRuntime.jsx("span", { children: post.author })
|
|
33786
|
+
] }),
|
|
33787
|
+
post.title && (typeof post.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg", children: post.title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-lg", children: post.title }))
|
|
33788
|
+
] })
|
|
33789
|
+
]
|
|
33790
|
+
},
|
|
33791
|
+
postId
|
|
33792
|
+
);
|
|
33311
33793
|
});
|
|
33312
33794
|
}, [postsSlot, otherPosts, postCardClassName, optixFlowConfig]);
|
|
33313
33795
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -33319,11 +33801,29 @@ function BlogMasonryFeaturedComponent({
|
|
|
33319
33801
|
pattern,
|
|
33320
33802
|
patternOpacity,
|
|
33321
33803
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
33322
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33323
|
-
|
|
33324
|
-
|
|
33325
|
-
|
|
33326
|
-
|
|
33804
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33805
|
+
"h1",
|
|
33806
|
+
{
|
|
33807
|
+
className: cn(
|
|
33808
|
+
"mb-12 text-center text-4xl font-medium md:text-7xl",
|
|
33809
|
+
headingClassName
|
|
33810
|
+
),
|
|
33811
|
+
children: heading
|
|
33812
|
+
}
|
|
33813
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
|
|
33814
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
33815
|
+
"div",
|
|
33816
|
+
{
|
|
33817
|
+
className: cn(
|
|
33818
|
+
"xs:grid-cols-1 mt-24 grid gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
33819
|
+
postsClassName
|
|
33820
|
+
),
|
|
33821
|
+
children: [
|
|
33822
|
+
featuredPostContent,
|
|
33823
|
+
otherPostsContent
|
|
33824
|
+
]
|
|
33825
|
+
}
|
|
33826
|
+
)
|
|
33327
33827
|
] })
|
|
33328
33828
|
}
|
|
33329
33829
|
);
|
|
@@ -33341,8 +33841,8 @@ function BlogHorizontalTimelineComponent({
|
|
|
33341
33841
|
postImageClassName,
|
|
33342
33842
|
postCardClassName,
|
|
33343
33843
|
optixFlowConfig,
|
|
33344
|
-
background
|
|
33345
|
-
spacing
|
|
33844
|
+
background,
|
|
33845
|
+
spacing,
|
|
33346
33846
|
pattern,
|
|
33347
33847
|
patternOpacity
|
|
33348
33848
|
}) {
|
|
@@ -33358,17 +33858,29 @@ function BlogHorizontalTimelineComponent({
|
|
|
33358
33858
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33359
33859
|
"div",
|
|
33360
33860
|
{
|
|
33361
|
-
className: cn(
|
|
33861
|
+
className: cn(
|
|
33862
|
+
"flex flex-col items-center gap-16 md:flex-row",
|
|
33863
|
+
postItemClassName
|
|
33864
|
+
),
|
|
33362
33865
|
children: [
|
|
33363
|
-
post.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33364
|
-
|
|
33866
|
+
post.image && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33867
|
+
"div",
|
|
33365
33868
|
{
|
|
33366
|
-
|
|
33367
|
-
|
|
33368
|
-
|
|
33369
|
-
|
|
33869
|
+
className: cn(
|
|
33870
|
+
"flex h-80 w-full items-center justify-center overflow-hidden rounded-3xl bg-muted md:w-140",
|
|
33871
|
+
postImageClassName
|
|
33872
|
+
),
|
|
33873
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33874
|
+
img.Img,
|
|
33875
|
+
{
|
|
33876
|
+
src: post.image,
|
|
33877
|
+
className: "h-full w-full object-cover",
|
|
33878
|
+
alt: postImageAlt,
|
|
33879
|
+
optixFlowConfig
|
|
33880
|
+
}
|
|
33881
|
+
)
|
|
33370
33882
|
}
|
|
33371
|
-
)
|
|
33883
|
+
),
|
|
33372
33884
|
/* @__PURE__ */ jsxRuntime.jsx(Card, { className: cn("border-none shadow-none", postCardClassName), children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33373
33885
|
"div",
|
|
33374
33886
|
{
|
|
@@ -33404,7 +33916,15 @@ function BlogHorizontalTimelineComponent({
|
|
|
33404
33916
|
postId
|
|
33405
33917
|
);
|
|
33406
33918
|
});
|
|
33407
|
-
}, [
|
|
33919
|
+
}, [
|
|
33920
|
+
postsSlot,
|
|
33921
|
+
posts,
|
|
33922
|
+
postItemClassName,
|
|
33923
|
+
postImageClassName,
|
|
33924
|
+
postCardClassName,
|
|
33925
|
+
optixFlowConfig,
|
|
33926
|
+
readText
|
|
33927
|
+
]);
|
|
33408
33928
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33409
33929
|
Section,
|
|
33410
33930
|
{
|
|
@@ -33414,7 +33934,16 @@ function BlogHorizontalTimelineComponent({
|
|
|
33414
33934
|
pattern,
|
|
33415
33935
|
patternOpacity,
|
|
33416
33936
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
33417
|
-
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33937
|
+
heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
33938
|
+
"h1",
|
|
33939
|
+
{
|
|
33940
|
+
className: cn(
|
|
33941
|
+
"mb-12 max-w-lg font-sans text-5xl font-extrabold tracking-tight text-foreground md:text-7xl",
|
|
33942
|
+
headingClassName
|
|
33943
|
+
),
|
|
33944
|
+
children: heading
|
|
33945
|
+
}
|
|
33946
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-12", headingClassName), children: heading })),
|
|
33418
33947
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col", postsClassName), children: renderPosts })
|
|
33419
33948
|
] })
|
|
33420
33949
|
}
|
|
@@ -33436,15 +33965,22 @@ function BlogGridNinePosts({
|
|
|
33436
33965
|
postCardClassName,
|
|
33437
33966
|
ctaClassName,
|
|
33438
33967
|
optixFlowConfig,
|
|
33439
|
-
background
|
|
33440
|
-
spacing
|
|
33968
|
+
background,
|
|
33969
|
+
spacing,
|
|
33441
33970
|
pattern,
|
|
33442
33971
|
patternOpacity
|
|
33443
33972
|
}) {
|
|
33444
33973
|
const renderedCtaAction = React52__namespace.useMemo(() => {
|
|
33445
33974
|
if (ctaSlot) return ctaSlot;
|
|
33446
33975
|
if (!ctaAction) return null;
|
|
33447
|
-
const {
|
|
33976
|
+
const {
|
|
33977
|
+
label,
|
|
33978
|
+
icon,
|
|
33979
|
+
iconAfter,
|
|
33980
|
+
children,
|
|
33981
|
+
className: actionClassName,
|
|
33982
|
+
...pressableProps
|
|
33983
|
+
} = ctaAction;
|
|
33448
33984
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33449
33985
|
Pressable,
|
|
33450
33986
|
{
|
|
@@ -33510,11 +34046,38 @@ function BlogGridNinePosts({
|
|
|
33510
34046
|
patternOpacity,
|
|
33511
34047
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
33512
34048
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 md:mb-14 lg:mb-16", headerClassName), children: [
|
|
33513
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34049
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-start justify-between gap-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
34050
|
+
"h2",
|
|
34051
|
+
{
|
|
34052
|
+
className: cn(
|
|
34053
|
+
"mb-4 w-full text-4xl font-medium md:mb-5 md:text-5xl lg:mb-6 lg:text-6xl",
|
|
34054
|
+
headingClassName
|
|
34055
|
+
),
|
|
34056
|
+
children: heading
|
|
34057
|
+
}
|
|
34058
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })) }) }),
|
|
33514
34059
|
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: descriptionClassName, children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
|
|
33515
34060
|
] }),
|
|
33516
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33517
|
-
|
|
34061
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34062
|
+
"div",
|
|
34063
|
+
{
|
|
34064
|
+
className: cn(
|
|
34065
|
+
"grid gap-x-4 gap-y-8 md:grid-cols-2 lg:gap-x-6 lg:gap-y-12 2xl:grid-cols-3",
|
|
34066
|
+
postsClassName
|
|
34067
|
+
),
|
|
34068
|
+
children: renderedPosts
|
|
34069
|
+
}
|
|
34070
|
+
),
|
|
34071
|
+
(ctaSlot || ctaAction) && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34072
|
+
"div",
|
|
34073
|
+
{
|
|
34074
|
+
className: cn(
|
|
34075
|
+
"mt-8 flex flex-col items-center py-2 md:hidden",
|
|
34076
|
+
ctaClassName
|
|
34077
|
+
),
|
|
34078
|
+
children: renderedCtaAction
|
|
34079
|
+
}
|
|
34080
|
+
)
|
|
33518
34081
|
] })
|
|
33519
34082
|
}
|
|
33520
34083
|
);
|
|
@@ -33807,7 +34370,7 @@ function BlogCarouselAppleComponent({
|
|
|
33807
34370
|
},
|
|
33808
34371
|
`carousel-card-${index}`
|
|
33809
34372
|
);
|
|
33810
|
-
}).filter(
|
|
34373
|
+
}).filter((element) => element !== null);
|
|
33811
34374
|
}, [
|
|
33812
34375
|
carouselCards,
|
|
33813
34376
|
posts,
|
|
@@ -33841,122 +34404,6 @@ function BlogCarouselAppleComponent({
|
|
|
33841
34404
|
}
|
|
33842
34405
|
);
|
|
33843
34406
|
}
|
|
33844
|
-
var alertVariants = classVarianceAuthority.cva(
|
|
33845
|
-
"relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
33846
|
-
{
|
|
33847
|
-
variants: {
|
|
33848
|
-
variant: {
|
|
33849
|
-
default: "bg-card text-card-foreground",
|
|
33850
|
-
destructive: "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
|
|
33851
|
-
}
|
|
33852
|
-
},
|
|
33853
|
-
defaultVariants: {
|
|
33854
|
-
variant: "default"
|
|
33855
|
-
}
|
|
33856
|
-
}
|
|
33857
|
-
);
|
|
33858
|
-
function Alert({
|
|
33859
|
-
className,
|
|
33860
|
-
variant,
|
|
33861
|
-
...props
|
|
33862
|
-
}) {
|
|
33863
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33864
|
-
"div",
|
|
33865
|
-
{
|
|
33866
|
-
"data-slot": "alert",
|
|
33867
|
-
role: "alert",
|
|
33868
|
-
className: cn(alertVariants({ variant }), className),
|
|
33869
|
-
...props
|
|
33870
|
-
}
|
|
33871
|
-
);
|
|
33872
|
-
}
|
|
33873
|
-
function AlertTitle({ className, ...props }) {
|
|
33874
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33875
|
-
"div",
|
|
33876
|
-
{
|
|
33877
|
-
"data-slot": "alert-title",
|
|
33878
|
-
className: cn(
|
|
33879
|
-
"col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
|
|
33880
|
-
className
|
|
33881
|
-
),
|
|
33882
|
-
...props
|
|
33883
|
-
}
|
|
33884
|
-
);
|
|
33885
|
-
}
|
|
33886
|
-
function AlertDescription({
|
|
33887
|
-
className,
|
|
33888
|
-
...props
|
|
33889
|
-
}) {
|
|
33890
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
33891
|
-
"div",
|
|
33892
|
-
{
|
|
33893
|
-
"data-slot": "alert-description",
|
|
33894
|
-
className: cn(
|
|
33895
|
-
"text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
|
|
33896
|
-
className
|
|
33897
|
-
),
|
|
33898
|
-
...props
|
|
33899
|
-
}
|
|
33900
|
-
);
|
|
33901
|
-
}
|
|
33902
|
-
var defaultArticleContent = (optixFlowConfig) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
33903
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-3xl font-extrabold", children: "The Great Joke Tax" }),
|
|
33904
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-lg text-muted-foreground", children: "In a kingdom far away, where laughter once flowed freely, a peculiar tale unfolded about a king who decided to tax the very essence of joy itself - jokes and jest." }),
|
|
33905
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "How the Tax System Works" }),
|
|
33906
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The king, seeing how much happier his subjects were, realized the error of his ways and repealed the joke tax. Jokester was declared a hero, and the kingdom lived happily ever after." }),
|
|
33907
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Alert, { children: [
|
|
33908
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/lightbulb", size: 16 }),
|
|
33909
|
-
/* @__PURE__ */ jsxRuntime.jsx(AlertTitle, { children: "Royal Decree!" }),
|
|
33910
|
-
/* @__PURE__ */ jsxRuntime.jsx(AlertDescription, { children: "Remember, all jokes must be registered at the Royal Jest Office before telling them" })
|
|
33911
|
-
] }),
|
|
33912
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "The People's Rebellion" }),
|
|
33913
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The people of the kingdom, feeling uplifted by the laughter, started to tell jokes and puns again, and soon the entire kingdom was in on the joke." }),
|
|
33914
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("table", { children: [
|
|
33915
|
-
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
33916
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "King's Treasury" }),
|
|
33917
|
-
/* @__PURE__ */ jsxRuntime.jsx("th", { children: "People's happiness" })
|
|
33918
|
-
] }) }),
|
|
33919
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
|
|
33920
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
|
|
33921
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { children: "Empty" }),
|
|
33922
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { children: "Overflowing" })
|
|
33923
|
-
] }),
|
|
33924
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "m-0 border-t p-0 even:bg-muted", children: [
|
|
33925
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { children: "Modest" }),
|
|
33926
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { children: "Satisfied" })
|
|
33927
|
-
] }),
|
|
33928
|
-
/* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "m-0 border-t p-0 even:bg-muted", children: [
|
|
33929
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { children: "Full" }),
|
|
33930
|
-
/* @__PURE__ */ jsxRuntime.jsx("td", { children: "Ecstatic" })
|
|
33931
|
-
] })
|
|
33932
|
-
] })
|
|
33933
|
-
] }) }),
|
|
33934
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The king, seeing how much happier his subjects were, realized the error of his ways and repealed the joke tax. Jokester was declared a hero, and the kingdom lived happily ever after." }),
|
|
33935
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "The King's Plan" }),
|
|
33936
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
33937
|
-
img.Img,
|
|
33938
|
-
{
|
|
33939
|
-
src: imagePlaceholders[1],
|
|
33940
|
-
alt: "Article content image",
|
|
33941
|
-
className: "my-8 aspect-video w-full rounded-md object-cover",
|
|
33942
|
-
optixFlowConfig
|
|
33943
|
-
}
|
|
33944
|
-
),
|
|
33945
|
-
/* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
|
|
33946
|
-
"The king thought long and hard, and finally came up with",
|
|
33947
|
-
" ",
|
|
33948
|
-
/* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: "#", children: "a brilliant plan" }),
|
|
33949
|
-
": he would tax the jokes in the kingdom."
|
|
33950
|
-
] }),
|
|
33951
|
-
/* @__PURE__ */ jsxRuntime.jsx("blockquote", { children: "\u201CAfter all,\u201D he said, \u201Ceveryone enjoys a good joke, so it's only fair that they should pay for the privilege.\u201D" }),
|
|
33952
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The king's subjects were not amused. They grumbled and complained, but the king was firm:" }),
|
|
33953
|
-
/* @__PURE__ */ jsxRuntime.jsxs("ul", { children: [
|
|
33954
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "1st level of puns: 5 gold coins" }),
|
|
33955
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "2nd level of jokes: 10 gold coins" }),
|
|
33956
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "3rd level of one-liners : 20 gold coins" })
|
|
33957
|
-
] }),
|
|
33958
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "As a result, people stopped telling jokes, and the kingdom fell into a gloom. But there was one person who refused to let the king's foolishness get him down: a court jester named Jokester." })
|
|
33959
|
-
] });
|
|
33960
34407
|
function ArticleHeroProseComponent({
|
|
33961
34408
|
post,
|
|
33962
34409
|
className,
|
|
@@ -33971,7 +34418,11 @@ function ArticleHeroProseComponent({
|
|
|
33971
34418
|
authorSlot,
|
|
33972
34419
|
children,
|
|
33973
34420
|
dateFormat = "MMMM d, yyyy",
|
|
33974
|
-
optixFlowConfig
|
|
34421
|
+
optixFlowConfig,
|
|
34422
|
+
background,
|
|
34423
|
+
spacing,
|
|
34424
|
+
pattern,
|
|
34425
|
+
patternOpacity
|
|
33975
34426
|
}) {
|
|
33976
34427
|
const { title, authorName, authorHref, image, pubDate, description, authorImage } = post ?? {};
|
|
33977
34428
|
const authorContent = React52__namespace.useMemo(() => {
|
|
@@ -34004,38 +34455,26 @@ function ArticleHeroProseComponent({
|
|
|
34004
34455
|
}
|
|
34005
34456
|
);
|
|
34006
34457
|
}, [heroMediaSlot, image, heroImageClassName, optixFlowConfig]);
|
|
34007
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34008
|
-
|
|
34009
|
-
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-3xl text-5xl font-semibold text-pretty md:text-6xl", titleClassName), children: title }),
|
|
34010
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("max-w-3xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }),
|
|
34011
|
-
authorContent,
|
|
34012
|
-
heroMediaContent
|
|
34013
|
-
] }) }),
|
|
34014
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto prose max-w-3xl dark:prose-invert", proseClassName), children: children || defaultArticleContent(optixFlowConfig) }) })
|
|
34015
|
-
] });
|
|
34016
|
-
}
|
|
34017
|
-
var defaultArticleContent2 = (optixFlowConfig) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34018
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "lead", children: "In the ever-evolving landscape of web development, staying current with best practices and emerging technologies is crucial for building exceptional digital experiences." }),
|
|
34019
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Understanding the Fundamentals" }),
|
|
34020
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Before diving into advanced concepts, it's essential to have a solid grasp of the fundamentals. HTML, CSS, and JavaScript form the backbone of web development, and mastering these technologies opens doors to more complex frameworks and tools." }),
|
|
34021
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Modern web development has evolved significantly over the past decade. What once required extensive server-side rendering can now be accomplished with client-side frameworks that offer improved performance and user experience." }),
|
|
34022
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "The Rise of Component-Based Architecture" }),
|
|
34023
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Component-based architecture has revolutionized how we build web applications. By breaking down interfaces into reusable, self-contained components, developers can create more maintainable and scalable codebases." }),
|
|
34024
|
-
/* @__PURE__ */ jsxRuntime.jsx("blockquote", { children: "\u201CThe best code is no code at all. Every new line of code you willingly bring into the world is code that has to be debugged, code that has to be read and understood.\u201D" }),
|
|
34025
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Performance Optimization" }),
|
|
34026
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Performance is no longer optional\u2014it's a critical factor in user experience and search engine rankings. Techniques like code splitting, lazy loading, and image optimization have become standard practices in modern web development." }),
|
|
34027
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34028
|
-
img.Img,
|
|
34458
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34459
|
+
Section,
|
|
34029
34460
|
{
|
|
34030
|
-
|
|
34031
|
-
|
|
34032
|
-
|
|
34033
|
-
|
|
34461
|
+
background,
|
|
34462
|
+
spacing,
|
|
34463
|
+
pattern,
|
|
34464
|
+
patternOpacity,
|
|
34465
|
+
className,
|
|
34466
|
+
children: [
|
|
34467
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto flex max-w-5xl flex-col items-center gap-4 text-center", headerClassName), children: [
|
|
34468
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-3xl text-5xl font-semibold text-pretty md:text-6xl", titleClassName), children: title }),
|
|
34469
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: cn("max-w-3xl text-lg text-muted-foreground md:text-xl", descriptionClassName), children: description }),
|
|
34470
|
+
authorContent,
|
|
34471
|
+
heroMediaContent
|
|
34472
|
+
] }) }),
|
|
34473
|
+
children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto prose max-w-3xl dark:prose-invert", proseClassName), children }) })
|
|
34474
|
+
]
|
|
34034
34475
|
}
|
|
34035
|
-
)
|
|
34036
|
-
|
|
34037
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The future of web development is exciting, with emerging technologies like WebAssembly, Edge Computing, and AI-powered development tools reshaping how we build for the web. Staying curious and continuously learning will be key to thriving in this dynamic field." })
|
|
34038
|
-
] });
|
|
34476
|
+
);
|
|
34477
|
+
}
|
|
34039
34478
|
function ArticleSidebarStickyComponent({
|
|
34040
34479
|
className,
|
|
34041
34480
|
containerClassName,
|
|
@@ -34059,7 +34498,11 @@ function ArticleSidebarStickyComponent({
|
|
|
34059
34498
|
heroImageAlt,
|
|
34060
34499
|
heroMediaSlot,
|
|
34061
34500
|
children,
|
|
34062
|
-
optixFlowConfig
|
|
34501
|
+
optixFlowConfig,
|
|
34502
|
+
background,
|
|
34503
|
+
spacing,
|
|
34504
|
+
pattern,
|
|
34505
|
+
patternOpacity
|
|
34063
34506
|
}) {
|
|
34064
34507
|
const backLinkContent = React52__namespace.useMemo(() => {
|
|
34065
34508
|
if (backLinkSlot) return backLinkSlot;
|
|
@@ -34094,74 +34537,40 @@ function ArticleSidebarStickyComponent({
|
|
|
34094
34537
|
const heroMediaContent = React52__namespace.useMemo(() => {
|
|
34095
34538
|
if (heroMediaSlot) return heroMediaSlot;
|
|
34096
34539
|
if (!heroImageSrc) return null;
|
|
34097
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34098
|
-
img.Img,
|
|
34099
|
-
{
|
|
34100
|
-
src: heroImageSrc,
|
|
34101
|
-
alt: heroImageAlt,
|
|
34102
|
-
className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
|
|
34103
|
-
optixFlowConfig
|
|
34104
|
-
}
|
|
34105
|
-
);
|
|
34106
|
-
}, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
|
|
34107
|
-
return /* @__PURE__ */ jsxRuntime.jsx("section", { className: cn("py-32", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[1fr_minmax(0,2fr)]", children: [
|
|
34108
|
-
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
34109
|
-
backLinkContent,
|
|
34110
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
|
|
34111
|
-
] }) }),
|
|
34112
|
-
/* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
34113
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
|
|
34114
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
34115
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
|
|
34116
|
-
heroMediaContent,
|
|
34117
|
-
children || defaultArticleContent2(optixFlowConfig)
|
|
34118
|
-
] })
|
|
34119
|
-
] }) }) });
|
|
34120
|
-
}
|
|
34121
|
-
var defaultArticleContent3 = (optixFlowConfig) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34122
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "introduction", children: [
|
|
34123
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Introduction" }),
|
|
34124
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Building scalable applications requires careful consideration of architecture, design patterns, and infrastructure. In this guide, we'll explore the key principles that enable applications to grow gracefully with increasing demand." }),
|
|
34125
|
-
/* @__PURE__ */ jsxRuntime.jsxs(Alert, { children: [
|
|
34126
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/lightbulb", size: 16 }),
|
|
34127
|
-
/* @__PURE__ */ jsxRuntime.jsx(AlertTitle, { children: "Pro Tip" }),
|
|
34128
|
-
/* @__PURE__ */ jsxRuntime.jsx(AlertDescription, { children: "Start with a simple architecture and evolve it as your needs grow. Premature optimization can lead to unnecessary complexity." })
|
|
34129
|
-
] })
|
|
34130
|
-
] }),
|
|
34131
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "getting-started", children: [
|
|
34132
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Getting Started" }),
|
|
34133
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Before diving into complex architectural patterns, ensure you have a solid understanding of your application's requirements. Consider factors like expected traffic, data volume, and team expertise." }),
|
|
34134
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "A well-designed system starts with clear requirements and constraints. Document your assumptions and validate them with stakeholders before making architectural decisions." })
|
|
34135
|
-
] }),
|
|
34136
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "core-concepts", children: [
|
|
34137
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Core Concepts" }),
|
|
34138
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Scalability encompasses both horizontal and vertical scaling strategies. Horizontal scaling adds more machines to handle load, while vertical scaling increases the capacity of existing machines." }),
|
|
34139
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34540
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34140
34541
|
img.Img,
|
|
34141
34542
|
{
|
|
34142
|
-
src:
|
|
34143
|
-
alt:
|
|
34144
|
-
className: "my-8 aspect-video w-full rounded-lg object-cover",
|
|
34543
|
+
src: heroImageSrc,
|
|
34544
|
+
alt: heroImageAlt,
|
|
34545
|
+
className: cn("my-8 aspect-video w-full rounded-lg object-cover", heroImageClassName),
|
|
34145
34546
|
optixFlowConfig
|
|
34146
34547
|
}
|
|
34147
|
-
)
|
|
34148
|
-
|
|
34149
|
-
|
|
34150
|
-
|
|
34151
|
-
|
|
34152
|
-
|
|
34153
|
-
|
|
34154
|
-
|
|
34155
|
-
|
|
34156
|
-
|
|
34157
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
34158
|
-
|
|
34159
|
-
|
|
34160
|
-
|
|
34161
|
-
|
|
34162
|
-
|
|
34163
|
-
|
|
34164
|
-
|
|
34548
|
+
);
|
|
34549
|
+
}, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
|
|
34550
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34551
|
+
Section,
|
|
34552
|
+
{
|
|
34553
|
+
background,
|
|
34554
|
+
spacing,
|
|
34555
|
+
pattern,
|
|
34556
|
+
patternOpacity,
|
|
34557
|
+
className,
|
|
34558
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[1fr_minmax(0,2fr)]", children: [
|
|
34559
|
+
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
34560
|
+
backLinkContent,
|
|
34561
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-4", children: renderAuthor(false) })
|
|
34562
|
+
] }) }),
|
|
34563
|
+
/* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
34564
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-8 lg:hidden", children: backLinkContent }),
|
|
34565
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
34566
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 lg:hidden", children: renderAuthor(true) }),
|
|
34567
|
+
heroMediaContent,
|
|
34568
|
+
children
|
|
34569
|
+
] })
|
|
34570
|
+
] }) })
|
|
34571
|
+
}
|
|
34572
|
+
);
|
|
34573
|
+
}
|
|
34165
34574
|
function ArticleTocSidebarComponent({
|
|
34166
34575
|
className,
|
|
34167
34576
|
containerClassName,
|
|
@@ -34198,7 +34607,11 @@ function ArticleTocSidebarComponent({
|
|
|
34198
34607
|
ctaSlot,
|
|
34199
34608
|
children,
|
|
34200
34609
|
enableTocTracking = true,
|
|
34201
|
-
optixFlowConfig
|
|
34610
|
+
optixFlowConfig,
|
|
34611
|
+
background,
|
|
34612
|
+
spacing,
|
|
34613
|
+
pattern,
|
|
34614
|
+
patternOpacity
|
|
34202
34615
|
}) {
|
|
34203
34616
|
const ctaActions = ctaActionsProp ?? (ctaButtonText ? [{ label: ctaButtonText, href: ctaButtonHref || "#", variant: "default", className: "w-full" }] : []);
|
|
34204
34617
|
const [activeSection, setActiveSection] = React52__namespace.useState(
|
|
@@ -34310,72 +34723,33 @@ function ArticleTocSidebarComponent({
|
|
|
34310
34723
|
}) })
|
|
34311
34724
|
] });
|
|
34312
34725
|
}, [ctaSlot, ctaTitle, ctaDescription, ctaActions, ctaClassName]);
|
|
34313
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34314
|
-
|
|
34315
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 not-prose", headerClassName), children: [
|
|
34316
|
-
categoryContent,
|
|
34317
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-4 text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
|
|
34318
|
-
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
|
|
34319
|
-
authorContent
|
|
34320
|
-
] }),
|
|
34321
|
-
heroMediaContent,
|
|
34322
|
-
children || defaultArticleContent3(optixFlowConfig)
|
|
34323
|
-
] }),
|
|
34324
|
-
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
34325
|
-
tocContent,
|
|
34326
|
-
ctaContent
|
|
34327
|
-
] }) })
|
|
34328
|
-
] }) }) });
|
|
34329
|
-
}
|
|
34330
|
-
var defaultArticleContent4 = (optixFlowConfig) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34331
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34332
|
-
img.Img,
|
|
34726
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34727
|
+
Section,
|
|
34333
34728
|
{
|
|
34334
|
-
|
|
34335
|
-
|
|
34336
|
-
|
|
34337
|
-
|
|
34729
|
+
background,
|
|
34730
|
+
spacing,
|
|
34731
|
+
pattern,
|
|
34732
|
+
patternOpacity,
|
|
34733
|
+
className,
|
|
34734
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_300px]", children: [
|
|
34735
|
+
/* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
34736
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-8 not-prose", headerClassName), children: [
|
|
34737
|
+
categoryContent,
|
|
34738
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mt-4 text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
|
|
34739
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
|
|
34740
|
+
authorContent
|
|
34741
|
+
] }),
|
|
34742
|
+
heroMediaContent,
|
|
34743
|
+
children
|
|
34744
|
+
] }),
|
|
34745
|
+
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
34746
|
+
tocContent,
|
|
34747
|
+
ctaContent
|
|
34748
|
+
] }) })
|
|
34749
|
+
] }) })
|
|
34338
34750
|
}
|
|
34339
|
-
)
|
|
34340
|
-
|
|
34341
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Overview" }),
|
|
34342
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Performance optimization is crucial for delivering exceptional user experiences. In this comprehensive guide, we'll explore proven strategies for improving web application performance." }),
|
|
34343
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "From initial page load to runtime performance, every millisecond counts. Users expect fast, responsive applications, and search engines reward sites that deliver." })
|
|
34344
|
-
] }),
|
|
34345
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "key-features", children: [
|
|
34346
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Key Features" }),
|
|
34347
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Modern performance optimization encompasses several key areas:" }),
|
|
34348
|
-
/* @__PURE__ */ jsxRuntime.jsxs("ul", { children: [
|
|
34349
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Code splitting and lazy loading" }),
|
|
34350
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Image optimization and responsive images" }),
|
|
34351
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Caching strategies and CDN utilization" }),
|
|
34352
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Bundle size optimization" })
|
|
34353
|
-
] }),
|
|
34354
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34355
|
-
img.Img,
|
|
34356
|
-
{
|
|
34357
|
-
src: imagePlaceholders[7],
|
|
34358
|
-
alt: "Performance metrics",
|
|
34359
|
-
className: "my-8 aspect-video w-full rounded-lg object-cover",
|
|
34360
|
-
optixFlowConfig
|
|
34361
|
-
}
|
|
34362
|
-
)
|
|
34363
|
-
] }),
|
|
34364
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "implementation", children: [
|
|
34365
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Implementation" }),
|
|
34366
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Implementing performance optimizations requires a systematic approach. Start by measuring your current performance using tools like Lighthouse, WebPageTest, or Chrome DevTools." }),
|
|
34367
|
-
/* @__PURE__ */ jsxRuntime.jsx("blockquote", { children: "\u201CYou can't improve what you don't measure.\u201D - Peter Drucker" }),
|
|
34368
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Once you have baseline metrics, prioritize optimizations based on their potential impact and implementation effort." })
|
|
34369
|
-
] }),
|
|
34370
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "performance", children: [
|
|
34371
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Performance Metrics" }),
|
|
34372
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Focus on Core Web Vitals: Largest Contentful Paint (LCP), First Input Delay (FID), and Cumulative Layout Shift (CLS). These metrics directly impact user experience and SEO rankings." })
|
|
34373
|
-
] }),
|
|
34374
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "summary", children: [
|
|
34375
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Summary" }),
|
|
34376
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Performance optimization is an ongoing process, not a one-time task. Continuously monitor your metrics, identify bottlenecks, and iterate on improvements to maintain a fast, responsive application." })
|
|
34377
|
-
] })
|
|
34378
|
-
] });
|
|
34751
|
+
);
|
|
34752
|
+
}
|
|
34379
34753
|
function ArticleBreadcrumbSocialComponent({
|
|
34380
34754
|
className,
|
|
34381
34755
|
containerClassName,
|
|
@@ -34410,7 +34784,11 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
34410
34784
|
children,
|
|
34411
34785
|
enableTocTracking,
|
|
34412
34786
|
enableBackToTop,
|
|
34413
|
-
optixFlowConfig
|
|
34787
|
+
optixFlowConfig,
|
|
34788
|
+
background,
|
|
34789
|
+
spacing,
|
|
34790
|
+
pattern,
|
|
34791
|
+
patternOpacity
|
|
34414
34792
|
}) {
|
|
34415
34793
|
const author = authorProp ?? (authorName ? { name: authorName, image: authorImage, role: authorRole } : void 0);
|
|
34416
34794
|
const platformLabels = {
|
|
@@ -34547,65 +34925,44 @@ function ArticleBreadcrumbSocialComponent({
|
|
|
34547
34925
|
)) })
|
|
34548
34926
|
] });
|
|
34549
34927
|
}, [shareSlot, socialLinks, shareClassName]);
|
|
34550
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34551
|
-
|
|
34552
|
-
|
|
34553
|
-
|
|
34554
|
-
|
|
34555
|
-
|
|
34556
|
-
|
|
34557
|
-
|
|
34558
|
-
|
|
34559
|
-
|
|
34928
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
34929
|
+
Section,
|
|
34930
|
+
{
|
|
34931
|
+
background,
|
|
34932
|
+
spacing,
|
|
34933
|
+
pattern,
|
|
34934
|
+
patternOpacity,
|
|
34935
|
+
className,
|
|
34936
|
+
children: [
|
|
34937
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
34938
|
+
breadcrumbsContent,
|
|
34939
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[minmax(0,1fr)_280px]", children: [
|
|
34940
|
+
children && /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
34941
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
34942
|
+
authorContent,
|
|
34943
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
|
|
34944
|
+
heroMediaContent,
|
|
34945
|
+
children
|
|
34946
|
+
] }),
|
|
34947
|
+
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
34948
|
+
tocContent,
|
|
34949
|
+
shareButtonsContent
|
|
34950
|
+
] }) })
|
|
34951
|
+
] })
|
|
34560
34952
|
] }),
|
|
34561
|
-
|
|
34562
|
-
|
|
34563
|
-
|
|
34564
|
-
|
|
34565
|
-
|
|
34566
|
-
|
|
34567
|
-
|
|
34568
|
-
|
|
34569
|
-
|
|
34570
|
-
|
|
34571
|
-
|
|
34572
|
-
|
|
34573
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up", size: 20 })
|
|
34574
|
-
}
|
|
34575
|
-
)
|
|
34576
|
-
] });
|
|
34953
|
+
enableBackToTop && showBackToTop && /* @__PURE__ */ jsxRuntime.jsx(
|
|
34954
|
+
"button",
|
|
34955
|
+
{
|
|
34956
|
+
onClick: scrollToTop,
|
|
34957
|
+
className: "fixed bottom-8 right-8 flex h-10 w-10 items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg transition-opacity hover:opacity-90",
|
|
34958
|
+
"aria-label": "Back to top",
|
|
34959
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-up", size: 20 })
|
|
34960
|
+
}
|
|
34961
|
+
)
|
|
34962
|
+
]
|
|
34963
|
+
}
|
|
34964
|
+
);
|
|
34577
34965
|
}
|
|
34578
|
-
var defaultArticleContent5 = () => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34579
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "introduction", children: [
|
|
34580
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Introduction" }),
|
|
34581
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Understanding user behavior is fundamental to creating effective web applications. This study examines patterns in user interaction and provides insights for improving user experience." }),
|
|
34582
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Our research focuses on identifying key factors that influence user engagement and satisfaction in modern web applications." })
|
|
34583
|
-
] }),
|
|
34584
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "methodology", children: [
|
|
34585
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Methodology" }),
|
|
34586
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "We employed a mixed-methods approach combining quantitative analytics with qualitative user interviews. Data was collected from over 10,000 users across diverse demographics." }),
|
|
34587
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Statistical analysis was performed using industry-standard tools to ensure reliability and validity of our findings." })
|
|
34588
|
-
] }),
|
|
34589
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "results", children: [
|
|
34590
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Results" }),
|
|
34591
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Our findings reveal several key patterns in user behavior:" }),
|
|
34592
|
-
/* @__PURE__ */ jsxRuntime.jsxs("ul", { children: [
|
|
34593
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Users prefer intuitive navigation over complex menus" }),
|
|
34594
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Page load time significantly impacts engagement" }),
|
|
34595
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Mobile-first design improves overall satisfaction" }),
|
|
34596
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Clear calls-to-action increase conversion rates" })
|
|
34597
|
-
] })
|
|
34598
|
-
] }),
|
|
34599
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "discussion", children: [
|
|
34600
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Discussion" }),
|
|
34601
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "These results align with existing literature while providing new insights into emerging user expectations. The implications for web development practices are significant." }),
|
|
34602
|
-
/* @__PURE__ */ jsxRuntime.jsx("blockquote", { children: "\u201CUser experience is not just about usability\u2014it's about creating meaningful interactions that resonate with users.\u201D" })
|
|
34603
|
-
] }),
|
|
34604
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "conclusion", children: [
|
|
34605
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Conclusion" }),
|
|
34606
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "This study provides actionable insights for developers and designers seeking to improve user experience. Future research should explore the impact of emerging technologies on user behavior patterns." })
|
|
34607
|
-
] })
|
|
34608
|
-
] });
|
|
34609
34966
|
function ArticleCompactTocComponent({
|
|
34610
34967
|
className,
|
|
34611
34968
|
containerClassName,
|
|
@@ -34635,7 +34992,11 @@ function ArticleCompactTocComponent({
|
|
|
34635
34992
|
heroMediaSlot,
|
|
34636
34993
|
children,
|
|
34637
34994
|
enableTocTracking = true,
|
|
34638
|
-
optixFlowConfig
|
|
34995
|
+
optixFlowConfig,
|
|
34996
|
+
background,
|
|
34997
|
+
spacing,
|
|
34998
|
+
pattern,
|
|
34999
|
+
patternOpacity
|
|
34639
35000
|
}) {
|
|
34640
35001
|
const [activeSection, setActiveSection] = React52__namespace.useState(
|
|
34641
35002
|
sections?.[0]?.id || ""
|
|
@@ -34747,77 +35108,37 @@ function ArticleCompactTocComponent({
|
|
|
34747
35108
|
}
|
|
34748
35109
|
);
|
|
34749
35110
|
}, [heroMediaSlot, heroImageSrc, heroImageAlt, heroImageClassName, optixFlowConfig]);
|
|
34750
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
34751
|
-
|
|
34752
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl", contentClassName), children: [
|
|
34753
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
34754
|
-
(authorName || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-4 flex flex-wrap items-center gap-4 text-sm text-muted-foreground", metaClassName), children: [
|
|
34755
|
-
authorName && (authorHref ? /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: authorHref, className: "hover:underline", children: authorName }) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: authorName })),
|
|
34756
|
-
authorName && publishDate && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
34757
|
-
publishDate && /* @__PURE__ */ jsxRuntime.jsx("span", { children: publishDate }),
|
|
34758
|
-
publishDate && readTime && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
34759
|
-
readTime && /* @__PURE__ */ jsxRuntime.jsx("span", { children: readTime })
|
|
34760
|
-
] }),
|
|
34761
|
-
shareContent,
|
|
34762
|
-
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
|
|
34763
|
-
tocContent,
|
|
34764
|
-
/* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
34765
|
-
heroMediaContent,
|
|
34766
|
-
children ?? defaultArticleContent5()
|
|
34767
|
-
] })
|
|
34768
|
-
] })
|
|
34769
|
-
] }) });
|
|
34770
|
-
}
|
|
34771
|
-
var defaultArticleContent6 = (optixFlowConfig) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
34772
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34773
|
-
img.Img,
|
|
35111
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35112
|
+
Section,
|
|
34774
35113
|
{
|
|
34775
|
-
|
|
34776
|
-
|
|
34777
|
-
|
|
34778
|
-
|
|
35114
|
+
background,
|
|
35115
|
+
spacing,
|
|
35116
|
+
pattern,
|
|
35117
|
+
patternOpacity,
|
|
35118
|
+
className,
|
|
35119
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
35120
|
+
breadcrumbsContent,
|
|
35121
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-3xl", contentClassName), children: [
|
|
35122
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
35123
|
+
(authorName || publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-4 flex flex-wrap items-center gap-4 text-sm text-muted-foreground", metaClassName), children: [
|
|
35124
|
+
authorName && (authorHref ? /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: authorHref, className: "hover:underline", children: authorName }) : /* @__PURE__ */ jsxRuntime.jsx("span", { children: authorName })),
|
|
35125
|
+
authorName && publishDate && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
35126
|
+
publishDate && /* @__PURE__ */ jsxRuntime.jsx("span", { children: publishDate }),
|
|
35127
|
+
publishDate && readTime && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
35128
|
+
readTime && /* @__PURE__ */ jsxRuntime.jsx("span", { children: readTime })
|
|
35129
|
+
] }),
|
|
35130
|
+
shareContent,
|
|
35131
|
+
/* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "my-8" }),
|
|
35132
|
+
tocContent,
|
|
35133
|
+
children && /* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
35134
|
+
heroMediaContent,
|
|
35135
|
+
children
|
|
35136
|
+
] })
|
|
35137
|
+
] })
|
|
35138
|
+
] })
|
|
34779
35139
|
}
|
|
34780
|
-
)
|
|
34781
|
-
|
|
34782
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Chapter 1: The Foundation" }),
|
|
34783
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Design patterns are reusable solutions to common problems in software design. They represent best practices evolved over time by experienced software developers." }),
|
|
34784
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Understanding the foundation of design patterns helps you recognize when and how to apply them effectively in your own projects." })
|
|
34785
|
-
] }),
|
|
34786
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "chapter-2", children: [
|
|
34787
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Chapter 2: Building Blocks" }),
|
|
34788
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The building blocks of design patterns include creational, structural, and behavioral patterns. Each category addresses different aspects of software design." }),
|
|
34789
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34790
|
-
img.Img,
|
|
34791
|
-
{
|
|
34792
|
-
src: imagePlaceholders[1],
|
|
34793
|
-
alt: "Pattern categories",
|
|
34794
|
-
className: "my-8 aspect-video w-full rounded-lg object-cover",
|
|
34795
|
-
optixFlowConfig
|
|
34796
|
-
}
|
|
34797
|
-
),
|
|
34798
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Creational patterns deal with object creation mechanisms, structural patterns focus on class composition, and behavioral patterns characterize object interaction." })
|
|
34799
|
-
] }),
|
|
34800
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "chapter-3", children: [
|
|
34801
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Chapter 3: Advanced Patterns" }),
|
|
34802
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Advanced patterns build upon the fundamentals to address more complex scenarios. These include patterns for concurrency, distributed systems, and enterprise applications." }),
|
|
34803
|
-
/* @__PURE__ */ jsxRuntime.jsx("blockquote", { children: "\u201CPatterns are not invented, they are discovered.\u201D - Christopher Alexander" })
|
|
34804
|
-
] }),
|
|
34805
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "chapter-4", children: [
|
|
34806
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Chapter 4: Real-World Applications" }),
|
|
34807
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "Seeing patterns in action helps solidify understanding. This chapter explores how major frameworks and libraries implement design patterns." }),
|
|
34808
|
-
/* @__PURE__ */ jsxRuntime.jsxs("ul", { children: [
|
|
34809
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "React's use of the Observer pattern" }),
|
|
34810
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Express.js middleware as Chain of Responsibility" }),
|
|
34811
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Redux implementing the Flux pattern" }),
|
|
34812
|
-
/* @__PURE__ */ jsxRuntime.jsx("li", { children: "Dependency injection in Angular" })
|
|
34813
|
-
] })
|
|
34814
|
-
] }),
|
|
34815
|
-
/* @__PURE__ */ jsxRuntime.jsxs("section", { id: "chapter-5", children: [
|
|
34816
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { children: "Chapter 5: Future Directions" }),
|
|
34817
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "As software development evolves, new patterns emerge while others become less relevant. Understanding the principles behind patterns helps you adapt to changing technologies." }),
|
|
34818
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { children: "The rise of functional programming, microservices, and serverless architectures has introduced new patterns and variations on classic ones." })
|
|
34819
|
-
] })
|
|
34820
|
-
] });
|
|
35140
|
+
);
|
|
35141
|
+
}
|
|
34821
35142
|
function ArticleChaptersAuthorComponent({
|
|
34822
35143
|
className,
|
|
34823
35144
|
containerClassName,
|
|
@@ -34852,7 +35173,11 @@ function ArticleChaptersAuthorComponent({
|
|
|
34852
35173
|
conclusionSlot,
|
|
34853
35174
|
children,
|
|
34854
35175
|
enableChapterTracking = true,
|
|
34855
|
-
optixFlowConfig
|
|
35176
|
+
optixFlowConfig,
|
|
35177
|
+
background,
|
|
35178
|
+
spacing,
|
|
35179
|
+
pattern,
|
|
35180
|
+
patternOpacity
|
|
34856
35181
|
}) {
|
|
34857
35182
|
const conclusionActions = conclusionActionsProp ?? (conclusionButtonText ? [{ label: conclusionButtonText, href: conclusionButtonHref || "#", variant: "default" }] : []);
|
|
34858
35183
|
const [activeChapter, setActiveChapter] = React52__namespace.useState(
|
|
@@ -35016,24 +35341,34 @@ function ArticleChaptersAuthorComponent({
|
|
|
35016
35341
|
}) })
|
|
35017
35342
|
] });
|
|
35018
35343
|
}, [conclusionSlot, conclusionTitle, conclusionDescription, conclusionActions, conclusionClassName]);
|
|
35019
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35020
|
-
|
|
35021
|
-
|
|
35022
|
-
|
|
35023
|
-
|
|
35024
|
-
|
|
35025
|
-
|
|
35026
|
-
|
|
35027
|
-
|
|
35028
|
-
|
|
35029
|
-
|
|
35030
|
-
|
|
35031
|
-
|
|
35032
|
-
|
|
35033
|
-
|
|
35344
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35345
|
+
Section,
|
|
35346
|
+
{
|
|
35347
|
+
background,
|
|
35348
|
+
spacing,
|
|
35349
|
+
pattern,
|
|
35350
|
+
patternOpacity,
|
|
35351
|
+
className,
|
|
35352
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("container", containerClassName), children: [
|
|
35353
|
+
breadcrumbsContent,
|
|
35354
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-12 text-center", headerClassName), children: [
|
|
35355
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl font-bold tracking-tight md:text-5xl lg:text-6xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
35356
|
+
subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground md:text-xl", subtitleClassName), children: subtitle }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", subtitleClassName), children: subtitle }))
|
|
35357
|
+
] }),
|
|
35358
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-10 lg:grid-cols-[280px_minmax(0,1fr)]", children: [
|
|
35359
|
+
/* @__PURE__ */ jsxRuntime.jsx("aside", { className: cn("hidden lg:block", sidebarClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "sticky top-8 space-y-6", children: [
|
|
35360
|
+
chaptersNavContent,
|
|
35361
|
+
authorCardContent
|
|
35362
|
+
] }) }),
|
|
35363
|
+
/* @__PURE__ */ jsxRuntime.jsxs("article", { className: cn("prose max-w-none dark:prose-invert", articleClassName), children: [
|
|
35364
|
+
heroMediaContent,
|
|
35365
|
+
children,
|
|
35366
|
+
conclusionContent
|
|
35367
|
+
] })
|
|
35368
|
+
] })
|
|
35034
35369
|
] })
|
|
35035
|
-
|
|
35036
|
-
|
|
35370
|
+
}
|
|
35371
|
+
);
|
|
35037
35372
|
}
|
|
35038
35373
|
function ArticleSplitAnimatedComponent({
|
|
35039
35374
|
className,
|
|
@@ -35066,7 +35401,11 @@ function ArticleSplitAnimatedComponent({
|
|
|
35066
35401
|
ctaHref,
|
|
35067
35402
|
ctaSlot,
|
|
35068
35403
|
enableAnimations = true,
|
|
35069
|
-
optixFlowConfig
|
|
35404
|
+
optixFlowConfig,
|
|
35405
|
+
background,
|
|
35406
|
+
spacing,
|
|
35407
|
+
pattern,
|
|
35408
|
+
patternOpacity
|
|
35070
35409
|
}) {
|
|
35071
35410
|
const ctaActions = ctaActionsProp ?? (ctaText ? [{ label: ctaText, href: ctaHref || "#", variant: "default", size: "lg" }] : []);
|
|
35072
35411
|
const MotionWrapper = enableAnimations ? framerMotion.motion.div : "div";
|
|
@@ -35145,41 +35484,51 @@ function ArticleSplitAnimatedComponent({
|
|
|
35145
35484
|
viewport: { once: true },
|
|
35146
35485
|
transition: { duration: 0.5, delay: 0.1 }
|
|
35147
35486
|
} : {};
|
|
35148
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35149
|
-
|
|
35150
|
-
|
|
35151
|
-
|
|
35152
|
-
|
|
35153
|
-
|
|
35154
|
-
|
|
35155
|
-
|
|
35487
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
35488
|
+
Section,
|
|
35489
|
+
{
|
|
35490
|
+
background,
|
|
35491
|
+
spacing,
|
|
35492
|
+
pattern,
|
|
35493
|
+
patternOpacity,
|
|
35494
|
+
className,
|
|
35495
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-8 lg:grid-cols-2 lg:gap-12", children: [
|
|
35496
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
35497
|
+
MotionWrapper,
|
|
35498
|
+
{
|
|
35499
|
+
...imageAnimationProps,
|
|
35500
|
+
className: cn(
|
|
35501
|
+
"relative aspect-4/3 overflow-hidden rounded-2xl lg:aspect-auto lg:h-full",
|
|
35502
|
+
imageContainerClassName
|
|
35503
|
+
),
|
|
35504
|
+
children: [
|
|
35505
|
+
heroMediaContent,
|
|
35506
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-linear-to-t from-black/60 via-transparent to-transparent" }),
|
|
35507
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-0 left-0 p-6", children: categoryContent })
|
|
35508
|
+
]
|
|
35509
|
+
}
|
|
35156
35510
|
),
|
|
35157
|
-
|
|
35158
|
-
|
|
35159
|
-
|
|
35160
|
-
|
|
35161
|
-
|
|
35162
|
-
|
|
35163
|
-
|
|
35164
|
-
|
|
35165
|
-
|
|
35166
|
-
|
|
35167
|
-
|
|
35168
|
-
|
|
35169
|
-
|
|
35170
|
-
|
|
35171
|
-
|
|
35172
|
-
|
|
35173
|
-
|
|
35174
|
-
|
|
35175
|
-
|
|
35176
|
-
|
|
35177
|
-
|
|
35178
|
-
ctaContent
|
|
35179
|
-
]
|
|
35180
|
-
}
|
|
35181
|
-
)
|
|
35182
|
-
] }) }) });
|
|
35511
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
35512
|
+
MotionWrapper,
|
|
35513
|
+
{
|
|
35514
|
+
...contentAnimationProps,
|
|
35515
|
+
className: cn("flex flex-col justify-center", contentClassName),
|
|
35516
|
+
children: [
|
|
35517
|
+
(publishDate || readTime) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-4 text-sm text-muted-foreground", metaClassName), children: [
|
|
35518
|
+
publishDate && /* @__PURE__ */ jsxRuntime.jsx("span", { children: publishDate }),
|
|
35519
|
+
publishDate && readTime && /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "vertical", className: "h-4" }),
|
|
35520
|
+
readTime && /* @__PURE__ */ jsxRuntime.jsx("span", { children: readTime })
|
|
35521
|
+
] }),
|
|
35522
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("mt-4 text-3xl font-bold tracking-tight md:text-4xl lg:text-5xl", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", titleClassName), children: title })),
|
|
35523
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mt-4 text-lg text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-4", descriptionClassName), children: description })),
|
|
35524
|
+
authorContent,
|
|
35525
|
+
ctaContent
|
|
35526
|
+
]
|
|
35527
|
+
}
|
|
35528
|
+
)
|
|
35529
|
+
] }) })
|
|
35530
|
+
}
|
|
35531
|
+
);
|
|
35183
35532
|
}
|
|
35184
35533
|
function FaqSimpleAccordion({
|
|
35185
35534
|
heading,
|