@didaoktv/didaoui-uniapp 1.2.3 → 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 (74) 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-date-picker/dd-date-picker.vue +7 -7
  22. package/components/dd-dialog/dd-dialog.vue +12 -12
  23. package/components/dd-divider/dd-divider.vue +2 -2
  24. package/components/dd-drawer/dd-drawer.vue +7 -7
  25. package/components/dd-dropdown-item/dd-dropdown-item.vue +3 -3
  26. package/components/dd-dropdown-menu/dd-dropdown-menu.vue +3 -3
  27. package/components/dd-empty-state/dd-empty-state.vue +5 -5
  28. package/components/dd-feature-grid/dd-feature-grid.vue +3 -3
  29. package/components/dd-field/dd-field.vue +18 -18
  30. package/components/dd-goods-sku/dd-goods-sku.vue +14 -14
  31. package/components/dd-icon/dd-icon.vue +1 -1
  32. package/components/dd-image/dd-image.vue +5 -5
  33. package/components/dd-input/dd-input.vue +9 -9
  34. package/components/dd-keyboard/dd-keyboard.vue +5 -5
  35. package/components/dd-list-cell/dd-list-cell.vue +8 -8
  36. package/components/dd-loading/dd-loading.vue +4 -4
  37. package/components/dd-loadmore/dd-loadmore.vue +1 -1
  38. package/components/dd-mini-program-navbar/dd-mini-program-navbar.vue +7 -7
  39. package/components/dd-modal/dd-modal.vue +11 -11
  40. package/components/dd-navigation/dd-navigation.vue +6 -6
  41. package/components/dd-number-keyboard/dd-number-keyboard.vue +6 -6
  42. package/components/dd-picker/dd-picker.vue +8 -8
  43. package/components/dd-popover/dd-popover.vue +4 -4
  44. package/components/dd-popover-item/dd-popover-item.vue +2 -2
  45. package/components/dd-popup/dd-popup.vue +4 -4
  46. package/components/dd-progress/dd-progress.vue +5 -5
  47. package/components/dd-pull-refresh/dd-pull-refresh.vue +4 -4
  48. package/components/dd-radio/dd-radio.vue +5 -5
  49. package/components/dd-room-card/dd-room-card.vue +26 -26
  50. package/components/dd-search-bar/dd-search-bar.vue +11 -11
  51. package/components/dd-segmented-tab/dd-segmented-tab.vue +7 -7
  52. package/components/dd-signature/dd-signature.vue +6 -6
  53. package/components/dd-skeleton/dd-skeleton.vue +2 -2
  54. package/components/dd-slider/dd-slider.vue +6 -6
  55. package/components/dd-stat-card/dd-stat-card.vue +9 -9
  56. package/components/dd-step/dd-step.vue +2 -2
  57. package/components/dd-stepper/dd-stepper.vue +7 -7
  58. package/components/dd-swipe/dd-swipe.vue +1 -1
  59. package/components/dd-swipe-action/dd-swipe-action.vue +3 -3
  60. package/components/dd-swipeable-tab/dd-swipeable-tab.vue +5 -5
  61. package/components/dd-switch/dd-switch.vue +4 -4
  62. package/components/dd-tabbar/dd-tabbar.vue +2 -2
  63. package/components/dd-tabbar-item/dd-tabbar-item.vue +2 -2
  64. package/components/dd-tag/dd-tag.vue +33 -33
  65. package/components/dd-text/dd-text.vue +11 -11
  66. package/components/dd-toast/dd-toast.vue +5 -5
  67. package/components/dd-top-navbar/dd-top-navbar.vue +4 -4
  68. package/components/dd-upload/dd-upload.vue +6 -6
  69. package/components/dd-workorder-card/dd-workorder-card.vue +17 -17
  70. package/package.json +2 -1
  71. package/scss/_mixins.scss +11 -11
  72. package/scss/_theme-tokens.scss +183 -0
  73. package/scss/_variables.scss +298 -250
  74. package/scss/theme.scss +36 -0
