@tacc/core-styles 0.5.1
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.
- package/.postcssrc.base.yml +48 -0
- package/README.md +244 -0
- package/bin/build.js +40 -0
- package/bin/config.js +90 -0
- package/bin/version.js +24 -0
- package/cli.js +77 -0
- package/dist/branding_logos.css +2 -0
- package/dist/components/README.css +1 -0
- package/dist/components/bootstrap.container.css +2 -0
- package/dist/components/bootstrap.figure.css +2 -0
- package/dist/components/bootstrap.pagination.css +2 -0
- package/dist/components/c-button.css +2 -0
- package/dist/components/c-callout.css +2 -0
- package/dist/components/c-card.css +2 -0
- package/dist/components/c-data-list.css +2 -0
- package/dist/components/c-footer.css +2 -0
- package/dist/components/c-image-map.css +2 -0
- package/dist/components/c-image-map.skin.css +1 -0
- package/dist/components/c-image-map.structure.css +2 -0
- package/dist/components/c-nav.css +2 -0
- package/dist/components/c-page.css +2 -0
- package/dist/components/c-recognition.css +2 -0
- package/dist/components/c-see-all-link.css +2 -0
- package/dist/components/c-show-more.css +2 -0
- package/dist/elements/README.css +1 -0
- package/dist/elements/figure.css +2 -0
- package/dist/elements/html-elements.css +2 -0
- package/dist/elements/tacc-search-bar.css +2 -0
- package/dist/generics/README.css +1 -0
- package/dist/objects/README.css +1 -0
- package/dist/objects/o-flex-item-table-wrap.css +2 -0
- package/dist/objects/o-grid.css +2 -0
- package/dist/objects/o-offset-content.css +2 -0
- package/dist/objects/o-section.css +2 -0
- package/dist/objects/o-site.css +2 -0
- package/dist/settings/README.css +1 -0
- package/dist/settings/border.css +2 -0
- package/dist/settings/color.css +2 -0
- package/dist/settings/font.css +2 -0
- package/dist/settings/max-width.css +2 -0
- package/dist/settings/space.css +2 -0
- package/dist/tools/README.css +1 -0
- package/dist/tools/media-queries.css +1 -0
- package/dist/tools/x-article-link.css +2 -0
- package/dist/tools/x-center.css +2 -0
- package/dist/tools/x-fake-border.css +2 -0
- package/dist/tools/x-grid.css +1 -0
- package/dist/tools/x-layout.css +2 -0
- package/dist/tools/x-overlay.css +1 -0
- package/dist/tools/x-truncate.css +2 -0
- package/dist/trumps/README.css +1 -0
- package/dist/trumps/icon.css +2 -0
- package/dist/trumps/icon.fonts.css +2 -0
- package/dist/trumps/s-article-list.css +2 -0
- package/dist/trumps/s-article-preview.css +2 -0
- package/dist/trumps/s-blockquote.css +2 -0
- package/dist/trumps/s-breadcrumbs.css +2 -0
- package/dist/trumps/s-cms-nav.css +1 -0
- package/dist/trumps/s-document.css +2 -0
- package/dist/trumps/s-footer.css +2 -0
- package/dist/trumps/s-guide-doc.css +2 -0
- package/dist/trumps/s-header.css +2 -0
- package/dist/trumps/s-inline-dl.css +2 -0
- package/dist/trumps/s-portal-nav.css +2 -0
- package/dist/trumps/s-style-guide.css +2 -0
- package/dist/trumps/s-system-specs.css +2 -0
- package/dist/trumps/tacc-search-bar.css +2 -0
- package/dist/trumps/u-empty.css +1 -0
- package/dist/trumps/u-hide.css +2 -0
- package/dist/trumps/u-nested-text-content.css +2 -0
- package/index.js +45 -0
- package/package.json +49 -0
- package/source/README.md +8 -0
- package/source/_imports/README.md +47 -0
- package/source/_imports/branding_logos.css +73 -0
- package/source/_imports/components/README.css +26 -0
- package/source/_imports/components/bootstrap.container.css +23 -0
- package/source/_imports/components/bootstrap.figure.css +17 -0
- package/source/_imports/components/bootstrap.pagination.css +29 -0
- package/source/_imports/components/c-button.css +210 -0
- package/source/_imports/components/c-button.html +31 -0
- package/source/_imports/components/c-callout.css +183 -0
- package/source/_imports/components/c-callout.html +52 -0
- package/source/_imports/components/c-card.css +57 -0
- package/source/_imports/components/c-card.html +32 -0
- package/source/_imports/components/c-data-list.css +222 -0
- package/source/_imports/components/c-data-list.html +145 -0
- package/source/_imports/components/c-footer.css +67 -0
- package/source/_imports/components/c-footer.html +3 -0
- package/source/_imports/components/c-image-map.css +26 -0
- package/source/_imports/components/c-image-map.html +4 -0
- package/source/_imports/components/c-image-map.skin.css +1 -0
- package/source/_imports/components/c-image-map.structure.css +285 -0
- package/source/_imports/components/c-nav.css +164 -0
- package/source/_imports/components/c-nav.html +45 -0
- package/source/_imports/components/c-page.css +95 -0
- package/source/_imports/components/c-page.html +192 -0
- package/source/_imports/components/c-recognition.css +102 -0
- package/source/_imports/components/c-see-all-link.css +52 -0
- package/source/_imports/components/c-show-more.css +50 -0
- package/source/_imports/elements/README.css +47 -0
- package/source/_imports/elements/figure.css +23 -0
- package/source/_imports/elements/html-elements.css +386 -0
- package/source/_imports/elements/tacc-search-bar.css +19 -0
- package/source/_imports/elements/tacc-search-bar.md +20 -0
- package/source/_imports/generics/README.css +24 -0
- package/source/_imports/generics/README.md +9 -0
- package/source/_imports/objects/README.css +22 -0
- package/source/_imports/objects/o-flex-item-table-wrap.css +50 -0
- package/source/_imports/objects/o-grid.css +131 -0
- package/source/_imports/objects/o-grid.html +64 -0
- package/source/_imports/objects/o-offset-content.css +51 -0
- package/source/_imports/objects/o-section.css +270 -0
- package/source/_imports/objects/o-section.html +73 -0
- package/source/_imports/objects/o-site.css +26 -0
- package/source/_imports/objects/o-site.html +11 -0
- package/source/_imports/settings/README.css +65 -0
- package/source/_imports/settings/border.css +15 -0
- package/source/_imports/settings/color.css +30 -0
- package/source/_imports/settings/font.css +49 -0
- package/source/_imports/settings/max-width.css +31 -0
- package/source/_imports/settings/space.css +36 -0
- package/source/_imports/tools/README.css +17 -0
- package/source/_imports/tools/media-queries.css +48 -0
- package/source/_imports/tools/x-article-link.css +62 -0
- package/source/_imports/tools/x-center.css +60 -0
- package/source/_imports/tools/x-fake-border.css +72 -0
- package/source/_imports/tools/x-grid.css +116 -0
- package/source/_imports/tools/x-layout.css +86 -0
- package/source/_imports/tools/x-overlay.css +28 -0
- package/source/_imports/tools/x-truncate.css +47 -0
- package/source/_imports/trumps/README.css +79 -0
- package/source/_imports/trumps/icon.css +31 -0
- package/source/_imports/trumps/icon.fonts.css +316 -0
- package/source/_imports/trumps/s-article-list.css +240 -0
- package/source/_imports/trumps/s-article-list.html +20 -0
- package/source/_imports/trumps/s-article-preview.css +253 -0
- package/source/_imports/trumps/s-article-preview.html +30 -0
- package/source/_imports/trumps/s-blockquote.css +45 -0
- package/source/_imports/trumps/s-breadcrumbs.css +69 -0
- package/source/_imports/trumps/s-cms-nav.css +11 -0
- package/source/_imports/trumps/s-cms-nav.html +41 -0
- package/source/_imports/trumps/s-document.css +142 -0
- package/source/_imports/trumps/s-footer.css +16 -0
- package/source/_imports/trumps/s-footer.html +3 -0
- package/source/_imports/trumps/s-guide-doc.css +77 -0
- package/source/_imports/trumps/s-header.css +181 -0
- package/source/_imports/trumps/s-header.html +46 -0
- package/source/_imports/trumps/s-inline-dl.css +35 -0
- package/source/_imports/trumps/s-portal-nav.css +20 -0
- package/source/_imports/trumps/s-portal-nav.html +37 -0
- package/source/_imports/trumps/s-style-guide.css +52 -0
- package/source/_imports/trumps/s-system-specs.css +123 -0
- package/source/_imports/trumps/tacc-search-bar.css +108 -0
- package/source/_imports/trumps/tacc-search-bar.html +11 -0
- package/source/_imports/trumps/u-empty.css +18 -0
- package/source/_imports/trumps/u-hide.css +27 -0
- package/source/_imports/trumps/u-nested-text-content.css +14 -0
- package/source/_tests/README.md +33 -0
- package/source/_tests/postcss-extend.css +80 -0
- package/source/_tests/postcss-preset-env.css +75 -0
- package/source/_tests.css +12 -0
- package/source/_themes/README.md +5 -0
- package/source/_themes/TODO.md +4 -0
- package/source/_themes/default.json +21 -0
- package/source/_themes/has-dark-logo.json +21 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<details>
|
|
2
|
+
<summary>Just Images</summary>
|
|
3
|
+
|
|
4
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
5
|
+
<div class="o-grid {{modifier_class}} {{ html }}">
|
|
6
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/69/85/698569d0-641f-4289-94c2-664389d626e8/spectrum-square-240px.png__240x240_q85_subject_location-120%2C120_subsampling-2.png" />
|
|
7
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/c9/eb/c9ebd744-14d3-43ed-bc2e-86ed96eeef8a/spectrum-tall-320px.png__160x320_q85_subject_location-76%2C160_subsampling-2.jpg" />
|
|
8
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/14/15/1415253c-940f-452d-968e-0a17bd158867/spectrum-wide-600px.png__600x300_q85_subject_location-289%2C146_subsampling-2.png" />
|
|
9
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/fb/3f/fb3fd4c3-6360-4759-b607-f393b84558c0/spectrum-wide-320px.png__320x160_q85_subject_location-157%2C78_subsampling-2.png" />
|
|
10
|
+
</div>
|
|
11
|
+
</details>
|
|
12
|
+
<details>
|
|
13
|
+
<summary>Just Text</summary>
|
|
14
|
+
|
|
15
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
16
|
+
<div class="o-grid {{modifier_class}} {{ html }}">
|
|
17
|
+
<p>Lorem</p>
|
|
18
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
|
|
19
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus justo vel pulvinar sagittis. Nulla sed bibendum mauris, vitae faucibus erat. Ut vehicula, tellus eget sagittis vehicula, orci leo placerat est, feugiat iaculis tortor ipsum quis risus.</p>
|
|
20
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempus justo vel pulvinar sagittis. Nulla sed bibendum mauris, vitae faucibus erat. Ut vehicula, tellus eget sagittis vehicula, orci leo placerat est, feugiat iaculis tortor ipsum quis risus. Pellentesque quis faucibus nisl. Integer dapibus, nunc nec eleifend rhoncus, nibh est finibus purus, gravida elementum ipsum purus eu metus. Donec tincidunt metus ut pretium auctor. Nulla dignissim euismod tempor. Fusce pharetra arcu nisl, eu varius est fermentum eget. Vivamus dictum aliquet turpis.</p>
|
|
21
|
+
</div>
|
|
22
|
+
</details>
|
|
23
|
+
<details>
|
|
24
|
+
<summary>Linked Images</summary>
|
|
25
|
+
|
|
26
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
27
|
+
<div class="o-grid {{modifier_class}} {{ html }}">
|
|
28
|
+
<a href="https://cep.tacc.utexas.eduhttps://cep.tacc.utexas.edu/media/filer_public/69/85/698569d0-641f-4289-94c2-664389d626e8/spectrum-square-240px.png" target="_blank">
|
|
29
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/69/85/698569d0-641f-4289-94c2-664389d626e8/spectrum-square-240px.png__240x240_q85_subject_location-120%2C120_subsampling-2.png" />
|
|
30
|
+
</a>
|
|
31
|
+
<a href="https://cep.tacc.utexas.eduhttps://cep.tacc.utexas.edu/media/filer_public/0d/04/0d048909-c09c-4d87-93af-cc1afa81f762/spectrum-tall-320px.png" target="_blank">
|
|
32
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/c9/eb/c9ebd744-14d3-43ed-bc2e-86ed96eeef8a/spectrum-tall-320px.png__160x320_q85_subject_location-76%2C160_subsampling-2.jpg" />
|
|
33
|
+
</a>
|
|
34
|
+
<a href="https://cep.tacc.utexas.eduhttps://cep.tacc.utexas.edu/media/filer_public/93/8c/938c12d4-1784-4061-b701-d81d975ce04c/spectrum-wide-600px.png" target="_blank">
|
|
35
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/14/15/1415253c-940f-452d-968e-0a17bd158867/spectrum-wide-600px.png__600x300_q85_subject_location-289%2C146_subsampling-2.png" />
|
|
36
|
+
</a>
|
|
37
|
+
<a href="https://cep.tacc.utexas.eduhttps://cep.tacc.utexas.edu/media/filer_public/bd/fb/bdfbab1f-5275-42c1-8c3d-03e2a0385027/spectrum-wide-320px.png" target="_blank">
|
|
38
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/fb/3f/fb3fd4c3-6360-4759-b607-f393b84558c0/spectrum-wide-320px.png__320x160_q85_subject_location-157%2C78_subsampling-2.png" />
|
|
39
|
+
</a>
|
|
40
|
+
</div>
|
|
41
|
+
</details>
|
|
42
|
+
<details>
|
|
43
|
+
<summary>Captioned Images</summary>
|
|
44
|
+
|
|
45
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
46
|
+
<div class="o-grid {{modifier_class}} {{ html }}">
|
|
47
|
+
<figure>
|
|
48
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/69/85/698569d0-641f-4289-94c2-664389d626e8/spectrum-square-240px.png__240x240_q85_subject_location-120%2C120_subsampling-2.png" />
|
|
49
|
+
<figcaption>Spectrum Square 240px</figcaption>
|
|
50
|
+
</figure>
|
|
51
|
+
<figure>
|
|
52
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/c9/eb/c9ebd744-14d3-43ed-bc2e-86ed96eeef8a/spectrum-tall-320px.png__160x320_q85_subject_location-76%2C160_subsampling-2.jpg" />
|
|
53
|
+
<figcaption>Spectrum Tall 320px</figcaption>
|
|
54
|
+
</figure>
|
|
55
|
+
<figure>
|
|
56
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/14/15/1415253c-940f-452d-968e-0a17bd158867/spectrum-wide-600px.png__600x300_q85_subject_location-289%2C146_subsampling-2.png" />
|
|
57
|
+
<figcaption>Spectrum Wide 600px</figcaption>
|
|
58
|
+
</figure>
|
|
59
|
+
<figure>
|
|
60
|
+
<img src="https://cep.tacc.utexas.edu/media/filer_public_thumbnails/filer_public/fb/3f/fb3fd4c3-6360-4759-b607-f393b84558c0/spectrum-wide-320px.png__320x160_q85_subject_location-157%2C78_subsampling-2.png" />
|
|
61
|
+
<figcaption>Spectrum Wide 320px</figcaption>
|
|
62
|
+
</figure>
|
|
63
|
+
</div>
|
|
64
|
+
</details>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Offset Content
|
|
3
|
+
|
|
4
|
+
Content that should be offset from the flow of text within which it is placed.
|
|
5
|
+
|
|
6
|
+
Styleguide Objects.OffsetContent
|
|
7
|
+
*/
|
|
8
|
+
@import url("_imports/tools/media-queries.css");
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@custom-selector :--o-offset-content
|
|
13
|
+
.o-offset-content--left,
|
|
14
|
+
.o-offset-content--right;
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
:--o-offset-content {
|
|
19
|
+
--offset-distance: min(15vw, 410px);
|
|
20
|
+
--buffer: calc( 2 * var(--global-space--grid-gap) );
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@media only screen and (--medium-and-above) {
|
|
24
|
+
.o-offset-content--right {
|
|
25
|
+
float: right;
|
|
26
|
+
margin-left: var(--buffer);
|
|
27
|
+
}
|
|
28
|
+
.o-offset-content--right + .o-offset-content--right { clear: right; }
|
|
29
|
+
|
|
30
|
+
.o-offset-content--left {
|
|
31
|
+
float: left;
|
|
32
|
+
margin-right: var(--buffer);
|
|
33
|
+
}
|
|
34
|
+
.o-offset-content--left + .o-offset-content--left { clear: left; }
|
|
35
|
+
|
|
36
|
+
.figure:is(:--o-offset-content) .figure-caption {
|
|
37
|
+
padding-right: 125px;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
@media only screen and (--medium-and-above) and (--max-wide-and-below) {
|
|
41
|
+
:--o-offset-content {
|
|
42
|
+
max-width: 560px;
|
|
43
|
+
}
|
|
44
|
+
/* Apply negative margin only when using offset value */
|
|
45
|
+
.o-offset-content--right {
|
|
46
|
+
margin-right: calc( var(--offset-distance) * -1);
|
|
47
|
+
}
|
|
48
|
+
.o-offset-content--left {
|
|
49
|
+
margin-left: calc( var(--offset-distance) * -1);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Section
|
|
3
|
+
|
|
4
|
+
A group of related content.
|
|
5
|
+
|
|
6
|
+
_Nested sections are an afterthought. No official design uses them._
|
|
7
|
+
|
|
8
|
+
To Do:
|
|
9
|
+
<details><summary>FP-1463: Extract layout pattern</summary>
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
.o-section--layout-a - lay out children as two even columns
|
|
13
|
+
.o-section--layout-b - lay out children as one wide column & one narrow column
|
|
14
|
+
.o-section--layout-c - lay out children as one narrow column & one wide column
|
|
15
|
+
.o-section--layout-d - lay out children as three even
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
</details>
|
|
19
|
+
<details><summary>FP-1462: Extract banner pattern</summary>
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
.o-section--banner - add banner with background image, overlay, then content
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
</details>
|
|
26
|
+
|
|
27
|
+
.o-section--style-light - light background, dark text
|
|
28
|
+
.o-section--style-muted - dull light background, dark text
|
|
29
|
+
.o-section--style-dark - dark background, light text
|
|
30
|
+
|
|
31
|
+
Markup: o-section.html
|
|
32
|
+
|
|
33
|
+
Styleguide Objects.Section
|
|
34
|
+
*/
|
|
35
|
+
@import url("_imports/tools/media-queries.css");
|
|
36
|
+
@import url("_imports/tools/x-layout.css");
|
|
37
|
+
@import url("_imports/tools/x-fake-border.css");
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
/* Block */
|
|
44
|
+
|
|
45
|
+
.o-section {
|
|
46
|
+
/* GH-99: Use standard spacing value */
|
|
47
|
+
padding-block: var(--global-space--section-gap); /* ~avg. from design docs */
|
|
48
|
+
}
|
|
49
|
+
/* To distinguish nested sections */
|
|
50
|
+
.o-section .o-section {
|
|
51
|
+
padding-block: 1em;
|
|
52
|
+
|
|
53
|
+
--hoz-space: 1em;
|
|
54
|
+
padding-inline: var(--hoz-space);
|
|
55
|
+
margin-inline: calc(-1 * var(--hoz-space));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
/* Modifers */
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
/* Modifers: Banner */
|
|
68
|
+
|
|
69
|
+
.o-section--banner[class*="o-section--layout"] { gap: 0; }
|
|
70
|
+
.o-section--banner.container { padding-inline: 0; }
|
|
71
|
+
.o-section--banner.o-section { padding-block: 0; }
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
/* Modifers: Intro */
|
|
76
|
+
/* FP-1463: Extract to new layout object */
|
|
77
|
+
|
|
78
|
+
/* To hide empty an column of an intro */
|
|
79
|
+
/* HACK: This assumes an intro has columns */
|
|
80
|
+
/* FAQ: Only Frontera's temporary homepage uses `.o-section--intro` */
|
|
81
|
+
.o-section--intro > :empty:not(img),
|
|
82
|
+
.o-section--intro .u-empty {
|
|
83
|
+
display: none;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
/* Modifers: Style */
|
|
89
|
+
|
|
90
|
+
/* Modifers: Style: Options */
|
|
91
|
+
|
|
92
|
+
.o-section--style-light {
|
|
93
|
+
--color--text: var(--global-color-primary--dark);
|
|
94
|
+
--color--text-strong: var(--global-color-primary--xx-dark);
|
|
95
|
+
--color--bkgd: var(--global-color-primary--xx-light);
|
|
96
|
+
--color--line: var(--global-color-primary--normal);
|
|
97
|
+
--color--link: var(--global-color-link-on-light--normal);
|
|
98
|
+
}
|
|
99
|
+
.o-section--style-muted {
|
|
100
|
+
--color--text: var(--global-color-primary--x-dark);
|
|
101
|
+
--color--text-strong: var(--global-color-primary--xx-dark);
|
|
102
|
+
--color--bkgd: var(--global-color-primary--x-light);
|
|
103
|
+
--color--line: var(--global-color-primary--dark);
|
|
104
|
+
--color--link: var(--global-color-link-on-light--normal);
|
|
105
|
+
}
|
|
106
|
+
.o-section--style-dark {
|
|
107
|
+
--color--text: var(--global-color-primary--x-light);
|
|
108
|
+
--color--text-strong: var(--global-color-primary--xx-light);
|
|
109
|
+
--color--bkgd: var(--global-color-primary--xx-dark);
|
|
110
|
+
--color--line: var(--global-color-primary--xx-light);
|
|
111
|
+
--color--link: var(--global-color-link-on-dark--normal);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/* Modifers: Style: Text & Background */
|
|
115
|
+
|
|
116
|
+
[class*="o-section--style"] {
|
|
117
|
+
--line-width: var(--global-border-width--normal);
|
|
118
|
+
--box-shadow--fake-bkgd: 50vw 0 var(--color--bkgd),
|
|
119
|
+
-50vw 0 var(--color--bkgd);
|
|
120
|
+
|
|
121
|
+
color: var(--color--text);
|
|
122
|
+
background-color: var(--color--bkgd);
|
|
123
|
+
box-shadow: var(--box-shadow--fake-bkgd);
|
|
124
|
+
}
|
|
125
|
+
/* Nested sections must not stretch to page edge */
|
|
126
|
+
[class*="o-section--style"] [class*="o-section--style"] {
|
|
127
|
+
box-shadow: none;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* Modifers: Style: Line Between Matching Sections */
|
|
131
|
+
|
|
132
|
+
/* Pure sections can use just a border */
|
|
133
|
+
.o-section--style-light + .o-section--style-light:not(.container),
|
|
134
|
+
.o-section--style-dark + .o-section--style-dark:not(.container) {
|
|
135
|
+
border-top: var(--line-width) solid var(--color--line);
|
|
136
|
+
}
|
|
137
|
+
/* any muted section */ .o-section--style-muted {
|
|
138
|
+
border-top: var(--line-width) solid var(--color--line);
|
|
139
|
+
border-bottom: var(--line-width) solid var(--color--line);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* Muted sections have border that extends to page edges (like background) */
|
|
143
|
+
.o-section--style-muted {
|
|
144
|
+
--box-shadow--fake-bkgd:
|
|
145
|
+
/* re-build fake background but shorter by two lines' widths */
|
|
146
|
+
50vw 0 0 calc(-1 * var(--line-width)) var(--color--bkgd),
|
|
147
|
+
-50vw 0 0 calc(-1 * var(--line-width)) var(--color--bkgd),
|
|
148
|
+
/* fake top border to page edges using mostly-hidden fake background */
|
|
149
|
+
33vw 0 var(--color--line),
|
|
150
|
+
-33vw 0 var(--color--line),
|
|
151
|
+
/* fake bottom border to page edges using mostly-hidden fake background */
|
|
152
|
+
33vw 0px var(--color--line),
|
|
153
|
+
-33vw 0px var(--color--line);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/* Container-based light and dark sections need a border that ignores padding */
|
|
157
|
+
.o-section--style-light + .o-section--style-light.container,
|
|
158
|
+
.o-section--style-dark + .o-section--style-dark.container {
|
|
159
|
+
@extend %x-fake-border--inset-horz-top;
|
|
160
|
+
|
|
161
|
+
--fb--line-width: var(--global-border-width--normal);
|
|
162
|
+
--fb--line-color: var(--color--line);
|
|
163
|
+
--fb--inset-width: var(--global-space--grid-gap);
|
|
164
|
+
--fb--inset-color: var(--color--bkgd);
|
|
165
|
+
|
|
166
|
+
--fb--shadow-below: var(--box-shadow--fake-bkgd);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* Modifers: Style: Child Text */
|
|
170
|
+
|
|
171
|
+
[class*="o-section--style"] a {
|
|
172
|
+
color: var(--color--link);
|
|
173
|
+
}
|
|
174
|
+
[class*="o-section--style"] :is(h1, h2, h3, h4, h5, h6) {
|
|
175
|
+
color: var(--color--text-strong);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
/* Modifers: Layout */
|
|
181
|
+
/* FP-1463: Extract to new layout object */
|
|
182
|
+
|
|
183
|
+
.o-section--layout-a,
|
|
184
|
+
.o-section--layout-b,
|
|
185
|
+
.o-section--layout-c,
|
|
186
|
+
.o-section--layout-d {
|
|
187
|
+
/* GH-99: Use standard spacing value */
|
|
188
|
+
--gap: 3.0rem; /* to allow instances to re-use the gap value */
|
|
189
|
+
|
|
190
|
+
gap: var(--gap);
|
|
191
|
+
}
|
|
192
|
+
.o-section--layout-a { @extend .x-layout--a; }
|
|
193
|
+
.o-section--layout-b { @extend .x-layout--b; }
|
|
194
|
+
.o-section--layout-c { @extend .x-layout--c; }
|
|
195
|
+
.o-section--layout-d { @extend .x-layout--d; }
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
/* Modifers: Banner */
|
|
200
|
+
/* FP-1462: Extract to new banner component(s) */
|
|
201
|
+
|
|
202
|
+
[class*="o-section--style"].o-section--banner + [class*="o-section--style"] {
|
|
203
|
+
box-shadow: var(--box-shadow--fake-bkgd);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
/* Children */
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
/* Children: Banner Image */
|
|
215
|
+
/* FP-1462: Extract to new banner component(s) */
|
|
216
|
+
|
|
217
|
+
/* Added `.o-section--banner` to require parent modifier class in markup */
|
|
218
|
+
.o-section--banner .o-section__banner-image {
|
|
219
|
+
|
|
220
|
+
/* To size image to cover section dimensions but maintain ratio */
|
|
221
|
+
/* CAVEAT: This causes image to overflow beyond section */
|
|
222
|
+
/* CAVEAT: The `vw` causes shrinkage on screen narrower than body min-width */
|
|
223
|
+
/* SEE: "Tricks" section */
|
|
224
|
+
width: 100vw;
|
|
225
|
+
min-height: 100%;
|
|
226
|
+
object-fit: cover;
|
|
227
|
+
|
|
228
|
+
/* To center image within section */
|
|
229
|
+
position: absolute;
|
|
230
|
+
z-index: 1;
|
|
231
|
+
left: 50%;
|
|
232
|
+
top: 50%;
|
|
233
|
+
transform: translate(-50%, -50%);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
/* Children: Banner Overlay */
|
|
239
|
+
/* FP-1462: Extract to new banner component(s) */
|
|
240
|
+
|
|
241
|
+
/* Added `.o-section--banner` to require parent modifier class in markup */
|
|
242
|
+
.o-section--banner .o-section__banner-overlay {
|
|
243
|
+
position: relative;
|
|
244
|
+
z-index: 2;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
/* Tricks */
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
/* Tricks: /* Children: Banner Image */
|
|
256
|
+
/* FP-1462: Extract to new banner component(s) */
|
|
257
|
+
|
|
258
|
+
/* HACK: To hide vertical overflow by placing sibling sections atop */
|
|
259
|
+
[class*="o-section--style"] { position: relative; }
|
|
260
|
+
/* NOTE: This selector assumes only a banner section has vertical overflow */
|
|
261
|
+
/* CAVEAT: Any banner pop-out el's can NOT overflow atop sibling sections */
|
|
262
|
+
[class*="o-section--style"].o-section--banner { z-index: 0; }
|
|
263
|
+
/* NOTE: A `z-index` > 0 is only necessary for sections before banner */
|
|
264
|
+
/* CAVEAT: Any section pop-out el's can NOT overflow atop section after it */
|
|
265
|
+
[class*="o-section--style"] { z-index: 1; }
|
|
266
|
+
|
|
267
|
+
/* HACK: To hide `.o-section__banner-image` overflow */
|
|
268
|
+
main {
|
|
269
|
+
overflow-x: clip; /* support position sticky on element in section */
|
|
270
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
2
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
3
|
+
<p><strong>Section</strong></p>
|
|
4
|
+
<p>I am a Section. <small>Use light Sections to wrap most content. Use muted Sections to gently highlight some content. Use dark Sections to strongly highlight some content.</small></p>
|
|
5
|
+
</section>
|
|
6
|
+
|
|
7
|
+
<br />
|
|
8
|
+
|
|
9
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
10
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
11
|
+
<p><strong>Section (First of a Pair)</strong></p>
|
|
12
|
+
<p>A Section of the same style directly after me will create a border between both. <small>Muted sections should <strong>not</strong> appear consectuively.</small></p>
|
|
13
|
+
</section>
|
|
14
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
15
|
+
<p><strong>Section (Second of a Pair)</strong></p>
|
|
16
|
+
<p>A Section of the same style directly after me will create a border between both. <small>Muted sections should <strong>not</strong> appear consectuively.</small></p>
|
|
17
|
+
</section>
|
|
18
|
+
|
|
19
|
+
<br />
|
|
20
|
+
|
|
21
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
22
|
+
<section class="container o-section {{modifier_class}} {{ html }}">
|
|
23
|
+
<p><strong>Container Section (First of a Pair)</strong></p>
|
|
24
|
+
<p>A <code>.container</code> Section has Container padding and a fake border.<small>Muted sections should <strong>not</strong> appear consectuively.</small></p>
|
|
25
|
+
</section>
|
|
26
|
+
<section class="container o-section {{modifier_class}} {{ html }}">
|
|
27
|
+
<p><strong>Container Section (First of a Pair)</strong></p>
|
|
28
|
+
<p>A <code>.container</code> Section has Container padding and a fake border.<small>Muted sections should <strong>not</strong> appear consectuively.</small></p>
|
|
29
|
+
</section>
|
|
30
|
+
|
|
31
|
+
<br />
|
|
32
|
+
|
|
33
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
34
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
35
|
+
<p><strong>Section (before Muted Section)</strong></p>
|
|
36
|
+
<p>A pair of <strong>light</strong> or <strong>dark</strong> Sections may have a <strong>muted</strong> Section between them. <small>Muted sections should <strong>not</strong> appear consectuively.</small></p>
|
|
37
|
+
</section>
|
|
38
|
+
<section class="o-section o-section--style-muted">
|
|
39
|
+
<p><strong>(Muted) Section</strong></p>
|
|
40
|
+
<p>A <strong>muted</strong> Section would appear between two <strong>light</strong> or <strong>dark</strong> Sections. <small>It would probably not appear between two <strong>muted</strong> Sections.</small></p>
|
|
41
|
+
</section>
|
|
42
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
43
|
+
<p><strong>Section (before Muted Section)</strong></p>
|
|
44
|
+
<p>A pair of <strong>light</strong> or <strong>dark</strong> Sections may have a <strong>muted</strong> Section between them. <small>Muted sections should <strong>not</strong> appear consectuively.</small></p>
|
|
45
|
+
</section>
|
|
46
|
+
|
|
47
|
+
<br />
|
|
48
|
+
|
|
49
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
50
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
51
|
+
<p><strong>Section (with Nested Sections)</strong></p>
|
|
52
|
+
<p>Sections can be nested within me. <small>A nested Section removes the standard Section spacing.</small> <small>⚠️ It is not used in any design, so its implementation is incomplete (no borders).</small></p>
|
|
53
|
+
<div class="o-section o-section--style-dark">
|
|
54
|
+
<p><strong>(Nested) Dark Section</strong></p>
|
|
55
|
+
<p>I am nested.</p>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="o-section o-section--style-muted">
|
|
58
|
+
<p><strong>(Nested) Muted Section</strong></p>
|
|
59
|
+
<p>I am nested.<!-- <small>No use case for this is expected, but it is available.<small>--></p>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="o-section o-section--style-light">
|
|
62
|
+
<p><strong>(Nested) Light Section</strong></p>
|
|
63
|
+
<p>I am nested.</p>
|
|
64
|
+
</div>
|
|
65
|
+
</section>
|
|
66
|
+
|
|
67
|
+
<br />
|
|
68
|
+
|
|
69
|
+
{# The {{ html }} allows DjangoCMS Snippet to pass in class names #}
|
|
70
|
+
<section class="o-section {{modifier_class}} {{ html }}">
|
|
71
|
+
<p><strong>Section (at Bottom of Page)</strong></p>
|
|
72
|
+
<p>At the bottom of a page: a light Section will stand out above the Footer, a muted Section will stand out above the Footer, a dark Section will visually merge with the Footer.</p>
|
|
73
|
+
</section>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Site
|
|
3
|
+
|
|
4
|
+
Layout and class names that are applicable to most websites:
|
|
5
|
+
|
|
6
|
+
- ["sticky footer"](https://css-tricks.com/couple-takes-sticky-footer/)
|
|
7
|
+
|
|
8
|
+
Markup: o-site.html
|
|
9
|
+
|
|
10
|
+
Styleguide Objects.Site
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/* SEE: https://css-tricks.com/couple-takes-sticky-footer/#article-header-id-3 */
|
|
14
|
+
.o-site {
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
}
|
|
18
|
+
.o-site__body {
|
|
19
|
+
flex-grow: 1;
|
|
20
|
+
flex-shrink: 0;
|
|
21
|
+
flex-basis: auto;
|
|
22
|
+
}
|
|
23
|
+
.o-site__head,
|
|
24
|
+
.o-site__foot {
|
|
25
|
+
flex-shrink: 0;
|
|
26
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/* DO NOT ADD STYLES HERE; ADD GLOBAL SETTINGS INSIDE STYLESHEETS IN THIS DIRECTORY */
|
|
2
|
+
|
|
3
|
+
/* FAQ: To use global settings, import them into any one global stylesheet */
|
|
4
|
+
|
|
5
|
+
/* FAQ: Documenting colors, typography, and variables in KSS-Node is not standard, yet.
|
|
6
|
+
If you want to support this in a custom manner, go for it. Here are some ideas:
|
|
7
|
+
|
|
8
|
+
- https://github.com/kss-node/kss-node/issues/388
|
|
9
|
+
- https://github.com/kss-node/kss/blob/spec/SPEC.md#preprocessor-helper-documentation
|
|
10
|
+
- https://github.com/kss-node/kss-node/issues/50#issuecomment-248027896
|
|
11
|
+
- https://handlebarsjs.com/
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/*
|
|
15
|
+
Settings
|
|
16
|
+
|
|
17
|
+
These settings are for global variables e.g. custom properties and custom media queries. They are meant to be used by **many** other stylesheets. Examples include, but are not limited to, sizes and colors.
|
|
18
|
+
|
|
19
|
+
Reference:
|
|
20
|
+
|
|
21
|
+
- [Creative Bloq: Manage Large CSS Projects With ITCSS](https://www.creativebloq.com/web-design/manage-large-css-projects-itcss-101517528) (find "Settings")
|
|
22
|
+
|
|
23
|
+
Rules:
|
|
24
|
+
|
|
25
|
+
- Custom media queries used by any files **must** be here.
|
|
26
|
+
- Custom properties, i.e. variables, used by many files **must** be here.
|
|
27
|
+
- Custom properties, i.e. variables, specific to one file should **not** be here.
|
|
28
|
+
|
|
29
|
+
Weight: 1
|
|
30
|
+
|
|
31
|
+
Styleguide Settings
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
Custom Properties
|
|
36
|
+
|
|
37
|
+
Custom properties are native CSS property value variables.
|
|
38
|
+
|
|
39
|
+
Reference:
|
|
40
|
+
- [Custom Properties](https://preset-env.cssdb.org/features#custom-properties)
|
|
41
|
+
|
|
42
|
+
Styleguide Settings.CustomProperties
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
/*
|
|
46
|
+
Custom Media Queries
|
|
47
|
+
|
|
48
|
+
Custom media queries are native CSS media query variables.
|
|
49
|
+
|
|
50
|
+
Reference:
|
|
51
|
+
- [Custom Media Queries](https://preset-env.cssdb.org/features#custom-media-queries)
|
|
52
|
+
|
|
53
|
+
Styleguide Settings.CustomMediaQueries
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
Custom Selectors
|
|
58
|
+
|
|
59
|
+
Custom selectors are native CSS selector variables.
|
|
60
|
+
|
|
61
|
+
Reference:
|
|
62
|
+
- [Custom Selectors](https://preset-env.cssdb.org/features#custom-selectors)
|
|
63
|
+
|
|
64
|
+
Styleguide Settings.CustomSelectors
|
|
65
|
+
*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* SETTINGS: Border */
|
|
2
|
+
|
|
3
|
+
/* Usage: `var(--global-border-width--normal)` */
|
|
4
|
+
/* SEE: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties */
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--global-border-width--normal: 1px;
|
|
8
|
+
--global-border--normal: var(--global-border-width--normal) solid var(--global-color-primary--normal);
|
|
9
|
+
|
|
10
|
+
--global-border-width--thick: 2px;
|
|
11
|
+
--global-border--thick: var(--global-border-width--thick) solid var(--global-color-primary--normal);
|
|
12
|
+
|
|
13
|
+
--global-border-width--x-thick: 3px;
|
|
14
|
+
--global-border--x-thick: var(--global-border-width--x-thick) solid var(--global-color-primary--normal);
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* SETTINGS: Color */
|
|
2
|
+
|
|
3
|
+
/* Usage: `var(--global-color-primary--normal)` */
|
|
4
|
+
/* SEE: https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties */
|
|
5
|
+
|
|
6
|
+
/* Modifers
|
|
7
|
+
--normal: standard color
|
|
8
|
+
--alt: alternate color
|
|
9
|
+
--weak: transparent instance
|
|
10
|
+
--(…)light: lighter value
|
|
11
|
+
--(…)dark: darker value
|
|
12
|
+
--(…)rgb: "R, G, B" value partial (ex. usage: `rgba(var(--...-rgb), 0.5)`)
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
:root {
|
|
16
|
+
/* The primary colors of any app (for neutral text, borders, backgrounds) */
|
|
17
|
+
/* IDEA: Rename these from `primary` to `neutral` */
|
|
18
|
+
|
|
19
|
+
--global-color-primary--xx-light: #FFFFFF;
|
|
20
|
+
--global-color-primary--xx-light-rgb: 255, 255, 255;
|
|
21
|
+
--global-color-primary--x-light: #F4F4F4;
|
|
22
|
+
--global-color-primary--x-light-rgb: 244, 244, 244;
|
|
23
|
+
--global-color-primary--light: #C6C6C6;
|
|
24
|
+
--global-color-primary--normal: #AFAFAF;
|
|
25
|
+
--global-color-primary--dark: #707070;
|
|
26
|
+
--global-color-primary--x-dark: #484848;
|
|
27
|
+
--global-color-primary--x-dark-rgb: 72, 72, 72;
|
|
28
|
+
--global-color-primary--xx-dark: #222222;
|
|
29
|
+
--global-color-primary--xx-dark-rgb: 34, 34, 34;
|
|
30
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Font
|
|
3
|
+
|
|
4
|
+
Define standard fonts for a TACC website.
|
|
5
|
+
|
|
6
|
+
Usage:
|
|
7
|
+
```
|
|
8
|
+
.something {
|
|
9
|
+
font-family: var(--global-font-family--serif);
|
|
10
|
+
font-size: var(--global-font-size--normal);
|
|
11
|
+
font-weight: var(--global-font-weight--bold); /* or `var(--bold)` *\/
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Reference:
|
|
16
|
+
- https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
|
|
17
|
+
- [Shared UI - Constants - Font](https://confluence.tacc.utexas.edu/x/cYAZCg)
|
|
18
|
+
|
|
19
|
+
Styleguide Settings.CustomProperties.Font
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
:root {
|
|
23
|
+
/* Size */
|
|
24
|
+
/* SEE: https://confluence.tacc.utexas.edu/x/nh4FDg */
|
|
25
|
+
/* CAVEAT: These font sizes assume root font is 10px or an equivalent value */
|
|
26
|
+
|
|
27
|
+
--global-font-size--x-small: 1.1rem;
|
|
28
|
+
--global-font-size--small: 1.4rem;
|
|
29
|
+
--global-font-size--medium: 1.6rem;
|
|
30
|
+
--global-font-size--large: 2.0rem;
|
|
31
|
+
--global-font-size--x-large: 2.6rem;
|
|
32
|
+
--global-font-size--xx-large: 3.2rem;
|
|
33
|
+
--global-font-size--xxx-large: 4.1rem;
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/* Weight */
|
|
38
|
+
/* SEE: https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight */
|
|
39
|
+
|
|
40
|
+
/* NOTE: Long names to be consistent (opinions welcome) */
|
|
41
|
+
--global-font-weight--regular: 400;
|
|
42
|
+
--global-font-weight--medium: 500;
|
|
43
|
+
--global-font-weight--bold: 700;
|
|
44
|
+
|
|
45
|
+
/* NOTE: Short names to increase adoption (opinions welcome) */
|
|
46
|
+
--regular: 400;
|
|
47
|
+
--medium: 500;
|
|
48
|
+
--bold: 700;
|
|
49
|
+
}
|