@arco-design/mobile-react 2.30.4 → 2.30.5

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 (76) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/dialog/style/css/index.css +88 -0
  5. package/cjs/dialog/style/index.less +16 -4
  6. package/cjs/ellipsis/index.d.ts +2 -2
  7. package/cjs/ellipsis/index.js +2 -2
  8. package/cjs/image-preview/index.js +1 -0
  9. package/cjs/index-bar/style/css/index.css +28 -5
  10. package/cjs/index-bar/style/index.less +10 -10
  11. package/cjs/pagination/arrow.js +6 -3
  12. package/cjs/pagination/style/css/index.css +21 -6
  13. package/cjs/pagination/style/index.less +9 -9
  14. package/cjs/picker/style/css/index.css +8 -0
  15. package/cjs/picker/style/index.less +2 -2
  16. package/cjs/progress/style/css/index.css +20 -0
  17. package/cjs/progress/style/index.less +5 -5
  18. package/cjs/search-bar/style/css/index.css +18 -0
  19. package/cjs/search-bar/style/index.less +5 -5
  20. package/cjs/slider/hooks/index.d.ts +1 -1
  21. package/cjs/slider/index.d.ts +10 -0
  22. package/cjs/slider/index.js +1 -0
  23. package/cjs/slider/thumb.d.ts +6 -5
  24. package/cjs/slider/thumb.js +19 -20
  25. package/dist/index.js +34 -26
  26. package/dist/index.min.js +1 -1
  27. package/dist/style.css +146 -11
  28. package/dist/style.min.css +1 -1
  29. package/esm/dialog/style/css/index.css +88 -0
  30. package/esm/dialog/style/index.less +16 -4
  31. package/esm/ellipsis/index.d.ts +2 -2
  32. package/esm/ellipsis/index.js +2 -2
  33. package/esm/image-preview/index.js +1 -0
  34. package/esm/index-bar/style/css/index.css +28 -5
  35. package/esm/index-bar/style/index.less +10 -10
  36. package/esm/pagination/arrow.js +6 -3
  37. package/esm/pagination/style/css/index.css +21 -6
  38. package/esm/pagination/style/index.less +9 -9
  39. package/esm/picker/style/css/index.css +8 -0
  40. package/esm/picker/style/index.less +2 -2
  41. package/esm/progress/style/css/index.css +20 -0
  42. package/esm/progress/style/index.less +5 -5
  43. package/esm/search-bar/style/css/index.css +18 -0
  44. package/esm/search-bar/style/index.less +5 -5
  45. package/esm/slider/hooks/index.d.ts +1 -1
  46. package/esm/slider/index.d.ts +10 -0
  47. package/esm/slider/index.js +1 -0
  48. package/esm/slider/thumb.d.ts +6 -5
  49. package/esm/slider/thumb.js +19 -17
  50. package/package.json +3 -3
  51. package/tokens/app/arcodesign/default/css-variables.less +3 -4
  52. package/tokens/app/arcodesign/default/index.d.ts +0 -1
  53. package/tokens/app/arcodesign/default/index.js +3 -4
  54. package/tokens/app/arcodesign/default/index.json +9 -21
  55. package/tokens/app/arcodesign/default/index.less +3 -4
  56. package/umd/dialog/style/css/index.css +88 -0
  57. package/umd/dialog/style/index.less +16 -4
  58. package/umd/ellipsis/index.d.ts +2 -2
  59. package/umd/ellipsis/index.js +2 -2
  60. package/umd/image-preview/index.js +1 -0
  61. package/umd/index-bar/style/css/index.css +28 -5
  62. package/umd/index-bar/style/index.less +10 -10
  63. package/umd/pagination/arrow.js +6 -3
  64. package/umd/pagination/style/css/index.css +21 -6
  65. package/umd/pagination/style/index.less +9 -9
  66. package/umd/picker/style/css/index.css +8 -0
  67. package/umd/picker/style/index.less +2 -2
  68. package/umd/progress/style/css/index.css +20 -0
  69. package/umd/progress/style/index.less +5 -5
  70. package/umd/search-bar/style/css/index.css +18 -0
  71. package/umd/search-bar/style/index.less +5 -5
  72. package/umd/slider/hooks/index.d.ts +1 -1
  73. package/umd/slider/index.d.ts +10 -0
  74. package/umd/slider/index.js +1 -0
  75. package/umd/slider/thumb.d.ts +6 -5
  76. package/umd/slider/thumb.js +23 -23
@@ -5,7 +5,7 @@ export declare type LinePosition = {
5
5
  length: number;
6
6
  start: number;
7
7
  };
