@almadar/ui 2.1.7 → 2.1.9

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 { cn, debugGroup, debug, debugGroupEnd, getNestedValue, isDebugEnabled } from './chunk-KKCVDUK7.js';
1
2
  import { useTheme, useUISlots } from './chunk-BTXQJGFB.js';
2
3
  import { useTranslate, useQuerySingleton } from './chunk-JLEMVREZ.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';
@@ -14,8 +14,8 @@ import ReactMarkdown from 'react-markdown';
14
14
  import remarkGfm from 'remark-gfm';
15
15
  import remarkMath from 'remark-math';
16
16
  import rehypeKatex from 'rehype-katex';
17
- import { Prism } from 'react-syntax-highlighter';
18
- import { vscDarkPlus } from 'react-syntax-highlighter/dist/cjs/styles/prism';
17
+ import SyntaxHighlighter from 'react-syntax-highlighter/dist/esm/prism';
18
+ import dark from 'react-syntax-highlighter/dist/esm/styles/prism/vsc-dark-plus';
19
19
 
20
20
  var variantStyles = {
21
21
  primary: [
@@ -808,6 +808,7 @@ var Box = React41__default.forwardRef(
808
808
  const eventBus = useEventBus();
809
809
  const handleClick = useCallback((e) => {
810
810
  if (action) {
811
+ e.stopPropagation();
811
812
  eventBus.emit(`UI:${action}`, actionPayload ?? {});
812
813
  }
813
814
  onClick?.(e);
@@ -4094,6 +4095,7 @@ var Menu2 = ({
4094
4095
  className
4095
4096
  }) => {
4096
4097
  const eventBus = useEventBus();
4098
+ const { t } = useTranslate();
4097
4099
  const [isOpen, setIsOpen] = useState(false);
4098
4100
  const [activeSubMenu, setActiveSubMenu] = useState(null);
4099
4101
  const [triggerRect, setTriggerRect] = useState(null);
@@ -4172,6 +4174,7 @@ var Menu2 = ({
4172
4174
  onClick: () => handleItemClick({ ...item, id: itemId }),
4173
4175
  disabled: item.disabled,
4174
4176
  onMouseEnter: () => hasSubMenu && setActiveSubMenu(itemId),
4177
+ "data-testid": item.event ? `action-${item.event}` : void 0,
4175
4178
  className: cn(
4176
4179
  "w-full flex items-center justify-between gap-3 px-4 py-2 text-left",
4177
4180
  "text-sm transition-colors",
@@ -5904,11 +5907,11 @@ var CodeBlock = React41__default.memo(
5904
5907
  padding: "1rem"
5905
5908
  },
5906
5909
  children: /* @__PURE__ */ jsx(
5907
- Prism,
5910
+ SyntaxHighlighter,
5908
5911
  {
5909
5912
  PreTag: "div",
5910
5913
  language,
5911
- style: vscDarkPlus,
5914
+ style: dark,
5912
5915
  customStyle: {
5913
5916
  backgroundColor: "transparent",
5914
5917
  borderRadius: 0,
@@ -7000,6 +7003,7 @@ var StatCard = ({
7000
7003
  variant: "ghost",
7001
7004
  onClick: handleActionClick,
7002
7005
  className: "mt-4 text-sm font-bold text-[var(--color-foreground)] hover:underline",
7006
+ "data-testid": action.event ? `action-${action.event}` : void 0,
7003
7007
  children: [
7004
7008
  action.label,
7005
7009
  " \u2192"
@@ -7428,6 +7432,7 @@ var DetailPanel = ({
7428
7432
  action: action.event,
7429
7433
  actionPayload: { row: normalizedData },
7430
7434
  icon: action.icon,
7435
+ "data-testid": action.event ? `action-${action.event}` : void 0,
7431
7436
  children: action.label
7432
7437
  },
7433
7438
  idx
@@ -8064,6 +8069,7 @@ var CardGrid = ({
8064
8069
  showTotal = true
8065
8070
  }) => {
8066
8071
  const eventBus = useEventBus();
8072
+ const { t } = useTranslate();
8067
8073
  const effectiveFieldNames = normalizeFields(fields).length > 0 ? normalizeFields(fields) : fieldNames ?? normalizeFields(columns);
8068
8074
  const gridTemplateColumns = `repeat(auto-fit, minmax(min(${minCardWidth}px, 100%), 1fr))`;
8069
8075
  const normalizedData = Array.isArray(entity) ? entity : entity ? [entity] : [];
@@ -8072,9 +8078,6 @@ var CardGrid = ({
8072
8078
  const handlePageChange = (newPage) => {
8073
8079
  eventBus.emit("UI:PAGINATE", { page: newPage, pageSize });
8074
8080
  };
8075
- const handleCardClick = (itemData) => {
8076
- eventBus.emit("UI:VIEW", { row: itemData });
8077
- };
8078
8081
  const renderContent = () => {
8079
8082
  if (children) {
8080
8083
  return children;
@@ -8119,7 +8122,8 @@ var CardGrid = ({
8119
8122
  "bg-[var(--color-card)] rounded-[var(--radius-lg)] border border-[var(--color-border)] p-4 shadow-[var(--shadow-sm)]",
8120
8123
  "cursor-pointer hover:border-[var(--color-primary)] transition-colors"
8121
8124
  ),
8122
- onClick: () => handleCardClick(itemData),
8125
+ action: "VIEW",
8126
+ actionPayload: { row: itemData },
8123
8127
  children: [
8124
8128
  cardFields.map((field) => {
8125
8129
  const value = getNestedValue(itemData, field);
@@ -8137,6 +8141,7 @@ var CardGrid = ({
8137
8141
  variant: buttonVariant,
8138
8142
  size: "sm",
8139
8143
  onClick: handleActionClick(action),
8144
+ "data-testid": action.event ? `action-${action.event}` : void 0,
8140
8145
  children: action.label
8141
8146
  },
8142
8147
  actionIdx
@@ -9238,6 +9243,9 @@ function UISlotComponent({
9238
9243
  const suspenseConfig = useContext(SuspenseConfigContext);
9239
9244
  const content = slots[slot];
9240
9245
  if (children !== void 0) {
9246
+ if (pattern === "clear") {
9247
+ return null;
9248
+ }
9241
9249
  return /* @__PURE__ */ jsx(
9242
9250
  Box,
9243
9251
  {
@@ -1,4 +1,4 @@
1
- /* node_modules/.pnpm/katex@0.16.33/node_modules/katex/dist/katex.min.css */
1
+ /* ../../node_modules/.pnpm/katex@0.16.28/node_modules/katex/dist/katex.min.css */
2
2
  @font-face {
3
3
  font-display: block;
4
4
  font-family: KaTeX_AMS;
@@ -213,7 +213,7 @@
213
213
  border-color: currentColor;
214
214
  }
215
215
  .katex .katex-version:after {
216
- content: "0.16.33";
216
+ content: "0.16.28";
217
217
  }
218
218
  .katex .katex-mathml {
219
219
  clip: rect(1px, 1px, 1px, 1px);
@@ -988,15 +988,6 @@
988
988
  .katex svg {
989
989
  fill: currentColor;
990
990
  stroke: currentColor;
991
- display: block;
992
- height: inherit;
993
- position: absolute;
994
- width: 100%;
995
- }
996
- .katex svg path {
997
- stroke: none;
998
- }
999
- .katex svg {
1000
991
  fill-rule: nonzero;
1001
992
  fill-opacity: 1;
1002
993
  stroke-width: 1;
@@ -1006,6 +997,13 @@
1006
997
  stroke-dasharray: none;
1007
998
  stroke-dashoffset: 0;
1008
999
  stroke-opacity: 1;
1000
+ display: block;
1001
+ height: inherit;
1002
+ position: absolute;
1003
+ width: 100%;
1004
+ }
1005
+ .katex svg path {
1006
+ stroke: none;
1009
1007
  }
1010
1008
  .katex img {
1011
1009
  border-style: none;
@@ -4221,24 +4221,24 @@ declare const SplitPane: React__default.FC<SplitPaneProps>;
4221
4221
  */
4222
4222
 
4223
4223
  interface DashboardGridCell {
4224
- /** Unique cell ID */
4225
- id: string;
4224
+ /** Optional unique cell ID */
4225
+ id?: string;
4226
4226
  /** Content to render in the cell */
4227
- content: React__default.ReactNode;
4227
+ content?: React__default.ReactNode;
4228
4228
  /** Number of columns this cell spans (1-4) */
4229
4229
  colSpan?: 1 | 2 | 3 | 4;
4230
4230
  /** Number of rows this cell spans (1-2) */
4231
4231
  rowSpan?: 1 | 2;
4232
+ /** Allow additional schema-driven properties */
4233
+ [key: string]: unknown;
4232
4234
  }
4233
- interface DashboardGridProps {
4235
+ interface DashboardGridProps extends EntityDisplayProps {
4234
4236
  /** Number of columns */
4235
4237
  columns?: 2 | 3 | 4;
4236
4238
  /** Gap between cells */
4237
4239
  gap?: "sm" | "md" | "lg";
4238
4240
  /** Cell definitions */
4239
4241
  cells: DashboardGridCell[];
4240
- /** Additional CSS classes */
4241
- className?: string;
4242
4242
  }
4243
4243
  /**
4244
4244
  * DashboardGrid - Multi-column widget grid
@@ -1,17 +1,17 @@
1
+ import { DEFAULT_CONFIG, renderStateMachineToDomData, parseContentSegments } from '../chunk-N6DJVKZ6.js';
1
2
  import { useAuthContext } from '../chunk-6OACETQB.js';
2
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, usePlayer, usePreview, useResolvedEntity, useSelectedEntity, useSendOrbitalEvent, useSingletonEntity, useUIEvents, useUpdateEntity, useValidation } from '../chunk-6OACETQB.js';
3
- import { DEFAULT_CONFIG, renderStateMachineToDomData, parseContentSegments } from '../chunk-N6DJVKZ6.js';
4
4
  import '../chunk-3HJHHULT.js';
5
- 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, Select, Drawer, Toast, Tabs, Input, ThemeToggle, HealthBar, ScoreDisplay, StateIndicator, Container, EntityDisplayEvents } from '../chunk-5Z55L5V7.js';
6
- 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-5Z55L5V7.js';
5
+ 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, Select, Drawer, Toast, Tabs, Input, ThemeToggle, EntityDisplayEvents, HealthBar, ScoreDisplay, StateIndicator, Container } from '../chunk-XTLMM6V5.js';
6
+ 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-XTLMM6V5.js';
7
+ import { cn, getNestedValue } from '../chunk-KKCVDUK7.js';
8
+ export { cn } from '../chunk-KKCVDUK7.js';
7
9
  import '../chunk-BTXQJGFB.js';
8
10
  import { useTranslate } from '../chunk-JLEMVREZ.js';
9
11
  export { EntityDataProvider, I18nProvider, createTranslate, entityDataKeys, parseQueryBinding, useEntity, useEntityDataAdapter, useEntityDetail, useEntityList, useEntityListSuspense, useEntitySuspense, useQuerySingleton, useTranslate } from '../chunk-JLEMVREZ.js';
10
12
  import { useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
11
13
  export { useEmitEvent, useEventBus, useEventListener } from '../chunk-YXZM3WCF.js';
12
14
  export { DEFAULT_SLOTS, useUISlotManager } from '../chunk-7NEWMNNU.js';
13
- import { cn, getNestedValue } from '../chunk-KKCVDUK7.js';
14
- export { cn } from '../chunk-KKCVDUK7.js';
15
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 React from 'react';
@@ -1045,6 +1045,7 @@ var List = ({
1045
1045
  return itemActions.map((action, idx) => ({
1046
1046
  id: `${item.id}-action-${idx}`,
1047
1047
  label: action.label,
1048
+ event: action.event,
1048
1049
  onClick: () => {
1049
1050
  if (action.navigatesTo) {
1050
1051
  const url = action.navigatesTo.replace(
@@ -1125,9 +1126,6 @@ var List = ({
1125
1126
  eventBus.emit(`UI:${EntityDisplayEvents.DESELECT}`, { ids: newIds });
1126
1127
  }
1127
1128
  };
1128
- const handleRowClick = (item) => {
1129
- eventBus.emit("UI:VIEW", { row: item });
1130
- };
1131
1129
  const defaultRenderItem = (item, index, isLast) => {
1132
1130
  const isSelected = selectedIds.map(String).includes(item.id);
1133
1131
  const actions = normalizedItemActions ? normalizedItemActions(item) : [];
@@ -1138,8 +1136,9 @@ var List = ({
1138
1136
  const editAction = actions.find(
1139
1137
  (a) => a.label.toLowerCase().includes("edit")
1140
1138
  );
1141
- const hasExplicitClick = !!(item.onClick || viewAction?.onClick);
1142
- const handleClick = item.onClick || viewAction?.onClick || (() => handleRowClick(item));
1139
+ const hasExplicitClick = !!(viewAction?.event || item.onClick);
1140
+ const rowAction = viewAction?.event ?? "VIEW";
1141
+ const rowActionPayload = { row: item };
1143
1142
  const primaryField = effectiveFieldNames?.[0];
1144
1143
  const statusField = effectiveFieldNames?.find(
1145
1144
  (f) => f.toLowerCase().includes("status")
@@ -1174,20 +1173,28 @@ var List = ({
1174
1173
  isSelected && "bg-[var(--color-primary)]/10 shadow-inner",
1175
1174
  item.disabled && "opacity-50 cursor-not-allowed grayscale"
1176
1175
  ),
1177
- onClick: handleClick,
1176
+ action: rowAction,
1177
+ actionPayload: rowActionPayload,
1178
1178
  children: [
1179
- selectable && /* @__PURE__ */ jsx(Box, { className: "flex-shrink-0 pt-0.5", children: /* @__PURE__ */ jsx(
1180
- Checkbox,
1179
+ selectable && /* @__PURE__ */ jsx(
1180
+ Box,
1181
1181
  {
1182
- checked: isSelected,
1183
- onChange: (e) => handleSelect(item.id, e.target.checked),
1184
- onClick: (e) => e.stopPropagation(),
1185
- className: cn(
1186
- "transition-transform active:scale-95",
1187
- isSelected ? "border-[var(--color-primary)] bg-[var(--color-primary)]" : "border-[var(--color-border)]"
1182
+ className: "flex-shrink-0 pt-0.5",
1183
+ action: isSelected ? EntityDisplayEvents.DESELECT : EntityDisplayEvents.SELECT,
1184
+ actionPayload: { ids: isSelected ? selectedIds.filter((sid) => String(sid) !== item.id) : [...selectedIds.map(String), item.id] },
1185
+ children: /* @__PURE__ */ jsx(
1186
+ Checkbox,
1187
+ {
1188
+ checked: isSelected,
1189
+ onChange: (e) => handleSelect(item.id, e.target.checked),
1190
+ className: cn(
1191
+ "transition-transform active:scale-95",
1192
+ isSelected ? "border-[var(--color-primary)] bg-[var(--color-primary)]" : "border-[var(--color-border)]"
1193
+ )
1194
+ }
1188
1195
  )
1189
1196
  }
1190
- ) }),
1197
+ ),
1191
1198
  /* @__PURE__ */ jsxs(Box, { className: "flex-1 min-w-0 space-y-2.5", children: [
1192
1199
  /* @__PURE__ */ jsxs(HStack, { className: "flex items-center gap-4", children: [
1193
1200
  /* @__PURE__ */ jsx(
@@ -1270,10 +1277,7 @@ var List = ({
1270
1277
  Button,
1271
1278
  {
1272
1279
  variant: "ghost",
1273
- onClick: (e) => {
1274
- e.stopPropagation();
1275
- editAction.onClick?.();
1276
- },
1280
+ action: editAction.event,
1277
1281
  className: cn(
1278
1282
  "p-2 rounded-[var(--radius-lg)] transition-all duration-200",
1279
1283
  "hover:bg-[var(--color-primary)]/10 hover:text-[var(--color-primary)]",
@@ -1281,6 +1285,7 @@ var List = ({
1281
1285
  "active:scale-95"
1282
1286
  ),
1283
1287
  title: editAction.label,
1288
+ "data-testid": editAction.event ? `action-${editAction.event}` : void 0,
1284
1289
  children: /* @__PURE__ */ jsx(Pencil, { className: "w-4 h-4" })
1285
1290
  }
1286
1291
  ),
@@ -1288,10 +1293,7 @@ var List = ({
1288
1293
  Button,
1289
1294
  {
1290
1295
  variant: "ghost",
1291
- onClick: (e) => {
1292
- e.stopPropagation();
1293
- viewAction.onClick?.();
1294
- },
1296
+ action: viewAction.event,
1295
1297
  className: cn(
1296
1298
  "p-2 rounded-[var(--radius-lg)] transition-all duration-200",
1297
1299
  "hover:bg-[var(--color-muted)] hover:text-[var(--color-foreground)]",
@@ -1299,6 +1301,7 @@ var List = ({
1299
1301
  "active:scale-95"
1300
1302
  ),
1301
1303
  title: viewAction.label,
1304
+ "data-testid": viewAction.event ? `action-${viewAction.event}` : void 0,
1302
1305
  children: /* @__PURE__ */ jsx(Eye, { className: "w-4 h-4" })
1303
1306
  }
1304
1307
  ),
@@ -3634,8 +3637,9 @@ var DashboardGrid = ({
3634
3637
  cells,
3635
3638
  className
3636
3639
  }) => {
3640
+ const { t: _t } = useTranslate();
3637
3641
  return /* @__PURE__ */ jsx(
3638
- "div",
3642
+ Box,
3639
3643
  {
3640
3644
  className: cn(
3641
3645
  "grid w-full",
@@ -3643,17 +3647,17 @@ var DashboardGrid = ({
3643
3647
  gapStyles2[gap],
3644
3648
  className
3645
3649
  ),
3646
- children: cells.map((cell) => /* @__PURE__ */ jsx(
3647
- "div",
3650
+ children: cells.map((cell, idx) => /* @__PURE__ */ jsx(
3651
+ Box,
3648
3652
  {
3649
3653
  className: cn(
3650
3654
  "border-2 border-[var(--color-border)] bg-[var(--color-card)]",
3651
- colSpanStyles[cell.colSpan || 1],
3652
- rowSpanStyles[cell.rowSpan || 1]
3655
+ colSpanStyles[cell.colSpan ?? 1],
3656
+ rowSpanStyles[cell.rowSpan ?? 1]
3653
3657
  ),
3654
3658
  children: cell.content
3655
3659
  },
3656
- cell.id
3660
+ cell.id != null ? String(cell.id) : idx
3657
3661
  ))
3658
3662
  }
3659
3663
  );
@@ -1,4 +1,4 @@
1
- /* node_modules/.pnpm/katex@0.16.33/node_modules/katex/dist/katex.min.css */
1
+ /* ../../node_modules/.pnpm/katex@0.16.28/node_modules/katex/dist/katex.min.css */
2
2
  @font-face {
3
3
  font-display: block;
4
4
  font-family: KaTeX_AMS;
@@ -213,7 +213,7 @@
213
213
  border-color: currentColor;
214
214
  }
215
215
  .katex .katex-version:after {
216
- content: "0.16.33";
216
+ content: "0.16.28";
217
217
  }
218
218
  .katex .katex-mathml {
219
219
  clip: rect(1px, 1px, 1px, 1px);
@@ -988,15 +988,6 @@
988
988
  .katex svg {
989
989
  fill: currentColor;
990
990
  stroke: currentColor;
991
- display: block;
992
- height: inherit;
993
- position: absolute;
994
- width: 100%;
995
- }
996
- .katex svg path {
997
- stroke: none;
998
- }
999
- .katex svg {
1000
991
  fill-rule: nonzero;
1001
992
  fill-opacity: 1;
1002
993
  stroke-width: 1;
@@ -1006,6 +997,13 @@
1006
997
  stroke-dasharray: none;
1007
998
  stroke-dashoffset: 0;
1008
999
  stroke-opacity: 1;
1000
+ display: block;
1001
+ height: inherit;
1002
+ position: absolute;
1003
+ width: 100%;
1004
+ }
1005
+ .katex svg path {
1006
+ stroke: none;
1009
1007
  }
1010
1008
  .katex img {
1011
1009
  border-style: none;
@@ -1,12 +1,12 @@
1
- import { SuspenseConfigProvider } from '../chunk-5Z55L5V7.js';
1
+ import { SuspenseConfigProvider } from '../chunk-XTLMM6V5.js';
2
+ import { recordTransition, registerCheck, bindEventBus, bindTraitStateGetter } from '../chunk-45CTDYBT.js';
3
+ import '../chunk-KKCVDUK7.js';
2
4
  import { ThemeProvider } from '../chunk-BTXQJGFB.js';
3
5
  import { SelectionProvider, EntityDataProvider } from '../chunk-JLEMVREZ.js';
4
6
  export { SelectionContext, SelectionProvider, useSelection, useSelectionOptional } from '../chunk-JLEMVREZ.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.7",
3
+ "version": "2.1.9",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",
@@ -80,7 +80,7 @@
80
80
  "remark-gfm": "^4.0.0",
81
81
  "remark-math": "^6.0.0",
82
82
  "rehype-katex": "^7.0.0",
83
- "react-syntax-highlighter": "^15.6.1"
83
+ "react-syntax-highlighter": "^16.1.0"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "react": ">=18.0.0",
@@ -89,7 +89,7 @@
89
89
  "@tanstack/react-query": "^5.0.0",
90
90
  "three": "^0.160.0",
91
91
  "@react-three/fiber": "^8.15.0",
92
- "@react-three/drei": "^9.92.0"
92
+ "@react-three/drei": "^9.92.0 || ^10.0.0"
93
93
  },
94
94
  "devDependencies": {
95
95
  "react": "^19.0.0",