@autobest-ui/components 2.13.12 → 2.14.0

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 (111) hide show
  1. package/esm/affix/index.d.ts +0 -10
  2. package/esm/affix/index.js +9 -50
  3. package/esm/carousel/index.d.ts +4 -0
  4. package/esm/carousel/index.js +10 -1
  5. package/esm/checkbox/Checkbox.js +3 -19
  6. package/esm/checkbox/style/index.css +1 -1
  7. package/esm/confirm/style/index.css +1 -1
  8. package/esm/index.d.ts +6 -0
  9. package/esm/index.js +4 -1
  10. package/esm/input/Adorn.d.ts +4 -0
  11. package/esm/input/Adorn.js +7 -3
  12. package/esm/input/Input.d.ts +1 -0
  13. package/esm/input/Input.js +5 -1
  14. package/esm/input/TextArea.d.ts +1 -0
  15. package/esm/input/TextArea.js +4 -1
  16. package/esm/input-number/index.d.ts +1 -0
  17. package/esm/input-number/index.js +5 -1
  18. package/esm/input-phone/index.d.ts +1 -0
  19. package/esm/input-phone/index.js +1 -0
  20. package/esm/lazy-image/index.d.ts +10 -30
  21. package/esm/lazy-image/index.js +30 -51
  22. package/esm/lazy-image/style/index.css +1 -1
  23. package/esm/loading-container/index.d.ts +1 -19
  24. package/esm/loading-container/index.js +16 -122
  25. package/esm/loading-icon/index.d.ts +1 -1
  26. package/esm/loading-icon/index.js +3 -21
  27. package/esm/modal/Affix.d.ts +4 -0
  28. package/esm/modal/Affix.js +7 -0
  29. package/esm/modal/index.d.ts +5 -19
  30. package/esm/modal/index.js +17 -18
  31. package/esm/modal/style/index.css +1 -1
  32. package/esm/move/index.d.ts +10 -0
  33. package/esm/move/index.js +12 -7
  34. package/esm/radio/Radio.js +10 -7
  35. package/esm/radio/RadioGroup.js +3 -6
  36. package/esm/radio/style/index.css +1 -1
  37. package/esm/radio/type.d.ts +0 -2
  38. package/esm/read-more/index.d.ts +92 -0
  39. package/esm/read-more/index.js +377 -0
  40. package/esm/read-more/style/index.css +1 -0
  41. package/esm/read-more-html/index.d.ts +89 -0
  42. package/esm/read-more-html/index.js +362 -0
  43. package/esm/read-more-html/style/index.css +1 -0
  44. package/esm/select/index.d.ts +0 -3
  45. package/esm/select/index.js +4 -25
  46. package/esm/select/style/index.css +1 -1
  47. package/esm/show-more/index.d.ts +27 -12
  48. package/esm/show-more/index.js +87 -41
  49. package/esm/show-more/style/index.css +1 -1
  50. package/esm/style.css +1 -1
  51. package/esm/table/style/index.css +1 -1
  52. package/esm/trigger/index.d.ts +3 -10
  53. package/esm/trigger/index.js +19 -39
  54. package/lib/affix/index.d.ts +0 -10
  55. package/lib/affix/index.js +8 -49
  56. package/lib/carousel/index.d.ts +4 -0
  57. package/lib/carousel/index.js +10 -1
  58. package/lib/checkbox/Checkbox.js +3 -19
  59. package/lib/checkbox/style/index.css +1 -1
  60. package/lib/confirm/style/index.css +1 -1
  61. package/lib/index.d.ts +6 -0
  62. package/lib/index.js +20 -0
  63. package/lib/input/Adorn.d.ts +4 -0
  64. package/lib/input/Adorn.js +7 -3
  65. package/lib/input/Input.d.ts +1 -0
  66. package/lib/input/Input.js +5 -1
  67. package/lib/input/TextArea.d.ts +1 -0
  68. package/lib/input/TextArea.js +4 -1
  69. package/lib/input-number/index.d.ts +1 -0
  70. package/lib/input-number/index.js +5 -1
  71. package/lib/input-phone/index.d.ts +1 -0
  72. package/lib/input-phone/index.js +1 -0
  73. package/lib/lazy-image/index.d.ts +10 -30
  74. package/lib/lazy-image/index.js +30 -51
  75. package/lib/lazy-image/style/index.css +1 -1
  76. package/lib/loading-container/index.d.ts +1 -19
  77. package/lib/loading-container/index.js +16 -125
  78. package/lib/loading-icon/index.d.ts +1 -1
  79. package/lib/loading-icon/index.js +3 -21
  80. package/lib/modal/Affix.d.ts +4 -0
  81. package/lib/modal/Affix.js +14 -0
  82. package/lib/modal/index.d.ts +5 -19
  83. package/lib/modal/index.js +17 -18
  84. package/lib/modal/style/index.css +1 -1
  85. package/lib/move/index.d.ts +10 -0
  86. package/lib/move/index.js +12 -7
  87. package/lib/radio/Radio.js +10 -7
  88. package/lib/radio/RadioGroup.js +3 -6
  89. package/lib/radio/style/index.css +1 -1
  90. package/lib/radio/type.d.ts +0 -2
  91. package/lib/read-more/index.d.ts +92 -0
  92. package/lib/read-more/index.js +388 -0
  93. package/lib/read-more/style/index.css +1 -0
  94. package/lib/read-more-html/index.d.ts +89 -0
  95. package/lib/read-more-html/index.js +373 -0
  96. package/lib/read-more-html/style/index.css +1 -0
  97. package/lib/select/index.d.ts +0 -3
  98. package/lib/select/index.js +4 -25
  99. package/lib/select/style/index.css +1 -1
  100. package/lib/show-more/index.d.ts +27 -12
  101. package/lib/show-more/index.js +86 -40
  102. package/lib/show-more/style/index.css +1 -1
  103. package/lib/style.css +1 -1
  104. package/lib/table/style/index.css +1 -1
  105. package/lib/trigger/index.d.ts +3 -10
  106. package/lib/trigger/index.js +19 -39
  107. package/package.json +3 -3
  108. package/esm/affix/observe.d.ts +0 -8
  109. package/esm/affix/observe.js +0 -6
  110. package/lib/affix/observe.d.ts +0 -8
  111. package/lib/affix/observe.js +0 -12
