@yh-ui/components 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/breadcrumb/src/breadcrumb-item.vue +10 -6
- package/dist/form/index.cjs +1 -1
- package/dist/form/index.d.ts +1 -1
- package/dist/form/index.mjs +1 -1
- package/dist/icon/index.cjs +1 -1
- package/dist/icon/index.d.ts +1 -1
- package/dist/icon/index.mjs +1 -1
- package/dist/loading/index.cjs +1 -1
- package/dist/loading/index.d.ts +1 -1
- package/dist/loading/index.mjs +1 -1
- package/dist/message/src/method.cjs +1 -1
- package/dist/message/src/method.d.ts +1 -1
- package/dist/message/src/method.mjs +1 -1
- package/dist/message-box/index.cjs +1 -1
- package/dist/message-box/index.d.ts +1 -1
- package/dist/message-box/index.mjs +1 -1
- package/dist/notification/src/method.cjs +1 -1
- package/dist/notification/src/method.d.ts +1 -1
- package/dist/notification/src/method.mjs +1 -1
- package/dist/resolver.cjs +1 -1
- package/dist/resolver.d.ts +7 -5
- package/dist/resolver.mjs +1 -1
- package/dist/style.css +584 -0
- package/package.json +9 -8
- package/dist/affix/__tests__/affix.bottom.test.cjs +0 -101
- package/dist/affix/__tests__/affix.bottom.test.mjs +0 -88
- package/dist/affix/__tests__/affix.ssr.test.cjs +0 -38
- package/dist/affix/__tests__/affix.ssr.test.mjs +0 -51
- package/dist/affix/__tests__/affix.test.cjs +0 -185
- package/dist/affix/__tests__/affix.test.mjs +0 -180
- package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.cjs +0 -55
- package/dist/ai-action-group/__tests__/ai-action-group.ssr.test.mjs +0 -39
- package/dist/ai-action-group/__tests__/ai-action-group.test.cjs +0 -235
- package/dist/ai-action-group/__tests__/ai-action-group.test.mjs +0 -157
- package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.cjs +0 -61
- package/dist/ai-agent-card/__tests__/ai-agent-card.ssr.test.mjs +0 -65
- package/dist/ai-agent-card/__tests__/ai-agent-card.test.cjs +0 -205
- package/dist/ai-agent-card/__tests__/ai-agent-card.test.mjs +0 -133
- package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.cjs +0 -73
- package/dist/ai-artifacts/__tests__/ai-artifacts.ssr.test.mjs +0 -68
- package/dist/ai-artifacts/__tests__/ai-artifacts.test.cjs +0 -128
- package/dist/ai-artifacts/__tests__/ai-artifacts.test.mjs +0 -109
- package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.cjs +0 -50
- package/dist/ai-attachments/__tests__/ai-attachments.ssr.test.mjs +0 -33
- package/dist/ai-attachments/__tests__/ai-attachments.test.cjs +0 -113
- package/dist/ai-attachments/__tests__/ai-attachments.test.mjs +0 -81
- package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.cjs +0 -95
- package/dist/ai-bubble/__tests__/ai-bubble.ssr.test.mjs +0 -66
- package/dist/ai-bubble/__tests__/ai-bubble.test.cjs +0 -624
- package/dist/ai-bubble/__tests__/ai-bubble.test.mjs +0 -393
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.cjs +0 -51
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.ssr.test.mjs +0 -51
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.cjs +0 -138
- package/dist/ai-bubble-list/__tests__/ai-bubble-list.test.mjs +0 -112
- package/dist/ai-chat/__tests__/ai-chat.ssr.test.cjs +0 -90
- package/dist/ai-chat/__tests__/ai-chat.ssr.test.mjs +0 -77
- package/dist/ai-chat/__tests__/ai-chat.test.cjs +0 -177
- package/dist/ai-chat/__tests__/ai-chat.test.mjs +0 -129
- package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.cjs +0 -75
- package/dist/ai-code-block/__tests__/ai-code-block.ssr.test.mjs +0 -57
- package/dist/ai-code-block/__tests__/ai-code-block.test.cjs +0 -174
- package/dist/ai-code-block/__tests__/ai-code-block.test.mjs +0 -108
- package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.cjs +0 -46
- package/dist/ai-code-editor/__tests__/ai-code-editor.ssr.test.mjs +0 -39
- package/dist/ai-code-editor/__tests__/ai-code-editor.test.cjs +0 -90
- package/dist/ai-code-editor/__tests__/ai-code-editor.test.mjs +0 -78
- package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.cjs +0 -28
- package/dist/ai-code-runner/__tests__/ai-code-runner.ssr.test.mjs +0 -26
- package/dist/ai-code-runner/__tests__/ai-code-runner.test.cjs +0 -69
- package/dist/ai-code-runner/__tests__/ai-code-runner.test.mjs +0 -66
- package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.cjs +0 -50
- package/dist/ai-conversations/__tests__/ai-conversations.ssr.test.mjs +0 -42
- package/dist/ai-conversations/__tests__/ai-conversations.test.cjs +0 -67
- package/dist/ai-conversations/__tests__/ai-conversations.test.mjs +0 -51
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.cjs +0 -62
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.ssr.test.mjs +0 -50
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.cjs +0 -315
- package/dist/ai-editor-sender/__tests__/ai-editor-sender.test.mjs +0 -226
- package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.cjs +0 -45
- package/dist/ai-file-card/__tests__/ai-file-card.ssr.test.mjs +0 -29
- package/dist/ai-file-card/__tests__/ai-file-card.test.cjs +0 -160
- package/dist/ai-file-card/__tests__/ai-file-card.test.mjs +0 -109
- package/dist/ai-mention/__tests__/ai-mention.ssr.test.cjs +0 -38
- package/dist/ai-mention/__tests__/ai-mention.ssr.test.mjs +0 -37
- package/dist/ai-mention/__tests__/ai-mention.test.cjs +0 -113
- package/dist/ai-mention/__tests__/ai-mention.test.mjs +0 -84
- package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.cjs +0 -43
- package/dist/ai-mermaid/__tests__/ai-mermaid.ssr.test.mjs +0 -33
- package/dist/ai-mermaid/__tests__/ai-mermaid.test.cjs +0 -113
- package/dist/ai-mermaid/__tests__/ai-mermaid.test.mjs +0 -92
- package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.cjs +0 -49
- package/dist/ai-prompts/__tests__/ai-prompts.ssr.test.mjs +0 -41
- package/dist/ai-prompts/__tests__/ai-prompts.test.cjs +0 -54
- package/dist/ai-prompts/__tests__/ai-prompts.test.mjs +0 -38
- package/dist/ai-provider/__tests__/ai-provider.ssr.test.cjs +0 -33
- package/dist/ai-provider/__tests__/ai-provider.ssr.test.mjs +0 -34
- package/dist/ai-provider/__tests__/ai-provider.test.cjs +0 -38
- package/dist/ai-provider/__tests__/ai-provider.test.mjs +0 -33
- package/dist/ai-sender/__tests__/ai-sender.ssr.test.cjs +0 -46
- package/dist/ai-sender/__tests__/ai-sender.ssr.test.mjs +0 -37
- package/dist/ai-sender/__tests__/ai-sender.test.cjs +0 -511
- package/dist/ai-sender/__tests__/ai-sender.test.mjs +0 -322
- package/dist/ai-sources/__tests__/ai-sources.ssr.test.cjs +0 -72
- package/dist/ai-sources/__tests__/ai-sources.ssr.test.mjs +0 -82
- package/dist/ai-sources/__tests__/ai-sources.test.cjs +0 -200
- package/dist/ai-sources/__tests__/ai-sources.test.mjs +0 -160
- package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.cjs +0 -56
- package/dist/ai-thinking/__tests__/ai-thinking.ssr.test.mjs +0 -42
- package/dist/ai-thinking/__tests__/ai-thinking.test.cjs +0 -151
- package/dist/ai-thinking/__tests__/ai-thinking.test.mjs +0 -96
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.cjs +0 -88
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.ssr.test.mjs +0 -55
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.cjs +0 -344
- package/dist/ai-thought-chain/__tests__/ai-thought-chain.test.mjs +0 -237
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.cjs +0 -32
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.ssr.test.mjs +0 -25
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.cjs +0 -130
- package/dist/ai-voice-trigger/__tests__/ai-voice-trigger.test.mjs +0 -103
- package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.cjs +0 -57
- package/dist/ai-welcome/__tests__/ai-welcome.ssr.test.mjs +0 -39
- package/dist/ai-welcome/__tests__/ai-welcome.test.cjs +0 -169
- package/dist/ai-welcome/__tests__/ai-welcome.test.mjs +0 -113
- package/dist/alert/__tests__/alert.ssr.test.cjs +0 -28
- package/dist/alert/__tests__/alert.ssr.test.mjs +0 -29
- package/dist/alert/__tests__/alert.test.cjs +0 -123
- package/dist/alert/__tests__/alert.test.mjs +0 -110
- package/dist/autocomplete/__tests__/autocomplete.ssr.test.cjs +0 -54
- package/dist/autocomplete/__tests__/autocomplete.ssr.test.mjs +0 -47
- package/dist/autocomplete/__tests__/autocomplete.test.cjs +0 -299
- package/dist/autocomplete/__tests__/autocomplete.test.mjs +0 -263
- package/dist/avatar/__tests__/avatar.ssr.test.cjs +0 -103
- package/dist/avatar/__tests__/avatar.ssr.test.mjs +0 -108
- package/dist/avatar/__tests__/avatar.test.cjs +0 -146
- package/dist/avatar/__tests__/avatar.test.mjs +0 -125
- package/dist/back-top/__tests__/back-top.ssr.test.cjs +0 -13
- package/dist/back-top/__tests__/back-top.ssr.test.mjs +0 -10
- package/dist/back-top/__tests__/back-top.test.cjs +0 -88
- package/dist/back-top/__tests__/back-top.test.mjs +0 -76
- package/dist/badge/__tests__/badge.ssr.test.cjs +0 -36
- package/dist/badge/__tests__/badge.ssr.test.mjs +0 -33
- package/dist/badge/__tests__/badge.test.cjs +0 -115
- package/dist/badge/__tests__/badge.test.mjs +0 -112
- package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.cjs +0 -22
- package/dist/breadcrumb/__tests__/breadcrumb.ssr.test.mjs +0 -20
- package/dist/breadcrumb/__tests__/breadcrumb.test.cjs +0 -64
- package/dist/breadcrumb/__tests__/breadcrumb.test.mjs +0 -51
- package/dist/button/__tests__/button.ssr.test.cjs +0 -52
- package/dist/button/__tests__/button.ssr.test.mjs +0 -55
- package/dist/button/__tests__/button.test.cjs +0 -207
- package/dist/button/__tests__/button.test.mjs +0 -141
- package/dist/calendar/__tests__/calendar.ssr.test.cjs +0 -65
- package/dist/calendar/__tests__/calendar.ssr.test.mjs +0 -63
- package/dist/calendar/__tests__/calendar.test.cjs +0 -263
- package/dist/calendar/__tests__/calendar.test.mjs +0 -255
- package/dist/card/__tests__/card.ssr.test.cjs +0 -37
- package/dist/card/__tests__/card.ssr.test.mjs +0 -40
- package/dist/card/__tests__/card.test.cjs +0 -131
- package/dist/card/__tests__/card.test.mjs +0 -124
- package/dist/carousel/__tests__/carousel.ssr.test.cjs +0 -27
- package/dist/carousel/__tests__/carousel.ssr.test.mjs +0 -27
- package/dist/carousel/__tests__/carousel.test.cjs +0 -115
- package/dist/carousel/__tests__/carousel.test.mjs +0 -98
- package/dist/cascader/__tests__/cascader-panel.test.cjs +0 -162
- package/dist/cascader/__tests__/cascader-panel.test.mjs +0 -151
- package/dist/cascader/__tests__/cascader.ssr.test.cjs +0 -61
- package/dist/cascader/__tests__/cascader.ssr.test.mjs +0 -55
- package/dist/cascader/__tests__/cascader.test.cjs +0 -342
- package/dist/cascader/__tests__/cascader.test.mjs +0 -316
- package/dist/category-nav/__tests__/category-nav.ssr.test.cjs +0 -35
- package/dist/category-nav/__tests__/category-nav.ssr.test.mjs +0 -21
- package/dist/category-nav/__tests__/category-nav.test.cjs +0 -53
- package/dist/category-nav/__tests__/category-nav.test.mjs +0 -33
- package/dist/checkbox/__tests__/checkbox.ssr.test.cjs +0 -52
- package/dist/checkbox/__tests__/checkbox.ssr.test.mjs +0 -57
- package/dist/checkbox/__tests__/checkbox.test.cjs +0 -173
- package/dist/checkbox/__tests__/checkbox.test.mjs +0 -133
- package/dist/col/__tests__/col.ssr.test.cjs +0 -44
- package/dist/col/__tests__/col.ssr.test.mjs +0 -42
- package/dist/col/__tests__/col.test.cjs +0 -128
- package/dist/col/__tests__/col.test.mjs +0 -116
- package/dist/color-picker/__tests__/color-picker.ssr.test.cjs +0 -34
- package/dist/color-picker/__tests__/color-picker.ssr.test.mjs +0 -39
- package/dist/color-picker/__tests__/color-picker.test.cjs +0 -227
- package/dist/color-picker/__tests__/color-picker.test.mjs +0 -176
- package/dist/config-provider/__tests__/config-provider.ssr.test.cjs +0 -43
- package/dist/config-provider/__tests__/config-provider.ssr.test.mjs +0 -42
- package/dist/config-provider/__tests__/config-provider.test.cjs +0 -75
- package/dist/config-provider/__tests__/config-provider.test.mjs +0 -64
- package/dist/container/__tests__/container.ssr.test.cjs +0 -71
- package/dist/container/__tests__/container.ssr.test.mjs +0 -50
- package/dist/container/__tests__/container.test.cjs +0 -111
- package/dist/container/__tests__/container.test.mjs +0 -84
- package/dist/countdown/__tests__/countdown.ssr.test.cjs +0 -86
- package/dist/countdown/__tests__/countdown.ssr.test.mjs +0 -78
- package/dist/countdown/__tests__/countdown.test.cjs +0 -767
- package/dist/countdown/__tests__/countdown.test.mjs +0 -722
- package/dist/coupon-card/__tests__/coupon-card.ssr.test.cjs +0 -21
- package/dist/coupon-card/__tests__/coupon-card.ssr.test.mjs +0 -18
- package/dist/coupon-card/__tests__/coupon-card.test.cjs +0 -67
- package/dist/coupon-card/__tests__/coupon-card.test.mjs +0 -64
- package/dist/date-picker/__tests__/date-picker-extended.test.cjs +0 -581
- package/dist/date-picker/__tests__/date-picker-extended.test.mjs +0 -455
- package/dist/date-picker/__tests__/date-picker.ssr.test.cjs +0 -26
- package/dist/date-picker/__tests__/date-picker.ssr.test.mjs +0 -23
- package/dist/date-picker/__tests__/date-picker.test.cjs +0 -170
- package/dist/date-picker/__tests__/date-picker.test.mjs +0 -136
- package/dist/descriptions/__tests__/descriptions.ssr.test.cjs +0 -67
- package/dist/descriptions/__tests__/descriptions.ssr.test.mjs +0 -72
- package/dist/descriptions/__tests__/descriptions.test.cjs +0 -150
- package/dist/descriptions/__tests__/descriptions.test.mjs +0 -130
- package/dist/dialog/__tests__/dialog.functional.test.cjs +0 -49
- package/dist/dialog/__tests__/dialog.functional.test.mjs +0 -49
- package/dist/dialog/__tests__/dialog.ssr.test.cjs +0 -31
- package/dist/dialog/__tests__/dialog.ssr.test.mjs +0 -29
- package/dist/dialog/__tests__/dialog.test.cjs +0 -561
- package/dist/dialog/__tests__/dialog.test.mjs +0 -388
- package/dist/divider/__tests__/divider.ssr.test.cjs +0 -41
- package/dist/divider/__tests__/divider.ssr.test.mjs +0 -44
- package/dist/divider/__tests__/divider.test.cjs +0 -71
- package/dist/divider/__tests__/divider.test.mjs +0 -68
- package/dist/drawer/__tests__/drawer.ssr.test.cjs +0 -25
- package/dist/drawer/__tests__/drawer.ssr.test.mjs +0 -23
- package/dist/drawer/__tests__/drawer.test.cjs +0 -145
- package/dist/drawer/__tests__/drawer.test.mjs +0 -122
- package/dist/dropdown/__tests__/dropdown.ssr.test.cjs +0 -49
- package/dist/dropdown/__tests__/dropdown.ssr.test.mjs +0 -64
- package/dist/dropdown/__tests__/dropdown.test.cjs +0 -310
- package/dist/dropdown/__tests__/dropdown.test.mjs +0 -269
- package/dist/empty/__tests__/empty.ssr.test.cjs +0 -96
- package/dist/empty/__tests__/empty.ssr.test.mjs +0 -99
- package/dist/empty/__tests__/empty.test.cjs +0 -110
- package/dist/empty/__tests__/empty.test.mjs +0 -101
- package/dist/filter-bar/__tests__/filter-bar.ssr.test.cjs +0 -29
- package/dist/filter-bar/__tests__/filter-bar.ssr.test.mjs +0 -16
- package/dist/filter-bar/__tests__/filter-bar.test.cjs +0 -51
- package/dist/filter-bar/__tests__/filter-bar.test.mjs +0 -29
- package/dist/form/__tests__/form-schema.test.cjs +0 -636
- package/dist/form/__tests__/form-schema.test.mjs +0 -366
- package/dist/form/__tests__/form.ssr.test.cjs +0 -74
- package/dist/form/__tests__/form.ssr.test.mjs +0 -73
- package/dist/form/__tests__/form.test.cjs +0 -208
- package/dist/form/__tests__/form.test.mjs +0 -128
- package/dist/gantt-chart/__tests__/debug_ssr.test.cjs +0 -51
- package/dist/gantt-chart/__tests__/debug_ssr.test.mjs +0 -37
- package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.cjs +0 -95
- package/dist/gantt-chart/__tests__/gantt-chart.ssr.test.mjs +0 -94
- package/dist/gantt-chart/__tests__/gantt-chart.test.cjs +0 -86
- package/dist/gantt-chart/__tests__/gantt-chart.test.mjs +0 -79
- package/dist/grid/__tests__/grid.ssr.test.cjs +0 -81
- package/dist/grid/__tests__/grid.ssr.test.mjs +0 -63
- package/dist/grid/__tests__/grid.test.cjs +0 -142
- package/dist/grid/__tests__/grid.test.mjs +0 -89
- package/dist/icon/__tests__/icon.ssr.test.cjs +0 -35
- package/dist/icon/__tests__/icon.ssr.test.mjs +0 -26
- package/dist/icon/__tests__/icon.test.cjs +0 -144
- package/dist/icon/__tests__/icon.test.mjs +0 -123
- package/dist/image/__tests__/image-viewer.test.cjs +0 -101
- package/dist/image/__tests__/image-viewer.test.mjs +0 -94
- package/dist/image/__tests__/image.ssr.test.cjs +0 -73
- package/dist/image/__tests__/image.ssr.test.mjs +0 -72
- package/dist/image/__tests__/image.test.cjs +0 -171
- package/dist/image/__tests__/image.test.mjs +0 -159
- package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.cjs +0 -54
- package/dist/image-magnifier/__tests__/image-magnifier.ssr.test.mjs +0 -35
- package/dist/image-magnifier/__tests__/image-magnifier.test.cjs +0 -257
- package/dist/image-magnifier/__tests__/image-magnifier.test.mjs +0 -177
- package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.cjs +0 -59
- package/dist/infinite-scroll/__tests__/infinite-scroll.ssr.test.mjs +0 -84
- package/dist/infinite-scroll/__tests__/infinite-scroll.test.cjs +0 -255
- package/dist/infinite-scroll/__tests__/infinite-scroll.test.mjs +0 -187
- package/dist/input/__tests__/input-utils.test.cjs +0 -77
- package/dist/input/__tests__/input-utils.test.mjs +0 -75
- package/dist/input/__tests__/input.ssr.test.cjs +0 -100
- package/dist/input/__tests__/input.ssr.test.mjs +0 -85
- package/dist/input/__tests__/input.test.cjs +0 -127
- package/dist/input/__tests__/input.test.mjs +0 -112
- package/dist/input-number/__tests__/input-number.hydration.test.cjs +0 -24
- package/dist/input-number/__tests__/input-number.hydration.test.mjs +0 -21
- package/dist/input-number/__tests__/input-number.ssr.test.cjs +0 -95
- package/dist/input-number/__tests__/input-number.ssr.test.mjs +0 -92
- package/dist/input-number/__tests__/input-number.test.cjs +0 -199
- package/dist/input-number/__tests__/input-number.test.mjs +0 -173
- package/dist/input-tag/__tests__/input-tag.ssr.test.cjs +0 -47
- package/dist/input-tag/__tests__/input-tag.ssr.test.mjs +0 -41
- package/dist/input-tag/__tests__/input-tag.test.cjs +0 -268
- package/dist/input-tag/__tests__/input-tag.test.mjs +0 -201
- package/dist/loading/__tests__/loading.ssr.test.cjs +0 -37
- package/dist/loading/__tests__/loading.ssr.test.mjs +0 -27
- package/dist/loading/__tests__/loading.test.cjs +0 -91
- package/dist/loading/__tests__/loading.test.mjs +0 -75
- package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.cjs +0 -33
- package/dist/lucky-draw/__tests__/lucky-draw.ssr.test.mjs +0 -31
- package/dist/lucky-draw/__tests__/lucky-draw.test.cjs +0 -56
- package/dist/lucky-draw/__tests__/lucky-draw.test.mjs +0 -48
- package/dist/marquee/__tests__/marquee.ssr.test.cjs +0 -59
- package/dist/marquee/__tests__/marquee.ssr.test.mjs +0 -60
- package/dist/marquee/__tests__/marquee.test.cjs +0 -94
- package/dist/marquee/__tests__/marquee.test.mjs +0 -92
- package/dist/mention/__tests__/mention.ssr.test.cjs +0 -92
- package/dist/mention/__tests__/mention.ssr.test.mjs +0 -70
- package/dist/mention/__tests__/mention.test.cjs +0 -650
- package/dist/mention/__tests__/mention.test.mjs +0 -523
- package/dist/menu/__tests__/menu.ssr.test.cjs +0 -92
- package/dist/menu/__tests__/menu.ssr.test.mjs +0 -124
- package/dist/menu/__tests__/menu.test.cjs +0 -209
- package/dist/menu/__tests__/menu.test.mjs +0 -182
- package/dist/message/__tests__/message.ssr.test.cjs +0 -29
- package/dist/message/__tests__/message.ssr.test.mjs +0 -23
- package/dist/message/__tests__/message.test.cjs +0 -170
- package/dist/message/__tests__/message.test.mjs +0 -154
- package/dist/message-box/__tests__/message-box.ssr.test.cjs +0 -33
- package/dist/message-box/__tests__/message-box.ssr.test.mjs +0 -30
- package/dist/message-box/__tests__/message-box.test.cjs +0 -100
- package/dist/message-box/__tests__/message-box.test.mjs +0 -95
- package/dist/notification/__tests__/notification.ssr.test.cjs +0 -31
- package/dist/notification/__tests__/notification.ssr.test.mjs +0 -25
- package/dist/notification/__tests__/notification.test.cjs +0 -248
- package/dist/notification/__tests__/notification.test.mjs +0 -206
- package/dist/pagination/__tests__/pagination.ssr.test.cjs +0 -61
- package/dist/pagination/__tests__/pagination.ssr.test.mjs +0 -59
- package/dist/pagination/__tests__/pagination.test.cjs +0 -135
- package/dist/pagination/__tests__/pagination.test.mjs +0 -131
- package/dist/popconfirm/__tests__/popconfirm.ssr.test.cjs +0 -48
- package/dist/popconfirm/__tests__/popconfirm.ssr.test.mjs +0 -63
- package/dist/popconfirm/__tests__/popconfirm.test.cjs +0 -62
- package/dist/popconfirm/__tests__/popconfirm.test.mjs +0 -56
- package/dist/popover/__tests__/popover.ssr.test.cjs +0 -48
- package/dist/popover/__tests__/popover.ssr.test.mjs +0 -63
- package/dist/popover/__tests__/popover.test.cjs +0 -107
- package/dist/popover/__tests__/popover.test.mjs +0 -93
- package/dist/price/__tests__/price.ssr.test.cjs +0 -20
- package/dist/price/__tests__/price.ssr.test.mjs +0 -19
- package/dist/price/__tests__/price.test.cjs +0 -45
- package/dist/price/__tests__/price.test.mjs +0 -42
- package/dist/product-card/__tests__/product-card.ssr.test.cjs +0 -21
- package/dist/product-card/__tests__/product-card.ssr.test.mjs +0 -18
- package/dist/product-card/__tests__/product-card.test.cjs +0 -54
- package/dist/product-card/__tests__/product-card.test.mjs +0 -53
- package/dist/progress/__tests__/progress.ssr.test.cjs +0 -31
- package/dist/progress/__tests__/progress.ssr.test.mjs +0 -29
- package/dist/progress/__tests__/progress.test.cjs +0 -119
- package/dist/progress/__tests__/progress.test.mjs +0 -77
- package/dist/radio/__tests__/radio-button.test.cjs +0 -99
- package/dist/radio/__tests__/radio-button.test.mjs +0 -83
- package/dist/radio/__tests__/radio.ssr.test.cjs +0 -132
- package/dist/radio/__tests__/radio.ssr.test.mjs +0 -165
- package/dist/radio/__tests__/radio.test.cjs +0 -170
- package/dist/radio/__tests__/radio.test.mjs +0 -143
- package/dist/rate/__tests__/rate.ssr.test.cjs +0 -106
- package/dist/rate/__tests__/rate.ssr.test.mjs +0 -103
- package/dist/rate/__tests__/rate.test.cjs +0 -88
- package/dist/rate/__tests__/rate.test.mjs +0 -85
- package/dist/result/__tests__/result.ssr.test.cjs +0 -62
- package/dist/result/__tests__/result.ssr.test.mjs +0 -51
- package/dist/result/__tests__/result.test.cjs +0 -135
- package/dist/result/__tests__/result.test.mjs +0 -92
- package/dist/row/__tests__/row.ssr.test.cjs +0 -29
- package/dist/row/__tests__/row.ssr.test.mjs +0 -30
- package/dist/row/__tests__/row.test.cjs +0 -89
- package/dist/row/__tests__/row.test.mjs +0 -86
- package/dist/row/__tests__/row_ts.test.cjs +0 -31
- package/dist/row/__tests__/row_ts.test.mjs +0 -28
- package/dist/scrollbar/__tests__/scrollbar.ssr.test.cjs +0 -49
- package/dist/scrollbar/__tests__/scrollbar.ssr.test.mjs +0 -54
- package/dist/scrollbar/__tests__/scrollbar.test.cjs +0 -43
- package/dist/scrollbar/__tests__/scrollbar.test.mjs +0 -40
- package/dist/select/__tests__/select.perf.test.cjs +0 -191
- package/dist/select/__tests__/select.perf.test.mjs +0 -185
- package/dist/select/__tests__/select.ssr.test.cjs +0 -58
- package/dist/select/__tests__/select.ssr.test.mjs +0 -52
- package/dist/select/__tests__/select.test.cjs +0 -414
- package/dist/select/__tests__/select.test.mjs +0 -345
- package/dist/skeleton/__tests__/skeleton.ssr.test.cjs +0 -81
- package/dist/skeleton/__tests__/skeleton.ssr.test.mjs +0 -83
- package/dist/skeleton/__tests__/skeleton.test.cjs +0 -72
- package/dist/skeleton/__tests__/skeleton.test.mjs +0 -65
- package/dist/sku-selector/__tests__/sku-selector.ssr.test.cjs +0 -32
- package/dist/sku-selector/__tests__/sku-selector.ssr.test.mjs +0 -19
- package/dist/sku-selector/__tests__/sku-selector.test.cjs +0 -64
- package/dist/sku-selector/__tests__/sku-selector.test.mjs +0 -53
- package/dist/slider/__tests__/repro.test.cjs +0 -25
- package/dist/slider/__tests__/repro.test.mjs +0 -22
- package/dist/slider/__tests__/slider.ssr.test.cjs +0 -118
- package/dist/slider/__tests__/slider.ssr.test.mjs +0 -115
- package/dist/slider/__tests__/slider.test.cjs +0 -155
- package/dist/slider/__tests__/slider.test.mjs +0 -120
- package/dist/smart-address/__tests__/smart-address.ssr.test.cjs +0 -28
- package/dist/smart-address/__tests__/smart-address.ssr.test.mjs +0 -25
- package/dist/smart-address/__tests__/smart-address.test.cjs +0 -68
- package/dist/smart-address/__tests__/smart-address.test.mjs +0 -56
- package/dist/space/__tests__/space.ssr.test.cjs +0 -115
- package/dist/space/__tests__/space.ssr.test.mjs +0 -150
- package/dist/space/__tests__/space.test.cjs +0 -227
- package/dist/space/__tests__/space.test.mjs +0 -187
- package/dist/spin/__tests__/spin.ssr.test.cjs +0 -46
- package/dist/spin/__tests__/spin.ssr.test.mjs +0 -43
- package/dist/spin/__tests__/spin.test.cjs +0 -65
- package/dist/spin/__tests__/spin.test.mjs +0 -63
- package/dist/steps/__tests__/steps.ssr.test.cjs +0 -73
- package/dist/steps/__tests__/steps.ssr.test.mjs +0 -55
- package/dist/steps/__tests__/steps.test.cjs +0 -152
- package/dist/steps/__tests__/steps.test.mjs +0 -123
- package/dist/submit-bar/__tests__/submit-bar.ssr.test.cjs +0 -21
- package/dist/submit-bar/__tests__/submit-bar.ssr.test.mjs +0 -18
- package/dist/submit-bar/__tests__/submit-bar.test.cjs +0 -50
- package/dist/submit-bar/__tests__/submit-bar.test.mjs +0 -36
- package/dist/switch/__tests__/switch.ssr.test.cjs +0 -105
- package/dist/switch/__tests__/switch.ssr.test.mjs +0 -102
- package/dist/switch/__tests__/switch.test.cjs +0 -251
- package/dist/switch/__tests__/switch.test.mjs +0 -193
- package/dist/table/__tests__/table-advance.test.cjs +0 -180
- package/dist/table/__tests__/table-advance.test.mjs +0 -118
- package/dist/table/__tests__/table-interaction.test.cjs +0 -236
- package/dist/table/__tests__/table-interaction.test.mjs +0 -162
- package/dist/table/__tests__/table-utils.test.cjs +0 -690
- package/dist/table/__tests__/table-utils.test.mjs +0 -485
- package/dist/table/__tests__/table.perf.test.cjs +0 -231
- package/dist/table/__tests__/table.perf.test.mjs +0 -225
- package/dist/table/__tests__/table.ssr.test.cjs +0 -296
- package/dist/table/__tests__/table.ssr.test.mjs +0 -265
- package/dist/table/__tests__/table.test.cjs +0 -682
- package/dist/table/__tests__/table.test.mjs +0 -617
- package/dist/table/__tests__/use-column-drag.test.cjs +0 -238
- package/dist/table/__tests__/use-column-drag.test.mjs +0 -150
- package/dist/table/__tests__/use-table-export.test.cjs +0 -179
- package/dist/table/__tests__/use-table-export.test.mjs +0 -105
- package/dist/table/__tests__/use-table-import.test.cjs +0 -206
- package/dist/table/__tests__/use-table-import.test.mjs +0 -144
- package/dist/table/__tests__/use-table-print.test.cjs +0 -190
- package/dist/table/__tests__/use-table-print.test.mjs +0 -134
- package/dist/table/__tests__/use-virtual-scroll.test.cjs +0 -286
- package/dist/table/__tests__/use-virtual-scroll.test.mjs +0 -196
- package/dist/tabs/__tests__/tabs.ssr.test.cjs +0 -57
- package/dist/tabs/__tests__/tabs.ssr.test.mjs +0 -41
- package/dist/tabs/__tests__/tabs.test.cjs +0 -171
- package/dist/tabs/__tests__/tabs.test.mjs +0 -134
- package/dist/tag/__tests__/tag.ssr.test.cjs +0 -45
- package/dist/tag/__tests__/tag.ssr.test.mjs +0 -48
- package/dist/tag/__tests__/tag.test.cjs +0 -194
- package/dist/tag/__tests__/tag.test.mjs +0 -167
- package/dist/time-picker/__tests__/time-picker.ssr.test.cjs +0 -46
- package/dist/time-picker/__tests__/time-picker.ssr.test.mjs +0 -43
- package/dist/time-picker/__tests__/time-picker.test.cjs +0 -228
- package/dist/time-picker/__tests__/time-picker.test.mjs +0 -218
- package/dist/time-picker/__tests__/time-spinner.test.cjs +0 -196
- package/dist/time-picker/__tests__/time-spinner.test.mjs +0 -162
- package/dist/time-select/__tests__/time-select.ssr.test.cjs +0 -42
- package/dist/time-select/__tests__/time-select.ssr.test.mjs +0 -37
- package/dist/time-select/__tests__/time-select.test.cjs +0 -390
- package/dist/time-select/__tests__/time-select.test.mjs +0 -374
- package/dist/tooltip/__tests__/tooltip.ssr.test.cjs +0 -55
- package/dist/tooltip/__tests__/tooltip.ssr.test.mjs +0 -76
- package/dist/tooltip/__tests__/tooltip.test.cjs +0 -132
- package/dist/tooltip/__tests__/tooltip.test.mjs +0 -121
- package/dist/transfer/__tests__/transfer.ssr.test.cjs +0 -47
- package/dist/transfer/__tests__/transfer.ssr.test.mjs +0 -44
- package/dist/transfer/__tests__/transfer.test.cjs +0 -422
- package/dist/transfer/__tests__/transfer.test.mjs +0 -405
- package/dist/tree/__tests__/tree.perf.test.cjs +0 -182
- package/dist/tree/__tests__/tree.perf.test.mjs +0 -198
- package/dist/tree/__tests__/tree.ssr.test.cjs +0 -56
- package/dist/tree/__tests__/tree.ssr.test.mjs +0 -45
- package/dist/tree/__tests__/tree.test.cjs +0 -488
- package/dist/tree/__tests__/tree.test.mjs +0 -333
- package/dist/tree-select/__tests__/tree-select.ssr.test.cjs +0 -52
- package/dist/tree-select/__tests__/tree-select.ssr.test.mjs +0 -55
- package/dist/tree-select/__tests__/tree-select.test.cjs +0 -231
- package/dist/tree-select/__tests__/tree-select.test.mjs +0 -189
- package/dist/typography/__tests__/typography.ssr.test.cjs +0 -85
- package/dist/typography/__tests__/typography.ssr.test.mjs +0 -63
- package/dist/typography/__tests__/typography.test.cjs +0 -362
- package/dist/typography/__tests__/typography.test.mjs +0 -161
- package/dist/upload/__tests__/upload.ssr.test.cjs +0 -28
- package/dist/upload/__tests__/upload.ssr.test.mjs +0 -26
- package/dist/upload/__tests__/upload.test.cjs +0 -467
- package/dist/upload/__tests__/upload.test.mjs +0 -336
- package/dist/waterfall/__tests__/waterfall.ssr.test.cjs +0 -38
- package/dist/waterfall/__tests__/waterfall.ssr.test.mjs +0 -39
- package/dist/waterfall/__tests__/waterfall.test.cjs +0 -122
- package/dist/waterfall/__tests__/waterfall.test.mjs +0 -85
- package/dist/watermark/__tests__/watermark.ssr.test.cjs +0 -32
- package/dist/watermark/__tests__/watermark.ssr.test.mjs +0 -30
- package/dist/watermark/__tests__/watermark.test.cjs +0 -127
- package/dist/watermark/__tests__/watermark.test.mjs +0 -124
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
import { mount } from "@vue/test-utils";
|
|
2
|
-
import { describe, it, expect, vi } from "vitest";
|
|
3
|
-
import AiSources from "../src/ai-sources.vue";
|
|
4
|
-
describe("AiSources", () => {
|
|
5
|
-
const mockSources = [
|
|
6
|
-
{
|
|
7
|
-
id: 1,
|
|
8
|
-
title: "Source 1",
|
|
9
|
-
source: "vuejs.org",
|
|
10
|
-
fileType: "web",
|
|
11
|
-
score: 0.95,
|
|
12
|
-
excerpt: "Excerpt 1"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
id: 2,
|
|
16
|
-
title: "Source 2",
|
|
17
|
-
source: "github.com",
|
|
18
|
-
fileType: "code",
|
|
19
|
-
score: 0.85,
|
|
20
|
-
excerpt: "Excerpt 2"
|
|
21
|
-
},
|
|
22
|
-
{ id: 3, title: "Source 3", fileType: "pdf", score: 0.75 },
|
|
23
|
-
{ id: 4, title: "Source 4", fileType: "doc", score: 0.55 },
|
|
24
|
-
{ id: 5, title: "Source 5", fileType: "unknown_type", score: 0.2 },
|
|
25
|
-
{ id: 6, title: "Source 6", url: "https://example.com" }
|
|
26
|
-
];
|
|
27
|
-
it("renders inline mode by default", () => {
|
|
28
|
-
const wrapper = mount(AiSources, {
|
|
29
|
-
props: {
|
|
30
|
-
sources: mockSources,
|
|
31
|
-
maxVisible: 6
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
expect(wrapper.classes()).toContain("yh-ai-sources--inline");
|
|
35
|
-
expect(wrapper.find(".yh-ai-sources__inline-item").exists()).toBe(true);
|
|
36
|
-
expect(wrapper.findAll(".yh-ai-sources__inline-item")).toHaveLength(6);
|
|
37
|
-
});
|
|
38
|
-
it("renders card mode correctly", () => {
|
|
39
|
-
const wrapper = mount(AiSources, {
|
|
40
|
-
props: {
|
|
41
|
-
sources: mockSources,
|
|
42
|
-
mode: "card"
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
expect(wrapper.classes()).toContain("yh-ai-sources--card");
|
|
46
|
-
expect(wrapper.find(".yh-ai-sources__source-card").exists()).toBe(true);
|
|
47
|
-
});
|
|
48
|
-
it("renders badge mode correctly", () => {
|
|
49
|
-
const wrapper = mount(AiSources, {
|
|
50
|
-
props: {
|
|
51
|
-
sources: mockSources,
|
|
52
|
-
mode: "badge",
|
|
53
|
-
maxVisible: 6
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
expect(wrapper.classes()).toContain("yh-ai-sources--badge");
|
|
57
|
-
expect(wrapper.findAll(".yh-ai-sources__badge")).toHaveLength(6);
|
|
58
|
-
});
|
|
59
|
-
it("handles expansion correctly", async () => {
|
|
60
|
-
const wrapper = mount(AiSources, {
|
|
61
|
-
props: {
|
|
62
|
-
sources: mockSources,
|
|
63
|
-
maxVisible: 1,
|
|
64
|
-
mode: "card"
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
expect(wrapper.findAll(".yh-ai-sources__source-card")).toHaveLength(1);
|
|
68
|
-
const expandBtn = wrapper.find(".yh-ai-sources__expand-btn");
|
|
69
|
-
expect(expandBtn.exists()).toBe(true);
|
|
70
|
-
await expandBtn.trigger("click");
|
|
71
|
-
expect(wrapper.findAll(".yh-ai-sources__source-card")).toHaveLength(6);
|
|
72
|
-
});
|
|
73
|
-
it("emits events on interaction", async () => {
|
|
74
|
-
const wrapper = mount(AiSources, {
|
|
75
|
-
props: {
|
|
76
|
-
sources: mockSources,
|
|
77
|
-
mode: "card"
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
await wrapper.find(".yh-ai-sources__source-card").trigger("click");
|
|
81
|
-
expect(wrapper.emitted("click")).toBeTruthy();
|
|
82
|
-
expect(wrapper.emitted("click")[0][0]).toEqual(mockSources[0]);
|
|
83
|
-
});
|
|
84
|
-
it("shows relevance score when enabled", () => {
|
|
85
|
-
const wrapper = mount(AiSources, {
|
|
86
|
-
props: {
|
|
87
|
-
sources: mockSources,
|
|
88
|
-
showScore: true,
|
|
89
|
-
mode: "card"
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
expect(wrapper.find(".yh-ai-sources__score-badge").text()).toContain("95%");
|
|
93
|
-
});
|
|
94
|
-
it("handles badge mode click and drawer", async () => {
|
|
95
|
-
const wrapper = mount(AiSources, {
|
|
96
|
-
props: { sources: mockSources, mode: "badge" }
|
|
97
|
-
});
|
|
98
|
-
const badgeBtn = wrapper.find(".yh-ai-sources__badge");
|
|
99
|
-
await badgeBtn.trigger("click");
|
|
100
|
-
expect(wrapper.vm.drawerVisible).toBe(true);
|
|
101
|
-
const mockSrc = mockSources[0];
|
|
102
|
-
wrapper.vm.handleClick(mockSrc);
|
|
103
|
-
expect(wrapper.emitted("click")).toBeTruthy();
|
|
104
|
-
const openMock = vi.spyOn(window, "open").mockImplementation(() => null);
|
|
105
|
-
const mockLinkSrc = mockSources[5];
|
|
106
|
-
wrapper.vm.handleOpen(new MouseEvent("click"), mockLinkSrc);
|
|
107
|
-
expect(wrapper.emitted("open")).toBeTruthy();
|
|
108
|
-
openMock.mockRestore();
|
|
109
|
-
});
|
|
110
|
-
it("renders score colors correctly", () => {
|
|
111
|
-
const wrapper = mount(AiSources, {
|
|
112
|
-
props: { sources: mockSources, mode: "card" }
|
|
113
|
-
});
|
|
114
|
-
const badges = wrapper.findAll(".yh-ai-sources__score-badge");
|
|
115
|
-
});
|
|
116
|
-
it("handles scrollToSource expose", async () => {
|
|
117
|
-
const wrapper = mount(AiSources, {
|
|
118
|
-
props: { sources: mockSources, mode: "card" }
|
|
119
|
-
});
|
|
120
|
-
Element.prototype.scrollIntoView = vi.fn();
|
|
121
|
-
wrapper.vm.scrollToSource(1);
|
|
122
|
-
await wrapper.vm.$nextTick();
|
|
123
|
-
expect(Element.prototype.scrollIntoView).toHaveBeenCalled();
|
|
124
|
-
expect(wrapper.find(".is-highlighted").exists()).toBe(true);
|
|
125
|
-
});
|
|
126
|
-
it("handles expansion in inline mode", async () => {
|
|
127
|
-
const wrapper = mount(AiSources, {
|
|
128
|
-
props: { sources: mockSources, mode: "inline", maxVisible: 2 }
|
|
129
|
-
});
|
|
130
|
-
const expandBtn = wrapper.find(".yh-ai-sources__expand-btn");
|
|
131
|
-
expect(expandBtn.exists()).toBe(true);
|
|
132
|
-
await expandBtn.trigger("click");
|
|
133
|
-
expect(wrapper.findAll(".yh-ai-sources__inline-item")).toHaveLength(mockSources.length);
|
|
134
|
-
});
|
|
135
|
-
it("covers aiSourcesEmits validators", async () => {
|
|
136
|
-
const { aiSourcesEmits } = await import("../src/ai-sources.mjs");
|
|
137
|
-
expect(aiSourcesEmits.click(mockSources[0])).toBe(true);
|
|
138
|
-
expect(aiSourcesEmits.open(mockSources[0])).toBe(true);
|
|
139
|
-
expect(aiSourcesEmits.click(null)).toBe(false);
|
|
140
|
-
expect(aiSourcesEmits.open(null)).toBe(false);
|
|
141
|
-
});
|
|
142
|
-
it("covers missing Branches in card handleOpen and default sources", async () => {
|
|
143
|
-
const wrapperEmpty = mount(AiSources);
|
|
144
|
-
expect(wrapperEmpty.props().sources).toEqual([]);
|
|
145
|
-
const wrapperLink = mount(AiSources, {
|
|
146
|
-
props: { sources: [{ id: "link", title: "url", url: "https://test" }], mode: "inline" }
|
|
147
|
-
});
|
|
148
|
-
const openMock = vi.spyOn(window, "open").mockImplementation(() => null);
|
|
149
|
-
await wrapperLink.find(".yh-ai-sources__inline-open").trigger("click");
|
|
150
|
-
expect(openMock).toHaveBeenCalledWith("https://test", "_blank", "noopener");
|
|
151
|
-
openMock.mockRestore();
|
|
152
|
-
});
|
|
153
|
-
it("handles click in inline mode", async () => {
|
|
154
|
-
const wrapper = mount(AiSources, {
|
|
155
|
-
props: { sources: mockSources, mode: "inline" }
|
|
156
|
-
});
|
|
157
|
-
await wrapper.find(".yh-ai-sources__inline-item").trigger("click");
|
|
158
|
-
expect(wrapper.emitted("click")).toBeTruthy();
|
|
159
|
-
});
|
|
160
|
-
});
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _serverRenderer = require("@vue/server-renderer");
|
|
5
|
-
var _vue = require("vue");
|
|
6
|
-
var _aiThinking = _interopRequireDefault(require("../src/ai-thinking.vue"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
(0, _vitest.describe)("YhAiThinking SSR", () => {
|
|
9
|
-
(0, _vitest.it)("should render to string on server", async () => {
|
|
10
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default));
|
|
11
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thinking");
|
|
12
|
-
});
|
|
13
|
-
(0, _vitest.it)("should render header on server", async () => {
|
|
14
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default));
|
|
15
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thinking__header");
|
|
16
|
-
});
|
|
17
|
-
(0, _vitest.it)("should render thinking status class on server", async () => {
|
|
18
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default, {
|
|
19
|
-
status: "thinking"
|
|
20
|
-
}));
|
|
21
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thinking--thinking");
|
|
22
|
-
});
|
|
23
|
-
(0, _vitest.it)("should render end status class on server", async () => {
|
|
24
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default, {
|
|
25
|
-
status: "end"
|
|
26
|
-
}));
|
|
27
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thinking--end");
|
|
28
|
-
});
|
|
29
|
-
(0, _vitest.it)("should render error status class on server", async () => {
|
|
30
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default, {
|
|
31
|
-
status: "error"
|
|
32
|
-
}));
|
|
33
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thinking--error");
|
|
34
|
-
});
|
|
35
|
-
(0, _vitest.it)("should render custom title on server", async () => {
|
|
36
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default, {
|
|
37
|
-
title: "SSR Thinking Title",
|
|
38
|
-
status: "thinking"
|
|
39
|
-
}));
|
|
40
|
-
(0, _vitest.expect)(html).toContain("SSR Thinking Title");
|
|
41
|
-
});
|
|
42
|
-
(0, _vitest.it)("should render expanded class on server when modelValue=true", async () => {
|
|
43
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default, {
|
|
44
|
-
modelValue: true,
|
|
45
|
-
content: "some thought"
|
|
46
|
-
}));
|
|
47
|
-
(0, _vitest.expect)(html).toContain("is-expanded");
|
|
48
|
-
});
|
|
49
|
-
(0, _vitest.it)("should render content on server", async () => {
|
|
50
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThinking.default, {
|
|
51
|
-
modelValue: true,
|
|
52
|
-
content: "Server thought content"
|
|
53
|
-
}));
|
|
54
|
-
(0, _vitest.expect)(html).toContain("Server thought content");
|
|
55
|
-
});
|
|
56
|
-
});
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { renderToString } from "@vue/server-renderer";
|
|
3
|
-
import { h } from "vue";
|
|
4
|
-
import AiThinking from "../src/ai-thinking.vue";
|
|
5
|
-
describe("YhAiThinking SSR", () => {
|
|
6
|
-
it("should render to string on server", async () => {
|
|
7
|
-
const html = await renderToString(h(AiThinking));
|
|
8
|
-
expect(html).toContain("yh-ai-thinking");
|
|
9
|
-
});
|
|
10
|
-
it("should render header on server", async () => {
|
|
11
|
-
const html = await renderToString(h(AiThinking));
|
|
12
|
-
expect(html).toContain("yh-ai-thinking__header");
|
|
13
|
-
});
|
|
14
|
-
it("should render thinking status class on server", async () => {
|
|
15
|
-
const html = await renderToString(h(AiThinking, { status: "thinking" }));
|
|
16
|
-
expect(html).toContain("yh-ai-thinking--thinking");
|
|
17
|
-
});
|
|
18
|
-
it("should render end status class on server", async () => {
|
|
19
|
-
const html = await renderToString(h(AiThinking, { status: "end" }));
|
|
20
|
-
expect(html).toContain("yh-ai-thinking--end");
|
|
21
|
-
});
|
|
22
|
-
it("should render error status class on server", async () => {
|
|
23
|
-
const html = await renderToString(h(AiThinking, { status: "error" }));
|
|
24
|
-
expect(html).toContain("yh-ai-thinking--error");
|
|
25
|
-
});
|
|
26
|
-
it("should render custom title on server", async () => {
|
|
27
|
-
const html = await renderToString(
|
|
28
|
-
h(AiThinking, { title: "SSR Thinking Title", status: "thinking" })
|
|
29
|
-
);
|
|
30
|
-
expect(html).toContain("SSR Thinking Title");
|
|
31
|
-
});
|
|
32
|
-
it("should render expanded class on server when modelValue=true", async () => {
|
|
33
|
-
const html = await renderToString(h(AiThinking, { modelValue: true, content: "some thought" }));
|
|
34
|
-
expect(html).toContain("is-expanded");
|
|
35
|
-
});
|
|
36
|
-
it("should render content on server", async () => {
|
|
37
|
-
const html = await renderToString(
|
|
38
|
-
h(AiThinking, { modelValue: true, content: "Server thought content" })
|
|
39
|
-
);
|
|
40
|
-
expect(html).toContain("Server thought content");
|
|
41
|
-
});
|
|
42
|
-
});
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _testUtils = require("@vue/test-utils");
|
|
5
|
-
var _vue = require("vue");
|
|
6
|
-
var _aiThinking = _interopRequireDefault(require("../src/ai-thinking.vue"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
(0, _vitest.describe)("YhAiThinking", () => {
|
|
9
|
-
(0, _vitest.it)("should render with base class", () => {
|
|
10
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default);
|
|
11
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-thinking").exists()).toBe(true);
|
|
12
|
-
});
|
|
13
|
-
(0, _vitest.it)("should render header", () => {
|
|
14
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default);
|
|
15
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-thinking__header").exists()).toBe(true);
|
|
16
|
-
});
|
|
17
|
-
(0, _vitest.it)("should apply thinking status class by default", () => {
|
|
18
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
19
|
-
props: {
|
|
20
|
-
status: "thinking"
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
(0, _vitest.expect)(wrapper.classes()).toContain("yh-ai-thinking--thinking");
|
|
24
|
-
});
|
|
25
|
-
(0, _vitest.it)("should apply start status class", () => {
|
|
26
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
27
|
-
props: {
|
|
28
|
-
status: "start"
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
(0, _vitest.expect)(wrapper.classes()).toContain("yh-ai-thinking--start");
|
|
32
|
-
});
|
|
33
|
-
(0, _vitest.it)("should apply end status class", () => {
|
|
34
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
35
|
-
props: {
|
|
36
|
-
status: "end"
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
(0, _vitest.expect)(wrapper.classes()).toContain("yh-ai-thinking--end");
|
|
40
|
-
});
|
|
41
|
-
(0, _vitest.it)("should apply error status class", () => {
|
|
42
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
43
|
-
props: {
|
|
44
|
-
status: "error"
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
(0, _vitest.expect)(wrapper.classes()).toContain("yh-ai-thinking--error");
|
|
48
|
-
});
|
|
49
|
-
(0, _vitest.it)("should render custom title when provided", () => {
|
|
50
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
51
|
-
props: {
|
|
52
|
-
title: "My Custom Title",
|
|
53
|
-
status: "thinking"
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-thinking__title").text()).toBe("My Custom Title");
|
|
57
|
-
});
|
|
58
|
-
(0, _vitest.it)("should show default title based on status when no title provided", () => {
|
|
59
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
60
|
-
props: {
|
|
61
|
-
status: "end"
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-thinking__title").text().length).toBeGreaterThan(0);
|
|
65
|
-
});
|
|
66
|
-
(0, _vitest.it)("should start collapsed when modelValue=false", () => {
|
|
67
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
68
|
-
props: {
|
|
69
|
-
modelValue: false,
|
|
70
|
-
content: "Some content"
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
(0, _vitest.expect)(wrapper.classes()).not.toContain("is-expanded");
|
|
74
|
-
});
|
|
75
|
-
(0, _vitest.it)("should start expanded when modelValue=true", () => {
|
|
76
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
77
|
-
props: {
|
|
78
|
-
modelValue: true,
|
|
79
|
-
content: "Some content"
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
(0, _vitest.expect)(wrapper.classes()).toContain("is-expanded");
|
|
83
|
-
});
|
|
84
|
-
(0, _vitest.it)("should toggle expansion on header click and emit update:modelValue", async () => {
|
|
85
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
86
|
-
props: {
|
|
87
|
-
modelValue: false
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
await wrapper.find(".yh-ai-thinking__header").trigger("click");
|
|
91
|
-
(0, _vitest.expect)(wrapper.emitted("update:modelValue")).toBeTruthy();
|
|
92
|
-
(0, _vitest.expect)(wrapper.emitted("update:modelValue")[0][0]).toBe(true);
|
|
93
|
-
});
|
|
94
|
-
(0, _vitest.it)("should collapse when header clicked again", async () => {
|
|
95
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
96
|
-
props: {
|
|
97
|
-
modelValue: true
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
await wrapper.find(".yh-ai-thinking__header").trigger("click");
|
|
101
|
-
(0, _vitest.expect)(wrapper.emitted("update:modelValue")[0][0]).toBe(false);
|
|
102
|
-
});
|
|
103
|
-
(0, _vitest.it)("should render content in body when expanded", () => {
|
|
104
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
105
|
-
props: {
|
|
106
|
-
modelValue: true,
|
|
107
|
-
content: "Detailed thought process"
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
(0, _vitest.expect)(wrapper.find(".yh-ai-thinking__content").text()).toBe("Detailed thought process");
|
|
111
|
-
});
|
|
112
|
-
(0, _vitest.it)("should auto collapse when status changes to end and autoCollapse=true", async () => {
|
|
113
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
114
|
-
props: {
|
|
115
|
-
status: "thinking",
|
|
116
|
-
modelValue: true,
|
|
117
|
-
autoCollapse: true
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
await wrapper.setProps({
|
|
121
|
-
status: "end"
|
|
122
|
-
});
|
|
123
|
-
await (0, _vue.nextTick)();
|
|
124
|
-
(0, _vitest.expect)(wrapper.emitted("update:modelValue")[0][0]).toBe(false);
|
|
125
|
-
});
|
|
126
|
-
(0, _vitest.it)("should NOT auto collapse when autoCollapse=false", async () => {
|
|
127
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
128
|
-
props: {
|
|
129
|
-
status: "thinking",
|
|
130
|
-
modelValue: true,
|
|
131
|
-
autoCollapse: false
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
await wrapper.setProps({
|
|
135
|
-
status: "end"
|
|
136
|
-
});
|
|
137
|
-
await (0, _vue.nextTick)();
|
|
138
|
-
(0, _vitest.expect)(wrapper.emitted("update:modelValue")).toBeFalsy();
|
|
139
|
-
});
|
|
140
|
-
(0, _vitest.it)("should render default slot as body content", () => {
|
|
141
|
-
const wrapper = (0, _testUtils.mount)(_aiThinking.default, {
|
|
142
|
-
props: {
|
|
143
|
-
modelValue: true
|
|
144
|
-
},
|
|
145
|
-
slots: {
|
|
146
|
-
default: '<p class="custom-thought">Custom content</p>'
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
(0, _vitest.expect)(wrapper.find(".custom-thought").exists()).toBe(true);
|
|
150
|
-
});
|
|
151
|
-
});
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { mount } from "@vue/test-utils";
|
|
3
|
-
import { nextTick } from "vue";
|
|
4
|
-
import AiThinking from "../src/ai-thinking.vue";
|
|
5
|
-
describe("YhAiThinking", () => {
|
|
6
|
-
it("should render with base class", () => {
|
|
7
|
-
const wrapper = mount(AiThinking);
|
|
8
|
-
expect(wrapper.find(".yh-ai-thinking").exists()).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
it("should render header", () => {
|
|
11
|
-
const wrapper = mount(AiThinking);
|
|
12
|
-
expect(wrapper.find(".yh-ai-thinking__header").exists()).toBe(true);
|
|
13
|
-
});
|
|
14
|
-
it("should apply thinking status class by default", () => {
|
|
15
|
-
const wrapper = mount(AiThinking, { props: { status: "thinking" } });
|
|
16
|
-
expect(wrapper.classes()).toContain("yh-ai-thinking--thinking");
|
|
17
|
-
});
|
|
18
|
-
it("should apply start status class", () => {
|
|
19
|
-
const wrapper = mount(AiThinking, { props: { status: "start" } });
|
|
20
|
-
expect(wrapper.classes()).toContain("yh-ai-thinking--start");
|
|
21
|
-
});
|
|
22
|
-
it("should apply end status class", () => {
|
|
23
|
-
const wrapper = mount(AiThinking, { props: { status: "end" } });
|
|
24
|
-
expect(wrapper.classes()).toContain("yh-ai-thinking--end");
|
|
25
|
-
});
|
|
26
|
-
it("should apply error status class", () => {
|
|
27
|
-
const wrapper = mount(AiThinking, { props: { status: "error" } });
|
|
28
|
-
expect(wrapper.classes()).toContain("yh-ai-thinking--error");
|
|
29
|
-
});
|
|
30
|
-
it("should render custom title when provided", () => {
|
|
31
|
-
const wrapper = mount(AiThinking, {
|
|
32
|
-
props: { title: "My Custom Title", status: "thinking" }
|
|
33
|
-
});
|
|
34
|
-
expect(wrapper.find(".yh-ai-thinking__title").text()).toBe("My Custom Title");
|
|
35
|
-
});
|
|
36
|
-
it("should show default title based on status when no title provided", () => {
|
|
37
|
-
const wrapper = mount(AiThinking, { props: { status: "end" } });
|
|
38
|
-
expect(wrapper.find(".yh-ai-thinking__title").text().length).toBeGreaterThan(0);
|
|
39
|
-
});
|
|
40
|
-
it("should start collapsed when modelValue=false", () => {
|
|
41
|
-
const wrapper = mount(AiThinking, {
|
|
42
|
-
props: { modelValue: false, content: "Some content" }
|
|
43
|
-
});
|
|
44
|
-
expect(wrapper.classes()).not.toContain("is-expanded");
|
|
45
|
-
});
|
|
46
|
-
it("should start expanded when modelValue=true", () => {
|
|
47
|
-
const wrapper = mount(AiThinking, {
|
|
48
|
-
props: { modelValue: true, content: "Some content" }
|
|
49
|
-
});
|
|
50
|
-
expect(wrapper.classes()).toContain("is-expanded");
|
|
51
|
-
});
|
|
52
|
-
it("should toggle expansion on header click and emit update:modelValue", async () => {
|
|
53
|
-
const wrapper = mount(AiThinking, {
|
|
54
|
-
props: { modelValue: false }
|
|
55
|
-
});
|
|
56
|
-
await wrapper.find(".yh-ai-thinking__header").trigger("click");
|
|
57
|
-
expect(wrapper.emitted("update:modelValue")).toBeTruthy();
|
|
58
|
-
expect(wrapper.emitted("update:modelValue")[0][0]).toBe(true);
|
|
59
|
-
});
|
|
60
|
-
it("should collapse when header clicked again", async () => {
|
|
61
|
-
const wrapper = mount(AiThinking, {
|
|
62
|
-
props: { modelValue: true }
|
|
63
|
-
});
|
|
64
|
-
await wrapper.find(".yh-ai-thinking__header").trigger("click");
|
|
65
|
-
expect(wrapper.emitted("update:modelValue")[0][0]).toBe(false);
|
|
66
|
-
});
|
|
67
|
-
it("should render content in body when expanded", () => {
|
|
68
|
-
const wrapper = mount(AiThinking, {
|
|
69
|
-
props: { modelValue: true, content: "Detailed thought process" }
|
|
70
|
-
});
|
|
71
|
-
expect(wrapper.find(".yh-ai-thinking__content").text()).toBe("Detailed thought process");
|
|
72
|
-
});
|
|
73
|
-
it("should auto collapse when status changes to end and autoCollapse=true", async () => {
|
|
74
|
-
const wrapper = mount(AiThinking, {
|
|
75
|
-
props: { status: "thinking", modelValue: true, autoCollapse: true }
|
|
76
|
-
});
|
|
77
|
-
await wrapper.setProps({ status: "end" });
|
|
78
|
-
await nextTick();
|
|
79
|
-
expect(wrapper.emitted("update:modelValue")[0][0]).toBe(false);
|
|
80
|
-
});
|
|
81
|
-
it("should NOT auto collapse when autoCollapse=false", async () => {
|
|
82
|
-
const wrapper = mount(AiThinking, {
|
|
83
|
-
props: { status: "thinking", modelValue: true, autoCollapse: false }
|
|
84
|
-
});
|
|
85
|
-
await wrapper.setProps({ status: "end" });
|
|
86
|
-
await nextTick();
|
|
87
|
-
expect(wrapper.emitted("update:modelValue")).toBeFalsy();
|
|
88
|
-
});
|
|
89
|
-
it("should render default slot as body content", () => {
|
|
90
|
-
const wrapper = mount(AiThinking, {
|
|
91
|
-
props: { modelValue: true },
|
|
92
|
-
slots: { default: '<p class="custom-thought">Custom content</p>' }
|
|
93
|
-
});
|
|
94
|
-
expect(wrapper.find(".custom-thought").exists()).toBe(true);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _vitest = require("vitest");
|
|
4
|
-
var _serverRenderer = require("@vue/server-renderer");
|
|
5
|
-
var _vue = require("vue");
|
|
6
|
-
var _aiThoughtChain = _interopRequireDefault(require("../src/ai-thought-chain.vue"));
|
|
7
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
-
(0, _vitest.describe)("YhAiThoughtChain SSR", () => {
|
|
9
|
-
(0, _vitest.it)("should render to string on server", async () => {
|
|
10
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default));
|
|
11
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thought-chain");
|
|
12
|
-
});
|
|
13
|
-
(0, _vitest.it)("should render single node header on server", async () => {
|
|
14
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
15
|
-
title: "SSR Thought"
|
|
16
|
-
}));
|
|
17
|
-
(0, _vitest.expect)(html).toContain("SSR Thought");
|
|
18
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thought-chain__header");
|
|
19
|
-
});
|
|
20
|
-
(0, _vitest.it)("should render thinking is-thinking class on server", async () => {
|
|
21
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
22
|
-
thinking: true
|
|
23
|
-
}));
|
|
24
|
-
(0, _vitest.expect)(html).toContain("is-thinking");
|
|
25
|
-
});
|
|
26
|
-
(0, _vitest.it)("should render timeline items on server", async () => {
|
|
27
|
-
const items = [{
|
|
28
|
-
title: "Step One",
|
|
29
|
-
status: "complete",
|
|
30
|
-
content: "Done"
|
|
31
|
-
}, {
|
|
32
|
-
title: "Step Two",
|
|
33
|
-
status: "thinking",
|
|
34
|
-
content: "In progress"
|
|
35
|
-
}];
|
|
36
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
37
|
-
items
|
|
38
|
-
}));
|
|
39
|
-
(0, _vitest.expect)(html).toContain("Step One");
|
|
40
|
-
(0, _vitest.expect)(html).toContain("Step Two");
|
|
41
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thought-chain__item");
|
|
42
|
-
(0, _vitest.expect)(html).toContain("is-timeline");
|
|
43
|
-
});
|
|
44
|
-
(0, _vitest.it)("should render is-last class on last item on server", async () => {
|
|
45
|
-
const items = [{
|
|
46
|
-
title: "First",
|
|
47
|
-
status: "complete"
|
|
48
|
-
}, {
|
|
49
|
-
title: "Last",
|
|
50
|
-
status: "complete"
|
|
51
|
-
}];
|
|
52
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
53
|
-
items
|
|
54
|
-
}));
|
|
55
|
-
(0, _vitest.expect)(html).toContain("is-last");
|
|
56
|
-
});
|
|
57
|
-
(0, _vitest.it)("should render is-active class for thinking item on server", async () => {
|
|
58
|
-
const items = [{
|
|
59
|
-
title: "Running",
|
|
60
|
-
status: "thinking"
|
|
61
|
-
}];
|
|
62
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
63
|
-
items
|
|
64
|
-
}));
|
|
65
|
-
(0, _vitest.expect)(html).toContain("is-active");
|
|
66
|
-
});
|
|
67
|
-
(0, _vitest.it)("should render content text on server", async () => {
|
|
68
|
-
const items = [{
|
|
69
|
-
title: "Item",
|
|
70
|
-
content: "SSR thought content",
|
|
71
|
-
expanded: true
|
|
72
|
-
}];
|
|
73
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
74
|
-
items
|
|
75
|
-
}));
|
|
76
|
-
(0, _vitest.expect)(html).toContain("SSR thought content");
|
|
77
|
-
});
|
|
78
|
-
(0, _vitest.it)("should render status icon wrappers on server in timeline mode", async () => {
|
|
79
|
-
const items = [{
|
|
80
|
-
title: "Done",
|
|
81
|
-
status: "complete"
|
|
82
|
-
}];
|
|
83
|
-
const html = await (0, _serverRenderer.renderToString)((0, _vue.h)(_aiThoughtChain.default, {
|
|
84
|
-
items
|
|
85
|
-
}));
|
|
86
|
-
(0, _vitest.expect)(html).toContain("yh-ai-thought-chain__item-dot-wrapper");
|
|
87
|
-
});
|
|
88
|
-
});
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { renderToString } from "@vue/server-renderer";
|
|
3
|
-
import { h } from "vue";
|
|
4
|
-
import AiThoughtChain from "../src/ai-thought-chain.vue";
|
|
5
|
-
describe("YhAiThoughtChain SSR", () => {
|
|
6
|
-
it("should render to string on server", async () => {
|
|
7
|
-
const html = await renderToString(h(AiThoughtChain));
|
|
8
|
-
expect(html).toContain("yh-ai-thought-chain");
|
|
9
|
-
});
|
|
10
|
-
it("should render single node header on server", async () => {
|
|
11
|
-
const html = await renderToString(h(AiThoughtChain, { title: "SSR Thought" }));
|
|
12
|
-
expect(html).toContain("SSR Thought");
|
|
13
|
-
expect(html).toContain("yh-ai-thought-chain__header");
|
|
14
|
-
});
|
|
15
|
-
it("should render thinking is-thinking class on server", async () => {
|
|
16
|
-
const html = await renderToString(h(AiThoughtChain, { thinking: true }));
|
|
17
|
-
expect(html).toContain("is-thinking");
|
|
18
|
-
});
|
|
19
|
-
it("should render timeline items on server", async () => {
|
|
20
|
-
const items = [
|
|
21
|
-
{ title: "Step One", status: "complete", content: "Done" },
|
|
22
|
-
{ title: "Step Two", status: "thinking", content: "In progress" }
|
|
23
|
-
];
|
|
24
|
-
const html = await renderToString(h(AiThoughtChain, { items }));
|
|
25
|
-
expect(html).toContain("Step One");
|
|
26
|
-
expect(html).toContain("Step Two");
|
|
27
|
-
expect(html).toContain("yh-ai-thought-chain__item");
|
|
28
|
-
expect(html).toContain("is-timeline");
|
|
29
|
-
});
|
|
30
|
-
it("should render is-last class on last item on server", async () => {
|
|
31
|
-
const items = [
|
|
32
|
-
{ title: "First", status: "complete" },
|
|
33
|
-
{ title: "Last", status: "complete" }
|
|
34
|
-
];
|
|
35
|
-
const html = await renderToString(h(AiThoughtChain, { items }));
|
|
36
|
-
expect(html).toContain("is-last");
|
|
37
|
-
});
|
|
38
|
-
it("should render is-active class for thinking item on server", async () => {
|
|
39
|
-
const items = [{ title: "Running", status: "thinking" }];
|
|
40
|
-
const html = await renderToString(h(AiThoughtChain, { items }));
|
|
41
|
-
expect(html).toContain("is-active");
|
|
42
|
-
});
|
|
43
|
-
it("should render content text on server", async () => {
|
|
44
|
-
const items = [
|
|
45
|
-
{ title: "Item", content: "SSR thought content", expanded: true }
|
|
46
|
-
];
|
|
47
|
-
const html = await renderToString(h(AiThoughtChain, { items }));
|
|
48
|
-
expect(html).toContain("SSR thought content");
|
|
49
|
-
});
|
|
50
|
-
it("should render status icon wrappers on server in timeline mode", async () => {
|
|
51
|
-
const items = [{ title: "Done", status: "complete" }];
|
|
52
|
-
const html = await renderToString(h(AiThoughtChain, { items }));
|
|
53
|
-
expect(html).toContain("yh-ai-thought-chain__item-dot-wrapper");
|
|
54
|
-
});
|
|
55
|
-
});
|