@primer/brand-css 0.0.0-20250212132611

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 (75) hide show
  1. package/components/Accordion/Accordion.css +305 -0
  2. package/components/ActionMenu/ActionMenu.css +187 -0
  3. package/components/AnchorNav/AnchorNav.css +427 -0
  4. package/components/Avatar/Avatar.css +115 -0
  5. package/components/Bento/Bento.css +2157 -0
  6. package/components/Box/Box.css +2795 -0
  7. package/components/Box/Box.features.css +48 -0
  8. package/components/Breadcrumbs/Breadcrumbs.css +81 -0
  9. package/components/BreakoutBanner/BreakoutBanner.css +109 -0
  10. package/components/Button/Button.css +207 -0
  11. package/components/ButtonGroup/ButtonGroup.css +10 -0
  12. package/components/CTABanner/CTABanner.css +104 -0
  13. package/components/CTAForm/CTAForm.css +48 -0
  14. package/components/Card/Card.css +183 -0
  15. package/components/ComparisonTable/ComparisonTable.css +290 -0
  16. package/components/ExpandableArrow/ExpandableArrow.css +26 -0
  17. package/components/EyebrowBanner/EyebrowBanner.css +320 -0
  18. package/components/FAQ/FAQ.css +51 -0
  19. package/components/FAQ/FAQGroup.css +51 -0
  20. package/components/Footnotes/Footnotes.css +35 -0
  21. package/components/FrostedGlassVFX/FrostedGlassVFX.css +50 -0
  22. package/components/Grid/Grid.css +741 -0
  23. package/components/Heading/Heading.css +284 -0
  24. package/components/Hero/Hero.css +87 -0
  25. package/components/IDE/IDE.css +392 -0
  26. package/components/Icon/Icon.css +121 -0
  27. package/components/Image/Image.css +54 -0
  28. package/components/InlineLink/InlineLink.css +30 -0
  29. package/components/Label/Label.css +167 -0
  30. package/components/Link/Link.css +84 -0
  31. package/components/LogoSuite/LogoSuite.css +165 -0
  32. package/components/MinimalFooter/MinimalFooter.css +116 -0
  33. package/components/MonaSans/MonaSans.css +4 -0
  34. package/components/Pagination/Pagination.css +117 -0
  35. package/components/Pillar/Pillar.css +106 -0
  36. package/components/PricingOptions/PricingOptions.css +357 -0
  37. package/components/Prose/Prose.css +332 -0
  38. package/components/Section/Section.css +156 -0
  39. package/components/Section/Section.features.css +33 -0
  40. package/components/SectionIntro/SectionIntro.css +48 -0
  41. package/components/Stack/Stack.css +793 -0
  42. package/components/Statistic/Statistic.css +91 -0
  43. package/components/SubNav/SubNav.css +678 -0
  44. package/components/SubdomainNavBar/SubdomainNavBar.css +728 -0
  45. package/components/Testimonial/Testimonial.css +228 -0
  46. package/components/Text/Text.css +195 -0
  47. package/components/Timeline/Timeline.css +79 -0
  48. package/components/Tooltip/Tooltip.css +170 -0
  49. package/components/VideoPlayer/VideoPlayer.css +348 -0
  50. package/components/VideoPlayer/components/Captions/Captions.css +17 -0
  51. package/components/VideoPlayer/components/VolumeControl/VolumeControl.css +3 -0
  52. package/components/animation/Animation.css +192 -0
  53. package/components/animation/TextRevealAnimation/TextRevealAnimation.css +38 -0
  54. package/components/forms/Checkbox/Checkbox.css +88 -0
  55. package/components/forms/ControlGroup/ControlGroup.css +59 -0
  56. package/components/forms/FormControl/FormControl.css +113 -0
  57. package/components/forms/Radio/Radio.css +111 -0
  58. package/components/forms/Select/Select.css +143 -0
  59. package/components/forms/TextInput/TextInput.css +266 -0
  60. package/components/forms/Textarea/Textarea.css +129 -0
  61. package/components/list/ListItem/ListItem.css +29 -0
  62. package/components/list/OrderedList/OrderedList.css +3 -0
  63. package/components/list/list-shared.css +10 -0
  64. package/components/recipes/FeaturePreviewLPs/FeaturePreviewLevelOne/FeaturePreviewLevelOne.css +204 -0
  65. package/components/recipes/FeaturePreviewLPs/FeaturePreviewLevelTwo/FeaturePreviewLevelTwo.css +57 -0
  66. package/components/recipes/FeaturePreviewLPs/FeaturePreviewLevelZero/FeaturePreviewLevelZero.css +3 -0
  67. package/components/recipes/SolutionTemplates/CategoryPage/CategoryPage.css +83 -0
  68. package/components/recipes/SolutionTemplates/SolutionPage/SolutionPage.css +119 -0
  69. package/components/recipes/SolutionTemplates/SolutionsOverview/SolutionsOverview.css +35 -0
  70. package/components/recipes/SolutionTemplates/parallax.css +165 -0
  71. package/components/recipes/seo/Article/Article.css +289 -0
  72. package/components/recipes/seo/Category/CategoryPage.css +43 -0
  73. package/components/river/RiverStoryScroll/RiverStoryScroll.css +470 -0
  74. package/components/river/river-shared.css +205 -0
  75. package/package.json +42 -0
