@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,192 @@
1
+ @use "../../config" as *;
2
+ @use "../../feature-flags" as *;
3
+ @use "../../motion" as *;
4
+ @use "../../spacing" as *;
5
+ @use "../../theme" as *;
6
+ @use "../../type" as *;
7
+ @use "../../utilities/convert" as *;
8
+ @use "../../utilities/high-contrast-mode" as *;
9
+ @use "../../utilities/visually-hidden" as *;
10
+ @use "../../utilities/focus-outline" as *;
11
+ @import "../form";
12
+
13
+ /// Toggle styles
14
+ /// @access public
15
+ /// @group toggle
16
+ @mixin toggle {
17
+ .#{$prefix}--toggle {
18
+ @include visually-hidden;
19
+ }
20
+
21
+ .#{$prefix}--toggle__label {
22
+ @include font-family("sans");
23
+ position: relative;
24
+ display: flex;
25
+ align-items: center;
26
+ user-select: none;
27
+ transition: $transition--base $standard-easing;
28
+ cursor: pointer;
29
+ //margin: $spacing-05 0;
30
+ }
31
+
32
+ .#{$prefix}--toggle__appearance {
33
+ position: relative;
34
+ width: calcRem(48px);
35
+
36
+ &:before {
37
+ position: absolute;
38
+ display: block;
39
+ content: "";
40
+ width: 100%;
41
+ height: calcRem(28px);
42
+ top: calcRem(-14px);
43
+ border-radius: calcRem(28px);
44
+ background-color: $field-background-disabled;
45
+ transition: $transition--base $standard-easing;
46
+ cursor: pointer;
47
+ }
48
+
49
+ &:after {
50
+ box-sizing: border-box;
51
+ position: absolute;
52
+ display: block;
53
+ border: 3px solid $field-background-disabled;
54
+ cursor: pointer;
55
+ top: -14px;
56
+ width: calcRem(28px);
57
+ height: calcRem(28px);
58
+ background-color: $background-main; // TODO: Replace
59
+ border-radius: 50%;
60
+ content: "";
61
+ transition: $transition--base $standard-easing;
62
+ }
63
+ }
64
+
65
+ .#{$prefix}--toggle--small + .#{$prefix}--toggle__label {
66
+ width: calcRem(32px);
67
+ }
68
+
69
+ .#{$prefix}--toggle--small
70
+ + .#{$prefix}--toggle__label
71
+ .#{$prefix}--toggle__appearance {
72
+ width: calcRem(32px);
73
+ height: calcRem(16px);
74
+
75
+ &:before {
76
+ box-sizing: border-box;
77
+ height: calcRem(16px);
78
+ width: calcRem(32px);
79
+ border-radius: 0.9375rem;
80
+ background-color: transparent;
81
+ border: 2px solid $field-background-enabled;
82
+ top: 0;
83
+ }
84
+
85
+ &:after {
86
+ width: calcRem(10px);
87
+ height: calcRem(10px);
88
+ background-color: $field-background-enabled;
89
+ border: none;
90
+ top: 3px;
91
+ left: 3px;
92
+ }
93
+ }
94
+
95
+ .#{$prefix}--toggle__check {
96
+ fill: $border-inverse;
97
+ position: absolute;
98
+ left: 6px;
99
+ top: 6px;
100
+ z-index: 1;
101
+ transition: $transition--base $standard-easing;
102
+ transform: scale(0.2);
103
+ }
104
+
105
+ .#{$prefix}--toggle--small:checked
106
+ + .#{$prefix}--toggle__label
107
+ .#{$prefix}--toggle__check {
108
+ fill: $action-default-fill-primary-default;
109
+ transform: scale(1) translateX(16px);
110
+ }
111
+
112
+ .#{$prefix}--toggle__text--left,
113
+ .#{$prefix}--toggle__text--right {
114
+ @include type-style("body-short");
115
+ position: relative;
116
+ }
117
+
118
+ .#{$prefix}--toggle__text--left {
119
+ margin-right: $spacing-03;
120
+ }
121
+
122
+ .#{$prefix}--toggle__text--right {
123
+ margin-left: $spacing-03;
124
+ }
125
+
126
+ .#{$prefix}--toggle:checked
127
+ + .#{$prefix}--toggle__label
128
+ .#{$prefix}--toggle__appearance {
129
+ &:before {
130
+ background-color: $action-default-fill-primary-default; // TODO: Replace
131
+ }
132
+
133
+ &:after {
134
+ transform: translateX(24px);
135
+ background-color: $background-main;
136
+ box-shadow: none;
137
+ border-color: $field-background-enabled; // TODO: Replace
138
+ }
139
+ }
140
+
141
+ .#{$prefix}--toggle--small:checked
142
+ + .#{$prefix}--toggle__label
143
+ .#{$prefix}--toggle__appearance {
144
+ &:before {
145
+ background-color: $action-default-fill-primary-default; // $action-default-fill-primary-default;
146
+ border-color: $field-background-enabled;
147
+ }
148
+
149
+ &:after {
150
+ background-color: $background-main;
151
+ border-color: $background-main;
152
+ margin-left: 0px;
153
+ transform: translateX(17px);
154
+ }
155
+ }
156
+
157
+ .#{$prefix}--toggle:focus + .#{$prefix}--toggle__label {
158
+ .#{$prefix}--toggle__appearance:before {
159
+ outline: 1px solid transparent;
160
+ }
161
+
162
+ .#{$prefix}--toggle__appearance:after {
163
+ @include focus-outline("blurred");
164
+ }
165
+ }
166
+
167
+ .#{$prefix}--toggle--small:focus + .#{$prefix}--toggle__label {
168
+ .#{$prefix}--toggle__appearance:before {
169
+ @include focus-outline("blurred");
170
+ }
171
+
172
+ .#{$prefix}--toggle__appearance:after {
173
+ outline: none;
174
+ box-shadow: none;
175
+ }
176
+ }
177
+
178
+ .#{$prefix}--toggle:disabled + .#{$prefix}--toggle__label {
179
+ cursor: not-allowed;
180
+ opacity: 0.5;
181
+ }
182
+
183
+ .#{$prefix}--toggle:disabled
184
+ + .#{$prefix}--toggle__label
185
+ .#{$prefix}--toggle__appearance {
186
+ &:before,
187
+ &:after {
188
+ cursor: not-allowed;
189
+ transition: $transition--base $standard-easing;
190
+ }
191
+ }
192
+ }
@@ -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 'tooltip';
9
+ @use 'tooltip';
10
+
11
+ @include tooltip.tooltip;
@@ -0,0 +1,107 @@
1
+ @mixin backdrop-transform-enter($placement) {
2
+ $scale: 1;
3
+ @if ($placement == 'top') {
4
+ transform: scale($scale) translate(-50%, -55%);
5
+ } @else if ($placement == 'bottom') {
6
+ transform: scale($scale) translate(-50%, -45%);
7
+ } @else if ($placement == 'left') {
8
+ transform: scale($scale) translate(-50%, -50%);
9
+ } @else if ($placement == 'right') {
10
+ transform: scale($scale) translate(-50%, -50%);
11
+ }
12
+ }
13
+
14
+ @mixin backdrop-transform-leave($placement) {
15
+ $scale: 0.2;
16
+ @if ($placement == 'top') {
17
+ transform: scale($scale) translate(-50%, -45%);
18
+ } @else if ($placement == 'bottom') {
19
+ transform: scale($scale) translate(-50%, 0);
20
+ } @else if ($placement == 'left') {
21
+ transform: scale($scale) translate(-75%, -50%);
22
+ } @else if ($placement == 'right') {
23
+ transform: scale($scale) translate(-25%, -50%);
24
+ }
25
+ }
26
+
27
+ @mixin arrow($placement, $width, $color) {
28
+ @if ($placement == 'top') {
29
+ border-width: $width $width 0;
30
+ border-top-color: $color;
31
+ } @else if ($placement == 'bottom') {
32
+ border-width: 0 $width $width;
33
+ border-bottom-color: $color;
34
+ } @else if ($placement == 'left') {
35
+ border-width: $width 0 $width $width;
36
+ border-left-color: $color;
37
+ } @else if ($placement == 'right') {
38
+ border-width: $width $width $width 0;
39
+ border-right-color: $color;
40
+ }
41
+ }
42
+
43
+ @mixin arrow-position($placement, $width, $is-svg-arrow) {
44
+ @if ($placement == 'top' and not $is-svg-arrow) {
45
+ bottom: -$width;
46
+ } @else if ($placement == 'bottom') {
47
+ top: -$width;
48
+ }
49
+
50
+ @if ($is-svg-arrow) {
51
+ @if ($placement == 'left') {
52
+ right: -$width * 2 + 2px;
53
+ } @else if ($placement == 'right') {
54
+ left: -$width * 2 + 2px;
55
+ } @else if ($placement == 'top') {
56
+ bottom: -$width + 0.5px;
57
+ }
58
+ } @else {
59
+ @if ($placement == 'left') {
60
+ right: -$width;
61
+ } @else if ($placement == 'right') {
62
+ left: -$width;
63
+ }
64
+ }
65
+ }
66
+
67
+ @mixin arrow-margin($placement) {
68
+ @if ($placement == 'top' or $placement == 'bottom') {
69
+ margin: 0 3px;
70
+ } @else {
71
+ margin: 3px 0;
72
+ }
73
+ }
74
+
75
+ @mixin svg-arrow-transform($placement) {
76
+ @if ($placement == 'top') {
77
+ transform: rotate(180deg);
78
+ } @else if ($placement == 'left') {
79
+ transform: rotate(90deg);
80
+ } @else if ($placement == 'right') {
81
+ transform: rotate(-90deg);
82
+ }
83
+ }
84
+
85
+ @mixin arrow-transform-origin($placement, $size) {
86
+ @if ($placement == 'top') {
87
+ transform-origin: 50% 0%;
88
+ } @else if ($placement == 'bottom') {
89
+ transform-origin: 50% $size;
90
+ } @else if ($placement == 'left') {
91
+ transform-origin: 0% 50%;
92
+ } @else if ($placement == 'right') {
93
+ transform-origin: $size 50%;
94
+ }
95
+ }
96
+
97
+ @mixin svg-arrow-transform-origin($placement, $size) {
98
+ @if ($placement == 'top') {
99
+ transform-origin: 50% 0%;
100
+ } @else if ($placement == 'bottom') {
101
+ transform-origin: 50% $size;
102
+ } @else if ($placement == 'left') {
103
+ transform-origin: 33.33333333% 50%;
104
+ } @else if ($placement == 'right') {
105
+ transform-origin: 66.66666666% 50%;
106
+ }
107
+ }
@@ -0,0 +1,128 @@
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 "../../type" as *;
10
+ @use "../../motion" as *;
11
+ @use "../../config" as *;
12
+ @use "../../spacing" as *;
13
+ @use "../../utilities/layer" as *;
14
+ @use "./vars";
15
+ @use "./mixins";
16
+ @import "./animations/fade.scss";
17
+ @import "./themes/light.scss";
18
+ @import "./themes/light-border.scss";
19
+
20
+ // TODO: deprecate legacy tooltip mixins
21
+ // Tooltip Icon
22
+ // Icon CSS only tooltip
23
+ /// @access private
24
+ /// @deprecated
25
+ /// @group tooltip
26
+ @mixin tooltip {
27
+ .#{$prefix}--tooltip {
28
+ cursor: pointer !important;
29
+ -webkit-tap-highlight-color: transparent;
30
+ background: $background-main;
31
+ padding: $spacing-03;
32
+ &.#{$prefix}--tooltip--disable-padding {
33
+ padding: 0;
34
+ }
35
+ &.#{$prefix}--tooltip--click {
36
+ cursor: pointer;
37
+ }
38
+ &--trigger {
39
+ cursor: pointer;
40
+ }
41
+ /*opacity: 0;
42
+ display: none;*/
43
+ //transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
44
+ //transition-property: transform;
45
+ cursor: pointer;
46
+ max-width: 300px;
47
+ border-radius: 7px;
48
+ line-height: 1.5rem;
49
+ @include layer("pop-out");
50
+ z-index: 1000;
51
+ @include type-style("body-short-02");
52
+ &[data-popper-placement*="bottom"] {
53
+ .#{$prefix}--tooltip__arrow {
54
+ top: 0;
55
+ left: 0;
56
+ margin-top: -4px;
57
+ /*&::before {
58
+ border-width: 0 1.5em 1em 1.5em;
59
+ border-color: transparent transparent #232323 transparent;
60
+ }*/
61
+ }
62
+ }
63
+ &[data-popper-placement*="top"] {
64
+ .#{$prefix}--tooltip__arrow {
65
+ bottom: 0;
66
+ left: 0;
67
+ margin-bottom: -4px;
68
+ /*&::before {
69
+ border-width: 1em 1.5em 0 1.5em;
70
+ border-color: #232323 transparent transparent transparent;
71
+ }*/
72
+ }
73
+ }
74
+ &[data-popper-placement*="right"] {
75
+ .#{$prefix}--tooltip__arrow {
76
+ left: 0;
77
+ margin-left: -4px;
78
+ /*&::before {
79
+ border-width: 1.5em 1em 1.5em 0;
80
+ border-color: transparent #232323 transparent transparent;
81
+ }*/
82
+ }
83
+ }
84
+ &[data-popper-placement*="left"] {
85
+ .#{$prefix}--tooltip__arrow {
86
+ right: 0;
87
+ margin-right: -4px;
88
+ /*&::before {
89
+ border-width: 1.5em 0 1.5em 1em;
90
+ border-color: transparent transparent transparent#232323;
91
+ }*/
92
+ }
93
+ }
94
+ }
95
+
96
+ .#{$prefix}--tooltip--dark {
97
+ color: $text-inverse-default;
98
+ background: var(--ui-06);
99
+ .#{$prefix}--tooltip__arrow {
100
+ &:before {
101
+ background: var(--ui-06);
102
+ }
103
+ }
104
+ }
105
+
106
+ .#{$prefix}--tooltip--visible {
107
+ opacity: 1;
108
+ display: block;
109
+ }
110
+
111
+ .#{$prefix}--tooltip__arrow {
112
+ width: 10px;
113
+ height: 10px;
114
+ position: absolute;
115
+ z-index: -1;
116
+ &:before {
117
+ content: "";
118
+ transform: rotate(45deg);
119
+ background: $background-main;
120
+ top: 0px;
121
+ left: 0px;
122
+ width: 10px;
123
+ height: 10px;
124
+ position: absolute;
125
+ z-index: -1;
126
+ }
127
+ }
128
+ }
@@ -0,0 +1,6 @@
1
+ $namespace-prefix: 'tippy' !default;
2
+ $placements: 'top', 'bottom', 'left', 'right';
3
+ $origins: bottom, top, right, left;
4
+ $backdrop-origins: 0% 25%, 0% -50%, 50% 0%, -50% 0%;
5
+ $backdrop-border-radii: 40% 40% 0 0, 0 0 30% 30%, 50% 0 0 50%, 0 50% 50% 0;
6
+ $arrow-size: 7px;
@@ -0,0 +1,10 @@
1
+ @import '../_mixins.scss';
2
+ @import '../_vars.scss';
3
+
4
+ .#{$namespace-prefix}-tooltip {
5
+ &[data-animation='fade'] {
6
+ &[data-state='hidden'] {
7
+ opacity: 0;
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,158 @@
1
+ @import '../_mixins.scss';
2
+ @import '../_vars.scss';
3
+
4
+ $color: var(--ui-01);
5
+ $transparent-light: rgba(0, 8, 16, 0.08);
6
+ $transparent-dark: rgba(0, 8, 16, 0.15);
7
+ $transparent-darker: rgba(0, 8, 16, 0.2);
8
+
9
+ .#{$namespace-prefix}-tooltip.light-border-theme {
10
+ background-color: $color;
11
+ background-clip: padding-box;
12
+ border: 1px solid $transparent-dark;
13
+ color: #26323d;
14
+ box-shadow: 0 4px 14px -2px $transparent-light;
15
+
16
+ > .#{$namespace-prefix}-backdrop {
17
+ background-color: $color;
18
+ }
19
+
20
+ > .#{$namespace-prefix}-arrow,
21
+ > .#{$namespace-prefix}-svg-arrow {
22
+ &::after,
23
+ &::before {
24
+ content: '';
25
+ position: absolute;
26
+ z-index: -1;
27
+ }
28
+ }
29
+
30
+ > .#{$namespace-prefix}-svg-arrow {
31
+ fill: $color;
32
+
33
+ &::after {
34
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEuNDE0MjEiIHZpZXdCb3g9IjAgMCAxOCA3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0wIDdzMi4wMjEtLjAxNSA1LjI1My00LjIxOGMxLjMzMS0xLjczMSAyLjU0NC0yLjc3NSAzLjc0Ny0yLjc4MiAxLjIwMy0uMDA3IDIuNDE2IDEuMDM1IDMuNzYxIDIuNzgyIDMuMjUxIDQuMjIzIDUuMjM5IDQuMjE4IDUuMjM5IDQuMjE4eiIgZmlsbD0iIzMzMyIgZmlsbC1vcGFjaXR5PSIuMjM1Mjk0IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L3N2Zz4=);
35
+ background-size: 18px $arrow-size;
36
+ width: 18px;
37
+ height: $arrow-size;
38
+ left: 0;
39
+ top: 0;
40
+ fill: $transparent-dark;
41
+ }
42
+ }
43
+
44
+ &[data-placement^='top'] {
45
+ > .#{$namespace-prefix}-svg-arrow::after {
46
+ top: 1px;
47
+ transform: rotate(180deg);
48
+ }
49
+
50
+ > .#{$namespace-prefix}-arrow {
51
+ border-top-color: $color;
52
+
53
+ &::after {
54
+ border-top: $arrow-size solid $color;
55
+ top: -$arrow-size;
56
+ }
57
+ &::before {
58
+ border-top: $arrow-size solid $transparent-darker;
59
+ bottom: -1px;
60
+ }
61
+ }
62
+ }
63
+
64
+ &[data-placement^='bottom'] {
65
+ > .#{$namespace-prefix}-svg-arrow::after {
66
+ top: -1px;
67
+ }
68
+
69
+ > .#{$namespace-prefix}-arrow {
70
+ border-bottom-color: $color;
71
+
72
+ &::after {
73
+ border-bottom: $arrow-size solid $color;
74
+ bottom: -$arrow-size;
75
+ }
76
+ &::before {
77
+ border-bottom: $arrow-size solid $transparent-darker;
78
+ bottom: -($arrow-size - 1);
79
+ }
80
+ }
81
+ }
82
+
83
+ &[data-placement^='left'] {
84
+ > .#{$namespace-prefix}-svg-arrow::after {
85
+ left: 1px;
86
+ top: 0;
87
+ transform: rotate(90deg);
88
+ }
89
+
90
+ > .#{$namespace-prefix}-arrow {
91
+ border-left-color: var(--ui-01);
92
+
93
+ &::after {
94
+ border-left: $arrow-size solid $color;
95
+ left: -$arrow-size;
96
+ }
97
+ &::before {
98
+ border-left: $arrow-size solid $transparent-darker;
99
+ left: -($arrow-size - 1);
100
+ }
101
+ }
102
+ }
103
+
104
+ &[data-placement^='right'] {
105
+ > .#{$namespace-prefix}-svg-arrow::after {
106
+ left: -1px;
107
+ top: 0;
108
+ transform: rotate(-90deg);
109
+ }
110
+
111
+ > .#{$namespace-prefix}-arrow {
112
+ border-right-color: var(--ui-01);
113
+
114
+ &::after {
115
+ border-right: $arrow-size solid $color;
116
+ right: -$arrow-size;
117
+ }
118
+ &::before {
119
+ border-right: $arrow-size solid $transparent-darker;
120
+ right: -($arrow-size - 1);
121
+ }
122
+ }
123
+ }
124
+
125
+ &[data-placement^='top'],
126
+ &[data-placement^='bottom'] {
127
+ > .#{$namespace-prefix}-arrow,
128
+ > .#{$namespace-prefix}-svg-arrow {
129
+ transform: translateX(-1px);
130
+ }
131
+
132
+ > .#{$namespace-prefix}-arrow {
133
+ &::after,
134
+ &::before {
135
+ left: -$arrow-size;
136
+ border-left: $arrow-size solid transparent;
137
+ border-right: $arrow-size solid transparent;
138
+ }
139
+ }
140
+ }
141
+
142
+ &[data-placement^='left'],
143
+ &[data-placement^='right'] {
144
+ > .#{$namespace-prefix}-arrow,
145
+ > .#{$namespace-prefix}-svg-arrow {
146
+ transform: translateY(-1px);
147
+ }
148
+
149
+ > .#{$namespace-prefix}-arrow {
150
+ &::after,
151
+ &::before {
152
+ top: -$arrow-size;
153
+ border-top: $arrow-size solid transparent;
154
+ border-bottom: $arrow-size solid transparent;
155
+ }
156
+ }
157
+ }
158
+ }
@@ -0,0 +1,28 @@
1
+ @import '../_mixins.scss';
2
+ @import '../_vars.scss';
3
+
4
+ $color: var(--ui-01);
5
+
6
+ .#{$namespace-prefix}-tooltip.light-theme {
7
+ color: #26323d;
8
+ box-shadow: 0 0 20px 4px rgba(154, 161, 177, 0.15),
9
+ 0 4px 80px -8px rgba(36, 40, 47, 0.25),
10
+ 0 4px 4px -2px rgba(91, 94, 105, 0.15);
11
+ background-color: $color;
12
+
13
+ @each $placement in $placements {
14
+ &[data-placement^='#{$placement}'] {
15
+ > .#{$namespace-prefix}-arrow {
16
+ @include arrow($placement, $arrow-size + 1, $color);
17
+ }
18
+ }
19
+ }
20
+
21
+ > .#{$namespace-prefix}-backdrop {
22
+ background-color: $color;
23
+ }
24
+
25
+ > .#{$namespace-prefix}-svg-arrow {
26
+ fill: $color;
27
+ }
28
+ }
@@ -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 'treeview';
9
+ @use 'treeview';
10
+
11
+ @include treeview.treeview;