@antdv-next/x 1.1.3-beta.5 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -59,7 +59,7 @@
59
59
  shiki_dist_themes_vitesse_dark_mjs = __toESM(shiki_dist_themes_vitesse_dark_mjs);
60
60
  shiki_dist_themes_vitesse_light_mjs = __toESM(shiki_dist_themes_vitesse_light_mjs);
61
61
  //#region package.json
62
- var version = "1.1.3-beta.5";
62
+ var version = "1.2.0";
63
63
  //#endregion
64
64
  //#region components/x-provider/context.ts
65
65
  var XProviderContextKey = Symbol("antdv-next-x-provider-context");
@@ -8352,8 +8352,8 @@
8352
8352
  if (nodeInfo.slotKey) {
8353
8353
  if (nodeInfo.nodeType === "nbsp") return " ";
8354
8354
  const config = nodeInfo.slotConfig;
8355
- if (!config || config.type === "content") return element.innerText || "";
8356
- const rawValue = slotValues.value[nodeInfo.slotKey];
8355
+ if (!config) return element.innerText || "";
8356
+ const rawValue = config.type === "content" ? element.innerText || "" : slotValues.value[nodeInfo.slotKey];
8357
8357
  return config.formatResult?.(rawValue) ?? stringifyValue(rawValue);
8358
8358
  }
8359
8359
  return element.innerText || "";
@@ -10685,7 +10685,11 @@
10685
10685
  var genSuggestionStyle = (token) => {
10686
10686
  const { componentCls, antCls } = token;
10687
10687
  return { [componentCls]: {
10688
- [`${antCls}-cascader-menus ${antCls}-cascader-menu`]: { height: "auto" },
10688
+ [`${antCls}-cascader-menus ${antCls}-cascader-menu`]: {
10689
+ height: "auto",
10690
+ maxHeight: 256,
10691
+ overflowY: "auto"
10692
+ },
10689
10693
  [`${componentCls}-item`]: {
10690
10694
  "&-icon": { marginInlineEnd: token.paddingXXS },
10691
10695
  "&-extra": { marginInlineStart: token.padding }
@@ -11114,6 +11118,10 @@
11114
11118
  blink: {
11115
11119
  type: Boolean,
11116
11120
  default: false
11121
+ },
11122
+ destroyOnHidden: {
11123
+ type: Boolean,
11124
+ default: true
11117
11125
  }
11118
11126
  },
11119
11127
  emits: ["update:expanded", "expand"],
@@ -11174,6 +11182,16 @@
11174
11182
  return rest;
11175
11183
  });
11176
11184
  const prefixCls = (0, vue.computed)(() => props.prefixCls);
11185
+ function renderContent() {
11186
+ return (0, vue.withDirectives)((0, vue.createVNode)("div", { "ref": contentRef }, [(0, vue.createVNode)("div", {
11187
+ "class": [
11188
+ `${prefixCls.value}-content`,
11189
+ contextConfig.value.classes?.content,
11190
+ props.classes?.content
11191
+ ],
11192
+ "style": [contextConfig.value.styles?.content, props.styles?.content]
11193
+ }, [slots.default?.()])]), [[vue.vShow, mergedExpanded.value]]);
11194
+ }
11177
11195
  expose({ get nativeElement() {
11178
11196
  return rootRef.value;
11179
11197
  } });
@@ -11213,20 +11231,14 @@
11213
11231
  }, [(0, vue.createVNode)(_antdv_next_icons.RightOutlined, null, null)])
