@opencxh/ui-kit 3.154.0 → 3.159.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.
@@ -12,6 +12,14 @@ export interface SettingsTrailEntry {
12
12
  title?: string;
13
13
  /** When set, the frame renders the back affordance and calls this. */
14
14
  onBack?: () => void;
15
+ /**
16
+ * Primary actions to draw in the frame header instead of in the panel's own
17
+ * sticky footer — set by `SettingsPage` when it is passed
18
+ * `actionsPlacement="header"`. See that prop for when to reach for it.
19
+ */
20
+ actions?: PageHeaderAction[];
21
+ /** Left-aligned counterpart of {@link actions}, drawn before them. */
22
+ secondaryActions?: PageHeaderAction[];
15
23
  }
16
24
  export interface SettingsFrameApi {
17
25
  /**
@@ -51,6 +59,21 @@ export interface SettingsPageProps {
51
59
  actions?: PageHeaderAction[];
52
60
  /** Left-aligned footer actions, set apart from the primary pair (e.g. Delete). */
53
61
  secondaryActions?: PageHeaderAction[];
62
+ /**
63
+ * Where the actions go. `footer` (the default) is the sticky bar at the
64
+ * bottom of the panel; `header` hands them to the frame so they sit beside
65
+ * the title, which is where the design system puts detail actions.
66
+ *
67
+ * Reach for `header` when the panel's body contains an anchored overlay — a
68
+ * `Select` menu, a `Popover` — inside a `sticky` or `z-index`-bearing element.
69
+ * `position: sticky` creates a stacking context even at `z-index: auto`, so
70
+ * everything inside such an element collapses into one layer that the footer's
71
+ * own `sticky … z-10` then paints over: the menu opens *behind* the bar. The
72
+ * panels are `position: fixed`, so they escape clipping but not stacking.
73
+ * Removing the footer removes the competitor rather than starting a
74
+ * z-index race that neither side can win.
75
+ */
76
+ actionsPlacement?: "footer" | "header";
54
77
  /** Renders the back affordance in the frame header (or inline when unframed). */
55
78
  onBack?: () => void;
56
79
  backLabel?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencxh/ui-kit",
3
- "version": "3.154.0",
3
+ "version": "3.159.0",
4
4
  "description": "Theme-aware UI component library for OpenCXH platform",
5
5
  "type": "module",
6
6
  "exports": {