@arco-design/mobile-react 2.28.2 → 2.29.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 (85) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.en-US.md +2 -2
  3. package/README.md +2 -2
  4. package/cjs/grid/style/css/index.css +4 -0
  5. package/cjs/grid/style/index.less +6 -0
  6. package/cjs/index.d.ts +1 -0
  7. package/cjs/index.js +5 -1
  8. package/cjs/input/hooks.js +33 -40
  9. package/cjs/input/props.d.ts +1 -1
  10. package/cjs/skeleton/demo/style/css/mobile.css +7 -0
  11. package/cjs/skeleton/demo/style/mobile.less +13 -0
  12. package/cjs/skeleton/elements.d.ts +7 -0
  13. package/cjs/skeleton/elements.js +302 -0
  14. package/cjs/skeleton/index.d.ts +18 -0
  15. package/cjs/skeleton/index.js +100 -0
  16. package/cjs/skeleton/skeleton-context.d.ts +3 -0
  17. package/cjs/skeleton/skeleton-context.js +15 -0
  18. package/cjs/skeleton/style/css/index.css +180 -0
  19. package/cjs/skeleton/style/css/index.d.ts +3 -0
  20. package/cjs/skeleton/style/css/index.js +7 -0
  21. package/cjs/skeleton/style/index.d.ts +3 -0
  22. package/cjs/skeleton/style/index.js +7 -0
  23. package/cjs/skeleton/style/index.less +147 -0
  24. package/cjs/skeleton/type.d.ts +104 -0
  25. package/cjs/skeleton/type.js +3 -0
  26. package/cjs/style.d.ts +1 -0
  27. package/cjs/style.js +2 -0
  28. package/dist/index.js +423 -76
  29. package/dist/index.min.js +5 -5
  30. package/dist/style.css +123 -0
  31. package/dist/style.min.css +1 -1
  32. package/esm/grid/style/css/index.css +4 -0
  33. package/esm/grid/style/index.less +6 -0
  34. package/esm/index.d.ts +1 -0
  35. package/esm/index.js +1 -0
  36. package/esm/input/hooks.js +32 -40
  37. package/esm/input/props.d.ts +1 -1
  38. package/esm/skeleton/demo/style/css/mobile.css +7 -0
  39. package/esm/skeleton/demo/style/mobile.less +13 -0
  40. package/esm/skeleton/elements.d.ts +7 -0
  41. package/esm/skeleton/elements.js +281 -0
  42. package/esm/skeleton/index.d.ts +18 -0
  43. package/esm/skeleton/index.js +82 -0
  44. package/esm/skeleton/skeleton-context.d.ts +3 -0
  45. package/esm/skeleton/skeleton-context.js +5 -0
  46. package/esm/skeleton/style/css/index.css +180 -0
  47. package/esm/skeleton/style/css/index.d.ts +3 -0
  48. package/esm/skeleton/style/css/index.js +3 -0
  49. package/esm/skeleton/style/index.d.ts +3 -0
  50. package/esm/skeleton/style/index.js +3 -0
  51. package/esm/skeleton/style/index.less +147 -0
  52. package/esm/skeleton/type.d.ts +104 -0
  53. package/esm/skeleton/type.js +1 -0
  54. package/esm/style.d.ts +1 -0
  55. package/esm/style.js +1 -0
  56. package/package.json +3 -3
  57. package/tokens/app/arcodesign/default/css-variables.less +16 -0
  58. package/tokens/app/arcodesign/default/index.d.ts +16 -0
  59. package/tokens/app/arcodesign/default/index.js +17 -1
  60. package/tokens/app/arcodesign/default/index.json +190 -0
  61. package/tokens/app/arcodesign/default/index.less +16 -0
  62. package/umd/grid/style/css/index.css +4 -0
  63. package/umd/grid/style/index.less +6 -0
  64. package/umd/index.d.ts +1 -0
  65. package/umd/index.js +7 -5
  66. package/umd/input/hooks.js +36 -44
  67. package/umd/input/props.d.ts +1 -1
  68. package/umd/skeleton/demo/style/css/mobile.css +7 -0
  69. package/umd/skeleton/demo/style/mobile.less +13 -0
  70. package/umd/skeleton/elements.d.ts +7 -0
  71. package/umd/skeleton/elements.js +306 -0
  72. package/umd/skeleton/index.d.ts +18 -0
  73. package/umd/skeleton/index.js +104 -0
  74. package/umd/skeleton/skeleton-context.d.ts +3 -0
  75. package/umd/skeleton/skeleton-context.js +28 -0
  76. package/umd/skeleton/style/css/index.css +180 -0
  77. package/umd/skeleton/style/css/index.d.ts +3 -0
  78. package/umd/skeleton/style/css/index.js +15 -0
  79. package/umd/skeleton/style/index.d.ts +3 -0
  80. package/umd/skeleton/style/index.js +15 -0
  81. package/umd/skeleton/style/index.less +147 -0
  82. package/umd/skeleton/type.d.ts +104 -0
  83. package/umd/skeleton/type.js +17 -0
  84. package/umd/style.d.ts +1 -0
  85. package/umd/style.js +4 -4
