@almadar/ui 2.12.2 → 2.12.4

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.
@@ -1,7 +1,7 @@
1
- import { SuspenseConfigProvider } from './chunk-JDISOWHE.js';
2
- import { ThemeProvider } from './chunk-DKQN5FVU.js';
1
+ import { SuspenseConfigProvider } from './chunk-IP2FYX3M.js';
3
2
  import { SelectionProvider, EntityDataProvider } from './chunk-WGJIL4YR.js';
4
3
  import { useEventBus, EventBusProvider } from './chunk-YXZM3WCF.js';
4
+ import { ThemeProvider } from './chunk-DKQN5FVU.js';
5
5
  import { recordTransition, registerCheck, bindEventBus, bindTraitStateGetter } from './chunk-WCTZ7WZX.js';
6
6
  import { useOfflineExecutor } from './chunk-K2D5D3WK.js';
7
7
  import { createContext, useState, useCallback, useMemo, useContext, useRef, useEffect } from 'react';
@@ -1,6 +1,6 @@
1
- import { useTheme, useUISlots } from './chunk-DKQN5FVU.js';
2
1
  import { useTranslate, useInfiniteScroll, useQuerySingleton, useLongPress, useSwipeGesture, useDragReorder, usePullToRefresh } from './chunk-WGJIL4YR.js';
3
2
  import { useEventBus } from './chunk-YXZM3WCF.js';
3
+ import { useTheme, useUISlots } from './chunk-DKQN5FVU.js';
4
4
  import { cn, debugGroup, debug, debugGroupEnd, updateAssetStatus, bindCanvasCapture, getNestedValue, isDebugEnabled } from './chunk-WCTZ7WZX.js';
5
5
  import { isPortalSlot } from './chunk-K2D5D3WK.js';
6
6
  import { __publicField } from './chunk-PKBMQBKP.js';
