@almadar/ui 5.129.0 → 5.131.0

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.
@@ -1577,7 +1577,7 @@ var init_Button = __esm({
1577
1577
  "cursor-pointer",
1578
1578
  "chrome-button",
1579
1579
  "transition-all duration-normal",
1580
- "focus:outline-none focus:ring-[length:var(--focus-ring-width)] focus:ring-ring focus:ring-offset-[length:var(--focus-ring-offset)]",
1580
+ "focus:outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-offset-[length:var(--focus-ring-offset)]",
1581
1581
  "disabled:opacity-50 disabled:cursor-not-allowed",
1582
1582
  variantStyles[variant],
1583
1583
  sizeStyles[size],
@@ -2324,7 +2324,7 @@ var init_Badge = __esm({
2324
2324
  },
2325
2325
  className: cn(
2326
2326
  "inline-flex items-center justify-center rounded-sm",
2327
- "hover:bg-foreground/10 focus:outline-none focus:ring-1 focus:ring-ring",
2327
+ "hover:bg-foreground/10 focus:outline-none focus-visible:ring-1 focus-visible:ring-ring",
2328
2328
  "transition-colors",
2329
2329
  size === "sm" ? "w-4 h-4 ml-0.5" : size === "md" ? "w-5 h-5 ml-1" : "w-6 h-6 ml-1"
2330
2330
  ),
@@ -3682,7 +3682,7 @@ function NativeSelect({
3682
3682
  "block w-full border-[length:var(--border-width)] shadow-sm appearance-none",
3683
3683
  "px-3 py-2 pr-10 text-sm text-foreground font-medium",
3684
3684
  "bg-card",
3685
- "focus:outline-none focus:ring-2 focus:ring-offset-0 focus:ring-ring",
3685
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-ring",
3686
3686
  "disabled:bg-muted disabled:text-muted-foreground disabled:cursor-not-allowed",
3687
3687
  error ? "border-error focus:border-error" : "border-border focus:border-primary",
3688
3688
  className
@@ -3789,7 +3789,7 @@ function RichSelect({
3789
3789
  "block w-full border-[length:var(--border-width)] shadow-sm",
3790
3790
  "px-3 py-2 pr-10 text-sm text-start font-medium",
3791
3791
  "bg-card rounded-sm",
3792
- "focus:outline-none focus:ring-2 focus:ring-offset-0 focus:ring-ring",
3792
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-ring",
3793
3793
  "disabled:bg-muted disabled:text-muted-foreground disabled:cursor-not-allowed",
3794
3794
  error ? "border-error focus:border-error" : "border-border focus:border-primary",
3795
3795
  !hasValue && "text-muted-foreground"
@@ -4712,9 +4712,9 @@ var init_Radio = __esm({
4712
4712
  "flex items-center justify-center",
4713
4713
  "border-[length:var(--border-width)] transition-all cursor-pointer",
4714
4714
  sizeClasses4[size],
4715
- hasError ? "border-error peer-focus:ring-error/20" : "border-border peer-focus:ring-ring/20",
4715
+ hasError ? "border-error peer-focus-visible:ring-error/20" : "border-border peer-focus-visible:ring-ring/20",
4716
4716
  isChecked2 ? hasError ? "border-error" : "border-primary bg-primary" : "",
4717
- "peer-focus:outline-none peer-focus:ring-2 peer-focus:ring-offset-2",
4717
+ "peer-focus:outline-none peer-focus-visible:ring-2 peer-focus-visible:ring-offset-2",
4718
4718
  disabled && "opacity-50 cursor-not-allowed",
4719
4719
  !disabled && "hover:border-[var(--color-border-hover)]"
4720
4720
  ),
@@ -5185,7 +5185,7 @@ var init_ThemeToggle = __esm({
5185
5185
  "inline-flex items-center justify-center gap-2",
5186
5186
  "text-foreground",
5187
5187
  "hover:bg-muted border-[length:var(--border-width)] border-transparent hover:border-border",
5188
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
5188
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
5189
5189
  "transition-colors duration-fast",
5190
5190
  sizeClasses5[size],
5191
5191
  className
@@ -11430,10 +11430,12 @@ var init_Container = __esm({
11430
11430
  };
11431
11431
  paddingStyles3 = {
11432
11432
  none: "px-0",
11433
- sm: "px-4",
11434
- md: "px-6",
11435
- lg: "px-8",
11436
- xl: "px-12"
11433
+ // Mobile-tighter, desktop-identical: fixed px-6 on a 360px phone eats ~13% of
11434
+ // the viewport, so each token steps down below the sm breakpoint.
11435
+ sm: "px-3 sm:px-4",
11436
+ md: "px-4 sm:px-6",
11437
+ lg: "px-4 sm:px-6 md:px-8",
11438
+ xl: "px-4 sm:px-8 md:px-12"
11437
11439
  };
11438
11440
  Container = ({
11439
11441
  size,
@@ -12132,7 +12134,7 @@ var init_Accordion = __esm({
12132
12134
  "bg-card",
12133
12135
  "hover:bg-muted",
12134
12136
  "transition-colors duration-fast",
12135
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-inset",
12137
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset",
12136
12138
  "disabled:opacity-50 disabled:cursor-not-allowed",
12137
12139
  isOpen && "bg-muted font-bold"
12138
12140
  ),
@@ -18287,7 +18289,7 @@ var init_Breadcrumb = __esm({
18287
18289
  },
18288
18290
  className: cn(
18289
18291
  "flex items-center gap-1.5 transition-colors",
18290
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
18292
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
18291
18293
  isLast ? "text-foreground font-bold cursor-default" : "text-muted-foreground hover:text-foreground"
18292
18294
  ),
18293
18295
  "aria-current": isLast ? "page" : void 0,
@@ -22841,7 +22843,7 @@ function DataGrid({
22841
22843
  ] }, field.name);
22842
22844
  }) })
22843
22845
  ] }),
22844
- dangerActions.length > 0 && /* @__PURE__ */ jsx(HStack, { gap: "xs", className: "flex-shrink-0", children: dangerActions.map((action, idx) => /* @__PURE__ */ jsxs(
22846
+ dangerActions.length > 0 && /* @__PURE__ */ jsx(HStack, { gap: "xs", className: "flex-shrink-0", children: dangerActions.map((action, idx) => /* @__PURE__ */ jsx(
22845
22847
  Button,
22846
22848
  {
22847
22849
  variant: "ghost",
@@ -22849,11 +22851,10 @@ function DataGrid({
22849
22851
  onClick: handleActionClick(action, itemData),
22850
22852
  "data-testid": `action-${action.event}`,
22851
22853
  "data-row-id": String(itemData.id),
22854
+ "aria-label": action.label,
22855
+ title: action.label,
22852
22856
  className: "text-error hover:text-error hover:bg-error/10 px-2",
22853
- children: [
22854
- action.icon && renderIconInput(action.icon, { size: "xs" }),
22855
- action.label
22856
- ]
22857
+ children: action.icon ? renderIconInput(action.icon, { size: "xs" }) : action.label
22857
22858
  },
22858
22859
  idx
22859
22860
  )) })
@@ -23655,10 +23656,7 @@ var init_FileTree = __esm({
23655
23656
  className,
23656
23657
  indent = 16
23657
23658
  }) => {
23658
- const { t } = useTranslate();
23659
- if (tree.length === 0) {
23660
- return /* @__PURE__ */ jsx(Box, { className: `p-4 ${className ?? ""}`, children: /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "muted", children: t("fileTree.noFiles") }) });
23661
- }
23659
+ if (tree.length === 0) return null;
23662
23660
  return /* @__PURE__ */ jsx(Box, { className: `py-1 overflow-y-auto ${className ?? ""}`, role: "tree", children: tree.map((node) => /* @__PURE__ */ jsx(
23663
23661
  TreeNodeItem,
23664
23662
  {
@@ -23699,7 +23697,7 @@ var init_FormField = __esm({
23699
23697
  FormField.displayName = "FormField";
23700
23698
  }
23701
23699
  });
23702
- var resolveFilterType, lookStyles6, FilterGroup;
23700
+ var resolveFilterType, lookStyles6, FilterGroupControls, FilterGroupPopover, FilterGroup;
23703
23701
  var init_FilterGroup = __esm({
23704
23702
  "components/core/molecules/FilterGroup.tsx"() {
23705
23703
  "use client";
@@ -23717,10 +23715,10 @@ var init_FilterGroup = __esm({
23717
23715
  toolbar: "",
23718
23716
  chips: "gap-1 [&_input]:rounded-pill [&_select]:rounded-pill [&_button]:rounded-pill [&_input]:!px-3 [&_select]:!px-3 [&_input]:bg-muted [&_select]:bg-muted [&_label]:hidden",
23719
23717
  pills: "gap-2 [&_input]:rounded-pill [&_select]:rounded-pill [&_button]:rounded-pill",
23720
- "popover-trigger": "[&>*:not(:first-child)]:hidden",
23718
+ "popover-trigger": "",
23721
23719
  "inline-column-header": "hidden"
23722
23720
  };
23723
- FilterGroup = ({
23721
+ FilterGroupControls = ({
23724
23722
  entity,
23725
23723
  filters,
23726
23724
  onFilterChange,
@@ -24056,7 +24054,7 @@ var init_FilterGroup = __esm({
24056
24054
  className: "text-muted-foreground",
24057
24055
  children: [
24058
24056
  /* @__PURE__ */ jsx(Icon, { name: "filter", className: "h-4 w-4" }),
24059
- /* @__PURE__ */ jsx("span", { className: "text-sm font-bold uppercase tracking-wide", children: t("filterGroup.filters") })
24057
+ /* @__PURE__ */ jsx("span", { className: "text-xs font-bold uppercase tracking-wide", children: t("filterGroup.filters") })
24060
24058
  ]
24061
24059
  }
24062
24060
  ),
@@ -24147,6 +24145,42 @@ var init_FilterGroup = __esm({
24147
24145
  }
24148
24146
  );
24149
24147
  };
24148
+ FilterGroupControls.displayName = "FilterGroupControls";
24149
+ FilterGroupPopover = (props) => {
24150
+ const { t } = useTranslate();
24151
+ const [open, setOpen] = useState(false);
24152
+ const queryState = useQuerySingleton(props.query);
24153
+ const activeFilterCount = queryState?.filters ? Object.values(queryState.filters).filter((v) => v !== null && v !== void 0).length : 0;
24154
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative inline-block", props.className), children: [
24155
+ /* @__PURE__ */ jsx(
24156
+ Button,
24157
+ {
24158
+ variant: activeFilterCount > 0 ? "secondary" : "ghost",
24159
+ size: "sm",
24160
+ leftIcon: "filter",
24161
+ onClick: () => setOpen((o) => !o),
24162
+ "aria-expanded": open,
24163
+ "aria-haspopup": "true",
24164
+ children: /* @__PURE__ */ jsxs(HStack, { gap: "xs", align: "center", children: [
24165
+ /* @__PURE__ */ jsx("span", { children: t("filterGroup.filters") }),
24166
+ activeFilterCount > 0 && /* @__PURE__ */ jsx(Badge, { variant: "primary", size: "sm", children: activeFilterCount })
24167
+ ] })
24168
+ }
24169
+ ),
24170
+ open && /* @__PURE__ */ jsx("div", { className: "absolute left-0 z-50 mt-2 min-w-[16rem] rounded-lg border border-[var(--color-border)] bg-[var(--color-card)] p-card-md shadow-main", children: /* @__PURE__ */ jsx(
24171
+ FilterGroupControls,
24172
+ {
24173
+ ...props,
24174
+ className: void 0,
24175
+ look: "toolbar",
24176
+ variant: "vertical",
24177
+ showIcon: false
24178
+ }
24179
+ ) })
24180
+ ] });
24181
+ };
24182
+ FilterGroupPopover.displayName = "FilterGroupPopover";
24183
+ FilterGroup = (props) => props.look === "popover-trigger" ? /* @__PURE__ */ jsx(FilterGroupPopover, { ...props }) : /* @__PURE__ */ jsx(FilterGroupControls, { ...props });
24150
24184
  FilterGroup.displayName = "FilterGroup";
24151
24185
  }
24152
24186
  });
@@ -27061,7 +27095,7 @@ var init_NumberStepper = __esm({
27061
27095
  "active:bg-muted",
27062
27096
  "transition-colors duration-instant",
27063
27097
  "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent",
27064
- "focus:outline-none focus:ring-[length:var(--focus-ring-width)] focus:ring-ring focus:ring-inset",
27098
+ "focus:outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-inset",
27065
27099
  styles.button
27066
27100
  ),
27067
27101
  "aria-label": t("aria.decrease"),
@@ -27102,7 +27136,7 @@ var init_NumberStepper = __esm({
27102
27136
  "active:bg-muted",
27103
27137
  "transition-colors duration-instant",
27104
27138
  "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent",
27105
- "focus:outline-none focus:ring-[length:var(--focus-ring-width)] focus:ring-ring focus:ring-inset",
27139
+ "focus:outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-inset",
27106
27140
  styles.button
27107
27141
  ),
27108
27142
  "aria-label": t("aria.increase"),
@@ -27558,7 +27592,7 @@ var init_Lightbox = __esm({
27558
27592
  "p-2 rounded-full",
27559
27593
  "text-[var(--color-foreground)] bg-[var(--color-card)]",
27560
27594
  "hover:bg-opacity-70 transition-opacity",
27561
- "focus:outline-none focus:ring-2 focus:ring-ring"
27595
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"
27562
27596
  ),
27563
27597
  "aria-label": t("aria.closeModal"),
27564
27598
  children: /* @__PURE__ */ jsx(Icon, { name: "x", className: "w-6 h-6" })
@@ -27577,7 +27611,7 @@ var init_Lightbox = __esm({
27577
27611
  "p-2 rounded-full",
27578
27612
  "text-[var(--color-foreground)] bg-[var(--color-card)]",
27579
27613
  "hover:bg-opacity-70 transition-opacity",
27580
- "focus:outline-none focus:ring-2 focus:ring-ring"
27614
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"
27581
27615
  ),
27582
27616
  "aria-label": t("aria.previousImage"),
27583
27617
  children: /* @__PURE__ */ jsx(Icon, { name: "chevron-left", className: "w-8 h-8" })
@@ -27614,7 +27648,7 @@ var init_Lightbox = __esm({
27614
27648
  "p-2 rounded-full",
27615
27649
  "text-[var(--color-foreground)] bg-[var(--color-card)]",
27616
27650
  "hover:bg-opacity-70 transition-opacity",
27617
- "focus:outline-none focus:ring-2 focus:ring-ring"
27651
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring"
27618
27652
  ),
27619
27653
  "aria-label": t("aria.nextImage"),
27620
27654
  children: /* @__PURE__ */ jsx(Icon, { name: "chevron-right", className: "w-8 h-8" })
@@ -27788,9 +27822,20 @@ function TableView({
27788
27822
  const inlineActionCount = hasActions ? maxInlineActions != null ? Math.min(itemActions.length, maxInlineActions) : itemActions.length : 0;
27789
27823
  const hasOverflowActions = hasActions && maxInlineActions != null && itemActions.length > maxInlineActions;
27790
27824
  const actionsTrack = hasActions ? `${inlineActionCount * 6 + (hasOverflowActions ? 3 : 0)}rem` : null;
27825
+ const colFloors = React82__default.useMemo(
27826
+ () => colDefs.map((col) => {
27827
+ const longest = data.reduce((widest, row) => {
27828
+ const cell = formatCell(asFieldValue(getNestedValue(row, col.field ?? col.key)), col.format);
27829
+ return Math.max(widest, cell.length);
27830
+ }, columnLabel(col).length);
27831
+ const chrome = col.format === "badge" ? BADGE_CHROME_CH : 0;
27832
+ return Math.min(longest + chrome, MAX_MEASURED_COL_CH);
27833
+ }),
27834
+ [colDefs, data]
27835
+ );
27791
27836
  const gridTemplateColumns = [
27792
27837
  selectable ? "auto" : null,
27793
- ...colDefs.map((c) => c.width ?? "minmax(0, 1fr)"),
27838
+ ...colDefs.map((c, i) => c.width ?? `minmax(${colFloors[i]}ch, 1fr)`),
27794
27839
  actionsTrack
27795
27840
  ].filter(Boolean).join(" ");
27796
27841
  const header = /* @__PURE__ */ jsxs(
@@ -27874,7 +27919,7 @@ function TableView({
27874
27919
  col.className
27875
27920
  );
27876
27921
  if (col.format === "badge" && raw != null && raw !== "") {
27877
- return /* @__PURE__ */ jsx(Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsx(Badge, { variant: statusVariant4(String(raw)), size: "sm", children: String(raw) }) }, col.key);
27922
+ return /* @__PURE__ */ jsx(Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsx(Badge, { variant: statusVariant4(String(raw)), size: "sm", className: "whitespace-nowrap", children: String(raw) }) }, col.key);
27878
27923
  }
27879
27924
  return /* @__PURE__ */ jsx(Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsx("span", { className: "truncate", children: formatCell(raw, col.format) }) }, col.key);
27880
27925
  }),
@@ -27957,7 +28002,7 @@ function TableView({
27957
28002
  }
27958
28003
  );
27959
28004
  }
27960
- var alignClass, weightClass, LOOKS;
28005
+ var MAX_MEASURED_COL_CH, BADGE_CHROME_CH, alignClass, weightClass, LOOKS;
27961
28006
  var init_TableView = __esm({
27962
28007
  "components/core/molecules/TableView.tsx"() {
27963
28008
  "use client";
@@ -27975,6 +28020,8 @@ var init_TableView = __esm({
27975
28020
  init_Menu();
27976
28021
  init_useDataDnd();
27977
28022
  createLogger("almadar:ui:table-view");
28023
+ MAX_MEASURED_COL_CH = 32;
28024
+ BADGE_CHROME_CH = 4;
27978
28025
  alignClass = {
27979
28026
  left: "justify-start text-left",
27980
28027
  center: "justify-center text-center",
@@ -30072,7 +30119,7 @@ var init_VoteStack = __esm({
30072
30119
  "active:bg-muted",
30073
30120
  "transition-colors duration-instant",
30074
30121
  "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent",
30075
- "focus:outline-none focus:ring-[length:var(--focus-ring-width)] focus:ring-ring focus:ring-inset",
30122
+ "focus:outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-inset",
30076
30123
  styles.button
30077
30124
  ),
30078
30125
  children: /* @__PURE__ */ jsx(Icon, { name: "chevron-up", className: styles.icon })
@@ -30109,7 +30156,7 @@ var init_VoteStack = __esm({
30109
30156
  "active:bg-muted",
30110
30157
  "transition-colors duration-instant",
30111
30158
  "disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent",
30112
- "focus:outline-none focus:ring-[length:var(--focus-ring-width)] focus:ring-ring focus:ring-inset",
30159
+ "focus:outline-none focus-visible:ring-[length:var(--focus-ring-width)] focus-visible:ring-ring focus-visible:ring-inset",
30113
30160
  styles.button
30114
30161
  ),
30115
30162
  children: /* @__PURE__ */ jsx(Icon, { name: "chevron-down", className: styles.icon })
@@ -30630,7 +30677,7 @@ var init_QrScanner = __esm({
30630
30677
  // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
30631
30678
  "rounded-full bg-black bg-opacity-60 p-2 text-white",
30632
30679
  // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
30633
- "hover:bg-opacity-80 focus:outline-none focus:ring-2 focus:ring-white"
30680
+ "hover:bg-opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-white"
30634
30681
  ),
30635
30682
  "aria-label": isPaused ? t("qrScanner.resumeScanning") : t("qrScanner.pauseScanning"),
30636
30683
  children: isPaused ? /* @__PURE__ */ jsx(Icon, { name: "play", className: "h-4 w-4" }) : /* @__PURE__ */ jsx(Icon, { name: "pause", className: "h-4 w-4" })
@@ -30645,7 +30692,7 @@ var init_QrScanner = __esm({
30645
30692
  // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
30646
30693
  "rounded-full bg-black bg-opacity-60 p-2 text-white",
30647
30694
  // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
30648
- "hover:bg-opacity-80 focus:outline-none focus:ring-2 focus:ring-white"
30695
+ "hover:bg-opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-white"
30649
30696
  ),
30650
30697
  "aria-label": currentFacing === "environment" ? t("qrScanner.switchToFrontCamera") : t("qrScanner.switchToRearCamera"),
30651
30698
  children: /* @__PURE__ */ jsx(Icon, { name: "refresh-cw", className: "h-4 w-4" })
@@ -30660,7 +30707,7 @@ var init_QrScanner = __esm({
30660
30707
  // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
30661
30708
  "rounded-full bg-black bg-opacity-60 px-3 py-2 text-xs text-white",
30662
30709
  // eslint-disable-next-line almadar/no-hardcoded-colors -- media overlay: always over a dark scrim
30663
- "hover:bg-opacity-80 focus:outline-none focus:ring-2 focus:ring-white"
30710
+ "hover:bg-opacity-80 focus:outline-none focus-visible:ring-2 focus-visible:ring-white"
30664
30711
  ),
30665
30712
  "aria-label": t("aria.mockScanDev"),
30666
30713
  children: t("qrScanner.mockScan")
@@ -42497,7 +42544,7 @@ var init_TabbedContainer = __esm({
42497
42544
  onClick: () => !isDisabled && handleTabChange(tab.id),
42498
42545
  className: cn(
42499
42546
  "flex items-center gap-2 px-4 py-3 text-sm font-medium transition-colors",
42500
- "focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
42547
+ "focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
42501
42548
  "disabled:opacity-50 disabled:cursor-not-allowed",
42502
42549
  isActive ? "bg-primary text-primary-foreground" : "bg-card text-foreground hover:bg-muted",
42503
42550
  isVertical ? "justify-start" : "justify-center"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "5.129.0",
3
+ "version": "5.131.0",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -122,7 +122,7 @@
122
122
  "@almadar/evaluator": "^2.37.0",
123
123
  "@almadar/logger": "^1.10.0",
124
124
  "@almadar/runtime": "^6.41.0",
125
- "@almadar/std": "^16.147.0",
125
+ "@almadar/std": "^16.148.0",
126
126
  "@almadar/syntax": "^1.13.0",
127
127
  "@dnd-kit/core": "^6.3.1",
128
128
  "@dnd-kit/sortable": "^10.0.0",