@robot-admin/naive-ui-components 0.4.3 → 0.4.5

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 (297) hide show
  1. package/dist/C_ActionBar.cjs +1 -5
  2. package/dist/C_ActionBar.js +1 -4
  3. package/dist/C_ActionBar.js.map +1 -0
  4. package/dist/C_ActionBar2.js +1 -195
  5. package/dist/C_ActionBar2.js.map +1 -1
  6. package/dist/{C_AntV-DGjscTWa.css.map → C_AntV-A3NXx_sF.css.map} +1 -1
  7. package/dist/C_AntV.cjs +1 -8
  8. package/dist/C_AntV.js +1 -4
  9. package/dist/C_AntV.js.map +1 -0
  10. package/dist/C_AntV2.js +4 -3149
  11. package/dist/C_AntV2.js.map +1 -1
  12. package/dist/C_Barcode.cjs +1 -4
  13. package/dist/C_Barcode.js +1 -3
  14. package/dist/C_Barcode.js.map +1 -0
  15. package/dist/C_Barcode2.js +1 -67
  16. package/dist/C_Barcode2.js.map +1 -1
  17. package/dist/C_Captcha.cjs +1 -4
  18. package/dist/C_Captcha.js +1 -3
  19. package/dist/C_Captcha.js.map +1 -0
  20. package/dist/C_Captcha2.js +1 -154
  21. package/dist/C_Captcha2.js.map +1 -1
  22. package/dist/C_Cascade.cjs +1 -4
  23. package/dist/C_Cascade.js +1 -3
  24. package/dist/C_Cascade.js.map +1 -0
  25. package/dist/C_Cascade2.js +1 -102
  26. package/dist/C_Cascade2.js.map +1 -1
  27. package/dist/C_City.cjs +1 -4
  28. package/dist/C_City.js +1 -3
  29. package/dist/C_City.js.map +1 -0
  30. package/dist/C_City2.js +1 -840
  31. package/dist/C_City2.js.map +1 -1
  32. package/dist/C_Code.cjs +1 -5
  33. package/dist/C_Code.js +1 -4
  34. package/dist/C_Code.js.map +1 -0
  35. package/dist/C_Code2.js +1 -346
  36. package/dist/C_Code2.js.map +1 -1
  37. package/dist/C_CollapsePanel.cjs +1 -6
  38. package/dist/C_CollapsePanel.js +1 -4
  39. package/dist/C_CollapsePanel.js.map +1 -0
  40. package/dist/C_CollapsePanel2.js +1 -318
  41. package/dist/C_CollapsePanel2.js.map +1 -1
  42. package/dist/C_Cron.cjs +1 -15
  43. package/dist/C_Cron.js +1 -4
  44. package/dist/C_Cron.js.map +1 -0
  45. package/dist/C_Cron2.js +1 -1209
  46. package/dist/C_Cron2.js.map +1 -1
  47. package/dist/C_Date.cjs +1 -4
  48. package/dist/C_Date.js +1 -3
  49. package/dist/C_Date.js.map +1 -0
  50. package/dist/C_Date2.js +1 -218
  51. package/dist/C_Date2.js.map +1 -1
  52. package/dist/C_Draggable.cjs +1 -5
  53. package/dist/C_Draggable.js +1 -3
  54. package/dist/C_Draggable.js.map +1 -0
  55. package/dist/C_Draggable2.js +1 -294
  56. package/dist/C_Draggable2.js.map +1 -1
  57. package/dist/C_Editor.cjs +1 -4
  58. package/dist/C_Editor.js +1 -3
  59. package/dist/C_Editor.js.map +1 -0
  60. package/dist/C_Editor2.js +1 -159
  61. package/dist/C_Editor2.js.map +1 -1
  62. package/dist/{C_FilePreview-B4XgTv-h.css.map → C_FilePreview-DHGlV4OR.css.map} +1 -1
  63. package/dist/C_FilePreview.cjs +1 -7
  64. package/dist/C_FilePreview.js +1 -4
  65. package/dist/C_FilePreview.js.map +1 -0
  66. package/dist/C_FilePreview2.js +1 -1031
  67. package/dist/C_FilePreview2.js.map +1 -1
  68. package/dist/{C_Form-DLb9FtAb.css.map → C_Form-CKHvXL3O.css.map} +1 -1
  69. package/dist/C_Form.cjs +1 -16
  70. package/dist/C_Form.js +1 -5
  71. package/dist/C_Form.js.map +1 -0
  72. package/dist/C_Form2.js +1 -2569
  73. package/dist/C_Form2.js.map +1 -1
  74. package/dist/{C_FormSearch-DlIEoh7X.css.map → C_FormSearch-DBNtnjaL.css.map} +1 -1
  75. package/dist/C_FormSearch.cjs +1 -6
  76. package/dist/C_FormSearch.js +1 -3
  77. package/dist/C_FormSearch.js.map +1 -0
  78. package/dist/C_FormSearch2.js +1 -355
  79. package/dist/C_FormSearch2.js.map +1 -1
  80. package/dist/C_FormulaEditor.cjs +1 -13
  81. package/dist/C_FormulaEditor.js +1 -4
  82. package/dist/C_FormulaEditor.js.map +1 -0
  83. package/dist/C_FormulaEditor2.js +1 -1432
  84. package/dist/C_FormulaEditor2.js.map +1 -1
  85. package/dist/C_FullCalendar-DLUdCtqf.css.map +1 -0
  86. package/dist/C_FullCalendar.cjs +1 -9
  87. package/dist/C_FullCalendar.js +1 -3
  88. package/dist/C_FullCalendar.js.map +1 -0
  89. package/dist/C_FullCalendar2.js +1 -376
  90. package/dist/C_FullCalendar2.js.map +1 -1
  91. package/dist/C_GlobalSearch.cjs +1 -5
  92. package/dist/C_GlobalSearch.js +1 -3
  93. package/dist/C_GlobalSearch.js.map +1 -0
  94. package/dist/C_GlobalSearch2.js +1 -335
  95. package/dist/C_GlobalSearch2.js.map +1 -1
  96. package/dist/C_Guide.cjs +1 -5
  97. package/dist/C_Guide.js +1 -4
  98. package/dist/C_Guide.js.map +1 -0
  99. package/dist/C_Guide2.js +1 -60
  100. package/dist/C_Guide2.js.map +1 -1
  101. package/dist/C_Icon.cjs +1 -4
  102. package/dist/C_Icon.js +1 -3
  103. package/dist/C_Icon.js.map +1 -0
  104. package/dist/C_Icon2.js +1 -285
  105. package/dist/C_Icon2.js.map +1 -1
  106. package/dist/C_ImageCropper.cjs +1 -6
  107. package/dist/C_ImageCropper.js +1 -4
  108. package/dist/C_ImageCropper.js.map +1 -0
  109. package/dist/C_ImageCropper2.js +1 -722
  110. package/dist/C_ImageCropper2.js.map +1 -1
  111. package/dist/C_Language.cjs +1 -5
  112. package/dist/C_Language.js +1 -4
  113. package/dist/C_Language.js.map +1 -0
  114. package/dist/C_Language2.js +1 -78
  115. package/dist/C_Language2.js.map +1 -1
  116. package/dist/C_Map.cjs +1 -7
  117. package/dist/C_Map.js +1 -3
  118. package/dist/C_Map.js.map +1 -0
  119. package/dist/C_Map2.js +1 -198
  120. package/dist/C_Map2.js.map +1 -1
  121. package/dist/{C_Markdown-C2uiBVSW.css.map → C_Markdown-BbTvdFCl.css.map} +1 -1
  122. package/dist/C_Markdown.cjs +1 -4
  123. package/dist/C_Markdown.js +1 -3
  124. package/dist/C_Markdown.js.map +1 -0
  125. package/dist/C_Markdown2.js +1 -185
  126. package/dist/C_Markdown2.js.map +1 -1
  127. package/dist/C_NotificationCenter.cjs +1 -20
  128. package/dist/C_NotificationCenter.js +1 -4
  129. package/dist/C_NotificationCenter.js.map +1 -0
  130. package/dist/C_NotificationCenter2.js +1 -1383
  131. package/dist/C_NotificationCenter2.js.map +1 -1
  132. package/dist/C_Progress.cjs +1 -4
  133. package/dist/C_Progress.js +1 -3
  134. package/dist/C_Progress.js.map +1 -0
  135. package/dist/C_Progress2.js +1 -102
  136. package/dist/C_Progress2.js.map +1 -1
  137. package/dist/C_QRCode.cjs +1 -5
  138. package/dist/C_QRCode.js +1 -3
  139. package/dist/C_QRCode.js.map +1 -0
  140. package/dist/C_QRCode2.js +1 -217
  141. package/dist/C_QRCode2.js.map +1 -1
  142. package/dist/C_Signature.cjs +1 -8
  143. package/dist/C_Signature.js +1 -4
  144. package/dist/C_Signature.js.map +1 -0
  145. package/dist/C_Signature2.js +1 -617
  146. package/dist/C_Signature2.js.map +1 -1
  147. package/dist/C_SplitPane.cjs +1 -6
  148. package/dist/C_SplitPane.js +1 -4
  149. package/dist/C_SplitPane.js.map +1 -0
  150. package/dist/C_SplitPane2.js +1 -355
  151. package/dist/C_SplitPane2.js.map +1 -1
  152. package/dist/C_Steps.cjs +1 -4
  153. package/dist/C_Steps.js +1 -3
  154. package/dist/C_Steps.js.map +1 -0
  155. package/dist/C_Steps2.js +1 -81
  156. package/dist/C_Steps2.js.map +1 -1
  157. package/dist/{C_Table-C55H4kPr.css.map → C_Table-tbUx-R4H.css.map} +1 -1
  158. package/dist/C_Table.cjs +1 -20
  159. package/dist/C_Table.js +1 -6
  160. package/dist/C_Table.js.map +1 -0
  161. package/dist/C_Table2.js +1 -3023
  162. package/dist/C_Table2.js.map +1 -1
  163. package/dist/C_Theme.cjs +1 -5
  164. package/dist/C_Theme.js +1 -4
  165. package/dist/C_Theme.js.map +1 -0
  166. package/dist/C_Theme2.js +1 -63
  167. package/dist/C_Theme2.js.map +1 -1
  168. package/dist/C_Time.cjs +1 -5
  169. package/dist/C_Time.js +1 -3
  170. package/dist/C_Time.js.map +1 -0
  171. package/dist/C_Time2.js +1 -198
  172. package/dist/C_Time2.js.map +1 -1
  173. package/dist/C_Tree.cjs +1 -7
  174. package/dist/C_Tree.js +1 -4
  175. package/dist/C_Tree.js.map +1 -0
  176. package/dist/C_Tree2.js +1 -440
  177. package/dist/C_Tree2.js.map +1 -1
  178. package/dist/C_Upload.cjs +1 -12
  179. package/dist/C_Upload.js +1 -4
  180. package/dist/C_Upload.js.map +1 -0
  181. package/dist/C_Upload2.js +2 -1365
  182. package/dist/C_Upload2.js.map +1 -1
  183. package/dist/C_VideoPlayer.cjs +1 -23
  184. package/dist/C_VideoPlayer.js +1 -3
  185. package/dist/C_VideoPlayer.js.map +1 -0
  186. package/dist/C_VideoPlayer2.js +3 -1932
  187. package/dist/C_VideoPlayer2.js.map +1 -1
  188. package/dist/C_VtableGantt.cjs +1 -6
  189. package/dist/C_VtableGantt.js +1 -4
  190. package/dist/C_VtableGantt.js.map +1 -0
  191. package/dist/C_VtableGantt2.js +1 -872
  192. package/dist/C_VtableGantt2.js.map +1 -1
  193. package/dist/C_WaterFall.cjs +1 -13
  194. package/dist/C_WaterFall.js +1 -3
  195. package/dist/C_WaterFall.js.map +1 -0
  196. package/dist/C_WaterFall2.js +1 -364
  197. package/dist/C_WaterFall2.js.map +1 -1
  198. package/dist/{C_WorkFlow-CSO86Cuc.css.map → C_WorkFlow-7F6op6qN.css.map} +1 -1
  199. package/dist/C_WorkFlow.cjs +1 -8
  200. package/dist/C_WorkFlow.js +1 -4
  201. package/dist/C_WorkFlow.js.map +1 -0
  202. package/dist/C_WorkFlow2.js +1 -1983
  203. package/dist/C_WorkFlow2.js.map +1 -1
  204. package/dist/chunk.js +1 -18
  205. package/dist/city.js +1 -4816
  206. package/dist/constants.d.ts +1 -1
  207. package/dist/constants2.d.ts +2 -2
  208. package/dist/constants4.d.ts +8 -8
  209. package/dist/constants5.d.ts +2 -2
  210. package/dist/data.d.ts +2 -2
  211. package/dist/export-helper.js +1 -9
  212. package/dist/index.cjs +2 -413
  213. package/dist/index.cjs.map +1 -0
  214. package/dist/index.d.cts +1 -2
  215. package/dist/index.d.ts +1 -2
  216. package/dist/index.js +1 -231
  217. package/dist/index.js.map +1 -1
  218. package/dist/index.vue.d.ts +2 -2
  219. package/dist/index10.vue.d.ts +6 -6
  220. package/dist/index12.vue.d.ts +4 -4
  221. package/dist/index13.vue.d.ts +1 -1
  222. package/dist/index14.vue.d.ts +1 -1
  223. package/dist/index15.vue.d.ts +1 -1
  224. package/dist/index16.vue.d.ts +2 -2
  225. package/dist/index2.vue.d.ts +2 -2
  226. package/dist/index3.vue.d.ts +4 -4
  227. package/dist/index5.vue.d.ts +1 -1
  228. package/dist/index7.vue.d.ts +4 -4
  229. package/dist/index8.vue.d.ts +3 -3
  230. package/dist/index9.vue.d.ts +1 -1
  231. package/dist/resolver.cjs +2 -89
  232. package/dist/resolver.cjs.map +1 -0
  233. package/dist/resolver.js +1 -86
  234. package/dist/resolver.js.map +1 -1
  235. package/dist/storage.js +1 -30
  236. package/dist/storage.js.map +1 -1
  237. package/dist/style.css +447 -447
  238. package/dist/useCalendarEvents.d.ts +1 -1
  239. package/dist/useCollapsePanel.d.ts +2 -2
  240. package/dist/useCropperCore.d.ts +3 -3
  241. package/dist/useDraggableLayout.d.ts +9 -9
  242. package/dist/useDynamicFormState.d.ts +5 -5
  243. package/dist/useEdgeInteraction.d.ts +4 -12
  244. package/dist/useInfiniteScroll.d.ts +2 -2
  245. package/dist/useModalEdit.d.ts +45 -21
  246. package/dist/useQRCode.d.ts +3 -3
  247. package/dist/useSearchState.d.ts +2 -2
  248. package/dist/useSignatureHistory.d.ts +2 -2
  249. package/dist/useSplitResize.d.ts +6 -6
  250. package/dist/useTimeSelection.d.ts +2 -2
  251. package/dist/useTreeOperations.d.ts +6 -6
  252. package/dist/useWorkflowValidation.d.ts +3 -3
  253. package/package.json +1 -2
  254. package/dist/C_FullCalendar-BULCIlVK.css.map +0 -1
  255. package/dist/constants.d.ts.map +0 -1
  256. package/dist/constants2.d.ts.map +0 -1
  257. package/dist/constants3.d.ts.map +0 -1
  258. package/dist/constants4.d.ts.map +0 -1
  259. package/dist/constants5.d.ts.map +0 -1
  260. package/dist/data.d.ts.map +0 -1
  261. package/dist/index.d.cts.map +0 -1
  262. package/dist/index.d.ts.map +0 -1
  263. package/dist/index.vue.d.ts.map +0 -1
  264. package/dist/index10.vue.d.ts.map +0 -1
  265. package/dist/index11.vue.d.ts.map +0 -1
  266. package/dist/index12.vue.d.ts.map +0 -1
  267. package/dist/index13.vue.d.ts.map +0 -1
  268. package/dist/index14.vue.d.ts.map +0 -1
  269. package/dist/index15.vue.d.ts.map +0 -1
  270. package/dist/index16.vue.d.ts.map +0 -1
  271. package/dist/index2.vue.d.ts.map +0 -1
  272. package/dist/index3.vue.d.ts.map +0 -1
  273. package/dist/index4.vue.d.ts.map +0 -1
  274. package/dist/index5.vue.d.ts.map +0 -1
  275. package/dist/index6.vue.d.ts.map +0 -1
  276. package/dist/index7.vue.d.ts.map +0 -1
  277. package/dist/index8.vue.d.ts.map +0 -1
  278. package/dist/index9.vue.d.ts.map +0 -1
  279. package/dist/resolver.d.cts.map +0 -1
  280. package/dist/resolver.d.ts.map +0 -1
  281. package/dist/useCalendarEvents.d.ts.map +0 -1
  282. package/dist/useCollapsePanel.d.ts.map +0 -1
  283. package/dist/useCropperCore.d.ts.map +0 -1
  284. package/dist/useDraggableLayout.d.ts.map +0 -1
  285. package/dist/useDynamicFormState.d.ts.map +0 -1
  286. package/dist/useEdgeInteraction.d.ts.map +0 -1
  287. package/dist/useFullscreen.d.ts.map +0 -1
  288. package/dist/useGlobalSearch.d.ts.map +0 -1
  289. package/dist/useInfiniteScroll.d.ts.map +0 -1
  290. package/dist/useModalEdit.d.ts.map +0 -1
  291. package/dist/useQRCode.d.ts.map +0 -1
  292. package/dist/useSearchState.d.ts.map +0 -1
  293. package/dist/useSignatureHistory.d.ts.map +0 -1
  294. package/dist/useSplitResize.d.ts.map +0 -1
  295. package/dist/useTimeSelection.d.ts.map +0 -1
  296. package/dist/useTreeOperations.d.ts.map +0 -1
  297. package/dist/useWorkflowValidation.d.ts.map +0 -1
