@xenosystem/blocks 0.13.26 → 0.13.27
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/edit/index.d.ts +58 -15
- package/dist/edit/index.js +155 -112
- package/package.json +3 -3
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$9: {
|
|
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$8: {
|
|
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$7: {
|
|
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$6: {
|
|
2900
2900
|
'edit/colorPanelView': (inputs: Record<string, unknown>) => ColorViewState;
|
|
2901
2901
|
};
|
|
2902
2902
|
declare const COLOR_DECLARATION: BlockDeclaration;
|
|
@@ -3956,7 +3956,7 @@ declare function curveViewState(c: CurveController, options?: CurveViewOptions):
|
|
|
3956
3956
|
/** Apply a `ui` intent to the controller — the runtime's half of the contract. */
|
|
3957
3957
|
declare function applyCurveUi(c: CurveController, intent: CurveUiIntent): void;
|
|
3958
3958
|
declare const curveViewManifest: PanelManifest;
|
|
3959
|
-
declare const BEHAVIOURS$
|
|
3959
|
+
declare const BEHAVIOURS$5: {
|
|
3960
3960
|
'edit/curvePanelView': (inputs: Record<string, unknown>) => CurveViewModel;
|
|
3961
3961
|
};
|
|
3962
3962
|
declare const CURVE_DECLARATION: BlockDeclaration;
|
|
@@ -4373,26 +4373,69 @@ declare const VIEWPORT_PANEL_ID = "xeno.core.viewport";
|
|
|
4373
4373
|
declare const viewportManifest: PanelManifest;
|
|
4374
4374
|
|
|
4375
4375
|
/**
|
|
4376
|
-
* The Viewport panel
|
|
4376
|
+
* The Viewport panel AS A DECLARATION — the twenty-fourth block written the §8d way, the third
|
|
4377
|
+
* DRAWN surface — and the one where the surface IS the panel: a canvas the host's renderer client
|
|
4378
|
+
* draws into, nine overlay slots the host fills with whatever it likes, an element-scoped pointer
|
|
4379
|
+
* and keyboard model. The chrome that is data sits OVER it: the stats readout (`chrome/Overlay`
|
|
4380
|
+
* at the bottom, a `StatusBar` of fps and surface size) and the lost-context notice (a scrimmed
|
|
4381
|
+
* `Overlay` with an error badge). Both are children of the runtime unit (`viewport/Surface`), which
|
|
4382
|
+
* is positioned so they can be.
|
|
4377
4383
|
*
|
|
4378
|
-
*
|
|
4379
|
-
*
|
|
4380
|
-
|
|
4381
|
-
|
|
4384
|
+
* Presentation contract: input `view` (a {@link ViewportViewModel}). There is no `ui` output — every
|
|
4385
|
+
* pointer and key reaches the controller through the surface, and the readouts have no controls.
|
|
4386
|
+
*/
|
|
4387
|
+
|
|
4388
|
+
/** The half of a renderer's config the view reads. */
|
|
4389
|
+
interface ViewportViewOptions {
|
|
4390
|
+
showStats?: boolean;
|
|
4391
|
+
background?: string;
|
|
4392
|
+
}
|
|
4393
|
+
interface ViewportViewModel {
|
|
4394
|
+
contextLost: boolean;
|
|
4395
|
+
statsShown: boolean;
|
|
4396
|
+
fpsLabel?: string;
|
|
4397
|
+
surfaceLabel?: string;
|
|
4398
|
+
}
|
|
4399
|
+
/** Derive the view model from the live controller — the runtime calls this on every draw. */
|
|
4400
|
+
declare function viewportViewState(c: ViewportController, options?: ViewportViewOptions): ViewportViewModel;
|
|
4401
|
+
declare const viewportViewManifest: PanelManifest;
|
|
4402
|
+
declare const BEHAVIOURS$4: {
|
|
4403
|
+
'edit/viewportPanelView': (inputs: Record<string, unknown>) => ViewportViewModel;
|
|
4404
|
+
};
|
|
4405
|
+
declare const VIEWPORT_DECLARATION: BlockDeclaration;
|
|
4406
|
+
|
|
4407
|
+
/**
|
|
4408
|
+
* The Viewport panel view — the CODE VIEW of `VIEWPORT_DECLARATION`, drawing the same
|
|
4409
|
+
* {@link ViewportViewModel} byte-identical (the equivalence suite holds the two together). The one
|
|
4410
|
+
* runtime-bound unit is the SURFACE (`viewport/Surface`) — and here the surface is the panel: a
|
|
4411
|
+
* canvas the host's renderer client draws into, nine overlay slots the host fills, the element-scoped
|
|
4412
|
+
* pointer and keyboard model. The stats readout and the lost-context notice are `Overlay`s over it.
|
|
4382
4413
|
*
|
|
4383
4414
|
* @module
|
|
4384
4415
|
*/
|
|
4385
4416
|
|
|
4386
4417
|
/** Props for {@link ViewportPanelView}. */
|
|
4387
|
-
interface ViewportPanelViewProps {
|
|
4418
|
+
interface ViewportPanelViewProps extends ViewportViewOptions {
|
|
4388
4419
|
controller: ViewportController;
|
|
4389
4420
|
/** Overlay widgets, keyed by slot. Opaque to the panel — the host renders whatever it likes. */
|
|
4390
4421
|
overlays?: Partial<Record<XenoViewportSlot, ReactNode>>;
|
|
4391
|
-
showStats?: boolean;
|
|
4392
|
-
background?: string;
|
|
4393
4422
|
}
|
|
4394
4423
|
/** The Viewport panel view. */
|
|
4395
|
-
declare function ViewportPanelView({ controller, overlays,
|
|
4424
|
+
declare function ViewportPanelView({ controller, overlays, ...options }: ViewportPanelViewProps): ReactNode;
|
|
4425
|
+
/**
|
|
4426
|
+
* The surface — `viewport/Surface` in the declaration, bound to the controller: the canvas the
|
|
4427
|
+
* client draws into, the host's overlays in their slots, and the element-scoped input model.
|
|
4428
|
+
*/
|
|
4429
|
+
declare function ViewportSurface({ controller, overlays, background, children }: {
|
|
4430
|
+
controller: ViewportController;
|
|
4431
|
+
overlays?: Partial<Record<XenoViewportSlot, ReactNode>>;
|
|
4432
|
+
background?: string;
|
|
4433
|
+
children?: ReactNode;
|
|
4434
|
+
}): ReactNode;
|
|
4435
|
+
/** The unit names the runtime supplies for this block — what a host's registry check must accept beside the shared families. */
|
|
4436
|
+
declare const VIEWPORT_RUNTIME_UNITS: readonly ["viewport/Surface"];
|
|
4437
|
+
/** The units the runtime registers for `VIEWPORT_DECLARATION`, bound to ITS controller and the host's overlays. */
|
|
4438
|
+
declare function viewportRuntimeComponents(controller: ViewportController, overlays?: Partial<Record<XenoViewportSlot, ReactNode>>, background?: string): Record<(typeof VIEWPORT_RUNTIME_UNITS)[number], React.ComponentType<any>>;
|
|
4396
4439
|
|
|
4397
4440
|
/**
|
|
4398
4441
|
* The Find contract.
|
|
@@ -7507,4 +7550,4 @@ declare function TreeIcon({ name, size }: {
|
|
|
7507
7550
|
size?: number;
|
|
7508
7551
|
}): ReactNode;
|
|
7509
7552
|
|
|
7510
|
-
export { type BlendModeGroup, type BlendModeOption, type Box, BEHAVIOURS$5 as COLOR_BEHAVIOURS, COLOR_DECLARATION, COLOR_RUNTIME_UNITS, COLOR_SPACES, BEHAVIOURS$2 as COMMENTS_BEHAVIOURS, COMMENTS_DECLARATION, COMMENTS_PANEL_ID, COMMENTS_RUNTIME_UNITS, BEHAVIOURS$4 as CURVE_BEHAVIOURS, CURVE_DECLARATION, CURVE_PANEL_ID, CURVE_RUNTIME_UNITS, 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, CurveSurface, type CurveUiIntent, type CurveViewModel, type CurveViewOptions, 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$3 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$6 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$7 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$8 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, BEHAVIOURS$1 as NODEGRAPH_BEHAVIOURS, NODEGRAPH_DECLARATION, NODEGRAPH_PANEL_ID, NODEGRAPH_RUNTIME_UNITS, NodeGraphPanelView, type NodeGraphPanelViewProps, NodeGraphSurface, type NodeGraphUiIntent, type NodeGraphViewModel, type NodeGraphViewOptions, 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, applyCurveUi, applyFindUi, applyHistoryUi, applyInspectorUi, applyLayersUi, applyNodeGraphUi, 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, curveRuntimeComponents, curveViewManifest, curveViewState, 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, nodegraphRuntimeComponents, nodegraphViewManifest, nodegraphViewState, 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 };
|
|
7553
|
+
export { type BlendModeGroup, type BlendModeOption, type Box, BEHAVIOURS$6 as COLOR_BEHAVIOURS, COLOR_DECLARATION, COLOR_RUNTIME_UNITS, COLOR_SPACES, BEHAVIOURS$2 as COMMENTS_BEHAVIOURS, COMMENTS_DECLARATION, COMMENTS_PANEL_ID, COMMENTS_RUNTIME_UNITS, BEHAVIOURS$5 as CURVE_BEHAVIOURS, CURVE_DECLARATION, CURVE_PANEL_ID, CURVE_RUNTIME_UNITS, 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, CurveSurface, type CurveUiIntent, type CurveViewModel, type CurveViewOptions, 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$3 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$7 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$8 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$9 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, BEHAVIOURS$1 as NODEGRAPH_BEHAVIOURS, NODEGRAPH_DECLARATION, NODEGRAPH_PANEL_ID, NODEGRAPH_RUNTIME_UNITS, NodeGraphPanelView, type NodeGraphPanelViewProps, NodeGraphSurface, type NodeGraphUiIntent, type NodeGraphViewModel, type NodeGraphViewOptions, 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, BEHAVIOURS$4 as VIEWPORT_BEHAVIOURS, VIEWPORT_DECLARATION, VIEWPORT_PANEL_ID, VIEWPORT_RUNTIME_UNITS, VIEWPORT_SLOTS, VIEW_STATE_OPS, ViewportController, type ViewportControllerOptions, type ViewportHostBridge, type ViewportPanelState, ViewportPanelView, type ViewportPanelViewProps, type ViewportRenderContext, ViewportSurface, type ViewportViewModel, type ViewportViewOptions, 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, applyCurveUi, applyFindUi, applyHistoryUi, applyInspectorUi, applyLayersUi, applyNodeGraphUi, 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, curveRuntimeComponents, curveViewManifest, curveViewState, 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, nodegraphRuntimeComponents, nodegraphViewManifest, nodegraphViewState, 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, viewportRuntimeComponents, viewportViewManifest, viewportViewState, visibleEdges, walkTree, wheelZoomFactor, zoomAboutCursor, zoomTimeAboutCursor, zoomValueAboutCursor };
|
package/dist/edit/index.js
CHANGED
|
@@ -2023,8 +2023,8 @@ function constraintsOf(field) {
|
|
|
2023
2023
|
scale: field.scale
|
|
2024
2024
|
};
|
|
2025
2025
|
}
|
|
2026
|
-
function parseNumeric(
|
|
2027
|
-
const trimmed = String(
|
|
2026
|
+
function parseNumeric(text11) {
|
|
2027
|
+
const trimmed = String(text11).trim();
|
|
2028
2028
|
if (trimmed.length === 0) return { ok: false, reason: "empty" };
|
|
2029
2029
|
const match = /^[+-]?(\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/.exec(trimmed);
|
|
2030
2030
|
if (!match) return { ok: false, reason: "nan" };
|
|
@@ -2049,8 +2049,8 @@ function normalizeNumeric(value, c) {
|
|
|
2049
2049
|
function formatNumeric(value, field) {
|
|
2050
2050
|
if (!Number.isFinite(value)) return "";
|
|
2051
2051
|
const precision = field.precision;
|
|
2052
|
-
const
|
|
2053
|
-
return field.unit ? `${
|
|
2052
|
+
const text11 = typeof precision === "number" && Number.isFinite(precision) ? value.toFixed(Math.max(0, Math.floor(precision))) : String(value);
|
|
2053
|
+
return field.unit ? `${text11}${field.unit}` : text11;
|
|
2054
2054
|
}
|
|
2055
2055
|
function usesLogScale(c) {
|
|
2056
2056
|
return c.scale === "log" && typeof c.min === "number" && typeof c.max === "number" && c.min > 0 && c.max > c.min;
|
|
@@ -2384,44 +2384,44 @@ var InspectorPanelController = class {
|
|
|
2384
2384
|
if (!field || !isFieldEditable(field)) return;
|
|
2385
2385
|
const mixed = isFieldMixed(field);
|
|
2386
2386
|
const value = this.getFieldValue(fieldId);
|
|
2387
|
-
const
|
|
2388
|
-
this.drafts.set(fieldId, { text:
|
|
2387
|
+
const text11 = mixed ? "" : field.type === "number" && typeof value === "number" ? formatNumeric(value, field) : value === void 0 || value === null ? "" : String(value);
|
|
2388
|
+
this.drafts.set(fieldId, { text: text11, original: value });
|
|
2389
2389
|
this.focusedFieldId = fieldId;
|
|
2390
2390
|
this.emitFieldFocus(fieldId);
|
|
2391
2391
|
this.notify();
|
|
2392
2392
|
}
|
|
2393
2393
|
/** Update the draft text (typing). Emits nothing under the `blur` policy. */
|
|
2394
|
-
setDraft(fieldId,
|
|
2394
|
+
setDraft(fieldId, text11) {
|
|
2395
2395
|
const draft = this.drafts.get(fieldId);
|
|
2396
2396
|
if (!draft) {
|
|
2397
|
-
this.drafts.set(fieldId, { text:
|
|
2397
|
+
this.drafts.set(fieldId, { text: text11, original: this.getFieldValue(fieldId) });
|
|
2398
2398
|
} else {
|
|
2399
|
-
draft.text =
|
|
2399
|
+
draft.text = text11;
|
|
2400
2400
|
}
|
|
2401
2401
|
const field = this.getField(fieldId);
|
|
2402
2402
|
if (field && commitPolicyOf(field) === "live") {
|
|
2403
|
-
const parsed = this.parseDraft(fieldId,
|
|
2403
|
+
const parsed = this.parseDraft(fieldId, text11);
|
|
2404
2404
|
if (parsed.ok) this.emitSet(fieldId, parsed.value);
|
|
2405
2405
|
}
|
|
2406
2406
|
this.notify();
|
|
2407
2407
|
}
|
|
2408
2408
|
/** Parse a draft string into a field-appropriate value. */
|
|
2409
|
-
parseDraft(fieldId,
|
|
2409
|
+
parseDraft(fieldId, text11) {
|
|
2410
2410
|
const field = this.getField(fieldId);
|
|
2411
2411
|
if (!field) return { ok: false };
|
|
2412
2412
|
if (field.type === "number") {
|
|
2413
|
-
const parsed = parseNumeric(
|
|
2413
|
+
const parsed = parseNumeric(text11);
|
|
2414
2414
|
if (!parsed.ok) return { ok: false };
|
|
2415
2415
|
return { ok: true, value: normalizeNumeric(parsed.value, constraintsOf(field)) };
|
|
2416
2416
|
}
|
|
2417
2417
|
if (field.type === "json") {
|
|
2418
2418
|
try {
|
|
2419
|
-
return { ok: true, value: JSON.parse(
|
|
2419
|
+
return { ok: true, value: JSON.parse(text11) };
|
|
2420
2420
|
} catch {
|
|
2421
2421
|
return { ok: false };
|
|
2422
2422
|
}
|
|
2423
2423
|
}
|
|
2424
|
-
return { ok: true, value:
|
|
2424
|
+
return { ok: true, value: text11 };
|
|
2425
2425
|
}
|
|
2426
2426
|
/**
|
|
2427
2427
|
* Commit the draft (Enter / blur). Invalid input reverts instead of committing garbage.
|
|
@@ -3347,7 +3347,7 @@ function NumberWidget({ field, controller, component }) {
|
|
|
3347
3347
|
},
|
|
3348
3348
|
[controller, editable, field.id, component]
|
|
3349
3349
|
);
|
|
3350
|
-
const
|
|
3350
|
+
const text11 = component !== void 0 ? (() => {
|
|
3351
3351
|
const raw = controller.getFieldValue(field.id);
|
|
3352
3352
|
const v = Array.isArray(raw) ? raw[component] : void 0;
|
|
3353
3353
|
return typeof v === "number" ? formatNumeric(v, field) : "";
|
|
@@ -3359,7 +3359,7 @@ function NumberWidget({ field, controller, component }) {
|
|
|
3359
3359
|
Input2,
|
|
3360
3360
|
{
|
|
3361
3361
|
inputMode: "decimal",
|
|
3362
|
-
value:
|
|
3362
|
+
value: text11,
|
|
3363
3363
|
placeholder: mixed ? controller.getMixedPlaceholder() : field.placeholder,
|
|
3364
3364
|
mixed,
|
|
3365
3365
|
readOnly: !editable,
|
|
@@ -8646,7 +8646,58 @@ var viewportManifest = {
|
|
|
8646
8646
|
|
|
8647
8647
|
// src/edit/viewport/react/ViewportPanelView.tsx
|
|
8648
8648
|
import { useEffect as useEffect6, useRef as useRef7, useSyncExternalStore as useSyncExternalStore6 } from "react";
|
|
8649
|
-
import { Badge as Badge4, StatusBar as StatusBar4 } from "@xenosystem/components/chrome";
|
|
8649
|
+
import { Badge as Badge4, Overlay, StatusBar as StatusBar4 } from "@xenosystem/components/chrome";
|
|
8650
|
+
|
|
8651
|
+
// src/edit/viewport/declaration.ts
|
|
8652
|
+
function viewportViewState(c, options = {}) {
|
|
8653
|
+
const { showStats = true } = options;
|
|
8654
|
+
const state = c.getState();
|
|
8655
|
+
return {
|
|
8656
|
+
contextLost: state.contextLost,
|
|
8657
|
+
statsShown: showStats && state.stats !== null,
|
|
8658
|
+
fpsLabel: state.stats?.fps !== void 0 ? `${Math.round(state.stats.fps)} fps` : void 0,
|
|
8659
|
+
surfaceLabel: state.surface ? `${state.surface.cssWidth}\xD7${state.surface.cssHeight} @${state.surface.dpr}\xD7` : void 0
|
|
8660
|
+
};
|
|
8661
|
+
}
|
|
8662
|
+
var viewportViewManifest = {
|
|
8663
|
+
id: viewportManifest.id,
|
|
8664
|
+
version: "1.0.0",
|
|
8665
|
+
title: "Viewport",
|
|
8666
|
+
category: "edit",
|
|
8667
|
+
layout: { slot: "center" },
|
|
8668
|
+
inputs: [{ id: "view", type: "object", label: "View state", description: "The ViewportViewModel the runtime derives from the controller on every draw." }],
|
|
8669
|
+
outputs: [],
|
|
8670
|
+
commands: []
|
|
8671
|
+
};
|
|
8672
|
+
var EMPTY6 = { contextLost: false, statsShown: false };
|
|
8673
|
+
var BEHAVIOURS6 = {
|
|
8674
|
+
"edit/viewportPanelView": (inputs) => inputs.view ?? EMPTY6
|
|
8675
|
+
};
|
|
8676
|
+
var text6 = (b) => ({ component: "text", props: { text: b } });
|
|
8677
|
+
var VIEWPORT_DECLARATION = {
|
|
8678
|
+
format: "xeno.block@1",
|
|
8679
|
+
manifest: viewportViewManifest,
|
|
8680
|
+
behaviour: "edit/viewportPanelView",
|
|
8681
|
+
composition: {
|
|
8682
|
+
component: "viewport/Surface",
|
|
8683
|
+
children: [
|
|
8684
|
+
{
|
|
8685
|
+
component: "chrome/Overlay",
|
|
8686
|
+
when: { input: "view.contextLost" },
|
|
8687
|
+
props: { scrim: { value: true } },
|
|
8688
|
+
children: [{ component: "chrome/Badge", props: { tone: { value: "error" } }, children: [text6({ value: "graphics context lost \u2014 restoring" })] }]
|
|
8689
|
+
},
|
|
8690
|
+
{
|
|
8691
|
+
component: "chrome/Overlay",
|
|
8692
|
+
when: { input: "view.statsShown" },
|
|
8693
|
+
props: { anchor: { value: "bottom" } },
|
|
8694
|
+
children: [{ component: "chrome/StatusBar", props: { left: { input: "view.fpsLabel" }, right: { input: "view.surfaceLabel" } } }]
|
|
8695
|
+
}
|
|
8696
|
+
]
|
|
8697
|
+
}
|
|
8698
|
+
};
|
|
8699
|
+
|
|
8700
|
+
// src/edit/viewport/react/ViewportPanelView.tsx
|
|
8650
8701
|
import { jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
8651
8702
|
var SLOT_STYLE = {
|
|
8652
8703
|
"top-left": { top: 8, left: 8 },
|
|
@@ -8659,12 +8710,15 @@ var SLOT_STYLE = {
|
|
|
8659
8710
|
"bottom-right": { bottom: 8, right: 8 },
|
|
8660
8711
|
free: { inset: 0 }
|
|
8661
8712
|
};
|
|
8662
|
-
function ViewportPanelView({
|
|
8663
|
-
controller,
|
|
8664
|
-
|
|
8665
|
-
|
|
8666
|
-
|
|
8667
|
-
})
|
|
8713
|
+
function ViewportPanelView({ controller, overlays, ...options }) {
|
|
8714
|
+
useSyncExternalStore6(controller.subscribe, controller.getState, controller.getState);
|
|
8715
|
+
const view = viewportViewState(controller, options);
|
|
8716
|
+
return /* @__PURE__ */ jsxs7(ViewportSurface, { controller, overlays, background: options.background, children: [
|
|
8717
|
+
view.contextLost ? /* @__PURE__ */ jsx8(Overlay, { scrim: true, children: /* @__PURE__ */ jsx8(Badge4, { tone: "error", children: "graphics context lost \u2014 restoring" }) }) : null,
|
|
8718
|
+
view.statsShown ? /* @__PURE__ */ jsx8(Overlay, { anchor: "bottom", children: /* @__PURE__ */ jsx8(StatusBar4, { left: view.fpsLabel, right: view.surfaceLabel }) }) : null
|
|
8719
|
+
] });
|
|
8720
|
+
}
|
|
8721
|
+
function ViewportSurface({ controller, overlays, background, children }) {
|
|
8668
8722
|
const state = useSyncExternalStore6(controller.subscribe, controller.getState, controller.getState);
|
|
8669
8723
|
const canvasRef = useRef7(null);
|
|
8670
8724
|
const containerRef = useRef7(null);
|
|
@@ -8743,33 +8797,15 @@ function ViewportPanelView({
|
|
|
8743
8797
|
slot
|
|
8744
8798
|
);
|
|
8745
8799
|
}),
|
|
8746
|
-
|
|
8747
|
-
"div",
|
|
8748
|
-
{
|
|
8749
|
-
style: {
|
|
8750
|
-
position: "absolute",
|
|
8751
|
-
inset: 0,
|
|
8752
|
-
display: "flex",
|
|
8753
|
-
alignItems: "center",
|
|
8754
|
-
justifyContent: "center",
|
|
8755
|
-
background: "var(--xeno-elevated)",
|
|
8756
|
-
fontSize: 11,
|
|
8757
|
-
zIndex: 20
|
|
8758
|
-
},
|
|
8759
|
-
children: /* @__PURE__ */ jsx8(Badge4, { tone: "error", children: "graphics context lost \u2014 restoring" })
|
|
8760
|
-
}
|
|
8761
|
-
) : null,
|
|
8762
|
-
showStats && state.stats ? /* @__PURE__ */ jsx8("div", { style: { position: "absolute", left: 0, right: 0, bottom: 0, zIndex: 10 }, children: /* @__PURE__ */ jsx8(
|
|
8763
|
-
StatusBar4,
|
|
8764
|
-
{
|
|
8765
|
-
left: state.stats.fps !== void 0 ? `${Math.round(state.stats.fps)} fps` : void 0,
|
|
8766
|
-
right: state.surface ? `${state.surface.cssWidth}\xD7${state.surface.cssHeight} @${state.surface.dpr}\xD7` : void 0
|
|
8767
|
-
}
|
|
8768
|
-
) }) : null
|
|
8800
|
+
children
|
|
8769
8801
|
]
|
|
8770
8802
|
}
|
|
8771
8803
|
);
|
|
8772
8804
|
}
|
|
8805
|
+
var VIEWPORT_RUNTIME_UNITS = ["viewport/Surface"];
|
|
8806
|
+
function viewportRuntimeComponents(controller, overlays, background) {
|
|
8807
|
+
return { "viewport/Surface": ({ children }) => /* @__PURE__ */ jsx8(ViewportSurface, { controller, overlays, background, children }) };
|
|
8808
|
+
}
|
|
8773
8809
|
|
|
8774
8810
|
// src/edit/viewport/panel.ts
|
|
8775
8811
|
function createViewportPanel(options = {}) {
|
|
@@ -9016,11 +9052,11 @@ var FindController = class {
|
|
|
9016
9052
|
* @param text - The new query text.
|
|
9017
9053
|
* @param immediate - Skip the debounce (a paste, or pressing Enter).
|
|
9018
9054
|
*/
|
|
9019
|
-
setText(
|
|
9020
|
-
if (
|
|
9021
|
-
this.text =
|
|
9055
|
+
setText(text11, immediate = false) {
|
|
9056
|
+
if (text11 === this.text) return;
|
|
9057
|
+
this.text = text11;
|
|
9022
9058
|
this.index = -1;
|
|
9023
|
-
if (
|
|
9059
|
+
if (text11 === "") {
|
|
9024
9060
|
this.clearResults("idle");
|
|
9025
9061
|
this.emitQuery(true);
|
|
9026
9062
|
return;
|
|
@@ -9048,8 +9084,8 @@ var FindController = class {
|
|
|
9048
9084
|
this.notify();
|
|
9049
9085
|
}
|
|
9050
9086
|
/** The replacement text. Never emitted on its own — a replacement is not a search. */
|
|
9051
|
-
setReplaceText(
|
|
9052
|
-
this.replaceText =
|
|
9087
|
+
setReplaceText(text11) {
|
|
9088
|
+
this.replaceText = text11;
|
|
9053
9089
|
this.notify();
|
|
9054
9090
|
}
|
|
9055
9091
|
/** Show or hide the replace row. */
|
|
@@ -9523,7 +9559,7 @@ var findViewManifest = {
|
|
|
9523
9559
|
outputs: [{ id: "ui", type: "object", label: "UI intent", description: "{ kind, value?, option?, matchId?, x?, y? } \u2014 applied by the runtime to the controller." }],
|
|
9524
9560
|
commands: []
|
|
9525
9561
|
};
|
|
9526
|
-
var
|
|
9562
|
+
var EMPTY7 = {
|
|
9527
9563
|
text: "",
|
|
9528
9564
|
hasText: false,
|
|
9529
9565
|
placeholder: "Find",
|
|
@@ -9555,11 +9591,11 @@ var EMPTY6 = {
|
|
|
9555
9591
|
rows: [],
|
|
9556
9592
|
groups: []
|
|
9557
9593
|
};
|
|
9558
|
-
var
|
|
9559
|
-
"edit/findPanelView": (inputs) => inputs.view ??
|
|
9594
|
+
var BEHAVIOURS7 = {
|
|
9595
|
+
"edit/findPanelView": (inputs) => inputs.view ?? EMPTY7
|
|
9560
9596
|
};
|
|
9561
9597
|
var FIND_RUNTIME_UNITS = ["find/Keys"];
|
|
9562
|
-
var
|
|
9598
|
+
var text7 = (b) => ({ component: "text", props: { text: b } });
|
|
9563
9599
|
var ui6 = (kind, fields = {}) => ({ emit: "ui", value: { object: { kind: { value: kind }, ...fields } } });
|
|
9564
9600
|
var option = (option2, icon, label) => ({
|
|
9565
9601
|
component: "chrome/IconButton",
|
|
@@ -9605,10 +9641,10 @@ var FIND_DECLARATION = {
|
|
|
9605
9641
|
node: {
|
|
9606
9642
|
component: "fragment",
|
|
9607
9643
|
children: [
|
|
9608
|
-
{ component: "chrome/Badge", when: { input: "view.invalid" }, props: { tone: { value: "error" }, title: { input: "view.message" } }, children: [
|
|
9609
|
-
{ component: "chrome/Badge", when: { input: "view.failed" }, props: { tone: { value: "error" }, title: { input: "view.message" } }, children: [
|
|
9610
|
-
{ component: "chrome/Badge", when: { input: "view.searchingBadge" }, children: [
|
|
9611
|
-
{ component: "chrome/Text", when: { input: "view.countShown" }, props: { role: { value: "number" } }, children: [
|
|
9644
|
+
{ component: "chrome/Badge", when: { input: "view.invalid" }, props: { tone: { value: "error" }, title: { input: "view.message" } }, children: [text7({ value: "invalid pattern" })] },
|
|
9645
|
+
{ component: "chrome/Badge", when: { input: "view.failed" }, props: { tone: { value: "error" }, title: { input: "view.message" } }, children: [text7({ value: "search failed" })] },
|
|
9646
|
+
{ component: "chrome/Badge", when: { input: "view.searchingBadge" }, children: [text7({ value: "searching\u2026" })] },
|
|
9647
|
+
{ component: "chrome/Text", when: { input: "view.countShown" }, props: { role: { value: "number" } }, children: [text7({ input: "view.counter" })] }
|
|
9612
9648
|
]
|
|
9613
9649
|
}
|
|
9614
9650
|
},
|
|
@@ -9619,13 +9655,13 @@ var FIND_DECLARATION = {
|
|
|
9619
9655
|
children: [
|
|
9620
9656
|
{ component: "chrome/IconButton", props: { label: { value: "Previous match" }, disabled: { not: { input: "view.hasMatches" } }, icon: { node: { component: "icons/Chevron", props: { direction: { value: "up" }, size: { value: 12 } } } } }, on: { onClick: ui6("previous") } },
|
|
9621
9657
|
{ component: "chrome/IconButton", props: { label: { value: "Next match" }, disabled: { not: { input: "view.hasMatches" } }, icon: { node: { component: "icons/Chevron", props: { direction: { value: "down" }, size: { value: 12 } } } } }, on: { onClick: ui6("next") } },
|
|
9622
|
-
{ component: "chrome/TextButton", on: { onClick: ui6("toggleReplace") }, children: [
|
|
9658
|
+
{ component: "chrome/TextButton", on: { onClick: ui6("toggleReplace") }, children: [text7({ input: "view.replaceLabel" })] }
|
|
9623
9659
|
]
|
|
9624
9660
|
}
|
|
9625
9661
|
}
|
|
9626
9662
|
}
|
|
9627
9663
|
},
|
|
9628
|
-
{ component: "chrome/Text", when: { input: "view.invalid" }, props: { role: { value: "caption" }, className: { value: "xeno-find-message" } }, children: [
|
|
9664
|
+
{ component: "chrome/Text", when: { input: "view.invalid" }, props: { role: { value: "caption" }, className: { value: "xeno-find-message" } }, children: [text7({ input: "view.message" })] },
|
|
9629
9665
|
{
|
|
9630
9666
|
component: "chrome/Toolbar",
|
|
9631
9667
|
when: { input: "view.replaceVisible" },
|
|
@@ -9636,8 +9672,8 @@ var FIND_DECLARATION = {
|
|
|
9636
9672
|
component: "chrome/ToolbarGroup",
|
|
9637
9673
|
props: { end: { value: true } },
|
|
9638
9674
|
children: [
|
|
9639
|
-
{ component: "chrome/TextButton", props: { disabled: { not: { input: "view.canReplace" } } }, on: { onClick: ui6("replaceCurrent") }, children: [
|
|
9640
|
-
{ component: "chrome/TextButton", props: { disabled: { not: { input: "view.canReplace" } } }, on: { onClick: ui6("replaceAll") }, children: [
|
|
9675
|
+
{ component: "chrome/TextButton", props: { disabled: { not: { input: "view.canReplace" } } }, on: { onClick: ui6("replaceCurrent") }, children: [text7({ value: "Replace" })] },
|
|
9676
|
+
{ component: "chrome/TextButton", props: { disabled: { not: { input: "view.canReplace" } } }, on: { onClick: ui6("replaceAll") }, children: [text7({ input: "view.allLabel" })] }
|
|
9641
9677
|
]
|
|
9642
9678
|
}
|
|
9643
9679
|
}
|
|
@@ -9659,7 +9695,7 @@ var FIND_DECLARATION = {
|
|
|
9659
9695
|
{
|
|
9660
9696
|
component: "chrome/Section",
|
|
9661
9697
|
each: { input: "view.groups", key: "id" },
|
|
9662
|
-
props: { title: { item: "label" }, flush: { value: true }, badge: { node: { component: "chrome/Badge", children: [
|
|
9698
|
+
props: { title: { item: "label" }, flush: { value: true }, badge: { node: { component: "chrome/Badge", children: [text7({ item: "count" })] } } },
|
|
9663
9699
|
children: [{ component: "chrome/RowList", children: [resultRow] }]
|
|
9664
9700
|
}
|
|
9665
9701
|
]
|
|
@@ -10549,12 +10585,12 @@ var commentsViewManifest = {
|
|
|
10549
10585
|
outputs: [{ id: "ui", type: "object", label: "UI intent", description: "{ kind, \u2026 } \u2014 applied by the runtime to the controller." }],
|
|
10550
10586
|
commands: []
|
|
10551
10587
|
};
|
|
10552
|
-
var
|
|
10553
|
-
var
|
|
10554
|
-
"edit/commentsPanelView": (inputs) => inputs.view ??
|
|
10588
|
+
var EMPTY8 = { show: "open", shows: [], sort: "document", sorts: [], orphanedHidden: false, filteredEmpty: false, filteredHint: "", empty: true, emptyHint: "Select something and add a comment.", listed: false, open: [], hasResolved: false, resolvedTitle: "", resolved: [], draft: "", placeholder: "", composerDisabled: true, commentDisabled: true, countLabel: "0 open" };
|
|
10589
|
+
var BEHAVIOURS8 = {
|
|
10590
|
+
"edit/commentsPanelView": (inputs) => inputs.view ?? EMPTY8
|
|
10555
10591
|
};
|
|
10556
10592
|
var COMMENTS_RUNTIME_UNITS = [];
|
|
10557
|
-
var
|
|
10593
|
+
var text8 = (b) => ({ component: "text", props: { text: b } });
|
|
10558
10594
|
var ui7 = (kind, fields = {}) => ({ emit: "ui", value: { object: { kind: { value: kind }, ...fields } } });
|
|
10559
10595
|
var threadCard = (input) => ({
|
|
10560
10596
|
component: "chrome/ThreadCard",
|
|
@@ -10566,18 +10602,18 @@ var threadCard = (input) => ({
|
|
|
10566
10602
|
component: "chrome/Stack",
|
|
10567
10603
|
props: { direction: { value: "row" }, gap: { value: 4 }, pad: { value: "none" } },
|
|
10568
10604
|
children: [
|
|
10569
|
-
{ component: "chrome/Badge", when: { item: "hasAnchorBadge" }, props: { tone: { item: "anchorTone" }, title: { item: "anchorTitle" } }, children: [
|
|
10570
|
-
{ component: "chrome/Badge", when: { item: "resolved" }, children: [
|
|
10571
|
-
{ component: "chrome/Text", props: { role: { value: "caption" } }, children: [
|
|
10605
|
+
{ component: "chrome/Badge", when: { item: "hasAnchorBadge" }, props: { tone: { item: "anchorTone" }, title: { item: "anchorTitle" } }, children: [text8({ item: "anchorLabel" })] },
|
|
10606
|
+
{ component: "chrome/Badge", when: { item: "resolved" }, children: [text8({ value: "resolved" })] },
|
|
10607
|
+
{ component: "chrome/Text", props: { role: { value: "caption" } }, children: [text8({ item: "age" })] }
|
|
10572
10608
|
]
|
|
10573
10609
|
},
|
|
10574
|
-
{ component: "chrome/Quote", when: { item: "hasQuote" }, props: { orphaned: { item: "orphaned" } }, on: { onActivate: ui7("activate", { id: { item: "id" } }) }, children: [
|
|
10575
|
-
{ component: "chrome/Message", each: { item: "messages", key: "id" }, props: { author: { item: "author" }, age: { item: "age" }, edited: { item: "edited" } }, children: [
|
|
10610
|
+
{ component: "chrome/Quote", when: { item: "hasQuote" }, props: { orphaned: { item: "orphaned" } }, on: { onActivate: ui7("activate", { id: { item: "id" } }) }, children: [text8({ item: "quote" })] },
|
|
10611
|
+
{ component: "chrome/Message", each: { item: "messages", key: "id" }, props: { author: { item: "author" }, age: { item: "age" }, edited: { item: "edited" } }, children: [text8({ item: "body" })] },
|
|
10576
10612
|
{
|
|
10577
10613
|
component: "chrome/Stack",
|
|
10578
10614
|
when: { item: "hasReactions" },
|
|
10579
10615
|
props: { direction: { value: "row" }, gap: { value: 4 }, pad: { value: "none" } },
|
|
10580
|
-
children: [{ component: "chrome/TextButton", each: { item: "reactions", key: "emoji" }, on: { onClick: ui7("react", { id: { item: "threadId" }, emoji: { item: "emoji" }, on: { item: "reactTo" } }) }, children: [
|
|
10616
|
+
children: [{ component: "chrome/TextButton", each: { item: "reactions", key: "emoji" }, on: { onClick: ui7("react", { id: { item: "threadId" }, emoji: { item: "emoji" }, on: { item: "reactTo" } }) }, children: [text8({ item: "label" })] }]
|
|
10581
10617
|
},
|
|
10582
10618
|
{
|
|
10583
10619
|
component: "chrome/Stack",
|
|
@@ -10585,7 +10621,7 @@ var threadCard = (input) => ({
|
|
|
10585
10621
|
props: { direction: { value: "row" }, gap: { value: 4 }, pad: { value: "none" } },
|
|
10586
10622
|
children: [
|
|
10587
10623
|
{ component: "chrome/Input", props: { value: { item: "replyDraft" }, placeholder: { value: "Reply" }, autoFocus: { value: true }, label: { value: "Reply" } }, on: { onChange: ui7("replyDraft", { value: { arg: "" } }), onKeyDown: ui7("replyKey", { id: { item: "id" }, key: { arg: "key" }, shift: { arg: "shiftKey" } }) } },
|
|
10588
|
-
{ component: "chrome/TextButton", on: { onClick: ui7("reply", { id: { item: "id" } }) }, children: [
|
|
10624
|
+
{ component: "chrome/TextButton", on: { onClick: ui7("reply", { id: { item: "id" } }) }, children: [text8({ value: "Send" })] }
|
|
10589
10625
|
]
|
|
10590
10626
|
},
|
|
10591
10627
|
{
|
|
@@ -10593,9 +10629,9 @@ var threadCard = (input) => ({
|
|
|
10593
10629
|
when: { item: "idle" },
|
|
10594
10630
|
props: { direction: { value: "row" }, gap: { value: 6 }, pad: { value: "none" } },
|
|
10595
10631
|
children: [
|
|
10596
|
-
{ component: "chrome/TextButton", on: { onClick: ui7("startReply", { id: { item: "id" } }) }, children: [
|
|
10597
|
-
{ component: "chrome/TextButton", on: { onClick: ui7("resolve", { id: { item: "id" }, resolved: { item: "resolveTo" } }) }, children: [
|
|
10598
|
-
{ component: "chrome/TextButton", on: { onClick: ui7("remove", { id: { item: "id" } }) }, children: [
|
|
10632
|
+
{ component: "chrome/TextButton", on: { onClick: ui7("startReply", { id: { item: "id" } }) }, children: [text8({ value: "Reply" })] },
|
|
10633
|
+
{ component: "chrome/TextButton", on: { onClick: ui7("resolve", { id: { item: "id" }, resolved: { item: "resolveTo" } }) }, children: [text8({ item: "resolveLabel" })] },
|
|
10634
|
+
{ component: "chrome/TextButton", on: { onClick: ui7("remove", { id: { item: "id" } }) }, children: [text8({ value: "Delete" })] }
|
|
10599
10635
|
]
|
|
10600
10636
|
}
|
|
10601
10637
|
]
|
|
@@ -10617,7 +10653,7 @@ var COMMENTS_DECLARATION = {
|
|
|
10617
10653
|
{
|
|
10618
10654
|
component: "chrome/Note",
|
|
10619
10655
|
when: { input: "view.orphanedNotice" },
|
|
10620
|
-
children: [
|
|
10656
|
+
children: [text8({ input: "view.orphanedNotice" }), { component: "chrome/TextButton", when: { input: "view.orphanedHidden" }, on: { onClick: ui7("showOrphaned") }, children: [text8({ value: "Show" })] }]
|
|
10621
10657
|
},
|
|
10622
10658
|
{
|
|
10623
10659
|
component: "chrome/ScrollArea",
|
|
@@ -10633,7 +10669,7 @@ var COMMENTS_DECLARATION = {
|
|
|
10633
10669
|
props: { gap: { value: 2 }, pad: { value: "gutter" }, className: { value: "xeno-comments-composer" } },
|
|
10634
10670
|
children: [
|
|
10635
10671
|
{ component: "chrome/TextArea", props: { value: { input: "view.draft" }, placeholder: { input: "view.placeholder" }, disabled: { input: "view.composerDisabled" }, rows: { value: 2 }, label: { value: "New comment" } }, on: { onChange: ui7("draft", { value: { arg: "" } }), onKeyDown: ui7("draftKey", { key: { arg: "key" }, ctrl: { arg: "ctrlKey" }, meta: { arg: "metaKey" } }) } },
|
|
10636
|
-
{ component: "chrome/Toolbar", props: { divided: { value: false }, right: { node: { component: "chrome/ToolbarGroup", props: { end: { value: true } }, children: [{ component: "chrome/TextButton", props: { strong: { value: true }, disabled: { input: "view.commentDisabled" } }, on: { onClick: ui7("create") }, children: [
|
|
10672
|
+
{ component: "chrome/Toolbar", props: { divided: { value: false }, right: { node: { component: "chrome/ToolbarGroup", props: { end: { value: true } }, children: [{ component: "chrome/TextButton", props: { strong: { value: true }, disabled: { input: "view.commentDisabled" } }, on: { onClick: ui7("create") }, children: [text8({ value: "Comment" })] }] } } } }
|
|
10637
10673
|
]
|
|
10638
10674
|
},
|
|
10639
10675
|
{ component: "chrome/StatusBar", props: { left: { input: "view.countLabel" }, right: { input: "view.staleLabel" } } }
|
|
@@ -11888,11 +11924,11 @@ var nodegraphViewManifest = {
|
|
|
11888
11924
|
outputs: [{ id: "ui", type: "object", label: "UI intent", description: "{ kind } \u2014 applied by the runtime to the controller." }],
|
|
11889
11925
|
commands: []
|
|
11890
11926
|
};
|
|
11891
|
-
var
|
|
11892
|
-
var
|
|
11893
|
-
"edit/nodegraphPanelView": (inputs) => inputs.view ??
|
|
11927
|
+
var EMPTY9 = { empty: true, drawn: false, nodesLabel: "0 nodes", zoomLabel: "100%" };
|
|
11928
|
+
var BEHAVIOURS9 = {
|
|
11929
|
+
"edit/nodegraphPanelView": (inputs) => inputs.view ?? EMPTY9
|
|
11894
11930
|
};
|
|
11895
|
-
var
|
|
11931
|
+
var text9 = (b) => ({ component: "text", props: { text: b } });
|
|
11896
11932
|
var ui8 = (kind) => ({ emit: "ui", value: { object: { kind: { value: kind } } } });
|
|
11897
11933
|
var NODEGRAPH_DECLARATION = {
|
|
11898
11934
|
format: "xeno.block@1",
|
|
@@ -11909,8 +11945,8 @@ var NODEGRAPH_DECLARATION = {
|
|
|
11909
11945
|
component: "chrome/ToolbarGroup",
|
|
11910
11946
|
props: { end: { value: true } },
|
|
11911
11947
|
children: [
|
|
11912
|
-
{ component: "chrome/TextButton", children: [
|
|
11913
|
-
{ component: "chrome/TextButton", children: [
|
|
11948
|
+
{ component: "chrome/TextButton", children: [text9({ value: "Fit" })], on: { onClick: ui8("fit") } },
|
|
11949
|
+
{ component: "chrome/TextButton", children: [text9({ value: "Fit selection" })], on: { onClick: ui8("fitSelection") } }
|
|
11914
11950
|
]
|
|
11915
11951
|
}
|
|
11916
11952
|
}
|
|
@@ -11921,8 +11957,8 @@ var NODEGRAPH_DECLARATION = {
|
|
|
11921
11957
|
{
|
|
11922
11958
|
component: "chrome/StatusBar",
|
|
11923
11959
|
props: {
|
|
11924
|
-
left: { node: { component: "chrome/Text", props: { role: { value: "number" } }, children: [
|
|
11925
|
-
right: { node: { component: "chrome/Text", props: { role: { value: "number" } }, children: [
|
|
11960
|
+
left: { node: { component: "chrome/Text", props: { role: { value: "number" } }, children: [text9({ input: "view.nodesLabel" })] } },
|
|
11961
|
+
right: { node: { component: "chrome/Text", props: { role: { value: "number" } }, children: [text9({ input: "view.zoomLabel" })] } }
|
|
11926
11962
|
}
|
|
11927
11963
|
}
|
|
11928
11964
|
]
|
|
@@ -12890,12 +12926,12 @@ var TreeController = class {
|
|
|
12890
12926
|
}
|
|
12891
12927
|
if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
|
|
12892
12928
|
const fresh = now - this.typeAhead.at > this.typeAheadMs;
|
|
12893
|
-
const
|
|
12894
|
-
this.typeAhead = { text:
|
|
12929
|
+
const text11 = (fresh ? "" : this.typeAhead.text) + event.key.toLowerCase();
|
|
12930
|
+
this.typeAhead = { text: text11, at: now };
|
|
12895
12931
|
const from = fresh ? current : current + 1;
|
|
12896
12932
|
for (let i = 0; i < rows.length; i += 1) {
|
|
12897
12933
|
const candidate = rows[(from + i) % rows.length];
|
|
12898
|
-
if (candidate.node.label.toLowerCase().startsWith(
|
|
12934
|
+
if (candidate.node.label.toLowerCase().startsWith(text11)) {
|
|
12899
12935
|
this.focusedId = candidate.id;
|
|
12900
12936
|
this.select([candidate.id]);
|
|
12901
12937
|
return true;
|
|
@@ -12921,9 +12957,9 @@ var TreeController = class {
|
|
|
12921
12957
|
return true;
|
|
12922
12958
|
}
|
|
12923
12959
|
/** Update the rename draft. */
|
|
12924
|
-
updateRenameDraft(
|
|
12960
|
+
updateRenameDraft(text11) {
|
|
12925
12961
|
if (!this.renaming) return;
|
|
12926
|
-
this.renaming = { ...this.renaming, draft:
|
|
12962
|
+
this.renaming = { ...this.renaming, draft: text11 };
|
|
12927
12963
|
this.notify();
|
|
12928
12964
|
}
|
|
12929
12965
|
/**
|
|
@@ -13637,7 +13673,7 @@ var treeViewManifest = {
|
|
|
13637
13673
|
outputs: [{ id: "ui", type: "object", label: "UI intent", description: "{ kind, id?, value?, key?, actionId?, x?, y?, ctrlKey?, metaKey?, shiftKey?, altKey? } \u2014 applied by the runtime to the controller." }],
|
|
13638
13674
|
commands: []
|
|
13639
13675
|
};
|
|
13640
|
-
var
|
|
13676
|
+
var EMPTY10 = {
|
|
13641
13677
|
searchShown: true,
|
|
13642
13678
|
filter: "",
|
|
13643
13679
|
noSource: true,
|
|
@@ -13658,16 +13694,16 @@ var EMPTY9 = {
|
|
|
13658
13694
|
rows: [],
|
|
13659
13695
|
countLabel: "0 items"
|
|
13660
13696
|
};
|
|
13661
|
-
var
|
|
13662
|
-
"edit/treePanelView": (inputs) => inputs.view ??
|
|
13697
|
+
var BEHAVIOURS10 = {
|
|
13698
|
+
"edit/treePanelView": (inputs) => inputs.view ?? EMPTY10
|
|
13663
13699
|
};
|
|
13664
|
-
var
|
|
13700
|
+
var text10 = (b) => ({ component: "text", props: { text: b } });
|
|
13665
13701
|
var ui9 = (kind, fields = {}) => ({ emit: "ui", value: { object: { kind: { value: kind }, ...fields } } });
|
|
13666
13702
|
var nodeIcon = () => ({
|
|
13667
13703
|
component: "fragment",
|
|
13668
13704
|
children: [
|
|
13669
13705
|
{ component: "icons/TreeKind", when: { item: "iconName" }, props: { name: { item: "iconName" } } },
|
|
13670
|
-
{ component: "chrome/Text", when: { item: "iconText" }, props: { role: { value: "caption" } }, children: [
|
|
13706
|
+
{ component: "chrome/Text", when: { item: "iconText" }, props: { role: { value: "caption" } }, children: [text10({ item: "iconText" })] }
|
|
13671
13707
|
]
|
|
13672
13708
|
});
|
|
13673
13709
|
var TREE_DECLARATION = {
|
|
@@ -13738,11 +13774,11 @@ var TREE_DECLARATION = {
|
|
|
13738
13774
|
node: {
|
|
13739
13775
|
component: "fragment",
|
|
13740
13776
|
children: [
|
|
13741
|
-
{ component: "chrome/Text", when: { item: "chipLoading" }, props: { role: { value: "caption" } }, children: [
|
|
13742
|
-
{ component: "chrome/Badge", when: { item: "chipError" }, props: { tone: { value: "error" } }, children: [
|
|
13743
|
-
{ component: "chrome/TextButton", when: { item: "chipLoadMore" }, children: [
|
|
13744
|
-
{ component: "chrome/Badge", when: { item: "chipTruncated" }, props: { tone: { value: "warning" } }, children: [
|
|
13745
|
-
{ component: "chrome/Text", when: { item: "chipEmpty" }, props: { role: { value: "caption" } }, children: [
|
|
13777
|
+
{ component: "chrome/Text", when: { item: "chipLoading" }, props: { role: { value: "caption" } }, children: [text10({ value: "loading\u2026" })] },
|
|
13778
|
+
{ component: "chrome/Badge", when: { item: "chipError" }, props: { tone: { value: "error" } }, children: [text10({ item: "chipErrorText" })] },
|
|
13779
|
+
{ component: "chrome/TextButton", when: { item: "chipLoadMore" }, children: [text10({ value: "load more\u2026" })], on: { onClick: ui9("loadMore", { id: { item: "id" } }) } },
|
|
13780
|
+
{ component: "chrome/Badge", when: { item: "chipTruncated" }, props: { tone: { value: "warning" } }, children: [text10({ item: "chipTruncatedText" })] },
|
|
13781
|
+
{ component: "chrome/Text", when: { item: "chipEmpty" }, props: { role: { value: "caption" } }, children: [text10({ value: "empty" })] }
|
|
13746
13782
|
]
|
|
13747
13783
|
}
|
|
13748
13784
|
},
|
|
@@ -13750,9 +13786,9 @@ var TREE_DECLARATION = {
|
|
|
13750
13786
|
node: {
|
|
13751
13787
|
component: "fragment",
|
|
13752
13788
|
children: [
|
|
13753
|
-
{ component: "chrome/Text", each: { item: "columns", key: "key" }, props: { role: { value: "number" } }, children: [
|
|
13789
|
+
{ component: "chrome/Text", each: { item: "columns", key: "key" }, props: { role: { value: "number" } }, children: [text10({ item: "text" })] },
|
|
13754
13790
|
{ component: "chrome/Text", each: { item: "glyphs", key: "key" }, props: { role: { value: "meta" }, title: { item: "title" } }, children: [nodeIcon()] },
|
|
13755
|
-
{ component: "chrome/Badge", each: { item: "badges", key: "key" }, props: { tone: { item: "tone" } }, children: [
|
|
13791
|
+
{ component: "chrome/Badge", each: { item: "badges", key: "key" }, props: { tone: { item: "tone" } }, children: [text10({ item: "text" })] },
|
|
13756
13792
|
{ component: "chrome/IconButton", each: { item: "actions", key: "key" }, props: { size: { value: "sm" }, icon: { node: nodeIcon() }, label: { item: "label" }, disabled: { item: "disabled" } }, on: { onClick: ui9("action", { id: { item: "rowId" }, actionId: { item: "actionId" } }) } }
|
|
13757
13793
|
]
|
|
13758
13794
|
}
|
|
@@ -13774,8 +13810,8 @@ var TREE_DECLARATION = {
|
|
|
13774
13810
|
{
|
|
13775
13811
|
component: "chrome/StatusBar",
|
|
13776
13812
|
props: {
|
|
13777
|
-
left: { node: { component: "chrome/Text", props: { role: { value: "number" } }, children: [
|
|
13778
|
-
right: { node: { component: "chrome/Text", when: { input: "view.selectedLabel" }, props: { role: { value: "meta" } }, children: [
|
|
13813
|
+
left: { node: { component: "chrome/Text", props: { role: { value: "number" } }, children: [text10({ input: "view.countLabel" })] } },
|
|
13814
|
+
right: { node: { component: "chrome/Text", when: { input: "view.selectedLabel" }, props: { role: { value: "meta" } }, children: [text10({ input: "view.selectedLabel" })] } }
|
|
13779
13815
|
}
|
|
13780
13816
|
}
|
|
13781
13817
|
]
|
|
@@ -14136,7 +14172,7 @@ export {
|
|
|
14136
14172
|
COLOR_DECLARATION,
|
|
14137
14173
|
COLOR_RUNTIME_UNITS,
|
|
14138
14174
|
COLOR_SPACES,
|
|
14139
|
-
|
|
14175
|
+
BEHAVIOURS8 as COMMENTS_BEHAVIOURS,
|
|
14140
14176
|
COMMENTS_DECLARATION,
|
|
14141
14177
|
COMMENTS_PANEL_ID,
|
|
14142
14178
|
COMMENTS_RUNTIME_UNITS,
|
|
@@ -14162,7 +14198,7 @@ export {
|
|
|
14162
14198
|
EMPTY_SCHEMA,
|
|
14163
14199
|
EMPTY_TREE,
|
|
14164
14200
|
EMPTY_TREE_SOURCE,
|
|
14165
|
-
|
|
14201
|
+
BEHAVIOURS7 as FIND_BEHAVIOURS,
|
|
14166
14202
|
FIND_DECLARATION,
|
|
14167
14203
|
FIND_PANEL_ID,
|
|
14168
14204
|
FIND_RUNTIME_UNITS,
|
|
@@ -14189,14 +14225,14 @@ export {
|
|
|
14189
14225
|
LayersPanelController,
|
|
14190
14226
|
LayersPanelView,
|
|
14191
14227
|
MIXED,
|
|
14192
|
-
|
|
14228
|
+
BEHAVIOURS9 as NODEGRAPH_BEHAVIOURS,
|
|
14193
14229
|
NODEGRAPH_DECLARATION,
|
|
14194
14230
|
NODEGRAPH_PANEL_ID,
|
|
14195
14231
|
NODEGRAPH_RUNTIME_UNITS,
|
|
14196
14232
|
NodeGraphPanelView,
|
|
14197
14233
|
NodeGraphSurface,
|
|
14198
14234
|
SPACE_LABEL,
|
|
14199
|
-
|
|
14235
|
+
BEHAVIOURS10 as TREE_BEHAVIOURS,
|
|
14200
14236
|
TREE_DECLARATION,
|
|
14201
14237
|
TREE_PANEL_ID,
|
|
14202
14238
|
TREE_RUNTIME_UNITS,
|
|
@@ -14205,11 +14241,15 @@ export {
|
|
|
14205
14241
|
TreeIcon,
|
|
14206
14242
|
TreePanelView,
|
|
14207
14243
|
TreeScroller,
|
|
14244
|
+
BEHAVIOURS6 as VIEWPORT_BEHAVIOURS,
|
|
14245
|
+
VIEWPORT_DECLARATION,
|
|
14208
14246
|
VIEWPORT_PANEL_ID,
|
|
14247
|
+
VIEWPORT_RUNTIME_UNITS,
|
|
14209
14248
|
VIEWPORT_SLOTS,
|
|
14210
14249
|
VIEW_STATE_OPS,
|
|
14211
14250
|
ViewportController,
|
|
14212
14251
|
ViewportPanelView,
|
|
14252
|
+
ViewportSurface,
|
|
14213
14253
|
XenoCurveScale,
|
|
14214
14254
|
XenoGraphScale,
|
|
14215
14255
|
XenoNodeIndex,
|
|
@@ -14404,6 +14444,9 @@ export {
|
|
|
14404
14444
|
valuesEqual,
|
|
14405
14445
|
viewportManifest,
|
|
14406
14446
|
viewportPanel,
|
|
14447
|
+
viewportRuntimeComponents,
|
|
14448
|
+
viewportViewManifest,
|
|
14449
|
+
viewportViewState,
|
|
14407
14450
|
visibleEdges,
|
|
14408
14451
|
walkTree,
|
|
14409
14452
|
wheelZoomFactor,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xenosystem/blocks",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.27",
|
|
4
4
|
"description": "XENO Blocks — rung 3 of the front ladder: components composed into a contract-bearing unit (manifest: ports, intents, commands, agent surface), rendered by @xenosystem/workbench. ONE package, one subpath per family (/auth, /edit, /data, /time, /ops, /trust, /agent), one named export per block — XENO PACKAGE NAMING - STANDARD.md.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"peerDependencies": {
|
|
65
65
|
"@duckdb/duckdb-wasm": ">=1.28.0",
|
|
66
66
|
"@xenosystem/block-sdk": ">=0.3.4 <1",
|
|
67
|
-
"@xenosystem/components": ">=0.
|
|
67
|
+
"@xenosystem/components": ">=0.29.1 <1",
|
|
68
68
|
"@xenosystem/data-core": "^0.1.0",
|
|
69
69
|
"@xenosystem/elements": ">=0.0.1",
|
|
70
70
|
"@xenosystem/elements-react": ">=0.0.1",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"@types/react": "^19.0.0",
|
|
82
82
|
"@types/react-dom": "^19.0.0",
|
|
83
83
|
"@xenosystem/block-sdk": "^0.3.4",
|
|
84
|
-
"@xenosystem/components": "^0.
|
|
84
|
+
"@xenosystem/components": "^0.29.1",
|
|
85
85
|
"@xenosystem/data-core": "^0.1.0",
|
|
86
86
|
"@xenosystem/elements": "0.0.1",
|
|
87
87
|
"@xenosystem/elements-react": "0.0.1",
|