aboutsummaryrefslogtreecommitdiff
path: root/packages/integrations/vue/test/fixtures/app-entrypoint/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/vue/test/fixtures/app-entrypoint/src')
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Bar.vue3
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg1
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue10
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Generics.vue13
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/GenericsAndBlocks.vue18
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/components/MultipleScriptBlocks.vue18
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/_app.ts6
-rw-r--r--packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/index.astro23
8 files changed, 92 insertions, 0 deletions
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Bar.vue b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Bar.vue
new file mode 100644
index 000000000..9e690ea06
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Bar.vue
@@ -0,0 +1,3 @@
+<template>
+ <div id="bar">works</div>
+</template>
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg
new file mode 100644
index 000000000..cf2bd92fc
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Circle.svg
@@ -0,0 +1 @@
+<svg fill="none" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" fill="#ff0" r="40" stroke="#008000" stroke-width="4"/></svg> \ No newline at end of file
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue
new file mode 100644
index 000000000..e07193d36
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Foo.vue
@@ -0,0 +1,10 @@
+<script setup>
+import Circle from './Circle.svg?component'
+</script>
+
+<template>
+ <div id="foo">
+ <Bar />
+ <Circle/>
+ </div>
+</template>
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Generics.vue b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Generics.vue
new file mode 100644
index 000000000..00ceea09e
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/Generics.vue
@@ -0,0 +1,13 @@
+<script lang="ts" setup generic="T extends 'generic' | 'not-generic'">
+interface GenericComponentProps {
+ value: T
+}
+
+defineProps<GenericComponentProps>()
+</script>
+
+<template>
+ <div id="generics">
+ {{ value }}
+ </div>
+</template>
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/GenericsAndBlocks.vue b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/GenericsAndBlocks.vue
new file mode 100644
index 000000000..7ecfdc7a0
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/GenericsAndBlocks.vue
@@ -0,0 +1,18 @@
+<script lang="ts">
+export const customFormatter = (num: number) => `${num * 3}!!!`
+
+export type FormatNumber<T> = (num: T) => string;
+</script>
+
+<script lang="ts" setup generic="T extends number, Formatter extends FormatNumber<T>">
+const props = defineProps<{
+ value: T,
+ formatter: Formatter
+}>()
+</script>
+
+<template>
+ <div id="generics-and-blocks">
+ {{ value }} {{ props.formatter(props.value) }}
+ </div>
+</template>
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/MultipleScriptBlocks.vue b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/MultipleScriptBlocks.vue
new file mode 100644
index 000000000..ac2ec0a3c
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/components/MultipleScriptBlocks.vue
@@ -0,0 +1,18 @@
+<script lang="ts">
+export const doubleNumber = (num: number) => num * 2
+</script>
+
+<script lang="ts" setup>
+defineProps({
+ value: {
+ type: Number,
+ required: true
+ }
+})
+</script>
+
+<template>
+ <div id="multiple-script-blocks">
+ {{ doubleNumber(value) }} <slot />
+ </div>
+</template>
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/_app.ts b/packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/_app.ts
new file mode 100644
index 000000000..bbda85382
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/_app.ts
@@ -0,0 +1,6 @@
+import type { App } from 'vue'
+import Bar from '../components/Bar.vue'
+
+export default function setup(app: App) {
+ app.component('Bar', Bar);
+}
diff --git a/packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/index.astro b/packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/index.astro
new file mode 100644
index 000000000..511b626ba
--- /dev/null
+++ b/packages/integrations/vue/test/fixtures/app-entrypoint/src/pages/index.astro
@@ -0,0 +1,23 @@
+---
+import Foo from '../components/Foo.vue';
+import GenericComponent from '../components/Generics.vue';
+import GenericsAndBlocks, { customFormatter } from '../components/GenericsAndBlocks.vue';
+import MultipleScriptBlocks, { doubleNumber } from '../components/MultipleScriptBlocks.vue';
+---
+
+<html>
+ <head>
+ <title>Vue App Entrypoint</title>
+ </head>
+ <body>
+ <Foo client:load />
+
+ <MultipleScriptBlocks value={1}>
+ {doubleNumber(2)}
+ </MultipleScriptBlocks>
+
+ <GenericComponent value={'generic'} />
+
+ <GenericsAndBlocks value={1} formatter={customFormatter} />
+ </body>
+</html>