diff --git a/docs/assets/images/kitchen-sink/fa/blog_feature.jpg b/docs/assets/images/kitchen-sink/fa/blog_feature.jpg new file mode 100644 index 000000000..3511c20d0 Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/blog_feature.jpg differ diff --git a/docs/assets/images/kitchen-sink/fa/carousel-1.jpg b/docs/assets/images/kitchen-sink/fa/carousel-1.jpg new file mode 100644 index 000000000..3effe8692 Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/carousel-1.jpg differ diff --git a/docs/assets/images/kitchen-sink/fa/carousel-2.jpg b/docs/assets/images/kitchen-sink/fa/carousel-2.jpg new file mode 100644 index 000000000..c86b2957e Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/carousel-2.jpg differ diff --git a/docs/assets/images/kitchen-sink/fa/carousel-3.jpg b/docs/assets/images/kitchen-sink/fa/carousel-3.jpg new file mode 100644 index 000000000..c6d8ee867 Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/carousel-3.jpg differ diff --git a/docs/assets/images/kitchen-sink/fa/hero.png b/docs/assets/images/kitchen-sink/fa/hero.png new file mode 100644 index 000000000..8112ec297 Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/hero.png differ diff --git a/docs/assets/images/kitchen-sink/fa/keymaker.jpg b/docs/assets/images/kitchen-sink/fa/keymaker.jpg new file mode 100644 index 000000000..cca7d79db Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/keymaker.jpg differ diff --git a/docs/assets/images/kitchen-sink/fa/morpheus.jpg b/docs/assets/images/kitchen-sink/fa/morpheus.jpg new file mode 100644 index 000000000..8737eeddb Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/morpheus.jpg differ diff --git a/docs/assets/images/kitchen-sink/fa/seraph.jpg b/docs/assets/images/kitchen-sink/fa/seraph.jpg new file mode 100644 index 000000000..a243bce71 Binary files /dev/null and b/docs/assets/images/kitchen-sink/fa/seraph.jpg differ diff --git a/docs/pages/experimental/kitchen-sink.md b/docs/pages/experimental/kitchen-sink.md index 2ec134dc5..f9942249a 100644 --- a/docs/pages/experimental/kitchen-sink.md +++ b/docs/pages/experimental/kitchen-sink.md @@ -601,6 +601,7 @@ toc: false case 'headwind': case 'playful': case 'brutalist': + case 'fa': assetFolder = themeSelect.value; break; default: @@ -762,7 +763,7 @@ toc: false switch(themeSelect.value) { case 'fa': - presetLogoIcons = ['ufo', 'bomb', 'rocket-launch', 'burger-cheese']; + presetLogoIcons = ['cupcake', 'camera-retro', 'rocket-launch', 'cookie-bite']; break; case 'premium': presetLogoIcons = ['sunglasses', 'gem', 'car', 'shirt']; diff --git a/src/components/checkbox/checkbox.component.ts b/src/components/checkbox/checkbox.component.ts index 74043506a..68ae3fcd7 100644 --- a/src/components/checkbox/checkbox.component.ts +++ b/src/components/checkbox/checkbox.component.ts @@ -44,6 +44,7 @@ import type { WebAwesomeFormControl } from '../../internal/webawesome-element.js * @cssproperty --border-style - The style of the checkbox's borders. * @cssproperty --border-width - The width of the checkbox's borders. Expects a single value. * @cssproperty --box-shadow - The shadow effects around the edges of the checkbox. + * @cssproperty --checked-icon-color - The color of the checkbox's checked icon. * @cssproperty --toggle-size - The size of the checkbox. */ diff --git a/src/components/checkbox/checkbox.styles.ts b/src/components/checkbox/checkbox.styles.ts index 673b117e2..41e3e90ee 100644 --- a/src/components/checkbox/checkbox.styles.ts +++ b/src/components/checkbox/checkbox.styles.ts @@ -16,6 +16,7 @@ export default css` --border-style: var(--wa-border-style); --border-width: var(--wa-form-controls-border-width); --box-shadow: none; + --checked-icon-color: var(--wa-color-brand-text-on-spot); --toggle-size: calc(1em * var(--wa-font-line-height-compact) - 0.125rem); display: inline-block; @@ -90,7 +91,7 @@ export default css` /* Checked/indeterminate */ .checkbox--checked .checkbox__control, .checkbox--indeterminate .checkbox__control { - color: var(--wa-color-brand-text-on-spot); + color: var(--checked-icon-color); border-color: var(--border-color-checked); background: var(--background-checked); } diff --git a/src/themes/fa.css b/src/themes/fa.css index 02729f7a1..5c91d884a 100644 --- a/src/themes/fa.css +++ b/src/themes/fa.css @@ -26,29 +26,29 @@ --wa-color-red-10: #46000c; --wa-color-red-05: #2e0008; - --wa-color-yellow-95: #fff1c0; - --wa-color-yellow-90: #ffe275; - --wa-color-yellow-80: #f0c421; - --wa-color-yellow-70: #d5a900; - --wa-color-yellow-60: #b89100; - --wa-color-yellow-50: #917100; - --wa-color-yellow-40: #715400; - --wa-color-yellow-30: #5d4100; - --wa-color-yellow-20: #4a2d00; - --wa-color-yellow-10: #361600; - --wa-color-yellow-05: #200d00; + --wa-color-yellow-95: #fff3bf; + --wa-color-yellow-90: #f8e695; + --wa-color-yellow-80: #eec637; + --wa-color-yellow-70: #d8a815; + --wa-color-yellow-60: #ce8500; + --wa-color-yellow-50: #aa6300; + --wa-color-yellow-40: #824c00; + --wa-color-yellow-30: #663b00; + --wa-color-yellow-20: #492b00; + --wa-color-yellow-10: #2c1a00; + --wa-color-yellow-05: #1b0e00; - --wa-color-green-95: #cafae6; - --wa-color-green-90: #aaf3d7; - --wa-color-green-80: #46e2b7; - --wa-color-green-70: #00cba0; - --wa-color-green-60: #00b28f; - --wa-color-green-50: #008f76; - --wa-color-green-40: #00705e; - --wa-color-green-30: #005c4d; - --wa-color-green-20: #00483d; - --wa-color-green-10: #00312b; - --wa-color-green-05: #001613; + --wa-color-teal-95: #cafae6; + --wa-color-teal-90: #aaf3d7; + --wa-color-teal-80: #46e2b7; + --wa-color-teal-70: #00cba0; + --wa-color-teal-60: #00b28f; + --wa-color-teal-50: #008f76; + --wa-color-teal-40: #00705e; + --wa-color-teal-30: #005c4d; + --wa-color-teal-20: #00483d; + --wa-color-teal-10: #00312b; + --wa-color-teal-05: #001613; --wa-color-blue-95: #e4f1ff; --wa-color-blue-90: #cee6ff; @@ -62,17 +62,41 @@ --wa-color-blue-10: #00175c; --wa-color-blue-05: #000e39; - --wa-color-base-95: #f1f2f5; - --wa-color-base-90: #e3e6eb; - --wa-color-base-80: #c4cad5; - --wa-color-base-70: #a6afc1; - --wa-color-base-60: #8896ad; - --wa-color-base-50: #627593; - --wa-color-base-40: #425a7b; - --wa-color-base-30: #334660; - --wa-color-base-20: #243245; - --wa-color-base-10: #161e29; - --wa-color-base-05: #111215; + --wa-color-grape-95: #fbeefe; + --wa-color-grape-90: #f6defc; + --wa-color-grape-80: #ecb8f8; + --wa-color-grape-70: #e191f4; + --wa-color-grape-60: #cd70e3; + --wa-color-grape-50: #a84ebe; + --wa-color-grape-40: #892f9f; + --wa-color-grape-30: #6c257e; + --wa-color-grape-20: #4e1b5a; + --wa-color-grape-10: #2f1037; + --wa-color-grape-05: #1c0920; + + --wa-color-violet-95: #f4f0fe; + --wa-color-violet-90: #e9e2fe; + --wa-color-violet-80: #d0c1fc; + --wa-color-violet-70: #b8a2fa; + --wa-color-violet-60: #9f81f9; + --wa-color-violet-50: #7d59ea; + --wa-color-violet-40: #5f3dc4; + --wa-color-violet-30: #4b309b; + --wa-color-violet-20: #36236f; + --wa-color-violet-10: #211543; + --wa-color-violet-05: #130c27; + + --wa-color-gravy-95: #f1f2f5; + --wa-color-gravy-90: #e3e6eb; + --wa-color-gravy-80: #c5cad4; + --wa-color-gravy-70: #a8afbf; + --wa-color-gravy-60: #8b95aa; + --wa-color-gravy-50: #677490; + --wa-color-gravy-40: #4a5877; + --wa-color-gravy-30: #3a455d; + --wa-color-gravy-20: #2a3142; + --wa-color-gravy-10: #191e28; + --wa-color-gravy-05: #0e1117; /** * Foundational theme colors @@ -82,14 +106,14 @@ * Surface colors support elevation, where raised is closest to the user and lowered is farthest away. */ --wa-color-surface-raised: white; --wa-color-surface-default: white; - --wa-color-surface-lowered: var(--wa-color-base-95); - --wa-color-surface-border: var(--wa-color-base-90); + --wa-color-surface-lowered: var(--wa-color-gravy-95); + --wa-color-surface-border: var(--wa-color-gravy-90); /* Text colors are used for standard text elements. * Text should have a minimum 4.5:1 contrast ratio against surfaces. * Inverse text should support appropriate contrast against background colors with opposing lightness. */ - --wa-color-text-normal: var(--wa-color-base-20); - --wa-color-text-quiet: var(--wa-color-base-40); + --wa-color-text-normal: var(--wa-color-gravy-20); + --wa-color-text-quiet: var(--wa-color-gravy-40); --wa-color-text-link: var(--wa-color-brand-text-on-surface); /* Selection colors apply on content that is highlighted by the user. @@ -102,12 +126,12 @@ --wa-color-focus: var(--wa-color-blue-60); /* Overlays dim background elements to focus attention on modal content, such as drawers or dialogs. */ - --wa-color-overlay: color-mix(in oklab, var(--wa-color-base-10) 25%, transparent); + --wa-color-overlay: color-mix(in oklab, var(--wa-color-gravy-10) 25%, transparent); /* Shadow specifies the default color for box shadows that indicate elevation. */ --wa-color-shadow: color-mix( in oklab, - var(--wa-color-base-05) calc(var(--wa-shadow-blur-base) * 8% + 4%), + var(--wa-color-gravy-05) calc(var(--wa-shadow-blur-base) * 8% + 6%), transparent ); @@ -137,28 +161,28 @@ --wa-color-brand-spot-darker: var(--wa-color-blue-50); --wa-color-brand-fill-subtle: var(--wa-color-blue-95); --wa-color-brand-fill-highlight: var(--wa-color-blue-90); - --wa-color-brand-border-subtle: var(--wa-color-blue-80); + --wa-color-brand-border-subtle: var(--wa-color-blue-70); --wa-color-brand-border-highlight: var(--wa-color-blue-50); --wa-color-brand-text-on-spot: var(--wa-color-text-normal); --wa-color-brand-text-on-fill: var(--wa-color-blue-40); --wa-color-brand-text-on-surface: var(--wa-color-blue-50); - --wa-color-success-spot: var(--wa-color-green-80); - --wa-color-success-spot-darker: var(--wa-color-green-50); - --wa-color-success-fill-subtle: var(--wa-color-green-95); - --wa-color-success-fill-highlight: var(--wa-color-green-90); - --wa-color-success-border-subtle: var(--wa-color-green-80); - --wa-color-success-border-highlight: var(--wa-color-green-50); + --wa-color-success-spot: var(--wa-color-teal-80); + --wa-color-success-spot-darker: var(--wa-color-teal-50); + --wa-color-success-fill-subtle: var(--wa-color-teal-95); + --wa-color-success-fill-highlight: var(--wa-color-teal-90); + --wa-color-success-border-subtle: var(--wa-color-teal-70); + --wa-color-success-border-highlight: var(--wa-color-teal-50); --wa-color-success-text-on-spot: var(--wa-color-text-normal); - --wa-color-success-text-on-fill: var(--wa-color-green-40); - --wa-color-success-text-on-surface: var(--wa-color-green-50); + --wa-color-success-text-on-fill: var(--wa-color-teal-40); + --wa-color-success-text-on-surface: var(--wa-color-teal-50); --wa-color-warning-spot: var(--wa-color-yellow-80); --wa-color-warning-spot-darker: var(--wa-color-yellow-50); --wa-color-warning-fill-subtle: var(--wa-color-yellow-95); --wa-color-warning-fill-highlight: var(--wa-color-yellow-90); - --wa-color-warning-border-subtle: var(--wa-color-yellow-80); - --wa-color-warning-border-highlight: var(--wa-color-yellow-50); + --wa-color-warning-border-subtle: var(--wa-color-yellow-70); + --wa-color-warning-border-highlight: var(--wa-color-yellow-60); --wa-color-warning-text-on-spot: var(--wa-color-text-normal); --wa-color-warning-text-on-fill: var(--wa-color-yellow-40); --wa-color-warning-text-on-surface: var(--wa-color-yellow-50); @@ -167,28 +191,28 @@ --wa-color-danger-spot-darker: var(--wa-color-red-50); --wa-color-danger-fill-subtle: var(--wa-color-red-95); --wa-color-danger-fill-highlight: var(--wa-color-red-90); - --wa-color-danger-border-subtle: var(--wa-color-red-80); + --wa-color-danger-border-subtle: var(--wa-color-red-70); --wa-color-danger-border-highlight: var(--wa-color-red-50); --wa-color-danger-text-on-spot: var(--wa-color-text-normal); --wa-color-danger-text-on-fill: var(--wa-color-red-40); --wa-color-danger-text-on-surface: var(--wa-color-red-50); - --wa-color-neutral-spot: var(--wa-color-base-80); - --wa-color-neutral-spot-darker: var(--wa-color-base-50); - --wa-color-neutral-fill-subtle: var(--wa-color-base-95); - --wa-color-neutral-fill-highlight: var(--wa-color-base-90); - --wa-color-neutral-border-subtle: var(--wa-color-base-80); - --wa-color-neutral-border-highlight: var(--wa-color-base-50); + --wa-color-neutral-spot: var(--wa-color-gravy-80); + --wa-color-neutral-spot-darker: var(--wa-color-gravy-50); + --wa-color-neutral-fill-subtle: var(--wa-color-gravy-95); + --wa-color-neutral-fill-highlight: var(--wa-color-gravy-90); + --wa-color-neutral-border-subtle: var(--wa-color-gravy-60); + --wa-color-neutral-border-highlight: var(--wa-color-gravy-40); --wa-color-neutral-text-on-spot: var(--wa-color-text-normal); - --wa-color-neutral-text-on-fill: var(--wa-color-base-40); - --wa-color-neutral-text-on-surface: var(--wa-color-base-50); + --wa-color-neutral-text-on-fill: var(--wa-color-gravy-40); + --wa-color-neutral-text-on-surface: var(--wa-color-text-normal); /** * Typography */ --wa-font-family-heading: 'cera-round-pro', sans-serif; --wa-font-family-body: 'cera-round-pro', sans-serif; - --wa-font-family-code: 'Noto Sans Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace; + --wa-font-family-code: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; --wa-font-family-longform: 'Lora', serif; --wa-font-weight-light: 300; @@ -264,7 +288,7 @@ */ /* Corners are designed to scale according to a single base value. * The base value is intended for calculations and is not used by components directly. */ - --wa-corners-base: 0.375; + --wa-corners-base: 0.5; --wa-corners-xs: calc(var(--wa-corners-base) * 0.75rem); --wa-corners-s: calc(var(--wa-corners-base) * 1rem); --wa-corners-m: calc(var(--wa-corners-base) * 2rem); @@ -284,6 +308,12 @@ color-mix(in oklab, var(--wa-color-focus) 98%, transparent); --wa-focus-ring-offset: 0.0625rem; /* 1px */ + /** + * Links + */ + --wa-link-decoration-default: underline var(--wa-color-text-link) dotted; + --wa-link-decoration-hover: underline; + /** * Z-index */ @@ -307,7 +337,7 @@ --wa-form-controls-corners: var(--wa-corners-s); - --wa-form-controls-activated-color: var(--wa-color-base-30); + --wa-form-controls-activated-color: var(--wa-color-neutral-border-highlight); --wa-form-controls-resting-color: var(--wa-color-neutral-border-highlight); --wa-form-controls-label-color: var(--wa-color-text-normal); @@ -318,7 +348,7 @@ --wa-form-controls-value-font-weight: var(--wa-font-weight-body); --wa-form-controls-value-line-height: var(--wa-font-line-height-compact); - --wa-form-controls-placeholder-color: var(--wa-color-base-60); + --wa-form-controls-placeholder-color: var(--wa-color-gravy-60); --wa-form-controls-height-s: calc( var(--wa-space-s) * 2 + var(--wa-font-size-s) * var(--wa-form-controls-value-line-height) @@ -351,13 +381,13 @@ /** * Base theme colors */ - --wa-color-surface-raised: var(--wa-color-base-30); - --wa-color-surface-default: var(--wa-color-base-20); - --wa-color-surface-lowered: var(--wa-color-base-10); - --wa-color-surface-border: var(--wa-color-base-30); + --wa-color-surface-raised: var(--wa-color-gravy-30); + --wa-color-surface-default: var(--wa-color-gravy-20); + --wa-color-surface-lowered: var(--wa-color-gravy-10); + --wa-color-surface-border: var(--wa-color-gravy-30); - --wa-color-text-normal: var(--wa-color-base-95); - --wa-color-text-quiet: var(--wa-color-base-60); + --wa-color-text-normal: var(--wa-color-gravy-95); + --wa-color-text-quiet: var(--wa-color-gravy-60); --wa-color-text-link: var(--wa-color-brand-text-on-surface); --wa-color-selection-background: var(--wa-color-blue-40); @@ -367,7 +397,11 @@ --wa-color-overlay: color-mix(in oklab, black 50%, transparent); - --wa-color-shadow: color-mix(in oklab, black calc(var(--wa-shadow-blur-base) * 32% + 40%), transparent); + --wa-color-shadow: color-mix( + in oklab, + var(--wa-color-gravy-05) calc(var(--wa-shadow-blur-base) * 16% + 40%), + transparent + ); --wa-color-mix-hover: black 8%; --wa-color-mix-active: black 16%; @@ -375,58 +409,134 @@ /** * Semantic theme colors */ - --wa-color-brand-spot: var(--wa-color-blue-70); + --wa-color-brand-spot: var(--wa-color-blue-80); --wa-color-brand-spot-darker: var(--wa-color-blue-50); - --wa-color-brand-fill-subtle: var(--wa-color-blue-20); - --wa-color-brand-fill-highlight: var(--wa-color-blue-30); - --wa-color-brand-border-subtle: var(--wa-color-blue-20); - --wa-color-brand-border-highlight: var(--wa-color-blue-30); - --wa-color-brand-text-on-spot: var(--wa-color-blue-20); + --wa-color-brand-fill-subtle: var(--wa-color-blue-10); + --wa-color-brand-fill-highlight: var(--wa-color-blue-20); + --wa-color-brand-border-subtle: var(--wa-color-blue-60); + --wa-color-brand-border-highlight: var(--wa-color-blue-70); + --wa-color-brand-text-on-spot: var(--wa-color-blue-10); --wa-color-brand-text-on-fill: var(--wa-color-blue-80); - --wa-color-brand-text-on-surface: var(--wa-color-blue-60); + --wa-color-brand-text-on-surface: var(--wa-color-blue-70); - --wa-color-success-spot: var(--wa-color-green-70); - --wa-color-success-spot-darker: var(--wa-color-green-50); - --wa-color-success-fill-subtle: var(--wa-color-green-20); - --wa-color-success-fill-highlight: var(--wa-color-green-30); - --wa-color-success-border-subtle: var(--wa-color-green-20); - --wa-color-success-border-highlight: var(--wa-color-green-30); - --wa-color-success-text-on-spot: var(--wa-color-green-20); - --wa-color-success-text-on-fill: var(--wa-color-green-80); - --wa-color-success-text-on-surface: var(--wa-color-green-60); + --wa-color-success-spot: var(--wa-color-teal-80); + --wa-color-success-spot-darker: var(--wa-color-teal-50); + --wa-color-success-fill-subtle: var(--wa-color-teal-10); + --wa-color-success-fill-highlight: var(--wa-color-teal-20); + --wa-color-success-border-subtle: var(--wa-color-teal-60); + --wa-color-success-border-highlight: var(--wa-color-teal-70); + --wa-color-success-text-on-spot: var(--wa-color-teal-10); + --wa-color-success-text-on-fill: var(--wa-color-teal-80); + --wa-color-success-text-on-surface: var(--wa-color-teal-70); - --wa-color-warning-spot: var(--wa-color-yellow-70); + --wa-color-warning-spot: var(--wa-color-yellow-80); --wa-color-warning-spot-darker: var(--wa-color-yellow-50); - --wa-color-warning-fill-subtle: var(--wa-color-yellow-20); - --wa-color-warning-fill-highlight: var(--wa-color-yellow-30); - --wa-color-warning-border-subtle: var(--wa-color-yellow-20); - --wa-color-warning-border-highlight: var(--wa-color-yellow-30); - --wa-color-warning-text-on-spot: var(--wa-color-yellow-20); + --wa-color-warning-fill-subtle: var(--wa-color-yellow-10); + --wa-color-warning-fill-highlight: var(--wa-color-yellow-20); + --wa-color-warning-border-subtle: var(--wa-color-yellow-60); + --wa-color-warning-border-highlight: var(--wa-color-yellow-70); + --wa-color-warning-text-on-spot: var(--wa-color-yellow-10); --wa-color-warning-text-on-fill: var(--wa-color-yellow-80); - --wa-color-warning-text-on-surface: var(--wa-color-yellow-60); + --wa-color-warning-text-on-surface: var(--wa-color-yellow-70); - --wa-color-danger-spot: var(--wa-color-red-70); + --wa-color-danger-spot: var(--wa-color-red-80); --wa-color-danger-spot-darker: var(--wa-color-red-50); - --wa-color-danger-fill-subtle: var(--wa-color-red-20); - --wa-color-danger-fill-highlight: var(--wa-color-red-30); - --wa-color-danger-border-subtle: var(--wa-color-red-20); - --wa-color-danger-border-highlight: var(--wa-color-red-30); - --wa-color-danger-text-on-spot: var(--wa-color-red-20); + --wa-color-danger-fill-subtle: var(--wa-color-red-10); + --wa-color-danger-fill-highlight: var(--wa-color-red-20); + --wa-color-danger-border-subtle: var(--wa-color-red-60); + --wa-color-danger-border-highlight: var(--wa-color-red-70); + --wa-color-danger-text-on-spot: var(--wa-color-red-10); --wa-color-danger-text-on-fill: var(--wa-color-red-80); - --wa-color-danger-text-on-surface: var(--wa-color-red-60); + --wa-color-danger-text-on-surface: var(--wa-color-red-70); - --wa-color-neutral-spot: var(--wa-color-base-70); - --wa-color-neutral-spot-darker: var(--wa-color-base-50); - --wa-color-neutral-fill-subtle: var(--wa-color-base-20); - --wa-color-neutral-fill-highlight: var(--wa-color-base-30); - --wa-color-neutral-border-subtle: var(--wa-color-base-20); - --wa-color-neutral-border-highlight: var(--wa-color-base-30); - --wa-color-neutral-text-on-spot: var(--wa-color-base-20); - --wa-color-neutral-text-on-fill: var(--wa-color-base-80); - --wa-color-neutral-text-on-surface: var(--wa-color-base-60); + --wa-color-neutral-spot: var(--wa-color-gravy-80); + --wa-color-neutral-spot-darker: var(--wa-color-gravy-50); + --wa-color-neutral-fill-subtle: var(--wa-color-gravy-20); + --wa-color-neutral-fill-highlight: var(--wa-color-gravy-30); + --wa-color-neutral-border-subtle: var(--wa-color-gravy-60); + --wa-color-neutral-border-highlight: var(--wa-color-gravy-70); + --wa-color-neutral-text-on-spot: var(--wa-color-gravy-10); + --wa-color-neutral-text-on-fill: var(--wa-color-gravy-80); + --wa-color-neutral-text-on-surface: var(--wa-color-gravy-70); } /* #region Custom styles */ +.project-header h1 { + font-size: var(--wa-font-size-xl); +} + +.hero { + color: var(--wa-color-brand-text-on-fill); + text-align: center; +} + +.hero .title { + background: + url('/assets/images/kitchen-sink/fa/hero.png') bottom right / cover no-repeat, + var(--wa-color-brand-fill-highlight); + padding: calc(var(--wa-space-3xl) * 5) calc(var(--wa-space-3xl) * 2) calc(var(--wa-space-3xl) * 4); + margin: calc(var(--wa-space-3xl) * -1) 0; + border-radius: var(--wa-panel-corners); +} + +h1.hero-title { + font-size: var(--wa-font-size-4xl); +} + +.badge-stock { + position: absolute; + top: -0.75rem; + right: var(--wa-space-l); +} + +pre.codeblock, +.post-body code { + background-color: color-mix(in oklab, var(--wa-color-gravy-50), transparent 90%); +} + +.message-composer wa-card::part(header) { + background-color: var(--wa-color-neutral-fill-highlight); + color: var(--wa-color-neutral-text-on-fill); + + & wa-icon-button { + color: var(--wa-color-text-normal); + } +} + +wa-alert { + --content-color: var(--wa-color-text-normal); + --icon-color: var(--border-color); + + .wa-theme-fa-dark & { + --background: var(--wa-color-surface-lowered); + } + + &[variant='brand'] { + --border-color: var(--wa-color-brand-border-highlight); + } + &[variant='success'] { + --border-color: var(--wa-color-success-border-highlight); + } + &[variant='warning'] { + --border-color: var(--wa-color-warning-border-highlight); + } + &[variant='danger'] { + --border-color: var(--wa-color-danger-border-highlight); + } + &[variant='neutral'] { + --border-color: var(--wa-color-neutral-border-highlight); + } +} + +wa-badge { + --border-color: var(--background); + text-transform: uppercase; + + &::part(base) { + font-weight: var(--wa-font-weight-heavy); + } +} + wa-button:not([variant='text']) { --border-color: var(--label-color); --border-color-hover: var(--border-color); @@ -437,67 +547,99 @@ wa-button:not([variant='text']) { .wa-theme-fa-dark & { &[variant='brand'] { - --background: var(--wa-color-brand-text-on-spot); - --label-color: var(--wa-color-brand-spot); + --border-color: var(--wa-color-brand-spot-darker); } &[variant='success'] { - --background: var(--wa-color-success-text-on-spot); - --label-color: var(--wa-color-success-spot); + --border-color: var(--wa-color-success-spot-darker); } &[variant='warning'] { - --background: var(--wa-color-warning-text-on-spot); - --label-color: var(--wa-color-warning-spot); + --border-color: var(--wa-color-warning-spot-darker); } &[variant='danger'] { - --background: var(--wa-color-danger-text-on-spot); - --label-color: var(--wa-color-danger-spot); + --border-color: var(--wa-color-danger-spot-darker); } &[variant='neutral'] { - --background: var(--wa-color-neutral-text-on-spot); - --label-color: var(--wa-color-neutral-spot); + --border-color: var(--wa-color-neutral-spot-darker); } } } -/* not sure if i'm tying into something stable here, or if this is the right way to do this */ -wa-checkbox[checked] { - --wa-color-brand-text-on-spot: white; -} -wa-radio::part(control--checked) { - --wa-color-brand-text-on-spot: white; +wa-card { + --border-width: 0px; + + & .title { + font-size: var(--wa-font-size-xl); + } + + & wa-rating { + --symbol-size: var(--wa-font-size-m); + } } -wa-radio-group > wa-radio-button, -wa-radio-group > wa-button { - --box-shadow: none; +wa-carousel { + --pagination-color-activated: var(--wa-color-brand-spot); + --pagination-color-resting: var(--wa-color-neutral-spot); +} + +wa-checkbox, +wa-radio { + --checked-icon-color: var(--wa-color-surface-default); +} + +wa-radio-group > wa-radio-button { + --wa-transition-normal: 0ms; + --wa-transition-fast: 0ms; + --wa-transition-faster: 0ms; + --background-active: var(--wa-color-neutral-text-on-surface); + --border-color-active: var(--background-active); + --box-shadow: var(--wa-shadow-offset-x-level-1) var(--wa-shadow-offset-y-level-1) var(--wa-shadow-blur-level-1) + var(--border-color); + --label-color-active: var(--wa-color-surface-default); + + &:active, + &[checked] { + --background: var(--wa-color-neutral-text-on-surface); + --box-shadow: none; + --label-color: var(--wa-color-surface-default); + transform: translateX(var(--wa-shadow-offset-x-level-1)) translateY(var(--wa-shadow-offset-y-level-1)); + } } wa-switch { - --background: var(--wa-color-neutral-spot); - --border-color: var(--wa-color-neutral-spot); + --background: transparent; + --border-color: var(--wa-form-controls-activated-color); + --thumb-color: var(--border-color); + --thumb-color-checked: var(--wa-color-neutral-fill-subtle); + --thumb-size: 1em; + --height: 1.5em; + --width: calc(var(--thumb-size) * 2.5); } -wa-alert { - --content-color: var(--wa-color-text-normal); +wa-tag { + font-weight: var(--wa-font-weight-heavy); +} - &[variant='brand'] { - --icon-color: var(--wa-color-brand-spot-darker); - } +wa-input, +wa-select { + --wa-form-controls-height-s: calc( + var(--wa-space-s) * 2 + var(--wa-font-size-s) * var(--wa-form-controls-value-line-height) + + var(--wa-shadow-offset-y-level-1) + ); + --wa-form-controls-height-m: calc( + var(--wa-space-m) * 2 + var(--wa-font-size-m) * var(--wa-form-controls-value-line-height) + + var(--wa-shadow-offset-y-level-1) + ); + --wa-form-controls-height-l: calc( + var(--wa-space-l) * 2 + var(--wa-font-size-l) * var(--wa-form-controls-value-line-height) + + var(--wa-shadow-offset-y-level-1) + ); - &[variant='success'] { - --icon-color: var(--wa-color-success-spot-darker); - } + & > wa-icon { + color: var(--wa-color-gravy-30); - &[variant='warning'] { - --icon-color: var(--wa-color-warning-spot-darker); - } - - &[variant='danger'] { - --icon-color: var(--wa-color-danger-spot-darker); - } - - &[variant='neutral'] { - --icon-color: var(--wa-color-neutral-spot-darker); + .wa-theme-fa-dark & { + color: var(--wa-color-gravy-80); + } } } /* #endregion */ diff --git a/src/themes/headwind.css b/src/themes/headwind.css index 9248358eb..f6120870f 100644 --- a/src/themes/headwind.css +++ b/src/themes/headwind.css @@ -479,6 +479,12 @@ h4 { } } +.badge-stock { + position: absolute; + top: var(--wa-space-l); + left: var(--wa-space-l); +} + .message-composer wa-card { &::part(footer) { border: none;