courthive-components 3.14.4 → 3.15.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.
@@ -134,6 +134,12 @@ export interface SchedulePageConfig {
134
134
  * from scratch on each state change — so return a freshly created element rather than
135
135
  * a cached one. Return null to render nothing. Not called when no matchUp is selected. */
136
136
  renderInspectorExtra?: (matchUp: CatalogMatchUpItem, state: SchedulePageState) => HTMLElement | null;
137
+ /** Consumer-supplied detail appended below each catalog card's built-in content.
138
+ * Same contract as `renderInspectorExtra`: called on every card render, so return
139
+ * a freshly created element rather than a cached one. Return null to render
140
+ * nothing. Consumers that build cards themselves (e.g. a Scheduled panel calling
141
+ * `buildMatchUpCard` directly) pass the same function as `MatchUpCardOptions.renderExtra`. */
142
+ renderCardExtra?: (matchUp: CatalogMatchUpItem) => HTMLElement | null;
137
143
  /** Consumer-owned buttons rendered right-aligned in the court grid header.
138
144
  * Consumer keeps live refs and mutates state (visibility, disabled, label) directly. */
139
145
  headerActions?: HTMLElement | HTMLElement[];
@@ -7,6 +7,11 @@ export interface MatchUpCardOptions {
7
7
  * (top-right) and suppress the standard time chip. Used by the schedule
8
8
  * grid's Scheduled tab where the time is the card's primary signal. */
9
9
  prominentTime?: boolean;
10
+ /** Consumer-supplied detail appended below the card's built-in content. Called on
11
+ * every card render — the catalog rebuilds its cards from scratch on each state
12
+ * change — so return a freshly created element rather than a cached one, which
13
+ * would be re-parented rather than reused. Return null to render nothing. */
14
+ renderExtra?: (matchUp: CatalogMatchUpItem) => HTMLElement | null;
10
15
  /** Distance from the earliest unscheduled round within this card's event.
11
16
  * 0 = this round is the next-to-schedule (highest emphasis on the title),
12
17
  * 1 = one round behind, ≥ 2 = further out (lowest emphasis). Mapped to
@@ -7,5 +7,7 @@ export interface MatchUpCatalogCallbacks {
7
7
  onShowScheduledChange?: (show: boolean) => void;
8
8
  onMatchUpSelected?: (matchUp: CatalogMatchUpItem) => void;
9
9
  onDropRemove?: (matchUpId: string) => void;
10
+ /** Forwarded to every card as `MatchUpCardOptions.renderExtra`. See that contract. */
11
+ renderCardExtra?: (matchUp: CatalogMatchUpItem) => HTMLElement | null;
10
12
  }
11
13
  export declare function buildMatchUpCatalog(callbacks: MatchUpCatalogCallbacks): UIPanel<SchedulePageState>;