@almadar/ui 2.1.0 → 2.1.1

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
1
  import { useTheme, useUISlots } from './chunk-BTXQJGFB.js';
2
+ import { cn, debugGroup, debug, debugGroupEnd, getNestedValue, isDebugEnabled } from './chunk-KKCVDUK7.js';
2
3
  import { useTranslate, useQuerySingleton, useEntityList } from './chunk-PE2H3NAW.js';
3
4
  import { useEventBus } from './chunk-YXZM3WCF.js';
4
- import { cn, debugGroup, debug, debugGroupEnd, getNestedValue, isDebugEnabled } from './chunk-KKCVDUK7.js';
5
5
  import { __publicField } from './chunk-PKBMQBKP.js';
6
6
  import * as React41 from 'react';
7
7
  import React41__default, { useCallback, useRef, useState, useLayoutEffect, useEffect, createContext, useMemo, useContext, Suspense } from 'react';
@@ -9,7 +9,6 @@ import * as LucideIcons from 'lucide-react';
9
9
  import { Loader2, ChevronDown, X, Check, Copy, AlertCircle, User, Sun, Moon, FileQuestion, Inbox, Search, Info, XCircle, CheckCircle, AlertTriangle, ChevronRight, Filter, Plus, ChevronLeft, HelpCircle, ChevronUp, MoreHorizontal, TrendingUp, TrendingDown, Minus, ArrowLeft, Calendar, Tag, Clock, CheckCircle2, DollarSign, FileText, Package } from 'lucide-react';
10
10
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
11
11
  import { evaluate, createMinimalContext } from '@almadar/evaluator';
12
- import { useNavigate, useParams } from 'react-router-dom';
13
12
  import { createPortal } from 'react-dom';
14
13
  import ReactMarkdown from 'react-markdown';
15
14
  import remarkGfm from 'remark-gfm';
@@ -3097,15 +3096,6 @@ var Breadcrumb = ({
3097
3096
  );
3098
3097
  };
3099
3098
  Breadcrumb.displayName = "Breadcrumb";
