@treasuryspatial/viewer-react 0.1.44 → 0.1.48

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.
Files changed (59) hide show
  1. package/dist/AccessAssetsMenu.d.ts.map +1 -1
  2. package/dist/AccessAssetsMenu.js +53 -45
  3. package/dist/AssetUploadCard.d.ts +2 -1
  4. package/dist/AssetUploadCard.d.ts.map +1 -1
  5. package/dist/AssetUploadCard.js +3 -2
  6. package/dist/ViewControls.d.ts +36 -2
  7. package/dist/ViewControls.d.ts.map +1 -1
  8. package/dist/ViewControls.js +154 -45
  9. package/dist/ViewerCanvas.d.ts.map +1 -1
  10. package/dist/ViewerCanvas.js +15 -40
  11. package/dist/composerRouting.d.ts +6 -0
  12. package/dist/composerRouting.d.ts.map +1 -1
  13. package/dist/composerRouting.js +18 -9
  14. package/dist/index.d.ts +13 -6
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +6 -4
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/useAdminGallery.d.ts +2 -30
  19. package/dist/useAdminGallery.d.ts.map +1 -1
  20. package/dist/useAdminGallery.js +15 -6
  21. package/dist/useAdminImageStream.d.ts +3 -31
  22. package/dist/useAdminImageStream.d.ts.map +1 -1
  23. package/dist/useAdminImageStream.js +22 -10
  24. package/dist/useComposerAccessGate.js +4 -4
  25. package/dist/useComposerAuthState.d.ts +1 -0
  26. package/dist/useComposerAuthState.d.ts.map +1 -1
  27. package/dist/useComposerAuthState.js +4 -1
  28. package/dist/useComposerModeDraftState.d.ts +21 -0
  29. package/dist/useComposerModeDraftState.d.ts.map +1 -0
  30. package/dist/useComposerModeDraftState.js +89 -0
  31. package/dist/useComposerUiState.d.ts +11 -4
  32. package/dist/useComposerUiState.d.ts.map +1 -1
  33. package/dist/useComposerUiState.js +118 -80
  34. package/dist/useComposerWorkspaceSession.d.ts +21 -0
  35. package/dist/useComposerWorkspaceSession.d.ts.map +1 -0
  36. package/dist/useComposerWorkspaceSession.js +291 -0
  37. package/dist/useGrasshopperSession.d.ts.map +1 -1
  38. package/dist/useGrasshopperSession.js +10 -4
  39. package/dist/useModeShellState.d.ts.map +1 -1
  40. package/dist/useModeShellState.js +52 -6
  41. package/dist/usePromptPackSelection.d.ts +20 -0
  42. package/dist/usePromptPackSelection.d.ts.map +1 -0
  43. package/dist/usePromptPackSelection.js +81 -0
  44. package/dist/useRightRailTabs.d.ts.map +1 -1
  45. package/dist/useRightRailTabs.js +4 -3
  46. package/dist/useSessionLogout.d.ts.map +1 -1
  47. package/dist/useSessionLogout.js +12 -1
  48. package/dist/useSessionRevocationPing.d.ts.map +1 -1
  49. package/dist/useSessionRevocationPing.js +15 -2
  50. package/dist/useShellPanelToggle.d.ts +7 -1
  51. package/dist/useShellPanelToggle.d.ts.map +1 -1
  52. package/dist/useShellPanelToggle.js +14 -6
  53. package/dist/workspaceSession.d.ts +36 -0
  54. package/dist/workspaceSession.d.ts.map +1 -0
  55. package/dist/workspaceSession.js +141 -0
  56. package/package.json +9 -8
  57. package/dist/usePromptPackSelectionByMode.d.ts +0 -26
  58. package/dist/usePromptPackSelectionByMode.d.ts.map +0 -1
  59. package/dist/usePromptPackSelectionByMode.js +0 -111