8
- export declare const SliderContext: React.Context<Required<Pick<SliderProps, "max" | "disabled" | "style" | "size" | "step" | "type" | "className" | "onChange" | "onAfterChange" | "min" | "suffixLabel" | "prefixLabel" | "useRange" | "useAnimation" | "showTooltip" | "showMarks" | "useMarkOnly" | "draggableTrackOnly" | "formatTooltip" | "renderThumb">> & Pick<SliderProps, "value" | "defaultValue" | "marks">>;
8
+ export declare const SliderContext: React.Context<Required<Pick<SliderProps, "max" | "disabled" | "style" | "size" | "step" | "type" | "className" | "onChange" | "onAfterChange" | "min" | "suffixLabel" | "prefixLabel" | "useRange" | "useAnimation" | "showTooltip" | "showMarks" | "useMarkOnly" | "draggableTrackOnly" | "formatTooltip" | "renderThumb">> & Pick<SliderProps, "value" | "defaultValue" | "marks" | "renderThumbPopover">>;
9
9
  export * from './useSliderIcon';
10
10
  export * from './useSliderInit';
11
11
  export * from './useSliderStyle';
@@ -130,6 +130,16 @@ export interface SliderProps {
130
130
  * @en Custom slider
131
131
  */
132
132
  renderThumb?: (value: number) => ReactNode;
133
+ /**
134
+ * 自定义滑块的Popover,优先级高于formatTooltip。value表示当前滑动进度,visible表示气泡的可见性,index表示当前滑块索引,thumbEl表示当前滑块元素。
135
+ * @en Custom slider popover,priority is higher than formatTooltip. value - current sliding progress, visible - visibility of the bubble, index - current slider index, thumbEl - current slider element.
136
+ */
137
+ renderThumbPopover?: (config: {
138
+ value: number;
139
+ visible: boolean;
140
+ index: number;
141
+ thumbEl: React.ReactNode;
142
+ }) => ReactNode;
133
143
  }
