@nutui/nutui 3.1.12-beta.1 → 3.1.14

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 (131) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +139 -37
  3. package/dist/nutui.d.ts +9 -2
  4. package/dist/nutui.es.js +4830 -2950
  5. package/dist/nutui.umd.js +4910 -2953
  6. package/dist/packages/_es/ActionSheet.js +12 -13
  7. package/dist/packages/_es/Address.js +64 -77
  8. package/dist/packages/_es/Avatar.js +5 -4
  9. package/dist/packages/_es/BackTop.js +109 -72
  10. package/dist/packages/_es/Badge.js +5 -4
  11. package/dist/packages/_es/Barrage.js +57 -63
  12. package/dist/packages/_es/Button.js +6 -5
  13. package/dist/packages/_es/Calendar.js +18 -27
  14. package/dist/packages/_es/Card.js +8 -7
  15. package/dist/packages/_es/Cascader.js +547 -0
  16. package/dist/packages/_es/Cell.js +13 -5
  17. package/dist/packages/_es/CellGroup.js +14 -7
  18. package/dist/packages/_es/Checkbox.js +3 -3
  19. package/dist/packages/_es/CheckboxGroup.js +4 -9
  20. package/dist/packages/_es/CircleProgress.js +46 -142
  21. package/dist/packages/_es/Col.js +5 -4
  22. package/dist/packages/_es/Collapse.js +10 -35
  23. package/dist/packages/_es/CollapseItem.js +35 -80
  24. package/dist/packages/_es/CountDown.js +7 -10
  25. package/dist/packages/_es/CountUp.js +33 -34
  26. package/dist/packages/_es/DatePicker.js +219 -451
  27. package/dist/packages/_es/Dialog.js +98 -46
  28. package/dist/packages/_es/Divider.js +6 -5
  29. package/dist/packages/_es/Drag.js +50 -76
  30. package/dist/packages/_es/Elevator.js +53 -81
  31. package/dist/packages/_es/Empty.js +74 -0
  32. package/dist/packages/_es/FixedNav.js +9 -8
  33. package/dist/packages/_es/Form.js +23 -9
  34. package/dist/packages/_es/FormItem.js +5 -4
  35. package/dist/packages/_es/Grid.js +12 -0
  36. package/dist/packages/_es/GridItem.js +149 -0
  37. package/dist/packages/_es/Icon.js +40 -6
  38. package/dist/packages/_es/ImagePreview.js +158 -44
  39. package/dist/packages/_es/Indicator.js +66 -0
  40. package/dist/packages/_es/InfiniteLoading.js +109 -95
  41. package/dist/packages/_es/Input.js +21 -22
  42. package/dist/packages/_es/InputNumber.js +18 -24
  43. package/dist/packages/_es/Layout.js +2 -2
  44. package/dist/packages/_es/Menu.js +14 -16
  45. package/dist/packages/_es/MenuItem.js +11 -9
  46. package/dist/packages/_es/Navbar.js +7 -7
  47. package/dist/packages/_es/NoticeBar.js +31 -46
  48. package/dist/packages/_es/Notify.js +166 -30
  49. package/dist/packages/_es/NumberKeyboard.js +7 -9
  50. package/dist/packages/_es/OverLay.js +29 -22
  51. package/dist/packages/_es/Pagination.js +9 -8
  52. package/dist/packages/_es/Picker.js +447 -61
  53. package/dist/packages/_es/Popover.js +34 -161
  54. package/dist/packages/_es/Popup.js +77 -17
  55. package/dist/packages/_es/Price.js +7 -18
  56. package/dist/packages/_es/Progress.js +12 -23
  57. package/dist/packages/_es/Radio.js +3 -3
  58. package/dist/packages/_es/RadioGroup.js +2 -2
  59. package/dist/packages/_es/Range.js +31 -38
  60. package/dist/packages/_es/Rate.js +35 -17
  61. package/dist/packages/_es/Row.js +5 -4
  62. package/dist/packages/_es/SearchBar.js +5 -7
  63. package/dist/packages/_es/ShortPassword.js +59 -89
  64. package/dist/packages/_es/Signature.js +71 -70
  65. package/dist/packages/_es/Skeleton.js +138 -0
  66. package/dist/packages/_es/Sku.js +43 -53
  67. package/dist/packages/_es/Step.js +8 -10
  68. package/dist/packages/_es/Steps.js +2 -2
  69. package/dist/packages/_es/Swipe.js +28 -43
  70. package/dist/packages/_es/Swiper.js +418 -17
  71. package/dist/packages/_es/SwiperItem.js +39 -14
  72. package/dist/packages/_es/Switch.js +47 -16
  73. package/dist/packages/_es/TabPane.js +5 -4
  74. package/dist/packages/_es/Tabbar.js +5 -4
  75. package/dist/packages/_es/TabbarItem.js +9 -8
  76. package/dist/packages/_es/Table.js +191 -0
  77. package/dist/packages/_es/Tabs.js +21 -23
  78. package/dist/packages/_es/Tag.js +6 -5
  79. package/dist/packages/_es/TextArea.js +12 -16
  80. package/dist/packages/_es/TimeDetail.js +5 -7
  81. package/dist/packages/_es/TimePannel.js +5 -7
  82. package/dist/packages/_es/TimeSelect.js +7 -12
  83. package/dist/packages/_es/Toast.js +178 -46
  84. package/dist/packages/_es/Uploader.js +149 -109
  85. package/dist/packages/_es/Video.js +405 -0
  86. package/dist/packages/_es/common.js +136 -0
  87. package/dist/packages/_es/component.js +1 -1
  88. package/dist/packages/_es/index.js +7 -58
  89. package/dist/packages/_es/index2.js +58 -43
  90. package/dist/packages/_es/index3.js +28 -411
  91. package/dist/packages/_es/plugin-vue_export-helper.js +13 -0
  92. package/dist/packages/_es/pxCheck.js +1 -1
  93. package/dist/packages/_es/raf.js +1 -1
  94. package/dist/packages/_es/util.js +1 -1
  95. package/dist/packages/cascader/index.scss +81 -0
  96. package/dist/packages/cellgroup/index.scss +9 -0
  97. package/dist/packages/dialog/index.scss +17 -0
  98. package/dist/packages/drag/index.scss +4 -0
  99. package/dist/packages/empty/index.scss +33 -0
  100. package/dist/packages/fixednav/index.scss +6 -1
  101. package/dist/packages/formitem/index.scss +4 -1
  102. package/dist/packages/grid/index.scss +10 -0
  103. package/dist/packages/griditem/index.scss +92 -0
  104. package/dist/packages/icon/index.scss +2 -1
  105. package/dist/packages/indicator/index.scss +48 -0
  106. package/dist/packages/numberkeyboard/index.scss +1 -1
  107. package/dist/packages/popover/index.scss +2 -2
  108. package/dist/packages/rate/index.scss +1 -0
  109. package/dist/packages/skeleton/index.scss +57 -0
  110. package/dist/packages/table/index.scss +81 -0
  111. package/dist/packages/tabs/index.scss +16 -0
  112. package/dist/packages/textarea/index.scss +1 -0
  113. package/dist/packages/timedetail/index.scss +1 -2
  114. package/dist/packages/timeselect/index.scss +3 -0
  115. package/dist/packages/toast/index.scss +6 -0
  116. package/dist/style.css +1 -1
  117. package/dist/style.es.js +2 -1
  118. package/dist/styles/font/config.json +2 -1
  119. package/dist/styles/font/demo_index.html +26 -3
  120. package/dist/styles/font/iconfont.css +7 -3
  121. package/dist/styles/font/iconfont.js +31 -32
  122. package/dist/styles/font/iconfont.json +7 -0
  123. package/dist/styles/font/iconfont.ttf +0 -0
  124. package/dist/styles/font/iconfont.woff +0 -0
  125. package/dist/styles/font/iconfont.woff2 +0 -0
  126. package/dist/styles/themes/default.scss +40 -33
  127. package/dist/styles/variables.scss +54 -1
  128. package/package.json +2 -3
  129. package/dist/packages/_es/commonProps.js +0 -30
  130. package/dist/packages/_es/index.taro.vue_vue&type=script&lang.js +0 -44
  131. package/dist/packages/_es/use-lock-scroll.js +0 -23
