+
{{ name.replace(/[A-Z]/g, (s: any) => ` ${s}`) }}
+
diff --git a/docs/components/content/ProseH1.vue b/docs/components/content/ProseH1.vue
new file mode 100644
index 00000000..20984438
--- /dev/null
+++ b/docs/components/content/ProseH1.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/docs/components/content/ProseH2.vue b/docs/components/content/ProseH2.vue
new file mode 100644
index 00000000..3ad6665c
--- /dev/null
+++ b/docs/components/content/ProseH2.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/docs/components/content/ProseH3.vue b/docs/components/content/ProseH3.vue
new file mode 100644
index 00000000..37c8d41f
--- /dev/null
+++ b/docs/components/content/ProseH3.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/docs/components/content/ProseH4.vue b/docs/components/content/ProseH4.vue
new file mode 100644
index 00000000..6bb34bbe
--- /dev/null
+++ b/docs/components/content/ProseH4.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/docs/components/content/ProseH5.vue b/docs/components/content/ProseH5.vue
new file mode 100644
index 00000000..91312a3f
--- /dev/null
+++ b/docs/components/content/ProseH5.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/docs/components/content/ProseOl.ts b/docs/components/content/ProseOl.ts
new file mode 100644
index 00000000..9ede8153
--- /dev/null
+++ b/docs/components/content/ProseOl.ts
@@ -0,0 +1,34 @@
+export default defineComponent({
+ setup() {
+ const MotionComponent = resolveComponent('Motion')
+ const slots = useSlots()
+ const appConfig = useAppConfig()
+
+ return () => {
+ const nodes: VNode[] = slots.default?.() || []
+
+ return h(
+ 'ol',
+ {
+ ...appConfig.motions.ul,
+ },
+ nodes.map((node, i) => {
+ node.props = {
+ is: 'li',
+ ...appConfig.motions.li,
+ visibleOnce: {
+ ...(appConfig.motions.li?.visibleOnce ?? {}),
+ transition: {
+ ...(appConfig.motions.li?.visibleOnce?.transition ?? {}),
+ delay: i * 50,
+ },
+ },
+ }
+
+ // @ts-expect-error type conflict but seems to work fine
+ return h(MotionComponent, { ...node.props }, node.children)
+ }),
+ )
+ }
+ },
+})
diff --git a/docs/components/content/ProseP.vue b/docs/components/content/ProseP.vue
new file mode 100644
index 00000000..bed7b4d9
--- /dev/null
+++ b/docs/components/content/ProseP.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/docs/components/content/ProsePre.vue.bak b/docs/components/content/ProsePre.vue.bak
new file mode 100644
index 00000000..d1cea864
--- /dev/null
+++ b/docs/components/content/ProsePre.vue.bak
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
diff --git a/docs/components/content/ProseUl.ts b/docs/components/content/ProseUl.ts
new file mode 100644
index 00000000..1ff0164b
--- /dev/null
+++ b/docs/components/content/ProseUl.ts
@@ -0,0 +1,34 @@
+export default defineComponent({
+ setup() {
+ const MotionComponent = resolveComponent('Motion')
+ const slots = useSlots()
+ const appConfig = useAppConfig()
+
+ return () => {
+ const nodes: VNode[] = slots.default?.() || []
+
+ return h(
+ 'ul',
+ {
+ ...appConfig.motions.ul,
+ },
+ nodes.map((node, i) => {
+ node.props = {
+ is: 'li',
+ ...appConfig.motions.li,
+ visibleOnce: {
+ ...(appConfig.motions.li?.visibleOnce ?? {}),
+ transition: {
+ ...(appConfig.motions.li?.visibleOnce?.transition ?? {}),
+ delay: i * 50,
+ },
+ },
+ }
+
+ // @ts-expect-error type conflict but seems to work fine
+ return h(MotionComponent, { ...node.props }, node.children)
+ }),
+ )
+ }
+ },
+})
diff --git a/docs/components/content/examples/MotionComponent.vue b/docs/components/content/examples/MotionComponent.vue
index 7032784b..abf0e151 100644
--- a/docs/components/content/examples/MotionComponent.vue
+++ b/docs/components/content/examples/MotionComponent.vue
@@ -20,7 +20,7 @@
overflow-y: scroll;
overflow-x: hidden;
text-align: center;
- border: 1px solid #222;
+ border: 1px solid #282828;
border-radius: 0.5em;
}
diff --git a/docs/components/content/examples/MotionGroupComponent.vue b/docs/components/content/examples/MotionGroupComponent.vue
index 53e72fb3..3b266c67 100644
--- a/docs/components/content/examples/MotionGroupComponent.vue
+++ b/docs/components/content/examples/MotionGroupComponent.vue
@@ -7,16 +7,28 @@