@repobit/dex-system-design 0.25.12 → 0.26.0
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/CHANGELOG.md +187 -0
- package/README.md +131 -8
- package/package.json +95 -13
- package/schemas/component-manifest.json +3294 -405
- package/schemas/manifest-omissions.json +173 -0
- package/src/blog/src/breakpoints.js +6 -6
- package/src/blog/src/content/blog-atoms-showcase.js +1 -1
- package/src/blog/src/content/blog-page-layout.js +2 -2
- package/src/blog/src/lib/article-toc.js +7 -7
- package/src/blog/src/shell/blog-shell.js +1 -1
- package/src/blog/src/tokens/blog.js +2 -2
- package/src/blog/src/tokens/core.js +34 -35
- package/src/blog/src/tokens/legacy.js +0 -9
- package/src/blog/tokens/blog.js +2 -2
- package/src/blog/tokens/core.js +34 -35
- package/src/blog/tokens/legacy.js +0 -9
- package/src/blog/tokens.css +36 -46
- package/src/components/accordion/accordion-bg.css.js +83 -59
- package/src/components/accordion/accordion-bg.js +29 -10
- package/src/components/accordion/accordion-bg.stories.js +67 -67
- package/src/components/accordion/accordion-keyboard.js +80 -0
- package/src/components/accordion/accordion.css.js +142 -80
- package/src/components/accordion/accordion.js +37 -10
- package/src/components/accordion/accordion.stories.js +7 -7
- package/src/components/agent-endpoints/agent-endpoints.css.js +36 -39
- package/src/components/agent-endpoints/agent-endpoints.js +30 -20
- package/src/components/agent-endpoints/agent-endpoints.stories.js +1 -1
- package/src/components/ai-guardian-demo.stories.js +91 -91
- package/src/components/alert/alert.css.js +198 -0
- package/src/components/alert/alert.js +103 -0
- package/src/components/alert/alert.stories.js +206 -0
- package/src/components/anchor/anchor-nav.css.js +213 -101
- package/src/components/anchor/anchor-nav.js +26 -40
- package/src/components/anchor/anchor.stories.js +22 -12
- package/src/components/annotation/annotation.css.js +58 -0
- package/src/components/annotation/annotation.js +67 -0
- package/src/components/annotation/annotation.stories.js +63 -0
- package/src/components/architecture.stories.js +285 -0
- package/src/components/atoms.stories.js +342 -0
- package/src/components/avatar/avatar.css.js +67 -0
- package/src/components/avatar/avatar.js +42 -0
- package/src/components/avatar/avatar.stories.js +95 -0
- package/src/components/awards/awards-flex.css.js +209 -23
- package/src/components/awards/awards-flex.js +66 -7
- package/src/components/awards/awards-flex.stories.js +1 -1
- package/src/components/awards/{awards-light.stories.js → awards-summary.stories.js} +54 -64
- package/src/components/awards/awards.css.js +116 -58
- package/src/components/awards/awards.js +102 -28
- package/src/components/awards/awards.stories.js +1 -1
- package/src/components/back/back.css.js +51 -22
- package/src/components/back/back.js +28 -7
- package/src/components/back/back.stories.js +9 -3
- package/src/components/badge/badge.css.js +158 -46
- package/src/components/badge/badge.js +62 -74
- package/src/components/badge/badge.stories.js +176 -248
- package/src/components/bento-grid/bento-grid.css.js +21 -16
- package/src/components/bento-grid/bento-grid.js +16 -4
- package/src/components/bento-grid/bento-grid.stories.js +19 -18
- package/src/components/bento-grid/bento-item.css.js +52 -28
- package/src/components/bento-grid/bento-item.js +2 -2
- package/src/components/blockquote/blockquote.css.js +47 -0
- package/src/components/blockquote/blockquote.js +29 -0
- package/src/components/blockquote/blockquote.stories.js +62 -0
- package/src/components/breadcrumb/breadcrumb.css.js +92 -22
- package/src/components/breadcrumb/breadcrumb.js +56 -11
- package/src/components/button/button.css.js +531 -161
- package/src/components/button/button.js +206 -214
- package/src/components/button/button.stories.js +322 -174
- package/src/components/caption/caption.css.js +21 -0
- package/src/components/caption/caption.js +31 -0
- package/src/components/caption/caption.stories.js +62 -0
- package/src/components/card-features/card-features.css.js +14 -22
- package/src/components/card-features/card-features.js +68 -9
- package/src/components/card-features/card-features.stories.js +11 -11
- package/src/components/cards/card.css.js +60 -81
- package/src/components/cards/card.js +56 -25
- package/src/components/cards/card.stories.js +39 -39
- package/src/components/carousel/carousel.css.js +93 -99
- package/src/components/carousel/carousel.js +32 -4
- package/src/components/checkbox/checkbox.css.js +111 -93
- package/src/components/checkbox/checkbox.js +64 -90
- package/src/components/checkbox/checkbox.stories.js +96 -29
- package/src/components/code/code.css.js +70 -0
- package/src/components/code/code.js +40 -0
- package/src/components/code/code.stories.js +73 -0
- package/src/components/compare/compare.css.js +179 -43
- package/src/components/compare/compare.js +52 -25
- package/src/components/compare/compare.stories.js +61 -4
- package/src/components/comparison-panel/comparison-panel.css.js +38 -51
- package/src/components/comparison-panel/comparison-panel.js +5 -4
- package/src/components/comparison-panel/comparison-panel.stories.js +1 -1
- package/src/components/compatibility-table/compatibility-table.css.js +180 -80
- package/src/components/compatibility-table/compatibility-table.js +37 -9
- package/src/components/control-alignment.stories.js +393 -0
- package/src/components/cta-banner/cta-banner.css.js +41 -13
- package/src/components/cta-banner/cta-banner.js +6 -5
- package/src/components/cta-banner/cta-banner.stories.js +43 -98
- package/src/components/display/display.css.js +25 -1
- package/src/components/display/display.js +46 -13
- package/src/components/display/display.stories.js +270 -40
- package/src/components/divider/divider-horizontal.js +21 -5
- package/src/components/divider/divider-vertical.js +15 -7
- package/src/components/divider/divider.css.js +2 -2
- package/src/components/divider/divider.stories.js +38 -34
- package/src/components/dropdown/dropdown.css.js +93 -126
- package/src/components/dropdown/dropdown.js +114 -34
- package/src/components/dropdown/dropdown.stories.js +56 -24
- package/src/components/features/features.css.js +24 -11
- package/src/components/features/features.js +7 -3
- package/src/components/features/features.stories.js +37 -37
- package/src/components/features-tab/features-tab.css.js +19 -8
- package/src/components/features-tab/features-tab.js +6 -5
- package/src/components/features-tab/features-tab.stories.js +23 -23
- package/src/components/fieldset/fieldset.css.js +30 -0
- package/src/components/fieldset/fieldset.js +28 -0
- package/src/components/fieldset/fieldset.stories.js +84 -0
- package/src/components/footer/footer-links-group.css.js +10 -14
- package/src/components/footer/footer-links-group.js +4 -3
- package/src/components/footer/footer-lp.css.js +59 -30
- package/src/components/footer/footer-lp.js +17 -12
- package/src/components/footer/footer-lp.stories.js +63 -75
- package/src/components/footer/footer-nav-menu.css.js +26 -4
- package/src/components/footer/footer-nav-menu.js +3 -2
- package/src/components/footer/footer.css.js +146 -264
- package/src/components/footer/footer.js +176 -106
- package/src/components/footer/footer.stories.js +9 -9
- package/src/components/footer/localeMap.js +1 -1
- package/src/components/grid/grid.css.js +1 -1
- package/src/components/grid/grid.js +49 -7
- package/src/components/grid/grid.stories.js +111 -0
- package/src/components/header/header-code.css.js +61 -51
- package/src/components/header/header-code.js +28 -14
- package/src/components/header/header-code.stories.js +5 -5
- package/src/components/header/header.css.js +655 -176
- package/src/components/header/header.js +269 -36
- package/src/components/header/header.stories.js +841 -18
- package/src/components/heading/heading.css.js +14 -17
- package/src/components/heading/heading.js +48 -33
- package/src/components/heading/heading.stories.js +27 -25
- package/src/components/help-text/help-text.css.js +21 -0
- package/src/components/help-text/help-text.js +25 -0
- package/src/components/help-text/help-text.stories.js +66 -0
- package/src/components/highlight/highlight.css.js +86 -64
- package/src/components/highlight/highlight.js +18 -27
- package/src/components/highlight/highlight.stories.js +14 -3
- package/src/components/icons/analysis-icon.js +6 -16
- package/src/components/icons/arrow-down-icon.js +6 -19
- package/src/components/icons/arrow-icon.js +44 -0
- package/src/components/icons/arrow-right-icon.js +30 -23
- package/src/components/icons/arrow-up-icon.js +19 -18
- package/src/components/icons/bd-ai-icon.js +1 -1
- package/src/components/icons/brand-marks.stories.js +279 -0
- package/src/components/icons/brand-signature-icon.js +42 -0
- package/src/components/icons/check-icon.js +27 -0
- package/src/components/icons/circle-info-icon.js +33 -0
- package/src/components/icons/close-icon.js +6 -18
- package/src/components/icons/family-icon.js +8 -20
- package/src/components/icons/globe-icon.js +6 -18
- package/src/components/icons/guide-icon.js +6 -18
- package/src/components/icons/icon-element.js +99 -0
- package/src/components/icons/icons.js +36 -0
- package/src/components/icons/icons.stories.js +184 -52
- package/src/components/icons/individual-icon.js +6 -18
- package/src/components/icons/laurel-icon.js +9 -19
- package/src/components/icons/machine-learning-icon.js +6 -17
- package/src/components/icons/marks.js +41 -0
- package/src/components/icons/minus-icon.js +7 -21
- package/src/components/icons/missing-icon.js +52 -0
- package/src/components/icons/plus-icon.js +7 -21
- package/src/components/icons/quote-icon.js +19 -19
- package/src/components/image/image.css.js +72 -25
- package/src/components/image/image.js +11 -6
- package/src/components/image/image.stories.js +2 -2
- package/src/components/input/custom-form.stories.js +214 -62
- package/src/components/input/input-clipboard.css.js +51 -144
- package/src/components/input/input-clipboard.js +31 -15
- package/src/components/input/input.css.js +8 -146
- package/src/components/input/input.js +93 -38
- package/src/components/install-options/install-options.css.js +84 -77
- package/src/components/install-options/install-options.js +33 -30
- package/src/components/install-options/install-options.stories.js +3 -3
- package/src/components/label/label.css.js +35 -0
- package/src/components/label/label.js +38 -0
- package/src/components/label/label.stories.js +82 -0
- package/src/components/light-carousel/light-carousel.css.js +111 -63
- package/src/components/light-carousel/light-carousel.js +85 -11
- package/src/components/light-carousel/light-carousel.stories.js +126 -82
- package/src/components/link/link.css.js +150 -99
- package/src/components/link/link.js +86 -11
- package/src/components/link/link.stories.js +124 -30
- package/src/components/list/list-item/list-item.css.js +74 -22
- package/src/components/list/list-item/list-item.js +32 -10
- package/src/components/list/list-item/list-item.stories.js +23 -23
- package/src/components/list/list.css.js +8 -2
- package/src/components/list/list.js +3 -2
- package/src/components/list/list.stories.js +222 -0
- package/src/components/modal/modal.css.js +114 -24
- package/src/components/modal/modal.js +83 -7
- package/src/components/modal/modal.stories.js +9 -9
- package/src/components/overview/overview.css.js +19 -14
- package/src/components/overview/overview.js +6 -5
- package/src/components/overview/overview.stories.js +10 -10
- package/src/components/page-switcher/page-switcher.css.js +97 -40
- package/src/components/page-switcher/page-switcher.js +28 -5
- package/src/components/page-switcher/page-switcher.stories.js +95 -0
- package/src/components/paragraph/paragraph.css.js +15 -10
- package/src/components/paragraph/paragraph.js +41 -44
- package/src/components/paragraph/paragraph.stories.js +56 -21
- package/src/components/picture/picture.css.js +103 -44
- package/src/components/picture/picture.js +100 -30
- package/src/components/picture/picture.stories.js +1 -1
- package/src/components/pricing-cards/new-pricing-card.js +3 -3
- package/src/components/pricing-cards/new-pricing.css.js +24 -15
- package/src/components/pricing-cards/pricing-card-actions.css.js +1 -1
- package/src/components/pricing-cards/pricing-card-actions.js +3 -4
- package/src/components/pricing-cards/pricing-card-container.css.js +3 -3
- package/src/components/pricing-cards/pricing-card-container.js +3 -2
- package/src/components/pricing-cards/pricing-card-header.css.js +10 -8
- package/src/components/pricing-cards/pricing-card-header.js +6 -7
- package/src/components/pricing-cards/pricing-card-pricing.css.js +16 -9
- package/src/components/pricing-cards/pricing-card-pricing.js +8 -6
- package/src/components/pricing-cards/pricing-card-show-more.css.js +11 -3
- package/src/components/pricing-cards/pricing-card-show-more.js +8 -3
- package/src/components/pricing-cards/pricing-card.css.js +244 -190
- package/src/components/pricing-cards/pricing-card.js +54 -70
- package/src/components/pricing-cards/pricing-feature-item.css.js +25 -8
- package/src/components/pricing-cards/pricing-feature-item.js +8 -3
- package/src/components/process-steps/process-steps.css.js +26 -14
- package/src/components/process-steps/process-steps.js +23 -6
- package/src/components/process-steps/process-steps.stories.js +1 -1
- package/src/components/progress/progress.css.js +80 -0
- package/src/components/progress/progress.js +42 -0
- package/src/components/progress/progress.stories.js +79 -0
- package/src/components/quick-answer/quick-answer.css.js +75 -13
- package/src/components/quick-answer/quick-answer.js +8 -3
- package/src/components/radio/radio.css.js +92 -128
- package/src/components/radio/radio.js +106 -127
- package/src/components/radio/radio.stories.js +54 -19
- package/src/components/review/review-grid.css.js +5 -6
- package/src/components/review/review-grid.js +14 -11
- package/src/components/review/review.css.js +11 -6
- package/src/components/review/review.js +3 -8
- package/src/components/shared/ensemble.css.js +93 -0
- package/src/components/shared/form-field.css.js +206 -0
- package/src/components/shared/prop-vocabulary.js +48 -0
- package/src/components/shared/token-scales.js +306 -0
- package/src/components/skeleton/skeleton.css.js +34 -0
- package/src/components/skeleton/skeleton.js +32 -0
- package/src/components/skeleton/skeleton.stories.js +70 -0
- package/src/components/spinner/spinner.css.js +62 -0
- package/src/components/spinner/spinner.js +38 -0
- package/src/components/spinner/spinner.stories.js +92 -0
- package/src/components/spotlight-section/spotlight-section.css.js +14 -13
- package/src/components/spotlight-section/spotlight-section.js +42 -39
- package/src/components/switch/switch.css.js +103 -0
- package/src/components/switch/switch.js +44 -0
- package/src/components/switch/switch.stories.js +86 -0
- package/src/components/tab-list/content-switcher.stories.js +189 -0
- package/src/components/tab-list/tab-list.css.js +250 -0
- package/src/components/tab-list/tab-list.js +184 -0
- package/src/components/tab-list/tab-list.stories.js +221 -0
- package/src/components/tabs/tabs.css.js +14 -123
- package/src/components/tabs/tabs.js +16 -19
- package/src/components/tabs/tabs.stories.js +95 -95
- package/src/components/tag/tag.css.js +54 -0
- package/src/components/tag/tag.js +32 -0
- package/src/components/tag/tag.stories.js +126 -0
- package/src/components/terminal/terminal-message.css.js +164 -60
- package/src/components/terminal/terminal-message.js +5 -5
- package/src/components/terminal/terminal-message.stories.js +70 -1
- package/src/components/termsOfUse/terms.css.js +25 -20
- package/src/components/termsOfUse/terms.js +13 -9
- package/src/components/termsOfUse/terms.stories.js +1 -1
- package/src/components/textarea/textarea.css.js +51 -0
- package/src/components/textarea/textarea.js +136 -0
- package/src/components/textarea/textarea.stories.js +191 -0
- package/src/components/tooltip/tooltip.css.js +75 -0
- package/src/components/tooltip/tooltip.js +156 -0
- package/src/components/tooltip/tooltip.stories.js +161 -0
- package/src/components/trust-panel/trust-panel.css.js +85 -33
- package/src/components/trust-panel/trust-panel.js +18 -10
- package/src/components/trust-panel/trust-panel.stories.js +1 -1
- package/src/components/ultimate-security-demo.stories.js +431 -0
- package/src/components/video/video.css.js +17 -0
- package/src/components/video/video.js +40 -0
- package/src/components/video/video.stories.js +106 -0
- package/src/components/video-player/video-player.css.js +67 -11
- package/src/components/video-player/video-player.js +35 -4
- package/src/components/video-player/video-player.stories.js +1 -1
- package/src/components/visual-alignment.stories.js +411 -0
- package/src/components/visually-hidden/visually-hidden.css.js +24 -0
- package/src/components/visually-hidden/visually-hidden.js +16 -0
- package/src/components/visually-hidden/visually-hidden.stories.js +56 -0
- package/src/stories/Button.stories.js +17 -17
- package/src/stories/Header.stories.js +10 -10
- package/src/stories/Page.js +1 -1
- package/src/stories/Page.stories.js +6 -6
- package/src/tokens/borders.stories.js +339 -0
- package/src/tokens/color-responsibilities.stories.js +227 -0
- package/src/tokens/dark-derivation.js +309 -0
- package/src/tokens/dark-findings.js +197 -0
- package/src/tokens/dark-mode.stories.js +207 -0
- package/src/tokens/dimension.stories.js +251 -0
- package/src/tokens/elevation.stories.js +143 -0
- package/src/tokens/focus.stories.js +276 -0
- package/src/tokens/fonts.css +20 -20
- package/src/tokens/fonts.stories.js +354 -374
- package/src/tokens/layout.css +25 -11
- package/src/tokens/motion.stories.js +231 -0
- package/src/tokens/shape.stories.js +272 -0
- package/src/tokens/spacing-rhythm.stories.js +359 -0
- package/src/tokens/spacing.stories.js +208 -703
- package/src/tokens/story-chrome.js +503 -0
- package/src/tokens/surfaces.stories.js +224 -0
- package/src/tokens/text-on-surface.stories.js +164 -0
- package/src/tokens/token-map.js +220 -0
- package/src/tokens/token-map.stories.js +257 -0
- package/src/tokens/token-purposes.js +266 -0
- package/src/tokens/tokens-grid.stories.js +388 -900
- package/src/tokens/tokens.css +1633 -1045
- package/src/tokens/tokens.js +1130 -492
- package/src/tokens/tokens.stories.js +137 -47
- package/src/tokens/type-ceiling-words.js +299 -0
- package/src/tokens/typography.stories.js +1003 -965
- package/src/tokens/vertical-rhythm.stories.js +224 -0
- package/src/components/awards/awards-icon.js +0 -56
- package/src/components/awards/awards-light.js +0 -240
- package/src/components/banner/banner.js +0 -60
- package/src/components/banner/banner.stories.js +0 -51
- package/src/components/button/icons.js +0 -24
- package/src/components/input/index.js +0 -0
- package/src/components/light-carousel/light-carousel-simple.css.js +0 -183
- package/src/components/light-carousel/light-carousel-simple.js +0 -74
- package/src/tokens/colors.js +0 -121
- package/src/tokens/typography.css.js +0 -207
- package/src/tokens/typography.js +0 -0
|
@@ -1,61 +1,71 @@
|
|
|
1
|
-
import { css } from "lit";
|
|
1
|
+
import { css, unsafeCSS } from "lit";
|
|
2
|
+
import { below } from "../shared/token-scales.js";
|
|
2
3
|
|
|
3
4
|
export default css`
|
|
4
5
|
:host {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
/* no role: green-700 has no BORDER role, for the reason new-pricing.css.js
|
|
7
|
+
records at its own .highlight. Now that .highlight-banner takes the
|
|
8
|
+
-fill pair directly, .highlight's edge is this alias's only consumer and
|
|
9
|
+
the name finally matches what it does. */
|
|
7
10
|
--border-card-green: var(--color-green-700);
|
|
8
|
-
--badge-background
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
/* --badge-background and --text-color-white stood here and stood here in
|
|
12
|
+
termsOfUse/terms.css.js too, declared identically in both and read by
|
|
13
|
+
neither: grep finds each name exactly twice in the whole package, both
|
|
14
|
+
times as these declarations. Private aliases that never even became
|
|
15
|
+
indirection. */
|
|
11
16
|
}
|
|
12
|
-
body {
|
|
13
|
-
font-family: "IBM Plex Mono", monospace;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
17
|
button {
|
|
17
18
|
outline: none;
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
button:focus-visible {
|
|
21
|
-
|
|
22
|
-
outline
|
|
22
|
+
/* the one focus ring — see Design Tokens/Focus */
|
|
23
|
+
outline: none;
|
|
24
|
+
box-shadow: var(--focus-outline-primary);
|
|
23
25
|
}
|
|
24
26
|
a:focus-visible {
|
|
25
|
-
|
|
26
|
-
outline
|
|
27
|
-
|
|
27
|
+
/* the one focus ring — see Design Tokens/Focus */
|
|
28
|
+
outline: none;
|
|
29
|
+
box-shadow: var(--focus-outline-primary);
|
|
30
|
+
border-radius: var(--focus-outline-radius);
|
|
28
31
|
}
|
|
29
32
|
.card {
|
|
30
33
|
padding-top: 2em;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
/* White on the brand band, with the 1px border/container edge the rule's
|
|
35
|
+
second clause names. This was surface/container with a 2px
|
|
36
|
+
--border-card-grey edge, and that edge measured 1.07:1 against its own
|
|
37
|
+
ground -- the least visible element in the whole surface system, two
|
|
38
|
+
pixels spent on nothing. It now reads 1.287:1 against the card and the
|
|
39
|
+
card reads 1.080:1 against the band. */
|
|
40
|
+
background: var(--color-surface-default);
|
|
41
|
+
border: var(--border-width-1) solid var(--color-border-container);
|
|
42
|
+
border-radius: var(--card-radius);
|
|
43
|
+
padding: var(--card-padding);
|
|
35
44
|
text-align: center;
|
|
36
45
|
max-width: 360px;
|
|
37
46
|
position: relative;
|
|
38
47
|
height: 100%;
|
|
39
48
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
49
|
+
/* THE TOGGLE'S GLYPHS ARE GONE, and the history is worth one paragraph because
|
|
50
|
+
it ran through three shapes in a day. They began as empty spans carrying a
|
|
51
|
+
background-image data URI -- a 22x22 person and a 32x32 family, five
|
|
52
|
+
fill='%23000' between them, which is why five ".icon svg" rules written to
|
|
53
|
+
colour them per state could never match and the marks stayed black while
|
|
54
|
+
their own label went white on the active pill. They were migrated to
|
|
55
|
+
<bd-individual-icon> and <bd-family-icon>, which fixed that by inheriting
|
|
56
|
+
currentColor. Then the redesign removed the icons from the control
|
|
57
|
+
altogether: the Content Switcher is labels only, on the argument that the
|
|
58
|
+
label is the whole message and an icon beside it is decoration that has to
|
|
59
|
+
be translated too.
|
|
60
|
+
.
|
|
61
|
+
So the data URIs and the 4.63:1 black-on-blue defect are both retired, and
|
|
62
|
+
the atoms are no longer imported here. Nothing above needs the icon scale.
|
|
63
|
+
.
|
|
64
|
+
MARKUP CHANGES INSIDE PRODUCT_FROZEN, made on explicit instruction rather
|
|
65
|
+
than by drift. architecture.json's note is authoritative that the freeze
|
|
66
|
+
exempts the architecture mechanism only and keeps colour content in the
|
|
67
|
+
contract, but a template edit is the thing the freeze does cover. Flagged
|
|
68
|
+
for review rather than treated as settled. */
|
|
59
69
|
|
|
60
70
|
|
|
61
71
|
.highlight {
|
|
@@ -63,8 +73,14 @@ export default css`
|
|
|
63
73
|
}
|
|
64
74
|
|
|
65
75
|
.highlight-banner {
|
|
66
|
-
|
|
67
|
-
|
|
76
|
+
/* A saturated chip and its ink, which is what tokens.js calls the
|
|
77
|
+
-fill / -on-fill pair, and what bd-badge variant="fill" draws with the
|
|
78
|
+
same green-700-plus-white at 4.75:1 (badge.css.js:108-113). It used to
|
|
79
|
+
read --border-card-green: that alias serves a BORDER two rules up and a
|
|
80
|
+
BACKGROUND here, so its name described half its consumers. Both values
|
|
81
|
+
identical, #0e8532 and #ffffff. */
|
|
82
|
+
background: var(--status-success-fill);
|
|
83
|
+
color: var(--status-success-on-fill);
|
|
68
84
|
font-size: 18px;
|
|
69
85
|
padding: var(--spacing-16) var(--spacing-8);
|
|
70
86
|
border-top-left-radius: var(--spacing-20);
|
|
@@ -76,8 +92,10 @@ export default css`
|
|
|
76
92
|
width: 85%;
|
|
77
93
|
font-family: var(--typography-fontFamily-sans);
|
|
78
94
|
font-weight: 600;
|
|
79
|
-
|
|
80
|
-
|
|
95
|
+
/* 18px text; was 14px (0.78) which clipped descenders and, at width:85%,
|
|
96
|
+
collided wrapped lines */
|
|
97
|
+
line-height: var(--typography-lineHeight-tight);
|
|
98
|
+
z-index: var(--z-base);
|
|
81
99
|
}
|
|
82
100
|
.pricing-cards .card:nth-child(2) .highlight-banner {
|
|
83
101
|
top: -30px;
|
|
@@ -90,14 +108,33 @@ export default css`
|
|
|
90
108
|
font-size: 2em;
|
|
91
109
|
font-weight: 700;
|
|
92
110
|
font-family: var(--typography-fontFamily-sans);
|
|
93
|
-
|
|
111
|
+
/* 32px text; was 34px (1.06), too tight for a title that wraps */
|
|
94
112
|
text-align: start;
|
|
95
113
|
margin: 0px;
|
|
96
114
|
max-width: 300px;
|
|
97
115
|
}
|
|
98
|
-
.hr-line
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
/* ".hr-line" stood here with a no role: marker recording why it could not be
|
|
117
|
+
migrated: composing <bd-divider-horizontal> is a markup change inside
|
|
118
|
+
PRODUCT_FROZEN, and the colour arrived via the color property driving the
|
|
119
|
+
UA's inset border on a real <hr>, so an explicit border-color would have
|
|
120
|
+
been a rendering change rather than a rename.
|
|
121
|
+
.
|
|
122
|
+
The markup objection was lifted by instruction, so the four <hr class=
|
|
123
|
+
"hr-line"> in pricing-card.js are now the atom -- which pricing-card-header
|
|
124
|
+
.js already rendered, so the unit no longer disagrees with itself. The
|
|
125
|
+
rendering objection is answered by that too: the atom draws its own line
|
|
126
|
+
rather than relying on <hr>'s inset shading, so neutral-200-as-color stops
|
|
127
|
+
being load-bearing and the rule goes with it.
|
|
128
|
+
.
|
|
129
|
+
The atom is passed color="subtle". Measured on the default story, its own
|
|
130
|
+
default is --color-border-default at neutral-400 (#88909b), two steps
|
|
131
|
+
darker than the neutral-200 these lines have shipped at, and subtle is
|
|
132
|
+
--color-border-subtle -- the same neutral-200. Composing the atom is the
|
|
133
|
+
fix that was asked for; silently darkening a shipped separator is not, so
|
|
134
|
+
the appearance is pinned and only the provenance changes.
|
|
135
|
+
.
|
|
136
|
+
The atom's own internal class is also .hr-line, which was always fair
|
|
137
|
+
evidence this rule had been copied from it rather than composed with it. */
|
|
101
138
|
|
|
102
139
|
.pricing-info {
|
|
103
140
|
display: inline-flex;
|
|
@@ -108,7 +145,16 @@ export default css`
|
|
|
108
145
|
font-size: 16px !important;
|
|
109
146
|
font-weight: 500;
|
|
110
147
|
font-family: var(--typography-fontFamily-sans);
|
|
111
|
-
|
|
148
|
+
/* The ink role. This is a real change, not a like-for-like swap: the role is
|
|
149
|
+
neutral-900 and what stood here was neutral-950, one step darker, so
|
|
150
|
+
contrast on this card's own container surface goes 18.64:1 -> 17.22:1. At
|
|
151
|
+
CIE dE 4.19 between two near-blacks it is imperceptible, but it is a
|
|
152
|
+
change. Nothing was preserved by the darker step: neutral-950 is not an
|
|
153
|
+
ink in this system at all -- the ink ladder stops at neutral-900, and the
|
|
154
|
+
only roles carrying 950 are button fills. It stood here because this file
|
|
155
|
+
predates the role vocabulary. v2's counterpart already names the role, at
|
|
156
|
+
pricing-card-header.css.js:54. */
|
|
157
|
+
color: var(--color-text-primary);
|
|
112
158
|
margin: var(--spacing-0);
|
|
113
159
|
margin-top: var(--spacing-8);
|
|
114
160
|
}
|
|
@@ -136,45 +182,74 @@ export default css`
|
|
|
136
182
|
.original-price {
|
|
137
183
|
font-family: var(--typography-fontFamily-sans);
|
|
138
184
|
font-weight: 500;
|
|
139
|
-
|
|
185
|
+
/* was var(--spacing-18): a spacing token used as an absolute line-height */
|
|
140
186
|
font-size: 16px;
|
|
141
187
|
text-decoration: line-through;
|
|
142
|
-
|
|
188
|
+
/* The ink role, the same imperceptible darkening as .badge-subtitle above:
|
|
189
|
+
18.64:1 -> 17.22:1, dE 4.19. v2's counterpart is
|
|
190
|
+
pricing-card-pricing.css.js:18. */
|
|
191
|
+
color: var(--color-text-primary);
|
|
143
192
|
}
|
|
144
193
|
|
|
145
194
|
.discount {
|
|
146
|
-
|
|
195
|
+
/* -surface-strong, for the reason pricing-card-pricing.css.js records at
|
|
196
|
+
its own .discount: this is the badge-shade step and the ink on it is
|
|
197
|
+
already the matching role. Value-identical at #d1fadc. */
|
|
198
|
+
background: var(--status-success-surface-strong);
|
|
147
199
|
font-family: var(--typography-fontFamily-sans);
|
|
148
200
|
font-weight: 600;
|
|
149
201
|
font-size: 16px;
|
|
150
202
|
font-weight: bold;
|
|
151
|
-
border-radius:
|
|
152
|
-
// padding: var(--spacing-6) var(--spacing-12) var(--spacing-8) var(--spacing-12);
|
|
203
|
+
border-radius: var(--radius-full);
|
|
153
204
|
gap: var(--spacing-10);
|
|
154
|
-
color: var(--color-
|
|
205
|
+
color: var(--color-text-success);
|
|
155
206
|
margin: var(--spacing-0);
|
|
156
207
|
}
|
|
157
208
|
|
|
158
209
|
.price {
|
|
210
|
+
/* No colour here. This selector is a bd-h host, where color is INERT per
|
|
211
|
+
scripts/atom-inert-properties.json -- the atom sets it on its own inner
|
|
212
|
+
.bd-heading, so a host declaration cannot reach the text. A neutral-950
|
|
213
|
+
stood here and painted nothing; the heading renders the ink role, which
|
|
214
|
+
the atom supplies. Proved by sabotage in both story families: forcing all
|
|
215
|
+
five of this rule's declared properties on the host with !important left
|
|
216
|
+
the rendered heading byte-identical. The four declarations below are dead
|
|
217
|
+
by the same mechanism -- deleting the whole rule is a larger call, and is
|
|
218
|
+
an item in plans/foundation-plan.md rather than part of this change. */
|
|
159
219
|
font-size: 40px;
|
|
160
220
|
font-weight: 700;
|
|
161
|
-
color: var(--color-neutral-950);
|
|
162
221
|
font-family: var(--typography-fontFamily-sans);
|
|
163
|
-
line
|
|
222
|
+
/* 40px text; was 34px (0.85) — the line box was smaller than the text */
|
|
223
|
+
line-height: var(--typography-lineHeight-none);
|
|
164
224
|
}
|
|
165
225
|
|
|
166
226
|
.terms {
|
|
167
227
|
font-family: var(--typography-fontFamily-sans);
|
|
168
228
|
font-weight: 400;
|
|
169
229
|
font-size: 12px;
|
|
170
|
-
|
|
171
|
-
|
|
230
|
+
/* The ink role, the same imperceptible darkening as .badge-subtitle:
|
|
231
|
+
18.64:1 -> 17.22:1, dE 4.19. v2's counterpart is
|
|
232
|
+
pricing-card-pricing.css.js:48. */
|
|
233
|
+
color: var(--color-text-primary);
|
|
234
|
+
/* four lines of small print; was var(--spacing-14) = 14px (1.17) */
|
|
172
235
|
margin-top: 15px;
|
|
173
236
|
max-width: 80%;
|
|
174
237
|
}
|
|
175
238
|
|
|
176
239
|
.terms a {
|
|
177
|
-
|
|
240
|
+
/* The resting-link ink, matching bd-link. This is a visible change: blue-700
|
|
241
|
+
is what --color-action-primary-active carries, and in this system that step
|
|
242
|
+
means an interactive element in its ENGAGED state -- bd-link uses it for
|
|
243
|
+
:hover, annotation for :hover, anchor-nav for the active option. A resting
|
|
244
|
+
link wearing it reads as permanently pressed. Contrast goes 8.20:1 -> 5.92:1
|
|
245
|
+
on --color-surface-container, still comfortably over 4.5.
|
|
246
|
+
.
|
|
247
|
+
The "small text wants darker ink" hypothesis was tested package-wide and
|
|
248
|
+
rejected: no such principle is documented anywhere, the ladder is flat
|
|
249
|
+
across 12-18px and goes LIGHTER at 32px, and accordion.css.js:347 is a 12px
|
|
250
|
+
link on this same surface that already chose --color-text-brand with the
|
|
251
|
+
arithmetic in its comment. See plans/reports/phase-2-size-dependent-ink-check.md. */
|
|
252
|
+
color: var(--color-text-brand);
|
|
178
253
|
text-decoration: underline;
|
|
179
254
|
}
|
|
180
255
|
.actions {
|
|
@@ -189,9 +264,9 @@ export default css`
|
|
|
189
264
|
.features h4 {
|
|
190
265
|
font-size: 16px;
|
|
191
266
|
font-weight: 700;
|
|
192
|
-
color: var(--color-
|
|
267
|
+
color: var(--color-text-primary);
|
|
193
268
|
font-family: var(--typography-fontFamily-sans);
|
|
194
|
-
line-height: var(--
|
|
269
|
+
line-height: var(--typography-lineHeight-tight);
|
|
195
270
|
}
|
|
196
271
|
|
|
197
272
|
.features ul {
|
|
@@ -209,10 +284,19 @@ export default css`
|
|
|
209
284
|
text-align: start;
|
|
210
285
|
}
|
|
211
286
|
.additional-info li {
|
|
287
|
+
/* No colour here either, and for a DIFFERENT reason than .price above. This
|
|
288
|
+
li is a plain element, not an atom host: its text lives in a bd-p child,
|
|
289
|
+
and paragraph.css.js declares the ink on that atom's own :host. A direct
|
|
290
|
+
declaration on an element beats a value inherited into it, so a colour set
|
|
291
|
+
on this li is replaced before it can reach the inner p. Proved in reverse:
|
|
292
|
+
standing bd-p's own declaration down makes the li's value appear, so what
|
|
293
|
+
stood here was present and blocked rather than absent or overridden.
|
|
294
|
+
Note this INVERTS the atom-host case, where a colour on a bd-p host is
|
|
295
|
+
LIVE -- see the ancestorDeclarations note in
|
|
296
|
+
scripts/atom-inert-properties.json. */
|
|
212
297
|
font-family: var(--typography-fontFamily-sans);
|
|
213
298
|
font-weight: 400;
|
|
214
299
|
font-size: 14px;
|
|
215
|
-
color: var(--color-neutral-950);
|
|
216
300
|
margin-bottom: var(--spacing-10);
|
|
217
301
|
display: flex;
|
|
218
302
|
align-items: center;
|
|
@@ -247,12 +331,48 @@ export default css`
|
|
|
247
331
|
margin-bottom: var(--spacing-24);
|
|
248
332
|
}
|
|
249
333
|
|
|
334
|
+
/* The band the cards sit on.
|
|
335
|
+
|
|
336
|
+
Three adjacent plans need to be told apart from each OTHER, not just from
|
|
337
|
+
the page, and the ground cannot do that: surface/default, -container and
|
|
338
|
+
-subtle measure 1.000, 1.044 and 1.121 against the page, so two
|
|
339
|
+
surface/container cards with a gap between them are separated by about
|
|
340
|
+
nothing. Inverting solves it -- white cards on a tint get a tonal step AND
|
|
341
|
+
an edge, which is the pattern Trust Panel and Comparison Panel already
|
|
342
|
+
use and the second clause of CLAUDE.md's ground-and-edge rule.
|
|
343
|
+
|
|
344
|
+
status/brand/surface rather than a neutral tint: its luminance step is
|
|
345
|
+
the smaller one (1.080:1 against a white card, where surface/subtle gives
|
|
346
|
+
1.121) but it separates by HUE, and a blue band against a white card is
|
|
347
|
+
legible in a way two near-identical greys are not.
|
|
348
|
+
|
|
349
|
+
Contained, not full-bleed, and that is settled by the architecture record
|
|
350
|
+
rather than by taste: scripts/architecture.json has this unit at
|
|
351
|
+
column: false and it does not compose ensembleCSS, so a 100vw band would
|
|
352
|
+
be the component claiming a page-section responsibility it is recorded as
|
|
353
|
+
not having.
|
|
354
|
+
|
|
355
|
+
padding-top is the larger one because the highlight banner overhangs the
|
|
356
|
+
card by 2.67em -- about 48px -- and the band has to contain it.
|
|
357
|
+
|
|
358
|
+
RADIUS: --radius-2xl, the same step the cards take, not the --radius-xl
|
|
359
|
+
that every other panel in this package uses. That is a deliberate
|
|
360
|
+
override of the panel convention: this band is not a panel that happens to
|
|
361
|
+
contain cards, it is the group the cards belong to, and matching their
|
|
362
|
+
corner makes the set read as one family rather than as foreign objects
|
|
363
|
+
sitting inside a container. Design decision, recorded so the next person
|
|
364
|
+
sees a choice rather than an inconsistency -- revisit it if a second
|
|
365
|
+
card-group band turns up and wants the panel step instead. */
|
|
250
366
|
.pricing-cards {
|
|
251
367
|
display: flex;
|
|
252
368
|
justify-content: center;
|
|
253
369
|
flex-wrap: wrap;
|
|
254
370
|
gap: var(--spacing-24);
|
|
255
371
|
align-items: stretch;
|
|
372
|
+
background: var(--status-brand-surface);
|
|
373
|
+
border-radius: var(--radius-2xl);
|
|
374
|
+
padding: var(--spacing-64) var(--spacing-32) var(--spacing-48);
|
|
375
|
+
box-sizing: border-box;
|
|
256
376
|
}
|
|
257
377
|
|
|
258
378
|
.pricing-card {
|
|
@@ -272,114 +392,34 @@ export default css`
|
|
|
272
392
|
padding-bottom: var(--spacing-32);
|
|
273
393
|
}
|
|
274
394
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
.switchBox .label {
|
|
306
|
-
font-family: Arial, Helvetica, sans-serif;
|
|
307
|
-
width: 50%;
|
|
308
|
-
text-align: center;
|
|
309
|
-
font-weight: bold;
|
|
310
|
-
line-height: 34px;
|
|
311
|
-
font-size: var(--spacing-16);
|
|
312
|
-
color: white;
|
|
313
|
-
transition: color 0.4s;
|
|
314
|
-
cursor: pointer;
|
|
315
|
-
}
|
|
316
|
-
.switchBox .label .icon {
|
|
317
|
-
vertical-align: middle;
|
|
318
|
-
position: relative;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
.icon-user-sharp-regular,
|
|
322
|
-
.icon-family-pants-sharp-regular {
|
|
323
|
-
vertical-align: middle;
|
|
324
|
-
position: relative;
|
|
325
|
-
top: -2px;
|
|
326
|
-
}
|
|
327
|
-
.switchBox .label.right {
|
|
328
|
-
z-index: 10;
|
|
329
|
-
color: black;
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
.switchBox .label.left {
|
|
333
|
-
z-index: 10;
|
|
334
|
-
}
|
|
335
|
-
|
|
336
|
-
.switchBox .switch input:checked ~ .label.right {
|
|
337
|
-
transition: color 0.4s;
|
|
338
|
-
color: white !important;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
.switchBox .switch input ~ .label .icon {
|
|
342
|
-
position: relative;
|
|
343
|
-
margin-right: var(--spacing-10);
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
.switchBox .switch input ~ .label .icon svg {
|
|
347
|
-
width: var(--spacing-24);
|
|
348
|
-
height: var(--spacing-20);
|
|
349
|
-
}
|
|
350
|
-
.badge-icon-family {
|
|
351
|
-
top: var(--spacing-4) !important;
|
|
352
|
-
position: relative;
|
|
353
|
-
}
|
|
354
|
-
.badge-icon-user {
|
|
355
|
-
top: var(--spacing-4) !important;
|
|
356
|
-
position: relative;
|
|
357
|
-
}
|
|
358
|
-
.switchBox .switch input ~ .label.right .icon svg {
|
|
359
|
-
fill: #026dff;
|
|
360
|
-
}
|
|
361
|
-
|
|
362
|
-
.switchBox .switch input:checked ~ .label.right .icon svg {
|
|
363
|
-
fill: white;
|
|
364
|
-
}
|
|
365
|
-
|
|
366
|
-
.switchBox .switch input:checked ~ .label.left {
|
|
367
|
-
transition: color 0.4s;
|
|
368
|
-
color: black;
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
.switchBox .switch input:checked ~ .label.left .icon svg {
|
|
372
|
-
fill: #026dff;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
.prod-box.individual-box {
|
|
376
|
-
transition: all 0.4s;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
.prod_box.family-box {
|
|
380
|
-
display: none;
|
|
381
|
-
transition: all 0.4s;
|
|
382
|
-
}
|
|
395
|
+
/* Everything the billing toggle owned stood here: the 302x44 track, the
|
|
396
|
+
150px sliding pill, four label state rules, the two data-URI glyph
|
|
397
|
+
classes, and the icon positioning around them. The control is now
|
|
398
|
+
<bd-tab-list appearance="switcher"> -- the Content Switcher designed in
|
|
399
|
+
Figma at node 311:931 -- so all of it is dead and removed rather than left
|
|
400
|
+
to be read as live.
|
|
401
|
+
.
|
|
402
|
+
What went with it, so the reasoning is not lost: the pill's radius had
|
|
403
|
+
been --radius-2xl on a 40px box where a full round needs 20px, the label
|
|
404
|
+
weight was the raw keyword bold at 700 against the buttons' 500, and the
|
|
405
|
+
pill travelled 149px where the geometry wanted 148, which put it 1px from
|
|
406
|
+
the right edge and 2px from the left. All three are moot now -- the
|
|
407
|
+
switcher has one radius, takes its weight from the action-label role, and
|
|
408
|
+
has no travelling pill at all. The reduced-motion block that used to name
|
|
409
|
+
.slider and the label rules went too; the switcher declares its own.
|
|
410
|
+
.
|
|
411
|
+
.switchBox stays: it is the wrapper that centres the control and holds the
|
|
412
|
+
section's margins, and it is still doing that job. */
|
|
413
|
+
|
|
414
|
+
/* Two ".prod-box" rules stood here. Neither class exists: a repo-wide search
|
|
415
|
+
for prod-box or prod_box finds no match outside this stylesheet -- no
|
|
416
|
+
template, no story, no schema, no blog page. The second also spells the
|
|
417
|
+
block with an underscore where the first uses a hyphen, so the pair could
|
|
418
|
+
not even have been two states of one thing.
|
|
419
|
+
.
|
|
420
|
+
One of them carried display: none, which is the reason to be sure before
|
|
421
|
+
deleting: had the class ever existed, removing this would reveal a hidden
|
|
422
|
+
box. It never existed. */
|
|
383
423
|
.feature-item {
|
|
384
424
|
position: relative;
|
|
385
425
|
display: flex;
|
|
@@ -392,15 +432,22 @@ export default css`
|
|
|
392
432
|
position: absolute;
|
|
393
433
|
top: -70px;
|
|
394
434
|
left: 0;
|
|
395
|
-
background-color:
|
|
396
|
-
|
|
435
|
+
background-color: var(--color-surface-container);
|
|
436
|
+
/* Tooltip copy: supporting, not primary. */
|
|
437
|
+
color: var(--color-text-secondary);
|
|
397
438
|
padding: var(--spacing-8) var(--spacing-12);
|
|
398
|
-
border-radius:
|
|
439
|
+
border-radius: var(--radius-sm);
|
|
399
440
|
font-size: 12px;
|
|
400
441
|
max-width: 250px;
|
|
401
|
-
border
|
|
442
|
+
/* -border-subtle IS neutral-200, and a tooltip's hairline is what that
|
|
443
|
+
role is for. Unlike .hr-line above, nothing here depends on the UA's
|
|
444
|
+
inset <hr> shading: this is already an explicit solid border, so the
|
|
445
|
+
substitution is a rename. The ::after arrow below must stay in step. */
|
|
446
|
+
border: var(--spacing-1) solid var(--color-border-subtle);
|
|
402
447
|
box-shadow: 0 0 var(--spacing-10) rgba(0, 0, 0, 0.1);
|
|
403
|
-
|
|
448
|
+
/* A tooltip is the role, not a number. It has to clear the cards it
|
|
449
|
+
overhangs, including the highlight banner beneath it. */
|
|
450
|
+
z-index: var(--z-tooltip);
|
|
404
451
|
}
|
|
405
452
|
|
|
406
453
|
.feature-item .tooltip::after {
|
|
@@ -411,16 +458,17 @@ export default css`
|
|
|
411
458
|
transform: translateX(-50%);
|
|
412
459
|
border-left: var(--spacing-8) solid transparent;
|
|
413
460
|
border-right: var(--spacing-8) solid transparent;
|
|
414
|
-
|
|
461
|
+
/* the arrow, same role as the box above -- they are one shape */
|
|
462
|
+
border-top: var(--spacing-8) solid var(--color-border-subtle);
|
|
415
463
|
}
|
|
416
464
|
|
|
417
465
|
.feature-item:hover .tooltip {
|
|
418
466
|
display: block;
|
|
419
467
|
}
|
|
420
468
|
.badge-feature {
|
|
421
|
-
background-color:
|
|
422
|
-
color:
|
|
423
|
-
border-radius: var(--
|
|
469
|
+
background-color: var(--color-surface-brand);
|
|
470
|
+
color: var(--color-text-inverse);
|
|
471
|
+
border-radius: var(--radius-2xl);
|
|
424
472
|
width: var(--spacing-36);
|
|
425
473
|
height: var(--spacing-20);
|
|
426
474
|
display: inline-flex;
|
|
@@ -459,7 +507,6 @@ export default css`
|
|
|
459
507
|
|
|
460
508
|
.card-title {
|
|
461
509
|
font-size: 1.5em;
|
|
462
|
-
line-height: 28px;
|
|
463
510
|
}
|
|
464
511
|
|
|
465
512
|
.price {
|
|
@@ -472,7 +519,7 @@ export default css`
|
|
|
472
519
|
}
|
|
473
520
|
}
|
|
474
521
|
|
|
475
|
-
@media (
|
|
522
|
+
@media ${unsafeCSS(below('md'))} {
|
|
476
523
|
.pricing-card {
|
|
477
524
|
max-width: 90%;
|
|
478
525
|
padding: var(--spacing-24);
|
|
@@ -481,11 +528,6 @@ export default css`
|
|
|
481
528
|
text-align: center;
|
|
482
529
|
padding-bottom: 30px;
|
|
483
530
|
}
|
|
484
|
-
.bd-section-title {
|
|
485
|
-
text-align: center;
|
|
486
|
-
font-size: 2em;
|
|
487
|
-
}
|
|
488
|
-
|
|
489
531
|
.card-title {
|
|
490
532
|
font-size: 1.3em;
|
|
491
533
|
}
|
|
@@ -551,13 +593,25 @@ export default css`
|
|
|
551
593
|
gap: var(--spacing-6);
|
|
552
594
|
}
|
|
553
595
|
}
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
596
|
+
/* A "pricing-card { margin-bottom: 100px }" rule stood here, inside this
|
|
597
|
+
media query, and could never match: pricing-card is this stylesheet's own
|
|
598
|
+
host, and a type selector inside a shadow root cannot select the element
|
|
599
|
+
that owns it -- only :host can.
|
|
600
|
+
.
|
|
601
|
+
Removed rather than repaired, and the distinction matters. Rewriting it as
|
|
602
|
+
:host would not be fixing a typo; it would add 100px of bottom margin
|
|
603
|
+
between 768 and 1024 that this component has never rendered, to a unit
|
|
604
|
+
whose architecture is PRODUCT_FROZEN. Nobody has seen that layout, so
|
|
605
|
+
turning it on is a design change wearing a cleanup's clothes. The 100px was
|
|
606
|
+
also a raw literal. If the gap is wanted, it should be asked for on its own
|
|
607
|
+
terms. */
|
|
559
608
|
.text-left {
|
|
560
609
|
text-align: left !important;
|
|
561
610
|
padding-bottom: 15px;
|
|
562
611
|
}
|
|
612
|
+
|
|
613
|
+
/* The reduced-motion block that stood here named .slider and three label
|
|
614
|
+
state rules, all of which went with the toggle. The switcher carries its
|
|
615
|
+
own prefers-reduced-motion rule in tab-list.css.js, next to the transition
|
|
616
|
+
it turns off, which is where it belongs. */
|
|
563
617
|
`;
|