@@ -1,111 +0,0 @@
1
- import { useCallback, useMemo } from "react";
2
- export const DEFAULT_PROMPT_PACK_MODES = [];
3
- export const PROMPT_PACK_MODES = DEFAULT_PROMPT_PACK_MODES;
4
- const normalizeSelection = (raw, modes) => {
5
- if (!raw || typeof raw !== "object" || Array.isArray(raw))
6
- return null;
7
- const next = {};
8
- modes.forEach((mode) => {
9
- const entry = raw[mode];
10
- if (!entry || typeof entry !== "object" || Array.isArray(entry))
11
- return;
12
- const id = typeof entry.id === "string" ? entry.id?.trim() : undefined;
13
- const version = typeof entry.version === "string" ? entry.version?.trim() : undefined;
14
- if (id || version) {
15
- next[mode] = { id: id || undefined, version: version || undefined };
16
- }
17
- });
18
- return Object.keys(next).length ? next : null;
19
- };
20
- const mergeRef = (base, override) => {
21
- const id = override?.id ?? base?.id;
22
- const version = override?.version ?? base?.version;
23
- if (!id && !version)
24
- return undefined;
25
- return { id, version };
26
- };
27
- const formatLabel = (ref, catalogById) => {
28
- if (!ref?.id)
29
- return "default";
30
- const entry = catalogById[ref.id];
31
- const label = entry?.label || ref.id;
32
- const version = ref.version ?? entry?.version;
33
- return version ? `${label}@${version}` : label;
34
- };
35
- export function usePromptPackSelectionByMode({ mode, modes = DEFAULT_PROMPT_PACK_MODES, catalog, envSelection, overrideSelection = null, sessionContext = null, setSessionContext, contextKey = "promptPackRefByMode", legacyContextKey = "promptPackRefByModeOverride", }) {
36
- const catalogById = useMemo(() => Object.fromEntries(catalog.map((entry) => [entry.id, entry])), [catalog]);
37
- const activeModes = useMemo(() => {
38
- const values = new Set();
39
- modes.forEach((entry) => {
40
- const normalized = entry.trim();
41
- if (normalized)
42
- values.add(normalized);
43
- });
44
- const normalizedMode = mode.trim();
45
- if (normalizedMode)
46
- values.add(normalizedMode);
47
- return Array.from(values);
48
- }, [mode, modes]);
49
- const sessionSelection = useMemo(() => {
50
- const raw = (sessionContext ?? {})[contextKey] ?? (sessionContext ?? {})[legacyContextKey];
51
- return normalizeSelection(raw, activeModes);
52
- }, [activeModes, contextKey, legacyContextKey, sessionContext]);
53
- const mergedOverrides = useMemo(() => {
54
- if (!overrideSelection && !sessionSelection)
55
- return null;
56
- return {
57
- ...(overrideSelection ?? {}),
58
- ...(sessionSelection ?? {}),
59
- };
60
- }, [overrideSelection, sessionSelection]);
61
- const mergedSelection = useMemo(() => {
62
- if (!mergedOverrides)
63
- return envSelection;
64
- const next = { ...envSelection };
65
- activeModes.forEach((modeId) => {
66
- next[modeId] = mergeRef(envSelection[modeId], mergedOverrides[modeId]);
67
- });
68
- return next;
69
- }, [activeModes, envSelection, mergedOverrides]);
70
- const activeRef = useMemo(() => mergedSelection[mode], [mergedSelection, mode]);
71
- const activeLabel = useMemo(() => formatLabel(activeRef, catalogById), [activeRef, catalogById]);
72
- const labelsByMode = useMemo(() => Object.fromEntries(activeModes.map((modeId) => [modeId, formatLabel(mergedSelection[modeId], catalogById)])), [activeModes, catalogById, mergedSelection]);
73
- const setSelection = useCallback((modeKey, packId) => {
74
- if (!setSessionContext)
75
- return;
76
- const trimmedPackId = packId.trim();
77
- const existing = (sessionSelection ?? {});
78
- const next = { ...existing };
79
- if (!trimmedPackId) {
80
- delete next[modeKey];
81
- }
82
- else {
83
- const catalogEntry = catalogById[trimmedPackId];
84
- next[modeKey] = {
85
- id: trimmedPackId,
86
- version: catalogEntry?.version || undefined,
87
- };
88
- }
89
- setSessionContext({
90
- [contextKey]: Object.keys(next).length ? next : null,
91
- [legacyContextKey]: null,
92
- });
93
- }, [catalogById, contextKey, legacyContextKey, sessionSelection, setSessionContext]);
94
- const resetSelection = useCallback(() => {
95
- if (!setSessionContext)
96
- return;
97
- setSessionContext({
98
- [contextKey]: null,
99
- [legacyContextKey]: null,
100
- });
101
- }, [contextKey, legacyContextKey, setSessionContext]);
102
- return {
103
- activeRef,
104
- activeLabel,
105
- labelsByMode,
106
- catalogById,
107
- setSelection,
108
- resetSelection,
109
- mergedSelection,
110
- };
111
- }