@@ -10335,9 +10335,11 @@ function IsometricCanvas({
10335
10335
  const observer = new ResizeObserver((entries) => {
10336
10336
  const entry = entries[0];
10337
10337
  if (entry) {
10338
- setViewportSize({
10339
- width: entry.contentRect.width || 800,
10340
- height: entry.contentRect.height || 600
10338
+ const w = Math.round(entry.contentRect.width) || 800;
10339
+ const h = Math.round(entry.contentRect.height) || 600;
10340
+ setViewportSize((prev) => {
10341
+ if (Math.abs(prev.width - w) < 2 && Math.abs(prev.height - h) < 2) return prev;
10342
+ return { width: w, height: h };
10341
10343
  });
10342
10344
  }
10343
10345
  });
@@ -18763,6 +18765,7 @@ function SlotContentRenderer({
18763
18765
  }
18764
18766
  function UISlotRenderer({
18765
18767
  includeHud = false,
18768
+ hudMode = "fixed",
18766
18769
  includeFloating = false,
18767
18770
  className,
18768
18771
  suspense
@@ -18781,14 +18784,14 @@ function UISlotRenderer({
18781
18784
  UISlotComponent,
18782
18785
  {
18783
18786
  slot: "hud-top",
18784
- className: "fixed top-0 inset-x-0 z-40"
18787
+ className: hudMode === "inline" ? "sticky top-0 inset-x-0 z-40" : "fixed top-0 inset-x-0 z-40"
18785
18788
  }
18786
18789
  ),
18787
18790
  /* @__PURE__ */ jsx(
18788
18791
  UISlotComponent,
18789
18792
  {
18790
18793
  slot: "hud-bottom",
18791
- className: "fixed bottom-0 inset-x-0 z-40"
18794
+ className: hudMode === "inline" ? "sticky bottom-0 inset-x-0 z-40" : "fixed bottom-0 inset-x-0 z-40"
18792
18795
  }
18793
18796
  )
18794
18797
  ] }),
@@ -8861,6 +8861,8 @@ declare function SlotContentRenderer({ content, onDismiss, }: SlotContentRendere
8861
8861
  interface UISlotRendererProps {
8862
8862
  /** Include HUD slots */
8863
8863
  includeHud?: boolean;
8864
+ /** HUD positioning mode: 'fixed' (default, viewport-relative) or 'inline' (container-relative, uses sticky) */
8865
+ hudMode?: 'fixed' | 'inline';
8864
8866
  /** Include floating slot */
8865
8867
  includeFloating?: boolean;
8866
8868
  /** Additional class name for the container */
@@ -8894,7 +8896,7 @@ interface UISlotRendererProps {
8894
8896
  * }
8895
8897
  * ```
8896
8898
  */
8897
- declare function UISlotRenderer({ includeHud, includeFloating, className, suspense, }: UISlotRendererProps): React__default.ReactElement;
8899
+ declare function UISlotRenderer({ includeHud, hudMode, includeFloating, className, suspense, }: UISlotRendererProps): React__default.ReactElement;
8898
8900
  declare namespace UISlotRenderer {
8899
8901
  var displayName: string;
8900
8902
  }
@@ -1,21 +1,21 @@
1
1
  import { DEFAULT_CONFIG, renderStateMachineToDomData, parseContentSegments, isDebugEnabled, onDebugToggle, subscribeToTickChanges, subscribeToGuardChanges, subscribeToDebugEvents, getEntitySnapshot, getDebugEvents, getGuardHistory, getAllTicks } from '../chunk-4ZBSL37D.js';
2
- import { useAuthContext } from '../chunk-GTIAVPI5.js';
3
- export { ENTITY_EVENTS, useAgentChat, useAuthContext, useCompile, useConnectGitHub, useCreateEntity, useDeepAgentGeneration, useDeleteEntity, useDisconnectGitHub, useEntities, useEntitiesByType, useEntity as useEntityById, useEntityMutations, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInput, useOrbitalHistory, useOrbitalMutations, usePhysics, usePinchZoom, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-GTIAVPI5.js';
4
- export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
2
+ import { useAuthContext } from '../chunk-2QM732NQ.js';
3
+ export { ENTITY_EVENTS, useAgentChat, useAuthContext, useCompile, useConnectGitHub, useCreateEntity, useDeepAgentGeneration, useDeleteEntity, useDisconnectGitHub, useEntities, useEntitiesByType, useEntity as useEntityById, useEntityMutations, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInput, useOrbitalHistory, useOrbitalMutations, usePhysics, usePinchZoom, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-2QM732NQ.js';
5
4
  import { subscribeToTraitChanges, getAllTraits } from '../chunk-42YQ6JVR.js';
6
5
  import '../chunk-3HJHHULT.js';
7
- import { VStack, HStack, Typography, Button, Icon, Box, Card, Avatar, Badge, SearchInput, Checkbox, Menu as Menu$1, Pagination, LoadingState, EmptyState, Modal, ErrorState, QuizBlock, CodeBlock, ScaledDiagram, MarkdownContent, Divider, ProgressBar, isoToScreen, IsometricCanvas_default, Stack, Select, Drawer, Toast, Tabs, Input, ThemeToggle, TILE_WIDTH, EntityDisplayEvents, StateIndicator, Accordion, ButtonGroup, Container } from '../chunk-JDISOWHE.js';
8
- export { ALL_PRESETS, Accordion, ActionButton, ActionButtons, Card2 as ActionCard, Alert, AnimatedCounter, Avatar, Badge, Box, Breadcrumb, Button, ButtonGroup, CalendarGrid, CanvasEffect, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, Center, Chart, ChartLegend, Checkbox, ChoiceButton, CodeBlock, CombatLog, ComboCounter, ConditionalWrapper, ConfettiEffect, Container, ControlButton, CraftingRecipe, DIAMOND_TOP_Y, DPad, DamageNumber, DataGrid, DataList, DataTable, DateRangeSelector, DayCell, DetailPanel, DialogueBox, DialogueBubble, Divider, Drawer, EmptyState, EnemyPlate, EntityDisplayEvents, ErrorBoundary, ErrorState, FEATURE_COLORS, FLOOR_HEIGHT, FilterGroup, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormField, FormSectionHeader, GameCanvas2D, GameHud, GameMenu, GameOverScreen, GraphView, Grid, HStack, Heading, HealthBar, HealthPanel, Icon, InfiniteScrollSentinel, Input, InputGroup, InventoryGrid, InventoryPanel, IsometricCanvas, ItemSlot, Label, LawReferenceTooltip, Lightbox, LineChart, LoadingState, MapView, MarkdownContent, MasterDetail, Menu, Meter, MiniMap, Modal, NumberStepper, Overlay, PageHeader, Pagination, PlatformerCanvas, Popover, PowerupSlots, ProgressBar, ProgressDots, PullToRefresh, QuestTracker, QuizBlock, Radio, RangeSlider, RelationSelect, RepeatableFormSection, ResourceBar, ResourceCounter, ScaledDiagram, ScoreBoard, ScoreDisplay, SearchInput, Select, SidePanel, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, Skeleton, SlotContentRenderer, SortableList, Spacer, Spinner, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateIndicator, StatusDot, StatusEffect, SwipeableRow, Switch, TILE_HEIGHT, TILE_WIDTH, Tabs, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, TimeSlotCell, TimerDisplay, Toast, Tooltip, TrendIndicator, TurnIndicator, TurnPanel, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UnitCommandBar, UploadDropZone, VStack, ViolationAlert, WaypointMarker, WizardNavigation, WizardProgress, XPBar, drawSprite, isoToScreen, pendulum, projectileMotion, screenToIso, springOscillator, useCamera, useImageCache } from '../chunk-JDISOWHE.js';
9
- import '../chunk-DKQN5FVU.js';
6
+ import { VStack, HStack, Typography, Button, Icon, Box, Card, Avatar, Badge, SearchInput, Checkbox, Menu as Menu$1, Pagination, LoadingState, EmptyState, Modal, ErrorState, QuizBlock, CodeBlock, ScaledDiagram, MarkdownContent, Divider, ProgressBar, isoToScreen, IsometricCanvas_default, Stack, Select, Drawer, Toast, Tabs, Input, ThemeToggle, TILE_WIDTH, EntityDisplayEvents, StateIndicator, Accordion, ButtonGroup, Container } from '../chunk-IP2FYX3M.js';
7
+ export { ALL_PRESETS, Accordion, ActionButton, ActionButtons, Card2 as ActionCard, Alert, AnimatedCounter, Avatar, Badge, Box, Breadcrumb, Button, ButtonGroup, CalendarGrid, CanvasEffect, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, Center, Chart, ChartLegend, Checkbox, ChoiceButton, CodeBlock, CombatLog, ComboCounter, ConditionalWrapper, ConfettiEffect, Container, ControlButton, CraftingRecipe, DIAMOND_TOP_Y, DPad, DamageNumber, DataGrid, DataList, DataTable, DateRangeSelector, DayCell, DetailPanel, DialogueBox, DialogueBubble, Divider, Drawer, EmptyState, EnemyPlate, EntityDisplayEvents, ErrorBoundary, ErrorState, FEATURE_COLORS, FLOOR_HEIGHT, FilterGroup, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormField, FormSectionHeader, GameCanvas2D, GameHud, GameMenu, GameOverScreen, GraphView, Grid, HStack, Heading, HealthBar, HealthPanel, Icon, InfiniteScrollSentinel, Input, InputGroup, InventoryGrid, InventoryPanel, IsometricCanvas, ItemSlot, Label, LawReferenceTooltip, Lightbox, LineChart, LoadingState, MapView, MarkdownContent, MasterDetail, Menu, Meter, MiniMap, Modal, NumberStepper, Overlay, PageHeader, Pagination, PlatformerCanvas, Popover, PowerupSlots, ProgressBar, ProgressDots, PullToRefresh, QuestTracker, QuizBlock, Radio, RangeSlider, RelationSelect, RepeatableFormSection, ResourceBar, ResourceCounter, ScaledDiagram, ScoreBoard, ScoreDisplay, SearchInput, Select, SidePanel, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, Skeleton, SlotContentRenderer, SortableList, Spacer, Spinner, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateIndicator, StatusDot, StatusEffect, SwipeableRow, Switch, TILE_HEIGHT, TILE_WIDTH, Tabs, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, TimeSlotCell, TimerDisplay, Toast, Tooltip, TrendIndicator, TurnIndicator, TurnPanel, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UnitCommandBar, UploadDropZone, VStack, ViolationAlert, WaypointMarker, WizardNavigation, WizardProgress, XPBar, drawSprite, isoToScreen, pendulum, projectileMotion, screenToIso, springOscillator, useCamera, useImageCache } from '../chunk-IP2FYX3M.js';
10
8
  import { useTranslate } from '../chunk-WGJIL4YR.js';
11
9
  export { EntityDataProvider, I18nProvider, createTranslate, entityDataKeys, parseQueryBinding, useDragReorder, useEntity, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntitySuspense, useInfiniteScroll, useLongPress, usePullToRefresh, useQuerySingleton, useSwipeGesture, useTranslate } from '../chunk-WGJIL4YR.js';
12
10
  import { useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
13
11
  export { useEmitEvent, useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
12
+ import '../chunk-DKQN5FVU.js';
14
13
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-3JGAROCW.js';
15
14
  import { cn, getNestedValue, subscribeToVerification, getSummary, getBridgeHealth, getTransitions, getAllChecks } from '../chunk-WCTZ7WZX.js';
16
15
  export { cn } from '../chunk-WCTZ7WZX.js';
17
16
  import '../chunk-TSETXL2E.js';
18
17
  import '../chunk-K2D5D3WK.js';
18
+ export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
19
19
  import { __publicField } from '../chunk-PKBMQBKP.js';
20
20
  import * as React44 from 'react';
21
21
  import React44__default, { createContext, useState, useCallback, useMemo, useEffect, useRef, useContext } from 'react';
@@ -1,8 +1,8 @@
1
- export { ENTITY_EVENTS, useAgentChat, useAuthContext, useCompile, useConnectGitHub, useCreateEntity, useDeepAgentGeneration, useDeleteEntity, useDisconnectGitHub, useEntities, useEntitiesByType, useEntity as useEntityById, useEntityMutations, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInput, useOrbitalHistory, useOrbitalMutations, usePhysics, usePinchZoom, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-GTIAVPI5.js';
2
- export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
1
+ export { ENTITY_EVENTS, useAgentChat, useAuthContext, useCompile, useConnectGitHub, useCreateEntity, useDeepAgentGeneration, useDeleteEntity, useDisconnectGitHub, useEntities, useEntitiesByType, useEntity as useEntityById, useEntityMutations, useExtensions, useFileEditor, useFileSystem, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useInput, useOrbitalHistory, useOrbitalMutations, usePhysics, usePinchZoom, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-2QM732NQ.js';
3
2
  import '../chunk-3HJHHULT.js';
4
3
  export { EntityDataProvider, I18nProvider, createTranslate, entityDataKeys, parseQueryBinding, useDragReorder, useEntity, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntitySuspense, useInfiniteScroll, useLongPress, usePullToRefresh, useQuerySingleton, useSwipeGesture, useTranslate } from '../chunk-WGJIL4YR.js';
5
4
  export { useEmitEvent, useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
6
5
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-3JGAROCW.js';
7
6
  import '../chunk-TSETXL2E.js';
7
+ export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
8
8
  import '../chunk-PKBMQBKP.js';
@@ -1,8 +1,8 @@
1
- export { FetchedDataContext, FetchedDataProvider, OfflineModeProvider, OrbitalProvider, VerificationProvider, useFetchedData, useFetchedDataContext, useFetchedEntity, useOfflineMode, useOptionalOfflineMode } from '../chunk-TVP75XPM.js';
2
- import '../chunk-JDISOWHE.js';
3
- import '../chunk-DKQN5FVU.js';
1
+ export { FetchedDataContext, FetchedDataProvider, OfflineModeProvider, OrbitalProvider, VerificationProvider, useFetchedData, useFetchedDataContext, useFetchedEntity, useOfflineMode, useOptionalOfflineMode } from '../chunk-42AVZIGQ.js';
2
+ import '../chunk-IP2FYX3M.js';
4
3
  export { SelectionContext, SelectionProvider, useSelection, useSelectionOptional } from '../chunk-WGJIL4YR.js';
5
4
  export { EventBusContext, EventBusProvider } from '../chunk-YXZM3WCF.js';
5
+ import '../chunk-DKQN5FVU.js';
6
6
  import '../chunk-3JGAROCW.js';
7
7
  import '../chunk-WCTZ7WZX.js';
8
8
  import '../chunk-TSETXL2E.js';
@@ -1,16 +1,16 @@
1
- import '../chunk-GTIAVPI5.js';
2
- import '../chunk-N7MVUW4R.js';
1
+ import '../chunk-2QM732NQ.js';
3
2
  import { registerTrait, unregisterTrait, updateTraitState } from '../chunk-42YQ6JVR.js';
4
3
  import '../chunk-3HJHHULT.js';
5
- import { useFetchedDataContext } from '../chunk-TVP75XPM.js';
6
- import '../chunk-JDISOWHE.js';
7
- import '../chunk-DKQN5FVU.js';
4
+ import { useFetchedDataContext } from '../chunk-42AVZIGQ.js';
5
+ import '../chunk-IP2FYX3M.js';
8
6
  import '../chunk-WGJIL4YR.js';
9
7
  import { useEventBus } from '../chunk-YXZM3WCF.js';
8
+ import '../chunk-DKQN5FVU.js';
10
9
  import '../chunk-3JGAROCW.js';
11
10
  import { recordTransition } from '../chunk-WCTZ7WZX.js';
12
11
  import '../chunk-TSETXL2E.js';
13
12
  import '../chunk-K2D5D3WK.js';
13
+ import '../chunk-N7MVUW4R.js';
14
14
  import '../chunk-PKBMQBKP.js';
15
15
  import { createContext, useMemo, useContext, useState, useRef, useEffect, useCallback } from 'react';
16
16
  import { isCircuitEvent, schemaToIR, getPage, clearSchemaCache as clearSchemaCache$1 } from '@almadar/core';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "2.12.2",
3
+ "version": "2.12.4",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",
package/themes/index.css CHANGED
@@ -35,6 +35,28 @@
35
35
  border-color: var(--color-border, #e5e7eb);
36
36
  }
37
37
 
38
+ /**
39
+ * Font inheritance for headings.
40
+ *
41
+ * Host apps (Docusaurus, builder) often set their own heading font-family
42
+ * (e.g. --ifm-heading-font-family). This ensures headings inside themed
43
+ * containers use the theme's --font-family instead.
44
+ */
45
+ [data-theme] h1,
46
+ [data-theme] h2,
47
+ [data-theme] h3,
48
+ [data-theme] h4,
49
+ [data-theme] h5,
50
+ [data-theme] h6,
51
+ #ui-slot-portal-root h1,
52
+ #ui-slot-portal-root h2,
53
+ #ui-slot-portal-root h3,
54
+ #ui-slot-portal-root h4,
55
+ #ui-slot-portal-root h5,
56
+ #ui-slot-portal-root h6 {
57
+ font-family: var(--font-family, inherit);
58
+ }
59
+
38
60
  /* Core themes */
39
61
  @import "./wireframe.css";
40
62
  @import "./minimalist.css";
@@ -1,7 +1,7 @@
1
- import { subscribe, getSnapshot, clearEntities, removeEntity, updateSingleton, updateEntity, spawnEntity, getSingleton, getAllEntities, getByType, getEntity } from './chunk-N7MVUW4R.js';
2
1
  import { apiClient } from './chunk-3HJHHULT.js';
3
2
  import { SelectionContext, entityDataKeys, useEntityList } from './chunk-WGJIL4YR.js';
4
3
  import { useEventBus } from './chunk-YXZM3WCF.js';
4
+ import { subscribe, getSnapshot, clearEntities, removeEntity, updateSingleton, updateEntity, spawnEntity, getSingleton, getAllEntities, getByType, getEntity } from './chunk-N7MVUW4R.js';
5
5
  import { useCallback, useState, useEffect, useMemo, useContext, useSyncExternalStore, useRef } from 'react';
6
6
  import { useQueryClient, useMutation, useQuery } from '@tanstack/react-query';
7
7