@nutui/nutui-react-taro 1.4.7 → 1.4.8

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 (98) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/esm/Badge.js +2 -2
  3. package/dist/esm/Barrage.js +2 -2
  4. package/dist/esm/Calendar.js +3 -4
  5. package/dist/esm/CalendarItem.js +2 -3
  6. package/dist/esm/Cascader.js +4 -4
  7. package/dist/esm/Checkbox.js +2 -2
  8. package/dist/esm/CheckboxGroup.js +2 -2
  9. package/dist/esm/Col.js +3 -2
  10. package/dist/esm/Dialog.js +3 -2
  11. package/dist/esm/Ellipsis.js +2 -2
  12. package/dist/esm/InputNumber.js +2 -2
  13. package/dist/esm/Popover.js +2 -2
  14. package/dist/esm/Row.js +3 -2
  15. package/dist/esm/ShortPassword.js +2 -2
  16. package/dist/esm/Swipe.js +3 -2
  17. package/dist/esm/TabPane.js +2 -2
  18. package/dist/esm/Tabbar.js +2 -2
  19. package/dist/esm/Tabs.js +2 -2
  20. package/dist/esm/TextArea.js +2 -2
  21. package/dist/esm/Uploader.js +2 -2
  22. package/dist/esm/{badge.taro-11e2ec95.js → badge.taro-116b2521.js} +1 -0
  23. package/dist/esm/barrage.taro-5dbab093.js +94 -0
  24. package/dist/esm/calendar.taro-c95e6998.js +61 -0
  25. package/dist/esm/calendaritem.taro-86412398.js +761 -0
  26. package/dist/esm/{cascader.taro-e6610dd1.js → cascader.taro-e0fb7e63.js} +16 -22
  27. package/dist/esm/{checkbox.taro-04da7151.js → checkbox.taro-b76b1c82.js} +9 -6
  28. package/dist/esm/{col.taro-b61c7cba.js → col.taro-9e4c5cc0.js} +2 -1
  29. package/dist/esm/{dialog.taro-54df2e3f.js → dialog.taro-7608bd26.js} +7 -12
  30. package/dist/esm/{ellipsis.taro-aa39faf7.js → ellipsis.taro-5aa23940.js} +4 -3
  31. package/dist/esm/{inputnumber.taro-e909d932.js → inputnumber.taro-94c75663.js} +11 -21
  32. package/dist/esm/nutui-react.es.js +19 -19
  33. package/dist/esm/{popover.taro-fc7b9a73.js → popover.taro-f144cd02.js} +9 -7
  34. package/dist/esm/{row.taro-37a895de.js → row.taro-4e697aa2.js} +2 -1
  35. package/dist/esm/{shortpassword.taro-02ea4499.js → shortpassword.taro-53b7ee7b.js} +3 -2
  36. package/dist/esm/{swipe.taro-1eb95b21.js → swipe.taro-6532405d.js} +16 -24
  37. package/dist/esm/{tabbar.taro-08e48c43.js → tabbar.taro-17d898d9.js} +12 -7
  38. package/dist/esm/{tabpane.taro-91cd6cf4.js → tabpane.taro-9512e308.js} +3 -3
  39. package/dist/esm/{tabs.taro-5030ce68.js → tabs.taro-4629d66c.js} +5 -2
  40. package/dist/esm/{textarea.taro-42600f8c.js → textarea.taro-47addd05.js} +5 -1
  41. package/dist/esm/types/src/packages/calendar/calendar.taro.d.ts +22 -2
  42. package/dist/esm/types/src/packages/calendaritem/calendaritem.taro.d.ts +21 -3
  43. package/dist/esm/types/src/packages/cascader/cascader.d.ts +1 -0
  44. package/dist/esm/types/src/packages/cascader/cascader.taro.d.ts +1 -0
  45. package/dist/esm/types/src/packages/cascader/cascaderItem.d.ts +1 -0
  46. package/dist/esm/types/src/packages/cascader/cascaderItem.taro.d.ts +1 -0
  47. package/dist/esm/types/src/packages/checkbox/demo.d.ts +0 -1
  48. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +5 -0
  49. package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.taro.d.ts +5 -0
  50. package/dist/esm/types/src/packages/dialog/DialogWrap.d.ts +1 -1
  51. package/dist/esm/types/src/packages/dialog/DialogWrapper.taro.d.ts +11 -0
  52. package/dist/esm/types/src/packages/dialog/dialog.taro.d.ts +3 -2
  53. package/dist/esm/types/src/packages/dialog/index.taro.d.ts +2 -2
  54. package/dist/esm/types/src/packages/form/form.d.ts +3 -0
  55. package/dist/esm/types/src/packages/formitem/formitem.d.ts +2 -1
  56. package/dist/esm/types/src/packages/formitem/types.d.ts +1 -1
  57. package/dist/esm/types/src/packages/popover/popover.taro.d.ts +1 -1
  58. package/dist/esm/types/src/packages/shortpassword/shortpassword.d.ts +1 -0
  59. package/dist/esm/types/src/packages/shortpassword/shortpassword.taro.d.ts +1 -0
  60. package/dist/esm/types/src/packages/switch/switch.d.ts +2 -1
  61. package/dist/esm/types/src/packages/tabbar/tabbar.d.ts +1 -1
  62. package/dist/esm/types/src/packages/tabbar/tabbar.taro.d.ts +1 -1
  63. package/dist/esm/types/src/packages/tabbar/use-props-value.d.ts +7 -0
  64. package/dist/esm/types/src/packages/tabpane/tabpane.taro.d.ts +0 -1
  65. package/dist/esm/types/src/packages/tabs/tabs.d.ts +1 -0
  66. package/dist/esm/types/src/packages/tabs/tabs.taro.d.ts +1 -0
  67. package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +1 -0
  68. package/dist/esm/{uploader.taro-b7b770e6.js → uploader.taro-c830b573.js} +3 -2
  69. package/dist/locales/base.js +1 -1
  70. package/dist/locales/en-US.js +1 -1
  71. package/dist/locales/id-ID.js +1 -1
  72. package/dist/locales/zh-CN.js +1 -1
  73. package/dist/locales/zh-TW.js +1 -1
  74. package/dist/locales/zh-UG.js +1 -1
  75. package/dist/nutui.react.es.js +690 -412
  76. package/dist/nutui.react.umd.js +689 -411
  77. package/dist/packages/badge/badge.scss +11 -5
  78. package/dist/packages/barrage/barrage.scss +3 -3
  79. package/dist/packages/button/button.scss +1 -0
  80. package/dist/packages/cascader/cascader.scss +19 -5
  81. package/dist/packages/checkboxgroup/checkboxgroup.scss +33 -0
  82. package/dist/packages/collapseitem/collapseitem.scss +41 -17
  83. package/dist/packages/form/form.scss +3 -0
  84. package/dist/packages/inputnumber/inputnumber.scss +18 -1
  85. package/dist/packages/popover/popover.scss +71 -46
  86. package/dist/packages/radiogroup/radiogroup.scss +9 -8
  87. package/dist/packages/step/step.scss +135 -98
  88. package/dist/packages/switch/switch.scss +1 -1
  89. package/dist/packages/tabs/tabs.scss +24 -2
  90. package/dist/packages/textarea/textarea.scss +7 -1
  91. package/dist/style.css +1 -1
  92. package/dist/style.es.js +1 -1
  93. package/dist/styles/variables.scss +155 -33
  94. package/dist/types/index.d.ts +57 -33
  95. package/package.json +1 -1
  96. package/dist/esm/barrage.taro-e4fe81ae.js +0 -73
  97. package/dist/esm/calendar.taro-02479e8b.js +0 -38
  98. package/dist/esm/calendaritem.taro-3cfd4186.js +0 -571
