diff --git a/packages/frontend-2/components/global/icon/MeasurePerpendicular.vue b/packages/frontend-2/components/global/icon/MeasurePerpendicular.vue new file mode 100644 index 000000000..a8402b5b2 --- /dev/null +++ b/packages/frontend-2/components/global/icon/MeasurePerpendicular.vue @@ -0,0 +1,90 @@ + diff --git a/packages/frontend-2/components/global/icon/MeasurePointToPoint.vue b/packages/frontend-2/components/global/icon/MeasurePointToPoint.vue new file mode 100644 index 000000000..9df10ec47 --- /dev/null +++ b/packages/frontend-2/components/global/icon/MeasurePointToPoint.vue @@ -0,0 +1,68 @@ + diff --git a/packages/frontend-2/components/global/icon/Measurements.vue b/packages/frontend-2/components/global/icon/Measurements.vue new file mode 100644 index 000000000..63953556d --- /dev/null +++ b/packages/frontend-2/components/global/icon/Measurements.vue @@ -0,0 +1,27 @@ + diff --git a/packages/frontend-2/components/viewer/Controls.vue b/packages/frontend-2/components/viewer/Controls.vue index 78277d963..7737c45dd 100644 --- a/packages/frontend-2/components/viewer/Controls.vue +++ b/packages/frontend-2/components/viewer/Controls.vue @@ -3,6 +3,7 @@
+ + + + + + + + + +
+
+ +
+
+ +

+ {{ descriptionText }} +

+
+ + + diff --git a/packages/ui-components/src/components/form/select/Base.vue b/packages/ui-components/src/components/form/select/Base.vue index d9dd58309..adacb903e 100644 --- a/packages/ui-components/src/components/form/select/Base.vue +++ b/packages/ui-components/src/components/form/select/Base.vue @@ -77,6 +77,7 @@ > (props.name, props.rul const isMounted = useMounted() const searchInput = ref(null as Nullable) +const menuEl = ref(null as Nullable<{ el: Nullable }>) const listboxButton = ref(null as Nullable<{ el: Nullable }>) const searchValue = ref('') const currentItems = ref([]) as Ref @@ -410,6 +412,15 @@ const listboxButtonBounding = useElementBounding( { windowResize: true, windowScroll: true, immediate: true } ) +useIntersectionObserver( + computed(() => menuEl.value?.el), + ([{ isIntersecting }]) => { + if (isIntersecting && props.mountMenuOnBody) { + listboxButtonBounding.update() + } + } +) + const title = computed(() => unref(props.label) || unref(props.name)) const errorMessage = computed(() => { const base = error.value diff --git a/packages/ui-components/src/lib.ts b/packages/ui-components/src/lib.ts index 839fd25f6..dfd232f4d 100644 --- a/packages/ui-components/src/lib.ts +++ b/packages/ui-components/src/lib.ts @@ -16,6 +16,7 @@ import CommonStepsNumber from '~~/src/components/common/steps/Number.vue' import CommonStepsBullet from '~~/src/components/common/steps/Bullet.vue' import FormCardButton from '~~/src/components/form/CardButton.vue' import FormCheckbox from '~~/src/components/form/Checkbox.vue' +import FormRadio from '~~/src/components/form/Radio.vue' import FormTextArea from '~~/src/components/form/TextArea.vue' import FormTextInput from '~~/src/components/form/TextInput.vue' import * as ValidationHelpers from '~~/src/helpers/common/validation' @@ -95,6 +96,7 @@ export { CommonStepsNumber, FormCardButton, FormCheckbox, + FormRadio, FormTextArea, FormTextInput, FormSwitch,