@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,520 @@
1
+ @use "vars" as *;
2
+ @use "mixins" as *;
3
+ @use "../../config" as *;
4
+ @use "../../spacing" as *;
5
+ @use "../../theme" as *;
6
+ @use "../../type" as *;
7
+ @use "../../utilities/convert" as *;
8
+ @use "../../utilities/focus-outline" as *;
9
+ @use "../../utilities/high-contrast-mode" as *;
10
+ @use "../../utilities/skeleton" as *;
11
+ @use "../../utilities/rtl" as *;
12
+ @use "../../utilities/visually-hidden" as *;
13
+ //@use 'tokens' as *;
14
+
15
+ @mixin button {
16
+ // <button> elements cannot be used as flex containers
17
+ button.#{$prefix}--btn {
18
+ //background: $color-corporate-09 !important;
19
+ // TODO: use inline-flex for all buttons
20
+ // display: inline-block;
21
+ /*vertical-align: middle;
22
+ display: inline-flex;
23
+ line-height: initial;*/
24
+ }
25
+
26
+ // Reset intrisic padding in Firefox (see #731)
27
+ button.#{$prefix}--btn::-moz-focus-inner {
28
+ padding: 0;
29
+ border: 0;
30
+ }
31
+
32
+ // Vertically center icon inside <button>
33
+ button.#{$prefix}--btn .#{$prefix}--btn__icon {
34
+ //position: relative;
35
+ //vertical-align: middle;
36
+ // height: 1em;
37
+ // width: 1em;
38
+
39
+ // Targets IE10+ browsers: Reset <svg> position for vertical centering
40
+ @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
41
+ top: 0;
42
+ }
43
+ }
44
+
45
+ button.#{$prefix}--btn--icon-reverse,
46
+ a.#{$prefix}--btn--icon-reverse {
47
+ .#{$prefix}--btn__icon {
48
+ margin-left: 0;
49
+ margin-right: $spacing-03;
50
+ @include rtl {
51
+ margin-left: $spacing-03;
52
+ margin-right: 0;
53
+ }
54
+ }
55
+ }
56
+
57
+ /*a.#{$prefix}--btn--icon-reverse {
58
+ display: inline-flex;
59
+ flex-direction: row-reverse;
60
+
61
+ .#{$prefix}--btn__icon {
62
+ float: left;
63
+ margin-left: 0;
64
+ margin-right: $spacing-03;
65
+ @include rtl {
66
+ margin-left: $spacing-03;
67
+ margin-right: 0;
68
+ }
69
+ }
70
+ }*/
71
+
72
+ a,
73
+ button {
74
+ &.#{$prefix}--btn--icon-only {
75
+ padding: 0 $spacing-04;
76
+
77
+ .#{$prefix}--btn__icon {
78
+ margin-left: 0;
79
+ margin-right: 0;
80
+ }
81
+ }
82
+ }
83
+
84
+ /* Standard syntax */
85
+
86
+ .#{$prefix}--btn {
87
+ @include button-base;
88
+ }
89
+
90
+ .#{$prefix}--btn--primary {
91
+ @include button-theme(
92
+ $action-default-fill-primary-default,
93
+ transparent,
94
+ $action-default-text-primary-default,
95
+ $action-default-fill-primary-default,
96
+ $action-default-text-primary-default
97
+ );
98
+ &:hover {
99
+ background-color: $action-default-fill-primary-hover;
100
+ }
101
+
102
+ &:active {
103
+ background-color: $action-default-fill-primary-active;
104
+ }
105
+
106
+ &:focus {
107
+ @include focus-outline("border-focus");
108
+ }
109
+ &:disabled,
110
+ &:hover:disabled,
111
+ &:focus:disabled {
112
+ color: $action-default-text-primary-disable;
113
+ background-color: $action-default-fill-primary-disable;
114
+ opacity: unset;
115
+ }
116
+ }
117
+
118
+ .#{$prefix}--btn--primary-solid {
119
+ @include button-theme(
120
+ $action-solid-fill-primary-default,
121
+ transparent,
122
+ $action-solid-text-primary-default,
123
+ $action-solid-fill-primary-default,
124
+ $action-solid-text-primary-default
125
+ );
126
+
127
+ &:hover {
128
+ color: $action-solid-text-primary-hover;
129
+ background-color: $action-solid-fill-primary-hover;
130
+ }
131
+
132
+ &:active {
133
+ background-color: $action-solid-fill-primary-active;
134
+ color: $action-solid-text-primary-active;
135
+ }
136
+
137
+ &:focus {
138
+ @include focus-outline("border-focus");
139
+ }
140
+
141
+ &:disabled,
142
+ &:hover:disabled,
143
+ &:focus:disabled {
144
+ color: $action-solid-text-primary-disable; //TODO button disabled color
145
+ background-color: $action-solid-fill-primary-disable;
146
+ opacity: unset;
147
+ }
148
+ }
149
+
150
+ .#{$prefix}--btn--secondary {
151
+ @include button-theme(
152
+ transparent,
153
+ $action-default-text-secondary-default,
154
+ $action-default-text-secondary-default,
155
+ transparent,
156
+ $action-default-text-secondary-default
157
+ );
158
+ border-width: 1px;
159
+
160
+ &:hover {
161
+ background-color: $action-default-fill-secondary-hover;
162
+ color: $action-default-text-secondary-hover;
163
+ }
164
+
165
+ &:active {
166
+ background-color: $action-default-fill-secondary-active;
167
+ color: $action-default-text-secondary-active;
168
+ }
169
+
170
+ &:focus {
171
+ @include focus-outline("border-focus");
172
+ border-color: transparent;
173
+ }
174
+
175
+ &:disabled,
176
+ &:hover:disabled,
177
+ &:focus:disabled {
178
+ color: $action-default-text-secondary-disable;
179
+ border-width: 2px;
180
+ border-color: $action-default-text-secondary-disable;
181
+ opacity: unset;
182
+ }
183
+ }
184
+
185
+ .#{$prefix}--btn--secondary-solid {
186
+ @include button-theme(
187
+ transparent,
188
+ $action-default-fill-secondary-default,
189
+ $action-default-fill-secondary-default,
190
+ transparent,
191
+ $action-default-fill-secondary-default
192
+ );
193
+ border-width: 1px;
194
+
195
+ &:hover {
196
+ border-color: transparent;
197
+ color: $action-solid-text-secondary-hover;
198
+ background-color: $action-solid-fill-secondary-hover;
199
+ }
200
+
201
+ &:active {
202
+ border-color: transparent;
203
+ color: $action-solid-text-secondary-active;
204
+ background-color: $action-solid-fill-secondary-active;
205
+ }
206
+
207
+ &:focus {
208
+ @include focus-outline("border-focus");
209
+ border-color: transparent;
210
+ }
211
+ &:hover > .#{$prefix}--btn__icon,
212
+ &:focus > .#{$prefix}--btn__icon {
213
+ fill: $icon-inverse;
214
+ }
215
+
216
+ &:disabled,
217
+ &:hover:disabled,
218
+ &:focus:disabled {
219
+ color: $action-solid-text-secondary-disable;
220
+ border-color: $action-solid-text-secondary-disable;
221
+ opacity: unset;
222
+ }
223
+ }
224
+
225
+ .#{$prefix}--btn--ghost {
226
+ @include button-theme(
227
+ transparent,
228
+ transparent,
229
+ $action-default-text-ghost-default,
230
+ transparent,
231
+ $action-default-text-ghost-default
232
+ );
233
+
234
+ &:hover {
235
+ color: $action-default-text-ghost-hover;
236
+ background-color: $action-default-fill-ghost-hover;
237
+ }
238
+
239
+ &:active {
240
+ color: $action-default-text-ghost-active;
241
+ background-color: $action-default-fill-ghost-active;
242
+ }
243
+
244
+ &:focus {
245
+ @include focus-outline("border-focus-small");
246
+ }
247
+
248
+ &:disabled,
249
+ &:hover:disabled,
250
+ &:focus:disabled {
251
+ color: $action-solid-text-ghost-disable;
252
+ border-color: transparent;
253
+ opacity: unset;
254
+ }
255
+
256
+ .#{$prefix}--btn__icon {
257
+ margin-left: $spacing-03;
258
+ @include rtl {
259
+ margin-left: initial;
260
+ margin-right: $spacing-03;
261
+ }
262
+ }
263
+ }
264
+
265
+ .#{$prefix}--btn--ghost-solid {
266
+ @include button-theme(
267
+ transparent,
268
+ transparent,
269
+ $action-solid-text-ghost-default,
270
+ $action-solid-fill-ghost-default,
271
+ $action-solid-text-ghost-default
272
+ );
273
+
274
+ &:hover {
275
+ color: $action-solid-text-ghost-hover;
276
+ background-color: $action-solid-fill-ghost-hover;
277
+ }
278
+
279
+ &:active {
280
+ color: $action-solid-text-ghost-active;
281
+ background-color: $action-solid-fill-ghost-active;
282
+ }
283
+
284
+ &:focus {
285
+ @include focus-outline("border-focus");
286
+
287
+ .#{$prefix}--btn__icon {
288
+ fill: $action-solid-fill-ghost-focus;
289
+ }
290
+ }
291
+
292
+ .#{$prefix}--btn__icon {
293
+ margin-left: $spacing-03;
294
+ @include rtl {
295
+ margin-left: initial;
296
+ margin-right: $spacing-03;
297
+ }
298
+ }
299
+ &:disabled,
300
+ &:hover:disabled,
301
+ &:focus:disabled {
302
+ color: $action-solid-text-ghost-disable;
303
+ opacity: unset;
304
+ .#{$prefix}--btn__icon {
305
+ fill: $action-solid-text-ghost-disable;
306
+ }
307
+ }
308
+ }
309
+
310
+ @keyframes slidein {
311
+ from {
312
+ box-shadow: 0 0 0 0px rgba(var(--ui-05), 0.7);
313
+ }
314
+
315
+ to {
316
+ box-shadow: 0 0 0 7px rgba(var(--ui-05), 0);
317
+ }
318
+ }
319
+
320
+ .#{$prefix}--btn--animating {
321
+ animation-duration: 0.5s;
322
+ animation-name: slidein;
323
+ }
324
+
325
+ .#{$prefix}--btn--danger {
326
+ @include button-theme(
327
+ $action-default-fill-danger-default,
328
+ transparent,
329
+ $action-default-text-danger-default,
330
+ $action-default-fill-danger-default,
331
+ $action-default-text-danger-default
332
+ );
333
+
334
+ &:hover {
335
+ background-color: $action-default-fill-danger-hover;
336
+ }
337
+
338
+ &:active {
339
+ background-color: $action-default-fill-danger-active;
340
+ }
341
+
342
+ &:focus {
343
+ @include focus-outline("border-focus-small");
344
+ }
345
+
346
+ &:disabled,
347
+ &:hover:disabled,
348
+ &:focus:disabled {
349
+ color: $action-default-text-danger-disable;
350
+ background-color: $action-default-fill-danger-disable;
351
+ opacity: unset;
352
+ }
353
+
354
+ // &:hover > .#{$prefix}--btn__icon,
355
+ // &:focus > .#{$prefix}--btn__icon {
356
+ // fill: $icon-on-color;
357
+ // }
358
+ }
359
+
360
+ .#{$prefix}--btn--danger--primary {
361
+ @include button-theme(
362
+ $support-error-main,
363
+ transparent,
364
+ $text-inverse-default,
365
+ $button-danger-hover,
366
+ $icon-on-color
367
+ );
368
+
369
+ &:hover:disabled,
370
+ &:focus:disabled {
371
+ color: $text-inverse-default;
372
+ border: $button-border-width solid $support-error-main;
373
+ }
374
+ }
375
+
376
+ .#{$prefix}--btn--sm {
377
+ padding: $button-padding-sm;
378
+ @include type-style("body-short");
379
+ letter-spacing: 0;
380
+ font-weight: 700;
381
+ height: 1.8rem;
382
+ }
383
+
384
+ .#{$prefix}--btn--lg {
385
+ height: 3.25rem;
386
+ font-size: calcRem(18px); //TODO
387
+ }
388
+
389
+ .#{$prefix}--btn--all-caps {
390
+ letter-spacing: 0.05rem;
391
+ text-transform: uppercase;
392
+ }
393
+
394
+ .#{$prefix}--btn--secondary + .#{$prefix}--btn--primary,
395
+ .#{$prefix}--btn--tertiary + .#{$prefix}--btn--danger--primary {
396
+ margin-left: $spacing-03;
397
+ @include rtl {
398
+ margin-left: 0;
399
+ margin-right: $spacing-03;
400
+ }
401
+ }
402
+
403
+ // Skeleton State
404
+ .#{$prefix}--btn.#{$prefix}--skeleton {
405
+ @include skeleton;
406
+ width: calcRem(150px);
407
+ }
408
+
409
+ // Legacy button state styling
410
+
411
+ .#{$prefix}--btn--accent {
412
+ @include button-theme(
413
+ $support-warning,
414
+ transparent,
415
+ $text-body-default,
416
+ $support-warning,
417
+ $text-body-default
418
+ );
419
+
420
+ .#{$prefix}--btn__icon,
421
+ &:hover > .#{$prefix}--btn__icon,
422
+ &:focus > .#{$prefix}--btn__icon {
423
+ fill: $text-body-default;
424
+ }
425
+ }
426
+
427
+ .#{$prefix}--btn--navigation {
428
+ @include button-theme(
429
+ saturate(#34a2d9, 10%),
430
+ transparent,
431
+ $text-inverse-default,
432
+ saturate(lighten(#34a2d9, 5), 10%),
433
+ $icon-on-color
434
+ );
435
+ }
436
+
437
+ .#{$prefix}--btn--tertiary {
438
+ @include button-theme(
439
+ $button-tertiary,
440
+ transparent,
441
+ $text-body-default,
442
+ $button-tertiary-hover,
443
+ $text-body-default
444
+ );
445
+
446
+ &:hover,
447
+ &:focus {
448
+ color: $text-body-default;
449
+ }
450
+
451
+ &:active {
452
+ color: var(--ui-05);
453
+ }
454
+
455
+ &:hover:disabled,
456
+ &:focus:disabled {
457
+ color: var(--ui-05);
458
+ }
459
+
460
+ &:hover > .#{$prefix}--btn__icon,
461
+ &:focus > .#{$prefix}--btn__icon {
462
+ fill: $text-body-default;
463
+ }
464
+ }
465
+
466
+ .#{$prefix}--btn--inverse--primary {
467
+ @include button-theme(
468
+ $field,
469
+ $field,
470
+ $button-primary,
471
+ $background-main,
472
+ $text-body-default
473
+ );
474
+
475
+ &:hover {
476
+ color: $button-primary-hover;
477
+ //border: $button-border-width solid var(--ui-01);
478
+ }
479
+
480
+ &:focus {
481
+ background: $fill-field;
482
+ color: $button-primary-hover;
483
+ }
484
+
485
+ &:hover:disabled,
486
+ &:focus:disabled {
487
+ color: $support-error-main;
488
+ border: $button-border-width solid $support-error-main;
489
+ }
490
+ }
491
+
492
+ .#{$prefix}--btn--inverse {
493
+ @include button-theme(
494
+ transparent,
495
+ $field,
496
+ $text-inverse-default,
497
+ rgba(#ffffff, 0.1),
498
+ $icon-on-color
499
+ );
500
+
501
+ &:hover {
502
+ color: $text-inverse-default;
503
+ border: $button-border-width solid $fill-field;
504
+ }
505
+
506
+ &:focus {
507
+ color: $text-inverse-default;
508
+ }
509
+
510
+ &:hover:disabled,
511
+ &:focus:disabled {
512
+ color: $support-error-main;
513
+ border: $button-border-width solid $support-error-main;
514
+ }
515
+ }
516
+ }
517
+
518
+ // @include exports('button') {
519
+ // @include button;
520
+ // }
@@ -0,0 +1,5 @@
1
+ @forward "vars";
2
+ @forward "button";
3
+ @use "button";
4
+
5
+ @include button.button;
@@ -0,0 +1,92 @@
1
+ @use "vars" as *;
2
+ @use "../../config" as *;
3
+ @use "../../motion" as *;
4
+ @use "../../spacing" as *;
5
+ @use "../../theme" as *;
6
+ @use "../../type" as *;
7
+ @use "../../utilities/component-reset";
8
+ @use "../../utilities/convert" as *;
9
+ @use "../../utilities/rtl" as *;
10
+
11
+ @mixin button-base {
12
+ @include reset;
13
+ @include font-family("sans");
14
+ cursor: pointer;
15
+ display: inline-flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ vertical-align: bottom;
19
+ flex-shrink: 0;
20
+ font-size: $button-font-size;
21
+ font-weight: $button-font-weight;
22
+ height: $button-height;
23
+ padding: $button-padding;
24
+ border-radius: $button-border-radius;
25
+ text-align: center;
26
+ text-decoration: none;
27
+ transition-duration: $transition--base;
28
+ transition-timing-function: ease-in;
29
+ white-space: nowrap;
30
+ line-height: 16px;
31
+
32
+ &:disabled {
33
+ cursor: not-allowed;
34
+ opacity: 0.5;
35
+ }
36
+
37
+ .#{$prefix}--btn__icon {
38
+ //width: calcRem(16px);
39
+ //height: calcRem(16px);
40
+ margin-left: 0.5em;
41
+ @include rtl {
42
+ margin-left: initial;
43
+ margin-right: 0.5em;
44
+ }
45
+ // transition-duration: $transition--base;
46
+ // transition-timing-function: ease-in;
47
+ }
48
+ }
49
+
50
+ @mixin button-theme(
51
+ $bg-color,
52
+ $border-color,
53
+ $font-color,
54
+ $hover-bg-color,
55
+ $icon-color
56
+ ) {
57
+ background-color: $bg-color;
58
+ border-width: $button-border-width;
59
+ border-style: solid;
60
+ border-color: $border-color;
61
+
62
+ color: $font-color;
63
+
64
+ // TODO: Check if link override is still needed
65
+ &[role="button"] {
66
+ color: $font-color;
67
+ }
68
+ /* @at-root a {
69
+ color: $font-color !important;
70
+ } */
71
+ &:focus,
72
+ &:hover {
73
+ background-color: $hover-bg-color;
74
+ }
75
+
76
+ &:focus {
77
+ outline: none;
78
+ }
79
+
80
+ &:disabled:hover,
81
+ &:disabled:focus {
82
+ background-color: $bg-color;
83
+ }
84
+
85
+ &:active {
86
+ //background-color: darken($bg-color, 20%);
87
+ }
88
+
89
+ .#{$prefix}--btn__icon {
90
+ fill: $icon-color;
91
+ }
92
+ }
@@ -0,0 +1,69 @@
1
+ @use "../../spacing" as *;
2
+
3
+ /// @type Number
4
+ /// @access public
5
+ /// @group button
6
+ $button-font-weight: 700 !default;
7
+
8
+ /// @type Number
9
+ /// @access public
10
+ /// @group button
11
+ $button-font-size: 0.875rem !default;
12
+
13
+ /// @type Number
14
+ /// @access public
15
+ /// @group button
16
+ $button-border-radius: 2px !default;
17
+
18
+ /// @type Number
19
+ /// @access public
20
+ /// @group button
21
+ $button-height: 2.5rem !default;
22
+
23
+ /// @type Value
24
+ /// @access public
25
+ /// @group button
26
+ $button-padding: 0 0.8rem !default;
27
+
28
+ /// @type Value
29
+ /// @access public
30
+ /// @group button
31
+ $button-padding-field: calc(0.675rem - 3px) 60px calc(0.675rem - 3px) 12px !default;
32
+
33
+ /// @type Value
34
+ /// @access public
35
+ /// @group button
36
+ $button-padding-sm: 0 0.35rem !default;
37
+
38
+ /// @type Number
39
+ /// @access public
40
+ /// @group button
41
+ $button-padding-lg: $spacing-04 !default;
42
+
43
+ /// @type Number
44
+ /// @access public
45
+ /// @group button
46
+ /// Uses the same padding-y as normal buttons, but removes extra padding-right
47
+ $button-padding-ghost: calc(0.875rem - 3px) 16px !default;
48
+
49
+ /// @type Number
50
+ /// @access public
51
+ /// @group button
52
+ /// Uses the same padding-y as field buttons, but removes extra padding-right
53
+ $button-padding-ghost-field: calc(0.675rem - 3px) 16px !default;
54
+
55
+ /// @type Number
56
+ /// @access public
57
+ /// @group button
58
+ /// Uses the same padding-y as small buttons, but removes extra padding-right
59
+ $button-padding-ghost-sm: calc(0.375rem - 3px) 16px !default;
60
+
61
+ /// @type Number
62
+ /// @access public
63
+ /// @group button
64
+ $button-border-width: 2px !default;
65
+
66
+ /// @type Number
67
+ /// @access public
68
+ /// @group button
69
+ $button-outline-width: 1px !default;