@nutui/nutui-react-taro 2.5.0 → 2.5.1

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 (57) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +5 -5
  3. package/dist/esm/Address/style/style.css +1 -1
  4. package/dist/esm/Address.js +1 -1
  5. package/dist/esm/Cascader/style/style.css +1 -1
  6. package/dist/esm/Cascader.js +1 -1
  7. package/dist/esm/DatePicker.js +1 -1
  8. package/dist/esm/Ellipsis/style/style.css +1 -1
  9. package/dist/esm/Ellipsis.js +1 -1
  10. package/dist/esm/Form/style/style.css +1 -1
  11. package/dist/esm/FormItem/style/style.css +1 -1
  12. package/dist/esm/Input.js +1 -1
  13. package/dist/esm/Popover/style/style.css +1 -1
  14. package/dist/esm/Popover.js +1 -1
  15. package/dist/esm/Progress.js +1 -1
  16. package/dist/esm/Tabs/style/style.css +1 -1
  17. package/dist/esm/Tabs.js +1 -1
  18. package/dist/esm/Tour/style/style.css +1 -1
  19. package/dist/esm/Tour.js +1 -1
  20. package/dist/esm/Uploader.js +1 -1
  21. package/dist/esm/{address.taro-CipZMqK4.js → address.taro-CQmN9x1W.js} +1 -1
  22. package/dist/esm/{cascader.taro-AZEBpBH3.js → cascader.taro-7Xhq98L4.js} +1 -1
  23. package/dist/esm/{datepicker.taro-DqR52Ivo.js → datepicker.taro-FiLalMAA.js} +14 -3
  24. package/dist/esm/{ellipsis.taro-cNaaQFyW.js → ellipsis.taro-uVc3En9l.js} +17 -8
  25. package/dist/esm/{input.taro-BVC8gEuk.js → input.taro-Dh6zXTLQ.js} +10 -3
  26. package/dist/esm/nutui-react.es.js +10 -10
  27. package/dist/esm/{popover.taro-BsOaXoWp.js → popover.taro-BG0msyw5.js} +17 -10
  28. package/dist/esm/progress.taro-rjiPI6mD.js +120 -0
  29. package/dist/esm/{tabs.taro-BxPmx5n5.js → tabs.taro-A7pOK9IM.js} +4 -20
  30. package/dist/esm/{tour.taro-wfXuUebD.js → tour.taro-BqlNfxdD.js} +1 -1
  31. package/dist/esm/{uploader.taro-Bs-cboSU.js → uploader.taro-DMmTl0Cp.js} +1 -1
  32. package/dist/esm/use-uuid-BvqmbYZ7.js +19 -0
  33. package/dist/locales/base.js +1 -1
  34. package/dist/locales/en-US.js +1 -1
  35. package/dist/locales/id-ID.js +1 -1
  36. package/dist/locales/tr-TR.js +1 -1
  37. package/dist/locales/zh-CN.js +1 -1
  38. package/dist/locales/zh-TW.js +1 -1
  39. package/dist/locales/zh-UG.js +1 -1
  40. package/dist/nutui.react.es.js +159 -54
  41. package/dist/nutui.react.umd.js +159 -54
  42. package/dist/packages/ellipsis/ellipsis.scss +1 -1
  43. package/dist/packages/form/form.scss +4 -2
  44. package/dist/packages/formitem/formitem.scss +19 -0
  45. package/dist/packages/popover/popover.scss +0 -23
  46. package/dist/packages/tabs/tabs.scss +16 -21
  47. package/dist/style.css +1 -1
  48. package/dist/style.mjs +1 -1
  49. package/dist/styles/variables-jmapp.scss +0 -1
  50. package/dist/styles/variables.scss +4 -8
  51. package/dist/types/packages/calendar/calendar.d.ts +1 -5
  52. package/dist/types/packages/calendar/calendar.taro.d.ts +1 -5
  53. package/dist/types/packages/calendar/types.d.ts +3 -0
  54. package/dist/types/packages/configprovider/types.d.ts +1 -1
  55. package/dist/types/packages/progress/progress.taro.d.ts +5 -0
  56. package/package.json +2 -2
  57. package/dist/esm/progress.taro-BOHykt7X.js +0 -60
