courthive-components 1.3.0 → 1.5.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/components/interactive-scoring/buildInteractiveScoringShell.d.ts +8 -4
- package/dist/components/schedule-page/types.d.ts +3 -0
- package/dist/components/schedule-page/ui/courtGridSlot.d.ts +4 -1
- package/dist/components/schedule-page/ui/styles.d.ts +1 -1
- package/dist/components/scheduling-profile/types.d.ts +3 -0
- package/dist/components/scheduling-profile/ui/styles.d.ts +1 -0
- package/dist/components/scheduling-profile/ui/venueBoard.d.ts +6 -1
- package/dist/courthive-components.css +1 -1
- package/dist/courthive-components.es.js +1503 -1479
- package/dist/courthive-components.umd.js +16 -16
- package/dist/types.d.ts +1 -0
- package/package.json +11 -8
|
@@ -8,10 +8,14 @@ import { InteractiveScoringShell, InteractiveScoringShellConfig } from './types'
|
|
|
8
8
|
* consumers subscribe to `stateChanged` events and handle
|
|
9
9
|
* persistence (IndexedDB in courthive-public's case).
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
* `
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* Any format the factory ScoringEngine accepts is supported here —
|
|
12
|
+
* tennis (`SET3-S:6/TB7`, `SET5-S:6/TB7`), pickleball (`SET3-S:TB11`),
|
|
13
|
+
* badminton (`SET3-S:TB21`), squash (`SET5-S:TB11`), no-ad and short-set
|
|
14
|
+
* variants. Engine state is passed through unchanged by the UI layer;
|
|
15
|
+
* format-specific score caps, win-by-2, and side-out scoring are handled
|
|
16
|
+
* by the engine. See `src/stories/inlineScoringFormats.stories.ts` for
|
|
17
|
+
* the verified format matrix. INTENNSE bolt scoring lives in epixodic's
|
|
18
|
+
* separate `BoltScoringPage` — not adopted into this shell.
|
|
15
19
|
*
|
|
16
20
|
* The DOM structure:
|
|
17
21
|
* ```
|
|
@@ -97,6 +97,9 @@ export interface SchedulePageConfig {
|
|
|
97
97
|
schedulingMode?: SchedulingMode;
|
|
98
98
|
/** Initial visibility of the active strip (one-row court summary above the grid). Defaults to true. */
|
|
99
99
|
activeStripVisible?: boolean;
|
|
100
|
+
/** Consumer-owned buttons rendered right-aligned in the court grid header.
|
|
101
|
+
* Consumer keeps live refs and mutates state (visibility, disabled, label) directly. */
|
|
102
|
+
headerActions?: HTMLElement | HTMLElement[];
|
|
100
103
|
onDateSelected?: (date: string) => void;
|
|
101
104
|
onMatchUpDrop?: (payload: SchedulePageDragPayload, event: DragEvent) => void;
|
|
102
105
|
onMatchUpRemove?: (matchUpId: string) => void;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { SchedulePageState, UIPanel
|
|
1
|
+
import { SchedulePageDragPayload, SchedulePageState, UIPanel } from '../types';
|
|
2
2
|
export interface CourtGridSlotCallbacks {
|
|
3
3
|
onMatchUpDrop?: (payload: SchedulePageDragPayload, event: DragEvent) => void;
|
|
4
4
|
}
|
|
5
5
|
export interface CourtGridSlotOptions {
|
|
6
6
|
gridMaxHeight?: string;
|
|
7
|
+
/** Consumer-owned buttons rendered right-aligned in the header.
|
|
8
|
+
* Consumer keeps live refs and mutates state (visibility, disabled, label) directly. */
|
|
9
|
+
headerActions?: HTMLElement | HTMLElement[];
|
|
7
10
|
}
|
|
8
11
|
export declare function buildCourtGridSlot(courtGridElement: HTMLElement | undefined, callbacks: CourtGridSlotCallbacks, options?: CourtGridSlotOptions): UIPanel<SchedulePageState>;
|
|
@@ -4,7 +4,7 @@ export declare const splToggleStyle: () => string;
|
|
|
4
4
|
export declare const splCenterStyle: () => string;
|
|
5
5
|
export declare const splCenterHeaderStyle: () => string;
|
|
6
6
|
export declare const splCenterTitleStyle: () => string;
|
|
7
|
-
export declare const
|
|
7
|
+
export declare const splCenterActionsStyle: () => string;
|
|
8
8
|
export declare const splGridSlotStyle: () => string;
|
|
9
9
|
export declare const splRightStyle: () => string;
|
|
10
10
|
export declare const splMatchUpCardStyle: () => string;
|
|
@@ -183,6 +183,9 @@ export interface SchedulingProfileConfig {
|
|
|
183
183
|
dependencyAdapter?: DependencyAdapter;
|
|
184
184
|
venueOrder?: string[];
|
|
185
185
|
plannedRoundBehavior?: PlannedRoundBehavior;
|
|
186
|
+
/** Consumer-owned buttons rendered right-aligned in the Day Plan header.
|
|
187
|
+
* Consumer keeps live refs and mutates state (visibility, disabled, label) directly. */
|
|
188
|
+
headerActions?: HTMLElement | HTMLElement[];
|
|
186
189
|
onProfileChanged?: (profile: SchedulingProfile) => void;
|
|
187
190
|
onFixAction?: (action: FixAction) => void;
|
|
188
191
|
}
|
|
@@ -4,6 +4,7 @@ export declare const spPanelStyle: () => string;
|
|
|
4
4
|
export declare const spPanelHeaderStyle: () => string;
|
|
5
5
|
export declare const spPanelTitleStyle: () => string;
|
|
6
6
|
export declare const spPanelMetaStyle: () => string;
|
|
7
|
+
export declare const spPanelActionsStyle: () => string;
|
|
7
8
|
export declare const spPanelBodyStyle: () => string;
|
|
8
9
|
export declare const spDateStripStyle: () => string;
|
|
9
10
|
export declare const spDateChipStyle: () => string;
|
|
@@ -4,4 +4,9 @@ export interface VenueBoardCallbacks {
|
|
|
4
4
|
onCardClick: (locator: RoundLocator) => void;
|
|
5
5
|
onCardContextMenu?: (locator: RoundLocator, target: HTMLElement) => void;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export interface VenueBoardOptions {
|
|
8
|
+
/** Consumer-owned buttons rendered right-aligned in the Day Plan header.
|
|
9
|
+
* Consumer keeps live refs and mutates state (visibility, disabled, label) directly. */
|
|
10
|
+
headerActions?: HTMLElement | HTMLElement[];
|
|
11
|
+
}
|
|
12
|
+
export declare function buildVenueBoard(callbacks: VenueBoardCallbacks, options?: VenueBoardOptions): UIPanel<ProfileStoreState>;
|