shineout 3.6.4 → 3.6.5-beta.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.
package/cjs/index.js CHANGED
@@ -514,5 +514,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
514
514
  // 此文件由脚本自动生成,请勿直接修改。
515
515
  // This file was generated automatically by a script. Please do not modify it directly.
516
516
  var _default = exports.default = {
517
- version: '3.6.4'
517
+ version: '3.6.5-beta.2'
518
518
  };
package/dist/shineout.js CHANGED
@@ -12217,7 +12217,7 @@ var handleStyle = function handleStyle(style) {
12217
12217
  };
12218
12218
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12219
12219
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12220
- /* harmony default export */ var version = ('3.6.4');
12220
+ /* harmony default export */ var version = ('3.6.5-beta.2');
12221
12221
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12222
12222
 
12223
12223
 
@@ -17622,8 +17622,7 @@ var cascaderStyle = objectSpread2_default()(objectSpread2_default()({
17622
17622
  visibility: 'hidden'
17623
17623
  },
17624
17624
  moreWrapper: {
17625
- // width: 248,
17626
- // height: 72,
17625
+ width: 'max-content',
17627
17626
  maxWidth: 400,
17628
17627
  maxHeight: 160,
17629
17628
  overflow: 'auto',
@@ -19758,9 +19757,14 @@ var ImageStyle = objectSpread2_default()(objectSpread2_default()({
19758
19757
  },
19759
19758
  fill: {
19760
19759
  '& $inner': {
19761
- backgroundSize: 'cover',
19762
- backgroundPosition: '50% 50%',
19763
- backgroundRepeat: 'no-repeat'
19760
+ '& > img': {
19761
+ position: 'absolute',
19762
+ top: '50%',
19763
+ left: '50%',
19764
+ transform: 'translate(-50%, -50%)',
19765
+ maxWidth: 'none',
19766
+ maxHeight: 'none'
19767
+ }
19764
19768
  }
19765
19769
  },
19766
19770
  previewMask: {
@@ -23430,6 +23434,7 @@ var selectStyle = objectSpread2_default()(objectSpread2_default()({
23430
23434
  visibility: 'hidden'
23431
23435
  },
23432
23436
  moreWrapper: {
23437
+ width: 'max-content',
23433
23438
  maxWidth: 400,
23434
23439
  maxHeight: 160,
23435
23440
  overflow: 'auto',
@@ -28659,6 +28664,7 @@ var treeSelectStyle = objectSpread2_default()(objectSpread2_default()({
28659
28664
  visibility: 'hidden'
28660
28665
  },
28661
28666
  moreWrapper: {
28667
+ width: 'max-content',
28662
28668
  maxWidth: 400,
28663
28669
  maxHeight: 160,
28664
28670
  overflow: 'auto',
@@ -40441,6 +40447,10 @@ var More = function More(props) {
40441
40447
  className: compressedClassName,
40442
40448
  visible: visible,
40443
40449
  onVisibleChange: setVisible,
40450
+ getPopupContainer: function getPopupContainer() {
40451
+ var _props$morePopoverCon;
40452
+ return (_props$morePopoverCon = props.morePopoverContainer) === null || _props$morePopoverCon === void 0 ? void 0 : _props$morePopoverCon.current;
40453
+ },
40444
40454
  children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
40445
40455
  className: styles.moreWrapper,
40446
40456
  onClick: function onClick(e) {
@@ -40735,7 +40745,8 @@ var result_Result = function Result(props) {
40735
40745
  compressed: compressed,
40736
40746
  renderCompressed: renderCompressed,
40737
40747
  compressedClassName: compressedClassName,
40738
- showNum: moreNumber
40748
+ showNum: moreNumber,
40749
+ morePopoverContainer: props.morePopoverContainer
40739
40750
  }, 'more');
40740
40751
  var renderResult = function renderResult() {
40741
40752
  if (empty) {
@@ -41289,7 +41300,8 @@ var Cascader = function Cascader(props0) {
41289
41300
  onResultItemClick: handleResultItemClick,
41290
41301
  checkUnMatched: checkUnMatched,
41291
41302
  getDataByValues: getDataByValues,
41292
- setInputText: setInputText
41303
+ setInputText: setInputText,
41304
+ morePopoverContainer: targetRef
41293
41305
  })
41294
41306
  });
41295
41307
  return /*#__PURE__*/(0,jsx_runtime.jsx)(PopupProvider, {
@@ -51213,6 +51225,10 @@ var useImage = function useImage() {
51213
51225
  _React$useState2 = slicedToArray_default()(_React$useState, 2),
51214
51226
  status = _React$useState2[0],
51215
51227
  setStatus = _React$useState2[1];
51228
+ var _React$useState3 = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState({}),
51229
+ _React$useState4 = slicedToArray_default()(_React$useState3, 2),
51230
+ imgCoverStyle = _React$useState4[0],
51231
+ setImgCoverStyle = _React$useState4[1];
51216
51232
  var elementRef = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useRef(null);
51217
51233
  var getUrl = function getUrl(url) {
51218
51234
  var auto = 'autoSSL' in props ? autoSSL : use_image_config.autoSSL;
@@ -51247,6 +51263,35 @@ var useImage = function useImage() {
51247
51263
  };
51248
51264
  img.src = getUrl(alt);
51249
51265
  };
51266
+ var handleCoverStyle = function handleCoverStyle(img) {
51267
+ var container = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
51268
+ if (!container) return;
51269
+
51270
+ // 根据容器的宽高获取宽高比
51271
+ var containerWidth = container.clientWidth;
51272
+ var containerHeight = container.clientHeight;
51273
+ var containerRatio = containerWidth / containerHeight;
51274
+
51275
+ // 根据图片的自然尺寸获取宽高比
51276
+ var imageWidth = img.naturalWidth;
51277
+ var imageHeight = img.naturalHeight;
51278
+ var imageRatio = imageWidth / imageHeight;
51279
+
51280
+ // 判断宽高比,决定图片填充策略
51281
+ if (imageRatio > containerRatio) {
51282
+ // 图片更宽,宽度占满容器,高度自适应
51283
+ setImgCoverStyle({
51284
+ height: '100%',
51285
+ width: 'auto'
51286
+ });
51287
+ } else {
51288
+ // 图片更高,填满容器高度
51289
+ setImgCoverStyle({
51290
+ width: '100%',
51291
+ height: 'auto'
51292
+ });
51293
+ }
51294
+ };
51250
51295
  var markToRender = function markToRender() {
51251
51296
  if (!src) {
51252
51297
  handleAlt();
@@ -51254,7 +51299,10 @@ var useImage = function useImage() {
51254
51299
  }
51255
51300
  var img = new window.Image();
51256
51301
  img.onload = function () {
51257
- return setStatus(SRC);
51302
+ setStatus(SRC);
51303
+ if (props.fit === 'fill') {
51304
+ handleCoverStyle(img);
51305
+ }
51258
51306
  };
51259
51307
  img.onerror = function (e) {
51260
51308
  return handleError(SRC, e);
@@ -51283,7 +51331,9 @@ var useImage = function useImage() {
51283
51331
  alt: alt,
51284
51332
  draggable: !noImgDrag
51285
51333
  });
51286
- return objectSpread2_default()({}, mergedEventHandlers);
51334
+ return objectSpread2_default()({
51335
+ style: imgCoverStyle
51336
+ }, mergedEventHandlers);
51287
51337
  };
51288
51338
  var getImageDivProps = function getImageDivProps() {
51289
51339
  var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -52051,7 +52101,8 @@ var Image = function Image(props) {
52051
52101
  href: href,
52052
52102
  lazy: lazy,
52053
52103
  autoSSL: autoSSL,
52054
- noImgDrag: noImgDrag
52104
+ noImgDrag: noImgDrag,
52105
+ fit: fit
52055
52106
  }, rest)),
52056
52107
  status = _useImage.status,
52057
52108
  getRootProps = _useImage.getRootProps,
@@ -52130,7 +52181,7 @@ var Image = function Image(props) {
52130
52181
 
52131
52182
  // 渲染 img / div 类型的内部标签
52132
52183
  var renderInner = function renderInner(src) {
52133
- return fit === 'fill' || fit === 'fit' ? renderDivInnerEl(src) : renderImgeInnerEl(src);
52184
+ return fit === 'fit' ? renderDivInnerEl(src) : renderImgeInnerEl(src);
52134
52185
  };
52135
52186
 
52136
52187
  // 默认占位图
@@ -55667,7 +55718,8 @@ function Select(props0) {
55667
55718
  checkUnMatched: checkUnMatched,
55668
55719
  onRemove: handleRemove,
55669
55720
  classes: styles,
55670
- setInputText: setInputText
55721
+ setInputText: setInputText,
55722
+ morePopoverContainer: targetRef
55671
55723
  })
55672
55724
  });
55673
55725
  return /*#__PURE__*/(0,jsx_runtime.jsx)(PopupProvider, {
@@ -66160,7 +66212,8 @@ var TreeSelect = function TreeSelect(props0) {
66160
66212
  getDataByValues: getResultByValue,
66161
66213
  onRemove: handleRemove,
66162
66214
  classes: styles,
66163
- setInputText: setInputText
66215
+ setInputText: setInputText,
66216
+ morePopoverContainer: targetRef
66164
66217
  })
66165
66218
  });
66166
66219
  return /*#__PURE__*/(0,jsx_runtime.jsx)(PopupProvider, {
@@ -69975,7 +70028,7 @@ var upload_interface = __webpack_require__(8821);
69975
70028
 
69976
70029
 
69977
70030
  /* harmony default export */ var src_0 = ({
69978
- version: '3.6.4'
70031
+ version: '3.6.5-beta.2'
69979
70032
  });
69980
70033
  }();
69981
70034
  /******/ return __webpack_exports__;