hy-app 0.1.5 → 0.2.0

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 (166) hide show
  1. package/components/hy-address-picker/hy-address-picker.vue +11 -0
  2. package/components/hy-address-picker/index.scss +1 -1
  3. package/components/hy-avatar/hy-avatar.vue +11 -0
  4. package/components/hy-avatar/index.scss +8 -8
  5. package/components/hy-back-top/hy-back-top.vue +13 -2
  6. package/components/hy-back-top/index.scss +11 -1
  7. package/components/hy-badge/hy-badge.vue +11 -0
  8. package/components/hy-badge/index.scss +18 -40
  9. package/components/hy-button/hy-button.vue +15 -5
  10. package/components/hy-button/index.scss +25 -45
  11. package/components/hy-calendar/header.vue +12 -12
  12. package/components/hy-calendar/hy-calendar.vue +11 -2
  13. package/components/hy-calendar/index.scss +140 -131
  14. package/components/hy-calendar/month.vue +18 -18
  15. package/components/hy-card/hy-card.vue +11 -0
  16. package/components/hy-card/index.scss +12 -12
  17. package/components/hy-card/props.ts +2 -2
  18. package/components/hy-cell/hy-cell.vue +22 -13
  19. package/components/hy-cell/index.scss +55 -28
  20. package/components/hy-cell/props.ts +2 -3
  21. package/components/hy-cell/typing.d.ts +3 -10
  22. package/components/hy-check-button/hy-check-button.vue +13 -2
  23. package/components/hy-check-button/index.scss +0 -5
  24. package/components/hy-checkbox/hy-checkbox.vue +31 -8
  25. package/components/hy-checkbox/index.scss +15 -5
  26. package/components/hy-checkbox/props.ts +1 -2
  27. package/components/hy-checkbox/typing.d.ts +1 -1
  28. package/components/hy-config-provider/hy-config-provider.vue +52 -0
  29. package/components/hy-config-provider/index.scss +21 -0
  30. package/components/hy-config-provider/props.ts +13 -0
  31. package/components/hy-config-provider/typing.d.ts +28 -0
  32. package/components/hy-count-down/hy-count-down.vue +11 -0
  33. package/components/hy-count-down/index.scss +13 -1
  34. package/components/hy-count-to/hy-count-to.vue +12 -1
  35. package/components/hy-count-to/index.scss +14 -1
  36. package/components/hy-count-to/props.ts +1 -1
  37. package/components/hy-datetime-picker/hy-datetime-picker.vue +11 -0
  38. package/components/hy-datetime-picker/index.scss +1 -1
  39. package/components/hy-divider/hy-divider.vue +11 -0
  40. package/components/hy-divider/index.scss +1 -1
  41. package/components/hy-dropdown/hy-dropdown.vue +13 -1
  42. package/components/hy-dropdown/index.scss +4 -1
  43. package/components/hy-dropdown/props.ts +2 -2
  44. package/components/hy-dropdown-item/hy-dropdown-item.vue +21 -3
  45. package/components/hy-dropdown-item/index.scss +35 -2
  46. package/components/hy-empty/hy-empty.vue +22 -10
  47. package/components/hy-empty/index.scss +17 -3
  48. package/components/hy-empty/props.ts +1 -5
  49. package/components/hy-empty/typing.d.ts +3 -18
  50. package/components/hy-float-button/hy-float-button.vue +11 -0
  51. package/components/hy-float-button/index.scss +13 -2
  52. package/components/hy-float-button/props.ts +3 -3
  53. package/components/hy-folding-panel/hy-folding-panel.vue +11 -0
  54. package/components/hy-folding-panel/index.scss +4 -1
  55. package/components/hy-form/hy-form.vue +25 -9
  56. package/components/hy-form/index.scss +12 -2
  57. package/components/hy-grid/hy-grid.vue +11 -0
  58. package/components/hy-grid/index.scss +1 -1
  59. package/components/hy-icon/hy-icon.vue +12 -1
  60. package/components/hy-icon/index.scss +16 -7
  61. package/components/hy-icon/props.ts +2 -2
  62. package/components/hy-image/hy-image.vue +11 -0
  63. package/components/hy-image/index.scss +4 -3
  64. package/components/hy-input/hy-input.vue +31 -3
  65. package/components/hy-input/index.scss +12 -2
  66. package/components/hy-input/props.ts +1 -1
  67. package/components/hy-input/typing.d.ts +8 -0
  68. package/components/hy-line/hy-line.vue +11 -0
  69. package/components/hy-line/index.scss +4 -1
  70. package/components/hy-line-progress/hy-line-progress.vue +17 -2
  71. package/components/hy-line-progress/index.scss +20 -8
  72. package/components/hy-line-progress/props.ts +4 -4
  73. package/components/hy-line-progress/typing.d.ts +4 -0
  74. package/components/hy-list/hy-list.vue +23 -8
  75. package/components/hy-list/index.scss +1 -4
  76. package/components/hy-loading/hy-loading.vue +11 -0
  77. package/components/hy-loading/index.scss +2 -2
  78. package/components/hy-login/TheUserLogin.vue +63 -106
  79. package/components/hy-login/hy-login.vue +269 -266
  80. package/components/hy-login/props.ts +1 -1
  81. package/components/hy-login/typing.d.ts +5 -0
  82. package/components/hy-modal/hy-modal.vue +15 -7
  83. package/components/hy-modal/index.scss +19 -3
  84. package/components/hy-navbar/hy-navbar.vue +11 -0
  85. package/components/hy-navbar/index.scss +14 -3
  86. package/components/hy-navbar/props.ts +1 -1
  87. package/components/hy-notice-bar/hy-notice-bar.vue +11 -0
  88. package/components/hy-notice-bar/index.scss +35 -35
  89. package/components/hy-number-step/hy-number-step.vue +15 -8
  90. package/components/hy-number-step/index.scss +34 -25
  91. package/components/hy-number-step/props.ts +4 -4
  92. package/components/hy-overlay/index.scss +3 -1
  93. package/components/hy-picker/hy-picker.vue +12 -0
  94. package/components/hy-picker/index.scss +7 -3
  95. package/components/hy-picker/props.ts +1 -1
  96. package/components/hy-popup/hy-popup.vue +11 -0
  97. package/components/hy-popup/index.scss +10 -1
  98. package/components/hy-price/hy-price.vue +11 -0
  99. package/components/hy-price/index.scss +4 -1
  100. package/components/hy-qrcode/hy-qrcode.vue +11 -0
  101. package/components/hy-qrcode/index.scss +4 -1
  102. package/components/hy-radio/hy-radio.vue +19 -3
  103. package/components/hy-radio/index.scss +17 -5
  104. package/components/hy-radio/props.ts +1 -2
  105. package/components/hy-rate/hy-rate.vue +11 -0
  106. package/components/hy-rate/index.scss +6 -6
  107. package/components/hy-read-more/hy-read-more.vue +23 -2
  108. package/components/hy-read-more/index.scss +29 -2
  109. package/components/hy-read-more/props.ts +2 -7
  110. package/components/hy-scroll-list/hy-scroll-list.vue +31 -9
  111. package/components/hy-scroll-list/index.scss +10 -1
  112. package/components/hy-scroll-list/props.ts +2 -2
  113. package/components/hy-search/hy-search.vue +11 -0
  114. package/components/hy-search/index.scss +25 -4
  115. package/components/hy-search/props.ts +2 -2
  116. package/components/hy-slider/hy-slider.vue +11 -0
  117. package/components/hy-slider/index.scss +3 -2
  118. package/components/hy-slider/props.ts +1 -1
  119. package/components/hy-steps/hy-steps.vue +38 -20
  120. package/components/hy-steps/index.scss +57 -17
  121. package/components/hy-steps/props.ts +2 -2
  122. package/components/{hy-submitBar/hy-submitBar.vue → hy-submit-bar/hy-submit-bar.vue} +13 -34
  123. package/components/hy-submit-bar/index.scss +45 -0
  124. package/components/hy-subsection/hy-subsection.vue +12 -0
  125. package/components/hy-subsection/index.scss +28 -8
  126. package/components/hy-subsection/props.ts +3 -3
  127. package/components/hy-swiper/hy-swiper.vue +11 -0
  128. package/components/hy-swiper/index.scss +13 -2
  129. package/components/hy-switch/hy-switch.vue +17 -3
  130. package/components/hy-switch/index.scss +25 -7
  131. package/components/hy-switch/props.ts +1 -2
  132. package/components/hy-switch/typing.d.ts +3 -3
  133. package/components/hy-tabs/hy-tabs.vue +27 -15
  134. package/components/hy-tabs/index.scss +25 -4
  135. package/components/hy-tabs/props.ts +4 -10
  136. package/components/hy-tag/hy-tag.vue +13 -7
  137. package/components/hy-tag/index.scss +27 -115
  138. package/components/hy-text/hy-text.vue +12 -1
  139. package/components/hy-text/index.scss +20 -37
  140. package/components/hy-textarea/hy-textarea.vue +16 -5
  141. package/components/hy-textarea/index.scss +16 -5
  142. package/components/hy-toast/hy-toast.vue +12 -1
  143. package/components/hy-toast/index.scss +26 -26
  144. package/components/hy-tooltip/hy-tooltip.vue +11 -0
  145. package/components/hy-tooltip/index.scss +3 -3
  146. package/components/hy-tooltip/props.ts +1 -1
  147. package/components/hy-upload/hy-upload.vue +11 -0
  148. package/components/hy-upload/index.scss +12 -1
  149. package/components/hy-warn/hy-warn.vue +22 -11
  150. package/components/hy-warn/index.scss +46 -1
  151. package/components/hy-waterfall/hy-waterfall.vue +11 -0
  152. package/components/hy-waterfall/index.scss +1 -1
  153. package/config/icon.ts +4 -0
  154. package/libs/css/common.scss +9 -0
  155. package/libs/css/mixin.scss +78 -0
  156. package/package.json +2 -2
  157. package/public/font/iconfont.css +3 -3
  158. package/store/userInfo.ts +26 -25
  159. package/theme.scss +76 -60
  160. package/typing/modules/common.d.ts +4 -0
  161. package/utils/colorGradient.ts +1 -1
  162. package/utils/inside.ts +3 -0
  163. package/components/hy-submitBar/Index.vue +0 -17
  164. package/components/hy-submitBar/index.scss +0 -9
  165. /package/components/{hy-submitBar → hy-submit-bar}/props.ts +0 -0
  166. /package/components/{hy-submitBar → hy-submit-bar}/typing.d.ts +0 -0
