baseline-foundry 0.1.3 → 0.1.5
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/README.md +577 -553
- package/config/experiments/ibm-plex-engine-smoke.json +115 -115
- package/config/experiments/ubuntu-engine-smoke.json +115 -115
- package/config/foundation-theme.json +110 -110
- package/config/tiers/app.json +116 -116
- package/config/tiers/documentation.json +116 -116
- package/config/tiers/editorial.json +116 -116
- package/config/tiers/os.json +116 -116
- package/dist/baseline-grid-overlay.js +43 -43
- package/dist/build.js +4 -4
- package/dist/code-snippet.js +1 -1
- package/dist/css-app-tier.js +78 -73
- package/dist/css-components/article-pagination.js +141 -140
- package/dist/css-components/button-actions.js +181 -161
- package/dist/css-components/cards-options.js +176 -176
- package/dist/css-components/chip-badge-status.d.ts +0 -3
- package/dist/css-components/chip-badge-status.js +174 -159
- package/dist/css-components/content-card.d.ts +7 -7
- package/dist/css-components/content-card.js +498 -497
- package/dist/css-components/control-row.d.ts +1 -1
- package/dist/css-components/control-row.js +15 -15
- package/dist/css-components/cta-figure-aspect.js +120 -120
- package/dist/css-components/document-navigation.js +427 -390
- package/dist/css-components/editorial-content.js +42 -42
- package/dist/css-components/icon.js +72 -72
- package/dist/css-components/interactive-feedback.js +239 -217
- package/dist/css-components/interactive-tables.js +160 -155
- package/dist/css-components/legacy-navigation.d.ts +8 -0
- package/dist/css-components/legacy-navigation.js +816 -0
- package/dist/css-components/linked-logo-site-layout.d.ts +3 -3
- package/dist/css-components/linked-logo-site-layout.js +177 -180
- package/dist/css-components/list-tree.js +96 -94
- package/dist/css-components/list.js +9 -7
- package/dist/css-components/logo-media.d.ts +6 -6
- package/dist/css-components/logo-media.js +218 -207
- package/dist/css-components/navigation-layout.js +144 -144
- package/dist/css-components/panel.js +148 -144
- package/dist/css-components/search-box-and-filter.d.ts +0 -1
- package/dist/css-components/search-box-and-filter.js +263 -264
- package/dist/css-components/sites-editorial-ports.d.ts +3 -4
- package/dist/css-components/sites-editorial-ports.js +279 -247
- package/dist/css-components/sites-foundation.js +142 -146
- package/dist/css-components/sites-rich-lists.d.ts +5 -5
- package/dist/css-components/sites-rich-lists.js +339 -349
- package/dist/css-components/static-content-ports.d.ts +3 -3
- package/dist/css-components/static-content-ports.js +200 -186
- package/dist/css-components/tab-section.d.ts +3 -3
- package/dist/css-components/tab-section.js +93 -85
- package/dist/css-components/table.js +76 -75
- package/dist/css-components/tabs-choice-breadcrumbs.js +307 -303
- package/dist/css-components/tiered-list-equal-height-row.js +271 -271
- package/dist/css-components.js +1881 -2554
- package/dist/css-grid.d.ts +1 -1
- package/dist/css-grid.js +183 -173
- package/dist/css.js +317 -241
- package/dist/experiments/ibm-plex-engine-smoke/styles.css +894 -538
- package/dist/experiments/ibm-plex-engine-smoke/surfaces.json +2 -2
- package/dist/experiments/ibm-plex-engine-smoke/tokens.json +1 -1
- package/dist/in-page-navigation.js +1 -1
- package/dist/presets/app-tier/styles.css +928 -568
- package/dist/presets/app-tier/surfaces.json +17 -17
- package/dist/presets/app-tier/tokens.json +7 -7
- package/dist/presets/prose/styles.css +919 -562
- package/dist/presets/prose/surfaces.json +17 -17
- package/dist/presets/prose/tokens.json +1 -1
- package/dist/resizable-aside.js +12 -4
- package/dist/styles.css +919 -562
- package/dist/surfaces.json +17 -17
- package/dist/tiers/app/styles.css +928 -568
- package/dist/tiers/app/surfaces.json +17 -17
- package/dist/tiers/app/tokens.json +7 -7
- package/dist/tiers/documentation/styles.css +920 -563
- package/dist/tiers/documentation/surfaces.json +17 -17
- package/dist/tiers/documentation/tokens.json +2 -2
- package/dist/tiers/editorial/styles.css +919 -562
- package/dist/tiers/editorial/surfaces.json +17 -17
- package/dist/tiers/editorial/tokens.json +1 -1
- package/dist/tiers/os/styles.css +925 -568
- package/dist/tiers/os/surfaces.json +17 -17
- package/dist/tiers/os/tokens.json +7 -7
- package/dist/tokens.json +1 -1
- package/dist/types.d.ts +1 -1
- package/docs/publishing.md +31 -14
- package/package.json +119 -108
|
@@ -15,159 +15,155 @@
|
|
|
15
15
|
* compensation.
|
|
16
16
|
*/
|
|
17
17
|
export function sitesFoundationCss() {
|
|
18
|
-
return `/* ------------------------------------------------------------------ */
|
|
19
|
-
/* Sites composition foundation — basic section, CTA and text spotlight. */
|
|
20
|
-
/* ------------------------------------------------------------------ */
|
|
21
|
-
|
|
22
|
-
/* Basic section: the top rule and the named header/content slots make the
|
|
23
|
-
composition legible without recreating the upstream Jinja item API. */
|
|
24
|
-
:where(.bf-theme) :where(.bf-basic-section) {
|
|
25
|
-
container-name: bf-basic-section;
|
|
26
|
-
container-type: inline-size;
|
|
27
|
-
margin-block-end: 0;
|
|
28
|
-
min-inline-size: 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
:where(.bf-theme) :where(.bf-basic-section.is-shallow) {
|
|
32
|
-
margin-block-end: 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
:where(.bf-theme) :where(.bf-basic-section.is-deep) {
|
|
36
|
-
margin-block-end: 0;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
:where(.bf-theme) :where(.bf-basic-section-layout) {
|
|
40
|
-
display: grid;
|
|
41
|
-
grid-template-columns: minmax(0, 1fr);
|
|
42
|
-
min-inline-size: 0;
|
|
43
|
-
/* The rule already owns its half-rem trailing compensation. This structural
|
|
44
|
-
grid must not add the generic pattern-stack gap on top of it. */
|
|
45
|
-
row-gap: 0;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
:where(.bf-theme) :where(.bf-basic-section-rule) {
|
|
49
|
-
grid-column: 1 / -1;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
:where(.bf-theme) :where(.bf-basic-section-header, .bf-basic-section-content) {
|
|
53
|
-
min-inline-size: 0;
|
|
54
|
-
overflow-wrap: anywhere;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/* A section title may be the route action without looking like body copy. */
|
|
58
|
-
:where(.bf-theme) :where(.bf-basic-section-title-link, .bf-basic-section-title-link:visited) {
|
|
59
|
-
color: var(--bf-color-link-default);
|
|
60
|
-
text-decoration: none;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
:where(.bf-theme) :where(.bf-basic-section-title-link:hover) {
|
|
64
|
-
text-decoration: underline;
|
|
65
|
-
text-decoration-thickness: var(--bf-border-width);
|
|
66
|
-
text-underline-offset: 0.12em;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/*
|
|
70
|
-
|
|
71
|
-
restyle the container that established it. */
|
|
72
|
-
@container bf-basic-section (width >=
|
|
73
|
-
:where(.bf-theme) :where(.bf-basic-section
|
|
74
|
-
column-gap: var(--bf-grid-gap-inline);
|
|
75
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
display: grid;
|
|
98
|
-
|
|
99
|
-
min-inline-size: 0;
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
:where(.bf-theme) :where(.bf-cta-section-
|
|
104
|
-
min-inline-size: 0;
|
|
105
|
-
overflow-wrap: anywhere;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
@container bf-cta-section (width >= 64.75rem) {
|
|
109
|
-
:where(.bf-theme) :where(.bf-cta-section-layout) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
grid-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
:where(.bf-theme) :where(.bf-text-spotlight-
|
|
140
|
-
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
:where(.bf-theme) :where(.bf-text-spotlight-header, .bf-text-spotlight-content) {
|
|
144
|
-
min-inline-size: 0;
|
|
145
|
-
}
|
|
146
|
-
|
|
18
|
+
return `/* ------------------------------------------------------------------ */
|
|
19
|
+
/* Sites composition foundation — basic section, CTA and text spotlight. */
|
|
20
|
+
/* ------------------------------------------------------------------ */
|
|
21
|
+
|
|
22
|
+
/* Basic section: the top rule and the named header/content slots make the
|
|
23
|
+
composition legible without recreating the upstream Jinja item API. */
|
|
24
|
+
:where(.bf-theme) :where(.bf-basic-section) {
|
|
25
|
+
container-name: bf-basic-section;
|
|
26
|
+
container-type: inline-size;
|
|
27
|
+
margin-block-end: 0;
|
|
28
|
+
min-inline-size: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
:where(.bf-theme) :where(.bf-basic-section.is-shallow) {
|
|
32
|
+
margin-block-end: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
:where(.bf-theme) :where(.bf-basic-section.is-deep) {
|
|
36
|
+
margin-block-end: 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
:where(.bf-theme) :where(.bf-basic-section-layout) {
|
|
40
|
+
display: grid;
|
|
41
|
+
grid-template-columns: minmax(0, 1fr);
|
|
42
|
+
min-inline-size: 0;
|
|
43
|
+
/* The rule already owns its half-rem trailing compensation. This structural
|
|
44
|
+
grid must not add the generic pattern-stack gap on top of it. */
|
|
45
|
+
row-gap: 0;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:where(.bf-theme) :where(.bf-basic-section-rule) {
|
|
49
|
+
grid-column: 1 / -1;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:where(.bf-theme) :where(.bf-basic-section-header, .bf-basic-section-content) {
|
|
53
|
+
min-inline-size: 0;
|
|
54
|
+
overflow-wrap: anywhere;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/* A section title may be the route action without looking like body copy. */
|
|
58
|
+
:where(.bf-theme) :where(a.bf-basic-section-title-link, a.bf-basic-section-title-link:visited) {
|
|
59
|
+
color: var(--bf-color-link-default);
|
|
60
|
+
text-decoration: none;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:where(.bf-theme) :where(a.bf-basic-section-title-link:hover) {
|
|
64
|
+
text-decoration: underline;
|
|
65
|
+
text-decoration-thickness: var(--bf-border-width);
|
|
66
|
+
text-underline-offset: 0.12em;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* A balanced section switches at the shared readable 50/50 threshold. The
|
|
70
|
+
layout descendant reacts to the root container; the query never tries to
|
|
71
|
+
restyle the container that established it. */
|
|
72
|
+
@container bf-basic-section (width >= 45rem) {
|
|
73
|
+
:where(.bf-theme) :where(.bf-basic-section-layout) {
|
|
74
|
+
column-gap: var(--bf-grid-gap-inline);
|
|
75
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* CTA section: Vanilla's 25/75 variant is an offset content rail. The full
|
|
80
|
+
variant stays naturally full-width. Typography and action presentation are
|
|
81
|
+
supplied by real heading elements and bf-cta-block. */
|
|
82
|
+
:where(.bf-theme) :where(.bf-cta-section) {
|
|
83
|
+
container-name: bf-cta-section;
|
|
84
|
+
container-type: inline-size;
|
|
85
|
+
min-inline-size: 0;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
:where(.bf-theme) :where(.bf-cta-section-layout) {
|
|
89
|
+
display: grid;
|
|
90
|
+
grid-template-columns: minmax(0, 1fr);
|
|
91
|
+
min-inline-size: 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:where(.bf-theme) :where(.bf-cta-section-content) {
|
|
95
|
+
--bf-stack-space: var(--bf-section-space-shallow);
|
|
96
|
+
align-content: start;
|
|
97
|
+
display: grid;
|
|
98
|
+
gap: var(--bf-stack-space);
|
|
99
|
+
min-inline-size: 0;
|
|
100
|
+
overflow-wrap: anywhere;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
:where(.bf-theme) :where(.bf-cta-section-copy) {
|
|
104
|
+
min-inline-size: 0;
|
|
105
|
+
overflow-wrap: anywhere;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
@container bf-cta-section (width >= 64.75rem) {
|
|
109
|
+
:where(.bf-theme) :where(.bf-cta-section.is-offset) :where(.bf-cta-section-layout) {
|
|
110
|
+
column-gap: var(--bf-grid-gap-inline);
|
|
111
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
:where(.bf-theme) :where(.bf-cta-section.is-offset) :where(.bf-cta-section-content) {
|
|
115
|
+
grid-column: 2;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* Text spotlight: a ruled title rail and two-to-seven prominent list items.
|
|
120
|
+
The ordered list itself is structural; each item uses a genuine BF heading
|
|
121
|
+
role and therefore keeps the correct tier-specific rhythm. */
|
|
122
|
+
:where(.bf-theme) :where(.bf-text-spotlight) {
|
|
123
|
+
container-name: bf-text-spotlight;
|
|
124
|
+
container-type: inline-size;
|
|
125
|
+
margin-block-end: 0;
|
|
126
|
+
min-inline-size: 0;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
:where(.bf-theme) :where(.bf-text-spotlight-layout) {
|
|
130
|
+
display: grid;
|
|
131
|
+
grid-template-columns: minmax(0, 1fr);
|
|
132
|
+
min-inline-size: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
:where(.bf-theme) :where(.bf-text-spotlight-rule) {
|
|
136
|
+
grid-column: 1 / -1;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
:where(.bf-theme) :where(.bf-text-spotlight-header, .bf-text-spotlight-content) {
|
|
140
|
+
min-inline-size: 0;
|
|
141
|
+
}
|
|
142
|
+
|
|
147
143
|
:where(.bf-theme) :where(.bf-text-spotlight-items) {
|
|
148
144
|
align-content: start;
|
|
149
145
|
display: grid;
|
|
150
146
|
list-style: none;
|
|
151
|
-
margin: 0;
|
|
152
|
-
padding: 0;
|
|
153
|
-
}
|
|
154
|
-
|
|
147
|
+
margin: 0;
|
|
148
|
+
padding: 0;
|
|
149
|
+
}
|
|
150
|
+
|
|
155
151
|
:where(.bf-theme) :where(.bf-text-spotlight-item) {
|
|
156
152
|
align-content: start;
|
|
157
153
|
display: grid;
|
|
158
154
|
min-inline-size: 0;
|
|
159
|
-
overflow-wrap: anywhere;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
:where(.bf-theme) :where(.bf-text-spotlight-item) > :where(a) {
|
|
163
|
-
overflow-wrap: anywhere;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
@container bf-text-spotlight (width >= 64.75rem) {
|
|
167
|
-
:where(.bf-theme) :where(.bf-text-spotlight-layout) {
|
|
168
|
-
column-gap: var(--bf-grid-gap-inline);
|
|
169
|
-
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
155
|
+
overflow-wrap: anywhere;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
:where(.bf-theme) :where(.bf-text-spotlight-item) > :where(a) {
|
|
159
|
+
overflow-wrap: anywhere;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
@container bf-text-spotlight (width >= 64.75rem) {
|
|
163
|
+
:where(.bf-theme) :where(.bf-text-spotlight-layout) {
|
|
164
|
+
column-gap: var(--bf-grid-gap-inline);
|
|
165
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
172
168
|
`;
|
|
173
169
|
}
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
* content paired with one responsive image or video slot.
|
|
9
9
|
*
|
|
10
10
|
* Vanilla → BF spacing mapping:
|
|
11
|
-
* - horizontal item
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* - the 620px/1036px page breakpoints → 38.75rem/64.75rem container
|
|
11
|
+
* - horizontal item 0.5rem/1rem block padding → `space-1`/`space-2`;
|
|
12
|
+
* - 1rem grid gutters → `grid-gap-inline`;
|
|
13
|
+
* - the 38.75rem/64.75rem page breakpoints → 38.75rem/64.75rem container
|
|
15
14
|
* thresholds for descendants. Text roles keep their own metric-derived
|
|
16
|
-
* margins and baseline compensation in every tier.
|
|
15
|
+
* margins and baseline compensation in every tier. Parent stacks own every
|
|
16
|
+
* boundary outside the pattern.
|
|
17
17
|
*/
|
|
18
18
|
export declare function sitesRichListsCss(): string;
|