@dialpad/dialtone-css 8.74.0-next.2 → 8.74.0-next.4

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 (139) hide show
  1. package/lib/build/less/components/banner.less +7 -5
  2. package/lib/build/less/components/breadcrumbs.less +17 -16
  3. package/lib/build/less/components/button.less +161 -117
  4. package/lib/build/less/components/card.less +1 -0
  5. package/lib/build/less/components/codeblock.less +35 -11
  6. package/lib/build/less/components/datepicker.less +1 -11
  7. package/lib/build/less/components/empty-state.less +7 -5
  8. package/lib/build/less/components/forms.less +34 -10
  9. package/lib/build/less/components/keyboard-shortcut.less +2 -2
  10. package/lib/build/less/components/loader.less +11 -0
  11. package/lib/build/less/components/notice.less +21 -9
  12. package/lib/build/less/components/pagination.less +0 -5
  13. package/lib/build/less/components/progress_circle.less +60 -0
  14. package/lib/build/less/components/radio-checkbox.less +9 -2
  15. package/lib/build/less/components/scrollbar.less +4 -4
  16. package/lib/build/less/components/selects.less +1 -1
  17. package/lib/build/less/components/table.less +12 -15
  18. package/lib/build/less/components/tabs.less +88 -1
  19. package/lib/build/less/components/text.less +91 -35
  20. package/lib/build/less/components/toast.less +5 -6
  21. package/lib/build/less/dialtone.less +17 -16
  22. package/lib/build/less/recipes/attachment_carousel.less +16 -35
  23. package/lib/build/less/utilities/typography.less +1 -1
  24. package/lib/build/less/variables/sizes.less +2 -2
  25. package/lib/dist/dialtone-default-theme.css +3106 -2766
  26. package/lib/dist/dialtone-default-theme.min.css +1 -1
  27. package/lib/dist/dialtone-docs.json +1 -1
  28. package/lib/dist/dialtone.css +3083 -2744
  29. package/lib/dist/dialtone.min.css +1 -1
  30. package/lib/dist/tokens/tokens-101-dark.css +19 -19
  31. package/lib/dist/tokens/tokens-101-light.css +11 -11
  32. package/lib/dist/tokens/tokens-102-dark.css +19 -19
  33. package/lib/dist/tokens/tokens-102-light.css +11 -11
  34. package/lib/dist/tokens/tokens-103-dark.css +19 -19
  35. package/lib/dist/tokens/tokens-103-light.css +11 -11
  36. package/lib/dist/tokens/tokens-104-dark.css +19 -19
  37. package/lib/dist/tokens/tokens-104-light.css +11 -11
  38. package/lib/dist/tokens/tokens-105-dark.css +19 -19
  39. package/lib/dist/tokens/tokens-105-light.css +11 -11
  40. package/lib/dist/tokens/tokens-106-dark.css +19 -19
  41. package/lib/dist/tokens/tokens-106-light.css +11 -11
  42. package/lib/dist/tokens/tokens-107-dark.css +19 -19
  43. package/lib/dist/tokens/tokens-107-light.css +11 -11
  44. package/lib/dist/tokens/tokens-108-dark.css +19 -19
  45. package/lib/dist/tokens/tokens-108-light.css +11 -11
  46. package/lib/dist/tokens/tokens-109-dark.css +19 -19
  47. package/lib/dist/tokens/tokens-109-light.css +11 -11
  48. package/lib/dist/tokens/tokens-110-dark.css +19 -19
  49. package/lib/dist/tokens/tokens-110-light.css +11 -11
  50. package/lib/dist/tokens/tokens-111-dark.css +19 -19
  51. package/lib/dist/tokens/tokens-111-light.css +11 -11
  52. package/lib/dist/tokens/tokens-112-dark.css +19 -19
  53. package/lib/dist/tokens/tokens-112-light.css +11 -11
  54. package/lib/dist/tokens/tokens-113-dark.css +19 -19
  55. package/lib/dist/tokens/tokens-113-light.css +11 -11
  56. package/lib/dist/tokens/tokens-114-dark.css +19 -19
  57. package/lib/dist/tokens/tokens-114-light.css +11 -11
  58. package/lib/dist/tokens/tokens-115-dark.css +19 -19
  59. package/lib/dist/tokens/tokens-115-light.css +11 -11
  60. package/lib/dist/tokens/tokens-116-dark.css +19 -19
  61. package/lib/dist/tokens/tokens-116-light.css +11 -11
  62. package/lib/dist/tokens/tokens-117-dark.css +19 -19
  63. package/lib/dist/tokens/tokens-117-light.css +11 -11
  64. package/lib/dist/tokens/tokens-118-dark.css +19 -19
  65. package/lib/dist/tokens/tokens-118-light.css +11 -11
  66. package/lib/dist/tokens/tokens-119-dark.css +19 -19
  67. package/lib/dist/tokens/tokens-119-light.css +11 -11
  68. package/lib/dist/tokens/tokens-120-dark.css +19 -19
  69. package/lib/dist/tokens/tokens-120-light.css +11 -11
  70. package/lib/dist/tokens/tokens-121-dark.css +19 -19
  71. package/lib/dist/tokens/tokens-121-light.css +11 -11
  72. package/lib/dist/tokens/tokens-122-dark.css +19 -19
  73. package/lib/dist/tokens/tokens-122-light.css +11 -11
  74. package/lib/dist/tokens/tokens-123-dark.css +19 -19
  75. package/lib/dist/tokens/tokens-123-light.css +11 -11
  76. package/lib/dist/tokens/tokens-124-dark.css +19 -19
  77. package/lib/dist/tokens/tokens-124-light.css +11 -11
  78. package/lib/dist/tokens/tokens-125-dark.css +19 -19
  79. package/lib/dist/tokens/tokens-125-light.css +11 -11
  80. package/lib/dist/tokens/tokens-126-dark.css +19 -19
  81. package/lib/dist/tokens/tokens-126-light.css +11 -11
  82. package/lib/dist/tokens/tokens-127-dark.css +19 -19
  83. package/lib/dist/tokens/tokens-127-light.css +11 -11
  84. package/lib/dist/tokens/tokens-128-dark.css +19 -19
  85. package/lib/dist/tokens/tokens-128-light.css +11 -11
  86. package/lib/dist/tokens/tokens-129-dark.css +19 -19
  87. package/lib/dist/tokens/tokens-129-light.css +11 -11
  88. package/lib/dist/tokens/tokens-130-dark.css +19 -19
  89. package/lib/dist/tokens/tokens-130-light.css +11 -11
  90. package/lib/dist/tokens/tokens-131-dark.css +19 -19
  91. package/lib/dist/tokens/tokens-131-light.css +11 -11
  92. package/lib/dist/tokens/tokens-132-dark.css +19 -19
  93. package/lib/dist/tokens/tokens-132-light.css +11 -11
  94. package/lib/dist/tokens/tokens-133-dark.css +19 -19
  95. package/lib/dist/tokens/tokens-133-light.css +11 -11
  96. package/lib/dist/tokens/tokens-134-dark.css +19 -19
  97. package/lib/dist/tokens/tokens-134-light.css +11 -11
  98. package/lib/dist/tokens/tokens-135-dark.css +19 -19
  99. package/lib/dist/tokens/tokens-135-light.css +11 -11
  100. package/lib/dist/tokens/tokens-136-dark.css +19 -19
  101. package/lib/dist/tokens/tokens-136-light.css +11 -11
  102. package/lib/dist/tokens/tokens-137-dark.css +19 -19
  103. package/lib/dist/tokens/tokens-137-light.css +11 -11
  104. package/lib/dist/tokens/tokens-aegean-dark.css +19 -19
  105. package/lib/dist/tokens/tokens-aegean-light.css +11 -11
  106. package/lib/dist/tokens/tokens-base-dark.css +12 -11
  107. package/lib/dist/tokens/tokens-base-light.css +12 -11
  108. package/lib/dist/tokens/tokens-botany-dark.css +19 -19
  109. package/lib/dist/tokens/tokens-botany-light.css +11 -11
  110. package/lib/dist/tokens/tokens-buttercream-dark.css +19 -19
  111. package/lib/dist/tokens/tokens-buttercream-light.css +11 -11
  112. package/lib/dist/tokens/tokens-ceruleo-dark.css +19 -19
  113. package/lib/dist/tokens/tokens-ceruleo-light.css +11 -11
  114. package/lib/dist/tokens/tokens-debug-base.css +12 -11
  115. package/lib/dist/tokens/tokens-debug-dp.css +9 -9
  116. package/lib/dist/tokens/tokens-dp-dark.css +19 -19
  117. package/lib/dist/tokens/tokens-dp-light.css +11 -11
  118. package/lib/dist/tokens/tokens-expressive-dark.css +19 -19
  119. package/lib/dist/tokens/tokens-expressive-light.css +11 -11
  120. package/lib/dist/tokens/tokens-expressive-sm-dark.css +19 -19
  121. package/lib/dist/tokens/tokens-expressive-sm-light.css +11 -11
  122. package/lib/dist/tokens/tokens-high-desert-dark.css +19 -19
  123. package/lib/dist/tokens/tokens-high-desert-light.css +11 -11
  124. package/lib/dist/tokens/tokens-melon-dark.css +19 -19
  125. package/lib/dist/tokens/tokens-melon-light.css +11 -11
  126. package/lib/dist/tokens/tokens-plum-dark.css +19 -19
  127. package/lib/dist/tokens/tokens-plum-light.css +11 -11
  128. package/lib/dist/tokens/tokens-prota-deuter-dark.css +18 -18
  129. package/lib/dist/tokens/tokens-prota-deuter-light.css +11 -11
  130. package/lib/dist/tokens/tokens-sunflower-dark.css +19 -19
  131. package/lib/dist/tokens/tokens-sunflower-light.css +11 -11
  132. package/lib/dist/tokens/tokens-tmo-dark.css +19 -19
  133. package/lib/dist/tokens/tokens-tmo-light.css +11 -11
  134. package/lib/dist/tokens/tokens-trita-dark.css +19 -19
  135. package/lib/dist/tokens/tokens-trita-light.css +11 -11
  136. package/lib/dist/tokens/tokens-verdant-haze-dark.css +19 -19
  137. package/lib/dist/tokens/tokens-verdant-haze-light.css +11 -11
  138. package/lib/dist/tokens-docs.json +1 -1
  139. package/package.json +2 -2
