@antdv-next/x 1.0.2 → 1.1.1

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 (134) hide show
  1. package/dist/attachments/index.js +2 -1
  2. package/dist/folder/DirectoryTree.d.ts +124 -0
  3. package/dist/folder/DirectoryTree.js +128 -0
  4. package/dist/folder/FilePreview.d.ts +125 -0
  5. package/dist/folder/FilePreview.js +170 -0
  6. package/dist/folder/Folder.d.ts +209 -0
  7. package/dist/folder/Folder.js +337 -0
  8. package/dist/folder/index.d.ts +3 -0
  9. package/dist/folder/index.js +5 -0
  10. package/dist/folder/interface.d.ts +78 -0
  11. package/dist/folder/interface.js +0 -0
  12. package/dist/folder/style/folder.d.ts +7 -0
  13. package/dist/folder/style/folder.js +89 -0
  14. package/dist/folder/style/index.d.ts +11 -0
  15. package/dist/folder/style/index.js +11 -0
  16. package/dist/index.d.ts +3 -1
  17. package/dist/index.js +3 -1
  18. package/dist/index.umd.js +755 -35
  19. package/dist/package.js +1 -1
  20. package/dist/sender/Sender.d.ts +4 -2
  21. package/dist/sender/Sender.js +5 -2
  22. package/dist/sources/Sources.d.ts +2 -1
  23. package/dist/sources/Sources.js +2 -1
  24. package/dist/suggestion/Suggestion.d.ts +2 -1
  25. package/dist/suggestion/Suggestion.js +6 -1
  26. package/dist/theme/interface/components.d.ts +2 -3
  27. package/dist/x-provider/context.d.ts +2 -0
  28. package/dist/x-provider/hooks/use-x-provider-context.d.ts +2 -2
  29. package/es/{Serializer-y_SfSPKv.js → Serializer-D1JYN1kI.js} +4 -4
  30. package/es/{_basePickBy-Cy7KVmkk.js → _basePickBy-DFHEGO2M.js} +23 -23
  31. package/es/{_baseUniq-Ch3HuHeT.js → _baseUniq-BlS7rXTs.js} +83 -83
  32. package/es/antdv-next-x.esm.js +10909 -7977
  33. package/es/{arc-caEkbRYF.js → arc-BuXEd18J.js} +3 -3
  34. package/es/architecture-PBZL5I3N-D7tS55xM.js +3 -0
  35. package/es/{architectureDiagram-2XIMDMQ5-B4BHdsAL.js → architectureDiagram-2XIMDMQ5-CmfsCwJk.js} +9 -9
  36. package/es/{blockDiagram-WCTKOSBZ-nXanZ0sc.js → blockDiagram-WCTKOSBZ-lJAan65A.js} +12 -12
  37. package/es/{c4Diagram-IC4MRINW-C-gVp6th.js → c4Diagram-IC4MRINW-B1c2x_1Q.js} +6 -6
  38. package/es/channel-DFgF_2F7.js +5 -0
  39. package/es/{chunk-4BX2VUAB-fLFD6XW0.js → chunk-4BX2VUAB-J2N81Fpp.js} +2 -2
  40. package/es/{chunk-55IACEB6-OtyKJzCH.js → chunk-55IACEB6-DGtfGRgi.js} +2 -2
  41. package/es/{chunk-7E7YKBS2-C1dd36rm.js → chunk-7E7YKBS2-CL2d4WAf.js} +2 -2
  42. package/es/{chunk-7R4GIKGN-DuTRhdsf.js → chunk-7R4GIKGN-QT6IorJ_.js} +3 -3
  43. package/es/{chunk-C72U2L5F-ClmZGhFC.js → chunk-C72U2L5F-OHTVpS-m.js} +2 -2
  44. package/es/{chunk-EGIJ26TM-Bar_u1MN.js → chunk-EGIJ26TM-DyMPGYrB.js} +2 -2
  45. package/es/{chunk-FMBD7UC4-C_uJ_JJA.js → chunk-FMBD7UC4-DCcRjunY.js} +2 -2
  46. package/es/{chunk-GEFDOKGD-P7WhyrTU.js → chunk-GEFDOKGD-BWpC-zoH.js} +30 -30
  47. package/es/{chunk-GLR3WWYH-BvazRgdo.js → chunk-GLR3WWYH-DiXcKb5Y.js} +8 -8
  48. package/es/{chunk-HHEYEP7N-rv5s5WD4.js → chunk-HHEYEP7N-Cxc7E4dX.js} +3 -3
  49. package/es/{chunk-JSJVCQXG-89HUGe9V.js → chunk-JSJVCQXG-D8_heHOp.js} +4 -4
  50. package/es/{chunk-KX2RTZJC-pMHnNRQg.js → chunk-KX2RTZJC-D5cc4rj6.js} +3 -3
  51. package/es/{chunk-KYZI473N-DJmSs1gK.js → chunk-KYZI473N-BHJ3T5Zv.js} +8 -8
  52. package/es/{chunk-L3YUKLVL-Ck54qytQ.js → chunk-L3YUKLVL-7oGaUOdc.js} +2 -2
  53. package/es/{chunk-MX3YWQON-MkpK3uBD.js → chunk-MX3YWQON-BxE-Aq9c.js} +2 -2
  54. package/es/{chunk-NQ4KR5QH-DGshodQv.js → chunk-NQ4KR5QH-EYQBXkqP.js} +7 -7
  55. package/es/{chunk-O4XLMI2P-e-ZzDQwg.js → chunk-O4XLMI2P-qjOoGpnx.js} +11 -11
  56. package/es/{chunk-OZEHJAEY-DULNd43V.js → chunk-OZEHJAEY-D82nx27s.js} +2 -2
  57. package/es/{chunk-PQ6SQG4A-CQ9Csv7s.js → chunk-PQ6SQG4A-D3jtNCWN.js} +3 -3
  58. package/es/{chunk-PU5JKC2W-DkEFvrjH.js → chunk-PU5JKC2W-DdP8BS-S.js} +16 -16
  59. package/es/{chunk-QZHKN3VN-qww1plfw.js → chunk-QZHKN3VN-CW3cFN-h.js} +2 -2
  60. package/es/{chunk-R5LLSJPH-BERXSDGJ.js → chunk-R5LLSJPH-CreI2kO9.js} +2 -2
  61. package/es/{chunk-WL4C6EOR-C-d8WPS7.js → chunk-WL4C6EOR-BDbxJyGk.js} +9 -9
  62. package/es/{chunk-XIRO2GV7-CFHofxVB.js → chunk-XIRO2GV7-S5KkbVnN.js} +2 -2
  63. package/es/{chunk-XPW4576I-DgvoNZkW.js → chunk-XPW4576I-B0KVSHwE.js} +2 -2
  64. package/es/{chunk-XZSTWKYB-k8_EXrSa.js → chunk-XZSTWKYB-CucN1XvM.js} +93 -93
  65. package/es/{chunk-YBOYWFTD-BUW4AzEX.js → chunk-YBOYWFTD-CvaddD9G.js} +4 -4
  66. package/es/classDiagram-VBA2DB6C-Co3LMmg8.js +29 -0
  67. package/es/classDiagram-v2-RAHNMMFH-BZscgdF2.js +29 -0
  68. package/es/clone-r3YukIBB.js +8 -0
  69. package/es/{cose-bilkent-S5V4N54A-CnrS2OC1.js → cose-bilkent-S5V4N54A-B5OQuIhl.js} +3 -3
  70. package/es/{cytoscape.esm-BY3wHcbp.js → cytoscape.esm-i2CZcWd-.js} +1 -1
  71. package/es/{dagre-BJOzGlhW.js → dagre-5aGJFKmT.js} +57 -57
  72. package/es/{dagre-KLK3FWXG-CFC0naVr.js → dagre-KLK3FWXG-BI5QQMXo.js} +16 -16
  73. package/es/{defaultLocale-BaPFSbai.js → defaultLocale-bckJcYh1.js} +12 -12
  74. package/es/{diagram-E7M64L7V-DxuJj8ZG.js → diagram-E7M64L7V-Dz62Vz_a.js} +32 -32
  75. package/es/{diagram-IFDJBPK2-BOpPZ6pu.js → diagram-IFDJBPK2-9fjvFkSc.js} +7 -7
  76. package/es/{diagram-P4PSJMXO--ChDmcya.js → diagram-P4PSJMXO-BlX6jFjZ.js} +7 -7
  77. package/es/{dist-DltyvPj3.js → dist-BX_roQzC.js} +1 -1
  78. package/es/{erDiagram-INFDFZHY-BA3m-v87.js → erDiagram-INFDFZHY-BcRXu8Cp.js} +14 -14
  79. package/es/{flowDiagram-PKNHOUZH-BCq6k3kr.js → flowDiagram-PKNHOUZH-UeyfgU8z.js} +17 -17
  80. package/es/{ganttDiagram-A5KZAMGK-DdMePS21.js → ganttDiagram-A5KZAMGK-txCzqgQ5.js} +28 -28
  81. package/es/gitGraph-HDMCJU4V-CxsS0Qr1.js +3 -0
  82. package/es/{gitGraphDiagram-K3NZZRJ6-CLbRwChG.js → gitGraphDiagram-K3NZZRJ6-DghWYaFU.js} +7 -7
  83. package/es/{graphlib-C7ysKz4u.js → graphlib-dRkI1OCL.js} +4 -4
  84. package/es/{html-C2-_98S6.js → html-B6UxjOv0.js} +1 -1
  85. package/es/html-Hb1oe8XT.js +2 -0
  86. package/es/info-3K5VOQVL-COqdvM99.js +3 -0
  87. package/es/{infoDiagram-LFFYTUFH-DQAZ-vFk.js → infoDiagram-LFFYTUFH-CA-vlAvP.js} +5 -5
  88. package/es/{init-PAs0hR-b.js → init-B75p2clj.js} +1 -1
  89. package/es/{isArrayLikeObject-y3HlYDaX.js → isArrayLikeObject-jl2bjkAJ.js} +80 -80
  90. package/es/{isEmpty-2JxdWtc-.js → isEmpty-CmA-HYrg.js} +3 -3
  91. package/es/{ishikawaDiagram-PHBUUO56-B0r2IgGz.js → ishikawaDiagram-PHBUUO56-DjdpS9Lb.js} +6 -6
  92. package/es/{journeyDiagram-4ABVD52K-DnMUhOvg.js → journeyDiagram-4ABVD52K-CIJfC1fp.js} +6 -6
  93. package/es/{kanban-definition-K7BYSVSG-Da5Y-nJy.js → kanban-definition-K7BYSVSG-CC2vwGck.js} +11 -11
  94. package/es/{katex-b-xdokOf.js → katex-DCMiIo1z.js} +1 -1
  95. package/es/{line-h2iCTGsE.js → line-Cu9NTacD.js} +4 -4
  96. package/es/{linear-Bv7XrZCH.js → linear-C0rAYYmp.js} +23 -23
  97. package/es/{math-DPzKeDKn.js → math-CoDOuve-.js} +1 -1
  98. package/es/{mermaid-parser.core-kTgpNO7M.js → mermaid-parser.core-7Wn2L29P.js} +16 -16
  99. package/es/{mermaid.core-Db1VE3-f.js → mermaid.core-Bvy_Q6Hu.js} +44 -44
  100. package/es/{mindmap-definition-YRQLILUH-CYeqnCde.js → mindmap-definition-YRQLILUH-BzTYDYmK.js} +16 -16
  101. package/es/{ordinal-D8PKtxfM.js → ordinal-F3U6aXtP.js} +3 -3
  102. package/es/packet-RMMSAZCW-2PTjWKLd.js +3 -0
  103. package/es/{path-DZ-6AyWK.js → path-Dm3C8WEs.js} +3 -3
  104. package/es/pie-UPGHQEXC-Du8-k-EA.js +3 -0
  105. package/es/{pieDiagram-SKSYHLDU-DAsfTGvY.js → pieDiagram-SKSYHLDU-COvqE_C6.js} +14 -14
  106. package/es/{quadrantDiagram-337W2JSQ-CZLbmQS4.js → quadrantDiagram-337W2JSQ-Dgv8ccjt.js} +4 -4
  107. package/es/radar-KQ55EAFF-jJOhyjxC.js +3 -0
  108. package/es/{requirementDiagram-Z7DCOOCP-Cb_Ygnfe.js → requirementDiagram-Z7DCOOCP-B2NyhxO-.js} +13 -13
  109. package/es/{rough.esm-C_hJ3ICT.js → rough.esm-BhGP2Udb.js} +1 -1
  110. package/es/{sankeyDiagram-WA2Y5GQK-DBe5YfW4.js → sankeyDiagram-WA2Y5GQK-BfnH_gpl.js} +18 -18
  111. package/es/{sequenceDiagram-2WXFIKYE-C_KUoojT.js → sequenceDiagram-2WXFIKYE-DXssVQOF.js} +8 -8
  112. package/es/{src-BukXhifV.js → src-CUQ6oOYk.js} +86 -86
  113. package/es/{stateDiagram-RAJIS63D-boG6DyfW.js → stateDiagram-RAJIS63D-DvDLfupV.js} +17 -17
  114. package/es/stateDiagram-v2-FVOUBMTO-DIXyaX9W.js +27 -0
  115. package/es/{timeline-definition-YZTLITO2-pFt6rZ6S.js → timeline-definition-YZTLITO2-ErcRjbZf.js} +4 -4
  116. package/es/treemap-KZPCXAKY-CvZAIYVa.js +3 -0
  117. package/es/{vennDiagram-LZ73GAT5-VaCO6k4H.js → vennDiagram-LZ73GAT5-CDTZUtc8.js} +7 -7
  118. package/es/{vue-DTiWrQBM.js → vue-2aJw7p5p.js} +2 -2
  119. package/es/{vue-html-BG3Xflut.js → vue-html-DEjI8X9t.js} +1 -1
  120. package/es/{xychartDiagram-JWTSCODW-xS5ybemA.js → xychartDiagram-JWTSCODW-Y21jBOTg.js} +12 -12
  121. package/package.json +1 -1
  122. package/es/architecture-PBZL5I3N-DHfBr78A.js +0 -3
  123. package/es/channel-DoEe9DF9.js +0 -5
  124. package/es/classDiagram-VBA2DB6C-DWTAs0Zm.js +0 -29
  125. package/es/classDiagram-v2-RAHNMMFH-CoxCdmrt.js +0 -29
  126. package/es/clone-BXDbKCDu.js +0 -8
  127. package/es/gitGraph-HDMCJU4V-DbzpICZW.js +0 -3
  128. package/es/html-JbFqcNgP.js +0 -2
  129. package/es/info-3K5VOQVL-CpUiQuel.js +0 -3
  130. package/es/packet-RMMSAZCW-UTFQ0FQx.js +0 -3
  131. package/es/pie-UPGHQEXC-CarAcBSi.js +0 -3
  132. package/es/radar-KQ55EAFF-NXK5PC9R.js +0 -3
  133. package/es/stateDiagram-v2-FVOUBMTO-DHCajhrN.js +0 -27
  134. package/es/treemap-KZPCXAKY-Cj9QakFB.js +0 -3
