@bifrostui/react 1.4.5-beta.3 → 1.4.5

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 (118) hide show
  1. package/dist/ActionSheet/ActionSheet.css +2 -2
  2. package/dist/ActionSheet/ActionSheetItem.js +8 -3
  3. package/dist/Avatar/Avatar.js +8 -3
  4. package/dist/Avatar/AvatarGroup.js +6 -2
  5. package/dist/Badge/Badge.js +8 -3
  6. package/dist/Button/Button.css +78 -77
  7. package/dist/Button/Button.d.ts +1 -1
  8. package/dist/Button/Button.js +10 -4
  9. package/dist/Button/Button.types.d.ts +7 -8
  10. package/dist/Calendar/Calendar.js +14 -6
  11. package/dist/Card/Card.css +1 -1
  12. package/dist/Card/CardContent.css +2 -1
  13. package/dist/Card/CardFooter.css +4 -2
  14. package/dist/Card/CardHeader.css +5 -4
  15. package/dist/Checkbox/Checkbox.js +6 -2
  16. package/dist/Checkbox/CheckboxGroup.js +7 -4
  17. package/dist/CollapsePanel/CollapsePanelItem.js +46 -45
  18. package/dist/Countdown/Countdown.js +12 -5
  19. package/dist/Divider/Divider.js +5 -8
  20. package/dist/Drawer/Drawer.js +10 -4
  21. package/dist/Fade/Fade.js +56 -52
  22. package/dist/IconButton/IconButton.js +12 -5
  23. package/dist/Image/Image.js +119 -112
  24. package/dist/Input/Input.js +10 -4
  25. package/dist/List/List.js +8 -3
  26. package/dist/List/ListItem.js +44 -42
  27. package/dist/List/ListItemContent.js +4 -1
  28. package/dist/List/ListItemExtra.js +4 -9
  29. package/dist/List/ListItemFooter.js +4 -9
  30. package/dist/List/ListItemHeader.js +4 -9
  31. package/dist/Loading/Loading.js +4 -13
  32. package/dist/Modal/Modal.js +6 -0
  33. package/dist/Modal/Modal.miniapp.js +10 -4
  34. package/dist/NavBar/NavBar.js +1 -0
  35. package/dist/Popover/Popover.css +5 -5
  36. package/dist/Radio/Radio.css +1 -0
  37. package/dist/Radio/Radio.js +6 -2
  38. package/dist/Radio/RadioGroup.js +3 -0
  39. package/dist/Rating/Rating.js +18 -8
  40. package/dist/Select/Select.js +8 -4
  41. package/dist/Skeleton/Skeleton.js +9 -5
  42. package/dist/Slide/Slide.js +74 -69
  43. package/dist/Slider/Slider.js +14 -6
  44. package/dist/Steps/Step.js +82 -81
  45. package/dist/Steps/Steps.d.ts +1 -1
  46. package/dist/Steps/Steps.js +60 -57
  47. package/dist/Switch/Switch.js +78 -75
  48. package/dist/TabBar/TabBar.js +8 -3
  49. package/dist/Tabs/Tab.css +16 -10
  50. package/dist/Tabs/Tab.js +7 -15
  51. package/dist/Tabs/Tabs.css +22 -13
  52. package/dist/Tabs/Tabs.js +42 -26
  53. package/dist/Tabs/Tabs.types.d.ts +10 -0
  54. package/dist/Tag/Tag.css +1 -1
  55. package/dist/Tag/Tag.js +6 -2
  56. package/dist/TextArea/TextArea.js +12 -5
  57. package/dist/Tooltip/Tooltip.css +5 -5
  58. package/dist/Transition/TransitionCore.js +8 -3
  59. package/es/ActionSheet/ActionSheet.css +2 -2
  60. package/es/ActionSheet/ActionSheetItem.js +8 -3
  61. package/es/Avatar/Avatar.js +8 -3
  62. package/es/Avatar/AvatarGroup.js +6 -2
  63. package/es/Badge/Badge.js +8 -3
  64. package/es/Button/Button.css +78 -77
  65. package/es/Button/Button.d.ts +1 -1
  66. package/es/Button/Button.js +9 -3
  67. package/es/Button/Button.types.d.ts +7 -8
  68. package/es/Calendar/Calendar.js +14 -6
  69. package/es/Card/Card.css +1 -1
  70. package/es/Card/CardContent.css +2 -1
  71. package/es/Card/CardFooter.css +4 -2
  72. package/es/Card/CardHeader.css +5 -4
  73. package/es/Checkbox/Checkbox.js +6 -2
  74. package/es/Checkbox/CheckboxGroup.js +7 -4
  75. package/es/CollapsePanel/CollapsePanelItem.js +46 -45
  76. package/es/Countdown/Countdown.js +12 -5
  77. package/es/Divider/Divider.js +5 -8
  78. package/es/Drawer/Drawer.js +10 -4
  79. package/es/Fade/Fade.js +56 -52
  80. package/es/IconButton/IconButton.js +12 -5
  81. package/es/Image/Image.js +119 -112
  82. package/es/Input/Input.js +10 -4
  83. package/es/List/List.js +8 -3
  84. package/es/List/ListItem.js +44 -42
  85. package/es/List/ListItemContent.js +4 -1
  86. package/es/List/ListItemExtra.js +4 -9
  87. package/es/List/ListItemFooter.js +4 -9
  88. package/es/List/ListItemHeader.js +4 -9
  89. package/es/Loading/Loading.js +4 -13
  90. package/es/Modal/Modal.js +6 -0
  91. package/es/Modal/Modal.miniapp.d.ts +1 -1
  92. package/es/Modal/Modal.miniapp.js +10 -4
  93. package/es/NavBar/NavBar.js +1 -0
  94. package/es/Popover/Popover.css +5 -5
  95. package/es/Radio/Radio.css +1 -0
  96. package/es/Radio/Radio.js +6 -2
  97. package/es/Radio/RadioGroup.js +3 -0
  98. package/es/Rating/Rating.js +18 -8
  99. package/es/Select/Select.js +8 -4
  100. package/es/Skeleton/Skeleton.js +9 -5
  101. package/es/Slide/Slide.js +74 -69
  102. package/es/Slider/Slider.js +14 -6
  103. package/es/Steps/Step.js +82 -81
  104. package/es/Steps/Steps.d.ts +1 -1
  105. package/es/Steps/Steps.js +60 -57
  106. package/es/Switch/Switch.js +78 -75
  107. package/es/TabBar/TabBar.js +8 -3
  108. package/es/Tabs/Tab.css +16 -10
  109. package/es/Tabs/Tab.js +7 -15
  110. package/es/Tabs/Tabs.css +22 -13
  111. package/es/Tabs/Tabs.js +55 -28
  112. package/es/Tabs/Tabs.types.d.ts +10 -0
  113. package/es/Tag/Tag.css +1 -1
  114. package/es/Tag/Tag.js +6 -2
  115. package/es/TextArea/TextArea.js +12 -5
  116. package/es/Tooltip/Tooltip.css +5 -5
  117. package/es/Transition/TransitionCore.js +8 -3
  118. package/package.json +6 -6