@@ -1,7 +1,19 @@
1
1
  @use "../../theme.scss" as *;
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
- .hy-modal {
4
+ /* 暗色主题 */
5
+ @include b(theme){
6
+ @include m(dark) {
7
+ @include b(modal) {
8
+ color: $hy-dark-color;
9
+ &__button-group__wrapper--hover {
10
+ background-color: $hy-dark-background--hover;
11
+ }
12
+ }
13
+ }
14
+ }
15
+
16
+ @include b(modal) {
5
17
  width: 650rpx;
6
18
  border-radius: $hy-border-radius-base;
7
19
  overflow: hidden;
@@ -48,7 +60,7 @@
48
60
  height: 48px;
49
61
 
50
62
  &--line {
51
- background: $hy-text-color-light;
63
+ background: $hy-border-color-light;
52
64
  width: 1px;
53
65
  height: 48px;
54
66
  }
@@ -64,7 +76,7 @@
64
76
  }
65
77
 
66
78
  &--hover {
67
- background-color: $hy-bg-color-grey;
79
+ background-color: $hy-light-background-hover;
68
80
  }
69
81
 
70
82
  &__text {
@@ -72,6 +84,10 @@
72
84
  font-size: 16px;
73
85
  text-align: center;
74
86
  }
87
+
88
+ &--confirm-text {
89
+ color: $hy-primary;
90
+ }
75
91
  }
