@starasia/admin 11.2.0 → 11.4.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.
@@ -49,6 +49,31 @@ export interface PageLayoutProps extends PropsWithChildren {
49
49
  * (e.g. tab switches) or when the slide-in fights another transition.
50
50
  */
51
51
  disableAnimation?: boolean;
52
+ /**
53
+ * Make PageLayout its own vertical scroll container: it fills the parent's
54
+ * height (`height: 100%`) and scrolls its content with `overflow: auto`.
55
+ *
56
+ * With this on, the header + subHeaders scroll away together with the body,
57
+ * and any `position: sticky; top: 0` element in the body (e.g. a table header)
58
+ * pins to the top of the page — right below the app navbar. Without it
59
+ * (default) PageLayout just grows with its content and relies on an ancestor
60
+ * (app shell / body) to scroll.
61
+ *
62
+ * Requires the parent to have a definite height (the app content slot usually
63
+ * does). Defaults to `false`.
64
+ *
65
+ * Note: a child that needs its OWN horizontal scroll (e.g. a very wide table
66
+ * wrapped in `overflow-x: auto`) will also capture vertical scrolling, so its
67
+ * sticky header pins within that child, not the page. For those, keep the
68
+ * scroll on the child instead of enabling `scrollable` here.
69
+ */
70
+ scrollable?: boolean;
71
+ /**
72
+ * When `scrollable` is on, keep the header region (title + subHeaders) pinned
73
+ * to the top instead of letting it scroll away — a sticky page header below
74
+ * the navbar. No effect unless `scrollable` is also set. Defaults to `false`.
75
+ */
76
+ stickyHeader?: boolean;
52
77
  /**
53
78
  * Extra header rows rendered below the main header. Each row gets the same
54
79
  * padding as the main header (paddingBlock "sm" / paddingInline "md"), an
@@ -62,5 +87,5 @@ export interface PageLayoutProps extends PropsWithChildren {
62
87
  containerProps?: Omit<BoxProps, "variant" | "gap">;
63
88
  headerProps?: Omit<BoxProps, "gap">;
64
89
  }
65
- export declare const PageLayout: React.MemoExoticComponent<({ backButton, title, titleIcon, titleTag, children, header, headerBorder, disableAnimation, subHeaders, action, titleTagProps, containerProps, headerProps, }: PageLayoutProps) => React.JSX.Element>;
90
+ export declare const PageLayout: React.MemoExoticComponent<({ backButton, title, titleIcon, titleTag, children, header, headerBorder, disableAnimation, scrollable, stickyHeader, subHeaders, action, titleTagProps, containerProps, headerProps, }: PageLayoutProps) => React.JSX.Element>;
66
91
  export {};