@@ -6629,6 +6629,196 @@
6629
6629
  "en": "Size of the rounded corners of the square SearchBar"
6630
6630
  }
6631
6631
  },
6632
+ "skeletonAvatarSize": {
6633
+ "cssKey": "skeleton-avatar-size",
6634
+ "desc": "骨架屏头像大小",
6635
+ "override": "",
6636
+ "value": "~`pxtorem(32)`",
6637
+ "jsValue": "@getRem@32",
6638
+ "staticValue": "0.64rem",
6639
+ "localeDesc": {
6640
+ "ch": "骨架屏头像大小",
6641
+ "en": "Skeleton avatar size"
6642
+ }
6643
+ },
6644
+ "skeletonBackgroundColor": {
6645
+ "cssKey": "skeleton-background-color",
6646
+ "desc": "骨架屏元素背景色",
6647
+ "override": "",
6648
+ "value": "#F2F3F5",
6649
+ "jsValue": "#F2F3F5",
6650
+ "staticValue": "#F2F3F5",
6651
+ "localeDesc": {
6652
+ "ch": "骨架屏元素背景色",
6653
+ "en": "Skeleton element background color"
6654
+ }
6655
+ },
6656
+ "skeletonBorderRadius": {
6657
+ "cssKey": "skeleton-border-radius",
6658
+ "desc": "骨架屏元素圆角",
6659
+ "override": "",
6660
+ "value": "~`pxtorem(0)`",
6661
+ "jsValue": "@getRem@0",
6662
+ "staticValue": "0",
6663
+ "localeDesc": {
6664
+ "ch": "骨架屏元素圆角",
6665
+ "en": "Skeleton element border radius"
6666
+ }
6667
+ },
6668
+ "skeletonBreathAnimationDuration": {
6669
+ "cssKey": "skeleton-breath-animation-duration",
6670
+ "desc": "骨架屏呼吸动效时间",
6671
+ "override": "",
6672
+ "value": "1.5s",
6673
+ "jsValue": "1.5s",
6674
+ "staticValue": "1.5s",
6675
+ "localeDesc": {
6676
+ "ch": "骨架屏呼吸动效时间",
6677
+ "en": "Skeleton element breath animation duration"
6678
+ }
6679
+ },
6680
+ "skeletonBreathOpacity": {
6681
+ "cssKey": "skeleton-breath-opacity",
6682
+ "desc": "骨架屏呼吸动效透明度",
6683
+ "override": "",
6684
+ "value": "0.4",
6685
+ "jsValue": "0.4",
6686
+ "staticValue": "0.4",
6687
+ "localeDesc": {
6688
+ "ch": "骨架屏呼吸动效透明度",
6689
+ "en": "Skeleton element breath animation opacity"
6690
+ }
6691
+ },
6692
+ "skeletonGradientAnimationColor": {
6693
+ "cssKey": "skeleton-gradient-animation-color",
6694
+ "desc": "骨架屏扫光动效高亮色",
6695
+ "override": "",
6696
+ "value": "rgba(255, 255, 255, 0.6)",
6697
+ "jsValue": "rgba(255, 255, 255, 0.6)",
6698
+ "staticValue": "rgba(255, 255, 255, 0.6)",
6699
+ "localeDesc": {
6700
+ "ch": "骨架屏扫光动效高亮色",
6701
+ "en": "Skeleton element gradient animation highlight color"
6702
+ }
6703
+ },
6704
+ "skeletonGradientAnimationDuration": {
6705
+ "cssKey": "skeleton-gradient-animation-duration",
6706
+ "desc": "骨架屏扫光动效时间",
6707
+ "override": "",
6708
+ "value": "1.5s",
6709
+ "jsValue": "1.5s",
6710
+ "staticValue": "1.5s",
6711
+ "localeDesc": {
6712
+ "ch": "骨架屏扫光动效时间",
6713
+ "en": "Skeleton element gradient animation duration"
6714
+ }
6715
+ },
6716
+ "skeletonGradientAnimationTimingFunction": {
6717
+ "cssKey": "skeleton-gradient-animation-timing-function",
6718
+ "desc": "骨架屏扫光动效曲线",
6719
+ "override": "",
6720
+ "value": "cubic-bezier(0.42, 0, 0.58, 1)",
6721
+ "jsValue": "cubic-bezier(0.42, 0, 0.58, 1)",
6722
+ "staticValue": "cubic-bezier(0.42, 0, 0.58, 1)",
6723
+ "localeDesc": {
6724
+ "ch": "骨架屏扫光动效曲线",
6725
+ "en": "Skeleton element gradient animation timing function"
6726
+ }
6727
+ },
6728
+ "skeletonGridIconSize": {
6729
+ "cssKey": "skeleton-grid-icon-size",
6730
+ "desc": "骨架屏金刚位图标区宽度",
6731
+ "override": "",
6732
+ "value": "~`pxtorem(32)`",
6733
+ "jsValue": "@getRem@32",
6734
+ "staticValue": "0.64rem",
6735
+ "localeDesc": {
6736
+ "ch": "骨架屏金刚位图标区宽度",
6737
+ "en": "Skeleton grid item icon width"
6738
+ }
6739
+ },
6740
+ "skeletonGridTextHeight": {
6741
+ "cssKey": "skeleton-grid-text-height",
6742
+ "desc": "骨架屏金刚位文字区高度",
6743
+ "override": "",
6744
+ "value": "~`pxtorem(16)`",
6745
+ "jsValue": "@getRem@16",
6746
+ "staticValue": "0.32rem",
6747
+ "localeDesc": {
6748
+ "ch": "骨架屏金刚位文字区高度",
6749
+ "en": "Skeleton grid item text height"
6750
+ }
6751
+ },
6752
+ "skeletonGridTextWidth": {
6753
+ "cssKey": "skeleton-grid-text-width",
6754
+ "desc": "骨架屏金刚位文字区宽度",
6755
+ "override": "",
6756
+ "value": "~`pxtorem(64)`",
6757
+ "jsValue": "@getRem@64",
6758
+ "staticValue": "1.28rem",
6759
+ "localeDesc": {
6760
+ "ch": "骨架屏金刚位文字区宽度",
6761
+ "en": "Skeleton grid item text width"
6762
+ }
6763
+ },
6764
+ "skeletonLargeGutter": {
6765
+ "cssKey": "skeleton-large-gutter",
6766
+ "desc": "骨架屏元素外边距,大尺寸",
6767
+ "override": "",
6768
+ "value": "~`pxtorem(20)`",
6769
+ "jsValue": "@getRem@20",
6770
+ "staticValue": "0.4rem",
6771
+ "localeDesc": {
6772
+ "ch": "骨架屏元素外边距,大尺寸"
6773
+ }
6774
+ },
6775
+ "skeletonMediumGutter": {
6776
+ "cssKey": "skeleton-medium-gutter",
6777
+ "desc": "骨架屏元素外边距,中尺寸",
6778
+ "override": "",
6779
+ "value": "~`pxtorem(8)`",
6780
+ "jsValue": "@getRem@8",
6781
+ "staticValue": "0.16rem",
6782
+ "localeDesc": {
6783
+ "ch": "骨架屏元素外边距,中尺寸"
6784
+ }
6785
+ },
6786
+ "skeletonParagraphHeight": {
6787
+ "cssKey": "skeleton-paragraph-height",
6788
+ "desc": "骨架屏段落行高度",
6789
+ "override": "",
6790
+ "value": "~`pxtorem(16)`",
6791
+ "jsValue": "@getRem@16",
6792
+ "staticValue": "0.32rem",
6793
+ "localeDesc": {
6794
+ "ch": "骨架屏段落行高度",
6795
+ "en": "Skeleton paragraph line height"
6796
+ }
6797
+ },
6798
+ "skeletonParagraphMarginTop": {
6799
+ "cssKey": "skeleton-paragraph-margin-top",
6800
+ "desc": "骨架屏各段落行间距",
6801
+ "override": "",
6802
+ "value": "~`pxtorem(12)`",
6803
+ "jsValue": "@getRem@12",
6804
+ "staticValue": "0.24rem",
6805
+ "localeDesc": {
6806
+ "ch": "骨架屏各段落行间距",
6807
+ "en": "Margin top between skeleton paragraph lines"
6808
+ }
6809
+ },
6810
+ "skeletonTitleHeight": {
6811
+ "cssKey": "skeleton-title-height",
6812
+ "desc": "骨架屏标题高度",
6813
+ "override": "",
6814
+ "value": "~`pxtorem(16)`",
6815
+ "jsValue": "@getRem@16",
6816
+ "staticValue": "0.32rem",
6817
+ "localeDesc": {
6818
+ "ch": "骨架屏标题高度",
6819
+ "en": "Skeleton title height"
6820
+ }
6821
+ },
6632
6822
  "sliderHasMarkPaddingBottom": {
6633
6823
  "cssKey": "slider-has-mark-padding-bottom",
6634
6824
  "desc": "slider 有标记时的底部内边距",
@@ -792,4 +792,20 @@
792
792
  @divider-right-width: ~`pxtorem(28)`;
793
793
  @divider-content-padding: ~`pxtorem(12)`;
794
794
  @divider-padding: ~`pxtorem(16)`;
795
+ @skeleton-border-radius: ~`pxtorem(0)`;
796
+ @skeleton-background-color: #F2F3F5;
797
+ @skeleton-gradient-animation-color: rgba(255, 255, 255, 0.6);
798
+ @skeleton-breath-opacity: 0.4;
799
+ @skeleton-gradient-animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1);
800
+ @skeleton-gradient-animation-duration: 1.5s;
801
+ @skeleton-breath-animation-duration: 1.5s;
802
+ @skeleton-title-height: ~`pxtorem(16)`;
803
+ @skeleton-paragraph-height: ~`pxtorem(16)`;
804
+ @skeleton-paragraph-margin-top: ~`pxtorem(12)`;
805
+ @skeleton-avatar-size: ~`pxtorem(32)`;
806
+ @skeleton-grid-icon-size: ~`pxtorem(32)`;
807
+ @skeleton-grid-text-width: ~`pxtorem(64)`;
808
+ @skeleton-grid-text-height: ~`pxtorem(16)`;
809
+ @skeleton-medium-gutter: ~`pxtorem(8)`;
810
+ @skeleton-large-gutter: ~`pxtorem(20)`;
795
811
 