package/dist/index.umd.js CHANGED
@@ -48,7 +48,7 @@
48
48
  shiki_dist_themes_vitesse_dark_mjs = __toESM(shiki_dist_themes_vitesse_dark_mjs);
49
49
  shiki_dist_themes_vitesse_light_mjs = __toESM(shiki_dist_themes_vitesse_light_mjs);
50
50
  //#region package.json
51
- var version = "1.0.2";
51
+ var version = "1.1.1";
52
52
  //#endregion
53
53
  //#region components/x-provider/context.ts
54
54
  var XProviderContextKey = Symbol("antdv-next-x-provider-context");
@@ -527,8 +527,8 @@
527
527
  }
528
528
  } };
529
529
  };
530
- var prepareComponentToken$13 = () => ({});
531
- var style_default$13 = genStyleHooks("Actions", (token) => {
530
+ var prepareComponentToken$14 = () => ({});
531
+ var style_default$14 = genStyleHooks("Actions", (token) => {
532
532
  const compToken = (0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {});
533
533
  return [
534
534
  genActionsStyle(compToken),
@@ -538,7 +538,7 @@
538
538
  initFadeLeftMotion(compToken),
539
539
  initFadeMotion(compToken)
540
540
  ];
541
- }, prepareComponentToken$13);
541
+ }, prepareComponentToken$14);
542
542
  //#endregion
