@salesmind-ai/design-system 0.2.0 → 0.3.0
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/AppearancePanel-UT57J69V.d.cts +51 -0
- package/dist/AppearancePanel-UT57J69V.d.ts +51 -0
- package/dist/AppearanceProvider-C36a8-eb.d.cts +45 -0
- package/dist/AppearanceProvider-C36a8-eb.d.ts +45 -0
- package/dist/Breadcrumb-RX-B_gDV.d.cts +44 -0
- package/dist/Breadcrumb-RX-B_gDV.d.ts +44 -0
- package/dist/ExportMenu-A2TLFiVv.d.cts +311 -0
- package/dist/ExportMenu-C8qck5AT.d.ts +311 -0
- package/dist/SectionShell-BfBw5q0Y.d.cts +18 -0
- package/dist/SectionShell-BfBw5q0Y.d.ts +18 -0
- package/dist/Select-BdZmK0Lt.d.cts +66 -0
- package/dist/Select-BdZmK0Lt.d.ts +66 -0
- package/dist/admin/index.cjs +2941 -0
- package/dist/admin/index.cjs.map +1 -0
- package/dist/admin/index.css +4145 -0
- package/dist/admin/index.css.map +1 -0
- package/dist/admin/index.d.cts +491 -0
- package/dist/admin/index.d.ts +491 -0
- package/dist/admin/index.js +2918 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/{audit-CiyPkxk1.d.cts → audit-BS2fn7M4.d.ts} +2 -51
- package/dist/{audit-CiyPkxk1.d.ts → audit-DwCmg32J.d.cts} +2 -51
- package/dist/blog/index.cjs +1074 -0
- package/dist/blog/index.cjs.map +1 -0
- package/dist/blog/index.css +1422 -0
- package/dist/blog/index.css.map +1 -0
- package/dist/blog/index.d.cts +233 -0
- package/dist/blog/index.d.ts +233 -0
- package/dist/blog/index.js +1056 -0
- package/dist/blog/index.js.map +1 -0
- package/dist/chart-types-BGVVO-zl.d.cts +208 -0
- package/dist/chart-types-BGVVO-zl.d.ts +208 -0
- package/dist/charts/index.cjs +2698 -0
- package/dist/charts/index.cjs.map +1 -0
- package/dist/charts/index.css +1167 -0
- package/dist/charts/index.css.map +1 -0
- package/dist/charts/index.d.cts +453 -0
- package/dist/charts/index.d.ts +453 -0
- package/dist/charts/index.js +2682 -0
- package/dist/charts/index.js.map +1 -0
- package/dist/core/index.cjs +526 -395
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.css +297 -2
- package/dist/core/index.css.map +1 -1
- package/dist/core/index.d.cts +7 -982
- package/dist/core/index.d.ts +7 -982
- package/dist/core/index.js +476 -351
- package/dist/core/index.js.map +1 -1
- package/dist/i18n/index.cjs +585 -0
- package/dist/i18n/index.cjs.map +1 -0
- package/dist/i18n/index.d.cts +855 -0
- package/dist/i18n/index.d.ts +855 -0
- package/dist/i18n/index.js +547 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.css +16 -6
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +22 -1290
- package/dist/index.d.ts +22 -1290
- package/dist/marketing/index.cjs +2144 -3023
- package/dist/marketing/index.cjs.map +1 -1
- package/dist/marketing/index.css +3729 -4824
- package/dist/marketing/index.css.map +1 -1
- package/dist/marketing/index.d.cts +1351 -4
- package/dist/marketing/index.d.ts +1351 -4
- package/dist/marketing/index.js +2190 -3054
- package/dist/marketing/index.js.map +1 -1
- package/dist/motion/index.cjs +1230 -0
- package/dist/motion/index.cjs.map +1 -0
- package/dist/motion/index.css +699 -0
- package/dist/motion/index.css.map +1 -0
- package/dist/motion/index.d.cts +68 -0
- package/dist/motion/index.d.ts +68 -0
- package/dist/motion/index.js +1218 -0
- package/dist/motion/index.js.map +1 -0
- package/dist/nav/index.cjs +1533 -0
- package/dist/nav/index.cjs.map +1 -0
- package/dist/nav/index.css +1984 -0
- package/dist/nav/index.css.map +1 -0
- package/dist/nav/index.d.cts +279 -0
- package/dist/nav/index.d.ts +279 -0
- package/dist/nav/index.js +1501 -0
- package/dist/nav/index.js.map +1 -0
- package/dist/report/index.cjs +26 -1649
- package/dist/report/index.cjs.map +1 -1
- package/dist/report/index.css +6 -968
- package/dist/report/index.css.map +1 -1
- package/dist/report/index.d.cts +4 -2
- package/dist/report/index.d.ts +4 -2
- package/dist/report/index.js +27 -1640
- package/dist/report/index.js.map +1 -1
- package/dist/sections/index.cjs +385 -0
- package/dist/sections/index.cjs.map +1 -0
- package/dist/sections/index.css +818 -0
- package/dist/sections/index.css.map +1 -0
- package/dist/sections/index.d.cts +69 -0
- package/dist/sections/index.d.ts +69 -0
- package/dist/sections/index.js +374 -0
- package/dist/sections/index.js.map +1 -0
- package/dist/social-proof/index.cjs +1254 -0
- package/dist/social-proof/index.cjs.map +1 -0
- package/dist/social-proof/index.css +1416 -0
- package/dist/social-proof/index.css.map +1 -0
- package/dist/social-proof/index.d.cts +258 -0
- package/dist/social-proof/index.d.ts +258 -0
- package/dist/social-proof/index.js +1237 -0
- package/dist/social-proof/index.js.map +1 -0
- package/dist/theme/index.cjs +573 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.css +464 -0
- package/dist/theme/index.css.map +1 -0
- package/dist/theme/index.d.cts +48 -0
- package/dist/theme/index.d.ts +48 -0
- package/dist/theme/index.js +558 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/types-DAlgDGzw.d.cts +52 -0
- package/dist/types-DAlgDGzw.d.ts +52 -0
- package/dist/web/index.d.cts +3 -2
- package/dist/web/index.d.ts +3 -2
- package/package.json +68 -9
- package/dist/ExportMenu-hEe5MhLq.d.cts +0 -1027
- package/dist/ExportMenu-hEe5MhLq.d.ts +0 -1027
- package/dist/index-B64suAAc.d.cts +0 -1498
- package/dist/index-B64suAAc.d.ts +0 -1498
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/components/Avatar/Avatar.css","../../src/components/AuthorBio/AuthorBio.css","../../src/components/TableOfContents/TableOfContents.css","../../src/components/ReadingProgress/ReadingProgress.css","../../src/components/LongFormLayout/LongFormLayout.css","../../src/components/LongFormComponents/LongFormComponents.css","../../src/components/ArticleCard/ArticleCard.css","../../src/components/ArticleLayout/ArticleLayout.css","../../src/components/LayoutPrimitives/LayoutPrimitives.css","../../src/components/SectionShell/SectionShell.css","../../src/components/RelatedContent/RelatedContent.css","../../src/components/VersionedContent/VersionedContent.css","../../src/components/BrowserFrame/BrowserFrame.css"],"sourcesContent":["/* ============================================================================\n AVATAR — USER AVATAR WITH IMAGE & FALLBACK\n ============================================================================ */\n\n/* ==========================================================================\n Root — Circular container\n ========================================================================== */\n\n.ds-avatar {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n border-radius: 9999px;\n background: var(--glass-base);\n vertical-align: middle;\n flex-shrink: 0;\n}\n\n/* ==========================================================================\n Size Variants\n ========================================================================== */\n\n.ds-avatar--sm {\n width: 32px;\n height: 32px;\n}\n\n.ds-avatar--md {\n width: 40px;\n height: 40px;\n}\n\n.ds-avatar--lg {\n width: 56px;\n height: 56px;\n}\n\n/* ==========================================================================\n Image\n ========================================================================== */\n\n.ds-avatar__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: inherit;\n}\n\n/* ==========================================================================\n Fallback — Initials / icon placeholder\n ========================================================================== */\n\n.ds-avatar__fallback {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font-family: var(--font-family);\n font-weight: var(--font-weight-medium);\n color: var(--text-secondary);\n background: var(--glass-base-hover);\n border-radius: inherit;\n user-select: none;\n}\n\n/* Size-based font sizing */\n.ds-avatar--sm .ds-avatar__fallback {\n font-size: var(--font-size-xs);\n}\n\n.ds-avatar--md .ds-avatar__fallback {\n font-size: var(--font-size-sm);\n}\n\n.ds-avatar--lg .ds-avatar__fallback {\n font-size: var(--font-size-lg);\n}\n\n/* ==========================================================================\n High Contrast Mode\n ========================================================================== */\n\n@media (prefers-contrast: more) {\n .ds-avatar {\n border: 1px solid var(--hc-border);\n }\n}\n","/* ============================================================================\n AUTHOR BIO\n ============================================================================ */\n\n.ds-author-bio {\n display: flex;\n gap: var(--space-4);\n}\n\n/* ─── Card variant ─── */\n.ds-author-bio--card {\n padding: var(--space-6);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n backdrop-filter: var(--glass-backdrop-light);\n -webkit-backdrop-filter: var(--glass-backdrop-light);\n border: 1px solid var(--rim-light-bottom);\n}\n\n/* ─── Longform variant ─── */\n.ds-author-bio--longform {\n padding: var(--space-8);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--hc-border-subtle);\n align-items: center;\n gap: var(--space-6);\n position: relative;\n overflow: hidden;\n}\n\n@media (max-width: 767px) {\n .ds-author-bio--longform {\n flex-direction: column;\n text-align: center;\n }\n}\n\n.ds-author-bio--longform .ds-author-bio__avatar {\n border: 2px solid rgb(var(--accent-rgb));\n box-shadow: 0 0 0 4px rgba(var(--accent-rgb), 0.1);\n}\n\n.ds-author-bio--longform .ds-author-bio__name {\n font-size: var(--font-size-lg);\n}\n\n.ds-author-bio--longform .ds-author-bio__role {\n color: rgb(var(--accent-rgb));\n font-weight: var(--font-weight-medium);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n font-size: var(--font-size-xs);\n}\n\n.ds-author-bio--longform .ds-author-bio__bio {\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n}\n\n/* ─── Inline variant ─── */\n.ds-author-bio--inline {\n align-items: center;\n}\n\n/* ─── Compact variant ─── */\n.ds-author-bio--compact {\n align-items: center;\n gap: var(--space-2);\n}\n\n/* ─── Info ─── */\n.ds-author-bio__info {\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n}\n\n.ds-author-bio__name {\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n}\n\n.ds-author-bio--compact .ds-author-bio__name {\n font-size: var(--font-size-sm);\n}\n\n.ds-author-bio__role {\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n}\n\n.ds-author-bio--compact .ds-author-bio__role {\n font-size: var(--font-size-xs);\n}\n\n.ds-author-bio__bio {\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n line-height: var(--line-height-relaxed);\n margin: var(--space-2) 0 0;\n}\n\n/* ─── Links ─── */\n.ds-author-bio__links {\n display: flex;\n gap: var(--space-3);\n margin-top: var(--space-3);\n}\n\n.ds-author-bio__link {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n font-size: var(--font-size-xs);\n color: rgb(var(--accent-rgb));\n text-decoration: none;\n transition: opacity var(--transition-fast);\n}\n\n.ds-author-bio__link:hover {\n opacity: 0.8;\n}\n\n.ds-author-bio__link:focus-visible {\n outline: 2px solid var(--focus-ring-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n.ds-author-bio__link-icon {\n display: flex;\n align-items: center;\n}\n\n/* ─── High contrast ─── */\n@media (prefers-contrast: more) {\n .ds-author-bio--card {\n background: var(--hc-surface);\n border: 2px solid var(--hc-border);\n }\n}\n","/* ============================================================================\n TABLE OF CONTENTS\n ============================================================================ */\n\n.ds-toc {\n font-size: var(--font-size-sm);\n}\n\n.ds-toc--sidebar {\n position: sticky;\n top: var(--space-20);\n}\n\n/* ─── Label ─── */\n.ds-toc__label {\n display: block;\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-semibold);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n color: var(--text-tertiary);\n margin-bottom: var(--space-3);\n}\n\n/* ─── List ─── */\n.ds-toc__list {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: var(--space-1);\n border-left: 2px solid var(--rim-light-bottom);\n}\n\n/* ─── Item ─── */\n.ds-toc__item {\n /* Padding-left set inline by level */\n}\n\n/* ─── Link button ─── */\n.ds-toc__link {\n display: block;\n width: 100%;\n padding: var(--space-1) var(--space-3);\n margin-left: -2px;\n border: none;\n border-left: 2px solid transparent;\n background: transparent;\n text-align: left;\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n cursor: pointer;\n transition: color var(--transition-fast), border-color var(--transition-fast);\n line-height: var(--line-height-normal);\n}\n\n.ds-toc__link:hover {\n color: var(--text-primary);\n}\n\n.ds-toc__link--active {\n color: rgb(var(--accent-rgb));\n border-left-color: rgb(var(--accent-rgb));\n font-weight: var(--font-weight-medium);\n}\n\n.ds-toc__link:focus-visible {\n outline: 2px solid var(--focus-ring-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n/* ─── Inline variant ─── */\n.ds-toc--inline {\n position: static;\n padding: var(--space-4);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n}\n\n/* ─── Floating variant ─── */\n.ds-toc--floating {\n position: fixed;\n right: var(--space-4);\n top: 50%;\n transform: translateY(-50%);\n z-index: var(--z-glass-panel);\n padding: var(--space-3);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n backdrop-filter: var(--glass-backdrop-light);\n -webkit-backdrop-filter: var(--glass-backdrop-light);\n border: 1px solid var(--rim-light-bottom);\n box-shadow: var(--glass-shadow-outer);\n max-height: 60vh;\n overflow-y: auto;\n}\n\n/* ─── Responsive ─── */\n@media (max-width: 1024px) {\n .ds-toc--floating {\n display: none;\n }\n}\n\n/* ─── High contrast ─── */\n@media (prefers-contrast: more) {\n .ds-toc--inline,\n .ds-toc--floating {\n background: var(--hc-surface);\n border: 2px solid var(--hc-border);\n }\n\n .ds-toc__list {\n border-left-color: var(--hc-border);\n }\n}\n","/* ============================================================================\n READING PROGRESS BAR\n ============================================================================ */\n\n.ds-reading-progress {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 4px; /* Default height, adjustable via --progress-height */\n height: var(--progress-height, 4px);\n z-index: 9999; /* Force above navbar */\n background-color: transparent;\n pointer-events: none;\n}\n\n.ds-reading-progress__bar {\n height: 100%;\n width: 100%;\n /* Gradient from brand primary to accent/secondary */\n background: linear-gradient(90deg, \n rgb(var(--primary-rgb, 59 130 246)), \n rgb(var(--accent-rgb, 147 51 234))\n );\n transform-origin: 0% 50%;\n transform: scaleX(0);\n will-change: transform;\n box-shadow: 0 0 10px rgba(var(--accent-rgb, 147 51 234), 0.5);\n}\n","/* ============================================================================\n LONG FORM LAYOUT\n ============================================================================ */\n\n.ds-longform-layout {\n display: flex;\n flex-direction: column;\n gap: var(--space-8);\n width: 100%;\n}\n\n@media (min-width: 1024px) {\n .ds-longform-layout {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--space-12);\n /* Center the content+sidebar pair within the container */\n max-width: 72rem; /* 1152px — prevents stretching on ultra-wide */\n margin-left: auto;\n margin-right: auto;\n }\n}\n\n.ds-longform-layout__main {\n flex: 1 1 0%;\n min-width: 0;\n max-width: var(--content-width-prose, 50rem); /* Widened from 42.5rem (680px) to 50rem (800px) */\n width: 100%;\n}\n\n/* Push to center when no sidebar, otherwise flex layout manages it */\n.ds-longform-layout:not(:has(.ds-longform-layout__sidebar)) .ds-longform-layout__main {\n margin-left: auto;\n margin-right: auto;\n}\n\n.ds-longform-layout__sidebar {\n width: 100%;\n}\n\n@media (min-width: 1024px) {\n .ds-longform-layout__sidebar {\n width: 320px;\n flex-shrink: 0;\n position: sticky;\n top: calc(var(--space-16) + var(--navbar-height, 64px)); /* offset below header */\n max-height: calc(100vh - var(--space-16) - var(--navbar-height, 64px));\n overflow-y: auto;\n \n /* Hide scrollbar visually but allow scrolling */\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n .ds-longform-layout__sidebar::-webkit-scrollbar {\n display: none;\n }\n}\n","/* ============================================================================\n LONG FORM COMPONENTS (InsightCallout, DataHighlight)\n ============================================================================ */\n\n.ds-insight-callout {\n display: flex;\n gap: var(--space-4);\n padding: var(--space-6);\n margin: var(--space-8) 0;\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--hc-border-subtle);\n position: relative;\n overflow: hidden;\n}\n\n.ds-insight-callout::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 4px;\n background: rgb(var(--accent-rgb));\n}\n\n.ds-insight-callout__icon {\n flex-shrink: 0;\n color: rgb(var(--accent-rgb));\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ds-insight-callout__icon svg {\n width: 24px;\n height: 24px;\n}\n\n.ds-insight-callout__content {\n flex: 1 1 0%;\n min-width: 0;\n font-family: var(--font-family);\n}\n\n.ds-insight-callout__title {\n margin: 0 0 var(--space-2);\n font-size: var(--font-size-base);\n font-weight: var(--font-weight-bold);\n color: var(--text-primary);\n}\n\n.ds-insight-callout__content > :first-child:not(.ds-insight-callout__title) {\n margin-top: 0;\n}\n.ds-insight-callout__content > :last-child {\n margin-bottom: 0;\n}\n\n/* Data Highlight */\n.ds-data-highlight {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding: var(--space-8);\n margin: var(--space-8) 0;\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--hc-border-subtle);\n}\n\n.ds-data-highlight__stat-group {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n margin-bottom: var(--space-4);\n}\n\n.ds-data-highlight__stat {\n font-size: var(--font-size-3xl);\n font-weight: var(--font-weight-bold);\n color: rgb(var(--accent-rgb));\n line-height: 1;\n}\n\n.ds-data-highlight__label {\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n color: var(--text-secondary);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n}\n\n.ds-data-highlight__caption {\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n font-style: italic;\n max-width: 400px;\n}\n",".ds-article-card {\n display: flex;\n flex-direction: column;\n background-color: var(--hc-surface);\n border: 1px solid var(--hc-surface-subtle);\n border-radius: var(--radius-card);\n overflow: hidden;\n text-decoration: none;\n color: inherit;\n transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);\n height: 100%;\n}\n\n.ds-article-card:hover {\n transform: translateY(-4px);\n box-shadow: var(--shadow-interactive-hover);\n border-color: rgba(var(--accent-rgb), 0.3);\n}\n\n.ds-article-card:focus-visible {\n outline: none;\n box-shadow: var(--focus-ring);\n}\n\n.ds-article-card__image-wrapper {\n position: relative;\n width: 100%;\n aspect-ratio: 16/9;\n overflow: hidden;\n background-color: var(--hc-surface-subtle);\n}\n\n.ds-article-card__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n transition: transform var(--transition-slow);\n}\n\n.ds-article-card:hover .ds-article-card__image {\n transform: scale(1.05);\n}\n\n.ds-article-card__category-badge {\n position: absolute;\n top: var(--space-3);\n left: var(--space-3);\n background-color: var(--void-base);\n color: var(--text-primary);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-badge);\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-bold);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n z-index: 1;\n}\n\n.ds-article-card__content {\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: var(--space-5);\n gap: var(--space-3);\n}\n\n.ds-article-card__category-text {\n font-family: var(--font-family);\n font-size: var(--font-size-xs);\n font-weight: var(--font-weight-bold);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n color: rgb(var(--accent-rgb));\n}\n\n.ds-article-card__title {\n font-family: var(--font-family);\n font-size: var(--font-size-xl);\n font-weight: var(--font-weight-bold);\n line-height: var(--line-height-tight);\n color: var(--text-primary);\n margin: 0;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n transition: color var(--transition-base);\n}\n\n.ds-article-card:hover .ds-article-card__title {\n color: rgb(var(--accent-rgb));\n}\n\n.ds-article-card__excerpt {\n font-family: var(--font-family);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n line-height: var(--line-height-relaxed);\n margin: 0;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.ds-article-card__meta {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: var(--space-3);\n margin-top: auto;\n padding-top: var(--space-4);\n border-top: 1px solid var(--hc-surface-subtle);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-tertiary);\n}\n\n.ds-article-card__meta-primary {\n display: flex;\n align-items: center;\n gap: var(--space-2);\n}\n\n.ds-article-card__author {\n font-weight: var(--font-weight-medium);\n color: var(--text-secondary);\n}\n\n.ds-article-card__meta-secondary {\n display: flex;\n align-items: center;\n gap: var(--space-1);\n}\n\n.ds-article-card__footer {\n display: flex;\n align-items: center;\n margin-top: var(--space-2);\n}\n\n.ds-article-card__read-more {\n display: inline-flex;\n align-items: center;\n gap: var(--space-1);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-bold);\n color: rgb(var(--accent-rgb));\n}\n\n.ds-article-card__arrow {\n transition: transform var(--transition-base);\n}\n\n.ds-article-card:hover .ds-article-card__arrow {\n transform: translateX(4px);\n}\n\n/* ============================================================================\n VARIANTS\n ============================================================================ */\n\n.ds-article-card--horizontal {\n flex-direction: row;\n}\n\n.ds-article-card--horizontal .ds-article-card__image-wrapper {\n width: 40%;\n aspect-ratio: auto;\n}\n\n.ds-article-card--horizontal .ds-article-card__content {\n width: 60%;\n padding: var(--space-6);\n}\n\n.ds-article-card--featured {\n flex-direction: row;\n grid-column: 1 / -1;\n border: none;\n background-color: transparent;\n box-shadow: none;\n align-items: center;\n gap: var(--space-8);\n}\n\n.ds-article-card--featured:hover {\n transform: none;\n box-shadow: none;\n}\n\n.ds-article-card--featured .ds-article-card__image-wrapper {\n flex: 1;\n border-radius: var(--radius-panel);\n box-shadow: var(--shadow-interactive-rest);\n}\n\n.ds-article-card--featured .ds-article-card__content {\n flex: 1;\n padding: 0;\n}\n\n.ds-article-card--featured .ds-article-card__title {\n font-size: var(--font-size-3xl);\n -webkit-line-clamp: 4;\n}\n\n.ds-article-card--featured .ds-article-card__excerpt {\n font-size: var(--font-size-lg);\n -webkit-line-clamp: 3;\n}\n\n@media (max-width: 768px) {\n .ds-article-card--horizontal,\n .ds-article-card--featured {\n flex-direction: column;\n }\n \n .ds-article-card--horizontal .ds-article-card__image-wrapper,\n .ds-article-card--horizontal .ds-article-card__content,\n .ds-article-card--featured .ds-article-card__image-wrapper,\n .ds-article-card--featured .ds-article-card__content {\n width: 100%;\n }\n \n .ds-article-card--horizontal .ds-article-card__image-wrapper {\n aspect-ratio: 16/9;\n }\n}\n\n/* ============================================================================\n NO-IMAGE PLACEHOLDER\n Shows a branded gradient with a subtle icon when no image is available.\n ============================================================================ */\n\n.ds-article-card--no-image .ds-article-card__placeholder {\n position: relative;\n width: 100%;\n aspect-ratio: 16/9;\n overflow: hidden;\n background: linear-gradient(135deg, var(--hc-surface-subtle) 0%, var(--hc-surface) 50%, rgba(var(--accent-rgb), 0.08) 100%);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.ds-article-card__placeholder-icon {\n width: 48px;\n height: 48px;\n opacity: 0.15;\n color: var(--text-tertiary);\n transition: opacity var(--transition-base);\n}\n\n.ds-article-card:hover .ds-article-card__placeholder-icon {\n opacity: 0.25;\n}\n",".ds-article-layout {\n width: 100%;\n max-width: var(--content-width-standard);\n margin: 0 auto;\n padding: var(--space-8) var(--space-4);\n font-family: var(--font-family);\n}\n\n.ds-article-layout__header {\n max-width: var(--content-width-prose);\n margin: 0 auto var(--space-12);\n text-align: center;\n}\n\n.ds-article-layout__title {\n font-size: var(--font-size-5xl);\n font-weight: var(--font-weight-bold);\n line-height: var(--line-height-display);\n color: var(--text-primary);\n margin: 0 0 var(--space-6);\n text-wrap: balance;\n}\n\n.ds-article-layout__meta {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--space-3);\n font-size: var(--font-size-base);\n color: var(--text-secondary);\n}\n\n.ds-article-layout__hero {\n width: 100%;\n aspect-ratio: 16/9;\n border-radius: var(--radius-panel);\n overflow: hidden;\n margin-bottom: var(--space-12);\n background-color: var(--hc-surface-subtle);\n box-shadow: var(--shadow-interactive-rest);\n}\n\n.ds-article-layout__hero img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.ds-article-layout__body {\n display: flex;\n gap: var(--space-12);\n max-width: var(--content-width-standard);\n margin: 0 auto;\n}\n\n.ds-article-layout__content {\n flex: 1;\n min-width: 0;\n max-width: var(--content-width-prose);\n margin: 0 auto;\n}\n\n.ds-article-layout__sidebar {\n width: 280px;\n flex-shrink: 0;\n}\n\n.ds-article-layout__sidebar-inner {\n position: sticky;\n top: var(--space-20);\n display: flex;\n flex-direction: column;\n gap: var(--space-8);\n}\n\n/* ============================================================================\n PROSE STYLING (The typography system for long-form content)\n ============================================================================ */\n\n.ds-prose {\n color: var(--text-secondary);\n font-size: var(--font-size-lg);\n line-height: var(--line-height-relaxed);\n}\n\n.ds-prose p {\n margin-top: 0;\n margin-bottom: var(--space-6);\n}\n\n.ds-prose h2,\n.ds-prose h3,\n.ds-prose h4 {\n color: var(--text-primary);\n font-weight: var(--font-weight-bold);\n line-height: var(--line-height-tight);\n margin-top: var(--space-10);\n margin-bottom: var(--space-4);\n}\n\n.ds-prose h2 {\n font-size: var(--font-size-3xl);\n border-bottom: 1px solid var(--hc-surface-subtle);\n padding-bottom: var(--space-2);\n}\n\n.ds-prose h3 {\n font-size: var(--font-size-2xl);\n}\n\n.ds-prose h4 {\n font-size: var(--font-size-xl);\n}\n\n.ds-prose a {\n color: rgb(var(--accent-rgb));\n text-decoration: underline;\n text-underline-offset: 4px;\n text-decoration-color: rgba(var(--accent-rgb), 0.3);\n transition: text-decoration-color var(--transition-fast);\n}\n\n.ds-prose a:hover {\n text-decoration-color: rgb(var(--accent-rgb));\n}\n\n.ds-prose ul,\n.ds-prose ol {\n margin-top: 0;\n margin-bottom: var(--space-6);\n padding-left: var(--space-6);\n}\n\n.ds-prose li {\n margin-bottom: var(--space-2);\n}\n\n.ds-prose img {\n width: 100%;\n border-radius: var(--radius-card);\n margin: var(--space-8) 0;\n}\n\n.ds-prose blockquote {\n border-left: 4px solid rgb(var(--accent-rgb));\n margin: var(--space-8) 0;\n padding: var(--space-4) var(--space-6);\n background: var(--surface-alpha-1);\n border-radius: 0 var(--radius-card) var(--radius-card) 0;\n color: var(--text-primary);\n font-style: italic;\n}\n\n.ds-prose pre {\n background: var(--void-base);\n border: 1px solid var(--hc-surface-subtle);\n border-radius: var(--radius-card);\n padding: var(--space-4);\n overflow-x: auto;\n margin: var(--space-8) 0;\n}\n\n.ds-prose code {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-code-inline);\n}\n\n@media (max-width: 1024px) {\n .ds-article-layout__body {\n flex-direction: column;\n }\n \n .ds-article-layout__sidebar {\n width: 100%;\n order: -1; /* Put sidebar (often TOC) before content on mobile */\n }\n \n .ds-article-layout__sidebar-inner {\n position: static;\n }\n}\n\n@media (max-width: 640px) {\n .ds-article-layout__title {\n font-size: var(--font-size-4xl);\n }\n}\n","/* Layout Primitives Base Styles */\n\n.ds-box {\n display: block;\n box-sizing: border-box;\n min-width: 0;\n}\n\n.ds-stack {\n display: flex;\n flex-direction: column;\n}\n\n.ds-stack--horizontal {\n flex-direction: row;\n}\n\n.ds-grid {\n display: grid;\n}\n\n/* ── Grid responsive columns ──────────────────────────────────────────────────\n Auto-collapse to fewer columns at narrow viewports.\n These classes are overrideable by Tailwind responsive utilities (e.g.\n className=\"grid-cols-1 md:grid-cols-2 lg:grid-cols-4\") because Tailwind\n utilities load after DS styles and win at equal specificity.\n ──────────────────────────────────────────────────────────────────────────── */\n\n/* 1 column — no responsive change */\n.ds-grid--cols-1 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n/* 2 columns → 1 on mobile */\n.ds-grid--cols-2 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-2 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n/* 3 columns → 1 on mobile, 2 on sm, 3 on lg */\n.ds-grid--cols-3 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-3 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 1024px) {\n .ds-grid--cols-3 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n/* 4 columns → 1 on mobile, 2 on sm, 4 on lg */\n.ds-grid--cols-4 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-4 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 1024px) {\n .ds-grid--cols-4 {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* 5 columns → 1 on mobile, 2 on sm, 3 on md, 5 on xl */\n.ds-grid--cols-5 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-5 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 768px) {\n .ds-grid--cols-5 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@media (min-width: 1280px) {\n .ds-grid--cols-5 {\n grid-template-columns: repeat(5, 1fr);\n }\n}\n\n/* 6 columns → 1 on mobile, 2 on sm, 3 on md, 6 on xl */\n.ds-grid--cols-6 {\n grid-template-columns: repeat(1, 1fr);\n}\n\n@media (min-width: 640px) {\n .ds-grid--cols-6 {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@media (min-width: 768px) {\n .ds-grid--cols-6 {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@media (min-width: 1280px) {\n .ds-grid--cols-6 {\n grid-template-columns: repeat(6, 1fr);\n }\n}\n\n/* ── Grid expansion on wide screens (Space Budget Ladder) ─────────────────\n Grids expand to MORE columns on ultra-wide viewports.\n The .ds-grid--fixed class opts out of expansion.\n ──────────────────────────────────────────────────────────────────────────── */\n\n/* 3xl (1920px): expand 3→4, 4→4 stays, 5→5 stays, 6→6 stays */\n@media (min-width: 1920px) {\n .ds-grid--cols-3:not(.ds-grid--fixed) {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* 4xl (2560px): expand 2→3, 3→4, 4→5, 5→6, 6→8 */\n@media (min-width: 2560px) {\n .ds-grid--cols-2:not(.ds-grid--fixed) {\n grid-template-columns: repeat(3, 1fr);\n }\n .ds-grid--cols-3:not(.ds-grid--fixed) {\n grid-template-columns: repeat(4, 1fr);\n }\n .ds-grid--cols-4:not(.ds-grid--fixed) {\n grid-template-columns: repeat(5, 1fr);\n }\n .ds-grid--cols-5:not(.ds-grid--fixed) {\n grid-template-columns: repeat(6, 1fr);\n }\n .ds-grid--cols-6:not(.ds-grid--fixed) {\n grid-template-columns: repeat(8, 1fr);\n }\n}\n\n/* 5xl (3840px): expand 2→3, 3→5, 4→6, 5→8, 6→10 */\n@media (min-width: 3840px) {\n .ds-grid--cols-2:not(.ds-grid--fixed) {\n grid-template-columns: repeat(3, 1fr);\n }\n .ds-grid--cols-3:not(.ds-grid--fixed) {\n grid-template-columns: repeat(5, 1fr);\n }\n .ds-grid--cols-4:not(.ds-grid--fixed) {\n grid-template-columns: repeat(6, 1fr);\n }\n .ds-grid--cols-5:not(.ds-grid--fixed) {\n grid-template-columns: repeat(8, 1fr);\n }\n .ds-grid--cols-6:not(.ds-grid--fixed) {\n grid-template-columns: repeat(10, 1fr);\n }\n}\n\n/* ── Container — Responsive max-width + padding ladder ────────────────────── */\n\n:root {\n --container-default-max: 1200px;\n}\n\n@media (min-width: 1537px) {\n :root { --container-default-max: 1400px; }\n}\n\n@media (min-width: 1921px) {\n :root { --container-default-max: 1600px; }\n}\n\n@media (min-width: 2561px) {\n :root { --container-default-max: 1920px; }\n}\n\n.ds-container {\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n padding-left: var(--container-padding-x, var(--space-4));\n padding-right: var(--container-padding-x, var(--space-4));\n}\n\n/* Container horizontal padding scales with viewport */\n@media (min-width: 1537px) {\n .ds-container {\n --container-padding-x: var(--space-6);\n }\n}\n\n@media (min-width: 2561px) {\n .ds-container {\n --container-padding-x: var(--space-8);\n }\n}\n\n/* Section block — lightweight <section> with vertical padding */\n\n.ds-section-block {\n position: relative;\n}\n\n.ds-section-block--none {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.ds-section-block--sm {\n padding-top: var(--space-8, 2rem);\n padding-bottom: var(--space-8, 2rem);\n}\n\n.ds-section-block--md {\n padding-top: var(--space-16, 4rem);\n padding-bottom: var(--space-16, 4rem);\n}\n\n@media (min-width: 768px) {\n .ds-section-block--md {\n padding-top: var(--space-24, 6rem);\n padding-bottom: var(--space-24, 6rem);\n }\n}\n\n.ds-section-block--lg {\n padding-top: var(--space-24, 6rem);\n padding-bottom: var(--space-24, 6rem);\n}\n\n@media (min-width: 768px) {\n .ds-section-block--lg {\n padding-top: var(--space-32, 8rem);\n padding-bottom: var(--space-32, 8rem);\n }\n}\n\n.ds-visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n border-width: 0;\n}\n","/* ============================================================================\n SECTION SHELL\n ============================================================================ */\n\n.ds-section {\n position: relative;\n width: 100%;\n padding: var(--space-16) 0;\n box-sizing: border-box;\n}\n\n/* Background Variants */\n.ds-section--bg-default {\n background-color: transparent;\n}\n\n.ds-section--bg-muted {\n background-color: var(--surface-alpha-1);\n}\n\n.ds-section--bg-brand {\n background: radial-gradient(circle at 50% 0%, rgba(var(--brand-pink-rgb), 0.15), transparent 70%);\n}\n\n/* Padding Sizes */\n.ds-section--padding-none {\n padding: 0;\n}\n.ds-section--padding-sm {\n padding: var(--space-8) 0;\n}\n.ds-section--padding-md {\n padding: var(--space-16) 0;\n}\n.ds-section--padding-lg {\n padding: var(--space-20) 0;\n}\n\n/* ==========================================================================\n Section Header\n ========================================================================== */\n\n.ds-section-header {\n margin-bottom: var(--space-12);\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n}\n\n.ds-section-header--center {\n text-align: center;\n align-items: center;\n}\n.ds-section-header--left {\n text-align: left;\n align-items: flex-start;\n}\n.ds-section-header--right {\n text-align: right;\n align-items: flex-end;\n}\n\n.ds-section-header__eyebrow {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-xs);\n color: var(--brand-pink);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n font-weight: var(--font-weight-medium);\n}\n\n.ds-section-header__title {\n font-family: var(--font-family);\n font-size: var(--font-size-3xl);\n font-weight: var(--font-weight-bold);\n color: var(--text-primary);\n line-height: var(--line-height-tight);\n margin: 0;\n}\n\n.ds-section-header__subtitle {\n font-family: var(--font-family);\n font-size: var(--font-size-lg);\n color: var(--text-secondary);\n max-width: 65ch;\n line-height: var(--line-height-relaxed);\n margin: 0;\n}\n\n/* Responsive adjustments — Mobile */\n@media (max-width: 768px) {\n .ds-section {\n padding: var(--space-10) 0;\n }\n\n .ds-section--padding-lg {\n padding: var(--space-12) 0;\n }\n\n .ds-section-header__title {\n font-size: var(--font-size-2xl);\n }\n}\n\n/* Responsive adjustments — Wide (>=1920px) */\n@media (min-width: 1920px) {\n .ds-section {\n padding: var(--space-20) 0;\n }\n\n .ds-section--padding-sm {\n padding: var(--space-10) 0;\n }\n\n .ds-section--padding-md {\n padding: var(--space-20) 0;\n }\n\n .ds-section--padding-lg {\n padding: calc(var(--space-20) * 1.25) 0;\n }\n\n .ds-section-header {\n margin-bottom: var(--space-16);\n }\n\n .ds-section-header__title {\n font-size: var(--font-size-4xl);\n }\n}\n\n/* Responsive adjustments — Ultra (>=2560px) */\n@media (min-width: 2560px) {\n .ds-section {\n padding: calc(var(--space-20) * 1.5) 0;\n }\n\n .ds-section--padding-lg {\n padding: calc(var(--space-20) * 1.75) 0;\n }\n\n .ds-section-header {\n margin-bottom: var(--space-20);\n gap: var(--space-6);\n }\n\n .ds-section-header__title {\n font-size: var(--font-size-5xl);\n }\n\n .ds-section-header__subtitle {\n font-size: var(--font-size-xl);\n }\n}\n\n/* Responsive adjustments — 4K+ (>=3840px) */\n@media (min-width: 3840px) {\n .ds-section {\n padding: calc(var(--space-20) * 2) 0;\n }\n\n .ds-section--padding-lg {\n padding: calc(var(--space-20) * 2.5) 0;\n }\n\n .ds-section-header__title {\n font-size: var(--font-size-6xl);\n }\n}\n","/* ============================================================================\n RELATED CONTENT\n ============================================================================ */\n\n.ds-related-content__grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n gap: var(--space-6);\n}\n\n/* ─── Responsive ─── */\n@media (max-width: 640px) {\n .ds-related-content__grid {\n grid-template-columns: 1fr;\n }\n}\n\n/* ─── High contrast ─── */\n@media (prefers-contrast: more) {\n .ds-related-content__grid {\n gap: var(--space-8);\n }\n}\n","/* ============================================================================\n VERSIONED CONTENT COMPONENTS\n ============================================================================ */\n\n/* ─── Upgrade Alert ─── */\n.ds-versioned-alert {\n position: sticky;\n top: 0; /* Fallback, usually overridden by a header height calc */\n z-index: 50;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--space-4);\n padding: var(--space-3) var(--space-6);\n background: var(--marketing-urgency, rgba(255, 170, 0, 0.15));\n border-bottom: 1px solid var(--hc-border-subtle);\n backdrop-filter: var(--glass-backdrop);\n -webkit-backdrop-filter: var(--glass-backdrop);\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-primary);\n}\n\n@media (max-width: 767px) {\n .ds-versioned-alert {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n.ds-versioned-alert__content {\n display: flex;\n align-items: flex-start;\n gap: var(--space-3);\n}\n\n.ds-versioned-alert__icon {\n font-size: var(--font-size-base);\n line-height: 1;\n}\n\n.ds-versioned-alert__text {\n line-height: var(--line-height-normal);\n}\n\n.ds-versioned-alert__delta {\n opacity: 0.8;\n font-style: italic;\n}\n\n.ds-versioned-alert__actions {\n display: flex;\n align-items: center;\n gap: var(--space-4);\n flex-shrink: 0;\n}\n\n.ds-versioned-alert__button {\n text-decoration: none;\n white-space: nowrap;\n}\n\n.ds-versioned-alert__close {\n background: transparent;\n border: none;\n color: var(--text-tertiary);\n font-size: var(--font-size-xl);\n line-height: 1;\n padding: var(--space-1);\n cursor: pointer;\n transition: color var(--transition-fast);\n}\n\n.ds-versioned-alert__close:hover {\n color: var(--text-primary);\n}\n\n/* ─── Series Navigator ─── */\n.ds-versioned-navigator {\n background: var(--glass-base);\n border: 1px solid var(--hc-border-subtle);\n border-radius: var(--radius-card);\n padding: var(--space-6);\n font-family: var(--font-family);\n margin-bottom: var(--space-8);\n}\n\n.ds-versioned-navigator__header {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n margin-bottom: var(--space-6);\n}\n\n.ds-versioned-navigator__label {\n font-size: var(--font-size-xs);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n color: var(--text-tertiary);\n margin-bottom: var(--space-1);\n}\n\n.ds-versioned-navigator__title {\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n text-decoration: none;\n transition: color var(--transition-fast);\n}\n\n.ds-versioned-navigator__title:hover {\n color: rgb(var(--accent-rgb));\n}\n\n.ds-versioned-navigator__timeline {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n}\n\n.ds-versioned-navigator__connector {\n height: 2px;\n width: 32px;\n background: var(--hc-border-subtle);\n margin: 0 var(--space-2);\n}\n\n.ds-versioned-navigator__node {\n padding: var(--space-2) var(--space-4);\n border-radius: var(--radius-pill);\n font-size: var(--font-size-sm);\n font-weight: var(--font-weight-medium);\n color: var(--text-secondary);\n background: var(--interactive-hover-bg);\n text-decoration: none;\n transition: all var(--transition-fast);\n border: 1px solid transparent;\n}\n\n.ds-versioned-navigator__node:hover {\n color: var(--text-primary);\n background: var(--interactive-active-bg);\n}\n\n.ds-versioned-navigator__node--active {\n color: var(--btn-primary-text, #fff);\n background: rgb(var(--accent-rgb));\n border-color: var(--surface-alpha-3);\n box-shadow: var(--shadow-interactive-rest), 0 0 12px rgba(var(--accent-rgb), 0.3);\n}\n","/* ============================================================================\n BROWSER FRAME\n ============================================================================ */\n\n.ds-browser-frame {\n position: relative;\n border-radius: var(--radius-card);\n overflow: hidden;\n background: var(--glass-base);\n backdrop-filter: var(--glass-backdrop-light);\n -webkit-backdrop-filter: var(--glass-backdrop-light);\n border: 1px solid var(--rim-light-bottom);\n box-shadow: var(--glass-shadow-combined);\n}\n\n/* ─── Glow effect ─── */\n.ds-browser-frame--glow {\n box-shadow: var(--glass-shadow-combined), 0 0 80px rgba(var(--accent-rgb), 0.15);\n}\n\n/* ─── Chrome header ─── */\n.ds-browser-frame__chrome {\n display: flex;\n align-items: center;\n gap: var(--space-3);\n padding: var(--space-2) var(--space-4);\n background: var(--surface-alpha-3);\n border-bottom: 1px solid var(--rim-light-bottom);\n min-height: 36px;\n}\n\n/* ─── Traffic light dots ─── */\n.ds-browser-frame__controls {\n display: flex;\n gap: var(--space-1-5);\n flex-shrink: 0;\n}\n\n.ds-browser-frame__dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n}\n\n.ds-browser-frame__dot--red { background: #ff5f57; }\n.ds-browser-frame__dot--yellow { background: #febc2e; }\n.ds-browser-frame__dot--green { background: #28c840; }\n\n/* ─── URL bar ─── */\n.ds-browser-frame__url-bar {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--space-2);\n padding: var(--space-1) var(--space-3);\n background: var(--surface-alpha-1);\n border-radius: var(--radius-badge);\n font-size: var(--font-size-xs);\n color: var(--text-tertiary);\n max-width: 360px;\n margin: 0 auto;\n}\n\n.ds-browser-frame__lock {\n flex-shrink: 0;\n opacity: 0.5;\n}\n\n.ds-browser-frame__url-text {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* ─── Content area ─── */\n.ds-browser-frame__content {\n position: relative;\n overflow: hidden;\n}\n\n.ds-browser-frame__content > img,\n.ds-browser-frame__content > video {\n width: 100%;\n height: 100%;\n object-fit: cover;\n display: block;\n}\n\n/* ─── Mobile variant ─── */\n.ds-browser-frame--mobile {\n max-width: 375px;\n margin: 0 auto;\n border-radius: calc(var(--radius-panel) * 1.2);\n padding: var(--space-2);\n}\n\n.ds-browser-frame--mobile .ds-browser-frame__chrome {\n justify-content: center;\n padding: var(--space-1);\n background: transparent;\n border-bottom: none;\n min-height: 24px;\n}\n\n.ds-browser-frame__notch {\n position: absolute;\n top: 6px;\n left: 50%;\n transform: translateX(-50%);\n width: 120px;\n height: 24px;\n background: var(--void-base);\n border-radius: 0 0 16px 16px;\n z-index: 1;\n}\n\n/* ─── Minimal variant ─── */\n.ds-browser-frame--minimal .ds-browser-frame__content {\n border-radius: var(--radius-card);\n}\n\n/* ─── Responsive ─── */\n@media (max-width: 640px) {\n .ds-browser-frame__controls {\n display: none;\n }\n\n .ds-browser-frame__url-bar {\n max-width: 100%;\n }\n}\n\n/* ─── High contrast ─── */\n@media (prefers-contrast: more) {\n .ds-browser-frame {\n background: var(--hc-surface);\n border: 2px solid var(--hc-border-strong);\n }\n\n .ds-browser-frame__chrome {\n background: var(--hc-surface-subtle);\n border-bottom: 2px solid var(--hc-border);\n }\n}\n\n/* ─── Fallback ─── */\n@supports not (backdrop-filter: blur(1px)) {\n .ds-browser-frame {\n background: var(--fallback-surface);\n }\n}\n"],"mappings":";AAQA,CAAC;AACC,YAAU;AACV,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,YAAU;AACV,iBAAe;AACf,cAAY,IAAI;AAChB,kBAAgB;AAChB,eAAa;AACf;AAMA,CAAC;AACC,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACV;AAMA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,iBAAe;AACjB;AAMA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,SAAO;AACP,UAAQ;AACR,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,iBAAe;AACf,eAAa;AACf;AAGA,CA7CC,cA6Cc,CAfd;AAgBC,aAAW,IAAI;AACjB;AAEA,CA5CC,cA4Cc,CAnBd;AAoBC,aAAW,IAAI;AACjB;AAEA,CA3CC,cA2Cc,CAvBd;AAwBC,aAAW,IAAI;AACjB;AAMA,OAAO,CAAC,gBAAgB,EAAE;AACxB,GA9ED;AA+EG,YAAQ,IAAI,MAAM,IAAI;AACxB;AACF;;;ACrFA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACX;AAGA,CAAC;AACC,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,mBAAiB,IAAI;AACrB,2BAAyB,IAAI;AAC7B,UAAQ,IAAI,MAAM,IAAI;AACxB;AAGA,CAAC;AACC,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,eAAa;AACb,OAAK,IAAI;AACT,YAAU;AACV,YAAU;AACZ;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAZD;AAaG,oBAAgB;AAChB,gBAAY;AACd;AACF;AAEA,CAlBC,wBAkBwB,CAAC;AACxB,UAAQ,IAAI,MAAM,IAAI,IAAI;AAC1B,cAAY,EAAE,EAAE,EAAE,IAAI,KAAK,IAAI,aAAa,EAAE;AAChD;AAEA,CAvBC,wBAuBwB,CAAC;AACxB,aAAW,IAAI;AACjB;AAEA,CA3BC,wBA2BwB,CAAC;AACxB,SAAO,IAAI,IAAI;AACf,eAAa,IAAI;AACjB,kBAAgB;AAChB,kBAAgB,IAAI;AACpB,aAAW,IAAI;AACjB;AAEA,CAnCC,wBAmCwB,CAAC;AACxB,aAAW,IAAI;AACf,SAAO,IAAI;AACb;AAGA,CAAC;AACC,eAAa;AACf;AAGA,CAAC;AACC,eAAa;AACb,OAAK,IAAI;AACX;AAGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAEA,CAnC0B;AAoCxB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACb;AAEA,CAlBC,uBAkBuB,CAzCE;AA0CxB,aAAW,IAAI;AACjB;AAEA,CAzC0B;AA0CxB,aAAW,IAAI;AACf,SAAO,IAAI;AACb;AAEA,CA3BC,uBA2BuB,CA9CE;AA+CxB,aAAW,IAAI;AACjB;AAEA,CA1C0B;AA2CxB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,UAAQ,IAAI,WAAW,EAAE;AAC3B;AAGA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,aAAW,IAAI;AACf,SAAO,IAAI,IAAI;AACf,mBAAiB;AACjB,cAAY,QAAQ,IAAI;AAC1B;AAEA,CAVC,mBAUmB;AAClB,WAAS;AACX;AAEA,CAdC,mBAcmB;AAClB,WAAS,IAAI,MAAM,IAAI;AACvB,kBAAgB;AAChB,iBAAe;AACjB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACf;AAGA,OAAO,CAAC,gBAAgB,EAAE;AACxB,GAhID;AAiIG,gBAAY,IAAI;AAChB,YAAQ,IAAI,MAAM,IAAI;AACxB;AACF;;;AC1IA,CAAC;AACC,aAAW,IAAI;AACjB;AAEA,CAAC;AACC,YAAU;AACV,OAAK,IAAI;AACX;AAGA,CAAC;AACC,WAAS;AACT,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,kBAAgB;AAChB,kBAAgB,IAAI;AACpB,SAAO,IAAI;AACX,iBAAe,IAAI;AACrB;AAGA,CAAC;AACC,cAAY;AACZ,WAAS;AACT,UAAQ;AACR,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,eAAa,IAAI,MAAM,IAAI;AAC7B;AAGA,CAAC;AAED;AAGA,CAAC;AACC,WAAS;AACT,SAAO;AACP,WAAS,IAAI,WAAW,IAAI;AAC5B,eAAa;AACb,UAAQ;AACR,eAAa,IAAI,MAAM;AACvB,cAAY;AACZ,cAAY;AACZ,aAAW,IAAI;AACf,SAAO,IAAI;AACX,UAAQ;AACR,cAAY,MAAM,IAAI,kBAAkB,EAAE,aAAa,IAAI;AAC3D,eAAa,IAAI;AACnB;AAEA,CAhBC,YAgBY;AACX,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO,IAAI,IAAI;AACf,qBAAmB,IAAI,IAAI;AAC3B,eAAa,IAAI;AACnB;AAEA,CA1BC,YA0BY;AACX,WAAS,IAAI,MAAM,IAAI;AACvB,kBAAgB;AAChB,iBAAe;AACjB;AAGA,CAAC;AACC,YAAU;AACV,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACxB;AAGA,CAAC;AACC,YAAU;AACV,SAAO,IAAI;AACX,OAAK;AACL,aAAW,WAAW;AACtB,WAAS,IAAI;AACb,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,mBAAiB,IAAI;AACrB,2BAAyB,IAAI;AAC7B,UAAQ,IAAI,MAAM,IAAI;AACtB,cAAY,IAAI;AAChB,cAAY;AACZ,cAAY;AACd;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAnBD;AAoBG,aAAS;AACX;AACF;AAGA,OAAO,CAAC,gBAAgB,EAAE;AACxB,GAnCD;AAAA,EAoCC,CA3BD;AA4BG,gBAAY,IAAI;AAChB,YAAQ,IAAI,MAAM,IAAI;AACxB;AAEA,GA1FD;AA2FG,uBAAmB,IAAI;AACzB;AACF;;;AClHA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,SAAO;AACP,UAAQ;AACR,UAAQ,IAAI,iBAAiB,EAAE;AAC/B,WAAS;AACT,oBAAkB;AAClB,kBAAgB;AAClB;AAEA,CAAC;AACC,UAAQ;AACR,SAAO;AAEP;AAAA,IAAY;AAAA,MAAgB,KAAhB;AAAA,MACV,IAAI,IAAI,aAAa,EAAE,GAAG,IAAI,KADpB;AAAA,MAEV,IAAI,IAAI,YAAY,EAAE,IAAI,GAAG;AAE/B,oBAAkB,GAAG;AACrB,aAAW,OAAO;AAClB,eAAa;AACb,cAAY,EAAE,EAAE,KAAK,KAAK,IAAI,YAAY,EAAE,IAAI,GAAG,IAAI,EAAE;AAC3D;;;ACxBA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,SAAO;AACT;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GARD;AASG,oBAAgB;AAChB,iBAAa;AACb,SAAK,IAAI;AAET,eAAW;AACX,iBAAa;AACb,kBAAc;AAChB;AACF;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,aAAW;AACX,aAAW,IAAI,qBAAqB,EAAE;AACtC,SAAO;AACT;AAGA,CA3BC,kBA2BkB,KAAK,KAAK,CAAC,8BAA8B,CAR3D;AASC,eAAa;AACb,gBAAc;AAChB;AAEA,CAL8B;AAM5B,SAAO;AACT;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAV4B;AAW1B,WAAO;AACP,iBAAa;AACb,cAAU;AACV,SAAK,KAAK,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE;AACjD,gBAAY,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,IAAI,eAAe,EAAE;AAChE,gBAAY;AAGZ,qBAAiB;AACjB,wBAAoB;AACtB;AACA,GAtB4B,2BAsBA;AAC1B,aAAS;AACX;AACF;;;ACpDA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,WAAS,IAAI;AACb,UAAQ,IAAI,WAAW;AACvB,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,YAAU;AACV,YAAU;AACZ;AAEA,CAZC,kBAYkB;AACjB,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM;AACN,UAAQ;AACR,SAAO;AACP,cAAY,IAAI,IAAI;AACtB;AAEA,CAAC;AACC,eAAa;AACb,SAAO,IAAI,IAAI;AACf,WAAS;AACT,eAAa;AACb,mBAAiB;AACnB;AAEA,CARC,yBAQyB;AACxB,SAAO;AACP,UAAQ;AACV;AAEA,CAAC;AACC,QAAM,EAAE,EAAE;AACV,aAAW;AACX,eAAa,IAAI;AACnB;AAEA,CAAC;AACC,UAAQ,EAAE,EAAE,IAAI;AAChB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACb;AAEA,CAbC,4BAa4B,EAAE,YAAY,KAAK,CAP/C;AAQC,cAAY;AACd;AACA,CAhBC,4BAgB4B,EAAE;AAC7B,iBAAe;AACjB;AAGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,cAAY;AACZ,WAAS,IAAI;AACb,UAAQ,IAAI,WAAW;AACvB,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACxB;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI,IAAI;AACf,eAAa;AACf;AAEA,CAAC;AACC,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,kBAAgB;AAChB,kBAAgB,IAAI;AACtB;AAEA,CAAC;AACC,aAAW,IAAI;AACf,SAAO,IAAI;AACX,cAAY;AACZ,aAAW;AACb;;;ACnGA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,oBAAkB,IAAI;AACtB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,YAAU;AACV,mBAAiB;AACjB,SAAO;AACP;AAAA,IAAY,UAAU,IAAI,kBAAkB;AAAA,IAAE,WAAW,IAAI,kBAAkB;AAAA,IAAE,aAAa,IAAI;AAClG,UAAQ;AACV;AAEA,CAbC,eAae;AACd,aAAW,WAAW;AACtB,cAAY,IAAI;AAChB,gBAAc,KAAK,IAAI,aAAa,EAAE;AACxC;AAEA,CAnBC,eAmBe;AACd,WAAS;AACT,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,gBAAc,EAAE,CAAC;AACjB,YAAU;AACV,oBAAkB,IAAI;AACxB;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,cAAY,UAAU,IAAI;AAC5B;AAEA,CAvCC,eAuCe,OAAO,CAPtB;AAQC,aAAW,MAAM;AACnB;AAEA,CAAC;AACC,YAAU;AACV,OAAK,IAAI;AACT,QAAM,IAAI;AACV,oBAAkB,IAAI;AACtB,SAAO,IAAI;AACX,WAAS,IAAI,WAAW,IAAI;AAC5B,iBAAe,IAAI;AACnB,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,kBAAgB;AAChB,kBAAgB,IAAI;AACpB,WAAS;AACX;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,QAAM;AACN,WAAS,IAAI;AACb,OAAK,IAAI;AACX;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,kBAAgB;AAChB,kBAAgB,IAAI;AACpB,SAAO,IAAI,IAAI;AACjB;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,UAAQ;AACR,WAAS;AACT,sBAAoB;AACpB,sBAAoB;AACpB,YAAU;AACV,cAAY,MAAM,IAAI;AACxB;AAEA,CA1FC,eA0Fe,OAAO,CAdtB;AAeC,SAAO,IAAI,IAAI;AACjB;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,UAAQ;AACR,WAAS;AACT,sBAAoB;AACpB,sBAAoB;AACpB,YAAU;AACZ;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,aAAW;AACX,OAAK,IAAI;AACT,cAAY;AACZ,eAAa,IAAI;AACjB,cAAY,IAAI,MAAM,IAAI;AAC1B,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACX;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACX;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI,IAAI;AACjB;AAEA,CAAC;AACC,cAAY,UAAU,IAAI;AAC5B;AAEA,CA7JC,eA6Je,OAAO,CAJtB;AAKC,aAAW,WAAW;AACxB;AAMA,CAAC;AACC,kBAAgB;AAClB;AAEA,CAJC,4BAI4B,CAjJ5B;AAkJC,SAAO;AACP,gBAAc;AAChB;AAEA,CATC,4BAS4B,CAnH5B;AAoHC,SAAO;AACP,WAAS,IAAI;AACf;AAEA,CAAC;AACC,kBAAgB;AAChB,eAAa,EAAE,EAAE;AACjB,UAAQ;AACR,oBAAkB;AAClB,cAAY;AACZ,eAAa;AACb,OAAK,IAAI;AACX;AAEA,CAVC,yBAUyB;AACxB,aAAW;AACX,cAAY;AACd;AAEA,CAfC,0BAe0B,CA1K1B;AA2KC,QAAM;AACN,iBAAe,IAAI;AACnB,cAAY,IAAI;AAClB;AAEA,CArBC,0BAqB0B,CA7I1B;AA8IC,QAAM;AACN,WAAS;AACX;AAEA,CA1BC,0BA0B0B,CAjI1B;AAkIC,aAAW,IAAI;AACf,sBAAoB;AACtB;AAEA,CA/BC,0BA+B0B,CApH1B;AAqHC,aAAW,IAAI;AACf,sBAAoB;AACtB;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAnDD;AAAA,EAoDC,CAtCD;AAuCG,oBAAgB;AAClB;AAEA,GAxDD,4BAwD8B,CArM9B;AAAA,EAsMC,CAzDD,4BAyD8B,CAnK9B;AAAA,EAoKC,CA5CD,0BA4C4B,CAvM5B;AAAA,EAwMC,CA7CD,0BA6C4B,CArK5B;AAsKG,WAAO;AACT;AAEA,GA/DD,4BA+D8B,CA5M9B;AA6MG,kBAAc,EAAE,CAAC;AACnB;AACF;AAOA,CAAC,0BAA0B,CAAC;AAC1B,YAAU;AACV,SAAO;AACP,gBAAc,EAAE,CAAC;AACjB,YAAU;AACV;AAAA,IAAY;AAAA,MAAgB,MAAM;AAAA,MAAE,IAAI,qBAAqB,EAAE;AAAA,MAAE,IAAI,cAAc,GAAG;AAAA,MAAE,KAAK,IAAI,aAAa,EAAE,MAAM;AACtH,WAAS;AACT,eAAa;AACb,mBAAiB;AACnB;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,WAAS;AACT,SAAO,IAAI;AACX,cAAY,QAAQ,IAAI;AAC1B;AAEA,CAjQC,eAiQe,OAAO,CARtB;AASC,WAAS;AACX;;;ACnQA,CAAC;AACC,SAAO;AACP,aAAW,IAAI;AACf,UAAQ,EAAE;AACV,WAAS,IAAI,WAAW,IAAI;AAC5B,eAAa,IAAI;AACnB;AAEA,CAAC;AACC,aAAW,IAAI;AACf,UAAQ,EAAE,KAAK,IAAI;AACnB,cAAY;AACd;AAEA,CAAC;AACC,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,UAAQ,EAAE,EAAE,IAAI;AAChB,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK,IAAI;AACT,aAAW,IAAI;AACf,SAAO,IAAI;AACb;AAEA,CAAC;AACC,SAAO;AACP,gBAAc,EAAE,CAAC;AACjB,iBAAe,IAAI;AACnB,YAAU;AACV,iBAAe,IAAI;AACnB,oBAAkB,IAAI;AACtB,cAAY,IAAI;AAClB;AAEA,CAVC,wBAUwB;AACvB,SAAO;AACP,UAAQ;AACR,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,aAAW,IAAI;AACf,UAAQ,EAAE;AACZ;AAEA,CAAC;AACC,QAAM;AACN,aAAW;AACX,aAAW,IAAI;AACf,UAAQ,EAAE;AACZ;AAEA,CAAC;AACC,SAAO;AACP,eAAa;AACf;AAEA,CAAC;AACC,YAAU;AACV,OAAK,IAAI;AACT,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAMA,CAAC;AACC,SAAO,IAAI;AACX,aAAW,IAAI;AACf,eAAa,IAAI;AACnB;AAEA,CANC,SAMS;AACR,cAAY;AACZ,iBAAe,IAAI;AACrB;AAEA,CAXC,SAWS;AACV,CAZC,SAYS;AACV,CAbC,SAaS;AACR,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,eAAa,IAAI;AACjB,cAAY,IAAI;AAChB,iBAAe,IAAI;AACrB;AAEA,CArBC,SAqBS;AACR,aAAW,IAAI;AACf,iBAAe,IAAI,MAAM,IAAI;AAC7B,kBAAgB,IAAI;AACtB;AAEA,CA3BC,SA2BS;AACR,aAAW,IAAI;AACjB;AAEA,CA/BC,SA+BS;AACR,aAAW,IAAI;AACjB;AAEA,CAnCC,SAmCS;AACR,SAAO,IAAI,IAAI;AACf,mBAAiB;AACjB,yBAAuB;AACvB,yBAAuB,KAAK,IAAI,aAAa,EAAE;AAC/C,cAAY,sBAAsB,IAAI;AACxC;AAEA,CA3CC,SA2CS,CAAC;AACT,yBAAuB,IAAI,IAAI;AACjC;AAEA,CA/CC,SA+CS;AACV,CAhDC,SAgDS;AACR,cAAY;AACZ,iBAAe,IAAI;AACnB,gBAAc,IAAI;AACpB;AAEA,CAtDC,SAsDS;AACR,iBAAe,IAAI;AACrB;AAEA,CA1DC,SA0DS;AACR,SAAO;AACP,iBAAe,IAAI;AACnB,UAAQ,IAAI,WAAW;AACzB;AAEA,CAhEC,SAgES;AACR,eAAa,IAAI,MAAM,IAAI,IAAI;AAC/B,UAAQ,IAAI,WAAW;AACvB,WAAS,IAAI,WAAW,IAAI;AAC5B,cAAY,IAAI;AAChB,iBAAe,EAAE,IAAI,eAAe,IAAI,eAAe;AACvD,SAAO,IAAI;AACX,cAAY;AACd;AAEA,CA1EC,SA0ES;AACR,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,cAAY;AACZ,UAAQ,IAAI,WAAW;AACzB;AAEA,CAnFC,SAmFS;AACR,eAAa,IAAI;AACjB,aAAW,IAAI;AACjB;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAxHD;AAyHG,oBAAgB;AAClB;AAEA,GA9GD;AA+GG,WAAO;AACP,WAAO;AACT;AAEA,GA9GD;AA+GG,cAAU;AACZ;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAzKD;AA0KG,eAAW,IAAI;AACjB;AACF;;;ACxLA,CAAC;AACC,WAAS;AACT,cAAY;AACZ,aAAW;AACb;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAClB;AAEA,CAAC;AACC,kBAAgB;AAClB;AAEA,CAAC;AACC,WAAS;AACX;AAUA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GALD;AAMG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GALD;AAMG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAXD;AAYG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GALD;AAMG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAXD;AAYG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GALD;AAMG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAXD;AAYG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAjBD;AAkBG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAGA,CAAC;AACC,yBAAuB,OAAO,CAAC,EAAE;AACnC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GALD;AAMG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAXD;AAYG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAjBD;AAkBG,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAQA,OAAO,CAAC,SAAS,EAAE;AACjB,GAtFD,eAsFiB,KAAK,CAAC;AACpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAxGD,eAwGiB,KAAK,CAPC;AAQpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAhGD,eAgGiB,KAAK,CAVC;AAWpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAlFD,eAkFiB,KAAK,CAbC;AAcpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GApED,eAoEiB,KAAK,CAhBC;AAiBpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAhDD,eAgDiB,KAAK,CAnBC;AAoBpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GA3HD,eA2HiB,KAAK,CA1BC;AA2BpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAnHD,eAmHiB,KAAK,CA7BC;AA8BpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GArGD,eAqGiB,KAAK,CAhCC;AAiCpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAvFD,eAuFiB,KAAK,CAnCC;AAoCpB,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAnED,eAmEiB,KAAK,CAtCC;AAuCpB,2BAAuB,OAAO,EAAE,EAAE;AACpC;AACF;AAIA;AACE,2BAAyB;AAC3B;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB;AAAQ,6BAAyB;AAAQ;AAC3C;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB;AAAQ,6BAAyB;AAAQ;AAC3C;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB;AAAQ,6BAAyB;AAAQ;AAC3C;AAEA,CAAC;AACC,SAAO;AACP,eAAa;AACb,gBAAc;AACd,gBAAc,IAAI,qBAAqB,EAAE,IAAI;AAC7C,iBAAe,IAAI,qBAAqB,EAAE,IAAI;AAChD;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAVD;AAWG,2BAAuB,IAAI;AAC7B;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAhBD;AAiBG,2BAAuB,IAAI;AAC7B;AACF;AAIA,CAAC;AACC,YAAU;AACZ;AAEA,CAAC;AACC,eAAa;AACb,kBAAgB;AAClB;AAEA,CAAC;AACC,eAAa,IAAI,SAAS,EAAE;AAC5B,kBAAgB,IAAI,SAAS,EAAE;AACjC;AAEA,CAAC;AACC,eAAa,IAAI,UAAU,EAAE;AAC7B,kBAAgB,IAAI,UAAU,EAAE;AAClC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAND;AAOG,iBAAa,IAAI,UAAU,EAAE;AAC7B,oBAAgB,IAAI,UAAU,EAAE;AAClC;AACF;AAEA,CAAC;AACC,eAAa,IAAI,UAAU,EAAE;AAC7B,kBAAgB,IAAI,UAAU,EAAE;AAClC;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAND;AAOG,iBAAa,IAAI,UAAU,EAAE;AAC7B,oBAAgB,IAAI,UAAU,EAAE;AAClC;AACF;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,UAAQ;AACR,WAAS;AACT,UAAQ;AACR,YAAU;AACV,aAAW,MAAM;AACjB,eAAa;AACb,gBAAc;AAChB;;;ACnQA,CAAC;AACC,YAAU;AACV,SAAO;AACP,WAAS,IAAI,YAAY;AACzB,cAAY;AACd;AAGA,CAAC;AACC,oBAAkB;AACpB;AAEA,CAAC;AACC,oBAAkB,IAAI;AACxB;AAEA,CAAC;AACC;AAAA,IAAY;AAAA,MAAgB,OAAO,GAAG,IAAI,EAAE;AAAA,MAAE,KAAK,IAAI,iBAAiB,EAAE,KAAK;AAAA,MAAE,YAAY;AAC/F;AAGA,CAAC;AACC,WAAS;AACX;AACA,CAAC;AACC,WAAS,IAAI,WAAW;AAC1B;AACA,CAAC;AACC,WAAS,IAAI,YAAY;AAC3B;AACA,CAAC;AACC,WAAS,IAAI,YAAY;AAC3B;AAMA,CAAC;AACC,iBAAe,IAAI;AACnB,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAEA,CAAC;AACC,cAAY;AACZ,eAAa;AACf;AACA,CAAC;AACC,cAAY;AACZ,eAAa;AACf;AACA,CAAC;AACC,cAAY;AACZ,eAAa;AACf;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,kBAAgB;AAChB,kBAAgB,IAAI;AACpB,eAAa,IAAI;AACnB;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,UAAQ;AACV;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,aAAW;AACX,eAAa,IAAI;AACjB,UAAQ;AACV;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAvFD;AAwFG,aAAS,IAAI,YAAY;AAC3B;AAEA,GA7DD;AA8DG,aAAS,IAAI,YAAY;AAC3B;AAEA,GA5BD;AA6BG,eAAW,IAAI;AACjB;AACF;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAtGD;AAuGG,aAAS,IAAI,YAAY;AAC3B;AAEA,GAlFD;AAmFG,aAAS,IAAI,YAAY;AAC3B;AAEA,GAnFD;AAoFG,aAAS,IAAI,YAAY;AAC3B;AAEA,GApFD;AAqFG,aAAS,KAAK,IAAI,YAAY,EAAE,MAAM;AACxC;AAEA,GAhFD;AAiFG,mBAAe,IAAI;AACrB;AAEA,GAvDD;AAwDG,eAAW,IAAI;AACjB;AACF;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAjID;AAkIG,aAAS,KAAK,IAAI,YAAY,EAAE,KAAK;AACvC;AAEA,GAvGD;AAwGG,aAAS,KAAK,IAAI,YAAY,EAAE,MAAM;AACxC;AAEA,GAnGD;AAoGG,mBAAe,IAAI;AACnB,SAAK,IAAI;AACX;AAEA,GA3ED;AA4EG,eAAW,IAAI;AACjB;AAEA,GAtED;AAuEG,eAAW,IAAI;AACjB;AACF;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAzJD;AA0JG,aAAS,KAAK,IAAI,YAAY,EAAE,GAAG;AACrC;AAEA,GA/HD;AAgIG,aAAS,KAAK,IAAI,YAAY,EAAE,KAAK;AACvC;AAEA,GA9FD;AA+FG,eAAW,IAAI;AACjB;AACF;;;ACpKA,CAAC;AACC,WAAS;AACT,yBAAuB,OAAO,SAAS,EAAE,OAAO,KAAK,EAAE;AACvD,OAAK,IAAI;AACX;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GARD;AASG,2BAAuB;AACzB;AACF;AAGA,OAAO,CAAC,gBAAgB,EAAE;AACxB,GAfD;AAgBG,SAAK,IAAI;AACX;AACF;;;ACjBA,CAAC;AACC,YAAU;AACV,OAAK;AACL,WAAS;AACT,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,OAAK,IAAI;AACT,WAAS,IAAI,WAAW,IAAI;AAC5B,cAAY,IAAI,mBAAmB,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE;AACvD,iBAAe,IAAI,MAAM,IAAI;AAC7B,mBAAiB,IAAI;AACrB,2BAAyB,IAAI;AAC7B,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACb;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAnBD;AAoBG,oBAAgB;AAChB,iBAAa;AACf;AACF;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACX;AAEA,CAAC;AACC,aAAW,IAAI;AACf,eAAa;AACf;AAEA,CAAC;AACC,eAAa,IAAI;AACnB;AAEA,CAAC;AACC,WAAS;AACT,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,eAAa;AACf;AAEA,CAAC;AACC,mBAAiB;AACjB,eAAa;AACf;AAEA,CAAC;AACC,cAAY;AACZ,UAAQ;AACR,SAAO,IAAI;AACX,aAAW,IAAI;AACf,eAAa;AACb,WAAS,IAAI;AACb,UAAQ;AACR,cAAY,MAAM,IAAI;AACxB;AAEA,CAXC,yBAWyB;AACxB,SAAO,IAAI;AACb;AAGA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI;AACb,eAAa,IAAI;AACjB,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,eAAa;AACb,cAAY;AACZ,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,aAAW,IAAI;AACf,kBAAgB;AAChB,kBAAgB,IAAI;AACpB,SAAO,IAAI;AACX,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,mBAAiB;AACjB,cAAY,MAAM,IAAI;AACxB;AAEA,CARC,6BAQ6B;AAC5B,SAAO,IAAI,IAAI;AACjB;AAEA,CAAC;AACC,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,aAAW;AACb;AAEA,CAAC;AACC,UAAQ;AACR,SAAO;AACP,cAAY,IAAI;AAChB,UAAQ,EAAE,IAAI;AAChB;AAEA,CAAC;AACC,WAAS,IAAI,WAAW,IAAI;AAC5B,iBAAe,IAAI;AACnB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,cAAY,IAAI;AAChB,mBAAiB;AACjB,cAAY,IAAI,IAAI;AACpB,UAAQ,IAAI,MAAM;AACpB;AAEA,CAZC,4BAY4B;AAC3B,SAAO,IAAI;AACX,cAAY,IAAI;AAClB;AAEA,CAAC;AACC,SAAO,IAAI,kBAAkB,EAAE;AAC/B,cAAY,IAAI,IAAI;AACpB,gBAAc,IAAI;AAClB,cAAY,IAAI,0BAA0B,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,aAAa,EAAE;AAC/E;;;ACnJA,CAAC;AACC,YAAU;AACV,iBAAe,IAAI;AACnB,YAAU;AACV,cAAY,IAAI;AAChB,mBAAiB,IAAI;AACrB,2BAAyB,IAAI;AAC7B,UAAQ,IAAI,MAAM,IAAI;AACtB,cAAY,IAAI;AAClB;AAGA,CAAC;AACC,cAAY,IAAI,wBAAwB,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,aAAa,EAAE;AAC7E;AAGA,CAAC;AACC,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,WAAW,IAAI;AAC5B,cAAY,IAAI;AAChB,iBAAe,IAAI,MAAM,IAAI;AAC7B,cAAY;AACd;AAGA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,eAAa;AACf;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,iBAAe;AACjB;AAEA,CAAC;AAA6B,cAAY;AAAS;AACnD,CAAC;AAAgC,cAAY;AAAS;AACtD,CAAC;AAA+B,cAAY;AAAS;AAGrD,CAAC;AACC,QAAM;AACN,WAAS;AACT,eAAa;AACb,OAAK,IAAI;AACT,WAAS,IAAI,WAAW,IAAI;AAC5B,cAAY,IAAI;AAChB,iBAAe,IAAI;AACnB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,aAAW;AACX,UAAQ,EAAE;AACZ;AAEA,CAAC;AACC,eAAa;AACb,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,iBAAe;AACf,eAAa;AACf;AAGA,CAAC;AACC,YAAU;AACV,YAAU;AACZ;AAEA,CALC,0BAK0B,EAAE;AAC7B,CANC,0BAM0B,EAAE;AAC3B,SAAO;AACP,UAAQ;AACR,cAAY;AACZ,WAAS;AACX;AAGA,CAAC;AACC,aAAW;AACX,UAAQ,EAAE;AACV,iBAAe,KAAK,IAAI,gBAAgB,EAAE;AAC1C,WAAS,IAAI;AACf;AAEA,CAPC,yBAOyB,CA3EzB;AA4EC,mBAAiB;AACjB,WAAS,IAAI;AACb,cAAY;AACZ,iBAAe;AACf,cAAY;AACd;AAEA,CAAC;AACC,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,WAAW;AACtB,SAAO;AACP,UAAQ;AACR,cAAY,IAAI;AAChB,iBAAe,EAAE,EAAE,KAAK;AACxB,WAAS;AACX;AAGA,CAAC,0BAA0B,CA1C1B;AA2CC,iBAAe,IAAI;AACrB;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GA3FD;AA4FG,aAAS;AACX;AAEA,GA9ED;AA+EG,eAAW;AACb;AACF;AAGA,OAAO,CAAC,gBAAgB,EAAE;AACxB,GAlID;AAmIG,gBAAY,IAAI;AAChB,YAAQ,IAAI,MAAM,IAAI;AACxB;AAEA,GAtHD;AAuHG,gBAAY,IAAI;AAChB,mBAAe,IAAI,MAAM,IAAI;AAC/B;AACF;AAGA,UAAU,IAAI,CAAC,eAAe,EAAE,KAAK;AACnC,GA/ID;AAgJG,gBAAY,IAAI;AAClB;AACF;","names":[]}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { c as SectionShellProps } from '../SectionShell-BfBw5q0Y.cjs';
|
|
3
|
+
|
|
4
|
+
interface ArticleCardProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
5
|
+
/** Target URL */
|
|
6
|
+
href: string;
|
|
7
|
+
/** Article title */
|
|
8
|
+
title: string;
|
|
9
|
+
/** Short excerpt or description */
|
|
10
|
+
excerpt: string;
|
|
11
|
+
/** Image URL for the thumbnail */
|
|
12
|
+
imageUrl?: string;
|
|
13
|
+
/** Image alt text */
|
|
14
|
+
imageAlt?: string;
|
|
15
|
+
/** Category or tag label */
|
|
16
|
+
category?: string;
|
|
17
|
+
/** Publication date */
|
|
18
|
+
date?: string;
|
|
19
|
+
/** Reading time in minutes */
|
|
20
|
+
readingTime?: number;
|
|
21
|
+
/** Author name */
|
|
22
|
+
author?: string;
|
|
23
|
+
/** Variant for different grid layouts */
|
|
24
|
+
variant?: 'vertical' | 'horizontal' | 'featured';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Standardized card for blog posts, resources, and case studies.
|
|
28
|
+
* Acts as a block-level link.
|
|
29
|
+
*/
|
|
30
|
+
declare const ArticleCard: React__default.ForwardRefExoticComponent<ArticleCardProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
31
|
+
|
|
32
|
+
interface ArticleLayoutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
33
|
+
/** The main content of the article */
|
|
34
|
+
children: React__default.ReactNode;
|
|
35
|
+
/** Article title */
|
|
36
|
+
title: string;
|
|
37
|
+
/** Author name */
|
|
38
|
+
author?: React__default.ReactNode;
|
|
39
|
+
/** Publish date */
|
|
40
|
+
date?: React__default.ReactNode;
|
|
41
|
+
/** Main hero image */
|
|
42
|
+
heroImage?: string;
|
|
43
|
+
/** Sidebar content (like TOC or related articles) */
|
|
44
|
+
sidebar?: React__default.ReactNode;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Standardized layout for long-form content (blog posts, resources, case studies).
|
|
48
|
+
* Handles responsive wrapping, prose width constraints, and sidebar positioning.
|
|
49
|
+
*/
|
|
50
|
+
declare const ArticleLayout: React__default.ForwardRefExoticComponent<ArticleLayoutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
51
|
+
|
|
52
|
+
interface BrowserFrameProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
53
|
+
/** Frame type */
|
|
54
|
+
variant?: 'browser' | 'app' | 'mobile' | 'minimal';
|
|
55
|
+
/** Content to frame (image, video, or React element) */
|
|
56
|
+
children: React__default.ReactNode;
|
|
57
|
+
/** Optional URL bar text */
|
|
58
|
+
url?: string;
|
|
59
|
+
/** Show traffic light dots (default: true for browser/app) */
|
|
60
|
+
showControls?: boolean;
|
|
61
|
+
/** Optional glow effect behind frame */
|
|
62
|
+
withGlow?: boolean;
|
|
63
|
+
/** Aspect ratio */
|
|
64
|
+
aspectRatio?: '16/9' | '4/3' | '3/2' | 'auto';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Device mockup frame for product screenshots.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* <BrowserFrame variant="browser" url="app.sales-mind.ai" withGlow>
|
|
72
|
+
* <img src="/screenshot.png" alt="SalesMind dashboard" />
|
|
73
|
+
* </BrowserFrame>
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
declare const BrowserFrame: React__default.ForwardRefExoticComponent<BrowserFrameProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
77
|
+
|
|
78
|
+
/** Social/external link */
|
|
79
|
+
interface AuthorLink {
|
|
80
|
+
/** Link label (e.g., "Twitter", "LinkedIn") */
|
|
81
|
+
label: string;
|
|
82
|
+
/** Link URL */
|
|
83
|
+
href: string;
|
|
84
|
+
/** Optional icon */
|
|
85
|
+
icon?: React__default.ReactNode;
|
|
86
|
+
}
|
|
87
|
+
interface AuthorBioProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
88
|
+
/** Author name */
|
|
89
|
+
name: string;
|
|
90
|
+
/** Author role or title */
|
|
91
|
+
role?: string;
|
|
92
|
+
/** Avatar image URL */
|
|
93
|
+
avatar?: string;
|
|
94
|
+
/** Biography text */
|
|
95
|
+
bio?: string;
|
|
96
|
+
/** External links */
|
|
97
|
+
links?: AuthorLink[];
|
|
98
|
+
/** Layout variant */
|
|
99
|
+
variant?: 'inline' | 'card' | 'compact' | 'longform';
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Author biography card.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```tsx
|
|
106
|
+
* <AuthorBio
|
|
107
|
+
* name="Alex Chen"
|
|
108
|
+
* role="Head of Growth at SalesMind AI"
|
|
109
|
+
* avatar="/team/alex.jpg"
|
|
110
|
+
* bio="Alex has 10+ years of experience in B2B growth..."
|
|
111
|
+
* links={[{ label: 'LinkedIn', href: 'https://linkedin.com/in/alexchen' }]}
|
|
112
|
+
* variant="card"
|
|
113
|
+
* />
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
declare const AuthorBio: React__default.ForwardRefExoticComponent<AuthorBioProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
117
|
+
|
|
118
|
+
/** A TOC item mapping to a heading */
|
|
119
|
+
interface TOCItem {
|
|
120
|
+
/** Heading element ID */
|
|
121
|
+
id: string;
|
|
122
|
+
/** Heading text */
|
|
123
|
+
title: string;
|
|
124
|
+
/** Heading level (2 = h2, 3 = h3, etc.) */
|
|
125
|
+
level: number;
|
|
126
|
+
}
|
|
127
|
+
interface TableOfContentsProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
128
|
+
/** TOC items (typically extracted from article headings) */
|
|
129
|
+
items: TOCItem[];
|
|
130
|
+
/** Currently active heading ID (controlled) */
|
|
131
|
+
activeId?: string;
|
|
132
|
+
/** Position variant */
|
|
133
|
+
position?: 'sidebar' | 'inline' | 'floating';
|
|
134
|
+
/** Label text */
|
|
135
|
+
label?: string;
|
|
136
|
+
/** Callback when an item is clicked */
|
|
137
|
+
onItemClick?: (id: string) => void;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Sticky table of contents with active heading tracking.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```tsx
|
|
144
|
+
* <TableOfContents
|
|
145
|
+
* items={[
|
|
146
|
+
* { id: 'intro', title: 'Introduction', level: 2 },
|
|
147
|
+
* { id: 'setup', title: 'Getting Started', level: 2 },
|
|
148
|
+
* { id: 'config', title: 'Configuration', level: 3 },
|
|
149
|
+
* ]}
|
|
150
|
+
* position="sidebar"
|
|
151
|
+
* />
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
declare const TableOfContents: React__default.ForwardRefExoticComponent<TableOfContentsProps & React__default.RefAttributes<HTMLElement>>;
|
|
155
|
+
|
|
156
|
+
interface RelatedContentProps extends Omit<SectionShellProps, 'title'> {
|
|
157
|
+
/** Section eyebrow */
|
|
158
|
+
eyebrow?: React__default.ReactNode;
|
|
159
|
+
/** Section title */
|
|
160
|
+
title?: React__default.ReactNode;
|
|
161
|
+
/** Related article items (uses ArticleCard props) */
|
|
162
|
+
items: ArticleCardProps[];
|
|
163
|
+
/** Max items to display */
|
|
164
|
+
maxVisible?: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Related articles section using ArticleCard grid.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```tsx
|
|
171
|
+
* <RelatedContent
|
|
172
|
+
* title="Related Articles"
|
|
173
|
+
* items={[
|
|
174
|
+
* { title: 'AI Outreach Guide', href: '/blog/ai-outreach', ... },
|
|
175
|
+
* { title: 'Pipeline Automation', href: '/blog/pipeline', ... },
|
|
176
|
+
* ]}
|
|
177
|
+
* background="muted"
|
|
178
|
+
* />
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
declare const RelatedContent: React__default.ForwardRefExoticComponent<RelatedContentProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
182
|
+
|
|
183
|
+
interface LongFormLayoutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
184
|
+
children: React__default.ReactNode;
|
|
185
|
+
/** Pass the TOC element here to render as a sticky sidebar on desktop */
|
|
186
|
+
sidebar?: React__default.ReactNode;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* A layout primitive designed specifically for long-form content (e.g., blog posts, documentation).
|
|
190
|
+
* Enforces maximum reading widths and manages the relationship between the main content and an optional sticky sidebar.
|
|
191
|
+
*/
|
|
192
|
+
declare const LongFormLayout: React__default.ForwardRefExoticComponent<LongFormLayoutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
193
|
+
|
|
194
|
+
interface InsightCalloutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
195
|
+
children: React__default.ReactNode;
|
|
196
|
+
icon?: React__default.ReactNode;
|
|
197
|
+
title?: string;
|
|
198
|
+
}
|
|
199
|
+
declare const InsightCallout: React__default.ForwardRefExoticComponent<InsightCalloutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
200
|
+
interface DataHighlightProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
201
|
+
stat: string;
|
|
202
|
+
label: string;
|
|
203
|
+
children?: React__default.ReactNode;
|
|
204
|
+
}
|
|
205
|
+
declare const DataHighlight: React__default.ForwardRefExoticComponent<DataHighlightProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
206
|
+
|
|
207
|
+
interface ReadingProgressProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
208
|
+
/** Reference to the container element whose scroll progress we're tracking */
|
|
209
|
+
targetRef?: React__default.RefObject<HTMLElement | null>;
|
|
210
|
+
}
|
|
211
|
+
declare const ReadingProgress: React__default.ForwardRefExoticComponent<ReadingProgressProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
212
|
+
|
|
213
|
+
interface VersionedUpgradeAlertProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
214
|
+
seriesName: string;
|
|
215
|
+
viewedYear: number;
|
|
216
|
+
latestYear: number;
|
|
217
|
+
latestUrl: string;
|
|
218
|
+
deltaSummary?: string;
|
|
219
|
+
}
|
|
220
|
+
declare const VersionedUpgradeAlert: React__default.ForwardRefExoticComponent<VersionedUpgradeAlertProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
221
|
+
interface SeriesEdition {
|
|
222
|
+
year: number;
|
|
223
|
+
url: string;
|
|
224
|
+
isCurrent: boolean;
|
|
225
|
+
}
|
|
226
|
+
interface VersionedSeriesNavigatorProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
227
|
+
seriesName: string;
|
|
228
|
+
hubUrl: string;
|
|
229
|
+
editions: SeriesEdition[];
|
|
230
|
+
}
|
|
231
|
+
declare const VersionedSeriesNavigator: React__default.ForwardRefExoticComponent<VersionedSeriesNavigatorProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
232
|
+
|
|
233
|
+
export { ArticleCard, type ArticleCardProps, ArticleLayout, type ArticleLayoutProps, AuthorBio, type AuthorBioProps, type AuthorLink, BrowserFrame, type BrowserFrameProps, DataHighlight, type DataHighlightProps, InsightCallout, type InsightCalloutProps, LongFormLayout, type LongFormLayoutProps, ReadingProgress, type ReadingProgressProps, RelatedContent, type RelatedContentProps, type SeriesEdition, type TOCItem, TableOfContents, type TableOfContentsProps, VersionedSeriesNavigator, type VersionedSeriesNavigatorProps, VersionedUpgradeAlert, type VersionedUpgradeAlertProps };
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { c as SectionShellProps } from '../SectionShell-BfBw5q0Y.js';
|
|
3
|
+
|
|
4
|
+
interface ArticleCardProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
5
|
+
/** Target URL */
|
|
6
|
+
href: string;
|
|
7
|
+
/** Article title */
|
|
8
|
+
title: string;
|
|
9
|
+
/** Short excerpt or description */
|
|
10
|
+
excerpt: string;
|
|
11
|
+
/** Image URL for the thumbnail */
|
|
12
|
+
imageUrl?: string;
|
|
13
|
+
/** Image alt text */
|
|
14
|
+
imageAlt?: string;
|
|
15
|
+
/** Category or tag label */
|
|
16
|
+
category?: string;
|
|
17
|
+
/** Publication date */
|
|
18
|
+
date?: string;
|
|
19
|
+
/** Reading time in minutes */
|
|
20
|
+
readingTime?: number;
|
|
21
|
+
/** Author name */
|
|
22
|
+
author?: string;
|
|
23
|
+
/** Variant for different grid layouts */
|
|
24
|
+
variant?: 'vertical' | 'horizontal' | 'featured';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Standardized card for blog posts, resources, and case studies.
|
|
28
|
+
* Acts as a block-level link.
|
|
29
|
+
*/
|
|
30
|
+
declare const ArticleCard: React__default.ForwardRefExoticComponent<ArticleCardProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
31
|
+
|
|
32
|
+
interface ArticleLayoutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
33
|
+
/** The main content of the article */
|
|
34
|
+
children: React__default.ReactNode;
|
|
35
|
+
/** Article title */
|
|
36
|
+
title: string;
|
|
37
|
+
/** Author name */
|
|
38
|
+
author?: React__default.ReactNode;
|
|
39
|
+
/** Publish date */
|
|
40
|
+
date?: React__default.ReactNode;
|
|
41
|
+
/** Main hero image */
|
|
42
|
+
heroImage?: string;
|
|
43
|
+
/** Sidebar content (like TOC or related articles) */
|
|
44
|
+
sidebar?: React__default.ReactNode;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Standardized layout for long-form content (blog posts, resources, case studies).
|
|
48
|
+
* Handles responsive wrapping, prose width constraints, and sidebar positioning.
|
|
49
|
+
*/
|
|
50
|
+
declare const ArticleLayout: React__default.ForwardRefExoticComponent<ArticleLayoutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
51
|
+
|
|
52
|
+
interface BrowserFrameProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
53
|
+
/** Frame type */
|
|
54
|
+
variant?: 'browser' | 'app' | 'mobile' | 'minimal';
|
|
55
|
+
/** Content to frame (image, video, or React element) */
|
|
56
|
+
children: React__default.ReactNode;
|
|
57
|
+
/** Optional URL bar text */
|
|
58
|
+
url?: string;
|
|
59
|
+
/** Show traffic light dots (default: true for browser/app) */
|
|
60
|
+
showControls?: boolean;
|
|
61
|
+
/** Optional glow effect behind frame */
|
|
62
|
+
withGlow?: boolean;
|
|
63
|
+
/** Aspect ratio */
|
|
64
|
+
aspectRatio?: '16/9' | '4/3' | '3/2' | 'auto';
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Device mockup frame for product screenshots.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```tsx
|
|
71
|
+
* <BrowserFrame variant="browser" url="app.sales-mind.ai" withGlow>
|
|
72
|
+
* <img src="/screenshot.png" alt="SalesMind dashboard" />
|
|
73
|
+
* </BrowserFrame>
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
declare const BrowserFrame: React__default.ForwardRefExoticComponent<BrowserFrameProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
77
|
+
|
|
78
|
+
/** Social/external link */
|
|
79
|
+
interface AuthorLink {
|
|
80
|
+
/** Link label (e.g., "Twitter", "LinkedIn") */
|
|
81
|
+
label: string;
|
|
82
|
+
/** Link URL */
|
|
83
|
+
href: string;
|
|
84
|
+
/** Optional icon */
|
|
85
|
+
icon?: React__default.ReactNode;
|
|
86
|
+
}
|
|
87
|
+
interface AuthorBioProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
88
|
+
/** Author name */
|
|
89
|
+
name: string;
|
|
90
|
+
/** Author role or title */
|
|
91
|
+
role?: string;
|
|
92
|
+
/** Avatar image URL */
|
|
93
|
+
avatar?: string;
|
|
94
|
+
/** Biography text */
|
|
95
|
+
bio?: string;
|
|
96
|
+
/** External links */
|
|
97
|
+
links?: AuthorLink[];
|
|
98
|
+
/** Layout variant */
|
|
99
|
+
variant?: 'inline' | 'card' | 'compact' | 'longform';
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Author biography card.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```tsx
|
|
106
|
+
* <AuthorBio
|
|
107
|
+
* name="Alex Chen"
|
|
108
|
+
* role="Head of Growth at SalesMind AI"
|
|
109
|
+
* avatar="/team/alex.jpg"
|
|
110
|
+
* bio="Alex has 10+ years of experience in B2B growth..."
|
|
111
|
+
* links={[{ label: 'LinkedIn', href: 'https://linkedin.com/in/alexchen' }]}
|
|
112
|
+
* variant="card"
|
|
113
|
+
* />
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
declare const AuthorBio: React__default.ForwardRefExoticComponent<AuthorBioProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
117
|
+
|
|
118
|
+
/** A TOC item mapping to a heading */
|
|
119
|
+
interface TOCItem {
|
|
120
|
+
/** Heading element ID */
|
|
121
|
+
id: string;
|
|
122
|
+
/** Heading text */
|
|
123
|
+
title: string;
|
|
124
|
+
/** Heading level (2 = h2, 3 = h3, etc.) */
|
|
125
|
+
level: number;
|
|
126
|
+
}
|
|
127
|
+
interface TableOfContentsProps extends React__default.HTMLAttributes<HTMLElement> {
|
|
128
|
+
/** TOC items (typically extracted from article headings) */
|
|
129
|
+
items: TOCItem[];
|
|
130
|
+
/** Currently active heading ID (controlled) */
|
|
131
|
+
activeId?: string;
|
|
132
|
+
/** Position variant */
|
|
133
|
+
position?: 'sidebar' | 'inline' | 'floating';
|
|
134
|
+
/** Label text */
|
|
135
|
+
label?: string;
|
|
136
|
+
/** Callback when an item is clicked */
|
|
137
|
+
onItemClick?: (id: string) => void;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Sticky table of contents with active heading tracking.
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```tsx
|
|
144
|
+
* <TableOfContents
|
|
145
|
+
* items={[
|
|
146
|
+
* { id: 'intro', title: 'Introduction', level: 2 },
|
|
147
|
+
* { id: 'setup', title: 'Getting Started', level: 2 },
|
|
148
|
+
* { id: 'config', title: 'Configuration', level: 3 },
|
|
149
|
+
* ]}
|
|
150
|
+
* position="sidebar"
|
|
151
|
+
* />
|
|
152
|
+
* ```
|
|
153
|
+
*/
|
|
154
|
+
declare const TableOfContents: React__default.ForwardRefExoticComponent<TableOfContentsProps & React__default.RefAttributes<HTMLElement>>;
|
|
155
|
+
|
|
156
|
+
interface RelatedContentProps extends Omit<SectionShellProps, 'title'> {
|
|
157
|
+
/** Section eyebrow */
|
|
158
|
+
eyebrow?: React__default.ReactNode;
|
|
159
|
+
/** Section title */
|
|
160
|
+
title?: React__default.ReactNode;
|
|
161
|
+
/** Related article items (uses ArticleCard props) */
|
|
162
|
+
items: ArticleCardProps[];
|
|
163
|
+
/** Max items to display */
|
|
164
|
+
maxVisible?: number;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Related articles section using ArticleCard grid.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```tsx
|
|
171
|
+
* <RelatedContent
|
|
172
|
+
* title="Related Articles"
|
|
173
|
+
* items={[
|
|
174
|
+
* { title: 'AI Outreach Guide', href: '/blog/ai-outreach', ... },
|
|
175
|
+
* { title: 'Pipeline Automation', href: '/blog/pipeline', ... },
|
|
176
|
+
* ]}
|
|
177
|
+
* background="muted"
|
|
178
|
+
* />
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
declare const RelatedContent: React__default.ForwardRefExoticComponent<RelatedContentProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
182
|
+
|
|
183
|
+
interface LongFormLayoutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
184
|
+
children: React__default.ReactNode;
|
|
185
|
+
/** Pass the TOC element here to render as a sticky sidebar on desktop */
|
|
186
|
+
sidebar?: React__default.ReactNode;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* A layout primitive designed specifically for long-form content (e.g., blog posts, documentation).
|
|
190
|
+
* Enforces maximum reading widths and manages the relationship between the main content and an optional sticky sidebar.
|
|
191
|
+
*/
|
|
192
|
+
declare const LongFormLayout: React__default.ForwardRefExoticComponent<LongFormLayoutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
193
|
+
|
|
194
|
+
interface InsightCalloutProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
195
|
+
children: React__default.ReactNode;
|
|
196
|
+
icon?: React__default.ReactNode;
|
|
197
|
+
title?: string;
|
|
198
|
+
}
|
|
199
|
+
declare const InsightCallout: React__default.ForwardRefExoticComponent<InsightCalloutProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
200
|
+
interface DataHighlightProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
201
|
+
stat: string;
|
|
202
|
+
label: string;
|
|
203
|
+
children?: React__default.ReactNode;
|
|
204
|
+
}
|
|
205
|
+
declare const DataHighlight: React__default.ForwardRefExoticComponent<DataHighlightProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
206
|
+
|
|
207
|
+
interface ReadingProgressProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
208
|
+
/** Reference to the container element whose scroll progress we're tracking */
|
|
209
|
+
targetRef?: React__default.RefObject<HTMLElement | null>;
|
|
210
|
+
}
|
|
211
|
+
declare const ReadingProgress: React__default.ForwardRefExoticComponent<ReadingProgressProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
212
|
+
|
|
213
|
+
interface VersionedUpgradeAlertProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
214
|
+
seriesName: string;
|
|
215
|
+
viewedYear: number;
|
|
216
|
+
latestYear: number;
|
|
217
|
+
latestUrl: string;
|
|
218
|
+
deltaSummary?: string;
|
|
219
|
+
}
|
|
220
|
+
declare const VersionedUpgradeAlert: React__default.ForwardRefExoticComponent<VersionedUpgradeAlertProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
221
|
+
interface SeriesEdition {
|
|
222
|
+
year: number;
|
|
223
|
+
url: string;
|
|
224
|
+
isCurrent: boolean;
|
|
225
|
+
}
|
|
226
|
+
interface VersionedSeriesNavigatorProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
227
|
+
seriesName: string;
|
|
228
|
+
hubUrl: string;
|
|
229
|
+
editions: SeriesEdition[];
|
|
230
|
+
}
|
|
231
|
+
declare const VersionedSeriesNavigator: React__default.ForwardRefExoticComponent<VersionedSeriesNavigatorProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
232
|
+
|
|
233
|
+
export { ArticleCard, type ArticleCardProps, ArticleLayout, type ArticleLayoutProps, AuthorBio, type AuthorBioProps, type AuthorLink, BrowserFrame, type BrowserFrameProps, DataHighlight, type DataHighlightProps, InsightCallout, type InsightCalloutProps, LongFormLayout, type LongFormLayoutProps, ReadingProgress, type ReadingProgressProps, RelatedContent, type RelatedContentProps, type SeriesEdition, type TOCItem, TableOfContents, type TableOfContentsProps, VersionedSeriesNavigator, type VersionedSeriesNavigatorProps, VersionedUpgradeAlert, type VersionedUpgradeAlertProps };
|