package/dist/C_Editor2.js CHANGED
@@ -1,160 +1,2 @@
1
- import { t as export_helper_default } from "./export-helper.js";
2
- import { computed, createElementBlock, defineComponent, nextTick, normalizeClass, onBeforeUnmount, onMounted, openBlock, readonly, ref, vShow, watch, withDirectives } from "vue";
3
- import E from "wangeditor";
4
-
5
- //#region src/components/C_Editor/index.vue?vue&type=script&setup=true&lang.ts
6
- const _hoisted_1 = ["id"];
7
- var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
8
- name: "C_Editor",
9
- __name: "index",
10
- props: {
11
- editorId: {},
12
- modelValue: { default: "" },
13
- placeholder: { default: "" },
14
- disabled: {
15
- type: Boolean,
16
- default: false
17
- },
18
- readonly: {
19
- type: Boolean,
20
- default: false
21
- },
22
- height: { default: 240 },
23
- theme: { default: "light" }
24
- },
25
- emits: [
26
- "update:modelValue",
27
- "editor-mounted",
28
- "editor-change"
29
- ],
30
- setup(__props, { expose: __expose, emit: __emit }) {
31
- const props = __props;
32
- const emit = __emit;
33
- const editorContainer = ref(null);
34
- const editorInstance = ref(null);
35
- const isInitialized = ref(false);
36
- const isDark = computed(() => props.theme === "dark");
37
- const initializeEditor = () => {
38
- if (!editorContainer.value || isInitialized.value) return;
39
- try {
40
- const editor = new E(editorContainer.value);
41
- const editorConfig = editor.config;
42
- editorConfig.placeholder = props.placeholder;
43
- editorConfig.height = props.height - 50;
44
- editorConfig.onchange = (html) => {
45
- emit("update:modelValue", html);
46
- emit("editor-change", html);
47
- };
48
- editor.create();
49
- nextTick(() => {
50
- if (props.modelValue) editor.txt.html(props.modelValue);
51
- if (props.readonly) editor.disable();
52
- editorInstance.value = editor;
53
- isInitialized.value = true;
54
- emit("editor-mounted", editor);
55
- });
56
- } catch (error) {
57
- console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);
58
- }
59
- };
60
- const destroyEditor = () => {
61
- if (editorInstance.value && isInitialized.value) try {
62
- editorInstance.value.destroy();
63
- editorInstance.value = null;
64
- isInitialized.value = false;
65
- } catch (error) {
66
- console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);
67
- }
68
- };
69
- const setContent = (html) => {
70
- if (editorInstance.value && isInitialized.value) try {
71
- editorInstance.value.txt.html(html);
72
- } catch (error) {
73
- console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);
74
- }
75
- };
76
- const getContent = () => {
77
- if (editorInstance.value && isInitialized.value) try {
78
- return editorInstance.value.txt.html();
79
- } catch (error) {
80
- console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);
81
- return "";
82
- }
83
- return "";
84
- };
85
- watch(() => props.modelValue, (newValue) => {
86
- if (editorInstance.value && isInitialized.value) {
87
- if (editorInstance.value.txt.html() !== newValue) editorInstance.value.txt.html(newValue || "");
88
- }
89
- });
90
- watch(() => props.disabled, (disabled) => {
91
- if (editorInstance.value && isInitialized.value) try {
92
- if (disabled) editorInstance.value.disable();
93
- else editorInstance.value.enable();
94
- } catch (error) {
95
- console.warn(`[C_Editor] 设置编辑器状态失败`, error);
96
- }
97
- });
98
- watch(() => props.readonly, (readonlyVal) => {
99
- if (editorInstance.value && isInitialized.value) try {
100
- if (readonlyVal) editorInstance.value.disable();
101
- else editorInstance.value.enable();
102
- } catch (error) {
103
- console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);
104
- }
105
- });
106
- const handleEditorFocus = () => {
107
- if (!editorContainer.value) return;
108
- const container = editorContainer.value.closest(".form-demo");
109
- if (container) {
110
- container.classList.add("editor-focused");
111
- const containerWidth = container.scrollWidth;
112
- container.style.maxWidth = `${containerWidth}px`;
113
- }
114
- };
115
- const handleEditorBlur = () => {
116
- if (!editorContainer.value) return;
117
- const container = editorContainer.value.closest(".form-demo");
118
- if (container) {
119
- container.classList.remove("editor-focused");
120
- container.style.maxWidth = "";
121
- }
122
- };
123
- onMounted(() => {
124
- nextTick(() => {
125
- initializeEditor();
126
- });
127
- });
128
- onBeforeUnmount(() => {
129
- destroyEditor();
130
- });
131
- __expose({
132
- initializeEditor,
133
- destroyEditor,
134
- setContent,
135
- getContent,
136
- handleEditorFocus,
137
- handleEditorBlur,
138
- editorInstance: readonly(editorInstance),
139
- isInitialized: readonly(isInitialized)
140
- });
141
- return (_ctx, _cache) => {
142
- return withDirectives((openBlock(), createElementBlock("div", {
143
- ref_key: "editorContainer",
144
- ref: editorContainer,
145
- id: _ctx.editorId,
146
- class: normalizeClass(["w-full", { "editor-dark": isDark.value }]),
147
- onFocusin: handleEditorFocus,
148
- onFocusout: handleEditorBlur
149
- }, null, 42, _hoisted_1)), [[vShow, isInitialized.value]]);
150
- };
151
- }
152
- });
153
-
154
- //#endregion
155
- //#region src/components/C_Editor/index.vue
156
- var C_Editor_default = /* @__PURE__ */ export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e2dec5c9"]]);
157
-
158
- //#endregion
159
- export { C_Editor_default as t };
1
+ import{t as e}from"./export-helper.js";import{computed as t,createElementBlock as n,defineComponent as r,nextTick as i,normalizeClass as a,onBeforeUnmount as o,onMounted as s,openBlock as c,readonly as l,ref as u,vShow as d,watch as f,withDirectives as p}from"vue";import m from"wangeditor";const h=[`id`];var g=e(r({name:`C_Editor`,__name:`index`,props:{editorId:{},modelValue:{default:``},placeholder:{default:``},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},height:{default:240},theme:{default:`light`}},emits:[`update:modelValue`,`editor-mounted`,`editor-change`],setup(e,{expose:r,emit:g}){let _=e,v=g,y=u(null),b=u(null),x=u(!1),S=t(()=>_.theme===`dark`),C=()=>{if(!(!y.value||x.value))try{let e=new m(y.value),t=e.config;t.placeholder=_.placeholder,t.height=_.height-50,t.onchange=e=>{v(`update:modelValue`,e),v(`editor-change`,e)},e.create(),i(()=>{_.modelValue&&e.txt.html(_.modelValue),_.readonly&&e.disable(),b.value=e,x.value=!0,v(`editor-mounted`,e)})}catch(e){console.error(`[C_Editor] 编辑器初始化失败: ${_.editorId}`,e)}},w=()=>{if(b.value&&x.value)try{b.value.destroy(),b.value=null,x.value=!1}catch(e){console.error(`[C_Editor] 编辑器销毁失败: ${_.editorId}`,e)}},T=e=>{if(b.value&&x.value)try{b.value.txt.html(e)}catch(e){console.warn(`[C_Editor] 设置编辑器内容失败: ${_.editorId}`,e)}},E=()=>{if(b.value&&x.value)try{return b.value.txt.html()}catch(e){return console.warn(`[C_Editor] 获取编辑器内容失败: ${_.editorId}`,e),``}return``};f(()=>_.modelValue,e=>{b.value&&x.value&&b.value.txt.html()!==e&&b.value.txt.html(e||``)}),f(()=>_.disabled,e=>{if(b.value&&x.value)try{e?b.value.disable():b.value.enable()}catch(e){console.warn(`[C_Editor] 设置编辑器状态失败`,e)}}),f(()=>_.readonly,e=>{if(b.value&&x.value)try{e?b.value.disable():b.value.enable()}catch(e){console.warn(`[C_Editor] 设置编辑器只读状态失败`,e)}});let D=()=>{if(!y.value)return;let e=y.value.closest(`.form-demo`);if(e){e.classList.add(`editor-focused`);let t=e.scrollWidth;e.style.maxWidth=`${t}px`}},O=()=>{if(!y.value)return;let e=y.value.closest(`.form-demo`);e&&(e.classList.remove(`editor-focused`),e.style.maxWidth=``)};return s(()=>{i(()=>{C()})}),o(()=>{w()}),r({initializeEditor:C,destroyEditor:w,setContent:T,getContent:E,handleEditorFocus:D,handleEditorBlur:O,editorInstance:l(b),isInitialized:l(x)}),(e,t)=>p((c(),n(`div`,{ref_key:`editorContainer`,ref:y,id:e.editorId,class:a([`w-full`,{"editor-dark":S.value}]),onFocusin:D,onFocusout:O},null,42,h)),[[d,x.value]])}}),[[`__scopeId`,`data-v-e2dec5c9`]]);export{g as t};
160
2
  //# sourceMappingURL=C_Editor2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"C_Editor2.js","names":["editorId"],"sources":["../src/components/C_Editor/index.vue","../src/components/C_Editor/index.vue","../src/components/C_Editor/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 富文本编辑器组件(简化主题版)\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n ref=\"editorContainer\"\r\n :id=\"editorId\"\r\n v-show=\"isInitialized\"\r\n class=\"w-full\"\r\n :class=\"{ 'editor-dark': isDark }\"\r\n @focusin=\"handleEditorFocus\"\r\n @focusout=\"handleEditorBlur\"\r\n ></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n computed,\r\n watch,\r\n nextTick,\r\n onMounted,\r\n onBeforeUnmount,\r\n readonly,\r\n} from \"vue\";\r\nimport E from \"wangeditor\";\r\n\r\ndefineOptions({ name: \"C_Editor\" });\r\n\r\ninterface Props {\r\n editorId: string;\r\n modelValue?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readonly?: boolean;\r\n height?: number;\r\n theme?: \"light\" | \"dark\";\r\n}\r\n\r\ninterface Emits {\r\n (e: \"update:modelValue\", value: string): void;\r\n (e: \"editor-mounted\", editor: any): void;\r\n (e: \"editor-change\", html: string): void;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n modelValue: \"\",\r\n placeholder: \"\",\r\n disabled: false,\r\n readonly: false,\r\n height: 240,\r\n theme: \"light\",\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst editorContainer = ref<HTMLElement | null>(null);\r\nconst editorInstance = ref<any>(null);\r\nconst isInitialized = ref<boolean>(false);\r\n\r\nconst isDark = computed(() => props.theme === \"dark\");\r\n\r\nconst initializeEditor = (): void => {\r\n if (!editorContainer.value || isInitialized.value) return;\r\n\r\n try {\r\n const editor = new E(editorContainer.value);\r\n const editorConfig = editor.config as any;\r\n editorConfig.placeholder = props.placeholder;\r\n editorConfig.height = props.height - 50;\r\n\r\n editorConfig.onchange = (html: string) => {\r\n emit(\"update:modelValue\", html);\r\n emit(\"editor-change\", html);\r\n };\r\n\r\n editor.create();\r\n\r\n nextTick(() => {\r\n if (props.modelValue) {\r\n editor.txt.html(props.modelValue);\r\n }\r\n if (props.readonly) {\r\n editor.disable();\r\n }\r\n editorInstance.value = editor;\r\n isInitialized.value = true;\r\n emit(\"editor-mounted\", editor);\r\n });\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);\r\n }\r\n};\r\n\r\nconst destroyEditor = (): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.destroy();\r\n editorInstance.value = null;\r\n isInitialized.value = false;\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst setContent = (html: string): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.txt.html(html);\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst getContent = (): string => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n return editorInstance.value.txt.html();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nwatch(\r\n () => props.modelValue,\r\n (newValue) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n const currentContent = editorInstance.value.txt.html();\r\n if (currentContent !== newValue) {\r\n editorInstance.value.txt.html(newValue || \"\");\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.disabled,\r\n (disabled) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (disabled) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.readonly,\r\n (readonlyVal) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (readonlyVal) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nconst handleEditorFocus = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.add(\"editor-focused\");\r\n const containerWidth = container.scrollWidth;\r\n container.style.maxWidth = `${containerWidth}px`;\r\n }\r\n};\r\n\r\nconst handleEditorBlur = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.remove(\"editor-focused\");\r\n container.style.maxWidth = \"\";\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n nextTick(() => {\r\n initializeEditor();\r\n });\r\n});\r\n\r\nonBeforeUnmount(() => {\r\n destroyEditor();\r\n});\r\n\r\ndefineExpose({\r\n initializeEditor,\r\n destroyEditor,\r\n setContent,\r\n getContent,\r\n handleEditorFocus,\r\n handleEditorBlur,\r\n editorInstance: readonly(editorInstance),\r\n isInitialized: readonly(isInitialized),\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n/* 暗色主题样式 */\r\n.editor-dark :deep(.w-e-toolbar) {\r\n background-color: #1f2937 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item) {\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item:hover) {\r\n background-color: #374151 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item.w-e-active) {\r\n background-color: #2080f0 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container) {\r\n background-color: #111827 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text) {\r\n background-color: #303033 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text:focus) {\r\n background-color: #111827 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container) {\r\n max-width: 100% !important;\r\n overflow-x: auto !important;\r\n box-sizing: border-box !important;\r\n}\r\n\r\n:deep(.w-e-text) {\r\n max-width: 100% !important;\r\n word-wrap: break-word !important;\r\n overflow-wrap: break-word !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container),\r\n:deep(.w-e-text) {\r\n transition:\r\n background-color 0.3s ease,\r\n border-color 0.3s ease,\r\n color 0.3s ease !important;\r\n}\r\n\r\n.editor-focused {\r\n overflow: hidden !important;\r\n max-width: 100% !important;\r\n}\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 富文本编辑器组件(简化主题版)\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n ref=\"editorContainer\"\r\n :id=\"editorId\"\r\n v-show=\"isInitialized\"\r\n class=\"w-full\"\r\n :class=\"{ 'editor-dark': isDark }\"\r\n @focusin=\"handleEditorFocus\"\r\n @focusout=\"handleEditorBlur\"\r\n ></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n computed,\r\n watch,\r\n nextTick,\r\n onMounted,\r\n onBeforeUnmount,\r\n readonly,\r\n} from \"vue\";\r\nimport E from \"wangeditor\";\r\n\r\ndefineOptions({ name: \"C_Editor\" });\r\n\r\ninterface Props {\r\n editorId: string;\r\n modelValue?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readonly?: boolean;\r\n height?: number;\r\n theme?: \"light\" | \"dark\";\r\n}\r\n\r\ninterface Emits {\r\n (e: \"update:modelValue\", value: string): void;\r\n (e: \"editor-mounted\", editor: any): void;\r\n (e: \"editor-change\", html: string): void;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n modelValue: \"\",\r\n placeholder: \"\",\r\n disabled: false,\r\n readonly: false,\r\n height: 240,\r\n theme: \"light\",\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst editorContainer = ref<HTMLElement | null>(null);\r\nconst editorInstance = ref<any>(null);\r\nconst isInitialized = ref<boolean>(false);\r\n\r\nconst isDark = computed(() => props.theme === \"dark\");\r\n\r\nconst initializeEditor = (): void => {\r\n if (!editorContainer.value || isInitialized.value) return;\r\n\r\n try {\r\n const editor = new E(editorContainer.value);\r\n const editorConfig = editor.config as any;\r\n editorConfig.placeholder = props.placeholder;\r\n editorConfig.height = props.height - 50;\r\n\r\n editorConfig.onchange = (html: string) => {\r\n emit(\"update:modelValue\", html);\r\n emit(\"editor-change\", html);\r\n };\r\n\r\n editor.create();\r\n\r\n nextTick(() => {\r\n if (props.modelValue) {\r\n editor.txt.html(props.modelValue);\r\n }\r\n if (props.readonly) {\r\n editor.disable();\r\n }\r\n editorInstance.value = editor;\r\n isInitialized.value = true;\r\n emit(\"editor-mounted\", editor);\r\n });\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);\r\n }\r\n};\r\n\r\nconst destroyEditor = (): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.destroy();\r\n editorInstance.value = null;\r\n isInitialized.value = false;\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst setContent = (html: string): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.txt.html(html);\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst getContent = (): string => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n return editorInstance.value.txt.html();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nwatch(\r\n () => props.modelValue,\r\n (newValue) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n const currentContent = editorInstance.value.txt.html();\r\n if (currentContent !== newValue) {\r\n editorInstance.value.txt.html(newValue || \"\");\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.disabled,\r\n (disabled) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (disabled) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.readonly,\r\n (readonlyVal) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (readonlyVal) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nconst handleEditorFocus = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.add(\"editor-focused\");\r\n const containerWidth = container.scrollWidth;\r\n container.style.maxWidth = `${containerWidth}px`;\r\n }\r\n};\r\n\r\nconst handleEditorBlur = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.remove(\"editor-focused\");\r\n container.style.maxWidth = \"\";\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n nextTick(() => {\r\n initializeEditor();\r\n });\r\n});\r\n\r\nonBeforeUnmount(() => {\r\n destroyEditor();\r\n});\r\n\r\ndefineExpose({\r\n initializeEditor,\r\n destroyEditor,\r\n setContent,\r\n getContent,\r\n handleEditorFocus,\r\n handleEditorBlur,\r\n editorInstance: readonly(editorInstance),\r\n isInitialized: readonly(isInitialized),\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n/* 暗色主题样式 */\r\n.editor-dark :deep(.w-e-toolbar) {\r\n background-color: #1f2937 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item) {\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item:hover) {\r\n background-color: #374151 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item.w-e-active) {\r\n background-color: #2080f0 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container) {\r\n background-color: #111827 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text) {\r\n background-color: #303033 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text:focus) {\r\n background-color: #111827 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container) {\r\n max-width: 100% !important;\r\n overflow-x: auto !important;\r\n box-sizing: border-box !important;\r\n}\r\n\r\n:deep(.w-e-text) {\r\n max-width: 100% !important;\r\n word-wrap: break-word !important;\r\n overflow-wrap: break-word !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container),\r\n:deep(.w-e-text) {\r\n transition:\r\n background-color 0.3s ease,\r\n border-color 0.3s ease,\r\n color 0.3s ease !important;\r\n}\r\n\r\n.editor-focused {\r\n overflow: hidden !important;\r\n max-width: 100% !important;\r\n}\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 富文本编辑器组件(简化主题版)\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n ref=\"editorContainer\"\r\n :id=\"editorId\"\r\n v-show=\"isInitialized\"\r\n class=\"w-full\"\r\n :class=\"{ 'editor-dark': isDark }\"\r\n @focusin=\"handleEditorFocus\"\r\n @focusout=\"handleEditorBlur\"\r\n ></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n computed,\r\n watch,\r\n nextTick,\r\n onMounted,\r\n onBeforeUnmount,\r\n readonly,\r\n} from \"vue\";\r\nimport E from \"wangeditor\";\r\n\r\ndefineOptions({ name: \"C_Editor\" });\r\n\r\ninterface Props {\r\n editorId: string;\r\n modelValue?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readonly?: boolean;\r\n height?: number;\r\n theme?: \"light\" | \"dark\";\r\n}\r\n\r\ninterface Emits {\r\n (e: \"update:modelValue\", value: string): void;\r\n (e: \"editor-mounted\", editor: any): void;\r\n (e: \"editor-change\", html: string): void;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n modelValue: \"\",\r\n placeholder: \"\",\r\n disabled: false,\r\n readonly: false,\r\n height: 240,\r\n theme: \"light\",\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst editorContainer = ref<HTMLElement | null>(null);\r\nconst editorInstance = ref<any>(null);\r\nconst isInitialized = ref<boolean>(false);\r\n\r\nconst isDark = computed(() => props.theme === \"dark\");\r\n\r\nconst initializeEditor = (): void => {\r\n if (!editorContainer.value || isInitialized.value) return;\r\n\r\n try {\r\n const editor = new E(editorContainer.value);\r\n const editorConfig = editor.config as any;\r\n editorConfig.placeholder = props.placeholder;\r\n editorConfig.height = props.height - 50;\r\n\r\n editorConfig.onchange = (html: string) => {\r\n emit(\"update:modelValue\", html);\r\n emit(\"editor-change\", html);\r\n };\r\n\r\n editor.create();\r\n\r\n nextTick(() => {\r\n if (props.modelValue) {\r\n editor.txt.html(props.modelValue);\r\n }\r\n if (props.readonly) {\r\n editor.disable();\r\n }\r\n editorInstance.value = editor;\r\n isInitialized.value = true;\r\n emit(\"editor-mounted\", editor);\r\n });\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);\r\n }\r\n};\r\n\r\nconst destroyEditor = (): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.destroy();\r\n editorInstance.value = null;\r\n isInitialized.value = false;\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst setContent = (html: string): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.txt.html(html);\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst getContent = (): string => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n return editorInstance.value.txt.html();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nwatch(\r\n () => props.modelValue,\r\n (newValue) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n const currentContent = editorInstance.value.txt.html();\r\n if (currentContent !== newValue) {\r\n editorInstance.value.txt.html(newValue || \"\");\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.disabled,\r\n (disabled) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (disabled) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.readonly,\r\n (readonlyVal) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (readonlyVal) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nconst handleEditorFocus = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.add(\"editor-focused\");\r\n const containerWidth = container.scrollWidth;\r\n container.style.maxWidth = `${containerWidth}px`;\r\n }\r\n};\r\n\r\nconst handleEditorBlur = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.remove(\"editor-focused\");\r\n container.style.maxWidth = \"\";\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n nextTick(() => {\r\n initializeEditor();\r\n });\r\n});\r\n\r\nonBeforeUnmount(() => {\r\n destroyEditor();\r\n});\r\n\r\ndefineExpose({\r\n initializeEditor,\r\n destroyEditor,\r\n setContent,\r\n getContent,\r\n handleEditorFocus,\r\n handleEditorBlur,\r\n editorInstance: readonly(editorInstance),\r\n isInitialized: readonly(isInitialized),\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n/* 暗色主题样式 */\r\n.editor-dark :deep(.w-e-toolbar) {\r\n background-color: #1f2937 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item) {\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item:hover) {\r\n background-color: #374151 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item.w-e-active) {\r\n background-color: #2080f0 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container) {\r\n background-color: #111827 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text) {\r\n background-color: #303033 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text:focus) {\r\n background-color: #111827 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container) {\r\n max-width: 100% !important;\r\n overflow-x: auto !important;\r\n box-sizing: border-box !important;\r\n}\r\n\r\n:deep(.w-e-text) {\r\n max-width: 100% !important;\r\n word-wrap: break-word !important;\r\n overflow-wrap: break-word !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container),\r\n:deep(.w-e-text) {\r\n transition:\r\n background-color 0.3s ease,\r\n border-color 0.3s ease,\r\n color 0.3s ease !important;\r\n}\r\n\r\n.editor-focused {\r\n overflow: hidden !important;\r\n max-width: 100% !important;\r\n}\r\n</style>\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECiDA,MAAM,QAAQ;EASd,MAAM,OAAO;EAEb,MAAM,kBAAkB,IAAwB,KAAK;EACrD,MAAM,iBAAiB,IAAS,KAAK;EACrC,MAAM,gBAAgB,IAAa,MAAM;EAEzC,MAAM,SAAS,eAAe,MAAM,UAAU,OAAO;EAErD,MAAM,yBAA+B;AACnC,OAAI,CAAC,gBAAgB,SAAS,cAAc,MAAO;AAEnD,OAAI;IACF,MAAM,SAAS,IAAI,EAAE,gBAAgB,MAAM;IAC3C,MAAM,eAAe,OAAO;AAC5B,iBAAa,cAAc,MAAM;AACjC,iBAAa,SAAS,MAAM,SAAS;AAErC,iBAAa,YAAY,SAAiB;AACxC,UAAK,qBAAqB,KAAK;AAC/B,UAAK,iBAAiB,KAAK;;AAG7B,WAAO,QAAQ;AAEf,mBAAe;AACb,SAAI,MAAM,WACR,QAAO,IAAI,KAAK,MAAM,WAAW;AAEnC,SAAI,MAAM,SACR,QAAO,SAAS;AAElB,oBAAe,QAAQ;AACvB,mBAAc,QAAQ;AACtB,UAAK,kBAAkB,OAAO;MAC9B;YACK,OAAO;AACd,YAAQ,MAAM,wBAAwB,MAAM,YAAY,MAAM;;;EAIlE,MAAM,sBAA4B;AAChC,OAAI,eAAe,SAAS,cAAc,MACxC,KAAI;AACF,mBAAe,MAAM,SAAS;AAC9B,mBAAe,QAAQ;AACvB,kBAAc,QAAQ;YACf,OAAO;AACd,YAAQ,MAAM,uBAAuB,MAAM,YAAY,MAAM;;;EAKnE,MAAM,cAAc,SAAuB;AACzC,OAAI,eAAe,SAAS,cAAc,MACxC,KAAI;AACF,mBAAe,MAAM,IAAI,KAAK,KAAK;YAC5B,OAAO;AACd,YAAQ,KAAK,yBAAyB,MAAM,YAAY,MAAM;;;EAKpE,MAAM,mBAA2B;AAC/B,OAAI,eAAe,SAAS,cAAc,MACxC,KAAI;AACF,WAAO,eAAe,MAAM,IAAI,MAAM;YAC/B,OAAO;AACd,YAAQ,KAAK,yBAAyB,MAAM,YAAY,MAAM;AAC9D,WAAO;;AAGX,UAAO;;AAGT,cACQ,MAAM,aACX,aAAa;AACZ,OAAI,eAAe,SAAS,cAAc,OAExC;QADuB,eAAe,MAAM,IAAI,MAAM,KAC/B,SACrB,gBAAe,MAAM,IAAI,KAAK,YAAY,GAAG;;IAIpD;AAED,cACQ,MAAM,WACX,aAAa;AACZ,OAAI,eAAe,SAAS,cAAc,MACxC,KAAI;AACF,QAAI,SAAU,gBAAe,MAAM,SAAS;QACvC,gBAAe,MAAM,QAAQ;YAC3B,OAAO;AACd,YAAQ,KAAK,wBAAwB,MAAM;;IAIlD;AAED,cACQ,MAAM,WACX,gBAAgB;AACf,OAAI,eAAe,SAAS,cAAc,MACxC,KAAI;AACF,QAAI,YAAa,gBAAe,MAAM,SAAS;QAC1C,gBAAe,MAAM,QAAQ;YAC3B,OAAO;AACd,YAAQ,KAAK,0BAA0B,MAAM;;IAIpD;EAED,MAAM,0BAAgC;AACpC,OAAI,CAAC,gBAAgB,MAAO;GAC5B,MAAM,YAAY,gBAAgB,MAAM,QACtC,aACD;AACD,OAAI,WAAW;AACb,cAAU,UAAU,IAAI,iBAAiB;IACzC,MAAM,iBAAiB,UAAU;AACjC,cAAU,MAAM,WAAW,GAAG,eAAe;;;EAIjD,MAAM,yBAA+B;AACnC,OAAI,CAAC,gBAAgB,MAAO;GAC5B,MAAM,YAAY,gBAAgB,MAAM,QACtC,aACD;AACD,OAAI,WAAW;AACb,cAAU,UAAU,OAAO,iBAAiB;AAC5C,cAAU,MAAM,WAAW;;;AAI/B,kBAAgB;AACd,kBAAe;AACb,sBAAkB;KAClB;IACF;AAEF,wBAAsB;AACpB,kBAAe;IACf;AAEF,WAAa;GACX;GACA;GACA;GACA;GACA;GACA;GACA,gBAAgB,SAAS,eAAe;GACxC,eAAe,SAAS,cAAc;GACvC,CAAC;;uCA9MA,mBAQO,OAAA;aAPD;IAAJ,KAAI;IACH,IAAIA,KAAAA;IAEL,OAAK,eAAA,CAAC,UAAQ,EAAA,eACW,OAAA,OAAM,CAAA,CAAA;IAC9B,WAAS;IACT,YAAU;uCAJH,cAAA,MAAa"}
