baseline-foundry 0.1.3 → 0.1.4

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.
Files changed (43) hide show
  1. package/README.md +568 -552
  2. package/config/experiments/ibm-plex-engine-smoke.json +115 -115
  3. package/config/experiments/ubuntu-engine-smoke.json +115 -115
  4. package/config/foundation-theme.json +110 -110
  5. package/config/tiers/app.json +116 -116
  6. package/config/tiers/documentation.json +116 -116
  7. package/config/tiers/editorial.json +116 -116
  8. package/config/tiers/os.json +116 -116
  9. package/dist/baseline-grid-overlay.js +43 -43
  10. package/dist/css-app-tier.js +73 -73
  11. package/dist/css-components/article-pagination.js +140 -140
  12. package/dist/css-components/button-actions.js +161 -161
  13. package/dist/css-components/cards-options.js +176 -176
  14. package/dist/css-components/chip-badge-status.js +158 -158
  15. package/dist/css-components/content-card.js +490 -490
  16. package/dist/css-components/control-row.js +14 -14
  17. package/dist/css-components/cta-figure-aspect.js +120 -120
  18. package/dist/css-components/document-navigation.js +390 -390
  19. package/dist/css-components/editorial-content.js +42 -42
  20. package/dist/css-components/icon.js +72 -72
  21. package/dist/css-components/interactive-feedback.js +217 -217
  22. package/dist/css-components/interactive-tables.js +155 -155
  23. package/dist/css-components/legacy-navigation.d.ts +9 -0
  24. package/dist/css-components/legacy-navigation.js +763 -0
  25. package/dist/css-components/linked-logo-site-layout.js +177 -177
  26. package/dist/css-components/list-tree.js +94 -94
  27. package/dist/css-components/logo-media.js +201 -201
  28. package/dist/css-components/navigation-layout.js +144 -144
  29. package/dist/css-components/panel.js +144 -144
  30. package/dist/css-components/search-box-and-filter.js +263 -263
  31. package/dist/css-components/sites-editorial-ports.js +243 -243
  32. package/dist/css-components/sites-foundation.js +146 -146
  33. package/dist/css-components/sites-rich-lists.js +344 -344
  34. package/dist/css-components/static-content-ports.js +182 -182
  35. package/dist/css-components/tab-section.js +82 -82
  36. package/dist/css-components/table.js +75 -75
  37. package/dist/css-components/tabs-choice-breadcrumbs.js +303 -303
  38. package/dist/css-components/tiered-list-equal-height-row.js +271 -271
  39. package/dist/css-components.js +1791 -2542
  40. package/dist/css-grid.js +172 -172
  41. package/dist/css.js +240 -240
  42. package/docs/publishing.md +30 -13
  43. package/package.json +119 -108
@@ -1,18 +1,18 @@
1
1
  /** A wrapping form composition whose children retain their owned spacing. */
