@almadar/ui 5.155.0 → 5.156.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.
@@ -18,7 +18,7 @@ export { D as DEFAULT_SLOTS, S as SlotAnimation, a as SlotChangeCallback, c as S
18
18
  export { ALMADAR_DND_MIME, AuthContextValue, AuthUser, CanvasGestureCallbacks, CanvasGestureHandlers, CompileResult, CompileStage, DragReorderResult, DraggablePayload, Extension, ExtensionManifest, FileSystemFile, FileSystemStatus, GitHubRepo, GitHubStatus, HistoryChangeSummary, HistoryTimelineItem, I18nContextValue, I18nProvider, InfiniteScrollOptions, InfiniteScrollResult, LongPressHandlers, LongPressOptions, OpenFile, Positioned, PullToRefreshOptions, PullToRefreshResult, QuerySingletonEntity, QuerySingletonResult, QuerySingletonState, QueryState, RenderInterpolationHandle, RenderInterpolationOptions, RevertResult, SelectedFile, SharedEntityStore, SharedEntityStoreContext, SharedEntitySubscriber, SharedEntityWriter, SwipeGestureOptions, SwipeGestureResult, SwipeHandlers, TapRevealOptions, TapRevealResult, TraitListenSpec, TranslateFunction, UseCanvasGesturesOptions, UseCompileResult, UseDraggableOptions, UseDraggableResult, UseDropZoneOptions, UseDropZoneResult, UseExtensionsOptions, UseExtensionsResult, UseFileEditorOptions, UseFileEditorResult, UseFileSystemResult, UseOrbitalHistoryOptions, UseOrbitalHistoryResult, createSharedEntityStore, createTranslate, parseQueryBinding, runTickFrame, useAgentChat, useAuthContext, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInfiniteScroll, useLongPress, useMediaQuery, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useSwipeGesture, useTapReveal, useTraitListens, useTranslate, useUIEvents, useValidation } from '../hooks/index.cjs';
19
19
  export { u as useEmitEvent, a as useEventBus, b as useEventListener } from '../useEventBus-Ckr4wqW3.cjs';
20
20
  export { E as EventBusContextType } from '../event-bus-types-Bl78kokd.cjs';
21
- export { a as NavStackApi, u as useNavStack } from '../NavStackContext-BoVV9nWb.cjs';
21
+ export { a as NavStackApi, u as useNavStack } from '../NavStackContext-bw2nlBgT.cjs';
22
22
  import 'three';
23
23
  import 'clsx';
24
24
  import '@tanstack/react-query';
@@ -2271,9 +2271,11 @@ interface ControlGridProps {
2271
2271
  directionAssets?: Partial<Record<DPadDirection, Asset>>;
2272
2272
  size?: 'sm' | 'md' | 'lg';
2273
2273
  disabled?: boolean;
2274
+ /** "auto" (default) renders only on coarse-pointer (touch) devices; "always" renders everywhere. */
2275
+ visibility?: 'auto' | 'always';
2274
2276
  className?: string;
2275
2277
  }
2276
- declare function ControlGrid({ kind, buttons, layout, includeDiagonals, onAction, actionEvent, onDirection, directionEvent, directionEvents, directionReleaseEvents, directionAssets, size, disabled, className, }: ControlGridProps): React$1.JSX.Element;
2278
+ declare function ControlGrid({ kind, buttons, layout, includeDiagonals, onAction, actionEvent, onDirection, directionEvent, directionEvents, directionReleaseEvents, directionAssets, size, disabled, visibility, className, }: ControlGridProps): React$1.JSX.Element | null;
2277
2279
  declare namespace ControlGrid {
2278
2280
  var displayName: string;
2279
2281
  }
@@ -2354,12 +2356,17 @@ interface GameHudProps {
2354
2356
  elements?: readonly GameHudElement[];
2355
2357
  /** Size variant */
2356
2358
  size?: "sm" | "md" | "lg";
2359
+ /**
2360
+ * Layout variant: "floating" (default) renders a compact pill cluster that hugs
2361
+ * its content width; "bar" preserves the legacy full-width split bar.
2362
+ */
2363
+ variant?: "floating" | "bar";
2357
2364
  /** Additional CSS classes */
2358
2365
  className?: string;
2359
2366
  /** Whether to use a semi-transparent background */
2360
2367
  transparent?: boolean;
2361
2368
  }
2362
- declare function GameHud({ position: propPosition, stats: propStats, items, elements, size, className, transparent, }: GameHudProps): React$1.JSX.Element;
2369
+ declare function GameHud({ position: propPosition, stats: propStats, items, elements, size, variant, className, transparent, }: GameHudProps): React$1.JSX.Element;
2363
2370
  declare namespace GameHud {
2364
2371
  var displayName: string;
2365
2372
  }
@@ -3455,13 +3462,13 @@ declare const ALL_PRESETS: PhysicsPreset[];
3455
3462
  interface GameShellProps {
3456
3463
  /** Application / game title shown as a floating chip */
3457
3464
  appName?: string;
3458
- /** Stat chips row — floats along the top edge */
3465
+ /** Stat chips row — floats along the top edge. Legacy chrome surface: new behaviors emit HUD chrome via `render-ui "hud-top"` instead. */
3459
3466
  hud?: React__default.ReactNode;
3460
- /** Action cluster — floats bottom-right (End Turn, Fire, Reset, …) */
3467
+ /** Action cluster — floats bottom-right (End Turn, Fire, Reset, …). Legacy chrome surface: new behaviors emit action chrome via `render-ui "hud-bottom"` or `"floating"` instead. */
3461
3468
  addons?: React__default.ReactNode;
3462
- /** Movement controls — floats bottom-left (d-pad / control-grid). */
3469
+ /** Movement controls — floats bottom-left (d-pad / control-grid). Legacy chrome surface: new behaviors emit movement controls via `render-ui "hud-bottom"` instead. */
3463
3470
  controls?: React__default.ReactNode;
3464
- /** Centered overlay layer (victory/defeat banners, dialogs). */
3471
+ /** Centered overlay layer (victory/defeat banners, dialogs). Legacy chrome surface: new behaviors emit overlays via `render-ui "overlay"` (clear with `render-ui "overlay" null` on every exit) instead. */
3465
3472
  overlay?: React__default.ReactNode;
3466
3473
  /** Extra class name on the root container */
3467
3474
  className?: string;
@@ -3473,7 +3480,7 @@ interface GameShellProps {
3473
3480
  backgroundAsset?: Asset;
3474
3481
  /** Per-call-site 9-sliced panel override. Chrome normally comes from the active theme; most callers leave this unset. */
3475
3482
  hudBackgroundAsset?: Asset;
3476
- /** Game font key (future | future-narrow | pixel | blocks | mini) or a CSS font-family. */
3483
+ /** Game display-font key (future | future-narrow | pixel | blocks | mini) or a CSS font-family. Scoped override of the theme contract's --font-family-display slot: titles and numerics take this face, body text follows the active theme. */
3477
3484
  fontFamily?: string;
3478
3485
  /** Scopes an `@almadar/ui` theme (e.g. "game-sci-fi-dark") to this shell's subtree. */
3479
3486
  "data-theme"?: string;
@@ -5492,6 +5499,11 @@ interface CalendarGridProps {
5492
5499
  titleField?: string;
5493
5500
  /** Row field holding the start timestamp (ISO or epoch). Defaults to `startTime`. */
5494
5501
  startField?: string;
5502
+ /** Row field holding the end timestamp (ISO or epoch). Defaults to `endTime`.
5503
+ * When a row carries an end, the event's chip renders in its start slot and
5504
+ * every further slot it covers shows a subdued continuation bar — without
5505
+ * this, multi-hour events silently collapsed to their first hour. */
5506
+ endField?: string;
5495
5507
  /** Row field holding the chip's Tailwind colour class. Defaults to `color`. */
5496
5508
  colorField?: string;
5497
5509
  /**
@@ -5510,7 +5522,7 @@ interface CalendarGridProps {
5510
5522
  */
5511
5523
  renderItem?: (item: EntityRow, index: number) => React__default.ReactNode;
5512
5524
  }
5513
- declare function CalendarGrid({ weekStart, timeSlots, events, onSlotClick, onDayClick, onEventClick, className, longPressEvent, longPressPayload, swipeLeftEvent, swipeRightEvent, dayWindow, titleField, startField, colorField, children, renderItem, }: CalendarGridProps): React__default.JSX.Element;
5525
+ declare function CalendarGrid({ weekStart, timeSlots, events, onSlotClick, onDayClick, onEventClick, className, longPressEvent, longPressPayload, swipeLeftEvent, swipeRightEvent, dayWindow, titleField, startField, endField, colorField, children, renderItem, }: CalendarGridProps): React__default.JSX.Element;
5514
5526
  declare namespace CalendarGrid {
5515
5527
  var displayName: string;
5516
5528
  }
@@ -10770,7 +10782,10 @@ interface DetailPanelProps extends DisplayStateProps {
10770
10782
  sections?: readonly DetailSection[];
10771
10783
  /** Unified actions array - first action with variant='primary' is the main action */
10772
10784
  actions?: readonly DetailPanelAction[];
10773
- /** Max inline action buttons before the rest collapse into a "⋯" overflow menu (mirrors DataGrid's maxInlineActions). Omit = all inline. */
10785
+ /** Max inline action buttons before the rest collapse into a "⋯" overflow
10786
+ * menu (mirrors DataGrid's maxInlineActions). Defaults to 2 — primary +
10787
+ * secondary visible, the rest under the menu — so every detail panel
10788
+ * carries the same action pattern. */
10774
10789
  maxInlineActions?: number;
10775
10790
  /**
10776
10791
  * Navigation-back affordance. Renders top-LEFT before the title (OS/back
@@ -10794,7 +10809,8 @@ interface DetailPanelProps extends DisplayStateProps {
10794
10809
  width?: string;
10795
10810
  /** Display fields (alias for fields) */
10796
10811
  displayFields?: readonly string[];
10797
- /** Show actions flag */
10812
+ /** When false, hides the action buttons + overflow menu (and the close ×).
10813
+ * Defaults to true. */
10798
10814
  showActions?: boolean;
10799
10815
  /** Relation display data: { fieldName: [{value, label}] } — injected
10800
10816
  * server-side by the runtime (relation-option injection) or bound by
@@ -11612,7 +11628,7 @@ interface UISlotComponentProps {
11612
11628
  *
11613
11629
  * Handles different slot types with appropriate wrappers.
11614
11630
  */
11615
- declare function UISlotComponent({ slot, portal, position, className, children, pattern, sourceTrait, }: UISlotComponentProps): React__default.ReactElement | null;
11631
+ declare function UISlotComponent(props: UISlotComponentProps): React__default.ReactElement | null;
11616
11632
  interface SlotContentRendererProps {
11617
11633
  content: SlotContent;
11618
11634
  onDismiss: () => void;
@@ -18,7 +18,7 @@ export { D as DEFAULT_SLOTS, S as SlotAnimation, a as SlotChangeCallback, c as S
18
18
  export { ALMADAR_DND_MIME, AuthContextValue, AuthUser, CanvasGestureCallbacks, CanvasGestureHandlers, CompileResult, CompileStage, DragReorderResult, DraggablePayload, Extension, ExtensionManifest, FileSystemFile, FileSystemStatus, GitHubRepo, GitHubStatus, HistoryChangeSummary, HistoryTimelineItem, I18nContextValue, I18nProvider, InfiniteScrollOptions, InfiniteScrollResult, LongPressHandlers, LongPressOptions, OpenFile, Positioned, PullToRefreshOptions, PullToRefreshResult, QuerySingletonEntity, QuerySingletonResult, QuerySingletonState, QueryState, RenderInterpolationHandle, RenderInterpolationOptions, RevertResult, SelectedFile, SharedEntityStore, SharedEntityStoreContext, SharedEntitySubscriber, SharedEntityWriter, SwipeGestureOptions, SwipeGestureResult, SwipeHandlers, TapRevealOptions, TapRevealResult, TraitListenSpec, TranslateFunction, UseCanvasGesturesOptions, UseCompileResult, UseDraggableOptions, UseDraggableResult, UseDropZoneOptions, UseDropZoneResult, UseExtensionsOptions, UseExtensionsResult, UseFileEditorOptions, UseFileEditorResult, UseFileSystemResult, UseOrbitalHistoryOptions, UseOrbitalHistoryResult, createSharedEntityStore, createTranslate, parseQueryBinding, runTickFrame, useAgentChat, useAuthContext, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInfiniteScroll, useLongPress, useMediaQuery, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSharedEntitySnapshot, useSharedEntityStore, useSharedEntityStoreContext, useSwipeGesture, useTapReveal, useTraitListens, useTranslate, useUIEvents, useValidation } from '../hooks/index.js';
19
19
  export { u as useEmitEvent, a as useEventBus, b as useEventListener } from '../useEventBus-CQWyAWpK.js';
20
20
  export { E as EventBusContextType } from '../event-bus-types-Bl78kokd.js';
21
- export { a as NavStackApi, u as useNavStack } from '../NavStackContext-BoVV9nWb.js';
21
+ export { a as NavStackApi, u as useNavStack } from '../NavStackContext-bw2nlBgT.js';
22
22
  import 'three';
23
23
  import 'clsx';
24
24
  import '@tanstack/react-query';
@@ -2271,9 +2271,11 @@ interface ControlGridProps {
2271
2271
  directionAssets?: Partial<Record<DPadDirection, Asset>>;
2272
2272
  size?: 'sm' | 'md' | 'lg';
2273
2273
  disabled?: boolean;
2274
+ /** "auto" (default) renders only on coarse-pointer (touch) devices; "always" renders everywhere. */
2275
+ visibility?: 'auto' | 'always';
2274
2276
  className?: string;
2275
2277
  }
2276
- declare function ControlGrid({ kind, buttons, layout, includeDiagonals, onAction, actionEvent, onDirection, directionEvent, directionEvents, directionReleaseEvents, directionAssets, size, disabled, className, }: ControlGridProps): React$1.JSX.Element;
2278
+ declare function ControlGrid({ kind, buttons, layout, includeDiagonals, onAction, actionEvent, onDirection, directionEvent, directionEvents, directionReleaseEvents, directionAssets, size, disabled, visibility, className, }: ControlGridProps): React$1.JSX.Element | null;
2277
2279
  declare namespace ControlGrid {
2278
2280
  var displayName: string;
2279
2281
  }
@@ -2354,12 +2356,17 @@ interface GameHudProps {
2354
2356
  elements?: readonly GameHudElement[];
2355
2357
  /** Size variant */
2356
2358
  size?: "sm" | "md" | "lg";
2359
+ /**
2360
+ * Layout variant: "floating" (default) renders a compact pill cluster that hugs
2361
+ * its content width; "bar" preserves the legacy full-width split bar.
2362
+ */
2363
+ variant?: "floating" | "bar";
2357
2364
  /** Additional CSS classes */
2358
2365
  className?: string;
2359
2366
  /** Whether to use a semi-transparent background */
2360
2367
  transparent?: boolean;
2361
2368
  }
2362
- declare function GameHud({ position: propPosition, stats: propStats, items, elements, size, className, transparent, }: GameHudProps): React$1.JSX.Element;
2369
+ declare function GameHud({ position: propPosition, stats: propStats, items, elements, size, variant, className, transparent, }: GameHudProps): React$1.JSX.Element;
2363
2370
  declare namespace GameHud {
2364
2371
  var displayName: string;
2365
2372
  }
@@ -3455,13 +3462,13 @@ declare const ALL_PRESETS: PhysicsPreset[];
3455
3462
  interface GameShellProps {
3456
3463
  /** Application / game title shown as a floating chip */
3457
3464
  appName?: string;
3458
- /** Stat chips row — floats along the top edge */
3465
+ /** Stat chips row — floats along the top edge. Legacy chrome surface: new behaviors emit HUD chrome via `render-ui "hud-top"` instead. */
3459
3466
  hud?: React__default.ReactNode;
3460
- /** Action cluster — floats bottom-right (End Turn, Fire, Reset, …) */
3467
+ /** Action cluster — floats bottom-right (End Turn, Fire, Reset, …). Legacy chrome surface: new behaviors emit action chrome via `render-ui "hud-bottom"` or `"floating"` instead. */
3461
3468
  addons?: React__default.ReactNode;
3462
- /** Movement controls — floats bottom-left (d-pad / control-grid). */
3469
+ /** Movement controls — floats bottom-left (d-pad / control-grid). Legacy chrome surface: new behaviors emit movement controls via `render-ui "hud-bottom"` instead. */
3463
3470
  controls?: React__default.ReactNode;
3464
- /** Centered overlay layer (victory/defeat banners, dialogs). */
3471
+ /** Centered overlay layer (victory/defeat banners, dialogs). Legacy chrome surface: new behaviors emit overlays via `render-ui "overlay"` (clear with `render-ui "overlay" null` on every exit) instead. */
3465
3472
  overlay?: React__default.ReactNode;
3466
3473
  /** Extra class name on the root container */
3467
3474
  className?: string;
@@ -3473,7 +3480,7 @@ interface GameShellProps {
3473
3480
  backgroundAsset?: Asset;
3474
3481
  /** Per-call-site 9-sliced panel override. Chrome normally comes from the active theme; most callers leave this unset. */
3475
3482
  hudBackgroundAsset?: Asset;
3476
- /** Game font key (future | future-narrow | pixel | blocks | mini) or a CSS font-family. */
3483
+ /** Game display-font key (future | future-narrow | pixel | blocks | mini) or a CSS font-family. Scoped override of the theme contract's --font-family-display slot: titles and numerics take this face, body text follows the active theme. */
3477
3484
  fontFamily?: string;
3478
3485
  /** Scopes an `@almadar/ui` theme (e.g. "game-sci-fi-dark") to this shell's subtree. */
3479
3486
  "data-theme"?: string;
@@ -5492,6 +5499,11 @@ interface CalendarGridProps {
5492
5499
  titleField?: string;
5493
5500
  /** Row field holding the start timestamp (ISO or epoch). Defaults to `startTime`. */
5494
5501
  startField?: string;
5502
+ /** Row field holding the end timestamp (ISO or epoch). Defaults to `endTime`.
5503
+ * When a row carries an end, the event's chip renders in its start slot and
5504
+ * every further slot it covers shows a subdued continuation bar — without
5505
+ * this, multi-hour events silently collapsed to their first hour. */
5506
+ endField?: string;
5495
5507
  /** Row field holding the chip's Tailwind colour class. Defaults to `color`. */
5496
5508
  colorField?: string;
5497
5509
  /**
@@ -5510,7 +5522,7 @@ interface CalendarGridProps {
5510
5522
  */
5511
5523
  renderItem?: (item: EntityRow, index: number) => React__default.ReactNode;
5512
5524
  }
5513
- declare function CalendarGrid({ weekStart, timeSlots, events, onSlotClick, onDayClick, onEventClick, className, longPressEvent, longPressPayload, swipeLeftEvent, swipeRightEvent, dayWindow, titleField, startField, colorField, children, renderItem, }: CalendarGridProps): React__default.JSX.Element;
5525
+ declare function CalendarGrid({ weekStart, timeSlots, events, onSlotClick, onDayClick, onEventClick, className, longPressEvent, longPressPayload, swipeLeftEvent, swipeRightEvent, dayWindow, titleField, startField, endField, colorField, children, renderItem, }: CalendarGridProps): React__default.JSX.Element;
5514
5526
  declare namespace CalendarGrid {
5515
5527
  var displayName: string;
5516
5528
  }
@@ -10770,7 +10782,10 @@ interface DetailPanelProps extends DisplayStateProps {
10770
10782
  sections?: readonly DetailSection[];
10771
10783
  /** Unified actions array - first action with variant='primary' is the main action */
10772
10784
  actions?: readonly DetailPanelAction[];
10773
- /** Max inline action buttons before the rest collapse into a "⋯" overflow menu (mirrors DataGrid's maxInlineActions). Omit = all inline. */
10785
+ /** Max inline action buttons before the rest collapse into a "⋯" overflow
10786
+ * menu (mirrors DataGrid's maxInlineActions). Defaults to 2 — primary +
10787
+ * secondary visible, the rest under the menu — so every detail panel
10788
+ * carries the same action pattern. */
10774
10789
  maxInlineActions?: number;
10775
10790
  /**
10776
10791
  * Navigation-back affordance. Renders top-LEFT before the title (OS/back
@@ -10794,7 +10809,8 @@ interface DetailPanelProps extends DisplayStateProps {
10794
10809
  width?: string;
10795
10810
  /** Display fields (alias for fields) */
10796
10811
  displayFields?: readonly string[];
10797
- /** Show actions flag */
10812
+ /** When false, hides the action buttons + overflow menu (and the close ×).
10813
+ * Defaults to true. */
10798
10814
  showActions?: boolean;
10799
10815
  /** Relation display data: { fieldName: [{value, label}] } — injected
10800
10816
  * server-side by the runtime (relation-option injection) or bound by
@@ -11612,7 +11628,7 @@ interface UISlotComponentProps {
11612
11628
  *
11613
11629
  * Handles different slot types with appropriate wrappers.
11614
11630
  */
11615
- declare function UISlotComponent({ slot, portal, position, className, children, pattern, sourceTrait, }: UISlotComponentProps): React__default.ReactElement | null;
11631
+ declare function UISlotComponent(props: UISlotComponentProps): React__default.ReactElement | null;
11616
11632
  interface SlotContentRendererProps {
11617
11633
  content: SlotContent;
11618
11634
  onDismiss: () => void;