@@ -113,3 +113,7 @@
113
113
  display: none;
114
114
  /* Chrome Safari */
115
115
  }
116
+ .arco-grid .arco-image-picker {
117
+ width: 100%;
118
+ /* 兼容grid和image-picker组合使用 */
119
+ }
@@ -101,3 +101,9 @@
101
101
  .@{prefix}-grid.sliding::-webkit-scrollbar {
102
102
  display: none; /* Chrome Safari */
103
103
  }
104
+
105
+ .@{prefix}-grid {
106
+ .@{prefix}-image-picker {
107
+ width: 100%; /* 兼容grid和image-picker组合使用 */
108
+ }
109
+ }
package/umd/index.d.ts CHANGED
@@ -43,6 +43,7 @@ export { default as PullRefresh } from './pull-refresh';
43
43
  export { default as Radio } from './radio';
44
44
  export { default as Rate } from './rate';
45
45
  export { default as SearchBar } from './search-bar';
46
+ export { default as Skeleton } from './skeleton';
46
47
  export { default as ShowMonitor } from './show-monitor';
47
48
  export { default as Slider } from './slider';
48
49
  export { default as Stepper } from './stepper';
package/umd/index.js CHANGED
@@ -1,22 +1,22 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "./tabs", "./sticky", "./load-more", "./cell", "./action-sheet", "./avatar", "./badge", "./button", "./carousel", "./checkbox", "./circle-progress", "./collapse", "./context-provider", "./count-down", "./date-picker", "./dialog", "./divider", "./dropdown", "./dropdown-menu", "./ellipsis", "./form", "./grid", "./image", "./image-picker", "./image-preview", "./index-bar", "./input", "./keyboard", "./loading", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./search-bar", "./show-monitor", "./slider", "./stepper", "./steps", "./swipe-action", "./swipe-load", "./switch", "./tab-bar", "./tag", "./textarea", "./toast", "./transition"], factory);
3
+ define(["exports", "./tabs", "./sticky", "./load-more", "./cell", "./action-sheet", "./avatar", "./badge", "./button", "./carousel", "./checkbox", "./circle-progress", "./collapse", "./context-provider", "./count-down", "./date-picker", "./dialog", "./divider", "./dropdown", "./dropdown-menu", "./ellipsis", "./form", "./grid", "./image", "./image-picker", "./image-preview", "./index-bar", "./input", "./keyboard", "./loading", "./masking", "./nav-bar", "./notice-bar", "./notify", "./pagination", "./picker", "./picker-view", "./popover", "./popup", "./popup-swiper", "./portal", "./progress", "./pull-refresh", "./radio", "./rate", "./search-bar", "./skeleton", "./show-monitor", "./slider", "./stepper", "./steps", "./swipe-action", "./swipe-load", "./switch", "./tab-bar", "./tag", "./textarea", "./toast", "./transition"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("./tabs"), require("./sticky"), require("./load-more"), require("./cell"), require("./action-sheet"), require("./avatar"), require("./badge"), require("./button"), require("./carousel"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./context-provider"), require("./count-down"), require("./date-picker"), require("./dialog"), require("./divider"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./form"), require("./grid"), require("./image"), require("./image-picker"), require("./image-preview"), require("./index-bar"), require("./input"), require("./keyboard"), require("./loading"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./search-bar"), require("./show-monitor"), require("./slider"), require("./stepper"), require("./steps"), require("./swipe-action"), require("./swipe-load"), require("./switch"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./toast"), require("./transition"));
5
+ factory(exports, require("./tabs"), require("./sticky"), require("./load-more"), require("./cell"), require("./action-sheet"), require("./avatar"), require("./badge"), require("./button"), require("./carousel"), require("./checkbox"), require("./circle-progress"), require("./collapse"), require("./context-provider"), require("./count-down"), require("./date-picker"), require("./dialog"), require("./divider"), require("./dropdown"), require("./dropdown-menu"), require("./ellipsis"), require("./form"), require("./grid"), require("./image"), require("./image-picker"), require("./image-preview"), require("./index-bar"), require("./input"), require("./keyboard"), require("./loading"), require("./masking"), require("./nav-bar"), require("./notice-bar"), require("./notify"), require("./pagination"), require("./picker"), require("./picker-view"), require("./popover"), require("./popup"), require("./popup-swiper"), require("./portal"), require("./progress"), require("./pull-refresh"), require("./radio"), require("./rate"), require("./search-bar"), require("./skeleton"), require("./show-monitor"), require("./slider"), require("./stepper"), require("./steps"), require("./swipe-action"), require("./swipe-load"), require("./switch"), require("./tab-bar"), require("./tag"), require("./textarea"), require("./toast"), require("./transition"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.tabs, global.sticky, global.loadMore, global.cell, global.actionSheet, global.avatar, global.badge, global.button, global.carousel, global.checkbox, global.circleProgress, global.collapse, global.contextProvider, global.countDown, global.datePicker, global.dialog, global.divider, global.dropdown, global.dropdownMenu, global.ellipsis, global.form, global.grid, global.image, global.imagePicker, global.imagePreview, global.indexBar, global.input, global.keyboard, global.loading, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.searchBar, global.showMonitor, global.slider, global.stepper, global.steps, global.swipeAction, global.swipeLoad, global._switch, global.tabBar, global.tag, global.textarea, global.toast, global.transition);
10
+ factory(mod.exports, global.tabs, global.sticky, global.loadMore, global.cell, global.actionSheet, global.avatar, global.badge, global.button, global.carousel, global.checkbox, global.circleProgress, global.collapse, global.contextProvider, global.countDown, global.datePicker, global.dialog, global.divider, global.dropdown, global.dropdownMenu, global.ellipsis, global.form, global.grid, global.image, global.imagePicker, global.imagePreview, global.indexBar, global.input, global.keyboard, global.loading, global.masking, global.navBar, global.noticeBar, global.notify, global.pagination, global.picker, global.pickerView, global.popover, global.popup, global.popupSwiper, global.portal, global.progress, global.pullRefresh, global.radio, global.rate, global.searchBar, global.skeleton, global.showMonitor, global.slider, global.stepper, global.steps, global.swipeAction, global.swipeLoad, global._switch, global.tabBar, global.tag, global.textarea, global.toast, global.transition);
11
11
  global.index = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _tabs, _sticky, _loadMore, _cell, _actionSheet, _avatar, _badge, _button, _carousel, _checkbox, _circleProgress, _collapse, _contextProvider, _countDown, _datePicker, _dialog, _divider, _dropdown, _dropdownMenu, _ellipsis, _form, _grid, _image, _imagePicker, _imagePreview, _indexBar, _input, _keyboard, _loading, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _searchBar, _showMonitor, _slider, _stepper, _steps, _swipeAction, _swipeLoad, _switch, _tabBar, _tag, _textarea, _toast, _transition) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _tabs, _sticky, _loadMore, _cell, _actionSheet, _avatar, _badge, _button, _carousel, _checkbox, _circleProgress, _collapse, _contextProvider, _countDown, _datePicker, _dialog, _divider, _dropdown, _dropdownMenu, _ellipsis, _form, _grid, _image, _imagePicker, _imagePreview, _indexBar, _input, _keyboard, _loading, _masking, _navBar, _noticeBar, _notify, _pagination, _picker, _pickerView, _popover, _popup, _popupSwiper, _portal, _progress, _pullRefresh, _radio, _rate, _searchBar, _skeleton, _showMonitor, _slider, _stepper, _steps, _swipeAction, _swipeLoad, _switch, _tabBar, _tag, _textarea, _toast, _transition) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
