@dialpad/dialtone-css 1.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 (134) hide show
  1. package/CHANGELOG.json +1 -0
  2. package/LICENSE.md +21 -0
  3. package/README.md +64 -0
  4. package/lib/build/favicons/dialpad/favicon-beta-notification__512.png +0 -0
  5. package/lib/build/favicons/dialpad/favicon-beta__512.png +0 -0
  6. package/lib/build/favicons/dialpad/favicon-csr__512.png +0 -0
  7. package/lib/build/favicons/dialpad/favicon-notification__512.png +0 -0
  8. package/lib/build/favicons/dialpad/favicon-staging-notification__512.png +0 -0
  9. package/lib/build/favicons/dialpad/favicon-staging__512.png +0 -0
  10. package/lib/build/favicons/dialpad/favicon__512.png +0 -0
  11. package/lib/build/favicons/favicon-dialtone__512.png +0 -0
  12. package/lib/build/favicons/uberconference/favicon-uberconference__512.png +0 -0
  13. package/lib/build/fonts/Archivo-Bold.woff2 +0 -0
  14. package/lib/build/fonts/Archivo-Regular.woff2 +0 -0
  15. package/lib/build/fonts/Archivo-SemiBold.woff2 +0 -0
  16. package/lib/build/fonts/ArchivoExpanded-SemiBold.woff2 +0 -0
  17. package/lib/build/fonts/ArchivoSemiExpanded-Medium.woff2 +0 -0
  18. package/lib/build/fonts/ArchivoSemiExpanded-SemiBold.woff2 +0 -0
  19. package/lib/build/js/dialtone_health_check/deprecated_icons.cjs +105 -0
  20. package/lib/build/js/dialtone_health_check/index.cjs +82 -0
  21. package/lib/build/js/dialtone_health_check/non_dialtone_properties.cjs +44 -0
  22. package/lib/build/js/dialtone_migration_helper/configs/box-shadows.mjs +19 -0
  23. package/lib/build/js/dialtone_migration_helper/configs/colors.mjs +69 -0
  24. package/lib/build/js/dialtone_migration_helper/configs/fonts.mjs +49 -0
  25. package/lib/build/js/dialtone_migration_helper/configs/size-and-space.mjs +124 -0
  26. package/lib/build/js/dialtone_migration_helper/helpers.mjs +212 -0
  27. package/lib/build/js/dialtone_migration_helper/index.mjs +135 -0
  28. package/lib/build/less/components/avatar.less +169 -0
  29. package/lib/build/less/components/badge.less +139 -0
  30. package/lib/build/less/components/banner.less +77 -0
  31. package/lib/build/less/components/breadcrumbs.less +88 -0
  32. package/lib/build/less/components/button.less +554 -0
  33. package/lib/build/less/components/card.less +56 -0
  34. package/lib/build/less/components/chip.less +192 -0
  35. package/lib/build/less/components/codeblock.less +26 -0
  36. package/lib/build/less/components/collapsible.less +33 -0
  37. package/lib/build/less/components/combobox.less +28 -0
  38. package/lib/build/less/components/datepicker.less +146 -0
  39. package/lib/build/less/components/emoji-picker.less +223 -0
  40. package/lib/build/less/components/forms.less +153 -0
  41. package/lib/build/less/components/icon.less +63 -0
  42. package/lib/build/less/components/image-viewer.less +35 -0
  43. package/lib/build/less/components/input.less +321 -0
  44. package/lib/build/less/components/item-layout.less +53 -0
  45. package/lib/build/less/components/keyboard-shortcut.less +39 -0
  46. package/lib/build/less/components/link.less +130 -0
  47. package/lib/build/less/components/list-group.less +48 -0
  48. package/lib/build/less/components/list-item-group.less +17 -0
  49. package/lib/build/less/components/modal.less +340 -0
  50. package/lib/build/less/components/notice.less +171 -0
  51. package/lib/build/less/components/pagination.less +41 -0
  52. package/lib/build/less/components/popover.less +99 -0
  53. package/lib/build/less/components/presence.less +60 -0
  54. package/lib/build/less/components/radio-checkbox.less +278 -0
  55. package/lib/build/less/components/root-layout.less +125 -0
  56. package/lib/build/less/components/selects.less +152 -0
  57. package/lib/build/less/components/skeleton.less +101 -0
  58. package/lib/build/less/components/stack.less +129 -0
  59. package/lib/build/less/components/tab-panel.less +15 -0
  60. package/lib/build/less/components/table.less +118 -0
  61. package/lib/build/less/components/tabs.less +219 -0
  62. package/lib/build/less/components/toast.less +120 -0
  63. package/lib/build/less/components/toggle.less +173 -0
  64. package/lib/build/less/components/tooltip.less +267 -0
  65. package/lib/build/less/dialtone-globals.less +45 -0
  66. package/lib/build/less/dialtone-reset.less +362 -0
  67. package/lib/build/less/dialtone-variables.less +16 -0
  68. package/lib/build/less/dialtone.less +71 -0
  69. package/lib/build/less/themes/default.less +83 -0
  70. package/lib/build/less/themes/example.less +89 -0
  71. package/lib/build/less/utilities/backgrounds.less +139 -0
  72. package/lib/build/less/utilities/borders.less +196 -0
  73. package/lib/build/less/utilities/colors.less +122 -0
  74. package/lib/build/less/utilities/effects.less +210 -0
  75. package/lib/build/less/utilities/flex.less +227 -0
  76. package/lib/build/less/utilities/grid.less +244 -0
  77. package/lib/build/less/utilities/interactivity.less +69 -0
  78. package/lib/build/less/utilities/layout.less +146 -0
  79. package/lib/build/less/utilities/lint-staged.config.cjs +5 -0
  80. package/lib/build/less/utilities/sizing.less +152 -0
  81. package/lib/build/less/utilities/spacing.less +107 -0
  82. package/lib/build/less/utilities/typography.less +300 -0
  83. package/lib/build/less/variables/layout.less +19 -0
  84. package/lib/build/less/variables/sizes.less +64 -0
  85. package/lib/build/less/variables/typography.less +46 -0
  86. package/lib/build/less/variables/visual-styles.less +77 -0
  87. package/lib/build/svg/spot/blank-space.svg +35 -0
  88. package/lib/build/svg/spot/browser-list-callout.svg +27 -0
  89. package/lib/build/svg/spot/browser-table-graph.svg +37 -0
  90. package/lib/build/svg/spot/female-laptop-typing.svg +21 -0
  91. package/lib/build/svg/spot/file-upload.svg +50 -0
  92. package/lib/build/svg/spot/male-laptop-typing.svg +24 -0
  93. package/lib/build/svg/spot/mind.svg +58 -0
  94. package/lib/build/svg/spot/publish.svg +54 -0
  95. package/lib/build/svg/spot/vector-vortex.svg +53 -0
  96. package/lib/build/svg/spot/wireless-screenshare.svg +30 -0
  97. package/lib/dist/css/dialtone.css +18711 -0
  98. package/lib/dist/css/dialtone.min.css +1 -0
  99. package/lib/dist/fonts/Archivo-Bold.woff2 +0 -0
  100. package/lib/dist/fonts/Archivo-Regular.woff2 +0 -0
  101. package/lib/dist/fonts/Archivo-SemiBold.woff2 +0 -0
  102. package/lib/dist/fonts/ArchivoExpanded-SemiBold.woff2 +0 -0
  103. package/lib/dist/fonts/ArchivoSemiExpanded-Medium.woff2 +0 -0
  104. package/lib/dist/fonts/ArchivoSemiExpanded-SemiBold.woff2 +0 -0
  105. package/lib/dist/js/dialtone_health_check/deprecated_icons.cjs +105 -0
  106. package/lib/dist/js/dialtone_health_check/index.cjs +82 -0
  107. package/lib/dist/js/dialtone_health_check/non_dialtone_properties.cjs +44 -0
  108. package/lib/dist/js/dialtone_migration_helper/configs/box-shadows.mjs +19 -0
  109. package/lib/dist/js/dialtone_migration_helper/configs/colors.mjs +69 -0
  110. package/lib/dist/js/dialtone_migration_helper/configs/fonts.mjs +49 -0
  111. package/lib/dist/js/dialtone_migration_helper/configs/size-and-space.mjs +124 -0
  112. package/lib/dist/js/dialtone_migration_helper/helpers.mjs +212 -0
  113. package/lib/dist/js/dialtone_migration_helper/index.mjs +135 -0
  114. package/lib/dist/svg/spot/blank-space.svg +1 -0
  115. package/lib/dist/svg/spot/browser-list-callout.svg +1 -0
  116. package/lib/dist/svg/spot/browser-table-graph.svg +1 -0
  117. package/lib/dist/svg/spot/female-laptop-typing.svg +1 -0
  118. package/lib/dist/svg/spot/file-upload.svg +1 -0
  119. package/lib/dist/svg/spot/male-laptop-typing.svg +1 -0
  120. package/lib/dist/svg/spot/mind.svg +1 -0
  121. package/lib/dist/svg/spot/publish.svg +1 -0
  122. package/lib/dist/svg/spot/vector-vortex.svg +1 -0
  123. package/lib/dist/svg/spot/wireless-screenshare.svg +1 -0
  124. package/lib/dist/vue/spot/SpotBlankSpace.vue +3 -0
  125. package/lib/dist/vue/spot/SpotBrowserListCallout.vue +3 -0
  126. package/lib/dist/vue/spot/SpotBrowserTableGraph.vue +3 -0
  127. package/lib/dist/vue/spot/SpotFemaleLaptopTyping.vue +3 -0
  128. package/lib/dist/vue/spot/SpotFileUpload.vue +3 -0
  129. package/lib/dist/vue/spot/SpotMaleLaptopTyping.vue +3 -0
  130. package/lib/dist/vue/spot/SpotMind.vue +3 -0
  131. package/lib/dist/vue/spot/SpotPublish.vue +3 -0
  132. package/lib/dist/vue/spot/SpotVectorVortex.vue +3 -0
  133. package/lib/dist/vue/spot/SpotWirelessScreenshare.vue +3 -0
  134. package/package.json +115 -0
