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.
Files changed (84) hide show
  1. package/README.md +577 -553
  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/build.js +4 -4
  11. package/dist/code-snippet.js +1 -1
  12. package/dist/css-app-tier.js +78 -73
  13. package/dist/css-components/article-pagination.js +141 -140
  14. package/dist/css-components/button-actions.js +181 -161
  15. package/dist/css-components/cards-options.js +176 -176
  16. package/dist/css-components/chip-badge-status.d.ts +0 -3
  17. package/dist/css-components/chip-badge-status.js +174 -159
  18. package/dist/css-components/content-card.d.ts +7 -7
  19. package/dist/css-components/content-card.js +498 -497
  20. package/dist/css-components/control-row.d.ts +1 -1
  21. package/dist/css-components/control-row.js +15 -15
  22. package/dist/css-components/cta-figure-aspect.js +120 -120
  23. package/dist/css-components/document-navigation.js +427 -390
  24. package/dist/css-components/editorial-content.js +42 -42
  25. package/dist/css-components/icon.js +72 -72
  26. package/dist/css-components/interactive-feedback.js +239 -217
  27. package/dist/css-components/interactive-tables.js +160 -155
  28. package/dist/css-components/legacy-navigation.d.ts +8 -0
  29. package/dist/css-components/legacy-navigation.js +816 -0
  30. package/dist/css-components/linked-logo-site-layout.d.ts +3 -3
  31. package/dist/css-components/linked-logo-site-layout.js +177 -180
  32. package/dist/css-components/list-tree.js +96 -94
  33. package/dist/css-components/list.js +9 -7
  34. package/dist/css-components/logo-media.d.ts +6 -6
  35. package/dist/css-components/logo-media.js +218 -207
  36. package/dist/css-components/navigation-layout.js +144 -144
  37. package/dist/css-components/panel.js +148 -144
  38. package/dist/css-components/search-box-and-filter.d.ts +0 -1
  39. package/dist/css-components/search-box-and-filter.js +263 -264
  40. package/dist/css-components/sites-editorial-ports.d.ts +3 -4
  41. package/dist/css-components/sites-editorial-ports.js +279 -247
  42. package/dist/css-components/sites-foundation.js +142 -146
  43. package/dist/css-components/sites-rich-lists.d.ts +5 -5
  44. package/dist/css-components/sites-rich-lists.js +339 -349
  45. package/dist/css-components/static-content-ports.d.ts +3 -3
  46. package/dist/css-components/static-content-ports.js +200 -186
  47. package/dist/css-components/tab-section.d.ts +3 -3
  48. package/dist/css-components/tab-section.js +93 -85
  49. package/dist/css-components/table.js +76 -75
  50. package/dist/css-components/tabs-choice-breadcrumbs.js +307 -303
  51. package/dist/css-components/tiered-list-equal-height-row.js +271 -271
  52. package/dist/css-components.js +1881 -2554
  53. package/dist/css-grid.d.ts +1 -1
  54. package/dist/css-grid.js +183 -173
  55. package/dist/css.js +317 -241
  56. package/dist/experiments/ibm-plex-engine-smoke/styles.css +894 -538
  57. package/dist/experiments/ibm-plex-engine-smoke/surfaces.json +2 -2
  58. package/dist/experiments/ibm-plex-engine-smoke/tokens.json +1 -1
  59. package/dist/in-page-navigation.js +1 -1
  60. package/dist/presets/app-tier/styles.css +928 -568
  61. package/dist/presets/app-tier/surfaces.json +17 -17
  62. package/dist/presets/app-tier/tokens.json +7 -7
  63. package/dist/presets/prose/styles.css +919 -562
  64. package/dist/presets/prose/surfaces.json +17 -17
  65. package/dist/presets/prose/tokens.json +1 -1
  66. package/dist/resizable-aside.js +12 -4
  67. package/dist/styles.css +919 -562
  68. package/dist/surfaces.json +17 -17
  69. package/dist/tiers/app/styles.css +928 -568
  70. package/dist/tiers/app/surfaces.json +17 -17
  71. package/dist/tiers/app/tokens.json +7 -7
  72. package/dist/tiers/documentation/styles.css +920 -563
  73. package/dist/tiers/documentation/surfaces.json +17 -17
  74. package/dist/tiers/documentation/tokens.json +2 -2
  75. package/dist/tiers/editorial/styles.css +919 -562
  76. package/dist/tiers/editorial/surfaces.json +17 -17
  77. package/dist/tiers/editorial/tokens.json +1 -1
  78. package/dist/tiers/os/styles.css +925 -568
  79. package/dist/tiers/os/surfaces.json +17 -17
  80. package/dist/tiers/os/tokens.json +7 -7
  81. package/dist/tokens.json +1 -1
  82. package/dist/types.d.ts +1 -1
  83. package/docs/publishing.md +31 -14
  84. package/package.json +119 -108
