bulade-ui 1.0.5 → 1.0.7

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 (80) hide show
  1. package/miniprogram_dist/bld-action-sheet/index.js +2 -2
  2. package/miniprogram_dist/bld-action-sheet/index.js.map +1 -1
  3. package/miniprogram_dist/bld-badge/index.js +2 -2
  4. package/miniprogram_dist/bld-badge/index.js.map +1 -1
  5. package/miniprogram_dist/bld-cloud-image/index.js +2 -2
  6. package/miniprogram_dist/bld-cloud-image/index.js.map +1 -1
  7. package/miniprogram_dist/bld-drawer/index.js +2 -2
  8. package/miniprogram_dist/bld-drawer/index.js.map +1 -1
  9. package/miniprogram_dist/bld-empty-page/index.js +2 -2
  10. package/miniprogram_dist/bld-empty-page/index.js.map +1 -1
  11. package/miniprogram_dist/bld-icon/index.wxss +7 -7
  12. package/miniprogram_dist/bld-message/index.js +2 -2
  13. package/miniprogram_dist/bld-message/index.js.map +1 -1
  14. package/miniprogram_dist/bld-message/message.js +2 -2
  15. package/miniprogram_dist/bld-message/message.js.map +1 -1
  16. package/miniprogram_dist/bld-modal/index.js +2 -2
  17. package/miniprogram_dist/bld-modal/index.js.map +1 -1
  18. package/miniprogram_dist/bld-modal/modal.js +2 -2
  19. package/miniprogram_dist/bld-modal/modal.js.map +1 -1
  20. package/miniprogram_dist/bld-nav-bar/index.js +18 -5
  21. package/miniprogram_dist/bld-nav-bar/index.js.map +1 -1
  22. package/miniprogram_dist/bld-nav-bar/index.json +2 -1
  23. package/miniprogram_dist/bld-nav-bar/index.wxml +14 -0
  24. package/miniprogram_dist/bld-nav-bar/index.wxss +10 -0
  25. package/miniprogram_dist/bld-navbar/index.js +2 -2
  26. package/miniprogram_dist/bld-navbar/index.js.map +1 -1
  27. package/miniprogram_dist/bld-navbar-group/index.js +2 -2
  28. package/miniprogram_dist/bld-navbar-group/index.js.map +1 -1
  29. package/miniprogram_dist/bld-notice-bar/index.js +171 -0
  30. package/miniprogram_dist/bld-notice-bar/index.js.map +1 -0
  31. package/miniprogram_dist/bld-notice-bar/index.json +3 -0
  32. package/miniprogram_dist/bld-notice-bar/index.wxml +30 -0
  33. package/miniprogram_dist/bld-notice-bar/index.wxss +51 -0
  34. package/miniprogram_dist/bld-overlay/index.js +2 -2
  35. package/miniprogram_dist/bld-overlay/index.js.map +1 -1
  36. package/miniprogram_dist/bld-page/index.js +2 -2
  37. package/miniprogram_dist/bld-page/index.js.map +1 -1
  38. package/miniprogram_dist/bld-pop-up/index.js +2 -2
  39. package/miniprogram_dist/bld-pop-up/index.js.map +1 -1
  40. package/miniprogram_dist/bld-retry/index.js +2 -2
  41. package/miniprogram_dist/bld-retry/index.js.map +1 -1
  42. package/miniprogram_dist/bld-scroll-view/index.js +2 -2
  43. package/miniprogram_dist/bld-scroll-view/index.js.map +1 -1
  44. package/miniprogram_dist/bld-tag/index.js +2 -2
  45. package/miniprogram_dist/bld-tag/index.js.map +1 -1
  46. package/miniprogram_dist/bld-toast/index.js +2 -2
  47. package/miniprogram_dist/bld-toast/index.js.map +1 -1
  48. package/miniprogram_dist/bld-toast/toast.js +2 -2
  49. package/miniprogram_dist/bld-toast/toast.js.map +1 -1
  50. package/miniprogram_dist/bld-wrapper/index.js +2 -2
  51. package/miniprogram_dist/bld-wrapper/index.js.map +1 -1
  52. package/miniprogram_dist/cell/index.js +2 -2
  53. package/miniprogram_dist/cell/index.js.map +1 -1
  54. package/miniprogram_dist/cell-group/index.js +2 -2
  55. package/miniprogram_dist/cell-group/index.js.map +1 -1
  56. package/miniprogram_dist/grid/index.js +2 -2
  57. package/miniprogram_dist/grid/index.js.map +1 -1
  58. package/miniprogram_dist/grid-item/index.js +2 -2
  59. package/miniprogram_dist/grid-item/index.js.map +1 -1
  60. package/miniprogram_dist/icon/index.js +2 -2
  61. package/miniprogram_dist/icon/index.js.map +1 -1
  62. package/miniprogram_dist/timeline/index.js +2 -2
  63. package/miniprogram_dist/timeline/index.js.map +1 -1
  64. package/miniprogram_dist/timeline-item/index.js +2 -2
  65. package/miniprogram_dist/timeline-item/index.js.map +1 -1
  66. package/miniprogram_dist/utils/systemInfo.js +2 -1
  67. package/package.json +1 -1
  68. package/src/bld-icon/index.scss +8 -11
  69. package/src/bld-icon/index.wxss +7 -7
  70. package/src/bld-nav-bar/index.js +15 -2
  71. package/src/bld-nav-bar/index.json +2 -1
  72. package/src/bld-nav-bar/index.scss +8 -0
  73. package/src/bld-nav-bar/index.wxml +14 -0
  74. package/src/bld-nav-bar/index.wxss +10 -0
  75. package/src/bld-notice-bar/index.js +69 -0
  76. package/src/bld-notice-bar/index.json +3 -0
  77. package/src/bld-notice-bar/index.scss +59 -0
  78. package/src/bld-notice-bar/index.wxml +30 -0
  79. package/src/bld-notice-bar/index.wxss +51 -0
  80. package/src/utils/systemInfo.js +2 -1