11214
11232
  ]), (0, vue.createVNode)(vue.Transition, {
11215
11233
  "name": `${prefixCls.value}-collapse`,
11234
+ "persisted": !props.destroyOnHidden,
11216
11235
  "onBeforeEnter": onBeforeEnter,
11217
11236
  "onEnter": onEnter,
11218
11237
  "onAfterEnter": onAfterEnter,
11219
11238
  "onBeforeLeave": onBeforeLeave,
11220
11239
  "onLeave": onLeave,
11221
11240
  "onAfterLeave": onAfterLeave
11222
- }, { default: () => [mergedExpanded.value ? (0, vue.createVNode)("div", { "ref": contentRef }, [(0, vue.createVNode)("div", {
11223
- "class": [
11224
- `${prefixCls.value}-content`,
11225
- contextConfig.value.classes?.content,
11226
- props.classes?.content
11227
- ],
11228
- "style": [contextConfig.value.styles?.content, props.styles?.content]
11229
- }, [slots.default?.()])]) : null] })]);
11241
+ }, { default: () => [props.destroyOnHidden && !mergedExpanded.value ? null : renderContent()] })]);
11230
11242
  }
11231
11243
  });
11232
11244
  //#endregion
@@ -11740,6 +11752,13 @@
11740
11752
  originNode: item.footer
11741
11753
  }) : item.footer;
11742
11754
  const showContent = hasContent && (!collapsible || props.expanded);
