@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/AGENTS.md +17 -10
- package/dist/index.cjs +4765 -348
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -10
- package/dist/index.d.ts +24 -10
- package/dist/index.js +4504 -87
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
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
|
-
/**
|
|
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`.
|
|
4750
|
-
*
|
|
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<'
|
|
5653
|
+
type Props$g = ComponentProps<'nav'> & VariantProps<typeof navbarClassnames> & {
|
|
5648
5654
|
accent?: 'blue' | 'purple' | 'green' | 'orange';
|
|
5649
5655
|
};
|
|
5650
5656
|
/**
|
|
5651
|
-
*
|
|
5652
|
-
*
|
|
5653
|
-
*
|
|
5654
|
-
*
|
|
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
|
-
/**
|
|
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`.
|
|
4750
|
-
*
|
|
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<'
|
|
5653
|
+
type Props$g = ComponentProps<'nav'> & VariantProps<typeof navbarClassnames> & {
|
|
5648
5654
|
accent?: 'blue' | 'purple' | 'green' | 'orange';
|
|
5649
5655
|
};
|
|
5650
5656
|
/**
|
|
5651
|
-
*
|
|
5652
|
-
*
|
|
5653
|
-
*
|
|
5654
|
-
*
|
|
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;
|