2
2
  export function controlRowCss() {
3
- return `:where(.bf-theme) :where(.bf-control-row) {
4
- align-items: end;
5
- display: flex;
6
- flex-wrap: wrap;
7
- gap: var(--bf-field-gap);
8
- margin: 0;
9
- min-inline-size: 0;
10
- }
11
-
12
- :where(.bf-theme) :where(.bf-control-row) > :where(.bf-field, .bf-control) {
13
- align-self: end;
14
- flex: 1 1 min(100%, 16rem);
15
- min-inline-size: 0;
16
- }
3
+ return `:where(.bf-theme) :where(.bf-control-row) {
4
+ align-items: end;
5
+ display: flex;
6
+ flex-wrap: wrap;
7
+ gap: var(--bf-field-gap);
8
+ margin: 0;
9
+ min-inline-size: 0;
10
+ }
11
+
12
+ :where(.bf-theme) :where(.bf-control-row) > :where(.bf-field, .bf-control) {
13
+ align-self: end;
14
+ flex: 1 1 min(100%, 16rem);
15
+ min-inline-size: 0;
16
+ }
17
17
  `;
18
18
  }
@@ -1,123 +1,123 @@
1
1
  export function ctaFigureAspectCss() {
2
- return `/* ------------------------------------------------------------------ */
3
- /* CTA block (Vanilla parity). */
4
- /* Inline-row of call-to-action items (typically a heading and one or */
5
- /* more buttons or links). Container-owned spacing: borderless by */
6
- /* default, .is-bordered adds a top divider rule and small padding. */
7
- /* (Vanilla ships the same modifier as has-border; renamed for the BF */
8
- /* is-* convention.) */
9
- /* ------------------------------------------------------------------ */
10
- /* ------------------------------------------------------------------ */
11
-
12
- :where(.bf-theme) :where(.bf-cta-block) {
13
- align-items: baseline;
14
- column-gap: var(--bf-space-2);
15
- display: flex;
16
- flex-wrap: wrap;
17
- margin-block-end: 0;
18
- row-gap: var(--bf-space-1);
19
- }
20
-
21
- :where(.bf-theme) :where(.bf-cta-block.is-bordered) {
22
- border-block-start: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
23
- padding-block-start: calc(var(--bf-space-1) - var(--bf-border-width));
24
- }
25
-
26
- /* ------------------------------------------------------------------ */
27
- /* Figure (Vanilla parity). */
28
- /* Native <figure> wrapper for an image, video, or other media plus */
29
- /* an italic caption. The owning stack sets external spacing; the */
30
- /* caption owns its own top space so the */
31
- /* image sits flush against the next baseline above its caption. */
32
- /* ------------------------------------------------------------------ */
33
-
34
- :where(.bf-theme) :where(.bf-figure) {
35
- display: block;
36
- inline-size: 100%;
37
- margin: 0;
38
- }
39
-
40
- :where(.bf-theme) :where(.bf-figure) > :where(img, picture, video, canvas, svg) {
41
- block-size: auto;
42
- display: block;
43
- inline-size: 100%;
44
- max-inline-size: 100%;
45
- }
46
-
47
- /* Keep light artwork legible when the surrounding theme is dark. */
48
- :where(.bf-theme) :where(.bf-figure.is-light-inset) > :where(img, picture, video, canvas, svg, .bf-aspect) {
49
- background: #fff;
50
- box-sizing: border-box;
51
- padding: var(--bf-space-2);
52
- }
53
-
54
- :where(.bf-theme) :where(.bf-figure-caption) {
55
- color: var(--bf-color-text-default);
56
- display: block;
57
- font-style: italic;
58
- inline-size: 100%;
59
- margin-block: var(--bf-space-1) 0;
60
- }
61
-
62
- /* ------------------------------------------------------------------ */
63
- /* Aspect — generic aspect-ratio slot. */
64
- /* Reserves a fixed-ratio box so embedded media (img/picture/video/ */
65
- /* canvas/iframe) load without layout shift. Composes inside bf-figure */
66
- /* when a constrained captioned image is needed. */
67
- /* ------------------------------------------------------------------ */
68
-
69
- :where(.bf-theme) :where(.bf-aspect) {
70
- aspect-ratio: 16 / 9;
71
- display: block;
72
- inline-size: 100%;
73
- overflow: hidden;
74
- position: relative;
75
- }
76
-
77
- :where(.bf-theme) :where(.bf-aspect.is-16-9) {
78
- aspect-ratio: 16 / 9;
79
- }
80
-
81
- :where(.bf-theme) :where(.bf-aspect.is-3-2) {
82
- aspect-ratio: 3 / 2;
83
- }
84
-
85
- :where(.bf-theme) :where(.bf-aspect.is-4-3) {
86
- aspect-ratio: 4 / 3;
87
- }
88
-
89
- :where(.bf-theme) :where(.bf-aspect.is-2-3) {
90
- aspect-ratio: 2 / 3;
91
- }
92
-
93
- :where(.bf-theme) :where(.bf-aspect.is-cinematic) {
94
- aspect-ratio: 12 / 5;
95
- }
96
-
97
- :where(.bf-theme) :where(.bf-aspect.is-square) {
98
- aspect-ratio: 1 / 1;
99
- }
100
-
101
- :where(.bf-theme) :where(.bf-aspect) > :where(img, picture, video, canvas, iframe) {
102
- block-size: 100%;
103
- display: block;
104
- inline-size: 100%;
105
- object-fit: cover;
106
- }
107
-
108
- :where(.bf-theme) :where(.bf-aspect) > :where(picture) > :where(img) {
109
- block-size: 100%;
110
- display: block;
111
- inline-size: 100%;
112
- object-fit: cover;
113
- }
114
-
115
- :where(.bf-theme) :where(.bf-aspect.is-contain) > :where(img, video, canvas, iframe) {
116
- object-fit: contain;
117
- }
118
-
119
- :where(.bf-theme) :where(.bf-aspect.is-contain) > :where(picture) > :where(img) {
120
- object-fit: contain;
121
- }
2
+ return `/* ------------------------------------------------------------------ */
3
+ /* CTA block (Vanilla parity). */
4
+ /* Inline-row of call-to-action items (typically a heading and one or */
5
+ /* more buttons or links). Container-owned spacing: borderless by */
6
+ /* default, .is-bordered adds a top divider rule and small padding. */
7
+ /* (Vanilla ships the same modifier as has-border; renamed for the BF */
8
+ /* is-* convention.) */
9
+ /* ------------------------------------------------------------------ */
10
+ /* ------------------------------------------------------------------ */
11
+
12
+ :where(.bf-theme) :where(.bf-cta-block) {
13
+ align-items: baseline;
14
+ column-gap: var(--bf-space-2);
15
+ display: flex;
16
+ flex-wrap: wrap;
17
+ margin-block-end: 0;
18
+ row-gap: var(--bf-space-1);
19
+ }
20
+
21
+ :where(.bf-theme) :where(.bf-cta-block.is-bordered) {
22
+ border-block-start: var(--bf-border-width) solid var(--bf-color-border-low-contrast);
23
+ padding-block-start: calc(var(--bf-space-1) - var(--bf-border-width));
24
+ }
25
+
26
+ /* ------------------------------------------------------------------ */
27
+ /* Figure (Vanilla parity). */
28
+ /* Native <figure> wrapper for an image, video, or other media plus */
29
+ /* an italic caption. The owning stack sets external spacing; the */
30
+ /* caption owns its own top space so the */
31
+ /* image sits flush against the next baseline above its caption. */
32
+ /* ------------------------------------------------------------------ */
33
+
34
+ :where(.bf-theme) :where(.bf-figure) {
35
+ display: block;
36
+ inline-size: 100%;
37
+ margin: 0;
38
+ }
39
+
40
+ :where(.bf-theme) :where(.bf-figure) > :where(img, picture, video, canvas, svg) {
41
+ block-size: auto;
42
+ display: block;
43
+ inline-size: 100%;
44
+ max-inline-size: 100%;
45
+ }
46
+
47
+ /* Keep light artwork legible when the surrounding theme is dark. */
48
+ :where(.bf-theme) :where(.bf-figure.is-light-inset) > :where(img, picture, video, canvas, svg, .bf-aspect) {
49
+ background: #fff;
50
+ box-sizing: border-box;
51
+ padding: var(--bf-space-2);
52
+ }
53
+
54
+ :where(.bf-theme) :where(.bf-figure-caption) {
55
+ color: var(--bf-color-text-default);
56
+ display: block;
57
+ font-style: italic;
58
+ inline-size: 100%;
59
+ margin-block: var(--bf-space-1) 0;
60
+ }
61
+
62
+ /* ------------------------------------------------------------------ */
63
+ /* Aspect — generic aspect-ratio slot. */
64
+ /* Reserves a fixed-ratio box so embedded media (img/picture/video/ */
65
+ /* canvas/iframe) load without layout shift. Composes inside bf-figure */
66
+ /* when a constrained captioned image is needed. */
67
+ /* ------------------------------------------------------------------ */
68
+
69
+ :where(.bf-theme) :where(.bf-aspect) {
70
+ aspect-ratio: 16 / 9;
71
+ display: block;
72
+ inline-size: 100%;
73
+ overflow: hidden;
74
+ position: relative;
75
+ }
76
+
77
+ :where(.bf-theme) :where(.bf-aspect.is-16-9) {
78
+ aspect-ratio: 16 / 9;
79
+ }
80
+
81
+ :where(.bf-theme) :where(.bf-aspect.is-3-2) {
82
+ aspect-ratio: 3 / 2;
83
+ }
84
+
85
+ :where(.bf-theme) :where(.bf-aspect.is-4-3) {
86
+ aspect-ratio: 4 / 3;
87
+ }
88
+
89
+ :where(.bf-theme) :where(.bf-aspect.is-2-3) {
90
+ aspect-ratio: 2 / 3;
91
+ }
92
+
93
+ :where(.bf-theme) :where(.bf-aspect.is-cinematic) {
94
+ aspect-ratio: 12 / 5;
95
+ }
96
+
97
+ :where(.bf-theme) :where(.bf-aspect.is-square) {
98
+ aspect-ratio: 1 / 1;
99
+ }
100
+
101
+ :where(.bf-theme) :where(.bf-aspect) > :where(img, picture, video, canvas, iframe) {
102
+ block-size: 100%;
103
+ display: block;
104
+ inline-size: 100%;
105
+ object-fit: cover;
106
+ }
107
+
108
+ :where(.bf-theme) :where(.bf-aspect) > :where(picture) > :where(img) {
109
+ block-size: 100%;
110
+ display: block;
111
+ inline-size: 100%;
112
+ object-fit: cover;
113
+ }
114
+
115
+ :where(.bf-theme) :where(.bf-aspect.is-contain) > :where(img, video, canvas, iframe) {
116
+ object-fit: contain;
117
+ }
118
+
119
+ :where(.bf-theme) :where(.bf-aspect.is-contain) > :where(picture) > :where(img) {
120
+ object-fit: contain;
121
+ }
122
122
  `;
123
123
  }