uiw 4.13.7 → 4.13.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/dist/uiw.css CHANGED
@@ -624,7 +624,7 @@
624
624
  }
625
625
 
626
626
  .w-modal {
627
- z-index: 990;
627
+ z-index: 1001;
628
628
  }
629
629
  .w-modal-inner {
630
630
  padding-bottom: 20px;
@@ -2717,6 +2717,10 @@ sup.w-badge-count {
2717
2717
  color: #dc3545;
2718
2718
  }
2719
2719
  .w-form-item-error .w-input-inner,
2720
+ .w-form-item-error .w-select,
2721
+ .w-form-item-error .w-select-default,
2722
+ .w-form-item-error .w-select:hover,
2723
+ .w-form-item-error .w-select-default:hover,
2720
2724
  .w-form-item-error .w-input-inner:hover,
2721
2725
  .w-form-item-error .w-input-inner:focus.w-input-inner:hover,
2722
2726
  .w-form-item-error .w-textarea,
@@ -4641,10 +4645,19 @@ a.w-list-item:hover:not(.w-disabled) {
4641
4645
 
4642
4646
  .w-tabs-bar {
4643
4647
  position: relative;
4648
+ overflow-x: auto;
4649
+ height: calc(100% + 17px);
4644
4650
  }
4645
4651
  .w-tabs-nav {
4646
4652
  position: relative;
4647
4653
  }
4654
+ .w-tabs-nav-hidden {
4655
+ display: flex;
4656
+ overflow-x: scroll;
4657
+ padding: 5px 30px 5px 5px;
4658
+ max-height: 200px;
4659
+ flex-direction: column;
4660
+ }
4648
4661
  .w-tabs-item {
4649
4662
  padding: 7px 10px;
4650
4663
  display: inline-block;
@@ -4667,6 +4680,12 @@ a.w-list-item:hover:not(.w-disabled) {
4667
4680
  user-select: none;
4668
4681
  color: rgba(0, 0, 0, 0.25);
4669
4682
  }
4683
+ .w-tabs-flow-content {
4684
+ margin-left: 5px;
4685
+ padding: 0px 10px 0px 10px;
4686
+ box-shadow: 1px 0px 0px #d9d9d9 inset;
4687
+ cursor: pointer;
4688
+ }
4670
4689
  .w-tabs-card .w-tabs-nav::after,
4671
4690
  .w-tabs-line .w-tabs-nav::after {
4672
4691
  content: '';
@@ -4771,6 +4790,7 @@ a.w-list-item:hover:not(.w-disabled) {
4771
4790
  background-color: rgba(0, 0, 0, 0.75);
4772
4791
  border-radius: 4px;
4773
4792
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
4793
+ word-break: break-all;
4774
4794
  }
4775
4795
  .w-tooltip.right .w-tooltip-arrow,
4776
4796
  .w-tooltip.rightTop .w-tooltip-arrow,
package/dist/uiw.js CHANGED
@@ -2814,7 +2814,7 @@ var normalizeDelay = delay => delay && typeof delay === 'object' ? delay : {
2814
2814
  } = props,
2815
2815
  other = _objectWithoutPropertiesLoose(props, react_overlay_trigger_esm_excluded);
2816
2816
 
2817
- var zIndex = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(990);
2817
+ var zIndex = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(999);
2818
2818
  var triggerRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)();
2819
2819
  var popupRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)();
2820
2820
  var timeoutRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)([]);
@@ -9183,8 +9183,11 @@ var react_tabs_esm_excluded = ["prefixCls", "className", "children", "type", "ac
9183
9183
 
9184
9184
 
9185
9185
 
9186
+
9186
9187
  Tabs.Pane = Pane;
9187
9188
  function Tabs(props) {
9189
+ var _flowNav$nav;
9190
+
9188
9191
  var {
9189
9192
  prefixCls = 'w-tabs',
9190
9193
  className,
@@ -9201,6 +9204,71 @@ function Tabs(props) {
9201
9204
  });
9202
9205
  var activeItem = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)();
9203
9206
  var cls = [prefixCls, className, type ? prefixCls + "-" + type : null].filter(Boolean).join(' ').trim();
9207
+ var [flowNav, flowNavSet] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)({
9208
+ content: 0,
9209
+ nav: [],
9210
+ flowLeft: -1,
9211
+ displayStart: 0,
9212
+ displayEnd: 0
9213
+ });
9214
+ var [hiddenNav, hiddenNavSet] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)([]);
9215
+ var deviation = 15;
9216
+ var [nodes, nodesSet] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)();
9217
+ var divContentRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(node => {
9218
+ if (node !== null) {
9219
+ nodesSet(nodes);
9220
+ node.addEventListener('scroll', e => {
9221
+ var {
9222
+ clientWidth,
9223
+ scrollLeft
9224
+ } = e.target;
9225
+ flowNav.displayStart = scrollLeft;
9226
+ flowNav.displayEnd = clientWidth + scrollLeft;
9227
+ flowNavSet(_extends({}, flowNav));
9228
+ });
9229
+ flowNav.displayEnd = node.getBoundingClientRect().width;
9230
+ flowNavSet(_extends({}, flowNav));
9231
+ }
9232
+ }, []);
9233
+ var divNavRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)((node, key) => {
9234
+ if (node !== null) {
9235
+ node.addEventListener('click', e => {
9236
+ activeItem.current = node;
9237
+ });
9238
+ divNavWidthChange(node.getBoundingClientRect().width, key);
9239
+ }
9240
+ }, []);
9241
+
9242
+ var divNavWidthChange = (width, index) => {
9243
+ var curWidth = 0;
9244
+ flowNav.nav.slice(0, index + 1).forEach(nav => curWidth += nav.width);
9245
+ flowNav.nav[index] = {
9246
+ width,
9247
+ curWidth: Math.floor(curWidth),
9248
+ index
9249
+ };
9250
+ flowNavSet(flowNav);
9251
+ };
9252
+
9253
+ (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => {
9254
+ showHideenNav();
9255
+ }, [flowNav.displayEnd > ((_flowNav$nav = flowNav.nav[flowNav.nav.length - 1]) == null ? void 0 : _flowNav$nav.curWidth)]);
9256
+
9257
+ var showHideenNav = () => {
9258
+ var hiddenNav = [];
9259
+
9260
+ if (flowNav.nav.length > 0) {
9261
+ flowNav.nav.forEach(item => {
9262
+ var curWidth = item.curWidth - deviation;
9263
+
9264
+ if (curWidth < flowNav.displayStart || curWidth > flowNav.displayEnd) {
9265
+ hiddenNav.push(item.index);
9266
+ }
9267
+ });
9268
+ hiddenNavSet(hiddenNav);
9269
+ }
9270
+ };
9271
+
9204
9272
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => setActiveKey(props.activeKey), [props.activeKey]);
9205
9273
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => calcSlideStyle(), [activeKey]);
9206
9274
 
