@almadar/ui 6.28.0 → 6.30.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-C6FgxdfG.d.cts → EntityBindingContext-ChCONv2W.d.cts} +3 -39
- package/dist/{EntityBindingContext-C6FgxdfG.d.ts → EntityBindingContext-ChCONv2W.d.ts} +3 -39
- package/dist/avl/index.cjs +74 -48
- package/dist/avl/index.js +74 -48
- package/dist/components/index.cjs +54 -45
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +54 -45
- package/dist/context/index.cjs +135 -105
- package/dist/context/index.d.cts +2 -60
- package/dist/context/index.d.ts +2 -60
- package/dist/context/index.js +135 -105
- package/dist/lib/index.cjs +455 -0
- package/dist/lib/index.d.cts +42 -1
- package/dist/lib/index.d.ts +42 -1
- package/dist/lib/index.js +438 -1
- package/dist/marketing/index.cjs +4 -5
- package/dist/marketing/index.js +4 -5
- package/dist/providers/index.cjs +194 -156
- package/dist/providers/index.d.cts +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.js +194 -156
- package/dist/runtime/index.cjs +74 -48
- package/dist/runtime/index.d.cts +16 -2
- package/dist/runtime/index.d.ts +16 -2
- package/dist/runtime/index.js +74 -48
- package/dist/themeTokens-DVRwufw8.d.cts +112 -0
- package/dist/themeTokens-DVRwufw8.d.ts +112 -0
- package/package.json +7 -6
- package/scripts/audit-tailwind-safelist.ts +4 -0
- package/tailwind-preset.cjs +155 -28
- package/themes/almadar-website.css +37 -107
- package/themes/almadar.css +37 -108
- package/themes/atelier.css +145 -240
- package/themes/bloomberg-dense.css +145 -252
- package/themes/clay.css +39 -137
- package/themes/comic.css +39 -145
- package/themes/corporate.css +39 -131
- package/themes/game-adventure.css +22 -87
- package/themes/game-rpg.css +22 -84
- package/themes/game-sci-fi.css +22 -88
- package/themes/game-ui-pack.css +22 -85
- package/themes/gazette.css +43 -135
- package/themes/glass.css +39 -148
- package/themes/kiosk.css +51 -146
- package/themes/linear-clean.css +145 -215
- package/themes/minimalist.css +39 -125
- package/themes/neon.css +39 -132
- package/themes/notion-editorial.css +145 -215
- package/themes/prism.css +37 -100
- package/themes/retro.css +39 -130
- package/themes/terminal.css +61 -152
- package/themes/trait-wars.css +121 -285
- package/themes/wireframe.css +41 -128
|
@@ -7058,6 +7058,13 @@ var init_slot_types = __esm({
|
|
|
7058
7058
|
nextRefId = 1;
|
|
7059
7059
|
}
|
|
7060
7060
|
});
|
|
7061
|
+
var SlotContainedContext;
|
|
7062
|
+
var init_slotContained = __esm({
|
|
7063
|
+
"lib/slotContained.ts"() {
|
|
7064
|
+
"use client";
|
|
7065
|
+
SlotContainedContext = React79.createContext(false);
|
|
7066
|
+
}
|
|
7067
|
+
});
|
|
7061
7068
|
exports.ErrorState = void 0;
|
|
7062
7069
|
var init_ErrorState = __esm({
|
|
7063
7070
|
"components/core/molecules/ErrorState.tsx"() {
|
|
@@ -7497,11 +7504,10 @@ var init_HeroSection = __esm({
|
|
|
7497
7504
|
};
|
|
7498
7505
|
backgroundStyles = {
|
|
7499
7506
|
dark: "bg-foreground text-background",
|
|
7500
|
-
|
|
7501
|
-
|
|
7502
|
-
|
|
7503
|
-
|
|
7504
|
-
].join(" "),
|
|
7507
|
+
// A single bracket value: joining this as two array entries put a space
|
|
7508
|
+
// inside the class (Tailwind splits utilities on whitespace), so neither
|
|
7509
|
+
// half was a valid utility and the gradient rendered as nothing.
|
|
7510
|
+
gradient: "bg-[radial-gradient(ellipse_at_top,var(--color-primary)/0.08,transparent_60%),radial-gradient(ellipse_at_bottom_right,var(--color-accent)/0.06,transparent_50%)] bg-background",
|
|
7505
7511
|
subtle: "bg-muted/30"
|
|
7506
7512
|
};
|
|
7507
7513
|
MarketingImage = ({ src, alt, className }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -36972,7 +36978,6 @@ function TableView({
|
|
|
36972
36978
|
columns,
|
|
36973
36979
|
fields,
|
|
36974
36980
|
itemActions,
|
|
36975
|
-
maxInlineActions,
|
|
36976
36981
|
itemClickEvent = "",
|
|
36977
36982
|
selectable = false,
|
|
36978
36983
|
selectEvent,
|
|
@@ -37006,8 +37011,7 @@ function TableView({
|
|
|
37006
37011
|
const [localSelected, setLocalSelected] = React79__namespace.default.useState(/* @__PURE__ */ new Set());
|
|
37007
37012
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
37008
37013
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
37009
|
-
const
|
|
37010
|
-
const overflowActions = maxInlineActions != null ? actionDefs.slice(maxInlineActions) : actionDefs;
|
|
37014
|
+
const overflowActions = actionDefs;
|
|
37011
37015
|
const fireAction = (action, row) => eventBus.emit(`UI:${action.event}`, {
|
|
37012
37016
|
id: row.id,
|
|
37013
37017
|
row
|
|
@@ -37189,7 +37193,7 @@ function TableView({
|
|
|
37189
37193
|
}
|
|
37190
37194
|
return /* @__PURE__ */ jsxRuntime.jsx(exports.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);
|
|
37191
37195
|
}),
|
|
37192
|
-
hasActions && /* @__PURE__ */ jsxRuntime.
|
|
37196
|
+
hasActions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37193
37197
|
exports.HStack,
|
|
37194
37198
|
{
|
|
37195
37199
|
gap: "xs",
|
|
@@ -37203,38 +37207,20 @@ function TableView({
|
|
|
37203
37207
|
"border-l border-[var(--color-border)]",
|
|
37204
37208
|
lk.striped && index % 2 === 1 ? "bg-[var(--color-surface-subtle)]" : "bg-[var(--color-card)] group-hover:bg-[var(--color-surface-subtle)]"
|
|
37205
37209
|
),
|
|
37206
|
-
children:
|
|
37207
|
-
|
|
37208
|
-
|
|
37209
|
-
|
|
37210
|
-
|
|
37211
|
-
|
|
37212
|
-
|
|
37213
|
-
|
|
37214
|
-
|
|
37215
|
-
|
|
37216
|
-
|
|
37217
|
-
|
|
37218
|
-
|
|
37219
|
-
|
|
37220
|
-
},
|
|
37221
|
-
action.event
|
|
37222
|
-
)),
|
|
37223
|
-
overflowActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37224
|
-
exports.Menu,
|
|
37225
|
-
{
|
|
37226
|
-
position: "bottom-end",
|
|
37227
|
-
trigger: /* @__PURE__ */ jsxRuntime.jsx(exports.Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
37228
|
-
items: overflowActions.map((action) => ({
|
|
37229
|
-
label: action.label,
|
|
37230
|
-
icon: action.icon,
|
|
37231
|
-
event: action.event,
|
|
37232
|
-
variant: action.variant === "danger" ? "danger" : "default",
|
|
37233
|
-
onClick: () => fireAction(action, row)
|
|
37234
|
-
}))
|
|
37235
|
-
}
|
|
37236
|
-
)
|
|
37237
|
-
]
|
|
37210
|
+
children: overflowActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37211
|
+
exports.Menu,
|
|
37212
|
+
{
|
|
37213
|
+
position: "bottom-end",
|
|
37214
|
+
trigger: /* @__PURE__ */ jsxRuntime.jsx(exports.Button, { variant: "ghost", size: "sm", "aria-label": t("common.actions"), "data-testid": "action-overflow", "data-row-id": String(row.id), children: /* @__PURE__ */ jsxRuntime.jsx(exports.Icon, { name: "more-horizontal", size: "xs" }) }),
|
|
37215
|
+
items: overflowActions.map((action) => ({
|
|
37216
|
+
label: action.label,
|
|
37217
|
+
icon: action.icon,
|
|
37218
|
+
event: action.event,
|
|
37219
|
+
variant: action.variant === "danger" ? "danger" : "default",
|
|
37220
|
+
onClick: () => fireAction(action, row)
|
|
37221
|
+
}))
|
|
37222
|
+
}
|
|
37223
|
+
)
|
|
37238
37224
|
}
|
|
37239
37225
|
)
|
|
37240
37226
|
]
|
|
@@ -46890,6 +46876,7 @@ var init_DetailPanel = __esm({
|
|
|
46890
46876
|
init_EmptyState();
|
|
46891
46877
|
init_cn();
|
|
46892
46878
|
init_portalRoot();
|
|
46879
|
+
init_slotContained();
|
|
46893
46880
|
init_format();
|
|
46894
46881
|
init_getNestedValue();
|
|
46895
46882
|
init_relationLabel();
|
|
@@ -46921,6 +46908,7 @@ var init_DetailPanel = __esm({
|
|
|
46921
46908
|
}) => {
|
|
46922
46909
|
const eventBus = useEventBus();
|
|
46923
46910
|
const { t } = hooks.useTranslate();
|
|
46911
|
+
const contained = React79.useContext(SlotContainedContext);
|
|
46924
46912
|
const [titleDraft, setTitleDraft] = React79__namespace.default.useState(null);
|
|
46925
46913
|
const isFieldDefArray = (arr) => {
|
|
46926
46914
|
if (!arr || arr.length === 0) return false;
|
|
@@ -47308,8 +47296,9 @@ var init_DetailPanel = __esm({
|
|
|
47308
47296
|
if (!slideOver) {
|
|
47309
47297
|
return /* @__PURE__ */ jsxRuntime.jsx(exports.Box, { className, children: content });
|
|
47310
47298
|
}
|
|
47311
|
-
const panel = /* @__PURE__ */ jsxRuntime.jsx(exports.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 });
|
|
47312
|
-
|
|
47299
|
+
const panel = /* @__PURE__ */ jsxRuntime.jsx(exports.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 });
|
|
47300
|
+
if (contained || typeof document === "undefined") return panel;
|
|
47301
|
+
return reactDom.createPortal(panel, getOrCreatePortalRoot());
|
|
47313
47302
|
};
|
|
47314
47303
|
exports.DetailPanel.displayName = "DetailPanel";
|
|
47315
47304
|
}
|
|
@@ -53787,6 +53776,7 @@ var init_component_registry_generated = __esm({
|
|
|
53787
53776
|
// components/core/organisms/UISlotRenderer.tsx
|
|
53788
53777
|
var UISlotRenderer_exports = {};
|
|
53789
53778
|
__export(UISlotRenderer_exports, {
|
|
53779
|
+
SlotContainedContext: () => SlotContainedContext,
|
|
53790
53780
|
SlotContentRenderer: () => SlotContentRenderer,
|
|
53791
53781
|
SuspenseConfigProvider: () => SuspenseConfigProvider,
|
|
53792
53782
|
UISlotComponent: () => UISlotComponent,
|
|
@@ -53959,6 +53949,25 @@ function renderContainedPortal(t, slot, content, onDismiss) {
|
|
|
53959
53949
|
}
|
|
53960
53950
|
);
|
|
53961
53951
|
case "drawer":
|
|
53952
|
+
if (content.pattern === "detail-panel" && content.props.slideOver === true) {
|
|
53953
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
53954
|
+
exports.Box,
|
|
53955
|
+
{
|
|
53956
|
+
id: slotId,
|
|
53957
|
+
className: "absolute inset-0 z-50 overflow-hidden",
|
|
53958
|
+
style: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
|
|
53959
|
+
onClick: onDismiss,
|
|
53960
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
53961
|
+
exports.Box,
|
|
53962
|
+
{
|
|
53963
|
+
className: "absolute inset-y-0 right-0 pointer-events-auto",
|
|
53964
|
+
onClick: (e) => e.stopPropagation(),
|
|
53965
|
+
children: slotContent
|
|
53966
|
+
}
|
|
53967
|
+
)
|
|
53968
|
+
}
|
|
53969
|
+
);
|
|
53970
|
+
}
|
|
53962
53971
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
53963
53972
|
exports.Box,
|
|
53964
53973
|
{
|
|
@@ -54810,7 +54819,7 @@ function UISlotRenderer({
|
|
|
54810
54819
|
}
|
|
54811
54820
|
return wrapped;
|
|
54812
54821
|
}
|
|
54813
|
-
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext,
|
|
54822
|
+
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext, SLOT_SKELETON_MAP, CONTENT_NODE_SLOTS, PATTERNS_WITH_CHILDREN, traitRefPresenceCache;
|
|
54814
54823
|
var init_UISlotRenderer = __esm({
|
|
54815
54824
|
"components/core/organisms/UISlotRenderer.tsx"() {
|
|
54816
54825
|
"use client";
|
|
@@ -54825,6 +54834,7 @@ var init_UISlotRenderer = __esm({
|
|
|
54825
54834
|
init_cn();
|
|
54826
54835
|
init_format();
|
|
54827
54836
|
init_portalRoot();
|
|
54837
|
+
init_slotContained();
|
|
54828
54838
|
init_ErrorBoundary();
|
|
54829
54839
|
init_Skeleton();
|
|
54830
54840
|
init_renderer();
|
|
@@ -54834,7 +54844,6 @@ var init_UISlotRenderer = __esm({
|
|
|
54834
54844
|
scopeWrapLog = logger.createLogger("almadar:ui:scope-wrap");
|
|
54835
54845
|
TRAIT_BINDING_RE = /^@trait\.([A-Z][A-Za-z0-9]*)$/;
|
|
54836
54846
|
SuspenseConfigContext = React79.createContext({ enabled: false });
|
|
54837
|
-
SlotContainedContext = React79.createContext(false);
|
|
54838
54847
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
54839
54848
|
SLOT_SKELETON_MAP = {
|
|
54840
54849
|
main: "table",
|
|
@@ -8306,7 +8306,7 @@ interface TableViewProps extends DataDndProps {
|
|
|
8306
8306
|
* column whose field is relation-typed. Same contract DetailPanel takes. */
|
|
8307
8307
|
relationsData?: Record<string, readonly RelationOption[]>;
|
|
8308
8308
|
}
|
|
8309
|
-
declare function TableView({ entity, columns, fields, itemActions,
|
|
8309
|
+
declare function TableView({ entity, columns, fields, itemActions, itemClickEvent, selectable, selectEvent, selectedIds, sortEvent, sortColumn, sortDirection, className, emptyMessage, isLoading, error, groupBy, pageSize, children, renderItem: _schemaRenderItem, look, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, relationsData, }: TableViewProps): React__default.JSX.Element;
|
|
8310
8310
|
declare namespace TableView {
|
|
8311
8311
|
var displayName: string;
|
|
8312
8312
|
}
|
|
@@ -8306,7 +8306,7 @@ interface TableViewProps extends DataDndProps {
|
|
|
8306
8306
|
* column whose field is relation-typed. Same contract DetailPanel takes. */
|
|
8307
8307
|
relationsData?: Record<string, readonly RelationOption[]>;
|
|
8308
8308
|
}
|
|
8309
|
-
declare function TableView({ entity, columns, fields, itemActions,
|
|
8309
|
+
declare function TableView({ entity, columns, fields, itemActions, itemClickEvent, selectable, selectEvent, selectedIds, sortEvent, sortColumn, sortDirection, className, emptyMessage, isLoading, error, groupBy, pageSize, children, renderItem: _schemaRenderItem, look, dragGroup, accepts, sortable, dropEvent, reorderEvent, positionEvent, dndItemIdField, dndRoot, relationsData, }: TableViewProps): React__default.JSX.Element;
|
|
8310
8310
|
declare namespace TableView {
|
|
8311
8311
|
var displayName: string;
|
|
8312
8312
|
}
|
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"() {
|
|
@@ -7422,11 +7429,10 @@ var init_HeroSection = __esm({
|
|
|
7422
7429
|
};
|
|
7423
7430
|
backgroundStyles = {
|
|
7424
7431
|
dark: "bg-foreground text-background",
|
|
7425
|
-
|
|
7426
|
-
|
|
7427
|
-
|
|
7428
|
-
|
|
7429
|
-
].join(" "),
|
|
7432
|
+
// A single bracket value: joining this as two array entries put a space
|
|
7433
|
+
// inside the class (Tailwind splits utilities on whitespace), so neither
|
|
7434
|
+
// half was a valid utility and the gradient rendered as nothing.
|
|
7435
|
+
gradient: "bg-[radial-gradient(ellipse_at_top,var(--color-primary)/0.08,transparent_60%),radial-gradient(ellipse_at_bottom_right,var(--color-accent)/0.06,transparent_50%)] bg-background",
|
|
7430
7436
|
subtle: "bg-muted/30"
|
|
7431
7437
|
};
|
|
7432
7438
|
MarketingImage = ({ src, alt, className }) => /* @__PURE__ */ jsx(
|
|
@@ -36897,7 +36903,6 @@ function TableView({
|
|
|
36897
36903
|
columns,
|
|
36898
36904
|
fields,
|
|
36899
36905
|
itemActions,
|
|
36900
|
-
maxInlineActions,
|
|
36901
36906
|
itemClickEvent = "",
|
|
36902
36907
|
selectable = false,
|
|
36903
36908
|
selectEvent,
|
|
@@ -36931,8 +36936,7 @@ function TableView({
|
|
|
36931
36936
|
const [localSelected, setLocalSelected] = React79__default.useState(/* @__PURE__ */ new Set());
|
|
36932
36937
|
const colDefs = (Array.isArray(columns) ? columns : void 0) ?? (Array.isArray(fields) ? fields : void 0) ?? [];
|
|
36933
36938
|
const actionDefs = Array.isArray(itemActions) ? itemActions : [];
|
|
36934
|
-
const
|
|
36935
|
-
const overflowActions = maxInlineActions != null ? actionDefs.slice(maxInlineActions) : actionDefs;
|
|
36939
|
+
const overflowActions = actionDefs;
|
|
36936
36940
|
const fireAction = (action, row) => eventBus.emit(`UI:${action.event}`, {
|
|
36937
36941
|
id: row.id,
|
|
36938
36942
|
row
|
|
@@ -37114,7 +37118,7 @@ function TableView({
|
|
|
37114
37118
|
}
|
|
37115
37119
|
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
37120
|
}),
|
|
37117
|
-
hasActions && /* @__PURE__ */
|
|
37121
|
+
hasActions && /* @__PURE__ */ jsx(
|
|
37118
37122
|
HStack,
|
|
37119
37123
|
{
|
|
37120
37124
|
gap: "xs",
|
|
@@ -37128,38 +37132,20 @@ function TableView({
|
|
|
37128
37132
|
"border-l border-[var(--color-border)]",
|
|
37129
37133
|
lk.striped && index % 2 === 1 ? "bg-[var(--color-surface-subtle)]" : "bg-[var(--color-card)] group-hover:bg-[var(--color-surface-subtle)]"
|
|
37130
37134
|
),
|
|
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
|
-
]
|
|
37135
|
+
children: overflowActions.length > 0 && /* @__PURE__ */ jsx(
|
|
37136
|
+
Menu,
|
|
37137
|
+
{
|
|
37138
|
+
position: "bottom-end",
|
|
37139
|
+
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" }) }),
|
|
37140
|
+
items: overflowActions.map((action) => ({
|
|
37141
|
+
label: action.label,
|
|
37142
|
+
icon: action.icon,
|
|
37143
|
+
event: action.event,
|
|
37144
|
+
variant: action.variant === "danger" ? "danger" : "default",
|
|
37145
|
+
onClick: () => fireAction(action, row)
|
|
37146
|
+
}))
|
|
37147
|
+
}
|
|
37148
|
+
)
|
|
37163
37149
|
}
|
|
37164
37150
|
)
|
|
37165
37151
|
]
|
|
@@ -46815,6 +46801,7 @@ var init_DetailPanel = __esm({
|
|
|
46815
46801
|
init_EmptyState();
|
|
46816
46802
|
init_cn();
|
|
46817
46803
|
init_portalRoot();
|
|
46804
|
+
init_slotContained();
|
|
46818
46805
|
init_format();
|
|
46819
46806
|
init_getNestedValue();
|
|
46820
46807
|
init_relationLabel();
|
|
@@ -46846,6 +46833,7 @@ var init_DetailPanel = __esm({
|
|
|
46846
46833
|
}) => {
|
|
46847
46834
|
const eventBus = useEventBus();
|
|
46848
46835
|
const { t } = useTranslate();
|
|
46836
|
+
const contained = useContext(SlotContainedContext);
|
|
46849
46837
|
const [titleDraft, setTitleDraft] = React79__default.useState(null);
|
|
46850
46838
|
const isFieldDefArray = (arr) => {
|
|
46851
46839
|
if (!arr || arr.length === 0) return false;
|
|
@@ -47233,8 +47221,9 @@ var init_DetailPanel = __esm({
|
|
|
47233
47221
|
if (!slideOver) {
|
|
47234
47222
|
return /* @__PURE__ */ jsx(Box, { className, children: content });
|
|
47235
47223
|
}
|
|
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
|
-
|
|
47224
|
+
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 });
|
|
47225
|
+
if (contained || typeof document === "undefined") return panel;
|
|
47226
|
+
return createPortal(panel, getOrCreatePortalRoot());
|
|
47238
47227
|
};
|
|
47239
47228
|
DetailPanel.displayName = "DetailPanel";
|
|
47240
47229
|
}
|
|
@@ -53712,6 +53701,7 @@ var init_component_registry_generated = __esm({
|
|
|
53712
53701
|
// components/core/organisms/UISlotRenderer.tsx
|
|
53713
53702
|
var UISlotRenderer_exports = {};
|
|
53714
53703
|
__export(UISlotRenderer_exports, {
|
|
53704
|
+
SlotContainedContext: () => SlotContainedContext,
|
|
53715
53705
|
SlotContentRenderer: () => SlotContentRenderer,
|
|
53716
53706
|
SuspenseConfigProvider: () => SuspenseConfigProvider,
|
|
53717
53707
|
UISlotComponent: () => UISlotComponent,
|
|
@@ -53884,6 +53874,25 @@ function renderContainedPortal(t, slot, content, onDismiss) {
|
|
|
53884
53874
|
}
|
|
53885
53875
|
);
|
|
53886
53876
|
case "drawer":
|
|
53877
|
+
if (content.pattern === "detail-panel" && content.props.slideOver === true) {
|
|
53878
|
+
return /* @__PURE__ */ jsx(
|
|
53879
|
+
Box,
|
|
53880
|
+
{
|
|
53881
|
+
id: slotId,
|
|
53882
|
+
className: "absolute inset-0 z-50 overflow-hidden",
|
|
53883
|
+
style: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
|
|
53884
|
+
onClick: onDismiss,
|
|
53885
|
+
children: /* @__PURE__ */ jsx(
|
|
53886
|
+
Box,
|
|
53887
|
+
{
|
|
53888
|
+
className: "absolute inset-y-0 right-0 pointer-events-auto",
|
|
53889
|
+
onClick: (e) => e.stopPropagation(),
|
|
53890
|
+
children: slotContent
|
|
53891
|
+
}
|
|
53892
|
+
)
|
|
53893
|
+
}
|
|
53894
|
+
);
|
|
53895
|
+
}
|
|
53887
53896
|
return /* @__PURE__ */ jsx(
|
|
53888
53897
|
Box,
|
|
53889
53898
|
{
|
|
@@ -54735,7 +54744,7 @@ function UISlotRenderer({
|
|
|
54735
54744
|
}
|
|
54736
54745
|
return wrapped;
|
|
54737
54746
|
}
|
|
54738
|
-
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext,
|
|
54747
|
+
var scopeWrapLog, TRAIT_BINDING_RE, SuspenseConfigContext, SLOT_SKELETON_MAP, CONTENT_NODE_SLOTS, PATTERNS_WITH_CHILDREN, traitRefPresenceCache;
|
|
54739
54748
|
var init_UISlotRenderer = __esm({
|
|
54740
54749
|
"components/core/organisms/UISlotRenderer.tsx"() {
|
|
54741
54750
|
"use client";
|
|
@@ -54750,6 +54759,7 @@ var init_UISlotRenderer = __esm({
|
|
|
54750
54759
|
init_cn();
|
|
54751
54760
|
init_format();
|
|
54752
54761
|
init_portalRoot();
|
|
54762
|
+
init_slotContained();
|
|
54753
54763
|
init_ErrorBoundary();
|
|
54754
54764
|
init_Skeleton();
|
|
54755
54765
|
init_renderer();
|
|
@@ -54759,7 +54769,6 @@ var init_UISlotRenderer = __esm({
|
|
|
54759
54769
|
scopeWrapLog = createLogger("almadar:ui:scope-wrap");
|
|
54760
54770
|
TRAIT_BINDING_RE = /^@trait\.([A-Z][A-Za-z0-9]*)$/;
|
|
54761
54771
|
SuspenseConfigContext = createContext({ enabled: false });
|
|
54762
|
-
SlotContainedContext = createContext(false);
|
|
54763
54772
|
SuspenseConfigProvider.displayName = "SuspenseConfigProvider";
|
|
54764
54773
|
SLOT_SKELETON_MAP = {
|
|
54765
54774
|
main: "table",
|