@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,382 @@
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 "../functions" as *;
10
+ @use "../../../breakpoint" as *;
11
+ @use "../../../config" as *;
12
+ @use "../../../motion" as *;
13
+ @use "../../../theme" as *;
14
+ @use "../../../type" as *;
15
+ @use "../../../utilities/button-reset";
16
+ @use "../../../utilities/convert" as *;
17
+ @use "../../../utilities/z-index" as *;
18
+
19
+ /// UI shell header
20
+ /// @access private
21
+ /// @group ui-shell
22
+ @mixin header {
23
+ .#{$prefix}--header {
24
+ position: fixed;
25
+ z-index: z("header");
26
+ top: 0;
27
+ right: 0;
28
+ left: 0;
29
+ display: flex;
30
+ height: mini-units(6);
31
+ align-items: center;
32
+ border-bottom: 1px solid $border-subtle;
33
+ background-color: $background-main;
34
+ }
35
+
36
+ .#{$prefix}--header__action {
37
+ @include button-reset.reset();
38
+
39
+ width: mini-units(6);
40
+ height: mini-units(6);
41
+ border: calcRem(2px) solid transparent;
42
+ transition: background-color $duration-fast-02,
43
+ border-color $duration-fast-02;
44
+ }
45
+
46
+ .#{$prefix}--header__action
47
+ > svg.#{$prefix}--navigation-menu-panel-collapse-icon,
48
+ .#{$prefix}--header__action--active
49
+ > svg.#{$prefix}--navigation-menu-panel-expand-icon {
50
+ display: none;
51
+ }
52
+
53
+ .#{$prefix}--header__action--active
54
+ > svg.#{$prefix}--navigation-menu-panel-collapse-icon {
55
+ display: inline;
56
+ }
57
+
58
+ .#{$prefix}--header__action:hover {
59
+ background-color: $background-hover;
60
+ }
61
+
62
+ .#{$prefix}--header__action--active {
63
+ border-right: 1px solid $border-subtle;
64
+ border-bottom: 1px solid transparent;
65
+ border-left: 1px solid $border-subtle;
66
+ background: $layer-primary;
67
+ }
68
+
69
+ .#{$prefix}--header__action--active > svg {
70
+ fill: $icon-primary;
71
+ }
72
+
73
+ .#{$prefix}--header__action:focus {
74
+ border-color: $focus;
75
+ outline: none;
76
+ }
77
+
78
+ .#{$prefix}--header__action:active {
79
+ background-color: $background-active;
80
+ }
81
+
82
+ .#{$prefix}--header__action.#{$prefix}--btn--icon-only.#{$prefix}--tooltip__trigger {
83
+ justify-content: center;
84
+ }
85
+
86
+ .#{$prefix}--btn.#{$prefix}--btn--icon-only.#{$prefix}--tooltip__trigger.#{$prefix}--header__action
87
+ svg {
88
+ fill: $icon-secondary;
89
+ }
90
+
91
+ .#{$prefix}--btn.#{$prefix}--btn--icon-only.#{$prefix}--tooltip__trigger.#{$prefix}--header__action:hover
92
+ svg,
93
+ .#{$prefix}--btn.#{$prefix}--btn--icon-only.#{$prefix}--tooltip__trigger.#{$prefix}--header__action:active
94
+ svg,
95
+ .#{$prefix}--btn.#{$prefix}--btn--icon-only.#{$prefix}--tooltip__trigger.#{$prefix}--header__action--active
96
+ svg {
97
+ fill: $icon-primary;
98
+ }
99
+
100
+ .#{$prefix}--header__menu-trigger > svg {
101
+ fill: $icon-primary;
102
+ }
103
+
104
+ .#{$prefix}--header__menu-trigger:hover > svg {
105
+ fill: $icon-primary;
106
+ //TO-DO: ask design if this color changes on hover, missing spec for it
107
+ }
108
+
109
+ .#{$prefix}--header__menu-toggle {
110
+ display: flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+ }
114
+
115
+ .#{$prefix}--header__menu-toggle__hidden {
116
+ @include breakpoint("lg") {
117
+ display: none;
118
+ }
119
+ }
120
+
121
+ //--------------------------------------------------------------------------
122
+ // Header - Name
123
+ //--------------------------------------------------------------------------
124
+ a.#{$prefix}--header__name {
125
+ @include type-style("body-short");
126
+
127
+ display: flex;
128
+ height: 100%;
129
+ align-items: center;
130
+ padding: 0 mini-units(4) 0 mini-units(2);
131
+ border: calcRem(2px) solid transparent;
132
+ font-weight: 600;
133
+ letter-spacing: 0.1px;
134
+ line-height: 1.25rem;
135
+ outline: none;
136
+ text-decoration: none;
137
+ transition: border-color $duration-fast-02;
138
+ user-select: none;
139
+ }
140
+
141
+ a.#{$prefix}--header__name:focus {
142
+ border-color: $focus;
143
+ //TO-DO: follow up with design to see if this is correct, missing focus spec for it
144
+ }
145
+
146
+ .#{$prefix}--header__name--prefix {
147
+ font-weight: 400;
148
+ }
149
+
150
+ a.#{$prefix}--header__name,
151
+ a.#{$prefix}--header__name:hover {
152
+ color: $text-body-default;
153
+ }
154
+
155
+ .#{$prefix}--header__menu-toggle:not(.#{$prefix}--header__menu-toggle__hidden)
156
+ ~ .#{$prefix}--header__name {
157
+ padding-left: calcRem(8px);
158
+ }
159
+
160
+ //--------------------------------------------------------------------------
161
+ // Header - Navigation
162
+ //--------------------------------------------------------------------------
163
+ .#{$prefix}--header__nav {
164
+ position: relative;
165
+ display: none;
166
+ height: 100%;
167
+ padding-left: mini-units(2);
168
+
169
+ @include breakpoint("lg") {
170
+ display: block;
171
+ }
172
+
173
+ // header nav divider
174
+ &::before {
175
+ position: absolute;
176
+ top: 50%;
177
+ left: 0;
178
+ display: block;
179
+ width: calcRem(1px);
180
+ height: calcRem(24px);
181
+ background-color: $border-subtle;
182
+ content: "";
183
+ transform: translateY(-50%);
184
+ }
185
+ }
186
+
187
+ .#{$prefix}--header__menu-bar {
188
+ display: flex;
189
+ height: 100%;
190
+ padding: 0;
191
+ margin: 0;
192
+ list-style: none;
193
+ }
194
+
195
+ a.#{$prefix}--header__menu-item {
196
+ position: relative;
197
+ display: flex;
198
+ // Used for links that are directly in the menubar to span the full height
199
+ height: 100%;
200
+ align-items: center;
201
+ padding: 0 mini-units(2);
202
+ // Used for focus styles
203
+ border: 2px solid transparent;
204
+ background-color: $background-main;
205
+ color: $text-body-secondary;
206
+ // Text styles
207
+ font-size: calcRem(14px);
208
+ font-weight: 400;
209
+ letter-spacing: 0;
210
+ line-height: 1.125rem;
211
+ // Reset link styles and make sure the text isn't selectable
212
+ text-decoration: none;
213
+ transition: background-color $duration-fast-02,
214
+ border-color $duration-fast-02, color $duration-fast-02;
215
+ user-select: none;
216
+ }
217
+
218
+ a.#{$prefix}--header__menu-item:hover {
219
+ background-color: $background-hover;
220
+ color: $text-body-default;
221
+ }
222
+
223
+ .#{$prefix}--header__action:active,
224
+ a.#{$prefix}--header__menu-item:active {
225
+ background-color: $background-active;
226
+ color: $text-body-default;
227
+ }
228
+
229
+ a.#{$prefix}--header__menu-item:focus {
230
+ border-color: $focus;
231
+ outline: none;
232
+ }
233
+
234
+ a.#{$prefix}--header__menu-item:hover > svg,
235
+ a.#{$prefix}--header__menu-item:active > svg {
236
+ fill: $icon-primary;
237
+ }
238
+
239
+ // Styles for selected state
240
+
241
+ a.#{$prefix}--header__menu-item[aria-current="page"],
242
+ .#{$prefix}--header__menu-item--current {
243
+ color: $text-body-default;
244
+ }
245
+
246
+ a.#{$prefix}--header__menu-item[aria-current="page"]::after,
247
+ .#{$prefix}--header__menu-item--current::after {
248
+ position: absolute;
249
+ top: 0;
250
+ right: 0;
251
+ bottom: -2px;
252
+ left: 0;
253
+ width: 100%;
254
+ border-bottom: 3px solid $border-interactive;
255
+ content: "";
256
+ }
257
+
258
+ a.#{$prefix}--header__menu-item[aria-current="page"]:focus::after,
259
+ .#{$prefix}--header__menu-item--current:focus::after {
260
+ border: 0;
261
+ }
262
+
263
+ a.#{$prefix}--header__menu-item[aria-current="page"]:focus,
264
+ a.#{$prefix}--header__menu-item.#{$prefix}--header__menu-item--current:focus {
265
+ border: 2px solid $focus;
266
+ }
267
+
268
+ .#{$prefix}--header__submenu {
269
+ position: relative;
270
+ }
271
+
272
+ .#{$prefix}--header__menu-title[aria-haspopup="true"] {
273
+ position: relative;
274
+ }
275
+
276
+ .#{$prefix}--header__menu-title[aria-expanded="true"] {
277
+ // Note: needs to be higher than menu. Adding 1 here instead of moving to
278
+ // the next level.
279
+ z-index: #{z("header") + 1};
280
+ background-color: $layer-primary;
281
+ color: $text-body-secondary;
282
+ }
283
+
284
+ .#{$prefix}--header__menu-title[aria-expanded="true"]
285
+ > .#{$prefix}--header__menu-arrow {
286
+ transform: rotate(180deg);
287
+ }
288
+
289
+ .#{$prefix}--header__menu {
290
+ display: none;
291
+ padding: 0;
292
+ margin: 0;
293
+ list-style: none;
294
+ }
295
+
296
+ .#{$prefix}--header__menu-title[aria-expanded="true"]
297
+ + .#{$prefix}--header__menu {
298
+ position: absolute;
299
+ z-index: z("header");
300
+ bottom: 0;
301
+ left: 0;
302
+ display: flex;
303
+ width: mini-units(25);
304
+ flex-direction: column;
305
+ background-color: $layer-primary;
306
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.5);
307
+ transform: translateY(100%);
308
+ }
309
+
310
+ .#{$prefix}--header__menu-title[aria-expanded="true"]
311
+ + .#{$prefix}--header__menu
312
+ .#{$prefix}--header__menu-item {
313
+ background-color: $layer-primary;
314
+ }
315
+
316
+ .#{$prefix}--header__menu-title[aria-expanded="true"]
317
+ + .#{$prefix}--header__menu
318
+ .#{$prefix}--header__menu-item:hover {
319
+ background-color: $layer-hover;
320
+ color: $text-body-default;
321
+ }
322
+
323
+ .#{$prefix}--header__menu-title[aria-expanded="true"]
324
+ + .#{$prefix}--header__menu
325
+ .#{$prefix}--header__menu-item:active {
326
+ background-color: $layer-active;
327
+ color: $text-body-default;
328
+ }
329
+
330
+ .#{$prefix}--header__menu .#{$prefix}--header__menu-item {
331
+ height: mini-units(6);
332
+ }
333
+
334
+ .#{$prefix}--header__menu-arrow {
335
+ margin-left: mini-units(1);
336
+ fill: $icon-secondary;
337
+ transition: transform $duration-fast-02, fill $duration-fast-02;
338
+ }
339
+
340
+ //--------------------------------------------------------------------------
341
+ // Header - Global
342
+ //--------------------------------------------------------------------------
343
+ .#{$prefix}--header__global {
344
+ display: flex;
345
+ height: 100%;
346
+ flex: 1 1 0%;
347
+ justify-content: flex-end;
348
+ }
349
+
350
+ //--------------------------------------------------------------------------
351
+ // Header - Skip to content
352
+ //--------------------------------------------------------------------------
353
+ .#{$prefix}--skip-to-content {
354
+ position: absolute;
355
+ overflow: hidden;
356
+ width: 1px;
357
+ height: 1px;
358
+ padding: 0;
359
+ border: 0;
360
+ margin: -1px;
361
+ clip: rect(0, 0, 0, 0);
362
+ visibility: inherit;
363
+ white-space: nowrap;
364
+ }
365
+
366
+ .#{$prefix}--skip-to-content:focus {
367
+ z-index: 9999;
368
+ top: 0;
369
+ left: 0;
370
+ display: flex;
371
+ width: auto;
372
+ height: 3rem;
373
+ align-items: center;
374
+ padding: 0 1rem;
375
+ border: 4px solid $focus;
376
+ background-color: $background-main;
377
+ clip: auto;
378
+ color: $text-body-secondary;
379
+ //TO-DO: double check with design that these tokens are correct, missing spec for it
380
+ outline: none;
381
+ }
382
+ }
@@ -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 'header';
9
+ @use 'header';
10
+
11
+ @include header.header;
@@ -0,0 +1,41 @@
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 "../functions" as *;
9
+ @use "../../../config" as *;
10
+ @use "../../../motion" as *;
11
+ @use "../../../theme" as *;
12
+ @use "../../../utilities/z-index" as *;
13
+
14
+ /// UI shell side nav
15
+ /// @access private
16
+ /// @group ui-shell
17
+ @mixin header-panel {
18
+ //----------------------------------------------------------------------------
19
+ // Header Panel
20
+ //----------------------------------------------------------------------------
21
+ .#{$prefix}--header-panel {
22
+ position: fixed;
23
+ z-index: z("header");
24
+ top: mini-units(6);
25
+ right: 0;
26
+ bottom: 0;
27
+ overflow: hidden;
28
+ width: 0;
29
+ border: none;
30
+ background-color: $layer-primary;
31
+ color: $text-body-secondary;
32
+ transition: width $duration-fast-02 motion(exit, productive);
33
+ will-change: width;
34
+ }
35
+
36
+ .#{$prefix}--header-panel--expanded {
37
+ width: mini-units(32);
38
+ border-right: 1px solid $border-subtle;
39
+ border-left: 1px solid $border-subtle;
40
+ }
41
+ }
@@ -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 'header-panel';
9
+ @use 'header-panel';
10
+
11
+ @include header-panel.header-panel;
@@ -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 'side-nav';
9
+ @use 'side-nav';
10
+
11
+ @include side-nav.side-nav;