@@ -0,0 +1,153 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: FORMS
4
+ //
5
+ // These are form classes for Dialpad's design system Dialtone.
6
+ // For further documentation of these and other classes,
7
+ // visit https://dialpad.design/components/forms
8
+ //
9
+ // TABLE OF CONTENTS
10
+ // • FIELDSETS
11
+ // • LABELS
12
+ // - Sizes
13
+ // • DESCRIPTIONS
14
+ // - Sizes
15
+ // • VALIDATION MESSAGES
16
+ // - Validation States
17
+ //
18
+ // ============================================================================
19
+ // $ FIELDSETS
20
+ // ----------------------------------------------------------------------------
21
+ fieldset {
22
+ min-width: 0;
23
+ margin: 0;
24
+ padding: 0;
25
+ border: none;
26
+ }
27
+
28
+
29
+ // ============================================================================
30
+ // $ LABELS
31
+ // ----------------------------------------------------------------------------
32
+ .d-label {
33
+ display: flex;
34
+ flex: 1 0%;
35
+ align-items: baseline;
36
+ justify-content: space-between;
37
+ box-sizing: border-box;
38
+ margin-bottom: var(--dt-space-300);
39
+ color: var(--dt-color-foreground-secondary);
40
+ font-weight: var(--dt-font-weight-semi-bold);
41
+ font-size: var(--dt-font-size-200);
42
+ font-family: inherit;
43
+ line-height: var(--dt-font-line-height-300);
44
+ word-break: break-word;
45
+ overflow-wrap: break-word;
46
+
47
+ legend & { cursor: default; }
48
+ }
49
+
50
+ // $$ SIZES
51
+ // ----------------------------------------------------------------------------
52
+ .d-label--xs {
53
+ font-size: var(--dt-font-size-100);
54
+ }
55
+
56
+ .d-label--sm {
57
+ font-size: var(--dt-font-size-200);
58
+ }
59
+
60
+ .d-label--lg {
61
+ font-size: var(--dt-font-size-200);
62
+ }
63
+
64
+ .d-label--xl {
65
+ font-size: var(--dt-font-size-300);
66
+ }
67
+
68
+ // ============================================================================
69
+ // $ DESCRIPTIONS
70
+ // ----------------------------------------------------------------------------
71
+ .d-description {
72
+ display: flex;
73
+ box-sizing: border-box;
74
+ color: var(--dt-color-foreground-tertiary);
75
+ font-size: var(--dt-font-size-100);
76
+ font-family: inherit;
77
+ line-height: var(--dt-font-line-height-400);
78
+ fill: currentColor;
79
+ }
80
+
81
+ .d-label + .d-description {
82
+ margin-top: var(--dt-space-300-negative);
83
+ margin-bottom: var(--dt-space-300);
84
+ }
85
+
86
+ // $$ SIZES
87
+ // ----------------------------------------------------------------------------
88
+ .d-description--lg {
89
+ font-size: var(--dt-font-size-200);
90
+ }
91
+
92
+ .d-description--xl {
93
+ font-size: var(--dt-font-size-200);
94
+ }
95
+
96
+ // ============================================================================
97
+ // $ VALIDATION MESSAGES
98
+ // ----------------------------------------------------------------------------
99
+ .d-validation-message {
100
+ --validation-color-text: var(--dt-color-foreground-tertiary);
101
+
102
+ display: flex;
103
+ gap: var(--dt-space-300);
104
+ align-items: flex-start;
105
+ margin-top: var(--dt-space-400);
106
+ color: var(--validation-color-text);
107
+ font-weight: var(--dt-font-weight-medium);
108
+ font-size: var(--dt-font-size-100);
109
+ font-family: inherit;
110
+ line-height: var(--dt-font-line-height-300);
111
+
112
+ // Icon Slot
113
+ &::before {
114
+ display: block;
115
+ width: var(--dt-size-500); // 16
116
+ min-width: var(--dt-size-500); // 16
117
+ height: var(--dt-size-500); // 16
118
+ background-color: var(--validation-color-text);
119
+ content: '';
120
+ }
121
+
122
+ &__container {
123
+ display: flex;
124
+ flex-direction: column;
125
+ }
126
+ }
127
+
128
+ // $$ VALIDATION STATES
129
+ // ----------------------------------------------------------------------------
130
+
131
+ .d-validation-message--warning {
132
+ --validation-color-text: var(--dt-color-foreground-warning);
133
+
134
+ &::before {
135
+ mask: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDEyIDEyIj4gPHBhdGggZmlsbD0iIzY4M2UwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNS4yNCAxLjE5N2ExLjUgMS41IDAgMCAxIDIuMDYuNTU2bDMuOTk4IDYuOTk3YTEuNTA0IDEuNTA0IDAgMCAxIDAgMS41IDEuNSAxLjUgMCAwIDEtMS4yOTcuNzVIMi4wMDJhMS41IDEuNSAwIDAgMS0xLjMxLTIuMjQ5VjguNzVMNC42OSAxLjc1M2ExLjUgMS41IDAgMCAxIC41NS0uNTU2Wm0uNzU1Ljc5NmEuNS41IDAgMCAwLS40MzUuMjU0di4wMDFMMS41NTcgOS4yNWEuNS41IDAgMCAwIC40MzguNzVIMTBhLjUuNSAwIDAgMCAuNDMyLS43NWwtLjAwMS0uMDAyLTQtNy0uMDAxLS4wMDFhLjUuNSAwIDAgMC0uNDM1LS4yNTRaIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4gPHBhdGggZmlsbD0iIzY4M2UwMCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNiA0YS41LjUgMCAwIDEgLjUuNXYyYS41LjUgMCAwIDEtMSAwdi0yQS41LjUgMCAwIDEgNiA0Wm0tLjUgNC41QS41LjUgMCAwIDEgNiA4aC4wMDVhLjUuNSAwIDAgMSAwIDFINmEuNS41IDAgMCAxLS41LS41WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+IDwvc3ZnPg==') repeat;
136
+ }
137
+ }
138
+
139
+ .d-validation-message--error {
140
+ --validation-color-text: var(--dt-color-foreground-critical);
141
+
142
+ &::before {
143
+ mask: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDEyIDEyIj4gPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4gPHBhdGggZmlsbD0iI2VjMGUwZSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNNiAxLjVhNC41IDQuNSAwIDEgMCAwIDkgNC41IDQuNSAwIDAgMCAwLTlaTS41IDZhNS41IDUuNSAwIDEgMSAxMSAwIDUuNSA1LjUgMCAwIDEtMTEgMFpNNiAzLjVhLjUuNSAwIDAgMSAuNS41djJhLjUuNSAwIDAgMS0xIDBWNGEuNS41IDAgMCAxIC41LS41Wk01LjUgOGEuNS41IDAgMCAxIC41LS41aC4wMDVhLjUuNSAwIDAgMSAwIDFINmEuNS41IDAgMCAxLS41LS41WiIgY2xpcC1ydWxlPSJldmVub2RkIi8+IDwvZz4gPGRlZnM+IDxjbGlwUGF0aCBpZD0iYSI+IDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiLz4gPC9jbGlwUGF0aD4gPC9kZWZzPiA8L3N2Zz4=') no-repeat;
144
+ }
145
+ }
146
+
147
+ .d-validation-message--success {
148
+ --validation-color-text: var(--dt-color-foreground-success);
149
+
150
+ &::before {
151
+ mask: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDEyIDEyIj4gPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4gPHBhdGggZmlsbD0iIzAwNjcxZCIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNLjUgNmE1LjUgNS41IDAgMSAxIDExIDAgNS41IDUuNSAwIDAgMS0xMSAwWk02IDEuNWE0LjUgNC41IDAgMSAwIDAgOSA0LjUgNC41IDAgMCAwIDAtOVptMS44NTQgMy4xNDZhLjUuNSAwIDAgMSAwIC43MDhsLTIgMmEuNS41IDAgMCAxLS43MDggMGwtMS0xYS41LjUgMCAxIDEgLjcwOC0uNzA4bC42NDYuNjQ3IDEuNjQ2LTEuNjQ3YS41LjUgMCAwIDEgLjcwOCAwWiIgY2xpcC1ydWxlPSJldmVub2RkIi8+IDwvZz4gPGRlZnM+IDxjbGlwUGF0aCBpZD0iYSI+IDxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0wIDBoMTJ2MTJIMHoiLz4gPC9jbGlwUGF0aD4gPC9kZWZzPiA8L3N2Zz4=') no-repeat;
152
+ }
153
+ }
@@ -0,0 +1,63 @@
1
+ //
2
+ // DIALTONE
3
+ // UTILITIES: ICONS
4
+ //
5
+ // These are icon component classes for Dialpad's design system Dialtone.
6
+ // For further documentation of these and other classes,
7
+ // visit https://dialpad.design/components/icon.html
8
+ //
9
+ // TABLE OF CONTENTS
10
+ // • SIZE
11
+ //
12
+ // ============================================================================
13
+ // $ SIZE
14
+ // ----------------------------------------------------------------------------
15
+ .d-icon {
16
+ --icon-base-scale: var(--dt-size-400); // replace with global variable eventually
17
+ --icon-size-100: calc(var(--icon-base-scale) * 1.5);
18
+ --icon-size-200: calc(var(--icon-base-scale) * 1.75);
19
+ --icon-size-300: calc(var(--icon-base-scale) * 2.25);
20
+ --icon-size-400: calc(var(--icon-base-scale) * 2.5);
21
+ --icon-size-500: calc(var(--icon-base-scale) * 3);
22
+ --icon-size-600: calc(var(--icon-base-scale) * 4);
23
+ --icon-size-700: calc(var(--icon-base-scale) * 4.75);
24
+ --icon-size-800: calc(var(--icon-base-scale) * 6);
25
+ --icon-size: var(--icon-size-500);
26
+
27
+ flex: none;
28
+ width: var(--icon-size);
29
+ height: var(--icon-size);
30
+ fill: currentColor;
31
+
32
+ &--size-800 {
33
+ --icon-size: var(--icon-size-800);
34
+ }
35
+
36
+ &--size-700 {
37
+ --icon-size: var(--icon-size-700);
38
+ }
39
+
40
+ &--size-600 {
41
+ --icon-size: var(--icon-size-600);
42
+ }
43
+
44
+ &--size-500 {
45
+ --icon-size: var(--icon-size-500);
46
+ }
47
+
48
+ &--size-400 {
49
+ --icon-size: var(--icon-size-400);
50
+ }
51
+
52
+ &--size-300 {
53
+ --icon-size: var(--icon-size-300);
54
+ }
55
+
56
+ &--size-200 {
57
+ --icon-size: var(--icon-size-200);
58
+ }
59
+
60
+ &--size-100 {
61
+ --icon-size: var(--icon-size-100);
62
+ }
63
+ }
@@ -0,0 +1,35 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: Image Viewer
4
+ //
5
+ // These are the styles for Image Viewer component.
6
+ //
7
+ // TABLE OF CONTENTS
8
+ // • BASE STYLE
9
+ //
10
+ // ============================================================================
11
+ // $ BASE STYLE
12
+ // ----------------------------------------------------------------------------
13
+ .d-image-viewer__preview-button {
14
+ padding: var(--dt-space-0);
15
+ cursor: -webkit-zoom-in;
16
+ cursor: zoom-in;
17
+ }
18
+
19
+ .d-image-viewer__full {
20
+ max-width: 80%;
21
+ max-height: 80%;
22
+ padding: var(--dt-space-0);
23
+ border-radius: var(--dt-size-radius-0);
24
+
25
+ &__image {
26
+ max-width: 100%;
27
+ max-height: 100%;
28
+ }
29
+ }
30
+
31
+ .d-image-viewer__close-button {
32
+ --fco: 100%;
33
+
34
+ color: hsla(var(--dt-color-neutral-white-h) var(--dt-color-neutral-white-s) var(--dt-color-neutral-white-l) / var(--fco));
35
+ }
@@ -0,0 +1,321 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: INPUTS
4
+ //
5
+ // These are input classes for Dialpad's design system Dialtone.
6
+ // For further documentation of these and other classes,
7
+ // visit https://dialpad.design/components/inputs
8
+ //
9
+ // TABLE OF CONTENTS
10
+ // • VARIABLES
11
+ // • INPUTS & TEXTAREAS
12
+ // - Base Style
13
+ // - Wrapper
14
+ // - Validation States
15
+ // - Sizes
16
+ // • INPUT ICONS
17
+ //
18
+
19
+ // $ INPUTS
20
+ // ----------------------------------------------------------------------------
21
+ .d-input,
22
+ .d-input--md,
23
+ .d-textarea,
24
+ .d-textarea--md,
25
+ .d-input__wrapper--md,
26
+ .d-input__wrapper {
27
+ // Component CSS Vars
28
+ // ------------------------------------------------------------------------
29
+ --input-color-border: var(--dt-inputs-color-border-default);
30
+ --input-color-background: var(--dt-inputs-color-background-default);
31
+ --input-color-background-disabled: var(--dt-inputs-color-background-disabled);
32
+ --input-color-text: var(--dt-inputs-color-foreground-default);
33
+ --input-border-width: calc(var(--dt-size-100) + var(--dt-size-50)); // 1.5
34
+ --input-border-radius: var(--dt-size-400);
35
+ --input-padding-y: calc(var(--dt-space-400) - var(--input-border-width));
36
+ --input-padding-x: calc((var(--dt-space-500) - var(--dt-space-300)) - var(--input-border-width));
37
+ --input-font-size: var(--dt-font-size-200);
38
+ --input-line-height: var(--dt-font-line-height-200);
39
+
40
+ position: relative;
41
+ display: inline-flex;
42
+ flex: 1 0%;
43
+ box-sizing: border-box;
44
+ width: 100%;
45
+ min-width: 0;
46
+ padding: var(--input-padding-y) var(--input-padding-x);
47
+ color: var(--input-color-text);
48
+ font-weight: inherit;
49
+ font-size: var(--input-font-size);
50
+ font-family: inherit;
51
+ line-height: var(--input-line-height);
52
+ background-color: var(--input-color-background);
53
+ border: var(--input-border-width) solid var(--input-color-border);
54
+ border-radius: var(--input-border-radius);
55
+ outline: none;
56
+ box-shadow: none;
57
+ transition-timing-function: var(--ttf-in-out);
58
+ transition-duration: var(--td100);
59
+ transition-property: box-shadow, background-color;
60
+ appearance: none;
61
+ caret-color: var(--input-color-text);
62
+
63
+ // -- Placeholder copy
64
+ &::placeholder {
65
+ color: var(--dt-inputs-color-foreground-placeholder);
66
+ }
67
+ // -- Remove input EDGE additions
68
+ &::-ms-clear {
69
+ display: none;
70
+ }
71
+ // -- FOCUS STATE
72
+ &:focus,
73
+ &:focus-within {
74
+ --input-color-background: var(--dt-inputs-color-background-focus);
75
+ --input-color-border: var(--dt-inputs-color-border-focus) !important;
76
+
77
+ box-shadow: 0 0 0 var(--dt-size-100) var(--dt-inputs-color-border-focus) inset;
78
+ }
79
+ // -- DISABLED / READ-ONLY
80
+ &[disabled],
81
+ &[read-only] {
82
+ --input-color-border: var(--dt-inputs-color-border-disabled) !important;
83
+ --input-color-background: var(--dt-inputs-color-background-disabled);
84
+ --input-color-text: var(--dt-inputs-color-foreground-disabled);
85
+
86
+ &:focus,
87
+ &:focus-within {
88
+ box-shadow: none !important;
89
+ }
90
+
91
+ // -- Placeholder copy
92
+ &::placeholder {
93
+ color: var(--dt-inputs-color-foreground-placeholder);
94
+ }
95
+ }
96
+
97
+ // -- DISABLED
98
+ &[disabled] {
99
+ cursor: not-allowed;
100
+ }
101
+
102
+ // -- BROWSER-SPECIFIC
103
+ &::-moz-focus-inner {
104
+ outline: none !important;
105
+ }
106
+
107
+ &:-moz-focusring {
108
+ color: transparent;
109
+ text-shadow: 0 0 0 var(--dt-color-black-900);
110
+ }
111
+
112
+ &::-ms-expand {
113
+ display: none;
114
+ }
115
+ }
116
+
117
+ .d-input__label-text {
118
+ display: flex;
119
+ flex: 1 0%;
120
+ align-items: baseline;
121
+ justify-content: space-between;
122
+ box-sizing: border-box;
123
+ margin-bottom: var(--dt-space-300);
124
+ color: var(--dt-color-foreground-secondary);
125
+ font-weight: var(--dt-font-weight-semi-bold);
126
+ font-size: var(--dt-font-size-200);
127
+ font-family: inherit;
128
+ line-height: var(--dt-font-line-height-300);
129
+ word-break: break-word;
130
+ overflow-wrap: break-word;
131
+ }
132
+
133
+ .d-input__description {
134
+ display: flex;
135
+ flex-direction: column;
136
+ box-sizing: border-box;
137
+ color: var(--dt-color-foreground-tertiary);
138
+ font-size: var(--dt-font-size-100);
139
+ font-family: inherit;
140
+ line-height: var(--dt-font-line-height-400);
141
+ fill: currentColor;
142
+ }
143
+
144
+ .d-input__length-description {
145
+ margin-bottom: var(--dt-space-200);
146
+ }
147
+
148
+ // $$ INPUT WRAPPER
149
+ // ----------------------------------------------------------------------------
150
+ .d-input__wrapper {
151
+ padding: 0;
152
+
153
+ .d-input-icon.d-input-icon--right {
154
+ margin-right: var(--dt-space-400);
155
+ }
156
+
157
+ .d-input-icon.d-input-icon--left {
158
+ margin-left: var(--dt-space-400);
159
+ }
160
+
161
+ .d-textarea + .d-input-icon.d-input-icon--right {
162
+ position: absolute;
163
+ right: var(--dt-space-450);
164
+ }
165
+
166
+ .d-input,
167
+ .d-textarea {
168
+ flex: 1;
169
+ background-color: transparent;
170
+ border: none;
171
+
172
+ &:focus {
173
+ border: none;
174
+ outline: 0;
175
+ box-shadow: none !important;
176
+ }
177
+
178
+ &.d-input-icon--right {
179
+ padding-right: var(--dt-space-350);
180
+ }
181
+
182
+ &.d-input-icon--left {
183
+ padding-left: var(--dt-space-350);
184
+ }
185
+ }
186
+
187
+ .d-textarea {
188
+ &.d-input-icon--right {
189
+ padding-right: var(--dt-space-625);
190
+ }
191
+ }
192
+ }
193
+
194
+ // $$ SIZES
195
+ // ----------------------------------------------------------------------------
196
+ .d-input.d-input--xs {
197
+ #d-internal__input-and-select-xs();
198
+ }
199
+
200
+ .d-input.d-input--sm {
201
+ #d-internal__input-and-select-sm();
202
+ }
203
+
204
+ .d-input.d-input--lg {
205
+ #d-internal__input-and-select-lg();
206
+ }
207
+
208
+ .d-input.d-input--xl {
209
+ #d-internal__input-and-select-xl();
210
+ }
211
+
212
+
213
+ // ============================================================================
214
+ // $ TEXTAREAS
215
+ // ----------------------------------------------------------------------------
216
+ .d-textarea {
217
+ min-height: calc(var(--dt-size-300) * 20); // 80
218
+ vertical-align: top;
219
+ border-bottom-right-radius: var(--dt-size-300);
220
+ resize: vertical;
221
+ scroll-padding-block: var(--input-padding-y);
222
+ }
223
+
224
+ // $$ SIZES
225
+ // ----------------------------------------------------------------------------
226
+ .d-textarea--xs {
227
+ #d-internal__input-and-select-xs();
228
+
229
+ min-height: calc(var(--dt-size-300) * 10); // 40
230
+ }
231
+
232
+ .d-textarea--sm {
233
+ #d-internal__input-and-select-sm();
234
+
235
+ min-height: var(--dt-size-650); // 48
236
+ }
237
+
238
+ .d-textarea--lg {
239
+ #d-internal__input-and-select-lg();
240
+
241
+ min-height: calc(var(--dt-size-300) * 23); // 92
242
+ }
243
+
244
+ .d-textarea--xl {
245
+ #d-internal__input-and-select-xl();
246
+
247
+ min-height: calc(var(--dt-size-300) * 25); // 100
248
+ }
249
+
250
+ // $$ VALIDATION STATES
251
+ // ----------------------------------------------------------------------------
252
+ .d-input--warning,
253
+ .d-textarea--warning {
254
+ --input-color-border: var(--dt-inputs-color-border-warning) !important;
255
+ }
256
+
257
+ .d-input--error,
258
+ .d-textarea--error {
259
+ --input-color-border: var(--dt-inputs-color-border-critical) !important;
260
+ }
261
+
262
+ .d-input--success,
263
+ .d-textarea--success {
264
+ --input-color-border: var(--dt-inputs-color-border-success) !important;
265
+ }
266
+
267
+ // ============================================================================
268
+ // $ INPUT ICONS
269
+ // ----------------------------------------------------------------------------
270
+ .d-input-icon {
271
+ // Component CSS Vars
272
+ // ------------------------------------------------------------------------
273
+ --input-icon-size: var(--dt-size-500);
274
+ --input-icon-container-height: var(--dt-size-600);
275
+
276
+ z-index: var(--zi-base1);
277
+ display: inline-flex;
278
+ align-items: center;
279
+ height: var(--input-icon-container-height);
280
+ margin: 0;
281
+ }
282
+
283
+
284
+
285
+ // $$ SIZES
286
+ // ----------------------------------------------------------------------------
287
+ .d-input-icon.d-input--xs {
288
+ --input-icon-container-height: calc(var(--dt-size-600) - var(--dt-size-300));
289
+ }
290
+
291
+ .d-input-icon--xs {
292
+ // Backwards-compatible to DT6 icons
293
+ --input-icon-size: var(--dt-icon-size-100);
294
+ }
295
+
296
+ .d-input-icon.d-input--sm {
297
+ --input-icon-container-height: var(--dt-size-600);
298
+ }
299
+
300
+ .d-input-icon--sm {
301
+ // Backwards-compatible to DT6 icons
302
+ --input-icon-size: var(--dt-icon-size-200);
303
+ }
304
+
305
+ .d-input-icon.d-input--lg {
306
+ --input-icon-container-height: calc(var(--dt-size-300) * 10);
307
+ }
308
+
309
+ .d-input-icon--lg {
310
+ // Backwards-compatible to DT6 icons
311
+ --input-icon-size: var(--dt-icon-size-400);
312
+ }
313
+
314
+ .d-input-icon.d-input--xl {
315
+ --input-icon-container-height: calc(var(--dt-size-300) * 14);
316
+ }
317
+
318
+ .d-input-icon--xl {
319
+ // Backwards-compatible to DT6 icons
320
+ --input-icon-size: var(--dt-icon-size-500);
321
+ }
@@ -0,0 +1,53 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: ITEM LAYOUT
4
+ //
5
+ // Custom layout to enable developer to use list-item like stack.
6
+ // It is used as base for `dt-list-item` component
7
+ // visit https://dialpad.design/components/item_layout
8
+ //
9
+ // TABLE OF CONTENTS
10
+ // • BASE STYLE
11
+ //
12
+ // ============================================================================
13
+ // $ BASE STYLE
14
+ // ----------------------------------------------------------------------------
15
+ .dt-item-layout {
16
+ display: flex;
17
+ align-items: center;
18
+ min-height: calc(var(--dt-size-550) + var(--dt-size-300));
19
+ padding: var(--dt-space-300) var(--dt-space-400);
20
+ font-size: var(--dt-font-size-200);
21
+ line-height: var(--dt-font-line-height-300);
22
+
23
+ &--content {
24
+ flex-grow: 1;
25
+ min-width: var(--dt-size-0);
26
+ }
27
+
28
+ &--subtitle {
29
+ color: var(--dt-color-foreground-tertiary);
30
+ font-size: var(--dt-font-size-100);
31
+ }
32
+
33
+ &--right,
34
+ &--left {
35
+ display: flex;
36
+ align-items: center;
37
+ min-width: var(--dt-size-600);
38
+ min-height: inherit;
39
+ }
40
+
41
+ &--right {
42
+ padding-left: var(--dt-space-400);
43
+ }
44
+
45
+ &--left {
46
+ justify-content: flex-end;
47
+ padding-right: var(--dt-space-400);
48
+ }
49
+
50
+ &--bottom {
51
+ margin-top: var(--dt-space-200);
52
+ }
53
+ }
@@ -0,0 +1,39 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: Keyboard Shortcut
4
+ //
5
+ // These are the styles for Keyboard Shortcut component.
6
+ //
7
+ // TABLE OF CONTENTS
8
+ // • BASE STYLE
9
+ //
10
+ // ============================================================================
11
+ // $ BASE STYLE
12
+ // ----------------------------------------------------------------------------
13
+ .d-keyboard-shortcut {
14
+ display: inline-flex;
15
+ align-items: center;
16
+ justify-content: center;
17
+ box-sizing: border-box;
18
+ padding-right: var(--dt-space-300);
19
+ padding-left: var(--dt-space-300);
20
+ font-size: var(--dt-font-size-100);
21
+ font-family: var(--dt-font-family-body);
22
+ border: var(--dt-size-100) solid;
23
+ border-color: var(--dt-color-border-default);
24
+ border-radius: var(--dt-size-radius-300);
25
+
26
+ &--inverted {
27
+ border-color: var(--dt-color-border-moderate-inverted);
28
+ }
29
+
30
+ &__icon,
31
+ &__item {
32
+ margin-right: var(--dt-space-200);
33
+ color: var(--dt-color-foreground-tertiary);
34
+
35
+ &--inverted {
36
+ color: var(--dt-color-foreground-secondary-inverted);
37
+ }
38
+ }
39
+ }