shineout 3.4.0-beta.7 → 3.4.0-beta.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.
package/cjs/index.js CHANGED
@@ -492,5 +492,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
492
492
  // 此文件由脚本自动生成,请勿直接修改。
493
493
  // This file was generated automatically by a script. Please do not modify it directly.
494
494
  var _default = exports.default = {
495
- version: '3.4.0-beta.7'
495
+ version: '3.4.0-beta.8'
496
496
  };
package/dist/shineout.js CHANGED
@@ -11991,7 +11991,7 @@ var handleStyle = function handleStyle(style) {
11991
11991
  };
11992
11992
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
11993
11993
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
11994
- /* harmony default export */ var version = ('3.4.0-beta.7');
11994
+ /* harmony default export */ var version = ('3.4.0-beta.8');
11995
11995
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
11996
11996
 
11997
11997
 
@@ -12468,7 +12468,10 @@ var Token = {
12468
12468
  'Size-25': '50px',
12469
12469
  'Size-26': '52px',
12470
12470
  'Size-27': '54px',
12471
- 'Size-28': '56px'
12471
+ 'Size-28': '56px',
12472
+ 'Animation-duration-1': '0.1s',
12473
+ 'Animation-duration-2': '0.2s',
12474
+ 'Animation-duration-3': '0.3s'
12472
12475
  };
12473
12476
 
12474
12477
  // @ts-ignore