@@ -33,15 +33,15 @@ import { CheckboxContextProvider } from "./CheckboxContext";
33
33
  import "./Checkbox.css";
34
34
  const prefixCls = "bui-checkbox-group";
35
35
  const CheckboxGroup = forwardRef(
36
- (_a, ref) => {
37
- var _b = _a, {
36
+ (props, ref) => {
37
+ const _a = props, {
38
38
  className,
39
39
  children,
40
40
  defaultValue,
41
41
  value,
42
- disabled = false,
42
+ disabled,
43
43
  onChange
44
- } = _b, others = __objRest(_b, [
44
+ } = _a, others = __objRest(_a, [
45
45
  "className",
46
46
  "children",
47
47
  "defaultValue",
@@ -78,6 +78,9 @@ const CheckboxGroup = forwardRef(
78
78
  }
79
79
  );
80
80
  CheckboxGroup.displayName = "CheckboxGroup";
81
+ CheckboxGroup.defaultProps = {
82
+ disabled: false
83
+ };
81
84
  var CheckboxGroup_default = CheckboxGroup;
82
85
  export {
83
86
  CheckboxGroup_default as default
@@ -30,54 +30,55 @@ import React from "react";
30
30
  import clsx from "clsx";
31
31
  import { Collapse } from "../Collapse";
32
32
  const prefixCls = "bui-collapse-panel-item";
33
- const CollapsePanelItem = /* @__PURE__ */ React.forwardRef(
34
- (_a, ref) => {
35
- var _b = _a, {
36
- className,
33
+ const CollapsePanelItem = /* @__PURE__ */ React.forwardRef((props, ref) => {
34
+ const _a = props, {
35
+ className,
36
+ style,
37
+ label,
38
+ children,
39
+ icon,
40
+ active,
41
+ onClick
42
+ } = _a, others = __objRest(_a, [
43
+ "className",
44
+ "style",
45
+ "label",
46
+ "children",
47
+ "icon",
48
+ "active",
49
+ "onClick"
50
+ ]);
51
+ const isControlledIcon = typeof icon === "function";
52
+ const getIcon = () => {
53
+ return typeof icon === "function" ? icon(active) : icon;
54
+ };
55
+ return /* @__PURE__ */ React.createElement(
56
+ "div",
57
+ __spreadValues({
58
+ className: clsx(prefixCls, active && `${prefixCls}-active`, className),
37
59
  style,
38
- label,
39
- children,
40
- icon,
41
- active = false,
42
- onClick
43
- } = _b, others = __objRest(_b, [
44
- "className",
45
- "style",
46
- "label",
47
- "children",
48
- "icon",
49
- "active",
50
- "onClick"
51
- ]);
52
- const isControlledIcon = typeof icon === "function";
53
- const getIcon = () => {
54
- return typeof icon === "function" ? icon(active) : icon;
55
- };
56
- return /* @__PURE__ */ React.createElement(
60
+ ref
61
+ }, others),
62
+ /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-header`, onClick }, /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-header-label` }, label), /* @__PURE__ */ React.createElement(
57
63
  "div",
58
- __spreadValues({
59
- className: clsx(prefixCls, active && `${prefixCls}-active`, className),
60
- style,
61
- ref
62
- }, others),
63
- /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-header`, onClick }, /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-header-label` }, label), /* @__PURE__ */ React.createElement(
64
- "div",
65
- {
66
- className: clsx(
67
- `${prefixCls}-header-icon`,
68
- `${prefixCls}-header-icon-arrow`,
69
- {
70
- [`${prefixCls}-header-icon-arrow-active`]: !isControlledIcon && active
71
- }
72
- )
73
- },
74
- getIcon()
75
- )),
76
- /* @__PURE__ */ React.createElement(Collapse, { in: active, direction: "vertical", timeout: 300 }, /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-content` }, children))
77
- );
78
- }
79
- );
64
+ {
65
+ className: clsx(
66
+ `${prefixCls}-header-icon`,
67
+ `${prefixCls}-header-icon-arrow`,
68
+ {
69
+ [`${prefixCls}-header-icon-arrow-active`]: !isControlledIcon && active
70
+ }
71
+ )
72
+ },
73
+ getIcon()
74
+ )),
75
+ /* @__PURE__ */ React.createElement(Collapse, { in: active, direction: "vertical", timeout: 300 }, /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-content` }, children))
76
+ );
77
+ });
80
78
  CollapsePanelItem.displayName = "BuiCollapsePanelItem";
79
+ CollapsePanelItem.defaultProps = {
80
+ active: false
81
+ };
81
82
  var CollapsePanelItem_default = CollapsePanelItem;
82
83
  export {
83
84
  CollapsePanelItem_default as default
@@ -38,11 +38,11 @@ const Countdown = forwardRef((props, ref) => {
38
38
  className,
39
39
  serverTimestamp,
40
40
  endTimestamp,
41
- remainingTime = 0,
42
- format = "HH:mm:ss",
43
- unitStyle = {},
44
- valueStyle = [{}, {}],
45
- timeSliceStyle = {},
41
+ remainingTime,
42
+ format,
43
+ unitStyle,
44
+ valueStyle,
45
+ timeSliceStyle,
46
46
  renderContent,
47
47
  onChange,
48
48
  onFinish
@@ -122,6 +122,13 @@ const Countdown = forwardRef((props, ref) => {
122
122
  return /* @__PURE__ */ React.createElement("div", __spreadValues({ ref, className: clsx(prefixCls, className) }, others), renderContent ? renderContent(time) : defaultRender(time));
123
123
  });
124
124
  Countdown.displayName = "BuiCountdown";
125
+ Countdown.defaultProps = {
126
+ format: "HH:mm:ss",
127
+ remainingTime: 0,
128
+ unitStyle: {},
129
+ valueStyle: [{}, {}],
130
+ timeSliceStyle: {}
131
+ };
125
132
  var Countdown_default = Countdown;
126
133
  export {
127
134
  Countdown_default as default
@@ -19,14 +19,7 @@ import React, { forwardRef } from "react";
19
19
  import "./Divider.css";
20
20
  const prefixCls = "bui-divider";
21
21
  const Divider = forwardRef((props, ref) => {
22
- const {
23
- className,
24
- style,
25
- direction = "vertical",
26
- dashed = false,
27
- size,
28
- children
29
- } = props;
22
+ const { className, style, direction, dashed, size, children } = props;
30
23
  const isVertical = direction === "vertical";
31
24
  const hasChildren = !!React.Children.toArray(children).length;
32
25
  let propsStyle = {};
@@ -53,6 +46,10 @@ const Divider = forwardRef((props, ref) => {
53
46
  );
54
47
  });
55
48
  Divider.displayName = "BuiDivider";
49
+ Divider.defaultProps = {
50
+ direction: "vertical",
51
+ dashed: false
52
+ };
56
53
  var Divider_default = Divider;
57
54
  export {
58
55
  Divider_default as default
@@ -43,15 +43,15 @@ const oppositeDirection = {
43
43
  };
44
44
  const Drawer = /* @__PURE__ */ React.forwardRef((props, ref) => {
45
45
  const _a = props, {
46
- anchor: anchorProp = "bottom",
46
+ anchor: anchorProp,
47
47
  container,
48
48
  children,
49
49
  className,
50
- hideBackdrop = false,
50
+ hideBackdrop,
51
51
  onClose,
52
52
  SlideProps,
53
- open = false,
54
- disablePortal = false,
53
+ open,
54
+ disablePortal,
55
55
  contentProps,
56
56
  transitionDuration
57
57
  } = _a, others = __objRest(_a, [
@@ -105,6 +105,12 @@ const Drawer = /* @__PURE__ */ React.forwardRef((props, ref) => {
105
105
  );
106
106
  });
107
107
  Drawer.displayName = "BuiDrawer";
108
+ Drawer.defaultProps = {
109
+ anchor: "bottom",
110
+ hideBackdrop: false,
111
+ open: false,
112
+ disablePortal: false
113
+ };
108
114
  var Drawer_default = Drawer;
109
115
  export {
110
116
  Drawer_default as default
package/es/Fade/Fade.js CHANGED
@@ -46,60 +46,64 @@ const defaultTimeout = {
46
46
  enter: duration.enteringScreen,
47
47
  exit: duration.leavingScreen
48
48
  };
49
- const Fade = /* @__PURE__ */ React.forwardRef(
50
- (_a, ref) => {
51
- var _b = _a, {
52
- appear = true,
53
- children,
49
+ const Fade = /* @__PURE__ */ React.forwardRef((props, ref) => {
50
+ const _a = props, {
51
+ appear,
52
+ children,
53
+ in: inProp,
54
+ easing: easingProp,
55
+ style,
56
+ timeout,
57
+ delay
58
+ } = _a, others = __objRest(_a, [
59
+ "appear",
60
+ "children",
61
+ "in",
62
+ "easing",
63
+ "style",
64
+ "timeout",
65
+ "delay"
66
+ ]);
67
+ const transitions = createTransitions();
68
+ const nodeRef = useForkRef(ref, children == null ? void 0 : children.ref);
69
+ return /* @__PURE__ */ React.createElement(
70
+ Transition,
71
+ __spreadProps(__spreadValues({
72
+ appear,
54
73
  in: inProp,
55
- easing: easingProp = defaultEasing,
56
- style,
57
- timeout = defaultTimeout,
58
- delay = 0
59
- } = _b, others = __objRest(_b, [
60
- "appear",
61
- "children",
62
- "in",
63
- "easing",
64
- "style",
65
- "timeout",
66
- "delay"
67
- ]);
68
- const transitions = createTransitions();
69
- const nodeRef = useForkRef(ref, children == null ? void 0 : children.ref);
70
- return /* @__PURE__ */ React.createElement(
71
- Transition,
72
- __spreadProps(__spreadValues({
73
- appear,
74
- in: inProp,
75
- timeout,
76
- delay
77
- }, others), {
78
- ref: nodeRef
79
- }),
80
- (state, childProps) => {
81
- const transition = transitions.create(
82
- "opacity",
83
- getTransitionProps(
84
- { timeout, style, easing: easingProp, delay },
85
- {
86
- mode: state
87
- }
88
- )
89
- );
90
- return React.cloneElement(children, __spreadValues({
91
- style: __spreadValues(__spreadValues({
92
- visibility: state === "exited" ? "hidden" : "visible",
93
- transition,
94
- WebkitTransition: transition,
95
- opacity: state === "entering" || state === "entered" ? "1" : "0"
96
- }, style), children.props.style)
97
- }, childProps));
98
- }
99
- );
100
- }
101
- );
74
+ timeout,
75
+ delay
76
+ }, others), {
77
+ ref: nodeRef
78
+ }),
79
+ (state, childProps) => {
80
+ const transition = transitions.create(
81
+ "opacity",
82
+ getTransitionProps(
83
+ { timeout, style, easing: easingProp, delay },
84
+ {
85
+ mode: state
86
+ }
87
+ )
88
+ );
89
+ return React.cloneElement(children, __spreadValues({
90
+ style: __spreadValues(__spreadValues({
91
+ visibility: state === "exited" ? "hidden" : "visible",
92
+ transition,
93
+ WebkitTransition: transition,
94
+ opacity: state === "entering" || state === "entered" ? "1" : "0"
95
+ }, style), children.props.style)
96
+ }, childProps));
97
+ }
98
+ );
99
+ });
102
100
  Fade.displayName = "BuiFade";
101
+ Fade.defaultProps = {
102
+ easing: defaultEasing,
103
+ timeout: defaultTimeout,
104
+ appear: true,
105
+ delay: 0
106
+ };
103
107
  var Fade_default = Fade;
104
108
  export {
105
109
  Fade_default as default
@@ -37,11 +37,11 @@ const IconButton = /* @__PURE__ */ React.forwardRef(
37
37
  const _a = props, {
38
38
  className,
39
39
  children,
40
- color = "default",
41
- disabled = false,
42
- size = "medium",
43
- variant = "default",
44
- shape = "circular"
40
+ color,
41
+ disabled,
42
+ size,
43
+ variant,
44
+ shape
45
45
  } = _a, others = __objRest(_a, [
46
46
  "className",
47
47
  "children",
@@ -78,6 +78,13 @@ const IconButton = /* @__PURE__ */ React.forwardRef(
78
78
  }
79
79
  );
80
80
  IconButton.displayName = "BuiIconButton";
81
+ IconButton.defaultProps = {
82
+ size: "medium",
83
+ variant: "default",
84
+ shape: "circular",
85
+ color: "default",
86
+ disabled: false
87
+ };
81
88
  var IconButton_default = IconButton;
82
89
  export {
83
90
  IconButton_default as default
package/es/Image/Image.js CHANGED
@@ -34,120 +34,127 @@ import clsx from "clsx";
34
34
  import React, { useLayoutEffect, useState } from "react";
35
35
  import "./index.css";
36
36
  const prefixCls = "bui-image";
37
- const Image = /* @__PURE__ */ React.forwardRef(
38
- (_a, ref) => {
39
- var _b = _a, {
40
- fit = "fill",
41
- src = "",
42
- lazy = false,
43
- style,
44
- webp,
45
- alt,
46
- showMenu,
47
- width,
48
- height,
49
- fallback = null,
50
- className,
51
- placeholder = false,
52
- onClick,
53
- onLoad,
54
- onError,
55
- imgProps
56
- } = _b, others = __objRest(_b, [
57
- "fit",
58
- "src",
59
- "lazy",
60
- "style",
61
- "webp",
62
- "alt",
63
- "showMenu",
64
- "width",
65
- "height",
66
- "fallback",
67
- "className",
68
- "placeholder",
69
- "onClick",
70
- "onLoad",
71
- "onError",
72
- "imgProps"
73
- ]);
74
- const [loaded, setLoaded] = useState(false);
75
- const [failed, setFailed] = useState(false);
76
- const modeEnum = {
77
- none: "center",
78
- // 被替换的内容将保持其原有的尺寸居中裁切展示
79
- contain: "aspectFit",
80
- // 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配
81
- cover: "aspectFill",
82
- // 被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。
83
- fill: "scaleToFill",
84
- // 被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不匹配,那么该对象将被拉伸以适应内容框
85
- "scale-down": "aspectFit",
86
- // 内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。
87
- widthFix: "widthFix",
88
- // 【微信小程序】缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。
89
- heightFix: "heightFix"
90
- // 【微信小程序】缩放模式,高度不变,宽度自动变化,保持原图宽高比不变。
91
- };
92
- useLayoutEffect(() => {
93
- setLoaded(false);
94
- setFailed(false);
95
- }, [src]);
96
- function defaultIconWrap(icon) {
97
- return /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-default-icon-wrap` }, icon);
98
- }
99
- const defaultIcon = defaultIconWrap(
100
- /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-default-icon-item` })
101
- );
102
- const defaultPlaceholder = placeholder === false ? [] : placeholder !== true && defaultIconWrap(placeholder) || defaultIcon;
103
- const defaultFallback = fallback && defaultIconWrap(fallback) || defaultPlaceholder;
104
- const miniAttr = {
105
- webp,
106
- lazyLoad: lazy,
107
- "lazy-load": lazy,
108
- mode: fit && modeEnum[fit],
109
- showMenuByLongpress: showMenu
110
- };
111
- const imgEle = /* @__PURE__ */ React.createElement(
112
- "img",
113
- __spreadValues(__spreadProps(__spreadValues({
114
- src,
115
- loading: lazy ? "lazy" : "eager",
116
- onLoad: (e) => {
117
- setLoaded(true);
118
- onLoad == null ? void 0 : onLoad(e);
119
- },
120
- onError: (e) => {
121
- setFailed(true);
122
- onError == null ? void 0 : onError(e);
123
- },
124
- alt
125
- }, imgProps), {
126
- style: __spreadValues({ objectFit: fit }, (imgProps == null ? void 0 : imgProps.style) || {}),
127
- className: clsx(
128
- `${prefixCls}-img`,
129
- // 无占位且不onFail时直接展示img本体
130
- (loaded || placeholder === false && !failed) && `${prefixCls}-loaded`,
131
- imgProps == null ? void 0 : imgProps.className
132
- )
133
- }), isMini ? miniAttr : {})
134
- );
135
- function renderImgEle() {
136
- return /* @__PURE__ */ React.createElement(React.Fragment, null, failed && defaultFallback || !loaded && defaultPlaceholder || null, imgEle);
137
- }
138
- return /* @__PURE__ */ React.createElement(
139
- "div",
140
- __spreadValues({
141
- ref,
142
- onClick,
143
- style: __spreadValues({ width, height }, style),
144
- className: clsx(prefixCls, className)
145
- }, others),
146
- renderImgEle()
147
- );
37
+ const Image = /* @__PURE__ */ React.forwardRef((props, ref) => {
38
+ const [loaded, setLoaded] = useState(false);
39
+ const [failed, setFailed] = useState(false);
40
+ const _a = props, {
41
+ fit,
42
+ src,
43
+ lazy,
44
+ style,
45
+ webp,
46
+ alt,
47
+ showMenu,
48
+ width,
49
+ height,
50
+ fallback,
51
+ className,
52
+ placeholder,
53
+ onClick,
54
+ onLoad,
55
+ onError,
56
+ imgProps
57
+ } = _a, others = __objRest(_a, [
58
+ "fit",
59
+ "src",
60
+ "lazy",
61
+ "style",
62
+ "webp",
63
+ "alt",
64
+ "showMenu",
65
+ "width",
66
+ "height",
67
+ "fallback",
68
+ "className",
69
+ "placeholder",
70
+ "onClick",
71
+ "onLoad",
72
+ "onError",
73
+ "imgProps"
74
+ ]);
75
+ const modeEnum = {
76
+ none: "center",
77
+ // 被替换的内容将保持其原有的尺寸居中裁切展示
78
+ contain: "aspectFit",
79
+ // 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比。 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配
80
+ cover: "aspectFill",
81
+ // 被替换的内容在保持其宽高比的同时填充元素的整个内容框。如果对象的宽高比与内容框不相匹配,该对象将被剪裁以适应内容框。
82
+ fill: "scaleToFill",
83
+ // 被替换的内容正好填充元素的内容框。整个对象将完全填充此框。如果对象的宽高比与内容框不相匹配,那么该对象将被拉伸以适应内容框
84
+ "scale-down": "aspectFit",
85
+ // 内容的尺寸与 none 或 contain 中的一个相同,取决于它们两个之间谁得到的对象尺寸会更小一些。
86
+ widthFix: "widthFix",
87
+ // 【微信小程序】缩放模式,宽度不变,高度自动变化,保持原图宽高比不变。
88
+ heightFix: "heightFix"
89
+ // 【微信小程序】缩放模式,高度不变,宽度自动变化,保持原图宽高比不变。
90
+ };
91
+ useLayoutEffect(() => {
92
+ setLoaded(false);
93
+ setFailed(false);
94
+ }, [src]);
95
+ function defaultIconWrap(icon) {
96
+ return /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-default-icon-wrap` }, icon);
148
97
  }
149
- );
98
+ const defaultIcon = defaultIconWrap(
99
+ /* @__PURE__ */ React.createElement("div", { className: `${prefixCls}-default-icon-item` })
100
+ );
101
+ const defaultPlaceholder = placeholder === false ? [] : placeholder !== true && defaultIconWrap(placeholder) || defaultIcon;
102
+ const defaultFallback = fallback && defaultIconWrap(fallback) || defaultPlaceholder;
103
+ const miniAttr = {
104
+ webp,
105
+ lazyLoad: lazy,
106
+ "lazy-load": lazy,
107
+ mode: fit && modeEnum[fit],
108
+ showMenuByLongpress: showMenu
109
+ };
110
+ const imgEle = /* @__PURE__ */ React.createElement(
111
+ "img",
112
+ __spreadValues(__spreadProps(__spreadValues({
113
+ src,
114
+ loading: lazy ? "lazy" : "eager",
115
+ onLoad: (e) => {
116
+ setLoaded(true);
117
+ onLoad == null ? void 0 : onLoad(e);
118
+ },
119
+ onError: (e) => {
120
+ setFailed(true);
121
+ onError == null ? void 0 : onError(e);
122
+ },
123
+ alt
124
+ }, imgProps), {
125
+ style: __spreadValues({ objectFit: fit }, (imgProps == null ? void 0 : imgProps.style) || {}),
126
+ className: clsx(
127
+ `${prefixCls}-img`,
128
+ // 无占位且不onFail时直接展示img本体
129
+ (loaded || placeholder === false && !failed) && `${prefixCls}-loaded`,
130
+ imgProps == null ? void 0 : imgProps.className
131
+ )
132
+ }), isMini ? miniAttr : {})
133
+ );
134
+ function renderImgEle() {
135
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, failed && defaultFallback || !loaded && defaultPlaceholder || null, imgEle);
136
+ }
137
+ return /* @__PURE__ */ React.createElement(
138
+ "div",
139
+ __spreadValues({
140
+ ref,
141
+ onClick,
142
+ style: __spreadValues({ width, height }, style),
143
+ className: clsx(prefixCls, className)
144
+ }, others),
145
+ renderImgEle()
146
+ );
147
+ });
150
148
  Image.displayName = "BuiImage";
149
+ Image.defaultProps = {
150
+ src: "",
151
+ lazy: false,
152
+ fallback: null,
153
+ placeholder: false,
154
+ width: void 0,
155
+ height: void 0,
156
+ fit: "fill"
157
+ };
151
158
  var Image_default = Image;
152
159
  export {
153
160
  Image_default as default
package/es/Input/Input.js CHANGED
@@ -38,17 +38,17 @@ const prefixCls = "bui-input";
38
38
  const Input = forwardRef((props, ref) => {
39
39
  const _a = props, {
40
40
  className,
41
- defaultValue = "",
41
+ defaultValue,
42
42
  value,
43
43
  inputProps,
44
44
  inputRef,
45
45
  name,
46
- type = "text",
47
- clearable = false,
46
+ type,
47
+ clearable,
48
48
  startIcon,
49
49
  endIcon,
50
50
  placeholder,
51
- disabled = false,
51
+ disabled,
52
52
  onClear,
53
53
  onChange,
54
54
  onFocus,
@@ -146,6 +146,12 @@ const Input = forwardRef((props, ref) => {
146
146
  );
147
147
  });
148
148
  Input.displayName = "BuiInput";
149
+ Input.defaultProps = {
150
+ defaultValue: "",
151
+ type: "text",
152
+ clearable: false,
153
+ disabled: false
154
+ };
149
155
  var Input_default = Input;
150
156
  export {
151
157
  Input_default as default
package/es/List/List.js CHANGED
@@ -33,11 +33,11 @@ import "./List.css";
33
33
  const prefixCls = "bui-list";
34
34
  const List = /* @__PURE__ */ React.forwardRef((props, ref) => {
35
35
  const _a = props, {
36
- hideDivider = false,
36
+ hideDivider,
37
37
  children,
38
38
  className,
39
- size = "medium",
40
- component: Component = "div",
39
+ size,
40
+ component: Component,
41
41
  header,
42
42
  subheader
43
43
  } = _a, others = __objRest(_a, [
@@ -66,6 +66,11 @@ const List = /* @__PURE__ */ React.forwardRef((props, ref) => {
66
66
  ));
67
67
  });
68
68
  List.displayName = "BuiList";
69
+ List.defaultProps = {
70
+ hideDivider: false,
71
+ size: "medium",
72
+ component: "div"
73
+ };
69
74
  var List_default = List;
70
75
  export {
71
76
  List_default as default