3100
- function useSafeNavigate() {
3101
- try {
3102
- const navigate = useNavigate();
3103
- return navigate;
3104
- } catch {
3105
- return () => {
3106
- };
3107
- }
3108
- }
3109
3099
  function useSafeEventBus() {
3110
3100
  try {
3111
3101
  return useEventBus();
@@ -3127,7 +3117,6 @@ var ButtonGroup = ({
3127
3117
  entity: _entity,
3128
3118
  filters
3129
3119
  }) => {
3130
- const navigate = useSafeNavigate();
3131
3120
  const eventBus = useSafeEventBus();
3132
3121
  const variantClasses2 = {
3133
3122
  default: "gap-0",
@@ -3143,7 +3132,7 @@ var ButtonGroup = ({
3143
3132
  eventBus.emit("UI:DISPATCH", { event: action.event });
3144
3133
  }
3145
3134
  if (action.navigatesTo) {
3146
- navigate(action.navigatesTo);
3135
+ eventBus.emit("UI:NAVIGATE", { url: action.navigatesTo });
3147
3136
  }
3148
3137
  };
3149
3138
  const renderFormActions = () => {
@@ -6482,7 +6471,6 @@ function DataTable({
6482
6471
  null
6483
6472
  );
6484
6473
  const eventBus = useEventBus();
6485
- const navigate = useNavigate();
6486
6474
  const { t } = useTranslate();
6487
6475
  const resolvedEmptyTitle = emptyTitle ?? t("table.empty.title");
6488
6476
  const resolvedEmptyDescription = emptyDescription ?? t("table.empty.description");
@@ -6506,7 +6494,7 @@ function DataTable({
6506
6494
  /\{\{id\}\}/g,
6507
6495
  String(row.id)
6508
6496
  );
6509
- navigate(url);
6497
+ eventBus.emit("UI:NAVIGATE", { url, row, entity });
6510
6498
  return;
6511
6499
  }
6512
6500
  if (action.event) {
@@ -6528,13 +6516,13 @@ function DataTable({
6528
6516
  /\{\{id\}\}/g,
6529
6517
  String(row.id)
6530
6518
  );
6531
- navigate(url);
6519
+ eventBus.emit("UI:NAVIGATE", { url, row, entity });
6532
6520
  return;
6533
6521
  }
6534
6522
  eventBus.emit("UI:VIEW", { row, entity });
6535
6523
  }
6536
6524
  },
6537
- [viewAction, navigate, eventBus, entity]
6525
+ [viewAction, eventBus, entity]
6538
6526
  );
6539
6527
  const isRowClickable = !!viewAction;
6540
6528
  const effectiveColumns = fields ?? columns ?? [];
@@ -7054,24 +7042,16 @@ var PageHeader = ({
7054
7042
  children,
7055
7043
  className
7056
7044
  }) => {
7057
- const navigate = useNavigate();
7058
- const params = useParams();
7059
7045
  const eventBus = useEventBus();
7060
7046
  const handleBack = () => {
7061
7047
  eventBus.emit(`UI:${backEvent}`);
7062
7048
  };
7063
- const replacePlaceholders = (url) => {
7064
- return url.replace(/\{\{(\w+)\}\}/g, (_, key) => {
7065
- return String(params[key] || "");
7066
- });
7067
- };
7068
7049
  const createActionHandler = (action) => () => {
7069
7050
  if (action.event) {
7070
7051
  eventBus.emit(`UI:${action.event}`);
7071
7052
  }
7072
7053
  if (action.navigatesTo) {
7073
- const resolvedUrl = replacePlaceholders(action.navigatesTo);
7074
- navigate(resolvedUrl);
7054
+ eventBus.emit("UI:NAVIGATE", { url: action.navigatesTo });
7075
7055
  }
7076
7056
  if (action.onClick) {
7077
7057
  action.onClick();
@@ -7246,7 +7226,6 @@ var DetailPanel = ({
7246
7226
  isLoading = false,
7247
7227
  error
7248
7228
  }) => {
7249
- const navigate = useNavigate();
7250
7229
  const eventBus = useEventBus();
7251
7230
  const isFieldDefArray = (arr) => {
7252
7231
  if (!arr || arr.length === 0) return false;
@@ -7261,7 +7240,7 @@ var DetailPanel = ({
7261
7240
  /\{\{(\w+)\}\}/g,
7262
7241
  (_, key) => String(data2?.[key] ?? "")
7263
7242
  );
7264
- navigate(url);
7243
+ eventBus.emit("UI:NAVIGATE", { url, row: data2, entity });
7265
7244
  return;
7266
7245
  }
7267
7246
  if (action.event) {
@@ -7271,7 +7250,7 @@ var DetailPanel = ({
7271
7250
  action.onClick();
7272
7251
  }
7273
7252
  },
7274
- [navigate, eventBus, entity]
7253
+ [eventBus, entity]
7275
7254
  );
7276
7255
  const handleClose = useCallback(() => {
7277
7256
  eventBus.emit("UI:CLOSE", {});
@@ -8084,7 +8063,6 @@ var CardGrid = ({
8084
8063
  showTotal = true
8085
8064
  }) => {
8086
8065
  const eventBus = useEventBus();
8087
- const navigate = useNavigate();
8088
8066
  const effectiveFieldNames = normalizeFields(fields).length > 0 ? normalizeFields(fields) : fieldNames ?? normalizeFields(columns);
8089
8067
  const gridTemplateColumns = `repeat(auto-fit, minmax(min(${minCardWidth}px, 100%), 1fr))`;
8090
8068
  const normalizedData = Array.isArray(externalData) ? externalData : externalData ? [externalData] : [];
@@ -8133,7 +8111,7 @@ var CardGrid = ({
8133
8111
  const value = getNestedValue(itemData, field);
8134
8112
  return value !== void 0 && value !== null ? String(value) : "";
8135
8113
  });
8136
- navigate(url);
8114
+ eventBus.emit("UI:NAVIGATE", { url, row: itemData, entity });
8137
8115
  return;
8138
8116
  }
8139
8117
  if (action.event) {
@@ -1,26 +1,26 @@
1
- import { useAuthContext } from '../chunk-6WHMUKED.js';
2
- 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, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-6WHMUKED.js';
3
1
  import { DEFAULT_CONFIG, renderStateMachineToDomData, parseContentSegments } from '../chunk-N6DJVKZ6.js';
4
- import '../chunk-XSEDIUM6.js';
5
- export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.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, Stack, Drawer, Toast, Tabs, Input, ThemeToggle, HealthBar, ScoreDisplay, StateIndicator, Container, EntityDisplayEvents } from '../chunk-FZJ73RDM.js';
7
- export { Accordion, Card2 as ActionCard, Alert, Avatar, Badge, Box, Breadcrumb, Button, ButtonGroup, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Center, Checkbox, CodeBlock, ConditionalWrapper, Container, ControlButton, DataTable, DetailPanel, Divider, Drawer, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, FilterGroup, Flex, FloatingActionButton, Form, FormField, FormSectionHeader, Grid, HStack, Heading, HealthBar, Icon, Input, InputGroup, Label, LawReferenceTooltip, LoadingState, MarkdownContent, MasterDetail, Menu, Modal, Overlay, PageHeader, Pagination, Popover, ProgressBar, QuizBlock, Radio, RelationSelect, RepeatableFormSection, ScaledDiagram, ScoreDisplay, SearchInput, Select, SidePanel, SimpleGrid, Skeleton, SlotContentRenderer, Spacer, Spinner, Sprite, Stack, StatCard, StateIndicator, Switch, Tabs, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, Toast, Tooltip, Typography, UISlotComponent, UISlotRenderer, VStack, ViolationAlert, WizardNavigation, WizardProgress, drawSprite } from '../chunk-FZJ73RDM.js';
2
+ 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, Stack, Drawer, Toast, Tabs, Input, ThemeToggle, HealthBar, ScoreDisplay, StateIndicator, Container, EntityDisplayEvents } from '../chunk-6YV5YRGT.js';
3
+ export { Accordion, Card2 as ActionCard, Alert, Avatar, Badge, Box, Breadcrumb, Button, ButtonGroup, Card, CardBody, CardContent, CardFooter, CardGrid, CardHeader, CardTitle, Center, Checkbox, CodeBlock, ConditionalWrapper, Container, ControlButton, DataTable, DetailPanel, Divider, Drawer, EmptyState, EntityDisplayEvents, ErrorBoundary, ErrorState, FilterGroup, Flex, FloatingActionButton, Form, FormField, FormSectionHeader, Grid, HStack, Heading, HealthBar, Icon, Input, InputGroup, Label, LawReferenceTooltip, LoadingState, MarkdownContent, MasterDetail, Menu, Modal, Overlay, PageHeader, Pagination, Popover, ProgressBar, QuizBlock, Radio, RelationSelect, RepeatableFormSection, ScaledDiagram, ScoreDisplay, SearchInput, Select, SidePanel, SimpleGrid, Skeleton, SlotContentRenderer, Spacer, Spinner, Sprite, Stack, StatCard, StateIndicator, Switch, Tabs, Text, TextHighlight, Textarea, ThemeSelector, ThemeToggle, Toast, Tooltip, Typography, UISlotComponent, UISlotRenderer, VStack, ViolationAlert, WizardNavigation, WizardProgress, drawSprite } from '../chunk-6YV5YRGT.js';
8
4
  import '../chunk-BTXQJGFB.js';
5
+ import { cn, getNestedValue } from '../chunk-KKCVDUK7.js';
6
+ export { cn } from '../chunk-KKCVDUK7.js';
7
+ import { useAuthContext } from '../chunk-BKC4XU44.js';
8
+ 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, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-BKC4XU44.js';
9
+ import '../chunk-XSEDIUM6.js';
9
10
  import { useTranslate } from '../chunk-PE2H3NAW.js';
10
11
  export { EntityDataProvider, I18nProvider, createTranslate, entityDataKeys, parseQueryBinding, useEntity, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntitySuspense, useQuerySingleton, useTranslate } from '../chunk-PE2H3NAW.js';
11
12
  import { useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
12
13
  export { useEmitEvent, useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
13
14
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-7NEWMNNU.js';
14
- import { cn, getNestedValue } from '../chunk-KKCVDUK7.js';
15
- export { cn } from '../chunk-KKCVDUK7.js';
15
+ export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
16
16
  import { __publicField } from '../chunk-PKBMQBKP.js';
17
17
  import * as React25 from 'react';
18
18
  import React25__default, { createContext, useState, useMemo, useCallback, useEffect, useRef, useContext } from 'react';
19
19
  import { ChevronDown, X, Menu, ChevronRight, ChevronLeft, ArrowUp, ArrowDown, MoreVertical, Package, Check, AlertTriangle, Trash2, List as List$1, Printer, AlertCircle, Circle, Clock, CheckCircle2, Image as Image$1, Upload, ZoomIn, Eraser, FileText, ZoomOut, Download, RotateCcw, Code, WrapText, Copy, Settings, Search, Bell, LogOut, Pause, Play, Calendar, Pencil, Eye, MoreHorizontal, Minus, Plus } from 'lucide-react';
20
20
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
21
- import { useNavigate, useLocation, Link, Outlet } from 'react-router-dom';
22
21
  import { createPortal } from 'react-dom';
23
22
  import { Button as Button$1, cn as cn$1 } from '@almadar/ui';
23
+ import { useLocation, Link, Outlet } from 'react-router-dom';
24
24
 
25
25
  var FormSection = ({
26
26
  title,
@@ -1008,7 +1008,6 @@ var List = ({
1008
1008
  fieldNames,
1009
1009
  entityType
1010
1010
  }) => {
1011
- const navigate = useNavigate();
1012
1011
  const eventBus = useEventBus();
1013
1012
  const { t } = useTranslate();
1014
1013
  const resolvedEmptyMessage = emptyMessage ?? t("empty.noData");
@@ -1035,7 +1034,7 @@ var List = ({
1035
1034
  /\{\{(\w+)\}\}/g,
1036
1035
  (_, key) => String(item[key] || item.id || "")
1037
1036
  );
1038
- navigate(url);
1037
+ eventBus.emit("UI:NAVIGATE", { url, row: item, entity: entityName });
1039
1038
  return;
1040
1039
  }
1041
1040
  if (action.event) {
@@ -1047,7 +1046,7 @@ var List = ({
1047
1046
  }
1048
1047
  }));
1049
1048
  },
1050
- [itemActions, navigate, eventBus, entityName]
1049
+ [itemActions, eventBus, entityName]
1051
1050
  );
1052
1051
  const normalizedItemActions = itemActions ? getItemActions : void 0;
1053
1052
  if (isLoading) {
@@ -6743,15 +6742,6 @@ var variantMap2 = {
6743
6742
  secondary: "bg-gray-700 hover:bg-gray-600 text-white border-gray-500",
6744
6743
  ghost: "bg-transparent hover:bg-white/10 text-white border-white/20"
6745
6744
  };
6746
- function useSafeNavigate() {
6747
- try {
6748
- const navigate = useNavigate();
6749
- return navigate;
6750
- } catch {
6751
- return () => {
6752
- };
6753
- }
6754
- }
6755
6745
  function GameMenu({
6756
6746
  title,
6757
6747
  subtitle,
@@ -6764,7 +6754,6 @@ function GameMenu({
6764
6754
  className
6765
6755
  }) {
6766
6756
  const resolvedOptions = options ?? menuItems ?? [];
6767
- const navigate = useSafeNavigate();
6768
6757
  let eventBusFromHook = null;
6769
6758
  try {
6770
6759
  eventBusFromHook = useEventBus();
@@ -6779,11 +6768,11 @@ function GameMenu({
6779
6768
  if (onSelect) {
6780
6769
  onSelect(option);
6781
6770
  }
6782
- if (option.navigatesTo) {
6783
- navigate(option.navigatesTo);
6771
+ if (option.navigatesTo && eventBus) {
6772
+ eventBus.emit("UI:NAVIGATE", { url: option.navigatesTo, option });
6784
6773
  }
6785
6774
  },
6786
- [eventBus, onSelect, navigate]
6775
+ [eventBus, onSelect]
6787
6776
  );
6788
6777
  return /* @__PURE__ */ jsxs(
6789
6778
  "div",
@@ -1,7 +1,7 @@
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, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-6WHMUKED.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, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-BKC4XU44.js';
2
2
  import '../chunk-XSEDIUM6.js';
3
- export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
4
3
  export { EntityDataProvider, I18nProvider, createTranslate, entityDataKeys, parseQueryBinding, useEntity, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntitySuspense, useQuerySingleton, useTranslate } from '../chunk-PE2H3NAW.js';
5
4
  export { useEmitEvent, useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
6
5
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-7NEWMNNU.js';
6
+ export { clearEntities, getAllEntities, getByType, getEntity, getSingleton, removeEntity, spawnEntity, updateEntity, updateSingleton } from '../chunk-N7MVUW4R.js';
7
7
  import '../chunk-PKBMQBKP.js';
package/dist/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { DEFAULT_CONFIG, extractOutputsFromTransitions, extractStateMachine, formatGuard, getEffectSummary, parseContentSegments, parseMarkdownWithCodeBlocks, renderStateMachineToDomData, renderStateMachineToSvg } from '../chunk-N6DJVKZ6.js';
2
- export { ApiError, apiClient } from '../chunk-XSEDIUM6.js';
3
2
  export { bindEventBus, bindTraitStateGetter, clearVerification, getAllChecks, getBridgeHealth, getSnapshot, getSummary, getTransitions, getTransitionsForTrait, recordTransition, registerCheck, subscribeToVerification, updateBridgeHealth, updateCheck, waitForTransition } from '../chunk-45CTDYBT.js';
4
3
  export { cn, debug, debugCollision, debugError, debugGameState, debugGroup, debugGroupEnd, debugInput, debugPhysics, debugTable, debugTime, debugTimeEnd, debugWarn, formatNestedFieldLabel, getNestedValue, isDebugEnabled } from '../chunk-KKCVDUK7.js';
4
+ export { ApiError, apiClient } from '../chunk-XSEDIUM6.js';
5
5
  import '../chunk-PKBMQBKP.js';
6
6
 
7
7
  // lib/debugUtils.ts
@@ -1,12 +1,12 @@
1
- import { SuspenseConfigProvider } from '../chunk-FZJ73RDM.js';
1
+ import { SuspenseConfigProvider } from '../chunk-6YV5YRGT.js';
2
2
  import { ThemeProvider } from '../chunk-BTXQJGFB.js';
3
+ import { recordTransition, registerCheck, bindEventBus, bindTraitStateGetter } from '../chunk-45CTDYBT.js';
4
+ import '../chunk-KKCVDUK7.js';
3
5
  import { SelectionProvider, EntityDataProvider } from '../chunk-PE2H3NAW.js';
4
6
  export { SelectionContext, SelectionProvider, useSelection, useSelectionOptional } from '../chunk-PE2H3NAW.js';
5
7
  import { useEventBus, EventBusProvider } from '../chunk-YXZM3WCF.js';
6
8
  export { EventBusContext, EventBusProvider } from '../chunk-YXZM3WCF.js';
7
9
  import '../chunk-7NEWMNNU.js';
8
- import { recordTransition, registerCheck, bindEventBus, bindTraitStateGetter } from '../chunk-45CTDYBT.js';
9
- import '../chunk-KKCVDUK7.js';
10
10
  import { useOfflineExecutor } from '../chunk-PL7MD6GF.js';
11
11
  import '../chunk-PKBMQBKP.js';
12
12
  import { createContext, useState, useCallback, useMemo, useContext, useRef, useEffect } from 'react';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "2.1.0",
3
+ "version": "2.1.1",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",
@@ -1,7 +1,7 @@
1
1
  import { apiClient } from './chunk-XSEDIUM6.js';
2
- import { subscribe, getSnapshot, clearEntities, removeEntity, updateSingleton, updateEntity, spawnEntity, getSingleton, getAllEntities, getByType, getEntity } from './chunk-N7MVUW4R.js';
3
2
  import { SelectionContext, entityDataKeys, useEntityList } from './chunk-PE2H3NAW.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 } from 'react';
6
6
  import { useQueryClient, useMutation, useQuery } from '@tanstack/react-query';
7
7