@dialpad/dialtone 8.22.0 → 9.0.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 (107) hide show
  1. package/README.md +86 -29
  2. package/package.json +115 -115
  3. package/CHANGELOG.json +0 -1
  4. package/LICENSE.md +0 -21
  5. package/lib/build/favicons/dialpad/favicon-beta-notification__512.png +0 -0
  6. package/lib/build/favicons/dialpad/favicon-beta__512.png +0 -0
  7. package/lib/build/favicons/dialpad/favicon-csr__512.png +0 -0
  8. package/lib/build/favicons/dialpad/favicon-notification__512.png +0 -0
  9. package/lib/build/favicons/dialpad/favicon-staging-notification__512.png +0 -0
  10. package/lib/build/favicons/dialpad/favicon-staging__512.png +0 -0
  11. package/lib/build/favicons/dialpad/favicon__512.png +0 -0
  12. package/lib/build/favicons/favicon-dialtone__512.png +0 -0
  13. package/lib/build/favicons/uberconference/favicon-uberconference__512.png +0 -0
  14. package/lib/build/fonts/Archivo-Bold.woff2 +0 -0
  15. package/lib/build/fonts/Archivo-Regular.woff2 +0 -0
  16. package/lib/build/fonts/Archivo-SemiBold.woff2 +0 -0
  17. package/lib/build/fonts/ArchivoExpanded-SemiBold.woff2 +0 -0
  18. package/lib/build/fonts/ArchivoSemiExpanded-Medium.woff2 +0 -0
  19. package/lib/build/fonts/ArchivoSemiExpanded-SemiBold.woff2 +0 -0
  20. package/lib/build/less/components/avatar.less +0 -169
  21. package/lib/build/less/components/badge.less +0 -139
  22. package/lib/build/less/components/banner.less +0 -77
  23. package/lib/build/less/components/breadcrumbs.less +0 -88
  24. package/lib/build/less/components/button.less +0 -579
  25. package/lib/build/less/components/card.less +0 -56
  26. package/lib/build/less/components/chip.less +0 -222
  27. package/lib/build/less/components/codeblock.less +0 -26
  28. package/lib/build/less/components/collapsible.less +0 -33
  29. package/lib/build/less/components/combobox.less +0 -28
  30. package/lib/build/less/components/datepicker.less +0 -146
  31. package/lib/build/less/components/emoji-picker.less +0 -222
  32. package/lib/build/less/components/forms.less +0 -153
  33. package/lib/build/less/components/icon.less +0 -63
  34. package/lib/build/less/components/image-viewer.less +0 -35
  35. package/lib/build/less/components/input.less +0 -327
  36. package/lib/build/less/components/item-layout.less +0 -53
  37. package/lib/build/less/components/keyboard-shortcut.less +0 -39
  38. package/lib/build/less/components/link.less +0 -130
  39. package/lib/build/less/components/list-group.less +0 -48
  40. package/lib/build/less/components/list-item-group.less +0 -17
  41. package/lib/build/less/components/modal.less +0 -340
  42. package/lib/build/less/components/notice.less +0 -171
  43. package/lib/build/less/components/pagination.less +0 -41
  44. package/lib/build/less/components/popover.less +0 -99
  45. package/lib/build/less/components/presence.less +0 -60
  46. package/lib/build/less/components/radio-checkbox.less +0 -278
  47. package/lib/build/less/components/root-layout.less +0 -125
  48. package/lib/build/less/components/selects.less +0 -152
  49. package/lib/build/less/components/skeleton.less +0 -98
  50. package/lib/build/less/components/stack.less +0 -129
  51. package/lib/build/less/components/tab-panel.less +0 -15
  52. package/lib/build/less/components/table.less +0 -118
  53. package/lib/build/less/components/tabs.less +0 -219
  54. package/lib/build/less/components/toast.less +0 -120
  55. package/lib/build/less/components/toggle.less +0 -173
  56. package/lib/build/less/components/tooltip.less +0 -267
  57. package/lib/build/less/dialtone-globals.less +0 -60
  58. package/lib/build/less/dialtone-reset.less +0 -362
  59. package/lib/build/less/dialtone-variables.less +0 -16
  60. package/lib/build/less/dialtone.less +0 -72
  61. package/lib/build/less/themes/default.less +0 -83
  62. package/lib/build/less/themes/example.less +0 -89
  63. package/lib/build/less/utilities/backgrounds.less +0 -139
  64. package/lib/build/less/utilities/borders.less +0 -196
  65. package/lib/build/less/utilities/colors.less +0 -122
  66. package/lib/build/less/utilities/effects.less +0 -210
  67. package/lib/build/less/utilities/flex.less +0 -227
  68. package/lib/build/less/utilities/grid.less +0 -244
  69. package/lib/build/less/utilities/interactivity.less +0 -69
  70. package/lib/build/less/utilities/layout.less +0 -146
  71. package/lib/build/less/utilities/sizing.less +0 -152
  72. package/lib/build/less/utilities/spacing.less +0 -107
  73. package/lib/build/less/utilities/svg.less +0 -58
  74. package/lib/build/less/utilities/typography.less +0 -300
  75. package/lib/build/less/variables/layout.less +0 -19
  76. package/lib/build/less/variables/sizes.less +0 -64
  77. package/lib/build/less/variables/typography.less +0 -46
  78. package/lib/build/less/variables/visual-styles.less +0 -77
  79. package/lib/build/svg/spot/browser-list-callout.svg +0 -57
  80. package/lib/build/svg/spot/browser-table-graph.svg +0 -111
  81. package/lib/build/svg/spot/female-laptop-typing.svg +0 -336
  82. package/lib/build/svg/spot/file-upload.svg +0 -56
  83. package/lib/build/svg/spot/male-laptop-typing.svg +0 -160
  84. package/lib/build/svg/spot/publish.svg +0 -110
  85. package/lib/build/svg/spot/wireless-screenshare.svg +0 -34
  86. package/lib/dist/css/dialtone.css +0 -18804
  87. package/lib/dist/css/dialtone.min.css +0 -1
  88. package/lib/dist/fonts/Archivo-Bold.woff2 +0 -0
  89. package/lib/dist/fonts/Archivo-Regular.woff2 +0 -0
  90. package/lib/dist/fonts/Archivo-SemiBold.woff2 +0 -0
  91. package/lib/dist/fonts/ArchivoExpanded-SemiBold.woff2 +0 -0
  92. package/lib/dist/fonts/ArchivoSemiExpanded-Medium.woff2 +0 -0
  93. package/lib/dist/fonts/ArchivoSemiExpanded-SemiBold.woff2 +0 -0
  94. package/lib/dist/svg/spot/browser-list-callout.svg +0 -1
  95. package/lib/dist/svg/spot/browser-table-graph.svg +0 -1
  96. package/lib/dist/svg/spot/female-laptop-typing.svg +0 -1
  97. package/lib/dist/svg/spot/file-upload.svg +0 -1
  98. package/lib/dist/svg/spot/male-laptop-typing.svg +0 -1
  99. package/lib/dist/svg/spot/publish.svg +0 -1
  100. package/lib/dist/svg/spot/wireless-screenshare.svg +0 -1
  101. package/lib/dist/vue/spot/SpotBrowserListCallout.vue +0 -3
  102. package/lib/dist/vue/spot/SpotBrowserTableGraph.vue +0 -3
  103. package/lib/dist/vue/spot/SpotFemaleLaptopTyping.vue +0 -3
  104. package/lib/dist/vue/spot/SpotFileUpload.vue +0 -3
  105. package/lib/dist/vue/spot/SpotMaleLaptopTyping.vue +0 -3
  106. package/lib/dist/vue/spot/SpotPublish.vue +0 -3
  107. package/lib/dist/vue/spot/SpotWirelessScreenshare.vue +0 -3