@@ -24,7 +24,6 @@
24
24
  inset-inline: 0;
25
25
  z-index: var(--zi-navigation-fixed);
26
26
  max-inline-size: 100%;
27
- min-block-size: var(--dt-size-650); // 48
28
27
  padding: 0;
29
28
  line-height: var(--banner-line-height);
30
29
  border-block-end: 1px solid var(--banner-color-border);
@@ -55,19 +54,22 @@
55
54
  display: flex;
56
55
  align-items: center;
57
56
  inline-size: 100%;
58
- max-inline-size: 128rem;
59
- min-block-size: 100%;
57
+ min-block-size: calc(var(--dt-size-650) + var(--dt-size-200));
60
58
  margin: 0 auto;
61
59
  padding: var(--banner-dialog-padding-y) var(--banner-dialog-padding-x);
62
60
 
61
+ .d-notice__icon {
62
+ margin-block-start: var(--dt-size-0);
63
+ }
64
+
63
65
  .d-notice__content {
64
66
  flex-direction: row;
65
- gap: var(--dt-size-300);
67
+ gap: var(--dt-size-350);
66
68
  align-items: baseline;
67
69
  }
68
70
 
69
71
  .d-notice__message {
70
- font-size: var(--dt-font-size-200) !important;
72
+ font: var(--dt-text-body-sm);
71
73
  }
