-
-
-
-
-
-
+
+
+
+
+ TabA
+
+
+ TabB
+
+
-
+
diff --git a/playground/vite/src/components/Cursor.vue b/playground/vite/src/components/Cursor.vue
deleted file mode 100644
index d644d0b..0000000
--- a/playground/vite/src/components/Cursor.vue
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
- H
-
-
diff --git a/playground/vite/src/components/Tabs/Tab.vue b/playground/vite/src/components/Tabs/Tab.vue
new file mode 100644
index 0000000..2d8fb51
--- /dev/null
+++ b/playground/vite/src/components/Tabs/Tab.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
diff --git a/playground/vite/src/components/Tabs/TabCursor.vue b/playground/vite/src/components/Tabs/TabCursor.vue
new file mode 100644
index 0000000..4b68aa1
--- /dev/null
+++ b/playground/vite/src/components/Tabs/TabCursor.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/playground/vite/src/components/Tabs/Tabs.vue b/playground/vite/src/components/Tabs/Tabs.vue
new file mode 100644
index 0000000..704a65b
--- /dev/null
+++ b/playground/vite/src/components/Tabs/Tabs.vue
@@ -0,0 +1,7 @@
+
+
+
diff --git a/playground/vite/src/components/Tabs/index.ts b/playground/vite/src/components/Tabs/index.ts
new file mode 100644
index 0000000..4428c39
--- /dev/null
+++ b/playground/vite/src/components/Tabs/index.ts
@@ -0,0 +1,4 @@
+import Tabs from './Tabs.vue'
+import Tab from './Tab.vue'
+
+export { Tabs, Tab }
diff --git a/src/components/hero.tsx b/src/components/hero.tsx
index 1f669b3..76aac07 100644
--- a/src/components/hero.tsx
+++ b/src/components/hero.tsx
@@ -15,8 +15,118 @@ interface Transition {
ease: string
}
+type HTMLTag =
+ | 'a'
+ | 'abbr'
+ | 'address'
+ | 'area'
+ | 'article'
+ | 'aside'
+ | 'audio'
+ | 'b'
+ | 'base'
+ | 'bdi'
+ | 'bdo'
+ | 'blockquote'
+ | 'body'
+ | 'br'
+ | 'button'
+ | 'canvas'
+ | 'caption'
+ | 'cite'
+ | 'code'
+ | 'col'
+ | 'colgroup'
+ | 'data'
+ | 'datalist'
+ | 'dd'
+ | 'del'
+ | 'details'
+ | 'dfn'
+ | 'dialog'
+ | 'div'
+ | 'dl'
+ | 'dt'
+ | 'em'
+ | 'embed'
+ | 'fieldset'
+ | 'figcaption'
+ | 'figure'
+ | 'footer'
+ | 'form'
+ | 'h1'
+ | 'h2'
+ | 'h3'
+ | 'h4'
+ | 'h5'
+ | 'h6'
+ | 'head'
+ | 'header'
+ | 'hr'
+ | 'html'
+ | 'i'
+ | 'iframe'
+ | 'img'
+ | 'input'
+ | 'ins'
+ | 'kbd'
+ | 'label'
+ | 'legend'
+ | 'li'
+ | 'link'
+ | 'main'
+ | 'map'
+ | 'mark'
+ | 'meta'
+ | 'meter'
+ | 'nav'
+ | 'noscript'
+ | 'object'
+ | 'ol'
+ | 'optgroup'
+ | 'option'
+ | 'output'
+ | 'p'
+ | 'picture'
+ | 'pre'
+ | 'progress'
+ | 'q'
+ | 'rp'
+ | 'rt'
+ | 'ruby'
+ | 's'
+ | 'samp'
+ | 'script'
+ | 'section'
+ | 'select'
+ | 'small'
+ | 'source'
+ | 'span'
+ | 'strong'
+ | 'style'
+ | 'sub'
+ | 'summary'
+ | 'sup'
+ | 'table'
+ | 'tbody'
+ | 'td'
+ | 'template'
+ | 'textarea'
+ | 'tfoot'
+ | 'th'
+ | 'thead'
+ | 'time'
+ | 'title'
+ | 'tr'
+ | 'track'
+ | 'u'
+ | 'ul'
+ | 'var'
+ | 'video'
+ | 'wbr'
+
const props = {
- as: { type: String as PropType<'div'>, default: 'div' },
+ as: { type: String as PropType
, default: 'div' },
layoutId: { type: [String, Number], default: undefined },
transition: { type: Object as PropType>, default: undefined },
ignore: { type: Array as PropType, default: () => [] },