@almadar/ui 4.21.0 → 4.22.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.
Files changed (53) hide show
  1. package/dist/avl/index.cjs +17 -13
  2. package/dist/avl/index.js +17 -13
  3. package/dist/components/index.cjs +17 -13
  4. package/dist/components/index.js +17 -13
  5. package/dist/components/molecules/Accordion.d.ts +5 -1
  6. package/dist/components/molecules/CalendarGrid.d.ts +8 -5
  7. package/dist/components/molecules/Card.d.ts +3 -3
  8. package/dist/components/molecules/Carousel.d.ts +4 -1
  9. package/dist/components/molecules/DataGrid.d.ts +9 -3
  10. package/dist/components/molecules/DataList.d.ts +9 -3
  11. package/dist/components/molecules/EmptyState.d.ts +2 -1
  12. package/dist/components/molecules/ErrorState.d.ts +2 -1
  13. package/dist/components/molecules/MapView.d.ts +7 -3
  14. package/dist/components/molecules/Modal.d.ts +2 -1
  15. package/dist/components/molecules/Pagination.d.ts +7 -2
  16. package/dist/components/molecules/SidePanel.d.ts +2 -1
  17. package/dist/components/molecules/Tabs.d.ts +4 -1
  18. package/dist/components/molecules/Toast.d.ts +3 -2
  19. package/dist/components/molecules/WizardProgress.d.ts +4 -1
  20. package/dist/components/molecules/game/ActionButtons.d.ts +5 -1
  21. package/dist/components/molecules/game/CraftingRecipe.d.ts +4 -1
  22. package/dist/components/molecules/game/DPad.d.ts +5 -1
  23. package/dist/components/molecules/game/DialogueBox.d.ts +7 -5
  24. package/dist/components/molecules/game/InventoryGrid.d.ts +4 -1
  25. package/dist/components/molecules/game/InventoryPanel.d.ts +12 -6
  26. package/dist/components/molecules/game/IsometricCanvas.d.ts +13 -4
  27. package/dist/components/molecules/game/PlatformerCanvas.d.ts +9 -4
  28. package/dist/components/organisms/GraphCanvas.d.ts +4 -2
  29. package/dist/components/organisms/MediaGallery.d.ts +4 -1
  30. package/dist/components/organisms/PageHeader.d.ts +2 -1
  31. package/dist/components/organisms/Sidebar.d.ts +6 -3
  32. package/dist/components/organisms/SignaturePad.d.ts +5 -2
  33. package/dist/components/organisms/game/BattleBoard.d.ts +20 -8
  34. package/dist/components/organisms/game/CanvasEffect.d.ts +2 -1
  35. package/dist/components/organisms/game/CastleBoard.d.ts +14 -3
  36. package/dist/components/organisms/game/GameCanvas3D.d.ts +52 -8
  37. package/dist/components/organisms/game/TraitSlot.d.ts +7 -2
  38. package/dist/components/organisms/game/WorldMapBoard.d.ts +22 -5
  39. package/dist/components/organisms/game/hooks/useBattleState.d.ts +19 -7
  40. package/dist/components/organisms/game/puzzles/builder/BuilderBoard.d.ts +5 -1
  41. package/dist/components/organisms/game/puzzles/classifier/ClassifierBoard.d.ts +5 -1
  42. package/dist/components/organisms/game/puzzles/debugger/DebuggerBoard.d.ts +5 -1
  43. package/dist/components/organisms/game/puzzles/event-handler/EventHandlerBoard.d.ts +5 -2
  44. package/dist/components/organisms/game/puzzles/negotiator/NegotiatorBoard.d.ts +5 -1
  45. package/dist/components/organisms/game/puzzles/sequencer/SequencerBoard.d.ts +8 -2
  46. package/dist/components/organisms/game/puzzles/simulator/SimulatorBoard.d.ts +5 -1
  47. package/dist/components/organisms/game/puzzles/state-architect/StateArchitectBoard.d.ts +6 -2
  48. package/dist/components/organisms/game/three/hooks/useGameCanvas3DEvents.d.ts +52 -8
  49. package/dist/providers/index.cjs +17 -13
  50. package/dist/providers/index.js +17 -13
  51. package/dist/runtime/index.cjs +17 -13
  52. package/dist/runtime/index.js +17 -13
  53. package/package.json +2 -2