72
74
  }
73
75
 
@@ -13,7 +13,7 @@
13
13
 
14
14
  @layer dialtone.components {
15
15
  .d-breadcrumbs {
16
- --breadcrumbs-font-size: var(--dt-font-size-200);
16
+ --breadcrumbs-font-size: var(--dt-font-size-150);
17
17
  --breadcrumbs-line-height: var(--dt-font-line-height-300);
18
18
  --breadcrumbs-color-separator: var(--dt-color-foreground-muted);
19
19
  --breadcrumbs-color-text: var(--dt-color-link-muted);
@@ -30,15 +30,13 @@
30
30
  // $ WRAPPER
31
31
  // ----------------------------------------------------------------------------
32
32
 
33
- > ol {
33
+ &__list {
34
34
  display: flex;
35
35
  flex-wrap: wrap;
36
36
  align-items: flex-start;
37
37
  box-sizing: border-box;
38
38
  margin: 0;
39
39
  padding: 0;
40
- font-size: var(--breadcrumbs-font-size);
41
- line-height: var(--breadcrumbs-line-height);
42
40
  list-style: none;
43
41
  }
44
42
 
@@ -47,10 +45,12 @@
47
45
  // ----------------------------------------------------------------------------
48
46
  &__item {
49
47
  position: relative;
50
- margin-inline: var(--dt-size-400) 0;
51
- margin-block: 0;
52
48
  padding: 0;
49
+ font-size: var(--breadcrumbs-font-size);
50
+ line-height: var(--breadcrumbs-line-height);
53
51
  list-style: none;
52
+ margin-inline: var(--dt-size-400) 0;
53
+ margin-block: 0;
54
54
 
55
55
  // Provide a forward slash with each element except when it's the last one.
56
56
  &:not(:last-of-type) {
@@ -58,21 +58,13 @@
58
58
 
59
59
  &::before {
60
60
  position: absolute;
61
- inset-inline-end: var(--dt-size-450-negative);
62
- margin-block-start: var(--dt-size-100-negative);
63
61
  color: var(--breadcrumbs-color-separator);
64
62
  content: '/';
63
+ inset-inline-end: var(--dt-size-450-negative);
64
+ margin-block-start: var(--dt-size-100-negative);
65
65
  }
66
66
  }
67
67
 
68
- .d-link {
69
- color: var(--breadcrumbs-color-text);
70
- text-decoration: none;
71
-
72
- &:hover {
73
- text-decoration: underline;
74
- }
75
- }
76
68
 
77
69
  // -- SELECTED STATE (CURRENT PAGE)
78
70
  &--selected {
@@ -86,5 +78,14 @@
86
78
  }
87
79
  }
88
80
  }
81
+
82
+ &__link {
83
+ color: var(--breadcrumbs-color-text);
84
+ text-decoration: none;
85
+
86
+ &:hover {
87
+ text-decoration: underline;
88
+ }
89
+ }
89
90
  }
90
91
  }
