antdv-next 1.5.3 → 1.5.4

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 (157) hide show
  1. package/dist/_util/hooks/useMergedMask.js +1 -1
  2. package/dist/_util/vueNode.d.ts +6 -2
  3. package/dist/alert/Alert.js +7 -7
  4. package/dist/anchor/AnchorLink.d.ts +4 -3
  5. package/dist/antd-with-locales.esm.js +14779 -13866
  6. package/dist/antd-with-locales.js +81 -81
  7. package/dist/antd.css +1 -1
  8. package/dist/antd.esm.js +11089 -10516
  9. package/dist/antd.js +81 -81
  10. package/dist/auto-complete/index.d.ts +3 -3
  11. package/dist/auto-complete/index.js +4 -0
  12. package/dist/breadcrumb/Breadcrumb.js +4 -3
  13. package/dist/breadcrumb/BreadcrumbItem.js +1 -1
  14. package/dist/card/Card.d.ts +5 -1
  15. package/dist/card/Card.js +5 -2
  16. package/dist/cascader/index.d.ts +6 -6
  17. package/dist/cascader/index.js +9 -0
  18. package/dist/color-picker/ColorPicker.js +7 -7
  19. package/dist/config-provider/SizeContext.d.ts +1 -1
  20. package/dist/config-provider/SizeContext.js +1 -1
  21. package/dist/config-provider/hooks/useTheme.js +2 -1
  22. package/dist/date-picker/generatePicker/generateRangePicker.js +15 -2
  23. package/dist/date-picker/generatePicker/generateSinglePicker.js +14 -1
  24. package/dist/date-picker/generatePicker/useComponents.d.ts +2 -2
  25. package/dist/date-picker/locale/ar_EG.js +8 -0
  26. package/dist/date-picker/locale/bg_BG.js +8 -0
  27. package/dist/date-picker/locale/ca_ES.js +8 -0
  28. package/dist/date-picker/locale/cs_CZ.js +8 -0
  29. package/dist/date-picker/locale/da_DK.js +8 -0
  30. package/dist/date-picker/locale/de_DE.js +11 -1
  31. package/dist/date-picker/locale/es_ES.js +8 -0
  32. package/dist/date-picker/locale/fi_FI.js +8 -0
  33. package/dist/date-picker/locale/fr_BE.js +1 -0
  34. package/dist/date-picker/locale/fr_CA.js +1 -0
  35. package/dist/date-picker/locale/fr_FR.js +1 -0
  36. package/dist/date-picker/locale/gl_ES.js +8 -0
  37. package/dist/date-picker/locale/he_IL.js +8 -0
  38. package/dist/date-picker/locale/hi_IN.js +1 -0
  39. package/dist/date-picker/locale/hr_HR.js +1 -0
  40. package/dist/date-picker/locale/hu_HU.js +8 -0
  41. package/dist/date-picker/locale/it_IT.js +8 -0
  42. package/dist/date-picker/locale/ms_MY.js +8 -0
  43. package/dist/date-picker/locale/nb_NO.js +1 -0
  44. package/dist/date-picker/locale/nl_BE.js +1 -0
  45. package/dist/date-picker/locale/nl_NL.js +1 -0
  46. package/dist/date-picker/locale/pl_PL.js +8 -0
  47. package/dist/date-picker/locale/pt_BR.js +8 -0
  48. package/dist/date-picker/locale/pt_PT.js +8 -0
  49. package/dist/date-picker/locale/ro_RO.js +8 -0
  50. package/dist/date-picker/locale/ru_RU.js +1 -0
  51. package/dist/date-picker/locale/sk_SK.js +8 -0
  52. package/dist/date-picker/locale/sr_RS.js +1 -0
  53. package/dist/date-picker/locale/sv_SE.js +1 -0
  54. package/dist/date-picker/locale/th_TH.js +1 -0
  55. package/dist/date-picker/locale/tr_TR.js +1 -0
  56. package/dist/date-picker/locale/uk_UA.js +1 -0
  57. package/dist/date-picker/locale/zh_TW.js +1 -1
  58. package/dist/date-picker/util.d.ts +4 -4
  59. package/dist/descriptions/Row.js +4 -3
  60. package/dist/descriptions/hooks/useItems.d.ts +4 -4
  61. package/dist/drawer/DrawerPanel.js +7 -4
  62. package/dist/drawer/index.js +2 -1
  63. package/dist/dropdown/dropdown.d.ts +3 -6
  64. package/dist/dropdown/dropdown.js +8 -4
  65. package/dist/empty/index.js +2 -1
  66. package/dist/float-button/FloatButton.js +1 -1
  67. package/dist/float-button/style/group.js +31 -5
  68. package/dist/form/FormItemLabel.js +1 -1
  69. package/dist/form/style/index.js +4 -1
  70. package/dist/image/hooks/usePreviewConfig.d.ts +3 -3
  71. package/dist/input/Password.js +2 -2
  72. package/dist/input/Search.js +1 -4
  73. package/dist/input-number/index.d.ts +11 -0
  74. package/dist/input-number/index.js +21 -0
  75. package/dist/input-number/style/index.js +25 -2
  76. package/dist/listy/index.js +4 -0
  77. package/dist/locale/ar_EG.js +4 -0
  78. package/dist/locale/bg_BG.js +4 -0
  79. package/dist/locale/ca_ES.js +4 -0
  80. package/dist/locale/cs_CZ.js +4 -0
  81. package/dist/locale/da_DK.js +4 -0
  82. package/dist/locale/de_DE.js +4 -0
  83. package/dist/locale/el_GR.js +4 -0
  84. package/dist/locale/en_GB.js +4 -0
  85. package/dist/locale/es_ES.js +4 -0
  86. package/dist/locale/et_EE.js +4 -0
  87. package/dist/locale/fa_IR.js +4 -0
  88. package/dist/locale/fi_FI.js +4 -0
  89. package/dist/locale/fr_BE.js +4 -0
  90. package/dist/locale/fr_CA.js +4 -0
  91. package/dist/locale/fr_FR.js +4 -0
  92. package/dist/locale/gl_ES.js +4 -0
  93. package/dist/locale/he_IL.js +4 -0
  94. package/dist/locale/hi_IN.js +4 -0
  95. package/dist/locale/hr_HR.js +4 -0
  96. package/dist/locale/hu_HU.js +4 -0
  97. package/dist/locale/id_ID.js +4 -0
  98. package/dist/locale/it_IT.js +4 -0
  99. package/dist/locale/ja_JP.js +4 -0
  100. package/dist/locale/ko_KR.js +4 -0
  101. package/dist/locale/lt_LT.js +4 -0
  102. package/dist/locale/lv_LV.js +4 -0
  103. package/dist/locale/ms_MY.js +4 -0
  104. package/dist/locale/nb_NO.js +4 -0
  105. package/dist/locale/nl_BE.js +4 -0
  106. package/dist/locale/nl_NL.js +4 -0
  107. package/dist/locale/pl_PL.js +4 -0
  108. package/dist/locale/pt_BR.js +4 -0
  109. package/dist/locale/pt_PT.js +4 -0
  110. package/dist/locale/ro_RO.js +4 -0
  111. package/dist/locale/ru_RU.js +4 -0
  112. package/dist/locale/sk_SK.js +4 -0
  113. package/dist/locale/sl_SI.js +4 -0
  114. package/dist/locale/sr_RS.js +4 -0
  115. package/dist/locale/sv_SE.js +4 -0
  116. package/dist/locale/th_TH.js +4 -0
  117. package/dist/locale/tr_TR.js +4 -0
  118. package/dist/locale/uk_UA.js +4 -0
  119. package/dist/locale/vi_VN.js +4 -0
  120. package/dist/locale/zh_HK.js +4 -0
  121. package/dist/locale/zh_TW.js +5 -1
  122. package/dist/menu/style/theme.js +1 -0
  123. package/dist/modal/components/NormalCancelBtn.js +6 -1
  124. package/dist/modal/interface.d.ts +1 -0
  125. package/dist/notification/useNotification.js +1 -1
  126. package/dist/package.js +1 -1
  127. package/dist/popconfirm/PurePanel.js +1 -1
  128. package/dist/popconfirm/index.js +6 -6
  129. package/dist/popover/index.js +6 -6
  130. package/dist/radio/radio.js +2 -1
  131. package/dist/segmented/index.js +1 -4
  132. package/dist/segmented/style/index.js +5 -1
  133. package/dist/select/index.d.ts +3 -2
  134. package/dist/select/index.js +8 -4
  135. package/dist/skeleton/Image.js +3 -1
  136. package/dist/slider/index.d.ts +1 -0
  137. package/dist/slider/index.js +4 -0
  138. package/dist/space/Compact.d.ts +1 -1
  139. package/dist/statistic/Statistic.js +4 -3
  140. package/dist/steps/ProgressIcon.js +7 -10
  141. package/dist/table/hooks/useFilter/FilterDropdown.js +14 -14
  142. package/dist/table/interface.d.ts +1 -1
  143. package/dist/table/style/virtual.js +2 -1
  144. package/dist/tabs/index.js +4 -1
  145. package/dist/tag/CheckableTag.js +5 -3
  146. package/dist/tag/CheckableTagGroup.js +1 -1
  147. package/dist/tag/index.js +2 -2
  148. package/dist/time-picker/index.js +26 -0
  149. package/dist/tooltip/index.js +4 -4
  150. package/dist/tree/DirectoryTree.js +1 -0
  151. package/dist/tree-select/index.d.ts +4 -4
  152. package/dist/tree-select/index.js +4 -0
  153. package/dist/version/token.json +1 -1
  154. package/dist/watermark/useClips.js +1 -0
  155. package/package.json +30 -30
  156. package/web-tags.json +1436 -1408
  157. package/web-types.json +5187 -5102
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/pl_PL";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Wybierz datę",
7
+ yearPlaceholder: "Wybierz rok",
8
+ quarterPlaceholder: "Wybierz kwartał",
9
+ monthPlaceholder: "Wybierz miesiąc",
10
+ weekPlaceholder: "Wybierz tydzień",
7
11
  rangePlaceholder: ["Data początkowa", "Data końcowa"],
