diff --git a/src/components/App.vue b/src/components/App.vue index 465eb2f..d5abf39 100644 --- a/src/components/App.vue +++ b/src/components/App.vue @@ -38,6 +38,7 @@ const testNumber = ref(Math.PI) const testBoolean = ref(false) const testAlign = ref<'left' | 'center' | 'right'>('left') const colorSpace = ref<'r|g|b' | 'svh' | 'hsv' | 'hvs' | 'hsvr'>('hsv') +const cubicBezier = ref([0, 0.5, 0.5, 1] as const) // interface PaperDesc { // id?: string @@ -438,6 +439,9 @@ window.addEventListener('drop', async e => { + + + diff --git a/src/tweeq/FloatingPane/FloatingPane.vue b/src/tweeq/FloatingPane/FloatingPane.vue index 6e3fc79..27ace6b 100644 --- a/src/tweeq/FloatingPane/FloatingPane.vue +++ b/src/tweeq/FloatingPane/FloatingPane.vue @@ -243,6 +243,7 @@ onMounted(() => { right 0 bottom 0 left 0 + overflow hidden &:has(.resize:hover) border-color var(--tq-color-primary) diff --git a/src/tweeq/InputCubicBezier/InputCubicBezier.vue b/src/tweeq/InputCubicBezier/InputCubicBezier.vue index cfa0db6..e00a094 100644 --- a/src/tweeq/InputCubicBezier/InputCubicBezier.vue +++ b/src/tweeq/InputCubicBezier/InputCubicBezier.vue @@ -1,40 +1,18 @@ - - + + diff --git a/src/tweeq/InputCubicBezier/index.ts b/src/tweeq/InputCubicBezier/index.ts index 90dfab4..893796b 100644 --- a/src/tweeq/InputCubicBezier/index.ts +++ b/src/tweeq/InputCubicBezier/index.ts @@ -1,3 +1,4 @@ import InputCubicBezier from './InputCubicBezier.vue' +import InputCubicBezierPicker from './InputCubicBezierPicker.vue' -export default InputCubicBezier +export {InputCubicBezier, InputCubicBezierPicker} diff --git a/src/tweeq/InputCubicBezier/types.ts b/src/tweeq/InputCubicBezier/types.ts deleted file mode 100644 index c6691a2..0000000 --- a/src/tweeq/InputCubicBezier/types.ts +++ /dev/null @@ -1 +0,0 @@ -export type CubicBezier = [number, number, number, number] diff --git a/src/tweeq/InputCubicBezier/util.ts b/src/tweeq/InputCubicBezier/util.ts new file mode 100644 index 0000000..0b8e001 --- /dev/null +++ b/src/tweeq/InputCubicBezier/util.ts @@ -0,0 +1 @@ +export type CubicBezierValue = readonly [number, number, number, number] diff --git a/src/tweeq/InputNumber/InputNumber.vue b/src/tweeq/InputNumber/InputNumber.vue index 257d45c..9106620 100644 --- a/src/tweeq/InputNumber/InputNumber.vue +++ b/src/tweeq/InputNumber/InputNumber.vue @@ -2,7 +2,7 @@ import {useElementBounding, useFocus, useKeyModifier} from '@vueuse/core' import {useWheel} from '@vueuse/gesture' import {scalar, Vec2} from 'linearly' -import {computed, ref, watch, watchEffect} from 'vue' +import {computed, ref, watch} from 'vue' import {useDrag} from '../useDrag' import {toFixed, unsignedMod} from '../util' @@ -222,11 +222,16 @@ const onBlur = () => { } } -watchEffect(() => { - if (tweaking.value) { - display.value = props.modelValue.toFixed(tweakPrecision.value) +watch( + () => [props.modelValue, tweaking.value, tweakPrecision.value] as const, + ([modelValue, tweaking]) => { + if (tweaking) { + display.value = modelValue.toFixed(tweakPrecision.value) + } else { + display.value = toFixed(modelValue, props.precision) + } } -}) +) const scaleOffset = ref(0) diff --git a/src/tweeq/InputRotery/InputRotery.vue b/src/tweeq/InputRotery/InputRotery.vue index 0056bb2..9ebf444 100644 --- a/src/tweeq/InputRotery/InputRotery.vue +++ b/src/tweeq/InputRotery/InputRotery.vue @@ -1,5 +1,4 @@