543
543
  //#region components/actions/Actions.tsx
544
544
  function _isSlot$7(s) {
@@ -623,7 +623,7 @@
623
623
  const slots = (0, vue.useSlots)();
624
624
  const contextConfig = useXComponentConfig("actions");
625
625
  const rootRef = (0, vue.ref)();
626
- const [hashId, cssVarCls] = style_default$13((0, vue.computed)(() => props.prefixCls));
626
+ const [hashId, cssVarCls] = style_default$14((0, vue.computed)(() => props.prefixCls));
627
627
  const rootPrefixCls = (0, vue.computed)(() => configCtx.value.getPrefixCls());
628
628
  const motionName = (0, vue.computed)(() => {
629
629
  if (!props.fadeIn && !props.fadeInLeft) return "";
@@ -782,7 +782,7 @@
782
782
  setup(props) {
783
783
  const attrs = (0, vue.useAttrs)();
784
784
  const slots = (0, vue.useSlots)();
785
- const [hashId, cssVarCls] = style_default$13((0, vue.computed)(() => props.prefixCls));
785
+ const [hashId, cssVarCls] = style_default$14((0, vue.computed)(() => props.prefixCls));
786
786
  const itemCls = `${props.prefixCls}-button-item`;
787
787
  const domAttrs = (0, vue.computed)(() => {
788
788
  const { class: _class, style: _style, ...rest } = attrs;
@@ -952,7 +952,7 @@
952
952
  setup(props) {
953
953
  const attrs = (0, vue.useAttrs)();
954
954
  const slots = (0, vue.useSlots)();
955
- const [hashId, cssVarCls] = style_default$13((0, vue.computed)(() => props.prefixCls));
955
+ const [hashId, cssVarCls] = style_default$14((0, vue.computed)(() => props.prefixCls));
956
956
  const copyCls = `${props.prefixCls}-copy`;
957
957
  const domAttrs = (0, vue.computed)(() => {
958
958
  const { class: _class, style: _style, ...rest } = attrs;
@@ -1050,7 +1050,7 @@
1050
1050
  },
1051
1051
  setup(props) {
1052
1052
  const attrs = (0, vue.useAttrs)();
1053
- const [hashId, cssVarCls] = style_default$13((0, vue.computed)(() => props.prefixCls));
1053
+ const [hashId, cssVarCls] = style_default$14((0, vue.computed)(() => props.prefixCls));
1054
1054
  const feedbackCls = `${props.prefixCls}-feedback`;
1055
1055
  const domAttrs = (0, vue.computed)(() => {
1056
1056
  const { class: _class, style: _style, ...rest } = attrs;
@@ -1862,11 +1862,11 @@
1862
1862
  } }
1863
1863
  } };
1864
1864
  };
1865
- var prepareComponentToken$12 = () => ({});
1866
- var style_default$12 = genStyleHooks("FileCard", (token) => {
1865
+ var prepareComponentToken$13 = () => ({});
1866
+ var style_default$13 = genStyleHooks("FileCard", (token) => {
1867
1867
  const fileCardToken = (0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {});
1868
1868
  return [genFileCardStyle(fileCardToken), genFileCardListStyle(fileCardToken)];
1869
- }, prepareComponentToken$12);
1869
+ }, prepareComponentToken$13);
1870
1870
  //#endregion
1871
1871
  //#region components/file-card/FileCard.tsx
1872
1872
  var IMAGE_EXT = [
@@ -2098,7 +2098,7 @@
2098
2098
  const attrs = (0, vue.useAttrs)();
2099
2099
  const configCtx = (0, antdv_next_config_provider_context.useConfig)();
2100
2100
  const contextConfig = useXComponentConfig("fileCard");
2101
- const [hashId, cssVarCls] = style_default$12((0, vue.computed)(() => props.prefixCls));
2101
+ const [hashId, cssVarCls] = style_default$13((0, vue.computed)(() => props.prefixCls));
2102
2102
  const domAttrs = (0, vue.computed)(() => {
2103
2103
  const { class: _class, style: _style, ...rest } = attrs;
2104
2104
  return rest;
@@ -2288,7 +2288,7 @@
2288
2288
  },
2289
2289
  setup(props, { attrs, slots }) {
2290
2290
  const configCtx = (0, antdv_next_config_provider_context.useConfig)();
2291
- const [hashId, cssVarCls] = style_default$12((0, vue.computed)(() => props.prefixCls));
2291
+ const [hashId, cssVarCls] = style_default$13((0, vue.computed)(() => props.prefixCls));
2292
2292
  const compCls = (0, vue.computed)(() => `${props.prefixCls}-list`);
2293
2293
  const list = (0, vue.ref)([]);
2294
2294
  (0, vue.watch)(() => props.items, (items) => {
@@ -2941,13 +2941,13 @@
2941
2941
  }
2942
2942
  } } };
2943
2943
  };
2944
- var prepareComponentToken$11 = (token) => {
2944
+ var prepareComponentToken$12 = (token) => {
2945
2945
  return { colorBgPlaceholderHover: new _ant_design_fast_color.FastColor(token.colorBgContainer).setA(.85).toRgbString() };
2946
2946
  };
2947
- var style_default$11 = genStyleHooks("Attachments", (token) => {
2947
+ var style_default$12 = genStyleHooks("Attachments", (token) => {
2948
2948
  const compToken = (0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {});
2949
2949
  return [genAttachmentsStyle(compToken), genFileListStyle(compToken)];
2950
- }, prepareComponentToken$11);
2950
+ }, prepareComponentToken$12);
2951
2951
  //#endregion
2952
2952
  //#region components/attachments/index.tsx
2953
2953
  function _isSlot$4(s) {
@@ -3060,12 +3060,12 @@
3060
3060
  default: true
3061
3061
  }
3062
3062
  },
3063
- emits: ["change"],
3063
+ emits: ["update:items", "change"],
3064
3064
  setup(props, { attrs, emit, slots, expose }) {
3065
3065
  const configCtx = (0, antdv_next_config_provider_context.useConfig)();
3066
3066
  const contextConfig = useXComponentConfig("attachments");
3067
3067
  const containerRef = (0, vue.ref)(null);
3068
- const [hashId, cssVarCls] = style_default$11((0, vue.computed)(() => props.prefixCls));
3068
+ const [hashId, cssVarCls] = style_default$12((0, vue.computed)(() => props.prefixCls));
3069
3069
  const mergedClasses = (0, vue.computed)(() => ({
3070
3070
  ...contextConfig.value.classes,
3071
3071
  ...props.classes
@@ -3084,6 +3084,7 @@
3084
3084
  });
3085
3085
  const triggerChange = (info) => {
3086
3086
  fileList.value = info.fileList;
3087
+ emit("update:items", info.fileList);
3087
3088
  emit("change", info);
3088
3089
  };
3089
3090
  const onUploadChange = (info) => {
@@ -3678,12 +3679,12 @@
3678
3679
  };
3679
3680
  //#endregion
3680
3681
  //#region components/bubble/style/index.ts
3681
- var prepareComponentToken$10 = () => ({
3682
+ var prepareComponentToken$11 = () => ({
3682
3683
  typingContent: "\"|\"",
3683
3684
  typingAnimationName: "cursorBlink",
3684
3685
  typingAnimationDuration: "0.8s"
3685
3686
  });
3686
- var style_default$10 = genStyleHooks("Bubble", (token) => {
3687
+ var style_default$11 = genStyleHooks("Bubble", (token) => {
3687
3688
  const bubbleToken = (0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {});
3688
3689
  return [
3689
3690
  genBubbleStyle(bubbleToken),
@@ -3694,7 +3695,7 @@
3694
3695
  genSystemBubbleStyle(bubbleToken),
3695
3696
  genDividerBubbleStyle(bubbleToken)
3696
3697
  ];
3697
- }, prepareComponentToken$10);
3698
+ }, prepareComponentToken$11);
3698
3699
  //#endregion
3699
3700
  //#region components/bubble/hooks/useTyping.ts
3700
3701
  function getLcp(left, right) {
@@ -4048,7 +4049,7 @@
4048
4049
  const attrs = (0, vue.useAttrs)();
4049
4050
  const contextConfig = useXComponentConfig("bubble");
4050
4051
  const rootRef = (0, vue.ref)();
4051
- const [hashId, cssVarCls] = style_default$10((0, vue.computed)(() => props.prefixCls));
4052
+ const [hashId, cssVarCls] = style_default$11((0, vue.computed)(() => props.prefixCls));
4052
4053
  expose({ get nativeElement() {
4053
4054
  return rootRef.value;
4054
4055
  } });
@@ -4577,7 +4578,7 @@
4577
4578
  const scrollBoxRef = (0, vue.ref)();
4578
4579
  const scrollContentRef = (0, vue.ref)();
4579
4580
  const bubbleRefs = /* @__PURE__ */ new Map();
4580
- const [hashId, cssVarCls] = style_default$10((0, vue.computed)(() => props.prefixCls));
4581
+ const [hashId, cssVarCls] = style_default$11((0, vue.computed)(() => props.prefixCls));
4581
4582
  const { scrollTo: compatibleScrollTo } = useCompatibleScroll(scrollBoxRef, scrollContentRef);
4582
4583
  const listPrefixCls = (0, vue.computed)(() => `${props.prefixCls}-list`);
4583
4584
  const handleScroll = (event) => {
@@ -4928,13 +4929,13 @@
4928
4929
  }
4929
4930
  } };
4930
4931
  };
4931
- var prepareComponentToken$9 = () => ({
4932
+ var prepareComponentToken$10 = () => ({
4932
4933
  codeFontFamily: "'Fira Code', 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace",
4933
4934
  codeFontSize: 14
4934
4935
  });
4935
- var style_default$9 = genStyleHooks("CodeHighlighter", (token) => {
4936
+ var style_default$10 = genStyleHooks("CodeHighlighter", (token) => {
4936
4937
  return [genCodeHighlighterStyle((0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {}))];
4937
- }, prepareComponentToken$9);
4938
+ }, prepareComponentToken$10);
4938
4939
  //#endregion
4939
4940
  //#region components/code-highlighter/index.tsx
4940
4941
  var code_highlighter_default = /* @__PURE__ */ (0, vue.defineComponent)({
@@ -5015,7 +5016,7 @@
5015
5016
  const attrs = (0, vue.useAttrs)();
5016
5017
  const contextConfig = useXComponentConfig("codeHighlighter");
5017
5018
  const rootRef = (0, vue.ref)();
5018
- const [hashId, cssVarCls] = style_default$9((0, vue.computed)(() => props.prefixCls));
5019
+ const [hashId, cssVarCls] = style_default$10((0, vue.computed)(() => props.prefixCls));
5019
5020
  const copied = (0, vue.ref)(false);
5020
5021
  const highlightedHtml = (0, vue.shallowRef)("");
5021
5022
  const highlightCode = async () => {
@@ -6009,7 +6010,7 @@
6009
6010
  [`${componentCls}-group-collapse-trigger-close`]: { transform: "rotate(0deg)" }
6010
6011
  } };
6011
6012
  };
6012
- var prepareComponentToken$8 = (token) => {
6013
+ var prepareComponentToken$9 = (token) => {
6013
6014
  const creationBgColor = new _ant_design_fast_color.FastColor(token.colorPrimary).setA(.15);
6014
6015
  const creationBorderColor = new _ant_design_fast_color.FastColor(token.colorPrimary).setA(.22);
6015
6016
  const creationHoverColor = new _ant_design_fast_color.FastColor(token.colorPrimary).setA(.25);
@@ -6021,10 +6022,10 @@
6021
6022
  shortcutKeyTextColor: shortcutKeyTextColor.toRgbString()
6022
6023
  };
6023
6024
  };
6024
- var style_default$8 = genStyleHooks("Conversations", (token) => {
6025
+ var style_default$9 = genStyleHooks("Conversations", (token) => {
6025
6026
  const compToken = (0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {});
6026
6027
  return [genConversationsStyle(compToken), genCollapseMotion(compToken)];
6027
- }, prepareComponentToken$8);
6028
+ }, prepareComponentToken$9);
6028
6029
  //#endregion
6029
6030
  //#region components/conversations/index.tsx
6030
6031
  function isTypingTarget(target) {
@@ -6138,7 +6139,7 @@
6138
6139
  const attrs = (0, vue.useAttrs)();
6139
6140
  const contextConfig = useXComponentConfig("conversations");
6140
6141
  const rootRef = (0, vue.ref)();
6141
- const [hashId, cssVarCls] = style_default$8((0, vue.computed)(() => props.prefixCls));
6142
+ const [hashId, cssVarCls] = style_default$9((0, vue.computed)(() => props.prefixCls));
6142
6143
  const mergedItems = (0, vue.computed)(() => props.items ?? []);
6143
6144
  const { groupList, collapsibleOptions, keyList } = useGroupable((0, vue.computed)(() => props.groupable), mergedItems);
6144
6145
  const innerActiveKey = (0, vue.ref)(props.defaultActiveKey);
@@ -6271,6 +6272,715 @@
6271
6272
  });
6272
6273
  ConversationsWithSub.Creation = Creation;
6273
6274
  //#endregion
6275
+ //#region components/folder/DirectoryTree.tsx
6276
+ function isFolder(node) {
6277
+ return !!node.children && node.children.length > 0;
6278
+ }
6279
+ function buildPathSegments(node, parentSegments) {
6280
+ if (node.path === "/" && parentSegments.length === 0) return ["/"];
6281
+ return [...parentSegments, node.path].filter((seg) => seg !== "");
6282
+ }
6283
+ function getIcon(node, directoryIcons) {
6284
+ if (directoryIcons === false || directoryIcons === null) return null;
6285
+ if (isFolder(node)) {
6286
+ const icon = directoryIcons?.directory;
6287
+ if (typeof icon === "function") return icon();
6288
+ return icon ?? (0, vue.createVNode)(_antdv_next_icons.FolderOutlined, null, null);
6289
+ }
6290
+ const ext = node.path.toLowerCase().split(".").pop();
6291
+ if (ext) {
6292
+ const icon = directoryIcons?.[ext];
6293
+ if (icon) return typeof icon === "function" ? icon() : icon;
6294
+ }
6295
+ return (0, vue.createVNode)(_antdv_next_icons.FileOutlined, null, null);
6296
+ }
6297
+ function convertToTreeData(nodes, directoryIcons, parentSegments = []) {
6298
+ return nodes.map((node) => {
6299
+ const pathSegments = buildPathSegments(node, parentSegments);
6300
+ const fullPath = pathSegments.join("/").replace(/^\/+/, "");
6301
+ return {
6302
+ key: fullPath,
6303
+ path: fullPath,
6304
+ pathSegments,
6305
+ title: node.title,
6306
+ icon: getIcon(node, directoryIcons),
6307
+ isLeaf: !isFolder(node),
6308
+ content: node.content,
6309
+ children: node.children ? convertToTreeData(node.children, directoryIcons, pathSegments) : void 0
6310
+ };
6311
+ });
6312
+ }
6313
+ var FolderDirectoryTree = /* @__PURE__ */ (0, vue.defineComponent)({
6314
+ name: "AxFolderDirectoryTree",
6315
+ props: {
6316
+ prefixCls: {
6317
+ type: String,
6318
+ required: true
6319
+ },
6320
+ treeData: {
6321
+ type: Array,
6322
+ default: () => []
6323
+ },
6324
+ directoryIcons: {
6325
+ type: [Boolean, Object],
6326
+ default: void 0
6327
+ },
6328
+ selectedKeys: {
6329
+ type: Array,
6330
+ default: () => []
6331
+ },
6332
+ expandedKeys: {
6333
+ type: Array,
6334
+ default: void 0
6335
+ },
6336
+ defaultExpandAll: {
6337
+ type: Boolean,
6338
+ default: true
6339
+ },
6340
+ showLine: {
6341
+ type: Boolean,
6342
+ default: false
6343
+ },
6344
+ classes: {
6345
+ type: Object,
6346
+ default: () => ({})
6347
+ },
6348
+ styles: {
6349
+ type: Object,
6350
+ default: () => ({})
6351
+ },
6352
+ directoryTitle: {
6353
+ type: [
6354
+ Boolean,
6355
+ String,
6356
+ Number,
6357
+ Object,
6358
+ Array,
6359
+ Function
6360
+ ],
6361
+ default: void 0
6362
+ }
6363
+ },
6364
+ emits: {
6365
+ select: (_keys, _info) => true,
6366
+ expand: (_keys, _info) => true
6367
+ },
6368
+ setup(props, { emit }) {
6369
+ const treeDataConverted = (0, vue.computed)(() => convertToTreeData(props.treeData, props.directoryIcons));
6370
+ const titleNode = (0, vue.computed)(() => {
6371
+ const t = props.directoryTitle;
6372
+ if (t === false || t === null || t === void 0) return null;
6373
+ if (typeof t === "function") return t();
6374
+ return t;
6375
+ });
6376
+ return () => {
6377
+ const { prefixCls } = props;
6378
+ return (0, vue.createVNode)(vue.Fragment, null, [titleNode.value ? (0, vue.createVNode)("div", {
6379
+ "class": [`${prefixCls}-directory-tree-title`, props.classes?.directoryTitle],
6380
+ "style": props.styles?.directoryTitle
6381
+ }, [titleNode.value]) : null, (0, vue.createVNode)(antdv_next.DirectoryTree, {
6382
+ treeData: treeDataConverted.value,
6383
+ selectedKeys: props.selectedKeys,
6384
+ expandedKeys: props.expandedKeys,
6385
+ multiple: false,
6386
+ blockNode: true,
6387
+ showLine: props.showLine,
6388
+ defaultExpandAll: props.defaultExpandAll,
6389
+ class: [`${prefixCls}-directory-tree-content`, props.classes?.directoryTree],
6390
+ style: props.styles?.directoryTree,
6391
+ classes: { itemTitle: `${prefixCls}-directory-tree-item-title` },
6392
+ onSelect: (keys, info) => emit("select", keys, info),
6393
+ onExpand: (keys, info) => emit("expand", keys, info)
6394
+ }, null)]);
6395
+ };
6396
+ }
6397
+ });
6398
+ //#endregion
6399
+ //#region components/folder/style/folder.ts
6400
+ var genFolderStyle = (token) => {
6401
+ const { componentCls, antCls } = token;
6402
+ return { [componentCls]: {
6403
+ height: "100%",
6404
+ width: "100%",
6405
+ background: token.colorBgDirectory,
6406
+ [`${antCls}-tree-node-content-wrapper`]: { display: "flex" },
6407
+ [`${antCls}-tree-node-content-wrapper-open,${antCls}-tree-node-content-wrapper-close`]: { display: "flex" },
6408
+ [`${antCls}-tree-node-content-wrapper-normal`]: { display: "flex" },
6409
+ [`${antCls}-tree-list`]: {
6410
+ paddingInline: token.padding,
6411
+ paddingBlock: token.paddingXS
6412
+ },
6413
+ [`${antCls}-tree-switcher`]: {
6414
+ width: "10px",
6415
+ "&:before": {
6416
+ width: "10px",
6417
+ height: "10px"
6418
+ }
6419
+ },
6420
+ [`${antCls}-tree-node-content-wrapper`]: { paddingInline: 0 },
6421
+ [`${componentCls}-container`]: { height: "100%" },
6422
+ [`${componentCls}-directory-tree`]: {
6423
+ height: "100%",
6424
+ display: "flex",
6425
+ flexDirection: "column"
6426
+ },
6427
+ [`${componentCls}-directory-tree-title`]: {
6428
+ width: "100%",
6429
+ display: "flex",
6430
+ alignItems: "center"
6431
+ },
6432
+ [`${componentCls}-directory-tree-content`]: {
6433
+ width: "100%",
6434
+ background: "transparent",
6435
+ height: "100%",
6436
+ borderRadius: "unset",
6437
+ display: "flex",
6438
+ overflow: "auto"
6439
+ },
6440
+ [`&${componentCls}-rtl`]: { direction: "rtl" }
6441
+ } };
6442
+ };
6443
+ var genFilePreviewStyle = (token) => {
6444
+ const { componentCls } = token;
6445
+ return { [componentCls]: {
6446
+ [`${componentCls}-preview`]: {
6447
+ width: "100%",
6448
+ background: token.colorBgContainer,
6449
+ flex: 1,
6450
+ height: "100%",
6451
+ display: "flex",
6452
+ flexDirection: "column"
6453
+ },
6454
+ [`${componentCls}-preview-title-wrapper`]: {
6455
+ background: token.colorBgContainer,
6456
+ paddingInline: token.padding,
6457
+ paddingBlock: token.paddingXS,
6458
+ borderBottom: `1px solid ${token.colorBorderSecondary}`
6459
+ },
6460
+ [`${componentCls}-preview-title`]: {
6461
+ display: "flex",
6462
+ alignItems: "center",
6463
+ justifyContent: "space-between"
6464
+ },
6465
+ [`${componentCls}-preview-content`]: {
6466
+ overflow: "auto",
6467
+ flex: 1,
6468
+ background: token.colorBgContainer,
6469
+ paddingInline: token.padding,
6470
+ paddingBlock: token.paddingXS
6471
+ },
6472
+ [`${componentCls}-preview-loading-container`]: {
6473
+ display: "flex",
6474
+ justifyContent: "center",
6475
+ alignItems: "center",
6476
+ marginBlockStart: token.calc(token.marginLG).mul(3).equal()
6477
+ },
6478
+ [`${componentCls}-preview-empty-container`]: { marginBlockStart: token.calc(token.marginLG).mul(3).equal() },
6479
+ [`${componentCls}-directory-tree-item-title`]: {
6480
+ display: "flex",
6481
+ whiteSpace: "nowrap",
6482
+ paddingInlineEnd: token.padding
6483
+ }
6484
+ } };
6485
+ };
6486
+ //#endregion
6487
+ //#region components/folder/style/index.ts
6488
+ var prepareComponentToken$8 = (token) => ({ colorBgDirectory: token.colorFillTertiary });
6489
+ var style_default$8 = genStyleHooks("Folder", (token) => {
6490
+ const folderToken = (0, _antdv_next_cssinjs_cssinjs_utils.mergeToken)(token, {});
6491
+ return [genFolderStyle(folderToken), genFilePreviewStyle(folderToken)];
6492
+ }, prepareComponentToken$8);
6493
+ //#endregion
6494
+ //#region components/folder/FilePreview.tsx
6495
+ function getFileExtension(path = "") {
6496
+ const parts = path.split(".");
6497
+ return parts[parts.length - 1] || "";
6498
+ }
6499
+ function getLanguageFromExtension(ext) {
6500
+ return ext.toLowerCase() || "txt";
6501
+ }
6502
+ var FilePreview = /* @__PURE__ */ (0, vue.defineComponent)({
6503
+ name: "AxFolderFilePreview",
6504
+ props: {
6505
+ prefixCls: {
6506
+ type: String,
6507
+ required: true
6508
+ },
6509
+ classes: {
6510
+ type: Object,
6511
+ default: () => ({})
6512
+ },
6513
+ styles: {
6514
+ type: Object,
6515
+ default: () => ({})
6516
+ },
6517
+ style: {
6518
+ type: Object,
6519
+ default: void 0
6520
+ },
6521
+ selectedFile: {
6522
+ type: Array,
6523
+ default: () => []
6524
+ },
6525
+ fileContent: {
6526
+ type: String,
6527
+ default: ""
6528
+ },
6529
+ loading: {
6530
+ type: Boolean,
6531
+ default: false
6532
+ },
6533
+ previewTitle: {
6534
+ type: [
6535
+ Boolean,
6536
+ String,
6537
+ Number,
6538
+ Object,
6539
+ Array,
6540
+ Function
6541
+ ],
6542
+ default: void 0
6543
+ },
6544
+ previewRender: {
6545
+ type: [
6546
+ String,
6547
+ Number,
6548
+ Object,
6549
+ Array,
6550
+ Function
6551
+ ],
6552
+ default: void 0
6553
+ },
6554
+ emptyRender: {
6555
+ type: [
6556
+ Boolean,
6557
+ String,
6558
+ Number,
6559
+ Object,
6560
+ Array,
6561
+ Function
6562
+ ],
6563
+ default: void 0
6564
+ },
6565
+ getFileNode: {
6566
+ type: Function,
6567
+ default: void 0
6568
+ }
6569
+ },
6570
+ setup(props) {
6571
+ const [locale] = useLocale("Folder", localeValues$1.Folder);
6572
+ const contextConfig = useXComponentConfig("folder");
6573
+ const [hashId, cssVarCls] = style_default$8((0, vue.computed)(() => props.prefixCls));
6574
+ const previewCls = (0, vue.computed)(() => `${props.prefixCls}-preview`);
6575
+ const renderOriginContent = (fileContent, language) => (0, vue.createVNode)(code_highlighter_default, {
6576
+ "content": fileContent.replace(/\n$/, ""),
6577
+ "language": language,
6578
+ "showLanguage": false,
6579
+ "showLineNumbers": false,
6580
+ "showCopyButton": false,
6581
+ "style": {
6582
+ background: "transparent",
6583
+ border: 0,
6584
+ borderRadius: 0,
6585
+ padding: 0
6586
+ }
6587
+ }, null);
6588
+ const renderEmpty = () => {
6589
+ if (props.emptyRender === false || props.emptyRender === null) return null;
6590
+ const node = typeof props.emptyRender === "function" ? props.emptyRender() : props.emptyRender ?? (0, vue.createVNode)(antdv_next.Empty, {
6591
+ "image": antdv_next.Empty.PRESENTED_IMAGE_SIMPLE,
6592
+ "description": locale.value.selectFile
6593
+ }, null);
6594
+ return (0, vue.createVNode)("div", {
6595
+ "class": [`${previewCls.value}-empty-container`, props.classes?.previewRender],
6596
+ "style": props.styles?.previewRender
6597
+ }, [node]);
6598
+ };
6599
+ const renderContent = () => {
6600
+ if (props.loading) return (0, vue.createVNode)("div", {
6601
+ "class": [`${previewCls.value}-loading-container`, props.classes?.previewRender],
6602
+ "style": props.styles?.previewRender
6603
+ }, [(0, vue.createVNode)(antdv_next.Spin, null, null)]);
6604
+ if (!props.selectedFile || props.selectedFile.length === 0) return renderEmpty();
6605
+ const selected = props.selectedFile;
6606
+ const fileNode = props.getFileNode?.(selected);
6607
+ const title = fileNode?.title ?? selected[selected.length - 1];
6608
+ const fileName = selected[selected.length - 1];
6609
+ const language = getLanguageFromExtension(getFileExtension(fileName));
6610
+ let headerNode;
6611
+ if (props.previewTitle === false || props.previewTitle === null) headerNode = null;
6612
+ else if (props.previewTitle) headerNode = typeof props.previewTitle === "function" ? props.previewTitle({
6613
+ title,
6614
+ path: selected,
6615
+ content: props.fileContent ?? ""
6616
+ }) : props.previewTitle;
6617
+ else headerNode = (0, vue.createVNode)("div", { "class": `${previewCls.value}-title` }, [(0, vue.createVNode)("span", { "class": `${previewCls.value}-filename` }, [title]), (0, vue.createVNode)(XActionsCopy, {
6618
+ "text": props.fileContent ?? "",
6619
+ "class": `${previewCls.value}-copy`
6620
+ }, null)]);
6621
+ const originNode = renderOriginContent(props.fileContent ?? "", language);
6622
+ let contentNode;
6623
+ if (props.previewRender !== void 0 && props.previewRender !== null) if (typeof props.previewRender === "function") contentNode = props.previewRender({
6624
+ content: props.fileContent,
6625
+ path: selected,
6626
+ title: fileNode?.title,
6627
+ language
6628
+ }, { originNode });
6629
+ else contentNode = props.previewRender;
6630
+ else contentNode = originNode;
6631
+ return (0, vue.createVNode)(vue.Fragment, null, [headerNode && (0, vue.createVNode)("div", {
6632
+ "class": [`${previewCls.value}-title-wrapper`, props.classes?.previewTitle],
6633
+ "style": props.styles?.previewTitle
6634
+ }, [headerNode]), (0, vue.createVNode)("div", {
6635
+ "class": [`${previewCls.value}-content`, props.classes?.previewRender],
6636
+ "style": props.styles?.previewRender
6637
+ }, [contentNode])]);
6638
+ };
6639
+ return () => (0, vue.createVNode)("div", {
6640
+ "class": [
6641
+ `${previewCls.value}`,
6642
+ props.classes?.filePreview,
6643
+ hashId.value,
6644
+ cssVarCls.value
6645
+ ],
6646
+ "style": [
6647
+ contextConfig.value.styles?.filePreview,
6648
+ props.styles?.filePreview,
6649
+ props.style
6650
+ ]
6651
+ }, [renderContent()]);
6652
+ }
6653
+ });
6654
+ //#endregion
6655
+ //#region components/folder/Folder.tsx
6656
+ function findNode(nodes, segments, index = 0) {
6657
+ if (index >= segments.length) return void 0;
6658
+ const current = segments[index];
6659
+ for (const node of nodes) if (node.path === current) {
6660
+ if (index === segments.length - 1) return node;
6661
+ return node.children ? findNode(node.children, segments, index + 1) : void 0;
6662
+ }
6663
+ }
6664
+ function findNodeAndValidate(treeData, path, validateAsFile = false) {
6665
+ if (!path) return {
6666
+ node: void 0,
6667
+ isValid: false
6668
+ };
6669
+ const segments = Array.isArray(path) ? path.filter(Boolean) : path.split("/").filter(Boolean);
6670
+ if (segments.length === 0) return {
6671
+ node: void 0,
6672
+ isValid: false
6673
+ };
6674
+ const node = findNode(treeData, segments);
6675
+ return {
6676
+ node,
6677
+ isValid: validateAsFile ? !!node && (!node?.children || node.children.length === 0) : !!node
6678
+ };
6679
+ }
6680
+ //#endregion
6681
+ //#region components/folder/index.ts
6682
+ var folder_default = /* @__PURE__ */ (0, vue.defineComponent)({
6683
+ name: "AxFolder",
6684
+ inheritAttrs: false,
6685
+ props: {
6686
+ prefixCls: {
6687
+ type: String,
6688
+ default: "antd-folder"
6689
+ },
6690
+ rootClass: {
6691
+ type: String,
6692
+ default: ""
6693
+ },
6694
+ class: {
6695
+ type: [
6696
+ String,
6697
+ Array,
6698
+ Object
6699
+ ],
6700
+ default: void 0
6701
+ },
6702
+ style: {
6703
+ type: [
6704
+ String,
6705
+ Object,
6706
+ Array
6707
+ ],
6708
+ default: void 0
6709
+ },
6710
+ classes: {
6711
+ type: Object,
6712
+ default: () => ({})
6713
+ },
6714
+ styles: {
6715
+ type: Object,
6716
+ default: () => ({})
6717
+ },
6718
+ treeData: {
6719
+ type: Array,
6720
+ default: () => []
6721
+ },
6722
+ directoryIcons: {
6723
+ type: [Boolean, Object],
6724
+ default: void 0
6725
+ },
6726
+ selectable: {
6727
+ type: Boolean,
6728
+ default: true
6729
+ },
6730
+ selectedFile: {
6731
+ type: Array,
6732
+ default: void 0
6733
+ },
6734
+ defaultSelectedFile: {
6735
+ type: Array,
6736
+ default: void 0
6737
+ },
6738
+ directoryTreeWith: {
6739
+ type: [Number, String],
6740
+ default: 278
6741
+ },
6742
+ emptyRender: {
6743
+ type: [
6744
+ Boolean,
6745
+ String,
6746
+ Number,
6747
+ Object,
6748
+ Array,
6749
+ Function
6750
+ ],
6751
+ default: void 0
6752
+ },
6753
+ previewRender: {
6754
+ type: [
6755
+ String,
6756
+ Number,
6757
+ Object,
6758
+ Array,
6759
+ Function
6760
+ ],
6761
+ default: void 0
6762
+ },
6763
+ defaultExpandedPaths: {
6764
+ type: Array,
6765
+ default: void 0
6766
+ },
6767
+ expandedPaths: {
6768
+ type: Array,
6769
+ default: void 0
6770
+ },
6771
+ defaultExpandAll: {
6772
+ type: Boolean,
6773
+ default: true
6774
+ },
6775
+ fileContentService: {
6776
+ type: Object,
6777
+ default: void 0
6778
+ },
6779
+ directoryTitle: {
6780
+ type: [
6781
+ Boolean,
6782
+ String,
6783
+ Number,
6784
+ Object,
6785
+ Array,
6786
+ Function
6787
+ ],
6788
+ default: void 0
6789
+ },
6790
+ previewTitle: {
6791
+ type: [
6792
+ Boolean,
6793
+ String,
6794
+ Number,
6795
+ Object,
6796
+ Array,
6797
+ Function
6798
+ ],
6799
+ default: void 0
6800
+ }
6801
+ },
6802
+ emits: {
6803
+ selectedFileChange: (_file) => true,
6804
+ fileClick: (_path, _content) => true,
6805
+ folderClick: (_path) => true,
6806
+ expandedPathsChange: (_paths) => true,
6807
+ "update:selectedFile": (_paths) => true,
6808
+ "update:expandedPaths": (_paths) => true
6809
+ },
6810
+ slots: Object,
6811
+ setup(props, { emit, expose, slots }) {
6812
+ const attrs = (0, vue.useAttrs)();
6813
+ const configCtx = (0, antdv_next_config_provider_context.useConfig)();
6814
+ const contextConfig = useXComponentConfig("folder");
6815
+ const [hashId, cssVarCls] = style_default$8((0, vue.computed)(() => props.prefixCls));
6816
+ const [locale] = useLocale("Folder", localeValues$1.Folder);
6817
+ const rootRef = (0, vue.ref)();
6818
+ const isValidSelectedFile = (filePath) => !!(filePath && filePath.length > 0 && findNodeAndValidate(props.treeData, filePath, true).isValid);
6819
+ const innerSelectedFile = (0, vue.ref)(isValidSelectedFile(props.defaultSelectedFile) ? props.defaultSelectedFile ?? [] : []);
6820
+ const mergedSelectedFile = (0, vue.computed)(() => props.selectedFile !== void 0 ? props.selectedFile : innerSelectedFile.value);
6821
+ const validSelectedFile = (0, vue.ref)(isValidSelectedFile(props.selectedFile ?? props.defaultSelectedFile));
6822
+ (0, vue.watch)(() => [
6823
+ props.selectedFile,
6824
+ props.defaultSelectedFile,
6825
+ props.treeData
6826
+ ], () => {
6827
+ validSelectedFile.value = isValidSelectedFile(props.selectedFile ?? props.defaultSelectedFile ?? []);
6828
+ }, { deep: true });
6829
+ const innerExpandedPaths = (0, vue.ref)(props.defaultExpandedPaths);
6830
+ const mergedExpandedPaths = (0, vue.computed)(() => props.expandedPaths !== void 0 ? props.expandedPaths : innerExpandedPaths.value);
6831
+ const fileContent = (0, vue.ref)("");
6832
+ const loadingContent = (0, vue.ref)(false);
6833
+ const loadFileContent = async () => {
6834
+ if (!validSelectedFile.value || mergedSelectedFile.value.length === 0) {
6835
+ fileContent.value = "";
6836
+ loadingContent.value = false;
6837
+ return;
6838
+ }
6839
+ const filePath = mergedSelectedFile.value.join("/");
6840
+ const segments = filePath.split("/").filter((s) => s !== "");
6841
+ const { node } = findNodeAndValidate(props.treeData, segments);
6842
+ if (props.fileContentService) {
6843
+ loadingContent.value = true;
6844
+ try {
6845
+ fileContent.value = await props.fileContentService.loadFileContent(filePath);
6846
+ } catch (error) {
6847
+ fileContent.value = `// ${locale.value.loadError}: ${error instanceof Error ? error.message : "Unknown error"}`;
6848
+ } finally {
6849
+ loadingContent.value = false;
6850
+ }
6851
+ return;
6852
+ }
6853
+ if (node?.content) {
6854
+ fileContent.value = node.content;
6855
+ loadingContent.value = false;
6856
+ return;
6857
+ }
6858
+ fileContent.value = `// ${locale.value.noService}`;
6859
+ loadingContent.value = false;
6860
+ };
6861
+ (0, vue.watch)([
6862
+ validSelectedFile,
6863
+ mergedSelectedFile,
6864
+ () => props.treeData,
6865
+ () => props.fileContentService
6866
+ ], () => {
6867
+ loadFileContent();
6868
+ }, {
6869
+ immediate: true,
6870
+ deep: true
6871
+ });
6872
+ const handleSelect = (keys, info) => {
6873
+ const nodes = Array.isArray(info?.selectedNodes) ? info.selectedNodes : info?.selectedNodes ? [info.selectedNodes] : [];
6874
+ if (nodes.some((node) => !node?.isLeaf)) {
6875
+ if (nodes.length === 1) emit("folderClick", nodes[0]?.path ?? "");
6876
+ return;
6877
+ }
6878
+ const pathArray = keys[0]?.split("/").filter(Boolean) ?? [];
6879
+ if (pathArray.length === 0) return;
6880
+ const selectedNode = nodes[0];
6881
+ const fileName = selectedNode?.title;
6882
+ const fileContentValue = selectedNode?.content;
6883
+ emit("selectedFileChange", {
6884
+ path: pathArray,
6885
+ title: fileName,
6886
+ content: fileContentValue
6887
+ });
6888
+ if (!(props.selectedFile !== void 0)) {
6889
+ validSelectedFile.value = true;
6890
+ innerSelectedFile.value = pathArray;
6891
+ emit("update:selectedFile", pathArray);
6892
+ }
6893
+ if (nodes.length === 1) {
6894
+ const node = nodes[0];
6895
+ emit("fileClick", node?.path ?? "", node?.content);
6896
+ }
6897
+ };
6898
+ const handleExpand = (keys) => {
6899
+ const newPaths = keys ?? [];
6900
+ if (props.expandedPaths === void 0) innerExpandedPaths.value = newPaths;
6901
+ emit("update:expandedPaths", newPaths);
6902
+ emit("expandedPathsChange", newPaths);
6903
+ };
6904
+ const domAttrs = (0, vue.computed)(() => {
6905
+ const { class: _c, style: _s, ...rest } = attrs;
6906
+ return rest;
6907
+ });
6908
+ expose({ get nativeElement() {
6909
+ return rootRef.value;
6910
+ } });
6911
+ const mergedDirectoryTitle = (0, vue.computed)(() => slots.directoryTitle ?? props.directoryTitle);
6912
+ const mergedPreviewTitle = (0, vue.computed)(() => slots.previewTitle ?? props.previewTitle);
6913
+ const mergedPreviewRender = (0, vue.computed)(() => {
6914
+ if (slots.previewRender) return (file, info) => slots.previewRender({
6915
+ file,
6916
+ originNode: info.originNode
6917
+ });
6918
+ return props.previewRender;
6919
+ });
6920
+ const mergedEmptyRender = (0, vue.computed)(() => slots.emptyRender ?? props.emptyRender);
6921
+ return () => {
6922
+ const prefixCls = props.prefixCls;
6923
+ return (0, vue.createVNode)("div", (0, vue.mergeProps)({ "ref": rootRef }, domAttrs.value, {
6924
+ "class": [
6925
+ prefixCls,
6926
+ contextConfig.value.classes?.root,
6927
+ props.rootClass,
6928
+ props.classes?.root,
6929
+ hashId.value,
6930
+ cssVarCls.value,
6931
+ attrs.class,
6932
+ props.class,
6933
+ {
6934
+ [`${prefixCls}-rtl`]: configCtx.value.direction === "rtl",
6935
+ [`${prefixCls}-selectable`]: props.selectable
6936
+ }
6937
+ ],
6938
+ "style": [
6939
+ contextConfig.value.style,
6940
+ contextConfig.value.styles?.root,
6941
+ props.styles?.root,
6942
+ attrs.style,
6943
+ props.style
6944
+ ]
6945
+ }), [(0, vue.createVNode)(antdv_next.Flex, { "class": `${prefixCls}-container` }, { default: () => [(0, vue.createVNode)(antdv_next.Splitter, null, { default: () => [(0, vue.createVNode)(antdv_next.SplitterPanel, { "defaultSize": props.directoryTreeWith }, { default: () => [(0, vue.createVNode)("div", {
6946
+ "class": [`${prefixCls}-directory-tree`, props.classes?.directoryTree],
6947
+ "style": [contextConfig.value.styles?.directoryTree, props.styles?.directoryTree]
6948
+ }, [(0, vue.createVNode)(FolderDirectoryTree, {
6949
+ "prefixCls": prefixCls,
6950
+ "directoryIcons": props.directoryIcons,
6951
+ "treeData": props.treeData,
6952
+ "selectedKeys": props.selectable && mergedSelectedFile.value && validSelectedFile.value ? [mergedSelectedFile.value.join("/")] : [],
6953
+ "classes": props.classes,
6954
+ "styles": props.styles,
6955
+ "expandedKeys": mergedExpandedPaths.value,
6956
+ "defaultExpandAll": props.defaultExpandAll,
6957
+ "directoryTitle": mergedDirectoryTitle.value,
6958
+ "onSelect": handleSelect,
6959
+ "onExpand": handleExpand
6960
+ }, null)])] }), (0, vue.createVNode)(antdv_next.SplitterPanel, null, { default: () => [(0, vue.createVNode)(FilePreview, {
6961
+ "prefixCls": prefixCls,
6962
+ "classes": props.classes,
6963
+ "styles": props.styles,
6964
+ "selectedFile": validSelectedFile.value ? mergedSelectedFile.value : [],
6965
+ "fileContent": fileContent.value,
6966
+ "loading": loadingContent.value,
6967
+ "previewTitle": mergedPreviewTitle.value,
6968
+ "previewRender": mergedPreviewRender.value,
6969
+ "emptyRender": mergedEmptyRender.value,
6970
+ "getFileNode": (path) => {
6971
+ if (!path || path.length === 0) return void 0;
6972
+ const { node } = findNodeAndValidate(props.treeData, path);
6973
+ return node ? {
6974
+ title: node.title,
6975
+ path: node.path,
6976
+ content: node.content
6977
+ } : void 0;
6978
+ }
6979
+ }, null)] })] })] })]);
6980
+ };
6981
+ }
6982
+ });
6983
+ //#endregion
6274
6984
  //#region components/_utils/warning.ts
6275
6985
  var warnedMessages = /* @__PURE__ */ new Set();
6276
6986
  var warning = (valid, component, message) => {
@@ -8971,7 +9681,8 @@
8971
9681
  default: void 0
8972
9682
  }
8973
9683
  },
8974
- setup(props, { expose, slots }) {
9684
+ emits: ["update:value"],
9685
+ setup(props, { expose, slots, emit }) {
8975
9686
  const attrs = (0, vue.useAttrs)();
8976
9687
  const configCtx = (0, antdv_next_config_provider_context.useConfig)();
8977
9688
  const contextConfig = useXComponentConfig("sender");
@@ -8985,6 +9696,7 @@
8985
9696
  const mergedValue = (0, vue.computed)(() => props.value ?? innerValue.value);
8986
9697
  const triggerValueChange = (nextValue, event, slotConfig, skill) => {
8987
9698
  innerValue.value = nextValue;
9699
+ emit("update:value", nextValue);
8988
9700
  props.onChange?.(nextValue, event, slotConfig, skill);
8989
9701
  };
8990
9702
  const submitDisabled = (0, vue.ref)(!mergedValue.value);
@@ -9097,7 +9809,7 @@
9097
9809
  return () => {
9098
9810
  const cls = prefixCls.value;
9099
9811
  const actionListCls = `${cls}-actions-list`;
9100
- const actionNode = (0, vue.createVNode)("div", { "class": `${actionListCls}-presets` }, [props.allowSpeech && (0, vue.createVNode)(SpeechButton_default, null, null), props.loading ? (0, vue.createVNode)(LoadingButton_default, null, null) : (0, vue.createVNode)(SendButton_default, null, null)]);
9812
+ const actionNode = (0, vue.createVNode)(antdv_next.Flex, { "class": `${actionListCls}-presets` }, { default: () => [props.allowSpeech && (0, vue.createVNode)(SpeechButton_default, null, null), props.loading ? (0, vue.createVNode)(LoadingButton_default, null, null) : (0, vue.createVNode)(SendButton_default, null, null)] });
9101
9813
  const suffixNode = renderNode(props.suffix, "suffix", actionNode) ?? actionNode;
9102
9814
  const prefixNode = renderNode(props.prefix, "prefix", actionNode);
9103
9815
  const headerNode = renderNode(props.header, "header", actionNode);
@@ -9709,7 +10421,7 @@
9709
10421
  default: void 0
9710
10422
  }
9711
10423
  },
9712
- emits: ["expand"],
10424
+ emits: ["update:expanded", "expand"],
9713
10425
  setup(props, { slots, expose, emit }) {
9714
10426
  const configCtx = (0, antdv_next_config_provider_context.useConfig)();
9715
10427
  const attrs = (0, vue.useAttrs)();
@@ -9729,6 +10441,7 @@
9729
10441
  const toggleExpand = () => {
9730
10442
  const newExpand = !isExpand.value;
9731
10443
  if (props.expanded === void 0) innerExpanded.value = newExpand;
10444
+ emit("update:expanded", newExpand);
9732
10445
  emit("expand", newExpand);
9733
10446
  };
9734
10447
  const domAttrs = (0, vue.computed)(() => {
@@ -9978,7 +10691,11 @@
9978
10691
  default: false
9979
10692
  }
9980
10693
  },
9981
- emits: ["openChange", "select"],
10694
+ emits: [
10695
+ "update:open",
10696
+ "openChange",
10697
+ "select"
10698
+ ],
9982
10699
  setup(props, { slots, emit }) {
9983
10700
  const attrs = (0, vue.useAttrs)();
9984
10701
  const configCtx = (0, antdv_next_config_provider_context.useConfig)();
@@ -10011,6 +10728,7 @@
10011
10728
  }, { immediate: true });
10012
10729
  const triggerOpen = (nextOpen) => {
10013
10730
  if (props.open === void 0) innerOpen.value = nextOpen;
10731
+ emit("update:open", nextOpen);
10014
10732
  emit("openChange", nextOpen);
10015
10733
  };
10016
10734
  const onClose = () => {
@@ -11430,6 +12148,7 @@
11430
12148
  XActionsItem,
11431
12149
  FileCardWithSub,
11432
12150
  XFileCardList,
12151
+ folder_default,
11433
12152
  mermaid_default,
11434
12153
  XAttachments,
11435
12154
  Sender,
@@ -11465,6 +12184,7 @@
11465
12184
  exports.ConversationsCreation = Creation;
11466
12185
  exports.FileCard = FileCardWithSub;
11467
12186
  exports.FileCardList = XFileCardList;
12187
+ exports.Folder = folder_default;
11468
12188
  exports.Mermaid = mermaid_default;
11469
12189
  exports.Notification = notification_default;
11470
12190
  exports.Prompts = prompts_default;