@@ -34,6 +34,23 @@
34
34
  width: 100%;
35
35
  justify-content: space-around;
36
36
 
37
+ &.horizontal {
38
+ }
39
+ &.vertical {
40
+ flex-direction: column;
41
+
42
+ .nut-button {
43
+ min-width: 100%;
44
+ margin: 0;
45
+ &.nut-dialog__footer-cancel {
46
+ border: 0;
47
+ }
48
+ &.nut-dialog__footer-ok {
49
+ margin-top: 10px;
50
+ }
51
+ }
52
+ }
53
+
37
54
  .nut-button {
38
55
  min-width: 100px;
39
56
  }
@@ -4,6 +4,10 @@
4
4
  z-index: 9997 !important;
5
5
  width: fit-content;
6
6
  height: fit-content;
7
+
8
+ .nut-fixednav {
9
+ position: relative !important;
10
+ }
7
11
  }
8
12
  .nut-taro-drag {
9
13
  // position: fixed;
@@ -0,0 +1,33 @@
1
+ .nut-empty {
2
+ box-sizing: border-box;
3
+ display: flex;
4
+ align-items: center;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ padding: $empty-padding;
8
+
9
+ &-image {
10
+ width: $empty-image-size;
11
+ height: $empty-image-size;
12
+
13
+ .img {
14
+ width: 100%;
15
+ height: 100%;
16
+ }
17
+
18
+ // 兼容小程序标签和img-slot
19
+ img,
20
+ image {
21
+ width: 100%;
22
+ height: 100%;
23
+ }
24
+ }
25
+
26
+ &-description {
27
+ margin-top: $empty-description-margin-top;
28
+ padding: $empty-description-padding;
29
+ color: $empty-description-color;
30
+ font-size: $empty-description-font-size;
31
+ line-height: $empty-description-line-height;
32
+ }
33
+ }
@@ -55,7 +55,9 @@
55
55
  right: 0;
56
56
  transform: translateX(100%);
57
57
  transition: all 0.5s;
58
-
58
+ box-sizing: border-box;
59
+ padding: 0;
60
+ margin: 0;
59
61
  z-index: $fixednav-index;
60
62
  flex-shrink: 0;
61
63
  height: 100%;
@@ -69,6 +71,9 @@
69
71
  right: 80px;
70
72
  }
