@didaoktv/didaoui-uniapp 1.2.2 → 1.3.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 (75) hide show
  1. package/README.md +59 -0
  2. package/components/dd-action-sheet/dd-action-sheet.vue +7 -7
  3. package/components/dd-alert/dd-alert.vue +16 -16
  4. package/components/dd-backtop/dd-backtop.vue +3 -3
  5. package/components/dd-badge/dd-badge.vue +10 -10
  6. package/components/dd-bill-detail/dd-bill-detail.vue +20 -20
  7. package/components/dd-button/dd-button.vue +12 -12
  8. package/components/dd-calendar/dd-calendar.vue +21 -21
  9. package/components/dd-capsule-button/dd-capsule-button.vue +5 -5
  10. package/components/dd-car-keyboard/dd-car-keyboard.vue +8 -8
  11. package/components/dd-card/dd-card.vue +9 -9
  12. package/components/dd-cascader/dd-cascader.vue +3 -3
  13. package/components/dd-cell/dd-cell.vue +9 -9
  14. package/components/dd-cell-group/dd-cell-group.vue +4 -4
  15. package/components/dd-champion-card/dd-champion-card.vue +8 -8
  16. package/components/dd-checkbox/dd-checkbox.vue +8 -8
  17. package/components/dd-collapse/dd-collapse.vue +1 -1
  18. package/components/dd-collapse-item/dd-collapse-item.vue +6 -6
  19. package/components/dd-count-down/dd-count-down.vue +1 -1
  20. package/components/dd-coupon/dd-coupon.vue +53 -53
  21. package/components/dd-cropper/dd-cropper.vue +57 -40
  22. package/components/dd-date-picker/dd-date-picker.vue +7 -7
  23. package/components/dd-dialog/dd-dialog.vue +12 -12
  24. package/components/dd-divider/dd-divider.vue +2 -2
  25. package/components/dd-drawer/dd-drawer.vue +7 -7
  26. package/components/dd-dropdown-item/dd-dropdown-item.vue +3 -3
  27. package/components/dd-dropdown-menu/dd-dropdown-menu.vue +3 -3
  28. package/components/dd-empty-state/dd-empty-state.vue +5 -5
  29. package/components/dd-feature-grid/dd-feature-grid.vue +3 -3
  30. package/components/dd-field/dd-field.vue +18 -18
  31. package/components/dd-goods-sku/dd-goods-sku.vue +14 -14
  32. package/components/dd-icon/dd-icon.vue +1 -1
  33. package/components/dd-image/dd-image.vue +5 -5
  34. package/components/dd-input/dd-input.vue +9 -9
  35. package/components/dd-keyboard/dd-keyboard.vue +5 -5
  36. package/components/dd-list-cell/dd-list-cell.vue +8 -8
  37. package/components/dd-loading/dd-loading.vue +4 -4
  38. package/components/dd-loadmore/dd-loadmore.vue +1 -1
  39. package/components/dd-mini-program-navbar/dd-mini-program-navbar.vue +7 -7
  40. package/components/dd-modal/dd-modal.vue +11 -11
  41. package/components/dd-navigation/dd-navigation.vue +6 -6
  42. package/components/dd-number-keyboard/dd-number-keyboard.vue +6 -6
  43. package/components/dd-picker/dd-picker.vue +8 -8
  44. package/components/dd-popover/dd-popover.vue +4 -4
  45. package/components/dd-popover-item/dd-popover-item.vue +2 -2
  46. package/components/dd-popup/dd-popup.vue +4 -4
  47. package/components/dd-progress/dd-progress.vue +5 -5
  48. package/components/dd-pull-refresh/dd-pull-refresh.vue +4 -4
  49. package/components/dd-radio/dd-radio.vue +5 -5
  50. package/components/dd-room-card/dd-room-card.vue +26 -26
  51. package/components/dd-search-bar/dd-search-bar.vue +11 -11
  52. package/components/dd-segmented-tab/dd-segmented-tab.vue +7 -7
  53. package/components/dd-signature/dd-signature.vue +6 -6
  54. package/components/dd-skeleton/dd-skeleton.vue +2 -2
  55. package/components/dd-slider/dd-slider.vue +6 -6
  56. package/components/dd-stat-card/dd-stat-card.vue +9 -9
  57. package/components/dd-step/dd-step.vue +2 -2
  58. package/components/dd-stepper/dd-stepper.vue +7 -7
  59. package/components/dd-swipe/dd-swipe.vue +1 -1
  60. package/components/dd-swipe-action/dd-swipe-action.vue +3 -3
  61. package/components/dd-swipeable-tab/dd-swipeable-tab.vue +5 -5
  62. package/components/dd-switch/dd-switch.vue +4 -4
  63. package/components/dd-tabbar/dd-tabbar.vue +2 -2
  64. package/components/dd-tabbar-item/dd-tabbar-item.vue +2 -2
  65. package/components/dd-tag/dd-tag.vue +33 -33
  66. package/components/dd-text/dd-text.vue +11 -11
  67. package/components/dd-toast/dd-toast.vue +5 -5
  68. package/components/dd-top-navbar/dd-top-navbar.vue +4 -4
  69. package/components/dd-upload/dd-upload.vue +6 -6
  70. package/components/dd-workorder-card/dd-workorder-card.vue +17 -17
  71. package/package.json +2 -1
  72. package/scss/_mixins.scss +11 -11
  73. package/scss/_theme-tokens.scss +183 -0
  74. package/scss/_variables.scss +298 -250
  75. package/scss/theme.scss +36 -0