@@ -109,8 +109,8 @@ function onCancel() {
109
109
  gap: $dd-space-2;
110
110
  height: 88rpx;
111
111
  padding: 0 $dd-space-3;
112
- background: $dd-neutral-800;
113
- border: 1px solid $dd-neutral-700;
112
+ background: var(--dd-surface-container-low, #{$dd-surface-container-low});
113
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
114
114
  border-radius: $dd-radius-full;
115
115
  box-sizing: border-box;
116
116
  @include dd-transition(border-color 0.2s, box-shadow 0.2s);
@@ -120,19 +120,19 @@ function onCancel() {
120
120
  }
121
121
 
122
122
  &--focus {
123
- border-color: $dd-primary-500;
124
- box-shadow: $dd-shadow-glow-gold-lg;
123
+ border-color: var(--dd-primary, #{$dd-primary});
124
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg});
125
125
  }
126
126
  }
127
127
 
128
128
  &__icon {
129
129
  font-size: $dd-font-size-body;
130
- color: $dd-neutral-400;
130
+ color: var(--dd-muted, #{$dd-muted});
131
131
  line-height: 1;
132
132
  @include dd-transition(color 0.2s);
133
133
 
134
134
  &--focus {
135
- color: $dd-primary-400;
135
+ color: var(--dd-primary-400, #{$dd-primary-400});
136
136
  }
137
137
  }
138
138
 
@@ -141,7 +141,7 @@ function onCancel() {
141
141
  min-width: 0;
142
142
  height: 100%;
143
143
  font-size: $dd-font-size-body;
144
- color: $dd-neutral-100;
144
+ color: var(--dd-text-primary, #{$dd-text-primary});
145
145
  background: transparent;
146
146
  border: none;
147
147
  }
@@ -151,8 +151,8 @@ function onCancel() {
151
151
  width: 36rpx;
152
152
  height: 36rpx;
153
153
  border-radius: 50%;
154
- background: $dd-neutral-800;
155
- color: $dd-neutral-300;
154
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high});
155
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
156
156
  font-size: $dd-font-size-caption;
157
157
  line-height: 1;
158
158
  }
@@ -162,14 +162,14 @@ function onCancel() {
162
162
  padding: 0 $dd-space-1;
163
163
  font-size: $dd-font-size-body;
164
164
  font-weight: 500;
165
- color: $dd-primary-400;
165
+ color: var(--dd-primary-400, #{$dd-primary-400});
166
166
  }
167
167
 
168
168
  &--disabled {
169
169
  opacity: 0.4;
170
170
  @include dd-no-touch;
171
171
  .dd-search__icon {
172
- color: $dd-neutral-600;
172
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
173
173
  }
174
174
  }
175
175
  }
@@ -113,8 +113,8 @@ watch(() => props.options, measure)
113
113
  position: relative;
114
114
  display: inline-flex;
115
115
  padding: $dd-space-1;
116
- background: $dd-neutral-800;
117
- border: 1px solid $dd-border-default;
116
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high});
117
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
118
118
  border-radius: $dd-radius-full;
119
119
  }
120
120
 
@@ -124,13 +124,13 @@ watch(() => props.options, measure)
124
124
  min-width: 120rpx;
125
125
  padding: 12rpx $dd-space-4;
126
126
  @include dd-flex-center;
127
- color: $dd-text-tertiary;
127
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
128
128
  font-size: $dd-font-size-body;
129
129
  font-weight: 500;
130
130
  @include dd-transition(color 0.3s);
131
131
 
132
132
  &--active {
133
- color: $dd-neutral-900;
133
+ color: var(--dd-primary-contrast, #{$dd-primary-contrast});
134
134
  font-weight: 600;
135
135
  }
136
136
  }
