aegon-lv97 1.0.0

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.
Files changed (78) hide show
  1. package/gen-ai/build-report/chartStreamRefs.ts +227 -0
  2. package/gen-ai/build-report/coherence-check/index.vue +559 -0
  3. package/gen-ai/build-report/components/ReportChapterWorkspace.vue +4571 -0
  4. package/gen-ai/build-report/components/ReportConfigPanel.vue +727 -0
  5. package/gen-ai/build-report/components/ReportGenerateSettingsPanel.vue +2361 -0
  6. package/gen-ai/build-report/components/ReportGeneratingPanel.vue +1765 -0
  7. package/gen-ai/build-report/components/ReportPromptPanel.vue +625 -0
  8. package/gen-ai/build-report/components/ReportSourceFileSummary.vue +665 -0
  9. package/gen-ai/build-report/components/ReportSourcesPanel.vue +1327 -0
  10. package/gen-ai/build-report/components/ReportTemplateDetail.vue +191 -0
  11. package/gen-ai/build-report/components/ReportTemplateEditorFormPanel.vue +667 -0
  12. package/gen-ai/build-report/components/ReportTemplatePicker.vue +302 -0
  13. package/gen-ai/build-report/components/ReportWorkflowSidebar.vue +148 -0
  14. package/gen-ai/build-report/components/paramsSetting.vue +886 -0
  15. package/gen-ai/build-report/components/reportEdit.vue +2283 -0
  16. package/gen-ai/build-report/index.vue +856 -0
  17. package/gen-ai/build-report/report-domain.ts +1133 -0
  18. package/gen-ai/build-report/report-template-data.ts +295 -0
  19. package/gen-ai/build-report/useReportWorkflow.ts +1386 -0
  20. package/gen-ai/common/assets/NotoSans-SC.woff2 +0 -0
  21. package/gen-ai/common/assets/NotoSans-TC.woff2 +0 -0
  22. package/gen-ai/common/assets/NotoSans.woff2 +0 -0
  23. package/gen-ai/common/assets/fonts.css +278 -0
  24. package/gen-ai/common/assets/pagination.css +163 -0
  25. package/gen-ai/common/directives/btnLoading.ts +455 -0
  26. package/gen-ai/common/directives/debounce.ts +98 -0
  27. package/gen-ai/common/directives/index.ts +30 -0
  28. package/gen-ai/common/en.md +417 -0
  29. package/gen-ai/common/index.ts +36 -0
  30. package/gen-ai/common/types/component-expose.ts +9 -0
  31. package/gen-ai/common/utils/api-res-status.ts +7 -0
  32. package/gen-ai/common/utils/navigation.ts +59 -0
  33. package/gen-ai/common/utils/remote-request.ts +45 -0
  34. package/gen-ai/common/utils/scroll.ts +577 -0
  35. package/gen-ai/components/AIExport/docx-export.ts +950 -0
  36. package/gen-ai/components/AIExport/docxExport.ts +2566 -0
  37. package/gen-ai/components/AIExport/index.ts +52 -0
  38. package/gen-ai/components/AIExport/parseMarkdownHtml.ts +653 -0
  39. package/gen-ai/components/CapsuleScrollbar.vue +149 -0
  40. package/gen-ai/components/ChapterTitleScroll.vue +468 -0
  41. package/gen-ai/components/EntryHeroNavCards.vue +379 -0
  42. package/gen-ai/components/GenAiPagination.vue +52 -0
  43. package/gen-ai/components/ModelCard.vue +1114 -0
  44. package/gen-ai/components/Preview/FilePreviewPage.vue +949 -0
  45. package/gen-ai/components/Preview/PreviewCapsuleScroll.vue +205 -0
  46. package/gen-ai/components/Preview/PreviewOutlineTree.vue +148 -0
  47. package/gen-ai/components/Preview/index.ts +11 -0
  48. package/gen-ai/components/Preview/preview.ts +724 -0
  49. package/gen-ai/components/PromptField.vue +505 -0
  50. package/gen-ai/components/RecentReportsTable.vue +974 -0
  51. package/gen-ai/components/ReportCollapsibleSection.vue +172 -0
  52. package/gen-ai/components/ReportHistoryList.vue +637 -0
  53. package/gen-ai/components/ReportSectionConfirmPopover.vue +251 -0
  54. package/gen-ai/components/editor/ChapterTiptapEditor.vue +3718 -0
  55. package/gen-ai/components/editor/StructureBlockView.vue +441 -0
  56. package/gen-ai/components/editor/TiptapToolbar.vue +1036 -0
  57. package/gen-ai/components/editor/TypewriterDocEditor.vue +422 -0
  58. package/gen-ai/components/editor/_StructureOrgNode.vue +326 -0
  59. package/gen-ai/components/editor/index.ts +28 -0
  60. package/gen-ai/components/editor/parseMarkdownHtml.ts +754 -0
  61. package/gen-ai/components/editor/reviewCitationTip.ts +163 -0
  62. package/gen-ai/gen-entry/api/index.ts +32 -0
  63. package/gen-ai/gen-entry/index.vue +287 -0
  64. package/gen-ai/gen-entry/types/index.ts +4 -0
  65. package/gen-ai/i.mark +2 -0
  66. package/gen-ai/management-center/index.vue +1815 -0
  67. package/gen-ai/management-center/mockData.ts +248 -0
  68. package/gen-ai/management-center/types/index.ts +37 -0
  69. package/gen-ai/model-manager/TemplateEditorFormPanel.vue +661 -0
  70. package/gen-ai/model-manager/api/index.ts +32 -0
  71. package/gen-ai/model-manager/api/mockApi.ts +33 -0
  72. package/gen-ai/model-manager/index.vue +1583 -0
  73. package/gen-ai/model-manager/mockData.ts +177 -0
  74. package/gen-ai/model-manager/template-detail-shared.ts +154 -0
  75. package/gen-ai/model-manager/template-editor.vue +345 -0
  76. package/gen-ai/model-manager/types/index.ts +40 -0
  77. package/gen-ai/model-manager/utils.ts +25 -0
  78. package/package.json +12 -0
