@homebound/beam 4.6.0 → 4.7.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
@@ -7793,23 +7793,28 @@ declare const filterTestIdPrefix = "filter";
7793
7793
  * Labels are `string` so actions can collapse into a `ButtonMenu` on mobile.
7794
7794
  * Icon actions always render with the `outline` `IconButton` variant, so `variant` is omitted here.
7795
7795
  */
7796
+ type HeaderActionKeepVisible = {
7797
+ /** At `sm`, render this action below the title instead of collapsing it into the overflow menu. */
7798
+ keepVisible?: boolean;
7799
+ };
7796
7800
  type HeaderAction = ({
7797
7801
  kind?: "default";
7798
- } & Omit<ButtonProps, "label"> & {
7802
+ } & HeaderActionKeepVisible & Omit<ButtonProps, "label"> & {
7799
7803
  label: string;
7800
7804
  }) | ({
7801
7805
  kind: "icon";
7802
- } & Omit<IconButtonProps, "variant" | "label"> & {
7806
+ } & HeaderActionKeepVisible & Omit<IconButtonProps, "variant" | "label"> & {
7803
7807
  label: string;
7804
7808
  }) | ({
7805
7809
  kind: "menu";
7806
- } & ButtonMenuProps);
7810
+ } & HeaderActionKeepVisible & ButtonMenuProps);
7807
7811
 
7808
7812
  type ContentHeaderXss = Xss<Padding>;
7809
7813
  type ContentHeaderLevel = 2 | 3 | 4;
7810
7814
  type ContentHeaderProps<X = ContentHeaderXss> = {
7811
7815
  title?: string;
7812
7816
  description?: ReactNode;
7817
+ /** Right slot on desktop; `keepVisible` actions move to the bottom slot at `sm`. */
7813
7818
  actions?: HeaderAction[];
7814
7819
  /** When true, prepends `AutoSaveIndicator` in the actions area. */
7815
7820
  withAutoSave?: boolean;
@@ -10585,7 +10590,7 @@ type BaseHeaderProps = {
10585
10590
  };
10586
10591
 
10587
10592
  type PageHeaderProps<V extends string, X> = Omit<BaseHeaderProps, "bottomSlot"> & {
10588
- /** Rendered as buttons on desktop; two or more collapse into a `ButtonMenu` at `sm`. */
10593
+ /** Buttons on desktop; two or more collapse into a overflow menu at `sm`. `keepVisible` actions stay in the bottom slot on mobile. */
10589
10594
  actions?: HeaderAction[];
10590
10595
  tabs?: Omit<TabsProps<V, X>, "contentXss" | "omitFullBleedPadding" | "includeBottomBorder"> | Omit<RouteTabsProps<V, X>, "contentXss" | "omitFullBleedPadding" | "includeBottomBorder">;
10591
10596
  };
package/dist/index.d.ts CHANGED
@@ -7793,23 +7793,28 @@ declare const filterTestIdPrefix = "filter";
7793
7793
  * Labels are `string` so actions can collapse into a `ButtonMenu` on mobile.
7794
7794
  * Icon actions always render with the `outline` `IconButton` variant, so `variant` is omitted here.
7795
7795
  */
7796
+ type HeaderActionKeepVisible = {
7797
+ /** At `sm`, render this action below the title instead of collapsing it into the overflow menu. */
7798
+ keepVisible?: boolean;
7799
+ };
7796
7800
  type HeaderAction = ({
7797
7801
  kind?: "default";
7798
- } & Omit<ButtonProps, "label"> & {
7802
+ } & HeaderActionKeepVisible & Omit<ButtonProps, "label"> & {
7799
7803
  label: string;
7800
7804
  }) | ({
7801
7805
  kind: "icon";
7802
- } & Omit<IconButtonProps, "variant" | "label"> & {
7806
+ } & HeaderActionKeepVisible & Omit<IconButtonProps, "variant" | "label"> & {
7803
7807
  label: string;
7804
7808
  }) | ({
7805
7809
  kind: "menu";
7806
- } & ButtonMenuProps);
7810
+ } & HeaderActionKeepVisible & ButtonMenuProps);
7807
7811
 
7808
7812
  type ContentHeaderXss = Xss<Padding>;
7809
7813
  type ContentHeaderLevel = 2 | 3 | 4;
7810
7814
  type ContentHeaderProps<X = ContentHeaderXss> = {
7811
7815
  title?: string;
7812
7816
  description?: ReactNode;
7817
+ /** Right slot on desktop; `keepVisible` actions move to the bottom slot at `sm`. */
7813
7818
  actions?: HeaderAction[];
7814
7819
  /** When true, prepends `AutoSaveIndicator` in the actions area. */
7815
7820
  withAutoSave?: boolean;
@@ -10585,7 +10590,7 @@ type BaseHeaderProps = {
10585
10590
  };
10586
10591
 
10587
10592
  type PageHeaderProps<V extends string, X> = Omit<BaseHeaderProps, "bottomSlot"> & {
10588
- /** Rendered as buttons on desktop; two or more collapse into a `ButtonMenu` at `sm`. */
10593
+ /** Buttons on desktop; two or more collapse into a overflow menu at `sm`. `keepVisible` actions stay in the bottom slot on mobile. */
10589
10594
  actions?: HeaderAction[];
10590
10595
  tabs?: Omit<TabsProps<V, X>, "contentXss" | "omitFullBleedPadding" | "includeBottomBorder"> | Omit<RouteTabsProps<V, X>, "contentXss" | "omitFullBleedPadding" | "includeBottomBorder">;
10591
10596
  };