@naeil/ui 0.3.0 → 0.5.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +22 -2
  2. package/DESIGN.md +27 -0
  3. package/README.md +16 -9
  4. package/THIRD_PARTY_NOTICES.md +6 -0
  5. package/dist/chunk-CE73AEJZ.js +667 -0
  6. package/dist/{chunk-QKVN6Q6C.js → chunk-QSTGUEEI.js} +60 -175
  7. package/dist/chunk-S64H3OYQ.js +1512 -0
  8. package/dist/components/index.d.ts +33 -10
  9. package/dist/components/index.js +101 -557
  10. package/dist/components/naeil-header.d.ts +54 -0
  11. package/dist/components/naeil-header.js +14 -0
  12. package/dist/components/ui/index.d.ts +3 -1
  13. package/dist/components/ui/index.js +40 -179
  14. package/dist/navigation-CL10a6Eb.d.ts +48 -0
  15. package/dist/site-footer-B67meCDv.d.ts +21 -0
  16. package/dist/source/components/brand-artwork.generated.d.ts +162 -0
  17. package/dist/source/components/brand-artwork.generated.js +1103 -0
  18. package/dist/source/components/footer.d.ts +13 -4
  19. package/dist/source/components/footer.js +74 -114
  20. package/dist/source/components/index.d.ts +6 -4
  21. package/dist/source/components/locale-switcher.js +1 -1
  22. package/dist/source/components/logo.d.ts +13 -4
  23. package/dist/source/components/logo.js +83 -44
  24. package/dist/source/components/naeil-header-content.d.ts +171 -0
  25. package/dist/source/components/naeil-header-content.js +176 -0
  26. package/dist/source/components/naeil-header.d.ts +52 -0
  27. package/dist/source/components/naeil-header.js +196 -0
  28. package/dist/source/components/nav.d.ts +12 -4
  29. package/dist/source/components/nav.js +51 -384
  30. package/dist/source/components/ui/index.d.ts +2 -0
  31. package/dist/source/components/ui/index.js +4 -0
  32. package/dist/source/components/ui/navigation.d.ts +48 -0
  33. package/dist/source/components/ui/navigation.js +347 -0
  34. package/dist/source/components/ui/site-footer.d.ts +21 -0
  35. package/dist/source/components/ui/site-footer.js +93 -0
  36. package/docs/components/README.md +6 -1
  37. package/docs/components/common.md +1 -1
  38. package/docs/components/naeil-header.md +50 -0
  39. package/docs/components/navigation.md +59 -0
  40. package/docs/design/public-ui-support.md +17 -2
  41. package/docs/design/v2-migration.md +75 -11
  42. package/docs/package-release.md +54 -13
  43. package/licenses/Lato-OFL.txt +93 -0
  44. package/package.json +18 -4
  45. package/src/styles/components.css +292 -0
  46. package/src/styles/theme.css +4 -0
@@ -1,6 +1,9 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { N as NavigationLink, a as NavigationProps } from '../navigation-CL10a6Eb.js';
3
+ import { S as SiteFooterProps } from '../site-footer-B67meCDv.js';
2
4
  import { ThemeProvider as ThemeProvider$1 } from 'next-themes';
3
5
  import * as React$1 from 'react';
6
+ import { SVGProps } from 'react';
4
7
 
