@dmitriikapustin/ui 0.2.8 → 0.2.10
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/index.cjs +33 -37
- package/dist/index.d.cts +10 -2
- package/dist/index.d.ts +10 -2
- package/dist/index.js +33 -37
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3436,12 +3436,16 @@ function DropdownMenu({
|
|
|
3436
3436
|
}
|
|
3437
3437
|
|
|
3438
3438
|
// css-inject-scss:/Users/dimakozh/Desktop/projects/kapustin.cc/packages/ui/src/organisms/Header.module.scss
|
|
3439
|
-
__styleInject(
|
|
3440
|
-
|
|
3439
|
+
__styleInject(`@charset "UTF-8";
|
|
3440
|
+
/* Header \u2014 pill-style (border + radius + margin) by default */
|
|
3441
|
+
.Header-module_root {
|
|
3442
|
+
margin: clamp(8px, 2vw, 24px);
|
|
3443
|
+
border: 1px solid var(--border-color);
|
|
3444
|
+
border-radius: var(--radius-2xl);
|
|
3441
3445
|
background: color-mix(in srgb, var(--bg) 80%, transparent);
|
|
3442
3446
|
backdrop-filter: blur(12px);
|
|
3443
3447
|
position: sticky;
|
|
3444
|
-
top:
|
|
3448
|
+
top: clamp(8px, 2vw, 24px);
|
|
3445
3449
|
z-index: 50;
|
|
3446
3450
|
}
|
|
3447
3451
|
|
|
@@ -3474,16 +3478,6 @@ __styleInject(`.Header-module_root {
|
|
|
3474
3478
|
gap: 2rem;
|
|
3475
3479
|
}
|
|
3476
3480
|
|
|
3477
|
-
.Header-module_logoFallback {
|
|
3478
|
-
font-size: 1.125rem;
|
|
3479
|
-
font-weight: 700;
|
|
3480
|
-
color: var(--fg);
|
|
3481
|
-
}
|
|
3482
|
-
|
|
3483
|
-
.Header-module_logoBrand {
|
|
3484
|
-
color: var(--brand-primary);
|
|
3485
|
-
}
|
|
3486
|
-
|
|
3487
3481
|
.Header-module_desktopNav {
|
|
3488
3482
|
display: none;
|
|
3489
3483
|
align-items: center;
|
|
@@ -3520,14 +3514,6 @@ __styleInject(`.Header-module_root {
|
|
|
3520
3514
|
|
|
3521
3515
|
.Header-module_mobileToggle {
|
|
3522
3516
|
display: block;
|
|
3523
|
-
padding: 0.5rem;
|
|
3524
|
-
color: var(--fg-secondary);
|
|
3525
|
-
cursor: pointer;
|
|
3526
|
-
background: none;
|
|
3527
|
-
border: none;
|
|
3528
|
-
}
|
|
3529
|
-
.Header-module_mobileToggle:hover {
|
|
3530
|
-
color: var(--fg);
|
|
3531
3517
|
}
|
|
3532
3518
|
@media (min-width: 768px) {
|
|
3533
3519
|
.Header-module_mobileToggle {
|
|
@@ -3605,9 +3591,14 @@ function Header({ logo, navItems = [], actions, className = "" }) {
|
|
|
3605
3591
|
}
|
|
3606
3592
|
|
|
3607
3593
|
// css-inject-scss:/Users/dimakozh/Desktop/projects/kapustin.cc/packages/ui/src/organisms/Footer.module.scss
|
|
3608
|
-
__styleInject(
|
|
3609
|
-
|
|
3594
|
+
__styleInject(`@charset "UTF-8";
|
|
3595
|
+
/* Footer \u2014 pill-style (border + radius + margin) by default */
|
|
3596
|
+
.Footer-module_root {
|
|
3597
|
+
margin: clamp(8px, 2vw, 24px);
|
|
3598
|
+
border: 1px solid var(--border-color);
|
|
3599
|
+
border-radius: var(--radius-2xl);
|
|
3610
3600
|
background: var(--bg);
|
|
3601
|
+
overflow: hidden;
|
|
3611
3602
|
}
|
|
3612
3603
|
|
|
3613
3604
|
.Footer-module_container {
|
|
@@ -3637,18 +3628,13 @@ __styleInject(`.Footer-module_root {
|
|
|
3637
3628
|
}
|
|
3638
3629
|
}
|
|
3639
3630
|
|
|
3640
|
-
.Footer-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
color: var(--fg);
|
|
3644
|
-
}
|
|
3645
|
-
|
|
3646
|
-
.Footer-module_brandAccent {
|
|
3647
|
-
color: var(--brand-primary);
|
|
3631
|
+
.Footer-module_brandCell {
|
|
3632
|
+
display: flex;
|
|
3633
|
+
flex-direction: column;
|
|
3648
3634
|
}
|
|
3649
3635
|
|
|
3650
3636
|
.Footer-module_tagline {
|
|
3651
|
-
margin
|
|
3637
|
+
margin: 0.75rem 0 0 0;
|
|
3652
3638
|
font-size: 13px;
|
|
3653
3639
|
color: var(--fg-muted);
|
|
3654
3640
|
line-height: 1.625;
|
|
@@ -3702,6 +3688,7 @@ __styleInject(`.Footer-module_root {
|
|
|
3702
3688
|
font-size: 13px;
|
|
3703
3689
|
color: var(--fg-muted);
|
|
3704
3690
|
letter-spacing: -0.25px;
|
|
3691
|
+
margin: 0;
|
|
3705
3692
|
}
|
|
3706
3693
|
|
|
3707
3694
|
.Footer-module_socials {
|
|
@@ -3718,7 +3705,7 @@ __styleInject(`.Footer-module_root {
|
|
|
3718
3705
|
.Footer-module_socialLink:hover {
|
|
3719
3706
|
color: var(--fg);
|
|
3720
3707
|
}`);
|
|
3721
|
-
var __default43 = { "root": "Footer-module_root", "container": "Footer-module_container", "grid": "Footer-module_grid", "columnTitle": "Footer-module_columnTitle", "linkList": "Footer-module_linkList", "link": "Footer-module_link", "bottom": "Footer-module_bottom", "copyright": "Footer-module_copyright", "socials": "Footer-module_socials", "socialLink": "Footer-module_socialLink" };
|
|
3708
|
+
var __default43 = { "root": "Footer-module_root", "container": "Footer-module_container", "grid": "Footer-module_grid", "brandCell": "Footer-module_brandCell", "tagline": "Footer-module_tagline", "columnTitle": "Footer-module_columnTitle", "linkList": "Footer-module_linkList", "link": "Footer-module_link", "bottom": "Footer-module_bottom", "copyright": "Footer-module_copyright", "socials": "Footer-module_socials", "socialLink": "Footer-module_socialLink" };
|
|
3722
3709
|
function Footer({
|
|
3723
3710
|
brand,
|
|
3724
3711
|
columns,
|
|
@@ -3726,11 +3713,15 @@ function Footer({
|
|
|
3726
3713
|
copyright,
|
|
3727
3714
|
className = ""
|
|
3728
3715
|
}) {
|
|
3729
|
-
const
|
|
3716
|
+
const hasBrand = !!(brand && (brand.logo || brand.tagline));
|
|
3717
|
+
const hasGrid = hasBrand || columns && columns.length > 0;
|
|
3730
3718
|
const hasBottom = !!copyright || socials && socials.length > 0;
|
|
3731
3719
|
return /* @__PURE__ */ jsxRuntime.jsx("footer", { className: `${__default43.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: __default43.container, children: [
|
|
3732
3720
|
hasGrid && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: __default43.grid, children: [
|
|
3733
|
-
|
|
3721
|
+
hasBrand && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: __default43.brandCell, children: [
|
|
3722
|
+
brand == null ? void 0 : brand.logo,
|
|
3723
|
+
(brand == null ? void 0 : brand.tagline) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: __default43.tagline, children: brand.tagline })
|
|
3724
|
+
] }),
|
|
3734
3725
|
columns == null ? void 0 : columns.map((col) => /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3735
3726
|
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: __default43.columnTitle, children: col.title }),
|
|
3736
3727
|
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: __default43.linkList, children: col.links.map((link) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx("a", { href: link.href, className: __default43.link, children: link.label }) }, link.label)) })
|
|
@@ -8528,18 +8519,23 @@ var __default80 = { "headerMode": "LandingLayout-module_headerMode", "headerMain
|
|
|
8528
8519
|
function LandingLayout({
|
|
8529
8520
|
mode = "header",
|
|
8530
8521
|
nav,
|
|
8522
|
+
footer,
|
|
8531
8523
|
children,
|
|
8532
8524
|
className = ""
|
|
8533
8525
|
}) {
|
|
8534
8526
|
if (mode === "sidebar") {
|
|
8535
8527
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${__default80.sidebarMode}${className ? ` ${className}` : ""}`, children: [
|
|
8536
8528
|
nav && /* @__PURE__ */ jsxRuntime.jsx("div", { className: __default80.sidebarNav, children: nav }),
|
|
8537
|
-
/* @__PURE__ */ jsxRuntime.
|
|
8529
|
+
/* @__PURE__ */ jsxRuntime.jsxs("main", { className: __default80.sidebarMain, children: [
|
|
8530
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: __default80.sidebarContent, children }),
|
|
8531
|
+
footer
|
|
8532
|
+
] })
|
|
8538
8533
|
] });
|
|
8539
8534
|
}
|
|
8540
8535
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `${__default80.headerMode}${className ? ` ${className}` : ""}`, children: [
|
|
8541
8536
|
nav,
|
|
8542
|
-
/* @__PURE__ */ jsxRuntime.jsx("main", { className: __default80.headerMain, children })
|
|
8537
|
+
/* @__PURE__ */ jsxRuntime.jsx("main", { className: __default80.headerMain, children }),
|
|
8538
|
+
footer
|
|
8543
8539
|
] });
|
|
8544
8540
|
}
|
|
8545
8541
|
|
package/dist/index.d.cts
CHANGED
|
@@ -471,9 +471,15 @@ interface FooterSocial {
|
|
|
471
471
|
label: string;
|
|
472
472
|
href: string;
|
|
473
473
|
}
|
|
474
|
+
interface FooterBrand {
|
|
475
|
+
/** Логотип / brand-mark — любой JSX. */
|
|
476
|
+
logo?: ReactNode;
|
|
477
|
+
/** Tagline под логотипом. Применяется внутренний дизайн-стиль (13px, fg-muted, отступ сверху). */
|
|
478
|
+
tagline?: string;
|
|
479
|
+
}
|
|
474
480
|
interface FooterProps {
|
|
475
481
|
/** Brand-cell слева в grid. Если undefined — ячейка не рендерится. */
|
|
476
|
-
brand?:
|
|
482
|
+
brand?: FooterBrand;
|
|
477
483
|
/** Колонки навигации. */
|
|
478
484
|
columns?: FooterColumn[];
|
|
479
485
|
/** Соц-ссылки в нижнем баре. Если undefined / [] — не рендерится. */
|
|
@@ -1035,9 +1041,11 @@ interface LandingLayoutProps {
|
|
|
1035
1041
|
mode?: 'header' | 'sidebar';
|
|
1036
1042
|
/** Navigation element — Header for header mode, Sidebar for sidebar mode */
|
|
1037
1043
|
nav?: ReactNode;
|
|
1044
|
+
/** Footer element. Rendered sibling to `<main>` (full viewport width, без max-width-обёртки). */
|
|
1045
|
+
footer?: ReactNode;
|
|
1038
1046
|
children: ReactNode;
|
|
1039
1047
|
className?: string;
|
|
1040
1048
|
}
|
|
1041
|
-
declare function LandingLayout({ mode, nav, children, className, }: LandingLayoutProps): react_jsx_runtime.JSX.Element;
|
|
1049
|
+
declare function LandingLayout({ mode, nav, footer, children, className, }: LandingLayoutProps): react_jsx_runtime.JSX.Element;
|
|
1042
1050
|
|
|
1043
1051
|
export { Alert, AppCard, AppTopLine, ArticleBarChart, type ArticleBarChartProps, ArticleBody, type ArticleBodyProps, ArticleChatBlock, type ArticleChatBlockProps, ArticleFigure, type ArticleFigureProps, ArticleFooter, type ArticleFooterProps, ArticleHeading, type ArticleHeadingProps, ArticleHero, type ArticleHeroProps, ArticleLayout, type ArticleLayoutProps, ArticleLineChart, type ArticleLineChartProps, ArticleLinkButton, type ArticleLinkButtonProps, ArticleList, type ArticleListProps, ArticleNarrow, ArticleNote, type ArticleNoteProps, ArticleScatterChart, type ArticleScatterChartProps, ArticleTable, type ArticleTableColumn, type ArticleTableProps, type ArticleTableRow, ArticleWide, Avatar, Badge, BentoGrid, Breadcrumbs, Button, CTASection, Card, type ChartSeries, ChatInput, ChatMessage, Checkbox, CodeInput, ComparisonTable, Divider, DropdownMenu, EmptyState, FAQSection, FeatureGrid, Footer, FormField, Gallery, Header, HeroSection, IconBadge, IconButton, IconWithText, IconlyActivity, IconlyAttach, IconlyBook, IconlyCheck, IconlyChevronDown, IconlyChevronLeft, IconlyChevronRight, IconlyClock, IconlyClose, IconlyError, IconlyEye, IconlyEyeOff, IconlyHeart, IconlyInfo, IconlyInfoCircle, IconlyLink, IconlyLock, IconlyMail, IconlyMenu, IconlyMoon, IconlyQuote, IconlyRoadmap, IconlySandbox, IconlySearch, IconlySend, IconlyShield, IconlySmile, IconlyStar, IconlySuccess, IconlySun, IconlyWarning, Input, LandingLayout, Logo, LogoCloud, MenuItem, Modal, Pagination, PasswordInput, PricingCard, ProfileNav, PromoActionCards, PromoBento, PromoDevicesCTA, PromoHero, PromoHeroForm, PromoPricing, PromoShowcase, PromoSplit, PromoTestimonials, PromoTrustGrid, Radio, type ScatterPoint, SearchBar, Select, Sidebar, type SidebarItem, Skeleton, Spinner, StampCard, Stat, StatBadge, StatsBar, Link as StyledLink, Tabs, Tag, TestimonialCard, Textarea, TicketButton, Toast, Toggle, Tooltip, TopPromo };
|
package/dist/index.d.ts
CHANGED
|
@@ -471,9 +471,15 @@ interface FooterSocial {
|
|
|
471
471
|
label: string;
|
|
472
472
|
href: string;
|
|
473
473
|
}
|
|
474
|
+
interface FooterBrand {
|
|
475
|
+
/** Логотип / brand-mark — любой JSX. */
|
|
476
|
+
logo?: ReactNode;
|
|
477
|
+
/** Tagline под логотипом. Применяется внутренний дизайн-стиль (13px, fg-muted, отступ сверху). */
|
|
478
|
+
tagline?: string;
|
|
479
|
+
}
|
|
474
480
|
interface FooterProps {
|
|
475
481
|
/** Brand-cell слева в grid. Если undefined — ячейка не рендерится. */
|
|
476
|
-
brand?:
|
|
482
|
+
brand?: FooterBrand;
|
|
477
483
|
/** Колонки навигации. */
|
|
478
484
|
columns?: FooterColumn[];
|
|
479
485
|
/** Соц-ссылки в нижнем баре. Если undefined / [] — не рендерится. */
|
|
@@ -1035,9 +1041,11 @@ interface LandingLayoutProps {
|
|
|
1035
1041
|
mode?: 'header' | 'sidebar';
|
|
1036
1042
|
/** Navigation element — Header for header mode, Sidebar for sidebar mode */
|
|
1037
1043
|
nav?: ReactNode;
|
|
1044
|
+
/** Footer element. Rendered sibling to `<main>` (full viewport width, без max-width-обёртки). */
|
|
1045
|
+
footer?: ReactNode;
|
|
1038
1046
|
children: ReactNode;
|
|
1039
1047
|
className?: string;
|
|
1040
1048
|
}
|
|
1041
|
-
declare function LandingLayout({ mode, nav, children, className, }: LandingLayoutProps): react_jsx_runtime.JSX.Element;
|
|
1049
|
+
declare function LandingLayout({ mode, nav, footer, children, className, }: LandingLayoutProps): react_jsx_runtime.JSX.Element;
|
|
1042
1050
|
|
|
1043
1051
|
export { Alert, AppCard, AppTopLine, ArticleBarChart, type ArticleBarChartProps, ArticleBody, type ArticleBodyProps, ArticleChatBlock, type ArticleChatBlockProps, ArticleFigure, type ArticleFigureProps, ArticleFooter, type ArticleFooterProps, ArticleHeading, type ArticleHeadingProps, ArticleHero, type ArticleHeroProps, ArticleLayout, type ArticleLayoutProps, ArticleLineChart, type ArticleLineChartProps, ArticleLinkButton, type ArticleLinkButtonProps, ArticleList, type ArticleListProps, ArticleNarrow, ArticleNote, type ArticleNoteProps, ArticleScatterChart, type ArticleScatterChartProps, ArticleTable, type ArticleTableColumn, type ArticleTableProps, type ArticleTableRow, ArticleWide, Avatar, Badge, BentoGrid, Breadcrumbs, Button, CTASection, Card, type ChartSeries, ChatInput, ChatMessage, Checkbox, CodeInput, ComparisonTable, Divider, DropdownMenu, EmptyState, FAQSection, FeatureGrid, Footer, FormField, Gallery, Header, HeroSection, IconBadge, IconButton, IconWithText, IconlyActivity, IconlyAttach, IconlyBook, IconlyCheck, IconlyChevronDown, IconlyChevronLeft, IconlyChevronRight, IconlyClock, IconlyClose, IconlyError, IconlyEye, IconlyEyeOff, IconlyHeart, IconlyInfo, IconlyInfoCircle, IconlyLink, IconlyLock, IconlyMail, IconlyMenu, IconlyMoon, IconlyQuote, IconlyRoadmap, IconlySandbox, IconlySearch, IconlySend, IconlyShield, IconlySmile, IconlyStar, IconlySuccess, IconlySun, IconlyWarning, Input, LandingLayout, Logo, LogoCloud, MenuItem, Modal, Pagination, PasswordInput, PricingCard, ProfileNav, PromoActionCards, PromoBento, PromoDevicesCTA, PromoHero, PromoHeroForm, PromoPricing, PromoShowcase, PromoSplit, PromoTestimonials, PromoTrustGrid, Radio, type ScatterPoint, SearchBar, Select, Sidebar, type SidebarItem, Skeleton, Spinner, StampCard, Stat, StatBadge, StatsBar, Link as StyledLink, Tabs, Tag, TestimonialCard, Textarea, TicketButton, Toast, Toggle, Tooltip, TopPromo };
|
package/dist/index.js
CHANGED
|
@@ -3430,12 +3430,16 @@ function DropdownMenu({
|
|
|
3430
3430
|
}
|
|
3431
3431
|
|
|
3432
3432
|
// css-inject-scss:/Users/dimakozh/Desktop/projects/kapustin.cc/packages/ui/src/organisms/Header.module.scss
|
|
3433
|
-
__styleInject(
|
|
3434
|
-
|
|
3433
|
+
__styleInject(`@charset "UTF-8";
|
|
3434
|
+
/* Header \u2014 pill-style (border + radius + margin) by default */
|
|
3435
|
+
.Header-module_root {
|
|
3436
|
+
margin: clamp(8px, 2vw, 24px);
|
|
3437
|
+
border: 1px solid var(--border-color);
|
|
3438
|
+
border-radius: var(--radius-2xl);
|
|
3435
3439
|
background: color-mix(in srgb, var(--bg) 80%, transparent);
|
|
3436
3440
|
backdrop-filter: blur(12px);
|
|
3437
3441
|
position: sticky;
|
|
3438
|
-
top:
|
|
3442
|
+
top: clamp(8px, 2vw, 24px);
|
|
3439
3443
|
z-index: 50;
|
|
3440
3444
|
}
|
|
3441
3445
|
|
|
@@ -3468,16 +3472,6 @@ __styleInject(`.Header-module_root {
|
|
|
3468
3472
|
gap: 2rem;
|
|
3469
3473
|
}
|
|
3470
3474
|
|
|
3471
|
-
.Header-module_logoFallback {
|
|
3472
|
-
font-size: 1.125rem;
|
|
3473
|
-
font-weight: 700;
|
|
3474
|
-
color: var(--fg);
|
|
3475
|
-
}
|
|
3476
|
-
|
|
3477
|
-
.Header-module_logoBrand {
|
|
3478
|
-
color: var(--brand-primary);
|
|
3479
|
-
}
|
|
3480
|
-
|
|
3481
3475
|
.Header-module_desktopNav {
|
|
3482
3476
|
display: none;
|
|
3483
3477
|
align-items: center;
|
|
@@ -3514,14 +3508,6 @@ __styleInject(`.Header-module_root {
|
|
|
3514
3508
|
|
|
3515
3509
|
.Header-module_mobileToggle {
|
|
3516
3510
|
display: block;
|
|
3517
|
-
padding: 0.5rem;
|
|
3518
|
-
color: var(--fg-secondary);
|
|
3519
|
-
cursor: pointer;
|
|
3520
|
-
background: none;
|
|
3521
|
-
border: none;
|
|
3522
|
-
}
|
|
3523
|
-
.Header-module_mobileToggle:hover {
|
|
3524
|
-
color: var(--fg);
|
|
3525
3511
|
}
|
|
3526
3512
|
@media (min-width: 768px) {
|
|
3527
3513
|
.Header-module_mobileToggle {
|
|
@@ -3599,9 +3585,14 @@ function Header({ logo, navItems = [], actions, className = "" }) {
|
|
|
3599
3585
|
}
|
|
3600
3586
|
|
|
3601
3587
|
// css-inject-scss:/Users/dimakozh/Desktop/projects/kapustin.cc/packages/ui/src/organisms/Footer.module.scss
|
|
3602
|
-
__styleInject(
|
|
3603
|
-
|
|
3588
|
+
__styleInject(`@charset "UTF-8";
|
|
3589
|
+
/* Footer \u2014 pill-style (border + radius + margin) by default */
|
|
3590
|
+
.Footer-module_root {
|
|
3591
|
+
margin: clamp(8px, 2vw, 24px);
|
|
3592
|
+
border: 1px solid var(--border-color);
|
|
3593
|
+
border-radius: var(--radius-2xl);
|
|
3604
3594
|
background: var(--bg);
|
|
3595
|
+
overflow: hidden;
|
|
3605
3596
|
}
|
|
3606
3597
|
|
|
3607
3598
|
.Footer-module_container {
|
|
@@ -3631,18 +3622,13 @@ __styleInject(`.Footer-module_root {
|
|
|
3631
3622
|
}
|
|
3632
3623
|
}
|
|
3633
3624
|
|
|
3634
|
-
.Footer-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
color: var(--fg);
|
|
3638
|
-
}
|
|
3639
|
-
|
|
3640
|
-
.Footer-module_brandAccent {
|
|
3641
|
-
color: var(--brand-primary);
|
|
3625
|
+
.Footer-module_brandCell {
|
|
3626
|
+
display: flex;
|
|
3627
|
+
flex-direction: column;
|
|
3642
3628
|
}
|
|
3643
3629
|
|
|
3644
3630
|
.Footer-module_tagline {
|
|
3645
|
-
margin
|
|
3631
|
+
margin: 0.75rem 0 0 0;
|
|
3646
3632
|
font-size: 13px;
|
|
3647
3633
|
color: var(--fg-muted);
|
|
3648
3634
|
line-height: 1.625;
|
|
@@ -3696,6 +3682,7 @@ __styleInject(`.Footer-module_root {
|
|
|
3696
3682
|
font-size: 13px;
|
|
3697
3683
|
color: var(--fg-muted);
|
|
3698
3684
|
letter-spacing: -0.25px;
|
|
3685
|
+
margin: 0;
|
|
3699
3686
|
}
|
|
3700
3687
|
|
|
3701
3688
|
.Footer-module_socials {
|
|
@@ -3712,7 +3699,7 @@ __styleInject(`.Footer-module_root {
|
|
|
3712
3699
|
.Footer-module_socialLink:hover {
|
|
3713
3700
|
color: var(--fg);
|
|
3714
3701
|
}`);
|
|
3715
|
-
var __default43 = { "root": "Footer-module_root", "container": "Footer-module_container", "grid": "Footer-module_grid", "columnTitle": "Footer-module_columnTitle", "linkList": "Footer-module_linkList", "link": "Footer-module_link", "bottom": "Footer-module_bottom", "copyright": "Footer-module_copyright", "socials": "Footer-module_socials", "socialLink": "Footer-module_socialLink" };
|
|
3702
|
+
var __default43 = { "root": "Footer-module_root", "container": "Footer-module_container", "grid": "Footer-module_grid", "brandCell": "Footer-module_brandCell", "tagline": "Footer-module_tagline", "columnTitle": "Footer-module_columnTitle", "linkList": "Footer-module_linkList", "link": "Footer-module_link", "bottom": "Footer-module_bottom", "copyright": "Footer-module_copyright", "socials": "Footer-module_socials", "socialLink": "Footer-module_socialLink" };
|
|
3716
3703
|
function Footer({
|
|
3717
3704
|
brand,
|
|
3718
3705
|
columns,
|
|
@@ -3720,11 +3707,15 @@ function Footer({
|
|
|
3720
3707
|
copyright,
|
|
3721
3708
|
className = ""
|
|
3722
3709
|
}) {
|
|
3723
|
-
const
|
|
3710
|
+
const hasBrand = !!(brand && (brand.logo || brand.tagline));
|
|
3711
|
+
const hasGrid = hasBrand || columns && columns.length > 0;
|
|
3724
3712
|
const hasBottom = !!copyright || socials && socials.length > 0;
|
|
3725
3713
|
return /* @__PURE__ */ jsx("footer", { className: `${__default43.root}${className ? ` ${className}` : ""}`, children: /* @__PURE__ */ jsxs("div", { className: __default43.container, children: [
|
|
3726
3714
|
hasGrid && /* @__PURE__ */ jsxs("div", { className: __default43.grid, children: [
|
|
3727
|
-
|
|
3715
|
+
hasBrand && /* @__PURE__ */ jsxs("div", { className: __default43.brandCell, children: [
|
|
3716
|
+
brand == null ? void 0 : brand.logo,
|
|
3717
|
+
(brand == null ? void 0 : brand.tagline) && /* @__PURE__ */ jsx("p", { className: __default43.tagline, children: brand.tagline })
|
|
3718
|
+
] }),
|
|
3728
3719
|
columns == null ? void 0 : columns.map((col) => /* @__PURE__ */ jsxs("div", { children: [
|
|
3729
3720
|
/* @__PURE__ */ jsx("h4", { className: __default43.columnTitle, children: col.title }),
|
|
3730
3721
|
/* @__PURE__ */ jsx("ul", { className: __default43.linkList, children: col.links.map((link) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", { href: link.href, className: __default43.link, children: link.label }) }, link.label)) })
|
|
@@ -8522,18 +8513,23 @@ var __default80 = { "headerMode": "LandingLayout-module_headerMode", "headerMain
|
|
|
8522
8513
|
function LandingLayout({
|
|
8523
8514
|
mode = "header",
|
|
8524
8515
|
nav,
|
|
8516
|
+
footer,
|
|
8525
8517
|
children,
|
|
8526
8518
|
className = ""
|
|
8527
8519
|
}) {
|
|
8528
8520
|
if (mode === "sidebar") {
|
|
8529
8521
|
return /* @__PURE__ */ jsxs("div", { className: `${__default80.sidebarMode}${className ? ` ${className}` : ""}`, children: [
|
|
8530
8522
|
nav && /* @__PURE__ */ jsx("div", { className: __default80.sidebarNav, children: nav }),
|
|
8531
|
-
/* @__PURE__ */
|
|
8523
|
+
/* @__PURE__ */ jsxs("main", { className: __default80.sidebarMain, children: [
|
|
8524
|
+
/* @__PURE__ */ jsx("div", { className: __default80.sidebarContent, children }),
|
|
8525
|
+
footer
|
|
8526
|
+
] })
|
|
8532
8527
|
] });
|
|
8533
8528
|
}
|
|
8534
8529
|
return /* @__PURE__ */ jsxs("div", { className: `${__default80.headerMode}${className ? ` ${className}` : ""}`, children: [
|
|
8535
8530
|
nav,
|
|
8536
|
-
/* @__PURE__ */ jsx("main", { className: __default80.headerMain, children })
|
|
8531
|
+
/* @__PURE__ */ jsx("main", { className: __default80.headerMain, children }),
|
|
8532
|
+
footer
|
|
8537
8533
|
] });
|
|
8538
8534
|
}
|
|
8539
8535
|
|
package/package.json
CHANGED