@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,152 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: SELECT MENUS
4
+ //
5
+ // These are select menu classes for Dialpad's design system Dialtone.
6
+ // For further documentation of these and other classes,
7
+ // visit https://dialpad.design/components/select
8
+ //
9
+ // TABLE OF CONTENTS
10
+ // • SELECT MENUS
11
+ // - Sizes
12
+ // • SELECT MENU INPUTS
13
+ // - Validation States
14
+ //
15
+
16
+ // ============================================================================
17
+ // $ SELECT MENU (NATIVE)
18
+ // ----------------------------------------------------------------------------
19
+ .d-select {
20
+ // Component CSS Vars
21
+ // --------------------------------------------------------------------------
22
+ --select-color-border: var(--dt-inputs-color-border-default);
23
+ --select-notch-position-right: var(--dt-space-400);
24
+
25
+ position: relative;
26
+ width: stretch;
27
+
28
+ // -- Arrows
29
+ &::after {
30
+ --select-arrow-size: calc(var(--dt-size-300) * 3.5);
31
+
32
+ position: absolute;
33
+ top: 50%;
34
+ right: var(--select-notch-position-right);
35
+ z-index: var(--zi-selected);
36
+ width: var(--select-arrow-size);
37
+ height: var(--select-arrow-size);
38
+ background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgdmlld0JveD0iMCAwIDEyIDEyIj4KICA8cGF0aCBmaWxsPSIjNTU1IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjE0NiA3LjE0NmEuNS41IDAgMCAxIC43MDggMEw2IDkuMjkzbDIuMTQ2LTIuMTQ3YS41LjUgMCAxIDEgLjcwOC43MDhsLTIuNSAyLjVhLjUuNSAwIDAgMS0uNzA4IDBsLTIuNS0yLjVhLjUuNSAwIDAgMSAwLS43MDhabTIuNS01LjVhLjUuNSAwIDAgMSAuNzA4IDBsMi41IDIuNWEuNS41IDAgMSAxLS43MDguNzA4TDYgMi43MDcgMy44NTQgNC44NTRhLjUuNSAwIDEgMS0uNzA4LS43MDhsMi41LTIuNVoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K');
39
+ background-repeat: no-repeat;
40
+ background-size: 100%;
41
+ transform: translateY(-50%);
42
+ content: '';
43
+ pointer-events: none;
44
+ }
45
+ }
46
+
47
+ // $ SELECT MENU INPUT
48
+ // ----------------------------------------------------------------------------
49
+ .d-select__input {
50
+ --select-color-border: var(--input-color-border);
51
+ --select-notch-padding-right: var(--dt-space-550);
52
+
53
+ // Use shared style properties of d-input (<input>, <textarea>)
54
+ .d-input();
55
+
56
+ // select options can be styled on windows
57
+ & option {
58
+ color: var(--dt-color-foreground-secondary);
59
+ background-color: var(--dt-color-surface-secondary);
60
+ }
61
+
62
+ // -- FOCUS STATE
63
+ &:focus {
64
+ --input-color-background: var(--dt-inputs-color-background-focus);
65
+ }
66
+
67
+ // Adjust space on right beneath arrows
68
+ padding-right: var(--select-notch-padding-right);
69
+
70
+ &[disabled],
71
+ &[read-only] {
72
+ color: var(--dt-inputs-color-foreground-disabled);
73
+ background: var(--dt-inputs-color-background-disabled);
74
+ border-color: transparent;
75
+ border-style: solid;
76
+ border-width: var(--input-border-width);
77
+ }
78
+
79
+ &::-moz-focus-inner {
80
+ outline: none !important;
81
+ }
82
+
83
+ &:-moz-focusring {
84
+ color: transparent;
85
+ text-shadow: 0 0 0 var(--dt-color-black-900);
86
+ }
87
+
88
+ &::-ms-expand {
89
+ display: none;
90
+ }
91
+ }
92
+
93
+ // $$ SIZES
94
+ // ----------------------------------------------------------------------------
95
+ .d-select--xs {
96
+ .d-select__input {
97
+ #d-internal__input-and-select-xs();
98
+ }
99
+ }
100
+
101
+ .d-select--sm {
102
+ .d-select__input {
103
+ #d-internal__input-and-select-sm();
104
+ }
105
+ }
106
+
107
+ .d-select--lg {
108
+ .d-select__input {
109
+ #d-internal__input-and-select-lg();
110
+
111
+ --select-notch-padding-right: calc(var(--dt-space-300) * 9);
112
+ }
113
+
114
+ &::after {
115
+ --select-arrow-size: calc(var(--dt-size-300) * 4.5);
116
+ --select-notch-position-right: var(--dt-space-450);
117
+ }
118
+ }
119
+
120
+ .d-select--xl {
121
+ .d-select__input {
122
+ #d-internal__input-and-select-xl();
123
+
124
+ --select-notch-padding-right: calc(var(--dt-space-300) * 9);
125
+ }
126
+
127
+ &::after {
128
+ --select-arrow-size: calc(var(--dt-size-300) * 4.5);
129
+ --select-notch-position-right: var(--dt-space-450);
130
+ }
131
+ }
132
+
133
+ // $$ VALIDATION STATES
134
+ // ------------------------------------------------------------------------
135
+ .d-select__input--success {
136
+ --input-color-border: var(--dt-inputs-color-border-success);
137
+ }
138
+
139
+ .d-select__input--error {
140
+ --input-color-border: var(--dt-inputs-color-border-critical);
141
+ }
142
+
143
+ .d-select__input--warning {
144
+ --input-color-border: var(--dt-inputs-color-border-warning);
145
+ }
146
+
147
+ .d-select--disabled {
148
+ &::before,
149
+ &::after {
150
+ opacity: 0.33;
151
+ }
152
+ }
@@ -0,0 +1,101 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: SKELETON
4
+ //
5
+ // These are the styles for skeleton component.
6
+ // The --placeholder-from-color and --placeholder-to-color custom properties can be set on the parent class of the
7
+ // placeholder to control the animation colors.
8
+ // For further documentation of these styles, please visit https://dialpad.design/components/skeleton
9
+ //
10
+ //
11
+ // TABLE OF CONTENTS
12
+ // • SKELETON CONTAINER
13
+ // • SKELETON LIST ITEM
14
+ // • SKELETON PARAGRAPH
15
+ // • SKELETON TEXT
16
+
17
+ // ============================================================================
18
+ // @ SKELETON CONTAINER
19
+ // ----------------------------------------------------------------------------
20
+ .skeleton-placeholder {
21
+ --placeholder-from-color: hsla(var(--dt-color-black-900-hsl) / 0.2);
22
+ --placeholder-to-color: hsla(var(--dt-color-black-900-hsl) / 0.1);
23
+
24
+ display: flex;
25
+ width: 100%;
26
+ background: var(--placeholder-from-color);
27
+ animation-duration: 1000ms;
28
+ fill: var(--placeholder-from-color);
29
+ stroke: none;
30
+
31
+ &--animate {
32
+ animation-name: skeleton-placeholder-throb;
33
+ animation-iteration-count: infinite;
34
+ }
35
+ }
36
+
37
+ // the animation is used by the skeleton component
38
+ @keyframes skeleton-placeholder-throb {
39
+ 20% {
40
+ background: var(--placeholder-from-color);
41
+ fill: var(--placeholder-from-color);
42
+ }
43
+
44
+ 50% {
45
+ background: var(--placeholder-to-color);
46
+ fill: var(--placeholder-to-color);
47
+ }
48
+
49
+ 80% {
50
+ background: var(--placeholder-from-color);
51
+ fill: var(--placeholder-from-color);
52
+ }
53
+ }
54
+
55
+ // ============================================================================
56
+ // @ SKELETON LIST ITEM
57
+ // ----------------------------------------------------------------------------
58
+ .d-skeleton-list-item {
59
+ display: flex;
60
+
61
+ &--single {
62
+ align-items: center;
63
+ }
64
+
65
+ &__shape {
66
+ margin-right: var(--dt-space-400);
67
+ }
68
+
69
+ &__paragraph-container {
70
+ display: flex;
71
+ flex-direction: column;
72
+ width: 100%;
73
+ }
74
+ }
75
+
76
+ // ============================================================================
77
+ // @ SKELETON PARAGRAPH
78
+ // ----------------------------------------------------------------------------
79
+ .d-skeleton-paragraph {
80
+ width: 100%;
81
+
82
+ .d-skeleton-text {
83
+ margin-bottom: var(--dt-space-450);
84
+
85
+ &:last-child {
86
+ margin-bottom: var(--dt-space-0);
87
+ }
88
+ }
89
+ }
90
+
91
+ // ============================================================================
92
+ // @ SKELETON TEXT
93
+ // ----------------------------------------------------------------------------
94
+ .d-skeleton-text {
95
+ height: var(--dt-size-400);
96
+ border-radius: var(--dt-size-radius-200);
97
+ }
98
+
99
+ .d-skeleton-text--heading {
100
+ border-radius: var(--dt-size-radius-200);
101
+ }
@@ -0,0 +1,129 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: STACK
4
+ //
5
+ // These are the styles for stack component.
6
+ //
7
+ //
8
+ // TABLE OF CONTENTS
9
+ // • BASE STYLE
10
+ // • VISUAL STYLES
11
+ // • RESPONSIVE STYLE
12
+ // • SIZES
13
+
14
+ // @@ BASE STYLE
15
+ // ----------------------------------------------------------------------------
16
+
17
+ .direction-options() {
18
+ &--column {
19
+ --stack-direction: column;
20
+
21
+ justify-content: flex-start;
22
+ }
23
+
24
+ &--column-reverse {
25
+ --stack-direction: column-reverse;
26
+
27
+ justify-content: flex-start;
28
+ }
29
+
30
+ &--row {
31
+ --stack-direction: row;
32
+
33
+ align-items: center;
34
+ justify-content: normal;
35
+ }
36
+
37
+ &--row-reverse {
38
+ --stack-direction: row-reverse;
39
+
40
+ align-items: center;
41
+ justify-content: normal;
42
+ }
43
+ }
44
+
45
+ .d-stack {
46
+ --stack-gap: 0;
47
+ --stack-direction: column;
48
+
49
+ display: flex;
50
+ flex-direction: var(--stack-direction);
51
+ gap: var(--stack-gap);
52
+ justify-content: flex-start;
53
+ }
54
+
55
+ // ============================================================================
56
+ // $ VISUAL STYLES
57
+ // ----------------------------------------------------------------------------
58
+ // $$ COLUMN-REVERSE
59
+ // ----------------------------------------------------------------------------
60
+ .d-stack--column-reverse {
61
+ --stack-direction: column-reverse;
62
+
63
+ justify-content: flex-start;
64
+ }
65
+
66
+ // ----------------------------------------------------------------------------
67
+ // $$ ROW
68
+ // ----------------------------------------------------------------------------
69
+ .d-stack--row {
70
+ --stack-direction: row;
71
+
72
+ align-items: center;
73
+ justify-content: normal;
74
+ }
75
+
76
+ // ----------------------------------------------------------------------------
77
+ // $$ ROW-REVERSE
78
+ // ----------------------------------------------------------------------------
79
+ .d-stack--row-reverse {
80
+ --stack-direction: row-reverse;
81
+
82
+ align-items: center;
83
+ justify-content: normal;
84
+ }
85
+
86
+ // ============================================================================
87
+ // $ RESPONSIVE
88
+ // ----------------------------------------------------------------------------
89
+ // $$ EXTRA LARGE
90
+ // ----------------------------------------------------------------------------
91
+ .d-stack--xl {
92
+ @media screen and (max-width: 1264px) {
93
+ .direction-options();
94
+ }
95
+ }
96
+
97
+ // $$ LARGE
98
+ // ----------------------------------------------------------------------------
99
+ .d-stack--lg {
100
+ @media screen and (max-width: 980px) {
101
+ .direction-options();
102
+ }
103
+ }
104
+
105
+ // $$ MEDIUM
106
+ // ----------------
107
+ .d-stack--md {
108
+ @media screen and (max-width: 640px) {
109
+ .direction-options();
110
+ }
111
+ }
112
+
113
+ // $$ SMALL
114
+ // ----------------------------------------------------------------------------
115
+ .d-stack--sm {
116
+ @media screen and (max-width: 480px) {
117
+ .direction-options();
118
+ }
119
+ }
120
+
121
+ // ============================================================================
122
+ // $ SIZES
123
+ // ----------------------------------------------------------------------------
124
+ .d-stack--gap-100 { --stack-gap: var(--dt-space-100); }
125
+ .d-stack--gap-200 { --stack-gap: var(--dt-space-200); }
126
+ .d-stack--gap-300 { --stack-gap: var(--dt-space-300); }
127
+ .d-stack--gap-400 { --stack-gap: var(--dt-space-400); }
128
+ .d-stack--gap-500 { --stack-gap: var(--dt-space-500); }
129
+ .d-stack--gap-600 { --stack-gap: var(--dt-space-600); }
@@ -0,0 +1,15 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: Tab Panel
4
+ //
5
+ // These are the styles for Tab Panel component.
6
+ //
7
+ // TABLE OF CONTENTS
8
+ // • BASE STYLE
9
+ //
10
+ // ============================================================================
11
+ // $ BASE STYLE
12
+ // ----------------------------------------------------------------------------
13
+ .d-tab-panel--hidden {
14
+ display: none;
15
+ }
@@ -0,0 +1,118 @@
1
+ //
2
+ // DIALTONE
3
+ // COMPONENTS: TABLES
4
+ //
5
+ // These are table component classes for Dialpad's design system Dialtone.
6
+ // For further documentation of these and other classes,
7
+ // visit https://dialpad.design/components/tables
8
+ //
9
+ // TABLE OF CONTENTS
10
+ // • DEFAULT STYLE
11
+ //
12
+ // ============================================================================
13
+ // $ BASE STYLE
14
+ // ----------------------------------------------------------------------------
15
+ .d-table {
16
+ // Component CSS Vars
17
+ // ------------------------------------------------------------------------
18
+ --table-color-border: var(--dt-color-border-default);
19
+ --table-th-color-text: var(--dt-color-foreground-secondary);
20
+ --table-td-color-text: var(--dt-color-foreground-tertiary);
21
+ --table-font-size: var(--dt-font-size-200);
22
+ --table-th-font-size: var(--dt-font-size-100);
23
+ --table-line-height: var(--dt-font-line-height-200);
24
+
25
+ display: table;
26
+ box-sizing: border-box;
27
+ width: 100%;
28
+ max-width: 100%;
29
+ margin: 0;
30
+ font-size: var(--table-font-size);
31
+ line-height: var(--table-line-height);
32
+ border-collapse: collapse;
33
+ border-spacing: 0;
34
+
35
+ // Caption styles
36
+ .d-table__caption {
37
+ margin-bottom: var(--dt-space-400); // 8
38
+ color: var(--table-th-color-text);
39
+ font-weight: var(--dt-font-weight-bold);
40
+ font-size: var(--table-font-size);
41
+ .d-ta-unset();
42
+ }
43
+
44
+ // Table Head Styles
45
+ thead {
46
+ border-bottom: var(--dt-size-200) solid var(--table-color-border);
47
+
48
+ // Column Header Styles
49
+ th {
50
+ font-size: var(--table-th-font-size);
51
+ line-height: var(--dt-font-line-height-100);
52
+ text-transform: uppercase;
53
+ }
54
+ }
55
+
56
+ // Header Styles
57
+ th {
58
+ color: var(--table-th-color-text);
59
+ font-weight: var(--dt-font-weight-bold);
60
+ }
61
+
62
+ // Cell Styles
63
+ td {
64
+ color: var(--table-td-color-text);
65
+ }
66
+
67
+ // Header & Cell Styles
68
+ th,
69
+ td {
70
+ padding: var(--dt-space-500); // 16
71
+ text-align: left;
72
+ border-bottom: var(--dt-size-100) solid var(--table-color-border);
73
+ }
74
+
75
+ // Nested Table Body, First Row Styles, used internally on the Dialtone site
76
+ tbody + tbody tr:first-of-type {
77
+ // Header & Cell Styles
78
+ td,
79
+ th {
80
+ border-top: var(--dt-size-200) solid var(--table-color-border);
81
+ }
82
+ }
83
+
84
+ // Last Table Row Styles
85
+ tbody tr:last-of-type {
86
+ // Header & Cell Styles
87
+ td,
88
+ th {
89
+ border-bottom-width: 0;
90
+ }
91
+ }
92
+ }
93
+
94
+ // ============================================================================
95
+ // $ INVERTED STYLE
96
+ // ----------------------------------------------------------------------------
97
+ .d-table--inverted {
98
+ --table-th-color-text: var(--dt-color-foreground-secondary-inverted);
99
+ --table-td-color-text: var(--dt-color-foreground-tertiary-inverted);
100
+ --table-color-border: var(--dt-color-border-default-inverted);
101
+ }
102
+
103
+ // ============================================================================
104
+ // $ STRIPED ROW BACKGROUNDS
105
+ // ----------------------------------------------------------------------------
106
+ .d-table--striped {
107
+ // Row Styles
108
+ tr:nth-child(even) {
109
+ background-color: var(--dt-color-surface-secondary-opaque);
110
+ }
111
+
112
+ &.d-table--inverted {
113
+ // Row Styles
114
+ tr:nth-child(even) {
115
+ background-color: hsla(var(--bgc-primary-hsl) / 0.1);
116
+ }
117
+ }
118
+ }