1
+ {"version":3,"file":"C_Editor2.js","names":["editorId"],"sources":["../src/components/C_Editor/index.vue","../src/components/C_Editor/index.vue","../src/components/C_Editor/index.vue"],"sourcesContent":["/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 富文本编辑器组件(简化主题版)\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n ref=\"editorContainer\"\r\n :id=\"editorId\"\r\n v-show=\"isInitialized\"\r\n class=\"w-full\"\r\n :class=\"{ 'editor-dark': isDark }\"\r\n @focusin=\"handleEditorFocus\"\r\n @focusout=\"handleEditorBlur\"\r\n ></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n computed,\r\n watch,\r\n nextTick,\r\n onMounted,\r\n onBeforeUnmount,\r\n readonly,\r\n} from \"vue\";\r\nimport E from \"wangeditor\";\r\n\r\ndefineOptions({ name: \"C_Editor\" });\r\n\r\ninterface Props {\r\n editorId: string;\r\n modelValue?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readonly?: boolean;\r\n height?: number;\r\n theme?: \"light\" | \"dark\";\r\n}\r\n\r\ninterface Emits {\r\n (e: \"update:modelValue\", value: string): void;\r\n (e: \"editor-mounted\", editor: any): void;\r\n (e: \"editor-change\", html: string): void;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n modelValue: \"\",\r\n placeholder: \"\",\r\n disabled: false,\r\n readonly: false,\r\n height: 240,\r\n theme: \"light\",\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst editorContainer = ref<HTMLElement | null>(null);\r\nconst editorInstance = ref<any>(null);\r\nconst isInitialized = ref<boolean>(false);\r\n\r\nconst isDark = computed(() => props.theme === \"dark\");\r\n\r\nconst initializeEditor = (): void => {\r\n if (!editorContainer.value || isInitialized.value) return;\r\n\r\n try {\r\n const editor = new E(editorContainer.value);\r\n const editorConfig = editor.config as any;\r\n editorConfig.placeholder = props.placeholder;\r\n editorConfig.height = props.height - 50;\r\n\r\n editorConfig.onchange = (html: string) => {\r\n emit(\"update:modelValue\", html);\r\n emit(\"editor-change\", html);\r\n };\r\n\r\n editor.create();\r\n\r\n nextTick(() => {\r\n if (props.modelValue) {\r\n editor.txt.html(props.modelValue);\r\n }\r\n if (props.readonly) {\r\n editor.disable();\r\n }\r\n editorInstance.value = editor;\r\n isInitialized.value = true;\r\n emit(\"editor-mounted\", editor);\r\n });\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);\r\n }\r\n};\r\n\r\nconst destroyEditor = (): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.destroy();\r\n editorInstance.value = null;\r\n isInitialized.value = false;\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst setContent = (html: string): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.txt.html(html);\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst getContent = (): string => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n return editorInstance.value.txt.html();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nwatch(\r\n () => props.modelValue,\r\n (newValue) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n const currentContent = editorInstance.value.txt.html();\r\n if (currentContent !== newValue) {\r\n editorInstance.value.txt.html(newValue || \"\");\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.disabled,\r\n (disabled) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (disabled) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.readonly,\r\n (readonlyVal) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (readonlyVal) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nconst handleEditorFocus = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.add(\"editor-focused\");\r\n const containerWidth = container.scrollWidth;\r\n container.style.maxWidth = `${containerWidth}px`;\r\n }\r\n};\r\n\r\nconst handleEditorBlur = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.remove(\"editor-focused\");\r\n container.style.maxWidth = \"\";\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n nextTick(() => {\r\n initializeEditor();\r\n });\r\n});\r\n\r\nonBeforeUnmount(() => {\r\n destroyEditor();\r\n});\r\n\r\ndefineExpose({\r\n initializeEditor,\r\n destroyEditor,\r\n setContent,\r\n getContent,\r\n handleEditorFocus,\r\n handleEditorBlur,\r\n editorInstance: readonly(editorInstance),\r\n isInitialized: readonly(isInitialized),\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n/* 暗色主题样式 */\r\n.editor-dark :deep(.w-e-toolbar) {\r\n background-color: #1f2937 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item) {\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item:hover) {\r\n background-color: #374151 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item.w-e-active) {\r\n background-color: #2080f0 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container) {\r\n background-color: #111827 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text) {\r\n background-color: #303033 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text:focus) {\r\n background-color: #111827 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container) {\r\n max-width: 100% !important;\r\n overflow-x: auto !important;\r\n box-sizing: border-box !important;\r\n}\r\n\r\n:deep(.w-e-text) {\r\n max-width: 100% !important;\r\n word-wrap: break-word !important;\r\n overflow-wrap: break-word !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container),\r\n:deep(.w-e-text) {\r\n transition:\r\n background-color 0.3s ease,\r\n border-color 0.3s ease,\r\n color 0.3s ease !important;\r\n}\r\n\r\n.editor-focused {\r\n overflow: hidden !important;\r\n max-width: 100% !important;\r\n}\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 富文本编辑器组件(简化主题版)\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n ref=\"editorContainer\"\r\n :id=\"editorId\"\r\n v-show=\"isInitialized\"\r\n class=\"w-full\"\r\n :class=\"{ 'editor-dark': isDark }\"\r\n @focusin=\"handleEditorFocus\"\r\n @focusout=\"handleEditorBlur\"\r\n ></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n computed,\r\n watch,\r\n nextTick,\r\n onMounted,\r\n onBeforeUnmount,\r\n readonly,\r\n} from \"vue\";\r\nimport E from \"wangeditor\";\r\n\r\ndefineOptions({ name: \"C_Editor\" });\r\n\r\ninterface Props {\r\n editorId: string;\r\n modelValue?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readonly?: boolean;\r\n height?: number;\r\n theme?: \"light\" | \"dark\";\r\n}\r\n\r\ninterface Emits {\r\n (e: \"update:modelValue\", value: string): void;\r\n (e: \"editor-mounted\", editor: any): void;\r\n (e: \"editor-change\", html: string): void;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n modelValue: \"\",\r\n placeholder: \"\",\r\n disabled: false,\r\n readonly: false,\r\n height: 240,\r\n theme: \"light\",\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst editorContainer = ref<HTMLElement | null>(null);\r\nconst editorInstance = ref<any>(null);\r\nconst isInitialized = ref<boolean>(false);\r\n\r\nconst isDark = computed(() => props.theme === \"dark\");\r\n\r\nconst initializeEditor = (): void => {\r\n if (!editorContainer.value || isInitialized.value) return;\r\n\r\n try {\r\n const editor = new E(editorContainer.value);\r\n const editorConfig = editor.config as any;\r\n editorConfig.placeholder = props.placeholder;\r\n editorConfig.height = props.height - 50;\r\n\r\n editorConfig.onchange = (html: string) => {\r\n emit(\"update:modelValue\", html);\r\n emit(\"editor-change\", html);\r\n };\r\n\r\n editor.create();\r\n\r\n nextTick(() => {\r\n if (props.modelValue) {\r\n editor.txt.html(props.modelValue);\r\n }\r\n if (props.readonly) {\r\n editor.disable();\r\n }\r\n editorInstance.value = editor;\r\n isInitialized.value = true;\r\n emit(\"editor-mounted\", editor);\r\n });\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);\r\n }\r\n};\r\n\r\nconst destroyEditor = (): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.destroy();\r\n editorInstance.value = null;\r\n isInitialized.value = false;\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst setContent = (html: string): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.txt.html(html);\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst getContent = (): string => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n return editorInstance.value.txt.html();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nwatch(\r\n () => props.modelValue,\r\n (newValue) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n const currentContent = editorInstance.value.txt.html();\r\n if (currentContent !== newValue) {\r\n editorInstance.value.txt.html(newValue || \"\");\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.disabled,\r\n (disabled) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (disabled) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.readonly,\r\n (readonlyVal) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (readonlyVal) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nconst handleEditorFocus = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.add(\"editor-focused\");\r\n const containerWidth = container.scrollWidth;\r\n container.style.maxWidth = `${containerWidth}px`;\r\n }\r\n};\r\n\r\nconst handleEditorBlur = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.remove(\"editor-focused\");\r\n container.style.maxWidth = \"\";\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n nextTick(() => {\r\n initializeEditor();\r\n });\r\n});\r\n\r\nonBeforeUnmount(() => {\r\n destroyEditor();\r\n});\r\n\r\ndefineExpose({\r\n initializeEditor,\r\n destroyEditor,\r\n setContent,\r\n getContent,\r\n handleEditorFocus,\r\n handleEditorBlur,\r\n editorInstance: readonly(editorInstance),\r\n isInitialized: readonly(isInitialized),\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n/* 暗色主题样式 */\r\n.editor-dark :deep(.w-e-toolbar) {\r\n background-color: #1f2937 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item) {\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item:hover) {\r\n background-color: #374151 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item.w-e-active) {\r\n background-color: #2080f0 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container) {\r\n background-color: #111827 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text) {\r\n background-color: #303033 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text:focus) {\r\n background-color: #111827 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container) {\r\n max-width: 100% !important;\r\n overflow-x: auto !important;\r\n box-sizing: border-box !important;\r\n}\r\n\r\n:deep(.w-e-text) {\r\n max-width: 100% !important;\r\n word-wrap: break-word !important;\r\n overflow-wrap: break-word !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container),\r\n:deep(.w-e-text) {\r\n transition:\r\n background-color 0.3s ease,\r\n border-color 0.3s ease,\r\n color 0.3s ease !important;\r\n}\r\n\r\n.editor-focused {\r\n overflow: hidden !important;\r\n max-width: 100% !important;\r\n}\r\n</style>\r\n","<!--\r\n * @Author: ChenYu ycyplus@gmail.com\r\n * @Date: 2025-06-01\r\n * @Description: 富文本编辑器组件(简化主题版)\r\n * @Migration: naive-ui-components 组件库迁移版本\r\n * Copyright (c) 2025 by CHENY, All Rights Reserved.\r\n-->\r\n<template>\r\n <div\r\n ref=\"editorContainer\"\r\n :id=\"editorId\"\r\n v-show=\"isInitialized\"\r\n class=\"w-full\"\r\n :class=\"{ 'editor-dark': isDark }\"\r\n @focusin=\"handleEditorFocus\"\r\n @focusout=\"handleEditorBlur\"\r\n ></div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport {\r\n ref,\r\n computed,\r\n watch,\r\n nextTick,\r\n onMounted,\r\n onBeforeUnmount,\r\n readonly,\r\n} from \"vue\";\r\nimport E from \"wangeditor\";\r\n\r\ndefineOptions({ name: \"C_Editor\" });\r\n\r\ninterface Props {\r\n editorId: string;\r\n modelValue?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n readonly?: boolean;\r\n height?: number;\r\n theme?: \"light\" | \"dark\";\r\n}\r\n\r\ninterface Emits {\r\n (e: \"update:modelValue\", value: string): void;\r\n (e: \"editor-mounted\", editor: any): void;\r\n (e: \"editor-change\", html: string): void;\r\n}\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n modelValue: \"\",\r\n placeholder: \"\",\r\n disabled: false,\r\n readonly: false,\r\n height: 240,\r\n theme: \"light\",\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst editorContainer = ref<HTMLElement | null>(null);\r\nconst editorInstance = ref<any>(null);\r\nconst isInitialized = ref<boolean>(false);\r\n\r\nconst isDark = computed(() => props.theme === \"dark\");\r\n\r\nconst initializeEditor = (): void => {\r\n if (!editorContainer.value || isInitialized.value) return;\r\n\r\n try {\r\n const editor = new E(editorContainer.value);\r\n const editorConfig = editor.config as any;\r\n editorConfig.placeholder = props.placeholder;\r\n editorConfig.height = props.height - 50;\r\n\r\n editorConfig.onchange = (html: string) => {\r\n emit(\"update:modelValue\", html);\r\n emit(\"editor-change\", html);\r\n };\r\n\r\n editor.create();\r\n\r\n nextTick(() => {\r\n if (props.modelValue) {\r\n editor.txt.html(props.modelValue);\r\n }\r\n if (props.readonly) {\r\n editor.disable();\r\n }\r\n editorInstance.value = editor;\r\n isInitialized.value = true;\r\n emit(\"editor-mounted\", editor);\r\n });\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器初始化失败: ${props.editorId}`, error);\r\n }\r\n};\r\n\r\nconst destroyEditor = (): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.destroy();\r\n editorInstance.value = null;\r\n isInitialized.value = false;\r\n } catch (error) {\r\n console.error(`[C_Editor] 编辑器销毁失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst setContent = (html: string): void => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n editorInstance.value.txt.html(html);\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器内容失败: ${props.editorId}`, error);\r\n }\r\n }\r\n};\r\n\r\nconst getContent = (): string => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n return editorInstance.value.txt.html();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 获取编辑器内容失败: ${props.editorId}`, error);\r\n return \"\";\r\n }\r\n }\r\n return \"\";\r\n};\r\n\r\nwatch(\r\n () => props.modelValue,\r\n (newValue) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n const currentContent = editorInstance.value.txt.html();\r\n if (currentContent !== newValue) {\r\n editorInstance.value.txt.html(newValue || \"\");\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.disabled,\r\n (disabled) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (disabled) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nwatch(\r\n () => props.readonly,\r\n (readonlyVal) => {\r\n if (editorInstance.value && isInitialized.value) {\r\n try {\r\n if (readonlyVal) editorInstance.value.disable();\r\n else editorInstance.value.enable();\r\n } catch (error) {\r\n console.warn(`[C_Editor] 设置编辑器只读状态失败`, error);\r\n }\r\n }\r\n },\r\n);\r\n\r\nconst handleEditorFocus = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.add(\"editor-focused\");\r\n const containerWidth = container.scrollWidth;\r\n container.style.maxWidth = `${containerWidth}px`;\r\n }\r\n};\r\n\r\nconst handleEditorBlur = (): void => {\r\n if (!editorContainer.value) return;\r\n const container = editorContainer.value.closest(\r\n \".form-demo\",\r\n ) as HTMLElement | null;\r\n if (container) {\r\n container.classList.remove(\"editor-focused\");\r\n container.style.maxWidth = \"\";\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n nextTick(() => {\r\n initializeEditor();\r\n });\r\n});\r\n\r\nonBeforeUnmount(() => {\r\n destroyEditor();\r\n});\r\n\r\ndefineExpose({\r\n initializeEditor,\r\n destroyEditor,\r\n setContent,\r\n getContent,\r\n handleEditorFocus,\r\n handleEditorBlur,\r\n editorInstance: readonly(editorInstance),\r\n isInitialized: readonly(isInitialized),\r\n});\r\n</script>\r\n\r\n<style scoped>\r\n/* 暗色主题样式 */\r\n.editor-dark :deep(.w-e-toolbar) {\r\n background-color: #1f2937 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item) {\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item:hover) {\r\n background-color: #374151 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-toolbar .w-e-menu .w-e-menu-item.w-e-active) {\r\n background-color: #2080f0 !important;\r\n color: #ffffff !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container) {\r\n background-color: #111827 !important;\r\n border-color: #374151 !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text) {\r\n background-color: #303033 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n.editor-dark :deep(.w-e-text-container .w-e-text:focus) {\r\n background-color: #111827 !important;\r\n color: #e5e7eb !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container) {\r\n max-width: 100% !important;\r\n overflow-x: auto !important;\r\n box-sizing: border-box !important;\r\n}\r\n\r\n:deep(.w-e-text) {\r\n max-width: 100% !important;\r\n word-wrap: break-word !important;\r\n overflow-wrap: break-word !important;\r\n}\r\n\r\n:deep(.w-e-toolbar),\r\n:deep(.w-e-text-container),\r\n:deep(.w-e-text) {\r\n transition:\r\n background-color 0.3s ease,\r\n border-color 0.3s ease,\r\n color 0.3s ease !important;\r\n}\r\n\r\n.editor-focused {\r\n overflow: hidden !important;\r\n max-width: 100% !important;\r\n}\r\n</style>\r\n"],"mappings":"4mBEiDA,IAAM,EAAQ,EASR,EAAO,EAEP,EAAkB,EAAwB,KAAK,CAC/C,EAAiB,EAAS,KAAK,CAC/B,EAAgB,EAAa,GAAM,CAEnC,EAAS,MAAe,EAAM,QAAU,OAAO,CAE/C,MAA+B,CAC/B,MAAC,EAAgB,OAAS,EAAc,OAE5C,GAAI,CACF,IAAM,EAAS,IAAI,EAAE,EAAgB,MAAM,CACrC,EAAe,EAAO,OAC5B,EAAa,YAAc,EAAM,YACjC,EAAa,OAAS,EAAM,OAAS,GAErC,EAAa,SAAY,GAAiB,CACxC,EAAK,oBAAqB,EAAK,CAC/B,EAAK,gBAAiB,EAAK,EAG7B,EAAO,QAAQ,CAEf,MAAe,CACT,EAAM,YACR,EAAO,IAAI,KAAK,EAAM,WAAW,CAE/B,EAAM,UACR,EAAO,SAAS,CAElB,EAAe,MAAQ,EACvB,EAAc,MAAQ,GACtB,EAAK,iBAAkB,EAAO,EAC9B,OACK,EAAO,CACd,QAAQ,MAAM,wBAAwB,EAAM,WAAY,EAAM,GAI5D,MAA4B,CAChC,GAAI,EAAe,OAAS,EAAc,MACxC,GAAI,CACF,EAAe,MAAM,SAAS,CAC9B,EAAe,MAAQ,KACvB,EAAc,MAAQ,SACf,EAAO,CACd,QAAQ,MAAM,uBAAuB,EAAM,WAAY,EAAM,GAK7D,EAAc,GAAuB,CACzC,GAAI,EAAe,OAAS,EAAc,MACxC,GAAI,CACF,EAAe,MAAM,IAAI,KAAK,EAAK,OAC5B,EAAO,CACd,QAAQ,KAAK,yBAAyB,EAAM,WAAY,EAAM,GAK9D,MAA2B,CAC/B,GAAI,EAAe,OAAS,EAAc,MACxC,GAAI,CACF,OAAO,EAAe,MAAM,IAAI,MAAM,OAC/B,EAAO,CAEd,OADA,QAAQ,KAAK,yBAAyB,EAAM,WAAY,EAAM,CACvD,GAGX,MAAO,IAGT,MACQ,EAAM,WACX,GAAa,CACR,EAAe,OAAS,EAAc,OACjB,EAAe,MAAM,IAAI,MAAM,GAC/B,GACrB,EAAe,MAAM,IAAI,KAAK,GAAY,GAAG,EAIpD,CAED,MACQ,EAAM,SACX,GAAa,CACZ,GAAI,EAAe,OAAS,EAAc,MACxC,GAAI,CACE,EAAU,EAAe,MAAM,SAAS,CACvC,EAAe,MAAM,QAAQ,OAC3B,EAAO,CACd,QAAQ,KAAK,uBAAwB,EAAM,GAIlD,CAED,MACQ,EAAM,SACX,GAAgB,CACf,GAAI,EAAe,OAAS,EAAc,MACxC,GAAI,CACE,EAAa,EAAe,MAAM,SAAS,CAC1C,EAAe,MAAM,QAAQ,OAC3B,EAAO,CACd,QAAQ,KAAK,yBAA0B,EAAM,GAIpD,CAED,IAAM,MAAgC,CACpC,GAAI,CAAC,EAAgB,MAAO,OAC5B,IAAM,EAAY,EAAgB,MAAM,QACtC,aACD,CACD,GAAI,EAAW,CACb,EAAU,UAAU,IAAI,iBAAiB,CACzC,IAAM,EAAiB,EAAU,YACjC,EAAU,MAAM,SAAW,GAAG,EAAe,MAI3C,MAA+B,CACnC,GAAI,CAAC,EAAgB,MAAO,OAC5B,IAAM,EAAY,EAAgB,MAAM,QACtC,aACD,CACG,IACF,EAAU,UAAU,OAAO,iBAAiB,CAC5C,EAAU,MAAM,SAAW,YAI/B,MAAgB,CACd,MAAe,CACb,GAAkB,EAClB,EACF,CAEF,MAAsB,CACpB,GAAe,EACf,CAEF,EAAa,CACX,mBACA,gBACA,aACA,aACA,oBACA,mBACA,eAAgB,EAAS,EAAe,CACxC,cAAe,EAAS,EAAc,CACvC,CAAC,eA9MA,EAQO,MAAA,SAPD,kBAAJ,IAAI,EACH,GAAIA,EAAAA,SAEL,MAAK,EAAA,CAAC,SAAQ,CAAA,cACW,EAAA,MAAM,CAAA,CAAA,CAC9B,UAAS,EACT,WAAU,mBAJH,EAAA,MAAa,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"C_FilePreview-B4XgTv-h.css","names":[],"sources":["../src/components/C_FilePreview/components/PdfViewer/index.vue?vue&type=style&index=0&scoped=5a57e241&lang.scss","../src/components/C_FilePreview/components/WordViewer/index.vue?vue&type=style&index=0&scoped=42ca58ad&lang.scss","../src/components/C_FilePreview/components/ExcelViewer/index.vue?vue&type=style&index=0&scoped=b6c3e1b9&lang.scss","../src/components/C_FilePreview/index.vue?vue&type=style&index=0&scoped=8042014e&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.file-container[data-v-5a57e241] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.file-container .file-toolbar[data-v-5a57e241] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 8;\n position: relative;\n}\n.file-container .file-viewer[data-v-5a57e241] {\n flex: 1;\n min-height: 300px;\n}","/* unplugin-vue-components disabled */.file-container[data-v-42ca58ad] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.file-container .file-toolbar[data-v-42ca58ad] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 8;\n position: relative;\n}\n.word-layout[data-v-42ca58ad] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.word-layout .word-main[data-v-42ca58ad] {\n flex: 1;\n display: flex;\n overflow: hidden;\n}\n.word-layout .word-main .word-outline[data-v-42ca58ad] {\n width: 280px;\n border-right: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n}\n.word-layout .word-main .word-outline .outline-header[data-v-42ca58ad] {\n padding: 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n}\n.word-layout .word-main .word-outline .outline-content[data-v-42ca58ad] {\n padding: 8px;\n overflow-y: auto;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item[data-v-42ca58ad] {\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n font-size: 14px;\n color: var(--c-text-1, #333);\n}\n.word-layout .word-main .word-outline .outline-content .outline-item[data-v-42ca58ad]:hover {\n background-color: #e6f3ff;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-1[data-v-42ca58ad] {\n padding-left: 12px;\n font-weight: 600;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-2[data-v-42ca58ad] {\n padding-left: 24px;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-3[data-v-42ca58ad], .word-layout .word-main .word-outline .outline-content .outline-item.level-4[data-v-42ca58ad] {\n padding-left: 36px;\n font-size: 13px;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-4[data-v-42ca58ad] {\n padding-left: 48px;\n}\n.word-layout .word-main .word-content[data-v-42ca58ad] {\n flex: 1;\n padding: 24px;\n overflow: auto;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] {\n max-width: 800px;\n margin: 0 auto;\n background: var(--c-bg-card, white);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n padding: 40px;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h1 {\n margin: 24px 0 16px 0;\n font-weight: bold;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h1 {\n font-size: 1.8rem;\n color: var(--c-text-1, #333);\n border-bottom: 2px solid var(--c-border, #e0e0e0);\n padding-bottom: 8px;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h2 {\n font-size: 1.5rem;\n color: var(--c-text-1, #444);\n margin: 20px 0 12px 0;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h3 {\n font-size: 1.25rem;\n color: var(--c-text-2, #555);\n margin: 16px 0 8px 0;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] p {\n margin-bottom: 12px;\n line-height: 1.8;\n color: var(--c-text-1, #333);\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] ul {\n margin: 12px 0;\n padding-left: 24px;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] li {\n margin-bottom: 6px;\n line-height: 1.6;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] table {\n width: 100%;\n border-collapse: collapse;\n margin: 16px 0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] th {\n border: 1px solid #d0d0d0;\n padding: 12px;\n text-align: left;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] th {\n background-color: var(--c-bg-card, #f5f5f5);\n font-weight: bold;\n}","/* unplugin-vue-components disabled */.file-container[data-v-b6c3e1b9] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.file-container .file-toolbar[data-v-b6c3e1b9] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 8;\n position: relative;\n}\n.excel-container[data-v-b6c3e1b9] {\n overflow: visible;\n}\n.excel-container .excel-viewer[data-v-b6c3e1b9] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: visible;\n}\n.excel-container .excel-viewer .excel-info[data-v-b6c3e1b9] {\n padding: 8px 16px;\n background-color: var(--c-bg-card, #f9f9f9);\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n flex-shrink: 0;\n z-index: 7;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container[data-v-b6c3e1b9] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: visible;\n min-height: 0;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper[data-v-b6c3e1b9] {\n flex: 1;\n overflow: auto;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table[data-v-b6c3e1b9] {\n font-size: 12px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-header[data-v-b6c3e1b9] {\n padding: 6px 8px;\n background: #f8f9fa;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-header .header-content .column-letter[data-v-b6c3e1b9] {\n display: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-header .header-content .column-title[data-v-b6c3e1b9] {\n font-size: 11px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-row[data-v-b6c3e1b9]:nth-child(even) {\n background-color: #fefefe;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-cell[data-v-b6c3e1b9] {\n padding: 4px 8px;\n font-size: 12px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9] {\n border: 1px solid #1976d2 !important;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9]::after {\n display: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table[data-v-b6c3e1b9] {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-size: 13px;\n min-width: 100%;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .row-number[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f0f0f0 0%, #e8e8e8 100%);\n text-align: center;\n min-width: 30px;\n width: 30px;\n padding: 2px 4px;\n font-size: 11px;\n font-weight: bold;\n border: 1px solid #d0d0d0;\n color: #666;\n position: sticky;\n left: 0;\n z-index: 10;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);\n padding: 8px 12px;\n border: 1px solid #c0c0c0;\n font-weight: bold;\n position: sticky;\n top: 0;\n z-index: 5;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header .header-content[data-v-b6c3e1b9] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header .header-content .column-letter[data-v-b6c3e1b9] {\n background-color: var(--c-primary, #1976d2);\n color: white;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 10px;\n font-weight: normal;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header .header-content .column-title[data-v-b6c3e1b9] {\n font-size: 12px;\n font-weight: bold;\n text-align: center;\n word-break: break-all;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-row[data-v-b6c3e1b9]:nth-child(even) {\n background-color: #fafafa;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-row[data-v-b6c3e1b9]:hover {\n background-color: #e6f3ff;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell[data-v-b6c3e1b9] {\n padding: 8px 12px;\n border: 1px solid #d0d0d0;\n vertical-align: middle;\n word-wrap: break-word;\n word-break: break-all;\n min-height: 24px;\n line-height: 1.4;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-number[data-v-b6c3e1b9] {\n text-align: right;\n font-family: \"Courier New\", monospace;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-gantt[data-v-b6c3e1b9] {\n text-align: center;\n font-family: monospace;\n font-size: 14px;\n font-weight: bold;\n background-color: #f0f0f0;\n color: var(--c-text-1, #333);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-date[data-v-b6c3e1b9] {\n color: var(--c-primary, #1976d2);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-boolean[data-v-b6c3e1b9] {\n text-align: center;\n font-weight: bold;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-long[data-v-b6c3e1b9] {\n max-width: 200px;\n white-space: pre-wrap;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-empty[data-v-b6c3e1b9] {\n background-color: #fafafa;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f0f8ff 0%, #e3f2fd 100%) !important;\n border: 2px solid var(--c-primary, #1976d2) !important;\n font-weight: bold;\n text-align: center;\n color: var(--c-primary, #1976d2);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9]::before {\n content: \"\";\n position: absolute;\n top: 3px;\n left: 3px;\n right: 3px;\n bottom: 3px;\n background: rgba(25, 118, 210, 0.08);\n border-radius: 2px;\n pointer-events: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9]::after {\n content: \"📎\";\n position: absolute;\n top: 2px;\n right: 4px;\n font-size: 10px;\n opacity: 0.6;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell[data-v-b6c3e1b9] {\n padding: 4px 8px;\n font-size: 12px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell.merged-cell[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f0f8ff 0%, #e3f2fd 100%) !important;\n border: 1px solid var(--c-primary, #1976d2) !important;\n font-weight: bold;\n text-align: center;\n color: var(--c-primary, #1976d2);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell.merged-cell[data-v-b6c3e1b9]::before {\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n background: rgba(25, 118, 210, 0.05);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell.merged-cell[data-v-b6c3e1b9]::after {\n display: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-empty[data-v-b6c3e1b9] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 200px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] {\n padding: 20px 16px;\n border-top: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n display: flex;\n justify-content: center;\n flex-shrink: 0;\n z-index: 1000;\n position: relative;\n overflow: visible;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination {\n z-index: 1001;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination-size-picker {\n z-index: 1002;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination-size-picker .n-base-selection {\n z-index: 1003;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination-size-picker .n-base-selection-popover {\n z-index: 1004 !important;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-popover {\n z-index: 1005 !important;\n}","/* unplugin-vue-components disabled */.c-file-preview-wrapper[data-v-8042014e] {\n width: 100%;\n}\n.c-file-preview-wrapper .file-info-card .file-info[data-v-8042014e] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px;\n border: 1px solid var(--c-border, #e0e0e0);\n border-radius: 12px;\n background: var(--c-bg-card, white);\n transition: var(--c-transition, 0.2s ease);\n cursor: pointer;\n}\n.c-file-preview-wrapper .file-info-card .file-info[data-v-8042014e]:hover {\n border-color: var(--c-primary, #40a9ff);\n box-shadow: 0 4px 12px rgba(64, 169, 255, 0.15);\n transform: translateY(-1px);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-icon[data-v-8042014e] {\n flex-shrink: 0;\n width: 56px;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-radius: 12px;\n border: 1px solid #dee2e6;\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details[data-v-8042014e] {\n flex: 1;\n min-width: 0;\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details .file-name[data-v-8042014e] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 6px;\n font-weight: 600;\n font-size: 16px;\n color: var(--c-text-1, #1f2937);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details .file-meta[data-v-8042014e] {\n display: flex;\n gap: 16px;\n font-size: 13px;\n color: var(--c-text-2, #6b7280);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details .file-meta .file-size[data-v-8042014e] {\n font-weight: 500;\n color: var(--c-text-1, #374151);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-actions[data-v-8042014e] {\n flex-shrink: 0;\n display: flex;\n gap: 8px;\n}\n.modal-container[data-v-8042014e] {\n background: var(--c-bg-card, white);\n border-radius: 8px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n.modal-container .modal-header[data-v-8042014e] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n background: var(--c-bg, #fafafa);\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n flex-shrink: 0;\n z-index: 10;\n position: relative;\n}\n.modal-container .modal-header .modal-title[data-v-8042014e] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n font-size: 16px;\n color: var(--c-text-1, #333);\n}\n.modal-container .modal-header .modal-title span[data-v-8042014e] {\n max-width: 400px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.modal-container .modal-header .modal-actions[data-v-8042014e] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.modal-container .modal-content[data-v-8042014e] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: visible;\n min-height: 0;\n}\n.modal-container .preview-header[data-v-8042014e] {\n padding: 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 9;\n position: relative;\n}\n.modal-container .preview-content[data-v-8042014e] {\n flex: 1;\n overflow: auto;\n min-height: 0;\n position: relative;\n}\n.modal-container .preview-content .status-container[data-v-8042014e] {\n height: 300px;\n display: flex;\n align-items: center;\n justify-content: center;\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"C_FilePreview-DHGlV4OR.css","names":[],"sources":["../src/components/C_FilePreview/components/PdfViewer/index.vue?vue&type=style&index=0&scoped=e96499e0&lang.scss","../src/components/C_FilePreview/components/WordViewer/index.vue?vue&type=style&index=0&scoped=42ca58ad&lang.scss","../src/components/C_FilePreview/components/ExcelViewer/index.vue?vue&type=style&index=0&scoped=b6c3e1b9&lang.scss","../src/components/C_FilePreview/index.vue?vue&type=style&index=0&scoped=1037e17e&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.file-container[data-v-e96499e0] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.file-container .file-toolbar[data-v-e96499e0] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 8;\n position: relative;\n}\n.file-container .file-viewer[data-v-e96499e0] {\n flex: 1;\n min-height: 300px;\n}","/* unplugin-vue-components disabled */.file-container[data-v-42ca58ad] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.file-container .file-toolbar[data-v-42ca58ad] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 8;\n position: relative;\n}\n.word-layout[data-v-42ca58ad] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.word-layout .word-main[data-v-42ca58ad] {\n flex: 1;\n display: flex;\n overflow: hidden;\n}\n.word-layout .word-main .word-outline[data-v-42ca58ad] {\n width: 280px;\n border-right: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n}\n.word-layout .word-main .word-outline .outline-header[data-v-42ca58ad] {\n padding: 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n}\n.word-layout .word-main .word-outline .outline-content[data-v-42ca58ad] {\n padding: 8px;\n overflow-y: auto;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item[data-v-42ca58ad] {\n padding: 8px 12px;\n cursor: pointer;\n border-radius: 4px;\n font-size: 14px;\n color: var(--c-text-1, #333);\n}\n.word-layout .word-main .word-outline .outline-content .outline-item[data-v-42ca58ad]:hover {\n background-color: #e6f3ff;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-1[data-v-42ca58ad] {\n padding-left: 12px;\n font-weight: 600;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-2[data-v-42ca58ad] {\n padding-left: 24px;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-3[data-v-42ca58ad], .word-layout .word-main .word-outline .outline-content .outline-item.level-4[data-v-42ca58ad] {\n padding-left: 36px;\n font-size: 13px;\n}\n.word-layout .word-main .word-outline .outline-content .outline-item.level-4[data-v-42ca58ad] {\n padding-left: 48px;\n}\n.word-layout .word-main .word-content[data-v-42ca58ad] {\n flex: 1;\n padding: 24px;\n overflow: auto;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] {\n max-width: 800px;\n margin: 0 auto;\n background: var(--c-bg-card, white);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n padding: 40px;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h1 {\n margin: 24px 0 16px 0;\n font-weight: bold;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h1 {\n font-size: 1.8rem;\n color: var(--c-text-1, #333);\n border-bottom: 2px solid var(--c-border, #e0e0e0);\n padding-bottom: 8px;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h2 {\n font-size: 1.5rem;\n color: var(--c-text-1, #444);\n margin: 20px 0 12px 0;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] h3 {\n font-size: 1.25rem;\n color: var(--c-text-2, #555);\n margin: 16px 0 8px 0;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] p {\n margin-bottom: 12px;\n line-height: 1.8;\n color: var(--c-text-1, #333);\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] ul {\n margin: 12px 0;\n padding-left: 24px;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] li {\n margin-bottom: 6px;\n line-height: 1.6;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] table {\n width: 100%;\n border-collapse: collapse;\n margin: 16px 0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] th {\n border: 1px solid #d0d0d0;\n padding: 12px;\n text-align: left;\n}\n.word-layout .word-main .word-content .word-document[data-v-42ca58ad] th {\n background-color: var(--c-bg-card, #f5f5f5);\n font-weight: bold;\n}","/* unplugin-vue-components disabled */.file-container[data-v-b6c3e1b9] {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n.file-container .file-toolbar[data-v-b6c3e1b9] {\n padding: 12px 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 8;\n position: relative;\n}\n.excel-container[data-v-b6c3e1b9] {\n overflow: visible;\n}\n.excel-container .excel-viewer[data-v-b6c3e1b9] {\n display: flex;\n flex-direction: column;\n height: 100%;\n overflow: visible;\n}\n.excel-container .excel-viewer .excel-info[data-v-b6c3e1b9] {\n padding: 8px 16px;\n background-color: var(--c-bg-card, #f9f9f9);\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n flex-shrink: 0;\n z-index: 7;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container[data-v-b6c3e1b9] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: visible;\n min-height: 0;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper[data-v-b6c3e1b9] {\n flex: 1;\n overflow: auto;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n border-radius: 4px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table[data-v-b6c3e1b9] {\n font-size: 12px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-header[data-v-b6c3e1b9] {\n padding: 6px 8px;\n background: #f8f9fa;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-header .header-content .column-letter[data-v-b6c3e1b9] {\n display: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-header .header-content .column-title[data-v-b6c3e1b9] {\n font-size: 11px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-row[data-v-b6c3e1b9]:nth-child(even) {\n background-color: #fefefe;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-cell[data-v-b6c3e1b9] {\n padding: 4px 8px;\n font-size: 12px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9] {\n border: 1px solid #1976d2 !important;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table-wrapper.simple-mode .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9]::after {\n display: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table[data-v-b6c3e1b9] {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n font-size: 13px;\n min-width: 100%;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .row-number[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f0f0f0 0%, #e8e8e8 100%);\n text-align: center;\n min-width: 30px;\n width: 30px;\n padding: 2px 4px;\n font-size: 11px;\n font-weight: bold;\n border: 1px solid #d0d0d0;\n color: #666;\n position: sticky;\n left: 0;\n z-index: 10;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);\n padding: 8px 12px;\n border: 1px solid #c0c0c0;\n font-weight: bold;\n position: sticky;\n top: 0;\n z-index: 5;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header .header-content[data-v-b6c3e1b9] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header .header-content .column-letter[data-v-b6c3e1b9] {\n background-color: var(--c-primary, #1976d2);\n color: white;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 10px;\n font-weight: normal;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-header .header-content .column-title[data-v-b6c3e1b9] {\n font-size: 12px;\n font-weight: bold;\n text-align: center;\n word-break: break-all;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-row[data-v-b6c3e1b9]:nth-child(even) {\n background-color: #fafafa;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-row[data-v-b6c3e1b9]:hover {\n background-color: #e6f3ff;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell[data-v-b6c3e1b9] {\n padding: 8px 12px;\n border: 1px solid #d0d0d0;\n vertical-align: middle;\n word-wrap: break-word;\n word-break: break-all;\n min-height: 24px;\n line-height: 1.4;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-number[data-v-b6c3e1b9] {\n text-align: right;\n font-family: \"Courier New\", monospace;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-gantt[data-v-b6c3e1b9] {\n text-align: center;\n font-family: monospace;\n font-size: 14px;\n font-weight: bold;\n background-color: #f0f0f0;\n color: var(--c-text-1, #333);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-date[data-v-b6c3e1b9] {\n color: var(--c-primary, #1976d2);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-boolean[data-v-b6c3e1b9] {\n text-align: center;\n font-weight: bold;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-long[data-v-b6c3e1b9] {\n max-width: 200px;\n white-space: pre-wrap;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.cell-empty[data-v-b6c3e1b9] {\n background-color: #fafafa;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f0f8ff 0%, #e3f2fd 100%) !important;\n border: 2px solid var(--c-primary, #1976d2) !important;\n font-weight: bold;\n text-align: center;\n color: var(--c-primary, #1976d2);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9]::before {\n content: \"\";\n position: absolute;\n top: 3px;\n left: 3px;\n right: 3px;\n bottom: 3px;\n background: rgba(25, 118, 210, 0.08);\n border-radius: 2px;\n pointer-events: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.merged-cell[data-v-b6c3e1b9]::after {\n content: \"📎\";\n position: absolute;\n top: 2px;\n right: 4px;\n font-size: 10px;\n opacity: 0.6;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell[data-v-b6c3e1b9] {\n padding: 4px 8px;\n font-size: 12px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell.merged-cell[data-v-b6c3e1b9] {\n background: linear-gradient(135deg, #f0f8ff 0%, #e3f2fd 100%) !important;\n border: 1px solid var(--c-primary, #1976d2) !important;\n font-weight: bold;\n text-align: center;\n color: var(--c-primary, #1976d2);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell.merged-cell[data-v-b6c3e1b9]::before {\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n background: rgba(25, 118, 210, 0.05);\n}\n.excel-container .excel-viewer .excel-table-container .excel-table .excel-cell.compact-cell.merged-cell[data-v-b6c3e1b9]::after {\n display: none;\n}\n.excel-container .excel-viewer .excel-table-container .excel-empty[data-v-b6c3e1b9] {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 200px;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] {\n padding: 20px 16px;\n border-top: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n display: flex;\n justify-content: center;\n flex-shrink: 0;\n z-index: 1000;\n position: relative;\n overflow: visible;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination {\n z-index: 1001;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination-size-picker {\n z-index: 1002;\n position: relative;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination-size-picker .n-base-selection {\n z-index: 1003;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-pagination-size-picker .n-base-selection-popover {\n z-index: 1004 !important;\n}\n.excel-container .excel-viewer .excel-table-container .excel-pagination[data-v-b6c3e1b9] .n-popover {\n z-index: 1005 !important;\n}","/* unplugin-vue-components disabled */.c-file-preview-wrapper[data-v-1037e17e] {\n width: 100%;\n}\n.c-file-preview-wrapper .file-info-card .file-info[data-v-1037e17e] {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px;\n border: 1px solid var(--c-border, #e0e0e0);\n border-radius: 12px;\n background: var(--c-bg-card, white);\n transition: var(--c-transition, 0.2s ease);\n cursor: pointer;\n}\n.c-file-preview-wrapper .file-info-card .file-info[data-v-1037e17e]:hover {\n border-color: var(--c-primary, #40a9ff);\n box-shadow: 0 4px 12px rgba(64, 169, 255, 0.15);\n transform: translateY(-1px);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-icon[data-v-1037e17e] {\n flex-shrink: 0;\n width: 56px;\n height: 56px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-radius: 12px;\n border: 1px solid #dee2e6;\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details[data-v-1037e17e] {\n flex: 1;\n min-width: 0;\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details .file-name[data-v-1037e17e] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 6px;\n font-weight: 600;\n font-size: 16px;\n color: var(--c-text-1, #1f2937);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details .file-meta[data-v-1037e17e] {\n display: flex;\n gap: 16px;\n font-size: 13px;\n color: var(--c-text-2, #6b7280);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-details .file-meta .file-size[data-v-1037e17e] {\n font-weight: 500;\n color: var(--c-text-1, #374151);\n}\n.c-file-preview-wrapper .file-info-card .file-info .file-actions[data-v-1037e17e] {\n flex-shrink: 0;\n display: flex;\n gap: 8px;\n}\n.modal-container[data-v-1037e17e] {\n background: var(--c-bg-card, white);\n border-radius: 8px;\n box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n.modal-container .modal-header[data-v-1037e17e] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 16px 20px;\n background: var(--c-bg, #fafafa);\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n flex-shrink: 0;\n z-index: 10;\n position: relative;\n}\n.modal-container .modal-header .modal-title[data-v-1037e17e] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n font-size: 16px;\n color: var(--c-text-1, #333);\n}\n.modal-container .modal-header .modal-title span[data-v-1037e17e] {\n max-width: 400px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.modal-container .modal-header .modal-actions[data-v-1037e17e] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.modal-container .modal-content[data-v-1037e17e] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: visible;\n min-height: 0;\n}\n.modal-container .preview-header[data-v-1037e17e] {\n padding: 16px;\n border-bottom: 1px solid var(--c-border, #e0e0e0);\n background-color: var(--c-bg-card, #f9f9f9);\n flex-shrink: 0;\n z-index: 9;\n position: relative;\n}\n.modal-container .preview-content[data-v-1037e17e] {\n flex: 1;\n overflow: auto;\n min-height: 0;\n position: relative;\n}\n.modal-container .preview-content .status-container[data-v-1037e17e] {\n height: 300px;\n display: flex;\n align-items: center;\n justify-content: center;\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1,7 +1 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- require('./C_Icon.js');
3
- const require_C_FilePreview = require('./C_FilePreview.js');
4
-
5
- exports.C_FilePreview = require_C_FilePreview.C_FilePreview_default;
6
- exports.useFilePreview = require_C_FilePreview.useFilePreview;
7
- exports.useFullscreen = require_C_FilePreview.useFullscreen;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon.js`);const e=require(`./C_FilePreview.js`);exports.C_FilePreview=e.t,exports.useFilePreview=e.r,exports.useFullscreen=e.n;
@@ -1,4 +1 @@
1
- import "./C_Icon2.js";
2
- import { n as useFullscreen, r as useFilePreview, t as C_FilePreview_default } from "./C_FilePreview2.js";
3
-
4
- export { C_FilePreview_default as C_FilePreview, useFilePreview, useFullscreen };
1
+ import"./C_Icon2.js";import{n as e,r as t,t as n}from"./C_FilePreview2.js";export{n as C_FilePreview,t as useFilePreview,e as useFullscreen};