@vertexvis/viewer-toolkit-react 0.0.3-canary.8 → 0.0.3-testing.0
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 +2 -2
- package/dist/bundle.cjs.js.map +1 -1
- package/dist/bundle.esm.js +2 -2
- package/dist/bundle.esm.js.map +1 -1
- package/dist/components/measurement/__tests__/measurement-context-menu.spec.d.ts +1 -0
- package/dist/components/measurement/__tests__/point-to-point-measurement-tool.spec.d.ts +1 -0
- package/dist/components/measurement/__tests__/point-to-point-measurement.spec.d.ts +1 -0
- package/dist/components/measurement/__tests__/precise-measurement-tool.spec.d.ts +1 -0
- package/dist/components/measurement/__tests__/precise-measurement.spec.d.ts +1 -0
- package/dist/components/measurement/measurement-context-menu.d.ts +5 -0
- package/dist/components/measurement/measurement-details.d.ts +5 -0
- package/dist/components/measurement/point-to-point-measurement-tool.d.ts +1 -0
- package/dist/components/measurement/point-to-point-measurement.d.ts +7 -0
- package/dist/components/measurement/precise-measurement-tool.d.ts +1 -0
- package/dist/components/measurement/precise-measurement.d.ts +8 -0
- package/dist/components/scene-tree/scene-tree-columns/__tests__/scene-tree-columns-popover.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-columns/scene-tree-columns-popover.d.ts +4 -0
- package/dist/components/scene-tree/scene-tree-columns/scene-tree-metadata-check.d.ts +8 -0
- package/dist/components/scene-tree/scene-tree-search/__tests__/enter-scene-tree-search-mode-button.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-search/__tests__/scene-tree-search-bar.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-search/__tests__/scene-tree-search-information-for-toolbar.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-search/__tests__/scene-tree-search-options-popover.spec.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-search/enter-scene-tree-search-mode-button.d.ts +4 -0
- package/dist/components/scene-tree/scene-tree-search/scene-tree-search-bar.d.ts +10 -0
- package/dist/components/scene-tree/scene-tree-search/scene-tree-search-information-for-toolbar.d.ts +1 -0
- package/dist/components/scene-tree/scene-tree-search/scene-tree-search-options-popover.d.ts +5 -0
- package/dist/components/scene-tree/scene-tree-search/scene-tree-search.d.ts +11 -0
- package/dist/components/scene-tree/scene-tree-toolbar/scene-tree-toolbar.d.ts +4 -1
- package/dist/components/scene-tree/vertex-scene-tree-header.d.ts +6 -1
- package/dist/components/settings/__tests__/units-panel-section.spec.d.ts +1 -0
- package/dist/components/settings/decimal-place-selector.d.ts +4 -0
- package/dist/components/settings/length-unit-selector.d.ts +4 -0
- package/dist/components/settings/units-controls.d.ts +5 -0
- package/dist/components/settings/units-panel-section.d.ts +5 -0
- package/dist/components/sidebar/viewer-right-sidebar/__tests__/viewer-right-sidebar.spec.d.ts +1 -0
- package/dist/components/sidebar/viewer-right-sidebar/settings-panel.d.ts +1 -0
- package/dist/components/sidebar/viewer-right-sidebar/viewer-right-panel-header.d.ts +1 -0
- package/dist/components/toolbar/cross-section/cross-section-offset-stepper.d.ts +1 -4
- package/dist/components/toolbar/cross-section/cross-section-popup-menu.d.ts +1 -6
- package/dist/components/toolbar/cross-section/cross-section.d.ts +1 -6
- package/dist/components/toolbar/toolbar-divider.d.ts +1 -1
- package/dist/components/transforms/transform-widget.d.ts +1 -4
- package/dist/index.css +2 -2
- package/dist/index.d.ts +16 -2
- package/dist/state/context-menu/context-menu.d.ts +1 -1
- package/dist/state/measurement/actions.d.ts +19 -0
- package/dist/state/measurement/index.d.ts +4 -0
- package/dist/state/measurement/measurement.d.ts +6 -0
- package/dist/state/measurement/point-to-point-measurement.d.ts +11 -0
- package/dist/state/measurement/precise-measurement.d.ts +8 -0
- package/dist/state/panel/panel.d.ts +1 -1
- package/dist/state/scene-tree/columns/actions.d.ts +4 -0
- package/dist/state/scene-tree/columns/columns.d.ts +4 -3
- package/dist/state/scene-tree/columns/index.d.ts +2 -0
- package/dist/state/scene-tree/columns/open-column-popover.d.ts +21 -0
- package/dist/state/scene-tree/core/core.d.ts +1 -2
- package/dist/state/scene-tree/search/actions.d.ts +7 -0
- package/dist/state/scene-tree/search/index.d.ts +2 -0
- package/dist/state/scene-tree/search/search.d.ts +13 -0
- package/dist/state/settings/index.d.ts +1 -0
- package/dist/state/settings/settings.d.ts +2 -0
- package/dist/state/viewer/core/core.d.ts +1 -0
- package/dist/util/logging/index.d.ts +1 -0
- package/dist/util/popover/popover.d.ts +3 -0
- package/package.json +6 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function VertexPointToPointMeasurementTool(): JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EditedPointToPointMeasurement } from '@state/measurement';
|
|
2
|
+
import { DraggablePopoverPlacement } from '@util/popover/popover';
|
|
3
|
+
export interface PointToPointMeasurementProps {
|
|
4
|
+
detailsPlacement: DraggablePopoverPlacement;
|
|
5
|
+
onPointToPointMeasurementChange?: (measurement: EditedPointToPointMeasurement) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function VertexPointToPointMeasurement({ detailsPlacement, onPointToPointMeasurementChange, }: PointToPointMeasurementProps): JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function VertexPreciseMeasurementTool(): JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DraggablePopoverPlacement } from '@util/popover/popover';
|
|
2
|
+
import type { MeasurementEntity, MeasurementOutcome } from '@vertexvis/viewer';
|
|
3
|
+
export interface Props {
|
|
4
|
+
detailsPlacement: DraggablePopoverPlacement;
|
|
5
|
+
onEntitiesChanged?: (measurement: MeasurementEntity[]) => void;
|
|
6
|
+
onOutcomeChanged?: (measurement: MeasurementOutcome | undefined) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const VertexPreciseMeasurement: ({ detailsPlacement, onEntitiesChanged, onOutcomeChanged, }: Props) => JSX.Element;
|
package/dist/components/scene-tree/scene-tree-columns/__tests__/scene-tree-columns-popover.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface Props {
|
|
3
|
+
checked?: boolean;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
onChange?: (checked: boolean) => void;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare const VertexSceneTreeMetadataCheck: ({ checked, disabled, onChange, children, }: Props) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/components/scene-tree/scene-tree-search/__tests__/scene-tree-search-bar.spec.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface Props {
|
|
3
|
+
onSearch?: (search?: string) => void;
|
|
4
|
+
onClearSearch?: () => void;
|
|
5
|
+
onExitSearchMode?: () => void;
|
|
6
|
+
onSearchedSceneTreeColumnsChange?: () => void;
|
|
7
|
+
onSearchForExactMatchChange?: () => void;
|
|
8
|
+
children?: React.ReactNode | React.ReactNode[];
|
|
9
|
+
}
|
|
10
|
+
export declare const VertexSceneTreeSearchBar: ({ onSearch, onClearSearch, onExitSearchMode, onSearchedSceneTreeColumnsChange, onSearchForExactMatchChange, children, }: Props) => JSX.Element;
|
package/dist/components/scene-tree/scene-tree-search/scene-tree-search-information-for-toolbar.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const VertexSceneTreeSearchInformationForToolbar: () => JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export interface Props {
|
|
2
|
+
onSearchedSceneTreeColumnsChange?: () => void;
|
|
3
|
+
onSearchForExactMatchChange?: () => void;
|
|
4
|
+
}
|
|
5
|
+
export declare const VertexSceneTreeSearchOptionsPopover: ({ onSearchedSceneTreeColumnsChange, onSearchForExactMatchChange, }: Props) => JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface Props {
|
|
3
|
+
onEnterSearchMode?: () => void;
|
|
4
|
+
onExitSearchMode?: () => void;
|
|
5
|
+
onSearch?: (search?: string) => void;
|
|
6
|
+
onClearSearch?: () => void;
|
|
7
|
+
onSearchedSceneTreeColumnsChange?: () => void;
|
|
8
|
+
onSearchForExactMatchChange?: () => void;
|
|
9
|
+
children?: React.ReactNode | React.ReactNode[];
|
|
10
|
+
}
|
|
11
|
+
export declare const VertexSceneTreeSearch: ({ onEnterSearchMode, onExitSearchMode, onSearch, onClearSearch, onSearchedSceneTreeColumnsChange, onSearchForExactMatchChange, children, }: Props) => JSX.Element;
|
|
@@ -1 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface Props {
|
|
2
|
+
onVisibleSceneTreeColumnsChange?: (visibleColumns: string[]) => void;
|
|
3
|
+
}
|
|
4
|
+
export declare const VertexSceneTreeToolbar: ({ onVisibleSceneTreeColumnsChange, }: Props) => JSX.Element;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface Props {
|
|
3
|
+
onEnterSearchMode?: () => void;
|
|
4
|
+
onExitSearchMode?: () => void;
|
|
5
|
+
onSearch?: (search?: string) => void;
|
|
6
|
+
onClearSearch?: () => void;
|
|
7
|
+
onVisibleSceneTreeColumnsChange?: (visibleColumns: string[]) => void;
|
|
3
8
|
readonly children?: React.ReactNode;
|
|
4
9
|
}
|
|
5
|
-
export declare const VertexSceneTreeHeader: ({ children }: Props) => JSX.Element;
|
|
10
|
+
export declare const VertexSceneTreeHeader: ({ onEnterSearchMode, onExitSearchMode, onSearch, onClearSearch, onVisibleSceneTreeColumnsChange, children, }: Props) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function DefaultSettingsPanel(): JSX.Element;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { DistanceUnitType } from '@util/measurement/units';
|
|
2
1
|
interface Props {
|
|
3
2
|
offset: number;
|
|
4
|
-
measurementUnit: DistanceUnitType;
|
|
5
|
-
decimalPlaces: number;
|
|
6
3
|
onOffsetChange: (offset: number) => void;
|
|
7
4
|
}
|
|
8
|
-
export declare function VertexViewerCrossSectionOffsetStepper({ offset,
|
|
5
|
+
export declare function VertexViewerCrossSectionOffsetStepper({ offset, onOffsetChange, }: Props): JSX.Element;
|
|
9
6
|
export {};
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export interface Props {
|
|
3
|
-
decimalPlaces: number;
|
|
4
|
-
measurementUnit: DistanceUnitType;
|
|
5
|
-
}
|
|
6
|
-
export declare function VertexViewerCrossSectionPopupMenu({ decimalPlaces, measurementUnit, }: Props): JSX.Element;
|
|
1
|
+
export declare function VertexViewerCrossSectionPopupMenu(): JSX.Element;
|
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export interface Props {
|
|
3
|
-
readonly decimalPlaces?: number;
|
|
4
|
-
readonly measurementUnit?: DistanceUnitType;
|
|
5
|
-
}
|
|
6
|
-
export declare const VertexViewerCrossSectionButton: ({ decimalPlaces, measurementUnit, }: Props) => JSX.Element;
|
|
1
|
+
export declare const VertexViewerCrossSectionButton: () => JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function
|
|
1
|
+
export declare function VertexToolbarDivider(): JSX.Element;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { Euler, Vector3 } from '@vertexvis/geometry';
|
|
2
|
-
import { DistanceUnitType } from '@vertexvis/viewer';
|
|
3
2
|
import React from 'react';
|
|
4
3
|
interface Props {
|
|
5
4
|
transformWidgetElement?: React.Ref<HTMLVertexViewerTransformWidgetElement>;
|
|
6
5
|
supportUndo?: boolean;
|
|
7
|
-
decimalPlaces?: number;
|
|
8
|
-
distanceUnit?: DistanceUnitType;
|
|
9
6
|
onPositionChange?: (position: Vector3.Vector3 | undefined) => void;
|
|
10
7
|
onRotationChange?: (orientation: Euler.Euler | undefined) => void;
|
|
11
8
|
}
|
|
12
|
-
export declare function VertexTransformWidget({ transformWidgetElement, supportUndo,
|
|
9
|
+
export declare function VertexTransformWidget({ transformWidgetElement, supportUndo, onPositionChange, onRotationChange, }: Props): JSX.Element;
|
|
13
10
|
export {};
|
package/dist/index.css
CHANGED
|
@@ -1,7 +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-400:oklch(0.708 0 0);--color-neutral-600:oklch(0.439 0 0);--color-neutral-700:oklch(0.371 0 0);--color-neutral-800:oklch(0.269 0 0);--color-neutral-900:oklch(0.205 0 0);--color-white:#fff;--spacing:0.25rem;--container-lg:32rem;--text-xs:0.75rem;--text-xs--line-height:1.33333;--text-sm:0.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--font-weight-medium:500;--radius-md:0.375rem;--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(
|
|
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-400:oklch(0.708 0 0);--color-neutral-500:oklch(0.556 0 0);--color-neutral-600:oklch(0.439 0 0);--color-neutral-700:oklch(0.371 0 0);--color-neutral-800:oklch(0.269 0 0);--color-neutral-900:oklch(0.205 0 0);--color-white:#fff;--spacing:0.25rem;--container-lg:32rem;--text-xs:0.75rem;--text-xs--line-height:1.33333;--text-sm:0.875rem;--text-sm--line-height:1.42857;--text-base:1rem;--text-base--line-height:1.5;--font-weight-medium:500;--radius-md:0.375rem;--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(
|
|
2
2
|
--font-sans--font-variation-settings
|
|
3
3
|
);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(
|
|
4
4
|
--font-mono--font-feature-settings
|
|
5
5
|
);--default-mono-font-variation-settings:var(
|
|
6
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{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.z-\[16000\]{z-index:16000}.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-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.-ml-px{margin-left:-1px}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-6{height:calc(var(--spacing)*6)}.h-10{height:calc(var(--spacing)*10)}.h-full{height:100%}.min-h-12{min-height:calc(var(--spacing)*12)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.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}.max-w-lg{max-width:var(--container-lg)}.min-w-12{min-width:calc(var(--spacing)*12)}.min-w-75{min-width:calc(var(--spacing)*75)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow: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}.flex-col{flex-direction:column}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-evenly{justify-content:space-evenly}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-3{padding:calc(var(--spacing)*3)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.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)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-right{text-align:right}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--vertex-ui-blue-700\)\]{color:var(--vertex-ui-blue-700)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.opacity-70{opacity:70%}.opacity-95{opacity:95%}.opacity-100{opacity:100%}.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,)}.select-none{-webkit-user-select:none;user-select:none}.hover\:bg-neutral-200{&:hover{@media (hover:hover){background-color:var(--color-neutral-200)}}}.hover\:bg-neutral-300{&:hover{@media (hover:hover){background-color:var(--color-neutral-300)}}}.hover\:text-neutral-700{&:hover{@media (hover:hover){color:var(--color-neutral-700)}}}.hover\:text-neutral-800{&:hover{@media (hover:hover){color:var(--color-neutral-800)}}}.hover\:opacity-100{&:hover{@media (hover:hover){opacity:100%}}}.active\:bg-neutral-400{&:active{background-color:var(--color-neutral-400)}}.md\:hidden,.md\:p-3,.md\:pointer-events-auto{@media (width >= 48rem){padding:calc(var(--spacing)*3)}}}: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-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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}
|
|
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{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing)*0)}.right-0{right:calc(var(--spacing)*0)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.z-\[16000\]{z-index:16000}.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)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.-ml-px{margin-left:-1px}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.h-0{height:calc(var(--spacing)*0)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-6{height:calc(var(--spacing)*6)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing)*64)}.min-h-12{min-height:calc(var(--spacing)*12)}.w-6{width:calc(var(--spacing)*6)}.w-12{width:calc(var(--spacing)*12)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.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}.max-w-lg{max-width:var(--container-lg)}.min-w-12{min-width:calc(var(--spacing)*12)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-75{min-width:calc(var(--spacing)*75)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow: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}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-evenly{justify-content:space-evenly}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.space-x-2{:where(&>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*2*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*2*var(--tw-space-x-reverse))}}.space-x-4{:where(&>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-end:calc(var(--spacing)*4*(1 - var(--tw-space-x-reverse)));margin-inline-start:calc(var(--spacing)*4*var(--tw-space-x-reverse))}}.gap-y-1\.5{row-gap:calc(var(--spacing)*1.5)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:calc(infinity * 1px)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-neutral-200{border-color:var(--color-neutral-200)}.border-neutral-300{border-color:var(--color-neutral-300)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-neutral-200{background-color:var(--color-neutral-200)}.bg-neutral-300{background-color:var(--color-neutral-300)}.bg-neutral-600{background-color:var(--color-neutral-600)}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-3{padding:calc(var(--spacing)*3)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.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)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-0\.5{padding-left:calc(var(--spacing)*.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-right{text-align:right}.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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.875rem\]{font-size:.875rem}.text-\[0\.8125rem\]{font-size:.8125rem}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.text-\[var\(--vertex-ui-blue-700\)\]{color:var(--vertex-ui-blue-700)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-700{color:var(--color-neutral-700)}.text-neutral-800{color:var(--color-neutral-800)}.text-neutral-900{color:var(--color-neutral-900)}.opacity-70{opacity:70%}.opacity-95{opacity:95%}.opacity-100{opacity:100%}.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)}.blur{--tw-blur:blur(8px)}.blur,.invert{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,)}.invert{--tw-invert:invert(100%)}.filter{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,)}.select-none{-webkit-user-select:none;user-select:none}.hover\:bg-neutral-200{&:hover{@media (hover:hover){background-color:var(--color-neutral-200)}}}.hover\:bg-neutral-300{&:hover{@media (hover:hover){background-color:var(--color-neutral-300)}}}.hover\:text-neutral-700{&:hover{@media (hover:hover){color:var(--color-neutral-700)}}}.hover\:text-neutral-800{&:hover{@media (hover:hover){color:var(--color-neutral-800)}}}.hover\:opacity-100{&:hover{@media (hover:hover){opacity:100%}}}.active\:bg-neutral-400{&:active{background-color:var(--color-neutral-400)}}.md\:hidden,.md\:p-3,.md\:pointer-events-auto{@media (width >= 48rem){padding:calc(var(--spacing)*3)}}}: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}}.filtered vertex-scene-tree-table-cell:not([is-filter-hit]){color:var(--color-neutral-500)}vertex-resizable.sheet{--hover-shadow-color:transparent;--vertical-handle-size:3rem;--vertical-handle-offset:0;--side-direction-handle-z-index:1;touch-action:none}vertex-resizable:not([dimensions-computed]){display:none}@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-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@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
CHANGED
|
@@ -41,10 +41,24 @@ import { VertexGhostingPanelSection } from './components/ghosting/ghosting-panel
|
|
|
41
41
|
import { VertexSceneItemGhostingClear } from './components/ghosting/scene-item-ghosting-clear';
|
|
42
42
|
import { VertexSceneItemGhostingOpacitySlider } from './components/ghosting/scene-item-ghosting-opacity-slider';
|
|
43
43
|
import { VertexSceneItemGhostingToggle } from './components/ghosting/scene-item-ghosting-toggle';
|
|
44
|
+
import { VertexMeasurementContextMenu } from './components/measurement/measurement-context-menu';
|
|
45
|
+
import { VertexMeasurementDetails } from './components/measurement/measurement-details';
|
|
46
|
+
import { VertexPointToPointMeasurement } from './components/measurement/point-to-point-measurement';
|
|
47
|
+
import { VertexPointToPointMeasurementTool } from './components/measurement/point-to-point-measurement-tool';
|
|
48
|
+
import { VertexPreciseMeasurement } from './components/measurement/precise-measurement';
|
|
49
|
+
import { VertexPreciseMeasurementTool } from './components/measurement/precise-measurement-tool';
|
|
44
50
|
import { VertexApplicationMessages } from './components/messages/application-messages';
|
|
51
|
+
import { VertexSceneTreeColumnPopover } from './components/scene-tree/scene-tree-columns/scene-tree-columns-popover';
|
|
52
|
+
import { VertexSceneTreeSearchBar } from './components/scene-tree/scene-tree-search/scene-tree-search-bar';
|
|
53
|
+
import { VertexSceneTreeSearchInformationForToolbar } from './components/scene-tree/scene-tree-search/scene-tree-search-information-for-toolbar';
|
|
54
|
+
import { VertexSceneTreeSearchOptionsPopover } from './components/scene-tree/scene-tree-search/scene-tree-search-options-popover';
|
|
45
55
|
import { VertexSceneTree } from './components/scene-tree/vertex-scene-tree';
|
|
46
56
|
import { VertexSceneTreeHeader } from './components/scene-tree/vertex-scene-tree-header';
|
|
47
57
|
import { VertexSceneTreeTableLayout } from './components/scene-tree/vertex-scene-tree-table-layout';
|
|
58
|
+
import { VertexDecimalPlaceSelector } from './components/settings/decimal-place-selector';
|
|
59
|
+
import { VertexLengthUnitSelector } from './components/settings/length-unit-selector';
|
|
60
|
+
import { VertexUnitsControls } from './components/settings/units-controls';
|
|
61
|
+
import { VertexUnitsPanelSection } from './components/settings/units-panel-section';
|
|
48
62
|
import { VertexViewerRightOpenedPanel } from './components/sidebar/viewer-right-sidebar/viewer-right-open-panel';
|
|
49
63
|
import { VertexViewerRightSidebar } from './components/sidebar/viewer-right-sidebar/viewer-right-sidebar';
|
|
50
64
|
import { VertexViewerCrossSectionButton } from './components/toolbar/cross-section/cross-section';
|
|
@@ -52,7 +66,7 @@ import { VertexFitAllButton } from './components/toolbar/fit-all';
|
|
|
52
66
|
import { VertexPanButton } from './components/toolbar/pan';
|
|
53
67
|
import { VertexRotateButton } from './components/toolbar/rotate';
|
|
54
68
|
import { VertexToolbar } from './components/toolbar/toolbar';
|
|
55
|
-
import {
|
|
69
|
+
import { VertexToolbarDivider } from './components/toolbar/toolbar-divider';
|
|
56
70
|
import { VertexZoomButton } from './components/toolbar/zoom';
|
|
57
71
|
import { VertexTransformClear } from './components/transforms/transform-clear';
|
|
58
72
|
import { VertexTransformControls } from './components/transforms/transform-controls';
|
|
@@ -67,4 +81,4 @@ import * as CrossSection from './state/cross-section';
|
|
|
67
81
|
import * as Hits from './state/hits';
|
|
68
82
|
import * as SceneTree from './state/scene-tree';
|
|
69
83
|
import * as Selection from './state/selection';
|
|
70
|
-
export { CrossSection, Hits, SceneTree, Selection, VertexApplicationMessages, VertexBoxSelectionButton, VertexContextMenu, VertexCrossSectionAppearanceColorPicker, VertexCrossSectionAppearanceControls, VertexCrossSectionAppearanceLineThicknessSlider, VertexCrossSectionAppearancePanelSection, VertexCrossSectionAppearanceReset, VertexFeatureEdgesColorPicker, VertexFeatureEdgesControls, VertexFeatureEdgesPanelSection, VertexFeatureEdgesReset, VertexFeatureEdgesThicknessSlider, VertexFitAllButton, VertexFitSelectedMenuItem, VertexFlyToMenuItem, VertexGhostingControls, VertexGhostingPanelSection, VertexHideAllMenuItem, VertexHidePartMenuItem, VertexHideSelectedMenuItem, VertexMaterialControls, VertexMaterialPanelSection, VertexPanButton, VertexResizableContent, VertexRotateButton, VertexSceneItemGhostingClear, VertexSceneItemGhostingOpacitySlider, VertexSceneItemGhostingToggle, VertexSceneItemMaterialClear, VertexSceneItemMaterialColorPicker, VertexSceneItemMaterialOpacitySlider, VertexSceneTree, VertexSceneTreeContextMenu, VertexSceneTreeHeader, VertexSceneTreeTableLayout, VertexSelectionHighlightingColorPicker, VertexSelectionHighlightingControls, VertexSelectionHighlightingLineThicknessSlider, VertexSelectionHighlightingOpacitySlider, VertexSelectionHighlightingPanelSection, VertexSelectionHighlightingReset, VertexShowAllMenuItem, VertexShowOnlyMenuItem, VertexShowOnlySelectedMenuItem, VertexToolbar, VertexTransformClear, VertexTransformControls, VertexTransformManipulatorToggle, VertexTransformPanelSection, VertexTransformWidget, VertexViewer, VertexViewerBackgroundColorPicker, VertexViewerBackgroundControls, VertexViewerBackgroundPanelSection, VertexViewerBackgroundReset, VertexViewerContextMenu, VertexViewerCrossSectionButton, VertexViewerRightOpenedPanel, VertexViewerRightSidebar, VertexViewerSceneReset,
|
|
84
|
+
export { CrossSection, Hits, SceneTree, Selection, VertexApplicationMessages, VertexBoxSelectionButton, VertexContextMenu, VertexCrossSectionAppearanceColorPicker, VertexCrossSectionAppearanceControls, VertexCrossSectionAppearanceLineThicknessSlider, VertexCrossSectionAppearancePanelSection, VertexCrossSectionAppearanceReset, VertexDecimalPlaceSelector, VertexFeatureEdgesColorPicker, VertexFeatureEdgesControls, VertexFeatureEdgesPanelSection, VertexFeatureEdgesReset, VertexFeatureEdgesThicknessSlider, VertexFitAllButton, VertexFitSelectedMenuItem, VertexFlyToMenuItem, VertexGhostingControls, VertexGhostingPanelSection, VertexHideAllMenuItem, VertexHidePartMenuItem, VertexHideSelectedMenuItem, VertexLengthUnitSelector, VertexMaterialControls, VertexMaterialPanelSection, VertexMeasurementContextMenu, VertexMeasurementDetails, VertexPanButton, VertexPointToPointMeasurement, VertexPointToPointMeasurementTool, VertexPreciseMeasurement, VertexPreciseMeasurementTool, VertexResizableContent, VertexRotateButton, VertexSceneItemGhostingClear, VertexSceneItemGhostingOpacitySlider, VertexSceneItemGhostingToggle, VertexSceneItemMaterialClear, VertexSceneItemMaterialColorPicker, VertexSceneItemMaterialOpacitySlider, VertexSceneTree, VertexSceneTreeColumnPopover, VertexSceneTreeContextMenu, VertexSceneTreeHeader, VertexSceneTreeSearchBar, VertexSceneTreeSearchInformationForToolbar, VertexSceneTreeSearchOptionsPopover, VertexSceneTreeTableLayout, VertexSelectionHighlightingColorPicker, VertexSelectionHighlightingControls, VertexSelectionHighlightingLineThicknessSlider, VertexSelectionHighlightingOpacitySlider, VertexSelectionHighlightingPanelSection, VertexSelectionHighlightingReset, VertexShowAllMenuItem, VertexShowOnlyMenuItem, VertexShowOnlySelectedMenuItem, VertexToolbar, VertexToolbarDivider, VertexTransformClear, VertexTransformControls, VertexTransformManipulatorToggle, VertexTransformPanelSection, VertexTransformWidget, VertexUnitsControls, VertexUnitsPanelSection, VertexViewer, VertexViewerBackgroundColorPicker, VertexViewerBackgroundControls, VertexViewerBackgroundPanelSection, VertexViewerBackgroundReset, VertexViewerContextMenu, VertexViewerCrossSectionButton, VertexViewerRightOpenedPanel, VertexViewerRightSidebar, VertexViewerSceneReset, VertexViewerToolkitRoot, VertexViewerViewCube, VertexZoomButton, };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hit } from '@state/hits';
|
|
2
2
|
import { Point } from '@vertexvis/geometry';
|
|
3
3
|
import { Row } from '@vertexvis/viewer/dist/types/components/scene-tree/lib/row';
|
|
4
|
-
export type ContextMenuType = '
|
|
4
|
+
export type ContextMenuType = 'color-swatch' | 'measurement' | 'scene-tree' | 'viewer';
|
|
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;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EditedPointToPointMeasurement } from '@state/measurement/point-to-point-measurement';
|
|
2
|
+
type MeasurementMode = 'point-to-point' | 'precise';
|
|
3
|
+
export interface ToggleMeasurementOptions {
|
|
4
|
+
keepExistingMeasurement?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface UseMeasurementActions {
|
|
7
|
+
disableEditMeasurement(options?: ToggleMeasurementOptions): Promise<void>;
|
|
8
|
+
enableEditMeasurement(mode: MeasurementMode): Promise<void>;
|
|
9
|
+
toggleEditPreciseMeasurement(): Promise<void>;
|
|
10
|
+
toggleEditPointToPointMeasurement(): Promise<void>;
|
|
11
|
+
resetMeasurement(): Promise<void>;
|
|
12
|
+
clearEditedPointToPointMeasurement(): void;
|
|
13
|
+
setEditedPointToPointMeasurement(measurement: EditedPointToPointMeasurement): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function useMeasurementActions(): UseMeasurementActions;
|
|
16
|
+
export declare function useEnablePointToPointMeasurement(): (options?: ToggleMeasurementOptions) => void;
|
|
17
|
+
export declare function useDisablePointToPointMeasurement(): (options?: ToggleMeasurementOptions) => void;
|
|
18
|
+
export declare function useDisablePreciseMeasurement(): () => void;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MeasurementOutcome, MeasurementOverlayManager } from '@vertexvis/viewer';
|
|
2
|
+
export declare const isEditingMeasurement: import("recoil").RecoilValueReadOnly<boolean>;
|
|
3
|
+
export declare const measurementPanelOutcome: import("recoil").RecoilValueReadOnly<MeasurementOutcome | undefined>;
|
|
4
|
+
export declare const measurementPanelOverlays: import("recoil").RecoilValueReadOnly<MeasurementOverlayManager | undefined>;
|
|
5
|
+
export declare const measurementPanelMessage: import("recoil").RecoilValueReadOnly<string | undefined>;
|
|
6
|
+
export declare const measurementPanelIsResettable: import("recoil").RecoilValueReadOnly<boolean>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Vector3 } from '@vertexvis/geometry';
|
|
2
|
+
import type { MeasurementOutcome } from '@vertexvis/viewer';
|
|
3
|
+
export interface EditedPointToPointMeasurement {
|
|
4
|
+
start: Vector3.Vector3;
|
|
5
|
+
end: Vector3.Vector3;
|
|
6
|
+
invalid: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const isEditingPointToPointMeasurement: import("recoil").RecoilState<boolean>;
|
|
9
|
+
export declare const pointToPointMeasurementOutcome: import("recoil").RecoilState<MeasurementOutcome | undefined>;
|
|
10
|
+
export declare const editedPointToPointMeasurement: import("recoil").RecoilState<EditedPointToPointMeasurement | undefined>;
|
|
11
|
+
export declare function usePointToPointMeasurement(element: HTMLVertexViewerMeasurementDistanceElement | null): void;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { MeasurementController, MeasurementEntity, MeasurementOutcome, MeasurementOverlayManager } from '@vertexvis/viewer';
|
|
2
|
+
export declare const isEditingPreciseMeasurement: import("recoil").RecoilState<boolean>;
|
|
3
|
+
export declare const preciseMeasurementOutcome: import("recoil").RecoilState<MeasurementOutcome | undefined>;
|
|
4
|
+
export declare const preciseMeasurementController: import("recoil").RecoilState<MeasurementController | undefined>;
|
|
5
|
+
export declare const preciseMeasurementOverlays: import("recoil").RecoilState<MeasurementOverlayManager | undefined>;
|
|
6
|
+
export declare const preciseMeasurementEntities: import("recoil").RecoilState<MeasurementEntity[]>;
|
|
7
|
+
export declare const preciseMeasurementMessage: import("recoil").RecoilValueReadOnly<string | undefined>;
|
|
8
|
+
export declare function usePreciseMeasurementModel(element: HTMLVertexViewerMeasurementPreciseElement | null, onEntitiesChanged?: (measurement: MeasurementEntity[]) => void, onOutcomeChanged?: (measurement: MeasurementOutcome | undefined) => void): void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type PrimaryPanel = 'appearance' | 'transforms';
|
|
1
|
+
export type PrimaryPanel = 'appearance' | 'settings' | 'transforms';
|
|
2
2
|
export declare const openedPanelActivePrimaryLeft: import("recoil").RecoilState<PrimaryPanel | undefined>;
|
|
3
3
|
export declare const openedPanelActivePrimaryRight: import("recoil").RecoilState<PrimaryPanel | undefined>;
|
|
@@ -8,9 +8,10 @@ interface ActiveColumn {
|
|
|
8
8
|
interface DefaultColumn extends ActiveColumn {
|
|
9
9
|
metadataKeyName: string;
|
|
10
10
|
}
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
export declare function mapToColumn(label: string, width: number): ActiveColumn;
|
|
12
|
+
export declare const sceneTreeColumnsAvailableColumns: import("recoil").RecoilValueReadOnly<string[]>;
|
|
13
|
+
export declare const sceneTreeColumnsAvailableSortedColumns: import("recoil").RecoilValueReadOnly<string[]>;
|
|
14
|
+
export declare const sceneTreeColumnsVisibleMetadataColumnNames: import("recoil").RecoilState<string[]>;
|
|
14
15
|
export declare const sceneTreeColumnsActiveColumns: import("recoil").RecoilValueReadOnly<Record<string, ActiveColumn>>;
|
|
15
16
|
export declare const sceneTreeColumnsActiveColumnNames: import("recoil").RecoilValueReadOnly<string[]>;
|
|
16
17
|
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Point } from '@vertexvis/geometry';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
export declare const DEFAULT_HORIZONTAL_POSITION_OFFSET = 16;
|
|
4
|
+
export declare const DEFAULT_VERTICAL_POSITION_OFFSET = -8;
|
|
5
|
+
export declare enum PlacementDirection {
|
|
6
|
+
LEFT = "left",
|
|
7
|
+
RIGHT = "right"
|
|
8
|
+
}
|
|
9
|
+
export interface UseOpenColumnPopoverProps {
|
|
10
|
+
buttonElement: HTMLVertexIconButtonElement | null;
|
|
11
|
+
horizontalOffset?: number;
|
|
12
|
+
verticalOffset?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface UseOpenColumnPopover {
|
|
15
|
+
open: boolean;
|
|
16
|
+
position?: Point.Point;
|
|
17
|
+
direction?: PlacementDirection;
|
|
18
|
+
handleOpen: React.EffectCallback;
|
|
19
|
+
handleClose: React.EffectCallback;
|
|
20
|
+
}
|
|
21
|
+
export declare function useOpenColumnPopover({ buttonElement, horizontalOffset, verticalOffset, }: UseOpenColumnPopoverProps): UseOpenColumnPopover;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
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
|
-
export declare const
|
|
5
|
-
export declare const sceneTreeController: import("recoil").RecoilValueReadOnly<SceneTreeController | undefined>;
|
|
4
|
+
export declare const sceneTreeController: import("recoil").RecoilState<SceneTreeController | undefined>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface SceneTreeSearchActions {
|
|
2
|
+
setMetadataSearchKeys(metadataSearchKeys: string[]): void;
|
|
3
|
+
updateSearchForActiveColumns(searchTerm: string): Promise<void>;
|
|
4
|
+
updateMetadataSearchAfterSearchKeysChange(columnName: string, enableColumn: boolean): Promise<void>;
|
|
5
|
+
setMetadataSearchExactMatch(exactMatch: boolean): void;
|
|
6
|
+
}
|
|
7
|
+
export declare const useSceneTreeSearchActions: () => SceneTreeSearchActions;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const sceneTreeSearchActive: import("recoil").RecoilState<boolean>;
|
|
2
|
+
export declare const sceneTreeSearchValue: import("recoil").RecoilState<string | undefined>;
|
|
3
|
+
export declare const sceneTreeSearchExactMatch: import("recoil").RecoilState<boolean>;
|
|
4
|
+
export declare const sceneTreeSearchResultCount: import("recoil").RecoilState<number>;
|
|
5
|
+
export declare const sceneTreeSearchActiveColumns: import("recoil").RecoilState<string[]>;
|
|
6
|
+
export declare const sceneTreeSearchNameColumnActive: import("recoil").RecoilValueReadOnly<boolean>;
|
|
7
|
+
export interface SceneTreeState {
|
|
8
|
+
totalFilteredRows?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface UseSceneTreeSearchProps {
|
|
11
|
+
sceneTreeElement: HTMLVertexSceneTreeElement | null;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSceneTreeSearch({ sceneTreeElement, }: UseSceneTreeSearchProps): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './settings';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BaseInteractionHandler, InteractionType } from '@vertexvis/viewer/dist/types/lib/interactions/baseInteractionHandler';
|
|
2
2
|
export declare const viewerElement: import("recoil").RecoilState<HTMLVertexViewerElement | null | undefined>;
|
|
3
|
+
export declare const viewerElementId: import("recoil").RecoilState<string>;
|
|
3
4
|
export declare const viewerInitialSceneReady: import("recoil").RecoilState<boolean>;
|
|
4
5
|
export declare const viewerBaseInteractionHandlerProvider: import("recoil").RecoilState<Promise<BaseInteractionHandler | undefined>>;
|
|
5
6
|
export declare const viewerPrimaryInteractionType: import("recoil").RecoilState<InteractionType>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './logger';
|