@@ -9217,38 +9285,42 @@ function Tabs(props) {
9217
9285
  className: cls
9218
9286
  }, elementProps, {
9219
9287
  children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
9220
- className: prefixCls + "-bar",
9288
+ style: {
9289
+ display: 'flex'
9290
+ },
9221
9291
  children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
9222
- className: prefixCls + "-nav",
9223
- children: external_root_React_commonjs2_react_commonjs_react_amd_react_default().Children.map(children, (item, key) => {
9224
- if (!item) {
9225
- return null;
9226
- }
9227
-
9228
- var divProps = {
9229
- className: [prefixCls + "-item", item.key === activeKey ? 'active' : null, item.props.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim(),
9230
- children: item.props.label
9231
- };
9232
-
9233
- if (!item.props.disabled) {
9234
- divProps.onClick = e => {
9235
- setActiveKey(item.key);
9236
- onTabClick && onTabClick(item.key, item, e);
9237
- calcSlideStyle();
9238
- };
9239
- }
9240
-
9241
- return /*#__PURE__*/(0,jsx_runtime.jsx)("div", _extends({
9242
- ref: node => {
9243
- if (node && item.key === activeKey) {
9244
- activeItem.current = node;
9245
- }
9246
- }
9247
- }, divProps), key);
9292
+ style: {
9293
+ overflow: 'hidden'
9294
+ },
9295
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
9296
+ className: prefixCls + "-bar",
9297
+ ref: divContentRef,
9298
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
9299
+ className: prefixCls + "-nav",
9300
+ style: {
9301
+ width: 'max-content'
9302
+ },
9303
+ children: renderNav(children)
9304
+ })
9248
9305
  })
9249
9306
  }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
9250
9307
  style: slideStyle,
9251
9308
  className: prefixCls + "-slide"
9309
+ }), hiddenNav.length > 0 && /*#__PURE__*/(0,jsx_runtime.jsx)(Popover, {
9310
+ trigger: "click",
9311
+ placement: "bottomRight",
9312
+ visibleArrow: false,
9313
+ content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
9314
+ className: prefixCls + "-nav-hidden",
9315
+ children: renderNav(hiddenNav.map(idx => children[idx]))
9316
+ }),
9317
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
9318
+ onClick: showHideenNav,
9319
+ className: prefixCls + "-flow-content",
9320
+ children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
9321
+ children: "\u2026"
9322
+ })
9323
+ })
9252
9324
  })]