@@ -18423,6 +18423,7 @@ function formatValue(value, format) {
18423
18423
  function DataGrid({
18424
18424
  entity,
18425
18425
  fields,
18426
+ columns,
18426
18427
  itemActions,
18427
18428
  cols,
18428
18429
  gap = "md",
@@ -18444,6 +18445,7 @@ function DataGrid({
18444
18445
  const { t } = useTranslate();
18445
18446
  const [selectedIds, setSelectedIds] = useState(/* @__PURE__ */ new Set());
18446
18447
  const [visibleCount, setVisibleCount] = useState(pageSize || Infinity);
18448
+ const fieldDefs = fields ?? columns ?? [];
18447
18449
  const allData = Array.isArray(entity) ? entity : entity ? [entity] : [];
18448
18450
  const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
18449
18451
  const hasMoreLocal = pageSize > 0 && visibleCount < allData.length;
@@ -18471,9 +18473,9 @@ function DataGrid({
18471
18473
  return next;
18472
18474
  });
18473
18475
  }, [data, selectionEvent, eventBus]);
18474
- const titleField = fields.find((f3) => f3.variant === "h3" || f3.variant === "h4") ?? fields[0];
18475
- const badgeFields = fields.filter((f3) => f3.variant === "badge" && f3 !== titleField);
18476
- const bodyFields = fields.filter((f3) => f3 !== titleField && !badgeFields.includes(f3));
18476
+ const titleField = fieldDefs.find((f3) => f3.variant === "h3" || f3.variant === "h4") ?? fieldDefs[0];
18477
+ const badgeFields = fieldDefs.filter((f3) => f3.variant === "badge" && f3 !== titleField);
18478
+ const bodyFields = fieldDefs.filter((f3) => f3 !== titleField && !badgeFields.includes(f3));
18477
18479
  const primaryActions = itemActions?.filter((a) => a.variant !== "danger") ?? [];
18478
18480
  const dangerActions = itemActions?.filter((a) => a.variant === "danger") ?? [];
18479
18481
  const handleActionClick = (action, itemData) => (e) => {
@@ -18486,7 +18488,7 @@ function DataGrid({
18486
18488
  };
18487
18489
  const hasRenderProp = typeof children === "function";
18488
18490
  useEffect(() => {
18489
- if (data.length > 0 && !hasRenderProp && (!fields || fields.length === 0)) {
18491
+ if (data.length > 0 && !hasRenderProp && fieldDefs.length === 0) {
18490
18492
  const renderItemRaw = schemaRenderItem;
18491
18493
  const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
18492
18494
  dataGridLog.warn("renderItem-unresolved", {
@@ -18494,7 +18496,7 @@ function DataGrid({
18494
18496
  renderItemIsFnLambda: isFnLambda
18495
18497
  });
18496
18498
  }
18497
- }, [data, hasRenderProp, schemaRenderItem, fields]);
18499
+ }, [data, hasRenderProp, schemaRenderItem, fieldDefs]);
18498
18500
  const gridTemplateColumns = cols ? void 0 : `repeat(auto-fit, minmax(min(${minCardWidth}px, 100%), 1fr))`;
18499
18501
  const colsClass = cols ? {
18500
18502
  1: "grid-cols-1",
@@ -18799,6 +18801,7 @@ function groupData(items, field) {
18799
18801
  function DataList({
18800
18802
  entity,
18801
18803
  fields,
18804
+ columns,
18802
18805
  itemActions,
18803
18806
  gap = "none",
18804
18807
  variant = "default",
@@ -18828,6 +18831,7 @@ function DataList({
18828
18831
  const eventBus = useEventBus();
18829
18832
  const { t } = useTranslate();
18830
18833
  const [visibleCount, setVisibleCount] = React113__default.useState(pageSize || Infinity);
18834
+ const fieldDefs = fields ?? columns ?? [];
18831
18835
  const allData = Array.isArray(entity) ? entity : entity ? [entity] : [];
18832
18836
  const data = pageSize > 0 ? allData.slice(0, visibleCount) : allData;
18833
18837
  const hasMoreLocal = pageSize > 0 && visibleCount < allData.length;
@@ -18842,7 +18846,7 @@ function DataList({
18842
18846
  const isFnLambda = Array.isArray(renderItemRaw) && renderItemRaw.length >= 3 && (renderItemRaw[0] === "fn" || renderItemRaw[0] === "lambda");
18843
18847
  dataListLog.warn("renderItem-unresolved", {
18844
18848
  rowCount: data.length,
18845
- fieldsCount: fields?.length ?? 0,
18849
+ fieldsCount: fieldDefs.length,
18846
18850
  renderItemTypeOf,
18847
18851
  renderItemIsArray: Array.isArray(renderItemRaw),
18848
18852
  renderItemIsFnLambda: isFnLambda,
@@ -18851,11 +18855,11 @@ function DataList({
18851
18855
  sampleRowKeys: sampleKeys
18852
18856
  });
18853
18857
  }
18854
- }, [data, hasRenderProp, schemaRenderItem, children, fields]);
18855
- const titleField = fields.find((f3) => f3.variant === "h3" || f3.variant === "h4") ?? fields[0];
18856
- const badgeFields = fields.filter((f3) => f3.variant === "badge" && f3 !== titleField);
18857
- const progressFields = fields.filter((f3) => f3.variant === "progress");
18858
- const bodyFields = fields.filter(
18858
+ }, [data, hasRenderProp, schemaRenderItem, children, fieldDefs]);
18859
+ const titleField = fieldDefs.find((f3) => f3.variant === "h3" || f3.variant === "h4") ?? fieldDefs[0];
18860
+ const badgeFields = fieldDefs.filter((f3) => f3.variant === "badge" && f3 !== titleField);
18861
+ const progressFields = fieldDefs.filter((f3) => f3.variant === "progress");
18862
+ const bodyFields = fieldDefs.filter(
18859
18863
  (f3) => f3 !== titleField && !badgeFields.includes(f3) && !progressFields.includes(f3)
18860
18864
  );
18861
18865
  const handleActionClick = (action, itemData) => (e) => {
@@ -18887,7 +18891,7 @@ function DataList({
18887
18891
  if (isMessage) {
18888
18892
  const items2 = data.map((item) => item);
18889
18893
  const groups2 = groupBy ? groupData(items2, groupBy) : [{ label: "", items: items2 }];
18890
- const contentField = titleField?.name ?? fields[0]?.name ?? "";
18894
+ const contentField = titleField?.name ?? fieldDefs[0]?.name ?? "";
18891
18895
  return /* @__PURE__ */ jsx(VStack, { gap: "sm", className: cn("py-2", className), children: groups2.map((group, gi) => /* @__PURE__ */ jsxs(React113__default.Fragment, { children: [
18892
18896
  group.label && /* @__PURE__ */ jsx(Divider, { label: group.label, className: "my-2" }),
18893
18897
  group.items.map((itemData, index) => {
@@ -18895,7 +18899,7 @@ function DataList({
18895
18899
  const sender = senderField ? String(getNestedValue(itemData, senderField) ?? "") : "";
18896
18900
  const isSent = Boolean(currentUser && sender === currentUser);
18897
18901
  const content = getNestedValue(itemData, contentField);
18898
- const timestampField = fields.find((f3) => f3.format === "date");
18902
+ const timestampField = fieldDefs.find((f3) => f3.format === "date");
18899
18903
  const timestamp = timestampField ? getNestedValue(itemData, timestampField.name) : null;
18900
18904
  return /* @__PURE__ */ jsx(
18901
18905
  Box,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "4.21.0",
3
+ "version": "4.22.1",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",
@@ -118,7 +118,7 @@
118
118
  "access": "public"
119
119
  },
120
120
  "dependencies": {
121
- "@almadar/core": "^7.9.0",
121
+ "@almadar/core": "^7.10.0",
122
122
  "@almadar/evaluator": ">=2.9.2",
123
123
  "@almadar/patterns": ">=2.17.1",
124
124
  "@almadar/runtime": "^6.0.0",