@floegence/floe-webapp-core 0.45.0 → 0.46.1
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/components/workbench/WorkbenchFilterBar.d.ts +15 -1
- package/dist/components/workbench/WorkbenchFilterBar.js +366 -315
- package/dist/components/workbench/WorkbenchSurface.d.ts +6 -1
- package/dist/components/workbench/WorkbenchSurface.js +415 -323
- package/dist/components/workbench/index.d.ts +1 -1
- package/dist/components/workbench/workbenchDockFocusCycle.d.ts +30 -0
- package/dist/components/workbench/workbenchDockFocusCycle.js +39 -0
- package/dist/styles.css +1 -1
- package/dist/workbench.css +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { WorkbenchOverlay, type WorkbenchOverlayProps } from './WorkbenchOverlay';
|
|
2
2
|
export { WorkbenchDockPopoverSurface, type WorkbenchDockPopoverSurfaceProps, } from './WorkbenchDockPopoverSurface';
|
|
3
3
|
export { WorkbenchSurface, type WorkbenchSurfaceApi, type WorkbenchCreateAtOptions, type WorkbenchCreateWidgetOptions, type WorkbenchContextMenuItemsResolver, type WorkbenchSurfaceProps, } from './WorkbenchSurface';
|
|
4
|
-
export type { WorkbenchDockAction, WorkbenchCanvasWidgetPlacement, WorkbenchDockCanvasPlacement, WorkbenchDockDropContext, WorkbenchDockItemPlacement, WorkbenchDockItemActivation, WorkbenchExternalDockDragController, WorkbenchExternalDockDragItem, WorkbenchHostDockItem, } from './WorkbenchFilterBar';
|
|
4
|
+
export type { WorkbenchDockAction, WorkbenchCanvasWidgetPlacement, WorkbenchDockCanvasPlacement, WorkbenchDockDropContext, WorkbenchDockItemPlacement, WorkbenchDockItemActivation, WorkbenchDockItemActivationMode, WorkbenchExternalDockDragController, WorkbenchExternalDockDragItem, WorkbenchHostDockItem, } from './WorkbenchFilterBar';
|
|
5
5
|
export type { BarItemContextMenuHandler, BarItemContextMenuRequest, BarItemContextMenuSource, } from '../layout/barItemContextMenu';
|
|
6
6
|
export { WorkbenchContextMenu, type WorkbenchContextMenuItem, type WorkbenchContextMenuProps, } from './WorkbenchContextMenu';
|
|
7
7
|
export { useWorkbenchModel, type UseWorkbenchModelOptions } from './useWorkbenchModel';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { WorkbenchSelection } from './types';
|
|
2
|
+
export type WorkbenchDockFocusCandidate = Readonly<{
|
|
3
|
+
kind: WorkbenchSelection['kind'];
|
|
4
|
+
id: string;
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
createdAtUnixMs: number;
|
|
10
|
+
}>;
|
|
11
|
+
export type WorkbenchDockFocusCycleSession = Readonly<{
|
|
12
|
+
dockItemKey: string;
|
|
13
|
+
candidateSignature: string;
|
|
14
|
+
targetKey: string;
|
|
15
|
+
}>;
|
|
16
|
+
export type WorkbenchDockFocusCycleResolution = Readonly<{
|
|
17
|
+
orderedCandidates: readonly WorkbenchDockFocusCandidate[];
|
|
18
|
+
target: WorkbenchDockFocusCandidate | null;
|
|
19
|
+
currentIndex: number | null;
|
|
20
|
+
session: WorkbenchDockFocusCycleSession | null;
|
|
21
|
+
}>;
|
|
22
|
+
export declare function workbenchDockFocusCandidateKey(candidate: Pick<WorkbenchDockFocusCandidate, 'kind' | 'id'>): string;
|
|
23
|
+
export declare function compareWorkbenchDockFocusCandidates(left: WorkbenchDockFocusCandidate, right: WorkbenchDockFocusCandidate): number;
|
|
24
|
+
export declare function sortWorkbenchDockFocusCandidates(candidates: readonly WorkbenchDockFocusCandidate[]): readonly WorkbenchDockFocusCandidate[];
|
|
25
|
+
export declare function resolveWorkbenchDockFocusCycle(options: Readonly<{
|
|
26
|
+
dockItemKey: string;
|
|
27
|
+
candidates: readonly WorkbenchDockFocusCandidate[];
|
|
28
|
+
selectedObject: WorkbenchSelection | null;
|
|
29
|
+
session: WorkbenchDockFocusCycleSession | null;
|
|
30
|
+
}>): WorkbenchDockFocusCycleResolution;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function r(e) {
|
|
2
|
+
return `${e.kind}:${e.id}`;
|
|
3
|
+
}
|
|
4
|
+
function l(e, n) {
|
|
5
|
+
return e < n ? -1 : e > n ? 1 : 0;
|
|
6
|
+
}
|
|
7
|
+
function k(e, n) {
|
|
8
|
+
return e.y - n.y || e.x - n.x || e.createdAtUnixMs - n.createdAtUnixMs || l(e.id, n.id);
|
|
9
|
+
}
|
|
10
|
+
function y(e) {
|
|
11
|
+
return [...e].sort(k);
|
|
12
|
+
}
|
|
13
|
+
function x(e) {
|
|
14
|
+
const n = y(e.candidates);
|
|
15
|
+
if (n.length === 0)
|
|
16
|
+
return {
|
|
17
|
+
orderedCandidates: n,
|
|
18
|
+
target: null,
|
|
19
|
+
currentIndex: null,
|
|
20
|
+
session: null
|
|
21
|
+
};
|
|
22
|
+
const c = n.map(r), d = c.join("\0"), s = e.selectedObject ? r(e.selectedObject) : null, a = e.session?.dockItemKey === e.dockItemKey && e.session.candidateSignature === d && e.session.targetKey === s, o = s ? c.indexOf(s) : -1, u = a ? (c.indexOf(e.session.targetKey) + 1) % n.length : o >= 0 ? o : 0, t = n[u] ?? null, i = t ? r(t) : "";
|
|
23
|
+
return {
|
|
24
|
+
orderedCandidates: n,
|
|
25
|
+
target: t,
|
|
26
|
+
currentIndex: t ? u : null,
|
|
27
|
+
session: t ? {
|
|
28
|
+
dockItemKey: e.dockItemKey,
|
|
29
|
+
candidateSignature: d,
|
|
30
|
+
targetKey: i
|
|
31
|
+
} : null
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
k as compareWorkbenchDockFocusCandidates,
|
|
36
|
+
x as resolveWorkbenchDockFocusCycle,
|
|
37
|
+
y as sortWorkbenchDockFocusCandidates,
|
|
38
|
+
r as workbenchDockFocusCandidateKey
|
|
39
|
+
};
|