@vertexvis/viewer-toolkit-react 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.cjs.js +2525 -0
- package/dist/bundle.cjs.js.map +1 -0
- package/dist/bundle.esm.js +2479 -0
- package/dist/bundle.esm.js.map +1 -0
- package/dist/components/box-selection/__tests__/box-selection-button.spec.d.ts +1 -0
- package/dist/components/box-selection/__tests__/box-selection-tool.spec.d.ts +1 -0
- package/dist/components/box-selection/box-selection-button.d.ts +1 -0
- package/dist/components/box-selection/box-selection-tool.d.ts +1 -0
- package/dist/components/common/__tests__/slider.spec.d.ts +1 -0
- package/dist/components/common/popup-button.d.ts +14 -0
- package/dist/components/common/slider.d.ts +10 -0
- package/dist/components/context-menu/__tests__/scene-tree-context-menu.spec.d.ts +1 -0
- package/dist/components/context-menu/__tests__/viewer-context-menu.spec.d.ts +1 -0
- package/dist/components/context-menu/context-menu.d.ts +13 -0
- package/dist/components/context-menu/default-scene-tree-context-menu.d.ts +1 -0
- package/dist/components/context-menu/default-viewer-context-menu.d.ts +1 -0
- package/dist/components/context-menu/menu-items/fit-selected-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/fly-to-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/hide-all-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/hide-part-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/hide-selected-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/show-all-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/show-only-menu-item.d.ts +1 -0
- package/dist/components/context-menu/menu-items/show-only-selected-menu-item.d.ts +1 -0
- package/dist/components/context-menu/scene-tree-context-menu.d.ts +5 -0
- package/dist/components/context-menu/viewer-context-menu.d.ts +5 -0
- package/dist/components/scene-tree/__tests__/vertex-scene-tree-table-layout.spec.d.ts +1 -0
- package/dist/components/scene-tree/__tests__/vertex-scene-tree.spec.d.ts +1 -0
- package/dist/components/scene-tree/vertex-scene-tree-table-layout.d.ts +3 -0
- package/dist/components/scene-tree/vertex-scene-tree.d.ts +14 -0
- package/dist/components/toolbar/__tests__/toolbar.spec.d.ts +1 -0
- package/dist/components/toolbar/cross-section/__tests__/cross-section-alignment-popover-menu.spec.d.ts +1 -0
- package/dist/components/toolbar/cross-section/__tests__/cross-section-axis-popover-menu.spec.d.ts +1 -0
- package/dist/components/toolbar/cross-section/__tests__/cross-section-offset-stepper.spec.d.ts +1 -0
- package/dist/components/toolbar/cross-section/__tests__/cross-section.spec.d.ts +1 -0
- package/dist/components/toolbar/cross-section/cross-section-alignment-popover-menu.d.ts +1 -0
- package/dist/components/toolbar/cross-section/cross-section-axis-popover-menu.d.ts +1 -0
- package/dist/components/toolbar/cross-section/cross-section-offset-stepper.d.ts +9 -0
- package/dist/components/toolbar/cross-section/cross-section-popup-menu.d.ts +6 -0
- package/dist/components/toolbar/cross-section/cross-section.d.ts +8 -0
- package/dist/components/toolbar/default-toolbar.d.ts +1 -0
- package/dist/components/toolbar/fit-all.d.ts +1 -0
- package/dist/components/toolbar/pan.d.ts +1 -0
- package/dist/components/toolbar/rotate.d.ts +1 -0
- package/dist/components/toolbar/toolbar-divider.d.ts +1 -0
- package/dist/components/toolbar/toolbar.d.ts +5 -0
- package/dist/components/toolbar/zoom.d.ts +1 -0
- package/dist/components/viewer/__tests__/vertex-viewer-view-cube.spec.d.ts +1 -0
- package/dist/components/viewer/__tests__/vertex-viewer.spec.d.ts +1 -0
- package/dist/components/viewer/vertex-viewer-view-cube.d.ts +7 -0
- package/dist/components/viewer/vertex-viewer.d.ts +9 -0
- package/dist/events-listener.d.ts +7 -0
- package/dist/index.css +7 -0
- package/dist/index.d.ts +28 -0
- package/dist/root.d.ts +9 -0
- package/dist/state/box-selection/actions.d.ts +7 -0
- package/dist/state/box-selection/box-selection.d.ts +3 -0
- package/dist/state/box-selection/index.d.ts +2 -0
- package/dist/state/config/config.d.ts +2 -0
- package/dist/state/config/index.d.ts +1 -0
- package/dist/state/context-menu/actions.d.ts +13 -0
- package/dist/state/context-menu/backdrop.d.ts +2 -0
- package/dist/state/context-menu/context-menu.d.ts +13 -0
- package/dist/state/context-menu/index.d.ts +3 -0
- package/dist/state/cross-section/__tests__/actions.spec.d.ts +1 -0
- package/dist/state/cross-section/actions.d.ts +24 -0
- package/dist/state/cross-section/cross-section.d.ts +30 -0
- package/dist/state/cross-section/index.d.ts +2 -0
- package/dist/state/hits/__tests__/hits.spec.d.ts +1 -0
- package/dist/state/hits/actions.d.ts +6 -0
- package/dist/state/hits/event-state.d.ts +9 -0
- package/dist/state/hits/hits.d.ts +17 -0
- package/dist/state/hits/index.d.ts +3 -0
- package/dist/state/keybinding/__tests__/long-press.spec.d.ts +1 -0
- package/dist/state/keybinding/index.d.ts +3 -0
- package/dist/state/keybinding/keybinding.d.ts +151 -0
- package/dist/state/keybinding/long-press.d.ts +7 -0
- package/dist/state/keybinding/targets.d.ts +2 -0
- package/dist/state/performance/index.d.ts +1 -0
- package/dist/state/performance/types.d.ts +37 -0
- package/dist/state/scene-tree/columns/columns.d.ts +16 -0
- package/dist/state/scene-tree/columns/index.d.ts +1 -0
- package/dist/state/scene-tree/core/__tests__/actions.spec.d.ts +1 -0
- package/dist/state/scene-tree/core/actions.d.ts +9 -0
- package/dist/state/scene-tree/core/core.d.ts +5 -0
- package/dist/state/scene-tree/core/index.d.ts +2 -0
- package/dist/state/scene-tree/index.d.ts +1 -0
- package/dist/state/scene-tree/types.d.ts +14 -0
- package/dist/state/selection/__tests__/actions.spec.d.ts +1 -0
- package/dist/state/selection/actions.d.ts +25 -0
- package/dist/state/selection/event-state.d.ts +8 -0
- package/dist/state/selection/index.d.ts +3 -0
- package/dist/state/selection/selection.d.ts +16 -0
- package/dist/state/viewer/camera/actions.d.ts +7 -0
- package/dist/state/viewer/camera/index.d.ts +1 -0
- package/dist/state/viewer/core/core.d.ts +5 -0
- package/dist/state/viewer/core/index.d.ts +1 -0
- package/dist/state/viewer/frame/actions.d.ts +5 -0
- package/dist/state/viewer/index.d.ts +3 -0
- package/dist/state/viewer/scene/actions.d.ts +14 -0
- package/dist/state/viewer/scene/index.d.ts +2 -0
- package/dist/state/viewer/scene/item-operations.d.ts +11 -0
- package/dist/state/viewer/scene/scene.d.ts +6 -0
- package/dist/testing/__setup__/mocks.d.ts +4 -0
- package/dist/testing/additional-hooks-wrapper.d.ts +19 -0
- package/dist/testing/react.d.ts +13 -0
- package/dist/testing/recoil-observer.d.ts +6 -0
- package/dist/testing/recoil-state.d.ts +5 -0
- package/dist/testing/recoil-wrapper.d.ts +21 -0
- package/dist/testing/viewer.d.ts +72 -0
- package/dist/util/camera/__tests__/camera.spec.d.ts +1 -0
- package/dist/util/camera/camera.d.ts +3 -0
- package/dist/util/cross-section/__tests__/interaction-handler.spec.d.ts +1 -0
- package/dist/util/cross-section/__tests__/section-plane.spec.d.ts +1 -0
- package/dist/util/cross-section/interaction-handler.d.ts +10 -0
- package/dist/util/cross-section/section-plane.d.ts +61 -0
- package/dist/util/dom/elements.d.ts +1 -0
- package/dist/util/geometry/__tests__/bounding-box.spec.d.ts +1 -0
- package/dist/util/geometry/__tests__/vector3.spec.d.ts +1 -0
- package/dist/util/geometry/bounding-box.d.ts +4 -0
- package/dist/util/geometry/vector3.d.ts +2 -0
- package/dist/util/logging/__tests__/logger.spec.d.ts +1 -0
- package/dist/util/logging/logger.d.ts +8 -0
- package/dist/util/measurement/units.d.ts +57 -0
- package/dist/util/recoil/__tests__/actions.spec.d.ts +1 -0
- package/dist/util/recoil/actions.d.ts +86 -0
- package/dist/util/recoil/reducer.d.ts +9 -0
- package/dist/util/recoil/synchronized-prop.d.ts +2 -0
- package/dist/util/refs/callback-ref.d.ts +10 -0
- package/dist/util/refs/recoil-ref.d.ts +6 -0
- package/dist/util/scene-tree/customization.d.ts +3 -0
- package/dist/util/sdk-mapping/__tests__/config.spec.d.ts +1 -0
- package/dist/util/sdk-mapping/config.d.ts +2 -0
- package/package.json +80 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexBoxSelectionButton: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const BoxSelectionTool: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { VertexPopover } from '@vertexvis/ui-react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface Props {
|
|
4
|
+
children: React.ReactElement[];
|
|
5
|
+
}
|
|
6
|
+
declare const VertexPopupButton: {
|
|
7
|
+
({ open, children, ...uiProps }: Props & React.ComponentProps<typeof VertexPopover>): JSX.Element;
|
|
8
|
+
Anchor: ({ tooltipContent, children }: AnchorProps) => JSX.Element;
|
|
9
|
+
};
|
|
10
|
+
interface AnchorProps {
|
|
11
|
+
tooltipContent?: string;
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export { VertexPopupButton };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VertexSlider as UiVertexSlider } from '@vertexvis/ui-react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface Props {
|
|
4
|
+
value?: number;
|
|
5
|
+
defaultValue?: number;
|
|
6
|
+
onChange?: (value: number) => void;
|
|
7
|
+
}
|
|
8
|
+
type ComponentProps = Omit<React.ComponentProps<typeof UiVertexSlider>, 'onChange'>;
|
|
9
|
+
export declare const VertexSlider: ({ value, defaultValue, onChange, onValueChange, onValueInput, ...uiProps }: Props & ComponentProps) => JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ContextMenuType } from "@state/context-menu";
|
|
3
|
+
import { Point } from "@vertexvis/geometry";
|
|
4
|
+
export interface Props {
|
|
5
|
+
targetElement?: HTMLElement | null;
|
|
6
|
+
menuType: ContextMenuType;
|
|
7
|
+
disableBackdrop?: boolean;
|
|
8
|
+
openPredicate?: (e: MouseEvent | TouchEvent | Event) => boolean;
|
|
9
|
+
onOpen?: (event: PointerEvent | TouchEvent, position: Point.Point) => void;
|
|
10
|
+
onClose?: VoidFunction;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare const VertexContextMenu: ({ targetElement, menuType, disableBackdrop, openPredicate, onOpen, onClose, children, }: Props) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DefaultSceneTreeContextMenu: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DefaultViewerContextMenu: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexFitSelectedMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexFlyToMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexHideAllMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexHidePartMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexHideSelectedMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexShowAllMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexShowOnlyMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexShowOnlySelectedMenuItem: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AssemblyBackgroundColors, AssemblyFont } from '@state/scene-tree/types';
|
|
2
|
+
import type { SceneTreeOperationHandler } from '@vertexvis/viewer/dist/types/components/scene-tree/lib/handlers';
|
|
3
|
+
import { VertexSceneTree as SdkVertexSceneTree } from '@vertexvis/viewer-react';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
export interface Props {
|
|
6
|
+
readonly id?: string;
|
|
7
|
+
readonly font?: Partial<AssemblyFont>;
|
|
8
|
+
readonly backgroundColors?: Partial<AssemblyBackgroundColors>;
|
|
9
|
+
readonly onToggleSelection?: SceneTreeOperationHandler;
|
|
10
|
+
readonly onToggleExpansion?: SceneTreeOperationHandler;
|
|
11
|
+
readonly onToggleVisibility?: SceneTreeOperationHandler;
|
|
12
|
+
readonly children?: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare const VertexSceneTree: ({ id, font, backgroundColors, children, style, onPointerDown, onClick, onToggleSelection, onToggleExpansion, onToggleVisibility, className, rowData, ...sdkProps }: Props & React.ComponentProps<typeof SdkVertexSceneTree>) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/components/toolbar/cross-section/__tests__/cross-section-axis-popover-menu.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/components/toolbar/cross-section/__tests__/cross-section-offset-stepper.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function VertexViewerCrossSectionAlignmentPopoverMenu(): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function VertexViewerCrossSectionAxisPopoverMenu(): JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DistanceUnitType } from '@util/measurement/units';
|
|
2
|
+
interface Props {
|
|
3
|
+
offset: number;
|
|
4
|
+
measurementUnit: DistanceUnitType;
|
|
5
|
+
decimalPlaces: number;
|
|
6
|
+
onOffsetChange: (offset: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function VertexViewerCrossSectionOffsetStepper({ offset, measurementUnit, decimalPlaces, onOffsetChange, }: Props): JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { DistanceUnitType } from '@util/measurement/units';
|
|
2
|
+
export interface Props {
|
|
3
|
+
decimalPlaces: number;
|
|
4
|
+
measurementUnit: DistanceUnitType;
|
|
5
|
+
}
|
|
6
|
+
export declare function VertexViewerCrossSectionPopupMenu({ decimalPlaces, measurementUnit, }: Props): JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DistanceUnitType } from '@util/measurement/units';
|
|
2
|
+
export interface Props {
|
|
3
|
+
readonly decimalPlaces?: number;
|
|
4
|
+
readonly measurementUnit?: DistanceUnitType;
|
|
5
|
+
readonly sectionLineWidth?: number;
|
|
6
|
+
readonly sectionColor?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const VertexViewerCrossSectionButton: ({ decimalPlaces, measurementUnit, sectionLineWidth, sectionColor, }: Props) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DefaultToolbar: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexFitAllButton: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexPanButton: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexRotateButton: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function VertexViewerToolbarDivider(): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexZoomButton: () => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ViewerToolbarPlacement } from '@vertexvis/viewer';
|
|
2
|
+
import { VertexViewerViewCube as SdkVertexViewerViewCube } from '@vertexvis/viewer-react';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
export interface Props {
|
|
5
|
+
placement?: ViewerToolbarPlacement;
|
|
6
|
+
}
|
|
7
|
+
export declare const VertexViewerViewCube: ({ placement, ...sdkProps }: Props & React.ComponentProps<typeof SdkVertexViewerViewCube>) => JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { VertexViewer as SdkVertexViewer } from '@vertexvis/viewer-react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
export interface Props {
|
|
4
|
+
readonly id?: string;
|
|
5
|
+
readonly disableSelection?: boolean;
|
|
6
|
+
readonly viewerRefCallback?: React.RefCallback<HTMLVertexViewerElement | null>;
|
|
7
|
+
readonly children?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export declare const VertexViewer: ({ id, disableSelection, onTap, onLongpress, onFrameDrawn, viewerRefCallback, children, ...sdkProps }: Props & React.ComponentProps<typeof SdkVertexViewer>) => JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HitState } from '@state/hits/event-state';
|
|
2
|
+
import { SelectionState } from '@state/selection';
|
|
3
|
+
export interface Props {
|
|
4
|
+
onHitStateChange?: (state: HitState) => void | Promise<void>;
|
|
5
|
+
onSelectionStateChange?: (state: SelectionState) => void | Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare const VertexViewerToolkitEventListener: ({ onHitStateChange, onSelectionStateChange, }: Props) => JSX.Element;
|
package/dist/index.css
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*! tailwindcss v4.0.14 | MIT License | https://tailwindcss.com */@layer theme, base, components, utilities;@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-neutral-100:oklch(0.97 0 0);--color-neutral-200:oklch(0.922 0 0);--color-neutral-300:oklch(0.87 0 0);--color-neutral-800:oklch(0.269 0 0);--color-white:#fff;--spacing:0.25rem;--text-sm:0.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(
|
|
2
|
+
--font-sans--font-variation-settings
|
|
3
|
+
);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(
|
|
4
|
+
--font-mono--font-feature-settings
|
|
5
|
+
);--default-mono-font-variation-settings:var(
|
|
6
|
+
--font-mono--font-variation-settings
|
|
7
|
+
)}}@layer base{*,::backdrop,::file-selector-button,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:var(--default-font-feature-settings,normal);-webkit-tap-highlight-color:transparent;font-family:var( --default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" );font-variation-settings:var( --default-font-variation-settings,normal );line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:var( --default-mono-font-feature-settings,normal );font-family:var( --default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace );font-size:1em;font-variation-settings:var( --default-mono-font-variation-settings,normal )}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}::file-selector-button,button,input,optgroup,select,textarea{font-feature-settings:inherit;background-color:transparent;border-radius:0;color:inherit;font:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{color:color-mix(in oklab,currentColor 50%,transparent);opacity:1}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}::file-selector-button,button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.relative{position:relative}.bottom-3{bottom:calc(var(--spacing)*3)}.m-7{margin:calc(var(--spacing)*7)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.mt-1{margin-top:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.-ml-px{margin-left:-1px}.ml-2{margin-left:calc(var(--spacing)*2)}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.h-6{height:calc(var(--spacing)*6)}.h-full{height:100%}.w-32{width:calc(var(--spacing)*32)}.w-52{width:calc(var(--spacing)*52)}.w-56{width:calc(var(--spacing)*56)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x) var(--tw-rotate-y) var(--tw-rotate-z) var(--tw-skew-x) var(--tw-skew-y)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-evenly{justify-content:space-evenly}.gap-2{gap:calc(var(--spacing)*2)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-neutral-200{border-color:var(--color-neutral-200)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pl-2{padding-left:calc(var(--spacing)*2)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-neutral-800{color:var(--color-neutral-800)}.opacity-95{opacity:95%}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color,currentColor)}.ring-0,.ring-1{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentColor)}.ring-neutral-200{--tw-ring-color:var(--color-neutral-200)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:bg-neutral-300{&:hover{@media (hover:hover){background-color:var(--color-neutral-300)}}}.md\:contents{@media (width >= 48rem){display:contents}}}:root{--white:#fff;--black:#000;--neutral-050:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#444;--neutral-900:#212121;--red-050:#fff7f7;--red-100:#ffefef;--red-200:#ffe0e0;--red-300:#ffb3b3;--red-400:#ff4d4d;--red-500:red;--red-600:#eb0000;--red-700:#d90000;--red-800:#c40000;--red-900:#900;--orange-050:#fffcf7;--orange-100:#fff9ef;--orange-200:#fff3e0;--orange-300:#ffe0b3;--orange-400:#ffb84d;--orange-500:#f90;--orange-600:#ff8400;--orange-700:#ff7300;--orange-800:#e05d00;--orange-900:#993b00;--yellow-050:#fffef7;--yellow-100:#fffdef;--yellow-200:#fffbe0;--yellow-300:#fff5b3;--yellow-400:#ffee6e;--yellow-500:#ffe600;--yellow-600:#ffd300;--yellow-700:#ffc500;--yellow-800:#cc8f00;--yellow-900:#995c00;--green-050:#f7fdf7;--green-100:#effcef;--green-200:#e0f9e0;--green-300:#b3f0b3;--green-400:#4ddb4d;--green-500:#0c0;--green-600:#00c000;--green-700:#00ad00;--green-800:green;--green-900:#004d00;--teal-050:#f8fdfc;--teal-100:#f1fbfa;--teal-200:#e4f7f5;--teal-300:#bcece7;--teal-400:#62d2c7;--teal-500:#1fbeaf;--teal-600:#17af9f;--teal-700:#0a9986;--teal-800:#07705f;--teal-900:#054d43;--blue-050:#f7fcfd;--blue-100:#eff9fc;--blue-200:#e0f3f9;--blue-300:#b3e0f0;--blue-400:#4db8db;--blue-500:#09c;--blue-600:#0086c0;--blue-700:#006bad;--blue-800:#004f80;--blue-900:#002f4d;--purple-050:#fdf9fc;--purple-100:#faf2f8;--purple-200:#f6e6f2;--purple-300:#e9c2e0;--purple-400:#cb70b6;--purple-500:#b43296;--purple-600:#a42683;--purple-700:#8c1368;--purple-800:#66124b;--purple-900:#4d0b39;--x-axis-color:#ea3324;--y-axis-color:#4faf32;--z-axis-color:#00f}vertex-viewer-dom-renderer{visibility:hidden}vertex-viewer-dom-renderer.hydrated{visibility:inherit}vertex-scene-tree-toolbar{visibility:hidden}vertex-scene-tree-toolbar.hydrated{visibility:inherit}vertex-viewer-toolbar{visibility:hidden}vertex-viewer-toolbar.hydrated{visibility:inherit}:root{--padding-1:0.25em;--padding-2:0.5em;--padding-3:0.75em;--padding-4:1em;--padding-5:1.25em;--padding-6:1.5em;--padding-7:1.75em;--padding-8:2em;--abs-padding-1:0.25rem;--abs-padding-2:0.5rem;--abs-padding-3:0.75rem;--abs-padding-4:1rem;--abs-padding-5:1.25rem;--abs-padding-6:1.5rem;--abs-padding-7:1.75rem;--abs-padding-8:2rem}.sc-vertex-textfield-h{display:block}.txt-wrapper{align-items:center;background:none;box-sizing:border-box;display:flex;font-family:var(--vertex-ui-font-family);line-height:1.4;width:100%}.txt-wrapper-border{border:1px solid transparent;border-radius:4px}.txt-slot{padding-bottom:1px}.txt{background:none;border:1px solid transparent;border-radius:4px;box-sizing:border-box;font-family:var(--vertex-ui-font-family);font-weight:var(--vertex-ui-font-weight-base);line-height:1.4;padding:6px .5em 7px;text-overflow:ellipsis;width:100%}.txt:focus{outline:none}.txt-textarea{box-shadow:none;outline:none;overflow:hidden;resize:none}.txt:-webkit-autofill{animation-name:onAutoFillStart}.txt:not(.txt:-webkit-autofill){animation-name:onAutoFillCancel}.txt-standard{border-color:var(--vertex-ui-neutral-400);color:var(--vertex-ui-neutral-800)}.txt-standard .txt::placeholder{color:var(--vertex-ui-neutral-500)}.txt-standard:focus,.txt-standard:hover:not(.disabled){border-color:var(--vertex-ui-neutral-500)}.txt-standard.disabled{border-color:var(--vertex-ui-neutral-200)}.txt-standard.disabled,.txt-standard.disabled .txt::placeholder{color:var(--vertex-ui-neutral-400)}.txt-blank{color:var(--vertex-ui-neutral-800)}.txt-blank:not(:hover) .txt:focus{border-color:var(--vertex-ui-neutral-400);border-radius:4px}.txt-blank .txt::placeholder{color:var(--vertex-ui-neutral-500)}.txt-blank:hover:not(.disabled) .txt{border-color:var(--vertex-ui-neutral-400);border-radius:4px}.txt-filled{background-color:var(--vertex-ui-neutral-200);border-color:var(--vertex-ui-neutral-200);color:var(--vertex-ui-neutral-800)}.txt-filled .txt::placeholder{color:var(--vertex-ui-neutral-700)}.txt-filled:focus,.txt-filled:hover:not(.disabled){border-bottom-color:var(--vertex-ui-blue-600)}.txt-filled.disabled{border-color:var(--vertex-ui-neutral-100)}.txt-filled.disabled,.txt-filled.disabled .txt::placeholder{color:var(--vertex-ui-neutral-400)}.txt-underlined{background-color:var(--vertex-ui-white);border-color:var(--vertex-ui-white) var(--vertex-ui-white) var(--vertex-ui-neutral-400) var(--vertex-ui-white);color:var(--vertex-ui-neutral-800)}.txt-underlined.disabled,.txt-underlined.disabled::placeholder{color:var(--vertex-ui-neutral-400)}.txt-underlined::placeholder{color:var(--vertex-ui-neutral-700)}.txt-underlined:focus,.txt-underlined:hover:not(.disabled){background-color:var(--vertex-ui-neutral-200);border-color:var(--vertex-ui-neutral-200);border-bottom-color:var(--vertex-ui-blue-600)}.txt-underlined.disabled{border-bottom-color:var(--vertex-ui-neutral-200)}.txt-underlined.disabled,.txt-underlined.disabled .txt::placeholder{color:var(--vertex-ui-neutral-400)}.txt-underlined.has-error{border-bottom-color:var(--vertex-ui-red-600)}.txt-blank.has-error,.txt-filled.has-error,.txt-standard.has-error{border-color:var(--vertex-ui-red-600)}.txt-size-standard{font-size:var(--vertex-ui-text-base)}.txt-size-sm{font-size:var(--vertex-ui-text-sm)}.txt-size-md{font-size:var(--vertex-ui-text-md)}.txt-size-lg{font-size:var(--vertex-ui-text-lg)}.txt-size-xl{font-size:var(--vertex-ui-text-xl)}.txt-size-xxl{font-size:var(--vertex-ui-text-xxl)}.click-to-edit{display:flex;flex-direction:row}.click-to-edit-text{width:100%}.icon-visibility{display:none}.click-to-edit:not(.disabled):hover .icon-visibility{display:block}.click-to-edit-icon-wrapper{align-items:center;display:flex;flex-shrink:0;margin-left:5px;vertical-align:middle}.hover-icon slot::slotted(*){height:1rem;padding-left:.5rem;width:1rem}.click-to-edit-button{background-color:var(--neutral-200);border-radius:4px;color:var(--green-700)}.click-to-edit-button:hover{background-color:var(--neutral-300);color:var(--green-800)}vertex-tooltip:not(.hydrated){display:none}.vertex-tooltip-popover{height:100%;width:100%}.vertex-tooltip-content{background-color:var(--vertex-ui-neutral-700);border-radius:4px;color:var(--vertex-ui-white);display:flex;font-family:var(--vertex-ui-font-family);font-size:var(--vertex-ui-text-xxs);justify-content:center;padding:.25rem .5rem;pointer-events:none;text-align:center;user-select:none;white-space:var(--tooltip-white-space);width:var(--tooltip-width)}:root{--vertex-ui-white:#fff;--vertex-ui-black:#000;--vertex-ui-neutral-050:#fafafa;--vertex-ui-neutral-100:#f5f5f5;--vertex-ui-neutral-200:#eee;--vertex-ui-neutral-300:#e0e0e0;--vertex-ui-neutral-400:#bdbdbd;--vertex-ui-neutral-500:#9e9e9e;--vertex-ui-neutral-600:#757575;--vertex-ui-neutral-700:#616161;--vertex-ui-neutral-800:#444;--vertex-ui-neutral-900:#212121;--vertex-ui-red-050:#fff7f7;--vertex-ui-red-100:#ffefef;--vertex-ui-red-200:#ffe0e0;--vertex-ui-red-300:#ffb3b3;--vertex-ui-red-400:#ff4d4d;--vertex-ui-red-500:red;--vertex-ui-red-600:#eb0000;--vertex-ui-red-700:#d90000;--vertex-ui-red-800:#c40000;--vertex-ui-red-900:#900;--vertex-ui-orange-050:#fffcf7;--vertex-ui-orange-100:#fff9ef;--vertex-ui-orange-200:#fff3e0;--vertex-ui-orange-300:#ffe0b3;--vertex-ui-orange-400:#ffb84d;--vertex-ui-orange-500:#f90;--vertex-ui-orange-600:#ff8400;--vertex-ui-orange-700:#ff7300;--vertex-ui-orange-800:#e05d00;--vertex-ui-orange-900:#993b00;--vertex-ui-yellow-050:#fffef7;--vertex-ui-yellow-100:#fffdef;--vertex-ui-yellow-200:#fffbe0;--vertex-ui-yellow-300:#fff5b3;--vertex-ui-yellow-400:#ffee6e;--vertex-ui-yellow-500:#ffe600;--vertex-ui-yellow-600:#ffd300;--vertex-ui-yellow-700:#ffc500;--vertex-ui-yellow-800:#cc8f00;--vertex-ui-yellow-900:#995c00;--vertex-ui-green-050:#f7fdf7;--vertex-ui-green-100:#effcef;--vertex-ui-green-200:#e0f9e0;--vertex-ui-green-300:#b3f0b3;--vertex-ui-green-400:#4ddb4d;--vertex-ui-green-500:#0c0;--vertex-ui-green-600:#00c000;--vertex-ui-green-700:#00ad00;--vertex-ui-green-800:green;--vertex-ui-green-900:#004d00;--vertex-ui-teal-050:#f8fdfc;--vertex-ui-teal-100:#f1fbfa;--vertex-ui-teal-200:#e4f7f5;--vertex-ui-teal-300:#bcece7;--vertex-ui-teal-400:#62d2c7;--vertex-ui-teal-500:#1fbeaf;--vertex-ui-teal-600:#17af9f;--vertex-ui-teal-700:#0a9986;--vertex-ui-teal-800:#07705f;--vertex-ui-teal-900:#054d43;--vertex-ui-blue-050:#f7fcfd;--vertex-ui-blue-100:#eff9fc;--vertex-ui-blue-200:#e0f3f9;--vertex-ui-blue-300:#b3e0f0;--vertex-ui-blue-400:#4db8db;--vertex-ui-blue-500:#09c;--vertex-ui-blue-600:#0086c0;--vertex-ui-blue-700:#006bad;--vertex-ui-blue-800:#004f80;--vertex-ui-blue-900:#002f4d;--vertex-ui-purple-050:#fdf9fc;--vertex-ui-purple-100:#faf2f8;--vertex-ui-purple-200:#f6e6f2;--vertex-ui-purple-300:#e9c2e0;--vertex-ui-purple-400:#cb70b6;--vertex-ui-purple-500:#b43296;--vertex-ui-purple-600:#a42683;--vertex-ui-purple-700:#8c1368;--vertex-ui-purple-800:#66124b;--vertex-ui-purple-900:#4d0b39;--vertex-ui-text-t:0.5625rem;--vertex-ui-text-xxs:0.625rem;--vertex-ui-text-xs:0.75rem;--vertex-ui-text-sm:0.8125rem;--vertex-ui-text-base:0.875rem;--vertex-ui-text-md:0.9375rem;--vertex-ui-text-lg:1rem;--vertex-ui-text-xl:1.125rem;--vertex-ui-text-xxl:1.25rem;--vertex-ui-font-weight-light:300;--vertex-ui-font-weight-base:400;--vertex-ui-font-weight-medium:500;--vertex-ui-font-weight-bold:700;--vertex-ui-font-family:"Roboto","Helvetica Neue",Helvetica,sans-serif;--vertex-ui-font-family-monospace:"Roboto Mono","Helvetica Monospaced",monospace;--vertex-ui-popover-layer:2000;--vertex-ui-context-menu-layer:11000;--vertex-ui-dialog-layer:15000;--vertex-ui-overlay-shadow:-1px 0 2px rgba(0,0,0,.12),1px 0 2px rgba(0,0,0,.13)}@media (min-width:812px){:root{--vertex-ui-min-dialog-width:700px;--vertex-ui-min-dialog-height:500px}}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { VertexContextMenu } from './components/context-menu/context-menu';
|
|
2
|
+
import { VertexSceneTreeContextMenu } from './components/context-menu/scene-tree-context-menu';
|
|
3
|
+
import { VertexViewerContextMenu } from './components/context-menu/viewer-context-menu';
|
|
4
|
+
import { VertexFitSelectedMenuItem } from './components/context-menu/menu-items/fit-selected-menu-item';
|
|
5
|
+
import { VertexFlyToMenuItem } from './components/context-menu/menu-items/fly-to-menu-item';
|
|
6
|
+
import { VertexHideAllMenuItem } from './components/context-menu/menu-items/hide-all-menu-item';
|
|
7
|
+
import { VertexHidePartMenuItem } from './components/context-menu/menu-items/hide-part-menu-item';
|
|
8
|
+
import { VertexHideSelectedMenuItem } from './components/context-menu/menu-items/hide-selected-menu-item';
|
|
9
|
+
import { VertexShowAllMenuItem } from './components/context-menu/menu-items/show-all-menu-item';
|
|
10
|
+
import { VertexShowOnlyMenuItem } from './components/context-menu/menu-items/show-only-menu-item';
|
|
11
|
+
import { VertexShowOnlySelectedMenuItem } from './components/context-menu/menu-items/show-only-selected-menu-item';
|
|
12
|
+
import { VertexSceneTree } from './components/scene-tree/vertex-scene-tree';
|
|
13
|
+
import { VertexSceneTreeTableLayout } from './components/scene-tree/vertex-scene-tree-table-layout';
|
|
14
|
+
import { VertexViewerCrossSectionButton } from './components/toolbar/cross-section/cross-section';
|
|
15
|
+
import { VertexFitAllButton } from './components/toolbar/fit-all';
|
|
16
|
+
import { VertexPanButton } from './components/toolbar/pan';
|
|
17
|
+
import { VertexRotateButton } from './components/toolbar/rotate';
|
|
18
|
+
import { VertexToolbar } from './components/toolbar/toolbar';
|
|
19
|
+
import { VertexViewerToolbarDivider } from './components/toolbar/toolbar-divider';
|
|
20
|
+
import { VertexZoomButton } from './components/toolbar/zoom';
|
|
21
|
+
import { VertexViewer } from './components/viewer/vertex-viewer';
|
|
22
|
+
import { VertexViewerViewCube } from './components/viewer/vertex-viewer-view-cube';
|
|
23
|
+
import { VertexViewerToolkitRoot } from './root';
|
|
24
|
+
import * as CrossSection from './state/cross-section';
|
|
25
|
+
import * as Hits from './state/hits';
|
|
26
|
+
import * as SceneTree from './state/scene-tree';
|
|
27
|
+
import * as Selection from './state/selection';
|
|
28
|
+
export { CrossSection, Hits, SceneTree, Selection, VertexContextMenu, VertexSceneTreeContextMenu, VertexViewerContextMenu, VertexFitSelectedMenuItem, VertexFlyToMenuItem, VertexHideAllMenuItem, VertexHidePartMenuItem, VertexHideSelectedMenuItem, VertexShowAllMenuItem, VertexShowOnlyMenuItem, VertexShowOnlySelectedMenuItem, VertexFitAllButton, VertexPanButton, VertexRotateButton, VertexSceneTree, VertexSceneTreeTableLayout, VertexToolbar, VertexViewer, VertexViewerCrossSectionButton, VertexViewerToolbarDivider, VertexViewerToolkitRoot, VertexViewerViewCube, VertexZoomButton, };
|
package/dist/root.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PartialConfig } from '@vertexvis/viewer/dist/types/lib/config';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Props as EventWrapperProps } from './events-listener';
|
|
4
|
+
export interface Props extends EventWrapperProps {
|
|
5
|
+
override?: boolean;
|
|
6
|
+
config?: PartialConfig['network'] | PartialConfig;
|
|
7
|
+
children: React.ReactElement | React.ReactElement[];
|
|
8
|
+
}
|
|
9
|
+
export declare const VertexViewerToolkitRoot: ({ override, children, config, ...eventWrapperProps }: Props) => JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VolumeIntersectionQueryType } from '@vertexvis/viewer';
|
|
2
|
+
export interface UseBoxSelectionActions {
|
|
3
|
+
enable(): void;
|
|
4
|
+
disable(): void;
|
|
5
|
+
setOperationType(operationType: VolumeIntersectionQueryType): void;
|
|
6
|
+
}
|
|
7
|
+
export declare const useBoxSelectionActions: () => UseBoxSelectionActions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './config';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Point } from '@vertexvis/geometry';
|
|
2
|
+
import { ContextMenuType } from "@state/context-menu/context-menu";
|
|
3
|
+
type ContextMenuEventPredicate = (event: MouseEvent | TouchEvent | Event) => boolean;
|
|
4
|
+
export interface UseContextMenuActions {
|
|
5
|
+
pointerDown(event: PointerEvent, pointOverride?: Point.Point): void;
|
|
6
|
+
pointerUp(event: PointerEvent, type: ContextMenuType, predicate?: ContextMenuEventPredicate, onOpen?: (event: PointerEvent, point: Point.Point) => void, pointOverride?: Point.Point): void;
|
|
7
|
+
contextMenu(event: Event, predicate?: ContextMenuEventPredicate): void;
|
|
8
|
+
longPress(event: TouchEvent, type: ContextMenuType, predicate?: ContextMenuEventPredicate, onOpen?: (event: TouchEvent, point: Point.Point) => void): void;
|
|
9
|
+
clearActiveContextMenu(dismissedFromWindowPointerEvent?: boolean): void;
|
|
10
|
+
clearDismissedState(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare function useContextMenuActions(): UseContextMenuActions;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Point } from '@vertexvis/geometry';
|
|
2
|
+
import { Row } from '@vertexvis/viewer/dist/types/components/scene-tree/lib/row';
|
|
3
|
+
import { Hit } from "@state/hits";
|
|
4
|
+
export type ContextMenuType = 'scene-tree' | 'viewer' | 'color-swatch';
|
|
5
|
+
export type ContextMenuItem = Row | Hit | HTMLElement;
|
|
6
|
+
export type ContextMenuAction = (item: ContextMenuItem) => void | Promise<void> | boolean | Promise<boolean>;
|
|
7
|
+
export declare function contextMenuItemIsRow(item?: ContextMenuItem): item is Row;
|
|
8
|
+
export declare const contextMenuActive: import("recoil").RecoilState<ContextMenuType>;
|
|
9
|
+
export declare const contextMenuPosition: import("recoil").RecoilState<Point.Point | undefined>;
|
|
10
|
+
export declare const contextMenuTarget: import("recoil").RecoilState<HTMLElement | undefined>;
|
|
11
|
+
export declare const contextMenuItem: import("recoil").RecoilState<ContextMenuItem>;
|
|
12
|
+
export declare const contextMenuActions: import("recoil").RecoilState<ContextMenuAction[]>;
|
|
13
|
+
export declare const contextMenuActivePosition: import("recoil").RecoilValueReadOnly<Point.Point | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Hit } from '@state/hits/hits';
|
|
2
|
+
import * as CrossSectionPlane from '@util/cross-section/section-plane';
|
|
3
|
+
export declare const DEFAULT_ALIGN_TO_PLANE_ANIMATION_DURATION_MS = 500;
|
|
4
|
+
interface UseCrossSectioningActions {
|
|
5
|
+
enable(keepSnapshotSelection?: boolean): Promise<void>;
|
|
6
|
+
disable(keepSnapshotSelection?: boolean): Promise<void>;
|
|
7
|
+
openAdditionalTools(): void;
|
|
8
|
+
closeAdditionalTools(): void;
|
|
9
|
+
openAlignmentTools(): void;
|
|
10
|
+
closeAlignmentTools(): void;
|
|
11
|
+
openAxisTools(): void;
|
|
12
|
+
closeAxisTools(): void;
|
|
13
|
+
beginInteraction(): Promise<void>;
|
|
14
|
+
endInteraction(): Promise<void>;
|
|
15
|
+
updatePlanes(offset: number): Promise<void>;
|
|
16
|
+
flipPlanes(): Promise<void>;
|
|
17
|
+
alignViewToPlane(): Promise<void>;
|
|
18
|
+
updateAxis(axis: CrossSectionPlane.Axis): Promise<void>;
|
|
19
|
+
updateAlignment(alignment: CrossSectionPlane.CrossSectionAlignment, item?: Hit): Promise<void>;
|
|
20
|
+
sectionCurrentHit(): void;
|
|
21
|
+
cancelCurrentHit(): void;
|
|
22
|
+
}
|
|
23
|
+
export declare function useCrossSectioningActions(): UseCrossSectioningActions;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CrossSectionInteractionHandler } from '@util/cross-section/interaction-handler';
|
|
2
|
+
import * as CrossSectionPlane from '@util/cross-section/section-plane';
|
|
3
|
+
import { BoundingBox } from '@vertexvis/geometry';
|
|
4
|
+
export interface CrossSectionAlignment {
|
|
5
|
+
mode: CrossSectionPlane.CrossSectionAlignment;
|
|
6
|
+
hitPending: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface CrossSectionSliderOffsets {
|
|
9
|
+
default: number;
|
|
10
|
+
min: number;
|
|
11
|
+
max: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const DEFAULT_SLIDER_RANGE: CrossSectionSliderOffsets;
|
|
14
|
+
export declare const crossSectioningEnabled: import("recoil").RecoilState<boolean>;
|
|
15
|
+
export declare const crossSectioningHighlightColor: import("recoil").RecoilState<string | undefined>;
|
|
16
|
+
export declare const crossSectioningBorderWidth: import("recoil").RecoilState<number | undefined>;
|
|
17
|
+
export declare const crossSectioningPlanes: import("recoil").RecoilState<CrossSectionPlane.CrossSectionPlane[]>;
|
|
18
|
+
export declare const crossSectioningAlignment: import("recoil").RecoilState<CrossSectionAlignment>;
|
|
19
|
+
export declare const crossSectioningTargetBoundingBox: import("recoil").RecoilValueReadOnly<BoundingBox.BoundingBox | undefined>;
|
|
20
|
+
export declare const crossSectioningIsInteractive: import("recoil").RecoilState<boolean>;
|
|
21
|
+
export declare const crossSectioningActiveAxis: import("recoil").RecoilState<CrossSectionPlane.Axis>;
|
|
22
|
+
export declare const crossSectioningAvailableAxes: import("recoil").RecoilState<CrossSectionPlane.CrossSectionPlaneAxes>;
|
|
23
|
+
export declare const crossSectioningOffsetScalar: import("recoil").RecoilValueReadOnly<number>;
|
|
24
|
+
export declare const crossSectioningSliderRange: import("recoil").RecoilValueReadOnly<CrossSectionSliderOffsets>;
|
|
25
|
+
export declare const crossSectioningPlaneDisplayOffset: import("recoil").RecoilValueReadOnly<number>;
|
|
26
|
+
export declare const crossSectioningAdditionalToolsOpen: import("recoil").RecoilState<boolean>;
|
|
27
|
+
export declare const crossSectioningAlignmentToolsOpen: import("recoil").RecoilState<boolean>;
|
|
28
|
+
export declare const crossSectioningAxisToolsOpen: import("recoil").RecoilState<boolean>;
|
|
29
|
+
export declare const crossSectioningInteractionHandler: import("recoil").RecoilState<CrossSectionInteractionHandler>;
|
|
30
|
+
export declare function useCrossSectioning(viewerElement?: HTMLVertexViewerElement | null, initialized?: boolean): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TapEventDetails } from '@vertexvis/viewer';
|
|
2
|
+
export interface UseHitActions {
|
|
3
|
+
tap: (event: CustomEvent<TapEventDetails>, ...standardTapActions: VoidFunction[]) => Promise<void>;
|
|
4
|
+
longPress: (event: CustomEvent<TapEventDetails>) => Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
export declare const useHitActions: () => UseHitActions;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { TapEventDetails } from '@vertexvis/viewer';
|
|
2
|
+
import { Hit } from './hits';
|
|
3
|
+
export interface HitState {
|
|
4
|
+
tapDetails?: TapEventDetails;
|
|
5
|
+
longPressDetails?: TapEventDetails;
|
|
6
|
+
previousHitResult?: Hit;
|
|
7
|
+
currentHitResult?: Hit;
|
|
8
|
+
}
|
|
9
|
+
export declare const hitState: import("recoil").RecoilValueReadOnly<HitState>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import type { TapEventDetails } from '@vertexvis/viewer';
|
|
3
|
+
export interface Hit {
|
|
4
|
+
id: string;
|
|
5
|
+
normal: Vector3.Vector3;
|
|
6
|
+
position: Vector3.Vector3;
|
|
7
|
+
meta: boolean;
|
|
8
|
+
shiftKey?: boolean;
|
|
9
|
+
metadata?: unknown[];
|
|
10
|
+
ancestors: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare const hitResultsTapDetails: import("recoil").RecoilState<TapEventDetails | undefined>;
|
|
13
|
+
export declare const hitResultsLongPressDetails: import("recoil").RecoilState<TapEventDetails | undefined>;
|
|
14
|
+
export declare const previousHitResult: import("recoil").RecoilState<Hit | undefined>;
|
|
15
|
+
export declare const currentHitResult: import("recoil").RecoilState<Hit | undefined>;
|
|
16
|
+
export declare const hitResult: import("recoil").RecoilValueReadOnly<Hit | undefined>;
|
|
17
|
+
export declare const hitResultsSkipNextTap: import("recoil").RecoilState<boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|