@progressiveui/styles 10.30.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 (265) hide show
  1. package/CHANGELOG.md +621 -0
  2. package/README.md +85 -0
  3. package/index-with-tokens.scss +26 -0
  4. package/index.scss +12 -0
  5. package/package.json +42 -0
  6. package/scss/_breakpoint.scss +2 -0
  7. package/scss/_config.scss +30 -0
  8. package/scss/_feature-flags.scss +1 -0
  9. package/scss/_font-face.scss +13 -0
  10. package/scss/_global-defaults.scss +14 -0
  11. package/scss/_grid.scss +32 -0
  12. package/scss/_motion.scss +67 -0
  13. package/scss/_reset.scss +172 -0
  14. package/scss/_spacing.scss +4 -0
  15. package/scss/_theme.scss +102 -0
  16. package/scss/_themes.scss +14 -0
  17. package/scss/_type.scss +143 -0
  18. package/scss/_zone.scss +26 -0
  19. package/scss/components/_index.scss +82 -0
  20. package/scss/components/accordion/_accordion.legacy.scss +348 -0
  21. package/scss/components/accordion/_accordion.scss +118 -0
  22. package/scss/components/accordion/_index.scss +4 -0
  23. package/scss/components/anchor-navigation/_anchor-navigation.scss +37 -0
  24. package/scss/components/anchor-navigation/_index.scss +4 -0
  25. package/scss/components/auth-layout/_auth-layout.scss +55 -0
  26. package/scss/components/auth-layout/_index.scss +11 -0
  27. package/scss/components/avatar/_avatar.scss +61 -0
  28. package/scss/components/avatar/_index.scss +4 -0
  29. package/scss/components/banner-navigation/_banner-navigation.scss +80 -0
  30. package/scss/components/banner-navigation/_index.scss +4 -0
  31. package/scss/components/blockquote/_blockquote.scss +156 -0
  32. package/scss/components/blockquote/_index.scss +4 -0
  33. package/scss/components/breadcrumb/_breadcrumb.scss +89 -0
  34. package/scss/components/breadcrumb/_index.scss +4 -0
  35. package/scss/components/button/_button.scss +520 -0
  36. package/scss/components/button/_index.scss +5 -0
  37. package/scss/components/button/_mixins.scss +92 -0
  38. package/scss/components/button/_vars.scss +69 -0
  39. package/scss/components/card/_card-external.scss +149 -0
  40. package/scss/components/card/_card.scss +138 -0
  41. package/scss/components/card/_index.scss +7 -0
  42. package/scss/components/checkbox/_checkbox.scss +195 -0
  43. package/scss/components/checkbox/_index.scss +11 -0
  44. package/scss/components/code-snippet/_code-snippet.scss +581 -0
  45. package/scss/components/code-snippet/_index.scss +11 -0
  46. package/scss/components/code-snippet/_mixins.scss +21 -0
  47. package/scss/components/col/_col.scss +54 -0
  48. package/scss/components/col/_index.scss +4 -0
  49. package/scss/components/combo-box/_combo-box.scss +45 -0
  50. package/scss/components/combo-box/_index.scss +11 -0
  51. package/scss/components/content-switcher/_content-switcher.scss +132 -0
  52. package/scss/components/content-switcher/_index.scss +11 -0
  53. package/scss/components/context-menu/_context-menu.scss +26 -0
  54. package/scss/components/context-menu/_index.scss +11 -0
  55. package/scss/components/credits/_credits.scss +30 -0
  56. package/scss/components/credits/_index.scss +11 -0
  57. package/scss/components/data-table/_data-table.scss +1005 -0
  58. package/scss/components/data-table/_index.scss +12 -0
  59. package/scss/components/data-table/_mixins.scss +38 -0
  60. package/scss/components/data-table/_vars.scss +13 -0
  61. package/scss/components/data-table/action/_data-table-action.scss +587 -0
  62. package/scss/components/data-table/action/_index.scss +11 -0
  63. package/scss/components/data-table/expandable/_data-table-expandable.scss +411 -0
  64. package/scss/components/data-table/expandable/_index.scss +11 -0
  65. package/scss/components/data-table/skeleton/_data-table-skeleton.scss +72 -0
  66. package/scss/components/data-table/skeleton/_index.scss +11 -0
  67. package/scss/components/data-table/sort/_data-table-sort.scss +245 -0
  68. package/scss/components/data-table/sort/_index.scss +11 -0
  69. package/scss/components/date-picker/_date-picker.scss +896 -0
  70. package/scss/components/date-picker/_flatpickr.scss +538 -0
  71. package/scss/components/date-picker/_index.scss +11 -0
  72. package/scss/components/date-picker-new/_date-picker-new.scss +100 -0
  73. package/scss/components/date-picker-new/_index.scss +4 -0
  74. package/scss/components/date-picker-new/react-datepicker/datepicker.scss +692 -0
  75. package/scss/components/date-picker-new/react-datepicker/mixins.scss +88 -0
  76. package/scss/components/date-picker-new/react-datepicker/variables.scss +20 -0
  77. package/scss/components/dropdown/_dropdown.scss +493 -0
  78. package/scss/components/dropdown/_index.scss +11 -0
  79. package/scss/components/empty/_empty.scss +105 -0
  80. package/scss/components/empty/_index.scss +11 -0
  81. package/scss/components/file-uploader/_file-uploader.scss +321 -0
  82. package/scss/components/file-uploader/_index.scss +11 -0
  83. package/scss/components/footer/_footer.scss +258 -0
  84. package/scss/components/footer/_footer_external.scss +153 -0
  85. package/scss/components/footer/_index.scss +14 -0
  86. package/scss/components/form/_form.scss +146 -0
  87. package/scss/components/form/_index.scss +4 -0
  88. package/scss/components/form-controls/_form-controls.scss +53 -0
  89. package/scss/components/form-controls/_index.scss +11 -0
  90. package/scss/components/form-error/_form-error.scss +25 -0
  91. package/scss/components/form-error/_index.scss +11 -0
  92. package/scss/components/form-group/_form-group.scss +109 -0
  93. package/scss/components/form-group/_index.scss +11 -0
  94. package/scss/components/form-hint/_form-hint.scss +28 -0
  95. package/scss/components/form-hint/_index.scss +11 -0
  96. package/scss/components/form-wizard/_form-wizard.scss +48 -0
  97. package/scss/components/form-wizard/_index.scss +11 -0
  98. package/scss/components/grid/_grid.scss +80 -0
  99. package/scss/components/grid/_index.scss +4 -0
  100. package/scss/components/hero/_hero-external.scss +84 -0
  101. package/scss/components/hero/_hero.scss +321 -0
  102. package/scss/components/hero/_index.scss +14 -0
  103. package/scss/components/icon/_icon.scss +19 -0
  104. package/scss/components/icon/_index.scss +11 -0
  105. package/scss/components/info-bar/_index.scss +11 -0
  106. package/scss/components/info-bar/_info-bar.scss +21 -0
  107. package/scss/components/inline-loading/_index.scss +11 -0
  108. package/scss/components/inline-loading/_inline-loading.scss +159 -0
  109. package/scss/components/inline-loading/_keyframes.scss +12 -0
  110. package/scss/components/input/_index.scss +11 -0
  111. package/scss/components/input/_input.scss +87 -0
  112. package/scss/components/input/_vars.scss +31 -0
  113. package/scss/components/item/_index.scss +11 -0
  114. package/scss/components/item/_item.scss +227 -0
  115. package/scss/components/link/_index.scss +11 -0
  116. package/scss/components/link/_link.scss +109 -0
  117. package/scss/components/list/_index.scss +4 -0
  118. package/scss/components/list/_list.scss +144 -0
  119. package/scss/components/list-box/_index.scss +11 -0
  120. package/scss/components/list-box/_list-box.scss +813 -0
  121. package/scss/components/loading/_animation.scss +39 -0
  122. package/scss/components/loading/_functions.scss +10 -0
  123. package/scss/components/loading/_index.scss +11 -0
  124. package/scss/components/loading/_keyframes.scss +48 -0
  125. package/scss/components/loading/_loading.scss +72 -0
  126. package/scss/components/loading/_mixins.scss +42 -0
  127. package/scss/components/loading/_vars.scss +26 -0
  128. package/scss/components/main-navigation/_index.scss +14 -0
  129. package/scss/components/main-navigation/_main-navigation.scss +360 -0
  130. package/scss/components/main-navigation/_main-navigation_external.scss +527 -0
  131. package/scss/components/menu/_index.scss +11 -0
  132. package/scss/components/menu/_menu.scss +143 -0
  133. package/scss/components/modal/_index.scss +11 -0
  134. package/scss/components/modal/_mixins.scss +10 -0
  135. package/scss/components/modal/_modal.scss +224 -0
  136. package/scss/components/module/_index.scss +4 -0
  137. package/scss/components/module/_module.scss +199 -0
  138. package/scss/components/multiselect/_index.scss +11 -0
  139. package/scss/components/multiselect/_multiselect.scss +103 -0
  140. package/scss/components/notification/_index.scss +21 -0
  141. package/scss/components/notification/_inline-notification.scss +321 -0
  142. package/scss/components/notification/_mixins.scss +41 -0
  143. package/scss/components/notification/_notification.scss +480 -0
  144. package/scss/components/notification/_toast-notification.scss +249 -0
  145. package/scss/components/notification/_tokens.scss +126 -0
  146. package/scss/components/number-input/_index.scss +11 -0
  147. package/scss/components/number-input/_number-input.scss +195 -0
  148. package/scss/components/overflow-menu/_index.scss +11 -0
  149. package/scss/components/overflow-menu/_overflow-menu.scss +351 -0
  150. package/scss/components/pagination/_index.scss +11 -0
  151. package/scss/components/pagination/_pagination.scss +214 -0
  152. package/scss/components/pagination-nav/_index.scss +11 -0
  153. package/scss/components/pagination-nav/_mixins.scss +38 -0
  154. package/scss/components/pagination-nav/_pagination-nav.scss +171 -0
  155. package/scss/components/popover/_index.scss +11 -0
  156. package/scss/components/popover/_popover.scss +323 -0
  157. package/scss/components/progress-bar/_index.scss +11 -0
  158. package/scss/components/progress-bar/_progress-bar.scss +82 -0
  159. package/scss/components/progress-indicator/_index.scss +11 -0
  160. package/scss/components/progress-indicator/_progress-indicator.scss +328 -0
  161. package/scss/components/radio-button/_index.scss +4 -0
  162. package/scss/components/radio-button/_radio-button.scss +239 -0
  163. package/scss/components/react-dropzone/_index.scss +11 -0
  164. package/scss/components/react-dropzone/_react-dropzone.scss +58 -0
  165. package/scss/components/react-select/_index.scss +11 -0
  166. package/scss/components/react-select/_react-select.scss +90 -0
  167. package/scss/components/read-more/_index.scss +11 -0
  168. package/scss/components/read-more/_read-more.scss +102 -0
  169. package/scss/components/search/_index.scss +4 -0
  170. package/scss/components/search/_search.scss +436 -0
  171. package/scss/components/secondary-navigation/_index.scss +4 -0
  172. package/scss/components/secondary-navigation/_secondary-navigation.scss +61 -0
  173. package/scss/components/select/_index.scss +11 -0
  174. package/scss/components/select/_select.scss +224 -0
  175. package/scss/components/sidebar/_index.scss +11 -0
  176. package/scss/components/sidebar/_sidebar.scss +118 -0
  177. package/scss/components/skeleton-text/_index.scss +4 -0
  178. package/scss/components/skeleton-text/_skeleton-text.scss +22 -0
  179. package/scss/components/slider/_index.scss +4 -0
  180. package/scss/components/slider/_slider.scss +274 -0
  181. package/scss/components/step-navigation/_index.scss +4 -0
  182. package/scss/components/step-navigation/_step-navigation.scss +136 -0
  183. package/scss/components/step-navigation-item/_index.scss +4 -0
  184. package/scss/components/step-navigation-item/_step-navigation-item.scss +377 -0
  185. package/scss/components/story/_index.scss +11 -0
  186. package/scss/components/story/_story.scss +519 -0
  187. package/scss/components/structured-list/_index.scss +11 -0
  188. package/scss/components/structured-list/_mixins.scss +59 -0
  189. package/scss/components/structured-list/_structured-list.scss +235 -0
  190. package/scss/components/sub-navigation/_index.scss +4 -0
  191. package/scss/components/sub-navigation/_sub-navigation.scss +113 -0
  192. package/scss/components/table/_index.scss +11 -0
  193. package/scss/components/table/table.scss +88 -0
  194. package/scss/components/tabs/_index.scss +4 -0
  195. package/scss/components/tabs/_tabs.scss +185 -0
  196. package/scss/components/tabs/_vars.scss +23 -0
  197. package/scss/components/tag/_index.scss +12 -0
  198. package/scss/components/tag/_mixins.scss +19 -0
  199. package/scss/components/tag/_tag.scss +137 -0
  200. package/scss/components/tag/_tokens.scss +702 -0
  201. package/scss/components/text-area/_index.scss +11 -0
  202. package/scss/components/text-area/_text-area.scss +120 -0
  203. package/scss/components/text-input/_index.scss +11 -0
  204. package/scss/components/text-input/_text-input.scss +19 -0
  205. package/scss/components/tile/_index.scss +11 -0
  206. package/scss/components/tile/_tile.scss +269 -0
  207. package/scss/components/time-picker/_index.scss +11 -0
  208. package/scss/components/time-picker/_time-picker.scss +94 -0
  209. package/scss/components/toggle/_index.scss +11 -0
  210. package/scss/components/toggle/_toggle.scss +192 -0
  211. package/scss/components/tooltip/_index.scss +11 -0
  212. package/scss/components/tooltip/_mixins.scss +107 -0
  213. package/scss/components/tooltip/_tooltip.scss +128 -0
  214. package/scss/components/tooltip/_vars.scss +6 -0
  215. package/scss/components/tooltip/animations/fade.scss +10 -0
  216. package/scss/components/tooltip/themes/light-border.scss +158 -0
  217. package/scss/components/tooltip/themes/light.scss +28 -0
  218. package/scss/components/treeview/_index.scss +11 -0
  219. package/scss/components/treeview/_treeview.scss +177 -0
  220. package/scss/components/ui-shell/_functions.scss +19 -0
  221. package/scss/components/ui-shell/_index.scss +11 -0
  222. package/scss/components/ui-shell/_mixins.scss +56 -0
  223. package/scss/components/ui-shell/_ui-shell.scss +23 -0
  224. package/scss/components/ui-shell/content/_content.scss +34 -0
  225. package/scss/components/ui-shell/content/_index.scss +11 -0
  226. package/scss/components/ui-shell/header/_header.scss +382 -0
  227. package/scss/components/ui-shell/header/_index.scss +11 -0
  228. package/scss/components/ui-shell/header-panel/_header-panel.scss +41 -0
  229. package/scss/components/ui-shell/header-panel/_index.scss +11 -0
  230. package/scss/components/ui-shell/side-nav/_index.scss +11 -0
  231. package/scss/components/ui-shell/side-nav/_side-nav.scss +526 -0
  232. package/scss/components/ui-shell/switcher/_index.scss +11 -0
  233. package/scss/components/ui-shell/switcher/_switcher.scss +78 -0
  234. package/scss/components/unit/_index.scss +11 -0
  235. package/scss/components/unit/_unit.scss +277 -0
  236. package/scss/components/user/_index.scss +11 -0
  237. package/scss/components/user/_user.scss +104 -0
  238. package/scss/components/value/_index.scss +11 -0
  239. package/scss/components/value/_value.scss +41 -0
  240. package/scss/components/wrapper/_index.scss +11 -0
  241. package/scss/components/wrapper/_wrapper.scss +71 -0
  242. package/scss/utilities/_box-shadow.scss +14 -0
  243. package/scss/utilities/_button-reset.scss +31 -0
  244. package/scss/utilities/_component-reset.scss +25 -0
  245. package/scss/utilities/_component-tokens.scss +27 -0
  246. package/scss/utilities/_convert.scss +41 -0
  247. package/scss/utilities/_custom-property.scss +56 -0
  248. package/scss/utilities/_focus-outline.scss +68 -0
  249. package/scss/utilities/_high-contrast-mode.scss +37 -0
  250. package/scss/utilities/_index.scss +24 -0
  251. package/scss/utilities/_input-base.scss +63 -0
  252. package/scss/utilities/_keyframes.scss +76 -0
  253. package/scss/utilities/_layer-set.scss +31 -0
  254. package/scss/utilities/_layer.scss +52 -0
  255. package/scss/utilities/_placeholder-colors.scss +10 -0
  256. package/scss/utilities/_read-only.scss +19 -0
  257. package/scss/utilities/_rotate.scss +19 -0
  258. package/scss/utilities/_rtl.scss +21 -0
  259. package/scss/utilities/_skeleton.scss +44 -0
  260. package/scss/utilities/_text-gradient.scss +20 -0
  261. package/scss/utilities/_text-overflow.scss +23 -0
  262. package/scss/utilities/_text-truncate.scss +29 -0
  263. package/scss/utilities/_visually-hidden.scss +38 -0
  264. package/scss/utilities/_z-index.scss +38 -0
  265. package/styles.css +1 -0