@@ -0,0 +1,172 @@
1
+ <template>
2
+ <section
3
+ ref="rootRef"
4
+ class="report-collapsible-section"
5
+ :class="{ 'is-collapsed': !open, 'is-card-hover': cardHover }"
6
+ >
7
+ <button
8
+ ref="toggleRef"
9
+ type="button"
10
+ class="report-collapsible-section__toggle"
11
+ @click="handleToggle"
12
+ >
13
+ <span class="report-collapsible-section__title">{{ title }}</span>
14
+ <span class="report-collapsible-section__trailing">
15
+ <span v-if="$slots.actions" class="report-collapsible-section__actions" @click.stop>
16
+ <slot name="actions" />
17
+ </span>
18
+ <span
19
+ class="report-collapsible-section__arrow"
20
+ :class="{ 'is-open': open }"
21
+ aria-hidden="true"
22
+ />
23
+ </span>
24
+ </button>
25
+ <div v-show="open" class="report-collapsible-section__body">
26
+ <slot />
27
+ </div>
28
+ </section>
29
+ </template>
30
+
31
+ <script setup lang="ts">
32
+ import { ref } from 'vue'
33
+
34
+ defineProps<{
35
+ title: string
36
+ cardHover?: boolean
37
+ }>()
38
+
39
+ const open = defineModel<boolean>('open', { default: true })
40
+
41
+ const COLLAPSE_DELAY_MS = 300
42
+
43
+ const emit = defineEmits<{
44
+ 'before-collapse': [done: (hadOpenOverlays: boolean) => void]
45
+ }>()
46
+
47
+ function collapse(hadOpenOverlays = false) {
48
+ window.setTimeout(
49
+ () => {
50
+ open.value = false
51
+ },
52
+ hadOpenOverlays ? COLLAPSE_DELAY_MS : 0
53
+ )
54
+ }
55
+
56
+ function handleToggle() {
57
+ if (!open.value) {
58
+ open.value = true
59
+ return
60
+ }
61
+ let handled = false
62
+ emit('before-collapse', (hadOpenOverlays) => {
63
+ handled = true
64
+ collapse(hadOpenOverlays)
65
+ })
66
+ if (!handled) {
67
+ collapse()
68
+ }
69
+ }
70
+
71
+ const rootRef = ref<HTMLElement | null>(null)
72
+ const toggleRef = ref<HTMLElement | null>(null)
73
+
74
+ defineExpose({
75
+ rootRef,
76
+ toggleRef,
77
+ })
78
+ </script>
79
+
80
+ <style scoped>
81
+ .report-collapsible-section {
82
+ /* 頁面與卡面均為 #fff:靠邊線 + 輕陰影分層 */
83
+ --rcs-surface: #fff;
84
+ --rcs-border: #e4e7ec;
85
+ padding: 14px 16px;
86
+ border: 1px solid var(--rcs-border);
87
+ border-radius: 8px;
88
+ background: var(--rcs-surface);
89
+ box-sizing: border-box;
90
+ }
91
+
92
+ .report-collapsible-section.is-card-hover {
93
+ --rcs-border: #d8dce3;
94
+ --rcs-card-shadow:
95
+ 0 1px 2px rgba(15, 23, 42, 0.05),
96
+ 0 3px 10px rgba(15, 23, 42, 0.07);
97
+ box-shadow: var(--rcs-card-shadow);
98
+ transition:
99
+ box-shadow 0.22s ease,
100
+ border-color 0.22s ease;
101
+ }
102
+
103
+ .report-collapsible-section.is-card-hover:hover {
104
+ --rcs-border: #c5cad3;
105
+ background: var(--rcs-surface);
106
+ box-shadow:
107
+ inset 0 0 0 1px rgba(15, 23, 42, 0.05),
108
+ 0 2px 6px rgba(15, 23, 42, 0.07),
109
+ 0 10px 22px rgba(15, 23, 42, 0.11);
110
+ }
111
+
112
+ .report-collapsible-section__toggle {
113
+ display: flex;
114
+ align-items: center;
115
+ justify-content: space-between;
116
+ width: 100%;
117
+ margin: 0;
118
+ padding: 0 0 14px;
119
+ border: 0;
120
+ background: none;
121
+ cursor: pointer;
122
+ }
123
+
124
+ .report-collapsible-section.is-collapsed .report-collapsible-section__toggle {
125
+ padding-bottom: 0;
126
+ }
127
+
128
+ .report-collapsible-section__title {
129
+ font-size: 18px;
130
+ font-weight: 500;
131
+ font-family: var(--gen-ai-font-family, 'Noto Sans', 'Noto Sans TC', sans-serif);
132
+ color: #303133;
133
+ line-height: 1.4;
134
+ }
135
+
136
+ .report-collapsible-section__trailing {
137
+ display: inline-flex;
138
+ align-items: center;
139
+ gap: 12px;
140
+ flex-shrink: 0;
141
+ }
142
+
143
+ .report-collapsible-section__actions {
144
+ display: inline-flex;
145
+ align-items: center;
146
+ gap: 10px;
147
+ }
148
+
149
+ .report-collapsible-section__arrow {
150
+ display: inline-block;
151
+ width: 0;
152
+ height: 0;
153
+ border-left: 5px solid transparent;
154
+ border-right: 5px solid transparent;
155
+ /* 收起:朝下;展開(is-open rotate 180°):朝上 */
156
+ border-top: 7px solid #c53355;
157
+ transition: transform 0.2s ease;
158
+ }
159
+
160
+ .report-collapsible-section__arrow.is-open {
161
+ transform: rotate(180deg);
162
+ }
163
+
164
+ .report-collapsible-section__body {
165
+ padding-top: 0;
166
+ min-width: 0;
167
+ }
168
+
169
+ .report-collapsible-section.is-collapsed {
170
+ padding-bottom: 14px;
171
+ }
172
+ </style>