@dialpad/dialtone-css 8.80.0-next.7 → 8.80.0-next.9

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.
@@ -169,6 +169,7 @@ const UPDATE_EVENT_RENAMES = {
169
169
 
170
170
  // Component events removed from emits and replaced by @update:model-value
171
171
  const EMIT_EVENT_RENAMES = {
172
+ 'dt-checkbox': { input: 'update:model-value' },
172
173
  'dt-input': { input: 'update:model-value' },
173
174
  'dt-radio': { input: 'update:model-value' },
174
175
  'dt-radio-group': { input: 'update:model-value' },
@@ -630,7 +631,7 @@ Migrations applied:
630
631
  selected-values → model-value (dt-checkbox-group)
631
632
  v-model:selected-values → v-model (dt-checkbox-group)
632
633
  @update:selected-values → @update:model-value (dt-checkbox-group)
633
- @input → @update:model-value (dt-input, dt-radio, dt-radio-group, dt-combobox-multi-select, dt-rich-text-editor, dt-input-group)
634
+ @input → @update:model-value (dt-checkbox, dt-input, dt-radio, dt-radio-group, dt-combobox-multi-select, dt-rich-text-editor, dt-input-group)
634
635
  @change → @update:model-value (dt-toggle, dt-select-menu)
635
636
  show → open (dt-modal, dt-toast, dt-tooltip)
636
637
  @update:show → @update:open (dt-modal, dt-toast, dt-tooltip)
@@ -33,15 +33,15 @@ export default {
33
33
  // Generic short slot names (#left, #right, #bottom) are scoped to known
34
34
  // Dialtone components to avoid renaming slots on non-Dialtone components.
35
35
  // Uses multiline matching to find the slot within a dt-* or dt-recipe-* tag.
36
- // Components: dt-item-layout, dt-recipe-callbox, dt-recipe-contact-centers-row,
36
+ // Components: dt-item-layout, dt-list-item, dt-recipe-callbox, dt-recipe-contact-centers-row,
37
37
  // dt-recipe-general-row, dt-recipe-top-banner-info
38
38
 
39
- // #left → #start (only on dt-item-layout, dt-recipe-general-row, dt-recipe-top-banner-info)
40
- { from: /(<dt-(?:item-layout|recipe-general-row|recipe-top-banner-info)[\s\S]*?)#left(?=[\s"'>])/gm, to: '$1#start' },
41
- // #right → #end (only on dt-item-layout, dt-recipe-callbox, dt-recipe-contact-centers-row, dt-recipe-top-banner-info)
42
- { from: /(<dt-(?:item-layout|recipe-callbox|recipe-contact-centers-row|recipe-top-banner-info)[\s\S]*?)#right(?=[\s"'>])/gm, to: '$1#end' },
43
- // #bottom → #blockEnd (only on dt-item-layout, dt-recipe-callbox)
44
- { from: /(<dt-(?:item-layout|recipe-callbox)[\s\S]*?)#bottom(?=[\s"'>])/gm, to: '$1#blockEnd' },
39
+ // #left → #start (only on dt-item-layout, dt-list-item, dt-recipe-general-row, dt-recipe-top-banner-info)
40
+ { from: /(<(?:dt-(?:item-layout|list-item|recipe-general-row|recipe-top-banner-info)|Dt(?:ItemLayout|ListItem|RecipeGeneralRow|RecipeTopBannerInfo))[\s\S]*?)#left(?=[\s"'>])/gm, to: '$1#start' },
41
+ // #right → #end (only on dt-item-layout, dt-list-item, dt-recipe-callbox, dt-recipe-contact-centers-row, dt-recipe-top-banner-info)
42
+ { from: /(<(?:dt-(?:item-layout|list-item|recipe-callbox|recipe-contact-centers-row|recipe-top-banner-info)|Dt(?:ItemLayout|ListItem|RecipeCallbox|RecipeContactCentersRow|RecipeTopBannerInfo))[\s\S]*?)#right(?=[\s"'>])/gm, to: '$1#end' },
43
+ // #bottom → #blockEnd (only on dt-item-layout, dt-list-item, dt-recipe-callbox)
44
+ { from: /(<(?:dt-(?:item-layout|list-item|recipe-callbox)|Dt(?:ItemLayout|ListItem|RecipeCallbox))[\s\S]*?)#bottom(?=[\s"'>])/gm, to: '$1#blockEnd' },
45
45
 
46
46
  // ── Prop renames ──────────────────────────────────────────────────────
47
47
  // Longer patterns first within each prefix group.
@@ -0,0 +1,17 @@
1
+ // Migration: /vue3 import paths → /vue
2
+ // After Vue 2 removal, the /vue3 subpath exports were renamed to /vue.
3
+ // The /vue3 paths may still work for backwards compatibility in some packages,
4
+ // but @dialpad/dialtone-icons only exports /vue, making this a breaking change.
5
+
6
+ export default {
7
+ description:
8
+ 'Renames /vue3 import subpaths to /vue for @dialpad/dialtone-icons and\n' +
9
+ '@dialpad/dialtone-vue. After Vue 2 removal, /vue is the canonical path.',
10
+ patterns: ['**/*.{vue,js,ts,jsx,tsx,mjs,mts}'],
11
+ expressions: [
12
+ // @dialpad/dialtone-icons/vue3 → @dialpad/dialtone-icons/vue
13
+ { from: /@dialpad\/dialtone-icons\/vue3/g, to: '@dialpad/dialtone-icons/vue' },
14
+ // @dialpad/dialtone-vue/vue3 → @dialpad/dialtone-vue (or /vue if used)
15
+ { from: /@dialpad\/dialtone-vue\/vue3/g, to: '@dialpad/dialtone-vue' },
16
+ ],
17
+ };
@@ -62,6 +62,8 @@
62
62
  }
63
63
 
64
64
  ._box-layout(@prop) {
65
+ &-0 { @{prop}: 0; }
66
+
65
67
  &-1px { @{prop}: var(--dt-layout-1px); }
66
68
  &-2px { @{prop}: var(--dt-layout-2px); }
67
69
  &-8px { @{prop}: var(--dt-layout-8px); }
@@ -70,9 +72,15 @@
70
72
  &-24px { @{prop}: var(--dt-layout-24px); }
71
73
  &-50 { @{prop}: var(--dt-layout-50); }
72
74
  &-75 { @{prop}: var(--dt-layout-75); }
73
- each(range(0, 1600, 100), {
75
+
76
+ each(range(100, 200, 25), {
77
+ &-@{value} { @{prop}: ~"var(--dt-layout-@{value})"; }
78
+ });
79
+
80
+ each(range(250, 1600, 50), {
74
81
  &-@{value} { @{prop}: ~"var(--dt-layout-@{value})"; }
75
82
  });
83
+
76
84
  // Percentage tokens
77
85
  each(@box-layout-percent-values, {
78
86
  &-@{value}p { @{prop}: ~"var(--dt-layout-@{value}-percent)"; }
@@ -113,31 +113,6 @@
113
113
  box-shadow: var(--dt-shadow-focus);
114
114
  }
115
115
 
116
- &--disabled,
117
- &:disabled {
118
- --chroma-adjust-text: .08;
119
- --chroma-adjust-background: .08;
120
- --chroma-adjust-border: .08;
121
- --opacity-adjust-text: 65%;
122
- --opacity-adjust-background: 65%;
123
- --opacity-adjust-border: 40%;
124
-
125
- color: color-mix(in oklch, oklch( from var(--button-color-text) l calc(c - var(--chroma-adjust-text)) h ) var(--opacity-adjust-text), transparent );
126
- background-color: color-mix(in oklch, oklch( from var(--button-color-background) l calc(c - var(--chroma-adjust-background)) h ) var(--opacity-adjust-background), transparent );
127
- border-color: color-mix(in oklch, oklch( from var(--button-color-border) l calc(c - var(--chroma-adjust-border)) h ) var(--opacity-adjust-border), transparent );
128
- cursor: not-allowed;
129
- transition: none;
130
- pointer-events: none;
131
-
132
- &.d-btn--primary {
133
- --opacity-adjust-text: 80%;
134
- }
135
-
136
- &.d-btn--muted {
137
- --opacity-adjust-text: 50%;
138
- --opacity-adjust-border: 50%;
139
- }
140
- }
141
116
  }
142
117
 
143
118
  ._btn-circle() {
@@ -207,6 +182,36 @@
207
182
  ._btn();
208
183
  }
209
184
 
185
+ .d-btn:where(.d-btn--disabled, :disabled),
186
+ .d-btn--md:where(.d-btn--disabled, :disabled) {
187
+ --chroma-adjust-text: .08;
188
+ --chroma-adjust-background: .08;
189
+ --chroma-adjust-border: .08;
190
+ --opacity-adjust-text: 65%;
191
+ --opacity-adjust-background: 65%;
192
+ --opacity-adjust-border: 40%;
193
+
194
+ color: color-mix(in oklch, oklch( from var(--button-color-text) l calc(c - var(--chroma-adjust-text)) h ) var(--opacity-adjust-text), transparent );
195
+ background-color: color-mix(in oklch, oklch( from var(--button-color-background) l calc(c - var(--chroma-adjust-background)) h ) var(--opacity-adjust-background), transparent );
196
+ border-color: color-mix(in oklch, oklch( from var(--button-color-border) l calc(c - var(--chroma-adjust-border)) h ) var(--opacity-adjust-border), transparent );
197
+ cursor: not-allowed;
198
+ transition: none;
199
+ pointer-events: none;
200
+
201
+ &:where(.d-btn--primary) {
202
+ --opacity-adjust-text: 80%;
203
+ }
204
+
205
+ &:where(.d-btn--muted) {
206
+ --opacity-adjust-text: 50%;
207
+ --opacity-adjust-border: 60%;
208
+ }
209
+
210
+ &:where(.d-btn--active):where(.d-btn--outlined, .d-btn--muted) {
211
+ --button-color-background: var(--dt-action-color-background-muted-active);
212
+ }
213
+ }
214
+
210
215
  .d-btn--unstyled {
211
216
  /* stylelint-disable */
212
217
  all: unset; // Must be first!
@@ -115,6 +115,38 @@
115
115
  }
116
116
  }
117
117
 
118
+ // Explicit disabled styling for chip close button.
119
+ // This duplicates the button disabled logic since the ._btn() mixin no longer includes disabled state handling.
120
+ // PLUS it may be simplified with upcoming Chip redesign/refactor
121
+ .d-chip__close:where(.d-chip__close--disabled, :disabled) {
122
+ --chroma-adjust-text: .08;
123
+ --chroma-adjust-background: .08;
124
+ --chroma-adjust-border: .08;
125
+ --opacity-adjust-text: 65%;
126
+ --opacity-adjust-background: 65%;
127
+ --opacity-adjust-border: 40%;
128
+
129
+ color: color-mix(in oklch, oklch( from var(--button-color-text) l calc(c - var(--chroma-adjust-text)) h ) var(--opacity-adjust-text), transparent );
130
+ background-color: color-mix(in oklch, oklch( from var(--button-color-background) l calc(c - var(--chroma-adjust-background)) h ) var(--opacity-adjust-background), transparent );
131
+ border-color: color-mix(in oklch, oklch( from var(--button-color-border) l calc(c - var(--chroma-adjust-border)) h ) var(--opacity-adjust-border), transparent );
132
+ cursor: not-allowed;
133
+ transition: none;
134
+ pointer-events: none;
135
+
136
+ &:where(.d-btn--primary) {
137
+ --opacity-adjust-text: 80%;
138
+ }
139
+
140
+ &:where(.d-btn--muted) {
141
+ --opacity-adjust-text: 50%;
142
+ --opacity-adjust-border: 60%;
143
+ }
144
+
145
+ &:where(.d-btn--active):where(.d-btn--outlined, .d-btn--muted) {
146
+ --button-color-background: var(--dt-action-color-background-muted-active);
147
+ }
148
+ }
149
+
118
150
  .d-chip__icon {
119
151
  --chip-icon-size: calc(var(--dt-layout-25) * 1.25);
120
152
 
@@ -11,7 +11,6 @@
11
11
  display: flex;
12
12
  align-items: center;
13
13
  justify-content: flex-start;
14
- min-inline-size: var(--dt-layout-75);
15
14
  block-size: var(--dt-layout-100-percent);
16
15
  background-color: transparent;
17
16
  background-image: none;