@almadar/ui 4.50.16 → 4.50.18
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/avl/index.cjs +106 -3
- package/dist/avl/index.js +106 -3
- package/dist/components/index.cjs +24 -2
- package/dist/components/index.js +24 -2
- package/dist/components/molecules/DataGrid.d.ts +1 -1
- package/dist/components/molecules/DataList.d.ts +1 -1
- package/dist/components/molecules/useDataDnd.d.ts +8 -0
- package/dist/context/OrbitalThemeProvider.d.ts +37 -0
- package/dist/context/index.cjs +68 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.js +67 -2
- package/dist/context/themeTokens.d.ts +55 -0
- package/dist/providers/index.cjs +24 -2
- package/dist/providers/index.js +24 -2
- package/dist/runtime/index.cjs +106 -3
- package/dist/runtime/index.js +106 -3
- package/package.json +1 -1
package/dist/runtime/index.js
CHANGED
|
@@ -21048,6 +21048,7 @@ function useDataDnd(args) {
|
|
|
21048
21048
|
sortable,
|
|
21049
21049
|
dropEvent,
|
|
21050
21050
|
reorderEvent,
|
|
21051
|
+
positionEvent,
|
|
21051
21052
|
dndItemIdField = "id",
|
|
21052
21053
|
dndRoot,
|
|
21053
21054
|
items,
|
|
@@ -21115,8 +21116,8 @@ function useDataDnd(args) {
|
|
|
21115
21116
|
const [activeDrag, setActiveDrag] = React80__default.useState(null);
|
|
21116
21117
|
const [overZoneGroup, setOverZoneGroup] = React80__default.useState(null);
|
|
21117
21118
|
const meta = React80__default.useMemo(
|
|
21118
|
-
() => ({ group: ownGroup, dropEvent, reorderEvent, itemIds, rawItems: items, idField: dndItemIdField }),
|
|
21119
|
-
[ownGroup, dropEvent, reorderEvent, itemIds, items, dndItemIdField]
|
|
21119
|
+
() => ({ group: ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, rawItems: items, idField: dndItemIdField }),
|
|
21120
|
+
[ownGroup, dropEvent, reorderEvent, positionEvent, itemIds, items, dndItemIdField]
|
|
21120
21121
|
);
|
|
21121
21122
|
React80__default.useEffect(() => {
|
|
21122
21123
|
const target = isRoot ? null : parentRoot;
|
|
@@ -21202,6 +21203,20 @@ function useDataDnd(args) {
|
|
|
21202
21203
|
dndLog.warn("dragEnd:abort:no-zone-resolved", { activeId: active.id, hasSource: !!sourceMeta, hasTarget: !!targetMeta });
|
|
21203
21204
|
return;
|
|
21204
21205
|
}
|
|
21206
|
+
const emitPositions = (zoneMeta) => {
|
|
21207
|
+
if (!zoneMeta.positionEvent) {
|
|
21208
|
+
dndLog.debug("dragEnd:positions:no-event", { group: zoneMeta.group });
|
|
21209
|
+
return;
|
|
21210
|
+
}
|
|
21211
|
+
const evt = `UI:${zoneMeta.positionEvent}`;
|
|
21212
|
+
const order = optimisticOrdersRef.current.get(zoneMeta.group) ?? zoneMeta.rawItems;
|
|
21213
|
+
order.forEach((it, idx) => {
|
|
21214
|
+
const id = String(it[zoneMeta.idField]);
|
|
21215
|
+
const position = idx * 1e3;
|
|
21216
|
+
eventBus.emit(evt, { id, position });
|
|
21217
|
+
});
|
|
21218
|
+
dndLog.info("dragEnd:positions:emitted", { event: evt, group: zoneMeta.group, count: order.length });
|
|
21219
|
+
};
|
|
21205
21220
|
if (sourceMeta.group !== targetMeta.group) {
|
|
21206
21221
|
if (targetMeta.dropEvent) {
|
|
21207
21222
|
const evt = `UI:${targetMeta.dropEvent}`;
|
|
@@ -21221,6 +21236,8 @@ function useDataDnd(args) {
|
|
|
21221
21236
|
} else {
|
|
21222
21237
|
dndLog.warn("dragEnd:cross-container:no-dropEvent-on-target", { targetGroup: targetMeta.group });
|
|
21223
21238
|
}
|
|
21239
|
+
emitPositions(sourceMeta);
|
|
21240
|
+
emitPositions(targetMeta);
|
|
21224
21241
|
return;
|
|
21225
21242
|
}
|
|
21226
21243
|
if (oldIndex === newIndex) {
|
|
@@ -21243,6 +21260,7 @@ function useDataDnd(args) {
|
|
|
21243
21260
|
} else {
|
|
21244
21261
|
dndLog.debug("dragEnd:reorder:no-reorderEvent", { sourceGroup: sourceMeta.group });
|
|
21245
21262
|
}
|
|
21263
|
+
emitPositions(sourceMeta);
|
|
21246
21264
|
},
|
|
21247
21265
|
[eventBus]
|
|
21248
21266
|
);
|
|
@@ -21547,6 +21565,7 @@ function DataGrid({
|
|
|
21547
21565
|
sortable,
|
|
21548
21566
|
dropEvent,
|
|
21549
21567
|
reorderEvent,
|
|
21568
|
+
positionEvent,
|
|
21550
21569
|
dndItemIdField,
|
|
21551
21570
|
dndRoot
|
|
21552
21571
|
}) {
|
|
@@ -21564,6 +21583,7 @@ function DataGrid({
|
|
|
21564
21583
|
sortable,
|
|
21565
21584
|
dropEvent,
|
|
21566
21585
|
reorderEvent,
|
|
21586
|
+
positionEvent,
|
|
21567
21587
|
dndItemIdField,
|
|
21568
21588
|
dndRoot
|
|
21569
21589
|
});
|
|
@@ -21956,6 +21976,7 @@ function DataList({
|
|
|
21956
21976
|
sortable: sortableProp,
|
|
21957
21977
|
dropEvent,
|
|
21958
21978
|
reorderEvent: dndReorderEvent,
|
|
21979
|
+
positionEvent,
|
|
21959
21980
|
dndItemIdField,
|
|
21960
21981
|
dndRoot
|
|
21961
21982
|
}) {
|
|
@@ -21972,6 +21993,7 @@ function DataList({
|
|
|
21972
21993
|
sortable: sortableProp,
|
|
21973
21994
|
dropEvent,
|
|
21974
21995
|
reorderEvent: dndReorderEvent,
|
|
21996
|
+
positionEvent,
|
|
21975
21997
|
dndItemIdField,
|
|
21976
21998
|
dndRoot
|
|
21977
21999
|
});
|
|
@@ -46152,6 +46174,74 @@ function ServerBridgeProvider({
|
|
|
46152
46174
|
return /* @__PURE__ */ jsx(ServerBridgeContext.Provider, { value: { connected, sendEvent }, children });
|
|
46153
46175
|
}
|
|
46154
46176
|
|
|
46177
|
+
// context/OrbitalThemeProvider.tsx
|
|
46178
|
+
init_ThemeContext();
|
|
46179
|
+
|
|
46180
|
+
// context/themeTokens.ts
|
|
46181
|
+
function themeTokensToCssVars(tokens, mode = "light", darkVariant) {
|
|
46182
|
+
const vars = {};
|
|
46183
|
+
const isDark = mode === "dark";
|
|
46184
|
+
const pickColors = isDark && darkVariant?.colors ? darkVariant.colors : tokens.colors;
|
|
46185
|
+
if (pickColors) {
|
|
46186
|
+
for (const [key, value] of Object.entries(pickColors)) {
|
|
46187
|
+
vars[`--color-${key}`] = value;
|
|
46188
|
+
}
|
|
46189
|
+
if (isDark && darkVariant?.colors && tokens.colors) {
|
|
46190
|
+
for (const [key, value] of Object.entries(tokens.colors)) {
|
|
46191
|
+
const varName = `--color-${key}`;
|
|
46192
|
+
if (!(varName in vars)) vars[varName] = value;
|
|
46193
|
+
}
|
|
46194
|
+
}
|
|
46195
|
+
}
|
|
46196
|
+
const pickRadii = isDark && darkVariant?.radii ? darkVariant.radii : tokens.radii;
|
|
46197
|
+
if (pickRadii) {
|
|
46198
|
+
for (const [key, value] of Object.entries(pickRadii)) {
|
|
46199
|
+
vars[`--radius-${key}`] = value;
|
|
46200
|
+
}
|
|
46201
|
+
}
|
|
46202
|
+
const pickSpacing = isDark && darkVariant?.spacing ? darkVariant.spacing : tokens.spacing;
|
|
46203
|
+
if (pickSpacing) {
|
|
46204
|
+
for (const [key, value] of Object.entries(pickSpacing)) {
|
|
46205
|
+
vars[`--space-${key}`] = value;
|
|
46206
|
+
}
|
|
46207
|
+
}
|
|
46208
|
+
const pickTypography = isDark && darkVariant?.typography ? darkVariant.typography : tokens.typography;
|
|
46209
|
+
if (pickTypography) {
|
|
46210
|
+
for (const [key, value] of Object.entries(pickTypography)) {
|
|
46211
|
+
vars[`--${key}`] = value;
|
|
46212
|
+
}
|
|
46213
|
+
}
|
|
46214
|
+
const pickShadows = isDark && darkVariant?.shadows ? darkVariant.shadows : tokens.shadows;
|
|
46215
|
+
if (pickShadows) {
|
|
46216
|
+
for (const [key, value] of Object.entries(pickShadows)) {
|
|
46217
|
+
vars[`--shadow-${key}`] = value;
|
|
46218
|
+
}
|
|
46219
|
+
}
|
|
46220
|
+
return vars;
|
|
46221
|
+
}
|
|
46222
|
+
function resolveThemeForRuntime(theme) {
|
|
46223
|
+
if (theme === void 0) return void 0;
|
|
46224
|
+
if (typeof theme === "string") return void 0;
|
|
46225
|
+
return theme;
|
|
46226
|
+
}
|
|
46227
|
+
function OrbitalThemeProvider({ theme, children }) {
|
|
46228
|
+
const resolved = resolveThemeForRuntime(theme);
|
|
46229
|
+
const { resolvedMode } = useTheme();
|
|
46230
|
+
if (!resolved) {
|
|
46231
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
46232
|
+
}
|
|
46233
|
+
const vars = themeTokensToCssVars(resolved.tokens, resolvedMode, resolved.variants?.dark);
|
|
46234
|
+
return /* @__PURE__ */ jsx(
|
|
46235
|
+
"div",
|
|
46236
|
+
{
|
|
46237
|
+
"data-orbital-theme": resolved.name,
|
|
46238
|
+
style: { display: "contents", ...vars },
|
|
46239
|
+
children
|
|
46240
|
+
}
|
|
46241
|
+
);
|
|
46242
|
+
}
|
|
46243
|
+
OrbitalThemeProvider.displayName = "OrbitalThemeProvider";
|
|
46244
|
+
|
|
46155
46245
|
// runtime/OrbPreview.tsx
|
|
46156
46246
|
init_navigation();
|
|
46157
46247
|
init_verificationRegistry();
|
|
@@ -46600,6 +46690,19 @@ function SchemaRunner({ schema, serverUrl, transport, mockData, pageName, onNavi
|
|
|
46600
46690
|
});
|
|
46601
46691
|
return set;
|
|
46602
46692
|
}, [schema, pageName]);
|
|
46693
|
+
const activeOrbitalTheme = useMemo(() => {
|
|
46694
|
+
const parsed = schema;
|
|
46695
|
+
if (!parsed?.orbitals?.length) return void 0;
|
|
46696
|
+
if (pageName) {
|
|
46697
|
+
for (const orb of parsed.orbitals) {
|
|
46698
|
+
for (const pageRef of orb.pages ?? []) {
|
|
46699
|
+
const name = typeof pageRef === "object" && pageRef !== null ? pageRef.name : void 0;
|
|
46700
|
+
if (name === pageName) return orb.theme;
|
|
46701
|
+
}
|
|
46702
|
+
}
|
|
46703
|
+
}
|
|
46704
|
+
return parsed.orbitals[0]?.theme;
|
|
46705
|
+
}, [schema, pageName]);
|
|
46603
46706
|
const inner = /* @__PURE__ */ jsx(VerificationProvider, { enabled: true, children: /* @__PURE__ */ jsxs(
|
|
46604
46707
|
EntitySchemaProvider,
|
|
46605
46708
|
{
|
|
@@ -46620,7 +46723,7 @@ function SchemaRunner({ schema, serverUrl, transport, mockData, pageName, onNavi
|
|
|
46620
46723
|
persistence
|
|
46621
46724
|
}
|
|
46622
46725
|
),
|
|
46623
|
-
/* @__PURE__ */ jsx(Box, { className: "h-full p-4", children: /* @__PURE__ */ jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) })
|
|
46726
|
+
/* @__PURE__ */ jsx(OrbitalThemeProvider, { theme: activeOrbitalTheme, children: /* @__PURE__ */ jsx(Box, { className: "h-full p-4", children: /* @__PURE__ */ jsx(UISlotRenderer, { includeHud: true, hudMode: "inline", includeFloating: true }) }) })
|
|
46624
46727
|
]
|
|
46625
46728
|
}
|
|
46626
46729
|
) });
|