@almadar/ui 5.76.0 → 5.76.2

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.
@@ -30125,37 +30125,6 @@ var init_useCanvasEffects = __esm({
30125
30125
  init_combatPresets();
30126
30126
  }
30127
30127
  });
30128
- function GameAudioToggle({
30129
- size = "sm",
30130
- className
30131
- }) {
30132
- const ctx = providers.useGameAudioContextOptional();
30133
- const [localMuted, setLocalMuted] = React80.useState(false);
30134
- const muted = ctx ? ctx.muted : localMuted;
30135
- const setMuted = ctx ? ctx.setMuted : setLocalMuted;
30136
- const handleToggle = React80.useCallback(() => {
30137
- setMuted(!muted);
30138
- }, [muted, setMuted]);
30139
- return /* @__PURE__ */ jsxRuntime.jsx(
30140
- exports.Button,
30141
- {
30142
- variant: "ghost",
30143
- size,
30144
- onClick: handleToggle,
30145
- className: cn("text-lg leading-none px-2", className),
30146
- "aria-pressed": muted,
30147
- children: muted ? "\u{1F507}" : "\u{1F50A}"
30148
- }
30149
- );
30150
- }
30151
- var init_GameAudioToggle = __esm({
30152
- "components/game/2d/atoms/GameAudioToggle.tsx"() {
30153
- "use client";
30154
- init_atoms();
30155
- init_cn();
30156
- GameAudioToggle.displayName = "GameAudioToggle";
30157
- }
30158
- });
30159
30128
  function pickPath(entry) {
30160
30129
  if (Array.isArray(entry.path)) {
30161
30130
  return entry.path[Math.floor(Math.random() * entry.path.length)];
@@ -30423,6 +30392,101 @@ var init_useGameAudio = __esm({
30423
30392
  useGameAudio.displayName = "useGameAudio";
30424
30393
  }
30425
30394
  });
30395
+ function useGameAudioContext() {
30396
+ const ctx = React80.useContext(exports.GameAudioContext);
30397
+ if (!ctx) {
30398
+ throw new Error("useGameAudioContext must be used inside <GameAudioProvider>");
30399
+ }
30400
+ return ctx;
30401
+ }
30402
+ function useGameAudioContextOptional() {
30403
+ return React80.useContext(exports.GameAudioContext);
30404
+ }
30405
+ function GameAudioProvider({
30406
+ manifest,
30407
+ baseUrl = "",
30408
+ children,
30409
+ initialMuted = false
30410
+ }) {
30411
+ const eventBus = useEventBus();
30412
+ const { play, stop, stopAll, playMusic, stopMusic, muted, setMuted, masterVolume, setMasterVolume } = useGameAudio({ manifest, baseUrl, initialMuted });
30413
+ React80.useEffect(() => {
30414
+ const unsubPlay = eventBus.on("UI:PLAY_SOUND", (event) => {
30415
+ const key = event.payload?.key;
30416
+ if (key) play(key);
30417
+ });
30418
+ const unsubStop = eventBus.on("UI:STOP_SOUND", (event) => {
30419
+ const key = event.payload?.key;
30420
+ if (key) {
30421
+ stop(key);
30422
+ } else {
30423
+ stopAll();
30424
+ }
30425
+ });
30426
+ const unsubChangeMusic = eventBus.on("UI:CHANGE_MUSIC", (event) => {
30427
+ const key = event.payload?.key;
30428
+ if (key) {
30429
+ playMusic(key);
30430
+ } else {
30431
+ stopMusic();
30432
+ }
30433
+ });
30434
+ const unsubStopMusic = eventBus.on("UI:STOP_MUSIC", () => {
30435
+ stopMusic();
30436
+ });
30437
+ return () => {
30438
+ unsubPlay();
30439
+ unsubStop();
30440
+ unsubChangeMusic();
30441
+ unsubStopMusic();
30442
+ };
30443
+ }, [eventBus, play, stop, stopAll, playMusic, stopMusic]);
30444
+ const value = { muted, setMuted, masterVolume, setMasterVolume, play, playMusic, stopMusic };
30445
+ return /* @__PURE__ */ jsxRuntime.jsx(exports.GameAudioContext.Provider, { value, children });
30446
+ }
30447
+ exports.GameAudioContext = void 0;
30448
+ var init_GameAudioProvider = __esm({
30449
+ "components/game/shared/providers/GameAudioProvider.tsx"() {
30450
+ "use client";
30451
+ init_useEventBus();
30452
+ init_useGameAudio();
30453
+ exports.GameAudioContext = React80.createContext(null);
30454
+ exports.GameAudioContext.displayName = "GameAudioContext";
30455
+ GameAudioProvider.displayName = "GameAudioProvider";
30456
+ }
30457
+ });
30458
+ function GameAudioToggle({
30459
+ size = "sm",
30460
+ className
30461
+ }) {
30462
+ const ctx = useGameAudioContextOptional();
30463
+ const [localMuted, setLocalMuted] = React80.useState(false);
30464
+ const muted = ctx ? ctx.muted : localMuted;
30465
+ const setMuted = ctx ? ctx.setMuted : setLocalMuted;
30466
+ const handleToggle = React80.useCallback(() => {
30467
+ setMuted(!muted);
30468
+ }, [muted, setMuted]);
30469
+ return /* @__PURE__ */ jsxRuntime.jsx(
30470
+ exports.Button,
30471
+ {
30472
+ variant: "ghost",
30473
+ size,
30474
+ onClick: handleToggle,
30475
+ className: cn("text-lg leading-none px-2", className),
30476
+ "aria-pressed": muted,
30477
+ children: muted ? "\u{1F507}" : "\u{1F50A}"
30478
+ }
30479
+ );
30480
+ }
30481
+ var init_GameAudioToggle = __esm({
30482
+ "components/game/2d/atoms/GameAudioToggle.tsx"() {
30483
+ "use client";
30484
+ init_atoms();
30485
+ init_cn();
30486
+ init_GameAudioProvider();
30487
+ GameAudioToggle.displayName = "GameAudioToggle";
30488
+ }
30489
+ });
30426
30490
  function useBattleState(initialUnits, eventConfig = {}, callbacks = {}) {
30427
30491
  const eventBus = useEventBus();
30428
30492
  const {
@@ -36482,6 +36546,8 @@ var init_VisualNovelTemplate = __esm({
36482
36546
  VisualNovelTemplate.displayName = "VisualNovelTemplate";
36483
36547
  }
36484
36548
  });
36549
+
36550
+ // components/game/2d/molecules/index.ts
36485
36551
  var init_molecules = __esm({
36486
36552
  "components/game/2d/molecules/index.ts"() {
36487
36553
  init_shared();
@@ -36514,6 +36580,7 @@ var init_molecules = __esm({
36514
36580
  init_useUnitSpriteAtlas();
36515
36581
  init_CanvasEffect();
36516
36582
  init_useCanvasEffects();
36583
+ init_GameAudioProvider();
36517
36584
  init_GameAudioToggle();
36518
36585
  init_useGameAudio();
36519
36586
  init_useCamera();
@@ -36954,13 +37021,13 @@ var init_MapView = __esm({
36954
37021
  shadowSize: [41, 41]
36955
37022
  });
36956
37023
  L.Marker.prototype.options.icon = defaultIcon;
36957
- const { useEffect: useEffect78, useRef: useRef78, useCallback: useCallback127, useState: useState119 } = React80__namespace.default;
37024
+ const { useEffect: useEffect79, useRef: useRef78, useCallback: useCallback127, useState: useState119 } = React80__namespace.default;
36958
37025
  const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
36959
37026
  const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
36960
37027
  function MapUpdater({ centerLat, centerLng, zoom }) {
36961
37028
  const map = useMap();
36962
37029
  const prevRef = useRef78({ centerLat, centerLng, zoom });
36963
- useEffect78(() => {
37030
+ useEffect79(() => {
36964
37031
  const prev = prevRef.current;
36965
37032
  if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
36966
37033
  map.setView([centerLat, centerLng], zoom);
@@ -36971,7 +37038,7 @@ var init_MapView = __esm({
36971
37038
  }
36972
37039
  function MapClickHandler({ onMapClick }) {
36973
37040
  const map = useMap();
36974
- useEffect78(() => {
37041
+ useEffect79(() => {
36975
37042
  if (!onMapClick) return;
36976
37043
  const handler = (e) => {
36977
37044
  onMapClick(e.latlng.lat, e.latlng.lng);
@@ -56591,18 +56658,6 @@ function useGitHubBranches(owner, repo, enabled = true) {
56591
56658
  });
56592
56659
  }
56593
56660
 
56594
- Object.defineProperty(exports, "GameAudioContext", {
56595
- enumerable: true,
56596
- get: function () { return providers.GameAudioContext; }
56597
- });
56598
- Object.defineProperty(exports, "GameAudioProvider", {
56599
- enumerable: true,
56600
- get: function () { return providers.GameAudioProvider; }
56601
- });
56602
- Object.defineProperty(exports, "useGameAudioContext", {
56603
- enumerable: true,
56604
- get: function () { return providers.useGameAudioContext; }
56605
- });
56606
56661
  exports.ALMADAR_DND_MIME = ALMADAR_DND_MIME;
56607
56662
  exports.ActionButton = ActionButton;
56608
56663
  exports.ActionCard = Card2;
@@ -56647,6 +56702,7 @@ exports.EditorToolbar = EditorToolbar;
56647
56702
  exports.EventHandlerBoard = EventHandlerBoard;
56648
56703
  exports.EventLog = EventLog;
56649
56704
  exports.FishingBoard = FishingBoard;
56705
+ exports.GameAudioProvider = GameAudioProvider;
56650
56706
  exports.GameAudioToggle = GameAudioToggle;
56651
56707
  exports.GameCard = GameCard;
56652
56708
  exports.GameHud = GameHud;
@@ -56794,6 +56850,7 @@ exports.useExtensions = useExtensions;
56794
56850
  exports.useFileEditor = useFileEditor;
56795
56851
  exports.useFileSystem = useFileSystem;
56796
56852
  exports.useGameAudio = useGameAudio;
56853
+ exports.useGameAudioContext = useGameAudioContext;
56797
56854
  exports.useGitHubBranches = useGitHubBranches;
56798
56855
  exports.useGitHubRepo = useGitHubRepo;
56799
56856
  exports.useGitHubRepos = useGitHubRepos;
@@ -3,8 +3,7 @@ import * as React80 from 'react';
3
3
  import React80__default, { createContext, useContext, useMemo, useRef, useEffect, useCallback, useState, useId, Suspense, lazy, useLayoutEffect, useSyncExternalStore } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
- import { EventBusContext, useTraitScope, useCurrentPagePath, useGameAudioContextOptional, useEntitySchemaOptional, TraitScopeProvider } from '@almadar/ui/providers';
7
- export { GameAudioContext, GameAudioProvider, useGameAudioContext } from '@almadar/ui/providers';
6
+ import { EventBusContext, useTraitScope, useCurrentPagePath, useEntitySchemaOptional, TraitScopeProvider } from '@almadar/ui/providers';
8
7
  import { createLogger, isLogLevelEnabled } from '@almadar/logger';
9
8
  import * as LucideIcons2 from 'lucide-react';
10
9
  import { X, List, Printer, ChevronRight, ChevronLeft, CheckCircle, XCircle, Wrench, RotateCcw, Send, Play, Terminal, ChevronDown, Bug, ArrowRight, Pause, SkipForward, Search, ChevronUp, MoreHorizontal, Package, Calendar, Pencil, Eye, Image as Image$1, Upload, ZoomIn, TrendingUp, TrendingDown, Minus, AlertCircle, Circle, Clock, CheckCircle2, Loader2, Code, FileText, WrapText, Check, Copy, HelpCircle, Type, Heading1, Heading2, Heading3, ListOrdered, Quote, GitBranch, Plus, Trash, ArrowLeft, Menu as Menu$1, AlertTriangle, Trash2, Eraser, ZoomOut, Download, Lightbulb, PauseCircle, Link2, Tag, User, DollarSign } from 'lucide-react';
@@ -30080,37 +30079,6 @@ var init_useCanvasEffects = __esm({
30080
30079
  init_combatPresets();
30081
30080
  }
30082
30081
  });
30083
- function GameAudioToggle({
30084
- size = "sm",
30085
- className
30086
- }) {
30087
- const ctx = useGameAudioContextOptional();
30088
- const [localMuted, setLocalMuted] = useState(false);
30089
- const muted = ctx ? ctx.muted : localMuted;
30090
- const setMuted = ctx ? ctx.setMuted : setLocalMuted;
30091
- const handleToggle = useCallback(() => {
30092
- setMuted(!muted);
30093
- }, [muted, setMuted]);
30094
- return /* @__PURE__ */ jsx(
30095
- Button,
30096
- {
30097
- variant: "ghost",
30098
- size,
30099
- onClick: handleToggle,
30100
- className: cn("text-lg leading-none px-2", className),
30101
- "aria-pressed": muted,
30102
- children: muted ? "\u{1F507}" : "\u{1F50A}"
30103
- }
30104
- );
30105
- }
30106
- var init_GameAudioToggle = __esm({
30107
- "components/game/2d/atoms/GameAudioToggle.tsx"() {
30108
- "use client";
30109
- init_atoms();
30110
- init_cn();
30111
- GameAudioToggle.displayName = "GameAudioToggle";
30112
- }
30113
- });
30114
30082
  function pickPath(entry) {
30115
30083
  if (Array.isArray(entry.path)) {
30116
30084
  return entry.path[Math.floor(Math.random() * entry.path.length)];
@@ -30378,6 +30346,101 @@ var init_useGameAudio = __esm({
30378
30346
  useGameAudio.displayName = "useGameAudio";
30379
30347
  }
30380
30348
  });
30349
+ function useGameAudioContext() {
30350
+ const ctx = useContext(GameAudioContext);
30351
+ if (!ctx) {
30352
+ throw new Error("useGameAudioContext must be used inside <GameAudioProvider>");
30353
+ }
30354
+ return ctx;
30355
+ }
30356
+ function useGameAudioContextOptional() {
30357
+ return useContext(GameAudioContext);
30358
+ }
30359
+ function GameAudioProvider({
30360
+ manifest,
30361
+ baseUrl = "",
30362
+ children,
30363
+ initialMuted = false
30364
+ }) {
30365
+ const eventBus = useEventBus();
30366
+ const { play, stop, stopAll, playMusic, stopMusic, muted, setMuted, masterVolume, setMasterVolume } = useGameAudio({ manifest, baseUrl, initialMuted });
30367
+ useEffect(() => {
30368
+ const unsubPlay = eventBus.on("UI:PLAY_SOUND", (event) => {
30369
+ const key = event.payload?.key;
30370
+ if (key) play(key);
30371
+ });
30372
+ const unsubStop = eventBus.on("UI:STOP_SOUND", (event) => {
30373
+ const key = event.payload?.key;
30374
+ if (key) {
30375
+ stop(key);
30376
+ } else {
30377
+ stopAll();
30378
+ }
30379
+ });
30380
+ const unsubChangeMusic = eventBus.on("UI:CHANGE_MUSIC", (event) => {
30381
+ const key = event.payload?.key;
30382
+ if (key) {
30383
+ playMusic(key);
30384
+ } else {
30385
+ stopMusic();
30386
+ }
30387
+ });
30388
+ const unsubStopMusic = eventBus.on("UI:STOP_MUSIC", () => {
30389
+ stopMusic();
30390
+ });
30391
+ return () => {
30392
+ unsubPlay();
30393
+ unsubStop();
30394
+ unsubChangeMusic();
30395
+ unsubStopMusic();
30396
+ };
30397
+ }, [eventBus, play, stop, stopAll, playMusic, stopMusic]);
30398
+ const value = { muted, setMuted, masterVolume, setMasterVolume, play, playMusic, stopMusic };
30399
+ return /* @__PURE__ */ jsx(GameAudioContext.Provider, { value, children });
30400
+ }
30401
+ var GameAudioContext;
30402
+ var init_GameAudioProvider = __esm({
30403
+ "components/game/shared/providers/GameAudioProvider.tsx"() {
30404
+ "use client";
30405
+ init_useEventBus();
30406
+ init_useGameAudio();
30407
+ GameAudioContext = createContext(null);
30408
+ GameAudioContext.displayName = "GameAudioContext";
30409
+ GameAudioProvider.displayName = "GameAudioProvider";
30410
+ }
30411
+ });
30412
+ function GameAudioToggle({
30413
+ size = "sm",
30414
+ className
30415
+ }) {
30416
+ const ctx = useGameAudioContextOptional();
30417
+ const [localMuted, setLocalMuted] = useState(false);
30418
+ const muted = ctx ? ctx.muted : localMuted;
30419
+ const setMuted = ctx ? ctx.setMuted : setLocalMuted;
30420
+ const handleToggle = useCallback(() => {
30421
+ setMuted(!muted);
30422
+ }, [muted, setMuted]);
30423
+ return /* @__PURE__ */ jsx(
30424
+ Button,
30425
+ {
30426
+ variant: "ghost",
30427
+ size,
30428
+ onClick: handleToggle,
30429
+ className: cn("text-lg leading-none px-2", className),
30430
+ "aria-pressed": muted,
30431
+ children: muted ? "\u{1F507}" : "\u{1F50A}"
30432
+ }
30433
+ );
30434
+ }
30435
+ var init_GameAudioToggle = __esm({
30436
+ "components/game/2d/atoms/GameAudioToggle.tsx"() {
30437
+ "use client";
30438
+ init_atoms();
30439
+ init_cn();
30440
+ init_GameAudioProvider();
30441
+ GameAudioToggle.displayName = "GameAudioToggle";
30442
+ }
30443
+ });
30381
30444
  function useBattleState(initialUnits, eventConfig = {}, callbacks = {}) {
30382
30445
  const eventBus = useEventBus();
30383
30446
  const {
@@ -36437,6 +36500,8 @@ var init_VisualNovelTemplate = __esm({
36437
36500
  VisualNovelTemplate.displayName = "VisualNovelTemplate";
36438
36501
  }
36439
36502
  });
36503
+
36504
+ // components/game/2d/molecules/index.ts
36440
36505
  var init_molecules = __esm({
36441
36506
  "components/game/2d/molecules/index.ts"() {
36442
36507
  init_shared();
@@ -36469,6 +36534,7 @@ var init_molecules = __esm({
36469
36534
  init_useUnitSpriteAtlas();
36470
36535
  init_CanvasEffect();
36471
36536
  init_useCanvasEffects();
36537
+ init_GameAudioProvider();
36472
36538
  init_GameAudioToggle();
36473
36539
  init_useGameAudio();
36474
36540
  init_useCamera();
@@ -36909,13 +36975,13 @@ var init_MapView = __esm({
36909
36975
  shadowSize: [41, 41]
36910
36976
  });
36911
36977
  L.Marker.prototype.options.icon = defaultIcon;
36912
- const { useEffect: useEffect78, useRef: useRef78, useCallback: useCallback127, useState: useState119 } = React80__default;
36978
+ const { useEffect: useEffect79, useRef: useRef78, useCallback: useCallback127, useState: useState119 } = React80__default;
36913
36979
  const { Typography: Typography2 } = await Promise.resolve().then(() => (init_Typography(), Typography_exports));
36914
36980
  const { useEventBus: useEventBus2 } = await Promise.resolve().then(() => (init_useEventBus(), useEventBus_exports));
36915
36981
  function MapUpdater({ centerLat, centerLng, zoom }) {
36916
36982
  const map = useMap();
36917
36983
  const prevRef = useRef78({ centerLat, centerLng, zoom });
36918
- useEffect78(() => {
36984
+ useEffect79(() => {
36919
36985
  const prev = prevRef.current;
36920
36986
  if (prev.centerLat !== centerLat || prev.centerLng !== centerLng || prev.zoom !== zoom) {
36921
36987
  map.setView([centerLat, centerLng], zoom);
@@ -36926,7 +36992,7 @@ var init_MapView = __esm({
36926
36992
  }
36927
36993
  function MapClickHandler({ onMapClick }) {
36928
36994
  const map = useMap();
36929
- useEffect78(() => {
36995
+ useEffect79(() => {
36930
36996
  if (!onMapClick) return;
36931
36997
  const handler = (e) => {
36932
36998
  onMapClick(e.latlng.lat, e.latlng.lng);
@@ -56546,4 +56612,4 @@ function useGitHubBranches(owner, repo, enabled = true) {
56546
56612
  });
56547
56613
  }
56548
56614
 
56549
- export { ALL_PRESETS, ALMADAR_DND_MIME, AR_BOOK_FIELDS, AboutPageTemplate, Accordion, ActionButton, Card2 as ActionCard, ActionPalette, ActionTile, ActivationBlock, Alert, AnimatedCounter, AnimatedGraphic, AnimatedReveal, ArticleSection, Aside, AssetPicker, AuthLayout, Avatar, Badge, BattleBoard, BattleTemplate, BehaviorView, BloomQuizBlock, BoardgameBoard, BookChapterView, BookCoverPage, BookNavBar, BookTableOfContents, BookViewer, Box, BranchingLogicBuilder, Breadcrumb, BuilderBoard, Button, ButtonGroup, CTABanner, CalendarGrid, Canvas2D, CanvasEffect, Card, CardBattlerBoard, CardBattlerTemplate, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CaseStudyCard, CaseStudyOrganism, CastleBoard, CastleTemplate, Center, Chart, ChartLegend, ChatBar, Checkbox, ChoiceButton, CityBuilderBoard, CityBuilderTemplate, ClassifierBoard, Coachmark, CodeBlock, CodeRunnerPanel, CollapsibleSection, ComboCounter, CommunityLinks, ConditionalWrapper, ConfettiEffect, ConfirmDialog, ConnectionBlock, Container, ContentRenderer, ContentSection, ControlButton, ControlGrid, CounterTemplate, DEFAULT_LIKERT_OPTIONS, DEFAULT_MATRIX_COLUMNS, DEFAULT_SLOTS, DIAMOND_TOP_Y, DamageNumber, DashboardGrid, DashboardLayout, DataGrid, DataList, DataTable, DateRangePicker, DateRangeSelector, DayCell, DebuggerBoard, DetailPanel, Dialog, DialogueBubble, Divider, DocBreadcrumb, DocPagination, DocSearch, DocSidebar, DocTOC, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EMPTY_EFFECT_STATE, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, EventHandlerBoard, EventLog, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureDetailPageTemplate, FeatureGrid, FeatureGridOrganism, FileTree, FilterGroup, FilterPill, FishingBoard, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, GameAudioToggle, GameCard, GameHud, GameIcon, GameMenu, GameShell, GameTemplate, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, HStack, Header, HealthBar, HeroOrganism, HeroSection, HexStrategyBoard, HolidayRunnerBoard, I18nProvider, IDENTITY_BOOK_FIELDS, Icon, IconPicker, InfiniteScrollSentinel, Input, InputGroup, InstallBox, InventoryGrid, ItemSlot, JazariStateMachine, JsonTreeEditor, Label, LandingPageTemplate, LawReferenceTooltip, Lightbox, LikertScale, LineChart2 as LineChart, List3 as List, LoadingState, MapView, MarkdownContent, MarketingFooter, MarketingStatCard, MasterDetail, MasterDetailLayout, MatchPuzzleBoard, MatrixQuestion, MediaGallery, Menu, Meter, MiniMap, MinigolfBoard, Modal, ModalSlot, ModuleCard, Navigation, NegotiatorBoard, NodeSlotEditor, NotifyListener, NumberStepper, ObjectRulePanel, OnboardingSpotlight, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, Overlay, PageHeader, Pagination, PatternTile, PinballBoard, PirateBoard, PlatformerBoard, PlatformerTemplate, Popover, PositionedCanvas, PricingCard, PricingGrid, PricingOrganism, PricingPageTemplate, ProgressBar, ProgressDots, PropertyInspector, PullQuote, PullToRefresh, QrScanner, QuizBlock, RacingBoard, Radio, RangeSlider, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, ResourceBar, ResourceCounter, RichBlockEditor, RoguelikeBoard, RoguelikeTemplate, RuleEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SectionHeader, SegmentRenderer, Select, SequenceBar, SequencerBoard, ServiceCatalog, ShowcaseCard, ShowcaseOrganism, SidePanel, Sidebar, SignaturePad, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, SimulatorBoard, Skeleton, SlotContentRenderer, SocialProof, SokobanBoard, SortableList, SpaceShmupBoard, SpaceStationBoard, Spacer, Sparkline, Spinner, Split, SplitPane, SplitSection, SportsBoard, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateArchitectBoard, StateIndicator, StateJsonView, StateMachineView, StateNode2 as StateNode, StatsGrid, StatsOrganism, StatusBar, StatusDot, StatusEffect, StepFlow, StepFlowOrganism, SubagentTracePanel, SvgBranch, SvgConnection, SvgFlow, SvgGrid, SvgLobe, SvgMesh, SvgMorph, SvgNode, SvgPulse, SvgRing, SvgShield, SvgStack, SwipeableRow, Switch, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagCloud, TagInput, TanksBoard, TeamCard, TeamOrganism, TerrainPalette, TextHighlight, Textarea, ThemeToggle, TimeSlotCell, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TopDownShooterBoard, TopDownShooterTemplate, TowerDefenseBoard, TowerDefenseTemplate, TraitFrame, TraitSlot, TraitStateViewer, TransitionArrow, TrendIndicator, TurnIndicator, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UncontrolledBattleBoard, UploadDropZone, VStack, VariablePanel, VersionDiff, ViolationAlert, VisualNovelBoard, VisualNovelTemplate, VoteStack, WaypointMarker, WizardContainer, WizardNavigation, WizardProgress, WorldMapBoard, WorldMapTemplate, boardEntity, bool, calculateAttackTargets, calculateValidMoves, cn, createCombatPresets, createInitialGameState, createTranslate, createUnitAnimationState, drawEffectState, drawSprite, drawTintedImage, getAllEffectSpriteUrls, getCurrentFrame, getTileDimensions, hasActiveEffects, inferDirection, isoToScreen, makeAsset, makeAssetMap, mapBookData, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, parseLessonSegments, parseMarkdownWithCodeBlocks, parseQueryBinding, pendulum, projectileMotion, resolveFieldMap, resolveFrame, resolveSheetDirection, rows, screenToIso, spawnOverlay, spawnParticles, spawnSequence, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, updateEffectState, useAgentChat, useAnchorRect, useAuthContext, useBattleState, useCamera, useCanvasEffects, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useEmitEvent, useEventBus, useEventListener, useExtensions, useFileEditor, useFileSystem, useGameAudio, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useImageCache, useInfiniteScroll, useLongPress, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSwipeGesture, useTapReveal, useTraitListens, useTranslate135 as useTranslate, useUIEvents, useUISlotManager, useUnitSpriteAtlas, useValidation, vec2 };
56615
+ export { ALL_PRESETS, ALMADAR_DND_MIME, AR_BOOK_FIELDS, AboutPageTemplate, Accordion, ActionButton, Card2 as ActionCard, ActionPalette, ActionTile, ActivationBlock, Alert, AnimatedCounter, AnimatedGraphic, AnimatedReveal, ArticleSection, Aside, AssetPicker, AuthLayout, Avatar, Badge, BattleBoard, BattleTemplate, BehaviorView, BloomQuizBlock, BoardgameBoard, BookChapterView, BookCoverPage, BookNavBar, BookTableOfContents, BookViewer, Box, BranchingLogicBuilder, Breadcrumb, BuilderBoard, Button, ButtonGroup, CTABanner, CalendarGrid, Canvas2D, CanvasEffect, Card, CardBattlerBoard, CardBattlerTemplate, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Carousel, CaseStudyCard, CaseStudyOrganism, CastleBoard, CastleTemplate, Center, Chart, ChartLegend, ChatBar, Checkbox, ChoiceButton, CityBuilderBoard, CityBuilderTemplate, ClassifierBoard, Coachmark, CodeBlock, CodeRunnerPanel, CollapsibleSection, ComboCounter, CommunityLinks, ConditionalWrapper, ConfettiEffect, ConfirmDialog, ConnectionBlock, Container, ContentRenderer, ContentSection, ControlButton, ControlGrid, CounterTemplate, DEFAULT_LIKERT_OPTIONS, DEFAULT_MATRIX_COLUMNS, DEFAULT_SLOTS, DIAMOND_TOP_Y, DamageNumber, DashboardGrid, DashboardLayout, DataGrid, DataList, DataTable, DateRangePicker, DateRangeSelector, DayCell, DebuggerBoard, DetailPanel, Dialog, DialogueBubble, Divider, DocBreadcrumb, DocPagination, DocSearch, DocSidebar, DocTOC, DocumentViewer, StateMachineView as DomStateMachineVisualizer, Drawer, DrawerSlot, ELEMENT_SELECTED_EVENT, EMPTY_EFFECT_STATE, EdgeDecoration, EditorCheckbox, EditorSelect, EditorSlider, EditorTextInput, EditorToolbar, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, EventHandlerBoard, EventLog, FEATURE_COLORS, FEATURE_TYPES, FLOOR_HEIGHT, FeatureCard, FeatureDetailPageTemplate, FeatureGrid, FeatureGridOrganism, FileTree, FilterGroup, FilterPill, FishingBoard, Flex, FlipCard, FlipContainer, FloatingActionButton, Form, FormActions, FormField, FormLayout, FormSection, FormSectionHeader, GameAudioContext, GameAudioProvider, GameAudioToggle, GameCard, GameHud, GameIcon, GameMenu, GameShell, GameTemplate, GenericAppTemplate, GeometricPattern, GradientDivider, GraphCanvas, GraphView, Grid, GridPicker, HStack, Header, HealthBar, HeroOrganism, HeroSection, HexStrategyBoard, HolidayRunnerBoard, I18nProvider, IDENTITY_BOOK_FIELDS, Icon, IconPicker, InfiniteScrollSentinel, Input, InputGroup, InstallBox, InventoryGrid, ItemSlot, JazariStateMachine, JsonTreeEditor, Label, LandingPageTemplate, LawReferenceTooltip, Lightbox, LikertScale, LineChart2 as LineChart, List3 as List, LoadingState, MapView, MarkdownContent, MarketingFooter, MarketingStatCard, MasterDetail, MasterDetailLayout, MatchPuzzleBoard, MatrixQuestion, MediaGallery, Menu, Meter, MiniMap, MinigolfBoard, Modal, ModalSlot, ModuleCard, Navigation, NegotiatorBoard, NodeSlotEditor, NotifyListener, NumberStepper, ObjectRulePanel, OnboardingSpotlight, OptionConstraintGroup, StateMachineView as OrbitalStateMachineView, OrbitalVisualization, Overlay, PageHeader, Pagination, PatternTile, PinballBoard, PirateBoard, PlatformerBoard, PlatformerTemplate, Popover, PositionedCanvas, PricingCard, PricingGrid, PricingOrganism, PricingPageTemplate, ProgressBar, ProgressDots, PropertyInspector, PullQuote, PullToRefresh, QrScanner, QuizBlock, RacingBoard, Radio, RangeSlider, ReflectionBlock, RelationSelect, RepeatableFormSection, ReplyTree, ResourceBar, ResourceCounter, RichBlockEditor, RoguelikeBoard, RoguelikeTemplate, RuleEditor, RuntimeDebugger, SHEET_COLUMNS, SPRITE_SHEET_LAYOUT, ScaledDiagram, ScoreDisplay, SearchInput, Section, SectionHeader, SegmentRenderer, Select, SequenceBar, SequencerBoard, ServiceCatalog, ShowcaseCard, ShowcaseOrganism, SidePanel, Sidebar, SignaturePad, SimpleGrid, SimulationCanvas, SimulationControls, SimulationGraph, SimulatorBoard, Skeleton, SlotContentRenderer, SocialProof, SokobanBoard, SortableList, SpaceShmupBoard, SpaceStationBoard, Spacer, Sparkline, Spinner, Split, SplitPane, SplitSection, SportsBoard, Sprite, Stack, StarRating, StatBadge, StatCard, StatDisplay, StateArchitectBoard, StateIndicator, StateJsonView, StateMachineView, StateNode2 as StateNode, StatsGrid, StatsOrganism, StatusBar, StatusDot, StatusEffect, StepFlow, StepFlowOrganism, SubagentTracePanel, SvgBranch, SvgConnection, SvgFlow, SvgGrid, SvgLobe, SvgMesh, SvgMorph, SvgNode, SvgPulse, SvgRing, SvgShield, SvgStack, SwipeableRow, Switch, TERRAIN_COLORS, TILE_HEIGHT, TILE_WIDTH, TabbedContainer, TableView, Tabs, TagCloud, TagInput, TanksBoard, TeamCard, TeamOrganism, TerrainPalette, TextHighlight, Textarea, ThemeToggle, TimeSlotCell, Timeline, TimerDisplay, Toast, ToastSlot, Tooltip, TopDownShooterBoard, TopDownShooterTemplate, TowerDefenseBoard, TowerDefenseTemplate, TraitFrame, TraitSlot, TraitStateViewer, TransitionArrow, TrendIndicator, TurnIndicator, TypewriterText, Typography, UISlotComponent, UISlotRenderer, UncontrolledBattleBoard, UploadDropZone, VStack, VariablePanel, VersionDiff, ViolationAlert, VisualNovelBoard, VisualNovelTemplate, VoteStack, WaypointMarker, WizardContainer, WizardNavigation, WizardProgress, WorldMapBoard, WorldMapTemplate, boardEntity, bool, calculateAttackTargets, calculateValidMoves, cn, createCombatPresets, createInitialGameState, createTranslate, createUnitAnimationState, drawEffectState, drawSprite, drawTintedImage, getAllEffectSpriteUrls, getCurrentFrame, getTileDimensions, hasActiveEffects, inferDirection, isoToScreen, makeAsset, makeAssetMap, mapBookData, num, objAvailableActions, objAvailableEvents, objCurrentState, objIcon, objId, objMaxRules, objName, objRules, objStates, parseEditFocus, parseLessonSegments, parseMarkdownWithCodeBlocks, parseQueryBinding, pendulum, projectileMotion, resolveFieldMap, resolveFrame, resolveSheetDirection, rows, screenToIso, spawnOverlay, spawnParticles, spawnSequence, springOscillator, str, tickAnimationState, toCodeLanguage, transitionAnimation, unitHealth, unitPosition, unitTeam, updateEffectState, useAgentChat, useAnchorRect, useAuthContext, useBattleState, useCamera, useCanvasEffects, useCanvasGestures, useCompile, useConnectGitHub, useDeepAgentGeneration, useDisconnectGitHub, useDragReorder, useDraggable, useDropZone, useEmitEvent, useEventBus, useEventListener, useExtensions, useFileEditor, useFileSystem, useGameAudio, useGameAudioContext, useGitHubBranches, useGitHubRepo, useGitHubRepos, useGitHubStatus, useImageCache, useInfiniteScroll, useLongPress, useOrbitalHistory, usePreview, usePullToRefresh, useQuerySingleton, useRenderInterpolation, useSwipeGesture, useTapReveal, useTraitListens, useTranslate135 as useTranslate, useUIEvents, useUISlotManager, useUnitSpriteAtlas, useValidation, vec2 };