@xenosystem/blocks 0.13.16 → 0.13.18
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/data/index.js +1 -1
- package/dist/edit/index.d.ts +345 -28
- package/dist/edit/index.js +815 -632
- package/dist/icons/index.js +1 -1
- package/dist/ops/index.js +1 -1
- package/dist/time/index.js +1 -1
- package/package.json +3 -3
- /package/dist/{chunk-PI5WOATA.js → chunk-7S2RKUAM.js} +0 -0
package/dist/data/index.js
CHANGED
package/dist/edit/index.d.ts
CHANGED
|
@@ -827,7 +827,7 @@ declare function layersViewState(c: LayersPanelController): LayersViewState;
|
|
|
827
827
|
/** Apply a `ui` intent to the controller — the runtime's half of the contract. */
|
|
828
828
|
declare function applyLayersUi(c: LayersPanelController, intent: LayersUiIntent): void;
|
|
829
829
|
declare const layersViewManifest: PanelManifest;
|
|
830
|
-
declare const BEHAVIOURS$
|
|
830
|
+
declare const BEHAVIOURS$6: {
|
|
831
831
|
'edit/layersPanelView': (inputs: Record<string, unknown>) => LayersViewState;
|
|
832
832
|
};
|
|
833
833
|
declare const LAYERS_DECLARATION: BlockDeclaration;
|
|
@@ -1723,7 +1723,7 @@ declare function inspectorViewState(c: InspectorPanelController): InspectorViewS
|
|
|
1723
1723
|
/** Apply a `ui` intent to the controller — the runtime's half of the contract. */
|
|
1724
1724
|
declare function applyInspectorUi(c: InspectorPanelController, intent: InspectorUiIntent): void;
|
|
1725
1725
|
declare const inspectorViewManifest: PanelManifest;
|
|
1726
|
-
declare const BEHAVIOURS$
|
|
1726
|
+
declare const BEHAVIOURS$5: {
|
|
1727
1727
|
'edit/inspectorPanelView': (inputs: Record<string, unknown>) => InspectorViewState;
|
|
1728
1728
|
};
|
|
1729
1729
|
declare const INSPECTOR_DECLARATION: BlockDeclaration;
|
|
@@ -2334,7 +2334,7 @@ declare function historyViewState(c: HistoryPanelController): HistoryViewState;
|
|
|
2334
2334
|
/** Apply a `ui` intent to the controller — the runtime's half of the contract. */
|
|
2335
2335
|
declare function applyHistoryUi(c: HistoryPanelController, intent: HistoryUiIntent): void;
|
|
2336
2336
|
declare const historyViewManifest: PanelManifest;
|
|
2337
|
-
declare const BEHAVIOURS$
|
|
2337
|
+
declare const BEHAVIOURS$4: {
|
|
2338
2338
|
'edit/historyPanelView': (inputs: Record<string, unknown>) => HistoryViewState;
|
|
2339
2339
|
};
|
|
2340
2340
|
declare const HISTORY_DECLARATION: BlockDeclaration;
|
|
@@ -2896,7 +2896,7 @@ declare function colorViewState(c: ColorPanelController): ColorViewState;
|
|
|
2896
2896
|
/** Apply a `ui` intent to the controller — the runtime's half of the contract. */
|
|
2897
2897
|
declare function applyColorUi(c: ColorPanelController, intent: ColorUiIntent): void;
|
|
2898
2898
|
declare const colorViewManifest: PanelManifest;
|
|
2899
|
-
declare const BEHAVIOURS$
|
|
2899
|
+
declare const BEHAVIOURS$3: {
|
|
2900
2900
|
'edit/colorPanelView': (inputs: Record<string, unknown>) => ColorViewState;
|
|
2901
2901
|
};
|
|
2902
2902
|
declare const COLOR_DECLARATION: BlockDeclaration;
|
|
@@ -4822,7 +4822,7 @@ declare function findViewState(c: FindController, options?: FindViewOptions): Fi
|
|
|
4822
4822
|
/** Apply a `ui` intent to the controller — the runtime's one job besides drawing. */
|
|
4823
4823
|
declare function applyFindUi(c: FindController, intent: FindUiIntent): void;
|
|
4824
4824
|
declare const findViewManifest: PanelManifest;
|
|
4825
|
-
declare const BEHAVIOURS: {
|
|
4825
|
+
declare const BEHAVIOURS$2: {
|
|
4826
4826
|
'edit/findPanelView': (inputs: Record<string, unknown>) => FindViewModel;
|
|
4827
4827
|
};
|
|
4828
4828
|
/** The runtime-bound units: the keyboard wrapper on the root. */
|
|
@@ -5274,7 +5274,155 @@ declare const COMMENTS_PANEL_ID = "xeno.core.comments";
|
|
|
5274
5274
|
declare const commentsManifest: PanelManifest;
|
|
5275
5275
|
|
|
5276
5276
|
/**
|
|
5277
|
-
* The Comments panel
|
|
5277
|
+
* The Comments panel AS A DECLARATION — the eighteenth declared block: review threads anchored to
|
|
5278
|
+
* content, with a composer.
|
|
5279
|
+
*
|
|
5280
|
+
* Everything drawn is data: the show / sort controls, the orphaned notice, the empty states, the
|
|
5281
|
+
* open threads and the resolved section — each a `ThreadCard` with its anchor badges and age, its
|
|
5282
|
+
* `Quote`, its `Message`s, its reactions, and either the reply row or the action row — the
|
|
5283
|
+
* composer with its Comment button, the status bar. Keyboard shortcuts (Enter / Escape on a reply,
|
|
5284
|
+
* Ctrl+Enter on the composer) ride `onKeyDown` emits carrying the key and its modifiers, applied
|
|
5285
|
+
* by the runtime. No runtime-bound unit.
|
|
5286
|
+
*/
|
|
5287
|
+
|
|
5288
|
+
type Tone = 'neutral' | 'warning' | 'error';
|
|
5289
|
+
interface CommentsViewMessage {
|
|
5290
|
+
id: string;
|
|
5291
|
+
author: string;
|
|
5292
|
+
age: string;
|
|
5293
|
+
edited: boolean;
|
|
5294
|
+
body: string;
|
|
5295
|
+
}
|
|
5296
|
+
interface CommentsViewReaction {
|
|
5297
|
+
threadId: string;
|
|
5298
|
+
emoji: string;
|
|
5299
|
+
label: string;
|
|
5300
|
+
mine: boolean;
|
|
5301
|
+
reactTo: boolean;
|
|
5302
|
+
}
|
|
5303
|
+
interface CommentsViewThread {
|
|
5304
|
+
id: string;
|
|
5305
|
+
active: boolean;
|
|
5306
|
+
resolved: boolean;
|
|
5307
|
+
hasAnchorBadge: boolean;
|
|
5308
|
+
anchorLabel?: string;
|
|
5309
|
+
anchorTone: Tone;
|
|
5310
|
+
anchorTitle?: string;
|
|
5311
|
+
age: string;
|
|
5312
|
+
hasQuote: boolean;
|
|
5313
|
+
quote?: string;
|
|
5314
|
+
orphaned: boolean;
|
|
5315
|
+
messages: CommentsViewMessage[];
|
|
5316
|
+
hasReactions: boolean;
|
|
5317
|
+
reactions: CommentsViewReaction[];
|
|
5318
|
+
replying: boolean;
|
|
5319
|
+
replyDraft: string;
|
|
5320
|
+
idle: boolean;
|
|
5321
|
+
resolveLabel: string;
|
|
5322
|
+
resolveTo: boolean;
|
|
5323
|
+
}
|
|
5324
|
+
interface CommentsViewModel {
|
|
5325
|
+
show: string;
|
|
5326
|
+
shows: {
|
|
5327
|
+
value: string;
|
|
5328
|
+
label: string;
|
|
5329
|
+
}[];
|
|
5330
|
+
sort: string;
|
|
5331
|
+
sorts: {
|
|
5332
|
+
value: string;
|
|
5333
|
+
label: string;
|
|
5334
|
+
}[];
|
|
5335
|
+
orphanedNotice?: string;
|
|
5336
|
+
orphanedHidden: boolean;
|
|
5337
|
+
filteredEmpty: boolean;
|
|
5338
|
+
filteredHint: string;
|
|
5339
|
+
empty: boolean;
|
|
5340
|
+
emptyHint: string;
|
|
5341
|
+
listed: boolean;
|
|
5342
|
+
open: CommentsViewThread[];
|
|
5343
|
+
hasResolved: boolean;
|
|
5344
|
+
resolvedTitle: string;
|
|
5345
|
+
resolved: CommentsViewThread[];
|
|
5346
|
+
draft: string;
|
|
5347
|
+
placeholder: string;
|
|
5348
|
+
composerDisabled: boolean;
|
|
5349
|
+
commentDisabled: boolean;
|
|
5350
|
+
countLabel: string;
|
|
5351
|
+
staleLabel?: string;
|
|
5352
|
+
}
|
|
5353
|
+
type CommentsUiIntent = {
|
|
5354
|
+
kind: 'show';
|
|
5355
|
+
show: 'open' | 'resolved' | 'all';
|
|
5356
|
+
} | {
|
|
5357
|
+
kind: 'sort';
|
|
5358
|
+
sort: XenoCommentSort;
|
|
5359
|
+
} | {
|
|
5360
|
+
kind: 'showOrphaned';
|
|
5361
|
+
} | {
|
|
5362
|
+
kind: 'activate';
|
|
5363
|
+
id: string;
|
|
5364
|
+
} | {
|
|
5365
|
+
kind: 'contextMenu';
|
|
5366
|
+
id: string;
|
|
5367
|
+
x: number;
|
|
5368
|
+
y: number;
|
|
5369
|
+
} | {
|
|
5370
|
+
kind: 'react';
|
|
5371
|
+
id: string;
|
|
5372
|
+
emoji: string;
|
|
5373
|
+
on: boolean;
|
|
5374
|
+
} | {
|
|
5375
|
+
kind: 'reply';
|
|
5376
|
+
id: string;
|
|
5377
|
+
} | {
|
|
5378
|
+
kind: 'replyDraft';
|
|
5379
|
+
value: string;
|
|
5380
|
+
} | {
|
|
5381
|
+
kind: 'replyKey';
|
|
5382
|
+
id: string;
|
|
5383
|
+
key: string;
|
|
5384
|
+
shift: boolean;
|
|
5385
|
+
} | {
|
|
5386
|
+
kind: 'startReply';
|
|
5387
|
+
id: string;
|
|
5388
|
+
} | {
|
|
5389
|
+
kind: 'resolve';
|
|
5390
|
+
id: string;
|
|
5391
|
+
resolved: boolean;
|
|
5392
|
+
} | {
|
|
5393
|
+
kind: 'remove';
|
|
5394
|
+
id: string;
|
|
5395
|
+
} | {
|
|
5396
|
+
kind: 'draft';
|
|
5397
|
+
value: string;
|
|
5398
|
+
} | {
|
|
5399
|
+
kind: 'draftKey';
|
|
5400
|
+
key: string;
|
|
5401
|
+
ctrl: boolean;
|
|
5402
|
+
meta: boolean;
|
|
5403
|
+
} | {
|
|
5404
|
+
kind: 'create';
|
|
5405
|
+
};
|
|
5406
|
+
interface CommentsViewOptions {
|
|
5407
|
+
showResolved?: boolean;
|
|
5408
|
+
allowReactions?: boolean;
|
|
5409
|
+
emptyHint?: string;
|
|
5410
|
+
}
|
|
5411
|
+
/** Derive the view from the live controller — the runtime calls this on every draw. */
|
|
5412
|
+
declare function commentsViewState(c: CommentsController, options?: CommentsViewOptions): CommentsViewModel;
|
|
5413
|
+
declare function applyCommentsUi(c: CommentsController, intent: CommentsUiIntent): void;
|
|
5414
|
+
declare const commentsViewManifest: PanelManifest;
|
|
5415
|
+
declare const BEHAVIOURS$1: {
|
|
5416
|
+
'edit/commentsPanelView': (inputs: Record<string, unknown>) => CommentsViewModel;
|
|
5417
|
+
};
|
|
5418
|
+
declare const COMMENTS_RUNTIME_UNITS: readonly [];
|
|
5419
|
+
declare const COMMENTS_DECLARATION: BlockDeclaration;
|
|
5420
|
+
|
|
5421
|
+
/**
|
|
5422
|
+
* The Comments panel view — the CODE VIEW of `COMMENTS_DECLARATION`, drawing the same
|
|
5423
|
+
* `CommentsViewModel` byte-identical (the equivalence suite holds the two together). No
|
|
5424
|
+
* runtime-bound unit; every intent — including the keyboard shortcuts — goes through
|
|
5425
|
+
* `applyCommentsUi`.
|
|
5278
5426
|
*
|
|
5279
5427
|
* Composes `@xenosystem/components/chrome`; the host must ensure `@xenosystem/workbench/primitives.css` is
|
|
5280
5428
|
* present.
|
|
@@ -5283,14 +5431,11 @@ declare const commentsManifest: PanelManifest;
|
|
|
5283
5431
|
*/
|
|
5284
5432
|
|
|
5285
5433
|
/** Props for {@link CommentsPanelView}. */
|
|
5286
|
-
interface CommentsPanelViewProps {
|
|
5434
|
+
interface CommentsPanelViewProps extends CommentsViewOptions {
|
|
5287
5435
|
controller: CommentsController;
|
|
5288
|
-
showResolved?: boolean;
|
|
5289
|
-
allowReactions?: boolean;
|
|
5290
|
-
emptyHint?: string;
|
|
5291
5436
|
}
|
|
5292
5437
|
/** The Comments panel view. */
|
|
5293
|
-
declare function CommentsPanelView({ controller,
|
|
5438
|
+
declare function CommentsPanelView({ controller, ...options }: CommentsPanelViewProps): ReactNode;
|
|
5294
5439
|
|
|
5295
5440
|
/**
|
|
5296
5441
|
* `XenoGraphScale` — the only thing in this package that converts between pixels and graph space.
|
|
@@ -6782,6 +6927,8 @@ declare class TreeController {
|
|
|
6782
6927
|
private mode;
|
|
6783
6928
|
private renaming;
|
|
6784
6929
|
private drag;
|
|
6930
|
+
/** The scroller's measured viewport — the view state windows the rows from it (`tree/Scroller` reports it). */
|
|
6931
|
+
private viewport;
|
|
6785
6932
|
/** Newest outstanding load request PER NODE. Anything else that arrives is stale. */
|
|
6786
6933
|
private readonly outstanding;
|
|
6787
6934
|
/** Type-ahead buffer + the time it was last touched. */
|
|
@@ -6792,6 +6939,14 @@ declare class TreeController {
|
|
|
6792
6939
|
subscribe: (listener: () => void) => (() => void);
|
|
6793
6940
|
getState: () => TreeViewState;
|
|
6794
6941
|
private notify;
|
|
6942
|
+
/** The scroller reports its viewport; the view state windows the rows from it. */
|
|
6943
|
+
setViewport(height: number, scrollTop: number): void;
|
|
6944
|
+
getViewport(): {
|
|
6945
|
+
height: number;
|
|
6946
|
+
scrollTop: number;
|
|
6947
|
+
};
|
|
6948
|
+
/** The fixed row height the virtualizer and the drop resolver share. */
|
|
6949
|
+
getRowHeight(): number;
|
|
6795
6950
|
/** The visible rows, flattened through the shared engine. */
|
|
6796
6951
|
rows(): TreeRow[];
|
|
6797
6952
|
/**
|
|
@@ -7011,25 +7166,25 @@ declare const TREE_PANEL_ID = "xeno.core.tree";
|
|
|
7011
7166
|
declare const treeManifest: PanelManifest;
|
|
7012
7167
|
|
|
7013
7168
|
/**
|
|
7014
|
-
* The Tree panel
|
|
7015
|
-
*
|
|
7016
|
-
* **This is the list-shaped panel `@xenosystem/components/chrome`' `Row`/`RowList` were designed for**,
|
|
7017
|
-
* and they fit: `Row` already ships the fixed icon gutter, the depth indent, hover/selected/disabled
|
|
7018
|
-
* states, keyboard activation and `aria-selected`. The panel adds only what is genuinely tree-
|
|
7019
|
-
* specific — the twisty, the per-node child-state chrome, and the drop indicator.
|
|
7169
|
+
* The Tree panel AS A DECLARATION — the nineteenth block written the §8d way, and the second tree
|
|
7170
|
+
* with pointer drag (after layers).
|
|
7020
7171
|
*
|
|
7021
|
-
*
|
|
7172
|
+
* Presentation contract: input `view` (a {@link TreeViewModel} the runtime derives from the
|
|
7173
|
+
* controller on every draw — the source state decided, the window computed, every row flag decided),
|
|
7174
|
+
* output `ui` (a {@link TreeUiIntent}) applied by the runtime to the controller's own methods.
|
|
7175
|
+
* Every row is DATA: depth, selection, the drop hint, the twisty, the kind icon (a named glyph or
|
|
7176
|
+
* literal text — notes carries emoji), the per-node child-state chip (loading / no access / load
|
|
7177
|
+
* more / truncated / empty — EMPTY ≠ FAILED), the list-mode columns, the glyphs, the badges and the
|
|
7178
|
+
* actions. The rename field is a plain `chrome/Input` because the DRAFT lives in the controller.
|
|
7022
7179
|
*
|
|
7023
|
-
*
|
|
7180
|
+
* What a declaration cannot hold: the SCROLLER (`tree/Scroller` — measured by the virtualizer,
|
|
7181
|
+
* the keyboard model, and the pointer DRAG by delegation: press on a row → threshold → beginDrag →
|
|
7182
|
+
* dragOver over rows → endDrag, with a press on a control inside a row never starting the row's
|
|
7183
|
+
* drag). The runtime registers it bound to its controller ({@link treeRuntimeComponents}).
|
|
7024
7184
|
*/
|
|
7025
7185
|
|
|
7026
|
-
/**
|
|
7027
|
-
interface
|
|
7028
|
-
controller: TreeController;
|
|
7029
|
-
/** Fixed row height in px (config `rowHeight`). */
|
|
7030
|
-
rowHeight?: number;
|
|
7031
|
-
/** Indent per depth level (config `indentPx`) — 14 by default; incumbents span 10–16. */
|
|
7032
|
-
indentPx?: number;
|
|
7186
|
+
/** The half of a renderer's config the view reads. */
|
|
7187
|
+
interface TreeViewOptions {
|
|
7033
7188
|
/** Rows rendered beyond the viewport on each side. */
|
|
7034
7189
|
overscan?: number;
|
|
7035
7190
|
/** Render the filter field. */
|
|
@@ -7041,8 +7196,170 @@ interface TreePanelViewProps {
|
|
|
7041
7196
|
/** The actionable line shown when the tree is empty. */
|
|
7042
7197
|
emptyHint?: string;
|
|
7043
7198
|
}
|
|
7199
|
+
interface IconHalf {
|
|
7200
|
+
/** A named glyph (`icons/TreeKind`). */
|
|
7201
|
+
iconName: string | null;
|
|
7202
|
+
/** Literal text (emoji) instead of a glyph. */
|
|
7203
|
+
iconText: string | null;
|
|
7204
|
+
}
|
|
7205
|
+
interface TreeViewAction extends IconHalf {
|
|
7206
|
+
key: string;
|
|
7207
|
+
/** The row the action belongs to — carried because a nested `each` cannot reach the outer item. */
|
|
7208
|
+
rowId: string;
|
|
7209
|
+
actionId: string;
|
|
7210
|
+
label: string;
|
|
7211
|
+
disabled: boolean;
|
|
7212
|
+
}
|
|
7213
|
+
interface TreeViewRow extends IconHalf {
|
|
7214
|
+
id: string;
|
|
7215
|
+
label: string;
|
|
7216
|
+
depth: number;
|
|
7217
|
+
level: number;
|
|
7218
|
+
height: number;
|
|
7219
|
+
selected: boolean;
|
|
7220
|
+
disabled: boolean;
|
|
7221
|
+
/** `undefined` on a leaf — the twisty slot stays, empty. */
|
|
7222
|
+
expanded?: boolean;
|
|
7223
|
+
dropHint: 'before' | 'after' | 'into' | null;
|
|
7224
|
+
dropTitle?: string;
|
|
7225
|
+
renaming: boolean;
|
|
7226
|
+
draft: string;
|
|
7227
|
+
/** The child-state chip, at most one. */
|
|
7228
|
+
chipLoading: boolean;
|
|
7229
|
+
chipError: boolean;
|
|
7230
|
+
chipErrorText: string;
|
|
7231
|
+
chipLoadMore: boolean;
|
|
7232
|
+
chipTruncated: boolean;
|
|
7233
|
+
chipTruncatedText: string;
|
|
7234
|
+
chipEmpty: boolean;
|
|
7235
|
+
columns: {
|
|
7236
|
+
key: string;
|
|
7237
|
+
text: string;
|
|
7238
|
+
}[];
|
|
7239
|
+
glyphs: ({
|
|
7240
|
+
key: string;
|
|
7241
|
+
title?: string;
|
|
7242
|
+
} & IconHalf)[];
|
|
7243
|
+
badges: {
|
|
7244
|
+
key: string;
|
|
7245
|
+
tone?: XenoTreeBadge['tone'];
|
|
7246
|
+
text: string;
|
|
7247
|
+
}[];
|
|
7248
|
+
actions: TreeViewAction[];
|
|
7249
|
+
}
|
|
7250
|
+
interface TreeViewModel {
|
|
7251
|
+
searchShown: boolean;
|
|
7252
|
+
filter: string;
|
|
7253
|
+
noSource: boolean;
|
|
7254
|
+
noSourceHint: string;
|
|
7255
|
+
loading: boolean;
|
|
7256
|
+
loadingLabel: string;
|
|
7257
|
+
failed: boolean;
|
|
7258
|
+
failedTitle: string;
|
|
7259
|
+
failedMessage?: string;
|
|
7260
|
+
retryLabel: string;
|
|
7261
|
+
/** The failure is a denial — retry asks for consent instead of refreshing. */
|
|
7262
|
+
denied: boolean;
|
|
7263
|
+
noMatches: boolean;
|
|
7264
|
+
noMatchesHint: string;
|
|
7265
|
+
emptyTree: boolean;
|
|
7266
|
+
emptyHint: string;
|
|
7267
|
+
listShown: boolean;
|
|
7268
|
+
totalHeight: number;
|
|
7269
|
+
offsetTop: number;
|
|
7270
|
+
rows: TreeViewRow[];
|
|
7271
|
+
countLabel: string;
|
|
7272
|
+
selectedLabel?: string;
|
|
7273
|
+
}
|
|
7274
|
+
type TreeUiIntent = {
|
|
7275
|
+
kind: 'filter';
|
|
7276
|
+
value: string;
|
|
7277
|
+
} | {
|
|
7278
|
+
kind: 'expandAll';
|
|
7279
|
+
} | {
|
|
7280
|
+
kind: 'collapseAll';
|
|
7281
|
+
} | {
|
|
7282
|
+
kind: 'refresh';
|
|
7283
|
+
} | {
|
|
7284
|
+
kind: 'retry';
|
|
7285
|
+
} | {
|
|
7286
|
+
kind: 'toggleExpanded';
|
|
7287
|
+
id: string;
|
|
7288
|
+
} | {
|
|
7289
|
+
kind: 'click';
|
|
7290
|
+
id: string;
|
|
7291
|
+
ctrlKey?: boolean;
|
|
7292
|
+
metaKey?: boolean;
|
|
7293
|
+
shiftKey?: boolean;
|
|
7294
|
+
altKey?: boolean;
|
|
7295
|
+
} | {
|
|
7296
|
+
kind: 'doubleClick';
|
|
7297
|
+
id: string;
|
|
7298
|
+
} | {
|
|
7299
|
+
kind: 'contextMenu';
|
|
7300
|
+
id: string;
|
|
7301
|
+
x: number;
|
|
7302
|
+
y: number;
|
|
7303
|
+
} | {
|
|
7304
|
+
kind: 'loadMore';
|
|
7305
|
+
id: string;
|
|
7306
|
+
} | {
|
|
7307
|
+
kind: 'action';
|
|
7308
|
+
id: string;
|
|
7309
|
+
actionId: string;
|
|
7310
|
+
} | {
|
|
7311
|
+
kind: 'renameDraft';
|
|
7312
|
+
value: string;
|
|
7313
|
+
} | {
|
|
7314
|
+
kind: 'renameKey';
|
|
7315
|
+
key: string;
|
|
7316
|
+
} | {
|
|
7317
|
+
kind: 'commitRename';
|
|
7318
|
+
};
|
|
7319
|
+
/** Derive the view model from the live controller — the runtime calls this on every draw. */
|
|
7320
|
+
declare function treeViewState(c: TreeController, options?: TreeViewOptions): TreeViewModel;
|
|
7321
|
+
/** Apply a `ui` intent to the controller — the runtime's half of the contract. */
|
|
7322
|
+
declare function applyTreeUi(c: TreeController, intent: TreeUiIntent, options?: TreeViewOptions): void;
|
|
7323
|
+
declare const treeViewManifest: PanelManifest;
|
|
7324
|
+
declare const BEHAVIOURS: {
|
|
7325
|
+
'edit/treePanelView': (inputs: Record<string, unknown>) => TreeViewModel;
|
|
7326
|
+
};
|
|
7327
|
+
declare const TREE_DECLARATION: BlockDeclaration;
|
|
7328
|
+
|
|
7329
|
+
/**
|
|
7330
|
+
* The Tree panel view — the CODE VIEW of `TREE_DECLARATION`, drawing the same {@link TreeViewModel}
|
|
7331
|
+
* byte-identical (the equivalence suite holds the two together). The one runtime-bound unit is the
|
|
7332
|
+
* scroller (`tree/Scroller`: the virtualizer's viewport, the keyboard model, the pointer drag by
|
|
7333
|
+
* delegation); every other intent goes through `applyTreeUi`.
|
|
7334
|
+
*
|
|
7335
|
+
* **This is the list-shaped panel `@xenosystem/components/chrome`' `Row`/`RowList` were designed for**,
|
|
7336
|
+
* and they fit: `Row` ships the twisty, the icon gutter, the depth indent, selection, disabled and
|
|
7337
|
+
* the drop indicator. Nothing here is tree-specific chrome.
|
|
7338
|
+
*
|
|
7339
|
+
* @module
|
|
7340
|
+
*/
|
|
7341
|
+
|
|
7342
|
+
/** Props for {@link TreePanelView}. */
|
|
7343
|
+
interface TreePanelViewProps extends TreeViewOptions {
|
|
7344
|
+
controller: TreeController;
|
|
7345
|
+
}
|
|
7044
7346
|
/** The Tree panel view. */
|
|
7045
|
-
declare function TreePanelView({ controller,
|
|
7347
|
+
declare function TreePanelView({ controller, ...options }: TreePanelViewProps): ReactNode;
|
|
7348
|
+
/**
|
|
7349
|
+
* The scroller — `tree/Scroller` in the declaration, bound to the controller: measures the viewport
|
|
7350
|
+
* for the virtualizer, carries the keyboard model, and owns the pointer DRAG by delegation (press on
|
|
7351
|
+
* a row → threshold → beginDrag → dragOver over rows → endDrag). Drag is pointer-based, never HTML5
|
|
7352
|
+
* DnD: HTML5 drag events conflict with Electron's file-drop handling. A press on a control inside a
|
|
7353
|
+
* row (the twisty, an action, the rename field) never starts the row's drag.
|
|
7354
|
+
*/
|
|
7355
|
+
declare function TreeScroller({ controller, children }: {
|
|
7356
|
+
controller: TreeController;
|
|
7357
|
+
children?: ReactNode;
|
|
7358
|
+
}): ReactNode;
|
|
7359
|
+
/** The unit names the runtime supplies for this block — what a host's registry check must accept beside the shared families. */
|
|
7360
|
+
declare const TREE_RUNTIME_UNITS: readonly ["tree/Scroller"];
|
|
7361
|
+
/** The units the runtime registers for `TREE_DECLARATION`, bound to ITS controller. */
|
|
7362
|
+
declare function treeRuntimeComponents(controller: TreeController): Record<(typeof TREE_RUNTIME_UNITS)[number], React.ComponentType<any>>;
|
|
7046
7363
|
|
|
7047
7364
|
/**
|
|
7048
7365
|
* Inline SVG glyphs (lucide geometry, stroke 1.5).
|
|
@@ -7062,4 +7379,4 @@ declare function TreeIcon({ name, size }: {
|
|
|
7062
7379
|
size?: number;
|
|
7063
7380
|
}): ReactNode;
|
|
7064
7381
|
|
|
7065
|
-
export { type BlendModeGroup, type BlendModeOption, type Box, BEHAVIOURS$
|
|
7382
|
+
export { type BlendModeGroup, type BlendModeOption, type Box, BEHAVIOURS$3 as COLOR_BEHAVIOURS, COLOR_DECLARATION, COLOR_RUNTIME_UNITS, COLOR_SPACES, BEHAVIOURS$1 as COMMENTS_BEHAVIOURS, COMMENTS_DECLARATION, COMMENTS_PANEL_ID, COMMENTS_RUNTIME_UNITS, CURVE_PANEL_ID, type ChannelId, ColorPanelController, type ColorPanelControllerOptions, type ColorPanelSerialized, ColorPanelView, type ColorPanelViewProps, type ColorSpace, type ColorStopSink, type ColorToken, type ColorUiIntent, type ColorViewState, CommentsController, type CommentsControllerOptions, type CommentsHostBridge, type CommentsPanelState, CommentsPanelView, type CommentsPanelViewProps, type CommentsRenderContext, type CommentsThreadView, type CommentsUiIntent, type CommentsViewMessage, type CommentsViewModel, type CommentsViewOptions, type CommentsViewReaction, type CommentsViewState, type CommentsViewThread, type ConnectRules, type ConnectVerdict, type CreateColorPanelOptions, type CreateCommentsPanelOptions, type CreateCurvePanelOptions, type CreateFindPanelOptions, type CreateHistoryPanelOptions, type CreateInspectorPanelOptions, type CreateLayersPanelOptions, type CreateNodeGraphPanelOptions, type CreateTreePanelOptions, type CreateViewportPanelOptions, CurveController, type CurveControllerOptions, type CurveDragKind, type CurveDragState, type CurveHostBridge, type CurvePanelState, CurvePanelView, type CurvePanelViewProps, type CurvePreview, type CurveRenderConfig, type CurveRenderContext, type CurveViewState, DEFAULT_BLEND_MODES, DEFAULT_CURVE_ZOOM, DEFAULT_GRAPH_ZOOM, DEFAULT_ICON_MAP, DEFAULT_ORIGINAL_LABEL, type DropInput, EASING_PRESETS, EDIT_SPACES, EMPTY_HISTORY, EMPTY_SCHEMA, EMPTY_TREE, EMPTY_TREE_SOURCE, BEHAVIOURS$2 as FIND_BEHAVIOURS, FIND_DECLARATION, FIND_PANEL_ID, FIND_RUNTIME_UNITS, FindController, type FindControllerOptions, type FindHostBridge, FindKeys, type FindPanelState, FindPanelView, type FindPanelViewProps, type FindRenderContext, type FindUiIntent, type FindViewGroup, type FindViewModel, type FindViewOptions, type FindViewRow, type FindViewState, type FlatRow, type FlattenOptions, GENERIC_ICON, GraphController, type GraphControllerOptions, type GraphDragKind, type GraphDragState, type GraphHostBridge, type GraphPanelState, type GraphPreview, type GraphRenderConfig, type GraphRenderContext, type GraphViewState, BEHAVIOURS$4 as HISTORY_BEHAVIOURS, HISTORY_DECLARATION, HISTORY_RUNTIME_UNITS, type HistoryKeyEvent, HistoryPanelController, type HistoryPanelControllerOptions, type HistoryPanelSerialized, HistoryPanelView, type HistoryPanelViewProps, type ProjectOptions as HistoryProjectOptions, type HistoryRow, type HistoryUiIntent, type HistoryViewRow, type HistoryViewState, type Hsl, type Hsv, IMPLEMENTED_TREE_MODES, BEHAVIOURS$5 as INSPECTOR_BEHAVIOURS, INSPECTOR_DECLARATION, INSPECTOR_RUNTIME_UNITS, type InspectorKeyEvent, InspectorPanelController, type InspectorPanelControllerOptions, type InspectorPanelSerialized, InspectorPanelView, type InspectorPanelViewProps, type ProjectOptions$1 as InspectorProjectOptions, type InspectorUiIntent, type InspectorViewField, type InspectorViewSection, type InspectorViewState, BEHAVIOURS$6 as LAYERS_BEHAVIOURS, LAYERS_DECLARATION, LAYERS_RUNTIME_UNITS, LAYER_COLUMNS, type LayerColumn, type LayersKeyEvent, LayersPanelController, type LayersPanelControllerOptions, type LayersPanelSerialized, LayersPanelView, type LayersPanelViewProps, type LayersUiIntent, type LayersViewRow, type LayersViewState, MIXED, NODEGRAPH_PANEL_ID, NodeGraphPanelView, type NodeGraphPanelViewProps, type NumericConstraints, type OklchDisplay, type ParseResult, type ProjectedSection, type Rgba, SPACE_LABEL, type ScrubOptions, type SelectMods, BEHAVIOURS as TREE_BEHAVIOURS, TREE_DECLARATION, TREE_PANEL_ID, TREE_RUNTIME_UNITS, type TangentEdit, Thumbnail, type ThumbnailProps, TreeController, type TreeControllerOptions, type TreeHostBridge, TreeIcon, type TreeKeyEvent, type TreePanelState, TreePanelView, type TreePanelViewProps, type TreeRenderContext, type TreeRow, TreeScroller, type TreeUiIntent, type TreeViewAction, type TreeViewModel, type TreeViewOptions, type TreeViewRow, type TreeViewState, VIEWPORT_PANEL_ID, VIEWPORT_SLOTS, VIEW_STATE_OPS, ViewportController, type ViewportControllerOptions, type ViewportHostBridge, type ViewportPanelState, ViewportPanelView, type ViewportPanelViewProps, type ViewportRenderContext, type ViewportViewState, type XenoAddMenuItem, type XenoAnchorState, type XenoColorValue, type XenoCommentAuthor, type XenoCommentFilter, type XenoCommentMessage, type XenoCommentOp, type XenoCommentReaction, type XenoCommentSort, type XenoCommentThread, type XenoCommitPolicy, type XenoContextMenuRequest, type XenoCurveChannel, type XenoCurveInterpolation, type XenoCurveKey, type XenoCurveKeyRef, type XenoCurveOp, type XenoCurvePoint, XenoCurveScale, type XenoCurveScaleGeometry, type XenoCurveScaleState, type XenoCurveSelection, type XenoCurveSet, type XenoCurveViewport, type XenoCurveZoom, type XenoEasingPreset, type XenoEdge, type XenoFieldAnim, type XenoFieldFocus, type XenoFieldOption, type XenoFieldToken, type XenoFieldType, type XenoFieldValue, type XenoFindMatch, type XenoFindNavigate, type XenoFindOptions, type XenoFindQuery, type XenoFindReplace, type XenoFindResults, type XenoFindStatus, type XenoGradient, type XenoGraph, type XenoGraphOp, XenoGraphScale, type XenoGraphScaleGeometry, type XenoGraphScaleState, type XenoGraphSelection, type XenoGraphViewport, type XenoGraphZoom, type XenoHistoryEntry, type XenoHistoryIntent, type XenoHistoryMemory, type XenoHistoryOrder, type XenoHistoryScope, type XenoHistorySnapshot, type XenoHistorySource, type XenoHistoryState, type XenoHistoryStatus, type XenoInspectorEdit, type XenoInspectorField, type XenoInspectorSchema, type XenoInspectorSection, type XenoInspectorTarget, type XenoInspectorToken, type XenoKeyframeKind, type XenoLayerAdornment, type XenoLayerCap, type XenoLayerKind, type XenoLayerNode, type XenoLayerOp, type XenoLayerTree, type XenoNavigateRequest, type XenoNode, XenoNodeIndex, type XenoPort, type XenoPortDirection, type XenoPortRef, type XenoSectionAction, type XenoTangent, type XenoTangentMode, type XenoTangentSide, type XenoThreadActivate, type XenoThumbnailRequest, type XenoThumbnailResponse, type XenoTreeAction, type XenoTreeBadge, type XenoTreeCaps, type XenoTreeChildState, type XenoTreeChildrenResponse, type XenoTreeError, type XenoTreeGlyph, type XenoTreeIcon, type XenoTreeInvalidate, type XenoTreeMode, type XenoTreeModifiers, type XenoTreeNode, type XenoTreeNodeKind, type XenoTreeOp, type XenoTreeReveal, type XenoTreeSource, type XenoTreeSourceKind, type XenoTreeSourceState, type XenoViewportClient, type XenoViewportKey, type XenoViewportPointer, type XenoViewportSlot, type XenoViewportStats, type XenoViewportSurface, allFields, allIds, anchorStateOf, appliedCount, applyColorUi, applyCommentsUi, applyFindUi, applyHistoryUi, applyInspectorUi, applyLayersUi, applyPrecision, applyTangentDrag, applyTreeUi, ariaSliderProps, boxesIntersect, canConnect, canRedo, canUndo, childStateOf, clamp, clampAlpha, clampTangent, collectDescendants, colorManifest, colorPanel, colorRuntimeComponents, colorViewManifest, colorViewState, commentsManifest, commentsPanel, commentsViewManifest, commentsViewState, commitPolicyOf, componentsForSpace, computeSurfaceSize, constraintsOf, countIsMeaningful, createColorPanel, createCommentsPanel, createCurvePanel, createFindPanel, createHistoryPanel, createInspectorPanel, createLayersPanel, createNodeGraphPanel, createTreePanel, createViewportPanel, createsCycle, currentRowIndex, curveManifest, curvePanel, defaultIconFor, displayOrder, distanceToEdge, easeAt, easingPreset, edgeBounds, edgeKey, edgePath, edgesToReplace, edgesTouching, evaluateChannel, fieldMatches, findField, findManifest, findPanel, findPort, findRuntimeComponents, findSectionOf, findViewManifest, findViewState, fitToBounds, fitValueRange, flattenVisible, focusOrder, formatAge, formatNumeric, getAncestors, graphBounds, groupMatches, hasCap, hasDraggableTangents, hasTreeCap, hexFromHsv, highlightSegments, historyManifest, historyPanel, historyRuntimeComponents, historyViewManifest, historyViewState, hslToRgb, hsvFromHex, hsvToRgb, inspectorManifest, inspectorPanel, inspectorRuntimeComponents, inspectorViewManifest, inspectorViewState, interpolateSegment, isAncestorOf, isAnimated, isCollapsed, isColorSpace, isContainer, isEmptyContainer, isFieldEditable, isFieldMixed, isJumpable, isKeyEditable, isLayerColumn, isMixedValue, isOrphaned, isTreeContainer, isValidHex, isViewStateOp, keyRefId, layersManifest, layersPanel, layersRuntimeComponents, layersViewManifest, layersViewState, liveEdges, makeColorValue, matchesFilter, messagesOf, mirrorTangent, nodeBounds, nodegraphManifest, nodegraphPanel, normalizeColorInput, normalizeHistoryState, normalizeKindKey, normalizeNumeric, normalizeRanges, normalizeSchema, normalizeTree, nudgeValue, oklchToRgb, parseCssColor, parseHexColor, parseNumeric, passesFilter, patternError, portHasRoom, portRefId, positionToValue, projectRows, projectSections, rangeBetween, resolveDropTarget, resolveIconName, rgbToHex, rgbToHsl, rgbToHsv, rgbToOklch, rgbaToCssHex, roundRgb, rowIndexOf, rowIndexOfEntry, safeAddColorStop, safeAddColorStops, sameKey, sampleChannel, scrubValue, segmentsAround, solveBezierT, sortThreads, surfaceChanged, tangentsForMode, tangentsToControlPoints, toViewportCoords, totalCount, treeManifest, treePanel, treeRuntimeComponents, treeViewManifest, treeViewState, usesLogScale, valueExtent, valueToPosition, valuesEqual, viewportManifest, viewportPanel, visibleEdges, walkTree, wheelZoomFactor, zoomAboutCursor, zoomTimeAboutCursor, zoomValueAboutCursor };
|