76
92
  }
77
93
  }
@@ -82,6 +82,17 @@
82
82
  </view>
83
83
  </template>
84
84
 
85
+ <script lang="ts">
86
+ export default {
87
+ name: 'hy-navbar',
88
+ options: {
89
+ addGlobalClass: true,
90
+ virtualHost: true,
91
+ styleIsolation: 'shared'
92
+ }
93
+ }
94
+ </script>
95
+
85
96
  <script setup lang="ts">
86
97
  import defaultProps from "./props";
87
98
  import type IProps from "./typing";
@@ -1,7 +1,19 @@
1
1
  @use "../../theme.scss" as *;
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
- .hy-navbar {
4
+ /* 暗色主题 */
5
+ @include b(theme){
6
+ @include m(dark) {
7
+ @include b(navbar) {
8
+ &__content {
9
+ color: $hy-dark-color;
10
+ background-color: $hy-dark-background;
11
+ }
12
+ }
13
+ }
14
+ }
15
+
16
+ @include b(navbar) {
5
17
  &--fixed {
6
18
  position: fixed;
7
19
  left: 0;
@@ -14,7 +26,7 @@
14
26
  @include flex(row);
15
27
  align-items: center;
16
28
  height: 44px;
17
- background-color: #9acafc;
29
+ background-color: #F8F8F8;
18
30
  position: relative;
19
31
  justify-content: center;
20
32
 
@@ -47,7 +59,6 @@
47
59
  text-align: center;
48
60
  &--title {
49
61
  font-size: $hy-font-size-subtitle;
50
- color: $hy-color-title;
51
62
  }
52
63
  &--sub {
53
64
  font-size: $hy-font-size-hint;
@@ -13,7 +13,7 @@ const defaultProps: IProps = {
13
13
  title: "",
14
14
  sub: "",
15
15
  titleColor: "",
16
- bgColor: "#ffffff",
16
+ bgColor: "",
17
17
  titleWidth: "400rpx",
18
18
  height: "44px",
19
19
  leftIconSize: 20,
@@ -43,6 +43,17 @@
43
43
  </view>
44
44
  </template>
45
45
 
46
+ <script lang="ts">
47
+ export default {
48
+ name: 'hy-notice-bar',
49
+ options: {
50
+ addGlobalClass: true,
51
+ virtualHost: true,
52
+ styleIsolation: 'shared'
53
+ }
54
+ }
55
+ </script>
56
+
46
57
  <script setup lang="ts">
47
58
  import { ref, toRefs } from "vue";
48
59
  import defaultProps from "./props";
@@ -2,7 +2,7 @@
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
4
 
5
- .hy-notice {
5
+ @include b(notice) {
6
6
  @include flex;
7
7
  align-items: center;
8
8
  justify-content: space-between;
@@ -52,42 +52,42 @@
52
52
  }
53
53
  /* #endif */
54
54
 
55
- .hy-notice-bar {
55
+ @include b(notice-bar) {
56
56
  overflow: hidden;
57
57
  padding: 9px 12px;
58
58
  flex: 1;
59
59
  }
60
60
 
61
- .hy-notice {
62
- @include flex;
63
- align-items: center;
64
- justify-content: space-between;
65
-
66
- &__left-icon {
67
- align-items: center;
68
- margin-right: 5px;
69
- }
70
-
71
- &__right-icon {
72
- margin-left: 5px;
73
- align-items: center;
74
- }
75
-
76
- &__swiper {
77
- height: 16px;
78
- @include flex;
79
- align-items: center;
80
- flex: 1;
81
-
82
- &__item {
83
- @include flex;
84
- align-items: center;
85
- overflow: hidden;
86
-
87
- &__text {
88
- font-size: 14px;
89
- color: $hy-warning;
90
- }
91
- }
92
- }
93
- }
61
+ //.hy-notice {
62
+ // @include flex;
63
+ // align-items: center;
64
+ // justify-content: space-between;
65
+ //
66
+ // &__left-icon {
67
+ // align-items: center;
68
+ // margin-right: 5px;
69
+ // }
70
+ //
71
+ // &__right-icon {
72
+ // margin-left: 5px;
73
+ // align-items: center;
74
+ // }
75
+ //
76
+ // &__swiper {
77
+ // height: 16px;
78
+ // @include flex;
79
+ // align-items: center;
80
+ // flex: 1;
81
+ //
82
+ // &__item {
83
+ // @include flex;
84
+ // align-items: center;
85
+ // overflow: hidden;
86
+ //
87
+ // &__text {
88
+ // font-size: 14px;
89
+ // color: $hy-warning;
90
+ // }
91
+ // }
92
+ // }
93
+ //}
@@ -24,7 +24,7 @@
24
24
  ]"
25
25
  :style="buttonStyle('minus')"
26
26
  >
27
- <HyICon
27
+ <HyIcon
28
28
  :name="minusIcon?.name || IconConfig.MINUS"
29
29
  :color="isDisabled('minus') ? '#c8c9cc' : minusIcon?.color"
30
30
  :size="minusIcon?.size"
@@ -37,7 +37,7 @@
37
37
  :stop="minusIcon?.stop"
38
38
  :round="minusIcon?.round"
39
39
  :customStyle="minusIcon?.customStyle"
40
- ></HyICon>
40
+ ></HyIcon>
41
41
  </view>
42
42
  <!-- 减号 -->
43
43
 
@@ -106,7 +106,7 @@
106
106
  ]"
107
107
  :style="[buttonStyle('plus')]"
108
108
  >
109
- <HyICon
109
+ <HyIcon
110
110
  :name="plusIcon?.name || IconConfig.PLUS"
111
111
  :color="isDisabled('plus') ? '#c8c9cc' : plusIcon?.color"
112
112
  :size="plusIcon?.size"
@@ -119,12 +119,23 @@
119
119
  :stop="plusIcon?.stop"
120
120
  :round="plusIcon?.round"
121
121
  :customStyle="plusIcon?.customStyle"
122
- ></HyICon>
122
+ ></HyIcon>
123
123
  </view>
124
124
  <!-- 加号 -->
125
125
  </view>
126
126
  </template>
127
127
 
128
+ <script lang="ts">
129
+ export default {
130
+ name: 'hy-number-step',
131
+ options: {
132
+ addGlobalClass: true,
133
+ virtualHost: true,
134
+ styleIsolation: 'shared'
135
+ }
136
+ }
137
+ </script>
138
+
128
139
  <script setup lang="ts">
129
140
  import {
130
141
  computed,
@@ -139,7 +150,6 @@ import defaultProps from "./props";
139
150
  import type IProps from "./typing";
140
151
  import { addUnit } from "../../utils";
141
152
  import { IconConfig } from "../../config";
142
- import HyICon from "../hy-icon/hy-icon.vue";
143
153
  import HyIcon from "../hy-icon/hy-icon.vue";
144
154
 
145
155
  const props = withDefaults(defineProps<IProps>(), defaultProps);
@@ -236,9 +246,6 @@ const buttonStyle = computed(() => {
236
246
  color: color.value,
237
247
  borderRadius: buttonRadius.value,
238
248
  };
239
- if (isDisabled.value(type)) {
240
- style.backgroundColor = "#f7f8fa";
241
- }
242
249
  return style;
243
250
  };
244
251
  });
@@ -1,19 +1,26 @@
1
1
  @use "../../theme.scss" as *;
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
- $u-numberBox-hover-bgColor: #e6e6e6 !default;
5
- $u-numberBox-disabled-color: #c8c9cc !default;
6
- $u-numberBox-disabled-bgColor: #f7f8fa !default;
7
- $u-numberBox-plus-radius: 4px !default;
8
- $u-numberBox-minus-radius: 4px !default;
9
- $u-numberBox-input-text-align: center !default;
10
- $u-numberBox-input-font-size: 15px !default;
11
- $u-numberBox-input-padding: 0 !default;
12
- $u-numberBox-input-margin: 0 2px !default;
13
- $u-numberBox-input-disabled-color: #c8c9cc !default;
14
- $u-numberBox-input-disabled-bgColor: #f2f3f5 !default;
4
+ /* 暗色主题 */
5
+ @include b(theme){
6
+ @include m(dark) {
7
+ @include b(number-box) {
8
+ color: $hy-dark-color;
9
+ &__input,
10
+ &__plus,
11
+ &__minus {
12
+ background-color: $hy-dark-background--empty;
13
+ &--disabled {
14
+ color: $hy-dark-text-disabled;
15
+ background-color: $hy-dark-bg-disabled;
16
+ }
17
+ }
18
+ }
19
+ }
20
+ }
21
+
15
22
 
16
- .hy-number-box {
23
+ @include b(number-box) {
17
24
  @include flex(row);
18
25
  align-items: center;
19
26
 
@@ -23,8 +30,10 @@ $u-numberBox-input-disabled-bgColor: #f2f3f5 !default;
23
30
  /* #endif */
24
31
  }
25
32
 
33
+ &__input,
26
34
  &__plus,
27
35
  &__minus {
36
+ background-color: #EBECEE;
28
37
  width: 35px;
29
38
  @include flex;
30
39
  justify-content: center;
@@ -34,38 +43,38 @@ $u-numberBox-input-disabled-bgColor: #f2f3f5 !default;
34
43
  /* #endif */
35
44
 
36
45
  &--hover {
37
- background-color: $u-numberBox-hover-bgColor !important;
46
+ background-color: $hy-light-background-hover;
38
47
  }
39
48
 
40
49
  &--disabled {
41
- color: $u-numberBox-disabled-color;
42
- background-color: $u-numberBox-disabled-bgColor;
50
+ color: $hy-text-color-disable;
51
+ background-color: $hy-light-background-disabled;
43
52
  }
44
53
  }
45
54
 
46
55
  &__plus {
47
- border-top-right-radius: $u-numberBox-plus-radius;
48
- border-bottom-right-radius: $u-numberBox-plus-radius;
56
+ border-top-right-radius: 4px;
57
+ border-bottom-right-radius: 4px;
49
58
  }
50
59
 
51
60
  &__minus {
52
- border-top-left-radius: $u-numberBox-minus-radius;
53
- border-bottom-left-radius: $u-numberBox-minus-radius;
61
+ border-top-left-radius: 4px;
62
+ border-bottom-left-radius: 4px;
54
63
  }
55
64
 
56
65
  &__input {
57
66
  position: relative;
58
- text-align: $u-numberBox-input-text-align;
59
- font-size: $u-numberBox-input-font-size;
60
- padding: $u-numberBox-input-padding;
61
- margin: $u-numberBox-input-margin;
67
+ text-align: center;
68
+ font-size: 15px;
69
+ padding: 0;
70
+ margin: 0 2px;
62
71
  @include flex;
63
72
  align-items: center;
64
73
  justify-content: center;
65
74
 
66
75
  &--disabled {
67
- color: $u-numberBox-input-disabled-color;
68
- background-color: $u-numberBox-input-disabled-bgColor;
76
+ color: #c8c9cc;
77
+ background-color: #f2f3f5;
69
78
  }
70
79
  }
71
80
  }
@@ -14,12 +14,12 @@ const defaultProps: IProps = {
14
14
  showPlus: true,
15
15
  decimalLength: null,
16
16
  longPress: true,
17
- color: "#323233",
17
+ color: "",
18
18
  buttonWidth: 30,
19
19
  buttonSize: 30,
20
- buttonRadius: "0px",
21
- bgColor: "#EBECEE",
22
- inputBgColor: "#EBECEE",
20
+ buttonRadius: "",
21
+ bgColor: "",
22
+ inputBgColor: "",
23
23
  cursorSpacing: 100,
24
24
  disableMinus: false,
25
25
  disablePlus: false,
@@ -1,5 +1,7 @@
1
+ @use "../../theme.scss" as *;
2
+ @use "../../libs/css/mixin.scss" as *;
1
3
 
2
- .hy-overlay {
4
+ @include b(overlay) {
3
5
  position: fixed;
4
6
  top: 0;
5
7
  left: 0;
@@ -70,6 +70,7 @@
70
70
  :style="{
71
71
  height: `${addUnit(visibleItemCount * itemHeight)}`,
72
72
  }"
73
+ maskStyle="backgroundImage: none;"
73
74
  @change="changeHandler"
74
75
  >
75
76
  <picker-view-column
@@ -108,6 +109,17 @@
108
109
  </view>
109
110
  </template>
110
111
 
112
+ <script lang="ts">
113
+ export default {
114
+ name: 'hy-picker',
115
+ options: {
116
+ addGlobalClass: true,
117
+ virtualHost: true,
118
+ styleIsolation: 'shared'
119
+ }
120
+ }
121
+ </script>
122
+
111
123
  <script setup lang="ts">
112
124
  import { computed, ref, toRefs, watch } from "vue";
113
125
  import { deepClone, sleep, addUnit } from "../../utils";
@@ -1,7 +1,8 @@
1
1
  @use "../../theme.scss" as *;
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
- .hy-picker {
4
+
5
+ @include b(picker) {
5
6
  position: relative;
6
7
  &-input {
7
8
  position: relative;
@@ -24,6 +25,10 @@
24
25
  font-size: $hy-font-size-subtitle;
25
26
  color: $hy-color-subtitle;
26
27
  }
28
+
29
+ &--right {
30
+ color: $hy-primary;
31
+ }
27
32
  }
28
33
 
29
34
  &__view {
@@ -41,7 +46,6 @@
41
46
  /* #ifndef APP-NVUE */
42
47
  display: block;
43
48
  /* #endif */
44
- color: #303133ff;
45
49
 
46
50
  &--disabled {
47
51
  /* #ifndef APP-NVUE */
@@ -53,7 +57,7 @@
53
57
  }
54
58
  }
55
59
 
56
- &--loading {
60
+ @include m(loading) {
57
61
  position: absolute;
58
62
  top: 0;
59
63
  right: 0;
@@ -13,7 +13,7 @@ const defaultProps: IProps = {
13
13
  cancelText: "取消",
14
14
  confirmText: "确定",
15
15
  cancelColor: "#909193",
16
- confirmColor: "#3c9cff",
16
+ confirmColor: "",
17
17
  visibleItemCount: 5,
18
18
  keyName: "text",
19
19
  closeOnClickOverlay: false,
@@ -42,6 +42,17 @@
42
42
  </view>
43
43
  </template>
44
44
 
45
+ <script lang="ts">
46
+ export default {
47
+ name: 'hy-popup',
48
+ options: {
49
+ addGlobalClass: true,
50
+ virtualHost: true,
51
+ styleIsolation: 'shared'
52
+ }
53
+ }
54
+ </script>
55
+
45
56
  <script setup lang="ts">
46
57
  import { computed, type CSSProperties, ref, toRefs, watch } from "vue";
47
58
  import defaultProps from "./props";
@@ -1,8 +1,17 @@
1
1
  @use "../../theme.scss" as *;
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
+ /* 暗色主题 */
5
+ @include b(theme) {
6
+ @include m(dark) {
7
+ @include b(popup__content) {
8
+ background-color: $hy-dark-background--2;
9
+ color: $hy-dark-color;
10
+ }
11
+ }
12
+ }
4
13
 
5
- .hy-popup {
14
+ @include b(popup) {
6
15
  flex: 1;
7
16
 
8
17
  &__content {
@@ -16,6 +16,17 @@
16
16
  </text>
17
17
  </template>
18
18
 
19
+ <script lang="ts">
20
+ export default {
21
+ name: 'hy-price',
22
+ options: {
23
+ addGlobalClass: true,
24
+ virtualHost: true,
25
+ styleIsolation: 'shared'
26
+ }
27
+ }
28
+ </script>
29
+
19
30
  <script setup lang="ts">
20
31
  import { computed, type CSSProperties, toRefs } from "vue";
21
32
  import defaultProps from "./props";
@@ -1,4 +1,7 @@
1
- .hy-price {
1
+ @use "../../theme.scss" as *;
2
+ @use "../../libs/css/mixin.scss" as *;
3
+
4
+ @include b(price) {
2
5
  font-size: 32rpx;
3
6
  font-weight: 500;
4
7
  margin-top: 5px;
@@ -20,6 +20,17 @@
20
20
  </view>
21
21
  </template>
22
22
 
23
+ <script lang="ts">
24
+ export default {
25
+ name: 'hy-qrcode',
26
+ options: {
27
+ addGlobalClass: true,
28
+ virtualHost: true,
29
+ styleIsolation: 'shared'
30
+ }
31
+ }
32
+ </script>
33
+
23
34
  <script setup lang="ts">
24
35
  import { getCurrentInstance, toRefs, ref, onMounted } from "vue";
25
36
  import defaultProps from "./props";
@@ -1,4 +1,7 @@
1
- .hy-qrcode {
1
+ @use "../../theme.scss" as *;
2
+ @use "../../libs/css/mixin.scss" as *;
3
+
4
+ @include b(qrcode) {
2
5
  &__loading {
3
6
  display: flex;
4
7
  justify-content: center;
@@ -49,6 +49,17 @@
49
49
  </view>
50
50
  </template>
51
51
 
52
+ <script lang="ts">
53
+ export default {
54
+ name: 'hy-radio',
55
+ options: {
56
+ addGlobalClass: true,
57
+ virtualHost: true,
58
+ styleIsolation: 'shared'
59
+ }
60
+ }
61
+ </script>
62
+
52
63
  <script setup lang="ts">
53
64
  import type IProps from "./typing";
54
65
  import type { CheckboxColumnsVo } from "../hy-check-button/typing";
@@ -154,8 +165,11 @@ const iconClasses = computed(() => {
154
165
  if (isDisabled(temp?.disabled)) {
155
166
  classes.push("hy-radio__icon-wrap--disabled");
156
167
  }
157
- if (temp[fieldNames.value.checked] && isDisabled(temp?.disabled)) {
158
- classes.push("hy-radio__icon-wrap--disabled--checked");
168
+ if (temp[fieldNames.value.checked]) {
169
+ classes.push("hy-radio__icon-wrap--checked");
170
+ if (isDisabled(temp?.disabled)) {
171
+ classes.push("hy-radio__icon-wrap--disabled--checked");
172
+ }
159
173
  }
160
174
  return classes;
161
175
  };
@@ -171,7 +185,9 @@ const iconWrapStyle = computed(() => {
171
185
  style.backgroundColor =
172
186
  temp[fieldNames.value.checked] && !isDisabled(temp?.disabled)
173
187
  ? activeColor.value
174
- : "#ffffff";
188
+ : !isDisabled(temp?.disabled)
189
+ ? "#ffffff"
190
+ : "";
175
191
  style.borderColor =
176
192
  temp[fieldNames.value.checked] && !isDisabled(temp?.disabled)
177
193
  ? activeColor.value
@@ -1,7 +1,16 @@
1
1
  @use "../../theme.scss" as *;
2
2
  @use "../../libs/css/mixin.scss" as *;
3
3
 
4
- .hy-radio {
4
+ /* 暗色主题 */
5
+ @include b(theme){
6
+ @include m(dark) {
7
+ @include b(radio__label-wrap) {
8
+ color: $hy-dark-color;
9
+ }
10
+ }
11
+ }
12
+
13
+ @include b(radio) {
5
14
  @include flex(row);
6
15
  overflow: hidden;
7
16
  flex-direction: row;
@@ -64,17 +73,19 @@
64
73
  }
65
74
 
66
75
  &--checked {
67
- color: $hy-text-color-inverse;
76
+ color: #FFFFFF;
68
77
  background-color: $hy-primary;
69
78
  border-color: $hy-primary;
70
79
  }
71
80
 
72
81
  &--disabled {
73
- background-color: $hy-color-disable-bg !important;
82
+ background-color: $hy-light-background-disabled;
74
83
  }
75
84
 
76
85
  &--disabled--checked {
77
- color: $hy-color-disable-icon !important;
86
+ background-color: $hy-primary;
87
+ border-color: $hy-primary;
88
+ opacity: 0.5;
78
89
  }
79
90
  }
80
91
 
@@ -82,7 +93,8 @@
82
93
  /* #ifndef APP-NVUE */
83
94
  word-wrap: break-word;
84
95
  /* #endif */
85
- color: $hy-text-color;
96
+ color:
97
+ $hy-light-color;
86
98
  font-size: $hy-font-size-base;
87
99
  margin-right: $hy-border-margin-padding-sm;
88
100