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
@@ -1,120 +1,120 @@
1
- {
2
- "baselineUnit": 0.25,
3
- "fontFiles": [
4
- {
5
- "family": "ubuntu-sans",
6
- "path": "../../assets/fonts/UbuntuSans[wdth,wght].ttf",
7
- "cssFamily": "Ubuntu Sans",
8
- "fontStyle": "normal",
9
- "fontWeight": "100 800",
10
- "fontStretch": "75% 100%",
11
- "fontDisplay": "swap",
12
- "emitFontFace": false
13
- }
14
- ],
15
- "fontStacks": {
16
- "ubuntu-sans": "\"Ubuntu Sans\", \"Segoe UI\", system-ui, sans-serif"
17
- },
18
- "elements": [
19
- {
20
- "identifier": "body",
21
- "fontSize": 0.75,
22
- "lineHeight": 4,
23
- "spaceAfter": 3,
24
- "fontFamily": "ubuntu-sans",
25
- "fontWeight": 400,
26
- "fontStyle": "normal"
27
- },
28
- {
29
- "identifier": "h6",
30
- "fontSize": 0.75,
31
- "lineHeight": 4,
32
- "spaceAfter": 3,
33
- "fontFamily": "ubuntu-sans",
34
- "fontWeight": 550,
35
- "fontStyle": "normal"
36
- },
37
- {
38
- "identifier": "h5",
39
- "fontSize": 0.75,
40
- "lineHeight": 4,
41
- "spaceAfter": 3,
42
- "fontFamily": "ubuntu-sans",
1
+ {
2
+ "baselineUnit": 0.25,
3
+ "fontFiles": [
4
+ {
5
+ "family": "ubuntu-sans",
6
+ "path": "../../assets/fonts/UbuntuSans[wdth,wght].ttf",
7
+ "cssFamily": "Ubuntu Sans",
8
+ "fontStyle": "normal",
9
+ "fontWeight": "100 800",
10
+ "fontStretch": "75% 100%",
11
+ "fontDisplay": "swap",
12
+ "emitFontFace": false
13
+ }
14
+ ],
15
+ "fontStacks": {
16
+ "ubuntu-sans": "\"Ubuntu Sans\", \"Segoe UI\", system-ui, sans-serif"
17
+ },
18
+ "elements": [
19
+ {
20
+ "identifier": "body",
21
+ "fontSize": 0.75,
22
+ "lineHeight": 4,
23
+ "spaceAfter": 3,
24
+ "fontFamily": "ubuntu-sans",
25
+ "fontWeight": 400,
26
+ "fontStyle": "normal"
27
+ },
28
+ {
29
+ "identifier": "h6",
30
+ "fontSize": 0.75,
31
+ "lineHeight": 4,
32
+ "spaceAfter": 3,
33
+ "fontFamily": "ubuntu-sans",
34
+ "fontWeight": 550,
35
+ "fontStyle": "normal"
36
+ },
37
+ {
38
+ "identifier": "h5",
39
+ "fontSize": 0.75,
40
+ "lineHeight": 4,
41
+ "spaceAfter": 3,
42
+ "fontFamily": "ubuntu-sans",
43
43
  "fontWeight": 550,
44
44
  "fontStyle": "normal",
45
45
  "fontVariantCaps": "all-small-caps",
46
46
  "letterSpacing": "0.05em"
47
- },
48
- {
49
- "identifier": "h4",
50
- "fontSize": 1,
51
- "lineHeight": 4,
52
- "spaceAfter": 3,
53
- "fontFamily": "ubuntu-sans",
54
- "fontWeight": 300,
55
- "fontStyle": "normal"
56
- },
57
- {
58
- "identifier": "h3",
59
- "fontSize": 1,
60
- "lineHeight": 4,
61
- "spaceAfter": 3,
62
- "fontFamily": "ubuntu-sans",
63
- "fontWeight": 500,
64
- "fontStyle": "normal"
65
- },
66
- {
67
- "identifier": "h2",
68
- "fontSize": 1.5,
69
- "lineHeight": 6,
70
- "spaceAfter": 3,
71
- "fontFamily": "ubuntu-sans",
72
- "fontWeight": 200,
73
- "fontStyle": "normal"
74
- },
75
- {
76
- "identifier": "h1",
77
- "fontSize": 1.5,
78
- "lineHeight": 6,
79
- "spaceAfter": 3,
80
- "fontFamily": "ubuntu-sans",
81
- "fontWeight": 500,
82
- "fontStyle": "normal"
83
- }
84
- ],
85
- "roles": {
86
- "body": "body",
87
- "h1": "h1",
88
- "h2": "h2",
89
- "h3": "h3",
90
- "h4": "h4",
91
- "h5": "h5",
92
- "h6": "h6"
93
- },
94
- "layout": {
95
- "contentMaxWidthRem": 67.5,
96
- "contentPaddingInlineRem": 0.75,
97
- "measureRem": 30,
98
- "sectionSpaceBaselineUnits": 12,
99
- "sectionSpaceShallowBaselineUnits": 6,
100
- "sectionSpaceDeepBaselineUnits": 24,
101
- "stripSpaceBaselineUnits": 12,
102
- "gridGapInlineBaselineUnits": 4,
103
- "gridGapBlockBaselineUnits": 4,
104
- "pageMarginBaselineUnits": 4
105
- },
106
- "components": {
107
- "borderWidthPx": 1,
108
- "radiusRem": 0,
109
- "controlBlockPaddingRem": 0.375,
110
- "controlCompactBlockPaddingRem": 0.25,
111
- "controlInlinePaddingRem": 0.75,
112
- "controlInlinePaddingActionRem": 0.5,
113
- "controlInlinePaddingFieldRem": 0.25,
114
- "controlVisualSizeRem": 0.75,
115
- "fieldGapBaselineUnits": 1,
116
- "panelPaddingInlineBaselineUnits": 4,
117
- "panelPaddingBlockBaselineUnits": 4,
118
- "accordionIndentBaselineUnits": 3
119
- }
120
- }
47
+ },
48
+ {
49
+ "identifier": "h4",
50
+ "fontSize": 1,
51
+ "lineHeight": 4,
52
+ "spaceAfter": 3,
53
+ "fontFamily": "ubuntu-sans",
54
+ "fontWeight": 300,
55
+ "fontStyle": "normal"
56
+ },
57
+ {
58
+ "identifier": "h3",
59
+ "fontSize": 1,
60
+ "lineHeight": 4,
61
+ "spaceAfter": 3,
62
+ "fontFamily": "ubuntu-sans",
63
+ "fontWeight": 500,
64
+ "fontStyle": "normal"
65
+ },
66
+ {
67
+ "identifier": "h2",
68
+ "fontSize": 1.5,
69
+ "lineHeight": 6,
70
+ "spaceAfter": 3,
71
+ "fontFamily": "ubuntu-sans",
72
+ "fontWeight": 200,
73
+ "fontStyle": "normal"
74
+ },
75
+ {
76
+ "identifier": "h1",
77
+ "fontSize": 1.5,
78
+ "lineHeight": 6,
79
+ "spaceAfter": 3,
80
+ "fontFamily": "ubuntu-sans",
81
+ "fontWeight": 500,
82
+ "fontStyle": "normal"
83
+ }
84
+ ],
85
+ "roles": {
86
+ "body": "body",
87
+ "h1": "h1",
88
+ "h2": "h2",
89
+ "h3": "h3",
90
+ "h4": "h4",
91
+ "h5": "h5",
92
+ "h6": "h6"
93
+ },
94
+ "layout": {
95
+ "contentMaxWidthRem": 60,
96
+ "contentPaddingInlineRem": 0.75,
97
+ "measureRem": 30,
98
+ "sectionSpaceBaselineUnits": 12,
99
+ "sectionSpaceShallowBaselineUnits": 6,
100
+ "sectionSpaceDeepBaselineUnits": 24,
101
+ "stripSpaceBaselineUnits": 8,
102
+ "gridGapInlineBaselineUnits": 4,
103
+ "gridGapBlockBaselineUnits": 4,
104
+ "pageMarginBaselineUnits": 4
105
+ },
106
+ "components": {
107
+ "borderWidthRem": 0.0625,
108
+ "radiusRem": 0,
109
+ "controlBlockPaddingRem": 0.375,
110
+ "controlCompactBlockPaddingRem": 0.25,
111
+ "controlInlinePaddingRem": 0.75,
112
+ "controlInlinePaddingActionRem": 1,
113
+ "controlInlinePaddingFieldRem": 0.25,
114
+ "controlVisualSizeRem": 0.75,
115
+ "fieldGapBaselineUnits": 1,
116
+ "panelPaddingInlineBaselineUnits": 2,
117
+ "panelPaddingBlockBaselineUnits": 2,
118
+ "accordionIndentBaselineUnits": 3
119
+ }
120
+ }
@@ -1,50 +1,50 @@
1
1
  import { BASELINE_GRID_DARK_THEME_COLOR, BASELINE_GRID_DEFAULT_COLOR, BASELINE_GRID_LIGHT_THEME_COLOR } from "./baseline-grid-theme.js";
