@weasel-js/labkit 1.5.2 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -7
- package/dist/_dts/{CanvasStackContext-CMMo180l.d.ts → CanvasStackContext-Wo6OwIVM.d.ts} +1 -1
- package/dist/_dts/FloatingPanel-7j0IcXwz.d.ts +30 -0
- package/dist/_dts/LayerList.d-BoELAMsM.d.ts +83 -0
- package/dist/_dts/{PrefsForm.d-DPy9I8It.d.ts → PrefsRow.d-DFpPIeIC.d.ts} +16 -1
- package/dist/_dts/PropertyField.d-D0ndfIIt.d.ts +404 -0
- package/dist/_dts/{Select.d-ZTiwzYyT.d.ts → Select.d-Cr8-zoup.d.ts} +105 -15
- package/dist/_dts/{usePanZoom-SSTZe410.d.ts → Stage-DWBBi8IU.d.ts} +80 -35
- package/dist/_dts/{index-DlKolEIZ.d.ts → index-CKyX0ME_.d.ts} +12 -13
- package/dist/_dts/{frac-B4hFJMiN.d.ts → types-B7yBTTF9.d.ts} +709 -651
- package/dist/_dts/{types-Db-3NNk1.d.ts → types-DTuViBvc.d.ts} +21 -2
- package/dist/_dts/{useTrialState-pnAE-UBD.d.ts → useTrialState-CMaV6UD4.d.ts} +2 -3
- package/dist/canvas/index.d.ts +41 -8
- package/dist/canvas/index.js +5 -3
- package/dist/chrome/index.d.ts +6 -6
- package/dist/chrome/index.js +9 -7
- package/dist/chunk-24W5VEJW.js +18 -0
- package/dist/chunk-24W5VEJW.js.map +1 -0
- package/dist/chunk-2RVCB2PT.js +3 -0
- package/dist/chunk-2RVCB2PT.js.map +1 -0
- package/dist/chunk-3RY6WL5T.js +38 -0
- package/dist/chunk-3RY6WL5T.js.map +1 -0
- package/dist/{chunk-CKUKF72R.js → chunk-4TT3PNPR.js} +68 -55
- package/dist/chunk-4TT3PNPR.js.map +1 -0
- package/dist/{chunk-KJCUERQF.js → chunk-6FLXL3I7.js} +9 -164
- package/dist/chunk-6FLXL3I7.js.map +1 -0
- package/dist/chunk-ASOK76ZH.js +431 -0
- package/dist/chunk-ASOK76ZH.js.map +1 -0
- package/dist/chunk-AWQG7FCC.js +19 -0
- package/dist/chunk-AWQG7FCC.js.map +1 -0
- package/dist/chunk-CGHF6RZV.js +300 -0
- package/dist/chunk-CGHF6RZV.js.map +1 -0
- package/dist/chunk-DWMSB4CA.js +228 -0
- package/dist/chunk-DWMSB4CA.js.map +1 -0
- package/dist/chunk-GHGO52SO.js +92 -0
- package/dist/chunk-GHGO52SO.js.map +1 -0
- package/dist/{chunk-LRI3MBGR.js → chunk-HKV7LRHY.js} +4 -4
- package/dist/{chunk-LRI3MBGR.js.map → chunk-HKV7LRHY.js.map} +1 -1
- package/dist/{chunk-EMXAIRUJ.js → chunk-IRTGUQ5O.js} +5 -4
- package/dist/chunk-IRTGUQ5O.js.map +1 -0
- package/dist/{chunk-H6ZAOWNE.js → chunk-JVBYV6TL.js} +3 -3
- package/dist/{chunk-H6ZAOWNE.js.map → chunk-JVBYV6TL.js.map} +1 -1
- package/dist/chunk-KHK5FGER.js +145 -0
- package/dist/chunk-KHK5FGER.js.map +1 -0
- package/dist/chunk-NEXR37YJ.js +144 -0
- package/dist/chunk-NEXR37YJ.js.map +1 -0
- package/dist/{chunk-A2ACAGW6.js → chunk-O6FFFOHS.js} +32 -7
- package/dist/chunk-O6FFFOHS.js.map +1 -0
- package/dist/chunk-QGMOA2YE.js +731 -0
- package/dist/chunk-QGMOA2YE.js.map +1 -0
- package/dist/{chunk-ERFMC6WU.js → chunk-S4NCI32V.js} +19 -10
- package/dist/chunk-S4NCI32V.js.map +1 -0
- package/dist/{chunk-753Y6HE6.js → chunk-SLAQPUI4.js} +4 -4
- package/dist/chunk-SLAQPUI4.js.map +1 -0
- package/dist/{chunk-REOBGYMC.js → chunk-TJ77A4A3.js} +3 -5
- package/dist/chunk-TJ77A4A3.js.map +1 -0
- package/dist/chunk-TYN6MLXX.js +13864 -0
- package/dist/chunk-TYN6MLXX.js.map +1 -0
- package/dist/{chunk-RS3HRQWU.js → chunk-WPLAANH4.js} +4 -3
- package/dist/chunk-WPLAANH4.js.map +1 -0
- package/dist/config/index.d.ts +51 -7
- package/dist/config/index.js +4 -5
- package/dist/controls/index.d.ts +92 -5
- package/dist/controls/index.js +5 -4
- package/dist/dragdrop/index.d.ts +9 -6
- package/dist/dragdrop/index.js +3 -2
- package/dist/index.d.ts +108 -154
- package/dist/index.js +456 -600
- package/dist/index.js.map +1 -1
- package/dist/layers/index.d.ts +5 -35
- package/dist/layers/index.js +3 -3
- package/dist/loupe/index.d.ts +21 -17
- package/dist/loupe/index.js +5 -3
- package/dist/overview/index.d.ts +56 -0
- package/dist/overview/index.js +288 -0
- package/dist/overview/index.js.map +1 -0
- package/dist/passthrough/weasel-ui.d.ts +434 -231
- package/dist/passthrough/weasel-ui.js +2 -1
- package/dist/primitives/index.d.ts +19 -54
- package/dist/primitives/index.js +6 -4
- package/dist/state/index.d.ts +8 -7
- package/dist/state/index.js +4 -5
- package/dist/state/index.js.map +1 -1
- package/dist/styles.css +360 -174
- package/dist/undo/index.d.ts +5 -4
- package/package.json +13 -13
- package/src/annotations/frac.test.ts +7 -0
- package/src/annotations/index.ts +1 -0
- package/src/annotations/paint.test.ts +21 -0
- package/src/annotations/paint.ts +12 -0
- package/src/annotations/store.test.ts +57 -0
- package/src/annotations/store.ts +25 -6
- package/src/annotations/toolMap.test.ts +37 -2
- package/src/annotations/toolMap.ts +13 -0
- package/src/annotations/types.ts +30 -2
- package/src/canvas/AGENTS.md +8 -10
- package/src/canvas/CameraInput.test.tsx +136 -0
- package/src/canvas/CameraInput.tsx +311 -0
- package/src/canvas/CanvasStack.tsx +42 -58
- package/src/canvas/LinkedCursor.less +16 -0
- package/src/canvas/LinkedCursor.tsx +54 -0
- package/src/canvas/Stage.test.tsx +18 -0
- package/src/canvas/Stage.tsx +42 -37
- package/src/canvas/cameraView.test.ts +60 -0
- package/src/canvas/cameraView.ts +61 -0
- package/src/canvas/index.ts +11 -2
- package/src/chrome/regions/SidebarRegion.less +197 -0
- package/src/chrome/regions/SidebarRegion.test.tsx +27 -0
- package/src/chrome/regions/SidebarRegion.tsx +7 -2
- package/src/chrome/types.ts +5 -2
- package/src/config/autoConfig.ts +2 -2
- package/src/config/builder.ts +21 -2
- package/src/config/entry.test.ts +10 -0
- package/src/config/fromConfigField.ts +1 -0
- package/src/config/index.ts +5 -0
- package/src/config/resolve.ts +11 -1
- package/src/config/rules.ts +2 -0
- package/src/config/sectionTree.test.ts +152 -0
- package/src/config/sectionTree.ts +134 -0
- package/src/config/types.ts +21 -0
- package/src/controls/ControlPanel.less +4 -0
- package/src/controls/ControlPanel.stories.tsx +55 -2
- package/src/controls/ControlPanel.test.tsx +40 -3
- package/src/controls/ControlPanel.tsx +134 -336
- package/src/controls/inDialog.test.tsx +100 -0
- package/src/controls/inDialog.tsx +38 -0
- package/src/controls/index.ts +1 -0
- package/src/index.test.ts +1 -1
- package/src/index.ts +18 -29
- package/src/instrument/SineWave.smoke.test.tsx +2 -0
- package/src/instrument/types.ts +15 -3
- package/src/lab/Lab.nebula.test.tsx +40 -0
- package/src/lab/Lab.test.tsx +3 -1
- package/src/lab/Lab.tsx +42 -19
- package/src/lab/LabBoundary.test.tsx +66 -0
- package/src/lab/LabBoundary.tsx +56 -0
- package/src/lab/LabHeader.tsx +4 -23
- package/src/lab/LabRoot.tsx +2 -3
- package/src/lab/LabShell.less +0 -1
- package/src/lab/LabShell.stories.tsx +15 -0
- package/src/lab/LabShell.test.tsx +18 -0
- package/src/lab/LabShell.tsx +14 -1
- package/src/lab/LabSwitcher.less +1 -1
- package/src/lab/LabSwitcher.test.tsx +41 -0
- package/src/lab/LabSwitcher.tsx +30 -8
- package/src/lab/index.ts +1 -0
- package/src/layers/AGENTS.md +18 -74
- package/src/layers/index.ts +4 -2
- package/src/loupe/AGENTS.md +7 -6
- package/src/loupe/LoupeGestures.tsx +14 -9
- package/src/loupe/TrialLoupe.tsx +5 -5
- package/src/loupe/index.ts +1 -0
- package/src/loupe/loupeActions.ts +6 -2
- package/src/overview/AGENTS.md +38 -0
- package/src/overview/OverviewMarks.test.tsx +100 -0
- package/src/overview/OverviewMarks.tsx +93 -0
- package/src/overview/TrialOverview.less +53 -0
- package/src/overview/TrialOverview.stories.tsx +50 -0
- package/src/overview/TrialOverview.test.tsx +116 -0
- package/src/overview/TrialOverview.tsx +374 -0
- package/src/overview/index.ts +2 -0
- package/src/passthrough/weasel-ui.ts +32 -10
- package/src/primitives/index.ts +0 -2
- package/src/specimen/Specimen.tsx +59 -56
- package/src/state/labRecords.test.ts +4 -1
- package/src/state/store.test.ts +4 -4
- package/src/state/types.ts +2 -1
- package/src/state/useTrialState.test.tsx +1 -1
- package/src/styles.less +6 -2
- package/src/theme/Interstellar.stories.tsx +8 -13
- package/src/theme/base.less +3 -20
- package/src/theme/interstellar.test.ts +6 -3
- package/src/theme/interstellar.theme.json +0 -56
- package/src/theme/interstellar.ts +2 -2
- package/src/tools/labTool.ts +6 -2
- package/src/trial/Trial.annotations.test.tsx +16 -0
- package/src/trial/Trial.canvas.test.tsx +1 -1
- package/src/trial/Trial.loupe.test.tsx +73 -1
- package/src/trial/Trial.stories.tsx +2 -0
- package/src/trial/Trial.tsx +47 -9
- package/src/trial/trialOps.test.ts +4 -4
- package/dist/_dts/index-8LiKe3A-.d.ts +0 -410
- package/dist/chunk-2AYGEN57.js +0 -32
- package/dist/chunk-2AYGEN57.js.map +0 -1
- package/dist/chunk-6BUQ77ZV.js +0 -18
- package/dist/chunk-6BUQ77ZV.js.map +0 -1
- package/dist/chunk-753Y6HE6.js.map +0 -1
- package/dist/chunk-A2ACAGW6.js.map +0 -1
- package/dist/chunk-CKUKF72R.js.map +0 -1
- package/dist/chunk-D35PFTS7.js +0 -170
- package/dist/chunk-D35PFTS7.js.map +0 -1
- package/dist/chunk-EMXAIRUJ.js.map +0 -1
- package/dist/chunk-ERFMC6WU.js.map +0 -1
- package/dist/chunk-FKLT3ITC.js +0 -590
- package/dist/chunk-FKLT3ITC.js.map +0 -1
- package/dist/chunk-KJCUERQF.js.map +0 -1
- package/dist/chunk-LASCBWW7.js +0 -13456
- package/dist/chunk-LASCBWW7.js.map +0 -1
- package/dist/chunk-REOBGYMC.js.map +0 -1
- package/dist/chunk-RS3HRQWU.js.map +0 -1
- package/dist/chunk-TT5C5S6R.js +0 -368
- package/dist/chunk-TT5C5S6R.js.map +0 -1
- package/dist/ui/layers/index.d.ts +0 -66
- package/dist/ui/layers/index.js +0 -3
- package/dist/ui/layers/index.js.map +0 -1
- package/src/canvas/usePanZoom.test.ts +0 -244
- package/src/canvas/usePanZoom.ts +0 -147
- package/src/lab/useSystemMode.ts +0 -30
- package/src/layers/LayerList.less +0 -93
- package/src/layers/LayerList.stories.tsx +0 -66
- package/src/layers/LayerList.test.tsx +0 -232
- package/src/layers/LayerList.tsx +0 -268
- package/src/primitives/Sidebar.less +0 -112
- package/src/primitives/Sidebar.stories.tsx +0 -38
- package/src/primitives/Sidebar.test.tsx +0 -74
- package/src/primitives/Sidebar.tsx +0 -35
- package/src/ui/layers/index.ts +0 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,46 +1,47 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { I as IconProps } from './_dts/Select.d-ZTiwzYyT.js';
|
|
3
|
-
export { B as Button, a as ButtonProps, b as ButtonSize, c as ButtonVariant, d as Icon, e as Input, f as InputProps, S as Select, g as SelectProps, T as ToggleBar, h as ToggleBarItem, i as ToggleBarProps, j as ToggleBarSize, k as ToggleBarVariant } from './_dts/Select.d-ZTiwzYyT.js';
|
|
4
|
-
export { LayerStack, LayerStackItem, LayerStackProps } from './ui/layers/index.js';
|
|
5
1
|
import * as react from 'react';
|
|
6
2
|
import { ReactNode } from 'react';
|
|
7
|
-
import {
|
|
8
|
-
export {
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
export {
|
|
13
|
-
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
export {
|
|
17
|
-
|
|
18
|
-
export {
|
|
3
|
+
import { I as IconProps } from './_dts/Select.d-Cr8-zoup.js';
|
|
4
|
+
export { B as Button, a as ButtonProps, b as ButtonSize, c as ButtonVariant, d as Icon, e as Input, f as InputProps, S as Select, g as SelectProps, T as ToggleBar, h as ToggleBarItem, i as ToggleBarProps, j as ToggleBarSize, k as ToggleBarVariant } from './_dts/Select.d-Cr8-zoup.js';
|
|
5
|
+
export { L as LayerList, a as LayerListItem, b as LayerListProps, c as LayerMove, m as moveLayers } from './_dts/LayerList.d-BoELAMsM.js';
|
|
6
|
+
import { a as PropertyListPack } from './_dts/PropertyField.d-D0ndfIIt.js';
|
|
7
|
+
import { PropertyMetricProps } from './passthrough/weasel-ui.js';
|
|
8
|
+
export { b as PropertyControl, c as PropertyControlProps, d as PropertyField, e as PropertyFieldProps, f as PropertyList, g as PropertyListProps, h as PropertyOption, i as PropertyPanel, j as PropertyPanelProps, k as PropertyRow, l as PropertyRowLayout, m as PropertyRowProps, n as PropertyRowVariant, o as PropertySpan, p as PropertySpanProps } from './_dts/PropertyField.d-D0ndfIIt.js';
|
|
9
|
+
import { StanceProps } from './passthrough/weasel-ui.js';
|
|
10
|
+
import { SceneNode, View, DrawCommand, Path, FillStyle, ScreenLength, StrokeAlign, StyledRun, TextStyle, TextVerticalAlign, Stroke, BuiltinToolId } from '@weasel-js/core';
|
|
11
|
+
import { A as AnnotationMeaning, w as AnnotationData, x as WorldRect, y as MarkStyle, z as MarkScene, B as CaptureSource, E as CaptureOptions, F as CaptureResult, G as PaintableMark, H as AnnotationTarget, J as AnnotationsApi, K as AnnotationsCapability, N as TrialInfo, O as TrialTool, Q as AnnotationKind, b as ViewTransform, R as Instrument, t as InstrumentList, s as LabMode, X as LabDensity, Y as TrialContribution, c as StorageAdapter, T as TrialRecord } from './_dts/types-B7yBTTF9.js';
|
|
12
|
+
export { Z as Annotation, _ as AnnotationInit, $ as AnnotationPatch, a0 as AnnotationQuery, a1 as AnnotationStatus, a2 as AnnotationStoreOptions, a3 as AnnotationTargetInfo, a4 as AnnotationToolId, a5 as Auto, a6 as CanvasCapability, a7 as CanvasLayer, a8 as CaptureDeps, a9 as ContributionBase, C as CreateLabStoreOptions, D as DEFAULT_FRAME, q as DragDropCapability, o as DragFeedback, aa as FracPoint, ab as FracRect, ac as HitResult, ad as IconComponent, ae as LOUPE_DEFAULTS, d as LabDocument, e as LabStoreState, L as LayerCapability, a as LayerDescriptor, af as LoupeCapability, ag as LoupeDeclaration, ah as LoupeMode, ai as LoupePoint, aj as LoupeRenderArgs, n as PaletteItem, P as Point, ak as RegionContribution, al as RenderContext, am as ResolvedLoupe, f as SavedSnapshot, an as SerializedAnnotations, S as SerializedTrial, ao as SidebarSection, ap as SidebarSlotContext, aq as StageCapability, ar as StatusReadout, g as StorageChange, as as SystemEvent, at as ToolCapability, au as ToolItem, av as ToolSlotContext, aw as ToolbarItem, ax as TrialChromeContext, ay as TrialRegion, h as TrialStateHandle, az as UndoCapability, U as UndoStack, i as UndockedPanel, j as UndockedPanels, aA as ViewportControl, V as ViewportSize, W as WorldFrame, l as WorldSpec, aB as annotationsFromJSON, m as applyCamera, aC as auto, aD as createAnnotationScene, aE as createAnnotationStore, k as dockPanel, aF as fracContains, aG as fracEncloses, aH as fracToWorld, aI as isAuto, aJ as markCommands, p as panelKey, r as resolveFrame, aK as resolveLoupe, aL as roundFrac, u as undockPanel, aM as worldToFrac } from './_dts/types-B7yBTTF9.js';
|
|
13
|
+
export { C as CameraContext, a as CameraContextValue, b as CameraInput, d as CameraScope, g as CanvasStack, h as CanvasStackProps, i as Stage, j as StageProps, Z as ZoomAtOptions, k as centerOn, l as fitStage, s as screenToWorld, w as worldToScreen, z as zoomAt } from './_dts/Stage-DWBBi8IU.js';
|
|
14
|
+
export { C as CanvasLayerDescriptor, a as CanvasStackContext, b as CanvasStackContextValue, c as CanvasStackSurface } from './_dts/CanvasStackContext-Wo6OwIVM.js';
|
|
15
|
+
import { L as LabContribution } from './_dts/index-CKyX0ME_.js';
|
|
16
|
+
export { A as AddTrialOptions, a as LabAsideRegion, b as LabChromeContext, c as LabContext, d as LabContextValue, e as LabFooterRegion, f as LabHeaderRegion, g as LabRegion, h as LabRegionProps, i as LabSidebarRegion, P as PaletteRegion, j as PaletteRegionProps, S as SidebarRegion, k as SidebarRegionProps, l as StatusRegion, m as StatusRegionProps, T as TitleBarPlacement, n as TitleBarRegion, o as TitleBarRegionProps, p as ToolbarRegion, q as ToolbarRegionProps, V as ViewportRegion, r as ViewportRegionProps, s as addTrial, t as builtinContributions, u as cloneTrial, v as closeTrial, w as contributionsIn, x as labContributions, y as mergeContributions, z as reorderTrials, B as resetTrial, C as suppressContributions, D as toolContributions, E as useLabChromeContext, F as useLabContext } from './_dts/index-CKyX0ME_.js';
|
|
17
|
+
export { BaseNode, BooleanNode, ColorNode, CustomNode, EnumNode, GroupNode, ListNode, NumberNode, SectionTree, StringNode, ValueNode, applyRules, autoPathsOf, builtinRules, f, fillConfigDefaults, fromConfigFields, hasConfigPath, isConfigBranch, isLeafVisible, resolveAutoConfig, resolveConfigSchema, schemaNodeAtPath, sectionTree, titleCase, useConfigSchema, useResolvedConfig, valueAtPath, withValueAtPath } from './config/index.js';
|
|
18
|
+
import { b as ConfigSchema, a as ConfigField, c as ConfigRule, d as ControlRenderer } from './_dts/types-DTuViBvc.js';
|
|
19
|
+
export { A as Annotations, B as BranchAnnotations, e as BranchOptions, f as CheckboxField, g as ColorField, h as ConfigBranch, i as ConfigEntry, j as ConfigFieldBase, k as ConfigFieldType, l as ConfigNode, m as ConfigOf, n as ConfigOption, C as ConfigPath, o as ConfigRuleContext, p as ConfigShape, D as DialogSpec, E as EntryValue, I as InDialogOptions, q as InferConfig, L as LeafPatch, N as NodeOptions, r as NodeValue, s as NumberField, R as ResolvedConfig, S as SectionOption, t as SectionSpec, u as SelectField, v as SelectOption, w as SliderField, T as TextField, V as ValueAtPath } from './_dts/types-DTuViBvc.js';
|
|
20
|
+
export { ControlPanel, inDialog, summarizeValue } from './controls/index.js';
|
|
19
21
|
import { J as JobHandle } from './_dts/types-DJ79Tg5J.js';
|
|
20
22
|
export { a as JobCapability, b as JobEvent, c as JobFailure, d as JobStatus } from './_dts/types-DJ79Tg5J.js';
|
|
21
23
|
export { UseJobOptions, useJob } from './job/index.js';
|
|
22
|
-
|
|
24
|
+
import { Theme, ColorList } from '@weasel-js/theme';
|
|
23
25
|
export { CanvasLoupe, CanvasLoupeProps, DomLoupe, DomLoupeProps, LOUPE_MAGNIFY_ID, LOUPE_PEEK_ID, LensCamera, LoupeBubble, LoupeBubbleProps, LoupeGestures, LoupeGesturesProps, LoupeInputApi, LoupeState, SourceRect, TrialLoupe, TrialLoupeProps, UseLoupeOptions, createLoupeActions, drawCanvasLens, lensCamera, lensSourceRect, sampleStack, useLoupe } from './loupe/index.js';
|
|
26
|
+
export { a as FloatingPanel, F as FloatingPanelProps } from './_dts/FloatingPanel-7j0IcXwz.js';
|
|
24
27
|
import { SplitProps } from './primitives/index.js';
|
|
25
|
-
export {
|
|
26
|
-
export { C as CURRENT_DOCUMENT_VERSION, I as IndexedDbAdapterOptions, b as LabStoreContext, c as LabStoreProvider, O as OpenLabStoreOptions, d as OpenedLabStore, P as PersistedStateOptions, e as Persistence, f as PersistenceProps, R as RecordCache, g as RecordChange, T as TrialIdContext, h as TrialIdProvider, i as createIndexedDbAdapter, k as createMemoryAdapter, l as indexedDbAdapter, m as labDocumentKey, n as localStorageAdapter, o as noneAdapter, p as openLabStore, q as quarantineKey, s as sessionStorageAdapter, u as urlHashAdapter, r as useLabStore, t as usePersistedState, v as useTrialId, w as useTrialState } from './_dts/useTrialState-
|
|
28
|
+
export { FpsMeter, JobProgress, JobProgressProps, Legend, LegendEntry, LegendMark, LegendProps, ScaleIndicator, ScaleIndicatorProps, Split, StatusBar, StatusBarProps, StatusBarSectionProps, Toolbar, ToolbarButtonProps, ToolbarGroupProps, ToolbarProps, ZoomControl, ZoomControlProps } from './primitives/index.js';
|
|
29
|
+
export { C as CURRENT_DOCUMENT_VERSION, I as IndexedDbAdapterOptions, b as LabStoreContext, c as LabStoreProvider, O as OpenLabStoreOptions, d as OpenedLabStore, P as PersistedStateOptions, e as Persistence, f as PersistenceProps, R as RecordCache, g as RecordChange, T as TrialIdContext, h as TrialIdProvider, i as createIndexedDbAdapter, k as createMemoryAdapter, l as indexedDbAdapter, m as labDocumentKey, n as localStorageAdapter, o as noneAdapter, p as openLabStore, q as quarantineKey, s as sessionStorageAdapter, u as urlHashAdapter, r as useLabStore, t as usePersistedState, v as useTrialId, w as useTrialState } from './_dts/useTrialState-CMaV6UD4.js';
|
|
27
30
|
export { Box, Rect, SurfaceCanvasContext, SurfaceCanvases, SurfaceClear, SurfaceContext, SurfaceFrame, SurfaceHandle, SurfaceLayer, TilePainter, UseTiledSurfaceOptions, composeRects, rectsEqual, toDeviceRect, useSurface, useSurfaceCanvas, useSurfaceOptional, useSurfaceTile, useTileId, useTiledSurface } from './surface/index.js';
|
|
28
|
-
import { Theme } from '@weasel-js/theme';
|
|
29
31
|
export { EventBus, EventListener, clearUndo, createEventBus, emptyStack, pushSnapshot, redo, undo } from './undo/index.js';
|
|
30
32
|
import 'react-aria-components';
|
|
31
|
-
import './_dts/PrefsForm.d-DPy9I8It.js';
|
|
32
33
|
import 'windease';
|
|
33
34
|
import 'zustand/vanilla';
|
|
34
35
|
|
|
35
|
-
declare const ResetIcon: (p: IconProps) =>
|
|
36
|
-
declare const CloseIcon: (p: IconProps) =>
|
|
37
|
-
declare const PlayIcon: (p: IconProps) =>
|
|
38
|
-
declare const PauseIcon: (p: IconProps) =>
|
|
39
|
-
declare const StopIcon: (p: IconProps) =>
|
|
40
|
-
declare const StepBackIcon: (p: IconProps) =>
|
|
41
|
-
declare const StepForwardIcon: (p: IconProps) =>
|
|
42
|
-
declare const CollapseIcon: (p: IconProps) =>
|
|
43
|
-
declare const ExpandIcon: (p: IconProps) =>
|
|
36
|
+
declare const ResetIcon: (p: IconProps) => react.JSX.Element;
|
|
37
|
+
declare const CloseIcon: (p: IconProps) => react.JSX.Element;
|
|
38
|
+
declare const PlayIcon: (p: IconProps) => react.JSX.Element;
|
|
39
|
+
declare const PauseIcon: (p: IconProps) => react.JSX.Element;
|
|
40
|
+
declare const StopIcon: (p: IconProps) => react.JSX.Element;
|
|
41
|
+
declare const StepBackIcon: (p: IconProps) => react.JSX.Element;
|
|
42
|
+
declare const StepForwardIcon: (p: IconProps) => react.JSX.Element;
|
|
43
|
+
declare const CollapseIcon: (p: IconProps) => react.JSX.Element;
|
|
44
|
+
declare const ExpandIcon: (p: IconProps) => react.JSX.Element;
|
|
44
45
|
|
|
45
46
|
/** An annotation drawn over a curve plot: a shaded band across a range of x,
|
|
46
47
|
* or a vertical line at one x. */
|
|
@@ -77,79 +78,16 @@ interface CurveFieldProps {
|
|
|
77
78
|
* `CurveEditor`; consumers wanting the raw editor (2D paths,
|
|
78
79
|
* custom anchors) should import that instead.
|
|
79
80
|
*/
|
|
80
|
-
declare function CurveField({ values, min, max, step, width, height, defaults, onChange, marks, }: CurveFieldProps):
|
|
81
|
-
|
|
82
|
-
/** Props for `<Subpanel>`. */
|
|
83
|
-
interface SubpanelProps extends PropertyMetricProps {
|
|
84
|
-
title: ReactNode;
|
|
85
|
-
children: ReactNode;
|
|
86
|
-
className?: string;
|
|
87
|
-
}
|
|
88
|
-
/** A typographic divider inside a property list: a small title flanked by a
|
|
89
|
-
* rule. Purely a heading — use `<PropertyGroup>` for a bordered section. */
|
|
90
|
-
declare function Subpanel({ title, children, className, density, align }: SubpanelProps): react_jsx_runtime.JSX.Element;
|
|
91
|
-
/** Props for `<EffectCard>`. */
|
|
92
|
-
interface EffectCardProps {
|
|
93
|
-
/** Card title rendered in the title bar (e.g. effect kind label or a select). */
|
|
94
|
-
title: ReactNode;
|
|
95
|
-
/** Optional badge/chip displayed before the remove button (e.g. primary value summary). */
|
|
96
|
-
primary?: ReactNode;
|
|
97
|
-
/** Optional accent color in any CSS color form. Sets --wzl-effect-card-accent on the card. */
|
|
98
|
-
accent?: string;
|
|
99
|
-
/** Optional ordinal badge that doubles as the drag handle (used by tail cards in SB). */
|
|
100
|
-
index?: number;
|
|
101
|
-
expanded?: boolean;
|
|
102
|
-
onToggleExpanded?: () => void;
|
|
103
|
-
onRemove?: () => void;
|
|
104
|
-
/**
|
|
105
|
-
* Drag-handle wiring. When provided, an inline handle (⋮⋮ icon or `index`)
|
|
106
|
-
* activates HTML5 drag on press. Consumer owns the drag/drop coordination —
|
|
107
|
-
* see EffectCardList for the batteries-included wrapper.
|
|
108
|
-
*/
|
|
109
|
-
draggable?: boolean;
|
|
110
|
-
onPressHandle?: () => void;
|
|
111
|
-
onReleaseHandle?: () => void;
|
|
112
|
-
onDragStart?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
113
|
-
onDragEnd?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
114
|
-
onDragOver?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
115
|
-
onDragLeave?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
116
|
-
onDrop?: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
117
|
-
dragging?: boolean;
|
|
118
|
-
children?: ReactNode;
|
|
119
|
-
className?: string;
|
|
120
|
-
}
|
|
121
|
-
/** An accented, collapsible card for one item in a list of like things —
|
|
122
|
-
* effects, layers, tails. The accent color rebinds the theme accent token
|
|
123
|
-
* within the card, so its controls pick it up too. */
|
|
124
|
-
declare function EffectCard({ title, primary, accent, index, expanded, onToggleExpanded, onRemove, draggable, onPressHandle, onReleaseHandle, onDragStart, onDragEnd, onDragOver, onDragLeave, onDrop, dragging, children, className, }: EffectCardProps): react_jsx_runtime.JSX.Element;
|
|
125
|
-
/** The minimum an item must carry to appear in an `<EffectCardList>`. */
|
|
126
|
-
interface EffectCardListItem {
|
|
127
|
-
id: string | number;
|
|
128
|
-
}
|
|
129
|
-
/** Props for `<EffectCardList>`. */
|
|
130
|
-
interface EffectCardListProps<T extends EffectCardListItem> {
|
|
131
|
-
items: ReadonlyArray<T>;
|
|
132
|
-
renderItem: (item: T, helpers: {
|
|
133
|
-
isExpanded: boolean;
|
|
134
|
-
isDragging: boolean;
|
|
135
|
-
toggleExpanded: () => void;
|
|
136
|
-
cardProps: Pick<EffectCardProps, 'expanded' | 'dragging' | 'draggable' | 'onToggleExpanded' | 'onPressHandle' | 'onReleaseHandle' | 'onDragStart' | 'onDragEnd' | 'onDragOver' | 'onDragLeave' | 'onDrop'>;
|
|
137
|
-
}) => ReactNode;
|
|
138
|
-
onReorder: (sourceId: T['id'], targetId: T['id'], position: 'before' | 'after') => void;
|
|
139
|
-
/** Optional rendered when the list is empty. */
|
|
140
|
-
empty?: ReactNode;
|
|
141
|
-
/** IDs to render expanded on first mount. Defaults to all collapsed. */
|
|
142
|
-
defaultExpandedIds?: ReadonlyArray<T['id']>;
|
|
143
|
-
}
|
|
144
|
-
/** A drag-reorderable list of `<EffectCard>`s. Owns the expanded and dragging
|
|
145
|
-
* state and hands it back to `renderItem`, so the caller only supplies each
|
|
146
|
-
* card's contents. */
|
|
147
|
-
declare function EffectCardList<T extends EffectCardListItem>({ items, renderItem, onReorder, empty, defaultExpandedIds, }: EffectCardListProps<T>): react_jsx_runtime.JSX.Element;
|
|
81
|
+
declare function CurveField({ values, min, max, step, width, height, defaults, onChange, marks, }: CurveFieldProps): react.JSX.Element;
|
|
148
82
|
|
|
149
83
|
/** Props for `<PropertyGroup>`. */
|
|
150
|
-
interface PropertyGroupProps extends PropertyMetricProps {
|
|
84
|
+
interface PropertyGroupProps extends PropertyMetricProps, StanceProps {
|
|
151
85
|
/** Title rendered between two rules at the top of the group. */
|
|
152
86
|
title: ReactNode;
|
|
87
|
+
/** Before the title: a drag handle, an ordinal. Clicks here do not fold the group. */
|
|
88
|
+
leading?: ReactNode;
|
|
89
|
+
/** After the title: a summary of the group's value, a remove button. Clicks here do not fold the group. */
|
|
90
|
+
actions?: ReactNode;
|
|
153
91
|
/** Help text for the whole group, drawn under the title and above the
|
|
154
92
|
* rows. `<PropertyRow description>` covers the per-row case. */
|
|
155
93
|
description?: ReactNode;
|
|
@@ -184,9 +122,24 @@ interface PropertyGroupProps extends PropertyMetricProps {
|
|
|
184
122
|
* inside a fill effect's controls).
|
|
185
123
|
*
|
|
186
124
|
* A collapsible group keeps its rows mounted and hides them, so a control's
|
|
187
|
-
* local state survives being folded away.
|
|
125
|
+
* local state survives being folded away. `stance` and `tone` work as on
|
|
126
|
+
* `<PropertyPanel>`; a tone also draws the group's leading edge in it, which
|
|
127
|
+
* is how a list of like groups — effects, tails — tells its members apart.
|
|
128
|
+
* `leading` and `actions` put a handle and controls in the title row, and the
|
|
129
|
+
* groups of a `<PropertyList>` reorder with `useReorderDragList`.
|
|
188
130
|
*/
|
|
189
|
-
declare function PropertyGroup({ title, description, hidden, collapsible, defaultCollapsed, collapsed, onCollapsedChange, children, className, span, pack, density, align, }: PropertyGroupProps):
|
|
131
|
+
declare function PropertyGroup({ title, leading, actions, description, hidden, collapsible, defaultCollapsed, collapsed, onCollapsedChange, children, className, span, pack, density, align, stance, tone, }: PropertyGroupProps): react.JSX.Element | null;
|
|
132
|
+
|
|
133
|
+
/** Props for `<Subpanel>`. */
|
|
134
|
+
interface SubpanelProps extends PropertyMetricProps, StanceProps {
|
|
135
|
+
title: ReactNode;
|
|
136
|
+
children: ReactNode;
|
|
137
|
+
className?: string;
|
|
138
|
+
}
|
|
139
|
+
/** A typographic divider inside a property list: a small title flanked by a
|
|
140
|
+
* rule. Purely a heading — use `<PropertyGroup>` for a bordered section. A
|
|
141
|
+
* stance or tone colors the title and rule. */
|
|
142
|
+
declare function Subpanel({ title, children, className, density, align, stance, tone }: SubpanelProps): react.JSX.Element;
|
|
190
143
|
|
|
191
144
|
/** A design token as `TokenPanel` edits it. */
|
|
192
145
|
interface TokenEntry {
|
|
@@ -264,7 +217,7 @@ interface TokenPanelProps {
|
|
|
264
217
|
* for a font weight, a curve beside a `cubic-bezier()`, a swatch beside a color,
|
|
265
218
|
* and text for everything else.
|
|
266
219
|
*/
|
|
267
|
-
declare function TokenPanel({ tokens, onChange, collapsed, onCollapsedChange, scales, onScaleChange, categorize, familySize, density, className, }: TokenPanelProps):
|
|
220
|
+
declare function TokenPanel({ tokens, onChange, collapsed, onCollapsedChange, scales, onScaleChange, categorize, familySize, density, className, }: TokenPanelProps): react.JSX.Element;
|
|
268
221
|
|
|
269
222
|
/** Props for {@link Jog}. */
|
|
270
223
|
interface JogProps {
|
|
@@ -291,34 +244,7 @@ interface JogProps {
|
|
|
291
244
|
*
|
|
292
245
|
* Named for the jog of jog/shuttle — moving one frame at a time, as against running at speed.
|
|
293
246
|
*/
|
|
294
|
-
declare function Jog(props: JogProps):
|
|
295
|
-
|
|
296
|
-
/** The subset of a mark's scene node this needs: where it is, and what it is. */
|
|
297
|
-
interface PaintableMark {
|
|
298
|
-
pose: WorldRect;
|
|
299
|
-
data: AnnotationData;
|
|
300
|
-
}
|
|
301
|
-
/** How a mark is drawn, as opposed to where. Resolved by the overlay from the
|
|
302
|
-
* instrument's vocabulary and the mark's own staleness. */
|
|
303
|
-
interface MarkStyle {
|
|
304
|
-
/** The status's color, or the default. */
|
|
305
|
-
color?: string;
|
|
306
|
-
/** A mark whose stored position no longer describes the picture. Drawn
|
|
307
|
-
* dashed rather than hidden: it still describes *something*, and dropping
|
|
308
|
-
* it would lose it. */
|
|
309
|
-
stale?: boolean;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* What one mark draws, in its target's world.
|
|
313
|
-
*
|
|
314
|
-
* Pure: a node and the target's content box in, draw commands out. Geometry
|
|
315
|
-
* that a bounding box cannot describe — a line's ends, a stroke's path — comes
|
|
316
|
-
* from `data.points`, which is in fractions like the bounds.
|
|
317
|
-
*/
|
|
318
|
-
declare function markCommands(m: PaintableMark, content: {
|
|
319
|
-
w: number;
|
|
320
|
-
h: number;
|
|
321
|
-
}, style?: MarkStyle): DrawCommand[];
|
|
247
|
+
declare function Jog(props: JogProps): react.JSX.Element;
|
|
322
248
|
|
|
323
249
|
/** What resolving a mark's appearance needs beyond the mark itself. */
|
|
324
250
|
interface MarkDrawOptions {
|
|
@@ -395,7 +321,7 @@ declare function captureTarget(args: CaptureArgs, opts?: CaptureOptions): Promis
|
|
|
395
321
|
* Reads the store through the hook the way `<MarkList>` does — the chrome
|
|
396
322
|
* context carries no instrument state and is not the route to it.
|
|
397
323
|
*/
|
|
398
|
-
declare function ExportMenu():
|
|
324
|
+
declare function ExportMenu(): react.JSX.Element | null;
|
|
399
325
|
|
|
400
326
|
/** Props for `<MarkList>`. */
|
|
401
327
|
interface MarkListProps {
|
|
@@ -410,7 +336,7 @@ interface MarkListProps {
|
|
|
410
336
|
*
|
|
411
337
|
* Reads the store through the hook, which re-renders on every mutation — so a
|
|
412
338
|
* mark drawn on a pane appears here without anything wiring the two. */
|
|
413
|
-
declare function MarkList({ meaning, config }: MarkListProps):
|
|
339
|
+
declare function MarkList({ meaning, config }: MarkListProps): react.JSX.Element;
|
|
414
340
|
|
|
415
341
|
/**
|
|
416
342
|
* Whether a stored mark still describes the picture the current config
|
|
@@ -732,7 +658,7 @@ interface AnnotationTargetsProps {
|
|
|
732
658
|
activeToolId: string | null;
|
|
733
659
|
}
|
|
734
660
|
/** One overlay per region the instrument said accepts marks. */
|
|
735
|
-
declare function AnnotationTargets({ capability, state, config, trial, annotations, activeToolId, }: AnnotationTargetsProps):
|
|
661
|
+
declare function AnnotationTargets({ capability, state, config, trial, annotations, activeToolId, }: AnnotationTargetsProps): react.JSX.Element;
|
|
736
662
|
|
|
737
663
|
/** Which weasel tool an annotation tool drives, and what kind of mark that
|
|
738
664
|
* makes. `select` makes none. */
|
|
@@ -815,7 +741,8 @@ declare function validateConfigSchema(fields: ConfigField[]): ValidationResult;
|
|
|
815
741
|
|
|
816
742
|
/** One page in a project's set of labs. */
|
|
817
743
|
interface LabPage {
|
|
818
|
-
/** The page's own URL, and how the switcher knows which page is open.
|
|
744
|
+
/** The page's own URL, and how the switcher knows which page is open. A
|
|
745
|
+
* hash route (`#/dev/tools`) names a page on the current document. */
|
|
819
746
|
href: string;
|
|
820
747
|
label: string;
|
|
821
748
|
}
|
|
@@ -834,7 +761,11 @@ interface LabSwitcherProps {
|
|
|
834
761
|
* Matched on the end of the path so a query string, a trailing slash or a
|
|
835
762
|
* leftover `.html` cannot lose it: a project whose dev server maps `/stats`
|
|
836
763
|
* to `stats.html` serves both spellings, and a bookmark from before the URLs
|
|
837
|
-
* lost their extension still resolves to the same page.
|
|
764
|
+
* lost their extension still resolves to the same page.
|
|
765
|
+
*
|
|
766
|
+
* A page whose `href` carries a hash is a route on a single document and wins
|
|
767
|
+
* when the path's hash is that route or one under it. A page without one
|
|
768
|
+
* ignores the hash, so an in-page anchor does not lose it. */
|
|
838
769
|
declare function currentPage(path: string, pages: readonly LabPage[]): number;
|
|
839
770
|
/** A project's lab title, doubling as the way to reach its other labs.
|
|
840
771
|
*
|
|
@@ -846,7 +777,7 @@ declare function currentPage(path: string, pages: readonly LabPage[]): number;
|
|
|
846
777
|
*
|
|
847
778
|
* Pages accumulate -- a project grows a wall, a dashboard, an ingest page, a
|
|
848
779
|
* bench -- and a tab strip is the layout that stops working first. */
|
|
849
|
-
declare function LabSwitcher({ title, pages, path, className }: LabSwitcherProps):
|
|
780
|
+
declare function LabSwitcher({ title, pages, path, className }: LabSwitcherProps): react.JSX.Element;
|
|
850
781
|
|
|
851
782
|
interface LabBaseProps {
|
|
852
783
|
/** May change while mounted. An instrument that is a different object from
|
|
@@ -859,15 +790,20 @@ interface LabBaseProps {
|
|
|
859
790
|
* window is the whole app, rather than a panel beside one, reads better at
|
|
860
791
|
* `'roomy'`. The trials' own contents are unaffected. */
|
|
861
792
|
density?: LabDensity;
|
|
793
|
+
/** The theme the lab's chrome resolves against, applied at `mode` and
|
|
794
|
+
* `density`. Default `interstellarTheme`; extend it rather than replace it to
|
|
795
|
+
* keep the lab's look while changing a few tokens. */
|
|
796
|
+
theme?: Theme;
|
|
862
797
|
/** Rendered while a stored lab loads. Default: the lab's empty shell. */
|
|
863
798
|
fallback?: ReactNode;
|
|
864
799
|
/**
|
|
865
|
-
*
|
|
866
|
-
*
|
|
867
|
-
*
|
|
868
|
-
*
|
|
800
|
+
* Colors composing the interstellar theme's cosmic backdrop. Each becomes
|
|
801
|
+
* one radial-gradient blob on the dark void base, in a fixed spread of
|
|
802
|
+
* positions; extras wrap around. A theme ramp resolves against the lab's
|
|
803
|
+
* theme; a function list gives as many blobs as there are positions.
|
|
804
|
+
* Ignored unless the resolved mode is dark.
|
|
869
805
|
*/
|
|
870
|
-
nebula?:
|
|
806
|
+
nebula?: ColorList;
|
|
871
807
|
title?: string;
|
|
872
808
|
/** The project's other labs. Given two or more, the title becomes the way to
|
|
873
809
|
* reach them — the same switcher `<LabShell>` renders, so a lab reached from
|
|
@@ -914,7 +850,22 @@ type LabProps = LabBaseProps & ({
|
|
|
914
850
|
});
|
|
915
851
|
/** The lab runtime: opens the store, provides it, and renders one trial
|
|
916
852
|
* per record in a grid. Each trial runs one of `instruments`. */
|
|
917
|
-
declare function Lab(props: LabProps): string | number | bigint | boolean |
|
|
853
|
+
declare function Lab(props: LabProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react.JSX.Element | null;
|
|
854
|
+
|
|
855
|
+
/** Props for `<LabBoundary>`. */
|
|
856
|
+
interface LabBoundaryProps {
|
|
857
|
+
children: ReactNode;
|
|
858
|
+
}
|
|
859
|
+
/**
|
|
860
|
+
* Renders its children as though no lab, trial or theme were above them: every context a `<Lab>` or a
|
|
861
|
+
* `<Trial>` publishes reads as absent below it, so a labkit piece mounted inside a trial behaves the way it
|
|
862
|
+
* does on a bare page. A `<LabRoot>` under it applies its own theme instead of deferring to the lab's, and a
|
|
863
|
+
* `usePersistedState` under it keeps local state instead of writing into the enclosing lab's records.
|
|
864
|
+
*
|
|
865
|
+
* For a host that shows arbitrary content inside a trial, such as a component workshop; a lab's own chrome
|
|
866
|
+
* never needs it.
|
|
867
|
+
*/
|
|
868
|
+
declare function LabBoundary({ children }: LabBoundaryProps): react.JSX.Element;
|
|
918
869
|
|
|
919
870
|
/** Props for `<LabPalette>`. */
|
|
920
871
|
interface LabPaletteProps {
|
|
@@ -926,7 +877,7 @@ interface LabPaletteProps {
|
|
|
926
877
|
/** The lab's tool rail. Writes the lab's tool slot, which every trial whose
|
|
927
878
|
* instrument declares no tools of its own resolves to. Renders nothing when
|
|
928
879
|
* the lab contributes no tool rail. */
|
|
929
|
-
declare function LabPalette({ tools, contributions }: LabPaletteProps):
|
|
880
|
+
declare function LabPalette({ tools, contributions }: LabPaletteProps): react.JSX.Element;
|
|
930
881
|
|
|
931
882
|
/** Props for `<LabRoot>`. */
|
|
932
883
|
interface LabRootProps {
|
|
@@ -946,7 +897,7 @@ interface LabRootProps {
|
|
|
946
897
|
* or those components inherit whatever the host page happens to define.
|
|
947
898
|
* Pair it with `import '@weasel-js/labkit/styles.css'`, which is what defines
|
|
948
899
|
* the rules this element scopes. */
|
|
949
|
-
declare function LabRoot({ children, mode, className }: LabRootProps):
|
|
900
|
+
declare function LabRoot({ children, mode, className }: LabRootProps): react.JSX.Element;
|
|
950
901
|
|
|
951
902
|
/** Props for `<LabShell>`. */
|
|
952
903
|
interface LabShellProps {
|
|
@@ -964,11 +915,14 @@ interface LabShellProps {
|
|
|
964
915
|
/** The path the switcher reads to mark the open page. Defaults to the
|
|
965
916
|
* current location. */
|
|
966
917
|
path?: string;
|
|
918
|
+
/** Set as `document.title` while the shell is mounted, and the previous
|
|
919
|
+
* title restored after. Omitted, the document's title is left alone. */
|
|
920
|
+
documentTitle?: string;
|
|
967
921
|
}
|
|
968
922
|
/** Page frame for a lab: a titled header, a body, and an optional footer,
|
|
969
923
|
* themed for the resolved color mode. Presentational only — use `<Lab>` when
|
|
970
924
|
* the trial runtime is wanted too. */
|
|
971
|
-
declare function LabShell({ title, children, header, footer, mode, pages, path, }: LabShellProps):
|
|
925
|
+
declare function LabShell({ title, children, header, footer, mode, pages, path, documentTitle, }: LabShellProps): react.JSX.Element;
|
|
972
926
|
|
|
973
927
|
/** A tile's persisted extent, keyed by the id its caller gave it. Grid resizes
|
|
974
928
|
* write `span`; `size` is here because a strategy swap would write that. */
|
|
@@ -1030,7 +984,7 @@ interface PanelDescriptor {
|
|
|
1030
984
|
title: string;
|
|
1031
985
|
as: 'tile' | 'floating';
|
|
1032
986
|
}
|
|
1033
|
-
declare function Workspace({ children, ids, panels, resizable, reorderable, onReorder, layout, onLayoutChange, gap, padding, viewport, }: WorkspaceProps):
|
|
987
|
+
declare function Workspace({ children, ids, panels, resizable, reorderable, onReorder, layout, onLayoutChange, gap, padding, viewport, }: WorkspaceProps): react.JSX.Element;
|
|
1034
988
|
|
|
1035
989
|
/** The specimen's sections, in page order. */
|
|
1036
990
|
declare const SPECIMEN_SECTIONS: readonly ["Buttons & toggles", "Fields & pickers", "Panels & property rows", "Overlays & feedback", "Lists & data", "Tool chrome", "Editors & plots", "Lab chrome"];
|
|
@@ -1042,7 +996,7 @@ declare const SPECIMEN_SECTIONS: readonly ["Buttons & toggles", "Fields & picker
|
|
|
1042
996
|
*/
|
|
1043
997
|
declare function Specimen({ className }: {
|
|
1044
998
|
className?: string;
|
|
1045
|
-
}):
|
|
999
|
+
}): react.JSX.Element;
|
|
1046
1000
|
|
|
1047
1001
|
/** The 2D view labkit has always shipped, and what a trial gets when it names no
|
|
1048
1002
|
* other. Re-exported under its own name so a consumer can say which it means. */
|
|
@@ -1053,8 +1007,8 @@ declare const DEFAULT_VIEW: ViewTransform2D;
|
|
|
1053
1007
|
declare function as2DView(view: unknown): ViewTransform2D | null;
|
|
1054
1008
|
|
|
1055
1009
|
/**
|
|
1056
|
-
* labkit's theme: a cosmic dark
|
|
1057
|
-
*
|
|
1010
|
+
* labkit's theme: a cosmic dark over the built-in weasel theme, whose light
|
|
1011
|
+
* mode it keeps as is. A pins-only theme definition: nothing in it is
|
|
1058
1012
|
* derived, so it loads without the engine.
|
|
1059
1013
|
*/
|
|
1060
1014
|
declare const interstellarTheme: Theme;
|
|
@@ -1070,7 +1024,7 @@ interface TrialProps {
|
|
|
1070
1024
|
}
|
|
1071
1025
|
/** Renders one trial from the lab store: looks up its record and
|
|
1072
1026
|
* instrument, and mounts the instrument inside the trial chrome. */
|
|
1073
|
-
declare function Trial({ id, chrome, suppress }: TrialProps):
|
|
1027
|
+
declare function Trial({ id, chrome, suppress }: TrialProps): react.JSX.Element;
|
|
1074
1028
|
|
|
1075
1029
|
/** Props for `<TrialBody>`. */
|
|
1076
1030
|
interface TrialBodyProps extends Omit<SplitProps, 'sidebar' | 'children' | 'className' | 'sidebarClassName' | 'label'> {
|
|
@@ -1083,7 +1037,7 @@ interface TrialBodyProps extends Omit<SplitProps, 'sidebar' | 'children' | 'clas
|
|
|
1083
1037
|
contentClassName?: string;
|
|
1084
1038
|
}
|
|
1085
1039
|
/** A trial's sidebar and content as a `Split`, wearing the trial's classes. */
|
|
1086
|
-
declare function TrialBody({ sidebar, children, contentClassName, ...rest }: TrialBodyProps):
|
|
1040
|
+
declare function TrialBody({ sidebar, children, contentClassName, ...rest }: TrialBodyProps): react.JSX.Element;
|
|
1087
1041
|
|
|
1088
1042
|
/** The trial's loupe as its chrome sees it: a switch and its position. */
|
|
1089
1043
|
interface LoupeBindings {
|
|
@@ -1124,7 +1078,7 @@ interface TrialChromeProps {
|
|
|
1124
1078
|
/** The frame around a running instrument. Builds one chrome context, assembles
|
|
1125
1079
|
* the contributions the instrument, the runtime and the lab declare, and hands
|
|
1126
1080
|
* each region its slice. */
|
|
1127
|
-
declare function TrialChrome({ trialId, record, instrument, isLastTrial, undoBindings, job, loupe, trialChrome, chrome, suppress, activeToolId, setActiveTool, children, }: TrialChromeProps):
|
|
1081
|
+
declare function TrialChrome({ trialId, record, instrument, isLastTrial, undoBindings, job, loupe, trialChrome, chrome, suppress, activeToolId, setActiveTool, children, }: TrialChromeProps): react.JSX.Element;
|
|
1128
1082
|
|
|
1129
|
-
export { ANNOTATION_TOOLS, ANNOTATION_WEASEL_TOOLS, AnnotationData, AnnotationKind, AnnotationMeaning, AnnotationOverlay, AnnotationTarget, AnnotationTargets, AnnotationsApi, AnnotationsCapability, AnnotationsContext, CaptureOptions, CaptureResult, CaptureSource, CloseIcon, CollapseIcon, ConfigField, ConfigRule, ConfigSchema, ControlRenderer, CurveField, DEFAULT_VIEW,
|
|
1130
|
-
export type { AnnotationOverlayProps, AnnotationTargetsProps, AnnotationToolInfo, CaptureArgs, CapturePlan, ComposeSvgArgs, ContentSize, CurveFieldProps, CurveMark,
|
|
1083
|
+
export { ANNOTATION_TOOLS, ANNOTATION_WEASEL_TOOLS, AnnotationData, AnnotationKind, AnnotationMeaning, AnnotationOverlay, AnnotationTarget, AnnotationTargets, AnnotationsApi, AnnotationsCapability, AnnotationsContext, CaptureOptions, CaptureResult, CaptureSource, CloseIcon, CollapseIcon, ConfigField, ConfigRule, ConfigSchema, ControlRenderer, CurveField, DEFAULT_VIEW, ExpandIcon, ExportMenu, IconProps, Instrument, InstrumentList, JobHandle, Jog, Lab, LabBoundary, LabContribution, LabDensity, LabMode, LabPalette, LabRoot, LabShell, LabSwitcher, MarkList, MarkScene, MarkStyle, PaintableMark, PauseIcon, PlayIcon, PropertyGroup, PropertyListPack, ResetIcon, SPECIMEN_SECTIONS, Specimen, SplitProps, StepBackIcon, StepForwardIcon, StopIcon, StorageAdapter, Subpanel, TokenPanel, Trial, TrialBody, TrialChrome, TrialContribution, TrialInfo, TrialRecord, TrialTool, ViewTransform, Workspace, WorldRect, annotationToolInfo, as2DView, capturePlan, captureTarget, composeCaptureSvg, createMarkDrawOne, currentPage, defineInstrument, fitView, fromWeaselView, inferTokenType, interstellarTheme, isStale, markSvgNodes, refitScale, resolveMarkStyle, seenFrom, toWeaselView, useAnnotations, useAnnotationsOptional, validateConfigSchema };
|
|
1084
|
+
export type { AnnotationOverlayProps, AnnotationTargetsProps, AnnotationToolInfo, CaptureArgs, CapturePlan, ComposeSvgArgs, ContentSize, CurveFieldProps, CurveMark, InstrumentSpec, JogProps, LabBoundaryProps, LabPage, LabPaletteProps, LabProps, LabRootProps, LabShellProps, LabSwitcherProps, MarkDrawOptions, MarkListProps, PaneSize, PanelDescriptor, PropertyGroupProps, SubpanelProps, TokenCategory, TokenEntry, TokenPanelProps, TokenScale, TokenScaleRule, TrialBodyProps, TrialChromeProps, TrialLayout, TrialProps, UndoBindings, ValidationResult, ViewTransform2D, WorkspaceProps };
|