@@ -33,4 +33,14 @@
33
33
  .operations.right .operation {
34
34
  margin-right: 0;
35
35
  margin-left: 12rpx;
36
+ }
37
+
38
+ .notice-wrap {
39
+ position: fixed;
40
+ width: 750rpx;
41
+ left: 0;
42
+ }
43
+
44
+ .preifx, .suffix {
45
+ padding: 0 6rpx;
36
46
  }
@@ -0,0 +1,69 @@
1
+ Component({
2
+ externalClasses: ['iclass'],
3
+
4
+ options: {
5
+ addGlobalClass: true,
6
+ multipleSlots: true // 在组件定义时的选项中启用多slot支持
7
+ },
8
+
9
+ properties: {
10
+ // 延迟播放时长
11
+ delay: {
12
+ type: Number,
13
+ value: 1
14
+ },
15
+ // 滚动速度 rpx/s
16
+ speed: {
17
+ type: Number,
18
+ value: 150
19
+ },
20
+ // 长度溢出时自动滚动播放
21
+ scrollable: {
22
+ type: Boolean,
23
+ value: true
24
+ },
25
+ multiline: {
26
+ type: Boolean,
27
+ value: false
28
+ }
29
+ },
30
+
31
+ data: {
32
+ delaySec: 0,
33
+ },
34
+
35
+ lifetimes: {
36
+ ready() {
37
+ this.getContainerWidth()
38
+ }
39
+ },
40
+
41
+ methods: {
42
+ getContainerWidth() {
43
+ const query = this.createSelectorQuery()
44
+ query.select('.m-notice-bar').boundingClientRect()
45
+ query.select('.m-notice-bar__content').boundingClientRect()
46
+
47
+ query.exec(res => {
48
+ const wrapW = wx.getSystemInfoSync().windowWidth // 容器宽度
49
+ const noticeW = (res[0].width) * (750 / wrapW)
50
+ const containW = (res[1].width) * (750 / wrapW) // 内容宽度(折合为rpx)
51
+
52
+ // 内容宽度小于内容区域宽度,则不滚动
53
+ if (containW <= noticeW) {
54
+ this.setData({
55
+ scrollable: false
56
+ })
57
+
58
+ return;
59
+ }
60
+
61
+ const delaySec = containW / this.data.speed
62
+
63
+ this.setData({
64
+ delaySec: parseInt(delaySec)
65
+ })
66
+ })
67
+ }
68
+ }
69
+ });
@@ -0,0 +1,3 @@
1
+ {
2
+ "component": true
3
+ }
@@ -0,0 +1,59 @@
1
+ .m-notice-bar__wrap {
2
+ display: flex;
3
+ align-items: center;
4
+ flex-shrink: 0;
5
+ font-size: 28rpx;
6
+ color: #ed6a0c;
7
+ background-color: #fffbe8;
8
+
9
+ .m-notice-bar {
10
+ flex: 1;
11
+ position: relative;
12
+ padding: 20rpx 16rpx;
13
+ min-height: 76rpx;
14
+ line-height: 1.4;
15
+ overflow: hidden;
16
+ box-sizing:border-box;
17
+
18
+ .m-notice-bar__content {
19
+ z-index: 0;
20
+ position: absolute;
21
+ white-space: nowrap;
22
+ transform: translateX(0);
23
+ }
24
+
25
+ .is-ellipsis {
26
+ position: static;
27
+ overflow: hidden;
28
+ text-overflow: ellipsis;
29
+ white-space: nowrap;
30
+ }
31
+
32
+ .is-multiline {
33
+ position: static;
34
+ overflow: auto;
35
+ white-space: normal;
36
+ -webkit-overflow-scrolling: touch;
37
+ }
38
+ }
39
+
40
+ @keyframes once {
41
+ 0% {
42
+ transform: translateX(0);
43
+ }
44
+
45
+ 100% {
46
+ transform: translateX(-100%);
47
+ }
48
+ }
49
+
50
+ @keyframes round {
51
+ 0% {
52
+ transform: translateX(750rpx);
53
+ }
54
+
55
+ 100% {
56
+ transform: translateX(-100%);
57
+ }
58
+ }
59
+ }
@@ -0,0 +1,30 @@
1
+ <view class="m-notice-bar__wrap iclass">
2
+
3
+ <slot name="preifx" />
4
+
5
+ <view class="m-notice-bar">
6
+ <view
7
+ class="m-notice-bar__content {{ !scrollable ? 'is-ellipsis' : '' }} {{ multiline ? 'is-multiline':'' }}"
8
+ style="{{ notice.setAnimation(scrollable, delaySec, speed, delay) }}"
9
+ >
10
+ <slot />
11
+ </view>
12
+ </view>
13
+
14
+ <slot name="suffix" />
15
+ </view>
16
+
17
+
18
+ <wxs module="notice">
19
+ function setAnimation(scrollable, sec, speed, delay) {
20
+ if(!scrollable || sec === 0) return ''
21
+
22
+ return [
23
+ 'animation: once '+ sec +'s linear ' + delay + 's, round '+ (sec + 750 / speed) +'s linear '+ (sec + delay) +'s infinite',
24
+ ].join(';');
25
+ }
26
+
27
+ module.exports = {
28
+ setAnimation: setAnimation
29
+ }
30
+ </wxs>
@@ -0,0 +1,51 @@
1
+ .m-notice-bar__wrap {
2
+ display: flex;
3
+ align-items: center;
4
+ flex-shrink: 0;
5
+ font-size: 28rpx;
6
+ color: #ed6a0c;
7
+ background-color: #fffbe8;
8
+ }
9
+ .m-notice-bar__wrap .m-notice-bar {
10
+ flex: 1;
11
+ position: relative;
12
+ padding: 20rpx 16rpx;
13
+ min-height: 76rpx;
14
+ line-height: 1.4;
15
+ overflow: hidden;
16
+ box-sizing: border-box;
17
+ }
18
+ .m-notice-bar__wrap .m-notice-bar .m-notice-bar__content {
19
+ z-index: 0;
20
+ position: absolute;
21
+ white-space: nowrap;
22
+ transform: translateX(0);
23
+ }
24
+ .m-notice-bar__wrap .m-notice-bar .is-ellipsis {
25
+ position: static;
26
+ overflow: hidden;
27
+ text-overflow: ellipsis;
28
+ white-space: nowrap;
29
+ }
30
+ .m-notice-bar__wrap .m-notice-bar .is-multiline {
31
+ position: static;
32
+ overflow: auto;
33
+ white-space: normal;
34
+ -webkit-overflow-scrolling: touch;
35
+ }
36
+ @keyframes once {
37
+ 0% {
38
+ transform: translateX(0);
39
+ }
40
+ 100% {
41
+ transform: translateX(-100%);
42
+ }
43
+ }
44
+ @keyframes round {
45
+ 0% {
46
+ transform: translateX(750rpx);
47
+ }
48
+ 100% {
49
+ transform: translateX(-100%);
50
+ }
51
+ }
@@ -25,7 +25,8 @@ export default () => {
25
25
  menuButtonDistance,
26
26
  deviceInfo,
27
27
  isMobile,
28
- isPc
28
+ isPc,
29
+ noticeText:''
29
30
  }
30
31
  } catch (e) {
31
32
  console.warn('getSystemInfoSync error')