@formicoidea/labre-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/_pkgs/affine-block-callout/commands/turn-callout-into.d.ts +43 -0
- package/dist/_pkgs/affine-block-callout/commands/turn-callout-into.js +109 -0
- package/dist/_pkgs/affine-block-callout/commands/turn-into-callout.d.ts +1 -1
- package/dist/_pkgs/affine-block-callout/commands/turn-into-callout.js +1 -1
- package/dist/_pkgs/affine-block-callout/configs/slash-menu.js +4 -2
- package/dist/_pkgs/affine-block-callout/configs/toolbar.d.ts +65 -0
- package/dist/_pkgs/affine-block-callout/configs/toolbar.js +178 -0
- package/dist/_pkgs/affine-block-callout/view.d.ts +30 -1
- package/dist/_pkgs/affine-block-callout/view.js +45 -3
- package/dist/_pkgs/affine-block-code/code-toolbar/components/lang-button.js +1 -1
- package/dist/_pkgs/affine-block-frame/commands.d.ts +27 -0
- package/dist/_pkgs/affine-block-frame/commands.js +49 -0
- package/dist/_pkgs/affine-block-frame/frame-manager.d.ts +11 -6
- package/dist/_pkgs/affine-block-frame/frame-manager.js +10 -5
- package/dist/_pkgs/affine-block-frame/frame-order.d.ts +43 -0
- package/dist/_pkgs/affine-block-frame/frame-order.js +93 -0
- package/dist/_pkgs/affine-block-frame/index.d.ts +2 -0
- package/dist/_pkgs/affine-block-frame/index.js +2 -0
- package/dist/_pkgs/affine-block-frame/present/frame-order-menu.d.ts +10 -2
- package/dist/_pkgs/affine-block-frame/present/frame-order-menu.js +32 -18
- package/dist/_pkgs/affine-block-frame/view.js +6 -0
- package/dist/_pkgs/affine-block-note/configs/toolbar.d.ts +19 -0
- package/dist/_pkgs/affine-block-note/configs/toolbar.js +38 -23
- package/dist/_pkgs/affine-block-note/translations.d.ts +2 -0
- package/dist/_pkgs/affine-block-note/translations.js +14 -1
- package/dist/_pkgs/affine-block-root/configs/toolbar.js +31 -2
- package/dist/_pkgs/affine-block-root/translations.d.ts +7 -2
- package/dist/_pkgs/affine-block-root/translations.js +10 -13
- package/dist/_pkgs/affine-block-surface/extensions/selection-pane/actions.d.ts +20 -9
- package/dist/_pkgs/affine-block-surface/extensions/selection-pane/actions.js +57 -20
- package/dist/_pkgs/affine-block-surface/extensions/selection-pane/commands.d.ts +6 -8
- package/dist/_pkgs/affine-block-surface/extensions/selection-pane/commands.js +21 -8
- package/dist/_pkgs/affine-block-surface/extensions/selection-pane/index.d.ts +1 -1
- package/dist/_pkgs/affine-block-surface/extensions/selection-pane/index.js +1 -1
- package/dist/_pkgs/affine-components/portal/portal.d.ts +1 -1
- package/dist/_pkgs/affine-foundation/view.d.ts +8 -8
- package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.d.ts +34 -2
- package/dist/_pkgs/affine-fragment-frame-panel/body/frame-panel-body.js +194 -81
- package/dist/_pkgs/affine-fragment-frame-panel/card/frame-card.d.ts +7 -4
- package/dist/_pkgs/affine-fragment-frame-panel/card/frame-card.js +9 -24
- package/dist/_pkgs/affine-fragment-frame-panel/index.d.ts +1 -0
- package/dist/_pkgs/affine-fragment-frame-panel/index.js +1 -0
- package/dist/_pkgs/affine-model/utils/types.d.ts +2 -2
- package/dist/_pkgs/affine-shared/services/edit-props-store.d.ts +4 -4
- package/dist/_pkgs/affine-shared/services/font-loader/config.d.ts +2 -2
- package/dist/_pkgs/affine-shared/services/font-loader/font-loader-service.d.ts +3 -3
- package/dist/_pkgs/affine-shared/services/index.d.ts +1 -1
- package/dist/_pkgs/affine-shared/services/index.js +1 -1
- package/dist/_pkgs/affine-shared/services/link-preview-service/link-preview-storage.d.ts +4 -4
- package/dist/_pkgs/affine-shared/services/outline-panel-service.d.ts +31 -0
- package/dist/_pkgs/affine-shared/services/outline-panel-service.js +17 -0
- package/dist/_pkgs/affine-shared/services/translation-service/chrome.d.ts +11 -0
- package/dist/_pkgs/affine-shared/services/translation-service/chrome.js +19 -0
- package/dist/_pkgs/affine-shared/utils/index.d.ts +1 -0
- package/dist/_pkgs/affine-shared/utils/index.js +1 -0
- package/dist/_pkgs/affine-shared/utils/panel-reorder-drag.d.ts +85 -0
- package/dist/_pkgs/affine-shared/utils/panel-reorder-drag.js +162 -0
- package/dist/_pkgs/affine-widget-edgeless-toolbar/selection-pane/drop.d.ts +7 -6
- package/dist/_pkgs/affine-widget-edgeless-toolbar/selection-pane/drop.js +11 -8
- package/dist/_pkgs/affine-widget-edgeless-toolbar/selection-pane/selection-pane-widget.d.ts +31 -15
- package/dist/_pkgs/affine-widget-edgeless-toolbar/selection-pane/selection-pane-widget.js +178 -142
- package/dist/_pkgs/std/scope/std-scope.d.ts +1 -1
- package/dist/commands.js +2 -0
- package/dist/extensions/view.js +5 -1
- package/dist/flags.d.ts +3 -0
- package/dist/flags.js +3 -0
- package/dist/host-panels.d.ts +90 -0
- package/dist/host-panels.js +111 -0
- package/package.json +5 -1
- package/dist/_pkgs/affine-fragment-frame-panel/utils/drag.d.ts +0 -27
- package/dist/_pkgs/affine-fragment-frame-panel/utils/drag.js +0 -96
- package/dist/_pkgs/affine-shared/services/sidebar-service.d.ts +0 -8
- package/dist/_pkgs/affine-shared/services/sidebar-service.js +0 -7
|
@@ -4,17 +4,28 @@ import type { SelectionPaneNode } from './tree.js';
|
|
|
4
4
|
* Move `id` so it sits directly ABOVE `above` in the stack — `null` puts it at
|
|
5
5
|
* the bottom of its stack. Answers whether anything was written.
|
|
6
6
|
*
|
|
7
|
-
* The
|
|
8
|
-
* X means "directly above X". The new `index` is a key between the two
|
|
9
|
-
* neighbours (the same `fractional-indexing` keys `LayerManager` generates), so
|
|
10
|
-
* one field of one model is written and nothing else moves.
|
|
11
|
-
*
|
|
12
|
-
* Refused, with nothing written: a read-only document; a mindmap node (it has
|
|
13
|
-
* no index of its own — the whole mindmap moves as one, as the toolbar's
|
|
14
|
-
* reorder already says); an `above` that is not stacked with `id`; and a
|
|
15
|
-
* target that is where the model already is.
|
|
7
|
+
* The one-row case of {@link reorderPaneElements}, kept for its callers.
|
|
16
8
|
*/
|
|
17
9
|
export declare function reorderPaneElement(std: BlockStdScope, id: string, above: string | null): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Move the models `ids`, as one block, so they sit directly ABOVE `above` in
|
|
12
|
+
* their stack — `null` puts them at the bottom of it. They keep their current
|
|
13
|
+
* relative z-order, whatever order `ids` lists them in. Answers whether
|
|
14
|
+
* anything was written.
|
|
15
|
+
*
|
|
16
|
+
* The drop target of a drag in a top-first list: dropping rows just over row
|
|
17
|
+
* X means "directly above X". Each moved model gets a new `index` between its
|
|
18
|
+
* new neighbours (the same `fractional-indexing` keys `LayerManager`
|
|
19
|
+
* generates), so only the moved models are written and nothing else shifts.
|
|
20
|
+
*
|
|
21
|
+
* Refused, with nothing written: a read-only document; an unknown id; a
|
|
22
|
+
* mindmap node (it has no index of its own — the whole mindmap moves as one,
|
|
23
|
+
* as the toolbar's reorder already says); models that are not all stacked
|
|
24
|
+
* together (a selection spanning two stacks has no one place to land, ADR
|
|
25
|
+
* 0034); an `above` that is one of them or not stacked with them; and a
|
|
26
|
+
* target that is where the models already are.
|
|
27
|
+
*/
|
|
28
|
+
export declare function reorderPaneElements(std: BlockStdScope, ids: readonly string[], above: string | null): boolean;
|
|
18
29
|
/**
|
|
19
30
|
* Lock or unlock each model ON ITS OWN. Answers whether anything was written.
|
|
20
31
|
*
|
|
@@ -48,26 +48,53 @@ function stackSiblings(std, model) {
|
|
|
48
48
|
* Move `id` so it sits directly ABOVE `above` in the stack — `null` puts it at
|
|
49
49
|
* the bottom of its stack. Answers whether anything was written.
|
|
50
50
|
*
|
|
51
|
-
* The
|
|
52
|
-
* X means "directly above X". The new `index` is a key between the two
|
|
53
|
-
* neighbours (the same `fractional-indexing` keys `LayerManager` generates), so
|
|
54
|
-
* one field of one model is written and nothing else moves.
|
|
55
|
-
*
|
|
56
|
-
* Refused, with nothing written: a read-only document; a mindmap node (it has
|
|
57
|
-
* no index of its own — the whole mindmap moves as one, as the toolbar's
|
|
58
|
-
* reorder already says); an `above` that is not stacked with `id`; and a
|
|
59
|
-
* target that is where the model already is.
|
|
51
|
+
* The one-row case of {@link reorderPaneElements}, kept for its callers.
|
|
60
52
|
*/
|
|
61
53
|
export function reorderPaneElement(std, id, above) {
|
|
54
|
+
return reorderPaneElements(std, [id], above);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Move the models `ids`, as one block, so they sit directly ABOVE `above` in
|
|
58
|
+
* their stack — `null` puts them at the bottom of it. They keep their current
|
|
59
|
+
* relative z-order, whatever order `ids` lists them in. Answers whether
|
|
60
|
+
* anything was written.
|
|
61
|
+
*
|
|
62
|
+
* The drop target of a drag in a top-first list: dropping rows just over row
|
|
63
|
+
* X means "directly above X". Each moved model gets a new `index` between its
|
|
64
|
+
* new neighbours (the same `fractional-indexing` keys `LayerManager`
|
|
65
|
+
* generates), so only the moved models are written and nothing else shifts.
|
|
66
|
+
*
|
|
67
|
+
* Refused, with nothing written: a read-only document; an unknown id; a
|
|
68
|
+
* mindmap node (it has no index of its own — the whole mindmap moves as one,
|
|
69
|
+
* as the toolbar's reorder already says); models that are not all stacked
|
|
70
|
+
* together (a selection spanning two stacks has no one place to land, ADR
|
|
71
|
+
* 0034); an `above` that is one of them or not stacked with them; and a
|
|
72
|
+
* target that is where the models already are.
|
|
73
|
+
*/
|
|
74
|
+
export function reorderPaneElements(std, ids, above) {
|
|
62
75
|
if (std.store.readonly)
|
|
63
76
|
return false;
|
|
64
|
-
const
|
|
65
|
-
if (
|
|
77
|
+
const moving = new Set(ids);
|
|
78
|
+
if (moving.size === 0)
|
|
66
79
|
return false;
|
|
67
|
-
if (
|
|
80
|
+
if (above !== null && moving.has(above))
|
|
68
81
|
return false;
|
|
69
|
-
const
|
|
70
|
-
|
|
82
|
+
const models = [];
|
|
83
|
+
for (const id of moving) {
|
|
84
|
+
const model = gfxModel(std, id);
|
|
85
|
+
if (!model)
|
|
86
|
+
return false;
|
|
87
|
+
if (model.group instanceof MindmapElementModel)
|
|
88
|
+
return false;
|
|
89
|
+
models.push(model);
|
|
90
|
+
}
|
|
91
|
+
const siblings = stackSiblings(std, models[0]);
|
|
92
|
+
if (models.some(model => !siblings.includes(model)))
|
|
93
|
+
return false;
|
|
94
|
+
// `siblings` is in stacking order, bottom first, so filtering keeps the
|
|
95
|
+
// moved models' relative order.
|
|
96
|
+
const moved = siblings.filter(model => moving.has(model.id));
|
|
97
|
+
const others = siblings.filter(model => !moving.has(model.id));
|
|
71
98
|
let position = 0;
|
|
72
99
|
if (above !== null) {
|
|
73
100
|
const target = others.findIndex(other => other.id === above);
|
|
@@ -75,10 +102,13 @@ export function reorderPaneElement(std, id, above) {
|
|
|
75
102
|
return false;
|
|
76
103
|
position = target + 1;
|
|
77
104
|
}
|
|
78
|
-
// Already there: the
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
-
|
|
105
|
+
// Already there: the stack would read the same after the move.
|
|
106
|
+
const after = [
|
|
107
|
+
...others.slice(0, position),
|
|
108
|
+
...moved,
|
|
109
|
+
...others.slice(position),
|
|
110
|
+
];
|
|
111
|
+
if (after.every((model, i) => model === siblings[i]))
|
|
82
112
|
return false;
|
|
83
113
|
const lower = others[position - 1]?.index ?? null;
|
|
84
114
|
const upper = others[position]?.index ?? null;
|
|
@@ -86,9 +116,16 @@ export function reorderPaneElement(std, id, above) {
|
|
|
86
116
|
// this only guards a hand-made document; refusing beats throwing in a drop.
|
|
87
117
|
if (lower !== null && upper !== null && lower >= upper)
|
|
88
118
|
return false;
|
|
89
|
-
const
|
|
119
|
+
const gfx = std.get(GfxControllerIdentifier);
|
|
90
120
|
std.store.captureSync();
|
|
91
|
-
std.
|
|
121
|
+
std.store.transact(() => {
|
|
122
|
+
let previous = lower;
|
|
123
|
+
for (const model of moved) {
|
|
124
|
+
const index = generateKeyBetween(previous, upper);
|
|
125
|
+
gfx.updateElement(model, { index });
|
|
126
|
+
previous = index;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
92
129
|
return true;
|
|
93
130
|
}
|
|
94
131
|
/**
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import type { AnyCommandDescriptor } from '../../../std/index.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
export declare const reorderElementParams: z.ZodObject<{
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* The model it lands directly ABOVE, stacked with it; `null` puts it at the
|
|
8
|
-
* bottom of its stack.
|
|
9
|
-
*/
|
|
4
|
+
id: z.ZodOptional<z.ZodString>;
|
|
5
|
+
ids: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
6
|
above: z.ZodNullable<z.ZodString>;
|
|
11
7
|
}, "strip", z.ZodTypeAny, {
|
|
12
|
-
id: string;
|
|
13
8
|
above: string | null;
|
|
9
|
+
id?: string | undefined;
|
|
10
|
+
ids?: string[] | undefined;
|
|
14
11
|
}, {
|
|
15
|
-
id: string;
|
|
16
12
|
above: string | null;
|
|
13
|
+
id?: string | undefined;
|
|
14
|
+
ids?: string[] | undefined;
|
|
17
15
|
}>;
|
|
18
16
|
export type ReorderElementParams = z.infer<typeof reorderElementParams>;
|
|
19
17
|
export declare const lockElementsParams: z.ZodObject<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CanvasLocalVisibility, SelectionPaneProvider, TelemetryProvider, } from '../../../affine-shared/services/index.js';
|
|
2
2
|
import { GfxControllerIdentifier } from '../../../std/gfx/index.js';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { renamePaneFrame, renamePaneGroup,
|
|
4
|
+
import { renamePaneFrame, renamePaneGroup, reorderPaneElements, setPaneElementsHiddenForEveryone, setPaneElementsLocked, } from './actions.js';
|
|
5
5
|
import { setUserLayersHiddenForEveryone } from '../user-layers/actions.js';
|
|
6
6
|
import { SelectionPaneModel } from './tree.js';
|
|
7
7
|
/**
|
|
@@ -68,13 +68,20 @@ const toggleSelectionPane = {
|
|
|
68
68
|
});
|
|
69
69
|
},
|
|
70
70
|
};
|
|
71
|
+
/*
|
|
72
|
+
* "An `id` or a non-empty `ids`" is checked in `run`, not with a zod `refine`:
|
|
73
|
+
* a refined schema is a `ZodEffects`, which `describeCommandParams` cannot
|
|
74
|
+
* project, so the agent manifest would lose the whole parameter contract.
|
|
75
|
+
*/
|
|
71
76
|
export const reorderElementParams = z.object({
|
|
72
|
-
|
|
73
|
-
id: z.string().min(1),
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
// The element or gfx block to move.
|
|
78
|
+
id: z.string().min(1).optional(),
|
|
79
|
+
// Several models of ONE stack, moved as a block in their current relative
|
|
80
|
+
// order (the selection pane's multi-row drag, ADR 0034). Added beside `id`,
|
|
81
|
+
// which stays: a caller passing `id` alone is unchanged.
|
|
82
|
+
ids: z.array(z.string().min(1)).optional(),
|
|
83
|
+
// The model they land directly ABOVE, stacked with them; `null` puts them
|
|
84
|
+
// at the bottom of their stack.
|
|
78
85
|
above: z.string().min(1).nullable(),
|
|
79
86
|
});
|
|
80
87
|
const reorderElement = {
|
|
@@ -97,7 +104,13 @@ const reorderElement = {
|
|
|
97
104
|
console.error('canvas.element.reorder: invalid params', parsed.error);
|
|
98
105
|
return;
|
|
99
106
|
}
|
|
100
|
-
|
|
107
|
+
const { id, ids = [], above } = parsed.data;
|
|
108
|
+
const moving = id === undefined ? ids : [id, ...ids];
|
|
109
|
+
if (!moving.length) {
|
|
110
|
+
console.error('canvas.element.reorder: needs an id or ids');
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
reorderPaneElements(std, moving, above);
|
|
101
114
|
},
|
|
102
115
|
};
|
|
103
116
|
export const lockElementsParams = z.object({
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { filterSelectionPaneTree, renamePaneFrame, renamePaneGroup, reorderPaneElement, type SelectionPaneFilterTarget, selectionPaneFilterMembers, selectionPaneFilterTargets, setPaneElementsHiddenForEveryone, setPaneElementsLocked, } from './actions.js';
|
|
1
|
+
export { filterSelectionPaneTree, renamePaneFrame, renamePaneGroup, reorderPaneElement, reorderPaneElements, type SelectionPaneFilterTarget, selectionPaneFilterMembers, selectionPaneFilterTargets, setPaneElementsHiddenForEveryone, setPaneElementsLocked, } from './actions.js';
|
|
2
2
|
export { type HideForEveryoneParams, hideForEveryoneParams, type HideLocalParams, hideLocalParams, type LockElementsParams, lockElementsParams, type RenameGroupParams, renameGroupParams, type ReorderElementParams, reorderElementParams, selectionPaneCommands, } from './commands.js';
|
|
3
3
|
export { buildSelectionPaneTree, DEFAULT_LAYER_ID, paneContainerOf, paneLayersOf, type SelectionPaneLayers, type SelectionPaneNode, SelectionPaneModel, selectionPaneTree, } from './tree.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { filterSelectionPaneTree, renamePaneFrame, renamePaneGroup, reorderPaneElement, selectionPaneFilterMembers, selectionPaneFilterTargets, setPaneElementsHiddenForEveryone, setPaneElementsLocked, } from './actions.js';
|
|
1
|
+
export { filterSelectionPaneTree, renamePaneFrame, renamePaneGroup, reorderPaneElement, reorderPaneElements, selectionPaneFilterMembers, selectionPaneFilterTargets, setPaneElementsHiddenForEveryone, setPaneElementsLocked, } from './actions.js';
|
|
2
2
|
export { hideForEveryoneParams, hideLocalParams, lockElementsParams, renameGroupParams, reorderElementParams, selectionPaneCommands, } from './commands.js';
|
|
3
3
|
export { buildSelectionPaneTree, DEFAULT_LAYER_ID, paneContainerOf, paneLayersOf, SelectionPaneModel, selectionPaneTree, } from './tree.js';
|
|
@@ -17,7 +17,7 @@ import { LitElement, type TemplateResult } from 'lit';
|
|
|
17
17
|
*/
|
|
18
18
|
export declare class Portal extends LitElement {
|
|
19
19
|
private _portalRoot;
|
|
20
|
-
createRenderRoot():
|
|
20
|
+
createRenderRoot(): ShadowRoot | HTMLDivElement;
|
|
21
21
|
disconnectedCallback(): void;
|
|
22
22
|
render(): TemplateResult | undefined;
|
|
23
23
|
accessor container: HTMLElement;
|
|
@@ -23,13 +23,13 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
23
23
|
style: z.ZodString;
|
|
24
24
|
}, "strip", z.ZodTypeAny, {
|
|
25
25
|
style: string;
|
|
26
|
-
font: string;
|
|
27
26
|
url: string;
|
|
27
|
+
font: string;
|
|
28
28
|
weight: string;
|
|
29
29
|
}, {
|
|
30
30
|
style: string;
|
|
31
|
-
font: string;
|
|
32
31
|
url: string;
|
|
32
|
+
font: string;
|
|
33
33
|
weight: string;
|
|
34
34
|
}>, "many">>;
|
|
35
35
|
telemetry: z.ZodOptional<z.ZodType<TelemetryService, z.ZodTypeDef, TelemetryService>>;
|
|
@@ -42,8 +42,8 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
42
42
|
} | undefined;
|
|
43
43
|
fontConfig?: {
|
|
44
44
|
style: string;
|
|
45
|
-
font: string;
|
|
46
45
|
url: string;
|
|
46
|
+
font: string;
|
|
47
47
|
weight: string;
|
|
48
48
|
}[] | undefined;
|
|
49
49
|
telemetry?: TelemetryService | undefined;
|
|
@@ -56,8 +56,8 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
56
56
|
} | undefined;
|
|
57
57
|
fontConfig?: {
|
|
58
58
|
style: string;
|
|
59
|
-
font: string;
|
|
60
59
|
url: string;
|
|
60
|
+
font: string;
|
|
61
61
|
weight: string;
|
|
62
62
|
}[] | undefined;
|
|
63
63
|
telemetry?: TelemetryService | undefined;
|
|
@@ -87,13 +87,13 @@ export declare class FoundationViewExtension extends ViewExtensionProvider<Found
|
|
|
87
87
|
style: z.ZodString;
|
|
88
88
|
}, "strip", z.ZodTypeAny, {
|
|
89
89
|
style: string;
|
|
90
|
-
font: string;
|
|
91
90
|
url: string;
|
|
91
|
+
font: string;
|
|
92
92
|
weight: string;
|
|
93
93
|
}, {
|
|
94
94
|
style: string;
|
|
95
|
-
font: string;
|
|
96
95
|
url: string;
|
|
96
|
+
font: string;
|
|
97
97
|
weight: string;
|
|
98
98
|
}>, "many">>;
|
|
99
99
|
telemetry: z.ZodOptional<z.ZodType<TelemetryService, z.ZodTypeDef, TelemetryService>>;
|
|
@@ -106,8 +106,8 @@ export declare class FoundationViewExtension extends ViewExtensionProvider<Found
|
|
|
106
106
|
} | undefined;
|
|
107
107
|
fontConfig?: {
|
|
108
108
|
style: string;
|
|
109
|
-
font: string;
|
|
110
109
|
url: string;
|
|
110
|
+
font: string;
|
|
111
111
|
weight: string;
|
|
112
112
|
}[] | undefined;
|
|
113
113
|
telemetry?: TelemetryService | undefined;
|
|
@@ -120,8 +120,8 @@ export declare class FoundationViewExtension extends ViewExtensionProvider<Found
|
|
|
120
120
|
} | undefined;
|
|
121
121
|
fontConfig?: {
|
|
122
122
|
style: string;
|
|
123
|
-
font: string;
|
|
124
123
|
url: string;
|
|
124
|
+
font: string;
|
|
125
125
|
weight: string;
|
|
126
126
|
}[] | undefined;
|
|
127
127
|
telemetry?: TelemetryService | undefined;
|
|
@@ -11,8 +11,15 @@ export declare class FramePanelBody extends FramePanelBody_base {
|
|
|
11
11
|
*/
|
|
12
12
|
private readonly _clickBlank;
|
|
13
13
|
private _docDisposables;
|
|
14
|
-
private _frameElementHeight;
|
|
15
14
|
private _frameItems;
|
|
15
|
+
/** The side panels' one reorder gesture (ADR 0034), made on connect. */
|
|
16
|
+
private _reorder;
|
|
17
|
+
/** The card a press landed on: what a pick-up picks up. */
|
|
18
|
+
private _pressed;
|
|
19
|
+
/** The dragged cards' copies following the pointer, top one last. */
|
|
20
|
+
private _ghosts;
|
|
21
|
+
/** The list's `gap`, read once at the pick-up: the drop line sits in it. */
|
|
22
|
+
private _listGap;
|
|
16
23
|
private _indicatorTranslateY;
|
|
17
24
|
private _lastEdgelessRootId;
|
|
18
25
|
private get _gfx();
|
|
@@ -20,10 +27,36 @@ export declare class FramePanelBody extends FramePanelBody_base {
|
|
|
20
27
|
private readonly _updateFrameItems;
|
|
21
28
|
get frames(): FrameBlockModel[];
|
|
22
29
|
get viewportPadding(): [number, number, number, number];
|
|
30
|
+
private _createReorderDrag;
|
|
31
|
+
/** The cards on screen, in presentation order. */
|
|
32
|
+
private _cards;
|
|
33
|
+
/** A press on a card: the controller decides whether it becomes a drag. */
|
|
23
34
|
private _drag;
|
|
35
|
+
/**
|
|
36
|
+
* The press became a drag. The pressed card is selected if it was not
|
|
37
|
+
* (shift adds it to the selection), and every selected card moves: their
|
|
38
|
+
* copies — the last two, the top one counting them — follow the pointer,
|
|
39
|
+
* and the cards themselves stay in place as placeholders.
|
|
40
|
+
*/
|
|
41
|
+
private _pickUp;
|
|
42
|
+
/**
|
|
43
|
+
* A release at the gap `gap` puts the selected cards right before the first
|
|
44
|
+
* card at or after it that does not move, or at the end. The line sits in
|
|
45
|
+
* the middle of the list's gap: above the card under the gap, or under the
|
|
46
|
+
* last card — the frame panel's own drag used to draw that last one at 0.
|
|
47
|
+
*/
|
|
48
|
+
private _dropAt;
|
|
24
49
|
private _fitToElement;
|
|
25
50
|
private _renderEmptyContent;
|
|
26
51
|
private _renderFrameList;
|
|
52
|
+
/**
|
|
53
|
+
* Move the selected cards, as one block, right before the frame `before`
|
|
54
|
+
* (`null` = at the end; `_dropAt` picks it). The write is
|
|
55
|
+
* `canvas.frame.reorder` (ADR 0034): the read-only refusal, the no-op check
|
|
56
|
+
* and the one undo step live in its action, run through the imported
|
|
57
|
+
* descriptor so the panel reorders in page mode too, where the command is
|
|
58
|
+
* not registered.
|
|
59
|
+
*/
|
|
27
60
|
private _reorderFrames;
|
|
28
61
|
private _setDocDisposables;
|
|
29
62
|
private _updateFrames;
|
|
@@ -34,7 +67,6 @@ export declare class FramePanelBody extends FramePanelBody_base {
|
|
|
34
67
|
updated(_changedProperties: PropertyValues): void;
|
|
35
68
|
private accessor _dragging;
|
|
36
69
|
private accessor _selected;
|
|
37
|
-
accessor domHost: Document | HTMLElement;
|
|
38
70
|
accessor editorHost: EditorHost;
|
|
39
71
|
accessor fitPadding: number[];
|
|
40
72
|
accessor frameListContainer: HTMLElement;
|