@@ -0,0 +1,1005 @@
1
+ //
2
+ // Copyright IBM Corp. 2016, 2018
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @use "mixins" as *;
9
+ @use "vars" as *;
10
+ @use "../../config" as *;
11
+ @use "../../motion" as *;
12
+ @use "../../spacing" as *;
13
+ @use "../../theme" as *;
14
+ @use "../../type" as *;
15
+ @use "../../utilities/convert" as *;
16
+ @use "../../utilities/focus-outline" as *;
17
+ @use "../../utilities/high-contrast-mode" as *;
18
+ @use "../../utilities/text-overflow" as *;
19
+
20
+ /// Data table core styles
21
+ /// @access public
22
+ /// @group data-table
23
+ @mixin data-table {
24
+ //----------------------------------------------------------------------------
25
+ // Container
26
+ //----------------------------------------------------------------------------
27
+ .#{$prefix}--data-table-container {
28
+ position: relative;
29
+ // Allow space for focus styles
30
+ padding-top: $spacing-01;
31
+ }
32
+
33
+ .#{$prefix}--data-table-content {
34
+ overflow-x: auto;
35
+ }
36
+
37
+ //----------------------------------------------------------------------------
38
+ // Table title text
39
+ //----------------------------------------------------------------------------
40
+ .#{$prefix}--data-table-header {
41
+ padding: $spacing-05 0 $spacing-06 $spacing-05;
42
+ background: $layer-primary;
43
+ }
44
+
45
+ .#{$prefix}--data-table-header__title {
46
+ @include type-style("productive-heading-03");
47
+
48
+ color: $text-body-default;
49
+ }
50
+
51
+ .#{$prefix}--data-table-header__description {
52
+ @include type-style("body-short");
53
+
54
+ color: $text-body-secondary;
55
+ }
56
+
57
+ //----------------------------------------------------------------------------
58
+ // Data table
59
+ //----------------------------------------------------------------------------
60
+ .#{$prefix}--data-table {
61
+ width: 100%;
62
+ border-collapse: collapse;
63
+ border-spacing: 0;
64
+ }
65
+
66
+ .#{$prefix}--data-table thead {
67
+ @include type-style("productive-heading-01");
68
+
69
+ background-color: $layer-accent;
70
+ }
71
+
72
+ .#{$prefix}--data-table tbody {
73
+ @include type-style("body-short");
74
+
75
+ width: 100%;
76
+ background-color: $layer-primary;
77
+ }
78
+
79
+ .#{$prefix}--data-table tr {
80
+ width: 100%;
81
+ height: $spacing-09;
82
+ border: none;
83
+ }
84
+
85
+ .#{$prefix}--data-table tbody tr,
86
+ .#{$prefix}--data-table tbody tr td,
87
+ .#{$prefix}--data-table tbody tr th {
88
+ transition: background-color $duration-fast-01 motion(entrance, productive);
89
+ }
90
+
91
+ .#{$prefix}--data-table tbody tr:hover {
92
+ background: $layer-hover;
93
+ }
94
+
95
+ .#{$prefix}--data-table tbody tr:hover td,
96
+ .#{$prefix}--data-table tbody tr:hover th {
97
+ border-top: 1px solid $layer-hover;
98
+ border-bottom: 1px solid $layer-hover;
99
+ background: $layer-hover;
100
+ color: $text-body-default;
101
+ }
102
+
103
+ .#{$prefix}--data-table tbody tr:hover td .#{$prefix}--link,
104
+ .#{$prefix}--data-table tbody tr:hover th .#{$prefix}--link {
105
+ color: $link-secondary;
106
+ }
107
+
108
+ .#{$prefix}--data-table th,
109
+ .#{$prefix}--data-table td {
110
+ text-align: left;
111
+ vertical-align: middle;
112
+ }
113
+
114
+ .#{$prefix}--data-table th {
115
+ padding-right: $spacing-05;
116
+ padding-left: $spacing-05;
117
+ background-color: $layer-accent;
118
+ color: $text-body-default;
119
+ }
120
+
121
+ .#{$prefix}--data-table th:last-of-type {
122
+ // Do not use `position: relative`, as its behavior is undefined for many table elements: https://www.w3.org/TR/CSS21/visuren.html#propdef-position
123
+ position: static;
124
+ width: auto;
125
+ }
126
+
127
+ .#{$prefix}--data-table .#{$prefix}--table-header-label {
128
+ text-align: left;
129
+ }
130
+
131
+ .#{$prefix}--data-table td,
132
+ .#{$prefix}--data-table tbody th {
133
+ padding-right: $spacing-05;
134
+ padding-left: $spacing-05;
135
+ border-top: 1px solid $layer-primary;
136
+ border-bottom: 1px solid $border-subtle;
137
+ background: $layer-primary;
138
+ color: $text-body-secondary;
139
+
140
+ + td:first-of-type {
141
+ padding-left: $spacing-04;
142
+ }
143
+ }
144
+
145
+ @supports (-moz-appearance: none) {
146
+ .#{$prefix}--data-table td {
147
+ // Fix to show borders in ff
148
+ background-clip: padding-box;
149
+ }
150
+ }
151
+
152
+ // Form Control Overrides
153
+
154
+ .#{$prefix}--data-table .#{$prefix}--list-box input[role="combobox"],
155
+ .#{$prefix}--data-table .#{$prefix}--list-box input[type="text"],
156
+ .#{$prefix}--data-table .#{$prefix}--dropdown,
157
+ .#{$prefix}--data-table .#{$prefix}--list-box,
158
+ .#{$prefix}--data-table .#{$prefix}--number input[type="number"],
159
+ .#{$prefix}--data-table .#{$prefix}--number__control-btn::before,
160
+ .#{$prefix}--data-table .#{$prefix}--number__control-btn::after,
161
+ .#{$prefix}--data-table .#{$prefix}--text-input,
162
+ .#{$prefix}--data-table .#{$prefix}--select-input {
163
+ //TODO: background-color: $field-02;
164
+ }
165
+
166
+ // Overflow Menu Overrides
167
+ .#{$prefix}--data-table
168
+ td.#{$prefix}--table-column-menu
169
+ .#{$prefix}--overflow-menu[aria-expanded="false"]:focus {
170
+ @include focus-outline("outline");
171
+ }
172
+
173
+ .#{$prefix}--data-table
174
+ td.#{$prefix}--table-column-menu
175
+ .#{$prefix}--overflow-menu[aria-expanded="true"]:focus {
176
+ outline: none;
177
+ }
178
+
179
+ @media screen and (hover: hover),
180
+ (-ms-high-contrast: active),
181
+ (-ms-high-contrast: none) {
182
+ .#{$prefix}--data-table
183
+ td.#{$prefix}--table-column-menu
184
+ .#{$prefix}--overflow-menu
185
+ .#{$prefix}--overflow-menu__icon {
186
+ opacity: 0;
187
+ }
188
+ }
189
+
190
+ .#{$prefix}--data-table
191
+ td.#{$prefix}--table-column-menu
192
+ .#{$prefix}--overflow-menu.#{$prefix}--overflow-menu--open
193
+ .#{$prefix}--overflow-menu__icon {
194
+ opacity: 1;
195
+ }
196
+
197
+ .#{$prefix}--data-table.#{$prefix}--data-table--visible-overflow-menu
198
+ td.#{$prefix}--table-column-menu
199
+ .#{$prefix}--overflow-menu
200
+ .#{$prefix}--overflow-menu__icon,
201
+ .#{$prefix}--data-table
202
+ td.#{$prefix}--table-column-menu
203
+ .#{$prefix}--overflow-menu:hover
204
+ .#{$prefix}--overflow-menu__icon,
205
+ .#{$prefix}--data-table
206
+ td.#{$prefix}--table-column-menu
207
+ .#{$prefix}--overflow-menu:focus
208
+ .#{$prefix}--overflow-menu__icon,
209
+ .#{$prefix}--data-table
210
+ tr:hover
211
+ td.#{$prefix}--table-column-menu
212
+ .#{$prefix}--overflow-menu
213
+ .#{$prefix}--overflow-menu__icon {
214
+ opacity: 1;
215
+ }
216
+
217
+ .#{$prefix}--table-row--menu-option
218
+ .#{$prefix}--overflow-menu-options__btn
219
+ .#{$prefix}--overflow-menu-options__option-content
220
+ svg {
221
+ position: relative;
222
+ // Used to center svg without setting display flex //display block needed for overflow text truncation
223
+ top: calcRem(3px);
224
+ margin-right: $spacing-03;
225
+ }
226
+
227
+ .#{$prefix}--data-table .#{$prefix}--overflow-menu,
228
+ .#{$prefix}--data-table .#{$prefix}--overflow-menu__trigger {
229
+ &:hover {
230
+ background-color: $layer-selected-hover;
231
+ }
232
+ }
233
+
234
+ .#{$prefix}--data-table--selected .#{$prefix}--overflow-menu,
235
+ .#{$prefix}--data-table--selected .#{$prefix}--overflow-menu__trigger {
236
+ &:hover {
237
+ background-color: $layer-hover;
238
+ }
239
+ }
240
+
241
+ .#{$prefix}--data-table--selected .#{$prefix}--link {
242
+ color: $link-secondary;
243
+ }
244
+
245
+ // V11: Remove compact, short styles
246
+ .#{$prefix}--data-table--compact td.#{$prefix}--table-column-menu,
247
+ .#{$prefix}--data-table--xs td.#{$prefix}--table-column-menu,
248
+ .#{$prefix}--data-table--short td.#{$prefix}--table-column-menu,
249
+ .#{$prefix}--data-table--sm td.#{$prefix}--table-column-menu {
250
+ height: calcRem(24px);
251
+ padding-top: 0;
252
+ padding-bottom: 0;
253
+ }
254
+
255
+ // V11: Remove short styles
256
+ .#{$prefix}--data-table--short td.#{$prefix}--table-column-menu,
257
+ .#{$prefix}--data-table--sm td.#{$prefix}--table-column-menu {
258
+ height: calcRem(32px);
259
+ }
260
+
261
+ .#{$prefix}--data-table--md td.#{$prefix}--table-column-menu {
262
+ height: calcRem(40px);
263
+ }
264
+
265
+ // V11: Remove tall styles
266
+ .#{$prefix}--data-table--tall .#{$prefix}--table-column-menu,
267
+ .#{$prefix}--data-table--xl .#{$prefix}--table-column-menu {
268
+ padding-top: $spacing-03;
269
+ }
270
+
271
+ //----------------------------------------------------------------------------
272
+ //ZEBRA
273
+ //----------------------------------------------------------------------------
274
+
275
+ .#{$prefix}--data-table--zebra
276
+ tbody
277
+ tr:not(.#{$prefix}--parent-row):nth-child(odd)
278
+ td {
279
+ border-bottom: 1px solid $layer-primary;
280
+ }
281
+
282
+ .#{$prefix}--data-table--zebra
283
+ tbody
284
+ tr:not(.#{$prefix}--parent-row):nth-child(even)
285
+ td {
286
+ border-top: 1px solid $layer-accent;
287
+ border-bottom: 1px solid $layer-accent;
288
+ background-color: $layer-accent;
289
+ }
290
+
291
+ .#{$prefix}--data-table--zebra
292
+ tbody
293
+ tr:not(.#{$prefix}--parent-row):hover
294
+ td {
295
+ border-top: 1px solid $layer-hover;
296
+ border-bottom: 1px solid $layer-hover;
297
+ background-color: $layer-hover;
298
+ }
299
+
300
+ //----------------------------------------------------------------------------
301
+ // Select
302
+ //----------------------------------------------------------------------------
303
+ .#{$prefix}--table-column-checkbox .#{$prefix}--checkbox-label {
304
+ padding-left: 0;
305
+ }
306
+
307
+ .#{$prefix}--data-table th.#{$prefix}--table-column-checkbox {
308
+ // Do not use `position: relative`, as its behavior is undefined for many table elements: https://www.w3.org/TR/CSS21/visuren.html#propdef-position
309
+ position: static;
310
+ width: calcRem(32px);
311
+ background: $layer-accent;
312
+ transition: background-color $duration-fast-01 motion(entrance, productive);
313
+ }
314
+
315
+ .#{$prefix}--data-table
316
+ .#{$prefix}--table-column-checkbox
317
+ .#{$prefix}--checkbox:focus
318
+ + .#{$prefix}--checkbox-label::before {
319
+ //make checkbox focus larger to match expansion btn focus
320
+ outline-offset: calcRem(6px);
321
+ }
322
+
323
+ .#{$prefix}--data-table--compact
324
+ .#{$prefix}--table-column-checkbox
325
+ .#{$prefix}--checkbox:focus
326
+ + .#{$prefix}--checkbox-label::before,
327
+ .#{$prefix}--data-table--xs
328
+ .#{$prefix}--table-column-checkbox
329
+ .#{$prefix}--checkbox:focus
330
+ + .#{$prefix}--checkbox-label::before {
331
+ //make checkbox match expansion button focus size
332
+ outline-offset: calcRem(2px);
333
+ }
334
+
335
+ .#{$prefix}--data-table thead th.#{$prefix}--table-column-checkbox,
336
+ .#{$prefix}--data-table tbody td.#{$prefix}--table-column-checkbox,
337
+ .#{$prefix}--data-table thead th.#{$prefix}--table-expand,
338
+ .#{$prefix}--data-table tbody td.#{$prefix}--table-expand {
339
+ min-width: 0;
340
+ }
341
+
342
+ .#{$prefix}--data-table thead th.#{$prefix}--table-column-checkbox,
343
+ .#{$prefix}--data-table tbody td.#{$prefix}--table-column-checkbox {
344
+ // spacing between checkbox / chevron and next cell should be 8px / 0.5rem
345
+ padding-right: calcRem(4px);
346
+ padding-left: 1rem;
347
+ }
348
+
349
+ .#{$prefix}--data-table thead th.#{$prefix}--table-expand,
350
+ .#{$prefix}--data-table tbody td.#{$prefix}--table-expand {
351
+ width: calcRem(32px);
352
+ height: calcRem(32px);
353
+ }
354
+
355
+ // V11: Remove compact
356
+ .#{$prefix}--data-table--compact thead th.#{$prefix}--table-expand,
357
+ .#{$prefix}--data-table--compact tbody td.#{$prefix}--table-expand,
358
+ .#{$prefix}--data-table--xs thead th.#{$prefix}--table-expand,
359
+ .#{$prefix}--data-table--xs tbody td.#{$prefix}--table-expand {
360
+ width: calcRem(24px);
361
+ height: calcRem(24px);
362
+ padding: 0 0 0 0.5rem;
363
+ }
364
+
365
+ // V11: remove short
366
+ .#{$prefix}--data-table--short thead th.#{$prefix}--table-expand,
367
+ .#{$prefix}--data-table--short tbody td.#{$prefix}--table-expand,
368
+ .#{$prefix}--data-table--sm thead th.#{$prefix}--table-expand,
369
+ .#{$prefix}--data-table--sm tbody td.#{$prefix}--table-expand {
370
+ width: calcRem(32px);
371
+ height: calcRem(32px);
372
+ padding: 0;
373
+ padding-left: 0.5rem;
374
+ }
375
+
376
+ .#{$prefix}--data-table--md thead th.#{$prefix}--table-expand,
377
+ .#{$prefix}--data-table--md tbody td.#{$prefix}--table-expand {
378
+ width: calcRem(40px);
379
+ height: calcRem(40px);
380
+ padding: calcRem(4px) 0 calcRem(4px) calcRem(8px);
381
+ }
382
+
383
+ // V11: remove tall
384
+ .#{$prefix}--data-table--tall thead th.#{$prefix}--table-expand,
385
+ .#{$prefix}--data-table--tall tbody td.#{$prefix}--table-expand,
386
+ .#{$prefix}--data-table--xl thead th.#{$prefix}--table-expand,
387
+ .#{$prefix}--data-table--xl tbody td.#{$prefix}--table-expand {
388
+ height: calcRem(64px);
389
+ padding-top: calcRem(10px);
390
+ padding-bottom: calcRem(22px);
391
+ }
392
+
393
+ // V11: remove tall
394
+ .#{$prefix}--data-table--tall .#{$prefix}--table-column-checkbox,
395
+ .#{$prefix}--data-table--xl .#{$prefix}--table-column-checkbox {
396
+ padding-top: calcRem(13px);
397
+ }
398
+
399
+ // V11: remove tall
400
+ .#{$prefix}--data-table--tall .#{$prefix}--table-column-radio,
401
+ .#{$prefix}--data-table--xl .#{$prefix}--table-column-radio {
402
+ padding-top: $spacing-05;
403
+ }
404
+
405
+ .#{$prefix}--date-table tbody th.#{$prefix}--table-column-checkbox:hover {
406
+ background: $data-table-column-hover;
407
+ }
408
+
409
+ //----------------------------------------------------------------------------
410
+ // Radio
411
+ //----------------------------------------------------------------------------
412
+ .#{$prefix}--table-column-radio {
413
+ width: 48px;
414
+ }
415
+
416
+ .#{$prefix}--table-column-radio .#{$prefix}--radio-button__appearance {
417
+ margin-right: calcRem(-2px);
418
+ }
419
+
420
+ // default selected row + zebra select - even child
421
+ .#{$prefix}--data-table--zebra
422
+ tbody
423
+ tr:nth-child(odd).#{$prefix}--data-table--selected
424
+ td,
425
+ tr.#{$prefix}--data-table--selected td {
426
+ border-top: 1px solid $layer-selected;
427
+ // Bottom border acts as separator from other rows
428
+ border-bottom: 1px solid $layer-active;
429
+ background-color: $layer-selected;
430
+ color: $text-body-default;
431
+ }
432
+
433
+ // First row
434
+ .#{$prefix}--data-table--zebra
435
+ tbody
436
+ tr:first-of-type:nth-child(odd).#{$prefix}--data-table--selected
437
+ td,
438
+ tr.#{$prefix}--data-table--selected:first-of-type td {
439
+ // Top border acts as separator from thead
440
+ border-top: 1px solid $layer-active;
441
+ }
442
+
443
+ // last row + zebra select last
444
+ .#{$prefix}--data-table--zebra
445
+ tbody
446
+ tr:last-of-type:nth-child(odd).#{$prefix}--data-table--selected
447
+ td,
448
+ .#{$prefix}--data-table--zebra
449
+ tbody
450
+ tr:last-of-type:nth-child(even).#{$prefix}--data-table--selected
451
+ td,
452
+ tr.#{$prefix}--data-table--selected:last-of-type td {
453
+ // Doesn't need separators
454
+ border-top: 1px solid $layer-selected;
455
+ border-bottom: 1px solid $layer-selected;
456
+ }
457
+
458
+ // zebra select - odd child
459
+ .#{$prefix}--data-table--zebra
460
+ tbody
461
+ tr:nth-child(even).#{$prefix}--data-table--selected
462
+ td {
463
+ border-bottom: 1px solid $layer-active;
464
+ }
465
+
466
+ .#{$prefix}--data-table--zebra
467
+ tbody
468
+ tr:nth-child(even).#{$prefix}--data-table--selected:hover
469
+ td {
470
+ border-bottom: 1px solid $data-table-column-hover;
471
+ }
472
+
473
+ // hover + zebra select - even child
474
+ .#{$prefix}--data-table--zebra
475
+ tbody
476
+ tr:nth-child(odd).#{$prefix}--data-table--selected:hover
477
+ td,
478
+ .#{$prefix}--data-table tbody .#{$prefix}--data-table--selected:hover td {
479
+ border-top: 1px solid $data-table-column-hover;
480
+ border-bottom: 1px solid $data-table-column-hover;
481
+ background: $data-table-column-hover;
482
+ color: $text-body-default;
483
+ }
484
+
485
+ // selected overflow menu
486
+ .#{$prefix}--data-table--selected
487
+ .#{$prefix}--overflow-menu
488
+ .#{$prefix}--overflow-menu__icon {
489
+ opacity: 1;
490
+ }
491
+
492
+ // V11: Remove this compact block
493
+ //----------------------------------------------------------------------------
494
+ // Compact
495
+ //----------------------------------------------------------------------------
496
+ .#{$prefix}--data-table--compact thead tr,
497
+ .#{$prefix}--data-table--compact tbody tr,
498
+ .#{$prefix}--data-table--compact tbody tr th {
499
+ height: calcRem(24px);
500
+ }
501
+
502
+ .#{$prefix}--data-table--compact .#{$prefix}--table-header-label {
503
+ padding-top: calcRem(2px);
504
+ padding-bottom: calcRem(2px);
505
+ }
506
+
507
+ .#{$prefix}--data-table--compact td,
508
+ .#{$prefix}--data-table--compact tbody tr th {
509
+ padding-top: calcRem(2px);
510
+ padding-bottom: calcRem(2px);
511
+ }
512
+
513
+ .#{$prefix}--data-table--compact .#{$prefix}--overflow-menu {
514
+ width: calcRem(32px);
515
+ height: 100%;
516
+ }
517
+
518
+ .#{$prefix}--data-table.#{$prefix}--data-table--compact
519
+ .#{$prefix}--table-column-checkbox {
520
+ padding-top: 0;
521
+ padding-bottom: 0;
522
+ }
523
+
524
+ .#{$prefix}--data-table.#{$prefix}--data-table--compact
525
+ .#{$prefix}--table-column-checkbox
526
+ .#{$prefix}--checkbox-label {
527
+ height: calcRem(23px);
528
+ // 24px row - 1px border
529
+ min-height: calcRem(23px);
530
+ }
531
+
532
+ //----------------------------------------------------------------------------
533
+ // Extra Small
534
+ //----------------------------------------------------------------------------
535
+ .#{$prefix}--data-table--xs thead tr,
536
+ .#{$prefix}--data-table--xs tbody tr,
537
+ .#{$prefix}--data-table--xs tbody tr th {
538
+ height: calcRem(24px);
539
+ }
540
+
541
+ .#{$prefix}--data-table--xs .#{$prefix}--table-header-label {
542
+ padding-top: calcRem(2px);
543
+ padding-bottom: calcRem(2px);
544
+ }
545
+
546
+ .#{$prefix}--data-table--xs td,
547
+ .#{$prefix}--data-table--xs tbody tr th {
548
+ padding-top: calcRem(2px);
549
+ padding-bottom: calcRem(2px);
550
+ }
551
+
552
+ .#{$prefix}--data-table--xs .#{$prefix}--overflow-menu {
553
+ width: calcRem(32px);
554
+ height: calc(100% + 1px);
555
+ }
556
+
557
+ .#{$prefix}--data-table.#{$prefix}--data-table--xs
558
+ .#{$prefix}--table-column-checkbox {
559
+ padding-top: 0;
560
+ padding-bottom: 0;
561
+ }
562
+
563
+ .#{$prefix}--data-table.#{$prefix}--data-table--xs
564
+ .#{$prefix}--table-column-checkbox
565
+ .#{$prefix}--checkbox-label {
566
+ height: calcRem(23px);
567
+ // 24px row - 1px border
568
+ min-height: calcRem(23px);
569
+ }
570
+
571
+ // V11: Remove this short block
572
+ //----------------------------------------------------------------------------
573
+ // Short
574
+ //----------------------------------------------------------------------------
575
+ .#{$prefix}--data-table--short thead tr,
576
+ .#{$prefix}--data-table--short tbody tr,
577
+ .#{$prefix}--data-table--short tbody tr th {
578
+ height: calcRem(32px);
579
+ }
580
+
581
+ .#{$prefix}--data-table--short .#{$prefix}--table-header-label {
582
+ padding-top: calcRem(7px);
583
+ padding-bottom: calcRem(7px);
584
+ }
585
+
586
+ .#{$prefix}--data-table--short td,
587
+ .#{$prefix}--data-table--short tbody tr th {
588
+ padding-top: calcRem(7px);
589
+ padding-bottom: calcRem(6px);
590
+ }
591
+
592
+ .#{$prefix}--data-table.#{$prefix}--data-table--short
593
+ .#{$prefix}--table-column-checkbox {
594
+ padding-top: calcRem(3px);
595
+ padding-bottom: calcRem(3px);
596
+ }
597
+
598
+ .#{$prefix}--data-table--short .#{$prefix}--overflow-menu {
599
+ height: 100%;
600
+ }
601
+
602
+ //----------------------------------------------------------------------------
603
+ // Small
604
+ //----------------------------------------------------------------------------
605
+ .#{$prefix}--data-table--sm thead tr,
606
+ .#{$prefix}--data-table--sm tbody tr,
607
+ .#{$prefix}--data-table--sm tbody tr th {
608
+ height: calcRem(32px);
609
+ }
610
+
611
+ .#{$prefix}--data-table--sm .#{$prefix}--table-header-label {
612
+ padding-top: calcRem(7px);
613
+ padding-bottom: calcRem(7px);
614
+ }
615
+
616
+ .#{$prefix}--data-table--sm td,
617
+ .#{$prefix}--data-table--sm tbody tr th {
618
+ padding-top: calcRem(7px);
619
+ padding-bottom: calcRem(6px);
620
+ }
621
+
622
+ .#{$prefix}--data-table.#{$prefix}--data-table--sm
623
+ .#{$prefix}--table-column-checkbox {
624
+ padding-top: calcRem(3px);
625
+ padding-bottom: calcRem(3px);
626
+ }
627
+
628
+ .#{$prefix}--data-table--sm .#{$prefix}--overflow-menu {
629
+ height: calc(100% + 1px);
630
+ }
631
+
632
+ //----------------------------------------------------------------------------
633
+ // Medium
634
+ //----------------------------------------------------------------------------
635
+ .#{$prefix}--data-table--md thead tr,
636
+ .#{$prefix}--data-table--md tbody tr,
637
+ .#{$prefix}--data-table--md tbody tr th {
638
+ height: calcRem(40px);
639
+ }
640
+
641
+ .#{$prefix}--data-table--md .#{$prefix}--table-header-label {
642
+ padding-top: calcRem(7px);
643
+ padding-bottom: calcRem(7px);
644
+ }
645
+
646
+ .#{$prefix}--data-table--md td,
647
+ .#{$prefix}--data-table--md tbody tr th {
648
+ padding-top: calcRem(7px);
649
+ padding-bottom: calcRem(6px);
650
+ }
651
+
652
+ .#{$prefix}--data-table.#{$prefix}--data-table--md
653
+ .#{$prefix}--table-column-checkbox {
654
+ padding-top: calcRem(3px);
655
+ padding-bottom: calcRem(3px);
656
+ }
657
+
658
+ .#{$prefix}--data-table--md .#{$prefix}--table-column-menu {
659
+ padding-top: calcRem(3px);
660
+ padding-bottom: calcRem(3px);
661
+ }
662
+
663
+ // V11: remove this tall block
664
+ //----------------------------------------------------------------------------
665
+ // Tall
666
+ //----------------------------------------------------------------------------
667
+ .#{$prefix}--data-table--tall thead tr,
668
+ .#{$prefix}--data-table--tall tbody tr,
669
+ .#{$prefix}--data-table--tall tbody tr th {
670
+ height: calcRem(64px);
671
+ }
672
+
673
+ .#{$prefix}--data-table--tall .#{$prefix}--table-header-label {
674
+ padding-top: $spacing-05;
675
+ padding-bottom: $spacing-05;
676
+ }
677
+
678
+ .#{$prefix}--data-table--tall td,
679
+ .#{$prefix}--data-table--tall tbody tr th {
680
+ padding-top: 1rem;
681
+ }
682
+
683
+ .#{$prefix}--data-table--tall th,
684
+ .#{$prefix}--data-table--tall td {
685
+ vertical-align: top;
686
+ }
687
+
688
+ .#{$prefix}--data-table--tall .#{$prefix}--data-table--cell-secondary-text {
689
+ @include type-style("label");
690
+ }
691
+
692
+ //----------------------------------------------------------------------------
693
+ // Extra Large
694
+ //----------------------------------------------------------------------------
695
+ .#{$prefix}--data-table--xl thead tr,
696
+ .#{$prefix}--data-table--xl tbody tr,
697
+ .#{$prefix}--data-table--xl tbody tr th {
698
+ height: calcRem(64px);
699
+ }
700
+
701
+ .#{$prefix}--data-table--xl .#{$prefix}--table-header-label {
702
+ padding-top: $spacing-05;
703
+ padding-bottom: $spacing-05;
704
+ }
705
+
706
+ .#{$prefix}--data-table--xl td,
707
+ .#{$prefix}--data-table--xl tbody tr th {
708
+ padding-top: 1rem;
709
+ }
710
+
711
+ .#{$prefix}--data-table--xl th,
712
+ .#{$prefix}--data-table--xl td {
713
+ vertical-align: top;
714
+ }
715
+
716
+ .#{$prefix}--data-table--xl .#{$prefix}--data-table--cell-secondary-text {
717
+ @include type-style("label");
718
+ }
719
+
720
+ //----------------------------------------------------------------------------
721
+ // Static
722
+ //----------------------------------------------------------------------------
723
+ .#{$prefix}--data-table--static {
724
+ width: auto;
725
+ }
726
+
727
+ // -------------
728
+ // Sticky header
729
+ // -------------
730
+ .#{$prefix}--data-table_inner-container {
731
+ background-color: $layer-accent;
732
+ transform: translateZ(0);
733
+ }
734
+
735
+ .#{$prefix}--data-table--sticky-header {
736
+ display: block;
737
+ overflow-y: scroll;
738
+
739
+ thead,
740
+ tbody,
741
+ tr,
742
+ th,
743
+ td {
744
+ display: flex;
745
+ }
746
+
747
+ thead {
748
+ position: sticky;
749
+ z-index: 1;
750
+ top: 0;
751
+ overflow: scroll;
752
+ width: 100%;
753
+ // Hides ie scrollbar
754
+ -ms-overflow-style: none;
755
+ will-change: transform;
756
+ }
757
+
758
+ thead tr th {
759
+ border-bottom: 1px solid $layer-active;
760
+ }
761
+
762
+ tbody {
763
+ flex-direction: column;
764
+ // Hides ie scrollbar
765
+ -ms-overflow-style: none;
766
+ overflow-x: scroll;
767
+ will-change: transform;
768
+ }
769
+
770
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row {
771
+ height: auto;
772
+ min-height: 3rem;
773
+ }
774
+
775
+ tr.#{$prefix}--expandable-row:not(.#{$prefix}--parent-row) {
776
+ height: auto;
777
+ }
778
+
779
+ .#{$prefix}--table-expand {
780
+ max-width: calcRem(48px);
781
+ }
782
+
783
+ thead .#{$prefix}--table-expand {
784
+ align-items: center;
785
+ }
786
+
787
+ .#{$prefix}--parent-row {
788
+ min-height: 3rem;
789
+ }
790
+
791
+ // V11: remove compact, tall, and short
792
+ &:not(.#{$prefix}--data-table--compact):not(
793
+ .#{$prefix}--data-table--xs
794
+ ):not(.#{$prefix}--data-table--tall):not(.#{$prefix}--data-table--xl):not(
795
+ .#{$prefix}--data-table--short
796
+ ):not(.#{$prefix}--data-table--sm)
797
+ td:not(.#{$prefix}--table-column-menu):not(
798
+ .#{$prefix}--table-column-checkbox
799
+ ) {
800
+ padding-top: calcRem(14px);
801
+ }
802
+
803
+ // Taken from L125 _data-table-expandable
804
+ // Used to hide white line when parent row is hovered when child is expanded
805
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
806
+ + tr[data-child-row]
807
+ td {
808
+ border-top: 1px solid $layer-hover;
809
+ }
810
+
811
+ tr.#{$prefix}--expandable-row:last-of-type {
812
+ overflow: hidden;
813
+ }
814
+
815
+ tr.#{$prefix}--data-table--selected:first-of-type td {
816
+ border-top: none;
817
+ }
818
+
819
+ // Selectable fix
820
+ thead th.#{$prefix}--table-column-checkbox,
821
+ tbody tr td.#{$prefix}--table-column-checkbox {
822
+ width: calcRem(36px);
823
+ min-width: calcRem(36px);
824
+ align-items: center;
825
+ }
826
+
827
+ // V11: remove tall
828
+ &.#{$prefix}--data-table--tall thead th.#{$prefix}--table-column-checkbox,
829
+ &.#{$prefix}--data-table--xl thead th.#{$prefix}--table-column-checkbox,
830
+ &.#{$prefix}--data-table--tall td.#{$prefix}--table-column-checkbox,
831
+ &.#{$prefix}--data-table--xl td.#{$prefix}--table-column-checkbox {
832
+ align-items: flex-start;
833
+ }
834
+
835
+ // Overflow fix
836
+ /* When using sticky header, with a selection element in the first column, we need to set the last item to a fixed width to match the table body. We only want this to happen when the last table header does not have any text */
837
+ th.#{$prefix}--table-column-checkbox ~ th:last-of-type:empty {
838
+ max-width: calcRem(64px);
839
+ }
840
+
841
+ th:empty:not(.#{$prefix}--table-expand) {
842
+ max-width: 2.25rem;
843
+ }
844
+
845
+ td.#{$prefix}--table-column-menu {
846
+ height: auto;
847
+ align-items: center;
848
+ padding-top: 0;
849
+ }
850
+
851
+ //hides webkit scrollbar
852
+ thead::-webkit-scrollbar,
853
+ tbody::-webkit-scrollbar {
854
+ display: none;
855
+ }
856
+
857
+ //hides ff scrollbar
858
+ @-moz-document url-prefix() {
859
+ thead,
860
+ tbody {
861
+ scrollbar-width: none;
862
+ }
863
+ }
864
+
865
+ tbody tr:last-of-type {
866
+ border-bottom: 0;
867
+ }
868
+
869
+ th:not(.#{$prefix}--table-column-checkbox):not(
870
+ .#{$prefix}--table-column-menu
871
+ ):not(.#{$prefix}--table-expand):not(.#{$prefix}--table-column-icon),
872
+ td:not(.#{$prefix}--table-column-checkbox):not(
873
+ .#{$prefix}--table-column-menu
874
+ ):not(.#{$prefix}--table-expand):not(.#{$prefix}--table-column-icon) {
875
+ width: 100%;
876
+ min-width: 0;
877
+ }
878
+
879
+ // V11: remove compact, short, tall
880
+ &.#{$prefix}--data-table--compact tr:not(.#{$prefix}--expandable-row),
881
+ &.#{$prefix}--data-table--xs tr:not(.#{$prefix}--expandable-row),
882
+ &.#{$prefix}--data-table--short tr:not(.#{$prefix}--expandable-row),
883
+ &.#{$prefix}--data-table--sm tr:not(.#{$prefix}--expandable-row),
884
+ &.#{$prefix}--data-table--tall tr:not(.#{$prefix}--expandable-row),
885
+ &.#{$prefix}--data-table--xl tr:not(.#{$prefix}--expandable-row) {
886
+ height: auto;
887
+ }
888
+
889
+ // Compact
890
+ // V11: remove compact
891
+ &.#{$prefix}--data-table--compact tr:not(.#{$prefix}--expandable-row),
892
+ &.#{$prefix}--data-table--xs tr:not(.#{$prefix}--expandable-row) {
893
+ min-height: calcRem(24px);
894
+ }
895
+
896
+ // Short
897
+ // V11: remove short
898
+ &.#{$prefix}--data-table--short tr:not(.#{$prefix}--expandable-row),
899
+ &.#{$prefix}--data-table--sm tr:not(.#{$prefix}--expandable-row) {
900
+ min-height: calcRem(32px);
901
+ }
902
+
903
+ // Tall
904
+ // V11: remove tall
905
+ &.#{$prefix}--data-table--tall tr:not(.#{$prefix}--expandable-row),
906
+ &.#{$prefix}--data-table--xl tr:not(.#{$prefix}--expandable-row) {
907
+ min-height: calcRem(64px);
908
+ }
909
+
910
+ // Expansion overrides
911
+ // V11: remove compact
912
+ &.#{$prefix}--data-table--compact tr td.#{$prefix}--table-expand,
913
+ &.#{$prefix}--data-table--xs tr td.#{$prefix}--table-expand {
914
+ padding-top: calcRem(4px);
915
+ }
916
+
917
+ // V11: remove short
918
+ &.#{$prefix}--data-table--short tr td.#{$prefix}--table-expand,
919
+ &.#{$prefix}--data-table--sm tr td.#{$prefix}--table-expand {
920
+ padding-top: calcRem(8px);
921
+ }
922
+
923
+ .#{$prefix}--table-header-label {
924
+ @include text-overflow;
925
+
926
+ max-width: calc(100% - 10px);
927
+ // Needed to reduce 1px jump when toggling between variations
928
+ padding-top: calcRem(15px);
929
+ padding-bottom: 1rem;
930
+ overflow-y: hidden;
931
+ }
932
+
933
+ // V11: remove compact
934
+ &.#{$prefix}--data-table--compact th .#{$prefix}--table-header-label,
935
+ &.#{$prefix}--data-table--xs th .#{$prefix}--table-header-label {
936
+ padding-top: calcRem(3px);
937
+ padding-bottom: 0;
938
+ }
939
+
940
+ // V11: remove short
941
+ &.#{$prefix}--data-table--short th .#{$prefix}--table-header-label,
942
+ &.#{$prefix}--data-table--sm th .#{$prefix}--table-header-label {
943
+ padding-top: calcRem(8px);
944
+ padding-bottom: 0;
945
+ }
946
+
947
+ // V11: remove tall
948
+ &.#{$prefix}--data-table--tall th .#{$prefix}--table-header-label,
949
+ &.#{$prefix}--data-table--xl th .#{$prefix}--table-header-label {
950
+ padding-top: 1rem;
951
+ }
952
+
953
+ // V11: remove tall
954
+ &.#{$prefix}--data-table--tall th.#{$prefix}--table-expand,
955
+ &.#{$prefix}--data-table--xl th.#{$prefix}--table-expand {
956
+ display: flex;
957
+ align-items: flex-start;
958
+ }
959
+
960
+ // With dynamic content overrides
961
+ // V11: remove compact, short
962
+ &.#{$prefix}--data-table--compact
963
+ tr.#{$prefix}--parent-row
964
+ .#{$prefix}--table-column-checkbox,
965
+ &.#{$prefix}--data-table--short
966
+ tr.#{$prefix}--parent-row
967
+ .#{$prefix}--table-column-checkbox,
968
+ &.#{$prefix}--data-table--xs
969
+ tr.#{$prefix}--parent-row
970
+ .#{$prefix}--table-column-checkbox,
971
+ &.#{$prefix}--data-table--sm
972
+ tr.#{$prefix}--parent-row
973
+ .#{$prefix}--table-column-checkbox {
974
+ align-items: flex-start;
975
+ }
976
+ }
977
+
978
+ @include sticky-header($max-width: 100%);
979
+
980
+ // -------------------
981
+ // with boolean column
982
+ // -------------------
983
+ .#{$prefix}--data-table
984
+ .#{$prefix}--form-item.#{$prefix}--checkbox-wrapper:last-of-type {
985
+ margin: 0;
986
+ }
987
+
988
+ // V11: remove short, compact
989
+ .#{$prefix}--data-table--short
990
+ .#{$prefix}--form-item.#{$prefix}--checkbox-wrapper:last-of-type,
991
+ .#{$prefix}--data-table--compact
992
+ .#{$prefix}--form-item.#{$prefix}--checkbox-wrapper:last-of-type,
993
+ .#{$prefix}--data-table--xs
994
+ .#{$prefix}--form-item.#{$prefix}--checkbox-wrapper:last-of-type,
995
+ .#{$prefix}--data-table--sm
996
+ .#{$prefix}--form-item.#{$prefix}--checkbox-wrapper:last-of-type {
997
+ margin: calcRem(-3px) 0;
998
+ }
999
+
1000
+ // Windows HCM fix
1001
+ // stylelint-disable-next-line no-duplicate-selectors
1002
+ .#{$prefix}--data-table-content {
1003
+ @include high-contrast-mode("outline");
1004
+ }
1005
+ }