11755
+ const destroyOnHidden = item.destroyOnHidden ?? true;
11756
+ const renderContent = () => {
11757
+ return (0, vue.withDirectives)((0, vue.createVNode)("div", null, [(0, vue.createVNode)("div", {
11758
+ "class": [`${cls}-content`, props.classes?.itemContent],
11759
+ "style": props.styles?.itemContent
11760
+ }, [(0, vue.createVNode)("div", { "class": `${cls}-content-box` }, [contentNode])])]), [[vue.vShow, showContent]]);
11761
+ };
11743
11762
  return (0, vue.createVNode)("div", {
11744
11763
  "class": [`${cls}`, props.classes?.item],
11745
11764
  "style": props.styles?.item
@@ -11747,16 +11766,14 @@
11747
11766
  renderHeader(contentNode),
11748
11767
  hasContent && (0, vue.createVNode)(vue.Transition, {
11749
11768
  "name": `${props.prefixCls}-collapse`,
11769
+ "persisted": !destroyOnHidden,
11750
11770
  "onBeforeEnter": onBeforeEnter,
11751
11771
  "onEnter": onEnter,
11752
11772
  "onAfterEnter": onAfterEnter,
11753
11773
  "onBeforeLeave": onBeforeLeave,
11754
11774
  "onLeave": onLeave,
11755
11775
  "onAfterLeave": onAfterLeave
11756
- }, { default: () => [showContent ? (0, vue.createVNode)("div", null, [(0, vue.createVNode)("div", {
11757
- "class": [`${cls}-content`, props.classes?.itemContent],
11758
- "style": props.styles?.itemContent
11759
- }, [(0, vue.createVNode)("div", { "class": `${cls}-content-box` }, [contentNode])])]) : null] }),
11776
+ }, { default: () => [destroyOnHidden && !showContent ? null : renderContent()] }),
11760
11777
  hasRenderableNode(footerNode) && (0, vue.createVNode)("div", {
11761
11778
  "class": [`${cls}-footer`, props.classes?.itemFooter],
11762
11779
  "style": props.styles?.itemFooter
package/dist/package.js CHANGED
@@ -1,4 +1,4 @@
1
1
  //#region package.json
2
- var version = "1.1.3-beta.5";
2
+ var version = "1.2.0";
3
3
  //#endregion
4
4
  export { version };
@@ -120,8 +120,8 @@ var SlotTextArea_default = /* @__PURE__ */ defineComponent({
120
120
  if (nodeInfo.slotKey) {
121
121
  if (nodeInfo.nodeType === "nbsp") return " ";
122
122
  const config = nodeInfo.slotConfig;
123
- if (!config || config.type === "content") return element.innerText || "";
124
- const rawValue = slotValues.value[nodeInfo.slotKey];
123
+ if (!config) return element.innerText || "";
124
+ const rawValue = config.type === "content" ? element.innerText || "" : slotValues.value[nodeInfo.slotKey];
125
125
  return config.formatResult?.(rawValue) ?? stringifyValue(rawValue);
126
126
  }
127
127
  return element.innerText || "";
@@ -4,7 +4,11 @@ import { mergeToken } from "@antdv-next/cssinjs/cssinjs-utils";
4
4
  var genSuggestionStyle = (token) => {
5
5
  const { componentCls, antCls } = token;
6
6
  return { [componentCls]: {
7
- [`${antCls}-cascader-menus ${antCls}-cascader-menu`]: { height: "auto" },
7
+ [`${antCls}-cascader-menus ${antCls}-cascader-menu`]: {
8
+ height: "auto",
9
+ maxHeight: 256,
10
+ overflowY: "auto"
11
+ },
8
12
  [`${componentCls}-item`]: {
9
13
  "&-icon": { marginInlineEnd: token.paddingXXS },
10
14
  "&-extra": { marginInlineStart: token.padding }
@@ -49,6 +49,10 @@ export declare const XThink: import('vue').DefineComponent<import('vue').Extract
49
49
  type: BooleanConstructor;
50
50
  default: boolean;
51
51
  };
52
+ destroyOnHidden: {
53
+ type: BooleanConstructor;
54
+ default: boolean;
55
+ };
52
56
  }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("expand" | "update:expanded")[], "expand" | "update:expanded", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
53
57
  prefixCls: {
54
58
  type: StringConstructor;
@@ -98,6 +102,10 @@ export declare const XThink: import('vue').DefineComponent<import('vue').Extract
98
102
  type: BooleanConstructor;
99
103
  default: boolean;
100
104
  };
105
+ destroyOnHidden: {
106
+ type: BooleanConstructor;
107
+ default: boolean;
108
+ };
101
109
  }>> & Readonly<{
102
110
  onExpand?: ((...args: any[]) => any) | undefined;
103
111
  "onUpdate:expanded"?: ((...args: any[]) => any) | undefined;
@@ -113,6 +121,7 @@ export declare const XThink: import('vue').DefineComponent<import('vue').Extract
113
121
  classes: Partial<Record<SemanticType, string>>;
114
122
  styles: Partial<Record<SemanticType, CSSProperties>>;
115
123
  title: VNodeChild;
124
+ destroyOnHidden: boolean;
116
125
  defaultExpanded: boolean;
117
126
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
118
127
  export default XThink;
@@ -1,7 +1,7 @@
1
1
  import useXComponentConfig from "../_utils/hooks/use-x-component-config.js";
2
2
  import think_default from "./icons/think.js";
3
3
  import style_default from "./style/index.js";
4
- import { Transition, computed, createVNode, defineComponent, mergeProps, ref, useAttrs, watch } from "vue";
4
+ import { Transition, computed, createVNode, defineComponent, mergeProps, ref, useAttrs, vShow, watch, withDirectives } from "vue";
5
5
  import { useConfig } from "antdv-next/config-provider/context";
6
6
  import { LoadingOutlined, RightOutlined } from "@antdv-next/icons";
7
7
  //#region components/think/Think.tsx
@@ -77,6 +77,10 @@ var XThink = /* @__PURE__ */ defineComponent({
77
77
  blink: {
78
78
  type: Boolean,
79
79
  default: false
80
+ },
81
+ destroyOnHidden: {
82
+ type: Boolean,
83
+ default: true
80
84
  }
81
85
  },
82
86
  emits: ["update:expanded", "expand"],
@@ -137,6 +141,16 @@ var XThink = /* @__PURE__ */ defineComponent({
137
141
  return rest;
138
142
  });
139
143
  const prefixCls = computed(() => props.prefixCls);
144
+ function renderContent() {
145
+ return withDirectives(createVNode("div", { "ref": contentRef }, [createVNode("div", {
146
+ "class": [
147
+ `${prefixCls.value}-content`,
148
+ contextConfig.value.classes?.content,
149
+ props.classes?.content
150
+ ],
151
+ "style": [contextConfig.value.styles?.content, props.styles?.content]
152
+ }, [slots.default?.()])]), [[vShow, mergedExpanded.value]]);
153
+ }
140
154
  expose({ get nativeElement() {
141
155
  return rootRef.value;
142
156
  } });
@@ -176,20 +190,14 @@ var XThink = /* @__PURE__ */ defineComponent({
176
190
  }, [createVNode(RightOutlined, null, null)])
177
191
  ]), createVNode(Transition, {
178
192
  "name": `${prefixCls.value}-collapse`,
193
+ "persisted": !props.destroyOnHidden,
179
194
  "onBeforeEnter": onBeforeEnter,
180
195
  "onEnter": onEnter,
181
196
  "onAfterEnter": onAfterEnter,
182
197
  "onBeforeLeave": onBeforeLeave,
183
198
  "onLeave": onLeave,
184
199
  "onAfterLeave": onAfterLeave
185
- }, { default: () => [mergedExpanded.value ? createVNode("div", { "ref": contentRef }, [createVNode("div", {
186
- "class": [
187
- `${prefixCls.value}-content`,
188
- contextConfig.value.classes?.content,
189
- props.classes?.content
190
- ],
191
- "style": [contextConfig.value.styles?.content, props.styles?.content]
192
- }, [slots.default?.()])]) : null] })]);
200
+ }, { default: () => [props.destroyOnHidden && !mergedExpanded.value ? null : renderContent()] })]);
193
201
  }