17
 
18
18
  _exports.__esModule = true;
19
- _exports.Transition = _exports.Toast = _exports.Textarea = _exports.Tag = _exports.Tabs = _exports.TabBar = _exports.Switch = _exports.SwipeLoad = _exports.SwipeAction = _exports.Sticky = _exports.Steps = _exports.Stepper = _exports.Slider = _exports.ShowMonitor = _exports.SearchBar = _exports.Rate = _exports.Radio = _exports.PullRefresh = _exports.Progress = _exports.Portal = _exports.PopupSwiper = _exports.Popup = _exports.Popover = _exports.PickerView = _exports.Picker = _exports.Pagination = _exports.Notify = _exports.NoticeBar = _exports.NavBar = _exports.Masking = _exports.Loading = _exports.LoadMore = _exports.Keyboard = _exports.Input = _exports.IndexBar = _exports.ImagePreview = _exports.ImagePicker = _exports.Image = _exports.Grid = _exports.Form = _exports.Ellipsis = _exports.DropdownMenu = _exports.Dropdown = _exports.Divider = _exports.Dialog = _exports.DatePicker = _exports.CountDown = _exports.ContextProvider = _exports.Collapse = _exports.CircleProgress = _exports.Checkbox = _exports.Cell = _exports.Carousel = _exports.Button = _exports.Badge = _exports.Avatar = _exports.ActionSheet = void 0;
19
+ _exports.Transition = _exports.Toast = _exports.Textarea = _exports.Tag = _exports.Tabs = _exports.TabBar = _exports.Switch = _exports.SwipeLoad = _exports.SwipeAction = _exports.Sticky = _exports.Steps = _exports.Stepper = _exports.Slider = _exports.Skeleton = _exports.ShowMonitor = _exports.SearchBar = _exports.Rate = _exports.Radio = _exports.PullRefresh = _exports.Progress = _exports.Portal = _exports.PopupSwiper = _exports.Popup = _exports.Popover = _exports.PickerView = _exports.Picker = _exports.Pagination = _exports.Notify = _exports.NoticeBar = _exports.NavBar = _exports.Masking = _exports.Loading = _exports.LoadMore = _exports.Keyboard = _exports.Input = _exports.IndexBar = _exports.ImagePreview = _exports.ImagePicker = _exports.Image = _exports.Grid = _exports.Form = _exports.Ellipsis = _exports.DropdownMenu = _exports.Dropdown = _exports.Divider = _exports.Dialog = _exports.DatePicker = _exports.CountDown = _exports.ContextProvider = _exports.Collapse = _exports.CircleProgress = _exports.Checkbox = _exports.Cell = _exports.Carousel = _exports.Button = _exports.Badge = _exports.Avatar = _exports.ActionSheet = void 0;
20
20
  _tabs = _interopRequireDefault(_tabs);
