@nxgt/material 3.85.1 → 3.86.1

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 (144) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +39 -5
  3. package/dist/{alert-dialog-1t6ULy5i.js → alert-dialog-DZnt8PYE.js} +1 -1
  4. package/dist/{async-slice-xyA9Uzct.js → async-slice-D3OdV2BS.js} +1 -1
  5. package/dist/{button-DhiNGrdT.js → button-MAL5an7L.js} +1 -1
  6. package/dist/{calculator-BcgxxScL.js → calculator-C3a8YMwl.js} +10 -10
  7. package/dist/calculator-field.js +6 -6
  8. package/dist/{calculator-segment-C4WQAHcN.js → calculator-segment-BigMpjhn.js} +1 -1
  9. package/dist/calculator.js +1 -1
  10. package/dist/charts.js +3 -3
  11. package/dist/{chip-m0_usuzd.js → chip-DKAKoNxq.js} +2 -2
  12. package/dist/{code-editor-BgKFrcld.js → code-editor-B6dFQSUJ.js} +4 -4
  13. package/dist/code-editor.js +4 -4
  14. package/dist/{code-language-items-BWw17W9s.js → code-language-items-CXEMiWoF.js} +2 -2
  15. package/dist/components/components.css +2 -0
  16. package/dist/components/theme-tokens.css +18 -0
  17. package/dist/components/ui/layout/app-bar/top-app-bar/top-app-bar-collapse.css +60 -0
  18. package/dist/components/ui/layout/app-bar/top-app-bar/top-app-bar.css +205 -0
  19. package/dist/components/ui/layout/app-shell/app-header.css +70 -63
  20. package/dist/{components-DfSE2F8d.js → components-C2MBVly0.js} +17327 -16929
  21. package/dist/components.js +24 -24
  22. package/dist/{conversion-variant-DultZZQm.js → conversion-variant-BT5n4-jm.js} +3 -3
  23. package/dist/{currency-field-CPbaM7ay.js → currency-field-t41sFYg_.js} +4 -4
  24. package/dist/{dialog-DmlG9opW.js → dialog-BjKiRXJg.js} +3 -3
  25. package/dist/dnd.js +1 -1
  26. package/dist/{dropdown-menu-CDKev8dk.js → dropdown-menu-IRFp4CH9.js} +1 -1
  27. package/dist/editor.js +7 -7
  28. package/dist/{empty-state-C56000TB.js → empty-state-C70prDDr.js} +1 -1
  29. package/dist/{financial-variant-BYjQ690K.js → financial-variant-BIpzs8IL.js} +5 -5
  30. package/dist/{hooks-BTwLAy_A.js → hooks-CjO11MS7.js} +2 -2
  31. package/dist/hooks.js +2 -2
  32. package/dist/{hover-card-CDtW6utN.js → hover-card-cU_aJa18.js} +1 -1
  33. package/dist/i18n.js +3 -3
  34. package/dist/{icon-badge-ec7MmUGA.js → icon-badge-D3KO6uEQ.js} +1 -1
  35. package/dist/{icon-button-CG4aO8Gh.js → icon-button-DrqNk1Ww.js} +1 -1
  36. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  37. package/dist/lib/components/ui/layout/app-bar/index.d.ts +1 -1
  38. package/dist/lib/components/ui/layout/app-bar/top-app-bar/index.d.ts +1 -0
  39. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-actions.d.ts +15 -0
  40. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-headline.d.ts +4 -0
  41. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-link.d.ts +9 -0
  42. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-menu-section.d.ts +14 -0
  43. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-primary-action.d.ts +12 -0
  44. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-row.d.ts +23 -0
  45. package/dist/lib/components/ui/layout/app-bar/top-app-bar/partials/top-app-bar-title-block.d.ts +18 -0
  46. package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.actions.d.ts +43 -0
  47. package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.d.ts +9 -0
  48. package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.types.d.ts +120 -0
  49. package/dist/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.utils.d.ts +43 -0
  50. package/dist/lib/components/ui/layout/app-shell/activity-app-bar.d.ts +6 -6
  51. package/dist/lib/components/ui/layout/app-shell/activity-chrome.d.ts +6 -3
  52. package/dist/lib/components/ui/layout/app-shell/activity-column-props.d.ts +1 -1
  53. package/dist/lib/components/ui/layout/app-shell/activity-column.d.ts +2 -2
  54. package/dist/lib/components/ui/layout/app-shell/activity-layout-navigation.types.d.ts +32 -4
  55. package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +12 -2
  56. package/dist/lib/components/ui/layout/app-shell/app-header.d.ts +9 -3
  57. package/dist/lib/components/ui/layout/app-shell/header-look.d.ts +14 -0
  58. package/dist/lib/components/ui/layout/app-shell/header-title.d.ts +9 -36
  59. package/dist/lib/components/ui/layout/app-shell/header.utils.d.ts +13 -3
  60. package/dist/lib/components/ui/layout/app-shell/index.d.ts +1 -1
  61. package/dist/lib/components/ui/layout/app-shell/navigation.utils.d.ts +7 -2
  62. package/dist/lib/components/ui/layout/app-shell/shell-scroll.d.ts +23 -1
  63. package/dist/lib/components/ui/layout/app-shell/shell-top-app-bar.d.ts +10 -0
  64. package/dist/lib/components/ui/layout/app-shell/shell-top-app-bar.parts.d.ts +58 -0
  65. package/dist/lib/components/ui/layout/app-shell/shell-top-app-bar.types.d.ts +26 -0
  66. package/dist/lib/components/ui/layout/app-shell/use-header-scroll.d.ts +16 -9
  67. package/dist/lib/components/ui/layout/app-shell/use-shell-header.d.ts +1 -1
  68. package/dist/lib/components/ui/primitives/tabs/tabs-press.d.ts +11 -0
  69. package/dist/lib/i18n/resources/en/en.d.ts +4 -0
  70. package/dist/lib/i18n/resources/en/material.json.d.ts +4 -0
  71. package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
  72. package/dist/lib/i18n/resources/fr/material.json.d.ts +4 -0
  73. package/dist/lib/i18n/resources/resources.d.ts +8 -0
  74. package/dist/lib/i18n/translator.d.ts +1 -1
  75. package/dist/lib.js +1 -1
  76. package/dist/main.js +28 -28
  77. package/dist/map.js +7 -7
  78. package/dist/material.css +1 -1
  79. package/dist/pdf-reader.js +1 -1
  80. package/dist/{percent-field-8_pILs15.js → percent-field-D47IlaPF.js} +1 -1
  81. package/dist/{picker-surface-pyGv-Qh9.js → picker-surface-Cg4V4-E0.js} +4 -4
  82. package/dist/{popover-3EF4q2CT.js → popover-Dzk4-l9U.js} +1 -1
  83. package/dist/{pos-types-Dv2UxKSN.js → pos-types-JOXMY4Y2.js} +1 -1
  84. package/dist/{pos-variant-DJvtN9N8.js → pos-variant-B2mS8bMB.js} +4 -4
  85. package/dist/print.js +1 -1
  86. package/dist/{programmer-variant-Bmcq2KzC.js → programmer-variant-C_Tl0P4_.js} +2 -2
  87. package/dist/{public-BNebh4z0.js → public-ByAsqBOf.js} +9 -9
  88. package/dist/{rich-code-block-DmX7d58S.js → rich-code-block-CJAfqk6b.js} +5 -5
  89. package/dist/{scientific-variant-DijUrpP8.js → scientific-variant-CskM4MLV.js} +2 -2
  90. package/dist/{sortable-provider-Cnmt_gWu.js → sortable-provider-ICS_vkLA.js} +2 -2
  91. package/dist/{spinner-C6LP2Rw8.js → spinner-CweqX5A9.js} +1 -1
  92. package/dist/styles.css +2 -0
  93. package/dist/{tabs-Bj1zOe7-.js → tabs-95Y2LmnV.js} +65 -43
  94. package/dist/theme-picker.js +2 -2
  95. package/dist/{theme-toggle-Cxku5iBP.js → theme-toggle-WAFkncYx.js} +1 -1
  96. package/dist/{toolbar-items-CEIuSxU_.js → toolbar-items-BsgzHSNf.js} +4 -4
  97. package/dist/{translate-material-DI3nmQ6I.js → translate-material-DTIAPmlU.js} +1 -1
  98. package/dist/{translator-BstxG_hN.js → translator-BRZNhsy5.js} +8 -0
  99. package/dist/{use-chat-composer-BqLkk_iH.js → use-chat-composer-CleSUh_y.js} +15 -15
  100. package/dist/{use-heading-spy-nFyb9_KE.js → use-heading-spy-D8WbHJuK.js} +4 -4
  101. package/dist/{use-material-translation-1kCHtB0p.js → use-material-translation-CCy1Me0h.js} +1 -1
  102. package/dist/{use-return-focus-Hv8rn55-.js → use-return-focus-BA8G1qVU.js} +1 -1
  103. package/docs/README.md +1 -0
  104. package/docs/components/navigation-and-layout.md +85 -32
  105. package/docs/guides/app-shell.md +158 -63
  106. package/docs/guides/drawing.md +2 -0
  107. package/docs/guides/layouts.md +3 -3
  108. package/docs/guides/migrating-to-top-app-bar.md +156 -0
  109. package/docs/guides/theming.md +5 -0
  110. package/docs/previews/navigation-layout-appshell-blue-moon.webp +0 -0
  111. package/docs/previews/navigation-layout-appshell-footer-icon.webp +0 -0
  112. package/docs/previews/navigation-layout-appshell-menu-badge.webp +0 -0
  113. package/docs/previews/navigation-layout-appshell-page-ground.webp +0 -0
  114. package/docs/previews/navigation-layout-appshell-themes.webp +0 -0
  115. package/docs/previews/navigation-layout-appshell.webp +0 -0
  116. package/docs/previews/navigation-layout-topappbar.webp +0 -0
  117. package/docs/roadmap.md +17 -6
  118. package/docs/troubleshooting.md +80 -0
  119. package/lib/components/components.css +2 -0
  120. package/lib/components/theme-tokens.css +18 -0
  121. package/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar-collapse.css +60 -0
  122. package/lib/components/ui/layout/app-bar/top-app-bar/top-app-bar.css +205 -0
  123. package/lib/components/ui/layout/app-shell/app-header.css +70 -63
  124. package/lib/styles.css +2 -0
  125. package/lib/themes/ambre.css +5 -1
  126. package/lib/themes/ardoise.css +5 -1
  127. package/lib/themes/bleumono.css +5 -1
  128. package/lib/themes/bluemoon.css +5 -1
  129. package/lib/themes/corail.css +5 -1
  130. package/lib/themes/foret.css +5 -1
  131. package/lib/themes/lavande.css +5 -1
  132. package/lib/themes/menthe.css +5 -1
  133. package/lib/themes/ocean.css +5 -1
  134. package/lib/themes/pink.css +5 -1
  135. package/lib/themes/prune.css +5 -1
  136. package/lib/themes/sable.css +5 -1
  137. package/lib/themes/slate.css +5 -1
  138. package/lib/themes/teal.css +5 -1
  139. package/package.json +2 -2
  140. package/dist/lib/components/ui/layout/app-bar/top-app-bar.d.ts +0 -18
  141. package/dist/lib/components/ui/layout/app-shell/app-header-row.d.ts +0 -3
  142. package/dist/lib/components/ui/layout/app-shell/header-context.d.ts +0 -10
  143. package/dist/lib/components/ui/layout/app-shell/page-title.d.ts +0 -27
  144. /package/dist/lib/components/ui/layout/{app-shell → app-bar/top-app-bar}/use-truncated-title.d.ts +0 -0