@@ -2,7 +2,7 @@
2
2
  typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react"), require("@tarojs/taro"), require("@tarojs/components"), require("react-dom")) : typeof define === "function" && define.amd ? define(["exports", "react", "@tarojs/taro", "@tarojs/components", "react-dom"], factory) : (global2 = typeof globalThis !== "undefined" ? globalThis : global2 || self, factory((global2.nutui = global2.nutui || {}, global2.nutui.react = {}), global2.React, global2.Taro, global2.components, global2.ReactDOM));
3
3
  })(this, function(exports2, React, Taro, components, ReactDOM) {
4
4
  "use strict";/*!
5
- * @nutui/nutui-react-taro v2.5.0 Fri Mar 22 2024 19:33:37 GMT+0800 (China Standard Time)
5
+ * @nutui/nutui-react-taro v2.5.1 Fri Mar 29 2024 16:12:06 GMT+0800 (China Standard Time)
6
6
  * (c) 2023 @jdf2e.
7
7
  * Released under the MIT License.
8
8
  */
@@ -5340,18 +5340,10 @@
5340
5340
  return;
5341
5341
  let to = 0;
5342
5342
  if (props.direction === "vertical") {
5343
- const DEFAULT_PADDING = 11;
5344
- const top = titleRects.slice(0, index).reduce(
5345
- (prev, curr) => prev + curr.height,
5346
- DEFAULT_PADDING
5347
- );
5343
+ const top = titleRects.slice(0, index).reduce((prev, curr) => prev + curr.height, 0);
5348
5344
  to = top - (navRectRef.current.height - titleRect.height) / 2;
5349
5345
  } else {
5350
- const DEFAULT_PADDING = 20;
5351
- const left2 = titleRects.slice(0, index).reduce(
5352
- (prev, curr) => prev + curr.width,
5353
- DEFAULT_PADDING
5354
- );
5346
+ const left2 = titleRects.slice(0, index).reduce((prev, curr) => prev + curr.width, 0);
5355
5347
  to = left2 - (navRectRef.current.width - titleRect.width) / 2;
5356
5348
  to = rtl ? -to : to;
5357
5349
  }
@@ -8615,8 +8607,12 @@
8615
8607
  return result;
8616
8608
  }
8617
8609
  };
8618
- const handlePickerChange = (selectedOptions, selectedValue, index) => {
8610
+ const compareDateChange = (currentDate, newDate) => {
8619
8611
  var _a;
8612
+ const isEqual = ((_a = new Date(currentDate)) == null ? void 0 : _a.getTime()) === (newDate == null ? void 0 : newDate.getTime());
8613
+ newDate && isDate(newDate) && !isEqual && setSelectedDate(formatValue(newDate));
8614
+ };
8615
+ const handlePickerChange = (selectedOptions, selectedValue, index) => {
8620
8616
  const rangeType = type2.toLocaleLowerCase();
8621
8617
  if (["date", "datetime", "datehour", "month-day", "year-month"].includes(
8622
8618
  rangeType
@@ -8655,8 +8651,22 @@
8655
8651
  } else if (rangeType === "datehour") {
8656
8652
  date2 = new Date(year, month, day, Number(formatDate[3]));
8657
8653
  }
8658
- const isEqual = ((_a = new Date(selectedDate)) == null ? void 0 : _a.getTime()) === (date2 == null ? void 0 : date2.getTime());
8659
- date2 && isDate(date2) && !isEqual && setSelectedDate(formatValue(date2));
8654
+ compareDateChange(selectedDate, date2);
8655
+ } else {
8656
+ const [hour, minute, seconds] = selectedValue;
8657
+ const currentDate = new Date(selectedDate);
8658
+ const year = currentDate.getFullYear();
8659
+ const month = currentDate.getMonth();
8660
+ const day = currentDate.getDate();
8661
+ const date2 = new Date(
8662
+ year,
8663
+ month,
8664
+ day,
8665
+ Number(hour),
8666
+ Number(minute),
8667
+ rangeType === "time" ? Number(seconds) : 0
8668
+ );
8669
+ compareDateChange(selectedDate, date2);
8660
8670
  }
8661
8671
  props.onChange && props.onChange(selectedOptions, selectedValue, index);
8662
8672
  };
@@ -10295,6 +10305,7 @@
10295
10305
  };
