@dialpad/dialtone-css 8.76.0-next.1 → 8.76.0-next.2

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 (123) hide show
  1. package/lib/build/less/components/button.less +4 -4
  2. package/lib/build/less/components/emoji-picker.less +3 -6
  3. package/lib/build/less/components/filter-pill.less +51 -28
  4. package/lib/build/less/components/input.less +5 -0
  5. package/lib/build/less/components/list-item.less +1 -1
  6. package/lib/build/less/components/popover.less +0 -1
  7. package/lib/build/less/components/segmented-control.less +116 -0
  8. package/lib/build/less/components/tabs.less +21 -0
  9. package/lib/build/less/components/tooltip.less +17 -17
  10. package/lib/build/less/dialtone.less +1 -0
  11. package/lib/build/less/utilities/layout.less +1 -0
  12. package/lib/build/less/utilities/typography.less +1 -0
  13. package/lib/dist/dialtone-default-theme.css +151 -43
  14. package/lib/dist/dialtone-default-theme.min.css +1 -1
  15. package/lib/dist/dialtone-docs.json +1 -1
  16. package/lib/dist/dialtone.css +149 -41
  17. package/lib/dist/dialtone.min.css +1 -1
  18. package/lib/dist/tokens/tokens-101-dark.css +2 -2
  19. package/lib/dist/tokens/tokens-101-light.css +2 -2
  20. package/lib/dist/tokens/tokens-102-dark.css +2 -2
  21. package/lib/dist/tokens/tokens-102-light.css +2 -2
  22. package/lib/dist/tokens/tokens-103-dark.css +2 -2
  23. package/lib/dist/tokens/tokens-103-light.css +2 -2
  24. package/lib/dist/tokens/tokens-104-dark.css +2 -2
  25. package/lib/dist/tokens/tokens-104-light.css +2 -2
  26. package/lib/dist/tokens/tokens-105-dark.css +2 -2
  27. package/lib/dist/tokens/tokens-105-light.css +2 -2
  28. package/lib/dist/tokens/tokens-106-dark.css +2 -2
  29. package/lib/dist/tokens/tokens-106-light.css +2 -2
  30. package/lib/dist/tokens/tokens-107-dark.css +2 -2
  31. package/lib/dist/tokens/tokens-107-light.css +2 -2
  32. package/lib/dist/tokens/tokens-108-dark.css +2 -2
  33. package/lib/dist/tokens/tokens-108-light.css +2 -2
  34. package/lib/dist/tokens/tokens-109-dark.css +2 -2
  35. package/lib/dist/tokens/tokens-109-light.css +2 -2
  36. package/lib/dist/tokens/tokens-110-dark.css +2 -2
  37. package/lib/dist/tokens/tokens-110-light.css +2 -2
  38. package/lib/dist/tokens/tokens-111-dark.css +2 -2
  39. package/lib/dist/tokens/tokens-111-light.css +2 -2
  40. package/lib/dist/tokens/tokens-112-dark.css +2 -2
  41. package/lib/dist/tokens/tokens-112-light.css +2 -2
  42. package/lib/dist/tokens/tokens-113-dark.css +2 -2
  43. package/lib/dist/tokens/tokens-113-light.css +2 -2
  44. package/lib/dist/tokens/tokens-114-dark.css +2 -2
  45. package/lib/dist/tokens/tokens-114-light.css +2 -2
  46. package/lib/dist/tokens/tokens-115-dark.css +2 -2
  47. package/lib/dist/tokens/tokens-115-light.css +2 -2
  48. package/lib/dist/tokens/tokens-116-dark.css +2 -2
  49. package/lib/dist/tokens/tokens-116-light.css +2 -2
  50. package/lib/dist/tokens/tokens-117-dark.css +2 -2
  51. package/lib/dist/tokens/tokens-117-light.css +2 -2
  52. package/lib/dist/tokens/tokens-118-dark.css +2 -2
  53. package/lib/dist/tokens/tokens-118-light.css +2 -2
  54. package/lib/dist/tokens/tokens-119-dark.css +2 -2
  55. package/lib/dist/tokens/tokens-119-light.css +2 -2
  56. package/lib/dist/tokens/tokens-120-dark.css +2 -2
  57. package/lib/dist/tokens/tokens-120-light.css +2 -2
  58. package/lib/dist/tokens/tokens-121-dark.css +2 -2
  59. package/lib/dist/tokens/tokens-121-light.css +2 -2
  60. package/lib/dist/tokens/tokens-122-dark.css +2 -2
  61. package/lib/dist/tokens/tokens-122-light.css +2 -2
  62. package/lib/dist/tokens/tokens-123-dark.css +2 -2
  63. package/lib/dist/tokens/tokens-123-light.css +2 -2
  64. package/lib/dist/tokens/tokens-124-dark.css +2 -2
  65. package/lib/dist/tokens/tokens-124-light.css +2 -2
  66. package/lib/dist/tokens/tokens-125-dark.css +2 -2
  67. package/lib/dist/tokens/tokens-125-light.css +2 -2
  68. package/lib/dist/tokens/tokens-126-dark.css +2 -2
  69. package/lib/dist/tokens/tokens-126-light.css +2 -2
  70. package/lib/dist/tokens/tokens-127-dark.css +2 -2
  71. package/lib/dist/tokens/tokens-127-light.css +2 -2
  72. package/lib/dist/tokens/tokens-128-dark.css +2 -2
  73. package/lib/dist/tokens/tokens-128-light.css +2 -2
  74. package/lib/dist/tokens/tokens-129-dark.css +2 -2
  75. package/lib/dist/tokens/tokens-129-light.css +2 -2
  76. package/lib/dist/tokens/tokens-130-dark.css +2 -2
  77. package/lib/dist/tokens/tokens-130-light.css +2 -2
  78. package/lib/dist/tokens/tokens-131-dark.css +2 -2
  79. package/lib/dist/tokens/tokens-131-light.css +2 -2
  80. package/lib/dist/tokens/tokens-132-dark.css +2 -2
  81. package/lib/dist/tokens/tokens-132-light.css +2 -2
  82. package/lib/dist/tokens/tokens-133-dark.css +2 -2
  83. package/lib/dist/tokens/tokens-133-light.css +2 -2
  84. package/lib/dist/tokens/tokens-134-dark.css +2 -2
  85. package/lib/dist/tokens/tokens-134-light.css +2 -2
  86. package/lib/dist/tokens/tokens-135-dark.css +2 -2
  87. package/lib/dist/tokens/tokens-135-light.css +2 -2
  88. package/lib/dist/tokens/tokens-136-dark.css +2 -2
  89. package/lib/dist/tokens/tokens-136-light.css +2 -2
  90. package/lib/dist/tokens/tokens-137-dark.css +2 -2
  91. package/lib/dist/tokens/tokens-137-light.css +2 -2
  92. package/lib/dist/tokens/tokens-aegean-dark.css +2 -2
  93. package/lib/dist/tokens/tokens-aegean-light.css +2 -2
  94. package/lib/dist/tokens/tokens-botany-dark.css +2 -2
  95. package/lib/dist/tokens/tokens-botany-light.css +2 -2
  96. package/lib/dist/tokens/tokens-buttercream-dark.css +2 -2
  97. package/lib/dist/tokens/tokens-buttercream-light.css +2 -2
  98. package/lib/dist/tokens/tokens-ceruleo-dark.css +2 -2
  99. package/lib/dist/tokens/tokens-ceruleo-light.css +2 -2
  100. package/lib/dist/tokens/tokens-dp-dark.css +2 -2
  101. package/lib/dist/tokens/tokens-dp-light.css +2 -2
  102. package/lib/dist/tokens/tokens-expressive-dark.css +2 -2
  103. package/lib/dist/tokens/tokens-expressive-light.css +2 -2
  104. package/lib/dist/tokens/tokens-expressive-sm-dark.css +2 -2
  105. package/lib/dist/tokens/tokens-expressive-sm-light.css +2 -2
  106. package/lib/dist/tokens/tokens-high-desert-dark.css +2 -2
  107. package/lib/dist/tokens/tokens-high-desert-light.css +2 -2
  108. package/lib/dist/tokens/tokens-melon-dark.css +2 -2
  109. package/lib/dist/tokens/tokens-melon-light.css +2 -2
  110. package/lib/dist/tokens/tokens-plum-dark.css +2 -2
  111. package/lib/dist/tokens/tokens-plum-light.css +2 -2
  112. package/lib/dist/tokens/tokens-prota-deuter-dark.css +2 -2
  113. package/lib/dist/tokens/tokens-prota-deuter-light.css +2 -2
  114. package/lib/dist/tokens/tokens-sunflower-dark.css +2 -2
  115. package/lib/dist/tokens/tokens-sunflower-light.css +2 -2
  116. package/lib/dist/tokens/tokens-tmo-dark.css +2 -2
  117. package/lib/dist/tokens/tokens-tmo-light.css +2 -2
  118. package/lib/dist/tokens/tokens-trita-dark.css +2 -2
  119. package/lib/dist/tokens/tokens-trita-light.css +2 -2
  120. package/lib/dist/tokens/tokens-verdant-haze-dark.css +2 -2
  121. package/lib/dist/tokens/tokens-verdant-haze-light.css +2 -2
  122. package/lib/dist/tokens-docs.json +1 -1
  123. package/package.json +3 -3
