@ydtb/tk-scope-app 0.26.1 → 0.26.2
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/src/dashboard/navigation/IconRail.js +4 -4
- package/dist/src/dashboard/navigation/IconRail.js.map +1 -1
- package/dist/src/dashboard/navigation/MoreToolsPopover.d.ts.map +1 -1
- package/dist/src/dashboard/navigation/MoreToolsPopover.js +3 -3
- package/dist/src/dashboard/navigation/MoreToolsPopover.js.map +1 -1
- package/dist/src/dashboard/navigation/active-tool.d.ts +3 -0
- package/dist/src/dashboard/navigation/active-tool.d.ts.map +1 -0
- package/dist/src/dashboard/navigation/active-tool.js +24 -0
- package/dist/src/dashboard/navigation/active-tool.js.map +1 -0
- package/dist/src/dashboard/navigation/use-active-tool.d.ts +3 -1
- package/dist/src/dashboard/navigation/use-active-tool.d.ts.map +1 -1
- package/dist/src/dashboard/navigation/use-active-tool.js +10 -22
- package/dist/src/dashboard/navigation/use-active-tool.js.map +1 -1
- package/dist/src/lib/platform-api.d.ts +1 -1
- package/package.json +10 -10
|
@@ -7,9 +7,9 @@ import { useNavigation } from "../../contexts/navigation/NavigationContext.js";
|
|
|
7
7
|
import { useScopeLink } from "@ydtb/tk-scope/client";
|
|
8
8
|
import { MoreToolsPopover } from "./MoreToolsPopover.js";
|
|
9
9
|
export function IconRailContent({ onNavigate, scopeSwitcherToggle }) {
|
|
10
|
-
const activeTool = useActiveTool();
|
|
11
10
|
const navigate = useNavigate();
|
|
12
|
-
const { visibleTopTools, hiddenTools, bottomTools } = useNavigation();
|
|
11
|
+
const { visibleTopTools, hiddenTools, bottomTools, allTopTools } = useNavigation();
|
|
12
|
+
const activeTool = useActiveTool([...allTopTools, ...bottomTools]);
|
|
13
13
|
const sl = useScopeLink();
|
|
14
14
|
const displayTools = useMemo(() => {
|
|
15
15
|
const activeHiddenTool = hiddenTools.find((tool) => tool.id === activeTool);
|
|
@@ -29,8 +29,8 @@ export function IconRailContent({ onNavigate, scopeSwitcherToggle }) {
|
|
|
29
29
|
return (_jsx(ReusableIconRailContent, { topItems: topItems, bottomItems: bottomItems, onSelectItem: handleSelectItem, onNavigate: onNavigate, moreTools: _jsx(MoreToolsPopover, {}), scopeSwitcherToggle: scopeSwitcherToggle }));
|
|
30
30
|
}
|
|
31
31
|
export function IconRail() {
|
|
32
|
-
const
|
|
33
|
-
const
|
|
32
|
+
const { visibleTopTools, hiddenTools, bottomTools, allTopTools } = useNavigation();
|
|
33
|
+
const activeTool = useActiveTool([...allTopTools, ...bottomTools]);
|
|
34
34
|
const navigate = useNavigate();
|
|
35
35
|
const sl = useScopeLink();
|
|
36
36
|
const displayTools = useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconRail.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/IconRail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EACL,QAAQ,IAAI,gBAAgB,EAC5B,eAAe,IAAI,uBAAuB,EAC1C,gBAAgB,GAEjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAiD,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAA;AAUzD,MAAM,UAAU,eAAe,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAwB;IACvF,MAAM,
|
|
1
|
+
{"version":3,"file":"IconRail.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/IconRail.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreToolsPopover.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/navigation/MoreToolsPopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MoreToolsPopover.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/navigation/MoreToolsPopover.tsx"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,4CAoB/B"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useNavigate } from "@tanstack/react-router";
|
|
3
|
-
import { MoreToolsPopover as ReusableMoreToolsPopover, toShellToolItems } from "@ydtb/tk-scope-shell";
|
|
3
|
+
import { MoreToolsPopover as ReusableMoreToolsPopover, toShellToolItems, } from "@ydtb/tk-scope-shell";
|
|
4
4
|
import { useNavigation } from "../../contexts/navigation/NavigationContext.js";
|
|
5
5
|
import { useCommand } from "../../contexts/command/CommandContext.js";
|
|
6
6
|
import { useActiveTool } from "./use-active-tool.js";
|
|
7
7
|
import { useScopeLink } from "@ydtb/tk-scope/client";
|
|
8
8
|
export function MoreToolsPopover() {
|
|
9
|
-
const { hiddenTools } = useNavigation();
|
|
9
|
+
const { hiddenTools, allTopTools } = useNavigation();
|
|
10
10
|
const { openPanel } = useCommand();
|
|
11
11
|
const navigate = useNavigate();
|
|
12
|
-
const activeTool = useActiveTool();
|
|
12
|
+
const activeTool = useActiveTool(allTopTools);
|
|
13
13
|
const sl = useScopeLink();
|
|
14
14
|
return (_jsx(ReusableMoreToolsPopover, { items: toShellToolItems(hiddenTools, activeTool), activeItemId: activeTool, onSelectItem: (item) => {
|
|
15
15
|
if (!item.route)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreToolsPopover.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/MoreToolsPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"MoreToolsPopover.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/MoreToolsPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EACL,gBAAgB,IAAI,wBAAwB,EAC5C,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAiD,CAAA;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA2C,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,aAAa,EAAE,CAAA;IACpD,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAA;IAClC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAA;IAC7C,MAAM,EAAE,GAAG,YAAY,EAAE,CAAA;IAEzB,OAAO,CACL,KAAC,wBAAwB,IACvB,KAAK,EAAE,gBAAgB,CAAC,WAAW,EAAE,UAAU,CAAC,EAChD,YAAY,EAAE,UAAU,EACxB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,KAAK;gBAAE,OAAM;YACvB,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAU,EAAE,CAAC,CAAA;QAC3C,CAAC,EACD,WAAW,EAAE,GAAG,EAAE;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/C,CAAC,GACD,CACH,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-tool.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/navigation/active-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AAmB7D,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAQzF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function getRouteMatchScore(toolPath, route) {
|
|
2
|
+
if (route === "/")
|
|
3
|
+
return -1;
|
|
4
|
+
if (toolPath === route)
|
|
5
|
+
return 10_000 + route.length;
|
|
6
|
+
if (toolPath.startsWith(`${route}/`))
|
|
7
|
+
return 5_000 + route.length;
|
|
8
|
+
// Some tools use a list route for their rail destination but detail/editor
|
|
9
|
+
// routes under the same top-level namespace. Capture, for example, links the
|
|
10
|
+
// rail to /capture/builder while form builders live at /capture/forms/:id/*.
|
|
11
|
+
const [toolSegment] = toolPath.split("/").filter(Boolean);
|
|
12
|
+
const [routeSegment] = route.split("/").filter(Boolean);
|
|
13
|
+
return toolSegment && routeSegment && toolSegment === routeSegment ? routeSegment.length : -1;
|
|
14
|
+
}
|
|
15
|
+
function isRouteMatch(toolPath, route) {
|
|
16
|
+
return getRouteMatchScore(toolPath, route) >= 0;
|
|
17
|
+
}
|
|
18
|
+
export function resolveActiveToolFromToolPath(toolPath, tools) {
|
|
19
|
+
const match = tools
|
|
20
|
+
.filter((tool) => isRouteMatch(toolPath, tool.route))
|
|
21
|
+
.sort((a, b) => getRouteMatchScore(toolPath, b.route) - getRouteMatchScore(toolPath, a.route))[0];
|
|
22
|
+
return match?.id ?? "dashboard";
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=active-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-tool.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/active-tool.ts"],"names":[],"mappings":"AAEA,SAAS,kBAAkB,CAAC,QAAgB,EAAE,KAAa;IACzD,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,CAAC,CAAC,CAAA;IAC5B,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IACpD,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC;QAAE,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,CAAA;IAEjE,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACzD,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,OAAO,WAAW,IAAI,YAAY,IAAI,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC/F,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,KAAa;IACnD,OAAO,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAgB,EAAE,KAAiB;IAC/E,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;SACpD,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CACxF,CAAC,CAAC,CAAC,CAAA;IAEN,OAAO,KAAK,EAAE,EAAE,IAAI,WAAW,CAAA;AACjC,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import type { ToolItem } from "../../lib/navigation-tools.ts";
|
|
2
|
+
export declare function resolveActiveToolId(pathname: string, scopeType: string | null | undefined, tools: ToolItem[]): string;
|
|
3
|
+
export declare function useActiveTool(toolsOverride?: ToolItem[]): string;
|
|
2
4
|
//# sourceMappingURL=use-active-tool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-active-tool.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/navigation/use-active-tool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-active-tool.d.ts","sourceRoot":"","sources":["../../../../src/dashboard/navigation/use-active-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAA;AA0B7D,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,KAAK,EAAE,QAAQ,EAAE,GAChB,MAAM,CAMR;AAED,wBAAgB,aAAa,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAM,CAOhE"}
|
|
@@ -2,6 +2,7 @@ import { useLocation } from "@tanstack/react-router";
|
|
|
2
2
|
import { useScopeContext } from "../../contexts/scope/ScopeContext.js";
|
|
3
3
|
import { useToolsForScope } from "../../contexts/navigation/NavigationRegistryContext.js";
|
|
4
4
|
import { getUrlPrefixes } from "@ydtb/tk-scope/client";
|
|
5
|
+
import { resolveActiveToolFromToolPath } from "./active-tool.js";
|
|
5
6
|
/**
|
|
6
7
|
* Extract the tool-relative path from a full pathname by stripping the scope prefix.
|
|
7
8
|
* e.g. '/l/abc123/contacts/123' with prefix '/l/$scopeId' → '/contacts/123'
|
|
@@ -24,30 +25,17 @@ function getToolPath(pathname, scopeType) {
|
|
|
24
25
|
}
|
|
25
26
|
return pathname;
|
|
26
27
|
}
|
|
27
|
-
function
|
|
28
|
-
if (route === "/")
|
|
29
|
-
return false;
|
|
30
|
-
if (toolPath === route || toolPath.startsWith(`${route}/`))
|
|
31
|
-
return true;
|
|
32
|
-
// Some tools use a list route for their rail destination but detail/editor
|
|
33
|
-
// routes under the same top-level namespace. Capture, for example, links the
|
|
34
|
-
// rail to /capture/builder while form builders live at /capture/forms/:id/*.
|
|
35
|
-
const [toolSegment] = toolPath.split("/").filter(Boolean);
|
|
36
|
-
const [routeSegment] = route.split("/").filter(Boolean);
|
|
37
|
-
return Boolean(toolSegment && routeSegment && toolSegment === routeSegment);
|
|
38
|
-
}
|
|
39
|
-
export function useActiveTool() {
|
|
40
|
-
const location = useLocation();
|
|
41
|
-
const pathname = location.pathname;
|
|
42
|
-
const { scopeType } = useScopeContext();
|
|
43
|
-
const tools = useToolsForScope(scopeType);
|
|
28
|
+
export function resolveActiveToolId(pathname, scopeType, tools) {
|
|
44
29
|
if (!scopeType) {
|
|
45
30
|
return "dashboard";
|
|
46
31
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
32
|
+
return resolveActiveToolFromToolPath(getToolPath(pathname, scopeType), tools);
|
|
33
|
+
}
|
|
34
|
+
export function useActiveTool(toolsOverride) {
|
|
35
|
+
const location = useLocation();
|
|
36
|
+
const { scopeType } = useScopeContext();
|
|
37
|
+
const staticTools = useToolsForScope(scopeType);
|
|
38
|
+
const tools = toolsOverride ?? staticTools;
|
|
39
|
+
return resolveActiveToolId(location.pathname, scopeType, tools);
|
|
52
40
|
}
|
|
53
41
|
//# sourceMappingURL=use-active-tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-active-tool.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/use-active-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAuC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAyD,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,SAAiB;IACtD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAA;IAE7B,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACpC,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACvD,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"use-active-tool.js","sourceRoot":"","sources":["../../../../src/dashboard/navigation/use-active-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAuC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAyD,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAEhE;;;GAGG;AACH,SAAS,WAAW,CAAC,QAAgB,EAAE,SAAiB;IACtD,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACnC,IAAI,CAAC,OAAO;QAAE,OAAO,QAAQ,CAAA;IAE7B,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACjD,IAAI,YAAY,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YACpC,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QACvD,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,GAAG,CAAA;IAC9C,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,SAAoC,EACpC,KAAiB;IAEjB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,OAAO,6BAA6B,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAA;AAC/E,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAA0B;IACtD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,CAAA;IACvC,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAG,aAAa,IAAI,WAAW,CAAA;IAE1C,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;AACjE,CAAC"}
|
|
@@ -3773,6 +3773,6 @@ export declare const tokensApi: import("@ydtb/tk-scope-api-client").ToolClient<{
|
|
|
3773
3773
|
scopeId: string;
|
|
3774
3774
|
scopeType: string;
|
|
3775
3775
|
scopeChain: import("@ydtb/tk-scope-extension/orpc").ScopeChainEntry[];
|
|
3776
|
-
}>, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("@orpc/
|
|
3776
|
+
}>, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("@orpc/server").Schema<import("@ydtb/tk-scope-tokens/types").TokenListGroup[], import("@ydtb/tk-scope-tokens/types").TokenListGroup[]>, Record<never, never>, Record<never, never>>;
|
|
3777
3777
|
}>;
|
|
3778
3778
|
//# sourceMappingURL=platform-api.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ydtb/tk-scope-app",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Platform client shell for tk-scope — pages, layouts, dashboard chrome, onboarding, auth strategies",
|
|
6
6
|
"type": "module",
|
|
@@ -83,22 +83,22 @@
|
|
|
83
83
|
"@orpc/server": "^1.13.14",
|
|
84
84
|
"@orpc/tanstack-query": "^1.13.14",
|
|
85
85
|
"@ydtb/core-client": "^0.13.2",
|
|
86
|
-
"@ydtb/tk-scope-api-client": "0.13.0",
|
|
87
86
|
"@ydtb/tk-scope": "0.14.2",
|
|
87
|
+
"@ydtb/tk-scope-api-client": "0.13.0",
|
|
88
|
+
"@ydtb/tk-scope-dashboard": "0.26.0",
|
|
88
89
|
"@ydtb/tk-scope-auth": "0.23.12",
|
|
89
|
-
"@ydtb/tk-scope-
|
|
90
|
+
"@ydtb/tk-scope-events": "0.23.12",
|
|
90
91
|
"@ydtb/tk-scope-launchpad": "0.23.12",
|
|
91
|
-
"@ydtb/tk-scope-
|
|
92
|
+
"@ydtb/tk-scope-lib": "0.13.0",
|
|
93
|
+
"@ydtb/tk-scope-extension": "0.23.12",
|
|
92
94
|
"@ydtb/tk-scope-notifications": "0.23.12",
|
|
93
|
-
"@ydtb/tk-scope-platform": "0.23.12",
|
|
94
|
-
"@ydtb/tk-scope-query-client": "0.14.0",
|
|
95
95
|
"@ydtb/tk-scope-onboarding": "0.23.12",
|
|
96
|
-
"@ydtb/tk-scope-
|
|
96
|
+
"@ydtb/tk-scope-query-client": "0.14.0",
|
|
97
|
+
"@ydtb/tk-scope-platform": "0.23.12",
|
|
98
|
+
"@ydtb/tk-scope-search": "0.23.12",
|
|
97
99
|
"@ydtb/tk-scope-shell": "0.26.0",
|
|
98
100
|
"@ydtb/tk-scope-tokens": "0.26.0",
|
|
99
|
-
"@ydtb/tk-scope-
|
|
100
|
-
"@ydtb/tk-scope-ui": "0.26.0",
|
|
101
|
-
"@ydtb/tk-scope-events": "0.23.12"
|
|
101
|
+
"@ydtb/tk-scope-ui": "0.26.0"
|
|
102
102
|
},
|
|
103
103
|
"peerDependencies": {
|
|
104
104
|
"@tanstack/react-query": ">=5.99.0 <6.0.0",
|