9253
9325
  }), external_root_React_commonjs2_react_commonjs_react_amd_react_default().Children.map(children, item => {
9254
9326
  if (!item || activeKey !== item.key) {
@@ -9258,6 +9330,31 @@ function Tabs(props) {
9258
9330
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().cloneElement(item, Object.assign({}, item.props, {}));
9259
9331
  })]
9260
9332
  }));
9333
+
9334
+ function renderNav(children) {
9335
+ return external_root_React_commonjs2_react_commonjs_react_amd_react_default().Children.map(children, (item, key) => {
9336
+ if (!item) {
9337
+ return null;
9338
+ }
9339
+
9340
+ var divProps = {
9341
+ className: [prefixCls + "-item", item.key === activeKey ? 'active' : null, item.props.disabled ? 'disabled' : null].filter(Boolean).join(' ').trim(),
9342
+ children: item.props.label
9343
+ };
9344
+
9345
+ if (!item.props.disabled) {
9346
+ divProps.onClick = e => {
9347
+ setActiveKey(item.key);
9348
+ onTabClick && onTabClick(item.key, item, e);
9349
+ calcSlideStyle();
9350
+ };
9351
+ }
9352
+
9353
+ return /*#__PURE__*/(0,jsx_runtime.jsx)("div", _extends({
9354
+ ref: _ref => divNavRef(_ref, key)
9355
+ }, divProps), key);
9356
+ });
9357
+ }
9261
9358
  }
9262
9359
 
9263
9360
  ;// CONCATENATED MODULE: ../react-textarea/esm/style/index.css
