@almadar/ui 6.51.2 → 6.53.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-BbxrwSb9.d.ts → AwaitingSkeletonContext-Bh399p1x.d.ts} +17 -2
- package/dist/{Canvas3DHost-CLC_jXh_.d.ts → Canvas3DHost-B-y2TNij.d.ts} +1 -1
- package/dist/{FileTree-RKQqRhIM.d.ts → FileTree-DUi7e7Z8.d.ts} +5 -5
- package/dist/{GameAudioProvider-BgWLggIy.d.ts → GameAudioProvider-DyBvYP2c.d.ts} +1 -1
- package/dist/{NavStackContext-B-XLULCO.d.ts → NavStackContext-04NLdXsY.d.ts} +8 -0
- package/dist/Typography-JGSDH4JP.js +5 -0
- package/dist/{UISlotContext-DNM8iXna.d.ts → UISlotContext-CS487Uoc.d.ts} +1 -1
- package/dist/{UISlotRenderer-7UYHFW4S.js → UISlotRenderer-JT34I3O7.js} +9 -9
- package/dist/avl/index.cjs +39958 -38525
- package/dist/avl/index.d.ts +8 -5
- package/dist/avl/index.js +37 -26
- package/dist/{chunk-JXUYEO7U.js → chunk-2LFBQ4IS.js} +7 -1
- package/dist/{chunk-GIPZSCND.js → chunk-3EF5SDIJ.js} +31157 -31206
- package/dist/{chunk-GHXWGQTX.js → chunk-4OZDHCZV.js} +1 -1
- package/dist/{chunk-HQDKHLFG.js → chunk-64WACXM7.js} +15 -1
- package/dist/{chunk-FGHRVJCI.js → chunk-6O37FCX4.js} +13 -2
- package/dist/{chunk-BUEIZY54.js → chunk-7LM6I3NA.js} +8 -7
- package/dist/chunk-CBIJP5PL.js +284 -0
- package/dist/{chunk-MWPX2O4M.js → chunk-GMDMOYXD.js} +3 -16
- package/dist/{chunk-YKHNK5JH.js → chunk-GODZKHAL.js} +11 -4
- package/dist/{chunk-T7IH5ABO.js → chunk-IKULQIDX.js} +199 -88
- package/dist/{chunk-NTO555KF.js → chunk-JRW33U35.js} +183 -62
- package/dist/{chunk-OLZ3EEML.js → chunk-KQXXO42S.js} +106 -90
- package/dist/chunk-OKWD7LPO.js +80 -0
- package/dist/{chunk-YHY5K2Y7.js → chunk-PEST66PN.js} +6 -0
- package/dist/{chunk-L55SAFKL.js → chunk-UGHAADU5.js} +77 -1
- package/dist/{chunk-6CFYRP4S.js → chunk-VHTJRS2N.js} +4 -8
- package/dist/{chunk-R4V7IZQP.js → chunk-WPNM2KC6.js} +2 -2
- package/dist/{cn-CO-0rolG.d.ts → cn-ClXGlIOY.d.ts} +2 -2
- package/dist/components/index.cjs +46084 -44766
- package/dist/components/index.d.ts +645 -699
- package/dist/components/index.js +621 -13
- package/dist/context/index.cjs +20 -7
- package/dist/context/index.d.ts +3 -3
- package/dist/context/index.js +3 -3
- package/dist/hooks/index.cjs +126 -9
- package/dist/hooks/index.d.ts +32 -7
- package/dist/hooks/index.js +7 -7
- package/dist/lib/drawable/three/index.cjs +79 -2
- package/dist/lib/drawable/three/index.d.ts +3 -3
- package/dist/lib/drawable/three/index.js +7 -7
- package/dist/lib/index.cjs +116 -2
- package/dist/lib/index.d.ts +29 -6
- package/dist/lib/index.js +6 -5
- package/dist/locales/index.cjs +231 -3
- package/dist/locales/index.js +155 -3
- package/dist/{paintDispatch-CMgOyVjS.d.ts → paintDispatch-_6EhJCiL.d.ts} +6 -6
- package/dist/providers/index.cjs +36404 -35028
- package/dist/providers/index.d.ts +34 -9
- package/dist/providers/index.js +82 -19
- package/dist/renderer/index.cjs +6 -0
- package/dist/renderer/index.d.ts +1 -1
- package/dist/renderer/index.js +1 -1
- package/dist/runtime/index.cjs +37861 -36437
- package/dist/runtime/index.d.ts +6 -4
- package/dist/runtime/index.js +11 -11
- package/dist/ssr/index.cjs +584 -181
- package/dist/ssr/index.d.cts +36 -44
- package/dist/ssr/index.d.ts +36 -44
- package/dist/ssr/index.js +527 -124
- package/dist/{themeTokens-CN9WCXQc.d.ts → themeTokens-Ccu7EmGY.d.ts} +4 -2
- package/dist/{useUISlots-CwUWM1ra.d.ts → useUISlots-1dk2TR4j.d.ts} +1 -9
- package/dist/{verificationRegistry-DBHfOR9y.d.ts → verificationRegistry-CD7Xb40L.d.ts} +1 -1
- package/locales/ar.json +77 -1
- package/locales/en.json +77 -1
- package/locales/sl.json +77 -1
- package/package.json +13 -10
- package/tailwind-preset.cjs +37 -1
- package/themes/_base.css +114 -8
- package/themes/_contract.md +6 -0
- package/themes/almadar-website.css +2 -0
- package/themes/almadar.css +2 -0
- package/themes/aqua.css +5 -3
- package/themes/arabesque.css +9 -7
- package/themes/art-deco.css +5 -3
- package/themes/art-nouveau.css +4 -0
- package/themes/atelier.css +10 -8
- package/themes/bauhaus.css +2 -0
- package/themes/bloomberg-dense.css +13 -11
- package/themes/blueprint.css +2 -0
- package/themes/clay.css +2 -0
- package/themes/comic.css +12 -10
- package/themes/constructivist.css +2 -0
- package/themes/corporate.css +4 -2
- package/themes/cyberpunk.css +2 -0
- package/themes/frutiger-aero.css +2 -0
- package/themes/game-adventure.css +1 -0
- package/themes/game-rpg.css +1 -0
- package/themes/game-sci-fi.css +1 -0
- package/themes/game-ui-pack.css +1 -0
- package/themes/gazette.css +10 -8
- package/themes/glass.css +17 -15
- package/themes/gothic.css +2 -0
- package/themes/ink-wash.css +2 -0
- package/themes/kawaii.css +2 -0
- package/themes/kiosk.css +17 -15
- package/themes/linear-clean.css +12 -10
- package/themes/luxury.css +2 -0
- package/themes/mac-classic.css +2 -0
- package/themes/material.css +2 -0
- package/themes/memphis.css +2 -0
- package/themes/mid-century.css +2 -0
- package/themes/minimalist.css +2 -0
- package/themes/mudcloth.css +2 -0
- package/themes/neon.css +2 -0
- package/themes/neumorphic.css +2 -0
- package/themes/newsprint.css +2 -0
- package/themes/notion-editorial.css +12 -10
- package/themes/pixel.css +2 -0
- package/themes/prism.css +20 -18
- package/themes/retro.css +2 -0
- package/themes/risograph.css +2 -0
- package/themes/scandi.css +2 -0
- package/themes/sketch.css +2 -0
- package/themes/solarpunk.css +2 -0
- package/themes/steampunk.css +2 -0
- package/themes/swiss.css +2 -0
- package/themes/terminal.css +8 -6
- package/themes/trait-wars.css +2 -0
- package/themes/ukiyo-e.css +2 -0
- package/themes/vaporwave.css +2 -0
- package/themes/victorian.css +2 -0
- package/themes/wabi-sabi.css +2 -0
- package/themes/win95.css +2 -0
- package/themes/wireframe.css +2 -0
- package/themes/zine.css +2 -0
- package/dist/Typography-2Z3JKWHN.js +0 -5
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import React__default, { ReactNode } from 'react';
|
|
2
|
-
import { EntityRow, SExpr, EventPayload, EffectTrace } from '@almadar/core';
|
|
3
|
-
export { ANONYMOUS_USER, comparePathSpecificity, matchPath, matchPathAmong } from '@almadar/core';
|
|
2
|
+
import { EntityRow, SExpr, EventPayload, EffectTrace, SurfaceMode } from '@almadar/core';
|
|
3
|
+
export { ANONYMOUS_USER, SurfaceMode, comparePathSpecificity, matchPath, matchPathAmong } from '@almadar/core';
|
|
4
4
|
import { U as UIThemeDefinition } from '../ArbitraryClassCompiler-DvzdeHxc.js';
|
|
5
5
|
export { A as ARBITRARY_CLASS_STYLE_ID, a as ArbitraryClassCompiler, b as ArbitraryClassCompilerProvider, c as ArbitraryClassCompilerProviderProps, d as CurrentPagePathContext, e as CurrentPagePathProvider, f as CurrentPagePathProviderProps, g as DesignThemeProvider, O as OrbitalThemeProvider, h as OrbitalThemeProviderProps, r as resetArbitraryClassStyles, u as useArbitraryClassStyles, m as useCurrentPagePath, n as useDesignTheme } from '../ArbitraryClassCompiler-DvzdeHxc.js';
|
|
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
|
-
import { E as EventBusContextType } from '../NavStackContext-
|
|
9
|
-
export { N as NavPageDecl, a as NavStackApi, b as NavStackProvider, c as NavStackProviderProps, d as NavStackRouterBridge, e as NavStackRouterBridgeProps, i as isInertNavStack, u as useNavStack } from '../NavStackContext-
|
|
10
|
-
export { n as EntityBindingContext, E as EntityBindingSource, a as EntitySchemaContextValue, b as EntitySchemaProvider, c as EntitySchemaProviderProps, d as ServerBridgeContextValue, e as ServerBridgeProvider,
|
|
8
|
+
import { E as EventBusContextType } from '../NavStackContext-04NLdXsY.js';
|
|
9
|
+
export { N as NavPageDecl, a as NavStackApi, b as NavStackProvider, c as NavStackProviderProps, d as NavStackRouterBridge, e as NavStackRouterBridgeProps, i as isInertNavStack, u as useNavStack } from '../NavStackContext-04NLdXsY.js';
|
|
10
|
+
export { n as AwaitingSkeletonContext, A as AwaitingSkeletonSource, o as EntityBindingContext, E as EntityBindingSource, a as EntitySchemaContextValue, b as EntitySchemaProvider, c as EntitySchemaProviderProps, d as ServerBridgeContextValue, e as ServerBridgeProvider, p as ServerBridgeProviderProps, S as ServerBridgeTransport, T as TraitContext, f as TraitContextValue, g as TraitInstance, h as TraitProvider, i as TraitProviderProps, q as useAwaitingSkeleton, r as useEntityBindingSnapshot, u as useEntitySchema, j as useEntitySchemaOptional, k as useServerBridge, l as useTrait, m as useTraitContext } from '../AwaitingSkeletonContext-Bh399p1x.js';
|
|
11
11
|
import { i as UseOfflineExecutorResult, U as UseOfflineExecutorOptions } from '../offline-executor-C0TWucBj.js';
|
|
12
12
|
export { N as NavigationContextValue, c as NavigationProvider, d as NavigationProviderProps, e as NavigationState, k as extractRouteParams, l as findPageByName, m as findPageByPath, n as getAllPages, o as getDefaultPage, p as pathMatches, u as useActivePage, q as useInitPayload, r as useNavigateTo, s as useNavigation, t as useNavigationId, v as useNavigationState } from '../offline-executor-C0TWucBj.js';
|
|
13
|
-
import '../verificationRegistry-
|
|
14
|
-
export { G as GameAudioContext, a as GameAudioContextValue, b as GameAudioProvider, c as GameAudioProviderProps, u as useGameAudioContext, d as useGameAudioContextOptional } from '../GameAudioProvider-
|
|
13
|
+
import '../verificationRegistry-CD7Xb40L.js';
|
|
14
|
+
export { G as GameAudioContext, a as GameAudioContextValue, b as GameAudioProvider, c as GameAudioProviderProps, u as useGameAudioContext, d as useGameAudioContextOptional } from '../GameAudioProvider-DyBvYP2c.js';
|
|
15
15
|
export { A as Avl3DConfig, a as Avl3DContext, b as Avl3DModelOverrides, u as useAvl3DConfig, c as useAvl3DPalette } from '../avl-3d-context-MAt_NuU9.js';
|
|
16
16
|
export { AccessTokenProvider } from '@almadar/runtime';
|
|
17
|
-
import '../paintDispatch-
|
|
17
|
+
import '../paintDispatch-_6EhJCiL.js';
|
|
18
18
|
import 'lucide-react';
|
|
19
19
|
import 'three';
|
|
20
20
|
|
|
@@ -509,4 +509,29 @@ declare function useOfflineMode(): OfflineModeContextValue;
|
|
|
509
509
|
*/
|
|
510
510
|
declare function useOptionalOfflineMode(): OfflineModeContextValue | null;
|
|
511
511
|
|
|
512
|
-
|
|
512
|
+
/**
|
|
513
|
+
* Content surfaces: the background box behind a content block (table,
|
|
514
|
+
* calendar, list, chart …). Every block paints the theme-owned `.surface-content`
|
|
515
|
+
* by default, so a patterned page never shows through one block and not the
|
|
516
|
+
* next; the THEME decides what that surface looks like via `--surface-content-*`.
|
|
517
|
+
*
|
|
518
|
+
* Anything that already is a surface (a Card, a dialog, a panel, or a block that
|
|
519
|
+
* painted one) marks its subtree, and a block inside that subtree stays flat —
|
|
520
|
+
* declared ancestry, so a surface never nests inside another.
|
|
521
|
+
*/
|
|
522
|
+
|
|
523
|
+
/** Marks its subtree as already sitting on a surface. */
|
|
524
|
+
declare function SurfaceBoundary({ children }: {
|
|
525
|
+
children?: React__default.ReactNode;
|
|
526
|
+
}): React__default.ReactElement;
|
|
527
|
+
interface ContentSurface {
|
|
528
|
+
/** `surface-content` when this block paints the surface, otherwise undefined. */
|
|
529
|
+
className: string | undefined;
|
|
530
|
+
/** Wraps the block's content so nested blocks know they already sit on a surface. */
|
|
531
|
+
provide: (node: React__default.ReactNode) => React__default.ReactElement;
|
|
532
|
+
}
|
|
533
|
+
declare function useContentSurface(surface?: SurfaceMode): ContentSurface;
|
|
534
|
+
/** True when an ancestor already painted a surface. */
|
|
535
|
+
declare function useOnSurface(): boolean;
|
|
536
|
+
|
|
537
|
+
export { type ContentSurface, EventBusContext, EventBusProvider, type OfflineModeContextValue, OfflineModeProvider, type OfflineModeProviderProps, OrbitalProvider, type OrbitalProviderProps, RenderSlotProvider, type RenderSlotProviderProps, SelectionContext, type SelectionContextType, SelectionProvider, SurfaceBoundary, type TraitScope, TraitScopeProvider, type TraitScopeProviderProps, UIThemeDefinition, UserData, VerificationProvider, type VerificationProviderProps, mapServerEffectResults, useContentSurface, useOfflineMode, useOnSurface, useOptionalOfflineMode, useRenderSlot, useSelection, useSelectionOptional, useTraitScope, useTraitScopeChain };
|
package/dist/providers/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { arbitraryClassesOf } from '../chunk-ERXIHZW3.js';
|
|
2
|
-
import { useGameAudio, SuspenseConfigProvider } from '../chunk-
|
|
3
|
-
import { Box } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
2
|
+
import { useGameAudio, SuspenseConfigProvider } from '../chunk-3EF5SDIJ.js';
|
|
3
|
+
import { Box } from '../chunk-7LM6I3NA.js';
|
|
4
|
+
import '../chunk-GMDMOYXD.js';
|
|
5
|
+
import '../chunk-JRW33U35.js';
|
|
6
6
|
import '../chunk-XJTHMW4G.js';
|
|
7
7
|
import { setGlobalEventBus, useEventBus } from '../chunk-6EV3OEBQ.js';
|
|
8
|
-
import
|
|
9
|
-
import '../chunk-OLZ3EEML.js';
|
|
8
|
+
import '../chunk-KQXXO42S.js';
|
|
10
9
|
import { registerCheck, recordTransition, bindEventBus, bindTraitStateGetter } from '../chunk-O7OLVVBR.js';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-64WACXM7.js';
|
|
11
|
+
import { resolveThemeForRuntime, themeTokensToCssVars } from '../chunk-6O37FCX4.js';
|
|
12
|
+
import '../chunk-4OZDHCZV.js';
|
|
13
|
+
import '../chunk-UGHAADU5.js';
|
|
14
14
|
import { useOfflineExecutor } from '../chunk-PQKU62LK.js';
|
|
15
|
-
import '../chunk-
|
|
15
|
+
import '../chunk-PEST66PN.js';
|
|
16
16
|
import '../chunk-QPXIAUJD.js';
|
|
17
|
-
import { createContext, useRef, useCallback, useMemo, useEffect, useState, useContext, useSyncExternalStore } from 'react';
|
|
17
|
+
import React17, { createContext, useRef, useCallback, useMemo, useEffect, useState, useContext, useSyncExternalStore } from 'react';
|
|
18
18
|
import { ThemeProvider, useThemeScope, useTheme, ThemeScopeContext } from '@almadar/ui/context';
|
|
19
19
|
export { DesignThemeProvider, useDesignTheme } from '@almadar/ui/context';
|
|
20
20
|
import { createLogger } from '@almadar/logger';
|
|
@@ -1062,6 +1062,15 @@ function useEntityBindingSnapshot(traitName) {
|
|
|
1062
1062
|
state: source !== null && traitName !== void 0 ? source.getState(traitName) : ""
|
|
1063
1063
|
};
|
|
1064
1064
|
}
|
|
1065
|
+
var AwaitingSkeletonContext = createContext(null);
|
|
1066
|
+
var NOOP_SUBSCRIBE2 = () => () => void 0;
|
|
1067
|
+
var ZERO = () => 0;
|
|
1068
|
+
function useAwaitingSkeleton(target) {
|
|
1069
|
+
const source = useContext(AwaitingSkeletonContext);
|
|
1070
|
+
useSyncExternalStore(source?.subscribe ?? NOOP_SUBSCRIBE2, source?.getVersion ?? ZERO, ZERO);
|
|
1071
|
+
if (source === null) return void 0;
|
|
1072
|
+
return "slot" in target ? source.forSlot(target.slot) : source.forTrait(target.trait);
|
|
1073
|
+
}
|
|
1065
1074
|
var OfflineModeContext = createContext(null);
|
|
1066
1075
|
function OfflineModeProvider({
|
|
1067
1076
|
children,
|
|
@@ -1146,8 +1155,32 @@ function GameAudioProvider({
|
|
|
1146
1155
|
return /* @__PURE__ */ jsx(GameAudioContext.Provider, { value, children });
|
|
1147
1156
|
}
|
|
1148
1157
|
GameAudioProvider.displayName = "GameAudioProvider";
|
|
1149
|
-
function pageEntryLabel(page) {
|
|
1150
|
-
return page.label ?? page.name;
|
|
1158
|
+
function pageEntryLabel(page, navLabels) {
|
|
1159
|
+
return page.label ?? navLabels?.[page.path] ?? page.name;
|
|
1160
|
+
}
|
|
1161
|
+
function navLabelsFromItems(pages, items) {
|
|
1162
|
+
const labels = {};
|
|
1163
|
+
const visit = (list) => {
|
|
1164
|
+
for (const item of list) {
|
|
1165
|
+
const page = matchNavPage(pages, item.href);
|
|
1166
|
+
if (page && item.label) labels[page.path] = item.label;
|
|
1167
|
+
if (item.children) visit(item.children);
|
|
1168
|
+
}
|
|
1169
|
+
};
|
|
1170
|
+
visit(items);
|
|
1171
|
+
return labels;
|
|
1172
|
+
}
|
|
1173
|
+
function resolveEntryLabels(entries, pages, navLabels) {
|
|
1174
|
+
let changed = false;
|
|
1175
|
+
const resolved = entries.map((entry) => {
|
|
1176
|
+
const page = matchNavPage(pages, entry.href);
|
|
1177
|
+
if (!page || entry.label !== pageEntryLabel(page)) return entry;
|
|
1178
|
+
const label = pageEntryLabel(page, navLabels);
|
|
1179
|
+
if (label === entry.label) return entry;
|
|
1180
|
+
changed = true;
|
|
1181
|
+
return { ...entry, label };
|
|
1182
|
+
});
|
|
1183
|
+
return changed ? resolved : entries;
|
|
1151
1184
|
}
|
|
1152
1185
|
function normalizePath(p) {
|
|
1153
1186
|
let normalized = p.trim();
|
|
@@ -1220,7 +1253,8 @@ var INERT_API = {
|
|
|
1220
1253
|
beginNavigate: () => void 0,
|
|
1221
1254
|
back: () => void 0,
|
|
1222
1255
|
goTo: () => void 0,
|
|
1223
|
-
setCurrentLabel: () => void 0
|
|
1256
|
+
setCurrentLabel: () => void 0,
|
|
1257
|
+
registerNavItems: () => void 0
|
|
1224
1258
|
};
|
|
1225
1259
|
var NavStackContext = createContext(INERT_API);
|
|
1226
1260
|
function isInertNavStack(api) {
|
|
@@ -1250,6 +1284,14 @@ function persistStored(storageKey, state) {
|
|
|
1250
1284
|
} catch {
|
|
1251
1285
|
}
|
|
1252
1286
|
}
|
|
1287
|
+
function sameNavItems(a, b) {
|
|
1288
|
+
if (a === b) return true;
|
|
1289
|
+
if (a.length !== b.length) return false;
|
|
1290
|
+
return a.every((item, i) => {
|
|
1291
|
+
const other = b[i];
|
|
1292
|
+
return item.href === other.href && item.label === other.label && sameNavItems(item.children ?? [], other.children ?? []);
|
|
1293
|
+
});
|
|
1294
|
+
}
|
|
1253
1295
|
var NavStackProvider = ({
|
|
1254
1296
|
pages,
|
|
1255
1297
|
currentPath,
|
|
@@ -1258,6 +1300,7 @@ var NavStackProvider = ({
|
|
|
1258
1300
|
children
|
|
1259
1301
|
}) => {
|
|
1260
1302
|
const [state, setState] = useState(() => loadStored(storageKey));
|
|
1303
|
+
const [navItems, setNavItems] = useState([]);
|
|
1261
1304
|
const pendingCrumbRef = useRef(null);
|
|
1262
1305
|
const stateRef = useRef(state);
|
|
1263
1306
|
stateRef.current = state;
|
|
@@ -1293,9 +1336,13 @@ var NavStackProvider = ({
|
|
|
1293
1336
|
},
|
|
1294
1337
|
[pages, currentPath, storageKey]
|
|
1295
1338
|
);
|
|
1339
|
+
const registerNavItems = useCallback((items) => {
|
|
1340
|
+
setNavItems((prev) => sameNavItems(prev, items) ? prev : items);
|
|
1341
|
+
}, []);
|
|
1342
|
+
const navLabels = useMemo(() => navLabelsFromItems(pages, navItems), [pages, navItems]);
|
|
1296
1343
|
const entries = useMemo(
|
|
1297
|
-
() => entriesFor(state, pages, currentPath),
|
|
1298
|
-
[state, pages, currentPath]
|
|
1344
|
+
() => resolveEntryLabels(entriesFor(state, pages, currentPath), pages, navLabels),
|
|
1345
|
+
[state, pages, currentPath, navLabels]
|
|
1299
1346
|
);
|
|
1300
1347
|
const api = useMemo(
|
|
1301
1348
|
() => ({
|
|
@@ -1304,9 +1351,10 @@ var NavStackProvider = ({
|
|
|
1304
1351
|
beginNavigate,
|
|
1305
1352
|
back,
|
|
1306
1353
|
goTo,
|
|
1307
|
-
setCurrentLabel
|
|
1354
|
+
setCurrentLabel,
|
|
1355
|
+
registerNavItems
|
|
1308
1356
|
}),
|
|
1309
|
-
[entries, state, pages, currentPath, beginNavigate, back, goTo, setCurrentLabel]
|
|
1357
|
+
[entries, state, pages, currentPath, beginNavigate, back, goTo, setCurrentLabel, registerNavItems]
|
|
1310
1358
|
);
|
|
1311
1359
|
return /* @__PURE__ */ jsx(NavStackContext.Provider, { value: api, children });
|
|
1312
1360
|
};
|
|
@@ -1391,5 +1439,20 @@ function useAvl3DConfig() {
|
|
|
1391
1439
|
function useAvl3DPalette() {
|
|
1392
1440
|
return useContext(Avl3DContext).palette;
|
|
1393
1441
|
}
|
|
1442
|
+
var SurfaceContext = React17.createContext(false);
|
|
1443
|
+
function SurfaceBoundary({ children }) {
|
|
1444
|
+
return /* @__PURE__ */ jsx(SurfaceContext.Provider, { value: true, children });
|
|
1445
|
+
}
|
|
1446
|
+
function useContentSurface(surface = "auto") {
|
|
1447
|
+
const onSurface = React17.useContext(SurfaceContext);
|
|
1448
|
+
const paints = surface === "auto" && !onSurface;
|
|
1449
|
+
return {
|
|
1450
|
+
className: paints ? "surface-content" : void 0,
|
|
1451
|
+
provide: (node) => paints ? /* @__PURE__ */ jsx(SurfaceBoundary, { children: node }) : /* @__PURE__ */ jsx(Fragment, { children: node })
|
|
1452
|
+
};
|
|
1453
|
+
}
|
|
1454
|
+
function useOnSurface() {
|
|
1455
|
+
return React17.useContext(SurfaceContext);
|
|
1456
|
+
}
|
|
1394
1457
|
|
|
1395
|
-
export { ARBITRARY_CLASS_STYLE_ID, ArbitraryClassCompilerProvider, Avl3DContext, CurrentPagePathContext, CurrentPagePathProvider, EntityBindingContext, EntitySchemaProvider, EventBusContext, EventBusProvider, GameAudioContext, GameAudioProvider, NavStackProvider, NavStackRouterBridge, NavigationProvider, OfflineModeProvider, OrbitalProvider, OrbitalThemeProvider, RenderSlotProvider, SelectionContext, SelectionProvider, ServerBridgeProvider, TraitContext, TraitProvider, TraitScopeProvider, UserContext, UserProvider, VerificationProvider, extractRouteParams, findPageByName, findPageByPath, getAllPages, getDefaultPage, isInertNavStack, mapServerEffectResults, pathMatches, resetArbitraryClassStyles, useActivePage, useArbitraryClassStyles, useAvl3DConfig, useAvl3DPalette, useCurrentPagePath, useEntityBindingSnapshot, useEntitySchema, useEntitySchemaOptional, useGameAudioContext, useGameAudioContextOptional, useHasPermission, useHasRole, useInitPayload, useNavStack, useNavigateTo, useNavigation, useNavigationId, useNavigationState, useOfflineMode, useOptionalOfflineMode, useRenderSlot, useSelection, useSelectionOptional, useServerBridge, useTrait, useTraitContext, useTraitScope, useTraitScopeChain, useUser, useUserForEvaluation };
|
|
1458
|
+
export { ARBITRARY_CLASS_STYLE_ID, ArbitraryClassCompilerProvider, Avl3DContext, AwaitingSkeletonContext, CurrentPagePathContext, CurrentPagePathProvider, EntityBindingContext, EntitySchemaProvider, EventBusContext, EventBusProvider, GameAudioContext, GameAudioProvider, NavStackProvider, NavStackRouterBridge, NavigationProvider, OfflineModeProvider, OrbitalProvider, OrbitalThemeProvider, RenderSlotProvider, SelectionContext, SelectionProvider, ServerBridgeProvider, SurfaceBoundary, TraitContext, TraitProvider, TraitScopeProvider, UserContext, UserProvider, VerificationProvider, extractRouteParams, findPageByName, findPageByPath, getAllPages, getDefaultPage, isInertNavStack, mapServerEffectResults, pathMatches, resetArbitraryClassStyles, useActivePage, useArbitraryClassStyles, useAvl3DConfig, useAvl3DPalette, useAwaitingSkeleton, useContentSurface, useCurrentPagePath, useEntityBindingSnapshot, useEntitySchema, useEntitySchemaOptional, useGameAudioContext, useGameAudioContextOptional, useHasPermission, useHasRole, useInitPayload, useNavStack, useNavigateTo, useNavigation, useNavigationId, useNavigationState, useOfflineMode, useOnSurface, useOptionalOfflineMode, useRenderSlot, useSelection, useSelectionOptional, useServerBridge, useTrait, useTraitContext, useTraitScope, useTraitScopeChain, useUser, useUserForEvaluation };
|
package/dist/renderer/index.cjs
CHANGED
|
@@ -343,6 +343,12 @@ var SLOT_DEFINITIONS = {
|
|
|
343
343
|
name: "sidebar",
|
|
344
344
|
type: "inline"
|
|
345
345
|
},
|
|
346
|
+
dock: {
|
|
347
|
+
name: "dock",
|
|
348
|
+
type: "portal",
|
|
349
|
+
portalTarget: "body",
|
|
350
|
+
zIndex: 850
|
|
351
|
+
},
|
|
346
352
|
// -------------------------------------------------------------------------
|
|
347
353
|
// Portal Slots - Render to document.body via React Portal
|
|
348
354
|
// -------------------------------------------------------------------------
|
package/dist/renderer/index.d.ts
CHANGED
|
@@ -302,7 +302,7 @@ declare function hasEntities(entityName: string, context: DataContext): boolean;
|
|
|
302
302
|
* Inline slots render within the component hierarchy.
|
|
303
303
|
* Portal slots render to document.body, breaking out of overflow containers.
|
|
304
304
|
*/
|
|
305
|
-
declare const SLOT_DEFINITIONS: Partial<Record<UISlot, SlotDefinition>> & Record<'main' | 'sidebar' | 'modal' | 'drawer' | 'overlay' | 'center' | 'toast' | 'hud-top' | 'hud-bottom' | 'floating', SlotDefinition>;
|
|
305
|
+
declare const SLOT_DEFINITIONS: Partial<Record<UISlot, SlotDefinition>> & Record<'main' | 'sidebar' | 'dock' | 'modal' | 'drawer' | 'overlay' | 'center' | 'toast' | 'hud-top' | 'hud-bottom' | 'floating', SlotDefinition>;
|
|
306
306
|
/**
|
|
307
307
|
* Get the slot definition for a slot name.
|
|
308
308
|
*/
|
package/dist/renderer/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { ClientEffectConfigContext, ClientEffectConfigProvider, NavigationProvider, OfflineExecutor, comparePathSpecificity, createOfflineExecutor, executeClientEffects, extractRouteParams, findPageByName, findPageByPath, getAllPages, getDefaultPage, getKnownPatterns, getPatternDefinition, getPatternMapping, getPatternsByCategory, getRenderUIEffects, hasEntities, initializePatternResolver, initializePatterns, isKnownPattern, matchPath, matchPathAmong, parseClientEffect, parseClientEffects, pathMatches, resolveEntityById, resolveEntityData, resolveEntityDataWithQuery, resolvePattern, setComponentMapping, setPatternRegistry, useActivePage, useClientEffectConfig, useClientEffectConfigOptional, useClientEffects, useInitPayload, useNavigateTo, useNavigation, useNavigationId, useNavigationState, useOfflineExecutor } from '../chunk-PQKU62LK.js';
|
|
2
|
-
export { ALL_SLOTS, SLOT_DEFINITIONS, getInlineSlots, getSlotDefinition, isPortalSlot } from '../chunk-
|
|
2
|
+
export { ALL_SLOTS, SLOT_DEFINITIONS, getInlineSlots, getSlotDefinition, isPortalSlot } from '../chunk-PEST66PN.js';
|
|
3
3
|
import '../chunk-QPXIAUJD.js';
|