@@ -197,7 +197,7 @@ const iconStyle = computed(() => {
197
197
  right: -$dd-space-1;
198
198
  width: 12rpx;
199
199
  height: 12rpx;
200
- background: $dd-error-500;
200
+ background: var(--dd-error, #{$dd-error});
201
201
  border-radius: 50%;
202
202
  }
203
203
 
@@ -114,7 +114,7 @@ watch(
114
114
  position: relative;
115
115
  display: inline-block;
116
116
  overflow: hidden;
117
- background: $dd-neutral-800; // var(--dd-bg-inset) 占位底色
117
+ background: var(--dd-surface-container-low, #{$dd-surface-container-low}); // var(--dd-bg-inset) 占位底色
118
118
  vertical-align: middle;
119
119
 
120
120
  &--round {
@@ -132,21 +132,21 @@ watch(
132
132
  position: absolute;
133
133
  inset: 0;
134
134
  @include dd-flex-center;
135
- background: $dd-neutral-800;
135
+ background: var(--dd-surface-container-low, #{$dd-surface-container-low});
136
136
  }
137
137
 
138
138
  .dd-image__spinner {
139
139
  width: $dd-size-icon-lg;
140
140
  height: $dd-size-icon-lg;
141
- border: $dd-space-1 solid $dd-border-default;
142
- border-top-color: $dd-primary-500;
141
+ border: $dd-space-1 solid var(--dd-border-default, #{$dd-border-default});
142
+ border-top-color: var(--dd-primary, #{$dd-primary});
143
143
  border-radius: 50%;
144
144
  animation: dd-image-spin 0.8s linear infinite;
145
145
  }
146
146
 
147
147
  .dd-image__error-icon {
148
148
  font-size: $dd-size-icon-lg; // 24px
149
- color: $dd-text-tertiary;
149
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
150
150
  line-height: 1;
151
151
  }
152
152
 
@@ -115,8 +115,8 @@ function toggleVisible() {
115
115
  gap: $dd-space-2;
116
116
  height: 88rpx;
117
117
  padding: 0 $dd-space-4;
118
- background: $dd-neutral-800;
119
- border: 1px solid $dd-neutral-700;
118
+ background: var(--dd-surface-container-low, #{$dd-surface-container-low});
119
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
120
120
  border-radius: $dd-radius-md;
121
121
  box-sizing: border-box;
122
122
  @include dd-transition(border-color 0.2s, box-shadow 0.2s);
@@ -126,7 +126,7 @@ function toggleVisible() {
126
126
  min-width: 0;
127
127
  height: 100%;
128
128
  font-size: $dd-font-size-body;
129
- color: $dd-neutral-100;
129
+ color: var(--dd-text-primary, #{$dd-text-primary});
130
130
  background: transparent;
131
131
  border: none;
132
132
  }
@@ -142,8 +142,8 @@ function toggleVisible() {
142
142
  width: 36rpx;
143
143
  height: 36rpx;
144
144
  border-radius: 50%;
145
- background: $dd-neutral-700;
146
- color: $dd-neutral-300;
145
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high});
146
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
147
147
  font-size: $dd-font-size-caption;
148
148
  line-height: 1;
149
149
  }
@@ -155,13 +155,13 @@ function toggleVisible() {
155
155
  }
156
156
 
157
157
  &--focus {
158
- border-color: $dd-primary-500;
159
- box-shadow: $dd-shadow-glow-gold-lg;
158
+ border-color: var(--dd-primary, #{$dd-primary});
159
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg});
160
160
  }
161
161
 
162
162
  &--error {
163
- border-color: $dd-error-500;
164
- box-shadow: $dd-shadow-glow-error-md;
163
+ border-color: var(--dd-error, #{$dd-error});
164
+ box-shadow: var(--dd-shadow-glow-error-md, #{$dd-shadow-glow-error-md});
165
165
  }
166
166
 
167
167
  &--disabled {
@@ -150,11 +150,11 @@
150
150
  &__tooltip {
151
151
  @include flex;
152
152
  justify-content: space-between;
153
- background-color: $dd-bg-elevated;
153
+ background-color: var(--dd-bg-elevated, #{$dd-bg-elevated});
154
154
  padding: 14px 12px;
155
155
 
156
156
  &__item {
157
- color: $dd-text-primary;
157
+ color: var(--dd-text-primary, #{$dd-text-primary});
158
158
  flex: 1;
159
159
  text-align: center;
160
160
  font-size: 15px;
@@ -162,16 +162,16 @@
162
162
 
163
163
  &__submit {
164
164
  text-align: right;
165
- color: $dd-primary-400;
165
+ color: var(--dd-primary-400, #{$dd-primary-400});
166
166
  }
167
167
 
168
168
  &__cancel {
169
169
  text-align: left;
170
- color: $dd-text-tertiary;
170
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
171
171
  }
172
172
 
173
173
  &__tips {
174
- color: $dd-text-tertiary;
174
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
175
175
  }
176
176
  }
177
177
  }
@@ -74,8 +74,8 @@ function onClick(e: Event) {
74
74
  min-height: $dd-space-7;
75
75
  padding: 0 $dd-space-4;
76
76
  box-sizing: border-box;
77
- background: $dd-bg-elevated;
78
- @include dd-hairline-bottom($dd-border-default);
77
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
78
+ @include dd-hairline-bottom(var(--dd-border-default, #{$dd-border-default}));
79
79
 
80
80
  &__icon {
81
81
  flex-shrink: 0;
@@ -90,7 +90,7 @@ function onClick(e: Event) {
90
90
  &__icon-text {
91
91
  font-size: $dd-font-size-h2;
92
92
  line-height: 1;
93
- color: $dd-primary-400;
93
+ color: var(--dd-primary-400, #{$dd-primary-400});
94
94
  }
95
95
 
96
96
  &__content {
@@ -104,13 +104,13 @@ function onClick(e: Event) {
104
104
  &__title {
105
105
  font-size: $dd-font-size-body;
106
106
  font-weight: 500;
107
- color: $dd-text-primary;
107
+ color: var(--dd-text-primary, #{$dd-text-primary});
108
108
  @include dd-ellipsis(1);
109
109
  }
110
110
 
111
111
  &__subtitle {
112
112
  font-size: $dd-font-size-caption;
113
- color: $dd-text-tertiary;
113
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
114
114
  @include dd-ellipsis(1);
115
115
  }
116
116
 
@@ -125,12 +125,12 @@ function onClick(e: Event) {
125
125
  &__value {
126
126
  font-size: $dd-font-size-body;
127
127
  font-weight: 500;
128
- color: $dd-primary-400;
128
+ color: var(--dd-primary-400, #{$dd-primary-400});
129
129
  }
130
130
 
131
131
  &__arrow {
132
132
  font-size: $dd-font-size-h3;
133
- color: $dd-text-tertiary;
133
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
134
134
  line-height: 1;
135
135
  margin-left: $dd-space-1;
136
136
  }
@@ -146,7 +146,7 @@ function onClick(e: Event) {
146
146
  }
147
147
 
148
148
  &--active {
149
- background: $dd-surface-container-highest;
149
+ background: var(--dd-surface-container-highest, #{$dd-surface-container-highest});
150
150
  }
151
151
  }
152
152
  </style>
@@ -61,7 +61,7 @@ const coreStyle = computed(() => (props.color ? { '--dd-loading-color': props.co
61
61
  @import '../../scss/mixins';
62
62
 
63
63
  .dd-loading {
64
- --dd-loading-color: #{$dd-primary-400};
64
+ --dd-loading-color: var(--dd-primary-400, #{$dd-primary-400});
65
65
  display: inline-flex;
66
66
  flex-direction: column;
67
67
  align-items: center;
@@ -80,7 +80,7 @@ const coreStyle = computed(() => (props.color ? { '--dd-loading-color': props.co
80
80
  &__mask {
81
81
  position: absolute;
82
82
  inset: 0;
83
- background: $dd-color-overlay-strong;
83
+ background: var(--dd-color-overlay-strong, #{$dd-color-overlay-strong});
84
84
  /* #ifdef H5 */
85
85
  backdrop-filter: blur(8rpx);
86
86
  -webkit-backdrop-filter: blur(8rpx);
@@ -163,11 +163,11 @@ const coreStyle = computed(() => (props.color ? { '--dd-loading-color': props.co
163
163
  height: 24rpx;
164
164
  border-radius: 50%;
165
165
  background: var(--dd-loading-color);
166
- box-shadow: $dd-shadow-glow-gold-lg;
166
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg});
167
167
  }
168
168
 
169
169
  &__text {
170
- color: $dd-text-secondary;
170
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
171
171
  font-size: $dd-font-size-body;
172
172
  line-height: 1.4;
173
173
  }
@@ -130,7 +130,7 @@ function onClick() {
130
130
  }
131
131
 
132
132
  &__spinner {
133
- border: $dd-space-1 solid $dd-border-default;
133
+ border: $dd-space-1 solid var(--dd-border-default, #{$dd-border-default});
134
134
  border-radius: 50%;
135
135
  box-sizing: border-box;
136
136
  animation: dd-lm-spin 0.8s linear infinite;
@@ -144,7 +144,7 @@ function onSearchConfirm(e: any) {
144
144
  .dd-mp-navbar {
145
145
  width: 100%;
146
146
  @include dd-glass;
147
- border-bottom: 1px solid $dd-glass-border;
147
+ border-bottom: 1px solid var(--dd-glass-border, #{$dd-glass-border});
148
148
  position: relative;
149
149
  z-index: $dd-z-index-fixed;
150
150
 
@@ -185,15 +185,15 @@ function onSearchConfirm(e: any) {
185
185
  &__arrow {
186
186
  width: $dd-space-3;
187
187
  height: $dd-space-3;
188
- border-left: $dd-space-1 solid $dd-primary-400;
189
- border-bottom: $dd-space-1 solid $dd-primary-400;
188
+ border-left: $dd-space-1 solid var(--dd-primary-400, #{$dd-primary-400});
189
+ border-bottom: $dd-space-1 solid var(--dd-primary-400, #{$dd-primary-400});
190
190
  transform: rotate(45deg);
191
191
  }
192
192
 
193
193
  &__back-text {
194
194
  font-size: $dd-font-size-body;
195
195
  font-weight: 500;
196
- color: $dd-primary-400;
196
+ color: var(--dd-primary-400, #{$dd-primary-400});
197
197
  }
198
198
 
199
199
  &__center {
@@ -205,7 +205,7 @@ function onSearchConfirm(e: any) {
205
205
  &__title {
206
206
  font-size: $dd-font-size-h4;
207
207
  font-weight: 600;
208
- color: $dd-text-primary;
208
+ color: var(--dd-text-primary, #{$dd-text-primary});
209
209
  max-width: 60vw;
210
210
  @include dd-ellipsis(1);
211
211
  text-align: center;
@@ -214,7 +214,7 @@ function onSearchConfirm(e: any) {
214
214
  &__search {
215
215
  width: 100%;
216
216
  height: $dd-space-6;
217
- background: $dd-surface-container;
217
+ background: var(--dd-surface-container, #{$dd-surface-container});
218
218
  border-radius: $dd-radius-full;
219
219
  display: flex;
220
220
  align-items: center;
@@ -230,7 +230,7 @@ function onSearchConfirm(e: any) {
230
230
  &__search-input {
231
231
  flex: 1;
232
232
  font-size: $dd-font-size-body;
233
- color: $dd-text-primary;
233
+ color: var(--dd-text-primary, #{$dd-text-primary});
234
234
  }
235
235
 
236
236
  &__right {
@@ -170,7 +170,7 @@ onUnmounted(() => {
170
170
  &__mask {
171
171
  position: fixed;
172
172
  inset: 0;
173
- background: $dd-glass-bg;
173
+ background: var(--dd-glass-bg, #{$dd-glass-bg});
174
174
  backdrop-filter: blur(8px);
175
175
  -webkit-backdrop-filter: blur(8px);
176
176
  opacity: 0;
@@ -192,10 +192,10 @@ onUnmounted(() => {
192
192
  z-index: 1001;
193
193
  max-width: 720rpx; // 360px 上限
194
194
  max-height: 80vh;
195
- background: $dd-bg-elevated;
196
- border: 1px solid $dd-border-default;
195
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
196
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
197
197
  border-radius: $dd-radius-xl;
198
- box-shadow: $dd-shadow-4;
198
+ box-shadow: var(--dd-shadow-4, #{$dd-shadow-4});
199
199
  padding: $dd-space-4 $dd-space-5;
200
200
  display: flex;
201
201
  flex-direction: column;
@@ -216,10 +216,10 @@ onUnmounted(() => {
216
216
  transform: translateY(100%);
217
217
  z-index: 1001;
218
218
  max-height: 85vh;
219
- background: $dd-bg-elevated;
220
- border: 1px solid $dd-border-default;
219
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
220
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
221
221
  border-radius: $dd-radius-xl $dd-radius-xl 0 0;
222
- box-shadow: $dd-shadow-4;
222
+ box-shadow: var(--dd-shadow-4, #{$dd-shadow-4});
223
223
  display: flex;
224
224
  flex-direction: column;
225
225
  transition: transform 0.3s ease-out;
@@ -233,7 +233,7 @@ onUnmounted(() => {
233
233
  width: 72rpx;
234
234
  height: 8rpx;
235
235
  border-radius: $dd-radius-full;
236
- background: $dd-neutral-700;
236
+ background: var(--dd-border-default, #{$dd-border-default});
237
237
  margin: 16rpx auto 8rpx;
238
238
  flex-shrink: 0;
239
239
  }
@@ -250,7 +250,7 @@ onUnmounted(() => {
250
250
  &__title {
251
251
  font-size: $dd-font-size-h4;
252
252
  font-weight: $dd-font-weight-h4;
253
- color: $dd-text-primary;
253
+ color: var(--dd-text-primary, #{$dd-text-primary});
254
254
  }
255
255
 
256
256
  &__close {
@@ -261,8 +261,8 @@ onUnmounted(() => {
261
261
  width: 64rpx;
262
262
  height: 64rpx;
263
263
  border-radius: $dd-radius-full;
264
- background: $dd-gradient-primary;
265
- color: $dd-neutral-900;
264
+ background: var(--dd-gradient-primary, #{$dd-gradient-primary});
265
+ color: var(--dd-primary-contrast, #{$dd-primary-contrast});
266
266
  font-size: 36rpx;
267
267
  @include dd-flex-center;
268
268
  }
@@ -71,11 +71,11 @@ function onSelect(index: number) {
71
71
  align-items: center;
72
72
  width: 100%;
73
73
  height: 112rpx;
74
- background: $dd-surface;
74
+ background: var(--dd-surface, #{$dd-surface});
75
75
  box-sizing: border-box;
76
76
 
77
77
  &--border {
78
- @include dd-hairline-top($dd-border-subtle);
78
+ @include dd-hairline-top(var(--dd-border-subtle, #{$dd-border-subtle}));
79
79
  }
80
80
 
81
81
  &--fixed {
@@ -94,11 +94,11 @@ function onSelect(index: number) {
94
94
  @include dd-flex-center;
95
95
  flex-direction: column;
96
96
  gap: $dd-space-1;
97
- color: $dd-text-tertiary;
97
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
98
98
  @include dd-transition(color 0.3s);
99
99
 
100
100
  &--active {
101
- color: $dd-primary-400;
101
+ color: var(--dd-primary-400, #{$dd-primary-400});
102
102
  .dd-nav__icon {
103
103
  text-shadow: 0 0 12px rgba(245, 166, 35, 0.5);
104
104
  }
@@ -116,8 +116,8 @@ function onSelect(index: number) {
116
116
  width: $dd-space-5;
117
117
  height: $dd-space-1;
118
118
  border-radius: 0 0 $dd-radius-sm $dd-radius-sm;
119
- background: $dd-gradient-primary-h;
120
- box-shadow: $dd-shadow-glow-gold-sm;
119
+ background: var(--dd-gradient-primary-h, #{$dd-gradient-primary-h});
120
+ box-shadow: var(--dd-shadow-glow-gold-sm, #{$dd-shadow-glow-gold-sm});
121
121
  }
122
122
 
123
123
  &__icon {
@@ -135,7 +135,7 @@
135
135
  <style lang="scss" scoped>
136
136
  @import '../../scss/variables';
137
137
  @import '../../scss/dd-shared';
138
- $dd-number-keyboard-background-color: $dd-bg-section !default;
138
+ $dd-number-keyboard-background-color: var(--dd-bg-section, #{$dd-bg-section}) !default;
139
139
  $dd-number-keyboard-padding:8px 10rpx 8px 10rpx !default;
140
140
  $dd-number-keyboard-button-width:222rpx !default;
141
141
  $dd-number-keyboard-button-margin:4px 6rpx !default;
@@ -144,13 +144,13 @@
144
144
  $dd-number-keyboard-button-border-bottom-left-radius:4px !default;
145
145
  $dd-number-keyboard-button-border-bottom-right-radius:4px !default;
146
146
  $dd-number-keyboard-button-height: 90rpx!default;
147
- $dd-number-keyboard-button-background-color:$dd-surface-container-high !default;
148
- $dd-number-keyboard-button-box-shadow:0 2px 0px $dd-bg !default;
147
+ $dd-number-keyboard-button-background-color:var(--dd-surface-container-high, #{$dd-surface-container-high}) !default;
148
+ $dd-number-keyboard-button-box-shadow:0 2px 0px var(--dd-bg, #{$dd-bg}) !default;
149
149
  $dd-number-keyboard-text-font-size:20px !default;
150
150
  $dd-number-keyboard-text-font-weight:500 !default;
151
- $dd-number-keyboard-text-color:$dd-text-primary !default;
152
- $dd-number-keyboard-gray-background-color:$dd-surface-container-highest !default;
153
- $dd-number-keyboard-dd-keyboard-hover-background-color: $dd-surface-hover !default;
151
+ $dd-number-keyboard-text-color:var(--dd-text-primary, #{$dd-text-primary}) !default;
152
+ $dd-number-keyboard-gray-background-color:var(--dd-surface-container-highest, #{$dd-surface-container-highest}) !default;
153
+ $dd-number-keyboard-dd-keyboard-hover-background-color: var(--dd-surface-hover, #{$dd-surface-hover}) !default;
154
154
 
155
155
  .dd-keyboard {
156
156
  @include flex;
@@ -132,7 +132,7 @@ function onConfirm() {
132
132
  right: 0;
133
133
  bottom: 0;
134
134
  z-index: $dd-z-index-popup;
135
- background: $dd-neutral-800;
135
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
136
136
  border-radius: $dd-radius-lg $dd-radius-lg 0 0;
137
137
  transform: translateY(100%);
138
138
  @include dd-transition(transform 0.3s);
@@ -151,24 +151,24 @@ function onConfirm() {
151
151
  @include dd-flex-between;
152
152
  height: 96rpx;
153
153
  padding: 0 32rpx;
154
- @include dd-hairline-bottom($dd-border-default);
154
+ @include dd-hairline-bottom(var(--dd-border-default, #{$dd-border-default}));
155
155
  }
156
156
  &__cancel {
157
157
  font-size: 28rpx;
158
- color: $dd-text-secondary;
158
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
159
159
  }
160
160
  &__title {
161
161
  flex: 1;
162
162
  text-align: center;
163
163
  font-size: 32rpx;
164
164
  font-weight: 600;
165
- color: $dd-text-primary;
165
+ color: var(--dd-text-primary, #{$dd-text-primary});
166
166
  @include dd-ellipsis(1);
167
167
  }
168
168
  &__confirm {
169
169
  font-size: 28rpx;
170
170
  font-weight: 600;
171
- color: $dd-primary-500;
171
+ color: var(--dd-primary, #{$dd-primary});
172
172
  }
173
173
 
174
174
  &__body {
@@ -185,7 +185,7 @@ function onConfirm() {
185
185
  }
186
186
  &__item-text {
187
187
  font-size: 28rpx;
188
- color: $dd-text-primary;
188
+ color: var(--dd-text-primary, #{$dd-text-primary});
189
189
  @include dd-ellipsis(1);
190
190
  }
191
191
 
@@ -193,11 +193,11 @@ function onConfirm() {
193
193
  position: absolute;
194
194
  inset: 0;
195
195
  @include dd-flex-center;
196
- background: rgba($dd-neutral-800, 0.6);
196
+ background: var(--dd-color-overlay-strong, #{$dd-color-overlay-strong});
197
197
  }
198
198
  &__layer-text {
199
199
  font-size: 24rpx;
200
- color: $dd-text-tertiary;
200
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
201
201
  }
202
202
  }
203
203
  </style>
@@ -116,14 +116,14 @@ provide('ddPopover', {
116
116
  min-width: 240rpx;
117
117
  max-width: 480rpx;
118
118
  border-radius: $dd-radius-lg;
119
- box-shadow: $dd-shadow-2;
119
+ box-shadow: var(--dd-shadow-2, #{$dd-shadow-2});
120
120
  overflow: visible;
121
121
  z-index: 2000;
122
122
 
123
123
  &--light {
124
- background: $dd-bg-elevated;
125
- color: $dd-text-primary;
126
- .dd-popover__arrow { background: $dd-bg-elevated; }
124
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
125
+ color: var(--dd-text-primary, #{$dd-text-primary});
126
+ .dd-popover__arrow { background: var(--dd-bg-elevated, #{$dd-bg-elevated}); }
127
127
  }
128
128
  &--dark {
129
129
  background: $dd-neutral-700;
@@ -62,11 +62,11 @@ function onClick() {
62
62
 
63
63
  // 首项不显示顶部分隔线,其余项之间用 hairline 分隔
64
64
  &:not(:first-child) {
65
- @include dd-hairline-top($dd-border-default);
65
+ @include dd-hairline-top(var(--dd-border-default, #{$dd-border-default}));
66
66
  }
67
67
 
68
68
  &:active {
69
- background: $dd-surface-container;
69
+ background: var(--dd-surface-container, #{$dd-surface-container});
70
70
  }
71
71
 
72
72
  &--disabled {
@@ -154,7 +154,7 @@ onUnmounted(() => {
154
154
  &__overlay {
155
155
  position: fixed;
156
156
  inset: 0;
157
- background: $dd-color-overlay-strong;
157
+ background: var(--dd-color-overlay-strong, #{$dd-color-overlay-strong});
158
158
  backdrop-filter: blur(8px);
159
159
  -webkit-backdrop-filter: blur(8px);
160
160
  opacity: 0;
@@ -167,8 +167,8 @@ onUnmounted(() => {
167
167
 
168
168
  &__panel {
169
169
  position: fixed;
170
- background: $dd-bg-elevated;
171
- box-shadow: $dd-shadow-3;
170
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
171
+ box-shadow: var(--dd-shadow-3, #{$dd-shadow-3});
172
172
  transition: transform var(--dd-popup-duration, 0.3s) ease,
173
173
  opacity var(--dd-popup-duration, 0.3s) ease;
174
174
 
@@ -225,7 +225,7 @@ onUnmounted(() => {
225
225
  position: absolute;
226
226
  width: 56rpx;
227
227
  height: 56rpx;
228
- color: $dd-text-tertiary;
228
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
229
229
  font-size: 44rpx;
230
230
  @include dd-flex-center;
231
231
  z-index: 2;
@@ -159,7 +159,7 @@ function stepStatus(i: number): 'done' | 'current' | 'pending' {
159
159
 
160
160
  &__text {
161
161
  font-size: $dd-font-size-caption;
162
- color: $dd-text-secondary;
162
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
163
163
  font-variant-numeric: tabular-nums;
164
164
  flex-shrink: 0;
165
165
  }
@@ -174,14 +174,14 @@ function stepStatus(i: number): 'done' | 'current' | 'pending' {
174
174
 
175
175
  &__circle-mask {
176
176
  border-radius: 50%;
177
- background: $dd-surface;
177
+ background: var(--dd-surface, #{$dd-surface});
178
178
  @include dd-flex-center;
179
179
  }
180
180
 
181
181
  &__circle-text {
182
182
  font-size: $dd-font-size-lead;
183
183
  font-weight: 700;
184
- color: $dd-text-primary;
184
+ color: var(--dd-text-primary, #{$dd-text-primary});
185
185
  font-variant-numeric: tabular-nums;
186
186
  }
187
187
 
@@ -213,7 +213,7 @@ function stepStatus(i: number): 'done' | 'current' | 'pending' {
213
213
 
214
214
  &--done,
215
215
  &--current {
216
- background: $dd-gradient-primary;
216
+ background: var(--dd-gradient-primary, #{$dd-gradient-primary});
217
217
  box-shadow: 0 0 12rpx rgba(245, 166, 35, 0.5);
218
218
  }
219
219
 
@@ -230,7 +230,7 @@ function stepStatus(i: number): 'done' | 'current' | 'pending' {
230
230
  @include dd-transition(background 0.3s ease);
231
231
 
232
232
  &--done {
233
- background: $dd-primary-500;
233
+ background: var(--dd-primary, #{$dd-primary});
234
234
  }
235
235
  }
236
236
  }
@@ -183,7 +183,7 @@ watch(
183
183
  position: relative;
184
184
  height: 100%;
185
185
  z-index: 1;
186
- background: $dd-bg;
186
+ background: var(--dd-bg, #{$dd-bg});
187
187
 
188
188
  &--anim {
189
189
  transition: transform 300ms ease;
@@ -209,15 +209,15 @@ watch(
209
209
  &__spinner {
210
210
  width: $dd-size-icon-sm;
211
211
  height: $dd-size-icon-sm;
212
- border: 4rpx solid $dd-border-default;
213
- border-top-color: $dd-primary-500;
212
+ border: 4rpx solid var(--dd-border-default, #{$dd-border-default});
213
+ border-top-color: var(--dd-primary, #{$dd-primary});
214
214
  border-radius: 50%;
215
215
  animation: dd-pr-spin 0.8s linear infinite;
216
216
  }
217
217
 
218
218
  &__text {
219
219
  font-size: $dd-font-size-body;
220
- color: $dd-text-tertiary;
220
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
221
221
  }
222
222
 
223
223
  &__scroll {
@@ -66,7 +66,7 @@ function onToggle() {
66
66
  @include dd-flex-center;
67
67
  flex-shrink: 0;
68
68
  border-radius: $dd-radius-full;
69
- border: 3rpx solid $dd-neutral-700;
69
+ border: 3rpx solid var(--dd-border-default, #{$dd-border-default});
70
70
  background: transparent;
71
71
  box-sizing: border-box;
72
72
  @include dd-transition(all 0.2s);
@@ -82,13 +82,13 @@ function onToggle() {
82
82
 
83
83
  &__label {
84
84
  font-size: 28rpx;
85
- color: $dd-text-primary;
85
+ color: var(--dd-text-primary, #{$dd-text-primary});
86
86
  }
87
87
 
88
88
  &--checked .dd-radio__outer {
89
- background: $dd-gradient-primary;
90
- border-color: $dd-primary-500;
91
- box-shadow: $dd-shadow-glow-gold-lg;
89
+ background: var(--dd-gradient-primary, #{$dd-gradient-primary});
90
+ border-color: var(--dd-primary, #{$dd-primary});
91
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg});
92
92
  }
93
93
 
94
94
  &--checked .dd-radio__inner {