21
21
  _exports.Tabs = _tabs.default;
22
22
  _sticky = _interopRequireDefault(_sticky);
@@ -107,6 +107,8 @@
107
107
  _exports.Rate = _rate.default;
108
108
  _searchBar = _interopRequireDefault(_searchBar);
109
109
  _exports.SearchBar = _searchBar.default;
110
+ _skeleton = _interopRequireDefault(_skeleton);
111
+ _exports.Skeleton = _skeleton.default;
110
112
  _showMonitor = _interopRequireDefault(_showMonitor);
111
113
  _exports.ShowMonitor = _showMonitor.default;
112
114
  _slider = _interopRequireDefault(_slider);
@@ -1,22 +1,23 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "react", "@arco-design/mobile-utils", "../icon/IconClear", "../_helpers"], factory);
3
+ define(["exports", "@babel/runtime/helpers/extends", "react", "@arco-design/mobile-utils", "../icon/IconClear", "../_helpers"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("react"), require("@arco-design/mobile-utils"), require("../icon/IconClear"), require("../_helpers"));
5
+ factory(exports, require("@babel/runtime/helpers/extends"), require("react"), require("@arco-design/mobile-utils"), require("../icon/IconClear"), require("../_helpers"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.react, global.mobileUtils, global.IconClear, global._helpers);
10
+ factory(mod.exports, global._extends, global.react, global.mobileUtils, global.IconClear, global._helpers);
11
11
  global.hooks = mod.exports;
12
12
  }
13
- })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _react, _mobileUtils, _IconClear, _helpers) {
13
+ })(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _extends2, _react, _mobileUtils, _IconClear, _helpers) {
14
14
  "use strict";
15
15
 
16
16
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
17
17
 
18
18
  _exports.__esModule = true;
19
19
  _exports.useInputLogic = useInputLogic;
20
+ _extends2 = _interopRequireDefault(_extends2);
20
21
  _react = _interopRequireWildcard(_react);
21
22
  _IconClear = _interopRequireDefault(_IconClear);
22
23
 
@@ -69,23 +70,6 @@
69
70
  toggleClear = _useState2[1];
70
71
 
71
72
  var compositingRef = (0, _react.useRef)(false);
72
- /**
73
- * clear相关问题背景
74
- * 如果点击clear按钮之前已经是focusing状态了,那么在点完clear按钮之后会手动聚焦一下
75
- * 该行为将导致onClear事件触发时,也会触发一次onBlur和onFocus事件,可能影响一些组件外的代码逻辑
76
- *
77
- * e.g. 假设input按钮右侧有一个按钮仅在聚焦时展示
78
- * 实现代码大致是:onBlur设置其visible为false,onFocus设置其visible为true
79
- * 那么这个按钮就会因为clear的点击造成一瞬的闪烁
80
- *
81
- * 解决思路
82
- * 先来看一下,在输入框已激活的状态时,点击清除按钮后,组件的一些事件的触发顺序
83
- * handleBlur -> handleClear -> handleFocus -> onBlur(外部回调) -> onFocus(外部回调)
84
- * 可以看到外部的onBlur和onFocus回调都是在handleClear函数之后被调用
85
- * 因此可以在handleClear中设置一个shouldPreventEvent的boolean标志
86
- * 如果这个标志为true,则跳过调用外部的onBlur和onFocus,并在最后再将标志置回false
87
- *
88
- */
89
73
 
90
74
  var _useState3 = (0, _react.useState)(false),
91
75
  isFocusing = _useState3[0],
@@ -185,28 +169,24 @@
185
169
  }
