@almadar/ui 4.50.7 → 4.50.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.
@@ -25379,7 +25379,8 @@ function DataGrid({
25379
25379
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "error", children: error.message }) });
25380
25380
  }
25381
25381
  if (data.length === 0) {
25382
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25382
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25383
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
25383
25384
  }
25384
25385
  const allIds = data.map((item, i) => item.id || String(i));
25385
25386
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -25764,7 +25765,8 @@ function DataList({
25764
25765
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "error", children: error.message }) });
25765
25766
  }
25766
25767
  if (data.length === 0) {
25767
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25768
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25769
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
25768
25770
  }
25769
25771
  const gapClass = {
25770
25772
  none: "",
@@ -59171,7 +59173,12 @@ var OrbPreviewNodeInner = (props) => {
59171
59173
  const elRect = patternEl.getBoundingClientRect();
59172
59174
  select({
59173
59175
  patternType: patternEl.getAttribute("data-pattern") ?? "unknown",
59174
- patternId: patternEl.getAttribute("data-id") ?? void 0,
59176
+ // `data-pattern-path` is the SExpr tree path (`children.0.…`) emitted by
59177
+ // UISlotRenderer; `data-id` is the runtime content id. `OrbInspector`
59178
+ // resolves pattern config by walking the render-ui SExpr tree, so the
59179
+ // path is the correct key — reading `data-id` silently broke prop
59180
+ // resolution and rendered every value as '—'.
59181
+ patternId: patternEl.getAttribute("data-pattern-path") ?? void 0,
59175
59182
  sourceTrait: patternEl.getAttribute("data-source-trait") ?? void 0,
59176
59183
  nodeData: data,
59177
59184
  rect: nodeRect ? {
@@ -59735,6 +59742,7 @@ init_AvlFieldType();
59735
59742
  init_types();
59736
59743
  init_useEventBus();
59737
59744
  init_useTranslate();
59745
+ var inspectorLog = logger.createLogger("almadar:ui:inspector");
59738
59746
  function formatExpression(expr) {
59739
59747
  if (!expr) return "";
59740
59748
  if (typeof expr === "string") return expr;
@@ -59852,8 +59860,17 @@ function OrbInspector({ node, schema, editable = false, onSchemaChange, onClose
59852
59860
  if (found) return found;
59853
59861
  }
59854
59862
  }
59863
+ if (selectedPattern.patternId) {
59864
+ inspectorLog.warn("pattern-config-unresolved", () => ({
59865
+ patternId: selectedPattern.patternId,
59866
+ patternType: selectedPattern.patternType,
59867
+ orbitalName,
59868
+ traitName,
59869
+ transitionEvent
59870
+ }));
59871
+ }
59855
59872
  return null;
59856
- }, [selectedPattern, transition]);
59873
+ }, [selectedPattern, transition, orbitalName, traitName, transitionEvent]);
59857
59874
  const orbCode = React93.useMemo(() => {
59858
59875
  const orbital = (schema.orbitals ?? []).find((o) => o.name === orbitalName);
59859
59876
  if (!orbital) return "{}";
@@ -913,6 +913,15 @@ interface PreviewNodeData extends Record<string, unknown> {
913
913
  * trace inline.
914
914
  */
915
915
  status?: 'idle' | 'running' | 'success' | 'error';
916
+ /**
917
+ * The `OrbitalSchema.name` this node was derived from. The reserved value
918
+ * `'__design_system__'` identifies nodes belonging to the Design System
919
+ * tab's synthesized catalog schema, so downstream event handlers can route
920
+ * mutation events to the project theme manifest instead of the project's
921
+ * orbital schema. Unset for project orbitals — handlers treat absence as
922
+ * "project schema".
923
+ */
924
+ sourceSchemaName?: string;
916
925
  }
917
926
  /** Data for event flow edges. */
918
927
  interface EventEdgeData extends Record<string, unknown> {
package/dist/avl/index.js CHANGED
@@ -25333,7 +25333,8 @@ function DataGrid({
25333
25333
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
25334
25334
  }
25335
25335
  if (data.length === 0) {
25336
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25336
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25337
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
25337
25338
  }
25338
25339
  const allIds = data.map((item, i) => item.id || String(i));
25339
25340
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -25718,7 +25719,8 @@ function DataList({
25718
25719
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
25719
25720
  }
25720
25721
  if (data.length === 0) {
25721
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25722
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
25723
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
25722
25724
  }
25723
25725
  const gapClass = {
25724
25726
  none: "",
@@ -59125,7 +59127,12 @@ var OrbPreviewNodeInner = (props) => {
59125
59127
  const elRect = patternEl.getBoundingClientRect();
59126
59128
  select({
59127
59129
  patternType: patternEl.getAttribute("data-pattern") ?? "unknown",
59128
- patternId: patternEl.getAttribute("data-id") ?? void 0,
59130
+ // `data-pattern-path` is the SExpr tree path (`children.0.…`) emitted by
59131
+ // UISlotRenderer; `data-id` is the runtime content id. `OrbInspector`
59132
+ // resolves pattern config by walking the render-ui SExpr tree, so the
59133
+ // path is the correct key — reading `data-id` silently broke prop
59134
+ // resolution and rendered every value as '—'.
59135
+ patternId: patternEl.getAttribute("data-pattern-path") ?? void 0,
59129
59136
  sourceTrait: patternEl.getAttribute("data-source-trait") ?? void 0,
59130
59137
  nodeData: data,
59131
59138
  rect: nodeRect ? {
@@ -59689,6 +59696,7 @@ init_AvlFieldType();
59689
59696
  init_types();
59690
59697
  init_useEventBus();
59691
59698
  init_useTranslate();
59699
+ var inspectorLog = createLogger("almadar:ui:inspector");
59692
59700
  function formatExpression(expr) {
59693
59701
  if (!expr) return "";
59694
59702
  if (typeof expr === "string") return expr;
@@ -59806,8 +59814,17 @@ function OrbInspector({ node, schema, editable = false, onSchemaChange, onClose
59806
59814
  if (found) return found;
59807
59815
  }
59808
59816
  }
59817
+ if (selectedPattern.patternId) {
59818
+ inspectorLog.warn("pattern-config-unresolved", () => ({
59819
+ patternId: selectedPattern.patternId,
59820
+ patternType: selectedPattern.patternType,
59821
+ orbitalName,
59822
+ traitName,
59823
+ transitionEvent
59824
+ }));
59825
+ }
59809
59826
  return null;
59810
- }, [selectedPattern, transition]);
59827
+ }, [selectedPattern, transition, orbitalName, traitName, transitionEvent]);
59811
59828
  const orbCode = useMemo(() => {
59812
59829
  const orbital = (schema.orbitals ?? []).find((o) => o.name === orbitalName);
59813
59830
  if (!orbital) return "{}";
@@ -20546,7 +20546,8 @@ function DataGrid({
20546
20546
  return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "error", children: error.message }) });
20547
20547
  }
20548
20548
  if (data.length === 0) {
20549
- return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20549
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20550
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
20550
20551
  }
20551
20552
  const allIds = data.map((item, i) => item.id || String(i));
20552
20553
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -20931,7 +20932,8 @@ function DataList({
20931
20932
  return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "error", children: error.message }) });
20932
20933
  }
20933
20934
  if (data.length === 0) {
20934
- return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20935
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(exports.Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20936
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
20935
20937
  }
20936
20938
  const gapClass = {
20937
20939
  none: "",
@@ -20500,7 +20500,8 @@ function DataGrid({
20500
20500
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
20501
20501
  }
20502
20502
  if (data.length === 0) {
20503
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20503
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20504
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
20504
20505
  }
20505
20506
  const allIds = data.map((item, i) => item.id || String(i));
20506
20507
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -20885,7 +20886,8 @@ function DataList({
20885
20886
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
20886
20887
  }
20887
20888
  if (data.length === 0) {
20888
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20889
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
20890
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
20889
20891
  }
20890
20892
  const gapClass = {
20891
20893
  none: "",
@@ -101,6 +101,15 @@ export interface PreviewNodeData extends Record<string, unknown> {
101
101
  * trace inline.
102
102
  */
103
103
  status?: 'idle' | 'running' | 'success' | 'error';
104
+ /**
105
+ * The `OrbitalSchema.name` this node was derived from. The reserved value
106
+ * `'__design_system__'` identifies nodes belonging to the Design System
107
+ * tab's synthesized catalog schema, so downstream event handlers can route
108
+ * mutation events to the project theme manifest instead of the project's
109
+ * orbital schema. Unset for project orbitals — handlers treat absence as
110
+ * "project schema".
111
+ */
112
+ sourceSchemaName?: string;
104
113
  }
105
114
  /** Data for event flow edges. */
106
115
  export interface EventEdgeData extends Record<string, unknown> {
@@ -21791,7 +21791,8 @@ function DataGrid({
21791
21791
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "error", children: error.message }) });
21792
21792
  }
21793
21793
  if (data.length === 0) {
21794
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21794
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21795
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
21795
21796
  }
21796
21797
  const allIds = data.map((item, i) => item.id || String(i));
21797
21798
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -22176,7 +22177,8 @@ function DataList({
22176
22177
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "error", children: error.message }) });
22177
22178
  }
22178
22179
  if (data.length === 0) {
22179
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
22180
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
22181
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
22180
22182
  }
22181
22183
  const gapClass = {
22182
22184
  none: "",
@@ -21745,7 +21745,8 @@ function DataGrid({
21745
21745
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
21746
21746
  }
21747
21747
  if (data.length === 0) {
21748
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21748
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21749
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
21749
21750
  }
21750
21751
  const allIds = data.map((item, i) => item.id || String(i));
21751
21752
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -22130,7 +22131,8 @@ function DataList({
22130
22131
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
22131
22132
  }
22132
22133
  if (data.length === 0) {
22133
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
22134
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
22135
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
22134
22136
  }
22135
22137
  const gapClass = {
22136
22138
  none: "",
@@ -21560,7 +21560,8 @@ function DataGrid({
21560
21560
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "error", children: error.message }) });
21561
21561
  }
21562
21562
  if (data.length === 0) {
21563
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21563
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21564
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
21564
21565
  }
21565
21566
  const allIds = data.map((item, i) => item.id || String(i));
21566
21567
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -21945,7 +21946,8 @@ function DataList({
21945
21946
  return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "error", children: error.message }) });
21946
21947
  }
21947
21948
  if (data.length === 0) {
21948
- return /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21949
+ const emptyNode = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21950
+ return dnd.enabled ? /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
21949
21951
  }
21950
21952
  const gapClass = {
21951
21953
  none: "",
@@ -21514,7 +21514,8 @@ function DataGrid({
21514
21514
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
21515
21515
  }
21516
21516
  if (data.length === 0) {
21517
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21517
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21518
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
21518
21519
  }
21519
21520
  const allIds = data.map((item, i) => item.id || String(i));
21520
21521
  const allSelected = allIds.length > 0 && allIds.every((id) => selectedIds.has(id));
@@ -21899,7 +21900,8 @@ function DataList({
21899
21900
  return /* @__PURE__ */ jsx(Box, { className: "text-center py-8", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "error", children: error.message }) });
21900
21901
  }
21901
21902
  if (data.length === 0) {
21902
- return /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21903
+ const emptyNode = /* @__PURE__ */ jsx(Box, { className: "text-center py-12", children: /* @__PURE__ */ jsx(Typography, { variant: "body", color: "secondary", children: t("empty.noItems") || "No items found" }) });
21904
+ return dnd.enabled ? /* @__PURE__ */ jsx(Fragment, { children: dnd.wrapContainer(emptyNode) }) : emptyNode;
21903
21905
  }
21904
21906
  const gapClass = {
21905
21907
  none: "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "4.50.7",
3
+ "version": "4.50.9",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "sideEffects": [