@@ -319,11 +319,10 @@
319
319
 
320
320
  .d-btn__icon {
321
321
  display: flex;
322
- // background-color: rgba(0,0,0,.5);
323
322
 
324
- .d-icon {
325
- // outline: 1px solid red;
326
- // opacity: 0;
323
+ :where(.d-btn--disabled) & ,
324
+ :where(.d-btn:disabled) & {
325
+ opacity: var(--dt-opacity-600);
327
326
  }
328
327
  }
329
328
 
@@ -860,6 +859,7 @@
860
859
 
861
860
  .d-btn-group {
862
861
  display: flex;
862
+ gap: var(--dt-spacing-100);
863
863
 
864
864
  &--start {
865
865
  justify-content: flex-start;
@@ -60,17 +60,14 @@
60
60
 
61
61
  &__tabset-list {
62
62
  gap: var(--dt-size-0);
63
- justify-content: space-between;
64
63
 
65
64
  &::after {
66
65
  background-color: var(--dt-color-surface-moderate) !important;
67
66
  }
68
67
 
69
- .d-tab {
70
- --tab-padding-y: var(--dt-size-400);
71
- --tab-padding-x: var(--dt-size-300);
72
-
73
- flex-grow: 1;
68
+ .d-tablist__item {
69
+ --button-padding-y: var(--dt-size-350);
70
+ --button-padding-x: var(--dt-size-100);
74
71
 
75
72
  &.d-tab--selected {
76
73
  &::after {
@@ -17,66 +17,89 @@
17
17
  display: inline-flex;
18
18
  gap: 0;
19
19
 
20
- &__primary {
21
- &--has-clear {
22
- border-start-end-radius: 0;
23
- border-end-end-radius: 0;
20
+ &--read-only {
21
+ --filter-pill-color-background-selected-hover: transparent;
22
+ --dt-action-color-background-base-active: transparent;
23
+
24
+
25
+ :where(.d-btn) {
26
+ color: var(--dt-action-color-foreground-base-default);
27
+ }
28
+
29
+ :where(.d-btn--muted) {
30
+ color: var(--dt-action-color-foreground-muted-default);
31
+ background-color: transparent;
32
+ }
33
+
34
+ & * {
35
+ cursor: not-allowed;
36
+ }
37
+ }
38
+
39
+
40
+ &--selected:not(:disabled),
41
+ &__clear--selected:not(:disabled) {
42
+ &:hover {
43
+ background-color: var(--filter-pill-color-background-selected-hover);
24
44
  }
25
45
 
26
- &--selected:not(:disabled) {
27
- &:hover {
28
- background-color: var(--filter-pill-color-background-selected-hover);
29
- }
46
+ &:active {
47
+ background-color: var(--dt-action-color-background-base-active);
48
+ }
49
+ }
30
50
 
31
- &:active {
32
- background-color: var(--dt-action-color-background-base-active);
33
- }
51
+ &__primary {
52
+ :where(.d-filter-pill:has(.d-filter-pill__clear)) & {
53
+ border-start-end-radius: 0;
54
+ border-end-end-radius: 0;
34
55
  }
35
56
  }
36
57
 
37
58
  &__label {
38
59
  display: flex;
39
60
  gap: var(--dt-size-300);
40
- max-inline-size: var(--dt-size-875);
61
+ align-items: baseline;
41
62
  font-weight: var(--dt-font-weight-normal);
42
63
  }
43
64
 
44
- &__label-alpha {
45
- flex: 1;
65
+ &__label-start {
46
66
  overflow: hidden;
47
67
  white-space: nowrap;
48
68
  text-overflow: ellipsis;
69
+ max-inline-size: 20ch;
49
70
  }
50
71
 
51
- &__label-omega {
52
- display: flex;
53
- gap: var(--dt-size-300);
72
+ &__label-end {
54
73
  align-items: center;
55
- font-weight: var(--dt-font-weight-bold);
56
- letter-spacing: var(--dt-size-50-negative);
74
+ overflow: hidden;
75
+ font-weight: var(--dt-font-weight-semi-bold);
76
+ white-space: nowrap;
77
+ text-overflow: ellipsis;
57
78
  font-variant-numeric: tabular-nums;
79
+ max-inline-size: 20ch;
58
80
 
59
81
  &::before {
60
82
  content: "=";
83
+ margin-inline-end: var(--dt-size-300);
61
84
  }
62
85
  }
63
86
 
87
+ &__label-end-overflow {
88
+ align-items: center;
89
+ overflow: hidden;
90
+ font-weight: var(--dt-font-weight-bold);
91
+ letter-spacing: var(--dt-size-100);
92
+ font-variant-numeric: tabular-nums;
93
+ }
94
+
64
95
  &__clear {
65
96
  --button-padding-x: var(--dt-size-350) !important;
97
+ --button-padding-y: var(--dt-size-0) !important;
66
98
 
67
99
  border-inline-start-width: 0;
68
100
  border-start-start-radius: 0;
69
101
  border-end-start-radius: 0;
70
102
 
71
- &--selected:not(:disabled) {
72
- &:hover {
73
- background-color: var(--filter-pill-color-background-selected-hover);
74
- }
75
-
76
- &:active {
77
- background-color: var(--dt-action-color-background-base-active);
78
- }
79
- }
80
103
  }
81
104
  }
82
105
  }
@@ -309,6 +309,11 @@
309
309
  align-items: center;
310
310
  }
311
311
 
312
+ :where(.d-input__root:has(.d-input:disabled)) & {
313
+ opacity: var(--dt-opacity-700);
314
+ pointer-events: none;
315
+ }
316
+
312
317
  &--right:not(:empty) {
313
318
  margin-inline-end: var(--dt-size-400);
314
319
 
@@ -28,7 +28,7 @@
28
28
  border-block-start: var(--dt-size-100) solid var(--dt-color-border-default);
29
29
  }
30
30
 
31
- :focus-visible {
31
+ &:focus-visible {
32
32
  outline: none;
33
33
  box-shadow: var(--dt-shadow-focus);
34
34
  }
@@ -72,7 +72,6 @@
72
72
  align-items: center;
73
73
  justify-content: flex-end;
74
74
  inline-size: 100%;
75
- min-block-size: var(--dt-size-650);
76
75
  padding-block: var(--dt-size-350) var(--dt-size-350);
77
76
  overflow: auto;
78
77
  font-weight: var(--dt-font-weight-semi-bold);
@@ -0,0 +1,116 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: SEGMENTED CONTROL
4
+ //
5
+ // These are the styles for segmented-control component.
6
+ //
7
+ //
8
+ // TABLE OF CONTENTS
9
+ // • BASE STYLE
10
+
11
+ // @@ BASE STYLE
12
+ // ----------------------------------------------------------------------------
13
+ @layer dialtone.components {
14
+ .d-segmented-control {
15
+ --padding-segmented-control: var(--dt-size-200);
16
+ --radius-segmented-control-item: var(--dt-button-size-radius-md);
17
+ --radius-segmented-control: calc(var(--radius-segmented-control-item) + var(--padding-segmented-control));
18
+
19
+ gap: var(--padding-segmented-control);
20
+ padding: var(--padding-segmented-control);
21
+ border: var(--dt-size-border-100) solid var(--dt-color-border-subtle);
22
+ border-radius: var(--radius-segmented-control);
23
+
24
+ &--vertical {
25
+ // hold
26
+ }
27
+
28
+ &--borderless {
29
+ padding: 0;
30
+ border: 0;
31
+ }
32
+
33
+ &--spread-evenly {
34
+ > .d-segmented-control__item {
35
+ flex: 1;
36
+ }
37
+ }
38
+
39
+ &--xs {
40
+ --padding-segmented-control: var(--dt-size-100);
41
+ --radius-segmented-control-item: var(--dt-button-size-radius-xs);
42
+ }
43
+
44
+ &--sm {
45
+ --padding-segmented-control: var(--dt-size-200);
46
+ --radius-segmented-control-item: var(--dt-button-size-radius-sm);
47
+ }
48
+
49
+ &--md {
50
+ --padding-segmented-control: var(--dt-size-200);
51
+ --radius-segmented-control-item: var(--dt-button-size-radius-md);
52
+ }
53
+
54
+ &--lg {
55
+ --padding-segmented-control: var(--dt-size-300);
56
+ --radius-segmented-control-item: var(--dt-button-size-radius-lg);
57
+ }
58
+
59
+ &--xl {
60
+ --padding-segmented-control: var(--dt-size-300);
61
+ --radius-segmented-control-item: var(--dt-button-size-radius-xl);
62
+ }
63
+
64
+ &__item {
65
+ flex: 1 1 auto;
66
+ border-radius: var(--radius-segmented-control-item);
67
+ }
68
+
69
+ // -- DIVIDERS
70
+ // Base styles shared by both orientations
71
+ &:where(:not(&--hide-divider)) > :where(&__item:not(:first-child))::before {
72
+ position: absolute;
73
+ background-color: var(--dt-color-border-subtle);
74
+ border-radius: var(--radius-segmented-control-item);
75
+ opacity: var(--dt-opacity-1100);
76
+ content: '';
77
+ }
78
+
79
+ // Horizontal divider positioning
80
+ &:where(:not(&--vertical)) > :where(&__item:not(:first-child))::before {
81
+ inline-size: var(--dt-size-border-100);
82
+ // top/bottom: inset by half the item's border-radius
83
+ // left: positioned in the gap between items — half the padding (gap) negated, minus half the divider's own width
84
+ /* stylelint-disable-next-line meowtec/no-px */
85
+ inset:
86
+ calc(var(--radius-segmented-control-item) / 2)
87
+ auto
88
+ calc(var(--radius-segmented-control-item) / 2)
89
+ calc(calc(calc(var(--padding-segmented-control) * .5) * -1) - 1.5px)
90
+ ;
91
+ }
92
+
93
+ // Vertical divider positioning
94
+ &:where(&--vertical) > :where(&__item:not(:first-child))::before {
95
+ block-size: var(--dt-size-border-100);
96
+ inline-size: auto;
97
+ // top: positioned in the gap between items — half the padding (gap) negated, minus half the divider's own height
98
+ // right/left: inset by half the item's border-radius so the divider doesn't extend into rounded corners
99
+ /* stylelint-disable-next-line meowtec/no-px */
100
+ inset:
101
+ calc(calc(calc(var(--padding-segmented-control) * .5) * -1) - 1.5px) calc(var(--radius-segmented-control-item) / 2) auto;
102
+ }
103
+
104
+ // Hide divider on/after active, hovered, or focused items (both orientations)
105
+ & > :where(
106
+ .d-segmented-control__item:is(.d-btn--active, :hover, :focus-visible),
107
+ :is(.d-btn--active, :hover, :focus-visible) + .d-segmented-control__item
108
+ )::before {
109
+ opacity: 0;
110
+ }
111
+
112
+ &__item-label {
113
+ flex: 0 0 auto;
114
+ }
115
+ }
116
+ }
@@ -154,6 +154,27 @@
154
154
  }
155
155
  }
156
156
 
157
+ // Spread — shared
158
+ &--spread-grow,
159
+ &--spread-equal {
160
+ flex-wrap: nowrap;
161
+ }
162
+
163
+ // Spread grow — tabs grow proportionally to fill space
164
+ &--spread-grow {
165
+ > :where(.d-tablist__item) {
166
+ flex: 1 1 auto;
167
+ }
168
+ }
169
+
170
+ // Spread equal — all tabs are the same width
171
+ &--spread-equal {
172
+ > :where(.d-tablist__item) {
173
+ flex: 1 1 0;
174
+ min-inline-size: 0;
175
+ }
176
+ }
177
+
157
178
  // Inverted
158
179
  &--inverted {
159
180
  --tab-color-text: var(--dt-action-color-foreground-inverted-default);
@@ -38,23 +38,6 @@
38
38
  justify-content: center;
39
39
  }
40
40
 
41
- .tippy-box[data-reference-hidden] {
42
- visibility: hidden;
43
- pointer-events: none;
44
- }
45
-
46
- .tippy-box > .tippy-svg-arrow {
47
- fill: var(--dt-color-surface-contrast);
48
- }
49
-
50
- .tippy-box[data-theme~='inverted'] > .tippy-svg-arrow {
51
- fill: var(--dt-color-surface-contrast-inverted);
52
- }
53
-
54
- .tippy-box[data-animation='fade'][data-state='hidden'] {
55
- opacity: 0;
56
- }
57
-
58
41
  .d-tooltip {
59
42
  // -- COMPONENT CSS VARS
60
43
  // -----------------------
@@ -288,3 +271,20 @@ inset-block-end: var(--dt-size-100-negative); // -1
288
271
  }
289
272
  }
290
273
  }
274
+
275
+ .tippy-box[data-reference-hidden] {
276
+ visibility: hidden;
277
+ pointer-events: none;
278
+ }
279
+
280
+ .tippy-box > .tippy-svg-arrow {
281
+ fill: var(--dt-color-surface-contrast);
282
+ }
283
+
284
+ .tippy-box[data-theme~='inverted'] > .tippy-svg-arrow {
285
+ fill: var(--dt-color-surface-contrast-inverted);
286
+ }
287
+
288
+ .tippy-box[data-animation='fade'][data-state='hidden'] {
289
+ opacity: 0;
290
+ }
@@ -39,6 +39,7 @@
39
39
  @import 'components/description-list';
40
40
  @import 'components/empty-state';
41
41
  @import 'components/input';
42
+ @import 'components/segmented-control';
42
43
  @import 'components/selects';
43
44
  @import 'components/image-viewer';
44
45
  @import 'components/forms';
@@ -114,6 +114,7 @@
114
114
  .d-vi-hidden { visibility: hidden !important; }
115
115
  .d-vi-unset { visibility: unset !important; }
116
116
 
117
+ .sr-only,
117
118
  .d-vi-visible-sr {
118
119
  position: absolute;
119
120
  inline-size: var(--dt-size-100);
@@ -256,6 +256,7 @@ ul {
256
256
  .d-fs-350 { font-size: var(--dt-font-size-350) !important; }
257
257
  .d-fs-400 { font-size: var(--dt-font-size-400) !important; }
258
258
  .d-fs-500 { font-size: var(--dt-font-size-500) !important; }
259
+ .d-fs-inherit { font-size: inherit !important; }
259
260
 
260
261
  .d-fs-100-mobile { font-size: var(--dt-font-size-100-mobile) !important; }
261
262
  .d-fs-200-mobile { font-size: var(--dt-font-size-200-mobile) !important; }