2
2
  export function generateBaselineGridOverlayCss(options) {
3
- return `.u-baseline-grid {
4
- --bf-baseline-grid-color: ${BASELINE_GRID_DEFAULT_COLOR};
5
- --bf-baseline-grid-page-color: transparent;
6
- --bf-baseline-grid-offset: 0rem;
7
- --bf-baseline-grid-size: var(--bf-baseline, ${options.baselineUnit});
8
- position: relative;
9
- }
10
-
11
- .u-baseline-grid::after {
12
- background-image: linear-gradient(
13
- to top,
14
- var(--bf-baseline-grid-color),
15
- var(--bf-baseline-grid-color) 1px,
16
- transparent 1px,
17
- transparent
18
- );
19
- background-size: 100% var(--bf-baseline-grid-size);
20
- bottom: 0;
21
- content: "";
22
- display: block;
23
- left: 0;
24
- pointer-events: none;
25
- position: absolute;
26
- right: 0;
27
- top: var(--bf-baseline-grid-offset);
28
- z-index: 200;
29
- }
30
-
31
- html.u-baseline-grid {
32
- background-color: var(--bf-baseline-grid-page-color);
33
- position: static;
34
- }
35
-
36
- html.u-baseline-grid::after {
37
- z-index: -1;
3
+ return `.u-baseline-grid {
4
+ --bf-baseline-grid-color: ${BASELINE_GRID_DEFAULT_COLOR};
5
+ --bf-baseline-grid-page-color: transparent;
6
+ --bf-baseline-grid-offset: 0rem;
7
+ --bf-baseline-grid-size: var(--bf-baseline, ${options.baselineUnit});
8
+ position: relative;
9
+ }
10
+
11
+ .u-baseline-grid::after {
12
+ background-image: linear-gradient(
13
+ to top,
14
+ var(--bf-baseline-grid-color),
15
+ var(--bf-baseline-grid-color) 0.0625rem,
16
+ transparent 0.0625rem,
17
+ transparent
18
+ );
19
+ background-size: 100% var(--bf-baseline-grid-size);
20
+ bottom: 0;
21
+ content: "";
22
+ display: block;
23
+ left: 0;
24
+ pointer-events: none;
25
+ position: absolute;
26
+ right: 0;
27
+ top: var(--bf-baseline-grid-offset);
28
+ z-index: 200;
29
+ }
30
+
31
+ html.u-baseline-grid {
32
+ background-color: var(--bf-baseline-grid-page-color);
33
+ position: static;
34
+ }
35
+
36
+ html.u-baseline-grid::after {
37
+ z-index: -1;
38
38
  }`;
39
39
  }
40
40
  export function generateBaselineGridThemeOverrideCss() {
41
- return `:where(.bf-theme).u-baseline-grid,
42
- :where(.bf-theme) .u-baseline-grid {
43
- --bf-baseline-grid-color: ${BASELINE_GRID_LIGHT_THEME_COLOR};
44
- }
45
-
46
- :where(.bf-theme.is-dark).u-baseline-grid,
47
- :where(.bf-theme.is-dark) .u-baseline-grid {
48
- --bf-baseline-grid-color: ${BASELINE_GRID_DARK_THEME_COLOR};
41
+ return `:where(.bf-theme).u-baseline-grid,
42
+ :where(.bf-theme) .u-baseline-grid {
43
+ --bf-baseline-grid-color: ${BASELINE_GRID_LIGHT_THEME_COLOR};
44
+ }
45
+
46
+ :where(.bf-theme.is-dark).u-baseline-grid,
47
+ :where(.bf-theme.is-dark) .u-baseline-grid {
48
+ --bf-baseline-grid-color: ${BASELINE_GRID_DARK_THEME_COLOR};
49
49
  }`;
50
50
  }
package/dist/build.js CHANGED
@@ -50,7 +50,7 @@ const REQUIRED_LAYOUT_FIELDS = [
50
50
  "pageMarginBaselineUnits"
51
51
  ];
52
52
  const REQUIRED_COMPONENT_FIELDS = [
53
- "borderWidthPx",
53
+ "borderWidthRem",
54
54
  "radiusRem",
55
55
  "controlBlockPaddingRem",
56
56
  "controlInlinePaddingRem",
@@ -209,9 +209,9 @@ function buildComponentTokens(config) {
209
209
  const controlInlinePaddingActionRem = config.components.controlInlinePaddingActionRem ?? config.components.controlInlinePaddingRem;
210
210
  const controlInlinePaddingFieldRem = config.components.controlInlinePaddingFieldRem ?? (controlInlinePaddingActionRem / 2);
211
211
  return {
212
- borderWidth: `${config.components.borderWidthPx}px`,
213
- // Vanilla's shared $bar-thickness: 3px at a 16px root, expressed in rem
214
- // so emphasis bars scale with root text sizing while thin borders do not.
212
+ borderWidth: toRem(config.components.borderWidthRem),
213
+ // Vanilla's shared $bar-thickness is represented as 0.1875rem so emphasis
214
+ // bars and thin borders both scale with root text sizing.
215
215
  barThickness: toRem(3 / 16),
216
216
  radius: toRem(config.components.radiusRem),
217
217
  controlBlockPadding: toRem(config.components.controlBlockPaddingRem),
@@ -23,7 +23,7 @@ async function copySnippetText(copyBlock) {
23
23
  textarea.value = text;
24
24
  textarea.setAttribute("readonly", "");
25
25
  textarea.style.position = "fixed";
26
- textarea.style.inset = "-9999px";
26
+ textarea.style.inset = "-624.9375rem";
27
27
  document.body.append(textarea);
28
28
  textarea.select();
29
29
  try {
@@ -1,77 +1,82 @@
1
1
  export function appTierPresetCss(scopes) {
2
2
  const scoped = (suffix = "") => scopes.map(scope => `${scope}${suffix}`).join(",\n");
3
- return `/* Canonical app-tier preset: light application chrome, Ubuntu Sans, and app-surface control overrides. */
4
- ${scoped()} {
5
- --bf-app-demo-page-bg: var(--vf-color-background-alt, #f7f7f7);
6
- --bf-radius: 0;
7
- color-scheme: light;
8
- }
9
-
10
- ${scoped(" :where(.bf-form-label, .bf-form-help, .bf-button, .bf-button.is-base, .bf-status-label, .bf-chip, .bf-checkbox-label, .bf-radio-label, .bf-tabs-link, .bf-accordion-tab, .bf-validation-message)")} {
11
- font-family: inherit;
12
- font-size: 0.875rem;
13
- font-style: normal;
14
- font-weight: 400;
15
- line-height: 1.25rem;
16
- }
17
-
18
- ${scoped(" :where(.bf-input, .bf-button, .bf-button.is-base)")} {
19
- font-family: inherit;
20
- font-size: 0.875rem;
21
- font-style: normal;
22
- font-weight: 400;
23
- line-height: 1.25rem;
24
- }
25
-
26
- ${scoped(" :where(.bf-application)")} {
27
- background: var(--bf-app-demo-page-bg);
28
- }
29
-
30
- ${scoped(" :where(.bf-navigation-drawer)")},
31
- ${scoped(" :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer)")},
32
- ${scoped(" :where(.bf-aside.is-overlay, .bf-aside.is-drawer)")} {
33
- box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 0 3px rgba(0, 0, 0, 0.12);
34
- }
35
-
36
- ${scoped(" :where(.bf-panel-header)")} {
37
- align-items: start;
38
- gap: calc(var(--bf-baseline) * 1.5);
39
- padding-block-end: var(--bf-panel-padding-block);
40
- padding-block-start: var(--bf-panel-padding-block);
41
- }
42
-
43
- ${scoped(" :where(.bf-panel-header.is-navigation-brand)")} {
44
- gap: 0;
45
- padding-block: 0;
46
- }
47
-
48
- ${scoped(" :where(.bf-navigation-bar) :where(.bf-panel-header)")} {
49
- padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
50
- }
51
-
52
- ${scoped(" :where(.bf-panel-controls)")} {
53
- gap: calc(var(--bf-baseline) * 1.5);
54
- }
55
-
56
- ${scoped(" :where(.bf-navigation-bar, .bf-navigation-drawer, .bf-aside) :where(.bf-panel-title)")} {
57
- font-family: inherit;
58
- font-size: 1rem;
59
- font-style: normal;
60
- font-weight: 400;
61
- line-height: 1.5rem;
62
- }
63
-
64
- ${scoped(" :where(.bf-side-navigation-link.is-active, .bf-side-navigation-link[aria-current='page'], .bf-side-navigation-link[aria-current='true'])")} {
65
- background: transparent;
66
- box-shadow: inset var(--bf-bar-thickness) 0 0 var(--vf-color-link-default, #0066cc);
67
- }
68
-
69
- ${scoped(" :where(.bf-navigation-bar)")},
70
- ${scoped(" :where(.bf-navigation-drawer)")},
71
- ${scoped(" :where(.bf-aside)")},
72
- ${scoped(" :where(.bf-panel)")} {
73
- background: var(--vf-color-background-default, #ffffff);
74
- }
75
-
3
+ return `/* Canonical app-tier preset: light application chrome, Ubuntu Sans, and app-surface control overrides. */
4
+ ${scoped()} {
5
+ --bf-app-demo-page-bg: var(--vf-color-background-alt, #f7f7f7);
6
+ --bf-radius: 0;
7
+ color-scheme: light;
8
+ }
9
+
10
+ ${scoped(" :where(.bf-form-label, .bf-form-help, .bf-button, .bf-button.is-base, .bf-status-label, .bf-chip, .bf-checkbox-label, .bf-radio-label, .bf-tabs-link, .bf-accordion-tab, .bf-validation-message)")} {
11
+ font-family: inherit;
12
+ font-size: var(--bf-body-font-size);
13
+ font-style: normal;
14
+ font-weight: 400;
15
+ line-height: var(--bf-body-line-height);
16
+ }
17
+
18
+ ${scoped(" :where(.bf-input, .bf-button, .bf-button.is-base)")} {
19
+ font-family: inherit;
20
+ font-size: var(--bf-body-font-size);
21
+ font-style: normal;
22
+ font-weight: 400;
23
+ line-height: var(--bf-body-line-height);
24
+ }
25
+
26
+ ${scoped(" :where(.bf-application)")} {
27
+ background: var(--bf-app-demo-page-bg);
28
+ }
29
+
30
+ ${scoped(" :where(.bf-navigation-drawer)")},
31
+ ${scoped(" :where(.bf-navigation:not(.is-collapsed)) > :where(.bf-navigation-drawer)")},
32
+ ${scoped(" :where(.bf-aside.is-overlay, .bf-aside.is-drawer)")} {
33
+ box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.12), 0 0 0.1875rem rgba(0, 0, 0, 0.12);
34
+ }
35
+
36
+ ${scoped(" :where(.bf-panel-header)")} {
37
+ align-items: start;
38
+ gap: calc(var(--bf-baseline) * 1.5);
39
+ padding-block-end: var(--bf-panel-padding-block);
40
+ padding-block-start: var(--bf-panel-padding-block);
41
+ }
42
+
43
+ ${scoped(" :where(.bf-panel-header.is-navigation-brand)")} {
44
+ gap: 0;
45
+ padding-block: 0;
46
+ }
47
+
48
+ ${scoped(" :where(.bf-navigation-bar) :where(.bf-panel-header)")} {
49
+ padding-block-end: calc(var(--bf-panel-padding-block) - var(--bf-border-width));
50
+ }
51
+
52
+ ${scoped(" :where(.bf-navigation-bar.is-responsive) :where(.bf-panel-header.is-navigation-brand)")} {
53
+ gap: calc(var(--bf-baseline) * 2);
54
+ padding-block: 0;
55
+ }
56
+
57
+ ${scoped(" :where(.bf-panel-controls)")} {
58
+ gap: calc(var(--bf-baseline) * 1.5);
59
+ }
60
+
61
+ ${scoped(" :where(.bf-navigation-bar, .bf-navigation-drawer, .bf-aside) :where(.bf-panel-title)")} {
62
+ font-family: inherit;
63
+ font-size: 1rem;
64
+ font-style: normal;
65
+ font-weight: 400;
66
+ line-height: 1.5rem;
67
+ }
68
+
69
+ ${scoped(" :where(.bf-side-navigation-link.is-active, .bf-side-navigation-link[aria-current='page'], .bf-side-navigation-link[aria-current='true'])")} {
70
+ background: transparent;
71
+ box-shadow: inset var(--bf-bar-thickness) 0 0 var(--vf-color-link-default, #0066cc);
72
+ }
73
+
74
+ ${scoped(" :where(.bf-navigation-bar)")},
75
+ ${scoped(" :where(.bf-navigation-drawer)")},
76
+ ${scoped(" :where(.bf-aside)")},
77
+ ${scoped(" :where(.bf-panel)")} {
78
+ background: var(--vf-color-background-default, #ffffff);
79
+ }
80
+
76
81
  `;
77
82
  }