@@ -0,0 +1,348 @@
1
+ /* ---------------------------------------------------------- */
2
+ /* VideoPlayer Contents */
3
+ /* ---------------------------------------------------------- */
4
+ /* Table of contents: */
5
+ /* 1. Container */
6
+ /* 2. Player */
7
+ /* 2. Center Play Button */
8
+ /* 4. Title */
9
+ /* 5. Controls */
10
+ /* 6. Range Element */
11
+ /* 7. Tooltip */
12
+ /* 8. Captions */
13
+ /* ---------------------------------------------------------- */
14
+
15
+ /* ---------------------------------------------------------- */
16
+ /* 1. Container */
17
+ /* ---------------------------------------------------------- */
18
+
19
+ .VideoPlayer__container {
20
+ width: 100%;
21
+ position: relative;
22
+ border-radius: var(--brand-borderRadius-medium);
23
+ }
24
+
25
+ /* ---------------------------------------------------------- */
26
+ /* 2. Player */
27
+ /* ---------------------------------------------------------- */
28
+
29
+ .VideoPlayer {
30
+ width: 100%;
31
+ max-height: 100%;
32
+ display: block;
33
+ }
34
+
35
+ /* ---------------------------------------------------------- */
36
+ /* 3. Center Play Button */
37
+ /* ---------------------------------------------------------- */
38
+
39
+ .VideoPlayer__playButtonOverlay {
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
+ width: 100%;
44
+ height: 100%;
45
+ background: #00000033; /* TODO Use a token for this once v8 migration has been completed */
46
+ border: none;
47
+ z-index: 1;
48
+ }
49
+
50
+ .VideoPlayer__playButtonOverlay.VideoPlayer__playButtonOverlay--transparent {
51
+ background: transparent;
52
+ }
53
+
54
+ .VideoPlayer__playButtonOverlay:focus-visible {
55
+ outline: var(--brand-borderWidth-thicker) solid var(--brand-color-focus);
56
+ outline-offset: var(--base-size-2);
57
+ }
58
+
59
+ .VideoPlayer__playButton {
60
+ width: 25%;
61
+ height: 25%;
62
+ max-width: var(--brand-VideoPlayer-playButton-width);
63
+ max-height: var(--brand-VideoPlayer-playButton-height);
64
+ opacity: 0.8;
65
+ color: var(--brand-videoPlayer-playButton-fgColor-rest);
66
+ }
67
+
68
+ /* ---------------------------------------------------------- */
69
+ /* 4. Title */
70
+ /* ---------------------------------------------------------- */
71
+
72
+ .VideoPlayer__title {
73
+ transition: var(--brand-VideoPlayer-transition);
74
+ top: 0;
75
+ position: absolute;
76
+ left: 0;
77
+ width: 100%;
78
+ z-index: 2;
79
+ padding: var(--base-size-16);
80
+ color: var(--brand-videoPlayer-title-fgColor);
81
+ display: grid;
82
+ align-items: center;
83
+ justify-content: flex-start;
84
+ grid-gap: var(--base-size-12);
85
+ grid-template-columns: auto auto;
86
+ background: var(--brand-videoPlayer-title-bgColor);
87
+ transition: all var(--brand-animation-duration-fast) var(--brand-animation-easing-default);
88
+ }
89
+
90
+ .VideoPlayer__title.VideoPlayer__title--hidden {
91
+ opacity: 0;
92
+ visibility: hidden;
93
+ }
94
+
95
+ /* ---------------------------------------------------------- */
96
+ /* 5. Controls */
97
+ /* ---------------------------------------------------------- */
98
+
99
+ .VideoPlayer__controls {
100
+ transition: var(--brand-VideoPlayer-transition);
101
+ bottom: 0;
102
+ position: absolute;
103
+ z-index: 2;
104
+ width: 100%;
105
+ pointer-events: none;
106
+ opacity: 1;
107
+ transition: opacity 2s ease-in-out;
108
+ }
109
+
110
+ .VideoPlayer__controls--hidden {
111
+ opacity: 0;
112
+ }
113
+
114
+ .VideoPlayer__controlsBar {
115
+ display: flex;
116
+ gap: var(--base-size-16);
117
+ align-items: center;
118
+ border-bottom-right-radius: var(--brand-borderRadius-medium);
119
+ border-bottom-left-radius: var(--brand-borderRadius-medium);
120
+ left: 0;
121
+ width: 100%;
122
+ background: var(--brand-videoPlayer-controls-bgColor);
123
+ padding: var(--base-size-12) var(--base-size-16);
124
+ pointer-events: all;
125
+ opacity: 1;
126
+ }
127
+
128
+ .VideoPlayer__controlsBar--fade {
129
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
130
+ opacity: 0;
131
+ }
132
+
133
+ .VideoPlayer__controls:focus,
134
+ .VideoPlayer__controls:focus-within {
135
+ bottom: 0;
136
+ }
137
+
138
+ .VideoPlayer__controls:focus .VideoPlayer__controlsBar,
139
+ .VideoPlayer__controls:focus-within .VideoPlayer__controlsBar {
140
+ opacity: 1;
141
+ }
142
+
143
+ .VideoPlayer__iconControl {
144
+ width: auto;
145
+ background: none;
146
+ border: none;
147
+ cursor: pointer;
148
+ height: var(--base-size-24);
149
+ box-sizing: content-box;
150
+ position: relative;
151
+ padding: 0;
152
+ }
153
+
154
+ .VideoPlayer__iconControl:focus-visible {
155
+ border-color: var(--brand-color-focus);
156
+ outline: none;
157
+ box-shadow: 0 0 0 0.125rem var(--brand-color-focus);
158
+ opacity: 1;
159
+ }
160
+
161
+ .VideoPlayer__iconControl svg {
162
+ color: var(--brand-videoPlayer-controls-fgColor);
163
+ }
164
+
165
+ .VideoPlayer__iconControl:hover .VideoPlayer__tooltip {
166
+ opacity: 1;
167
+ }
168
+
169
+ .VideoPlayer__seek {
170
+ flex: 1;
171
+ display: flex;
172
+ align-items: center;
173
+ gap: var(--base-size-16);
174
+ }
175
+
176
+ .VideoPlayer__progressTime {
177
+ color: var(--brand-videoPlayer-controls-fgColor);
178
+ }
179
+
180
+ .VideoPlayer__container--small .VideoPlayer__totalTime {
181
+ display: none;
182
+ }
183
+
184
+ .VideoPlayer__progressBar {
185
+ flex: 1;
186
+ height: var(--base-size-6);
187
+ }
188
+
189
+ .VideoPlayer__closedCaption {
190
+ border-radius: var(--brand-borderRadius-medium);
191
+ padding: 0.125rem var(--base-size-4);
192
+ border: 0.125rem solid var(--brand-videoPlayer-closedCaption-borderColor-enabled);
193
+ background: var(--brand-videoPlayer-closedCaption-bgColor-enabled);
194
+ position: relative;
195
+ }
196
+
197
+ .VideoPlayer__ccOff {
198
+ background-color: transparent;
199
+ }
200
+
201
+ .VideoPlayer__ccText {
202
+ color: var(--brand-videoPlayer-closedCaption-fgColor-enabled);
203
+ }
204
+
205
+ .VideoPlayer__ccOff .VideoPlayer__ccText {
206
+ color: var(--brand-videoPlayer-closedCaption-fgColor-disabled);
207
+ }
208
+
209
+ /* ---------------------------------------------------------- */
210
+ /* 6. Range Element */
211
+ /* ---------------------------------------------------------- */
212
+ .VideoPlayer__range {
213
+ position: relative;
214
+ width: 100%;
215
+ min-width: var(--brand-VideoPlayer-range-minWidth);
216
+ height: var(--brand-VideoPlayer-range-height);
217
+ background-color: var(--brand-videoPlayer-range-bgColor-default);
218
+ border-radius: var(--brand-VideoPlayer-range-borderRadius);
219
+ }
220
+
221
+ .VideoPlayer__range:hover .VideoPlayer__tooltip {
222
+ opacity: 1;
223
+ }
224
+
225
+ .VideoPlayer__rangeInput {
226
+ -webkit-appearance: none;
227
+ -moz-appearance: none;
228
+ appearance: none;
229
+ z-index: 1;
230
+ display: block;
231
+ width: 100%;
232
+ height: var(--brand-VideoPlayer-range-height);
233
+ margin: 0;
234
+ cursor: pointer;
235
+ background: transparent;
236
+ position: absolute;
237
+ top: 0;
238
+ opacity: 0;
239
+ }
240
+
241
+ .VideoPlayer__rangeInput:focus-visible {
242
+ outline: var(--brand-borderWidth-thick) solid var(--brand-color-focus);
243
+ outline-offset: var(--base-size-4);
244
+ opacity: 1;
245
+ }
246
+
247
+ .VideoPlayer__range:hover .VideoPlayer__rangeInput {
248
+ opacity: 1;
249
+ }
250
+
251
+ .VideoPlayer__rangeInput::-moz-range-track,
252
+ .VideoPlayer__rangeInput::-webkit-slider-runnable-track {
253
+ background: transparent;
254
+ border: none;
255
+ }
256
+
257
+ .VideoPlayer__rangeProgress {
258
+ -webkit-appearance: none;
259
+ -moz-appearance: none;
260
+ appearance: none;
261
+ overflow: hidden;
262
+ border: 0;
263
+ border-radius: var(--brand-VideoPlayer-range-borderRadius);
264
+ width: 100%;
265
+ position: absolute;
266
+ height: var(--brand-VideoPlayer-range-height);
267
+ top: 0;
268
+ }
269
+
270
+ .VideoPlayer__rangeProgress::-webkit-progress-bar {
271
+ background-color: var(--brand-videoPlayer-range-bgColor-default);
272
+ }
273
+
274
+ .VideoPlayer__rangeProgress::-webkit-progress-value {
275
+ background-color: var(--brand-videoPlayer-range-bgColor-progress);
276
+ }
277
+
278
+ .VideoPlayer__rangeProgress::-moz-progress-bar {
279
+ background: var(--brand-videoPlayer-range-bgColor-progress);
280
+ }
281
+
282
+ .VideoPlayer__rangeProgress::-ms-fill-lower {
283
+ background-color: var(--brand-videoPlayer-range-bgColor-progress);
284
+ border: none;
285
+ }
286
+
287
+ .VideoPlayer__rangeProgress::-ms-fill-upper {
288
+ background-color: var(--brand-videoPlayer-range-bgColor-default);
289
+ border: none;
290
+ }
291
+
292
+ /* ---------------------------------------------------------- */
293
+ /* 7. Tooltip */
294
+ /* ---------------------------------------------------------- */
295
+
296
+ .VideoPlayer__tooltip {
297
+ position: absolute;
298
+ left: 50%;
299
+ bottom: 100%;
300
+ z-index: 2;
301
+ width: var(--base-size-8);
302
+ height: var(--base-size-8);
303
+ margin-bottom: var(--base-size-16);
304
+ pointer-events: none;
305
+ opacity: 0;
306
+ transform: translate(-50%, 50%);
307
+ transition: transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
308
+ }
309
+
310
+ .VideoPlayer__tooltip::before {
311
+ position: absolute;
312
+ bottom: calc(var(--base-size-4) * -1);
313
+ left: 0;
314
+ width: var(--base-size-12);
315
+ height: var(--base-size-12);
316
+ content: '';
317
+ background: var(--base-color-scale-white-0);
318
+ border-radius: var(--brand-borderRadius-small);
319
+ transform: rotate(45deg);
320
+ }
321
+
322
+ .VideoPlayer__tooltipContent {
323
+ position: absolute;
324
+ bottom: 0;
325
+ left: 50%;
326
+ z-index: -1;
327
+ background: white;
328
+ box-shadow: 0 var(--base-size-4) var(--base-size-4) #1b1f2433;
329
+ transform: translate3d(-50%, 0, 0);
330
+ padding: var(--brand-VideoPlayer-tooltip-padding-block) var(--brand-VideoPlayer-tooltip-padding-inline);
331
+ border-radius: var(--brand-borderRadius-medium);
332
+ }
333
+
334
+ .VideoPlayer__tooltipText {
335
+ color: var(--base-color-scale-gray-9);
336
+ }
337
+
338
+ .VideoPlayer__tooltip-visible {
339
+ opacity: 1;
340
+ }
341
+
342
+ .VideoPlayer__controlTextColor {
343
+ color: var(--base-color-scale-white-0);
344
+ }
345
+
346
+ .VideoPlayer__seekTime {
347
+ white-space: nowrap;
348
+ }
@@ -0,0 +1,17 @@
1
+ .Captions {
2
+ max-width: 80ch;
3
+ padding-inline: var(--base-size-16);
4
+ margin: var(--brand-VideoPlayer-closedCaption-margin);
5
+ display: grid;
6
+ justify-content: center;
7
+ pointer-events: none;
8
+ }
9
+
10
+ .Captions__text {
11
+ color: var(--brand-VideoPlayer-closedCaption-text-fgColor);
12
+ text-align: center;
13
+ background: var(--brand-VideoPlayer-closedCaption-text-bgColor);
14
+ padding: var(--brand-VideoPlayer-closedCaption-text-padding);
15
+ border-radius: var(--brand-borderRadius-medium);
16
+ display: inline-block;
17
+ }
@@ -0,0 +1,3 @@
1
+ .VolumeControl {
2
+ max-width: 100px;
3
+ }
@@ -0,0 +1,192 @@
1
+ .Animation {
2
+ transition: var(--brand-animation-transition-default);
3
+ }
4
+
5
+ /**
6
+ * Fade in
7
+ */
8
+ .Animation--fade-in {
9
+ opacity: 0;
10
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
11
+ }
12
+
13
+ .Animation--fade-in.Animation--active {
14
+ opacity: 1;
15
+ }
16
+
17
+ /**
18
+ * Fade out
19
+ */
20
+ .Animation--fade-out {
21
+ opacity: 1;
22
+ }
23
+
24
+ .Animation--fade-out.Animation--active {
25
+ opacity: 0;
26
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
27
+ }
28
+
29
+ /**
30
+ * Slide in up
31
+ */
32
+ .Animation--slide-in-up {
33
+ opacity: 0;
34
+ transform: translateY(var(--brand-animation-variant-slideInUp-distance));
35
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
36
+ transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
37
+ }
38
+
39
+ .Animation--slide-in-up.Animation--active {
40
+ opacity: 1;
41
+ transform: translateY(0);
42
+ }
43
+
44
+ /**
45
+ * Slide in down
46
+ */
47
+ .Animation--slide-in-down {
48
+ opacity: 0;
49
+ transform: translateY(var(--brand-animation-variant-slideInDown-distance));
50
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
51
+ transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
52
+ }
53
+
54
+ .Animation--slide-in-down.Animation--active {
55
+ opacity: 1;
56
+ transform: translateY(0);
57
+ }
58
+
59
+ /**
60
+ * Slide in left
61
+ */
62
+ .Animation--slide-in-left {
63
+ opacity: 0;
64
+ transform: translateX(var(--brand-animation-variant-slideInLeft-distance));
65
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
66
+ transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
67
+ }
68
+
69
+ .Animation--slide-in-left.Animation--active {
70
+ opacity: 1;
71
+ transform: translateX(0);
72
+ }
73
+
74
+ /**
75
+ * Slide in right
76
+ */
77
+ .Animation--slide-in-right {
78
+ opacity: 0;
79
+ transform: translateX(var(--brand-animation-variant-slideInRight-distance));
80
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
81
+ transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
82
+ }
83
+
84
+ .Animation--slide-in-right.Animation--active {
85
+ opacity: 1;
86
+ transform: translateX(0);
87
+ }
88
+
89
+ /**
90
+ * Scale in
91
+ */
92
+ .Animation--scale-in {
93
+ opacity: 0;
94
+ transform: scale(var(--brand-animation-variant-scaleIn-start));
95
+ transition: opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default),
96
+ transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);
97
+ }
98
+
99
+ .Animation--scale-in.Animation--active {
100
+ opacity: 1;
101
+ transform: scale(--brand-animation-variant-scaleIn-end);
102
+ }
103
+
104
+ /**
105
+ * Scale in up
106
+ */
107
+ .Animation--scale-in-up {
108
+ opacity: 0;
109
+ transform: scale(var(--brand-animation-variant-scaleInUp-start))
110
+ translateY(var(--brand-animation-variant-scaleInUp-distance));
111
+ transition: opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default),
112
+ transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);
113
+ }
114
+
115
+ .Animation--scale-in-up.Animation--active {
116
+ opacity: 1;
117
+ transform: scale(var(--brand-animation-variant-scaleInUp-end)) translateY(0);
118
+ }
119
+
120
+ /**
121
+ * Scale in down
122
+ */
123
+ .Animation--scale-in-down {
124
+ opacity: 0;
125
+ transform: translateY(var(--brand-animation-variant-scaleInDown-distance))
126
+ scale(var(--brand-animation-variant-scaleInDown-start));
127
+ transition: opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default),
128
+ transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);
129
+ }
130
+
131
+ .Animation--scale-in-down.Animation--active {
132
+ opacity: 1;
133
+ transform: translateY(0) scale(var(--brand-animation-variant-scaleInDown-end));
134
+ }
135
+
136
+ /**
137
+ * Scale in right
138
+ */
139
+ .Animation--scale-in-right {
140
+ opacity: 0;
141
+ transform: scale(var(--brand-animation-variant-scaleInRight-start))
142
+ translateX(var(--brand-animation-variant-scaleInRight-distance));
143
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default),
144
+ transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
145
+ }
146
+
147
+ .Animation--scale-in-right.Animation--active {
148
+ opacity: 1;
149
+ transform: translateX(0) scale(var(--brand-animation-variant-scaleInRight-end));
150
+ }
151
+
152
+ /**
153
+ * Scale in left
154
+ */
155
+ .Animation--scale-in-left {
156
+ opacity: 0;
157
+ transform: scale(var(--brand-animation-variant-scaleInLeft-start))
158
+ translateX(var(--brand-animation-variant-scaleInLeft-distance));
159
+ transition: opacity var(--brand-animation-duration-extended) var(--brand-animation-easing-default),
160
+ transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);
161
+ }
162
+
163
+ .Animation--scale-in-left.Animation--active {
164
+ opacity: 1;
165
+ transform: translateX(0) scale(var(--brand-animation-variant-scaleInLeft-end));
166
+ }
167
+
168
+ /**
169
+ * Fill in right
170
+ */
171
+ .Animation--fill-in-right {
172
+ transform-origin: left;
173
+ transform: scaleX(0);
174
+ transition: transform var(--brand-animation-duration-default) var(--brand-animation-easing-default);
175
+ }
176
+
177
+ .Animation--fill-in-right.Animation--active {
178
+ transform: scaleX(1);
179
+ }
180
+
181
+ /**
182
+ * Scale in top
183
+ */
184
+ .Animation--fill-in-top {
185
+ transform-origin: top;
186
+ transform: scaleY(0);
187
+ transition: transform var(--brand-animation-duration-extended) var(--brand-animation-easing-default);
188
+ }
189
+
190
+ .Animation--fill-in-top.Animation--active {
191
+ transform: scaleY(1);
192
+ }
@@ -0,0 +1,38 @@
1
+ @keyframes wipe {
2
+ from {
3
+ transform: scaleX(1);
4
+ }
5
+ to {
6
+ transform: scaleX(0);
7
+ }
8
+ }
9
+
10
+ .TextRevealAnimation {
11
+ opacity: 0;
12
+ transition: opacity var(--brand-animation-duration-default) var(--brand-animation-easing-default);
13
+ }
14
+
15
+ .TextRevealAnimation--visible {
16
+ opacity: 1;
17
+ }
18
+
19
+ .TextRevealAnimation,
20
+ .TextRevealAnimation--animated {
21
+ width: 100%;
22
+ min-height: 1lh;
23
+ position: relative;
24
+ }
25
+
26
+ .TextRevealAnimation--animated::after {
27
+ content: '';
28
+ display: inline;
29
+ position: absolute;
30
+ top: 0;
31
+ right: 0;
32
+ width: 100%;
33
+ height: 100%;
34
+ background-color: var(--brand-color-accent-primary);
35
+ transform-origin: right;
36
+ animation: wipe var(--brand-animation-duration-extended) forwards var(--brand-animation-easing-default);
37
+ animation-delay: var(--animation-delay);
38
+ }
@@ -0,0 +1,88 @@
1
+ /*
2
+ * Default Checkbox styles
3
+ */
4
+ .Checkbox-wrapper {
5
+ position: relative;
6
+ grid-row: 1;
7
+ }
8
+
9
+ .Checkbox {
10
+ align-items: center;
11
+ background-color: var(--brand-control-checkbox-bg-default);
12
+ border: solid var(--brand-borderWidth-thick, 1px) var(--brand-control-color-border-default);
13
+ border-radius: var(--brand-borderRadius-small);
14
+ cursor: pointer;
15
+ display: inline-flex;
16
+ height: 20px;
17
+ justify-content: center;
18
+ margin: 3px 0; /* mimic default browser-applied vertical margin */
19
+ transition: all 0.35s ease-out;
20
+ width: 20px;
21
+ outline: 1px solid var(--brand-control-checkbox-bg-default);
22
+ box-shadow: 0 0 0 3px transparent;
23
+ }
24
+
25
+ /**
26
+ * Checkbox native input - visually hidden
27
+ */
28
+ .Checkbox-input {
29
+ border: 0;
30
+ clip: rect(1px, 1px, 1px, 1px);
31
+ height: 1px;
32
+ overflow: hidden;
33
+ padding: 0;
34
+ position: absolute;
35
+ width: 1px;
36
+ }
37
+
38
+ .Checkbox-checkmark {
39
+ height: 16px;
40
+ width: 16px;
41
+ }
42
+
43
+ .Checkbox-checkmark-path {
44
+ stroke: var(--brand-color-focus);
45
+ stroke-dashoffset: 111.46px;
46
+ stroke-dasharray: 111.46px;
47
+ transition: all 350ms var(--brand-control-animation-easing);
48
+ }
49
+
50
+ /*
51
+ * Checked state
52
+ */
53
+
54
+ .Checkbox-input:checked + .Checkbox,
55
+ .Checkbox--indeterminate {
56
+ background: var(--brand-control-checkbox-bg-checked);
57
+ border-color: var(--brand-control-checkbox-border-checked);
58
+ }
59
+
60
+ .Checkbox--indeterminate .Checkbox-checkmark {
61
+ fill: var(--brand-control-checkbox-fg-checked);
62
+ }
63
+
64
+ .Checkbox-input:checked + .Checkbox .Checkbox-checkmark-path,
65
+ .Checkbox--indeterminate .Checkbox-checkmark-path {
66
+ stroke: var(--brand-control-checkbox-fg-checked);
67
+ stroke-dashoffset: 0;
68
+ }
69
+
70
+ .Checkbox-input:focus + .Checkbox {
71
+ box-shadow: 0 0 0 3px var(--brand-color-focus);
72
+ }
73
+
74
+ /* TODO: Check with a11y team */
75
+ .Checkbox-input:checked:focus + .Checkbox,
76
+ .Checkbox-input:focus + .Checkbox--indeterminate {
77
+ border-color: var(--brand-control-checkbox-border-checked);
78
+ }
79
+
80
+ .Checkbox-input[disabled] + .Checkbox,
81
+ .Checkbox-input[disabled]:checked + .Checkbox {
82
+ -webkit-text-fill-color: var(--brand-control-color-fg-disabled);
83
+ color: var(--brand-control-color-fg-disabled);
84
+ cursor: not-allowed;
85
+ background-color: var(--brand-control-checkbox-bg-disabled);
86
+ border-color: var(--brand-control-color-border-disabled);
87
+ opacity: 1;
88
+ }