186
170
 
187
171
  function handleFocus(e) {
188
- (0, _mobileUtils.nextTick)(function () {
189
- if (preventEventWhenClearing && shouldPreventEvent.current) {
190
- shouldPreventEvent.current = false;
191
- return;
192
- }
172
+ if (preventEventWhenClearing && shouldPreventEvent.current) {
173
+ shouldPreventEvent.current = false;
174
+ return;
175
+ }
193
176
 
194
- setIsFocusing(true);
195
- clearShowType === 'focus' && toggleClear(true);
196
- onFocus && onFocus(e);
197
- });
177
+ setIsFocusing(true);
178
+ clearShowType === 'focus' && toggleClear(true);
179
+ onFocus && onFocus(e);
198
180
  }
199
181
 
200
182
  function handleBlur(e) {
201
- (0, _mobileUtils.nextTick)(function () {
202
- if (preventEventWhenClearing && shouldPreventEvent.current) {
203
- return;
204
- }
183
+ if (preventEventWhenClearing && shouldPreventEvent.current) {
184
+ return;
185
+ }
205
186
 
206
- setIsFocusing(false);
207
- clearShowType === 'focus' && toggleClear(false);
208
- onBlur && onBlur(e);
209
- });
187
+ setIsFocusing(false);
188
+ clearShowType === 'focus' && toggleClear(false);
189
+ onBlur && onBlur(e);
210
190
  }
