@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,411 @@
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 "../../../config" as *;
9
+ @use "../../../motion" as *;
10
+ @use "../../../spacing" as *;
11
+ @use "../../../compat/theme" as *;
12
+ @use "../../../utilities/button-reset";
13
+ @use "../../../utilities/convert" as *;
14
+ @use "../../../utilities/focus-outline" as *;
15
+ @use "../../../utilities/high-contrast-mode" as *;
16
+
17
+ /// Data table expandable styles
18
+ /// @access public
19
+ /// @group data-table
20
+ @mixin data-table-expandable {
21
+ //----------------------------------------------------------------------------
22
+ // Parent row
23
+ //----------------------------------------------------------------------------
24
+ //first row top border
25
+ .#{$prefix}--data-table tr.#{$prefix}--parent-row:first-of-type td {
26
+ border-top: 1px solid $border-subtle;
27
+ }
28
+
29
+ //----------------------------------------------------------------------------
30
+ // Child row
31
+ //----------------------------------------------------------------------------
32
+ // default styles
33
+ .#{$prefix}--expandable-row--hidden td {
34
+ width: auto;
35
+ padding: $spacing-05;
36
+ border-top: 0;
37
+ }
38
+
39
+ //child row hidden
40
+ tr.#{$prefix}--parent-row:not(.#{$prefix}--expandable-row)
41
+ + tr[data-child-row] {
42
+ height: 0;
43
+ transition: height $duration-moderate-01 motion(standard, productive);
44
+ }
45
+
46
+ tr.#{$prefix}--parent-row:not(.#{$prefix}--expandable-row)
47
+ + tr[data-child-row]
48
+ td {
49
+ padding-top: 0;
50
+ padding-bottom: 0;
51
+ border: 0;
52
+ background-color: $layer-hover;
53
+ transition: padding $duration-moderate-01 motion(standard, productive),
54
+ background-color $duration-moderate-01 motion(standard, productive);
55
+ }
56
+
57
+ tr.#{$prefix}--parent-row:not(.#{$prefix}--expandable-row)
58
+ + tr[data-child-row]
59
+ td
60
+ .#{$prefix}--child-row-inner-container {
61
+ overflow: hidden;
62
+ max-height: 0;
63
+ }
64
+
65
+ //child row visible
66
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row + tr[data-child-row] {
67
+ transition: height $duration-moderate-01 motion(standard, productive);
68
+ }
69
+
70
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row + tr[data-child-row] td {
71
+ padding-left: 4rem;
72
+ border-bottom: 1px solid $border-subtle;
73
+ transition: padding-bottom $duration-fast-02 motion(standard, productive),
74
+ transform $duration-fast-02 motion(standard, productive),
75
+ background-color $duration-fast-02 motion(standard, productive);
76
+ }
77
+
78
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row
79
+ + tr[data-child-row]
80
+ td
81
+ .#{$prefix}--child-row-inner-container {
82
+ max-height: 100%;
83
+ }
84
+
85
+ // bottom border overrides
86
+ .#{$prefix}--parent-row.#{$prefix}--expandable-row > td,
87
+ .#{$prefix}--parent-row.#{$prefix}--expandable-row + tr[data-child-row] > td {
88
+ border-bottom: 1px solid $border-subtle;
89
+ box-shadow: 0 1px $border-subtle;
90
+ }
91
+
92
+ .#{$prefix}--parent-row:not(.#{$prefix}--expandable-row)
93
+ + tr[data-child-row]
94
+ > td {
95
+ box-shadow: none;
96
+ }
97
+
98
+ .#{$prefix}--parent-row.#{$prefix}--expandable-row > td:first-of-type {
99
+ // First td doesn't have a visible border
100
+ box-shadow: none;
101
+ }
102
+
103
+ //----------------------------------------------------------------------------
104
+ // Hover styles
105
+ //----------------------------------------------------------------------------
106
+ tr.#{$prefix}--parent-row:not(.#{$prefix}--expandable-row) td,
107
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row td,
108
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row {
109
+ transition: height $duration-moderate-02 motion(standard, productive),
110
+ background-color $duration-fast-02 motion(standard, productive);
111
+ }
112
+
113
+ // hovering on collapsed parent
114
+ tr.#{$prefix}--parent-row:not(.#{$prefix}--expandable-row):first-of-type:hover
115
+ td {
116
+ border-top: 1px solid $border-subtle;
117
+ border-bottom: 1px solid $border-subtle;
118
+ }
119
+
120
+ // hovering on expanded parent
121
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover td {
122
+ border-top: 1px solid $border-subtle;
123
+ border-bottom: 1px solid $border-subtle;
124
+ background-color: $layer-hover;
125
+ color: $text-body-default;
126
+ }
127
+
128
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover td:first-of-type {
129
+ // First td doesn't have a visible border
130
+ border-bottom: 1px solid $layer-hover;
131
+ }
132
+
133
+ // Child row when hovering on expanded parent
134
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
135
+ + tr[data-child-row]
136
+ td {
137
+ border-bottom: 1px solid $border-subtle;
138
+ background-color: $layer-hover;
139
+ color: $text-body-default;
140
+ }
141
+
142
+ //hovering on expanded child row
143
+ tr.#{$prefix}--expandable-row--hover + tr[data-child-row] td {
144
+ border-bottom: 1px solid $border-subtle;
145
+ }
146
+
147
+ //hovering on expanded child row (class added to parent)
148
+ tr.#{$prefix}--expandable-row--hover {
149
+ background-color: $layer-hover;
150
+ }
151
+
152
+ tr.#{$prefix}--expandable-row--hover td {
153
+ border-top: 1px solid $border-subtle;
154
+ border-bottom: 1px solid $border-subtle;
155
+ background-color: $layer-hover;
156
+ color: $text-body-default;
157
+ }
158
+
159
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row.#{$prefix}--expandable-row--hover
160
+ td:first-of-type {
161
+ // First parent td doesn't have visible bottom border
162
+ border-bottom: 1px solid transparent;
163
+ }
164
+
165
+ //----------------------------------------------------------------------------
166
+ // Expand icon column
167
+ //----------------------------------------------------------------------------
168
+ .#{$prefix}--data-table td.#{$prefix}--table-expand {
169
+ border-bottom: 1px solid $border-subtle;
170
+ }
171
+
172
+ .#{$prefix}--data-table
173
+ th.#{$prefix}--table-expand
174
+ + .#{$prefix}--table-column-checkbox,
175
+ .#{$prefix}--data-table
176
+ td.#{$prefix}--table-expand
177
+ + .#{$prefix}--table-column-checkbox {
178
+ padding-right: calcRem(6px);
179
+ padding-left: calcRem(6px);
180
+ }
181
+
182
+ .#{$prefix}--data-table
183
+ th.#{$prefix}--table-expand
184
+ + .#{$prefix}--table-column-checkbox
185
+ + th,
186
+ .#{$prefix}--data-table
187
+ td.#{$prefix}--table-expand
188
+ + .#{$prefix}--table-column-checkbox
189
+ + td {
190
+ padding-left: calcRem(8px);
191
+ }
192
+
193
+ .#{$prefix}--data-table td.#{$prefix}--table-expand,
194
+ .#{$prefix}--data-table th.#{$prefix}--table-expand {
195
+ padding: 0.5rem;
196
+ padding-right: 0;
197
+ }
198
+
199
+ .#{$prefix}--data-table
200
+ td.#{$prefix}--table-expand[data-previous-value="collapsed"] {
201
+ border-bottom: 1px solid transparent;
202
+ }
203
+
204
+ .#{$prefix}--table-expand[data-previous-value="collapsed"]
205
+ .#{$prefix}--table-expand__svg {
206
+ transform: rotate(270deg);
207
+ transition: transform $duration-moderate-01 motion(standard, productive);
208
+ }
209
+
210
+ .#{$prefix}--table-expand__button {
211
+ @include button-reset.reset("false");
212
+
213
+ display: inline-flex;
214
+ width: 100%;
215
+ // Account for the border in `.bx--table-expand`
216
+ height: calc(100% + 1px);
217
+ align-items: center;
218
+ justify-content: center;
219
+ padding: 0 0.5rem;
220
+ vertical-align: inherit;
221
+ }
222
+
223
+ .#{$prefix}--table-expand__button:focus {
224
+ box-shadow: inset 0 0 0 2px $focus;
225
+ outline: none;
226
+ }
227
+
228
+ .#{$prefix}--table-expand__svg {
229
+ fill: $ui-05;
230
+ transform: rotate(90deg);
231
+ transition: transform $duration-moderate-01 motion(standard, productive);
232
+ }
233
+
234
+ // V11: remove tall
235
+ .#{$prefix}--data-table--tall .#{$prefix}--table-expand__button,
236
+ .#{$prefix}--data-table--xl .#{$prefix}--table-expand__button {
237
+ width: calcRem(32px);
238
+ padding: 0;
239
+ }
240
+
241
+ // fix expanded parent separating border length
242
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row
243
+ td.#{$prefix}--table-expand
244
+ + td::after {
245
+ position: absolute;
246
+ bottom: calcRem(-1px);
247
+ left: 0;
248
+ width: calcRem(8px);
249
+ height: calcRem(1px);
250
+ background: $layer-accent;
251
+ content: "";
252
+ }
253
+
254
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row:hover
255
+ td.#{$prefix}--table-expand
256
+ + td::after,
257
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row.#{$prefix}--expandable-row--hover
258
+ td.#{$prefix}--table-expand
259
+ + td::after {
260
+ background: $layer-hover;
261
+ }
262
+
263
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected
264
+ td.#{$prefix}--table-expand
265
+ + td::after {
266
+ display: none;
267
+ }
268
+
269
+ //----------------------------------------------------------------------------
270
+ //ZEBRA
271
+ //----------------------------------------------------------------------------
272
+ .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:nth-child(4n + 3) td,
273
+ .#{$prefix}--data-table--zebra tbody tr[data-child-row]:nth-child(4n + 4) td {
274
+ border-bottom: 1px solid $layer-primary;
275
+ }
276
+
277
+ .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:nth-child(4n + 1) td,
278
+ .#{$prefix}--data-table--zebra tbody tr[data-child-row]:nth-child(4n + 2) td {
279
+ border-top: 1px solid $layer-accent;
280
+ border-bottom: 1px solid $layer-accent;
281
+ background-color: $layer-accent;
282
+ }
283
+
284
+ .#{$prefix}--data-table--zebra tr.#{$prefix}--parent-row td,
285
+ .#{$prefix}--data-table--zebra
286
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row
287
+ + tr[data-child-row]
288
+ td {
289
+ transition: transform $duration-moderate-01 motion(standard, productive),
290
+ border-bottom $duration-moderate-01 motion(standard, productive),
291
+ border-top $duration-moderate-01 motion(standard, productive);
292
+ }
293
+
294
+ .#{$prefix}--data-table--zebra tbody tr[data-parent-row]:hover td,
295
+ .#{$prefix}--data-table--zebra
296
+ tbody
297
+ tr[data-parent-row]:hover
298
+ + tr[data-child-row]
299
+ td,
300
+ .#{$prefix}--data-table--zebra tbody tr[data-child-row]:hover td {
301
+ border-top: 1px solid $layer-hover;
302
+ border-bottom: 1px solid $layer-hover;
303
+ background-color: $layer-hover;
304
+ }
305
+
306
+ .#{$prefix}--data-table--zebra
307
+ tr.#{$prefix}--parent-row.#{$prefix}--expandable-row.#{$prefix}--expandable-row--hover
308
+ td {
309
+ border-top: 1px solid $layer-hover;
310
+ border-bottom: 1px solid $layer-hover;
311
+ background: $layer-hover;
312
+ }
313
+
314
+ //----------------------------------------------------------------------------
315
+ // Selected
316
+ //----------------------------------------------------------------------------
317
+ // Parent collapsed
318
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected:first-of-type td {
319
+ border-top: 1px solid $layer-active;
320
+ border-bottom: 1px solid $border-subtle;
321
+ background: $layer-selected;
322
+ box-shadow: 0 1px $layer-active;
323
+ }
324
+
325
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected td {
326
+ border-bottom: 1px solid transparent;
327
+ background: $layer-selected;
328
+ box-shadow: 0 1px $layer-active;
329
+ color: $text-body-default;
330
+ }
331
+
332
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected:last-of-type td {
333
+ border-bottom: 1px solid transparent;
334
+ background: $layer-selected;
335
+ box-shadow: 0 1px $border-subtle;
336
+ }
337
+
338
+ // Parent collapsed hover
339
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected:not(
340
+ .#{$prefix}--expandable-row
341
+ ):hover
342
+ td {
343
+ border-top: 1px solid $layer-selected-hover;
344
+ border-bottom: 1px solid $border-subtle;
345
+ background: $layer-selected-hover;
346
+ box-shadow: 0 1px $layer-selected-hover;
347
+ }
348
+
349
+ // Parent expanded
350
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row
351
+ td,
352
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row
353
+ td:first-of-type {
354
+ border-bottom: 1px solid transparent;
355
+ // No visible border when expanded
356
+ box-shadow: 0 1px $layer-selected;
357
+ }
358
+
359
+ // Parent expanded hover
360
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
361
+ td,
362
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
363
+ td:first-of-type,
364
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
365
+ td,
366
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
367
+ td:first-of-type {
368
+ border-top: 1px solid $layer-selected-hover;
369
+ border-bottom: 1px solid transparent;
370
+ background: $layer-selected-hover;
371
+ box-shadow: 0 1px $layer-selected-hover;
372
+ }
373
+
374
+ // Child row expanded
375
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row
376
+ + tr[data-child-row]
377
+ td {
378
+ border-top: 1px solid $layer-active;
379
+ border-bottom: 1px solid $border-subtle;
380
+ background-color: $layer-hover;
381
+ box-shadow: 0 1px $layer-active;
382
+ color: $text-body-default;
383
+ }
384
+
385
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row
386
+ + tr[data-child-row]:last-of-type
387
+ td {
388
+ padding-bottom: calcRem(24px);
389
+ box-shadow: inset 0 -1px $layer-active;
390
+ }
391
+
392
+ // Child row expanded hover
393
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row:hover
394
+ + tr[data-child-row]
395
+ td,
396
+ tr.#{$prefix}--parent-row.#{$prefix}--data-table--selected.#{$prefix}--expandable-row--hover
397
+ + tr[data-child-row]
398
+ td {
399
+ background: $layer-selected;
400
+ }
401
+
402
+ // Windows HCM fix
403
+ .#{$prefix}--table-expand__button:focus .#{$prefix}--table-expand__svg {
404
+ @include high-contrast-mode("focus");
405
+ }
406
+
407
+ // stylelint-disable-next-line no-duplicate-selectors
408
+ .#{$prefix}--table-expand__svg {
409
+ @include high-contrast-mode("icon-fill");
410
+ }
411
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright IBM Corp. 2018, 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
+ @forward 'data-table-expandable';
9
+ @use 'data-table-expandable';
10
+
11
+ @include data-table-expandable.data-table-expandable;
@@ -0,0 +1,72 @@
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 "../../../config" as *;
9
+ @use "../../../spacing" as *;
10
+ @use "../../../theme" as *;
11
+ @use "../../../utilities/convert" as *;
12
+ @use "../../../utilities/skeleton" as *;
13
+
14
+ /// Data table skeleton styles
15
+ /// @access public
16
+ /// @group data-table
17
+ @mixin data-table-skeleton {
18
+ .#{$prefix}--data-table.#{$prefix}--skeleton th {
19
+ padding-left: 1rem;
20
+ vertical-align: middle;
21
+ }
22
+
23
+ .#{$prefix}--data-table.#{$prefix}--skeleton th span,
24
+ .#{$prefix}--data-table.#{$prefix}--skeleton td span {
25
+ @include skeleton;
26
+
27
+ display: block;
28
+
29
+ width: calcRem(64px);
30
+ height: calcRem(16px);
31
+ }
32
+
33
+ .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td {
34
+ border-color: $border-subtle;
35
+ background: transparent;
36
+ }
37
+
38
+ .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td:first-of-type,
39
+ .#{$prefix}--data-table.#{$prefix}--skeleton tr:hover td:last-of-type {
40
+ border-color: $border-subtle;
41
+ }
42
+
43
+ .#{$prefix}--data-table.#{$prefix}--skeleton .#{$prefix}--table-sort {
44
+ pointer-events: none;
45
+ }
46
+
47
+ .#{$prefix}--data-table.#{$prefix}--skeleton th span {
48
+ background: $skeleton-element;
49
+ }
50
+
51
+ .#{$prefix}--data-table.#{$prefix}--skeleton th span::before {
52
+ background: $skeleton-background;
53
+ }
54
+
55
+ .#{$prefix}--data-table-container.#{$prefix}--skeleton
56
+ .#{$prefix}--data-table-header__title {
57
+ @include skeleton;
58
+
59
+ width: calcRem(120px);
60
+ height: calcRem(24px);
61
+ }
62
+
63
+ .#{$prefix}--data-table-container.#{$prefix}--skeleton
64
+ .#{$prefix}--data-table-header__description {
65
+ @include skeleton;
66
+
67
+ width: calcRem(160px);
68
+ height: calcRem(16px);
69
+
70
+ margin-top: $spacing-03;
71
+ }
72
+ }
@@ -0,0 +1,11 @@
1
+ //
2
+ // Copyright IBM Corp. 2018, 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
+ @forward 'data-table-skeleton';
9
+ @use 'data-table-skeleton';
10
+
11
+ @include data-table-skeleton.data-table-skeleton;