@@ -27,7 +27,7 @@
27
27
  --button-border-width: var(--dt-size-border-100);
28
28
  --button-typography: var(--dt-typography-button-md);
29
29
  --button-padding-y-xs: calc(
30
- calc(var(--dt-size-400) - var(--dt-size-100)) - var(--button-border-width)
30
+ calc(var(--dt-size-350) - var(--dt-size-100)) - var(--button-border-width)
31
31
  ); // ((8 - 1) - border-width)
32
32
 
33
33
  --button-padding-x-xs: calc(
@@ -35,7 +35,7 @@
35
35
  ); // 8 minus border-width
36
36
 
37
37
  --button-padding-y-sm: calc(
38
- var(--dt-size-400) - var(--button-border-width)
38
+ var(--dt-size-350) - var(--button-border-width)
39
39
  ); // 8 minus border-width
40
40
 
41
41
  --button-padding-x-sm: calc(
@@ -78,6 +78,7 @@
78
78
  padding: var(--button-padding-y) var(--button-padding-x);
79
79
  color: var(--button-color-text);
80
80
  font: var(--button-typography);
81
+ font-weight: var(--dt-font-weight-medium);
81
82
  text-transform: inherit;
82
83
  text-decoration: none;
83
84
  vertical-align: middle;
@@ -95,14 +96,14 @@
95
96
 
96
97
  // -- STATES
97
98
  // ------------------------------------------------------------------------
98
- &:hover:not([disabled]) {
99
+ &:hover:not(:disabled, .d-btn--disabled) {
99
100
  --button-color-text: var(--dt-action-color-foreground-base-hover);
100
101
  --button-color-background: var(--dt-action-color-background-base-hover);
101
102
  }
102
103
 
103
- &:active:not([disabled]),
104
- &.d-btn--active:not([disabled]),
105
- &.d-btn--active:active:not([disabled]) {
104
+ &:active:not(:disabled, .d-btn--disabled),
105
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
106
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
106
107
  --button-color-text: var(--dt-action-color-foreground-base-active);
107
108
  --button-color-background: var(--dt-action-color-background-base-active);
108
109
  }
@@ -112,17 +113,30 @@
112
113
  box-shadow: var(--dt-shadow-focus);
113
114
  }
114
115
 
115
- &[disabled] {
116
- --button-color-border: transparent !important;
117
- --button-color-text: var(
118
- --dt-action-color-foreground-disabled-default
119
- ) !important;
120
- --button-color-background: var(
121
- --dt-action-color-background-disabled-default
122
- ) !important;
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%;
123
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 );
124
128
  cursor: not-allowed;
125
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
+ }
126
140
  }
127
141
  }
128
142
 
@@ -132,14 +146,14 @@
132
146
  --button-color-text: var(--dt-action-color-foreground-muted-default);
133
147
  --button-border-radius: var(--dt-size-radius-circle);
134
148
 
135
- &:hover:not([disabled]) {
149
+ &:hover:not(:disabled, .d-btn--disabled) {
136
150
  --button-color-text: var(--dt-action-color-foreground-muted-hover);
137
151
  --button-color-background: var(--dt-action-color-background-muted-hover);
138
152
  }
139
153
 
140
- &:active:not([disabled]),
141
- &.d-btn--active:not([disabled]),
142
- &.d-btn--active:active:not([disabled]) {
154
+ &:active:not(:disabled, .d-btn--disabled),
155
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
156
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
143
157
  --button-color-text: var(--dt-action-color-foreground-muted-active);
144
158
  --button-color-background: var(--dt-action-color-background-muted-active);
145
159
  }
@@ -255,6 +269,36 @@
255
269
  --button-border-radius: var(--dt-button-size-radius-xl);
256
270
  }
257
271
 