71
73
  &-item {
74
+ box-sizing: border-box;
75
+ padding: 0;
76
+ margin: 0;
72
77
  position: relative;
73
78
  flex: 1;
74
79
  height: 100%;
@@ -25,7 +25,7 @@
25
25
  font-weight: normal;
26
26
  width: 90px;
27
27
  margin-right: 10px;
28
- flex: none;
28
+ flex: none !important;
29
29
  display: inline-block;
30
30
  word-wrap: break-word;
31
31
  &.required {
@@ -51,6 +51,9 @@
51
51
  .nut-range-container {
52
52
  min-height: 24px;
53
53
  }
54
+ .nut-textarea {
55
+ padding: 0 !important;
56
+ }
54
57
  }
55
58
  &__tips {
56
59
  font-size: 10px;
@@ -0,0 +1,10 @@
1
+ .nut-grid {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ border: 0 solid $grid-border-color;
5
+
6
+ &--border {
7
+ border-top-width: 1px;
8
+ border-left-width: 1px;
9
+ }
10
+ }
@@ -0,0 +1,92 @@
1
+ .nut-grid-item {
2
+ position: relative;
3
+ box-sizing: border-box;
4
+
5
+ $block: &;
6
+
7
+ &__text {
8
+ color: $grid-item-text-color;
9
+ font-size: $grid-item-text-font-size;
10
+ line-height: 1.5;
11
+ word-break: break-all;
12
+ margin: $grid-item-text-margin 0 0 0;
13
+ }
14
+
15
+ &__content {
16
+ display: flex;
17
+ flex-direction: column;
18
+ box-sizing: border-box;
19
+ height: 100%;
20
+ padding: $grid-item-content-padding;
21
+ background: $grid-item-content-bg-color;
22
+ border: 0 solid $grid-border-color;
23
+
24
+ &--border {
25
+ border-right-width: 1px;
26
+ border-bottom-width: 1px;
27
+ }
28
+
29
+ &--surround {
30
+ border-top-width: 1px;
31
+ border-left-width: 1px;
32
+ }
33
+
34
+ &--center {
35
+ align-items: center;
36
+ justify-content: center;
37
+ }
38
+
39
+ &--square {
40
+ position: absolute;
41
+ top: 0;
42
+ right: 0;
43
+ left: 0;
44
+ }
45
+
46
+ &--reverse {
47
+ flex-direction: column-reverse;
48
+
49
+ #{$block}__text {
50
+ margin: 0 0 $grid-item-text-margin;
51
+ }
52
+ }
53
+
54
+ &--horizontal {
55
+ flex-direction: row;
56
+
57
+ #{$block}__text {
58
+ margin: 0 0 0 $grid-item-text-margin;
59
+ }
60
+ }
61
+
62
+ &--horizontal#{&}--reverse {
63
+ flex-direction: row-reverse;
64
+ #{$block}__text {
65
+ margin: 0 $grid-item-text-margin 0 0;
66
+ }
67
+ }
68
+
69
+ &--clickable {
70
+ cursor: pointer;
71
+
72
+ &::before {
73
+ position: absolute;
74
+ top: 50%;
75
+ left: 50%;
76
+ width: 100%;
77
+ height: 100%;
78
+ background-color: $black;
79
+ border: inherit;
80
+ border-color: $black;
81
+ border-radius: inherit;
82
+ transform: translate(-50%, -50%);
83
+ opacity: 0;
84
+ content: ' ';
85
+ }
86
+
87
+ &:active::before {
88
+ opacity: 0.1;
89
+ }
90
+ }
91
+ }
92
+ }
@@ -19,7 +19,8 @@
19
19
  height: $icon-height;
