@dmitriikapustin/ui 0.5.1 → 0.5.2

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 CHANGED
@@ -1747,10 +1747,19 @@ function SegmentedControl({
1747
1747
  }
1748
1748
 
1749
1749
  // css-extract-scss:/Users/dimakozh/Desktop/projects/kapustin.cc/packages/ui/src/organisms/Header.module.scss
1750
- var __default44 = { "root": "Header-module_root", "container": "Header-module_container", "bar": "Header-module_bar", "leftGroup": "Header-module_leftGroup", "desktopNav": "Header-module_desktopNav", "navLink": "Header-module_navLink", "desktopActions": "Header-module_desktopActions", "mobileToggle": "Header-module_mobileToggle", "mobileMenu": "Header-module_mobileMenu", "mobileNav": "Header-module_mobileNav", "mobileActions": "Header-module_mobileActions" };
1751
- function Header({ logo, navItems = [], actions, className = "" }) {
1750
+ var __default44 = { "root": "Header-module_root", "container": "Header-module_container", "bar": "Header-module_bar", "leftGroup": "Header-module_leftGroup", "desktopNav": "Header-module_desktopNav", "navLink": "Header-module_navLink", "desktopActions": "Header-module_desktopActions", "mobileToggle": "Header-module_mobileToggle", "mobileMenu": "Header-module_mobileMenu", "mobileNav": "Header-module_mobileNav", "mobileActions": "Header-module_mobileActions", "minimal": "Header-module_minimal", "dark": "Header-module_dark" };
1751
+ function Header({
1752
+ logo,
1753
+ navItems = [],
1754
+ actions,
1755
+ variant = "pill",
1756
+ theme = "light",
1757
+ className = ""
1758
+ }) {
1752
1759
  const [mobileOpen, setMobileOpen] = react.useState(false);
1753
- return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: `${__default44.root}${className ? ` ${className}` : ""}`, children: [
1760
+ const variantClass = variant === "minimal" ? ` ${__default44.minimal}` : "";
1761
+ const themeClass = variant === "minimal" && theme === "dark" ? ` ${__default44.dark}` : "";
1762
+ return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: `${__default44.root}${variantClass}${themeClass}${className ? ` ${className}` : ""}`, children: [
1754
1763
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: __default44.container, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: __default44.bar, children: [
1755
1764
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: __default44.leftGroup, children: [
1756
1765
  logo,
package/dist/index.d.cts CHANGED
@@ -557,9 +557,22 @@ interface HeaderProps {
557
557
  navItems?: NavItem[];
558
558
  /** Кнопки/контент справа (CTA). Если undefined — блок не рендерится. */
559
559
  actions?: ReactNode;
560
+ /**
561
+ * Визуальный вариант шапки.
562
+ * - `'pill'` (default, BC) — закруглённый pill с border и blur background, margin вокруг.
563
+ * - `'minimal'` — solid full-width, без border/margin (openai.com-style). При hover на один nav-link остальные становятся серыми.
564
+ */
565
+ variant?: 'pill' | 'minimal';
566
+ /**
567
+ * Цветовая тема. Применяется только при `variant='minimal'` — переопределяет bg/fg
568
+ * локально, независимо от глобальной темы страницы.
569
+ * - `'light'` (default) — белый фон, тёмный текст.
570
+ * - `'dark'` — тёмный фон (`--neutral-900`), светлый текст.
571
+ */
572
+ theme?: 'light' | 'dark';
560
573
  className?: string;
561
574
  }
562
- declare function Header({ logo, navItems, actions, className }: HeaderProps): react_jsx_runtime.JSX.Element;
575
+ declare function Header({ logo, navItems, actions, variant, theme, className, }: HeaderProps): react_jsx_runtime.JSX.Element;
563
576
 
564
577
  interface FooterColumn {
565
578
  title: string;
package/dist/index.d.ts CHANGED
@@ -557,9 +557,22 @@ interface HeaderProps {
557
557
  navItems?: NavItem[];
558
558
  /** Кнопки/контент справа (CTA). Если undefined — блок не рендерится. */
559
559
  actions?: ReactNode;
560
+ /**
561
+ * Визуальный вариант шапки.
562
+ * - `'pill'` (default, BC) — закруглённый pill с border и blur background, margin вокруг.
563
+ * - `'minimal'` — solid full-width, без border/margin (openai.com-style). При hover на один nav-link остальные становятся серыми.
564
+ */
565
+ variant?: 'pill' | 'minimal';
566
+ /**
567
+ * Цветовая тема. Применяется только при `variant='minimal'` — переопределяет bg/fg
568
+ * локально, независимо от глобальной темы страницы.
569
+ * - `'light'` (default) — белый фон, тёмный текст.
570
+ * - `'dark'` — тёмный фон (`--neutral-900`), светлый текст.
571
+ */
572
+ theme?: 'light' | 'dark';
560
573
  className?: string;
561
574
  }
562
- declare function Header({ logo, navItems, actions, className }: HeaderProps): react_jsx_runtime.JSX.Element;
575
+ declare function Header({ logo, navItems, actions, variant, theme, className, }: HeaderProps): react_jsx_runtime.JSX.Element;
563
576
 
564
577
  interface FooterColumn {
565
578
  title: string;
package/dist/index.js CHANGED
@@ -1741,10 +1741,19 @@ function SegmentedControl({
1741
1741
  }
1742
1742
 
1743
1743
  // css-extract-scss:/Users/dimakozh/Desktop/projects/kapustin.cc/packages/ui/src/organisms/Header.module.scss
1744
- var __default44 = { "root": "Header-module_root", "container": "Header-module_container", "bar": "Header-module_bar", "leftGroup": "Header-module_leftGroup", "desktopNav": "Header-module_desktopNav", "navLink": "Header-module_navLink", "desktopActions": "Header-module_desktopActions", "mobileToggle": "Header-module_mobileToggle", "mobileMenu": "Header-module_mobileMenu", "mobileNav": "Header-module_mobileNav", "mobileActions": "Header-module_mobileActions" };
1745
- function Header({ logo, navItems = [], actions, className = "" }) {
1744
+ var __default44 = { "root": "Header-module_root", "container": "Header-module_container", "bar": "Header-module_bar", "leftGroup": "Header-module_leftGroup", "desktopNav": "Header-module_desktopNav", "navLink": "Header-module_navLink", "desktopActions": "Header-module_desktopActions", "mobileToggle": "Header-module_mobileToggle", "mobileMenu": "Header-module_mobileMenu", "mobileNav": "Header-module_mobileNav", "mobileActions": "Header-module_mobileActions", "minimal": "Header-module_minimal", "dark": "Header-module_dark" };
1745
+ function Header({
1746
+ logo,
1747
+ navItems = [],
1748
+ actions,
1749
+ variant = "pill",
1750
+ theme = "light",
1751
+ className = ""
1752
+ }) {
1746
1753
  const [mobileOpen, setMobileOpen] = useState(false);
1747
- return /* @__PURE__ */ jsxs("header", { className: `${__default44.root}${className ? ` ${className}` : ""}`, children: [
1754
+ const variantClass = variant === "minimal" ? ` ${__default44.minimal}` : "";
1755
+ const themeClass = variant === "minimal" && theme === "dark" ? ` ${__default44.dark}` : "";
1756
+ return /* @__PURE__ */ jsxs("header", { className: `${__default44.root}${variantClass}${themeClass}${className ? ` ${className}` : ""}`, children: [
1748
1757
  /* @__PURE__ */ jsx("div", { className: __default44.container, children: /* @__PURE__ */ jsxs("div", { className: __default44.bar, children: [
1749
1758
  /* @__PURE__ */ jsxs("div", { className: __default44.leftGroup, children: [
1750
1759
  logo,