@@ -9,7 +9,6 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _classnames = _interopRequireDefault(require("classnames"));
10
10
  var _utils = require("@autobest-ui/utils");
11
11
  var _PortalAffix = _interopRequireDefault(require("./PortalAffix"));
12
- var _observe = _interopRequireDefault(require("./observe"));
13
12
  var __extends = void 0 && (void 0).__extends || function () {
14
13
  var _extendStatics = function extendStatics(d, b) {
15
14
  _extendStatics = Object.setPrototypeOf || {
@@ -52,46 +51,16 @@ var Affix = /** @class */function (_super) {
52
51
  _this.resizeHandler = null;
53
52
  _this.wrapRef = /*#__PURE__*/_react.default.createRef();
54
53
  _this.customRef = /*#__PURE__*/_react.default.createRef();
55
- _this.onVisibleChange = function (visible) {
56
- var _a = _this.props,
57
- onChange = _a.onChange,
58
- observeSize = _a.observeSize,
59
- renderAffix = _a.renderAffix;
60
- onChange(visible);
61
- if (visible && observeSize && !renderAffix) {
62
- _this.addElementObserve();
63
- return;
64
- }
65
- _this.removeElementObserve();
66
- };
67
- _this.addElementObserve = function () {
68
- var element = _this.wrapRef.current;
69
- var CurrentResizeObserve = (0, _observe.default)();
70
- if (_this.resizeObserver || !element || !CurrentResizeObserve) {
71
- return;
72
- }
73
- _this.resizeObserver = new CurrentResizeObserve(_this.refreshWrap);
74
- _this.resizeObserver.observe(element);
75
- };
76
- _this.removeElementObserve = function () {
77
- if (_this.resizeObserver) {
78
- _this.resizeObserver.disconnect();
79
- _this.resizeObserver = null;
80
- }
81
- };
82
- _this.refreshWrap = function () {
83
- _this.onHandlerScroll();
84
- };
85
54
  _this.onHandlerScroll = function (isResize) {
86
55
  var _a = _this.props,
87
56
  offsetTop = _a.offsetTop,
57
+ onChange = _a.onChange,
88
58
  onScroll = _a.onScroll,
89
59
  renderAffix = _a.renderAffix,
90
60
  allWidth = _a.allWidth,
91
61
  fadeEffect = _a.fadeEffect,
92
62
  getFixedStatus = _a.getFixedStatus,
93
- ignoreHorizontalFixed = _a.ignoreHorizontalFixed,
94
- observeSize = _a.observeSize;
63
+ ignoreHorizontalFixed = _a.ignoreHorizontalFixed;
95
64
  var element = _this.wrapRef.current;
96
65
  if (!element) {
97
66
  return;
@@ -101,22 +70,12 @@ var Affix = /** @class */function (_super) {
101
70
  scrollLeft = _b.left;
102
71
  var parentElement = element.parentNode;
103
72
  // 元素信息
104
- var isOriginalFixed = _this.isFixed && !renderAffix;
105
- var positionInfo = isOriginalFixed ? (0, _utils.getOffsetAndSize)(parentElement) : (0, _utils.getOffsetAndSize)(element);
73
+ var positionElement = _this.isFixed && !renderAffix ? parentElement : element;
74
+ var positionInfo = (0, _utils.getOffsetAndSize)(positionElement);
106
75
  if (ignoreHorizontalFixed) {
107
- var ignoreScrollLeft = (0, _utils.getOffset)(isOriginalFixed ? parentElement : element, true).left;
76
+ var ignoreScrollLeft = (0, _utils.getOffset)(positionElement, true).left;
108
77
  positionInfo.left = ignoreScrollLeft;
109
78
  }
110
- var sizeChanged = false;
111
- if (observeSize && isOriginalFixed) {
112
- // 如果监听元素size变化,需要获取原元素的width和height信息
113
- var _c = (0, _utils.getElementSize)(element),
114
- elementWidth = _c.width,
115
- elementHeight = _c.height;
116
- sizeChanged = elementWidth !== positionInfo.width || elementHeight !== positionInfo.height;
117
- positionInfo.width = elementWidth;
118
- positionInfo.height = elementHeight;
119
- }
120
79
  var currentFixed = getFixedStatus({
121
80
  positionInfo: positionInfo,
122
81
  scrollTop: scrollTop,
@@ -136,8 +95,8 @@ var Affix = /** @class */function (_super) {
136
95
  parentElement.style.width = '';
137
96
  parentElement.style.height = '';
138
97
  }
139
- _this.onVisibleChange(false);
140
- } else if ((!_this.isFixed || isResize || sizeChanged) && currentFixed) {
98
+ onChange(false);
99
+ } else if ((!_this.isFixed || isResize) && currentFixed) {
141
100
  _this.isFixed = true;
142
101
  var documentWidth = document.body.offsetWidth;
143
102
  var allWidthLeft = ignoreHorizontalFixed ? "-".concat(scrollLeft, "px") : '0px';
@@ -156,7 +115,7 @@ var Affix = /** @class */function (_super) {
156
115
  parentElement.style.width = "".concat(positionInfo.width, "px");
157
116
  parentElement.style.height = "".concat(positionInfo.height, "px");
158
117
  }
159
- _this.onVisibleChange(true);
118
+ onChange(true);
160
119
  } else if (_this.isFixed && currentFixed && ignoreHorizontalFixed) {
161
120
  var allWidthLeft = "-".concat(scrollLeft, "px");
162
121
  if (renderAffix || fadeEffect) {
@@ -6,6 +6,10 @@ export interface CarouselProps {
6
6
  * 一行显示的数量
7
7
  */
8
8
  slidesPerView?: number;
9
+ /**
10
+ * 初始化时显示第几个,默认是第一个
11
+ */
12
+ defaultValue?: number;
9
13
  /**
10
14
  * 监听resize
11
15
  */
@@ -47,12 +47,21 @@ var Carousel = /** @class */function (_super) {
47
47
  _this.autoplayTimer = null;
48
48
  _this.fadeEffectTimer = null;
49
49
  _this.next = function (transition) {
50
+ if (transition === void 0) {
51
+ transition = _transition.default.TransformEaseInOut;
52
+ }
50
53
  _this.interceptorChangePage(_this.state.currentPage + 1, transition);
51
54
  };
52
55
  _this.prev = function (transition) {
56
+ if (transition === void 0) {
57
+ transition = _transition.default.TransformEaseInOut;
58
+ }
53
59
  _this.interceptorChangePage(_this.state.currentPage - 1, transition);
54
60
  };
55
61
  _this.goTo = function (nextIndex, transition) {
62
+ if (transition === void 0) {
63
+ transition = _transition.default.TransformEaseInOut;
64
+ }
56
65
  _this.interceptorChangePage(nextIndex - 1, transition);
57
66
  };
58
67
  /**
@@ -161,7 +170,7 @@ var Carousel = /** @class */function (_super) {
161
170
  element.style.visibility = '';
162
171
  });
163
172
  } else {
164
- element.style.transition = transition || _transition.default.TransformEaseInOut;
173
+ element.style.transition = transition;
165
174
  }
166
175
  element.style.transform = "translateX(".concat(translateX, "px)");
167
176
  };
@@ -49,30 +49,14 @@ var Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
49
49
  type: "checkbox",
50
50
  checked: checked,
51
51
  disabled: disabled,
52
- onChange: onCheckboxChange,
53
- style: {
54
- width: size,
55
- height: size
56
- }
52
+ onChange: onCheckboxChange
57
53
  }), /*#__PURE__*/_react.default.createElement("span", {
58
- className: "".concat(cls, "-control"),
59
- style: {
60
- width: size,
61
- height: size,
62
- fontSize: size
63
- }
64
- }, /*#__PURE__*/_react.default.createElement("span", {
65
- className: "".concat(cls, "-outer"),
54
+ className: "".concat(cls, "-inner"),
66
55
  style: {
67
56
  width: size,
68
57
  height: size
69
58
  }
70
- }), /*#__PURE__*/_react.default.createElement("svg", {
71
- className: "".concat(cls, "-check"),
72
- viewBox: "0 0 18 18"
73
- }, /*#__PURE__*/_react.default.createElement("path", {
74
- d: "M2.8284 8.4853 7.7782 13.435 15.5563 5.6569 14.1421 4.2426 7.7782 10.6066 4.2426 7.0711 2.8284 8.4853Z"
75
- }))), children);
59
+ }), children);
76
60
  });
77
61
  Checkbox.defaultProps = {
78
62
  disabled: false,
@@ -1 +1 @@
1
- .ab-checkbox{position:relative;cursor:pointer;display:inline-flex;align-items:center;user-select:none}.ab-checkbox:hover .ab-checkbox-outer{border-color:#767676}.ab-checkbox-input{cursor:pointer;position:absolute;opacity:0;margin:0;padding:0;top:50%;left:0;transform:translateY(-50%);z-index:2}.ab-checkbox-check{opacity:0;transform:scale(0);transition:.2s cubic-bezier(.71,-.46,.88,.6),opacity .1s}.ab-checkbox-control{display:inline-block;margin-right:.06rem;position:relative;flex-shrink:0}.ab-checkbox-control svg{position:absolute;left:0;top:0;width:1em;height:1em;user-select:none;flex-shrink:0;fill:currentcolor;stroke:none}.ab-checkbox-outer{position:absolute;left:0;top:0;border:1px solid #b0b0b0;border-radius:.02rem;background-color:#fff}.ab-checkbox-checked .ab-checkbox-check{opacity:1;transform:scale(1);transition:.2s cubic-bezier(.12,.4,.29,1.46) .1s}.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox-disabled .ab-checkbox-input{cursor:not-allowed}.ab-checkbox-disabled span.ab-checkbox-control .ab-checkbox-outer{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-disabled svg.ab-checkbox-check{color:#cecece}.ab-checkbox-white .ab-checkbox-check{color:#e84040}.ab-checkbox-blue .ab-checkbox-check{color:#fff}.ab-checkbox-blue.ab-checkbox-checked .ab-checkbox-outer{background-color:#0075ff;border-color:#0075ff}.ab-checkbox-group{display:flex;flex-wrap:wrap}.ab-checkbox-group .ab-checkbox{margin-right:.08rem}
1
+ .ab-checkbox{cursor:pointer;display:inline-flex;align-items:center;user-select:none;position:relative}.ab-checkbox-input{cursor:pointer;position:absolute;opacity:0;margin:0;padding:0;z-index:2}.ab-checkbox-inner{display:inline-block;margin-right:.06rem;position:relative;border:1px solid #b0b0b0;border-radius:.02rem;background-color:#fff;transition:.3s;flex-shrink:0}.ab-checkbox-inner::after{box-sizing:border-box;position:absolute;top:45%;left:22%;display:table;width:37.5%;height:62.5%;border-style:solid;border-width:2px;border-top:0;border-inline-start:0;transform:rotate(45deg) scale(0) translate(-50%,-50%);opacity:0;content:"";transition:.2s cubic-bezier(.71,-.46,.88,.6),opacity .1s}.ab-checkbox-checked .ab-checkbox-inner::after{opacity:1;transform:rotate(45deg) scale(1) translate(-50%,-50%);transition:.2s cubic-bezier(.12,.4,.29,1.46) .1s}.ab-checkbox-disabled{cursor:not-allowed;color:rgba(0,0,0,.25)}.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-disabled .ab-checkbox-input{cursor:not-allowed}.ab-checkbox-white .ab-checkbox-inner::after{border-color:#e84040}.ab-checkbox-white.ab-checkbox-disabled .ab-checkbox-inner::after{border-color:#cecece}.ab-checkbox-blue .ab-checkbox-inner::after{border-color:#fff}.ab-checkbox-blue.ab-checkbox-checked .ab-checkbox-inner{transition:none;background-color:#0075ff;border-color:#0075ff}.ab-checkbox-blue.ab-checkbox-disabled .ab-checkbox-inner{border-color:#f0f0f0;background-color:#f5f5f5}.ab-checkbox-blue.ab-checkbox-disabled .ab-checkbox-inner::after{border-color:#cecece}.ab-checkbox-group{display:flex;flex-wrap:wrap}.ab-checkbox-group .ab-checkbox{margin-right:.08rem}
@@ -1 +1 @@
1
- .ab-mask{position:fixed;top:0;left:0;z-index:101;width:100%;height:100%;background-color:rgba(0,0,0,.45);transition:opacity .4s cubic-bezier(.7,.3,.1,1)}.ab-mask-fade-appear,.ab-mask-fade-enter{opacity:0}.ab-mask-fade-appear-active,.ab-mask-fade-enter-active,.ab-mask-fade-enter-done,.ab-mask-fade-exit{opacity:1}.ab-mask-fade-exit-active{opacity:0}.ab-mask-fade-exit-done{display:none}.ab-modal{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;outline:0}.ab-modal.ab-modal-center{text-align:center}.ab-modal.ab-modal-center::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:""}.ab-modal.ab-modal-center .ab-modal-content{top:0;text-align:left;display:inline-block;vertical-align:middle}.ab-modal-content{position:relative;background-color:#fff;max-width:calc(100vw - .3rem);margin-left:auto;margin-right:auto;overflow:auto;-webkit-overflow-scrolling:touch;transition:transform .3s,opacity .3s cubic-bezier(.7,.3,.1,1);z-index:101}.ab-modal-title{position:relative;width:100%}.ab-modal-title .ab-modal-times{top:50%;transform:translateY(-50%)}.ab-modal-times{position:absolute;top:.12rem;right:.12rem;font-size:.15rem;color:#b0b0b0;cursor:pointer}.ab-modal-times svg{display:block}.ab-modal-times:hover{color:#333}.ab-modal-hidden{display:none}@media only screen and (max-width:767px){.ab-modal-content{width:calc(100vw - .3rem)}}.ab-modal-fade-appear,.ab-modal-fade-enter{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-appear-active,.ab-modal-fade-enter-active,.ab-modal-fade-enter-done,.ab-modal-fade-exit{transform:translateZ(0);opacity:1}.ab-modal-fade-exit-active{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-exit-done{display:none}.ab-confirm-btns{display:flex;justify-content:flex-end;padding-top:.42rem}.ab-confirm-cancel,.ab-confirm-ok{overflow:hidden;position:relative;font-size:.12rem;border-width:1px;border-style:solid;outline:0;cursor:pointer;font-weight:700;padding:.05rem .3rem;display:inline-block;color:#fff;margin-left:.3rem}.ab-confirm-ok{border-color:#bc0000;background:linear-gradient(180deg,#c00000 0,#c00000 0,#a00000 100%,#a00000 100%)}.ab-confirm-ok:hover{border-color:#bc0000;background:#bc0000}.ab-confirm-cancel{border-color:grey;background:linear-gradient(180deg,#909090 0,#909090 0,#707070 100%,#707070 100%)}.ab-confirm-cancel:hover{border-color:grey;background:grey}
1
+ .ab-mask{position:fixed;top:0;left:0;z-index:101;width:100%;height:100%;background-color:rgba(0,0,0,.45);transition:opacity .4s cubic-bezier(.7,.3,.1,1)}.ab-mask-fade-appear,.ab-mask-fade-enter{opacity:0}.ab-mask-fade-appear-active,.ab-mask-fade-enter-active,.ab-mask-fade-enter-done,.ab-mask-fade-exit{opacity:1}.ab-mask-fade-exit-active{opacity:0}.ab-mask-fade-exit-done{display:none}.ab-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:101;overflow:auto;outline:0}.ab-modal.ab-modal-center{text-align:center}.ab-modal.ab-modal-center::before{display:inline-block;width:0;height:100%;vertical-align:middle;content:""}.ab-modal.ab-modal-center .ab-modal-content{top:0;text-align:left;display:inline-block;vertical-align:middle}.ab-modal-content{position:relative;background-color:#fff;max-width:calc(100vw - .3rem);margin-left:auto;margin-right:auto;overflow:auto;-webkit-overflow-scrolling:touch;transition:transform .3s,opacity .3s cubic-bezier(.7,.3,.1,1);z-index:101}.ab-modal-title{position:relative;width:100%}.ab-modal-title .ab-modal-times{top:50%;transform:translateY(-50%)}.ab-modal-times{position:absolute;top:.12rem;right:.12rem;font-size:.15rem;color:#b0b0b0;cursor:pointer}.ab-modal-times svg{display:block}.ab-modal-times:hover{color:#333}.ab-modal-hidden{display:none}@media only screen and (max-width:767px){.ab-modal-content{width:calc(100vw - .3rem)}}.ab-modal-fade-appear,.ab-modal-fade-enter{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-appear-active,.ab-modal-fade-enter-active,.ab-modal-fade-enter-done,.ab-modal-fade-exit{transform:translateZ(0);opacity:1}.ab-modal-fade-exit-active{transform:translate3d(0,-30px,0);opacity:0}.ab-modal-fade-exit-done{display:none}.ab-confirm-btns{display:flex;justify-content:flex-end;padding-top:.42rem}.ab-confirm-cancel,.ab-confirm-ok{overflow:hidden;position:relative;font-size:.12rem;border-width:1px;border-style:solid;outline:0;cursor:pointer;font-weight:700;padding:.05rem .3rem;display:inline-block;color:#fff;margin-left:.3rem}.ab-confirm-ok{border-color:#bc0000;background:linear-gradient(180deg,#c00000 0,#c00000 0,#a00000 100%,#a00000 100%)}.ab-confirm-ok:hover{border-color:#bc0000;background:#bc0000}.ab-confirm-cancel{border-color:grey;background:linear-gradient(180deg,#909090 0,#909090 0,#707070 100%,#707070 100%)}.ab-confirm-cancel:hover{border-color:grey;background:grey}
package/lib/index.d.ts CHANGED
@@ -14,6 +14,10 @@ export type { MoveProps } from './move';
14
14
  export { default as Move } from './move';
15
15
  export type { ShowMoreProps } from './show-more';
16
16
  export { default as ShowMore } from './show-more';
17
+ export type { ReadMoreProps } from './read-more';
18
+ export { default as ReadMore } from './show-more';
19
+ export type { ReadMoreHtmlProps } from './read-more-html';
20
+ export { default as ReadMoreHtml } from './read-more-html';
17
21
  export type { SelectOptionItem, SelectProps, SelectPlacement } from './select';
18
22
  export { default as Select } from './select';
19
23
  export type { ConfirmProps } from './confirm';
@@ -61,3 +65,5 @@ export { default as Trigger } from './trigger';
61
65
  export { composeRef, supportRef, fillRef } from './trigger/ref';
62
66
  export type { RadioProps, RadioGroupProps, RadioValue, RadioOptionItem } from './radio';
63
67
  export { Radio, RadioGroup } from './radio';
68
+ export type { PortalProps } from './portal';
69
+ export { default as Portal } from './portal';
package/lib/index.js CHANGED
@@ -149,6 +149,12 @@ Object.defineProperty(exports, "Popover", {
149
149
  return _popover.default;
150
150
  }
151
151
  });
152
+ Object.defineProperty(exports, "Portal", {
153
+ enumerable: true,
154
+ get: function get() {
155
+ return _portal.default;
156
+ }
157
+ });
152
158
  Object.defineProperty(exports, "Radio", {
153
159
  enumerable: true,
154
160
  get: function get() {
@@ -161,6 +167,18 @@ Object.defineProperty(exports, "RadioGroup", {
161
167
  return _radio.RadioGroup;
162
168
  }
163
169
  });
170
+ Object.defineProperty(exports, "ReadMore", {
171
+ enumerable: true,
172
+ get: function get() {
173
+ return _showMore.default;
174
+ }
175
+ });
176
+ Object.defineProperty(exports, "ReadMoreHtml", {
177
+ enumerable: true,
178
+ get: function get() {
179
+ return _readMoreHtml.default;
180
+ }
181
+ });
164
182
  Object.defineProperty(exports, "Script", {
165
183
  enumerable: true,
166
184
  get: function get() {
@@ -241,6 +259,7 @@ var _popover = _interopRequireDefault(require("./popover"));
241
259
  var _skeleton = _interopRequireDefault(require("./skeleton"));
242
260
  var _move = _interopRequireDefault(require("./move"));
243
261
  var _showMore = _interopRequireDefault(require("./show-more"));
262
+ var _readMoreHtml = _interopRequireDefault(require("./read-more-html"));
244
263
  var _select = _interopRequireDefault(require("./select"));
245
264
  var _confirm = _interopRequireDefault(require("./confirm"));
246
265
  var _collapse = _interopRequireDefault(require("./collapse"));
@@ -265,5 +284,6 @@ var _loadingIcon = _interopRequireDefault(require("./loading-icon"));
265
284
  var _trigger = _interopRequireDefault(require("./trigger"));
266
285
  var _ref = require("./trigger/ref");
267
286
  var _radio = require("./radio");
287
+ var _portal = _interopRequireDefault(require("./portal"));
268
288
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
269
289
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -8,6 +8,10 @@ export interface AdornProps {
8
8
  * 样式前缀,这个需要使用者提供前缀
9
9
  */
10
10
  prefixCls: string;
11
+ /**
12
+ * 包裹input父级元素标签名
13
+ */
14
+ wrapTagName?: string;
11
15
  /**
12
16
  * 样式
13
17
  */
@@ -57,18 +57,22 @@ var Adorn = function Adorn(props) {
57
57
  onBlur(ev);
58
58
  }
59
59
  }, [onBlur, disabled]);
60
- return /*#__PURE__*/_react.default.createElement("div", {
60
+ var WrapTagName = props.wrapTagName;
61
+ return /*#__PURE__*/_react.default.createElement(WrapTagName, {
61
62
  className: (0, _classnames.default)(prefixCls, className, (_a = {}, _a["".concat(prefixCls, "-enter")] = isEnter || isFocus, _a), (_b = {}, _b["".concat(prefixCls, "-focus")] = isFocus, _b), (_c = {}, _c["".concat(prefixCls, "-disabled")] = disabled, _c)),
62
63
  onMouseEnter: onMouseEnterCallback,
63
64
  onMouseLeave: onMouseLeaveCallback
64
- }, !(0, _utils.isBlank)(prefix) ? /*#__PURE__*/_react.default.createElement("div", {
65
+ }, !(0, _utils.isBlank)(prefix) ? /*#__PURE__*/_react.default.createElement("span", {
65
66
  className: "".concat(prefixCls, "-prefix")
66
67
  }, prefix) : null, /*#__PURE__*/_react.default.cloneElement(children, {
67
68
  onFocus: onFocusCallback,
68
69
  onBlur: onBlurCallback
69
- }), !(0, _utils.isBlank)(suffix) ? /*#__PURE__*/_react.default.createElement("div", {
70
+ }), !(0, _utils.isBlank)(suffix) ? /*#__PURE__*/_react.default.createElement("span", {
70
71
  className: "".concat(prefixCls, "-suffix")
71
72
  }, suffix) : null);
72
73
  };
74
+ Adorn.defaultProps = {
75
+ wrapTagName: 'div'
76
+ };
73
77
  var _default = Adorn;
74
78
  exports.default = _default;
@@ -54,6 +54,7 @@ export declare class InputNotRef extends React.Component<InputPropsWithRef, Inpu
54
54
  inputRef: React.RefObject<HTMLInputElement>;
55
55
  static defaultProps: {
56
56
  defaultValue: string;
57
+ wrapTagName: string;
57
58
  type: string;
58
59
  checkValueOnMounted: boolean;
59
60
  };
@@ -214,10 +214,12 @@ var InputNotRef = /** @class */function (_super) {
214
214
  title = _a.title,
215
215
  onKeyUp = _a.onKeyUp,
216
216
  name = _a.name,
217
- autoComplete = _a.autoComplete;
217
+ autoComplete = _a.autoComplete,
218
+ wrapTagName = _a.wrapTagName;
218
219
  var value = this.state.value;
219
220
  var isFileUpload = this.isFileUpload();
220
221
  return /*#__PURE__*/_react.default.createElement(_Adorn.default, {
222
+ wrapTagName: wrapTagName,
221
223
  prefixCls: cls,
222
224
  onFocus: this.onFocus,
223
225
  onBlur: this.onBlur,
@@ -246,6 +248,8 @@ var InputNotRef = /** @class */function (_super) {
246
248
  };
247
249
  InputNotRef.defaultProps = {
248
250
  defaultValue: '',
251
+ // TODO:: 在改动最小的情况下设置默认是div, 后续升级时默认需改成label
252
+ wrapTagName: 'div',
249
253
  type: 'text',
250
254
  checkValueOnMounted: false
251
255
  };
@@ -54,6 +54,7 @@ export declare class TextAreaNotRef extends React.Component<TextAreaPropsWithRef
54
54
  textareaRef: React.RefObject<HTMLTextAreaElement>;
55
55
  static defaultProps: {
56
56
  defaultValue: string;
57
+ wrapTagName: string;
57
58
  rows: number;
58
59
  maxlength: number;
59
60
  checkValueOnMounted: boolean;
@@ -183,10 +183,12 @@ var TextAreaNotRef = /** @class */function (_super) {
183
183
  prefix = _a.prefix,
184
184
  rows = _a.rows,
185
185
  maxLength = _a.maxLength,
186
- name = _a.name;
186
+ name = _a.name,
187
+ wrapTagName = _a.wrapTagName;
187
188
  var value = this.state.value;
188
189
  return /*#__PURE__*/_react.default.createElement(_Adorn.default, {
189
190
  prefixCls: cls,
191
+ wrapTagName: wrapTagName,
190
192
  onFocus: this.onFocus,
191
193
  onBlur: this.onBlur,
192
194
  className: className,
@@ -209,6 +211,7 @@ var TextAreaNotRef = /** @class */function (_super) {
209
211
  };
210
212
  TextAreaNotRef.defaultProps = {
211
213
  defaultValue: '',
214
+ wrapTagName: 'div',
212
215
  rows: 5,
213
216
  maxlength: 0,
214
217
  checkValueOnMounted: false
@@ -81,6 +81,7 @@ export declare class InputNumberNotRef extends React.Component<InputNumberPropsW
81
81
  keyboardHandler: AddListenerEventRemoveHandler;
82
82
  static defaultProps: {
83
83
  defaultValue: string;
84
+ wrapTagName: string;
84
85
  controls: boolean;
85
86
  isAllowNumberWithDotAndMinus: boolean;
86
87
  isOnlyAllowNumber: boolean;
@@ -289,7 +289,8 @@ var InputNumberNotRef = /** @class */function (_super) {
289
289
  controls = _b.controls,
290
290
  isValueToString = _b.isValueToString,
291
291
  checkValueOnMounted = _b.checkValueOnMounted,
292
- maxLength = _b.maxLength;
292
+ maxLength = _b.maxLength,
293
+ wrapTagName = _b.wrapTagName;
293
294
  var originalValueStr = this.state.originalValueStr;
294
295
  var hasControls = controls && !isValueToString;
295
296
  return /*#__PURE__*/_react.default.createElement(_Input.default, {
@@ -297,12 +298,14 @@ var InputNumberNotRef = /** @class */function (_super) {
297
298
  className: (0, _classnames.default)(cls, className, (_a = {}, _a["".concat(cls, "-has-controls")] = hasControls, _a)),
298
299
  placeholder: placeholder,
299
300
  disabled: disabled,
301
+ wrapTagName: wrapTagName,
300
302
  style: style,
301
303
  prefix: prefix,
302
304
  name: name,
303
305
  value: originalValueStr,
304
306
  onChange: this.onChange,
305
307
  onKeyDown: this.onKeyDown,
308
+ "aria-label": this.props['aria-label'],
306
309
  onBlur: this.onBlur,
307
310
  onFocus: this.onFocus,
308
311
  suffix: hasControls ? /*#__PURE__*/_react.default.createElement(_ControlArrow.default, {
@@ -316,6 +319,7 @@ var InputNumberNotRef = /** @class */function (_super) {
316
319
  };
317
320
  InputNumberNotRef.defaultProps = {
318
321
  defaultValue: '',
322
+ wrapTagName: 'div',
319
323
  controls: true,
320
324
  isAllowNumberWithDotAndMinus: false,
321
325
  isOnlyAllowNumber: false,
@@ -48,6 +48,7 @@ export declare class InputPhoneNotRef extends React.Component<InputPhonePropsWit
48
48
  onFocusTimer: ReturnType<typeof setTimeout>;
49
49
  static defaultProps: {
50
50
  defaultValue: string;
51
+ wrapTagName: string;
51
52
  format: string;
52
53
  placeholderChar: string;
53
54
  };
@@ -202,6 +202,7 @@ var InputPhoneNotRef = /** @class */function (_super) {
202
202
  };
203
203
  InputPhoneNotRef.defaultProps = {
204
204
  defaultValue: '',
205
+ wrapTagName: 'div',
205
206
  format: '(111)111-1111',
206
207
  placeholderChar: '_'
207
208
  };
@@ -1,5 +1,9 @@
1
- import React, { MouseEventHandler, MouseEvent } from 'react';
2
- export interface LazyImageProps {
1
+ import React from 'react';
2
+ export interface LazyImageProps extends React.AllHTMLAttributes<HTMLElement> {
3
+ /**
4
+ * 标签名,默认div
5
+ */
6
+ tagName?: string;
3
7
  /**
4
8
  * 需要显示的图片
5
9
  */
@@ -9,34 +13,13 @@ export interface LazyImageProps {
9
13
  */
10
14
  alt: string;
11
15
  /**
12
- * 鼠标悬浮时显示的文字
16
+ * 图片额外的属性
13
17
  */
14
- title?: string;
18
+ imgHTMLAttributes?: React.ImgHTMLAttributes<HTMLImageElement>;
15
19
  /**
16
20
  * 类名
17
21
  */
18
22
  className?: string;
19
- /**
20
- * hover 图片,图片透明度(需要注意不要少了isMobile属性)
21
- */
22
- hoverOpacity?: number;
23
- /**
24
- * 判断是否是移动端,如果是移动端,将不再执行hoverOpacity, onMouseOver, onMouseOut
25
- */
26
- isMobile?: boolean;
27
- /**
28
- * 判断是否需要动态loading效果,如果提供了defaultImage,则不再有loading
29
- */
30
- active?: boolean;
31
- onClick?: MouseEventHandler<HTMLImageElement>;
32
- /**
33
- * 鼠标放上去的回调(方便自定义样式)
34
- */
35
- onMouseOver?: MouseEventHandler<HTMLImageElement>;
36
- /**
37
- * 鼠标离开的回调(方便自定义样式)
38
- */
39
- onMouseOut?: MouseEventHandler<HTMLImageElement>;
40
23
  /**
41
24
  * 加载图片时的回调
42
25
  */
@@ -55,10 +38,9 @@ interface LazyImageStates {
55
38
  }
56
39
  declare class LazyImage extends React.Component<LazyImageProps, LazyImageStates> {
57
40
  static defaultProps: {
41
+ tagName: string;
58
42
  className: string;
59
- hoverOpacity: any;
60
- isMobile: boolean;
61
- active: boolean;
43
+ imgHTMLAttributes: {};
62
44
  };
63
45
  prefixCls: string;
64
46
  rootRef: React.RefObject<HTMLImageElement>;
@@ -71,8 +53,6 @@ declare class LazyImage extends React.Component<LazyImageProps, LazyImageStates>
71
53
  * 监听原生lazy loading, 并回调不同的事件
72
54
  */
73
55
  originalLazyLoad: () => void;
74
- onMouseOut: (ev: MouseEvent<HTMLImageElement>) => void;
75
- onMouseOver: (ev: MouseEvent<HTMLImageElement>) => void;
76
56
  render(): JSX.Element;
77
57
  }
78
58
  export default LazyImage;
@@ -41,6 +41,16 @@ var __assign = void 0 && (void 0).__assign || function () {
41
41
  };
42
42
  return __assign.apply(this, arguments);
43
43
  };
44
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
45
+ var t = {};
46
+ for (var p in s) {
47
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
48
+ }
49
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
50
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
51
+ }
52
+ return t;
53
+ };
44
54
  function noop() {}
45
55
  var LazyImage = /** @class */function (_super) {
46
56
  __extends(LazyImage, _super);
@@ -97,36 +107,6 @@ var LazyImage = /** @class */function (_super) {
97
107
  };
98
108
  }
99
109
  };
100
- _this.onMouseOut = function (ev) {
101
- if (_this.props.isMobile) {
102
- return;
103
- }
104
- var _a = _this.props,
105
- hoverOpacity = _a.hoverOpacity,
106
- onMouseOut = _a.onMouseOut;
107
- var el = ev.target;
108
- if (hoverOpacity) {
109
- el.style.opacity = '1';
110
- }
111
- if (onMouseOut) {
112
- onMouseOut(ev);
113
- }
114
- };
115
- _this.onMouseOver = function (ev) {
116
- if (_this.props.isMobile) {
117
- return;
118
- }
119
- var _a = _this.props,
120
- hoverOpacity = _a.hoverOpacity,
121
- onMouseOver = _a.onMouseOver;
122
- var el = ev.target;
123
- if (hoverOpacity) {
124
- el.style.opacity = hoverOpacity.toString();
125
- }
126
- if (onMouseOver) {
127
- onMouseOver(ev);
128
- }
129
- };
130
110
  _this.state = {
131
111
  loading: true
132
112
  };
@@ -148,34 +128,33 @@ var LazyImage = /** @class */function (_super) {
148
128
  var cls = this.prefixCls;
149
129
  var _b = this.props,
150
130
  className = _b.className,
151
- active = _b.active;
131
+ alt = _b.alt,
132
+ src = _b.src,
133
+ imgHTMLAttributes = _b.imgHTMLAttributes,
134
+ tagName = _b.tagName,
135
+ onError = _b.onError,
136
+ onLoading = _b.onLoading,
137
+ onLoaded = _b.onLoaded,
138
+ extraProps = __rest(_b, ["className", "alt", "src", "imgHTMLAttributes", "tagName", "onError", "onLoading", "onLoaded"]);
152
139
  var loading = this.state.loading;
153
- var props = __assign({}, this.props);
154
- delete props.className;
155
- delete props.onMouseOver;
156
- delete props.onMouseOut;
157
- delete props.hoverOpacity;
158
- delete props.isMobile;
159
- delete props.active;
160
- delete props.onLoading;
161
- delete props.onLoaded;
162
- return /*#__PURE__*/_react.default.createElement("img", __assign({
163
- alt: ""
164
- }, props, {
165
- className: (0, _classnames.default)(cls, className, (_a = {}, _a["".concat(cls, "-loading")] = loading, _a["".concat(cls, "-active")] = loading && active, _a)),
166
- onMouseOver: this.onMouseOver,
167
- onMouseOut: this.onMouseOut,
140
+ var Wrapper = tagName;
141
+ // 需要图片根据容器自适应时,需增加mask
142
+ return /*#__PURE__*/_react.default.createElement(Wrapper, __assign({}, extraProps, {
143
+ className: (0, _classnames.default)(cls, className, (_a = {}, _a["".concat(cls, "-loading")] = loading, _a))
144
+ }), /*#__PURE__*/_react.default.createElement("img", __assign({
168
145
  onFocus: noop,
169
- onBlur: noop,
146
+ onBlur: noop
147
+ }, imgHTMLAttributes, {
148
+ src: src,
149
+ alt: alt,
170
150
  ref: this.rootRef,
171
151
  loading: "lazy"
172
- }));
152
+ })));
173
153
  };
174
154
  LazyImage.defaultProps = {
155
+ tagName: 'div',
175
156
  className: '',
176
- hoverOpacity: null,
177
- isMobile: false,
178
- active: true
157
+ imgHTMLAttributes: {}
179
158
  };
180
159
  return LazyImage;
181
160
  }(_react.default.Component);
@@ -1 +1 @@
1
- .ab-lazy-image{transition:opacity .5s}.ab-lazy-image-loading{background:#f2f2f2;overflow:hidden}.ab-lazy-image-loading.ab-lazy-image-active{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
1
+ .ab-lazy-image{position:relative;overflow:hidden;transition:opacity .5s;display:flex;align-items:center;justify-content:center}.ab-lazy-image::after{display:none;content:"";position:absolute;left:0;top:0;width:100%;height:100%}.ab-lazy-image-loading::after{display:block;background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;animation:1.4s infinite ab-skeleton-loading}.ab-lazy-image img{display:block;max-width:100%;max-height:100%}@keyframes ab-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { AddListenerEventRemoveHandler } from '@autobest-ui/utils';
3
2
  export interface LoadingContainerProps {
4
3
  /**
5
4
  * 容器是否loading
@@ -13,23 +12,6 @@ export interface LoadingContainerProps {
13
12
  * 内容区域
14
13
  */
15
14
  children?: React.ReactElement | React.ReactElement[];
16
- /**
17
- * LoadingIcon是否需要保持在可视区域内
18
- */
19
- loadingInView?: boolean;
20
- }
21
- declare class LoadingContainer extends React.Component<LoadingContainerProps> {
22
- prefixCls: string;
23
- addScrollHandlerListener: AddListenerEventRemoveHandler;
24
- wrapRef: React.RefObject<HTMLDivElement>;
25
- iconRef: React.RefObject<HTMLSpanElement>;
26
- componentDidMount(): void;
27
- componentDidUpdate(prevProps: Readonly<LoadingContainerProps>): void;
28
- componentWillUnmount(): void;
29
- addScrollListener: () => void;
30
- removeScrollListener: () => void;
31
- setIconTopStyle: (top: string) => void;
32
- onHandlerScroll: () => void;
33
- render(): JSX.Element;
34
15
  }
16
+ declare function LoadingContainer(props: LoadingContainerProps): JSX.Element;
35
17
  export default LoadingContainer;