12
+ rangeYearPlaceholder: ["Rok początkowy", "Rok końcowy"],
13
+ rangeQuarterPlaceholder: ["Kwartał początkowy", "Kwartał końcowy"],
14
+ rangeMonthPlaceholder: ["Miesiąc początkowy", "Miesiąc końcowy"],
15
+ rangeWeekPlaceholder: ["Tydzień początkowy", "Tydzień końcowy"],
8
16
  yearFormat: "YYYY",
9
17
  monthFormat: "MMMM",
10
18
  monthBeforeYear: true,
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/pt_BR";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Selecionar data",
7
+ yearPlaceholder: "Selecionar ano",
8
+ quarterPlaceholder: "Selecionar trimestre",
9
+ monthPlaceholder: "Selecionar mês",
10
+ weekPlaceholder: "Selecionar semana",
7
11
  rangePlaceholder: ["Data inicial", "Data final"],
12
+ rangeYearPlaceholder: ["Ano inicial", "Ano final"],
13
+ rangeQuarterPlaceholder: ["Trimestre inicial", "Trimestre final"],
14
+ rangeMonthPlaceholder: ["Mês inicial", "Mês final"],
15
+ rangeWeekPlaceholder: ["Semana inicial", "Semana final"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -5,7 +5,15 @@ const locale = {
5
5
  lang: {
6
6
  ...CalendarLocale,
7
7
  placeholder: "Data",
8
+ yearPlaceholder: "Ano",
9
+ quarterPlaceholder: "Trimestre",
10
+ monthPlaceholder: "Mês",
11
+ weekPlaceholder: "Semana",
8
12
  rangePlaceholder: ["Data inicial", "Data final"],
13
+ rangeYearPlaceholder: ["Ano inicial", "Ano final"],
14
+ rangeQuarterPlaceholder: ["Trimestre inicial", "Trimestre final"],
15
+ rangeMonthPlaceholder: ["Mês inicial", "Mês final"],
16
+ rangeWeekPlaceholder: ["Semana inicial", "Semana final"],
9
17
  today: "Hoje",
10
18
  now: "Agora",
11
19
  backToToday: "Hoje",
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/ro_RO";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Selectează data",
7
+ yearPlaceholder: "Selectează anul",
8
+ quarterPlaceholder: "Selectează trimestrul",
9
+ monthPlaceholder: "Selectează luna",
10
+ weekPlaceholder: "Selectează săptămâna",
7
11
  rangePlaceholder: ["Data start", "Data sfârșit"],
12
+ rangeYearPlaceholder: ["An start", "An sfârșit"],
13
+ rangeQuarterPlaceholder: ["Trimestru start", "Trimestru sfârșit"],
14
+ rangeMonthPlaceholder: ["Lună start", "Lună sfârșit"],
15
+ rangeWeekPlaceholder: ["Săptămână start", "Săptămână sfârșit"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -10,6 +10,7 @@ const locale = {
10
10
  weekPlaceholder: "Выберите неделю",
11
11
  rangePlaceholder: ["Начальная дата", "Конечная дата"],
12
12
  rangeYearPlaceholder: ["Начальный год", "Год окончания"],
13
+ rangeQuarterPlaceholder: ["Начальный квартал", "Конечный квартал"],
13
14
  rangeMonthPlaceholder: ["Начальный месяц", "Конечный месяц"],
14
15
  rangeWeekPlaceholder: ["Начальная неделя", "Конечная неделя"],
15
16
  shortWeekDays: [
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/sk_SK";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Vybrať dátum",
7
+ yearPlaceholder: "Vybrať rok",
8
+ quarterPlaceholder: "Vybrať štvrťrok",
9
+ monthPlaceholder: "Vybrať mesiac",
10
+ weekPlaceholder: "Vybrať týždeň",
7
11
  rangePlaceholder: ["Od", "Do"],
12
+ rangeYearPlaceholder: ["Začiatočný rok", "Koncový rok"],
13
+ rangeQuarterPlaceholder: ["Začiatočný štvrťrok", "Koncový štvrťrok"],
14
+ rangeMonthPlaceholder: ["Začiatočný mesiac", "Koncový mesiac"],
15
+ rangeWeekPlaceholder: ["Začiatočný týždeň", "Koncový týždeň"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -10,6 +10,7 @@ const locale = {
10
10
  weekPlaceholder: "Izaberi sedmicu",
11
11
  rangePlaceholder: ["Datum početka", "Datum završetka"],
12
12
  rangeYearPlaceholder: ["Godina početka", "Godina završetka"],
13
+ rangeQuarterPlaceholder: ["Tromesečje početka", "Tromesečje završetka"],
13
14
  rangeMonthPlaceholder: ["Mesec početka", "Mesec završetka"],
14
15
  rangeWeekPlaceholder: ["Sedmica početka", "Sedmica završetka"],
15
16
  ...CalendarLocale
@@ -10,6 +10,7 @@ const locale = {
10
10
  weekPlaceholder: "Välj vecka",
11
11
  rangePlaceholder: ["Startdatum", "Slutdatum"],
12
12
  rangeYearPlaceholder: ["Startår", "Slutår"],
13
+ rangeQuarterPlaceholder: ["Startkvartal", "Slutkvartal"],
13
14
  rangeMonthPlaceholder: ["Startmånad", "Slutmånad"],
14
15
  rangeWeekPlaceholder: ["Startvecka", "Slutvecka"],
15
16
  ...CalendarLocale
@@ -10,6 +10,7 @@ const locale = {
10
10
  weekPlaceholder: "เลือกสัปดาห์",
11
11
  rangePlaceholder: ["วันเริ่มต้น", "วันสิ้นสุด"],
12
12
  rangeYearPlaceholder: ["ปีเริ่มต้น", "ปีสิ้นสุด"],
13
+ rangeQuarterPlaceholder: ["ไตรมาสเริ่มต้น", "ไตรมาสสิ้นสุด"],
13
14
  rangeMonthPlaceholder: ["เดือนเริ่มต้น", "เดือนสิ้นสุด"],
14
15
  rangeWeekPlaceholder: ["สัปดาห์เริ่มต้น", "สัปดาห์สิ้นสุด"],
15
16
  ...CalendarLocale
@@ -10,6 +10,7 @@ const locale = {
10
10
  weekPlaceholder: "Hafta seç",
11
11
  rangePlaceholder: ["Başlangıç tarihi", "Bitiş tarihi"],
12
12
  rangeYearPlaceholder: ["Başlangıç yılı", "Bitiş yılı"],
13
+ rangeQuarterPlaceholder: ["Başlangıç çeyreği", "Bitiş çeyreği"],
13
14
  rangeMonthPlaceholder: ["Başlangıç ayı", "Bitiş ayı"],
14
15
  rangeWeekPlaceholder: ["Başlangıç haftası", "Bitiş haftası"],
15
16
  ...CalendarLocale
@@ -10,6 +10,7 @@ const locale = {
10
10
  weekPlaceholder: "Оберіть тиждень",
11
11
  rangePlaceholder: ["Початкова дата", "Кінцева дата"],
12
12
  rangeYearPlaceholder: ["Початковий рік", "Кінцевий рік"],
13
+ rangeQuarterPlaceholder: ["Початковий квартал", "Кінцевий квартал"],
13
14
  rangeMonthPlaceholder: ["Початковий місяць", "Кінцевий місяць"],
14
15
  rangeWeekPlaceholder: ["Початковий тиждень", "Кінцевий тиждень"],
15
16
  shortWeekDays: [
@@ -17,6 +17,6 @@ const locale = {
17
17
  },
18
18
  timePickerLocale: { ...locale$1 }
19
19
  };
20
- locale.lang.ok = "確 定";
20
+ locale.lang.ok = "確定";
21
21
  //#endregion
22
22
  export { locale as default };
@@ -6,14 +6,14 @@ import { PickerMode } from "@v-c/picker";
6
6
  declare function getPlaceholder(locale: PickerLocale, picker?: PickerMode, customizePlaceholder?: string): string;
7
7
  declare function getRangePlaceholder(locale: PickerLocale, picker?: PickerMode, customizePlaceholder?: [string, string]): [string, string] | undefined;
8
8
  declare function useIcons(props: Pick<PickerProps$1, 'allowClear' | 'removeIcon'>, prefixCls: string): readonly [false, string | number | boolean | import("vue/jsx-runtime").JSX.Element | RenderNodeFn<any[]> | null] | readonly [{
9
- clearIcon: string | number | boolean | import("vue").ComponentOptions<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions> | import("vue").FunctionalComponent<any, {}, any, {}> | {
9
+ clearIcon: string | number | boolean | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
10
+ [key: string]: any;
11
+ }> | import("vue").ComponentOptions<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, import("vue").ComponentProvideOptions> | import("vue").FunctionalComponent<any, {}, any, {}> | {
10
12
  new (...args: any[]): any;
11
13
  __isFragment?: never;
12
14
  __isTeleport?: never;
13
15
  __isSuspense?: never;
14
- } | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
15
- [key: string]: any;
16
- }> | RenderNodeFn<any[]> | (string | number | boolean | void | import("vue").Component | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
16
+ } | RenderNodeFn<any[]> | (string | number | boolean | void | import("vue").Component | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
17
17
  [key: string]: any;
18
18
  }> | null | undefined)[] | null | undefined;
19
19
  }, string | number | boolean | import("vue/jsx-runtime").JSX.Element | RenderNodeFn<any[]> | null];
@@ -9,6 +9,7 @@ function renderCells(items, { colon, prefixCls, bordered, labelRender, contentRe
9
9
  const { prefixCls: itemPrefixCls = prefixCls, span = 1, key, styles, style } = item;
10
10
  let label = getSlotPropsFnRun({}, item, "label");
11
11
  let children = getSlotPropsFnRun({}, item, "content");
12
+ const mergedKey = key ?? index;
12
13
  const className = item.class;
13
14
  if (labelRender) {
14
15
  const _oldLabel = label;
@@ -31,7 +32,7 @@ function renderCells(items, { colon, prefixCls, bordered, labelRender, contentRe
31
32
  children = _child.length > 0 ? _child : _oldChild;
32
33
  }
33
34
  if (typeof component === "string") return createVNode(Cell, {
34
- "key": `${type}-${key || index}`,
35
+ "key": `${type}-${mergedKey}`,
35
36
  "class": className,
36
37
  "style": style,
37
38
  "styles": {
@@ -54,7 +55,7 @@ function renderCells(items, { colon, prefixCls, bordered, labelRender, contentRe
54
55
  "type": type
55
56
  }, null);
56
57
  return [createVNode(Cell, {
57
- "key": `label-${key || index}`,
58
+ "key": `label-${mergedKey}`,
58
59
  "class": className,
59
60
  "style": {
60
61
  ...rootStyles?.label,
@@ -69,7 +70,7 @@ function renderCells(items, { colon, prefixCls, bordered, labelRender, contentRe
69
70
  "label": label,
70
71
  "type": "label"
71
72
  }, null), createVNode(Cell, {
72
- "key": `content-${key || index}`,
73
+ "key": `content-${mergedKey}`,
73
74
  "class": className,
74
75
  "style": {
75
76
  ...rootStyles?.content,
@@ -8,22 +8,22 @@ declare function useItems(screens: Ref<ScreenMap>, items: Ref<DescriptionsItemTy
8
8
  filled: boolean;
9
9
  _$index: number;
10
10
  key?: import("@v-c/util/dist/type").Key;
11
+ rootClass?: string | undefined;
12
+ classes?: CellSemanticClassNames | undefined;
11
13
  styles?: CellSemanticStyles | undefined;
12
14
  style?: import("vue").CSSProperties | undefined;
13
15
  label?: VueNode;
14
16
  class?: string | undefined;
15
- classes?: CellSemanticClassNames | undefined;
16
- rootClass?: string | undefined;
17
17
  content?: VueNode;
18
18
  } | {
19
19
  span: number | undefined;
20
20
  key?: import("@v-c/util/dist/type").Key;
21
+ rootClass?: string | undefined;
22
+ classes?: CellSemanticClassNames | undefined;
21
23
  styles?: CellSemanticStyles | undefined;
22
24
  style?: import("vue").CSSProperties | undefined;
23
25
  label?: VueNode;
24
26
  class?: string | undefined;
25
- classes?: CellSemanticClassNames | undefined;
26
- rootClass?: string | undefined;
27
27
  content?: VueNode;
28
28
  _$index: number;
29
29
  })[]>;
@@ -1,6 +1,7 @@
1
1
  import { useComponentBaseConfig } from "../config-provider/context.js";
2
2
  import { useMergeSemantic, useToArr, useToProps } from "../_util/hooks/useMergeSemantic.js";
3
3
  import { getSlotPropsFnRun, toPropsRefs } from "../_util/tools.js";
4
+ import { isRenderable } from "../_util/is.js";
4
5
  import { cloneElement } from "../_util/vueNode.js";
5
6
  import useClosable, { pickClosable } from "../_util/hooks/useClosable.js";
6
7
  import skeleton_default from "../skeleton/index.js";
@@ -56,22 +57,24 @@ const DrawerPanel = /* @__PURE__ */ defineComponent((props, { slots }) => {
56
57
  const extra = getSlotPropsFnRun(slots, props, "extra");
57
58
  const [mergedClosable, mergedCloseIcon, closeBtnIsDisabled] = closableInfo.value;
58
59
  const mergedCloseButton = cloneElement(mergedCloseIcon, { disabled: closeBtnIsDisabled });
60
+ const hasTitle = isRenderable(title);
61
+ const hasExtra = isRenderable(extra);
59
62
  const renderHeader = () => {
60
- if (!title && !mergedClosable) return null;
63
+ if (!hasTitle && !mergedClosable && !hasExtra) return null;
61
64
  return createVNode("div", {
62
65
  "style": {
63
66
  ...mergedStyles.value?.header,
64
67
  ...headerStyle
65
68
  },
66
- "class": clsx(`${prefixCls}-header`, mergedClassNames.value.header, { [`${prefixCls}-header-close-only`]: mergedClosable && !title && !extra })
69
+ "class": clsx(`${prefixCls}-header`, mergedClassNames.value.header, { [`${prefixCls}-header-close-only`]: mergedClosable && !hasTitle && !hasExtra })
67
70
  }, [createVNode("div", { "class": `${prefixCls}-header-title` }, [
68
71
  closablePlacement.value === "start" && mergedCloseButton,
69
- !!title && createVNode("div", {
72
+ hasTitle && createVNode("div", {
70
73
  "class": clsx(`${prefixCls}-title`, mergedClassNames.value.title),
71
74
  "style": mergedStyles.value.title,
72
75
  "id": ariaId
73
76
  }, [title]),
74
- !!extra && createVNode("div", {
77
+ hasExtra && createVNode("div", {
75
78
  "class": clsx(`${prefixCls}-extra`, mergedClassNames.value.extra),
76
79
  "style": mergedStyles.value.extra
77
80
  }, [extra])
@@ -6,6 +6,7 @@ import { getAttrStyleAndClass, useMergeSemantic, useSemanticRootStyle, useToArr,
6
6
  import { ZIndexProvider } from "../_util/zindexContext.js";
7
7
  import { useZIndex } from "../_util/hooks/useZIndex.js";
8
8
  import { toPropsRefs } from "../_util/tools.js";
9
+ import { isRenderable } from "../_util/is.js";
9
10
  import useFocusable from "./useFocusable.js";
10
11
  import { usePanelRef } from "../watermark/context.js";
11
12
  import DrawerPanel from "./DrawerPanel.js";
@@ -90,7 +91,7 @@ const Drawer = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs }) =
90
91
  }, rootClass, hashId.value, cssVarCls.value, mergedClassNames.value.root);
91
92
  const getContainer = customizeGetContainer === void 0 && getPopupContainer ? () => getPopupContainer(document.body) : customizeGetContainer;
92
93
  const ariaLabelledby = restAttrs["aria-labelledby"];
93
- const ariaId = rest.title ? id : void 0;
94
+ const ariaId = isRenderable(rest.title) ? id : void 0;
94
95
  return createVNode(ContextIsolator, {
95
96
  "form": true,
96
97
  "space": true
@@ -4,7 +4,7 @@ import { AdjustOverflow } from "../_util/placements.js";
4
4
  import { MenuEmits, MenuSlots } from "../menu/menu.js";
5
5
  import { MenuProps as MenuProps$1 } from "../menu/index.js";
6
6
  import { ComponentBaseProps } from "../config-provider/context.js";
7
- import { CSSProperties, SlotsType } from "vue";
7
+ import { CSSProperties, SlotsType, VNode, VNodeChild } from "vue";
8
8
  import { AlignType } from "@v-c/trigger";
9
9
  import { MenuProps } from "@v-c/menu";
10
10
  //#region src/dropdown/dropdown.d.ts
@@ -40,7 +40,7 @@ interface DropdownProps extends ComponentBaseProps, DropdownEmitsProps {
40
40
  autoFocus?: boolean;
41
41
  arrow?: boolean | DropdownArrowOptions;
42
42
  trigger?: ('click' | 'hover' | 'contextmenu' | 'contextMenu')[];
43
- popupRender?: (Vnode: any) => any;
43
+ popupRender?: (node: VNode) => VNodeChild;
44
44
  open?: boolean;
45
45
  disabled?: boolean;
46
46
  destroyOnHidden?: boolean;
@@ -68,10 +68,7 @@ interface DropdownEmitsProps {
68
68
  onMenuClick?: DropdownEmits['menuClick'];
69
69
  }
70
70
  interface DropdownSlots extends MenuSlots {
71
- popupRender: (info: {
72
- open: boolean;
73
- source: 'trigger' | 'menu';
74
- }) => any;
71
+ popupRender: (node: VNode) => VNodeChild;
75
72
  }
76
73
  declare const Dropdown: import("vue").DefineSetupFnComponent<DropdownProps, DropdownEmits, SlotsType<DropdownSlots>, DropdownProps, import("vue").PublicProps>;
77
74
  //#endregion
@@ -118,8 +118,12 @@ const Dropdown = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs })
118
118
  }
119
119
  }), omit(slots, ["default", "popupRender"]));
120
120
  if (mergedPopupRender) overlayNode = mergedPopupRender(overlayNode);
121
- const overlayFiltered = filterEmpty(Array.isArray(overlayNode) ? overlayNode : [overlayNode]).filter(Boolean);
122
- overlayNode = overlayFiltered.length === 1 ? typeof overlayFiltered[0] === "string" ? createVNode("span", null, [overlayFiltered]) : overlayFiltered : overlayFiltered;
121
+ if (typeof overlayNode === "string") {
122
+ (function() {
123
+ return overlayNode;
124
+ })();
125
+ overlayNode = createVNode("span", null, [overlayNode]);
126
+ }
123
127
  return createVNode(OverrideProvider, { "value": {
124
128
  prefixCls: `${prefixCls.value}-menu`,
125
129
  rootClass: clsx(cssVarCls.value, rootCls.value),
@@ -136,7 +140,7 @@ const Dropdown = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs })
136
140
  let renderNode = createVNode(VcDropdown, mergeProps({ "alignPoint": alignPoint.value }, attrs, omit(props, ["rootClass"]), {
137
141
  "mouseEnterDelay": mouseEnterDelay,
138
142
  "mouseLeaveDelay": mouseLeaveDelay,
139
- "visible": mergedOpen.value,
143
+ "open": mergedOpen.value,
140
144
  "builtinPlacements": builtinPlacements.value,
141
145
  "arrow": !!arrow,
142
146
  "prefixCls": prefixCls.value,
@@ -145,7 +149,7 @@ const Dropdown = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs })
145
149
  "trigger": triggerActions.value,
146
150
  "overlay": renderOverlay,
147
151
  "placement": memoPlacement.value,
148
- "onVisibleChange": onInnerOpenChange,
152
+ "onOpenChange": onInnerOpenChange,
149
153
  "overlayStyle": {
150
154
  ...mergedStyles.value?.root,
151
155
  zIndex: zIndex.value
@@ -1,6 +1,7 @@
1
1
  import { useComponentBaseConfig, useComponentConfig } from "../config-provider/context.js";
2
2
  import { pureAttrs, useMergeSemantic, useSemanticRootStyle, useToArr, useToProps } from "../_util/hooks/useMergeSemantic.js";
3
3
  import { getSlotPropsFnRun, toPropsRefs as toPropsRefs$1 } from "../_util/tools.js";
4
+ import { isRenderable } from "../_util/is.js";
4
5
  import useLocale from "../locale/useLocale.js";
5
6
  import Empty$1 from "./empty.js";
6
7
  import Simple from "./simple.js";
@@ -45,7 +46,7 @@ const Empty = /* @__PURE__ */ defineComponent((props, { slots, attrs, expose })
45
46
  "class": classNames(`${prefixCls.value}-image`, mergedClassNames.value.image),
46
47
  "style": mergedStyles.value.image
47
48
  }, [imageNode]),
48
- des && createVNode("div", {
49
+ isRenderable(des) && createVNode("div", {
49
50
  "class": classNames(`${prefixCls.value}-description`, mergedClassNames.value.description),
50
51
  "style": mergedStyles.value.description
51
52
  }, [des]),
@@ -4,8 +4,8 @@ import { useZIndex } from "../_util/hooks/useZIndex.js";
4
4
  import { getSlotPropsFnRun, toPropsRefs as toPropsRefs$1 } from "../_util/tools.js";
5
5
  import useCSSVarCls from "../config-provider/hooks/useCSSVarCls.js";
6
6
  import InternalTooltip from "../tooltip/index.js";
7
- import button_default from "../button/index.js";
8
7
  import { isRenderable } from "../_util/is.js";
8
+ import button_default from "../button/index.js";
9
9
  import Badge from "../badge/index.js";
10
10
  import { useGroupContext } from "./context.js";
11
11
  import convertToTooltipProps from "../_util/convertToTooltipProps.js";
@@ -7,6 +7,7 @@ const genGroupStyle = (token) => {
7
7
  const groupCls = `${componentCls}-group`;
8
8
  const listCls = `${groupCls}-list`;
9
9
  const [varName, varRef] = genCssVar(antCls, "float-btn");
10
+ const bridgeGap = unit(token.calc(padding).mul(-1).equal());
10
11
  return { [groupCls]: [
11
12
  {
12
13
  [varName("list-transform-start")]: `translate(0,${unit(floatButtonSize)})`,
@@ -32,7 +33,14 @@ const genGroupStyle = (token) => {
32
33
  {
33
34
  [`&:not(${groupCls}-individual) ${listCls}`]: { boxShadow: token.boxShadowSecondary },
34
35
  [`&${groupCls}-individual ${listCls}`]: { gap: padding },
35
- [`&-menu-mode ${listCls}`]: { position: "absolute" },
36
+ [`&-menu-mode ${listCls}`]: {
37
+ position: "absolute",
38
+ "&::after": {
39
+ content: "\"\"",
40
+ position: "absolute",
41
+ inset: 0
42
+ }
43
+ },
36
44
  [listCls]: {
37
45
  borderRadius: token.borderRadiusLG,
38
46
  "&-motion": {
@@ -51,18 +59,36 @@ const genGroupStyle = (token) => {
51
59
  } }
52
60
  }
53
61
  },
54
- "&-top": { [listCls]: { bottom: varRef("list-trigger-offset") } },
62
+ "&-top": { [listCls]: {
63
+ bottom: varRef("list-trigger-offset"),
64
+ "&::after": {
65
+ top: "100%",
66
+ bottom: bridgeGap
67
+ }
68
+ } },
55
69
  "&-bottom": { [listCls]: {
56
70
  [varName("list-transform-start")]: `translate(0, calc(${unit(floatButtonSize)} * -1))`,
57
- top: varRef("list-trigger-offset")
71
+ top: varRef("list-trigger-offset"),
72
+ "&::after": {
73
+ top: bridgeGap,
74
+ bottom: "100%"
75
+ }
58
76
  } },
59
77
  "&-left": { [listCls]: {
60
78
  [varName("list-transform-start")]: `translate(${unit(floatButtonSize)}, 0)`,
61
- right: varRef("list-trigger-offset")
79
+ right: varRef("list-trigger-offset"),
80
+ "&::after": {
81
+ left: "100%",
82
+ right: bridgeGap
83
+ }
62
84
  } },
63
85
  "&-right": { [listCls]: {
64
86
  [varName("list-transform-start")]: `translate(calc(${unit(floatButtonSize)} * -1), 0)`,
65
- left: varRef("list-trigger-offset")
87
+ left: varRef("list-trigger-offset"),
88
+ "&::after": {
89
+ left: bridgeGap,
90
+ right: "100%"
91
+ }
66
92
  } }
67
93
  }
68
94
  ] };
@@ -1,8 +1,8 @@
1
1
  import { getSlotPropsFnRun } from "../_util/tools.js";
2
2
  import InternalTooltip from "../tooltip/index.js";
3
+ import { isRenderable } from "../_util/is.js";
3
4
  import localeValues from "../locale/en_US.js";
4
5
  import useLocale from "../locale/useLocale.js";
5
- import { isRenderable } from "../_util/is.js";
6
6
  import { useFormContext } from "./context.js";
7
7
  import Col from "../grid/col.js";
8
8
  import convertToTooltipProps from "../_util/convertToTooltipProps.js";
@@ -270,7 +270,10 @@ const genVerticalStyle = (token) => {
270
270
  [`${formItemCls}-vertical`]: {
271
271
  [`${formItemCls}-row`]: { flexDirection: "column" },
272
272
  [`${formItemCls}-label > label`]: { height: verticalLabelHeight },
273
- [`${formItemCls}-control`]: { width: "100%" },
273
+ [`${formItemCls}-control`]: {
274
+ width: "100%",
275
+ flex: "none"
276
+ },
274
277
  [`> ${formItemCls}-row > ${formItemCls}-label,
275
278
  > ${formItemCls}-row > ${antCls}-col-24${formItemCls}-label,
276
279
  > ${formItemCls}-row > ${antCls}-col-xl-24${formItemCls}-label`]: makeVerticalLayoutLabelWithOffset(token)
@@ -36,17 +36,17 @@ declare function usePreviewConfig<T extends PreviewConfig | GroupPreviewConfig>(
36
36
  image: import("@v-c/image").ImgInfo;
37
37
  }) => import("@v-c/util").VueNode;
38
38
  readonly onChange?: (current: number, prevCurrent: number) => void;
39
+ readonly wheel?: boolean;
39
40
  readonly focusTrap?: boolean;
40
41
  readonly afterOpenChange?: (open: boolean) => void;
41
42
  readonly maskClosable?: boolean;
42
43
  readonly zIndex?: number;
43
44
  readonly getContainer?: import("@v-c/portal/dist/Portal.js").PortalProps["getContainer"];
44
45
  readonly closeIcon?: import("@v-c/util").VueNode | boolean | null;
45
- readonly wheel?: boolean;
46
- readonly motionName?: string;
46
+ readonly icons?: import("@v-c/image/dist/Preview/index.js").OperationIcons;
47
47
  readonly src?: string;
48
48
  readonly alt?: string;
49
- readonly icons?: import("@v-c/image/dist/Preview/index.js").OperationIcons;
49
+ readonly motionName?: string;
50
50
  readonly countRender?: (current: number, total: number) => import("@v-c/util").VueNode;
51
51
  readonly scaleStep?: number;
52
52
  readonly minScale?: number;
@@ -30,7 +30,7 @@ const InternalPassword = /* @__PURE__ */ defineComponent((props, { slots, attrs,
30
30
  if (mergedDisabled.value || visibilityToggle.value === false) return;
31
31
  if (visible.value) removePasswordTimeout();
32
32
  const next = !visible.value;
33
- visible.value = next;
33
+ if (!visibilityControlled.value) visible.value = next;
34
34
  if (typeof visibilityToggle.value === "object") visibilityToggle.value.onVisibleChange?.(next);
35
35
  };
36
36
  const action = computed(() => props.action ?? "click");
@@ -58,7 +58,7 @@ const InternalPassword = /* @__PURE__ */ defineComponent((props, { slots, attrs,
58
58
  "onKeydown": (e) => {
59
59
  if (e.key === "Enter" || e.key === " ") {
60
60
  e.preventDefault();
61
- triggerVisibleChange();
61
+ if (!e.repeat) triggerVisibleChange();
62
62
  }
63
63
  }
64
64
  }, triggerProps), [iconNode]);
@@ -114,10 +114,7 @@ const InternalSearch = /* @__PURE__ */ defineComponent((props, { slots, attrs, e
114
114
  buttonNode = cloneVNode(enterButtonNode, {
115
115
  disabled: mergedDisabled.value || enterButtonProps.disabled || !isAntdButton && props.loading,
116
116
  onMousedown: onMouseDown,
117
- onClick: (e) => {
118
- enterButtonProps.onClick?.(e);
119
- onSearchClick(e);
120
- },
117
+ onClick: onSearchClick,
121
118
  class: clsx(enterButtonProps.class, btnClassName),
122
119
  ...isAntdButton ? {
123
120
  loading: props.loading || enterButtonProps.loading,
@@ -12,6 +12,7 @@ interface InputNumberSemanticClassNames {
12
12
  root?: string;
13
13
  prefix?: string;
14
14
  suffix?: string;
15
+ clear?: string;
15
16
  input?: string;
16
17
  actions?: string;
17
18
  action?: string;
@@ -20,6 +21,7 @@ interface InputNumberSemanticStyles {
20
21
  root?: CSSProperties;
21
22
  prefix?: CSSProperties;
22
23
  suffix?: CSSProperties;
24
+ clear?: CSSProperties;
23
25
  input?: CSSProperties;
24
26
  actions?: CSSProperties;
25
27
  action?: CSSProperties;
@@ -39,6 +41,12 @@ interface InputNumberProps extends ComponentBaseProps, Omit<InputNumberProps$1,
39
41
  addonAfter?: VueNode;
40
42
  prefix?: VueNode;
41
43
  suffix?: VueNode;
44
+ /** Show clear button, or customize it with `{ clearIcon, disabled, label }` */
45
+ allowClear?: boolean | {
46
+ clearIcon?: VueNode;
47
+ disabled?: boolean;
48
+ label?: string;
49
+ };
42
50
  /** @deprecated Use `variant="borderless"` instead. */
43
51
  bordered?: boolean;
44
52
  /**
@@ -60,6 +68,7 @@ interface InputNumberEmits {
60
68
  'input': (text: string) => void;
61
69
  'pressEnter': (e: KeyboardEvent) => void;
62
70
  'step': (value: any, info: InputNumberStepContext) => void;
71
+ 'clear': () => void;
63
72
  'mousedown': (e: MouseEvent) => void;
64
73
  'click': (e: MouseEvent) => void;
65
74
  'mouseup': (e: MouseEvent) => void;
@@ -81,6 +90,7 @@ interface InputNumberEmitsProps {
81
90
  onInput?: InputNumberEmits['input'];
82
91
  onPressEnter?: InputNumberEmits['pressEnter'];
83
92
  onStep?: InputNumberEmits['step'];
93
+ onClear?: InputNumberEmits['clear'];
84
94
  onMousedown?: InputNumberEmits['mousedown'];
85
95
  onClick?: InputNumberEmits['click'];
86
96
  onMouseup?: InputNumberEmits['mouseup'];
@@ -99,6 +109,7 @@ interface InputNumberEmitsProps {
99
109
  interface InputNumberSlots {
100
110
  prefix?: () => any;
101
111
  suffix?: () => any;
112
+ clearIcon?: () => any;
102
113
  addonBefore?: () => any;
103
114
  addonAfter?: () => any;
104
115
  default?: () => any;
@@ -39,6 +39,8 @@ const omitKeys = [
39
39
  "onInput",
40
40
  "onPressEnter",
41
41
  "onStep",
42
+ "onClear",
43
+ "allowClear",
42
44
  "onBeforeinput",
43
45
  "keyboard",
44
46
  "onClick",
@@ -161,6 +163,7 @@ const InputNumber = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit
161
163
  const handleFocusEvent = (eventName) => (e) => emit(eventName, e);
162
164
  const handleCompositionEvent = (eventName) => (e) => emit(eventName, e);
163
165
  const handleBeforeInput = (e) => emit("beforeinput", e);
166
+ const handleClear = () => emit("clear");
164
167
  return () => {
165
168
  const { restAttrs } = getAttrStyleAndClass(attrs);
166
169
  const restProps = omit(props, omitKeys);
@@ -172,9 +175,15 @@ const InputNumber = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit
172
175
  return suffixSlot;
173
176
  };
174
177
  const mergedSuffix = mergedSuffixFn();
178
+ const clearIconNode = slots.clearIcon?.();
179
+ const mergedAllowClear = clearIconNode && props.allowClear ? {
180
+ ...typeof props.allowClear === "object" ? props.allowClear : {},
181
+ clearIcon: clearIconNode
182
+ } : props.allowClear;
175
183
  const renderInputNode = () => createVNode(VcInputNumber, mergeProps(restAttrs, restProps, {
176
184
  "keyboard": props.keyboard,
177
185
  "value": props.value,
186
+ "defaultValue": props.defaultValue,
178
187
  "ref": inputNumberRef,
179
188
  "prefixCls": prefixCls.value,
180
189
  "className": classesValue.value,
@@ -187,6 +196,8 @@ const InputNumber = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit
187
196
  "downHandler": downIcon.value,
188
197
  "prefix": prefixNode,
189
198
  "suffix": mergedSuffix,
199
+ "allowClear": mergedAllowClear,
200
+ "onClear": handleClear,
190
201
  "min": min,
191
202
  "max": max,
192
203
  "step": step,
@@ -281,6 +292,11 @@ const InputNumber = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit
281
292
  required: false,
282
293
  default: void 0
283
294
  },
295
+ allowClear: {
296
+ type: [Boolean, Object],
297
+ required: false,
298
+ default: void 0
299
+ },
284
300
  bordered: {
285
301
  type: Boolean,
286
302
  required: false,
@@ -357,6 +373,10 @@ const InputNumber = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit
357
373
  type: String,
358
374
  required: false
359
375
  },
376
+ onClear: {
377
+ type: Function,
378
+ required: false
379
+ },
360
380
  changeOnBlur: {
361
381
  type: Boolean,
362
382
  required: false,
@@ -390,6 +410,7 @@ const InputNumber = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit
390
410
  "input",
391
411
  "pressEnter",
392
412
  "step",
413
+ "clear",
393
414
  "mousedown",
394
415
  "click",
395
416
  "mouseup",