diff --git a/packages/vue/src/index.ts b/packages/vue/src/index.ts index 7d727be92..9b99fa01b 100644 --- a/packages/vue/src/index.ts +++ b/packages/vue/src/index.ts @@ -48,7 +48,14 @@ export { useNodeFontStatus } from '#vue/shared/font-status/use' export { usePropScrub } from '#vue/controls/prop-scrub/use' export { toolCursor } from '#vue/editor/tool-cursor' export { testId, testIdSelector } from '#vue/testing/test-id' -export type { TestId, TestIdProps } from '#vue/testing/test-id' +export type { + RequiredTestIdProps, + TestId, + TestIdProps, + WithoutTestId, + WithRequiredTestId, + WithTestId +} from '#vue/testing/test-id' /** Property-panel composables. */ export { usePosition } from '#vue/controls/position/use' diff --git a/packages/vue/src/testing/test-id.ts b/packages/vue/src/testing/test-id.ts index 521690fb6..60e0273d0 100644 --- a/packages/vue/src/testing/test-id.ts +++ b/packages/vue/src/testing/test-id.ts @@ -4,6 +4,16 @@ export type TestIdProps = { testId?: TestId } +export type RequiredTestIdProps = { + testId: TestId +} + +export type WithTestId = TProps & TestIdProps + +export type WithRequiredTestId = TProps & RequiredTestIdProps + +export type WithoutTestId = Omit + export function testId(id?: TestId | null): { 'data-test-id'?: TestId } { return id ? { 'data-test-id': id } : {} } diff --git a/src/components/PickerSlider.vue b/src/components/PickerSlider.vue index 0a6f1bbac..cdc9478f5 100644 --- a/src/components/PickerSlider.vue +++ b/src/components/PickerSlider.vue @@ -11,7 +11,7 @@ type PickerSliderDisplay = { parse?: (value: number) => number } -type PickerSliderProps = TestIdProps & { +interface PickerSliderProps extends TestIdProps { label: string modelValue: number min: number diff --git a/src/components/Toolbar/ToolButton.vue b/src/components/Toolbar/ToolButton.vue index a7d4d4d27..e945e2320 100644 --- a/src/components/Toolbar/ToolButton.vue +++ b/src/components/Toolbar/ToolButton.vue @@ -1,17 +1,19 @@