shineout 3.9.7-beta.2 → 3.9.7-beta.4

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
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.9.7-beta.2'
525
+ version: '3.9.7-beta.4'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12401,7 +12401,7 @@ var handleStyle = function handleStyle(style) {
12401
12401
  };
12402
12402
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12403
12403
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12404
- /* harmony default export */ var version = ('3.9.7-beta.2');
12404
+ /* harmony default export */ var version = ('3.9.7-beta.4');
12405
12405
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12406
12406
 
12407
12407
 
@@ -20253,7 +20253,10 @@ var ImageStyle = objectSpread2_default()(objectSpread2_default()({
20253
20253
  },
20254
20254
  rounded: {
20255
20255
  borderRadius: src.imageBorderRadius,
20256
- outline: "1px solid ".concat(src.imageBorderColor)
20256
+ outline: "1px solid ".concat(src.imageBorderColor),
20257
+ 'a&:hover': {
20258
+ outline: "1px solid ".concat(src.imageBorderColor)
20259
+ }
20257
20260
  },
20258
20261
  thumbnail: {
20259
20262
  borderRadius: src.imageBorderRadius,
@@ -20302,7 +20305,10 @@ var ImageStyle = objectSpread2_default()(objectSpread2_default()({
20302
20305
  width: '100%',
20303
20306
  height: '100%',
20304
20307
  margin: 'auto',
20305
- backgroundColor: src.imageErrorBackgroundColor
20308
+ backgroundColor: src.imageErrorBackgroundColor,
20309
+ display: 'flex',
20310
+ alignItems: 'center',
20311
+ justifyContent: 'center'
20306
20312
  },
20307
20313
  overlay: {
20308
20314
  position: 'absolute',
@@ -22353,7 +22359,8 @@ var modalStyle = objectSpread2_default()(objectSpread2_default()({
22353
22359
  zIndex: 0,
22354
22360
  '& svg': {
22355
22361
  zIndex: 1,
22356
- position: 'relative'
22362
+ position: 'relative',
22363
+ display: 'block'
22357
22364
  },
22358
22365
  '&:hover': {
22359
22366
  '&:after': objectSpread2_default()(objectSpread2_default()({}, hoverAfterStyles), {}, {
@@ -28621,12 +28628,16 @@ var TransferStyle = {
28621
28628
  simple: {
28622
28629
  '& $source': {
28623
28630
  borderRadius: "".concat(src.transferBorderRadius, " 0 0 ").concat(src.transferBorderRadius),
28624
- borderRight: 0
28631
+ borderRight: 0,
28632
+ '& $header': {
28633
+ borderRadius: "".concat(src.transferBorderRadius, " 0 0 0")
28634
+ }
28625
28635
  },
28626
28636
  '& $target': {
28627
28637
  borderRadius: "0 ".concat(src.transferBorderRadius, " ").concat(src.transferBorderRadius, " 0"),
28628
28638
  '& $header': {
28629
- paddingRight: 6
28639
+ paddingRight: 6,
28640
+ borderRadius: "0 ".concat(src.transferBorderRadius, " 0 0")
28630
28641
  }
28631
28642
  }
28632
28643
  },
@@ -35572,7 +35583,7 @@ var useDragMock = function useDragMock(props) {
35572
35583
  var deltaY = event.clientY - dragInfo.lastY;
35573
35584
  dragInfo.lastX = event.clientX;
35574
35585
  dragInfo.lastY = event.clientY;
35575
- (_props$onDragMove = props.onDragMove) === null || _props$onDragMove === void 0 || _props$onDragMove.call(props, deltaX, deltaY);
35586
+ (_props$onDragMove = props.onDragMove) === null || _props$onDragMove === void 0 || _props$onDragMove.call(props, deltaX, deltaY, event);
35576
35587
  });
35577
35588
  var handleMouseUp = usePersistFn(function (event) {
35578
35589
  var _props$onDragEnd;
@@ -63160,6 +63171,12 @@ var useSlider = function useSlider(props) {
63160
63171
  context.clickLock = false;
63161
63172
  }, 100);
63162
63173
  });
63174
+ var isDisabled = use_persist_fn(function (value) {
63175
+ if (typeof props.disabled === 'function') {
63176
+ return props.disabled(value);
63177
+ }
63178
+ return !!props.disabled;
63179
+ });
63163
63180
  var handleDragEnd = use_persist_fn(function () {
63164
63181
  lockClick();
63165
63182
  var start = getValueFromRate(rate[0], scale, step);
@@ -63171,20 +63188,56 @@ var useSlider = function useSlider(props) {
63171
63188
  props.onChange(end);
63172
63189
  }
63173
63190
  });
63174
- var handleDragMove = use_persist_fn(function (deltaX, deltaY) {
63191
+ var handleDragMove = use_persist_fn(function (deltaX, deltaY, mouseEvent) {
63175
63192
  setRate(function (r) {
63176
63193
  var target = trackRef.current;
63177
63194
  if (!target) return r;
63178
63195
  var newRate = toConsumableArray_default()(r);
63179
63196
  var v = context.dragIndex === 0 ? r[0] : r[1];
63180
- var max = props.vertical ? target.clientHeight : target.clientWidth;
63181
- var delta = props.vertical ? deltaY * -1 : deltaX * (isReserve ? -1 : 1);
63182
- var rate = Math.max(v + delta / max, 0);
63197
+ var rate;
63198
+
63199
+ // If disabled function is used and we have mouse event, use absolute position
63200
+ if (typeof props.disabled === 'function' && mouseEvent) {
63201
+ var rect = target.getBoundingClientRect();
63202
+ var currentIndicatorRate = v;
63203
+
63204
+ // Calculate mouse position rate
63205
+ var mouseRate;
63206
+ if (props.vertical) {
63207
+ mouseRate = (rect.bottom - mouseEvent.clientY) / rect.height;
63208
+ } else {
63209
+ mouseRate = isReserve ? (rect.right - mouseEvent.clientX) / rect.width : (mouseEvent.clientX - rect.left) / rect.width;
63210
+ }
63211
+
63212
+ // Only allow movement if mouse crossed the indicator position
63213
+ if (mouseRate > currentIndicatorRate) {
63214
+ // Mouse is to the right/top, allow moving right/up
63215
+ rate = Math.max(Math.min(mouseRate, 1), 0);
63216
+ } else if (mouseRate < currentIndicatorRate) {
63217
+ // Mouse is to the left/bottom, allow moving left/down
63218
+ rate = Math.max(Math.min(mouseRate, 1), 0);
63219
+ } else {
63220
+ // Mouse is at same position, no change
63221
+ return r;
63222
+ }
63223
+ } else {
63224
+ // Normal delta-based movement
63225
+ var max = props.vertical ? target.clientHeight : target.clientWidth;
63226
+ var delta = props.vertical ? deltaY * -1 : deltaX * (isReserve ? -1 : 1);
63227
+ rate = Math.max(v + delta / max, 0);
63228
+ }
63183
63229
  if (rate > 1) {
63184
63230
  rate = 1;
63185
63231
  if (typeof props.onIncrease === 'function') props.onIncrease();
63186
63232
  }
63187
63233
  newRate[context.dragIndex] = rate;
63234
+
63235
+ // Check if the new value would be disabled
63236
+ var newValue = getValueFromRate(newRate[context.dragIndex], scale, step);
63237
+ if (isDisabled(newValue)) {
63238
+ // Stay at current position to prevent flickering
63239
+ return r;
63240
+ }
63188
63241
  if (newRate[0] > newRate[1]) {
63189
63242
  context.dragIndex = context.dragIndex === 0 ? 1 : 0;
63190
63243
  var temp = newRate[0];
@@ -63213,6 +63266,9 @@ var useSlider = function useSlider(props) {
63213
63266
  var rect = target.getBoundingClientRect();
63214
63267
  var rate = !props.vertical ? (isReserve ? rect.right - e.clientX : e.clientX - rect.left) / rect.width : (rect.bottom - e.clientY) / rect.height;
63215
63268
  var value = getValueFromRate(rate, scale, step);
63269
+
63270
+ // Check if the clicked value would be disabled
63271
+ if (isDisabled(value)) return;
63216
63272
  if (props.range) {
63217
63273
  var _start = startValue;
63218
63274
  var _end = endValue;
@@ -63249,8 +63305,10 @@ var useSlider = function useSlider(props) {
63249
63305
  handleEndMouseDown: handleEndMouseDown,
63250
63306
  handleTrackClick: handleTrackClick
63251
63307
  });
63252
- var start = dragInfo.isDragging ? rate[0] : getRateFromValue(startValue, scale);
63253
- var end = dragInfo.isDragging ? rate[1] : getRateFromValue(endValue, scale);
63308
+
63309
+ // During dragging, optionally snap to quantized values in discrete mode
63310
+ var start = dragInfo.isDragging ? props.discrete ? getRateFromValue(getValueFromRate(rate[0], scale, step), scale) : rate[0] : getRateFromValue(startValue, scale);
63311
+ var end = dragInfo.isDragging ? props.discrete ? getRateFromValue(getValueFromRate(rate[1], scale, step), scale) : rate[1] : getRateFromValue(endValue, scale);
63254
63312
  var innerStyle = getTrackInnerStyle(start, end);
63255
63313
  return {
63256
63314
  func: func,
@@ -63306,7 +63364,9 @@ var Slider = function Slider(props0) {
63306
63364
  step: step,
63307
63365
  vertical: !!props.vertical,
63308
63366
  onIncrease: props.onIncrease,
63309
- direction: config.direction
63367
+ direction: config.direction,
63368
+ disabled: props.disabled,
63369
+ discrete: props.discrete
63310
63370
  }),
63311
63371
  func = _useSlider.func,
63312
63372
  trackRef = _useSlider.trackRef,
@@ -63328,12 +63388,20 @@ var Slider = function Slider(props0) {
63328
63388
  children: formated
63329
63389
  });
63330
63390
  };
63391
+ var isDisabled = function isDisabled(value) {
63392
+ if (typeof props.disabled === 'function') {
63393
+ return props.disabled(value);
63394
+ }
63395
+ return !!props.disabled;
63396
+ };
63331
63397
  var renderIndicator = function renderIndicator(position) {
63332
63398
  if (!props.range && position === 0) return null;
63333
63399
  var handleEndMouseDown = position === 0 ? func.handleStartMouseDown : func.handleEndMouseDown;
63400
+ var value = position === 0 ? startValue : endValue;
63401
+ var disabled = isDisabled(value);
63334
63402
  return /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
63335
63403
  children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
63336
- onMouseDown: props.disabled ? undefined : handleEndMouseDown,
63404
+ onMouseDown: disabled ? undefined : handleEndMouseDown,
63337
63405
  className: classnames_default()(sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.indicator, position === 0 ? sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.indicatorStart : sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.indicatorEnd, dragIndex === position && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.indicatorActive), tipType === 'hover' && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.indicatorHover)),
63338
63406
  dir: config.direction
63339
63407
  }), renderIndicatorValue(position)]
@@ -63349,14 +63417,30 @@ var Slider = function Slider(props0) {
63349
63417
  var verticalStyle = props.vertical ? {
63350
63418
  height: height
63351
63419
  } : {};
63420
+
63421
+ // For boolean disabled, use it directly; for function disabled, check all values
63422
+ var isWholeDisabled = function isWholeDisabled() {
63423
+ if (typeof props.disabled === 'boolean' || props.disabled === undefined) {
63424
+ return !!props.disabled;
63425
+ }
63426
+ // For function disabled, the component is not fully disabled (individual indicators are)
63427
+ return false;
63428
+ };
63429
+ var shouldDisableTrackClick = function shouldDisableTrackClick() {
63430
+ if (typeof props.disabled === 'boolean' || props.disabled === undefined) {
63431
+ return !!props.disabled;
63432
+ }
63433
+ // For function disabled, allow track clicks
63434
+ return false;
63435
+ };
63352
63436
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
63353
63437
  id: fieldId,
63354
- className: classnames_default()(sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.rootClass, sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.wrapper, props.autoHide && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.autoHide), props.disabled && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.disabled), props.vertical && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.vertical), props.className),
63438
+ className: classnames_default()(sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.rootClass, sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.wrapper, props.autoHide && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.autoHide), isWholeDisabled() && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.disabled), props.vertical && (sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.vertical), props.className),
63355
63439
  style: objectSpread2_default()(objectSpread2_default()({}, verticalStyle), props.style),
63356
63440
  children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
63357
63441
  className: sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.track,
63358
63442
  ref: trackRef,
63359
- onClick: props.disabled ? undefined : func.handleTrackClick,
63443
+ onClick: shouldDisableTrackClick() ? undefined : func.handleTrackClick,
63360
63444
  children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
63361
63445
  className: sliderClasses === null || sliderClasses === void 0 ? void 0 : sliderClasses.trackInner,
63362
63446
  style: innerStyle,
@@ -74958,7 +75042,7 @@ var upload_interface = __webpack_require__(8821);
74958
75042
 
74959
75043
 
74960
75044
  /* harmony default export */ var src_0 = ({
74961
- version: '3.9.7-beta.2'
75045
+ version: '3.9.7-beta.4'
74962
75046
  });
74963
75047
  }();
74964
75048
  /******/ return __webpack_exports__;