5
8
  interface NavProps {
6
9
  /** Internal Link component (from consumer's next-intl routing) */
@@ -9,11 +12,11 @@ interface NavProps {
9
12
  }>;
10
13
  /** Current pathname value (already resolved, not a hook) */
11
14
  usePathname: () => string;
12
- /** Where the .naeil logo links to. Default: "/" */
15
+ /** Where the naeil logo links to. Default: "/" */
13
16
  brandHref?: string;
14
17
  /** Whether brandHref is external (renders <a>) or internal (renders Link). Default: false */
15
18
  brandExternal?: boolean;
16
- /** Custom brand content (replaces default Logo + ".naeil" text) */
19
+ /** Custom brand content (replaces the default naeil wordmark lockup) */
17
20
  brandSlot?: React.ReactNode;
18
21
  /** When true, project links (except current) are rendered as external <a> to externalBaseUrl. Default: false */
19
22
  projectsExternal?: boolean;
@@ -35,20 +38,32 @@ interface NavProps {
35
38
  showBlog?: boolean;
36
39
  /** Right-side toolbar (theme toggle, locale switcher, etc.) */
37
40
  toolbarSlot?: React.ReactNode;
41
+ /** Replace the legacy naeil project inventory with application-owned links. */
42
+ projects?: NavigationLink[];
43
+ className?: string;
44
+ containerClassName?: string;
45
+ labels?: NavigationProps["labels"];
38
46
  }
39
- declare function Nav({ Link, usePathname, brandHref, brandExternal, brandSlot, projectsExternal, externalBaseUrl, currentProjectKey, currentProjectHref, subNav, authSlot, showProjects, showBlog, toolbarSlot, }: NavProps): react_jsx_runtime.JSX.Element;
47
+ /** Legacy Next/next-intl adapter; the complete branded composition lives in NaeilHeader. */
48
+ declare function Nav({ Link, usePathname, brandHref, brandExternal, brandSlot, projectsExternal, externalBaseUrl, currentProjectKey, currentProjectHref, subNav, authSlot, showProjects, showBlog, toolbarSlot, projects, className, containerClassName, labels, }: NavProps): react_jsx_runtime.JSX.Element;
40
49
 
41
50
  interface FooterProps {
42
- /** Link component from consumer */
43
51
  Link?: React.ComponentType<{
44
52
  href: string;
45
53
  children: React.ReactNode;
46
54
  className?: string;
47
55
  }>;
48
- /** Whether links go to naeil.dev (external) or are internal. Default: false */
49
56
  linksExternal?: boolean;
57
+ brandSlot?: React.ReactNode;
58
+ description?: React.ReactNode;
59
+ groups?: SiteFooterProps["groups"];
60
+ socialSlot?: React.ReactNode;
61
+ meta?: React.ReactNode;
62
+ variant?: SiteFooterProps["variant"];
63
+ className?: string;
64
+ containerClassName?: string;
50
65
  }
51
- declare function Footer({ Link, linksExternal }: FooterProps): react_jsx_runtime.JSX.Element;
66
+ declare function Footer({ Link, linksExternal, brandSlot, description, groups, socialSlot, meta, variant, className, containerClassName, }: FooterProps): react_jsx_runtime.JSX.Element;
52
67
 
53
68
  interface LocaleSwitcherProps {
54
69
  /** Available locales */
@@ -70,11 +85,19 @@ declare function ThemeProvider({ children, ...props }: React.ComponentProps<type
70
85
 
71
86
  declare function ThemeToggleIcon(): react_jsx_runtime.JSX.Element;
72
87
 
73
- declare function Logo({ size, mono, className, }: {
88
+ interface LogoProps extends Omit<SVGProps<SVGSVGElement>, "children" | "width" | "height" | "viewBox"> {
89
+ /** Rendered height. Symbol stays square; lockups preserve their aspect ratio. */
74
90
  size?: number;
91
+ /** Legacy single-ink currentColor silhouette. Prefer tone="gray" for tonal detail. */
75
92
  mono?: boolean;
76
- className?: string;
77
- }): react_jsx_runtime.JSX.Element;
93
+ variant?: "symbol" | "horizontal" | "footer" | "stacked" | "wordmark";
94
+ tone?: "color" | "gray";
95
+ /** Auto follows the nearest .light/.dark or data-theme ancestor, then the OS. */
96
+ theme?: "auto" | "light" | "dark";
97
+ /** null marks a decorative logo; label the containing link instead. */
98
+ label?: string | null;
99
+ }
100
+ declare function Logo({ size, mono, variant, tone, theme, label, className, ...props }: LogoProps): react_jsx_runtime.JSX.Element;
78
101
 
79
102
  type HeadingProps = React$1.HTMLAttributes<HTMLHeadingElement> & {
80
103
  children: React$1.ReactNode;
@@ -84,4 +107,4 @@ declare const sectionTitleClass = "text-foreground text-xl font-semibold";
84
107
  declare function PageTitle({ className, children, ...props }: HeadingProps): react_jsx_runtime.JSX.Element;
85
108
  declare function SectionTitle({ className, children, ...props }: HeadingProps): react_jsx_runtime.JSX.Element;
86
109
 
87
- export { Footer, LocaleSwitcher, Logo, Nav, PageTitle, SectionTitle, ThemeProvider, ThemeToggle, ThemeToggleIcon, pageTitleClass, sectionTitleClass };
110
+ export { Footer, type FooterProps, LocaleSwitcher, Logo, type LogoProps, Nav, type NavProps, PageTitle, SectionTitle, ThemeProvider, ThemeToggle, ThemeToggleIcon, pageTitleClass, sectionTitleClass };