134
144
  export interface SliderRef {
135
145
  /**
@@ -151,6 +151,7 @@ var Slider = /*#__PURE__*/forwardRef(function (_, ref) {
151
151
  key: idx
152
152
  }, _extends({
153
153
  value: Array.isArray(valueGroup) ? valueGroup[idx] : valueGroup,
154
+ idx: idx,
154
155
  min: min,
155
156
  max: max,
156
157
  isTouching: commonIsTouching === idx
@@ -1,8 +1,9 @@
1
- import React, { CSSProperties } from 'react';
2
- declare const Thumb: ({ className, value, style, isTouching, }: {
3
- className?: string | undefined;
1
+ import { CSSProperties } from 'react';
2
+ declare function Thumb({ className, value, style, isTouching, idx, }: {
3
+ className?: string;
4
4
  value: number;
5
5
  isTouching: boolean;
6
- style?: React.CSSProperties | undefined;
7
- }) => JSX.Element;
6
+ style?: CSSProperties;
7
+ idx: number;
8
+ }): JSX.Element;
8
9
  export default Thumb;
@@ -1,14 +1,15 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import React, { useMemo, useContext } from 'react';
3
2
  import { Popover } from './popover';
4
3
  import { SliderContext } from './hooks';
5
4
  import { GlobalContext } from '../context-provider';
6
5
 
7
- var Thumb = function Thumb(_ref) {
8
- var className = _ref.className,
6
+ function Thumb(_ref) {
7
+ var _ref$className = _ref.className,
8
+ className = _ref$className === void 0 ? '' : _ref$className,
9
9
  value = _ref.value,
10
10
  style = _ref.style,
11
- isTouching = _ref.isTouching;
11
+ isTouching = _ref.isTouching,
12
+ idx = _ref.idx;
12
13
 
13
14
  var _useContext = useContext(GlobalContext),
14
15
  _useContext$prefixCls = _useContext.prefixCls,
@@ -17,7 +18,8 @@ var Thumb = function Thumb(_ref) {
17
18
  var _useContext2 = useContext(SliderContext),
18
19
  showTooltip = _useContext2.showTooltip,
19
20
  renderThumb = _useContext2.renderThumb,
20
- formatTooltip = _useContext2.formatTooltip;
21
+ formatTooltip = _useContext2.formatTooltip,
22
+ renderThumbPopover = _useContext2.renderThumbPopover;
21
23
 
22
24
  var isHidden = showTooltip === 'never';
23
25
  var renderValue = useMemo(function () {
@@ -28,20 +30,20 @@ var Thumb = function Thumb(_ref) {
28
30
  if (showTooltip === 'always') return true;
29
31
  return isTouching;
30
32
  }, [showTooltip, isTouching]);
31
-
32
- var renderWrapper = function renderWrapper(el) {
33
- return /*#__PURE__*/React.createElement("div", {
34
- className: prefixCls + "-slider-thumb-wrapper " + className,
35
- style: _extends({}, style)
36
- }, el);
37
- };
38
-
39
33
  var thumbEl = typeof renderThumb === 'function' ? renderThumb(value) : renderThumb;
40
- if (isHidden) return renderWrapper(thumbEl);
41
- return renderWrapper( /*#__PURE__*/React.createElement(Popover, {
34
+ var popoverEl = typeof renderThumbPopover === 'function' ? renderThumbPopover({
35
+ value: value,
36
+ visible: isTooltipVisible,
37
+ thumbEl: thumbEl,
38
+ index: idx
39
+ }) : /*#__PURE__*/React.createElement(Popover, {
42
40
  visible: isTooltipVisible,
43
41
  content: renderValue
44
- }, thumbEl));
45
- };
42
+ }, thumbEl);
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: prefixCls + "-slider-thumb-wrapper " + className,
45
+ style: style
46
+ }, isHidden ? thumbEl : popoverEl);
47
+ }
46
48
 
47
49
  export default Thumb;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arco-design/mobile-react",
3
- "version": "2.30.4",
3
+ "version": "2.30.5",
4
4
  "description": "",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -15,7 +15,7 @@
15
15
  "author": "taoyiyue@bytedance.com",
16
16
  "license": "ISC",
17
17
  "dependencies": {
18
- "@arco-design/mobile-utils": "2.17.4",
18
+ "@arco-design/mobile-utils": "2.17.5",
19
19
  "@arco-design/transformable": "^1.0.0",
20
20
  "lodash.throttle": "^4.1.1",
21
21
  "resize-observer-polyfill": "^1.5.1"
@@ -49,5 +49,5 @@
49
49
  "publishConfig": {
50
50
  "access": "public"
51
51
  },
52
- "gitHead": "d6403cfadaf2d5557a3ffdcf47213c6e9181b74e"
52
+ "gitHead": "ea9576d1c323fc6117d9437452d35a460d8ddf08"
53
53
  }
@@ -806,8 +806,7 @@
806
806
  --pagination-field-button-border-radius: ~`pxtorem(2)`;
807
807
  --pagination-field-button-padding: ~`pxtorem(6)` ~`pxtorem(16)`;
808
808
  --pagination-field-btn-text-font-size: ~`pxtorem(14)`;
809
- --pagination-field-btn-icon-text-gutter: ~`pxtorem(8)`;
810
- --pagination-field-btn-icon-side-margin: ~`pxtorem(-3)`;
809
+ --pagination-field-btn-icon-text-gutter: ~`pxtorem(11)`;
811
810
  --dark-pagination-field-primary-background: var(--dark-primary-color);
812
811
  --pagination-field-primary-background: var(--primary-color);
813
812
  --dark-pagination-field-primary-text-color: var(--dark-mask-content-color);
@@ -949,13 +948,13 @@
949
948
  --index-bar-sidebar-item-padding: ~`pxtorem(2)` ~`pxtorem(8)`;
950
949
  --index-bar-sidebar-item-width: ~`pxtorem(10)`;
951
950
  --index-bar-sidebar-sweat-padding: 0 ~`pxtorem(8)`;
952
- --index-bar-sidebar-sweat-background: rgba(0, 0, 0, 0.8);
951
+ --index-bar-sidebar-sweat-background: #333333;
953
952
  --dark-index-bar-sidebar-sweat-color: var(--dark-mask-content-color);
954
953
  --index-bar-sidebar-sweat-color: var(--mask-content-color);
955
954
  --index-bar-sidebar-sweat-right: ~`pxtorem(36)`;
956
955
  --index-bar-sidebar-sweat-font-size: ~`pxtorem(24)`;
957
956
  --index-bar-sidebar-sweat-radius: ~`pxtorem(50)`;
958
- --index-bar-sidebar-sweat-triangle-position: ~`pxtorem(-27)`;
957
+ --index-bar-sidebar-sweat-triangle-position: ~`pxtorem(-28)`;
959
958
  --index-bar-sidebar-sweat-triangle-border: ~`pxtorem(18)` solid transparent;
960
959
  --index-bar-sidebar-toast-background: rgba(0, 0, 0, 0.8);
961
960
  --dark-index-bar-sidebar-toast-color: var(--dark-mask-content-color);
@@ -806,7 +806,6 @@ export interface ArcodesignToken extends Record<string, string> {
806
806
  'pagination-field-button-padding': string;
807
807
  'pagination-field-btn-text-font-size': string;
808
808
  'pagination-field-btn-icon-text-gutter': string;
809
- 'pagination-field-btn-icon-side-margin': string;
810
809
  'dark-pagination-field-primary-background': string;
811
810
  'pagination-field-primary-background': string;
812
811
  'dark-pagination-field-primary-text-color': string;
@@ -817,8 +817,7 @@ var tokens = {
817
817
  "pagination-field-button-border-radius": "0.04rem",
818
818
  "pagination-field-button-padding": "0.12rem 0.32rem",
819
819
  "pagination-field-btn-text-font-size": "0.28rem",
820
- "pagination-field-btn-icon-text-gutter": "0.16rem",
821
- "pagination-field-btn-icon-side-margin": "-0.06rem",
820
+ "pagination-field-btn-icon-text-gutter": "0.22rem",
822
821
  "dark-pagination-field-primary-background": "var(--dark-primary-color)",
823
822
  "pagination-field-primary-background": "var(--primary-color)",
824
823
  "dark-pagination-field-primary-text-color": "var(--dark-mask-content-color)",
@@ -960,13 +959,13 @@ var tokens = {
960
959
  "index-bar-sidebar-item-padding": "0.04rem 0.16rem",
961
960
  "index-bar-sidebar-item-width": "0.2rem",
962
961
  "index-bar-sidebar-sweat-padding": "0 0.16rem",
963
- "index-bar-sidebar-sweat-background": "rgba(0, 0, 0, 0.8)",
962
+ "index-bar-sidebar-sweat-background": "#333333",
964
963
  "dark-index-bar-sidebar-sweat-color": "var(--dark-mask-content-color)",
965
964
  "index-bar-sidebar-sweat-color": "var(--mask-content-color)",
966
965
  "index-bar-sidebar-sweat-right": "0.72rem",
967
966
  "index-bar-sidebar-sweat-font-size": "0.48rem",
968
967
  "index-bar-sidebar-sweat-radius": "1rem",
969
- "index-bar-sidebar-sweat-triangle-position": "-0.54rem",
968
+ "index-bar-sidebar-sweat-triangle-position": "-0.56rem",
970
969
  "index-bar-sidebar-sweat-triangle-border": "0.36rem solid transparent",
971
970
  "index-bar-sidebar-toast-background": "rgba(0, 0, 0, 0.8)",
972
971
  "dark-index-bar-sidebar-toast-color": "var(--dark-mask-content-color)",
@@ -6089,9 +6089,9 @@
6089
6089
  "cssKey": "index-bar-sidebar-sweat-background",
6090
6090
  "desc": "索引栏侧边栏水滴提示气泡背景颜色",
6091
6091
  "override": "",
6092
- "value": "rgba(0, 0, 0, 0.8)",
6093
- "jsValue": "rgba(0, 0, 0, 0.8)",
6094
- "staticValue": "rgba(0, 0, 0, 0.8)",
6092
+ "value": "#333333",
6093
+ "jsValue": "#333333",
6094
+ "staticValue": "#333333",
6095
6095
  "localeDesc": {
6096
6096
  "ch": "索引栏侧边栏水滴提示气泡背景颜色",
6097
6097
  "en": "IndexBar sidebar water drop prompt bubble background color"
@@ -6173,9 +6173,9 @@
6173
6173
  "cssKey": "index-bar-sidebar-sweat-triangle-position",
6174
6174
  "desc": "索引栏侧边栏三角气泡位置",
6175
6175
  "override": "",
6176
- "value": "~`pxtorem(-27)`",
6177
- "jsValue": "@getRem@-27",
6178
- "staticValue": "-0.54rem",
6176
+ "value": "~`pxtorem(-28)`",
6177
+ "jsValue": "@getRem@-28",
6178
+ "staticValue": "-0.56rem",
6179
6179
  "localeDesc": {
6180
6180
  "ch": "索引栏侧边栏三角气泡位置",
6181
6181
  "en": "The position of the triangle bubble in the sidebar of the IndexBar"
@@ -7069,25 +7069,13 @@
7069
7069
  "en": "The spacing between the button and the page number when pagination is centered"
7070
7070
  }
7071
7071
  },
7072
- "paginationFieldBtnIconSideMargin": {
7073
- "cssKey": "pagination-field-btn-icon-side-margin",
7074
- "desc": "分页器翻页按钮图标与按钮边缘的间距",
7075
- "override": "",
7076
- "value": "~`pxtorem(-3)`",
7077
- "jsValue": "@getRem@-3",
7078
- "staticValue": "-0.06rem",
7079
- "localeDesc": {
7080
- "ch": "分页器翻页按钮图标与按钮边缘的间距",
7081
- "en": "The spacing between the button's icon and the edge of the button"
7082
- }
7083
- },
7084
7072
  "paginationFieldBtnIconTextGutter": {
7085
7073
  "cssKey": "pagination-field-btn-icon-text-gutter",
7086
7074
  "desc": "分页器翻页按钮文字与图标的间距",
7087
7075
  "override": "",
7088
- "value": "~`pxtorem(8)`",
7089
- "jsValue": "@getRem@8",
7090
- "staticValue": "0.16rem",
7076
+ "value": "~`pxtorem(11)`",
7077
+ "jsValue": "@getRem@11",
7078
+ "staticValue": "0.22rem",
7091
7079
  "localeDesc": {
7092
7080
  "ch": "分页器翻页按钮文字与图标的间距",
7093
7081
  "en": "The spacing between the text and the icon of the pagination button"
@@ -805,8 +805,7 @@
805
805
  @pagination-field-button-border-radius: ~`pxtorem(2)`;
806
806
  @pagination-field-button-padding: ~`pxtorem(6)` ~`pxtorem(16)`;
807
807
  @pagination-field-btn-text-font-size: ~`pxtorem(14)`;
808
- @pagination-field-btn-icon-text-gutter: ~`pxtorem(8)`;
809
- @pagination-field-btn-icon-side-margin: ~`pxtorem(-3)`;
808
+ @pagination-field-btn-icon-text-gutter: ~`pxtorem(11)`;
810
809
  @dark-pagination-field-primary-background: @dark-primary-color;
811
810
  @pagination-field-primary-background: @primary-color;
812
811
  @dark-pagination-field-primary-text-color: @dark-mask-content-color;
@@ -948,13 +947,13 @@
948
947
  @index-bar-sidebar-item-padding: ~`pxtorem(2)` ~`pxtorem(8)`;
949
948
  @index-bar-sidebar-item-width: ~`pxtorem(10)`;
950
949
  @index-bar-sidebar-sweat-padding: 0 ~`pxtorem(8)`;
951
- @index-bar-sidebar-sweat-background: rgba(0, 0, 0, 0.8);
950
+ @index-bar-sidebar-sweat-background: #333333;
952
951
  @dark-index-bar-sidebar-sweat-color: @dark-mask-content-color;
953
952
  @index-bar-sidebar-sweat-color: @mask-content-color;
954
953
  @index-bar-sidebar-sweat-right: ~`pxtorem(36)`;
955
954
  @index-bar-sidebar-sweat-font-size: ~`pxtorem(24)`;
956
955
  @index-bar-sidebar-sweat-radius: ~`pxtorem(50)`;
957
- @index-bar-sidebar-sweat-triangle-position: ~`pxtorem(-27)`;
956
+ @index-bar-sidebar-sweat-triangle-position: ~`pxtorem(-28)`;
958
957
  @index-bar-sidebar-sweat-triangle-border: ~`pxtorem(18)` solid transparent;
959
958
  @index-bar-sidebar-toast-background: rgba(0, 0, 0, 0.8);
960
959
  @dark-index-bar-sidebar-toast-color: @dark-mask-content-color;
@@ -655,6 +655,10 @@
655
655
  .arco-dialog-body.left {
656
656
  text-align: left;
657
657
  }
658
+ [dir="rtl"] .arco-dialog-header.left,
659
+ [dir="rtl"] .arco-dialog-body.left {
660
+ text-align: right;
661
+ }
658
662
  .arco-dialog-header.center,
659
663
  .arco-dialog-body.center {
660
664
  text-align: center;
@@ -663,6 +667,10 @@
663
667
  .arco-dialog-body.right {
664
668
  text-align: right;
665
669
  }
670
+ [dir="rtl"] .arco-dialog-header.right,
671
+ [dir="rtl"] .arco-dialog-body.right {
672
+ text-align: left;
673
+ }
666
674
  .arco-dialog-header.android,
667
675
  .arco-dialog-body.sub-title.android {
668
676
  padding-top: 0.4rem ;
@@ -693,6 +701,9 @@
693
701
  justify-content: flex-end;
694
702
  text-align: right;
695
703
  }
704
+ [dir="rtl"] .arco-dialog-footer.android {
705
+ text-align: left;
706
+ }
696
707
  .arco-dialog-footer.android .dialog-footer-button {
697
708
  color: #1a74ff ;
698
709
  font-size: 0.3rem ;
@@ -701,6 +712,10 @@
701
712
  .arco-dialog-footer.android .dialog-footer-button:not(:last-child) {
702
713
  margin-right: 0.56rem ;
703
714
  }
715
+ [dir="rtl"] .arco-dialog-footer.android .dialog-footer-button:not(:last-child) {
716
+ margin-right: initial;
717
+ margin-left: 0.56rem ;
718
+ }
704
719
  .arco-dialog-footer.ios {
705
720
  overflow: hidden;
706
721
  }
@@ -793,6 +808,44 @@
793
808
  border-radius: 0;
794
809
  }
795
810
  }
811
+ [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child) {
812
+ position: relative;
813
+ border-width: 0;
814
+ }
815
+ [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::before {
816
+ content: '';
817
+ width: 1PX;
818
+ height: 100%;
819
+ position: absolute;
820
+ left: 0;
821
+ top: 0;
822
+ z-index: 1;
823
+ border-left-style: solid;
824
+ border-left-width: 1PX;
825
+ border-left-color: #e5e6eb;
826
+ box-sizing: border-box;
827
+ transform-origin: left top;
828
+ -webkit-transform-origin: left top;
829
+ pointer-events: none;
830
+ border-radius: 0;
831
+ }
832
+ @media (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) {
833
+ [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::before {
834
+ transform: scaleX(0.5);
835
+ -webkit-transform: scaleX(0.5);
836
+ border-radius: 0;
837
+ }
838
+ }
839
+ @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {
840
+ [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::before {
841
+ transform: scaleX(0.33333333);
842
+ -webkit-transform: scaleX(0.33333333);
843
+ border-radius: 0;
844
+ }
845
+ }
846
+ [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::after {
847
+ display: none;
848
+ }
796
849
  .arco-dialog-footer.ios.collapsed {
797
850
  -webkit-box-orient: vertical;
798
851
  -webkit-box-direction: normal;
@@ -962,6 +1015,41 @@
962
1015
  border-radius: 0;
963
1016
  }
964
1017
  }
1018
+ .arco-theme-dark [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child) {
1019
+ position: relative;
1020
+ border-width: 0;
1021
+ }
1022
+ .arco-theme-dark [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::before {
1023
+ content: '';
1024
+ width: 1PX;
1025
+ height: 100%;
1026
+ position: absolute;
1027
+ left: 0;
1028
+ top: 0;
1029
+ z-index: 1;
1030
+ border-left-style: solid;
1031
+ border-left-width: 1PX;
1032
+ border-left-color: #484849;
1033
+ box-sizing: border-box;
1034
+ transform-origin: left top;
1035
+ -webkit-transform-origin: left top;
1036
+ pointer-events: none;
1037
+ border-radius: 0;
1038
+ }
1039
+ @media (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) {
1040
+ .arco-theme-dark [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::before {
1041
+ transform: scaleX(0.5);
1042
+ -webkit-transform: scaleX(0.5);
1043
+ border-radius: 0;
1044
+ }
1045
+ }
1046
+ @media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {
1047
+ .arco-theme-dark [dir='rtl'] .arco-dialog-footer.ios:not(.collapsed):not(.type-button) .dialog-footer-button:not(:last-child)::before {
1048
+ transform: scaleX(0.33333333);
1049
+ -webkit-transform: scaleX(0.33333333);
1050
+ border-radius: 0;
1051
+ }
1052
+ }
965
1053
  .arco-theme-dark .arco-dialog-footer.ios.collapsed .dialog-footer-button {
966
1054
  position: relative;
967
1055
  border-width: 0;
@@ -147,7 +147,7 @@
147
147
  &-body {
148
148
 
149
149
  &.left {
150
- text-align: left;
150
+ .set-value-with-rtl(text-align, left);
151
151
  }
152
152
 
153
153
  &.center {
@@ -155,7 +155,7 @@
155
155
  }
156
156
 
157
157
  &.right {
158
- text-align: right;
158
+ .set-value-with-rtl(text-align, right);
159
159
  }
160
160
  }
161
161
 
@@ -185,7 +185,7 @@
185
185
  .use-var(padding-top, dialog-android-body-footer-gutter);
186
186
  .use-var(padding-bottom, dialog-android-vertical-padding);
187
187
  justify-content: flex-end;
188
- text-align: right;
188
+ .set-value-with-rtl(text-align, right);
189
189
 
190
190
  .dialog-footer-button {
191
191
  .use-var(color, dialog-footer-android-color);
@@ -193,7 +193,7 @@
193
193
  .use-var(line-height, dialog-footer-android-line-height);
194
194
 
195
195
  &:not(:last-child) {
196
- .use-var(margin-right, dialog-footer-android-button-gutter);
196
+ .use-var-with-rtl(margin-right, dialog-footer-android-button-gutter);
197
197
  }
198
198
  }
199
199
  }
@@ -218,6 +218,13 @@
218
218
 
219
219
  &:not(:last-child) {
220
220
  .onepx-border-var(right, line-color);
221
+
222
+ [dir='rtl'] & {
223
+ .onepx-border-var(left, line-color);
224
+ &::after {
225
+ display: none;
226
+ }
227
+ }
221
228
  }
222
229
  }
223
230
  }
@@ -332,6 +339,11 @@
332
339
  @{arco-dark-mode-selector} & {
333
340
  .onepx-border-var(right, dark-line-color);
334
341
  }
342
+ [dir='rtl'] & {
343
+ @{arco-dark-mode-selector} & {
344
+ .onepx-border-var(left, dark-line-color);
345
+ }
346
+ }
335
347
  }
336
348
  }
337
349
  }
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import { EllipsisProps, EllipsisRef } from './type';
3
3
  export * from './type';
4
4
  /**
5
- * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
6
- * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
5
+ * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。如果传入的文本内容中包含换行符号`\n`,建议将`\n`替换为`<br/>`,并设置`dangerouslyUseInnerHTML=true`。
6
+ * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc. If the incoming text contains newline characters `\n`, it is recommended to replace `\n` with `<br/>`, and set `dangerouslyUseInnerHTML=true`.
7
7
  * @type 信息展示
8
8
  * @type_en Data Display
9
9
  * @name 文本缩略
@@ -33,8 +33,8 @@
33
33
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
34
34
 
35
35
  /**
36
- * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。
37
- * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc.
36
+ * 文本缩略组件,支持多行缩略、富文本、自定义缩略符、尾字符过滤等。如果传入的文本内容中包含换行符号`\n`,建议将`\n`替换为`<br/>`,并设置`dangerouslyUseInnerHTML=true`。
37
+ * @en Text ellipsis component supports multi-line abbreviations, rich text, custom abbreviations, tail character filtering, etc. If the incoming text contains newline characters `\n`, it is recommended to replace `\n` with `<br/>`, and set `dangerouslyUseInnerHTML=true`.
38
38
  * @type 信息展示
39
39
  * @type_en Data Display
40
40
  * @name 文本缩略
@@ -258,6 +258,7 @@
258
258
  dragMode: 'always',
259
259
  transformMode: 'matrix',
260
260
  useDomBoundary: false,
261
+ preventScroll: false,
261
262
  cubic: {
262
263
  scroll: scrollBezier
263
264
  },
@@ -522,6 +522,10 @@
522
522
  -webkit-align-items: center;
523
523
  align-items: center;
524
524
  }
525
+ [dir="rtl"] .arco-index-bar-group-title {
526
+ padding-left: initial;
527
+ padding-right: 0.32rem ;
528
+ }
525
529
  .arco-index-bar-group-item {
526
530
  height: 1.08rem ;
527
531
  display: -webkit-box;
@@ -533,6 +537,10 @@
533
537
  margin-left: 0.32rem ;
534
538
  font-size: 0.32rem ;
535
539
  }
540
+ [dir="rtl"] .arco-index-bar-group-item {
541
+ margin-left: initial;
542
+ margin-right: 0.32rem ;
543
+ }
536
544
  .arco-index-bar-group-item:not(:last-child) {
537
545
  position: relative;
538
546
  border-width: 0;
@@ -578,9 +586,13 @@
578
586
  -webkit-user-select: none;
579
587
  user-select: none;
580
588
  }
581
- .arco-index-bar-sidebar-touching {
589
+ [dir="rtl"] .arco-index-bar-sidebar {
590
+ right: initial;
582
591
  left: 0;
583
592
  }
593
+ .arco-index-bar-sidebar-touching {
594
+ width: 100%;
595
+ }
584
596
  .arco-index-bar-sidebar-item {
585
597
  display: -webkit-box;
586
598
  display: -webkit-flex;
@@ -623,25 +635,36 @@
623
635
  border-radius: 9999px;
624
636
  text-align: center;
625
637
  padding: 0 0.16rem ;
626
- background: rgba(0, 0, 0, 0.8) ;
638
+ background: #333333 ;
627
639
  right: 0.72rem ;
628
640
  font-size: 0.48rem ;
629
641
  color: #FFFFFF ;
630
642
  }
643
+ [dir="rtl"] .arco-index-bar-sidebar-sweat {
644
+ right: initial;
645
+ left: 0.72rem ;
646
+ }
631
647
  .arco-index-bar-sidebar-sweat::before {
632
648
  content: '';
633
649
  position: absolute;
634
650
  top: 0;
635
651
  bottom: 0;
636
652
  margin: auto;
637
- right: -0.54rem ;
653
+ right: -0.56rem ;
638
654
  width: 0;
639
655
  height: 0;
640
656
  border: 0.36rem solid transparent ;
641
- border: 18px solid transparent;
642
- border-left-color: rgba(0, 0, 0, 0.8) ;
657
+ border-left-color: #333333 ;
643
658
  border-radius: 4px;
644
659
  }
660
+ [dir="rtl"] .arco-index-bar-sidebar-sweat::before {
661
+ right: initial;
662
+ left: -0.56rem ;
663
+ }
664
+ [dir="rtl"] .arco-index-bar-sidebar-sweat::before {
665
+ border-left-color: initial;
666
+ border-right-color: #333333 ;
667
+ }
645
668
  .arco-index-bar-sidebar-toast {
646
669
  position: absolute;
647
670
  background: rgba(0, 0, 0, 0.8) ;
@@ -18,7 +18,7 @@
18
18
  .use-var(color, index-bar-group-active-color);
19
19
  }
20
20
  &-title {
21
- .use-var(padding-left, index-bar-group-left-spacing);
21
+ .use-var-with-rtl(padding-left, index-bar-group-left-spacing);
22
22
  .use-var(height, index-bar-group-title-height);
23
23
  .use-var(background, index-bar-group-title-background);
24
24
  .use-var(font-size, index-bar-group-title-font-size);
@@ -30,7 +30,7 @@
30
30
  .use-var(height, index-bar-group-item-height);
31
31
  display: flex;
32
32
  align-items: center;
33
- .use-var(margin-left, index-bar-group-left-spacing);
33
+ .use-var-with-rtl(margin-left, index-bar-group-left-spacing);
34
34
  .use-var(font-size, index-bar-group-item-font-size);
35
35
 
36
36
  &:not(:last-child) {
@@ -40,16 +40,17 @@
40
40
  }
41
41
 
42
42
  &-sidebar {
43
- &-touching {
44
- left: 0;
45
- }
46
43
  position: absolute;
47
44
  z-index: 2;
48
- right: 0;
45
+ .set-prop-with-rtl(right, 0);
49
46
  top: 50%;
50
47
  transform: translateY(-50%) translateZ(0);
51
48
  user-select: none;
52
49
 
50
+ &-touching {
51
+ width: 100%;
52
+ }
53
+
53
54
  &-item {
54
55
  display: flex;
55
56
  justify-content: flex-end;
@@ -84,7 +85,7 @@
84
85
  text-align: center;
85
86
  .use-var(padding, index-bar-sidebar-sweat-padding);
86
87
  .use-var(background, index-bar-sidebar-sweat-background);
87
- .use-var(right, index-bar-sidebar-sweat-right);
88
+ .use-var-with-rtl(right, index-bar-sidebar-sweat-right);
88
89
  .use-var(font-size, index-bar-sidebar-sweat-font-size);
89
90
  .use-var(color, index-bar-sidebar-sweat-color);
90
91
  &::before {
@@ -93,12 +94,11 @@
93
94
  top: 0;
94
95
  bottom: 0;
95
96
  margin: auto;
96
- .use-var(right, index-bar-sidebar-sweat-triangle-position);
97
+ .use-var-with-rtl(right, index-bar-sidebar-sweat-triangle-position);
97
98
  width: 0;
98
99
  height: 0;
99
100
  .use-var(border, index-bar-sidebar-sweat-triangle-border);
100
- border: 18px solid transparent;
101
- .use-var(border-left-color, index-bar-sidebar-sweat-background);
101
+ .use-var-with-rtl(border-left-color, index-bar-sidebar-sweat-background);
102
102
  border-radius: 4px;
103
103
  }
104
104
  }
@@ -21,10 +21,13 @@
21
21
 
22
22
  function Arrow() {
23
23
  return /*#__PURE__*/_react.default.createElement("svg", {
24
- width: "8",
24
+ width: "2",
25
25
  height: "14",
26
- viewBox: "0 0 8 14",
27
- fill: "none"
26
+ viewBox: "3 0 2 14",
27
+ fill: "none",
28
+ style: {
29
+ overflow: 'visible'
30
+ }
28
31
  }, /*#__PURE__*/_react.default.createElement("path", {
29
32
  fillRule: "evenodd",
30
33
  clipRule: "evenodd",