diff --git a/css/_uswds-theme-custom-styles.scss b/css/_uswds-theme-custom-styles.scss index edc84e5f2d..01e6ed53cf 100644 --- a/css/_uswds-theme-custom-styles.scss +++ b/css/_uswds-theme-custom-styles.scss @@ -1,13 +1,9 @@ -@use "sass:math"; - -@import "mixins"; +@forward "custom-styles"; -@import "custom-styles/site-header"; -@import "custom-styles/card-policy"; -@import "custom-styles/highlight"; -@import "custom-styles/copy-code-btn"; -@import "custom-styles/graphic-list"; -@import "custom-styles/posts"; +@use "sass:math"; +@use "mixins" as *; +@use "uswds-core" as *; +@use "settings/variables" as *; // ======================================== // CUSTOM PROJECT SASS @@ -20,13 +16,6 @@ // 3. Custom page styles // ---------------------------------------- -// TODO: move to uswds once finished -$theme-site-cols-split: "tablet"; -$theme-site-cols-show: "desktop"; -$theme-grid-gap-default: "md"; - -$site-measure: 5; - .usa-grid-container { @include usa-grid-container; } @@ -112,10 +101,10 @@ abbr[title="required"] { $site-banner-icon-color: "blue-40v"; $site-banner-action-color: "gray-20"; @include typeset($site-banner-font-family); + background-color: color("ink"); @include at-media("tablet") { font-size: font-size($site-banner-font-family, "3xs"); } - background-color: color("ink"); .usa-accordion { @include typeset($site-banner-font-family); @@ -316,10 +305,10 @@ abbr[title="required"] { // Styleguide Content -------- // .styleguide-content { - @include add-responsive-site-margins; margin-bottom: units(6); max-width: units($theme-grid-container-max-width); position: relative; + @include add-responsive-site-margins; header { > h1 { @@ -453,7 +442,6 @@ abbr[title="required"] { } .site-subheading { - @include typeset-h6; @include u-font("lang", "3xs"); color: color("black-transparent-60"); letter-spacing: letter-spacing(1); @@ -1865,8 +1853,8 @@ li { .utility-name { &.usa-grid-col { - @include grid-cols(null, "fill"); max-width: 100%; + @include grid-cols(null, "fill"); } } diff --git a/css/custom-styles/_card-policy.scss b/css/custom-styles/_card-policy.scss index 56e2913b42..dac3fc4995 100644 --- a/css/custom-styles/_card-policy.scss +++ b/css/custom-styles/_card-policy.scss @@ -1,3 +1,5 @@ +@use "uswds-core" as *; + .card-policy { @include u-margin-y(2); @include u-maxw("full"); diff --git a/css/custom-styles/_copy-code-btn.scss b/css/custom-styles/_copy-code-btn.scss index e2c2bbcc0b..fd5aaee414 100644 --- a/css/custom-styles/_copy-code-btn.scss +++ b/css/custom-styles/_copy-code-btn.scss @@ -1,3 +1,5 @@ +@use "uswds-core" as *; + .copy-code { display: flex; flex-direction: row; diff --git a/css/custom-styles/_graphic-list.scss b/css/custom-styles/_graphic-list.scss index 9b103a3f3f..b481c1348a 100644 --- a/css/custom-styles/_graphic-list.scss +++ b/css/custom-styles/_graphic-list.scss @@ -1,3 +1,5 @@ +@use "uswds-core" as *; + .site-graphic-list { .usa-icon { @include u-square(3); diff --git a/css/custom-styles/_highlight.scss b/css/custom-styles/_highlight.scss index 6dc900da1c..27413debac 100644 --- a/css/custom-styles/_highlight.scss +++ b/css/custom-styles/_highlight.scss @@ -1,3 +1,5 @@ +@use "uswds-core" as *; + .text-highlight { @include u-padding-y("1px"); @include u-padding-x("05"); diff --git a/css/custom-styles/_index.scss b/css/custom-styles/_index.scss new file mode 100644 index 0000000000..9da76116a5 --- /dev/null +++ b/css/custom-styles/_index.scss @@ -0,0 +1,6 @@ +@forward "card-policy"; +@forward "copy-code-btn"; +@forward "graphic-list"; +@forward "highlight"; +@forward "posts"; +@forward "site-header"; diff --git a/css/custom-styles/_posts.scss b/css/custom-styles/_posts.scss index d34a481974..1a95962058 100644 --- a/css/custom-styles/_posts.scss +++ b/css/custom-styles/_posts.scss @@ -1,3 +1,6 @@ +@use "uswds-core" as *; +@use "../settings/variables" as *; + .post-preview { @include u-border-top("1px", "gray-30"); @include u-margin-y(3); diff --git a/css/custom-styles/_site-header.scss b/css/custom-styles/_site-header.scss index b8f5ae1704..a8a1832b07 100644 --- a/css/custom-styles/_site-header.scss +++ b/css/custom-styles/_site-header.scss @@ -6,6 +6,10 @@ // Shared styles // ========================================================================== +@use "uswds-core" as *; +@use "../settings/variables" as *; +@use "../mixins" as *; + $site-navbar-height: 10; $site-secondary-nav-input-height: 38px; $site-inner-nav-height: 6; @@ -45,7 +49,7 @@ $site-inner-nav-height: 6; } a { - color: color($site-ink); + color: color("ink"); } &__text { @@ -198,15 +202,15 @@ $site-inner-nav-height: 6; } &:hover { - @include add-bar(0.5, $site-primary-vivid, "bottom", 0, 2, 0); color: color($site-primary-vivid); + @include add-bar(0.5, $site-primary-vivid, "bottom", 0, 2, 0); } } .usa-current { - @include add-bar(0.5, $site-primary-vivid, "bottom", 0, 2, 0); color: color($site-ink); font-weight: fw("bold"); + @include add-bar(0.5, $site-primary-vivid, "bottom", 0, 2, 0); &:hover { color: color($site-ink); diff --git a/css/mixins/_buttons.scss b/css/mixins/_buttons.scss index b1a38d8153..c1cb687fd3 100644 --- a/css/mixins/_buttons.scss +++ b/css/mixins/_buttons.scss @@ -1,3 +1,6 @@ +@use "uswds-core" as *; +@use "../settings/variables" as *; + @mixin inner-border($width, $color) { box-shadow: inset 0 0 0 units($width) color($color); } diff --git a/css/mixins/_grid.scss b/css/mixins/_grid.scss index 32ce8845b0..75b98906f0 100644 --- a/css/mixins/_grid.scss +++ b/css/mixins/_grid.scss @@ -1,3 +1,6 @@ +@use "uswds-core" as *; +@use "../settings/variables" as *; + @mixin grid-cols($default, $split: null, $full: null) { @if $default { @include grid-col($default); @@ -28,6 +31,6 @@ } @mixin usa-grid-col { - @include grid-cols("auto", 6); width: 100%; + @include grid-cols("auto", 6); } diff --git a/css/mixins/_index.scss b/css/mixins/_index.scss index e6641f9a59..43e7e61e9a 100644 --- a/css/mixins/_index.scss +++ b/css/mixins/_index.scss @@ -1,3 +1,3 @@ -@import "buttons"; -@import "grid"; -@import "typography"; +@forward "buttons"; +@forward "grid"; +@forward "typography"; diff --git a/css/mixins/_typography.scss b/css/mixins/_typography.scss index 4e808ccbfd..5a41625e22 100644 --- a/css/mixins/_typography.scss +++ b/css/mixins/_typography.scss @@ -1,3 +1,5 @@ +@use "uswds-core" as *; + @mixin font-lead-alt { font-size: font-size("lang", "xs"); font-weight: font-weight("normal"); diff --git a/css/settings/_uswds-site-theme.scss b/css/settings/_uswds-site-theme.scss new file mode 100644 index 0000000000..aca1b6653f --- /dev/null +++ b/css/settings/_uswds-site-theme.scss @@ -0,0 +1,140 @@ +@use "variables" as *; +@use "uswds-core" with ( + $theme-show-notifications: false, + $theme-layout-grid-use-important: true, + $theme-color-base-family: "gray", + $theme-color-base-lighter: "gray-10", + $theme-color-base-light: "gray-30", + $theme-color-base: "gray-50", + $theme-color-base-dark: "gray-60", + $theme-color-base-darker: "gray-80", + $theme-banner-max-width: "widescreen", + $theme-card-border-radius: "md", + $theme-header-logo-text-width: 50%, + $theme-header-max-width: "widescreen", + $theme-identifier-font-family: "lang", + $theme-identifier-max-width: "widescreen", + $theme-in-page-nav-background-color: $site-background-color, + $theme-in-page-nav-top: 6, + $theme-in-page-nav-margin-left: 0, + $theme-grid-container-max-width: "widescreen", + $theme-root-font-size: 16px, + $theme-global-link-styles: true, + $theme-font-type-lang: "public-sans", + $theme-type-scale-lg: 8, + $theme-type-scale-xl: 11, + $theme-font-weight-thin: 200, + $theme-font-weight-medium: 500, + $theme-font-weight-semibold: 600, + $theme-font-weight-heavy: 800, + $theme-generate-all-weights: true, + $theme-style-body-element: true, + $theme-text-measure: 3, + $theme-text-measure-wide: 4, + $theme-lead-measure: 5, + $utilities-use-important: true, + $theme-utility-breakpoints: ( + "desktop-lg": true, + ), + $background-color-settings: ( + hover: true, + ), + $border-settings: ( + responsive: true, + ), + $border-radius-settings: ( + hover: false, + ), + $border-style-settings: ( + responsive: false, + ), + $max-width-settings: ( + responsive: true, + ), + $whitespace-settings: ( + responsive: true, + ), + $background-color-palettes: ( + "palette-color-system", + "palette-color-state", + ), + $background-color-manual-values: ( + "default-base-lightest": "#f0f0f0", + "default-base-lighter": "#dcdee0", + "default-base-light": "#a9aeb1", + "default-base": "#71767a", + "default-base-dark": "#565c65", + "default-base-darker": "#3d4551", + "default-base-darkest": "#1b1b1b", + "default-ink": "#1b1b1b", + "default-primary-lighter": "#d9e8f6", + "default-primary-light": "#73b3e7", + "default-primary": "#005ea2", + "default-primary-vivid": "#0050d8", + "default-primary-dark": "#1a4480", + "default-primary-darker": "#162e51", + "default-secondary-lighter": "#f8dfe2", + "default-secondary-light": "#f2938c", + "default-secondary": "#d83933", + "default-secondary-vivid": "#e41d3d", + "default-secondary-dark": "#b51d09", + "default-secondary-darker": "#8b1303", + "default-accent-warm-lighter": "#f2e4d4", + "default-accent-warm-light": "#ffbc78", + "default-accent-warm": "#fa9441", + "default-accent-warm-dark": "#c05600", + "default-accent-warm-darker": "#775540", + "default-accent-cool-lighter": "#e1f3f8", + "default-accent-cool-light": "#97d4ea", + "default-accent-cool": "#00bde3", + "default-accent-cool-dark": "#28a0cb", + "default-accent-cool-darker": "#07648d", + "default-emergency": "#9c3d10", + "default-emergency-dark": "#332d29", + ), + $color-palettes: ( + "palette-color-system", + ), + $color-manual-values: ( + "default-base-lightest": "#f0f0f0", + "default-base-lighter": "#dcdee0", + "default-base-light": "#a9aeb1", + "default-base": "#71767a", + "default-base-dark": "#565c65", + "default-base-darker": "#3d4551", + "default-base-darkest": "#1b1b1b", + "default-ink": "#1b1b1b", + "default-primary-lighter": "#d9e8f6", + "default-primary-light": "#73b3e7", + "default-primary": "#005ea2", + "default-primary-vivid": "#0050d8", + "default-primary-dark": "#1a4480", + "default-primary-darker": "#162e51", + "default-secondary-lighter": "#f8dfe2", + "default-secondary-light": "#f2938c", + "default-secondary": "#d83933", + "default-secondary-vivid": "#e41d3d", + "default-secondary-dark": "#b51d09", + "default-secondary-darker": "#8b1303", + "default-accent-warm-lighter": "#f2e4d4", + "default-accent-warm-light": "#ffbc78", + "default-accent-warm": "#fa9441", + "default-accent-warm-dark": "#c05600", + "default-accent-warm-darker": "#775540", + "default-accent-cool-lighter": "#e1f3f8", + "default-accent-cool-light": "#97d4ea", + "default-accent-cool": "#00bde3", + "default-accent-cool-dark": "#28a0cb", + "default-accent-cool-darker": "#07648d", + "default-emergency": "#9c3d10", + "default-emergency-dark": "#332d29", + ), + $font-weight-palettes: ( + "palette-font-weight-default", + "palette-font-weight-system", + ), + $min-width-palettes: ( + "palette-min-width-default", + "palette-units-percentage", + ) +); diff --git a/css/settings/_variables.scss b/css/settings/_variables.scss index e62a59f07b..17fa99ed8b 100644 --- a/css/settings/_variables.scss +++ b/css/settings/_variables.scss @@ -34,3 +34,9 @@ $site-ink: "black-transparent-80"; $site-border-width: 2px; $site-base-transparent-light: "black-transparent-10"; $site-background-color: "gray-1"; + +$theme-site-cols-split: "tablet"; +$theme-site-cols-show: "desktop"; +$theme-grid-gap-default: "md"; + +$site-measure: 5; diff --git a/css/settings/_uswds-theme-color.scss b/css/settings/old/_uswds-theme-color.scss similarity index 100% rename from css/settings/_uswds-theme-color.scss rename to css/settings/old/_uswds-theme-color.scss diff --git a/css/settings/_uswds-theme-components.scss b/css/settings/old/_uswds-theme-components.scss similarity index 100% rename from css/settings/_uswds-theme-components.scss rename to css/settings/old/_uswds-theme-components.scss diff --git a/css/settings/_uswds-theme-general.scss b/css/settings/old/_uswds-theme-general.scss similarity index 100% rename from css/settings/_uswds-theme-general.scss rename to css/settings/old/_uswds-theme-general.scss diff --git a/css/settings/_uswds-theme-spacing.scss b/css/settings/old/_uswds-theme-spacing.scss similarity index 100% rename from css/settings/_uswds-theme-spacing.scss rename to css/settings/old/_uswds-theme-spacing.scss diff --git a/css/settings/_uswds-theme-typography.scss b/css/settings/old/_uswds-theme-typography.scss similarity index 100% rename from css/settings/_uswds-theme-typography.scss rename to css/settings/old/_uswds-theme-typography.scss diff --git a/css/settings/_uswds-theme-utilities.scss b/css/settings/old/_uswds-theme-utilities.scss similarity index 100% rename from css/settings/_uswds-theme-utilities.scss rename to css/settings/old/_uswds-theme-utilities.scss diff --git a/css/uswds-components.scss b/css/uswds-components.scss index c985e15f56..0e61bd75b0 100644 --- a/css/uswds-components.scss +++ b/css/uswds-components.scss @@ -1,9 +1,2 @@ -@import "./settings/variables"; -@import "./settings/uswds-theme-general"; -@import "./settings/uswds-theme-typography"; -@import "./settings/uswds-theme-spacing"; -@import "./settings/uswds-theme-color"; -@import "./settings/uswds-theme-utilities"; -@import "./settings/uswds-theme-components"; - -@import "uswds/packages/uswds"; +@forward "settings/uswds-site-theme"; +@forward "uswds/packages/uswds"; diff --git a/css/uswds-custom.scss b/css/uswds-custom.scss index 4bacf55c77..dd59c89088 100644 --- a/css/uswds-custom.scss +++ b/css/uswds-custom.scss @@ -1,12 +1,2 @@ -// Imports -@import "./settings/variables"; -@import "./settings/uswds-theme-general"; -@import "./settings/uswds-theme-typography"; -@import "./settings/uswds-theme-spacing"; -@import "./settings/uswds-theme-color"; -@import "./settings/uswds-theme-utilities"; - -// Tools -// ------------------------------------- -@import "uswds/packages/uswds-core"; -@import "uswds-theme-custom-styles"; +@forward "settings/uswds-site-theme"; +@forward "uswds-theme-custom-styles"; diff --git a/css/uswds-fonts.scss b/css/uswds-fonts.scss index c048835fb9..d3f9a4d64c 100644 --- a/css/uswds-fonts.scss +++ b/css/uswds-fonts.scss @@ -1,8 +1,2 @@ -@import "./settings/variables"; -@import "./settings/uswds-theme-general"; -@import "./settings/uswds-theme-typography"; -@import "./settings/uswds-theme-spacing"; -@import "./settings/uswds-theme-color"; -@import "./settings/uswds-theme-utilities"; - -@import "uswds/packages/uswds-fonts"; +@forward "settings/uswds-site-theme"; +@forward "uswds/packages/uswds-fonts"; diff --git a/css/uswds-next.scss b/css/uswds-next.scss index 3ecd6c49c3..6977db170a 100644 --- a/css/uswds-next.scss +++ b/css/uswds-next.scss @@ -1,14 +1,5 @@ -// Imports -@import "./settings/variables"; -@import "./settings/uswds-theme-general"; -@import "./settings/uswds-theme-typography"; -@import "./settings/uswds-theme-spacing"; -@import "./settings/uswds-theme-color"; -@import "./settings/uswds-theme-utilities"; - -// Tools -// ------------------------------------- -@import "uswds/packages/uswds-core"; +@forward "settings/uswds-site-theme"; +@use "uswds-core" as *; $pink-20v: #f8a897; $pink-50v: #bc5843; diff --git a/css/uswds-utilities.scss b/css/uswds-utilities.scss index 87fa2e73be..c010438415 100644 --- a/css/uswds-utilities.scss +++ b/css/uswds-utilities.scss @@ -1,8 +1,2 @@ -@import "./settings/variables"; -@import "./settings/uswds-theme-general"; -@import "./settings/uswds-theme-typography"; -@import "./settings/uswds-theme-spacing"; -@import "./settings/uswds-theme-color"; -@import "./settings/uswds-theme-utilities"; - -@import "uswds/packages/uswds-utilities"; +@forward "settings/uswds-site-theme"; +@forward "uswds/packages/uswds-utilities"; diff --git a/package-lock.json b/package-lock.json index a44d28f79c..fab97c2fd3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,7 +7,7 @@ "name": "uswds-site", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { - "@uswds/compile": "1.2.1", + "@uswds/compile": "github:uswds/uswds-compile#dw-gulp-sass-update", "@uswds/uswds": "3.11.0" }, "devDependencies": { @@ -985,8 +985,7 @@ }, "node_modules/@uswds/compile": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@uswds/compile/-/compile-1.2.1.tgz", - "integrity": "sha512-ODMGF97l8x+eJYp/7U1cB0CnalC5nb+1xEkP0sasG2bJyNqX9U+r7te0YNEURleIfrBOyxGVHVBBAw0gqS0htQ==", + "resolved": "git+ssh://git@github.com/uswds/uswds-compile.git#752dcd6c7fdf8a7baeabb2600ab881b7d86b2aa6", "license": "SEE LICENSE IN LICENSE.md", "dependencies": { "autoprefixer": "10.4.20", @@ -995,7 +994,7 @@ "gulp-postcss": "9.0.1", "gulp-rename": "2.0.0", "gulp-replace": "1.1.4", - "gulp-sass": "5.1.0", + "gulp-sass": "6.0.0", "gulp-svgstore": "9.0.0", "postcss": "8.4.49", "postcss-csso": "6.0.1", @@ -5431,9 +5430,9 @@ } }, "node_modules/gulp-sass": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-5.1.0.tgz", - "integrity": "sha512-7VT0uaF+VZCmkNBglfe1b34bxn/AfcssquLKVDYnCDJ3xNBaW7cUuI3p3BQmoKcoKFrs9jdzUxyb+u+NGfL4OQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-6.0.0.tgz", + "integrity": "sha512-FGb4Uab4jnH2GnSfBGd6uW3+imvNodAGfsjGcUhEtpNYPVx+TK2tp5uh7MO0sSR7aIf1Sm544werc+zV7ejHHw==", "license": "MIT", "dependencies": { "lodash.clonedeep": "^4.5.0", diff --git a/package.json b/package.json index 6971142798..369a693aa2 100644 --- a/package.json +++ b/package.json @@ -43,10 +43,10 @@ "prestart": "npx gulp build", "proof": "bundle exec htmlproofer --enforce-https=false --allow-missing-href=true --only_4xx --ignore-status-codes 403,429 --swap-urls 'https\\://designsystem.digital.gov/:/' --ignore-files '/whats-new/updates/(2017|2018|2019|2020|2021)/,/documentation/code-guidelines/' ./_site", "proof:all": "bundle exec htmlproofer --enforce-https=false --allow-missing-href=true --ignore-status-codes 0 --swap-urls 'https\\://designsystem.digital.gov/:/' --ignore-files '/whats-new/updates/(2017|2018|2019|2020|2021)/,/documentation/code-guidelines/' ./_site", - "serve": "npm run build:all-assets && bundle exec jekyll serve --drafts --future --incremental --livereload --host=localhost", + "serve": "npm run build:all-assets && bundle exec jekyll serve --drafts --future --incremental --host=localhost", "serve:package": "npm run build:uswds && npm run serve", "serve:local": "export LIBRARY_BASE_URL=\"http://localhost:3000\" && npm run serve", - "start": "concurrently 'bundle exec jekyll serve --drafts --future --livereload --incremental --host=localhost' 'npx gulp watch'", + "start": "concurrently 'bundle exec jekyll serve --drafts --future --incremental --host=localhost' 'npx gulp watch'", "test": "npx snyk test && npm run test:core", "test:detached": "npm run start-detached && npm run test:core", "test:core": "bundle exec rspec && npm run lint && npm run proof && npm run pa11y-ci:sitemap && npm run pa11y-ci:sitemap-mobile", @@ -97,7 +97,7 @@ }, "snyk": true, "dependencies": { - "@uswds/compile": "1.2.1", + "@uswds/compile": "github:uswds/uswds-compile#dw-gulp-sass-update", "@uswds/uswds": "3.11.0" } }