@salesmind-ai/design-system 0.2.1 → 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 +294 -0
- 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.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 +0 -963
- 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/LayoutPrimitives/LayoutPrimitives.css","../../src/components/SectionShell/SectionShell.css","../../src/components/HeroSection/HeroSection.css","../../src/components/FeatureSection/FeatureSection.css","../../src/components/CTASection/CTASection.css","../../src/components/StatsSection/StatsSection.css"],"sourcesContent":["/* 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 HERO SECTION — ELITE\n ============================================================================ */\n\n.ds-hero {\n position: relative;\n overflow: hidden;\n /* Ensure z-context for background effects */\n isolation: isolate;\n}\n\n/* ==========================================================================\n Background Effects\n ========================================================================== */\n\n/* Grid Texture */\n.ds-hero--bg-grid::before {\n content: '';\n position: absolute;\n inset: 0;\n background-size: 40px 40px;\n background-image:\n linear-gradient(to right, var(--void-grid-color) 1px, transparent 1px),\n linear-gradient(to bottom, var(--void-grid-color) 1px, transparent 1px);\n mask-image: radial-gradient(circle at 50% 50%, black 40%, transparent 100%);\n z-index: -2;\n pointer-events: none;\n}\n\n/* Glow Beams (Spotlights) */\n.ds-hero--bg-glow::after {\n content: '';\n position: absolute;\n top: -20%;\n left: 50%;\n transform: translateX(-50%);\n width: 140%;\n height: 80%;\n background: radial-gradient(\n ellipse at center,\n rgba(var(--brand-pink-rgb), 0.15),\n transparent 70%\n );\n filter: blur(60px);\n z-index: -1;\n pointer-events: none;\n opacity: 0.8;\n}\n\n/* ==========================================================================\n Content Animation\n ========================================================================== */\n\n@keyframes ds-hero-fade-up {\n from {\n opacity: 0;\n transform: translateY(20px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n.ds-hero__content {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n z-index: 2;\n position: relative;\n animation: ds-hero-fade-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;\n}\n\n/* ==========================================================================\n Typography\n ========================================================================== */\n\n.ds-hero__title {\n font-family: var(--font-family);\n font-size: var(--font-size-display);\n font-weight: var(--font-weight-bold);\n color: var(--text-primary);\n line-height: var(--line-height-display);\n letter-spacing: var(--letter-spacing-tight);\n margin: 0;\n}\n\n/* Text Gradient support */\n.ds-hero__title em,\n.ds-hero__title span.highlight {\n font-style: normal;\n background: linear-gradient(135deg, var(--text-primary) 30%, var(--text-tertiary));\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n color: var(--text-primary); /* Fallback */\n}\n\n.ds-hero__subtitle {\n font-family: var(--font-family);\n font-size: var(--font-size-lg);\n color: var(--text-secondary);\n line-height: 1.6;\n max-width: 60ch;\n margin: 0;\n}\n\n@media (min-width: 768px) {\n .ds-hero__subtitle {\n font-size: var(--font-size-xl);\n }\n}\n\n/* ==========================================================================\n Actions\n ========================================================================== */\n\n.ds-hero__actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-4);\n margin-top: var(--space-4);\n}\n\n.ds-hero--center .ds-hero__actions {\n justify-content: center;\n}\n\n/* ==========================================================================\n Media Frame (The \"Browser\" Look)\n ========================================================================== */\n\n.ds-hero__media-wrapper {\n position: relative;\n perspective: 1000px;\n animation: ds-hero-fade-up 1s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards; /* Delayed entrance */\n opacity: 0; /* Start hidden for animation */\n}\n\n.ds-hero__media {\n position: relative;\n width: 100%;\n border-radius: var(--radius-panel);\n overflow: hidden;\n background: var(--glass-base);\n box-shadow:\n 0 20px 50px -10px var(--overlay-backdrop),\n 0 0 0 1px var(--glass-highlight-light);\n /* Optional: Tilt effect placeholder */\n transform-style: preserve-3d;\n}\n\n/* Browser Chrome (Optional decoration) */\n.ds-hero__media--browser::before {\n content: '';\n display: block;\n height: 32px;\n background: var(--glass-base-active);\n border-bottom: 1px solid var(--glass-base-active);\n background-image:\n radial-gradient(circle at 20px 16px, #ff5f57 4px, transparent 5px),\n radial-gradient(circle at 36px 16px, #febc2e 4px, transparent 5px),\n radial-gradient(circle at 52px 16px, #28c840 4px, transparent 5px);\n background-repeat: no-repeat;\n}\n\n.ds-hero__media img,\n.ds-hero__media video {\n width: 100%;\n height: auto;\n display: block;\n}\n\n/* ==========================================================================\n Floating Ornaments (Badges/Cards)\n ========================================================================== */\n\n.ds-hero__float {\n position: absolute;\n z-index: 3;\n animation: ds-hero-float 6s ease-in-out infinite;\n box-shadow: var(--glass-shadow-elevated);\n border-radius: var(--radius-card);\n max-width: 300px;\n}\n\n@keyframes ds-hero-float {\n 0%,\n 100% {\n transform: translateY(0);\n }\n 50% {\n transform: translateY(-10px);\n }\n}\n\n/* Preset Positions */\n.ds-hero__float--top-right {\n top: -20px;\n right: -20px;\n}\n.ds-hero__float--bottom-left {\n bottom: -20px;\n left: -20px;\n}\n\n@media (max-width: 768px) {\n .ds-hero__float {\n display: none;\n } /* Hide complex floats on mobile */\n}\n\n/* ==========================================================================\n Variants Layout Overrides\n ========================================================================== */\n\n/* CENTERED */\n.ds-hero--center .ds-hero__content {\n align-items: center;\n text-align: center;\n max-width: 900px;\n margin: 0 auto var(--space-16) auto;\n}\n\n/* SPLIT */\n.ds-hero--split .ds-hero__media-wrapper {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n/* LEFT */\n.ds-hero--left .ds-hero__content {\n align-items: flex-start;\n text-align: left;\n}\n\n/* ==========================================================================\n Responsive — Wide + Ultra tiers\n ========================================================================== */\n\n/* Wide (>=1920px) — more vertical space, larger media */\n@media (min-width: 1920px) {\n .ds-hero__content {\n gap: var(--space-8);\n }\n\n .ds-hero__subtitle {\n font-size: var(--font-size-xl);\n max-width: 65ch;\n }\n\n .ds-hero__actions {\n gap: var(--space-5);\n margin-top: var(--space-6);\n }\n\n .ds-hero--center .ds-hero__content {\n max-width: 1000px;\n margin-bottom: var(--space-20);\n }\n}\n\n/* Ultra (>=2560px) — maximum visual impact */\n@media (min-width: 2560px) {\n .ds-hero__content {\n gap: var(--space-10);\n }\n\n .ds-hero__subtitle {\n font-size: var(--font-size-2xl);\n max-width: 70ch;\n }\n\n .ds-hero__actions {\n gap: var(--space-6);\n margin-top: var(--space-8);\n }\n\n .ds-hero--center .ds-hero__content {\n max-width: 1100px;\n }\n\n .ds-hero__float {\n max-width: 400px;\n }\n}\n","/* ============================================================================\n FEATURE SECTION\n ============================================================================ */\n\n.ds-feature-section {\n position: relative;\n}\n\n/* ==========================================================================\n Grid Layout\n ========================================================================== */\n\n.ds-feature-grid {\n display: grid;\n gap: var(--space-8);\n grid-template-columns: 1fr;\n}\n\n@media (min-width: 768px) {\n .ds-feature-grid--2-col {\n grid-template-columns: repeat(2, 1fr);\n }\n .ds-feature-grid--3-col {\n grid-template-columns: repeat(3, 1fr);\n }\n .ds-feature-grid--4-col {\n grid-template-columns: repeat(2, 1fr);\n } /* 2x2 on tablet */\n}\n\n@media (min-width: 1024px) {\n .ds-feature-grid--4-col {\n grid-template-columns: repeat(4, 1fr);\n }\n}\n\n/* ==========================================================================\n Feature Card (Grid Item)\n ========================================================================== */\n\n.ds-feature-card {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n padding: var(--space-6);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n transition:\n transform var(--transition-base),\n box-shadow var(--transition-base);\n}\n\n.ds-feature-card:hover {\n transform: translateY(-2px);\n background: var(--glass-base-hover);\n box-shadow: var(--glass-shadow-elevated);\n border-color: var(--rim-light-top);\n}\n\n.ds-feature-card__icon {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-button);\n background: rgba(var(--brand-pink-rgb), 0.1);\n color: var(--brand-pink);\n margin-bottom: var(--space-2);\n}\n\n.ds-feature-card__title {\n font-family: var(--font-family);\n font-size: var(--font-size-lg);\n font-weight: var(--font-weight-semibold);\n color: var(--text-primary);\n margin: 0;\n}\n\n.ds-feature-card__description {\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}\n\n/* ==========================================================================\n ZigZag Layout (Rows)\n ========================================================================== */\n\n.ds-feature-zigzag {\n display: flex;\n flex-direction: column;\n gap: var(--space-16); /* Large gap between rows */\n}\n\n.ds-feature-row {\n display: grid;\n grid-template-columns: 1fr;\n gap: var(--space-8);\n align-items: center;\n}\n\n@media (min-width: 768px) {\n .ds-feature-row {\n grid-template-columns: 1fr 1fr;\n gap: var(--space-16);\n }\n\n /* Alternate order for even rows */\n .ds-feature-row:nth-child(even) .ds-feature-row__content {\n order: 2;\n }\n .ds-feature-row:nth-child(even) .ds-feature-row__media {\n order: 1;\n }\n}\n\n.ds-feature-row__content {\n display: flex;\n flex-direction: column;\n gap: var(--space-4);\n}\n\n.ds-feature-row__media {\n position: relative;\n border-radius: var(--radius-panel);\n overflow: hidden;\n box-shadow: var(--glass-shadow-elevated);\n border: 1px solid var(--rim-light-top);\n background: var(--glass-base);\n}\n\n.ds-feature-row__media img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n/* Number badge for steps */\n.ds-feature-row__step {\n font-family: var(--font-family-mono);\n font-size: var(--font-size-xs);\n color: var(--brand-pink);\n background: rgba(var(--brand-pink-rgb), 0.1);\n padding: var(--space-1) var(--space-2);\n border-radius: var(--radius-pill);\n align-self: flex-start;\n margin-bottom: var(--space-2);\n}\n","/* ============================================================================\n CTA SECTION\n ============================================================================ */\n\n.ds-cta-section {\n overflow: hidden;\n}\n\n/* ==========================================================================\n Content\n ========================================================================== */\n\n.ds-cta-content {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n max-width: 800px;\n margin: 0 auto;\n}\n\n.ds-cta-section--center .ds-cta-content {\n align-items: center;\n text-align: center;\n}\n\n.ds-cta-section--split {\n display: grid;\n gap: var(--space-8);\n}\n\n@media (min-width: 768px) {\n .ds-cta-section--split {\n grid-template-columns: 3fr 2fr;\n align-items: center;\n }\n}\n\n/* ==========================================================================\n Typography\n ========================================================================== */\n\n.ds-cta-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-cta-description {\n font-family: var(--font-family);\n font-size: var(--font-size-lg);\n color: var(--text-secondary);\n line-height: var(--line-height-relaxed);\n margin: 0;\n}\n\n/* ==========================================================================\n Actions\n ========================================================================== */\n\n.ds-cta-actions {\n display: flex;\n flex-wrap: wrap;\n gap: var(--space-4);\n margin-top: var(--space-2);\n}\n\n.ds-cta-section--center .ds-cta-actions {\n justify-content: center;\n}\n\n.ds-cta-section--split .ds-cta-actions {\n justify-content: flex-end; /* Or flex-start depending on preference */\n}\n\n@media (min-width: 768px) {\n .ds-cta-section--split .ds-cta-actions {\n margin-top: 0;\n justify-content: flex-end;\n }\n}\n\n/* ==========================================================================\n Card Variant (Boxed)\n ========================================================================== */\n\n.ds-cta-card {\n background: var(--glass-base);\n border: 1px solid var(--rim-light-top);\n border-radius: var(--radius-panel);\n padding: var(--space-12) var(--space-8);\n box-shadow: var(--glass-shadow-elevated);\n position: relative;\n overflow: hidden;\n}\n\n/* Glow Effect for Brand variant */\n.ds-section--bg-brand .ds-cta-card {\n background: rgba(var(--brand-pink-rgb), 0.1);\n border-color: rgba(var(--brand-pink-rgb), 0.3);\n}\n","/* ============================================================================\n STATS SECTION\n ============================================================================ */\n\n.ds-stats-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: var(--space-8);\n width: 100%;\n}\n\n@media (min-width: 768px) {\n .ds-stats-grid {\n grid-template-columns: repeat(4, 1fr);\n gap: var(--space-12);\n }\n}\n\n.ds-stat-card {\n display: flex;\n flex-direction: column;\n gap: var(--space-2);\n text-align: center;\n padding: var(--space-6);\n border-radius: var(--radius-card);\n background: var(--glass-base);\n border: 1px solid var(--rim-light-bottom);\n transition: transform var(--transition-base);\n}\n\n.ds-stat-card:hover {\n transform: translateY(-2px);\n background: var(--glass-base-hover);\n border-color: var(--rim-light-top);\n}\n\n.ds-stat-value {\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: 1;\n letter-spacing: var(--letter-spacing-tight);\n}\n\n@media (min-width: 768px) {\n .ds-stat-value {\n font-size: var(--font-size-5xl); /* 4xl */\n }\n}\n\n.ds-stat-label {\n font-family: var(--font-family);\n font-size: var(--font-size-sm);\n color: var(--text-secondary);\n font-weight: var(--font-weight-medium);\n text-transform: uppercase;\n letter-spacing: var(--letter-spacing-wide);\n}\n\n.ds-stat-suffix {\n font-size: var(--font-size-suffix);\n color: var(--brand-pink);\n vertical-align: super;\n margin-left: var(--space-1);\n}\n"],"mappings":";AAEA,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,YAAU;AACV,YAAU;AAEV,aAAW;AACb;AAOA,CAAC,gBAAgB;AACf,WAAS;AACT,YAAU;AACV,SAAO;AACP,mBAAiB,KAAK;AACtB;AAAA,IACE;AAAA,MAAgB,GAAG,KAAK;AAAA,MAAE,IAAI,mBAAmB,GAAG;AAAA,MAAE,YAAY,IAAI;AAAA,IACtE;AAAA,MAAgB,GAAG,MAAM;AAAA,MAAE,IAAI,mBAAmB,GAAG;AAAA,MAAE,YAAY;AACrE;AAAA,IAAY;AAAA,MAAgB,OAAO,GAAG,IAAI,GAAG;AAAA,MAAE,MAAM,GAAG;AAAA,MAAE,YAAY;AACtE,WAAS;AACT,kBAAgB;AAClB;AAGA,CAAC,gBAAgB;AACf,WAAS;AACT,YAAU;AACV,OAAK;AACL,QAAM;AACN,aAAW,WAAW;AACtB,SAAO;AACP,UAAQ;AACR;AAAA,IAAY;AAAA,MACV,QAAQ,GAAG,MAAM;AAAA,MACjB,KAAK,IAAI,iBAAiB,EAAE,KAAK;AAAA,MACjC,YAAY;AAEd,UAAQ,KAAK;AACb,WAAS;AACT,kBAAgB;AAChB,WAAS;AACX;AAMA,WAAW;AACT;AACE,aAAS;AACT,eAAW,WAAW;AACxB;AACA;AACE,aAAS;AACT,eAAW,WAAW;AACxB;AACF;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,WAAS;AACT,YAAU;AACV,aAAW,gBAAgB,KAAK,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG;AAChE;AAMA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,kBAAgB,IAAI;AACpB,UAAQ;AACV;AAGA,CAXC,eAWe;AAChB,CAZC,eAYe,IAAI,CAAC;AACnB,cAAY;AACZ;AAAA,IAAY;AAAA,MAAgB,MAAM;AAAA,MAAE,IAAI,gBAAgB,GAAG;AAAA,MAAE,IAAI;AACjE,2BAAyB;AACzB,2BAAyB;AACzB,SAAO,IAAI;AACb;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,eAAa;AACb,aAAW;AACX,UAAQ;AACV;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAVD;AAWG,eAAW,IAAI;AACjB;AACF;AAMA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK,IAAI;AACT,cAAY,IAAI;AAClB;AAEA,CAAC,gBAAgB,CAPhB;AAQC,mBAAiB;AACnB;AAMA,CAAC;AACC,YAAU;AACV,eAAa;AACb,aAAW,gBAAgB,GAAG,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAK;AACjE,WAAS;AACX;AAEA,CAAC;AACC,YAAU;AACV,SAAO;AACP,iBAAe,IAAI;AACnB,YAAU;AACV,cAAY,IAAI;AAChB,cACE,EAAE,KAAK,KAAK,MAAM,IAAI,mBAAmB,EACzC,EAAE,EAAE,EAAE,IAAI,IAAI;AAEhB,mBAAiB;AACnB;AAGA,CAAC,uBAAuB;AACtB,WAAS;AACT,WAAS;AACT,UAAQ;AACR,cAAY,IAAI;AAChB,iBAAe,IAAI,MAAM,IAAI;AAC7B;AAAA,IACE;AAAA,MAAgB,OAAO,GAAG,KAAK,IAAI;AAAA,MAAE,QAAQ,GAAG;AAAA,MAAE,YAAY,IAAI;AAAA,IAClE;AAAA,MAAgB,OAAO,GAAG,KAAK,IAAI;AAAA,MAAE,QAAQ,GAAG;AAAA,MAAE,YAAY,IAAI;AAAA,IAClE;AAAA,MAAgB,OAAO,GAAG,KAAK,IAAI;AAAA,MAAE,QAAQ,GAAG;AAAA,MAAE,YAAY;AAChE,qBAAmB;AACrB;AAEA,CA3BC,eA2Be;AAChB,CA5BC,eA4Be;AACd,SAAO;AACP,UAAQ;AACR,WAAS;AACX;AAMA,CAAC;AACC,YAAU;AACV,WAAS;AACT,aAAW,cAAc,GAAG,YAAY;AACxC,cAAY,IAAI;AAChB,iBAAe,IAAI;AACnB,aAAW;AACb;AAEA,WANa;AAOX;AAEE,eAAW,WAAW;AACxB;AACA;AACE,eAAW,WAAW;AACxB;AACF;AAGA,CAAC;AACC,OAAK;AACL,SAAO;AACT;AACA,CAAC;AACC,UAAQ;AACR,QAAM;AACR;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GA9BD;AA+BG,aAAS;AACX;AACF;AAOA,CA7FC,gBA6FgB,CAxJhB;AAyJC,eAAa;AACb,cAAY;AACZ,aAAW;AACX,UAAQ,EAAE,KAAK,IAAI,YAAY;AACjC;AAGA,CAAC,eAAe,CA7Ff;AA8FC,UAAQ;AACR,WAAS;AACT,eAAa;AACf;AAGA,CAAC,cAAc,CAvKd;AAwKC,eAAa;AACb,cAAY;AACd;AAOA,OAAO,CAAC,SAAS,EAAE;AACjB,GAlLD;AAmLG,SAAK,IAAI;AACX;AAEA,GArJD;AAsJG,eAAW,IAAI;AACf,eAAW;AACb;AAEA,GAvID;AAwIG,SAAK,IAAI;AACT,gBAAY,IAAI;AAClB;AAEA,GArID,gBAqIkB,CAhMlB;AAiMG,eAAW;AACX,mBAAe,IAAI;AACrB;AACF;AAGA,OAAO,CAAC,SAAS,EAAE;AACjB,GAxMD;AAyMG,SAAK,IAAI;AACX;AAEA,GA3KD;AA4KG,eAAW,IAAI;AACf,eAAW;AACb;AAEA,GA7JD;AA8JG,SAAK,IAAI;AACT,gBAAY,IAAI;AAClB;AAEA,GA3JD,gBA2JkB,CAtNlB;AAuNG,eAAW;AACb;AAEA,GA1GD;AA2GG,eAAW;AACb;AACF;;;ACzRA,CAAC;AACC,YAAU;AACZ;AAMA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACT,yBAAuB;AACzB;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAAC;AACC,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAAC;AACC,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACA,GAAC;AACC,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GANC;AAOC,2BAAuB,OAAO,CAAC,EAAE;AACnC;AACF;AAMA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,cACE,UAAU,IAAI,kBAAkB,EAChC,WAAW,IAAI;AACnB;AAEA,CAbC,eAae;AACd,aAAW,WAAW;AACtB,cAAY,IAAI;AAChB,cAAY,IAAI;AAChB,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,SAAO;AACP,UAAQ;AACR,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,iBAAe,IAAI;AACnB,cAAY,KAAK,IAAI,iBAAiB,EAAE;AACxC,SAAO,IAAI;AACX,iBAAe,IAAI;AACrB;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,UAAQ;AACV;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,UAAQ;AACV;AAMA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAEA,CAAC;AACC,WAAS;AACT,yBAAuB;AACvB,OAAK,IAAI;AACT,eAAa;AACf;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GARD;AASG,2BAAuB,IAAI;AAC3B,SAAK,IAAI;AACX;AAGA,GAdD,cAcgB,iBAAiB,CAAC;AAC/B,WAAO;AACT;AACA,GAjBD,cAiBgB,iBAAiB,CAAC;AAC/B,WAAO;AACT;AACF;AAEA,CARmC;AASjC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACX;AAEA,CAXmC;AAYjC,YAAU;AACV,iBAAe,IAAI;AACnB,YAAU;AACV,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,cAAY,IAAI;AAClB;AAEA,CApBmC,sBAoBZ;AACrB,SAAO;AACP,UAAQ;AACR,WAAS;AACX;AAGA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,cAAY,KAAK,IAAI,iBAAiB,EAAE;AACxC,WAAS,IAAI,WAAW,IAAI;AAC5B,iBAAe,IAAI;AACnB,cAAY;AACZ,iBAAe,IAAI;AACrB;;;ACnJA,CAAC;AACC,YAAU;AACZ;AAMA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,aAAW;AACX,UAAQ,EAAE;AACZ;AAEA,CAAC,uBAAuB,CARvB;AASC,eAAa;AACb,cAAY;AACd;AAEA,CAAC;AACC,WAAS;AACT,OAAK,IAAI;AACX;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAND;AAOG,2BAAuB,IAAI;AAC3B,iBAAa;AACf;AACF;AAMA,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,eAAa,IAAI;AACjB,UAAQ;AACV;AAMA,CAAC;AACC,WAAS;AACT,aAAW;AACX,OAAK,IAAI;AACT,cAAY,IAAI;AAClB;AAEA,CAjDC,uBAiDuB,CAPvB;AAQC,mBAAiB;AACnB;AAEA,CAhDC,sBAgDsB,CAXtB;AAYC,mBAAiB;AACnB;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GArDD,sBAqDwB,CAhBxB;AAiBG,gBAAY;AACZ,qBAAiB;AACnB;AACF;AAMA,CAAC;AACC,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,iBAAe,IAAI;AACnB,WAAS,IAAI,YAAY,IAAI;AAC7B,cAAY,IAAI;AAChB,YAAU;AACV,YAAU;AACZ;AAGA,CAAC,qBAAqB,CAXrB;AAYC,cAAY,KAAK,IAAI,iBAAiB,EAAE;AACxC,gBAAc,KAAK,IAAI,iBAAiB,EAAE;AAC5C;;;AClGA,CAAC;AACC,WAAS;AACT,yBAAuB,OAAO,CAAC,EAAE;AACjC,OAAK,IAAI;AACT,SAAO;AACT;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GARD;AASG,2BAAuB,OAAO,CAAC,EAAE;AACjC,SAAK,IAAI;AACX;AACF;AAEA,CAAC;AACC,WAAS;AACT,kBAAgB;AAChB,OAAK,IAAI;AACT,cAAY;AACZ,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,cAAY,IAAI;AAChB,UAAQ,IAAI,MAAM,IAAI;AACtB,cAAY,UAAU,IAAI;AAC5B;AAEA,CAZC,YAYY;AACX,aAAW,WAAW;AACtB,cAAY,IAAI;AAChB,gBAAc,IAAI;AACpB;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,eAAa,IAAI;AACjB,SAAO,IAAI;AACX,eAAa;AACb,kBAAgB,IAAI;AACtB;AAEA,OAAO,CAAC,SAAS,EAAE;AACjB,GAVD;AAWG,eAAW,IAAI;AACjB;AACF;AAEA,CAAC;AACC,eAAa,IAAI;AACjB,aAAW,IAAI;AACf,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,kBAAgB;AAChB,kBAAgB,IAAI;AACtB;AAEA,CAAC;AACC,aAAW,IAAI;AACf,SAAO,IAAI;AACX,kBAAgB;AAChB,eAAa,IAAI;AACnB;","names":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { c as SectionShellProps } from '../SectionShell-BfBw5q0Y.cjs';
|
|
2
|
+
export { S as SectionHeader, a as SectionHeaderProps, b as SectionShell } from '../SectionShell-BfBw5q0Y.cjs';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
interface HeroSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
6
|
+
variant?: 'left' | 'center' | 'split';
|
|
7
|
+
title: React__default.ReactNode;
|
|
8
|
+
subtitle?: React__default.ReactNode;
|
|
9
|
+
eyebrow?: React__default.ReactNode;
|
|
10
|
+
primaryCta?: React__default.ReactNode;
|
|
11
|
+
secondaryCta?: React__default.ReactNode;
|
|
12
|
+
/** Main visual (Image, Video, or Component) */
|
|
13
|
+
media?: React__default.ReactNode;
|
|
14
|
+
/** Adds a browser-like header bar to the media container */
|
|
15
|
+
mediaBrowserFrame?: boolean;
|
|
16
|
+
/** Optional floating elements (e.g. SocialProof cards) over the media */
|
|
17
|
+
floatingElement?: React__default.ReactNode;
|
|
18
|
+
floatingPosition?: 'top-right' | 'bottom-left';
|
|
19
|
+
/** Background Visuals */
|
|
20
|
+
withGrid?: boolean;
|
|
21
|
+
withGlow?: boolean;
|
|
22
|
+
align?: 'left' | 'center';
|
|
23
|
+
}
|
|
24
|
+
declare const HeroSection: React__default.ForwardRefExoticComponent<HeroSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
|
|
26
|
+
interface FeatureItem {
|
|
27
|
+
title: React__default.ReactNode;
|
|
28
|
+
description: React__default.ReactNode;
|
|
29
|
+
icon?: React__default.ReactNode;
|
|
30
|
+
media?: React__default.ReactNode;
|
|
31
|
+
step?: string | number;
|
|
32
|
+
cta?: React__default.ReactNode;
|
|
33
|
+
}
|
|
34
|
+
interface FeatureSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
35
|
+
variant?: 'grid' | 'zigzag';
|
|
36
|
+
columns?: 2 | 3 | 4;
|
|
37
|
+
features: FeatureItem[];
|
|
38
|
+
title?: React__default.ReactNode;
|
|
39
|
+
subtitle?: React__default.ReactNode;
|
|
40
|
+
eyebrow?: React__default.ReactNode;
|
|
41
|
+
alignHeader?: 'left' | 'center' | 'right';
|
|
42
|
+
}
|
|
43
|
+
declare const FeatureSection: React__default.ForwardRefExoticComponent<FeatureSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
44
|
+
|
|
45
|
+
interface CTASectionProps extends Omit<SectionShellProps, 'title'> {
|
|
46
|
+
variant?: 'center' | 'split' | 'boxed';
|
|
47
|
+
title: React__default.ReactNode;
|
|
48
|
+
description?: React__default.ReactNode;
|
|
49
|
+
primaryCta?: React__default.ReactNode;
|
|
50
|
+
secondaryCta?: React__default.ReactNode;
|
|
51
|
+
actions?: React__default.ReactNode;
|
|
52
|
+
}
|
|
53
|
+
declare const CTASection: React__default.ForwardRefExoticComponent<CTASectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
54
|
+
|
|
55
|
+
interface StatItem {
|
|
56
|
+
label: string;
|
|
57
|
+
value: string | number;
|
|
58
|
+
suffix?: string;
|
|
59
|
+
prefix?: string;
|
|
60
|
+
}
|
|
61
|
+
interface StatsSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
62
|
+
stats: StatItem[];
|
|
63
|
+
title?: React__default.ReactNode;
|
|
64
|
+
subtitle?: React__default.ReactNode;
|
|
65
|
+
eyebrow?: React__default.ReactNode;
|
|
66
|
+
}
|
|
67
|
+
declare const StatsSection: React__default.ForwardRefExoticComponent<StatsSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
68
|
+
|
|
69
|
+
export { CTASection, type CTASectionProps, type FeatureItem, FeatureSection, type FeatureSectionProps, HeroSection, type HeroSectionProps, SectionShellProps, type StatItem, StatsSection, type StatsSectionProps };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { c as SectionShellProps } from '../SectionShell-BfBw5q0Y.js';
|
|
2
|
+
export { S as SectionHeader, a as SectionHeaderProps, b as SectionShell } from '../SectionShell-BfBw5q0Y.js';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
interface HeroSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
6
|
+
variant?: 'left' | 'center' | 'split';
|
|
7
|
+
title: React__default.ReactNode;
|
|
8
|
+
subtitle?: React__default.ReactNode;
|
|
9
|
+
eyebrow?: React__default.ReactNode;
|
|
10
|
+
primaryCta?: React__default.ReactNode;
|
|
11
|
+
secondaryCta?: React__default.ReactNode;
|
|
12
|
+
/** Main visual (Image, Video, or Component) */
|
|
13
|
+
media?: React__default.ReactNode;
|
|
14
|
+
/** Adds a browser-like header bar to the media container */
|
|
15
|
+
mediaBrowserFrame?: boolean;
|
|
16
|
+
/** Optional floating elements (e.g. SocialProof cards) over the media */
|
|
17
|
+
floatingElement?: React__default.ReactNode;
|
|
18
|
+
floatingPosition?: 'top-right' | 'bottom-left';
|
|
19
|
+
/** Background Visuals */
|
|
20
|
+
withGrid?: boolean;
|
|
21
|
+
withGlow?: boolean;
|
|
22
|
+
align?: 'left' | 'center';
|
|
23
|
+
}
|
|
24
|
+
declare const HeroSection: React__default.ForwardRefExoticComponent<HeroSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
25
|
+
|
|
26
|
+
interface FeatureItem {
|
|
27
|
+
title: React__default.ReactNode;
|
|
28
|
+
description: React__default.ReactNode;
|
|
29
|
+
icon?: React__default.ReactNode;
|
|
30
|
+
media?: React__default.ReactNode;
|
|
31
|
+
step?: string | number;
|
|
32
|
+
cta?: React__default.ReactNode;
|
|
33
|
+
}
|
|
34
|
+
interface FeatureSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
35
|
+
variant?: 'grid' | 'zigzag';
|
|
36
|
+
columns?: 2 | 3 | 4;
|
|
37
|
+
features: FeatureItem[];
|
|
38
|
+
title?: React__default.ReactNode;
|
|
39
|
+
subtitle?: React__default.ReactNode;
|
|
40
|
+
eyebrow?: React__default.ReactNode;
|
|
41
|
+
alignHeader?: 'left' | 'center' | 'right';
|
|
42
|
+
}
|
|
43
|
+
declare const FeatureSection: React__default.ForwardRefExoticComponent<FeatureSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
44
|
+
|
|
45
|
+
interface CTASectionProps extends Omit<SectionShellProps, 'title'> {
|
|
46
|
+
variant?: 'center' | 'split' | 'boxed';
|
|
47
|
+
title: React__default.ReactNode;
|
|
48
|
+
description?: React__default.ReactNode;
|
|
49
|
+
primaryCta?: React__default.ReactNode;
|
|
50
|
+
secondaryCta?: React__default.ReactNode;
|
|
51
|
+
actions?: React__default.ReactNode;
|
|
52
|
+
}
|
|
53
|
+
declare const CTASection: React__default.ForwardRefExoticComponent<CTASectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
54
|
+
|
|
55
|
+
interface StatItem {
|
|
56
|
+
label: string;
|
|
57
|
+
value: string | number;
|
|
58
|
+
suffix?: string;
|
|
59
|
+
prefix?: string;
|
|
60
|
+
}
|
|
61
|
+
interface StatsSectionProps extends Omit<SectionShellProps, 'title'> {
|
|
62
|
+
stats: StatItem[];
|
|
63
|
+
title?: React__default.ReactNode;
|
|
64
|
+
subtitle?: React__default.ReactNode;
|
|
65
|
+
eyebrow?: React__default.ReactNode;
|
|
66
|
+
}
|
|
67
|
+
declare const StatsSection: React__default.ForwardRefExoticComponent<StatsSectionProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
68
|
+
|
|
69
|
+
export { CTASection, type CTASectionProps, type FeatureItem, FeatureSection, type FeatureSectionProps, HeroSection, type HeroSectionProps, SectionShellProps, type StatItem, StatsSection, type StatsSectionProps };
|
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
import { forwardRef } from 'react';
|
|
2
|
+
import clsx5 from 'clsx';
|
|
3
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
// src/components/SectionShell/SectionShell.tsx
|
|
6
|
+
|
|
7
|
+
// src/tokens/spacing.ts
|
|
8
|
+
var SPACING = {
|
|
9
|
+
1: "var(--space-1)",
|
|
10
|
+
2: "var(--space-2)",
|
|
11
|
+
3: "var(--space-3)",
|
|
12
|
+
4: "var(--space-4)",
|
|
13
|
+
5: "var(--space-5)",
|
|
14
|
+
6: "var(--space-6)",
|
|
15
|
+
8: "var(--space-8)",
|
|
16
|
+
10: "var(--space-10)",
|
|
17
|
+
12: "var(--space-12)",
|
|
18
|
+
16: "var(--space-16)",
|
|
19
|
+
20: "var(--space-20)"
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// src/components/LayoutPrimitives/utils.ts
|
|
23
|
+
var SPACING_ALIASES = {
|
|
24
|
+
xs: "var(--space-2)",
|
|
25
|
+
sm: "var(--space-3)",
|
|
26
|
+
md: "var(--space-4)",
|
|
27
|
+
lg: "var(--space-6)",
|
|
28
|
+
xl: "var(--space-8)",
|
|
29
|
+
"2xl": "var(--space-12)"
|
|
30
|
+
};
|
|
31
|
+
function resolveSpacing(value) {
|
|
32
|
+
if (value === void 0) return void 0;
|
|
33
|
+
if (typeof value === "number" && SPACING[value]) {
|
|
34
|
+
return SPACING[value];
|
|
35
|
+
}
|
|
36
|
+
if (typeof value === "string" && value in SPACING_ALIASES) {
|
|
37
|
+
return SPACING_ALIASES[value];
|
|
38
|
+
}
|
|
39
|
+
return String(value);
|
|
40
|
+
}
|
|
41
|
+
function extractSpacingStyles(props) {
|
|
42
|
+
const styles = {};
|
|
43
|
+
if (props.m !== void 0) styles.margin = resolveSpacing(props.m);
|
|
44
|
+
if (props.mt !== void 0) styles.marginTop = resolveSpacing(props.mt);
|
|
45
|
+
if (props.mb !== void 0) styles.marginBottom = resolveSpacing(props.mb);
|
|
46
|
+
if (props.ml !== void 0) styles.marginLeft = resolveSpacing(props.ml);
|
|
47
|
+
if (props.mr !== void 0) styles.marginRight = resolveSpacing(props.mr);
|
|
48
|
+
if (props.mx !== void 0) {
|
|
49
|
+
styles.marginLeft = resolveSpacing(props.mx);
|
|
50
|
+
styles.marginRight = resolveSpacing(props.mx);
|
|
51
|
+
}
|
|
52
|
+
if (props.my !== void 0) {
|
|
53
|
+
styles.marginTop = resolveSpacing(props.my);
|
|
54
|
+
styles.marginBottom = resolveSpacing(props.my);
|
|
55
|
+
}
|
|
56
|
+
if (props.p !== void 0) styles.padding = resolveSpacing(props.p);
|
|
57
|
+
if (props.pt !== void 0) styles.paddingTop = resolveSpacing(props.pt);
|
|
58
|
+
if (props.pb !== void 0) styles.paddingBottom = resolveSpacing(props.pb);
|
|
59
|
+
if (props.pl !== void 0) styles.paddingLeft = resolveSpacing(props.pl);
|
|
60
|
+
if (props.pr !== void 0) styles.paddingRight = resolveSpacing(props.pr);
|
|
61
|
+
if (props.px !== void 0) {
|
|
62
|
+
styles.paddingLeft = resolveSpacing(props.px);
|
|
63
|
+
styles.paddingRight = resolveSpacing(props.px);
|
|
64
|
+
}
|
|
65
|
+
if (props.py !== void 0) {
|
|
66
|
+
styles.paddingTop = resolveSpacing(props.py);
|
|
67
|
+
styles.paddingBottom = resolveSpacing(props.py);
|
|
68
|
+
}
|
|
69
|
+
if (props.gap !== void 0) styles.gap = resolveSpacing(props.gap);
|
|
70
|
+
return styles;
|
|
71
|
+
}
|
|
72
|
+
var Box = forwardRef(
|
|
73
|
+
({ as: Component = "div", className, style, children, ...props }, ref) => {
|
|
74
|
+
const spacingStyles = extractSpacingStyles(props);
|
|
75
|
+
const { m, mt, mb, ml, mr, mx, my, p, pt, pb, pl, pr, px, py, gap, ...domProps } = props;
|
|
76
|
+
return /* @__PURE__ */ jsx(
|
|
77
|
+
Component,
|
|
78
|
+
{
|
|
79
|
+
ref,
|
|
80
|
+
className: clsx5("ds-box", className),
|
|
81
|
+
style: { ...spacingStyles, ...style },
|
|
82
|
+
...domProps,
|
|
83
|
+
children
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
);
|
|
88
|
+
Box.displayName = "Box";
|
|
89
|
+
var Stack = forwardRef(
|
|
90
|
+
({ direction = "column", align, justify, wrap, className, style, ...props }, ref) => {
|
|
91
|
+
return /* @__PURE__ */ jsx(
|
|
92
|
+
Box,
|
|
93
|
+
{
|
|
94
|
+
ref,
|
|
95
|
+
className: clsx5("ds-stack", direction === "row" && "ds-stack--horizontal", className),
|
|
96
|
+
style: {
|
|
97
|
+
alignItems: align,
|
|
98
|
+
justifyContent: justify === "between" ? "space-between" : justify,
|
|
99
|
+
flexWrap: wrap ? "wrap" : void 0,
|
|
100
|
+
...style
|
|
101
|
+
},
|
|
102
|
+
...props
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
Stack.displayName = "Stack";
|
|
108
|
+
var CONTAINER_SIZE_MAP = {
|
|
109
|
+
sm: "768px",
|
|
110
|
+
// 48rem — max-w-3xl
|
|
111
|
+
md: "1024px",
|
|
112
|
+
// 64rem — max-w-5xl
|
|
113
|
+
lg: "1152px",
|
|
114
|
+
// 72rem — max-w-6xl
|
|
115
|
+
xl: "1280px",
|
|
116
|
+
// 80rem — max-w-7xl
|
|
117
|
+
full: "100%"
|
|
118
|
+
};
|
|
119
|
+
var Container = forwardRef(
|
|
120
|
+
({ size, fluid, maxWidth, className, style, ...props }, ref) => {
|
|
121
|
+
let resolvedMaxWidth;
|
|
122
|
+
if (fluid) {
|
|
123
|
+
resolvedMaxWidth = "100%";
|
|
124
|
+
} else if (size) {
|
|
125
|
+
resolvedMaxWidth = CONTAINER_SIZE_MAP[size];
|
|
126
|
+
} else {
|
|
127
|
+
resolvedMaxWidth = maxWidth || "var(--container-default-max, 1200px)";
|
|
128
|
+
}
|
|
129
|
+
return /* @__PURE__ */ jsx(
|
|
130
|
+
Box,
|
|
131
|
+
{
|
|
132
|
+
ref,
|
|
133
|
+
className: clsx5("ds-container", className),
|
|
134
|
+
style: {
|
|
135
|
+
maxWidth: resolvedMaxWidth,
|
|
136
|
+
...style
|
|
137
|
+
},
|
|
138
|
+
...props
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
Container.displayName = "Container";
|
|
144
|
+
var SectionHeader = forwardRef(
|
|
145
|
+
({ title, subtitle, eyebrow, align = "center", className, ...props }, ref) => {
|
|
146
|
+
if (!title && !subtitle && !eyebrow) return null;
|
|
147
|
+
return /* @__PURE__ */ jsxs(
|
|
148
|
+
"header",
|
|
149
|
+
{
|
|
150
|
+
ref,
|
|
151
|
+
className: clsx5("ds-section-header", `ds-section-header--${align}`, className),
|
|
152
|
+
...props,
|
|
153
|
+
children: [
|
|
154
|
+
eyebrow && /* @__PURE__ */ jsx("span", { className: "ds-section-header__eyebrow", children: eyebrow }),
|
|
155
|
+
title && /* @__PURE__ */ jsx("h2", { className: "ds-section-header__title", children: title }),
|
|
156
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "ds-section-header__subtitle", children: subtitle })
|
|
157
|
+
]
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
SectionHeader.displayName = "SectionHeader";
|
|
163
|
+
var SectionShell = forwardRef(
|
|
164
|
+
({
|
|
165
|
+
className,
|
|
166
|
+
children,
|
|
167
|
+
background = "default",
|
|
168
|
+
padding = "md",
|
|
169
|
+
containerSize,
|
|
170
|
+
containerFluid = false,
|
|
171
|
+
...props
|
|
172
|
+
}, ref) => {
|
|
173
|
+
return /* @__PURE__ */ jsx(
|
|
174
|
+
"section",
|
|
175
|
+
{
|
|
176
|
+
ref,
|
|
177
|
+
className: clsx5(
|
|
178
|
+
"ds-section",
|
|
179
|
+
`ds-section--bg-${background}`,
|
|
180
|
+
`ds-section--padding-${padding}`,
|
|
181
|
+
className
|
|
182
|
+
),
|
|
183
|
+
...props,
|
|
184
|
+
children: /* @__PURE__ */ jsx(
|
|
185
|
+
Container,
|
|
186
|
+
{
|
|
187
|
+
size: containerSize === "fluid" ? "full" : containerSize,
|
|
188
|
+
fluid: containerFluid || containerSize === "fluid",
|
|
189
|
+
children
|
|
190
|
+
}
|
|
191
|
+
)
|
|
192
|
+
}
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
);
|
|
196
|
+
SectionShell.displayName = "SectionShell";
|
|
197
|
+
var HeroSection = forwardRef(
|
|
198
|
+
({
|
|
199
|
+
variant = "left",
|
|
200
|
+
title,
|
|
201
|
+
subtitle,
|
|
202
|
+
eyebrow,
|
|
203
|
+
primaryCta,
|
|
204
|
+
secondaryCta,
|
|
205
|
+
media,
|
|
206
|
+
mediaBrowserFrame = false,
|
|
207
|
+
floatingElement,
|
|
208
|
+
floatingPosition = "bottom-left",
|
|
209
|
+
withGrid = false,
|
|
210
|
+
withGlow = false,
|
|
211
|
+
align,
|
|
212
|
+
className,
|
|
213
|
+
children,
|
|
214
|
+
...props
|
|
215
|
+
}, ref) => {
|
|
216
|
+
const isSplit = variant === "split";
|
|
217
|
+
const isCenter = variant === "center";
|
|
218
|
+
const textAlignment = align || (isCenter ? "center" : "left");
|
|
219
|
+
const ContentBlock = /* @__PURE__ */ jsxs("div", { className: clsx5("ds-hero__content", `ds-hero__content--${textAlignment}`), children: [
|
|
220
|
+
eyebrow && /* @__PURE__ */ jsx("span", { className: "ds-section-header__eyebrow", style: { marginBottom: "var(--space-2)" }, children: eyebrow }),
|
|
221
|
+
/* @__PURE__ */ jsx("h1", { className: "ds-hero__title", children: title }),
|
|
222
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "ds-hero__subtitle", children: subtitle }),
|
|
223
|
+
(primaryCta || secondaryCta) && /* @__PURE__ */ jsxs("div", { className: "ds-hero__actions", children: [
|
|
224
|
+
primaryCta,
|
|
225
|
+
secondaryCta
|
|
226
|
+
] }),
|
|
227
|
+
children
|
|
228
|
+
] });
|
|
229
|
+
const MediaBlock = media && /* @__PURE__ */ jsxs("div", { className: "ds-hero__media-wrapper", children: [
|
|
230
|
+
/* @__PURE__ */ jsx("div", { className: clsx5("ds-hero__media", mediaBrowserFrame && "ds-hero__media--browser"), children: media }),
|
|
231
|
+
floatingElement && /* @__PURE__ */ jsx("div", { className: clsx5("ds-hero__float", `ds-hero__float--${floatingPosition}`), children: floatingElement })
|
|
232
|
+
] });
|
|
233
|
+
return /* @__PURE__ */ jsx(
|
|
234
|
+
SectionShell,
|
|
235
|
+
{
|
|
236
|
+
ref,
|
|
237
|
+
className: clsx5(
|
|
238
|
+
"ds-hero",
|
|
239
|
+
`ds-hero--${variant}`,
|
|
240
|
+
withGrid && "ds-hero--bg-grid",
|
|
241
|
+
withGlow && "ds-hero--bg-glow",
|
|
242
|
+
className
|
|
243
|
+
),
|
|
244
|
+
padding: "lg",
|
|
245
|
+
...props,
|
|
246
|
+
children: isSplit ? /* @__PURE__ */ jsxs(
|
|
247
|
+
"div",
|
|
248
|
+
{
|
|
249
|
+
style: {
|
|
250
|
+
display: "grid",
|
|
251
|
+
gridTemplateColumns: "repeat(auto-fit, minmax(min(100%, 500px), 1fr))",
|
|
252
|
+
gap: "var(--space-16)",
|
|
253
|
+
alignItems: "center"
|
|
254
|
+
},
|
|
255
|
+
children: [
|
|
256
|
+
/* @__PURE__ */ jsx(Box, { children: ContentBlock }),
|
|
257
|
+
/* @__PURE__ */ jsx(Box, { children: MediaBlock })
|
|
258
|
+
]
|
|
259
|
+
}
|
|
260
|
+
) : /* @__PURE__ */ jsxs(Stack, { gap: 16, align: isCenter ? "center" : "start", children: [
|
|
261
|
+
ContentBlock,
|
|
262
|
+
MediaBlock && /* @__PURE__ */ jsx(
|
|
263
|
+
Box,
|
|
264
|
+
{
|
|
265
|
+
style: {
|
|
266
|
+
width: "100%",
|
|
267
|
+
display: "flex",
|
|
268
|
+
justifyContent: isCenter ? "center" : "flex-start"
|
|
269
|
+
},
|
|
270
|
+
children: /* @__PURE__ */ jsx("div", { style: { width: "100%", maxWidth: isCenter ? "1200px" : "100%" }, children: MediaBlock })
|
|
271
|
+
}
|
|
272
|
+
)
|
|
273
|
+
] })
|
|
274
|
+
}
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
);
|
|
278
|
+
HeroSection.displayName = "HeroSection";
|
|
279
|
+
var FeatureCard = ({ item }) => /* @__PURE__ */ jsxs("div", { className: "ds-feature-card", children: [
|
|
280
|
+
item.icon && /* @__PURE__ */ jsx("div", { className: "ds-feature-card__icon", children: item.icon }),
|
|
281
|
+
/* @__PURE__ */ jsx("h3", { className: "ds-feature-card__title", children: item.title }),
|
|
282
|
+
/* @__PURE__ */ jsx("div", { className: "ds-feature-card__description", children: item.description }),
|
|
283
|
+
item.cta && /* @__PURE__ */ jsx("div", { className: "ds-feature-card__cta", children: item.cta })
|
|
284
|
+
] });
|
|
285
|
+
var FeatureRow = ({ item }) => /* @__PURE__ */ jsxs("div", { className: "ds-feature-row", children: [
|
|
286
|
+
/* @__PURE__ */ jsxs("div", { className: "ds-feature-row__content", children: [
|
|
287
|
+
item.step && /* @__PURE__ */ jsxs("div", { className: "ds-feature-row__step", children: [
|
|
288
|
+
"STEP ",
|
|
289
|
+
item.step
|
|
290
|
+
] }),
|
|
291
|
+
item.icon && /* @__PURE__ */ jsx("div", { className: "ds-feature-card__icon", children: item.icon }),
|
|
292
|
+
/* @__PURE__ */ jsx("h3", { className: "ds-section-header__title", style: { fontSize: "var(--font-size-2xl)" }, children: item.title }),
|
|
293
|
+
/* @__PURE__ */ jsx("div", { className: "ds-section-header__subtitle", style: { fontSize: "var(--font-size-lg)" }, children: item.description }),
|
|
294
|
+
item.cta && /* @__PURE__ */ jsx("div", { className: "ds-hero__actions", children: item.cta })
|
|
295
|
+
] }),
|
|
296
|
+
/* @__PURE__ */ jsx("div", { className: "ds-feature-row__media", children: item.media || /* @__PURE__ */ jsx("div", { style: { paddingBottom: "56.25%", background: "var(--glass-base-active)" } }) })
|
|
297
|
+
] });
|
|
298
|
+
var FeatureSection = forwardRef(
|
|
299
|
+
({
|
|
300
|
+
variant = "grid",
|
|
301
|
+
columns = 3,
|
|
302
|
+
features,
|
|
303
|
+
title,
|
|
304
|
+
subtitle,
|
|
305
|
+
eyebrow,
|
|
306
|
+
alignHeader = "center",
|
|
307
|
+
className,
|
|
308
|
+
...props
|
|
309
|
+
}, ref) => {
|
|
310
|
+
return /* @__PURE__ */ jsxs(SectionShell, { ref, className: clsx5("ds-feature-section", className), ...props, children: [
|
|
311
|
+
/* @__PURE__ */ jsx(SectionHeader, { title, subtitle, eyebrow, align: alignHeader }),
|
|
312
|
+
variant === "grid" ? /* @__PURE__ */ jsx("div", { className: clsx5("ds-feature-grid", `ds-feature-grid--${columns}-col`), children: features.map((feature, index) => /* @__PURE__ */ jsx(FeatureCard, { item: feature }, index)) }) : /* @__PURE__ */ jsx("div", { className: "ds-feature-zigzag", children: features.map((feature, index) => /* @__PURE__ */ jsx(FeatureRow, { item: feature }, index)) })
|
|
313
|
+
] });
|
|
314
|
+
}
|
|
315
|
+
);
|
|
316
|
+
FeatureSection.displayName = "FeatureSection";
|
|
317
|
+
var CTASection = forwardRef(
|
|
318
|
+
({
|
|
319
|
+
variant = "center",
|
|
320
|
+
title,
|
|
321
|
+
description,
|
|
322
|
+
primaryCta,
|
|
323
|
+
secondaryCta,
|
|
324
|
+
actions,
|
|
325
|
+
className,
|
|
326
|
+
children,
|
|
327
|
+
...props
|
|
328
|
+
}, ref) => {
|
|
329
|
+
const isBoxed = variant === "boxed";
|
|
330
|
+
const effectiveVariant = isBoxed ? "center" : variant;
|
|
331
|
+
const Content = /* @__PURE__ */ jsxs("div", { className: clsx5("ds-cta-section", `ds-cta-section--${effectiveVariant}`), children: [
|
|
332
|
+
effectiveVariant === "split" ? /* @__PURE__ */ jsxs("div", { className: "ds-cta-section--split", children: [
|
|
333
|
+
/* @__PURE__ */ jsxs("div", { className: "ds-cta-content", children: [
|
|
334
|
+
/* @__PURE__ */ jsx("h2", { className: "ds-cta-title", children: title }),
|
|
335
|
+
description && /* @__PURE__ */ jsx("p", { className: "ds-cta-description", children: description })
|
|
336
|
+
] }),
|
|
337
|
+
/* @__PURE__ */ jsx("div", { className: "ds-cta-actions", children: actions || /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
338
|
+
primaryCta,
|
|
339
|
+
secondaryCta
|
|
340
|
+
] }) })
|
|
341
|
+
] }) : /* @__PURE__ */ jsxs("div", { className: "ds-cta-content", children: [
|
|
342
|
+
/* @__PURE__ */ jsx("h2", { className: "ds-cta-title", children: title }),
|
|
343
|
+
description && /* @__PURE__ */ jsx("p", { className: "ds-cta-description", children: description }),
|
|
344
|
+
/* @__PURE__ */ jsx("div", { className: "ds-cta-actions", children: actions || /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
345
|
+
primaryCta,
|
|
346
|
+
secondaryCta
|
|
347
|
+
] }) })
|
|
348
|
+
] }),
|
|
349
|
+
children
|
|
350
|
+
] });
|
|
351
|
+
return /* @__PURE__ */ jsx(SectionShell, { ref, className: clsx5(className), ...props, children: isBoxed ? /* @__PURE__ */ jsx("div", { className: "ds-cta-card", children: Content }) : Content });
|
|
352
|
+
}
|
|
353
|
+
);
|
|
354
|
+
CTASection.displayName = "CTASection";
|
|
355
|
+
var StatsSection = forwardRef(
|
|
356
|
+
({ stats, title, subtitle, eyebrow, className, ...props }, ref) => {
|
|
357
|
+
return /* @__PURE__ */ jsxs(SectionShell, { ref, className: clsx5("ds-stats-section", className), ...props, children: [
|
|
358
|
+
/* @__PURE__ */ jsx(SectionHeader, { title, subtitle, eyebrow }),
|
|
359
|
+
/* @__PURE__ */ jsx("div", { className: "ds-stats-grid", children: stats.map((stat, idx) => /* @__PURE__ */ jsxs("div", { className: "ds-stat-card", children: [
|
|
360
|
+
/* @__PURE__ */ jsxs("div", { className: "ds-stat-value", children: [
|
|
361
|
+
stat.prefix,
|
|
362
|
+
stat.value,
|
|
363
|
+
/* @__PURE__ */ jsx("span", { className: "ds-stat-suffix", children: stat.suffix })
|
|
364
|
+
] }),
|
|
365
|
+
/* @__PURE__ */ jsx("div", { className: "ds-stat-label", children: stat.label })
|
|
366
|
+
] }, idx)) })
|
|
367
|
+
] });
|
|
368
|
+
}
|
|
369
|
+
);
|
|
370
|
+
StatsSection.displayName = "StatsSection";
|
|
371
|
+
|
|
372
|
+
export { CTASection, FeatureSection, HeroSection, SectionHeader, SectionShell, StatsSection };
|
|
373
|
+
//# sourceMappingURL=out.js.map
|
|
374
|
+
//# sourceMappingURL=index.js.map
|