211
191
 
212
192
  function handleClick(e) {
@@ -237,10 +217,17 @@
237
217
 
238
218
  if (isFocusing) {
239
219
  if (preventEventWhenClearing) {
240
- shouldPreventEvent.current = true;
220
+ shouldPreventEvent.current = true; // 一段时间未执行blur或focus则重置,避免对下次事件循环造成影响
221
+ // @en If blur or focus is not executed for a period of time, it will be reset to avoid affecting the next event loop
222
+
223
+ setTimeout(function () {
224
+ shouldPreventEvent.current = false;
225
+ }, 200);
241
226
  }
242
227
 
243
- inputRef.current && inputRef.current.focus();
228
+ (0, _mobileUtils.nextTick)(function () {
229
+ inputRef.current && inputRef.current.focus();
230
+ });
244
231
  }
245
232
  });
246
233
  }
@@ -250,6 +237,12 @@
250
237
  }
251
238
 
252
239
  function renderWrapper(prefixCls, type, children) {
240
+ var _clearEvent;
241
+
242
+ // handleClear必须早于handleBlur执行,pc端仅mousedown事件触发早于blur,移动端touch相关事件均早于blur
243
+ // @en handleClear must be executed earlier than handleBlur
244
+ // @en only the mousedown event on the PC side is triggered earlier than blur, and the touch-related events on the mobile side are all earlier than blur
245
+ var clearEvent = (_clearEvent = {}, _clearEvent[system === 'pc' ? 'onMouseDown' : 'onTouchEnd'] = handleClear, _clearEvent);
253
246
  return /*#__PURE__*/_react.default.createElement("div", {
254
247
  role: "search",
255
248
  className: prefixCls + "-container all-border-box " + (className || ''),
@@ -269,10 +262,9 @@
269
262
  className: (0, _mobileUtils.cls)(prefixCls + "-label", {
270
263
  required: required
271
264
  })
272
- }, label) : prefix) : null, children, clearable && showClear ? /*#__PURE__*/_react.default.createElement("div", {
273
- className: prefixCls + "-clear",
274
- onClick: handleClear
275
- }, clearIcon) : null, suffix ? /*#__PURE__*/_react.default.createElement("div", {
265
+ }, label) : prefix) : null, children, clearable && showClear ? /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
266
+ className: prefixCls + "-clear"
267
+ }, clearEvent), clearIcon) : null, suffix ? /*#__PURE__*/_react.default.createElement("div", {
276
268
  className: prefixCls + "-suffix"
277
269
  }, suffix) : null), renderPendNode(append));