20
20
  object-fit: contain;
21
21
  }
22
- &-loading {
22
+ &-loading,
23
+ &-loading1 {
23
24
  display: inline-block;
24
25
  animation: loadingCircle 1s infinite linear;
25
26
  }
@@ -0,0 +1,48 @@
1
+ .nut-indicator {
2
+ &--block {
3
+ display: block;
4
+ width: 100%;
5
+ }
6
+ &--align__left {
7
+ text-align: left;
8
+ }
9
+ &--align__right {
10
+ text-align: right;
11
+ }
12
+ &--align__center {
13
+ text-align: center;
14
+ }
15
+ &--dot,
16
+ &--number {
17
+ margin: 0 4px;
18
+ &:first-child {
19
+ margin-left: 0;
20
+ }
21
+ &:last-child {
22
+ margin-right: 0;
23
+ }
24
+ }
25
+ &--dot {
26
+ display: inline-block;
27
+ vertical-align: middle;
28
+ width: $indicator-dot-size;
29
+ height: $indicator-dot-size;
30
+ border-radius: 50%;
31
+ background-color: $indicator-dot-color;
32
+ }
33
+ &--number {
34
+ display: inline-block;
35
+ position: relative;
36
+ width: $indicator-size;
37
+ height: $indicator-size;
38
+ text-align: center;
39
+ font-size: 10px;
40
+ line-height: $indicator-size;
41
+ color: $indicator-white;
42
+ vertical-align: middle;
43
+ border: 1px solid $indicator-white;
44
+ border-radius: 50%;
45
+ background-color: $indicator-color;
46
+ box-shadow: 0 0 1px 1px $indicator-color;
47
+ }
48
+ }
@@ -104,5 +104,5 @@
104
104
  }
105
105
  }
106
106
  .nut-numberkeyboard-overlay {
107
- background-color: rgba(0, 0, 0, 0)!important;
107
+ background-color: rgba(0, 0, 0, 0) !important;
108
108
  }
@@ -4,13 +4,13 @@
4
4
  display: inline-block;
5
5
  margin-right: 20px;
6
6
  .more-background {
7
- background: $popover-white-background-color;
8
7
  opacity: 0;
9
8
  position: fixed;
10
9
  width: 100%;
11
- height: 1000px;
10
+ height: 100%;
12
11
  z-index: 10;
13
12
  left: 0;
13
+ top: 0;
14
14
  }
15
15
  .popoverContent--left,
16
16
  .popoverContent--right,
@@ -28,6 +28,7 @@
28
28
  left: 0;
29
29
  top: 0;
30
30
  overflow: hidden;
31
+ height: auto !important;
31
32
  }
32
33
  }
33
34
  }
