@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,39 @@
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 '../../motion';
9
+
10
+ @mixin spin {
11
+ // Animate the container
12
+ animation-duration: 690ms;
13
+ animation-fill-mode: forwards;
14
+ animation-iteration-count: infinite;
15
+ animation-name: rotate;
16
+ animation-timing-function: linear;
17
+
18
+ // Animate the stroke
19
+ svg circle {
20
+ animation-duration: 10ms;
21
+ animation-name: init-stroke;
22
+ animation-timing-function: motion.$standard-easing;
23
+ }
24
+ }
25
+
26
+ @mixin stop {
27
+ // Animate the container
28
+ animation: rotate-end-p1 700ms motion.$ease-out forwards,
29
+ rotate-end-p2 700ms motion.$ease-out 700ms forwards;
30
+
31
+ // Animate the stroke
32
+ svg circle {
33
+ animation-delay: 700ms;
34
+ animation-duration: 700ms;
35
+ animation-fill-mode: forwards;
36
+ animation-name: stroke-end;
37
+ animation-timing-function: motion.$ease-out;
38
+ }
39
+ }
@@ -0,0 +1,10 @@
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
+ @function loading-progress($circumference, $percentage) {
9
+ @return $circumference - $percentage * 0.01 * $circumference;
10
+ }
@@ -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 'loading';
9
+ @use 'loading';
10
+
11
+ @include loading.loading;
@@ -0,0 +1,48 @@
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
+ @import './vars';
9
+
10
+ @keyframes rotate {
11
+ 0% {
12
+ transform: rotate(0deg);
13
+ }
14
+ 100% {
15
+ transform: rotate(360deg);
16
+ }
17
+ }
18
+
19
+ @keyframes rotate-end-p1 {
20
+ 100% {
21
+ transform: rotate(360deg);
22
+ }
23
+ }
24
+
25
+ @keyframes rotate-end-p2 {
26
+ 100% {
27
+ transform: rotate(-360deg);
28
+ }
29
+ }
30
+
31
+ /* Stroke animations */
32
+ @keyframes init-stroke {
33
+ 0% {
34
+ stroke-dashoffset: 240;
35
+ }
36
+ 100% {
37
+ stroke-dashoffset: $loading-gap;
38
+ }
39
+ }
40
+
41
+ @keyframes stroke-end {
42
+ 0% {
43
+ stroke-dashoffset: $loading-gap;
44
+ }
45
+ 100% {
46
+ stroke-dashoffset: 240;
47
+ }
48
+ }
@@ -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 "../../motion" as *;
10
+ @use "../../spacing" as *;
11
+ @use "../../theme" as *;
12
+ @use "../../utilities/component-reset";
13
+ @use "../../utilities/convert";
14
+ @use "../../utilities/z-index" as *;
15
+ @use "./vars" as *;
16
+ @use "./keyframes";
17
+ @use "./mixins" as *;
18
+
19
+ /// Loading styles
20
+ /// @access private
21
+ /// @group loading
22
+
23
+ @mixin loading {
24
+ .#{$prefix}--loading {
25
+ @include component-reset.reset;
26
+ @include animation__loading--spin;
27
+ width: $loading-size;
28
+ height: $loading-size;
29
+ }
30
+
31
+ // Animation (Spin by default)
32
+ .#{$prefix}--loading__svg {
33
+ fill: transparent;
34
+ stroke: $action-default-fill-primary-default;
35
+ stroke-width: 7;
36
+ stroke-linecap: butt;
37
+ stroke-dasharray: 240;
38
+ stroke-dashoffset: $loading-gap;
39
+ }
40
+
41
+ .#{$prefix}--loading--stop {
42
+ @include animation__loading--stop;
43
+ }
44
+
45
+ .#{$prefix}--loading--small {
46
+ width: 2rem;
47
+ height: 2rem;
48
+
49
+ .#{$prefix}--loading__svg {
50
+ stroke: $action-default-fill-primary-default;
51
+ }
52
+ }
53
+
54
+ .#{$prefix}--loading-overlay {
55
+ position: fixed;
56
+ top: 0;
57
+ left: 0;
58
+ height: 100%;
59
+ width: 100%;
60
+ background-color: $background-main; //rgba(255, 255, 255, 0.8); TODO: replace with token
61
+ display: flex;
62
+ justify-content: center;
63
+ align-items: center;
64
+ transition: background-color 1000ms $standard-easing;
65
+ z-index: z("overlay");
66
+ }
67
+
68
+ .#{$prefix}--loading-overlay--stop {
69
+ display: none;
70
+ }
71
+ }
72
+ @include loading;
@@ -0,0 +1,42 @@
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
+ //-------------------------
9
+ // Animations - Loading
10
+ //-------------------------
11
+ @use '../../motion';
12
+
13
+ @mixin animation__loading--spin {
14
+ // Animate the container
15
+ animation-name: rotate;
16
+ animation-duration: 690ms;
17
+ animation-timing-function: linear;
18
+ animation-fill-mode: forwards;
19
+ animation-iteration-count: infinite;
20
+
21
+ // Animate the stroke
22
+ & svg circle {
23
+ animation-name: init-stroke;
24
+ animation-duration: 1000ms;
25
+ animation-timing-function: motion.$standard-easing;
26
+ }
27
+ }
28
+
29
+ @mixin animation__loading--stop {
30
+ // Animate the container
31
+ animation: rotate-end-p1 700ms motion.$ease-out forwards,
32
+ rotate-end-p2 700ms motion.$ease-out 700ms forwards;
33
+
34
+ // Animate the stroke
35
+ & svg circle {
36
+ animation-name: stroke-end;
37
+ animation-duration: 700ms;
38
+ animation-timing-function: motion.$ease-out;
39
+ animation-delay: 700ms;
40
+ animation-fill-mode: forwards;
41
+ }
42
+ }
@@ -0,0 +1,26 @@
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
+ /// @type Number
9
+ /// @access private
10
+ /// @group loading
11
+ $radius: 44;
12
+
13
+ /// @type Number
14
+ /// @access private
15
+ /// @group loading
16
+ $circumference: $radius * 2 * 3.1416;
17
+
18
+ /// @type Number
19
+ /// @access private
20
+ /// @group loading
21
+ $loading-size: 5.5rem;
22
+
23
+ /// @type Number
24
+ /// @access private
25
+ /// @group loading
26
+ $loading-gap: 40;
@@ -0,0 +1,14 @@
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 'main-navigation';
9
+ @forward 'main-navigation_external';
10
+ @use 'main-navigation';
11
+ @use 'main-navigation_external';
12
+
13
+ @include main-navigation.main-navigation;
14
+ @include main-navigation_external.main-navigation_external;
@@ -0,0 +1,360 @@
1
+ @use "../../config" as *;
2
+ @use "../../theme" as *;
3
+ @use "../../type" as *;
4
+ @use "../../breakpoint" as *;
5
+ @use "../../spacing" as *;
6
+ @use "../../motion" as *;
7
+ @use "../../utilities/box-shadow" as *;
8
+ @use "../../utilities/component-reset";
9
+ @use "../../utilities/convert" as *;
10
+ @use "../../utilities/focus-outline" as *;
11
+ @use "../../utilities/rtl" as *;
12
+ @use "../../utilities/high-contrast-mode" as *;
13
+ @use "../../utilities/z-index" as *;
14
+
15
+ @import "../form";
16
+
17
+ /// @type Number
18
+ /// @access public
19
+ /// @group main-navigation
20
+ $main-navigation-width: 100%;
21
+
22
+ /// @type Number
23
+ /// @access public
24
+ /// @group main-navigation
25
+ $main-navigation-height: calcRem(60px);
26
+
27
+ /// @type Number
28
+ /// @access public
29
+ /// @group main-navigation
30
+ $main-navigation-inline-height: $main-navigation-height;
31
+
32
+ /// @type Number
33
+ /// @access public
34
+ /// @group main-navigation
35
+ $main-navigation-menu-width: calcRem(300px);
36
+
37
+ /// List box styles
38
+ /// @access public
39
+ /// @group main-navigation
40
+ @mixin main-navigation {
41
+ .#{$prefix}--main-navigation {
42
+ color: $action-default-link-default;
43
+ background: $background-main;
44
+ height: $main-navigation-height;
45
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
46
+ @include reset;
47
+ @media print {
48
+ display: none;
49
+ }
50
+ // @include font-smoothing;
51
+ }
52
+
53
+ .#{$prefix}--main-navigation--line {
54
+ border-top: 12px solid #0d295c;
55
+ }
56
+
57
+ .#{$prefix}--main-navigation__sub {
58
+ display: none;
59
+ }
60
+
61
+ .#{$prefix}--main-navigation {
62
+ .#{$prefix}--main-navigation__trigger {
63
+ color: $action-default-link-default;
64
+ cursor: pointer;
65
+ user-select: none;
66
+ display: flex;
67
+ align-items: center;
68
+ @include breakpoint-down("md") {
69
+ width: 100%;
70
+ justify-content: space-between;
71
+ }
72
+ // justify-content: center; // TODO: Check if needed
73
+ white-space: nowrap;
74
+
75
+ > a {
76
+ color: $action-default-link-default; // TODO change to $link_on_color token
77
+ @include type-style("body-short-02");
78
+ text-decoration: none;
79
+ &.active {
80
+ border-bottom: 3px solid rgba(var(--ui-01), 0.5);
81
+ }
82
+ &:hover,
83
+ &:visited,
84
+ &:active {
85
+ color: $action-default-link-default;
86
+ text-decoration: underline;
87
+ }
88
+ &:focus {
89
+ color: $action-default-link-default;
90
+ }
91
+ }
92
+ }
93
+ }
94
+
95
+ .#{$prefix}--main-navigation__trigger--has-sub {
96
+ display: flex;
97
+ align-items: center;
98
+ > div,
99
+ > a,
100
+ > span {
101
+ white-space: nowrap;
102
+ // padding-left: 0.3em;
103
+ // padding-right: 0.3em;
104
+ }
105
+ }
106
+
107
+ .#{$prefix}--main-navigation__trigger__icon {
108
+ display: inline-block;
109
+ position: relative;
110
+ top: calcRem(0px);
111
+ //vertical-align: middle;
112
+ margin-left: 0.3em;
113
+ font-size: 0.8em;
114
+ margin-right: $spacing-05;
115
+ flex-shrink: 0;
116
+
117
+ @include rtl {
118
+ margin-left: 0;
119
+ margin-right: 0.3em;
120
+ }
121
+ }
122
+
123
+ .#{$prefix}--main-navigation__trigger--has-sub.#{$prefix}--main-navigation__trigger--open {
124
+ .#{$prefix}--main-navigation__trigger__icon {
125
+ //top: calcRem(0px);
126
+ //transform: scale(1.1);
127
+ }
128
+ }
129
+
130
+ .#{$prefix}--main-navigation__logo {
131
+ a {
132
+ color: $action-default-link-default;
133
+ text-decoration: none;
134
+ text-transform: uppercase;
135
+ &:hover,
136
+ &:visited,
137
+ &:active {
138
+ color: $action-default-link-default;
139
+ text-decoration: underline;
140
+ }
141
+ &:focus {
142
+ color: $text-body-default;
143
+ }
144
+ }
145
+ }
146
+
147
+ @include breakpoint-down("md") {
148
+ .#{$prefix}--main-navigation__wrapper {
149
+ padding: 0;
150
+ }
151
+ }
152
+
153
+ .#{$prefix}--main-navigation__logo__default {
154
+ display: flex;
155
+ height: 100%;
156
+ align-items: center;
157
+ .#{$prefix}--main-navigation__logo__default__ribbon {
158
+ background: $brand-main;
159
+ align-self: flex-start;
160
+ margin-right: 0.5em;
161
+ width: 3.1rem;
162
+ @include breakpoint-up("md") {
163
+ width: 4.7rem;
164
+ }
165
+ //position: absolute;
166
+ //top: 0;
167
+ z-index: 100000;
168
+ padding: 0.3em 0em;
169
+ }
170
+
171
+ svg {
172
+ margin: 0 -0.2em;
173
+ width: calc(100% + 0.4em);
174
+ height: auto;
175
+ fill: $brand-inverse; // TODO: Always use color instead
176
+ }
177
+ }
178
+ .#{$prefix}--main-navigation__logo-wrapper {
179
+ // display: flex;
180
+ align-self: flex-start;
181
+ height: 100%;
182
+ flex-grow: 1;
183
+ }
184
+
185
+ .#{$prefix}--main-navigation__logo {
186
+ display: flex;
187
+ flex-grow: 1;
188
+ font-weight: 600;
189
+ white-space: nowrap;
190
+ height: 100%;
191
+ }
192
+
193
+ .#{$prefix}--main-navigation__wrapper {
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: space-between;
197
+ position: relative;
198
+ height: 100%;
199
+ width: 100%;
200
+ }
201
+
202
+ .#{$prefix}--main-navigation__button {
203
+ display: none !important;
204
+ @include breakpoint-down("md") {
205
+ display: block !important;
206
+ }
207
+ }
208
+
209
+ .#{$prefix}--main-navigation--line {
210
+ .#{$prefix}--main-navigation__logo__default__ribbon {
211
+ margin-top: -12px;
212
+ }
213
+ }
214
+
215
+ .#{$prefix}--main-navigation__logo__offShelf {
216
+ margin-right: 0.5em;
217
+ height: $main-navigation-height;
218
+ display: flex;
219
+ align-items: center;
220
+ justify-content: center;
221
+ //padding: 0.5em 0em;
222
+ svg {
223
+ font-size: 6.5em;
224
+ fill: $brand-main; // TODO: Always use color instead
225
+ }
226
+ }
227
+ .#{$prefix}--main-navigation__list {
228
+ display: flex;
229
+ justify-content: flex-end;
230
+ height: calcRem(55px);
231
+ align-items: center;
232
+ }
233
+
234
+ .#{$prefix}--main-navigation__item {
235
+ @include breakpoint-down("md") {
236
+ width: 100%;
237
+ }
238
+ @include breakpoint-up("md") {
239
+ padding: 0 $spacing-04;
240
+ }
241
+ @include type-style("body-short-02");
242
+ @include font-family("sans");
243
+ font-weight: 600;
244
+
245
+ &:last-child {
246
+ padding-right: 0;
247
+ }
248
+
249
+ // Relate the sub navigation dropdown to the parent navigation item
250
+ &.#{$prefix}--content-width {
251
+ position: relative;
252
+
253
+ // Get the width from its navigation content
254
+ & > .#{$prefix}--main-navigation__sub--open {
255
+ left: inherit;
256
+ min-width: 100%;
257
+ right: 0;
258
+ top: 2.5rem;
259
+ width: auto;
260
+ }
261
+ }
262
+ }
263
+
264
+ .#{$prefix}--main-navigation__sub--open {
265
+ display: block;
266
+ color: $text-body-default;
267
+ background: $background-main;
268
+ }
269
+
270
+ @include breakpoint-down("md") {
271
+ .#{$prefix}--main-navigation__sub--open {
272
+ background: $layer-primary;
273
+ }
274
+ }
275
+ @include breakpoint-up("md") {
276
+ .#{$prefix}--main-navigation__sub--open {
277
+ display: block;
278
+ position: absolute;
279
+ top: calcRem(55px);
280
+ right: 0;
281
+ width: 80%;
282
+ max-height: 80vh;
283
+ overflow: auto;
284
+ overflow-x: hidden;
285
+ z-index: z("modal");
286
+ color: $text-body-default; // TODO: Replace
287
+ background: $background-main;
288
+ box-shadow: rgba(desaturate(#0b77c2, 50%), 0.15) 0 3px 12px,
289
+ //TODO - convert raw color hex into color token in figma
290
+ rgba(desaturate(#0b77c2, 40%), 0.15) 0 32px 78px;
291
+ .#{$prefix}--theme-dark & {
292
+ box-shadow: var(--modal-background-01) 0 3px 12px,
293
+ //TODO - create token for this color
294
+ var(--modal-background-01) 0 32px 78px;
295
+ }
296
+ .#{$prefix}--main-navigation__user & {
297
+ left: inherit;
298
+ right: 0;
299
+ width: 25%;
300
+ min-width: 250px;
301
+ @include rtl {
302
+ left: 0;
303
+ right: inherit;
304
+ }
305
+ }
306
+ }
307
+ .#{$prefix}--main-navigation__sub--callout {
308
+ left: inherit;
309
+ right: inherit;
310
+ width: inherit;
311
+ margin-left: -0.9em;
312
+ }
313
+ }
314
+
315
+ .#{$prefix}--main-navigation__logo-wrapper {
316
+ display: flex;
317
+ align-items: center;
318
+ height: 100%;
319
+ // height: calcRem(55px);
320
+ flex-direction: row-reverse;
321
+ justify-content: space-between;
322
+ // padding: 0 $spacing-03 0 $spacing-05;
323
+ }
324
+
325
+ @include breakpoint-down("md") {
326
+ .#{$prefix}--main-navigation__logo {
327
+ font-weight: 600;
328
+ }
329
+
330
+ .#{$prefix}--main-navigation__list {
331
+ display: none;
332
+ background: $background-main;
333
+ }
334
+
335
+ .#{$prefix}--main-navigation__list--open {
336
+ position: absolute;
337
+ top: calcRem(61px);
338
+ left: 0;
339
+ right: 0;
340
+ display: flex;
341
+ width: 100%;
342
+ height: auto;
343
+ flex-direction: column;
344
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
345
+ }
346
+
347
+ .#{$prefix}--main-navigation__trigger {
348
+ justify-content: flex-start;
349
+
350
+ > :nth-child(1) {
351
+ // display: block;
352
+ // width: 100%;
353
+ padding: $spacing-05 1em;
354
+ }
355
+ // padding: $spacing-05 1em;
356
+ //background-color: #005e8d; // TODO create a token for this color
357
+ //border-bottom: 1px solid lighten(#085387, 5); //TODO create color in figma
358
+ }
359
+ }
360
+ }