naive-ui 2.32.2 → 2.33.2

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 (155) hide show
  1. package/dist/index.js +425 -248
  2. package/dist/index.prod.js +2 -2
  3. package/es/_internal/select-menu/src/SelectOption.js +1 -2
  4. package/es/_utils/cssr/index.js +1 -1
  5. package/es/calendar/src/Calendar.js +2 -1
  6. package/es/card/src/Card.d.ts +24 -1
  7. package/es/card/src/Card.js +8 -4
  8. package/es/card/src/styles/index.cssr.js +17 -8
  9. package/es/card/styles/dark.js +3 -1
  10. package/es/card/styles/light.d.ts +2 -0
  11. package/es/card/styles/light.js +1 -1
  12. package/es/countdown/src/Countdown.js +0 -5
  13. package/es/data-table/src/DataTable.d.ts +10 -0
  14. package/es/data-table/src/HeaderButton/FilterButton.d.ts +1 -0
  15. package/es/data-table/src/HeaderButton/FilterMenu.d.ts +1 -0
  16. package/es/data-table/src/TableParts/Body.d.ts +1 -0
  17. package/es/data-table/src/TableParts/Cell.d.ts +2 -0
  18. package/es/data-table/src/TableParts/Header.d.ts +1 -0
  19. package/es/data-table/src/use-sorter.js +1 -1
  20. package/es/data-table/styles/light.d.ts +1 -0
  21. package/es/dialog/index.d.ts +1 -1
  22. package/es/dialog/index.js +1 -1
  23. package/es/dialog/src/DialogEnvironment.d.ts +3 -0
  24. package/es/dialog/src/DialogEnvironment.js +2 -2
  25. package/es/dialog/src/DialogProvider.d.ts +4 -0
  26. package/es/dialog/src/DialogProvider.js +2 -1
  27. package/es/dialog/src/composables.d.ts +4 -0
  28. package/es/dialog/src/composables.js +17 -0
  29. package/es/dialog/src/context.d.ts +2 -1
  30. package/es/dialog/src/context.js +1 -0
  31. package/es/form/src/FormItem.d.ts +1 -0
  32. package/es/form/src/FormItem.js +27 -18
  33. package/es/form/src/styles/form-item.cssr.js +41 -19
  34. package/es/form/src/utils.d.ts +1 -0
  35. package/es/form/src/utils.js +15 -10
  36. package/es/input/src/utils.js +1 -1
  37. package/es/locales/common/frFR.js +8 -11
  38. package/es/menu/src/Menu.d.ts +13 -0
  39. package/es/menu/src/Menu.js +7 -1
  40. package/es/modal/src/BodyWrapper.d.ts +2 -0
  41. package/es/modal/src/Modal.d.ts +18 -0
  42. package/es/modal/src/presetProps.d.ts +1 -1
  43. package/es/modal/styles/light.d.ts +2 -0
  44. package/es/pagination/src/Pagination.js +5 -1
  45. package/es/radio/src/Radio.d.ts +13 -32
  46. package/es/radio/src/Radio.js +7 -6
  47. package/es/radio/src/RadioButton.d.ts +6 -9
  48. package/es/radio/src/RadioButton.js +7 -11
  49. package/es/radio/src/RadioGroup.d.ts +17 -8
  50. package/es/radio/src/RadioGroup.js +2 -2
  51. package/es/radio/src/interface.d.ts +2 -2
  52. package/es/radio/src/styles/radio.cssr.js +4 -1
  53. package/es/radio/src/use-radio.d.ts +4 -32
  54. package/es/radio/src/use-radio.js +12 -10
  55. package/es/radio/styles/dark.js +1 -1
  56. package/es/radio/styles/light.d.ts +1 -0
  57. package/es/radio/styles/light.js +1 -1
  58. package/es/rate/src/Rate.d.ts +23 -14
  59. package/es/rate/src/Rate.js +32 -12
  60. package/es/rate/src/interface.d.ts +2 -0
  61. package/es/rate/src/interface.js +1 -0
  62. package/es/rate/src/styles/index.cssr.js +13 -13
  63. package/es/slider/src/Slider.d.ts +13 -0
  64. package/es/slider/src/Slider.js +6 -3
  65. package/es/theme-editor/src/MaximizeIcon.d.ts +1 -0
  66. package/es/theme-editor/src/MaximizeIcon.js +8 -0
  67. package/es/theme-editor/src/MinimizeIcon.d.ts +1 -0
  68. package/es/theme-editor/src/MinimizeIcon.js +8 -0
  69. package/es/theme-editor/src/ThemeEditor.d.ts +4 -0
  70. package/es/theme-editor/src/ThemeEditor.js +42 -18
  71. package/es/tree/src/styles/index.cssr.js +4 -3
  72. package/es/upload/src/interface.d.ts +1 -1
  73. package/es/version.d.ts +1 -1
  74. package/es/version.js +1 -1
  75. package/lib/_internal/select-menu/src/SelectOption.js +1 -2
  76. package/lib/_utils/cssr/index.js +2 -5
  77. package/lib/calendar/src/Calendar.js +2 -1
  78. package/lib/card/src/Card.d.ts +24 -1
  79. package/lib/card/src/Card.js +8 -4
  80. package/lib/card/src/styles/index.cssr.js +17 -8
  81. package/lib/card/styles/dark.js +3 -1
  82. package/lib/card/styles/light.d.ts +2 -0
  83. package/lib/card/styles/light.js +1 -1
  84. package/lib/countdown/src/Countdown.js +0 -5
  85. package/lib/data-table/src/DataTable.d.ts +10 -0
  86. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +1 -0
  87. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +1 -0
  88. package/lib/data-table/src/TableParts/Body.d.ts +1 -0
  89. package/lib/data-table/src/TableParts/Cell.d.ts +2 -0
  90. package/lib/data-table/src/TableParts/Header.d.ts +1 -0
  91. package/lib/data-table/src/use-sorter.js +1 -1
  92. package/lib/data-table/styles/light.d.ts +1 -0
  93. package/lib/dialog/index.d.ts +1 -1
  94. package/lib/dialog/index.js +4 -3
  95. package/lib/dialog/src/DialogEnvironment.d.ts +3 -0
  96. package/lib/dialog/src/DialogEnvironment.js +2 -2
  97. package/lib/dialog/src/DialogProvider.d.ts +4 -0
  98. package/lib/dialog/src/DialogProvider.js +1 -0
  99. package/lib/dialog/src/composables.d.ts +4 -0
  100. package/lib/dialog/src/{use-dialog.js → composables.js} +9 -1
  101. package/lib/dialog/src/context.d.ts +2 -1
  102. package/lib/dialog/src/context.js +2 -1
  103. package/lib/form/src/FormItem.d.ts +1 -0
  104. package/lib/form/src/FormItem.js +27 -18
  105. package/lib/form/src/styles/form-item.cssr.js +41 -19
  106. package/lib/form/src/utils.d.ts +1 -0
  107. package/lib/form/src/utils.js +15 -10
  108. package/lib/input/src/utils.js +1 -1
  109. package/lib/locales/common/frFR.js +8 -11
  110. package/lib/menu/src/Menu.d.ts +13 -0
  111. package/lib/menu/src/Menu.js +7 -1
  112. package/lib/modal/src/BodyWrapper.d.ts +2 -0
  113. package/lib/modal/src/Modal.d.ts +18 -0
  114. package/lib/modal/src/presetProps.d.ts +1 -1
  115. package/lib/modal/styles/light.d.ts +2 -0
  116. package/lib/pagination/src/Pagination.js +5 -1
  117. package/lib/radio/src/Radio.d.ts +13 -32
  118. package/lib/radio/src/Radio.js +7 -6
  119. package/lib/radio/src/RadioButton.d.ts +6 -9
  120. package/lib/radio/src/RadioButton.js +7 -14
  121. package/lib/radio/src/RadioGroup.d.ts +17 -8
  122. package/lib/radio/src/RadioGroup.js +2 -2
  123. package/lib/radio/src/interface.d.ts +2 -2
  124. package/lib/radio/src/styles/radio.cssr.js +4 -1
  125. package/lib/radio/src/use-radio.d.ts +4 -32
  126. package/lib/radio/src/use-radio.js +11 -9
  127. package/lib/radio/styles/dark.js +1 -1
  128. package/lib/radio/styles/light.d.ts +1 -0
  129. package/lib/radio/styles/light.js +1 -1
  130. package/lib/rate/src/Rate.d.ts +23 -14
  131. package/lib/rate/src/Rate.js +32 -12
  132. package/lib/rate/src/interface.d.ts +2 -0
  133. package/lib/rate/src/interface.js +2 -0
  134. package/lib/rate/src/styles/index.cssr.js +13 -13
  135. package/lib/slider/src/Slider.d.ts +13 -0
  136. package/lib/slider/src/Slider.js +6 -3
  137. package/lib/theme-editor/src/MaximizeIcon.d.ts +1 -0
  138. package/lib/theme-editor/src/MaximizeIcon.js +11 -0
  139. package/lib/theme-editor/src/MinimizeIcon.d.ts +1 -0
  140. package/lib/theme-editor/src/MinimizeIcon.js +11 -0
  141. package/lib/theme-editor/src/ThemeEditor.d.ts +4 -0
  142. package/lib/theme-editor/src/ThemeEditor.js +42 -18
  143. package/lib/tree/src/styles/index.cssr.js +4 -3
  144. package/lib/upload/src/interface.d.ts +1 -1
  145. package/lib/version.d.ts +1 -1
  146. package/lib/version.js +1 -1
  147. package/package.json +8 -7
  148. package/web-types.json +36 -5
  149. package/es/countdown/src/utils.d.ts +0 -0
  150. package/es/countdown/src/utils.js +0 -1
  151. package/es/dialog/src/use-dialog.d.ts +0 -2
  152. package/es/dialog/src/use-dialog.js +0 -10
  153. package/lib/countdown/src/utils.d.ts +0 -0
  154. package/lib/countdown/src/utils.js +0 -1
  155. package/lib/dialog/src/use-dialog.d.ts +0 -2