@@ -0,0 +1,57 @@
1
+ .skeleton {
2
+ display: inline-block;
3
+ position: relative;
4
+ overflow: hidden;
5
+ vertical-align: middle;
6
+ .content {
7
+ display: flex;
8
+ .avatarClass {
9
+ margin-right: 20px;
10
+ background: rgb(239, 239, 239);
11
+ }
12
+
13
+ .blockClass,
14
+ .blockClass--round {
15
+ width: 100%;
16
+ height: 100%;
17
+ background: rgb(239, 239, 239);
18
+ margin-top: 10px;
19
+ &:last-child {
20
+ width: 70% !important;
21
+ }
22
+ }
23
+ .blockClass--round {
24
+ border-radius: 10px;
25
+ }
26
+
27
+ .content-line {
28
+ display: flex;
29
+ flex-direction: column;
30
+ .title {
31
+ width: 30%;
32
+ height: 15px;
33
+ background: #efefef;
34
+ }
35
+ }
36
+ }
37
+
38
+ .skeleton-animation {
39
+ position: absolute;
40
+ top: 0;
41
+ left: 0;
42
+ width: 100%;
43
+ height: 100%;
44
+ z-index: 1;
45
+ background: linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.5) 50%, hsla(0, 0%, 100%, 0) 80%);
46
+ background-repeat: no-repeat;
47
+ animation: backpos 2s ease-in-out 0s infinite;
48
+ }
49
+ @keyframes backpos {
50
+ 0% {
51
+ background-position-x: -500px;
52
+ }
53
+ to {
54
+ background-position-x: calc(500px + 100%);
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,81 @@
1
+ .nut-table {
2
+ display: flex;
3
+ width: 100%;
4
+ flex-direction: column;
5
+ font-size: $font-size-2;
6
+ &__main {
7
+ display: table;
8
+ width: 100%;
9
+ border-collapse: collapse;
10
+ overflow-x: hidden;
11
+ &--striped {
12
+ .nut-table__main__head {
13
+ &__tr {
14
+ background-color: $table-tr-even-bg-color;
15
+ }
16
+ }
17
+ .nut-table__main__body {
18
+ &__tr:nth-child(odd) {
19
+ background-color: $table-tr-odd-bg-color;
20
+ }
21
+ }
22
+ .nut-table__main__body {
23
+ &__tr:nth-child(even) {
24
+ background-color: $table-tr-even-bg-color;
25
+ }
26
+ }
27
+ }
28
+ &__head,
29
+ &__body {
30
+ &__tr {
31
+ display: table-row;
32
+ &__th {
33
+ display: table-cell;
34
+ padding: $table-cols-padding;
35
+ }
36
+ &__td {
37
+ display: table-cell;
38
+ padding: $table-cols-padding;
39
+ &__nodata {
40
+ display: flex;
41
+ height: 50px;
42
+ align-items: center;
43
+ justify-content: center;
44
+ }
45
+ }
46
+ &--border {
47
+ border: 1px solid $table-border-color;
48
+ }
49
+ &--alignleft,
50
+ &--align {
51
+ text-align: left;
52
+ }
53
+ &--aligncenter {
54
+ text-align: center;
55
+ }
56
+ &--alignright {
57
+ text-align: right;
58
+ }
59
+ }
60
+ }
61
+ &__head {
62
+ display: table-header-group;
63
+ }
64
+ &__body {
65
+ display: table-row-group;
66
+ }
67
+ }
68
+ &__summary {
69
+ display: flex;
70
+ align-items: center;
71
+ height: 30px;
72
+ padding: $table-cols-padding;
73
+ }
74
+ &__nodata {
75
+ display: flex;
76
+ align-items: center;
77
+ justify-content: center;
78
+ height: 30px;
79
+ padding: $table-cols-padding;
80
+ }
81
+ }
@@ -66,6 +66,22 @@
66
66
  user-select: none;
67
67
  background: $tabs-titles-background-color;
68
68
  border-radius: $tabs-titles-border-radius;
69
+ flex-shrink: 0;
70
+ &.large {
71
+ .nut-tabs__titles-item {
72
+ font-size: $tabs-titles-item-large-font-size;
73
+ }
74
+ }
75
+ &.normal {
76
+ .nut-tabs__titles-item {
77
+ font-size: $tabs-titles-item-font-size;
78
+ }
79
+ }
80
+ &.small {
81
+ .nut-tabs__titles-item {
82
+ font-size: $tabs-titles-item-small-font-size;
83
+ }
84
+ }
69
85
  &::-webkit-scrollbar {
70
86
  display: none;
71
87
  width: 0;
@@ -30,6 +30,7 @@
30
30
  min-width: 0;
31
31
  margin: 0;
32
32
  padding: 0;
33
+ font-size: $textarea-font;
33
34
  color: $textarea-text-color;
34
35
  text-align: left;
35
36
  background-color: transparent;
@@ -1,7 +1,6 @@
1
1
  .nut-timedetail {
2
+ display: flex;
2
3
  width: 100%;
3
- height: 100%;
4
- overflow: auto;
5
4
  padding: 0 5px 50px 13px;
6
5
  &__detail {
7
6
  width: 100%;
@@ -4,6 +4,7 @@
4
4
  position: relative;
5
5
  overflow: hidden;
6
6
  &__title {
7
+ display: flex;
7
8
  width: 100%;
8
9
  height: 50px;
9
10
  line-height: 50px;
@@ -29,6 +30,8 @@
29
30
  &__detail {
30
31
  width: calc(100% - 140px);
31
32
  height: 308px;
33
+ overflow-y: auto;
34
+ overflow-x: hidden;
32
35
  }
33
36
  }
34
37
  }
@@ -51,6 +51,12 @@
51
51
  margin-bottom: -8px;
52
52
  }
53
53
  }
54
+ &-title {
55
+ font-size: 16px;
56
+ &:empty {
57
+ margin-bottom: -8px;
58
+ }
59
+ }
54
60
  &-has-icon {
55
61
  .nut-toast-icon-wrapper {
56
62
  width: 100%;