From 8d3d98102e1d1cd9c44d698b2127145bebda5073 Mon Sep 17 00:00:00 2001
From: 07akioni <07akioni2@gmail.com>
Date: Sat, 25 Sep 2021 19:35:17 +0800
Subject: [PATCH] fix: components with popover throws error in SSR
---
CHANGELOG.en-US.md | 1 +
CHANGELOG.zh-CN.md | 1 +
src/affix/tests/server.spec.tsx | 19 ++++++++++++++++++
src/alert/tests/server.spec.tsx | 19 ++++++++++++++++++
src/anchor/tests/server.spec.tsx | 19 ++++++++++++++++++
src/auto-complete/tests/server.spec.tsx | 19 ++++++++++++++++++
src/avatar/tests/server.spec.tsx | 19 ++++++++++++++++++
src/back-top/tests/server.spec.tsx | 19 ++++++++++++++++++
src/badge/tests/server.spec.tsx | 19 ++++++++++++++++++
src/breadcrumb/tests/server.spec.tsx | 19 ++++++++++++++++++
src/button/tests/server.spec.tsx | 19 ++++++++++++++++++
src/calendar/tests/server.spec.tsx | 19 ++++++++++++++++++
src/card/tests/server.spec.tsx | 19 ++++++++++++++++++
src/carousel/tests/server.spec.tsx | 19 ++++++++++++++++++
src/cascader/tests/server.spec.tsx | 19 ++++++++++++++++++
src/checkbox/tests/server.spec.tsx | 19 ++++++++++++++++++
src/code/tests/server.spec.tsx | 19 ++++++++++++++++++
src/collapse/tests/server.spec.tsx | 19 ++++++++++++++++++
src/color-picker/tests/server.spec.tsx | 19 ++++++++++++++++++
src/data-table/tests/server.spec.tsx | 19 ++++++++++++++++++
src/date-picker/tests/server.spec.tsx | 19 ++++++++++++++++++
src/descriptions/tests/server.spec.tsx | 19 ++++++++++++++++++
src/dialog/tests/server.spec.tsx | 19 ++++++++++++++++++
src/divider/tests/server.spec.tsx | 19 ++++++++++++++++++
src/drawer/tests/server.spec.tsx | 19 ++++++++++++++++++
src/dropdown/tests/server.spec.tsx | 19 ++++++++++++++++++
src/dynamic-input/tests/server.spec.tsx | 19 ++++++++++++++++++
src/dynamic-tags/tests/server.spec.tsx | 19 ++++++++++++++++++
src/element/tests/server.spec.tsx | 19 ++++++++++++++++++
src/ellipsis/tests/server.spec.tsx | 25 ++++++++++++++++++++++++
src/empty/tests/server.spec.tsx | 19 ++++++++++++++++++
src/form/tests/server.spec.tsx | 19 ++++++++++++++++++
src/gradient-text/tests/server.spec.tsx | 19 ++++++++++++++++++
src/grid/tests/server.spec.tsx | 19 ++++++++++++++++++
src/icon/tests/server.spec.tsx | 19 ++++++++++++++++++
src/image/tests/server.spec.tsx | 19 ++++++++++++++++++
src/input-number/tests/server.spec.tsx | 19 ++++++++++++++++++
src/input/tests/server.spec.tsx | 19 ++++++++++++++++++
src/layout/tests/server.spec.tsx | 19 ++++++++++++++++++
src/legacy-grid/tests/server.spec.tsx | 25 ++++++++++++++++++++++++
src/list/tests/server.spec.tsx | 19 ++++++++++++++++++
src/loading-bar/tests/server.spec.tsx | 19 ++++++++++++++++++
src/log/tests/server.spec.tsx | 19 ++++++++++++++++++
src/mention/tests/server.spec.tsx | 19 ++++++++++++++++++
src/menu/tests/server.spec.tsx | 19 ++++++++++++++++++
src/message/tests/server.spec.tsx | 19 ++++++++++++++++++
src/modal/tests/server.spec.tsx | 19 ++++++++++++++++++
src/notification/tests/server.spec.tsx | 19 ++++++++++++++++++
src/page-header/tests/server.spec.tsx | 19 ++++++++++++++++++
src/pagination/tests/server.spec.tsx | 19 ++++++++++++++++++
src/popconfirm/tests/server.spec.tsx | 25 ++++++++++++++++++++++++
src/popover/tests/server.spec.tsx | 26 +++++++++++++++++++++++++
src/popselect/tests/server.spec.tsx | 25 ++++++++++++++++++++++++
src/progress/tests/server.spec.tsx | 19 ++++++++++++++++++
src/radio/tests/server.spec.tsx | 19 ++++++++++++++++++
src/rate/tests/server.spec.tsx | 19 ++++++++++++++++++
src/result/tests/server.spec.tsx | 19 ++++++++++++++++++
src/scrollbar/tests/server.spec.tsx | 19 ++++++++++++++++++
src/select/tests/server.spec.tsx | 19 ++++++++++++++++++
src/skeleton/tests/server.spec.tsx | 19 ++++++++++++++++++
src/slider/tests/server.spec.tsx | 19 ++++++++++++++++++
src/space/tests/server.spec.tsx | 19 ++++++++++++++++++
src/spin/tests/server.spec.tsx | 19 ++++++++++++++++++
src/statistic/tests/server.spec.tsx | 19 ++++++++++++++++++
src/steps/tests/server.spec.tsx | 19 ++++++++++++++++++
src/switch/tests/server.spec.tsx | 19 ++++++++++++++++++
src/table/tests/server.spec.tsx | 19 ++++++++++++++++++
src/tabs/tests/server.spec.tsx | 19 ++++++++++++++++++
src/tag/tests/server.spec.tsx | 19 ++++++++++++++++++
src/thing/tests/server.spec.tsx | 19 ++++++++++++++++++
src/time-picker/tests/server.spec.tsx | 19 ++++++++++++++++++
src/time/tests/server.spec.tsx | 19 ++++++++++++++++++
src/timeline/tests/server.spec.tsx | 19 ++++++++++++++++++
src/tooltip/tests/server.spec.tsx | 25 ++++++++++++++++++++++++
src/transfer/tests/server.spec.tsx | 19 ++++++++++++++++++
src/tree-select/tests/server.spec.tsx | 19 ++++++++++++++++++
src/tree/tests/server.spec.tsx | 19 ++++++++++++++++++
src/typography/tests/server.spec.tsx | 19 ++++++++++++++++++
src/upload/tests/server.spec.tsx | 19 ++++++++++++++++++
79 files changed, 1502 insertions(+)
create mode 100644 src/affix/tests/server.spec.tsx
create mode 100644 src/alert/tests/server.spec.tsx
create mode 100644 src/anchor/tests/server.spec.tsx
create mode 100644 src/auto-complete/tests/server.spec.tsx
create mode 100644 src/avatar/tests/server.spec.tsx
create mode 100644 src/back-top/tests/server.spec.tsx
create mode 100644 src/badge/tests/server.spec.tsx
create mode 100644 src/breadcrumb/tests/server.spec.tsx
create mode 100644 src/button/tests/server.spec.tsx
create mode 100644 src/calendar/tests/server.spec.tsx
create mode 100644 src/card/tests/server.spec.tsx
create mode 100644 src/carousel/tests/server.spec.tsx
create mode 100644 src/cascader/tests/server.spec.tsx
create mode 100644 src/checkbox/tests/server.spec.tsx
create mode 100644 src/code/tests/server.spec.tsx
create mode 100644 src/collapse/tests/server.spec.tsx
create mode 100644 src/color-picker/tests/server.spec.tsx
create mode 100644 src/data-table/tests/server.spec.tsx
create mode 100644 src/date-picker/tests/server.spec.tsx
create mode 100644 src/descriptions/tests/server.spec.tsx
create mode 100644 src/dialog/tests/server.spec.tsx
create mode 100644 src/divider/tests/server.spec.tsx
create mode 100644 src/drawer/tests/server.spec.tsx
create mode 100644 src/dropdown/tests/server.spec.tsx
create mode 100644 src/dynamic-input/tests/server.spec.tsx
create mode 100644 src/dynamic-tags/tests/server.spec.tsx
create mode 100644 src/element/tests/server.spec.tsx
create mode 100644 src/ellipsis/tests/server.spec.tsx
create mode 100644 src/empty/tests/server.spec.tsx
create mode 100644 src/form/tests/server.spec.tsx
create mode 100644 src/gradient-text/tests/server.spec.tsx
create mode 100644 src/grid/tests/server.spec.tsx
create mode 100644 src/icon/tests/server.spec.tsx
create mode 100644 src/image/tests/server.spec.tsx
create mode 100644 src/input-number/tests/server.spec.tsx
create mode 100644 src/input/tests/server.spec.tsx
create mode 100644 src/layout/tests/server.spec.tsx
create mode 100644 src/legacy-grid/tests/server.spec.tsx
create mode 100644 src/list/tests/server.spec.tsx
create mode 100644 src/loading-bar/tests/server.spec.tsx
create mode 100644 src/log/tests/server.spec.tsx
create mode 100644 src/mention/tests/server.spec.tsx
create mode 100644 src/menu/tests/server.spec.tsx
create mode 100644 src/message/tests/server.spec.tsx
create mode 100644 src/modal/tests/server.spec.tsx
create mode 100644 src/notification/tests/server.spec.tsx
create mode 100644 src/page-header/tests/server.spec.tsx
create mode 100644 src/pagination/tests/server.spec.tsx
create mode 100644 src/popconfirm/tests/server.spec.tsx
create mode 100644 src/popover/tests/server.spec.tsx
create mode 100644 src/popselect/tests/server.spec.tsx
create mode 100644 src/progress/tests/server.spec.tsx
create mode 100644 src/radio/tests/server.spec.tsx
create mode 100644 src/rate/tests/server.spec.tsx
create mode 100644 src/result/tests/server.spec.tsx
create mode 100644 src/scrollbar/tests/server.spec.tsx
create mode 100644 src/select/tests/server.spec.tsx
create mode 100644 src/skeleton/tests/server.spec.tsx
create mode 100644 src/slider/tests/server.spec.tsx
create mode 100644 src/space/tests/server.spec.tsx
create mode 100644 src/spin/tests/server.spec.tsx
create mode 100644 src/statistic/tests/server.spec.tsx
create mode 100644 src/steps/tests/server.spec.tsx
create mode 100644 src/switch/tests/server.spec.tsx
create mode 100644 src/table/tests/server.spec.tsx
create mode 100644 src/tabs/tests/server.spec.tsx
create mode 100644 src/tag/tests/server.spec.tsx
create mode 100644 src/thing/tests/server.spec.tsx
create mode 100644 src/time-picker/tests/server.spec.tsx
create mode 100644 src/time/tests/server.spec.tsx
create mode 100644 src/timeline/tests/server.spec.tsx
create mode 100644 src/tooltip/tests/server.spec.tsx
create mode 100644 src/transfer/tests/server.spec.tsx
create mode 100644 src/tree-select/tests/server.spec.tsx
create mode 100644 src/tree/tests/server.spec.tsx
create mode 100644 src/typography/tests/server.spec.tsx
create mode 100644 src/upload/tests/server.spec.tsx
diff --git a/CHANGELOG.en-US.md b/CHANGELOG.en-US.md
index 916d8a3d0..27509d086 100644
--- a/CHANGELOG.en-US.md
+++ b/CHANGELOG.en-US.md
@@ -12,6 +12,7 @@
- Fix `n-drawer` border transition, closes[#1211].
- Fix `n-input-number`'s `value` prop can't be `null` type.
- Fix components with rtl support throws error in SSR.
+- Fix components with popover throws error in SSR.
### Feats
diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md
index fec856ebc..d2b5fff25 100644
--- a/CHANGELOG.zh-CN.md
+++ b/CHANGELOG.zh-CN.md
@@ -12,6 +12,7 @@
- 修复 `n-drawer` 边界缺少 transition,关闭 [#1211]
- 修复 `n-input-number` 的 `value` 属性不能为 null 类型
- 修复支持 rtl 的组件 SSR 报错
+- 修复有弹出层组件的 SSR 报错
### Feats
diff --git a/src/affix/tests/server.spec.tsx b/src/affix/tests/server.spec.tsx
new file mode 100644
index 000000000..38b028aff
--- /dev/null
+++ b/src/affix/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NAffix } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/alert/tests/server.spec.tsx b/src/alert/tests/server.spec.tsx
new file mode 100644
index 000000000..0ea9608fa
--- /dev/null
+++ b/src/alert/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NAlert } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/anchor/tests/server.spec.tsx b/src/anchor/tests/server.spec.tsx
new file mode 100644
index 000000000..1c735bfec
--- /dev/null
+++ b/src/anchor/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NAnchor } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/auto-complete/tests/server.spec.tsx b/src/auto-complete/tests/server.spec.tsx
new file mode 100644
index 000000000..604a79679
--- /dev/null
+++ b/src/auto-complete/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NAutoComplete } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/avatar/tests/server.spec.tsx b/src/avatar/tests/server.spec.tsx
new file mode 100644
index 000000000..951ef34ab
--- /dev/null
+++ b/src/avatar/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NAvatar } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/back-top/tests/server.spec.tsx b/src/back-top/tests/server.spec.tsx
new file mode 100644
index 000000000..c066eef81
--- /dev/null
+++ b/src/back-top/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NBackTop } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/badge/tests/server.spec.tsx b/src/badge/tests/server.spec.tsx
new file mode 100644
index 000000000..53b82da5c
--- /dev/null
+++ b/src/badge/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NBadge } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/breadcrumb/tests/server.spec.tsx b/src/breadcrumb/tests/server.spec.tsx
new file mode 100644
index 000000000..40d0ac3ce
--- /dev/null
+++ b/src/breadcrumb/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NBreadcrumb } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/button/tests/server.spec.tsx b/src/button/tests/server.spec.tsx
new file mode 100644
index 000000000..c15e20e92
--- /dev/null
+++ b/src/button/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NButton } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/calendar/tests/server.spec.tsx b/src/calendar/tests/server.spec.tsx
new file mode 100644
index 000000000..c00fa8e75
--- /dev/null
+++ b/src/calendar/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCalendar } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/card/tests/server.spec.tsx b/src/card/tests/server.spec.tsx
new file mode 100644
index 000000000..61878dd59
--- /dev/null
+++ b/src/card/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCard } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/carousel/tests/server.spec.tsx b/src/carousel/tests/server.spec.tsx
new file mode 100644
index 000000000..97af4a4ed
--- /dev/null
+++ b/src/carousel/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCarousel } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/cascader/tests/server.spec.tsx b/src/cascader/tests/server.spec.tsx
new file mode 100644
index 000000000..575bf0419
--- /dev/null
+++ b/src/cascader/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCascader } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/checkbox/tests/server.spec.tsx b/src/checkbox/tests/server.spec.tsx
new file mode 100644
index 000000000..ba7b8c00f
--- /dev/null
+++ b/src/checkbox/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCheckbox } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/code/tests/server.spec.tsx b/src/code/tests/server.spec.tsx
new file mode 100644
index 000000000..0cb2550a4
--- /dev/null
+++ b/src/code/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCode } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/collapse/tests/server.spec.tsx b/src/collapse/tests/server.spec.tsx
new file mode 100644
index 000000000..d273d7b06
--- /dev/null
+++ b/src/collapse/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NCollapse } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/color-picker/tests/server.spec.tsx b/src/color-picker/tests/server.spec.tsx
new file mode 100644
index 000000000..34cf756ff
--- /dev/null
+++ b/src/color-picker/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NColorPicker } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/data-table/tests/server.spec.tsx b/src/data-table/tests/server.spec.tsx
new file mode 100644
index 000000000..d479ff06a
--- /dev/null
+++ b/src/data-table/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDataTable } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/date-picker/tests/server.spec.tsx b/src/date-picker/tests/server.spec.tsx
new file mode 100644
index 000000000..713bcecc2
--- /dev/null
+++ b/src/date-picker/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDatePicker } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/descriptions/tests/server.spec.tsx b/src/descriptions/tests/server.spec.tsx
new file mode 100644
index 000000000..e1e9e7204
--- /dev/null
+++ b/src/descriptions/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDescriptions } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/dialog/tests/server.spec.tsx b/src/dialog/tests/server.spec.tsx
new file mode 100644
index 000000000..49c6061e9
--- /dev/null
+++ b/src/dialog/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDialog } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/divider/tests/server.spec.tsx b/src/divider/tests/server.spec.tsx
new file mode 100644
index 000000000..02d2653af
--- /dev/null
+++ b/src/divider/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDivider } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/drawer/tests/server.spec.tsx b/src/drawer/tests/server.spec.tsx
new file mode 100644
index 000000000..f635806bd
--- /dev/null
+++ b/src/drawer/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDrawer } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/dropdown/tests/server.spec.tsx b/src/dropdown/tests/server.spec.tsx
new file mode 100644
index 000000000..8d35a4762
--- /dev/null
+++ b/src/dropdown/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDropdown } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/dynamic-input/tests/server.spec.tsx b/src/dynamic-input/tests/server.spec.tsx
new file mode 100644
index 000000000..d8ed55e8d
--- /dev/null
+++ b/src/dynamic-input/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDynamicInput } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/dynamic-tags/tests/server.spec.tsx b/src/dynamic-tags/tests/server.spec.tsx
new file mode 100644
index 000000000..709222b95
--- /dev/null
+++ b/src/dynamic-tags/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NDynamicTags } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/element/tests/server.spec.tsx b/src/element/tests/server.spec.tsx
new file mode 100644
index 000000000..77c4931d2
--- /dev/null
+++ b/src/element/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NElement } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/ellipsis/tests/server.spec.tsx b/src/ellipsis/tests/server.spec.tsx
new file mode 100644
index 000000000..a53b515df
--- /dev/null
+++ b/src/ellipsis/tests/server.spec.tsx
@@ -0,0 +1,25 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NEllipsis } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => (
+
+ {{
+ trigger: () => 'kirby'
+ }}
+
+ ))
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/empty/tests/server.spec.tsx b/src/empty/tests/server.spec.tsx
new file mode 100644
index 000000000..b1d6c60df
--- /dev/null
+++ b/src/empty/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NEmpty } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/form/tests/server.spec.tsx b/src/form/tests/server.spec.tsx
new file mode 100644
index 000000000..71474a09b
--- /dev/null
+++ b/src/form/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NForm } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/gradient-text/tests/server.spec.tsx b/src/gradient-text/tests/server.spec.tsx
new file mode 100644
index 000000000..18fd39e71
--- /dev/null
+++ b/src/gradient-text/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NGradientText } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/grid/tests/server.spec.tsx b/src/grid/tests/server.spec.tsx
new file mode 100644
index 000000000..8a9e116ba
--- /dev/null
+++ b/src/grid/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NGrid } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/icon/tests/server.spec.tsx b/src/icon/tests/server.spec.tsx
new file mode 100644
index 000000000..70b7e5c98
--- /dev/null
+++ b/src/icon/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NIcon } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/image/tests/server.spec.tsx b/src/image/tests/server.spec.tsx
new file mode 100644
index 000000000..4369a0b57
--- /dev/null
+++ b/src/image/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NImage } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/input-number/tests/server.spec.tsx b/src/input-number/tests/server.spec.tsx
new file mode 100644
index 000000000..31b25798a
--- /dev/null
+++ b/src/input-number/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NInputNumber } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/input/tests/server.spec.tsx b/src/input/tests/server.spec.tsx
new file mode 100644
index 000000000..5ce1f6d62
--- /dev/null
+++ b/src/input/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NInput } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/layout/tests/server.spec.tsx b/src/layout/tests/server.spec.tsx
new file mode 100644
index 000000000..ae25b3fe5
--- /dev/null
+++ b/src/layout/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NLayout } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/legacy-grid/tests/server.spec.tsx b/src/legacy-grid/tests/server.spec.tsx
new file mode 100644
index 000000000..5d84d9c6a
--- /dev/null
+++ b/src/legacy-grid/tests/server.spec.tsx
@@ -0,0 +1,25 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NRow, NCol } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => (
+
+ {{
+ default: () =>
+ }}
+
+ ))
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/list/tests/server.spec.tsx b/src/list/tests/server.spec.tsx
new file mode 100644
index 000000000..1f6d3d48e
--- /dev/null
+++ b/src/list/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NList } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/loading-bar/tests/server.spec.tsx b/src/loading-bar/tests/server.spec.tsx
new file mode 100644
index 000000000..fa988aed9
--- /dev/null
+++ b/src/loading-bar/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NLoadingBar } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/log/tests/server.spec.tsx b/src/log/tests/server.spec.tsx
new file mode 100644
index 000000000..8baa3c565
--- /dev/null
+++ b/src/log/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NLog } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/mention/tests/server.spec.tsx b/src/mention/tests/server.spec.tsx
new file mode 100644
index 000000000..23116287f
--- /dev/null
+++ b/src/mention/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NMention } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/menu/tests/server.spec.tsx b/src/menu/tests/server.spec.tsx
new file mode 100644
index 000000000..6d0b33318
--- /dev/null
+++ b/src/menu/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NMenu } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/message/tests/server.spec.tsx b/src/message/tests/server.spec.tsx
new file mode 100644
index 000000000..060c38b98
--- /dev/null
+++ b/src/message/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NMessage } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/modal/tests/server.spec.tsx b/src/modal/tests/server.spec.tsx
new file mode 100644
index 000000000..d8e46a7d0
--- /dev/null
+++ b/src/modal/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NModal } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/notification/tests/server.spec.tsx b/src/notification/tests/server.spec.tsx
new file mode 100644
index 000000000..3d804e5a6
--- /dev/null
+++ b/src/notification/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NNotification } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/page-header/tests/server.spec.tsx b/src/page-header/tests/server.spec.tsx
new file mode 100644
index 000000000..6219d8971
--- /dev/null
+++ b/src/page-header/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NPageHeader } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/pagination/tests/server.spec.tsx b/src/pagination/tests/server.spec.tsx
new file mode 100644
index 000000000..6e5b62eb6
--- /dev/null
+++ b/src/pagination/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NPagination } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/popconfirm/tests/server.spec.tsx b/src/popconfirm/tests/server.spec.tsx
new file mode 100644
index 000000000..505b83849
--- /dev/null
+++ b/src/popconfirm/tests/server.spec.tsx
@@ -0,0 +1,25 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NPopconfirm } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => (
+
+ {{
+ default: () => 'kirby'
+ }}
+
+ ))
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/popover/tests/server.spec.tsx b/src/popover/tests/server.spec.tsx
new file mode 100644
index 000000000..c66644feb
--- /dev/null
+++ b/src/popover/tests/server.spec.tsx
@@ -0,0 +1,26 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NPopover } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => (
+
+ {{
+ trigger: () => 'kirby'
+ }}
+
+ ))
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ console.error(e)
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/popselect/tests/server.spec.tsx b/src/popselect/tests/server.spec.tsx
new file mode 100644
index 000000000..a8d9b7e07
--- /dev/null
+++ b/src/popselect/tests/server.spec.tsx
@@ -0,0 +1,25 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NPopselect } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => (
+
+ {{
+ trigger: () => 'kirby'
+ }}
+
+ ))
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/progress/tests/server.spec.tsx b/src/progress/tests/server.spec.tsx
new file mode 100644
index 000000000..d92126080
--- /dev/null
+++ b/src/progress/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NProgress } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/radio/tests/server.spec.tsx b/src/radio/tests/server.spec.tsx
new file mode 100644
index 000000000..a1ed35502
--- /dev/null
+++ b/src/radio/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NRadio } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/rate/tests/server.spec.tsx b/src/rate/tests/server.spec.tsx
new file mode 100644
index 000000000..64b0b52c8
--- /dev/null
+++ b/src/rate/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NRate } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/result/tests/server.spec.tsx b/src/result/tests/server.spec.tsx
new file mode 100644
index 000000000..e804da676
--- /dev/null
+++ b/src/result/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NResult } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/scrollbar/tests/server.spec.tsx b/src/scrollbar/tests/server.spec.tsx
new file mode 100644
index 000000000..52de8162a
--- /dev/null
+++ b/src/scrollbar/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NScrollbar } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/select/tests/server.spec.tsx b/src/select/tests/server.spec.tsx
new file mode 100644
index 000000000..c33a31c26
--- /dev/null
+++ b/src/select/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSelect } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/skeleton/tests/server.spec.tsx b/src/skeleton/tests/server.spec.tsx
new file mode 100644
index 000000000..3837d50ad
--- /dev/null
+++ b/src/skeleton/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSkeleton } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/slider/tests/server.spec.tsx b/src/slider/tests/server.spec.tsx
new file mode 100644
index 000000000..c89c06be1
--- /dev/null
+++ b/src/slider/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSlider } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/space/tests/server.spec.tsx b/src/space/tests/server.spec.tsx
new file mode 100644
index 000000000..b6b48917b
--- /dev/null
+++ b/src/space/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSpace } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/spin/tests/server.spec.tsx b/src/spin/tests/server.spec.tsx
new file mode 100644
index 000000000..0c0b4ddaa
--- /dev/null
+++ b/src/spin/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSpin } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/statistic/tests/server.spec.tsx b/src/statistic/tests/server.spec.tsx
new file mode 100644
index 000000000..c9ffe8e58
--- /dev/null
+++ b/src/statistic/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NStatistic } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/steps/tests/server.spec.tsx b/src/steps/tests/server.spec.tsx
new file mode 100644
index 000000000..2aeb8671d
--- /dev/null
+++ b/src/steps/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSteps } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/switch/tests/server.spec.tsx b/src/switch/tests/server.spec.tsx
new file mode 100644
index 000000000..3e93772ba
--- /dev/null
+++ b/src/switch/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NSwitch } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/table/tests/server.spec.tsx b/src/table/tests/server.spec.tsx
new file mode 100644
index 000000000..f91646511
--- /dev/null
+++ b/src/table/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTable } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/tabs/tests/server.spec.tsx b/src/tabs/tests/server.spec.tsx
new file mode 100644
index 000000000..8974727f2
--- /dev/null
+++ b/src/tabs/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTabs } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/tag/tests/server.spec.tsx b/src/tag/tests/server.spec.tsx
new file mode 100644
index 000000000..9ed030f0d
--- /dev/null
+++ b/src/tag/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTag } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/thing/tests/server.spec.tsx b/src/thing/tests/server.spec.tsx
new file mode 100644
index 000000000..92bf07af6
--- /dev/null
+++ b/src/thing/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NThing } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/time-picker/tests/server.spec.tsx b/src/time-picker/tests/server.spec.tsx
new file mode 100644
index 000000000..1e9875d1d
--- /dev/null
+++ b/src/time-picker/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTimePicker } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/time/tests/server.spec.tsx b/src/time/tests/server.spec.tsx
new file mode 100644
index 000000000..994b406dc
--- /dev/null
+++ b/src/time/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTime } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/timeline/tests/server.spec.tsx b/src/timeline/tests/server.spec.tsx
new file mode 100644
index 000000000..801dbe86c
--- /dev/null
+++ b/src/timeline/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTimeline } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/tooltip/tests/server.spec.tsx b/src/tooltip/tests/server.spec.tsx
new file mode 100644
index 000000000..ba08e4e5e
--- /dev/null
+++ b/src/tooltip/tests/server.spec.tsx
@@ -0,0 +1,25 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTooltip } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => (
+
+ {{
+ trigger: () => 'kirby'
+ }}
+
+ ))
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/transfer/tests/server.spec.tsx b/src/transfer/tests/server.spec.tsx
new file mode 100644
index 000000000..a4290757e
--- /dev/null
+++ b/src/transfer/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTransfer } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/tree-select/tests/server.spec.tsx b/src/tree-select/tests/server.spec.tsx
new file mode 100644
index 000000000..49c17c4c3
--- /dev/null
+++ b/src/tree-select/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTreeSelect } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/tree/tests/server.spec.tsx b/src/tree/tests/server.spec.tsx
new file mode 100644
index 000000000..bd8abed88
--- /dev/null
+++ b/src/tree/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NTree } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/typography/tests/server.spec.tsx b/src/typography/tests/server.spec.tsx
new file mode 100644
index 000000000..d3c62be59
--- /dev/null
+++ b/src/typography/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NText } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})
diff --git a/src/upload/tests/server.spec.tsx b/src/upload/tests/server.spec.tsx
new file mode 100644
index 000000000..d30e26b25
--- /dev/null
+++ b/src/upload/tests/server.spec.tsx
@@ -0,0 +1,19 @@
+/**
+ * @jest-environment node
+ */
+import { h, createSSRApp } from 'vue'
+import { renderToString } from '@vue/server-renderer'
+import { setup } from '@css-render/vue3-ssr'
+import { NUpload } from '../..'
+
+describe('SSR', () => {
+ it('works', async () => {
+ const app = createSSRApp(() => )
+ setup(app)
+ try {
+ await renderToString(app)
+ } catch (e) {
+ expect(e).not.toBeTruthy()
+ }
+ })
+})