@@ -249,8 +249,15 @@ export default defineComponent({
249
249
  };
250
250
  const labelElementRef = ref(null);
251
251
  onMounted(() => {
252
- if (labelElementRef.value !== null) {
253
- NForm === null || NForm === void 0 ? void 0 : NForm.deriveMaxChildLabelWidth(Number(getComputedStyle(labelElementRef.value).width.slice(0, -2)));
252
+ if (!formItemMiscRefs.isAutoLabelWidth.value)
253
+ return;
254
+ const labelElement = labelElementRef.value;
255
+ if (labelElement !== null) {
256
+ const memoizedWhitespace = labelElement.style.whiteSpace;
257
+ labelElement.style.whiteSpace = 'nowrap';
258
+ labelElement.style.width = '';
259
+ NForm === null || NForm === void 0 ? void 0 : NForm.deriveMaxChildLabelWidth(Number(getComputedStyle(labelElement).width.slice(0, -2)));
260
+ labelElement.style.whiteSpace = memoizedWhitespace;
254
261
  }
255
262
  });
256
263
  const cssVarsRef = computed(() => {
@@ -290,34 +297,36 @@ export default defineComponent({
290
297
  return Object.assign(Object.assign(Object.assign(Object.assign({ labelElementRef, mergedClsPrefix: mergedClsPrefixRef, mergedRequired: mergedRequiredRef, feedbackId: feedbackIdRef, renderExplains: renderExplainsRef }, formItemMiscRefs), formItemSizeRefs), exposedRef), { cssVars: inlineThemeDisabled ? undefined : cssVarsRef, themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass, onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender });
291
298
  },
292
299
  render() {
293
- var _a;
294
300
  const { $slots, mergedClsPrefix, mergedShowLabel, mergedShowRequireMark, mergedRequireMarkPlacement, onRender } = this;
295
301
  const renderedShowRequireMark = mergedShowRequireMark !== undefined
296
302
  ? mergedShowRequireMark
297
303
  : this.mergedRequired;
298
304
  onRender === null || onRender === void 0 ? void 0 : onRender();
305
+ const renderLabel = () => {
306
+ const labelText = this.$slots.label ? this.$slots.label() : this.label;
307
+ if (!labelText)
308
+ return null;
309
+ const textNode = (h("span", { class: `${mergedClsPrefix}-form-item-label__text` }, labelText));
310
+ const markNode = renderedShowRequireMark ? (h("span", { class: `${mergedClsPrefix}-form-item-label__asterisk` }, mergedRequireMarkPlacement !== 'left' ? '\u00A0*' : '*\u00A0')) : (mergedRequireMarkPlacement === 'right-hanging' && (h("span", { class: `${mergedClsPrefix}-form-item-label__asterisk-placeholder` }, '\u00A0*')));
311
+ const { labelProps } = this;
312
+ return (h("label", Object.assign({}, labelProps, { class: [
313
+ labelProps === null || labelProps === void 0 ? void 0 : labelProps.class,
314
+ `${mergedClsPrefix}-form-item-label`,
315
+ `${mergedClsPrefix}-form-item-label--${mergedRequireMarkPlacement}-mark`
316
+ ], style: this.mergedLabelStyle, ref: "labelElementRef" }), mergedRequireMarkPlacement === 'left'
317
+ ? [markNode, textNode]
318
+ : [textNode, markNode]));
319
+ };
299
320
  return (h("div", { class: [
300
321
  `${mergedClsPrefix}-form-item`,
301
322
  this.themeClass,
302
323
  `${mergedClsPrefix}-form-item--${this.mergedSize}-size`,
303
324
  `${mergedClsPrefix}-form-item--${this.mergedLabelPlacement}-labelled`,
325
+ this.isAutoLabelWidth &&
326
+ `${mergedClsPrefix}-form-item--auto-label-width`,
304
327
  !mergedShowLabel && `${mergedClsPrefix}-form-item--no-label`
305
328
  ], style: this.cssVars },
306
- mergedShowLabel && (this.label || $slots.label) ? (h("label", Object.assign({}, this.labelProps, { class: [
307
- (_a = this.labelProps) === null || _a === void 0 ? void 0 : _a.class,
308
- `${mergedClsPrefix}-form-item-label`
309
- ], style: this.mergedLabelStyle, ref: "labelElementRef" }),
310
- mergedRequireMarkPlacement !== 'left'
311
- ? $slots.label
312
- ? $slots.label()
313
- : this.label
314
- : null,
315
- renderedShowRequireMark ? (h("span", { class: `${mergedClsPrefix}-form-item-label__asterisk` }, mergedRequireMarkPlacement !== 'left' ? '\u00A0*' : '*\u00A0')) : (mergedRequireMarkPlacement === 'right-hanging' && (h("span", { class: `${mergedClsPrefix}-form-item-label__asterisk-placeholder` }, '\u00A0*'))),
316
- mergedRequireMarkPlacement === 'left'
317
- ? $slots.label
318
- ? $slots.label()
319
- : this.label
320
- : null)) : null,
329
+ mergedShowLabel && renderLabel(),
321
330
  h("div", { class: [
322
331
  `${mergedClsPrefix}-form-item-blank`,
323
332
  this.mergedValidationStatus &&
@@ -17,61 +17,83 @@ import { fadeDownTransition } from '../../../_styles/transitions/fade-down.cssr'
17
17
  // --n-label-text-align
18
18
  // --n-label-padding
19
19
 
20
- export default cB('form-item', {
21
- display: 'grid',
22
- lineHeight: 'var(--n-line-height)'
23
- }, [cB('form-item-label', `
20
+ export default cB('form-item', `
21
+ display: grid;
22
+ line-height: var(--n-line-height);
23
+ `, [cB('form-item-label', `
24
24
  grid-area: label;
25
25
  align-items: center;
26
26
  line-height: 1.25;
27
27
  text-align: var(--n-label-text-align);
28
28
  font-size: var(--n-label-font-size);
29
- height: var(--n-label-height);
29
+ min-height: var(--n-label-height);
30
30
  padding: var(--n-label-padding);
31
31
  color: var(--n-label-text-color);
32
32
  transition: color .3s var(--n-bezier);
33
33
  box-sizing: border-box;
34
34
  `, [cE('asterisk', `
35
+ white-space: nowrap;
35
36
  user-select: none;
36
37
  -webkit-user-select: none;
37
38
  color: var(--n-asterisk-color);
38
39
  transition: color .3s var(--n-bezier);
39
40
  `), cE('asterisk-placeholder', `
41
+ grid-area: mark;
40
42
  user-select: none;
41
43
  -webkit-user-select: none;
42
44
  visibility: hidden;
43
- `)]), cB('form-item-blank', {
44
- gridArea: 'blank',
45
- minHeight: 'var(--n-blank-height)'
46
- }), cM('left-labelled', `
45
+ `)]), cB('form-item-blank', `
46
+ grid-area: blank;
47
+ min-height: var(--n-blank-height);
48
+ `), cM('auto-label-width', [cB('form-item-label', 'white-space: nowrap;')]), cM('left-labelled', `
47
49
  grid-template-areas:
48
50
  "label blank"
49
51
  "label feedback";
50
52
  grid-template-columns: auto minmax(0, 1fr);
53
+ grid-template-rows: auto 1fr;
54
+ align-items: start;
51
55
  `, [cB('form-item-label', `
52
- height: var(--n-blank-height);
53
- line-height: var(--n-blank-height);
56
+ display: grid;
57
+ grid-template-columns: 1fr auto;
58
+ min-height: var(--n-blank-height);
59
+ height: auto;
54
60
  box-sizing: border-box;
55
- white-space: nowrap;
56
61
  flex-shrink: 0;
57
62
  flex-grow: 0;
58
- `)]), cM('top-labelled', `
63
+ `, [cM('left-mark', `
64
+ grid-template-areas:
65
+ "mark text"
66
+ ". text";
67
+ `), cM('right-mark', `
68
+ grid-template-areas:
69
+ "text mark"
70
+ "text .";
71
+ `), cM('right-hanging-mark', `
72
+ grid-template-areas:
73
+ "text mark"
74
+ "text .";
75
+ `), cE('text', `
76
+ grid-area: text;
77
+ `), cE('asterisk', `
78
+ grid-area: mark;
79
+ align-self: end;
80
+ `)])]), cM('top-labelled', `
59
81
  grid-template-areas:
60
82
  "label"
61
83
  "blank"
62
84
  "feedback";
63
- grid-template-rows: var(--n-label-height) 1fr;
85
+ grid-template-rows: minmax(var(--n-label-height), auto) 1fr;
64
86
  grid-template-columns: minmax(0, 100%);
65
87
  `, [cM('no-label', `
66
88
  grid-template-areas:
67
89
  "blank"
68
90
  "feedback";
69
91
  grid-template-rows: 1fr;
70
- `), cB('form-item-label', {
71
- display: 'flex',
72
- alignItems: 'flex-end',
73
- justifyContent: 'var(--n-label-text-align)'
74
- })]), cB('form-item-blank', `
92
+ `), cB('form-item-label', `
93
+ display: flex;
94
+ align-items: flex-start;
95
+ justify-content: var(--n-label-text-align);
96
+ `)]), cB('form-item-blank', `
75
97
  box-sizing: border-box;
76
98
  display: flex;
77
99
  align-items: center;
@@ -14,6 +14,7 @@ export declare function formItemMisc(props: FormItemSetupProps): {
14
14
  mergedValidationStatus: ComputedRef<"error" | "success" | "warning" | undefined>;
15
15
  mergedShowFeedback: ComputedRef<boolean>;
16
16
  mergedShowLabel: ComputedRef<boolean>;
17
+ isAutoLabelWidth: ComputedRef<boolean>;
17
18
  };
18
19
  export declare function formItemRule(props: FormItemSetupProps): {
19
20
  mergedRules: ComputedRef<FormItemRule[]>;
@@ -17,6 +17,18 @@ export function formItemSize(props) {
17
17
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
18
18
  export function formItemMisc(props) {
19
19
  const NForm = inject(formInjectionKey, null);
20
+ const mergedLabelPlacementRef = computed(() => {
21
+ const { labelPlacement } = props;
22
+ if (labelPlacement !== undefined)
23
+ return labelPlacement;
24
+ if (NForm === null || NForm === void 0 ? void 0 : NForm.props.labelPlacement)
25
+ return NForm.props.labelPlacement;
26
+ return 'top';
27
+ });
28
+ const isAutoLabelWidthRef = computed(() => {
29
+ return (mergedLabelPlacementRef.value === 'left' &&
30
+ (props.labelWidth === 'auto' || (NForm === null || NForm === void 0 ? void 0 : NForm.props.labelWidth) === 'auto'));
31
+ });
20
32
  const mergedLabelWidthRef = computed(() => {
21
33
  if (mergedLabelPlacementRef.value === 'top')
22
34
  return;
@@ -24,7 +36,7 @@ export function formItemMisc(props) {
24
36
  if (labelWidth !== undefined && labelWidth !== 'auto') {
25
37
  return formatLength(labelWidth);
26
38
  }
27
- if (labelWidth === 'auto' || (NForm === null || NForm === void 0 ? void 0 : NForm.props.labelWidth) === 'auto') {
39
+ if (isAutoLabelWidthRef.value) {
28
40
  const autoComputedWidth = NForm === null || NForm === void 0 ? void 0 : NForm.maxChildLabelWidthRef.value;
29
41
  if (autoComputedWidth !== undefined) {
30
42
  return formatLength(autoComputedWidth);
@@ -38,14 +50,6 @@ export function formItemMisc(props) {
38
50
  }
39
51
  return undefined;
40
52
  });
41
- const mergedLabelPlacementRef = computed(() => {
42
- const { labelPlacement } = props;
43
- if (labelPlacement !== undefined)
44
- return labelPlacement;
45
- if (NForm === null || NForm === void 0 ? void 0 : NForm.props.labelPlacement)
46
- return NForm.props.labelPlacement;
47
- return 'top';
48
- });
49
53
  const mergedLabelAlignRef = computed(() => {
50
54
  const { labelAlign } = props;
51
55
  if (labelAlign)
@@ -110,7 +114,8 @@ export function formItemMisc(props) {
110
114
  mergedRequireMarkPlacement: mergedRequireMarkPlacementRef,
111
115
  mergedValidationStatus: mergedValidationStatusRef,
112
116
  mergedShowFeedback: mergedShowFeedbackRef,
113
- mergedShowLabel: mergedShowLabelRef
117
+ mergedShowLabel: mergedShowLabelRef,
118
+ isAutoLabelWidth: isAutoLabelWidthRef
114
119
  };
115
120
  }
116
121
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
@@ -14,7 +14,7 @@ export function useCursor(inputElRef) {
14
14
  const selectionRef = ref(null);
15
15
  function recordCursor() {
16
16
  const { value: input } = inputElRef;
17
- if (!input || !input.focus) {
17
+ if (!(input === null || input === void 0 ? void 0 : input.focus)) {
18
18
  reset();
19
19
  return;
20
20
  }
@@ -41,9 +41,8 @@ const frFR = {
41
41
  endDatePlaceholder: 'Date de fin',
42
42
  startDatetimePlaceholder: 'Date et heure de début',
43
43
  endDatetimePlaceholder: 'Date et heure de fin',
44
- // FIXME: translation needed
45
- startMonthPlaceholder: 'Start Month',
46
- endMonthPlaceholder: 'End Month',
44
+ startMonthPlaceholder: 'Mois de début',
45
+ endMonthPlaceholder: 'Mois de fin',
47
46
  monthBeforeYear: true,
48
47
  firstDayOfWeek: 1,
49
48
  today: "Aujourd'hui"
@@ -58,13 +57,12 @@ const frFR = {
58
57
  sourceTitle: 'Source',
59
58
  targetTitle: 'Cible'
60
59
  },
61
- // TODO: translation
62
60
  Transfer: {
63
- selectAll: 'Select all',
64
- unselectAll: 'Unselect all',
65
- clearAll: 'Clear',
66
- total: (num) => `Total ${num} items`,
67
- selected: (num) => `${num} items selected`
61
+ selectAll: 'Sélectionner tout',
62
+ unselectAll: 'Désélectionner tout',
63
+ clearAll: 'Effacer',
64
+ total: (num) => `Total ${num} éléments`,
65
+ selected: (num) => `${num} éléments sélectionnés`
68
66
  },
69
67
  Empty: {
70
68
  description: 'Aucune donnée'
@@ -115,8 +113,7 @@ const frFR = {
115
113
  tipZoomOut: 'Dézoomer',
116
114
  tipZoomIn: 'Zoomer',
117
115
  tipClose: 'Fermer (Échap.)',
118
- // TODO: translation
119
- tipOriginalSize: 'Zoom to original size'
116
+ tipOriginalSize: 'Zoom à la taille originale'
120
117
  }
121
118
  };
122
119
  export default frFR;
@@ -42,6 +42,10 @@ export declare const menuProps: {
42
42
  readonly type: StringConstructor;
43
43
  readonly default: "children";
44
44
  };
45
+ readonly disabledField: {
46
+ readonly type: StringConstructor;
47
+ readonly default: "disabled";
48
+ };
45
49
  readonly defaultExpandAll: BooleanConstructor;
46
50
  readonly defaultExpandedKeys: PropType<Key[]>;
47
51
  readonly expandedKeys: PropType<Key[]>;
@@ -648,6 +652,10 @@ declare const _default: import("vue").DefineComponent<{
648
652
  readonly type: StringConstructor;
649
653
  readonly default: "children";
650
654
  };
655
+ readonly disabledField: {
656
+ readonly type: StringConstructor;
657
+ readonly default: "disabled";
658
+ };
651
659
  readonly defaultExpandAll: BooleanConstructor;
652
660
  readonly defaultExpandedKeys: PropType<Key[]>;
653
661
  readonly expandedKeys: PropType<Key[]>;
@@ -1585,6 +1593,10 @@ declare const _default: import("vue").DefineComponent<{
1585
1593
  readonly type: StringConstructor;
1586
1594
  readonly default: "children";
1587
1595
  };
1596
+ readonly disabledField: {
1597
+ readonly type: StringConstructor;
1598
+ readonly default: "disabled";
1599
+ };
1588
1600
  readonly defaultExpandAll: BooleanConstructor;
1589
1601
  readonly defaultExpandedKeys: PropType<Key[]>;
1590
1602
  readonly expandedKeys: PropType<Key[]>;
@@ -2163,6 +2175,7 @@ declare const _default: import("vue").DefineComponent<{
2163
2175
  readonly defaultExpandAll: boolean;
2164
2176
  readonly indent: number;
2165
2177
  readonly inverted: boolean;
2178
+ readonly disabledField: string;
2166
2179
  readonly accordion: boolean;
2167
2180
  readonly collapsed: boolean | undefined;
2168
2181
  readonly collapsedWidth: number;
@@ -36,6 +36,9 @@ export const menuProps = Object.assign(Object.assign({}, useTheme.props), { opti
36
36
  }, childrenField: {
37
37
  type: String,
38
38
  default: 'children'
39
+ }, disabledField: {
40
+ type: String,
41
+ default: 'disabled'
39
42
  }, defaultExpandAll: Boolean, defaultExpandedKeys: Array, expandedKeys: Array, value: [String, Number], defaultValue: {
40
43
  type: [String, Number],
41
44
  default: null
@@ -78,11 +81,14 @@ export default defineComponent({
78
81
  return false;
79
82
  });
80
83
  const treeMateRef = computed(() => {
81
- const { keyField, childrenField } = props;
84
+ const { keyField, childrenField, disabledField } = props;
82
85
  return createTreeMate(props.items || props.options, {
83
86
  getChildren(node) {
84
87
  return node[childrenField];
85
88
  },
89
+ getDisabled(node) {
90
+ return node[disabledField];
91
+ },
86
92
  getKey(node) {
87
93
  var _a;
88
94
  return (_a = node[keyField]) !== null && _a !== void 0 ? _a : node.name;
@@ -441,6 +441,8 @@ declare const _default: import("vue").DefineComponent<{
441
441
  colorPopover: string;
442
442
  colorTarget: string;
443
443
  colorEmbedded: string;
444
+ colorEmbeddedModal: string;
445
+ colorEmbeddedPopover: string;
444
446
  textColor: string;
445
447
  titleTextColor: string;
446
448
  borderColor: string;
@@ -347,6 +347,8 @@ export declare const modalProps: {
347
347
  colorPopover: string;
348
348
  colorTarget: string;
349
349
  colorEmbedded: string;
350
+ colorEmbeddedModal: string;
351
+ colorEmbeddedPopover: string;
350
352
  textColor: string;
351
353
  titleTextColor: string;
352
354
  borderColor: string;
@@ -629,6 +631,8 @@ export declare const modalProps: {
629
631
  colorPopover: string;
630
632
  colorTarget: string;
631
633
  colorEmbedded: string;
634
+ colorEmbeddedModal: string;
635
+ colorEmbeddedPopover: string;
632
636
  textColor: string;
633
637
  titleTextColor: string;
634
638
  borderColor: string;
@@ -911,6 +915,8 @@ export declare const modalProps: {
911
915
  colorPopover: string;
912
916
  colorTarget: string;
913
917
  colorEmbedded: string;
918
+ colorEmbeddedModal: string;
919
+ colorEmbeddedPopover: string;
914
920
  textColor: string;
915
921
  titleTextColor: string;
916
922
  borderColor: string;
@@ -1289,6 +1295,8 @@ declare const _default: import("vue").DefineComponent<{
1289
1295
  colorPopover: string;
1290
1296
  colorTarget: string;
1291
1297
  colorEmbedded: string;
1298
+ colorEmbeddedModal: string;
1299
+ colorEmbeddedPopover: string;
1292
1300
  textColor: string;
1293
1301
  titleTextColor: string;
1294
1302
  borderColor: string;
@@ -1571,6 +1579,8 @@ declare const _default: import("vue").DefineComponent<{
1571
1579
  colorPopover: string;
1572
1580
  colorTarget: string;
1573
1581
  colorEmbedded: string;
1582
+ colorEmbeddedModal: string;
1583
+ colorEmbeddedPopover: string;
1574
1584
  textColor: string;
1575
1585
  titleTextColor: string;
1576
1586
  borderColor: string;
@@ -1853,6 +1863,8 @@ declare const _default: import("vue").DefineComponent<{
1853
1863
  colorPopover: string;
1854
1864
  colorTarget: string;
1855
1865
  colorEmbedded: string;
1866
+ colorEmbeddedModal: string;
1867
+ colorEmbeddedPopover: string;
1856
1868
  textColor: string;
1857
1869
  titleTextColor: string;
1858
1870
  borderColor: string;
@@ -2251,6 +2263,8 @@ declare const _default: import("vue").DefineComponent<{
2251
2263
  colorPopover: string;
2252
2264
  colorTarget: string;
2253
2265
  colorEmbedded: string;
2266
+ colorEmbeddedModal: string;
2267
+ colorEmbeddedPopover: string;
2254
2268
  textColor: string;
2255
2269
  titleTextColor: string;
2256
2270
  borderColor: string;
@@ -2533,6 +2547,8 @@ declare const _default: import("vue").DefineComponent<{
2533
2547
  colorPopover: string;
2534
2548
  colorTarget: string;
2535
2549
  colorEmbedded: string;
2550
+ colorEmbeddedModal: string;
2551
+ colorEmbeddedPopover: string;
2536
2552
  textColor: string;
2537
2553
  titleTextColor: string;
2538
2554
  borderColor: string;
@@ -2815,6 +2831,8 @@ declare const _default: import("vue").DefineComponent<{
2815
2831
  colorPopover: string;
2816
2832
  colorTarget: string;
2817
2833
  colorEmbedded: string;
2834
+ colorEmbeddedModal: string;
2835
+ colorEmbeddedPopover: string;
2818
2836
  textColor: string;
2819
2837
  titleTextColor: string;
2820
2838
  borderColor: string;
@@ -41,5 +41,5 @@ declare const presetProps: {
41
41
  hoverable: BooleanConstructor;
42
42
  role: StringConstructor;
43
43
  };
44
- declare const presetPropsKeys: ("type" | "content" | "size" | "icon" | "title" | "role" | "action" | "positiveText" | "negativeText" | "loading" | "bordered" | "showIcon" | "closable" | "contentStyle" | "onClose" | "headerStyle" | "footerStyle" | "iconPlacement" | "hoverable" | "headerExtraStyle" | "embedded" | "segmented" | "positiveButtonProps" | "negativeButtonProps" | "onPositiveClick" | "onNegativeClick")[];
44
+ declare const presetPropsKeys: ("type" | "content" | "size" | "icon" | "title" | "role" | "action" | "positiveText" | "negativeText" | "loading" | "bordered" | "showIcon" | "closable" | "contentStyle" | "onClose" | "headerStyle" | "footerStyle" | "iconPlacement" | "hoverable" | "embedded" | "headerExtraStyle" | "segmented" | "positiveButtonProps" | "negativeButtonProps" | "onPositiveClick" | "onNegativeClick")[];
45
45
  export { presetProps, presetPropsKeys };
@@ -258,6 +258,8 @@ declare const modalLight: import("../../_mixins").Theme<"Modal", {
258
258
  colorPopover: string;
259
259
  colorTarget: string;
260
260
  colorEmbedded: string;
261
+ colorEmbeddedModal: string;
262
+ colorEmbeddedPopover: string;
261
263
  textColor: string;
262
264
  titleTextColor: string;
263
265
  borderColor: string;
@@ -92,10 +92,14 @@ export default defineComponent({
92
92
  const showFastForwardMenuRef = ref(false);
93
93
  const showFastBackwardMenuRef = ref(false);
94
94
  const handleFastForwardMouseenter = () => {
95
+ if (props.disabled)
96
+ return;
95
97
  fastForwardActiveRef.value = true;
96
98
  disableTransitionOneTick();
97
99
  };
98
100
  const handleFastForwardMouseleave = () => {
101
+ if (props.disabled)
102
+ return;
99
103
  fastForwardActiveRef.value = false;
100
104
  disableTransitionOneTick();
101
105
  };
@@ -501,7 +505,7 @@ export default defineComponent({
501
505
  ? 'fast-backward'
502
506
  : 'fast-forward'
503
507
  : pageItem.type;
504
- return (h(NPopselect, { key: key, trigger: "hover", virtualScroll: true, style: { width: '60px' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {
508
+ return (h(NPopselect, { key: key, disabled: disabled, trigger: "hover", virtualScroll: true, style: { width: '60px' }, theme: mergedTheme.peers.Popselect, themeOverrides: mergedTheme.peerOverrides.Popselect, builtinThemeOverrides: {
505
509
  peers: {
506
510
  InternalSelectMenu: {
507
511
  height: 'calc(var(--n-option-height) * 4.6)'
@@ -1,35 +1,11 @@
1
1
  import type { ExtractPublicPropTypes } from '../../_utils';
2
- import useRadio from './use-radio';
3
- export declare const radioProps: {
4
- readonly name: StringConstructor;
5
- readonly value: {
6
- readonly type: import("vue").PropType<string | number>;
7
- readonly default: "on";
8
- };
9
- readonly checked: {
10
- readonly type: import("vue").PropType<boolean | undefined>;
11
- readonly default: undefined;
12
- };
13
- readonly defaultChecked: BooleanConstructor;
14
- readonly disabled: {
15
- readonly type: import("vue").PropType<boolean | undefined>;
16
- readonly default: undefined;
17
- };
18
- readonly label: StringConstructor;
19
- readonly size: import("vue").PropType<"small" | "medium" | "large">;
20
- readonly onUpdateChecked: import("vue").PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
21
- readonly 'onUpdate:checked': import("vue").PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
22
- readonly checkedValue: {
23
- readonly type: import("vue").PropType<boolean | undefined>;
24
- readonly validator: () => boolean;
25
- readonly default: undefined;
26
- };
27
- };
28
- export declare type RadioProps = ExtractPublicPropTypes<typeof useRadio.props>;
2
+ import { radioProps } from './use-radio';
3
+ export { radioProps };
4
+ export declare type RadioProps = ExtractPublicPropTypes<typeof radioProps>;
29
5
  declare const _default: import("vue").DefineComponent<{
30
6
  name: StringConstructor;
31
7
  value: {
32
- readonly type: import("vue").PropType<string | number>;
8
+ readonly type: import("vue").PropType<string | number | boolean>;
33
9
  readonly default: "on";
34
10
  };
35
11
  checked: {
@@ -47,7 +23,6 @@ declare const _default: import("vue").DefineComponent<{
47
23
  'onUpdate:checked': import("vue").PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
48
24
  checkedValue: {
49
25
  readonly type: import("vue").PropType<boolean | undefined>;
50
- readonly validator: () => boolean;
51
26
  readonly default: undefined;
52
27
  };
53
28
  theme: import("vue").PropType<import("../../_mixins").Theme<"Radio", {
@@ -65,6 +40,7 @@ declare const _default: import("vue").DefineComponent<{
65
40
  boxShadowDisabled: string;
66
41
  color: string;
67
42
  colorDisabled: string;
43
+ colorActive: string;
68
44
  textColor: string;
69
45
  textColorDisabled: string;
70
46
  dotColorActive: string;
@@ -102,6 +78,7 @@ declare const _default: import("vue").DefineComponent<{
102
78
  boxShadowDisabled: string;
103
79
  color: string;
104
80
  colorDisabled: string;
81
+ colorActive: string;
105
82
  textColor: string;
106
83
  textColorDisabled: string;
107
84
  dotColorActive: string;
@@ -139,6 +116,7 @@ declare const _default: import("vue").DefineComponent<{
139
116
  boxShadowDisabled: string;
140
117
  color: string;
141
118
  colorDisabled: string;
119
+ colorActive: string;
142
120
  textColor: string;
143
121
  textColorDisabled: string;
144
122
  dotColorActive: string;
@@ -172,6 +150,7 @@ declare const _default: import("vue").DefineComponent<{
172
150
  '--n-box-shadow-focus': string;
173
151
  '--n-box-shadow-hover': string;
174
152
  '--n-color': string;
153
+ '--n-color-active': string;
175
154
  '--n-color-disabled': string;
176
155
  '--n-dot-color-active': string;
177
156
  '--n-dot-color-disabled': string;
@@ -186,7 +165,7 @@ declare const _default: import("vue").DefineComponent<{
186
165
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
187
166
  name: StringConstructor;
188
167
  value: {
189
- readonly type: import("vue").PropType<string | number>;
168
+ readonly type: import("vue").PropType<string | number | boolean>;
190
169
  readonly default: "on";
191
170
  };
192
171
  checked: {
@@ -204,7 +183,6 @@ declare const _default: import("vue").DefineComponent<{
204
183
  'onUpdate:checked': import("vue").PropType<import("../../_utils").MaybeArray<(value: boolean) => void> | undefined>;
205
184
  checkedValue: {
206
185
  readonly type: import("vue").PropType<boolean | undefined>;
207
- readonly validator: () => boolean;
208
186
  readonly default: undefined;
209
187
  };
210
188
  theme: import("vue").PropType<import("../../_mixins").Theme<"Radio", {
@@ -222,6 +200,7 @@ declare const _default: import("vue").DefineComponent<{
222
200
  boxShadowDisabled: string;
223
201
  color: string;
224
202
  colorDisabled: string;
203
+ colorActive: string;
225
204
  textColor: string;
226
205
  textColorDisabled: string;
227
206
  dotColorActive: string;
@@ -259,6 +238,7 @@ declare const _default: import("vue").DefineComponent<{
259
238
  boxShadowDisabled: string;
260
239
  color: string;
261
240
  colorDisabled: string;
241
+ colorActive: string;
262
242
  textColor: string;
263
243
  textColorDisabled: string;
264
244
  dotColorActive: string;
@@ -296,6 +276,7 @@ declare const _default: import("vue").DefineComponent<{
296
276
  boxShadowDisabled: string;
297
277
  color: string;
298
278
  colorDisabled: string;
279
+ colorActive: string;
299
280
  textColor: string;
300
281
  textColorDisabled: string;
301
282
  dotColorActive: string;
@@ -319,7 +300,7 @@ declare const _default: import("vue").DefineComponent<{
319
300
  labelPadding: string;
320
301
  }, any>>>;
321
302
  }>>, {
322
- value: string | number;
303
+ value: string | number | boolean;
323
304
  disabled: boolean | undefined;
324
305
  checked: boolean | undefined;
325
306
  defaultChecked: boolean;
@@ -1,20 +1,20 @@
1
1
  import { h, defineComponent, computed } from 'vue';
2
+ import { useRtl } from '../../_mixins/use-rtl';
2
3
  import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
4
  import { createKey, resolveWrappedSlot } from '../../_utils';
4
5
  import { radioLight } from '../styles';
5
- import useRadio from './use-radio';
6
+ import { setup, radioProps } from './use-radio';
6
7
  import style from './styles/radio.cssr';
7
- import { useRtl } from '../../_mixins/use-rtl';
8
- export const radioProps = useRadio.props;
8
+ export { radioProps };
9
9
  export default defineComponent({
10
10
  name: 'Radio',
11
- props: Object.assign(Object.assign({}, useTheme.props), useRadio.props),
11
+ props: Object.assign(Object.assign({}, useTheme.props), radioProps),
12
12
  setup(props) {
13
- const radio = useRadio(props);
13
+ const radio = setup(props);
14
14
  const themeRef = useTheme('Radio', '-radio', style, radioLight, props, radio.mergedClsPrefix);
15
15
  const cssVarsRef = computed(() => {
16
16
  const { mergedSize: { value: size } } = radio;
17
- const { common: { cubicBezierEaseInOut }, self: { boxShadow, boxShadowActive, boxShadowDisabled, boxShadowFocus, boxShadowHover, color, colorDisabled, textColor, textColorDisabled, dotColorActive, dotColorDisabled, labelPadding, labelLineHeight, [createKey('fontSize', size)]: fontSize, [createKey('radioSize', size)]: radioSize } } = themeRef.value;
17
+ const { common: { cubicBezierEaseInOut }, self: { boxShadow, boxShadowActive, boxShadowDisabled, boxShadowFocus, boxShadowHover, color, colorDisabled, colorActive, textColor, textColorDisabled, dotColorActive, dotColorDisabled, labelPadding, labelLineHeight, [createKey('fontSize', size)]: fontSize, [createKey('radioSize', size)]: radioSize } } = themeRef.value;
18
18
  return {
19
19
  '--n-bezier': cubicBezierEaseInOut,
20
20
  '--n-label-line-height': labelLineHeight,
@@ -24,6 +24,7 @@ export default defineComponent({
24
24
  '--n-box-shadow-focus': boxShadowFocus,
25
25
  '--n-box-shadow-hover': boxShadowHover,
26
26
  '--n-color': color,
27
+ '--n-color-active': colorActive,
27
28
  '--n-color-disabled': colorDisabled,
28
29
  '--n-dot-color-active': dotColorActive,
29
30
  '--n-dot-color-disabled': dotColorDisabled,