@@ -1,93 +1,58 @@
1
- /* The app bar's variants (app-header.tsx). A medium or large bar is a first row
2
- * (the small bar) and a headline row under it. `--nxgt-header-progress` (0
3
- * expanded, 1 collapsed) is set on the bar by use-header-scroll.ts as the shell
4
- * scrolls; unset (the server, a bar outside the shell) it is 0, the expanded
5
- * bar. Scoped to the bar's `data-variant`: the default small bar is untouched. */
6
- [data-slot="app-header"][data-variant="medium"] {
7
- --nxgt-header-extra: 5rem;
8
- }
9
- [data-slot="app-header"][data-variant="large"] {
10
- --nxgt-header-extra: 8rem;
11
- }
12
- /* The bar's height now: the row, and the headline's share still showing. */
13
- [data-slot="app-header"][data-variant] {
14
- --nxgt-header-h: var(--nxgt-header-height);
15
- }
16
- [data-slot="app-header"]:is([data-variant="medium"], [data-variant="large"]) {
17
- --nxgt-header-h: calc(
18
- var(--nxgt-header-height) +
19
- var(--nxgt-header-extra) *
20
- (1 - var(--nxgt-header-progress, 0))
21
- );
22
- height: var(--nxgt-header-h);
23
- }
24
- [data-slot="app-header-headline"] {
25
- min-height: 0;
26
- opacity: clamp(0, calc(1 - var(--nxgt-header-progress, 0) * 1.6), 1);
27
- transform: translateY(calc(var(--nxgt-header-progress, 0) * -0.75rem));
28
- }
29
- /* Not collapsing: the headline stays. */
30
- [data-slot="app-header"]:not([data-collapsible])
31
- [data-slot="app-header-headline"] {
32
- opacity: 1;
33
- transform: none;
34
- }
35
- /* The copy of the title in the small row appears once the headline is going. */
36
- [data-slot="app-header-collapsed-title"] {
37
- opacity: clamp(0, calc((var(--nxgt-header-progress, 0) - 0.5) * 2), 1);
1
+ /* The shell's bar is a TopAppBar (shell-top-app-bar.tsx): its sizes, the
2
+ * collapse and the scroll tint live in top-app-bar.css. What follows is what
3
+ * only the shell adds: the bar hiding on scroll, its tab row, and the bar's
4
+ * whole height on the layout root. */
5
+
6
+ /* The context line (the tenant) is a desktop line: a phone's menu sheet
7
+ * carries it. */
8
+ @media (max-width: 767px) {
9
+ [data-slot="activity-layout"] [data-slot="app-header-context"] {
10
+ display: none;
11
+ }
38
12
  }
39
13
 
40
14
  /* Hide on scroll: the bar slides up under the gutter, and out of the tab order
41
15
  * (`inert`, set with data-hidden). A bar in a contained shell is in the flow,
42
16
  * so it also gives its room back. */
43
- [data-slot="app-header"][data-variant] {
44
- transition: transform 200ms ease;
17
+ [data-slot="activity-layout"] [data-slot="app-header"][data-hide-on-scroll] {
18
+ transition:
19
+ transform 200ms ease,
20
+ background-color 200ms ease,
21
+ box-shadow 200ms ease;
45
22
  }
46
23
  [data-slot="app-header"][data-hidden] {
47
24
  transform: translateY(calc(-100% - 1rem - env(safe-area-inset-top, 0px)));
48
25
  }
49
26
  [data-slot="activity-layout"][data-scroll="container"]
50
27
  [data-slot="app-header"][data-hidden] {
51
- margin-bottom: calc(-1 * var(--nxgt-header-h) - 0.5rem);
28
+ margin-bottom: calc(-1 * var(--nxgt-header-total, 4rem) - 0.5rem);
52
29
  }
53
30
  @media (prefers-reduced-motion: reduce) {
54
- [data-slot="app-header"][data-variant] {
31
+ [data-slot="activity-layout"] [data-slot="app-header"][data-hide-on-scroll] {
55
32
  transition: none;
56
33
  }
57
34
  }
58
35
 
59
- /* Tabs: a row of one size under the bar, stuck to it (app-header.tsx). The bar
60
- * is that much taller; while it hides on scroll it slides up by everything but
61
- * the tabs, which stay pinned at the top of the window. */
36
+ /* Tabs: a row of one size under the bar, stuck to it (shell-top-app-bar.tsx).
37
+ * The bar is that much taller; while it hides on scroll it slides up by
38
+ * everything but the tabs, which stay pinned at the top of the window. */
62
39
  [data-slot="app-header"] {
63
40
  --nxgt-header-tabs: 3rem;
64
41
  }
65
- [data-slot="app-header"][data-tabs]:is(
66
- [data-variant="medium"],
67
- [data-variant="large"]
68
- ) {
69
- height: calc(var(--nxgt-header-h) + var(--nxgt-header-tabs));
70
- }
71
42
  [data-slot="app-header"][data-tabs][data-hidden] {
72
43
  transform: translateY(calc(var(--nxgt-header-tabs) - 100%));
73
44
  }
74
45
  [data-slot="activity-layout"][data-scroll="container"]
75
46
  [data-slot="app-header"][data-tabs][data-hidden] {
76
- margin-bottom: calc(-1 * var(--nxgt-header-h));
77
- }
78
- /* The headline's bottom padding goes with the collapse when tabs close the bar,
79
- * else it would keep 1rem the tabs have no room for. */
80
- [data-slot="app-header"][data-tabs] [data-slot="app-header-headline"] {
81
- padding-bottom: calc(1rem * (1 - var(--nxgt-header-progress, 0)));
82
- }
83
- [data-slot="app-header"][data-tabs]:not([data-collapsible])
84
- [data-slot="app-header-headline"] {
85
- padding-bottom: 1rem;
47
+ margin-bottom: calc(
48
+ -1 *
49
+ (var(--nxgt-header-total, 4rem) - var(--nxgt-header-tabs))
50
+ );
86
51
  }
87
52
 
88
53
  /* The bar's whole height on the layout root (ActivityLayout sets data-header and
89
54
  * data-header-tabs on it: nothing restyles the page from a descendant), for the sticky panels
90
- * (sticky-offset.ts): worked out here from the bar's variant and tabs so the
55
+ * (sticky-offset.ts): worked out here from the bar's size and tabs so the
91
56
  * server's first paint is right; use-header-height.ts then replaces it with the
92
57
  * measured height (a custom row, a wrapped tab bar). */
93
58
  [data-slot="activity-layout"] {
@@ -98,11 +63,53 @@
98
63
  );
99
64
  }
100
65
  [data-slot="activity-layout"][data-header="medium"] {
101
- --nxgt-header-total-extra: 5rem;
66
+ --nxgt-header-total-extra: 3rem;
102
67
  }
103
68
  [data-slot="activity-layout"][data-header="large"] {
104
- --nxgt-header-total-extra: 8rem;
69
+ --nxgt-header-total-extra: 6.5rem;
105
70
  }
106
71
  [data-slot="activity-layout"][data-header-tabs] {
107
72
  --nxgt-header-total-tabs: 3rem;
108
73
  }
74
+
75
+ /* A phone's small bar keeps a long title readable by touch (a record's number,
76
+ * #2324): two lines, then cut, in the row's 3rem. */
77
+ @media (max-width: 767px) {
78
+ [data-slot="activity-layout"]
79
+ [data-slot="app-header"]:is([data-size="small"], [data-size="search"])
80
+ [data-slot="app-header-page-title"] {
81
+ display: -webkit-box;
82
+ -webkit-box-orient: vertical;
83
+ -webkit-line-clamp: 2;
84
+ line-clamp: 2;
85
+ white-space: normal;
86
+ overflow-wrap: anywhere;
87
+ }
88
+ }
89
+
90
+ /* Tabs close the bar: the row's bottom padding goes to the tab row. */
91
+ [data-slot="app-header"][data-tabs] {
92
+ padding-bottom: 0;
93
+ }
94
+
95
+ /* The bar's height is --nxgt-header-height (documented: theming guide), as the
96
+ * rail's header and the first-paint total below read it: the row is that
97
+ * height less the bar's own vertical padding (py-2, 1rem). */
98
+ [data-slot="app-header"] [data-slot="top-app-bar-row"] {
99
+ min-height: calc(var(--nxgt-header-height, 4rem) - 1rem);
100
+ }
101
+
102
+ /* At rest the shell's bar is the page colour at 90%, frosted (its class), as it
103
+ * always was; once the page scrolls top-app-bar.css tints it. Layered like the
104
+ * bar's own ground, so a `className` background wins. Under a backdrop the
105
+ * chrome's fill is a utility class, which wins too; once scrolled the tint
106
+ * would cover it, so that state gets the fill back below. */
107
+ @layer components {
108
+ [data-slot="app-header"]:not([data-scrolled]) {
109
+ background: color-mix(in oklab, var(--background) 90%, transparent);
110
+ }
111
+ }
112
+ [data-slot="activity-layout"][data-backdrop]
113
+ [data-slot="app-header"][data-scrolled] {
114
+ background: var(--nxgt-backdrop-fill-chrome);
115
+ }
package/lib/styles.css CHANGED
@@ -53,6 +53,8 @@
53
53
  --color-strix: var(--strix);
54
54
  --color-background: var(--background);
55
55
  --color-ground: var(--ground);
56
+ --color-surface-container: var(--surface-container);
57
+ --color-surface-container-high: var(--surface-container-high);
56
58
  --color-background-paper: --alpha(var(--primary) / 5%);
57
59
  --color-background-light: --alpha(var(--background) / 30%);
58
60
  --color-foreground: var(--foreground);
@@ -1,6 +1,6 @@
1
1
  /* Theme "ambre", generated.
2
2
  * Seeds: primary oklch(0.52 0.13 48), secondary oklch(0.5 0.09 95), tertiary oklch(0.5 0.14 350), neutral hue 65, tint 0.85.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * hue-near-status: The primary's hue 48 is 14° from warning (62): they may read alike. Keep an icon and a word with every status.
5
5
  */
6
6
  [data-nxgt-theme="ambre"] {
@@ -8,6 +8,8 @@
8
8
  --background: oklch(1 0 0);
9
9
  --foreground: oklch(0.227 0.0145 65);
10
10
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
11
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
12
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
11
13
  --card: oklch(1 0 0);
12
14
  --card-edge: var(--border);
13
15
  --card-foreground: oklch(0.227 0.0145 65);
@@ -77,6 +79,8 @@
77
79
  --background: oklch(0.15 0.026 273);
78
80
  --foreground: oklch(0.943 0.0102 65);
79
81
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
82
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
83
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
80
84
  --card: oklch(0.22 0.0161 65);
81
85
  --card-edge: color-mix(in oklab, white 8%, var(--card));
82
86
  --card-foreground: oklch(0.943 0.0102 65);
@@ -1,12 +1,14 @@
1
1
  /* Theme "ardoise", generated.
2
2
  * Seeds: primary oklch(0.45 0.065 252), secondary oklch(0.48 0.05 215), tertiary oklch(0.48 0.1 290), neutral hue 250, tint 0.7.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  */
5
5
  [data-nxgt-theme="ardoise"] {
6
6
  --radius: 0.375rem;
7
7
  --background: oklch(1 0 0);
8
8
  --foreground: oklch(0.227 0.0119 250);
9
9
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
10
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
11
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
10
12
  --card: oklch(1 0 0);
11
13
  --card-edge: var(--border);
12
14
  --card-foreground: oklch(0.227 0.0119 250);
@@ -76,6 +78,8 @@
76
78
  --background: oklch(0.15 0.026 273);
77
79
  --foreground: oklch(0.943 0.0084 250);
78
80
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
81
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
82
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
79
83
  --card: oklch(0.22 0.0133 250);
80
84
  --card-edge: color-mix(in oklab, white 8%, var(--card));
81
85
  --card-foreground: oklch(0.943 0.0084 250);
@@ -1,6 +1,6 @@
1
1
  /* Theme "bleumono", generated.
2
2
  * Seeds: primary oklch(0.46 0.13 255), secondary oklch(0.55 0.06 255), tertiary oklch(0.38 0.17 255), neutral hue 255, tint 1.1.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * lightness-moved: secondary: lightness 0.550 to 0.520 for AA.
5
5
  * chroma-lowered: tertiary: chroma 0.170 to 0.125 (lowered to fit sRGB or AA).
6
6
  * hue-near-status: The primary's hue 255 is 0° from info (254.624): they may read alike. Keep an icon and a word with every status.
@@ -10,6 +10,8 @@
10
10
  --background: oklch(1 0 0);
11
11
  --foreground: oklch(0.227 0.0187 255);
12
12
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
13
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
14
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
13
15
  --card: oklch(1 0 0);
14
16
  --card-edge: var(--border);
15
17
  --card-foreground: oklch(0.227 0.0187 255);
@@ -79,6 +81,8 @@
79
81
  --background: oklch(0.15 0.026 273);
80
82
  --foreground: oklch(0.943 0.0132 255);
81
83
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
84
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
85
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
82
86
  --card: oklch(0.22 0.0209 255);
83
87
  --card-edge: color-mix(in oklab, white 8%, var(--card));
84
88
  --card-foreground: oklch(0.943 0.0132 255);
@@ -1,6 +1,6 @@
1
1
  /* Theme "bluemoon", generated.
2
2
  * Seeds: primary oklch(0.45 0.12 265), secondary oklch(0.55 0.02 250), tertiary oklch(0.62 0.08 290), neutral hue 265, tint 1.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * lightness-moved: secondary: lightness 0.550 to 0.520 for AA.
5
5
  * lightness-moved: tertiary: lightness 0.620 to 0.563 for AA.
6
6
  * hue-near-status: The primary's hue 265 is 10° from info (254.624): they may read alike. Keep an icon and a word with every status.
@@ -10,6 +10,8 @@
10
10
  --background: oklch(1 0 0);
11
11
  --foreground: oklch(0.227 0.017 265);
12
12
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
13
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
14
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
13
15
  --card: oklch(1 0 0);
14
16
  --card-edge: var(--border);
15
17
  --card-foreground: oklch(0.227 0.017 265);
@@ -79,6 +81,8 @@
79
81
  --background: oklch(0.15 0.026 273);
80
82
  --foreground: oklch(0.943 0.012 265);
81
83
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
84
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
85
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
82
86
  --card: oklch(0.22 0.019 265);
83
87
  --card-edge: color-mix(in oklab, white 8%, var(--card));
84
88
  --card-foreground: oklch(0.943 0.012 265);
@@ -1,6 +1,6 @@
1
1
  /* Theme "corail", generated.
2
2
  * Seeds: primary oklch(0.58 0.17 35), secondary oklch(0.52 0.1 70), tertiary oklch(0.5 0.1 200), neutral hue 30, tint 0.8.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * lightness-moved: primary: lightness 0.580 to 0.575 for AA.
5
5
  * chroma-lowered: tertiary: chroma 0.100 to 0.085 (lowered to fit sRGB or AA).
6
6
  * hue-near-status: The primary's hue 35 is 8° from error (27.325): they may read alike. Keep an icon and a word with every status.
@@ -10,6 +10,8 @@
10
10
  --background: oklch(1 0 0);
11
11
  --foreground: oklch(0.227 0.0136 30);
12
12
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
13
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
14
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
13
15
  --card: oklch(1 0 0);
14
16
  --card-edge: var(--border);
15
17
  --card-foreground: oklch(0.227 0.0136 30);
@@ -79,6 +81,8 @@
79
81
  --background: oklch(0.15 0.026 273);
80
82
  --foreground: oklch(0.943 0.0096 30);
81
83
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
84
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
85
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
82
86
  --card: oklch(0.22 0.0152 30);
83
87
  --card-edge: color-mix(in oklab, white 8%, var(--card));
84
88
  --card-foreground: oklch(0.943 0.0096 30);
@@ -1,12 +1,14 @@
1
1
  /* Theme "foret", generated.
2
2
  * Seeds: primary oklch(0.48 0.1 152), secondary oklch(0.5 0.08 118), tertiary oklch(0.5 0.1 55), neutral hue 140, tint 0.8.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  */
5
5
  [data-nxgt-theme="foret"] {
6
6
  --radius: 0.5rem;
7
7
  --background: oklch(1 0 0);
8
8
  --foreground: oklch(0.227 0.0136 140);
9
9
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
10
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
11
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
10
12
  --card: oklch(1 0 0);
11
13
  --card-edge: var(--border);
12
14
  --card-foreground: oklch(0.227 0.0136 140);
@@ -76,6 +78,8 @@
76
78
  --background: oklch(0.15 0.026 273);
77
79
  --foreground: oklch(0.943 0.0096 140);
78
80
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
81
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
82
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
79
83
  --card: oklch(0.22 0.0152 140);
80
84
  --card-edge: color-mix(in oklab, white 8%, var(--card));
81
85
  --card-foreground: oklch(0.943 0.0096 140);
@@ -1,12 +1,14 @@
1
1
  /* Theme "lavande", generated.
2
2
  * Seeds: primary oklch(46% 0.1135 276.35), secondary oklch(48% 0.1135 245.65), tertiary oklch(45.91% 0.1864 310.75), neutral hue 292, tint 1.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  */
5
5
  [data-nxgt-theme="lavande"] {
6
6
  --radius: 0.625rem;
7
7
  --background: oklch(1 0 0);
8
8
  --foreground: oklch(0.227 0.017 290);
9
9
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
10
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
11
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
10
12
  --card: oklch(1 0 0);
11
13
  --card-edge: var(--border);
12
14
  --card-foreground: oklch(0.227 0.017 290);
@@ -76,6 +78,8 @@
76
78
  --background: oklch(0.15 0.026 273);
77
79
  --foreground: oklch(0.943 0.012 291.3);
78
80
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
81
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
82
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
79
83
  --card: oklch(0.22 0.019 289.4);
80
84
  --card-edge: color-mix(in oklab, white 8%, var(--card));
81
85
  --card-foreground: oklch(0.943 0.012 291.3);
@@ -1,6 +1,6 @@
1
1
  /* Theme "menthe", generated.
2
2
  * Seeds: primary oklch(0.5 0.105 168), secondary oklch(0.5 0.09 205), tertiary oklch(0.52 0.11 120), neutral hue 170, tint 0.8.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * chroma-lowered: primary: chroma 0.105 to 0.101 (lowered to fit sRGB or AA).
5
5
  * chroma-lowered: secondary: chroma 0.090 to 0.085 (lowered to fit sRGB or AA).
6
6
  * hue-near-status: The primary's hue 168 is 17° from success (184.704): they may read alike. Keep an icon and a word with every status.
@@ -10,6 +10,8 @@
10
10
  --background: oklch(1 0 0);
11
11
  --foreground: oklch(0.227 0.0136 170);
12
12
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
13
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
14
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
13
15
  --card: oklch(1 0 0);
14
16
  --card-edge: var(--border);
15
17
  --card-foreground: oklch(0.227 0.0136 170);
@@ -79,6 +81,8 @@
79
81
  --background: oklch(0.15 0.026 273);
80
82
  --foreground: oklch(0.943 0.0096 170);
81
83
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
84
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
85
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
82
86
  --card: oklch(0.22 0.0152 170);
83
87
  --card-edge: color-mix(in oklab, white 8%, var(--card));
84
88
  --card-foreground: oklch(0.943 0.0096 170);
@@ -1,6 +1,6 @@
1
1
  /* Theme "ocean", generated.
2
2
  * Seeds: primary oklch(0.5 0.12 228), secondary oklch(0.52 0.09 192), tertiary oklch(0.5 0.13 268), neutral hue 230, tint 0.9.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * chroma-lowered: primary: chroma 0.120 to 0.098 (lowered to fit sRGB or AA).
5
5
  * lightness-moved: secondary: lightness 0.520 to 0.505 for AA.
6
6
  * chroma-lowered: secondary: chroma 0.090 to 0.087 (lowered to fit sRGB or AA).
@@ -10,6 +10,8 @@
10
10
  --background: oklch(1 0 0);
11
11
  --foreground: oklch(0.227 0.0153 230);
12
12
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
13
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
14
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
13
15
  --card: oklch(1 0 0);
14
16
  --card-edge: var(--border);
15
17
  --card-foreground: oklch(0.227 0.0153 230);
@@ -79,6 +81,8 @@
79
81
  --background: oklch(0.15 0.026 273);
80
82
  --foreground: oklch(0.943 0.0108 230);
81
83
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
84
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
85
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
82
86
  --card: oklch(0.22 0.0171 230);
83
87
  --card-edge: color-mix(in oklab, white 8%, var(--card));
84
88
  --card-foreground: oklch(0.943 0.0108 230);
@@ -1,6 +1,6 @@
1
1
  /* Theme "pink", generated.
2
2
  * Seeds: primary oklch(0.55 0.2 345), secondary oklch(0.5 0.14 320), tertiary oklch(0.5 0.1 200), neutral hue 345, tint 0.7.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * chroma-lowered: tertiary: chroma 0.100 to 0.085 (lowered to fit sRGB or AA).
5
5
  */
6
6
  [data-nxgt-theme="pink"] {
@@ -8,6 +8,8 @@
8
8
  --background: oklch(1 0 0);
9
9
  --foreground: oklch(0.227 0.0119 345);
10
10
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
11
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
12
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
11
13
  --card: oklch(1 0 0);
12
14
  --card-edge: var(--border);
13
15
  --card-foreground: oklch(0.227 0.0119 345);
@@ -77,6 +79,8 @@
77
79
  --background: oklch(0.15 0.026 273);
78
80
  --foreground: oklch(0.943 0.0084 345);
79
81
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
82
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
83
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
80
84
  --card: oklch(0.22 0.0133 345);
81
85
  --card-edge: color-mix(in oklab, white 8%, var(--card));
82
86
  --card-foreground: oklch(0.943 0.0084 345);
@@ -1,12 +1,14 @@
1
1
  /* Theme "prune", generated.
2
2
  * Seeds: primary oklch(0.42 0.15 330), secondary oklch(0.5 0.1 355), tertiary oklch(0.55 0.1 85), neutral hue 330, tint 1.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  */
5
5
  [data-nxgt-theme="prune"] {
6
6
  --radius: 0.5rem;
7
7
  --background: oklch(1 0 0);
8
8
  --foreground: oklch(0.227 0.017 330);
9
9
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
10
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
11
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
10
12
  --card: oklch(1 0 0);
11
13
  --card-edge: var(--border);
12
14
  --card-foreground: oklch(0.227 0.017 330);
@@ -76,6 +78,8 @@
76
78
  --background: oklch(0.15 0.026 273);
77
79
  --foreground: oklch(0.943 0.012 330);
78
80
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
81
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
82
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
79
83
  --card: oklch(0.22 0.019 330);
80
84
  --card-edge: color-mix(in oklab, white 8%, var(--card));
81
85
  --card-foreground: oklch(0.943 0.012 330);
@@ -1,12 +1,14 @@
1
1
  /* Theme "sable", generated.
2
2
  * Seeds: primary oklch(0.5 0.06 70), secondary oklch(0.5 0.05 45), tertiary oklch(0.5 0.07 150), neutral hue 75, tint 0.5.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  */
5
5
  [data-nxgt-theme="sable"] {
6
6
  --radius: 0.5rem;
7
7
  --background: oklch(1 0 0);
8
8
  --foreground: oklch(0.227 0.0085 75);
9
9
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
10
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
11
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
10
12
  --card: oklch(1 0 0);
11
13
  --card-edge: var(--border);
12
14
  --card-foreground: oklch(0.227 0.0085 75);
@@ -76,6 +78,8 @@
76
78
  --background: oklch(0.15 0.026 273);
77
79
  --foreground: oklch(0.943 0.006 75);
78
80
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
81
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
82
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
79
83
  --card: oklch(0.22 0.0095 75);
80
84
  --card-edge: color-mix(in oklab, white 8%, var(--card));
81
85
  --card-foreground: oklch(0.943 0.006 75);
@@ -1,12 +1,14 @@
1
1
  /* Theme "slate", generated.
2
2
  * Seeds: primary oklch(0.4 0.025 258), secondary oklch(0.48 0.02 230), tertiary oklch(0.46 0.045 275), neutral hue 258, tint 0.35.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  */
5
5
  [data-nxgt-theme="slate"] {
6
6
  --radius: 0.25rem;
7
7
  --background: oklch(1 0 0);
8
8
  --foreground: oklch(0.227 0.006 258);
9
9
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
10
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
11
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
10
12
  --card: oklch(1 0 0);
11
13
  --card-edge: var(--border);
12
14
  --card-foreground: oklch(0.227 0.006 258);
@@ -76,6 +78,8 @@
76
78
  --background: oklch(0.15 0.026 273);
77
79
  --foreground: oklch(0.943 0.0042 258);
78
80
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
81
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
82
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
79
83
  --card: oklch(0.22 0.0067 258);
80
84
  --card-edge: color-mix(in oklab, white 8%, var(--card));
81
85
  --card-foreground: oklch(0.943 0.0042 258);
@@ -1,6 +1,6 @@
1
1
  /* Theme "teal", generated.
2
2
  * Seeds: primary oklch(0.5 0.105 185), secondary oklch(0.52 0.09 215), tertiary oklch(0.52 0.12 60), neutral hue 190, tint 0.8.
3
- * Contrast: 69 pairs, 0 failing.
3
+ * Contrast: 81 pairs, 0 failing.
4
4
  * chroma-lowered: primary: chroma 0.105 to 0.088 (lowered to fit sRGB or AA).
5
5
  * lightness-moved: secondary: lightness 0.520 to 0.490 for AA.
6
6
  * chroma-lowered: secondary: chroma 0.090 to 0.087 (lowered to fit sRGB or AA).
@@ -12,6 +12,8 @@
12
12
  --background: oklch(0.973 0.0064 190);
13
13
  --foreground: oklch(0.227 0.0136 190);
14
14
  --ground: color-mix(in oklab, var(--primary) 7%, var(--background));
15
+ --surface-container: color-mix(in oklab, var(--primary) 12%, var(--ground));
16
+ --surface-container-high: color-mix(in oklab, var(--primary) 16%, var(--background));
15
17
  --card: oklch(1 0 0);
16
18
  --card-edge: var(--border);
17
19
  --card-foreground: oklch(0.227 0.0136 190);
@@ -81,6 +83,8 @@
81
83
  --background: oklch(0.192 0.0128 190);
82
84
  --foreground: oklch(0.943 0.0096 190);
83
85
  --ground: color-mix(in oklab, var(--primary) 6%, color-mix(in oklab, var(--background) 55%, black));
86
+ --surface-container: color-mix(in oklab, var(--primary) 26%, var(--ground));
87
+ --surface-container-high: color-mix(in oklab, var(--primary) 34%, var(--ground));
84
88
  --card: oklch(0.262 0.0152 190);
85
89
  --card-edge: color-mix(in oklab, white 8%, var(--card));
86
90
  --card-foreground: oklch(0.943 0.0096 190);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxgt/material",
3
- "version": "3.85.1",
3
+ "version": "3.86.1",
4
4
  "license": "MIT",
5
5
  "bugs": {
6
6
  "email": "stevegires@gmail.com"
@@ -390,7 +390,7 @@
390
390
  "docs:previews": "rm -rf node_modules/.cache/nxgt-preview-free/missing && NXGT_PREVIEW_FREE=1 vitest run --project previews && bun .storybook/preview-free-report.ts"
391
391
  },
392
392
  "dependencies": {
393
- "@nxgt/material-core": "^0.50.1",
393
+ "@nxgt/material-core": "^0.51.0",
394
394
  "@base-ui/react": "^1.6.0",
395
395
  "@dnd-kit/core": "^6.3.1",
396
396
  "@dnd-kit/sortable": "^10.0.0",
@@ -1,18 +0,0 @@
1
- import { ComponentProps, ReactNode } from 'react';
2
- export type TopAppBarProps = {
3
- /**
4
- * The bar's look. `'small'` (the default): one row of `children`.
5
- * `'center'`: the row's content centred. `'medium'` and `'large'`: the
6
- * `headline` on a second row, in display type (`'large'` a taller row and a
7
- * bigger step); without a `headline` they draw as `'small'`.
8
- */
9
- variant?: 'small' | 'center' | 'medium' | 'large';
10
- /** The title of a `medium` or `large` bar: its second row. Make it the page's heading with an element of your own, `<h1>`. */
11
- headline?: ReactNode;
12
- } & ComponentProps<'div'>;
13
- /**
14
- * A top app bar: a row of actions and a title, in the Material 3 sizes. It
15
- * does not scroll itself; `ActivityLayout`'s `header` collapses and hides the
16
- * shell's own bar.
17
- */
18
- export declare function TopAppBar({ variant, headline, className, children, ...props }: TopAppBarProps): import("react").JSX.Element;
@@ -1,3 +0,0 @@
1
- import { AppHeaderProps } from './app-header.js';
2
- /** The bar's one row: the menu, the top navigation, the titles, the actions and the account. */
3
- export declare function AppHeaderRow({ items, linkComponent, children, topNav, actions, avatar, search, back, brand, logo, name, context, menuOpen, onMenuOpenChange, showMenuIcon, }: Omit<AppHeaderProps, 'className' | 'variant' | 'collapse' | 'hideOnScroll' | 'headline' | 'tabs'>): import("react").JSX.Element;
@@ -1,10 +0,0 @@
1
- import { ReactNode } from 'react';
2
- /**
3
- * The app bar's small muted context line (the tenant), after the page's
4
- * title: from `md` up only, truncated with an ellipsis, and only then
5
- * carrying a `title` with the full text (#629). The title truncates before
6
- * it does (this line never shrinks below its own cap).
7
- */
8
- export declare function HeaderContext({ children }: {
9
- children?: ReactNode;
10
- }): import("react").JSX.Element;
@@ -1,27 +0,0 @@
1
- import { ReactNode } from 'react';
2
- /** The type step and the fit of each size. */
3
- declare const SIZES: {
4
- readonly bar: readonly ["title-medium", "min-w-0 max-md:line-clamp-2 max-md:break-words md:truncate"];
5
- readonly headline: readonly ["headline-lg", "min-w-0 truncate"];
6
- readonly display: readonly ["display-md", "min-w-0 line-clamp-2 break-words"];
7
- };
8
- /**
9
- * The page's one `h1`, in the app bar: from `md` up truncated with an
10
- * ellipsis when long, on a phone wrapped to two lines first (a record's number
11
- * stays readable by touch, #2324), and only when cut off carrying a `title`
12
- * with the full text (as the header's leading title does, #629); the accessible name is the content itself.
13
- * The display face is `--font-display`, the body face without it.
14
- */
15
- export declare function PageHeading({ children, id, after, context, size, center, }: {
16
- children?: ReactNode;
17
- id?: string;
18
- /** The slot right after the title, outside the `h1`: it never truncates, the title does. */
19
- after?: ReactNode;
20
- /** The small muted context line (the tenant), last in the row, from `md` up. */
21
- context?: ReactNode;
22
- /** `'bar'`: the title in the app bar. `'headline'` and `'display'`: the second row of a medium and a large header, which wraps (display up to two lines). */
23
- size?: keyof typeof SIZES;
24
- /** Centre it, for the `'center'` header. */
25
- center?: boolean;
26
- }): import("react").JSX.Element | null;
27
- export {};