@keboola/design 4.1.1 → 4.2.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.
package/dist/index.d.cts CHANGED
@@ -4675,7 +4675,11 @@ declare const AppShell: (({ ref, className, children, ...props }: RootProps$1 &
4675
4675
  Sidebar: ({ ref, className, asChild, children, ...props }: SlotProps & {
4676
4676
  ref?: Ref<ElementRef<"div">>;
4677
4677
  }) => react_jsx_runtime.JSX.Element;
4678
- /** Main content outlet. */
4678
+ /**
4679
+ * Main content outlet. Applies an opinionated default page gutter (`tw-p-6`)
4680
+ * so content looks right out of the box; override the padding (e.g. `tw-p-0`)
4681
+ * when the app owns its own gutter.
4682
+ */
4679
4683
  Main: ({ ref, className, asChild, children, ...props }: SlotProps & {
4680
4684
  ref?: Ref<ElementRef<"main">>;
4681
4685
  }) => react_jsx_runtime.JSX.Element;
@@ -4746,25 +4750,26 @@ declare const PageLayout: (({ ref, className, maxWidth, children, ...props }: Ro
4746
4750
  * single-entity pages with breadcrumbs.
4747
4751
  * **When NOT to use:** for layouts that don't match either pattern, host custom JSX inside
4748
4752
  * `PageLayout.Header` directly. For routing-driven tab rows below the header use `PageLayout.Tabs`.
4749
- * **Composition:** nest inside `PageLayout.Header`. Always opt into `Button argo` for any buttons passed
4750
- * into header slots. The variant types enforce pattern constraints (e.g. `Index` rejects breadcrumbs).
4753
+ * **Composition:** nest inside `PageLayout.Header`. Pass `@keboola/design` `Button`s into the header slots
4754
+ * (chrome is brand-driven). The variant types enforce pattern constraints (e.g. `Index` rejects breadcrumbs).
4751
4755
  *
4752
4756
  * @see RECIPES.md#page-header-tabs — for the canonical page-header + tabs composition
4753
4757
  */
4754
4758
  declare const PageHeader: {
4755
4759
  /** Index variant — top-level list / collection pages. No breadcrumbs; `metadata` wins over `description`. */
4756
- Index: ({ ref, className, title, description, metadata, documentation, action, headerNav, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4760
+ Index: ({ ref, className, title, description, metadata, documentation, action, headerNav, fullWidthDescription, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4757
4761
  title: react.ReactNode;
4758
4762
  description?: react.ReactNode;
4759
4763
  metadata?: react.ReactNode;
4760
4764
  documentation?: react.ReactNode;
4761
4765
  action?: react.ReactNode;
4762
4766
  headerNav?: react.ReactNode;
4767
+ fullWidthDescription?: boolean;
4763
4768
  }) & {
4764
4769
  ref?: react.Ref<react.ElementRef<"header">>;
4765
4770
  }) => react_jsx_runtime.JSX.Element;
4766
4771
  /** Detail variant — single-entity pages with required breadcrumbs and an overflow-actions slot. Max 2 visible actions. */
4767
- Detail: ({ ref, className, breadcrumbs, overflowActions, title, titleIcon, badges, description, compact, primaryAction, secondaryAction, headerNav, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4772
+ Detail: ({ ref, className, breadcrumbs, overflowActions, title, titleIcon, badges, description, compact, primaryAction, secondaryAction, headerNav, fullWidthDescription, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4768
4773
  breadcrumbs: react.ReactNode;
4769
4774
  overflowActions?: react.ReactNode;
4770
4775
  title: react.ReactNode;
@@ -4775,6 +4780,7 @@ declare const PageHeader: {
4775
4780
  primaryAction?: react.ReactNode;
4776
4781
  secondaryAction?: react.ReactNode;
4777
4782
  headerNav?: react.ReactNode;
4783
+ fullWidthDescription?: boolean;
4778
4784
  }) & {
4779
4785
  ref?: react.Ref<react.ElementRef<"header">>;
4780
4786
  }) => react_jsx_runtime.JSX.Element;
@@ -5644,14 +5650,22 @@ declare const Separator: ({ className, orientation, size, label, ...props }: Pro
5644
5650
  declare const navbarClassnames: (props?: ({
5645
5651
  bordered?: boolean | null | undefined;
5646
5652
  } & class_variance_authority_types.ClassProp) | undefined) => string;
5647
- type Props$g = ComponentProps<'header'> & VariantProps<typeof navbarClassnames> & {
5653
+ type Props$g = ComponentProps<'nav'> & VariantProps<typeof navbarClassnames> & {
5648
5654
  accent?: 'blue' | 'purple' | 'green' | 'orange';
5649
5655
  };
5650
5656
  /**
5651
- * WIP: The design is not yet complete, and the implementation is far from finished. Please do not use it.
5652
- * As of now, its usage is hidden behind the feature flag `sidebar-navigation`.
5653
- * Will be based on radix, which handles accessibility: https://www.radix-ui.com/primitives/docs/components/navigation-menu
5654
- * Design (WIP), missing a lot of actual cases: https://www.figma.com/design/HEBm5hXa4AIxcCh5PGKoF9/Main-Navigation?node-id=1568-1126&t=s3RREpciWrKQTL8p-0
5657
+ * Top navigation bar for the app shell. Host inside `<AppShell.Header>` to give a
5658
+ * top-nav (or `keboola-legacy` top-bar) layout its primary navigation, brand mark,
5659
+ * and account/actions area.
5660
+ *
5661
+ * **Composition:** `Navbar.Header` (left — brand / logo), `Navbar.Content` (center —
5662
+ * primary `Navbar.Menu` of `Navbar.MenuItem` + `Navbar.MenuButton`, horizontally
5663
+ * scrollable), and `Navbar.Footer` (right — search, notifications, `Navbar.MenuAvatar`).
5664
+ * `bordered` renders a top accent hairline whose color follows `accent`. Renders a
5665
+ * `<nav>` landmark with a default `aria-label` — override it via `aria-label` /
5666
+ * `aria-labelledby` when a page has more than one nav.
5667
+ *
5668
+ * @see AppShell — pair with `AppShell.Header`; the sidebar rail uses `Sidebar` instead.
5655
5669
  */
5656
5670
  declare const Navbar: {
5657
5671
  ({ className, accent, bordered, ...rest }: Props$g): react_jsx_runtime.JSX.Element;
package/dist/index.d.ts CHANGED
@@ -4675,7 +4675,11 @@ declare const AppShell: (({ ref, className, children, ...props }: RootProps$1 &
4675
4675
  Sidebar: ({ ref, className, asChild, children, ...props }: SlotProps & {
4676
4676
  ref?: Ref<ElementRef<"div">>;
4677
4677
  }) => react_jsx_runtime.JSX.Element;
4678
- /** Main content outlet. */
4678
+ /**
4679
+ * Main content outlet. Applies an opinionated default page gutter (`tw-p-6`)
4680
+ * so content looks right out of the box; override the padding (e.g. `tw-p-0`)
4681
+ * when the app owns its own gutter.
4682
+ */
4679
4683
  Main: ({ ref, className, asChild, children, ...props }: SlotProps & {
4680
4684
  ref?: Ref<ElementRef<"main">>;
4681
4685
  }) => react_jsx_runtime.JSX.Element;
@@ -4746,25 +4750,26 @@ declare const PageLayout: (({ ref, className, maxWidth, children, ...props }: Ro
4746
4750
  * single-entity pages with breadcrumbs.
4747
4751
  * **When NOT to use:** for layouts that don't match either pattern, host custom JSX inside
4748
4752
  * `PageLayout.Header` directly. For routing-driven tab rows below the header use `PageLayout.Tabs`.
4749
- * **Composition:** nest inside `PageLayout.Header`. Always opt into `Button argo` for any buttons passed
4750
- * into header slots. The variant types enforce pattern constraints (e.g. `Index` rejects breadcrumbs).
4753
+ * **Composition:** nest inside `PageLayout.Header`. Pass `@keboola/design` `Button`s into the header slots
4754
+ * (chrome is brand-driven). The variant types enforce pattern constraints (e.g. `Index` rejects breadcrumbs).
4751
4755
  *
4752
4756
  * @see RECIPES.md#page-header-tabs — for the canonical page-header + tabs composition
4753
4757
  */
4754
4758
  declare const PageHeader: {
4755
4759
  /** Index variant — top-level list / collection pages. No breadcrumbs; `metadata` wins over `description`. */
4756
- Index: ({ ref, className, title, description, metadata, documentation, action, headerNav, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4760
+ Index: ({ ref, className, title, description, metadata, documentation, action, headerNav, fullWidthDescription, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4757
4761
  title: react.ReactNode;
4758
4762
  description?: react.ReactNode;
4759
4763
  metadata?: react.ReactNode;
4760
4764
  documentation?: react.ReactNode;
4761
4765
  action?: react.ReactNode;
4762
4766
  headerNav?: react.ReactNode;
4767
+ fullWidthDescription?: boolean;
4763
4768
  }) & {
4764
4769
  ref?: react.Ref<react.ElementRef<"header">>;
4765
4770
  }) => react_jsx_runtime.JSX.Element;
4766
4771
  /** Detail variant — single-entity pages with required breadcrumbs and an overflow-actions slot. Max 2 visible actions. */
4767
- Detail: ({ ref, className, breadcrumbs, overflowActions, title, titleIcon, badges, description, compact, primaryAction, secondaryAction, headerNav, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4772
+ Detail: ({ ref, className, breadcrumbs, overflowActions, title, titleIcon, badges, description, compact, primaryAction, secondaryAction, headerNav, fullWidthDescription, ...props }: (Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, "ref">, "title"> & {
4768
4773
  breadcrumbs: react.ReactNode;
4769
4774
  overflowActions?: react.ReactNode;
4770
4775
  title: react.ReactNode;
@@ -4775,6 +4780,7 @@ declare const PageHeader: {
4775
4780
  primaryAction?: react.ReactNode;
4776
4781
  secondaryAction?: react.ReactNode;
4777
4782
  headerNav?: react.ReactNode;
4783
+ fullWidthDescription?: boolean;
4778
4784
  }) & {
4779
4785
  ref?: react.Ref<react.ElementRef<"header">>;
4780
4786
  }) => react_jsx_runtime.JSX.Element;
@@ -5644,14 +5650,22 @@ declare const Separator: ({ className, orientation, size, label, ...props }: Pro
5644
5650
  declare const navbarClassnames: (props?: ({
5645
5651
  bordered?: boolean | null | undefined;
5646
5652
  } & class_variance_authority_types.ClassProp) | undefined) => string;
5647
- type Props$g = ComponentProps<'header'> & VariantProps<typeof navbarClassnames> & {
5653
+ type Props$g = ComponentProps<'nav'> & VariantProps<typeof navbarClassnames> & {
5648
5654
  accent?: 'blue' | 'purple' | 'green' | 'orange';
5649
5655
  };
5650
5656
  /**
5651
- * WIP: The design is not yet complete, and the implementation is far from finished. Please do not use it.
5652
- * As of now, its usage is hidden behind the feature flag `sidebar-navigation`.
5653
- * Will be based on radix, which handles accessibility: https://www.radix-ui.com/primitives/docs/components/navigation-menu
5654
- * Design (WIP), missing a lot of actual cases: https://www.figma.com/design/HEBm5hXa4AIxcCh5PGKoF9/Main-Navigation?node-id=1568-1126&t=s3RREpciWrKQTL8p-0
5657
+ * Top navigation bar for the app shell. Host inside `<AppShell.Header>` to give a
5658
+ * top-nav (or `keboola-legacy` top-bar) layout its primary navigation, brand mark,
5659
+ * and account/actions area.
5660
+ *
5661
+ * **Composition:** `Navbar.Header` (left — brand / logo), `Navbar.Content` (center —
5662
+ * primary `Navbar.Menu` of `Navbar.MenuItem` + `Navbar.MenuButton`, horizontally
5663
+ * scrollable), and `Navbar.Footer` (right — search, notifications, `Navbar.MenuAvatar`).
5664
+ * `bordered` renders a top accent hairline whose color follows `accent`. Renders a
5665
+ * `<nav>` landmark with a default `aria-label` — override it via `aria-label` /
5666
+ * `aria-labelledby` when a page has more than one nav.
5667
+ *
5668
+ * @see AppShell — pair with `AppShell.Header`; the sidebar rail uses `Sidebar` instead.
5655
5669
  */
5656
5670
  declare const Navbar: {
5657
5671
  ({ className, accent, bordered, ...rest }: Props$g): react_jsx_runtime.JSX.Element;