@@ -1,222 +0,0 @@
1
- //
2
- // DIALTONE
3
- // COMPONENTS: CHIP
4
- //
5
- // These are chip classes for Dialpad's design system Dialtone.
6
- // For further documentation of these and other classes,
7
- // visit https://dialpad.design/components/chip
8
- //
9
- // TABLE OF CONTENTS
10
- // • BASE STYLE
11
- // • INTERACTIVITY
12
- // • SIZES
13
- //
14
- // ============================================================================
15
- // $ BASE STYLE
16
- // ----------------------------------------------------------------------------
17
- .d-chip {
18
- // Component CSS Vars
19
- --chip-color-text: var(--dt-color-foreground-primary);
20
- --chip-color-background: var(--dt-color-surface-moderate-opaque);
21
- --chip-border-radius: var(--dt-size-radius-pill);
22
-
23
- position: relative;
24
- display: inline-flex;
25
- align-items: center;
26
- }
27
-
28
- .d-chip__label {
29
- display: inline-flex;
30
- align-items: center;
31
- justify-content: center;
32
- box-sizing: border-box;
33
- padding: var(--dt-space-300) var(--dt-space-400);
34
- color: var(--chip-color-text);
35
- font-size: var(--dt-font-size-200);
36
- font-family: inherit;
37
- line-height: var(--lh4);
38
- background-color: var(--chip-color-background);
39
- border: none;
40
- border-radius: var(--chip-border-radius);
41
- transition-timing-function: var(--ttf-in-out);
42
- transition-duration: var(--td200);
43
- transition-property: background-color;
44
-
45
- // Reserves space within the chip for the close button, since the close button is
46
- // not nested within the chip. Only apply if close button exists (more than one child).
47
- &:not(:only-child)::after {
48
- flex-shrink: 0;
49
- width: calc(var(--dt-size-500) + var(--dt-size-200));
50
- height: calc(var(--dt-size-500) + var(--dt-size-200));
51
- content: '';
52
- }
53
-
54
- // These properties are only set if d-chip is interactive (ex: a button).
55
- &:is(a),
56
- &:is(button),
57
- &:is([role='button']),
58
- &:is([role='link']) {
59
- text-decoration: none;
60
- cursor: pointer;
61
-
62
- &:hover {
63
- --chip-color-background: var(--dt-color-black-300);
64
-
65
- text-decoration: none;
66
- }
67
-
68
- &:active {
69
- --chip-color-background: var(--dt-color-black-400);
70
- }
71
-
72
- &:focus-visible {
73
- outline: none;
74
- box-shadow: var(--dt-shadow-focus);
75
- }
76
- }
77
-
78
- .d-avatar {
79
- --avatar-size-shape: var(--dt-size-550);
80
-
81
- margin: var(--dt-space-200-negative) var(--dt-space-300) var(--dt-space-200-negative) var(--dt-space-350-negative);
82
- }
83
-
84
- .d-svg {
85
- width: var(--dt-icon-size-300);
86
- height: var(--dt-icon-size-300);
87
- }
88
- }
89
-
90
- .d-chip__close {
91
- .d-btn();
92
- .d-btn--circle();
93
-
94
- position: absolute;
95
- right: var(--dt-space-200);
96
- padding: calc(var(--dt-space-200) + var(--dt-space-100));
97
- border-width: 0;
98
-
99
- &::before {
100
- position: absolute;
101
- width: 2.6rem; // magic number
102
- height: 2.8rem; // magic number
103
- content: '';
104
- }
105
-
106
- &:hover:not([disabled]) {
107
- --button-color-background: hsla(var(--dt-color-black-800-hsl) ~' / ' 15%);
108
- }
109
-
110
- &:active:not([disabled]),
111
- &.d-btn--active:not([disabled]),
112
- &.d-btn--active:active:not([disabled]) {
113
- --button-color-background: hsla(var(--dt-color-black-800-hsl) ~' / ' 25%);
114
- }
115
-
116
- .d-btn__icon .d-svg {
117
- width: var(--dt-icon-size-300);
118
- height: var(--dt-icon-size-300);
119
- }
120
- }
121
-
122
- .d-chip__icon {
123
- padding-right: var(--dt-space-300);
124
- line-height: 0;
125
- }
126
-
127
- .d-chip__label--active {
128
- background-color: var(--dt-color-black-400);
129
- }
130
-
131
- .d-chip__text {
132
- overflow: hidden;
133
- white-space: nowrap;
134
- text-overflow: ellipsis;
135
- }
136
-
137
- // ============================================================================
138
- // $ SIZES
139
- // ----------------------------------------------------------------------------
140
- // $$ EXTRA SMALL
141
- // ----------------------------------------------------------------------------
142
- .d-chip__label--xs {
143
- padding: var(--dt-space-200) var(--dt-space-350);
144
- font-size: var(--dt-font-size-100);
145
-
146
- .d-svg {
147
- width: var(--dt-icon-size-200);
148
- height: var(--dt-icon-size-200);
149
- }
150
-
151
- // reserves space within the chip for the close button, since the close button is
152
- // not nested within the chip.
153
- &:not(:only-child)::after {
154
- flex-shrink: 0;
155
- width: var(--dt-size-450);
156
- height: var(--dt-size-450);
157
- content: '';
158
- }
159
-
160
- .d-avatar {
161
- --avatar-size-shape: var(--dt-size-500);
162
-
163
- margin-right: var(--dt-space-300);
164
- margin-left: var(--dt-space-300-negative);
165
- }
166
- }
167
-
168
- .d-chip__close--xs {
169
- padding: var(--dt-space-100);
170
-
171
- // Clickable area for the close button.
172
- &::before {
173
- width: var(--dt-size-550);
174
- height: var(--dt-size-550);
175
- }
176
-
177
- .d-btn__icon .d-svg {
178
- width: var(--dt-icon-size-200);
179
- height: var(--dt-icon-size-200);
180
- }
181
- }
182
-
183
- // $$ SMALL
184
- // ----------------------------------------------------------------------------
185
- .d-chip__label--sm {
186
- padding: var(--dt-space-200) var(--dt-space-400);
187
- font-size: var(--dt-font-size-200);
188
-
189
- .d-svg {
190
- width: var(--dt-size-500);
191
- height: var(--dt-size-500);
192
- }
193
-
194
- // reserves space within the chip for the close button, since the close button is
195
- // not nested within the chip.
196
- &:not(:only-child)::after {
197
- flex-shrink: 0;
198
- width: calc(var(--dt-size-500) - var(--dt-size-200)); // 14
199
- height: calc(var(--dt-size-500) - var(--dt-size-200)); // 14
200
- content: '';
201
- }
202
-
203
- .d-avatar {
204
- --avatar-size-shape: calc(var(--dt-size-500) + var(--dt-size-300)); // 20
205
-
206
- margin-right: var(--dt-space-300);
207
- }
208
- }
209
-
210
- .d-chip__close--sm {
211
- padding: var(--dt-space-200);
212
-
213
- &::before {
214
- width: var(--dt-size-550);
215
- height: var(--dt-size-550);
216
- }
217
-
218
- .d-btn__icon .d-svg {
219
- width: var(--dt-size-500);
220
- height: var(--dt-size-500);
221
- }
222
- }
@@ -1,26 +0,0 @@
1
- //
2
- // DIALTONE
3
- // COMPONENTS: Codeblock
4
- //
5
- // These are the styles for codeblock component.
6
- //
7
- // TABLE OF CONTENTS
8
- // • BASE STYLE
9
- //
10
- // ============================================================================
11
- // $ BASE STYLE
12
- // ----------------------------------------------------------------------------
13
-
14
- .d-codeblock {
15
- display: block;
16
- padding: var(--dt-space-400);
17
- color: var(--dt-color-foreground-secondary);
18
- font-size: var(--dt-font-size-200);
19
- font-family: var(--dt-font-family-mono);
20
- line-height: var(--dt-font-line-height-400);
21
- white-space: pre-wrap;
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
- }
@@ -1,33 +0,0 @@
1
- //
2
- // DIALTONE
3
- // COMPONENTS: COLLAPSIBLE
4
- //
5
- // These are collapsible classes for Dialpad's design system Dialtone.
6
- // For further documentation of these and other classes,
7
- // visit https://dialpad.design/components/collapsible
8
- //
9
- // TABLE OF CONTENTS
10
- // • BASE STYLE
11
- //
12
- // ============================================================================
13
- // $ BASE STYLE
14
- // ----------------------------------------------------------------------------
15
- .d-collapsible__icon {
16
- --icon-base-scale: var(--dt-size-400);
17
- --icon-size-300: calc(var(--icon-base-scale) * 2.25);
18
- --icon-size: var(--icon-size-300);
19
-
20
- flex: none;
21
- flex-shrink: 0;
22
- width: var(--icon-size);
23
- height: var(--icon-size);
24
- margin-right: var(--dt-space-400);
25
- fill: currentColor;
26
- }
27
-
28
- .d-collapsible__anchor-text {
29
- margin-right: auto;
30
- overflow: hidden;
31
- white-space: nowrap;
32
- text-overflow: ellipsis;
33
- }
@@ -1,28 +0,0 @@
1
- //
2
- // DIALTONE
3
- // COMPONENTS: COMBOBOX
4
- //
5
- // These are combobox classes for Dialpad's design system Dialtone.
6
- // For further documentation of these and other classes,
7
- // visit https://dialpad.design/components/combobox
8
- //
9
- // TABLE OF CONTENTS
10
- // • EMPTY LIST
11
- // • LOADING LIST LIST
12
- //
13
- // ============================================================================
14
- // $ EMPTY LIST
15
- // ----------------------------------------------------------------------------
16
- .d-combobox__empty-list {
17
- padding: var(--dt-space-0);
18
- }
19
-
20
- // ============================================================================
21
- // $ LOADING LIST
22
- // ----------------------------------------------------------------------------
23
- .d-combobox__loading-list {
24
- max-height: var(--dt-size-925);
25
- margin-top: var(--dt-space-400);
26
- padding: var(--dt-space-0);
27
- overflow-y: auto;
28
- }
@@ -1,146 +0,0 @@
1
- //
2
- // DIALTONE
3
- // COMPONENTS: DATEPICKER
4
- //
5
- // These are the styles for datepicker component.
6
- //
7
- // TABLE OF CONTENTS
8
- // • BASE STYLE
9
- //
10
- // ============================================================================
11
- // $ BASE STYLE
12
- // ----------------------------------------------------------------------------
13
- .d-datepicker {
14
- --datepicker-width: calc(var(--dt-size-300) * 75); // A bit of a magic number as default fixed size, may use CSS utilities to override
15
- --datepicker-day-size: calc(var(--dt-size-600) - var(--dt-size-200)); // Emulates SM button since Vue component in lieu of Vue component using DT button
16
-
17
- display: flex;
18
- flex-direction: column;
19
- gap: var(--dt-space-400);
20
- width: var(--datepicker-width);
21
- padding: var(--dt-space-500);
22
-
23
- p {
24
- display: flex;
25
- color: var(--dt-color-foreground-secondary);
26
- font-size: var(--dt-font-size-100);
27
- text-transform: uppercase;
28
- }
29
-
30
- &--body {
31
- padding: 0;
32
- }
33
-
34
- // TODO: update VUE component to be use a raw <table>
35
- &__month-year-picker {
36
- display: flex;
37
- gap: var(--dt-space-500);
38
- align-items: center;
39
- justify-content: space-between;
40
-
41
- > div {
42
- display: flex;
43
- gap: var(--dt-space-200);
44
- }
45
-
46
- button {
47
- // TODO: all of this should be replaced with the Vue DT button
48
- display: inline-flex;
49
- align-items: center;
50
- justify-content: center;
51
- width: var(--datepicker-day-size);
52
- height: var(--datepicker-day-size);
53
- padding: 0;
54
- color: var(--dt-action-color-foreground-base-default);
55
- background-color: var(--dt-action-color-background-base-default);
56
- border: none;
57
- border-radius: var(--dt-size-radius-circle);
58
- cursor: pointer;
59
-
60
- &:hover {
61
- color: var(--dt-action-color-foreground-base-hover);
62
- background-color: var(--dt-action-color-background-base-hover);
63
- }
64
-
65
- &:active {
66
- color: var(--dt-action-color-foreground-base-active);
67
- background-color: var(--dt-action-color-background-base-active);
68
- }
69
- }
70
- }
71
-
72
- &__calendar {
73
- display: flex;
74
- flex-direction: column;
75
- gap: var(--dt-space-200);
76
- }
77
-
78
- &__week-day {
79
- display: flex;
80
- align-items: center;
81
- justify-content: space-between;
82
-
83
- > div {
84
- display: flex;
85
- align-items: center;
86
- justify-content: center;
87
- width: var(--datepicker-day-size);
88
- height: var(--datepicker-day-size);
89
-
90
- p {
91
- margin: 0;
92
- color: var(--dt-color-foreground-tertiary);
93
- font-weight: var(--dt-font-weight-medium);
94
- }
95
- }
96
- }
97
-
98
- &__week {
99
- display: flex;
100
- align-items: center;
101
- justify-content: space-between;
102
- }
103
-
104
- &__day {
105
- // TODO: all of this should be replaced with the Vue DT button
106
- width: var(--datepicker-day-size);
107
- height: var(--datepicker-day-size);
108
- padding: 0;
109
- color: var(--dt-action-color-foreground-muted-default);
110
- font-size: var(--dt-font-size-100);
111
- font-variant-numeric: tabular-nums;
112
- line-height: 1;
113
- background-color: transparent;
114
- border: none;
115
- border-radius: var(--dt-size-radius-circle);
116
- cursor: pointer;
117
-
118
- &--disabled {
119
- color: var(--dt-color-foreground-muted);
120
- cursor: default;
121
- }
122
-
123
- &--selected {
124
- color: var(--dt-color-neutral-white);
125
- background: var(--dt-color-brand-purple);
126
- }
127
-
128
- &:hover:not(.d-datepicker__day--selected, .d-datepicker__day--disabled) {
129
- color: var(--dt-action-color-foreground-muted-hover);
130
- background-color: var(--dt-action-color-background-muted-hover);
131
- }
132
-
133
- &:active:not(.d-datepicker__day--selected, .d-datepicker__day--disabled) {
134
- color: var(--dt-action-color-foreground-muted-active);
135
- background-color: var(--dt-action-color-background-muted-active);
136
- }
137
-
138
- &:focus-visible {
139
- box-shadow: var(--dt-shadow-focus);
140
- }
141
-
142
- &:focus-visible:not(.d-datepicker__day--selected) {
143
- background-color: var(--dt-color-surface-moderate);
144
- }
145
- }
146
- }
@@ -1,222 +0,0 @@
1
- //
2
- // DIALTONE
3
- // COMPONENTS: EMOJI-PICKER
4
- //
5
- // These are the styles for emoji-picker component.
6
- //
7
- //
8
- // TABLE OF CONTENTS
9
- // • BASE STYLE
10
-
11
- // @@ BASE STYLE
12
- // ----------------------------------------------------------------------------
13
- .d-emoji-picker {
14
- flex-direction: column;
15
- // fixed width to achieve accessibility in keyboard (372px)
16
- // with this width we have 9 emoji per row
17
- width: calc(var(--dt-size-925) + var(--dt-size-600) + var(--dt-size-400));
18
- height: 100%;
19
- background-color: var(--dt-color-surface-primary);
20
- border-radius: var(--dt-size-300);
21
-
22
- &--header {
23
- position: relative;
24
- padding: var(--dt-space-300) var(--dt-space-300) 0 var(--dt-space-400);
25
-
26
- &::after {
27
- position: absolute;
28
- right: 0;
29
- bottom: 0;
30
- left: 0;
31
- height: var(--dt-size-100);
32
- background-color: var(--dt-color-surface-moderate) !important;
33
- content: '';
34
- }
35
- }
36
-
37
- &__alignment {
38
- width: auto;
39
- max-width: calc(var(--dt-size-925) + var(--dt-size-400));
40
- margin: 0 var(--dt-space-500);
41
- }
42
-
43
- &--footer {
44
- position: relative;
45
- display: flex;
46
- align-items: center;
47
- justify-content: space-between;
48
- height: calc(var(--dt-size-650) + var(--dt-size-400) + var(--dt-size-200));
49
- padding: 0 var(--dt-space-500);
50
- background: var(--dt-color-surface-secondary);
51
- border-top: var(--dt-size-100) solid var(--dt-color-border-subtle);
52
- }
53
-
54
- &__tabset-list {
55
- gap: var(--dt-space-300);
56
-
57
- &::after {
58
- background-color: var(--dt-color-surface-moderate) !important;
59
- }
60
-
61
- button {
62
- padding: var(--dt-space-400);
63
-
64
- &.d-tab--selected {
65
- &::after {
66
- height: var(--dt-size-200);
67
- }
68
- }
69
- }
70
- }
71
-
72
- &__skin-list {
73
- display: inline-flex;
74
- flex-direction: row;
75
- gap: var(--dt-space-300);
76
- align-items: flex-start;
77
- padding: var(--dt-space-300);
78
- background: rgba(0, 0, 0, 0.05);
79
- border-radius: calc(var(--dt-size-600) + var(--dt-size-400));
80
-
81
- button {
82
- width: var(--dt-size-600);
83
- height: var(--dt-size-600);
84
- margin: 0;
85
- padding: 0;
86
- background: none;
87
- border: none;
88
- border-radius: calc(var(--dt-size-550) + var(--dt-size-300));
89
- outline: none;
90
- cursor: pointer;
91
-
92
- &:hover {
93
- background: rgba(0, 0, 0, 0.1);
94
- border-radius: calc(var(--dt-size-550) + var(--dt-size-300));
95
- }
96
-
97
- &.selected {
98
- border: var(--dt-size-100) solid rgba(0, 0, 0, 0.25);
99
- border-radius: calc(var(--dt-size-550) + var(--dt-size-300));
100
- }
101
- }
102
- }
103
-
104
- &__skin-selected {
105
- button {
106
- display: inline-block;
107
- width: var(--dt-size-625);
108
- height: var(--dt-size-625);
109
- margin: 0;
110
- padding: calc(var(--dt-space-350) + var(--dt-space-100));
111
- background: rgba(0, 0, 0, 0.1);
112
- border: none;
113
- border-radius: calc(var(--dt-size-550) + var(--dt-size-300));
114
- outline: none;
115
- cursor: pointer;
116
-
117
- &:hover {
118
- background: var(--dt-color-surface-bold);
119
- }
120
- }
121
- }
122
-
123
- &__selector {
124
- min-height: calc(var(--dt-size-905) + var(--dt-size-600) + var(--dt-size-100));
125
-
126
- p {
127
- margin-bottom: var(--dt-space-300);
128
- font-weight: 700;
129
- font-size: var(--dt-size-450);
130
- letter-spacing: -0.01em;
131
- }
132
- }
133
-
134
- &__category {
135
- position: sticky;
136
- top: 0;
137
- width: 100%;
138
- padding-top: var(--dt-space-525);
139
- background: var(--dt-color-surface-primary);
140
- }
141
-
142
- &__list {
143
- position: relative;
144
- height: 100%;
145
- max-height: calc(var(--dt-size-905) + var(--dt-size-600) + var(--dt-size-100));
146
- padding-bottom: calc(var(--dt-space-300) + var(--dt-space-100));
147
- overflow: hidden auto;
148
-
149
- div:not(:first-child) {
150
- p {
151
- margin-top: calc(var(--dt-space-525) + var(--dt-space-200));
152
- }
153
- }
154
- }
155
-
156
- &__search-label {
157
- margin-top: calc(var(--dt-space-525));
158
- }
159
-
160
- &__tab {
161
- display: flex;
162
- flex-wrap: wrap;
163
- gap: var(--dt-space-200);
164
- width: calc(100% + calc(var(--dt-size-500) - var(--dt-size-100)));
165
- max-width: calc(var(--dt-size-925) + var(--dt-size-400));
166
- // We use this margin left to align the emoji list with the tabset label
167
- margin-left: var(--dt-space-350-negative);
168
-
169
- button {
170
- display: flex;
171
- align-items: center;
172
- justify-content: center;
173
- width: calc(var(--dt-size-600) + var(--dt-size-300));
174
- height: calc(var(--dt-size-600) + var(--dt-size-300));
175
- margin: 0;
176
- padding: 0;
177
- background: none;
178
- border: none;
179
- border-radius: 50%;
180
- outline: none;
181
- cursor: pointer;
182
-
183
- &:hover,
184
- &:active {
185
- background: rgba(0, 0, 0, 0.1);
186
- }
187
-
188
- &.hover-emoji {
189
- background: rgba(0, 0, 0, 0.1);
190
- }
191
-
192
- &:focus {
193
- box-shadow: var(--dt-shadow-focus);
194
- }
195
- }
196
- }
197
-
198
- &__search {
199
- position: relative;
200
- z-index: 1;
201
- margin: var(--dt-space-500) var(--dt-space-550) 0 var(--dt-space-500);
202
- background-color: var(--dt-color-surface-primary);
203
- }
204
-
205
- &__search-button {
206
- margin: 0;
207
- padding: 0;
208
- line-height: 0;
209
- background: none;
210
- border: none;
211
- outline: none;
212
- cursor: pointer;
213
- }
214
-
215
- &__data {
216
- display: flex;
217
- gap: var(--dt-space-100);
218
- align-items: center;
219
- width: 100%;
220
- max-width: calc(var(--dt-size-905) + var(--dt-size-550) + var(--dt-size-200));
221
- }
222
- }