@almadar/ui 6.27.0 → 6.29.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.
- package/dist/{EntityBindingContext-CTZw2DbY.d.cts → EntityBindingContext-UyeCfEBS.d.cts} +29 -3
- package/dist/{EntityBindingContext-CTZw2DbY.d.ts → EntityBindingContext-UyeCfEBS.d.ts} +29 -3
- package/dist/avl/index.cjs +90 -50
- package/dist/avl/index.js +90 -50
- package/dist/components/index.cjs +50 -40
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +50 -40
- package/dist/providers/index.cjs +56 -44
- package/dist/providers/index.d.cts +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +56 -44
- package/dist/runtime/index.cjs +90 -50
- package/dist/runtime/index.d.cts +16 -2
- package/dist/runtime/index.d.ts +16 -2
- package/dist/runtime/index.js +90 -50
- package/package.json +5 -5
package/dist/components/index.js
CHANGED
|
@@ -6983,6 +6983,13 @@ var init_slot_types = __esm({
|
|
|
6983
6983
|
nextRefId = 1;
|
|
6984
6984
|
}
|
|
6985
6985
|
});
|
|
6986
|
+
var SlotContainedContext;
|
|
6987
|
+
var init_slotContained = __esm({
|
|
6988
|
+
"lib/slotContained.ts"() {
|
|
6989
|
+
"use client";
|
|
6990
|
+
SlotContainedContext = createContext(false);
|
|
6991
|
+
}
|
|
6992
|
+
});
|
|
6986
6993
|
var ErrorState;
|
|
6987
6994
|
var init_ErrorState = __esm({
|
|
6988
6995
|
"components/core/molecules/ErrorState.tsx"() {
|
|
@@ -36897,7 +36904,6 @@ function TableView({
|
|
|
36897
36904
|
columns,
|
|
36898
36905
|
fields,
|
|
36899
36906
|
itemActions,
|
|
36900
|
-
maxInlineActions,
|
|
36901
36907
|
itemClickEvent = "",
|
|
36902
36908
|
selectable = false,
|
|
36903
36909
|
selectEvent,
|
|
@@ -36931,8 +36937,7 @@ function TableView({
|
|
|
36931
36937
|
const [localSelected, setLocalSelected] = React79__default.useState(/* @__PURE__ */ new Set());
|
|
36932
36938
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
36933
36939
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
36934
|
-
const
|
|
36935
|
-
const overflowActions = maxInlineActions != null ? actionDefs.slice(maxInlineActions) : actionDefs;
|
|
36940
|
+
const overflowActions = actionDefs;
|
|
36936
36941
|
const fireAction = (action, row) => eventBus.emit(`UI:${action.event}`, {
|
|
36937
36942
|
id: row.id,
|
|
36938
36943
|
row
|
|
@@ -37114,7 +37119,7 @@ function TableView({
|
|
|
37114
37119
|
}
|
|
37115
37120
|
return /* @__PURE__ */ jsx(Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsx("span", { className: "truncate text-foreground", children: formatCell(raw, col.format, relationsData?.[col.field ?? col.key]) }) }, col.key);
|
|
37116
37121
|
}),
|
|
37117
|
-
hasActions && /* @__PURE__ */
|
|
37122
|
+
hasActions && /* @__PURE__ */ jsx(
|
|
37118
37123
|
HStack,
|
|
37119
37124
|
{
|
|
37120
37125
|
gap: "xs",
|
|
@@ -37128,38 +37133,20 @@ function TableView({
|
|
|
37128
37133
|
"border-l border-[var(--color-border)]",
|
|
37129
37134
|
lk.striped && index % 2 === 1 ? "bg-[var(--color-surface-subtle)]" : "bg-[var(--color-card)] group-hover:bg-[var(--color-surface-subtle)]"
|
|
37130
37135
|
),
|
|
37131
|
-
children:
|
|
37132
|
-
|
|
37133
|
-
|
|
37134
|
-
|
|
37135
|
-
|
|
37136
|
-
|
|
37137
|
-
|
|
37138
|
-
|
|
37139
|
-
|
|
37140
|
-
|
|
37141
|
-
|
|
37142
|
-
|
|
37143
|
-
|
|
37144
|
-
|
|
37145
|
-
},
|
|
37146
|
-
action.event
|
|
37147
|
-
)),
|
|
37148
|
-
overflowActions.length > 0 && /* @__PURE__ */ jsx(
|
|
37149
|
-
Menu,
|
|
37150
|
-
{
|
|
37151
|
-
position: "bottom-end",
|
|
37152
|
-
trigger: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsx(Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
37153
|
-
items: overflowActions.map((action) => ({
|
|
37154
|
-
label: action.label,
|
|
37155
|
-
icon: action.icon,
|
|
37156
|
-
event: action.event,
|
|
37157
|
-
variant: action.variant === "danger" ? "danger" : "default",
|
|
37158
|
-
onClick: () => fireAction(action, row)
|
|
37159
|
-
}))
|
|
37160
|
-
}
|
|
37161
|
-
)
|
|
37162
|
-
]
|
|
37136
|
+
children: overflowActions.length > 0 && /* @__PURE__ */ jsx(
|
|
37137
|
+
Menu,
|
|
37138
|
+
{
|
|
37139
|
+
position: "bottom-end",
|
|
37140
|
+
trigger: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsx(Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
37141
|
+
items: overflowActions.map((action) => ({
|
|
37142
|
+
label: action.label,
|
|
37143
|
+
icon: action.icon,
|
|
37144
|
+
event: action.event,
|
|
37145
|
+
variant: action.variant === "danger" ? "danger" : "default",
|
|
37146
|
+
onClick: () => fireAction(action, row)
|
|
37147
|
+
}))
|
|
37148
|
+
}
|
|
37149
|
+
)
|
|
37163
37150
|
}
|
|
37164
37151
|
)
|
|
37165
37152
|
]
|
|
@@ -46815,6 +46802,7 @@ var init_DetailPanel = __esm({
|
|
|
46815
46802
|
init_EmptyState();
|
|
46816
46803
|
init_cn();
|
|
46817
46804
|
init_portalRoot();
|
|
46805
|
+
init_slotContained();
|
|
46818
46806
|
init_format();
|
|
46819
46807
|
init_getNestedValue();
|
|
46820
46808
|
init_relationLabel();
|
|
@@ -46846,6 +46834,7 @@ var init_DetailPanel = __esm({
|
|
|
46846
46834
|
}) => {
|
|
46847
46835
|
const eventBus = useEventBus();
|
|
46848
46836
|
const { t } = useTranslate();
|
|
46837
|
+
const contained = useContext(SlotContainedContext);
|
|
46849
46838
|
const [titleDraft, setTitleDraft] = React79__default.useState(null);
|
|
46850
46839
|
const isFieldDefArray = (arr) => {
|
|
46851
46840
|
if (!arr || arr.length === 0) return false;
|
|
@@ -47233,8 +47222,9 @@ var init_DetailPanel = __esm({
|
|
|
47233
47222
|
if (!slideOver) {
|
|
47234
47223
|
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
47235
47224
|
}
|
|
47236
|
-
const panel = /* @__PURE__ */ jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
47237
|
-
|
|
47225
|
+
const panel = /* @__PURE__ */ jsx(Box, { className: cn(contained ? "absolute" : "fixed", "inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
47226
|
+
if (contained || typeof document === "undefined") return panel;
|
|
47227
|
+
return createPortal(panel, getOrCreatePortalRoot());
|
|
47238
47228
|
};
|
|
47239
47229
|
DetailPanel.displayName = "DetailPanel";
|
|
47240
47230
|
}
|
|
@@ -53712,6 +53702,7 @@ var init_component_registry_generated = __esm({
|
|
|
53712
53702
|
// components/core/organisms/UISlotRenderer.tsx
|
|
53713
53703
|
var UISlotRenderer_exports = {};
|
|
53714
53704
|
__export(UISlotRenderer_exports, {
|
|
53705
|
+
SlotContainedContext: () => SlotContainedContext,
|
|
53715
53706
|
SlotContentRenderer: () => SlotContentRenderer,
|
|
53716
53707
|
SuspenseConfigProvider: () => SuspenseConfigProvider,
|
|
53717
53708
|
UISlotComponent: () => UISlotComponent,
|
|
@@ -53884,6 +53875,25 @@ function renderContainedPortal(t, slot, content, onDismiss) {
|
|
|
53884
53875
|
}
|
|
53885
53876
|
);
|
|
53886
53877
|
case "drawer":
|
|
53878
|
+
if (content.pattern === "detail-panel" && content.props.slideOver === true) {
|
|
53879
|
+
return /* @__PURE__ */ jsx(
|
|
53880
|
+
Box,
|
|
53881
|
+
{
|
|
53882
|
+
id: slotId,
|
|
53883
|
+
className: "absolute inset-0 z-50 overflow-hidden",
|
|
53884
|
+
style: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
|
|
53885
|
+
onClick: onDismiss,
|
|
53886
|
+
children: /* @__PURE__ */ jsx(
|
|
53887
|
+
Box,
|
|
53888
|
+
{
|
|
53889
|
+
className: "absolute inset-y-0 right-0 pointer-events-auto",
|
|
53890
|
+
onClick: (e) => e.stopPropagation(),
|
|
53891
|
+
children: slotContent
|
|
53892
|
+
}
|
|
53893
|
+
)
|
|
53894
|
+
}
|
|
53895
|
+
);
|
|
53896
|
+
}
|
|
53887
53897
|
return /* @__PURE__ */ jsx(
|
|
53888
53898
|
Box,
|
|
53889
53899
|
{
|
|
@@ -54735,7 +54745,7 @@ function UISlotRenderer({
|
|
|
54735
54745
|
}
|
|
54736
54746
|
return wrapped;
|
|
54737
54747
|
}
|
|
54738
|
-
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext,
|
|
54748
|
+
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext, SLOT_SKELETON_MAP, CONTENT_NODE_SLOTS, PATTERNS_WITH_CHILDREN, traitRefPresenceCache;
|
|
54739
54749
|
var init_UISlotRenderer = __esm({
|
|
54740
54750
|
"components/core/organisms/UISlotRenderer.tsx"() {
|
|
54741
54751
|
"use client";
|
|
@@ -54750,6 +54760,7 @@ var init_UISlotRenderer = __esm({
|
|
|
54750
54760
|
init_cn();
|
|
54751
54761
|
init_format();
|
|
54752
54762
|
init_portalRoot();
|
|
54763
|
+
init_slotContained();
|
|
54753
54764
|
init_ErrorBoundary();
|
|
54754
54765
|
init_Skeleton();
|
|
54755
54766
|
init_renderer();
|
|
@@ -54759,7 +54770,6 @@ var init_UISlotRenderer = __esm({
|
|
|
54759
54770
|
scopeWrapLog = createLogger("almadar:ui:scope-wrap");
|
|
54760
54771
|
TRAIT_BINDING_RE = /^@trait\.([A-Z][A-Za-z0-9]*)$/;
|
|
54761
54772
|
SuspenseConfigContext = createContext({ enabled: false });
|
|
54762
|
-
SlotContainedContext = createContext(false);
|
|
54763
54773
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
54764
54774
|
SLOT_SKELETON_MAP = {
|
|
54765
54775
|
main: "table",
|
package/dist/providers/index.cjs
CHANGED
|
@@ -2337,6 +2337,13 @@ var init_slot_types = __esm({
|
|
|
2337
2337
|
nextRefId = 1;
|
|
2338
2338
|
}
|
|
2339
2339
|
});
|
|
2340
|
+
var SlotContainedContext;
|
|
2341
|
+
var init_slotContained = __esm({
|
|
2342
|
+
"lib/slotContained.ts"() {
|
|
2343
|
+
"use client";
|
|
2344
|
+
SlotContainedContext = React89.createContext(false);
|
|
2345
|
+
}
|
|
2346
|
+
});
|
|
2340
2347
|
function buildForkPaths(x, y, branches, scale) {
|
|
2341
2348
|
const inLength = 30 * scale;
|
|
2342
2349
|
const outLength = 30 * scale;
|
|
@@ -35919,7 +35926,6 @@ function TableView({
|
|
|
35919
35926
|
columns,
|
|
35920
35927
|
fields,
|
|
35921
35928
|
itemActions,
|
|
35922
|
-
maxInlineActions,
|
|
35923
35929
|
itemClickEvent = "",
|
|
35924
35930
|
selectable = false,
|
|
35925
35931
|
selectEvent,
|
|
@@ -35953,8 +35959,7 @@ function TableView({
|
|
|
35953
35959
|
const [localSelected, setLocalSelected] = React89__namespace.default.useState(/* @__PURE__ */ new Set());
|
|
35954
35960
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
35955
35961
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
35956
|
-
const
|
|
35957
|
-
const overflowActions = maxInlineActions != null ? actionDefs.slice(maxInlineActions) : actionDefs;
|
|
35962
|
+
const overflowActions = actionDefs;
|
|
35958
35963
|
const fireAction = (action, row) => eventBus.emit(`UI:${action.event}`, {
|
|
35959
35964
|
id: row.id,
|
|
35960
35965
|
row
|
|
@@ -36136,7 +36141,7 @@ function TableView({
|
|
|
36136
36141
|
}
|
|
36137
36142
|
return /* @__PURE__ */ jsxRuntime.jsx(Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-foreground", children: formatCell(raw, col.format, relationsData?.[col.field ?? col.key]) }) }, col.key);
|
|
36138
36143
|
}),
|
|
36139
|
-
hasActions && /* @__PURE__ */ jsxRuntime.
|
|
36144
|
+
hasActions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36140
36145
|
HStack,
|
|
36141
36146
|
{
|
|
36142
36147
|
gap: "xs",
|
|
@@ -36150,38 +36155,20 @@ function TableView({
|
|
|
36150
36155
|
"border-l border-[var(--color-border)]",
|
|
36151
36156
|
lk.striped && index % 2 === 1 ? "bg-[var(--color-surface-subtle)]" : "bg-[var(--color-card)] group-hover:bg-[var(--color-surface-subtle)]"
|
|
36152
36157
|
),
|
|
36153
|
-
children:
|
|
36154
|
-
|
|
36155
|
-
|
|
36156
|
-
|
|
36157
|
-
|
|
36158
|
-
|
|
36159
|
-
|
|
36160
|
-
|
|
36161
|
-
|
|
36162
|
-
|
|
36163
|
-
|
|
36164
|
-
|
|
36165
|
-
|
|
36166
|
-
|
|
36167
|
-
},
|
|
36168
|
-
action.event
|
|
36169
|
-
)),
|
|
36170
|
-
overflowActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36171
|
-
Menu,
|
|
36172
|
-
{
|
|
36173
|
-
position: "bottom-end",
|
|
36174
|
-
trigger: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
36175
|
-
items: overflowActions.map((action) => ({
|
|
36176
|
-
label: action.label,
|
|
36177
|
-
icon: action.icon,
|
|
36178
|
-
event: action.event,
|
|
36179
|
-
variant: action.variant === "danger" ? "danger" : "default",
|
|
36180
|
-
onClick: () => fireAction(action, row)
|
|
36181
|
-
}))
|
|
36182
|
-
}
|
|
36183
|
-
)
|
|
36184
|
-
]
|
|
36158
|
+
children: overflowActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
36159
|
+
Menu,
|
|
36160
|
+
{
|
|
36161
|
+
position: "bottom-end",
|
|
36162
|
+
trigger: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsxRuntime.jsx(Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
36163
|
+
items: overflowActions.map((action) => ({
|
|
36164
|
+
label: action.label,
|
|
36165
|
+
icon: action.icon,
|
|
36166
|
+
event: action.event,
|
|
36167
|
+
variant: action.variant === "danger" ? "danger" : "default",
|
|
36168
|
+
onClick: () => fireAction(action, row)
|
|
36169
|
+
}))
|
|
36170
|
+
}
|
|
36171
|
+
)
|
|
36185
36172
|
}
|
|
36186
36173
|
)
|
|
36187
36174
|
]
|
|
@@ -45607,6 +45594,7 @@ var init_DetailPanel = __esm({
|
|
|
45607
45594
|
init_EmptyState();
|
|
45608
45595
|
init_cn();
|
|
45609
45596
|
init_portalRoot();
|
|
45597
|
+
init_slotContained();
|
|
45610
45598
|
init_format();
|
|
45611
45599
|
init_getNestedValue();
|
|
45612
45600
|
init_relationLabel();
|
|
@@ -45638,6 +45626,7 @@ var init_DetailPanel = __esm({
|
|
|
45638
45626
|
}) => {
|
|
45639
45627
|
const eventBus = useEventBus();
|
|
45640
45628
|
const { t } = hooks.useTranslate();
|
|
45629
|
+
const contained = React89.useContext(SlotContainedContext);
|
|
45641
45630
|
const [titleDraft, setTitleDraft] = React89__namespace.default.useState(null);
|
|
45642
45631
|
const isFieldDefArray = (arr) => {
|
|
45643
45632
|
if (!arr || arr.length === 0) return false;
|
|
@@ -46025,8 +46014,9 @@ var init_DetailPanel = __esm({
|
|
|
46025
46014
|
if (!slideOver) {
|
|
46026
46015
|
return /* @__PURE__ */ jsxRuntime.jsx(Box, { className, children: content });
|
|
46027
46016
|
}
|
|
46028
|
-
const panel = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
46029
|
-
|
|
46017
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsx(Box, { className: cn(contained ? "absolute" : "fixed", "inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
46018
|
+
if (contained || typeof document === "undefined") return panel;
|
|
46019
|
+
return reactDom.createPortal(panel, getOrCreatePortalRoot());
|
|
46030
46020
|
};
|
|
46031
46021
|
DetailPanel.displayName = "DetailPanel";
|
|
46032
46022
|
}
|
|
@@ -52504,6 +52494,7 @@ var init_component_registry_generated = __esm({
|
|
|
52504
52494
|
// components/core/organisms/UISlotRenderer.tsx
|
|
52505
52495
|
var UISlotRenderer_exports = {};
|
|
52506
52496
|
__export(UISlotRenderer_exports, {
|
|
52497
|
+
SlotContainedContext: () => SlotContainedContext,
|
|
52507
52498
|
SlotContentRenderer: () => SlotContentRenderer,
|
|
52508
52499
|
SuspenseConfigProvider: () => SuspenseConfigProvider,
|
|
52509
52500
|
UISlotComponent: () => UISlotComponent,
|
|
@@ -52676,6 +52667,25 @@ function renderContainedPortal(t, slot, content, onDismiss) {
|
|
|
52676
52667
|
}
|
|
52677
52668
|
);
|
|
52678
52669
|
case "drawer":
|
|
52670
|
+
if (content.pattern === "detail-panel" && content.props.slideOver === true) {
|
|
52671
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
52672
|
+
Box,
|
|
52673
|
+
{
|
|
52674
|
+
id: slotId,
|
|
52675
|
+
className: "absolute inset-0 z-50 overflow-hidden",
|
|
52676
|
+
style: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
|
|
52677
|
+
onClick: onDismiss,
|
|
52678
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
52679
|
+
Box,
|
|
52680
|
+
{
|
|
52681
|
+
className: "absolute inset-y-0 right-0 pointer-events-auto",
|
|
52682
|
+
onClick: (e) => e.stopPropagation(),
|
|
52683
|
+
children: slotContent
|
|
52684
|
+
}
|
|
52685
|
+
)
|
|
52686
|
+
}
|
|
52687
|
+
);
|
|
52688
|
+
}
|
|
52679
52689
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
52680
52690
|
Box,
|
|
52681
52691
|
{
|
|
@@ -53527,7 +53537,7 @@ function UISlotRenderer({
|
|
|
53527
53537
|
}
|
|
53528
53538
|
return wrapped;
|
|
53529
53539
|
}
|
|
53530
|
-
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext,
|
|
53540
|
+
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext, SLOT_SKELETON_MAP, CONTENT_NODE_SLOTS, PATTERNS_WITH_CHILDREN, traitRefPresenceCache;
|
|
53531
53541
|
var init_UISlotRenderer = __esm({
|
|
53532
53542
|
"components/core/organisms/UISlotRenderer.tsx"() {
|
|
53533
53543
|
"use client";
|
|
@@ -53542,6 +53552,7 @@ var init_UISlotRenderer = __esm({
|
|
|
53542
53552
|
init_cn();
|
|
53543
53553
|
init_format();
|
|
53544
53554
|
init_portalRoot();
|
|
53555
|
+
init_slotContained();
|
|
53545
53556
|
init_ErrorBoundary();
|
|
53546
53557
|
init_Skeleton();
|
|
53547
53558
|
init_renderer();
|
|
@@ -53551,7 +53562,6 @@ var init_UISlotRenderer = __esm({
|
|
|
53551
53562
|
scopeWrapLog = logger.createLogger("almadar:ui:scope-wrap");
|
|
53552
53563
|
TRAIT_BINDING_RE = /^@trait\.([A-Z][A-Za-z0-9]*)$/;
|
|
53553
53564
|
SuspenseConfigContext = React89.createContext({ enabled: false });
|
|
53554
|
-
SlotContainedContext = React89.createContext(false);
|
|
53555
53565
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
53556
53566
|
SLOT_SKELETON_MAP = {
|
|
53557
53567
|
main: "table",
|
|
@@ -54890,7 +54900,7 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54890
54900
|
} catch {
|
|
54891
54901
|
}
|
|
54892
54902
|
},
|
|
54893
|
-
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint) => {
|
|
54903
|
+
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint, user) => {
|
|
54894
54904
|
const traits2 = results?.map((r) => ({ trait: r.traitName, from: r.result.previousState }));
|
|
54895
54905
|
const body = {
|
|
54896
54906
|
event,
|
|
@@ -54911,7 +54921,8 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54911
54921
|
// "do nothing" and break every organism's INIT on the stateless path.
|
|
54912
54922
|
...results !== void 0 ? { traits: traits2 ?? [] } : {},
|
|
54913
54923
|
...entityByTrait ? { entityByTrait } : {},
|
|
54914
|
-
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {}
|
|
54924
|
+
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {},
|
|
54925
|
+
...user ? { user } : {}
|
|
54915
54926
|
};
|
|
54916
54927
|
const res = await fetch(`${serverUrl}/${orbitalName}/events`, {
|
|
54917
54928
|
method: "POST",
|
|
@@ -54973,7 +54984,7 @@ function ServerBridgeProvider({
|
|
|
54973
54984
|
disposedRef.current = true;
|
|
54974
54985
|
};
|
|
54975
54986
|
}, []);
|
|
54976
|
-
const sendEvent = React89.useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait) => {
|
|
54987
|
+
const sendEvent = React89.useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait, user) => {
|
|
54977
54988
|
const emptyMeta = { success: false, transitioned: false, clientEffects: 0, dataEntities: {}, emittedEvents: [] };
|
|
54978
54989
|
if (!connected) return { effects: [], meta: emptyMeta };
|
|
54979
54990
|
if (tick !== void 0) {
|
|
@@ -54983,7 +54994,7 @@ function ServerBridgeProvider({
|
|
|
54983
54994
|
return commandPump.enqueue(async () => {
|
|
54984
54995
|
if (disposedRef.current) return { effects: [], meta: emptyMeta };
|
|
54985
54996
|
try {
|
|
54986
|
-
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name);
|
|
54997
|
+
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name, user);
|
|
54987
54998
|
const effects = [];
|
|
54988
54999
|
const responseData = result.data || {};
|
|
54989
55000
|
const dataEntities = {};
|
|
@@ -54996,6 +55007,7 @@ function ServerBridgeProvider({
|
|
|
54996
55007
|
clientEffects: result.clientEffects?.length ?? 0,
|
|
54997
55008
|
dataEntities,
|
|
54998
55009
|
data: responseData,
|
|
55010
|
+
entityByTrait: result.entityByTrait,
|
|
54999
55011
|
emittedEvents: result.emittedEvents?.map((e) => e.event) ?? [],
|
|
55000
55012
|
emitted: result.emittedEvents?.map((e) => ({ event: e.event, ...e.payload !== void 0 && { payload: e.payload } })) ?? [],
|
|
55001
55013
|
effectResults: result.effectResults,
|
|
@@ -6,7 +6,7 @@ export { a as CurrentPagePathContext, b as CurrentPagePathProvider, c as Current
|
|
|
6
6
|
import { b as UserData } from '../UserContext-D566nfWA.cjs';
|
|
7
7
|
export { U as UserContext, a as UserContextValue, c as UserProvider, d as UserProviderProps, u as useHasPermission, e as useHasRole, f as useUser, g as useUserForEvaluation } from '../UserContext-D566nfWA.cjs';
|
|
8
8
|
import { E as EventBusContextType } from '../event-bus-types-Bl78kokd.cjs';
|
|
9
|
-
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-
|
|
9
|
+
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-UyeCfEBS.cjs';
|
|
10
10
|
import { i as UseOfflineExecutorResult, U as UseOfflineExecutorOptions } from '../offline-executor-DdV2o0Zu.cjs';
|
|
11
11
|
export { N as NavigationContextValue, c as NavigationProvider, d as NavigationProviderProps, e as NavigationState, j as comparePathSpecificity, l as extractRouteParams, m as findPageByName, n as findPageByPath, o as getAllPages, p as getDefaultPage, q as matchPath, r as matchPathAmong, s as pathMatches, u as useActivePage, t as useInitPayload, v as useNavigateTo, w as useNavigation, x as useNavigationId, y as useNavigationState } from '../offline-executor-DdV2o0Zu.cjs';
|
|
12
12
|
import '../verificationRegistry-DTrKDRoa.cjs';
|
|
@@ -6,7 +6,7 @@ export { a as CurrentPagePathContext, b as CurrentPagePathProvider, c as Current
|
|
|
6
6
|
import { b as UserData } from '../UserContext-D566nfWA.js';
|
|
7
7
|
export { U as UserContext, a as UserContextValue, c as UserProvider, d as UserProviderProps, u as useHasPermission, e as useHasRole, f as useUser, g as useUserForEvaluation } from '../UserContext-D566nfWA.js';
|
|
8
8
|
import { E as EventBusContextType } from '../event-bus-types-Bl78kokd.js';
|
|
9
|
-
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-
|
|
9
|
+
export { A as AccessTokenProvider, E as EntityBindingContext, a as EntityBindingSource, b as EntitySchemaContextValue, c as EntitySchemaProvider, d as EntitySchemaProviderProps, S as SendEventResult, e as ServerBridgeContextValue, f as ServerBridgeProvider, g as ServerBridgeProviderProps, h as ServerBridgeTransport, i as ServerClientEffect, j as ServerResponseMeta, T as TraitContext, k as TraitContextValue, l as TraitInstance, m as TraitProvider, n as TraitProviderProps, u as useEntityBindingSnapshot, o as useEntitySchema, p as useEntitySchemaOptional, q as useServerBridge, r as useTrait, s as useTraitContext } from '../EntityBindingContext-UyeCfEBS.js';
|
|
10
10
|
import { i as UseOfflineExecutorResult, U as UseOfflineExecutorOptions } from '../offline-executor-DdV2o0Zu.js';
|
|
11
11
|
export { N as NavigationContextValue, c as NavigationProvider, d as NavigationProviderProps, e as NavigationState, j as comparePathSpecificity, l as extractRouteParams, m as findPageByName, n as findPageByPath, o as getAllPages, p as getDefaultPage, q as matchPath, r as matchPathAmong, s as pathMatches, u as useActivePage, t as useInitPayload, v as useNavigateTo, w as useNavigation, x as useNavigationId, y as useNavigationState } from '../offline-executor-DdV2o0Zu.js';
|
|
12
12
|
import '../verificationRegistry-Cwa52VyK.js';
|
package/dist/providers/index.js
CHANGED
|
@@ -2263,6 +2263,13 @@ var init_slot_types = __esm({
|
|
|
2263
2263
|
nextRefId = 1;
|
|
2264
2264
|
}
|
|
2265
2265
|
});
|
|
2266
|
+
var SlotContainedContext;
|
|
2267
|
+
var init_slotContained = __esm({
|
|
2268
|
+
"lib/slotContained.ts"() {
|
|
2269
|
+
"use client";
|
|
2270
|
+
SlotContainedContext = createContext(false);
|
|
2271
|
+
}
|
|
2272
|
+
});
|
|
2266
2273
|
function buildForkPaths(x, y, branches, scale) {
|
|
2267
2274
|
const inLength = 30 * scale;
|
|
2268
2275
|
const outLength = 30 * scale;
|
|
@@ -35845,7 +35852,6 @@ function TableView({
|
|
|
35845
35852
|
columns,
|
|
35846
35853
|
fields,
|
|
35847
35854
|
itemActions,
|
|
35848
|
-
maxInlineActions,
|
|
35849
35855
|
itemClickEvent = "",
|
|
35850
35856
|
selectable = false,
|
|
35851
35857
|
selectEvent,
|
|
@@ -35879,8 +35885,7 @@ function TableView({
|
|
|
35879
35885
|
const [localSelected, setLocalSelected] = React89__default.useState(/* @__PURE__ */ new Set());
|
|
35880
35886
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
35881
35887
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
35882
|
-
const
|
|
35883
|
-
const overflowActions = maxInlineActions != null ? actionDefs.slice(maxInlineActions) : actionDefs;
|
|
35888
|
+
const overflowActions = actionDefs;
|
|
35884
35889
|
const fireAction = (action, row) => eventBus.emit(`UI:${action.event}`, {
|
|
35885
35890
|
id: row.id,
|
|
35886
35891
|
row
|
|
@@ -36062,7 +36067,7 @@ function TableView({
|
|
|
36062
36067
|
}
|
|
36063
36068
|
return /* @__PURE__ */ jsx(Box, { role: "cell", className: cellBase, children: /* @__PURE__ */ jsx("span", { className: "truncate text-foreground", children: formatCell(raw, col.format, relationsData?.[col.field ?? col.key]) }) }, col.key);
|
|
36064
36069
|
}),
|
|
36065
|
-
hasActions && /* @__PURE__ */
|
|
36070
|
+
hasActions && /* @__PURE__ */ jsx(
|
|
36066
36071
|
HStack,
|
|
36067
36072
|
{
|
|
36068
36073
|
gap: "xs",
|
|
@@ -36076,38 +36081,20 @@ function TableView({
|
|
|
36076
36081
|
"border-l border-[var(--color-border)]",
|
|
36077
36082
|
lk.striped && index % 2 === 1 ? "bg-[var(--color-surface-subtle)]" : "bg-[var(--color-card)] group-hover:bg-[var(--color-surface-subtle)]"
|
|
36078
36083
|
),
|
|
36079
|
-
children:
|
|
36080
|
-
|
|
36081
|
-
|
|
36082
|
-
|
|
36083
|
-
|
|
36084
|
-
|
|
36085
|
-
|
|
36086
|
-
|
|
36087
|
-
|
|
36088
|
-
|
|
36089
|
-
|
|
36090
|
-
|
|
36091
|
-
|
|
36092
|
-
|
|
36093
|
-
},
|
|
36094
|
-
action.event
|
|
36095
|
-
)),
|
|
36096
|
-
overflowActions.length > 0 && /* @__PURE__ */ jsx(
|
|
36097
|
-
Menu,
|
|
36098
|
-
{
|
|
36099
|
-
position: "bottom-end",
|
|
36100
|
-
trigger: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsx(Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
36101
|
-
items: overflowActions.map((action) => ({
|
|
36102
|
-
label: action.label,
|
|
36103
|
-
icon: action.icon,
|
|
36104
|
-
event: action.event,
|
|
36105
|
-
variant: action.variant === "danger" ? "danger" : "default",
|
|
36106
|
-
onClick: () => fireAction(action, row)
|
|
36107
|
-
}))
|
|
36108
|
-
}
|
|
36109
|
-
)
|
|
36110
|
-
]
|
|
36084
|
+
children: overflowActions.length > 0 && /* @__PURE__ */ jsx(
|
|
36085
|
+
Menu,
|
|
36086
|
+
{
|
|
36087
|
+
position: "bottom-end",
|
|
36088
|
+
trigger: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsx(Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
36089
|
+
items: overflowActions.map((action) => ({
|
|
36090
|
+
label: action.label,
|
|
36091
|
+
icon: action.icon,
|
|
36092
|
+
event: action.event,
|
|
36093
|
+
variant: action.variant === "danger" ? "danger" : "default",
|
|
36094
|
+
onClick: () => fireAction(action, row)
|
|
36095
|
+
}))
|
|
36096
|
+
}
|
|
36097
|
+
)
|
|
36111
36098
|
}
|
|
36112
36099
|
)
|
|
36113
36100
|
]
|
|
@@ -45533,6 +45520,7 @@ var init_DetailPanel = __esm({
|
|
|
45533
45520
|
init_EmptyState();
|
|
45534
45521
|
init_cn();
|
|
45535
45522
|
init_portalRoot();
|
|
45523
|
+
init_slotContained();
|
|
45536
45524
|
init_format();
|
|
45537
45525
|
init_getNestedValue();
|
|
45538
45526
|
init_relationLabel();
|
|
@@ -45564,6 +45552,7 @@ var init_DetailPanel = __esm({
|
|
|
45564
45552
|
}) => {
|
|
45565
45553
|
const eventBus = useEventBus();
|
|
45566
45554
|
const { t } = useTranslate();
|
|
45555
|
+
const contained = useContext(SlotContainedContext);
|
|
45567
45556
|
const [titleDraft, setTitleDraft] = React89__default.useState(null);
|
|
45568
45557
|
const isFieldDefArray = (arr) => {
|
|
45569
45558
|
if (!arr || arr.length === 0) return false;
|
|
@@ -45951,8 +45940,9 @@ var init_DetailPanel = __esm({
|
|
|
45951
45940
|
if (!slideOver) {
|
|
45952
45941
|
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
45953
45942
|
}
|
|
45954
|
-
const panel = /* @__PURE__ */ jsx(Box, { className: cn("fixed inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
45955
|
-
|
|
45943
|
+
const panel = /* @__PURE__ */ jsx(Box, { className: cn(contained ? "absolute" : "fixed", "inset-y-0 right-0 w-full max-w-2xl bg-card shadow-lg z-50 overflow-y-auto p-6", className), children: content });
|
|
45944
|
+
if (contained || typeof document === "undefined") return panel;
|
|
45945
|
+
return createPortal(panel, getOrCreatePortalRoot());
|
|
45956
45946
|
};
|
|
45957
45947
|
DetailPanel.displayName = "DetailPanel";
|
|
45958
45948
|
}
|
|
@@ -52430,6 +52420,7 @@ var init_component_registry_generated = __esm({
|
|
|
52430
52420
|
// components/core/organisms/UISlotRenderer.tsx
|
|
52431
52421
|
var UISlotRenderer_exports = {};
|
|
52432
52422
|
__export(UISlotRenderer_exports, {
|
|
52423
|
+
SlotContainedContext: () => SlotContainedContext,
|
|
52433
52424
|
SlotContentRenderer: () => SlotContentRenderer,
|
|
52434
52425
|
SuspenseConfigProvider: () => SuspenseConfigProvider,
|
|
52435
52426
|
UISlotComponent: () => UISlotComponent,
|
|
@@ -52602,6 +52593,25 @@ function renderContainedPortal(t, slot, content, onDismiss) {
|
|
|
52602
52593
|
}
|
|
52603
52594
|
);
|
|
52604
52595
|
case "drawer":
|
|
52596
|
+
if (content.pattern === "detail-panel" && content.props.slideOver === true) {
|
|
52597
|
+
return /* @__PURE__ */ jsx(
|
|
52598
|
+
Box,
|
|
52599
|
+
{
|
|
52600
|
+
id: slotId,
|
|
52601
|
+
className: "absolute inset-0 z-50 overflow-hidden",
|
|
52602
|
+
style: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
|
|
52603
|
+
onClick: onDismiss,
|
|
52604
|
+
children: /* @__PURE__ */ jsx(
|
|
52605
|
+
Box,
|
|
52606
|
+
{
|
|
52607
|
+
className: "absolute inset-y-0 right-0 pointer-events-auto",
|
|
52608
|
+
onClick: (e) => e.stopPropagation(),
|
|
52609
|
+
children: slotContent
|
|
52610
|
+
}
|
|
52611
|
+
)
|
|
52612
|
+
}
|
|
52613
|
+
);
|
|
52614
|
+
}
|
|
52605
52615
|
return /* @__PURE__ */ jsx(
|
|
52606
52616
|
Box,
|
|
52607
52617
|
{
|
|
@@ -53453,7 +53463,7 @@ function UISlotRenderer({
|
|
|
53453
53463
|
}
|
|
53454
53464
|
return wrapped;
|
|
53455
53465
|
}
|
|
53456
|
-
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext,
|
|
53466
|
+
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext, SLOT_SKELETON_MAP, CONTENT_NODE_SLOTS, PATTERNS_WITH_CHILDREN, traitRefPresenceCache;
|
|
53457
53467
|
var init_UISlotRenderer = __esm({
|
|
53458
53468
|
"components/core/organisms/UISlotRenderer.tsx"() {
|
|
53459
53469
|
"use client";
|
|
@@ -53468,6 +53478,7 @@ var init_UISlotRenderer = __esm({
|
|
|
53468
53478
|
init_cn();
|
|
53469
53479
|
init_format();
|
|
53470
53480
|
init_portalRoot();
|
|
53481
|
+
init_slotContained();
|
|
53471
53482
|
init_ErrorBoundary();
|
|
53472
53483
|
init_Skeleton();
|
|
53473
53484
|
init_renderer();
|
|
@@ -53477,7 +53488,6 @@ var init_UISlotRenderer = __esm({
|
|
|
53477
53488
|
scopeWrapLog = createLogger("almadar:ui:scope-wrap");
|
|
53478
53489
|
TRAIT_BINDING_RE = /^@trait\.([A-Z][A-Za-z0-9]*)$/;
|
|
53479
53490
|
SuspenseConfigContext = createContext({ enabled: false });
|
|
53480
|
-
SlotContainedContext = createContext(false);
|
|
53481
53491
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
53482
53492
|
SLOT_SKELETON_MAP = {
|
|
53483
53493
|
main: "table",
|
|
@@ -54816,7 +54826,7 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54816
54826
|
} catch {
|
|
54817
54827
|
}
|
|
54818
54828
|
},
|
|
54819
|
-
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint) => {
|
|
54829
|
+
sendEvent: async (orbitalName, event, payload, clientId, tick, sourceTrait, results, entityByTrait, behaviorHint, user) => {
|
|
54820
54830
|
const traits2 = results?.map((r) => ({ trait: r.traitName, from: r.result.previousState }));
|
|
54821
54831
|
const body = {
|
|
54822
54832
|
event,
|
|
@@ -54837,7 +54847,8 @@ function createHttpTransport(serverUrl, getAccessToken) {
|
|
|
54837
54847
|
// "do nothing" and break every organism's INIT on the stateless path.
|
|
54838
54848
|
...results !== void 0 ? { traits: traits2 ?? [] } : {},
|
|
54839
54849
|
...entityByTrait ? { entityByTrait } : {},
|
|
54840
|
-
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {}
|
|
54850
|
+
...behaviorHint !== void 0 ? { behavior: behaviorHint } : {},
|
|
54851
|
+
...user ? { user } : {}
|
|
54841
54852
|
};
|
|
54842
54853
|
const res = await fetch(`${serverUrl}/${orbitalName}/events`, {
|
|
54843
54854
|
method: "POST",
|
|
@@ -54899,7 +54910,7 @@ function ServerBridgeProvider({
|
|
|
54899
54910
|
disposedRef.current = true;
|
|
54900
54911
|
};
|
|
54901
54912
|
}, []);
|
|
54902
|
-
const sendEvent = useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait) => {
|
|
54913
|
+
const sendEvent = useCallback(async (orbitalName, event, payload, tick, sourceTrait, locallyEmitted, results, entityByTrait, user) => {
|
|
54903
54914
|
const emptyMeta = { success: false, transitioned: false, clientEffects: 0, dataEntities: {}, emittedEvents: [] };
|
|
54904
54915
|
if (!connected) return { effects: [], meta: emptyMeta };
|
|
54905
54916
|
if (tick !== void 0) {
|
|
@@ -54909,7 +54920,7 @@ function ServerBridgeProvider({
|
|
|
54909
54920
|
return commandPump.enqueue(async () => {
|
|
54910
54921
|
if (disposedRef.current) return { effects: [], meta: emptyMeta };
|
|
54911
54922
|
try {
|
|
54912
|
-
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name);
|
|
54923
|
+
const result = await transport.sendEvent(orbitalName, event, payload, getTabClientId(), tick, sourceTrait, results, entityByTrait, schema.name, user);
|
|
54913
54924
|
const effects = [];
|
|
54914
54925
|
const responseData = result.data || {};
|
|
54915
54926
|
const dataEntities = {};
|
|
@@ -54922,6 +54933,7 @@ function ServerBridgeProvider({
|
|
|
54922
54933
|
clientEffects: result.clientEffects?.length ?? 0,
|
|
54923
54934
|
dataEntities,
|
|
54924
54935
|
data: responseData,
|
|
54936
|
+
entityByTrait: result.entityByTrait,
|
|
54925
54937
|
emittedEvents: result.emittedEvents?.map((e) => e.event) ?? [],
|
|
54926
54938
|
emitted: result.emittedEvents?.map((e) => ({ event: e.event, ...e.payload !== void 0 && { payload: e.payload } })) ?? [],
|
|
54927
54939
|
effectResults: result.effectResults,
|