272
+ // ============================================================================
273
+ // $ BUTTON LEADING/TRAILING
274
+ // ----------------------------------------------------------------------------
275
+ .d-btn__leading,
276
+ .d-btn__trailing {
277
+ display: inline-flex;
278
+ align-items: center;
279
+ align-self: stretch;
280
+ margin-block: calc(-1 * var(--button-padding-y));
281
+
282
+ .d-btn:disabled &,
283
+ .d-btn--disabled & {
284
+ opacity: .6;
285
+ }
286
+ }
287
+
288
+ .d-btn__leading {
289
+ order: -1;
290
+ margin-inline: calc(-1 * var(--button-padding-x)) var(--dt-size-200);
291
+ border-start-start-radius: calc(var(--button-border-radius) - 1px);
292
+ border-end-start-radius: calc(var(--button-border-radius) - 1px);
293
+ }
294
+
295
+ .d-btn__trailing {
296
+ margin-inline: var(--dt-size-200) calc(-1 * var(--button-padding-x));
297
+ border-start-end-radius: calc(var(--button-border-radius) - 1px);
298
+ border-end-end-radius: calc(var(--button-border-radius) - 1px);
299
+ order: 2;
300
+ }
301
+
258
302
  // ============================================================================
259
303
  // $ BUTTON LABEL
260
304
  // ----------------------------------------------------------------------------
@@ -325,16 +369,16 @@
325
369
  --dt-action-color-background-base-primary-default
326
370
  );
327
371
 
