@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,106 @@
1
+ .Pillar {
2
+ max-width: 50ch;
3
+ color: var(--brand-color-text-default);
4
+ display: flex;
5
+ flex-direction: column;
6
+ }
7
+
8
+ .Pillar--has-border {
9
+ border: var(--brand-borderWidth-thin) solid var(--brand-color-border-default);
10
+ border-radius: var(--brand-borderRadius-xlarge);
11
+ padding: var(--base-size-32);
12
+ }
13
+
14
+ .Pillar.Pillar--align-center {
15
+ align-items: center;
16
+ text-align: center;
17
+ }
18
+
19
+ .Pillar.Pillar--align-start {
20
+ align-items: flex-start;
21
+ text-align: left;
22
+ }
23
+
24
+ .Pillar__image {
25
+ margin-bottom: var(--base-size-28);
26
+ border-radius: var(--brand-borderRadius-medium);
27
+ overflow: hidden;
28
+ }
29
+
30
+ .Pillar__image img,
31
+ .Pillar__image span {
32
+ display: block;
33
+ }
34
+
35
+ .Pillar__icon {
36
+ display: flex;
37
+ margin-bottom: var(--base-size-24);
38
+ }
39
+
40
+ .Pillar__heading {
41
+ margin-bottom: var(--base-size-16);
42
+ }
43
+
44
+ .Pillar__description:not(.Pillar--has-border .Pillar__description:last-child) {
45
+ margin-bottom: var(--base-size-24);
46
+ }
47
+
48
+ .Pillar__link {
49
+ margin-top: auto;
50
+ }
51
+
52
+ .Pillar__icon--color-default {
53
+ color: var(--brand-Pillar-icon-color-default);
54
+ }
55
+
56
+ .Pillar__icon--color-blue {
57
+ color: var(--brand-Pillar-icon-color-blue);
58
+ }
59
+
60
+ .Pillar__icon--color-coral {
61
+ color: var(--brand-Pillar-icon-color-coral);
62
+ }
63
+
64
+ .Pillar__icon--color-green {
65
+ color: var(--brand-Pillar-icon-color-green);
66
+ }
67
+
68
+ .Pillar__icon--color-gray {
69
+ color: var(--brand-Pillar-icon-color-gray);
70
+ }
71
+
72
+ .Pillar__icon--color-indigo {
73
+ color: var(--brand-Pillar-icon-color-indigo);
74
+ }
75
+
76
+ .Pillar__icon--color-lemon {
77
+ color: var(--brand-Pillar-icon-color-lemon);
78
+ }
79
+
80
+ .Pillar__icon--color-lime {
81
+ color: var(--brand-Label-color-lime);
82
+ }
83
+
84
+ .Pillar__icon--color-orange {
85
+ color: var(--brand-Pillar-icon-color-orange);
86
+ }
87
+
88
+ .Pillar__icon--color-pink {
89
+ color: var(--brand-Pillar-icon-color-pink);
90
+ }
91
+
92
+ .Pillar__icon--color-purple {
93
+ color: var(--brand-Pillar-icon-color-purple);
94
+ }
95
+
96
+ .Pillar__icon--color-red {
97
+ color: var(--brand-Pillar-icon-color-red);
98
+ }
99
+
100
+ .Pillar__icon--color-teal {
101
+ color: var(--brand-Pillar-icon-color-teal);
102
+ }
103
+
104
+ .Pillar__icon--color-yellow {
105
+ color: var(--brand-Pillar-icon-color-yellow);
106
+ }
@@ -0,0 +1,357 @@
1
+ /* ---------------------------------------------------------- */
2
+ /* Container */
3
+ /* ---------------------------------------------------------- */
4
+
5
+ .PricingOptions {
6
+ --brand-pricing-options-item-gap: var(--brand-PricingOptions-items-gap);
7
+ --brand-pricing-options-container-padding-inline: 0;
8
+
9
+ /* prettier-ignore */
10
+ --brand-pricing-options-template-areas:
11
+ 'leadingComponent'
12
+ 'label'
13
+ 'heading'
14
+ 'description'
15
+ 'price'
16
+ 'actions'
17
+ 'feature-list'
18
+ 'footnote'
19
+ ;
20
+
21
+ /* prettier-ignore */
22
+ --brand-pricing-options-template-areas-single-item:
23
+ 'leadingComponent actions'
24
+ 'label actions'
25
+ 'heading actions'
26
+ 'description actions'
27
+ 'price actions'
28
+ 'feature-list actions';
29
+
30
+ display: grid;
31
+ row-gap: var(--brand-pricing-options-item-gap);
32
+ padding-inline: var(--brand-pricing-options-container-padding-inline);
33
+ }
34
+
35
+ @media (min-width: 63.25rem) {
36
+ .PricingOptions {
37
+ grid-template-areas: var(--brand-pricing-options-template-areas);
38
+ }
39
+ }
40
+
41
+ /* ---------------------------------------------------------- */
42
+ /* Layout: default */
43
+ /* ---------------------------------------------------------- */
44
+
45
+ .PricingOptions--variant-default {
46
+ border-radius: var(--brand-borderRadius-xlarge);
47
+ border: solid var(--brand-borderWidth-thin) var(--brand-color-border-default);
48
+ background-color: var(--brand-PricingOptions-item-bgColor);
49
+ }
50
+
51
+ @media (min-width: 63.25rem) {
52
+ .PricingOptions--variant-default {
53
+ padding-inline: var(--brand-pricing-options-container-padding-inline);
54
+ }
55
+ }
56
+
57
+ .PricingOptions--variant-default .PricingOptions__item {
58
+ position: relative; /* Used for positioning the divider between items */
59
+ padding-inline: var(--base-size-24);
60
+ padding-block: var(--base-size-24);
61
+ }
62
+
63
+ @media (min-width: 63.25rem) {
64
+ .PricingOptions--variant-default .PricingOptions__item {
65
+ padding-inline: 0;
66
+ padding-block: var(--base-size-40);
67
+ }
68
+ }
69
+
70
+ /* Horizontal divider between items on small viewports */
71
+ .PricingOptions--variant-default .PricingOptions__item:nth-child(n + 2)::before {
72
+ content: '';
73
+ position: absolute;
74
+ inset-inline: 0;
75
+ height: 1px;
76
+ background-color: var(--brand-color-border-default);
77
+ }
78
+
79
+ /* Vertical divider between items on larger viewports */
80
+ @media (min-width: 63.25rem) {
81
+ .PricingOptions--variant-default .PricingOptions__item:nth-child(n + 2)::before {
82
+ inset-inline: 0;
83
+ inset-block: 0;
84
+ width: 1px;
85
+ height: auto;
86
+ margin-block-start: 0;
87
+ margin-inline-start: calc(var(--brand-pricing-options-item-gap) / 2 * -1);
88
+ }
89
+ }
90
+
91
+ /* ---------------------------------------------------------- */
92
+ /* Layout: cards */
93
+ /* ---------------------------------------------------------- */
94
+
95
+ .PricingOptions--variant-cards .PricingOptions__item {
96
+ padding-inline: var(--base-size-32);
97
+ border-radius: var(--brand-borderRadius-xlarge);
98
+ border: solid 1px var(--brand-color-border-default);
99
+ background-color: var(--brand-PricingOptions-item-bgColor);
100
+ padding-block: var(--base-size-32);
101
+ }
102
+
103
+ /* ---------------------------------------------------------- */
104
+ /* Single item */
105
+ /* ---------------------------------------------------------- */
106
+
107
+ @media (min-width: 63.25rem) {
108
+ .PricingOptions--items1 {
109
+ --brand-pricing-options-container-padding-inline: var(--base-size-48);
110
+
111
+ display: block;
112
+ }
113
+
114
+ .PricingOptions--items1 .PricingOptions__item {
115
+ display: grid;
116
+ grid-template-columns: 1fr 1fr;
117
+ -moz-column-gap: calc(var(--base-size-96) * 2);
118
+ column-gap: calc(var(--base-size-96) * 2);
119
+ grid-template-rows: repeat(auto-fit, minmax(0, 1fr));
120
+ grid-template-areas: var(--brand-pricing-options-template-areas-single-item);
121
+ }
122
+
123
+ .PricingOptions--items1 .PricingOptions__actions {
124
+ align-self: center;
125
+ }
126
+ }
127
+
128
+ /* ---------------------------------------------------------- */
129
+ /* Multiple items */
130
+ /* ---------------------------------------------------------- */
131
+
132
+ @media (min-width: 63.25rem) {
133
+ .PricingOptions--items2,
134
+ .PricingOptions--items3 {
135
+ grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
136
+ -moz-column-gap: var(--brand-pricing-options-item-gap);
137
+ column-gap: var(--brand-pricing-options-item-gap);
138
+ row-gap: 0;
139
+ }
140
+
141
+ .PricingOptions--variant-default.PricingOptions--items2 {
142
+ --brand-pricing-options-item-gap: var(--brand-PricingOptions-items2-gap);
143
+ --brand-pricing-options-container-padding-inline: var(--brand-PricingOptions-items2-container-padding-inline);
144
+ }
145
+
146
+ .PricingOptions--variant-default.PricingOptions--items3 {
147
+ --brand-pricing-options-item-gap: var(--brand-PricingOptions-items3-gap);
148
+ --brand-pricing-options-container-padding-inline: var(--brand-PricingOptions-items3-container-padding-inline);
149
+ }
150
+ }
151
+
152
+ /* ---------------------------------------------------------- */
153
+ /* Item inner layout */
154
+ /* ---------------------------------------------------------- */
155
+
156
+ .PricingOptions__item {
157
+ display: grid;
158
+ grid-template-areas: var(--brand-pricing-options-template-areas);
159
+ }
160
+
161
+ @media (min-width: 63.28rem) {
162
+ .PricingOptions__item {
163
+ grid-row: label / footnote;
164
+ grid-template-rows: subgrid;
165
+ }
166
+
167
+ .PricingOptions__item--has-leading-component {
168
+ grid-row: leadingComponent / footnote;
169
+ }
170
+ }
171
+
172
+ /*
173
+ * Backwards compatibility for browsers that don't support subgrid.
174
+ * Once subgrid is supported in the last 3 major versions of Safari (i.e., when Safari 18 is released), it can be fully removed.
175
+ * https://caniuse.com/css-subgrid
176
+ */
177
+ @supports not (grid-template-rows: subgrid) {
178
+ @media (min-width: 63.28rem) {
179
+ .PricingOptions__item {
180
+ grid-template-areas: var(--brand-pricing-options-template-areas);
181
+ grid-template-columns: 1fr;
182
+ grid-template-rows: auto;
183
+ }
184
+ }
185
+ }
186
+
187
+ /* ---------------------------------------------------------- */
188
+ /* Content */
189
+ /* ---------------------------------------------------------- */
190
+
191
+ .PricingOptions__leading-component {
192
+ grid-row: leadingComponent;
193
+ }
194
+
195
+ .PricingOptions__label {
196
+ /* Sets the color of the label to the primary accent color, if it exists */
197
+ --brand-Label-color: var(--brand-color-accent-primary);
198
+
199
+ /* Sets the color of the label to the primary accent gradient, if it exists */
200
+ /* TODO accent grandient tokens do not exist yet */
201
+ --brand-Label-color-start: var(--brand-color-accent-primary-start);
202
+ --brand-Label-color-end: var(--brand-color-accent-primary-end);
203
+
204
+ grid-row: label;
205
+ justify-self: flex-start;
206
+ }
207
+
208
+ .PricingOptions__heading {
209
+ grid-row: heading;
210
+ margin-block: var(--base-size-16);
211
+ }
212
+
213
+ .PricingOptions__description {
214
+ grid-row: description;
215
+ }
216
+
217
+ .PricingOptions__price {
218
+ display: flex;
219
+ flex-wrap: wrap;
220
+ -moz-column-gap: var(--base-size-12);
221
+ column-gap: var(--base-size-12);
222
+ grid-row: price;
223
+ padding-block: var(--base-size-24);
224
+ }
225
+
226
+ .PricingOptions__price-currency-symbol {
227
+ line-height: var(--brand-text-lineHeight-400);
228
+ }
229
+
230
+ .PricingOptions__price-currency-code {
231
+ align-self: flex-end;
232
+ }
233
+
234
+ .PricingOptions__price-value {
235
+ font-size: 3.5rem;
236
+ line-height: 1;
237
+ }
238
+
239
+ .PricingOptions__price-original-price {
240
+ display: inline-flex;
241
+ align-self: flex-end;
242
+ text-decoration: none;
243
+ }
244
+
245
+ .PricingOptions__price-original-price-value {
246
+ text-decoration: line-through;
247
+ }
248
+
249
+ .PricingOptions__price-trailing-text {
250
+ flex: 1 0 100%;
251
+ display: block;
252
+ }
253
+
254
+ .PricingOptions__actions {
255
+ grid-row: actions;
256
+ display: flex;
257
+ flex-direction: column;
258
+ gap: var(--base-size-8);
259
+ align-items: flex-end;
260
+ padding-block-start: var(--base-size-24);
261
+ }
262
+
263
+ .PricingOptions__footnote {
264
+ grid-row: footnote;
265
+ display: flex;
266
+ flex-direction: column;
267
+ justify-content: flex-end;
268
+ gap: var(--base-size-24);
269
+ margin-block-start: var(--base-size-40);
270
+ }
271
+
272
+ /* ---------------------------------------------------------- */
273
+ /* Feature list */
274
+ /* ---------------------------------------------------------- */
275
+
276
+ .PricingOptions__feature-list {
277
+ display: flex;
278
+ flex-direction: column;
279
+ gap: var(--base-size-8);
280
+ grid-row: feature-list;
281
+ margin-block-start: var(--base-size-24);
282
+ }
283
+
284
+ .PricingOptions__feature-list--has-divider {
285
+ border-block-start: solid 1px var(--brand-color-border-default);
286
+ margin: 0;
287
+ margin-block-start: var(--base-size-24);
288
+ padding-block-start: var(--base-size-40);
289
+ padding-inline: 0;
290
+ }
291
+
292
+ .PricingOptions__feature-list-set:nth-child(n + 2) {
293
+ margin-block-start: var(--base-size-24);
294
+ }
295
+
296
+ .PricingOptions__feature-list-heading {
297
+ color: var(--brand-color-accent-primary);
298
+ margin-block-end: var(--base-size-8);
299
+ }
300
+
301
+ .PricingOptions__feature-list-item--excluded span {
302
+ color: var(--brand-color-text-muted);
303
+ }
304
+
305
+ .PricingOptions__feature-list + .PricingOptions__feature-list-heading {
306
+ margin-block-start: var(--base-size-24);
307
+ }
308
+
309
+ /*
310
+ * Accordion component overrides
311
+ */
312
+
313
+ /* Remove paddings and borders */
314
+ .PricingOptions__feature-list-accordion {
315
+ border: 0;
316
+ padding: 0;
317
+ }
318
+
319
+ /* Remove hover effect */
320
+ .PricingOptions__feature-list-accordion::after {
321
+ content: none !important;
322
+ }
323
+
324
+ /* Adjust heading spacing */
325
+ .PricingOptions__feature-list-accordion-heading {
326
+ padding: var(--base-size-16) 0;
327
+ padding-inline-start: 0 !important; /* Fixes dotcom specificity issue */
328
+ margin-block-start: calc(var(--base-size-16) * -1);
329
+ margin-block-end: var(--base-size-8);
330
+ }
331
+
332
+ /* Accordion heading styling */
333
+ .PricingOptions__feature-list-accordion .PricingOptions__feature-list-accordion-heading h4 {
334
+ color: var(--brand-color-text-muted);
335
+ font-size: var(--brand-text-size-300);
336
+ line-height: var(--brand-text-lineHeight-300);
337
+ gap: var(--base-size-8);
338
+ display: inline-flex;
339
+ align-items: center;
340
+ }
341
+
342
+ /* Hide default icon */
343
+ .PricingOptions__feature-list-accordion .PricingOptions__feature-list-accordion-heading span {
344
+ display: none;
345
+ }
346
+
347
+ /* Adjust content paddings */
348
+ .PricingOptions__feature-list-accordion .PricingOptions__feature-list-accordion-content {
349
+ padding: 0;
350
+ padding-block-start: var(--base-size-40);
351
+ padding-inline-start: 0 !important;
352
+ }
353
+
354
+ /* Chevron up icon */
355
+ .PricingOptions__feature-list-accordion[open] .PricingOptions__feature-list-accordion-chevron {
356
+ transform: rotate(180deg);
357
+ }