@@ -157,14 +157,14 @@ watch(() => props.options, measure)
157
157
  .dd-seg-text__item {
158
158
  position: relative;
159
159
  padding: $dd-space-2 0;
160
- color: $dd-text-tertiary;
160
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
161
161
  font-size: $dd-font-size-body;
162
162
  font-weight: 500;
163
163
  @include dd-flex-center;
164
164
  @include dd-transition(color 0.3s);
165
165
 
166
166
  &--active {
167
- color: $dd-primary-400;
167
+ color: var(--dd-primary-400, #{$dd-primary-400});
168
168
  font-weight: 600;
169
169
  }
170
170
  }
@@ -175,7 +175,7 @@ watch(() => props.options, measure)
175
175
  left: 20%;
176
176
  width: 60%;
177
177
  height: $dd-space-1;
178
- background: $dd-primary-400;
178
+ background: var(--dd-primary-400, #{$dd-primary-400});
179
179
  border-radius: $dd-radius-full;
180
180
  }
181
181
  }
@@ -425,7 +425,7 @@
425
425
  flex-direction: column;
426
426
 
427
427
  &__canvas-wrap {
428
- border: 1px solid $dd-border-default;
428
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
429
429
  border-radius: 4px;
430
430
  overflow: hidden;
431
431
  }
@@ -437,7 +437,7 @@
437
437
 
438
438
  &__toolbar {
439
439
  margin-top: 5px;
440
- background-color: $dd-bg-elevated;
440
+ background-color: var(--dd-bg-elevated, #{$dd-bg-elevated});
441
441
  }
442
442
 
443
443
  &__toolbar-icons {
@@ -466,7 +466,7 @@
466
466
  display: block;
467
467
  margin-bottom: 10px;
468
468
  font-size: 14px;
469
- color: $dd-text-tertiary;
469
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
470
470
  }
471
471
  }
472
472
 
@@ -478,7 +478,7 @@
478
478
  display: block;
479
479
  margin-bottom: 10px;
480
480
  font-size: 14px;
481
- color: $dd-text-tertiary;
481
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
482
482
  }
483
483
 
