antdv-next 1.5.2 → 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 (173) hide show
  1. package/dist/_util/hooks/useMergedMask.js +1 -1
  2. package/dist/_util/statusUtils.d.ts +1 -1
  3. package/dist/_util/vueNode.d.ts +6 -2
  4. package/dist/alert/Alert.js +7 -7
  5. package/dist/anchor/AnchorLink.d.ts +4 -3
  6. package/dist/antd-with-locales.esm.js +14913 -13982
  7. package/dist/antd-with-locales.js +81 -81
  8. package/dist/antd.css +1 -1
  9. package/dist/antd.esm.js +11493 -10902
  10. package/dist/antd.js +81 -81
  11. package/dist/auto-complete/index.d.ts +4 -4
  12. package/dist/auto-complete/index.js +17 -10
  13. package/dist/breadcrumb/Breadcrumb.js +4 -3
  14. package/dist/breadcrumb/BreadcrumbItem.js +2 -1
  15. package/dist/button/buttonHelper.d.ts +1 -1
  16. package/dist/card/Card.d.ts +5 -1
  17. package/dist/card/Card.js +9 -5
  18. package/dist/card/CardMeta.js +4 -3
  19. package/dist/cascader/index.d.ts +6 -6
  20. package/dist/cascader/index.js +9 -0
  21. package/dist/checkbox/Checkbox.js +1 -1
  22. package/dist/color-picker/ColorPicker.js +7 -7
  23. package/dist/config-provider/SizeContext.d.ts +1 -1
  24. package/dist/config-provider/SizeContext.js +1 -1
  25. package/dist/config-provider/context.d.ts +5 -2
  26. package/dist/config-provider/hooks/useTheme.js +2 -1
  27. package/dist/date-picker/generatePicker/generateRangePicker.js +15 -2
  28. package/dist/date-picker/generatePicker/generateSinglePicker.js +14 -1
  29. package/dist/date-picker/generatePicker/useComponents.d.ts +2 -2
  30. package/dist/date-picker/locale/ar_EG.js +8 -0
  31. package/dist/date-picker/locale/bg_BG.js +8 -0
  32. package/dist/date-picker/locale/ca_ES.js +8 -0
  33. package/dist/date-picker/locale/cs_CZ.js +8 -0
  34. package/dist/date-picker/locale/da_DK.js +8 -0
  35. package/dist/date-picker/locale/de_DE.js +11 -1
  36. package/dist/date-picker/locale/es_ES.js +8 -0
  37. package/dist/date-picker/locale/fi_FI.js +8 -0
  38. package/dist/date-picker/locale/fr_BE.js +1 -0
  39. package/dist/date-picker/locale/fr_CA.js +1 -0
  40. package/dist/date-picker/locale/fr_FR.js +1 -0
  41. package/dist/date-picker/locale/gl_ES.js +8 -0
  42. package/dist/date-picker/locale/he_IL.js +8 -0
  43. package/dist/date-picker/locale/hi_IN.js +1 -0
  44. package/dist/date-picker/locale/hr_HR.js +1 -0
  45. package/dist/date-picker/locale/hu_HU.js +8 -0
  46. package/dist/date-picker/locale/it_IT.js +8 -0
  47. package/dist/date-picker/locale/ms_MY.js +8 -0
  48. package/dist/date-picker/locale/nb_NO.js +1 -0
  49. package/dist/date-picker/locale/nl_BE.js +1 -0
  50. package/dist/date-picker/locale/nl_NL.js +1 -0
  51. package/dist/date-picker/locale/pl_PL.js +8 -0
  52. package/dist/date-picker/locale/pt_BR.js +8 -0
  53. package/dist/date-picker/locale/pt_PT.js +8 -0
  54. package/dist/date-picker/locale/ro_RO.js +8 -0
  55. package/dist/date-picker/locale/ru_RU.js +1 -0
  56. package/dist/date-picker/locale/sk_SK.js +8 -0
  57. package/dist/date-picker/locale/sr_RS.js +1 -0
  58. package/dist/date-picker/locale/sv_SE.js +1 -0
  59. package/dist/date-picker/locale/th_TH.js +1 -0
  60. package/dist/date-picker/locale/tr_TR.js +1 -0
  61. package/dist/date-picker/locale/uk_UA.js +1 -0
  62. package/dist/date-picker/locale/zh_TW.js +1 -1
  63. package/dist/descriptions/Row.js +4 -3
  64. package/dist/descriptions/hooks/useItems.d.ts +6 -6
  65. package/dist/drawer/DrawerPanel.js +7 -4
  66. package/dist/drawer/index.js +2 -1
  67. package/dist/dropdown/dropdown.d.ts +3 -6
  68. package/dist/dropdown/dropdown.js +8 -4
  69. package/dist/empty/index.js +2 -1
  70. package/dist/float-button/FloatButton.js +2 -1
  71. package/dist/float-button/style/group.js +31 -5
  72. package/dist/form/FormItemLabel.js +2 -1
  73. package/dist/form/context.d.ts +1 -1
  74. package/dist/form/hooks/useVariant.d.ts +1 -1
  75. package/dist/form/style/index.js +4 -1
  76. package/dist/grid/row.js +9 -16
  77. package/dist/image/PreviewGroup.js +1 -1
  78. package/dist/image/hooks/usePreviewConfig.d.ts +3 -3
  79. package/dist/input/Password.js +2 -2
  80. package/dist/input/Search.js +1 -4
  81. package/dist/input-number/index.d.ts +11 -0
  82. package/dist/input-number/index.js +21 -0
  83. package/dist/input-number/style/index.js +25 -2
  84. package/dist/listy/index.js +4 -0
  85. package/dist/locale/ar_EG.js +4 -0
  86. package/dist/locale/bg_BG.js +4 -0
  87. package/dist/locale/ca_ES.js +4 -0
  88. package/dist/locale/cs_CZ.js +4 -0
  89. package/dist/locale/da_DK.js +4 -0
  90. package/dist/locale/de_DE.js +4 -0
  91. package/dist/locale/el_GR.js +4 -0
  92. package/dist/locale/en_GB.js +4 -0
  93. package/dist/locale/es_ES.js +4 -0
  94. package/dist/locale/et_EE.js +4 -0
  95. package/dist/locale/fa_IR.js +4 -0
  96. package/dist/locale/fi_FI.js +4 -0
  97. package/dist/locale/fr_BE.js +4 -0
  98. package/dist/locale/fr_CA.js +4 -0
  99. package/dist/locale/fr_FR.js +4 -0
  100. package/dist/locale/gl_ES.js +4 -0
  101. package/dist/locale/he_IL.js +4 -0
  102. package/dist/locale/hi_IN.js +4 -0
  103. package/dist/locale/hr_HR.js +4 -0
  104. package/dist/locale/hu_HU.js +4 -0
  105. package/dist/locale/id_ID.js +4 -0
  106. package/dist/locale/it_IT.js +4 -0
  107. package/dist/locale/ja_JP.js +4 -0
  108. package/dist/locale/ko_KR.js +4 -0
  109. package/dist/locale/lt_LT.js +4 -0
  110. package/dist/locale/lv_LV.js +4 -0
  111. package/dist/locale/ms_MY.js +4 -0
  112. package/dist/locale/nb_NO.js +4 -0
  113. package/dist/locale/nl_BE.js +4 -0
  114. package/dist/locale/nl_NL.js +4 -0
  115. package/dist/locale/pl_PL.js +4 -0
  116. package/dist/locale/pt_BR.js +4 -0
  117. package/dist/locale/pt_PT.js +4 -0
  118. package/dist/locale/ro_RO.js +4 -0
  119. package/dist/locale/ru_RU.js +4 -0
  120. package/dist/locale/sk_SK.js +4 -0
  121. package/dist/locale/sl_SI.js +4 -0
  122. package/dist/locale/sr_RS.js +4 -0
  123. package/dist/locale/sv_SE.js +4 -0
  124. package/dist/locale/th_TH.js +4 -0
  125. package/dist/locale/tr_TR.js +4 -0
  126. package/dist/locale/uk_UA.js +4 -0
  127. package/dist/locale/vi_VN.js +4 -0
  128. package/dist/locale/zh_HK.js +4 -0
  129. package/dist/locale/zh_TW.js +5 -1
  130. package/dist/menu/style/theme.js +1 -0
  131. package/dist/menu/style/vertical.js +8 -5
  132. package/dist/modal/components/NormalCancelBtn.js +6 -1
  133. package/dist/modal/interface.d.ts +1 -0
  134. package/dist/notification/useNotification.js +1 -1
  135. package/dist/package.js +1 -1
  136. package/dist/popconfirm/PurePanel.js +1 -1
  137. package/dist/popconfirm/index.js +6 -6
  138. package/dist/popover/index.js +6 -6
  139. package/dist/radio/radio.js +2 -1
  140. package/dist/segmented/index.js +3 -5
  141. package/dist/segmented/style/index.js +5 -1
  142. package/dist/select/index.d.ts +4 -3
  143. package/dist/select/index.js +8 -4
  144. package/dist/skeleton/Image.js +3 -1
  145. package/dist/slider/index.d.ts +1 -0
  146. package/dist/slider/index.js +4 -0
  147. package/dist/space/Compact.d.ts +1 -1
  148. package/dist/statistic/Statistic.js +4 -3
  149. package/dist/steps/PanelArrow.js +3 -2
  150. package/dist/steps/ProgressIcon.js +7 -10
  151. package/dist/table/hooks/useFilter/FilterDropdown.js +14 -14
  152. package/dist/table/hooks/useSorter.js +7 -9
  153. package/dist/table/interface.d.ts +1 -1
  154. package/dist/table/style/virtual.js +2 -1
  155. package/dist/tabs/index.js +4 -1
  156. package/dist/tag/CheckableTag.js +5 -3
  157. package/dist/tag/CheckableTagGroup.d.ts +3 -0
  158. package/dist/tag/CheckableTagGroup.js +3 -3
  159. package/dist/tag/hooks/useColor.d.ts +1 -1
  160. package/dist/tag/index.js +3 -2
  161. package/dist/time-picker/index.js +26 -0
  162. package/dist/tooltip/index.js +4 -4
  163. package/dist/tour/panelRender.js +8 -2
  164. package/dist/transfer/Section.js +1 -1
  165. package/dist/tree/DirectoryTree.js +1 -0
  166. package/dist/tree-select/index.d.ts +4 -4
  167. package/dist/tree-select/index.js +4 -0
  168. package/dist/upload/utils.js +8 -6
  169. package/dist/version/token.json +1 -1
  170. package/dist/watermark/useClips.js +1 -0
  171. package/package.json +31 -31
  172. package/web-tags.json +1765 -1737
  173. package/web-types.json +5970 -5915