@@ -13741,6 +13744,7 @@ var menuTokens = {
13741
13744
  menuItemDisabledFontColor: 'Neutral-text-2',
13742
13745
  menuItemCollapseActiveBackgroundColor: 'Brand-6',
13743
13746
  menuItemCollapseActiveFontColor: 'Neutral-text-1',
13747
+ menuItemInpathActiveFontColor: 'Brand-6',
13744
13748
  menuTitlePaddingX: 'Spacing-16',
13745
13749
  menuTitlePaddingY: 'Spacing-9',
13746
13750
  menuExpandWidth: 'Spacing-46',
@@ -20233,9 +20237,9 @@ var menuStyle = {
20233
20237
  },
20234
20238
  '$itemInPath > &&': {
20235
20239
  '[data-soui-theme=light] &': {
20236
- color: src.menuItemActiveFontColor,
20240
+ color: src.menuItemInpathActiveFontColor,
20237
20241
  '& $icon': {
20238
- color: src.menuItemActiveFontColor
20242
+ color: src.menuItemInpathActiveFontColor
20239
20243
  }
20240
20244
  },
20241
20245
  '[data-soui-theme=light] $itemDisabled&': {
@@ -25210,90 +25214,57 @@ var getCardStyle = function getCardStyle() {
25210
25214
  };
25211
25215
  var getLineStyle = function getLineStyle() {
25212
25216
  return {
25217
+ '$tab': {
25218
+ '&:after': {
25219
+ display: 'none'
25220
+ }
25221
+ },
25213
25222
  '&[data-soui-position^="left-"][data-soui-shape="line"]': {
25214
- '&[dir=ltr]': objectSpread2_default()({
25223
+ '&[dir=ltr]': {
25215
25224
  '& $hr': {
25216
25225
  right: 0,
25217
25226
  width: 1,
25218
25227
  height: '100%'
25219
25228
  }
25220
- }, active({
25221
- top: 0,
25222
- bottom: 0,
25223
- right: 0,
25224
- width: 2
25225
- })),
25226
- '&[dir=rtl]': objectSpread2_default()({
25229
+ },
25230
+ '&[dir=rtl]': {
25227
25231
  '& $hr': {
25228
25232
  left: 0,
25229
25233
  width: 1,
25230
25234
  height: '100%'
25231
25235
  }
25232
- }, active({
25233
- top: 0,
25234
- bottom: 0,
25235
- left: 0,
25236
- width: 2
25237
- }))
25238
- // '& :not([data-soui-state="active"])$tab': {
25239
- // '&:after': {
25240
- // display: 'none',
25241
- // },
25242
- // },
25236
+ }
25243
25237
  },
25244
25238
  '&[data-soui-position^="right-"][data-soui-shape="line"]': {
25245
- '&[dir=ltr]': objectSpread2_default()({
25239
+ '&[dir=ltr]': {
25246
25240
  '& $hr': {
25247
25241
  left: 0,
25248
25242
  width: 1,
25249
25243
  height: '100%'
25250
25244
  }
25251
- }, active({
25252
- top: 0,
25253
- bottom: 0,
25254
- left: 0,
25255
- width: 2
25256
- })),
25257
- '&[dir=rtl]': objectSpread2_default()({
25245
+ },
25246
+ '&[dir=rtl]': {
25258
25247
  '& $hr': {
25259
25248
  right: 0,
25260
25249
  width: 1,
25261
25250
  height: '100%'
25262
25251
  }
25263
- }, active({
25264
- top: 0,
25265
- bottom: 0,
25266
- right: 0,
25267
- width: 2
25268
- }))
25252
+ }
25269
25253
  },
25270
- '&[data-soui-position^="top-"][data-soui-shape="line"]': objectSpread2_default()({
25254
+ '&[data-soui-position^="top-"][data-soui-shape="line"]': {
25271
25255
  '& $hr': {
25272
25256
  bottom: 0,
25273
- left: 0,
25274
25257
  height: 1,
25275
25258
  width: '100%'
25276
25259
  }
25277
- }, active({
25278
- bottom: 0,
25279
- left: 0,
25280
- right: 0,
25281
- height: 2
25282
- })),
25283
- '&[data-soui-position^="bottom-"][data-soui-shape="line"]': objectSpread2_default()(objectSpread2_default()({
25260
+ },
25261
+ '&[data-soui-position^="bottom-"][data-soui-shape="line"]': {
25284
25262
  '& $hr': {
25285
25263
  top: 0,
25286
- left: 0,
25287
25264
  height: 1,
25288
25265
  width: '100%'
25289
- }
25290
- }, active({
25291
- top: 0,
25292
- left: 0,
25293
- right: 0,
25294
- height: 2
25295
- })), {}, {
25296
- '& :not([data-soui-state="active"])$tab': {
25266
+ },
25267
+ '& $tab': {
25297
25268
  '&:after': {
25298
25269
  position: 'absolute',
25299
25270
  content: '""',
@@ -25304,51 +25275,16 @@ var getLineStyle = function getLineStyle() {
25304
25275
  background: src.tabsBorderColor
25305
25276
  }
25306
25277
  }
25307
- })
25278
+ }
25308
25279
  };
25309
25280
  };
25310
25281
  var getDashStyle = function getDashStyle() {
25311
25282
  return {
25312
- '&[data-soui-position^="left-"][data-soui-shape="dash"]': {
25313
- '&[dir=ltr]': objectSpread2_default()({}, active({
25314
- top: "calc(50% - 12px)",
25315
- width: 2,
25316
- height: 24,
25317
- right: 0
25318
- })),
25319
- '&[dir=rtl]': objectSpread2_default()({}, active({
25320
- top: "calc(50% - 12px)",
25321
- width: 2,
25322
- height: 24,
25323
- left: 0
25324
- }))
25325
- },
25326
- '&[data-soui-position^="right-"][data-soui-shape="dash"]': {
25327
- '&[dir=ltr]': objectSpread2_default()({}, active({
25328
- top: "calc(50% - 12px)",
25329
- width: 2,
25330
- height: 24,
25331
- left: 0
25332
- })),
25333
- '&[dir=rtl]': objectSpread2_default()({}, active({
25334
- top: "calc(50% - 12px)",
25335
- width: 2,
25336
- height: 24,
25337
- right: 0
25338
- }))
25339
- },
25340
- '&[data-soui-position^="top-"][data-soui-shape="dash"]': objectSpread2_default()({}, active({
25341
- bottom: 0,
25342
- left: "calc(50% - 12px)",
25343
- width: 24,
25344
- height: 2
25345
- })),
25346
- '&[data-soui-position^="bottom-"][data-soui-shape="dash"]': objectSpread2_default()({}, active({
25347
- top: 0,
25348
- left: "calc(50% - 12px)",
25349
- width: 24,
25350
- height: 2
25351
- }))
25283
+ '$tab': {
25284
+ '&:after': {
25285
+ display: 'none'
25286
+ }
25287
+ }
25352
25288
  };
25353
25289
  };
25354
25290
  var getFillStyle = function getFillStyle() {
@@ -25705,6 +25641,11 @@ var tabsStyle = {
25705
25641
  headerScroll: {
25706
25642
  transition: 'all .2s cubic-bezier(.34,.69,.1,1)'
25707
25643
  },
25644
+ headerScrollBar: {
25645
+ position: 'absolute',
25646
+ background: src.tabsActiveFontColor,
25647
+ transition: "left ".concat(CommonToken['Animation-duration-2'], " ease-in-out, top ").concat(CommonToken['Animation-duration-2'], " ease-in-out, width ").concat(CommonToken['Animation-duration-2'], " ease-in-out, height ").concat(CommonToken['Animation-duration-2'], " ease-in-out")
25648
+ },
25708
25649
  header: {
25709
25650
  flex: 1,
25710
25651
  display: 'flex',
@@ -25751,15 +25692,21 @@ var tabsStyle = {
25751
25692
  color: src.tabsLineCheckedFontColor,
25752
25693
  fontSize: src.tabsLineCheckedFontSize,
25753
25694
  background: src.tabsLineCheckedBackgroundColor,
25754
- fontWeight: src.tabsLineCheckedFontWeight,
25755
- '&:after': {
25756
- background: src.tabsLineAfterBackgroundColor
25757
- }
25695
+ fontWeight: src.tabsLineCheckedFontWeight
25758
25696
  },
25759
25697
  '&[data-soui-state="disabled"]': {
25760
25698
  color: src.tabsLineDisabledFontColor,
25761
25699
  cursor: 'not-allowed'
25762
25700
  },
25701
+ '&:after': {
25702
+ position: 'absolute',
25703
+ content: '""',
25704
+ bottom: 0,
25705
+ left: 0,
25706
+ width: '100%',
25707
+ height: 1,
25708
+ background: src.tabsLineHrBackgroundColor
25709
+ },
25763
25710
  '[data-soui-position^="left-"] &': {
25764
25711
  '&:after': {
25765
25712
  width: 1,
@@ -25776,17 +25723,6 @@ var tabsStyle = {
25776
25723
  background: src.tabsLineHrBackgroundColor
25777
25724
  }
25778
25725
  },
25779
- '&:not([data-soui-state="active"])': {
25780
- '&:after': {
25781
- position: 'absolute',
25782
- content: '""',
25783
- bottom: 0,
25784
- left: 0,
25785
- width: '100%',
25786
- height: 1,
25787
- background: src.tabsLineHrBackgroundColor
25788
- }
25789
- },
25790
25726
  '&:not([data-soui-state="active"]):not([data-soui-state="disabled"]):hover $lineInner': {
25791
25727
  background: src.tabsLineHoverBackgroundColor
25792
25728
  },
@@ -32465,10 +32401,10 @@ function useInputAble(props) {
32465
32401
  clearTimeout(context.timer);
32466
32402
  context.timer = null;
32467
32403
  }
32468
- if (delay && props.value !== stateValue) {
32404
+ if (delay && control && props.value !== stateValue) {
32469
32405
  changeStateValue(props.value);
32470
32406
  }
32471
- }, [props.value, delay]);
32407
+ }, [props.value, delay, control]);
32472
32408
  var forceDelayChange = use_persist_fn(function () {
32473
32409
  if (context.timer && context.delayChange) {
32474
32410
  clearTimeout(context.timer);
@@ -33286,6 +33222,9 @@ var useInnerTitle = function useInnerTitle(props) {
33286
33222
 
33287
33223
 
33288
33224
 
33225
+ var emptyEvent = function emptyEvent(e) {
33226
+ return e.stopPropagation();
33227
+ };
33289
33228
  var Popover = function Popover(props) {
33290
33229
  var _jssStyle$popover;
33291
33230
  var children = props.children,
@@ -33427,6 +33366,7 @@ var Popover = function Popover(props) {
33427
33366
  dir: config.direction
33428
33367
  }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
33429
33368
  style: style,
33369
+ onClick: emptyEvent,
33430
33370
  className: classnames_default()(popoverStyle === null || popoverStyle === void 0 ? void 0 : popoverStyle.content, (typeof childrened === 'string' || props.useTextStyle) && (popoverStyle === null || popoverStyle === void 0 ? void 0 : popoverStyle.text)),
33431
33371
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(Provider, {
33432
33372
  value: providerValue,
@@ -48453,6 +48393,8 @@ var InputPassword = function InputPassword(props) {
48453
48393
 
48454
48394
 
48455
48395
 
48396
+
48397
+
48456
48398
  var useNumberFormat = function useNumberFormat(props) {
48457
48399
  var onChange = props.onChange,
48458
48400
  value = props.value,
@@ -48475,6 +48417,15 @@ var useNumberFormat = function useNumberFormat(props) {
48475
48417
  }
48476
48418
  return value || '';
48477
48419
  };
48420
+ var _React$useState = external_root_React_commonjs2_react_commonjs_react_amd_react_default().useState(getStringValue(props.value)),
48421
+ _React$useState2 = slicedToArray_default()(_React$useState, 2),
48422
+ inernalInputValue = _React$useState2[0],
48423
+ setInternalInputValue = _React$useState2[1];
48424
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(function () {
48425
+ if (props.value !== inernalInputValue) {
48426
+ setInternalInputValue(getStringValue(props.value));
48427
+ }
48428
+ }, [props.value]);
48478
48429
  var getNumberValue = function getNumberValue(value) {
48479
48430
  if (isNaN(value)) return 0;
48480
48431
  if (typeof value === 'number') {
@@ -48492,6 +48443,17 @@ var useNumberFormat = function useNumberFormat(props) {
48492
48443
  }
48493
48444
  return num;
48494
48445
  };
48446
+ var onInnerChange = use_persist_fn(function (val) {
48447
+ setInternalInputValue(getStringValue(val));
48448
+ if (typeof val === 'string') {
48449
+ var num = parseFloat(val);
48450
+ if (isNaN(num)) return;
48451
+ onChange === null || onChange === void 0 || onChange(num);
48452
+ } else {
48453
+ onChange === null || onChange === void 0 || onChange(val);
48454
+ }
48455
+ ;
48456
+ });
48495
48457
  var onNumberBlur = use_persist_fn(function (e) {
48496
48458
  var target = e.target;
48497
48459
  var newValue = target.value;
@@ -48502,7 +48464,7 @@ var useNumberFormat = function useNumberFormat(props) {
48502
48464
  return;
48503
48465
  }
48504
48466
  if (newValue === '' && allowNull) {
48505
- onChange === null || onChange === void 0 || onChange(null);
48467
+ onInnerChange(null);
48506
48468
  onBlur === null || onBlur === void 0 || onBlur(e);
48507
48469
  return;
48508
48470
  }
@@ -48517,15 +48479,18 @@ var useNumberFormat = function useNumberFormat(props) {
48517
48479
  num = parseFloat(num.toFixed(digits));
48518
48480
  }
48519
48481
  num = commonFormat(num);
48482
+
48483
+ // 失焦时,将非法值转换为合法值
48484
+ setInternalInputValue(getStringValue(num));
48520
48485
  if (num !== value) {
48521
48486
  target.value = typeof num === 'number' ? String(num) : '';
48522
- if (!cancelBlurChange) onChange === null || onChange === void 0 || onChange(num);
48487
+ if (!cancelBlurChange) onInnerChange(num);
48523
48488
  }
48524
48489
  onBlur === null || onBlur === void 0 || onBlur(e);
48525
48490
  });
48526
48491
  var onNumberChange = use_persist_fn(function (value) {
48527
48492
  var result = value;
48528
- onChange === null || onChange === void 0 || onChange(result);
48493
+ onInnerChange(result);
48529
48494
  });
48530
48495
  var changeValue = function changeValue(mod) {
48531
48496
  var num = getNumberValue(props.value);
@@ -48551,7 +48516,7 @@ var useNumberFormat = function useNumberFormat(props) {
48551
48516
  changeValue(-step);
48552
48517
  });
48553
48518
  return objectSpread2_default()(objectSpread2_default()({}, use_input_format({
48554
- value: getStringValue(props.value),
48519
+ value: inernalInputValue,
48555
48520
  type: 'number',
48556
48521
  numType: numType,
48557
48522
  integerLimit: integerLimit,
@@ -57005,7 +56970,7 @@ var useTableVirtual = function useTableVirtual(props) {
57005
56970
  updateIndexAndTopFromTop(scrollTop);
57006
56971
  }
57007
56972
  };
57008
- var scrollToIndex = usePersistFn(function (index) {
56973
+ var scrollToIndex = usePersistFn(function (index, callback) {
57009
56974
  if (props.disabled) return;
57010
56975
  if (props.scrollRef.current) {
57011
56976
  context.shouldUpdateHeight = true;
@@ -57016,6 +56981,9 @@ var useTableVirtual = function useTableVirtual(props) {
57016
56981
  if (beforeHeight2 !== beforeHeight) {
57017
56982
  scrollToIndex(index);
57018
56983
  }
56984
+ if (callback && typeof callback === 'function') {
56985
+ callback();
56986
+ }
57019
56987
  };
57020
56988
  props.scrollRef.current.scrollTop = beforeHeight;
57021
56989
  }
@@ -59234,6 +59202,31 @@ var TabsHeader = function TabsHeader(props) {
59234
59202
  var single = isRtl && !isVertical ? -1 : 1;
59235
59203
  setTransform(delta + headerRef.current.clientWidth * single);
59236
59204
  };
59205
+ var renderHeaderScrollBar = function renderHeaderScrollBar() {
59206
+ if (shape !== 'line' && shape !== 'dash') return;
59207
+ var currentTab = tabRef.current[active];
59208
+ if (!currentTab) return;
59209
+ var currentTabRect = currentTab.getBoundingClientRect();
59210
+ var scrollBarStyle = isVertical ? {
59211
+ right: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('left') ? 0 : 'auto',
59212
+ left: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('right') ? 0 : 'auto',
59213
+ top: currentTab.offsetTop + currentTabRect.height / 2,
59214
+ height: shape === 'line' ? currentTabRect.height : 24,
59215
+ width: 2,
59216
+ transform: 'translateY(-50%)'
59217
+ } : {
59218
+ bottom: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('top') ? 0 : 'auto',
59219
+ top: getPosition !== null && getPosition !== void 0 && getPosition.startsWith('bottom') ? 0 : 'auto',
59220
+ left: currentTab.offsetLeft + currentTabRect.width / 2,
59221
+ width: shape === 'line' ? currentTabRect.width : 24,
59222
+ height: 2,
59223
+ transform: 'translateX(-50%)'
59224
+ };
59225
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
59226
+ className: headerStyle.headerScrollBar,
59227
+ style: scrollBarStyle
59228
+ });
59229
+ };
59237
59230
  var renderTab = function renderTab() {
59238
59231
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
59239
59232
  ref: headerRef,
@@ -59248,11 +59241,7 @@ var TabsHeader = function TabsHeader(props) {
59248
59241
  button: buttonStyle
59249
59242
  },
59250
59243
  children: tabs.map(function (tab, index) {
59251
- return /*#__PURE__*/(0,jsx_runtime.jsx)(tabs_tab, objectSpread2_default()(objectSpread2_default()({}, tab), {}, {
59252
- ref: function ref(node) {
59253
- tabRef.current[tab.id] = node;
59254
- }
59255
- }), index);
59244
+ return /*#__PURE__*/(0,jsx_runtime.jsx)(tabs_tab, objectSpread2_default()({}, tab), index);
59256
59245
  })
59257
59246
  }), shape !== 'button' && tabs.map(function (tab, index) {
59258
59247
  return /*#__PURE__*/(0,jsx_runtime.jsx)(tabs_tab, objectSpread2_default()(objectSpread2_default()({}, tab), {}, {
@@ -59260,7 +59249,7 @@ var TabsHeader = function TabsHeader(props) {
59260
59249
  tabRef.current[tab.id] = node;
59261
59250
  }
59262
59251
  }), index);
59263
- })]
59252
+ }), renderHeaderScrollBar()]
59264
59253
  })
59265
59254
  });
59266
59255
  };
@@ -59835,12 +59824,15 @@ var useTransfer = function useTransfer(props) {
59835
59824
  _useState4 = slicedToArray_default()(_useState3, 2),
59836
59825
  filterTargetText = _useState4[0],
59837
59826
  setFilterTargetText = _useState4[1];
59827
+ var handleSelectedChange = function handleSelectedChange(_value, source, target) {
59828
+ onSelectChangeProp === null || onSelectChangeProp === void 0 || onSelectChangeProp(source, target);
59829
+ };
59838
59830
  var _useInputAble = useInputAble({
59839
59831
  value: selectValue,
59840
59832
  defaultValue: defaultSelectValue,
59841
59833
  control: selectControl,
59842
59834
  beforeChange: undefined,
59843
- onChange: onSelectChangeProp
59835
+ onChange: handleSelectedChange
59844
59836
  }),
59845
59837
  selectedKeys = _useInputAble.value,
59846
59838
  onSelectChange = _useInputAble.onChange;
@@ -59897,24 +59889,12 @@ var useTransfer = function useTransfer(props) {
59897
59889
  return keygen;
59898
59890
  };
59899
59891
  var handleSourceSelectedChange = function handleSourceSelectedChange(value) {
59900
- if (selectControl) {
59901
- // 受控情况下整合工作交给用户处理
59902
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(value, targetSelectedKeys);
59903
- } else {
59904
- // 非受控内部直接整合 source target
59905
- var next = [].concat(toConsumableArray_default()(value), toConsumableArray_default()(targetSelectedKeys));
59906
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(next);
59907
- }
59892
+ var next = [].concat(toConsumableArray_default()(value), toConsumableArray_default()(targetSelectedKeys));
59893
+ onSelectChange === null || onSelectChange === void 0 || onSelectChange(next, value, targetSelectedKeys);
59908
59894
  };
59909
59895
  var handleTargetSelectedChange = function handleTargetSelectedChange(value) {
59910
- if (selectControl) {
59911
- // 受控情况下整合工作交给用户处理
59912
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(sourceSelectedKeys, value);
59913
- } else {
59914
- // 非受控内部直接整合 source target
59915
- var next = [].concat(toConsumableArray_default()(sourceSelectedKeys), toConsumableArray_default()(value));
59916
- onSelectChange === null || onSelectChange === void 0 || onSelectChange(next);
59917
- }
59896
+ var next = [].concat(toConsumableArray_default()(sourceSelectedKeys), toConsumableArray_default()(value));
59897
+ onSelectChange === null || onSelectChange === void 0 || onSelectChange(next, sourceSelectedKeys, value);
59918
59898
  };
59919
59899
  var sourceDatum = use_list_select_multiple({
59920
59900
  value: sourceSelectedKeys,
@@ -64882,7 +64862,7 @@ var upload_interface = __webpack_require__(8821);
64882
64862
 
64883
64863
 
64884
64864
  /* harmony default export */ var src_0 = ({
64885
- version: '3.4.0-beta.7'
64865
+ version: '3.4.0-beta.8'
64886
64866
  });
64887
64867
  }();
64888
64868
  /******/ return __webpack_exports__;