278
270
  }
@@ -124,7 +124,7 @@ export interface BasicInputProps<T = HTMLInputElement> {
124
124
  * 按下清除按钮回调
125
125
  * @en Callback when clear button is pressed
126
126
  */
127
- onClear?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
127
+ onClear?: (e: React.TouchEvent<HTMLElement>) => void;
128
128
  /**
129
129
  * 输入框前置内容,在输入框内部,也可自定义
130
130
  * @en The prefix of the input box, inside the input box, can also be customized
@@ -0,0 +1,7 @@
1
+ #demo-skeleton .arcodesign-mobile-demo-content .arco-cell-group {
2
+ margin-bottom: 0.32rem;
3
+ }
4
+ #demo-skeleton .arcodesign-mobile-demo-content .arco-cell {
5
+ margin-left: 0;
6
+ padding-right: 0;
7
+ }
@@ -0,0 +1,13 @@
1
+ @import '../../../../style/mixin.less';
2
+
3
+ #demo-skeleton {
4
+ .arcodesign-mobile-demo-content {
5
+ .arco-cell-group {
6
+ margin-bottom: 0.32rem;
7
+ }
8
+ .arco-cell {
9
+ margin-left: 0;
10
+ padding-right: 0;
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SkeletonAvatarProps, SkeletonGridProps, SkeletonNodeProps, SkeletonParagraphProps, SkeletonRef, SkeletonTitleProps } from './type';
3
+ export declare const SkeletonNode: React.ForwardRefExoticComponent<SkeletonNodeProps & React.RefAttributes<SkeletonRef>>;
4
+ export declare const SkeletonTitle: React.ForwardRefExoticComponent<SkeletonTitleProps & React.RefAttributes<SkeletonRef>>;
5
+ export declare const SkeletonParagraph: React.ForwardRefExoticComponent<SkeletonParagraphProps & React.RefAttributes<SkeletonRef>>;
6
+ export declare const SkeletonAvatar: React.ForwardRefExoticComponent<SkeletonAvatarProps & React.RefAttributes<SkeletonRef>>;
7
+ export declare const SkeletonGrid: React.ForwardRefExoticComponent<SkeletonGridProps & React.RefAttributes<SkeletonRef>>;