@@ -3,7 +3,7 @@ import { SemanticClassNamesType, SemanticStylesType } from "../_util/hooks/useMe
3
3
  import "../_util/hooks/index.js";
4
4
  import { InputStatus } from "../_util/statusUtils.js";
5
5
  import { InternalSelectProps, SearchConfig, SelectPopupSemanticClassNames, SelectPopupSemanticStyles, SelectSlots } from "../select/index.js";
6
- import { App, CSSProperties, SlotsType } from "vue";
6
+ import { App, CSSProperties, SlotsType, VNode, VNodeChild } from "vue";
7
7
  import { Option, SelectProps } from "@v-c/select";
8
8
  //#region src/auto-complete/index.d.ts
9
9
  interface AutoCompleteSemanticClassNames {
@@ -33,7 +33,7 @@ type AutoCompleteClassNamesType = SemanticClassNamesType<AutoCompleteProps, Auto
33
33
  type AutoCompleteStylesType = SemanticStylesType<AutoCompleteProps, AutoCompleteSemanticStyles, {
34
34
  popup?: SelectPopupSemanticStyles;
35
35
  }>;
36
- type RcEventKeys = 'onClear' | 'onKeyUp' | 'onKeyDown' | 'onBlur' | 'onClick' | 'onActive' | 'onChange' | 'onDeselect' | 'onInputKeyDown' | 'onMouseDown' | 'onMouseLeave' | 'onMouseEnter' | 'onFocus' | 'onPopupScroll' | 'onPopupVisibleChange' | 'onSelect' | 'onSearch';
36
+ type RcEventKeys = 'onClear' | 'onKeyUp' | 'onKeyDown' | 'onBlur' | 'onClick' | 'onActive' | 'onChange' | 'onDeselect' | 'onInputKeyDown' | 'onMouseDown' | 'onMouseLeave' | 'onMouseEnter' | 'onFocus' | 'onPopupScroll' | 'onSelect' | 'onSearch';
37
37
  interface AutoCompleteProps extends Omit<InternalSelectProps, 'loading' | 'mode' | 'optionLabelProp' | 'labelInValue' | 'classes' | 'styles' | 'getInputElement' | 'getRawInputElement' | 'showSearch' | 'optionFilterProp' | 'filterSort' | RcEventKeys>, AutoCompleteEmitsProps {
38
38
  /** @deprecated Please use `options` instead */
39
39
  dataSource?: DataSourceItemType[];
@@ -48,8 +48,8 @@ interface AutoCompleteProps extends Omit<InternalSelectProps, 'loading' | 'mode'
48
48
  styles?: AutoCompleteStylesType;
49
49
  classes?: AutoCompleteClassNamesType;
50
50
  /** @deprecated Please use `popupRender` instead */
51
- dropdownRender?: (menu: VueNode) => any;
52
- popupRender?: (menu: VueNode) => any;
51
+ dropdownRender?: (menu: VNode) => VNodeChild;
52
+ popupRender?: (menu: VNode) => VNodeChild;
53
53
  /** @deprecated Please use `styles.popup.root` instead */
54
54
  dropdownStyle?: CSSProperties;
55
55
  showSearch?: boolean | Pick<SearchConfig, 'filterOption' | 'onSearch'>;
@@ -4,7 +4,7 @@ import { getAttrStyleAndClass as getAttrStyleAndClass$1, useMergeSemantic, useTo
4
4
  import { toPropsRefs as toPropsRefs$1 } from "../_util/tools.js";
5
5
  import genPurePanel from "../_util/PurePanel.js";
6
6
  import Select from "../select/index.js";
7
- import { Text, computed, createVNode, defineComponent, isVNode, mergeProps } from "vue";
7
+ import { Text, computed, createVNode, defineComponent, getCurrentInstance, isVNode, mergeProps } from "vue";
8
8
  import { clsx } from "@v-c/util";
9
9
  import { filterEmpty } from "@v-c/util/dist/props-util";
10
10
  import { omit } from "es-toolkit";
@@ -26,11 +26,18 @@ const omitKeys = [
26
26
  "dropdownStyle",
27
27
  "classes",
28
28
  "styles",
29
- "popupRender"
29
+ "popupRender",
30
+ "onOpenChange",
31
+ "onDropdownVisibleChange"
30
32
  ];
31
33
  const InternalAutoComplete = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs }) => {
32
34
  const { prefixCls } = useComponentBaseConfig("select", props);
33
35
  const { classes, styles } = toPropsRefs$1(props, "classes", "styles");
36
+ const instance = getCurrentInstance();
37
+ const mergedOnOpenChange = (open) => {
38
+ if (instance?.vnode.props?.onOpenChange) emit("openChange", open);
39
+ else emit("dropdownVisibleChange", open);
40
+ };
34
41
  const mergedProps = computed(() => {
35
42
  return {
36
43
  ...props,
@@ -41,6 +48,7 @@ const InternalAutoComplete = /* @__PURE__ */ defineComponent((props, { slots, em
41
48
  const [mergedClassNames, mergedStyles] = useMergeSemantic(useToArr(classes), useToArr(styles), useToProps(mergedProps), computed(() => ({ popup: { _default: "root" } })));
42
49
  return () => {
43
50
  const { className, style, restAttrs } = getAttrStyleAndClass$1(attrs);
51
+ const forwardedAttrs = omit(restAttrs, ["onOpenChange", "onDropdownVisibleChange"]);
44
52
  const childNodes = toArray(filterEmpty(slots.default?.() ?? []));
45
53
  const hasSelectOptions = !!childNodes.length && isSelectOptionOrSelectOptGroup(childNodes[0]);
46
54
  let customizeInput;
@@ -115,7 +123,7 @@ const InternalAutoComplete = /* @__PURE__ */ defineComponent((props, { slots, em
115
123
  };
116
124
  const selectProps = omit(props, omitKeys);
117
125
  if (selectProps.placeholder === void 0 && customizeInputPlaceholder !== void 0) selectProps.placeholder = customizeInputPlaceholder;
118
- return createVNode(Select, mergeProps(restAttrs, selectProps, {
126
+ return createVNode(Select, mergeProps(forwardedAttrs, selectProps, {
119
127
  onSelect: (value, option) => {
120
128
  emit("select", value, option);
121
129
  },
@@ -163,12 +171,6 @@ const InternalAutoComplete = /* @__PURE__ */ defineComponent((props, { slots, em
163
171
  },
164
172
  onSearch: (value) => {
165
173
  emit("search", value);
166
- },
167
- onOpenChange: (open) => {
168
- emit("openChange", open);
169
- },
170
- onDropdownVisibleChange: (open) => {
171
- emit("dropdownVisibleChange", open);
172
174
  }
173
175
  }, getInputElement ? { getInputElement } : {}, {
174
176
  "prefixCls": prefixCls.value,
@@ -178,7 +180,8 @@ const InternalAutoComplete = /* @__PURE__ */ defineComponent((props, { slots, em
178
180
  "popupRender": mergedPopupRender,
179
181
  "popupMatchSelectWidth": mergedPopupMatchSelectWidth,
180
182
  "mode": Select.SECRET_COMBOBOX_MODE_DO_NOT_USE,
181
- "suffixIcon": null
183
+ "suffixIcon": null,
184
+ "onOpenChange": mergedOnOpenChange
182
185
  }, { "onUpdate:value": (value) => emit("update:value", value) }), {
183
186
  default: () => [optionChildren],
184
187
  ...forwardedSlots
@@ -381,6 +384,10 @@ const InternalAutoComplete = /* @__PURE__ */ defineComponent((props, { slots, em
381
384
  required: false,
382
385
  default: void 0
383
386
  },
387
+ autoComplete: {
388
+ type: String,
389
+ required: false
390
+ },
384
391
  placeholder: {
385
392
  type: [
386
393
  Object,
@@ -80,19 +80,20 @@ const Breadcrumb = /* @__PURE__ */ defineComponent((props, { slots, attrs, emit,
80
80
  const itemProps = {};
81
81
  const isLastItem = index === mergedItems.value.length - 1;
82
82
  if (menu) {
83
+ const mergedMenu = { ...menu };
83
84
  const menuLabelRender = slots?.menuLabelRender ?? props.menuLabelRender;
84
- if (menuLabelRender) menu.labelRender = (menuItem) => menuLabelRender({
85
+ if (menuLabelRender) mergedMenu.labelRender = (menuItem) => menuLabelRender({
85
86
  item,
86
87
  index,
87
88
  menu: menuItem
88
89
  });
89
90
  const menuExtraRender = slots?.menuExtraRender ?? props.menuExtraRender;
90
- if (menuExtraRender) menu.extraRender = (menuItem) => menuExtraRender({
91
+ if (menuExtraRender) mergedMenu.extraRender = (menuItem) => menuExtraRender({
91
92
  item,
92
93
  index,
93
94
  menu: menuItem
94
95
  });
95
- itemProps.menu = menu;
96
+ itemProps.menu = mergedMenu;
96
97
  }
97
98
  let { href } = item;
98
99
  if (paths.length && mergedPath !== void 0) href = `#/${paths.join("/")}`;
@@ -1,5 +1,6 @@
1
1
  import { useBaseConfig } from "../config-provider/context.js";
2
2
  import { getSlotPropsFnRun } from "../_util/tools.js";
3
+ import { isRenderable } from "../_util/is.js";
3
4
  import isNonNullable from "../_util/isNonNullable.js";
4
5
  import { checkRenderNode } from "../_util/vueNode.js";
5
6
  import { useBreadcrumbContext } from "./BreadcrumbContext.js";
@@ -53,7 +54,7 @@ const InternalBreadcrumbItem = /* @__PURE__ */ defineComponent((props, { slots }
53
54
  if (isNonNullable(link)) return createVNode(Fragment, null, [createVNode("li", {
54
55
  "class": clsx(`${prefixCls}-item`, mergedClassNames?.item),
55
56
  "style": mergedStyles?.item
56
- }, [link]), !!separator && createVNode(BreadcrumbSeparator, null, _isSlot(separator) ? separator : { default: () => [separator] })]);
57
+ }, [link]), isRenderable(separator) && createVNode(BreadcrumbSeparator, null, _isSlot(separator) ? separator : { default: () => [separator] })]);
57
58
  return null;
58
59
  };
59
60
  }, {
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties, VNodeChild } from "vue";
2
2
  //#region src/button/buttonHelper.d.ts
3
3
  declare const isTwoCNChar: (string: string) => boolean;
4
- declare function isUnBorderedButtonVariant(type?: ButtonVariantType): type is "text" | "link";
4
+ declare function isUnBorderedButtonVariant(type?: ButtonVariantType): type is "link" | "text";
5
5
  declare function spaceChildren(children: VNodeChild[], needInserted: boolean, style?: CSSProperties, className?: string): VNodeChild[];
6
6
  declare const _ButtonTypes: readonly ["default", "primary", "dashed", "link", "text"];
7
7
  type ButtonType = (typeof _ButtonTypes)[number];
@@ -1,12 +1,16 @@
1
1
  import { VueNode } from "../_util/type.js";
2
2
  import { SemanticClassNamesType, SemanticStylesType } from "../_util/hooks/useMergeSemantic.js";
3
3
  import "../_util/hooks/index.js";
4
+ import { SizeType } from "../config-provider/SizeContext.js";
4
5
  import { Tab, TabsSlots } from "../tabs/index.js";
5
6
  import { ComponentBaseProps } from "../config-provider/context.js";
6
7
  import { CSSProperties, SlotsType } from "vue";
7
8
  //#region src/card/Card.d.ts
8
9
  type CardType = 'inner';
9
- type CardSize = 'small' | 'medium' | 'middle' | 'default';
10
+ /**
11
+ * Note: `default` is deprecated and will be removed in later versions, please use `medium` instead.
12
+ */
13
+ type CardSize = Exclude<SizeType, 'large'> | 'default';
10
14
  interface CardTabListType extends Omit<Tab, 'label'> {
11
15
  key: string;
12
16
  /** @deprecated Please use `label` instead */
package/dist/card/Card.js CHANGED
@@ -3,6 +3,7 @@ import { useComponentBaseConfig } from "../config-provider/context.js";
3
3
  import { useSize } from "../config-provider/hooks/useSize.js";
4
4
  import { getAttrStyleAndClass as getAttrStyleAndClass$1, useMergeSemantic, useSemanticRootStyle, useToArr, useToProps } from "../_util/hooks/useMergeSemantic.js";
5
5
  import { getSlotPropsFnRun, toPropsRefs as toPropsRefs$1 } from "../_util/tools.js";
6
+ import { isRenderable } from "../_util/is.js";
6
7
  import skeleton_default from "../skeleton/index.js";
7
8
  import useVariant from "../form/hooks/useVariant.js";
8
9
  import Tabs from "../tabs/index.js";
@@ -11,6 +12,9 @@ import { computed, createVNode, defineComponent, isVNode, mergeProps } from "vue
11
12
  import { clsx } from "@v-c/util";
12
13
  import { filterEmpty } from "@v-c/util/dist/props-util";
13
14
  //#region src/card/Card.tsx
15
+ /**
16
+ * Note: `default` is deprecated and will be removed in later versions, please use `medium` instead.
17
+ */
14
18
  function _isSlot(s) {
15
19
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
16
20
  }
@@ -109,7 +113,7 @@ const Card = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs }) =>
109
113
  ...item
110
114
  };
111
115
  }) }), tabsSlots) : null;
112
- if (title || extra || tabs) {
116
+ if (isRenderable(title) || isRenderable(extra) || tabs) {
113
117
  const headClasses = clsx(`${prefixCls.value}-head`, mergedClassNames.value.header);
114
118
  const titleClasses = clsx(`${prefixCls.value}-head-title`, mergedClassNames.value.title);
115
119
  const extraClasses = clsx(`${prefixCls.value}-extra`, mergedClassNames.value.extra);
@@ -119,16 +123,16 @@ const Card = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs }) =>
119
123
  ...headStyle,
120
124
  ...mergedStyles.value.header
121
125
  }
122
- }, [createVNode("div", { "class": `${prefixCls.value}-head-wrapper` }, [!!title && createVNode("div", {
126
+ }, [createVNode("div", { "class": `${prefixCls.value}-head-wrapper` }, [isRenderable(title) && createVNode("div", {
123
127
  "class": titleClasses,
124
128
  "style": mergedStyles.value.title
125
- }, [title]), !!extra && createVNode("div", {
129
+ }, [title]), isRenderable(extra) && createVNode("div", {
126
130
  "class": extraClasses,
127
131
  "style": mergedStyles.value.extra
128
132
  }, [extra])]), tabs]);
129
133
  }
130
134
  const coverClasses = clsx(`${prefixCls.value}-cover`, mergedClassNames.value.cover);
131
- const coverDom = cover ? createVNode("div", {
135
+ const coverDom = isRenderable(cover) ? createVNode("div", {
132
136
  "class": coverClasses,
133
137
  "style": mergedStyles.value.cover
134
138
  }, [cover]) : null;
@@ -226,7 +230,7 @@ const Card = /* @__PURE__ */ defineComponent((props, { slots, emit, attrs }) =>
226
230
  required: false
227
231
  },
228
232
  size: {
229
- type: String,
233
+ type: [String, null],
230
234
  required: false
231
235
  },
232
236
  type: {
@@ -1,6 +1,7 @@
1
1
  import { useComponentBaseConfig } from "../config-provider/context.js";
2
2
  import { getAttrStyleAndClass, useMergeSemantic, useSemanticRootStyle, 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 { computed, createVNode, defineComponent, mergeProps, shallowRef } from "vue";
5
6
  import { clsx } from "@v-c/util";
6
7
  //#region src/card/CardMeta.tsx
@@ -27,15 +28,15 @@ const CardMeta = /* @__PURE__ */ defineComponent((props, { slots, attrs, expose
27
28
  const avatar = getSlotPropsFnRun(slots, props, "avatar");
28
29
  const title = getSlotPropsFnRun(slots, props, "title");
29
30
  const description = getSlotPropsFnRun(slots, props, "description");
30
- const avatarDom = avatar ? createVNode("div", {
31
+ const avatarDom = isRenderable(avatar) ? createVNode("div", {
31
32
  "class": avatarClassNames,
32
33
  "style": mergedStyles.value.avatar
33
34
  }, [avatar]) : null;
34
- const titleDom = title ? createVNode("div", {
35
+ const titleDom = isRenderable(title) ? createVNode("div", {
35
36
  "class": titleClassNames,
36
37
  "style": mergedStyles.value.title
37
38
  }, [title]) : null;
38
- const descriptionDom = description ? createVNode("div", {
39
+ const descriptionDom = isRenderable(description) ? createVNode("div", {
39
40
  "class": descriptionClassNames,
40
41
  "style": mergedStyles.value.description
41
42
  }, [description]) : null;
@@ -7,7 +7,7 @@ import { SelectCommonPlacement } from "../_util/motion.js";
7
7
  import { SelectPopupSemanticClassNames, SelectPopupSemanticStyles } from "../select/index.js";
8
8
  import CascaderPanel from "./Panel.js";
9
9
  import { Variant } from "../config-provider/context.js";
10
- import { App, CSSProperties, PublicProps } from "vue";
10
+ import { App, CSSProperties, PublicProps, VNode, VNodeChild } from "vue";
11
11
  import { CascaderProps as CascaderProps$1, DefaultOptionType, FieldNames, SHOW_CHILD, SHOW_PARENT } from "@v-c/cascader";
12
12
  //#region src/cascader/index.d.ts
13
13
  type FieldNamesType = FieldNames;
@@ -41,7 +41,7 @@ type CascaderClassNamesType = SemanticClassNamesType<CascaderProps, CascaderSema
41
41
  type CascaderStylesType = SemanticStylesType<CascaderProps, CascaderSemanticStyles, {
42
42
  popup?: SelectPopupSemanticStyles;
43
43
  }>;
44
- interface CascaderProps<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends boolean = boolean> extends Omit<CascaderProps$1<OptionType, ValueField, Multiple>, 'checkable' | 'className' | 'style' | 'classNames' | 'styles' | 'onChange' | 'onSearch' | 'onPopupVisibleChange' | 'multiple' | 'value'>, CascaderEmitsProps<OptionType, ValueField, Multiple> {
44
+ interface CascaderProps<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends boolean = boolean> extends Omit<CascaderProps$1<OptionType, ValueField, Multiple>, 'checkable' | 'className' | 'style' | 'classNames' | 'styles' | 'onChange' | 'onSearch' | 'onPopupVisibleChange' | 'popupRender' | 'multiple' | 'value'>, CascaderEmitsProps<OptionType, ValueField, Multiple> {
45
45
  value?: any;
46
46
  multiple?: boolean;
47
47
  size?: SizeType;
@@ -65,8 +65,8 @@ interface CascaderProps<OptionType extends DefaultOptionType = DefaultOptionType
65
65
  /** @deprecated Please use `styles.popup.root` instead */
66
66
  dropdownStyle?: CSSProperties;
67
67
  /** @deprecated Please use `popupRender` instead */
68
- dropdownRender?: (menu: any) => any;
69
- popupRender?: (menu: any) => any;
68
+ dropdownRender?: (menu: VNode) => VNodeChild;
69
+ popupRender?: (menu: VNode) => VNodeChild;
70
70
  /** @deprecated Please use `popupMenuColumnStyle` instead */
71
71
  dropdownMenuColumnStyle?: CSSProperties;
72
72
  popupMenuColumnStyle?: CSSProperties;
@@ -81,7 +81,7 @@ interface CascaderProps<OptionType extends DefaultOptionType = DefaultOptionType
81
81
  interface CascaderSlots<OptionType extends DefaultOptionType = DefaultOptionType> {
82
82
  suffixIcon?: () => any;
83
83
  notFoundContent?: () => any;
84
- popupRender?: (menu: any) => any;
84
+ popupRender?: (menu: VNode) => VNodeChild;
85
85
  displayRender?: (data: {
86
86
  labels: string[];
87
87
  selectedOptions?: OptionType[];
@@ -91,7 +91,7 @@ interface CascaderSlots<OptionType extends DefaultOptionType = DefaultOptionType
91
91
  default?: () => any;
92
92
  }
93
93
  interface CascaderEmits<OptionType extends DefaultOptionType = DefaultOptionType, ValueField extends keyof OptionType = keyof OptionType, Multiple extends boolean = boolean> {
94
- 'openChange': (visible: boolean) => void;
94
+ 'openChange': (open: boolean) => void;
95
95
  'dropdownVisibleChange': (visible: boolean) => void;
96
96
  'popupVisibleChange': (visible: boolean) => void;
97
97
  'change': NonNullable<CascaderProps$1<OptionType, ValueField, Multiple>['onChange']>;
@@ -368,6 +368,11 @@ const InternalCascader = /* @__PURE__ */ defineComponent((props, { attrs, emit,
368
368
  type: Function,
369
369
  required: false
370
370
  },
371
+ checkStrictly: {
372
+ type: Boolean,
373
+ required: false,
374
+ default: void 0
375
+ },
371
376
  showCheckedStrategy: { required: false },
372
377
  autoClearSearchValue: {
373
378
  type: Boolean,
@@ -438,6 +443,10 @@ const InternalCascader = /* @__PURE__ */ defineComponent((props, { attrs, emit,
438
443
  required: false,
439
444
  default: void 0
440
445
  },
446
+ autoComplete: {
447
+ type: String,
448
+ required: false
449
+ },
441
450
  placeholder: {
442
451
  type: [
443
452
  Object,
@@ -26,7 +26,7 @@ const InternalCheckbox = /* @__PURE__ */ defineComponent((props, { slots, emit,
26
26
  const formItemInputContext = useFormItemInputContext();
27
27
  const formItemContext = useFormItemContext();
28
28
  const contextDisabled = useDisabledContext();
29
- const mergedDisabled = computed(() => (checkboxGroup?.value?.disabled || props?.disabled) ?? contextDisabled.value);
29
+ const mergedDisabled = computed(() => props.disabled ?? checkboxGroup?.value?.disabled ?? contextDisabled.value);
30
30
  const mergedCheckedValue = computed(() => props.checkedValue ?? true);
31
31
  const mergedUnCheckedValue = computed(() => props.unCheckedValue ?? false);
32
32
  const currentValue = shallowRef(props?.checked ?? props?.defaultChecked ?? mergedUnCheckedValue.value);
@@ -64,16 +64,16 @@ const ColorPicker = /* @__PURE__ */ defineComponent((props, { slots, expose, emi
64
64
  emit("update:format", newFormat);
65
65
  }
66
66
  };
67
- const triggerOpenChange = (visible) => {
67
+ const triggerOpenChange = (nextOpen) => {
68
68
  if (open.value !== void 0) {
69
- emit("openChange", visible);
70
- emit("update:open", visible);
69
+ emit("openChange", nextOpen);
70
+ emit("update:open", nextOpen);
71
71
  return;
72
72
  }
73
- if (!visible || !mergedDisabled.value) {
74
- internalPopupOpen.value = visible;
75
- emit("openChange", visible);
76
- emit("update:open", visible);
73
+ if (!nextOpen || !mergedDisabled.value) {
74
+ internalPopupOpen.value = nextOpen;
75
+ emit("openChange", nextOpen);
76
+ emit("update:open", nextOpen);
77
77
  }
78
78
  };
79
79
  const [mergedColor, setColor, modeState, setModeState, modeOptions] = useModeColor(value, mode, props?.defaultValue);
@@ -1,7 +1,7 @@
1
1
  import { Ref } from "vue";
2
2
  //#region src/config-provider/SizeContext.d.ts
3
3
  /**
4
- * Note: `middle` is deprecated and will be removed in v7, please use `medium` instead.
4
+ * Note: `middle` is deprecated and will be removed in later versions, please use `medium` instead.
5
5
  */
6
6
  type SizeType = 'small' | 'medium' | 'middle' | 'large' | undefined;
7
7
  interface SizeContextProps {
@@ -1,7 +1,7 @@
1
1
  import { computed, defineComponent, inject, provide } from "vue";
2
2
  //#region src/config-provider/SizeContext.tsx
3
3
  /**
4
- * Note: `middle` is deprecated and will be removed in v7, please use `medium` instead.
4
+ * Note: `middle` is deprecated and will be removed in later versions, please use `medium` instead.
5
5
  */
6
6
  const SizeContextKey = Symbol("SizeContext");
7
7
  const useSizeContext = () => inject(SizeContextKey, computed(() => void 0));
@@ -90,7 +90,7 @@ import { TreeSelectProps } from "../tree-select/index.js";
90
90
  import { BlockProps } from "../typography/interface.js";
91
91
  import { ButtonProps } from "../button/Button.js";
92
92
  import "../button/index.js";
93
- import { CSSProperties, Ref } from "vue";
93
+ import { AriaAttributes, CSSProperties, Ref } from "vue";
94
94
  import { DerivativeFunc } from "@antdv-next/cssinjs";
95
95
  import { MoreProps } from "@v-c/tabs";
96
96
  //#region src/config-provider/context.d.ts
@@ -235,7 +235,10 @@ type ButtonConfig = ComponentStyleConfig & Pick<ButtonProps, 'classes' | 'styles
235
235
  loadingIcon?: VueNode;
236
236
  };
237
237
  type FlexConfig = ComponentStyleConfig & Pick<FlexProps, 'vertical'>;
238
- type AlertConfig = ComponentStyleConfig & Pick<AlertProps, 'variant' | 'closable' | 'closeIcon' | 'classes' | 'styles'> & {
238
+ type AlertConfig = ComponentStyleConfig & Pick<AlertProps, 'variant' | 'closeIcon' | 'classes' | 'styles'> & {
239
+ closable?: boolean | ({
240
+ closeIcon?: VueNode;
241
+ } & AriaAttributes);
239
242
  successIcon?: VueNode;
240
243
  infoIcon?: VueNode;
241
244
  warningIcon?: VueNode;
@@ -8,7 +8,8 @@ function useTheme(theme, parentTheme, config) {
8
8
  if (themeConfig.value.inherit === false || !parentTheme?.value) return {
9
9
  ...defaultConfig,
10
10
  hashed: parentTheme?.value?.hashed ?? defaultConfig.hashed,
11
- cssVar: parentTheme?.value?.cssVar
11
+ cssVar: parentTheme?.value?.cssVar,
12
+ zeroRuntime: parentTheme?.value?.zeroRuntime
12
13
  };
13
14
  return parentTheme.value;
14
15
  });
@@ -8,9 +8,9 @@ import { useZIndex } from "../../_util/hooks/useZIndex.js";
8
8
  import { getSlotPropsFnRun, toPropsRefs } from "../../_util/tools.js";
9
9
  import useCSSVarCls from "../../config-provider/hooks/useCSSVarCls.js";
10
10
  import { useDisabledContext } from "../../config-provider/DisabledContext.js";
11
+ import { isNonNullable } from "../../_util/is.js";
11
12
  import locale from "../locale/en_US.js";
12
13
  import useLocale from "../../locale/useLocale.js";
13
- import { isNonNullable } from "../../_util/is.js";
14
14
  import { getMergedStatus, getStatusClassNames } from "../../_util/statusUtils.js";
15
15
  import { useFormItemInputContext } from "../../form/context.js";
16
16
  import { useVariants } from "../../form/hooks/useVariant.js";
@@ -153,7 +153,7 @@ function generateRangePicker(generateConfig) {
153
153
  "disabled": mergedDisabled.value,
154
154
  "placement": placement,
155
155
  "placeholder": getRangePlaceholder(locale$1.value, props.picker, placeholder),
156
- "suffixIcon": suffixNode,
156
+ "suffix": suffixNode,
157
157
  "prevIcon": createVNode("span", { "class": `${prefixCls.value}-prev-icon` }, null),
158
158
  "nextIcon": createVNode("span", { "class": `${prefixCls.value}-next-icon` }, null),
159
159
  "superPrevIcon": createVNode("span", { "class": `${prefixCls.value}-super-prev-icon` }, null),
@@ -354,6 +354,19 @@ function generateRangePicker(generateConfig) {
354
354
  required: false,
355
355
  default: void 0
356
356
  },
357
+ suffix: {
358
+ type: [
359
+ Object,
360
+ Function,
361
+ String,
362
+ Number,
363
+ null,
364
+ Boolean,
365
+ Array
366
+ ],
367
+ required: false,
368
+ default: void 0
369
+ },
357
370
  suffixIcon: {
358
371
  type: [
359
372
  Object,
@@ -156,7 +156,7 @@ function generatePicker(generateConfig) {
156
156
  return createVNode(ContextIsolator, { "space": true }, { default: () => [createVNode(Picker, mergeProps(restAttrs, additionalProps, omit(restProps, ["onKeydown"]), {
157
157
  "ref": innerRef,
158
158
  "placeholder": getPlaceholder(locale$1.value, mergedPicker.value, placeholder),
159
- "suffixIcon": suffixNode,
159
+ "suffix": suffixNode,
160
160
  "placement": placement,
161
161
  "prevIcon": createVNode("span", { "class": `${prefixCls.value}-prev-icon` }, null),
162
162
  "nextIcon": createVNode("span", { "class": `${prefixCls.value}-next-icon` }, null),
@@ -351,6 +351,19 @@ function generatePicker(generateConfig) {
351
351
  required: false,
352
352
  default: void 0
353
353
  },
354
+ suffix: {
355
+ type: [
356
+ Object,
357
+ Function,
358
+ String,
359
+ Number,
360
+ null,
361
+ Boolean,
362
+ Array
363
+ ],
364
+ required: false,
365
+ default: void 0
366
+ },
354
367
  suffixIcon: {
355
368
  type: [
356
369
  Object,
@@ -4,11 +4,11 @@ import { Components } from "@v-c/picker";
4
4
  //#region src/date-picker/generatePicker/useComponents.d.ts
5
5
  declare function useComponents(components?: Components): {
6
6
  time?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
7
+ year?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
8
+ month?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
7
9
  date?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
8
10
  week?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
9
- month?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
10
11
  quarter?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
11
- year?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
12
12
  decade?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
13
13
  datetime?: import("vue").DefineComponent<import("@v-c/picker/dist/interface").SharedPanelProps<any>> | undefined;
14
14
  button: string | import("vue").DefineSetupFnComponent<ButtonProps, {}, {}, ButtonProps & {}, import("vue").PublicProps> | import("vue").DefineComponent;
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/ar_EG";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "اختيار التاريخ",
7
+ yearPlaceholder: "اختيار السنة",
8
+ quarterPlaceholder: "اختيار ربع السنة",
9
+ monthPlaceholder: "اختيار الشهر",
10
+ weekPlaceholder: "اختيار الأسبوع",
7
11
  rangePlaceholder: ["البداية", "النهاية"],
12
+ rangeYearPlaceholder: ["سنة البداية", "سنة النهاية"],
13
+ rangeQuarterPlaceholder: ["ربع سنة البداية", "ربع سنة النهاية"],
14
+ rangeMonthPlaceholder: ["شهر البداية", "شهر النهاية"],
15
+ rangeWeekPlaceholder: ["أسبوع البداية", "أسبوع النهاية"],
8
16
  yearFormat: "YYYY",
9
17
  monthFormat: "MMMM",
10
18
  monthBeforeYear: true,
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/bg_BG";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Избор на дата",
7
+ yearPlaceholder: "Избор на година",
8
+ quarterPlaceholder: "Избор на тримесечие",
9
+ monthPlaceholder: "Избор на месец",
10
+ weekPlaceholder: "Избор на седмица",
7
11
  rangePlaceholder: ["Начална", "Крайна"],
12
+ rangeYearPlaceholder: ["Начална година", "Крайна година"],
13
+ rangeQuarterPlaceholder: ["Начално тримесечие", "Крайно тримесечие"],
14
+ rangeMonthPlaceholder: ["Начален месец", "Краен месец"],
15
+ rangeWeekPlaceholder: ["Начална седмица", "Крайна седмица"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/ca_ES";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Seleccionar data",
7
+ yearPlaceholder: "Seleccionar any",
8
+ quarterPlaceholder: "Seleccionar trimestre",
9
+ monthPlaceholder: "Seleccionar mes",
10
+ weekPlaceholder: "Seleccionar setmana",
7
11
  rangePlaceholder: ["Data inicial", "Data final"],
12
+ rangeYearPlaceholder: ["Any inicial", "Any final"],
13
+ rangeQuarterPlaceholder: ["Trimestre inicial", "Trimestre final"],
14
+ rangeMonthPlaceholder: ["Mes inicial", "Mes final"],
15
+ rangeWeekPlaceholder: ["Setmana inicial", "Setmana final"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/cs_CZ";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Vybrat datum",
7
+ yearPlaceholder: "Vybrat rok",
8
+ quarterPlaceholder: "Vybrat čtvrtletí",
9
+ monthPlaceholder: "Vybrat měsíc",
10
+ weekPlaceholder: "Vybrat týden",
7
11
  rangePlaceholder: ["Od", "Do"],
12
+ rangeYearPlaceholder: ["Počáteční rok", "Koncový rok"],
13
+ rangeQuarterPlaceholder: ["Počáteční čtvrtletí", "Koncové čtvrtletí"],
14
+ rangeMonthPlaceholder: ["Počáteční měsíc", "Koncový měsíc"],
15
+ rangeWeekPlaceholder: ["Počáteční týden", "Koncový týden"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/da_DK";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Vælg dato",
7
+ yearPlaceholder: "Vælg år",
8
+ quarterPlaceholder: "Vælg kvartal",
9
+ monthPlaceholder: "Vælg måned",
10
+ weekPlaceholder: "Vælg uge",
7
11
  rangePlaceholder: ["Startdato", "Slutdato"],
12
+ rangeYearPlaceholder: ["Startår", "Slutår"],
13
+ rangeQuarterPlaceholder: ["Startkvartal", "Slutkvartal"],
14
+ rangeMonthPlaceholder: ["Startmåned", "Slutmåned"],
15
+ rangeWeekPlaceholder: ["Startuge", "Slutuge"],
8
16
  ...CalendarLocale
9
17
  },
10
18
  timePickerLocale: { ...locale$1 }
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/de_DE";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Datum auswählen",
7
+ yearPlaceholder: "Jahr auswählen",
8
+ quarterPlaceholder: "Quartal auswählen",
9
+ monthPlaceholder: "Monat auswählen",
10
+ weekPlaceholder: "Woche auswählen",
7
11
  rangePlaceholder: ["Startdatum", "Enddatum"],
12
+ rangeYearPlaceholder: ["Startjahr", "Endjahr"],
13
+ rangeQuarterPlaceholder: ["Startquartal", "Endquartal"],
14
+ rangeMonthPlaceholder: ["Startmonat", "Endmonat"],
15
+ rangeWeekPlaceholder: ["Startwoche", "Endwoche"],
8
16
  shortWeekDays: [
9
17
  "So",
10
18
  "Mo",
@@ -28,7 +36,9 @@ const locale = {
28
36
  "Nov",
29
37
  "Dez"
30
38
  ],
31
- ...CalendarLocale
39
+ ...CalendarLocale,
40
+ fieldDateFormat: "DD.MM.YYYY",
41
+ fieldDateTimeFormat: "DD.MM.YYYY HH:mm:ss"
32
42
  },
33
43
  timePickerLocale: { ...locale$1 }
34
44
  };
@@ -4,7 +4,15 @@ import CalendarLocale from "@v-c/picker/locale/es_ES";
4
4
  const locale = {
5
5
  lang: {
6
6
  placeholder: "Seleccionar fecha",
7
+ yearPlaceholder: "Seleccionar año",
8
+ quarterPlaceholder: "Seleccionar trimestre",
9
+ monthPlaceholder: "Seleccionar mes",
10
+ weekPlaceholder: "Seleccionar semana",
7
11
  rangePlaceholder: ["Fecha inicial", "Fecha final"],
12
+ rangeYearPlaceholder: ["Año inicial", "Año final"],
13
+ rangeQuarterPlaceholder: ["Trimestre inicial", "Trimestre final"],
14
+ rangeMonthPlaceholder: ["Mes inicial", "Mes final"],
15
+ rangeWeekPlaceholder: ["Semana inicial", "Semana final"],
8
16
  shortWeekDays: [
9
17
  "Dom",
10
18
  "Lun",