@sudobility/components 4.0.30 → 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.
@@ -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"}
@@ -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;AAC1C,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudobility/components",
3
- "version": "4.0.30",
3
+ "version": "4.0.32",
4
4
  "description": "Reusable UI components and design system - Reorganized for better maintainability",
5
5
  "type": "module",
6
6
  "main": "dist/index.umd.js",