@@ -25,13 +25,14 @@ const defaultProps = {
25
25
  animatedTime: 300,
26
26
  titleGutter: 0,
27
27
  size: 'normal',
28
+ leftAlign: false,
28
29
  autoHeight: false,
29
30
  };
30
31
  const pxCheck = (value) => {
31
32
  return Number.isNaN(Number(value)) ? String(value) : `${value}px`;
32
33
  };
33
34
  const Tabs = (props) => {
34
- const { value, color, tabStyle, background, direction, type, titleScroll, ellipsis, animatedTime, titleGutter, size, titleNode, children, onClick, onChange, className, autoHeight, iconClassPrefix, iconFontClassName, ...rest } = {
35
+ const { value, color, tabStyle, background, direction, type, titleScroll, ellipsis, animatedTime, titleGutter, size, leftAlign, titleNode, children, onClick, onChange, className, autoHeight, iconClassPrefix, iconFontClassName, ...rest } = {
35
36
  ...defaultProps,
36
37
  ...props,
37
38
  };
@@ -95,8 +96,10 @@ const Tabs = (props) => {
95
96
  ? titleNode()
96
97
  : titles.current.map((item, index) => {
97
98
  return (React__default.createElement("div", { style: titleStyle, onClick: (e) => tabChange(item), className: classNames({
98
- active: String(item.paneKey) === String(value),
99
+ active: !item.disabled &&
100
+ String(item.paneKey) === String(value),
99
101
  disabled: item.disabled,
102
+ 'nut-tabs__titles-item-left-align': leftAlign,
100
103
  }, `${b('')}__titles-item`), key: item.paneKey },
101
104
  type === 'line' && (React__default.createElement("div", { className: `${b('')}__titles-item__line`, style: tabsActiveStyle })),
102
105
  type === 'smile' && (React__default.createElement("div", { className: `${b('')}__titles-item__smile`, style: tabsActiveStyle },
@@ -26,6 +26,10 @@ const TextArea = (props) => {
26
26
  SetInputValue(initValue);
27
27
  }, [defaultValue]);
28
28
  const textChange = (event) => {
29
+ if (disabled)
30
+ return;
31
+ if (readonly)
32
+ return;
29
33
  const text = event.detail ? event.detail : event.target;
30
34
  if (maxlength && [...text.value].length > Number(maxlength)) {
31
35
  text.value = text.value.substring(0, Number(maxlength));
@@ -54,7 +58,7 @@ const TextArea = (props) => {
54
58
  textAlign,
55
59
  resize: `${autosize ? 'vertical' : 'none'}`,
56
60
  ...style,
57
- }, disabled: disabled, readOnly: readonly, value: inputValue, onInput: (e) => {
61
+ }, readOnly: disabled || readonly, value: inputValue, onInput: (e) => {
58
62
  textChange(e);
59
63
  }, onChange: (e) => {
60
64
  textChange(e);
@@ -1,4 +1,11 @@
1
- import React, { FunctionComponent } from 'react';
1
+ import React from 'react';
2
+ type CalendarRef = {
3
+ scrollToDate: (date: string) => void;
4
+ };
5
+ interface Day {
6
+ day: string | number;
7
+ type: string;
8
+ }
2
9
  export interface CalendarProps {
3
10
  type?: string;
4
11
  isAutoBackFill?: boolean;
@@ -8,7 +15,20 @@ export interface CalendarProps {
8
15
  defaultValue?: string | string[];
9
16
  startDate?: string;
10
17
  endDate?: string;
18
+ showToday?: boolean;
19
+ startText?: string;
20
+ endText?: string;
21
+ confirmText?: string;
22
+ showTitle?: boolean;
23
+ showSubTitle?: boolean;
24
+ toDateAnimation?: boolean;
25
+ onBtn?: (() => string | JSX.Element) | undefined;
26
+ onDay?: ((date: Day) => string | JSX.Element) | undefined;
27
+ onTopInfo?: ((date: Day) => string | JSX.Element) | undefined;
28
+ onBottomInfo?: ((date: Day) => string | JSX.Element) | undefined;
11
29
  onClose?: () => void;
12
30
  onChoose?: (param: string) => void;
31
+ onSelected?: (data: string) => void;
13
32
  }
14
- export declare const Calendar: FunctionComponent<Partial<CalendarProps> & React.HTMLAttributes<HTMLDivElement>>;
33
+ export declare const Calendar: React.ForwardRefExoticComponent<Partial<CalendarProps> & Omit<React.HTMLAttributes<HTMLDivElement>, ""> & React.RefAttributes<CalendarRef>>;
34
+ export {};
@@ -1,5 +1,12 @@
1
- import React, { FunctionComponent } from 'react';
1
+ import React from 'react';
2
+ type CalendarRef = {
3
+ scrollToDate: (date: string) => void;
4
+ };
2
5
  type InputDate = string | string[];
6
+ interface Day {
7
+ day: string | number;
8
+ type: string;
9
+ }
3
10
  export interface CalendarItemProps {
4
11
  type?: string;
5
12
  isAutoBackFill?: boolean;
@@ -9,9 +16,20 @@ export interface CalendarItemProps {
9
16
  defaultValue: InputDate;
10
17
  startDate?: InputDate;
11
18
  endDate?: InputDate;
19
+ showToday?: boolean;
20
+ startText?: string;
21
+ endText?: string;
22
+ confirmText?: string;
23
+ showTitle?: boolean;
24
+ showSubTitle?: boolean;
25
+ toDateAnimation?: boolean;
26
+ onBtn?: (() => string | JSX.Element) | undefined;
27
+ onDay?: ((date: Day) => string | JSX.Element) | undefined;
28
+ onTopInfo?: ((date: Day) => string | JSX.Element) | undefined;
29
+ onBottomInfo?: ((date: Day) => string | JSX.Element) | undefined;
12
30
  onChoose?: (data: any) => void;
13
31
  onUpdate?: () => void;
14
- onClose?: () => void;
32
+ onSelected?: (data: string) => void;
15
33
  }
16
- export declare const CalendarItem: FunctionComponent<Partial<CalendarItemProps> & React.HTMLAttributes<HTMLDivElement>>;
34
+ export declare const CalendarItem: React.ForwardRefExoticComponent<Partial<CalendarItemProps> & Omit<React.HTMLAttributes<HTMLDivElement>, ""> & React.RefAttributes<CalendarRef>>;
17
35
  export {};
@@ -4,6 +4,7 @@ export interface CascaderProps {
4
4
  className: string;
5
5
  style: CSSProperties;
6
6
  activeColor: string;
7
+ checkedIcon: string;
7
8
  tabsColor: string;
8
9
  poppable: boolean;
9
10
  visible: boolean;
@@ -4,6 +4,7 @@ export interface CascaderProps {
4
4
  className: string;
5
5
  style: CSSProperties;
6
6
  activeColor: string;
7
+ checkedIcon: string;
7
8
  tabsColor: string;
8
9
  poppable: boolean;
9
10
  visible: boolean;
@@ -17,6 +17,7 @@ export interface CascaderItemProps {
17
17
  children?: OptiosInfo[];
18
18
  };
19
19
  checked: boolean;
20
+ checkedIcon: string;
20
21
  activeColor: string;
21
22
  chooseItem: (data: any) => void;
22
23
  }
@@ -17,6 +17,7 @@ export interface CascaderItemProps {
17
17
  children?: OptiosInfo[];
18
18
  };
19
19
  checked: boolean;
20
+ checkedIcon: string;
20
21
  activeColor: string;
21
22
  chooseItem: (data: any) => void;
22
23
  }
@@ -1,4 +1,3 @@
1
1
  /// <reference types="react" />
2
- import './demo.scss';
3
2
  declare const CheckboxDemo: () => JSX.Element;
4
3
  export default CheckboxDemo;
@@ -1,10 +1,15 @@
1
1
  import React from 'react';
2
2
  import { RadioGroupOptionType } from '@/packages/radiogroup/type';
3
+ type Position = 'left' | 'right';
4
+ type Direction = 'horizontal' | 'vertical';
3
5
  export interface CheckboxGroupProps {
4
6
  disabled: boolean;
5
7
  checkedValue: string[];
6
8
  max: number | undefined;
9
+ textPosition: Position;
10
+ direction: Direction;
7
11
  onChange: (value: string[]) => void;
8
12
  options: RadioGroupOptionType[];
9
13
  }
10
14
  export declare const CheckboxGroup: React.ForwardRefExoticComponent<Partial<CheckboxGroupProps> & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<unknown>>;
15
+ export {};
@@ -1,10 +1,15 @@
1
1
  import React from 'react';
2
2
  import { RadioGroupOptionType } from '@/packages/radiogroup/type';
3
+ type Position = 'left' | 'right';
4
+ type Direction = 'horizontal' | 'vertical';
3
5
  export interface CheckboxGroupProps {
4
6
  disabled: boolean;
5
7
  checkedValue: string[];
6
8
  max: number | undefined;
9
+ textPosition: Position;
10
+ direction: Direction;
7
11
  onChange: (value: string[]) => void;
8
12
  options: RadioGroupOptionType[];
9
13
  }
10
14
  export declare const CheckboxGroup: React.ForwardRefExoticComponent<Partial<CheckboxGroupProps> & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<unknown>>;
15
+ export {};
@@ -8,5 +8,5 @@ interface DialogWrapProps {
8
8
  onClosed?: () => void;
9
9
  onClickSelf?: () => void;
10
10
  }
11
- export declare const DialogWrap: FunctionComponent<Partial<DialogWrapProps> & HTMLAttributes<HTMLDivElement>>;
11
+ export declare const DialogWrap: FunctionComponent<Partial<DialogWrapProps> & Omit<HTMLAttributes<HTMLDivElement>, 'title'>>;
12
12
  export {};
@@ -0,0 +1,11 @@
1
+ import { FunctionComponent, ReactNode, HTMLAttributes } from 'react';
2
+ interface DialogWrapperProps {
3
+ visible?: boolean;
4
+ title?: ReactNode;
5
+ footer?: ReactNode;
6
+ lockScroll?: boolean;
7
+ onCancel?: () => void;
8
+ onClosed?: () => void;
9
+ }
10
+ export declare const DialogWrapper: FunctionComponent<Partial<DialogWrapperProps> & Omit<HTMLAttributes<HTMLDivElement>, 'title'>>;
11
+ export {};
@@ -1,3 +1,4 @@
1
- import { BasicDialogProps, DialogComponent } from './config';
1
+ import React from 'react';
2
+ import { BasicDialogProps } from './config';
2
3
  export type DialogProps = BasicDialogProps;
3
- export declare const Dialog: DialogComponent;
4
+ export declare const BaseDialog: React.ForwardRefExoticComponent<Partial<BasicDialogProps> & Omit<React.HTMLAttributes<HTMLDivElement>, "title"> & React.RefAttributes<unknown>>;
@@ -1,2 +1,2 @@
1
- import { Dialog } from './dialog.taro';
2
- export default Dialog;
1
+ import { BaseDialog } from './dialog.taro';
2
+ export default BaseDialog;
@@ -1,4 +1,5 @@
1
1
  import React, { FunctionComponent } from 'react';
2
+ import { useForm } from './useForm';
2
3
  import { BasicComponent } from '@/utils/typings';
3
4
  import { FormItem } from '../formitem/formitem';
4
5
  import { BaseForm } from './types';
@@ -6,4 +7,6 @@ export interface FormProps extends BasicComponent, BaseForm {
6
7
  }
7
8
  export declare const Form: FunctionComponent<Partial<FormProps> & React.HTMLAttributes<HTMLFormElement>> & {
8
9
  Item: typeof FormItem;
10
+ } & {
11
+ useForm: typeof useForm;
9
12
  };
@@ -17,10 +17,11 @@ export declare class FormItem extends React.Component<FieldProps> {
17
17
  static contextType: any;
18
18
  context: React.ContextType<typeof FormItemContext>;
19
19
  private cancelRegister;
20
+ private isInitialValue;
20
21
  componentDidMount(): void;
21
22
  componentWillUnmount(): void;
22
23
  getControlled: (children: React.ReactElement) => {
23
- value: any;
24
+ defaultValue: any;
24
25
  onChange: (event: React.ChangeEvent<HTMLInputElement> | number | string | string[]) => void;
25
26
  };
26
27
  onStoreChange: () => void;
@@ -29,7 +29,7 @@ export interface FormItemRuleWithoutValidator {
29
29
  message?: string;
30
30
  }
31
31
  export interface FormItemRule extends FormItemRuleWithoutValidator {
32
- validator?: (value: any, ruleCfg: FormItemRuleWithoutValidator) => boolean | string | Promise<boolean | string>;
32
+ validator?: (ruleCfg: FormItemRuleWithoutValidator, value: string) => boolean | string | Promise<boolean | string>;
33
33
  }
34
34
  export interface BaseFormField {
35
35
  /**
@@ -1,6 +1,6 @@
1
1
  import React, { CSSProperties, FunctionComponent } from 'react';
2
- import { BasicComponent } from '@/utils/typings';
3
2
  import { ITouchEvent } from '@tarojs/components';
3
+ import { BasicComponent } from '@/utils/typings';
4
4
  export type PopoverTheme = 'light' | 'dark';
5
5
  export type PopoverLocation = 'bottom' | 'top' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
6
6
  export interface List {
@@ -12,6 +12,7 @@ export interface ShortPasswordProps extends BasicComponent {
12
12
  length: string | number;
13
13
  className: string;
14
14
  style?: CSSProperties;
15
+ autoFocus?: boolean;
15
16
  onChange: (value: string | number) => void;
16
17
  onOk: (value: string | number) => void;
17
18
  onCancel: () => void;
@@ -12,6 +12,7 @@ export interface ShortPasswordProps extends BasicComponent {
12
12
  length: string | number;
13
13
  className: string;
14
14
  style?: CSSProperties;
15
+ autoFocus?: boolean;
15
16
  onChange: (value: string | number) => void;
16
17
  onOk: (value: string | number) => void;
17
18
  onCancel: () => void;
@@ -1,5 +1,6 @@
1
1
  import React, { FunctionComponent } from 'react';
2
- export interface SwitchProps {
2
+ import { BasicComponent } from '@/utils/typings';
3
+ export interface SwitchProps extends BasicComponent {
3
4
  isAsync: boolean;
4
5
  checked: boolean;
5
6
  disable: boolean;
@@ -1,6 +1,7 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  export interface TabbarProps {
3
3
  visible: number | string;
4
+ activeVisible?: number | string;
4
5
  bottom: boolean;
5
6
  size: string | number;
6
7
  unactiveColor: string;
@@ -8,7 +9,6 @@ export interface TabbarProps {
8
9
  safeAreaInsetBottom: boolean;
9
10
  className: string;
10
11
  style: React.CSSProperties;
11
- tabSwitch: (child: React.ReactElement<any>, active: number) => void;
12
12
  onSwitch: (child: React.ReactElement<any>, active: number) => void;
13
13
  children?: React.ReactNode;
14
14
  }
@@ -1,6 +1,7 @@
1
1
  import React, { FunctionComponent } from 'react';
2
2
  export interface TabbarProps {
3
3
  visible: number | string;
4
+ activeVisible?: number | string;
4
5
  bottom: boolean;
5
6
  size: string | number;
6
7
  unactiveColor: string;
@@ -8,7 +9,6 @@ export interface TabbarProps {
8
9
  safeAreaInsetBottom: boolean;
9
10
  className: string;
10
11
  style: React.CSSProperties;
11
- tabSwitch: (child: React.ReactElement<any>, active: number) => void;
12
12
  onSwitch: (child: React.ReactElement<any>, active: number) => void;
13
13
  children?: React.ReactNode;
14
14
  }
@@ -0,0 +1,7 @@
1
+ type Options<T> = {
2
+ value?: T;
3
+ defaultValue?: T;
4
+ onChange?: (v: T) => void;
5
+ };
6
+ export declare const usePropsValue: <T>(options: Options<T>) => void;
7
+ export {};
@@ -7,7 +7,6 @@ export interface TabPaneProps {
7
7
  paneKey: string | number;
8
8
  activeKey: string | number;
9
9
  disabled: boolean;
10
- autoHeightClassName: string;
11
10
  className: string;
12
11
  children?: React.ReactNode;
13
12
  }
@@ -22,6 +22,7 @@ export interface TabsProps extends BasicComponent {
22
22
  animatedTime: number | string;
23
23
  titleGutter: number | string;
24
24
  size: TabsSize;
25
+ leftAlign: boolean;
25
26
  titleNode: () => JSX.Element[];
26
27
  onChange: (t: Title) => void;
27
28
  onClick: (t: Title) => void;
@@ -22,6 +22,7 @@ export interface TabsProps extends BasicComponent {
22
22
  animatedTime: number | string;
23
23
  titleGutter: number | string;
24
24
  size: TabsSize;
25
+ leftAlign: boolean;
25
26
  titleNode: () => JSX.Element[];
26
27
  onChange: (t: Title) => void;
27
28
  onClick: (t: Title) => void;
@@ -37,6 +37,7 @@ export interface UploaderProps extends BasicComponent {
37
37
  name: string;
38
38
  disabled: boolean;
39
39
  autoUpload: boolean;
40
+ multiple: boolean;
40
41
  timeout: number;
41
42
  data: object;
42
43
  method: string;
@@ -122,6 +122,7 @@ const defaultProps = {
122
122
  name: 'file',
123
123
  disabled: false,
124
124
  autoUpload: true,
125
+ multiple: false,
125
126
  maximize: Number.MAX_VALUE,
126
127
  data: {},
127
128
  headers: {},
@@ -148,7 +149,7 @@ class FileItem {
148
149
  }
149
150
  const InternalUploader = (props, ref) => {
150
151
  const { locale } = useConfig();
151
- const { children, uploadIcon, uploadIconSize, name, defaultFileList, listType, disabled, url, defaultImg, headers, timeout, method, xhrState, data, isPreview, isDeletable, maximum, maximize, className, autoUpload, sizeType, sourceType, onStart, onRemove, onChange, onFileItemClick, onProgress, onSuccess, onUpdate, onFailure, onOversize, onBeforeUpload, onBeforeXhrUpload, onBeforeDelete, ...restProps } = { ...defaultProps, ...props };
152
+ const { children, uploadIcon, uploadIconSize, name, defaultFileList, listType, disabled, url, defaultImg, headers, timeout, method, xhrState, data, isPreview, isDeletable, maximum, maximize, multiple, className, autoUpload, sizeType, sourceType, onStart, onRemove, onChange, onFileItemClick, onProgress, onSuccess, onUpdate, onFailure, onOversize, onBeforeUpload, onBeforeXhrUpload, onBeforeDelete, ...restProps } = { ...defaultProps, ...props };
152
153
  const [fileList, setFileList] = useState([]);
153
154
  const [uploadQueue, setUploadQueue] = useState([]);
154
155
  useEffect(() => {
@@ -180,7 +181,7 @@ const InternalUploader = (props, ref) => {
180
181
  }
181
182
  chooseImage({
182
183
  // 选择数量
183
- count: maximum * 1 - fileList.length,
184
+ count: multiple ? maximum * 1 - fileList.length : 1,
184
185
  // 可以指定是原图还是压缩图,默认二者都有
185
186
  sizeType,
186
187
  sourceType,
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.4.7 Wed Feb 15 2023 16:35:18 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.4.8 Wed Feb 22 2023 17:16:50 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.4.7 Wed Feb 15 2023 16:35:18 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.4.8 Wed Feb 22 2023 17:16:50 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.4.7 Wed Feb 15 2023 16:35:18 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.4.8 Wed Feb 22 2023 17:16:50 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.4.7 Wed Feb 15 2023 16:35:18 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.4.8 Wed Feb 22 2023 17:16:50 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.4.7 Wed Feb 15 2023 16:35:18 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.4.8 Wed Feb 22 2023 17:16:50 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @nutui/nutui-react-taro v1.4.7 Wed Feb 15 2023 16:35:18 GMT+0800 (China Standard Time)
2
+ * @nutui/nutui-react-taro v1.4.8 Wed Feb 22 2023 17:16:50 GMT+0800 (China Standard Time)
3
3
  * (c) 2023 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */