@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,171 @@
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 "../../type" as *;
12
+ @use "../../theme" as *;
13
+ @use "../../utilities/button-reset";
14
+ @use "../../utilities/convert" as *;
15
+ @use "../../utilities/focus-outline" as *;
16
+ @use "../../utilities/high-contrast-mode" as *;
17
+ @use "../../utilities/visually-hidden" as *;
18
+ @use "mixins" as *;
19
+
20
+ /// Pagination nav base styles
21
+ /// @access public
22
+ /// @group pagination-nav
23
+ /// @param {Color} $text-color [$text-02]
24
+ /// @param {Color} $text-color-active [$text-02]
25
+ /// @param {Color} $background-color-hover [$hover-ui]
26
+ /// @param {Color} $background-color-active [initial]
27
+ /// @param {Number} $font-weight [400]
28
+ /// @param {Number} $item-padding [0]
29
+ /// @param {Number} $button-min-width [$spacing-09]
30
+ /// @param {Value} $button-padding [1.0625rem $spacing-02]
31
+ /// @param {Number} $button-direction-size [$spacing-09]
32
+ /// @param {Number} $select-icon-top-position [$spacing-05]
33
+ /// @param {Number} $select-icon-left-position [$spacing-05]
34
+ @mixin pagination-nav(
35
+ $color: $text-body-secondary,
36
+ $text-color-active: $text-body-secondary,
37
+ $background-color-hover: $background-hover,
38
+ $background-color-active: initial,
39
+ $font-weight: 400,
40
+ $item-padding: 0,
41
+ $button-min-width: $spacing-09,
42
+ $button-padding: 1.0625rem $spacing-02,
43
+ $button-direction-size: $spacing-09,
44
+ $select-icon-top-position: $spacing-05,
45
+ $select-icon-left-position: $spacing-05
46
+ ) {
47
+ .#{$prefix}--pagination-nav {
48
+ @include reset;
49
+ @include type-style("body-short");
50
+
51
+ line-height: 0;
52
+ }
53
+
54
+ .#{$prefix}--pagination-nav__list {
55
+ display: flex;
56
+ align-items: center;
57
+ list-style: none;
58
+ }
59
+
60
+ .#{$prefix}--pagination-nav__list-item {
61
+ padding: $item-padding;
62
+
63
+ &:first-child {
64
+ padding-left: 0;
65
+ }
66
+
67
+ &:last-child {
68
+ padding-right: 0;
69
+ }
70
+ }
71
+
72
+ .#{$prefix}--pagination-nav__page {
73
+ @include type-style("body-short");
74
+ @include button-reset.reset($width: false);
75
+
76
+ position: relative;
77
+ display: block;
78
+ min-width: $button-min-width;
79
+ padding: $button-padding;
80
+ border-radius: 0;
81
+ color: $text-body-secondary;
82
+ font-weight: $font-weight;
83
+ line-height: 1;
84
+ outline: 0;
85
+ text-align: center;
86
+ text-decoration: none;
87
+ transition: background-color $duration-fast-02 motion(standard, productive),
88
+ color $duration-fast-02 motion(standard, productive);
89
+ user-select: none;
90
+
91
+ &:hover {
92
+ background-color: $background-color-hover;
93
+ color: $text-body-secondary;
94
+ }
95
+
96
+ &:focus {
97
+ @include focus-outline("outline");
98
+ }
99
+
100
+ &:disabled,
101
+ &.#{$prefix}--pagination-nav__page--disabled {
102
+ background: none;
103
+ color: rgba($text-body-secondary, 0.5);
104
+ outline: none;
105
+ pointer-events: none;
106
+ }
107
+
108
+ @include pseudo-underline();
109
+
110
+ &.#{$prefix}--pagination-nav__page--active {
111
+ background-color: $background-color-active;
112
+ color: $text-color-active;
113
+ font-weight: 600;
114
+ }
115
+
116
+ .#{$prefix}--pagination-nav__icon {
117
+ fill: currentColor;
118
+ pointer-events: none;
119
+ }
120
+ }
121
+
122
+ .#{$prefix}--pagination-nav__page--direction {
123
+ display: flex;
124
+ width: $button-direction-size;
125
+ height: $button-direction-size;
126
+ align-items: center;
127
+ justify-content: center;
128
+ line-height: 0;
129
+ }
130
+
131
+ .#{$prefix}--pagination-nav__select {
132
+ position: relative;
133
+ }
134
+
135
+ .#{$prefix}--pagination-nav__page--select {
136
+ max-height: $button-min-width;
137
+ appearance: none;
138
+ text-indent: calc(50% - 4.5px);
139
+ // Override some Firefox user-agent styles
140
+ @-moz-document url-prefix() {
141
+ text-indent: 0;
142
+ }
143
+ }
144
+
145
+ .#{$prefix}--pagination-nav__select-icon-wrapper {
146
+ position: absolute;
147
+ top: 0;
148
+ width: 100%;
149
+ height: 100%;
150
+ pointer-events: none;
151
+
152
+ @include pseudo-underline();
153
+
154
+ .#{$prefix}--pagination-nav__page--active + & {
155
+ .#{$prefix}--pagination-nav__select-icon {
156
+ display: none;
157
+ }
158
+ }
159
+ }
160
+
161
+ .#{$prefix}--pagination-nav__select-icon {
162
+ position: absolute;
163
+ top: calc(50% - #{$select-icon-top-position * 0.5});
164
+ left: calc(50% - #{$select-icon-top-position * 0.5});
165
+ pointer-events: none;
166
+ }
167
+
168
+ .#{$prefix}--pagination-nav__accessibility-label {
169
+ @include visually-hidden;
170
+ }
171
+ }
@@ -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 'popover';
9
+ @use 'popover';
10
+
11
+ @include popover.popover;
@@ -0,0 +1,323 @@
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 "../../theme" as *;
9
+ @use "../../config" as *;
10
+ @use "../../theme" as *;
11
+ @use "../../utilities/box-shadow" as *;
12
+ @use "../../utilities/high-contrast-mode" as *;
13
+ @use "../../utilities/focus-outline" as *;
14
+ @use "../../utilities/" as *;
15
+ @use "../../utilities/convert" as *;
16
+
17
+ /// Popover component
18
+ /// @access private
19
+ /// @group components
20
+ @mixin popover {
21
+ $popover-text-color: $text-01;
22
+ $popover-caret-offset: 1rem;
23
+ $popover-offset: 8px;
24
+
25
+ .#{$prefix}--popover {
26
+ // Specify the distance between the popover and the trigger. This value must
27
+ // have a unit otherwise the `calc()` expression will not work
28
+ // stylelint-disable-next-line length-zero-no-unit
29
+ --cds-popover-offset: 0rem;
30
+
31
+ // Specify the distance that the caret should be offset from the side of the
32
+ // popover when not centered
33
+ --cds-popover-caret-offset: 1rem;
34
+
35
+ position: absolute;
36
+ z-index: z("floating");
37
+ display: none;
38
+ }
39
+
40
+ // We use a pseudo element inside of the popover to create a space between the
41
+ // target and the popover. This helps in situations like tooltips where you do
42
+ // not want the tooltip to disappear when the user moves from the target to
43
+ // the popover.
44
+ .#{$prefix}--popover::before {
45
+ position: absolute;
46
+ display: block;
47
+ content: "";
48
+ }
49
+
50
+ .#{$prefix}--popover--open {
51
+ display: block;
52
+ }
53
+
54
+ .#{$prefix}--popover-contents {
55
+ @include box-shadow;
56
+
57
+ position: relative;
58
+ width: max-content;
59
+ max-width: calcRem(368px);
60
+ background-color: $ui-01;
61
+ border-radius: 2px;
62
+ color: $popover-text-color;
63
+ }
64
+
65
+ .#{$prefix}--popover--light .#{$prefix}--popover-contents {
66
+ background-color: $background-main;
67
+ }
68
+
69
+ .#{$prefix}--popover--high-contrast .#{$prefix}--popover-contents {
70
+ background-color: $background-inverse;
71
+ color: $icon-inverse;
72
+ }
73
+
74
+ .#{$prefix}--popover--caret {
75
+ --cds-popover-offset: 0.5rem;
76
+ }
77
+
78
+ .#{$prefix}--popover--caret .#{$prefix}--popover-contents::before,
79
+ .#{$prefix}--popover--caret .#{$prefix}--popover-contents::after {
80
+ position: absolute;
81
+ display: inline-block;
82
+ width: calcRem(8px);
83
+ height: calcRem(8px);
84
+ background-color: inherit;
85
+ content: "";
86
+ }
87
+
88
+ .#{$prefix}--popover--caret .#{$prefix}--popover-contents::before {
89
+ z-index: -1;
90
+ box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.2);
91
+ }
92
+
93
+ // The popover's tooltip is created by drawing two 8px x 8px boxes, one for
94
+ // rendering the box-shadow that the popover content uses and another for
95
+ // layering on top of this box to create an effect of a popover caret with a
96
+ // box-shadow. The layer with the box-shadow is rendered behind the popover
97
+ // content, while the other is rendered above of the popover content.
98
+
99
+ //-----------------------------------------------------------------------------
100
+ // Bottom
101
+ //-----------------------------------------------------------------------------
102
+ .#{$prefix}--popover--bottom {
103
+ bottom: 0;
104
+ left: 50%;
105
+ transform: translate(-50%, calc(100% + var(--cds-popover-offset)));
106
+ }
107
+
108
+ @include place-caret(bottom) {
109
+ top: 0;
110
+ left: 50%;
111
+ transform: translate(-50%, -50%) rotate(45deg);
112
+ }
113
+
114
+ // Bottom left
115
+ .#{$prefix}--popover--bottom-left {
116
+ bottom: 0;
117
+ left: 0;
118
+ transform: translateY(calc(100% + var(--cds-popover-offset)));
119
+ }
120
+
121
+ @include place-caret(bottom-left) {
122
+ top: 0;
123
+ left: 0;
124
+ transform: translate(var(--cds-popover-caret-offset), -50%) rotate(45deg);
125
+ }
126
+
127
+ // Bottom right
128
+ .#{$prefix}--popover--bottom-right {
129
+ right: 0;
130
+ bottom: 0;
131
+ transform: translateY(calc(100% + var(--cds-popover-offset)));
132
+ }
133
+
134
+ @include place-caret(bottom-right) {
135
+ top: 0;
136
+ right: 0;
137
+ transform: translate(calc(-1 * var(--cds-popover-caret-offset)), -50%)
138
+ rotate(45deg);
139
+ }
140
+
141
+ // Hover area
142
+ .#{$prefix}--popover--bottom.#{$prefix}--popover::before,
143
+ .#{$prefix}--popover--bottom-left.#{$prefix}--popover::before,
144
+ .#{$prefix}--popover--bottom-right.#{$prefix}--popover::before {
145
+ top: 0;
146
+ right: 0;
147
+ left: 0;
148
+ height: var(--cds-popover-offset);
149
+ transform: translateY(-100%);
150
+ }
151
+
152
+ //-----------------------------------------------------------------------------
153
+ // TOP
154
+ //-----------------------------------------------------------------------------
155
+ .#{$prefix}--popover--top {
156
+ bottom: 100%;
157
+ left: 50%;
158
+ transform: translate(-50%, calc(-1 * var(--cds-popover-offset)));
159
+ }
160
+
161
+ @include place-caret(top) {
162
+ bottom: 0;
163
+ left: 50%;
164
+ transform: translate(-50%, 50%) rotate(45deg);
165
+ }
166
+
167
+ // Top left
168
+ .#{$prefix}--popover--top-left {
169
+ bottom: 100%;
170
+ left: 0;
171
+ transform: translateY(calc(-1 * var(--cds-popover-offset)));
172
+ }
173
+
174
+ @include place-caret(top-left) {
175
+ bottom: 0;
176
+ left: 0;
177
+ transform: translate(var(--cds-popover-caret-offset), 50%) rotate(45deg);
178
+ }
179
+
180
+ // Top right
181
+ .#{$prefix}--popover--top-right {
182
+ right: 0;
183
+ bottom: 100%;
184
+ transform: translateY(calc(-1 * var(--cds-popover-offset)));
185
+ }
186
+
187
+ @include place-caret(top-right) {
188
+ right: 0;
189
+ bottom: 0;
190
+ transform: translate(calc(-1 * var(--cds-popover-caret-offset)), 50%)
191
+ rotate(45deg);
192
+ }
193
+
194
+ // Hover area
195
+ .#{$prefix}--popover--top.#{$prefix}--popover::before,
196
+ .#{$prefix}--popover--top-left.#{$prefix}--popover::before,
197
+ .#{$prefix}--popover--top-right.#{$prefix}--popover::before {
198
+ right: 0;
199
+ bottom: 0;
200
+ left: 0;
201
+ height: var(--cds-popover-offset);
202
+ transform: translateY(100%);
203
+ }
204
+
205
+ //-----------------------------------------------------------------------------
206
+ // Right
207
+ //-----------------------------------------------------------------------------
208
+ .#{$prefix}--popover--right {
209
+ top: 50%;
210
+ left: 100%;
211
+ transform: translate(var(--cds-popover-offset), -50%);
212
+ }
213
+
214
+ @include place-caret(right) {
215
+ top: 50%;
216
+ left: 0;
217
+ transform: translate(-50%, -50%) rotate(45deg);
218
+ }
219
+
220
+ // Right top
221
+ .#{$prefix}--popover--right-top {
222
+ top: 0;
223
+ left: 100%;
224
+ transform: translateX($popover-offset);
225
+ }
226
+
227
+ @include place-caret(right-top) {
228
+ top: 0;
229
+ left: 0;
230
+ transform: translate(-50%, var(--cds-popover-caret-offset)) rotate(45deg);
231
+ }
232
+
233
+ // Right bottom
234
+ .#{$prefix}--popover--right-bottom {
235
+ bottom: 0;
236
+ left: 100%;
237
+ transform: translateX(var(--cds-popover-offset));
238
+ }
239
+
240
+ @include place-caret(right-bottom) {
241
+ bottom: 0;
242
+ left: 0;
243
+ transform: translate(-50%, calc(-1 * var(--cds-popover-caret-offset)))
244
+ rotate(45deg);
245
+ }
246
+
247
+ // Hover area
248
+ .#{$prefix}--popover--right.#{$prefix}--popover::before,
249
+ .#{$prefix}--popover--right-top.#{$prefix}--popover::before,
250
+ .#{$prefix}--popover--right-bottom.#{$prefix}--popover::before {
251
+ top: 0;
252
+ bottom: 0;
253
+ left: 0;
254
+ width: var(--cds-popover-offset);
255
+ transform: translateX(-100%);
256
+ }
257
+
258
+ //-----------------------------------------------------------------------------
259
+ // Left
260
+ //-----------------------------------------------------------------------------
261
+ .#{$prefix}--popover--left {
262
+ top: 50%;
263
+ right: 100%;
264
+ transform: translate(calc(-1 * var(--cds-popover-offset)), -50%);
265
+ }
266
+
267
+ @include place-caret(left) {
268
+ top: 50%;
269
+ right: 0;
270
+ transform: translate(50%, -50%) rotate(45deg);
271
+ }
272
+
273
+ // Left top
274
+ .#{$prefix}--popover--left-top {
275
+ top: 0;
276
+ right: 100%;
277
+ transform: translateX(calc(-1 * var(--cds-popover-offset)));
278
+ }
279
+
280
+ @include place-caret(left-top) {
281
+ top: 0;
282
+ right: 0;
283
+ transform: translate(50%, var(--cds-popover-caret-offset)) rotate(45deg);
284
+ }
285
+
286
+ // Left bottom
287
+ .#{$prefix}--popover--left-bottom {
288
+ right: 100%;
289
+ bottom: 0;
290
+ transform: translateX(calc(-1 * var(--cds-popover-offset)));
291
+ }
292
+
293
+ @include place-caret(left-bottom) {
294
+ right: 0;
295
+ bottom: 0;
296
+ transform: translate(50%, calc(-1 * var(--cds-popover-caret-offset)))
297
+ rotate(45deg);
298
+ }
299
+
300
+ // Hover area
301
+ .#{$prefix}--popover--left.#{$prefix}--popover::before,
302
+ .#{$prefix}--popover--left-top.#{$prefix}--popover::before,
303
+ .#{$prefix}--popover--left-bottom.#{$prefix}--popover::before {
304
+ top: 0;
305
+ right: 0;
306
+ bottom: 0;
307
+ width: var(--cds-popover-offset);
308
+ transform: translateX(100%);
309
+ }
310
+ }
311
+
312
+ /// Helper for placing the caret inside a popover. The selectors here can get
313
+ /// distracting in the main stylesheet, but ultimately they target the ::before
314
+ /// and ::after pseudo-elements for the given direction. The @content block
315
+ /// passed in should appropriately position the caret for the given direction.
316
+ @mixin place-caret($direction) {
317
+ .#{$prefix}--popover--caret.#{$prefix}--popover--#{$direction}
318
+ .#{$prefix}--popover-contents::before,
319
+ .#{$prefix}--popover--caret.#{$prefix}--popover--#{$direction}
320
+ .#{$prefix}--popover-contents::after {
321
+ @content;
322
+ }
323
+ }
@@ -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 'progress-bar';
9
+ @use 'progress-bar';
10
+
11
+ @include progress-bar.progress-bar;
@@ -0,0 +1,82 @@
1
+ //
2
+ // Copyright IBM Corp. 2021
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 "../../type" as *;
13
+ @use "../../utilities/convert" as *;
14
+
15
+ /// Progress Bar styles
16
+ /// @access public
17
+ /// @group progress-bar
18
+ @mixin progress-bar {
19
+ .#{$prefix}--progress-bar__label {
20
+ @include type-style("body-short");
21
+
22
+ display: block;
23
+ margin-bottom: $spacing-03;
24
+ color: $text-body-default;
25
+ }
26
+
27
+ .#{$prefix}--progress-bar__track {
28
+ position: relative;
29
+ width: 100%;
30
+ height: calcRem(8px);
31
+ background-color: $layer-primary;
32
+ }
33
+
34
+ .#{$prefix}--progress-bar__bar {
35
+ display: block;
36
+ width: 100%;
37
+ height: 100%;
38
+ background-color: $action-default-fill-primary-default;
39
+ transform: scaleX(0);
40
+ transform-origin: 0 50%;
41
+ transition: transform $duration-fast-02 motion(standard, productive);
42
+ }
43
+
44
+ .#{$prefix}--progress-bar--indeterminate
45
+ .#{$prefix}--progress-bar__track::after {
46
+ position: absolute;
47
+ top: 0;
48
+ right: 0;
49
+ bottom: 0;
50
+ left: 0;
51
+ animation-duration: 1400ms;
52
+ animation-iteration-count: infinite;
53
+ animation-name: progress-bar-indeterminate;
54
+ animation-timing-function: linear;
55
+ background-image: linear-gradient(
56
+ 90deg,
57
+ $action-default-fill-primary-default 12.5%,
58
+ transparent 12.5%
59
+ );
60
+ background-position-x: 0%;
61
+ background-size: 200% 100%;
62
+ content: "";
63
+ }
64
+
65
+ .#{$prefix}--progress-bar__helper-text {
66
+ @include type-style("helper-text");
67
+
68
+ margin-top: $spacing-02;
69
+ color: $text-body-secondary;
70
+ }
71
+
72
+ @keyframes progress-bar-indeterminate {
73
+ 0% {
74
+ background-position-x: 25%;
75
+ }
76
+
77
+ 80%,
78
+ 100% {
79
+ background-position-x: -105%;
80
+ }
81
+ }
82
+ }
@@ -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 'progress-indicator';
9
+ @use 'progress-indicator';
10
+
11
+ @include progress-indicator.progress-indicator;