@vertexvis/viewer-toolkit-react 0.0.5-canary.2 → 0.0.5-canary.21
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 +14 -2
- package/dist/bundle.cjs.js.map +1 -1
- package/dist/bundle.esm.js +14 -2
- package/dist/bundle.esm.js.map +1 -1
- package/dist/components/appearance/material/__tests__/scene-item-material-color-swatch.spec.d.ts +1 -0
- package/dist/components/appearance/material/__tests__/scene-item-material-color-swatches.spec.d.ts +1 -0
- package/dist/components/appearance/material/__tests__/scene-item-material-opacity-slider.spec.d.ts +1 -0
- package/dist/components/appearance/material/material-controls.d.ts +11 -0
- package/dist/components/appearance/material/material-panel-section.d.ts +13 -0
- package/dist/components/appearance/material/scene-item-material-color-swatch-context-menu.d.ts +4 -0
- package/dist/components/appearance/material/scene-item-material-color-swatch.d.ts +10 -0
- package/dist/components/appearance/material/scene-item-material-color-swatches.d.ts +7 -0
- package/dist/components/common/copy-button.d.ts +9 -0
- package/dist/components/context-menu/menu-items/show-properties-menu-item.d.ts +1 -0
- package/dist/components/measurement/measurement-details.d.ts +3 -2
- package/dist/components/measurement/point-to-point-measurement.d.ts +3 -2
- package/dist/components/measurement/precise-measurement.d.ts +3 -2
- package/dist/components/metadata/__tests__/metadata-panel.spec.d.ts +1 -0
- package/dist/components/metadata/__tests__/metadata-property-value.spec.d.ts +1 -0
- package/dist/components/metadata/metadata-panel-contents.d.ts +6 -0
- package/dist/components/metadata/metadata-panel.d.ts +4 -0
- package/dist/components/metadata/metadata-property-value.d.ts +6 -0
- package/dist/components/scene-tree/__tests__/scene-tree-secondary-panel.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-columns/__tests__/scene-tree-custom-column.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-columns/__tests__/scene-tree-metadata-columns.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-columns/scene-tree-custom-column.d.ts +10 -0
- package/dist/components/scene-tree/scene-tree-columns/scene-tree-metadata-columns.d.ts +9 -0
- package/dist/components/scene-tree/scene-tree-secondary-panel.d.ts +6 -0
- package/dist/components/scene-tree/scene-tree-table-layout.d.ts +29 -0
- package/dist/components/scene-tree/scene-tree.d.ts +33 -0
- package/dist/components/sidebar/viewer-right-sidebar/viewer-right-open-panel.d.ts +14 -1
- package/dist/components/sidebar/viewer-right-sidebar/viewer-right-panel-header.d.ts +4 -1
- package/dist/components/sidebar/viewer-right-sidebar/viewer-right-sidebar.d.ts +17 -1
- package/dist/components/toolbar/cross-section/cross-section-alignment-popover-menu.d.ts +5 -1
- package/dist/components/toolbar/cross-section/cross-section-axis-popover-menu.d.ts +5 -1
- package/dist/components/toolbar/cross-section/cross-section-offset-stepper.d.ts +2 -1
- package/dist/components/transforms/transform-controls.d.ts +3 -1
- package/dist/components/transforms/transform-inputs.d.ts +5 -0
- package/dist/components/transforms/transform-numeric-field.d.ts +14 -0
- package/dist/components/transforms/transform-panel-section.d.ts +3 -1
- package/dist/components/viewer/vertex-viewer.d.ts +1 -1
- package/dist/index.css +2 -2
- package/dist/index.d.ts +31 -9
- package/dist/state/appearance/actions.d.ts +6 -0
- package/dist/state/appearance/index.d.ts +2 -0
- package/dist/state/appearance/material.d.ts +3 -0
- package/dist/state/appearance/types.d.ts +2 -0
- package/dist/state/context-menu/actions.d.ts +2 -1
- package/dist/state/context-menu/context-menu.d.ts +1 -0
- package/dist/state/messages/messages.d.ts +1 -0
- package/dist/state/metadata/__tests__/actions.spec.d.ts +1 -0
- package/dist/state/metadata/actions.d.ts +6 -0
- package/dist/state/metadata/index.d.ts +2 -0
- package/dist/state/metadata/metadata.d.ts +13 -0
- package/dist/state/metadata/types.d.ts +7 -0
- package/dist/state/panel/actions.d.ts +3 -1
- package/dist/state/panel/panel.d.ts +5 -3
- package/dist/state/scene-tree/columns/columns.d.ts +1 -0
- package/dist/state/scene-tree/columns/index.d.ts +1 -1
- package/dist/state/scene-tree/columns/{open-column-popover.d.ts → open-positioned-popover.d.ts} +4 -5
- package/dist/state/scene-tree/core/actions.d.ts +4 -0
- package/dist/state/scene-tree/core/core.d.ts +3 -0
- package/dist/state/scene-tree/index.d.ts +5 -0
- package/dist/state/scene-tree/metadata/index.d.ts +1 -0
- package/dist/state/scene-tree/metadata/metadata.d.ts +2 -0
- package/dist/state/scene-tree/search/actions.d.ts +3 -2
- package/dist/state/scene-tree/search/search.d.ts +1 -0
- package/dist/state/scene-tree/types.d.ts +5 -0
- package/dist/state/scene-view-item/actions.d.ts +8 -0
- package/dist/state/scene-view-item/index.d.ts +2 -0
- package/dist/state/scene-view-item/items.d.ts +2 -0
- package/dist/state/selection/selection.d.ts +3 -0
- package/dist/state/transforms/actions.d.ts +3 -1
- package/dist/state/transforms/edit-transforms.d.ts +10 -0
- package/dist/state/transforms/index.d.ts +1 -0
- package/dist/state/transforms/transforms.d.ts +55 -9
- package/dist/state/viewer/camera/__tests__/actions.spec.d.ts +1 -0
- package/dist/state/viewer/camera/actions.d.ts +1 -1
- package/dist/state/viewer/core/core.d.ts +1 -0
- package/dist/state/viewer/scene/scene.d.ts +0 -2
- package/dist/testing/color-materials.d.ts +1 -0
- package/dist/util/popover/popover.d.ts +1 -0
- package/dist/util/react/children.d.ts +5 -0
- package/dist/util/refs/__tests__/when-component-ready.spec.d.ts +1 -0
- package/dist/util/refs/when-component-ready.d.ts +1 -1
- package/dist/util/state/synced-value.d.ts +5 -0
- package/dist/util/transforms/transforms.d.ts +6 -0
- package/package.json +14 -9
- package/dist/components/appearance/material-controls.d.ts +0 -7
- package/dist/components/appearance/material-panel-section.d.ts +0 -9
- package/dist/components/scene-tree/vertex-scene-tree-table-layout.d.ts +0 -3
- package/dist/components/scene-tree/vertex-scene-tree.d.ts +0 -14
- /package/dist/components/appearance/{__tests__ → material/__tests__}/scene-item-material-color-picker.spec.d.ts +0 -0
- /package/dist/components/appearance/{__tests__/scene-item-material-opacity-slider.spec.d.ts → material/__tests__/scene-item-material-color-swatch-context-menu.spec.d.ts} +0 -0
- /package/dist/components/appearance/{scene-item-material-apply-all-confirmation-dialog.d.ts → material/scene-item-material-apply-all-confirmation-dialog.d.ts} +0 -0
- /package/dist/components/appearance/{scene-item-material-apply-all.d.ts → material/scene-item-material-apply-all.d.ts} +0 -0
- /package/dist/components/appearance/{scene-item-material-clear.d.ts → material/scene-item-material-clear.d.ts} +0 -0
- /package/dist/components/appearance/{scene-item-material-color-picker.d.ts → material/scene-item-material-color-picker.d.ts} +0 -0
- /package/dist/components/appearance/{scene-item-material-opacity-slider.d.ts → material/scene-item-material-opacity-slider.d.ts} +0 -0
- /package/dist/components/scene-tree/{vertex-scene-tree-header.d.ts → scene-tree-header.d.ts} +0 -0
- /package/dist/util/{measurement/units.d.ts → numbers/distance-units.d.ts} +0 -0
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { ColorMaterialWithId } from '@util/appearance/color';
|
|
2
|
+
import { UUID } from '@vertexvis/utils';
|
|
2
3
|
import { ColorMaterial } from '@vertexvis/viewer';
|
|
3
4
|
export interface UseSceneItemMaterialActions {
|
|
4
5
|
updateColor(color: ColorMaterialWithId): void;
|
|
6
|
+
saveRecentColor(color: ColorMaterialWithId): Promise<void>;
|
|
7
|
+
removeRecentColor(colorId: UUID.UUID): Promise<void>;
|
|
8
|
+
setCustomColors(colors: ColorMaterialWithId[]): Promise<void>;
|
|
9
|
+
saveCustomColor(color: ColorMaterialWithId): Promise<void>;
|
|
10
|
+
removeCustomColor(colorId: UUID.UUID): Promise<void>;
|
|
5
11
|
clearCurrentColor(): void;
|
|
6
12
|
clearCurrentOpacity(): void;
|
|
7
13
|
clear(): void;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { ColorMaterialWithId } from '@util/appearance/color';
|
|
2
2
|
import { ColorMaterial } from '@vertexvis/viewer';
|
|
3
3
|
export declare const MAXIMUM_MATERIAL_OVERRIDE_OPACITY = 255;
|
|
4
|
+
export declare const MAX_STORED_COLOR_ARRAY_LENGTH = 18;
|
|
4
5
|
export declare const sceneItemAdjustmentsSelectedColor: import("recoil").RecoilState<ColorMaterialWithId | undefined>;
|
|
6
|
+
export declare const sceneItemAdjustmentsRecentColors: import("recoil").RecoilState<ColorMaterialWithId[]>;
|
|
7
|
+
export declare const sceneItemAdjustmentsCustomColors: import("recoil").RecoilState<ColorMaterialWithId[]>;
|
|
5
8
|
export declare const sceneItemAdjustmentsSelectedOpacity: import("recoil").RecoilState<number | undefined>;
|
|
6
9
|
/**
|
|
7
10
|
* An atom that stores the modified material override for an item.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContextMenuType } from '@state/context-menu/context-menu';
|
|
1
|
+
import { ContextMenuItem, ContextMenuType } from '@state/context-menu/context-menu';
|
|
2
2
|
import { Point } from '@vertexvis/geometry';
|
|
3
3
|
type ContextMenuEventPredicate = (event: MouseEvent | TouchEvent | Event) => boolean;
|
|
4
4
|
export interface UseContextMenuActions {
|
|
@@ -6,6 +6,7 @@ export interface UseContextMenuActions {
|
|
|
6
6
|
pointerUp(event: PointerEvent, type: ContextMenuType, predicate?: ContextMenuEventPredicate, onOpen?: (event: PointerEvent, point: Point.Point) => void): void;
|
|
7
7
|
contextMenu(event: Event, predicate?: ContextMenuEventPredicate): void;
|
|
8
8
|
longPress(event: TouchEvent, type: ContextMenuType, predicate?: ContextMenuEventPredicate, onOpen?: (event: TouchEvent, point: Point.Point) => void): void;
|
|
9
|
+
setContextMenuItem(item: ContextMenuItem): void;
|
|
9
10
|
clearActiveContextMenu(dismissedFromWindowPointerEvent?: boolean): void;
|
|
10
11
|
clearDismissedState(): void;
|
|
11
12
|
}
|
|
@@ -5,6 +5,7 @@ export type ContextMenuType = 'color-swatch' | 'measurement' | 'scene-tree' | 'v
|
|
|
5
5
|
export type ContextMenuItem = Row | Hit | HTMLElement;
|
|
6
6
|
export type ContextMenuAction = (item: ContextMenuItem) => void | Promise<void> | boolean | Promise<boolean>;
|
|
7
7
|
export declare function contextMenuItemIsRow(item?: ContextMenuItem): item is Row;
|
|
8
|
+
export declare function contextMenuItemIsElement(item?: ContextMenuItem): item is HTMLElement;
|
|
8
9
|
export declare const contextMenuActive: import("recoil").RecoilState<ContextMenuType>;
|
|
9
10
|
export declare const contextMenuPosition: import("recoil").RecoilState<Point.Point | undefined>;
|
|
10
11
|
export declare const contextMenuTarget: import("recoil").RecoilState<HTMLElement | undefined>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const LOW_SEVERITY_TOAST_MESSAGE_DURATION_MS = 3000;
|
|
2
2
|
export declare const LOW_SEVERITY_BANNER_MESSAGE_DURATION_MS = 5000;
|
|
3
|
+
export declare const MEDIUM_SEVERITY_TOAST_MESSAGE_DURATION_MS = 8000;
|
|
3
4
|
export type ToastSeverity = 'info' | 'warn' | 'error';
|
|
4
5
|
export interface ToastMessage {
|
|
5
6
|
id?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { MetadataProperty } from '@state/metadata/types';
|
|
2
|
+
interface MetadataSceneItemResponse {
|
|
3
|
+
metadata: MetadataProperty[] | undefined;
|
|
4
|
+
cursor: string | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare const showMetadataSceneItemProperties: import("recoil").RecoilState<boolean>;
|
|
7
|
+
export declare const nextMetadataSceneItemProperties: (param: string) => import("recoil").RecoilValueReadOnly<MetadataSceneItemResponse | undefined>;
|
|
8
|
+
export declare const loadedMetadataSceneItemProperties: (param: string) => import("recoil").RecoilState<MetadataProperty[]>;
|
|
9
|
+
export declare const metadataSceneItemPropertiesCursor: (param: string) => import("recoil").RecoilState<string | undefined>;
|
|
10
|
+
export declare const hasMoreMetadataSceneItemProperties: (param: string) => import("recoil").RecoilValueReadOnly<boolean>;
|
|
11
|
+
export declare const isFetchingMetadataSceneItemProperties: (param: string) => import("recoil").RecoilState<boolean>;
|
|
12
|
+
export declare const metadataSceneItemName: import("recoil").RecoilValueReadOnly<string | undefined>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DomainPropertyEntry, DomainPropertyValue } from '@vertexvis/viewer/dist/types/lib/scene-items';
|
|
2
|
+
export interface MetadataProperty {
|
|
3
|
+
key: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function fromApiProperty(property: DomainPropertyEntry): MetadataProperty;
|
|
7
|
+
export declare function apiMetadataPropertyDisplayValue(propertyValue?: DomainPropertyValue | null): string;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { PrimaryPanel } from '@state/panel/panel';
|
|
1
|
+
import { PrimaryPanel, SceneTreeSecondaryPanel } from '@state/panel/panel';
|
|
2
2
|
export type PanelSide = 'left' | 'right';
|
|
3
3
|
export interface UsePanelActions {
|
|
4
4
|
openPrimary(panel: PrimaryPanel, side: PanelSide): void;
|
|
5
5
|
closePrimary(side: PanelSide): void;
|
|
6
|
+
openSecondary(panel: SceneTreeSecondaryPanel): void;
|
|
7
|
+
closeSecondary(): void;
|
|
6
8
|
}
|
|
7
9
|
export declare function usePanelActions(): UsePanelActions;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export type PrimaryPanel = 'appearance' | 'settings' | 'transforms';
|
|
2
|
-
export
|
|
3
|
-
export declare const
|
|
1
|
+
export type PrimaryPanel = 'appearance' | 'settings' | 'transforms' | string;
|
|
2
|
+
export type SceneTreeSecondaryPanel = 'Properties';
|
|
3
|
+
export declare const openedPanelActivePrimaryLeft: import("recoil").RecoilState<string | undefined>;
|
|
4
|
+
export declare const openedPanelActivePrimaryRight: import("recoil").RecoilState<string | undefined>;
|
|
5
|
+
export declare const openedPanelActiveSceneTreeSecondary: import("recoil").RecoilState<"Properties" | undefined>;
|
|
@@ -10,6 +10,7 @@ interface DefaultColumn extends ActiveColumn {
|
|
|
10
10
|
}
|
|
11
11
|
export declare function mapToColumn(label: string, width: number): ActiveColumn;
|
|
12
12
|
export declare const sceneTreeColumnsRefreshTrigger: import("recoil").RecoilState<number>;
|
|
13
|
+
export declare const sceneTreeColumnsWhitelistedColumns: import("recoil").RecoilState<string[]>;
|
|
13
14
|
export declare const sceneTreeColumnsAvailableColumns: import("recoil").RecoilValueReadOnly<string[]>;
|
|
14
15
|
export declare const sceneTreeColumnsAvailableSortedColumns: import("recoil").RecoilValueReadOnly<string[]>;
|
|
15
16
|
export declare const sceneTreeColumnsVisibleMetadataColumnNames: import("recoil").RecoilState<string[]>;
|
package/dist/state/scene-tree/columns/{open-column-popover.d.ts → open-positioned-popover.d.ts}
RENAMED
|
@@ -6,16 +6,15 @@ export declare enum PlacementDirection {
|
|
|
6
6
|
LEFT = "left",
|
|
7
7
|
RIGHT = "right"
|
|
8
8
|
}
|
|
9
|
-
export interface
|
|
9
|
+
export interface UseOpenPositionedPopoverProps {
|
|
10
|
+
open: boolean;
|
|
10
11
|
buttonElement: HTMLVertexIconButtonElement | null;
|
|
11
12
|
horizontalOffset?: number;
|
|
12
13
|
verticalOffset?: number;
|
|
13
14
|
}
|
|
14
|
-
export interface
|
|
15
|
-
open: boolean;
|
|
15
|
+
export interface UseOpenPositionedPopover {
|
|
16
16
|
position?: Point.Point;
|
|
17
17
|
direction?: PlacementDirection;
|
|
18
18
|
handleOpen: React.EffectCallback;
|
|
19
|
-
handleClose: React.EffectCallback;
|
|
20
19
|
}
|
|
21
|
-
export declare function
|
|
20
|
+
export declare function useOpenPositionedPopover({ open, buttonElement, horizontalOffset, verticalOffset, }: UseOpenPositionedPopoverProps): UseOpenPositionedPopover;
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { SceneTreeOperationHandler } from '@vertexvis/viewer/dist/types/components/scene-tree/lib/handlers';
|
|
2
|
+
import { SceneTreePopoverType } from './core';
|
|
2
3
|
export interface UseSceneTreeActions {
|
|
3
4
|
toggleSelection: SceneTreeOperationHandler;
|
|
4
5
|
toggleExpansion: SceneTreeOperationHandler;
|
|
5
6
|
toggleVisibility: SceneTreeOperationHandler;
|
|
6
7
|
flyToRow: (rowClientY: number) => Promise<void>;
|
|
8
|
+
flyToFirstSelectedItem: () => Promise<void>;
|
|
7
9
|
setContextMenuItem: (rowClientY: number) => Promise<void>;
|
|
10
|
+
openSceneTreePopover(sceneTreePopover: SceneTreePopoverType | undefined): void;
|
|
11
|
+
closeSceneTreePopover(): void;
|
|
8
12
|
}
|
|
9
13
|
export declare function useSceneTreeActions(): UseSceneTreeActions;
|
|
@@ -2,3 +2,6 @@ import type { SceneTreeController } from '@vertexvis/viewer';
|
|
|
2
2
|
export declare const sceneTreeLoaderVisible: import("recoil").RecoilState<boolean>;
|
|
3
3
|
export declare const sceneTreeElement: import("recoil").RecoilState<HTMLVertexSceneTreeElement | null | undefined>;
|
|
4
4
|
export declare const sceneTreeController: import("recoil").RecoilState<SceneTreeController | undefined>;
|
|
5
|
+
export type SceneTreePopoverType = 'scene-tree-search' | 'scene-tree-columns';
|
|
6
|
+
export declare const sceneTreeOpenPopover: import("recoil").RecoilState<SceneTreePopoverType | undefined>;
|
|
7
|
+
export declare const sceneTreePopoverIsOpen: (param: SceneTreePopoverType) => import("recoil").RecoilValueReadOnly<boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './metadata';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export interface SceneTreeSearchActions {
|
|
2
2
|
setMetadataSearchKeys(metadataSearchKeys: string[]): void;
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
updateMetadataSearchAfterSearchKeysChange(columnName: string, enableColumn: boolean, visibleColumns: string[], searchTerm?: string): Promise<void>;
|
|
4
|
+
updateMetadataSearchAfterColumnVisibilityChange(previousColumns: string[], updatedColumns: string[], searchTerm?: string): Promise<void>;
|
|
5
5
|
setMetadataSearchExactMatch(exactMatch: boolean): void;
|
|
6
|
+
setMetadataSearchRemoveHiddenItems(removeHiddenItems: boolean): void;
|
|
6
7
|
}
|
|
7
8
|
export declare const useSceneTreeSearchActions: () => SceneTreeSearchActions;
|
|
@@ -2,6 +2,7 @@ export declare const sceneTreeSearchActive: import("recoil").RecoilState<boolean
|
|
|
2
2
|
export declare const sceneTreeColumnsPartial: import("recoil").RecoilState<boolean>;
|
|
3
3
|
export declare const sceneTreeSearchValue: import("recoil").RecoilState<string | undefined>;
|
|
4
4
|
export declare const sceneTreeSearchExactMatch: import("recoil").RecoilState<boolean>;
|
|
5
|
+
export declare const sceneTreeSearchRemoveHiddenItems: import("recoil").RecoilState<boolean>;
|
|
5
6
|
export declare const sceneTreeSearchResultCount: import("recoil").RecoilState<number>;
|
|
6
7
|
export declare const sceneTreeSearchActiveColumns: import("recoil").RecoilState<string[]>;
|
|
7
8
|
export declare const sceneTreeSearchNameColumnActive: import("recoil").RecoilValueReadOnly<boolean>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface UseSceneViewItemActions {
|
|
2
|
+
/**
|
|
3
|
+
* Invalidates the `fetchedItems` cache of scene items. This should be
|
|
4
|
+
* used when resetting the scene to the original state.
|
|
5
|
+
*/
|
|
6
|
+
invalidateCachedItems(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare function useSceneViewItemActions(): UseSceneViewItemActions;
|
|
@@ -11,9 +11,12 @@ export declare const selectionSelectedItemIds: import("recoil").RecoilState<stri
|
|
|
11
11
|
export declare const selectionLastSelected: import("recoil").RecoilState<SelectionItem | undefined>;
|
|
12
12
|
export declare const selectionLastSelectionFromViewer: import("recoil").RecoilState<boolean>;
|
|
13
13
|
export declare const selectionLastSelectWasMultiSelect: import("recoil").RecoilState<boolean>;
|
|
14
|
+
export declare const selectionHasMultipleSelected: import("recoil").RecoilValueReadOnly<boolean>;
|
|
15
|
+
export declare const selectionFirstSelectedItemInTreeId: import("recoil").RecoilState<string | undefined>;
|
|
14
16
|
export declare const selectionHighestSelectedAncestor: import("recoil").RecoilValueReadOnly<string | undefined>;
|
|
15
17
|
export declare const selectionPreviousVisibleSummary: import("recoil").RecoilState<SceneViewSummary.ItemSetSummary | undefined>;
|
|
16
18
|
export declare const selectionVisibleSummary: import("recoil").RecoilState<SceneViewSummary.ItemSetSummary | undefined>;
|
|
17
19
|
export declare const selectionVisibleCount: import("recoil").RecoilValueReadOnly<number>;
|
|
18
20
|
export declare const selectionBoundingBoxCenter: import("recoil").RecoilValueReadOnly<Vector3.Vector3>;
|
|
19
21
|
export declare const selectionIsActive: import("recoil").RecoilValueReadOnly<boolean>;
|
|
22
|
+
export declare const fetchedAndSelectedItems: import("recoil").RecoilValueReadOnly<(import("@vertexvis/viewer").SceneViewItem | undefined)[]>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Hit } from '@state/hits';
|
|
2
2
|
import { Euler, Vector3 } from '@vertexvis/geometry';
|
|
3
|
+
import { UUID } from '@vertexvis/utils';
|
|
3
4
|
export interface TransformActions {
|
|
4
5
|
enableTransformWidget: (position?: Vector3.Vector3, setPositionToSelection?: boolean) => Promise<void>;
|
|
5
6
|
disableTransformWidget: () => void;
|
|
@@ -7,7 +8,7 @@ export interface TransformActions {
|
|
|
7
8
|
clearTransformWidgetOrientation: () => void;
|
|
8
9
|
setTransformWidgetPosition: (position?: Vector3.Vector3, disableSync?: boolean) => Promise<void>;
|
|
9
10
|
clearTransformWidgetPosition: () => void;
|
|
10
|
-
invalidateTransforms: () => void
|
|
11
|
+
invalidateTransforms: () => Promise<void>;
|
|
11
12
|
setIsInteractivelyTransforming: (interacting: boolean) => void;
|
|
12
13
|
setDefaultWidgetPosition: () => Promise<void>;
|
|
13
14
|
setDefaultWidgetPositionToSelection: () => Promise<void>;
|
|
@@ -17,5 +18,6 @@ export interface TransformActions {
|
|
|
17
18
|
orientToHitResult: (hit?: Hit) => Promise<void>;
|
|
18
19
|
clearSelectedTransforms: () => Promise<void>;
|
|
19
20
|
clearAllTransforms: () => Promise<void>;
|
|
21
|
+
applyTransformToItem: (itemId: UUID.UUID) => Promise<void>;
|
|
20
22
|
}
|
|
21
23
|
export declare const useTransformActions: () => TransformActions;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ItemTransforms, TransformCoordinateSpace } from '@state/transforms/transforms';
|
|
2
|
+
import { DistanceUnitType } from '@util/numbers/distance-units';
|
|
3
|
+
import { Matrix4 } from '@vertexvis/geometry';
|
|
4
|
+
import { Transform } from '@vertexvis/viewer';
|
|
5
|
+
export declare function pickLocalOrWorldTransform(transform: ItemTransforms, coordinateSpace: TransformCoordinateSpace): Transform;
|
|
6
|
+
export declare function mapItemTransforms(transforms: ItemTransforms, map: (t: Transform) => Transform): ItemTransforms;
|
|
7
|
+
export declare function makeItemTransforms(transform: Transform, parentWM: Matrix4.Matrix4, coordinateSpace: TransformCoordinateSpace): ItemTransforms;
|
|
8
|
+
export declare function convertTransformToUnits(transform: Transform, units: DistanceUnitType): Transform;
|
|
9
|
+
export declare function convertTransformFromUnits(transform: Transform, units: DistanceUnitType): Transform;
|
|
10
|
+
export declare function toValidTransform(transform: Transform): Transform;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export interface Transform {
|
|
6
|
-
position: Vector3.Vector3;
|
|
7
|
-
rotation: Vector3.Vector3;
|
|
8
|
-
scale: number;
|
|
9
|
-
}
|
|
1
|
+
import { DistanceUnitType } from '@util/numbers/distance-units';
|
|
2
|
+
import { Euler, Matrix4, Vector3 } from '@vertexvis/geometry';
|
|
3
|
+
import { UUID } from '@vertexvis/utils';
|
|
4
|
+
import { Transform } from '@vertexvis/viewer';
|
|
10
5
|
/**
|
|
11
6
|
* A type that wraps the local and world transforms for an item.
|
|
12
7
|
*/
|
|
@@ -14,7 +9,16 @@ export interface ItemTransforms {
|
|
|
14
9
|
local: Transform;
|
|
15
10
|
world: Transform;
|
|
16
11
|
}
|
|
12
|
+
interface EditedItemTransform {
|
|
13
|
+
transform: Transform;
|
|
14
|
+
coordinateSpace: TransformCoordinateSpace;
|
|
15
|
+
units: DistanceUnitType;
|
|
16
|
+
}
|
|
17
17
|
export type TransformCoordinateSpace = 'world' | 'local';
|
|
18
|
+
/**
|
|
19
|
+
* A transform that is equivalent to an identity matrix.
|
|
20
|
+
*/
|
|
21
|
+
export declare const identityTransform: Transform;
|
|
18
22
|
export declare const transformWidgetEnabled: import("recoil").RecoilState<boolean>;
|
|
19
23
|
export declare const transformWidgetPosition: import("recoil").RecoilState<Vector3.Vector3 | undefined>;
|
|
20
24
|
export declare const transformWidgetOrientationOverride: import("recoil").RecoilState<Euler.Euler | undefined>;
|
|
@@ -36,3 +40,45 @@ export declare const appliedItemTransformIds: import("recoil").RecoilState<strin
|
|
|
36
40
|
* The state of the chosen coordinate space, e.g. local or world coordinates.
|
|
37
41
|
*/
|
|
38
42
|
export declare const selectedCoordinateSpace: import("recoil").RecoilState<TransformCoordinateSpace>;
|
|
43
|
+
/**
|
|
44
|
+
* An atom that tracks the state of the transform that was edited through the
|
|
45
|
+
* UI.
|
|
46
|
+
*
|
|
47
|
+
* **Note:** The UI should use the `displayedItemTransform` selector for
|
|
48
|
+
* presentation and editing, as that selector contains the business logic for
|
|
49
|
+
* pulling the correct state of the transform.
|
|
50
|
+
*/
|
|
51
|
+
export declare const editedItemTransform: (param: string) => import("recoil").RecoilState<EditedItemTransform | undefined>;
|
|
52
|
+
/**
|
|
53
|
+
* A selector that returns the transform that can be displayed in the UI. This
|
|
54
|
+
* selector supports a setter than can be used by the UI to update the edited
|
|
55
|
+
* transform state, and apply the transform to the scene item.
|
|
56
|
+
*/
|
|
57
|
+
export declare const displayedItemTransform: (param: string | undefined) => import("recoil").RecoilState<Transform | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* An async selector that fetches the local and world transforms for an item.
|
|
60
|
+
*/
|
|
61
|
+
export declare const fetchedItemTransforms: (param: string) => import("recoil").RecoilValueReadOnly<ItemTransforms | undefined>;
|
|
62
|
+
/**
|
|
63
|
+
* An invalidator state to increment when we want the current transforms to be updated
|
|
64
|
+
*/
|
|
65
|
+
export declare const transformInvalidator: import("recoil").RecoilState<number>;
|
|
66
|
+
/**
|
|
67
|
+
* A selector that will return the world matrix of an item's parent. If an item
|
|
68
|
+
* doesn't have a parent, then an identity matrix will be returned.
|
|
69
|
+
*
|
|
70
|
+
* **Note:** if the parent item has not been loaded, then this will fetch the
|
|
71
|
+
* parent item.
|
|
72
|
+
*/
|
|
73
|
+
export declare const parentItemWorldMatrix: (param: string | undefined) => import("recoil").RecoilValueReadOnly<Matrix4.Matrix4 | undefined>;
|
|
74
|
+
interface UseEditItemTransform {
|
|
75
|
+
transform: Transform | undefined;
|
|
76
|
+
loading: boolean;
|
|
77
|
+
error: unknown;
|
|
78
|
+
update(newTransform: Transform): Promise<void>;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns a hook that can be used to edit the transform of an item.
|
|
82
|
+
*/
|
|
83
|
+
export declare function useEditItemTransform(itemId?: UUID.UUID): UseEditItemTransform;
|
|
84
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -4,6 +4,6 @@ export declare const DEFAULT_CAMERA_ANIMATION_DURATION = 500;
|
|
|
4
4
|
export interface UseViewerCameraActions {
|
|
5
5
|
flyToById(id: string, animationMs?: number): Promise<void>;
|
|
6
6
|
flyToByBoundingBox(boundingBox: BoundingBox.BoundingBox, animationMs?: number): Promise<void>;
|
|
7
|
-
updateCameraType(type: ViewType): void
|
|
7
|
+
updateCameraType(type: ViewType, checkBoundingBox: boolean): Promise<void>;
|
|
8
8
|
}
|
|
9
9
|
export declare function useViewerCameraActions(): UseViewerCameraActions;
|
|
@@ -4,3 +4,4 @@ export declare const viewerElementId: import("recoil").RecoilState<string>;
|
|
|
4
4
|
export declare const viewerInitialSceneReady: import("recoil").RecoilState<boolean>;
|
|
5
5
|
export declare const viewerBaseInteractionHandlerProvider: import("recoil").RecoilState<Promise<BaseInteractionHandler | undefined>>;
|
|
6
6
|
export declare const viewerPrimaryInteractionType: import("recoil").RecoilState<InteractionType>;
|
|
7
|
+
export declare const viewerSceneViewId: import("recoil").RecoilState<string | undefined>;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { BoundingBox } from '@vertexvis/geometry';
|
|
2
|
-
import type { Scene } from '@vertexvis/viewer';
|
|
3
2
|
import type { FrameScene } from '@vertexvis/viewer/dist/types/lib/types';
|
|
4
|
-
export declare const viewerSceneProvider: import("recoil").RecoilValueReadOnly<() => Promise<Scene | undefined>>;
|
|
5
3
|
export declare const viewerFrameScene: import("recoil").RecoilState<FrameScene | undefined>;
|
|
6
4
|
export declare const viewerSceneVisibleBoundingBox: import("recoil").RecoilValueReadOnly<BoundingBox.BoundingBox | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const defaultColorMaterialsWithId: import("@util/appearance/color").ColorMaterialWithId[];
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Point } from '@vertexvis/geometry';
|
|
2
|
+
export type PopoverSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
2
3
|
export type DraggablePopoverPlacement = 'left' | 'right';
|
|
3
4
|
export declare function useDockedPlacement(parent: HTMLElement | null, placement: DraggablePopoverPlacement): Point.Point;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function childrenAsArray<T>(children: T): T[];
|
|
3
|
+
export declare function filterChildElements<P>(children: React.ReactNode, element: (props: P) => React.ReactElement<P>): Array<React.ReactElement<P>>;
|
|
4
|
+
export declare function findChildElement<P>(children: React.ReactNode, element: (props: P) => React.ReactElement<P>): React.ReactElement<P> | undefined;
|
|
5
|
+
export declare function cloneChildNodeOrFunction<P>(children: React.ReactElement<P> | ((props: P) => React.ReactNode), props: P & React.Attributes): React.ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { HTMLStencilElement } from '@vertexvis/viewer/dist/types/stencil-public-runtime';
|
|
2
|
-
export declare function whenComponentReady<T extends HTMLStencilElement, R>(component: T | undefined | null, execute: () => R): Promise<R | undefined>;
|
|
2
|
+
export declare function whenComponentReady<T extends HTMLStencilElement, R>(component: T | undefined | null, execute: () => R, providedCustomElements?: CustomElementRegistry, providedRequestAnimationFrame?: typeof requestAnimationFrame, providedSetTimeout?: typeof setTimeout): Promise<R | undefined>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Matrix4, Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import { Transform } from '@vertexvis/viewer';
|
|
3
|
+
export declare function scale(matrix4: number[]): number;
|
|
4
|
+
export declare function translation(matrix4: number[]): Vector3.Vector3;
|
|
5
|
+
export declare function rotation(matrix4: number[]): Vector3.Vector3;
|
|
6
|
+
export declare function toTransformFromApiMatrix(matrix: Matrix4.Matrix4 | undefined): Transform | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertexvis/viewer-toolkit-react",
|
|
3
|
-
"version": "0.0.5-canary.
|
|
3
|
+
"version": "0.0.5-canary.21",
|
|
4
4
|
"description": "Components for common Vertex viewer usage patterns.",
|
|
5
5
|
"author": "Vertex Developers <support@vertexvis.com> (https://developer.vertexvis.com)",
|
|
6
6
|
"repository": {
|
|
@@ -32,9 +32,10 @@
|
|
|
32
32
|
"prebuild": "yarn clean"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@vertexvis/utils": "^0.23.
|
|
35
|
+
"@vertexvis/utils": "^0.23.6-canary.9",
|
|
36
36
|
"classnames": "^2.3.1",
|
|
37
37
|
"pino": "^9.7.0",
|
|
38
|
+
"react-infinite-scroller": "^1.2.6",
|
|
38
39
|
"recoil": "^0.7.7"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
@@ -46,23 +47,27 @@
|
|
|
46
47
|
"@tailwindcss/postcss": "^4.0.12",
|
|
47
48
|
"@testing-library/react": "^16.2.0",
|
|
48
49
|
"@testing-library/user-event": "^14.6.1",
|
|
50
|
+
"@types/chance": "^1.1.6",
|
|
49
51
|
"@types/jest": "^27.5.1",
|
|
50
52
|
"@types/react": "^18.3.0",
|
|
51
53
|
"@types/react-dom": "^18.3.0",
|
|
54
|
+
"@types/react-infinite-scroller": "^1.2.5",
|
|
52
55
|
"@vertexvis/build-tools": "^0.10.1",
|
|
53
56
|
"@vertexvis/eslint-config-vertexvis-typescript": "^0.5.1",
|
|
54
57
|
"@vertexvis/jest-config-vertexvis": "^0.5.5",
|
|
55
|
-
"@vertexvis/tailwind-config": "^0.1.
|
|
56
|
-
"@vertexvis/ui-react": "^0.1.
|
|
57
|
-
"@vertexvis/viewer-react": "^0.
|
|
58
|
-
"@vertexwebtoolkit/build": "^0.0.5-canary.
|
|
58
|
+
"@vertexvis/tailwind-config": "^0.1.3",
|
|
59
|
+
"@vertexvis/ui-react": "^0.1.3",
|
|
60
|
+
"@vertexvis/viewer-react": "^0.24.3-canary.2",
|
|
61
|
+
"@vertexwebtoolkit/build": "^0.0.5-canary.21",
|
|
59
62
|
"autoprefixer": "^10.4.20",
|
|
63
|
+
"chance": "^1.1.13",
|
|
60
64
|
"eslint": "8.49.0",
|
|
61
65
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
62
66
|
"eslint-plugin-storybook": "0.6.15",
|
|
63
67
|
"identity-obj-proxy": "^3.0.0",
|
|
64
68
|
"jest": "^29.7.0",
|
|
65
69
|
"jest-environment-jsdom": "^29.7.0",
|
|
70
|
+
"jest-fetch-mock": "^3.0.3",
|
|
66
71
|
"postcss": "^8.5.3",
|
|
67
72
|
"prettier": "^3.5.3",
|
|
68
73
|
"react": "^18.3.0",
|
|
@@ -78,11 +83,11 @@
|
|
|
78
83
|
"tslib": "^2.8.1"
|
|
79
84
|
},
|
|
80
85
|
"peerDependencies": {
|
|
81
|
-
"@vertexvis/ui-react": ">=0.1.
|
|
82
|
-
"@vertexvis/viewer-react": ">=0.
|
|
86
|
+
"@vertexvis/ui-react": ">=0.1.3 < 1.0.0",
|
|
87
|
+
"@vertexvis/viewer-react": ">=0.24.2 <1.0.0",
|
|
83
88
|
"react": ">=16.3.0 <19.0.0",
|
|
84
89
|
"react-dom": ">=16.3.0 <19.0.0",
|
|
85
90
|
"tslib": ">=2.1.0"
|
|
86
91
|
},
|
|
87
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "8c8ebfc14d685264a3691848242a4ecb71b1ab13"
|
|
88
93
|
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { ColorMaterial } from '@vertexvis/viewer';
|
|
2
|
-
export interface Props {
|
|
3
|
-
onApplyMaterial?: (color: ColorMaterial.ColorMaterial | undefined) => void;
|
|
4
|
-
onApplyMaterialToAll?: (color: ColorMaterial.ColorMaterial | undefined) => void;
|
|
5
|
-
onApplyOpacity?: (opacity: number) => void;
|
|
6
|
-
}
|
|
7
|
-
export declare function VertexMaterialControls({ onApplyMaterial, onApplyMaterialToAll, onApplyOpacity, }: Props): JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ColorMaterial } from '@vertexvis/viewer';
|
|
2
|
-
export interface Props {
|
|
3
|
-
onClearMaterial?: VoidFunction;
|
|
4
|
-
onClearAllMaterials?: VoidFunction;
|
|
5
|
-
onApplyMaterial?: (color: ColorMaterial.ColorMaterial | undefined) => void;
|
|
6
|
-
onApplyMaterialToAll?: (color: ColorMaterial.ColorMaterial | undefined) => void;
|
|
7
|
-
onApplyOpacity?: (opacity: number) => void;
|
|
8
|
-
}
|
|
9
|
-
export declare function VertexMaterialPanelSection({ onClearMaterial, onClearAllMaterials, onApplyMaterial, onApplyMaterialToAll, onApplyOpacity, }: Props): JSX.Element;
|
|
@@ -1,14 +0,0 @@
|
|
|
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;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/components/scene-tree/{vertex-scene-tree-header.d.ts → scene-tree-header.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|