328
- &:hover:not([disabled]) {
372
+ &:hover:not(:disabled, .d-btn--disabled) {
329
373
  --button-color-text: var(--dt-action-color-foreground-base-primary-default);
330
374
  --button-color-background: var(
331
375
  --dt-action-color-background-base-primary-hover
332
376
  );
333
377
  }
334
378
 
335
- &:active:not([disabled]),
336
- &.d-btn--active:not([disabled]),
337
- &.d-btn--active:active:not([disabled]) {
379
+ &:active:not(:disabled, .d-btn--disabled),
380
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
381
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
338
382
  --button-color-text: var(--dt-action-color-foreground-base-primary-default);
339
383
  --button-color-background: var(
340
384
  --dt-action-color-background-base-primary-active
@@ -348,14 +392,14 @@
348
392
  --button-color-text: var(--dt-action-color-foreground-muted-default);
349
393
  --button-color-border: var(--dt-action-color-border-muted-default);
350
394
 
351
- &:hover:not([disabled]) {
395
+ &:hover:not(:disabled, .d-btn--disabled) {
352
396
  --button-color-text: var(--dt-action-color-foreground-muted-hover);
353
397
  --button-color-background: var(--dt-action-color-background-muted-hover);
354
398
  }
355
399
 
356
- &:active:not([disabled]),
357
- &.d-btn--active:not([disabled]),
358
- &.d-btn--active:active:not([disabled]) {
400
+ &:active:not(:disabled, .d-btn--disabled),
401
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
402
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
359
403
  --button-color-text: var(--dt-action-color-foreground-muted-active);
360
404
  --button-color-background: var(--dt-action-color-background-muted-active);
361
405
  }
@@ -372,14 +416,14 @@
372
416
  --button-color-background: var(--dt-action-color-background-critical-default);
373
417
  --button-color-border: var(--dt-action-color-border-critical-default);
374
418
 
375
- &:hover:not([disabled]) {
419
+ &:hover:not(:disabled, .d-btn--disabled) {
376
420
  --button-color-text: var(--dt-action-color-foreground-critical-hover);
377
421
  --button-color-background: var(--dt-action-color-background-critical-hover);
378
422
  }
379
423
 
380
- &:active:not([disabled]),
381
- &.d-btn--active:not([disabled]),
382
- &.d-btn--active:active:not([disabled]) {
424
+ &:active:not(:disabled, .d-btn--disabled),
425
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
426
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
383
427
  --button-color-text: var(--dt-action-color-foreground-critical-active);
384
428
  --button-color-background: var(
385
429
  --dt-action-color-background-critical-active
@@ -400,7 +444,7 @@
400
444
  --dt-action-color-background-critical-primary-default
401
445
  );
402
446
 
403
- &:hover:not([disabled]) {
447
+ &:hover:not(:disabled, .d-btn--disabled) {
404
448
  --button-color-text: var(
405
449
  --dt-action-color-foreground-critical-primary-default
406
450
  );
@@ -409,9 +453,9 @@
409
453
  );
410
454
  }
411
455
 
412
- &:active:not([disabled]),
413
- &.d-btn--active:not([disabled]),
414
- &.d-btn--active:active:not([disabled]) {
456
+ &:active:not(:disabled, .d-btn--disabled),
457
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
458
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
415
459
  --button-color-text: var(
416
460
  --dt-action-color-foreground-critical-primary-default
417
461
  );
@@ -429,14 +473,14 @@
429
473
  --button-color-background: var(--dt-action-color-background-positive-default);
430
474
  --button-color-border: var(--dt-action-color-border-positive-default);
431
475
 
432
- &:hover:not([disabled]) {
476
+ &:hover:not(:disabled, .d-btn--disabled) {
433
477
  --button-color-text: var(--dt-action-color-foreground-positive-hover);
434
478
  --button-color-background: var(--dt-action-color-background-positive-hover);
435
479
  }
436
480
 
437
- &:active:not([disabled]),
438
- &.d-btn--active:not([disabled]),
439
- &.d-btn--active:active:not([disabled]) {
481
+ &:active:not(:disabled, .d-btn--disabled),
482
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
483
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
440
484
  --button-color-text: var(--dt-action-color-foreground-positive-active);
441
485
  --button-color-background: var(
442
486
  --dt-action-color-background-positive-active
@@ -457,7 +501,7 @@
457
501
  --dt-action-color-background-positive-primary-default
458
502
  );
459
503
 
460
- &:hover:not([disabled]) {
504
+ &:hover:not(:disabled, .d-btn--disabled) {
461
505
  --button-color-text: var(
462
506
  --dt-action-color-foreground-positive-primary-default
463
507
  );
@@ -466,9 +510,9 @@
466
510
  );
467
511
  }
468
512
 
469
- &:active:not([disabled]),
470
- &.d-btn--active:not([disabled]),
471
- &.d-btn--active:active:not([disabled]) {
513
+ &:active:not(:disabled, .d-btn--disabled),
514
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
515
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
472
516
  --button-color-text: var(
473
517
  --dt-action-color-foreground-positive-primary-default
474
518
  );
@@ -487,14 +531,14 @@
487
531
  --button-color-background: var(--dt-action-color-background-inverted-default);
488
532
  --button-color-border: var(--dt-action-color-border-inverted-default);
489
533
 
490
- &:hover:not([disabled]) {
534
+ &:hover:not(:disabled, .d-btn--disabled) {
491
535
  --button-color-text: var(--dt-action-color-foreground-inverted-hover);
492
536
  --button-color-background: var(--dt-action-color-background-inverted-hover);
493
537
  }
494
538
 
495
- &:active:not([disabled]),
496
- &.d-btn--active:not([disabled]),
497
- &.d-btn--active:active:not([disabled]) {
539
+ &:active:not(:disabled, .d-btn--disabled),
540
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
541
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
498
542
  --button-color-text: var(--dt-action-color-foreground-inverted-active);
499
543
  --button-color-background: var(
500
544
  --dt-action-color-background-inverted-active
@@ -517,7 +561,7 @@
517
561
  --dt-action-color-background-inverted-primary-default
518
562
  );
519
563
 
520
- &:hover:not([disabled]) {
564
+ &:hover:not(:disabled, .d-btn--disabled) {
521
565
  --button-color-text: var(
522
566
  --dt-action-color-foreground-inverted-primary-hover
523
567
  );
@@ -526,9 +570,9 @@
526
570
  );
527
571
  }
528
572
 
529
- &:active:not([disabled]),
530
- &.d-btn--active:not([disabled]),
531
- &.d-btn--active:active:not([disabled]) {
573
+ &:active:not(:disabled, .d-btn--disabled),
574
+ &.d-btn--active:not(:disabled, .d-btn--disabled),
575
+ &.d-btn--active:active:not(:disabled, .d-btn--disabled) {
532
576
  --button-color-text: var(
533
577
  --dt-action-color-foreground-inverted-primary-active
534
578
  );
@@ -582,22 +626,6 @@
582
626
  .d-btn-loading();
583
627
  }
584
628
 
585
- // $$ DISABLED STATE
586
- // ----------------------------------------------------------------------------
587
- .d-btn--disabled {
588
- --button-color-text: var(
589
- --dt-action-color-foreground-disabled-default
590
- ) !important;
591
- --button-color-background: var(
592
- --dt-action-color-background-disabled-default
593
- ) !important;
594
- --button-color-border: transparent !important;
595
-
596
- cursor: not-allowed;
597
- transition: none;
598
- pointer-events: none;
599
- }
600
-
601
629
  // $$ BRAND BUTTONS
602
630
  // ----------------------------------------------------------------------------
603
631
  .d-btn--brand {
@@ -606,8 +634,7 @@
606
634
 
607
635
  display: flex;
608
636
 
609
- &:hover:not([disabled]),
610
- &:active:not([disabled]) {
637
+ &:hover:not(:disabled, .d-btn--disabled) {
611
638
  --button-color-text: oklch(from var(--dt-color-neutral-white) l c h / 0.9);
612
639
  --button-color-background: oklch(from var(--brand-color) calc(l - 0.05) c h);
613
640
  }
@@ -618,7 +645,7 @@
618
645
  0 0 0 0.25em oklch(from var(--brand-color) l c h / 0.9);
619
646
  }
620
647
 
621
- &:active:not([disabled]) {
648
+ &:active:not(:disabled, .d-btn--disabled) {
622
649
  --button-color-background: oklch(from var(--brand-color) calc(l - 0.1) c h);
623
650
  }
624
651
 
@@ -692,12 +719,15 @@
692
719
 
693
720
  .d-popover,
694
721
  .d-popover div,
695
- .d-popover &__omega {
722
+ .d-popover &__omega,
723
+ .d-popover &__end {
696
724
  block-size: 100%;
697
725
  }
698
726
 
699
727
  &__alpha,
700
- &__omega {
728
+ &__omega,
729
+ &__start,
730
+ &__end {
701
731
  position: relative;
702
732
 
703
733
  &:focus-visible {
@@ -705,12 +735,27 @@
705
735
  }
706
736
  }
707
737
 
708
- &__alpha {
738
+ &__alpha,
739
+ &__start {
709
740
  flex-grow: 1;
710
741
  padding-inline-end: calc(var(--button-padding-x) + var(--dt-size-200));
742
+
743
+ &:not(.d-btn--outlined) {
744
+ border-inline-end: 0;
745
+ }
746
+
747
+ &:disabled:not(.d-btn--outlined),
748
+ &:disabled:not(.d-btn--primary),
749
+ &.d-btn--primary,
750
+ &.d-btn--outlined {
751
+ border-inline-end: 0;
752
+ border-start-end-radius: 0;
753
+ border-end-end-radius: 0;
754
+ }
711
755
  }
712
756
 
713
- &__omega {
757
+ &__omega,
758
+ &__end {
714
759
  // vertical divider between the two buttons
715
760
  &::before {
716
761
  position: absolute;
@@ -724,20 +769,27 @@
724
769
  opacity: var(--dt-opacity-600); // soften it
725
770
  content: "";
726
771
 
727
- // soften divider for muted outlined
728
- .d-split-btn:has(.d-btn--outlined.d-btn--muted, .d-btn--outlined.d-btn--inverted) & {
772
+ // soften divider for muted outlined
773
+ .d-split-btn:has(.d-btn--outlined.d-btn--muted,
774
+ .d-btn--outlined.d-btn--inverted) & {
729
775
  opacity: var(--dt-opacity-300);
730
776
  }
731
777
 
732
778
  // hide divider line when hovering or focusing any button within the split button
733
- .d-split-btn:has(:focus-visible, :hover, .d-btn--active) & {
779
+ .d-split-btn:has(:focus-visible,
780
+ :hover,
781
+ .d-btn--active) & {
734
782
  opacity: 0;
735
783
  }
736
784
 
737
785
  // DO NOT hide divider line for primary, outlined, or disabled buttons
738
786
  .d-split-btn:has(:disabled) &,
739
- .d-split-btn:has(.d-btn--outlined:focus-visible, .d-btn--outlined:hover, .d-btn--outlined.d-btn--active) &,
740
- .d-split-btn:has(.d-btn--primary:focus-visible, .d-btn--primary:hover, .d-btn--primary.d-btn--active) & {
787
+ .d-split-btn:has(.d-btn--outlined:focus-visible,
788
+ .d-btn--outlined:hover,
789
+ .d-btn--outlined.d-btn--active) &,
790
+ .d-split-btn:has(.d-btn--primary:focus-visible,
791
+ .d-btn--primary:hover,
792
+ .d-btn--primary.d-btn--active) & {
741
793
  opacity: var(--dt-opacity-600);
742
794
  }
743
795
  }
@@ -752,59 +804,51 @@
752
804
  &.d-btn--outlined::before {
753
805
  inset-block: var(--dt-size-50-negative);
754
806
  }
755
- }
756
-
757
- &__alpha:disabled:not(.d-btn--outlined),
758
- &__alpha:disabled:not(.d-btn--primary),
759
- &__alpha.d-btn--primary,
760
- &__alpha.d-btn--outlined {
761
- border-inline-end: 0;
762
- border-start-end-radius: 0;
763
- border-end-end-radius: 0;
764
- }
765
-
766
- &__alpha:not(.d-btn--outlined) {
767
- border-inline-end: 0;
768
- }
769
807
 
770
- &__omega:not(.d-btn--outlined) {
771
- border-inline-start: 0;
772
- }
808
+ &:not(.d-btn--outlined) {
809
+ border-inline-start: 0;
810
+ }
773
811
 
774
- &__omega:not(.d-btn--outlined, .d-btn--primary) > * {
775
- // yes, I'm pushing a half-pixel over just for this variant
776
- // to ensure icon is centered
777
- transform: translateX(var(--dt-size-50));
778
- }
812
+ &:not(.d-btn--outlined, .d-btn--primary) > * {
813
+ // yes, I'm pushing a half-pixel over just for this variant
814
+ // to ensure icon is centered
815
+ transform: translateX(var(--dt-size-50));
816
+ }
779
817
 
780
- &__omega:disabled:not(.d-btn--outlined),
781
- &__omega:disabled:not(.d-btn--primary),
782
- &__omega.d-btn--primary,
783
- &__omega.d-btn--outlined {
784
- border-inline-start: 0;
785
- border-start-start-radius: 0;
786
- border-end-start-radius: 0;
818
+ &:disabled:not(.d-btn--outlined),
819
+ &:disabled:not(.d-btn--primary),
820
+ &.d-btn--primary,
821
+ &.d-btn--outlined {
822
+ border-inline-start: 0;
823
+ border-start-start-radius: 0;
824
+ border-end-start-radius: 0;
825
+ }
787
826
  }
788
827
 
789
828
  // adjust x-padding for icon-only button at each size
790
- &__omega--xs.d-btn--icon-only {
791
- --button-padding-x: var(--dt-size-300);
829
+ &__omega--xs,
830
+ &__end--xs {
831
+ &.d-btn--icon-only { --button-padding-x: var(--dt-size-300); }
792
832
  }
793
833
 
794
- &__omega--sm.d-btn--icon-only {
795
- --button-padding-x: var(--dt-size-300);
834
+ &__omega--sm,
835
+ &__end--sm {
836
+ &.d-btn--icon-only { --button-padding-x: var(--dt-size-300); }
796
837
  }
797
838
 
798
- &__omega--md.d-btn--icon-only {
799
- --button-padding-x: var(--dt-size-350);
839
+ &__omega--md,
840
+ &__end--md {
841
+ &.d-btn--icon-only { --button-padding-x: var(--dt-size-350); }
800
842
  }
801
843
 
802
- &__omega--lg.d-btn--icon-only {
803
- --button-padding-x: var(--dt-size-400);
844
+ &__omega--lg,
845
+ &__end--lg {
846
+ &.d-btn--icon-only { --button-padding-x: var(--dt-size-400); }
804
847
  }
805
848
 
806
- &__omega--xl.d-btn--icon-only {
807
- --button-padding-x: var(--dt-size-450);
849
+ &__omega--xl,
850
+ &__end--xl {
851
+ &.d-btn--icon-only { --button-padding-x: var(--dt-size-450); }
808
852
  }
809
853
  }
810
854
 
@@ -53,6 +53,7 @@
53
53
  // ----------------------------------------------------------------------------
54
54
  .d-card__footer {
55
55
  display: flex;
56
+ gap: var(--dt-size-400);
56
57
  align-items: center;
57
58
  padding: 0 var(--dt-size-500) var(--dt-size-500);
58
59
  }
@@ -13,16 +13,40 @@
13
13
 
14
14
  @layer dialtone.components {
15
15
  .d-codeblock {
16
- display: block;
17
- padding: var(--dt-size-400);
18
- color: var(--dt-color-foreground-secondary);
19
- font-size: var(--dt-font-size-200);
20
- font-family: var(--dt-font-family-mono);
21
- line-height: var(--dt-font-line-height-400);
22
- white-space: pre-wrap;
23
- background-color: var(--dt-color-surface-secondary);
24
- border: var(--dt-size-100) solid;
25
- border-color: var(--dt-color-border-subtle);
26
- border-radius: var(--dt-size-radius-400);
16
+ margin: 0;
17
+ color: var(--dt-color-foreground-tertiary);
18
+ font: inherit;
19
+
20
+ &--bordered {
21
+ padding: var(--dt-size-450);
22
+ background-color: var(--dt-color-surface-secondary);
23
+ border: var(--dt-size-100) solid;
24
+ border-color: var(--dt-color-border-subtle);
25
+ border-radius: var(--dt-size-radius-400);
26
+ }
27
+
28
+ &__code {
29
+ display: block;
30
+ font: var(--dt-text-code-sm);
31
+ line-height: var(--dt-text-line-height-300);
32
+ white-space: pre-wrap;
33
+ text-box-trim: trim-both;
34
+
35
+ &--xs {
36
+ font: var(--dt-text-code-xs);
37
+ }
38
+
39
+ &--sm {
40
+ font: var(--dt-text-code-sm);
41
+ }
42
+
43
+ &--md {
44
+ font: var(--dt-text-code-md);
45
+ }
46
+
47
+ &--lg {
48
+ font: var(--dt-text-code-lg);
49
+ }
50
+ }
27
51
  }
28
52
  }