10296
10306
  const Input = React.forwardRef(
10297
10307
  (props, ref) => {
10308
+ const rtl = useRtl();
10298
10309
  const { locale } = useConfig$1();
10299
10310
  const {
10300
10311
  type: type2,
@@ -10430,8 +10441,14 @@
10430
10441
  className: "nut-input-native",
10431
10442
  ref: inputRef,
10432
10443
  style: {
10433
- textAlign: `${// eslint-disable-next-line no-nested-ternary
10434
- align === "right" ? "end" : align === "left" ? "start" : "center"}`
10444
+ // eslint-disable-next-line no-nested-ternary
10445
+ textAlign: rtl ? (
10446
+ // eslint-disable-next-line no-nested-ternary
10447
+ align === "right" ? (
10448
+ // eslint-disable-next-line no-nested-ternary
10449
+ "left"
10450
+ ) : align === "left" ? "right" : "center"
10451
+ ) : align
10435
10452
  },
10436
10453
  type: inputType(type2),
10437
10454
  password: type2 === "password",
@@ -12646,6 +12663,7 @@
12646
12663
  percent: 0,
12647
12664
  showText: false,
12648
12665
  animated: false,
12666
+ lazy: false,
12649
12667
  delay: 0
12650
12668
  };
12651
12669
  const Progress = (props) => {
@@ -12660,6 +12678,7 @@
12660
12678
  showText,
12661
12679
  animated,
12662
12680
  children,
12681
+ lazy,
12663
12682
  delay,
12664
12683
  ...rest
12665
12684
  } = {
@@ -12680,10 +12699,7 @@
12680
12699
  width: `${displayPercent}%`,
12681
12700
  background: color
12682
12701
  };
12683
- React.useEffect(() => {
12684
- setDispalyPercent(percent);
12685
- }, [percent]);
12686
- React.useEffect(() => {
12702
+ const handlePercent = () => {
12687
12703
  let timer = null;
12688
12704
  if (delay) {
12689
12705
  setDispalyPercent(0);
@@ -12692,27 +12708,104 @@
12692
12708
  }, delay);
12693
12709
  }
12694
12710
  return () => {
12711
+ lazy && resetObserver(Taro.getEnv());
12695
12712
  timer && clearTimeout(timer);
12696
12713
  };
12714
+ };
12715
+ React.useEffect(() => {
12716
+ setDispalyPercent(percent);
12717
+ }, [percent]);
12718
+ const [intersecting, setIntersecting] = React.useState(false);
12719
+ const progressRef = React.useRef(null);
12720
+ const webObserver = React.useRef(null);
12721
+ const uuid = useUuid();
12722
+ const selector = `${classPrefix2}-lazy-${uuid}`;
12723
+ const resetObserver = (env, observer = null) => {
12724
+ if (env === "WEB") {
12725
+ webObserver.current.disconnect && webObserver.current.disconnect();
12726
+ } else {
12727
+ observer && observer.disconnect();
12728
+ }
12729
+ };
12730
+ React.useEffect(() => {
12731
+ if (lazy) {
12732
+ setTimeout(() => {
12733
+ if (intersecting) {
12734
+ setDispalyPercent(percent);
12735
+ } else {
12736
+ setDispalyPercent(0.01);
12737
+ }
12738
+ }, delay);
12739
+ }
12740
+ }, [intersecting]);
12741
+ const handleWebObserver = () => {
12742
+ if (lazy) {
12743
+ webObserver.current = new IntersectionObserver(
12744
+ (entires, self2) => {
12745
+ entires.forEach((item) => {
12746
+ setIntersecting(item.isIntersecting);
12747
+ });
12748
+ },
12749
+ {
12750
+ threshold: [0],
12751
+ rootMargin: "0px"
12752
+ }
12753
+ );
12754
+ webObserver.current.observe(progressRef.current);
12755
+ }
12756
+ handlePercent();
12757
+ };
12758
+ const handleOtherObserver = () => {
12759
+ let observer = null;
12760
+ if (lazy) {
12761
+ observer = Taro.createIntersectionObserver(
12762
+ Taro.getCurrentInstance().page,
12763
+ {
12764
+ thresholds: [0],
12765
+ observeAll: true
12766
+ }
12767
+ );
12768
+ observer.relativeToViewport({ top: 0 }).observe(`#${selector}`, (res) => {
12769
+ setIntersecting(res.intersectionRatio > 0);
12770
+ });
12771
+ }
12772
+ handlePercent();
12773
+ };
12774
+ React.useEffect(() => {
12775
+ if (Taro.getEnv() === "WEB") {
12776
+ handleWebObserver();
12777
+ } else {
12778
+ handleOtherObserver();
12779
+ }
12697
12780
  }, []);
12698
- return /* @__PURE__ */ React.createElement("div", { className: classNames(classPrefix2, className), style, ...rest }, /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}-outer`, style: stylesOuter }, /* @__PURE__ */ React.createElement("div", { className: classesInner, style: stylesInner }, showText && /* @__PURE__ */ React.createElement(
12781
+ return /* @__PURE__ */ React.createElement(
12699
12782
  "div",
12700
12783
  {
12701
- className: `${classPrefix2}-text`,
12702
- style: rtl ? { right: `${displayPercent}%` } : { left: `${displayPercent}%` }
12784
+ ref: progressRef,
12785
+ id: selector,
12786
+ className: classNames(classPrefix2, className),
12787
+ style,
12788
+ ...rest
12703
12789
  },
12704
- children || /* @__PURE__ */ React.createElement(
12790
+ /* @__PURE__ */ React.createElement("div", { className: `${classPrefix2}-outer`, style: stylesOuter }, /* @__PURE__ */ React.createElement("div", { className: classesInner, style: stylesInner }, showText && /* @__PURE__ */ React.createElement(
12705
12791
  "div",
12706
12792
  {
12707
- className: `${classPrefix2}-text-inner`,
12708
- style: {
12709
- background: color
12710
- }
12793
+ className: `${classPrefix2}-text`,
12794
+ style: rtl ? { right: `${displayPercent}%` } : { left: `${displayPercent}%` }
12711
12795
  },
12712
- percent,
12713
- "%"
12714
- )
12715
- ))));
12796
+ children || /* @__PURE__ */ React.createElement(
12797
+ "div",
12798
+ {
12799
+ className: `${classPrefix2}-text-inner`,
12800
+ style: {
12801
+ background: color
12802
+ }
12803
+ },
12804
+ percent,
12805
+ "%"
12806
+ )
12807
+ )))
12808
+ );
12716
12809
  };
12717
12810
  Progress.defaultProps = defaultProps$J;
12718
12811
  Progress.displayName = "NutProgress";
@@ -14408,6 +14501,7 @@
14408
14501
  };
14409
14502
  const classPrefix$c = `nut-popover`;
14410
14503
  const Popover = (props) => {
14504
+ const rtl = useRtl();
14411
14505
  const {
14412
14506
  children,
14413
14507
  list,
@@ -14462,9 +14556,9 @@
14462
14556
  setRootPosition({
14463
14557
  width: rect.width,
14464
14558
  height: rect.height,
14465
- left: rect.left,
14559
+ left: rtl ? rect.right : rect.left,
14466
14560
  top: rect.top + distance,
14467
- right: rect.right
14561
+ right: rtl ? rect.left : rect.right
14468
14562
  });
14469
14563
  }).exec();
14470
14564
  setTimeout(() => {
@@ -14518,15 +14612,17 @@
14518
14612
  let cross = 0;
14519
14613
  let parallel = 0;
14520
14614
  if (Array.isArray(offset) && offset.length === 2) {
14615
+ const rtloffset = rtl ? -offset[0] : offset[0];
14521
14616
  cross += +offset[1];
14522
- parallel += +offset[0];
14617
+ parallel += +rtloffset;
14523
14618
  }
14524
14619
  if (width) {
14620
+ const dir = rtl ? "right" : "left";
14525
14621
  if (["bottom", "top"].includes(direction)) {
14526
14622
  const h2 = direction === "bottom" ? height + cross : -(contentHeight + cross);
14527
14623
  styles.top = `${top + h2}px`;
14528
14624
  if (!skew) {
14529
- styles.left = `${-(contentWidth - width) / 2 + left2 + parallel}px`;
14625
+ styles[dir] = `${-(contentWidth - width) / 2 + rootPosition[dir] + parallel}px`;
14530
14626
  }
14531
14627
  if (skew === "start") {
14532
14628
  styles.left = `${left2 + parallel}px`;
@@ -14562,15 +14658,17 @@
14562
14658
  const skew = location.split("-")[1];
14563
14659
  const base = 16;
14564
14660
  if (props.arrowOffset !== 0) {
14661
+ const dir = rtl ? "right" : "left";
14662
+ const dir2 = rtl ? "left" : "right";
14565
14663
  if (["bottom", "top"].includes(direction)) {
14566
14664
  if (!skew) {
14567
- styles.left = `calc(50% + ${arrowOffset}px)`;
14665
+ styles[dir] = `calc(50% + ${arrowOffset}px)`;
14568
14666
  }
14569
14667
  if (skew === "start") {
14570
- styles.left = `${base + arrowOffset}px`;
14668
+ styles[dir] = `${base + arrowOffset}px`;
14571
14669
  }
14572
14670
  if (skew === "end") {
14573
- styles.right = `${base - arrowOffset}px`;
14671
+ styles[dir2] = `${base - arrowOffset}px`;
14574
14672
  }
14575
14673
  }
14576
14674
  if (["left", "right"].includes(direction)) {
@@ -14588,12 +14686,13 @@
14588
14686
  return styles;
14589
14687
  };
14590
14688
  const handleSelect = (item, index) => {
14689
+ var _a;
14591
14690
  if (!item.disabled) {
14592
- onSelect && onSelect(item, index);
14691
+ onSelect == null ? void 0 : onSelect(item, index);
14593
14692
  }
14594
14693
  if (closeOnActionClick) {
14595
- props.onClick && props.onClick();
14596
- onClose && onClose();
14694
+ (_a = props.onClick) == null ? void 0 : _a.call(props);
14695
+ onClose == null ? void 0 : onClose();
14597
14696
  }
14598
14697
  };
14599
14698
  return /* @__PURE__ */ React.createElement(React.Fragment, null, !targetId && /* @__PURE__ */ React.createElement(
@@ -16373,9 +16472,14 @@
16373
16472
  const digitReg = /^[0-9]+$/;
16374
16473
  const letterUpperReg = /^[A-Z]+$/;
16375
16474
  const letterLowerReg = /^[a-z]+$/;
16475
+ const rtl = useRtl();
16476
+ const rtlClasses = classNames({
16477
+ [`${classPrefix$6}-rtl`]: rtl
16478
+ });
16376
16479
  const classes = classNames(
16377
16480
  classPrefix$6,
16378
16481
  width ? `${classPrefix$6}-width` : "",
16482
+ rtlClasses,
16379
16483
  className
16380
16484
  );
16381
16485
  React.useEffect(() => {
@@ -16605,18 +16709,19 @@
16605
16709
  width: `${!Number.isNaN(Number(width)) ? `${width}px` : "auto"}`
16606
16710
  }
16607
16711
  },
16608
- content
16609
- ), expandText ? /* @__PURE__ */ React.createElement(
16610
- "span",
16611
- {
16612
- className: "nut-ellipsis-text",
16613
- onClick: (e2) => {
16614
- e2.stopPropagation();
16615
- clickHandle(2);
16616
- }
16617
- },
16618
- collapseText
16619
- ) : null) : null)
16712
+ content,
16713
+ expandText ? /* @__PURE__ */ React.createElement(
16714
+ "span",
16715
+ {
16716
+ className: "nut-ellipsis-text",
16717
+ onClick: (e2) => {
16718
+ e2.stopPropagation();
16719
+ clickHandle(2);
16720
+ }
16721
+ },
16722
+ collapseText
16723
+ ) : null
16724
+ )) : null)
16620
16725
  ), /* @__PURE__ */ React.createElement(
16621
16726
  components.View,
16622
16727
  {
@@ -4,7 +4,7 @@
4
4
  .nut-ellipsis-text {
5
5
  cursor: pointer;
6
6
  color: $ellipsis-expand-collapse-color;
7
- display: inline;
7
+ display: inline-block;
8
8
  }
9
9
 
10
10
  .nut-ellipsis-wordbreak {
@@ -1,6 +1,6 @@
1
1
 
2
2
  .form-layout-right .nut-form-item-label {
3
- text-align: end;
3
+ text-align: right;
4
4
  font-size: 14px;
5
5
  padding-right: 24px;
6
6
  white-space: nowrap;
@@ -8,7 +8,7 @@
8
8
 
9
9
  .form-layout-left .nut-form-item-label {
10
10
  position: relative;
11
- text-align: start;
11
+ text-align: left;
12
12
  font-size: 14px;
13
13
  padding-left: 12px;
14
14
  white-space: nowrap;
@@ -41,12 +41,14 @@
41
41
 
42
42
  [dir='rtl'] .form-layout-right .nut-form-item-label,
43
43
  .nut-rtl .form-layout-right .nut-form-item-label {
44
+ text-align: left;
44
45
  padding-right: 0;
45
46
  padding-left: 24px;
46
47
  }
47
48
 
48
49
  [dir='rtl'] .form-layout-left .nut-form-item-label,
49
50
  .nut-rtl .form-layout-left .nut-form-item-label {
51
+ text-align: right;
50
52
  padding-left: 0;
51
53
  padding-right: 12px;
52
54
 
@@ -78,6 +78,7 @@
78
78
  [dir='rtl'] .nut-form-item,
79
79
  .nut-rtl .nut-form-item {
80
80
  &-label {
81
+ text-align: right;
81
82
  margin-right: 0;
82
83
  margin-left: $form-item-label-margin-right;
83
84
 
@@ -88,4 +89,22 @@
88
89
  }
89
90
  }
90
91
  }
92
+ &-body {
93
+ &-slots {
94
+ text-align: right;
95
+ .nut-icon-ArrowRight,
96
+ .nut-icon-ArrowLeft {
97
+ transform: rotateY(180deg);
98
+ }
99
+ .nut-input-text {
100
+ text-align: right;
101
+ }
102
+ .nut-textarea-textarea {
103
+ text-align: right;
104
+ }
105
+ }
106
+ }
107
+ &-tips {
108
+ text-align: right;
109
+ }
91
110
  }
@@ -244,29 +244,6 @@
244
244
 
245
245
  [dir='rtl'] .nut-popover,
246
246
  .nut-rtl .nut-popover {
247
- &-arrow {
248
- &-left {
249
- right: auto;
250
- left: 0px;
251
- border-left-color: currentcolor;
252
- border-right-color: $popover-border-color;
253
- border-right-width: medium;
254
- border-left-width: 0;
255
- margin-right: 0;
256
- margin-left: -8px;
257
- }
258
-
259
- &-right {
260
- left: auto;
261
- right: 0px;
262
- border-right-color: currentcolor;
263
- border-left-color: $popover-border-color;
264
- border-left-width: medium;
265
- border-right-width: 0;
266
- margin-left: 0;
267
- margin-right: -8px;
268
- }
269
- }
270
247
  .nut-popover-content {
271
248
  .nut-popover-menu-item {
272
249
  &-name {
@@ -8,7 +8,6 @@
8
8
  display: flex;
9
9
  box-sizing: border-box;
10
10
  height: $tabs-titles-height;
11
- padding: $tabs-titles-padding;
12
11
  user-select: none;
13
12
  overflow: hidden;
14
13
  background: $tabs-titles-background-color;
@@ -29,14 +28,14 @@
29
28
  &-left {
30
29
  justify-content: flex-start;
31
30
  .nut-tabs-titles-item {
32
- padding: 0 10px;
31
+ padding: 0 22px;
33
32
  }
34
33
  }
35
34
 
36
35
  &-right {
37
36
  justify-content: flex-end;
38
37
  .nut-tabs-titles-item {
39
- padding: 0 10px;
38
+ padding: 0 22px;
40
39
  }
41
40
  }
42
41
 
@@ -51,7 +50,7 @@
51
50
  align-items: center;
52
51
  justify-content: center;
53
52
  flex: 1 0 auto;
54
- margin: 0 $tabs-titles-gap;
53
+ padding: 0 $tabs-titles-gap;
55
54
  height: $tabs-titles-height;
56
55
  line-height: $tabs-titles-height;
57
56
  min-width: $tabs-titles-item-min-width;
@@ -118,14 +117,6 @@
118
117
  &-disabled {
119
118
  color: $color-text-disabled;
120
119
  }
121
-
122
- &:first-child {
123
- margin-left: 0;
124
- }
125
-
126
- &:last-child {
127
- margin-right: 0;
128
- }
129
120
  }
130
121
 
131
122
  &-simple {
@@ -140,7 +131,7 @@
140
131
  background-color: $color-default-light;
141
132
 
142
133
  .nut-tabs-titles-item {
143
- margin: 0;
134
+ padding: 0;
144
135
 
145
136
  &-active {
146
137
  font-weight: $font-weight-bold;
@@ -152,10 +143,18 @@
152
143
 
153
144
  &-button {
154
145
  .nut-tabs-titles-item {
155
- &-active {
146
+ padding: 0 10px;
147
+ .nut-tabs-titles-item-text {
148
+ flex: 1;
156
149
  height: 28px;
157
- margin-top: 8px;
158
- margin-bottom: 8px;
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ padding: 0 8px;
154
+ }
155
+ }
156
+ .nut-tabs-titles-item-active {
157
+ .nut-tabs-titles-item-text {
159
158
  background: $color-default-light;
160
159
  color: $color-text;
161
160
  border-radius: $tabs-tab-button-border-radius;
@@ -172,7 +171,7 @@
172
171
  border-bottom: 1px solid $color-border;
173
172
 
174
173
  .nut-tabs-titles-item {
175
- margin: 0;
174
+ padding: 0;
176
175
  position: relative;
177
176
 
178
177
  &::after {
@@ -204,10 +203,6 @@
204
203
  right: 50%;
205
204
  transform: translate(50%, 0);
206
205
  }
207
- &:first-child {
208
- margin-left: 0;
209
- margin-right: 0;
210
- }
211
206
  }
212
207
  &-divider {
213
208
  .nut-tabs-titles-item {