@@ -9476,7 +9573,7 @@ function TreeNode(props) {
9476
9573
  ;// CONCATENATED MODULE: ../react-tree/esm/index.js
9477
9574
 
9478
9575
 
9479
- var react_tree_esm_excluded = ["prefixCls", "icon", "data", "openKeys", "selectedKeys", "defaultExpandAll", "showLine", "iconAnimation", "isSelected", "checkStrictly", "multiple", "onExpand", "onSelected", "className", "autoExpandParent", "renderTitle", "onChange"];
9576
+ var react_tree_esm_excluded = ["prefixCls", "icon", "data", "openKeys", "selectedKeys", "defaultExpandAll", "showLine", "iconAnimation", "isSelected", "checkStrictly", "multiple", "onExpand", "onSelected", "className", "autoExpandParent", "renderTitle", "onChange", "value"];
9480
9577
 
9481
9578
 
9482
9579
 
@@ -9592,20 +9689,16 @@ function Tree(props) {
9592
9689
  className,
9593
9690
  autoExpandParent = true,
9594
9691
  renderTitle,
9595
- onChange
9692
+ onChange,
9693
+ value
9596
9694
  } = props,
9597
9695
  elementProps = _objectWithoutPropertiesLoose(props, react_tree_esm_excluded);
9598
9696
 
9599
9697
  var [curOpenKeys, setCurOpenKeys] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(openKeys);
9600
- var [curSelectedKeys, setCurSelectedKeys] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(props.value || selectedKeys);
9698
+ var [curSelectedKeys, setCurSelectedKeys] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(value || selectedKeys);
9601
9699
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => {
9602
- setCurSelectedKeys(props.selectedKeys || []);
9603
- }, [JSON.stringify(props.selectedKeys)]);
9604
- (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => {
9605
- setCurSelectedKeys(props.value || []);
9606
- }, [JSON.stringify(props.value)]); // useEffect(() => setCurOpenKeys(openKeys), [openKeys]);
9607
- // useEffect(() => setCurSelectedKeys(selectedKeys), [selectedKeys]);
9608
-
9700
+ setCurSelectedKeys(props.value || props.selectedKeys || []);
9701
+ }, [JSON.stringify(props.selectedKeys), JSON.stringify(props.value)]);
9609
9702
  (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => {
9610
9703
  var arrOpenKeys = [...curOpenKeys];
9611
9704
 
@@ -9650,7 +9743,7 @@ function Tree(props) {
9650
9743
  var findKey = selKeys.find(v => v === item.key);
9651
9744
  var selected = false;
9652
9745
 
9653
- if (!findKey) {
9746
+ if (!findKey && findKey !== 0) {
9654
9747
  selected = true;
9655
9748
  selKeys.push(item.key);
9656
9749
  } else {
@@ -9750,7 +9843,7 @@ function TreeChecked(_ref) {
9750
9843
  ;// CONCATENATED MODULE: ../react-search-tree/esm/SearchTagInput.js
9751
9844
 
9752
9845
 
9753
- var SearchTagInput_excluded = ["prefixCls", "mode", "size", "disabled", "allowClear", "loading", "className", "style", "placeholder", "content", "options", "values", "onChange", "onSearch", "emptyOption"];
9846
+ var SearchTagInput_excluded = ["prefixCls", "mode", "size", "disabled", "allowClear", "loading", "selectCloseDrop", "className", "style", "placeholder", "content", "options", "values", "onChange", "onSearch", "emptyOption"];
9754
9847
 
9755
9848
 
9756
9849
 
@@ -9770,6 +9863,7 @@ function SearchTagInput(props) {
9770
9863
  disabled = false,
9771
9864
  allowClear = false,
9772
9865
  loading = false,
9866
+ selectCloseDrop = false,
9773
9867
  className,
9774
9868
  style,
9775
9869
  placeholder,
@@ -9806,7 +9900,8 @@ function SearchTagInput(props) {
9806
9900
  }
9807
9901
 
9808
9902
  setSelectedOption(selectedAll);
9809
- onChange && onChange(selectedAll, selectd, isChecked);
9903
+ searchValueChange('');
9904
+ onChange == null ? void 0 : onChange(selectedAll, selectd, isChecked);
9810
9905
  };
9811
9906
 
9812
9907
  var removeSelectItem = index => {
@@ -9817,10 +9912,15 @@ function SearchTagInput(props) {
9817
9912
  };
9818
9913
 
9819
9914
  function handleInputChange(value) {
9915
+ setInnerIsOpen(true);
9916
+ searchValueChange(value);
9917
+ setSelectIconType(value ? 'loading' : '');
9918
+ }
9919
+
9920
+ var searchValueChange = value => {
9820
9921
  searchValueSet(value);
9821
9922
  onSearch == null ? void 0 : onSearch(value);
9822
- setSelectIconType(value ? 'loading' : '');
9823
- } // 清除选中的值
9923
+ }; // 清除选中的值
9824
9924
 
9825
9925
 
9826
9926
  function resetSelectedValue(e) {
@@ -9848,17 +9948,27 @@ function SearchTagInput(props) {
9848
9948
  }
9849
9949
 
9850
9950
  var newProps = _extends({}, content.props, {
9851
- onSelected: handleSelectChange,
9951
+ onSelected: function onSelected(selectedAll, selectd, isChecked) {
9952
+ if (isChecked === void 0) {
9953
+ isChecked = true;
9954
+ }
9955
+
9956
+ setInnerIsOpen(!selectCloseDrop);
9957
+ handleSelectChange(selectedAll, selectd, isChecked);
9958
+ },
9852
9959
  values: selectedOption,
9853
9960
  options
9854
9961
  });
9855
9962
 
9856
9963
  return /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().cloneElement(content, newProps);
9857
- }, [JSON.parse(JSON.stringify(selectedOption)), options, emptyOption]);
9858
- return /*#__PURE__*/(0,jsx_runtime.jsx)(Dropdown, _extends({
9964
+ }, [JSON.stringify(selectedOption), options, emptyOption]);
9965
+ return /*#__PURE__*/(0,jsx_runtime.jsx)(Dropdown, {
9859
9966
  className: cls,
9860
- trigger: "focus"
9861
- }, others, {
9967
+ trigger: "click",
9968
+ onVisibleChange: isOpen => {
9969
+ setInnerIsOpen(isOpen);
9970
+ if (!isOpen) searchValueChange('');
9971
+ },
9862
9972
  isOpen: innerIsOpen,
9863
9973
  menu: /*#__PURE__*/(0,jsx_runtime.jsx)(react_card_esm, {
9864
9974
  bodyStyle: emptyOption === true ? {
@@ -9931,7 +10041,7 @@ function SearchTagInput(props) {
9931
10041
  })]
9932
10042
  })
9933
10043
  })
9934
- }));
10044
+ });
9935
10045
  }
9936
10046
 
9937
10047
  /* harmony default export */ const esm_SearchTagInput = (SearchTagInput);
@@ -10036,7 +10146,7 @@ function SingeTree(props) {
10036
10146
  key,
10037
10147
  label
10038
10148
  };
10039
- props.onSelected == null ? void 0 : props.onSelected([cur], cur, isChecked);
10149
+ props.onSelected == null ? void 0 : props.onSelected(isChecked ? [cur] : [], cur, isChecked);
10040
10150
  };
10041
10151
 
10042
10152
  return /*#__PURE__*/(0,jsx_runtime.jsx)(Tree, _extends({
@@ -10115,7 +10225,8 @@ function SearchTree(props) {
10115
10225
 
10116
10226
  return /*#__PURE__*/(0,jsx_runtime.jsx)(esm_SearchTagInput, _extends({}, other, {
10117
10227
  emptyOption: isEmpty,
10118
- onSearch: debounce(selectedSearch, 600),
10228
+ selectCloseDrop: !multiple,
10229
+ onSearch: selectedSearch,
10119
10230
  onChange: selectedChange,
10120
10231
  values: selectedValues,
10121
10232
  options: selectedOptions,