484
484
  &__colors {
@@ -492,11 +492,11 @@
492
492
  width: 30px;
493
493
  height: 30px;
494
494
  border-radius: 50%;
495
- border: 2px solid $dd-border-default;
495
+ border: 2px solid var(--dd-border-default, #{$dd-border-default});
496
496
  cursor: pointer;
497
497
 
498
498
  &--active {
499
- border-color: $dd-primary-400;
499
+ border-color: var(--dd-primary-400, #{$dd-primary-400});
500
500
  transform: scale(1.1);
501
501
  }
502
502
  }
@@ -93,7 +93,7 @@ const lineWidths = computed(() => {
93
93
  &__block {
94
94
  position: relative;
95
95
  overflow: hidden;
96
- background: $dd-neutral-800; // var(--dd-skeleton-bg)
96
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high}); // var(--dd-skeleton-bg)
97
97
 
98
98
  &::after {
99
99
  content: '';
@@ -143,7 +143,7 @@ const lineWidths = computed(() => {
143
143
  align-items: center;
144
144
  gap: $dd-space-3;
145
145
  padding: $dd-space-3 0;
146
- @include dd-hairline-bottom($dd-border-subtle);
146
+ @include dd-hairline-bottom(var(--dd-border-subtle, #{$dd-border-subtle}));
147
147
  }
148
148
 
149
149
  &__list-text {
@@ -160,7 +160,7 @@ function onMouseDown(e: any) {
160
160
  width: 100%;
161
161
  height: 6rpx;
162
162
  border-radius: $dd-radius-full;
163
- background: $dd-neutral-800;
163
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high});
164
164
  }
165
165
 
166
166
  &__fill {
@@ -169,7 +169,7 @@ function onMouseDown(e: any) {
169
169
  left: 0;
170
170
  height: 100%;
171
171
  border-radius: $dd-radius-full;
172
- background: $dd-gradient-primary-h;
172
+ background: var(--dd-gradient-primary-h, #{$dd-gradient-primary-h});
173
173
  box-shadow: 0 0 8rpx rgba($dd-primary-400, 0.6);
174
174
  }
175
175
 
@@ -179,9 +179,9 @@ function onMouseDown(e: any) {
179
179
  width: 32rpx;
180
180
  height: 32rpx;
181
181
  background: $dd-color-white;
182
- border: 4rpx solid $dd-primary-400;
182
+ border: 4rpx solid var(--dd-primary-400, #{$dd-primary-400});
183
183
  border-radius: 50%;
184
- box-shadow: $dd-shadow-glow-gold-lg;
184
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg});
185
185
  transform: translate(-50%, -50%);
186
186
  @include dd-transition(transform 0.1s ease, box-shadow 0.2s ease);
187
187
 
@@ -207,7 +207,7 @@ function onMouseDown(e: any) {
207
207
  left: 50%;
208
208
  transform: translateX(-50%);
209
209
  border: 6rpx solid transparent;
210
- border-top-color: $dd-glass-border;
210
+ border-top-color: var(--dd-glass-border, #{$dd-glass-border});
211
211
  border-bottom: 0;
212
212
  }
213
213
  }
@@ -215,7 +215,7 @@ function onMouseDown(e: any) {
215
215
  &__tooltip-text {
216
216
  font-size: $dd-font-size-caption;
217
217
  font-weight: 600;
218
- color: $dd-primary-300;
218
+ color: var(--dd-primary-300, #{$dd-primary-300});
219
219
  line-height: 1.2;
220
220
  }
221
221
 
@@ -142,33 +142,33 @@ function onClick(e: Event) {
142
142
 
143
143
  // === 6 渐变变体 ===
144
144
  .dd-stat-card--primary {
145
- background: $dd-gradient-primary;
145
+ background: var(--dd-gradient-primary, #{$dd-gradient-primary});
146
146
  &:active {
147
- box-shadow: $dd-shadow-glow-gold-lg;
147
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg});
148
148
  }
149
149
  }
150
150
 
151
151
  .dd-stat-card--accent {
152
- background: $dd-gradient-accent-wide;
152
+ background: var(--dd-gradient-accent-wide, #{$dd-gradient-accent-wide});
153
153
  &:active {
154
- box-shadow: $dd-shadow-glow-blue-lg;
154
+ box-shadow: var(--dd-shadow-glow-blue-lg, #{$dd-shadow-glow-blue-lg});
155
155
  }
156
156
  }
157
157
 
158
158
  .dd-stat-card--success {
159
- background: $dd-gradient-success;
159
+ background: var(--dd-gradient-success, #{$dd-gradient-success});
160
160
  }
161
161
 
162
162
  .dd-stat-card--warning {
163
- background: $dd-gradient-warning;
163
+ background: var(--dd-gradient-warning, #{$dd-gradient-warning});
164
164
  }
165
165
 
166
166
  .dd-stat-card--error {
167
- background: $dd-gradient-error;
167
+ background: var(--dd-gradient-error, #{$dd-gradient-error});
168
168
  }
169
169
 
170
170
  .dd-stat-card--neutral {
171
- background: $dd-gradient-neutral;
172
- border: 1px solid $dd-neutral-600;
171
+ background: var(--dd-gradient-neutral, #{$dd-gradient-neutral});
172
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
173
173
  }
174
174
  </style>
@@ -173,7 +173,7 @@ const lineStyle = computed(() => ({
173
173
 
174
174
  &__title {
175
175
  font-size: $dd-font-size-caption;
176
- color: $dd-text-primary;
176
+ color: var(--dd-text-primary, #{$dd-text-primary});
177
177
  line-height: $dd-line-height-caption;
178
178
  }
179
179
 
@@ -181,7 +181,7 @@ const lineStyle = computed(() => ({
181
181
  display: block;
182
182
  margin-top: $dd-space-1;
183
183
  font-size: $dd-font-size-caption;
184
- color: $dd-text-tertiary;
184
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
185
185
  line-height: 1.4;
186
186
  }
187
187
  }
@@ -93,8 +93,8 @@ function onPlus() {
93
93
  justify-content: center;
94
94
  gap: $dd-space-1;
95
95
  padding: $dd-space-1;
96
- background: $dd-neutral-800;
97
- border: 1px solid $dd-neutral-700;
96
+ background: var(--dd-surface-container-low, #{$dd-surface-container-low});
97
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
98
98
  border-radius: $dd-radius-full;
99
99
  box-sizing: border-box;
100
100
 
@@ -102,7 +102,7 @@ function onPlus() {
102
102
  @include dd-flex-center;
103
103
  flex-shrink: 0;
104
104
  border-radius: 50%;
105
- background: $dd-gradient-primary-wide;
105
+ background: var(--dd-gradient-primary-wide, #{$dd-gradient-primary-wide});
106
106
  @include dd-transition(transform 0.1s ease, opacity 0.2s);
107
107
 
108
108
  &--active {
@@ -110,24 +110,24 @@ function onPlus() {
110
110
  }
111
111
 
112
112
  &--disabled {
113
- background: $dd-neutral-800;
113
+ background: var(--dd-surface-container-low, #{$dd-surface-container-low});
114
114
  @include dd-no-touch;
115
115
  .dd-stepper__icon {
116
- color: $dd-neutral-500;
116
+ color: var(--dd-muted, #{$dd-muted});
117
117
  opacity: 0.4;
118
118
  }
119
119
  }
120
120
  }
121
121
 
122
122
  &__icon {
123
- color: $dd-neutral-900;
123
+ color: var(--dd-primary-contrast, #{$dd-primary-contrast});
124
124
  font-weight: 700;
125
125
  line-height: 1;
126
126
  }
127
127
 
128
128
  &__value {
129
129
  text-align: center;
130
- color: $dd-neutral-50;
130
+ color: var(--dd-text-primary, #{$dd-text-primary});
131
131
  font-weight: 700;
132
132
  line-height: 1;
133
133
  @include dd-ellipsis(1);
@@ -139,7 +139,7 @@ defineExpose({ jumpTo, current })
139
139
  @include dd-transition(background 0.3s ease);
140
140
 
141
141
  &--active {
142
- background: $dd-primary-500;
142
+ background: var(--dd-primary, #{$dd-primary});
143
143
  }
144
144
  }
145
145
  }
@@ -75,7 +75,7 @@ const emit = defineEmits<{
75
75
  (e: 'close'): void
76
76
  }>()
77
77
 
78
- // 默认操作色用 error 红 ($dd-error-500)
78
+ // 默认操作色用 error 红 ($dd-error)
79
79
  const defaultActionColor = '#E53935'
80
80
 
81
81
  const translateX = ref(0)
@@ -174,7 +174,7 @@ defineExpose({ close })
174
174
  .dd-swipe-action {
175
175
  position: relative;
176
176
  overflow: hidden;
177
- background: $dd-bg-elevated;
177
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
178
178
 
179
179
  &--disabled {
180
180
  .dd-swipe-action__content {
@@ -236,7 +236,7 @@ defineExpose({ close })
236
236
  position: relative;
237
237
  z-index: 1;
238
238
  width: 100%;
239
- background: $dd-bg-elevated;
239
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
240
240
  transform: translateX(0);
241
241
 
242
242
  &--anim {
@@ -163,14 +163,14 @@ watch(() => props.options, measure)
163
163
  @include dd-flex-center;
164
164
  height: 100%;
165
165
  padding: 0 $dd-space-4;
166
- color: $dd-text-tertiary;
166
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
167
167
  font-size: $dd-font-size-body;
168
168
  font-weight: 500;
169
169
  box-sizing: border-box;
170
170
  @include dd-transition(color 0.3s);
171
171
 
172
172
  &--active {
173
- color: $dd-primary-400;
173
+ color: var(--dd-primary-400, #{$dd-primary-400});
174
174
  font-weight: 600;
175
175
  .dd-swipe__label {
176
176
  text-shadow: 0 0 12px rgba(245, 166, 35, 0.5);
@@ -188,15 +188,15 @@ watch(() => props.options, measure)
188
188
  bottom: 0;
189
189
  left: 0;
190
190
  height: $dd-space-1;
191
- background: $dd-gradient-primary-h;
191
+ background: var(--dd-gradient-primary-h, #{$dd-gradient-primary-h});
192
192
  border-radius: $dd-radius-full;
193
- box-shadow: $dd-shadow-glow-gold-sm;
193
+ box-shadow: var(--dd-shadow-glow-gold-sm, #{$dd-shadow-glow-gold-sm});
194
194
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
195
195
  width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
196
196
  }
197
197
 
198
198
  .dd-swipe__divider {
199
199
  height: 1px;
200
- background: $dd-neutral-800;
200
+ background: var(--dd-rule, #{$dd-rule});
201
201
  }
202
202
  </style>
@@ -63,15 +63,15 @@ function onToggle() {
63
63
  }
64
64
 
65
65
  // off
66
- background: $dd-neutral-800;
67
- border: 1px solid $dd-glass-border;
66
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high});
67
+ border: 1px solid var(--dd-glass-border, #{$dd-glass-border});
68
68
  box-shadow: inset 0 2rpx 6rpx rgba(0, 0, 0, 0.3);
69
69
 
70
70
  // on
71
71
  &--on {
72
- background: $dd-gradient-primary;
72
+ background: var(--dd-gradient-primary, #{$dd-gradient-primary});
73
73
  border-color: rgba($dd-primary-300, 0.5);
74
- box-shadow: $dd-shadow-glow-gold-lg, inset 0 2rpx 6rpx rgba(0, 0, 0, 0.1);
74
+ box-shadow: var(--dd-shadow-glow-gold-lg, #{$dd-shadow-glow-gold-lg}), inset 0 2rpx 6rpx rgba(0, 0, 0, 0.1);
75
75
  }
76
76
 
77
77
  &--disabled {
@@ -79,11 +79,11 @@ provide('ddTabbar', {
79
79
  align-items: center;
80
80
  width: 100%;
81
81
  height: 100rpx;
82
- background: $dd-surface;
82
+ background: var(--dd-surface, #{$dd-surface});
83
83
  box-sizing: border-box;
84
84
 
85
85
  &--border {
86
- @include dd-hairline-top($dd-border-default);
86
+ @include dd-hairline-top(var(--dd-border-default, #{$dd-border-default}));
87
87
  }
88
88
 
89
89
  &--safe {
@@ -99,7 +99,7 @@ function onClick() {
99
99
  height: $dd-space-4;
100
100
  padding: 0 $dd-space-1;
101
101
  border-radius: $dd-radius-full;
102
- background: $dd-error;
102
+ background: var(--dd-error, #{$dd-error});
103
103
  @include dd-flex-center;
104
104
  }
105
105
 
@@ -116,7 +116,7 @@ function onClick() {
116
116
  width: $dd-space-2;
117
117
  height: $dd-space-2;
118
118
  border-radius: 50%;
119
- background: $dd-error;
119
+ background: var(--dd-error, #{$dd-error});
120
120
  }
121
121
  }
122
122
  </style>
@@ -130,62 +130,62 @@ function onClose(e: Event) {
130
130
  // === Filled: 渐变背景 + 反色文字 ===
131
131
  .dd-tag--filled {
132
132
  &.dd-tag--primary {
133
- background: $dd-gradient-primary;
133
+ background: var(--dd-gradient-primary, #{$dd-gradient-primary});
134
134
  color: $dd-color-white;
135
135
  }
136
136
  &.dd-tag--accent {
137
- background: $dd-gradient-accent;
138
- color: $dd-accent-contrast;
137
+ background: var(--dd-gradient-accent, #{$dd-gradient-accent});
138
+ color: var(--dd-accent-contrast, #{$dd-accent-contrast});
139
139
  }
140
140
  &.dd-tag--success {
141
- background: $dd-success-500;
142
- color: $dd-success-contrast;
141
+ background: var(--dd-success, #{$dd-success});
142
+ color: var(--dd-success-contrast, #{$dd-success-contrast});
143
143
  }
144
144
  &.dd-tag--warning {
145
- background: $dd-warning-500;
146
- color: $dd-warning-contrast;
145
+ background: var(--dd-warning, #{$dd-warning});
146
+ color: var(--dd-warning-contrast, #{$dd-warning-contrast});
147
147
  }
148
148
  &.dd-tag--error {
149
- background: $dd-error-500;
150
- color: $dd-error-contrast;
149
+ background: var(--dd-error, #{$dd-error});
150
+ color: var(--dd-error-contrast, #{$dd-error-contrast});
151
151
  }
152
152
  &.dd-tag--info {
153
- background: $dd-info-500;
154
- color: $dd-info-contrast;
153
+ background: var(--dd-info, #{$dd-info});
154
+ color: var(--dd-info-contrast, #{$dd-info-contrast});
155
155
  }
156
156
  &.dd-tag--default {
157
- background: $dd-neutral-700;
158
- color: $dd-text-secondary;
157
+ background: var(--dd-surface-container-high, #{$dd-surface-container-high});
158
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
159
159
  }
160
160
  }
161
161
 
162
162
  // === Outlined: 透明背景 + 1px 边框 + 语义色 ===
163
163
  .dd-tag--outlined {
164
164
  background: transparent;
165
- border: 1px solid $dd-border-strong;
166
-
167
- &.dd-tag--primary { color: $dd-primary-400; border-color: $dd-primary-500; }
168
- &.dd-tag--accent { color: $dd-accent-300; border-color: $dd-accent-500; }
169
- &.dd-tag--success { color: $dd-success-400; border-color: $dd-success-500; }
170
- &.dd-tag--warning { color: $dd-warning-400; border-color: $dd-warning-500; }
171
- &.dd-tag--error { color: $dd-error-400; border-color: $dd-error-500; }
172
- &.dd-tag--info { color: $dd-info-400; border-color: $dd-info-500; }
173
- &.dd-tag--default { color: $dd-text-secondary; border-color: $dd-border-strong; }
165
+ border: 1px solid var(--dd-border-strong, #{$dd-border-strong});
166
+
167
+ &.dd-tag--primary { color: var(--dd-primary-400, #{$dd-primary-400}); border-color: var(--dd-primary, #{$dd-primary}); }
168
+ &.dd-tag--accent { color: var(--dd-accent-300, #{$dd-accent-300}); border-color: var(--dd-accent, #{$dd-accent}); }
169
+ &.dd-tag--success { color: var(--dd-success-400, #{$dd-success-400}); border-color: var(--dd-success, #{$dd-success}); }
170
+ &.dd-tag--warning { color: var(--dd-warning-400, #{$dd-warning-400}); border-color: var(--dd-warning, #{$dd-warning}); }
171
+ &.dd-tag--error { color: var(--dd-error-400, #{$dd-error-400}); border-color: var(--dd-error, #{$dd-error}); }
172
+ &.dd-tag--info { color: var(--dd-info-400, #{$dd-info-400}); border-color: var(--dd-info, #{$dd-info}); }
173
+ &.dd-tag--default { color: var(--dd-text-secondary, #{$dd-text-secondary}); border-color: var(--dd-border-strong, #{$dd-border-strong}); }
174
174
  }
175
175
 
176
176
  // === Dot: elevated 背景 + 彩色点 + 次级色文字 ===
177
177
  .dd-tag--dot {
178
- background: $dd-bg-elevated;
179
- border: 1px solid $dd-border-default;
180
- color: $dd-text-secondary;
181
-
182
- &.dd-tag--primary .dd-tag__dot { background: $dd-primary-500; }
183
- &.dd-tag--accent .dd-tag__dot { background: $dd-accent-500; }
184
- &.dd-tag--success .dd-tag__dot { background: $dd-success-500; }
185
- &.dd-tag--warning .dd-tag__dot { background: $dd-warning-500; }
186
- &.dd-tag--error .dd-tag__dot { background: $dd-error-500; }
187
- &.dd-tag--info .dd-tag__dot { background: $dd-info-500; }
188
- &.dd-tag--default .dd-tag__dot { background: $dd-neutral-400; }
178
+ background: var(--dd-bg-elevated, #{$dd-bg-elevated});
179
+ border: 1px solid var(--dd-border-default, #{$dd-border-default});
180
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
181
+
182
+ &.dd-tag--primary .dd-tag__dot { background: var(--dd-primary, #{$dd-primary}); }
183
+ &.dd-tag--accent .dd-tag__dot { background: var(--dd-accent, #{$dd-accent}); }
184
+ &.dd-tag--success .dd-tag__dot { background: var(--dd-success, #{$dd-success}); }
185
+ &.dd-tag--warning .dd-tag__dot { background: var(--dd-warning, #{$dd-warning}); }
186
+ &.dd-tag--error .dd-tag__dot { background: var(--dd-error, #{$dd-error}); }
187
+ &.dd-tag--info .dd-tag__dot { background: var(--dd-info, #{$dd-info}); }
188
+ &.dd-tag--default .dd-tag__dot { background: var(--dd-muted, #{$dd-muted}); }
189
189
  }
190
190
 
191
191
  .dd-tag--closable {
@@ -198,52 +198,52 @@ export default {
198
198
 
199
199
  &__price {
200
200
  font-size: 14px;
201
- color: $dd-text-secondary;
201
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
202
202
  }
203
203
 
204
204
  &__value {
205
205
  font-size: 14px;
206
206
  @include flex;
207
- color: $dd-text-secondary;
207
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
208
208
  flex-wrap: wrap;
209
209
  // flex: 1;
210
210
  text-overflow: ellipsis;
211
211
  align-items: center;
212
212
 
213
213
  &--primary {
214
- color: $dd-primary-400;
214
+ color: var(--dd-primary-400, #{$dd-primary-400});
215
215
  }
216
216
 
217
217
  &--warning {
218
- color: $dd-warning-400;
218
+ color: var(--dd-warning-400, #{$dd-warning-400});
219
219
  }
220
220
 
221
221
  &--success {
222
- color: $dd-success-400;
222
+ color: var(--dd-success-400, #{$dd-success-400});
223
223
  }
224
224
 
225
225
  &--info {
226
- color: $dd-info-400;
226
+ color: var(--dd-info-400, #{$dd-info-400});
227
227
  }
228
228
 
229
229
  &--error {
230
- color: $dd-error-400;
230
+ color: var(--dd-error-400, #{$dd-error-400});
231
231
  }
232
232
 
233
233
  &--main {
234
- color: $dd-text-primary;
234
+ color: var(--dd-text-primary, #{$dd-text-primary});
235
235
  }
236
236
 
237
237
  &--content {
238
- color: $dd-text-secondary;
238
+ color: var(--dd-text-secondary, #{$dd-text-secondary});
239
239
  }
240
240
 
241
241
  &--tips {
242
- color: $dd-text-tertiary;
242
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
243
243
  }
244
244
 
245
245
  &--light {
246
- color: $dd-text-tertiary;
246
+ color: var(--dd-text-tertiary, #{$dd-text-tertiary});
247
247
  }
248
248
  }
249
249
  }
@@ -158,23 +158,23 @@ const iconName = computed(() => {
158
158
  font-weight: 700;
159
159
 
160
160
  &--success {
161
- color: $dd-success-400;
161
+ color: var(--dd-success-400, #{$dd-success-400});
162
162
  }
163
163
 
164
164
  &--error {
165
- color: $dd-error-400;
165
+ color: var(--dd-error-400, #{$dd-error-400});
166
166
  }
167
167
 
168
168
  &--warning {
169
- color: $dd-warning-400;
169
+ color: var(--dd-warning-400, #{$dd-warning-400});
170
170
  }
171
171
  }
172
172
 
173
173
  &__spinner {
174
174
  width: $dd-size-icon-xl;
175
175
  height: $dd-size-icon-xl;
176
- border: 6rpx solid $dd-border-default;
177
- border-top-color: $dd-primary-400;
176
+ border: 6rpx solid var(--dd-border-default, #{$dd-border-default});
177
+ border-top-color: var(--dd-primary-400, #{$dd-primary-400});
178
178
  border-radius: 50%;
179
179
  animation: dd-toast-spin 0.8s linear infinite;
180
180
  }