194
202
  });
195
203
  //#endregion
@@ -61,6 +61,12 @@ export interface ThinkProps extends Omit<HTMLAttributes, "title"> {
61
61
  * @descZH 标题文字闪烁动画
62
62
  */
63
63
  blink?: boolean;
64
+ /**
65
+ * @desc Whether to destroy the content node when collapsed
66
+ * @descZH 折叠时是否销毁内容节点
67
+ * @default true
68
+ */
69
+ destroyOnHidden?: boolean;
64
70
  }
65
71
  export interface ThinkRef {
66
72
  nativeElement: HTMLDivElement;
@@ -1,6 +1,6 @@
1
1
  import { hasRenderableNode } from "../_utils/vue.js";
2
2
  import { STATUS_ICON_MAP } from "./Status.js";
3
- import { Transition, computed, createVNode, defineComponent } from "vue";
3
+ import { Transition, computed, createVNode, defineComponent, vShow, withDirectives } from "vue";
4
4
  import { useConfig } from "antdv-next/config-provider/context";
5
5
  import { LeftOutlined, RightOutlined } from "@antdv-next/icons";
6
6
  //#region components/thought-chain/Node.tsx
@@ -164,6 +164,13 @@ var Node_default = /* @__PURE__ */ defineComponent({
164
164
  originNode: item.footer
165
165
  }) : item.footer;
166
166
  const showContent = hasContent && (!collapsible || props.expanded);
167
+ const destroyOnHidden = item.destroyOnHidden ?? true;
168
+ const renderContent = () => {
169
+ return withDirectives(createVNode("div", null, [createVNode("div", {
170
+ "class": [`${cls}-content`, props.classes?.itemContent],
171
+ "style": props.styles?.itemContent
172
+ }, [createVNode("div", { "class": `${cls}-content-box` }, [contentNode])])]), [[vShow, showContent]]);
173
+ };
167
174
  return createVNode("div", {
168
175
  "class": [`${cls}`, props.classes?.item],
169
176
  "style": props.styles?.item
@@ -171,16 +178,14 @@ var Node_default = /* @__PURE__ */ defineComponent({
171
178
  renderHeader(contentNode),
172
179
  hasContent && createVNode(Transition, {
173
180
  "name": `${props.prefixCls}-collapse`,
181
+ "persisted": !destroyOnHidden,
174
182
  "onBeforeEnter": onBeforeEnter,
175
183
  "onEnter": onEnter,
176
184
  "onAfterEnter": onAfterEnter,
177
185
  "onBeforeLeave": onBeforeLeave,
178
186
  "onLeave": onLeave,
179
187
  "onAfterLeave": onAfterLeave
180
- }, { default: () => [showContent ? createVNode("div", null, [createVNode("div", {
181
- "class": [`${cls}-content`, props.classes?.itemContent],
182
- "style": props.styles?.itemContent
183
- }, [createVNode("div", { "class": `${cls}-content-box` }, [contentNode])])]) : null] }),
188
+ }, { default: () => [destroyOnHidden && !showContent ? null : renderContent()] }),
184
189
  hasRenderableNode(footerNode) && createVNode("div", {
185
190
  "class": [`${cls}-footer`, props.classes?.itemFooter],
186
191
  "style": props.styles?.itemFooter
@@ -70,6 +70,12 @@ export interface ThoughtChainItemType {
70
70
  * @descZH 标题闪烁动画
71
71
  */
72
72
  blink?: boolean;
73
+ /**
74
+ * @desc Whether to destroy the content node when collapsed
75
+ * @descZH 折叠时是否销毁内容节点
76
+ * @default true
77
+ */
78
+ destroyOnHidden?: boolean;
73
79
  }
74
80
  export interface ThoughtChainProps extends Omit<HTMLAttributes, "title"> {
75
81
  /**
@@ -1,7 +1,7 @@
1
1
  import { S as e, _ as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c, i as l, l as u, m as d, n as f, o as p, p as m, r as h, s as g, t as _, u as v, v as y, x as b, y as x } from "./Serializer-D1JYN1kI.js";
2
2
  import { Comment as S, Fragment as C, Teleport as w, Text as T, Transition as E, TransitionGroup as D, cloneVNode as O, computed as k, createTextVNode as A, createVNode as j, defineComponent as M, getCurrentInstance as N, getCurrentScope as P, h as F, inject as I, isVNode as L, markRaw as R, mergeDefaults as z, mergeProps as B, nextTick as V, onBeforeMount as ee, onBeforeUnmount as H, onBeforeUpdate as U, onMounted as W, onScopeDispose as te, onUnmounted as ne, onUpdated as re, provide as G, reactive as ie, ref as K, render as ae, resolveDynamicComponent as oe, shallowReactive as se, shallowRef as q, toRaw as ce, toRef as le, toRefs as ue, toValue as de, triggerRef as fe, unref as pe, useAttrs as me, useId as he, useSlots as ge, vShow as _e, watch as J, watchEffect as ve, withDirectives as ye } from "vue";
3
3
  //#region package.json
4
- var be = "1.1.3-beta.5", xe = "anticon", Se = {}, Ce = [
4
+ var be = "1.2.0", xe = "anticon", Se = {}, Ce = [
5
5
  "outlined",
6
6
  "borderless",
7
7
  "filled",
@@ -52012,8 +52012,8 @@ var oI = /* @__PURE__ */ M({
52012
52012
  if (n.slotKey) {
52013
52013
  if (n.nodeType === "nbsp") return " ";
52014
52014
  let e = n.slotConfig;
52015
- if (!e || e.type === "content") return t.innerText || "";
52016
- let r = o.value[n.slotKey];
52015
+ if (!e) return t.innerText || "";
52016
+ let r = e.type === "content" ? t.innerText || "" : o.value[n.slotKey];
52017
52017
  return e.formatResult?.(r) ?? iI(r);
52018
52018
  }
52019
52019
  return t.innerText || "";
@@ -53899,7 +53899,11 @@ var OI = /* @__PURE__ */ M({
53899
53899
  }), MI = (e) => {
53900
53900
  let { componentCls: t, antCls: n } = e;
53901
53901
  return { [t]: {
53902
- [`${n}-cascader-menus ${n}-cascader-menu`]: { height: "auto" },
53902
+ [`${n}-cascader-menus ${n}-cascader-menu`]: {
53903
+ height: "auto",
53904
+ maxHeight: 256,
53905
+ overflowY: "auto"
53906
+ },
53903
53907
  [`${t}-item`]: {
53904
53908
  "&-icon": { marginInlineEnd: e.paddingXXS },
53905
53909
  "&-extra": { marginInlineStart: e.padding }
@@ -54249,6 +54253,10 @@ var FI = /* @__PURE__ */ M({
54249
54253
  blink: {
54250
54254
  type: Boolean,
54251
54255
  default: !1
54256
+ },
54257
+ destroyOnHidden: {
54258
+ type: Boolean,
54259
+ default: !0
54252
54260
  }
54253
54261
  },
54254
54262
  emits: ["update:expanded", "expand"],
@@ -54285,6 +54293,16 @@ var FI = /* @__PURE__ */ M({
54285
54293
  let { class: e, style: t, ...n } = i;
54286
54294
  return n;
54287
54295
  }), S = k(() => e.prefixCls);
54296
+ function C() {
54297
+ return ye(j("div", { ref: p }, [j("div", {
54298
+ class: [
54299
+ `${S.value}-content`,
54300
+ o.value.classes?.content,
54301
+ e.classes?.content
54302
+ ],
54303
+ style: [o.value.styles?.content, e.styles?.content]
54304
+ }, [t.default?.()])]), [[_e, d.value]]);
54305
+ }
54288
54306
  return r({ get nativeElement() {
54289
54307
  return s.value;
54290
54308
  } }), () => j("div", B({ ref: s }, x.value, {
@@ -54323,20 +54341,14 @@ var FI = /* @__PURE__ */ M({
54323
54341
  }, [j(_p, null, null)])
54324
54342
  ]), j(E, {
54325
54343
  name: `${S.value}-collapse`,
54344
+ persisted: !e.destroyOnHidden,
54326
54345
  onBeforeEnter: m,
54327
54346
  onEnter: h,
54328
54347
  onAfterEnter: g,
54329
54348
  onBeforeLeave: _,
54330
54349
  onLeave: v,
54331
54350
  onAfterLeave: y
54332
- }, { default: () => [d.value ? j("div", { ref: p }, [j("div", {
54333
- class: [
54334
- `${S.value}-content`,
54335
- o.value.classes?.content,
54336
- e.classes?.content
54337
- ],
54338
- style: [o.value.styles?.content, e.styles?.content]
54339
- }, [t.default?.()])]) : null] })]);
54351
+ }, { default: () => [e.destroyOnHidden && !d.value ? null : C()] })]);
54340
54352
  }
54341
54353
  }), BI = {
54342
54354
  loading: j(Zf, null, null),
@@ -54774,7 +54786,10 @@ var FI = /* @__PURE__ */ M({
54774
54786
  }) : t.content, h = Ie(a), g = !!t.collapsible && h, _ = e.footerRenderSlot ? e.footerRenderSlot({
54775
54787
  ...o(g),
54776
54788
  originNode: t.footer
54777
- }) : t.footer, v = h && (!g || e.expanded);
54789
+ }) : t.footer, v = h && (!g || e.expanded), y = t.destroyOnHidden ?? !0, b = () => ye(j("div", null, [j("div", {
54790
+ class: [`${n}-content`, e.classes?.itemContent],
54791
+ style: e.styles?.itemContent
54792
+ }, [j("div", { class: `${n}-content-box` }, [a])])]), [[_e, v]]);
54778
54793
  return j("div", {
54779
54794
  class: [`${n}`, e.classes?.item],
54780
54795
  style: e.styles?.item
@@ -54782,16 +54797,14 @@ var FI = /* @__PURE__ */ M({
54782
54797
  c(a),
54783
54798
  h && j(E, {
54784
54799
  name: `${e.prefixCls}-collapse`,
54800
+ persisted: !y,
54785
54801
  onBeforeEnter: l,
54786
54802
  onEnter: u,
54787
54803
  onAfterEnter: d,
54788
54804
  onBeforeLeave: f,
54789
54805
  onLeave: p,
54790
54806
  onAfterLeave: m
54791
- }, { default: () => [v ? j("div", null, [j("div", {
54792
- class: [`${n}-content`, e.classes?.itemContent],
54793
- style: e.styles?.itemContent
54794
- }, [j("div", { class: `${n}-content-box` }, [a])])]) : null] }),
54807
+ }, { default: () => [y && !v ? null : b()] }),
54795
54808
  Ie(_) && j("div", {
54796
54809
  class: [`${n}-footer`, e.classes?.itemFooter],
54797
54810
  style: e.styles?.itemFooter
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antdv-next/x",
3
- "version": "1.1.3-beta.5",
3
+ "version": "1.2.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "dist",