@@ -5,160 +5,165 @@
5
5
  * rhythm through its tier tokens. Runtime hooks never participate in styling.
6
6
  */
7
7
  export function interactiveTablesCss() {
8
- return `:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort]) {
9
- color: var(--bf-color-text-default);
10
- cursor: pointer;
11
- outline-color: var(--bf-color-focus);
12
- white-space: nowrap;
13
- }
14
-
15
- :where(.bf-theme) :where(.bf-table-sort-button) {
16
- appearance: none;
17
- background: transparent;
18
- border: 0;
19
- color: inherit;
20
- cursor: inherit;
21
- display: inline-block;
22
- font: inherit;
23
- margin: -2px calc(var(--bf-space-half) * -1);
24
- max-inline-size: 100%;
25
- overflow: hidden;
26
- padding: 2px var(--bf-space-half);
27
- text-align: inherit;
28
- text-decoration: inherit;
29
- text-overflow: inherit;
30
- vertical-align: inherit;
31
- white-space: inherit;
32
- }
33
-
34
- :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort]:hover, .bf-table-sort-button:focus-visible) {
35
- color: var(--bf-color-link-default);
36
- text-decoration: underline;
37
- text-decoration-thickness: 1px;
38
- text-underline-offset: 0.075em;
39
- }
40
-
41
- :where(.bf-theme) :where(.bf-table-sort-button:focus:not(:focus-visible)) {
42
- outline: none;
43
- }
44
-
45
- :where(.bf-theme) :where(.bf-table-sort-button:focus-visible) {
46
- outline: 2px solid var(--bf-color-focus);
47
- outline-offset: -2px;
48
- }
49
-
50
- :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'], .bf-table.is-sortable th[aria-sort='descending'])::after {
51
- background-image: var(--bf-ui-icon-chevron-down);
52
- background-position: center;
53
- background-repeat: no-repeat;
54
- background-size: contain;
55
- block-size: var(--bf-icon-size-default);
56
- content: "";
57
- display: inline-block;
58
- inline-size: var(--bf-icon-size-default);
59
- margin-inline-start: var(--bf-space-half);
60
- vertical-align: calc((1cap - var(--bf-icon-size-default)) / 2);
61
- }
62
-
63
- :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'])::after {
64
- transform: rotate(180deg);
65
- }
66
-
67
- :where(.bf-theme) :where(.bf-table.is-expanding .bf-table-expand-toggle) {
68
- margin-block-end: 0;
69
- white-space: nowrap;
70
- }
71
-
72
- :where(.bf-theme) :where(.bf-table-expanding-row[hidden]) {
73
- display: none;
74
- }
75
-
76
- :where(.bf-theme) .bf-table.is-expanding .bf-table-expanding-cell {
77
- overflow: visible;
78
- /* Complete the ordinary start-nudge inset with the paired end nudge while
79
- consuming the row rule inside it, so wrapped detail rows stay on-grid. */
80
- padding-block-end: calc(var(--bf-space-1) + var(--bf-body-nudge-end) - var(--bf-table-row-border-size));
81
- white-space: normal;
82
- }
83
-
84
- :where(.bf-theme) :where(.bf-table-mobile-card-frame) {
85
- container-type: inline-size;
86
- min-inline-size: 0;
87
- }
88
-
89
- :where(.bf-theme) :where(.bf-table-card-label) {
90
- display: none;
91
- }
92
-
93
- @container (width < 64.75rem) {
94
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card) {
95
- display: block;
96
- }
97
-
98
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > thead) {
99
- block-size: 1px;
100
- clip-path: inset(50%);
101
- inline-size: 1px;
102
- overflow: hidden;
103
- position: absolute;
104
- white-space: nowrap;
105
- }
106
-
107
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody) {
108
- display: grid;
109
- gap: 0 var(--bf-space-3);
110
- grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
111
- inline-size: 100%;
112
- }
113
-
114
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody > tr) {
115
- border: var(--bf-border-width) solid var(--bf-color-border-default);
116
- display: block;
117
- margin-block-end: calc(var(--bf-space-3) - (var(--bf-border-width) * 2));
118
- min-inline-size: 0;
119
- padding-inline: var(--bf-space-2);
120
- }
121
-
122
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody > tr > :where(th, td)) {
123
- border-block-end-color: transparent;
124
- display: block;
125
- inline-size: 100%;
126
- min-inline-size: 0;
127
- overflow: hidden;
128
- padding-inline: 0;
129
- position: relative;
130
- text-align: start;
131
- text-overflow: ellipsis;
132
- white-space: nowrap;
133
- word-break: break-word;
134
- }
135
-
136
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody > tr > :where(th, td):not(:first-child))::before {
137
- background: var(--bf-color-border-low-contrast);
138
- block-size: var(--bf-border-width);
139
- content: "";
140
- inset-block-start: 0;
141
- inset-inline: 0;
142
- position: absolute;
143
- }
144
-
145
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card .bf-table-card-label) {
146
- color: var(--bf-color-text-default);
147
- display: block;
148
- font-family: var(--bf-body-font-family);
149
- font-size: var(--bf-body-font-size);
150
- font-style: var(--bf-body-font-style);
151
- font-weight: 550;
152
- line-height: var(--bf-body-line-height);
153
- margin-block-end: var(--bf-space-1);
154
- overflow: hidden;
155
- text-overflow: ellipsis;
156
- white-space: nowrap;
157
- }
158
-
159
- :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card :where(th, td).is-overflow-visible) {
160
- overflow: visible;
161
- }
162
- }
8
+ return `:where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort]) {
9
+ color: var(--bf-color-text-default);
10
+ cursor: pointer;
11
+ outline-color: var(--bf-color-focus);
12
+ white-space: nowrap;
13
+ }
14
+
15
+ :where(.bf-theme) :where(.bf-table-sort-button) {
16
+ appearance: none;
17
+ background: transparent;
18
+ border: 0;
19
+ color: inherit;
20
+ cursor: inherit;
21
+ display: inline-block;
22
+ font: inherit;
23
+ margin: -0.125rem calc(var(--bf-space-half) * -1);
24
+ max-inline-size: 100%;
25
+ overflow: hidden;
26
+ padding: 0.125rem var(--bf-space-half);
27
+ text-align: inherit;
28
+ text-decoration: inherit;
29
+ text-overflow: inherit;
30
+ vertical-align: inherit;
31
+ white-space: inherit;
32
+ }
33
+
34
+ :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort]:hover, .bf-table-sort-button:focus-visible) {
35
+ color: var(--bf-color-link-default);
36
+ text-decoration: underline;
37
+ text-decoration-thickness: 0.0625rem;
38
+ text-underline-offset: 0.075em;
39
+ }
40
+
41
+ :where(.bf-theme) :where(.bf-table-sort-button:focus:not(:focus-visible)) {
42
+ outline: none;
43
+ }
44
+
45
+ :where(.bf-theme) :where(.bf-table-sort-button:focus-visible) {
46
+ outline: 0.125rem solid var(--bf-color-focus);
47
+ outline-offset: -0.125rem;
48
+ }
49
+
50
+ :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort])::after {
51
+ background-image: var(--bf-ui-icon-chevron-down);
52
+ background-position: center;
53
+ background-repeat: no-repeat;
54
+ background-size: contain;
55
+ block-size: var(--bf-icon-size-default);
56
+ content: "";
57
+ display: inline-block;
58
+ inline-size: var(--bf-icon-size-default);
59
+ margin-inline-start: var(--bf-space-half);
60
+ opacity: 0;
61
+ vertical-align: calc((1cap - var(--bf-icon-size-default)) / 2);
62
+ }
63
+
64
+ :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'], .bf-table.is-sortable th[aria-sort='descending'])::after {
65
+ opacity: 1;
66
+ }
67
+
68
+ :where(.bf-theme) :where(.bf-table.is-sortable th[aria-sort='ascending'])::after {
69
+ transform: rotate(180deg);
70
+ }
71
+
72
+ :where(.bf-theme) :where(.bf-table.is-expanding .bf-table-expand-toggle) {
73
+ margin-block-end: 0;
74
+ white-space: nowrap;
75
+ }
76
+
77
+ :where(.bf-theme) :where(.bf-table-expanding-row[hidden]) {
78
+ display: none;
79
+ }
80
+
81
+ :where(.bf-theme) .bf-table.is-expanding .bf-table-expanding-cell {
82
+ overflow: visible;
83
+ /* Complete the ordinary start-nudge inset with the paired end nudge while
84
+ consuming the row rule inside it, so wrapped detail rows stay on-grid. */
85
+ padding-block-end: calc(var(--bf-space-1) + var(--bf-body-nudge-end) - var(--bf-table-row-border-size));
86
+ white-space: normal;
87
+ }
88
+
89
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame) {
90
+ container-type: inline-size;
91
+ min-inline-size: 0;
92
+ }
93
+
94
+ :where(.bf-theme) :where(.bf-table-card-label) {
95
+ display: none;
96
+ }
97
+
98
+ @container (width < 64.75rem) {
99
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card) {
100
+ display: block;
101
+ }
102
+
103
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > thead) {
104
+ block-size: 0.0625rem;
105
+ clip-path: inset(50%);
106
+ inline-size: 0.0625rem;
107
+ overflow: hidden;
108
+ position: absolute;
109
+ white-space: nowrap;
110
+ }
111
+
112
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody) {
113
+ display: grid;
114
+ gap: 0 var(--bf-space-3);
115
+ grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
116
+ inline-size: 100%;
117
+ }
118
+
119
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody > tr) {
120
+ border: var(--bf-border-width) solid var(--bf-color-border-default);
121
+ display: block;
122
+ margin-block-end: calc(var(--bf-space-3) - (var(--bf-border-width) * 2));
123
+ min-inline-size: 0;
124
+ padding-inline: var(--bf-space-2);
125
+ }
126
+
127
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody > tr > :where(th, td)) {
128
+ border-block-end-color: transparent;
129
+ display: block;
130
+ inline-size: 100%;
131
+ min-inline-size: 0;
132
+ overflow: hidden;
133
+ padding-inline: 0;
134
+ position: relative;
135
+ text-align: start;
136
+ text-overflow: ellipsis;
137
+ white-space: nowrap;
138
+ word-break: break-word;
139
+ }
140
+
141
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card > tbody > tr > :where(th, td):not(:first-child))::before {
142
+ background: var(--bf-color-border-low-contrast);
143
+ block-size: var(--bf-border-width);
144
+ content: "";
145
+ inset-block-start: 0;
146
+ inset-inline: 0;
147
+ position: absolute;
148
+ }
149
+
150
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card .bf-table-card-label) {
151
+ color: var(--bf-color-text-default);
152
+ display: block;
153
+ font-family: var(--bf-body-font-family);
154
+ font-size: var(--bf-body-font-size);
155
+ font-style: var(--bf-body-font-style);
156
+ font-weight: 550;
157
+ line-height: var(--bf-body-line-height);
158
+ margin-block-end: var(--bf-space-1);
159
+ overflow: hidden;
160
+ text-overflow: ellipsis;
161
+ white-space: nowrap;
162
+ }
163
+
164
+ :where(.bf-theme) :where(.bf-table-mobile-card-frame > .bf-table.is-mobile-card :where(th, td).is-overflow-visible) {
165
+ overflow: visible;
166
+ }
167
+ }
163
168
  `;
164
169
  }
@@ -0,0 +1,8 @@
1
+ export interface LegacyNavigationCssOptions {
2
+ bodyMediumTypeStyles: string;
3
+ bodySemiboldTypeStyles: string;
4
+ bodyTypeStyles: string;
5
+ buttonMarginBottom: string;
6
+ buttonPadding: string;
7
+ }
8
+ export declare function legacyNavigationCss(options: LegacyNavigationCssOptions): string;