@sudobility/components 4.0.31 → 4.0.32
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.esm.js +4155 -4056
- package/dist/index.umd.js +11 -11
- package/dist/layout/Footer/Footer.d.ts +34 -0
- package/dist/layout/Footer/Footer.d.ts.map +1 -0
- package/dist/layout/Footer/FooterSlots.d.ts +76 -0
- package/dist/layout/Footer/FooterSlots.d.ts.map +1 -0
- package/dist/layout/Footer/index.d.ts +62 -0
- package/dist/layout/Footer/index.d.ts.map +1 -0
- package/dist/layout/index.d.ts +1 -0
- package/dist/layout/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
export type FooterVariant = 'full' | 'compact';
|
|
3
|
+
export interface FooterProps {
|
|
4
|
+
/** Footer variant - full for landing pages, compact for app pages */
|
|
5
|
+
variant?: FooterVariant;
|
|
6
|
+
/** Whether the footer should stick to the bottom */
|
|
7
|
+
sticky?: boolean;
|
|
8
|
+
/** Additional CSS classes */
|
|
9
|
+
className?: string;
|
|
10
|
+
/** Footer content */
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Footer - Main footer container component
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Full footer for landing pages
|
|
19
|
+
* <Footer variant="full">
|
|
20
|
+
* <FooterGrid>
|
|
21
|
+
* <FooterBrand>...</FooterBrand>
|
|
22
|
+
* <FooterLinkSection title="Platform">...</FooterLinkSection>
|
|
23
|
+
* </FooterGrid>
|
|
24
|
+
* <FooterBottom>...</FooterBottom>
|
|
25
|
+
* </Footer>
|
|
26
|
+
*
|
|
27
|
+
* // Compact footer for app pages
|
|
28
|
+
* <Footer variant="compact" sticky>
|
|
29
|
+
* <FooterCompact>...</FooterCompact>
|
|
30
|
+
* </Footer>
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare const Footer: React.FC<FooterProps>;
|
|
34
|
+
//# sourceMappingURL=Footer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../../src/layout/Footer/Footer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAuBxC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { default as React, ReactNode } from 'react';
|
|
2
|
+
interface SlotProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* FooterGrid - Grid container for full footer columns
|
|
8
|
+
*/
|
|
9
|
+
export declare const FooterGrid: React.FC<SlotProps>;
|
|
10
|
+
/**
|
|
11
|
+
* FooterBrand - Brand/logo section with description
|
|
12
|
+
*/
|
|
13
|
+
export interface FooterBrandProps extends SlotProps {
|
|
14
|
+
/** Description text below the logo */
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const FooterBrand: React.FC<FooterBrandProps>;
|
|
18
|
+
/**
|
|
19
|
+
* FooterLinkSection - A column of links with a title
|
|
20
|
+
*/
|
|
21
|
+
export interface FooterLinkSectionProps extends SlotProps {
|
|
22
|
+
/** Section title */
|
|
23
|
+
title: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const FooterLinkSection: React.FC<FooterLinkSectionProps>;
|
|
26
|
+
/**
|
|
27
|
+
* FooterLink - Individual link item in a section
|
|
28
|
+
*/
|
|
29
|
+
export interface FooterLinkProps {
|
|
30
|
+
/** Link content */
|
|
31
|
+
children: ReactNode;
|
|
32
|
+
/** Additional CSS classes */
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const FooterLink: React.FC<FooterLinkProps>;
|
|
36
|
+
/**
|
|
37
|
+
* FooterBottom - Bottom bar with copyright, version, etc.
|
|
38
|
+
*/
|
|
39
|
+
export declare const FooterBottom: React.FC<SlotProps>;
|
|
40
|
+
/**
|
|
41
|
+
* FooterCompact - Layout for compact footer variant
|
|
42
|
+
*/
|
|
43
|
+
export declare const FooterCompact: React.FC<SlotProps>;
|
|
44
|
+
/**
|
|
45
|
+
* FooterCompactLeft - Left side of compact footer (version, copyright, status)
|
|
46
|
+
*/
|
|
47
|
+
export declare const FooterCompactLeft: React.FC<SlotProps>;
|
|
48
|
+
/**
|
|
49
|
+
* FooterCompactRight - Right side of compact footer (links)
|
|
50
|
+
*/
|
|
51
|
+
export declare const FooterCompactRight: React.FC<SlotProps>;
|
|
52
|
+
/**
|
|
53
|
+
* FooterVersion - Version display
|
|
54
|
+
*/
|
|
55
|
+
export interface FooterVersionProps {
|
|
56
|
+
version: string;
|
|
57
|
+
className?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const FooterVersion: React.FC<FooterVersionProps>;
|
|
60
|
+
/**
|
|
61
|
+
* FooterCopyright - Copyright text with optional link
|
|
62
|
+
*/
|
|
63
|
+
export interface FooterCopyrightProps {
|
|
64
|
+
/** Year or year range (e.g., "2025" or "2025-2026") */
|
|
65
|
+
year: string;
|
|
66
|
+
/** Company/owner name */
|
|
67
|
+
companyName: string;
|
|
68
|
+
/** Rights text (e.g., "All rights reserved") */
|
|
69
|
+
rightsText?: string;
|
|
70
|
+
/** Link component wrapping company name */
|
|
71
|
+
companyLink?: ReactNode;
|
|
72
|
+
className?: string;
|
|
73
|
+
}
|
|
74
|
+
export declare const FooterCopyright: React.FC<FooterCopyrightProps>;
|
|
75
|
+
export {};
|
|
76
|
+
//# sourceMappingURL=FooterSlots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FooterSlots.d.ts","sourceRoot":"","sources":["../../../src/layout/Footer/FooterSlots.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,UAAU,SAAS;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAI1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAWlD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAa9D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAShD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAc5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAW7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAWjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAOlD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAKtD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAc1D,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Footer Components - Flexible, responsive footer
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import {
|
|
7
|
+
* Footer,
|
|
8
|
+
* FooterGrid,
|
|
9
|
+
* FooterBrand,
|
|
10
|
+
* FooterLinkSection,
|
|
11
|
+
* FooterLink,
|
|
12
|
+
* FooterBottom,
|
|
13
|
+
* FooterCompact,
|
|
14
|
+
* FooterCompactLeft,
|
|
15
|
+
* FooterCompactRight,
|
|
16
|
+
* FooterVersion,
|
|
17
|
+
* FooterCopyright,
|
|
18
|
+
* } from '@sudobility/components';
|
|
19
|
+
*
|
|
20
|
+
* // Full footer
|
|
21
|
+
* function LandingFooter() {
|
|
22
|
+
* return (
|
|
23
|
+
* <Footer variant="full">
|
|
24
|
+
* <FooterGrid>
|
|
25
|
+
* <FooterBrand description="Your app description">
|
|
26
|
+
* <Logo />
|
|
27
|
+
* </FooterBrand>
|
|
28
|
+
* <FooterLinkSection title="Platform">
|
|
29
|
+
* <FooterLink><Link to="/about">About</Link></FooterLink>
|
|
30
|
+
* <FooterLink><Link to="/docs">Docs</Link></FooterLink>
|
|
31
|
+
* </FooterLinkSection>
|
|
32
|
+
* </FooterGrid>
|
|
33
|
+
* <FooterBottom>
|
|
34
|
+
* <FooterVersion version="1.0.0" />
|
|
35
|
+
* <FooterCopyright year="2025" companyName="Company" />
|
|
36
|
+
* </FooterBottom>
|
|
37
|
+
* </Footer>
|
|
38
|
+
* );
|
|
39
|
+
* }
|
|
40
|
+
*
|
|
41
|
+
* // Compact footer
|
|
42
|
+
* function AppFooter() {
|
|
43
|
+
* return (
|
|
44
|
+
* <Footer variant="compact" sticky>
|
|
45
|
+
* <FooterCompact>
|
|
46
|
+
* <FooterCompactLeft>
|
|
47
|
+
* <FooterVersion version="1.0.0" />
|
|
48
|
+
* <FooterCopyright year="2025" companyName="Company" />
|
|
49
|
+
* </FooterCompactLeft>
|
|
50
|
+
* <FooterCompactRight>
|
|
51
|
+
* <Link to="/privacy">Privacy</Link>
|
|
52
|
+
* <Link to="/terms">Terms</Link>
|
|
53
|
+
* </FooterCompactRight>
|
|
54
|
+
* </FooterCompact>
|
|
55
|
+
* </Footer>
|
|
56
|
+
* );
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export { Footer, type FooterProps, type FooterVariant } from './Footer';
|
|
61
|
+
export { FooterGrid, FooterBrand, type FooterBrandProps, FooterLinkSection, type FooterLinkSectionProps, FooterLink, type FooterLinkProps, FooterBottom, FooterCompact, FooterCompactLeft, FooterCompactRight, FooterVersion, type FooterVersionProps, FooterCopyright, type FooterCopyrightProps, } from './FooterSlots';
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/Footer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EACL,UAAU,EACV,WAAW,EACX,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,UAAU,EACV,KAAK,eAAe,EACpB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,KAAK,kBAAkB,EACvB,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,eAAe,CAAC"}
|
package/dist/layout/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export { StandardPageLayout } from './StandardPageLayout';
|
|
5
5
|
export { PageHeader } from './PageHeader';
|
|
6
|
+
export { Footer, type FooterProps, type FooterVariant, FooterGrid, FooterBrand, type FooterBrandProps, FooterLinkSection, type FooterLinkSectionProps, FooterLink, type FooterLinkProps, FooterBottom, FooterCompact, FooterCompactLeft, FooterCompactRight, FooterVersion, type FooterVersionProps, FooterCopyright, type FooterCopyrightProps, } from './Footer';
|
|
6
7
|
export { MasterDetailLayout, type MasterDetailLayoutProps, MasterListItem, type MasterListItemProps, } from './MasterDetailLayout';
|
|
7
8
|
export { Topbar, type TopbarProps, type TopbarVariant, TopbarProvider, useTopbar, TopbarContext, type TopbarProviderProps, TopbarLeft, TopbarCenter, TopbarRight, TopbarMobileContent, TopbarDivider, TopbarLogo, type TopbarLogoProps, TopbarMenuToggle, type TopbarMenuToggleProps, TopbarNav, TopbarMobileNav, type TopbarNavProps, type TopbarNavItem, type TopbarMobileNavProps, TopbarNavigation, type TopbarNavigationProps, TopbarActions, TopbarIconButton, TopbarSearch, type TopbarActionsProps, type TopbarIconButtonProps, type TopbarSearchProps, } from './Topbar';
|
|
8
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,UAAU,EACV,WAAW,EACX,KAAK,gBAAgB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,UAAU,EACV,KAAK,eAAe,EACpB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,KAAK,kBAAkB,EACvB,eAAe,EACf,KAAK,oBAAoB,GAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,EAC5B,cAAc,EACd,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,cAAc,EACd,SAAS,EACT,aAAa,EACb,KAAK,mBAAmB,EACxB,UAAU,EACV,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,KAAK,eAAe,EACpB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,SAAS,EACT,eAAe,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
|